Merge commit '07136c8ed9fb42c07' into merge-to-master
diff --git a/.lgtm.yml b/.lgtm.yml
new file mode 100644
index 0000000..d301ab1
--- /dev/null
+++ b/.lgtm.yml
@@ -0,0 +1,6 @@
+extraction:
+  java:
+    index:
+      java_version: 11
+      build_command: "mvn --show-version clean install -Pstaging -Pfastest"
+
diff --git a/Jenkinsfile b/Jenkinsfile
index 1831123..b9c863a 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -110,7 +110,7 @@
             try {
               timeout(time: 1, unit: 'HOURS') {
                 sh """
-                  export CLASSPATH=${WORKSPACE}/glassfish6/javadb
+                  export CLASSPATH=${WORKSPACE}/glassfish7/javadb
                   ${WORKSPACE}/appserver/tests/gftest.sh run_test ${job}
                 """
               }
@@ -212,7 +212,7 @@
   }
 
   environment {
-    S1AS_HOME = "${WORKSPACE}/glassfish6/glassfish"
+    S1AS_HOME = "${WORKSPACE}/glassfish7/glassfish"
     APS_HOME = "${WORKSPACE}/appserver/tests/appserv-tests"
     TEST_RUN_LOG = "${WORKSPACE}/tests-run.log"
     GF_INTERNAL_ENV = credentials('gf-internal-env')
@@ -262,6 +262,8 @@
               echo Uname
               uname -a
 
+              # temporary build of external snapshot dependencies
+              mvn clean install -f ./snapshots/pom.xml -s ./snapshots/settings.xml
               # Until we fix ANTLR in cmp-support-sqlstore, broken in parallel builds. Just -Pfast after the fix.
               mvn clean install -Pfastest,staging -T4C
               ./gfbuild.sh archive_bundles
diff --git a/README.md b/README.md
index a34be2a..2503293 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,7 @@
 
 ### Compatibility
 
+* Eclipse GlassFish 7.0.0 is Jakarta EE 10 compatible, requires Java 11, supports Java 18
 * Eclipse GlassFish 6.2.0 is Jakarta EE 9.1 compatible, requires Java 11, supports Java 17
 * Eclipse GlassFish 6.1.0 is Jakarta EE 9.1 compatible, requires Java 11
 * Eclipse GlassFish 6.0.0 is Jakarta EE 9 compatible, requires Java 8
@@ -27,6 +28,8 @@
 
 ### Execution
 
+:warning: Because GF7 is now in intensive development and depends on external snapshot dependencies, you have to build these dependencies first: `mvn clean install -f ./snapshots/pom.xml`
+
 * `mvn clean install` - Full build including automatic QA and maven managed tests. Typical time: 5 minutes.
 * `mvn clean install -Pfast` - Building all distribution artifacts, running just unit tests, QA and integration tests excluded. Typical time: 3 minutes.
 * `mvn clean install -Pfastest` - Building all distribution artifacts, excluded all QA and testing. Typical time: 1.5 minutes.
@@ -53,42 +56,41 @@
 
 ### QuickLook
 
-`mvn -f appserver/tests/quicklook/pom.xml test -Dglassfish.home=$(pwd)/appserver/distributions/glassfish/target/stage/glassfish6/glassfish`
+`mvn -f appserver/tests/quicklook/pom.xml test -Dglassfish.home=$(pwd)/appserver/distributions/glassfish/target/stage/glassfish7/glassfish`
 
 * Usual time: 3 minutes
 * see [QuickLook_Test_Instructions](https://github.com/eclipse-ee4j/glassfish/blob/master/appserver/tests/quicklook/QuickLook_Test_Instructions.html)
 
 ### Old Additional Tests
 
-* `./runTests.sh 6.2.3 cdi_all` - Usual time: 6 minutes
-* `./runTests.sh 6.2.3 ejb_group_1` - Usual time: 8 minutes
-* `./runTests.sh 6.2.3 web_jsp` - Usual time: 6 minutes
-* `./gfbuild.sh archive_bundles && ./gftest.sh ql_gf_web_profile_all` - Usual time: 2 minutes
+:warning: if the script fails, sometimes it doesn't stop the domain and you have to do that manually.
+
+* `./runTests.sh 7.0.0 batch_all` - Usual time: 4 minutes
+* `./runTests.sh 7.0.0 cdi_all` - Usual time: 6 minutes
+* `./runTests.sh 7.0.0 connector_group_1` - Usual time: 16 minutes
+* `./runTests.sh 7.0.0 connector_group_2` - Usual time: 3 minutes
+* `./runTests.sh 7.0.0 connector_group_3` - Usual time: 4 minutes
+* `./runTests.sh 7.0.0 connector_group_4` - Usual time: 16 minutes
+* `./runTests.sh 7.0.0 deployment_all` - Not fixed yet
+* `./runTests.sh 7.0.0 ejb_group_1` - Usual time: 10 minutes
+* `./runTests.sh 7.0.0 ejb_group_2` - Usual time: 7 minutes
+* `./runTests.sh 7.0.0 ejb_group_3` - Usual time: 18 minutes
+* `./runTests.sh 7.0.0 ejb_group_embedded` - Usual time: 4 minutes
+* `./runTests.sh 7.0.0 jdbc_all` - Usual time: 20 minutes
+* `./runTests.sh 7.0.0 persistence_all` - Usual time: 3 minutes
+* `./runTests.sh 7.0.0 web_jsp` - Usual time: 8 minutes
+* `./gfbuild.sh archive_bundles && ./gftest.sh ejb_web_all` - Usual time: 4 minutes
+* `./gfbuild.sh archive_bundles && ./gftest.sh nucleus_admin_all` - Not fixed yet
 * `./gfbuild.sh archive_bundles && ./gftest.sh ql_gf_full_profile_all` - Usual time: 4 minutes
-
-### Half-Dead Additional Tests Waiting for a Rescue
-
-First warning: if the script fails, it doesn't stop the domain and you have to do that manually.
-* `./runTests.sh 6.2.3 batch_all` - Crashes, Derby uses different port than expected
-* `./runTests.sh 6.2.3 connector_group_1` - Crashes, ports
-* `./runTests.sh 6.2.3 connector_group_2` - Crashes, ports
-* `./runTests.sh 6.2.3 connector_group_3` - Crashes, ports
-* `./runTests.sh 6.2.3 connector_group_4` - Crashes, ports
-* `./runTests.sh 6.2.3 deployment_all` - Usual time: 1 minute, failure: still uses javax packages.
-* `./runTests.sh 6.2.3 ejb_group_2` - Usual time: 2 minutes, failure: incompatible API at TimerSessionEJB.
-* `./runTests.sh 6.2.3 ejb_group_3` - Usual time: 4 minutes, failure: still uses javax packages
-* `./runTests.sh 6.2.3 jdbc_all` - Crashes, Derby uses different port than expected
-* `./runTests.sh 6.2.3 persistence_all` - Crashes, Derby uses different port than expected
-* `./gfbuild.sh archive_bundles && ./gftest.sh ejb_web_all` - Usual time: 4 minutes, failure: could not create the derby database
-* `./gfbuild.sh archive_bundles && ./gftest.sh ql_gf_nucleus_all` - Crashes
-* `./gfbuild.sh archive_bundles && ./gftest.sh nucleus_admin_all` - Crashes, missing TestNG dependency
-* many tests under appserver/tests subdirectories; they are still waiting for someone's attention.
+* `./gfbuild.sh archive_bundles && ./gftest.sh ql_gf_nucleus_all` - Not fixed yet
+* `./gfbuild.sh archive_bundles && ./gftest.sh ql_gf_web_profile_all` - Usual time: 2 minutes
+* There are many tests under appserver/tests subdirectories; they are still waiting for someone's attention.
 
 ## Basic Usage
 
-* Starting Eclipse GlassFish: `glassfish6/bin/asadmin start-domain`
+* Starting Eclipse GlassFish: `glassfish7/bin/asadmin start-domain`
 * Visit [http://localhost:4848](http://localhost:4848)
-* Stopping Eclipse GlassFish: `glassfish6/bin/asadmin stop-domain`
+* Stopping Eclipse GlassFish: `glassfish7/bin/asadmin stop-domain`
 
 ## Professional Services and Enterprise Support
 
diff --git a/appserver/admin/admin-core/pom.xml b/appserver/admin/admin-core/pom.xml
index ea1b0e2..a9fc038 100755
--- a/appserver/admin/admin-core/pom.xml
+++ b/appserver/admin/admin-core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>admin-core</artifactId>
@@ -60,8 +60,8 @@
         </dependency>
         <!-- Dependency of Hibernate Validator -->
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/admin/backup/pom.xml b/appserver/admin/backup/pom.xml
index 425c040..ad9f02c 100644
--- a/appserver/admin/backup/pom.xml
+++ b/appserver/admin/backup/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>backup</artifactId>
diff --git a/appserver/admin/cli-optional/pom.xml b/appserver/admin/cli-optional/pom.xml
index 2c2c3b7..caed5c4 100755
--- a/appserver/admin/cli-optional/pom.xml
+++ b/appserver/admin/cli-optional/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cli-optional</artifactId>
diff --git a/appserver/admin/cli/pom.xml b/appserver/admin/cli/pom.xml
index 8c7c5a0..05cc67b 100755
--- a/appserver/admin/cli/pom.xml
+++ b/appserver/admin/cli/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appserver-cli</artifactId>
diff --git a/appserver/admin/pom.xml b/appserver/admin/pom.xml
index 9b55baf..df6a232 100755
--- a/appserver/admin/pom.xml
+++ b/appserver/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admin/template/pom.xml b/appserver/admin/template/pom.xml
index 18b9c3e..d8e7a1c 100644
--- a/appserver/admin/template/pom.xml
+++ b/appserver/admin/template/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appserver-domain</artifactId>
diff --git a/appserver/admin/template/src/main/resources/config/default-web.xml b/appserver/admin/template/src/main/resources/config/default-web.xml
index e28c2e6..bc2cc37 100644
--- a/appserver/admin/template/src/main/resources/config/default-web.xml
+++ b/appserver/admin/template/src/main/resources/config/default-web.xml
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 
-    Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -278,7 +279,7 @@
 
   <servlet>
     <servlet-name>jsp</servlet-name>
-    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+    <servlet-class>org.glassfish.wasp.servlet.JspServlet</servlet-class>
     <init-param>
       <param-name>xpoweredBy</param-name>
       <param-value>true</param-value>
@@ -300,7 +301,7 @@
       <param-value>
         /lib/
         \lib\
-        jakarta.el.jar
+        expressly.jar
         jakarta.el-api.jar
         jakarta.servlet-api.jar
         jakarta.servlet.jsp-api.jar
@@ -315,8 +316,10 @@
         jakarta.validation-api.jar
         jakarta.ejb.jar
         jakarta.jms-api.jar
-        jakarta.activation.jar
-        jakarta.mail.jar
+        jakarta.activation-api.jar
+        angus-activation.jar
+        jakarta.mail-api.jar
+        angus-mail.jar
         jakarta.management.j2ee-api.jar
         jakarta.persistence.jar
         jakarta.resource-api.jar
diff --git a/appserver/admingui/cluster/pom.xml b/appserver/admingui/cluster/pom.xml
index a950392..4893c34 100644
--- a/appserver/admingui/cluster/pom.xml
+++ b/appserver/admingui/cluster/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/cluster/src/main/resources/org/glassfish/cluster/admingui/Strings.properties b/appserver/admingui/cluster/src/main/resources/org/glassfish/cluster/admingui/Strings.properties
index 768f176..8129ba9 100644
--- a/appserver/admingui/cluster/src/main/resources/org/glassfish/cluster/admingui/Strings.properties
+++ b/appserver/admingui/cluster/src/main/resources/org/glassfish/cluster/admingui/Strings.properties
@@ -190,7 +190,7 @@
 node.EditPageTitle=Edit Node
 node.EditPageTitleHelp=Edit properties for the selected node.
 node.InstallDir=Installation Directory:
-node.InstallDirHelp=The full path to the parent of the base installation directory of the GlassFish Server software on the host, for example, /export/glassfish6.
+node.InstallDirHelp=The full path to the parent of the base installation directory of the GlassFish Server software on the host, for example, /export/glassfish7.
 node.force=Force:
 node.forceHelp=Specifies whether the node is created even if validation of the node's parameters fails.
 node.type=Type:
diff --git a/appserver/admingui/common/pom.xml b/appserver/admingui/common/pom.xml
index e64ee3c..6300dd0 100644
--- a/appserver/admingui/common/pom.xml
+++ b/appserver/admingui/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -72,8 +72,8 @@
             <artifactId>jakarta.el-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish</groupId>
diff --git a/appserver/admingui/common/src/main/help/en/help/docinfo.html b/appserver/admingui/common/src/main/help/en/help/docinfo.html
index d5dcfa1..fff6bc0 100644
--- a/appserver/admingui/common/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/common/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>Common Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the common module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 Common Online Help</p>
+<p>GlassFish Server Open Source Edition 7 Common Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/CommonHandlers.java b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/CommonHandlers.java
index cb2c558..bd835ce 100644
--- a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/CommonHandlers.java
+++ b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/CommonHandlers.java
@@ -25,18 +25,11 @@
 
 package org.glassfish.admingui.common.handlers;
 
-import com.sun.enterprise.config.serverbeans.ServerTags;
-import com.sun.jsftemplating.annotation.Handler;
-import com.sun.jsftemplating.annotation.HandlerInput;
-import com.sun.jsftemplating.annotation.HandlerOutput;
-import com.sun.jsftemplating.el.PageSessionResolver;
-import com.sun.jsftemplating.handlers.NavigationHandlers;
-import com.sun.jsftemplating.layout.descriptors.handler.HandlerContext;
-import com.sun.jsftemplating.util.Util;
-
 import java.io.IOException;
 import java.io.Serializable;
 import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -44,20 +37,26 @@
 import java.util.ResourceBundle;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
+
+import org.glassfish.admingui.common.tree.FilterTreeEvent;
+import org.glassfish.admingui.common.util.GuiUtil;
+import org.glassfish.admingui.common.util.MiscUtil;
+import org.glassfish.admingui.common.util.RestUtil;
+import org.glassfish.admingui.common.util.TargetUtil;
+
+import com.sun.enterprise.config.serverbeans.ServerTags;
+import com.sun.jsftemplating.annotation.Handler;
+import com.sun.jsftemplating.annotation.HandlerInput;
+import com.sun.jsftemplating.annotation.HandlerOutput;
+import com.sun.jsftemplating.handlers.NavigationHandlers;
+import com.sun.jsftemplating.layout.descriptors.handler.HandlerContext;
+import com.sun.jsftemplating.util.Util;
 
 import jakarta.faces.component.UIComponent;
 import jakarta.faces.component.UIInput;
 import jakarta.faces.component.UIViewRoot;
 import jakarta.faces.context.FacesContext;
 import jakarta.servlet.http.HttpServletResponse;
-import org.glassfish.admingui.common.tree.FilterTreeEvent;
-
-import org.glassfish.admingui.common.util.GuiUtil;
-import org.glassfish.admingui.common.util.MiscUtil;
-import org.glassfish.admingui.common.util.RestUtil;
-import org.glassfish.admingui.common.util.TargetUtil;
 
 
 public class CommonHandlers {
@@ -826,10 +825,9 @@
     private static String handleBareAttribute(FacesContext ctx, String url) {
         // Get Page Session...
         UIViewRoot root = ctx.getViewRoot();
-        Map<String, Serializable> pageSession =
-            PageSessionResolver.getPageSession(ctx, root);
+        Map<String, Serializable> pageSession = null; // PageSessionResolver.getPageSession(ctx, root);
         if (pageSession == null) {
-            pageSession = PageSessionResolver.createPageSession(ctx, root);
+            pageSession = createPageSession(ctx, root); // PageSessionResolver.createPageSession(ctx, root);
         }
         String request = ctx.getExternalContext().getRequestParameterMap().get("bare");
         if (request != null) {
@@ -854,6 +852,26 @@
     }
 
     /**
+     * <p>
+     * This method will create a new "page session" <code>Map</code>. It will overwrite any existing "page session"
+     * <code>Map</code>, so be careful.
+     * </p>
+     */
+    public static Map<String, Serializable> createPageSession(FacesContext ctx, UIViewRoot root) {
+        if (root == null) {
+            root = ctx.getViewRoot();
+        }
+        // Create it...
+        Map<String, Serializable> map = new HashMap<>(4);
+
+        // Store it...
+        root.getAttributes().put("_ps", map);
+
+        // Return it...
+        return map;
+    }
+
+    /**
      * Add the name/value pair to the given url.
      * @param url
      * @param name
diff --git a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/MonitoringHandlers.java b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/MonitoringHandlers.java
index 532be65..16f4631 100644
--- a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/MonitoringHandlers.java
+++ b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/MonitoringHandlers.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Contributors to the Eclipse Foundation
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -825,8 +826,4 @@
         monNamesList.add("jersey");
         monNamesList.add("deployment");
     }
-    final private static List containerDispList = new ArrayList();
-
-    final private static List containerNameList = new ArrayList();
-
 }
diff --git a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/security/AdminConsoleAuthModule.java b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/security/AdminConsoleAuthModule.java
index 2b304a1..3daa5c5 100644
--- a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/security/AdminConsoleAuthModule.java
+++ b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/security/AdminConsoleAuthModule.java
@@ -63,12 +63,11 @@
 import com.sun.enterprise.security.SecurityServicesUtil;
 
 /**
- * This class is responsible for providing the Authentication support
- * needed by the admin console to both access the admin console pages
- * as well as invoke REST requests.
+ * This class is responsible for providing the Authentication support needed by the admin console to both access the
+ * admin console pages as well as invoke REST requests.
  */
 public class AdminConsoleAuthModule implements ServerAuthModule {
-    //public static final String TOKEN_ADMIN_LISTENER_PORT = "${ADMIN_LISTENER_PORT}";
+    // public static final String TOKEN_ADMIN_LISTENER_PORT = "${ADMIN_LISTENER_PORT}";
 
     private CallbackHandler handler = null;
 
@@ -78,7 +77,7 @@
 
     private String loginErrorPage = null;
 
-    private static final Class[] SUPPORTED_MESSAGE_TYPES = new Class[]{HttpServletRequest.class, HttpServletResponse.class};
+    private static final Class[] SUPPORTED_MESSAGE_TYPES = new Class[] { HttpServletRequest.class, HttpServletResponse.class };
 
     private static final String SAVED_SUBJECT = "Saved_Subject";
 
@@ -106,8 +105,7 @@
     private static final Logger logger = GuiUtil.getLogger();
 
     /**
-     * This method configures this AuthModule and makes sure all the
-     * information needed to continue is present.
+     * This method configures this AuthModule and makes sure all the information needed to continue is present.
      */
     @Override
     public void initialize(MessagePolicy requestPolicy, MessagePolicy responsePolicy, CallbackHandler handler, Map options) throws AuthException {
@@ -115,25 +113,24 @@
         if (options != null) {
             this.loginPage = (String) options.get("loginPage");
             if (loginPage == null) {
-                throw new AuthException("'loginPage' "
-                        + "must be supplied as a property in the provider-config "
-                        + "in the domain.xml file!");
+                throw new AuthException(
+                        "'loginPage' " + "must be supplied as a property in the provider-config " + "in the domain.xml file!");
             }
             this.loginErrorPage = (String) options.get("loginErrorPage");
             if (loginErrorPage == null) {
-                throw new AuthException("'loginErrorPage' "
-                        + "must be supplied as a property in the provider-config "
-                        + "in the domain.xml file!");
+                throw new AuthException(
+                        "'loginErrorPage' " + "must be supplied as a property in the provider-config " + "in the domain.xml file!");
             }
             ServiceLocator habitat = SecurityServicesUtil.getInstance().getHabitat();
             Domain domain = habitat.getService(Domain.class);
-            NetworkListener adminListener = domain.getServerNamed("server").getConfig().getNetworkConfig().getNetworkListener("admin-listener");
+            NetworkListener adminListener = domain.getServerNamed("server").getConfig().getNetworkConfig()
+                    .getNetworkListener("admin-listener");
             SecureAdmin secureAdmin = habitat.getService(SecureAdmin.class);
 
             final String host = adminListener.getAddress();
             // Save the REST URL we need to authenticate the user.
-            this.restURL =  (SecureAdmin.Util.isEnabled(secureAdmin) ? "https://" : "http://") +
-                    (host.equals("0.0.0.0") ? "localhost" : host) + ":" + adminListener.getPort() + "/management/sessions";
+            this.restURL = (SecureAdmin.Util.isEnabled(secureAdmin) ? "https://" : "http://")
+                    + (host.equals("0.0.0.0") ? "localhost" : host) + ":" + adminListener.getPort() + "/management/sessions";
         }
     }
 
@@ -145,19 +142,15 @@
         return SUPPORTED_MESSAGE_TYPES;
     }
 
-
     /**
      * This is where the validation happens...
      */
     @Override
     public AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, Subject serviceSubject) throws AuthException {
         // Make sure we need to check...
-        HttpServletRequest request =
-                (HttpServletRequest) messageInfo.getRequestMessage();
-        HttpServletResponse response =
-                (HttpServletResponse) messageInfo.getResponseMessage();
-        if (!isMandatory(messageInfo)
-                && !request.getRequestURI().endsWith("/j_security_check")) {
+        HttpServletRequest request = (HttpServletRequest) messageInfo.getRequestMessage();
+        HttpServletResponse response = (HttpServletResponse) messageInfo.getResponseMessage();
+        if (!isMandatory(messageInfo) && !request.getRequestURI().endsWith("/j_security_check")) {
             return AuthStatus.SUCCESS;
         }
 
@@ -167,7 +160,7 @@
             return AuthStatus.FAILURE;
         }
 
-        Subject savedClientSubject = (Subject) session.getValue(SAVED_SUBJECT);
+        Subject savedClientSubject = (Subject) session.getAttribute(SAVED_SUBJECT);
         if (savedClientSubject != null) {
             // Copy all principals...
             clientSubject.getPrincipals().addAll(savedClientSubject.getPrincipals());
@@ -177,23 +170,21 @@
         }
 
         // See if we've already calculated the serverName / serverPort
-        if (session.getValue(REST_SERVER_NAME) == null) {
+        if (session.getAttribute(REST_SERVER_NAME) == null) {
             // Save this for use later...
             URL url = null;
             try {
                 url = new URL(restURL);
             } catch (MalformedURLException ex) {
-                throw new IllegalArgumentException(
-                        "Unable to parse REST URL: (" + restURL + ")", ex);
+                throw new IllegalArgumentException("Unable to parse REST URL: (" + restURL + ")", ex);
             }
-            session.putValue(REST_SERVER_NAME, url.getHost());
-            session.putValue(REST_SERVER_PORT, url.getPort());
+            session.setAttribute(REST_SERVER_NAME, savedClientSubject);
+            session.setAttribute(REST_SERVER_PORT, url.getPort());
         }
 
         // See if the username / password has been passed in...
         String username = request.getParameter("j_username");
-        char[] password = request.getParameter("j_password") != null
-                ? request.getParameter("j_password").toCharArray() : null;
+        char[] password = request.getParameter("j_password") != null ? request.getParameter("j_password").toCharArray() : null;
         if ((username == null) || (password == null) || !request.getMethod().equalsIgnoreCase("post")) {
             // Not passed in, show the login page...
             String origPath = request.getRequestURI();
@@ -213,14 +204,6 @@
             return AuthStatus.SEND_CONTINUE;
         }
 
-// Don't use the PasswordValidationCallback... use REST authorization instead.
-//        char[] pwd = new char[password.length()];
-//        password.getChars(0, password.length(), pwd, 0);
-//        PasswordValidationCallback pwdCallback =
-//            new PasswordValidationCallback(clientSubject, username, pwd);
-
-        // Make REST Request
-
         Client client2 = RestUtil.initialize(ClientBuilder.newBuilder()).build();
         WebTarget target = client2.target(restURL);
         target.register(HttpAuthenticationFeature.basic(username, new String(password)));
@@ -233,10 +216,9 @@
         // Check to see if successful..
         if (restResp.isSuccess()) {
             // Username and Password sent in... validate them!
-            CallerPrincipalCallback cpCallback =
-                    new CallerPrincipalCallback(clientSubject, username);
+            CallerPrincipalCallback cpCallback = new CallerPrincipalCallback(clientSubject, username);
             try {
-                handler.handle(new Callback[]{ /*pwdCallback,*/cpCallback});
+                handler.handle(new Callback[] { /* pwdCallback, */cpCallback });
             } catch (Exception ex) {
                 AuthException ae = new AuthException();
                 ae.initCause(ex);
@@ -245,7 +227,7 @@
 
             request.changeSessionId();
 
-                // Get the "extraProperties" section of the response...
+            // Get the "extraProperties" section of the response...
             Object obj = restResp.getResponse().get("data");
             Map extraProperties = null;
             if ((obj != null) && (obj instanceof Map)) {
@@ -257,18 +239,18 @@
 
             // Save the Rest Token...
             if (extraProperties != null) {
-                session.putValue(REST_TOKEN, extraProperties.get("token"));
+                session.setAttribute(REST_TOKEN, extraProperties.get("token"));
             }
 
             // Save the Subject...
-            session.putValue(SAVED_SUBJECT, clientSubject);
+            session.setAttribute(SAVED_SUBJECT, clientSubject);
 
             // Save the userName
-            session.putValue(USER_NAME, username);
+            session.setAttribute(USER_NAME, username);
 
             try {
                 // Redirect...
-                String origRequest = (String)session.getAttribute(ORIG_REQUEST_PATH);
+                String origRequest = (String) session.getAttribute(ORIG_REQUEST_PATH);
                 // Explicitly test for favicon.ico, as Firefox seems to ask for this on
                 // every page
                 if ((origRequest == null) || "/favicon.ico".equals(origRequest)) {
@@ -276,10 +258,9 @@
                 }
                 logger.log(Level.INFO, "Redirecting to {0}", neutralizeForLog(origRequest));
                 if (InputValidationUtil.validateStringforCRLF(origRequest)) {
-                    response.sendError(403,"Forbidden");
+                    response.sendError(403, "Forbidden");
                 }
-                response.sendRedirect(
-                        response.encodeRedirectURL(InputValidationUtil.removeLinearWhiteSpaces(origRequest)));
+                response.sendRedirect(response.encodeRedirectURL(InputValidationUtil.removeLinearWhiteSpaces(origRequest)));
             } catch (Exception ex) {
                 AuthException ae = new AuthException();
                 ae.initCause(ex);
@@ -294,6 +275,7 @@
                 request.setAttribute("errorText", GuiUtil.getMessage("alert.ConfigurationError"));
                 request.setAttribute("messageText", GuiUtil.getMessage("alert.EnableSecureAdmin"));
             }
+
             RequestDispatcher rd = request.getRequestDispatcher(this.loginErrorPage);
             try {
                 rd.forward(request, response);
@@ -302,6 +284,7 @@
                 ae.initCause(ex);
                 throw ae;
             }
+
             return AuthStatus.SEND_FAILURE;
         }
     }
@@ -317,7 +300,6 @@
     }
 
     private boolean isMandatory(MessageInfo messageInfo) {
-        return Boolean.valueOf((String) messageInfo.getMap().get(
-                "jakarta.security.auth.message.MessagePolicy.isMandatory"));
+        return Boolean.valueOf((String) messageInfo.getMap().get("jakarta.security.auth.message.MessagePolicy.isMandatory"));
     }
 }
diff --git a/appserver/admingui/community-theme/pom.xml b/appserver/admingui/community-theme/pom.xml
index 5dc4d52..3a247c7 100644
--- a/appserver/admingui/community-theme/pom.xml
+++ b/appserver/admingui/community-theme/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/concurrent/pom.xml b/appserver/admingui/concurrent/pom.xml
index ae81a7d..0ec69b9 100644
--- a/appserver/admingui/concurrent/pom.xml
+++ b/appserver/admingui/concurrent/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/concurrent/src/main/help/en/help/docinfo.html b/appserver/admingui/concurrent/src/main/help/en/help/docinfo.html
index c24dd38..397f1f7 100644
--- a/appserver/admingui/concurrent/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/concurrent/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>Concurrent Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the concurrent module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 Concurrent Online Help</p>
+<p>GlassFish Server Open Source Edition 7 Concurrent Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/corba/pom.xml b/appserver/admingui/corba/pom.xml
index 515b07d..aa19139 100644
--- a/appserver/admingui/corba/pom.xml
+++ b/appserver/admingui/corba/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/corba/src/main/help/en/help/docinfo.html b/appserver/admingui/corba/src/main/help/en/help/docinfo.html
index 09df858..b3f1b1b 100644
--- a/appserver/admingui/corba/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/corba/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>CORBA Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the corba module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 CORBA Online Help</p>
+<p>GlassFish Server Open Source Edition 7 CORBA Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/core/pom.xml b/appserver/admingui/core/pom.xml
index b3ac589..0b8558b 100644
--- a/appserver/admingui/core/pom.xml
+++ b/appserver/admingui/core/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/dataprovider/pom.xml b/appserver/admingui/dataprovider/pom.xml
index 612a648..d361948 100644
--- a/appserver/admingui/dataprovider/pom.xml
+++ b/appserver/admingui/dataprovider/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/dist-fragment/pom.xml b/appserver/admingui/dist-fragment/pom.xml
index 39d9953..95cda09 100644
--- a/appserver/admingui/dist-fragment/pom.xml
+++ b/appserver/admingui/dist-fragment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>dist-fragment</artifactId>
diff --git a/appserver/admingui/ejb-lite/pom.xml b/appserver/admingui/ejb-lite/pom.xml
index 1a7f9ee..2fd8110 100644
--- a/appserver/admingui/ejb-lite/pom.xml
+++ b/appserver/admingui/ejb-lite/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/ejb-lite/src/main/help/en/help/docinfo.html b/appserver/admingui/ejb-lite/src/main/help/en/help/docinfo.html
index 5cd698d..4503625 100644
--- a/appserver/admingui/ejb-lite/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/ejb-lite/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>EJB Lite Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the ejb-lite module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 EJB Lite Online Help</p>
+<p>GlassFish Server Open Source Edition 7 EJB Lite Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/ejb/pom.xml b/appserver/admingui/ejb/pom.xml
index c9ee087..c2dd901 100644
--- a/appserver/admingui/ejb/pom.xml
+++ b/appserver/admingui/ejb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/ejb/src/main/help/en/help/docinfo.html b/appserver/admingui/ejb/src/main/help/en/help/docinfo.html
index d3c902a..863b002 100644
--- a/appserver/admingui/ejb/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/ejb/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>EJB Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the ejb module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 EJB Online Help</p>
+<p>GlassFish Server Open Source Edition 7 EJB Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/full/pom.xml b/appserver/admingui/full/pom.xml
index e99d929..2971ebb 100644
--- a/appserver/admingui/full/pom.xml
+++ b/appserver/admingui/full/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/full/src/main/help/en/help/docinfo.html b/appserver/admingui/full/src/main/help/en/help/docinfo.html
index a33c1cf..c1cbe5d 100644
--- a/appserver/admingui/full/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/full/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>JavaMail Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the full module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 JavaMail Online Help</p>
+<p>GlassFish Server Open Source Edition 7 JavaMail Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/gf-admingui-connector/pom.xml b/appserver/admingui/gf-admingui-connector/pom.xml
index 30c2aaa..5d20526 100755
--- a/appserver/admingui/gf-admingui-connector/pom.xml
+++ b/appserver/admingui/gf-admingui-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/jackson-jaxb/pom.xml b/appserver/admingui/jackson-jaxb/pom.xml
index 16df5a3..b529bb9 100644
--- a/appserver/admingui/jackson-jaxb/pom.xml
+++ b/appserver/admingui/jackson-jaxb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/jca/pom.xml b/appserver/admingui/jca/pom.xml
index 4cb6f8b..f9960c6 100644
--- a/appserver/admingui/jca/pom.xml
+++ b/appserver/admingui/jca/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/jca/src/main/help/en/help/docinfo.html b/appserver/admingui/jca/src/main/help/en/help/docinfo.html
index 6e6ed01..4252957 100644
--- a/appserver/admingui/jca/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/jca/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>JCA Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the jca module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 JCA Online Help</p>
+<p>GlassFish Server Open Source Edition 7 JCA Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/jdbc/pom.xml b/appserver/admingui/jdbc/pom.xml
index abb87bb..0f143f8 100644
--- a/appserver/admingui/jdbc/pom.xml
+++ b/appserver/admingui/jdbc/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/jdbc/src/main/help/en/help/docinfo.html b/appserver/admingui/jdbc/src/main/help/en/help/docinfo.html
index d19a280..5048cb2 100644
--- a/appserver/admingui/jdbc/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/jdbc/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>JDBC Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the jdbc module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 JDBC Online Help</p>
+<p>GlassFish Server Open Source Edition 7 JDBC Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/jms-plugin/pom.xml b/appserver/admingui/jms-plugin/pom.xml
index 9ed3f7a..8bd6eb5 100644
--- a/appserver/admingui/jms-plugin/pom.xml
+++ b/appserver/admingui/jms-plugin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/jms-plugin/src/main/help/en/help/docinfo.html b/appserver/admingui/jms-plugin/src/main/help/en/help/docinfo.html
index 8adc314..7a8e00b 100644
--- a/appserver/admingui/jms-plugin/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/jms-plugin/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>JMS Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the jms module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 JMS Online Help</p>
+<p>GlassFish Server Open Source Edition 7 JMS Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/jts/pom.xml b/appserver/admingui/jts/pom.xml
index 003db8c..47ec83f 100644
--- a/appserver/admingui/jts/pom.xml
+++ b/appserver/admingui/jts/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/jts/src/main/help/en/help/docinfo.html b/appserver/admingui/jts/src/main/help/en/help/docinfo.html
index 403feb7..3fcb6c1 100644
--- a/appserver/admingui/jts/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/jts/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>JTS Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the jts module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 JTS Online Help</p>
+<p>GlassFish Server Open Source Edition 7 JTS Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/admingui/plugin-service/pom.xml b/appserver/admingui/plugin-service/pom.xml
index d3a16ea..5e0cc3b 100644
--- a/appserver/admingui/plugin-service/pom.xml
+++ b/appserver/admingui/plugin-service/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/pom.xml b/appserver/admingui/pom.xml
index 39f515f..93990d3 100644
--- a/appserver/admingui/pom.xml
+++ b/appserver/admingui/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/war/pom.xml b/appserver/admingui/war/pom.xml
index 8840024..0161bc4 100644
--- a/appserver/admingui/war/pom.xml
+++ b/appserver/admingui/war/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/admingui/web/pom.xml b/appserver/admingui/web/pom.xml
index 43c544f..820a98d 100644
--- a/appserver/admingui/web/pom.xml
+++ b/appserver/admingui/web/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>console-web-plugin</artifactId>
diff --git a/appserver/admingui/web/src/main/help/en/help/docinfo.html b/appserver/admingui/web/src/main/help/en/help/docinfo.html
index 0eab76f..a53b125 100644
--- a/appserver/admingui/web/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/web/src/main/help/en/help/docinfo.html
@@ -16,7 +16,7 @@
 
 -->
 
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>GlassFish Server Open Source Edition 7</h4>
 <p><a name="BEGIN" id="BEGIN"></a></p>
 <p>Web Online Help</p>
 <p></p>
@@ -25,7 +25,7 @@
 <p>This document provides the reference and task online help topics for the web module of the GlassFish Server Administration Console.</p>
 <p><a id="sthref1" name="sthref1"></a></p>
 <hr />
-<p>GlassFish Server Open Source Edition 5.1 Web Online Help</p>
+<p>GlassFish Server Open Source Edition 7 Web Online Help</p>
 
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
  
diff --git a/appserver/ant-tasks/pom.xml b/appserver/ant-tasks/pom.xml
index fc62a03..b9d79dd 100644
--- a/appserver/ant-tasks/pom.xml
+++ b/appserver/ant-tasks/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ant-tasks/src/main/resources/org/apache/tools/ant/sample-build.xml b/appserver/ant-tasks/src/main/resources/org/apache/tools/ant/sample-build.xml
index fe53580..e2679ed 100644
--- a/appserver/ant-tasks/src/main/resources/org/apache/tools/ant/sample-build.xml
+++ b/appserver/ant-tasks/src/main/resources/org/apache/tools/ant/sample-build.xml
@@ -22,12 +22,12 @@
 
 
     <target name="regular" description="Non-embedded tasks">
-        <glassfish-stop installdir = "/ws/v3/publish/glassfish6/" domain = "domain1" />
-        <glassfish-start installdir = "/ws/v3/publish/glassfish6/" domain = "domain1" />
-        <glassfish-stop installdir = "/ws/v3/publish/glassfish6/" domain = "domain1" />
-        <glassfish-admin installdir = "/ws/v3/publish/glassfish6/" command = "start-domain domain1" />
-    <glassfish-admin installdir = "/ws/v3/publish/glassfish6/" command = "create-http-listener --defaultvs=server --listenerport=9889 --listeneraddress=127.0.0. --listener_id=reg-listener"/>
-        <glassfish-undeploy installdir = "/ws/v3/publish/glassfish6/" name="test"/>
+        <glassfish-stop installdir = "/ws/v3/publish/glassfish7/" domain = "domain1" />
+        <glassfish-start installdir = "/ws/v3/publish/glassfish7/" domain = "domain1" />
+        <glassfish-stop installdir = "/ws/v3/publish/glassfish7/" domain = "domain1" />
+        <glassfish-admin installdir = "/ws/v3/publish/glassfish7/" command = "start-domain domain1" />
+    <glassfish-admin installdir = "/ws/v3/publish/glassfish7/" command = "create-http-listener --defaultvs=server --listenerport=9889 --listeneraddress=127.0.0. --listener_id=reg-listener"/>
+        <glassfish-undeploy installdir = "/ws/v3/publish/glassfish7/" name="test"/>
    </target>
 
    <target name="embedded" description="embedded tasks">
diff --git a/appserver/appclient/client/acc-config/pom.xml b/appserver/appclient/client/acc-config/pom.xml
index a0742d3..57bfe2a 100755
--- a/appserver/appclient/client/acc-config/pom.xml
+++ b/appserver/appclient/client/acc-config/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.appclient</groupId>
         <artifactId>client</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>acc-config</artifactId>
diff --git a/appserver/appclient/client/acc-standalone/pom.xml b/appserver/appclient/client/acc-standalone/pom.xml
index 33aac8e..9c5475b 100755
--- a/appserver/appclient/client/acc-standalone/pom.xml
+++ b/appserver/appclient/client/acc-standalone/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.appclient</groupId>
         <artifactId>client</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/appclient/client/acc/pom.xml b/appserver/appclient/client/acc/pom.xml
index 1f3225a..4c25022 100755
--- a/appserver/appclient/client/acc/pom.xml
+++ b/appserver/appclient/client/acc/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.appclient</groupId>
         <artifactId>client</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gf-client-module</artifactId>
@@ -258,15 +259,38 @@
             <artifactId>jakarta.annotation-api</artifactId>
         </dependency>
 
+        <!-- jakarta.activation-api.jar -->
+        <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-activation</artifactId>
+        </dependency>
+
         <!-- jakarta.xml.bind-api.jar -->
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.sun.activation</groupId>
+                    <artifactId>jakarta.activation</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-osgi</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.sun.activation</groupId>
+                    <artifactId>jakarta.activation</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!-- webservices-api-osgi.jar -->
@@ -301,8 +325,8 @@
 
         <!-- JSON needs to be available to clients -->
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
             <scope>runtime</scope>
         </dependency>
 
@@ -322,6 +346,11 @@
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+            <scope>compile</scope>
+        </dependency>
 
         <dependency>
             <groupId>jakarta.authorization</groupId>
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java
index e447aeb..d873fb4 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCClassLoader.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2022 Contributors to the Eclipse Foundation
  *
@@ -118,7 +119,6 @@
         clientCLDelegate = new ClientClassLoaderDelegate(this);
     }
 
-
     private ACCClassLoader(URL[] urls, ClassLoader parent, boolean shouldTransform) {
         this(urls, parent);
         this.shouldTransform = shouldTransform;
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCJCDIServiceImpl.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCJCDIServiceImpl.java
index 703a8a5..5def474 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCJCDIServiceImpl.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCJCDIServiceImpl.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,6 +17,18 @@
 
 package org.glassfish.appclient.client.acc;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import javax.naming.NamingException;
+
+import org.jboss.weld.environment.se.Weld;
+import org.jboss.weld.environment.se.WeldContainer;
+import org.jboss.weld.manager.api.WeldManager;
+import org.jvnet.hk2.annotations.Service;
+
 import com.sun.enterprise.container.common.spi.InterceptorInvoker;
 import com.sun.enterprise.container.common.spi.JCDIService;
 import com.sun.enterprise.container.common.spi.JavaEEInterceptorBuilder;
@@ -24,19 +37,14 @@
 import com.sun.enterprise.deployment.EjbDescriptor;
 import com.sun.enterprise.deployment.EjbInterceptor;
 import com.sun.enterprise.deployment.ManagedBeanDescriptor;
-import org.jboss.weld.environment.se.Weld;
-import org.jboss.weld.environment.se.WeldContainer;
-import org.jboss.weld.manager.api.WeldManager;
-import org.jvnet.hk2.annotations.Service;
 
 import jakarta.enterprise.context.spi.CreationalContext;
 import jakarta.enterprise.inject.spi.AnnotatedType;
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
 import jakarta.inject.Inject;
-import javax.naming.NamingException;
 import jakarta.servlet.ServletContext;
-import java.util.*;
 
 /**
  * @author <a href="mailto:phil.zampino@oracle.com">Phil Zampino</a>
@@ -44,54 +52,46 @@
 @Service
 public class ACCJCDIServiceImpl implements JCDIService {
 
-    private WeldContainer weldContainer = null;
+    private WeldContainer weldContainer;
 
     @Inject
-    private InjectionManager injectionMgr;
-
-
+    private InjectionManager InjectionManager;
 
     @Override
     public boolean isCurrentModuleJCDIEnabled() {
         return hasBeansXML(Thread.currentThread().getContextClassLoader());
     }
 
-
     @Override
     public boolean isJCDIEnabled(BundleDescriptor bundle) {
         return hasBeansXML(bundle.getClassLoader());
     }
 
-
     @Override
     public boolean isCDIScoped(Class<?> clazz) {
         throw new UnsupportedOperationException("Application Client Container");
     }
 
-
     @Override
     public void setELResolver(ServletContext servletContext) throws NamingException {
         throw new UnsupportedOperationException("Application Client Container");
     }
 
-
     @Override
     public JCDIInjectionContext createManagedObject(Class managedClass, BundleDescriptor bundle) {
         return createManagedObject(managedClass, bundle, true);
     }
 
-
     private <T> T createEEManagedObject(ManagedBeanDescriptor desc) throws Exception {
-        JavaEEInterceptorBuilder interceptorBuilder =
-                                        (JavaEEInterceptorBuilder) desc.getInterceptorBuilder();
+        JavaEEInterceptorBuilder interceptorBuilder = (JavaEEInterceptorBuilder) desc.getInterceptorBuilder();
 
         InterceptorInvoker interceptorInvoker = interceptorBuilder.createInvoker(null);
 
         Object[] interceptorInstances = interceptorInvoker.getInterceptorInstances();
 
         // Inject interceptor instances
-        for(int i = 0; i < interceptorInstances.length; i++) {
-            injectionMgr.injectInstance(interceptorInstances[i], desc.getGlobalJndiName(), false);
+        for (int i = 0; i < interceptorInstances.length; i++) {
+            InjectionManager.injectInstance(interceptorInstances[i], desc.getGlobalJndiName(), false);
         }
 
         interceptorInvoker.invokeAroundConstruct();
@@ -99,7 +99,7 @@
         // This is the managed bean class instance
         T managedBean = (T) interceptorInvoker.getTargetInstance();
 
-        injectionMgr.injectInstance(managedBean, desc);
+        InjectionManager.injectInstance(managedBean, desc);
 
         interceptorInvoker.invokePostConstruct();
 
@@ -108,77 +108,68 @@
         return managedBean;
     }
 
-
     @Override
     @SuppressWarnings("unchecked")
-    public JCDIInjectionContext createManagedObject(Class            managedClass,
-                                                    BundleDescriptor bundle,
-                                                    boolean          invokePostConstruct) {
-        JCDIInjectionContext context = null;
-
+    public JCDIInjectionContext createManagedObject(Class managedClass, BundleDescriptor bundle, boolean invokePostConstruct) {
         Object managedObject = null;
 
         try {
-            managedObject =
-                createEEManagedObject(bundle.getManagedBeanByBeanClass(managedClass.getName()));
+            managedObject = createEEManagedObject(bundle.getManagedBeanByBeanClass(managedClass.getName()));
         } catch (Exception e) {
             e.printStackTrace();
         }
 
-        WeldContainer wc = getWeldContainer();
-        if (wc != null) {
-            BeanManager beanManager = wc.getBeanManager();
-
-            AnnotatedType annotatedType = beanManager.createAnnotatedType(managedClass);
-            InjectionTarget target = beanManager.createInjectionTarget(annotatedType);
-
-            CreationalContext cc = beanManager.createCreationalContext(null);
-
-            target.inject(managedObject, cc);
-
-            if( invokePostConstruct ) {
-                target.postConstruct(managedObject);
-            }
-
-            context = new JCDIInjectionContextImpl(target, cc, managedObject);
+        WeldContainer weldContainer = getWeldContainer();
+        if (weldContainer == null) {
+            return null;
         }
 
-        return context;
-    }
+        BeanManager beanManager = weldContainer.getBeanManager();
 
+        CreationalContext<Object> creationalContext = beanManager.createCreationalContext(null);
+        AnnotatedType<Object> annotatedType = beanManager.createAnnotatedType(managedClass);
+        InjectionTargetFactory<Object> injectionTargetFactory = beanManager.getInjectionTargetFactory(annotatedType);
+        InjectionTarget<Object> target = injectionTargetFactory.createInjectionTarget(null);
+
+        target.inject(managedObject, creationalContext);
+
+        if (invokePostConstruct) {
+            target.postConstruct(managedObject);
+        }
+
+        return new JCDIInjectionContextImpl(target, creationalContext, managedObject);
+
+    }
 
     @Override
     @SuppressWarnings("unchecked")
     public void injectManagedObject(Object managedObject, BundleDescriptor bundle) {
-        WeldContainer wc = getWeldContainer();
-
-        if (wc != null) {
-            BeanManager beanManager = wc.getBeanManager();
-
-            AnnotatedType annotatedType = beanManager.createAnnotatedType(managedObject.getClass());
-            InjectionTarget target = beanManager.createInjectionTarget(annotatedType);
-
-            CreationalContext cc = beanManager.createCreationalContext(null);
-
-            target.inject(managedObject, cc);
+        WeldContainer weldContainer = getWeldContainer();
+        if (weldContainer == null) {
+            return;
         }
+
+        BeanManager beanManager = weldContainer.getBeanManager();
+
+        CreationalContext<Object> creationalContext = beanManager.createCreationalContext(null);
+        AnnotatedType<Object> annotatedType = (AnnotatedType<Object>) beanManager.createAnnotatedType(managedObject.getClass());
+        InjectionTargetFactory<Object> injectionTargetFactory = beanManager.getInjectionTargetFactory(annotatedType);
+        InjectionTarget<Object> target = injectionTargetFactory.createInjectionTarget(null);
+
+        target.inject(managedObject, creationalContext);
     }
 
-
     @Override
-    public <T> T createInterceptorInstance( Class<T> interceptorClass,
-                                     EjbDescriptor ejbDesc,
-                                     JCDIService.JCDIInjectionContext ejbContext,
-                                     Set<EjbInterceptor> ejbInterceptors ) {
+    public <T> T createInterceptorInstance(Class<T> interceptorClass, EjbDescriptor ejbDesc, JCDIService.JCDIInjectionContext ejbContext, Set<EjbInterceptor> ejbInterceptors) {
         T interceptorInstance = null;
 
-        WeldContainer wc = getWeldContainer();
-        if (wc != null) {
-            BeanManager beanManager = wc.getBeanManager();
+        WeldContainer weldContainer = getWeldContainer();
+        if (weldContainer != null) {
+            BeanManager beanManager = weldContainer.getBeanManager();
 
             AnnotatedType annotatedType = beanManager.createAnnotatedType(interceptorClass);
-            InjectionTarget target =
-                ((WeldManager) beanManager).getInjectionTargetFactory(annotatedType).createInterceptorInjectionTarget();
+            InjectionTarget target = ((WeldManager) beanManager).getInjectionTargetFactory(annotatedType)
+                    .createInterceptorInjectionTarget();
 
             CreationalContext cc = beanManager.createCreationalContext(null);
 
@@ -189,13 +180,11 @@
         return interceptorInstance;
     }
 
-
     @Override
     public <T> JCDIInjectionContext<T> createJCDIInjectionContext(EjbDescriptor ejbDesc, Map<Class, Object> ejbInfo) {
         return createJCDIInjectionContext(ejbDesc, null, null);
     }
 
-
     @Override
     public <T> JCDIInjectionContext<T> createJCDIInjectionContext(EjbDescriptor ejbDesc, T instance, Map<Class, Object> ejbInfo) {
         throw new UnsupportedOperationException("Application Client Container");
@@ -206,13 +195,11 @@
         return new JCDIInjectionContextImpl();
     }
 
-
     @Override
     public void injectEJBInstance(JCDIInjectionContext injectionCtx) {
         throw new UnsupportedOperationException("Application Client Container");
     }
 
-
     private WeldContainer getWeldContainer() {
         if (weldContainer == null) {
             try {
@@ -224,12 +211,10 @@
         return weldContainer;
     }
 
-
-    private boolean hasBeansXML(ClassLoader cl) {
-        return (cl.getResource("META-INF/beans.xml") != null);
+    private boolean hasBeansXML(ClassLoader classLoader) {
+        return classLoader.getResource("META-INF/beans.xml") != null;
     }
 
-
     private static class JCDIInjectionContextImpl implements JCDIInjectionContext {
 
         InjectionTarget it;
@@ -245,6 +230,7 @@
             this.instance = i;
         }
 
+        @Override
         public Object getInstance() {
             return instance;
         }
@@ -254,10 +240,11 @@
             this.instance = instance;
         }
 
+        @Override
         @SuppressWarnings("unchecked")
         public void cleanup(boolean callPreDestroy) {
 
-            if( callPreDestroy ) {
+            if (callPreDestroy) {
                 it.preDestroy(instance);
             }
 
@@ -285,13 +272,14 @@
             this.cc = creationalContext;
         }
 
-        public void addDependentContext( JCDIInjectionContext dependentContext ) {
+        @Override
+        public void addDependentContext(JCDIInjectionContext dependentContext) {
             // nothing for now
         }
 
         @Override
         public Collection<JCDIInjectionContext> getDependentContexts() {
-            return new ArrayList<JCDIInjectionContext>();
+            return new ArrayList<>();
         }
 
         @Override
@@ -301,5 +289,4 @@
         }
     }
 
-
 }
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCLogger.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCLogger.java
index 18dc72f..e937e6f 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCLogger.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ACCLogger.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,7 +23,6 @@
 import java.security.PrivilegedAction;
 import java.text.MessageFormat;
 import java.util.Enumeration;
-import java.util.Locale;
 import java.util.ResourceBundle;
 import java.util.logging.FileHandler;
 import java.util.logging.Handler;
@@ -30,22 +30,23 @@
 import java.util.logging.LogManager;
 import java.util.logging.Logger;
 import java.util.logging.SimpleFormatter;
+
 import org.glassfish.appclient.client.acc.config.LogService;
 
 /**
- * Logger that conforms to the glassfish-acc.xml config file settings for logging
- * while, in some cases, also adjusting other loggers.
+ * Logger that conforms to the glassfish-acc.xml config file settings for logging while, in some cases, also adjusting
+ * other loggers.
+ *
  * <p>
- * Historically the logging level specified in the glassfish-acc.xml is used to set the level
- * for all loggers.  Beginning with v3, which supports conventional log settings
- * via logging.properties as well, we make sure that each logger's level is
- * at least as detailed as the setting in the config file.
+ * Historically the logging level specified in the glassfish-acc.xml is used to set the level for all loggers. Beginning
+ * with v3, which supports conventional log settings via logging.properties as well, we make sure that each logger's
+ * level is at least as detailed as the setting in the config file.
+ *
  * <p>
- * Also, in prior versions if the user specified a logging file in the
- * glassfish-acc.xml config file then all pre-existing handlers would be removed,
- * essentially replaced with a single handler to send output to the user-specified
- * file.  Beginning with v3 the ACC augments - rather than replaces - existing
- * handlers if the settings in glassfish-acc.xml specify a file.
+ * Also, in prior versions if the user specified a logging file in the glassfish-acc.xml config file then all
+ * pre-existing handlers would be removed, essentially replaced with a single handler to send output to the
+ * user-specified file. Beginning with v3 the ACC augments - rather than replaces - existing handlers if the settings in
+ * glassfish-acc.xml specify a file.
  *
  * @author tjquinn
  */
@@ -63,48 +64,41 @@
     private void init(final LogService logService) throws IOException {
         final Level level = chooseLevel(logService);
         final Handler configuredFileHandler = createHandler(logService, level);
-        final ResourceBundle rb = ResourceBundle.getBundle(
-                ACCLogger.class.getPackage().getName() + ".LogStrings");
+        final ResourceBundle rb = ResourceBundle.getBundle(ACCLogger.class.getPackage().getName() + ".LogStrings");
 
         /*
          * Set existing loggers to at least the configured level.
          */
-        for (Enumeration<String> names =
-                LogManager.getLogManager().getLoggerNames();
-               names.hasMoreElements(); ) {
+        for (Enumeration<String> names = LogManager.getLogManager().getLoggerNames(); names.hasMoreElements();) {
             final String loggerName = names.nextElement();
             final Logger logger = LogManager.getLogManager().getLogger(loggerName);
             if (logger == null) {
-                final String msg = MessageFormat.format(
-                        rb.getString("appclient.nullLogger"),
-                        loggerName);
+                final String msg = MessageFormat.format(rb.getString("appclient.nullLogger"), loggerName);
                 if (level.intValue() <= Level.CONFIG.intValue()) {
                     System.err.println(msg);
                 }
             } else {
-                reviseLogger(
-                        logger,
-                        level,
-                        configuredFileHandler);
+                reviseLogger(logger, level, configuredFileHandler);
             }
         }
     }
 
     /**
-     * Returns the logging level to use, checking the configured log level and
-     * using the default if the configured value is absent or invalid.
+     * Returns the logging level to use, checking the configured log level and using the default if the configured value is
+     * absent or invalid.
+     *
      * @param configLevelText configured level name
      * @return log level to use for all logging in the ACC
      */
     private static Level chooseLevel(final LogService logService) {
         Level level = DEFAULT_ACC_LOG_LEVEL;
-        if (logService != null ) {
+        if (logService != null) {
             String configLevelText = logService.getLevel();
-            if (configLevelText!= null &&  ( ! configLevelText.equals(""))) {
+            if (configLevelText != null && (!configLevelText.equals(""))) {
                 try {
                     level = Level.parse(configLevelText);
                 } catch (IllegalArgumentException e) {
-                    //ignore - use the previously-assigned default - and log it !
+                    // ignore - use the previously-assigned default - and log it !
                     Logger.getLogger(ACCLogger.class.getName()).warning("Logger.Level = " + configLevelText + "??");
                 }
             }
@@ -113,8 +107,8 @@
     }
 
     /**
-     * Creates a logging handler to send logging to the specified file, using
-     * the indicated level.
+     * Creates a logging handler to send logging to the specified file, using the indicated level.
+     *
      * @param filePath path to the log file to which to log
      * @param level level at which to log
      * @return logging Handler if filePath is specified and valid; null otherwise
@@ -133,20 +127,18 @@
         return handler;
     }
 
-    private static void reviseLogger(final Logger logger,
-            final Level level,
-            final Handler handler) {
-            AccessController.doPrivileged(
-                    new PrivilegedAction() {
-                        public Object run() {
-                            if ( ! logger.isLoggable(level)) {
-                                logger.setLevel(level);
-                            }
-                            if (handler != null) {
-                                logger.addHandler(handler);
-                            }
-                            return null;
-                        }
-                    });
-        }
+    private static void reviseLogger(final Logger logger, final Level level, final Handler handler) {
+        AccessController.doPrivileged(new PrivilegedAction() {
+            @Override
+            public Object run() {
+                if (!logger.isLoggable(level)) {
+                    logger.setLevel(level);
+                }
+                if (handler != null) {
+                    logger.addHandler(handler);
+                }
+                return null;
+            }
+        });
     }
+}
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java
index fb2300a..951303f 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,7 +17,6 @@
 
 package org.glassfish.appclient.client.acc;
 
-import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
 import java.lang.instrument.ClassFileTransformer;
 import java.lang.instrument.IllegalClassFormatException;
 import java.lang.instrument.Instrumentation;
@@ -26,14 +26,18 @@
 import java.security.ProtectionDomain;
 import java.util.Collection;
 import java.util.HashSet;
-import jakarta.persistence.EntityManagerFactory;
-import jakarta.persistence.spi.ClassTransformer;
-import jakarta.validation.ValidatorFactory;
 
 import org.glassfish.api.deployment.DeploymentContext;
 import org.glassfish.deployment.common.RootDeploymentDescriptor;
 import org.glassfish.persistence.jpa.ProviderContainerContractInfoBase;
 
+import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
+
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.spi.ClassTransformer;
+import jakarta.persistence.spi.TransformerException;
+import jakarta.validation.ValidatorFactory;
+
 /**
  * Implements the internal GlassFish interface which all persistence provider
  * containers must.
@@ -67,10 +71,12 @@
         this.applicationLocation = applicationLocation;
     }
 
+    @Override
     public ClassLoader getClassLoader() {
         return classLoader;
     }
 
+    @Override
     public ClassLoader getTempClassloader() {
         return AccessController.doPrivileged(new PrivilegedAction<URLClassLoader>() {
 
@@ -82,6 +88,7 @@
             });
     }
 
+    @Override
     public void addTransformer(ClassTransformer transformer) {
         final TransformerWrapper tw = new TransformerWrapper(transformer, classLoader);
         if (inst != null) {
@@ -91,29 +98,35 @@
         }
     }
 
+    @Override
     public String getApplicationLocation() {
         return applicationLocation;
     }
 
+    @Override
     public ValidatorFactory getValidatorFactory() {
         // TODO: Need to implement this correctly.
         return null;
     }
 
     // TODO: remove after persistence is refactored.
+    @Override
     public DeploymentContext getDeploymentContext() {
         return null;
     }
 
+    @Override
     public boolean isJava2DBRequired() {
         // Returns whether Java2DB is required or not. For an AppClient it is always false
         return false;
     }
 
+    @Override
     public void registerEMF(String unitName, String persistenceRootUri, RootDeploymentDescriptor containingBundle, EntityManagerFactory emf) {
         emfs.add(emf);
     }
 
+    @Override
     public String getJTADataSourceOverride() {
         // Returns whether JTA datasource is overridden. For an appclient it is never the case.
         return null;
@@ -133,21 +146,24 @@
         private final ClassTransformer persistenceTransformer;
         private final ClassLoader classLoader;
 
-        TransformerWrapper(final ClassTransformer persistenceTransformer,
-                final ClassLoader classLoader) {
+        TransformerWrapper(final ClassTransformer persistenceTransformer, final ClassLoader classLoader) {
             this.persistenceTransformer = persistenceTransformer;
             this.classLoader = classLoader;
         }
 
+        @Override
         public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
             /*
              * Do not even bother running the transformer unless the loader
              * loading the class is the ACC's class loader.
              */
-            return (loader.equals(classLoader) ?
-                persistenceTransformer.transform(loader, className,
-                    classBeingRedefined, protectionDomain, classfileBuffer)
-                : null);
+            try {
+                return loader.equals(classLoader) ?
+                    persistenceTransformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer) :
+                    null;
+            } catch (TransformerException e) {
+                throw (IllegalClassFormatException) (new IllegalClassFormatException().initCause(e));
+            }
         }
     }
 
diff --git a/appserver/appclient/client/acc/src/test/java/org/glassfish/appclient/client/CLIBootstrapTest.java b/appserver/appclient/client/acc/src/test/java/org/glassfish/appclient/client/CLIBootstrapTest.java
index 5649739..b00174a 100644
--- a/appserver/appclient/client/acc/src/test/java/org/glassfish/appclient/client/CLIBootstrapTest.java
+++ b/appserver/appclient/client/acc/src/test/java/org/glassfish/appclient/client/CLIBootstrapTest.java
@@ -44,7 +44,7 @@
         System.setProperty(CLIBootstrap.ENV_VAR_PROP_PREFIX + "JAVA_HOME", "");
         System.setProperty(CLIBootstrap.ENV_VAR_PROP_PREFIX + "PATH", System.getenv("PATH"));
         System.setProperty(CLIBootstrap.ENV_VAR_PROP_PREFIX + "_AS_INSTALL",
-            "/Users/Tim/asgroup/v3/H/publish/glassfish6/glassfish");
+            "/Users/Tim/asgroup/v3/H/publish/glassfish7/glassfish");
     }
 
     @Test
diff --git a/appserver/appclient/client/appclient-scripts/pom.xml b/appserver/appclient/client/appclient-scripts/pom.xml
index 4a28fa6..944a33a 100644
--- a/appserver/appclient/client/appclient-scripts/pom.xml
+++ b/appserver/appclient/client/appclient-scripts/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.appclient</groupId>
         <artifactId>client</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appclient-scripts</artifactId>
@@ -49,5 +49,6 @@
       the transitive dependency handling in Maven.
     -->
     <packaging>distribution-fragment</packaging>
+
     <name>GlassFish appclient scripts</name>
 </project>
diff --git a/appserver/appclient/client/pom.xml b/appserver/appclient/client/pom.xml
index a7a2938..f5ec747 100755
--- a/appserver/appclient/client/pom.xml
+++ b/appserver/appclient/client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>appclient</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.appclient</groupId>
diff --git a/appserver/appclient/pom.xml b/appserver/appclient/pom.xml
index 95d043e..bb9e276 100755
--- a/appserver/appclient/pom.xml
+++ b/appserver/appclient/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appclient</artifactId>
diff --git a/appserver/appclient/server/connector/pom.xml b/appserver/appclient/server/connector/pom.xml
index 40fd19a..7cd60e0 100644
--- a/appserver/appclient/server/connector/pom.xml
+++ b/appserver/appclient/server/connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.appclient</groupId>
         <artifactId>server</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.appclient.server</groupId>
diff --git a/appserver/appclient/server/core/pom.xml b/appserver/appclient/server/core/pom.xml
index b035a48..3e7e713 100644
--- a/appserver/appclient/server/core/pom.xml
+++ b/appserver/appclient/server/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.appclient</groupId>
         <artifactId>server</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.appclient.server</groupId>
diff --git a/appserver/appclient/server/pom.xml b/appserver/appclient/server/pom.xml
index 4b25c26..565a34c 100755
--- a/appserver/appclient/server/pom.xml
+++ b/appserver/appclient/server/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>appclient</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/batch/batch-database/pom.xml b/appserver/batch/batch-database/pom.xml
index 8b510fd..ea2338a 100644
--- a/appserver/batch/batch-database/pom.xml
+++ b/appserver/batch/batch-database/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.glassfish.main.batch</groupId>
         <artifactId>batch</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>batch-databases</artifactId>
diff --git a/appserver/batch/glassfish-batch-commands/pom.xml b/appserver/batch/glassfish-batch-commands/pom.xml
index 5c4db0a..f15eb33 100755
--- a/appserver/batch/glassfish-batch-commands/pom.xml
+++ b/appserver/batch/glassfish-batch-commands/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.batch</groupId>
         <artifactId>batch</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/batch/glassfish-batch-connector/pom.xml b/appserver/batch/glassfish-batch-connector/pom.xml
index 1429368..885938e 100755
--- a/appserver/batch/glassfish-batch-connector/pom.xml
+++ b/appserver/batch/glassfish-batch-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.batch</groupId>
         <artifactId>batch</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/batch/pom.xml b/appserver/batch/pom.xml
index ed28b55..4e939ab 100755
--- a/appserver/batch/pom.xml
+++ b/appserver/batch/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/common/amx-javaee/pom.xml b/appserver/common/amx-javaee/pom.xml
index a087f58..33cdedd 100755
--- a/appserver/common/amx-javaee/pom.xml
+++ b/appserver/common/amx-javaee/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>amx-javaee</artifactId>
diff --git a/appserver/common/annotation-framework/pom.xml b/appserver/common/annotation-framework/pom.xml
index ee105f3..b988a81 100755
--- a/appserver/common/annotation-framework/pom.xml
+++ b/appserver/common/annotation-framework/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>annotation-framework</artifactId>
diff --git a/appserver/common/annotation-framework/src/main/java/org/glassfish/apf/skip-annotation-class-list b/appserver/common/annotation-framework/src/main/java/org/glassfish/apf/skip-annotation-class-list
index bc3ddb4..68354b7 100644
--- a/appserver/common/annotation-framework/src/main/java/org/glassfish/apf/skip-annotation-class-list
+++ b/appserver/common/annotation-framework/src/main/java/org/glassfish/apf/skip-annotation-class-list
@@ -1,4 +1,4 @@
 jakarta.servlet.GenericServlet
 jakarta.servlet.http.HttpServlet
-org.apache.jasper.servlet.JspServlet
+org.glassfish.wasp.servlet.JspServlet
 org.apache.catalina.servlets.DefaultServlet
diff --git a/appserver/common/container-common/pom.xml b/appserver/common/container-common/pom.xml
index 4ba6ec8..817d1b3 100755
--- a/appserver/common/container-common/pom.xml
+++ b/appserver/common/container-common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -88,8 +88,12 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-mail</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.main.security</groupId>
diff --git a/appserver/common/glassfish-ee-api/pom.xml b/appserver/common/glassfish-ee-api/pom.xml
index 5cd0fe0..9124e0f 100644
--- a/appserver/common/glassfish-ee-api/pom.xml
+++ b/appserver/common/glassfish-ee-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-ee-api</artifactId>
diff --git a/appserver/common/glassfish-naming/pom.xml b/appserver/common/glassfish-naming/pom.xml
index faa0fe6..f85ab6b 100755
--- a/appserver/common/glassfish-naming/pom.xml
+++ b/appserver/common/glassfish-naming/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-naming</artifactId>
diff --git a/appserver/common/pom.xml b/appserver/common/pom.xml
index ea18d4d..c35a5af 100755
--- a/appserver/common/pom.xml
+++ b/appserver/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/common/stats77/pom.xml b/appserver/common/stats77/pom.xml
index 02ca374..26e3f07 100755
--- a/appserver/common/stats77/pom.xml
+++ b/appserver/common/stats77/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>stats77</artifactId>
diff --git a/appserver/concurrent/concurrent-connector/pom.xml b/appserver/concurrent/concurrent-connector/pom.xml
index 4cd0400..920e0b2 100644
--- a/appserver/concurrent/concurrent-connector/pom.xml
+++ b/appserver/concurrent/concurrent-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.concurrent</groupId>
         <artifactId>concurrent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>concurrent-connector</artifactId>
diff --git a/appserver/concurrent/concurrent-impl/pom.xml b/appserver/concurrent/concurrent-impl/pom.xml
index efe10d8..80d417b 100644
--- a/appserver/concurrent/concurrent-impl/pom.xml
+++ b/appserver/concurrent/concurrent-impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.concurrent</groupId>
         <artifactId>concurrent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>concurrent-impl</artifactId>
diff --git a/appserver/concurrent/pom.xml b/appserver/concurrent/pom.xml
index c2605f6..f451271 100755
--- a/appserver/concurrent/pom.xml
+++ b/appserver/concurrent/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.concurrent</groupId>
diff --git a/appserver/connectors/admin/pom.xml b/appserver/connectors/admin/pom.xml
index f9cc6f6..45c9a23 100644
--- a/appserver/connectors/admin/pom.xml
+++ b/appserver/connectors/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.connectors</groupId>
         <artifactId>connectors</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>connectors-admin</artifactId>
@@ -105,8 +105,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/connectors/connectors-connector/pom.xml b/appserver/connectors/connectors-connector/pom.xml
index e261e89..7789b81 100644
--- a/appserver/connectors/connectors-connector/pom.xml
+++ b/appserver/connectors/connectors-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.connectors</groupId>
         <artifactId>connectors</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gf-connectors-connector</artifactId>
diff --git a/appserver/connectors/connectors-inbound-runtime/pom.xml b/appserver/connectors/connectors-inbound-runtime/pom.xml
index 31f5e68..fbf63bc 100644
--- a/appserver/connectors/connectors-inbound-runtime/pom.xml
+++ b/appserver/connectors/connectors-inbound-runtime/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.connectors</groupId>
         <artifactId>connectors</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/connectors/connectors-internal-api/pom.xml b/appserver/connectors/connectors-internal-api/pom.xml
index 2f8eaca..422bfb3 100755
--- a/appserver/connectors/connectors-internal-api/pom.xml
+++ b/appserver/connectors/connectors-internal-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.connectors</groupId>
         <artifactId>connectors</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/connectors/connectors-runtime/pom.xml b/appserver/connectors/connectors-runtime/pom.xml
index 767ab23..675ccf0 100644
--- a/appserver/connectors/connectors-runtime/pom.xml
+++ b/appserver/connectors/connectors-runtime/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.connectors</groupId>
         <artifactId>connectors</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/connectors/descriptors/pom.xml b/appserver/connectors/descriptors/pom.xml
index 7b77ce2..697dbe3 100644
--- a/appserver/connectors/descriptors/pom.xml
+++ b/appserver/connectors/descriptors/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.connectors</groupId>
         <artifactId>connectors</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>descriptors</artifactId>
diff --git a/appserver/connectors/pom.xml b/appserver/connectors/pom.xml
index 598e516..5d7a9b4 100644
--- a/appserver/connectors/pom.xml
+++ b/appserver/connectors/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.connectors</groupId>
diff --git a/appserver/connectors/work-management/pom.xml b/appserver/connectors/work-management/pom.xml
index 56355ea..739a1aa 100644
--- a/appserver/connectors/work-management/pom.xml
+++ b/appserver/connectors/work-management/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.connectors</groupId>
         <artifactId>connectors</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>work-management</artifactId>
diff --git a/appserver/core/api-exporter-fragment/pom.xml b/appserver/core/api-exporter-fragment/pom.xml
index ecb16f2..a7e5234 100755
--- a/appserver/core/api-exporter-fragment/pom.xml
+++ b/appserver/core/api-exporter-fragment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -66,6 +66,7 @@
                             <regex>\s+</regex>
                             <replacement> </replacement>
                             <value>
+                                jakarta.activation;
                                 jakarta.annotation;
                                 jakarta.annotation.security;
                                 jakarta.annotation.sql;
diff --git a/appserver/core/javaee-kernel/pom.xml b/appserver/core/javaee-kernel/pom.xml
index 00d84ee..70855c4 100755
--- a/appserver/core/javaee-kernel/pom.xml
+++ b/appserver/core/javaee-kernel/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/core/pom.xml b/appserver/core/pom.xml
index f93fdd2..60ffe7d 100644
--- a/appserver/core/pom.xml
+++ b/appserver/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/deployment/dol/pom.xml b/appserver/deployment/dol/pom.xml
index ee06cc3..411b7e2 100755
--- a/appserver/deployment/dol/pom.xml
+++ b/appserver/deployment/dol/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>dol</artifactId>
@@ -103,6 +104,10 @@
             <groupId>jakarta.enterprise</groupId>
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.glassfish.main.common</groupId>
diff --git a/appserver/deployment/dtds/pom.xml b/appserver/deployment/dtds/pom.xml
index 8c82eb4..351f4e8 100644
--- a/appserver/deployment/dtds/pom.xml
+++ b/appserver/deployment/dtds/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appserver-dtds</artifactId>
diff --git a/appserver/deployment/javaee-core/pom.xml b/appserver/deployment/javaee-core/pom.xml
index acb5ec8..1f0cd82 100755
--- a/appserver/deployment/javaee-core/pom.xml
+++ b/appserver/deployment/javaee-core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/deployment/javaee-full/pom.xml b/appserver/deployment/javaee-full/pom.xml
index ced3dfb..adad910 100755
--- a/appserver/deployment/javaee-full/pom.xml
+++ b/appserver/deployment/javaee-full/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/deployment/pom.xml b/appserver/deployment/pom.xml
index fb90bfc..0d4de89 100755
--- a/appserver/deployment/pom.xml
+++ b/appserver/deployment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/deployment/schemas/pom.xml b/appserver/deployment/schemas/pom.xml
index 2e4db47..4cd29ee 100644
--- a/appserver/deployment/schemas/pom.xml
+++ b/appserver/deployment/schemas/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appserver-schemas</artifactId>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application-client_10.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application-client_10.xsd
new file mode 100644
index 0000000..6e95b0b
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application-client_10.xsd
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+            xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="10">
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved.
+      
+      This program and the accompanying materials are made available under the
+      terms of the Eclipse Public License v. 2.0, which is available at
+      http://www.eclipse.org/legal/epl-2.0.
+      
+      This Source Code may also be made available under the following Secondary
+      Licenses when the conditions for such availability set forth in the
+      Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+      version 2 with the GNU Classpath Exception, which is available at
+      https://www.gnu.org/software/classpath/license.html.
+      
+      SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+      This is the XML Schema for the application client 10
+      deployment descriptor.  The deployment descriptor must
+      be named "META-INF/application-client.xml" in the
+      application client's jar file.  All application client
+      deployment descriptors must indicate the application
+      client schema by using the Jakarta EE namespace:
+      
+      https://jakarta.ee/xml/ns/jakartaee
+      
+      and indicate the version of the schema by
+      using the version element as shown below:
+      
+      <application-client xmlns="https://jakarta.ee/xml/ns/jakartaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee 
+      	https://jakarta.ee/xml/ns/jakartaee/application-client_10.xsd"
+      version="10">
+      ...
+      </application-client>
+      
+      The instance documents may indicate the published version of
+      the schema using the xsi:schemaLocation attribute for Jakarta EE
+      namespace with the following location:
+      
+      https://jakarta.ee/xml/ns/jakartaee/application-client_10.xsd
+      
+      ]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following conventions apply to all Jakarta EE
+      deployment descriptor elements unless indicated otherwise.
+      
+      - In elements that specify a pathname to a file within the
+      same JAR file, relative filenames (i.e., those not
+      starting with "/") are considered relative to the root of
+      the JAR file's namespace.  Absolute filenames (i.e., those
+      starting with "/") also specify names in the root of the
+      JAR file's namespace.  In general, relative names are
+      preferred.  The exception is .war files where absolute
+      names are preferred for consistency with the Servlet API.
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="jakartaee_10.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="application-client"
+               type="jakartaee:application-clientType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The application-client element is the root element of an
+        application client deployment descriptor.  The application
+        client deployment descriptor describes the enterprise bean 
+        components and external resources referenced by the 
+        application client.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:unique name="env-entry-name-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The env-entry-name element contains the name of an
+          application client's environment entry.  The name is a JNDI
+          name relative to the java:comp/env context.  The name must
+          be unique within an application client.
+          
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="jakartaee:env-entry"/>
+      <xsd:field xpath="jakartaee:env-entry-name"/>
+    </xsd:unique>
+    <xsd:unique name="ejb-ref-name-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The ejb-ref-name element contains the name of an enterprise bean 
+          reference. The enterprise bean reference is an entry 
+          in the application client's environment and is relative to the
+          java:comp/env context. The name must be unique within the
+          application client.
+          
+          It is recommended that name is prefixed with "ejb/".
+          
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="jakartaee:ejb-ref"/>
+      <xsd:field xpath="jakartaee:ejb-ref-name"/>
+    </xsd:unique>
+    <xsd:unique name="res-ref-name-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The res-ref-name element specifies the name of a
+          resource manager connection factory reference.The name
+          is a JNDI name relative to the java:comp/env context.
+          The name must be unique within an application client.
+          
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="jakartaee:resource-ref"/>
+      <xsd:field xpath="jakartaee:res-ref-name"/>
+    </xsd:unique>
+    <xsd:unique name="resource-env-ref-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The resource-env-ref-name element specifies the name of
+          a resource environment reference; its value is the
+          environment entry name used in the application client
+          code. The name is a JNDI name relative to the
+          java:comp/env context and must be unique within an
+          application client.
+          
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="jakartaee:resource-env-ref"/>
+      <xsd:field xpath="jakartaee:resource-env-ref-name"/>
+    </xsd:unique>
+    <xsd:unique name="message-destination-ref-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The message-destination-ref-name element specifies the
+          name of a message destination reference; its value is
+          the message destination reference name used in the
+          application client code. The name is a JNDI name
+          relative to the java:comp/env context and must be unique
+          within an application client.
+          
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="jakartaee:message-destination-ref"/>
+      <xsd:field xpath="jakartaee:message-destination-ref-name"/>
+    </xsd:unique>
+  </xsd:element>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="application-clientType">
+    <xsd:sequence>
+      <xsd:element name="module-name"
+                   type="jakartaee:string"
+                   minOccurs="0"/>
+      <xsd:group ref="jakartaee:descriptionGroup"/>
+      <xsd:element name="env-entry"
+                   type="jakartaee:env-entryType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref"
+                   type="jakartaee:ejb-refType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:group ref="jakartaee:service-refGroup"/>
+      <xsd:element name="resource-ref"
+                   type="jakartaee:resource-refType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="resource-env-ref"
+                   type="jakartaee:resource-env-refType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="message-destination-ref"
+                   type="jakartaee:message-destination-refType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="persistence-unit-ref"
+                   type="jakartaee:persistence-unit-refType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="post-construct"
+                   type="jakartaee:lifecycle-callbackType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="pre-destroy"
+                   type="jakartaee:lifecycle-callbackType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="callback-handler"
+                   type="jakartaee:fully-qualified-classType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The callback-handler element names a class provided by
+            the application.  The class must have a no args
+            constructor and must implement the
+            jakarta.security.auth.callback.CallbackHandler
+            interface.  The class will be instantiated by the
+            application client container and used by the container
+            to collect authentication information from the user.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="message-destination"
+                   type="jakartaee:message-destinationType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="data-source"
+                   type="jakartaee:data-sourceType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="jms-connection-factory"
+                   type="jakartaee:jms-connection-factoryType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="jms-destination"
+                   type="jakartaee:jms-destinationType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="mail-session"
+                   type="jakartaee:mail-sessionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="connection-factory"
+                   type="jakartaee:connection-factory-resourceType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="administered-object"
+                   type="jakartaee:administered-objectType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="version"
+                   type="jakartaee:dewey-versionType"
+                   fixed="10"
+                   use="required">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The required value for the version is 10.
+          
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="metadata-complete"
+                   type="xsd:boolean">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The metadata-complete attribute defines whether this
+          deployment descriptor and other related deployment
+          descriptors for this module (e.g., web service
+          descriptors) are complete, or whether the class
+          files available to this module and packaged with
+          this application should be examined for annotations
+          that specify deployment information.
+          
+          If metadata-complete is set to "true", the deployment
+          tool must ignore any annotations that specify deployment
+          information, which might be present in the class files
+          of the application.
+          
+          If metadata-complete is not specified or is set to
+          "false", the deployment tool must examine the class
+          files of the application for annotations, as
+          specified by the specifications.
+          
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application_10.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application_10.xsd
new file mode 100644
index 0000000..e73e21d
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application_10.xsd
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="https://jakarta.ee/xml/ns/jakartaee" xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="10">
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved.
+      
+      This program and the accompanying materials are made available under the
+      terms of the Eclipse Public License v. 2.0, which is available at
+      http://www.eclipse.org/legal/epl-2.0.
+      
+      This Source Code may also be made available under the following Secondary
+      Licenses when the conditions for such availability set forth in the
+      Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+      version 2 with the GNU Classpath Exception, which is available at
+      https://www.gnu.org/software/classpath/license.html.
+      
+      SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+      This is the XML Schema for the application 10 deployment
+      descriptor.  The deployment descriptor must be named
+      "META-INF/application.xml" in the application's ear file.
+      All application deployment descriptors must indicate
+      the application schema by using the Jakarta EE namespace:
+      
+      https://jakarta.ee/xml/ns/jakartaee
+      
+      and indicate the version of the schema by
+      using the version element as shown below:
+      
+      <application xmlns="https://jakarta.ee/xml/ns/jakartaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee 
+      	https://jakarta.ee/xml/ns/jakartaee/application_10.xsd"
+      version="10">
+      ...
+      </application>
+      
+      The instance documents may indicate the published version of
+      the schema using the xsi:schemaLocation attribute for Jakarta EE
+      namespace with the following location:
+      
+      https://jakarta.ee/xml/ns/jakartaee/application_10.xsd
+      
+      ]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following conventions apply to all Jakarta EE
+      deployment descriptor elements unless indicated otherwise.
+      
+      - In elements that specify a pathname to a file within the
+      same JAR file, relative filenames (i.e., those not
+      starting with "/") are considered relative to the root of
+      the JAR file's namespace.  Absolute filenames (i.e., those
+      starting with "/") also specify names in the root of the
+      JAR file's namespace.  In general, relative names are
+      preferred.  The exception is .war files where absolute
+      names are preferred for consistency with the Servlet API.
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="jakartaee_10.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="application" type="jakartaee:applicationType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The application element is the root element of a Jakarta EE
+        application deployment descriptor.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:unique name="context-root-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The context-root element content must be unique
+          in the ear. 
+          
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="jakartaee:module/jakartaee:web"/>
+      <xsd:field xpath="jakartaee:context-root"/>
+    </xsd:unique>
+    <xsd:unique name="security-role-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The security-role-name element content
+          must be unique in the ear.  
+          
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="jakartaee:security-role"/>
+      <xsd:field xpath="jakartaee:role-name"/>
+    </xsd:unique>
+  </xsd:element>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="applicationType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The applicationType defines the structure of the
+        application. 
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="application-name" type="jakartaee:string" minOccurs="0"/>
+      <xsd:group ref="jakartaee:descriptionGroup"/>
+      <xsd:element name="initialize-in-order" type="jakartaee:generic-booleanType" minOccurs="0" maxOccurs="1">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            If initialize-in-order is true, modules must be initialized
+            in the order they're listed in this deployment descriptor,
+            with the exception of application client modules, which can
+            be initialized in any order.
+            If initialize-in-order is not set or set to false, the order
+            of initialization is unspecified and may be product-dependent.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="module" type="jakartaee:moduleType" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The application deployment descriptor must have one
+            module element for each Jakarta EE module in the
+            application package. A module element is defined 
+            by moduleType definition. 
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="security-role" type="jakartaee:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="library-directory" type="jakartaee:pathType" minOccurs="0" maxOccurs="1">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The library-directory element specifies the pathname
+            of a directory within the application package, relative
+            to the top level of the application package.  All files
+            named "*.jar" in this directory must be made available
+            in the class path of all components included in this
+            application package.  If this element isn't specified,
+            the directory named "lib" is searched.  An empty element
+            may be used to disable searching.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="env-entry" type="jakartaee:env-entryType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref" type="jakartaee:ejb-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-local-ref" type="jakartaee:ejb-local-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:group ref="jakartaee:service-refGroup"/>
+      <xsd:element name="resource-ref" type="jakartaee:resource-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="resource-env-ref" type="jakartaee:resource-env-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="message-destination-ref" type="jakartaee:message-destination-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="persistence-context-ref" type="jakartaee:persistence-context-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="persistence-unit-ref" type="jakartaee:persistence-unit-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="message-destination" type="jakartaee:message-destinationType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="data-source" type="jakartaee:data-sourceType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="jms-connection-factory" type="jakartaee:jms-connection-factoryType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="jms-destination" type="jakartaee:jms-destinationType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="mail-session" type="jakartaee:mail-sessionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="connection-factory" type="jakartaee:connection-factory-resourceType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="administered-object" type="jakartaee:administered-objectType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="version" type="jakartaee:dewey-versionType" fixed="10" use="required">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The required value for the version is 10.
+          
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="moduleType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The moduleType defines a single Jakarta EE module and contains a
+        connector, ejb, java, or web element, which indicates the
+        module type and contains a path to the module file, and an
+        optional alt-dd element, which specifies an optional URI to
+        the post-assembly version of the deployment descriptor.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:choice>
+        <xsd:element name="connector" type="jakartaee:pathType">
+          <xsd:annotation>
+            <xsd:documentation>
+
+              The connector element specifies the URI of a
+              resource adapter archive file, relative to the
+              top level of the application package.
+              
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element name="ejb" type="jakartaee:pathType">
+          <xsd:annotation>
+            <xsd:documentation>
+
+              The ejb element specifies the URI of an ejb-jar,
+              relative to the top level of the application
+              package.
+              
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element name="java" type="jakartaee:pathType">
+          <xsd:annotation>
+            <xsd:documentation>
+
+              The java element specifies the URI of a java
+              application client module, relative to the top
+              level of the application package.
+              
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element name="web" type="jakartaee:webType"/>
+      </xsd:choice>
+      <xsd:element name="alt-dd" type="jakartaee:pathType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The alt-dd element specifies an optional URI to the
+            post-assembly version of the deployment descriptor
+            file for a particular Jakarta EE module.  The URI must
+            specify the full pathname of the deployment
+            descriptor file relative to the application's root
+            directory. If alt-dd is not specified, the deployer
+            must read the deployment descriptor from the default
+            location and file name required by the respective
+            component specification.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="webType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The webType defines the web-uri and context-root of
+        a web application module.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="web-uri" type="jakartaee:pathType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The web-uri element specifies the URI of a web
+            application file, relative to the top level of the
+            application package.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="context-root" type="jakartaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The context-root element specifies the context root
+            of a web application.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/beans_4_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/beans_4_0.xsd
new file mode 100644
index 0000000..71ae3d7
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/beans_4_0.xsd
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2021, Red Hat, Inc., and individual contributors
+~ by the @authors tag. See the copyright.txt in the distribution for a
+~ full listing of individual contributors.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~ http://www.apache.org/licenses/LICENSE-2.0
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+           elementFormDefault="qualified"
+           targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+           version="4.0">
+
+  <xs:annotation>
+    <xs:documentation>
+      <![CDATA[[
+         Jakarta Contexts and Dependency Injection (CDI) defines
+         a set of complementary services that help improve the structure
+         of application code. beans.xml is used to enable CDI services
+         for the current bean archive as well as to enable named
+         interceptors, decorators and alternatives for the current bean
+         archive.
+         
+
+         This is the XML Schema for the beans.xml deployment
+         descriptor for CDI 4.0.  The deployment descriptor must be named
+         "META-INF/beans.xml" or "WEB-INF/beans.xml" in a war file.
+         All application deployment descriptors may indicate
+         the application schema by using the Java EE namespace:
+
+         https://jakarta.ee/xml/ns/jakartaee
+
+         and may indicate the version of the schema by
+         using the version element as shown below:
+
+         <beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+         https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
+         version="4.0">
+            ...
+         </beans>
+
+        The deployment descriptor may indicate the published version of
+        the schema using the xsi:schemaLocation attribute for the Java EE
+        namespace with the following location:
+
+        https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd
+
+     ]]>
+    </xs:documentation>
+  </xs:annotation>
+
+  <xs:element name="beans">
+    <xs:annotation>
+      <xs:documentation>
+        Bean classes of enabled beans must be
+        deployed in bean archives. A library jar, EJB jar,
+        application client jar or rar archive is a bean archive if
+        it has a file named beans.xml in the META-INF directory. The
+        WEB-INF/classes directory of a war is a bean archive if
+        there is a file named beans.xml in the WEB-INF directory of
+        the war. A directory in the JVM classpath is a bean archive
+        if it has a file named beans.xml in the META-INF directory.
+
+        When running in a CDI Lite environment, the bean-discovery-mode
+        attribute is the only configuration value read from a beans.xml file.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:all >
+        <xs:element ref="jakartaee:interceptors" minOccurs="0"/>
+        <xs:element ref="jakartaee:decorators" minOccurs="0" />
+        <xs:element ref="jakartaee:alternatives" minOccurs="0" />
+        <xs:element ref="jakartaee:scan" minOccurs="0" />
+        <xs:element ref="jakartaee:trim" minOccurs="0"/>
+      </xs:all>
+      <xs:attribute name="version" default="4.0">
+        <xs:annotation>
+          <xs:documentation>
+            The version of CDI this beans.xml is for. If the version is "4.0" (or
+            later), then the attribute bean-discovery-mode must be added.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:pattern value="\.?[0-9]+(\.[0-9]+)*"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="bean-discovery-mode" use="optional" default="annotated">
+        <xs:annotation>
+          <xs:documentation>
+            It is strongly recommended you use "annotated". This is now the default and it
+            is also the default as of 4.0 when an empty beans.xml file is seen. When running
+            in a CDI Lite  environment, this is the only aspect of the beans.xml file that
+            is used.
+
+            If the bean discovery mode is "all", then all types in this
+            archive will be considered. If the bean discovery mode is
+            "annotated", then only those types with bean defining annotations will be
+            considered. If the bean discovery mode is "none", then no
+            types will be considered.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="annotated">
+              <xs:annotation>
+                <xs:documentation>
+                  Only those types with bean defining annotations will be
+                  considered.
+                </xs:documentation>
+              </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="all">
+              <xs:annotation>
+                <xs:documentation>
+                  All types in this archive will be considered.
+                </xs:documentation>
+              </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="none">
+              <xs:annotation>
+                <xs:documentation>
+                  This archive will be ignored.
+                </xs:documentation>
+              </xs:annotation>
+            </xs:enumeration>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="scan">
+    <xs:annotation>
+      <xs:documentation>
+        <![CDATA[The <scan> element allows exclusion of classes and packages from consideration. Various filters may be applied, and may be conditionally activated.]]>
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence maxOccurs="unbounded" minOccurs="0">
+        <xs:element name="exclude">
+          <xs:annotation>
+            <xs:documentation>
+              <![CDATA[The exclude filter allows exclusion of classes and packages through the use of Ant-style glob matches. For example, <exclude name="com.acme.**"> would exclude all classes and subpackages of com.acme.]]>
+            </xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice maxOccurs="unbounded" minOccurs="0">
+              <xs:element name="if-class-available">
+                <xs:annotation>
+                  <xs:documentation>
+                    <![CDATA[Activates the filter only if the class specified can be loaded.]]>
+                  </xs:documentation>
+                </xs:annotation>
+                <xs:complexType>
+                  <xs:attribute name="name" type="xs:string" use="required">
+                    <xs:annotation>
+                      <xs:documentation>
+                        <![CDATA[If the named class can be loaded then, then the filter will be activated.]]>
+                      </xs:documentation>
+                    </xs:annotation>
+                  </xs:attribute>
+                </xs:complexType>
+              </xs:element>
+              <xs:element name="if-class-not-available">
+                <xs:annotation>
+                  <xs:documentation>
+                    <![CDATA[Activates the filter only if the class specified cannot be loaded.]]>
+                  </xs:documentation>
+                </xs:annotation>
+                <xs:complexType>
+                  <xs:attribute name="name" type="xs:string" use="required">
+                    <xs:annotation>
+                      <xs:documentation>
+                        <![CDATA[If the named class cannot be loaded then, then the filter will be activated.]]>
+                      </xs:documentation>
+                    </xs:annotation>
+                  </xs:attribute>
+                </xs:complexType>
+              </xs:element>
+              <xs:element name="if-system-property">
+                <xs:annotation>
+                  <xs:documentation>
+                    <![CDATA[If both name and value are specified, then the named system property must be set, and have the specified value for the filter to be activated. If only the name is specified, then the named system property must be set for the filter to be activated.]]>
+                  </xs:documentation>
+                </xs:annotation>
+                <xs:complexType>
+                  <xs:attribute name="name" type="xs:string" use="required">
+                    <xs:annotation>
+                      <xs:documentation>
+                        <![CDATA[The name of the system property that must be set for the filter to be active.]]>
+                      </xs:documentation>
+                    </xs:annotation>
+                  </xs:attribute>
+                  <xs:attribute name="value" type="xs:string" use="optional">
+                    <xs:annotation>
+                      <xs:documentation>
+                        <![CDATA[Optional. The value that the system property must have for the filter to be active.]]>
+                      </xs:documentation>
+                    </xs:annotation>
+                  </xs:attribute>
+                </xs:complexType>
+              </xs:element>
+            </xs:choice>
+            <xs:attribute name="name" use="required">
+              <xs:annotation>
+                <xs:documentation>
+                  <![CDATA[The name of the class or package to exclude. Ant-style glob matches are supported. For example, <exclude name="com.acme.**"> would exclude all classes and subpackages of com.acme.]]>
+                </xs:documentation>
+              </xs:annotation>
+              <xs:simpleType>
+                <xs:restriction base="xs:string">
+                  <xs:pattern value="([a-zA-Z_$][a-zA-Z\d_$]*\.)*([a-zA-Z_$][a-zA-Z\d_$]*|\*|\*\*)"/>
+                </xs:restriction>
+              </xs:simpleType>
+            </xs:attribute>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="interceptors">
+    <xs:annotation>
+      <xs:documentation>
+        By default, a bean archive has no enabled
+        interceptors bound via interceptor bindings. An interceptor
+        must be explicitly enabled by listing its class under the
+        &lt;interceptors&gt; element of the beans.xml file of the
+        bean archive. The order of the interceptor declarations
+        determines the interceptor ordering. Interceptors which
+        occur earlier in the list are called first. If the same
+        class is listed twice under the &lt;interceptors&gt;
+        element, the container automatically detects the problem and
+        treats it as a deployment problem.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="class" type="xs:string">
+          <xs:annotation>
+            <xs:documentation>
+              Each child &lt;class&gt; element
+              must specify the name of an interceptor class. If
+              there is no class with the specified name, or if
+              the class with the specified name is not an
+              interceptor class, the container automatically
+              detects the problem and treats it as a deployment
+              problem.
+            </xs:documentation>
+          </xs:annotation>
+        </xs:element>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="decorators">
+    <xs:annotation>
+      <xs:documentation>
+        By default, a bean archive has no enabled
+        decorators. A decorator must be explicitly enabled by
+        listing its bean class under the &lt;decorators&gt; element
+        of the beans.xml file of the bean archive. The order of the
+        decorator declarations determines the decorator ordering.
+        Decorators which occur earlier in the list are called first.
+        If the same class is listed twice under the
+        &lt;decorators&gt; element, the container automatically
+        detects the problem and treats it as a deployment problem.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="class" type="xs:string">
+          <xs:annotation>
+            <xs:documentation>
+              Each child &lt;class&gt; element
+              must specify the name of a decorator class. If
+              there is no class with the specified name, or if
+              the class with the specified name is not a
+              decorator class, the container automatically
+              detects the problem and treats it as a deployment
+              problem.
+            </xs:documentation>
+          </xs:annotation>
+        </xs:element>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="alternatives">
+    <xs:annotation>
+      <xs:documentation>
+        An alternative is a bean that must be
+        explicitly declared in the beans.xml file if it should be
+        available for lookup, injection or EL resolution. By
+        default, a bean archive has no selected alternatives. An
+        alternative must be explicitly declared using the
+        &lt;alternatives&gt; element of the beans.xml file of the
+        bean archive. The &lt;alternatives&gt; element contains a
+        list of bean classes and stereotypes. An alternative is
+        selected for the bean archive if either: the alternative is
+        a managed bean or session bean and the bean class of the
+        bean is listed, or the alternative is a producer method,
+        field or resource, and the bean class that declares the
+        method or field is listed, or any @Alternative stereotype of
+        the alternative is listed.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="class" type="xs:string">
+          <xs:annotation>
+            <xs:documentation>
+              Each child &lt;class&gt; element
+              must specify the name of an alternative bean class.
+              If there is no class with the specified name, or if
+              the class with the specified name is not an
+              alternative bean class, the container automatically
+              detects the problem and treats it as a deployment
+              problem. If the same class is listed twice under
+              the &lt;alternatives&gt; element, the container
+              automatically detects the problem and treats it as
+              a deployment problem.
+            </xs:documentation>
+          </xs:annotation>
+        </xs:element>
+
+        <xs:element name="stereotype" type="xs:string">
+          <xs:annotation>
+            <xs:documentation>
+              Each child &lt;stereotype&gt;
+              element must specify the name of an @Alternative
+              stereotype annotation. If there is no annotation
+              with the specified name, or the annotation is not
+              an @Alternative stereotype, the container
+              automatically detects the problem and treats it as
+              a deployment problem. If the same stereotype is
+              listed twice under the &lt;alternatives&gt;
+              element, the container automatically detects the
+              problem and treats it as a deployment problem.
+            </xs:documentation>
+          </xs:annotation>
+        </xs:element>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="trim" type="xs:string" fixed="">
+    <xs:annotation>
+      <xs:documentation>
+        If an explicit bean archive contains the &lt;trim/&lt; element in its beans.xml file, types that don’t have
+        either a bean defining annotation (as defined in Bean defining annotations) or any scope annotation,
+        are removed from the set of discovered types.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+</xs:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_10.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_10.xsd
new file mode 100644
index 0000000..5cc9dcb
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_10.xsd
@@ -0,0 +1,2739 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="https://jakarta.ee/xml/ns/jakartaee" xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="10">
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved.
+      
+      This program and the accompanying materials are made available under the
+      terms of the Eclipse Public License v. 2.0, which is available at
+      http://www.eclipse.org/legal/epl-2.0.
+      
+      This Source Code may also be made available under the following Secondary
+      Licenses when the conditions for such availability set forth in the
+      Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+      version 2 with the GNU Classpath Exception, which is available at
+      https://www.gnu.org/software/classpath/license.html.
+      
+      SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following definitions that appear in the common
+      shareable schema(s) of Jakarta EE deployment descriptors should be
+      interpreted with respect to the context they are included:
+      
+      Deployment Component may indicate one of the following:
+      Jakarta EE application;
+      application client;
+      web application;
+      enterprise bean;
+      resource adapter; 
+      
+      Deployment File may indicate one of the following:
+      ear file;
+      war file;
+      jar file;
+      rar file;
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+  <xsd:include schemaLocation="jakartaee_web_services_client_2_0.xsd"/>
+
+  <xsd:group name="descriptionGroup">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This group keeps the usage of the contained description related
+        elements consistent across Jakarta EE deployment descriptors.
+        
+        All elements may occur multiple times with different languages,
+        to support localization of the content.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="display-name" type="jakartaee:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="icon" type="jakartaee:iconType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:group>
+
+  <xsd:group name="jndiEnvironmentRefsGroup">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This group keeps the usage of the contained JNDI environment
+        reference elements consistent across Jakarta EE deployment descriptors.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="env-entry" type="jakartaee:env-entryType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref" type="jakartaee:ejb-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-local-ref" type="jakartaee:ejb-local-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:group ref="jakartaee:service-refGroup"/>
+      <xsd:element name="resource-ref" type="jakartaee:resource-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="resource-env-ref" type="jakartaee:resource-env-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="message-destination-ref" type="jakartaee:message-destination-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="persistence-context-ref" type="jakartaee:persistence-context-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="persistence-unit-ref" type="jakartaee:persistence-unit-refType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="post-construct" type="jakartaee:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="pre-destroy" type="jakartaee:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="data-source" type="jakartaee:data-sourceType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="jms-connection-factory" type="jakartaee:jms-connection-factoryType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="jms-destination" type="jakartaee:jms-destinationType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="mail-session" type="jakartaee:mail-sessionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="connection-factory" type="jakartaee:connection-factory-resourceType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="administered-object" type="jakartaee:administered-objectType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:group>
+
+  <xsd:group name="resourceGroup">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This group collects elements that are common to most
+        JNDI resource elements.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="jakartaee:resourceBaseGroup"/>
+      <xsd:element name="lookup-name" type="jakartaee:xsdStringType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The JNDI name to be looked up to resolve a resource reference.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:group>
+
+  <xsd:group name="resourceBaseGroup">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This group collects elements that are common to all the
+        JNDI resource elements. It does not include the lookup-name
+        element, that is only applicable to some resource elements.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="mapped-name" type="jakartaee:xsdStringType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            A product specific name that this resource should be
+            mapped to.  The name of this resource, as defined by the
+            resource's name element or defaulted, is a name that is
+            local to the application component using the resource.
+            (It's a name in the JNDI java:comp/env namespace.)  Many
+            application servers provide a way to map these local
+            names to names of resources known to the application
+            server.  This mapped name is often a global JNDI name,
+            but may be a name of any form.
+            
+            Application servers are not required to support any
+            particular form or type of mapped name, nor the ability
+            to use mapped names.  The mapped name is
+            product-dependent and often installation-dependent.  No
+            use of a mapped name is portable.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="injection-target" type="jakartaee:injection-targetType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:group>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="administered-objectType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Configuration of an administered object.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Description of this administered object.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The name element specifies the JNDI name of the
+            administered object being defined.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="interface-name" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The administered object's interface type.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="class-name" type="jakartaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The administered object's class name.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-adapter" type="jakartaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Resource adapter name.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property" type="jakartaee:propertyType" minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Property of the administered object property.  This may be a 
+            vendor-specific property.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="connection-factory-resourceType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Configuration of a Connector Connection Factory resource.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Description of this resource.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The name element specifies the JNDI name of the
+            resource being defined.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="interface-name" type="jakartaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The fully qualified class name of the connection factory 
+            interface. 
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-adapter" type="jakartaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Resource adapter name.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="max-pool-size" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Maximum number of connections that should be concurrently
+            allocated for a connection pool.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="min-pool-size" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Minimum number of connections that should be concurrently
+            allocated for a connection pool.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="transaction-support" type="jakartaee:transaction-supportType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The level of transaction support the connection factory 
+            needs to support. 
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property" type="jakartaee:propertyType" minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Resource property.  This may be a vendor-specific
+            property.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="data-sourceType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Configuration of a DataSource.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Description of this DataSource.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The name element specifies the JNDI name of the
+            data source being defined.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="class-name" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            DataSource, XADataSource or ConnectionPoolDataSource
+            implementation class.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="server-name" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Database server name.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="port-number" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Port number where a server is listening for requests.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="database-name" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Name of a database on a server.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="url" type="jakartaee:jdbc-urlType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+            <![CDATA[
+            A JDBC URL. If the <code>url</code> property is specified
+            along with other standard <code>DataSource</code> properties
+            such as <code>serverName</code>, <code>databaseName</code>
+            and <code>portNumber</code>, the more specific properties will
+            take precedence and <code>url</code> will be ignored.
+            
+            ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="user" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            User name to use for connection authentication.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="password" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Password to use for connection authentication.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property" type="jakartaee:propertyType" minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            JDBC DataSource property.  This may be a vendor-specific
+            property or a less commonly used DataSource property.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="login-timeout" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Sets the maximum time in seconds that this data source
+            will wait while attempting to connect to a database.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="transactional" type="jakartaee:xsdBooleanType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Set to false if connections should not participate in
+            transactions.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="isolation-level" type="jakartaee:isolation-levelType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Isolation level for connections.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="initial-pool-size" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Number of connections that should be created when a
+            connection pool is initialized.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="max-pool-size" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Maximum number of connections that should be concurrently
+            allocated for a connection pool.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="min-pool-size" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Minimum number of connections that should be concurrently
+            allocated for a connection pool.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="max-idle-time" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The number of seconds that a physical connection should
+            remain unused in the pool before the connection is
+            closed for a connection pool.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="max-statements" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The total number of statements that a connection pool
+            should keep open.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="descriptionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The description type is used by a description element to
+        provide text describing the parent element.  The elements
+        that use this type should include any information that the
+        Deployment Component's Deployment File file producer wants
+        to provide to the consumer of the Deployment Component's
+        Deployment File (i.e., to the Deployer). Typically, the
+        tools used by such a Deployment File consumer will display
+        the description when processing the parent element that
+        contains the description.
+        
+        The lang attribute defines the language that the
+        description is provided in. The default value is "en" (English). 
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="jakartaee:xsdStringType">
+        <xsd:attribute ref="xml:lang"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:simpleType name="dewey-versionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type defines a dewey decimal that is used
+        to describe versions of documents. 
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="display-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The display-name type contains a short name that is intended
+        to be displayed by tools. It is used by display-name
+        elements.  The display name need not be unique.
+        
+        Example: 
+        
+        ...
+        <display-name xml:lang="en">
+        Employee Self Service
+        </display-name>
+        
+        The value of the xml:lang attribute is "en" (English) by default. 
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="jakartaee:string">
+        <xsd:attribute ref="xml:lang"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-linkType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The ejb-linkType is used by ejb-link
+        elements in the ejb-ref or ejb-local-ref elements to specify
+        that an enterprise bean reference is linked to enterprise bean.
+        
+        The value of the ejb-link element must be the ejb-name of an
+        enterprise bean in the same ejb-jar file or in another ejb-jar
+        file in the same Jakarta EE application unit. 
+        
+        Alternatively, the name in the ejb-link element may be
+        composed of a path name specifying the ejb-jar containing the
+        referenced enterprise bean with the ejb-name of the target
+        bean appended and separated from the path name by "#".  The
+        path name is relative to the Deployment File containing
+        Deployment Component that is referencing the enterprise
+        bean.  This allows multiple enterprise beans with the same
+        ejb-name to be uniquely identified.
+        
+        Examples:
+        
+        <ejb-link>EmployeeRecord</ejb-link>
+        
+        <ejb-link>../products/product.jar#ProductEJB</ejb-link>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-local-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The ejb-local-refType is used by ejb-local-ref elements for
+        the declaration of a reference to an enterprise bean's local
+        home or to the local business interface of a 3.0 bean.
+        The declaration consists of:
+        
+        - an optional description
+        - the enterprise bean's reference name used in the code of the 
+        Deployment Component that's referencing the enterprise bean.
+        - the optional expected type of the referenced enterprise bean
+        - the optional expected local interface of the referenced 
+        enterprise bean or the local business interface of the 
+        referenced enterprise bean.
+        - the optional expected local home interface of the referenced 
+        enterprise bean. Not applicable if this ejb-local-ref refers
+        to the local business interface of a 3.0 bean.
+        - optional ejb-link information, used to specify the 
+        referenced enterprise bean
+        - optional elements to define injection of the named enterprise  
+        bean into a component field or property.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref-name" type="jakartaee:ejb-ref-nameType"/>
+      <xsd:element name="ejb-ref-type" type="jakartaee:ejb-ref-typeType" minOccurs="0"/>
+      <xsd:element name="local-home" type="jakartaee:local-homeType" minOccurs="0"/>
+      <xsd:element name="local" type="jakartaee:localType" minOccurs="0"/>
+      <xsd:element name="ejb-link" type="jakartaee:ejb-linkType" minOccurs="0"/>
+      <xsd:group ref="jakartaee:resourceGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-ref-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The ejb-ref-name element contains the name of an enterprise bean reference. 
+        The enterprise bean reference is an entry in the Deployment Component's 
+        environment and is relative to the java:comp/env context.  The name must 
+        be unique within the Deployment Component.
+        
+        It is recommended that name is prefixed with "ejb/".
+        
+        Example:
+        
+        <ejb-ref-name>ejb/Payroll</ejb-ref-name>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:jndi-nameType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The ejb-refType is used by ejb-ref elements for the
+        declaration of a reference to an enterprise bean's home or
+        to the remote business interface of a 3.0 bean.  
+        The declaration consists of:
+        
+        - an optional description
+        - the enterprise bean's reference name used in the code of
+        the Deployment Component that's referencing the enterprise
+        bean. 
+        - the optional expected type of the referenced enterprise bean
+        - the optional remote interface of the referenced enterprise bean
+        or the remote business interface of the referenced enterprise 
+        bean
+        - the optional expected home interface of the referenced 
+        enterprise bean.  Not applicable if this ejb-ref
+        refers to the remote business interface of a 3.0 bean.
+        - optional ejb-link information, used to specify the
+        referenced enterprise bean
+        - optional elements to define injection of the named enterprise
+        bean into a component field or property
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref-name" type="jakartaee:ejb-ref-nameType"/>
+      <xsd:element name="ejb-ref-type" type="jakartaee:ejb-ref-typeType" minOccurs="0"/>
+      <xsd:element name="home" type="jakartaee:homeType" minOccurs="0"/>
+      <xsd:element name="remote" type="jakartaee:remoteType" minOccurs="0"/>
+      <xsd:element name="ejb-link" type="jakartaee:ejb-linkType" minOccurs="0"/>
+      <xsd:group ref="jakartaee:resourceGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-ref-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The ejb-ref-typeType contains the expected type of the
+        referenced enterprise bean.
+        
+        The ejb-ref-type designates a value
+        that must be one of the following:
+        
+        Entity
+        Session
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="Entity"/>
+        <xsd:enumeration value="Session"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="emptyType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type is used to designate an empty
+        element when used. 
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="env-entryType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The env-entryType is used to declare an application's
+        environment entry. The declaration consists of an optional
+        description, the name of the environment entry, a type
+        (optional if the value is injected, otherwise required), and
+        an optional value.
+        
+        It also includes optional elements to define injection of
+        the named resource into fields or JavaBeans properties.
+        
+        If a value is not specified and injection is requested,
+        no injection will occur and no entry of the specified name
+        will be created.  This allows an initial value to be
+        specified in the source code without being incorrectly
+        changed when no override has been specified.
+        
+        If a value is not specified and no injection is requested,
+        a value must be supplied during deployment. 
+        
+        This type is used by env-entry elements.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="env-entry-name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+            <![CDATA[
+            The env-entry-name element contains the name of a
+            Deployment Component's environment entry.  The name
+            is a JNDI name relative to the java:comp/env
+            context.  The name must be unique within a 
+            Deployment Component. The uniqueness
+            constraints must be defined within the declared
+            context.
+            
+            Example:
+            
+            <env-entry-name>minAmount</env-entry-name>
+            
+            ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="env-entry-type" type="jakartaee:env-entry-type-valuesType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+            <![CDATA[
+            The env-entry-type element contains the Java language
+            type of the environment entry.  If an injection target
+            is specified for the environment entry, the type may
+            be omitted, or must match the type of the injection
+            target.  If no injection target is specified, the type
+            is required.
+            
+            Example:
+            
+            <env-entry-type>java.lang.Integer</env-entry-type>
+            
+            ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="env-entry-value" type="jakartaee:xsdStringType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+            <![CDATA[
+            The env-entry-value designates the value of a
+            Deployment Component's environment entry. The value
+            must be a String that is valid for the
+            constructor of the specified type that takes a
+            single String parameter, or for java.lang.Character,
+            a single character.
+            
+            Example:
+            
+            <env-entry-value>100.00</env-entry-value>
+            
+            ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:group ref="jakartaee:resourceGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="env-entry-type-valuesType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        This type contains the fully-qualified Java type of the
+        environment entry value that is expected by the
+        application's code.
+        
+        The following are the legal values of env-entry-type-valuesType:
+        
+        java.lang.Boolean
+        java.lang.Byte
+        java.lang.Character
+        java.lang.String
+        java.lang.Short
+        java.lang.Integer
+        java.lang.Long
+        java.lang.Float
+        java.lang.Double
+        		  java.lang.Class
+        		  any enumeration type (i.e. a subclass of java.lang.Enum)
+        
+        Examples:
+        
+        <env-entry-type>java.lang.Boolean</env-entry-type>
+        <env-entry-type>java.lang.Class</env-entry-type>
+        <env-entry-type>com.example.Color</env-entry-type>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="fully-qualified-classType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The elements that use this type designate the name of a
+        Java class or interface.  The name is in the form of a
+        "binary name", as defined in the JLS.  This is the form
+        of name used in Class.forName().  Tools that need the
+        canonical name (the name used in source code) will need
+        to convert this binary name to the canonical name.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="generic-booleanType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type defines four different values which can designate
+        boolean values. This includes values yes and no which are 
+        not designated by xsd:boolean
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="true"/>
+        <xsd:enumeration value="false"/>
+        <xsd:enumeration value="yes"/>
+        <xsd:enumeration value="no"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="iconType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The icon type contains small-icon and large-icon elements
+        that specify the file names for small and large GIF, JPEG,
+        or PNG icon images used to represent the parent element in a
+        GUI tool. 
+        
+        The xml:lang attribute defines the language that the
+        icon file names are provided in. Its value is "en" (English)
+        by default. 
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="small-icon" type="jakartaee:pathType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+            <![CDATA[
+            The small-icon element contains the name of a file
+            containing a small (16 x 16) icon image. The file
+            name is a relative path within the Deployment
+            Component's Deployment File.
+            
+            The image may be in the GIF, JPEG, or PNG format.
+            The icon can be used by tools.
+            
+            Example:
+            
+            <small-icon>employee-service-icon16x16.jpg</small-icon>
+            
+            ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="large-icon" type="jakartaee:pathType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+            <![CDATA[
+            The large-icon element contains the name of a file
+            containing a large
+            (32 x 32) icon image. The file name is a relative 
+            path within the Deployment Component's Deployment
+            File.
+            
+            The image may be in the GIF, JPEG, or PNG format.
+            The icon can be used by tools.
+            
+            Example:
+            
+            <large-icon>employee-service-icon32x32.jpg</large-icon>
+            
+            ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute ref="xml:lang"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="injection-targetType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        An injection target specifies a class and a name within
+        that class into which a resource should be injected.
+        
+        The injection target class specifies the fully qualified
+        class name that is the target of the injection.  The
+        Jakarta EE specifications describe which classes can be an
+        injection target.
+        
+        The injection target name specifies the target within
+        the specified class.  The target is first looked for as a
+        JavaBeans property name.  If not found, the target is
+        looked for as a field name.
+        
+        The specified resource will be injected into the target
+        during initialization of the class by either calling the
+        set method for the target property or by setting a value
+        into the named field.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="injection-target-class" type="jakartaee:fully-qualified-classType"/>
+      <xsd:element name="injection-target-name" type="jakartaee:java-identifierType"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:simpleType name="isolation-levelType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        	The following transaction isolation levels are allowed
+        	(see documentation for the java.sql.Connection interface):
+        TRANSACTION_READ_UNCOMMITTED
+        TRANSACTION_READ_COMMITTED
+        TRANSACTION_REPEATABLE_READ
+        TRANSACTION_SERIALIZABLE
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="TRANSACTION_READ_UNCOMMITTED"/>
+      <xsd:enumeration value="TRANSACTION_READ_COMMITTED"/>
+      <xsd:enumeration value="TRANSACTION_REPEATABLE_READ"/>
+      <xsd:enumeration value="TRANSACTION_SERIALIZABLE"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="java-identifierType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The java-identifierType defines a Java identifier.
+        The users of this type should further verify that 
+        the content does not contain Java reserved keywords.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="java-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This is a generic type that designates a Java primitive
+        type or a fully qualified name of a Java interface/type,
+        or an array of such types.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:pattern value="[^\p{Z}]*"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jdbc-urlType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The jdbc-urlType contains the url pattern of the mapping.
+        It must follow the rules specified in Section 9.3 of the
+        JDBC Specification where the format is:
+        
+        jdbc:<subprotocol>:<subname>
+        
+        Example:
+        
+        <url>jdbc:mysql://localhost:3307/testdb</url>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:pattern value="jdbc:(.*):(.*)"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jms-connection-factoryType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Configuration of a Messaging Connection Factory.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Description of this Messaging Connection Factory.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The name element specifies the JNDI name of the
+            messaging connection factory being defined.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="interface-name" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Fully-qualified name of the messaging connection factory
+            interface.  Permitted values are jakarta.jms.ConnectionFactory,
+            jakarta.jms.QueueConnectionFactory, or 
+            jakarta.jms.TopicConnectionFactory.  If not specified,
+            jakarta.jms.ConnectionFactory will be used.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="class-name" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Fully-qualified name of the messaging connection factory 
+            implementation class.  Ignored if a resource adapter  
+            is used.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-adapter" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Resource adapter name.  If not specified, the application
+            server will define the default behavior, which may or may
+            not involve the use of a resource adapter.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="user" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            User name to use for connection authentication.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="password" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Password to use for connection authentication.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="client-id" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Client id to use for connection.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property" type="jakartaee:propertyType" minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Messaging Connection Factory property.  This may be a vendor-specific
+            property or a less commonly used ConnectionFactory property.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="transactional" type="jakartaee:xsdBooleanType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Set to false if connections should not participate in
+            transactions.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="max-pool-size" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Maximum number of connections that should be concurrently
+            allocated for a connection pool.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="min-pool-size" type="jakartaee:xsdIntegerType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Minimum number of connections that should be concurrently
+            allocated for a connection pool.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jms-destinationType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Configuration of a Messaging Destination.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Description of this Messaging Destination.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The name element specifies the JNDI name of the
+            messaging destination being defined.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="interface-name" type="jakartaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Fully-qualified name of the messaging destination interface.
+            Permitted values are jakarta.jms.Queue and jakarta.jms.Topic
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="class-name" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Fully-qualified name of the messaging destination implementation
+            class.  Ignored if a resource adapter is used unless the
+            resource adapter defines more than one destination implementation
+            class for the specified interface.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-adapter" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Resource adapter name.  If not specified, the application
+            server will define the default behavior, which may or may
+            not involve the use of a resource adapter.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="destination-name" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Name of the queue or topic.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property" type="jakartaee:propertyType" minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Messaging Destination property.  This may be a vendor-specific
+            property or a less commonly used Destination property.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jndi-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The jndi-nameType type designates a JNDI name in the
+        Deployment Component's environment and is relative to the
+        java:comp/env context.  A JNDI name must be unique within the
+        Deployment Component.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="homeType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The homeType defines the fully-qualified name of
+        an enterprise bean's home interface. 
+        
+        Example:
+        
+        <home>com.aardvark.payroll.PayrollHome</home>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="lifecycle-callbackType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The lifecycle-callback type specifies a method on a
+        class to be called when a lifecycle event occurs.
+        Note that each class may have only one lifecycle callback
+        method for any given event and that the method may not
+        be overloaded.
+        
+        If the lifefycle-callback-class element is missing then
+        the class defining the callback is assumed to be the
+        component class in scope at the place in the descriptor
+        in which the callback definition appears.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="lifecycle-callback-class" type="jakartaee:fully-qualified-classType" minOccurs="0"/>
+      <xsd:element name="lifecycle-callback-method" type="jakartaee:java-identifierType"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="listenerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The listenerType indicates the deployment properties for a web
+        application listener bean.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="jakartaee:descriptionGroup"/>
+      <xsd:element name="listener-class" type="jakartaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The listener-class element declares a class in the
+            application must be registered as a web
+            application listener bean. The value is the fully
+            qualified classname of the listener class.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="localType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The localType defines the fully-qualified name of an
+        enterprise bean's local interface.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="local-homeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The local-homeType defines the fully-qualified
+        name of an enterprise bean's local home interface.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="mail-sessionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Configuration of a Mail Session resource.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Description of this Mail Session resource.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The name element specifies the JNDI name of the
+            Mail Session resource being defined.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="store-protocol" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Storage protocol.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="store-protocol-class" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Service provider store protocol implementation class
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="transport-protocol" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Transport protocol.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="transport-protocol-class" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Service provider transport protocol implementation class
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="host" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Mail server host name.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="user" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Mail server user name.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="password" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Password.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="from" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Email address to indicate the message sender.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property" type="jakartaee:propertyType" minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Mail server property.  This may be a vendor-specific
+            property.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="param-valueType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type is a general type that can be used to declare
+        parameter/value lists.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="param-name" type="jakartaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The param-name element contains the name of a
+            parameter.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="param-value" type="jakartaee:xsdStringType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The param-value element contains the value of a
+            parameter.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="pathType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The elements that use this type designate either a relative
+        path or an absolute path starting with a "/".
+        
+        In elements that specify a pathname to a file within the
+        same Deployment File, relative filenames (i.e., those not
+        starting with "/") are considered relative to the root of
+        the Deployment File's namespace.  Absolute filenames (i.e.,
+        those starting with "/") also specify names in the root of
+        the Deployment File's namespace.  In general, relative names
+        are preferred.  The exception is .war files where absolute
+        names are preferred for consistency with the Servlet API.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="persistence-context-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The persistence-context-ref element contains a declaration
+        of Deployment Component's reference to a persistence context
+        associated within a Deployment Component's
+        environment. It consists of:
+        
+        - an optional description
+        - the persistence context reference name
+        - an optional persistence unit name.  If not specified,
+        the default persistence unit is assumed.
+        - an optional specification as to whether
+        the persistence context type is Transaction or
+        Extended.  If not specified, Transaction is assumed.
+        - an optional specification as to whether
+        the persistence context synchronization with the current
+        transaction is Synchronized or Unsynchronized. If not
+        specified, Synchronized is assumed.
+        - an optional list of persistence properties
+        - optional injection targets
+        
+        Examples:
+        
+        <persistence-context-ref>
+        <persistence-context-ref-name>myPersistenceContext
+        </persistence-context-ref-name>
+        </persistence-context-ref>
+        
+        <persistence-context-ref>
+        <persistence-context-ref-name>myPersistenceContext
+        </persistence-context-ref-name>
+        <persistence-unit-name>PersistenceUnit1
+        </persistence-unit-name>
+        <persistence-context-type>Extended</persistence-context-type>
+        </persistence-context-ref>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="persistence-context-ref-name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The persistence-context-ref-name element specifies
+            the name of a persistence context reference; its
+            value is the environment entry name used in
+            Deployment Component code.  The name is a JNDI name
+            relative to the java:comp/env context.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="persistence-unit-name" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The Application Assembler(or BeanProvider) may use the
+            following syntax to avoid the need to rename persistence
+            units to have unique names within a Jakarta EE application.
+            
+            The Application Assembler specifies the pathname of the
+            root of the persistence.xml file for the referenced
+            persistence unit and appends the name of the persistence
+            unit separated from the pathname by #. The pathname is
+            relative to the referencing application component jar file. 
+            In this manner, multiple persistence units with the same
+            persistence unit name may be uniquely identified when the 
+            Application Assembler cannot change persistence unit names.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="persistence-context-type" type="jakartaee:persistence-context-typeType" minOccurs="0"/>
+      <xsd:element name="persistence-context-synchronization" type="jakartaee:persistence-context-synchronizationType" minOccurs="0"/>
+      <xsd:element name="persistence-property" type="jakartaee:propertyType" minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Used to specify properties for the container or persistence
+            provider.  Vendor-specific properties may be included in
+            the set of properties.  Properties that are not recognized
+            by a vendor must be ignored.  Entries that make use of the 
+            namespace jakarta.persistence and its subnamespaces must not
+            be used for vendor-specific properties.  The namespace
+            jakarta.persistence is reserved for use by the specification.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:group ref="jakartaee:resourceBaseGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="persistence-context-synchronizationType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The persistence-context-synchronizationType specifies 
+        whether a container-managed persistence context is automatically
+        synchronized with the current transaction.
+        
+        The value of the persistence-context-synchronization element 
+        must be one of the following:
+        Synchronized
+        Unsynchronized
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="Synchronized"/>
+        <xsd:enumeration value="Unsynchronized"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="persistence-context-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The persistence-context-typeType specifies the transactional
+        nature of a persistence context reference.  
+        
+        The value of the persistence-context-type element must be
+        one of the following:
+        Transaction
+        Extended
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="Transaction"/>
+        <xsd:enumeration value="Extended"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="propertyType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Specifies a name/value pair.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name" type="jakartaee:xsdStringType">
+      </xsd:element>
+      <xsd:element name="value" type="jakartaee:xsdStringType">
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="persistence-unit-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The persistence-unit-ref element contains a declaration
+        of Deployment Component's reference to a persistence unit
+        associated within a Deployment Component's
+        environment. It consists of:
+        
+        - an optional description
+        - the persistence unit reference name
+        - an optional persistence unit name.  If not specified,
+        the default persistence unit is assumed.
+        - optional injection targets
+        
+        Examples:
+        
+        <persistence-unit-ref>
+        <persistence-unit-ref-name>myPersistenceUnit
+        </persistence-unit-ref-name>
+        </persistence-unit-ref>
+        
+        <persistence-unit-ref>
+        <persistence-unit-ref-name>myPersistenceUnit
+        </persistence-unit-ref-name>
+        <persistence-unit-name>PersistenceUnit1
+        </persistence-unit-name>
+        </persistence-unit-ref>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="persistence-unit-ref-name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The persistence-unit-ref-name element specifies
+            the name of a persistence unit reference; its
+            value is the environment entry name used in
+            Deployment Component code.  The name is a JNDI name
+            relative to the java:comp/env context.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="persistence-unit-name" type="jakartaee:string" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The Application Assembler(or BeanProvider) may use the
+            following syntax to avoid the need to rename persistence
+            units to have unique names within a Jakarta EE application.
+            
+            The Application Assembler specifies the pathname of the
+            root of the persistence.xml file for the referenced
+            persistence unit and appends the name of the persistence
+            unit separated from the pathname by #. The pathname is
+            relative to the referencing application component jar file. 
+            In this manner, multiple persistence units with the same
+            persistence unit name may be uniquely identified when the 
+            Application Assembler cannot change persistence unit names.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:group ref="jakartaee:resourceBaseGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="remoteType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The remote element contains the fully-qualified name
+        of the enterprise bean's remote interface.
+        
+        Example:
+        
+        <remote>com.wombat.empl.EmployeeService</remote>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="resource-env-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The resource-env-refType is used to define
+        resource-env-ref elements.  It contains a declaration of a
+        Deployment Component's reference to an administered object
+        associated with a resource in the Deployment Component's
+        environment.  It consists of an optional description, the
+        resource environment reference name, and an optional
+        indication of the resource environment reference type
+        expected by the Deployment Component code.
+        
+        It also includes optional elements to define injection of
+        the named resource into fields or JavaBeans properties.
+        
+        The resource environment type must be supplied unless an
+        injection target is specified, in which case the type
+        of the target is used.  If both are specified, the type
+        must be assignment compatible with the type of the injection
+        target.
+        
+        Example:
+        
+        <resource-env-ref>
+        <resource-env-ref-name>jms/StockQueue
+        </resource-env-ref-name>
+        <resource-env-ref-type>jakarta.jms.Queue
+        </resource-env-ref-type>
+        </resource-env-ref>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="resource-env-ref-name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The resource-env-ref-name element specifies the name
+            of a resource environment reference; its value is
+            the environment entry name used in
+            the Deployment Component code.  The name is a JNDI 
+            name relative to the java:comp/env context and must 
+            be unique within a Deployment Component.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-env-ref-type" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The resource-env-ref-type element specifies the type
+            of a resource environment reference.  It is the
+            fully qualified name of a Java language class or
+            interface.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:group ref="jakartaee:resourceGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="resource-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The resource-refType contains a declaration of a
+        Deployment Component's reference to an external resource. It
+        consists of an optional description, the resource manager
+        connection factory reference name, an optional indication of
+        the resource manager connection factory type expected by the
+        Deployment Component code, an optional type of authentication
+        (Application or Container), and an optional specification of
+        the shareability of connections obtained from the resource
+        (Shareable or Unshareable).
+        
+        It also includes optional elements to define injection of
+        the named resource into fields or JavaBeans properties.
+        
+        The connection factory type must be supplied unless an
+        injection target is specified, in which case the type
+        of the target is used.  If both are specified, the type
+        must be assignment compatible with the type of the injection
+        target.
+        
+        Example:
+        
+        <resource-ref>
+        <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
+        <res-type>javax.sql.DataSource</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+        </resource-ref>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="res-ref-name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The res-ref-name element specifies the name of a
+            resource manager connection factory reference.
+            The name is a JNDI name relative to the
+            java:comp/env context.  
+            The name must be unique within a Deployment File. 
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="res-type" type="jakartaee:fully-qualified-classType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The res-type element specifies the type of the data
+            source. The type is specified by the fully qualified
+            Java language class or interface
+            expected to be implemented by the data source.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="res-auth" type="jakartaee:res-authType" minOccurs="0"/>
+      <xsd:element name="res-sharing-scope" type="jakartaee:res-sharing-scopeType" minOccurs="0"/>
+      <xsd:group ref="jakartaee:resourceGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="res-authType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The res-authType specifies whether the Deployment Component
+        code signs on programmatically to the resource manager, or
+        whether the Container will sign on to the resource manager
+        on behalf of the Deployment Component. In the latter case,
+        the Container uses information that is supplied by the
+        Deployer.
+        
+        The value must be one of the two following:
+        
+        Application
+        Container
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="Application"/>
+        <xsd:enumeration value="Container"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="res-sharing-scopeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The res-sharing-scope type specifies whether connections
+        obtained through the given resource manager connection
+        factory reference can be shared. The value, if specified,
+        must be one of the two following:
+        
+        Shareable
+        Unshareable
+        
+        The default value is Shareable.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="Shareable"/>
+        <xsd:enumeration value="Unshareable"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="run-asType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The run-asType specifies the run-as identity to be
+        used for the execution of a component. It contains an 
+        optional description, and the name of a security role.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="role-name" type="jakartaee:role-nameType"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="role-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The role-nameType designates the name of a security role.
+        
+        The name must conform to the lexical rules for a token.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="security-roleType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The security-roleType contains the definition of a security
+        role. The definition consists of an optional description of
+        the security role, and the security role name.
+        
+        Example:
+        
+        <security-role>
+        <description>
+        This role includes all employees who are authorized
+        to access the employee service application.
+        </description>
+        <role-name>employee</role-name>
+        </security-role>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="role-name" type="jakartaee:role-nameType"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="security-role-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The security-role-refType contains the declaration of a
+        security role reference in a component's or a
+        Deployment Component's code. The declaration consists of an
+        optional description, the security role name used in the
+        code, and an optional link to a security role. If the
+        security role is not specified, the Deployer must choose an
+        appropriate security role.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="role-name" type="jakartaee:role-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The value of the role-name element must be the String used
+            as the parameter to the 
+            EJBContext.isCallerInRole(String roleName) method or the
+            HttpServletRequest.isUserInRole(String role) method.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="role-link" type="jakartaee:role-nameType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The role-link element is a reference to a defined
+            security role. The role-link element must contain
+            the name of one of the security roles defined in the
+            security-role elements.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdQNameType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:QName.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:QName">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdBooleanType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:boolean.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:boolean">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdNMTOKENType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:NMTOKEN.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:NMTOKEN">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdAnyURIType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:anyURI.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:anyURI">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdIntegerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:integer.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:integer">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdPositiveIntegerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:positiveInteger.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:positiveInteger">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdNonNegativeIntegerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:nonNegativeInteger.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:nonNegativeInteger">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdStringType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type adds an "id" attribute to xsd:string.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="string">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This is a special string datatype that is defined by Jakarta EE as
+        a base type for defining collapsed strings. When schemas
+        require trailing/leading space elimination as well as
+        collapsing the existing whitespace, this base type may be
+        used.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:token">
+        <xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="true-falseType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This simple type designates a boolean with only two
+        permissible values
+        
+        - true
+        - false
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:xsdBooleanType">
+        <xsd:pattern value="(true|false)"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="url-patternType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The url-patternType contains the url pattern of the mapping.
+        It must follow the rules specified in Section 11.2 of the
+        Servlet API Specification. This pattern is assumed to be in
+        URL-decoded form and must not contain CR(#xD) or LF(#xA).
+        If it contains those characters, the container must inform
+        the developer with a descriptive error message.
+        The container must preserve all characters including whitespaces.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destinationType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The message-destinationType specifies a message
+        destination. The logical destination described by this
+        element is mapped to a physical destination by the Deployer.
+        
+        The message destination element contains: 
+        
+        - an optional description
+        - an optional display-name
+        - an optional icon
+        - a message destination name which must be unique
+        among message destination names within the same 
+        Deployment File. 
+        - an optional mapped name
+        - an optional lookup name
+        
+        Example: 
+        
+        <message-destination>
+        <message-destination-name>CorporateStocks
+        </message-destination-name>
+        </message-destination>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="jakartaee:descriptionGroup"/>
+      <xsd:element name="message-destination-name" type="jakartaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The message-destination-name element specifies a
+            name for a message destination.  This name must be
+            unique among the names of message destinations
+            within the Deployment File.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="mapped-name" type="jakartaee:xsdStringType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            A product specific name that this message destination
+            should be mapped to.  Each message-destination-ref
+            element that references this message destination will
+            define a name in the namespace of the referencing
+            component or in one of the other predefined namespaces. 
+            Many application servers provide a way to map these
+            local names to names of resources known to the
+            application server.  This mapped name is often a global
+            JNDI name, but may be a name of any form.  Each of the
+            local names should be mapped to this same global name.
+            
+            Application servers are not required to support any
+            particular form or type of mapped name, nor the ability
+            to use mapped names.  The mapped name is
+            product-dependent and often installation-dependent.  No
+            use of a mapped name is portable.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="lookup-name" type="jakartaee:xsdStringType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The JNDI name to be looked up to resolve the message destination.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The message-destination-ref element contains a declaration
+        of Deployment Component's reference to a message destination
+        associated with a resource in Deployment Component's
+        environment. It consists of:
+        
+        - an optional description
+        - the message destination reference name
+        - an optional message destination type
+        - an optional specification as to whether
+        the destination is used for 
+        consuming or producing messages, or both.
+        if not specified, "both" is assumed.
+        - an optional link to the message destination
+        - optional injection targets
+        
+        The message destination type must be supplied unless an
+        injection target is specified, in which case the type
+        of the target is used.  If both are specified, the type
+        must be assignment compatible with the type of the injection
+        target.
+        
+        Examples:
+        
+        <message-destination-ref>
+        <message-destination-ref-name>jms/StockQueue
+        </message-destination-ref-name>
+        <message-destination-type>jakarta.jms.Queue
+        </message-destination-type>
+        <message-destination-usage>Consumes
+        </message-destination-usage>
+        <message-destination-link>CorporateStocks
+        </message-destination-link>
+        </message-destination-ref>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description" type="jakartaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="message-destination-ref-name" type="jakartaee:jndi-nameType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The message-destination-ref-name element specifies
+            the name of a message destination reference; its
+            value is the environment entry name used in
+            Deployment Component code.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="message-destination-type" type="jakartaee:message-destination-typeType" minOccurs="0"/>
+      <xsd:element name="message-destination-usage" type="jakartaee:message-destination-usageType" minOccurs="0"/>
+      <xsd:element name="message-destination-link" type="jakartaee:message-destination-linkType" minOccurs="0"/>
+      <xsd:group ref="jakartaee:resourceGroup"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-usageType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The message-destination-usageType specifies the use of the
+        message destination indicated by the reference.  The value
+        indicates whether messages are consumed from the message
+        destination, produced for the destination, or both.  The
+        Assembler makes use of this information in linking producers
+        of a destination with its consumers.
+        
+        The value of the message-destination-usage element must be
+        one of the following:
+        Consumes
+        Produces
+        ConsumesProduces
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="Consumes"/>
+        <xsd:enumeration value="Produces"/>
+        <xsd:enumeration value="ConsumesProduces"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[
+        The message-destination-typeType specifies the type of
+        the destination. The type is specified by the Java interface
+        expected to be implemented by the destination.
+        
+        Example: 
+        
+        <message-destination-type>jakarta.jms.Queue
+        </message-destination-type>
+        
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-linkType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The message-destination-linkType is used to link a message
+        destination reference or message-driven bean to a message
+        destination.
+        
+        The Assembler sets the value to reflect the flow of messages
+        between producers and consumers in the application.
+        
+        The value must be the message-destination-name of a message
+        destination in the same Deployment File or in another
+        Deployment File in the same Jakarta EE application unit.
+        
+        Alternatively, the value may be composed of a path name
+        specifying a Deployment File containing the referenced
+        message destination with the message-destination-name of the
+        destination appended and separated from the path name by
+        "#". The path name is relative to the Deployment File
+        containing Deployment Component that is referencing the
+        message destination.  This allows multiple message
+        destinations with the same name to be uniquely identified.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="transaction-supportType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The transaction-supportType specifies the level of
+        transaction support provided by the resource adapter. It is
+        used by transaction-support elements.
+        
+        The value must be one of the following:
+        
+        NoTransaction
+        LocalTransaction
+        XATransaction
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="jakartaee:string">
+        <xsd:enumeration value="NoTransaction"/>
+        <xsd:enumeration value="LocalTransaction"/>
+        <xsd:enumeration value="XATransaction"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/permissions_10.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/permissions_10.xsd
new file mode 100644
index 0000000..fdb3c9d
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/permissions_10.xsd
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+            xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="10">
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved.
+      
+      This program and the accompanying materials are made available under the
+      terms of the Eclipse Public License v. 2.0, which is available at
+      http://www.eclipse.org/legal/epl-2.0.
+      
+      This Source Code may also be made available under the following Secondary
+      Licenses when the conditions for such availability set forth in the
+      Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+      version 2 with the GNU Classpath Exception, which is available at
+      https://www.gnu.org/software/classpath/license.html.
+      
+      SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+      This is the XML Schema for the application or module declared permissions 10.
+      The declared permissions file must be named "META-INF/permissions.xml" in the
+      application's ear file, or in a module's META-INF/permissions.xml if
+      the module is deployed standalone.  All declared permissions must indicate
+      the declared permissions schema by using the Jakarta EE namespace:
+      
+      https://jakarta.ee/xml/ns/jakartaee
+      
+      and indicate the version of the schema by
+      using the version element as shown below:
+      
+      <permissions xmlns="https://jakarta.ee/xml/ns/jakartaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee 
+      	https://jakarta.ee/xml/ns/jakartaee/permissions_10.xsd"
+      version="10">
+      ...
+      </permisssions>
+      
+      The instance documents may indicate the published version of
+      the schema using the xsi:schemaLocation attribute for Jakarta EE
+      namespace with the following location:
+      
+      https://jakarta.ee/xml/ns/jakartaee/permissions_10.xsd
+      
+      ]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following conventions apply to all Jakarta EE
+      deployment descriptor elements unless indicated otherwise.
+      
+      - In elements that specify a pathname to a file within the
+      same JAR file, relative filenames (i.e., those not
+      starting with "/") are considered relative to the root of
+      the JAR file's namespace.  Absolute filenames (i.e., those
+      starting with "/") also specify names in the root of the
+      JAR file's namespace.  In general, relative names are
+      preferred.  The exception is .war files where absolute
+      names are preferred for consistency with the Servlet API.
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="jakartaee_10.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="permissions">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The permissions element is the root element in a
+        declared permissions file. The declared permissions file
+        declares the code based permissions granted to classes and libraries 
+        packaged in the application archive, or in a module if the module is
+        deployed standalone.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+
+<!-- **************************************************** -->
+
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element name="permission"
+                     maxOccurs="unbounded"
+                     minOccurs="0">
+          <xsd:annotation>
+            <xsd:documentation>
+
+              Each permission element declares a permission.  If no permission
+              elements are declared, the application or module needs no special
+              permissions, and the Jakarta EE product may deploy it with no
+              permissions beyond those necessary for the operation of the
+              container.
+              
+              For details on the definition of the 'name' and 'actions'
+              elements, refer to the Java API documentation for the class
+              java.security.Permission, and its derived classes.
+              
+            </xsd:documentation>
+          </xsd:annotation>
+
+<!-- **************************************************** -->
+
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element type="jakartaee:fully-qualified-classType"
+                           name="class-name"/>
+              <xsd:element type="jakartaee:string"
+                           name="name"
+                           minOccurs="0"/>
+              <xsd:element type="jakartaee:string"
+                           name="actions"
+                           minOccurs="0"/>
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+      </xsd:sequence>
+      <xsd:attribute name="version"
+                     type="jakartaee:dewey-versionType"
+                     fixed="10"
+                     use="required">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The required value for the version is 10.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:attribute>
+    </xsd:complexType>
+  </xsd:element>
+
+</xsd:schema>
diff --git a/appserver/distributions/glassfish-common/pom.xml b/appserver/distributions/glassfish-common/pom.xml
index 5aadcff..781b7f8 100644
--- a/appserver/distributions/glassfish-common/pom.xml
+++ b/appserver/distributions/glassfish-common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.distributions</groupId>
         <artifactId>distributions</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-common</artifactId>
diff --git a/appserver/distributions/glassfish-common/src/main/resources/README.txt b/appserver/distributions/glassfish-common/src/main/resources/README.txt
index cdffcbc..6a6e479 100644
--- a/appserver/distributions/glassfish-common/src/main/resources/README.txt
+++ b/appserver/distributions/glassfish-common/src/main/resources/README.txt
@@ -24,8 +24,8 @@
 The 'asadmin' command-line utility is used to control and manage GlassFish (start, stop, configure, deploy applications, etc).
 
 To start GlassFish, just go in the directory where GlassFish is located and type:
-        On Unix: glassfish6/glassfish/bin/asadmin start-domain
-        On Windows: glassfish6\glassfish\bin\asadmin start-domain
+        On Unix: glassfish7/glassfish/bin/asadmin start-domain
+        On Windows: glassfish7\glassfish\bin\asadmin start-domain
 
 After a few seconds, GlassFish will be up and ready to accept requests. The default 'domain1' domain is configured to listen on port 8080. In your browser, go to http://localhost:8080 to see the default landing page.
 
@@ -36,14 +36,14 @@
 =====================
 
 To stop GlassFish, just issue the following command :
-        On Unix: glassfish6/glassfish/bin/asadmin stop-domain
-        On Windows: glassfish6\glassfish\bin\asadmin stop-domain
+        On Unix: glassfish7/glassfish/bin/asadmin stop-domain
+        On Windows: glassfish7\glassfish\bin\asadmin stop-domain
 
 
 4. Where to go next?
 ====================
 
-Open the following local file in your browser: glassfish6/glassfish/docs/quickstart.html. It contains useful information such as the details about the pre-configured 'domain1', links to the GlassFish Documentation, etc.
+Open the following local file in your browser: glassfish7/glassfish/docs/quickstart.html. It contains useful information such as the details about the pre-configured 'domain1', links to the GlassFish Documentation, etc.
 
 Make sure to also check the GlassFish ${project.version} Documentation contains important information : https://glassfish.org/docs/#current
 
diff --git a/appserver/distributions/glassfish/pom.xml b/appserver/distributions/glassfish/pom.xml
index 08cc6ea..77f1dcf 100644
--- a/appserver/distributions/glassfish/pom.xml
+++ b/appserver/distributions/glassfish/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021, 2022 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,13 +24,18 @@
     <parent>
         <groupId>org.glassfish.main.distributions</groupId>
         <artifactId>distributions</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish</artifactId>
     <packaging>glassfish-distribution</packaging>
 
-    <name>Glassfish Distribution</name>
+    <name>Glassfish Full Profile Distribution</name>
+
+    <properties>
+        <glassfish.modules>${project.build.directory}/stage/glassfish7/glassfish/modules</glassfish.modules>
+        <patches>${basedir}/src/main/patches</patches>
+    </properties>
 
     <dependencies>
         <dependency>
diff --git a/appserver/distributions/pom.xml b/appserver/distributions/pom.xml
index 4ed16a1..85cbe1d 100644
--- a/appserver/distributions/pom.xml
+++ b/appserver/distributions/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.distributions</groupId>
diff --git a/appserver/distributions/web/pom.xml b/appserver/distributions/web/pom.xml
index f3f39c7..8e3edc4 100644
--- a/appserver/distributions/web/pom.xml
+++ b/appserver/distributions/web/pom.xml
@@ -23,13 +23,18 @@
     <parent>
         <groupId>org.glassfish.main.distributions</groupId>
         <artifactId>distributions</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>web</artifactId>
     <packaging>glassfish-distribution</packaging>
 
-    <name>Glassfish Web Distribution</name>
+    <name>Glassfish Web Profile Distribution</name>
+
+    <properties>
+        <glassfish.modules>${project.build.directory}/stage/glassfish7/glassfish/modules</glassfish.modules>
+        <patches>${basedir}/src/main/patches</patches>
+    </properties>
 
     <dependencies>
         <dependency>
@@ -59,7 +64,6 @@
             <optional>true</optional>
         </dependency>
 
-        <!-- following dependencies are needed to run tests... -->
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
diff --git a/appserver/ejb/ejb-all/pom.xml b/appserver/ejb/ejb-all/pom.xml
index 045dd61..47900b7 100755
--- a/appserver/ejb/ejb-all/pom.xml
+++ b/appserver/ejb/ejb-all/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ejb</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ejb/ejb-client/pom.xml b/appserver/ejb/ejb-client/pom.xml
index 73d0945..33c640b 100755
--- a/appserver/ejb/ejb-client/pom.xml
+++ b/appserver/ejb/ejb-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ejb</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ejb-client</artifactId>
diff --git a/appserver/ejb/ejb-connector/pom.xml b/appserver/ejb/ejb-connector/pom.xml
index b2891d1..f468719 100755
--- a/appserver/ejb/ejb-connector/pom.xml
+++ b/appserver/ejb/ejb-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ejb</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ejb/ejb-container/pom.xml b/appserver/ejb/ejb-container/pom.xml
index 63309d4..bd1d629 100755
--- a/appserver/ejb/ejb-container/pom.xml
+++ b/appserver/ejb/ejb-container/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ejb</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ejb/ejb-full-container/pom.xml b/appserver/ejb/ejb-full-container/pom.xml
index a242e66..7cd0487 100644
--- a/appserver/ejb/ejb-full-container/pom.xml
+++ b/appserver/ejb/ejb-full-container/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ejb</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ejb/ejb-internal-api/pom.xml b/appserver/ejb/ejb-internal-api/pom.xml
index bfd56f9..f84ae03 100755
--- a/appserver/ejb/ejb-internal-api/pom.xml
+++ b/appserver/ejb/ejb-internal-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
        <groupId>org.glassfish.main.ejb</groupId>
        <artifactId>ejb</artifactId>
-       <version>6.2.6-SNAPSHOT</version>
+       <version>7.0.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ejb/ejb-timer-databases/pom.xml b/appserver/ejb/ejb-timer-databases/pom.xml
index 3840550..40d1ead 100644
--- a/appserver/ejb/ejb-timer-databases/pom.xml
+++ b/appserver/ejb/ejb-timer-databases/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.glassfish.main.ejb</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ejb-timer-databases</artifactId>
diff --git a/appserver/ejb/ejb-timer-service-app/pom.xml b/appserver/ejb/ejb-timer-service-app/pom.xml
index e771972..21f1198 100644
--- a/appserver/ejb/ejb-timer-service-app/pom.xml
+++ b/appserver/ejb/ejb-timer-service-app/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ejb</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ejb/pom.xml b/appserver/ejb/pom.xml
index 3daaaec..1fc618b 100755
--- a/appserver/ejb/pom.xml
+++ b/appserver/ejb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.ejb</groupId>
diff --git a/appserver/extras/appserv-rt/dist-frag/pom.xml b/appserver/extras/appserv-rt/dist-frag/pom.xml
index 3d82e9e..a9cb1b9 100644
--- a/appserver/extras/appserv-rt/dist-frag/pom.xml
+++ b/appserver/extras/appserv-rt/dist-frag/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>appserv-rt-pom</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appserv-rt-frag</artifactId>
diff --git a/appserver/extras/appserv-rt/manifest-jar/pom.xml b/appserver/extras/appserv-rt/manifest-jar/pom.xml
index b96a9ca..939ad32 100644
--- a/appserver/extras/appserv-rt/manifest-jar/pom.xml
+++ b/appserver/extras/appserv-rt/manifest-jar/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>appserv-rt-pom</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/appserv-rt/pom.xml b/appserver/extras/appserv-rt/pom.xml
index 554fc17..1483cc9 100644
--- a/appserver/extras/appserv-rt/pom.xml
+++ b/appserver/extras/appserv-rt/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/embedded/all/pom.xml b/appserver/extras/embedded/all/pom.xml
index c3ea234..11bf5cb 100644
--- a/appserver/extras/embedded/all/pom.xml
+++ b/appserver/extras/embedded/all/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -20,19 +21,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
-    <parent>
+   <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <artifactId>glassfish-embedded-all</artifactId>
-    <packaging>jar</packaging>
+   <artifactId>glassfish-embedded-all</artifactId>
+   <packaging>jar</packaging>
 
-    <name>Embedded GlassFish All-In-One</name>
+   <name>Embedded GlassFish All-In-One</name>
 
-    <dependencies>
+   <properties>
+        <artifact-collection.directory>${project.build.directory}/jars</artifact-collection.directory>
+        <rar.directory>${project.build.directory}/rars</rar.directory>
+    </properties>
+
+   <dependencies>
         <dependency>
             <groupId>org.glassfish.external</groupId>
             <artifactId>antlr</artifactId>
@@ -283,13 +289,23 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>com.sun.activation</groupId>
-            <artifactId>jakarta.activation</artifactId>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-mail</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-activation</artifactId>
             <optional>true</optional>
         </dependency>
 
@@ -1307,8 +1323,8 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -1372,6 +1388,10 @@
             <optional>true</optional>
         </dependency>
         <dependency>
+            <groupId>org.apache.santuario</groupId>
+            <artifactId>xmlsec</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>stax2-api</artifactId>
             <optional>true</optional>
@@ -1489,6 +1509,11 @@
             <optional>true</optional>
         </dependency>
         <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
             <groupId>jakarta.jms</groupId>
             <artifactId>jakarta.jms-api</artifactId>
             <optional>true</optional>
@@ -1524,8 +1549,8 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -1534,6 +1559,11 @@
             <optional>true</optional>
         </dependency>
         <dependency>
+            <groupId>jakarta.websocket</groupId>
+            <artifactId>jakarta.websocket-client-api</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
             <groupId>jakarta.security.enterprise</groupId>
             <artifactId>jakarta.security.enterprise-api</artifactId>
             <optional>true</optional>
@@ -1607,7 +1637,7 @@
         <dependency>
             <groupId>org.glassfish.mq</groupId>
             <artifactId>mq-distribution</artifactId>
-            <version>${mq.version}</version>
+            <version>${openmq.version}</version>
             <type>zip</type>
             <optional>true</optional>
         </dependency>
@@ -1627,12 +1657,7 @@
         </dependency>
     </dependencies>
 
-    <properties>
-        <artifact-collection.directory>${project.build.directory}/jars</artifact-collection.directory>
-        <rar.directory>${project.build.directory}/rars</rar.directory>
-    </properties>
-
-    <build>
+   <build>
         <defaultGoal>install</defaultGoal>
         <plugins>
             <plugin>
diff --git a/appserver/extras/embedded/common/bootstrap/pom.xml b/appserver/extras/embedded/common/bootstrap/pom.xml
index 7c46268..5e07ddd 100644
--- a/appserver/extras/embedded/common/bootstrap/pom.xml
+++ b/appserver/extras/embedded/common/bootstrap/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.glassfish.main.extras</groupId>
     <artifactId>glassfish-embedded-common</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/appserver/extras/embedded/common/bootstrap/src/main/java/org/glassfish/uberjar/bootstrap/UberJarOSGiGlassFishRuntimeBuilder.java b/appserver/extras/embedded/common/bootstrap/src/main/java/org/glassfish/uberjar/bootstrap/UberJarOSGiGlassFishRuntimeBuilder.java
index 99f17e9..e541a6b 100644
--- a/appserver/extras/embedded/common/bootstrap/src/main/java/org/glassfish/uberjar/bootstrap/UberJarOSGiGlassFishRuntimeBuilder.java
+++ b/appserver/extras/embedded/common/bootstrap/src/main/java/org/glassfish/uberjar/bootstrap/UberJarOSGiGlassFishRuntimeBuilder.java
@@ -48,6 +48,7 @@
 
     private Framework framework;
 
+    @Override
     public boolean handles(BootstrapProperties bsOptions) {
         // default is Felix
         /* Constants.Platform platform =
@@ -93,6 +94,7 @@
 
     private static final String UBER_JAR_URI = "org.glassfish.embedded.osgimain.jarURI";
 
+    @Override
     public GlassFishRuntime build(BootstrapProperties bsOptions) throws GlassFishException {
         // Get all the properties in the Bootstrap options and then manipulate the Properties object.
         Properties props = bsOptions.getProperties();
@@ -201,13 +203,13 @@
 
     private String getDefaultInstallRoot() {
         String userDir = System.getProperty("user.home");
-        return new File(userDir, ".glassfish6-embedded").getAbsolutePath();
+        return new File(userDir, ".glassfish7-embedded").getAbsolutePath();
     }
 
     private String getDefaultInstanceRoot() {
         String userDir = System.getProperty("user.home");
         String fs = File.separator;
-        return new File(userDir, ".glassfish6-embedded" + fs + "domains" + fs + "domain1").getAbsolutePath();
+        return new File(userDir, ".glassfish7-embedded" + fs + "domains" + fs + "domain1").getAbsolutePath();
     }
 
     private boolean isOSGiEnv() {
diff --git a/appserver/extras/embedded/common/installroot-builder/pom.xml b/appserver/extras/embedded/common/installroot-builder/pom.xml
index 5a5ccb6..20a1642 100644
--- a/appserver/extras/embedded/common/installroot-builder/pom.xml
+++ b/appserver/extras/embedded/common/installroot-builder/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.glassfish.main.extras</groupId>
     <artifactId>glassfish-embedded-common</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilder.java b/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilder.java
index 2770560..312f466 100644
--- a/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilder.java
+++ b/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilder.java
@@ -32,7 +32,7 @@
 public class InstallRootBuilder implements BundleActivator {
 
     private static final Logger logger = Logger.getLogger("embedded-glassfish");
-    private static String resourceroot = "glassfish6/glassfish/";
+    private static String resourceroot = "glassfish7/glassfish/";
 
     public void start(BundleContext context) throws Exception {
         String installRoot = context.getProperty("com.sun.aas.installRoot");
diff --git a/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilderUtil.java b/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilderUtil.java
index 67af352..09a8ed2 100644
--- a/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilderUtil.java
+++ b/appserver/extras/embedded/common/installroot-builder/src/main/java/org/glassfish/uberjar/builder/installroot/InstallRootBuilderUtil.java
@@ -34,7 +34,7 @@
 public class InstallRootBuilderUtil {
 
     private static final Logger logger = Logger.getLogger("embedded-glassfish");
-    private static String resourceroot = "glassfish6/glassfish/";
+    private static String resourceroot = "glassfish7/glassfish/";
 
     public static void buildInstallRoot(String installRoot) throws Exception {
         ClassLoader cl = InstallRootBuilderUtil.class.getClassLoader();
diff --git a/appserver/extras/embedded/common/instanceroot-builder/pom.xml b/appserver/extras/embedded/common/instanceroot-builder/pom.xml
index 2365b20..51021a7 100644
--- a/appserver/extras/embedded/common/instanceroot-builder/pom.xml
+++ b/appserver/extras/embedded/common/instanceroot-builder/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.glassfish.main.extras</groupId>
     <artifactId>glassfish-embedded-common</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilder.java b/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilder.java
index 552e480..2052ac6 100644
--- a/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilder.java
+++ b/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilder.java
@@ -32,7 +32,7 @@
 public class InstanceRootBuilder implements BundleActivator {
 
     private static final Logger logger = Logger.getLogger("embedded-glassfish");
-    private static String resourceroot = "glassfish6/glassfish/domains/domain1/";
+    private static String resourceroot = "glassfish7/glassfish/domains/domain1/";
 
     public void start(BundleContext context) throws Exception {
         String instanceRoot = context.getProperty("com.sun.aas.instanceRoot");
diff --git a/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilderUtil.java b/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilderUtil.java
index 5e57e63..8f59479 100644
--- a/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilderUtil.java
+++ b/appserver/extras/embedded/common/instanceroot-builder/src/main/java/org/glassfish/uberjar/builder/instanceroot/InstanceRootBuilderUtil.java
@@ -35,7 +35,7 @@
 public class InstanceRootBuilderUtil {
 
     private static final Logger logger = Logger.getLogger("embedded-glassfish");
-    private static String resourceroot = "glassfish6/glassfish/domains/domain1/";
+    private static String resourceroot = "glassfish7/glassfish/domains/domain1/";
 
     public static void buildInstanceRoot(String instanceroot, String configFileURI) throws Exception {
         ClassLoader cl = InstanceRootBuilderUtil.class.getClassLoader();
diff --git a/appserver/extras/embedded/common/osgi-main/pom.xml b/appserver/extras/embedded/common/osgi-main/pom.xml
index bb184b3..44bafcd 100644
--- a/appserver/extras/embedded/common/osgi-main/pom.xml
+++ b/appserver/extras/embedded/common/osgi-main/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.glassfish.main.extras</groupId>
     <artifactId>glassfish-embedded-common</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/appserver/extras/embedded/common/osgi-modules-uninstaller/pom.xml b/appserver/extras/embedded/common/osgi-modules-uninstaller/pom.xml
index b25a0ad..29e416a 100644
--- a/appserver/extras/embedded/common/osgi-modules-uninstaller/pom.xml
+++ b/appserver/extras/embedded/common/osgi-modules-uninstaller/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.glassfish.main.extras</groupId>
     <artifactId>glassfish-embedded-common</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/appserver/extras/embedded/common/pom.xml b/appserver/extras/embedded/common/pom.xml
index f270d23..1953df7 100644
--- a/appserver/extras/embedded/common/pom.xml
+++ b/appserver/extras/embedded/common/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/embedded/nucleus/pom.xml b/appserver/extras/embedded/nucleus/pom.xml
index 20d2f5c..3b5e608 100644
--- a/appserver/extras/embedded/nucleus/pom.xml
+++ b/appserver/extras/embedded/nucleus/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/embedded/pom.xml b/appserver/extras/embedded/pom.xml
index 7318444..b66929d 100644
--- a/appserver/extras/embedded/pom.xml
+++ b/appserver/extras/embedded/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>embedded</artifactId>
diff --git a/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml
index 11997a5..98fbe71 100644
--- a/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml
+++ b/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml
index d1ffa84..485894e 100755
--- a/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml
+++ b/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml
index ea7d63d..4df064f 100644
--- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml
+++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
index 35ada01..ddb5cda 100755
--- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
+++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
@@ -552,13 +553,18 @@
             <version>${project.version}</version>
             <optional>true</optional>
         </dependency>
-        <!-- glassfish-jcdi -->
+        <!-- glassfish-cdi -->
         <dependency>
             <groupId>jakarta.enterprise</groupId>
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.main.web</groupId>
             <artifactId>cdi-api-fragment</artifactId>
             <version>${project.version}</version>
@@ -1039,19 +1045,28 @@
             <artifactId>jakarta.servlet.jsp.jstl</artifactId>
             <optional>true</optional>
         </dependency>
+        
+        <!-- Jakarta Expression Language -->
         <dependency>
             <groupId>jakarta.el</groupId>
             <artifactId>jakarta.el-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
+            <optional>true</optional>
+        </dependency>
+        
+        <!-- Jakarta WebSocket -->
+        <dependency>
+            <groupId>jakarta.websocket</groupId>
+            <artifactId>jakarta.websocket-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>jakarta.websocket</groupId>
-            <artifactId>jakarta.websocket-api</artifactId>
+            <artifactId>jakarta.websocket-client-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -1094,12 +1109,15 @@
             <artifactId>tyrus-container-glassfish-ejb</artifactId>
             <optional>true</optional>
         </dependency>
+        
         <dependency>
             <groupId>org.glassfish.main.security</groupId>
             <artifactId>websecurity</artifactId>
             <version>${project.version}</version>
             <optional>true</optional>
         </dependency>
+        
+        <!-- Jakarta Security -->
         <dependency>
             <groupId>org.glassfish.soteria</groupId>
             <artifactId>jakarta.security.enterprise</artifactId>
@@ -1111,8 +1129,8 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
             <optional>true</optional>
         </dependency>
 
@@ -1336,6 +1354,10 @@
             <optional>true</optional>
         </dependency>
         <dependency>
+            <groupId>org.apache.santuario</groupId>
+            <artifactId>xmlsec</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>stax2-api</artifactId>
             <optional>true</optional>
diff --git a/appserver/extras/embedded/shell/pom.xml b/appserver/extras/embedded/shell/pom.xml
index 4310e13..ff9a4f3 100755
--- a/appserver/extras/embedded/shell/pom.xml
+++ b/appserver/extras/embedded/shell/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/embedded/tests/pom.xml b/appserver/extras/embedded/tests/pom.xml
index 478b4e6..b92b405 100644
--- a/appserver/extras/embedded/tests/pom.xml
+++ b/appserver/extras/embedded/tests/pom.xml
@@ -23,10 +23,11 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>embedded</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>tests-embedded</artifactId>
+
     <name>GlassFish Embedded Modules - Tests</name>
 
     <dependencies>
diff --git a/appserver/extras/embedded/web/pom.xml b/appserver/extras/embedded/web/pom.xml
index 559524b..db247cb 100644
--- a/appserver/extras/embedded/web/pom.xml
+++ b/appserver/extras/embedded/web/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -32,6 +33,11 @@
 
     <name>Embedded GlassFish Web</name>
 
+    <properties>
+        <artifact-collection.directory>${project.build.directory}/jars</artifact-collection.directory>
+        <rar.directory>${project.build.directory}/rars</rar.directory>
+    </properties>
+
     <dependencies>
         <!-- glassfish-hk2 -->
         <dependency>
@@ -624,13 +630,23 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>com.sun.activation</groupId>
-            <artifactId>jakarta.activation</artifactId>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-mail</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-activation</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -983,19 +999,28 @@
             <artifactId>jakarta.servlet.jsp.jstl</artifactId>
             <optional>true</optional>
         </dependency>
+        
+        <!-- Jakarta Expression Language -->
         <dependency>
             <groupId>jakarta.el</groupId>
             <artifactId>jakarta.el-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
+            <optional>true</optional>
+        </dependency>
+        
+        <!-- Jakarta WebSocket -->
+        <dependency>
+            <groupId>jakarta.websocket</groupId>
+            <artifactId>jakarta.websocket-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>jakarta.websocket</groupId>
-            <artifactId>jakarta.websocket-api</artifactId>
+            <artifactId>jakarta.websocket-client-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -1038,6 +1063,7 @@
             <artifactId>tyrus-container-glassfish-ejb</artifactId>
             <optional>true</optional>
         </dependency>
+        
         <dependency>
             <groupId>org.glassfish.main.security</groupId>
             <artifactId>websecurity</artifactId>
@@ -1054,13 +1080,19 @@
             <artifactId>jakarta.security.enterprise-api</artifactId>
             <optional>true</optional>
         </dependency>
-        <!-- glassfish-jcdi -->
+        
+        <!-- glassfish-cdi -->
         <dependency>
             <groupId>jakarta.enterprise</groupId>
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.main.web</groupId>
             <artifactId>cdi-api-fragment</artifactId>
             <version>${project.version}</version>
@@ -1263,8 +1295,8 @@
         </dependency>
         <!-- glassfish-json -->
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -1308,11 +1340,6 @@
         </dependency>
     </dependencies>
 
-    <properties>
-        <artifact-collection.directory>${project.build.directory}/jars</artifact-collection.directory>
-        <rar.directory>${project.build.directory}/rars</rar.directory>
-    </properties>
-
     <build>
         <defaultGoal>install</defaultGoal>
         <plugins>
diff --git a/appserver/extras/javaee/dist-frag/pom.xml b/appserver/extras/javaee/dist-frag/pom.xml
index 26a199d..ef785b8 100644
--- a/appserver/extras/javaee/dist-frag/pom.xml
+++ b/appserver/extras/javaee/dist-frag/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>javaee-pom</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>javaee-frag</artifactId>
diff --git a/appserver/extras/javaee/manifest-jar/pom.xml b/appserver/extras/javaee/manifest-jar/pom.xml
index 22514e3..195dd98 100644
--- a/appserver/extras/javaee/manifest-jar/pom.xml
+++ b/appserver/extras/javaee/manifest-jar/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>javaee-pom</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>javaee</artifactId>
@@ -37,7 +37,7 @@
                 <configuration>
                     <archive>
                         <manifestEntries>
-                            <Class-Path>../modules/jakarta.servlet-api.jar ../modules/jakarta.annotation-api.jar ../modules/jakarta.ejb-api.jar ../modules/jakarta.transaction-api.jar ../modules/jakarta.resource-api.jar ../modules/jakarta.authentication-api.jar ../modules/jakarta.authorization-api.jar ../modules/jakarta.xml.bind-api.jar ../modules/webservices-api-osgi.jar ../modules/jakarta.mail.jar ../modules/jakarta.activation.jar ../modules/jakarta.faces.jar ../modules/jakarta.servlet.jsp-api.jar ../modules/jakarta.el.jar ../modules/jakarta.el-api.jar ../modules/jakarta.servlet.jsp.jstl-api.jar ../modules/jakarta.persistence-api.jar ../modules/jakarta.jms-api.jar ../modules/hibernate-validator.jar ../modules/jakarta.validation-api.jar ../modules/cdi-api.jar ../../mq/lib/jaxm-api.jar ../modules/jakarta.ws.rs-api.jar ../modules/jakarta.json.jar ../modules/jakarta.json.bind-api.jar ../modules/jakarta.websocket-api.jar ../modules/jakarta.enterprise.concurrent-api.jar ../modules/jakarta.batch-api.jar ../modules/jakarta.inject-api.jar</Class-Path>
+                            <Class-Path>../modules/jakarta.servlet-api.jar ../modules/jakarta.annotation-api.jar ../modules/jakarta.ejb-api.jar ../modules/jakarta.transaction-api.jar ../modules/jakarta.resource-api.jar ../modules/jakarta.authentication-api.jar ../modules/jakarta.authorization-api.jar ../modules/jakarta.xml.bind-api.jar ../modules/webservices-api-osgi.jar ../modules/jakarta.mail-api.jar ../modules/jakarta.activation-api.jar ../modules/jakarta.faces.jar ../modules/jakarta.servlet.jsp-api.jar ../modules/expressly.jar ../modules/jakarta.el-api.jar ../modules/jakarta.servlet.jsp.jstl-api.jar ../modules/jakarta.persistence-api.jar ../modules/jakarta.jms-api.jar ../modules/hibernate-validator.jar ../modules/jakarta.validation-api.jar ../modules/cdi-api.jar ../modules/jakarta.ws.rs-api.jar ../modules/parsson.jar ../modules/jakarta.json.bind-api.jar ../modules/jakarta.websocket-api.jar ../modules/jakarta.websocket-client-api.jar ../modules/jakarta.enterprise.concurrent-api.jar ../modules/jakarta.batch-api.jar ../modules/jakarta.inject-api.jar</Class-Path>
                             <GlassFish-ServerExcluded>true</GlassFish-ServerExcluded>
                         </manifestEntries>
                     </archive>
diff --git a/appserver/extras/javaee/pom.xml b/appserver/extras/javaee/pom.xml
index 41a11fa..9277e20 100644
--- a/appserver/extras/javaee/pom.xml
+++ b/appserver/extras/javaee/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.extras</groupId>
         <artifactId>extras</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/extras/pom.xml b/appserver/extras/pom.xml
index 1b685e1..a201ae8 100755
--- a/appserver/extras/pom.xml
+++ b/appserver/extras/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.extras</groupId>
diff --git a/appserver/featuresets/debug/pom.xml b/appserver/featuresets/debug/pom.xml
index 391e8a0..c6162f5 100644
--- a/appserver/featuresets/debug/pom.xml
+++ b/appserver/featuresets/debug/pom.xml
@@ -17,62 +17,63 @@
 
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
 
-	<parent>
-		<groupId>org.glassfish.main.featuresets</groupId>
-		<artifactId>featuresets</artifactId>
-		<version>6.2.6-SNAPSHOT</version>
-	</parent>
+    <parent>
+        <groupId>org.glassfish.main.featuresets</groupId>
+        <artifactId>featuresets</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+    </parent>
 
-	<artifactId>debug</artifactId>
-	<description>
-		This project can be used as entry project in remote debugging, giving
-		one most dependencies of GlassFish to step through the source.
-		
-		Compile GF with mvn clean install -Pfastest,source -T10
-		
-		Start GF with ./adadmin start-domain --verbose --suspend
-		
-		In the IDE, for instance, Eclipse, go to 
-		  run - debug configurations - remote java application - project
-		And add this project there. 
-	</description>
+    <artifactId>debug</artifactId>
+    <description>
+    This project can be used as entry project in remote debugging, giving
+    one most dependencies of GlassFish to step through the source.
 
-	<name>Debug</name>
+    Compile GF with mvn clean install -Pfastest,source -T10
 
-	<dependencies>
-		<dependency>
-			<groupId>org.glassfish.main.featuresets</groupId>
-			<artifactId>glassfish</artifactId>
-			<version>${project.version}</version>
-			<type>pom</type>
-		</dependency>
-		<dependency>
-			<groupId>org.glassfish.main.featuresets</groupId>
-			<artifactId>web</artifactId>
-			<version>${project.version}</version>
-			<type>pom</type>
-		</dependency>
-		<dependency>
-			<groupId>org.glassfish.main.featuresets</groupId>
-			<artifactId>nucleus</artifactId>
-			<version>${project.version}</version>
-			<type>pom</type>
-		</dependency>
-		<dependency>
-			<groupId>org.glassfish.main.featuresets</groupId>
-			<artifactId>atomic</artifactId>
-			<version>${project.version}</version>
-			<type>pom</type>
-		</dependency>
+    Start GF with ./adadmin start-domain --verbose --suspend
 
-		<dependency>
-			<groupId>org.glassfish.main.jdbc.jdbc-ra.jdbc-core</groupId>
-			<artifactId>jdbc-core</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-	</dependencies>
+    In the IDE, for instance, Eclipse, go to run - debug configurations - remote java application - project
+    And add this project there.
+  </description>
 
-</project>
\ No newline at end of file
+    <name>Debug</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>glassfish</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>web</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>nucleus</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.featuresets</groupId>
+            <artifactId>atomic</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.main.jdbc.jdbc-ra.jdbc-core</groupId>
+            <artifactId>jdbc-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/appserver/featuresets/glassfish/pom.xml b/appserver/featuresets/glassfish/pom.xml
index 5da620d..8f77144 100644
--- a/appserver/featuresets/glassfish/pom.xml
+++ b/appserver/featuresets/glassfish/pom.xml
@@ -23,28 +23,49 @@
     <parent>
         <groupId>org.glassfish.main.featuresets</groupId>
         <artifactId>featuresets</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish</artifactId>
     <packaging>pom</packaging>
 
     <name>Glassfish Featureset</name>
-    <description>This pom defines the set of packages for GlassFish distribution</description>
+    <description>This pom defines the set of packages for the full GlassFish distribution</description>
 
     <dependencies>
-        <!-- pull web packages -->
+        <!-- Pull web packages -->
         <dependency>
             <groupId>org.glassfish.main.featuresets</groupId>
             <artifactId>web</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
         </dependency>
-
-        <!-- glassfish-common-full -->
+      
+        
+        <!-- Jakarta Concurrency -->
         <dependency>
-            <groupId>org.glassfish.main.deployment</groupId>
-            <artifactId>deployment-javaee-full</artifactId>
+            <groupId>jakarta.enterprise.concurrent</groupId>
+            <artifactId>jakarta.enterprise.concurrent-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish</groupId>
+            <artifactId>jakarta.enterprise.concurrent</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.concurrent</groupId>
+            <artifactId>concurrent-connector</artifactId>
             <version>${project.version}</version>
             <exclusions>
                 <exclusion>
@@ -54,6 +75,50 @@
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.glassfish.main.concurrent</groupId>
+            <artifactId>concurrent-impl</artifactId>
+            <version>${project.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        
+        
+        <!-- Jakarta Batch -->
+        <dependency>
+            <groupId>jakarta.batch</groupId>
+            <artifactId>jakarta.batch-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.ibm.jbatch</groupId>
+            <artifactId>com.ibm.jbatch.container</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.ibm.jbatch</groupId>
+            <artifactId>com.ibm.jbatch.spi</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.main.batch</groupId>
             <artifactId>glassfish-batch-connector</artifactId>
             <version>${project.version}</version>
@@ -87,80 +152,9 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>jakarta.batch</groupId>
-            <artifactId>jakarta.batch-api</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.ibm.jbatch</groupId>
-            <artifactId>com.ibm.jbatch.container</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.ibm.jbatch</groupId>
-            <artifactId>com.ibm.jbatch.spi</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.concurrent</groupId>
-            <artifactId>concurrent-connector</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.concurrent</groupId>
-            <artifactId>concurrent-impl</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.enterprise.concurrent</groupId>
-            <artifactId>jakarta.enterprise.concurrent-api</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.enterprise.concurrent</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <!-- glassfish-ejb -->
+        
+        
+        <!-- Jakarta Enterprise Beans (features on top of Enterprise Beans Lite -->
         <dependency>
             <groupId>org.glassfish.main.ejb</groupId>
             <artifactId>ejb-timer-databases</artifactId>
@@ -229,8 +223,7 @@
                 </exclusion>
             </exclusions>
         </dependency>
-
-        <!-- glassfish-cmp -->
+        <!-- Jakarta Enterprise Beans - Container Managed Persistence (for compatibiliy, don't use) -->
         <dependency>
             <groupId>org.glassfish.main.persistence.cmp</groupId>
             <artifactId>cmp-ejb-mapping</artifactId>
@@ -352,15 +345,13 @@
                 </exclusion>
             </exclusions>
         </dependency>
-
-        <!-- glassfish-entitybeans-container -->
+        <!-- Jakarta Enterprise Beans - glassfish-entitybeans-container -->
         <dependency>
            <groupId>org.glassfish.main.persistence</groupId>
            <artifactId>entitybean-container</artifactId>
            <version>${project.version}</version>
         </dependency>
-
-        <!-- glassfish-corba -->
+        <!-- Jakarta Enterprise Beans - CORBA -->
         <dependency>
             <groupId>org.glassfish.corba</groupId>
             <artifactId>glassfish-corba-orb</artifactId>
@@ -392,8 +383,124 @@
             </exclusions>
         </dependency>
 
-        <!-- metro package -->
+        
+        <!-- Jakarta XML Web Services -->
+        <dependency><!-- Contains jakarta.jws, jakarta.xml.soap, jakarta.xml.ws -->
+            <groupId>org.glassfish.metro</groupId>
+            <artifactId>webservices-api-osgi</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency><!-- This is actually Metro -->
+            <groupId>org.glassfish.metro</groupId>
+            <artifactId>webservices-osgi</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency><!-- Repackaged Apache Santuario -->
+            <groupId>org.glassfish.metro</groupId>
+            <artifactId>webservices-extra-xmlsec</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
         <dependency>
+            <groupId>org.glassfish.metro</groupId>
+            <artifactId>webservices-extra-jdk-packages</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.metro</groupId>
+            <artifactId>wstx-services</artifactId>
+            <version>${webservices.version}</version>
+            <type>war</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency><!-- webservices-osgi depends on ant -->
+            <groupId>org.glassfish.external</groupId>
+            <artifactId>ant</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.santuario</groupId>
+            <artifactId>xmlsec</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.woodstox</groupId>
+            <artifactId>woodstox-core</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.woodstox</groupId>
+            <artifactId>stax2-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.security</groupId>
+            <artifactId>webservices.security</artifactId>
+            <version>${project.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.webservices</groupId>
+            <artifactId>webservices-scripts</artifactId>
+            <version>${project.version}</version>
+            <type>zip</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+         <dependency>
             <groupId>org.glassfish.main.webservices</groupId>
             <artifactId>metro-glue</artifactId>
             <version>${project.version}</version>
@@ -437,16 +544,9 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>com.sun.xml.bind</groupId>
-            <artifactId>jaxb-osgi</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+        
+        
+        <!-- Jakarta XML Binding -->
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
@@ -458,8 +558,21 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>com.fasterxml.woodstox</groupId>
-            <artifactId>woodstox-core</artifactId>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        
+        
+        <!-- Jakarta Activation -->
+        <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -468,8 +581,8 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.metro</groupId>
-            <artifactId>webservices-osgi</artifactId>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-activation</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -477,52 +590,23 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <!-- webservices-osgi depends on ant -->
+        
+        
+        <!-- Jakarta Messaging -->
         <dependency>
-            <groupId>org.glassfish.external</groupId>
-            <artifactId>ant</artifactId>
+            <groupId>jakarta.jms</groupId>
+            <artifactId>jakarta.jms-api</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
             </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.metro</groupId>
-            <artifactId>webservices-extra-jdk-packages</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.metro</groupId>
-            <artifactId>webservices-api-osgi</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.security</groupId>
-            <artifactId>webservices.security</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.webservices</groupId>
-            <artifactId>webservices-scripts</artifactId>
-            <version>${project.version}</version>
+       </dependency>
+       <dependency>
+            <groupId>org.glassfish.mq</groupId>
+            <artifactId>mq-distribution</artifactId>
+            <version>${openmq.version}</version>
             <type>zip</type>
             <exclusions>
                 <exclusion>
@@ -532,10 +616,9 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.metro</groupId>
-            <artifactId>wstx-services</artifactId>
-            <version>${webservices.version}</version>
-            <type>war</type>
+            <groupId>org.glassfish.main.jms</groupId>
+            <artifactId>jms-core</artifactId>
+            <version>${project.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -544,8 +627,9 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.woodstox</groupId>
-            <artifactId>stax2-api</artifactId>
+            <groupId>org.glassfish.main.jms</groupId>
+            <artifactId>gf-jms-injection</artifactId>
+            <version>${project.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -553,8 +637,54 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+           <groupId>org.glassfish.main.jms</groupId>
+           <artifactId>jms-admin</artifactId>
+           <version>${project.version}</version>
+           <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+       </dependency>
+       <dependency>
+           <groupId>org.glassfish.main.jms</groupId>
+           <artifactId>gf-jms-connector</artifactId>
+           <version>${project.version}</version>
+           <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+       </dependency>
+       <dependency>
+           <groupId>org.glassfish.main.connectors</groupId>
+           <artifactId>connectors-inbound-runtime</artifactId>
+           <version>${project.version}</version>
+           <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+       </dependency>
+       <dependency>
+           <groupId>org.glassfish.main.jms</groupId>
+           <artifactId>jmsra</artifactId>
+           <version>${project.version}</version>
+           <type>zip</type>
+           <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+       </dependency>
+        
 
-        <!-- glassfish-appclient -->
+        <!-- GlassFish Application Client Container-->
         <dependency>
             <groupId>org.glassfish.main.appclient</groupId>
             <artifactId>gf-client</artifactId>
@@ -643,102 +773,9 @@
                 </exclusion>
             </exclusions>
         </dependency>
+       
 
-        <!-- glassfish-jms -->
-        <dependency>
-            <groupId>org.glassfish.main.jms</groupId>
-            <artifactId>jms-core</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.jms</groupId>
-            <artifactId>gf-jms-injection</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-           <groupId>org.glassfish.main.jms</groupId>
-           <artifactId>jms-admin</artifactId>
-           <version>${project.version}</version>
-           <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-       </dependency>
-       <dependency>
-           <groupId>org.glassfish.main.jms</groupId>
-           <artifactId>gf-jms-connector</artifactId>
-           <version>${project.version}</version>
-           <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-       </dependency>
-       <dependency>
-           <groupId>org.glassfish.main.connectors</groupId>
-           <artifactId>connectors-inbound-runtime</artifactId>
-           <version>${project.version}</version>
-           <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-       </dependency>
-       <dependency>
-           <groupId>org.glassfish.main.jms</groupId>
-           <artifactId>jmsra</artifactId>
-           <version>${project.version}</version>
-           <type>zip</type>
-           <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-       </dependency>
-
-       <dependency>
-            <groupId>jakarta.jms</groupId>
-            <artifactId>jakarta.jms-api</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-       </dependency>
-
-       <!-- mq package -->
-       <dependency>
-            <groupId>org.glassfish.mq</groupId>
-            <artifactId>mq-distribution</artifactId>
-            <version>${mq.version}</version>
-            <type>zip</type>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <!-- glassfish-gui plugins -->
+        <!-- GlassFish Admin GUI -->
         <dependency>
             <groupId>org.glassfish.main.admingui</groupId>
             <artifactId>console-common-full-plugin</artifactId>
@@ -794,9 +831,12 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        
+        <!-- glassfish-common-full -->
         <dependency>
-            <groupId>com.sun.activation</groupId>
-            <artifactId>jakarta.activation</artifactId>
+            <groupId>org.glassfish.main.deployment</groupId>
+            <artifactId>deployment-javaee-full</artifactId>
+            <version>${project.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
diff --git a/appserver/featuresets/pom.xml b/appserver/featuresets/pom.xml
index a7948f4..1e37511 100644
--- a/appserver/featuresets/pom.xml
+++ b/appserver/featuresets/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.featuresets</groupId>
diff --git a/appserver/featuresets/web/pom.xml b/appserver/featuresets/web/pom.xml
index 9e6e2f3..e84fd1a 100644
--- a/appserver/featuresets/web/pom.xml
+++ b/appserver/featuresets/web/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.featuresets</groupId>
         <artifactId>featuresets</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>web</artifactId>
@@ -257,6 +258,7 @@
         </dependency>
 
         <!-- Jakarta MVC -->
+        <!-- TMP disable until EE 10 versions
         <dependency>
             <groupId>jakarta.mvc</groupId>
             <artifactId>jakarta.mvc-api</artifactId>
@@ -287,6 +289,7 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        -->
 
         <!-- glassfish-grizzly-full -->
         <dependency>
@@ -598,6 +601,7 @@
         </dependency>
 
          <!-- Jakarta Security -->
+         <!-- TMP disable until EE 10 versions 
         <dependency>
             <groupId>jakarta.security.enterprise</groupId>
             <artifactId>jakarta.security.enterprise-api</artifactId>
@@ -628,6 +632,8 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        -->
+        
         <dependency>
             <groupId>jakarta.authentication</groupId>
             <artifactId>jakarta.authentication-api</artifactId>
@@ -671,8 +677,8 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -681,8 +687,28 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>com.sun.activation</groupId>
-            <artifactId>jakarta.activation</artifactId>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-mail</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-activation</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -1121,6 +1147,8 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        
+        <!-- Jakarta Expression Language -->
         <dependency>
             <groupId>jakarta.el</groupId>
             <artifactId>jakarta.el-api</artifactId>
@@ -1132,8 +1160,20 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        
+        <!-- Jakarta WebSocket -->
+        <dependency>
+            <groupId>jakarta.websocket</groupId>
+            <artifactId>jakarta.websocket-api</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -1143,7 +1183,7 @@
         </dependency>
         <dependency>
             <groupId>jakarta.websocket</groupId>
-            <artifactId>jakarta.websocket-api</artifactId>
+            <artifactId>jakarta.websocket-client-api</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -1231,6 +1271,7 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        
         <dependency>
             <groupId>org.glassfish.main.security</groupId>
             <artifactId>websecurity</artifactId>
@@ -1368,6 +1409,8 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <!-- Provides conflicting JAXB provider.
+             See https://github.com/eclipse-ee4j/eclipselink/issues/1380
         <dependency>
             <groupId>org.eclipse.persistence</groupId>
             <artifactId>org.eclipse.persistence.moxy</artifactId>
@@ -1378,6 +1421,7 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        -->
         <dependency>
             <groupId>org.eclipse.persistence</groupId>
             <artifactId>org.eclipse.persistence.dbws</artifactId>
@@ -1556,6 +1600,16 @@
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.main.web</groupId>
             <artifactId>cdi-api-fragment</artifactId>
             <version>${project.version}</version>
@@ -1569,8 +1623,8 @@
 
         <!-- json -->
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
diff --git a/appserver/flashlight/client/pom.xml b/appserver/flashlight/client/pom.xml
index 8c879df..1281073 100755
--- a/appserver/flashlight/client/pom.xml
+++ b/appserver/flashlight/client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../common/pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/flashlight/pom.xml b/appserver/flashlight/pom.xml
index 0fd4317..5330aaa 100755
--- a/appserver/flashlight/pom.xml
+++ b/appserver/flashlight/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml b/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml
index 6892524..a316b3a 100644
--- a/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml
+++ b/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.grizzly</groupId>
         <artifactId>glassfish-grizzly</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/grizzly/grizzly-container/pom.xml b/appserver/grizzly/grizzly-container/pom.xml
index 58f7820..fac4481 100755
--- a/appserver/grizzly/grizzly-container/pom.xml
+++ b/appserver/grizzly/grizzly-container/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.grizzly</groupId>
         <artifactId>glassfish-grizzly</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/grizzly/pom.xml b/appserver/grizzly/pom.xml
index 90babe2..328fe95 100755
--- a/appserver/grizzly/pom.xml
+++ b/appserver/grizzly/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ha/ha-file-store/pom.xml b/appserver/ha/ha-file-store/pom.xml
index 5d083dc..7b18369 100644
--- a/appserver/ha/ha-file-store/pom.xml
+++ b/appserver/ha/ha-file-store/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ha</groupId>
         <artifactId>ha</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ha-file-store</artifactId>
diff --git a/appserver/ha/ha-shoal-cache-bootstrap/pom.xml b/appserver/ha/ha-shoal-cache-bootstrap/pom.xml
index 195d0b5..a66a671 100644
--- a/appserver/ha/ha-shoal-cache-bootstrap/pom.xml
+++ b/appserver/ha/ha-shoal-cache-bootstrap/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ha</groupId>
         <artifactId>ha</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ha-shoal-cache-bootstrap</artifactId>
diff --git a/appserver/ha/ha-shoal-store/pom.xml b/appserver/ha/ha-shoal-store/pom.xml
index d7942ce..0afb4ca 100644
--- a/appserver/ha/ha-shoal-store/pom.xml
+++ b/appserver/ha/ha-shoal-store/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.ha</groupId>
         <artifactId>ha</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ha-shoal-cache-store</artifactId>
diff --git a/appserver/ha/pom.xml b/appserver/ha/pom.xml
index f41fd0d..2f7eee8 100755
--- a/appserver/ha/pom.xml
+++ b/appserver/ha/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jdbc/admin/pom.xml b/appserver/jdbc/admin/pom.xml
index 0778a4b..7ed9ff8 100644
--- a/appserver/jdbc/admin/pom.xml
+++ b/appserver/jdbc/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jdbc</groupId>
         <artifactId>jdbc</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -106,8 +106,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/appserver/jdbc/jdbc-config/pom.xml b/appserver/jdbc/jdbc-config/pom.xml
index 70be335..7d5ab60 100644
--- a/appserver/jdbc/jdbc-config/pom.xml
+++ b/appserver/jdbc/jdbc-config/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jdbc</groupId>
         <artifactId>jdbc</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml
index 390f7f1..b2671ca 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml
+++ b/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.glassfish.main.jdbc.jdbc-ra</groupId>
     <artifactId>jdbc-ra</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml
index f91449b..123a838 100644
--- a/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml
+++ b/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jdbc.jdbc-ra</groupId>
         <artifactId>jdbc-ra</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -33,6 +33,10 @@
 
     <name>Distribution Module for JDBC Resource Adapter</name>
 
+    <properties>
+        <target.application.directory>${project.build.outputDirectory}/glassfish/lib/install/applications</target.application.directory>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.glassfish.main.jdbc.jdbc-ra.jdbc-core</groupId>
@@ -51,10 +55,6 @@
         </dependency>
     </dependencies>
 
-    <properties>
-        <target.application.directory>${project.build.outputDirectory}/glassfish/lib/install/applications</target.application.directory>
-    </properties>
-
     <build>
         <plugins>
             <plugin>
diff --git a/appserver/jdbc/jdbc-ra/jdbc40/pom.xml b/appserver/jdbc/jdbc-ra/jdbc40/pom.xml
index abb4865..f395a4f 100644
--- a/appserver/jdbc/jdbc-ra/jdbc40/pom.xml
+++ b/appserver/jdbc/jdbc-ra/jdbc40/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jdbc.jdbc-ra</groupId>
         <artifactId>jdbc-ra</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jdbc/jdbc-ra/pom.xml b/appserver/jdbc/jdbc-ra/pom.xml
index b82ca2d..955dbf8 100644
--- a/appserver/jdbc/jdbc-ra/pom.xml
+++ b/appserver/jdbc/jdbc-ra/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jdbc/jdbc-runtime/pom.xml b/appserver/jdbc/jdbc-runtime/pom.xml
index 5b04c3f..85879e5 100644
--- a/appserver/jdbc/jdbc-runtime/pom.xml
+++ b/appserver/jdbc/jdbc-runtime/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jdbc</groupId>
         <artifactId>jdbc</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>jdbc-runtime</artifactId>
@@ -49,8 +49,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/appserver/jdbc/pom.xml b/appserver/jdbc/pom.xml
index 64a5ae0..e072bb8 100755
--- a/appserver/jdbc/pom.xml
+++ b/appserver/jdbc/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.jdbc</groupId>
diff --git a/appserver/jdbc/templates/pom.xml b/appserver/jdbc/templates/pom.xml
index 04dda36..12674e1 100644
--- a/appserver/jdbc/templates/pom.xml
+++ b/appserver/jdbc/templates/pom.xml
@@ -19,11 +19,14 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.glassfish.main.jdbc</groupId>
         <artifactId>jdbc</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
+
     <artifactId>templates</artifactId>
+
     <name>JDBC Templates</name>
 </project>
diff --git a/appserver/jms/admin/pom.xml b/appserver/jms/admin/pom.xml
index e96666f..8695edc 100644
--- a/appserver/jms/admin/pom.xml
+++ b/appserver/jms/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jms</groupId>
         <artifactId>jms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jms/gf-jms-connector/pom.xml b/appserver/jms/gf-jms-connector/pom.xml
index 057e19c..a26df8e 100644
--- a/appserver/jms/gf-jms-connector/pom.xml
+++ b/appserver/jms/gf-jms-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jms</groupId>
         <artifactId>jms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jms/gf-jms-injection/pom.xml b/appserver/jms/gf-jms-injection/pom.xml
index 3610210..82132e4 100644
--- a/appserver/jms/gf-jms-injection/pom.xml
+++ b/appserver/jms/gf-jms-injection/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jms</groupId>
         <artifactId>jms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/AbstractJMSContextManager.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/AbstractJMSContextManager.java
index b623b03..c458324 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/AbstractJMSContextManager.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/AbstractJMSContextManager.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,30 +23,33 @@
 import java.util.Map.Entry;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import jakarta.annotation.PostConstruct;
-import jakarta.annotation.PreDestroy;
-import jakarta.jms.ConnectionFactory;
-import jakarta.jms.JMSContext;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import org.glassfish.api.invocation.InvocationManager;
+
 import org.glassfish.api.invocation.ComponentInvocation;
+import org.glassfish.api.invocation.InvocationManager;
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.internal.api.Globals;
 
+import com.sun.enterprise.util.LocalStringManagerImpl;
+
+import jakarta.annotation.PreDestroy;
+import jakarta.jms.ConnectionFactory;
+import jakarta.jms.JMSContext;
+
 /**
- * This bean has a map to store JMSContext instances based on the injection
- * point, that makes sure in one class, the injected JMSContext beans of
- * different injection point will not share the same request/trasaction scoped JMSContext
+ * This bean has a map to store JMSContext instances based on the injection point, that makes sure in one class, the
+ * injected JMSContext beans of different injection point will not share the same request/trasaction scoped JMSContext
  * instance in a request/transaction.
  */
 public abstract class AbstractJMSContextManager implements Serializable {
+
+    private static final long serialVersionUID = 1L;
     private static final Logger logger = Logger.getLogger(InjectableJMSContext.JMS_INJECTION_LOGGER);
     private final static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(AbstractJMSContextManager.class);
 
     protected final Map<String, JMSContextEntry> contexts;
 
     public AbstractJMSContextManager() {
-        contexts = new HashMap<String, JMSContextEntry>();
+        contexts = new HashMap<>();
     }
 
     protected JMSContext createContext(String ipId, JMSContextMetadata metadata, ConnectionFactory connectionFactory) {
@@ -60,8 +64,7 @@
         }
         if (logger.isLoggable(Level.FINE)) {
             logger.log(Level.FINE, localStrings.getLocalString("JMSContext.impl.create",
-                                   "Created new JMSContext instance associated with id {0}: {1}.",
-                                   ipId, context.toString()));
+                    "Created new JMSContext instance associated with id {0}: {1}.", ipId, context.toString()));
         }
         return context;
     }
@@ -83,8 +86,9 @@
     public JMSContext getContext(String id) {
         JMSContextEntry entry = contexts.get(id);
         JMSContext context = null;
-        if (entry != null)
+        if (entry != null) {
             context = entry.getCtx();
+        }
         return context;
     }
 
@@ -101,25 +105,27 @@
             JMSContext context = contextEntry.getCtx();
             if (context != null) {
                 ComponentInvocation inv = contextEntry.getComponentInvocation();
-                if (inv != null && currentInv != inv) invMgr.preInvoke(inv);
+                if (inv != null && currentInv != inv) {
+                    invMgr.preInvoke(inv);
+                }
                 try {
                     context.close();
                     if (logger.isLoggable(Level.FINE)) {
                         logger.log(Level.FINE, localStrings.getLocalString("JMSContext.impl.close",
-                                               "Closed JMSContext instance associated with id {0}: {1}.",
-                                               ipId, context.toString()));
+                                "Closed JMSContext instance associated with id {0}: {1}.", ipId, context.toString()));
                     }
                 } catch (Exception e) {
                     logger.log(Level.SEVERE, localStrings.getLocalString("JMSContext.impl.close.failure",
-                                             "Failed to close JMSContext instance associated with id {0}: {1}.",
-                                             ipId, context.toString()), e);
+                            "Failed to close JMSContext instance associated with id {0}: {1}.", ipId, context.toString()), e);
                 } finally {
-                    if (inv != null && currentInv != inv) invMgr.postInvoke(inv);
+                    if (inv != null && currentInv != inv) {
+                        invMgr.postInvoke(inv);
+                    }
                 }
             }
         }
         contexts.clear();
-   }
+    }
 
     public abstract String getType();
 }
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/ForwardingJMSContext.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/ForwardingJMSContext.java
index 00f3a61..ec4c6fb 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/ForwardingJMSContext.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/ForwardingJMSContext.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -17,9 +18,28 @@
 package org.glassfish.jms.injection;
 
 import java.io.Serializable;
-import jakarta.jms.*;
+
 import com.sun.enterprise.util.LocalStringManagerImpl;
 
+import jakarta.jms.BytesMessage;
+import jakarta.jms.ConnectionMetaData;
+import jakarta.jms.Destination;
+import jakarta.jms.ExceptionListener;
+import jakarta.jms.IllegalStateRuntimeException;
+import jakarta.jms.JMSConsumer;
+import jakarta.jms.JMSContext;
+import jakarta.jms.JMSProducer;
+import jakarta.jms.MapMessage;
+import jakarta.jms.Message;
+import jakarta.jms.ObjectMessage;
+import jakarta.jms.Queue;
+import jakarta.jms.QueueBrowser;
+import jakarta.jms.StreamMessage;
+import jakarta.jms.TemporaryQueue;
+import jakarta.jms.TemporaryTopic;
+import jakarta.jms.TextMessage;
+import jakarta.jms.Topic;
+
 // Delegate all business methods to JMSContext API
 public abstract class ForwardingJMSContext implements JMSContext {
     private final static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(ForwardingJMSContext.class);
@@ -238,6 +258,6 @@
 
     private IllegalStateRuntimeException getUnsupportedException() {
         return new IllegalStateRuntimeException(localStrings.getLocalString("JMSContext.injection.not.supported",
-                                      "This method is not permitted on a container-managed (injected) JMSContext."));
+                "This method is not permitted on a container-managed (injected) JMSContext."));
     }
 }
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java
index f3dbaec..e4d234b 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -20,7 +21,20 @@
 import java.util.UUID;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.glassfish.hk2.api.ServiceLocator;
+import org.glassfish.internal.api.Globals;
+import org.glassfish.logging.annotation.LoggerInfo;
+
+import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
+import com.sun.enterprise.transaction.api.JavaEETransactionManager;
+import com.sun.enterprise.util.LocalStringManagerImpl;
+
 import jakarta.annotation.PreDestroy;
+import jakarta.enterprise.context.ContextNotActiveException;
 import jakarta.enterprise.inject.Instance;
 import jakarta.enterprise.inject.spi.InjectionPoint;
 import jakarta.inject.Inject;
@@ -29,37 +43,31 @@
 import jakarta.jms.JMSContext;
 import jakarta.jms.JMSPasswordCredential;
 import jakarta.jms.JMSSessionMode;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import jakarta.transaction.Transaction;
 import jakarta.transaction.SystemException;
-import com.sun.appserv.connectors.internal.api.ConnectorsUtil;
-import com.sun.enterprise.transaction.api.JavaEETransactionManager;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-import org.glassfish.hk2.api.ServiceLocator;
-import org.glassfish.internal.api.Globals;
-import org.glassfish.logging.annotation.LoggerInfo;
-import jakarta.enterprise.context.ContextNotActiveException;
+import jakarta.transaction.Transaction;
 
 /**
- * This bean is the JMSContext wrapper which user gets by injection.
- * It can read metadata of injection point for it is dependent scoped.
- * It delegates all business methods of JMSContext interface to the
- * JMSContext API via request scopd JMSContextManager bean.
+ * This bean is the JMSContext wrapper which user gets by injection. It can read metadata of injection point for it is
+ * dependent scoped. It delegates all business methods of JMSContext interface to the JMSContext API via request scopd
+ * JMSContextManager bean.
  */
 public class InjectableJMSContext extends ForwardingJMSContext implements Serializable {
     // Note: since this bean is dependent-scoped, instances are liable to be passivated
     // All fields are therefore either serializable or transient
 
-    @LoggerInfo(subsystem="JMS_INJECTION", description="JMS Injection Logger", publish=true)
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    @LoggerInfo(subsystem = "JMS_INJECTION", description = "JMS Injection Logger", publish = true)
     public static final String JMS_INJECTION_LOGGER = "jakarta.enterprise.resource.jms.injection";
 
     private static final Logger logger = Logger.getLogger(JMS_INJECTION_LOGGER);
     private final static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(InjectableJMSContext.class);
 
-    private final String ipId;  // id per injection point
-    private final String id;    // id per scope
+    private final String ipId; // id per injection point
+    private final String id; // id per scope
 
     // Make it transient for FindBugs
     @Inject
@@ -73,24 +81,24 @@
     private final JMSContextMetadata metadata;
 
     /*
-     * We cache the ConnectionFactory here to avoid repeated JNDI lookup
-     * If the bean is passivated/activated the field will be set to null
-     * and re-initialised lazily. (Though as a ConnectionFactory is required
-     * to be Serializable this may not be needed)
+     * We cache the ConnectionFactory here to avoid repeated JNDI lookup If the bean is passivated/activated the field will
+     * be set to null and re-initialised lazily. (Though as a ConnectionFactory is required to be Serializable this may not
+     * be needed)
      */
     private transient ConnectionFactory connectionFactory;
     private transient ConnectionFactory connectionFactoryPM;
     private transient JavaEETransactionManager transactionManager;
 
-    private static final boolean usePMResourceInTransaction = Boolean.getBoolean("org.glassfish.jms.skip-resource-registration-in-transaction");
+    private static final boolean usePMResourceInTransaction = Boolean
+            .getBoolean("org.glassfish.jms.skip-resource-registration-in-transaction");
 
     @Inject
     public InjectableJMSContext(InjectionPoint ip, RequestedJMSContextManager rm) {
         getTransactionManager();
 
         JMSConnectionFactory jmsConnectionFactoryAnnot = ip.getAnnotated().getAnnotation(JMSConnectionFactory.class);
-        JMSSessionMode                sessionModeAnnot = ip.getAnnotated().getAnnotation(JMSSessionMode.class);
-        JMSPasswordCredential          credentialAnnot = ip.getAnnotated().getAnnotation(JMSPasswordCredential.class);
+        JMSSessionMode sessionModeAnnot = ip.getAnnotated().getAnnotation(JMSSessionMode.class);
+        JMSPasswordCredential credentialAnnot = ip.getAnnotated().getAnnotation(JMSPasswordCredential.class);
 
         ipId = UUID.randomUUID().toString();
         this.requestedManager = rm;
@@ -98,13 +106,14 @@
         id = metadata.getFingerPrint();
         if (logger.isLoggable(Level.FINE)) {
             logger.log(Level.FINE, localStrings.getLocalString("JMSContext.injection.initialization",
-                       "Injecting JMSContext wrapper with id {0} and metadata [{1}].", ipId, metadata));
+                    "Injecting JMSContext wrapper with id {0} and metadata [{1}].", ipId, metadata));
         }
     }
 
     private synchronized TransactedJMSContextManager getTransactedManager() {
-        if (transactedManager == null)
+        if (transactedManager == null) {
             transactedManager = tm.get();
+        }
         return transactedManager;
     }
 
@@ -112,18 +121,19 @@
     protected JMSContext delegate() {
         AbstractJMSContextManager manager = requestedManager;
         boolean isInTransaction = isInTransaction();
-        if (isInTransaction)
+        if (isInTransaction) {
             manager = getTransactedManager();
+        }
 
         if (logger.isLoggable(Level.FINE)) {
             logger.log(Level.FINE, localStrings.getLocalString("JMSContext.delegation.type",
-                       "JMSContext wrapper with id {0} is delegating to {1} instance.", ipId, manager.getType()));
+                    "JMSContext wrapper with id {0} is delegating to {1} instance.", ipId, manager.getType()));
         }
         try {
             return manager.getContext(ipId, id, metadata, getConnectionFactory(isInTransaction));
         } catch (ContextNotActiveException e) {
             String message = localStrings.getLocalString("ContextNotActiveException.msg",
-                             "An injected JMSContext cannot be used when there is neither a transaction or a valid request scope.");
+                    "An injected JMSContext cannot be used when there is neither a transaction or a valid request scope.");
             throw new RuntimeException(message, e);
         }
     }
@@ -137,12 +147,14 @@
             if (isInTransaction) {
                 TransactedJMSContextManager manager = getTransactedManager();
                 tContext = manager.getContext(id);
-                if (tContext == null)
+                if (tContext == null) {
                     tContext = manager.getContext(ipId, id, metadata, getConnectionFactory(isInTransaction));
+                }
             } else {
                 rContext = requestedManager.getContext(id);
-                if (rContext == null)
+                if (rContext == null) {
                     rContext = requestedManager.getContext(ipId, id, metadata, getConnectionFactory(isInTransaction));
+                }
             }
         } catch (ContextNotActiveException cnae) {
             // if toString() is called in an env which doesn't have valid CDI request/transaction scope,
@@ -151,12 +163,13 @@
 
         StringBuffer sb = new StringBuffer();
         sb.append("JMSContext Wrapper ").append(ipId).append(" with metadata [").append(metadata).append("]");
-        if (tContext != null)
+        if (tContext != null) {
             sb.append(", around ").append(getTransactedManager().getType()).append(" [").append(tContext).append("]");
-        else if (rContext != null)
+        } else if (rContext != null) {
             sb.append(", around ").append(requestedManager.getType()).append(" [").append(rContext).append("]");
-        else
+        } else {
             sb.append(", there is neither a transaction or a valid request scope.");
+        }
         return sb.toString();
     }
 
@@ -170,24 +183,27 @@
         try {
             manager.cleanup();
             if (logger.isLoggable(Level.FINE)) {
-                logger.log(Level.FINE, localStrings.getLocalString("JMSContext.injection.cleanup",
-                           "Cleaning up {0} JMSContext wrapper with id {1} and metadata [{2}].",
-                           manager.getType(), ipId, metadata.getLookup()));
+                logger.log(Level.FINE,
+                        localStrings.getLocalString("JMSContext.injection.cleanup",
+                                "Cleaning up {0} JMSContext wrapper with id {1} and metadata [{2}].", manager.getType(), ipId,
+                                metadata.getLookup()));
             }
         } catch (ContextNotActiveException cnae) {
             // ignore the ContextNotActiveException when the application is undeployed.
         } catch (Throwable t) {
-            logger.log(Level.SEVERE, localStrings.getLocalString("JMSContext.injection.cleanup.failure",
-                       "Failed to cleaning up {0} JMSContext wrapper with id {1} and metadata [{2}]. Reason: {3}.",
-                        manager.getType(), ipId, metadata.getLookup(), t.toString()));
+            logger.log(Level.SEVERE,
+                    localStrings.getLocalString("JMSContext.injection.cleanup.failure",
+                            "Failed to cleaning up {0} JMSContext wrapper with id {1} and metadata [{2}]. Reason: {3}.", manager.getType(),
+                            ipId, metadata.getLookup(), t.toString()));
         }
     }
 
     private JavaEETransactionManager getTransactionManager() {
         if (transactionManager == null) {
             ServiceLocator serviceLocator = Globals.get(ServiceLocator.class);
-            if (serviceLocator != null)
+            if (serviceLocator != null) {
                 transactionManager = serviceLocator.getService(JavaEETransactionManager.class);
+            }
             if (transactionManager == null) {
                 throw new RuntimeException(localStrings.getLocalString("txn.mgr.failure", "Unable to retrieve transaction manager."));
             }
@@ -219,8 +235,8 @@
             try {
                 initialContext = new InitialContext();
             } catch (NamingException ne) {
-                throw new RuntimeException(localStrings.getLocalString("initialContext.init.exception",
-                                           "Cannot create InitialContext."), ne);
+                throw new RuntimeException(localStrings.getLocalString("initialContext.init.exception", "Cannot create InitialContext."),
+                        ne);
             }
 
             try {
@@ -228,7 +244,7 @@
                 boolean isPMName = jndiName.endsWith("__pm");
                 if (isPMName) {
                     int l = jndiName.length();
-                    jndiName = jndiName.substring(0, l-4);
+                    jndiName = jndiName.substring(0, l - 4);
                 }
                 cachedCF = (ConnectionFactory) initialContext.lookup(jndiName);
 
@@ -241,20 +257,21 @@
                 }
             } catch (NamingException ne) {
                 throw new RuntimeException(localStrings.getLocalString("connectionFactory.not.found",
-                                           "ConnectionFactory not found with lookup {0}.",
-                                           jndiName), ne);
+                        "ConnectionFactory not found with lookup {0}.", jndiName), ne);
             } finally {
                 if (initialContext != null) {
                     try {
                         initialContext.close();
-                    } catch (NamingException ne) {}
+                    } catch (NamingException ne) {
+                    }
                 }
             }
 
-            if (usePMResource)
+            if (usePMResource) {
                 connectionFactoryPM = cachedCF;
-            else
+            } else {
                 connectionFactory = cachedCF;
+            }
         }
         return cachedCF;
     }
@@ -263,11 +280,12 @@
         boolean isInTransaction = false;
         try {
             Transaction txn = getTransactionManager().getTransaction();
-            if (txn != null)
+            if (txn != null) {
                 isInTransaction = true;
+            }
         } catch (SystemException e) {
-            throw new RuntimeException(localStrings.getLocalString("txn.detection.failure",
-                                       "Failed to detect transaction status of current thread."), e);
+            throw new RuntimeException(
+                    localStrings.getLocalString("txn.detection.failure", "Failed to detect transaction status of current thread."), e);
         }
         return isInTransaction;
     }
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSCDIExtension.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSCDIExtension.java
index ea2e6e6..b217de6 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSCDIExtension.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSCDIExtension.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,13 +23,28 @@
 import java.util.HashSet;
 import java.util.Set;
 import java.util.UUID;
-import jakarta.enterprise.context.*;
+
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.RequestScoped;
 import jakarta.enterprise.context.spi.CreationalContext;
 import jakarta.enterprise.event.Observes;
 import jakarta.enterprise.inject.Any;
 import jakarta.enterprise.inject.Default;
-import jakarta.enterprise.inject.spi.*;
-import jakarta.enterprise.util.AnnotationLiteral;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.AfterDeploymentValidation;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.BeforeShutdown;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.inject.spi.PassivationCapable;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.inject.spi.ProcessInjectionTarget;
+import jakarta.enterprise.inject.spi.ProcessProducer;
 import jakarta.transaction.TransactionScoped;
 
 /*
@@ -36,22 +52,14 @@
  * that can be injected into all applications.
  */
 public class JMSCDIExtension implements Extension {
-    public JMSCDIExtension() {
-    }
-
-    private Bean createLocalBean(BeanManager beanManager, Class beanClass) {
-        AnnotatedType annotatedType = beanManager.createAnnotatedType(beanClass);
-        LocalPassivationCapableBean localBean = new LocalPassivationCapableBean(beanClass);
-        InjectionTargetFactory injectionTargetFactory = beanManager.getInjectionTargetFactory(annotatedType);
-        localBean.setInjectionTarget(injectionTargetFactory.createInjectionTarget(localBean));
-        return localBean;
-    }
 
     public void afterBeanDiscovery(@Observes AfterBeanDiscovery afterBeanDiscoveryEvent, BeanManager beanManager) {
         Bean requestManagerBean = createLocalBean(beanManager, RequestedJMSContextManager.class);
         afterBeanDiscoveryEvent.addBean(requestManagerBean);
+
         Bean transactionManagerBean = createLocalBean(beanManager, TransactedJMSContextManager.class);
         afterBeanDiscoveryEvent.addBean(transactionManagerBean);
+
         Bean contextBean = createLocalBean(beanManager, InjectableJMSContext.class);
         afterBeanDiscoveryEvent.addBean(contextBean);
     }
@@ -68,7 +76,7 @@
     public void beforeBeanDiscovery(@Observes BeforeBeanDiscovery event, BeanManager beanManager) {
     }
 
-    public  void afterDeploymentValidation(@Observes AfterDeploymentValidation event, BeanManager beanManager) {
+    public void afterDeploymentValidation(@Observes AfterDeploymentValidation event, BeanManager beanManager) {
     }
 
     public void beforeShutdown(@Observes BeforeShutdown event, BeanManager beanManager) {
@@ -83,14 +91,6 @@
     public <T, X> void processProducer(@Observes ProcessProducer<T, X> event) {
     }
 
-    static AnnotationLiteral<Default> getDefaultAnnotationLiteral() {
-        return new AnnotationLiteral<Default>() {};
-    }
-
-    static AnnotationLiteral<Any> getAnyAnnotationLiteral() {
-        return new AnnotationLiteral<Any>() {};
-    }
-
     public static class LocalPassivationCapableBean implements Bean, PassivationCapable {
         private String id = UUID.randomUUID().toString();
         private Class beanClass;
@@ -126,20 +126,19 @@
 
         @Override
         public Set<Annotation> getQualifiers() {
-            Set<Annotation> qualifiers = new HashSet<Annotation>();
-            qualifiers.add(JMSCDIExtension.getDefaultAnnotationLiteral());
-            qualifiers.add(JMSCDIExtension.getAnyAnnotationLiteral());
-            return qualifiers;
+            return Set.of(Default.Literal.INSTANCE, Any.Literal.INSTANCE);
         }
 
         @Override
         public Class<? extends Annotation> getScope() {
-            if (beanClass.isAnnotationPresent(RequestScoped.class))
+            if (beanClass.isAnnotationPresent(RequestScoped.class)) {
                 return RequestScoped.class;
-            else if (beanClass.isAnnotationPresent(TransactionScoped.class))
+            }
+            if (beanClass.isAnnotationPresent(TransactionScoped.class)) {
                 return TransactionScoped.class;
-            else
-                return Dependent.class;
+            }
+
+            return Dependent.class;
         }
 
         @Override
@@ -149,7 +148,7 @@
 
         @Override
         public Set<Type> getTypes() {
-            Set<Type> types = new HashSet<Type>();
+            Set<Type> types = new HashSet<>();
             types.add(beanClass);
             boolean loop = true;
             Class clazz = beanClass;
@@ -175,11 +174,6 @@
         }
 
         @Override
-        public boolean isNullable() {
-            return false;
-        }
-
-        @Override
         public Object create(CreationalContext ctx) {
             Object instance = injectionTarget.produce(ctx);
             injectionTarget.inject(instance, ctx);
@@ -199,4 +193,13 @@
             return id;
         }
     }
+
+    private Bean createLocalBean(BeanManager beanManager, Class beanClass) {
+        AnnotatedType annotatedType = beanManager.createAnnotatedType(beanClass);
+        LocalPassivationCapableBean localBean = new LocalPassivationCapableBean(beanClass);
+        InjectionTargetFactory injectionTargetFactory = beanManager.getInjectionTargetFactory(annotatedType);
+        localBean.setInjectionTarget(injectionTargetFactory.createInjectionTarget(localBean));
+
+        return localBean;
+    }
 }
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextEntry.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextEntry.java
index d7ee710..ea6aa48 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextEntry.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextEntry.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -17,18 +18,23 @@
 package org.glassfish.jms.injection;
 
 import java.io.Serializable;
-import jakarta.jms.JMSContext;
+
 import org.glassfish.api.invocation.ComponentInvocation;
 
+import jakarta.jms.JMSContext;
+
 public class JMSContextEntry implements Serializable {
+
+    private static final long serialVersionUID = 5250371279470306316L;
+
     private final String injectionPointId;
-    private final JMSContext ctx;
-    private final transient ComponentInvocation inv;
+    private final JMSContext jmsContext;
+    private final transient ComponentInvocation componentInvocation;
 
     public JMSContextEntry(String ipId, JMSContext context, ComponentInvocation inv) {
         injectionPointId = ipId;
-        ctx = context;
-        this.inv = inv;
+        jmsContext = context;
+        this.componentInvocation = inv;
     }
 
     public String getInjectionPointId() {
@@ -36,10 +42,10 @@
     }
 
     public JMSContext getCtx() {
-        return ctx;
+        return jmsContext;
     }
 
     public ComponentInvocation getComponentInvocation() {
-        return inv;
+        return componentInvocation;
     }
 }
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextMetadata.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextMetadata.java
index 209a323..1ff08fb 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextMetadata.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/JMSContextMetadata.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -20,18 +21,22 @@
 import java.security.MessageDigest;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
+import org.glassfish.internal.api.RelativePathResolver;
+
+import com.sun.enterprise.util.LocalStringManagerImpl;
+
 import jakarta.jms.JMSConnectionFactory;
 import jakarta.jms.JMSContext;
 import jakarta.jms.JMSPasswordCredential;
 import jakarta.jms.JMSSessionMode;
-import org.glassfish.internal.api.RelativePathResolver;
-import com.sun.enterprise.util.LocalStringManagerImpl;
 
 /**
- * Serializable object which holds the information about the JMSContext
- * that was specified at the injection point.
+ * Serializable object which holds the information about the JMSContext that was specified at the injection point.
  */
 public class JMSContextMetadata implements Serializable {
+
+    private static final long serialVersionUID = 1L;
     private static final Logger logger = Logger.getLogger(InjectableJMSContext.JMS_INJECTION_LOGGER);
     private final static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(JMSContextMetadata.class);
     public final static String DEFAULT_CONNECTION_FACTORY = "java:comp/DefaultJMSConnectionFactory";
@@ -65,10 +70,10 @@
     }
 
     public String getLookup() {
-       return lookup;
+        return lookup;
     }
 
-    public int getSessionMode(){
+    public int getSessionMode() {
         return sessionMode;
     }
 
@@ -88,10 +93,11 @@
         sb.append(", sessionMode=").append(sessionMode);
         sb.append(", username=").append(userName);
         sb.append(", password=");
-        if (password != null)
+        if (password != null) {
             sb.append("xxxxxx");
-        else
+        } else {
             sb.append("null");
+        }
         sb.append(" [fingerPrint[").append(getFingerPrint());
         sb.append("]]");
         return sb.toString();
@@ -100,28 +106,32 @@
     public String getFingerPrint() {
         if (fingerPrint == null) {
             try {
-                MessageDigest md = MessageDigest.getInstance("MD5");
+                MessageDigest messageDigest = MessageDigest.getInstance("MD5");
                 byte delimer = (byte) '|';
-                md.update(delimer);
+                messageDigest.update(delimer);
                 String cf = lookup;
-                if (lookup == null)
+                if (lookup == null) {
                     cf = DEFAULT_CONNECTION_FACTORY;
-                md.update(cf.getBytes("ISO-8859-1"));
-                md.update(delimer);
-                md.update((byte) sessionMode);
-                md.update(delimer);
-                if (userName != null)
-                    md.update(userName.getBytes("ISO-8859-1"));
-                md.update(delimer);
-                if (password != null)
-                    md.update(password.getBytes("ISO-8859-1"));
-                md.update(delimer);
-                byte[] result = md.digest();
+                }
+                messageDigest.update(cf.getBytes("ISO-8859-1"));
+                messageDigest.update(delimer);
+                messageDigest.update((byte) sessionMode);
+                messageDigest.update(delimer);
+                if (userName != null) {
+                    messageDigest.update(userName.getBytes("ISO-8859-1"));
+                }
+                messageDigest.update(delimer);
+                if (password != null) {
+                    messageDigest.update(password.getBytes("ISO-8859-1"));
+                }
+                messageDigest.update(delimer);
+                byte[] result = messageDigest.digest();
                 StringBuffer buff = new StringBuffer();
-                for(int i=0; i<result.length; i++) {
+                for (int i = 0; i < result.length; i++) {
                     String byteStr = Integer.toHexString(result[i] & 0xFF);
-                    if(byteStr.length() < 2)
+                    if (byteStr.length() < 2) {
                         buff.append('0');
+                    }
                     buff.append(byteStr);
                 }
                 fingerPrint = buff.toString();
@@ -132,9 +142,11 @@
         return fingerPrint;
     }
 
-    private boolean isPasswordAlias(String password){
-        if (password != null && password.startsWith("${ALIAS="))
+    private boolean isPasswordAlias(String password) {
+        if (password != null && password.startsWith("${ALIAS=")) {
             return true;
+        }
+
         return false;
     }
 
@@ -142,15 +154,18 @@
         if (password != null && isPasswordAlias(password)) {
             try {
                 String unalisedPwd = RelativePathResolver.getRealPasswordFromAlias(password);
-                if (unalisedPwd != null && !"".equals(unalisedPwd))
+                if (unalisedPwd != null && !"".equals(unalisedPwd)) {
                     return unalisedPwd;
+                }
             } catch (Exception e) {
                 if (logger.isLoggable(Level.WARNING)) {
-                    logger.log(Level.WARNING, localStrings.getLocalString("decrypt.password.fail",
-                               "Failed to unalias password for the reason: {0}."), e.toString());
+                    logger.log(Level.WARNING,
+                            localStrings.getLocalString("decrypt.password.fail", "Failed to unalias password for the reason: {0}."),
+                            e.toString());
                 }
             }
         }
+
         return password;
     }
 }
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/RequestedJMSContextManager.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/RequestedJMSContextManager.java
index f91fa8b..8a094f1 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/RequestedJMSContextManager.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/RequestedJMSContextManager.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -20,10 +21,9 @@
 
 @RequestScoped
 public class RequestedJMSContextManager extends AbstractJMSContextManager {
-    public RequestedJMSContextManager() {
-        super();
-    }
+    private static final long serialVersionUID = 1L;
 
+    @Override
     public String getType() {
         return "RequestScoped";
     }
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/TransactedJMSContextManager.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/TransactedJMSContextManager.java
index 472c580..667ab80 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/TransactedJMSContextManager.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/TransactedJMSContextManager.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -20,10 +21,9 @@
 
 @TransactionScoped
 public class TransactedJMSContextManager extends AbstractJMSContextManager {
-    public TransactedJMSContextManager() {
-        super();
-    }
+    private static final long serialVersionUID = 1L;
 
+    @Override
     public String getType() {
         return "TransactionScoped";
     }
diff --git a/appserver/jms/jms-core/pom.xml b/appserver/jms/jms-core/pom.xml
index 24075fe..04ce39b 100644
--- a/appserver/jms/jms-core/pom.xml
+++ b/appserver/jms/jms-core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jms</groupId>
         <artifactId>jms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/jms/jmsra/pom.xml b/appserver/jms/jmsra/pom.xml
index 97ff911..3dad2f1 100644
--- a/appserver/jms/jmsra/pom.xml
+++ b/appserver/jms/jmsra/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.jms</groupId>
         <artifactId>jms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -44,7 +44,7 @@
         <dependency>
             <groupId>org.glassfish.mq</groupId>
             <artifactId>mq-distribution</artifactId>
-            <version>${mq.version}</version>
+            <version>${openmq.version}</version>
             <type>zip</type>
         </dependency>
     </dependencies>
diff --git a/appserver/jms/pom.xml b/appserver/jms/pom.xml
index 6ccfafb..9e47079 100644
--- a/appserver/jms/pom.xml
+++ b/appserver/jms/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/ldapbp/pom.xml b/appserver/ldapbp/pom.xml
index 5427954..4b279c9 100644
--- a/appserver/ldapbp/pom.xml
+++ b/appserver/ldapbp/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.ldapbp</groupId>
diff --git a/appserver/libpam4j/pom.xml b/appserver/libpam4j/pom.xml
index c4b2641..6796c44 100644
--- a/appserver/libpam4j/pom.xml
+++ b/appserver/libpam4j/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.libpam4j</groupId>
diff --git a/appserver/load-balancer/admin/pom.xml b/appserver/load-balancer/admin/pom.xml
index 3e61cc4..2695d16 100644
--- a/appserver/load-balancer/admin/pom.xml
+++ b/appserver/load-balancer/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.loadbalancer</groupId>
         <artifactId>load-balancer</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/load-balancer/gf-load-balancer-connector/pom.xml b/appserver/load-balancer/gf-load-balancer-connector/pom.xml
index a7604bd..974c521 100644
--- a/appserver/load-balancer/gf-load-balancer-connector/pom.xml
+++ b/appserver/load-balancer/gf-load-balancer-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.loadbalancer</groupId>
         <artifactId>load-balancer</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/load-balancer/pom.xml b/appserver/load-balancer/pom.xml
index 6227787..4bdcebb 100644
--- a/appserver/load-balancer/pom.xml
+++ b/appserver/load-balancer/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/orb/orb-connector/pom.xml b/appserver/orb/orb-connector/pom.xml
index aef716e..1f7e766 100755
--- a/appserver/orb/orb-connector/pom.xml
+++ b/appserver/orb/orb-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.orb</groupId>
         <artifactId>orb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>orb-connector</artifactId>
@@ -151,8 +151,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/orb/orb-enabler/pom.xml b/appserver/orb/orb-enabler/pom.xml
index 56eae4e..8364d42 100755
--- a/appserver/orb/orb-enabler/pom.xml
+++ b/appserver/orb/orb-enabler/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.orb</groupId>
         <artifactId>orb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -62,6 +62,7 @@
             <version>${project.version}</version>
         </dependency>
     </dependencies>
+
     <build>
         <resources>
             <resource>
diff --git a/appserver/orb/orb-iiop/pom.xml b/appserver/orb/orb-iiop/pom.xml
index e0713cc..72b32a9 100755
--- a/appserver/orb/orb-iiop/pom.xml
+++ b/appserver/orb/orb-iiop/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.orb</groupId>
         <artifactId>orb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>orb-iiop</artifactId>
diff --git a/appserver/orb/pom.xml b/appserver/orb/pom.xml
index 75b3b5b..6d0f51b 100755
--- a/appserver/orb/pom.xml
+++ b/appserver/orb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/osgi-platforms/felix-webconsole-extension/pom.xml b/appserver/osgi-platforms/felix-webconsole-extension/pom.xml
index 8534d5c..e9134f5 100644
--- a/appserver/osgi-platforms/felix-webconsole-extension/pom.xml
+++ b/appserver/osgi-platforms/felix-webconsole-extension/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.osgi-platforms</groupId>
         <artifactId>osgi-console-extensions</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>felix-webconsole-extension</artifactId>
diff --git a/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml b/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml
index 3374b22..a420f49 100644
--- a/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml
+++ b/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
        <groupId>org.glassfish.main.admingui</groupId>
        <artifactId>admingui</artifactId>
-       <version>6.2.6-SNAPSHOT</version>
+       <version>7.0.0-SNAPSHOT</version>
        <relativePath>../../admingui/pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/osgi-platforms/pom.xml b/appserver/osgi-platforms/pom.xml
index 67608d1..39d819e 100644
--- a/appserver/osgi-platforms/pom.xml
+++ b/appserver/osgi-platforms/pom.xml
@@ -23,7 +23,7 @@
     <parent>
       <groupId>org.glassfish.main</groupId>
       <artifactId>glassfish-parent</artifactId>
-      <version>6.2.6-SNAPSHOT</version>
+      <version>7.0.0-SNAPSHOT</version>
       <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/cmp/cmp-all/pom.xml b/appserver/persistence/cmp/cmp-all/pom.xml
index f691aa0..3545927 100755
--- a/appserver/persistence/cmp/cmp-all/pom.xml
+++ b/appserver/persistence/cmp/cmp-all/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/cmp/cmp-scripts/pom.xml b/appserver/persistence/cmp/cmp-scripts/pom.xml
index 82fd922..6716ec1 100755
--- a/appserver/persistence/cmp/cmp-scripts/pom.xml
+++ b/appserver/persistence/cmp/cmp-scripts/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cmp-scripts</artifactId>
@@ -49,5 +49,6 @@
       the transitive dependency handling in Maven.
     -->
     <packaging>distribution-fragment</packaging>
+
     <name>GlassFish cmp scripts</name>
 </project>
diff --git a/appserver/persistence/cmp/ejb-mapping/pom.xml b/appserver/persistence/cmp/ejb-mapping/pom.xml
index 256560d..e15c684 100644
--- a/appserver/persistence/cmp/ejb-mapping/pom.xml
+++ b/appserver/persistence/cmp/ejb-mapping/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/cmp/enhancer/pom.xml b/appserver/persistence/cmp/enhancer/pom.xml
index 420f6a5..f2ad91a 100644
--- a/appserver/persistence/cmp/enhancer/pom.xml
+++ b/appserver/persistence/cmp/enhancer/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/cmp/generator-database/pom.xml b/appserver/persistence/cmp/generator-database/pom.xml
index d4b6700..8c9099d 100644
--- a/appserver/persistence/cmp/generator-database/pom.xml
+++ b/appserver/persistence/cmp/generator-database/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/cmp/internal-api/pom.xml b/appserver/persistence/cmp/internal-api/pom.xml
index 99c79df..002f788 100644
--- a/appserver/persistence/cmp/internal-api/pom.xml
+++ b/appserver/persistence/cmp/internal-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/cmp/model/pom.xml b/appserver/persistence/cmp/model/pom.xml
index f75aab2..1cb270b 100644
--- a/appserver/persistence/cmp/model/pom.xml
+++ b/appserver/persistence/cmp/model/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/cmp/pom.xml b/appserver/persistence/cmp/pom.xml
index f2f65ae..1a9fcfe 100644
--- a/appserver/persistence/cmp/pom.xml
+++ b/appserver/persistence/cmp/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence</groupId>
         <artifactId>persistence</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.persistence.cmp</groupId>
diff --git a/appserver/persistence/cmp/support-ejb/pom.xml b/appserver/persistence/cmp/support-ejb/pom.xml
index a722f38..ade9576 100644
--- a/appserver/persistence/cmp/support-ejb/pom.xml
+++ b/appserver/persistence/cmp/support-ejb/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-	Copyright (c) 2021 Contributors to the Eclipse Foundation
+  Copyright (c) 2021 Contributors to the Eclipse Foundation
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cmp-support-ejb</artifactId>
diff --git a/appserver/persistence/cmp/support-sqlstore/pom.xml b/appserver/persistence/cmp/support-sqlstore/pom.xml
index f15d9d1..171a031 100644
--- a/appserver/persistence/cmp/support-sqlstore/pom.xml
+++ b/appserver/persistence/cmp/support-sqlstore/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-	Copyright (c) 2021 Contributors to the Eclipse Foundation
+  Copyright (c) 2021 Contributors to the Eclipse Foundation
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence.cmp</groupId>
         <artifactId>cmp</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cmp-support-sqlstore</artifactId>
diff --git a/appserver/persistence/cmp/utility/pom.xml b/appserver/persistence/cmp/utility/pom.xml
index f70b8b6..7416006 100644
--- a/appserver/persistence/cmp/utility/pom.xml
+++ b/appserver/persistence/cmp/utility/pom.xml
@@ -23,7 +23,7 @@
     <parent>
        <groupId>org.glassfish.main.persistence.cmp</groupId>
        <artifactId>cmp</artifactId>
-       <version>6.2.6-SNAPSHOT</version>
+       <version>7.0.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/common/pom.xml b/appserver/persistence/common/pom.xml
index c5b5a11..39f5e16 100644
--- a/appserver/persistence/common/pom.xml
+++ b/appserver/persistence/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence</groupId>
         <artifactId>persistence</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/eclipselink-wrapper/pom.xml b/appserver/persistence/eclipselink-wrapper/pom.xml
index 45d0ef3..394288c 100644
--- a/appserver/persistence/eclipselink-wrapper/pom.xml
+++ b/appserver/persistence/eclipselink-wrapper/pom.xml
@@ -23,7 +23,7 @@
     <parent>
        <groupId>org.glassfish.main.persistence</groupId>
        <artifactId>persistence</artifactId>
-       <version>6.2.6-SNAPSHOT</version>
+       <version>7.0.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/entitybean-container/pom.xml b/appserver/persistence/entitybean-container/pom.xml
index 6652e03..f3fab37 100644
--- a/appserver/persistence/entitybean-container/pom.xml
+++ b/appserver/persistence/entitybean-container/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence</groupId>
         <artifactId>persistence</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/gf-jpa-connector/pom.xml b/appserver/persistence/gf-jpa-connector/pom.xml
index 4e0d5be..36605b6 100644
--- a/appserver/persistence/gf-jpa-connector/pom.xml
+++ b/appserver/persistence/gf-jpa-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence</groupId>
         <artifactId>persistence</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/jpa-container/pom.xml b/appserver/persistence/jpa-container/pom.xml
index 939f482..6e18426 100644
--- a/appserver/persistence/jpa-container/pom.xml
+++ b/appserver/persistence/jpa-container/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence</groupId>
         <artifactId>persistence</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
index 20efec8..2fdd5af 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to the Eclipse Foundation.
  * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -34,6 +35,7 @@
 
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.spi.ClassTransformer;
+import jakarta.persistence.spi.TransformerException;
 import jakarta.validation.Validation;
 import jakarta.validation.ValidatorFactory;
 
@@ -78,7 +80,11 @@
             public byte[] transform(
                     ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain,
                     byte[] classfileBuffer) throws IllegalClassFormatException {
-                return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
+                try {
+                    return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
+                } catch (TransformerException e) {
+                    throw (IllegalClassFormatException) (new IllegalClassFormatException().initCause(e));
+                }
             }
         });
     }
diff --git a/appserver/persistence/oracle-jdbc-driver-packages/pom.xml b/appserver/persistence/oracle-jdbc-driver-packages/pom.xml
index 97b3575..9cf4985 100755
--- a/appserver/persistence/oracle-jdbc-driver-packages/pom.xml
+++ b/appserver/persistence/oracle-jdbc-driver-packages/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.persistence</groupId>
         <artifactId>persistence</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-oracle-jdbc-driver-packages</artifactId>
diff --git a/appserver/persistence/pom.xml b/appserver/persistence/pom.xml
index 4a85b25..d71c029 100644
--- a/appserver/persistence/pom.xml
+++ b/appserver/persistence/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.persistence</groupId>
diff --git a/appserver/pom.xml b/appserver/pom.xml
index 41db196..69fcd29 100644
--- a/appserver/pom.xml
+++ b/appserver/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021, 2022 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../nucleus/pom.xml</relativePath>
     </parent>
 
@@ -76,93 +77,84 @@
     </scm>
 
     <properties>
-        <product.name>Eclipse GlassFish</product.name>
-        <brief_product_name>GlassFish</brief_product_name>
-        <abbrev_product_name>glassfish</abbrev_product_name>
-        <admin_client_command_name>asadmin</admin_client_command_name>
-        <default_domain_template>appserver-domain.jar</default_domain_template>
-        <version_prefix />
-        <version_suffix />
-        <major_version>6</major_version>
-        <minor_version>2</minor_version>
-        <update_version>6</update_version>
-        <install.dir.name>glassfish6</install.dir.name>
+        <!-- Jakarta API Versions -->
 
         <!-- Jakarta Faces -->
-        <jakarta.faces-api.version>3.0.0</jakarta.faces-api.version>
-        <mojarra.version>3.0.1</mojarra.version>
+        <jakarta.faces-api.version>4.0.0-M3</jakarta.faces-api.version>
+        <mojarra.version>4.0.0-M5</mojarra.version>
 
         <!-- Jakarta WebSocket -->
-        <websocket-api.version>2.0.0</websocket-api.version>
-        <tyrus.version>2.0.2</tyrus.version>
+        <jakarta.websocket-api.version>2.1.0</jakarta.websocket-api.version>
+        <tyrus.version>2.1.0-M1</tyrus.version>
 
         <!-- Jakarta Concurrency -->
-        <concurrent-api.version>2.0.0</concurrent-api.version>
+        <jakarta.concurrent-api.version>2.0.0</jakarta.concurrent-api.version>
         <concurrent.version>2.0.0</concurrent.version>
 
         <!-- Jakarta Interceptors -->
-        <jakarta.interceptor-api.version>2.0.0</jakarta.interceptor-api.version>
+        <jakarta.interceptor-api.version>2.1.0</jakarta.interceptor-api.version>
 
-        <!-- Jakarta EE Security + Authentication/Authorization -->
-        <jakarta.security.enterprise-api.version>2.0.0</jakarta.security.enterprise-api.version>
-        <jakarta.authorization-api.version>2.0.0</jakarta.authorization-api.version>
-        <jakarta.authentication-api.version>2.0.0</jakarta.authentication-api.version>
+        <!-- Jakarta Security + Authentication/Authorization -->
+        <jakarta.security-api.version>2.0.0</jakarta.security-api.version>
+        <jakarta.authorization-api.version>2.1.0-RC1</jakarta.authorization-api.version>
+        <jakarta.authentication-api.version>3.0.0-RC2</jakarta.authentication-api.version>
         <soteria.version>2.0.1</soteria.version>
-        <exousia.version>1.0.0</exousia.version>
+        <exousia.version>2.1.0-M1</exousia.version>
 
         <!-- Jakarta Messaging -->
-        <jms-api.version>3.0.0</jms-api.version>
-        <mq.version>6.2.0</mq.version>
+        <jakarta.messaging-api.version>3.1.0</jakarta.messaging-api.version>
+        <openmq.version>6.3.0-RC1</openmq.version>
 
         <!-- Jakarta Persistence -->
-        <jakarta-persistence-api.version>3.0.0</jakarta-persistence-api.version>
-        <eclipselink.version>3.0.2</eclipselink.version>
+        <jakarta.persistence-api.version>3.1.0-RC2</jakarta.persistence-api.version>
+        <eclipselink.version>4.0.0-M1</eclipselink.version>
         <eclipselink.asm.version>9.2.0</eclipselink.asm.version>
 
-
         <!-- Jakarta Transactions -->
-        <jakarta.transaction-api.version>2.0.0</jakarta.transaction-api.version>
+        <jakarta.transaction-api.version>2.0.1-RC1</jakarta.transaction-api.version>
 
         <!-- Jakarta Connectors -->
-        <jakarta.resource-api.version>2.0.0</jakarta.resource-api.version>
+        <jakarta.resource-api.version>2.1.0</jakarta.resource-api.version>
 
         <!-- Jakarta Batch -->
-        <jakarta.batch-api.version>2.0.0</jakarta.batch-api.version>
-        <com.ibm.jbatch.container.version>2.0.0</com.ibm.jbatch.container.version>
-        <com.ibm.jbatch.spi.version>2.0.0</com.ibm.jbatch.spi.version>
+        <jakarta.batch-api.version>2.1.0</jakarta.batch-api.version>
+        <jbatch.version>2.1.0-M2</jbatch.version>
 
         <!-- Jakarta Enterprise beans -->
         <jakarta.ejb-api.version>4.0.0</jakarta.ejb-api.version>
 
         <!-- Jakarta JSON -->
-        <jsonp-api.version>2.0.1</jsonp-api.version>
-        <jsonp-ri.version>2.0.1</jsonp-ri.version>
+        <jakarta.jsonp-api.version>2.1.0</jakarta.jsonp-api.version>
+        <parsson.version>1.1.0</parsson.version>
         <jsonp-jaxrs.version>2.0.1</jsonp-jaxrs.version>
-        <json.bind-api.version>2.0.0</json.bind-api.version>
-        <yasson.version>2.0.4</yasson.version>
+        <jakarta.json.bind-api.version>3.0.0</jakarta.json.bind-api.version>
+        <yasson.version>3.0.0-RC1</yasson.version>
 
-        <!-- Jakarta Server Pages -->
-        <jsp-api.version>3.0.0</jsp-api.version>
-        <wasp.version>3.0.1</wasp.version>
+        <!-- Jakarta Pages -->
+        <jakarta.pages-api.version>3.1.0</jakarta.pages-api.version>
+        <wasp.version>3.1.0-M1</wasp.version>
 
-        <!-- Used for Jakarta XML Web Services -->
-        <woodstox.version>6.2.5</woodstox.version>
+        <!-- Used for Jakarta SOAP (XML Web Services) -->
+        <xmlsec.version>2.1.7</xmlsec.version>
+        <woodstox.version>6.2.8</woodstox.version>
         <stax2-api.version>4.2.1</stax2-api.version>
 
         <!-- Jakarta Standard Tag Library -->
-        <jstl-api.version>2.0.0</jstl-api.version>
-        <jstl-impl.version>2.0.0</jstl-impl.version>
+        <jstl-api.version>3.0.0-RC1</jstl-api.version>
+        <jstl-impl.version>3.0.0-M1</jstl-impl.version>
 
-        <!-- CDI -->
-        <cdi-api.version>3.0.0</cdi-api.version>
-        <weld.version>4.0.2.Final</weld.version>
+        <!-- Jakarta CDI -->
+        <jakarta.cdi-api.version>4.0.0</jakarta.cdi-api.version>
+        <weld.version>5.0.0.CR1</weld.version>
         <jboss.classfilewriter.version>1.2.5.Final</jboss.classfilewriter.version>
 
         <!-- Jakarta MVC -->
-        <mvc-api.version>2.0.0</mvc-api.version>
+        <jakarta.mvc-api.version>2.0.0</jakarta.mvc-api.version>
         <krazo.version>2.0.1</krazo.version>
 
+
         <!-- Admin console components -->
+        
         <jsftemplating.version>3.0.0</jsftemplating.version>
         <jsf-ext.version>0.2</jsf-ext.version>
         <woodstock.version>5.0.0</woodstock.version>
@@ -171,12 +163,29 @@
         <woodstock-json.version>2.0</woodstock-json.version>
         <woodstock-prototype.version>1.7.3</woodstock-prototype.version>
 
+
         <!-- Other -->
+        
         <dbschema.version>6.7</dbschema.version>
         <schema2beans.version>6.7</schema2beans.version>
         <derby.version>10.15.2.0</derby.version>
-        <wsdl4j.version>1.5.0</wsdl4j.version>
+        <wsdl4j.version>1.6.3</wsdl4j.version>
         <maven-rar-plugin.version>2.4</maven-rar-plugin.version>
+        
+        
+        <!-- Settings -->
+        
+        <product.name>Eclipse GlassFish</product.name>
+        <brief_product_name>GlassFish</brief_product_name>
+        <abbrev_product_name>glassfish</abbrev_product_name>
+        <admin_client_command_name>asadmin</admin_client_command_name>
+        <default_domain_template>appserver-domain.jar</default_domain_template>
+        <version_prefix />
+        <version_suffix />
+        <major_version>7</major_version>
+        <minor_version>0</minor_version>
+        <update_version>0</update_version>
+        <install.dir.name>glassfish7</install.dir.name>
     </properties>
 
     <dependencyManagement>
@@ -197,7 +206,12 @@
             <dependency>
                 <groupId>jakarta.websocket</groupId>
                 <artifactId>jakarta.websocket-api</artifactId>
-                <version>${websocket-api.version}</version>
+                <version>${jakarta.websocket-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>jakarta.websocket</groupId>
+                <artifactId>jakarta.websocket-client-api</artifactId>
+                <version>${jakarta.websocket-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish.tyrus</groupId>
@@ -211,7 +225,7 @@
             <dependency>
                 <groupId>jakarta.enterprise.concurrent</groupId>
                 <artifactId>jakarta.enterprise.concurrent-api</artifactId>
-                <version>${concurrent-api.version}</version>
+                <version>${jakarta.concurrent-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish</groupId>
@@ -230,7 +244,7 @@
             <dependency>
                 <groupId>jakarta.security.enterprise</groupId>
                 <artifactId>jakarta.security.enterprise-api</artifactId>
-                <version>${jakarta.security.enterprise-api.version}</version>
+                <version>${jakarta.security-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>jakarta.authentication</groupId>
@@ -268,12 +282,12 @@
             <dependency>
                 <groupId>jakarta.jms</groupId>
                 <artifactId>jakarta.jms-api</artifactId>
-                <version>${jms-api.version}</version>
+                <version>${jakarta.messaging-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish.mq</groupId>
                 <artifactId>mq-distribution</artifactId>
-                <version>${mq.version}</version>
+                <version>${openmq.version}</version>
             </dependency>
              <dependency>
                 <groupId>com.sun.messaging.mq</groupId>
@@ -285,7 +299,7 @@
             <dependency>
                 <groupId>jakarta.persistence</groupId>
                 <artifactId>jakarta.persistence-api</artifactId>
-                <version>${jakarta-persistence-api.version}</version>
+                <version>${jakarta.persistence-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.eclipse.persistence</groupId>
@@ -356,12 +370,12 @@
             <dependency>
                 <groupId>com.ibm.jbatch</groupId>
                 <artifactId>com.ibm.jbatch.container</artifactId>
-                <version>${com.ibm.jbatch.container.version}</version>
+                <version>${jbatch.version}</version>
             </dependency>
             <dependency>
                 <groupId>com.ibm.jbatch</groupId>
                 <artifactId>com.ibm.jbatch.spi</artifactId>
-                <version>${com.ibm.jbatch.spi.version}</version>
+                <version>${jbatch.version}</version>
             </dependency>
 
             <!-- Jakarta Validation -->
@@ -371,11 +385,11 @@
                 <version>${hibernate-validator.version}</version>
             </dependency>
 
-            <!-- Jakarta Expression Language Impl -->
+            <!-- Expressly - Jakarta Expression Language Impl -->
             <dependency>
-                <groupId>org.glassfish</groupId>
-                <artifactId>jakarta.el</artifactId>
-                <version>${jakarta.el.version}</version>
+                <groupId>org.glassfish.expressly</groupId>
+                <artifactId>expressly</artifactId>
+                <version>${expressly.version}</version>
             </dependency>
 
             <!-- Jakarta Enterprise beans -->
@@ -389,34 +403,34 @@
             <dependency>
                 <groupId>jakarta.json</groupId>
                 <artifactId>jakarta.json-api</artifactId>
-                <version>${jsonp-api.version}</version>
+                <version>${jakarta.jsonp-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>jakarta.json.bind</groupId>
                 <artifactId>jakarta.json.bind-api</artifactId>
-                <version>${json.bind-api.version}</version>
+                <version>${jakarta.json.bind-api.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.glassfish</groupId>
-                <artifactId>jakarta.json</artifactId>
-                <version>${jsonp-ri.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish</groupId>
-                <artifactId>jsonp-jaxrs</artifactId>
-                <version>${jsonp-jaxrs.version}</version>
+                <groupId>org.eclipse.parsson</groupId>
+                <artifactId>parsson</artifactId>
+                <version>${parsson.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.eclipse</groupId>
                 <artifactId>yasson</artifactId>
                 <version>${yasson.version}</version>
             </dependency>
+             <dependency>
+                <groupId>org.glassfish</groupId>
+                <artifactId>jsonp-jaxrs</artifactId>
+                <version>${jsonp-jaxrs.version}</version>
+            </dependency>
 
-            <!-- Jakarta Server Pages -->
+            <!-- Jakarta Pages -->
             <dependency>
                 <groupId>jakarta.servlet.jsp</groupId>
                 <artifactId>jakarta.servlet.jsp-api</artifactId>
-                <version>${jsp-api.version}</version>
+                <version>${jakarta.pages-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish.wasp</groupId>
@@ -436,6 +450,16 @@
                 <version>${webservices.version}</version>
             </dependency>
             <dependency>
+                <groupId>org.glassfish.metro</groupId>
+                <artifactId>webservices-extra-xmlsec</artifactId>
+                <version>${webservices.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.santuario</groupId>
+                <artifactId>xmlsec</artifactId>
+                <version>${xmlsec.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>com.fasterxml.woodstox</groupId>
                 <artifactId>woodstox-core</artifactId>
                 <version>${woodstox.version}</version>
@@ -450,7 +474,7 @@
             <dependency>
                 <groupId>jakarta.xml.bind</groupId>
                 <artifactId>jakarta.xml.bind-api</artifactId>
-                <version>${jakarta.jaxb-api.version}</version>
+                <version>${jakarta.xml.bind-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>com.sun.xml.bind</groupId>
@@ -470,11 +494,11 @@
                 <version>${jstl-impl.version}</version>
             </dependency>
 
-            <!-- CDI -->
+            <!-- Jakarta CDI -->
             <dependency>
                 <groupId>jakarta.enterprise</groupId>
                 <artifactId>jakarta.enterprise.cdi-api</artifactId>
-                <version>${cdi-api.version}</version>
+                <version>${jakarta.cdi-api.version}</version>
                 <exclusions>
                     <exclusion>
                         <groupId>jakarta.inject</groupId>
@@ -483,6 +507,11 @@
                 </exclusions>
             </dependency>
             <dependency>
+                <groupId>jakarta.enterprise</groupId>
+                <artifactId>jakarta.enterprise.lang-model</artifactId>
+                <version>${jakarta.cdi-api.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.jboss.weld</groupId>
                 <artifactId>weld-osgi-bundle</artifactId>
                 <version>${weld.version}</version>
@@ -513,7 +542,7 @@
             <dependency>
                 <groupId>jakarta.mvc</groupId>
                 <artifactId>jakarta.mvc-api</artifactId>
-                <version>${mvc-api.version}</version>
+                <version>${jakarta.mvc-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.eclipse.krazo</groupId>
@@ -679,28 +708,38 @@
                     <specs>
                         <spec>
                             <artifact>
-                                <groupId>com.sun.mail</groupId>
-                                <artifactId>jakarta.mail</artifactId>
-                                <version>${mail.version}</version>
+                                <groupId>jakarta.activation</groupId>
+                                <artifactId>jakarta.activation-api</artifactId>
+                                <version>${activation.version}</version>
                             </artifact>
-                            <jarType>impl</jarType>
-                            <specVersion>2.0</specVersion>
-                            <implVersion>2.0.0</implVersion>
-                            <apiPackage>jakarta.mail</apiPackage>
-                            <implNamespace>com.sun.mail</implNamespace>
+                            <jarType>api</jarType>
+                            <specVersion>2.1</specVersion>
+                            <specImplVersion>${activation.version}</specImplVersion>
+                            <apiPackage>jakarta.activation</apiPackage>
                         </spec>
                         <spec>
                             <artifact>
-                                <groupId>org.glassfish</groupId>
-                                <artifactId>jakarta.json</artifactId>
-                                <version>${jsonp-ri.version}</version>
+                                <groupId>jakarta.mail</groupId>
+                                <artifactId>jakarta.mail-api</artifactId>
+                                <version>${mail.version}</version>
+                            </artifact>
+                            <jarType>api</jarType>
+                            <specVersion>2.1</specVersion>
+                            <specImplVersion>${mail.version}</specImplVersion>
+                            <apiPackage>jakarta.mail</apiPackage>
+                        </spec>
+                        <spec>
+                            <artifact>
+                                <groupId>org.eclipse.parsson</groupId>
+                                <artifactId>parsson</artifactId>
+                                <version>${parsson.version}</version>
                             </artifact>
                             <nonFinal>false</nonFinal>
                             <jarType>impl</jarType>
                             <specVersion>1.1</specVersion>
-                            <implVersion>${jsonp-ri.version}</implVersion>
+                            <implVersion>${parsson.version}</implVersion>
                             <apiPackage>jakarta.json</apiPackage>
-                            <implNamespace>org.glassfish</implNamespace>
+                            <implNamespace>org.eclipse</implNamespace>
                         </spec>
                         <spec>
                             <artifact>
@@ -792,24 +831,24 @@
                             <artifact>
                                 <groupId>jakarta.jms</groupId>
                                 <artifactId>jakarta.jms-api</artifactId>
-                                <version>${jms-api.version}</version>
+                                <version>${jakarta.messaging-api.version}</version>
                             </artifact>
                             <nonFinal>false</nonFinal>
                             <jarType>api</jarType>
-                            <specVersion>${jms-api.version}</specVersion>
-                            <specImplVersion>${jms-api.version}</specImplVersion>
+                            <specVersion>${jakarta.messaging-api.version}</specVersion>
+                            <specImplVersion>${jakarta.messaging-api.version}</specImplVersion>
                             <apiPackage>jakarta.jms</apiPackage>
                         </spec>
                         <spec>
                             <artifact>
                                 <groupId>jakarta.enterprise.concurrent</groupId>
                                 <artifactId>jakarta.enterprise.concurrent-api</artifactId>
-                                <version>${concurrent-api.version}</version>
+                                <version>${jakarta.concurrent-api.version}</version>
                             </artifact>
                             <nonFinal>false</nonFinal>
                             <jarType>api</jarType>
-                            <specVersion>${concurrent-api.version}</specVersion>
-                            <specImplVersion>${concurrent-api.version}</specImplVersion>
+                            <specVersion>${jakarta.concurrent-api.version}</specVersion>
+                            <specImplVersion>${jakarta.concurrent-api.version}</specImplVersion>
                             <apiPackage>jakarta.enterprise.concurrent</apiPackage>
                         </spec>
                         <spec>
@@ -840,24 +879,24 @@
                             <artifact>
                                 <groupId>jakarta.websocket</groupId>
                                 <artifactId>jakarta.websocket-api</artifactId>
-                                <version>${websocket-api.version}</version>
+                                <version>${jakarta.websocket-api.version}</version>
                             </artifact>
                             <nonFinal>false</nonFinal>
                             <jarType>api</jarType>
-                            <specVersion>2.0</specVersion>
-                            <specImplVersion>${websocket-api.version}</specImplVersion>
+                            <specVersion>2.1</specVersion>
+                            <specImplVersion>${jakarta.websocket-api.version}</specImplVersion>
                             <apiPackage>jakarta.websocket</apiPackage>
                         </spec>
                         <spec>
                             <artifact>
                                 <groupId>jakarta.ws.rs</groupId>
                                 <artifactId>jakarta.ws.rs-api</artifactId>
-                                <version>${jax-rs-api.impl.version}</version>
+                                <version>${jakarta.rest-api.version}</version>
                             </artifact>
                             <nonFinal>false</nonFinal>
                             <jarType>api</jarType>
-                            <specVersion>${jax-rs-api.spec.version}</specVersion>
-                            <specImplVersion>${jax-rs-api.impl.version}</specImplVersion>
+                            <specVersion>${jakarta.rest-api.version}</specVersion>
+                            <specImplVersion>${jakarta.rest-api.version}</specImplVersion>
                             <apiPackage>jakarta.ws.rs</apiPackage>
                         </spec>
                         <spec>
@@ -900,7 +939,7 @@
                             <artifact>
                                 <groupId>jakarta.servlet.jsp</groupId>
                                 <artifactId>jakarta.servlet.jsp-api</artifactId>
-                                <version>${jsp-api.version}</version>
+                                <version>${jakarta.pages-api.version}</version>
                             </artifact>
                             <nonFinal>false</nonFinal>
                             <jarType>api</jarType>
@@ -910,25 +949,25 @@
                         </spec>
                         <spec>
                             <artifact>
-                                <groupId>org.glassfish</groupId>
-                                <artifactId>jakarta.el</artifactId>
-                                <version>${jakarta.el.version}</version>
+                                <groupId>org.glassfish.expressly</groupId>
+                                <artifactId>expressly</artifactId>
+                                <version>${expressly.version}</version>
                             </artifact>
                             <jarType>impl</jarType>
-                            <specVersion>3.0</specVersion>
-                            <implVersion>3.0.0</implVersion>
+                            <specVersion>5.0</specVersion>
+                            <implVersion>5.0.0</implVersion>
                             <apiPackage>jakarta.el</apiPackage>
-                            <implNamespace>com.sun.el</implNamespace>
+                            <implNamespace>org.glassfish.expressly</implNamespace>
                         </spec>
                         <spec>
                             <artifact>
                                 <groupId>jakarta.security.enterprise</groupId>
-                                <artifactId>jakarta.security.enterprise-api</artifactId>
-                                <version>${jakarta.security.enterprise-api.version}</version>
+                                <artifactId>jakarta.security-api</artifactId>
+                                <version>${jakarta.security-api.version}</version>
                             </artifact>
                             <nonFinal>false</nonFinal>
                             <jarType>api</jarType>
-                            <specVersion>${jakarta.security.enterprise-api.version}</specVersion>
+                            <specVersion>${jakarta.security-api.version}</specVersion>
                             <specImplVersion>${jakarta.security.enterprise.version}</specImplVersion>
                             <apiPackage>javax.security.enterprise</apiPackage>
                             <implNamespace>org.glassfish.soteria</implNamespace>
diff --git a/appserver/resources/mail/mail-connector/pom.xml b/appserver/resources/mail/mail-connector/pom.xml
index 575dfeb..98396ac 100644
--- a/appserver/resources/mail/mail-connector/pom.xml
+++ b/appserver/resources/mail/mail-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.resources</groupId>
         <artifactId>mail</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>mail-connector</artifactId>
@@ -86,8 +86,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/appserver/resources/mail/mail-runtime/pom.xml b/appserver/resources/mail/mail-runtime/pom.xml
index 9777b98..387638a 100644
--- a/appserver/resources/mail/mail-runtime/pom.xml
+++ b/appserver/resources/mail/mail-runtime/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.resources</groupId>
         <artifactId>mail</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -74,8 +74,13 @@
             <artifactId>jakarta.interceptor-api</artifactId>
         </dependency>
         <dependency><!-- for FindBugs -->
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-mail</artifactId>
             <scope>provided</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/resources/mail/pom.xml b/appserver/resources/mail/pom.xml
index fd60384..26089ae 100644
--- a/appserver/resources/mail/pom.xml
+++ b/appserver/resources/mail/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.resources</groupId>
         <artifactId>resources</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>mail</artifactId>
@@ -38,8 +38,12 @@
 
     <dependencies>
         <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-mail</artifactId>
         </dependency>
     </dependencies>
 </project>
diff --git a/appserver/resources/pom.xml b/appserver/resources/pom.xml
index 5983ce7..c1c9115 100644
--- a/appserver/resources/pom.xml
+++ b/appserver/resources/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/resources/resources-connector/pom.xml b/appserver/resources/resources-connector/pom.xml
index 6afca35..237ffb7 100755
--- a/appserver/resources/resources-connector/pom.xml
+++ b/appserver/resources/resources-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.resources</groupId>
         <artifactId>resources</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -94,8 +94,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/appserver/resources/resources-runtime/pom.xml b/appserver/resources/resources-runtime/pom.xml
index 6fa6754..15b9579 100755
--- a/appserver/resources/resources-runtime/pom.xml
+++ b/appserver/resources/resources-runtime/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.resources</groupId>
         <artifactId>resources</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/security/appclient.security/pom.xml b/appserver/security/appclient.security/pom.xml
index c3e8b39..e3df3e8 100644
--- a/appserver/security/appclient.security/pom.xml
+++ b/appserver/security/appclient.security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>securitymodule</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>appclient.security</artifactId>
diff --git a/appserver/security/core-ee/pom.xml b/appserver/security/core-ee/pom.xml
index dcc6e09..ff80d69 100644
--- a/appserver/security/core-ee/pom.xml
+++ b/appserver/security/core-ee/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>securitymodule</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>security-ee</artifactId>
diff --git a/appserver/security/ejb.security/pom.xml b/appserver/security/ejb.security/pom.xml
index 6e29e66..fe42040 100644
--- a/appserver/security/ejb.security/pom.xml
+++ b/appserver/security/ejb.security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>securitymodule</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/security/jaspic-provider-framework/pom.xml b/appserver/security/jaspic-provider-framework/pom.xml
index 8fe2284..9999b44 100644
--- a/appserver/security/jaspic-provider-framework/pom.xml
+++ b/appserver/security/jaspic-provider-framework/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>securitymodule</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/BaseAuthConfigFactory.java b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/BaseAuthConfigFactory.java
index 8523dad..8215649 100644
--- a/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/BaseAuthConfigFactory.java
+++ b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/BaseAuthConfigFactory.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2022, 2022 Contributors to the Eclipse Foundation.
  * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,9 +17,9 @@
 
 package com.sun.jaspic.config.factory;
 
-import com.sun.jaspic.config.helper.JASPICLogManager;
 import java.lang.reflect.Constructor;
-
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -32,9 +33,14 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import com.sun.jaspic.config.factory.singlemodule.DefaultAuthConfigProvider;
+import com.sun.jaspic.config.helper.JASPICLogManager;
+
 import jakarta.security.auth.message.config.AuthConfigFactory;
 import jakarta.security.auth.message.config.AuthConfigProvider;
 import jakarta.security.auth.message.config.RegistrationListener;
+import jakarta.security.auth.message.module.ServerAuthModule;
+import jakarta.servlet.ServletContext;
 
 
 /**
@@ -45,6 +51,8 @@
 
     private static final Logger logger = Logger.getLogger(JASPICLogManager.JASPIC_LOGGER, JASPICLogManager.RES_BUNDLE);
 
+    private static final String CONTEXT_REGISTRATION_ID = "org.glassfish.security.message.registrationId";
+
     private static final ReadWriteLock rwLock = new ReentrantReadWriteLock(true);
     public static final Lock rLock = rwLock.readLock();
     public static final Lock wLock = rwLock.writeLock();
@@ -369,6 +377,70 @@
         }
     }
 
+    /**
+     * Gets the app context ID from the servlet context.
+     *
+     * <p>
+     * The app context ID is the ID that Jakarta Authentication associates with the given application.
+     * In this case that given application is the web application corresponding to the
+     * ServletContext.
+     *
+     * @param context the servlet context for which to obtain the Jakarta Authentication app context ID
+     * @return the app context ID for the web application corresponding to the given context
+     */
+    public static String getAppContextID(ServletContext context) {
+        return context.getVirtualServerName() + " " + context.getContextPath();
+    }
+
+    @Override
+    public String registerServerAuthModule(ServerAuthModule serverAuthModule, Object context) {
+        if (!(context instanceof ServletContext)) {
+            return null;
+        }
+
+        ServletContext servletContext = (ServletContext) context;
+
+        // Register the factory-factory-factory for the SAM
+        String registrationId = AccessController.doPrivileged(new PrivilegedAction<String>() {
+            @Override
+            public String run() {
+                return registerConfigProvider(
+                        new DefaultAuthConfigProvider(serverAuthModule),
+                        "HttpServlet",
+                        getAppContextID(servletContext),
+                        "Default single SAM authentication config provider");
+            }
+        });
+
+        // Remember the registration ID returned by the factory, so we can unregister the JASPIC module when the web module
+        // is undeployed. JASPIC being the low level API that it is won't do this automatically.
+        servletContext.setAttribute(CONTEXT_REGISTRATION_ID, registrationId);
+
+        return registrationId;
+    }
+
+    @Override
+    public void removeServerAuthModule(Object context) {
+        if (!(context instanceof ServletContext)) {
+            return;
+        }
+
+        ServletContext servletContext = (ServletContext) context;
+
+        String registrationId = (String) servletContext.getAttribute(CONTEXT_REGISTRATION_ID);
+        if (!isEmpty(registrationId)) {
+            AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
+                @Override
+                public Boolean run() {
+                    return removeRegistration(registrationId);
+                }
+            });
+        }
+    }
+
+    private static boolean isEmpty(String string) {
+        return string == null || string.isEmpty();
+    }
 
     private AuthConfigProvider getConfigProviderUnderLock(String layer, String appContext,
         RegistrationListener listener) {
diff --git a/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultAuthConfigProvider.java b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultAuthConfigProvider.java
new file mode 100644
index 0000000..5f19a29
--- /dev/null
+++ b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultAuthConfigProvider.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2022, 2022 Contributors to the Eclipse Foundation.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.jaspic.config.factory.singlemodule;
+
+import java.util.Map;
+
+import javax.security.auth.callback.CallbackHandler;
+
+import jakarta.security.auth.message.AuthException;
+import jakarta.security.auth.message.config.AuthConfigFactory;
+import jakarta.security.auth.message.config.AuthConfigProvider;
+import jakarta.security.auth.message.config.ClientAuthConfig;
+import jakarta.security.auth.message.config.ServerAuthConfig;
+import jakarta.security.auth.message.config.ServerAuthContext;
+import jakarta.security.auth.message.module.ServerAuthModule;
+
+/**
+ * This class functions as a kind of factory-factory for {@link ServerAuthConfig} instances, which are by themselves factories
+ * for {@link ServerAuthContext} instances, which are delegates for the actual {@link ServerAuthModule} (SAM) that we're after.
+ *
+ * @author Arjan Tijms
+ */
+public class DefaultAuthConfigProvider implements AuthConfigProvider {
+
+    private static final String CALLBACK_HANDLER_PROPERTY_NAME = "authconfigprovider.client.callbackhandler";
+
+    private Map<String, String> providerProperties;
+    private ServerAuthModule serverAuthModule;
+
+    public DefaultAuthConfigProvider(ServerAuthModule serverAuthModule) {
+        this.serverAuthModule = serverAuthModule;
+    }
+
+    /**
+     * Constructor with signature and implementation that's required by API.
+     *
+     * @param properties provider properties
+     * @param factory the auth config factory
+     */
+    public DefaultAuthConfigProvider(Map<String, String> properties, AuthConfigFactory factory) {
+        this.providerProperties = properties;
+
+        // API requires self registration if factory is provided. Not clear
+        // where the "layer" (2nd parameter)
+        // and especially "appContext" (3rd parameter) values have to come from
+        // at this place.
+        if (factory != null) {
+            // If this method ever gets called, it may throw a SecurityException.
+            // Don't bother with a PrivilegedAction as we don't expect to ever be
+            // constructed this way.
+            factory.registerConfigProvider(this, null, null, "Auto registration");
+        }
+    }
+
+    /**
+     * The actual factory method that creates the factory used to eventually obtain the delegate for a SAM.
+     */
+    @Override
+    public ServerAuthConfig getServerAuthConfig(String layer, String appContext, CallbackHandler handler) throws AuthException,
+        SecurityException {
+        return new DefaultServerAuthConfig(layer, appContext, handler == null ? createDefaultCallbackHandler() : handler,
+            providerProperties, serverAuthModule);
+    }
+
+    @Override
+    public ClientAuthConfig getClientAuthConfig(String layer, String appContext, CallbackHandler handler) throws AuthException,
+        SecurityException {
+        return null;
+    }
+
+    @Override
+    public void refresh() {
+    }
+
+    /**
+     * Creates a default callback handler via the system property "authconfigprovider.client.callbackhandler", as seemingly
+     * required by the API (API uses wording "may" create default handler). TODO: Isn't
+     * "authconfigprovider.client.callbackhandler" JBoss specific?
+     *
+     * @return
+     * @throws AuthException
+     */
+    private CallbackHandler createDefaultCallbackHandler() throws AuthException {
+        String callBackClassName = System.getProperty(CALLBACK_HANDLER_PROPERTY_NAME);
+
+        if (callBackClassName == null) {
+            throw new AuthException("No default handler set via system property: " + CALLBACK_HANDLER_PROPERTY_NAME);
+        }
+
+        try {
+            return (CallbackHandler)
+                Thread.currentThread()
+                      .getContextClassLoader()
+                      .loadClass(callBackClassName)
+                      .getDeclaredConstructor()
+                      .newInstance();
+        } catch (Exception e) {
+            throw new AuthException(e.getMessage());
+        }
+    }
+
+}
diff --git a/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultServerAuthConfig.java b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultServerAuthConfig.java
new file mode 100644
index 0000000..b1d950e
--- /dev/null
+++ b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultServerAuthConfig.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2022, 2022 Contributors to the Eclipse Foundation.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.jaspic.config.factory.singlemodule;
+
+import java.util.Map;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+
+import jakarta.security.auth.message.AuthException;
+import jakarta.security.auth.message.MessageInfo;
+import jakarta.security.auth.message.config.ServerAuthConfig;
+import jakarta.security.auth.message.config.ServerAuthContext;
+import jakarta.security.auth.message.module.ServerAuthModule;
+
+/**
+ * This class functions as a kind of factory for {@link ServerAuthContext} instances, which are delegates for the actual
+ * {@link ServerAuthModule} (SAM) that we're after.
+ *
+ * @author Arjan Tijms
+ */
+public class DefaultServerAuthConfig implements ServerAuthConfig {
+
+    private String layer;
+    private String appContext;
+    private CallbackHandler handler;
+    private Map<String, String> providerProperties;
+    private ServerAuthModule serverAuthModule;
+
+    public DefaultServerAuthConfig(String layer, String appContext, CallbackHandler handler,
+        Map<String, String> providerProperties, ServerAuthModule serverAuthModule) {
+        this.layer = layer;
+        this.appContext = appContext;
+        this.handler = handler;
+        this.providerProperties = providerProperties;
+        this.serverAuthModule = serverAuthModule;
+    }
+
+    @Override
+    public ServerAuthContext getAuthContext(String authContextID, Subject serviceSubject,
+        @SuppressWarnings("rawtypes") Map properties) throws AuthException {
+        return new DefaultServerAuthContext(handler, serverAuthModule);
+    }
+
+    // ### The methods below mostly just return what has been passed into the
+    // constructor.
+    // ### In practice they don't seem to be called
+
+    @Override
+    public String getMessageLayer() {
+        return layer;
+    }
+
+    /**
+     * It's not entirely clear what the difference is between the "application context identifier" (appContext) and the
+     * "authentication context identifier" (authContext). In early iterations of the specification, authContext was called
+     * "operation" and instead of the MessageInfo it was obtained by something called an "authParam".
+     */
+    @Override
+    public String getAuthContextID(MessageInfo messageInfo) {
+        return appContext;
+    }
+
+    @Override
+    public String getAppContext() {
+        return appContext;
+    }
+
+    @Override
+    public void refresh() {
+    }
+
+    @Override
+    public boolean isProtected() {
+        return false;
+    }
+
+    public Map<String, String> getProviderProperties() {
+        return providerProperties;
+    }
+
+}
diff --git a/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultServerAuthContext.java b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultServerAuthContext.java
new file mode 100644
index 0000000..86ef098
--- /dev/null
+++ b/appserver/security/jaspic-provider-framework/src/main/java/com/sun/jaspic/config/factory/singlemodule/DefaultServerAuthContext.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2022, 2022 Contributors to the Eclipse Foundation.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.jaspic.config.factory.singlemodule;
+
+import java.util.Collections;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+
+import jakarta.security.auth.message.AuthException;
+import jakarta.security.auth.message.AuthStatus;
+import jakarta.security.auth.message.MessageInfo;
+import jakarta.security.auth.message.ServerAuth;
+import jakarta.security.auth.message.config.ServerAuthContext;
+import jakarta.security.auth.message.module.ServerAuthModule;
+
+/**
+ * The Server Authentication Context is an extra (required) indirection between the Application Server and the actual Server
+ * Authentication Module (SAM). This can be used to encapsulate any number of SAMs and either select one at run-time, invoke
+ * them all in order, etc.
+ * <p>
+ * Since this simple example only has a single SAM, we delegate directly to that one. Note that this {@link ServerAuthContext}
+ * and the {@link ServerAuthModule} (SAM) share a common base interface: {@link ServerAuth}.
+ *
+ * @author Arjan Tijms
+ */
+public class DefaultServerAuthContext implements ServerAuthContext {
+
+    private final ServerAuthModule serverAuthModule;
+
+    public DefaultServerAuthContext(CallbackHandler handler, ServerAuthModule serverAuthModule) throws AuthException {
+        this.serverAuthModule = serverAuthModule;
+        serverAuthModule.initialize(null, null, handler, Collections.<String, Object> emptyMap());
+    }
+
+    @Override
+    public AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, Subject serviceSubject)
+        throws AuthException {
+        return serverAuthModule.validateRequest(messageInfo, clientSubject, serviceSubject);
+    }
+
+    @Override
+    public AuthStatus secureResponse(MessageInfo messageInfo, Subject serviceSubject) throws AuthException {
+        return serverAuthModule.secureResponse(messageInfo, serviceSubject);
+    }
+
+    @Override
+    public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException {
+        serverAuthModule.cleanSubject(messageInfo, subject);
+    }
+
+}
diff --git a/appserver/security/jaspic-provider-framework/src/test/java/test/com/sun/jaspic/config/FactoryTest.java b/appserver/security/jaspic-provider-framework/src/test/java/test/com/sun/jaspic/config/FactoryTest.java
index 8977b6b..2177809 100644
--- a/appserver/security/jaspic-provider-framework/src/test/java/test/com/sun/jaspic/config/FactoryTest.java
+++ b/appserver/security/jaspic-provider-framework/src/test/java/test/com/sun/jaspic/config/FactoryTest.java
@@ -17,10 +17,14 @@
 
 package test.com.sun.jaspic.config;
 
-import com.sun.jaspic.config.factory.AuthConfigFileFactory;
-import com.sun.jaspic.config.factory.BaseAuthConfigFactory;
-import com.sun.jaspic.config.factory.EntryInfo;
-import com.sun.jaspic.config.factory.RegStoreFileParser;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.arrayWithSize;
+import static org.hamcrest.Matchers.greaterThan;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.security.PrivilegedExceptionAction;
 import java.security.Security;
@@ -44,6 +48,11 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import com.sun.jaspic.config.factory.AuthConfigFileFactory;
+import com.sun.jaspic.config.factory.BaseAuthConfigFactory;
+import com.sun.jaspic.config.factory.EntryInfo;
+import com.sun.jaspic.config.factory.RegStoreFileParser;
+
 import jakarta.security.auth.message.AuthException;
 import jakarta.security.auth.message.MessageInfo;
 import jakarta.security.auth.message.config.AuthConfigFactory;
@@ -55,17 +64,6 @@
 import jakarta.security.auth.message.config.ServerAuthConfig;
 import jakarta.security.auth.message.config.ServerAuthContext;
 
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.arrayWithSize;
-import static org.hamcrest.Matchers.greaterThan;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-
 /**
  * @author Ron Monzillo
  */
@@ -227,38 +225,6 @@
     }
 
     @Test
-    public void testRegistrationWithNonStringPropertyAndPreviousRegistration() {
-        logger.info("BEGIN Registration with NonString Property and Previous Registration FACTORY TEST");
-        Security.setProperty(DEFAULT_FACTORY_SECURITY_PROPERTY, testFactoryClassName);
-
-        // first register a valid acp configuration
-        final String className = _AuthConfigProvider.class.getName();
-        final String layer = "HttpServlet";
-        final String appContext = "context";
-        final String description = null;
-        final String regId
-            = AuthConfigFactory.getFactory().registerConfigProvider(className, null, layer, appContext, description);
-        assertNotNull(regId, "Registration Should Have Succeeded returning a nonNULL RegistrationID but did not.");
-        final AuthConfigProvider previousAcp = AuthConfigFactory.getFactory().getConfigProvider(layer, appContext, null);
-        assertNotNull(previousAcp, "Registration Should Have Succeeded returning a nonNULL ACP but did not.");
-        final String previousRegId = regId;
-
-        // now for an invalid configuration
-        final Map<String, List<String>> properties = new HashMap<>();
-        final ArrayList<String> list = new ArrayList<>();
-        list.add("larry was here");
-        properties.put("test", list);
-        assertThrows(IllegalArgumentException.class, () -> AuthConfigFactory.getFactory()
-            .registerConfigProvider(className, properties, layer, appContext, description));
-        AuthConfigProvider acp = null;
-        acp = AuthConfigFactory.getFactory().getConfigProvider(layer, appContext, null);
-        assertSame(previousAcp, acp,
-            "Registration Should Have Failed for Invalid Config and Therefore returned the Previously Registered ACP");
-        assertTrue(AuthConfigFactory.getFactory().removeRegistration(previousRegId),
-            "Failed to remove the previously registered provider.");
-    }
-
-    @Test
     public void testOverrideForDefaultEntries() {
         logger.info("BEGIN overrideGetDefaultEntries TEST");
         AuthConfigFactory f = new _ExtendsBaseAuthConfigFactory();
@@ -314,6 +280,7 @@
                 rLock.unlock();
             }
         }
+
     }
 
     static class _Extends_ExtendsAuthConfigFactory extends _ExtendsBaseAuthConfigFactory {
diff --git a/appserver/security/pom.xml b/appserver/security/pom.xml
index e2f739f..846d0ea 100644
--- a/appserver/security/pom.xml
+++ b/appserver/security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/security/security-all/pom.xml b/appserver/security/security-all/pom.xml
index e18d217..e494290 100644
--- a/appserver/security/security-all/pom.xml
+++ b/appserver/security/security-all/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>securitymodule</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/security/webintegration/pom.xml b/appserver/security/webintegration/pom.xml
index 7d0a1c6..1ce03b2 100644
--- a/appserver/security/webintegration/pom.xml
+++ b/appserver/security/webintegration/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>securitymodule</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpRequestWrapper.java b/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpRequestWrapper.java
index b713ff6..7bd7173 100644
--- a/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpRequestWrapper.java
+++ b/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpRequestWrapper.java
@@ -41,6 +41,7 @@
 import jakarta.servlet.DispatcherType;
 import jakarta.servlet.FilterChain;
 import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletConnection;
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletInputStream;
 import jakarta.servlet.ServletRequest;
@@ -188,6 +189,12 @@
         httpRequest.setUserPrincipal(principal);
     }
 
+
+
+
+
+
+
     // ----- Request Methods -----
     @Override
     public String getAuthorization() {
@@ -413,8 +420,14 @@
         httpRequest.unlockSession();
     }
 
+
+
+
+
     // ----- ServletRequest Methods -----
     // implementation of ServletRequest interface
+
+
     @Override
     public Object getAttribute(String name) {
         return servletRequest.getAttribute(name);
@@ -536,11 +549,6 @@
     }
 
     @Override
-    public String getRealPath(String path) {
-        return servletRequest.getRealPath(path);
-    }
-
-    @Override
     public int getRemotePort() {
         return servletRequest.getRemotePort();
     }
@@ -600,4 +608,22 @@
         return servletRequest.getContentLengthLong();
     }
 
+    @Override
+    public String getRequestId() {
+        // TODO Implement!
+        return null;
+    }
+
+    @Override
+    public String getProtocolRequestId() {
+        // TODO Implement!
+        return null;
+    }
+
+    @Override
+    public ServletConnection getServletConnection() {
+        // TODO Implement!
+        return null;
+    }
+
 }
diff --git a/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpResponseWrapper.java b/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpResponseWrapper.java
index 595e7e5..401fb5b 100644
--- a/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpResponseWrapper.java
+++ b/appserver/security/webintegration/src/main/java/com/sun/web/security/HttpResponseWrapper.java
@@ -34,13 +34,14 @@
 
 class HttpResponseWrapper extends HttpServletResponseWrapper implements HttpResponse {
 
-    private HttpResponse httpResponse;
+    private final HttpResponse httpResponse;
 
     HttpResponseWrapper(HttpResponse response, HttpServletResponse servletResponse) {
         super(servletResponse);
         httpResponse = response;
     }
 
+
     // ----- HttpResponse Methods -----
     @Override
     public String getHeader(String name) {
@@ -77,6 +78,13 @@
         httpResponse.reset(status, message);
     }
 
+    @Override
+    public void setError(int status, String message) {
+        httpResponse.setError(status, message);
+    }
+
+
+
     // ----- Response Methods -----
     @Override
     public Connector getConnector() {
@@ -198,6 +206,7 @@
         return httpResponse.getContentLength();
     }
 
+
     /*
      * Delegate to HttpServletResponse public String getContentType() { return httpResponse.getContentType(); }
      */
@@ -212,6 +221,7 @@
         httpResponse.recycle();
     }
 
+
     /*
      * Delegate to HttpServletResponse public void resetBuffer() { httpResponse.resetBuffer(); }
      */
@@ -230,4 +240,5 @@
     public String encode(String url) {
         return httpResponse.encode(url);
     }
+
 }
diff --git a/appserver/security/webintegration/src/main/java/com/sun/web/security/RequestFacadeWrapper.java b/appserver/security/webintegration/src/main/java/com/sun/web/security/RequestFacadeWrapper.java
index 3a1ac8c..1988108 100644
--- a/appserver/security/webintegration/src/main/java/com/sun/web/security/RequestFacadeWrapper.java
+++ b/appserver/security/webintegration/src/main/java/com/sun/web/security/RequestFacadeWrapper.java
@@ -191,11 +191,6 @@
     }
 
     @Override
-    public boolean isRequestedSessionIdFromUrl() {
-        return servletRequest.isRequestedSessionIdFromUrl();
-    }
-
-    @Override
     public boolean authenticate(HttpServletResponse response) throws IOException, ServletException {
         return servletRequest.authenticate(response);
     }
@@ -345,11 +340,6 @@
     }
 
     @Override
-    public String getRealPath(String path) {
-        return servletRequest.getRealPath(path);
-    }
-
-    @Override
     public int getRemotePort() {
         return servletRequest.getRemotePort();
     }
diff --git a/appserver/security/webservices.security/pom.xml b/appserver/security/webservices.security/pom.xml
index b407789..0741051 100644
--- a/appserver/security/webservices.security/pom.xml
+++ b/appserver/security/webservices.security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>securitymodule</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>webservices.security</artifactId>
diff --git a/appserver/tests/admingui/auto-test/pom.xml b/appserver/tests/admingui/auto-test/pom.xml
index d61cacd..fac15b0 100644
--- a/appserver/tests/admingui/auto-test/pom.xml
+++ b/appserver/tests/admingui/auto-test/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.admingui</groupId>
         <artifactId>admingui</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>console-auto-tests</artifactId>
diff --git a/appserver/tests/admingui/pom.xml b/appserver/tests/admingui/pom.xml
index 90e4f65..822cf40 100644
--- a/appserver/tests/admingui/pom.xml
+++ b/appserver/tests/admingui/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.admingui</groupId>
     <artifactId>admingui</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>GlassFish admingui Tests</name>
 
@@ -40,6 +40,7 @@
             <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
+                <version>4.13.2</version>
                 <scope>test</scope>
             </dependency>
         </dependencies>
diff --git a/appserver/tests/amx/pom.xml b/appserver/tests/amx/pom.xml
index a6a476e..128529b 100755
--- a/appserver/tests/amx/pom.xml
+++ b/appserver/tests/amx/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>amx-tests</artifactId>
diff --git a/appserver/tests/appserv-tests/cciblackbox-tx/pom.xml b/appserver/tests/appserv-tests/cciblackbox-tx/pom.xml
index a22f677..55acff2 100644
--- a/appserver/tests/appserv-tests/cciblackbox-tx/pom.xml
+++ b/appserver/tests/appserv-tests/cciblackbox-tx/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.tests</groupId>
         <artifactId>ant-tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.tests.connectors</groupId>
diff --git a/appserver/tests/appserv-tests/config/emma.xml b/appserver/tests/appserv-tests/config/emma.xml
index 7ebd28f..4884003 100644
--- a/appserver/tests/appserv-tests/config/emma.xml
+++ b/appserver/tests/appserv-tests/config/emma.xml
@@ -179,7 +179,7 @@
     <!-- restore original EJB jar files -->
     <unzip src="${glassfish-zip-file}" dest="${tmp.gf.exploded.dir}"/>
     <copy todir="${glassfish.server.dir}/modules" overwrite="true">
-      <fileset dir="${tmp.gf.exploded.dir}/glassfish6/glassfish/modules/">
+      <fileset dir="${tmp.gf.exploded.dir}/glassfish7/glassfish/modules/">
         <include name="**/*.jar"/>
       </fileset>
     </copy>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/pom.xml
index 7f1461e..4afc24b 100644
--- a/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/pom.xml
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/jars/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.connectors</groupId>
         <artifactId>connectors-ra-redeploy</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>connectors-ra-redeploy-jars</artifactId>
     <dependencies>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/pom.xml
index 3f91921..b858e26 100644
--- a/appserver/tests/appserv-tests/connectors-ra-redeploy/pom.xml
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.glassfish.main.tests</groupId>
         <artifactId>ant-tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.main.tests.connectors</groupId>
     <artifactId>connectors-ra-redeploy</artifactId>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/pom.xml
index 13450c6..cf75b06 100644
--- a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/pom.xml
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars-xa/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.connectors</groupId>
         <artifactId>connectors-ra-redeploy</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>connectors-ra-redeploy-rars-xa</artifactId>
     <packaging>rar</packaging>
diff --git a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/pom.xml b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/pom.xml
index c45f4ff..bc1ddd6 100644
--- a/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/pom.xml
+++ b/appserver/tests/appserv-tests/connectors-ra-redeploy/rars/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.connectors</groupId>
         <artifactId>connectors-ra-redeploy</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>connectors-ra-redeploy-rars</artifactId>
     <packaging>rar</packaging>
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/build.xml b/appserver/tests/appserv-tests/devtests/admin/cli/build.xml
index d9be326..1c3dc7b 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/build.xml
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/build.xml
@@ -465,11 +465,11 @@
         <echo message="gfurl == ${gfurl}"/>
         <setproxy proxyhost=""/>
         <get verbose="${verbose}" src="${gfurl}" dest="${asinstall_dir}/glassfish.zip"/>
-        <delete dir="${asinstall_dir}/glassfish6" includeemptydirs="true"/>
+        <delete dir="${asinstall_dir}/glassfish7" includeemptydirs="true"/>
         <unzip src="${asinstall_dir}/glassfish.zip" dest="${asinstall_dir}"/>
-        <chmod perm="a+x" file="${asinstall_dir}/glassfish6/bin/asadmin"/>
-        <chmod perm="a+x" file="${asinstall_dir}/glassfish6/glassfish/bin/asadmin"/>
-        <chmod perm="a+x" file="${asinstall_dir}/glassfish6/glassfish/lib/nadmin"/>
+        <chmod perm="a+x" file="${asinstall_dir}/glassfish7/bin/asadmin"/>
+        <chmod perm="a+x" file="${asinstall_dir}/glassfish7/glassfish/bin/asadmin"/>
+        <chmod perm="a+x" file="${asinstall_dir}/glassfish7/glassfish/lib/nadmin"/>
     </target>
 
     <!--
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/SSHNodeTest.java b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/SSHNodeTest.java
index 9774345..4cf8bb7 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/SSHNodeTest.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/SSHNodeTest.java
@@ -38,7 +38,7 @@
  * In this case run the test like this:
  * #
  * ant -Dteststorun=sshnode -Dssh.host=adc2101159.us.oracle.com
- *    "-Dssh.installdir=/export/glassfish6" all
+ *    "-Dssh.installdir=/export/glassfish7" all
  *
  * If you want to use a different user for SSH login you can set ssh.user:
  *     -Dssh.user=hudson
@@ -328,6 +328,6 @@
             prefix = "/var/tmp/devTests-" + thisHost;
         }
         String randomSuffix = Long.toHexString(Double.doubleToLongBits(Math.random()));
-        return prefix + "/" + "glassfish6-" + randomSuffix;
+        return prefix + "/" + "glassfish7-" + randomSuffix;
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/util/Jps.java b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/util/Jps.java
index e4cd757..d4971c5 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/util/Jps.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/util/Jps.java
@@ -143,7 +143,7 @@
      <pre>
      2524 sun.tools.jps.Jps
      5324 com.sun.enterprise.glassfish.bootstrap.ASMain
-     4120 D:\glassfish6\glassfish\bin\..\modules\admin-cli.jar
+     4120 D:\glassfish7\glassfish\bin\..\modules\admin-cli.jar
      </pre>
      * If there is a path -- then there is no classname and vice-versa
      * @param s
diff --git a/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-commands-tests/pom.xml b/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-commands-tests/pom.xml
index 1a7bfe0..12ef68b 100644
--- a/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-commands-tests/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-commands-tests/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>batch-dev-tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>batch-commands-tests</artifactId>
     <packaging>jar</packaging>
diff --git a/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-tests-utils/pom.xml b/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-tests-utils/pom.xml
index 8526097..cb93a5f 100644
--- a/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-tests-utils/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/batch-tests-utils/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>batch-dev-tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>batch-tests-utils</artifactId>
     <packaging>jar</packaging>
diff --git a/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/pom.xml b/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/pom.xml
index 969dfaf..91131f4 100644
--- a/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/batch/batch-dev-tests/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>batch-dev-tests</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/batch/bmt-chunk-job/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/batch/bmt-chunk-job/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/batch/bmt-chunk-job/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/batch/bmt-chunk-job/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/batch/cmt-chunk-job/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/batch/cmt-chunk-job/descriptor/beans.xml
index e69de29..c22fab1 100644
--- a/appserver/tests/appserv-tests/devtests/batch/cmt-chunk-job/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/batch/cmt-chunk-job/descriptor/beans.xml
@@ -0,0 +1,23 @@
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2022 Contributors to the Eclipse Foundation
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/README_Embedded.txt b/appserver/tests/appserv-tests/devtests/cdi/README_Embedded.txt
index 1f659c9..26d67f8 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/README_Embedded.txt
+++ b/appserver/tests/appserv-tests/devtests/cdi/README_Embedded.txt
@@ -1,6 +1,6 @@
 export APS_HOME=<Your-Workspace>/v2/appserv-tests
 
-export S1AS_HOME=<installed-glassfish> (eg.,, /tmp/glassfish6/glassfish)
+export S1AS_HOME=<installed-glassfish> (eg.,, /tmp/glassfish7/glassfish)
 
 export ANT_OPTS="-Xss128k -Xmx2048m -XX:MaxPermSize=256m"
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/build.xml b/appserver/tests/appserv-tests/devtests/cdi/build.xml
index 150a39a..0cfb0a0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/build.xml
@@ -39,6 +39,90 @@
         </classpath>
     </taskdef>
 
+    <target name="usage">
+        <echo> Usage:
+                  ant cdi (Executes the cdi tests)
+                  ant all (Executes all the cdi tests)
+                  ant clean (cleans all the cdi tests)
+                  ant build (builds all the cdi tests)
+                  ant setup (sets up all resources for cdi tests)
+                  ant deploy (deploys all the cdi apps)
+                  ant run (Executes all the cdi tests)
+                  ant undeploy (undeploys all the  cdi apps)
+                  ant unsetup (unsets all resources for cdi tests)
+          </echo>
+    </target>
+
+    <target name="cdi" xmlns:if="ant:if" xmlns:unless="ant:unless">
+        <record name="cdi.output" action="start" />
+        <property environment="env" />
+
+        <echo message="@@## Running all CDI developer tests ##@@" />
+        <echo unless:set="env.cdi_all" message="@@## Set environment variable 'cdi_all' to name of single test dir to run only that one. ##@@${line.separator}" />
+        <echo if:set="env.cdi_all" message="@@## environment variable 'cdi_all' set. Running only ${env.cdi_all}  ##@@${line.separator}" />
+
+        <run-cdi-test path="smoke-tests" />
+        <run-cdi-test path="qualifiers" />
+        <run-cdi-test path="events" />
+        <run-cdi-test path="injection-point" />
+        <run-cdi-test path="interceptors" />
+        <run-cdi-test path="javaee-component-resources" />
+        <run-cdi-test path="javaee-integration" />
+        <run-cdi-test path="managed-beans" />
+        <run-cdi-test path="portable-extensions" />
+        <run-cdi-test path="producer-methods" />
+        <run-cdi-test path="scopes" />
+        <run-cdi-test path="specialization" />
+        <run-cdi-test path="stereotypes" />
+        <run-cdi-test path="transactions" />
+        <run-cdi-test path="unproxyable-deps" />
+        <run-cdi-test path="unsatisfied-deps" />
+        <run-cdi-test path="implicit" />
+        <run-cdi-test path="decorators" />
+
+        <!--
+               Not running until https://issues.jboss.org/browse/CDI-331 is sorted out.
+               In 1.1.10.Final the test passes.
+               In 2.0 Beta it fails.
+               In 3.0 We never bothered to check anymore.
+               See email from Jozef 3/4/13
+               <ant dir="alternatives" target="${cdi-target}"/>
+               <ant dir="ambiguous-deps" target="${cdi-target}"/>
+       -->
+
+
+        <!--
+               Not running until https://issues.jboss.org/browse/CDI-331 is sorted out.
+               In 1.1.10.Final the test passes.
+               In 2.0 Beta it fails.
+               See email from Jozef 3/4/13
+               <ant dir="programmatic-lookup" target="${cdi-target}"/>
+       -->
+
+
+        <!--
+               Not running until figherfish is back (narrator: "it never came back")
+               
+               <if>
+                   <equals arg1="${test.embedded.mode}" arg2="true" />
+                   <then>
+                       <echo> Excluding testcase directory osgi-cdi for embedded mode</echo>
+                   </then>
+                   <else>
+                       <ant dir="osgi-cdi" target="${cdi-target}"/>
+                   </else>
+               </if>
+       -->
+
+
+        <echo message="***** DONE TESTING - GENERATING REPORT ******" />
+
+        <!-- now generate report -->
+        <antcall target="report" />
+
+        <record name="cdi.output" action="stop" />
+    </target>
+
     <target name="pe-all">
         <antcall target="backup-config-pe" />
         <echo message="NOTE: The file ${env.APS_HOME}/config.properties is being replaced with ${basedir}/config/pe-config.properties. The file will be reverted to its original state after the completion of these tests." />
@@ -167,118 +251,36 @@
         </antcall>
     </target>
 
-    <target name="cdi">
-        <record name="cdi.output" action="start" />
-        <echo message="@@## Running all CDI developer tests##@@" />
-
-        <echo message="Running smoke-tests" />
-        <ant dir="smoke-tests" target="${cdi-target}" />
-
-        <echo message="Running qualifiers" />
-        <ant dir="qualifiers" target="${cdi-target}" />
-
-        <!--
-                Not running until https://issues.jboss.org/browse/CDI-331 is sorted out.
-                In 1.1.10.Final the test passes.
-                In 2.0 Beta it fails.
-                See email from Jozef 3/4/13
-                <ant dir="alternatives" target="${cdi-target}"/>
-                <ant dir="ambiguous-deps" target="${cdi-target}"/>
-        -->
-
-        <echo message="Running events" />
-        <ant dir="events" target="${cdi-target}" />
-
-        <echo message="Running injection-point" />
-        <ant dir="injection-point" target="${cdi-target}" />
-
-        <echo message="Running interceptors" />
-        <ant dir="interceptors" target="${cdi-target}" />
-
-        <echo message="Running javaee-component-resources" />
-        <ant dir="javaee-component-resources" target="${cdi-target}" />
-
-        <echo message="Running javaee-integration" />
-        <ant dir="javaee-integration" target="${cdi-target}" />
-
-        <echo message="Running managed-beans" />
-        <ant dir="managed-beans" target="${cdi-target}" />
-
-        <echo message="Running portable-extensions" />
-        <ant dir="portable-extensions" target="${cdi-target}" />
-
-        <echo message="Running producer-methods" />
-        <ant dir="producer-methods" target="${cdi-target}" />
-
-        <!--
-                Not running until https://issues.jboss.org/browse/CDI-331 is sorted out.
-                In 1.1.10.Final the test passes.
-                In 2.0 Beta it fails.
-                See email from Jozef 3/4/13
-                <ant dir="programmatic-lookup" target="${cdi-target}"/>
-        -->
-
-        <echo message="Running scopes" />
-        <ant dir="scopes" target="${cdi-target}" />
-
-        <echo message="Running specialization" />
-        <ant dir="specialization" target="${cdi-target}" />
-
-        <echo message="Running stereotypes" />
-        <ant dir="stereotypes" target="${cdi-target}" />
-
-        <echo message="Running transactions" />
-        <ant dir="transactions" target="${cdi-target}" />
-
-        <echo message="Running unproxyable-deps" />
-        <ant dir="unproxyable-deps" target="${cdi-target}" />
-
-        <echo message="Running unsatisfied-deps" />
-        <ant dir="unsatisfied-deps" target="${cdi-target}" />
-
-        <echo message="Running implicit" />
-        <ant dir="implicit" target="${cdi-target}" />
-
-        <if>
-            <equals arg1="${test.embedded.mode}" arg2="true" />
-            <then>
-                <echo> Excluding testcase directory osgi-cdi for embedded mode</echo>
-            </then>
-            <else>
-                <!--
-                        Not running until figherfish is back
-                -->
-                <!--
-                <ant dir="osgi-cdi" target="${cdi-target}"/>
-                -->
-            </else>
-        </if>
-
-        <echo message="***** DONE TESTING - GENERATING REPORT ******" />
-
-        <!-- now generate report -->
-        <antcall target="report" />
-
-        <record name="cdi.output" action="stop" />
-    </target>
-
-    <target name="usage">
-        <echo> Usage:
-                ant cdi (Executes the cdi tests)
-                ant all (Executes all the cdi tests)
-                ant clean (cleans all the cdi tests)
-                ant build (builds all the cdi tests)
-                ant setup (sets up all resources for cdi tests)
-                ant deploy (deploys all the cdi apps)
-                ant run (Executes all the cdi tests)
-                ant undeploy (undeploys all the  cdi apps)
-                ant unsetup (unsets all resources for cdi tests)
-        </echo>
-    </target>
-
     <target name="report-local">
         <exec executable="sh">
             <arg value="./resultCount.sh" />
         </exec>
     </target>
+
+    <macrodef name="run-cdi-test" xmlns:if="ant:if" xmlns:unless="ant:unless">
+        <attribute name="path" />
+        <sequential>
+            <local name="do-run-test" />
+            <condition property="do-run-test" else="false">
+                <or>
+                    <equals arg1="${env.cdi_all}" arg2="@{path}" />
+                    <not>
+                        <isset property="env.cdi_all" />
+                    </not>
+                </or>
+            </condition>
+
+            <sequential if:true="${do-run-test}">
+                <local name="absolute.path" />
+                <property name="absolute.path" location="@{path}" />
+                <echo message="${line.separator}" />
+                <echo message=" *************************" />
+                <echo message=" * Running @{path} " />
+                <echo message=" * Path: ${absolute.path} " />
+                <echo message=" *************************" />
+                <echo message="${line.separator}" />
+                <ant dir="@{path}" target="${cdi-target}" />
+            </sequential>
+        </sequential>
+    </macrodef>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/decorators/build.xml b/appserver/tests/appserv-tests/devtests/cdi/decorators/build.xml
index e36ded6..fc37489 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/decorators/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/decorators/build.xml
@@ -21,66 +21,6 @@
 
     <property name="decorators-target" value="all"/>
 
-    <target name="run-test">
-        <antcall target="decorators">
-        <param name="decorators-target" value="run-test"/>
-        </antcall>
-    </target>
-
-    <target name="all">
-        <antcall target="decorators">
-        <param name="decorators-target" value="all"/>
-        </antcall>
-    </target>
-
-    <target name="clean">
-        <antcall target="decorators">
-        <param name="decorators-target" value="clean"/>
-        </antcall>
-    </target>
-
-    <target name="build">
-        <antcall target="decorators">
-        <param name="decorators-target" value="build"/>
-        </antcall>
-    </target>
-
-    <target name="setup">
-        <antcall target="decorators">
-        <param name="decorators-target" value="setup"/>
-        </antcall>
-    </target>
-
-    <target name="deploy">
-        <antcall target="decorators">
-        <param name="decorators-target" value="deploy"/>
-        </antcall>
-    </target>
-
-    <target name="undeploy">
-        <antcall target="decorators">
-        <param name="decorators-target" value="undeploy"/>
-        </antcall>
-    </target>
-
-    <target name="unsetup">
-        <antcall target="decorators">
-        <param name="decorators-target" value="unsetup"/>
-        </antcall>
-    </target>
-
-    <target name="run">
-        <antcall target="decorators">
-        <param name="decorators-target" value="run"/>
-        </antcall>
-    </target>
-
-    <target name="decorators">
-        <record name="decorators.output" action="start" />
-            <ant dir="simple-decorator" target="${decorators-target}"/>
-        <record name="decorators.output" action="stop" />
-    </target>
-
     <target name="usage">
         <echo> Usage:
                 ant all (Executes all the decorators tests)
@@ -93,4 +33,65 @@
                 ant unsetup (unsets all resources for decorators tests)
         </echo>
     </target>
+
+    <target name="decorators">
+        <record name="decorators.output" action="start" />
+        <ant dir="simple-decorator" target="${decorators-target}" />
+        <record name="decorators.output" action="stop" />
+    </target>
+
+    <target name="run-test">
+        <antcall target="decorators">
+            <param name="decorators-target" value="run-test"/>
+        </antcall>
+    </target>
+
+    <target name="all">
+        <antcall target="decorators">
+            <param name="decorators-target" value="all"/>
+        </antcall>
+    </target>
+
+    <target name="clean">
+        <antcall target="decorators">
+            <param name="decorators-target" value="clean"/>
+        </antcall>
+    </target>
+
+    <target name="build">
+        <antcall target="decorators">
+            <param name="decorators-target" value="build"/>
+        </antcall>
+    </target>
+
+    <target name="setup">
+        <antcall target="decorators">
+            <param name="decorators-target" value="setup"/>
+        </antcall>
+    </target>
+
+    <target name="deploy">
+        <antcall target="decorators">
+            <param name="decorators-target" value="deploy"/>
+        </antcall>
+    </target>
+
+    <target name="undeploy">
+        <antcall target="decorators">
+            <param name="decorators-target" value="undeploy"/>
+        </antcall>
+    </target>
+
+    <target name="unsetup">
+        <antcall target="decorators">
+            <param name="decorators-target" value="unsetup"/>
+        </antcall>
+    </target>
+
+    <target name="run">
+        <antcall target="decorators">
+            <param name="decorators-target" value="run"/>
+        </antcall>
+    </target>
+
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/descriptor/beans.xml
index efdec0d..d88eea6 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,11 +17,14 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-  <decorators>
-    <class>test.beans.TestBeanDecorator</class>
-  </decorators>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <decorators>
+        <class>test.beans.TestBeanDecorator</class>
+    </decorators>
 </beans>
+
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/descriptor/beans.xml
index 54a5a82..db3a169 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,15 +17,16 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-  <interceptors>
-    <class>test.beans.TransactionInterceptor</class>
-    <class>test.beans.RequiresNewTransactionInterceptor</class>
-  </interceptors>
-  <decorators>
-    <class>test.beans.LargeTransactionDecorator</class>
-  </decorators>
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.TransactionInterceptor</class>
+        <class>test.beans.RequiresNewTransactionInterceptor</class>
+    </interceptors>
+    <decorators>
+        <class>test.beans.LargeTransactionDecorator</class>
+    </decorators>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/descriptor/beans.xml
index 1d355f8..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/descriptor/beans.xml
index 1d355f8..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/descriptor/beans.xml
index 1d355f8..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/implicit/build.xml b/appserver/tests/appserv-tests/devtests/cdi/implicit/build.xml
index 61dbf4d..32bb1c7 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/implicit/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/implicit/build.xml
@@ -33,75 +33,14 @@
 
     <property name="implicit-target" value="all" />
 
-        <taskdef resource="net/sf/antcontrib/antcontrib.properties">
-                <classpath>
-                        <pathelement location="${env.APS_HOME}/devtests/cdi/lib/ant-contrib-1.0b3.jar" />
-                </classpath>
-        </taskdef>
-
-        <target name="run-test">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="run-test" />
-                </antcall>
-        </target>
-
-        <target name="all">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="all" />
-                </antcall>
-        </target>
-
-        <target name="clean">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="clean" />
-                </antcall>
-        </target>
-
-        <target name="build">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="build" />
-                </antcall>
-        </target>
-
-        <target name="setup">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="setup" />
-                </antcall>
-        </target>
-
-        <target name="deploy">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="deploy" />
-                </antcall>
-        </target>
-
-        <target name="undeploy">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="undeploy" />
-                </antcall>
-        </target>
-
-        <target name="unsetup">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="unsetup" />
-                </antcall>
-        </target>
-
-        <target name="run">
-                <antcall target="implicit">
-                        <param name="implicit-target" value="run" />
-                </antcall>
-        </target>
-
-        <target name="implicit">
-                <record name="implicit.output" action="start" />
-                <ant dir="simple-ejb-cdi" target="${implicit-target}" />
-                <ant dir="deployment-option" target="${implicit-target}" />
-                <record name="implicit.output" action="stop" />
-        </target>
-
-        <target name="usage">
-                <echo> Usage:
+    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+        <classpath>
+            <pathelement location="${env.APS_HOME}/devtests/cdi/lib/ant-contrib-1.0b3.jar" />
+        </classpath>
+    </taskdef>
+    
+    <target name="usage">
+        <echo> Usage:
                 ant all (Executes all the smoke tests)
                 ant clean (cleans all the smoke tests)
                 ant build (builds all the smoke tests)
@@ -111,5 +50,68 @@
                 ant undeploy (undeploys all the  smoke apps)
                 ant unsetup (unsets all resources for smoke tests)
         </echo>
-        </target>
+    </target>
+
+    <target name="run-test">
+        <antcall target="implicit">
+            <param name="implicit-target" value="run-test" />
+        </antcall>
+    </target>
+
+    <target name="all">
+        <antcall target="implicit">
+            <param name="implicit-target" value="all" />
+        </antcall>
+    </target>
+
+    <target name="clean">
+        <antcall target="implicit">
+            <param name="implicit-target" value="clean" />
+        </antcall>
+    </target>
+
+    <target name="build">
+        <antcall target="implicit">
+            <param name="implicit-target" value="build" />
+        </antcall>
+    </target>
+
+    <target name="setup">
+        <antcall target="implicit">
+            <param name="implicit-target" value="setup" />
+        </antcall>
+    </target>
+
+    <target name="deploy">
+        <antcall target="implicit">
+            <param name="implicit-target" value="deploy" />
+        </antcall>
+    </target>
+
+    <target name="undeploy">
+        <antcall target="implicit">
+            <param name="implicit-target" value="undeploy" />
+        </antcall>
+    </target>
+
+    <target name="unsetup">
+        <antcall target="implicit">
+            <param name="implicit-target" value="unsetup" />
+        </antcall>
+    </target>
+
+    <target name="run">
+        <antcall target="implicit">
+            <param name="implicit-target" value="run" />
+        </antcall>
+    </target>
+
+    <target name="implicit">
+        <record name="implicit.output" action="start" />
+        <ant dir="simple-ejb-cdi" target="${implicit-target}" />
+        <ant dir="deployment-option" target="${implicit-target}" />
+        <record name="implicit.output" action="stop" />
+    </target>
+
+
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/injection-point/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/injection-point/descriptor/beans.xml
index c35311a..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/injection-point/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/injection-point/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,8 +17,9 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="
-      http://java.sun.com/xml/ns/javaee
-      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/build.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/build.xml
index 7b79af8..4522d16 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/build.xml
@@ -77,7 +77,9 @@
 
     <target name="interceptors">
         <record name="interceptors.output" action="start" />
+            <!--
             <ant dir="interceptors-bean-validation" target="${interceptors-target}"/>
+            -->
             <ant dir="interceptors-binding-type-inheritance" target="${interceptors-target}"/>
             <ant dir="interceptors-binding-type-with-members" target="${interceptors-target}"/>
             <ant dir="interceptors-business-method-interception" target="${interceptors-target}"/>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/descriptor/beans.xml
index 1af38a6..ca7131a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,11 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-    <interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+       <interceptors>
         <class>test.beans.TestInterceptor</class>
     </interceptors>
-</beans>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/descriptor/beans.xml
index c7dc6b2..c080c51 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,15 +17,14 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionalSecureInterceptor</class>
-      <class>test.beans.TransactionInterceptor</class>
-      <class>test.beans.SecureInterceptor</class>
-   </interceptors>
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.TransactionalSecureInterceptor</class>
+        <class>test.beans.TransactionInterceptor</class>
+        <class>test.beans.SecureInterceptor</class>
+    </interceptors>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/descriptor/beans.xml
index bc97106..46232b8 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,14 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-      <class>test.beans.RequiresNewTransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.TransactionInterceptor</class>
+        <class>test.beans.RequiresNewTransactionInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/descriptor/beans.xml
index f075638..291ab04 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/descriptor/beans.xml
index efe55d8..c6ec6f0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.INVALIDInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.INVALIDInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/descriptor/beans.xml
index 7b9b221..e148efa 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionalSecureInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.TransactionalSecureInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/descriptor/beans.xml
index 999fa4a..3e90eda 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,17 +17,16 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
       <class>test.beans.SecondTransactionInterceptor</class> <!--  first invoke second interceptor -->
       <class>test.beans.TransactionInterceptor</class>
       <!-- Third Transactional Interceptor is disabled
       <class>test.beans.ThirdTransactionInterceptor</class>
        -->
-   </interceptors>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/descriptor/beans.xml
index b0ae3bd..68fcb85 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,14 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-      <class>test.beans.SecureInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+       <class>test.beans.SecureInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/descriptor/beans.xml
index ce56e12..4bf799d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>org.glassfish.cditest.security.interceptor.SecurityInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>org.glassfish.cditest.security.interceptor.SecurityInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/descriptor/beans.xml
index ce56e12..4bf799d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>org.glassfish.cditest.security.interceptor.SecurityInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>org.glassfish.cditest.security.interceptor.SecurityInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/descriptor/beans.xml
index e69de29..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/descriptor/beans.xml
index 1d355f8..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/descriptor/beans.xml
index 1d355f8..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/descriptor/beans.xml
index 1d355f8..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/descriptor/beans.xml
index 1d355f8..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/build.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/build.xml
index 2381ff6..1f2752e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/build.xml
@@ -20,6 +20,54 @@
 <project name="javaee-int-test" default="usage" basedir=".">
 
     <property name="javaee-int-target" value="all" />
+    
+    <target name="usage">
+        <echo> Usage:
+                ant all (Executes all the javaee-int tests)
+                ant clean (cleans all the javaee-int tests)
+                ant build (builds all the javaee-int tests)
+                ant setup (sets up all resources for javaee-int tests)
+                ant deploy (deploys all the javaee-int apps)
+                ant run (Executes all the javaee-int tests)
+                ant undeploy (undeploys all the  javaee-int apps)
+                ant unsetup (unsets all resources for javaee-int tests)
+        </echo>
+    </target>
+    
+    <target name="javaee-int">
+        <record name="javaee-int.output" action="start" />
+        
+        <!--
+        
+            Not running until Hibernate Validation supports CDI 4.0. 
+            See https://hibernate.atlassian.net/browse/HV-1857
+        
+        <echo message="   ====  Running builtin-beans" />
+        <ant dir="builtin-beans" target="${javaee-int-target}" />
+        -->
+        
+        <echo message="   ====  Running servlet-context-injection-cdi" />
+        <ant dir="servlet-context-injection-cdi" target="${javaee-int-target}" />
+        
+        <echo message="   ====  Running simple-managed-bean-interceptor-nonnull-package" />
+        <ant dir="simple-managed-bean-interceptor-nonnull-package" target="${javaee-int-target}" />
+        
+        <echo message="   ====  Running no-interface-local-view-proxy-serializable" />
+        <ant dir="no-interface-local-view-proxy-serializable" target="${javaee-int-target}" />
+        
+        <echo message="   ====  Running normal-bean-injection-ear" />
+        <ant dir="normal-bean-injection-ear" target="${javaee-int-target}" />
+        <ant dir="programmatic-lookup-ear" target="${javaee-int-target}" />
+        <ant dir="bean-in-lib-dir-used-by-ejb-in-ear" target="${javaee-int-target}" />
+        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection" target="${javaee-int-target}" />
+        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-ordering" target="${javaee-int-target}" />
+        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed" target="${javaee-int-target}" />
+        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative" target="${javaee-int-target}" />
+        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib" target="${javaee-int-target}" />
+        <ant dir="embedded-resource-adapter-as-bean-archive" target="${javaee-int-target}" />
+
+        <record name="javaee-int.output" action="stop" />
+    </target>
 
     <target name="run-test">
         <antcall target="javaee-int">
@@ -75,36 +123,4 @@
         </antcall>
     </target>
 
-    <target name="javaee-int">
-        <record name="javaee-int.output" action="start" />
-
-        <ant dir="builtin-beans" target="${javaee-int-target}" />
-        <ant dir="servlet-context-injection-cdi" target="${javaee-int-target}" />
-        <ant dir="simple-managed-bean-interceptor-nonnull-package" target="${javaee-int-target}" />
-        <ant dir="no-interface-local-view-proxy-serializable" target="${javaee-int-target}" />
-        <ant dir="normal-bean-injection-ear" target="${javaee-int-target}" />
-        <ant dir="programmatic-lookup-ear" target="${javaee-int-target}" />
-        <ant dir="bean-in-lib-dir-used-by-ejb-in-ear" target="${javaee-int-target}" />
-        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection" target="${javaee-int-target}" />
-        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-ordering" target="${javaee-int-target}" />
-        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed" target="${javaee-int-target}" />
-        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative" target="${javaee-int-target}" />
-        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib" target="${javaee-int-target}" />
-        <ant dir="embedded-resource-adapter-as-bean-archive" target="${javaee-int-target}" />
-
-        <record name="javaee-int.output" action="stop" />
-    </target>
-
-    <target name="usage">
-        <echo> Usage:
-                ant all (Executes all the javaee-int tests)
-                ant clean (cleans all the javaee-int tests)
-                ant build (builds all the javaee-int tests)
-                ant setup (sets up all resources for javaee-int tests)
-                ant deploy (deploys all the javaee-int apps)
-                ant run (Executes all the javaee-int tests)
-                ant undeploy (undeploys all the  javaee-int apps)
-                ant unsetup (unsets all resources for javaee-int tests)
-        </echo>
-    </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/build.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/build.xml
index 06eabc9..9666b1d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/build.xml
@@ -34,75 +34,75 @@
 
     <target name="all" depends="build,create-resources,deploy,run,undeploy,delete-resources" />
 
-        <target name="clean" depends="init-common">
-                <antcall target="clean-common" />
-                <delete>
-                        <fileset dir="." includes="*.class" />
-                        <fileset dir="client/test/client" includes="*.class" />
-                </delete>
-        </target>
+    <target name="clean" depends="init-common">
+        <antcall target="clean-common" />
+        <delete>
+            <fileset dir="." includes="*.class" />
+            <fileset dir="client/test/client" includes="*.class" />
+        </delete>
+    </target>
 
-        <target name="compile" depends="clean">
-                <antcall target="compile-common">
-                        <param name="src" value="servlet" />
-                </antcall>
-        </target>
+    <target name="compile" depends="clean">
+        <antcall target="compile-common">
+            <param name="src" value="servlet" />
+        </antcall>
+    </target>
 
-        <target name="build" depends="compile">
-                <property name="hasWebclient" value="yes" />
-                <antcall target="webclient-war-common">
-                        <param name="hasWebclient" value="yes" />
-                        <param name="webclient.war.classes" value="**/*.class" />
-                </antcall>
+    <target name="build" depends="compile">
+        <property name="hasWebclient" value="yes" />
+        <antcall target="webclient-war-common">
+            <param name="hasWebclient" value="yes" />
+            <param name="webclient.war.classes" value="**/*.class" />
+        </antcall>
 
-                <javac srcdir="client" classpath="${env.APS_HOME}/lib/reportbuilder.jar" includes="test/client/WebTest.java" />
+        <javac srcdir="client" classpath="${env.APS_HOME}/lib/reportbuilder.jar" includes="test/client/WebTest.java" />
 
-        </target>
+    </target>
 
-        <target name="build-publish-war" depends="build, publish-war-common" />
+    <target name="build-publish-war" depends="build, publish-war-common" />
 
-        <target name="deploy" depends="init-common">
-                <antcall target="deploy-war-common" />
-        </target>
+    <target name="deploy" depends="init-common">
+        <antcall target="deploy-war-common" />
+    </target>
 
-        <target name="create-resources" depends="init-common">
-                <antcall target="create-jdbc-connpool-common">
-                        <param name="jdbc.connpool.name" value="jdbc-dev-test-pool" />
-                </antcall>
-                <antcall target="create-jdbc-resource-common">
-                        <param name="jdbc.connpool.name" value="jdbc-dev-test-pool" />
-                        <param name="jdbc.resource.name" value="jdbc/jdbc-dev-test-resource" />
-                </antcall>
-        </target>
+    <target name="create-resources" depends="init-common">
+        <antcall target="create-jdbc-connpool-common">
+            <param name="jdbc.connpool.name" value="jdbc-dev-test-pool" />
+        </antcall>
+        <antcall target="create-jdbc-resource-common">
+            <param name="jdbc.connpool.name" value="jdbc-dev-test-pool" />
+            <param name="jdbc.resource.name" value="jdbc/jdbc-dev-test-resource" />
+        </antcall>
+    </target>
 
 
-        <target name="run" depends="init-common">
-                <java classname="test.client.WebTest" fork="true">
-                        <arg value="${http.host}" />
-                        <arg value="${http.port}" />
-                        <arg value="${contextroot}" />
-                        <classpath>
-                                <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar" />
-                                <pathelement location="client" />
-                        </classpath>
-                </java>
-        </target>
+    <target name="run" depends="init-common">
+        <java classname="test.client.WebTest" fork="true">
+            <arg value="${http.host}" />
+            <arg value="${http.port}" />
+            <arg value="${contextroot}" />
+            <classpath>
+                <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar" />
+                <pathelement location="client" />
+            </classpath>
+        </java>
+    </target>
 
-        <target name="undeploy" depends="init-common">
-                <antcall target="undeploy-war-common" />
-        </target>
+    <target name="undeploy" depends="init-common">
+        <antcall target="undeploy-war-common" />
+    </target>
 
-        <target name="delete-resources" depends="init-common">
-                <antcall target="delete-jdbc-resource-common">
-                        <param name="jdbc.resource.name" value="jdbc/jdbc-dev-test-resource" />
-                </antcall>
+    <target name="delete-resources" depends="init-common">
+        <antcall target="delete-jdbc-resource-common">
+            <param name="jdbc.resource.name" value="jdbc/jdbc-dev-test-resource" />
+        </antcall>
 
-                <antcall target="delete-jdbc-connpool-common">
-                        <param name="jdbc.connpool.name" value="jdbc-dev-test-pool" />
-                </antcall>
-        </target>
+        <antcall target="delete-jdbc-connpool-common">
+            <param name="jdbc.connpool.name" value="jdbc-dev-test-pool" />
+        </antcall>
+    </target>
 
-        <target name="usage">
-                <antcall target="usage-common" />
-        </target>
+    <target name="usage">
+        <antcall target="usage-common" />
+    </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/client/test/client/WebTest.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/client/test/client/WebTest.java
index bce94d2..cd2fde0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/client/test/client/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/client/test/client/WebTest.java
@@ -30,8 +30,7 @@
  */
 public class WebTest {
 
-    private static SimpleReporterAdapter stat = new SimpleReporterAdapter(
-            "appserv-tests");
+    private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
     private static final String TEST_NAME = "javaee-integration-simple";
 
     private static final String EXPECTED_RESPONSE = "Hello from Servlet 3.0.";
@@ -67,8 +66,7 @@
 
         String url = "http://" + host + ":" + port + contextRoot + "/myurl";
         System.out.println("opening connection to " + url);
-        HttpURLConnection conn = (HttpURLConnection) (new URL(url))
-                .openConnection();
+        HttpURLConnection conn = (HttpURLConnection) (new URL(url)).openConnection();
 
         int code = conn.getResponseCode();
         if (code != 200) {
@@ -102,8 +100,7 @@
             if (EXPECTED_RESPONSE.equals(line)) {
                 stat.addStatus(TEST_NAME, stat.PASS);
             } else {
-                System.out.println("Wrong response. Expected: "
-                        + EXPECTED_RESPONSE + ", received: " + line);
+                System.out.println("Wrong response. Expected: " + EXPECTED_RESPONSE + ", received: " + line);
                 stat.addStatus(TEST_NAME, stat.FAIL);
             }
         }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/descriptor/beans.xml
index 1d355f8..7c24ccd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,10 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/TestBeanInterface.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/TestBeanInterface.java
index e5be4d3..6c9f3ff 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/TestBeanInterface.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/TestBeanInterface.java
@@ -17,8 +17,8 @@
 package test.beans;
 
 public interface TestBeanInterface {
-    public void m1();
-    public void m2();
+    void m1();
+    void m2();
 
-    public String testDatasourceInjection();
+    String testDatasourceInjection();
 }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/nonmock/TestBean.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/nonmock/TestBean.java
index b46dd27..d76b43e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/nonmock/TestBean.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/beans/nonmock/TestBean.java
@@ -24,13 +24,13 @@
 import test.beans.artifacts.Preferred;
 import test.beans.artifacts.TestDatabase;
 
-
 @RequestScoped
 @Preferred
-public class TestBean implements TestBeanInterface{
+public class TestBean implements TestBeanInterface {
     public static boolean testBeanInvoked = false;
 
-    @Inject @TestDatabase
+    @Inject
+    @TestDatabase
     DataSource ds;
 
     @Override
@@ -46,7 +46,7 @@
 
     @Override
     public String testDatasourceInjection() {
-        return (ds==null ? "typesafe injection into testbean failed" : "");
+        return (ds == null ? "typesafe injection into testbean failed" : "");
     }
 
 }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/DatabaseManager.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/DatabaseManager.java
index 257feaa..4a95454 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/DatabaseManager.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/DatabaseManager.java
@@ -25,8 +25,7 @@
 public class DatabaseManager {
     @Produces
     @TestDatabase
-    @Resource(name = "jdbc/jdbc-dev-test-resource",
-            mappedName = "jdbc/jdbc-dev-test-resource")
+    @Resource(name = "jdbc/jdbc-dev-test-resource", mappedName = "jdbc/jdbc-dev-test-resource")
     DataSource ds;
 
 }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java
index 66ec9c1..93bce1f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java
@@ -37,20 +37,29 @@
 
 @WebServlet(name = "mytest", urlPatterns = { "/myurl" })
 public class SimpleJavaEEIntegrationTestServlet extends HttpServlet {
-    @Inject @Preferred
+    
+    @Inject
+    @Preferred
     TestBeanInterface tb;
 
-    @Inject @TestDatabase
+    @Inject
+    @TestDatabase
     DataSource ds;
 
     // Inject the built-in beans
-    @Inject UserTransaction ut;
-    @Inject Principal principal;
-    @Inject Validator validator;
-    @Inject ValidatorFactory vf;
+    @Inject
+    UserTransaction ut;
+    
+    @Inject
+    Principal principal;
+    
+    @Inject
+    Validator validator;
+    
+    @Inject
+    ValidatorFactory vf;
 
-    public void service(HttpServletRequest req, HttpServletResponse res)
-            throws IOException, ServletException {
+    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
 
         PrintWriter writer = res.getWriter();
         writer.write("Hello from Servlet 3.0.");
@@ -70,20 +79,16 @@
         System.out.println("Default Validator: " + validator);
         System.out.println("Default ValidatorFactory: " + vf);
         if (ut == null)
-            msg += "UserTransaction not available for injection "
-                    + "with the default qualifier in Servlet";
+            msg += "UserTransaction not available for injection " + "with the default qualifier in Servlet";
 
         if (principal == null)
-            msg += "Caller Principal not available for injection "
-                    + "with the default qualifier in Servlet";
+            msg += "Caller Principal not available for injection " + "with the default qualifier in Servlet";
 
         if (validator == null)
-            msg += "Default Validator not available for injection "
-                    + "with the default qualifier in Servlet";
+            msg += "Default Validator not available for injection " + "with the default qualifier in Servlet";
 
         if (vf == null)
-            msg += "ValidationFactory not available for injection "
-                    + "with the default qualifier in Servlet";
+            msg += "ValidationFactory not available for injection " + "with the default qualifier in Servlet";
 
         writer.write(msg + "\n");
     }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans-alternative.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans-alternative.xml
index 1b3ee25..60b3ba3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans-alternative.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans-alternative.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,11 +17,16 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="
-    http://java.sun.com/xml/ns/javaee
-    http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-    <alternatives>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+       <alternatives>
         <class>test.beans.wbinflib.TestAlternativeBeanInWebInfLib</class>
     </alternatives>
 </beans>
+
+
+
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/embedded-resource-adapter-as-bean-archive/ra/META-INF/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/descriptor/beans.xml
index 1d355f8..7c24ccd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,10 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/application.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/application.xml
index d9378e7..eeca79c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/application.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/application.xml
@@ -17,25 +17,27 @@
 
 -->
 
-<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd">
-  <display-name>ejb-ejb30-hello-session3App</display-name>
-  <module>
-    <ejb>cdi-full-ear-ejb.jar</ejb>
-  </module>
-  <module>
-    <web>
-      <web-uri>cdi-full-ear-web.war</web-uri>
-      <context-root>cdi-full-ear</context-root>
-    </web>
-  </module>
-  <env-entry>
-     <env-entry-name>java:app/env/value1</env-entry-name>
-     <env-entry-type>java.lang.Integer</env-entry-type>
-     <env-entry-value>18338</env-entry-value>
-  </env-entry>
-  <env-entry>
-    <env-entry-name>java:app/env/myString</env-entry-name>
-    <env-entry-type>java.lang.String</env-entry-type>
-    <env-entry-value>myString</env-entry-value>
-  </env-entry>
+<application xmlns="http://java.sun.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="6"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd">
+    <display-name>ejb-ejb30-hello-session3App</display-name>
+    <module>
+        <ejb>cdi-full-ear-ejb.jar</ejb>
+    </module>
+    <module>
+        <web>
+            <web-uri>cdi-full-ear-web.war</web-uri>
+            <context-root>cdi-full-ear</context-root>
+        </web>
+    </module>
+    <env-entry>
+        <env-entry-name>java:app/env/value1</env-entry-name>
+        <env-entry-type>java.lang.Integer</env-entry-type>
+        <env-entry-value>18338</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <env-entry-name>java:app/env/myString</env-entry-name>
+        <env-entry-type>java.lang.String</env-entry-type>
+        <env-entry-value>myString</env-entry-value>
+    </env-entry>
 </application>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java
index 0aab361..abf1bb3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java
@@ -30,29 +30,26 @@
 
 @WebListener
 public class ServletContextBridge implements ServletContextListener {
+    
     @Inject
     private BeanManager beanManager;
 
-    public ServletContextBridge() {
-    }
 
     /**
      * Servlet context initialized / destroyed events
      */
-
-    public void contextDestroyed(final ServletContextEvent e) {
-        fireEvent(e, DESTROYED);
-    }
-
     public void contextInitialized(final ServletContextEvent e) {
         fireEvent(e, INITIALIZED);
     }
 
-    private void fireEvent(final Object payload,
-            final Annotation... qualifiers) {
-        System.out.println("Firing event #0 with qualifiers #1" + payload
-                + qualifiers);
-        beanManager.fireEvent(payload, qualifiers);
+    public void contextDestroyed(final ServletContextEvent e) {
+        fireEvent(e, DESTROYED);
+    }
+   
+
+    private void fireEvent(final Object payload, final Annotation... qualifiers) {
+        System.out.println("Firing event #0 with qualifiers #1" + payload + qualifiers);
+        beanManager.getEvent().select(qualifiers).fire(payload);
     }
 
     private static final AnnotationLiteral<Destroyed> DESTROYED = new AnnotationLiteral<Destroyed>() {
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/descriptor/beans.xml
index 6264a41..7c24ccd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,9 +17,10 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.interceptors.TestAroundInvokeInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml
index 6264a41..f2f1b6c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,9 +17,13 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.interceptors.TestAroundInvokeInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.interceptors.TestAroundInvokeInterceptor</class>
+    </interceptors>
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/TestManagedBean.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/TestManagedBean.java
index 150e424..fe01b6f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/TestManagedBean.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/TestManagedBean.java
@@ -23,32 +23,31 @@
     TestBean tb;
     boolean postConstructCalled = false;
 
-    //a ManagedBean needs to have a no-arg constructor
-    public TestManagedBean(){
+    // a ManagedBean needs to have a no-arg constructor
+    public TestManagedBean() {
     }
 
-    @jakarta.inject.Inject //Constructor based Injection
-    public TestManagedBean(TestBean tb){
+    @jakarta.inject.Inject // Constructor based Injection
+    public TestManagedBean(TestBean tb) {
         this.tb = tb;
     }
 
-
     @jakarta.annotation.PostConstruct
-    public void init(){
+    public void init() {
         System.out.println("In ManagedBean:: PostConstruct");
         postConstructCalled = true;
     }
 
     @Tester
-    public void foo(){
+    public void foo() {
         System.out.println("foo called");
     }
 
-    public boolean testPostConstructCalled(){
+    public boolean testPostConstructCalled() {
         return this.postConstructCalled;
     }
 
-    public boolean testInjection(){
+    public boolean testInjection() {
         System.out.println("In ManagedBean:: tb=" + tb);
         postConstructCalled = true;
         return this.tb != null;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/Tester.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/Tester.java
index 84525e5..4e05b53 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/Tester.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/beans/Tester.java
@@ -21,8 +21,8 @@
 import static java.lang.annotation.ElementType.*;
 import static java.lang.annotation.RetentionPolicy.*;
 
-
 @InterceptorBinding
-@Target({METHOD, TYPE})
+@Target({ METHOD, TYPE })
 @Retention(RUNTIME)
-public @interface Tester {}
+public @interface Tester {
+}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/interceptors/TestAroundInvokeInterceptor.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/interceptors/TestAroundInvokeInterceptor.java
index e60e071..d5a2823 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/interceptors/TestAroundInvokeInterceptor.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/interceptors/TestAroundInvokeInterceptor.java
@@ -20,20 +20,24 @@
 
 import test.beans.Tester;
 
-@Tester @Interceptor
+@Tester
+@Interceptor
 public class TestAroundInvokeInterceptor {
     public static int aroundInvokeCount = 0;
 
-    public static void reset(){
+    public static void reset() {
         aroundInvokeCount = 0;
     }
 
-   @AroundInvoke
-   public Object testMethod(InvocationContext ctx) throws Exception {
-        System.out.println("TestAroundInvokeIntercetpr:: aroundInvoke called - target:" + ctx.getTarget() + " , params:"+ ctx.getParameters());
-        aroundInvokeCount ++;
+    @AroundInvoke
+    public Object testMethod(InvocationContext ctx) throws Exception {
+        System.out.println(
+            "TestAroundInvokeIntercetpr:: aroundInvoke called - target:" + ctx.getTarget() + 
+            " , params:" + ctx.getParameters());
+        aroundInvokeCount++;
         ctx.proceed();
+        
         return null;
-   }
+    }
 
 }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java
index 7c6c1e5..871c7fa 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java
@@ -30,22 +30,28 @@
 import test.beans.TestManagedBean;
 import test.interceptors.TestAroundInvokeInterceptor;
 
-@WebServlet(name="mytest",
-        urlPatterns={"/myurl"},
-        initParams={ @WebInitParam(name="n1", value="v1"), @WebInitParam(name="n2", value="v2") } )
+@WebServlet(
+    name = "mytest", urlPatterns = { "/myurl" }, 
+    initParams = { 
+        @WebInitParam(name = "n1", value = "v1"),
+        @WebInitParam(name = "n2", value = "v2") 
+    }
+)
 public class TestServlet extends HttpServlet {
-    @jakarta.inject.Inject TestManagedBean tb1;
-    @jakarta.annotation.Resource TestManagedBean tb;
+    
+    @jakarta.inject.Inject
+    TestManagedBean tb1;
+    
+    @jakarta.annotation.Resource
+    TestManagedBean tb;
 
-    public void service(HttpServletRequest req, HttpServletResponse res)
-            throws IOException, ServletException {
+    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
 
         PrintWriter writer = res.getWriter();
         writer.write("Hello from Servlet 3.0. ");
-        String msg = "n1=" + getInitParameter("n1") +
-            ", n2=" + getInitParameter("n2");
+        String msg = "n1=" + getInitParameter("n1") + ", n2=" + getInitParameter("n2");
 
-        //ManagedBean testing .. add additional messages in the "msg" string, so that the test will FAIL in the client
+        // ManagedBean testing .. add additional messages in the "msg" string, so that the test will FAIL in the client
         msg += testManagedBean(tb, " | TestManagedBean injected via @Resource");
         msg += testManagedBean(tb1, " | TestManagedBean injected via @Inject");
         msg += testInterceptors();
@@ -55,24 +61,29 @@
 
     private String testManagedBean(TestManagedBean tb, String info) {
         String msg = "";
-        if (tb == null) msg += info + " is null!";
-        if (tb != null && !tb.testPostConstructCalled()) msg += info + " postConstruct not called";
-        if (tb != null && !tb.testInjection()) msg += info + "Bean Injection into ManagedBean failed";
+        if (tb == null)
+            msg += info + " is null!";
+        if (tb != null && !tb.testPostConstructCalled())
+            msg += info + " postConstruct not called";
+        if (tb != null && !tb.testInjection())
+            msg += info + "Bean Injection into ManagedBean failed";
+        
         return msg;
     }
 
-    private String testInterceptors(){
+    private String testInterceptors() {
         System.out.println("calling foo on an @Resource injected Managed Bean");
         tb.foo();
         System.out.println("calling foo on an @Inject Managed Bean");
-        tb1.foo(); //TestAroundInvokeInterceptor is not called in this case
+        tb1.foo(); // TestAroundInvokeInterceptor is not called in this case
 
         int count = TestAroundInvokeInterceptor.aroundInvokeCount;
         System.out.println("TestAroundInvokeInterceptor called " + count + " times");
         TestAroundInvokeInterceptor.reset();
-        if (count == 2) return "";
-            else return "Interceptor invocation count" + count + " invalid";
-   }
-
+        if (count == 2)
+            return "";
+        
+        return "Interceptor invocation count" + count + " invalid";
+    }
 
 }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/META-INF/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/META-INF/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/META-INF/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/META-INF/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/ra/META-INF/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/descriptor/beans.xml
index 5388298..7206432 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,9 +17,12 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-<!--
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+       <!--
    <interceptors>
       <class>com.tests.TestAroundInvokeInterceptor</class>
    </interceptors>
@@ -27,3 +31,4 @@
        <class>com.tests.TestManagedBeanExtension</class>
    </alternatives>
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/descriptor/beans.xml
index a52bc90..f8946c0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,9 +17,12 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>com.tests.TestAroundInvokeInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>com.tests.TestAroundInvokeInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/pom.xml b/appserver/tests/appserv-tests/devtests/cdi/pom.xml
index ee6fdac..f22a163 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.main.tests</groupId>
     <artifactId>tests</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/descriptor/beans.xml
index f075638..368feed 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/descriptor/beans.xml
index f075638..368feed 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/descriptor/beans.xml
index f075638..8745038 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
index 06cd1a0..591d6e8 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
@@ -26,6 +26,7 @@
 import jakarta.enterprise.inject.spi.AnnotatedType;
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
@@ -92,7 +93,9 @@
 
         // First: Constructor Injection Framework class
         CreationalContext ctx = bm.createCreationalContext(null);
-        InjectionTarget<TestFrameworkClassWithConstructorInjection> it = bm.createInjectionTarget(atfc);
+        InjectionTargetFactory<TestFrameworkClassWithConstructorInjection> injectionTargetFactory = bm.getInjectionTargetFactory(atfc);
+        InjectionTarget<TestFrameworkClassWithConstructorInjection> it = injectionTargetFactory.createInjectionTarget(null);
+        
         TestFrameworkClassWithConstructorInjection ctorInstance = it.produce(ctx);
 
         // Since this framework class needs to support constructor based injection
@@ -106,7 +109,8 @@
 
         // Second: Setter and Field based Injection into a Framework class
         AnnotatedType<TestFrameworkClassWithSetterAndFieldInjection> atsfi = bm.createAnnotatedType(TestFrameworkClassWithSetterAndFieldInjection.class);
-        InjectionTarget<TestFrameworkClassWithSetterAndFieldInjection> it_set = bm.createInjectionTarget(atsfi);
+        InjectionTargetFactory<TestFrameworkClassWithSetterAndFieldInjection> ahdgf = bm.getInjectionTargetFactory(atsfi);
+        InjectionTarget<TestFrameworkClassWithSetterAndFieldInjection> it_set = ahdgf.createInjectionTarget(null);
         TestFrameworkClassWithSetterAndFieldInjection setterInstance = new TestFrameworkClassWithSetterAndFieldInjection("test");
         it_set.inject(setterInstance, ctx);
         it_set.postConstruct(setterInstance);
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/descriptor/beans.xml
index f075638..8745038 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/extension/test/extension/ServiceFrameworkExtension.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/extension/test/extension/ServiceFrameworkExtension.java
index 2276906..c2364c2 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/extension/test/extension/ServiceFrameworkExtension.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/extension/test/extension/ServiceFrameworkExtension.java
@@ -262,10 +262,6 @@
             return false;
         }
 
-        @Override
-        public boolean isNullable() {
-            return false;
-        }
     }
 
     /*
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/descriptor/beans.xml
index f075638..8745038 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/extension/ServiceFrameworkExtension.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/extension/ServiceFrameworkExtension.java
index 56bbbb8..120d97e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/extension/ServiceFrameworkExtension.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/extension/ServiceFrameworkExtension.java
@@ -52,10 +52,10 @@
  */
 public class ServiceFrameworkExtension implements Extension{
 
-    public static boolean beforeBeanDiscoveryCalled = false;
-    public static boolean afterBeanDiscoveryCalled = false;
-    public static boolean afterProcessBeanCalled = false;
-    public static boolean processAnnotatedTypeCalled = false;
+    public static boolean beforeBeanDiscoveryCalled;
+    public static boolean afterBeanDiscoveryCalled;
+    public static boolean afterProcessBeanCalled;
+    public static boolean processAnnotatedTypeCalled;
 
     /*
      * A map of Framework Service Types to be injected and additional metadata
@@ -261,11 +261,6 @@
         public boolean isAlternative() {
             return false;
         }
-
-        @Override
-        public boolean isNullable() {
-            return false;
-        }
     }
 
     /*
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/descriptor/beans.xml
index f075638..368feed 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,12 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/descriptor/beans.xml
index 1d355f8..8745038 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
index 457a5c0..cc2c5e1 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
@@ -41,16 +41,12 @@
 @WebServlet(name = "mytest", urlPatterns = { "/myurl" })
 public class PortableExtensionInjectionTargetTestServlet extends HttpServlet {
 
-//    @Inject
-//    BeanManager bm;
-
     String msg = "";
 
     public static volatile boolean pitCalled;
     public volatile boolean pitsInjectionTargetUsed;
 
-    public void service(HttpServletRequest req, HttpServletResponse res)
-            throws IOException, ServletException {
+    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
 
         PrintWriter writer = res.getWriter();
         writer.write("Hello from Servlet 3.0.");
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/descriptor/beans.xml
index f075638..8745038 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,13 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.TransactionInterceptor</class>
-   </interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+       <class>test.beans.TransactionInterceptor</class>
+    </interceptors>
 </beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/descriptor/beans.xml
index e69de29..7c24ccd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/descriptor/beans.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/descriptor/beans.xml
index e69de29..7c24ccd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/descriptor/beans.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/descriptor/beans.xml
index e69de29..7c24ccd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/descriptor/beans.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/beans/Preferences.java b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/beans/Preferences.java
index 14b07bf..6c2235f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/beans/Preferences.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/beans/Preferences.java
@@ -19,7 +19,6 @@
 import java.io.Serializable;
 
 import jakarta.enterprise.context.SessionScoped;
-import jakarta.enterprise.inject.New;
 import jakarta.enterprise.inject.Produces;
 
 public class Preferences implements Serializable {
@@ -28,8 +27,8 @@
 
     @Produces
     @Preferred_CreatedProgrammatically
-    //In this producer method, we are manually creating the
-    //bean instance
+    // In this producer method, we are manually creating the
+    // bean instance
     public PaymentStrategy getPaymentStrategy() {
         if (true)
             paymentStrategy = PaymentStrategyType.CREDIT_CARD;
@@ -54,14 +53,12 @@
     // (which is RequestScoped)
     // we would incorrectly be promoting a request scoped object to a
     // session-scoped object
-    // so we use @New for CreditCardPaymentStrategy alone. The rest of the
+    // so we use @Dependent for CreditCardPaymentStrategy alone. The rest of the
     // payment
     // strategies are Dependent anyway as they are not scoped explicitly in
     // their
     // classes
-    public PaymentStrategy getPaymentStrategy(
-            @New CreditCardPaymentStrategy ccps, ChequePaymentStrategy cps,
-            PayPalPaymentStrategy pps) {
+    public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy ccps, ChequePaymentStrategy cps, PayPalPaymentStrategy pps) {
         // set CREDIT_CARD as preferred always
         paymentStrategy = PaymentStrategyType.CREDIT_CARD;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/qualifiers/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/qualifiers/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/qualifiers/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/qualifiers/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/build.xml b/appserver/tests/appserv-tests/devtests/cdi/scopes/build.xml
index c07b69e..68a1dc4 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/build.xml
@@ -20,6 +20,44 @@
 <project name="scopes-test" default="usage" basedir=".">
 
     <property name="scopes-target" value="all"/>
+    
+    <target name="usage">
+        <echo> Usage:
+                ant all (Executes all the scopes tests)
+                ant clean (cleans all the scopes tests)
+                ant build (builds all the scopes tests)
+                ant setup (sets up all resources for scopes tests)
+                ant deploy (deploys all the scopes apps)
+                ant run (Executes all the scopes tests)
+                ant undeploy (undeploys all the  scopes apps)
+                ant unsetup (unsets all resources for scopes tests)
+        </echo>
+    </target>
+    
+    <target name="scopes">
+        <record name="scopes.output" action="start" />
+        
+        <ant dir="dependent-scope" target="${scopes-target}"/>
+        <ant dir="request-and-application-scope-ejb-mdb" target="${scopes-target}"/>
+        <ant dir="singleton-scope" target="${scopes-target}"/>
+        
+        <!--
+        Not running until we have some kind of replacement for the @New qualifier.
+        
+        <ant dir="new-qualifier" target="${scopes-target}"/>
+        -->
+        
+        <!--
+        Not running until
+        https://issues.jboss.org/browse/WELD-1345 is fixed.
+        In 1.1.10.Final the test passes.
+        In 2.0 Beta it fails.
+        
+        (it was lost it time what exactly should not be run here)
+        -->
+        
+        <record name="scopes.output" action="stop" />
+    </target>
 
     <target name="run-test">
         <antcall target="scopes">
@@ -75,31 +113,7 @@
         </antcall>
     </target>
 
-    <target name="scopes">
-        <record name="scopes.output" action="start" />
-            <ant dir="dependent-scope" target="${scopes-target}"/>
-            <ant dir="new-qualifier" target="${scopes-target}"/>
-        <!--
-        Not running until
-        https://issues.jboss.org/browse/WELD-1345 is fixed.
-        In 1.1.10.Final the test passes.
-        In 2.0 Beta it fails.
-        -->
-        <ant dir="request-and-application-scope-ejb-mdb" target="${scopes-target}"/>
-        <ant dir="singleton-scope" target="${scopes-target}"/>
-        <record name="scopes.output" action="stop" />
-    </target>
+    
 
-    <target name="usage">
-        <echo> Usage:
-                ant all (Executes all the scopes tests)
-                ant clean (cleans all the scopes tests)
-                ant build (builds all the scopes tests)
-                ant setup (sets up all resources for scopes tests)
-                ant deploy (deploys all the scopes apps)
-                ant run (Executes all the scopes tests)
-                ant undeploy (undeploys all the  scopes apps)
-                ant unsetup (unsets all resources for scopes tests)
-        </echo>
-    </target>
+    
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/descriptor/beans.xml
index e69de29..7c24ccd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/descriptor/beans.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
+
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java
index 2d6afc5..7a23110 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java
@@ -18,8 +18,7 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-
-import jakarta.enterprise.inject.New;
+import jakarta.enterprise.context.Dependent;
 import jakarta.enterprise.inject.Instance;
 import jakarta.inject.Inject;
 import jakarta.servlet.ServletException;
@@ -40,19 +39,18 @@
     TestRequestScopedBean anotherRefToRequestScopedBean;
 
     @Inject
-    @New
+    @Dependent
     TestRequestScopedBean newRequestScopedBean;
 
     @Inject
-    @New
-    Instance<TestRequestScopedBean> newRequestScopedBeanProgrammaticLookup;
+    @Dependent
+    Instance<TestRequestScopedBean>newRequestScopedBeanProgrammaticLookup;
 
     @Inject
-    @New(TestRequestScopedBean.class)
+    @Dependent
     Instance<TestRequestScopedBean> newRequestScopedBeanProgrammaticLookup2;
 
-    public void service(HttpServletRequest req, HttpServletResponse res)
-            throws IOException, ServletException {
+    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
 
         PrintWriter writer = res.getWriter();
         writer.write("Hello from Servlet 3.0.");
@@ -75,10 +73,10 @@
         if (!testIsClientProxy(trsb, TestRequestScopedBean.class))
             msg += "Request scoped beans must be injected as a client proxy";
 
-        if(newRequestScopedBeanProgrammaticLookup.get() == null)
+        if (newRequestScopedBeanProgrammaticLookup.get() == null)
             msg += "A new instance of Request Scoped Bean obtained through programmatic lookup failed";
 
-        if(newRequestScopedBeanProgrammaticLookup2.get() == null)
+        if (newRequestScopedBeanProgrammaticLookup2.get() == null)
             msg += "A new(complex type specification scenario) instance of Request Scoped Bean obtained through programmatic lookup failed";
 
         writer.write(msg + "\n");
@@ -91,13 +89,11 @@
     // Tests if the bean instance is a client proxy
     private boolean testIsClientProxy(Object beanInstance, Class beanType) {
         boolean isSameClass = beanInstance.getClass().equals(beanType);
-        boolean isProxyAssignable = beanType.isAssignableFrom(beanInstance
-                .getClass());
-        System.out.println(beanInstance + "whose class is "
-                + beanInstance.getClass() + " is same class of " + beanType
-                + " = " + isSameClass);
-        System.out.println(beanType + " is assignable from " + beanInstance
-                + " = " + isProxyAssignable);
+        boolean isProxyAssignable = beanType.isAssignableFrom(beanInstance.getClass());
+        System.out.println(
+            beanInstance + "whose class is " + beanInstance.getClass() + 
+            " is same class of " + beanType + " = " + isSameClass);
+        System.out.println(beanType + " is assignable from " + beanInstance + " = " + isProxyAssignable);
         boolean isAClientProxy = !isSameClass && isProxyAssignable;
         return isAClientProxy;
     }
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/request-and-application-scope-ejb-mdb/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/scopes/request-and-application-scope-ejb-mdb/descriptor/beans.xml
index e69de29..45ccdd0 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/request-and-application-scope-ejb-mdb/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/request-and-application-scope-ejb-mdb/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/descriptor/beans.xml
index e69de29..2944211 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml
index a52bc90..05abcfe 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -15,10 +16,11 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+       <interceptors>
       <class>com.tests.TestAroundInvokeInterceptor</class>
    </interceptors>
-</beans>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/singleton-startup/hello/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/singleton-startup/hello/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/singleton-startup/hello/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/singleton-startup/hello/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/descriptor/beans.xml
index e69de29..debd97c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/descriptor/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/descriptor/beans.xml
index 1f24f15..1fe0dea 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,18 +17,16 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.artifacts.TransactionInterceptor</class>
-      <class>test.beans.artifacts.RequiresNewTransactionInterceptor</class>
-   </interceptors>
-   <alternatives>
-   <stereotype>test.beans.artifacts.MockStereotype</stereotype>
-   </alternatives>
 
-</beans>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.artifacts.TransactionInterceptor</class>
+        <class>test.beans.artifacts.RequiresNewTransactionInterceptor</class>
+    </interceptors>
+    <alternatives>
+        <stereotype>test.beans.artifacts.MockStereotype</stereotype>
+    </alternatives>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/descriptor/beans.xml
index 1f24f15..1aff4b3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,18 +17,16 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.artifacts.TransactionInterceptor</class>
-      <class>test.beans.artifacts.RequiresNewTransactionInterceptor</class>
-   </interceptors>
-   <alternatives>
-   <stereotype>test.beans.artifacts.MockStereotype</stereotype>
-   </alternatives>
 
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.artifacts.TransactionInterceptor</class>
+        <class>test.beans.artifacts.RequiresNewTransactionInterceptor</class>
+    </interceptors>
+    <alternatives>
+        <stereotype>test.beans.artifacts.MockStereotype</stereotype>
+    </alternatives>
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/descriptor/beans.xml
index 1f24f15..1fe0dea 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,18 +17,16 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
-      <class>test.beans.artifacts.TransactionInterceptor</class>
-      <class>test.beans.artifacts.RequiresNewTransactionInterceptor</class>
-   </interceptors>
-   <alternatives>
-   <stereotype>test.beans.artifacts.MockStereotype</stereotype>
-   </alternatives>
 
-</beans>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>test.beans.artifacts.TransactionInterceptor</class>
+        <class>test.beans.artifacts.RequiresNewTransactionInterceptor</class>
+    </interceptors>
+    <alternatives>
+        <stereotype>test.beans.artifacts.MockStereotype</stereotype>
+    </alternatives>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/build.xml b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/build.xml
index 82a7228..8cd7f33 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/build.xml
@@ -21,68 +21,6 @@
 
     <property name="stereotypes-target" value="all"/>
 
-    <target name="run-test">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="run-test"/>
-        </antcall>
-    </target>
-
-    <target name="all">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="all"/>
-        </antcall>
-    </target>
-
-    <target name="clean">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="clean"/>
-        </antcall>
-    </target>
-
-    <target name="build">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="build"/>
-        </antcall>
-    </target>
-
-    <target name="setup">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="setup"/>
-        </antcall>
-    </target>
-
-    <target name="deploy">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="deploy"/>
-        </antcall>
-    </target>
-
-    <target name="undeploy">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="undeploy"/>
-        </antcall>
-    </target>
-
-    <target name="unsetup">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="unsetup"/>
-        </antcall>
-    </target>
-
-    <target name="run">
-        <antcall target="stereotypes">
-        <param name="stereotypes-target" value="run"/>
-        </antcall>
-    </target>
-
-    <target name="stereotypes">
-        <record name="stereotypes.output" action="start" />
-            <ant dir="alternative-stereotypes" target="${stereotypes-target}"/>
-            <ant dir="interceptor-bindings-for-stereotypes" target="${stereotypes-target}"/>
-            <ant dir="stereotype-stacking" target="${stereotypes-target}"/>
-        <record name="stereotypes.output" action="stop" />
-    </target>
-
     <target name="usage">
         <echo> Usage:
                 ant all (Executes all the stereotypes tests)
@@ -95,4 +33,71 @@
                 ant unsetup (unsets all resources for stereotypes tests)
         </echo>
     </target>
+
+    <target name="stereotypes">
+        <record name="stereotypes.output" action="start" />
+
+        <ant dir="alternative-stereotypes" target="${stereotypes-target}" />
+        <ant dir="interceptor-bindings-for-stereotypes" target="${stereotypes-target}" />
+        <ant dir="stereotype-stacking" target="${stereotypes-target}" />
+
+        <record name="stereotypes.output" action="stop" />
+    </target>
+
+    <target name="run-test">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="run-test" />
+        </antcall>
+    </target>
+
+    <target name="all">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="all" />
+        </antcall>
+    </target>
+
+    <target name="clean">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="clean" />
+        </antcall>
+    </target>
+
+    <target name="build">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="build" />
+        </antcall>
+    </target>
+
+    <target name="setup">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="setup" />
+        </antcall>
+    </target>
+
+    <target name="deploy">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="deploy" />
+        </antcall>
+    </target>
+
+    <target name="run">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="run" />
+        </antcall>
+    </target>
+
+
+    <target name="undeploy">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="undeploy" />
+        </antcall>
+    </target>
+
+    <target name="unsetup">
+        <antcall target="stereotypes">
+            <param name="stereotypes-target" value="unsetup" />
+        </antcall>
+    </target>
+
+
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/descriptor/beans.xml
index 7900c53..85d0ac1 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,15 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
    <interceptors>
       <class>test.beans.TransactionInterceptor</class>
       <class>test.beans.RequiresNewTransactionInterceptor</class>
    </interceptors>
-
 </beans>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/descriptor/beans.xml
index 33b2aa7..0b9c30a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,14 +17,13 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-   <interceptors>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+  <interceptors>
       <class>test.beans.interceptors.TransactionInterceptor</class>
       <class>test.beans.interceptors.SecurityInterceptor</class>
    </interceptors>
-</beans>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/descriptor/beans.xml
index 1d355f8..b8b4f75 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,10 +17,9 @@
 
 -->
 
-<beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/descriptor/beans.xml
index e69de29..b8b4f75 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/descriptor/beans.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/build.xml b/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/build.xml
index a78bc46..727b7c3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/build.xml
@@ -32,56 +32,55 @@
     &testproperties;
     &run;
 
-    <target name="all" depends="build,deploy,run,undeploy"/>
+    <target name="all" depends="build,deploy,run,undeploy" />
 
     <target name="clean" depends="init-common">
-        <antcall target="clean-common"/>
+        <antcall target="clean-common" />
         <delete>
-            <fileset dir="." includes="*.class"/>
+            <fileset dir="." includes="*.class" />
         </delete>
     </target>
 
     <target name="compile" depends="clean">
         <antcall target="compile-common">
-            <param name="src" value="servlet"/>
+            <param name="src" value="servlet" />
         </antcall>
     </target>
 
     <target name="build" depends="compile">
-        <property name="hasWebclient" value="yes"/>
+        <property name="hasWebclient" value="yes" />
         <antcall target="webclient-war-common">
-            <param name="hasWebclient" value="yes"/>
-            <param name="webclient.war.classes" value="**/*.class"/>
+            <param name="hasWebclient" value="yes" />
+            <param name="webclient.war.classes" value="**/*.class" />
         </antcall>
 
-        <javac srcdir="." classpath="${env.APS_HOME}/lib/reportbuilder.jar"
-               includes="WebTest.java"/>
+        <javac srcdir="." classpath="${env.APS_HOME}/lib/reportbuilder.jar" includes="WebTest.java" />
 
     </target>
 
     <target name="build-publish-war" depends="build, publish-war-common" />
 
     <target name="deploy" depends="init-common">
-        <antcall target="deploy-war-common"/>
+        <antcall target="deploy-war-common" />
     </target>
 
     <target name="run" depends="init-common">
         <java classname="WebTest" fork="true">
-          <arg value="${http.host}"/>
-          <arg value="${http.port}"/>
-          <arg value="${contextroot}"/>
-          <classpath>
-           <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
-           <pathelement location="."/>
-         </classpath>
+            <arg value="${http.host}" />
+            <arg value="${http.port}" />
+            <arg value="${contextroot}" />
+            <classpath>
+                <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar" />
+                <pathelement location="." />
+            </classpath>
         </java>
     </target>
 
     <target name="undeploy" depends="init-common">
-        <antcall target="undeploy-war-common"/>
+        <antcall target="undeploy-war-common" />
     </target>
 
     <target name="usage">
-        <antcall target="usage-common"/>
+        <antcall target="usage-common" />
     </target>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/descriptor/beans.xml
index 47d88ee..b30b02c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/descriptor/beans.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
     Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
@@ -16,12 +17,13 @@
 
 -->
 
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="
-      http://java.sun.com/xml/ns/javaee
-      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-  <alternatives>
-  <!--  This test passes because this alternative is enabled -->
-    <class>test.artifacts.MockPaymentProcessor</class>
-  </alternatives>
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+    bean-discovery-mode="all" version="3.0">
+    <alternatives>
+        <!-- This test passes because this alternative is enabled -->
+        <class>test.artifacts.MockPaymentProcessor</class>
+    </alternatives>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/cluster/test-bigcluster.sh b/appserver/tests/appserv-tests/devtests/cluster/test-bigcluster.sh
index eb987b2..b3e20ab 100755
--- a/appserver/tests/appserv-tests/devtests/cluster/test-bigcluster.sh
+++ b/appserver/tests/appserv-tests/devtests/cluster/test-bigcluster.sh
@@ -17,7 +17,7 @@
 
 
 TESTHOME=`pwd`
-GFHOME=$TESTHOME/glassfish6
+GFHOME=$TESTHOME/glassfish7
 export INSTALL_LOC=$HOME/testnode
 export DOMAIN=domain1
 echo "DOMAIN is set to $DOMAIN. Reset this if working with another domain."
@@ -89,7 +89,7 @@
   grep 'time to parse domain.xml' $GFHOME/glassfish/domains/$DOMAIN/logs/server.log |
     sed -e 's/^.*Total //' -e 's/|#]//' | tail -1
   echo 'size of domain.xml: ' `ls -l $GFHOME/glassfish/domains/$DOMAIN/config/domain.xml | awk '{ print $5 }'`
-  PIDFILE=$TESTHOME/glassfish6/glassfish/domains/domain1/config/pid
+  PIDFILE=$TESTHOME/glassfish7/glassfish/domains/domain1/config/pid
   # wait for pid file to be there, as restart-domain returns before it is actually there
   while [ ! -f $PIDFILE ]; do sleep 1; done
   daspid=`cat $PIDFILE`
@@ -192,14 +192,14 @@
 create_hosted_nodes() {
   echo Creating SSH nodes from the hosted_nodes file for domain $DOMAIN...
   grep -v '^#' $TESTHOME/hosted-nodes |
-    awk '{ printf "create-node-ssh --nodehost %s --installdir '$INSTALL_LOC'/glassfish6 --sshuser %s n-ssh-'$DOMAIN'-%d\n", $2, $1, ++n }' |
+    awk '{ printf "create-node-ssh --nodehost %s --installdir '$INSTALL_LOC'/glassfish7 --sshuser %s n-ssh-'$DOMAIN'-%d\n", $2, $1, ++n }' |
     asadmin
   asadmin list-nodes
 }
 
 install_hosted_nodes() {
   echo Installing GlassFish on nodes from hosted_nodes file...
-  asadmin install-node --installdir $INSTALL_LOC/glassfish6 `grep -v '^#' hosted-nodes | cut -d" " -f2`
+  asadmin install-node --installdir $INSTALL_LOC/glassfish7 `grep -v '^#' hosted-nodes | cut -d" " -f2`
 }
 
 cmd_on_hosted_nodes() {
diff --git a/appserver/tests/appserv-tests/devtests/ejb/README b/appserver/tests/appserv-tests/devtests/ejb/README
index 48e0512..59eaf85 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/README
+++ b/appserver/tests/appserv-tests/devtests/ejb/README
@@ -5,7 +5,7 @@
 1. Set the following variables:
 
 APS_HOME to the location of where v2/appserv-tests are checked out
-S1AS_HOME to <GlassFish install location>/glassfish6/glassfish
+S1AS_HOME to <GlassFish install location>/glassfish7/glassfish
 
 2. Make sure ant is in your path.  
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/jcdifull/descriptor/beans.xml b/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/jcdifull/descriptor/beans.xml
index b2b07ac..6a0c02b 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/jcdifull/descriptor/beans.xml
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/jcdifull/descriptor/beans.xml
@@ -17,11 +17,13 @@
 -->
 
 <beans
-   xmlns="http://java.sun.com/xml/ns/javaee"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="
-       http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+  xmlns="https://jakarta.ee/xml/ns/jakartaee"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="
+    https://jakarta.ee/xml/ns/jakartaee
+    https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+  bean-discovery-mode="all" version="3.0"
+>
    <interceptors>
       <class>test.beans.interceptors.AnotherInterceptor</class>
    </interceptors>
diff --git a/appserver/tests/appserv-tests/devtests/ejb/pom.xml b/appserver/tests/appserv-tests/devtests/ejb/pom.xml
index 7f91c8c..9dc7431 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/ejb/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.main.tests</groupId>
     <artifactId>tests</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/jms/README b/appserver/tests/appserv-tests/devtests/jms/README
index d005390..e223761 100644
--- a/appserver/tests/appserv-tests/devtests/jms/README
+++ b/appserver/tests/appserv-tests/devtests/jms/README
@@ -5,7 +5,7 @@
 1. Set the following variables:

 

 APS_HOME to the location of where v2/appserv-tests are checked out

-S1AS_HOME to <GlassFish install location>/glassfish6/glassfish

+S1AS_HOME to <GlassFish install location>/glassfish7/glassfish

 

 2. Make sure ant is in your path.  

 

diff --git a/appserver/tests/appserv-tests/devtests/security/container-auth/testConfig/domain.xml b/appserver/tests/appserv-tests/devtests/security/container-auth/testConfig/domain.xml
index d2a2683..085400b 100644
--- a/appserver/tests/appserv-tests/devtests/security/container-auth/testConfig/domain.xml
+++ b/appserver/tests/appserv-tests/devtests/security/container-auth/testConfig/domain.xml
@@ -197,7 +197,7 @@
         <module-monitoring-levels connector-connection-pool="OFF" ejb-container="OFF" http-service="OFF" jdbc-connection-pool="OFF" jndi="OFF" orb="OFF" thread-pool="OFF" transaction-service="OFF" web-container="OFF"/>
 -->
       </monitoring-service>
-      <java-config classpath-suffix="${com.sun.aas.installRoot}/pointbase/lib/pbclient.jar${path.separator}${com.sun.aas.installRoot}/pointbase/lib/pbembedded.jar" debug-enabled="false" debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" env-classpath-ignored="true" java-home="${com.sun.aas.javaRoot}" javac-options="-g" rmic-options="-iiop -poa -alwaysgenerate -keepgenerated -g" server-classpath="${com.sun.aas.javaRoot}/lib/tools.jar${path.separator}${com.sun.aas.installRoot}/lib/install/applications/jmsra/imqjmsra.jar${path.separator}${com.sun.aas.imqLib}/jaxm-api.jar${path.separator}${com.sun.aas.imqLib}/fscontext.jar${path.separator}${com.sun.aas.installRoot}/lib/ant/lib/ant.jar">
+      <java-config classpath-suffix="${com.sun.aas.installRoot}/pointbase/lib/pbclient.jar${path.separator}${com.sun.aas.installRoot}/pointbase/lib/pbembedded.jar" debug-enabled="false" debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" env-classpath-ignored="true" java-home="${com.sun.aas.javaRoot}" javac-options="-g" rmic-options="-iiop -poa -alwaysgenerate -keepgenerated -g" server-classpath="${com.sun.aas.javaRoot}/lib/tools.jar${path.separator}${com.sun.aas.installRoot}/lib/install/applications/jmsra/imqjmsra.jar${path.separator}${com.sun.aas.imqLib}/fscontext.jar${path.separator}${com.sun.aas.installRoot}/lib/ant/lib/ant.jar">
         <!-- various required jvm-options -->
         <jvm-options>-client</jvm-options>
         <jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options>
diff --git a/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/pom.xml b/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/pom.xml
index 920198e..363ee8c 100644
--- a/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath/>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/pom.xml b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/pom.xml
index 68727ec..d45fbd9 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jaccApi.test</groupId>
         <artifactId>prog-auth</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>jaccApi-common</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/pom.xml b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/pom.xml
index a631763..a61312e 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/pom.xml
@@ -21,7 +21,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.jaccApi.test</groupId>
     <artifactId>prog-auth</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Programmatic authentication with Jakarta Authorization api</name>
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/pom.xml b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/pom.xml
index e4503e0..af793a5 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jaccApi.test</groupId>
         <artifactId>prog-auth</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>programmatic-authentication-jacc-api</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/README.md b/appserver/tests/appserv-tests/devtests/security/soteria/README.md
index 948191e..f3900e1 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/README.md
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/README.md
@@ -19,7 +19,7 @@
 
 Jun 05, 2017 3:50:22 PM org.jboss.arquillian.container.glassfish.managed_3_1.GlassFishServerControl$1 run
 WARNING: Forcing container shutdown
-Stopping container using command: [java, -jar, /media/sameerpandit/WLS/javaEE/tt/glassfish6/glassfish/../glassfish/modules/admin-cli.jar, stop-domain, -t]
+Stopping container using command: [java, -jar, /media/sameerpandit/WLS/javaEE/tt/glassfish7/glassfish/../glassfish/modules/admin-cli.jar, stop-domain, -t]
 ------------
 
 Resolve this by running the test with a fresh $S1AS_HOME.
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/pom.xml
index 1d9efa7..d4da676 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-bundled-ham-basic-login-config-form</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/pom.xml
index f9f3450..c56687c 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-caller-principal</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/pom.xml
index 557f179..0815c79 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-custom-identity-store-handler</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/pom.xml
index ad5f7ba..26f62da 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-custom-rememberme</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/pom.xml
index 4ce035c..e159522 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-custom-session</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/pom.xml
index d85a476..b6fefaa 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-custom</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-db/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-db/pom.xml
index f10e03b..9ba40e8 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-db/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-db/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
 
         <artifactId>app-db</artifactId>
@@ -40,7 +40,7 @@
     <dependency>
       <groupId>org.glassfish.soteria.test</groupId>
       <artifactId>common</artifactId>
-      <version>6.2.6-SNAPSHOT</version>
+      <version>7.0.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/pom.xml
index 6f49151..e157f66 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
 
         <artifactId>app-double-ham</artifactId>
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>org.glassfish.soteria.test</groupId>
             <artifactId>common</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/pom.xml
index a344289..6c106a5 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
 
         <artifactId>app-ham-ordering</artifactId>
@@ -40,7 +40,7 @@
     <dependency>
       <groupId>org.glassfish.soteria.test</groupId>
       <artifactId>common</artifactId>
-      <version>6.2.6-SNAPSHOT</version>
+      <version>7.0.0-SNAPSHOT</version>
       <scope>test</scope>
       </dependency>
   </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/pom.xml
index 0245a9f..4207451 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-mem-basic</artifactId>
@@ -41,7 +41,7 @@
         <dependency>
             <groupId>org.glassfish.soteria.test</groupId>
             <artifactId>common</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/pom.xml
index 35321b7..6fb0fdc 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
 
         <artifactId>app-mem-form</artifactId>
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>org.glassfish.soteria.test</groupId>
             <artifactId>common</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/pom.xml
index 4e77b7b..bd10de2 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
 
         <artifactId>app-multiple-store-backup</artifactId>
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>org.glassfish.soteria.test</groupId>
             <artifactId>common</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/pom.xml
index d99d57a..97f26f4 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
 
         <artifactId>app-multiple-store</artifactId>
@@ -40,7 +40,7 @@
     <dependency>
       <groupId>org.glassfish.soteria.test</groupId>
       <artifactId>common</artifactId>
-      <version>6.2.6-SNAPSHOT</version>
+      <version>7.0.0-SNAPSHOT</version>
       <scope>test</scope>
       </dependency>
   </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/pom.xml
index abda6da..d4f447d 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
 
         <artifactId>app-no-application-caller-principal</artifactId>
@@ -39,7 +39,7 @@
     <dependency>
       <groupId>org.glassfish.soteria.test</groupId>
       <artifactId>common</artifactId>
-      <version>6.2.6-SNAPSHOT</version>
+      <version>7.0.0-SNAPSHOT</version>
       <scope>test</scope>
       </dependency>
   </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/pom.xml
index ccf1c2b..2ea7164 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>app-no-role-mapping</artifactId>
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>org.glassfish.soteria.test</groupId>
             <artifactId>common</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/pom.xml
index a7518de..b70196e 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
         <artifactId>app-securitycontext-auth-ejb</artifactId>
@@ -41,7 +41,7 @@
         <dependency>
             <groupId>org.glassfish.soteria.test</groupId>
             <artifactId>common</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/pom.xml
index 120a9f0..628ac42 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
         <artifactId>app-securitycontext-auth</artifactId>
@@ -41,7 +41,7 @@
         <dependency>
             <groupId>org.glassfish.soteria.test</groupId>
             <artifactId>common</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/common/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/common/pom.xml
index eafc6df..83fbed0 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/common/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.soteria.test</groupId>
         <artifactId>soteria</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>common</artifactId>
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/pom.xml b/appserver/tests/appserv-tests/devtests/security/soteria/pom.xml
index 56512ed..52fdaf1 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/pom.xml
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/pom.xml
@@ -21,7 +21,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.soteria.test</groupId>
     <artifactId>soteria</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Soteria ${project.version} Integration tests and examples</name>
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/readme b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/readme
index 6fdbb3d..b5dec3b 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/readme
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/readme
@@ -25,7 +25,7 @@
 
 Note: how to look at the log table:
 % asadmin stop-database
-% java -cp <gf-install>/javadb/lib/derbytools.jar:<gf-install>/javadb/lib/derbyclient.jar:<gf-install>/gfs/glassfish6/javadb/lib/derby.jar org.apache.derby.impl.tools.ij.Main
+% java -cp <gf-install>/javadb/lib/derbytools.jar:<gf-install>/javadb/lib/derbyclient.jar:<gf-install>/gfs/glassfish7/javadb/lib/derby.jar org.apache.derby.impl.tools.ij.Main
 ij version 10.8
 ij> connect 'jdbc:derby:<gf-install>/glassfish/databases/testdb';
 ij> show tables in dbuser;
diff --git a/appserver/tests/appserv-tests/devtests/web/README_Embedded.txt b/appserver/tests/appserv-tests/devtests/web/README_Embedded.txt
index d206d9c..d6d2353 100644
--- a/appserver/tests/appserv-tests/devtests/web/README_Embedded.txt
+++ b/appserver/tests/appserv-tests/devtests/web/README_Embedded.txt
@@ -1,6 +1,6 @@
 export APS_HOME=<Your-Workspace>/v2/appserv-tests
 
-export S1AS_HOME=<installed-glassfish> (eg.,, /tmp/glassfish6/glassfish)
+export S1AS_HOME=<installed-glassfish> (eg.,, /tmp/glassfish7/glassfish)
 
 export ANT_OPTS="-Xss128k -Xmx2048m -XX:MaxPermSize=256m"
 
diff --git a/appserver/tests/appserv-tests/devtests/web/build.xml b/appserver/tests/appserv-tests/devtests/web/build.xml
index d391f8f..e64fceb 100644
--- a/appserver/tests/appserv-tests/devtests/web/build.xml
+++ b/appserver/tests/appserv-tests/devtests/web/build.xml
@@ -37,89 +37,94 @@
     <property name="xmlfile" value="${env.APS_HOME}/test_resultsValid.xml" />
     <property name="htmlfile" value="${env.APS_HOME}/test_results.html" />
 
-    <target name="jsp" depends="init-report">
-        <ant dir="emptyServletPathJspInclude" target="all"/>
-        <ant dir="jsp-security" target="all"/>
-        <ant dir="jspAllowErrorPageToSetResponseCharsetIfNoOutputWritten" target="all"/>
-        <ant dir="jspAnonymousClass" target="all"/>
-        <ant dir="jspAttributeNameWithColonOrDot" target="all"/>
-        <ant dir="jspBomInClassicSyntax" target="all"/>
-        <ant dir="jspBomInClassicSyntaxEncodingMismatchJspConfig" target="all"/>
-        <ant dir="jspBomInClassicSyntaxEncodingMismatchPageDir" target="all"/>
-        <ant dir="jspCacheTaglibPrecompile" target="all"/>
-        <ant dir="jspCachingInstanceLevel" target="all"/>
-        <ant dir="jspCallingELFuctionFromTagfileWithinSameTaglibInfiniteRecursion" target="all"/>
-        <ant dir="jspCommentedOutPageDirective" target="all"/>
-        <ant dir="jspCommentedOutPageDirective1" target="all"/>
-        <ant dir="jspConfigBuffer" target="all"/>
-        <ant dir="jspConfigDefaultContentType" target="all"/>
-        <ant dir="jspConfigGetServletPath" target="all"/>
-        <ant dir="jspConfigIncludeChain" target="all"/>
-        <ant dir="jspConfigJavacSource" target="build-publish-war"/>
-        <ant dir="jspConfigJspFile" target="all"/>
-        <ant dir="jspConfigModificationTestInterval" target="all"/>
-        <ant dir="jspConfigUndeclaredNS" target="all"/>
-        <ant dir="jspConfigUsePrecompiled" target="all"/>
-        <ant dir="jspConfigUsePrecompiled2" target="all"/>
-        <ant dir="jspConfigWelcomeFiles" target="all"/>
-        <ant dir="jspCustomTagAttributeOfArrayType" target="all"/>
-        <ant dir="jspCustomTaglibBundledAsJar" target="all"/>
-        <ant dir="jspCustomTaglibJarInsideEarWithManifestClassPath" target="all"/>
-        <ant dir="jspCustomTaglibJarInsideEarWithoutManifestClassPath" target="all"/>
-        <ant dir="jspELEnum" target="all"/>
-        <ant dir="jspErrorPageClassCastException" target="all"/>
-        <ant dir="jspErrorPageServletErrorException" target="all"/>
-        <ant dir="jspErrorPageStatusCode" target="all"/>
-        <ant dir="jspExceptionInTagBodyRestoreJspWriter" target="all"/>
-        <ant dir="jspForwardPreserveApplicationResponseWrapper" target="all"/>
-        <ant dir="jspForwardUnbuffered" target="all"/>
-        <ant dir="jspGetTagLibraryInfos" target="all"/>
-        <ant dir="jspInWebappWithBundledXercesImpl" target="all"/>
-        <ant dir="jspIncludeResourceNameWithPlusChar" target="all"/>
-        <ant dir="jspIncludedWelcomePage" target="all"/>
-        <ant dir="jspNestedScriptingTagExtraInfo" target="all"/>
-        <ant dir="jspNullFragment" target="all"/>
-        <ant dir="jspPoundSyntax" target="all"/>
-        <ant dir="jspPrecompileConsiderDomainLibJarFilesAndClasses" target="all"/>
-        <ant dir="jspPrecompileDeployDashDashLibraries" target="all"/>
-        <ant dir="jspPrecompileIgnoreFragmentErrors" target="all"/>
-        <ant dir="jspReloadGeneratedServletIfUpdated" target="all"/>
-        <ant dir="jspResourceInjectionContextListener" target="all"/>
-        <ant dir="jspResourceInjectionSimpleTagHandler" target="all"/>
-        <ant dir="jspResourceInjectionTagHandler" target="all"/>
-        <ant dir="jspResourceInjectionTagHandlerPoolingDisabled" target="all"/>
-        <ant dir="jspRuntimeCompileConsiderDomainLibJarFilesAndClasses" target="all"/>
-        <ant dir="jspRuntimeDeployDashDashLibraries" target="all"/>
-        <ant dir="jspScriptlessTagBodyJspDocument" target="all"/>
-        <ant dir="jspScriptletAfterScriptlessTag" target="all"/>
-        <ant dir="jspScriptletDeclNestedInCustomAction" target="all"/>
-        <ant dir="jspScriptletSyntaxErrorCorrectErrorMessage" target="all"/>
-        <ant dir="jspSelfReferencingErrorPage" target="all"/>
-        <ant dir="jspSelfReferencingErrorPageWithRelativePath" target="all"/>
-        <ant dir="jspServletOverride" target="all"/>
-        <ant dir="jspSessionInvalidated" target="all"/>
-        <ant dir="jspSimpleTagAnnotation" target="all"/>
-        <ant dir="jspStaticFileEncoding" target="all"/>
-        <ant dir="jspTagFileBomEncodingMismatchTagDir" target="all"/>
-        <ant dir="jspTagHandlerPostConstructElement" target="all"/>
-        <ant dir="jspTagHandlerPreDestroyAnnotation" target="all"/>
-        <ant dir="jspTagHandlerPreDestroyAnnotation" target="all"/>
-        <ant dir="jspTagLibraryValidatorXMLViewStaticInclude" target="all"/>
-        <ant dir="jspTagReleaseCalledWhenPoolingDisabled" target="all"/>
-        <ant dir="jspTagReleaseCalledWhenPoolingEnabled" target="all"/>
-        <ant dir="jspTagdependentXml" target="all"/>
-        <ant dir="jspTemplateTextEscapedEL" target="all"/>
-        <ant dir="jspThrowsFileNotFoundExpect500ResponseCode" target="all"/>
-        <ant dir="jspTrimDirectiveWhitespaces" target="all"/>
-        <ant dir="jspUrnJspTldWithoutUri" target="all"/>
-        <ant dir="jspUseBean" target="all"/>
-        <ant dir="jspWelcomePageWithoutAnyServletMappings" target="all"/>
-        <ant dir="jspXpoweredByDisabled" target="all"/>
-        <ant dir="jspXpoweredBySingleResponseHeader" target="all"/>
-        <ant dir="jspcConfigure" target="all"/>
-        <ant dir="jspconfig" target="all"/>
-        <ant dir="welcomePageSecurityConstraintExactMatch" target="all"/>
-        <ant dir="welcomePageSecurityConstraintJspExtension" target="all"/>
+    <target name="jsp" depends="init-report" xmlns:if="ant:if" xmlns:unless="ant:unless">
+
+        <echo message="@@## Running WEB JSP developer tests ##@@" />
+        <echo unless:set="env.web" message="@@## Set environment variable 'web' to name of single test dir to run only that one. ##@@${line.separator}" />
+        <echo if:set="env.web" message="@@## environment variable 'web' set. Running only ${env.web}  ##@@${line.separator}" />
+        
+        <run-web-test path="emptyServletPathJspInclude" />
+        <run-web-test path="jsp-security" />
+        <run-web-test path="jspAllowErrorPageToSetResponseCharsetIfNoOutputWritten" />
+        <run-web-test path="jspAnonymousClass" />
+        <run-web-test path="jspAttributeNameWithColonOrDot" />
+        <run-web-test path="jspBomInClassicSyntax" />
+        <run-web-test path="jspBomInClassicSyntaxEncodingMismatchJspConfig" />
+        <run-web-test path="jspBomInClassicSyntaxEncodingMismatchPageDir" />
+        <run-web-test path="jspCacheTaglibPrecompile" />
+        <run-web-test path="jspCachingInstanceLevel" />
+        <run-web-test path="jspCallingELFuctionFromTagfileWithinSameTaglibInfiniteRecursion" />
+        <run-web-test path="jspCommentedOutPageDirective" />
+        <run-web-test path="jspCommentedOutPageDirective1" />
+        <run-web-test path="jspConfigBuffer" />
+        <run-web-test path="jspConfigDefaultContentType" />
+        <run-web-test path="jspConfigGetServletPath" />
+        <run-web-test path="jspConfigIncludeChain" />
+        <run-web-test path="jspConfigJavacSource" target="build-publish-war"/>
+        <run-web-test path="jspConfigJspFile" />
+        <run-web-test path="jspConfigModificationTestInterval" />
+        <run-web-test path="jspConfigUndeclaredNS" />
+        <run-web-test path="jspConfigUsePrecompiled" />
+        <run-web-test path="jspConfigUsePrecompiled2" />
+        <run-web-test path="jspConfigWelcomeFiles" />
+        <run-web-test path="jspCustomTagAttributeOfArrayType" />
+        <run-web-test path="jspCustomTaglibBundledAsJar" />
+        <run-web-test path="jspCustomTaglibJarInsideEarWithManifestClassPath" />
+        <run-web-test path="jspCustomTaglibJarInsideEarWithoutManifestClassPath" />
+        <run-web-test path="jspELEnum" />
+        <run-web-test path="jspErrorPageClassCastException" />
+        <run-web-test path="jspErrorPageServletErrorException" />
+        <run-web-test path="jspErrorPageStatusCode" />
+        <run-web-test path="jspExceptionInTagBodyRestoreJspWriter" />
+        <run-web-test path="jspForwardPreserveApplicationResponseWrapper" />
+        <run-web-test path="jspForwardUnbuffered" />
+        <run-web-test path="jspGetTagLibraryInfos" />
+        <run-web-test path="jspInWebappWithBundledXercesImpl" />
+        <run-web-test path="jspIncludeResourceNameWithPlusChar" />
+        <run-web-test path="jspIncludedWelcomePage" />
+        <run-web-test path="jspNestedScriptingTagExtraInfo" />
+        <run-web-test path="jspNullFragment" />
+        <run-web-test path="jspPoundSyntax" />
+        <run-web-test path="jspPrecompileConsiderDomainLibJarFilesAndClasses" />
+        <run-web-test path="jspPrecompileDeployDashDashLibraries" />
+        <run-web-test path="jspPrecompileIgnoreFragmentErrors" />
+        <run-web-test path="jspReloadGeneratedServletIfUpdated" />
+        <run-web-test path="jspResourceInjectionContextListener" />
+        <run-web-test path="jspResourceInjectionSimpleTagHandler" />
+        <run-web-test path="jspResourceInjectionTagHandler" />
+        <run-web-test path="jspResourceInjectionTagHandlerPoolingDisabled" />
+        <run-web-test path="jspRuntimeCompileConsiderDomainLibJarFilesAndClasses" />
+        <run-web-test path="jspRuntimeDeployDashDashLibraries" />
+        <run-web-test path="jspScriptlessTagBodyJspDocument" />
+        <run-web-test path="jspScriptletAfterScriptlessTag" />
+        <run-web-test path="jspScriptletDeclNestedInCustomAction" />
+        <run-web-test path="jspScriptletSyntaxErrorCorrectErrorMessage" />
+        <run-web-test path="jspSelfReferencingErrorPage" />
+        <run-web-test path="jspSelfReferencingErrorPageWithRelativePath" />
+        <run-web-test path="jspServletOverride" />
+        <run-web-test path="jspSessionInvalidated" />
+        <run-web-test path="jspSimpleTagAnnotation" />
+        <run-web-test path="jspStaticFileEncoding" />
+        <run-web-test path="jspTagFileBomEncodingMismatchTagDir" />
+        <run-web-test path="jspTagHandlerPostConstructElement" />
+        <run-web-test path="jspTagHandlerPreDestroyAnnotation" />
+        <run-web-test path="jspTagHandlerPreDestroyAnnotation" />
+        <run-web-test path="jspTagLibraryValidatorXMLViewStaticInclude" />
+        <run-web-test path="jspTagReleaseCalledWhenPoolingDisabled" />
+        <run-web-test path="jspTagReleaseCalledWhenPoolingEnabled" />
+        <run-web-test path="jspTagdependentXml" />
+        <run-web-test path="jspTemplateTextEscapedEL" />
+        <run-web-test path="jspThrowsFileNotFoundExpect500ResponseCode" />
+        <run-web-test path="jspTrimDirectiveWhitespaces" />
+        <run-web-test path="jspUrnJspTldWithoutUri" />
+        <run-web-test path="jspUseBean" />
+        <run-web-test path="jspWelcomePageWithoutAnyServletMappings" />
+        <run-web-test path="jspXpoweredByDisabled" />
+        <run-web-test path="jspXpoweredBySingleResponseHeader" />
+        <run-web-test path="jspcConfigure" />
+        <run-web-test path="jspconfig" />
+        <run-web-test path="welcomePageSecurityConstraintExactMatch" />
+        <run-web-test path="welcomePageSecurityConstraintJspExtension" />
     </target>
 
     <target name="taglib" depends="init-report">
@@ -583,6 +588,7 @@
     </target>
 
     <target name="init-report" unless="report.inited">
+        <property environment="env" />
         <property name="report.inited" value="true"/>
         <record name="web.output" action="start" />
         <antcall target="startDomain"/>
@@ -627,4 +633,32 @@
     <target name="usage">
         <echo>Usage: ant web (Executes the web tests)</echo>
     </target>
+    
+    <macrodef name="run-web-test" xmlns:if="ant:if" xmlns:unless="ant:unless">
+            <attribute name="path" />
+            <attribute name="target" default="all"/>
+            <sequential>
+                <local name="do-run-test" />
+                <condition property="do-run-test" else="false">
+                    <or>
+                        <equals arg1="${env.web}" arg2="@{path}" />
+                        <not>
+                            <isset property="env.web" />
+                        </not>
+                    </or>
+                </condition>
+
+                <sequential if:true="${do-run-test}">
+                    <local name="absolute.path" />
+                    <property name="absolute.path" location="@{path}" />
+                    <echo message="${line.separator}" />
+                    <echo message=" *************************" />
+                    <echo message=" * Running @{path} " />
+                    <echo message=" * Path: ${absolute.path} " />
+                    <echo message=" *************************" />
+                    <echo message="${line.separator}" />
+                    <ant dir="@{path}" target="@{target}" />
+                </sequential>
+            </sequential>
+        </macrodef>
 </project>
diff --git a/appserver/tests/appserv-tests/devtests/web/defaultCharset/docroot/jsp/getRequestCharset.jsp b/appserver/tests/appserv-tests/devtests/web/defaultCharset/docroot/jsp/getRequestCharset.jsp
index 06d8f0c..552b811 100644
--- a/appserver/tests/appserv-tests/devtests/web/defaultCharset/docroot/jsp/getRequestCharset.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/defaultCharset/docroot/jsp/getRequestCharset.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
 
 ${pageContext.request.reader}
 
diff --git a/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml b/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml
index 9e417d4..233a34f 100644
--- a/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml
+++ b/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml
@@ -37,7 +37,7 @@
     <target name="compile">
         <javac
             srcdir="."
-            classpath="${env.APS_HOME}/lib/reportbuilder.jar;${env.S1AS_HOME}/modules/jakarta.el.jar;${env.S1AS_HOME}/modules/jakarta.el-api.jar"
+            classpath="${env.APS_HOME}/lib/reportbuilder.jar;${env.S1AS_HOME}/modules/expressly.jar;${env.S1AS_HOME}/modules/jakarta.el-api.jar"
             includes="WebTest.java"/>
 
     </target>
@@ -46,7 +46,7 @@
         <java classname="WebTest" fork="true">
           <classpath>
            <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
-           <pathelement location="${env.S1AS_HOME}/modules/jakarta.el.jar"/>
+           <pathelement location="${env.S1AS_HOME}/modules/expressly.jar"/>
            <pathelement location="${env.S1AS_HOME}/modules/jakarta.el-api.jar"/>
            <pathelement location="."/>
          </classpath>
diff --git a/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/descriptor/web.xml b/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/descriptor/web.xml
index 2ec5a55..37ebfbd 100644
--- a/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/descriptor/web.xml
+++ b/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/descriptor/web.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 
+	Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -29,7 +30,7 @@
 
   <servlet>
     <servlet-name>jspservlet</servlet-name>
-    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+    <servlet-class>org.glassfish.wasp.servlet.JspServlet</servlet-class>
     <init-param>
       <param-name>xpoweredBy</param-name>
       <param-value>true</param-value>
diff --git a/appserver/tests/appserv-tests/devtests/web/formHintField/docroot/jsp/formHintField.jsp b/appserver/tests/appserv-tests/devtests/web/formHintField/docroot/jsp/formHintField.jsp
index 06d8f0c..552b811 100644
--- a/appserver/tests/appserv-tests/devtests/web/formHintField/docroot/jsp/formHintField.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/formHintField/docroot/jsp/formHintField.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
 
 ${pageContext.request.reader}
 
diff --git a/appserver/tests/appserv-tests/devtests/web/formHintFieldPrecedence/docroot/jsp/formHintField.jsp b/appserver/tests/appserv-tests/devtests/web/formHintFieldPrecedence/docroot/jsp/formHintField.jsp
index 06d8f0c..552b811 100644
--- a/appserver/tests/appserv-tests/devtests/web/formHintFieldPrecedence/docroot/jsp/formHintField.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/formHintFieldPrecedence/docroot/jsp/formHintField.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
 
 ${pageContext.request.reader}
 
diff --git a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/src/main/java/com/acme/HttpClient.java b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/src/main/java/com/acme/HttpClient.java
index 51b10c8..455a6f5 100644
--- a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/src/main/java/com/acme/HttpClient.java
+++ b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/src/main/java/com/acme/HttpClient.java
@@ -22,7 +22,7 @@
 
 public class HttpClient {
 
-    private static final String ASADMIN = "/home/rajiv/Software/glassfish6/glassfish/bin/asadmin";
+    private static final String ASADMIN = "/home/rajiv/Software/glassfish7/glassfish/bin/asadmin";
     private static String appName = "SFSBModifiedAttribute";
     private static String servletName = "SFSBDriverServlet";
 
diff --git a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/src/main/java/com/acme/HttpClient.java b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/src/main/java/com/acme/HttpClient.java
index feed93f..b7acdda 100644
--- a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/src/main/java/com/acme/HttpClient.java
+++ b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/src/main/java/com/acme/HttpClient.java
@@ -22,7 +22,7 @@
 
 public class HttpClient {
 
-    private static final String ASADMIN = "/home/rajiv/Software/glassfish6/glassfish/bin/asadmin";
+    private static final String ASADMIN = "/home/rajiv/Software/glassfish7/glassfish/bin/asadmin";
     private static String appName = "SFSBModifiedSession";
     private static String servletName = "SFSBDriverServlet";
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java b/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java
index 3d84740..5e5333a 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java
@@ -20,51 +20,49 @@
 import jakarta.servlet.http.*;
 import jakarta.servlet.jsp.*;
 
-public final class test_jsp extends org.apache.jasper.runtime.HttpJspBase
-    implements org.apache.jasper.runtime.JspSourceDependent {
+public final class test_jsp extends org.glassfish.wasp.runtime.HttpJspBase implements org.glassfish.wasp.runtime.JspSourceDependent {
 
-  private static java.util.Vector _jspx_dependants;
+    private static java.util.Vector _jspx_dependants;
 
-  public java.util.List getDependants() {
-    return _jspx_dependants;
-  }
-
-  public void _jspService(HttpServletRequest request, HttpServletResponse response)
-        throws java.io.IOException, ServletException {
-
-    JspFactory _jspxFactory = null;
-    PageContext pageContext = null;
-    HttpSession session = null;
-    ServletContext application = null;
-    ServletConfig config = null;
-    JspWriter out = null;
-    Object page = this;
-    JspWriter _jspx_out = null;
-    PageContext _jspx_page_context = null;
-
-
-    try {
-      _jspxFactory = JspFactory.getDefaultFactory();
-      response.setContentType("text/html");
-      pageContext = _jspxFactory.getPageContext(this, request, response,
-                              null, true, 8192, true);
-      _jspx_page_context = pageContext;
-      application = pageContext.getServletContext();
-      config = pageContext.getServletConfig();
-      session = pageContext.getSession();
-      out = pageContext.getOut();
-      _jspx_out = out;
-
-      out.write("this is the precompiled and bundled jsp\n");
-    } catch (Throwable t) {
-      if (!(t instanceof SkipPageException)){
-        out = _jspx_out;
-        if (out != null && out.getBufferSize() != 0)
-          out.clearBuffer();
-        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
-      }
-    } finally {
-      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    public java.util.List getDependants() {
+        return _jspx_dependants;
     }
-  }
+
+    public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException {
+
+        JspFactory _jspxFactory = null;
+        PageContext pageContext = null;
+        HttpSession session = null;
+        ServletContext application = null;
+        ServletConfig config = null;
+        JspWriter out = null;
+        Object page = this;
+        JspWriter _jspx_out = null;
+        PageContext _jspx_page_context = null;
+
+        try {
+            _jspxFactory = JspFactory.getDefaultFactory();
+            response.setContentType("text/html");
+            pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
+            _jspx_page_context = pageContext;
+            application = pageContext.getServletContext();
+            config = pageContext.getServletConfig();
+            session = pageContext.getSession();
+            out = pageContext.getOut();
+            _jspx_out = out;
+
+            out.write("this is the precompiled and bundled jsp\n");
+        } catch (Throwable t) {
+            if (!(t instanceof SkipPageException)) {
+                out = _jspx_out;
+                if (out != null && out.getBufferSize() != 0)
+                    out.clearBuffer();
+                if (_jspx_page_context != null)
+                    _jspx_page_context.handlePageException(t);
+            }
+        } finally {
+            if (_jspxFactory != null)
+                _jspxFactory.releasePageContext(_jspx_page_context);
+        }
+    }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled2/lib/jsps.jar b/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled2/lib/jsps.jar
index 66a962d..ec5925d 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled2/lib/jsps.jar
+++ b/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled2/lib/jsps.jar
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/web/jspELEnum/docroot/enum.jsp b/appserver/tests/appserv-tests/devtests/web/jspELEnum/docroot/enum.jsp
index c1024db..0daa084 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspELEnum/docroot/enum.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/jspELEnum/docroot/enum.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
 
 <%! enum Suit {club, diamond, heart, spade} %>
 <%
diff --git a/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java
index 74f4275..26d3b2b 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java
@@ -20,20 +20,15 @@
 
 /*
  * Unit test for Bugzilla 31171 ("ClassCastException in
- * org.apache.jasper.runtime.PageContextImpl.getException"), see
+ * org.glassfish.wasp.runtime.PageContextImpl.getException"), see
  * http://issues.apache.org/bugzilla/show_bug.cgi?id=31171
  */
 public class WebTest {
 
-    private static final String TEST_NAME
-        = "jsp-error-page-class-cast-exception";
+    private static final String TEST_NAME = "jsp-error-page-class-cast-exception";
+    private static final String EXPECTED = "jakarta.servlet.jsp.JspException: java.lang.Throwable: " + "The cake fell in the mud";
 
-    private static final String EXPECTED
-        = "jakarta.servlet.jsp.JspException: java.lang.Throwable: "
-            + "The cake fell in the mud";
-
-    private static SimpleReporterAdapter stat
-        = new SimpleReporterAdapter("appserv-tests");
+    private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
 
     private String host;
     private String port;
@@ -81,16 +76,20 @@
                 stat.addStatus(TEST_NAME, stat.FAIL);
             }
 
-        } catch( Exception ex) {
+        } catch (Exception ex) {
             ex.printStackTrace();
             stat.addStatus(TEST_NAME, stat.FAIL);
         } finally {
             try {
-                if (is != null) is.close();
-            } catch (IOException ex) {}
+                if (is != null)
+                    is.close();
+            } catch (IOException ex) {
+            }
             try {
-                if (bis != null) bis.close();
-            } catch (IOException ex) {}
+                if (bis != null)
+                    bis.close();
+            } catch (IOException ex) {
+            }
         }
     }
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspErrorPageServletErrorException/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jspErrorPageServletErrorException/WebTest.java
index 0da24ac..789e6d2 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspErrorPageServletErrorException/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspErrorPageServletErrorException/WebTest.java
@@ -1,3 +1,4 @@
+
 /*
  * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
diff --git a/appserver/tests/appserv-tests/devtests/web/jspErrorPageServletErrorException/org/apache/jsp/nullErrorPage_jsp.java b/appserver/tests/appserv-tests/devtests/web/jspErrorPageServletErrorException/org/apache/jsp/nullErrorPage_jsp.java
new file mode 100644
index 0000000..2e9efef
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/jspErrorPageServletErrorException/org/apache/jsp/nullErrorPage_jsp.java
@@ -0,0 +1,68 @@
+package org.apache.jsp;
+
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.jsp.*;
+
+public final class nullErrorPage_jsp extends org.glassfish.wasp.runtime.HttpJspBase
+    implements org.glassfish.wasp.runtime.JspSourceDependent {
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List<String> _jspx_dependants;
+
+  private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;
+
+  public java.util.List<String> getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    HttpSession session = null;
+    Throwable exception = org.glassfish.wasp.runtime.JspRuntimeLibrary.getThrowable(request);
+    if (exception != null) {
+      response.setStatus((Integer)request.getAttribute("jakarta.servlet.error.status_code"));
+    }
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+    try {
+      response.setContentType("text/html");
+      response.setHeader("X-Powered-By", "JSP/3.0");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+      _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write((java.lang.String) org.glassfish.wasp.runtime.PageContextImpl.evaluateExpression("${pageContext.exception}", java.lang.String.class, (PageContext)_jspx_page_context, null));
+      out.write('\n');
+      out.write((java.lang.String) org.glassfish.wasp.runtime.PageContextImpl.evaluateExpression("${pageContext.errorData.throwable}", java.lang.String.class, (PageContext)_jspx_page_context, null));
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+        else throw new ServletException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}
diff --git a/appserver/tests/appserv-tests/devtests/web/jspExceptionInTagBodyRestoreJspWriter/docroot/jsp/test.jsp b/appserver/tests/appserv-tests/devtests/web/jspExceptionInTagBodyRestoreJspWriter/docroot/jsp/test.jsp
index a2fcc1a..cb398f8 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspExceptionInTagBodyRestoreJspWriter/docroot/jsp/test.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/jspExceptionInTagBodyRestoreJspWriter/docroot/jsp/test.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
  
 <%!
    public String throwEx() throws Exception {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspForwardUnbuffered/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jspForwardUnbuffered/WebTest.java
index ea3ea97..3da0135 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspForwardUnbuffered/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspForwardUnbuffered/WebTest.java
@@ -19,8 +19,7 @@
 import com.sun.ejte.ccl.reporter.*;
 
 /*
- * Unit test for Bugzilla 13499 ("Jasper throws an exception on an immediate
- * pageContext.forward()").
+ * Unit test for Bugzilla 13499 ("WaSP throws an exception on an immediate pageContext.forward()").
  *
  * If page output is unbuffered, IllegalStateException is no longer
  * thrown on forward if and only if nothing has been written to the page. The
@@ -29,8 +28,7 @@
  */
 public class WebTest {
 
-    private static SimpleReporterAdapter stat =
-        new SimpleReporterAdapter("appserv-tests");
+    private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
     private static final String TEST_NAME = "jsp-forward-unbuffered";
 
     private String host;
@@ -59,33 +57,29 @@
 
     public void doTest1() throws Exception {
 
-        URL url = new URL("http://" + host  + ":" + port + contextRoot +
-                          "/from1.jsp");
+        URL url = new URL("http://" + host + ":" + port + contextRoot + "/from1.jsp");
         System.out.println("Connecting to: " + url.toString());
         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
         conn.connect();
         int responseCode = conn.getResponseCode();
         if (responseCode != 200) {
-            throw new Exception("Wrong response code. Expected: 200" +
-                                ", received: " + responseCode);
+            throw new Exception("Wrong response code. Expected: 200" + ", received: " + responseCode);
         }
     }
 
     /*
-     * This test expects from2.jsp to throw an IllegalStateException due to
-     * the newline output as a result of its first line.
+     * This test expects from2.jsp to throw an IllegalStateException due to the newline output as a result of its first
+     * line.
      */
     public void doTest2() throws Exception {
 
-        URL url = new URL("http://" + host  + ":" + port + contextRoot +
-                          "/from2.jsp");
+        URL url = new URL("http://" + host + ":" + port + contextRoot + "/from2.jsp");
         System.out.println("Connecting to: " + url.toString());
         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
         conn.connect();
         int responseCode = conn.getResponseCode();
         if (responseCode != 500) {
-            throw new Exception("Wrong response code. Expected: 500" +
-                                ", received: " + responseCode);
+            throw new Exception("Wrong response code. Expected: 500" + ", received: " + responseCode);
         }
     }
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/WebTest.java
index 16e3a69..97e8ddf 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/WebTest.java
@@ -37,11 +37,9 @@
 
     private static String TEST_NAME;
 
-    private static final String TEST_ROOT_NAME
-        = "jsp-reload-generated-servlet-if-updated";
+    private static final String TEST_ROOT_NAME = "jsp-reload-generated-servlet-if-updated";
 
-    private static SimpleReporterAdapter stat
-        = new SimpleReporterAdapter("appserv-tests");
+    private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
 
     private String host;
     private String port;
@@ -57,9 +55,8 @@
 
     public static void main(String[] args) {
 
-        stat.addDescription("Unit test to ensure that servlet that "
-                            + "was generated from JSP is reloaded when its "
-                            + "class file is updated");
+        stat.addDescription(
+                "Unit test to ensure that servlet that " + "was generated from JSP is reloaded when its " + "class file is updated");
         WebTest webTest = new WebTest(args);
 
         if ("first".equals(webTest.run)) {
@@ -90,8 +87,7 @@
                 expectedResponse = "This is my UPDATED output";
             }
 
-            URL url = new URL("http://" + host  + ":" + port
-                              + contextRoot + "/jsp/test.jsp");
+            URL url = new URL("http://" + host + ":" + port + contextRoot + "/jsp/test.jsp");
             System.out.println("Connecting to: " + url.toString());
             HttpURLConnection conn = (HttpURLConnection) url.openConnection();
             conn.connect();
@@ -107,18 +103,21 @@
                 if (expectedResponse.equals(line)) {
                     stat.addStatus(TEST_NAME, stat.PASS);
                 } else {
-                    System.err.println("Wrong response. Expected: " +
-                                       expectedResponse + ", received: " + line);
+                    System.err.println("Wrong response. Expected: " + expectedResponse + ", received: " + line);
                     stat.addStatus(TEST_NAME, stat.FAIL);
                 }
             }
         } finally {
             try {
-                if (is != null) is.close();
-            } catch (IOException ex) {}
+                if (is != null)
+                    is.close();
+            } catch (IOException ex) {
+            }
             try {
-                if (input != null) input.close();
-            } catch (IOException ex) {}
+                if (input != null)
+                    input.close();
+            } catch (IOException ex) {
+            }
         }
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.class b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.class
index f49864a..56729b7 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.class
+++ b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.class
Binary files differ
diff --git a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java
index 08af270..84ceb25 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java
@@ -20,55 +20,55 @@
 import jakarta.servlet.http.*;
 import jakarta.servlet.jsp.*;
 
-public final class test_jsp extends org.apache.jasper.runtime.HttpJspBase
-    implements org.apache.jasper.runtime.JspSourceDependent {
+public final class test_jsp extends org.glassfish.wasp.runtime.HttpJspBase implements org.glassfish.wasp.runtime.JspSourceDependent {
 
-  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+    private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
 
-  private static java.util.List<String> _jspx_dependants;
+    private static java.util.List<String> _jspx_dependants;
 
-  private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;
+    private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;
 
-  public java.util.List<String> getDependants() {
-    return _jspx_dependants;
-  }
-
-  public void _jspService(HttpServletRequest request, HttpServletResponse response)
-        throws java.io.IOException, ServletException {
-
-    PageContext pageContext = null;
-    HttpSession session = null;
-    ServletContext application = null;
-    ServletConfig config = null;
-    JspWriter out = null;
-    Object page = this;
-    JspWriter _jspx_out = null;
-    PageContext _jspx_page_context = null;
-
-    try {
-      response.setContentType("text/html");
-      response.setHeader("X-Powered-By", "JSP/2.3");
-      pageContext = _jspxFactory.getPageContext(this, request, response,
-                              null, true, 8192, true);
-      _jspx_page_context = pageContext;
-      application = pageContext.getServletContext();
-      config = pageContext.getServletConfig();
-      session = pageContext.getSession();
-      out = pageContext.getOut();
-      _jspx_out = out;
-      _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");
-
-      out.write("This is my UPDATED output\n\n");
-    } catch (Throwable t) {
-      if (!(t instanceof SkipPageException)){
-        out = _jspx_out;
-        if (out != null && out.getBufferSize() != 0)
-          out.clearBuffer();
-        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
-        else throw new ServletException(t);
-      }
-    } finally {
-      _jspxFactory.releasePageContext(_jspx_page_context);
+    public java.util.List<String> getDependants() {
+        return _jspx_dependants;
     }
-  }
+
+    public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException {
+
+        PageContext pageContext = null;
+        HttpSession session = null;
+        ServletContext application = null;
+        ServletConfig config = null;
+        JspWriter out = null;
+        Object page = this;
+        JspWriter _jspx_out = null;
+        PageContext _jspx_page_context = null;
+
+        try {
+            response.setContentType("text/html");
+            response.setHeader("X-Powered-By", "JSP/2.3");
+            pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
+            _jspx_page_context = pageContext;
+            application = pageContext.getServletContext();
+            config = pageContext.getServletConfig();
+            session = pageContext.getSession();
+            out = pageContext.getOut();
+            _jspx_out = out;
+            _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) 
+                application.getAttribute("com.sun.appserv.jsp.resource.injector");
+
+            out.write("This is my UPDATED output\n\n");
+        } catch (Throwable t) {
+            if (!(t instanceof SkipPageException)) {
+                out = _jspx_out;
+                if (out != null && out.getBufferSize() != 0)
+                    out.clearBuffer();
+                if (_jspx_page_context != null)
+                    _jspx_page_context.handlePageException(t);
+                else
+                    throw new ServletException(t);
+            }
+        } finally {
+            _jspxFactory.releasePageContext(_jspx_page_context);
+        }
+    }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/WebTest.java
index e52ee35..1211282 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/WebTest.java
@@ -23,15 +23,13 @@
  */
 public class WebTest {
 
-    private static final String TEST_NAME =
-        "jsp-resource-injection-simple-tag-handler";
+    private static final String TEST_NAME = "jsp-resource-injection-simple-tag-handler";
 
-    private static final String EXPECTED_RESPONSE =
-        "ds1-login-timeout=0,ds2-login-timeout=0,ds3-login-timeout=0,"
-        + "ds4-login-timeout=0,ds5-login-timeout=0,ds6-login-timeout=0";
+    private static final String EXPECTED_RESPONSE = 
+        "ds1-login-timeout=0,ds2-login-timeout=0,ds3-login-timeout=0," + 
+        "ds4-login-timeout=0,ds5-login-timeout=0,ds6-login-timeout=0";
 
-    private static SimpleReporterAdapter stat
-        = new SimpleReporterAdapter("appserv-tests");
+    private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
 
     private String host;
     private String port;
@@ -45,8 +43,7 @@
 
     public static void main(String[] args) {
 
-        stat.addDescription("Unit test for resource injection into "
-                            + "JSP SimpleTagHandler");
+        stat.addDescription("Unit test for resource injection into " + "JSP SimpleTagHandler");
         WebTest webTest = new WebTest(args);
 
         try {
@@ -64,8 +61,7 @@
         InputStream is = null;
         BufferedReader input = null;
         try {
-            URL url = new URL("http://" + host  + ":" + port
-                              + contextRoot + "/jsp/test.jsp");
+            URL url = new URL("http://" + host + ":" + port + contextRoot + "/jsp/test.jsp");
             System.out.println("Connecting to: " + url.toString());
             HttpURLConnection conn = (HttpURLConnection) url.openConnection();
             conn.connect();
@@ -82,23 +78,24 @@
                 if (EXPECTED_RESPONSE.equals(lastLine)) {
                     stat.addStatus(TEST_NAME, stat.PASS);
                 } else {
-                    System.err.println("Wrong response body. Expected: "
-                                       + EXPECTED_RESPONSE + ", received: "
-                                       + lastLine);
+                    System.err.println("Wrong response body. Expected: " + EXPECTED_RESPONSE + ", received: " + lastLine);
                     stat.addStatus(TEST_NAME, stat.FAIL);
                 }
             } else {
-                System.err.println("Wrong response code. Expected: 200"
-                                   + ", received: " + responseCode);
+                System.err.println("Wrong response code. Expected: 200" + ", received: " + responseCode);
                 stat.addStatus(TEST_NAME, stat.FAIL);
             }
         } finally {
             try {
-                if (is != null) is.close();
-            } catch (IOException ex) {}
+                if (is != null)
+                    is.close();
+            } catch (IOException ex) {
+            }
             try {
-                if (input != null) input.close();
-            } catch (IOException ex) {}
+                if (input != null)
+                    input.close();
+            } catch (IOException ex) {
+            }
         }
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/sun-web.xml b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/sun-web.xml
index e1eecde..0848ec1 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/sun-web.xml
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/sun-web.xml
@@ -20,29 +20,34 @@
 <!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 Servlet 2.4//EN' 'http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_4-0.dtd'>
 
 <sun-web-app>
-  <resource-ref>
-     <res-ref-name>taglib.MySimpleTag/ds1</res-ref-name>
-     <jndi-name>jdbc/__default</jndi-name>
-  </resource-ref>
-  <resource-ref>
-     <res-ref-name>myDataSource2</res-ref-name>
-     <jndi-name>jdbc/__default</jndi-name>
-  </resource-ref>
-  <resource-ref>
-     <res-ref-name>jdbc/myDataSource3</res-ref-name>
-     <jndi-name>jdbc/__default</jndi-name>
-  </resource-ref>
-  <resource-ref>
-     <res-ref-name>myDataSource4</res-ref-name>
-     <jndi-name>jdbc/__default</jndi-name>
-  </resource-ref>
-  <resource-ref>
-     <res-ref-name>myDataSource5</res-ref-name>
-     <jndi-name>jdbc/__default</jndi-name>
-  </resource-ref>
-  <resource-ref>
-     <res-ref-name>jdbc/myDataSource6</res-ref-name>
-     <jndi-name>jdbc/__default</jndi-name>
-  </resource-ref>
+    <resource-ref>
+        <res-ref-name>taglib.MySimpleTag/ds1</res-ref-name>
+        <jndi-name>jdbc/__default</jndi-name>
+    </resource-ref>
+    
+    <resource-ref>
+        <res-ref-name>myDataSource2</res-ref-name>
+        <jndi-name>jdbc/__default</jndi-name>
+    </resource-ref>
+    
+    <resource-ref>
+        <res-ref-name>jdbc/myDataSource3</res-ref-name>
+        <jndi-name>jdbc/__default</jndi-name>
+    </resource-ref>
+    
+    <resource-ref>
+        <res-ref-name>myDataSource4</res-ref-name>
+        <jndi-name>jdbc/__default</jndi-name>
+    </resource-ref>
+    
+    <resource-ref>
+        <res-ref-name>myDataSource5</res-ref-name>
+        <jndi-name>jdbc/__default</jndi-name>
+    </resource-ref>
+    
+    <resource-ref>
+        <res-ref-name>jdbc/myDataSource6</res-ref-name>
+        <jndi-name>jdbc/__default</jndi-name>
+    </resource-ref>
 </sun-web-app>
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/tlds/my.tld b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/tlds/my.tld
index 44a53a6..9f7e2bd 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/tlds/my.tld
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/descriptor/tlds/my.tld
@@ -22,14 +22,14 @@
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
     version="2.0">
 
-  <tlib-version>1.0</tlib-version>
-  <uri>http://java.sun.com/test-taglib</uri>
+    <tlib-version>1.0</tlib-version>
+    <uri>http://java.sun.com/test-taglib</uri>
 
-  <tag>
-    <name>mySimpleTag</name>
-    <tag-class>taglib.MySimpleTag</tag-class>
-    <body-content>empty</body-content>
-  </tag>
+    <tag>
+        <name>mySimpleTag</name>
+        <tag-class>taglib.MySimpleTag</tag-class>
+        <body-content>empty</body-content>
+    </tag>
 
 </taglib>
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java
index 2f8de7d..5245b48 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java
@@ -27,17 +27,21 @@
 import jakarta.annotation.Resources;
 import javax.sql.DataSource;
 
-@Resource(name="myDataSource4", type=DataSource.class)
-@Resources({ @Resource(name="myDataSource5", type=DataSource.class),
-             @Resource(name="jdbc/myDataSource6", type=DataSource.class) })
-
+@Resource(name = "myDataSource4", type = DataSource.class)
+@Resources({ 
+    @Resource(name = "myDataSource5", type = DataSource.class), 
+    @Resource(name = "jdbc/myDataSource6", type = DataSource.class) })
 public class MySimpleTag extends SimpleTagSupport {
 
-    private @Resource DataSource ds1;
-    private @Resource(name="myDataSource2") DataSource ds2;
+    @Resource 
+    private DataSource ds1;
+    
+    @Resource(name = "myDataSource2") 
+    private DataSource ds2;
+    
     private DataSource ds3;
 
-    @Resource(name="jdbc/myDataSource3")
+    @Resource(name = "jdbc/myDataSource3")
     private void setDataSource(DataSource ds) {
         ds3 = ds;
     }
@@ -57,18 +61,15 @@
 
             InitialContext ic = new InitialContext();
 
-            DataSource ds4 = (DataSource)
-                ic.lookup("java:comp/env/myDataSource4");
+            DataSource ds4 = (DataSource) ic.lookup("java:comp/env/myDataSource4");
             loginTimeout = ds4.getLoginTimeout();
             jsw.write(",ds4-login-timeout=" + loginTimeout);
 
-            DataSource ds5 = (DataSource)
-                ic.lookup("java:comp/env/myDataSource5");
+            DataSource ds5 = (DataSource) ic.lookup("java:comp/env/myDataSource5");
             loginTimeout = ds5.getLoginTimeout();
             jsw.write(",ds5-login-timeout=" + loginTimeout);
 
-            DataSource ds6 = (DataSource)
-                ic.lookup("java:comp/env/jdbc/myDataSource6");
+            DataSource ds6 = (DataSource) ic.lookup("java:comp/env/jdbc/myDataSource6");
             loginTimeout = ds6.getLoginTimeout();
             jsw.write(",ds6-login-timeout=" + loginTimeout);
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspServletOverride/descriptor/web.xml b/appserver/tests/appserv-tests/devtests/web/jspServletOverride/descriptor/web.xml
index d342e61..350382e 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspServletOverride/descriptor/web.xml
+++ b/appserver/tests/appserv-tests/devtests/web/jspServletOverride/descriptor/web.xml
@@ -1,5 +1,6 @@
 <!--
 
+	Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
 
   <servlet>
     <servlet-name>jsp</servlet-name>
-    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+    <servlet-class>org.glassfish.wasp.servlet.JspServlet</servlet-class>
     <init-param>
       <param-name>ieClassId</param-name>
       <param-value>ABCD</param-value>
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTrimDirectiveWhitespaces/docroot/trim.jsp b/appserver/tests/appserv-tests/devtests/web/jspTrimDirectiveWhitespaces/docroot/trim.jsp
index d0d0dd7..1d91118 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTrimDirectiveWhitespaces/docroot/trim.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/jspTrimDirectiveWhitespaces/docroot/trim.jsp
@@ -16,10 +16,10 @@
 
 --%>
 
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
    
 
-<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
+<%@ taglib prefix="x" uri="jakarta.tags.xml" %>
 xyz
 <%@ page trimDirectiveWhitespaces="true" %>
 <h1>Hello World!</h1>
diff --git a/appserver/tests/appserv-tests/devtests/web/jspcConfigure/docroot/jsp/test.jsp b/appserver/tests/appserv-tests/devtests/web/jspcConfigure/docroot/jsp/test.jsp
index 341895d..96f3472 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspcConfigure/docroot/jsp/test.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/jspcConfigure/docroot/jsp/test.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
-<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
-<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
-<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib prefix="fmt" uri="jakarta.tags.fmt" %>
+<%@ taglib prefix="fmt" uri="jakarta.tags.fmt" %>
+<%@ taglib prefix="fmt" uri="jakarta.tags.fmt" %>
+<%@ taglib prefix="fmt" uri="jakarta.tags.fmt" %>
diff --git a/appserver/tests/appserv-tests/devtests/web/jstlHtmlParamOutsideFmtMessage/docroot/jsp/test.jspx b/appserver/tests/appserv-tests/devtests/web/jstlHtmlParamOutsideFmtMessage/docroot/jsp/test.jspx
index 1724ca2..0d3cd8c 100644
--- a/appserver/tests/appserv-tests/devtests/web/jstlHtmlParamOutsideFmtMessage/docroot/jsp/test.jspx
+++ b/appserver/tests/appserv-tests/devtests/web/jstlHtmlParamOutsideFmtMessage/docroot/jsp/test.jspx
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
 <html
     xmlns:jsp="http://java.sun.com/JSP/Page"
-    xmlns:jstlc="http://java.sun.com/jsp/jstl/core"
-    xmlns:jstlf="http://java.sun.com/jsp/jstl/fmt">
+    xmlns:jstlc="jakarta.tags.core"
+    xmlns:jstlf="jakarta.tags.fmt">
 
     <jstlc:if test="${true}">
         <applet code="some.package.SomeApplet.class" archive="applet.jar"
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherPathWithParams/docroot/jsp/forwardTo.jsp b/appserver/tests/appserv-tests/devtests/web/requestDispatcherPathWithParams/docroot/jsp/forwardTo.jsp
index 9544516..890d7f5 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherPathWithParams/docroot/jsp/forwardTo.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherPathWithParams/docroot/jsp/forwardTo.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
 
 <c:out value="${pageContext.request.requestURI}" />
 <c:out value="${pageContext.request.queryString}" />
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/if.jsp b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/if.jsp
index ca5fa26..69b21f5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/if.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/if.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="jakarta.tags.core" prefix="c" %>
 <c:if test="${1<2}">
   works!
 </c:if>
diff --git a/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/enum.jsp b/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/enum.jsp
index 6f57512..2edb254 100644
--- a/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/enum.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/enum.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="jakarta.tags.core" prefix="c" %>
 <%@ page language="java" import="java.util.Vector" %>
 
 <% Vector v = new Vector();
diff --git a/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/iterator.jsp b/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/iterator.jsp
index 9824567..fb6ab87 100644
--- a/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/iterator.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/iterator.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="jakarta.tags.core" prefix="c" %>
 <%@ page language="java" import="java.util.Vector" %>
 
 <% Vector v = new Vector();
diff --git a/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/map.jsp b/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/map.jsp
index aef0d25..42d8c84 100644
--- a/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/map.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/tagPluginForEach/docroot/jsp/map.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="jakarta.tags.core" prefix="c" %>
 <%@ page language="java" import="java.util.HashMap" %>
 
 <% HashMap m = new HashMap();
diff --git a/appserver/tests/appserv-tests/devtests/web/tagPluginForEachTagFile/descriptor/tags/test.tag b/appserver/tests/appserv-tests/devtests/web/tagPluginForEachTagFile/descriptor/tags/test.tag
index 40ca42c..8bf3fde 100644
--- a/appserver/tests/appserv-tests/devtests/web/tagPluginForEachTagFile/descriptor/tags/test.tag
+++ b/appserver/tests/appserv-tests/devtests/web/tagPluginForEachTagFile/descriptor/tags/test.tag
@@ -1,4 +1,4 @@
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="c" uri="jakarta.tags.core" %>
 <%@ attribute name="end" required="true" %>
 
 <c:forEach var="i" begin="1" end="${end}">
diff --git a/appserver/tests/appserv-tests/devtests/web/tagplugin/docroot/test.jsp b/appserver/tests/appserv-tests/devtests/web/tagplugin/docroot/test.jsp
index d952152..94df8f8 100644
--- a/appserver/tests/appserv-tests/devtests/web/tagplugin/docroot/test.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/tagplugin/docroot/test.jsp
@@ -22,7 +22,7 @@
 Testing tag plugins for &lt;c:if>, &lt;c:forEach>, and &lt;c:choose>
 <br/>
 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="jakarta.tags.core" prefix="c" %>
 
 <c:set var="count" value="1"/>
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/jspDescriptor/docroot/test.jsp b/appserver/tests/appserv-tests/devtests/web/weblogicDD/jspDescriptor/docroot/test.jsp
index 677aceb..d64b28a 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/jspDescriptor/docroot/test.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/jspDescriptor/docroot/test.jsp
@@ -16,6 +16,6 @@
 
 --%>
 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="jakarta.tags.core" prefix="c" %>
 <%@ page session="false" %>
 <c:if test="${1<2}">pass!</c:if>
diff --git a/appserver/tests/appserv-tests/pom.xml b/appserver/tests/appserv-tests/pom.xml
index 4ee8bfb..2c52528 100644
--- a/appserver/tests/appserv-tests/pom.xml
+++ b/appserver/tests/appserv-tests/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.glassfish.main.tests</groupId>
         <artifactId>tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ant-tests</artifactId>
diff --git a/appserver/tests/cdi/README.txt b/appserver/tests/cdi/README.txt
index 039e86b..dc47dfc 100644
--- a/appserver/tests/cdi/README.txt
+++ b/appserver/tests/cdi/README.txt
@@ -6,7 +6,7 @@
 
 To run the tests something like this line should be run:
 
-mvn -Dglassfish.home=/scratch/jwells/bg/installs/gf/glassfish6/glassfish \
+mvn -Dglassfish.home=/scratch/jwells/bg/installs/gf/glassfish7/glassfish \
     -Dsource.home=/scratch/jwells/bg/all/main \
 	clean install 2>&1 | tee t.out
 
diff --git a/appserver/tests/cdi/cases/multiBeansXml/ejb1/pom.xml b/appserver/tests/cdi/cases/multiBeansXml/ejb1/pom.xml
index b2e6250..3f2e322 100755
--- a/appserver/tests/cdi/cases/multiBeansXml/ejb1/pom.xml
+++ b/appserver/tests/cdi/cases/multiBeansXml/ejb1/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.glassfish.tests.cdi.cases</groupId>
         <artifactId>multiBeansXml</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases.multiBeansXml</groupId>
     <artifactId>ejb1</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish Ejb1 With Specific beans.xml</name>
 
diff --git a/appserver/tests/cdi/cases/multiBeansXml/ejb2/pom.xml b/appserver/tests/cdi/cases/multiBeansXml/ejb2/pom.xml
index 2ef1815..abb106e 100755
--- a/appserver/tests/cdi/cases/multiBeansXml/ejb2/pom.xml
+++ b/appserver/tests/cdi/cases/multiBeansXml/ejb2/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.glassfish.tests.cdi.cases</groupId>
         <artifactId>multiBeansXml</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases.multiBeansXml</groupId>
     <artifactId>ejb2</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish Ejb2 With Specific beans.xml</name>
 
diff --git a/appserver/tests/cdi/cases/multiBeansXml/multiBeansApp/pom.xml b/appserver/tests/cdi/cases/multiBeansXml/multiBeansApp/pom.xml
index 0e0ed15..570b72b 100644
--- a/appserver/tests/cdi/cases/multiBeansXml/multiBeansApp/pom.xml
+++ b/appserver/tests/cdi/cases/multiBeansXml/multiBeansApp/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.cdi.cases</groupId>
         <artifactId>multiBeansXml</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases.multiBeansXml</groupId>
diff --git a/appserver/tests/cdi/cases/multiBeansXml/pom.xml b/appserver/tests/cdi/cases/multiBeansXml/pom.xml
index 4ad3a99..9069ec8 100755
--- a/appserver/tests/cdi/cases/multiBeansXml/pom.xml
+++ b/appserver/tests/cdi/cases/multiBeansXml/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.tests.cdi</groupId>
         <artifactId>cases</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases</groupId>
     <artifactId>multiBeansXml</artifactId>
     <packaging>pom</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish CDI MultiBeanXml Test</name>
     <modules>
diff --git a/appserver/tests/cdi/cases/pom.xml b/appserver/tests/cdi/cases/pom.xml
index beb4306..1065c49 100755
--- a/appserver/tests/cdi/cases/pom.xml
+++ b/appserver/tests/cdi/cases/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>cdi</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi</groupId>
     <artifactId>cases</artifactId>
     <packaging>pom</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish CDI Test Cases</name>
     <modules>
diff --git a/appserver/tests/cdi/cases/preDestroyScoping/ear/pom.xml b/appserver/tests/cdi/cases/preDestroyScoping/ear/pom.xml
index 69235f7..6146312 100644
--- a/appserver/tests/cdi/cases/preDestroyScoping/ear/pom.xml
+++ b/appserver/tests/cdi/cases/preDestroyScoping/ear/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.cdi.cases</groupId>
         <artifactId>preDestroyScoping</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases.preDestroyScoping</groupId>
diff --git a/appserver/tests/cdi/cases/preDestroyScoping/lib/pom.xml b/appserver/tests/cdi/cases/preDestroyScoping/lib/pom.xml
index 982d5ee..048c2a4 100755
--- a/appserver/tests/cdi/cases/preDestroyScoping/lib/pom.xml
+++ b/appserver/tests/cdi/cases/preDestroyScoping/lib/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.glassfish.tests.cdi.cases</groupId>
         <artifactId>preDestroyScoping</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases.preDestroyScoping</groupId>
     <artifactId>lib</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish library for PreDestroyScoping test</name>
 
diff --git a/appserver/tests/cdi/cases/preDestroyScoping/pom.xml b/appserver/tests/cdi/cases/preDestroyScoping/pom.xml
index 0d43f5d..621b78c 100755
--- a/appserver/tests/cdi/cases/preDestroyScoping/pom.xml
+++ b/appserver/tests/cdi/cases/preDestroyScoping/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.tests.cdi</groupId>
         <artifactId>cases</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases</groupId>
     <artifactId>preDestroyScoping</artifactId>
     <packaging>pom</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish CDI PreDestroyScoping Test</name>
     <modules>
diff --git a/appserver/tests/cdi/cases/preDestroyScoping/web/pom.xml b/appserver/tests/cdi/cases/preDestroyScoping/web/pom.xml
index f4b92d1..245e61e 100644
--- a/appserver/tests/cdi/cases/preDestroyScoping/web/pom.xml
+++ b/appserver/tests/cdi/cases/preDestroyScoping/web/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.cdi.cases</groupId>
         <artifactId>preDestroyScoping</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases.preDestroyScoping</groupId>
diff --git a/appserver/tests/cdi/cases/runner/pom.xml b/appserver/tests/cdi/cases/runner/pom.xml
index df44d85..74e0902 100644
--- a/appserver/tests/cdi/cases/runner/pom.xml
+++ b/appserver/tests/cdi/cases/runner/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.cdi</groupId>
         <artifactId>cases</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.cases</groupId>
diff --git a/appserver/tests/cdi/negative/normalScopeWithFinal/pom.xml b/appserver/tests/cdi/negative/normalScopeWithFinal/pom.xml
index 5aa4dc7..e07a37c 100755
--- a/appserver/tests/cdi/negative/normalScopeWithFinal/pom.xml
+++ b/appserver/tests/cdi/negative/normalScopeWithFinal/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.glassfish.tests.cdi</groupId>
         <artifactId>negative</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.negative</groupId>
     <artifactId>normalScopeWithFinal</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish Normal Scoped Bean With Final Methods</name>
 
diff --git a/appserver/tests/cdi/negative/pom.xml b/appserver/tests/cdi/negative/pom.xml
index b9bd6dd..de752da 100755
--- a/appserver/tests/cdi/negative/pom.xml
+++ b/appserver/tests/cdi/negative/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>cdi</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.cdi</groupId>
     <artifactId>negative</artifactId>
     <packaging>pom</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish CDI Negative Tests</name>
     <modules>
diff --git a/appserver/tests/cdi/negative/runner/pom.xml b/appserver/tests/cdi/negative/runner/pom.xml
index a1dbb10..eed3fb6 100644
--- a/appserver/tests/cdi/negative/runner/pom.xml
+++ b/appserver/tests/cdi/negative/runner/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.cdi</groupId>
         <artifactId>negative</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.cdi.negative</groupId>
diff --git a/appserver/tests/cdi/pom.xml b/appserver/tests/cdi/pom.xml
index 8bef183..4d473cc 100755
--- a/appserver/tests/cdi/pom.xml
+++ b/appserver/tests/cdi/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests</groupId>
         <artifactId>tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests</groupId>
diff --git a/appserver/tests/community/pom.xml b/appserver/tests/community/pom.xml
index b25b361..971b6d2 100644
--- a/appserver/tests/community/pom.xml
+++ b/appserver/tests/community/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>quicklook</artifactId>
     <name>Glassfish Quicklook Bundle</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/cts_smoke/run_test.sh b/appserver/tests/cts_smoke/run_test.sh
index 29f34e9..8a75152 100755
--- a/appserver/tests/cts_smoke/run_test.sh
+++ b/appserver/tests/cts_smoke/run_test.sh
@@ -261,7 +261,7 @@
 
 delete_workspace(){
   printf "\n%s \n\n" "===== DELETE WORKSPACE ====="
-    rm -rf ${WORKSPACE}/glassfish6 > /dev/null || true
+    rm -rf ${WORKSPACE}/glassfish7 > /dev/null || true
     rm -rf ${WORKSPACE}/servlettck > /dev/null  || true
     rm ${WORKSPACE}/servlettck.zip > /dev/null || true
     rm -rf ${WORKSPACE}/javaee-smoke > /dev/null || true
diff --git a/appserver/tests/embedded/basic/lifecycle/pom.xml b/appserver/tests/embedded/basic/lifecycle/pom.xml
index 2619914..6ec6a7b 100644
--- a/appserver/tests/embedded/basic/lifecycle/pom.xml
+++ b/appserver/tests/embedded/basic/lifecycle/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.basic</groupId>
     <artifactId>lifecycle</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Test newGlassFish(), start(), stop(), dispose() lifecyle operations</name>
     <build>
         <plugins>
diff --git a/appserver/tests/embedded/basic/pom.xml b/appserver/tests/embedded/basic/pom.xml
index bf3e298..16366a0 100755
--- a/appserver/tests/embedded/basic/pom.xml
+++ b/appserver/tests/embedded/basic/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded</groupId>
     <artifactId>basic</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>Basic tests for testing org.glassfish.embeddable APIs</name>
     <modules>
diff --git a/appserver/tests/embedded/cdi_basic/pom.xml b/appserver/tests/embedded/cdi_basic/pom.xml
index 02c4207..863b577 100644
--- a/appserver/tests/embedded/cdi_basic/pom.xml
+++ b/appserver/tests/embedded/cdi_basic/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.basic</groupId>
     <artifactId>cdi_basic</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic CDI Test</name>
     <build>
         <finalName>cdi_basic</finalName>
@@ -57,7 +57,7 @@
                 <dependency>
                     <groupId>org.glassfish.main.extras</groupId>
                     <artifactId>glassfish-embedded-all</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
                 <dependency>
                     <groupId>junit</groupId>
diff --git a/appserver/tests/embedded/cdi_ejb_jpa/pom.xml b/appserver/tests/embedded/cdi_ejb_jpa/pom.xml
index fae2ec6..1746667 100644
--- a/appserver/tests/embedded/cdi_ejb_jpa/pom.xml
+++ b/appserver/tests/embedded/cdi_ejb_jpa/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.basic</groupId>
     <artifactId>cdi_ejb_jpa</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>CDI, EJB, JPA integration test</name>
     <build>
         <finalName>cdi_ejb_jpa</finalName>
diff --git a/appserver/tests/embedded/ejb/basic/pom.xml b/appserver/tests/embedded/ejb/basic/pom.xml
index 261124f..a3f4c4e 100644
--- a/appserver/tests/embedded/ejb/basic/pom.xml
+++ b/appserver/tests/embedded/ejb/basic/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.ejb</groupId>
     <artifactId>basic</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Test HelloWorld and Timer EJB deployed with org.glassfish.embeddable APIs</name>
   <build>
     <plugins>
@@ -53,7 +53,7 @@
                 <dependency>
                     <groupId>org.glassfish.main.extras</groupId>
                     <artifactId>glassfish-embedded-all</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
             </dependencies>
         </profile>
diff --git a/appserver/tests/embedded/ejb/ejb-api/pom.xml b/appserver/tests/embedded/ejb/ejb-api/pom.xml
index 7c8b1f3..b7af339 100644
--- a/appserver/tests/embedded/ejb/ejb-api/pom.xml
+++ b/appserver/tests/embedded/ejb/ejb-api/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.ejb</groupId>
     <artifactId>ejb-api-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>EJB Embedded API test</name>
   <build>
     <plugins>
@@ -57,7 +57,7 @@
                 <dependency>
                     <groupId>org.glassfish.main.extras</groupId>
                     <artifactId>glassfish-embedded-all</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
             </dependencies>
         </profile>
diff --git a/appserver/tests/embedded/ejb/ejb-main/pom.xml b/appserver/tests/embedded/ejb/ejb-main/pom.xml
index 6e7bdf1..f74455e 100644
--- a/appserver/tests/embedded/ejb/ejb-main/pom.xml
+++ b/appserver/tests/embedded/ejb/ejb-main/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.ejb</groupId>
diff --git a/appserver/tests/embedded/ejb/pom.xml b/appserver/tests/embedded/ejb/pom.xml
index 0acd16a..28b5531 100755
--- a/appserver/tests/embedded/ejb/pom.xml
+++ b/appserver/tests/embedded/ejb/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded</groupId>
     <artifactId>ejb</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>EJB related Embedded Tests</name>
     <modules>
diff --git a/appserver/tests/embedded/ejb/remoteejb/pom.xml b/appserver/tests/embedded/ejb/remoteejb/pom.xml
index 4594d8d..bed7512 100644
--- a/appserver/tests/embedded/ejb/remoteejb/pom.xml
+++ b/appserver/tests/embedded/ejb/remoteejb/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.ejb</groupId>
     <artifactId>remoteejb</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Test remote EJB deployment with org.glassfish.embeddable APIs</name>
     <build>
         <finalName>remoteejb</finalName>
@@ -65,7 +65,7 @@
                 <dependency>
                     <groupId>org.glassfish.main.extras</groupId>
                     <artifactId>glassfish-embedded-all</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
             </dependencies>
         </profile>
diff --git a/appserver/tests/embedded/glassfish_resources_xml/pom.xml b/appserver/tests/embedded/glassfish_resources_xml/pom.xml
index 1795410..437ed89 100644
--- a/appserver/tests/embedded/glassfish_resources_xml/pom.xml
+++ b/appserver/tests/embedded/glassfish_resources_xml/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.basic</groupId>
     <artifactId>glassfish_resources_xml</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>CDI, EJB, JPA integration test which has glassfish-resources.xml</name>
     <build>
         <finalName>glassfish_resources_xml</finalName>
diff --git a/appserver/tests/embedded/inplanted/pom.xml b/appserver/tests/embedded/inplanted/pom.xml
index 0641f57..6fd8d17 100755
--- a/appserver/tests/embedded/inplanted/pom.xml
+++ b/appserver/tests/embedded/inplanted/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
@@ -74,7 +74,7 @@
                 <dependency>
                     <groupId>org.glassfish.main.extras</groupId>
                     <artifactId>glassfish-embedded-all</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
             </dependencies>
         </profile>
diff --git a/appserver/tests/embedded/maven-plugin/applicationDispatcher/pom.xml b/appserver/tests/embedded/maven-plugin/applicationDispatcher/pom.xml
index 38a6e87..38da738 100644
--- a/appserver/tests/embedded/maven-plugin/applicationDispatcher/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/applicationDispatcher/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>applicationDispatcher</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/dirListing/pom.xml b/appserver/tests/embedded/maven-plugin/dirListing/pom.xml
index c0a9933..c7cbcbf 100644
--- a/appserver/tests/embedded/maven-plugin/dirListing/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/dirListing/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>dirListing</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/filterURIMapping/pom.xml b/appserver/tests/embedded/maven-plugin/filterURIMapping/pom.xml
index deb48c1..1324a45 100644
--- a/appserver/tests/embedded/maven-plugin/filterURIMapping/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/filterURIMapping/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>filterURIMapping</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/getRequestURI/pom.xml b/appserver/tests/embedded/maven-plugin/getRequestURI/pom.xml
index 696eb32..77499b8 100644
--- a/appserver/tests/embedded/maven-plugin/getRequestURI/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/getRequestURI/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>getRequestURI</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/index/pom.xml b/appserver/tests/embedded/maven-plugin/index/pom.xml
index 52dc134..a6c296a 100644
--- a/appserver/tests/embedded/maven-plugin/index/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/index/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>index</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/init/pom.xml b/appserver/tests/embedded/maven-plugin/init/pom.xml
index 8df1157..81cdbc0 100644
--- a/appserver/tests/embedded/maven-plugin/init/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/init/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>init</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/pom.xml b/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/pom.xml
index bc8c45a..810227e 100644
--- a/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>jmxUndeployEvent</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/jsftest/pom.xml b/appserver/tests/embedded/maven-plugin/jsftest/pom.xml
index 03581fa..4877700 100644
--- a/appserver/tests/embedded/maven-plugin/jsftest/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/jsftest/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>jsftest</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/jsptest/pom.xml b/appserver/tests/embedded/maven-plugin/jsptest/pom.xml
index 8566ffe..6282799 100644
--- a/appserver/tests/embedded/maven-plugin/jsptest/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/jsptest/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>jsptest</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/localejbs/pom.xml b/appserver/tests/embedded/maven-plugin/localejbs/pom.xml
index 15e3b95..4153988 100644
--- a/appserver/tests/embedded/maven-plugin/localejbs/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/localejbs/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>localejbs</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/mdb/pom.xml b/appserver/tests/embedded/maven-plugin/mdb/pom.xml
index f21c3ba..34ca01a 100644
--- a/appserver/tests/embedded/maven-plugin/mdb/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/mdb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>mdb</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/multipleApps/pom.xml b/appserver/tests/embedded/maven-plugin/multipleApps/pom.xml
index 5b45b95..683eb8c 100644
--- a/appserver/tests/embedded/maven-plugin/multipleApps/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/multipleApps/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>multipleApps</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/pom.xml b/appserver/tests/embedded/maven-plugin/pom.xml
index c8f7edd..cd44a04 100644
--- a/appserver/tests/embedded/maven-plugin/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/pom.xml
@@ -23,7 +23,7 @@
 
     <groupId>org.glassfish.tests.embedded</groupId>
     <artifactId>maven-plugin</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>GlassFish Embedded Maven Plugin Tests</name>
 
diff --git a/appserver/tests/embedded/maven-plugin/queryString/pom.xml b/appserver/tests/embedded/maven-plugin/queryString/pom.xml
index 4f520f1..8eed0c7 100644
--- a/appserver/tests/embedded/maven-plugin/queryString/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/queryString/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>queryString</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/remoteejbs/pom.xml b/appserver/tests/embedded/maven-plugin/remoteejbs/pom.xml
index 57de1a9..02ef60e 100644
--- a/appserver/tests/embedded/maven-plugin/remoteejbs/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/remoteejbs/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>remoteejbs</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/scattered/pom.xml b/appserver/tests/embedded/maven-plugin/scattered/pom.xml
index 2f4485a..ec37c3c 100644
--- a/appserver/tests/embedded/maven-plugin/scattered/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/scattered/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish</groupId>
     <artifactId>scattered</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/secureWebApp/pom.xml b/appserver/tests/embedded/maven-plugin/secureWebApp/pom.xml
index 2afe5ab..ef13694 100644
--- a/appserver/tests/embedded/maven-plugin/secureWebApp/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/secureWebApp/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>securewebapp</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/sessionDestroyed/pom.xml b/appserver/tests/embedded/maven-plugin/sessionDestroyed/pom.xml
index 3e110eb..8b0d3f0 100644
--- a/appserver/tests/embedded/maven-plugin/sessionDestroyed/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/sessionDestroyed/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>sessionDestroyed</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/simple/pom.xml b/appserver/tests/embedded/maven-plugin/simple/pom.xml
index cac40cc..e03c8ff 100644
--- a/appserver/tests/embedded/maven-plugin/simple/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/simple/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish</groupId>
     <artifactId>maven-glassfish-plugin-tester-deploy</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/standalonewar/pom.xml b/appserver/tests/embedded/maven-plugin/standalonewar/pom.xml
index b77ddf4..3fa4b1c 100644
--- a/appserver/tests/embedded/maven-plugin/standalonewar/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/standalonewar/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>standalonewar</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/static-shell-init/pom.xml b/appserver/tests/embedded/maven-plugin/static-shell-init/pom.xml
index 7cb995d..6821553 100644
--- a/appserver/tests/embedded/maven-plugin/static-shell-init/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/static-shell-init/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>init</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/webservice/pom.xml b/appserver/tests/embedded/maven-plugin/webservice/pom.xml
index a598361..5f70958 100644
--- a/appserver/tests/embedded/maven-plugin/webservice/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/webservice/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>webservice</artifactId>
diff --git a/appserver/tests/embedded/maven-plugin/websockets/pom.xml b/appserver/tests/embedded/maven-plugin/websockets/pom.xml
index 54940d6..f0a4c9e 100644
--- a/appserver/tests/embedded/maven-plugin/websockets/pom.xml
+++ b/appserver/tests/embedded/maven-plugin/websockets/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>maven-plugin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.tests.embedded.maven-plugin</groupId>
     <artifactId>websockets</artifactId>
diff --git a/appserver/tests/embedded/mysql/pom.xml b/appserver/tests/embedded/mysql/pom.xml
index 5265a1d..b16a447 100644
--- a/appserver/tests/embedded/mysql/pom.xml
+++ b/appserver/tests/embedded/mysql/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded</groupId>
     <artifactId>mysql</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>war</packaging>
     <name>Simple web application which uses mysql as database</name>
     <build>
@@ -65,7 +65,7 @@
         <dependency>
             <groupId>org.glassfish.main.extras</groupId>
             <artifactId>glassfish-embedded-all</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>mysql</groupId>
diff --git a/appserver/tests/embedded/pom.xml b/appserver/tests/embedded/pom.xml
index 2a6ee4d..816ad95 100755
--- a/appserver/tests/embedded/pom.xml
+++ b/appserver/tests/embedded/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests</groupId>
     <artifactId>embedded</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>GlassFish Embedded Tests</name>
 
diff --git a/appserver/tests/embedded/scatteredarchive/pom.xml b/appserver/tests/embedded/scatteredarchive/pom.xml
index 8c03419..235281f 100644
--- a/appserver/tests/embedded/scatteredarchive/pom.xml
+++ b/appserver/tests/embedded/scatteredarchive/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.basic</groupId>
     <artifactId>scatteredarchive</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Scattered Archive Test</name>
     <build>
     <finalName>scatteredarchive</finalName>
@@ -57,7 +57,7 @@
                 <dependency>
                     <groupId>org.glassfish.main.extras</groupId>
                     <artifactId>glassfish-embedded-all</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
             </dependencies>
         </profile>
diff --git a/appserver/tests/embedded/servlet_runs_admin_cmds/pom.xml b/appserver/tests/embedded/servlet_runs_admin_cmds/pom.xml
index 6d0c280..4c60712 100644
--- a/appserver/tests/embedded/servlet_runs_admin_cmds/pom.xml
+++ b/appserver/tests/embedded/servlet_runs_admin_cmds/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.embedded.basic</groupId>
     <artifactId>servlet_runs_admin_cmds</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Servlet Running Admin Commands using org.glassfish.embeddable.CommandRunner</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/embedded/static/ejb/pom.xml b/appserver/tests/embedded/static/ejb/pom.xml
index 73cd96c..14c8b91 100755
--- a/appserver/tests/embedded/static/ejb/pom.xml
+++ b/appserver/tests/embedded/static/ejb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>static</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <groupId>org.glassfish.tests.embedded.static</groupId>
diff --git a/appserver/tests/embedded/static/ejb/simple/pom.xml b/appserver/tests/embedded/static/ejb/simple/pom.xml
index c94d94e..174939f 100644
--- a/appserver/tests/embedded/static/ejb/simple/pom.xml
+++ b/appserver/tests/embedded/static/ejb/simple/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded.static</groupId>
         <artifactId>ejb</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -44,7 +44,7 @@
         <dependency>
             <groupId>org.glassfish.extras</groupId>
             <artifactId>glassfish-embedded-web</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/appserver/tests/embedded/static/pom.xml b/appserver/tests/embedded/static/pom.xml
index fc7065a..6b671e5 100755
--- a/appserver/tests/embedded/static/pom.xml
+++ b/appserver/tests/embedded/static/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <groupId>org.glassfish.tests.embedded</groupId>
diff --git a/appserver/tests/embedded/static/web/pom.xml b/appserver/tests/embedded/static/web/pom.xml
index 6d6503b..bf0fdda 100755
--- a/appserver/tests/embedded/static/web/pom.xml
+++ b/appserver/tests/embedded/static/web/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingConfigurationTest.java b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingConfigurationTest.java
index ebfbc41..10f3aa6 100644
--- a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingConfigurationTest.java
+++ b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingConfigurationTest.java
@@ -42,7 +42,7 @@
         File f = new File(System.getProperty("basedir"));
         f = new File(f, "target");
         f = new File(f, "dependency");
-        f = new File(f, "glassfish6");
+        f = new File(f, "glassfish7");
         f = new File(f, "glassfish");
         if (f.exists()) {
             System.out.println("Using gf at " + f.getAbsolutePath());
diff --git a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingDomainTest.java b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingDomainTest.java
index b040dd2..8b68c24 100644
--- a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingDomainTest.java
+++ b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/ExistingDomainTest.java
@@ -43,7 +43,7 @@
         File f = new File(System.getProperty("basedir"));
         f = new File(f, "target");
         f = new File(f, "dependency");
-        f = new File(f, "glassfish6");
+        f = new File(f, "glassfish7");
         f = new File(f, "glassfish");
         if (f.exists()) {
             System.out.println("Using gf at " + f.getAbsolutePath());
diff --git a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/InplantedTest.java b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/InplantedTest.java
index 0d622d8..2d83d47 100644
--- a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/InplantedTest.java
+++ b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/cooked/InplantedTest.java
@@ -42,7 +42,7 @@
         File f = new File(System.getProperty("basedir"));
         f = new File(f, "target");
         f = new File(f, "dependency");
-        f = new File(f, "glassfish6");
+        f = new File(f, "glassfish7");
         f = new File(f, "glassfish");
         if (f.exists()) {
             System.out.println("Using gf at " + f.getAbsolutePath());
diff --git a/appserver/tests/embedded/utils/pom.xml b/appserver/tests/embedded/utils/pom.xml
index 9ebc14f..deb69e8 100644
--- a/appserver/tests/embedded/utils/pom.xml
+++ b/appserver/tests/embedded/utils/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <groupId>org.glassfish.tests.embedded</groupId>
@@ -33,7 +33,7 @@
         <dependency>
             <groupId>org.glassfish.main.extras</groupId>
             <artifactId>glassfish-embedded-shell</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
diff --git a/appserver/tests/embedded/utils/src/main/java/org/glassfish/tests/embedded/utils/EmbeddedServerUtils.java b/appserver/tests/embedded/utils/src/main/java/org/glassfish/tests/embedded/utils/EmbeddedServerUtils.java
index 9d63306..5d6cdf3 100644
--- a/appserver/tests/embedded/utils/src/main/java/org/glassfish/tests/embedded/utils/EmbeddedServerUtils.java
+++ b/appserver/tests/embedded/utils/src/main/java/org/glassfish/tests/embedded/utils/EmbeddedServerUtils.java
@@ -30,7 +30,7 @@
         File f = new File(System.getProperty("basedir"));
         f = new File(f, "target");
         f = new File(f, "dependency");
-        f = new File(f, "glassfish6");
+        f = new File(f, "glassfish7");
         f = new File(f, "glassfish");
         if (f.exists()) {
             System.out.println("Using gf at " + f.getAbsolutePath());
diff --git a/appserver/tests/embedded/web/autodelete/pom.xml b/appserver/tests/embedded/web/autodelete/pom.xml
index 28af6ee..2e1f79e 100644
--- a/appserver/tests/embedded/web/autodelete/pom.xml
+++ b/appserver/tests/embedded/web/autodelete/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/tests/embedded/web/pom.xml b/appserver/tests/embedded/web/pom.xml
index dd54ede..f0192ea 100755
--- a/appserver/tests/embedded/web/pom.xml
+++ b/appserver/tests/embedded/web/pom.xml
@@ -23,7 +23,7 @@
     <groupId>org.glassfish.tests.embedded</groupId>
     <artifactId>web</artifactId>
     <packaging>pom</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>GlassFish Web Embedded Tests</name>
     <modules>
         <module>web-api</module>
diff --git a/appserver/tests/embedded/web/servlet/pom.xml b/appserver/tests/embedded/web/servlet/pom.xml
index 2f45096..ac21c49 100644
--- a/appserver/tests/embedded/web/servlet/pom.xml
+++ b/appserver/tests/embedded/web/servlet/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.embedded</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/tests/embedded/web/web-all/pom.xml b/appserver/tests/embedded/web/web-all/pom.xml
index 26d061c..765b423 100644
--- a/appserver/tests/embedded/web/web-all/pom.xml
+++ b/appserver/tests/embedded/web/web-all/pom.xml
@@ -28,13 +28,13 @@
     <!--<parent>-->
     <!--<groupId>org.glassfish</groupId>-->
     <!--<artifactId>glassfish-parent</artifactId>-->
-    <!--<version>6.2.6-SNAPSHOT</version>-->
+    <!--<version>7.0.0-SNAPSHOT</version>-->
     <!--</parent>-->
 
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests</groupId>
     <artifactId>web-all-embedded-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Test for glassfish-embedded-web</name>
 
     <properties>
@@ -118,7 +118,7 @@
                 <dependency>
                     <groupId>org.glassfish.extras</groupId>
                     <artifactId>glassfish-embedded-all</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
             </dependencies>
         </profile>
diff --git a/appserver/tests/embedded/web/web-api/pom.xml b/appserver/tests/embedded/web/web-api/pom.xml
index 1bae4ac..5175920 100755
--- a/appserver/tests/embedded/web/web-api/pom.xml
+++ b/appserver/tests/embedded/web/web-api/pom.xml
@@ -24,7 +24,7 @@
     <groupId>org.glassfish.tests.embedded</groupId>
     <artifactId>web-api-embedded-test</artifactId>
     <packaging>war</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Test for glassfish-embedded-web</name>
 
     <build>
@@ -72,7 +72,7 @@
                 <dependency>
                     <groupId>org.glassfish.main.extras</groupId>
                     <artifactId>glassfish-embedded-web</artifactId>
-                    <version>6.2.6-SNAPSHOT</version>
+                    <version>7.0.0-SNAPSHOT</version>
                 </dependency>
                 <dependency>
                     <groupId>junit</groupId>
diff --git a/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml b/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml
index 63060f1..dc6ccfd 100644
--- a/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml
+++ b/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 
+	Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -268,7 +269,7 @@
 
   <servlet>
     <servlet-name>jsp</servlet-name>
-    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+    <servlet-class>org.glassfish.wasp.servlet.JspServlet</servlet-class>
     <init-param>
       <param-name>xpoweredBy</param-name>
       <param-value>true</param-value>
diff --git a/appserver/tests/embedded/web/web-war/pom.xml b/appserver/tests/embedded/web/web-war/pom.xml
index e06f3d7..f42ec2e 100644
--- a/appserver/tests/embedded/web/web-war/pom.xml
+++ b/appserver/tests/embedded/web/web-war/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/tests/embedded/web/web-war/test/pom.xml b/appserver/tests/embedded/web/web-war/test/pom.xml
index 3226144..e907d6d 100644
--- a/appserver/tests/embedded/web/web-war/test/pom.xml
+++ b/appserver/tests/embedded/web/web-war/test/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded-web-war</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -139,7 +139,7 @@
         <dependency>
             <groupId>org.glassfish.transaction</groupId>
             <artifactId>jta</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/appserver/tests/embedded/web/web-war/war/pom.xml b/appserver/tests/embedded/web/web-war/war/pom.xml
index 0d695ad..407abd3 100644
--- a/appserver/tests/embedded/web/web-war/war/pom.xml
+++ b/appserver/tests/embedded/web/web-war/war/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded-web-war</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/tests/embedded/web/web-war/web-fragment1/pom.xml b/appserver/tests/embedded/web/web-war/web-fragment1/pom.xml
index aafb5f2..61650c1 100644
--- a/appserver/tests/embedded/web/web-war/web-fragment1/pom.xml
+++ b/appserver/tests/embedded/web/web-war/web-fragment1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded-web-war</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/tests/embedded/web/web-war/web-fragment2/pom.xml b/appserver/tests/embedded/web/web-war/web-fragment2/pom.xml
index d1f3fd5..87ca366 100644
--- a/appserver/tests/embedded/web/web-war/web-fragment2/pom.xml
+++ b/appserver/tests/embedded/web/web-war/web-fragment2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded-web-war</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/tests/embedded/web/web-war/web-fragment3/pom.xml b/appserver/tests/embedded/web/web-war/web-fragment3/pom.xml
index 08a1f76..7ef6fe5 100644
--- a/appserver/tests/embedded/web/web-war/web-fragment3/pom.xml
+++ b/appserver/tests/embedded/web/web-war/web-fragment3/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>embedded-web-war</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/tests/embedded/wrapper/pom.xml b/appserver/tests/embedded/wrapper/pom.xml
index 5f26ede..eb41bb8 100644
--- a/appserver/tests/embedded/wrapper/pom.xml
+++ b/appserver/tests/embedded/wrapper/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.test</groupId>
     <artifactId>test-wrapper</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Embedded GlassFish Wrapper</name>
 
     <dependencies>
diff --git a/appserver/tests/hk2/README.txt b/appserver/tests/hk2/README.txt
index 6fc2631..7fb49a4 100644
--- a/appserver/tests/hk2/README.txt
+++ b/appserver/tests/hk2/README.txt
@@ -6,7 +6,7 @@
 
 To run the tests something like this line should be run:
 
-mvn -Dglassfish.home=/scratch/jwells/bg/installs/gf/glassfish6/glassfish \
+mvn -Dglassfish.home=/scratch/jwells/bg/installs/gf/glassfish7/glassfish \
     -Dsource.home=/scratch/jwells/bg/all/main \
 	clean install 2>&1 | tee t.out
 
diff --git a/appserver/tests/hk2/cdi/basic/ejb1/pom.xml b/appserver/tests/hk2/cdi/basic/ejb1/pom.xml
index 6332b95..ace7067 100644
--- a/appserver/tests/hk2/cdi/basic/ejb1/pom.xml
+++ b/appserver/tests/hk2/cdi/basic/ejb1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>basic</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.basic</groupId>
diff --git a/appserver/tests/hk2/cdi/basic/pom.xml b/appserver/tests/hk2/cdi/basic/pom.xml
index f6b36c4..aeafeab 100755
--- a/appserver/tests/hk2/cdi/basic/pom.xml
+++ b/appserver/tests/hk2/cdi/basic/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2</groupId>
         <artifactId>cdi</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi</groupId>
diff --git a/appserver/tests/hk2/cdi/basic/runner/pom.xml b/appserver/tests/hk2/cdi/basic/runner/pom.xml
index 7ea1252..7bd4e20 100644
--- a/appserver/tests/hk2/cdi/basic/runner/pom.xml
+++ b/appserver/tests/hk2/cdi/basic/runner/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>basic</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.basic</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/app/pom.xml b/appserver/tests/hk2/cdi/ear/app/pom.xml
index 3c98636..944651b 100644
--- a/appserver/tests/hk2/cdi/ear/app/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/app/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>ear</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.ear</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/ejb1/pom.xml b/appserver/tests/hk2/cdi/ear/ejb1/pom.xml
index 033275a..2731259 100644
--- a/appserver/tests/hk2/cdi/ear/ejb1/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/ejb1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>ear</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.ear</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/ejb2/pom.xml b/appserver/tests/hk2/cdi/ear/ejb2/pom.xml
index 3c573e5..ba13220 100644
--- a/appserver/tests/hk2/cdi/ear/ejb2/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/ejb2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>ear</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.ear</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/lib1/pom.xml b/appserver/tests/hk2/cdi/ear/lib1/pom.xml
index 1d0490a..4526397 100644
--- a/appserver/tests/hk2/cdi/ear/lib1/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/lib1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>ear</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.ear</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/pom.xml b/appserver/tests/hk2/cdi/ear/pom.xml
index cb92aeb..2aa3e39 100755
--- a/appserver/tests/hk2/cdi/ear/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2</groupId>
         <artifactId>cdi</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/runner/pom.xml b/appserver/tests/hk2/cdi/ear/runner/pom.xml
index 4ab7103..c92a348 100644
--- a/appserver/tests/hk2/cdi/ear/runner/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/runner/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>ear</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.ear</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/war1/pom.xml b/appserver/tests/hk2/cdi/ear/war1/pom.xml
index a744fc6..1b64c44 100644
--- a/appserver/tests/hk2/cdi/ear/war1/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/war1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>ear</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.ear</groupId>
diff --git a/appserver/tests/hk2/cdi/ear/war2/pom.xml b/appserver/tests/hk2/cdi/ear/war2/pom.xml
index 3bc9daa..fbe6caf 100644
--- a/appserver/tests/hk2/cdi/ear/war2/pom.xml
+++ b/appserver/tests/hk2/cdi/ear/war2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>ear</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.ear</groupId>
diff --git a/appserver/tests/hk2/cdi/jersey/pom.xml b/appserver/tests/hk2/cdi/jersey/pom.xml
index a0cb985..6e394b6 100755
--- a/appserver/tests/hk2/cdi/jersey/pom.xml
+++ b/appserver/tests/hk2/cdi/jersey/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2</groupId>
         <artifactId>cdi</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi</groupId>
diff --git a/appserver/tests/hk2/cdi/jersey/runner/pom.xml b/appserver/tests/hk2/cdi/jersey/runner/pom.xml
index 163bd36..125ef49 100644
--- a/appserver/tests/hk2/cdi/jersey/runner/pom.xml
+++ b/appserver/tests/hk2/cdi/jersey/runner/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>jersey</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.jersey</groupId>
diff --git a/appserver/tests/hk2/cdi/jersey/war/pom.xml b/appserver/tests/hk2/cdi/jersey/war/pom.xml
index c43ea06..d3a6bdf 100644
--- a/appserver/tests/hk2/cdi/jersey/war/pom.xml
+++ b/appserver/tests/hk2/cdi/jersey/war/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.cdi</groupId>
         <artifactId>jersey</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.cdi.jersey</groupId>
diff --git a/appserver/tests/hk2/cdi/pom.xml b/appserver/tests/hk2/cdi/pom.xml
index 1f4aaef..b5f421f 100755
--- a/appserver/tests/hk2/cdi/pom.xml
+++ b/appserver/tests/hk2/cdi/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>hk2</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests.hk2</groupId>
diff --git a/appserver/tests/hk2/isolation/pom.xml b/appserver/tests/hk2/isolation/pom.xml
index cc29cd8..d144c09 100755
--- a/appserver/tests/hk2/isolation/pom.xml
+++ b/appserver/tests/hk2/isolation/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.tests</groupId>
         <artifactId>hk2</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.hk2</groupId>
     <artifactId>isolation</artifactId>
     <packaging>pom</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish HK2 Isolation Tests</name>
     <modules>
diff --git a/appserver/tests/hk2/isolation/runner/pom.xml b/appserver/tests/hk2/isolation/runner/pom.xml
index a3a3073..ef3aba1 100755
--- a/appserver/tests/hk2/isolation/runner/pom.xml
+++ b/appserver/tests/hk2/isolation/runner/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.tests.hk2</groupId>
         <artifactId>isolation</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.isolation</groupId>
     <artifactId>runner</artifactId>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish HK2 Isolation Test Runner</name>
 
diff --git a/appserver/tests/hk2/isolation/web/iso1/pom.xml b/appserver/tests/hk2/isolation/web/iso1/pom.xml
index e5cf6cf..c67b2d2 100644
--- a/appserver/tests/hk2/isolation/web/iso1/pom.xml
+++ b/appserver/tests/hk2/isolation/web/iso1/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.isolation</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.isolation.web</groupId>
     <artifactId>iso1</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>war</packaging>
 
     <name>Isolation servlet one</name>
diff --git a/appserver/tests/hk2/isolation/web/iso2/pom.xml b/appserver/tests/hk2/isolation/web/iso2/pom.xml
index 0526b34..089e693 100644
--- a/appserver/tests/hk2/isolation/web/iso2/pom.xml
+++ b/appserver/tests/hk2/isolation/web/iso2/pom.xml
@@ -23,13 +23,13 @@
     <parent>
         <groupId>org.glassfish.tests.hk2.isolation</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.isolation.web</groupId>
     <artifactId>iso2</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>war</packaging>
 
     <name>Isolation servlet two</name>
diff --git a/appserver/tests/hk2/isolation/web/pom.xml b/appserver/tests/hk2/isolation/web/pom.xml
index f99bf08..65053ed 100755
--- a/appserver/tests/hk2/isolation/web/pom.xml
+++ b/appserver/tests/hk2/isolation/web/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.tests.hk2</groupId>
         <artifactId>isolation</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.glassfish.tests.hk2.isolation</groupId>
     <artifactId>web</artifactId>
     <packaging>pom</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
 
     <name>GlassFish HK2 Isolation WebApps</name>
     <modules>
diff --git a/appserver/tests/hk2/pom.xml b/appserver/tests/hk2/pom.xml
index 8cda20d..79293f8 100755
--- a/appserver/tests/hk2/pom.xml
+++ b/appserver/tests/hk2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests</groupId>
         <artifactId>tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests</groupId>
diff --git a/appserver/tests/paas/README.txt b/appserver/tests/paas/README.txt
index b97d346..bf4a00b 100644
--- a/appserver/tests/paas/README.txt
+++ b/appserver/tests/paas/README.txt
@@ -3,7 +3,7 @@
 
 1. Unzip latest version of glassfish.zip and set S1AS_HOME enviroment variable to point to the extracted GlassFish location.
 
-  For example: export S1AS_HOME=/tmp/glassfish6/glassfish
+  For example: export S1AS_HOME=/tmp/glassfish7/glassfish
 
 2. Also set PAAS_TESTS_HOME environment variable to point to the location where paas tests are checked out.
 
diff --git a/appserver/tests/paas/appscoped-db-with-resources-xml/pom.xml b/appserver/tests/paas/appscoped-db-with-resources-xml/pom.xml
index 148995c..558cc57 100644
--- a/appserver/tests/paas/appscoped-db-with-resources-xml/pom.xml
+++ b/appserver/tests/paas/appscoped-db-with-resources-xml/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>appscoped-db-with-resources-xml</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Appscoped DB Service with glassfish-resources.xml sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-bookstore-dns/pom.xml b/appserver/tests/paas/basic-bookstore-dns/pom.xml
index 52df3c0..2fb4c46 100644
--- a/appserver/tests/paas/basic-bookstore-dns/pom.xml
+++ b/appserver/tests/paas/basic-bookstore-dns/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-bookstore-dns</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic Bookstore DNS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-db-initsql/pom.xml b/appserver/tests/paas/basic-db-initsql/pom.xml
index 28d98b8..155ab30 100644
--- a/appserver/tests/paas/basic-db-initsql/pom.xml
+++ b/appserver/tests/paas/basic-db-initsql/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-db-initsql</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic InitSQL PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-db-teardown-sql/pom.xml b/appserver/tests/paas/basic-db-teardown-sql/pom.xml
index fec7f28..cf1ced6 100644
--- a/appserver/tests/paas/basic-db-teardown-sql/pom.xml
+++ b/appserver/tests/paas/basic-db-teardown-sql/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-db-teardown-sql</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic DB Tear down SQL PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-db-with-resources-xml/pom.xml b/appserver/tests/paas/basic-db-with-resources-xml/pom.xml
index be1b443..aa5ab4f 100644
--- a/appserver/tests/paas/basic-db-with-resources-xml/pom.xml
+++ b/appserver/tests/paas/basic-db-with-resources-xml/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-db-with-resources-xml</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic DB with glassfish-resources.xml sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-db/pom.xml b/appserver/tests/paas/basic-db/pom.xml
index 3bf9b18..2cef70b 100644
--- a/appserver/tests/paas/basic-db/pom.xml
+++ b/appserver/tests/paas/basic-db/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-db</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-jpa/pom.xml b/appserver/tests/paas/basic-jpa/pom.xml
index 7284893..a139857 100644
--- a/appserver/tests/paas/basic-jpa/pom.xml
+++ b/appserver/tests/paas/basic-jpa/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-jpa</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic JPA PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-service-discovery/pom.xml b/appserver/tests/paas/basic-service-discovery/pom.xml
index 7e9226e..be47e39 100644
--- a/appserver/tests/paas/basic-service-discovery/pom.xml
+++ b/appserver/tests/paas/basic-service-discovery/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-sd</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic Service Discovery PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic-shared-service-test/pom.xml b/appserver/tests/paas/basic-shared-service-test/pom.xml
index aca6e93..ab531a6 100644
--- a/appserver/tests/paas/basic-shared-service-test/pom.xml
+++ b/appserver/tests/paas/basic-shared-service-test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-shared-service-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic Shared Sevice Test</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/basic/pom.xml b/appserver/tests/paas/basic/pom.xml
index 42fc7d3..0874ea6 100644
--- a/appserver/tests/paas/basic/pom.xml
+++ b/appserver/tests/paas/basic/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/bookstore/pom.xml b/appserver/tests/paas/bookstore/pom.xml
index 77efd73..d90ca58 100644
--- a/appserver/tests/paas/bookstore/pom.xml
+++ b/appserver/tests/paas/bookstore/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>bookstore</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Bookstore PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/deployment-rollback/pom.xml b/appserver/tests/paas/deployment-rollback/pom.xml
index 3a20a9c..e63ea81 100644
--- a/appserver/tests/paas/deployment-rollback/pom.xml
+++ b/appserver/tests/paas/deployment-rollback/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>rollback-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Deployment Rollback Test</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/enable-disable-test/pom.xml b/appserver/tests/paas/enable-disable-test/pom.xml
index e059bac..e797cdb 100644
--- a/appserver/tests/paas/enable-disable-test/pom.xml
+++ b/appserver/tests/paas/enable-disable-test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>enable-disable-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Enable Disable Test</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/ext-shared-service-enable-disable-test/pom.xml b/appserver/tests/paas/ext-shared-service-enable-disable-test/pom.xml
index 4f0d37c..0135468 100644
--- a/appserver/tests/paas/ext-shared-service-enable-disable-test/pom.xml
+++ b/appserver/tests/paas/ext-shared-service-enable-disable-test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>ext-shared-service-enable-disable-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Enable Disable External and Shared Service Test</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/external-and-shared-service/pom.xml b/appserver/tests/paas/external-and-shared-service/pom.xml
index 4cee3d4..e8adcf5 100644
--- a/appserver/tests/paas/external-and-shared-service/pom.xml
+++ b/appserver/tests/paas/external-and-shared-service/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>external-and-shared-service-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>External and Shared Service Test</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/external-db-service/generatederbyvm/pom.xml b/appserver/tests/paas/external-db-service/generatederbyvm/pom.xml
index c76893e..d273fb2 100644
--- a/appserver/tests/paas/external-db-service/generatederbyvm/pom.xml
+++ b/appserver/tests/paas/external-db-service/generatederbyvm/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>paas.plugins</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>generatederbyvm</artifactId>
diff --git a/appserver/tests/paas/external-db-service/pom.xml b/appserver/tests/paas/external-db-service/pom.xml
index 1b6acba..103b8c0 100644
--- a/appserver/tests/paas/external-db-service/pom.xml
+++ b/appserver/tests/paas/external-db-service/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>external-service-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>External DB Service TesT</name>
     <packaging>pom</packaging>
     <modules>
diff --git a/appserver/tests/paas/external-db-service/test/pom.xml b/appserver/tests/paas/external-db-service/test/pom.xml
index be9068d..06879d4 100644
--- a/appserver/tests/paas/external-db-service/test/pom.xml
+++ b/appserver/tests/paas/external-db-service/test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>external-db-service-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>External DB Service PaaS application</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/helloworld/pom.xml b/appserver/tests/paas/helloworld/pom.xml
index e7dd2de..55a12c1 100644
--- a/appserver/tests/paas/helloworld/pom.xml
+++ b/appserver/tests/paas/helloworld/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>helloworld</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>PaaS Hello World sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/javaee_shared_service/pom.xml b/appserver/tests/paas/javaee_shared_service/pom.xml
index b933498..0006d5f 100644
--- a/appserver/tests/paas/javaee_shared_service/pom.xml
+++ b/appserver/tests/paas/javaee_shared_service/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>bookstore2</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Bookstore PaaS sample running on Java EE (GlassFish) shared service.</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/lazy-shared-service-test/pom.xml b/appserver/tests/paas/lazy-shared-service-test/pom.xml
index c29c52d..b0169e4 100644
--- a/appserver/tests/paas/lazy-shared-service-test/pom.xml
+++ b/appserver/tests/paas/lazy-shared-service-test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>lazy-shared-service-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Lazy Shared Service PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/mq-shared-service-test/mq-test/pom.xml b/appserver/tests/paas/mq-shared-service-test/mq-test/pom.xml
index 6720502..42def8f 100644
--- a/appserver/tests/paas/mq-shared-service-test/mq-test/pom.xml
+++ b/appserver/tests/paas/mq-shared-service-test/mq-test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>mq-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>MQ Shared Service Test</name>
     <packaging>jar</packaging>
     <properties>
diff --git a/appserver/tests/paas/mq-shared-service-test/pom.xml b/appserver/tests/paas/mq-shared-service-test/pom.xml
index 665e82b..f90c040 100644
--- a/appserver/tests/paas/mq-shared-service-test/pom.xml
+++ b/appserver/tests/paas/mq-shared-service-test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>mq-shared-service-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>MQ Shared Service TesT</name>
     <packaging>pom</packaging>
     <modules>
diff --git a/appserver/tests/paas/multiple-db-app-scoped-services/advanced/pom.xml b/appserver/tests/paas/multiple-db-app-scoped-services/advanced/pom.xml
index 3ccfba1..af85335 100644
--- a/appserver/tests/paas/multiple-db-app-scoped-services/advanced/pom.xml
+++ b/appserver/tests/paas/multiple-db-app-scoped-services/advanced/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>multiple-app-scoped-service-test-advanced</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Multiple Application Scoped Database Services Advanced PaaS Application</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/multiple-db-app-scoped-services/basic/pom.xml b/appserver/tests/paas/multiple-db-app-scoped-services/basic/pom.xml
index b22ab19..983ff56 100644
--- a/appserver/tests/paas/multiple-db-app-scoped-services/basic/pom.xml
+++ b/appserver/tests/paas/multiple-db-app-scoped-services/basic/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>multiple-app-scoped-service-test-basic</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Multiple Application Scoped Database Services Basic PaaS Application</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/multiple-db-app-scoped-services/pom.xml b/appserver/tests/paas/multiple-db-app-scoped-services/pom.xml
index 31998fb..0d82184 100644
--- a/appserver/tests/paas/multiple-db-app-scoped-services/pom.xml
+++ b/appserver/tests/paas/multiple-db-app-scoped-services/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>multiple-db-app-scoped-services</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Multiple DB App Scoped Services</name>
     <packaging>pom</packaging>
     <modules>
diff --git a/appserver/tests/paas/multiple-db-shared-services/advanced/pom.xml b/appserver/tests/paas/multiple-db-shared-services/advanced/pom.xml
index a6d34a1..7f48c0b 100644
--- a/appserver/tests/paas/multiple-db-shared-services/advanced/pom.xml
+++ b/appserver/tests/paas/multiple-db-shared-services/advanced/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>multiple-shared-db-service-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Multiple Shared DB service PaaS application</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/multiple-db-shared-services/basic/pom.xml b/appserver/tests/paas/multiple-db-shared-services/basic/pom.xml
index bde112f..732b492 100644
--- a/appserver/tests/paas/multiple-db-shared-services/basic/pom.xml
+++ b/appserver/tests/paas/multiple-db-shared-services/basic/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>multiple-shared-db-service-test-basic</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Multiple Shared DB service Basic PaaS application</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/multiple-db-shared-services/pom.xml b/appserver/tests/paas/multiple-db-shared-services/pom.xml
index c1218c6..35bbe16 100644
--- a/appserver/tests/paas/multiple-db-shared-services/pom.xml
+++ b/appserver/tests/paas/multiple-db-shared-services/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>multiple-db-shared-services</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Multiple DB Shared Services</name>
     <packaging>pom</packaging>
     <modules>
diff --git a/appserver/tests/paas/multiple-spe-test/mydb-plugin/pom.xml b/appserver/tests/paas/multiple-spe-test/mydb-plugin/pom.xml
index 83bcaab..3fe07ed 100644
--- a/appserver/tests/paas/multiple-spe-test/mydb-plugin/pom.xml
+++ b/appserver/tests/paas/multiple-spe-test/mydb-plugin/pom.xml
@@ -22,13 +22,13 @@
     <parent>
         <groupId>org.glassfish</groupId>
         <artifactId>paas.plugins</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish</groupId>
     <artifactId>paas.mydbplugin</artifactId>
 
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>MyDB Plugin</name>
     <build>
         <resources>
diff --git a/appserver/tests/paas/multiple-spe-test/pom.xml b/appserver/tests/paas/multiple-spe-test/pom.xml
index 3d8a4c5..8ed5417 100644
--- a/appserver/tests/paas/multiple-spe-test/pom.xml
+++ b/appserver/tests/paas/multiple-spe-test/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>multiple-spe-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Multiple SPE TesT</name>
     <packaging>pom</packaging>
     <modules>
diff --git a/appserver/tests/paas/multiple-spe-test/spetest/pom.xml b/appserver/tests/paas/multiple-spe-test/spetest/pom.xml
index 9ec9844..af68bfd 100644
--- a/appserver/tests/paas/multiple-spe-test/spetest/pom.xml
+++ b/appserver/tests/paas/multiple-spe-test/spetest/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>basic-spe-test</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Basic SPE Test</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/pom.xml b/appserver/tests/paas/pom.xml
index 99fdbaf..bf46a1a 100644
--- a/appserver/tests/paas/pom.xml
+++ b/appserver/tests/paas/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests</groupId>
     <artifactId>paas</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>PaaS samples</name>
     <packaging>pom</packaging>
 
diff --git a/appserver/tests/paas/scale_service/pom.xml b/appserver/tests/paas/scale_service/pom.xml
index 971b8e7..bd2dcf7 100644
--- a/appserver/tests/paas/scale_service/pom.xml
+++ b/appserver/tests/paas/scale_service/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>scale_service</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Scale Service PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/service_metadata/custom_db_name/pom.xml b/appserver/tests/paas/service_metadata/custom_db_name/pom.xml
index 0518b9e..df65f0a 100644
--- a/appserver/tests/paas/service_metadata/custom_db_name/pom.xml
+++ b/appserver/tests/paas/service_metadata/custom_db_name/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>custom_db_name</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Custom DB Name PaaS sample</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/paas/service_metadata/pom.xml b/appserver/tests/paas/service_metadata/pom.xml
index 0c274be..d50d79f 100644
--- a/appserver/tests/paas/service_metadata/pom.xml
+++ b/appserver/tests/paas/service_metadata/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>service_metadata</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Service Metadata PaaS samples</name>
     <packaging>pom</packaging>
     <modules>
diff --git a/appserver/tests/paas/service_metadata/provision_using_specified_template/pom.xml b/appserver/tests/paas/service_metadata/provision_using_specified_template/pom.xml
index 81bd2a6..a0761eb 100644
--- a/appserver/tests/paas/service_metadata/provision_using_specified_template/pom.xml
+++ b/appserver/tests/paas/service_metadata/provision_using_specified_template/pom.xml
@@ -22,7 +22,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.tests.paas</groupId>
     <artifactId>service_metadata.provision_using_specified_template</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Provision service(s) using specified template</name>
     <packaging>war</packaging>
     <build>
diff --git a/appserver/tests/pom.xml b/appserver/tests/pom.xml
index 5f723b0..ebcd02d 100755
--- a/appserver/tests/pom.xml
+++ b/appserver/tests/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.tests</groupId>
diff --git a/appserver/tests/quicklook/QuickLook_Test_Instructions.html b/appserver/tests/quicklook/QuickLook_Test_Instructions.html
index 59af537..32f2df7 100644
--- a/appserver/tests/quicklook/QuickLook_Test_Instructions.html
+++ b/appserver/tests/quicklook/QuickLook_Test_Instructions.html
@@ -67,7 +67,7 @@
 	</UL>
 	<LI><P STYLE="margin-bottom: 0in">For <B>glassfish-ips.zip</B>
 	bundle, the same command can be used but {Installation Dir}
-	is equivelent to in /test/glassfish6/glassfish: 
+	is equivelent to in /test/glassfish7/glassfish: 
 	</P>
 	<LI><P>To run cluster tests only, you can go to <B>tests/quicklook</B>
 	and do: <I>ant -Dglassfish.home={Installation Dir} all_cluster</I></P>
@@ -237,8 +237,8 @@
 deploy runtest&quot;</P>
 <P STYLE="margin-bottom: 0in">Since QL runs in multiple profiles, the
 test cases need to be defined in the 3 test lists (under
-quicklook/testng dir) for the profiles: testng_wd.xml for the Web
-profile, testng_gd.xml for Glassfish profile, testng_debug.xml for
+quicklook/testng dir) for the profiles: testng_web_profile.xml for the Web
+profile, testng_full_profile.xml for Glassfish full profile, testng_debug.xml for
 the debug profile. The module level testng.xml is optional but it
 provides the conveniences of running the module test locally. User
 can also choose to define the class name in the local build.xml. In
diff --git a/appserver/tests/quicklook/admin/pom.xml b/appserver/tests/quicklook/admin/pom.xml
index 98746f2..2dc0976 100644
--- a/appserver/tests/quicklook/admin/pom.xml
+++ b/appserver/tests/quicklook/admin/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <artifactId>org.glassfish.quicklook</artifactId>
         <groupId>quicklook</groupId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <description>Runs the tests on admin/asadmin code</description>
diff --git a/appserver/tests/quicklook/adminconsole/pom.xml b/appserver/tests/quicklook/adminconsole/pom.xml
index 6411e56..026ab00 100644
--- a/appserver/tests/quicklook/adminconsole/pom.xml
+++ b/appserver/tests/quicklook/adminconsole/pom.xml
@@ -21,7 +21,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.quicklook</groupId>
     <artifactId>adminconsole</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>Admin Console Quicklook Tests</name>
     <packaging>jar</packaging>
     <parent>
@@ -101,7 +101,7 @@
         <dependency>
             <groupId>org.glassfish.common</groupId>
             <artifactId>amx-core</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/appserver/tests/quicklook/amx/pom.xml b/appserver/tests/quicklook/amx/pom.xml
index 0de7895..85c32f3 100644
--- a/appserver/tests/quicklook/amx/pom.xml
+++ b/appserver/tests/quicklook/amx/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <artifactId>org.glassfish.quicklook</artifactId>
         <groupId>quicklook</groupId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <description>Runs the tests on admin/asadmin code</description>
diff --git a/appserver/tests/quicklook/build.properties b/appserver/tests/quicklook/build.properties
index e6917d7..dc813c5 100644
--- a/appserver/tests/quicklook/build.properties
+++ b/appserver/tests/quicklook/build.properties
@@ -19,7 +19,7 @@
 glassfish.http.host=localhost
 glassfish.http.port=8080
 glassfish.admin.port=4848
-#glassfish.home=/v3/glassfish6/glassfish
+#glassfish.home=/v3/glassfish7/glassfish
 
 maven.repo.local=${user.home}/.m2/repository
 plugin_classpath=${maven.repo.local}/org/testng/testng/6.11/testng-6.11.jar
diff --git a/appserver/tests/quicklook/build.xml b/appserver/tests/quicklook/build.xml
index 09e7341..44888d6 100644
--- a/appserver/tests/quicklook/build.xml
+++ b/appserver/tests/quicklook/build.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -27,9 +28,44 @@
 
     <description>Builds, tests, and runs the project Quicklook</description>
 
-    <presetdef name="javac">
-        <javac includeantruntime="false" />
-    </presetdef>
+
+    <target name="initprops">
+        <property name="build.class.dir" value="${basedir}/classes/test" />
+        <property name="Java_SE" value="${basedir}/classes/EJB_remoteview/app" />
+        <property name="test.report" value="${basedir}/test-output" />
+
+        <mkdir dir="${test.report}" />
+
+        <path id="junit.path">
+            <pathelement path="${plugin_classpath}" />
+        </path>
+
+        <typedef name="junitreport" classname="org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator" classpathref="junit.path" />
+
+        <path id="run.testng.classpath">
+            <fileset dir="${glassfish.home}/modules">
+                <include name="**/hk2*.jar" />
+                <include name="**/glassfish-api.jar" />
+                <include name="**/amx-core.jar" />
+                <include name="**/amx-javaee.jar" />
+                <include name="**/management-api.jar" />
+            </fileset>
+            <fileset dir="${glassfish.home}/lib">
+                <include name="**/gf-client.jar" />
+            </fileset>
+            <pathelement path="${plugin_classpath}" />
+            <pathelement location="${Java_SE}" />
+            <pathelement location="${build.class.dir}" />
+        </path>
+
+        <path id="embedded.testng.classpath">
+            <fileset dir="${glassfish.home}/lib/embedded">
+                <include name="**/glassfish-embedded-static-shell.jar" />
+            </fileset>
+            <pathelement location="${build.class.dir}" />
+            <pathelement location="${build.class.dir}/../EJB_Embedded/app" />
+        </path>
+    </target>
 
     <target name="all_cluster">
         <record name="${basedir}/allrun.output" action="start" />
@@ -61,14 +97,24 @@
     <!-- target name="all_wd" depends="clean" -->
     <target name="all_wd">
         <record name="${basedir}/allrun.output" action="start" />
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>|        R u n n i n g        |</echo>
+        <echo>|            all_wd           |</echo>
+        <echo>|          Web Profile        |</echo>
+        <echo>+-----------------------------+</echo>
+
         <property name="env.security_manager" value="OFF" />
         <antcall target="verify-xml" />
         <antcall target="start-derby" />
         <antcall target="start-server-felix" />
         <antcall target="build-deploy" />
+
         <antcall target="runtest">
-            <param name="testng.xml" value="testng/testng_wd.xml" />
+            <param name="testng.xml" value="testng/testng_web_profile.xml" />
         </antcall>
+
         <antcall target="undeploy" />
         <antcall target="quicklook-summary_wd" />
         <antcall target="stop-server" />
@@ -76,20 +122,30 @@
         <copy file="test-output/emailable-report.html" tofile="test-output/QL-WP-report.html" />
         <antcall target="check-logged-messages" />
         <antcall target="testng-summary_wd" />
+
         <record name="${basedir}/allrun.output" action="stop" />
     </target>
 
     <target name="all_wd_security">
         <record name="${basedir}/allrun.output" action="start" />
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>|        R u n n i n g        |</echo>
+        <echo>|       all_wd_security       |</echo>
+        <echo>|         Web Profile         |</echo>
+        <echo>+-----------------------------+</echo>
+
         <antcall target="add-quicklook-policy-grants" />
         <property name="env.security_manager" value="ON" />
 
         <antcall target="start_server_with_security_manager_enabled" />
-
         <antcall target="build-deploy" />
+
         <antcall target="runtest">
-            <param name="testng.xml" value="testng/testng_wd.xml" />
+            <param name="testng.xml" value="testng/testng_web_profile.xml" />
         </antcall>
+
         <antcall target="undeploy" />
         <antcall target="quicklook-summary_wd" />
 
@@ -102,6 +158,147 @@
         <record name="${basedir}/allrun.output" action="stop" />
     </target>
 
+    <!-- Target for testing glassfish distribution (containing EJB)  -->
+    <target name="all" depends="clean">
+        <record name="${basedir}/allrun.output" action="start" />
+
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>|        R u n n i n g        |</echo>
+        <echo>|             all             |</echo>
+        <echo>|                             |</echo>
+        <echo>+-----------------------------+</echo>
+
+        <property name="env.security_manager" value="OFF" />
+        <antcall target="verify-xml" />
+        <antcall target="start-derby" />
+        <antcall target="start-server-felix" />
+        <antcall target="build-deploy-gd" />
+        <antcall target="build-deploy" />
+        <antcall target="build-cluster" />
+
+        <antcall target="runtest">
+            <param name="testng.xml" value="testng/testng_full_profile.xml" />
+        </antcall>
+
+        <antcall target="undeploy" />
+        <antcall target="undeploy-gd" />
+        <antcall target="quicklook-summary" />
+        <antcall target="stop-server" />
+        <antcall target="stop-derby" />
+        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
+        <antcall target="check-logged-messages" />
+        <antcall target="testng-summary" />
+        <record name="${basedir}/allrun.output" action="stop" />
+    </target>
+
+    <!-- Target for testing glassfish distribution (containing EJB)  -->
+    <target name="all_ri" depends="clean">
+        <record name="${basedir}/allrun.output" action="start" />
+
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>|        R u n n i n g        |</echo>
+        <echo>|            all_ri           |</echo>
+        <echo>|                             |</echo>
+        <echo>+-----------------------------+</echo>
+
+        <property name="env.security_manager" value="OFF" />
+        <antcall target="verify-xml" />
+        <antcall target="start-derby" />
+        <antcall target="start-server-felix" />
+        <antcall target="build-deploy" />
+        <antcall target="build-deploy-gd" />
+
+        <antcall target="runtest">
+            <param name="testng.xml" value="testng/testng_ri.xml" />
+        </antcall>
+
+        <antcall target="undeploy" />
+        <antcall target="undeploy-gd" />
+        <antcall target="quicklook-summary" />
+        <antcall target="stop-server" />
+        <antcall target="stop-derby" />
+        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
+        <antcall target="check-logged-messages" />
+        <antcall target="testng-summary" />
+
+        <record name="${basedir}/allrun.output" action="stop" />
+    </target>
+
+    <!-- Target for testing glassfish distribution (GD) (containing EJB)  -->
+    <target name="all_gd_security" depends="clean">
+        <record name="${basedir}/allrun.output" action="start" />
+
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>|        R u n n i n g        |</echo>
+        <echo>|       all_gd_security       |</echo>
+        <echo>|         Full Profile        |</echo>
+        <echo>+-----------------------------+</echo>
+
+
+        <antcall target="add-quicklook-policy-grants" />
+        <property name="env.security_manager" value="ON" />
+        <antcall target="verify-xml" />
+        <antcall target="start-derby" />
+        <antcall target="start-server-felix" />
+        <antcall target="enable-security-manager" />
+        <antcall target="stop-server" />
+        <antcall target="start-server-felix" />
+        <antcall target="build-deploy" />
+        <antcall target="build-deploy-gd" />
+
+        <antcall target="runtest">
+            <param name="testng.xml" value="testng/testng_full_profile.xml" />
+        </antcall>
+
+        <antcall target="undeploy" />
+        <antcall target="undeploy-gd" />
+        <antcall target="quicklook-summary" />
+        <antcall target="remove-quicklook-policy-grants" />
+        <antcall target="disable-security-manager" />
+        <antcall target="stop-server" />
+        <antcall target="stop-derby" />
+        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
+        <antcall target="check-logged-messages" />
+        <antcall target="testng-summary" />
+        <record name="${basedir}/allrun.output" action="stop" />
+    </target>
+
+    <!-- Target for testing glassfish distribution (containing EJB)  -->
+    <target name="dev_debug" depends="clean">
+        <record name="${basedir}/allrun.output" action="start" />
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>|        R u n n i n g        |</echo>
+        <echo>|           dev_debug         |</echo>
+        <echo>|         Full Profile        |</echo>
+        <echo>+-----------------------------+</echo>
+
+        <antcall target="verify-xml" />
+        <antcall target="start-derby" />
+        <antcall target="build-deploy" />
+        <antcall target="runtest">
+            <param name="testng.xml" value="testng/testng_debug.xml" />
+        </antcall>
+        <antcall target="undeploy" />
+        <antcall target="stop-derby" />
+        <antcall target="check-logged-messages" />
+        <antcall target="testng-summary" />
+
+        <record name="${basedir}/allrun.output" action="stop" />
+    </target>
+
+
+
+    <!--  S T A R T    S E R V E R  -->
+
+
     <target name="start_server_with_security_manager_enabled">
         <property name="env.security_manager" value="ON" />
         <antcall target="verify-xml" />
@@ -119,191 +316,148 @@
         <antcall target="stop-derby" />
     </target>
 
-    <!-- Target for testing glassfish distribution (containing EJB)  -->
-    <target name="all" depends="clean">
-        <record name="${basedir}/allrun.output" action="start" />
-        <property name="env.security_manager" value="OFF" />
-        <antcall target="verify-xml" />
-        <antcall target="start-derby" />
-        <antcall target="start-server-felix" />
-        <antcall target="build-deploy-gd" />
-        <antcall target="build-deploy" />
-        <antcall target="build-cluster" />
-        <antcall target="runtest">
-            <param name="testng.xml" value="testng/testng_gd.xml" />
-        </antcall>
-        <antcall target="undeploy" />
-        <antcall target="undeploy-gd" />
-        <antcall target="quicklook-summary" />
-        <antcall target="stop-server" />
-        <antcall target="stop-derby" />
-        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
-        <antcall target="check-logged-messages" />
-        <antcall target="testng-summary" />
-        <record name="${basedir}/allrun.output" action="stop" />
+    <target name="start-server-hk2" depends="setOSConditions">
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>| S T A R T I N G   GLASSFISH |</echo>
+        <echo>|       in HK2 mode           |</echo>
+        <echo>|                             |</echo>
+        <echo>+-----------------------------+</echo>
+
+        <antcall target="start-server-hk2-unix" />
+        <antcall target="start-server-hk2-windows" />
     </target>
 
-    <!-- Target for testing glassfish distribution (containing EJB)  -->
-    <target name="all_ri" depends="clean">
-        <record name="${basedir}/allrun.output" action="start" />
-        <property name="env.security_manager" value="OFF" />
-        <antcall target="verify-xml" />
-        <antcall target="start-derby" />
-        <antcall target="start-server-felix" />
-        <antcall target="build-deploy" />
-        <antcall target="build-deploy-gd" />
-        <antcall target="runtest">
-            <param name="testng.xml" value="testng/testng_ri.xml" />
-        </antcall>
-        <antcall target="undeploy" />
-        <antcall target="undeploy-gd" />
-        <antcall target="quicklook-summary" />
-        <antcall target="stop-server" />
-        <antcall target="stop-derby" />
-        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
-        <antcall target="check-logged-messages" />
-        <antcall target="testng-summary" />
-        <record name="${basedir}/allrun.output" action="stop" />
+    <target name="start-server-hk2-windows" if="isWindows">
+        <exec executable="cmd" spawn="true">
+            <env key="GlassFish_Platform" value="HK2" />
+            <arg value="/c" />
+            <arg value="${glassfish.home}\bin\asadmin.bat" />
+            <arg value="start-domain" />
+        </exec>
     </target>
 
-    <!-- Target for testing glassfish distribution (GD) (containing EJB)  -->
-    <target name="all_gd_security" depends="clean">
-        <record name="${basedir}/allrun.output" action="start" />
-        <antcall target="add-quicklook-policy-grants" />
-        <property name="env.security_manager" value="ON" />
-        <antcall target="verify-xml" />
-        <antcall target="start-derby" />
-        <antcall target="start-server-felix" />
-        <antcall target="enable-security-manager" />
-        <antcall target="stop-server" />
-        <antcall target="start-server-felix" />
-        <antcall target="build-deploy" />
-        <antcall target="build-deploy-gd" />
-        <antcall target="runtest">
-            <param name="testng.xml" value="testng/testng_gd.xml" />
-        </antcall>
-        <antcall target="undeploy" />
-        <antcall target="undeploy-gd" />
-        <antcall target="quicklook-summary" />
-        <antcall target="remove-quicklook-policy-grants" />
-        <antcall target="disable-security-manager" />
-        <antcall target="stop-server" />
-        <antcall target="stop-derby" />
-        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
-        <antcall target="check-logged-messages" />
-        <antcall target="testng-summary" />
-        <record name="${basedir}/allrun.output" action="stop" />
+    <target name="start-server-hk2-unix" if="isUnix">
+        <exec executable="${glassfish.home}/bin/asadmin">
+            <env key="GlassFish_Platform" value="HK2" />
+            <arg value="start-domain" />
+        </exec>
     </target>
 
-    <!-- Target for testing glassfish distribution (containing EJB)  -->
-    <target name="dev_debug" depends="clean">
-        <record name="${basedir}/allrun.output" action="start" />
-        <antcall target="verify-xml" />
-        <antcall target="start-derby" />
-        <antcall target="build-deploy" />
-        <antcall target="runtest">
-            <param name="testng.xml" value="testng/testng_debug.xml" />
-        </antcall>
-        <antcall target="undeploy" />
-        <antcall target="stop-derby" />
-        <antcall target="check-logged-messages" />
-        <antcall target="testng-summary" />
-        <record name="${basedir}/allrun.output" action="stop" />
+    <target name="start-server-felix" depends="setOSConditions">
+
+        <echo>+-----------------------------+</echo>
+        <echo>|                             |</echo>
+        <echo>| S T A R T I N G   GLASSFISH |</echo>
+        <echo>|       in Felix mode         |</echo>
+        <echo>|                             |</echo>
+        <echo>+-----------------------------+</echo>
+
+        <antcall target="start-server-felix-unix" />
+        <antcall target="start-server-felix-windows" />
     </target>
 
+    <target name="start-server-felix-windows" if="isWindows">
+        <exec executable="cmd" spawn="true">
+            <arg value="/c" />
+            <arg value="${glassfish.home}\bin\asadmin.bat" />
+            <arg value="start-domain" />
+            <arg value="domain1" />
+        </exec>
+        <waitfor maxwait="30" maxwaitunit="second" checkevery="500">
+            <http url="http://localhost:4848/" />
+        </waitfor>
+    </target>
+
+    <target name="start-server-felix-unix" if="isUnix">
+        <exec executable="${glassfish.home}/bin/asadmin">
+            <arg value="start-domain" />
+            <arg value="domain1" />
+        </exec>
+    </target>
+
+
+
+    <!--  B U I L D  &  D E P L O Y    T E S T    A R C H I V E S  -->
+
     <target name="build-deploy">
         <record name="${basedir}/build.output" action="start" />
         <echo message="ANT PROJECT ${ant.project.name}" />
-        <ant dir="amx" target="build" />
-        <ant dir="admin" target="build" />
-        <ant dir="admincli" target="build" />
-        <ant dir="adminconsole" target="build" />
-        <ant dir="rest" target="build" />
-        <!--<ant dir="osgitest/basicosgi" target="build"/>-->
-        <ant dir="web/helloworld" target="build-deploy" />
-        <ant dir="web/jsfastrologer" target="build-deploy" />
-        <ant dir="web/jsfinjection" target="build-deploy" />
-        <ant dir="jdbc/jdbcusertx" target="build-deploy" />
-        <ant dir="persistence/jpainjectemf" target="build-deploy" />
-        <ant dir="persistence/jpavalidation" target="build-deploy" />
-        <ant dir="security/helloworld" target="build-deploy" />
-        <ant dir="security/basicauth" target="build-deploy" />
-        <ant dir="ejb/slsbnicmt" target="build-deploy" />
-        <ant dir="ejb/sfulnoi" target="build-deploy" />
-        <ant dir="bean-validator/simple-bv-servlet" target="build-deploy" />
-        <ant dir="weld/numberguess" target="build-deploy" />
-        <ant dir="weld/osgiweld" target="build-deploy" />
-        <ant dir="weld/extensions" target="build-deploy" />
+
+        <run-quicklook-test path="amx" target="build" />
+        <run-quicklook-test path="admin" target="build" />
+        <run-quicklook-test path="admincli" target="build" />
+        <!-- For now GlassFish 7 doesn't have an admin console
+        <run-quicklook-test path="adminconsole" target="build" />
+        -->
+        <run-quicklook-test path="rest" target="build" />
+        <!--<run-quicklook-test path="osgitest/basicosgi" target="build"/>-->
+        <run-quicklook-test path="web/helloworld" target="build-deploy" />
+        <run-quicklook-test path="web/jsfastrologer" target="build-deploy" />
+        <run-quicklook-test path="web/jsfinjection" target="build-deploy" />
+        <run-quicklook-test path="jdbc/jdbcusertx" target="build-deploy" />
+        <run-quicklook-test path="persistence/jpainjectemf" target="build-deploy" />
+        <run-quicklook-test path="persistence/jpavalidation" target="build-deploy" />
+        <run-quicklook-test path="security/helloworld" target="build-deploy" />
+        <run-quicklook-test path="security/basicauth" target="build-deploy" />
+        <run-quicklook-test path="ejb/slsbnicmt" target="build-deploy" />
+        <run-quicklook-test path="ejb/sfulnoi" target="build-deploy" />
+        <run-quicklook-test path="bean-validator/simple-bv-servlet" target="build-deploy" />
+        <run-quicklook-test path="weld/numberguess" target="build-deploy" />
+        <run-quicklook-test path="weld/osgiweld" target="build-deploy" />
+        <run-quicklook-test path="weld/extensions" target="build-deploy" />
+
         <record name="${basedir}/build.output" action="stop" />
     </target>
 
     <target name="build-deploy-gd">
-        <echo message="Glassfish Distribution Build Deploy" />
-        <ant dir="ejb/remoteview" target="build-deploy" />
-        <ant dir="ejb/singleton" target="build-deploy" />
-        <ant dir="ejb/cmp" target="build-deploy" />
-        <ant dir="ejb/mdb" target="build" />
-        <ant dir="jms/injection" target="build-deploy" />
-        <ant dir="wsit/JaxwsFromWsdl" target="build-deploy" />
-        <ant dir="wsit/jsr109tester" target="build-deploy" />
-        <ant dir="security/appperms" target="build-deploy" />
+        <echo message="Glassfish Full Profile Build Deploy" />
+        <run-quicklook-test path="ejb/remoteview" target="build-deploy" />
+        <run-quicklook-test path="ejb/singleton" target="build-deploy" />
+        <run-quicklook-test path="ejb/cmp" target="build-deploy" />
+        <run-quicklook-test path="ejb/mdb" target="build" />
+        <run-quicklook-test path="jms/injection" target="build-deploy" />
+        <run-quicklook-test path="wsit/JaxwsFromWsdl" target="build-deploy" />
+        <run-quicklook-test path="wsit/jsr109tester" target="build-deploy" />
+        <run-quicklook-test path="security/appperms" target="build-deploy" />
     </target>
 
-    <target name="undeploy">
-        <record name="${basedir}/undeploy.output" action="start" />
-        <ant dir="web/helloworld" target="undeploy" />
-        <ant dir="web/jsfastrologer" target="undeploy" />
-        <ant dir="web/jsfinjection" target="undeploy" />
-        <ant dir="jdbc/jdbcusertx" target="undeploy" />
-        <ant dir="persistence/jpainjectemf" target="undeploy" />
-        <ant dir="persistence/jpavalidation" target="undeploy" />
-        <ant dir="security/helloworld" target="undeploy" />
-        <ant dir="security/basicauth" target="undeploy" />
-        <ant dir="ejb/slsbnicmt" target="undeploy" />
-        <ant dir="ejb/sfulnoi" target="undeploy" />
-        <ant dir="bean-validator/simple-bv-servlet" target="undeploy" />
-        <ant dir="weld/numberguess" target="undeploy" />
-        <ant dir="weld/osgiweld" target="undeploy" />
-        <ant dir="weld/extensions" target="undeploy" />
-        <ant dir="jms/injection" target="undeploy" />
-        <record name="${basedir}/undeploy.output" action="stop" />
-    </target>
 
-    <target name="undeploy-gd">
-        <ant dir="ejb/singleton" target="undeploy" />
-        <ant dir="ejb/remoteview" target="undeploy" />
-        <ant dir="ejb/cmp" target="undeploy" />
-        <!-- <ant dir="wsit/JaxwsFromWsdl" target="undeploy"/>
-        <ant dir="wsit/jsr109tester" target="undeploy"/>-->
-        <ant dir="security/appperms" target="undeploy" />
-    </target>
 
-    <!-- Target is re-defined here as someone didn't want to specify ws.root property -->
-    <target name="clean">
-        <delete dir="${basedir}/classes" />
-        <delete verbose="true" includeemptydirs="true">
-            <fileset dir="${basedir}" includes="**/classes" />
-        </delete>
-        <delete dir="${basedir}/test-output" includeemptydirs="true" />
-        <delete dir="${basedir}/dist" includeemptydirs="true" />
-        <delete includeemptydirs="true">
-            <fileset dir="${basedir}">
-                <include name="**/*.output" />
-            </fileset>
-        </delete>
-    </target>
+    <!--  R U N    T E S T S -->
 
-    <taskdef name="testng" classname="org.testng.TestNGAntTask">
-        <classpath>
-            <pathelement path="${plugin_classpath}" />
-        </classpath>
-    </taskdef>
 
     <!-- Target is re-definted here as didn't want to specify ws.root property -->
     <target name="runtest" depends="initprops,setOSConditions,asenv-unix,asenv-windows">
         <record name="${basedir}/runtestng.output" action="start" />
-        <echo message="=============Starting TestNG functional tests from ${testng.xml} ============" />
+
+        <echo message="${line.separator}${line.separator}" />
+        <echo message="=============================================================================" />
+        <echo message="=                                                                           =" />
+        <echo message="=         S t a r t i n g   TestNG   f u n c t i o n a l    t e s t s       =" />
+        <echo message="=                                                                           =" />
+        <echo message="= TEST FILE = ${testng.xml}                                                 =" />
+        <echo message="= BASEDIR   = ${basedir}                                                    =" />
+        <echo message="=                                                                           =" />
+        <echo message="=============================================================================" />
+        <echo message="${line.separator}${line.separator}" />
+
         <property name="hasTestNGXML" value="true" />
+        <loadfile property="tests" srcfile="${testng.xml}">
+            <filterchain>
+                <linecontainsregexp>
+                    <regexp pattern="test name"/>
+                </linecontainsregexp>
+            </filterchain>
+        </loadfile>
+        
+        <echo message="${line.separator}${line.separator}" />
+        <echo message="=============================================================================" />
+        <echo message="=  R u n n i n g   t h e   f o l l o w i n g    t e s t s:                  =" />
+        <echo message="= From TEST FILE = ${testng.xml}                                                 =" />
+        <echo message="${tests}" />
+        <echo message="=============================================================================" />
 
         <mkdir dir="${test.report}" />
         <testng outputdir="${test.report}" classpathref="run.testng.classpath">
@@ -317,6 +471,7 @@
             <sysproperty key="BASEDIR" value="${basedir}" />
             <xmlfileset dir="." includes="${testng.xml}" />
         </testng>
+
         <record name="${basedir}/runtestng.output" action="stop" />
     </target>
 
@@ -332,6 +487,64 @@
         <record name="${basedir}/runtestng.output" action="stop" />
     </target>
 
+
+
+
+    <!--  U N D E P L O Y    T E S T    A R C H I V E S  -->
+    
+    <target name="undeploy">
+         <record name="${basedir}/undeploy.output" action="start" />
+         
+         <run-quicklook-test path="web/helloworld" target="undeploy" />
+         <run-quicklook-test path="web/jsfastrologer" target="undeploy" />
+         <run-quicklook-test path="web/jsfinjection" target="undeploy" />
+         <run-quicklook-test path="jdbc/jdbcusertx" target="undeploy" />
+         <run-quicklook-test path="persistence/jpainjectemf" target="undeploy" />
+         <run-quicklook-test path="persistence/jpavalidation" target="undeploy" />
+         <run-quicklook-test path="security/helloworld" target="undeploy" />
+         <run-quicklook-test path="security/basicauth" target="undeploy" />
+         <run-quicklook-test path="ejb/slsbnicmt" target="undeploy" />
+         <run-quicklook-test path="ejb/sfulnoi" target="undeploy" />
+         <run-quicklook-test path="bean-validator/simple-bv-servlet" target="undeploy" />
+         <run-quicklook-test path="weld/numberguess" target="undeploy" />
+         <run-quicklook-test path="weld/osgiweld" target="undeploy" />
+         <run-quicklook-test path="weld/extensions" target="undeploy" />
+         <run-quicklook-test path="jms/injection" target="undeploy" />
+         
+         <record name="${basedir}/undeploy.output" action="stop" />
+     </target>
+
+    <target name="undeploy-gd">
+        <run-quicklook-test path="ejb/singleton" target="undeploy" />
+        <run-quicklook-test path="ejb/remoteview" target="undeploy" />
+        <run-quicklook-test path="ejb/cmp" target="undeploy" />
+        <!-- <ant dir="wsit/JaxwsFromWsdl" target="undeploy"/>
+        <ant dir="wsit/jsr109tester" target="undeploy"/>-->
+        <run-quicklook-test path="security/appperms" target="undeploy" />
+    </target>
+
+    <!-- Target is re-defined here as someone (who?) didn't want to specify ws.root property -->
+    <target name="clean">
+        <delete dir="${basedir}/classes" />
+        <delete verbose="true" includeemptydirs="true">
+            <fileset dir="${basedir}" includes="**/classes" />
+        </delete>
+        <delete dir="${basedir}/test-output" includeemptydirs="true" />
+        <delete dir="${basedir}/dist" includeemptydirs="true" />
+        <delete includeemptydirs="true">
+            <fileset dir="${basedir}">
+                <include name="**/*.output" />
+            </fileset>
+        </delete>
+    </target>
+
+
+
+
+    <!-- S U M M A R Y -->
+
+
+
     <!-- Generate the TestNG report -->
     <target name="report" depends="initprops">
         <echo message="Generating report at ${test.report}" />
@@ -370,39 +583,6 @@
         </if>
     </target>
 
-    <target name="initprops">
-        <property name="build.class.dir" value="${basedir}/classes/test" />
-        <property name="Java_SE" value="${basedir}/classes/EJB_remoteview/app" />
-        <property name="test.report" value="${basedir}/test-output" />
-        <mkdir dir="${test.report}" />
-        <path id="junit.path">
-            <pathelement path="${plugin_classpath}" />
-        </path>
-        <typedef name="junitreport" classname="org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator" classpathref="junit.path" />
-        <path id="run.testng.classpath">
-            <fileset dir="${glassfish.home}/modules">
-                <include name="**/hk2*.jar" />
-                <include name="**/glassfish-api.jar" />
-                <include name="**/amx-core.jar" />
-                <include name="**/amx-javaee.jar" />
-                <include name="**/management-api.jar" />
-            </fileset>
-            <fileset dir="${glassfish.home}/lib">
-                <include name="**/gf-client.jar" />
-            </fileset>
-            <pathelement path="${plugin_classpath}" />
-            <pathelement location="${Java_SE}" />
-            <pathelement location="${build.class.dir}" />
-        </path>
-        <path id="embedded.testng.classpath">
-            <fileset dir="${glassfish.home}/lib/embedded">
-                <include name="**/glassfish-embedded-static-shell.jar" />
-            </fileset>
-            <pathelement location="${build.class.dir}" />
-            <pathelement location="${build.class.dir}/../EJB_Embedded/app" />
-        </path>
-    </target>
-
     <!-- added few messages in order to show testng summary of wsit related tests along with final summary as wsit tests are ran seperately as a workaround for GLASSFISH-21672 -->
     <target name="testng-summary">
         <loadfile srcfile="runtestng.output" property="testng_output">
@@ -557,66 +737,7 @@
         <property name="APPCLIENT" value="${glassfish.home}\bin\appclient.bat" />
     </target>
 
-    <target name="start-server-hk2" depends="setOSConditions">
 
-        <echo>+-----------------------------+</echo>
-        <echo>|                             |</echo>
-        <echo>| S T A R T I N G   GLASSFISH |</echo>
-        <echo>|       in HK2 mode           |</echo>
-        <echo>|                             |</echo>
-        <echo>+-----------------------------+</echo>
-
-        <antcall target="start-server-hk2-unix" />
-        <antcall target="start-server-hk2-windows" />
-    </target>
-
-    <target name="start-server-hk2-windows" if="isWindows">
-        <exec executable="cmd" spawn="true">
-            <env key="GlassFish_Platform" value="HK2" />
-            <arg value="/c" />
-            <arg value="${glassfish.home}\bin\asadmin.bat" />
-            <arg value="start-domain" />
-        </exec>
-    </target>
-
-    <target name="start-server-hk2-unix" if="isUnix">
-        <exec executable="${glassfish.home}/bin/asadmin">
-            <env key="GlassFish_Platform" value="HK2" />
-            <arg value="start-domain" />
-        </exec>
-    </target>
-
-    <target name="start-server-felix" depends="setOSConditions">
-
-        <echo>+-----------------------------+</echo>
-        <echo>|                             |</echo>
-        <echo>| S T A R T I N G   GLASSFISH |</echo>
-        <echo>|       in Felix mode         |</echo>
-        <echo>|                             |</echo>
-        <echo>+-----------------------------+</echo>
-
-        <antcall target="start-server-felix-unix" />
-        <antcall target="start-server-felix-windows" />
-    </target>
-
-    <target name="start-server-felix-windows" if="isWindows">
-        <exec executable="cmd" spawn="true">
-            <arg value="/c" />
-            <arg value="${glassfish.home}\bin\asadmin.bat" />
-            <arg value="start-domain" />
-            <arg value="domain1" />
-        </exec>
-        <waitfor maxwait="30" maxwaitunit="second" checkevery="500">
-            <http url="http://localhost:4848/" />
-        </waitfor>
-    </target>
-
-    <target name="start-server-felix-unix" if="isUnix">
-        <exec executable="${glassfish.home}/bin/asadmin">
-            <arg value="start-domain" />
-            <arg value="domain1" />
-        </exec>
-    </target>
 
     <target name="build-version" depends="setOSConditions">
         <antcall target="build-version-unix" />
@@ -677,4 +798,47 @@
         </exec>
     </target>
 
+
+
+
+    <!-- D E F S -->
+
+    <presetdef name="javac">
+        <javac includeantruntime="false" />
+    </presetdef>
+
+    <taskdef name="testng" classname="org.testng.TestNGAntTask">
+        <classpath>
+            <pathelement path="${plugin_classpath}" />
+        </classpath>
+    </taskdef>
+
+    <macrodef name="run-quicklook-test" xmlns:if="ant:if" xmlns:unless="ant:unless">
+        <attribute name="path" />
+        <attribute name="target" />
+        <sequential>
+            <local name="do-run-test" />
+            <condition property="do-run-test" else="false">
+                <or>
+                    <equals arg1="${env.quicklook}" arg2="@{path}" />
+                    <not>
+                        <isset property="env.quicklook" />
+                    </not>
+                </or>
+            </condition>
+
+            <sequential if:true="${do-run-test}">
+                <local name="absolute.path" />
+                <property name="absolute.path" location="@{path}" />
+                <echo message="${line.separator}" />
+                <echo message=" *************************" />
+                <echo message=" * @{target} @{path} " />
+                <echo message=" * Path: ${absolute.path} " />
+                <echo message=" *************************" />
+                <echo message="${line.separator}" />
+                <ant dir="@{path}" target="@{target}"/>
+            </sequential>
+        </sequential>
+    </macrodef>
+
 </project>
diff --git a/appserver/tests/quicklook/ejb/cmp/pom.xml b/appserver/tests/quicklook/ejb/cmp/pom.xml
index 8f5774e..323cf57 100644
--- a/appserver/tests/quicklook/ejb/cmp/pom.xml
+++ b/appserver/tests/quicklook/ejb/cmp/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>cmp_quicklook</artifactId>
     <name>CMP Roster App Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/ejb/embedded/pom.xml b/appserver/tests/quicklook/ejb/embedded/pom.xml
index dec6cf1..7cd344a 100644
--- a/appserver/tests/quicklook/ejb/embedded/pom.xml
+++ b/appserver/tests/quicklook/ejb/embedded/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>ejb_quicklook</artifactId>
     <name>Glassfish JRuby Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/ejb/remoteview/pom.xml b/appserver/tests/quicklook/ejb/remoteview/pom.xml
index dec6cf1..7cd344a 100644
--- a/appserver/tests/quicklook/ejb/remoteview/pom.xml
+++ b/appserver/tests/quicklook/ejb/remoteview/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>ejb_quicklook</artifactId>
     <name>Glassfish JRuby Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/ejb/sfulnoi/pom.xml b/appserver/tests/quicklook/ejb/sfulnoi/pom.xml
index dec6cf1..7cd344a 100644
--- a/appserver/tests/quicklook/ejb/sfulnoi/pom.xml
+++ b/appserver/tests/quicklook/ejb/sfulnoi/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>ejb_quicklook</artifactId>
     <name>Glassfish JRuby Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/ejb/singleton/pom.xml b/appserver/tests/quicklook/ejb/singleton/pom.xml
index dec6cf1..7cd344a 100644
--- a/appserver/tests/quicklook/ejb/singleton/pom.xml
+++ b/appserver/tests/quicklook/ejb/singleton/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>ejb_quicklook</artifactId>
     <name>Glassfish JRuby Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/ejb/slsbnicmt/pom.xml b/appserver/tests/quicklook/ejb/slsbnicmt/pom.xml
index dec6cf1..7cd344a 100644
--- a/appserver/tests/quicklook/ejb/slsbnicmt/pom.xml
+++ b/appserver/tests/quicklook/ejb/slsbnicmt/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>ejb_quicklook</artifactId>
     <name>Glassfish JRuby Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/gfproject/build-impl.xml b/appserver/tests/quicklook/gfproject/build-impl.xml
index 98ede24..8cac519 100644
--- a/appserver/tests/quicklook/gfproject/build-impl.xml
+++ b/appserver/tests/quicklook/gfproject/build-impl.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -19,423 +20,359 @@
 
 <project name="common-impl" default="all" basedir=".">
 
-    <property file="${ws.root}/build.properties"/>
-    <property name="app.file.ext" value="${app.file}.${archive.type}"/>
-    <property name="config.dir" value="${ant.file}"/>
-    <property name="is.war.module" value="true"/>
-    <property name="is.persistence.module" value="true"/>
-    <property name="result.output" value="${ws.root}/test-output"/>
-    <property name="assemble.dir" value="${ws.root}/dist/${testsuite.name}"/>
-    <property name="class.output" value="${ws.root}/classes/${testsuite.name}/app"/>
-    <!--<property name="test.class.output" value="${ws.root}/classes/${testsuite.name}/test"/>-->
-    <property name="test.class.output" value="${ws.root}/classes/test"/>
-    <property name="dist.dir" value="${ws.root}/dist/${testsuite.name}"/>
+    <property file="${ws.root}/build.properties" />
+    <property name="app.file.ext" value="${app.file}.${archive.type}" />
+    <property name="config.dir" value="${ant.file}" />
+    <property name="is.war.module" value="true" />
+    <property name="is.persistence.module" value="true" />
+    <property name="result.output" value="${ws.root}/test-output" />
+    <property name="assemble.dir" value="${ws.root}/dist/${testsuite.name}" />
+    <property name="class.output" value="${ws.root}/classes/${testsuite.name}/app" />
+    <property name="test.class.output" value="${ws.root}/classes/test" />
+    <property name="dist.dir" value="${ws.root}/dist/${testsuite.name}" />
 
     <target name="clean">
-        <delete dir="${ws.root}/classes"/>
-        <delete dir="${result.output}"/>
-        <delete dir="${ws.root}/dist"/>
-        <echo message="Deleting all WAR/EAR in local testsuite directories!!!"/>
-        <echo message="There should not be any WAR file checked in."/>
+        <delete dir="${ws.root}/classes" />
+        <delete dir="${result.output}" />
+        <delete dir="${ws.root}/dist" />
+        <echo message="Deleting all WAR/EAR in local testsuite directories!!!" />
+        <echo message="There should not be any WAR file checked in." />
         <delete>
-            <fileset dir="." includes="**/*.war"/>
+            <fileset dir="." includes="**/*.war" />
         </delete>
     </target>
 
-    <!-- classpath at QL runtime (i.e. not for building of testing apps) -->
+    <!-- classpath at QuickLook runtime (i.e. not for building of testing apps) -->
     <path id="run.testng.classpath">
         <fileset dir="${glassfish.home}/modules">
-            <include name="**/hk2*.jar"/>
-            <include name="**/glassfish-api.jar"/>
-            <include name="**/amx-core.jar"/>
-            <include name="**/amx-javaee.jar"/>
-            <include name="**/gf-client-module.jar"/>
+            <include name="**/hk2*.jar" />
+            <include name="**/glassfish-api.jar" />
+            <include name="**/amx-core.jar" />
+            <include name="**/amx-javaee.jar" />
+            <include name="**/gf-client-module.jar" />
         </fileset>
-    <fileset dir="${maven.repo.local}/com/beust/jcommander">
-        <include name="**/1.72/jcommander-1.72.jar"/>
-    </fileset>
-        <pathelement location="${class.output}"/>
-        <pathelement location="${test.class.output}"/>
+        <fileset dir="${maven.repo.local}/com/beust/jcommander">
+            <include name="**/1.72/jcommander-1.72.jar" />
+        </fileset>
+        <pathelement location="${class.output}" />
+        <pathelement location="${test.class.output}" />
     </path>
 
-    <!-- classpath at QL build time for building testing apps -->
+    <!-- classpath at QuickLook build time for building testing apps -->
     <path id="class.path">
         <fileset dir="${glassfish.home}/modules">
-            <include name="**/*.jar"/>
+            <include name="**/*.jar" />
             <!-- excluding some obviously unnecessary jars to reduce classpath length (> 32kB causes javac to fail on WinXP) -->
-            <exclude name="cmp*.jar"/>
-            <exclude name="connectors-*.jar"/>
-            <exclude name="console-*.jar"/>
-            <exclude name="deployment-*.jar"/>
-            <exclude name="*help.jar"/>
-            <exclude name="orb-*.jar"/>
-            <exclude name="org.apache.felix.*"/>
-            <exclude name="org.eclipse.persistence.*"/>
-            <exclude name="stats77.jar"/>
-            <exclude name="trilead-ssh2-repackaged.jar"/>
-            <exclude name="virt-core.jar"/>
-            <exclude name="woodstox-osgi.jar"/>
+            <exclude name="cmp*.jar" />
+            <exclude name="connectors-*.jar" />
+            <exclude name="console-*.jar" />
+            <exclude name="deployment-*.jar" />
+            <exclude name="*help.jar" />
+            <exclude name="orb-*.jar" />
+            <exclude name="org.apache.felix.*" />
+            <exclude name="org.eclipse.persistence.*" />
+            <exclude name="stats77.jar" />
+            <exclude name="trilead-ssh2-repackaged.jar" />
+            <exclude name="virt-core.jar" />
+            <exclude name="woodstox-osgi.jar" />
         </fileset>
-        <pathelement location="${class.output}"/>
-        <pathelement location="${test.class.output}"/>
-        <pathelement path="${plugin_classpath}"/>
+        <pathelement location="${class.output}" />
+        <pathelement location="${test.class.output}" />
+        <pathelement path="${plugin_classpath}" />
     </path>
 
     <!-- TestNG class fileset -->
 
     <path id="path2testng">
-        <pathelement location="${ws.root}/lib/testng-5.0-jdk15.jar"/>
+        <pathelement location="${ws.root}/lib/testng-5.0-jdk15.jar" />
     </path>
 
     <taskdef name="testng" classname="org.testng.TestNGAntTask">
         <classpath>
-        <pathelement path="${plugin_classpath}"/>
+            <pathelement path="${plugin_classpath}" />
         </classpath>
     </taskdef>
 
 
     <target name="compile-tests" description="compile the test ng example">
-        <echo message="compiling test client to ${test.class.output}"/>
+        <echo message="compiling test client to ${test.class.output}" />
 
         <fileset dir="${basedir}/src/test" id="java.source.id">
-            <include name="**/*.java"/>
+            <include name="**/*.java" />
         </fileset>
-        <property name="source.file.list" refid="java.source.id"/>
-        <echo message="Listing of source files: ${source.file.list}"/>
+        <property name="source.file.list" refid="java.source.id" />
+        <echo message="Listing of source files: ${source.file.list}" />
 
-        <mkdir dir="${test.class.output}"/>
-        <javac   debug="true"
-                 source="1.8"
-                 target="1.8"
-                 classpathref="class.path"
-                 srcdir="${basedir}/src/test"
-                 sourcepath=""
-                 destdir="${test.class.output}">
-            <include name="**/*.java"/>
+        <mkdir dir="${test.class.output}" />
+        <javac debug="true" source="1.8" target="1.8" classpathref="class.path" srcdir="${basedir}/src/test" sourcepath="" destdir="${test.class.output}">
+            <include name="**/*.java" />
         </javac>
     </target>
 
-    <target name="compile-util"
-        description="compile the test ng util">
-        <mkdir dir="${test.class.output}"/>
-        <javac   debug="true"
-                 source="1.8"
-         target="1.8"
-         classpathref="class.path"
-                 srcdir="${ws.root}/admincli/src/test/admincli/util:${ws.root}/utils"
-                 destdir="${test.class.output}">
+    <target name="compile-util" description="compile the test ng util">
+        <mkdir dir="${test.class.output}" />
+        <javac debug="true" source="1.8" target="1.8" classpathref="class.path" srcdir="${ws.root}/admincli/src/test/admincli/util:${ws.root}/utils" destdir="${test.class.output}">
         </javac>
     </target>
 
     <!-- Generate the TestNG report -->
     <target name="report">
-        <delete dir="${result.output}"/>
-        <mkdir dir="${test-report}"/>
+        <delete dir="${result.output}" />
+        <mkdir dir="${test-report}" />
         <junitreport todir="${test-report}">
             <fileset dir=".">
-                <include name="**/test-output/**/*.xml"/>
-                <exclude name="**/testng-failed.xml"/>
+                <include name="**/test-output/**/*.xml" />
+                <exclude name="**/testng-failed.xml" />
             </fileset>
-            <report format="noframes" todir="test-report"/>
+            <report format="noframes" todir="test-report" />
         </junitreport>
     </target>
 
     <target name="archive-type">
-        <echo message="archive-type is ${archive.type}"/>
+        <echo message="archive-type is ${archive.type}" />
         <condition property="archive.war">
-            <equals arg1="war" arg2="${archive.type}"/>
+            <equals arg1="war" arg2="${archive.type}" />
         </condition>
         <condition property="archive.ear">
-            <equals arg1="ear" arg2="${archive.type}"/>
+            <equals arg1="ear" arg2="${archive.type}" />
         </condition>
         <condition property="archive.appclient_ear">
-            <equals arg1="appclient_ear" arg2="${archive.type}"/>
+            <equals arg1="appclient_ear" arg2="${archive.type}" />
         </condition>
         <condition property="archive.jar">
-            <equals arg1="jar" arg2="${archive.type}"/>
+            <equals arg1="jar" arg2="${archive.type}" />
         </condition>
     </target>
 
     <target name="build-impl">
-        <antcall target="build-war"/>
-        <antcall target="build-ear"/>
-    <antcall target="build-appclient-ear"/>
-        <antcall target="build-jar"/>
+        <antcall target="build-war" />
+        <antcall target="build-ear" />
+        <antcall target="build-appclient-ear" />
+        <antcall target="build-jar" />
     </target>
 
     <target name="compile-single">
-        <delete dir="$class.output}"/>
-        <mkdir dir="${class.output}"/>
-        <javac   debug="true"
-                 source="1.8"
-         target="1.8"
-                 classpathref="class.path"
-                 srcdir="src"
-                 destdir="${class.output}"/>
-
+        <delete dir="$class.output}" />
+        <mkdir dir="${class.output}" />
+        <javac debug="true" source="1.8" target="1.8" classpathref="class.path" srcdir="src" destdir="${class.output}" />
     </target>
 
 
-<target name="build-war" depends="archive-type" if="archive.war">
-    <echo message="Now creating a war file ${dist.dir}/${app.file.ext}"/>
-    <delete dir="${class.output}"/>
-    <delete dir="${dist.dir}"/>
-    <delete file="${app.file.ext}"/>
-    <mkdir dir="${class.output}"/>
-    <mkdir dir="${dist.dir}"/>
-    <mkdir dir="web/html"/>
-    <mkdir dir="web/jsp"/>
-    <mkdir dir="src/java"/>
-    <javac   debug="true"
-    source="8"
-    target="8"
-    classpathref="class.path"
-    srcdir="src/java"
-    failonerror="false"
-    destdir="${class.output}"/>
+    <target name="build-war" depends="archive-type" if="archive.war">
+        <echo message="Now creating a war file ${dist.dir}/${app.file.ext}" />
+        <delete dir="${class.output}" />
+        <delete dir="${dist.dir}" />
+        <delete file="${app.file.ext}" />
+        <mkdir dir="${class.output}" />
+        <mkdir dir="${dist.dir}" />
+        <mkdir dir="web/html" />
+        <mkdir dir="web/jsp" />
+        <mkdir dir="src/java" />
+        <javac debug="true" source="8" target="8" classpathref="class.path" srcdir="src/java" failonerror="false" destdir="${class.output}" />
 
-    <mkdir dir="${class.output}/META-INF"/>
-    <copy file="metadata/persistence.xml" todir="${class.output}/META-INF" failonerror="false"/>
+        <mkdir dir="${class.output}/META-INF" />
+        <copy file="metadata/persistence.xml" todir="${class.output}/META-INF" failonerror="false" />
 
-    <war destfile="${dist.dir}/${app.file.ext}" webxml="metadata/web.xml">
-        <fileset dir="web/html"/>
-        <fileset dir="web/jsp"/>
-        <classes dir="${class.output}">
-            <include name="**/*.class"/>
-        <include name="**/persistence.xml"/>
-        <include name="**/*.properties"/>
-        </classes>
-        <!--<zipfileset dir="src/graphics/images/gifs"
-        prefix="images"/>-->
-        <webinf dir="metadata">
-            <include name="**/*.xml"/>
-            <exclude name="**/persistence.xml"/>
-        </webinf>
-    </war>
-    <!-- antcall target="update-war-struts"/ -->
-    <!-- copy file="${dist.dir}/${app.file.ext}" tofile="./${app.file.ext}"/ -->
-</target>
+        <war destfile="${dist.dir}/${app.file.ext}" webxml="metadata/web.xml">
+            <fileset dir="web/html" />
+            <fileset dir="web/jsp" />
+            <classes dir="${class.output}">
+                <include name="**/*.class" />
+                <include name="**/persistence.xml" />
+                <include name="**/*.properties" />
+            </classes>
+            <webinf dir="metadata">
+                <include name="**/*.xml" />
+                <exclude name="**/persistence.xml" />
+            </webinf>
+        </war>
+    </target>
 
-<target name="update-war-struts" if="add.struts.jar">
-    <echo message="Adding struts jar to WEB-INF/lib"/>
-<war destfile="${dist.dir}/${app.file.ext}" update="true">
-    <lib dir="${ws.root}/web/lib/struts-1.2.9">
-        <include name="**/*.jar"/>
-    </lib>
-</war>
+    <target name="update-war-struts" if="add.struts.jar">
+        <echo message="Adding struts jar to WEB-INF/lib" />
+        <war destfile="${dist.dir}/${app.file.ext}" update="true">
+            <lib dir="${ws.root}/web/lib/struts-1.2.9">
+                <include name="**/*.jar" />
+            </lib>
+        </war>
+    </target>
 
-</target>
+    <target name="build-jar" depends="archive-type" if="archive.jar">
+        <echo message="Now creating a jar file ${dist.dir}/${app.file.ext}" />
+        <delete dir="${class.output}" />
+        <delete dir="${dist.dir}" />
+        <mkdir dir="${class.output}" />
+        <mkdir dir="${dist.dir}" />
+        <echo message="Now compiling" />
+        <javac debug="true" source="1.8" target="1.8" classpathref="class.path" srcdir="src/java" destdir="${class.output}" />
+        <echo message="Now creating a war file ${dist.dir}/${app.file.ext}" />
+        <jar destfile="${dist.dir}/${app.file.ext}" update="true" basedir="${class.output}" />
+    </target>
 
-<target name="build-jar" depends="archive-type" if="archive.jar">
-    <echo message="Now creating a jar file ${dist.dir}/${app.file.ext}"/>
-    <delete dir="${class.output}"/>
-    <delete dir="${dist.dir}"/>
-    <mkdir dir="${class.output}"/>
-    <mkdir dir="${dist.dir}"/>
-    <echo message="Now compiling"/>
-    <javac   debug="true"
-    source="1.8"
-    target="1.8"
-    classpathref="class.path"
-    srcdir="src/java"
-    destdir="${class.output}"/>
-    <echo message="Now creating a war file ${dist.dir}/${app.file.ext}"/>
-    <jar destfile="${dist.dir}/${app.file.ext}" update="true"
-    basedir="${class.output}"/>
-</target>
+    <target name="build-ear" depends="archive-type" if="archive.ear">
+        <delete dir="${class.output}" />
+        <delete dir="${dist.dir}" />
+        <delete file="${app.file.ext}" />
+        <mkdir dir="${class.output}" />
+        <mkdir dir="${dist.dir}" />
+        <javac debug="true" source="1.8" target="1.8" classpathref="class.path" srcdir="src/java" failonerror="false" destdir="${class.output}" />
+        <echo message="war.classes ============== : ${war.classes}" />
+        <war destfile="${dist.dir}/${app.file}Web.war" webxml="metadata/web.xml">
+            <fileset dir="web/html" />
+            <fileset dir="web/jsp" />
+            <classes dir="${class.output}" includes="${war.classes}" />
+            <webinf dir="metadata">
+                <include name="**/web.xml" />
+            </webinf>
+        </war>
+        <mkdir dir="${class.output}/META-INF" />
+        <copy file="metadata/ejb-jar.xml" tofile="${class.output}/META-INF/ejb-jar.xml" failonerror="false" />
+        <copy file="metadata/sun-ejb-jar.xml" tofile="${class.output}/META-INF/sun-ejb-jar.xml" failonerror="false" />
+        <copy file="metadata/sun-cmp-mappings.xml" tofile="${class.output}/META-INF/sun-cmp-mappings.xml" failonerror="false" />
+        <copy file="metadata/${dbschema}" tofile="${class.output}/${dbschema}" failonerror="false" />
+        <jar destfile="${dist.dir}/${app.file}EJB.jar" basedir="${class.output}" excludes="**/*Servlet.class" />
+        <ear destfile="${dist.dir}/${app.file.ext}" appxml="metadata/application.xml">
+            <fileset dir="${dist.dir}" includes="*.jar,*.war" />
+        </ear>
+        <echo message="Packaged Archive at ${dist.dir}/${app.file.ext}" />
+    </target>
 
-<target name="build-ear" depends="archive-type" if="archive.ear">
-    <delete dir="${class.output}"/>
-    <delete dir="${dist.dir}"/>
-    <delete file="${app.file.ext}"/>
-    <mkdir dir="${class.output}"/>
-    <mkdir dir="${dist.dir}"/>
-    <javac   debug="true"
-    source="1.8"
-    target="1.8"
-    classpathref="class.path"
-    srcdir="src/java"
-    failonerror="false"
-    destdir="${class.output}"/>
-    <echo message="war.classes ============== : ${war.classes}"/>
-    <war destfile="${dist.dir}/${app.file}Web.war" webxml="metadata/web.xml">
-        <fileset dir="web/html"/>
-        <fileset dir="web/jsp"/>
-        <classes dir="${class.output}" includes="${war.classes}"/>
-        <webinf dir="metadata">
-            <include name="**/web.xml"/>
-        </webinf>
-    </war>
-    <mkdir dir="${class.output}/META-INF"/>
-    <copy file="metadata/ejb-jar.xml" tofile="${class.output}/META-INF/ejb-jar.xml" failonerror="false"/>
-    <copy file="metadata/sun-ejb-jar.xml" tofile="${class.output}/META-INF/sun-ejb-jar.xml" failonerror="false"/>
-    <copy file="metadata/sun-cmp-mappings.xml" tofile="${class.output}/META-INF/sun-cmp-mappings.xml" failonerror="false"/>
-    <copy file="metadata/${dbschema}" tofile="${class.output}/${dbschema}" failonerror="false"/>
-    <jar destfile="${dist.dir}/${app.file}EJB.jar"
-        basedir="${class.output}"
-        excludes="**/*Servlet.class"/>
-    <ear destfile="${dist.dir}/${app.file.ext}" appxml="metadata/application.xml">
-        <fileset dir="${dist.dir}" includes="*.jar,*.war"/>
-    </ear>
-    <echo message="Packaged Archive at ${dist.dir}/${app.file.ext}"/>
-</target>
+    <target name="build-appclient-ear" depends="archive-type" if="archive.appclient_ear">
+        <delete dir="${class.output}" />
+        <delete dir="${dist.dir}" />
+        <delete file="${app.file.ext}" />
+        <mkdir dir="${class.output}" />
+        <mkdir dir="${dist.dir}" />
+        <javac debug="true" source="1.8" target="1.8" classpathref="class.path" srcdir="src/com" failonerror="false" destdir="${class.output}" />
+        <mkdir dir="${class.output}/META-INF" />
+        <copy file="metadata/sun-application-client.xml" tofile="${class.output}/META-INF/sun-application-client.xml" failonerror="false" />
+        <jar destfile="${dist.dir}/${app.file}-client.jar" basedir="${class.output}" includes="**/Client.class" manifest="./metadata/MANIFEST.MF">
+            <metainf dir="${class.output}/META-INF">
+                <include name="sun-application-client.xml" />
+            </metainf>
+        </jar>
+        <delete dir="${class.output}/META-INF" />
+        <jar destfile="${dist.dir}/${app.file}-ejb.jar" basedir="${class.output}" excludes="**/client/Client.*" />
+        <ear destfile="${dist.dir}/${app.file}App.ear" appxml="metadata/application.xml">
+            <fileset dir="${dist.dir}" includes="*.jar,*.war" />
+        </ear>
+        <echo message="Packaged Archive at ${dist.dir}/${app.file}App.ear" />
+    </target>
 
-<target name="build-appclient-ear" depends="archive-type" if="archive.appclient_ear">
-    <delete dir="${class.output}"/>
-    <delete dir="${dist.dir}"/>
-    <delete file="${app.file.ext}"/>
-    <mkdir dir="${class.output}"/>
-    <mkdir dir="${dist.dir}"/>
-    <javac   debug="true"
-    source="1.8"
-    target="1.8"
-    classpathref="class.path"
-    srcdir="src/com"
-    failonerror="false"
-    destdir="${class.output}"/>
-    <mkdir dir="${class.output}/META-INF"/>
-    <copy file="metadata/sun-application-client.xml" tofile="${class.output}/META-INF/sun-application-client.xml" failonerror="false"/>
-    <jar destfile="${dist.dir}/${app.file}-client.jar"
-        basedir="${class.output}" includes="**/Client.class" manifest="./metadata/MANIFEST.MF">
-      <metainf dir="${class.output}/META-INF">
-        <include name="sun-application-client.xml"/>
-      </metainf>
-    </jar>
-    <delete dir="${class.output}/META-INF"/>
-    <jar destfile="${dist.dir}/${app.file}-ejb.jar"
-        basedir="${class.output}"
-        excludes="**/client/Client.*"/>
-    <ear destfile="${dist.dir}/${app.file}App.ear" appxml="metadata/application.xml">
-        <fileset dir="${dist.dir}" includes="*.jar,*.war"/>
-    </ear>
-    <echo message="Packaged Archive at ${dist.dir}/${app.file}App.ear"/>
-</target>
-
-<target name="checkTestNGXML">
-<available file="testng.xml" property="testng.xml.present"/>
-</target>
+    <target name="checkTestNGXML">
+        <available file="testng.xml" property="testng.xml.present" />
+    </target>
 
 
-<target name="runtest-impl">
-    <antcall target="runtest-impl-class"/>
-    <antcall target="runtest-impl-xml"/>
-</target>
+    <target name="runtest-impl">
+        <antcall target="runtest-impl-class" />
+        <antcall target="runtest-impl-xml" />
+    </target>
 
-<target name="runtest-impl-class" depends="setOSConditions,asenv-unix,asenv-windows,checkTestNGXML" unless="testng.xml.present">
-    <echo message="=============Starting TestNG test at ${test.class.output}  ============"/>
+    <target name="runtest-impl-class" depends="setOSConditions,asenv-unix,asenv-windows,checkTestNGXML" unless="testng.xml.present">
+        <echo message="=============Starting TestNG test at ${test.class.output}  ============" />
 
-    <mkdir dir="${result.output}"/>
-    <testng outputdir="${result.output}" verbose="2"
-        suitename="${testsuite.name}" testname="${testng.test.name}" classpathref="run.testng.classpath">
-        <sysproperty key="glassfish.home" value="${glassfish.home}"/>
-        <sysproperty key="BASEDIR" value="${ws.root}"/>
-        <classfileset dir="${test.class.output}" includes="**/${testng.testclient}.class"/>
-        <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
-        <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
-        <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
-        <jvmarg value="-DASADMIN=${ASADMIN}" />
-    </testng>
-</target>
+        <mkdir dir="${result.output}" />
+        <testng outputdir="${result.output}" verbose="2" suitename="${testsuite.name}" testname="${testng.test.name}" classpathref="run.testng.classpath">
+            <sysproperty key="glassfish.home" value="${glassfish.home}" />
+            <sysproperty key="BASEDIR" value="${ws.root}" />
+            <classfileset dir="${test.class.output}" includes="**/${testng.testclient}.class" />
+            <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
+            <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
+            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
+            <jvmarg value="-DASADMIN=${ASADMIN}" />
+        </testng>
+    </target>
 
-<target name="runtest-impl-xml" depends="setOSConditions,asenv-unix,asenv-windows,checkTestNGXML" if="testng.xml.present">
-    <echo message="=============Starting TestNG test at ${test.class.output} from testng.xml  ============"/>
+    <target name="runtest-impl-xml" depends="setOSConditions,asenv-unix,asenv-windows,checkTestNGXML" if="testng.xml.present">
+        <echo message="=============Starting TestNG test at ${test.class.output} from testng.xml  ============" />
 
-    <mkdir dir="${result.output}"/>
-    <testng outputdir="${result.output}"
-        suitename="${testsuite.name}"
-        testname="${testng.test.name}"
-        classpathref="run.testng.classpath">
-        <xmlfileset dir="." includes="testng.xml"/>
-        <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
-        <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
-        <jvmarg value="-DASADMIN=${ASADMIN}" />
-        <jvmarg value="-DAPPCLIENT=${APPCLIENT}" />
-        <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
-    </testng>
-</target>
+        <mkdir dir="${result.output}" />
+        <testng outputdir="${result.output}" suitename="${testsuite.name}" testname="${testng.test.name}" classpathref="run.testng.classpath">
+            <xmlfileset dir="." includes="testng.xml" />
+            <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
+            <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
+            <jvmarg value="-DASADMIN=${ASADMIN}" />
+            <jvmarg value="-DAPPCLIENT=${APPCLIENT}" />
+            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
+        </testng>
+    </target>
 
-<!-- the following targets are for running the embedded tests -->
-<target name="runtest-embedded-class" depends="setOSConditions,asenv-unix,asenv-windows,checkTestNGXML" unless="testng.xml.present">
-    <echo message="=============Starting TestNG test at ${test.class.output}  ============"/>
-    <mkdir dir="${result.output}"/>
-    <testng outputdir="${result.output}" verbose="2"
-    suitename="${testsuite.name}"
-    testname="${testng.test.name}"
-            classpathref="embedded.testng.classpath">
-        <sysproperty key="glassfish.home" value="${glassfish.home}"/>
-        <sysproperty key="BASEDIR" value="${ws.root}"/>
-        <classfileset dir="${test.class.output}" includes="**/${testng.testclient}.class"/>
-        <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
-        <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
-        <jvmarg value="-DASADMIN=${ASADMIN}" />
-    </testng>
-</target>
+    <!-- the following targets are for running the embedded tests -->
+    <target name="runtest-embedded-class" depends="setOSConditions,asenv-unix,asenv-windows,checkTestNGXML" unless="testng.xml.present">
+        <echo message="=============Starting TestNG test at ${test.class.output}  ============" />
+        <mkdir dir="${result.output}" />
+        <testng outputdir="${result.output}" verbose="2" suitename="${testsuite.name}" testname="${testng.test.name}" classpathref="embedded.testng.classpath">
+            <sysproperty key="glassfish.home" value="${glassfish.home}" />
+            <sysproperty key="BASEDIR" value="${ws.root}" />
+            <classfileset dir="${test.class.output}" includes="**/${testng.testclient}.class" />
+            <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
+            <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
+            <jvmarg value="-DASADMIN=${ASADMIN}" />
+        </testng>
+    </target>
 
     <path id="embedded.testng.classpath">
         <fileset dir="${glassfish.home}/lib/embedded">
-            <include name="**/glassfish-embedded-static-shell.jar"/>
+            <include name="**/glassfish-embedded-static-shell.jar" />
         </fileset>
-        <pathelement location="${class.output}"/>
-        <pathelement location="${test.class.output}"/>
+        <pathelement location="${class.output}" />
+        <pathelement location="${test.class.output}" />
     </path>
 
 
-<!-- the following targets are for running the wsit tests -->
+    <!-- the following targets are for running the wsit tests -->
     <path id="wsit.classpath">
-        <pathelement location="${glassfish.home}/modules/jakarta.xml.bind-api.jar"/>
-        <pathelement location="${glassfish.home}/modules/jakarta.activation.jar"/>
-        <pathelement location="${glassfish.home}/modules/jakarta.mail.jar"/>
-        <pathelement location="${glassfish.home}/modules/jaxb-osgi.jar"/>
-        <pathelement location="${glassfish.home}/modules/webservices-api-osgi.jar"/>
-        <pathelement location="${glassfish.home}/modules/webservices-osgi.jar"/>
-        <pathelement location="${java.home}/../lib/tools.jar"/>
+        <pathelement location="${glassfish.home}/modules/jakarta.xml.bind-api.jar" />
+        <pathelement location="${glassfish.home}/modules/jakarta.activation-api.jar" />
+        <pathelement location="${glassfish.home}/modules/angus-activation.jar" />
+        <pathelement location="${glassfish.home}/modules/jakarta.mail-api.jar" />
+        <pathelement location="${glassfish.home}/modules/angus-mail.jar" />
+        <pathelement location="${glassfish.home}/modules/jaxb-osgi.jar" />
+        <pathelement location="${glassfish.home}/modules/webservices-api-osgi.jar" />
+        <pathelement location="${glassfish.home}/modules/webservices-osgi.jar" />
+        <pathelement location="${java.home}/../lib/tools.jar" />
     </path>
 
     <condition property="wsjar.available">
         <and>
-            <available file="${glassfish.home}/modules/webservices-api-osgi.jar"/>
-            <available file="${glassfish.home}/modules/webservices-osgi.jar"/>
-            <available file="${glassfish.home}/modules/jakarta.xml.bind-api.jar"/>
-            <available file="${glassfish.home}/modules/jaxb-osgi.jar"/>
+            <available file="${glassfish.home}/modules/webservices-api-osgi.jar" />
+            <available file="${glassfish.home}/modules/webservices-osgi.jar" />
+            <available file="${glassfish.home}/modules/jakarta.xml.bind-api.jar" />
+            <available file="${glassfish.home}/modules/jaxb-osgi.jar" />
         </and>
     </condition>
 
     <target name="declare-wsimport" if="wsjar.available">
-      <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
-         <classpath refid="wsit.classpath"/>
-      </taskdef>
+        <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
+            <classpath refid="wsit.classpath" />
+        </taskdef>
     </target>
 
     <target name="runwsittest-impl">
-        <antcall target="runwsittest-impl-class"/>
-        <antcall target="runwsittest-impl-xml"/>
+        <antcall target="runwsittest-impl-class" />
+        <antcall target="runwsittest-impl-xml" />
     </target>
 
     <target name="runwsittest-impl-class" depends="checkTestNGXML" unless="testng.xml.present">
-        <echo message="=============Starting TestNG test at ${test.class.output}  ============"/>
-        <mkdir dir="${result.output}"/>
-        <testng outputdir="${result.output}" verbose="2"
-        suitename="${testsuite.name}"
-        testname="${testng.test.name}"
-                classpathref="wsit.classpath" classpath="${build.classes.home}:${basedir}/etc">
-            <classfileset dir="${build.classes.home}" includes="**/${testng.testclient}.class"/>
+        <echo message="=============Starting TestNG test at ${test.class.output}  ============" />
+        <mkdir dir="${result.output}" />
+        <testng outputdir="${result.output}" verbose="2" suitename="${testsuite.name}" testname="${testng.test.name}" classpathref="wsit.classpath" classpath="${build.classes.home}:${basedir}/etc">
+            <classfileset dir="${build.classes.home}" includes="**/${testng.testclient}.class" />
             <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
             <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
-            <bootclasspath classpathref="boot.class.path"/>
+            <bootclasspath classpathref="boot.class.path" />
         </testng>
     </target>
 
     <target name="runwsittest-impl-xml" depends="checkTestNGXML" if="testng.xml.present">
-        <echo message="=============Starting TestNG test at ${test.class.output} from testng.xml  ============"/>
-        <mkdir dir="${result.output}"/>
-        <testng outputdir="${result.output}"
-        suitename="${testsuite.name}"
-        testname="${testng.test.name}"
-                classpathref="wsit.classpath" classpath="${build.classes.home}:${basedir}/etc">
-            <xmlfileset dir="." includes="testng.xml"/>
+        <echo message="=============Starting TestNG test at ${test.class.output} from testng.xml  ============" />
+        <mkdir dir="${result.output}" />
+        <testng outputdir="${result.output}" suitename="${testsuite.name}" testname="${testng.test.name}" classpathref="wsit.classpath" classpath="${build.classes.home}:${basedir}/etc">
+            <xmlfileset dir="." includes="testng.xml" />
             <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
             <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
-            <bootclasspath classpathref="boot.class.path"/>
+            <bootclasspath classpathref="boot.class.path" />
         </testng>
     </target>
 
diff --git a/appserver/tests/quicklook/jms/injection/pom.xml b/appserver/tests/quicklook/jms/injection/pom.xml
index 69c4620..2d3e196 100644
--- a/appserver/tests/quicklook/jms/injection/pom.xml
+++ b/appserver/tests/quicklook/jms/injection/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>injection_quicklook</artifactId>
     <name>Glassfish JMS Injection Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/pom.xml b/appserver/tests/quicklook/pom.xml
index 95189c3..2bc75d2 100644
--- a/appserver/tests/quicklook/pom.xml
+++ b/appserver/tests/quicklook/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -17,20 +18,24 @@
 
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.eclipse.ee4j</groupId>
         <artifactId>project</artifactId>
         <version>1.0</version>
         <relativePath/>
     </parent>
+
     <groupId>org.glassfish.quicklook</groupId>
     <artifactId>quicklook</artifactId>
-    <name>Glassfish Quicklook Bundle</name>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+
+    <name>Glassfish Quicklook Bundle</name>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
+
     <build>
         <plugins>
             <plugin>
@@ -42,13 +47,14 @@
                         <phase>test</phase>
                         <configuration>
                             <target>
-                                <taskdef resource="net/sf/antcontrib/antcontrib.properties"
-                                         classpathref="maven.plugin.classpath" />
+                                <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath" />
                                 <property name="compile_classpath" refid="maven.compile.classpath"/>
                                 <property name="plugin_classpath" refid="maven.plugin.classpath"/>
 
                                 <echo message="compile classpath: ${compile_classpath}"/>
                                 <echo message="plugin classpath:  ${plugin_classpath}"/>
+                                
+                                <!-- Full Profile -->
                                 <if>
                                     <equals arg1="${test.gd}" arg2="true" />
                                     <then>
@@ -57,8 +63,19 @@
                                         </ant>
                                     </then>
                                 </if>
+                                
+                                 <if>
+                                    <equals arg1="${test.gd.security}" arg2="true" />
+                                    <then>
+                                        <ant dir="." antfile="build.xml" target="all_gd_security">
+                                            <property name="glassfish.home" value="${glassfish.home}"/>
+                                        </ant>
+                                    </then>
+                                </if>
+                                
+                                <!-- Web Profile -->
                                 <if>
-                                    <equals arg1="${test.wd}" arg2="true" />
+                                    <equals arg1="${test.web.profile}" arg2="true" />
                                     <then>
                                         <ant dir="." antfile="build.xml" target="all_wd">
                                             <property name="glassfish.home" value="${glassfish.home}"/>
@@ -66,23 +83,7 @@
                                     </then>
                                 </if>
                                 <if>
-                                    <equals arg1="${test.em}" arg2="true" />
-                                    <then>
-                                        <ant dir="." antfile="build.xml" target="all_embedded">
-                                            <property name="glassfish.home" value="${glassfish.home}"/>
-                                        </ant>
-                                    </then>
-                                </if>
-                                <if>
-                                    <equals arg1="${test.ri}" arg2="true" />
-                                    <then>
-                                        <ant dir="." antfile="build.xml" target="all_ri">
-                                            <property name="glassfish.home" value="${glassfish.home}"/>
-                                        </ant>
-                                    </then>
-                                </if>
-                                <if>
-                                    <equals arg1="${test.wd.security}" arg2="true" />
+                                    <equals arg1="${test.web.profile.security}" arg2="true" />
                                     <then>
                                         <ant dir="." antfile="build.xml" target="all_wd_security">
                                             <property name="glassfish.home" value="${glassfish.home}"/>
@@ -105,10 +106,21 @@
                                         </ant>
                                     </then>
                                 </if>
+                               
+                                <!-- Other -->
                                 <if>
-                                    <equals arg1="${test.gd.security}" arg2="true" />
+                                    <equals arg1="${test.em}" arg2="true" />
                                     <then>
-                                        <ant dir="." antfile="build.xml" target="all_gd_security">
+                                        <ant dir="." antfile="build.xml" target="all_embedded">
+                                            <property name="glassfish.home" value="${glassfish.home}"/>
+                                        </ant>
+                                    </then>
+                                </if>
+                                
+                                <if>
+                                    <equals arg1="${test.ri}" arg2="true" />
+                                    <then>
+                                        <ant dir="." antfile="build.xml" target="all_ri">
                                             <property name="glassfish.home" value="${glassfish.home}"/>
                                         </ant>
                                     </then>
@@ -197,44 +209,36 @@
             </plugin>
         </plugins>
     </build>
+
     <profiles>
-        <profile>
-            <id>report</id>
-            <properties>
-                <test.report>test-output</test.report>
-            </properties>
-        </profile>
+        <!-- Full profile -->
         <profile>
             <id>all</id>
             <activation>
                 <activeByDefault>true</activeByDefault>
             </activation>
-            <properties>
+            <properties> 
                 <test.gd>true</test.gd>
             </properties>
         </profile>
         <profile>
+            <id>test_gd_security</id>
+            <properties>
+                <test.gd.security>true</test.gd.security>
+            </properties>
+        </profile>
+        
+        <!-- Web Profile -->
+        <profile>
             <id>test_wd</id>
             <properties>
-                <test.wd>true</test.wd>
+                <test.web.profile>true</test.web.profile>
             </properties>
         </profile>
-        <profile>
-            <id>test_em</id>
-            <properties>
-                <test.em>true</test.em>
-            </properties>
-        </profile>
-        <profile>
-            <id>test_ri</id>
-            <properties>
-                <test.ri>true</test.ri>
-            </properties>
-        </profile>
-        <profile>
+         <profile>
             <id>test_wd_security</id>
             <properties>
-                <test.wd.security>true</test.wd.security>
+                <test.web.profile.security>true</test.web.profile.security>
             </properties>
         </profile>
         <profile>
@@ -249,18 +253,32 @@
                 <stop.wd.security>true</stop.wd.security>
             </properties>
         </profile>
+        
+        <!-- Other -->
         <profile>
-            <id>test_gd_security</id>
+            <id>test_em</id>
             <properties>
-                <test.gd.security>true</test.gd.security>
+                <test.em>true</test.em>
             </properties>
         </profile>
         <profile>
+            <id>test_ri</id>
+            <properties>
+                <test.ri>true</test.ri>
+            </properties>
+        </profile>
+        
+        <profile>
             <id>dev_debug</id>
             <properties>
                 <test.debug>true</test.debug>
             </properties>
         </profile>
+         <profile>
+            <id>report</id>
+            <properties>
+                <test.report>test-output</test.report>
+            </properties>
+        </profile>
     </profiles>
 </project>
-
diff --git a/appserver/tests/quicklook/rest/build.xml b/appserver/tests/quicklook/rest/build.xml
index 039cd1d..64ca1c8 100644
--- a/appserver/tests/quicklook/rest/build.xml
+++ b/appserver/tests/quicklook/rest/build.xml
@@ -18,22 +18,22 @@
 -->
 
 <project name="adminconsole" default="default" basedir=".">
-    <property file="build.properties"/>
-    <property file="${ws.root}/gfproject/${deploy.platform}-config.properties"/>
+    <property file="build.properties" />
+    <property file="${ws.root}/gfproject/${deploy.platform}-config.properties" />
 
     <description>Tests the Admin Console</description>
-    <import file="${ws.root}/gfproject/build-impl.xml"/>
-    <import file="${ws.root}/gfproject/${deploy.platform}-targets.xml"/>
+    <import file="${ws.root}/gfproject/build-impl.xml" />
+    <import file="${ws.root}/gfproject/${deploy.platform}-targets.xml" />
 
-    <target name="all" depends="build,runtest"/>
+    <target name="all" depends="build,runtest" />
+    
     <target name="build">
-      <antcall target="compile-tests">
-      </antcall>
+        <antcall target="compile-tests"/>
     </target>
 
-    <target  name="runtest">
+    <target name="runtest">
         <antcall target="runtest-impl">
-          <param name="testng.test.name" value="${testng.test.name}"/>
+            <param name="testng.test.name" value="${testng.test.name}" />
         </antcall>
     </target>
 </project>
diff --git a/appserver/tests/quicklook/rest/pom.xml b/appserver/tests/quicklook/rest/pom.xml
index 8c97641..d5b78bf 100644
--- a/appserver/tests/quicklook/rest/pom.xml
+++ b/appserver/tests/quicklook/rest/pom.xml
@@ -21,7 +21,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.glassfish.quicklook</groupId>
     <artifactId>rest</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <name>REST API Quicklook Tests</name>
     <packaging>jar</packaging>
     <parent>
diff --git a/appserver/tests/quicklook/rest/src/test/admin/RestTests.java b/appserver/tests/quicklook/rest/src/test/admin/RestTests.java
index 59f96a6..2a367dc 100644
--- a/appserver/tests/quicklook/rest/src/test/admin/RestTests.java
+++ b/appserver/tests/quicklook/rest/src/test/admin/RestTests.java
@@ -22,18 +22,20 @@
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
-/** Supposed to have JDBC connection pool and resource tests.
+/**
+ * Supposed to have JDBC connection pool and resource tests.
  *
  * @author &#2325;&#2375;&#2342;&#2366;&#2352 (km@dev.java.net)
  * @since GlassFish v3 Prelude
  */
-@Test(groups = {"rest"}, description = "REST API Tests")
+@Test(groups = { "rest" }, description = "REST API Tests")
 public class RestTests {
 
     @Test
     public void testManagementEndpoint() {
         try {
-            HttpURLConnection connection = getConnection("http://localhost:4848/management/domain.xml");
+            HttpURLConnection connection = getConnection(
+                "http://localhost:4848/management/domain.xml");
             Assert.assertEquals(200, connection.getResponseCode());
         } catch (Exception e) {
             Assert.fail(e.getMessage());
@@ -43,7 +45,8 @@
     @Test
     public void testMonitoringEndpoint() {
         try {
-            HttpURLConnection connection = getConnection("http://localhost:4848/monitoring/domain.xml");
+            HttpURLConnection connection = getConnection(
+                "http://localhost:4848/monitoring/domain.xml");
             Assert.assertEquals(200, connection.getResponseCode());
         } catch (Exception e) {
             Assert.fail(e.getMessage());
@@ -53,7 +56,8 @@
     @Test
     public void testEndpointWithEncodedSlash() {
         try {
-            HttpURLConnection connection = getConnection("http://localhost:4848/management/domain/resources/jdbc-resource/jdbc%2F__TimerPool.xml");
+            HttpURLConnection connection = getConnection(
+                "http://localhost:4848/management/domain/resources/jdbc-resource/jdbc%2F__TimerPool.xml");
             Assert.assertEquals(200, connection.getResponseCode());
         } catch (Exception e) {
             Assert.fail(e.getMessage());
@@ -63,7 +67,8 @@
     @Test
     public void testAdminCommandEndpoint() {
         try {
-            HttpURLConnection connection = getConnection("http://localhost:4848/management/domain/version.xml");
+            HttpURLConnection connection = getConnection(
+                "http://localhost:4848/management/domain/version.xml");
             Assert.assertEquals(200, connection.getResponseCode());
         } catch (Exception e) {
             Assert.fail(e.getMessage());
@@ -73,7 +78,8 @@
     @Test
     public void testChildConfigBeanEndpoint() {
         try {
-            HttpURLConnection connection = getConnection("http://localhost:4848/management/domain/applications.xml");
+            HttpURLConnection connection = getConnection(
+                "http://localhost:4848/management/domain/applications.xml");
             Assert.assertEquals(200, connection.getResponseCode());
         } catch (Exception e) {
             Assert.fail(e.getMessage());
diff --git a/appserver/tests/quicklook/rest/testng.xml b/appserver/tests/quicklook/rest/testng.xml
index e83161f..1918b0e 100644
--- a/appserver/tests/quicklook/rest/testng.xml
+++ b/appserver/tests/quicklook/rest/testng.xml
@@ -18,19 +18,17 @@
 
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
 
-<suite name="QuickLookTests" verbose="2" >
-  <parameter name="admin.url" value="http://localhost:4848/__asadmin"/>
-  <parameter name="admin.user" value="admin"/>
-  <parameter name="admin.password" value=""/>
-  <parameter name="admin.console.url" value="http://localhost:4848/"/>
-  <parameter name="resources.xml.relative.path" value="admin/resources/resources.xml"/>
+<suite name="QuickLookTests" verbose="2">
+    <parameter name="admin.url" value="http://localhost:4848/__asadmin" />
+    <parameter name="admin.user" value="admin" />
+    <parameter name="admin.password" value="" />
+    <parameter name="admin.console.url" value="http://localhost:4848/" />
+    <parameter name="resources.xml.relative.path" value="admin/resources/resources.xml" />
 
-
-  <test name="rest_tests">
-    <classes>
-        <class name="test.admin.RestTests"/>
-    </classes>
-  </test>
-
+    <test name="rest_tests">
+        <classes>
+            <class name="test.admin.RestTests" />
+        </classes>
+    </test>
 </suite>
 
diff --git a/appserver/tests/quicklook/run_test.sh b/appserver/tests/quicklook/run_test.sh
index 1a0b1b2..782b8ad 100755
--- a/appserver/tests/quicklook/run_test.sh
+++ b/appserver/tests/quicklook/run_test.sh
@@ -17,8 +17,8 @@
 
 copy_ql_results(){
     if [[ ${1} = "ql_gf_web_profile_all" || ${1} = "ql_gf_full_profile_all" || "ql_gf_embedded_profile_all" = ${1} ]]; then
-        tar -cf ${WORKSPACE}/results/domainArchive.tar.gz ${WORKSPACE}/glassfish6/glassfish/domains
-        cp ${WORKSPACE}/glassfish6/glassfish/domains/domain1/logs/server.log* ${WORKSPACE}/results/ || true
+        tar -cf ${WORKSPACE}/results/domainArchive.tar.gz ${WORKSPACE}/glassfish7/glassfish/domains
+        cp ${WORKSPACE}/glassfish7/glassfish/domains/domain1/logs/server.log* ${WORKSPACE}/results/ || true
         cp -r ${WORKSPACE}/appserver/tests/quicklook/test-output/* ${WORKSPACE}/results/
         cp ${WORKSPACE}/appserver/tests/quicklook/test-output/TESTS-TestSuites.xml ${WORKSPACE}/results/junitreports/test_results_junit.xml
         cp ${WORKSPACE}/appserver/tests/quicklook/quicklook_summary.txt ${WORKSPACE}/results || true
diff --git a/appserver/tests/quicklook/testng/testng_full_profile.xml b/appserver/tests/quicklook/testng/testng_full_profile.xml
new file mode 100644
index 0000000..9f690d6
--- /dev/null
+++ b/appserver/tests/quicklook/testng/testng_full_profile.xml
@@ -0,0 +1,193 @@
+<!--
+
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
+
+<suite name="QuickLookTests" verbose="2">
+
+    <parameter name="admin.url" value="http://localhost:4848/__asadmin" />
+    <parameter name="admin.user" value="admin" />
+    <parameter name="admin.password" value="" />
+    <parameter name="admin.console.url" value="http://localhost:4848/" />
+    <parameter name="resources.xml.relative.path" value="admin/resources/resources.xml" />
+
+    <test name="admincli_tests">
+        <classes>
+            <class name="test.admincli.RestartDomainTests" />
+            <class name="test.admincli.ExistStatusTests" />
+        </classes>
+    </test>
+
+    <!-- AMX -->
+    <parameter name="amx.debug" value="true" />
+    <!-- AMX: port of the JMX RMI -->
+    <parameter name="amx.rmiport" value="8686" />
+
+    <!-- AMX -->
+    <test name="amx_tests">
+        <classes>
+            <class name="amxtest.AMXCoreTests" />
+            <class name="amxtest.AMXProxyTests" />
+            <class name="amxtest.AMXConfigProxyTests" />
+            <class name="amxtest.AMXOtherTests" />
+        </classes>
+    </test>
+
+    <!--  
+    <test name="adminconsole_tests">
+        <classes>
+            <class name="test.admin.AdminConsoleTests" />
+        </classes>
+    </test>
+    -->
+
+    <test name="rest_tests">
+        <classes>
+            <class name="test.admin.RestTests" />
+        </classes>
+    </test>
+
+    <test name="deploy_upload_test">
+        <classes>
+            <class name="test.web.jsp.hello.HelloJSPTestNG" />
+        </classes>
+    </test>
+
+    <test name="jsf_hello_world">
+        <classes>
+            <class name="test.jsf.astrologer.JSFWebTestNG" />
+        </classes>
+    </test>
+
+    <test name="jsf_injection">
+        <classes>
+            <class name="test.web.jsfinjection.JSFInjectionTestNG" />
+        </classes>
+    </test>
+
+    <test name="jdbc_user_tx">
+        <classes>
+            <class name="test.jdbc.jdbcusertx.JdbcUserTxTestNG" />
+        </classes>
+    </test>
+
+    <test name="jpa_inject_emf">
+        <classes>
+            <class name="test.jpa.jpainjectemf.JpaInjectEMFTestNG" />
+        </classes>
+    </test>
+
+    <test name="jpa_validation">
+        <classes>
+            <class
+                name="test.jpa.jpavalidation.JpaValidationTestNG" />
+        </classes>
+    </test>
+
+    <test name="security_hello_jsp">
+        <classes>
+            <class
+                name="test.security.hellojsp.HelloSecurityTestNG" />
+        </classes>
+    </test>
+
+    <test name="security_hello_basicauth">
+        <classes>
+            <class name="test.security.basicauth.BasicAuthTestNG" />
+        </classes>
+    </test>
+
+    <test name="security_app_permissions">
+        <classes>
+            <class name="test.security.appperms.ApppermsTestNG" />
+        </classes>
+    </test>
+    <test name="ejb_remoteview">
+        <classes>
+            <class name="test.ejb.remoteview.RemoteViewTestNG" />
+        </classes>
+    </test>
+
+    <test name="ejb_singleton_ear_redeploy">
+        <classes>
+            <class name="test.ejb.singleton.SingletonTestNG" />
+        </classes>
+    </test>
+
+    <test name="ejb_stateful_cmt_ni_war">
+        <classes>
+            <class name="test.ejb.slsbnicmt.SlsbnicmtTestNG" />
+            <class name="test.ejb.sfulnoi.SfulnoiTestNG" />
+        </classes>
+    </test>
+
+    <test name="ejb_cmp_ear">
+        <classes>
+            <class name="test.CmpRosterTestNG" />
+        </classes>
+    </test>
+
+    <!-- MDB tests parameters -->
+    <parameter name="MDB_APP_DIR" value="./dist/mdb/" />
+    <parameter name="BATCH_FILE1" value="ejb/mdb/create_resources.asadmin" />
+    <parameter name="BATCH_FILE2" value="ejb/mdb/delete_resources.asadmin" />
+    <test name="MDB_tests">
+        <classes>
+            <class name="test.mdb.MDBTests" />
+        </classes>
+    </test>
+
+    <test name="bv_servlet_simple">
+        <classes>
+            <class
+                name="test.bv.servlet.simple.SimpleBVServletTestNG" />
+        </classes>
+    </test>
+
+    <test name="weld_tests">
+        <classes>
+            <class name="test.web.numberguess.NumberGuessTestNG" />
+            <class name="test.weld.osgi.OsgiWeldTestNG" />
+            <class name="test.web.extensions.ExtensionsTestNG" />
+        </classes>
+    </test>
+
+    <test name="asadmin_tests">
+        <classes>
+            <class name="test.admin.JvmOptionTests" />
+            <class name="test.admin.JdbcConnectionPoolTests" />
+            <class name="test.admin.WebtierTests" />
+            <class name="test.admin.OsgiAsadminTest" />
+        </classes>
+    </test>
+<!-- Uncomment when/if fighterfish is reenabled
+    <test name="osgi_test">
+        <classes>
+            <class name="test.osgi.hello.HelloOSGITestNG" />
+        </classes>
+    </test>
+-->
+
+    <test name="jms_injection_jmsContext">
+        <classes>
+            <class name="test.jms.injection.ClientTestNG" />
+        </classes>
+    </test>
+</suite>
+
diff --git a/appserver/tests/quicklook/testng/testng_gd.xml b/appserver/tests/quicklook/testng/testng_gd.xml
deleted file mode 100644
index ca4089d..0000000
--- a/appserver/tests/quicklook/testng/testng_gd.xml
+++ /dev/null
@@ -1,190 +0,0 @@
-<!--
-
-    Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
-
-<suite name="QuickLookTests" verbose="2">
-
-    <parameter name="admin.url" value="http://localhost:4848/__asadmin" />
-    <parameter name="admin.user" value="admin" />
-    <parameter name="admin.password" value="" />
-    <parameter name="admin.console.url" value="http://localhost:4848/" />
-    <parameter name="resources.xml.relative.path" value="admin/resources/resources.xml" />
-
-    <test name="admincli_tests">
-        <classes>
-            <class name="test.admincli.RestartDomainTests" />
-            <class name="test.admincli.ExistStatusTests" />
-        </classes>
-    </test>
-
-    <!-- AMX -->
-    <parameter name="amx.debug" value="true" />
-    <!-- AMX: port of the JMX RMI -->
-    <parameter name="amx.rmiport" value="8686" />
-
-    <!-- AMX -->
-    <test name="amx_tests">
-        <classes>
-            <class name="amxtest.AMXCoreTests" />
-            <class name="amxtest.AMXProxyTests" />
-            <class name="amxtest.AMXConfigProxyTests" />
-            <class name="amxtest.AMXOtherTests" />
-        </classes>
-    </test>
-
-    <test name="adminconsole_tests">
-        <classes>
-            <class name="test.admin.AdminConsoleTests" />
-        </classes>
-    </test>
-
-    <test name="rest_tests">
-        <classes>
-            <class name="test.admin.RestTests" />
-        </classes>
-    </test>
-
-    <test name="deploy_upload_test">
-        <classes>
-            <class name="test.web.jsp.hello.HelloJSPTestNG" />
-        </classes>
-    </test>
-
-    <test name="jsf_hello_world">
-        <classes>
-            <class name="test.jsf.astrologer.JSFWebTestNG" />
-        </classes>
-    </test>
-
-    <test name="jsf_injection">
-        <classes>
-            <class name="test.web.jsfinjection.JSFInjectionTestNG" />
-        </classes>
-    </test>
-
-    <test name="jdbc_user_tx">
-        <classes>
-            <class name="test.jdbc.jdbcusertx.JdbcUserTxTestNG" />
-        </classes>
-    </test>
-
-    <test name="jpa_inject_emf">
-        <classes>
-            <class name="test.jpa.jpainjectemf.JpaInjectEMFTestNG" />
-        </classes>
-    </test>
-
-    <test name="jpa_validation">
-        <classes>
-            <class
-                name="test.jpa.jpavalidation.JpaValidationTestNG" />
-        </classes>
-    </test>
-
-    <test name="security_hello_jsp">
-        <classes>
-            <class
-                name="test.security.hellojsp.HelloSecurityTestNG" />
-        </classes>
-    </test>
-
-    <test name="security_hello_basicauth">
-        <classes>
-            <class name="test.security.basicauth.BasicAuthTestNG" />
-        </classes>
-    </test>
-
-    <test name="security_app_permissions">
-        <classes>
-            <class name="test.security.appperms.ApppermsTestNG" />
-        </classes>
-    </test>
-    <test name="ejb_remoteview">
-        <classes>
-            <class name="test.ejb.remoteview.RemoteViewTestNG" />
-        </classes>
-    </test>
-
-    <test name="ejb_singleton_ear_redeploy">
-        <classes>
-            <class name="test.ejb.singleton.SingletonTestNG" />
-        </classes>
-    </test>
-
-    <test name="ejb_stateful_cmt_ni_war">
-        <classes>
-            <class name="test.ejb.slsbnicmt.SlsbnicmtTestNG" />
-            <class name="test.ejb.sfulnoi.SfulnoiTestNG" />
-        </classes>
-    </test>
-
-    <test name="ejb_cmp_ear">
-        <classes>
-            <class name="test.CmpRosterTestNG" />
-        </classes>
-    </test>
-
-    <!-- MDB tests parameters -->
-    <parameter name="MDB_APP_DIR" value="./dist/mdb/" />
-    <parameter name="BATCH_FILE1" value="ejb/mdb/create_resources.asadmin" />
-    <parameter name="BATCH_FILE2" value="ejb/mdb/delete_resources.asadmin" />
-    <test name="MDB_tests">
-        <classes>
-            <class name="test.mdb.MDBTests" />
-        </classes>
-    </test>
-
-    <test name="bv_servlet_simple">
-        <classes>
-            <class
-                name="test.bv.servlet.simple.SimpleBVServletTestNG" />
-        </classes>
-    </test>
-
-    <test name="weld_tests">
-        <classes>
-            <class name="test.web.numberguess.NumberGuessTestNG" />
-            <class name="test.weld.osgi.OsgiWeldTestNG" />
-            <class name="test.web.extensions.ExtensionsTestNG" />
-        </classes>
-    </test>
-
-    <test name="asadmin_tests">
-        <classes>
-            <class name="test.admin.JvmOptionTests" />
-            <class name="test.admin.JdbcConnectionPoolTests" />
-            <class name="test.admin.WebtierTests" />
-            <class name="test.admin.OsgiAsadminTest" />
-        </classes>
-    </test>
-<!-- Uncomment when/if fighterfish is reenabled
-    <test name="osgi_test">
-        <classes>
-            <class name="test.osgi.hello.HelloOSGITestNG" />
-        </classes>
-    </test>
--->
-
-    <test name="jms_injection_jmsContext">
-        <classes>
-            <class name="test.jms.injection.ClientTestNG" />
-        </classes>
-    </test>
-</suite>
-
diff --git a/appserver/tests/quicklook/testng/testng_wd.xml b/appserver/tests/quicklook/testng/testng_wd.xml
deleted file mode 100644
index 6e9c067..0000000
--- a/appserver/tests/quicklook/testng/testng_wd.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<!--
-
-    Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
-
-<!--
-
-    Tests for "WD" (Web Distribution, aka Jakarta EE Web Profile)
-
- -->
-<suite name="QuickLookTests" verbose="2">
-
-    <parameter name="admin.url" value="http://localhost:4848/__asadmin" />
-    <parameter name="admin.user" value="admin" />
-    <parameter name="admin.password" value="" />
-    <parameter name="admin.console.url" value="http://localhost:4848/" />
-    <parameter name="resources.xml.relative.path" value="admin/resources/resources.xml" />
-
-    <test name="admincli_tests">
-        <classes>
-            <class name="test.admincli.RestartDomainTests" />
-            <class name="test.admincli.ExistStatusTests" />
-        </classes>
-    </test>
-
-    <!-- AMX -->
-    <parameter name="amx.debug" value="true" />
-    <!-- AMX: port of the JMX RMI -->
-    <parameter name="amx.rmiport" value="8686" />
-
-    <!-- AMX -->
-    <test name="amx_tests">
-        <classes>
-            <class name="amxtest.AMXCoreTests" />
-            <class name="amxtest.AMXProxyTests" />
-            <class name="amxtest.AMXConfigProxyTests" />
-            <class name="amxtest.AMXOtherTests" />
-        </classes>
-    </test>
-
-    <test name="adminconsole_tests">
-        <classes>
-            <class name="test.admin.AdminConsoleTests" />
-        </classes>
-    </test>
-
-    <test name="rest_tests">
-        <classes>
-            <class name="test.admin.RestTests" />
-        </classes>
-    </test>
-
-    <test name="deploy_upload_test">
-        <classes>
-            <class name="test.web.jsp.hello.HelloJSPTestNG" />
-        </classes>
-    </test>
-
-    <test name="jsf_hello_world">
-        <classes>
-            <class name="test.jsf.astrologer.JSFWebTestNG" />
-        </classes>
-    </test>
-
-    <test name="jsf_injection">
-        <classes>
-            <class name="test.web.jsfinjection.JSFInjectionTestNG" />
-        </classes>
-    </test>
-
-    <test name="jdbc_user_tx">
-        <classes>
-            <class name="test.jdbc.jdbcusertx.JdbcUserTxTestNG" />
-        </classes>
-    </test>
-
-    <test name="jpa_inject_emf">
-        <classes>
-            <class name="test.jpa.jpainjectemf.JpaInjectEMFTestNG" />
-        </classes>
-    </test>
-    <test name="jpa_validation">
-        <classes>
-            <class
-                name="test.jpa.jpavalidation.JpaValidationTestNG" />
-        </classes>
-    </test>
-
-    <test name="security_hello_jsp">
-        <classes>
-            <class
-                name="test.security.hellojsp.HelloSecurityTestNG" />
-        </classes>
-    </test>
-
-    <test name="security_hello_basicauth">
-        <classes>
-            <class name="test.security.basicauth.BasicAuthTestNG" />
-        </classes>
-    </test>
-
-    <test name="ejb_stateful_cmt_ni_war">
-        <classes>
-            <class name="test.ejb.slsbnicmt.SlsbnicmtTestNG" />
-            <class name="test.ejb.sfulnoi.SfulnoiTestNG" />
-        </classes>
-    </test>
-
-    <test name="bv_servlet_simple">
-        <classes>
-            <class
-                name="test.bv.servlet.simple.SimpleBVServletTestNG" />
-        </classes>
-    </test>
-
-    <test name="weld_tests">
-        <classes>
-            <class name="test.web.numberguess.NumberGuessTestNG" />
-            <class name="test.weld.osgi.OsgiWeldTestNG" />
-            <class name="test.web.extensions.ExtensionsTestNG" />
-        </classes>
-    </test>
-
-    <test name="asadmin_tests">
-        <classes>
-            <class name="test.admin.JvmOptionTests" />
-            <class name="test.admin.JdbcConnectionPoolTests" />
-            <class name="test.admin.WebtierTests" />
-            <class name="test.admin.OsgiAsadminTest" />
-        </classes>
-    </test>
-
-<!-- Uncomment when/if fighterfish is reenabled
-    <test name="osgi_test">
-        <classes>
-            <class name="test.osgi.hello.HelloOSGITestNG" />
-        </classes>
-    </test>
--->
-</suite>
-
diff --git a/appserver/tests/quicklook/testng/testng_web_profile.xml b/appserver/tests/quicklook/testng/testng_web_profile.xml
new file mode 100644
index 0000000..fba9d5b
--- /dev/null
+++ b/appserver/tests/quicklook/testng/testng_web_profile.xml
@@ -0,0 +1,158 @@
+<!--
+
+    Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
+
+<!--
+
+    Tests for "WD" (Web Distribution, aka Jakarta EE Web Profile)
+
+ -->
+<suite name="QuickLookTests" verbose="2">
+
+    <parameter name="admin.url" value="http://localhost:4848/__asadmin" />
+    <parameter name="admin.user" value="admin" />
+    <parameter name="admin.password" value="" />
+    <parameter name="admin.console.url" value="http://localhost:4848/" />
+    <parameter name="resources.xml.relative.path" value="admin/resources/resources.xml" />
+
+    <test name="admincli_tests">
+        <classes>
+            <class name="test.admincli.RestartDomainTests" />
+            <class name="test.admincli.ExistStatusTests" />
+        </classes>
+    </test>
+
+    <!-- AMX -->
+    <parameter name="amx.debug" value="true" />
+    <!-- AMX: port of the JMX RMI -->
+    <parameter name="amx.rmiport" value="8686" />
+
+    <!-- AMX -->
+    <test name="amx_tests">
+        <classes>
+            <class name="amxtest.AMXCoreTests" />
+            <class name="amxtest.AMXProxyTests" />
+            <class name="amxtest.AMXConfigProxyTests" />
+            <class name="amxtest.AMXOtherTests" />
+        </classes>
+    </test>
+
+    <!--  
+    <test name="adminconsole_tests">
+        <classes>
+            <class name="test.admin.AdminConsoleTests" />
+        </classes>
+    </test>
+    -->
+
+    <test name="rest_tests">
+        <classes>
+            <class name="test.admin.RestTests" />
+        </classes>
+    </test>
+
+    <test name="deploy_upload_test">
+        <classes>
+            <class name="test.web.jsp.hello.HelloJSPTestNG" />
+        </classes>
+    </test>
+
+    <test name="jsf_hello_world">
+        <classes>
+            <class name="test.jsf.astrologer.JSFWebTestNG" />
+        </classes>
+    </test>
+
+    <test name="jsf_injection">
+        <classes>
+            <class name="test.web.jsfinjection.JSFInjectionTestNG" />
+        </classes>
+    </test>
+
+    <test name="jdbc_user_tx">
+        <classes>
+            <class name="test.jdbc.jdbcusertx.JdbcUserTxTestNG" />
+        </classes>
+    </test>
+
+    <test name="jpa_inject_emf">
+        <classes>
+            <class name="test.jpa.jpainjectemf.JpaInjectEMFTestNG" />
+        </classes>
+    </test>
+    <test name="jpa_validation">
+        <classes>
+            <class
+                name="test.jpa.jpavalidation.JpaValidationTestNG" />
+        </classes>
+    </test>
+
+    <test name="security_hello_jsp">
+        <classes>
+            <class
+                name="test.security.hellojsp.HelloSecurityTestNG" />
+        </classes>
+    </test>
+
+    <test name="security_hello_basicauth">
+        <classes>
+            <class name="test.security.basicauth.BasicAuthTestNG" />
+        </classes>
+    </test>
+
+    <test name="ejb_stateful_cmt_ni_war">
+        <classes>
+            <class name="test.ejb.slsbnicmt.SlsbnicmtTestNG" />
+            <class name="test.ejb.sfulnoi.SfulnoiTestNG" />
+        </classes>
+    </test>
+
+    <test name="bv_servlet_simple">
+        <classes>
+            <class
+                name="test.bv.servlet.simple.SimpleBVServletTestNG" />
+        </classes>
+    </test>
+
+    <test name="weld_tests">
+        <classes>
+            <class name="test.web.numberguess.NumberGuessTestNG" />
+            <class name="test.weld.osgi.OsgiWeldTestNG" />
+            <class name="test.web.extensions.ExtensionsTestNG" />
+        </classes>
+    </test>
+
+    <test name="asadmin_tests">
+        <classes>
+            <class name="test.admin.JvmOptionTests" />
+            <class name="test.admin.JdbcConnectionPoolTests" />
+            <class name="test.admin.WebtierTests" />
+            <class name="test.admin.OsgiAsadminTest" />
+        </classes>
+    </test>
+
+<!-- Uncomment when/if fighterfish is reenabled
+    <test name="osgi_test">
+        <classes>
+            <class name="test.osgi.hello.HelloOSGITestNG" />
+        </classes>
+    </test>
+-->
+</suite>
+
diff --git a/appserver/tests/quicklook/web/jsfastrologer/metadata/faces-config.xml b/appserver/tests/quicklook/web/jsfastrologer/metadata/faces-config.xml
index cb9bb26..a82cc11 100644
--- a/appserver/tests/quicklook/web/jsfastrologer/metadata/faces-config.xml
+++ b/appserver/tests/quicklook/web/jsfastrologer/metadata/faces-config.xml
@@ -1,6 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -24,23 +25,14 @@
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config>
- <navigation-rule>
+    <navigation-rule>
         <description>
             handle user input
         </description>
-        <from-view-id>/greetings.jsp</from-view-id>
+        <from-view-id>/greetings.xhtml</from-view-id>
         <navigation-case>
             <from-outcome>submit</from-outcome>
-            <to-view-id>/success.jsp</to-view-id>
+            <to-view-id>/success.xhtml</to-view-id>
         </navigation-case>
     </navigation-rule>
-    <managed-bean>
-        <description>
-            Managed User Bean
-        </description>
-        <managed-bean-name>UserBean</managed-bean-name>
-        <managed-bean-class>web.jsf.bean.UserBean</managed-bean-class>
-        <managed-bean-scope>request</managed-bean-scope>
-    </managed-bean>
-
 </faces-config>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/metadata/web.xml b/appserver/tests/quicklook/web/jsfastrologer/metadata/web.xml
index e7a78ee..c5346e4 100644
--- a/appserver/tests/quicklook/web/jsfastrologer/metadata/web.xml
+++ b/appserver/tests/quicklook/web/jsfastrologer/metadata/web.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -17,39 +18,29 @@
 
 -->
 
-<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
-    <context-param>
-        <param-name>com.sun.faces.verifyObjects</param-name>
-        <param-value>false</param-value>
-    </context-param>
-    <context-param>
-        <param-name>com.sun.faces.validateXml</param-name>
-        <param-value>false</param-value>
-    </context-param>
-    <context-param>
-        <param-name>jakarta.faces.STATE_SAVING_METHOD</param-name>
-        <param-value>client</param-value>
-    </context-param>
+<web-app
+    xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+    version="5.0"
+>
+    
     <servlet>
         <servlet-name>Faces Servlet</servlet-name>
         <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
-        </servlet>
+    </servlet>
     <servlet-mapping>
         <servlet-name>Faces Servlet</servlet-name>
-        <url-pattern>/faces/*</url-pattern>
+        <url-pattern>*.xhtml</url-pattern>
     </servlet-mapping>
+    
     <session-config>
-        <session-timeout>
-            30
-        </session-timeout>
+        <session-timeout>30</session-timeout>
     </session-config>
     <welcome-file-list>
-    <welcome-file>
-            index.jsp
-        </welcome-file>
         <welcome-file>
-            index.jsp
+            index.xhrml
         </welcome-file>
     </welcome-file-list>
 </web-app>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/src/java/web/jsf/bean/UserBean.java b/appserver/tests/quicklook/web/jsfastrologer/src/java/web/jsf/bean/UserBean.java
index 9640558..549a5e4 100644
--- a/appserver/tests/quicklook/web/jsfastrologer/src/java/web/jsf/bean/UserBean.java
+++ b/appserver/tests/quicklook/web/jsfastrologer/src/java/web/jsf/bean/UserBean.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -19,21 +20,20 @@
  *
  * Created on December 4, 2007, 1:32 PM
  *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
  */
 
 package web.jsf.bean;
 
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Named;
+
+@RequestScoped
+@Named
 public class UserBean {
 
     private String name;
     private String birthday;
 
-    /** Creates a new instance of UserBean */
-    public UserBean() {
-    }
-
     public String getName() {
         return name;
     }
diff --git a/appserver/tests/quicklook/web/jsfastrologer/src/test/JSFWebTestNG.java b/appserver/tests/quicklook/web/jsfastrologer/src/test/JSFWebTestNG.java
index e2778c3..a20a198 100644
--- a/appserver/tests/quicklook/web/jsfastrologer/src/test/JSFWebTestNG.java
+++ b/appserver/tests/quicklook/web/jsfastrologer/src/test/JSFWebTestNG.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -31,113 +32,83 @@
 import java.net.*;
 import java.util.*;
 
-
 public class JSFWebTestNG {
 
-    private static final String TEST_NAME =
-        "jsf-webapp";
+    private static final String TEST_NAME = "jsf-webapp";
+    private static final String EXPECTED_RESPONSE = "JSP Page Test";
 
-    private static final String EXPECTED_RESPONSE =
-        "JSP Page Test";
-
-    private String strContextRoot="jsfastrologer";
-
+    private String strContextRoot = "jsfastrologer";
     static String result = "";
-    String m_host="";
-    String m_port="";
-    //HttpClient httpclient = new HttpClient();
+    String m_host = "";
+    String m_port = "";
 
-    //@Parameters({"host","port"})
     @BeforeMethod
-    public void beforeTest(){
-        m_host=System.getProperty("http.host");
-        m_port=System.getProperty("http.port");
+    public void beforeTest() {
+        m_host = System.getProperty("http.host");
+        m_port = System.getProperty("http.port");
     }
 
     /*
-     *If tw
-     o asserts are mentioned in one method, then last assert is taken in
-     *to account.
-     *Each method can act as one test within one test suite
+     * If two asserts are mentioned in one method, then last assert is taken in to account. Each method can act as one test
+     * within one test suite
      */
 
+    @Test(groups = { "pulse" }) // test method
+    public void jsfAppDeployedFirstPagetest() throws Exception {
+        try {
 
-    @Test(groups ={ "pulse"} ) // test method
-    //public void webtest(String host, String port, String contextroot) throws Exception{
-    public void jsfAppDeployedFirstPagetest() throws Exception{
+            HttpURLConnection connection = (HttpURLConnection) 
+                new URL("http://" + m_host + ":" + m_port + "/" + strContextRoot + "/greetings.xhtml").openConnection();
+            connection.connect();
+            int responseCode = connection.getResponseCode();
 
-        try{
-        //System.out.println("Running TestMethod webtest");
+            BufferedReader input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
 
-        String testurl = "http://" + m_host  + ":" + m_port + "/"+ strContextRoot + "/faces/greetings.jsp";
-        //System.out.println("URL is: "+testurl);
-        URL url = new URL(testurl);
-        //echo("Connecting to: " + url.toString());
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.connect();
-        int responseCode = conn.getResponseCode();
+            String line = null;
+            boolean result = false;
+            String testLine = null;
+            while ((line = input.readLine()) != null) {
+                if (line.indexOf("Welcome to jAstrologer") != -1) {
+                    result = true;
+                    testLine = line;
 
-
-        InputStream is = conn.getInputStream();
-        BufferedReader input = new BufferedReader(new InputStreamReader(is));
-
-        String line = null;
-        boolean result=false;
-        String testLine = null;
-        while ((line = input.readLine()) != null) {
-            if(line.indexOf("Welcome to jAstrologer")!=-1){
-                result=true;
-                testLine = line;
+                }
 
             }
 
-        }
+            Assert.assertEquals(result, true, "Unexpected HTML");
 
-        Assert.assertEquals(result, true,"Unexpected HTML");
-
-
-        }catch(Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             throw new Exception(e);
         }
 
     }
 
+    @Test(groups = { "pulse" }) // test method
+    public void jsfIndexPageBasicTest() throws Exception {
+        try {
 
-    @Test(groups ={ "pulse"} ) // test method
-    public void jsfIndexPageBasicTest() throws Exception{
-         try{
+            HttpURLConnection conn = (HttpURLConnection) 
+                new URL("http://" + m_host + ":" + m_port + "/" + strContextRoot + "/index.xhtml").openConnection();
+            conn.connect();
+            int responseCode = conn.getResponseCode();
+            BufferedReader input = new BufferedReader(new InputStreamReader(conn.getInputStream()));
 
-             //System.out.println("Running TestMethod SimpleHTMLTest");
+            String line = null;
+            boolean result = false;
+            String testLine = null;
+            while ((line = input.readLine()) != null) {
+                if (line.indexOf("Jakarta Faces Greetings Page") != -1) {
+                    result = true;
+                    testLine = line;
+                }
 
-
-        String testurl = "http://" + m_host  + ":" + m_port + "/"+ strContextRoot + "/index.jsp";
-        //System.out.println("URL is: "+testurl);
-        URL url = new URL(testurl);
-        //echo("Connecting to: " + url.toString());
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.connect();
-        int responseCode = conn.getResponseCode();
-
-
-        InputStream is = conn.getInputStream();
-        BufferedReader input = new BufferedReader(new InputStreamReader(is));
-
-        String line = null;
-        boolean result=false;
-        String testLine = null;
-        while ((line = input.readLine()) != null) {
-            if(line.indexOf("JavaServer Faces Greetings Page")!=-1){
-                result=true;
-             testLine = line;
-           //System.out.println(testLine);
             }
 
-        }
+            Assert.assertEquals(result, true);
 
-        Assert.assertEquals(result, true);
-
-        }catch(Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             throw new Exception(e);
         }
@@ -148,51 +119,4 @@
         System.out.println(msg);
     }
 
-
-/*
-    @Test(groups={"pulse"})
-    public void testRequestResponse() throws Exception{
-        try{
-            //System.out.println("Running method testRequestResponse");
-            String testurl = "http://" + m_host  + ":" + m_port +
-                    "/"+ strContextRoot + "/index.jsp";
-            String name="testuser";
-            String birthday="121212";
-            //System.out.println("URL is: "+testurl);
-            GetMethod httpget=null;
-            PostMethod post=null;
-            httpget = new GetMethod(testurl);
-            post=new PostMethod("http://localhost:8080/jsfastrologer/faces/greetings.jsp");
-
-
-            NameValuePair[] mydata = {
-                // new NameValuePair("loginID", itUser),
-                // new NameValuePair("password", itPwd), Not working for editing of bug
-
-                new NameValuePair("name",name),
-                new NameValuePair("birthday",birthday)
-            };
-
-            post.setRequestBody(mydata);
-            int statusCode = httpclient.executeMethod(post);
-            //System.out.println("print status ok "+statusCode);
-             Assert.assertEquals(statusCode, 200);
-
-            if (statusCode != HttpStatus.SC_OK) {
-                System.err.println("Method failed: " + post.getStatusLine());
-            }
-            post.getStatusLine();
-
-        String response=post.getResponseBodyAsString();
-        //System.out.println(response);
-
-
-        }catch(Exception e){
-            e.printStackTrace();
-            throw new Exception(e);
-        }
-
-    }
-*/
-
 }
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/html/first.html b/appserver/tests/quicklook/web/jsfastrologer/web/html/first.html
index b7a1f5b..ae99d57 100644
--- a/appserver/tests/quicklook/web/jsfastrologer/web/html/first.html
+++ b/appserver/tests/quicklook/web/jsfastrologer/web/html/first.html
@@ -1,8 +1,9 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
-  <head>
+<head>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -19,16 +20,15 @@
 
 -->
 
-    <title></title>
-  </head>
-  <body>
-  Welcome to HTML Test Program. This tests following thing
-  <ol>
-      <li>TestNG</li>
-      <li>build.xml</li>
-      <li>V2 & V3</li>
-      <li>New Framework</li>
-  </ol>
-
-  </body>
+<title></title>
+</head>
+    <body>
+        Welcome to HTML Test Program. This tests following thing
+        <ol>
+            <li>TestNG</li>
+            <li>build.xml</li>
+            <li>V2 & V3 & V4 & V5 & V6 & V7</li>
+            <li>New Framework</li>
+        </ol>
+    </body>
 </html>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/greetings.jsp b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/greetings.jsp
deleted file mode 100644
index 9c9a29c..0000000
--- a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/greetings.jsp
+++ /dev/null
@@ -1,55 +0,0 @@
-<%--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
---%>
-
-<%@page contentType="text/html"%>
-<%@page pageEncoding="UTF-8"%>
-<%--
-The taglib directive below imports the JSTL library. If you uncomment it,
-you must also add the JSTL library to the project. The Add Library... action
-on Libraries node in Projects view can be used to add the JSTL 1.1 library.
---%>
-
-<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
-<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
-<%--
-<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
-
---%>
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <title>Greetings-JSF Test</title>
-    </head>
-    <body>
-        
-        <h1>Welcome to jAstrologer</h1>
-        
-        
-        <f:view>
-            <h:form>
-                <p>Enter your name: <h:inputText value="#{UserBean.name}"/></p>
-                <p>Enter your birthday: <h:inputText value="#{UserBean.birthday}"/></p>
-                <h:commandButton value="Submit" action="submit" />
-            </h:form>
-        </f:view>
-        
-    </body>
-</html>
-    
-    
-    
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/greetings.xhtml b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/greetings.xhtml
new file mode 100644
index 0000000..70ecea5
--- /dev/null
+++ b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/greetings.xhtml
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!--
+
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<html xmlns:h="jakarta.faces.html">
+    <h:head>
+        <title>Greetings-JSF Test</title>
+    </h:head>
+    <h:body>
+        <h1>Welcome to jAstrologer</h1>
+        
+        <h:form>
+                <p>Enter your name: <h:inputText value="#{userBean.name}"/></p>
+                <p>Enter your birthday: <h:inputText value="#{userBean.birthday}"/></p>
+                <h:commandButton value="Submit" action="submit" />
+            </h:form>
+    </h:body>
+</html>
+    
+    
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/index.jsp b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/index.jsp
deleted file mode 100644
index ce6c419..0000000
--- a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/index.jsp
+++ /dev/null
@@ -1,59 +0,0 @@
-<%--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
---%>
-
-<%@page contentType="text/html"%>
-<%@page pageEncoding="UTF-8"%>
-<%--
-The taglib directive below imports the JSTL library. If you uncomment it,
-you must also add the JSTL library to the project. The Add Library... action
-on Libraries node in Projects view can be used to add the JSTL 1.1 library.
---%>
-<%--
-<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
---%>
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-   "http://www.w3.org/TR/html4/loose.dtd">
-
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <title>JSP Page</title>
-    </head>
-    <body>
-
-    <h1>JSP Page</h1>
-    <br/>    
-    <a href="./faces/greetings.jsp">JavaServer Faces Greetings Page</a>
-    <br/>
-    <p>There should be a form after clicking on above link</p>
-    
-    
-    <%--
-    This example uses JSTL, uncomment the taglib directive above.
-    To test, display the page like this: index.jsp?sayHello=true&name=Murphy
-    --%>
-    <%--
-    <c:if test="${param.sayHello}">
-        <!-- Let's welcome the user ${param.name} -->
-        Hello ${param.name}!
-    </c:if>
-    --%>
-    
-    </body>
-</html>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/index.xhtml b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/index.xhtml
new file mode 100644
index 0000000..5074bc9
--- /dev/null
+++ b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/index.xhtml
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!--
+
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<html xmlns:h="jakarta.faces.html">
+	<h:head>
+		<title>Faces Page</title>
+	</h:head>
+	<h:body>
+		<h1>JSP Page</h1>
+		
+		<br />
+		<a href="./greetings.xhtml">Jakarta Faces Greetings Page</a>
+		<br />
+		
+		<p>There should be a form after clicking on above link</p>
+	</h:body>
+</html>
+
+
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/success.jsp b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/success.jsp
deleted file mode 100644
index 88a06d9..0000000
--- a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/success.jsp
+++ /dev/null
@@ -1,56 +0,0 @@
-<%--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
---%>
-
-<%@page contentType="text/html"%>
-<%@page pageEncoding="UTF-8"%>
-<%--
-The taglib directive below imports the JSTL library. If you uncomment it,
-you must also add the JSTL library to the project. The Add Library... action
-on Libraries node in Projects view can be used to add the JSTL 1.1 library.
---%>
-<%--
-<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
---%>
-
-<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
-<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-   "http://www.w3.org/TR/html4/loose.dtd">
-
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <title>Congratulations-JSF Test</title>
-    </head>
-    <body>
-
-    <h1>Congratulations-Success</h1>
-    <f:view>
-        <h:form>
-            <p>You've successfully registered with jAstrologer</p>
-            <p>Your name is ;should display here through JSF Tag--<h:outputText value="#{UserBean.name}"/></p>
-            <p>Your birthday is;should display here through JSF Tag--<h:outputText value="#{UserBean.birthday}"/></p>
-        </h:form>
-    </f:view>
-    
-    <p>You've successfully registered with jAstrologer.</p>
-    
-        
-    </body>
-</html>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/success.xhtml b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/success.xhtml
new file mode 100644
index 0000000..7e1a4d8
--- /dev/null
+++ b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/success.xhtml
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<!--
+
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<html xmlns:h="jakarta.faces.html">
+    <h:head>
+        <title>Congratulations-JSF Test</title>
+    </h:head>
+    
+    <h:body>
+        <h1>Congratulations-Success</h1>
+        
+        <h:form>
+            <p>You've successfully registered with jAstrologer</p>
+            <p>Your name is ;should display here through Faces Tag--<h:outputText value="#{userBean.name}"/></p>
+            <p>Your birthday is;should display here through Faces Tag--<h:outputText value="#{userBean.birthday}"/></p>
+        </h:form>
+    
+        <p>You've successfully registered with jAstrologer.</p>
+    
+    </h:body>
+</html>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeJSF.jsp b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeJSF.jsp
deleted file mode 100644
index d649a2c..0000000
--- a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeJSF.jsp
+++ /dev/null
@@ -1,38 +0,0 @@
-<%--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
---%>
-
-<%@page contentType="text/html"%>
-<%@page pageEncoding="UTF-8"%>
-
-<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
-<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-   "http://www.w3.org/TR/html4/loose.dtd">
-
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <title>JSP Page</title>
-    </head>
-    <body>
-        <f:view>
-            <h1><h:outputText value="JavaServer Faces"/></h1>
-        </f:view>
-    </body>
-</html>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeJSF.xhtml b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeJSF.xhtml
new file mode 100644
index 0000000..e8fa45f
--- /dev/null
+++ b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeJSF.xhtml
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<!--
+
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<html xmlns:h="jakarta.faces.html">
+    <h:head>
+        <title>Faces Page</title>
+    </h:head>
+    
+    <h:body>
+        <h1>Congratulations-Success</h1>
+        
+        <h1><h:outputText value="JavaServer Faces"/></h1>
+    
+    </h:body>
+</html>
diff --git a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeStruts.jsp b/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeStruts.jsp
deleted file mode 100644
index 31fd022..0000000
--- a/appserver/tests/quicklook/web/jsfastrologer/web/jsp/welcomeStruts.jsp
+++ /dev/null
@@ -1,41 +0,0 @@
-<%--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
---%>
-
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
-
-<html:html locale="true">
-<head>
-<title><bean:message key="welcome.title"/></title>
-<html:base/>
-</head>
-<body bgcolor="white">
-
-<logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application">
-  <font color="red">
-    ERROR:  Application resources not loaded -- check servlet container
-    logs for error messages.
-  </font>
-</logic:notPresent>
-
-<h3><bean:message key="welcome.heading"/></h3>
-<p><bean:message key="welcome.message"/></p>
-
-</body>
-</html:html>
diff --git a/appserver/tests/quicklook/web/jsfinjection/metadata/faces-config.xml b/appserver/tests/quicklook/web/jsfinjection/metadata/faces-config.xml
deleted file mode 100644
index d70ecd8..0000000
--- a/appserver/tests/quicklook/web/jsfinjection/metadata/faces-config.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
-    version="1.2">
-
-  <managed-bean>
-    <managed-bean-name>bean</managed-bean-name>
-    <managed-bean-class>jsfinjection.TestBean</managed-bean-class>
-    <managed-bean-scope>request</managed-bean-scope>
-  </managed-bean>
-
-</faces-config>
diff --git a/appserver/tests/quicklook/web/jsfinjection/metadata/web.xml b/appserver/tests/quicklook/web/jsfinjection/metadata/web.xml
index 0275b4c..b2de571 100644
--- a/appserver/tests/quicklook/web/jsfinjection/metadata/web.xml
+++ b/appserver/tests/quicklook/web/jsfinjection/metadata/web.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -17,15 +18,15 @@
 
 -->
 
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-    version="2.5">
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+    version="5.0">
+    
     <filter>
         <filter-name>FilterTest</filter-name>
         <filter-class>jsfinjection.FilterTest</filter-class>
     </filter>
-
     <filter-mapping>
         <filter-name>FilterTest</filter-name>
         <url-pattern>/jsfHello.jsf</url-pattern>
@@ -42,22 +43,13 @@
     </servlet>
     <servlet-mapping>
         <servlet-name>Faces Servlet</servlet-name>
-        <url-pattern>*.jsf</url-pattern>
+        <url-pattern>*.xhtml</url-pattern>
     </servlet-mapping>
 
-  <env-entry>
-    <env-entry-name>entry</env-entry-name>
-    <env-entry-type>java.lang.String</env-entry-type>
-    <env-entry-value>Injected entry</env-entry-value>
-  </env-entry>
-
-  <jsp-config>
-    <jsp-property-group>
-      <url-pattern>/jetty.jsp</url-pattern>
-      <page-encoding>UTF-8</page-encoding>
-      <include-prelude>/jinclude.jsp</include-prelude>
-    </jsp-property-group>
-  </jsp-config>
-
+    <env-entry>
+        <env-entry-name>entry</env-entry-name>
+        <env-entry-type>java.lang.String</env-entry-type>
+        <env-entry-value>Injected entry</env-entry-value>
+    </env-entry>
 
 </web-app>
diff --git a/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java b/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java
index 0e80129..f2d4f08 100644
--- a/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java
+++ b/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,10 +23,10 @@
 import javax.sql.DataSource;
 import javax.naming.*;
 
-public class FilterTest implements Filter{
+public class FilterTest implements Filter {
 
     private ServletContext context;
-    private @Resource(name="jdbc/__default") DataSource ds;
+    private @Resource(name = "jdbc/__default") DataSource ds;
 //    private DataSource ds;
 
     public void destroy() {
@@ -36,19 +37,11 @@
         System.out.println("[Filter.doFilter]");
 
         String msg = "PASS";
-/*
-        try {
-            InitialContext ic = new InitialContext();
-            ic.lookup("jdbc/__default");
-            msg += "=:iclookup";
-            System.out.println("XXX ic lookup DONE");
-        } catch(Exception ex) {
-        }
-*/
+        
         if (ds != null) {
             try {
                 msg = "PASS-:" + ds.getLoginTimeout();
-            } catch(Throwable ex) {
+            } catch (Throwable ex) {
                 msg = "FAIL-:" + ex.toString();
             }
         } else {
@@ -56,12 +49,11 @@
         }
         System.out.println("[Filter.doFilter.msg = " + msg + "]");
 
-        ((HttpServletRequest)request).getSession().setAttribute("FILTER", msg);
+        ((HttpServletRequest) request).getSession().setAttribute("FILTER", msg);
         filterChain.doFilter(request, response);
 
     }
 
-
     public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
diff --git a/appserver/tests/quicklook/web/jsfinjection/src/java/TestBean.java b/appserver/tests/quicklook/web/jsfinjection/src/java/TestBean.java
index 76fd970..2893259 100644
--- a/appserver/tests/quicklook/web/jsfinjection/src/java/TestBean.java
+++ b/appserver/tests/quicklook/web/jsfinjection/src/java/TestBean.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,38 +16,45 @@
  */
 
 package jsfinjection;
+
+import jakarta.enterprise.context.RequestScoped;
 import jakarta.annotation.*;
 import javax.sql.DataSource;
+import jakarta.inject.Named;
 
+@RequestScoped
+@Named
 public class TestBean {
 
-    @Resource(name="entry")
+    @Resource(name = "entry")
     private String entry;
 
-    @Resource(name="jdbc/__default")
+    @Resource(name = "jdbc/__default")
     private DataSource ds;
+    
+    private boolean initCalled;
+    
+    @PostConstruct
+    void init() {
+        initCalled = true;
+    }
 
     public String getEntry() {
         return entry;
     }
 
     public int getNumber() {
-        int tout = -3000;
+        int number = -3000;
         if (ds != null) {
             try {
-                tout = ds.getLoginTimeout();
-            } catch(Exception ex) {
+                number = ds.getLoginTimeout();
+            } catch (Exception ex) {
                 ex.printStackTrace();
-                tout = -1000;
+                number = -1000;
             }
         }
-        return tout;
-    }
-
-    private boolean initCalled;
-
-    @PostConstruct void init() {
-        initCalled = true;
+        
+        return number;
     }
 
     public boolean getInit() {
diff --git a/appserver/tests/quicklook/web/jsfinjection/src/test/JSFInjectionTestNG.java b/appserver/tests/quicklook/web/jsfinjection/src/test/JSFInjectionTestNG.java
index 287074e..0b2d3ae 100644
--- a/appserver/tests/quicklook/web/jsfinjection/src/test/JSFInjectionTestNG.java
+++ b/appserver/tests/quicklook/web/jsfinjection/src/test/JSFInjectionTestNG.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,6 +16,7 @@
  */
 
 package test.web.jsfinjection;
+
 import org.testng.annotations.Configuration;
 import org.testng.annotations.ExpectedExceptions;
 import org.testng.annotations.Test;
@@ -26,125 +28,113 @@
 import java.util.*;
 
 /**
- * Simple TestNG client for basic WAR containing JSF page with injectited values.
- * Client checks for two values: injected string and injected number.
- * If both values are as expected test passes.
+ * Simple TestNG client for basic WAR containing JSF page with injectited values. Client checks for two values: injected
+ * string and injected number. If both values are as expected test passes.
  */
 public class JSFInjectionTestNG {
 
-    private static final String TEST_NAME =
-        "simple-webapp-jsf-injection";
+    private static final String TEST_NAME = "simple-webapp-jsf-injection";
 
-    private String strContextRoot="jsfinjection";
+    private String strContextRoot = "jsfinjection";
 
     static String result = "";
-    String host=System.getProperty("http.host");
-    String port=System.getProperty("http.port");
+    String host = System.getProperty("http.host");
+    String port = System.getProperty("http.port");
 
     /*
-     *If two asserts are mentioned in one method, then last assert is taken in
-     *to account.
-     *Each method can act as one test within one test suite
+     * If two asserts are mentioned in one method, then last assert is taken in to account. Each method can act as one test
+     * within one test suite
      */
-
-
-    //@Parameters({ "host", "port", "contextroot" })
-    @Test(groups ={ "pulse"} ) // test method
+    @Test(groups = { "pulse" }) // test method
     public void injectedValuesTestPage() throws Exception {
+        try {
 
-      try {
+            String errorText = "";
+            boolean testPass = false;
 
-        String errorText = "";
-        boolean testPass = false;
+            String testUrl = "http://" + host + ":" + port + "/" + strContextRoot + "/jsfHello.xhtml";
+            URL url = new URL(testUrl);
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+            conn.connect();
+            int responseCode = conn.getResponseCode();
+            if (responseCode != 200) {
+                errorText = errorText + "ERROR: http response code is " + responseCode + ".\n";
+            }
 
-        String testUrl = "http://" + host  + ":" + port + "/"+ strContextRoot + "/jsfHello.jsf";
-        //echo("URL is: " + testUrl);
-        URL url = new URL(testUrl);
-        //echo("Connecting to: " + url.toString());
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.connect();
-        int responseCode = conn.getResponseCode();
-        if ( responseCode != 200 ) {
-          //echo("ERROR: http response code is " + responseCode);
-          errorText = errorText + "ERROR: http response code is " + responseCode + ".\n";
-        } else {
-          //echo("Connected: " + responseCode);
-        }
+            InputStream is = conn.getInputStream();
+            BufferedReader input = new BufferedReader(new InputStreamReader(is));
 
-        InputStream is = conn.getInputStream();
-        BufferedReader input = new BufferedReader(new InputStreamReader(is));
+            String line = null;
+            String line2 = null;
+            String line3 = null;
+            boolean result = false;
+            String EXPECTED_RESPONSE = "Injected entry";
+            String DIVIDER = "===";
+            String PC = "Postconstruct";
+            
+            while ((line = input.readLine()) != null) {
+                echo(line);
+                if (line.indexOf(EXPECTED_RESPONSE) != -1) {
+                    testPass = true;
+                }
+                if (line.indexOf(DIVIDER) != -1) {
+                    line2 = line;
+                }
+                if (line.indexOf(PC) != -1) {
+                    line3 = line;
+                }
+            }
 
-        String line = null;
-        String line2 = null;
-        String line3 = null;
-        boolean result=false;
-    String EXPECTED_RESPONSE = "Injected entry";
-    String DIVIDER = "===";
-        String PC = "Postconstruct";
-        while ((line = input.readLine()) != null) {
-          //echo ("LINE:"+line);
-          if (line.indexOf(EXPECTED_RESPONSE)!= -1) {
-            testPass = true;
-            //echo("Received line: " + line);
-          }
-          if (line.indexOf(DIVIDER)!= -1) {
-            line2 = line;
-            //echo("Received line2: " + line2);
-          }
-          if (line.indexOf(PC)!= -1) {
-            line3 = line;
-            //echo("Received line3: " + line3);
-          }
-        }
+            if (!testPass) {
+                echo("ERROR: injection 1 not found");
+                errorText = errorText + "ERROR: injection 1 not found\n";
+            }
 
-        if (! testPass) {
-          echo("ERROR: injection 1 not found");
-          errorText = errorText + "ERROR: injection 1 not found\n";
-        }
+            if (line2 != null) {
+                
+                echo(line2);
+                
+                String[] injection2Array = line2.split(DIVIDER);
+                String injectedNumber = injection2Array[1].trim();
+                int num = Integer.parseInt(injectedNumber);
 
-        if (line2 != null) {
-          String [] injection2Array = line2.split(DIVIDER);
-          String injectedNumber = injection2Array[1].trim();
-          //echo("injectedNumber = " + injectedNumber);
-          int num = Integer.parseInt(injectedNumber);
-
-          if ( num < 0 ) {
-            echo("ERROR: injection 2 is less than zero.");
-            errorText = errorText + "ERROR: injection 2 is less than zero";
-            testPass = false;
-          } else {
-            echo("Injection2 matched.");
-          }
-        } else {
-          echo("ERROR: line with " + DIVIDER + " not found.");
-          errorText = errorText + "ERROR: line with " + DIVIDER + " not found";
-          testPass = false;
-        }
-
-        if (line3 != null) {
-            if (line3.contains("true")) {
-                echo("@PostConstruct worked");
+                if (num < 0) {
+                    echo("ERROR: injection 2 is less than zero.");
+                    errorText = errorText + "ERROR: injection 2 is less than zero";
+                    testPass = false;
+                } else {
+                    echo("Injection2 matched.");
+                }
             } else {
-                echo("ERROR:@PostConstruct failed");
-                errorText = errorText + "ERROR: @PostConstruct failed";
+                echo("ERROR: line with " + DIVIDER + " not found.");
+                errorText = errorText + "ERROR: line with " + DIVIDER + " not found";
                 testPass = false;
             }
-        } else {
-          echo("ERROR: line with " + PC + " not found.");
-          errorText = errorText + "ERROR: line with " + PC + " not found";
-          testPass = false;
+
+            if (line3 != null) {
+                if (line3.contains("true")) {
+                    echo("@PostConstruct worked");
+                } else {
+                    echo("ERROR:@PostConstruct failed");
+                    errorText = errorText + "ERROR: @PostConstruct failed";
+                    testPass = false;
+                }
+            } else {
+                echo("ERROR: line with " + PC + " not found.");
+                errorText = errorText + "ERROR: line with " + PC + " not found";
+                testPass = false;
+            }
+
+            Assert.assertEquals(testPass, true, errorText);
+
+        } catch (Exception e) {
+            echo("ERROR: caught exception!");
+            e.printStackTrace();
+            throw new Exception(e);
         }
-
-        Assert.assertEquals(testPass, true, errorText);
-
-      }catch(Exception e){
-        echo("ERROR: caught exception!");
-        e.printStackTrace();
-        throw new Exception(e);
-      }
     }
 
     public static void echo(String msg) {
-      System.out.println(msg);
+        System.out.println(msg);
     }
 }
diff --git a/appserver/tests/quicklook/web/jsfinjection/web/jsp/jsfHello.jsp b/appserver/tests/quicklook/web/jsfinjection/web/jsp/jsfHello.jsp
deleted file mode 100644
index 3accc76..0000000
--- a/appserver/tests/quicklook/web/jsfinjection/web/jsp/jsfHello.jsp
+++ /dev/null
@@ -1,39 +0,0 @@
-<%--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
---%>
-
-<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
-<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
-
-<f:view>
- <html>
-  <head>
-    <title>JSF Hello</title>
-  </head>
-  <body>
-    <h:form id="form">
-      <h3>
-        Hello, and welcome<br>
-        <h:outputText value="If injection worked, this sentence should be followed by the injected words -> #{bean.entry} "/><br>
-        <h:outputText value="If second injection worked, this sentence should be followed by 'a non-negative number' === #{bean.number} ==="/><br>
-        <h:outputText value="If @Postconstruct worked, this sentence should be followed by #{bean.init} "/>
-      </h3>
-    </h:form>
-  </body>
- </html>
-</f:view>
-
diff --git a/appserver/tests/quicklook/web/jsfinjection/web/jsp/jsfHello.xhtml b/appserver/tests/quicklook/web/jsfinjection/web/jsp/jsfHello.xhtml
new file mode 100644
index 0000000..431e01a
--- /dev/null
+++ b/appserver/tests/quicklook/web/jsfinjection/web/jsp/jsfHello.xhtml
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<!--
+
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<html xmlns:h="jakarta.faces.html">
+	<h:head>
+		<title>Faces Hello</title>
+	</h:head>
+	<h:body>
+		<h1>Welcome to jAstrologer</h1>
+	
+		<h:form id="form">
+			<h3>
+				Hello, and welcome<br/>
+				<h:outputText
+					value="If injection worked, this sentence should be followed by the injected words -> #{testBean.entry} " />
+				<br/>
+				<h:outputText
+					value="If second injection worked, this sentence should be followed by 'a non-negative number' === #{testBean.number} ===" />
+				<br/>
+				<h:outputText
+					value="If @Postconstruct worked, this sentence should be followed by #{testBean.init} " />
+			</h3>
+		</h:form>
+	</h:body>
+</html>
+
diff --git a/appserver/tests/quicklook/weld/numberguess/metadata/beans.xml b/appserver/tests/quicklook/weld/numberguess/metadata/beans.xml
index 0291596..651674f 100644
--- a/appserver/tests/quicklook/weld/numberguess/metadata/beans.xml
+++ b/appserver/tests/quicklook/weld/numberguess/metadata/beans.xml
@@ -1,6 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
+    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +18,12 @@
 
 -->
 
-<beans>
-  <interceptors>
-    <class>numberguess.InterceptorA</class>
-  </interceptors>
-</beans>
+
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       bean-discovery-mode="all" version="3.0">
+    <interceptors>
+        <class>numberguess.InterceptorA</class>
+    </interceptors>
+</beans>
\ No newline at end of file
diff --git a/appserver/tests/quicklook/weld/numberguess/metadata/faces-config.xml b/appserver/tests/quicklook/weld/numberguess/metadata/faces-config.xml
deleted file mode 100644
index c077e25..0000000
--- a/appserver/tests/quicklook/weld/numberguess/metadata/faces-config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<faces-config version="2.0"
-              xmlns="http://java.sun.com/xml/ns/javaee"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2.0.xsd">
-
-</faces-config>
diff --git a/appserver/tests/quicklook/weld/numberguess/metadata/sun-web.xml b/appserver/tests/quicklook/weld/numberguess/metadata/sun-web.xml
deleted file mode 100644
index c3071b3..0000000
--- a/appserver/tests/quicklook/weld/numberguess/metadata/sun-web.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Servlet 2.3//EN' 'http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_3-0.dtd'>
-
-<sun-web-app>
-  <session-config>
-    <session-manager/>
-  </session-config>
-  <class-loader delegate="true"/>
-  <jsp-config/>
-</sun-web-app>
-
diff --git a/appserver/tests/quicklook/weld/numberguess/metadata/web.xml b/appserver/tests/quicklook/weld/numberguess/metadata/web.xml
index 2cbcd2a..77844f4 100644
--- a/appserver/tests/quicklook/weld/numberguess/metadata/web.xml
+++ b/appserver/tests/quicklook/weld/numberguess/metadata/web.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -17,10 +18,12 @@
 
 -->
 
-<web-app version="2.5"
-    xmlns="http://java.sun.com/xml/ns/javaee"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+<web-app
+    xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+    version="5.0"
+>
 
    <display-name>Web Beans Numberguess example</display-name>
 
@@ -30,10 +33,9 @@
       <servlet-name>Faces Servlet</servlet-name>
       <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
    </servlet>
-
    <servlet-mapping>
       <servlet-name>Faces Servlet</servlet-name>
-      <url-pattern>*.jsf</url-pattern>
+      <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
 
    <session-config>
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Game.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Game.java
index 6478fb9..b8a9cfa 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Game.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Game.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,7 +17,6 @@
 
 package numberguess;
 
-
 import java.io.Serializable;
 
 import jakarta.annotation.PostConstruct;
@@ -32,111 +32,98 @@
 
 @Named
 @SessionScoped
-public class Game implements Serializable
-{
-   private static final long serialVersionUID = 1L;
+public class Game implements Serializable {
+    private static final long serialVersionUID = 1L;
 
-   private int number;
+    private int number;
 
-   private int guess;
-   private int smallest;
+    private int guess;
+    private int smallest;
 
-   @Inject
-   private StatefulBean sb;
+    @Inject
+    private StatefulBean sb;
 
-   @MaxNumber @Inject
-   private int maxNumber;
+    @MaxNumber
+    @Inject
+    private int maxNumber;
 
-   private int biggest;
-   private int remainingGuesses;
+    private int biggest;
+    private int remainingGuesses;
 
-   @Random @Inject Instance<Integer> randomNumber;
+    @Random
+    @Inject
+    Instance<Integer> randomNumber;
 
-   public Game()
-   {
-   }
+    public Game() {
+    }
 
-   public int getNumber()
-   {
-      return number;
-   }
+    public int getNumber() {
+        return number;
+    }
 
-   public int getGuess()
-   {
-      return guess;
-   }
+    public int getGuess() {
+        return guess;
+    }
 
-   public void setGuess(int guess)
-   {
-      this.guess = guess;
-   }
+    public void setGuess(int guess) {
+        this.guess = guess;
+    }
 
-   public int getSmallest()
-   {
-      return smallest;
-   }
+    public int getSmallest() {
+        return smallest;
+    }
 
-   public int getBiggest()
-   {
-      return biggest;
-   }
+    public int getBiggest() {
+        return biggest;
+    }
 
-   public int getRemainingGuesses()
-   {
-      return remainingGuesses;
-   }
+    public int getRemainingGuesses() {
+        return remainingGuesses;
+    }
 
-   public String check() throws InterruptedException
-   {
-       System.out.println("In Game::check");
-       sb.hello();
+    public String check() throws InterruptedException {
+        System.out.println("In Game::check");
+        sb.hello();
 
-      if (guess>number)
-      {
-         biggest = guess - 1;
-      }
-      if (guess<number)
-      {
-         smallest = guess + 1;
-      }
-      if (guess == number)
-      {
-         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Correct!"));
-      }
-      remainingGuesses--;
-      return null;
-   }
+        if (guess > number) {
+            biggest = guess - 1;
+        }
+        if (guess < number) {
+            smallest = guess + 1;
+        }
+        if (guess == number) {
+            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Correct!"));
+        }
+        remainingGuesses--;
+        return null;
+    }
 
-   @PostConstruct
-   public void reset()
-   {
-       System.out.println("In Game::reset()");
-       sb.hello();
+    @PostConstruct
+    public void reset() {
+        System.out.println("In Game::reset()");
+        sb.hello();
 
-      this.smallest = 0;
-      this.guess = 0;
-      this.remainingGuesses = 10;
-      this.biggest = maxNumber;
-      this.number = randomNumber.get();
-   }
+        this.smallest = 0;
+        this.guess = 0;
+        this.remainingGuesses = 10;
+        this.biggest = maxNumber;
+        this.number = randomNumber.get();
+    }
 
-   public void validateNumberRange(FacesContext context,  UIComponent toValidate, Object value)
-   {
-      if (remainingGuesses <= 0)
-      {
-         FacesMessage message = new FacesMessage("No guesses left!");
-         context.addMessage(toValidate.getClientId(context), message);
-         ((UIInput)toValidate).setValid(false);
-         return;
-      }
-      int input = (Integer) value;
+    public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value) {
+        if (remainingGuesses <= 0) {
+            FacesMessage message = new FacesMessage("No guesses left!");
+            context.addMessage(toValidate.getClientId(context), message);
+            ((UIInput) toValidate).setValid(false);
+            return;
+        }
+        int input = (Integer) value;
 
-      if (input < smallest || input > biggest)
-       {
-         ((UIInput)toValidate).setValid(false);
+        if (input < smallest || input > biggest) {
+            ((UIInput) toValidate).setValid(false);
 
-         FacesMessage message = new FacesMessage("Invalid guess");
-         context.addMessage(toValidate.getClientId(context), message);
-      }
-   }
+            FacesMessage message = new FacesMessage("Invalid guess");
+            context.addMessage(toValidate.getClientId(context), message);
+        }
+    }
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Generator.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Generator.java
index ef62946..dc36c57 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Generator.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Generator.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,34 +17,34 @@
 
 package numberguess;
 
-
 import java.io.Serializable;
 
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.enterprise.inject.Produces;
 
 @ApplicationScoped
-public class Generator implements Serializable
-{
+public class Generator implements Serializable {
 
-   private static final long serialVersionUID = -7213673465118041882L;
+    private static final long serialVersionUID = -7213673465118041882L;
 
-   private java.util.Random random = new java.util.Random( System.currentTimeMillis() );
+    private java.util.Random random = new java.util.Random(System.currentTimeMillis());
 
-   private int maxNumber = 100;
+    private int maxNumber = 100;
 
-   java.util.Random getRandom()
-   {
-      return random;
-   }
+    java.util.Random getRandom() {
+        return random;
+    }
 
-   @Produces @Random int next() {
-      return getRandom().nextInt(maxNumber);
-   }
+    @Produces
+    @Random
+    int next() {
+        return getRandom().nextInt(maxNumber);
+    }
 
-   @Produces @MaxNumber int getMaxNumber()
-   {
-      return maxNumber;
-   }
+    @Produces
+    @MaxNumber
+    int getMaxNumber() {
+        return maxNumber;
+    }
 
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorA.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorA.java
index 081f837..fc53b8b 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorA.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorA.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -29,14 +30,13 @@
     @EJB
     private StatelessLocal statelessLocal;
 
-    @Inject Foo foo;
+    @Inject
+    Foo foo;
 
     @AroundInvoke
     public Object around(InvocationContext ctx) throws Exception {
-
         System.out.println("In InterceptorA::around");
         return ctx.proceed();
-
     }
 
     @PostConstruct
@@ -48,7 +48,8 @@
 
         try {
             ctx.proceed();
-        } catch (Exception ignore ) {}
+        } catch (Exception ignore) {
+        }
     }
 
     @PreDestroy
@@ -56,7 +57,8 @@
         System.out.println("In InterceptorA::destroy()");
         try {
             ctx.proceed();
-        } catch (Exception ignore ) {}
+        } catch (Exception ignore) {
+        }
     }
 
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorB.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorB.java
index 2208447..eeb5d5f 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorB.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/InterceptorB.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -26,9 +27,10 @@
 
 import jakarta.inject.Inject;
 
-public class InterceptorB implements Serializable{
+public class InterceptorB implements Serializable {
 
-    @EJB StatelessLocal sbean;
+    @EJB
+    StatelessLocal sbean;
 
     @AroundInvoke
     public Object around(InvocationContext ctx) throws Exception {
@@ -42,7 +44,7 @@
     public void init(InvocationContext ctx) {
         System.out.println("In InterceptorB::init()");
 
-        if( sbean == null ) {
+        if (sbean == null) {
             throw new EJBException("null sbean");
         }
 
@@ -50,7 +52,8 @@
 
         try {
             ctx.proceed();
-        } catch (Exception ignore ) {}
+        } catch (Exception ignore) {
+        }
     }
 
     @PreDestroy
@@ -58,7 +61,8 @@
         System.out.println("In InterceptorB::destroy()");
         try {
             ctx.proceed();
-        } catch (Exception ignore ) {}
+        } catch (Exception ignore) {
+        }
     }
 
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/MaxNumber.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/MaxNumber.java
index b1c3444..182a185 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/MaxNumber.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/MaxNumber.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,7 +17,6 @@
 
 package numberguess;
 
-
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.PARAMETER;
@@ -29,11 +29,10 @@
 
 import jakarta.inject.Qualifier;
 
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
 @Retention(RUNTIME)
 @Documented
 @Qualifier
-public @interface MaxNumber
-{
+public @interface MaxNumber {
 
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Random.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Random.java
index 2703fc4..f6b7c9a 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Random.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/Random.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,7 +17,6 @@
 
 package numberguess;
 
-
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.PARAMETER;
@@ -29,11 +29,10 @@
 
 import jakarta.inject.Qualifier;
 
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
 @Retention(RUNTIME)
 @Documented
 @Qualifier
-public @interface Random
-{
+public @interface Random {
 
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SingletonBean.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SingletonBean.java
index 03c4de9..8c3ad2c 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SingletonBean.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SingletonBean.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -26,7 +27,6 @@
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.inject.Inject;
 
-
 @Singleton
 @Startup
 @ApplicationScoped
@@ -42,7 +42,7 @@
     public void init() {
         System.out.println("In SingletonBean::init()");
         System.out.println("sessionCtx = " + sessionCtx);
-        if( sessionCtx == null ) {
+        if (sessionCtx == null) {
             throw new EJBException("EE injection error");
         }
     }
@@ -57,6 +57,4 @@
         System.out.println("In SingletonBean::destroy()");
     }
 
-
-
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SomeBindingType.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SomeBindingType.java
index 3cad7f3..10f57d4 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SomeBindingType.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/SomeBindingType.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -29,4 +30,5 @@
 @InterceptorBinding
 @Target(TYPE)
 @Retention(RUNTIME)
-public @interface SomeBindingType {}
+public @interface SomeBindingType {
+}
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatefulBean.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatefulBean.java
index 8c8f6d0..ec86900 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatefulBean.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatefulBean.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -38,23 +39,21 @@
 
     @PostConstruct
     public void init() {
-    System.out.println("In StatefulBean::init()");
-    System.out.println("sessionCtx = " + sessionCtx);
-    if( sessionCtx == null ) {
-        throw new EJBException("EE injection error");
-    }
-    singleton.hello();
+        System.out.println("In StatefulBean::init()");
+        System.out.println("sessionCtx = " + sessionCtx);
+        if (sessionCtx == null) {
+            throw new EJBException("EE injection error");
+        }
+        singleton.hello();
     }
 
     public void hello() {
-    System.out.println("In StatefulBean::hello()");
+        System.out.println("In StatefulBean::hello()");
     }
 
     @PreDestroy
     public void destroy() {
-    System.out.println("In StatefulBean::destroy()");
+        System.out.println("In StatefulBean::destroy()");
     }
 
-
-
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessBean.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessBean.java
index 4186f4c..5e711ed 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessBean.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessBean.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -27,7 +28,6 @@
     @EJB
     private SingletonBean singleton;
 
-
     @PostConstruct
     public void init() {
         System.out.println("In StatelessBean::init()");
@@ -43,6 +43,4 @@
         System.out.println("In StatelessBean::destroy()");
     }
 
-
-
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessLocal.java b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessLocal.java
index aa1e59f..b4dc1aa 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessLocal.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/java/numberguess/StatelessLocal.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -18,6 +19,6 @@
 
 public interface StatelessLocal {
 
-    public void hello();
+    void hello();
 
 }
diff --git a/appserver/tests/quicklook/weld/numberguess/src/test/NumberGuessTestNG.java b/appserver/tests/quicklook/weld/numberguess/src/test/NumberGuessTestNG.java
index 63e3e14..a530429 100644
--- a/appserver/tests/quicklook/weld/numberguess/src/test/NumberGuessTestNG.java
+++ b/appserver/tests/quicklook/weld/numberguess/src/test/NumberGuessTestNG.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,7 +23,6 @@
 import org.testng.annotations.*;
 import org.testng.Assert;
 
-
 import java.io.*;
 import java.net.*;
 import java.util.*;
@@ -33,43 +33,39 @@
  */
 public class NumberGuessTestNG {
 
-    private String strContextRoot="numberguess";
+    private String strContextRoot = "numberguess";
 
     static String result = "";
-    String m_host="";
-    String m_port="";
+    String m_host = "";
+    String m_port = "";
 
     @BeforeMethod
-    public void beforeTest(){
-        m_host=System.getProperty("http.host");
-        m_port=System.getProperty("http.port");
+    public void beforeTest() {
+        m_host = System.getProperty("http.host");
+        m_port = System.getProperty("http.port");
     }
 
-    @Test(groups ={ "pulse"} ) // test method
+    @Test(groups = { "pulse" }) // test method
     public void appDeployedFirstPagetest() throws Exception {
 
-        try{
-            String testurl = "http://" + m_host  + ":" + m_port +
-                    "/"+ strContextRoot+"/home.jsf";
-            URL url = new URL(testurl);
-            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        try {
+            HttpURLConnection conn = (HttpURLConnection) 
+                new URL("http://" + m_host + ":" + m_port + "/" + strContextRoot + "/home.xhtml").openConnection();
             conn.connect();
             int responseCode = conn.getResponseCode();
 
-            InputStream is = conn.getInputStream();
-            BufferedReader input = new BufferedReader(new InputStreamReader(is));
-
+            BufferedReader input = new BufferedReader(new InputStreamReader(conn.getInputStream()));
             String line = null;
             boolean result = false;
             String testLine = null;
             while ((line = input.readLine()) != null) {
-                if(line.indexOf("thinking of a number between")!=-1){
+                if (line.indexOf("thinking of a number between") != -1) {
                     result = true;
                     testLine = line;
                 }
             }
-            Assert.assertEquals(result, true,"Unexpected HTML");
-        }catch(Exception e){
+            Assert.assertEquals(result, true, "Unexpected HTML");
+        } catch (Exception e) {
             e.printStackTrace();
             throw new Exception(e);
         }
diff --git a/appserver/tests/quicklook/weld/numberguess/web/html/first.html b/appserver/tests/quicklook/weld/numberguess/web/html/first.html
index b7a1f5b..b9cbb69 100644
--- a/appserver/tests/quicklook/weld/numberguess/web/html/first.html
+++ b/appserver/tests/quicklook/weld/numberguess/web/html/first.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-  <head>
+
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -19,16 +19,18 @@
 
 -->
 
-    <title></title>
-  </head>
-  <body>
-  Welcome to HTML Test Program. This tests following thing
-  <ol>
-      <li>TestNG</li>
-      <li>build.xml</li>
-      <li>V2 & V3</li>
-      <li>New Framework</li>
-  </ol>
-
-  </body>
+<html>
+	<head>
+	    <title></title>
+	</head>
+	<body>
+		Welcome to HTML Test Program. This tests following thing
+		<ol>
+			<li>TestNG</li>
+			<li>build.xml</li>
+			<li>V2 & V3</li>
+			<li>New Framework</li>
+		</ol>
+	
+	</body>
 </html>
diff --git a/appserver/tests/quicklook/weld/numberguess/web/html/home.xhtml b/appserver/tests/quicklook/weld/numberguess/web/html/home.xhtml
index 59316cc..e9cceb6 100644
--- a/appserver/tests/quicklook/weld/numberguess/web/html/home.xhtml
+++ b/appserver/tests/quicklook/weld/numberguess/web/html/home.xhtml
@@ -1,6 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -25,6 +26,7 @@
   <ui:composition template="template.xhtml">
     <ui:define name="content">
        <h1>Guess a number...</h1>
+       
        <h:form id="NumberGuessMain">
           <div style="color: red">
              <h:messages id="messages" globalOnly="false"/>
@@ -47,6 +49,7 @@
             <h:commandButton id="RestartButton" value="Reset" action="#{game.reset}" immediate="true" />
           </div>
        </h:form>
+       
     </ui:define>
   </ui:composition>
 </html>
diff --git a/appserver/tests/quicklook/weld/numberguess/web/html/index.html b/appserver/tests/quicklook/weld/numberguess/web/html/index.html
index b4b66d0..902d980 100644
--- a/appserver/tests/quicklook/weld/numberguess/web/html/index.html
+++ b/appserver/tests/quicklook/weld/numberguess/web/html/index.html
@@ -1,23 +1,24 @@
 <html>
-<head>
-<!--
-
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-  <meta http-equiv="Refresh" content="0; URL=home.jsf">
-</head>
+	<head>
+	<!--
+	
+	    Copyright (c) 2021 Contributors to Eclipse Foundation.
+	    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+	
+	    This program and the accompanying materials are made available under the
+	    terms of the Eclipse Public License v. 2.0, which is available at
+	    http://www.eclipse.org/legal/epl-2.0.
+	
+	    This Source Code may also be made available under the following Secondary
+	    Licenses when the conditions for such availability set forth in the
+	    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+	    version 2 with the GNU Classpath Exception, which is available at
+	    https://www.gnu.org/software/classpath/license.html.
+	
+	    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+	
+	-->
+	
+	  <meta http-equiv="Refresh" content="0; URL=home.xhtml">
+	</head>
 </html>
diff --git a/appserver/tests/quicklook/weld/numberguess/web/html/template.xhtml b/appserver/tests/quicklook/weld/numberguess/web/html/template.xhtml
index d1433d8..feb9fe1 100644
--- a/appserver/tests/quicklook/weld/numberguess/web/html/template.xhtml
+++ b/appserver/tests/quicklook/weld/numberguess/web/html/template.xhtml
@@ -1,6 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -18,34 +19,28 @@
 -->
 
 <html xmlns="http://www.w3.org/1999/xhtml"
-    xmlns:ui="http://java.sun.com/jsf/facelets"
-    xmlns:h="http://java.sun.com/jsf/html"
-    xmlns:f="http://java.sun.com/jsf/core">
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core">
 
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-  <title>Numberguess</title>
-  <link href="style/main.css" rel="stylesheet" type="text/css"/>
-  <ui:insert name="head"/>
-</head>
-
-<body>
-  
-  <div id="container">
-    <div id="header">
-  
-    </div>
-
-    <div id="sidebar">
-    
-    </div>
-  
-    <div id="content">
-      <ui:insert name="content"/>
-    </div>
-    
-    <br style="clear:both"/>
-  </div>
-   
-</body>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+		<title>Numberguess</title>
+		<link href="style/main.css" rel="stylesheet" type="text/css" />
+		<ui:insert name="head" />
+	</head>
+	
+	<body>
+		<div id="container">
+			<div id="header"></div>
+	
+			<div id="sidebar"></div>
+	
+			<div id="content">
+				<ui:insert name="content" />
+			</div>
+	
+			<br style="clear: both" />
+		</div>
+	</body>
 </html>
diff --git a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/metadata/web.xml b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/metadata/web.xml
index 8aa56a9..3320ba9 100644
--- a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/metadata/web.xml
+++ b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/metadata/web.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -17,24 +18,31 @@
 
 -->
 
-<web-app version="2.4" mlns="http://java.sun.com/xml/ns/j2ee">
-  <display-name>JaxwsFromWsdl</display-name>
-  <description>JaxwsFromWsdl</description>
-  <listener>
-    <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
-  </listener>
-  <servlet>
-    <servlet-name>JaxwsFromWsdl</servlet-name>
+<web-app
+    xmlns="https://jakarta.ee/xml/ns/jakartaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+    version="5.0"
+>
     <display-name>JaxwsFromWsdl</display-name>
-    <description>JAX-WS endpoint - jaxwsfromwsdl</description>
-    <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>JaxwsFromWsdl</servlet-name>
-    <url-pattern>/addnumbers</url-pattern>
-  </servlet-mapping>
-  <session-config>
-    <session-timeout>60</session-timeout>
-  </session-config>
+    <description>JaxwsFromWsdl</description>
+    
+    <listener>
+        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener
+        </listener-class>
+    </listener>
+    
+    <servlet>
+        <servlet-name>JaxwsFromWsdl</servlet-name>
+        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>JaxwsFromWsdl</servlet-name>
+        <url-pattern>/addnumbers</url-pattern>
+    </servlet-mapping>
+    
+    <session-config>
+        <session-timeout>60</session-timeout>
+    </session-config>
 </web-app>
diff --git a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/pom.xml b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/pom.xml
index 6acb3f2..39dc01a 100644
--- a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/pom.xml
+++ b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/pom.xml
@@ -28,7 +28,7 @@
     <artifactId>wsit_quicklook</artifactId>
     <name>Glassfish Web Services Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/client/AddNumbersClient.java b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/client/AddNumbersClient.java
index 3522184..fb7fe0f 100644
--- a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/client/AddNumbersClient.java
+++ b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/client/AddNumbersClient.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -23,64 +24,63 @@
 
     public boolean testAddNumbers() {
 
-        boolean status=false;
+        boolean status = false;
         AddNumbersPortType port = null;
 
         try {
-            port = new AddNumbersService().getAddNumbersPort ();
+            port = new AddNumbersService().getAddNumbersPort();
             int number1 = 10;
             int number2 = 20;
             int number3 = 30;
 
             // System.out.printf ("Invoking addNumbers(%d, %d)\n", number1, number2);
-            int result = port.addNumbers (number1, number2);
+            int result = port.addNumbers(number1, number2);
             // System.out.printf ("The result of adding %d and %d is %d.\n\n", number1, number2, result);
             if (result == number3)
-          status = true;
-        } catch(Exception ex){
+                status = true;
+        } catch (Exception ex) {
             System.out.print("Got unexpected exception");
             // ex.printStackTrace();
-    }
+        }
         return status;
 
     }
 
     public boolean testAddNumbersException() {
 
-        boolean status=false;
+        boolean status = false;
         AddNumbersPortType port = null;
 
         try {
-            port = new AddNumbersService().getAddNumbersPort ();
+            port = new AddNumbersService().getAddNumbersPort();
             int number1 = -10;
             int number2 = 20;
 
             // System.out.printf ("Invoking addNumbers(%d, %d)\n", number1, number2);
-            int result = port.addNumbers (number1, number2);
+            int result = port.addNumbers(number1, number2);
             // System.out.printf ("The result of adding %d and %d is %d.\n\n", number1, number2, result);
         } catch (AddNumbersFault_Exception ex) {
-        // System.out.print("Got expected exception");
-          // System.out.printf ("Caught AddNumbersFault_Exception: %s\n", ex.getFaultInfo().getFaultInfo ());
+            // System.out.print("Got expected exception");
+            // System.out.printf ("Caught AddNumbersFault_Exception: %s\n", ex.getFaultInfo().getFaultInfo ());
             String info1 = ex.getFaultInfo().getFaultInfo();
-        // System.out.print("info1="+info1+"---");
+            // System.out.print("info1="+info1+"---");
             String info2 = ex.getFaultInfo().getMessage();
-        // System.out.print("info2="+info2+"---");
+            // System.out.print("info2="+info2+"---");
             if (info2.contains("Negative number cant be added!"))
-        status = true;
-    }
+                status = true;
+        }
 
         return status;
 
     }
 
-    public static void main (String[] args) {
+    public static void main(String[] args) {
         System.out.println("AddNumbersClient:main");
         AddNumbersClient client = new AddNumbersClient();
         boolean result = false;
         result = client.testAddNumbers();
-        System.out.println("result1="+result);
+        System.out.println("result1=" + result);
         result = client.testAddNumbersException();
-        System.out.println("result2="+result);
+        System.out.println("result2=" + result);
     }
 }
-
diff --git a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/server/AddNumbersImpl.java b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/server/AddNumbersImpl.java
index dd3ff53..927b398 100644
--- a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/server/AddNumbersImpl.java
+++ b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/jaxwsfromwsdl/server/AddNumbersImpl.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,25 +17,23 @@
 
 package jaxwsfromwsdl.server;
 
-@jakarta.jws.WebService (endpointInterface="jaxwsfromwsdl.server.AddNumbersPortType")
-public class AddNumbersImpl{
+@jakarta.jws.WebService(endpointInterface = "jaxwsfromwsdl.server.AddNumbersPortType")
+public class AddNumbersImpl {
 
     /**
      * @param number1
      * @param number2
      * @return The sum
-     * @throws AddNumbersException
-     *             if any of the numbers to be added is negative.
+     * @throws AddNumbersException if any of the numbers to be added is negative.
      */
-    public int addNumbers (int number1, int number2)
-    throws AddNumbersFault_Exception {
+    public int addNumbers(int number1, int number2) throws AddNumbersFault_Exception {
         if (number1 < 0 || number2 < 0) {
             String message = "Negative number cant be added!";
             String detail = "Numbers: " + number1 + ", " + number2;
-            AddNumbersFault fault = new AddNumbersFault ();
-            fault.setMessage (message);
-            fault.setFaultInfo (detail);
-            throw new AddNumbersFault_Exception (message, fault);
+            AddNumbersFault fault = new AddNumbersFault();
+            fault.setMessage(message);
+            fault.setFaultInfo(detail);
+            throw new AddNumbersFault_Exception(message, fault);
         }
         return number1 + number2;
     }
diff --git a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/test/jaxwsfromwsdl/client/JaxwsFromWsdlTestNG.java b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/test/jaxwsfromwsdl/client/JaxwsFromWsdlTestNG.java
index 735720b..57189f1 100644
--- a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/test/jaxwsfromwsdl/client/JaxwsFromWsdlTestNG.java
+++ b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/src/test/jaxwsfromwsdl/client/JaxwsFromWsdlTestNG.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,6 +16,7 @@
  */
 
 package jaxwsfromwsdl.client;
+
 import org.testng.annotations.*;
 import org.testng.Assert;
 import java.lang.reflect.*;
@@ -22,55 +24,54 @@
 
 public class JaxwsFromWsdlTestNG {
 
-
-    private Class cls = null;
-    private Constructor  ct = null;
-    private Object  obj = null;
-    private Method meth = null;
+    private Class cls;
+    private Constructor ct;
+    private Object obj;
+    private Method meth;
 
     @BeforeTest
     public void loadClass() throws Exception {
-      try {
-    cls = Class.forName ("jaxwsfromwsdl.client.AddNumbersClient");
-        ct = cls.getConstructor();
-        obj = ct.newInstance();
-    // System.out.println ("class is loaded");
-      } catch (Exception ex) {
-    System.out.println ("Got ex, class is not loaded.");
-        throw new Exception(ex);
-      }
+        try {
+            cls = Class.forName("jaxwsfromwsdl.client.AddNumbersClient");
+            ct = cls.getConstructor();
+            obj = ct.newInstance();
+            // System.out.println ("class is loaded");
+        } catch (Exception ex) {
+            System.out.println("Got ex, class is not loaded.");
+            throw new Exception(ex);
+        }
         System.out.println("done for init");
     }
 
-    @Test(groups ={"functional"})
-    public void testAddNumbers_JaxwsFromWsdl() throws Exception{
-      boolean result = false;
-      try {
-        meth = cls.getMethod("testAddNumbers");
-        // System.out.println("meth="+ meth.toString());
-        // System.out.println("cls="+ cls);
-        // System.out.println("ct="+ ct);
-        // System.out.println("obj="+ obj);
-    result = (Boolean) meth.invoke(obj, (Object[])null);
-      } catch (Exception ex) {
-    System.out.println ("got unexpected exception.");
-        throw new Exception(ex);
-      }
-      Assert.assertTrue(result);
+    @Test(groups = { "functional" })
+    public void testAddNumbers_JaxwsFromWsdl() throws Exception {
+        boolean result = false;
+        try {
+            meth = cls.getMethod("testAddNumbers");
+            System.out.println("meth=" + meth.toString());
+            System.out.println("cls=" + cls);
+            System.out.println("ct=" + ct);
+            System.out.println("obj=" + obj);
+            result = (Boolean) meth.invoke(obj, (Object[]) null);
+        } catch (Exception ex) {
+            System.out.println("got unexpected exception.");
+            throw new Exception(ex);
+        }
+        
+        Assert.assertTrue(result);
     }
 
-
     @Test(dependsOnMethods = { "testAddNumbers_JaxwsFromWsdl" })
-    public void testAddNumbersException_JaxwsFromWsdl() throws Exception{
-      boolean result = false;
-      try {
-        meth = cls.getMethod("testAddNumbersException");
-    result = (Boolean) meth.invoke(obj, (Object[])null);
-      } catch (Exception ex) {
-    System.out.println ("got unexpected exception");
-        throw new Exception(ex);
-      }
-      Assert.assertTrue(result);
+    public void testAddNumbersException_JaxwsFromWsdl() throws Exception {
+        boolean result = false;
+        try {
+            meth = cls.getMethod("testAddNumbersException");
+            result = (Boolean) meth.invoke(obj, (Object[]) null);
+        } catch (Exception ex) {
+            System.out.println("got unexpected exception");
+            throw new Exception(ex);
+        }
+        Assert.assertTrue(result);
     }
 
 }
diff --git a/appserver/tests/quicklook/wsit/jsr109tester/build.xml b/appserver/tests/quicklook/wsit/jsr109tester/build.xml
index 8ce0373..0397218 100644
--- a/appserver/tests/quicklook/wsit/jsr109tester/build.xml
+++ b/appserver/tests/quicklook/wsit/jsr109tester/build.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -19,111 +20,87 @@
 
 <project basedir="." default="help" name="jsr109tester">
 
-    <property file="build.properties"/>
-    <property file="${ws.root}/gfproject/${deploy.platform}-config.properties"/>
+    <property file="build.properties" />
+    <property file="${ws.root}/gfproject/${deploy.platform}-config.properties" />
 
     <description>wsit tests</description>
-    <import file="${ws.root}/gfproject/build-impl.xml"/>
-    <import file="${ws.root}/gfproject/${deploy.platform}-targets.xml"/>
+    <import file="${ws.root}/gfproject/build-impl.xml" />
+    <import file="${ws.root}/gfproject/${deploy.platform}-targets.xml" />
 
-    <target name="build-deploy" depends="server,client, runtest, undeploy"/>
-    <target name="all" depends="server, client, runtest, undeploy"/>
+    <target name="build-deploy" depends="server,client, runtest, undeploy" />
+    <target name="all" depends="server, client, runtest, undeploy" />
 
-    <!--<target name="server" depends="build-server-wsdl, create-war, deploy"/>-->
-    <target name="server" depends="build-server, create-war, deploy"/>
-    <target name="client" depends="generate-client, build-client1, build-client2"/>
+    <target name="server" depends="build-server, create-war, deploy" />
+    <target name="client" depends="generate-client, build-client1, build-client2" />
 
     <target name="build-setup">
-        <echo message="build-setup: build.home=${build.home}"/>
-        <mkdir dir="${build.classes.home}"/>
-        <mkdir dir="${build.war.home}"/>
+        <echo message="build-setup: build.home=${build.home}" />
+        <mkdir dir="${build.classes.home}" />
+        <mkdir dir="${build.war.home}" />
     </target>
 
     <target name="build-server" depends="declare-wsimport,build-setup" if="wsjar.available">
-        <javac
-                srcdir="${basedir}/src"
-                destdir="${build.classes.home}"
-                includes="**/server/**,**/common/**" classpathref="class.path">
-            <classpath refid="wsit.classpath"/>
+        <javac srcdir="${basedir}/src" destdir="${build.classes.home}" includes="**/server/**,**/common/**" classpathref="class.path">
+            <classpath refid="wsit.classpath" />
         </javac>
     </target>
 
     <target name="create-war">
         <zip destfile="${app.file.ext}">
             <zipfileset dir="${build.classes.home}" prefix="WEB-INF/classes">
-                <include name="fromjava/server/**/**"/>
+                <include name="fromjava/server/**/**" />
             </zipfileset>
         </zip>
-        <copy file="${app.file.ext}" tofile="${dist.dir}/${app.file.ext}"/>
+        <copy file="${app.file.ext}" tofile="${dist.dir}/${app.file.ext}" />
     </target>
 
     <target name="generate-client" depends="declare-wsimport,build-setup" if="wsjar.available">
-        <wsimport
-                debug="${debug}"
-                verbose="${verbose}"
-                failonerror="false"
-                keep="${keep}"
-                extension="${extension}"
-                destdir="${build.classes.home}"
-                wsdl="${client.wsdl}"
-                package="${client.package}">
+        <wsimport debug="${debug}" verbose="${verbose}" failonerror="false" keep="${keep}" extension="${extension}" destdir="${build.classes.home}" wsdl="${client.wsdl}" package="${client.package}">
         </wsimport>
     </target>
 
     <target name="build-client" depends="generate-client">
-        <javac
-                srcdir="src"
-                failonerror="false"
-                destdir="${build.classes.home}"
-                includes="**/client/**,**/common/**" classpathref="class.path">
-            <classpath refid="wsit.classpath"/>
+        <javac srcdir="src" failonerror="false" destdir="${build.classes.home}" includes="**/client/**,**/common/**" classpathref="class.path">
+            <classpath refid="wsit.classpath" />
         </javac>
     </target>
 
     <target name="build-client1" depends="generate-client">
-        <javac
-                failonerror="false"
-                srcdir="src"
-                destdir="${build.classes.home}"
-                includes="**/*Client.java" classpathref="class.path">
-            <classpath refid="wsit.classpath"/>
+        <javac failonerror="false" srcdir="src" destdir="${build.classes.home}" includes="**/*Client.java" classpathref="class.path">
+            <classpath refid="wsit.classpath" />
         </javac>
     </target>
 
     <target name="build-client2">
-        <javac
-                failonerror="false"
-                srcdir="src"
-                destdir="${build.classes.home}"
-                includes="**/client/*TestNG.java" classpathref="class.path">
-            <classpath refid="wsit.classpath"/>
+        <javac failonerror="false" srcdir="src" destdir="${build.classes.home}" includes="**/client/*TestNG.java" classpathref="class.path">
+            <classpath refid="wsit.classpath" />
         </javac>
     </target>
 
 
     <target name="runtest">
-    <record name="${basedir}/wsit2run.output" action="start"/>
+        <record name="${basedir}/wsit2run.output" action="start" />
         <antcall target="runtest-impl">
-            <param name="testng.test.name" value="${testng.test.name}"/>
-            <param name="testng.testclient" value="jsr109tester"/>
+            <param name="testng.test.name" value="${testng.test.name}" />
+            <param name="testng.testclient" value="jsr109tester" />
         </antcall>
-    <record name="${basedir}/wsit2run.output" action="stop"/>
+        <record name="${basedir}/wsit2run.output" action="stop" />
     </target>
 
     <target name="deploy">
-        <antcall target="deploy-${deploy.platform}-impl"/>
+        <antcall target="deploy-${deploy.platform}-impl" />
     </target>
 
     <target name="undeploy">
-        <antcall target="undeploy-${deploy.platform}-impl"/>
+        <antcall target="undeploy-${deploy.platform}-impl" />
     </target>
 
     <target name="help">
-        <echo message="server:       Builds and deploy the service endpoint WAR"/>
-        <echo message="client:       Builds the client"/>
-        <echo message="runtest:      Runs the client"/>
-        <echo message="undeploy:     Undeploy war"/>
-        <echo message="build-clean:  Remove build dir"/>
+        <echo message="server:       Builds and deploy the service endpoint WAR" />
+        <echo message="client:       Builds the client" />
+        <echo message="runtest:      Runs the client" />
+        <echo message="undeploy:     Undeploy war" />
+        <echo message="build-clean:  Remove build dir" />
     </target>
 
 </project>
diff --git a/appserver/tests/quicklook/wsit/jsr109tester/pom.xml b/appserver/tests/quicklook/wsit/jsr109tester/pom.xml
index 55d4855..21036a6 100644
--- a/appserver/tests/quicklook/wsit/jsr109tester/pom.xml
+++ b/appserver/tests/quicklook/wsit/jsr109tester/pom.xml
@@ -29,7 +29,7 @@
     <artifactId>wsit_quicklook</artifactId>
     <name>Glassfish Web Services Quicklook</name>
     <packaging>jar</packaging>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <description>This pom describes how to run QuickLook tests on the Glassfish Bundle</description>
 
     <build>
diff --git a/appserver/tests/quicklook/wsit/jsr109tester/src/test/fromjava/client/CheckTesterUITestNG.java b/appserver/tests/quicklook/wsit/jsr109tester/src/test/fromjava/client/CheckTesterUITestNG.java
index b44618a..8957c8e 100644
--- a/appserver/tests/quicklook/wsit/jsr109tester/src/test/fromjava/client/CheckTesterUITestNG.java
+++ b/appserver/tests/quicklook/wsit/jsr109tester/src/test/fromjava/client/CheckTesterUITestNG.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -37,8 +38,8 @@
     public static final String URL_TESTER_PAGE = "http://localhost:8080/JaxwsFromJava/AddNumbersService?Tester";
     public static final String HEADER_TESTER_PAGE = "AddNumbersService Web Service Tester";
 
-    private Object port = null;
-    private Method method = null;
+    private Object port;
+    private Method method;
 
     @BeforeTest
     public void loadClass() throws Exception {
@@ -55,7 +56,7 @@
         System.out.println("done for init");
     }
 
-    @Test(groups = {"functional"})
+    @Test(groups = { "functional" })
     public void testAddNumbers() throws Exception {
         int result = 0;
         try {
@@ -68,21 +69,22 @@
             System.out.println("got unexpected exception.");
             throw new Exception(ex);
         }
+        
         Assert.assertTrue(result == 3);
     }
 
-    @Test(groups = {"functional"})
+    @Test(groups = { "functional" })
     public void testTesterUI() throws Exception {
         String testerPageHTML = wget(URL_TESTER_PAGE);
         System.out.println("Tester Page HTML = " + testerPageHTML);
+        
         Assert.assertTrue(testerPageHTML.contains(HEADER_TESTER_PAGE));
     }
 
     public static String wget(String url) throws Exception {
         BufferedReader in = null;
         try {
-            URLConnection connection = new URL(url).openConnection();
-            in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+            in = new BufferedReader(new InputStreamReader(new URL(url).openConnection().getInputStream()));
             StringBuilder response = new StringBuilder();
 
             String inputLine;
diff --git a/appserver/tests/sqe_smoke/run_test.sh b/appserver/tests/sqe_smoke/run_test.sh
index 1437328..982de67 100755
--- a/appserver/tests/sqe_smoke/run_test.sh
+++ b/appserver/tests/sqe_smoke/run_test.sh
@@ -29,7 +29,7 @@
   # CLEANUPS
   kill_clean `ps -ef |grep jre|grep -v grep|cut -f4,5 -d" "`
   kill_clean `jps |grep Main |grep -v grep |cut -f1 -d" "`
-  kill_clean `ps -ef | grep ${WORKSPACE}/glassfish6/glassfish|grep -v grep`
+  kill_clean `ps -ef | grep ${WORKSPACE}/glassfish7/glassfish|grep -v grep`
 
   curl --noproxy '*' ${INTERNAL_RELEASE_REPO}/com/oracle/glassfish/sqe-smoke/1.0/sqe-smoke-1.0.zip > bundles/sqe-smoke.zip
   unzip bundles/sqe-smoke.zip
diff --git a/appserver/tests/sse/basic/pom.xml b/appserver/tests/sse/basic/pom.xml
index c12c6f2..727f1a3 100644
--- a/appserver/tests/sse/basic/pom.xml
+++ b/appserver/tests/sse/basic/pom.xml
@@ -30,14 +30,14 @@
     <properties>
         <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <glasfish.home>../../../distributions/web/target/stage/glassfish6/glassfish</glasfish.home>
+        <glasfish.home>../../../distributions/web/target/stage/glassfish7/glassfish</glasfish.home>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.glassfish.main.web</groupId>
             <artifactId>web-sse</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/appserver/tests/sse/videoplayer/README.txt b/appserver/tests/sse/videoplayer/README.txt
index f636d60..71c8272 100644
--- a/appserver/tests/sse/videoplayer/README.txt
+++ b/appserver/tests/sse/videoplayer/README.txt
@@ -2,7 +2,7 @@
 
 * Deploy the target/videoplayer.war file to the server avatar distribution
 
-$cd appserver/distributions/avatar/target/stage/glassfish6/glassfish/bin
+$cd appserver/distributions/avatar/target/stage/glassfish7/glassfish/bin
 $./asadmin start-domain
 $./asadmin deploy videoplayer.war
 
diff --git a/appserver/tests/sse/videoplayer/pom.xml b/appserver/tests/sse/videoplayer/pom.xml
index 9b32259..7237055 100644
--- a/appserver/tests/sse/videoplayer/pom.xml
+++ b/appserver/tests/sse/videoplayer/pom.xml
@@ -30,14 +30,14 @@
     <properties>
         <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <glasfish.home>../../../distributions/web/target/stage/glassfish6/glassfish</glasfish.home>
+        <glasfish.home>../../../distributions/web/target/stage/glassfish7/glassfish</glasfish.home>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.glassfish.main.web</groupId>
             <artifactId>web-sse</artifactId>
-            <version>6.2.6-SNAPSHOT</version>
+            <version>7.0.0-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/appserver/tests/tck/authentication/pom.xml b/appserver/tests/tck/authentication/pom.xml
index 445ad8c..c387f87 100644
--- a/appserver/tests/tck/authentication/pom.xml
+++ b/appserver/tests/tck/authentication/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>6.2.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-external-tck-authentication</artifactId>
diff --git a/appserver/tests/tck/authorization/pom.xml b/appserver/tests/tck/authorization/pom.xml
index 30dc819..53a2bbf 100644
--- a/appserver/tests/tck/authorization/pom.xml
+++ b/appserver/tests/tck/authorization/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-external-tck-authorization</artifactId>
@@ -35,7 +35,7 @@
         <ant.home>${project.build.directory}/apache-ant-${ant.version}</ant.home>
         <ant.zip.url>https://archive.apache.org/dist/ant/binaries/apache-ant-${ant.version}-bin.zip</ant.zip.url>
         <tck.home>${project.build.directory}/authorization-tck</tck.home>
-        <glassfish.home>${project.build.directory}/glassfish6</glassfish.home>
+        <glassfish.home>${project.build.directory}/glassfish7</glassfish.home>
         <glassfish.version>${project.version}</glassfish.version>
         <glassfish.asadmin>${glassfish.home}/glassfish/bin/asadmin</glassfish.asadmin>
         <tck.tests.home>${tck.home}/src/com/sun/ts/tests</tck.tests.home>
diff --git a/appserver/tests/tck/embedded_ejb_smoke/ejb_lite_basic/pom.xml b/appserver/tests/tck/embedded_ejb_smoke/ejb_lite_basic/pom.xml
index a7f5887..4b74bb8 100644
--- a/appserver/tests/tck/embedded_ejb_smoke/ejb_lite_basic/pom.xml
+++ b/appserver/tests/tck/embedded_ejb_smoke/ejb_lite_basic/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>embedded-ejb-smoke</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ejb-lite-basic</artifactId>
diff --git a/appserver/tests/tck/embedded_ejb_smoke/pom.xml b/appserver/tests/tck/embedded_ejb_smoke/pom.xml
index 7492b7b..f47be0e 100644
--- a/appserver/tests/tck/embedded_ejb_smoke/pom.xml
+++ b/appserver/tests/tck/embedded_ejb_smoke/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>embedded-ejb-smoke</artifactId>
diff --git a/appserver/tests/tck/embedded_ejb_smoke/runner/pom.xml b/appserver/tests/tck/embedded_ejb_smoke/runner/pom.xml
index 5ef50e9..dbfea6c 100644
--- a/appserver/tests/tck/embedded_ejb_smoke/runner/pom.xml
+++ b/appserver/tests/tck/embedded_ejb_smoke/runner/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>embedded-ejb-smoke</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>embedded-ejb-smoke-runner</artifactId>
@@ -37,7 +37,7 @@
     <properties>
         <tck.debug>${maven.tck.debug}</tck.debug>
         <tck.home>${project.build.directory}/tck</tck.home>
-        <glassfish.home>${tck.home}/glassfish6</glassfish.home>
+        <glassfish.home>${tck.home}/glassfish7</glassfish.home>
         <glassfish.version>${project.version}</glassfish.version>
     </properties>
 
@@ -70,7 +70,7 @@
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
-            <version>3.3.2</version>
+            <version>3.12.0</version>
         </dependency>
 
         <dependency>
diff --git a/appserver/tests/tck/faces/pom.xml b/appserver/tests/tck/faces/pom.xml
index 00fc619..39806a2 100644
--- a/appserver/tests/tck/faces/pom.xml
+++ b/appserver/tests/tck/faces/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>6.2.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-external-tck-faces</artifactId>
@@ -192,7 +192,7 @@
                                 <tck-setting key="impl.vi.deploy.dir" value="${webServerHome}/domains/domain1/autodeploy"/>
                                 <tck-setting key="impl.deploy.timeout.multiplier" value="960"/>
                                 
-                                <tck-setting key="jsf.classes" value="${webServerHome}/modules/cdi-api.jar;${webServerHome}/modules/jakarta.servlet.jsp.jstl-api.jar;${webServerHome}/modules/jakarta.inject.jar;${webServerHome}/modules/jakarta.faces.jar;${webServerHome}/modules/jakarta.servlet.jsp-api.jar;${webServerHome}/modules/jakarta.servlet-api.jar;${webServerHome}/modules/jakarta.el.jar"/>
+                                <tck-setting key="jsf.classes" value="${webServerHome}/modules/cdi-api.jar;${webServerHome}/modules/jakarta.servlet.jsp.jstl-api.jar;${webServerHome}/modules/jakarta.inject.jar;${webServerHome}/modules/jakarta.faces.jar;${webServerHome}/modules/jakarta.servlet.jsp-api.jar;${webServerHome}/modules/jakarta.servlet-api.jar;${webServerHome}/modules/expressly.jar"/>
 
                                 <limit maxwait="60">
                                     <exec executable="${glassfish.asadmin}" dir="${glassfish.home}/glassfish/bin">
diff --git a/appserver/tests/tck/pom.xml b/appserver/tests/tck/pom.xml
index 9d5c53f..65db0f2 100644
--- a/appserver/tests/tck/pom.xml
+++ b/appserver/tests/tck/pom.xml
@@ -23,12 +23,13 @@
     <parent>
         <groupId>org.glassfish.main.tests</groupId>
         <artifactId>tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.tests.tck</groupId>
     <artifactId>tck</artifactId>
     <packaging>pom</packaging>
+
     <name>TCK: Parent</name>
 
     <modules>
diff --git a/appserver/tests/tck/rest/pom.xml b/appserver/tests/tck/rest/pom.xml
index 4622e02..9952b2d 100644
--- a/appserver/tests/tck/rest/pom.xml
+++ b/appserver/tests/tck/rest/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>6.2.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-external-tck-rest</artifactId>
@@ -186,7 +186,7 @@
                                 
                                 <tck-setting key="jaxrs_impl_name" value="jersey"/>
                                 
-                                <tck-setting key="jaxrs_impl.classes" value="${web.home}/modules/jakarta.json.jar:${web.home}/modules/jakarta.json.bind-api.jar:${web.home}/modules/jakarta.json.jar:${web.home}/modules/jsonp-jaxrs.jar:${web.home}/modules/jersey-client.jar:${web.home}/modules/jersey-common.jar:${web.home}/modules/jersey-server.jar:${web.home}/modules/jersey-container-servlet.jar:${web.home}/modules/jersey-container-servlet-core.jar:${web.home}/modules/jersey-media-jaxb.jar:${web.home}/modules/jersey-media-sse.jar:${web.home}/modules/jersey-hk2.jar:${web.home}/modules/osgi-resource-locator.jar:${web.home}/modules/jakarta.inject-api.jar:${web.home}/modules/guava.jar:${web.home}/modules/hk2-api.jar:${web.home}/modules/hk2-locator.jar:${web.home}/modules/hk2-utils.jar:${web.home}/modules/javassist.jar:${web.home}/modules/cglib.jar:${web.home}/modules/jakarta.annotation-api.jar:${web.home}/modules/jakarta.xml.bind-api.jar:${web.home}/modules/jakarta.activation.jar"/>
+                                <tck-setting key="jaxrs_impl.classes" value="${web.home}/modules/parsson.jar:${web.home}/modules/jakarta.json.bind-api.jar:${web.home}/modules/parrson.jar:${web.home}/modules/jsonp-jaxrs.jar:${web.home}/modules/jersey-client.jar:${web.home}/modules/jersey-common.jar:${web.home}/modules/jersey-server.jar:${web.home}/modules/jersey-container-servlet.jar:${web.home}/modules/jersey-container-servlet-core.jar:${web.home}/modules/jersey-media-jaxb.jar:${web.home}/modules/jersey-media-sse.jar:${web.home}/modules/jersey-hk2.jar:${web.home}/modules/osgi-resource-locator.jar:${web.home}/modules/jakarta.inject-api.jar:${web.home}/modules/guava.jar:${web.home}/modules/hk2-api.jar:${web.home}/modules/hk2-locator.jar:${web.home}/modules/hk2-utils.jar:${web.home}/modules/javassist.jar:${web.home}/modules/cglib.jar:${web.home}/modules/jakarta.annotation-api.jar:${web.home}/modules/jakarta.xml.bind-api.jar:${web.home}/modules/jakarta.activation.jar"/>
                                 <tck-setting key="jaxrs_impl_lib" value="${web.home}/modules/jersey-container-servlet-core.jar"/>
                                 <tck-setting key="jaxrs.classes" value="${web.home}/modules/jakarta.ws.rs-api.jar"/>
                                 <tck-setting key="servlet_adaptor" value="org/glassfish/jersey/servlet/ServletContainer.class"/>
diff --git a/appserver/tests/tck/tck-download/jakarta-authentication-tck/pom.xml b/appserver/tests/tck/tck-download/jakarta-authentication-tck/pom.xml
index a9a8cb5..3de3af2 100644
--- a/appserver/tests/tck/tck-download/jakarta-authentication-tck/pom.xml
+++ b/appserver/tests/tck/tck-download/jakarta-authentication-tck/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck-download</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>6.2.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>jakarta-authentication-tck</artifactId>
diff --git a/appserver/tests/tck/tck-download/jakarta-authorization-tck/pom.xml b/appserver/tests/tck/tck-download/jakarta-authorization-tck/pom.xml
index e78bcc8..4306e11 100644
--- a/appserver/tests/tck/tck-download/jakarta-authorization-tck/pom.xml
+++ b/appserver/tests/tck/tck-download/jakarta-authorization-tck/pom.xml
@@ -16,19 +16,18 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck-download</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>jakarta-authorization-tck</artifactId>
     <packaging>pom</packaging>
+
     <name>TCK: Install Jakarta Authorization TCK</name>
 
     <properties>
@@ -77,5 +76,4 @@
             </plugin>
         </plugins>
     </build>
-
 </project>
diff --git a/appserver/tests/tck/tck-download/jakarta-faces-tck/pom.xml b/appserver/tests/tck/tck-download/jakarta-faces-tck/pom.xml
index b5598cb..f59e677 100644
--- a/appserver/tests/tck/tck-download/jakarta-faces-tck/pom.xml
+++ b/appserver/tests/tck/tck-download/jakarta-faces-tck/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck-download</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>6.2.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>jakarta-faces-tck</artifactId>
diff --git a/appserver/tests/tck/tck-download/jakarta-rest-tck/pom.xml b/appserver/tests/tck/tck-download/jakarta-rest-tck/pom.xml
index 448dc66..1318673 100644
--- a/appserver/tests/tck/tck-download/jakarta-rest-tck/pom.xml
+++ b/appserver/tests/tck/tck-download/jakarta-rest-tck/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck-download</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>6.2.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>jakarta-rest-tck</artifactId>
diff --git a/appserver/tests/tck/tck-download/javatest/pom.xml b/appserver/tests/tck/tck-download/javatest/pom.xml
index a6acd02..9c19d8d 100644
--- a/appserver/tests/tck/tck-download/javatest/pom.xml
+++ b/appserver/tests/tck/tck-download/javatest/pom.xml
@@ -16,19 +16,18 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck-download</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>javatest</artifactId>
     <packaging>pom</packaging>
+
     <name>TCK: Install Jakarta Authorization`s javatest</name>
 
     <properties>
diff --git a/appserver/tests/tck/tck-download/pom.xml b/appserver/tests/tck/tck-download/pom.xml
index aca7fa1..c698bec 100644
--- a/appserver/tests/tck/tck-download/pom.xml
+++ b/appserver/tests/tck/tck-download/pom.xml
@@ -17,19 +17,18 @@
 
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>tck-download</artifactId>
     <packaging>pom</packaging>
+
     <name>TCK: Download and Install Dependencies not in Maven Repos</name>
 
     <modules>
diff --git a/appserver/tests/tck/tck-download/tsharness/pom.xml b/appserver/tests/tck/tck-download/tsharness/pom.xml
index 893da8f..055731b 100644
--- a/appserver/tests/tck/tck-download/tsharness/pom.xml
+++ b/appserver/tests/tck/tck-download/tsharness/pom.xml
@@ -16,19 +16,18 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.glassfish.main.tests.tck</groupId>
         <artifactId>tck-download</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>tsharness</artifactId>
     <packaging>pom</packaging>
+
     <name>TCK: Install Jakarta Authorization`s tsharness</name>
 
     <dependencies>
diff --git a/appserver/tests/v2-tests/appserv-tests/config/emma.xml b/appserver/tests/v2-tests/appserv-tests/config/emma.xml
index 2f643fe..7c90a5a 100644
--- a/appserver/tests/v2-tests/appserv-tests/config/emma.xml
+++ b/appserver/tests/v2-tests/appserv-tests/config/emma.xml
@@ -179,7 +179,7 @@
     <!-- restore original EJB jar files -->
     <unzip src="${glassfish-zip-file}" dest="${tmp.gf.exploded.dir}"/>
     <copy todir="${glassfish.server.dir}/modules" overwrite="true">
-      <fileset dir="${tmp.gf.exploded.dir}/glassfish6/glassfish/modules/">
+      <fileset dir="${tmp.gf.exploded.dir}/glassfish7/glassfish/modules/">
         <include name="**/*.jar"/>
       </fileset>
     </copy>
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/appserv-commons/com/sun/enterprise/config/domain.orig.xml b/appserver/tests/v2-tests/appserv-tests/devtests/appserv-commons/com/sun/enterprise/config/domain.orig.xml
index 6799dfa..7dcd9e3 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/appserv-commons/com/sun/enterprise/config/domain.orig.xml
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/appserv-commons/com/sun/enterprise/config/domain.orig.xml
@@ -126,7 +126,7 @@
       <monitoring-service>
         <module-monitoring-levels thread-pool="OFF" orb="OFF" ejb-container="OFF" web-container="OFF" transaction-service="OFF" http-service="OFF" jdbc-connection-pool="OFF" connector-connection-pool="OFF" connector-service="OFF" jvm="OFF" jms-service="OFF"/>
       </monitoring-service>
-      <java-config java-home="${com.sun.aas.javaRoot}" debug-enabled="false" debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" rmic-options="-iiop -poa -alwaysgenerate -keepgenerated -g" javac-options="-g" server-classpath="${com.sun.aas.javaRoot}/lib/tools.jar${path.separator}${com.sun.aas.installRoot}/lib/install/applications/jmsra/imqjmsra.jar${path.separator}${com.sun.aas.imqLib}/jaxm-api.jar${path.separator}${com.sun.aas.imqLib}/fscontext.jar${path.separator}${com.sun.aas.installRoot}/lib/ant/lib/ant.jar${path.separator}${com.sun.aas.hadbRoot}/lib/hadbjdbc4.jar${path.separator}/usr/lib/audit/Audit.jar${path.separator}${com.sun.aas.jdmkHome}/lib/jdmkrt.jar" classpath-suffix="${com.sun.aas.installRoot}/pointbase/lib/pbclient.jar${path.separator}${com.sun.aas.installRoot}/pointbase/lib/pbembedded.jar" env-classpath-ignored="true">
+      <java-config java-home="${com.sun.aas.javaRoot}" debug-enabled="false" debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" rmic-options="-iiop -poa -alwaysgenerate -keepgenerated -g" javac-options="-g" server-classpath="${com.sun.aas.javaRoot}/lib/tools.jar${path.separator}${com.sun.aas.installRoot}/lib/install/applications/jmsra/imqjmsra.jar${path.separator}${com.sun.aas.imqLib}/fscontext.jar${path.separator}${com.sun.aas.installRoot}/lib/ant/lib/ant.jar${path.separator}${com.sun.aas.hadbRoot}/lib/hadbjdbc4.jar${path.separator}/usr/lib/audit/Audit.jar${path.separator}${com.sun.aas.jdmkHome}/lib/jdmkrt.jar" classpath-suffix="${com.sun.aas.installRoot}/pointbase/lib/pbclient.jar${path.separator}${com.sun.aas.installRoot}/pointbase/lib/pbembedded.jar" env-classpath-ignored="true">
         <!-- various required jvm-options -->
         <jvm-options>-client</jvm-options>
         <jvm-options>-Dcom.sun.enterprise.web.connector.useCoyoteConnector=true</jvm-options>
@@ -229,7 +229,7 @@
       <monitoring-service>
         <module-monitoring-levels thread-pool="OFF" orb="OFF" ejb-container="OFF" web-container="OFF" transaction-service="OFF" http-service="OFF" jdbc-connection-pool="OFF" connector-connection-pool="OFF"/>
       </monitoring-service>
-      <java-config java-home="${com.sun.aas.javaRoot}" debug-enabled="false" debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" rmic-options="-iiop -poa -alwaysgenerate -keepgenerated -g" javac-options="-g" server-classpath="${com.sun.aas.javaRoot}/lib/tools.jar${path.separator}${com.sun.aas.installRoot}/lib/install/applications/jmsra/imqjmsra.jar${path.separator}${com.sun.aas.imqLib}/jaxm-api.jar${path.separator}${com.sun.aas.imqLib}/fscontext.jar${path.separator}${com.sun.aas.installRoot}/lib/ant/lib/ant.jar${path.separator}${com.sun.aas.hadbRoot}/lib/hadbjdbc4.jar${path.separator}/usr/lib/audit/Audit.jar${path.separator}${com.sun.aas.jdmkHome}/lib/jdmkrt.jar" classpath-suffix="${com.sun.aas.installRoot}/pointbase/lib/pbclient.jar${path.separator}${com.sun.aas.installRoot}/pointbase/lib/pbembedded.jar" env-classpath-ignored="true">
+      <java-config java-home="${com.sun.aas.javaRoot}" debug-enabled="false" debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" rmic-options="-iiop -poa -alwaysgenerate -keepgenerated -g" javac-options="-g" server-classpath="${com.sun.aas.javaRoot}/lib/tools.jar${path.separator}${com.sun.aas.installRoot}/lib/install/applications/jmsra/imqjmsra.jar${path.separator}${com.sun.aas.imqLib}/fscontext.jar${path.separator}${com.sun.aas.installRoot}/lib/ant/lib/ant.jar${path.separator}${com.sun.aas.hadbRoot}/lib/hadbjdbc4.jar${path.separator}/usr/lib/audit/Audit.jar${path.separator}${com.sun.aas.jdmkHome}/lib/jdmkrt.jar" classpath-suffix="${com.sun.aas.installRoot}/pointbase/lib/pbclient.jar${path.separator}${com.sun.aas.installRoot}/pointbase/lib/pbembedded.jar" env-classpath-ignored="true">
         <!-- various required jvm-options -->
         <jvm-options>-client</jvm-options>
         <jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options>
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/hk2/README b/appserver/tests/v2-tests/appserv-tests/devtests/hk2/README
index 0994072..ff2526c 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/hk2/README
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/hk2/README
@@ -12,7 +12,7 @@
 1. Set the following variables:
 
 APS_HOME to the location of where v2/appserv-tests are checked out
-S1AS_HOME to <GlassFish install location>/glassfish6/glassfish
+S1AS_HOME to <GlassFish install location>/glassfish7/glassfish
 
 2. Make sure ant is in your path.  
 
diff --git a/appserver/transaction/internal-api/pom.xml b/appserver/transaction/internal-api/pom.xml
index a256cc8..3c71d2f 100644
--- a/appserver/transaction/internal-api/pom.xml
+++ b/appserver/transaction/internal-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.transaction</groupId>
         <artifactId>transaction</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/transaction/jta/pom.xml b/appserver/transaction/jta/pom.xml
index ec01c19..7a3f99a 100644
--- a/appserver/transaction/jta/pom.xml
+++ b/appserver/transaction/jta/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.transaction</groupId>
         <artifactId>transaction</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/transaction/jts/pom.xml b/appserver/transaction/jts/pom.xml
index a3d19fb..696645e 100644
--- a/appserver/transaction/jts/pom.xml
+++ b/appserver/transaction/jts/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.transaction</groupId>
         <artifactId>transaction</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>jts</artifactId>
diff --git a/appserver/transaction/pom.xml b/appserver/transaction/pom.xml
index c5207eb..8821ac0 100644
--- a/appserver/transaction/pom.xml
+++ b/appserver/transaction/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/admin/pom.xml b/appserver/web/admin/pom.xml
index dd78a2c..c718ef7 100644
--- a/appserver/web/admin/pom.xml
+++ b/appserver/web/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/cdi-api-fragment/pom.xml b/appserver/web/cdi-api-fragment/pom.xml
index fbd6e98..dff3a22 100644
--- a/appserver/web/cdi-api-fragment/pom.xml
+++ b/appserver/web/cdi-api-fragment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/gf-web-connector/pom.xml b/appserver/web/gf-web-connector/pom.xml
index f3347b7..0b9891a 100755
--- a/appserver/web/gf-web-connector/pom.xml
+++ b/appserver/web/gf-web-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/gf-weld-connector/pom.xml b/appserver/web/gf-weld-connector/pom.xml
index 5973d1c..5ceb9b3 100644
--- a/appserver/web/gf-weld-connector/pom.xml
+++ b/appserver/web/gf-weld-connector/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -53,5 +54,10 @@
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+            <optional>true</optional>
+        </dependency>
     </dependencies>
 </project>
diff --git a/appserver/web/gui-plugin-common/pom.xml b/appserver/web/gui-plugin-common/pom.xml
index ce5f82c..39b8104 100755
--- a/appserver/web/gui-plugin-common/pom.xml
+++ b/appserver/web/gui-plugin-common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/jersey-ejb-component-provider/pom.xml b/appserver/web/jersey-ejb-component-provider/pom.xml
index 6d6320f..2444650 100644
--- a/appserver/web/jersey-ejb-component-provider/pom.xml
+++ b/appserver/web/jersey-ejb-component-provider/pom.xml
@@ -17,17 +17,18 @@
 
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-ejb-component-provider</artifactId>
     <packaging>glassfish-jar</packaging>
+
     <name>Jersey EJB Component Provider Module</name>
 
     <dependencies>
diff --git a/appserver/web/jersey-mvc-connector/pom.xml b/appserver/web/jersey-mvc-connector/pom.xml
index 33e0699..87048b4 100644
--- a/appserver/web/jersey-mvc-connector/pom.xml
+++ b/appserver/web/jersey-mvc-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/jsf-connector/pom.xml b/appserver/web/jsf-connector/pom.xml
index 1f92404..e552c83 100644
--- a/appserver/web/jsf-connector/pom.xml
+++ b/appserver/web/jsf-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/jspcaching-connector/pom.xml b/appserver/web/jspcaching-connector/pom.xml
index 57c4ff5..dd3194c 100644
--- a/appserver/web/jspcaching-connector/pom.xml
+++ b/appserver/web/jspcaching-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/jstl-connector/pom.xml b/appserver/web/jstl-connector/pom.xml
index ce38a98..4eb671c 100644
--- a/appserver/web/jstl-connector/pom.xml
+++ b/appserver/web/jstl-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/pom.xml b/appserver/web/pom.xml
index b609230..08c7de1 100755
--- a/appserver/web/pom.xml
+++ b/appserver/web/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/war-util/pom.xml b/appserver/web/war-util/pom.xml
index 8f06edd..051195c 100755
--- a/appserver/web/war-util/pom.xml
+++ b/appserver/web/war-util/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -64,8 +64,8 @@
             <artifactId>jakarta.el-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
         </dependency>
         <dependency>
             <groupId>jakarta.servlet</groupId>
diff --git a/appserver/web/war-util/src/main/java/org/glassfish/web/loader/WebappClassLoader.java b/appserver/web/war-util/src/main/java/org/glassfish/web/loader/WebappClassLoader.java
index 4829ac1..755fc66 100644
--- a/appserver/web/war-util/src/main/java/org/glassfish/web/loader/WebappClassLoader.java
+++ b/appserver/web/war-util/src/main/java/org/glassfish/web/loader/WebappClassLoader.java
@@ -76,12 +76,12 @@
  * the delegation model recommended in the specification. The system class
  * loader will be queried first, then the local repositories, and only then
  * delegation to the parent class loader will occur. This allows the web
- * application to override any shared class except the classes from J2SE.
+ * application to override any shared class except the classes from Java SE.
  * Special handling is provided from the JAXP XML parser interfaces, the JNDI
  * interfaces, and the classes from the servlet API, which are never loaded
  * from the webapp repository.
  * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - Due to limitations in Jasper
+ * <strong>IMPLEMENTATION NOTE</strong> - Due to limitations in WaSP
  * compilation technology, any repository which contains classes from
  * the servlet API will be ignored by the class loader.
  * <p>
@@ -194,7 +194,7 @@
     protected URL[] repositoryURLs = null;
 
     /**
-     * Repositories translated as path in the work directory (for Jasper
+     * Repositories translated as path in the work directory (for WaSP
      * originally), but which is used to generate fake URLs should getURLs be
      * called.
      */
@@ -2400,7 +2400,7 @@
      * class loader or any class loader where this loader is a parent class
      * loader. Whilst {@link ResourceBundle#clearCache()} could be used there
      * are complications around the
-     * {@link org.apache.jasper.servlet.JasperLoader} that mean a reflection
+     * {@link org.glassfish.wasp.servlet.WaspLoader} that mean a reflection
      * based approach is more likely to be complete.
      *
      * The ResourceBundle is using WeakReferences so it shouldn't be pinning the
diff --git a/appserver/web/war-util/src/main/java/org/glassfish/web/util/IntrospectionUtils.java b/appserver/web/war-util/src/main/java/org/glassfish/web/util/IntrospectionUtils.java
index 4b08f47..0f64c93 100644
--- a/appserver/web/war-util/src/main/java/org/glassfish/web/util/IntrospectionUtils.java
+++ b/appserver/web/war-util/src/main/java/org/glassfish/web/util/IntrospectionUtils.java
@@ -240,8 +240,8 @@
     /**
      * Adds classpath entries from a vector of URL's to the "tc_path_add" System
      * property. This System property lists the classpath entries common to web
-     * applications. This System property is currently used by Jasper when its
-     * JSP servlet compiles the Java file for a JSP.
+     * applications. This System property is currently used by WaSP when its
+     * Jakarta Pages servlet compiles the Java file for a Jakarta Page.
      */
     public static String classPathAdd(URL urls[], String cp) {
         if (urls == null)
diff --git a/appserver/web/web-core/pom.xml b/appserver/web/web-core/pom.xml
index f3773d1..4aaaa55 100755
--- a/appserver/web/web-core/pom.xml
+++ b/appserver/web/web-core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/HttpResponse.java b/appserver/web/web-core/src/main/java/org/apache/catalina/HttpResponse.java
index 04be9d8..6b72908 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/HttpResponse.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/HttpResponse.java
@@ -94,6 +94,13 @@
      */
     public void reset(int status, String message);
 
+    /**
+     * Alternative to sendError that doesn't suspend the response and doesn't reset the buffer.
+     * @param status
+     * @param message
+     */
+    public void setError(int status, String message);
+
 
     /**
      * Send an acknowledgment of a request.   An acknowledgment in this
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java
index 6f766ea..bdabcac 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java
@@ -45,6 +45,7 @@
 import jakarta.servlet.DispatcherType;
 import jakarta.servlet.FilterChain;
 import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletConnection;
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletInputStream;
@@ -1019,6 +1020,7 @@
      * Return an Iterator containing the String names of all notes bindings
      * that exist for this request.
      */
+    @Override
     public Iterator<String> getNoteNames() {
         return notes.keySet().iterator();
     }
@@ -1472,27 +1474,6 @@
     }
 
     /**
-     * Return the real path of the specified virtual path.
-     *
-     * @param path Path to be translated
-     *
-     * @deprecated As of version 2.1 of the Java Servlet API, use
-     *  <code>ServletContext.getRealPath()</code>.
-     */
-    @Override
-    public String getRealPath(String path) {
-        if (servletContext == null) {
-            return null;
-        } else {
-            try {
-                return servletContext.getRealPath(path);
-            } catch (IllegalArgumentException e) {
-                return null;
-            }
-        }
-    }
-
-    /**
      * Return the remote IP address making this Request.
      */
     @Override
@@ -2018,7 +1999,7 @@
                             @Override
                             public Boolean run() {
                                 try {
-                                    return Boolean.valueOf(realm.invokeAuthenticateDelegate(req, (HttpResponse) getResponse(), context, (AuthenticatorBase) authBase, true));
+                                    return Boolean.valueOf(realm.invokeAuthenticateDelegate(req, (HttpResponse) getResponse(), context, authBase, true));
                                 } catch (IOException ex) {
                                     throw new RuntimeException("Exception thrown while attempting to authenticate", ex);
                                 }
@@ -2026,7 +2007,7 @@
                         });
                         return ret.booleanValue();
                     } else {
-                        return realm.invokeAuthenticateDelegate(req, (HttpResponse) getResponse(), context, (AuthenticatorBase) authBase, true);
+                        return realm.invokeAuthenticateDelegate(req, (HttpResponse) getResponse(), context, authBase, true);
                     }
 
                 } catch (Exception ex) {
@@ -2774,18 +2755,6 @@
     }
 
     /**
-     * Return <code>true</code> if the session identifier included in this
-     * request came from the request URI.
-     *
-     * @deprecated As of Version 2.1 of the Java Servlet API, use
-     *  <code>isRequestedSessionIdFromURL()</code> instead.
-     */
-    @Override
-    public boolean isRequestedSessionIdFromUrl() {
-        return isRequestedSessionIdFromURL();
-    }
-
-    /**
      * Marks (or unmarks) this request as having a JSESSIONID cookie
      * that is marked as secure
      *
@@ -4531,6 +4500,24 @@
             context.getManager().isSessionVersioningSupported();
     }
 
+    @Override
+    public String getRequestId() {
+        // TODO Implement!
+        return null;
+    }
+
+    @Override
+    public String getProtocolRequestId() {
+        // TODO Implement!
+        return null;
+    }
+
+    @Override
+    public ServletConnection getServletConnection() {
+        // TODO Implement!
+        return null;
+    }
+
     /**
      * This class will be invoked by Grizzly when a suspended operation is
      * resumed {@link org.glassfish.grizzly.http.server.Response#resume} or has timed out.
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/RequestFacade.java b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/RequestFacade.java
index 56201ce..57a2a19 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/RequestFacade.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/RequestFacade.java
@@ -60,6 +60,7 @@
     private final class GetAttributePrivilegedAction
             implements PrivilegedAction<Enumeration<String>> {
 
+        @Override
         public Enumeration<String> run() {
             return request.getAttributeNames();
         }
@@ -69,6 +70,7 @@
     private final class GetParameterMapPrivilegedAction
             implements PrivilegedAction<Map<String, String[]>> {
 
+        @Override
         public Map<String, String[]> run() {
             return request.getParameterMap();
         }
@@ -84,6 +86,7 @@
             this.path = path;
         }
 
+        @Override
         public RequestDispatcher run() {
             return request.getRequestDispatcher(path);
         }
@@ -99,6 +102,7 @@
             this.name = name;
         }
 
+        @Override
         public String run() {
             return request.getParameter(name);
         }
@@ -108,6 +112,7 @@
     private final class GetParameterNamesPrivilegedAction
             implements PrivilegedAction<Enumeration<String>> {
 
+        @Override
         public Enumeration<String> run() {
             return request.getParameterNames();
         }
@@ -123,6 +128,7 @@
             this.name = name;
         }
 
+        @Override
         public String[] run() {
             return request.getParameterValues(name);
         }
@@ -132,6 +138,7 @@
     private final class GetCookiesPrivilegedAction
             implements PrivilegedAction<Cookie[]> {
 
+        @Override
         public Cookie[] run() {
             return request.getCookies();
         }
@@ -141,6 +148,7 @@
     private final class GetCharacterEncodingPrivilegedAction
             implements PrivilegedAction<String> {
 
+        @Override
         public String run() {
             return request.getCharacterEncoding();
         }
@@ -156,6 +164,7 @@
             this.name = name;
         }
 
+        @Override
         public Enumeration<String> run() {
             return request.getHeaders(name);
         }
@@ -165,6 +174,7 @@
     private final class GetHeaderNamesPrivilegedAction
             implements PrivilegedAction<Enumeration<String>> {
 
+        @Override
         public Enumeration<String> run() {
             return request.getHeaderNames();
         }
@@ -174,6 +184,7 @@
     private final class GetLocalePrivilegedAction
             implements PrivilegedAction<Locale> {
 
+        @Override
         public Locale run() {
             return request.getLocale();
         }
@@ -183,6 +194,7 @@
     private final class GetLocalesPrivilegedAction
             implements PrivilegedAction<Enumeration<Locale>> {
 
+        @Override
         public Enumeration<Locale> run() {
             return request.getLocales();
         }
@@ -197,6 +209,7 @@
             this.create = create;
         }
 
+        @Override
         public HttpSession run() {
             return request.getSession(create);
         }
@@ -205,6 +218,7 @@
     private final class ChangeSessionIdPrivilegedAction
             implements PrivilegedAction<String> {
 
+        @Override
         public String run() {
             return request.changeSessionId();
         }
@@ -276,6 +290,7 @@
     /**
     * Prevent cloning the facade.
     */
+    @Override
     protected Object clone()
         throws CloneNotSupportedException {
         throw new CloneNotSupportedException();
@@ -392,6 +407,7 @@
         return request.getInputStream();
     }
 
+    @Override
     public HttpServletMapping getHttpServletMapping() {
 
         if (request == null) {
@@ -401,6 +417,7 @@
         return request.getHttpServletMapping();
     }
 
+    @Override
     public String getParameter(String name) {
 
         if (request == null) {
@@ -447,7 +464,7 @@
             ret = AccessController.doPrivileged(
                 new GetParameterValuePrivilegedAction(name));
             if (ret != null) {
-                ret = (String[]) ret.clone();
+                ret = ret.clone();
             }
         } else {
             ret = request.getParameterValues(name);
@@ -617,16 +634,6 @@
     }
 
     @Override
-    public String getRealPath(String path) {
-
-        if (request == null) {
-            throw new IllegalStateException(rb.getString(LogFacade.CANNOT_USE_REQUEST_OBJECT_OUTSIDE_SCOPE_EXCEPTION));
-        }
-
-        return request.getRealPath(path);
-    }
-
-    @Override
     public String getAuthType() {
 
         if (request == null) {
@@ -653,7 +660,7 @@
             ret = AccessController.doPrivileged(
                 new GetCookiesPrivilegedAction());
             if (ret != null) {
-                ret = (Cookie[]) ret.clone();
+                ret = ret.clone();
             }
         } else {
             ret = request.getCookies();
@@ -950,16 +957,6 @@
     }
 
     @Override
-    public boolean isRequestedSessionIdFromUrl() {
-
-        if (request == null) {
-            throw new IllegalStateException(rb.getString(LogFacade.CANNOT_USE_REQUEST_OBJECT_OUTSIDE_SCOPE_EXCEPTION));
-        }
-
-        return request.isRequestedSessionIdFromURL();
-    }
-
-    @Override
     public String getLocalAddr() {
 
         if (request == null) {
@@ -1144,4 +1141,25 @@
         return request;
     }
     //END S1AS 4703023
+
+
+    @Override
+    public String getRequestId() {
+        // TODO Implement!
+        return null;
+    }
+
+
+    @Override
+    public String getProtocolRequestId() {
+        // // TODO Implement!
+        return null;
+    }
+
+
+    @Override
+    public ServletConnection getServletConnection() {
+        // // TODO Implement!
+        return null;
+    }
 }
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Response.java b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Response.java
index 69438aa..02203d8 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Response.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Response.java
@@ -1548,6 +1548,10 @@
         setStatus(status, null);
     }
 
+    public void setError(int status, String message) {
+        setStatus(status, message);
+    }
+
 
     /**
      * Set the HTTP status and message to be returned with this response.
@@ -1555,12 +1559,8 @@
      * @param status The new HTTP status
      * @param message The associated text message
      *
-     * @deprecated As of Version 2.1 of the Java Servlet API, this method
-     *  has been deprecated due to the ambiguous meaning of the message
-     *  parameter.
      */
-    public void setStatus(int status, String message) {
-
+    private void setStatus(int status, String message) {
         if (isCommitted())
             return;
 
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/ResponseFacade.java b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/ResponseFacade.java
index af4d091..29001be 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/ResponseFacade.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/ResponseFacade.java
@@ -273,6 +273,7 @@
                 AccessController.doPrivileged(
                         new PrivilegedExceptionAction<Void>(){
 
+                    @Override
                     public Void run() throws IOException{
                         response.setAppCommitted(true);
 
@@ -407,28 +408,6 @@
     }
 
     @Override
-    public String encodeUrl(String url) {
-
-        // Disallow operation if the object has gone out of scope
-        if (response == null) {
-            throw new IllegalStateException(rb.getString(LogFacade.NULL_RESPONSE_OBJECT));
-        }
-
-        return response.encodeURL(url);
-    }
-
-    @Override
-    public String encodeRedirectUrl(String url) {
-
-        // Disallow operation if the object has gone out of scope
-        if (response == null) {
-            throw new IllegalStateException(rb.getString(LogFacade.NULL_RESPONSE_OBJECT));
-        }
-
-        return response.encodeRedirectURL(url);
-    }
-
-    @Override
     public void sendError(int sc, String msg) throws IOException {
 
         // Disallow operation if the object has gone out of scope
@@ -578,20 +557,6 @@
     }
 
     @Override
-    public void setStatus(int sc, String msg) {
-
-        // Disallow operation if the object has gone out of scope
-        if (response == null) {
-            throw new IllegalStateException(rb.getString(LogFacade.NULL_RESPONSE_OBJECT));
-        }
-
-        if (isCommitted())
-            return;
-
-        response.setStatus(sc, msg);
-    }
-
-    @Override
     public String getContentType() {
 
         // Disallow operation if the object has gone out of scope
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContext.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContext.java
index 961f720..4eb84a1 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContext.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContext.java
@@ -17,23 +17,45 @@
 
 package org.apache.catalina.core;
 
-import org.apache.catalina.*;
-import org.apache.catalina.deploy.ApplicationParameter;
-import org.apache.catalina.util.Enumerator;
-import org.apache.catalina.util.ServerInfo;
-
-import javax.naming.directory.DirContext;
-import jakarta.servlet.*;
-import jakarta.servlet.descriptor.JspConfigDescriptor;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.*;
-import java.util.concurrent.ConcurrentMap;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.EventListener;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.ResourceBundle;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import javax.naming.directory.DirContext;
+
+import org.apache.catalina.ContainerEvent;
+import org.apache.catalina.Globals;
+import org.apache.catalina.LogFacade;
+import org.apache.catalina.util.Enumerator;
+import org.apache.catalina.util.ServerInfo;
+
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextAttributeEvent;
+import jakarta.servlet.ServletContextAttributeListener;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRegistration;
+import jakarta.servlet.SessionCookieConfig;
+import jakarta.servlet.SessionTrackingMode;
+import jakarta.servlet.descriptor.JspConfigDescriptor;
+
 
 /**
  * Standard implementation of <code>ServletContext</code> that represents
@@ -379,14 +401,6 @@
     }
 
     /**
-     * @deprecated As of Java Servlet API 2.1, with no direct replacement.
-     */
-    @Override
-    public Servlet getServlet(String name) {
-        return (null);
-    }
-
-    /**
      * Return the display name of this web application.
      */
     @Override
@@ -395,22 +409,6 @@
     }
 
     /**
-     * @deprecated As of Java Servlet API 2.1, with no direct replacement.
-     */
-    @Override
-    public Enumeration<String> getServletNames() {
-        return (new Enumerator<String>(emptyString));
-    }
-
-    /**
-     * @deprecated As of Java Servlet API 2.1, with no direct replacement.
-     */
-    @Override
-    public Enumeration<Servlet> getServlets() {
-        return (new Enumerator<Servlet>(emptyServlet));
-    }
-
-    /**
      * Writes the specified message to a servlet log file.
      *
      * @param message Message to be written
@@ -421,20 +419,6 @@
     }
 
     /**
-     * Writes the specified exception and message to a servlet log file.
-     *
-     * @param exception Exception to be reported
-     * @param message Message to be written
-     *
-     * @deprecated As of Java Servlet API 2.1, use
-     *  <code>log(String, Throwable)</code> instead
-     */
-    @Override
-    public void log(Exception exception, String message) {
-        context.log(exception, message);
-    }
-
-    /**
      * Writes the specified message and exception to a servlet log file.
      *
      * @param message Message to be written
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java
index 19a430f..b15e120 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java
@@ -262,60 +262,6 @@
         }
     }
 
-
-    /**
-     * @deprecated As of Java Servlet API 2.1, with no direct replacement.
-     */
-    @Override
-    @Deprecated
-    public Servlet getServlet(String name)
-        throws ServletException {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            try {
-                return (Servlet) invokeMethod(context, "getServlet",
-                                              new Object[]{name});
-            } catch (Throwable t) {
-                if (t instanceof ServletException) {
-                    throw (ServletException) t;
-                }
-                return null;
-            }
-        } else {
-            return context.getServlet(name);
-        }
-    }
-
-
-    /**
-     * @deprecated As of Java Servlet API 2.1, with no direct replacement.
-     */
-    @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
-    @Deprecated
-    public Enumeration<Servlet> getServlets() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Enumeration<Servlet>) doPrivileged("getServlets", null);
-        } else {
-            return context.getServlets();
-        }
-    }
-
-
-    /**
-     * @deprecated As of Java Servlet API 2.1, with no direct replacement.
-     */
-    @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
-    @Deprecated
-    public Enumeration<String> getServletNames() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Enumeration<String>) doPrivileged("getServletNames", null);
-        } else {
-            return context.getServletNames();
-        }
-   }
-
-
     @Override
     public void log(String msg) {
         if (SecurityUtil.isPackageProtectionEnabled()) {
@@ -325,23 +271,6 @@
         }
     }
 
-
-    /**
-     * @deprecated As of Java Servlet API 2.1, use
-     *  <code>log(String, Throwable)</code> instead
-     */
-    @Override
-    @Deprecated
-    public void log(Exception exception, String msg) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("log", new Class[]{Exception.class, String.class},
-                         new Object[]{exception,msg});
-        } else {
-            context.log(exception, msg);
-        }
-    }
-
-
     @Override
     public void log(String message, Throwable throwable) {
         if (SecurityUtil.isPackageProtectionEnabled()) {
@@ -1024,6 +953,7 @@
 
         if (Globals.IS_SECURITY_ENABLED){
            return AccessController.doPrivileged(new PrivilegedExceptionAction<Object>(){
+                @Override
                 public Object run() throws IllegalAccessException, InvocationTargetException{
                     return method.invoke(context,  params);
                 }
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationDispatcherForward.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationDispatcherForward.java
index 55a9229..30f5aa0 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationDispatcherForward.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationDispatcherForward.java
@@ -269,7 +269,7 @@
         String message = errorPage.getReason();
         if (message != null && !response.isCommitted()) {
             response.reset();
-            response.setStatus(statusCode, message);
+            response.sendError(statusCode, message);
         }
 
         try {
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java
index dcd4e59..55ecb55 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java
@@ -106,6 +106,7 @@
      * @exception IllegalStateException if the response has already
      *  been committed
      */
+    @Override
     public void reset() {
 
         // If already committed, the wrapped response will throw ISE
@@ -120,6 +121,7 @@
      *
      * @param len The new content length
      */
+    @Override
     public void setContentLength(int len) {
 
         if (!included)
@@ -133,6 +135,7 @@
      *
      * @param type The new content type
      */
+    @Override
     public void setContentType(String type) {
 
         if (!included)
@@ -146,6 +149,7 @@
      *
      * @param loc The new locale
      */
+    @Override
     public void setLocale(Locale loc) {
 
         if (!included)
@@ -159,6 +163,7 @@
      *
      * @param size The buffer size
      */
+    @Override
     public void setBufferSize(int size) {
         if (!included)
             getResponse().setBufferSize(size);
@@ -173,6 +178,7 @@
      *
      * @param cookie The new cookie
      */
+    @Override
     public void addCookie(Cookie cookie) {
 
         if (!included)
@@ -187,6 +193,7 @@
      * @param name The new header name
      * @param value The new header value
      */
+    @Override
     public void addDateHeader(String name, long value) {
 
         if (!included)
@@ -201,6 +208,7 @@
      * @param name The new header name
      * @param value The new header value
      */
+    @Override
     public void addHeader(String name, String value) {
 
         if (!included)
@@ -215,6 +223,7 @@
      * @param name The new header name
      * @param value The new header value
      */
+    @Override
     public void addIntHeader(String name, int value) {
 
         if (!included)
@@ -230,6 +239,7 @@
      *
      * @exception IOException if an input/output error occurs
      */
+    @Override
     public void sendError(int sc) throws IOException {
 
         if (!included)
@@ -246,6 +256,7 @@
      *
      * @exception IOException if an input/output error occurs
      */
+    @Override
     public void sendError(int sc, String msg) throws IOException {
 
         if (!included)
@@ -261,6 +272,7 @@
      *
      * @exception IOException if an input/output error occurs
      */
+    @Override
     public void sendRedirect(String location) throws IOException {
 
         if (!included)
@@ -275,6 +287,7 @@
      * @param name The new header name
      * @param value The new header value
      */
+    @Override
     public void setDateHeader(String name, long value) {
 
         if (!included)
@@ -289,6 +302,7 @@
      * @param name The new header name
      * @param value The new header value
      */
+    @Override
     public void setHeader(String name, String value) {
 
         if (!included)
@@ -303,6 +317,7 @@
      * @param name The new header name
      * @param value The new header value
      */
+    @Override
     public void setIntHeader(String name, int value) {
 
         if (!included)
@@ -316,6 +331,7 @@
      *
      * @param sc The new status code
      */
+    @Override
     public void setStatus(int sc) {
 
         if (!included)
@@ -324,20 +340,6 @@
     }
 
 
-    /**
-     * Disallow <code>setStatus()</code> calls on an included response.
-     *
-     * @param sc The new status code
-     * @param msg The new message
-     */
-    public void setStatus(int sc, String msg) {
-
-        if (!included)
-            ((HttpServletResponse) getResponse()).setStatus(sc, msg);
-
-    }
-
-
     // -------------------------------------------------------- Package Methods
 
 
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java
index cb967fb..7567299 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997-2018 Oracle and/or its affiliates. All rights reserved.
  * Copyright 2004 The Apache Software Foundation
  *
@@ -25,7 +26,7 @@
     public static final int MINOR_VERSION = 0;
 
     public static final String JSP_SERVLET_CLASS =
-        "org.apache.jasper.servlet.JspServlet";
+        "org.glassfish.wasp.servlet.JspServlet";
 
     public static final String JSP_SERVLET_NAME = "jsp";
 
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyRequest.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyRequest.java
index b89c343..b32c885 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyRequest.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyRequest.java
@@ -34,6 +34,7 @@
 import jakarta.servlet.DispatcherType;
 import jakarta.servlet.FilterChain;
 import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletConnection;
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletInputStream;
@@ -85,217 +86,343 @@
     // END PWC 4707989
 
     private static Enumeration<String> dummyEnum = new Enumeration<String>(){
+        @Override
         public boolean hasMoreElements(){
             return false;
         }
+        @Override
         public String nextElement(){
             return null;
         }
     };
 
+    @Override
     public String getContextPath() {
         return null;
     }
 
+    @Override
     public ServletRequest getRequest() {
         return this;
     }
 
+    @Override
     public ServletRequest getRequest(boolean maskDefaultContextMapping) {
         return getRequest();
     }
 
+    @Override
     public String getDecodedRequestURI() {
         return null;
     }
 
+    @Override
     public FilterChain getFilterChain() {
         return filterChain;
     }
 
+    @Override
     public void setFilterChain(FilterChain filterChain) {
         this.filterChain = filterChain;
     }
 
+    @Override
     public String getQueryString() {
         return queryString;
     }
 
+    @Override
     public void setQueryString(String query) {
         queryString = query;
     }
 
+    @Override
     public String getPathInfo() {
         return pathInfo;
     }
 
+    @Override
     public void setPathInfo(String path) {
         pathInfo = path;
     }
 
+    @Override
     public DataChunk getRequestPathMB() {
         return null;
     }
 
+    @Override
     public String getServletPath() {
         return servletPath;
     }
 
+    @Override
     public void setServletPath(String path) {
         servletPath = path;
     }
 
+    @Override
     public Wrapper getWrapper() {
         return wrapper;
     }
 
+    @Override
     public void setWrapper(Wrapper wrapper) {
         this.wrapper = wrapper;
     }
 
     // START PWC 4707989
+    @Override
     public void setMethod(String method) {
         this.method = method;
     }
 
+    @Override
     public String getMethod() {
         return method;
     }
     // END PWC 4707989
 
+    @Override
     public String getAuthorization() { return null; }
+    @Override
     public Connector getConnector() { return null; }
+    @Override
     public void setConnector(Connector connector) {}
+    @Override
     public Context getContext() { return null; }
+    @Override
     public void setContext(Context context) {}
+    @Override
     public Host getHost() { return null; }
+    @Override
     public void setHost(Host host) {}
+    @Override
     public String getInfo() { return null; }
+    @Override
     public Response getResponse() { return null; }
+    @Override
     public void setResponse(Response response) {}
+    @Override
     public Socket getSocket() { return null; }
+    @Override
     public void setSocket(Socket socket) {}
+    @Override
     public InputStream getStream() { return null; }
+    @Override
     public void setStream(InputStream input) {}
+    @Override
     public void addLocale(Locale locale) {}
+    @Override
     public ServletInputStream createInputStream() throws IOException {
         return null;
     }
+    @Override
     public void finishRequest() throws IOException {}
+    @Override
     public Object getNote(String name) { return null; }
+    @Override
     public Iterator<String> getNoteNames() { return null; }
+    @Override
     public void removeNote(String name) {}
+    @Override
     public void setContentType(String type) {}
+    @Override
     public void setNote(String name, Object value) {}
+    @Override
     public void setProtocol(String protocol) {}
+    @Override
     public void setRemoteAddr(String remoteAddr) {}
     public void setRemoteHost(String remoteHost) {}
+    @Override
     public void setServerName(String name) {}
+    @Override
     public void setServerPort(int port) {}
+    @Override
     public Object getAttribute(String name) { return null; }
+    @Override
     public Enumeration<String> getAttributeNames() { return null; }
+    @Override
     public String getCharacterEncoding() { return null; }
+    @Override
     public int getContentLength() { return -1; }
+    @Override
     public long getContentLengthLong() { return -1L; }
+    @Override
     public void setContentLength(int length) {}
+    @Override
     public String getContentType() { return null; }
+    @Override
     public ServletInputStream getInputStream() throws IOException {
         return null;
     }
+    @Override
     public Locale getLocale() { return null; }
+    @Override
     public Enumeration<Locale> getLocales() { return null; }
+    @Override
     public String getProtocol() { return null; }
+    @Override
     public BufferedReader getReader() throws IOException { return null; }
     public String getRealPath(String path) { return null; }
+    @Override
     public String getRemoteAddr() { return null; }
+    @Override
     public String getRemoteHost() { return null; }
+    @Override
     public String getScheme() { return null; }
+    @Override
     public String getServerName() { return null; }
+    @Override
     public int getServerPort() { return -1; }
+    @Override
     public boolean isSecure() { return false; }
+    @Override
     public void removeAttribute(String name) {}
+    @Override
     public void setAttribute(String name, Object value) {}
+    @Override
     public void setCharacterEncoding(String enc)
         throws UnsupportedEncodingException {}
+    @Override
     public void addCookie(Cookie cookie) {}
+    @Override
     public void addHeader(String name, String value) {}
+    @Override
     public void addParameter(String name, String values[]) {}
+    @Override
     public void clearCookies() {}
+    @Override
     public void clearHeaders() {}
+    @Override
     public void clearLocales() {}
+    @Override
     public void clearParameters() {}
+    @Override
     public void replayPayload(byte[] payloadByteArray) {}
+    @Override
     public void recycle() {}
+    @Override
     public void setAuthType(String authType) {}
     /* START PWC 4707989
     public void setMethod(String method) {}
     */
+    @Override
     public void setRequestedSessionCookie(boolean flag) {}
+    @Override
     public void setRequestedSessionId(String id) {}
+    @Override
     public void setRequestedSessionURL(boolean flag) {}
+    @Override
     public void setRequestURI(String uri) {}
+    @Override
     public void setSecure(boolean secure) {}
+    @Override
     public void setUserPrincipal(Principal principal) {}
+    @Override
     public String getParameter(String name) { return null; }
+    @Override
     public Map<String, String[]> getParameterMap() { return null; }
+    @Override
     public Enumeration<String> getParameterNames() { return dummyEnum; }
+    @Override
     public String[] getParameterValues(String name) { return null; }
+    @Override
     public RequestDispatcher getRequestDispatcher(String path) {
         return null;
     }
+    @Override
     public String getAuthType() { return null; }
+    @Override
     public Cookie[] getCookies() { return null; }
+    @Override
     public long getDateHeader(String name) { return -1; }
+    @Override
     public String getHeader(String name) { return null; }
+    @Override
     public Enumeration<String> getHeaders(String name) { return null; }
+    @Override
     public Enumeration<String> getHeaderNames() { return null; }
+    @Override
     public int getIntHeader(String name) { return -1; }
     /* START PWC 4707989
     public String getMethod() { return null; }
     */
+    @Override
     public String getPathTranslated() { return null; }
+    @Override
     public String getRemoteUser() { return null; }
+    @Override
     public String getRequestedSessionId() { return null; }
+    @Override
     public String getRequestURI() { return null; }
+    @Override
     public StringBuffer getRequestURL() { return null; }
+    @Override
     public HttpSession getSession() { return null; }
+    @Override
     public HttpSession getSession(boolean create) { return null; }
+    @Override
     public Session getSessionInternal(boolean create) { return null; }
+    @Override
     public String changeSessionId() { return null; }
+    @Override
     public boolean isRequestedSessionIdFromCookie() { return false; }
+    @Override
     public boolean isRequestedSessionIdFromURL() { return false; }
     public boolean isRequestedSessionIdFromUrl() { return false; }
+    @Override
     public boolean isRequestedSessionIdValid() { return false; }
+    @Override
     public void setRequestedSessionCookiePath(String cookiePath) {}
+    @Override
     public boolean isUserInRole(String role) { return false; }
+    @Override
     public Principal getUserPrincipal() { return null; }
+    @Override
     public String getLocalAddr() { return null; }
+    @Override
     public String getLocalName() { return null; }
+    @Override
     public int getLocalPort() { return -1; }
+    @Override
     public int getRemotePort() { return -1; }
+    @Override
     public DispatcherType getDispatcherType() { return null; }
+    @Override
     public AsyncContext startAsync() throws IllegalStateException { return null; }
+    @Override
     public AsyncContext startAsync(ServletRequest servletRequest,
                                    ServletResponse servletResponse)
             throws IllegalStateException { return null; }
+    @Override
     public boolean isAsyncStarted() { return false; }
+    @Override
     public boolean isAsyncSupported() { return false; }
     public void setAsyncTimeout(long timeout) {}
     public long getAsyncTimeout() { return -1; }
+    @Override
     public AsyncContext getAsyncContext() { return null; }
     public void addAsyncListener(AsyncListener listener) {};
     public void addAsyncListener(AsyncListener listener,
                                  ServletRequest servletRequest,
                                  ServletResponse servletResponse) {}
     public boolean isSetAsyncTimeoutCalled() { return false; }
+    @Override
     public void disableAsyncSupport() {}
+    @Override
     public Collection<Part> getParts() {return null;}
+    @Override
     public Part getPart(String name) {return null;}
+    @Override
     public boolean authenticate(HttpServletResponse response)
         throws IOException, ServletException { return false; }
+    @Override
     public void login(String username, String password)
         throws ServletException {}
+    @Override
     public void logout() throws ServletException {}
+    @Override
     public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) { return null; }
 
     // START CR 6415120
@@ -303,6 +430,7 @@
      * Set whether or not access to resources under WEB-INF or META-INF
      * needs to be checked.
      */
+    @Override
     public void setCheckRestrictedResources(boolean check) {
         checkRestrictedResources = check;
     }
@@ -311,6 +439,7 @@
      * Return whether or not access to resources under WEB-INF or META-INF
      * needs to be checked.
      */
+    @Override
     public boolean getCheckRestrictedResources() {
         return checkRestrictedResources;
     }
@@ -325,6 +454,7 @@
      * @return The jroute id of this request, or null if this request does not
      * carry any jroute id
      */
+    @Override
     public String getJrouteId() {
         return null;
     }
@@ -334,6 +464,7 @@
      * This object does not implement a session ID generator. Provide
      * a dummy implementation so that the default one will be used.
      */
+    @Override
     public String generateSessionId() {
         return null;
     }
@@ -345,15 +476,36 @@
      * @return the servlet context to which this servlet request was last
      * dispatched
      */
+    @Override
     public ServletContext getServletContext() {
         return null;
     }
 
+    @Override
     public Session lockSession() {
         return null;
     }
 
+    @Override
     public void unlockSession() {}
 
+    @Override
+    public String getRequestId() {
+        // TODO IMPLEMENT!
+        return null;
+    }
+
+    @Override
+    public String getProtocolRequestId() {
+        // TODO IMPLEMENT!
+        return null;
+    }
+
+    @Override
+    public ServletConnection getServletConnection() {
+        // TODO IMPLEMENT!
+        return null;
+    }
+
 }
 
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyResponse.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyResponse.java
index c85aeef..1266e06 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyResponse.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/DummyResponse.java
@@ -117,6 +117,7 @@
     public void sendAcknowledgement() throws IOException {}
     public void sendError(int status) throws IOException {}
     public void sendError(int status, String message) throws IOException {}
+    public void setError(int status, String message) {}
     public void sendRedirect(String location) throws IOException {}
     public void setDateHeader(String name, long value) {}
     public void setHeader(String name, String value) {}
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/SessionCookieConfigImpl.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/SessionCookieConfigImpl.java
index 7076715..2636e5b 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/SessionCookieConfigImpl.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/SessionCookieConfigImpl.java
@@ -20,6 +20,7 @@
 import org.apache.catalina.LogFacade;
 
 import java.text.MessageFormat;
+import java.util.Map;
 import java.util.ResourceBundle;
 import java.util.logging.Logger;
 import jakarta.servlet.SessionCookieConfig;
@@ -57,6 +58,7 @@
      * from which this <tt>SessionCookieConfig</tt> was acquired has
      * already been initialized
      */
+    @Override
     public void setName(String name) {
         if (ctx.isContextInitializedCalled()) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SESSION_COOKIE_CONFIG_ALREADY_INIT),
@@ -73,6 +75,7 @@
      * @return the cookie name set via {@link #setName}, or
      * <tt>JSESSIONID</tt> if {@link #setName} was never called
      */
+    @Override
     public String getName() {
         return name;
     }
@@ -85,6 +88,7 @@
      * from which this <tt>SessionCookieConfig</tt> was acquired has
      * already been initialized
      */
+    @Override
     public void setDomain(String domain) {
         if (ctx.isContextInitializedCalled()) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SESSION_COOKIE_CONFIG_ALREADY_INIT),
@@ -100,6 +104,7 @@
      * @return the cookie domain set via {@link #setDomain}, or
      * <tt>null</tt> if {@link #setDomain} was never called
      */
+    @Override
     public String getDomain() {
         return domain;
     }
@@ -112,6 +117,7 @@
      * from which this <tt>SessionCookieConfig</tt> was acquired has
      * already been initialized
      */
+    @Override
     public void setPath(String path) {
         if (ctx.isContextInitializedCalled()) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SESSION_COOKIE_CONFIG_ALREADY_INIT),
@@ -129,6 +135,7 @@
      * <tt>SessionCookieConfig</tt> was acquired if {@link #setPath}
      * was never called
      */
+    @Override
     public String getPath() {
         return path;
     }
@@ -141,6 +148,7 @@
      * from which this <tt>SessionCookieConfig</tt> was acquired has
      * already been initialized
      */
+    @Override
     public void setComment(String comment) {
         if (ctx.isContextInitializedCalled()) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SESSION_COOKIE_CONFIG_ALREADY_INIT),
@@ -156,6 +164,7 @@
      * @return the cookie comment set via {@link #setComment}, or
      * <tt>null</tt> if {@link #setComment} was never called
      */
+    @Override
     public String getComment() {
         return comment;
     }
@@ -171,6 +180,7 @@
      * from which this <tt>SessionCookieConfig</tt> was acquired has
      * already been initialized
      */
+    @Override
     public void setHttpOnly(boolean httpOnly) {
         if (ctx.isContextInitializedCalled()) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SESSION_COOKIE_CONFIG_ALREADY_INIT),
@@ -187,6 +197,7 @@
      * <tt>ServletContext</tt> from which this <tt>SessionCookieConfig</tt>
      * was acquired will be marked as <i>HttpOnly</i>, false otherwise
      */
+    @Override
     public boolean isHttpOnly() {
         return httpOnly;
     }
@@ -205,6 +216,7 @@
      * from which this <tt>SessionCookieConfig</tt> was acquired has
      * already been initialized
      */
+    @Override
     public void setSecure(boolean secure) {
         if (ctx.isContextInitializedCalled()) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SESSION_COOKIE_CONFIG_ALREADY_INIT),
@@ -225,11 +237,13 @@
      * only if the request that initiated the corresponding session was
      * also secure
      */
+    @Override
     public boolean isSecure() {
         return secure;
     }
 
 
+    @Override
     public void setMaxAge(int maxAge) {
         if (ctx.isContextInitializedCalled()) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SESSION_COOKIE_CONFIG_ALREADY_INIT),
@@ -241,8 +255,30 @@
     }
 
 
+    @Override
     public int getMaxAge() {
         return maxAge;
     }
 
+
+    @Override
+    public void setAttribute(String name, String value) {
+        // TODO IMPLEMENT!
+
+    }
+
+
+    @Override
+    public String getAttribute(String name) {
+        // TODO IMPLEMENT!
+        return null;
+    }
+
+
+    @Override
+    public Map<String, String> getAttributes() {
+        // TODO IMPLEMENT!
+        return null;
+    }
+
 }
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardContext.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardContext.java
index 66f26cd..0270c74 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardContext.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardContext.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997-2018 Oracle and/or its affiliates. All rights reserved.
  * Copyright 2004 The Apache Software Foundation
  *
@@ -54,6 +55,12 @@
 import jakarta.servlet.http.HttpSessionIdListener;
 import jakarta.servlet.http.HttpSessionListener;
 import jakarta.servlet.http.HttpUpgradeHandler;
+
+import static java.util.logging.Level.SEVERE;
+import static org.apache.catalina.Globals.FACES_INITIALIZER;
+import static org.glassfish.web.loader.ServletContainerInitializerUtil.getInitializerList;
+import static org.glassfish.web.loader.ServletContainerInitializerUtil.getInterestList;
+
 import java.io.*;
 import java.net.MalformedURLException;
 import java.net.URLDecoder;
@@ -727,6 +734,7 @@
 
     // ----------------------------------------------------- Context Properties
 
+    @Override
     public String getEncodedPath() {
         return encodedPath;
     }
@@ -1646,6 +1654,7 @@
     /**
      * Returns the value of the securePagesWithPragma property.
      */
+    @Override
     public boolean isSecurePagesWithPragma() {
         return securePagesWithPragma;
     }
@@ -2069,6 +2078,7 @@
      *
      * @param listener the fully qualified class name of the Listener
      */
+    @Override
     public void addApplicationListener(String listener) {
         addListener(listener, false);
     }
@@ -2078,6 +2088,7 @@
      *
      * @param parameter The new application parameter
      */
+    @Override
     public void addApplicationParameter(ApplicationParameter parameter) {
         String newName = parameter.getName();
         Iterator<ApplicationParameter> i =
@@ -2266,6 +2277,7 @@
      *
      * @param ejb New EJB resource reference
      */
+    @Override
     public void addEjb(ContextEjb ejb) {
         namingResources.addEjb(ejb);
         if (notifyContainerListeners) {
@@ -2278,6 +2290,7 @@
      *
      * @param environment New environment entry
      */
+    @Override
     public void addEnvironment(ContextEnvironment environment) {
 
         ContextEnvironment env = findEnvironment(environment.getName());
@@ -2357,6 +2370,7 @@
      *
      * @param filterDef The filter definition to be added
      */
+    @Override
     public void addFilterDef(FilterDef filterDef) {
         addFilterDef(filterDef, false, true);
     }
@@ -2523,6 +2537,7 @@
      * Adds the filter with the given name and class name to this servlet
      * context.
      */
+    @Override
     public FilterRegistration.Dynamic addFilter(
             String filterName, String className) {
 
@@ -3166,6 +3181,7 @@
      * @param extension Filename extension being mapped
      * @param mimeType Corresponding MIME type
      */
+    @Override
     public void addMimeMapping(String extension, String mimeType) {
         mimeMappings.put(extension.toLowerCase(Locale.ENGLISH), mimeType);
         if (notifyContainerListeners) {
@@ -3183,6 +3199,7 @@
      *  or if this context initialization parameter has already been
      *  registered
      */
+    @Override
     public void addParameter(String name, String value) {
         // Validate the proposed context initialization parameter
         if ((name == null) || (value == null)) {
@@ -3210,6 +3227,7 @@
      *
      * @param resource New resource reference
      */
+    @Override
     public void addResource(ContextResource resource) {
         namingResources.addResource(resource);
         if (notifyContainerListeners) {
@@ -3224,6 +3242,7 @@
      * @param name The resource environment reference name
      * @param type The resource environment reference type
      */
+    @Override
     public void addResourceEnvRef(String name, String type) {
         namingResources.addResourceEnvRef(name, type);
         if (notifyContainerListeners) {
@@ -3236,6 +3255,7 @@
      *
      * @param resourceLink New resource link
      */
+    @Override
     public void addResourceLink(ContextResourceLink resourceLink) {
         namingResources.addResourceLink(resourceLink);
         if (notifyContainerListeners) {
@@ -3250,6 +3270,7 @@
      * @param role Security role used in the application
      * @param link Actual security role to check for
      */
+    @Override
     public void addRoleMapping(String role, String link) {
         synchronized (roleMappings) {
             roleMappings.put(role, link);
@@ -3264,6 +3285,7 @@
      *
      * @param role New security role
      */
+    @Override
     public void addSecurityRole(String role) {
         securityRoles.add(role);
         if (notifyContainerListeners) {
@@ -3587,11 +3609,6 @@
             throw new NullPointerException(rb.getString(LogFacade.NULL_SERVLET_INSTANCE_EXCEPTION));
         }
 
-        if (servlet instanceof SingleThreadModel) {
-            throw new IllegalArgumentException("Servlet implements " +
-                SingleThreadModel.class.getName());
-        }
-
         /*
          * Make sure the given Servlet instance is unique across all deployed
          * contexts
@@ -4498,6 +4515,7 @@
      *
      * @param name Name of the EJB resource reference to remove
      */
+    @Override
     public void removeEjb(String name) {
 
         namingResources.removeEjb(name);
@@ -5633,16 +5651,22 @@
     protected void callServletContainerInitializers()
             throws LifecycleException {
 
+        Iterator<ServletContainerInitializer> initIterator = servletContainerInitializers.iterator();
+
+        List<ServletContainerInitializer> loadedServletContainerInitializers = new ArrayList<>();
+        while (initIterator.hasNext()) {
+            try {
+                loadedServletContainerInitializers.add(initIterator.next());
+            } catch (ServiceConfigurationError e) {
+                log.log(SEVERE, "", e);
+            }
+        }
+
         // Get the list of ServletContainerInitializers and the classes
         // they are interested in
-        Map<Class<?>, List<Class<? extends ServletContainerInitializer>>> interestList =
-            ServletContainerInitializerUtil.getInterestList(
-                servletContainerInitializers);
-        Map<Class<? extends ServletContainerInitializer>, Set<Class<?>>> initializerList =
-            ServletContainerInitializerUtil.getInitializerList(
-                servletContainerInitializers, interestList,
-                getTypes(),
-                getClassLoader());
+        var interestList = getInterestList(loadedServletContainerInitializers);
+        var initializerList = getInitializerList(loadedServletContainerInitializers, interestList, getTypes(), getClassLoader());
+
         if (initializerList == null) {
             return;
         }
@@ -5655,12 +5679,10 @@
         // the condition. Time to call the initializers
         ServletContext ctxt = this.getServletContext();
         try {
-            for (Map.Entry<Class<? extends ServletContainerInitializer>, Set<Class<?>>> e :
-                    initializerList.entrySet()) {
+            for (var e : initializerList.entrySet()) {
                 Class<? extends ServletContainerInitializer> initializer = e.getKey();
                 // See IT 11333
-                if (isUseMyFaces() &&
-                        Globals.FACES_INITIALIZER.equals(initializer.getName())) {
+                if (isUseMyFaces() && FACES_INITIALIZER.equals(initializer.getName())) {
                     continue;
                 }
                 try {
@@ -5680,7 +5702,8 @@
                     String msg = MessageFormat.format(rb.getString(LogFacade.INVOKING_SERVLET_CONTAINER_INIT_EXCEPTION),
                                                       initializer.getCanonicalName());
                     log.log(Level.SEVERE, msg, t);
-                    throw new LifecycleException(t);
+                    // TMP until EE 10 support is ready
+                    // throw new LifecycleException(t);
                 }
             }
         } finally {
@@ -6842,6 +6865,7 @@
     /**
      * Returns the context path of the web application.
      */
+    @Override
     public String getContextPath() {
         return getPath();
     }
@@ -6850,6 +6874,7 @@
      * Return a <code>ServletContext</code> object that corresponds to a
      * specified URI on the server.
      */
+    @Override
     public ServletContext getContext(String uri) {
 
         // Validate the format of the specified argument
@@ -6894,6 +6919,7 @@
      * Return the value of the specified initialization parameter, or
      * <code>null</code> if this parameter does not exist.
      */
+    @Override
     public String getInitParameter(final String name) {
         return context.getInitParameter(name);
     }
@@ -6902,6 +6928,7 @@
      * Return the names of the context's initialization parameters, or an
      * empty enumeration if the context has no initialization parameters.
      */
+    @Override
     public Enumeration<String> getInitParameterNames() {
         return context.getInitParameterNames();
     }
@@ -6912,6 +6939,7 @@
      * if it was not set because this ServletContext already contains a
      * context initialization parameter with a matching name
      */
+    @Override
     public boolean setInitParameter(String name, String value) {
         if (isContextInitializedCalled) {
             String msg = MessageFormat.format(rb.getString(LogFacade.SERVLET_CONTEXT_ALREADY_INIT_EXCEPTION),
@@ -6924,6 +6952,7 @@
     /**
      * Return the major version of the Java Servlet API that we implement.
      */
+    @Override
     public int getMajorVersion() {
         return context.getMajorVersion();
     }
@@ -6931,6 +6960,7 @@
     /**
      * Return the minor version of the Java Servlet API that we implement.
      */
+    @Override
     public int getMinorVersion() {
         return context.getMinorVersion();
     }
@@ -6939,6 +6969,7 @@
      * Return the MIME type of the specified file, or <code>null</code> if
      * the MIME type cannot be determined.
      */
+    @Override
     public String getMimeType(String file) {
 
         if (file == null)
@@ -6957,6 +6988,7 @@
      * Return a <code>RequestDispatcher</code> object that acts as a
      * wrapper for the named servlet.
      */
+    @Override
     public RequestDispatcher getNamedDispatcher(String name) {
 
         // Validate the name argument
@@ -6975,6 +7007,7 @@
     /**
      * Return the display name of this web application.
      */
+    @Override
     public String getServletContextName() {
         return getDisplayName();
     }
@@ -6982,6 +7015,7 @@
     /**
      * Remove the context attribute with the specified name, if any.
      */
+    @Override
     public void removeAttribute(String name) {
         context.removeAttribute(name);
     }
@@ -6990,6 +7024,7 @@
      * Bind the specified value with the specified context attribute name,
      * replacing any existing value for that name.
      */
+    @Override
     public void setAttribute(String name, Object value) {
         context.setAttribute(name, value);
     }
@@ -6997,6 +7032,7 @@
     /**
      * Return the name and version of the servlet container.
      */
+    @Override
     public String getServerInfo() {
         return context.getServerInfo();
     }
@@ -7006,6 +7042,7 @@
      * <code>null</code> if the container was unable to perform the
      * translation
      */
+    @Override
     public String getRealPath(String path) {
         if (!(showArchivedRealPathEnabled || directoryDeployed)) {
             return null;
@@ -7056,6 +7093,7 @@
     /**
      * Writes the specified message to a servlet log file.
      */
+    @Override
     public void log(String message) {
         message= neutralizeForLog(message);
         org.apache.catalina.Logger logger = getLogger();
@@ -7082,6 +7120,7 @@
     /**
      * Writes the specified message and exception to a servlet log file.
      */
+    @Override
     public void log(String message, Throwable throwable) {
         message= neutralizeForLog(message);
         org.apache.catalina.Logger logger = getLogger();
@@ -7089,24 +7128,13 @@
             logger.log(logName() + message, throwable);
     }
 
-    public Servlet getServlet(String name) {
-        return context.getServlet(name);
-    }
-
-    public Enumeration<String> getServletNames() {
-        return context.getServletNames();
-    }
-
-    public Enumeration<Servlet> getServlets() {
-        return context.getServlets();
-    }
-
     /**
      * Return the requested resource as an <code>InputStream</code>.  The
      * path must be specified according to the rules described under
      * <code>getResource</code>.  If no such resource can be identified,
      * return <code>null</code>.
      */
+    @Override
     public InputStream getResourceAsStream(String path) {
 
         if (path == null || !path.startsWith("/"))
@@ -7149,6 +7177,7 @@
      * The path must begin with a "/" and is interpreted as relative to the
      * current context root.
      */
+    @Override
     public java.net.URL getResource(String path)
         throws MalformedURLException {
 
@@ -7219,6 +7248,7 @@
      * specified collection. Each path will be a String starting with
      * a "/" character. The returned set is immutable.
      */
+    @Override
     public Set<String> getResourcePaths(String path) {
         // Validate the path argument
         if (path == null) {
@@ -7300,6 +7330,7 @@
      * wrapper for the resource at the given path.  The path must begin
      * with a "/" and is interpreted as relative to the current context root.
      */
+    @Override
     public RequestDispatcher getRequestDispatcher(String path) {
 
         // Validate the path argument
@@ -7414,6 +7445,7 @@
      * parsing xml instances.
      * @param webXmlValidation true to enable xml instance validation
      */
+    @Override
     public void setXmlValidation(boolean webXmlValidation){
         this.webXmlValidation = webXmlValidation;
     }
@@ -7423,6 +7455,7 @@
      * @return true if validation is enabled.
      *
      */
+    @Override
     public boolean getXmlValidation(){
         return webXmlValidation;
     }
@@ -7431,6 +7464,7 @@
      * Get the server.xml <context> attribute's xmlNamespaceAware.
      * @return true if namespace awarenes is enabled.
      */
+    @Override
     public boolean getXmlNamespaceAware(){
         return webXmlNamespaceAware;
     }
@@ -7440,6 +7474,7 @@
      * parsing xml instances.
      * @param webXmlNamespaceAware true to enable namespace awareness
      */
+    @Override
     public void setXmlNamespaceAware(boolean webXmlNamespaceAware){
         this.webXmlNamespaceAware= webXmlNamespaceAware;
     }
@@ -7449,6 +7484,7 @@
      * parsing tlds files.
      * @param tldValidation true to enable xml instance validation
      */
+    @Override
     public void setTldValidation(boolean tldValidation){
         this.tldValidation = tldValidation;
     }
@@ -7458,6 +7494,7 @@
      * @return true if validation is enabled.
      *
      */
+    @Override
     public boolean getTldValidation(){
         return tldValidation;
     }
@@ -7466,6 +7503,7 @@
      * Get the server.xml <host> attribute's xmlNamespaceAware.
      * @return true if namespace awarenes is enabled.
      */
+    @Override
     public boolean getTldNamespaceAware(){
         return tldNamespaceAware;
     }
@@ -7475,6 +7513,7 @@
      * parsing xml instances.
      * @param tldNamespaceAware true to enable namespace awareness
      */
+    @Override
     public void setTldNamespaceAware(boolean tldNamespaceAware){
         this.tldNamespaceAware= tldNamespaceAware;
     }
@@ -7627,10 +7666,12 @@
             this.delegate = delegate;
         }
 
+        @Override
         public void contextInitialized(ServletContextEvent sce) {
             delegate.contextInitialized(sce);
         }
 
+        @Override
         public void contextDestroyed(ServletContextEvent sce) {
             delegate.contextDestroyed(sce);
         }
@@ -7757,6 +7798,7 @@
     private static class PrivilegedCreateSecurityManager
             implements PrivilegedAction<MySecurityManager> {
 
+        @Override
         public MySecurityManager run() {
             return new MySecurityManager();
         }
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardHostValve.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardHostValve.java
index 7a884c2..414cff8 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardHostValve.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardHostValve.java
@@ -17,81 +17,91 @@
 
 package org.apache.catalina.core;
 
-import org.apache.catalina.*;
+import static jakarta.servlet.DispatcherType.ERROR;
+import static jakarta.servlet.RequestDispatcher.ERROR_MESSAGE;
+import static jakarta.servlet.RequestDispatcher.ERROR_REQUEST_URI;
+import static jakarta.servlet.RequestDispatcher.ERROR_SERVLET_NAME;
+import static jakarta.servlet.RequestDispatcher.ERROR_STATUS_CODE;
+import static jakarta.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+import static java.util.Locale.ENGLISH;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.INFO;
+import static java.util.logging.Level.WARNING;
+import static org.apache.catalina.Globals.DISPATCHER_REQUEST_PATH_ATTR;
+import static org.apache.catalina.LogFacade.NO_CONTEXT_TO_PROCESS;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ResourceBundle;
+import java.util.logging.Logger;
+
+import org.apache.catalina.Context;
+import org.apache.catalina.HttpRequest;
+import org.apache.catalina.HttpResponse;
+import org.apache.catalina.LogFacade;
+import org.apache.catalina.Request;
+import org.apache.catalina.Response;
+import org.apache.catalina.Wrapper;
 import org.apache.catalina.connector.ClientAbortException;
 import org.apache.catalina.deploy.ErrorPage;
 import org.apache.catalina.util.ResponseUtil;
 import org.apache.catalina.valves.ValveBase;
 import org.glassfish.web.valve.GlassFishValve;
 
-
-import jakarta.servlet.*;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.ResourceBundle;
-// END SJSAS 6374691
 
 /**
- * Valve that implements the default basic behavior for the
- * <code>StandardHost</code> container implementation.
+ * Valve that implements the default basic behavior for the <code>StandardHost</code> container implementation.
  * <p>
- * <b>USAGE CONSTRAINT</b>:  This implementation is likely to be useful only
- * when processing HTTP requests.
+ * <b>USAGE CONSTRAINT</b>: This implementation is likely to be useful only when processing HTTP requests.
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
  * @version $Revision: 1.21 $ $Date: 2007/04/10 17:12:22 $
  */
 
-final class StandardHostValve
-    extends ValveBase {
+final class StandardHostValve extends ValveBase {
 
     private static final Logger log = LogFacade.getLogger();
     private static final ResourceBundle rb = log.getResourceBundle();
 
-    private static final ClassLoader standardHostValveClassLoader =
-        StandardHostValve.class.getClassLoader();
-
+    private static final ClassLoader standardHostValveClassLoader = StandardHostValve.class.getClassLoader();
 
     // ----------------------------------------------------- Instance Variables
 
-
     /**
      * The descriptive information related to this implementation.
      */
-    private static final String info =
-        "org.apache.catalina.core.StandardHostValve/1.0";
+    private static final String info = "org.apache.catalina.core.StandardHostValve/1.0";
 
-
-    // START SJSAS 6374691
     private GlassFishValve errorReportValve;
-    // END SJSAS 6374691
-
 
     // ------------------------------------------------------------- Properties
 
-
     /**
      * Return descriptive information about this Valve implementation.
      */
+    @Override
     public String getInfo() {
-
-        return (info);
-
+        return info;
     }
 
-
     // --------------------------------------------------------- Public Methods
 
-
     /**
-     * Select the appropriate child Context to process this request,
-     * based on the specified request URI.  If no matching Context can
-     * be found, return an appropriate HTTP error.
+     * Select the appropriate child Context to process this request, based on the specified request URI. If no matching
+     * Context can be found, return an appropriate HTTP error.
      *
      * @param request Request to be processed
      * @param response Response to be produced
@@ -100,17 +110,14 @@
      * @exception ServletException if a servlet error occurred
      */
     @Override
-    public int invoke(Request request, Response response)
-            throws IOException, ServletException {
-
+    public int invoke(Request request, Response response) throws IOException, ServletException {
         Context context = preInvoke(request, response);
         if (context == null) {
             return END_PIPELINE;
         }
 
         // Ask this Context to process this request
-        if (context.getPipeline().hasNonBasicValves() ||
-                context.hasCustomPipeline()) {
+        if (context.getPipeline().hasNonBasicValves() || context.hasCustomPipeline()) {
             context.getPipeline().invoke(request, response);
         } else {
             context.getPipeline().getBasic().invoke(request, response);
@@ -119,23 +126,18 @@
         return END_PIPELINE;
     }
 
-
     /**
      * Tomcat style invocation.
      */
     @Override
-    public void invoke(org.apache.catalina.connector.Request request,
-                       org.apache.catalina.connector.Response response)
-            throws IOException, ServletException {
-
+    public void invoke(org.apache.catalina.connector.Request request, org.apache.catalina.connector.Response response) throws IOException, ServletException {
         Context context = preInvoke(request, response);
         if (context == null) {
             return;
         }
 
         // Ask this Context to process this request
-        if (context.getPipeline().hasNonBasicValves() ||
-                context.hasCustomPipeline()) {
+        if (context.getPipeline().hasNonBasicValves() || context.hasCustomPipeline()) {
             context.getPipeline().invoke(request, response);
         } else {
             context.getPipeline().getBasic().invoke(request, response);
@@ -144,29 +146,16 @@
         postInvoke(request, response);
     }
 
-
     @Override
-    public void postInvoke(Request request, Response response)
-        // START SJSAS 6374691
-        throws IOException, ServletException
-        // END SJSAS 6374691
-    {
+    public void postInvoke(Request request, Response response) throws IOException, ServletException {
         try {
-            /*
-            // START SJSAS 6374990
-            if (((ServletResponse) response).isCommitted()) {
-                return;
-            }
-            // END SJSAS 6374990
-            */
 
             HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
 
             // Error page processing
             response.setSuspended(false);
 
-            Throwable t = (Throwable) hreq.getAttribute(
-                RequestDispatcher.ERROR_EXCEPTION);
+            Throwable t = (Throwable) hreq.getAttribute(RequestDispatcher.ERROR_EXCEPTION);
 
             if (t != null) {
                 throwable(request, response, t);
@@ -174,7 +163,6 @@
                 status(request, response);
             }
 
-            // See IT 11423
             boolean isDefaultErrorPageEnabled = true;
             Wrapper wrapper = request.getWrapper();
             if (wrapper != null) {
@@ -184,42 +172,34 @@
                 }
             }
 
-            // START SJSAS 6374691
             if (errorReportValve != null && response.isError() && isDefaultErrorPageEnabled) {
                 errorReportValve.postInvoke(request, response);
             }
-            // END SJSAS 6374691
 
             Context context = request.getContext();
             if (context != null) {
                 context.fireRequestDestroyedEvent(hreq);
             }
         } finally {
-            Thread.currentThread().setContextClassLoader
-                (standardHostValveClassLoader);
+            Thread.currentThread().setContextClassLoader(standardHostValveClassLoader);
         }
     }
 
-
     // ------------------------------------------------------ Protected Methods
 
-
     /**
-     * Handle the specified Throwable encountered while processing
-     * the specified Request to produce the specified Response.  Any
-     * exceptions that occur during generation of the exception report are
-     * logged and swallowed.
+     * Handle the specified Throwable encountered while processing the specified Request to produce the specified Response.
+     * Any exceptions that occur during generation of the exception report are logged and swallowed.
      *
      * @param request The request being processed
      * @param response The response being generated
-     * @param throwable The throwable that occurred (which possibly wraps
-     *  a root cause exception
+     * @param throwable The throwable that occurred (which possibly wraps a root cause exception
      */
-    protected void throwable(Request request, Response response,
-                             Throwable throwable) {
+    protected void throwable(Request request, Response response, Throwable throwable) {
         Context context = request.getContext();
-        if (context == null)
+        if (context == null) {
             return;
+        }
 
         Throwable realError = throwable;
         if (realError instanceof ServletException) {
@@ -230,9 +210,9 @@
         }
 
         // If this is an aborted request from a client just log it and return
-        if (realError instanceof ClientAbortException ) {
-            if (log.isLoggable(Level.FINE)) {
-                log.log(Level.FINE, LogFacade.REMOTE_CLIENT_ABORTED_EXCEPTION, realError.getCause().getMessage());
+        if (realError instanceof ClientAbortException) {
+            if (log.isLoggable(FINE)) {
+                log.log(FINE, LogFacade.REMOTE_CLIENT_ABORTED_EXCEPTION, realError.getCause().getMessage());
             }
             return;
         }
@@ -243,61 +223,42 @@
         }
 
         if (errorPage != null) {
-            dispatchToErrorPage(request, response, errorPage, throwable,
-                                realError, 0);
+            dispatchToErrorPage(request, response, errorPage, throwable, realError, 0);
         } else if (context.getDefaultErrorPage() != null) {
-            dispatchToErrorPage(request, response,
-                context.getDefaultErrorPage(), throwable, realError, 0);
+            dispatchToErrorPage(request, response, context.getDefaultErrorPage(), throwable, realError, 0);
         } else {
             // A custom error-page has not been defined for the exception
             // that was thrown during request processing. Check if an
             // error-page for error code 500 was specified and if so,
             // send that page back as the response.
-            ServletResponse sresp = (ServletResponse) response;
+            ServletResponse servletResponse = (ServletResponse) response;
 
-            /* GlassFish 6386229
-            if (sresp instanceof HttpServletResponse) {
-                ((HttpServletResponse) sresp).setStatus(
-                    HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-                // The response is an error
-                response.setError();
+            ((HttpServletResponse) servletResponse).setStatus(SC_INTERNAL_SERVER_ERROR);
 
-                status(request, response);
-            }
-            */
-            // START GlassFish 6386229
-            ((HttpServletResponse) sresp).setStatus(
-                HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
             // The response is an error
             response.setError();
 
             status(request, response);
-            // END GlassFish 6386229
         }
 
-
     }
 
-
     /**
-     * Handle the HTTP status code (and corresponding message) generated
-     * while processing the specified Request to produce the specified
-     * Response.  Any exceptions that occur during generation of the error
-     * report are logged and swallowed.
+     * Handle the HTTP status code (and corresponding message) generated while processing the specified Request to produce
+     * the specified Response. Any exceptions that occur during generation of the error report are logged and swallowed.
      *
      * @param request The request being processed
      * @param response The response being generated
      */
     protected void status(Request request, Response response) {
-
         // Handle a custom error page for this status code
         Context context = request.getContext();
-        if (context == null)
+        if (context == null) {
             return;
+        }
 
         /*
-         * Only look for error pages when isError() is set.
-         * isError() is set when response.sendError() is invoked.
+         * Only look for error pages when isError() is set. isError() is set when response.sendError() is invoked.
          */
         if (!response.isError()) {
             return;
@@ -311,30 +272,27 @@
                 if (!file.exists()) {
                     File file2 = new File(errorPage.getLocation());
                     if (!file2.exists()) {
-                        log.log(Level.WARNING, LogFacade.ERROR_PAGE_NOT_EXIST,
-                                new Object[]{file.getAbsolutePath(), file2.getAbsolutePath()});
+                        log.log(WARNING, LogFacade.ERROR_PAGE_NOT_EXIST,
+                                new Object[] { file.getAbsolutePath(), file2.getAbsolutePath() });
                     }
                 }
             }
             setErrorPageContentType(response, errorPage.getLocation(), context);
             dispatchToErrorPage(request, response, errorPage, null, null, statusCode);
-        } else if (statusCode >= 400 && statusCode < 600 &&
-                context.getDefaultErrorPage() != null) {
-            dispatchToErrorPage(request, response,
-                context.getDefaultErrorPage(), null, null, statusCode);
+        } else if (statusCode >= 400 && statusCode < 600 && context.getDefaultErrorPage() != null) {
+            dispatchToErrorPage(request, response, context.getDefaultErrorPage(), null, null, statusCode);
         }
         // START SJSAS 6324911
         else {
-            errorPage = ((StandardHost) getContainer()).findErrorPage(
-                                                        statusCode);
+            errorPage = ((StandardHost) getContainer()).findErrorPage(statusCode);
             if (errorPage != null) {
                 if (errorPage.getLocation() != null) {
                     File file = new File(context.getDocBase(), errorPage.getLocation());
                     if (!file.exists()) {
                         File file2 = new File(errorPage.getLocation());
                         if (!file2.exists()) {
-                            log.log(Level.WARNING, LogFacade.ERROR_PAGE_NOT_EXIST,
-                                    new Object[]{file.getAbsolutePath(), file2.getAbsolutePath()});
+                            log.log(WARNING, LogFacade.ERROR_PAGE_NOT_EXIST,
+                                    new Object[] { file.getAbsolutePath(), file2.getAbsolutePath() });
                         }
                     }
                 }
@@ -349,117 +307,93 @@
         // END SJSAS 6324911
     }
 
-
     /**
-     * Find and return the ErrorPage instance for the specified exception's
-     * class, or an ErrorPage instance for the closest superclass for which
-     * there is such a definition.  If no associated ErrorPage instance is
-     * found, return <code>null</code>.
+     * Find and return the ErrorPage instance for the specified exception's class, or an ErrorPage instance for the closest
+     * superclass for which there is such a definition. If no associated ErrorPage instance is found, return
+     * <code>null</code>.
      *
      * @param context The Context in which to search
      * @param exception The exception for which to find an ErrorPage
      */
-    protected static ErrorPage findErrorPage
-        (Context context, Throwable exception) {
+    protected static ErrorPage findErrorPage(Context context, Throwable exception) {
+        if (exception == null) {
+            return null;
+        }
 
-        if (exception == null)
-            return (null);
         Class<?> clazz = exception.getClass();
         String name = clazz.getName();
         while (!Object.class.equals(clazz)) {
             ErrorPage errorPage = context.findErrorPage(name);
-            if (errorPage != null)
-                return (errorPage);
+            if (errorPage != null) {
+                return errorPage;
+            }
+
             clazz = clazz.getSuperclass();
-            if (clazz == null)
+            if (clazz == null) {
                 break;
+            }
             name = clazz.getName();
         }
-        return (null);
 
+        return null;
     }
 
-
     /**
-     * Handle an HTTP status code or Java exception by forwarding control
-     * to the location included in the specified errorPage object.  It is
-     * assumed that the caller has already recorded any request attributes
-     * that are to be forwarded to this page.  Return <code>true</code> if
-     * we successfully utilized the specified error page location, or
+     * Handle an HTTP status code or Java exception by forwarding control to the location included in the specified
+     * errorPage object. It is assumed that the caller has already recorded any request attributes that are to be forwarded
+     * to this page. Return <code>true</code> if we successfully utilized the specified error page location, or
      * <code>false</code> if the default error report should be rendered.
      *
      * @param request The request being processed
      * @param response The response being generated
      * @param errorPage The errorPage directive we are obeying
      */
-    protected boolean custom(Request request, Response response,
-                             ErrorPage errorPage) {
-
-        if (debug >= 1)
+    protected boolean custom(Request request, Response response, ErrorPage errorPage) {
+        if (debug >= 1) {
             log("Processing " + errorPage);
-
-        // Validate our current environment
-        /* GlassFish 6386229
-        if (!(request instanceof HttpRequest)) {
-            if (debug >= 1)
-                log(" Not processing an HTTP request --> default handling");
-            return (false);     // NOTE - Nothing we can do generically
         }
-        */
-        HttpServletRequest hreq =
-            (HttpServletRequest) request.getRequest();
-        /* GlassFish 6386229
-        if (!(response instanceof HttpResponse)) {
-            if (debug >= 1)
-                log("Not processing an HTTP response --> default handling");
-            return (false);     // NOTE - Nothing we can do generically
-        }
-        */
-        HttpServletResponse hres =
-            (HttpServletResponse) response.getResponse();
 
-        ((HttpRequest) request).setPathInfo(errorPage.getLocation());
+        HttpResponse httpResponse = (HttpResponse) response;
+        HttpRequest httpRequest = (HttpRequest) request;
+
+        HttpServletRequest httpServletRequest = (HttpServletRequest) request.getRequest();
+        HttpServletResponse httpServletResponse = (HttpServletResponse) response.getResponse();
+
+        httpRequest.setPathInfo(errorPage.getLocation());
 
         try {
-            Integer statusCodeObj = (Integer) hreq.getAttribute(
-                RequestDispatcher.ERROR_STATUS_CODE);
-            int statusCode = statusCodeObj.intValue();
-            String message = (String) hreq.getAttribute(
-                RequestDispatcher.ERROR_MESSAGE);
-            hres.setStatus(statusCode, message);
+            httpResponse.setError(
+                (Integer) httpServletRequest.getAttribute(ERROR_STATUS_CODE),
+                (String) httpServletRequest.getAttribute(ERROR_MESSAGE));
 
             // Forward control to the specified location
-            ServletContext servletContext =
-                request.getContext().getServletContext();
-            ApplicationDispatcher dispatcher = (ApplicationDispatcher)
-                servletContext.getRequestDispatcher(errorPage.getLocation());
+            ServletContext servletContext = request.getContext().getServletContext();
+            ApplicationDispatcher dispatcher = (ApplicationDispatcher) servletContext.getRequestDispatcher(errorPage.getLocation());
 
-            if (hres.isCommitted()) {
-                // Response is committed - including the error page is the
-                // best we can do
-                dispatcher.include(hreq, hres);
+            if (httpServletResponse.isCommitted()) {
+                // Response is committed - including the error page is the best we can do
+                dispatcher.include(httpServletRequest, httpServletResponse);
             } else {
                 // Reset the response (keeping the real error code and message)
                 response.resetBuffer(true);
 
-                dispatcher.dispatch(hreq, hres, DispatcherType.ERROR);
+                dispatcher.dispatch(httpServletRequest, httpServletResponse, ERROR);
 
                 // If we forward, the response is suspended again
                 response.setSuspended(false);
             }
 
             // Indicate that we have successfully processed this custom page
-            return (true);
+            return true;
 
         } catch (Throwable t) {
             // Report our failure to process this custom page
             log("Exception Processing " + errorPage, t);
-            return (false);
+            return false;
         }
 
     }
 
-
     /**
      * Log a message on the Logger associated with our Container (if any).
      *
@@ -470,13 +404,12 @@
         if (logger != null) {
             logger.log(this.toString() + ": " + message);
         } else {
-            if (log.isLoggable(Level.INFO)) {
-                log.log(Level.INFO, this.toString() + ": " + message);
+            if (log.isLoggable(INFO)) {
+                log.log(INFO, this.toString() + ": " + message);
             }
         }
     }
 
-
     /**
      * Log a message on the Logger associated with our Container (if any).
      *
@@ -486,44 +419,38 @@
     protected void log(String message, Throwable t) {
         org.apache.catalina.Logger logger = container.getLogger();
         if (logger != null) {
-            logger.log(this.toString() + ": " + message, t,
-                org.apache.catalina.Logger.WARNING);
+            logger.log(this.toString() + ": " + message, t, org.apache.catalina.Logger.WARNING);
         } else {
-            log.log(Level.WARNING, this.toString() + ": " + message, t);
+            log.log(WARNING, this.toString() + ": " + message, t);
         }
     }
 
-
-    // START SJSAS 6324911
     /**
-     * Copies the contents of the given error page to the response, and
-     * updates the status message with the reason string of the error page.
+     * Copies the contents of the given error page to the response, and updates the status message with the reason string of
+     * the error page.
      *
      * @param response The response object
      * @param errorPage The error page whose contents are to be copied
      * @param statusCode The status code
      */
-    private void handleHostErrorPage(Response response,
-                                     ErrorPage errorPage,
-                                     int statusCode)
-            throws Exception {
-
-        ServletOutputStream ostream = null;
+    private void handleHostErrorPage(Response response, ErrorPage errorPage, int statusCode) throws Exception {
+        ServletOutputStream outputStream = null;
         PrintWriter writer = null;
         FileReader reader = null;
         BufferedInputStream istream = null;
-        IOException ioe = null;
+        IOException ioException = null;
 
         if (!response.getResponse().isCommitted()) {
             response.resetBuffer(true);
         }
+
         String message = errorPage.getReason();
         if (message != null) {
             ((HttpResponse) response).reset(statusCode, message);
         }
 
         try {
-            ostream = response.getResponse().getOutputStream();
+            outputStream = response.getResponse().getOutputStream();
         } catch (IllegalStateException e) {
             // If it fails, we try to get a Writer instead if we're
             // trying to serve a text file
@@ -532,127 +459,100 @@
 
         if (writer != null) {
             reader = new FileReader(errorPage.getLocation());
-            ioe = ResponseUtil.copy(reader, writer);
+            ioException = ResponseUtil.copy(reader, writer);
             try {
                 reader.close();
             } catch (Throwable t) {
-                ;
+
             }
         } else {
-            istream = new BufferedInputStream(
-                new FileInputStream(errorPage.getLocation()));
-            ioe = ResponseUtil.copy(istream, ostream);
+            istream = new BufferedInputStream(new FileInputStream(errorPage.getLocation()));
+            ioException = ResponseUtil.copy(istream, outputStream);
             try {
                 istream.close();
             } catch (Throwable t) {
-                ;
+
             }
         }
 
         // Rethrow any exception that may have occurred
-        if (ioe != null) {
-            throw ioe;
+        if (ioException != null) {
+            throw ioException;
         }
     }
-    // END SJSAS 6324911
 
-
-    // START SJSAS 6374691
     void setErrorReportValve(GlassFishValve errorReportValve) {
         this.errorReportValve = errorReportValve;
     }
-    // END SJSAS 6374691
 
-
-    private Context preInvoke(Request request, Response response)
-            throws IOException, ServletException {
-
+    private Context preInvoke(Request request, Response response) throws IOException, ServletException {
         // Select the Context to be used for this Request
         Context context = request.getContext();
         if (context == null) {
-            // BEGIN S1AS 4878272
-            ((HttpServletResponse) response.getResponse()).sendError
-                (HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            response.setDetailMessage(rb.getString(LogFacade.NO_CONTEXT_TO_PROCESS));
-            // END S1AS 4878272
+            ((HttpServletResponse) response.getResponse()).sendError(SC_INTERNAL_SERVER_ERROR);
+            response.setDetailMessage(rb.getString(NO_CONTEXT_TO_PROCESS));
             return null;
         }
 
         // Bind the context CL to the current thread
-        if( context.getLoader() != null ) {
+        if (context.getLoader() != null) {
             // Not started - it should check for availability first
             // This should eventually move to Engine, it's generic.
-            Thread.currentThread().setContextClassLoader
-                    (context.getLoader().getClassLoader());
+            Thread.currentThread().setContextClassLoader(context.getLoader().getClassLoader());
         }
 
-        // START GlassFish Issue 1057
         // Update the session last access time for our session (if any)
-        HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
-        hreq.getSession(false);
-        // END GlassFish Issue 1057
+        HttpServletRequest httpServletRequest = (HttpServletRequest) request.getRequest();
+        httpServletRequest.getSession(false);
 
-        context.fireRequestInitializedEvent(hreq);
+        context.fireRequestInitializedEvent(httpServletRequest);
 
         return context;
     }
 
-
-    private void dispatchToErrorPage(Request request, Response response,
-            ErrorPage errorPage, Throwable throwable, Throwable realError,
-            int statusCode) {
-
+    private void dispatchToErrorPage(Request request, Response response, ErrorPage errorPage, Throwable throwable, Throwable realError, int statusCode) {
         response.setAppCommitted(false);
 
-        ServletRequest sreq = request.getRequest();
-        ServletResponse sresp = response.getResponse();
+        ServletRequest servletRequest = request.getRequest();
+        ServletResponse servletResponse = response.getResponse();
 
-        sreq.setAttribute(Globals.DISPATCHER_REQUEST_PATH_ATTR,
-                          errorPage.getLocation());
-        sreq.setAttribute(RequestDispatcher.ERROR_REQUEST_URI,
-                          ((HttpServletRequest) sreq).getRequestURI());
+        servletRequest.setAttribute(DISPATCHER_REQUEST_PATH_ATTR, errorPage.getLocation());
+        servletRequest.setAttribute(ERROR_REQUEST_URI, ((HttpServletRequest) servletRequest).getRequestURI());
         Wrapper wrapper = request.getWrapper();
         if (wrapper != null) {
-            sreq.setAttribute(RequestDispatcher.ERROR_SERVLET_NAME,
-                              wrapper.getName());
+            servletRequest.setAttribute(ERROR_SERVLET_NAME, wrapper.getName());
         }
 
         if (throwable != null) {
-            sreq.setAttribute(RequestDispatcher.ERROR_STATUS_CODE,
-                Integer.valueOf(HttpServletResponse.SC_INTERNAL_SERVER_ERROR));
-            sreq.setAttribute(RequestDispatcher.ERROR_MESSAGE,
-                              throwable.getMessage());
-            sreq.setAttribute(RequestDispatcher.ERROR_EXCEPTION,
-                              realError);
-            sreq.setAttribute(RequestDispatcher.ERROR_EXCEPTION_TYPE,
-                              realError.getClass());
+            servletRequest.setAttribute(ERROR_STATUS_CODE, Integer.valueOf(SC_INTERNAL_SERVER_ERROR));
+            servletRequest.setAttribute(ERROR_MESSAGE, throwable.getMessage());
+            servletRequest.setAttribute(RequestDispatcher.ERROR_EXCEPTION, realError);
+            servletRequest.setAttribute(RequestDispatcher.ERROR_EXCEPTION_TYPE, realError.getClass());
         } else {
-            sreq.setAttribute(RequestDispatcher.ERROR_STATUS_CODE,
-                              Integer.valueOf(statusCode));
+            servletRequest.setAttribute(ERROR_STATUS_CODE, Integer.valueOf(statusCode));
             String message = ((HttpResponse) response).getMessage();
             if (message == null) {
                 message = "";
             }
-            sreq.setAttribute(RequestDispatcher.ERROR_MESSAGE, message);
+            servletRequest.setAttribute(ERROR_MESSAGE, message);
         }
 
         if (custom(request, response, errorPage)) {
             try {
-                sresp.flushBuffer();
+                servletResponse.flushBuffer();
             } catch (IOException e) {
                 log("Exception processing " + errorPage, e);
             }
         }
     }
 
-    private void setErrorPageContentType(Response response,
-                                         String location, Context context) {
-
+    private void setErrorPageContentType(Response response, String location, Context context) {
         if (response.getContentType() == null && location != null) {
-            String str = location.substring(location.lastIndexOf('.') + 1);
-            str = context.findMimeMapping(str.toLowerCase(Locale.ENGLISH));
-            if(str != null)
-                ((ServletResponse) response).setContentType(str);
+            String contentType = location.substring(location.lastIndexOf('.') + 1);
+            contentType = context.findMimeMapping(contentType.toLowerCase(ENGLISH));
+            if (contentType != null) {
+                ((ServletResponse) response).setContentType(contentType);
+            }
         }
     }
 
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardWrapper.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardWrapper.java
index 8cd579a..070835a 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardWrapper.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/StandardWrapper.java
@@ -36,7 +36,6 @@
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.SingleThreadModel;
 import jakarta.servlet.UnavailableException;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
@@ -240,6 +239,7 @@
 
     /**
      * Stack containing the STM instances.
+     * TODO: remove
      */
     private Stack<Servlet> instancePool = null;
 
@@ -314,6 +314,7 @@
      * this servlet will return an SC_SERVICE_UNAVAILABLE error.  If it is zero,
      * the servlet is currently available.
      */
+    @Override
     public long getAvailable() {
 
         return (this.available);
@@ -330,6 +331,7 @@
      *
      * @param available The new available date/time
      */
+    @Override
     public void setAvailable(long available) {
 
         long oldAvailable = this.available;
@@ -357,6 +359,7 @@
     /**
      * Return the debugging detail level for this component.
      */
+    @Override
     public int getDebug() {
         return (this.debug);
     }
@@ -367,6 +370,7 @@
      *
      * @param debug The new debugging detail level
      */
+    @Override
     public void setDebug(int debug) {
         int oldDebug = this.debug;
         this.debug = debug;
@@ -385,6 +389,7 @@
      * the corresponding version number, in the format
      * <code>&lt;description&gt;/&lt;version&gt;</code>.
      */
+    @Override
     public String getInfo() {
         return (info);
     }
@@ -401,6 +406,7 @@
     /**
      * Return the context-relative URI of the JSP file for this servlet.
      */
+    @Override
     public String getJspFile() {
         return (this.jspFile);
     }
@@ -411,6 +417,7 @@
      *
      * @param jspFile JSP file URI
      */
+    @Override
     public void setJspFile(String jspFile) {
 
         String oldJspFile = this.jspFile;
@@ -428,6 +435,7 @@
      * Return the load-on-startup order value (negative value means
      * load on first call).
      */
+    @Override
     public int getLoadOnStartup() {
 
         if (isJspServlet && loadOnStartup < 0) {
@@ -449,6 +457,7 @@
      *
      * @param value New load-on-startup value
      */
+    @Override
     public void setLoadOnStartup(int value) {
 
         int oldLoadOnStartup = this.loadOnStartup;
@@ -486,6 +495,7 @@
     /**
      * Sets the description of this servlet.
      */
+    @Override
     public void setDescription(String description) {
         this.description = description;
     }
@@ -494,6 +504,7 @@
     /**
      * Gets the description of this servlet.
      */
+    @Override
     public String getDescription() {
         return description;
     }
@@ -527,6 +538,7 @@
      *
      * @param container Proposed parent Container
      */
+    @Override
     public void setParent(Container container) {
         if ((container != null) &&
             !(container instanceof Context))
@@ -544,6 +556,7 @@
     /**
      * Return the run-as identity for this servlet.
      */
+    @Override
     public String getRunAs() {
         return (this.runAs);
     }
@@ -554,6 +567,7 @@
      *
      * @param runAs New run-as identity value
      */
+    @Override
     public void setRunAs(String runAs) {
         String oldRunAs = this.runAs;
         this.runAs = runAs;
@@ -567,6 +581,7 @@
      * @param isAsyncSupported true if the wrapped servlet supports async mode,
      * false otherwise
      */
+    @Override
     public void setIsAsyncSupported(boolean isAsyncSupported) {
         this.isAsyncSupported = isAsyncSupported;
     }
@@ -579,6 +594,7 @@
      * @return true if the wrapped servlet supports async operations, and
      * false otherwise
      */
+    @Override
     public boolean isAsyncSupported() {
         return isAsyncSupported;
     }
@@ -587,6 +603,7 @@
     /**
      * Return the fully qualified servlet class name for this servlet.
      */
+    @Override
     public String getServletClassName() {
         return this.servletClassName;
     }
@@ -597,6 +614,7 @@
      *
      * @param className Servlet class name
      */
+    @Override
     public void setServletClassName(String className) {
         if (className == null) {
             throw new NullPointerException("Null servlet class name");
@@ -630,6 +648,7 @@
      * @param clazz The class object from which this servlet will
      * be instantiated
      */
+    @Override
     public void setServletClass(Class <? extends Servlet> clazz) {
         if (clazz == null) {
             throw new NullPointerException("Null servlet class");
@@ -697,6 +716,7 @@
     /**
      * Is this servlet currently unavailable?
      */
+    @Override
     public boolean isUnavailable() {
         if (available == 0L)
             return (false);
@@ -718,6 +738,7 @@
      * @return Array of names of the methods supported by the underlying
      * servlet
      */
+    @Override
     public String[] getServletMethods() throws ServletException {
 
         loadServletClass();
@@ -766,6 +787,7 @@
     /**
      * Sets the multipart location
      */
+    @Override
     public void setMultipartLocation(String location) {
         multipartConfigured = true;
         multipartLocation = location;
@@ -775,6 +797,7 @@
     /**
      * Gets the multipart location
      */
+    @Override
     public String getMultipartLocation(){
         return multipartLocation;
     }
@@ -783,6 +806,7 @@
     /**
      * Sets the multipart max-file-size
      */
+    @Override
     public void setMultipartMaxFileSize(long maxFileSize) {
         multipartConfigured = true;
         multipartMaxFileSize = maxFileSize;
@@ -792,6 +816,7 @@
     /**
      * Gets the multipart max-file-size
      */
+    @Override
     public long getMultipartMaxFileSize() {
         return multipartMaxFileSize;
     }
@@ -800,6 +825,7 @@
     /**
      * Sets the multipart max-request-size
      */
+    @Override
     public void setMultipartMaxRequestSize(long maxRequestSize) {
         multipartConfigured = true;
         multipartMaxRequestSize = maxRequestSize;
@@ -809,6 +835,7 @@
     /**
      * Gets the multipart max-request-Size
      */
+    @Override
     public long getMultipartMaxRequestSize() {
         return multipartMaxRequestSize;
     }
@@ -817,6 +844,7 @@
     /**
      * Sets the multipart file-size-threshold
      */
+    @Override
     public void setMultipartFileSizeThreshold(int fileSizeThreshold) {
         multipartConfigured = true;
         multipartFileSizeThreshold = fileSizeThreshold;
@@ -826,6 +854,7 @@
     /**
      * Gets the multipart file-size-threshol
      */
+    @Override
     public int getMultipartFileSizeThreshold() {
         return multipartFileSizeThreshold;
     }
@@ -845,6 +874,7 @@
 
 
     // START GlassFish 1343
+    @Override
     public synchronized void addValve(GlassFishValve valve) {
         /*
          * This exception should never be thrown in reality, because we never
@@ -891,6 +921,7 @@
      *
      * @param child Child container to be added
      */
+    @Override
     public void addChild(Container child) {
         throw new IllegalStateException
                 (rb.getString(LogFacade.WRAPPER_CONTAINER_NO_CHILD_EXCEPTION));
@@ -904,6 +935,7 @@
      * @param name the name of the init parameter
      * @param value the value of the init parameter
      */
+    @Override
     public void addInitParameter(String name, String value) {
         setInitParameter(name, value, true);
         if (notifyContainerListeners) {
@@ -990,6 +1022,7 @@
      *
      * @param listener The new listener
      */
+    @Override
     public void addInstanceListener(InstanceListener listener) {
         instanceSupport.addInstanceListener(listener);
     }
@@ -1000,6 +1033,7 @@
      *
      * @param mapping The new wrapper mapping
      */
+    @Override
     public void addMapping(String mapping) {
         synchronized (mappings) {
             mappings.add(mapping);
@@ -1025,6 +1059,7 @@
      * @param name Role name used within this servlet
      * @param link Role name used within the web application
      */
+    @Override
     public void addSecurityReference(String name, String link) {
         synchronized (references) {
             references.put(name, link);
@@ -1049,6 +1084,7 @@
      *  an exception
      * @exception ServletException if a loading error occurs
      */
+    @Override
     public synchronized Servlet allocate() throws ServletException {
 
         // If we are currently unloading this servlet, throw an exception
@@ -1133,6 +1169,7 @@
      *
      * @exception ServletException if a deallocation error occurs
      */
+    @Override
     public void deallocate(Servlet servlet) throws ServletException {
 
         // If not SingleThreadModel, no action is required
@@ -1156,6 +1193,7 @@
      *
      * @param name Name of the requested initialization parameter
      */
+    @Override
     public String findInitParameter(String name) {
         synchronized (parameters) {
             return parameters.get(name);
@@ -1167,6 +1205,7 @@
      * Return the names of all defined initialization parameters for this
      * servlet.
      */
+    @Override
     public String[] findInitParameters() {
         synchronized (parameters) {
             String results[] = new String[parameters.size()];
@@ -1178,6 +1217,7 @@
     /**
      * Return the mappings associated with this wrapper.
      */
+    @Override
     public String[] findMappings() {
         synchronized (mappings) {
             return mappings.toArray(new String[mappings.size()]);
@@ -1191,6 +1231,7 @@
      *
      * @param name Security role reference used within this servlet
      */
+    @Override
     public String findSecurityReference(String name) {
         synchronized (references) {
             return references.get(name);
@@ -1202,6 +1243,7 @@
      * Return the set of security role reference names associated with
      * this servlet, if any; otherwise return a zero-length array.
      */
+    @Override
     public String[] findSecurityReferences() {
         synchronized (references) {
             String results[] = new String[references.size()];
@@ -1235,6 +1277,7 @@
      *  an exception
      * @exception ServletException if some other loading problem occurs
      */
+    @Override
     public synchronized void load() throws ServletException {
         instance = loadServlet();
         initServlet(instance);
@@ -1290,12 +1333,6 @@
         classLoadTime = (int) (System.currentTimeMillis() -t1);
 
         // Register our newly initialized instance
-        singleThreadModel = servlet instanceof SingleThreadModel;
-        if (singleThreadModel) {
-            if (instancePool == null)
-                instancePool = new Stack<Servlet>();
-        }
-
         if (notifyContainerListeners) {
             fireContainerEvent("load", this);
         }
@@ -1368,6 +1405,7 @@
                 try{
                     clazz = AccessController.doPrivileged(
                         new PrivilegedExceptionAction<Class>(){
+                            @Override
                             public Class run() throws Exception{
                                 if (fclassLoader != null) {
                                     return fclassLoader.loadClass(factualClass);
@@ -1451,7 +1489,7 @@
                 req.setQueryString("jsp_precompile=true");
 
                 // START PWC 4707989
-                String allowedMethods = (String) parameters.get("httpMethods");
+                String allowedMethods = parameters.get("httpMethods");
                 if (allowedMethods != null
                         && allowedMethods.length() > 0) {
                     String[] s = allowedMethods.split(",");
@@ -1537,8 +1575,8 @@
                                                serviceType,
                                                principal);
                 } else {
-                    serv.service((HttpServletRequest) request,
-                                 (HttpServletResponse) response);
+                    serv.service(request,
+                                 response);
                 }
             } else {
                 serv.service(request, response);
@@ -1599,6 +1637,7 @@
      *
      * @param name Name of the initialization parameter to remove
      */
+    @Override
     public void removeInitParameter(String name) {
 
         synchronized (parameters) {
@@ -1616,6 +1655,7 @@
      *
      * @param listener The listener to remove
      */
+    @Override
     public void removeInstanceListener(InstanceListener listener) {
 
         instanceSupport.removeInstanceListener(listener);
@@ -1628,6 +1668,7 @@
      *
      * @param mapping The pattern to remove
      */
+    @Override
     public void removeMapping(String mapping) {
 
         synchronized (mappings) {
@@ -1645,6 +1686,7 @@
      *
      * @param name Security role used within this servlet to be removed
      */
+    @Override
     public void removeSecurityReference(String name) {
 
         synchronized (references) {
@@ -1660,6 +1702,7 @@
     /**
      * Return a String representation of this component.
      */
+    @Override
     public String toString() {
 
         StringBuilder sb = new StringBuilder();
@@ -1682,6 +1725,7 @@
      * @param unavailable The exception that occurred, or <code>null</code>
      *  to mark this servlet as permanently unavailable
      */
+    @Override
     public void unavailable(UnavailableException unavailable) {
         String msg = MessageFormat.format(rb.getString(LogFacade.MARK_SERVLET_UNAVAILABLE), neutralizeForLog(getName()));
         getServletContext().log(msg);
@@ -1710,6 +1754,7 @@
      * @exception ServletException if an exception is thrown by the
      *  destroy() method
      */
+    @Override
     public synchronized void unload() throws ServletException {
 
         // Nothing to do if we have never loaded the instance
@@ -1829,6 +1874,7 @@
      *
      * @param name Name of the initialization parameter to retrieve
      */
+    @Override
     public String getInitParameter(String name) {
         return findInitParameter(name);
     }
@@ -1845,6 +1891,7 @@
      * Return the set of initialization parameter names defined for this
      * servlet.  If none are defined, an empty Enumeration is returned.
      */
+    @Override
     public Enumeration<String> getInitParameterNames() {
         synchronized (parameters) {
             return (new Enumerator<String>(parameters.keySet()));
@@ -1855,6 +1902,7 @@
     /**
      * Return the servlet context with which this servlet is associated.
      */
+    @Override
     public ServletContext getServletContext() {
         if (parent == null)
             return (null);
@@ -1868,6 +1916,7 @@
     /**
      * Return the name of this servlet.
      */
+    @Override
     public String getServletName() {
         return (getName());
     }
@@ -1949,6 +1998,7 @@
     /**
      * Log the abbreviated name of this Container for logging messages.
      */
+    @Override
     protected String logName() {
 
         StringBuilder sb = new StringBuilder("StandardWrapper[");
@@ -1998,6 +2048,7 @@
      *
      * @exception LifecycleException if a fatal error occurs during startup
      */
+    @Override
     public void start() throws LifecycleException {
 
         // Send j2ee.state.starting notification
@@ -2033,6 +2084,7 @@
      *
      * @exception LifecycleException if a fatal error occurs during shutdown
      */
+    @Override
     public void stop() throws LifecycleException {
 
         setAvailable(Long.MAX_VALUE);
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/filters/CsrfPreventionFilter.java b/appserver/web/web-core/src/main/java/org/apache/catalina/filters/CsrfPreventionFilter.java
index 83bf184..55f51dd 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/filters/CsrfPreventionFilter.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/filters/CsrfPreventionFilter.java
@@ -243,23 +243,11 @@
         }
 
         @Override
-        @Deprecated
-        public String encodeRedirectUrl(String url) {
-            return encodeRedirectURL(url);
-        }
-
-        @Override
         public String encodeRedirectURL(String url) {
             return addNonce(super.encodeRedirectURL(url));
         }
 
         @Override
-        @Deprecated
-        public String encodeUrl(String url) {
-            return encodeURL(url);
-        }
-
-        @Override
         public String encodeURL(String url) {
             return addNonce(super.encodeURL(url));
         }
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/loader/WebappLoader.java b/appserver/web/web-core/src/main/java/org/apache/catalina/loader/WebappLoader.java
index fc25b8d..640f829 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/loader/WebappLoader.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/loader/WebappLoader.java
@@ -1089,7 +1089,7 @@
 
     /**
      * Set the appropriate context attribute for our class path.  This
-     * is required only because Jasper depends on it.
+     * is required only because WaSP depends on it.
      */
     private void setClassPath() {
 
@@ -1228,7 +1228,7 @@
 
     /**
      * Copy a file to the specified temp directory. This is required only
-     * because Jasper depends on it.
+     * because WaSP depends on it.
      */
     private boolean copy(InputStream is, OutputStream os) {
 
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/security/SecurityConfig.java b/appserver/web/web-core/src/main/java/org/apache/catalina/security/SecurityConfig.java
index 951a56e..eb18a63 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/security/SecurityConfig.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/security/SecurityConfig.java
@@ -38,7 +38,7 @@
 
     private final static String PACKAGE_ACCESS =  "sun.,"
                                                 + "org.apache.catalina."
-                                                + ",org.apache.jasper."
+                                                + ",org.glassfish.wasp."
                                                 + ",org.glassfish.grizzly.tcp."
                                                 + ",org.glassfish.grizzly.";
 
@@ -46,7 +46,7 @@
                                                 + ",org.apache.catalina."
                                                 + ",org.glassfish.grizzly.tcp."
                                                 + ",org.glassfish.grizzly."
-                                                + ",org.apache.jasper.";
+                                                + ",org.glassfish.wasp.";
     /**
      * List of protected package from conf/catalina.properties
      */
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSession.java b/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSession.java
index 717e101..ddfee7f 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSession.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSession.java
@@ -132,11 +132,6 @@
     };
 
     /**
-     * The HTTP session context associated with this session.
-     */
-    protected static volatile HttpSessionContext sessionContext = null;
-
-    /**
      * Used for serialized format versioning.
      * 1 = first version where this is being tracked.
      *
@@ -300,6 +295,7 @@
      * Return the authentication type used to authenticate our cached
      * Principal, if any.
      */
+    @Override
     public String getAuthType() {
 
         return (this.authType);
@@ -313,6 +309,7 @@
      *
      * @param authType The new cached authentication type
      */
+    @Override
     public void setAuthType(String authType) {
 
         this.authType = authType;
@@ -325,6 +322,7 @@
      *
      * @param time The new creation time
      */
+    @Override
     public void setCreationTime(long time) {
 
         this.creationTime = time;
@@ -337,6 +335,7 @@
     /**
      * Return the session identifier for this session.
      */
+    @Override
     public String getId() {
 
         return getIdInternal();
@@ -347,6 +346,7 @@
     /**
      * Return the session identifier for this session.
      */
+    @Override
     public String getIdInternal() {
 
         return (this.id);
@@ -359,6 +359,7 @@
      *
      * @param id The new session identifier
      */
+    @Override
     public void setId(String id) {
 
         if ((this.id != null) && (manager != null))
@@ -498,6 +499,7 @@
      * the corresponding version number, in the format
      * <code>&lt;description&gt;/&lt;version&gt;</code>.
      */
+    @Override
     public String getInfo() {
 
         return (this.info);
@@ -511,6 +513,7 @@
      * GMT.  Actions that your application takes, such as getting or setting
      * a value associated with the session, do not affect the access time.
      */
+    @Override
     public long getLastAccessedTime() {
         if ( !isValid() ) {
             throw new IllegalStateException
@@ -548,6 +551,7 @@
     /**
      * Return the Manager within which this Session is valid.
      */
+    @Override
     public Manager getManager() {
 
         return (this.manager);
@@ -560,6 +564,7 @@
      *
      * @param manager The new Manager
      */
+    @Override
     public void setManager(Manager manager) {
         this.manager = manager;
         context = (StandardContext) manager.getContainer();
@@ -571,6 +576,7 @@
      * before the servlet container will invalidate the session.  A negative
      * time indicates that the session should never time out.
      */
+    @Override
     public int getMaxInactiveInterval() {
 
         return (this.maxInactiveInterval);
@@ -585,6 +591,7 @@
      *
      * @param interval The new maximum interval
      */
+    @Override
     public void setMaxInactiveInterval(int interval) {
 
         this.maxInactiveInterval = interval;
@@ -600,6 +607,7 @@
      *
      * @param isNew The new value for the <code>isNew</code> flag
      */
+    @Override
     public void setNew(boolean isNew) {
 
         this.isNew = isNew;
@@ -614,6 +622,7 @@
      * <code>Realm.authenticate()</code> calls on every request.  If there
      * is no current associated Principal, return <code>null</code>.
      */
+    @Override
     public Principal getPrincipal() {
 
         return (this.principal);
@@ -629,6 +638,7 @@
      *
      * @param principal The new Principal, or <code>null</code> if none
      */
+    @Override
     public void setPrincipal(Principal principal) {
 
         this.principal = principal;
@@ -639,6 +649,7 @@
      * Return the <code>HttpSession</code> for which this object
      * is the facade.
      */
+    @Override
     public HttpSession getSession() {
 
         if (facade == null){
@@ -646,6 +657,7 @@
                 final StandardSession fsession = this;
                 facade = AccessController.doPrivileged(
                         new PrivilegedAction<StandardSessionFacade>(){
+                    @Override
                     public StandardSessionFacade run(){
                         return new StandardSessionFacade(fsession);
                     }
@@ -662,6 +674,7 @@
     /**
      * Return the <code>isValid</code> flag for this session.
      */
+    @Override
     public boolean isValid() {
 
         if (this.expiring){
@@ -695,6 +708,7 @@
     }
 
     // START CR 6363689
+    @Override
     public boolean getIsValid() {
         return this.isValid;
     }
@@ -705,6 +719,7 @@
      *
      * @param isValid The new value for the <code>isValid</code> flag
      */
+    @Override
     public void setValid(boolean isValid) {
 
         this.isValid = isValid;
@@ -724,6 +739,7 @@
      * should be called by the context when a request comes in for a particular
      * session, even if the application does not reference it.
      */
+    @Override
     public void access() {
         this.lastAccessedTime = this.thisAccessedTime;
         this.thisAccessedTime = System.currentTimeMillis();
@@ -735,6 +751,7 @@
     /**
      * End the access.
      */
+    @Override
     public void endAccess() {
         isNew = false;
     }
@@ -743,6 +760,7 @@
     /**
      * Add a session event listener to this component.
      */
+    @Override
     public void addSessionListener(SessionListener listener) {
 
         synchronized (listeners) {
@@ -756,6 +774,7 @@
      * Perform the internal processing required to invalidate this session,
      * without triggering an exception if the session has already expired.
      */
+    @Override
     public void expire() {
 
         expire(true);
@@ -967,6 +986,7 @@
      *
      * @param name Name of the note to be returned
      */
+    @Override
     public Object getNote(String name) {
         return (notes.get(name));
     }
@@ -976,6 +996,7 @@
      * Return an Iterator containing the String names of all notes bindings
      * that exist for this session.
      */
+    @Override
     public Iterator<String> getNoteNames() {
         return (notes.keySet().iterator());
     }
@@ -985,6 +1006,7 @@
      * Release all object references, and initialize instance variables, in
      * preparation for reuse of this object.
      */
+    @Override
     public void recycle() {
 
         // Reset the instance variables associated with this Session
@@ -1013,6 +1035,7 @@
      *
      * @param name Name of the note to be removed
      */
+    @Override
     public void removeNote(String name) {
         notes.remove(name);
     }
@@ -1021,6 +1044,7 @@
     /**
      * Remove a session event listener from this component.
      */
+    @Override
     public void removeSessionListener(SessionListener listener) {
 
         synchronized (listeners) {
@@ -1037,6 +1061,7 @@
      * @param name Name to which the object should be bound
      * @param value Object to be bound to the specified name
      */
+    @Override
     public void setNote(String name, Object value) {
         notes.put(name, value);
     }
@@ -1048,6 +1073,7 @@
      *
      * @return true if this Session has expired, false otherwise
      */
+    @Override
     public boolean hasExpired() {
 
         if (maxInactiveInterval >= 0
@@ -1072,6 +1098,7 @@
     /**
      * Gets the version number
      */
+    @Override
     public long getVersion() {
         return version.get();
     }
@@ -1089,6 +1116,7 @@
      * Return the single sign on id.
      * It is null if there is no SSO.
      */
+    @Override
     public String getSsoId() {
         return ssoId;
     }
@@ -1097,6 +1125,7 @@
     /**
      * Set the single sign on id.
      */
+    @Override
     public void setSsoId(String ssoId) {
         this.ssoId = ssoId;
     }
@@ -1105,6 +1134,7 @@
     /**
      * Return the single sign on version.
      */
+    @Override
     public long getSsoVersion() {
         return ssoVersion;
     }
@@ -1113,6 +1143,7 @@
     /**
      * Set the single sign on version.
      */
+    @Override
     public void setSsoVersion(long value) {
         ssoVersion = value;
     }
@@ -1121,6 +1152,7 @@
     /**
      * Return a string representation of this object.
      */
+    @Override
     public String toString() {
 
         // STARTS S1AS
@@ -1216,6 +1248,7 @@
      * @exception IllegalStateException if this method is called on an
      *  invalidated session
      */
+    @Override
     public long getCreationTime() {
 
         if (!isValid())
@@ -1230,6 +1263,7 @@
     /**
      * Return the ServletContext to which this session belongs.
      */
+    @Override
     public ServletContext getServletContext() {
 
         if (manager == null)
@@ -1242,20 +1276,6 @@
     }
 
 
-    /**
-     * Return the session context with which this session is associated.
-     *
-     * @deprecated As of Version 2.1, this method is deprecated and has no
-     *  replacement.  It will be removed in a future version of the
-     *  Java Servlet API.
-     */
-    public HttpSessionContext getSessionContext() {
-        if (sessionContext == null)
-            sessionContext = new StandardSessionContext();
-        return (sessionContext);
-
-    }
-
 
     // ----------------------------------------------HttpSession Public Methods
 
@@ -1268,6 +1288,7 @@
      *                                                                                   * @exception IllegalStateException if this method is called on an
      *  invalidated session
      */
+    @Override
     public Object getAttribute(String name) {
 
         if (!isValid())
@@ -1291,6 +1312,7 @@
      * @exception IllegalStateException if this method is called on an
      *  invalidated session
      */
+    @Override
     public Enumeration<String> getAttributeNames() {
 
         if (!isValid())
@@ -1315,6 +1337,7 @@
      * @deprecated As of Version 2.2, this method is replaced by
      *  <code>getAttribute()</code>
      */
+    @Deprecated
     public Object getValue(String name) {
 
         return (getAttribute(name));
@@ -1332,6 +1355,7 @@
      * @deprecated As of Version 2.2, this method is replaced by
      *  <code>getAttributeNames()</code>
      */
+    @Deprecated
     public String[] getValueNames() {
 
         if (!isValid())
@@ -1355,7 +1379,7 @@
      */
     protected boolean getSessionLockForForeground() {
         boolean result = false;
-        StandardSession sess = (StandardSession) this;
+        StandardSession sess = this;
         //now lock the session
         //System.out.println("IN LOCK_SESSION_FOR_FOREGROUND: sess =" + sess);
         long pollTime = 200L;
@@ -1418,6 +1442,7 @@
      * lock the session for background
      * returns true if successful; false if unsuccessful
      */
+    @Override
     public boolean lockForeground() {
         //in this case we are not using locks
         //so just return true
@@ -1445,6 +1470,7 @@
     /**
      * unlock the session from foreground
      */
+    @Override
     public void unlockForeground() {
         //in this case we are not using locks
         //so just return true
@@ -1512,6 +1538,7 @@
      *  an invalidated session
      * HERCULES:modified method
      */
+    @Override
     public void invalidate() {
 
         if (!isValid)
@@ -1541,6 +1568,7 @@
      * @exception IllegalStateException if this method is called on an
      *  invalidated session
      */
+    @Override
     public boolean isNew() {
 
         if (!isValid())
@@ -1570,6 +1598,7 @@
      * @deprecated As of Version 2.2, this method is replaced by
      *  <code>setAttribute()</code>
      */
+    @Deprecated
     public void putValue(String name, Object value) {
 
         setAttribute(name, value);
@@ -1591,6 +1620,7 @@
      * @exception IllegalStateException if this method is called on an
      *  invalidated session
      */
+    @Override
     public void removeAttribute(String name) {
 
         removeAttribute(name, true, true);
@@ -1717,6 +1747,7 @@
      * @deprecated As of Version 2.2, this method is replaced by
      *  <code>removeAttribute()</code>
      */
+    @Deprecated
     public void removeValue(String name) {
 
         removeAttribute(name);
@@ -1741,6 +1772,7 @@
      * @exception IllegalStateException if this method is called on an
      *  invalidated session
      */
+    @Override
     public void setAttribute(String name, Object value) {
 
         // Name cannot be null
@@ -2330,49 +2362,3 @@
 }
 
 
-// ------------------------------------------------------------ Protected Class
-
-
-/**
- * This class is a dummy implementation of the <code>HttpSessionContext</code>
- * interface, to conform to the requirement that such an object be returned
- * when <code>HttpSession.getSessionContext()</code> is called.
- *
- * @author Craig R. McClanahan
- *
- * @deprecated As of Java Servlet API 2.1 with no replacement.  The
- *  interface will be removed in a future version of this API.
- */
-
-final class StandardSessionContext implements HttpSessionContext {
-
-
-    private HashMap<?, String> dummy = new HashMap<String, String>();
-
-    /**
-     * Return the session identifiers of all sessions defined
-     * within this context.
-     *
-     * @deprecated As of Java Servlet API 2.1 with no replacement.
-     *  This method must return an empty <code>Enumeration</code>
-     *  and will be removed in a future version of the API.
-     */
-    public Enumeration<String> getIds() {
-        return (new Enumerator<String>(dummy));
-    }
-
-
-    /**
-     * Return the <code>HttpSession</code> associated with the
-     * specified session identifier.
-     *
-     * @param id Session identifier for which to look up a session
-     *
-     * @deprecated As of Java Servlet API 2.1 with no replacement.
-     *  This method must return null and will be removed in a
-     *  future version of the API.
-     */
-    public HttpSession getSession(String id) {
-        return (null);
-    }
-}
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSessionFacade.java b/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSessionFacade.java
index f0ba2a2..d5c7ced 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSessionFacade.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/session/StandardSessionFacade.java
@@ -20,7 +20,6 @@
 
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.http.HttpSession;
-import jakarta.servlet.http.HttpSessionContext;
 import java.util.Enumeration;
 
 
@@ -68,102 +67,68 @@
     // ---------------------------------------------------- HttpSession Methods
 
 
+    @Override
     public long getCreationTime() {
         return session.getCreationTime();
     }
 
 
+    @Override
     public String getId() {
         return session.getId();
     }
 
 
+    @Override
     public long getLastAccessedTime() {
         return session.getLastAccessedTime();
     }
 
 
+    @Override
     public ServletContext getServletContext() {
         // FIXME : Facade this object ?
         return session.getServletContext();
     }
 
 
+    @Override
     public void setMaxInactiveInterval(int interval) {
         session.setMaxInactiveInterval(interval);
     }
 
 
+    @Override
     public int getMaxInactiveInterval() {
         return session.getMaxInactiveInterval();
     }
 
-
-    /**
-     * @deprecated
-     */
-    public HttpSessionContext getSessionContext() {
-        return session.getSessionContext();
-    }
-
-
+    @Override
     public Object getAttribute(String name) {
         return session.getAttribute(name);
     }
 
-
-    /**
-     * @deprecated
-     */
-    public Object getValue(String name) {
-        return session.getAttribute(name);
-    }
-
-
-    /**
-     * @deprecated
-     */
+    @Override
     public Enumeration<String> getAttributeNames() {
         return session.getAttributeNames();
     }
 
-
-    public String[] getValueNames() {
-        return session.getValueNames();
-    }
-
-
+    @Override
     public void setAttribute(String name, Object value) {
         session.setAttribute(name, value);
     }
 
-
-    /**
-     * @deprecated
-     */
-    public void putValue(String name, Object value) {
-        session.setAttribute(name, value);
-    }
-
-
+    @Override
     public void removeAttribute(String name) {
         session.removeAttribute(name);
     }
 
-
-    /**
-     * @deprecated
-     */
-    public void removeValue(String name) {
-        session.removeAttribute(name);
-    }
-
-
+    @Override
     public void invalidate() {
         session.invalidate();
     }
 
-
+    @Override
     public boolean isNew() {
         return session.isNew();
     }
diff --git a/appserver/web/web-embed/api/pom.xml b/appserver/web/web-embed/api/pom.xml
index ac5dcf5..94d1af3 100755
--- a/appserver/web/web-embed/api/pom.xml
+++ b/appserver/web/web-embed/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web-embed</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>web-embed-api</artifactId>
diff --git a/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml b/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml
index 1ec4989..80d175e 100644
--- a/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml
+++ b/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -271,7 +272,7 @@
 
   <servlet>
     <servlet-name>jsp</servlet-name>
-    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+    <servlet-class>org.glassfish.wasp.servlet.JspServlet</servlet-class>
     <init-param>
       <param-name>xpoweredBy</param-name>
       <param-value>true</param-value>
diff --git a/appserver/web/web-embed/pom.xml b/appserver/web/web-embed/pom.xml
index 54b5411..c31a758 100755
--- a/appserver/web/web-embed/pom.xml
+++ b/appserver/web/web-embed/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/web-glue/pom.xml b/appserver/web/web-glue/pom.xml
index 860b2ec..48605e7 100755
--- a/appserver/web/web-glue/pom.xml
+++ b/appserver/web/web-glue/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -132,8 +132,8 @@
             <artifactId>jakarta.el-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.main.admin</groupId>
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/Constants.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/Constants.java
index f299a6a..8a8e661 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/Constants.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/Constants.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -68,10 +69,10 @@
     public static final String DEFAULT_WEB_MODULE_PREFIX = "__default-";
 
     /**
-     * The Apache Jasper JSP servlet class name.
+     * The Eclipse WASP Pages servlet class name.
      */
     public static final String APACHE_JSP_SERVLET_CLASS =
-        "org.apache.jasper.servlet.JspServlet";
+        "org.glassfish.wasp.servlet.JspServlet";
 
     public static final String JSP_URL_PATTERN="*.jsp";
 
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/ContextFacade.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/ContextFacade.java
index 967a1a8..d0611d7 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/ContextFacade.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/ContextFacade.java
@@ -171,21 +171,6 @@
     }
 
     @Override
-    public Servlet getServlet(String name) {
-        return context.getServlet(name);
-    }
-
-    @Override
-    public Enumeration<Servlet> getServlets() {
-        return context.getServlets();
-    }
-
-    @Override
-    public Enumeration<String> getServletNames() {
-        return context.getServletNames();
-    }
-
-    @Override
     public void log(String msg) {
         context.log(msg);
     }
@@ -309,15 +294,18 @@
         return servletMappings;
     }
 
+    @Override
     protected ServletRegistrationImpl createServletRegistrationImpl(
             StandardWrapper wrapper) {
         return new ServletRegistrationImpl(wrapper, this);
     }
+    @Override
     protected ServletRegistrationImpl createDynamicServletRegistrationImpl(
             StandardWrapper wrapper) {
         return new DynamicServletRegistrationImpl(wrapper, this);
     }
 
+    @Override
     public ServletRegistration.Dynamic addServlet(String servletName,
             Class <? extends Servlet> servletClass) {
         if (context != null) {
@@ -327,6 +315,7 @@
         }
     }
 
+    @Override
     public ServletRegistration.Dynamic addServlet(
             String servletName, Servlet servlet) {
         if (context != null) {
@@ -343,6 +332,7 @@
         return servletMappings.keySet();
     }
 
+    @Override
     public <T extends Servlet> T createServlet(Class<T> clazz)
             throws ServletException {
         if (context != null) {
@@ -357,10 +347,12 @@
         }
     }
 
+    @Override
     public ServletRegistration getServletRegistration(String servletName) {
         return servletRegisMap.get(servletName);
     }
 
+    @Override
     public Map<String, ? extends ServletRegistration> getServletRegistrations() {
         return context.getServletRegistrations();
     }
@@ -417,6 +409,7 @@
         }
     }
 
+    @Override
     public FilterRegistration.Dynamic addFilter(
             String filterName, Filter filter) {
         if (context != null) {
@@ -426,6 +419,7 @@
         }
     }
 
+    @Override
     public FilterRegistration.Dynamic addFilter(String filterName,
             Class <? extends Filter> filterClass) {
         if (context != null) {
@@ -435,6 +429,7 @@
         }
     }
 
+    @Override
     public <T extends Filter> T createFilter(Class<T> clazz)
             throws ServletException {
         if (context != null) {
@@ -449,30 +444,37 @@
         }
     }
 
+    @Override
     public FilterRegistration getFilterRegistration(String filterName) {
         return filterRegisMap.get(filterName);
     }
 
+    @Override
     public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
         return context.getFilterRegistrations();
     }
 
+    @Override
     public SessionCookieConfig getSessionCookieConfig() {
         return context.getSessionCookieConfig();
     }
 
+    @Override
     public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes) {
         context.setSessionTrackingModes(sessionTrackingModes);
     }
 
+    @Override
     public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
         return context.getDefaultSessionTrackingModes();
     }
 
+    @Override
     public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
         return context.getEffectiveSessionTrackingModes();
     }
 
+    @Override
     public void addListener(String className) {
         if (context != null) {
             context.addListener(className);
@@ -485,6 +487,7 @@
         return listenerNames;
     }
 
+    @Override
     public <T extends EventListener> void addListener(T t) {
         if (context != null) {
             context.addListener(t);
@@ -493,6 +496,7 @@
         }
     }
 
+    @Override
     public void addListener(Class <? extends EventListener> listenerClass) {
         if (context != null) {
             context.addListener(listenerClass);
@@ -501,6 +505,7 @@
         }
     }
 
+    @Override
     public <T extends EventListener> T createListener(Class<T> clazz)
             throws ServletException {
         if (context != null) {
@@ -525,10 +530,12 @@
         }
     }
 
+    @Override
     public JspConfigDescriptor getJspConfigDescriptor() {
         return context.getJspConfigDescriptor();
     }
 
+    @Override
     public ClassLoader getClassLoader() {
         if (classLoader != null) {
             return classLoader;
@@ -539,26 +546,32 @@
         }
     }
 
+    @Override
     public void declareRoles(String... roleNames) {
         context.declareRoles(roleNames);
     }
 
+    @Override
     public String getVirtualServerName() {
         return context.getVirtualServerName();
     }
 
+    @Override
     public String getPath() {
         return context.getPath();
     }
 
+    @Override
     public void setPath(String path) {
         context.setPath(path);
     }
 
+    @Override
     public String getDefaultWebXml() {
         return context.getDefaultWebXml();
     }
 
+    @Override
     public void setDefaultWebXml(String defaultWebXml) {
         context.setDefaultWebXml(defaultWebXml);
     }
@@ -582,10 +595,12 @@
     /**
      * Enables or disables directory listings on this <tt>Context</tt>.
      */
+    @Override
     public void setDirectoryListing(boolean directoryListing) {
         context.setDirectoryListing(directoryListing);
     }
 
+    @Override
     public boolean isDirectoryListing() {
         return context.isDirectoryListing();
     }
@@ -593,6 +608,7 @@
     /**
      * Set the security related configuration for this context
      */
+    @Override
     public void setSecurityConfig(SecurityConfig config) {
         this.config = config;
         if (config == null) {
@@ -605,6 +621,7 @@
     /**
      * Gets the security related configuration for this context
      */
+    @Override
     public SecurityConfig getSecurityConfig() {
         return config;
     }
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentDecorator.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentDecorator.java
index f60f50d..66cdc02 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentDecorator.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentDecorator.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -19,19 +20,18 @@
 import org.jvnet.hk2.annotations.Contract;
 
 /**
- * Used to decorate a web component before it is put to service.
- * e.g., WebBeans module may like to perform additional injection
- * in a servlet or a filter.
+ * Used to decorate a web component before it is put to service. e.g., the CDI module may like to perform additional
+ * injection in a servlet or a filter.
  *
  * @author Sanjeeb.Sahoo@Sun.COM
  */
 @Contract
-public interface WebComponentDecorator<T>
-{
+public interface WebComponentDecorator<T> {
     /**
      * Decoare a web component.
+     *
      * @param webComponent web component to be decorated.
-     * @param wm web module which owns this web component.
+     * @param webModule web module which owns this web component.
      */
-    void decorate(T webComponent, WebModule wm);
+    void decorate(T webComponent, WebModule webModule);
 }
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentInvocation.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentInvocation.java
index 81f13c2..4a8ffe4 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentInvocation.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebComponentInvocation.java
@@ -16,12 +16,12 @@
 
 package com.sun.enterprise.web;
 
+import java.lang.reflect.Method;
+
 import org.glassfish.api.invocation.ComponentInvocation;
 
 import jakarta.servlet.Filter;
 import jakarta.servlet.Servlet;
-import jakarta.servlet.SingleThreadModel;
-import java.lang.reflect.Method;
 
 public class WebComponentInvocation extends ComponentInvocation {
 
@@ -58,12 +58,7 @@
         Object resourceTableKey = null;
         if (instance instanceof Servlet || instance instanceof Filter) {
             // Servlet or Filter
-            if (instance instanceof SingleThreadModel) {
-                resourceTableKey = instance;
-            } else {
-                resourceTableKey =
-                        new PairKey(instance, Thread.currentThread());
-            }
+            resourceTableKey = new PairKey(instance, Thread.currentThread());
         } else {
             resourceTableKey = instance;
         }
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java
index bdfede0..fa36197 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -60,8 +61,8 @@
 import org.apache.catalina.startup.ContextConfig;
 import org.apache.catalina.util.RequestUtil;
 import org.apache.catalina.util.ServerInfo;
-import org.apache.jasper.runtime.JspFactoryImpl;
-import org.apache.jasper.xmlparser.ParserUtils;
+import org.glassfish.wasp.runtime.JspFactoryImpl;
+import org.glassfish.wasp.xmlparser.ParserUtils;
 import org.glassfish.api.admin.ServerEnvironment;
 import org.glassfish.api.event.EventListener;
 import org.glassfish.api.event.EventTypes;
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java
index 2e6106c..5de356d 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -40,7 +41,7 @@
 import org.apache.catalina.loader.WebappLoader;
 import org.apache.catalina.servlets.DefaultServlet;
 import org.apache.catalina.session.StandardManager;
-import org.apache.jasper.servlet.JspServlet;
+import org.glassfish.wasp.servlet.JspServlet;
 import org.glassfish.api.deployment.DeploymentContext;
 import org.glassfish.embeddable.web.Context;
 import org.glassfish.embeddable.web.config.FormLoginConfig;
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModuleListener.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModuleListener.java
index db3d17b..c68e7a6 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModuleListener.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModuleListener.java
@@ -16,6 +16,41 @@
 
 package com.sun.enterprise.web;
 
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.FINER;
+import static java.util.logging.Level.WARNING;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Pattern;
+//import com.sun.enterprise.server.PersistenceUnitLoaderImpl;
+//import com.sun.enterprise.server.PersistenceUnitLoader;
+//import com.sun.enterprise.config.ConfigException;
+
+import javax.naming.NamingException;
+
+import org.apache.catalina.Globals;
+import org.apache.catalina.Lifecycle;
+import org.apache.catalina.LifecycleEvent;
+import org.apache.catalina.LifecycleException;
+import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.Wrapper;
+import org.glassfish.api.invocation.InvocationManager;
+import org.glassfish.api.web.TldProvider;
+import org.glassfish.hk2.api.ServiceLocator;
+import org.glassfish.loader.util.ASClassLoaderUtil;
+import org.glassfish.web.LogFacade;
+import org.glassfish.web.deployment.runtime.SunWebAppImpl;
+import org.glassfish.web.deployment.runtime.WebProperty;
+import org.glassfish.web.deployment.util.WebValidatorWithCL;
+
 import com.sun.appserv.web.cache.CacheManager;
 import com.sun.enterprise.container.common.spi.JCDIService;
 import com.sun.enterprise.deployment.WebBundleDescriptor;
@@ -25,31 +60,8 @@
 import com.sun.enterprise.util.net.JarURIPattern;
 import com.sun.enterprise.web.jsp.JspProbeEmitterImpl;
 import com.sun.enterprise.web.jsp.ResourceInjectorImpl;
-import org.apache.catalina.*;
-import org.glassfish.api.invocation.InvocationManager;
-import org.glassfish.api.web.TldProvider;
-import org.glassfish.web.LogFacade;
-import org.glassfish.web.deployment.runtime.WebProperty;
-import org.glassfish.web.deployment.runtime.SunWebAppImpl;
-import org.glassfish.web.deployment.util.WebValidatorWithCL;
-import org.glassfish.loader.util.ASClassLoaderUtil;
-import org.glassfish.hk2.api.ServiceLocator;
 
-import javax.naming.NamingException;
 import jakarta.servlet.ServletContext;
-import java.net.URI;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.StringTokenizer;
-import java.util.regex.Pattern;
-//import com.sun.enterprise.server.PersistenceUnitLoaderImpl;
-//import com.sun.enterprise.server.PersistenceUnitLoader;
-//import com.sun.enterprise.config.ConfigException;
 
 /**
  * Startup event listener for a <b>Context</b> that configures the properties
@@ -90,6 +102,7 @@
      * Process the START event for an associated WebModule
      * @param event The lifecycle event that has occurred
      */
+    @Override
     public void lifecycleEvent(LifecycleEvent event) {
 
         // Identify the context we are associated with
@@ -97,7 +110,7 @@
         try {
             webModule = (WebModule) event.getLifecycle();
         } catch (ClassCastException e) {
-            _logger.log(Level.WARNING, LogFacade.CLASS_CAST_EXCEPTION, event.getLifecycle());
+            _logger.log(WARNING, LogFacade.CLASS_CAST_EXCEPTION, event.getLifecycle());
             return;
         }
 
@@ -137,7 +150,7 @@
 
         // Find tld URI and set it to ServletContext attribute
         List<URI> appLibUris = webModule.getDeployAppLibs();
-        Map<URI, List<String>> appLibTldMap = new HashMap<URI, List<String>>();
+        Map<URI, List<String>> appLibTldMap = new HashMap<>();
         if (appLibUris != null && appLibUris.size() > 0) {
             Pattern pattern = Pattern.compile("META-INF/.*\\.tld");
             for (URI uri : appLibUris) {
@@ -150,7 +163,7 @@
 
         Collection<TldProvider> tldProviders =
             webContainer.getTldProviders();
-        Map<URI, List<String>> tldMap = new HashMap<URI, List<String>>();
+        Map<URI, List<String>> tldMap = new HashMap<>();
         for (TldProvider tldProvider : tldProviders) {
             // Skip any JSF related TLDs for non-JSF apps
             if ("jsfTld".equals(tldProvider.getName()) &&
@@ -172,7 +185,7 @@
          * ServletContext attribute
          */
         Map<URI, List<String>> tldListenerMap =
-            new HashMap<URI, List<String>>();
+            new HashMap<>();
         for (TldProvider tldProvider : tldProviders) {
             // Skip any JSF related TLDs for non-JSF apps
             if ("jsfTld".equals(tldProvider.getName()) &&
@@ -212,8 +225,8 @@
             for (int i = 0; i < props.length; i++) {
                 String pname = props[i].getAttributeValue("name");
                 String pvalue = props[i].getAttributeValue("value");
-                if (_logger.isLoggable(Level.FINE)) {
-                    _logger.log(Level.FINE,
+                if (_logger.isLoggable(FINE)) {
+                    _logger.log(FINE,
                             LogFacade.JSP_CONFIG_PROPERTY,
                             "[" + webModule.getID() + "] is [" + pname + "] = [" + pvalue + "]");
                 }
@@ -222,7 +235,7 @@
         }
 
         // Override any log setting with the container wide logging level
-        wrapper.addInitParameter("logVerbosityLevel",getJasperLogLevel());
+        wrapper.addInitParameter("logVerbosityLevel",getWaspLogLevel());
 
         ResourceInjectorImpl resourceInjector = new ResourceInjectorImpl(
             webModule);
@@ -232,7 +245,7 @@
 
         // START SJSAS 6311155
         String sysClassPath = ASClassLoaderUtil.getModuleClassPath(
-            (ServiceLocator) defaultServices,
+            defaultServices,
             webModule.getID(), null
         );
         // If the configuration flag usMyFaces is set, remove jakarta.faces.jar
@@ -248,8 +261,8 @@
         }
         // TODO: combine with classpath from
         // servletContext.getAttribute(("org.apache.catalina.jsp_classpath")
-        if (_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE, LogFacade.SYS_CLASSPATH, webModule.getID() + " is " + sysClassPath);
+        if (_logger.isLoggable(FINE)) {
+            _logger.log(FINE, LogFacade.SYS_CLASSPATH, webModule.getID() + " is " + sysClassPath);
         }
         if (sysClassPath.equals("")) {
             // In embedded mode, services returns SingleModulesRegistry and
@@ -295,7 +308,7 @@
             return;
         }
 
-        String includeJarsString = null;;
+        String includeJarsString = null;
         for (WebComponentDescriptor wcd: wbd.getWebComponentDescriptors()) {
             if ("jsp".equals(wcd.getCanonicalName())) {
                 InitializationParameter initp =
@@ -311,7 +324,7 @@
             includeJars = null;
             return;
         }
-        includeJars = new ArrayList<String>();
+        includeJars = new ArrayList<>();
         StringTokenizer tokenizer = new StringTokenizer(includeJarsString);
         while (tokenizer.hasMoreElements()) {
             includeJars.add(tokenizer.nextToken());
@@ -359,18 +372,25 @@
      * Determine the debug setting for JspServlet based on the iAS log
      * level.
      */
-    private String getJasperLogLevel() {
+    private String getWaspLogLevel() {
         Level level = _logger.getLevel();
-        if (level == null )
+        if (level == null ) {
             return "warning";
-        if (level.equals(Level.WARNING))
+        }
+
+        if (level.equals(WARNING)) {
             return "warning";
-        else if (level.equals(Level.FINE))
+        }
+
+        if (level.equals(FINE)) {
             return "information";
-        else if (level.equals(Level.FINER) || level.equals(Level.FINEST))
+        }
+
+        if (level.equals(FINER) || level.equals(Level.FINEST)) {
             return "debug";
-        else
-            return "warning";
+        }
+
+        return "warning";
     }
 
     private void startCacheManager(WebModule webModule) {
@@ -383,15 +403,15 @@
             try {
                 cm = CacheModule.configureResponseCache(webModule, bean);
             } catch (Exception ee) {
-                _logger.log(Level.WARNING, LogFacade.CACHE_MRG_EXCEPTION, ee);
+                _logger.log(WARNING, LogFacade.CACHE_MRG_EXCEPTION, ee);
             }
 
             if (cm != null) {
                 try {
                     // first start the CacheManager, if enabled
                     cm.start();
-                    if (_logger.isLoggable(Level.FINE)) {
-                        _logger.log(Level.FINE, LogFacade.CACHE_MANAGER_STARTED);
+                    if (_logger.isLoggable(FINE)) {
+                        _logger.log(FINE, LogFacade.CACHE_MANAGER_STARTED);
                     }
                     // set this manager as a context attribute so that
                     // caching filters/tags can find it
@@ -399,7 +419,7 @@
                     ctxt.setAttribute(CacheManager.CACHE_MANAGER_ATTR_NAME, cm);
 
                 } catch (LifecycleException ee) {
-                    _logger.log(Level.WARNING, ee.getMessage(),
+                    _logger.log(WARNING, ee.getMessage(),
                                                ee.getCause());
                 }
             }
@@ -413,12 +433,12 @@
         if (cm != null) {
             try {
                 cm.stop();
-                if (_logger.isLoggable(Level.FINE)) {
-                    _logger.log(Level.FINE, LogFacade.CACHE_MANAGER_STOPPED);
+                if (_logger.isLoggable(FINE)) {
+                    _logger.log(FINE, LogFacade.CACHE_MANAGER_STOPPED);
                 }
                 ctxt.removeAttribute(CacheManager.CACHE_MANAGER_ATTR_NAME);
             } catch (LifecycleException ee) {
-                _logger.log(Level.WARNING, ee.getMessage(), ee.getCause());
+                _logger.log(WARNING, ee.getMessage(), ee.getCause());
             }
         }
     }
diff --git a/appserver/web/web-glue/src/main/java/com/sun/web/server/J2EEInstanceListener.java b/appserver/web/web-glue/src/main/java/com/sun/web/server/J2EEInstanceListener.java
index d22df20..cbbaa2f 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/web/server/J2EEInstanceListener.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/web/server/J2EEInstanceListener.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,6 +17,33 @@
 
 package com.sun.web.server;
 
+import java.security.AccessControlException;
+import java.security.AccessController;
+import java.security.Policy;
+import java.security.Principal;
+import java.security.PrivilegedAction;
+import java.security.ProtectionDomain;
+import java.text.MessageFormat;
+import java.util.ResourceBundle;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+//END OF IASRI 4660742
+
+import org.apache.catalina.Context;
+import org.apache.catalina.InstanceEvent;
+import org.apache.catalina.InstanceListener;
+import org.apache.catalina.Realm;
+import org.apache.catalina.Wrapper;
+import org.apache.catalina.connector.RequestFacade;
+import org.apache.catalina.servlets.DefaultServlet;
+import org.glassfish.api.invocation.ComponentInvocation;
+import org.glassfish.api.invocation.InvocationManager;
+import org.glassfish.hk2.api.ServiceHandle;
+import org.glassfish.hk2.api.ServiceLocator;
+import org.glassfish.internal.api.ServerContext;
+import org.glassfish.wasp.servlet.JspServlet;
+import org.glassfish.web.LogFacade;
+
 import com.sun.enterprise.container.common.spi.util.InjectionException;
 import com.sun.enterprise.container.common.spi.util.InjectionManager;
 import com.sun.enterprise.security.integration.AppServSecurityContext;
@@ -24,16 +52,6 @@
 import com.sun.enterprise.transaction.api.JavaEETransactionManager;
 import com.sun.enterprise.web.WebComponentInvocation;
 import com.sun.enterprise.web.WebModule;
-import org.apache.catalina.*;
-import org.apache.catalina.connector.RequestFacade;
-import org.apache.catalina.servlets.DefaultServlet;
-import org.apache.jasper.servlet.JspServlet;
-import org.glassfish.api.invocation.ComponentInvocation;
-import org.glassfish.api.invocation.InvocationManager;
-import org.glassfish.hk2.api.ServiceHandle;
-import org.glassfish.hk2.api.ServiceLocator;
-import org.glassfish.internal.api.ServerContext;
-import org.glassfish.web.LogFacade;
 
 import jakarta.servlet.Servlet;
 import jakarta.servlet.ServletRequest;
@@ -41,12 +59,6 @@
 import jakarta.servlet.ServletResponse;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
-import java.security.*;
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-//END OF IASRI 4660742
 
 /**
  * This class implements the Tomcat InstanceListener interface and
diff --git a/appserver/web/web-glue/src/main/java/org/apache/jsp/jsp/test_jsp.java b/appserver/web/web-glue/src/main/java/org/apache/jsp/jsp/test_jsp.java
new file mode 100644
index 0000000..10756cf
--- /dev/null
+++ b/appserver/web/web-glue/src/main/java/org/apache/jsp/jsp/test_jsp.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.apache.jsp.jsp;
+
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.jsp.*;
+
+public final class test_jsp extends org.glassfish.wasp.runtime.HttpJspBase implements org.glassfish.wasp.runtime.JspSourceDependent {
+
+    private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+    private static java.util.List<String> _jspx_dependants;
+
+    private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;
+
+    public java.util.List<String> getDependants() {
+        return _jspx_dependants;
+    }
+
+    public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException {
+
+        PageContext pageContext = null;
+        HttpSession session = null;
+        ServletContext application = null;
+        ServletConfig config = null;
+        JspWriter out = null;
+        Object page = this;
+        JspWriter _jspx_out = null;
+        PageContext _jspx_page_context = null;
+
+        try {
+            response.setContentType("text/html");
+            response.setHeader("X-Powered-By", "JSP/2.3");
+            pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
+            _jspx_page_context = pageContext;
+            application = pageContext.getServletContext();
+            config = pageContext.getServletConfig();
+            session = pageContext.getSession();
+            out = pageContext.getOut();
+            _jspx_out = out;
+            _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector)
+                application.getAttribute("com.sun.appserv.jsp.resource.injector");
+
+            out.write("This is my UPDATED output\n\n");
+        } catch (Throwable t) {
+            if (!(t instanceof SkipPageException)) {
+                out = _jspx_out;
+                if (out != null && out.getBufferSize() != 0)
+                    out.clearBuffer();
+                if (_jspx_page_context != null)
+                    _jspx_page_context.handlePageException(t);
+                else
+                    throw new ServletException(t);
+            }
+        } finally {
+            _jspxFactory.releasePageContext(_jspx_page_context);
+        }
+    }
+}
diff --git a/appserver/web/web-glue/src/main/java/org/apache/jsp/nullErrorPage_jsp.java b/appserver/web/web-glue/src/main/java/org/apache/jsp/nullErrorPage_jsp.java
new file mode 100644
index 0000000..c5ae178
--- /dev/null
+++ b/appserver/web/web-glue/src/main/java/org/apache/jsp/nullErrorPage_jsp.java
@@ -0,0 +1,68 @@
+package org.apache.jsp;
+
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.jsp.*;
+
+public final class nullErrorPage_jsp extends org.glassfish.wasp.runtime.HttpJspBase
+    implements org.glassfish.wasp.runtime.JspSourceDependent {
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List<String> _jspx_dependants;
+
+  private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;
+
+  public java.util.List<String> getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    HttpSession session = null;
+    Throwable exception = org.glassfish.wasp.runtime.JspRuntimeLibrary.getThrowable(request);
+    if (exception != null) {
+      response.setStatus((Integer)request.getAttribute("jakarta.servlet.error.status_code"));
+    }
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+    try {
+      response.setContentType("text/html");
+      response.setHeader("X-Powered-By", "JSP/3.0");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+                  null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+      _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write((java.lang.String) org.glassfish.wasp.runtime.PageContextImpl.evaluateExpression("${pageContext.exception}", java.lang.String.class, (PageContext)_jspx_page_context, null));
+      out.write('\n');
+      out.write((java.lang.String) org.glassfish.wasp.runtime.PageContextImpl.evaluateExpression("${pageContext.errorData.throwable}", java.lang.String.class, (PageContext)_jspx_page_context, null));
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+        else throw new ServletException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}
diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/descriptor/JspGroupDescriptor.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/descriptor/JspGroupDescriptor.java
index 8744016..7e8bfcd 100644
--- a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/descriptor/JspGroupDescriptor.java
+++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/descriptor/JspGroupDescriptor.java
@@ -43,6 +43,7 @@
     /**
      * Return the set of URL pattern aliases for this group.
      */
+    @Override
     public Set<String> getUrlPatterns() {
         if (this.urlPatterns == null) {
             this.urlPatterns = new OrderedSet<String>();
@@ -69,6 +70,7 @@
     /**
      * Return an Iterable over the include prelude elements for this group.
      */
+    @Override
     public Set<String> getIncludePreludes() {
         if (this.includePreludes == null) {
             this.includePreludes = new OrderedSet<String>();
@@ -95,6 +97,7 @@
     /**
      * Return an Iterable over include coda elements for this group.
      */
+    @Override
     public Set<String> getIncludeCodas() {
         if (this.includeCodas == null) {
             this.includeCodas = new OrderedSet<String>();
@@ -125,6 +128,7 @@
         elIgnored = value;
     }
 
+    @Override
     public String getElIgnored() {
         return elIgnored;
     }
@@ -136,6 +140,7 @@
         scriptingInvalid = value;
     }
 
+    @Override
     public String getScriptingInvalid() {
         return scriptingInvalid;
     }
@@ -147,6 +152,7 @@
         isXml = value;
     }
 
+    @Override
     public String getIsXml() {
         return isXml;
     }
@@ -158,6 +164,7 @@
         deferredSyntaxAllowedAsLiteral = value;
     }
 
+    @Override
     public String getDeferredSyntaxAllowedAsLiteral() {
         return deferredSyntaxAllowedAsLiteral;
     }
@@ -169,6 +176,7 @@
         trimDirectiveWhitespaces = value;
     }
 
+    @Override
     public String getTrimDirectiveWhitespaces() {
         return trimDirectiveWhitespaces;
     }
@@ -176,6 +184,7 @@
     /**
      * get display name.
      */
+    @Override
     public String getDisplayName() {
         // bug#4745178  other code requires the
         // display name to be localized.
@@ -185,12 +194,14 @@
     /**
      * set display name.
      */
+    @Override
     public void setDisplayName(String name) {
         // bug#4745178  other code requires the
         // display name to be localized.
         super.setName(name);
     }
 
+    @Override
     public String getPageEncoding() {
         return pageEncoding;
     }
@@ -202,6 +213,7 @@
     /**
      * get defaultContentType
      */
+    @Override
     public String getDefaultContentType() {
         return defaultContentType;
     }
@@ -216,6 +228,7 @@
     /**
      * get buffer
      */
+    @Override
     public String getBuffer() {
         return buffer;
     }
@@ -234,6 +247,7 @@
         errorOnUndeclaredNamespace = value;
     }
 
+    @Override
     public String getErrorOnUndeclaredNamespace() {
         return errorOnUndeclaredNamespace;
     }
@@ -241,6 +255,7 @@
     /**
      * @return a string describing the values I hold
      */
+    @Override
     public void print(StringBuffer toStringBuffer) {
         toStringBuffer.append("\n JspGroupDescriptor");
         toStringBuffer.append( "\n");
@@ -259,4 +274,10 @@
         toStringBuffer.append( "\n buffer: ").append(buffer);
         toStringBuffer.append( "\n errorOnUndeclaredNamespace: ").append(errorOnUndeclaredNamespace);
     }
+
+    @Override
+    public String getErrorOnELNotFound() {
+        // TODO IMPLEMENT!
+        return null;
+    }
 }
diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/jsp/JSPCompiler.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/jsp/JSPCompiler.java
index ee5ebe9..2c7bef9 100644
--- a/appserver/web/web-glue/src/main/java/org/glassfish/web/jsp/JSPCompiler.java
+++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/jsp/JSPCompiler.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,8 +17,8 @@
 
 /*
  * Indentation Information:
- * 0. Please (try to) preserve these settings.
- * 1. Tabs are preferred over spaces.
+ * 0. Please do not (try to) preserve these settings.
+ * 1. Tabs are not preferred over spaces.
  * 2. In vi/vim -
  *             :set tabstop=4 :set shiftwidth=4 :set softtabstop=4
  * 3. In S1 Studio -
@@ -32,11 +33,6 @@
 
 package org.glassfish.web.jsp;
 
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import com.sun.enterprise.deployment.web.InitializationParameter;
-import com.sun.enterprise.util.io.FileUtils;
-
 import java.io.File;
 import java.util.Enumeration;
 import java.util.Iterator;
@@ -45,15 +41,20 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.apache.jasper.JspC;
 import org.glassfish.deployment.common.DeploymentException;
 import org.glassfish.internal.api.ServerContext;
 import org.glassfish.loader.util.ASClassLoaderUtil;
+import org.glassfish.wasp.JspC;
 import org.glassfish.web.LogFacade;
 import org.glassfish.web.deployment.runtime.JspConfig;
 import org.glassfish.web.deployment.runtime.SunWebAppImpl;
 import org.glassfish.web.deployment.runtime.WebProperty;
 
+import com.sun.enterprise.deployment.WebBundleDescriptor;
+import com.sun.enterprise.deployment.WebComponentDescriptor;
+import com.sun.enterprise.deployment.web.InitializationParameter;
+import com.sun.enterprise.util.io.FileUtils;
+
 public final class JSPCompiler {
 
     public static void compile(File inWebDir, File outWebDir, WebBundleDescriptor wbd, ServerContext serverContext)
diff --git a/appserver/web/web-ha/pom.xml b/appserver/web/web-ha/pom.xml
index 7214421..ef71202 100755
--- a/appserver/web/web-ha/pom.xml
+++ b/appserver/web/web-ha/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/web-naming/pom.xml b/appserver/web/web-naming/pom.xml
index f6636dc..9651917 100755
--- a/appserver/web/web-naming/pom.xml
+++ b/appserver/web/web-naming/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -50,8 +50,12 @@
 
     <dependencies>
         <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-mail</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.grizzly</groupId>
diff --git a/appserver/web/web-sse/pom.xml b/appserver/web/web-sse/pom.xml
index 9609f4b..de9a013 100755
--- a/appserver/web/web-sse/pom.xml
+++ b/appserver/web/web-sse/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEvent.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEvent.java
index 35d17b4..4523864 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEvent.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEvent.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,32 +17,35 @@
 
 package org.glassfish.sse.api;
 
-import java.lang.annotation.ElementType;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
 import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 /**
- * {@code ServerSentEvent} indicates a server component that pushes
- * notifications to clients via a HTTP connection. Browser applications
- * typically use <a href="http://dev.w3.org/html5/eventsource/">EventSource</a>
- * API to connect to this source of server-sent events.
+ * {@code ServerSentEvent} indicates a server component that pushes notifications to clients via a HTTP connection.
+ * Browser applications typically use <a href="http://dev.w3.org/html5/eventsource/">EventSource</a> API to connect to
+ * this source of server-sent events.
  *
  * <p>
- * Server component class needs to have {@code ServerSentEvent} annotation and
- * provides the implementation of {@code ServerSentEventHandler}. For example:
- * <pre><code>
+ * Server component class needs to have {@code ServerSentEvent} annotation and provides the implementation of
+ * {@code ServerSentEventHandler}. For example:
+ *
+ * <pre>
+ * <code>
  *     &#64;ServerSentEvent("/foo")
  *     public class FooHandler extends ServerSentEventHandler {
  *         ...
  *     }
- * </code></pre>
+ * </code>
+ * </pre>
  *
  * @author Jitendra Kotamraju
  * @author Santiago.PericasGeertsen@oracle.com
  */
-@Target(value = {ElementType.TYPE})
-@Retention(value = RetentionPolicy.RUNTIME)
+@Target(TYPE)
+@Retention(RUNTIME)
 public @interface ServerSentEvent {
 
     /**
@@ -50,5 +54,3 @@
     public String value();
 
 }
-
-
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventConnection.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventConnection.java
index ea75fcf..02a879a 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventConnection.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventConnection.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -37,8 +38,7 @@
     /**
      * Event source's last event ID.
      *
-     * @return null if there is no HTTP header in the request
-     *         otherwise, last event ID
+     * @return null if there is no HTTP header in the request otherwise, last event ID
      */
     public String getLastEventID() {
         return getRequest().getHeader("Last-Event-ID");
@@ -56,13 +56,13 @@
 
     /**
      * Sends the Server-Sent event to client
+     *
      * @param eventData Server-Sent event data
      * @throws IOException when there is an error in sending
      * @throws IllegalStateException when called after calling close method
      * @see ServerSentEventData
      */
-    public abstract void sendMessage(ServerSentEventData eventData)
-            throws IOException;
+    public abstract void sendMessage(ServerSentEventData eventData) throws IOException;
 
     /**
      * Closes the connection
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventContext.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventContext.java
index 7a0522f..980c50d 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventContext.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventContext.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -20,7 +21,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
-import jakarta.enterprise.util.Nonbinding;
+
 import jakarta.inject.Qualifier;
 
 /**
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventData.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventData.java
index 8d8fc93..cbe4216 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventData.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventData.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -20,8 +21,9 @@
  * Represents a Server-Sent Event data.
  *
  * <p>
- * {@code new ServerSentEventData().data("YHOO").data("+2").data("10)} would send
- * the following event (followed by blank line):
+ * {@code new ServerSentEventData().data("YHOO").data("+2").data("10)} would send the following event (followed by blank
+ * line):
+ *
  * <pre>
  * data:YHOO
  * data:+2
@@ -30,24 +32,26 @@
  * </pre>
  *
  * <p>
- * {@code new ServerSentEventData().comment("test stream")} would send the
- * following event (followed by blank line):
+ * {@code new ServerSentEventData().comment("test stream")} would send the following event (followed by blank line):
+ *
  * <pre>
  * :test stream
  *
  * </pre>
  *
  * <p>
- * {@code new ServerSentEventData().data("first event").id("1")} would send the
- * following event (followed by blank line):
+ * {@code new ServerSentEventData().data("first event").id("1")} would send the following event (followed by blank
+ * line):
+ *
  * <pre>
  * data:first event
  * id:1
  * </pre>
  *
  * <p>
- * {@code new ServerSentEventData().event("add").data("73857293")} would send the
- * following event (followed by blank line):
+ * {@code new ServerSentEventData().event("add").data("73857293")} would send the following event (followed by blank
+ * line):
+ *
  * <pre>
  * event:add
  * data:73857293
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandler.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandler.java
index 7bf551f..b8979bb 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandler.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandler.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -17,7 +18,6 @@
 package org.glassfish.sse.api;
 
 import jakarta.servlet.http.HttpServletRequest;
-import java.io.IOException;
 
 /**
  * A handler that handles Server-Sent Events.
@@ -28,18 +28,18 @@
 public abstract class ServerSentEventHandler {
     protected ServerSentEventConnection connection;
 
-    public enum Status { DONT_RECONNECT, OK }
+    public enum Status {
+        DONT_RECONNECT, OK
+    }
 
     /**
-     * A callback to indicate that a client connects to receive Server-Sent Events.
-     * The application has full access to HTTP request and can decide whether
-     * to accept the connection or reject it. In SSE, clients will reconnect
-     * if the connection is closed, but can be told to stop reconnecting by
-     * returning the appropriate status.
+     * A callback to indicate that a client connects to receive Server-Sent Events. The application has full access to HTTP
+     * request and can decide whether to accept the connection or reject it. In SSE, clients will reconnect if the
+     * connection is closed, but can be told to stop reconnecting by returning the appropriate status.
      *
      * <p>
-     * Last-Event-ID may be used in determining the status and it can be
-     * got using {@code HttpServletRequest.getHeader("Last-Event-ID")}
+     * Last-Event-ID may be used in determining the status and it can be got using
+     * {@code HttpServletRequest.getHeader("Last-Event-ID")}
      *
      * @param request connection request
      * @return Status to accept, or don't reconnect etc
@@ -49,11 +49,9 @@
     }
 
     /**
-     * A callback to indicate that a client connects to receive Server-Sent Events.
-     * The application has full access to HTTP request and can decide whether
-     * to accept the connection or reject it. In SSE, clients will reconnect
-     * if the connection is closed, but can be told to stop reconnecting by
-     * returning the appropriate status.
+     * A callback to indicate that a client connects to receive Server-Sent Events. The application has full access to HTTP
+     * request and can decide whether to accept the connection or reject it. In SSE, clients will reconnect if the
+     * connection is closed, but can be told to stop reconnecting by returning the appropriate status.
      *
      * @param connection Server-Sert event connection
      * @return Status to accept, or don't reconnect etc
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandlerContext.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandlerContext.java
index acacfba..f0293ef 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandlerContext.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/api/ServerSentEventHandlerContext.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -19,8 +20,7 @@
 import java.util.Set;
 
 /**
- * A context class that gives access to all the active handlers for a
- * Server-Sent Event path.
+ * A context class that gives access to all the active handlers for a Server-Sent Event path.
  *
  * @author Santiago.PericasGeertsen@oracle.com
  */
@@ -31,13 +31,13 @@
      *
      * @return path for the Server-Sent event handlers
      */
-    public String getPath();
+    String getPath();
 
     /**
      * Returns all the active Server-Sent event handlers for a path
      *
      * @return all the active handlers
      */
-    public Set<T> getHandlers();
+    Set<T> getHandlers();
 
 }
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventCdiExtension.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventCdiExtension.java
index 3eb5e99..ef67688 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventCdiExtension.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventCdiExtension.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,23 +17,38 @@
 
 package org.glassfish.sse.impl;
 
-import org.glassfish.sse.api.*;
+import static java.util.logging.Level.FINE;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Logger;
+
+import org.glassfish.sse.api.ServerSentEvent;
+import org.glassfish.sse.api.ServerSentEventContext;
+import org.glassfish.sse.api.ServerSentEventHandler;
+import org.glassfish.sse.api.ServerSentEventHandlerContext;
 
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.enterprise.context.spi.CreationalContext;
 import jakarta.enterprise.event.Observes;
-import jakarta.enterprise.inject.spi.*;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
 import jakarta.enterprise.util.AnnotationLiteral;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
- * A CDI extension that creates ServerSentEventHandlerContext beans so that
- * they can be injected into other EE components
+ * A CDI extension that creates ServerSentEventHandlerContext beans so that they can be injected into other EE
+ * components
  *
  * @author Jitendra Kotamraju
  */
@@ -41,19 +57,16 @@
     private final Logger LOGGER = Logger.getLogger(ServerSentEventCdiExtension.class.getName());
 
     // path --> application
-    private final Map<String, ServerSentEventApplication> applicationMap
-        = new HashMap<String, ServerSentEventApplication>();
+    private final Map<String, ServerSentEventApplication> applicationMap = new HashMap<String, ServerSentEventApplication>();
 
     public Map<String, ServerSentEventApplication> getApplicationMap() {
         return applicationMap;
     }
 
-    @SuppressWarnings("UnusedDeclaration")
     void beforeBeanDiscovery(@Observes BeforeBeanDiscovery bbd, BeanManager bm) {
         bbd.addQualifier(ServerSentEventContext.class);
     }
 
-    @SuppressWarnings("ClassExplicitlyAnnotation")
     static class WebHandlerContextAnnotationLiteral extends AnnotationLiteral<ServerSentEventContext> implements ServerSentEventContext {
         private final String path;
 
@@ -85,7 +98,7 @@
             types.add(new ParameterizedType() {
                 @Override
                 public Type[] getActualTypeArguments() {
-                    return new Type[] {handlerClass};
+                    return new Type[] { handlerClass };
                 }
 
                 @Override
@@ -134,11 +147,6 @@
         }
 
         @Override
-        public boolean isNullable() {
-            return false;
-        }
-
-        @Override
         public Set<InjectionPoint> getInjectionPoints() {
             return Collections.emptySet();
         }
@@ -154,36 +162,36 @@
 
     }
 
-    // For each ServerSentEvent hanlder, it creates a corresponding ServerSentHandlerContext
+    // For each ServerSentEvent handler, it creates a corresponding ServerSentHandlerContext
     // This context can be got anywhere from BeanManager
-    @SuppressWarnings("UnusedDeclaration")
     void afterBeanDiscovery(@Observes AfterBeanDiscovery bbd) {
-        for(Map.Entry<String, ServerSentEventApplication> entry : applicationMap.entrySet()) {
-            bbd.addBean(new ServerSentEventHandlerContextBean(entry.getKey(), entry.getValue().getHandlerContext(),
+        for (Map.Entry<String, ServerSentEventApplication> entry : applicationMap.entrySet()) {
+            bbd.addBean(
+                new ServerSentEventHandlerContextBean(
+                    entry.getKey(),
+                    entry.getValue().getHandlerContext(),
                     entry.getValue().getHandlerClass()));
         }
     }
 
-    @SuppressWarnings("UnusedDeclaration")
-    <T> void processAnnotatedType(@Observes ProcessAnnotatedType<T> pat,
-            BeanManager beanManager) {
-        if (LOGGER.isLoggable(Level.FINE)) {
+    <T> void processAnnotatedType(@Observes ProcessAnnotatedType<T> pat, BeanManager beanManager) {
+        if (LOGGER.isLoggable(FINE)) {
             LOGGER.fine("scanning type: " + pat.getAnnotatedType().getJavaClass().getName());
         }
 
-        for (Annotation an : pat.getAnnotatedType().getAnnotations()) {
-            Class clazz = pat.getAnnotatedType().getJavaClass();
+        for (Annotation annotation : pat.getAnnotatedType().getAnnotations()) {
+            Class<?> clazz = pat.getAnnotatedType().getJavaClass();
 
-            if (an instanceof ServerSentEvent) {
+            if (annotation instanceof ServerSentEvent) {
                 if (!ServerSentEventHandler.class.isAssignableFrom(clazz)) {
-                    throw new RuntimeException("Invalid base class '"
-                            + clazz.getName() + "' for handler.");
+                    throw new RuntimeException("Invalid base class '" + clazz.getName() + "' for handler.");
                 }
-                ServerSentEvent wh = (ServerSentEvent) an;
-                String path = normalizePath(wh.value());
+
+                ServerSentEvent serverSentEvent = (ServerSentEvent) annotation;
+                String path = normalizePath(serverSentEvent.value());
                 ServerSentEventApplication app = applicationMap.get(path);
                 if (app != null) {
-                    throw new RuntimeException("Two ServerSentEvent handlers are mapped to same path="+path);
+                    throw new RuntimeException("Two ServerSentEvent handlers are mapped to same path=" + path);
                 }
                 app = new ServerSentEventApplication(clazz, path);
                 applicationMap.put(path, app);
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServlet.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServlet.java
index d8ac35e..db86e1f 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServlet.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServlet.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -37,21 +38,20 @@
  *
  * @author Jitendra Kotamraju
  */
-@WebServlet(asyncSupported=true)
+@WebServlet(asyncSupported = true)
 public final class ServerSentEventServlet extends HttpServlet {
 
-    @SuppressWarnings("UnusedDeclaration")
+    private static final long serialVersionUID = -2281462213280496518L;
+
     @Inject
     private transient ServerSentEventCdiExtension extension;
 
-    @SuppressWarnings("UnusedDeclaration")
     @Inject
-    private transient BeanManager bm;
+    private transient BeanManager beanManager;
 
     @Override
     @SuppressWarnings("unchecked")
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-                throws ServletException, IOException {
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
         // TODO CDI is not strictly required unless ServerSentEventHandlerContext
         // TODO needs to be injected
@@ -60,40 +60,42 @@
         }
 
         Map<String, ServerSentEventApplication> applicationMap = extension.getApplicationMap();
-        ServerSentEventApplication sseApp = applicationMap.get(req.getServletPath());
+        ServerSentEventApplication sseApp = applicationMap.get(request.getServletPath());
         Class<?> clazz = sseApp.getHandlerClass();
-        ServerSentEventHandler sseh;
-        CreationalContext cc;
+        ServerSentEventHandler serverSentEventHandler;
+        CreationalContext creationalContext;
 
         // Check if SSE handler can be instantiated via CDI
-        Iterator<Bean<?>> it = bm.getBeans(clazz).iterator();
+        Iterator<Bean<?>> it = beanManager.getBeans(clazz).iterator();
         if (it.hasNext()) {
             Bean bean = it.next();
-            cc = bm.createCreationalContext(bean);
-            sseh = (ServerSentEventHandler) bean.create(cc);
+            creationalContext = beanManager.createCreationalContext(bean);
+            serverSentEventHandler = (ServerSentEventHandler) bean.create(creationalContext);
         } else {
             throw new RuntimeException("Cannot create ServerSentEventHandler using CDI");
         }
 
-        ServerSentEventHandler.Status status = sseh.onConnecting(req);
+        ServerSentEventHandler.Status status = serverSentEventHandler.onConnecting(request);
         if (status == ServerSentEventHandler.Status.DONT_RECONNECT) {
-            resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
-            cc.release();
+            response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+            creationalContext.release();
             return;
         }
 
         if (status != ServerSentEventHandler.Status.OK) {
-            throw new RuntimeException("Internal Error: need to handle status "+status);
+            throw new RuntimeException("Internal Error: need to handle status " + status);
         }
 
-        resp.setStatus(HttpServletResponse.SC_OK);
-        resp.setContentType("text/event-stream");
-        resp.flushBuffer();    // writes status code and headers
-        AsyncContext ac = req.startAsync(req, resp);
-        ac.setTimeout(0);    // no timeout. need config ?
-        ServerSentEventConnectionImpl con = sseApp.createConnection(req, sseh, cc, ac);
-        ac.addListener(con);
-        con.init();
+        response.setStatus(HttpServletResponse.SC_OK);
+        response.setContentType("text/event-stream");
+        response.flushBuffer(); // writes status code and headers
+
+        AsyncContext asyncContext = request.startAsync(request, response);
+        asyncContext.setTimeout(0); // no timeout. need config ?
+        ServerSentEventConnectionImpl sseConnection = sseApp.createConnection(request, serverSentEventHandler, creationalContext,
+                asyncContext);
+        asyncContext.addListener(sseConnection);
+        sseConnection.init();
     }
 
 }
diff --git a/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServletContainerInitializer.java b/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServletContainerInitializer.java
index bda133e..80fbb10 100644
--- a/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServletContainerInitializer.java
+++ b/appserver/web/web-sse/src/main/java/org/glassfish/sse/impl/ServerSentEventServletContainerInitializer.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -28,8 +29,7 @@
 /**
  * Registers a context listener to get ServletContext
  *
- * Registers a servlet dynamically if there are ServerSentEventHandlers in
- * an application.
+ * Registers a servlet dynamically if there are ServerSentEventHandlers in an application.
  *
  * @author Jitendra Kotamraju
  */
@@ -43,7 +43,7 @@
 
         // Check if there is already a servlet for server sent events
         Map<String, ? extends ServletRegistration> registrations = ctx.getServletRegistrations();
-        for(ServletRegistration reg : registrations.values()) {
+        for (ServletRegistration reg : registrations.values()) {
             if (reg.getClass().equals(ServerSentEventServlet.class)) {
                 return;
             }
@@ -52,11 +52,11 @@
         // Collect all the url patterns for server sent event handlers
         List<String> urlPatternList = new ArrayList<String>();
 
-        for(Class<?> clazz : set) {
+        for (Class<?> clazz : set) {
             if (ServerSentEventHandler.class.isAssignableFrom(clazz)) {
                 ServerSentEvent handler = clazz.getAnnotation(ServerSentEvent.class);
                 if (handler == null) {
-                    throw new RuntimeException("ServerSentEventHandler Class "+clazz+" doesn't have WebHandler annotation");
+                    throw new RuntimeException("ServerSentEventHandler Class " + clazz + " doesn't have WebHandler annotation");
                 }
                 urlPatternList.add(handler.value());
             }
diff --git a/appserver/web/webtier-all/pom.xml b/appserver/web/webtier-all/pom.xml
index 68a08eb..4563d31 100755
--- a/appserver/web/webtier-all/pom.xml
+++ b/appserver/web/webtier-all/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/weld-integration-fragment/pom.xml b/appserver/web/weld-integration-fragment/pom.xml
index 01b28be..e10f9a6 100644
--- a/appserver/web/weld-integration-fragment/pom.xml
+++ b/appserver/web/weld-integration-fragment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>weld-integration-fragment</artifactId>
diff --git a/appserver/web/weld-integration-test-fragment/pom.xml b/appserver/web/weld-integration-test-fragment/pom.xml
index 094eecc..5ad8c0c 100644
--- a/appserver/web/weld-integration-test-fragment/pom.xml
+++ b/appserver/web/weld-integration-test-fragment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/web/weld-integration/pom.xml b/appserver/web/weld-integration/pom.xml
index 7b58d3b..231d3d0 100644
--- a/appserver/web/weld-integration/pom.xml
+++ b/appserver/web/weld-integration/pom.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
+    Copyright (c) 2021 Contributors to Eclipse Foundation.
     Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -23,8 +24,7 @@
     <parent>
         <groupId>org.glassfish.main.web</groupId>
         <artifactId>web</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>weld-integration</artifactId>
@@ -64,6 +64,10 @@
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.lang-model</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.main.deployment</groupId>
             <artifactId>deployment-javaee-full</artifactId>
             <version>${project.version}</version>
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/hk2/HK2CDIBean.java b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/hk2/HK2CDIBean.java
index 0de0897..465dbdf 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/hk2/HK2CDIBean.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/hk2/HK2CDIBean.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,10 +17,11 @@
 
 package org.glassfish.cdi.hk2;
 
+import static java.util.Collections.emptySet;
+
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.Set;
 
 import org.glassfish.hk2.api.ActiveDescriptor;
@@ -29,6 +31,7 @@
 
 import jakarta.enterprise.context.Dependent;
 import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.Default;
 import jakarta.enterprise.inject.spi.Bean;
 import jakarta.enterprise.inject.spi.InjectionPoint;
 
@@ -77,11 +80,7 @@
     @Override
     public Set<Annotation> getQualifiers() {
         if (descriptor.getQualifierAnnotations().isEmpty()) {
-            HashSet<Annotation> retVal = new HashSet<>();
-
-            retVal.add(new DefaultImpl());
-
-            return retVal;
+            return Set.of(Default.Literal.INSTANCE);
         }
 
         return descriptor.getQualifierAnnotations();
@@ -99,7 +98,7 @@
 
     @Override
     public Set<Class<? extends Annotation>> getStereotypes() {
-        return Collections.emptySet();
+        return emptySet();
     }
 
     @Override
@@ -112,12 +111,6 @@
         return false;
     }
 
-    @Override
-    public boolean isNullable() {
-        // TODO, some scoped DO support a null return
-        return false;
-    }
-
     public ActiveDescriptor<T> getHK2Descriptor() {
         return descriptor;
     }
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionScopedCDIUtil.java b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionScopedCDIUtil.java
index cc466d0..c5f565f 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionScopedCDIUtil.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionScopedCDIUtil.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -170,11 +171,6 @@
         }
 
         @Override
-        public boolean isNullable() {
-            return false;
-        }
-
-        @Override
         public Object create(CreationalContext ctx) {
             Object instance = injectionTarget.produce(ctx);
             injectionTarget.inject(instance, ctx);
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequired.java b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequired.java
index 2b4073c..e2d71a8 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequired.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequired.java
@@ -24,13 +24,14 @@
 import java.util.logging.Logger;
 
 import com.sun.enterprise.transaction.TransactionManagerHelper;
+
 import jakarta.annotation.Priority;
 import jakarta.interceptor.AroundInvoke;
 import jakarta.interceptor.Interceptor;
 import jakarta.interceptor.InvocationContext;
+import jakarta.transaction.TransactionManager;
 import jakarta.transaction.Transactional;
 import jakarta.transaction.TransactionalException;
-import jakarta.transaction.TransactionManager;
 
 /**
  * Transactional annotation Interceptor class for Required transaction type, ie
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequiresNew.java b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequiresNew.java
index 29af34b..1c1b38f 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequiresNew.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorRequiresNew.java
@@ -24,14 +24,15 @@
 import java.util.logging.Logger;
 
 import com.sun.enterprise.transaction.TransactionManagerHelper;
+
 import jakarta.annotation.Priority;
 import jakarta.interceptor.AroundInvoke;
 import jakarta.interceptor.Interceptor;
 import jakarta.interceptor.InvocationContext;
 import jakarta.transaction.Transaction;
+import jakarta.transaction.TransactionManager;
 import jakarta.transaction.Transactional;
 import jakarta.transaction.TransactionalException;
-import jakarta.transaction.TransactionManager;
 
 /**
  * Transactional annotation Interceptor class for RequiresNew transaction type, ie
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ACLSingletonProvider.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ACLSingletonProvider.java
index 376dae1..101c8b0 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ACLSingletonProvider.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ACLSingletonProvider.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -109,7 +110,7 @@
          * EarLibClassLoader. If latter is the case, it assumes that this is a standalone module and hence it returns the
          * thread's context class loader.
          *
-         * @return a class loader that's common to all modules of a Java EE app
+         * @return a class loader that's common to all modules of a Jakarta EE application
          */
         private ClassLoader getClassLoader() {
             ClassLoader contextClassLoader = getSecurityManager() != null ? doPrivileged(new PrivilegedAction<ClassLoader>() {
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/BeanDeploymentArchiveImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/BeanDeploymentArchiveImpl.java
index 6971a23..cf463d5 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/BeanDeploymentArchiveImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/BeanDeploymentArchiveImpl.java
@@ -633,8 +633,7 @@
         } else {
             className = filename.replace(SEPARATOR_CHAR, '.');
         }
-        className = className.substring(0, className.length() - 6);
-        return className;
+        return className.substring(0, className.length() - 6);
     }
 
     private ClassLoader getClassLoader() {
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/DeploymentImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/DeploymentImpl.java
index bc6da27..ea8535c 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/DeploymentImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/DeploymentImpl.java
@@ -710,7 +710,7 @@
 
         try {
             // Each appLib in context.getAppLibs is a URI of the form
-            // "file:/glassfish/runtime/trunk/glassfish6/glassfish/domains/domain1/lib/applibs/mylib.jar"
+            // "file:/glassfish/runtime/trunk/glassfish7/glassfish/domains/domain1/lib/applibs/mylib.jar"
             List<URI> appLibs = context.getAppLibs();
             Set<String> installedLibraries = getInstalledLibraries(archive);
 
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/InjectionPointHelper.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/InjectionPointHelper.java
index 3905286..28c16ab 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/InjectionPointHelper.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/InjectionPointHelper.java
@@ -16,11 +16,12 @@
 
 package org.glassfish.weld;
 
+import static java.util.Locale.ENGLISH;
+
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
 import java.lang.reflect.Member;
 import java.lang.reflect.Method;
-import java.util.Locale;
 
 import javax.naming.NamingException;
 
@@ -136,27 +137,24 @@
 
     private String getInjectionMethodPropertyName(Method method) {
         String methodName = method.getName();
-        String propertyName;
 
         if (methodName.length() <= 3 || !methodName.startsWith("set")) {
             throw new IllegalArgumentException("Illegal env dependency setter name" + method.getName());
         }
-        // Derive javabean property name.
-        propertyName = methodName.substring(3, 4).toLowerCase(Locale.ENGLISH) + methodName.substring(4);
 
-        return propertyName;
+        return methodName.substring(3, 4).toLowerCase(ENGLISH) + methodName.substring(4);
     }
 
     private Annotation getEnvAnnotation(Annotation[] annotations) {
-
         Annotation envAnnotation = null;
 
         for (Annotation next : annotations) {
-
             String className = next.annotationType().getName();
-            if (className.equals("jakarta.ejb.EJB") || className.equals("jakarta.annotation.Resource")
-                    || className.equals("jakarta.persistence.PersistenceContext") || className.equals("jakarta.persistence.PersistenceUnit")
-                    || className.equals("jakarta.xml.ws.WebServiceRef")) {
+            if (className.equals("jakarta.ejb.EJB") ||
+               className.equals("jakarta.annotation.Resource") ||
+               className.equals("jakarta.persistence.PersistenceContext") ||
+               className.equals("jakarta.persistence.PersistenceUnit") ||
+               className.equals("jakarta.xml.ws.WebServiceRef")) {
                 envAnnotation = next;
                 break;
             }
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/RootBeanDeploymentArchive.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/RootBeanDeploymentArchive.java
index 3e4a67b..495e4e3 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/RootBeanDeploymentArchive.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/RootBeanDeploymentArchive.java
@@ -18,7 +18,6 @@
 
 import static java.util.Collections.emptyList;
 
-import java.net.URL;
 import java.util.Collection;
 
 import org.glassfish.api.deployment.DeploymentContext;
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ValidationNamingProxy.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ValidationNamingProxy.java
index 4dc0a29..f4d2b37 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ValidationNamingProxy.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/ValidationNamingProxy.java
@@ -24,7 +24,6 @@
 import org.glassfish.api.invocation.InvocationManager;
 import org.glassfish.api.naming.NamedNamingObjectProxy;
 import org.glassfish.hk2.api.ServiceLocator;
-import org.jboss.weld.bootstrap.WeldBootstrap;
 import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
 import org.jvnet.hk2.annotations.Service;
 
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WebComponentInjectionManager.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WebComponentInjectionManager.java
index ed957d0..3e75576 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WebComponentInjectionManager.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WebComponentInjectionManager.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -28,10 +29,12 @@
 import com.sun.enterprise.web.WebModule;
 
 import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.AnnotatedType;
 import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
 
 /**
- * This is a decorator which calls Weld implemetation to do necessary injection of a web component. It is called by
+ * This is a decorator which calls Weld implementation to do necessary injection of a web component. It is called by
  * {@link com.sun.web.server.J2EEInstanceListener} before a web component is put into service.
  *
  * @author Sanjeeb.Sahoo@Sun.COM
@@ -52,12 +55,14 @@
                                                               .getBeanDeploymentArchives()
                                                               .iterator().next());
 
-            // PENDING : Not available in this Web Beans Release
-            CreationalContext<T> ccontext = beanManager.createCreationalContext(null);
+            Class<T> beanClass = (Class<T>) webComponent.getClass();
 
-            beanManager.createInjectionTarget(
-                beanManager.createAnnotatedType(
-                    (Class<T>) webComponent.getClass())).inject(webComponent, ccontext);
+            // PENDING : Not available in this Web Beans Release
+            CreationalContext<T> creationalContext = beanManager.createCreationalContext(null);
+            AnnotatedType<T> annotatedType = beanManager.createAnnotatedType(beanClass);
+            InjectionTargetFactory<T> injectionTargetFactory = beanManager.getInjectionTargetFactory(annotatedType);
+
+            injectionTargetFactory.createInjectionTarget(null).inject(webComponent, creationalContext);
         }
     }
 }
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WeldContextListener.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WeldContextListener.java
index bac6608..5a7be9e 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WeldContextListener.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/WeldContextListener.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2021 Contributors to the Eclipse Foundation
+ * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.apache.jasper.runtime.JspApplicationContextImpl;
 import org.glassfish.cdi.CDILoggerInfo;
+import org.glassfish.wasp.runtime.JspApplicationContextImpl;
 import org.jboss.weld.module.web.el.WeldELContextListener;
 
 import jakarta.enterprise.inject.spi.BeanManager;
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldApplication.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldApplication.java
index 3279020..05011b0 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldApplication.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldApplication.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -19,7 +20,7 @@
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
-import org.apache.jasper.runtime.JspApplicationContextImpl;
+import org.glassfish.wasp.runtime.JspApplicationContextImpl;
 import org.glassfish.weld.util.Util;
 
 import jakarta.el.ELContextListener;
@@ -39,13 +40,15 @@
 
     public WeldApplication(Application application) {
         this.application = application;
+
         BeanManager beanManager = getBeanManager();
         if (beanManager != null) {
             application.addELContextListener(Util.<ELContextListener>newInstance("org.jboss.weld.module.web.el.WeldELContextListener"));
             application.addELResolver(beanManager.getELResolver());
+
             JspApplicationContext jspAppContext = JspFactory.getDefaultFactory()
                     .getJspApplicationContext((ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext());
-            this.expressionFactory = beanManager.wrapExpressionFactory(jspAppContext.getExpressionFactory());
+            expressionFactory = beanManager.wrapExpressionFactory(jspAppContext.getExpressionFactory());
             ((JspApplicationContextImpl) jspAppContext).setExpressionFactory(this.expressionFactory);
         }
     }
@@ -57,21 +60,21 @@
 
     @Override
     public ExpressionFactory getExpressionFactory() {
-        if (this.expressionFactory == null) {
+        if (expressionFactory == null) {
             BeanManager beanManager = getBeanManager();
             if (beanManager != null) {
-                this.expressionFactory = beanManager.wrapExpressionFactory(getWrapped().getExpressionFactory());
+                expressionFactory = beanManager.wrapExpressionFactory(getWrapped().getExpressionFactory());
             } else {
-                this.expressionFactory = getWrapped().getExpressionFactory();
+                expressionFactory = getWrapped().getExpressionFactory();
             }
         }
+
         return expressionFactory;
     }
 
     private BeanManager getBeanManager() {
         try {
-            InitialContext context = new InitialContext();
-            return (BeanManager) context.lookup("java:comp/BeanManager");
+            return (BeanManager) new InitialContext().lookup("java:comp/BeanManager");
         } catch (NamingException e) {
             return null;
         }
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldFacesConfigProvider.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldFacesConfigProvider.java
index 6de9e2f..510f7ba 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldFacesConfigProvider.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/jsf/WeldFacesConfigProvider.java
@@ -17,20 +17,21 @@
 
 package org.glassfish.weld.jsf;
 
+import static java.util.logging.Level.SEVERE;
+import static org.glassfish.cdi.CDILoggerInfo.SEVERE_ERROR_CREATING_URI_FOR_FACES_CONFIG_XML;
+import static org.glassfish.weld.WeldDeployer.WELD_EXTENSION;
+
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.glassfish.api.invocation.ComponentInvocation;
 import org.glassfish.api.invocation.InvocationManager;
 import org.glassfish.cdi.CDILoggerInfo;
 import org.glassfish.hk2.api.ServiceLocator;
-import org.glassfish.weld.WeldDeployer;
 
 import com.sun.enterprise.deployment.WebBundleDescriptor;
 import com.sun.enterprise.web.WebModule;
@@ -39,49 +40,49 @@
 import jakarta.servlet.ServletContext;
 
 /**
- * This provider returns the Web Beans faces-config.xml to the JSF runtime. It will only return the configuraion file
+ * This provider returns the Web Beans faces-config.xml to the Faces runtime. It will only return the configuration file
  * for Web Beans deployments.
  */
 public class WeldFacesConfigProvider implements FacesConfigResourceProvider {
 
     private static final String HABITAT_ATTRIBUTE = "org.glassfish.servlet.habitat";
-    private InvocationManager invokeMgr;
+    private static final String SERVICES_FACES_CONFIG = "META-INF/services/faces-config.xml";
 
     private Logger logger = CDILoggerInfo.getLogger();
 
-    private static final String SERVICES_FACES_CONFIG = "META-INF/services/faces-config.xml";
-
     @Override
     public Collection<URI> getResources(ServletContext context) {
-
-        ServiceLocator defaultServices = (ServiceLocator) context.getAttribute(HABITAT_ATTRIBUTE);
-        invokeMgr = defaultServices.getService(InvocationManager.class);
-        ComponentInvocation inv = invokeMgr.getCurrentInvocation();
-        WebModule webModule = (WebModule) inv.getContainer();
-        WebBundleDescriptor wdesc = webModule.getWebBundleDescriptor();
-
         List<URI> list = new ArrayList<>(1);
 
-        if (!wdesc.hasExtensionProperty(WeldDeployer.WELD_EXTENSION)) {
+        if (!getWebBundleDescriptor(context).hasExtensionProperty(WELD_EXTENSION)) {
             return list;
         }
 
-        // Don't use Util.getCurrentLoader().  This config resource should
+        // Don't use Util.getCurrentLoader(). This config resource should
         // be available from the same classloader that loaded this instance.
         // Doing so allows us to be more OSGi friendly.
-        ClassLoader loader = this.getClass().getClassLoader();
-        URL resource = loader.getResource(SERVICES_FACES_CONFIG);
+        URL resource = getClass().getClassLoader().getResource(SERVICES_FACES_CONFIG);
         if (resource != null) {
             try {
                 list.add(resource.toURI());
             } catch (URISyntaxException ex) {
-                if (logger.isLoggable(Level.SEVERE)) {
-                    logger.log(Level.SEVERE, CDILoggerInfo.SEVERE_ERROR_CREATING_URI_FOR_FACES_CONFIG_XML,
+                if (logger.isLoggable(SEVERE)) {
+                    logger.log(SEVERE, SEVERE_ERROR_CREATING_URI_FOR_FACES_CONFIG_XML,
                             new Object[] { resource.toExternalForm(), ex });
                 }
             }
         }
+
         return list;
     }
 
+    WebBundleDescriptor getWebBundleDescriptor(ServletContext context) {
+        return ((WebModule) ((ServiceLocator)
+            context.getAttribute(HABITAT_ATTRIBUTE))
+                   .getService(InvocationManager.class)
+                   .getCurrentInvocation()
+                   .getContainer())
+                   .getWebBundleDescriptor();
+    }
+
 }
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java
index c7a561a..e1b49b7 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -74,6 +75,7 @@
 import jakarta.enterprise.inject.spi.Bean;
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
 import jakarta.enterprise.inject.spi.Interceptor;
 import jakarta.inject.Inject;
 import jakarta.inject.Scope;
@@ -86,6 +88,11 @@
     @LogMessagesResourceBundle
     public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.cdi.LogMessages";
 
+    @LoggerInfo(subsystem = "AS-WELD", description = "WELD", publish = true)
+    public static final String WELD_LOGGER_SUBSYSTEM_NAME = "jakarta.enterprise.resource.weld";
+
+    private static final Logger logger = Logger.getLogger(WELD_LOGGER_SUBSYSTEM_NAME, SHARED_LOGMESSAGE_RESOURCE);
+
     private static final Set<String> validScopes = new HashSet<>();
     static {
         validScopes.add(Scope.class.getName());
@@ -110,10 +117,6 @@
     @Inject
     private InvocationManager invocationManager;
 
-    @LoggerInfo(subsystem = "AS-WELD", description = "WELD", publish = true)
-    public static final String WELD_LOGGER_SUBSYSTEM_NAME = "jakarta.enterprise.resource.weld";
-
-    private static final Logger logger = Logger.getLogger(WELD_LOGGER_SUBSYSTEM_NAME, SHARED_LOGMESSAGE_RESOURCE);
 
     @Override
     public boolean isCurrentModuleJCDIEnabled() {
@@ -304,7 +307,7 @@
     }
 
     /**
-     * Perform 299 style injection on the <code>managedObject</code> argument.
+     * Perform CDI style injection on the <code>managedObject</code> argument.
      *
      * @param managedObject the managed object
      * @param bundle the bundle descriptor
@@ -312,18 +315,14 @@
     @Override
     @SuppressWarnings({ "rawtypes", "unchecked" })
     public void injectManagedObject(Object managedObject, BundleDescriptor bundle) {
+        BeanManager beanManager = getBeanManagerFromBundle(bundle);
 
-        BundleDescriptor topLevelBundleDesc = (BundleDescriptor) bundle.getModuleDescriptor().getDescriptor();
-
-        // First get BeanDeploymentArchive for this ejb
-        BeanDeploymentArchive bda = weldDeployer.getBeanDeploymentArchiveForBundle(topLevelBundleDesc);
-        //BeanDeploymentArchive bda = getBDAForBeanClass(topLevelBundleDesc, managedObject.getClass().getName());
-        WeldBootstrap bootstrap = weldDeployer.getBootstrapForApp(bundle.getApplication());
-        BeanManager beanManager = bootstrap.getManager(bda);
+        CreationalContext creationalContext = beanManager.createCreationalContext(null);
         AnnotatedType annotatedType = beanManager.createAnnotatedType(managedObject.getClass());
-        InjectionTarget it = beanManager.createInjectionTarget(annotatedType);
-        CreationalContext cc = beanManager.createCreationalContext(null);
-        it.inject(managedObject, cc);
+        InjectionTargetFactory injectionTargetFactory = beanManager.getInjectionTargetFactory(annotatedType);
+
+        injectionTargetFactory.createInjectionTarget(null)
+                              .inject(managedObject, creationalContext);
     }
 
     private Interceptor findEjbInterceptor(Class interceptorClass, Set<EjbInterceptor> ejbInterceptors) {
@@ -447,7 +446,16 @@
         }
 
         return new JCDIInjectionContextImpl(it, cc, managedObject);
+    }
 
+    private BeanManager getBeanManagerFromBundle(BundleDescriptor bundle) {
+        BundleDescriptor topLevelBundleDesc = (BundleDescriptor) bundle.getModuleDescriptor().getDescriptor();
+
+        // First get BeanDeploymentArchive for this Enterprise Bean
+        BeanDeploymentArchive beanDeploymentArchive = weldDeployer.getBeanDeploymentArchiveForBundle(topLevelBundleDesc);
+
+        return weldDeployer.getBootstrapForApp(bundle.getApplication())
+                          .getManager(beanDeploymentArchive);
     }
 
     /**
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/ProxyServicesImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/ProxyServicesImpl.java
index 683f895..d34e72a 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/ProxyServicesImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/ProxyServicesImpl.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 2010, 2018-2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2010, 2018-2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,16 +17,14 @@
 
 package org.glassfish.weld.services;
 
-import com.sun.ejb.codegen.ClassGenerator;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedExceptionAction;
 import java.security.ProtectionDomain;
+
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.internal.api.ClassLoaderHierarchy;
 import org.jboss.weld.serialization.spi.ProxyServices;
 
+import com.sun.ejb.codegen.ClassGenerator;
+
 /**
  * An implementation of the {@link ProxyServices}.
  * <p>
@@ -52,42 +50,6 @@
         classLoaderHierarchy = services.getService(ClassLoaderHierarchy.class);
     }
 
-
-    @Deprecated
-    @Override
-    public boolean supportsClassDefining() {
-        // true is mandatory since Weld 4.0.1.SP1, because default method impl returns false
-        // and cdi_all tests then fail
-        return true;
-    }
-
-
-    @Deprecated
-    @Override
-    public ClassLoader getClassLoader(final Class<?> proxiedBeanType) {
-        if (System.getSecurityManager() == null) {
-            return getClassLoaderforBean(proxiedBeanType);
-        }
-        final PrivilegedAction<ClassLoader> action = () -> getClassLoaderforBean(proxiedBeanType);
-        return AccessController.doPrivileged(action);
-    }
-
-
-    @Deprecated
-    @Override
-    public Class<?> loadBeanClass(final String className) {
-        try {
-            if (System.getSecurityManager() == null) {
-                return loadClassByThreadCL(className);
-            }
-            final PrivilegedExceptionAction<Class<?>> action = () -> loadClassByThreadCL(className);
-            return AccessController.doPrivileged(action);
-        } catch (final Exception ex) {
-            throw new WeldProxyException("Failed to load the bean class: " + className, ex);
-        }
-    }
-
-
     @Override
     public Class<?> defineClass(final Class<?> originalClass, final String className, final byte[] classBytes,
         final int off, final int len) throws ClassFormatError {
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/util/Util.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/util/Util.java
index b277c71..0b24dec 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/util/Util.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/util/Util.java
@@ -36,14 +36,10 @@
         try {
             if (Thread.currentThread().getContextClassLoader() != null) {
                 Class<?> c = Thread.currentThread().getContextClassLoader().loadClass(name);
-                @SuppressWarnings("unchecked")
-                Class<T> clazz = (Class<T>) c;
-                return clazz;
+                return (Class<T>) c;
             }
             Class<?> c = Class.forName(name);
-            @SuppressWarnings("unchecked")
-            Class<T> clazz = (Class<T>) c;
-            return clazz;
+            return (Class<T>) c;
         } catch (ClassNotFoundException | NoClassDefFoundError e) {
             throw new IllegalArgumentException("Cannot load class for " + name, e);
         }
diff --git a/appserver/web/weld-integration/src/test/java/org/glassfish/weld/WeldContextListenerTest.java b/appserver/web/weld-integration/src/test/java/org/glassfish/weld/WeldContextListenerTest.java
index 232c917..633c148 100644
--- a/appserver/web/weld-integration/src/test/java/org/glassfish/weld/WeldContextListenerTest.java
+++ b/appserver/web/weld-integration/src/test/java/org/glassfish/weld/WeldContextListenerTest.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2021 Contributors to the Eclipse Foundation
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,23 +17,6 @@
 
 package org.glassfish.weld;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.apache.catalina.core.StandardContext;
-import org.apache.jasper.runtime.JspApplicationContextImpl;
-import org.easymock.EasyMockSupport;
-import org.jboss.weld.module.web.el.WeldELContextListener;
-import org.junit.jupiter.api.Test;
-
-import jakarta.el.ELResolver;
-import jakarta.el.ExpressionFactory;
-import jakarta.enterprise.inject.spi.BeanManager;
-import jakarta.servlet.ServletContextEvent;
-import jakarta.servlet.jsp.JspApplicationContext;
-
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.isA;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -43,6 +26,23 @@
 import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.apache.catalina.core.StandardContext;
+import org.easymock.EasyMockSupport;
+import org.glassfish.wasp.runtime.JspApplicationContextImpl;
+import org.jboss.weld.module.web.el.WeldELContextListener;
+import org.junit.jupiter.api.Test;
+
+import jakarta.el.ELResolver;
+import jakarta.el.ExpressionFactory;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.jsp.JspApplicationContext;
+
 /**
  * @author <a href="mailto:j.j.snyder@oracle.com">JJ Snyder</a>
  */
diff --git a/appserver/webservices/connector/pom.xml b/appserver/webservices/connector/pom.xml
index 9e5e2b6..5c7f91a 100755
--- a/appserver/webservices/connector/pom.xml
+++ b/appserver/webservices/connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.webservices</groupId>
         <artifactId>webservices</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>webservices-connector</artifactId>
diff --git a/appserver/webservices/jsr109-impl/pom.xml b/appserver/webservices/jsr109-impl/pom.xml
index 166b4d5..930af18 100755
--- a/appserver/webservices/jsr109-impl/pom.xml
+++ b/appserver/webservices/jsr109-impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.webservices</groupId>
         <artifactId>webservices</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>jsr109-impl</artifactId>
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceTesterServlet.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceTesterServlet.java
index a845206..f1fcf1f 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceTesterServlet.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceTesterServlet.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2021 Contributors to the Eclipse Foundation
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -78,7 +78,8 @@
 
     //modules required by wsimport tool
     private static final List<String> WSIMPORT_MODULES = Arrays.asList(new String[] {
-        "com.sun.activation.jakarta.activation",
+        "jakarta.activation-api",
+        "angus-activation",
         "jakarta.annotation-api",
         "jakarta.xml.bind-api",
         "com.sun.xml.bind.jaxb-osgi",
@@ -613,7 +614,7 @@
             wsimportArgs[2]="-keep";
             wsimportArgs[3]=wsdlLocation.toExternalForm();
             wsimportArgs[4]="-target";
-            wsimportArgs[5]="2.1";
+            wsimportArgs[5]="3.0";
             wsimportArgs[6]="-extension";
             WSToolsObjectFactory tools = WSToolsObjectFactory.newInstance();
             logger.log(Level.INFO, LogUtils.WSIMPORT_INVOKE, wsdlLocation);
diff --git a/appserver/webservices/metro-fragments/pom.xml b/appserver/webservices/metro-fragments/pom.xml
index 8aa776e..fbb4d85 100644
--- a/appserver/webservices/metro-fragments/pom.xml
+++ b/appserver/webservices/metro-fragments/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.webservices</groupId>
         <artifactId>webservices</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>metro-fragments</artifactId>
diff --git a/appserver/webservices/metro-glue/pom.xml b/appserver/webservices/metro-glue/pom.xml
index 5c124c7..28df6e7 100644
--- a/appserver/webservices/metro-glue/pom.xml
+++ b/appserver/webservices/metro-glue/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.webservices</groupId>
         <artifactId>webservices</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/webservices/pom.xml b/appserver/webservices/pom.xml
index effdaa3..4df127d 100755
--- a/appserver/webservices/pom.xml
+++ b/appserver/webservices/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/webservices/soap-tcp/pom.xml b/appserver/webservices/soap-tcp/pom.xml
index 1afefd9..458b05f 100755
--- a/appserver/webservices/soap-tcp/pom.xml
+++ b/appserver/webservices/soap-tcp/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.webservices</groupId>
         <artifactId>webservices</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/ServletFakeArtifactSet.java b/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/ServletFakeArtifactSet.java
index 493d296..af0ec55 100644
--- a/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/ServletFakeArtifactSet.java
+++ b/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/ServletFakeArtifactSet.java
@@ -16,7 +16,6 @@
 
 package org.glassfish.webservices.transport.tcp;
 
-import com.sun.xml.ws.api.DistributedPropertySet;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -26,14 +25,25 @@
 import java.util.Enumeration;
 import java.util.Locale;
 import java.util.Map;
+
+import com.sun.xml.ws.api.DistributedPropertySet;
+
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.AsyncListener;
+import jakarta.servlet.DispatcherType;
 import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletConnection;
+import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletInputStream;
 import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
 import jakarta.servlet.http.Cookie;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.servlet.http.HttpSession;
 import jakarta.servlet.http.HttpUpgradeHandler;
+import jakarta.servlet.http.Part;
 import jakarta.xml.soap.SOAPException;
 import jakarta.xml.soap.SOAPMessage;
 import jakarta.xml.ws.handler.MessageContext;
@@ -52,6 +62,7 @@
         model = parse(ServletFakeArtifactSet.class);
     }
 
+    @Override
     public DistributedPropertySet.PropertyMap getPropertyMap() {
         return model;
     }
@@ -90,102 +101,127 @@
             this.servletPath = servletPath;
         }
 
+        @Override
         public String getAuthType() {
             return null;
         }
 
+        @Override
         public Cookie[] getCookies() {
             return null;
         }
 
+        @Override
         public long getDateHeader(final String string) {
             return 0L;
         }
 
+        @Override
         public String getHeader(final String string) {
             return null;
         }
 
+        @Override
         public Enumeration<String> getHeaders(final String string) {
             return null;
         }
 
+        @Override
         public Enumeration<String> getHeaderNames() {
             return null;
         }
 
+        @Override
         public int getIntHeader(final String string) {
             return -1;
         }
 
+        @Override
         public String getMethod() {
             return "POST";
         }
 
+        @Override
         public String getPathInfo() {
             return null;
         }
 
+        @Override
         public String getPathTranslated() {
             return null;
         }
 
+        @Override
         public String getContextPath() {
             return null;
         }
 
+        @Override
         public String getQueryString() {
             return null;
         }
 
+        @Override
         public String getRemoteUser() {
             return null;
         }
 
+        @Override
         public boolean isUserInRole(final String string) {
             return true;
         }
 
+        @Override
         public Principal getUserPrincipal() {
             return null;
         }
 
+        @Override
         public String getRequestedSessionId() {
             return null;
         }
 
+        @Override
         public String getRequestURI() {
             return requestURI;
         }
 
+        @Override
         public StringBuffer getRequestURL() {
             return requestURL;
         }
 
+        @Override
         public String getServletPath() {
             return servletPath;
         }
 
+        @Override
         public HttpSession getSession(final boolean b) {
             return null;
         }
 
+        @Override
         public HttpSession getSession() {
             return null;
         }
 
+        @Override
         public String changeSessionId() {
             return null;
         }
 
+        @Override
         public boolean isRequestedSessionIdValid() {
             return true;
         }
 
+        @Override
         public boolean isRequestedSessionIdFromCookie() {
             return true;
         }
 
+        @Override
         public boolean isRequestedSessionIdFromURL() {
             return true;
         }
@@ -194,99 +230,124 @@
             return true;
         }
 
+        @Override
         public Object getAttribute(final String string) {
             return null;
         }
 
-        public Enumeration getAttributeNames() {
+        @Override
+        public Enumeration<String> getAttributeNames() {
             return null;
         }
 
+        @Override
         public String getCharacterEncoding() {
             return null;
         }
 
+        @Override
         public void setCharacterEncoding(final String string) throws UnsupportedEncodingException {
         }
 
+        @Override
         public int getContentLength() {
             return 0;
         }
 
+        @Override
         public long getContentLengthLong() {
             return 0L;
         }
 
+        @Override
         public String getContentType() {
             return null;
         }
 
+        @Override
         public ServletInputStream getInputStream() throws IOException {
             return null;
         }
 
+        @Override
         public String getParameter(final String string) {
             return null;
         }
 
-        public Enumeration getParameterNames() {
+        @Override
+        public Enumeration<String> getParameterNames() {
             return null;
         }
 
+        @Override
         public String[] getParameterValues(final String string) {
             return null;
         }
 
+        @Override
         public Map getParameterMap() {
             return null;
         }
 
+        @Override
         public String getProtocol() {
             return null;
         }
 
+        @Override
         public String getScheme() {
             return null;
         }
 
+        @Override
         public String getServerName() {
             return null;
         }
 
+        @Override
         public int getServerPort() {
             return 0;
         }
 
+        @Override
         public BufferedReader getReader() throws IOException {
             return null;
         }
 
+        @Override
         public String getRemoteAddr() {
             return null;
         }
 
+        @Override
         public String getRemoteHost() {
             return null;
         }
 
+        @Override
         public void setAttribute(final String string, final Object object) {
         }
 
+        @Override
         public void removeAttribute(final String string) {
         }
 
+        @Override
         public Locale getLocale() {
             return null;
         }
 
-        public Enumeration getLocales() {
+        @Override
+        public Enumeration<Locale> getLocales() {
             return null;
         }
 
+        @Override
         public boolean isSecure() {
             return false;
         }
 
+        @Override
         public RequestDispatcher getRequestDispatcher(final String string) {
             return null;
         }
@@ -295,45 +356,56 @@
             return null;
         }
 
+        @Override
         public int getRemotePort() {
             return 0;
         }
 
+        @Override
         public String getLocalName() {
             return null;
         }
 
+        @Override
         public String getLocalAddr() {
             return null;
         }
 
+        @Override
         public int getLocalPort() {
             return 0;
         }
 
-        public jakarta.servlet.http.Part getPart(String s) {
+        @Override
+        public Part getPart(String s) {
             return null;
         }
 
-        public Collection<jakarta.servlet.http.Part> getParts() {
+        @Override
+        public Collection<Part> getParts() {
             return null;
         }
 
+        @Override
         public void login(String s1, String s2) {
         }
 
+        @Override
         public void logout() {
         }
 
+        @Override
         public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) {
             return null;
         }
 
+        @Override
         public boolean authenticate(HttpServletResponse response) {
             return true;
         }
 
-        public jakarta.servlet.DispatcherType getDispatcherType() {
+        @Override
+        public DispatcherType getDispatcherType() {
             return null;
         }
 
@@ -344,49 +416,74 @@
         public void setAsyncTimeout(long timeout) {
         }
 
-        public void addAsyncListener(jakarta.servlet.AsyncListener listener) {
+        public void addAsyncListener(AsyncListener listener) {
         }
 
-        public void addAsyncListener(jakarta.servlet.AsyncListener listener, jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) {
+        public void addAsyncListener(AsyncListener listener, ServletRequest request, ServletResponse response) {
         }
 
+        @Override
         public jakarta.servlet.AsyncContext getAsyncContext() {
             return null;
         }
 
+        @Override
         public boolean isAsyncSupported() {
             return false;
         }
 
+        @Override
         public boolean isAsyncStarted() {
             return false;
         }
 
-        public jakarta.servlet.AsyncContext startAsync() {
+        @Override
+        public AsyncContext startAsync() {
             return null;
         }
 
-        public jakarta.servlet.AsyncContext startAsync(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response) {
+        @Override
+        public AsyncContext startAsync(ServletRequest request, ServletResponse response) {
             return null;
         }
 
-        public jakarta.servlet.ServletContext getServletContext() {
+        @Override
+        public ServletContext getServletContext() {
+            return null;
+        }
+
+        @Override
+        public String getRequestId() {
+            return null;
+        }
+
+        @Override
+        public String getProtocolRequestId() {
+            return null;
+        }
+
+        @Override
+        public ServletConnection getServletConnection() {
             return null;
         }
     }
 
     public static final class FakeServletHttpResponse implements HttpServletResponse {
+        @Override
         public void addCookie(final Cookie cookie) {
         }
 
+        @Override
         public boolean containsHeader(final String string) {
             return true;
         }
 
+        @Override
         public String encodeURL(final String string) {
             return null;
         }
 
+        @Override
         public String encodeRedirectURL(final String string) {
             return null;
         }
@@ -399,106 +496,136 @@
             return null;
         }
 
+        @Override
         public void sendError(final int i, final String string) throws IOException {
         }
 
+        @Override
         public void sendError(final int i) throws IOException {
         }
 
+        @Override
         public void sendRedirect(final String string) throws IOException {
         }
 
+        @Override
         public void setDateHeader(final String string, final long l) {
         }
 
+        @Override
         public void addDateHeader(final String string, final long l) {
         }
 
+        @Override
         public void setHeader(final String string, final String string0) {
         }
 
+        @Override
         public void addHeader(final String string,final  String string0) {
         }
 
+        @Override
         public void setIntHeader(final String string, final int i) {
         }
 
+        @Override
         public void addIntHeader(final String string, final int i) {
         }
 
+        @Override
         public void setStatus(final int i) {
         }
 
         public void setStatus(final int i, final String string) {
         }
 
+        @Override
         public String getCharacterEncoding() {
             return null;
         }
 
+        @Override
         public String getContentType() {
             return null;
         }
 
+        @Override
         public ServletOutputStream getOutputStream() throws IOException {
             return null;
         }
 
+        @Override
         public PrintWriter getWriter() throws IOException {
             return null;
         }
 
+        @Override
         public void setCharacterEncoding(final String string) {
         }
 
+        @Override
         public void setContentLength(final int i) {
         }
 
+        @Override
         public void setContentLengthLong(final long l) {
         }
 
+        @Override
         public void setContentType(final String string) {
         }
 
+        @Override
         public void setBufferSize(final int i) {
         }
 
+        @Override
         public int getBufferSize() {
             return 0;
         }
 
+        @Override
         public void flushBuffer() throws IOException {
         }
 
+        @Override
         public void resetBuffer() {
         }
 
+        @Override
         public boolean isCommitted() {
             return true;
         }
 
+        @Override
         public void reset() {
         }
 
+        @Override
         public void setLocale(final Locale locale) {
         }
 
+        @Override
         public Locale getLocale() {
             return null;
         }
 
+        @Override
         public Collection<String> getHeaderNames() {
             return null;
         }
 
+        @Override
         public Collection<String> getHeaders(String s) {
             return null;
         }
 
+        @Override
         public String getHeader(String name) {
             return null;
         }
 
+        @Override
         public int getStatus() {
             return 200;
         }
diff --git a/appserver/webservices/webservices-scripts/pom.xml b/appserver/webservices/webservices-scripts/pom.xml
index c1d069d..cde02e5 100644
--- a/appserver/webservices/webservices-scripts/pom.xml
+++ b/appserver/webservices/webservices-scripts/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.webservices</groupId>
         <artifactId>webservices</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>webservices-scripts</artifactId>
@@ -49,5 +49,6 @@
       the transitive dependency handling in Maven.
     -->
     <packaging>distribution-fragment</packaging>
+
     <name>GlassFish webservices scripts</name>
 </project>
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen
index 7f2c915..96a6500 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation.jar" com.sun.tools.jxc.SchemaGeneratorFacade "$@"
+exec "$JAVA" -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation-api.jar:$AS_INSTALL_LIB/angus-activation.jar" com.sun.tools.jxc.SchemaGeneratorFacade "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat
index 58ccdb4..a6ee72e 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat
@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation.jar" com.sun.tools.jxc.SchemaGeneratorFacade %*

+%JAVA% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation-api.jar;%~dp0..\modules\angus-activation.jar" com.sun.tools.jxc.SchemaGeneratorFacade %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen
index 245fce1..bf15480 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" $WSGEN_OPTS -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation.jar" com.sun.tools.ws.WsGen "$@"
+exec "$JAVA" $WSGEN_OPTS -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation-api.jar:$AS_INSTALL_LIB/angus-activation.jar" com.sun.tools.ws.WsGen "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat
index c907bc7..38694ba 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat
@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% %WSGEN_OPTS% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation.jar" com.sun.tools.ws.WsGen %*

+%JAVA% %WSGEN_OPTS% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation-api.jar;%~dp0..\modules\angus-activation.jar" com.sun.tools.ws.WsGen %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport
index 132cd36..5792b17 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" $WSIMPORT_OPTS -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation.jar" com.sun.tools.ws.WsImport "$@"
+exec "$JAVA" $WSIMPORT_OPTS -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation-api.jar:$AS_INSTALL_LIB/angus-activation.jar" com.sun.tools.ws.WsImport "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat
index 907a465..7384523 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat
@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% %WSIMPORT_OPTS% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation.jar" com.sun.tools.ws.WsImport %*

+%JAVA% %WSIMPORT_OPTS% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation-api.jar;%~dp0..\modules\angus-activation.jar" com.sun.tools.ws.WsImport %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc
index 1b05a27..980dbf2 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation.jar" com.sun.tools.xjc.Driver "$@"
+exec "$JAVA" -cp "$AS_INSTALL_LIB/webservices-api-osgi.jar:$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.bind-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$AS_INSTALL_LIB/jakarta.activation-api.jar:$AS_INSTALL_LIB/angus-activation.jar" com.sun.tools.xjc.Driver "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat
index 129f4ec..e470057 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat
@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation.jar" com.sun.tools.xjc.Driver %*

+%JAVA% -cp "%~dp0..\modules\webservices-api-osgi.jar;%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.bind-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.activation-api.jar;%~dp0..\modules\angus-activation.jar" com.sun.tools.xjc.Driver %*

diff --git a/docs/add-on-component-development-guide/README.md b/docs/add-on-component-development-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/add-on-component-development-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/add-on-component-development-guide/pom.xml b/docs/add-on-component-development-guide/pom.xml
index 95880b6..7dc7027 100644
--- a/docs/add-on-component-development-guide/pom.xml
+++ b/docs/add-on-component-development-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>add-on-component-development-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Add-On Component Development Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Add-On Component Development Guide, Release 7</name>
 </project>
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/adding-configuration-data.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/adding-configuration-data.adoc
new file mode 100644
index 0000000..ac0c131
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/adding-configuration-data.adoc
@@ -0,0 +1,840 @@
+type=page
+status=published
+title=Adding Configuration Data for a Component
+next=adding-container-capabilities.html
+prev=adding-monitoring-capabilities.html
+~~~~~~
+
+= Adding Configuration Data for a Component
+
+[[GSACG00006]][[gjlpe]]
+
+[[adding-configuration-data-for-a-component]]
+== Adding Configuration Data for a Component
+
+The configuration data of a component determines the characteristics and
+runtime behavior of a component. {productName} provides interfaces to
+enable an add-on component to store its configuration data in the same
+way as other {productName} components. These interfaces are similar
+to interfaces that are defined in
+[Jakarta XML Binding](`https://jakarta.ee/specifications/xml-binding/`). By using these interfaces to
+store configuration data, you ensure that the add-on component is fully
+integrated with {productName}. As a result, administrators can
+configure an add-on component in the same way as they can configure
+other {productName} components.
+
+The following topics are addressed here:
+
+* link:#gjrdv[How {productName} Stores Configuration Data]
+* link:#gjlop[Defining an Element]
+* link:#gjlpb[Defining an Attribute of an Element]
+* link:#gjlov[Defining a Subelement]
+* link:#gjlpu[Validating Configuration Data]
+* link:#gjrdj[Initializing a Component's Configuration Data]
+* link:#gjrcz[Creating a Transaction to Update Configuration Data]
+* link:#gjmkt[Dotted Names and REST URLs of Configuration Attributes]
+* link:#gkaal[Examples of Adding Configuration Data for a Component]
+
+[[gjrdv]][[GSACG00121]][[how-glassfish-server-stores-configuration-data]]
+
+=== How {productName} Stores Configuration Data
+
+{productName} stores the configuration data for a domain in a single
+configuration file that is named `domain.xml`. This file is an
+extensible markup language (XML) instance that contains a hierarchy of
+elements to represent a domain's configuration. The content model of
+this XML instance is not defined in a document type definition (DTD) or
+an XML schema. Instead, the content model is derived from Java language
+interfaces with appropriate annotations. You use these annotations to
+add configuration data for a component as explained in the sections that
+follow.
+
+[[gjlop]][[GSACG00122]][[defining-an-element]]
+
+=== Defining an Element
+
+An element represents an item of configuration data. For example, to
+represent the configuration data for a network listener, {productName} defines the `network-listener` element.
+
+Define an element for each item of configuration data that you are
+adding.
+
+[[gjcnt]][[GSACG00074]][[to-define-an-element]]
+
+==== To Define an Element
+
+1. Define a Java language interface to represent the element.
+Define one interface for each element. Do not represent multiple
+elements in a single interface.
+The name that you give to the interface determines name of the element
+as follows:
+* A change from lowercase to uppercase in the interface name is
+  transformed to the hyphen (`-`) separator character.
+* The element name is all lowercase.
+For example, to define an interface to represent the
+`wombat-container-config` element, give the name `WombatContainerConfig`
+to the interface.
+
+2. Specify the parent of the element.
+To specify the parent, extend the interface that identifies the parent
+as shown in the following table.
++
+[width="100%",cols="<27%,<73%",options="header",]
+|===
+|Parent Element |Interface to Extend
+|`config`
+|`org.glassfish.api.admin.config.Container`
+
+|`applications`
+|`org.glassfish.api.admin.config.ApplicationName`
+
+|Another element that you are defining
+|`org.jvnet.hk2.config.ConfigBeanProxy`
+|===
+
+3. Annotate the declaration of the interface with the
+`org.jvnet.hk2.config.Configured` annotation.
+
+[[GSACG00053]][[gjcne]]
+Example 6-1 Declaration of an Interface That Defines an Element
+
+This example shows the declaration of the `WombatContainerConfig`
+interface that represents the `wombat-container-config` element.
+The parent of this element is the `config` element.
+
+[source,java]
+----
+...
+import org.jvnet.hk2.config.Configured;
+...
+import org.glassfish.api.admin.config.Container;
+...
+@Configured
+public interface WombatContainerConfig extends Container {
+...
+}
+----
+
+[[sthref6]]
+
+How Interfaces That Are Annotated With @Configured Are Implemented
+
+You are not required to implement any interfaces that you annotate with
+the `@Configured` annotation. {productName} implements these
+interfaces by using the `Dom` class. {productName} creates a proxy
+for each `Dom` object to implement the interface.
+
+[[gjlpb]][[GSACG00123]][[defining-an-attribute-of-an-element]]
+
+=== Defining an Attribute of an Element
+
+The attributes of an element describe the characteristics of the
+element.
+For example, the `port` attribute of the `network-listener`
+element identifies the port number on which the listener listens.
+
+[[gjorj]][[GSACG00227]][[representing-an-attribute-of-an-element]]
+
+==== Representing an Attribute of an Element
+
+Represent each attribute of an element as the property of a pair of
+JavaBeans specification getter and setter methods of the interface that
+defines the element. The component for which the configuration data is
+being defined can then access the attribute through the getter method.
+The setter method enables the attribute to be updated.
+
+[[gjopa]][[GSACG00228]][[specifying-the-data-type-of-an-attribute]]
+
+==== Specifying the Data Type of an Attribute
+
+The data type of an attribute is the return type of the getter method
+that is associated with the attribute. To enable the attribute take
+properties in the form `${`property-name`}` as values, specify the data
+type as `String`.
+
+[[gjopm]][[GSACG00229]][[identifying-an-attribute-of-an-element]]
+
+==== Identifying an Attribute of an Element
+
+To identify an attribute of an element, annotate the declaration of the
+getter method that is associated with the attribute with the
+`org.jvnet.hk2.config.Attribute` annotation.
+
+To specify the properties of the attribute, use the elements of the
+`@Attribute` annotation as explained in the sections that follow.
+
+[[gjopq]][[GSACG00230]][[specifying-the-name-of-an-attribute]]
+
+==== Specifying the Name of an Attribute
+
+To specify the name of an attribute, set the `value` element of the
+`@Attribute` annotation to a string that specifies the name. If you do
+not set this element, the name is derived from the name of the property
+as follows:
+
+* A change from lowercase to uppercase in the interface name is
+transformed to the hyphen (`-`) separator character.
+* The element name is all lowercase.
+
+For example, if the getter method `getNumberOfInstances` is defined for
+the property `NumberOfInstances` to represent an attribute, the name of
+the attribute is `number-of-instances`.
+
+[[gjoqj]][[GSACG00231]][[specifying-the-default-value-of-an-attribute]]
+
+==== Specifying the Default Value of an Attribute
+
+The default value of an attribute is the value that is applied if the
+attribute is omitted when the element is written to the domain
+configuration file.
+
+To specify the default value of an attribute, set the `defaultValue`
+element of the `@Attribute` annotation to a string that contains the
+default value. If you do not set this element, the parameter has no
+default value.
+
+[[gjoui]][[GSACG00232]][[specifying-whether-an-attribute-is-required-or-optional]]
+
+==== Specifying Whether an Attribute Is Required or Optional
+
+Whether an attribute is required or optional determines how {productName} responds if the parameter is omitted when the element is written
+to the domain configuration file:
+
+* If the attribute is required, an error occurs.
+* If the attribute is optional, the element is written successfully to
+the domain configuration file.
+
+To specify whether an attribute is required or optional, set the
+`required` element of the `@Attribute` annotation as follows:
+
+* If the attribute is required, set the `required` element to `true`.
+* If the attribute is optional, set the `required` element to `false`.
+This value is the default.
+
+[[gjrdz]][[GSACG00233]][[example-of-defining-an-attribute-of-an-element]]
+
+==== Example of Defining an Attribute of an Element
+
+[[sthref7]]
+
+Example 6-2 Defining an Attribute of an Element
+
+This example defines the attribute `number-of-instances`. To enable the
+attribute take properties in the form `${`property-name`}` as values,
+the data type of this attribute is `String`.
+
+[source,java]
+----
+import org.jvnet.hk2.config.Attribute;
+...
+    @Attribute
+    public String getNumberOfInstances();
+    public void setNumberOfInstances(String instances) throws PropertyVetoException;
+...
+----
+
+[[gjlov]][[GSACG00124]][[defining-a-subelement]]
+
+=== Defining a Subelement
+
+A subelement represents a containment or ownership relationship. For
+example, {productName} defines the `network-listeners` element to
+contain the configuration data for individual network listeners. The
+configuration data for an individual network listener is represented by
+the `network-listener` element, which is a subelement of
+`network-listeners` element.
+
+[[gjzlb]][[GSACG00075]][[to-define-a-subelement]]
+
+==== To Define a Subelement
+
+1. Define an interface to represent the subelement.
+For more information, see link:#gjlop[Defining an Element].
+The interface that represents the subelement must extend the
+`org.jvnet.hk2.config.ConfigBeanProxy` interface.
+
+2. In the interface that defines the parent element, identify the
+subelement to its parent element.
+
+3. Represent the subelement as the property of a JavaBeans
+specification getter or setter method.
+
+4. Annotate the declaration of the getter or setter method that is
+associated with the subelement with the `org.jvnet.hk2.config.Element`
+annotation.
+
+[[GSACG00054]][[gjzjt]]
+Example 6-3 Declaring an Interface to Represent a Subelement
+
+This example shows the declaration of the `WombatElement` interface to
+represent the `wombat-element` element.
+
+[source,java]
+----
+...
+import org.jvnet.hk2.config.ConfigBeanProxy;
+import org.jvnet.hk2.config.Configured;
+...
+@Configured
+public interface WombatElement extends ConfigBeanProxy {
+...
+}
+...
+----
+
+[[GSACG00055]][[gjzkh]]
+Example 6-4 Identifying a Subelement to its Parent Element
+
+This example identifies the `wombat-element` element as a subelement.
+
+[source,java]
+----
+...
+import org.jvnet.hk2.config.Element;
+...
+import java.beans.PropertyVetoException;
+...
+@Element
+    public WombatElement getElement();
+    public void setElement(WombatElement element) throws PropertyVetoException;
+...
+----
+
+[[gjlpu]][[GSACG00125]][[validating-configuration-data]]
+
+=== Validating Configuration Data
+
+Validating configuration data ensures that attribute values that are
+being set or updated do not violate any constraints that you impose on
+the data. For example, you might require that an attribute that
+represents a name is not null, or an integer that represents a port
+number is within the range of available port numbers. Any attempt to set
+or update an attribute value that fails validation fails. Any
+validations that you specify for an attribute are performed when the
+attribute is initialized and every time the attribute is changed.
+
+To standardize the validation of configuration data, {productName}
+uses https://jakarta.ee/specifications/bean-validation/[Jakarta Bean Validation]
+(`https://jakarta.ee/specifications/bean-validation/`) for validating configuration
+data.
+Jakarta Bean Validation defines a metadata model and API for the validation of
+JavaBeans components.
+
+To validate an attribute of an element, annotate the attribute's getter
+method with the annotation in the `jakarta.validation.constraints` package
+that performs the validation that you require. The following table lists
+commonly used annotations for validating {productName} configuration
+data.
+For the complete list of annotations, see the
+https://jakarta.ee/specifications/bean-validation/3.0/apidocs/jakarta/validation/constraints/package-summary.html[`jakarta.validation.constraints`
+package summary]
+(`https://jakarta.ee/specifications/bean-validation/3.0/apidocs/jakarta/validation/constraints/package-summary.html`).
+
+[[sthref8]][[gjrlg]]
+
+Table 6-1 Commonly Used Annotations for Validating {productName}
+Configuration Data
+
+[width="100%",cols="<37%,<63%",options="header",]
+|===
+|Validation |Annotation
+|Not null |`jakarta.validation.constraints.NotNull`
+
+|Null |`jakarta.validation.constraints.Null`
+
+|Minimum value a|
+`jakarta.validation.constraints.Min`
+
+Set the `value` element of this annotation to the minimum allowed value.
+
+|Maximum value a|
+`jakarta.validation.constraints.Max`
+
+Set the `value` element of this annotation to the maximum allowed value.
+
+|Regular expression matching a|
+`jakarta.validation.constraints.Pattern`
+
+Set the `regexp` element of this annotation to the regular expression
+that is to be matched.
+
+|===
+
+
+[[GSACG00056]][[gjrmp]]
+Example 6-5 Specifying a Range of Valid Values for an Integer
+
+This example specifies that the attribute `rotation-interval-in-minutes`
+must be a positive integer.
+
+[source,java]
+----
+...
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+...
+@Min(value=1)
+@Max(value=Integer.MAX_VALUE)
+String getRotationIntervalInMinutes();
+...
+----
+
+[[GSACG00057]][[gjzkq]]
+Example 6-6 Specifying Regular Expression Matching
+
+This example specifies that the attribute `classname` must contain only
+non-whitespace characters.
+
+[source,java]
+----
+import jakarta.validation.constraints.Pattern;
+...
+@Pattern(regexp="^[\\S]*$")
+String getClassname();
+...
+----
+
+[[gjrdj]][[GSACG00126]][[initializing-a-components-configuration-data]]
+
+=== Initializing a Component's Configuration Data
+
+To ensure that a component's configuration data is added to the
+`domain.xml` file when the component is first instantiated, you must
+initialize the component's configuration data.
+
+Initializing a component's configuration data involves the following
+tasks:
+
+* link:#gkbgi[To Define a Component's Initial Configuration Data]
+* link:#gjses[To Write a Component's Initial Configuration Data to the
+`domain.xml` File]
+
+[[gkbgi]][[GSACG00076]][[to-define-a-components-initial-configuration-data]]
+
+==== To Define a Component's Initial Configuration Data
+
+1. Create a plain-text file that contains an XML fragment to represent
+the configuration data.
+* Ensure that each XML element accurately represents the interface that
+  is defined for the element.
+* Ensure that any subelements that you are initializing are correctly nested.
+* Set attributes of the elements to their required initial values.
+2. When you package the component, include the file that contains the
+XML fragment in the component's JAR file.
+
+[[GSACG00058]][[gkaba]]
+Example 6-7 XML Data Fragment
+
+This example shows the XML data fragment for adding the
+`wombat-container-config` element to the `domain.xml` file. The
+`wombat-container-config` element contains the subelement
+`wombat-element`. The attributes of `wombat-element` are initialized as
+follows:
+
+* The `foo` attribute is set to `something`.
+* The `bar` attribute is set to `anything`.
+
+[source,xml]
+----
+<wombat-container-config>
+    <wombat-element foo="something" bar="anything"/>
+</wombat-container-config>
+----
+
+[[gjses]][[GSACG00077]][[to-write-a-components-initial-configuration-data-to-the-domain.xml-file]]
+
+==== To Write a Component's Initial Configuration Data to the `domain.xml` File
+
+Add code to write the component's initial configuration data in the
+class that represents your add-on component. If your add-on component is
+a container, add this code to the sniffer class. For more information
+about adding a container, see
+link:adding-container-capabilities.html#ghmon[Adding Container
+Capabilities].
+
+1. Set an optional dependency on an instance of the class that
+represents the XML element that you are adding.
+
+2. Initialize the instance variable to `null`.
++
+If the element is not present in the `domain.xml` file when the add-on
+component is initialized, the instance variable remains `null`.
+
+3. Annotate the declaration of the instance variable with the
+`org.jvnet.hk2.annotations.Inject` annotation.
+
+4. Set the `optional` element of the `@Inject` annotation to `true`.
+
+5. Set a dependency on an instance of the following classes:
+* `org.glassfish.api.admin.config.ConfigParser`
++
+The `ConfigParser` class provides methods to parse an XML fragment and
+to write the fragment to the correct location in the `domain.xml` file.
+* `org.jvnet.hk2.component.Habitat`
+
+6. Invoke the `parseContainerConfig` method of the `ConfigParser`
+object only if the instance is `null`.
+If your add-on component is a container, invoke this method within the
+implementation of the `setup` method the sniffer class.
+When the container is first instantiated, {productName} invokes the `setup` method.
+The test that the instance is `null` is required to ensure that the
+configuration data is added only if the data is not already present in
+the `domain.xml` file.
+In the invocation of the `parseContainerConfig` method, pass the
+following items as parameters:
+* The `Habitat` object on which you set a dependency
+* The URL to the file that contains the XML fragment that represents the configuration data
+
+[[GSACG00059]][[gkabo]]
+Example 6-8 Writing a Component's Initial Configuration Data to the
+`domain.xml` File
+
+This example writes the XML fragment in the file `init.xml` to the
+`domain.xml` file. The fragment is written only if the `domain.xml` file
+does not contain the `wombat-container-config-element`.
+
+The `wombat-container-config` element is represented by the
+`WombatContainerConfig` interface. An optional dependency is set on an
+instance of a class that implements `WombatContainerConfig`.
+
+[source,java]
+----
+...
+import org.glassfish.api.admin.config.ConfigParser;
+import org.glassfish.examples.extension.config.WombatContainerConfig;
+...
+import org.jvnet.hk2.annotations.Inject;
+import org.jvnet.hk2.component.Habitat;
+import com.sun.enterprise.module.Module;
+
+import java.util.logging.Logger;
+...
+import java.io.IOException;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Array;
+import java.net.URL;
+...
+    @Inject(optional=true)
+    WombatContainerConfig config=null;
+...
+    @Inject
+    ConfigParser configParser;
+
+    @Inject
+    Habitat habitat;
+
+    public Module[] setup(String containerHome, Logger logger) throws IOException {
+        if (config==null) {
+            URL url = this.getClass().getClassLoader().getResource("init.xml");
+            if (url!=null) {
+               configParser.parseContainerConfig(habitat, url,
+                   WombatContainerConfig.class);
+            }
+        }
+        return null;
+    }
+...
+----
+
+[[GSACG00060]][[gjski]]
+Example 6-9 `domain.xml` File After Initialization
+
+This example shows the `domain.xml` file after the `setup` method was
+invoked to add the `wombat-container-config` element under the `config`
+element.
+
+[source,xml]
+----
+<domain>
+...
+  <configs>
+    <config name="server-config">
+      <wombat-container-config number-of-instances="5">
+        <wombat-element foo="something" bar="anything" />
+      </wombat-container-config>
+      <http-service>
+...
+</domain>
+----
+
+[[gjrcz]][[GSACG00127]][[creating-a-transaction-to-update-configuration-data]]
+
+=== Creating a Transaction to Update Configuration Data
+
+Creating a transaction to update configuration data enables the data to
+be updated without the need to specify a dotted name in the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand. You can make the transaction
+available to system administrators in the following ways:
+
+* By adding an link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] subcommand. If you are adding
+an `asadmin` subcommand, include the code for the transaction in the
+body of the subcommand's `execute` method. For more information, see
+link:extending-asadmin.html#ghmrd[Extending the `asadmin` Utility].
+* By extending the Administration Console. For more information, see
+link:extending-the-admin-console.html#ghmrb[Extending the Administration
+Console].
+
+[[gkakw]][[GSACG00078]][[to-create-a-transaction-to-update-configuration-data]]
+
+==== To Create a Transaction to Update Configuration Data
+
+Any transaction that you create to modify configuration data must use a
+configuration change transaction to ensure that the change is atomic,
+consistent, isolated, and durable (ACID).
+
+.  [[gkakq]]
+Set a dependency on the configuration object to update.
+
+.  [[gkalq]]
+Define a method to invoke to perform the transaction.
+
+.  Use the generic `SimpleConfigCode` interface to define the method
+that is to be invoked on a single configuration object, namely:
+`SingleConfigCode<T extends ConfigBeanProxy>()`.
+
+.  In the body of this method, implement the `run` method of the
+`SingleConfigCode<T extends ConfigBeanProxy>` interface.
+
+.  In the body of the `run` method, invoke the setter methods that are
+defined for the attributes that you are setting.
++
+These setter methods are defined in the interface that represents the
+element whose elements you are setting.
+
+.  Invoke the static method
+`org.jvnet.hk2.config.ConfigSupport.ConfigSupport.apply`.
+In the invocation, pass the following information as parameters to the method:
+* The code of the method that you defined in Step  link:#gkalq[2].
+* The configuration object to update, on which you set the dependency in Step link:#gkakq[1].
+
+[[sthref9]]
+
+Example 6-10 Creating a Transaction to Update Configuration Data
+
+This example shows code in the `execute` method of an `asadmin`
+subcommand for updating the `number-of-instances` element of
+`wombat-container-config` element.
+
+[source,java]
+----
+...
+import org.glassfish.api.Param;
+...
+import org.jvnet.hk2.annotations.Inject;
+import org.jvnet.hk2.config.Transactions;
+import org.jvnet.hk2.config.ConfigSupport;
+import org.jvnet.hk2.config.SingleConfigCode;
+import org.jvnet.hk2.config.TransactionFailure;
+...
+    @Param
+    String instances;
+
+    @Inject
+    WombatContainerConfig config;
+
+    public void execute(AdminCommandContext adminCommandContext) {
+        try {
+            ConfigSupport.apply(new SingleConfigCode<WombatContainerConfig>() {
+                public Object run(WombatContainerConfig wombatContainerConfig)
+                        throws PropertyVetoException, TransactionFailure {
+                    wombatContainerConfig.setNumberOfInstances(instances);
+                    return null;
+                }
+            }, config);
+        } catch(TransactionFailure e) {
+        }
+    }
+...
+----
+
+[[gjmkt]][[GSACG00128]][[dotted-names-and-rest-urls-of-configuration-attributes]]
+
+=== Dotted Names and REST URLs of Configuration Attributes
+
+The {productName} administrative subcommands link:reference-manual/get.html#GSRFM00139[`get`],
+link:reference-manual/list.html#GSRFM00145[`list`], and olink:GSRFM00226[`set`] locate a
+configuration attribute through the dotted name of the attribute. The
+dotted name of an attribute of a configuration element is as follows:
+
+[source]
+----
+configs.config.server-config.element-name[.subelement-name...].attribute-name
+----
+
+element-name::
+  The name of an element that contains a subelement or the attribute.
+subelement-name::
+  The name of a subelement, if any.
+attribute-name::
+  The name of the attribute.
++
+For example, the dotted name of the `foo` attribute of the
+`wombat-element` element is as follows:
++
+[source]
+----
+configs.config.server-config.wombat-container-config.wombat-element.foo
+----
++
+The formats of the URL to a REST resource that represent an attribute of
+a configuration element is as follows:
++
+[source]
+----
+http://host:port/management/domain/path
+----
+host::
+  The host where the DAS is running.
+port::
+  The HTTP port or HTTPS port for administration.
+path::
+  The path to the attribute. The path is the dotted name of the
+  attribute in which each dot (`.`) is replaced with a slash (`/`).
+
+For example, the URL to the REST resource for the `foo` attribute of the
+`wombat-element` element is as follows:
+
+[source]
+----
+http://localhost:4848/management/domain/configs/config/server-config/wombat-container-config/wombat-element/foo
+----
+
+In this example, the DAS is running on the local host and the HTTP port
+for administration is 4848.
+
+[[gkaal]][[GSACG00131]][[examples-of-adding-configuration-data-for-a-component]]
+
+=== Examples of Adding Configuration Data for a Component
+
+This example shows the interfaces that define the configuration data for
+the Greeter Container component. The data is comprised of the following
+elements:
+
+* A parent element, which is shown in link:#gkamy[Example 6-11]
+* A subelement that is contained by the parent element, which is shown
+in link:#gkamb[Example 6-12]
+
+This example also shows an XML data fragment for initializing an
+element. See link:#gkamk[Example 6-13].
+
+Code for the Greeter Container component is shown in
+link:adding-container-capabilities.html#gkane[Example of Adding Container
+Capabilities].
+
+Code for an `asadmin` subcommand that updates the configuration data in
+this example is shown in link:extending-asadmin.html#gkbdf[Example 4-7].
+
+[[GSACG00061]][[gkamy]]
+Example 6-11 Parent Element Definition
+
+This example shows the definition of the `greeter-container-config` element.
+The attributes of the `greeter-container-config` element are as follows:
+
+* `number-of-instances`, which must be in the range 1-10.
+* `language`, which must contain only non-whitespace characters.
+* `style`, which must contain only non-whitespace characters.
+
+The `greeter-element` element is identified as a subelement of the
+`greeter-container-config` element. The definition of the
+`greeter-element` element is shown in link:#gkamb[Example 6-12].
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter.config;
+
+import org.jvnet.hk2.config.Configured;
+import org.jvnet.hk2.config.Attribute;
+import org.jvnet.hk2.config.Element;
+import org.glassfish.api.admin.config.Container;
+
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.Max;
+
+import java.beans.PropertyVetoException;
+
+@Configured
+public interface GreeterContainerConfig extends Container {
+
+    @Attribute
+    @Min(value=1)
+    @Max (value=10)
+    public String getNumberOfInstances();
+    public void setNumberOfInstances(String instances) throws PropertyVetoException;
+
+    @Attribute
+    @Pattern(regexp = "^[\\S]*$")
+    public String getLanguage();
+    public void setLanguage(String language) throws PropertyVetoException;
+
+    @Attribute
+    @Pattern(regexp = "^[\\S]*$")
+    public String getStyle();
+    public void setStyle(String style) throws PropertyVetoException;
+
+    @Element
+    public GreeterElement getElement();
+    public void setElement(GreeterElement element) throws PropertyVetoException;
+
+
+}
+----
+
+[[GSACG00062]][[gkamb]]
+Example 6-12 Subelement Definition
+
+This example shows the definition of the `greeter-element` element,
+which is identified as a subelement of the `greeter-container-config`
+element in link:#gkamy[Example 6-11]. The only attribute of the
+`greeter-element` element is `greeter-port`, which must be in the range 1030-1050.
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter.config;
+
+import org.jvnet.hk2.config.ConfigBeanProxy;
+import org.jvnet.hk2.config.Configured;
+import org.jvnet.hk2.config.Attribute;
+
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.Max;
+
+import java.beans.PropertyVetoException;
+
+@Configured
+public interface GreeterElement extends ConfigBeanProxy {
+
+    @Attribute
+    @Min(value=1030)
+    @Max (value=1050)
+    public String getGreeterPort();
+    public void setGreeterPort(String greeterport) throws PropertyVetoException;
+
+}
+----
+
+[[GSACG00063]][[gkamk]]
+Example 6-13 XML Data Fragment for Initializing the `greeter-container-config` Element
+
+This example shows the XML data fragment for adding the
+`greeter-container-config` element to the `domain.xml` file.
+The `greeter-container-config` element contains the subelement `greeter-element`.
+
+The attributes of `greeter-container-config` are initialized as follows:
+
+* The `number-of-instances` attribute is set to `5`.
+* The `language` attribute is set to `norsk`.
+* The `style` element is set to `formal`.
+
+The `greeter-port` attribute of the `greeter-element` element is set to `1040`.
+
+[source,xml]
+----
+<greeter-container-config number-of-instances="5" language="norsk" style="formal">
+    <greeter-element greeter-port="1040"/>
+</greeter-container-config>
+----
+
+The definition of the `greeter-container-config` element is shown in
+link:#gkamy[Example 6-11]. The definition of the `greeter-element`
+element is shown in link:#gkamb[Example 6-12].
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/adding-container-capabilities.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/adding-container-capabilities.adoc
new file mode 100644
index 0000000..3dfcff2
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/adding-container-capabilities.adoc
@@ -0,0 +1,822 @@
+type=page
+status=published
+title=Adding Container Capabilities
+next=session-persistence-modules.html
+prev=adding-configuration-data.html
+~~~~~~
+
+= Adding Container Capabilities
+
+[[GSACG00007]][[ghmon]]
+
+
+[[adding-container-capabilities]]
+== Adding Container Capabilities
+
+Applications run on {productName} in containers. {productName}
+enables you to create containers that extend or replace the existing
+containers of {productName}. Adding container capabilities enables
+you to run new types of applications and to deploy new archive types in
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpjl[Creating a `Container` Implementation]
+* link:#ghozu[Adding an Archive Type]
+* link:#ghphp[Creating Connector Modules]
+* link:#gkane[Example of Adding Container Capabilities]
+
+[[ghpjl]][[GSACG00132]][[creating-a-container-implementation]]
+
+=== Creating a `Container` Implementation
+
+To implement a container that extends or replaces a service in {productName}, you must create a Java programming language class that includes
+the following characteristics:
+
+* It is annotated with the `org.jvnet.hk2.annotations.Service`
+annotation.
+* It implements the `org.glassfish.api.container.Container` interface.
+
+You should also run the HK2 Inhabitants Generator utility on your class
+files, which adds classes marked with the `@Service` annotation to the
+`META-INF/hk2-locator/default` file in your JAR file. For more
+information about the HK2 Inhabitants Generator, see the
+https://hk2.java.net/inhabitant-generator.html[HK2 Inhabitants Generator
+page].
+
+[[ghogv]][[GSACG00234]][[marking-the-class-with-the-service-annotation]]
+
+==== Marking the Class With the `@Service` Annotation
+
+Add a `com.jvnet.hk2.annotations.Service` annotation at the class
+definition level to identify your class as a service implementation.
+
+[source,java]
+----
+@Service
+public class MyContainer implements Container {
+...
+}
+----
+
+To avoid potential name collisions with other containers, use the fully
+qualified class name of your container class in the `@Service`
+annotation's `name` element:
+
+[source,java]
+----
+package com.example.containers;
+...
+
+@Service @jakarta.inject.Named("com.example.containers.MyContainer")
+public class MyContainer implements Container {
+...
+}
+----
+
+[[ghohg]][[GSACG00235]][[implementing-the-container-interface]]
+
+==== Implementing the `Container` Interface
+
+The `org.glassfish.api.container.Container` interface is the contract
+that defines a container implementation. Classes that implement
+`Container` can extend or replace the functionality in {productName}
+by allowing applications to be deployed and run within the {productName} runtime.
+
+The `Container` interface consists of two methods, `getDeployer` and
+`getName`. The `getDeployer` method returns an implementation class of
+the `org.glassfish.api.deployment.Deployer` interface capable of
+managing applications that run within this container. The `getName`
+method returns a human-readable name for the container, and is typically
+used to display messages belonging to the container.
+
+The `Deployer` interface defines the contract for managing a particular
+application that runs in the container. It consists of the following
+methods:
+
+`getMetaData`::
+  Retrieves the metadata used by the `Deployer` instance, and returns an
+  `org.glassfish.api.deployment.MetaData` object.
+`loadMetaData`::
+  Loads the metadata associated with an application.
+`prepare`::
+  Prepares the application to run in {productName}.
+`load`::
+  Loads a previously prepared application to the container.
+`unload`::
+  Unloads or stops a previously loaded application.
+`clean`::
+  Removes any artifacts generated by an application during the `prepare`
+  phase.
+
+The `DeploymentContext` is the usual context object passed around
+deployer instances during deployment.
+
+[[GSACG00064]][[ghojg]]
+Example 7-1 Example Implementation of `Container`
+
+This example shows a Java programming language class that implements the
+`Container` interface and is capable of extending the functionality of
+{productName}.
+
+[source,java]
+----
+package com.example.containers;
+
+@Service(name="com.example.containers.MyContainer")
+public class MyContainer implements Container {
+    public String getName() {
+        return "MyContainer";
+    }
+
+    public Class<? extends org.glassfish.api.deployment.Deployer> getDeployer() {
+        return MyDeployer.class;
+    }
+}
+----
+
+[[GSACG00065]][[ghoiv]]
+Example 7-2 Example Implementation of `Deployer`
+
+[source,java]
+----
+package com.example.containers;
+
+@Service
+public class MyDeployer {
+
+    public MetaData getMetaData() {
+        return new MetaData(...);
+    }
+
+    public <V> v loadMetaData(Class<V> type, DeploymentContext dc) {
+        ...
+    }
+
+    public boolean prepare(DeploymentContext dc) {
+        // performs any actions needed to allow the application to run,
+        // such as generating artifacts
+        ...
+    }
+
+    public MyApplication load(MyContainer container, DeploymentContext dc) {
+        // creates a new instance of an application
+        MyApplication myApp = new MyApplication (...);
+        ...
+        // returns the application instance
+        return myApp;
+    }
+
+    public void unload(MyApplication myApp, DeploymentContext dc) {
+        // stops and removes the application
+        ...
+    }
+
+    public void clean (DeploymentContext dc) {
+        // cleans up any artifacts generated during prepare()
+        ...
+    }
+}
+----
+
+[[ghozu]][[GSACG00133]][[adding-an-archive-type]]
+
+=== Adding an Archive Type
+
+An archive type is an abstraction of the archive file format. An archive
+type can be implemented as a plain JAR file, as a directory layout, or a
+custom type. By default, {productName} recognizes JAR based and
+directory based archive types. A new container might require a new
+archive type.
+
+There are two sub-interfaces of the
+`org.glassfish.api.deployment.archive.Archive` interface,
+`org.glassfish.api.deployment.archive.ReadableArchive` and
+`org.glassfish.api.deployment.archive.WritableArchive`. Typically
+developers of new archive types will provide separate implementations of
+`ReadableArchive` and `WritableArchive`, or a single implementation that
+implements both `ReadableArchive` and `WritableArchive`.
+
+Implementations of the `ReadableArchive` interface provide read access
+to an archive type. `ReadableArchive` defines the following methods:
+
+`getEntry(String name)`::
+  Returns a `java.io.InputStream` for the specified entry name, or null
+  if the entry doesn't exist.
+`exists(String name)`::
+  Returns a `boolean` value indicating whether the specified entry name
+  exists.
+`getEntrySize(String name)`::
+  Returns the size of the specified entry as a `long` value.
+`open(URI uri)`::
+  Returns an archive for the given `java.net.URI`.
+`getSubArchive(String name)`::
+  Returns an instance of `ReadableArchive` for the specified sub-archive
+  contained within the parent archive, or null if no such archive
+  exists.
+`exists()`::
+  Returns a `boolean` value indicating whether this archive exists.
+`delete()`::
+  Deletes the archive, and returns a `boolean` value indicating whether
+  the archive has been successfully deleted.
+`renameTo(String name)`::
+  Renames the archive to the specified name, and returns a `boolean`
+  value indicating whether the archive has been successfully renamed.
+
+Implementations of the `WritableArchive` interface provide write access
+to the archive type. `WritableArchive` defines the following methods:
+
+`create(URI uri)`::
+  Creates a new archive with the given path, specified as a
+  `java.net.URI`.
+`closeEntry(WritableArchive subArchive)`::
+  Closes the specified sub-archive contained within the parent archive.
+`closeEntry()`::
+  Closes the current entry.
+`createSubArchive(String name)`::
+  Creates a new sub-archive in the parent archive with the specified
+  name, and returns it as a `WritableArchive` instance.
+`putNextEntry(String name)`::
+  Creates a new entry in the archive with the specified name, and
+  returns it as a `java.io.OutputStream`.
+
+[[ghoyp]][[GSACG00236]][[implementing-the-archivehandler-interface]]
+
+==== Implementing the `ArchiveHandler` Interface
+
+An archive handler is responsible for handling the particular layout of
+an archive. Jakarta EE defines a set of archives (WAR, JAR, and RAR, for
+example), and each of these archives has an `ArchiveHandler` instance
+associated with the archive type.
+
+Each layout should have one handler associated with it. There is no
+extension point support at this level; the archive handler's
+responsibility is to give access to the classes and resources packaged
+in the archive, and it should not contain any container-specific code.
+The `java.lang.ClassLoader` returned by the handler is used by all the
+containers in which the application will be deployed.
+
+`ArchiveHandler` defines the following methods:
+
+`getArchiveType()`::
+  Returns the name of the archive type as a `String`. Typically, this is
+  the archive extension, such as `jar` or `war`.
+`getDefaultApplicationName(ReadableArchive archive)`::
+  Returns the default name of the specified archive as a `String`.
+  Typically this default name is the name part of the `URI` location of
+  the archive.
+`handles(ReadableArchive archive)`::
+  Returns a `boolean` value indicating whether this implementation of
+  `ArchiveHandler` can work with the specified archive.
+`getClassLoader(DeploymentContext dc)`::
+  Returns a `java.lang.ClassLoader` capable of loading all classes from
+  the archive passed in by the `DeploymentContext` instance. Typically
+  the `ClassLoader` will load classes in the scratch directory area,
+  returned by `DeploymentContext.getScratchDir()`, as stubs and other
+  artifacts are generated in the scratch directory.
+`expand(ReadableArchive source, WritableArchive target)`::
+  Prepares the `ReadableArchive`++'s++ source archive for loading into the
+  container in a format the container accepts. Such preparation could be
+  to expand a compressed archive, or possibly nothing at all if the
+  source archive format is already in a state that the container can
+  handle. This method returns the archive as an instance of
+  `WritableArchive`.
+
+[[ghphp]][[GSACG00134]][[creating-connector-modules]]
+
+=== Creating Connector Modules
+
+Connector modules are small add-on modules that consist of application
+"sniffers" that associate application types with containers that can run
+the application type. {productName} connector modules are separate
+from the associated add-on module that delivers the container
+implementation to allow {productName} to dynamically install and
+configure containers on demand.
+
+When a deployment request is received by the {productName} runtime:
+
+1. The current `Sniffer` implementations are used to determine the application type.
+2. Once an application type is found, the runtime looks for a running
+container associated with that application type. If no running container
+is found, the runtime attempts to install and configure the container
+associated with the application type as defined by the `Sniffer` implementation.
+3. The `Deployer` interface is used to prepare and load the implementation.
+
+[[ghozd]][[GSACG00237]][[associating-file-types-with-containers-by-using-the-sniffer-interface]]
+
+==== Associating File Types With Containers by Using the `Sniffer` Interface
+
+Containers do not necessarily need to be installed on the local machine
+for {productName} to recognize the container's application type.
+{productName} uses a "sniffer" concept to study the artifacts in a
+deployment request and to choose the associated container that handles
+the application type that the user is trying to deploy. To create this
+association, create a Java programming language class that implements
+the `org.glassfish.api.container.Sniffer` interface. This implementation
+can be as simple as looking for a specific file in the application's
+archive (such as the presence of `WEB-INF/web.xml`), or as complicated
+as running an annotation scanner to determine an XML-less archive (such
+as enterprise bean annotations in a JAR file). A `Sniffer`
+implementation must be as small as possible and must not load any of the
+container's runtime classes.
+
+A simple version of a `Sniffer` implementation uses the `handles` method
+to check the existence of a file in the archive that denotes the
+application type (as `WEB-INF/web.xml` denotes a web application).
+Once a `Sniffer` implementation has detected that it can handle the
+deployment request artifact, {productName} calls the `setUp` method.
+The `setUp` method is responsible for setting up the container, which
+can involve one or more of the following actions:
+
+* Downloading the container's runtime (the first time that a container is used)
+* Installing the container's runtime (the first time that a container is used)
+* Setting up one or more repositories to access the runtime's classes
+(these are implementations of the HK2 `com.sun.enterprise.module.Repository` interface,
+such as the `com.sun.enterprise.module.impl.DirectoryBasedRepository` class)
+
+The `setUp` method returns an array of the
+`com.sun.enterprise.module.Module` objects required by the container.
+
+The `Sniffer` interface defines the following methods:
+
+`handles(ReadableArchive source, ClassLoader loader)`::
+  Returns a `boolean` value indicating whether this `Sniffer`
+  implementation can handle the specified archive.
+`getURLPatterns()`::
+  Returns a `String` array containing all URL patterns to apply against
+  the request URL. If a pattern matches, the service method of the
+  associated container is invoked.
+`getAnnotationTypes()`::
+  Returns a list of annotation types recognized by this `Sniffer`
+  implementation. If an application archive contains one of the returned
+  annotation types, the deployment process invokes the container's
+  deployers as if the `handles` method had returned true.
+`getModuleType()`::
+  Returns the module type associated with this `Sniffer` implementation
+  as a `String`.
+`setup(String containerHome, Logger logger)`::
+  Sets up the container libraries so that any dependent bundles from the
+  connector JAR file will be made available to the HK2 runtime. The
+  `setup` method returns an array of `com.sun.enterprise.module.Module`
+  classes, which are definitions of container implementations. {productName} can then load these modules so that it can create an instance
+  of the container's `Deployer` or `Container` implementations when it
+  needs to. The module is locked as long as at least one module is
+  loaded in the associated container.
+`teardown()`::
+  Removes a container and all associated modules in the HK2 modules
+  subsystem.
+`getContainerNames()`::
+  Returns a `String` array containing the `Container` implementations
+  that this `Sniffer` implementation enables.
+`isUserVisible()`::
+  Returns a `boolean` value indicating whether this `Sniffer`
+  implementation should be visible to end-users.
+`getDeploymentConfigurations(final ReadableArchive source)`::
+  Returns a `Map<String, String>` of deployment configuration names to
+  configurations from this `Sniffer` implementation for the specified
+  application (the archive source). The names are created by {productName}; the configurations are the names of the files that contain
+  configuration information (for example, `WEB-INF/web.xml` and possibly
+  `WEB-INF/sun-web.xml` for a web application). If the
+  `getDeploymentConfigurations` method encounters errors while searching
+  or reading the specified archive source, it throws a
+  `java.io.IOException`.
+
+[[ghpbx]][[GSACG00172]][[making-sniffer-implementations-available-to-the-glassfish-server]]
+
+===== Making `Sniffer` Implementations Available to the {productName}
+
+Package `Sniffer` implementation code into modules and install the
+modules in the as-install``/modules`` directory. {productName} will
+automatically discover these modules. If an administrator installs
+connector modules that contain`Sniffer` implementations while {productName} is running, {productName} will pick them up at the next
+deployment request.
+
+[[gkane]][[GSACG00135]][[example-of-adding-container-capabilities]]
+
+=== Example of Adding Container Capabilities
+
+This example shows a custom container and a web client of the container.
+The example is comprised of the following code:
+
+* Code for the container, which is shown in link:#gkbah[Container
+Component Code]
+* Code for a web client of the container, which is shown in
+link:#gkbcq[Web Client Code]
+
+Code that defines the configuration data for the container component is
+shown in link:adding-configuration-data.html#gkaal[Examples of Adding
+Configuration Data for a Component].
+
+Code for an `asadmin` subcommand that updates the configuration data in
+this example is shown in link:extending-asadmin.html#gkbdf[Example 4-7].
+
+[[gkbah]][[GSACG00238]][[container-component-code]]
+
+==== Container Component Code
+
+The container component code is comprised of the classes and interfaces
+that are listed in the following table. The table also provides a
+cross-reference to the listing of each class or interface.
+
+[width="100%",cols="<50%,<50%",options="header",]
+|===
+|Class or Interface |Listing
+|`Greeter` |link:#gkamr[Example 7-3]
+|`GreeterContainer` |link:#gkand[Example 7-4]
+|`GreeterContainer` |link:#gkamm[Example 7-5]
+|`GreeterDeployer` |link:#gkalo[Example 7-6]
+|`GreeterSniffer` |link:#gkaks[Example 7-7]
+|===
+
+[[GSACG00066]][[gkamr]]
+Example 7-3 Annotation to Denote a Container's Component
+
+This example shows the code for defining a component of the `Greeter`
+container.
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Simple annotation to denote Greeter's component
+ */
+@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
+public @interface Greeter {
+
+    /**
+     * Name to uniquely identify different greeters
+     *
+     * @return a good greeter name
+     */
+    public String name();
+}
+----
+
+[[GSACG00067]][[gkand]]
+Example 7-4 Application Container Class
+
+This example shows the Java language class `GreeterAppContainer`, which
+implements the `ApplicationContainer` interface.
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter;
+
+import org.glassfish.api.deployment.ApplicationContainer;
+import org.glassfish.api.deployment.ApplicationContext;
+import org.glassfish.api.deployment.archive.ReadableArchive;
+
+import java.util.List;
+import java.util.ArrayList;
+
+public class GreeterAppContainer implements ApplicationContainer {
+
+    final GreeterContainer ctr;
+    final List<Class> componentClasses = new ArrayList<Class>();
+
+    public GreeterAppContainer(GreeterContainer ctr) {
+        this.ctr = ctr;
+    }
+
+    void addComponent(Class componentClass) {
+        componentClasses.add(componentClass);
+    }
+
+    public Object getDescriptor() {
+        return null;
+    }
+
+    public boolean start(ApplicationContext startupContext) throws Exception {
+        for (Class componentClass : componentClasses) {
+            try {
+                Object component = componentClass.newInstance();
+                Greeter greeter = (Greeter)
+                     componentClass.getAnnotation(Greeter.class);
+                ctr.habitat.addComponent(greeter.name(), component);
+            } catch(Exception e) {
+                throw new RuntimeException(e);
+            }
+        }
+        return true;
+    }
+
+    public boolean stop(ApplicationContext stopContext) {
+        for (Class componentClass : componentClasses) {
+            ctr.habitat.removeAllByType(componentClass);
+        }
+        return true;
+    }
+
+    public boolean suspend() {
+        return false;
+    }
+
+    public boolean resume() throws Exception {
+        return false;
+    }
+
+    public ClassLoader getClassLoader() {
+        return null;
+    }
+}
+----
+
+[[GSACG00068]][[gkamm]]
+Example 7-5 Container Class
+
+This example shows the Java language class `GreeterContainer`, which
+implements the `Container` interface.
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter;
+
+import org.glassfish.api.container.Container;
+import org.glassfish.api.deployment.Deployer;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.annotations.Inject;
+import org.jvnet.hk2.component.Habitat;
+
+@Service(name="org.glassfish.examples.extension.GreeterContainer")
+public class GreeterContainer implements Container {
+
+    @Inject
+    Habitat habitat;
+
+    public Class<? extends Deployer> getDeployer() {
+        return GreeterDeployer.class;
+    }
+
+    public String getName() {
+        return "greeter";
+    }
+}
+----
+
+[[GSACG00069]][[gkalo]]
+Example 7-6 Deployer Class
+
+This example shows the Java language class `GreeterDeployer`, which
+implements the `Deployer` interface.
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter;
+
+import org.glassfish.api.deployment.Deployer;
+import org.glassfish.api.deployment.MetaData;
+import org.glassfish.api.deployment.DeploymentContext;
+import org.glassfish.api.deployment.ApplicationContainer;
+import org.glassfish.api.deployment.archive.ReadableArchive;
+import org.glassfish.api.container.Container;
+import org.jvnet.hk2.annotations.Service;
+
+import java.util.Enumeration;
+
+@Service
+public class GreeterDeployer
+    implements Deployer<GreeterContainer, GreeterAppContainer> {
+
+    public MetaData getMetaData() {
+        return null;
+    }
+
+    public <V> V loadMetaData(Class<V> type, DeploymentContext context) {
+        return null;
+    }
+
+    public boolean prepare(DeploymentContext context) {
+        return false;
+    }
+
+    public GreeterAppContainer load(
+        GreeterContainer container, DeploymentContext context) {
+
+        GreeterAppContainer appCtr = new GreeterAppContainer(container);
+        ClassLoader cl = context.getClassLoader();
+
+        ReadableArchive ra = context.getOriginalSource();
+        Enumeration<String> entries = ra.entries();
+        while (entries.hasMoreElements()) {
+            String entry = entries.nextElement();
+            if (entry.endsWith(".class")) {
+                String className = entryToClass(entry);
+                try {
+                    Class componentClass = cl.loadClass(className);
+                    // ensure it is one of our component
+                    if (componentClass.isAnnotationPresent(Greeter.class)) {
+                        appCtr.addComponent(componentClass);
+                    }
+                } catch(Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+            }
+        }
+        return appCtr;
+    }
+
+    public void unload(GreeterAppContainer appContainer, DeploymentContext context) {
+
+    }
+
+    public void clean(DeploymentContext context) {
+
+    }
+
+    private String entryToClass(String entry) {
+        String str = entry.substring("WEB-INF/classes/".length(), entry.length()-6);
+        return str.replaceAll("/", ".");
+    }
+}
+----
+
+[[GSACG00070]][[gkaks]]
+Example 7-7 Sniffer Class
+
+This example shows the Java language class `GreeterSniffer`, which
+implements the `Sniffer` interface.
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter;
+
+import org.glassfish.api.container.Sniffer;
+import org.glassfish.api.deployment.archive.ReadableArchive;
+import org.glassfish.api.admin.config.ConfigParser;
+import org.glassfish.examples.extension.greeter.config.GreeterContainerConfig;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.annotations.Inject;
+import org.jvnet.hk2.component.Habitat;
+import com.sun.enterprise.module.Module;
+
+import java.util.logging.Logger;
+import java.util.Map;
+import java.io.IOException;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Array;
+import java.net.URL;
+
+/**
+ * @author Jerome Dochez
+ */
+@Service(name="greeter")
+public class GreeterSniffer implements Sniffer {
+
+    @Inject(optional=true)
+    GreeterContainerConfig config=null;
+
+    @Inject
+    ConfigParser configParser;
+
+    @Inject
+    Habitat habitat;
+
+    public boolean handles(ReadableArchive source, ClassLoader loader) {
+        return false;
+    }
+
+    public String[] getURLPatterns() {
+        return new String[0];
+    }
+
+    public Class<? extends Annotation>[] getAnnotationTypes() {
+        Class<? extends Annotation>[] a = (Class<? extends Annotation>[]) Array.newInstance(Class.class, 1);
+        a[0] = Greeter.class;
+        return a;
+    }
+
+    public String getModuleType() {
+        return "greeter";
+    }
+
+    public Module[] setup(String containerHome, Logger logger) throws IOException {
+        if (config==null) {
+            URL url = this.getClass().getClassLoader().getResource("init.xml");
+            if (url!=null) {
+                configParser.parseContainerConfig(
+                    habitat, url, GreeterContainerConfig.class);
+            }
+        }
+        return null;
+    }
+
+    public void tearDown() {
+
+    }
+
+    public String[] getContainersNames() {
+        String[] c = { GreeterContainer.class.getName() };
+        return c;
+    }
+
+    public boolean isUserVisible() {
+        return true;
+    }
+
+    public Map<String, String> getDeploymentConfigurations
+        (ReadableArchive source) throws IOException {
+        return null;
+    }
+
+    public String[] getIncompatibleSnifferTypes() {
+        return new String[0];
+    }
+}
+----
+
+[[gkbcq]][[GSACG00239]][[web-client-code]]
+
+==== Web Client Code
+
+The web client code is comprised of the classes and resources that are
+listed in the following table. The table also provides a cross-reference
+to the listing of each class or resource.
+
+[width="100%",cols="<50%,<50%",options="header",]
+|===
+|Class or Resource |Listing
+|`HelloWorld` |link:#gkaki[Example 7-8]
++
+|`SimpleGreeter` |link:#gkalf[Example 7-9]
++
+|Deployment descriptor |link:#gkaly[Example 7-10]
++
+|===
+
+
+[[GSACG00071]][[gkaki]]
+Example 7-8 Container Client Class
+
+[source,java]
+----
+import components.SimpleGreeter;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.annotation.Resource;
+
+
+@WebServlet(urlPatterns={"/hello"})
+public class HelloWorld extends HttpServlet {
+
+    @Resource(name="Simple")
+    SimpleGreeter greeter;
+
+    public void doGet(HttpServletRequest req, HttpServletResponse res)
+            throws IOException, ServletException {
+
+
+        PrintWriter pw = res.getWriter();
+        try {
+            pw.println("Injected service is " + greeter);
+            if (greeter!=null) {
+                pw.println("SimpleService says " + greeter.saySomething());
+                pw.println("<br>");
+            }
+                } catch(Exception e) {
+                e.printStackTrace();
+        }
+    }
+}
+----
+
+[[GSACG00072]][[gkalf]]
+Example 7-9 Component for Container Client
+
+[source,java]
+----
+package components;
+
+import org.glassfish.examples.extension.greeter.Greeter;
+
+@Greeter(name="simple")
+public class SimpleGreeter {
+
+    public String saySomething() {
+        return "Bonjour";
+    }
+}
+----
+
+[[GSACG00073]][[gkaly]]
+Example 7-10 Deployment Descriptor for Container Client
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="3.1"
+  xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation=
+    "http://xmlns.jcp.org/xml/ns/javaee
+    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
+</web-app>
+----
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/adding-monitoring-capabilities.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/adding-monitoring-capabilities.adoc
new file mode 100644
index 0000000..8c30a4d
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/adding-monitoring-capabilities.adoc
@@ -0,0 +1,1126 @@
+type=page
+status=published
+title=Adding Monitoring Capabilities
+next=adding-configuration-data.html
+prev=extending-asadmin.html
+~~~~~~
+
+= Adding Monitoring Capabilities
+
+[[GSACG00005]][[ghmos]]
+
+[[adding-monitoring-capabilities]]
+== Adding Monitoring Capabilities
+
+Monitoring is the process of reviewing the statistics of a system to
+improve performance or solve problems. By monitoring the state of
+components and services that are deployed in the {productName},
+system administrators can identify performance bottlenecks, predict
+failures, perform root cause analysis, and ensure that everything is
+functioning as expected. Monitoring data can also be useful in
+performance tuning and capacity planning.
+
+An add-on component typically generates statistics that the {productName} can gather at run time. Adding monitoring capabilities enables an
+add-on component to provide statistics to {productName} in the same
+way as components that are supplied in {productName} distributions.
+As a result, system administrators can use the same administrative
+interfaces to monitor statistics from any installed {productName}
+component, regardless of the origin of the component.
+
+The following topics are addressed here:
+
+* link:#ghopc[Defining Statistics That Are to Be Monitored]
+* link:#ghplw[Updating the Monitorable Object Tree]
+* link:#ghrma[Dotted Names and REST URLs for an Add-On Component's Statistics]
+* link:#ghptj[Example of Adding Monitoring Capabilities]
+
+[[ghopc]][[GSACG00116]][[defining-statistics-that-are-to-be-monitored]]
+
+=== Defining Statistics That Are to Be Monitored
+
+At runtime, your add-on component might perform operations that affect
+the behavior and performance of your system. For example, your component
+might start a thread of control, receive a request from a service, or
+request a connection from a connection pool. Monitoring the statistics
+that are related to these operations helps a system administrator
+maintain the system.
+
+To provide statistics to {productName}, your component must define
+events for the operations that generate these statistics. At runtime,
+your component must send these events when performing the operations for
+which the events are defined. For example, to enable the number of
+received requests to be monitored, a component must send a "request
+received" event each time that the component receives a request.
+
+A statistic can correspond to single event or to multiple events.
+
+* Counter statistics typically correspond to a single event. For
+example, to calculate the number of received requests, only one event is
+required, for example, a "request received" event. Every time that a
+"request received" event is sent, the number of received requests is
+increased by 1.
+* Timer statistics typically correspond to multiple events. For example,
+to calculate the time to process a request, two requests, for example, a
+"request received" event and a "request completed" event.
+
+Defining statistics that are to be monitored involves the following
+tasks:
+
+* link:#gkadk[Defining an Event Provider]
+* link:#ghprg[Sending an Event]
+
+[[gkadk]][[GSACG00220]][[defining-an-event-provider]]
+
+==== Defining an Event Provider
+
+An event provider defines the types of events for the operations that
+generate statistics for an add-on component.
+
+{productName} enables you to define an event provider in the
+following ways:
+
+* By writing a Java Class. Define an event provider this way if you have
+access to the source code of the component for which you are defining an
+event provider.
+* By writing an XML fragment. Define an event provider this way if you
+do not have access to the source code of the component for which you are
+defining and event provider.
+
+[[ghovq]][[GSACG00164]][[defining-an-event-provider-by-writing-a-java-class]]
+
+===== Defining an Event Provider by Writing a Java Class
+
+To define an event provider, write a Java language class that defines
+the types of events for the component. Your class is not required to
+extend any specific class or implement any interfaces.
+
+To identify your class as an event provider, annotate the declaration of
+the class with the
+`org.glassfish.external.probe.provider.annotations.ProbeProvider`
+annotation.
+
+To create a name space for event providers and to uniquely identify an
+event provider to the monitoring infrastructure of {productName}, set
+the elements of the `@ProbeProvider` annotation as follows:
+
+`moduleProviderName`::
+  Your choice of text to identify the application to which the event
+  provider belongs. The value of the `moduleProviderName` element is not
+  required to be unique.
+  For example, for event providers from {productName}, `moduleProviderName` is `glassfish`.
+`moduleName`::
+  Your choice of name for the module for which the event provider is
+  defined. A module provides significant functionality of an
+  application. The value of the `moduleName` element is not required to
+  be unique.
+  In {productName}, examples of module names are `web-container`,
+  `ejb-container`, `transaction`, and `webservices`.
+`probeProviderName`::
+  Your choice of name to identify the event provider. To uniquely
+  identify the event provider, ensure that `probeProviderName` is unique
+  for all event providers in the same module.
+  In {productName}, examples of event-provider names are `jsp`,
+  `servlet`, and `web-module`.
+
+[[ghosi]][[GSACG00011]][[defining-event-types-in-an-event-provider-class]]
+
+Defining Event Types in an Event Provider Class
+
+To define event types in an event provider class, write one method for
+each type of event that is related to the component. The requirements
+for each method are as follows:
+
+* The return value of the callback methods must be void.
+* The method body must be empty. You instantiate the event provider
+class in the class that invokes the method to send the event.
+For more information, see link:#ghprg[Sending an Event].
+* To enable the event to be used as an Oracle Solaris DTrace probe, each
+parameter in the method signature must be a Java language primitive,
+such as `Integer`, `boolean`, or `String`.
+
+Annotate the declaration of each method with the
+`org.glassfish.external.probe.provider.annotations.Probe` annotation.
+
+By default, the type of the event is the method name. If you overload a
+method in your class, you must uniquely identify the event type for each
+form of the method. To uniquely identify the event type, set the `name`
+element of the `@Probe` annotation to the name of the event type.
+
+[NOTE]
+====
+You are not required to uniquely identify the event type for methods that are not overloaded.
+====
+
+
+[[ghoul]][[GSACG00012]][[specifying-event-parameters]]
+
+Specifying Event Parameters
+
+To enable methods in an event listener to select a subset of values,
+annotate each parameter in the method signature with the
+`org.glassfish.external.probe.provider.annotations.ProbeParam`
+annotation. Set the `value` element of the `@ProbeParam` annotation to
+the name of the parameter.
+
+[[ghpmm]][[GSACG00013]][[example-of-defining-an-event-provider-by-writing-a-java-class]]
+
+Example of Defining an Event Provider by Writing a Java Class
+
+[[GSACG00041]][[ghprw]]
+Example 5-1 Defining an Event Provider by Writing a Java Class
+
+This example shows the definition of the `TxManager` class. This class
+defines events for the start and end of transactions that are performed
+by a transaction manager.
+
+The methods in this class are as follows:
+
+`onTxBegin`::
+  This method sends an event to indicate the start of a transaction. The
+  name of the event type that is associated with this method is `begin`.
+  A parameter that is named `txId` is passed to the method.
+`onCompletion`::
+  This method sends an event to indicate the end of a transaction. The
+  name of the event type that is associated with this method is `end`. A
+  parameter that is named `outcome` is passed to the method.
+
+[source,java]
+----
+import org.glassfish.external.probe.provider.annotations.Probe;
+import org.glassfish.external.probe.provider.annotations.ProbeParam;
+import org.glassfish.external.probe.provider.annotations.ProbeProvider;
+@ProbeProvider(moduleProviderName="examplecomponent",
+moduleName="transaction", probeProviderName="manager")
+public class TxManager {
+
+    @Probe("begin")
+    public void onTxBegin(
+        @ProbeParam("{txId}") String txId
+    ){}
+
+    @Probe ("end")
+    public void onCompletion(
+        @ProbeParam("{outcome}") boolean outcome
+    ){}
+ }
+----
+
+[[gkaec]][[GSACG00165]][[defining-an-event-provider-by-writing-an-xml-fragment]]
+
+===== Defining an Event Provider by Writing an XML Fragment
+
+To define an event provider, write an extensible markup language (XML)
+fragment that contains a single `probe-provider` element.
+
+To create a name space for event providers and to uniquely identify an
+event provider to the monitoring infrastructure of {productName}, set
+the attributes of the `probe-provider` element as follows:
+
+`moduleProviderName`::
+  Your choice of text to identify the application to which the event
+  provider belongs. The value of the `moduleProviderName` attribute is
+  not required to be unique.
+  For example, for event providers from {productName}, `moduleProviderName` is `glassfish`.
+`moduleName`::
+  Your choice of name for the module for which the event provider is
+  defined. A module provides significant functionality of an
+  application. The value of the `moduleName` attribute is not required
+  to be unique.
+  In {productName}, examples of module names are `web-container`,
+  `ejb-container`, `transaction`, and `webservices`.
+`probeProviderName`::
+  Your choice of name to identify the event provider. To uniquely
+  identify the event provider, ensure that `probeProviderName` is unique
+  for all event providers in the same module.
+  In {productName}, examples of event—provider names are `jsp`,
+  `servlet`, and `web-module`.
+
+Within the `probe-provider` element, add one `probe` element for each
+event type that you are defining. To identify the event type, set the
+name attribute of the `probe` element to the type.
+
+To define the characteristics of each event type, add the following
+elements within the `probe` element:
+
+`class`::
+  This element contains the fully qualified Java class name of the
+  component that generates the statistics for which you are defining
+  events.
+`method`::
+  This element contains the name of the method that is invoked to
+  generate the statistic.
+`signature`::
+  This element contains the following information about the signature if
+  the method:
++
+[source]
+----
+return-type (paramater-type-list)
+----
+  `return-type`;;
+    The return type of the method.
+  `paramater-type-list`;;
+    A comma-separated list of the types of the parameters in the method
+    signature.
+`probe-param`::
+  The attributes of this element identify the type and the name of a
+  parameter in the method signature. One `probe-param` element is
+  required for each parameter in the method signature. The `probe-param`
+  element does not contain any data.
+  The attributes of the `probe-param` element are as follows:
+  `type`;;
+    Specifies the type of the parameter.
+  `name`;;
+    Specifies the name of the parameter.
+`return-param`::
+  The `type` attribute of this element specifies the return type of the
+  method. The `return-param` element does not contain any data.
+
+[[GSACG00042]][[gkajj]]
+Example 5-2 Defining an Event Provider by Writing an XML Fragment
+
+This example defines an event provider for the `glassfish:web:jsp`
+component. The Java class of this component is
+`com.sun.enterprise.web.jsp.JspProbeEmitterImpl`. The event provider
+defines one event of type `jspLoadedEvent`. The signature of the method
+that is associated with this event is as follows:
+
+[source,java]
+----
+void jspLoaded(String jsp, String hostName)
+----
+[source,xml]
+----
+<probe-provider moduleProviderName="glassfish" moduleName="web" probeProviderName="jsp">
+    <probe name="jspLoadedEvent">
+       <class>com.sun.enterprise.web.jsp.JspProbeEmitterImpl</class>
+       <method>jspLoaded</method>
+       <signature>void (String,String)</signature>
+       <probe-param type="String" name="jsp"/>
+       <probe-param type="String" name="hostName"/>
+       <return-param type="void" />
+    </probe>
+</probe-provider>
+----
+
+[[gkaie]][[GSACG00166]][[packaging-a-components-event-providers]]
+
+===== Packaging a Component's Event Providers
+
+Packaging a component's event providers enables the monitoring
+infrastructure of {productName} to discover the event providers automatically.
+
+To package a component's event providers, add an entry to the
+component's `META-INF/MANIFEST.MF` file that identifies all of the
+component's event providers. The format of the entry depends on how the
+event providers are defined:
+
+* If the event providers are defined as Java classes, the entry is a
+list of the event providers' class names as follows:
++
+[source]
+----
+probe-provider-class-names : class-list
+----
++
+The `class-list` is a comma-separated list of the fully qualified Java
+class names of the component's event providers.
+* If the event providers are defined as XML fragments, the entry is a
+list of the paths to the files that contain the XML fragments as follows:
++
+[source]
+----
+probe-provider-xml-file-names : path-list
+----
++
+The `path-list` is a comma-separated list of the paths to the XML files
+relative to the root of the archive in the JAR file.
+
+[[GSACG00043]][[gkaii]]
+Example 5-3 Manifest Entry for Event Providers That Are Defined as Java Classes
+
+This example shows the entry in the `META-INF/MANIFEST.MF` file of a
+component whose event provider is the
+`org.glassfish.pluggability.monitoring.ModuleProbeProvider` class.
+
+[source]
+----
+probe-provider-class-names : org.glassfish.pluggability.monitoring.ModuleProbeProvider
+----
+
+[[ghprg]][[GSACG00221]][[sending-an-event]]
+
+==== Sending an Event
+
+At runtime, your add-on component might perform an operation that
+generates statistics. To provide statistics about the operation to
+{productName}, your component must send an event of the correct type
+when performing the operation.
+
+To send an event, instantiate your event provider class and invoke the
+method of the event provider class for the type of the event.
+Instantiate the class and invoke the method in the class that represents
+your add-on component. Ensure that the method is invoked when your
+component performs the operation for which the event was defined. One
+way to meet this requirement is to invoke the method for sending the
+event in the body of the method for performing the operation.
+
+[[GSACG00044]][[ghpus]]
+Example 5-4 Sending an Event
+
+This example shows the code for instantiating the `TxManager` class and
+invoking the `onTxBegin` method to send an event of type `begin`. This
+event indicates that a component is about to begin a transaction.
+
+The `TxManager` class is instantiated in the constructor of the
+`TransactionManagerImpl` class. To ensure that the event is sent at the
+correct time, the `onTxBegin` method is invoked in the body of the
+`begin` method, which starts a transaction.
+
+The declaration of the `onTxBegin` method in the event provider
+interface is shown in link:#ghprw[Example 5-1].
+
+[source,java]
+----
+...
+public class TransactionManagerImpl {
+...
+     public TransactionManagerImpl() {
+         TxManager txProvider = new TxManager();
+         ...
+     }
+    ...
+    public void begin() {
+        String txId = createTransactionId();
+        ....
+        txProvider.onTxBegin(txId); //emit
+      }
+...
+}
+----
+
+[[ghplw]][[GSACG00117]][[updating-the-monitorable-object-tree]]
+
+=== Updating the Monitorable Object Tree
+
+A monitorable object is a component, subcomponent, or service that can
+be monitored. {productName} uses a tree structure to track
+monitorable objects.
+
+Because the tree is dynamic, the tree changes as components of the
+{productName} instance are added, modified, or removed. Objects are
+also added to or removed from the tree in response to configuration
+changes. For example, if monitoring for a component is turned off, the
+component's monitorable object is removed from the tree.
+
+To enable system administrators to access statistics for all components
+in the same way, you must provide statistics for an add-on component by
+updating the monitorable object tree. Statistics for the add-on
+component are then available through the {productName} administrative
+commands link:reference-manual/get.html#GSRFM00139[`get`], olink:GSRFM00145[`list`], and
+link:reference-manual/set.html#GSRFM00226[`set`]. These commands locate an object in the tree
+through the object's dotted name.
+
+For more information about the tree structure of monitorable objects,
+see "link:administration-guide/monitoring.html#GSADG00727[How the Monitoring Tree Structure Works]" in
+{productName} Administration Guide.
+
+To make an add-on component a monitorable object, you must add the
+add-on component to the monitorable object tree.
+
+To update the statistics for an add-on component, you must add the
+statistics to the monitorable object tree, and create event listeners to
+gather statistics from events that represent these statistics. At
+runtime, these listeners must update monitorable objects with statistics
+that these events contain. The events are sent by event provider
+classes. For information about how to create event provider classes and
+send events, see link:#ghopc[Defining Statistics That Are to Be
+Monitored].
+
+Updating the monitorable object tree involves the following tasks:
+
+* link:#ghpni[Creating Event Listeners]
+* link:#ghptp[Representing a Component's Statistics in an Event Listener Class]
+* link:#ghpml[Subscribing to Events From Event Provider Classes]
+* link:#ghppo[Registering an Event Listener]
+
+[[ghpni]][[GSACG00222]][[creating-event-listeners]]
+
+==== Creating Event Listeners
+
+An event listener gathers statistics from events that an event provider
+sends. To enable an add-on component to gather statistics from events,
+create listeners to receive events from the event provider. The listener
+can receive events from the add-on component in which the listener is
+created and from other components.
+
+To create an event listener, write a Java class to represent the
+listener. The listener can be any Java object.
+
+An event listener also represents a component's statistics. To enable
+the Application Server Management Extensions (AMX) to expose the
+statistics to client applications, annotate the declaration of the class
+with the `org.glassfish.gmbal.ManagedObject` annotation.
+
+Ensure that the class that you write meets these requirements:
+
+* The return value of all callback methods in the listener must be void.
+* Because the methods of your event provider class may be entered by
+multiple threads, the listener must be thread safe. However,{productName} provides utility classes to perform some common operations such
+as `count`, `avg`, and `sum`.
+* The listener must have the same restrictions as a Jakarta EE application. For example, the listener
+cannot open server sockets, or create threads.
+
+A listener is called in the same thread as the event method. As a
+result, the listener can use thread locals. If the monitored system
+allows access to thread locals, the listener can access thread locals of
+the monitored system.
+
+
+[NOTE]
+====
+A listener that is not registered to listen for events is never called
+by the framework. Therefore, unregistered listeners do not consume any
+computing resources, such as memory or processor cycles.
+====
+
+[[ghptp]][[GSACG00223]][[representing-a-components-statistics-in-an-event-listener-class]]
+
+==== Representing a Component's Statistics in an Event Listener Class
+
+Represent each statistic as the property of a JavaBeans specification
+getter method of your listener class. Methods in the listener class for
+processing events can then access the property through the getter
+method. For more information, see link:#ghpml[Subscribing to Events From
+Event Provider Classes].
+
+To enable AMX to expose the statistic to client applications, annotate
+the declaration of the getter method with the
+`org.glassfish.gmbal.ManagedAttribute` annotation. Set the `id` element
+of the `@ManagedAttribute` annotation to the property name all in
+lowercase.
+
+The data type of the property that represents a statistic must be a
+class that provides methods for computing the statistic from event data.
+
+The `org.glassfish.external.statistics.impl` package provides the
+following classes to gather and compute statistics data:
+
+`AverageRangeStatisticImpl`::
+  Provides standard measurements of the lowest and highest values that
+  an attribute has held and the current value of the attribute.
+`BoundaryStatisticImpl`::
+  Provides standard measurements of the upper and lower limits of the
+  value of an attribute.
+`BoundedRangeStatisticImpl`::
+  Aggregates the attributes of `RangeStatisticImpl` and
+  `BoundaryStatisticImpl` and provides standard measurements of a range
+  that has fixed limits.
+`CountStatisticImpl`::
+  Provides standard count measurements.
+`RangeStatisticImpl`::
+  Provides standard measurements of the lowest and highest values that
+  an attribute has held and the current value of the attribute.
+`StatisticImpl`::
+  Provides performance data.
+`StringStatisticImpl`::
+  Provides a string equivalent of a counter statistic.
+`TimeStatisticImpl`::
+  Provides standard timing measurements.
+
+[[GSACG00045]][[ghpsc]]
+Example 5-5 Representing a Component's Statistics in an Event Listener
+Class
+
+This example shows the code for representing the `txcount` statistic in
+the `TxListener` class.
+
+[source,java]
+----
+...
+import org.glassfish.external.statistics.CountStatistic;
+import org.glassfish.external.statistics.impl.CountStatisticImpl;
+...
+import org.glassfish.gmbal.ManagedAttribute;
+import org.glassfish.gmbal.ManagedObject;
+
+...
+@ManagedObject
+public class TxListener {
+
+    private CountStatisticImpl txCount = new CountStatisticImpl("TxCount",
+        "count", "Number of completed transactions");
+...
+    @ManagedAttribute(id="txcount")
+    public CountStatistic  getTxCount(){
+         return txCount;
+    }
+}
+----
+
+[[ghpml]][[GSACG00224]][[subscribing-to-events-from-event-provider-classes]]
+
+==== Subscribing to Events From Event Provider Classes
+
+To receive events from event provider classes, a listener must subscribe
+to the events. Subscribing to events also specifies the provider and the
+type of events that the listener will receive.
+
+To subscribe to events from event provider classes, write one method in
+your listener class to process each type of event. To specify the
+provider and the type of event, annotate the method with the
+`org.glassfish.external.probe.provider.annotations.ProbeListener`
+annotation. In the `@ProbeListener` annotation, specify the provider and
+the type as follows:
+
+[source]
+----
+"module-providername:module-name:probe-provider-name:event-type"
+----
+
+module-providername::
+  The application to which the event provider belongs. This parameter
+  must be the value of the `moduleProviderName` element or attribute in
+  the definition of the event provider. See link:#ghovq[Defining an
+  Event Provider by Writing a Java Class] and link:#gkaec[Defining an
+  Event Provider by Writing an XML Fragment].
+module-name::
+  The module for which the event provider is defined. This parameter
+  must match be the value of the `moduleName` element or attribute in
+  the definition of the event provider. See link:#ghovq[Defining an
+  Event Provider by Writing a Java Class] and link:#gkaec[Defining an
+  Event Provider by Writing an XML Fragment].
+probe-provider-name::
+  The name of the event provider. This parameter must match be the value
+  of the `probeProviderName` element or attribute in the definition of
+  the event provider. See link:#ghovq[Defining an Event Provider by
+  Writing a Java Class] and link:#gkaec[Defining an Event Provider by
+  Writing an XML Fragment].
+event-type::
+  The type of the event. This type is defined in the event provider
+  class. For more information, see link:#ghosi[Defining Event Types in
+  an Event Provider Class].
+
+Annotate each parameter in the method signature with the `@ProbeParam`
+annotation. Set the `value` element of the `@ProbeParam` annotation to
+the name of the parameter.
+
+In the method body, provide the code to update monitoring statistics in
+response to the event.
+
+[[GSACG00046]][[ghpwu]]
+Example 5-6 Subscribing to Events From Event Provider Classes
+
+This example shows the code for subscribing to events of type `begin`
+from the `tx` component. The provider of the component is `TxManager`.
+The body of the `begin` method contains code to increase the transaction
+count txcount by 1 each time that an event is received.
+
+The definition of the `begin` event type is shown in link:#ghprw[Example 5-1].
+
+The code for sending `begin` events is shown in link:#ghpus[Example 5-4].
+
+The instantiation of the `txCount` object is shown in
+link:#ghpsc[Example 5-5].
+
+[source,java]
+----
+...
+import org.glassfish.external.probe.provider.annotations.ProbeListener;
+import org.glassfish.external.probe.provider.annotations.ProbeParam;
+import org.glassfish.gmbal.ManagedObject;
+...
+@ManagedObject
+public class TxListener {
+    ...;    @ProbeListner("examplecomponent:transaction:manager:begin")
+    public void begin(
+    @ProbeParam("{txId}")
+    String txId) {
+      txCount.increment();
+    }
+  }
+----
+
+[[ghpsp]][[GSACG00167]][[listening-for-changes-to-values-that-are-not-part-of-the-target-method-definition]]
+
+===== Listening for Changes to Values That are Not Part of the Target Method Definition
+
+Event listeners can express their interest in certain predefined values
+that are not part of the target method definition. For example,
+$\{gf.appname}, $\{gf.modulename} etc. are some of the computed params
+that are available to the clients, these values are computed/evaluated
+only on demand and provided by the event infrastructure.
+
+[[ghpsw]][[GSACG00168]][[getting-information-about-a-event-provider]]
+
+===== Getting Information About a Event Provider
+
+`ProbeProviderInfo` contains details about individual event types in an
+event provider class.
+
+[source,java]
+----
+public interface ProbeProviderInfo {
+
+      public String getModuleName();
+
+      public String getProviderName();
+
+      public String getApplicationName();
+
+      public String getProbeName();
+
+      public String[] getParamterNames();
+
+      public Class getParamterTypes();
+
+ }
+----
+
+[[ghpmt]][[GSACG00225]][[listening-for-events-from-classes-that-are-not-event-providers]]
+
+==== Listening for Events From Classes That Are Not Event Providers
+
+gfProbes infrastructure allows clients to monitor glassfish even in the
+absence of provider classes. This is done by allowing clients to receive
+callbacks when a java methods are entered / exited. Note that while this
+approach allows a client to monitor legacy code, it may not always be
+possible to receive "high-level" events.
+
+For example, while it is easy to monitor (through gfProbes) when
+TransactionManagerImpl.begin() entered / exited, the client cannot
+determine the transaction ID in this case.
+
+[source,java]
+----
+public class TxMonitor {
+     @MethodEntry("tx:com.sun.tx.TxMgrImpl::onTxBegin")
+     public void onTx(String tId) {
+       count++;
+     }
+  }
+----
+
+[[ghpql]][[GSACG00169]][[monitoring-method-entry]]
+
+===== Monitoring Method Entry
+
+The @MethodEntry annotation must be used by the client to receive
+callback when the target method is entered. The client method argument
+types and count must match the target methods parameter types/count.
+
+[[ghppg]][[GSACG00170]][[monitoring-method-exit]]
+
+===== Monitoring Method Exit
+
+The @MethodExit annotation must be used by the client to receive
+callback when the target method is exited. The client method argument
+types and count must match the target methods parameter types/count. The
+first parameter in the client method should match the return type of the
+target method (only if the target method has a non void return type)
+
+[[ghplj]][[GSACG00171]][[monitoring-exceptions]]
+
+===== Monitoring Exceptions
+
+The @OnException annotation must be used by the client to receive
+callback when the target method exits because of an exception. The
+client method argument types and count must match the target methods
+parameter types/count. (This restriction might be removed later). The
+first parameter in the client method should be of type Throwable
+
+[[ghppo]][[GSACG00226]][[registering-an-event-listener]]
+
+==== Registering an Event Listener
+
+Registering an event listener enables the listener to receive callbacks
+from the {productName} event infrastructure. The listener can then
+collect data from events and update monitorable objects in the object
+tree. These monitorable objects form the basis for monitoring
+statistics.
+
+Registering an event listener also makes a component and its statistics
+monitorable objects by adding statistics for the component to the
+monitorable object tree.
+
+At runtime, the {productName} event infrastructure registers
+listeners for an event provider when the event provider is started and
+unregisters them when the event provider is shut down. As a result,
+listeners have no dependencies on other components.
+
+To register a listener, invoke the static
+`org.glassfish.external.probe.provider.StatsProviderManager.register`
+method in the class that represents your add-on component. In the method
+invocation, pass the following information as parameters:
+
+* The name of the configuration element with which all statistics in the
+event listener are to be associated. System administrators use this
+element for enabling or disabling monitoring for the event listener.
+* The node in the monitorable object tree under which the event listener
+is to be registered. To specify the node, pass one of the following
+constants of the
+`org.glassfish.external.probe.provider.PluginPointPluginPoint`
+enumeration:
+
+** To register the listener under the `server/applications` node, pass
+the `APPLICATIONS` constant.
+
+** To register the listener under the `server` node, pass the `SERVER`
+constant.
+* The path through the monitorable object tree from the node under which
+the event listener is registered down to the statistics in the event
+listener. The nodes in this path are separated by the slash (`/`)
+character.
+* The listener object that you are registering.
+
+[[GSACG00047]][[ghpuu]]
+Example 5-7 Registering an Event Listener
+
+This example shows the code for registering the event listener
+`TxListener` for the add-on component that is represented by the class
+`TransactionManagerImpl`. The statistics that are defined in this
+listener are associated with the `web-container` configuration element.
+The listener is registered under the `server/applications` node. The
+path from this node to the statistics in the event listener is
+`tx/txapp`.
+
+Code for the constructor of the `TxListener` class is beyond the scope
+of this example.
+
+[source,java]
+----
+...
+import org.glassfish.external.probe.provider.StatsProviderManager;
+import org.glassfish.external.probe.provider.PluginPoint
+...
+public class TransactionManagerImpl {
+...
+    StatsProviderManager.register("web-container", PluginPoint.APPLICATIONS,
+        "tx/txapp", new TxListener());
+...
+}
+----
+
+[[ghrma]][[GSACG00118]][[dotted-names-and-rest-urls-for-an-add-on-components-statistics]]
+
+=== Dotted Names and REST URLs for an Add-On Component's Statistics
+
+The {productName} administrative subcommands link:reference-manual/get.html#GSRFM00139[`get`],
+link:reference-manual/list.html#GSRFM00145[`list`], and olink:GSRFM00226[`set`] locate a statistic
+through the dotted name of the statistic. The dotted name of a statistic
+for an add-on component is determined from the registration of the event
+listener that defines the statistic as follows:
+
+[source]
+----
+listener-parent-node.path-to-statistic.statistic-name
+----
+
+listener-parent-node::
+  The node in the monitorable object tree under which the event listener
+  that defines the statistic is registered. This node is passed in the
+  invocation of the `register` method that registers the event listener.
+  For more information, see link:#ghppo[Registering an Event Listener].
+path-to-statistic::
+  The path through the monitorable object tree from the node under which
+  the event listener is registered down to the statistic in the event
+  listener in which each slash is replaced with a period. This path is
+  passed in the invocation of the `register` method that registers the
+  event listener. For more information, see link:#ghppo[Registering an
+  Event Listener].
+statistic-name::
+  The name of the statistic. This name is the value of the `id` element
+  of the `@ManagedAttribute` annotation on the property that represents
+  the statistic. For more information, see link:#ghptp[Representing a
+  Component's Statistics in an Event Listener Class].
+
+For example, the dotted name of the `txcount` statistic that is defined
+in link:#ghpsc[Example 5-5] and registered in link:#ghpuu[Example 5-7]
+is as follows:
+
+[source]
+----
+server.applications.tx.txapp.txcount
+----
+
+The formats of the URL to a REST resource that represents a statistic is as follows:
+
+[source]
+----
+http://host:port/monitoring/domain/path
+----
+
+host::
+  The host where the DAS is running.
+port::
+  The HTTP port or HTTPS port for administration.
+path::
+  The path to the statistic. The path is the dotted name of the
+  attribute in which each dot (`.`) is replaced with a slash (`/`).
+
+For example, the URL the REST resource for the `txcount` statistic that
+is defined in link:#ghpsc[Example 5-5] and registered in
+link:#ghpuu[Example 5-7] is as follows:
+
+[source]
+----
+http://localhost:4848/monitoring/domain/server/applications/tx/txapp/txcount
+----
+
+In this example, the DAS is running on the local host and the HTTP port
+for administration is 4848.
+
+[[ghmox]][[GSACG00119]][[adding-a-type-to-the-monitor-command]]
+
+=== Adding a Type to the `monitor` Command
+
+To add a type to the `monitor` command, implement the `MonitorContract` interface.
+
+An implementation of the `MonitorContract` interface is an HK2 service
+that provides monitoring data to the `monitor` command.
+
+[[ghptj]][[GSACG00120]][[example-of-adding-monitoring-capabilities]]
+
+=== Example of Adding Monitoring Capabilities
+
+This example shows a component that monitors the number of requests that
+a container receives. The following table provides a cross-reference to
+the listing of each class or interface in the example.
+
+[width="100%",cols="<50%,<50%",options="header",]
+|===
+|Class or Interface |Listing
+|`ModuleProbeProvider` |link:#ghpna[Example 5-8]
+|`ModuleBootStrap` |link:#ghpmu[Example 5-9]
+|`ModuleStatsTelemetry` |link:#ghpvw[Example 5-10]
+|`Module` |link:#ghpuc[Example 5-11]
+|`ModuleMBean` |link:#ghpwx[Example 5-12]
+|===
+
+
+[[GSACG00048]][[ghpna]]
+Example 5-8 Event Provider Class
+
+This example illustrates how to define an event provider as explained in
+link:#ghovq[Defining an Event Provider by Writing a Java Class].
+
+The example shows the definition of the `ModuleProbeProvider` class.
+The event provider sends events when the request count is increased by 1 or
+decreased by 1.
+
+This class defines the following methods:
+
+* `moduleCountIncrementEvent`
+* `moduleCountDecrementEvent`
+
+The name of each method is also the name of the event type that is
+associated with the method.
+
+A parameter that is named `count` is passed to each method.
+
+[source,java]
+----
+package org.glassfish.pluggability.monitoring;
+
+import org.glassfish.external.probe.provider.annotations.Probe;
+import org.glassfish.external.probe.provider.annotations.ProbeParam;
+import org.glassfish.external.probe.provider.annotations.ProbeProvider;
+
+/**
+ * Monitoring count events
+ * Provider interface for module specific probe events.
+ */
+@ProbeProvider(moduleProviderName = "glassfish", moduleName = "mybeanmodule",
+probeProviderName = "mybean")
+public class ModuleProbeProvider {
+
+    /**
+     * Emits probe event whenever the count is incremented
+     */
+    @Probe(name = "moduleCountIncrementEvent")
+    public void moduleCountIncrementEvent(
+            @ProbeParam("count") Integer count) {
+    }
+
+    /**
+     * Emits probe event whenever the count is decremented
+     */
+    @Probe(name = "moduleCountDecrementEvent")
+    public void moduleCountDecrementEvent(
+            @ProbeParam("count") Integer count) {
+    }
+}
+----
+
+
+[[GSACG00049]][[ghpmu]]
+
+Example 5-9 Bootstrap Class
+
+This example illustrates how to register an event listener as explained
+in link:#ghppo[Registering an Event Listener]. The example shows the
+code for registering an instance of the listener class
+`ModuleStatsTelemetry`. This instance is added as a child of the
+`server/applications` node of the tree.
+
+[source,java]
+----
+package org.glassfish.pluggability.monitoring;
+
+import org.jvnet.hk2.component.PostConstruct;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.annotations.Scoped;
+import org.jvnet.hk2.component.Singleton;
+import org.glassfish.external.probe.provider.StatsProviderManager;
+import org.glassfish.external.probe.provider.PluginPoint;
+
+/**
+ * Monitoring Count Example
+ * Bootstrap object for registering probe provider and listener
+ */
+@Service
+@Scoped(Singleton.class)
+public class ModuleBootStrap implements PostConstruct {
+
+    @Override
+    public void postConstruct() {
+        try {
+            StatsProviderManager.register("web-container",
+                    PluginPoint.APPLICATIONS, "myapp", new ModuleStatsTelemetry());
+        } catch (Exception e) {
+            System.out.println("Caught exception in postconstruct");
+            e.printStackTrace();
+        }
+    }
+}
+----
+
+[[GSACG00050]][[ghpvw]]
+Example 5-10 Listener Class
+
+This example shows how to perform the following tasks:
+
+* link:#ghpni[Creating Event Listeners]. The example shows the code of
+the `ModuleStatsTelemetry` listener class.
+* link:#ghptp[Representing a Component's Statistics in an Event Listener
+Class]. The example shows the code for representing the
+`countmbeancount` statistic.
+* link:#ghpml[Subscribing to Events From Event Provider Classes]. The
+example shows the code for subscribing to the following types of events
+from the `count` component:
+** `moduleCountIncrementEvent`
+** `moduleCountDecrementEvent`
+
+[source,java]
+----
+package org.glassfish.pluggability.monitoring;
+
+import org.glassfish.external.statistics.CountStatistic;
+import org.glassfish.external.statistics.impl.CountStatisticImpl;
+import org.glassfish.external.probe.provider.annotations.ProbeListener;
+import org.glassfish.external.probe.provider.annotations.ProbeParam;
+import org.glassfish.gmbal.ManagedAttribute;
+import org.glassfish.gmbal.ManagedObject;
+
+/**
+ * Monitoring counter example
+ * Telemtry object which listens to probe events and updates
+ * the monitoring stats
+ */
+@ManagedObject
+public class ModuleStatsTelemetry {
+
+    private CountStatisticImpl countMBeanCount = new CountStatisticImpl(
+            "CountMBeanCount", "count", "Number of MBeans");
+
+    @ManagedAttribute(id = "countmbeancount")
+    public CountStatistic getCountMBeanCount() {
+        return countMBeanCount;
+    }
+
+    @ProbeListener("count:example:countapp:moduleCountIncrementEvent")
+    public void moduleCountIncrementEvent(
+            @ProbeParam("count") Integer count) {
+        countMBeanCount.increment();
+    }
+
+    @ProbeListener("count:example:countapp:moduleCountDecrementEvent")
+    public void moduleCountDecrementEvent(
+            @ProbeParam("count") Integer count) {
+        countMBeanCount.decrement();
+    }
+}
+----
+
+[[GSACG00051]][[ghpuc]]
+Example 5-11 MBean Interface
+
+This example defines the interface for a simple standard MBean that has
+methods to increase and decrease a counter by 1.
+
+[source,java]
+----
+package com.example.count.monitoring;
+
+/**
+ * Monitoring counter example
+ * ModuleMBean interface
+ */
+public interface ModuleMBean {
+    public Integer getCount() ;
+    public void incrementCount() ;
+    public void decrementCount() ;
+}
+----
+
+[[GSACG00052]][[ghpwx]]
+Example 5-12 MBean Implementation
+
+This example illustrates how to send an event as explained in link:#ghprg[Sending an Event].
+The example shows code for sending events as follows:
+
+* The `moduleCountIncrementEvent` method is invoked in the body of the `incrementCount` method.
+* The `moduleCountDecrementEvent` method is invoked in the body of the `decrementCount` method.
+
+The methods `incrementCount` and `decrementCount` are invoked by an
+entity that is beyond the scope of this example, for example, JConsole.
+
+[source,java]
+----
+package org.glassfish.pluggability.monitoring;
+
+/**
+ * Monitoring counter example
+ * ModuleMBean implementation
+ */
+public class Module implements ModuleMBean {
+
+    private int k = 0;
+    private ModuleProbeProvider mpp = null;
+
+    @Override
+    public Integer getCount() {
+        return k;
+    }
+
+    @Override
+    public void incrementCount() {
+        k++;
+        if (mpp != null) {
+            mpp.moduleCountIncrementEvent(k);
+        }
+    }
+
+    @Override
+    public void decrementCount() {
+        k--;
+        if (mpp != null) {
+            mpp.moduleCountDecrementEvent(k);
+        }
+    }
+
+    void setProbeProvider(ModuleProbeProvider mpp) {
+        this.mpp = mpp;
+    }
+}
+----
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/extending-asadmin.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/extending-asadmin.adoc
new file mode 100644
index 0000000..dd29618
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/extending-asadmin.adoc
@@ -0,0 +1,1738 @@
+type=page
+status=published
+title=Extending the asadmin Utility
+next=adding-monitoring-capabilities.html
+prev=extending-the-admin-console.html
+~~~~~~
+
+= Extending the asadmin Utility
+
+[[GSACG00004]][[ghmrd]]
+
+
+[[extending-the-asadmin-utility]]
+== Extending the `asadmin` Utility
+
+The `asadmin` utility is a command-line tool for configuring and
+administering {productName}. Extending the `asadmin` utility enables
+you to provide administrative interfaces for an add-on component that
+are consistent with the interfaces of other {productName} components.
+A user can run `asadmin` subcommands either from a command prompt or
+from a script. For more information about the `asadmin` utility, see the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] man page.
+
+The following topics are addressed here:
+
+* link:#ghpuj[About the Administrative Command Infrastructure of {productName}]
+* link:#ghpwe[Adding an `asadmin` Subcommand]
+* link:#ghpwa[Adding Parameters to an `asadmin` Subcommand]
+* link:#gkygt[Making `asadmin` Subcommands Cluster-Aware]
+* link:#ghptw[Adding Message Text Strings to an `asadmin` Subcommand]
+* link:#ghpvn[Enabling an `asadmin` Subcommand to Run]
+* link:#ghpvq[Setting the Context of an `asadmin` Subcommand]
+* link:#ghpwn[Changing the Brand in the {productName} CLI]
+* link:#ghmza[Examples of Extending the `asadmin` Utility]
+* link:#gkzlq[Implementing Create, Delete, and List Commands Using
+Annotations]
+
+[[ghpuj]][[GSACG00105]][[about-the-administrative-command-infrastructure-of-glassfish-server]]
+
+=== About the Administrative Command Infrastructure of {productName}
+
+To enable multiple containers to be independently packaged and loaded,
+the administrative command infrastructure of {productName} provides
+the following features:
+
+* Location independence. Administration subcommands can be loaded from
+any add-on component that is known to {productName}.
+* Extensibility. Administrative subcommands that are available to
+{productName} are discovered on demand and not obtained from a preset
+list of subcommands.
+* Support for the HK2 architecture. Subcommands can use injection to
+express their dependencies, and extraction to provide results to a user.
+For more information, see link:writing-hk2-components.html#ghmna[Writing
+HK2 Components].
+
+[[ghpwe]][[GSACG00107]][[adding-an-asadmin-subcommand]]
+
+=== Adding an `asadmin` Subcommand
+
+An `asadmin` subcommand identifies the operation or task that a user is
+to perform. Adding an `asadmin` subcommand enables the user to perform
+these tasks and operations through the `asadmin` utility.
+
+The following topics are addressed here:
+
+* link:#ghrqj[Representing an `asadmin` Subcommand as a Java Class]
+* link:#ghrpm[Specifying the Name of an `asadmin` Subcommand]
+* link:#ghrng[Ensuring That an `AdminCommand` Implementation Is
+Stateless]
+* link:#ghrqx[Example of Adding an `asadmin` Subcommand]
+
+[[ghrqj]][[GSACG00194]][[representing-an-asadmin-subcommand-as-a-java-class]]
+
+==== Representing an `asadmin` Subcommand as a Java Class
+
+Each `asadmin` subcommand that you are adding must be represented as a
+Java class. To represent an `asadmin` subcommand as a Java class, write
+a Java class that implements the `org.glassfish.api.admin.AdminCommand`
+interface. Write one class for each subcommand that you are adding. Do
+not represent multiple `asadmin` subcommands in a single class.
+
+Annotate the declaration of your implementations of the `AdminCommand`
+interface with the `org.jvnet.hk2.annotations.Service` annotation. The
+`@Service` annotation ensures that the following requirements for your
+implementations are met:
+
+* The implementations are eligible for resource injection and resource extraction.
+* The implementations are location independent, provided that the
+component that contains them is made known to the {productName} runtime.
++
+For information about how to make a component known to the {productName} runtime, see
+link:packaging-integrating-delivering.html#ghmne[Integrating an Add-On Component With {productName}].
+
+[[ghrpm]][[GSACG00195]][[specifying-the-name-of-an-asadmin-subcommand]]
+
+==== Specifying the Name of an `asadmin` Subcommand
+
+To specify the name of the subcommand, set the `name` element of the
+`@Service` annotation to the name.
+
+
+[NOTE]
+====
+Subcommand names are case-sensitive.
+====
+
+
+Subcommands that are supplied in {productName} distributions
+typically create, delete, and list objects of a particular type. For
+consistency with the names of subcommands that are supplied in {productName} distributions, follow these conventions when specifying the name
+of a subcommand:
+
+* For subcommands that create an object of a particular type, use the name `create-`object`.`
+* For subcommands that delete an object of a particular type, use the name `delete-`object`.`
+* For subcommands that list all objects of a particular type, use the name `list-`objects`.`
+
+For example, {productName} provides the following subcommands for
+creating, deleting, and listing HTTP listeners:
+
+* `create-http-listener`
+* `delete-http-listener`
+* `list-http-listeners`
+
+You must also ensure that the name of your subcommand is unique.
+To obtain a complete list of the names of all `asadmin` subcommands that
+are installed, use the
+link:reference-manual/list-commands.html#GSRFM00154[`list-commands`] subcommand.
+For a complete list of `asadmin` subcommands that are supplied in
+{productName} distributions, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[ghrng]][[GSACG00196]][[ensuring-that-an-admincommand-implementation-is-stateless]]
+
+==== Ensuring That an `AdminCommand` Implementation Is Stateless
+
+To enable multiple clients to run a subcommand simultaneously, ensure
+that the implementation of the `AdminCommand` interface for the
+subcommand is stateless. To ensure that the implementation of the
+`AdminCommand` interface is stateless, annotate the declaration of your
+implementation with the `org.jvnet.hk2.annotations.Scoped` annotation.
+In the `@Scoped` annotation, set the scope as follows:
+
+* To instantiate the subcommand for each lookup, set the scope to `PerLookup.class`.
+* To instantiate the subcommand only once for each session, set the scope to `Singleton`.
+
+[[ghrqx]][[GSACG00197]][[example-of-adding-an-asadmin-subcommand]]
+
+==== Example of Adding an `asadmin` Subcommand
+
+[[GSACG00034]][[ghrqq]]
+Example 4-1 Adding an `asadmin` Subcommand
+
+This example shows the declaration of the class `CreateMycontainer` that
+represents an `asadmin` subcommand that is named `create-mycontainer`.
+The subcommand is instantiated for each lookup.
+
+[source,java]
+----
+package com.example.mycontainer;
+
+import org.glassfish.api.admin.AdminCommand;
+...
+import org.jvnet.hk2.annotations.Service;
+...
+import org.jvnet.hk2.annotations.Scoped;
+import org.jvnet.hk2.component.PerLookup;
+
+/**
+ * Sample subcommand
+ */
+@Service(name="create-mycontainer")
+@Scoped(PerLookup.class)
+public Class CreateMycontainer implements AdminCommand {
+…
+}
+----
+
+[[ghpwa]][[GSACG00108]][[adding-parameters-to-an-asadmin-subcommand]]
+
+=== Adding Parameters to an `asadmin` Subcommand
+
+The parameters of an `asadmin` subcommand are the options and operands
+of the subcommand.
+
+* Options control how the `asadmin` utility performs a subcommand.
+* Operands are the objects on which a subcommand acts. For example, the
+operand of the link:reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand is the domain
+that is to be started.
+
+The following topics are addressed here:
+
+* link:#ghpvh[Representing a Parameter of an `asadmin` Subcommand]
+* link:#ghptx[Identifying a Parameter of an `asadmin` Subcommand]
+* link:#ghpxp[Specifying Whether a Parameter Is an Option or an Operand]
+* link:#ghpxj[Specifying the Name of an Option]
+* link:#ghpxl[Specifying the Acceptable Values of a Parameter]
+* link:#ghrgt[Specifying the Default Value of a Parameter]
+* link:#ghpuk[Specifying Whether a Parameter Is Required or Optional]
+* link:#CDCFAJDG[Specifying Whether a Parameter Can Be Used Multiple
+Times on the Command Line]
+* link:#ghpxd[Example of Adding Parameters to an `asadmin` Subcommand]
+
+[[ghpvh]][[GSACG00198]][[representing-a-parameter-of-an-asadmin-subcommand]]
+
+==== Representing a Parameter of an `asadmin` Subcommand
+
+Represent each parameter of a subcommand in your implementation as a
+field or as the property of a JavaBeans specification setter method. Use
+the property of a setter method for the following reasons:
+
+* To provide data encapsulation for the parameter
+* To add code for validating the parameter before the property is set
+
+[[ghptx]][[GSACG00199]][[identifying-a-parameter-of-an-asadmin-subcommand]]
+
+==== Identifying a Parameter of an `asadmin` Subcommand
+
+Identifying a parameter of an `asadmin` subcommand enables {productName} to perform the following operations at runtime on the parameter:
+
+* Validation. The {productName} determines whether all required
+parameters are specified and returns an error if any required parameter
+is omitted.
+* Injection. Before the subcommand runs, the {productName} injects
+each parameter into the required field or method before the subcommand
+is run.
+* Usage message generation. The {productName} uses reflection to
+obtain the list of parameters for a subcommand and to generate the usage
+message from this list.
+* Localized string display. If the subcommand supports
+internationalization and if localized strings are available, the
+{productName} can automatically obtain the localized strings for a
+subcommand and display them to the user.
+
+To identify a parameter of a subcommand, annotate the declaration of the
+item that is associated with the parameter with the
+`org.glassfish.api.Param` annotation. This item is either the field or
+setter method that is associated with the parameter.
+
+To specify the properties of the parameter, use the elements of the
+`@Param` annotation as explained in the sections that follow.
+
+[[ghpxp]][[GSACG00200]][[specifying-whether-a-parameter-is-an-option-or-an-operand]]
+
+==== Specifying Whether a Parameter Is an Option or an Operand
+
+Whether a parameter is an option or an operand determines how a user
+must specify the parameter when running the subcommand:
+
+* If the parameter is an option, the user must specify the option with
+the parameter name.
+* If the parameter is an operand, the user may omit the parameter name.
+
+To specify whether a parameter is an option or an operand, set the
+`primary` element of the `@Param` annotation as follows:
+
+* If the parameter is an option, set the `primary` element to `false`.
+This value is the default.
+* If the parameter is an operand, set the `primary` element to `true`.
+
+[[ghpxj]][[GSACG00201]][[specifying-the-name-of-an-option]]
+
+==== Specifying the Name of an Option
+
+The name of an option is the name that a user must type on the command
+line to specify the option when running the subcommand.
+
+The name of each option that you add in your implementation of an
+`asadmin` subcommand can have a long form and a short form. When running
+the subcommand, the user specifies the long form and the short form as
+follows:
+
+* The short form of an option name has a single dash (`-`) followed by a
+single character.
+* The long form of an option name has two dashes (`--`) followed by an
+option word.
+
+For example, the short form and the long form of the name of the option
+for specifying terse output are as follows:
+
+* Short form: `-m`
+* Long form: `--monitor`
+
+
+[NOTE]
+====
+Option names are case-sensitive.
+====
+
+
+[[ghpvy]][[GSACG00163]][[specifying-the-long-form-of-an-option-name]]
+
+===== Specifying the Long Form of an Option Name
+
+To specify the long form of an option name, set the `name` element of
+the `@Param` annotation to a string that specifies the name. If you do
+not set this element, the default name depends on how you represent the
+option.
+
+* If you represent the option as a field, the default name is the field
+name.
+* If you represent the option as the property of a JavaBeans
+specification setter method, the default name is the property name from
+the setter method name. For example, if the setter method `setPassword`
+is associated with an option, the property name and the option name are
+both `password`.
+
+[[sthref5]][[specifying-the-short-form-of-an-option-name]]
+
+===== Specifying the Short Form of an Option Name
+
+[[ghpvi]]
+
+To specify the short form of an option name, set the `shortName` element
+of the `@Param` annotation to a single character that specifies the
+short form of the parameter. The user can specify this character instead
+of the full parameter name, for example `-m` instead of `--monitor`. If
+you do not set this element, the option has no short form.
+
+[[ghpxl]][[GSACG00202]][[specifying-the-acceptable-values-of-a-parameter]]
+
+==== Specifying the Acceptable Values of a Parameter
+
+When a user runs the subcommand, the {productName} validates option
+arguments and operands against the acceptable values that you specify in
+your implementation.
+
+To specify the acceptable values of a parameter, set the
+`acceptableValues` element of the `@Param` annotation to a string that
+contains a comma-separated list of acceptable values. If you do not set
+this element, any string of characters is acceptable.
+
+[[ghrgt]][[GSACG00203]][[specifying-the-default-value-of-a-parameter]]
+
+==== Specifying the Default Value of a Parameter
+
+The default value of a parameter is the value that is applied if a user
+omits the parameter when running the subcommand.
+
+To specify the default value of a parameter, set the `defaultValue`
+element of the `@Param` annotation to a string that contains the default
+value. You can also compute the default value dynamically by extending
+the `ParamDefaultCalculator` class and setting the `defaultCalculator`
+element of the `@Param` annotation to this class. If these elements are
+not set, the parameter has no default value.
+
+[[ghpuk]][[GSACG00204]][[specifying-whether-a-parameter-is-required-or-optional]]
+
+==== Specifying Whether a Parameter Is Required or Optional
+
+Whether a parameter is required or optional determines how a subcommand
+responds if a user omits the parameter when running the subcommand:
+
+* If the parameter is required, the subcommand returns an error.
+* If the parameter is optional, the subcommand runs successfully.
+
+To specify whether a parameter is optional or required, set the
+`optional` element of the `@Param` annotation as follows:
+
+* If the parameter is required, set the `optional` element to `false`.
+This value is the default.
+* If the parameter is optional, set the `optional` element to `true`.
+
+[[CDCFAJDG]][[specifying-whether-a-parameter-can-be-used-multiple-times-on-the-command-line]]
+
+Specifying Whether a Parameter Can Be Used Multiple Times on the Command
+==== Line
+
+By default, each parameter can be used once on the command line. To use
+the parameter multiple times, set the `multiple` element of the `@Param`
+annotation to `true`. The type of the annotated parameter must be an
+array.
+
+[[ghpxd]][[GSACG00205]][[example-of-adding-parameters-to-an-asadmin-subcommand]]
+
+==== Example of Adding Parameters to an `asadmin` Subcommand
+
+[[GSACG00035]][[ghpuh]]
+Example 4-2 Adding Parameters to an `asadmin` Subcommand
+
+This example shows the code for adding parameters to an `asadmin`
+subcommand with the properties as shown in the table.
+
+|===
+|Name |Represented As |Acceptable Values |Default Value |Optional or
+Required |Short Name |Option or Operand
+|`--originator` |A field that is named `originator` |Any character
+string |None defined |Required |None |Option
+
+|`--description` |A field that is named `mycontainerDescription` |Any
+character string |None defined |Optional |None |Option
+
+|`--enabled` |A field that is named `enabled` |`true` or `false`
+|`false` |Optional |None |Option
+
+|`--containername` |A field that is named `containername` |Any character
+string |None defined |Required |None |Operand
+|===
+
+
+[source,java]
+----
+...
+import org.glassfish.api.Param;
+...
+{
+//…
+    @Param
+    String originator;
+
+    @Param(name="description", optional=true)
+    //…
+    String mycontainerDescription
+
+    @Param (acceptableValues="true,false", defaultValue="false", optional=true)
+    String enabled
+
+    @Param(primary=true)
+    String containername;
+//…
+}
+----
+
+[[gkygt]][[GSACG00109]][[making-asadmin-subcommands-cluster-aware]]
+
+=== Making `asadmin` Subcommands Cluster-Aware
+
+The {productName} `asadmin` command framework provides support for
+making `asadmin` subcommands work properly in a clustered environment or
+with standalone server instances. A command that changes a configuration
+is first executed on the domain administration server (DAS) and then
+executed on each of the server instances affected by the change.
+Annotations provided by the framework determine the instances on which
+the command should be replicated and executed. Commands that do not
+change a configuration need not be executed on the DAS at all, but only
+on the necessary instances. The framework provides support for
+collecting the output from the instances and sending a report back to
+the user.
+
+Subcommands in a multi-instance environment can accept a `--target`
+option to specify the cluster or instance on which the command acts.
+From within the command, the `Target` utility allows the command to
+determine information about where it is running. For some commands, it
+may be desirable to have a main command that runs on the DAS and
+supplemental preprocessing or postprocessing commands that run on the
+instances.
+
+The following topics are addressed here:
+
+* link:#gkyjk[Specifying Allowed Targets]
+* link:#gkykm[The `Target` Utility]
+* link:#gkyfv[Specifying `asadmin` Subcommand Execution]
+* link:#gkyjs[Subcommand Preprocessing and Postprocessing]
+* link:#gkyit[Running a Command from Another Command]
+
+[[gkyjk]][[GSACG00206]][[specifying-allowed-targets]]
+
+==== Specifying Allowed Targets
+
+When you define a `--target` option by using the `@Param` annotation in
+the `org.glassfish.api` package, possible targets are as follows:
+
+* `domain` — The entire domain
+* `server` — The domain administration server, or DAS
+* cluster — A homogeneous set of server instances that function as a
+unit
+* standalone instance — A server instance that isn't part of a cluster
+* clustered instance — A server instance that is part of a cluster
+* config — A configuration for a cluster or standalone server instance
+
+These possible targets are represented by the following `CommandTarget`
+elements of the `@TargetType` annotation in the
+`org.glassfish.config.support` package:
+
+* `CommandTarget.DOMAIN`
+* `CommandTarget.DAS`
+* `CommandTarget.CLUSTER`
+* `CommandTarget.STANDALONE_SERVER`
+* `CommandTarget.CLUSTERED_INSTANCE`
+* `CommandTarget.CONFIG`
+
+By default, the allowed targets are `server` (the DAS), standalone
+server instances, clusters, and configurations. Not specifying a
+`@TargetType` annotation is equivalent to specifying the following
+`@TargetType` annotation:
+
+[source,java]
+----
+@TargetType(CommandTarget.DAS,CommandTarget.STANDALONE_SERVER,CommandTarget.CLUSTER,CommandTarget.CONFIG)
+----
+
+Subcommands that support other combinations of targets must specify
+`@TargetType` annotations. For example, the `create-http-lb` subcommand
+supports only standalone server instance and cluster targets. Its
+`@TargetType` annotation is as follows:
+
+[source,java]
+----
+@TargetType(CommandTarget.STANDALONE_SERVER,CommandTarget.CLUSTER)
+----
+
+Most subcommands do not act on server instances that are part of a
+cluster. This ensures that all server instances in a cluster remain
+synchronized. Thus, the `CommandTarget.CLUSTERED_INSTANCE` element of
+the `@TargetType` annotation is rarely used.
+
+An example exception is the `enable` subcommand. To perform a rolling
+upgrade of an application deployed to a cluster, you must be able to
+enable the new application (which automatically disables the old) on one
+clustered instance at a time. The `@TargetType` annotation for the
+`enable` subcommand is as follows, all on one line:
+
+[source,java]
+----
+@TargetType(CommandTarget.DAS,CommandTarget.STANDALONE_INSTANCE,CommandTarget.CLUSTER,
+CommandTarget.CLUSTERED_INSTANCE)
+----
+
+Note that the `CommandTarget.CLUSTERED_INSTANCE` element is specified.
+
+The target name specified in the command line is injected into the
+subcommand implementation if the following annotation is present:
+
+[source,java]
+----
+@Param(optional=true,defaultValue=SystemPropertyConstants.DEFAULT_SERVER_INSTANCE_NAME)
+String target;
+----
+
+[[gkykm]][[GSACG00207]][[the-target-utility]]
+
+==== The `Target` Utility
+
+The `Target` utility is a service, present in the `internal-api` module,
+`org.glassfish.internal.api` package, which a command implementation can
+obtain by using the following annotation:
+
+[source,java]
+----
+@Inject Target targetUtil;
+----
+
+You can use this utility to avoid writing boiler plate code for actions
+such as getting the list of server instances for a cluster or checking
+if a server instance is part of a cluster. For example, here is an
+example of using the utility to obtain the configuration for a target
+cluster or server instance:
+
+[source,java]
+----
+Config c = targetUtil.getConfig(target);
+----
+
+The `Target` utility is packaged in the
+as-install``/modules/internal-api.jar`` file. Its methods are documented
+with comments.
+
+[[gkyfv]][[GSACG00208]][[specifying-asadmin-subcommand-execution]]
+
+==== Specifying `asadmin` Subcommand Execution
+
+By default, all `asadmin` subcommands are automatically replicated and
+run on the DAS and all {productName} instances specified in the
+`--target` option. To run a subcommand only on the DAS, use the
+following `@ExecuteOn` annotation in the `org.glassfish.api.admin` package:
+
+[source,java]
+----
+@ExecuteOn(RuntimeType.DAS)
+----
+
+The `stop-domain` subcommand and subcommands that list information are
+examples of subcommands that execute only on the DAS.
+
+To run a subcommand only on applicable server instances, use the
+following `@ExecuteOn` annotation:
+
+[source,java]
+----
+@ExecuteOn(RuntimeType.INSTANCE)
+----
+
+Not specifying an `@ExecuteOn` annotation is equivalent to specifying
+the following `@ExecuteOn` annotation:
+
+[source,java]
+----
+@ExecuteOn(RuntimeType.DAS,RuntimeType.INSTANCE)
+----
+
+In addition to `RuntimeType`, you can specify the following additional
+elements with the `@ExecuteOn` annotation:
+
+* `ifFailure` — By default, if errors occur during execution of a
+subcommand on a server instance, command execution is considered to have
+failed and further execution is stopped. However, you can choose to
+ignore the failure or warn the user rather than stopping further command
+execution. Specify the `ifFailure` element and set it to
+`FailurePolicy.Ignore` or `FailurePolicy.Warn`. For example:
++
+[source,java]
+----
+@ExecuteOn(value={RuntimeType.DAS}, ifFailure=FailurePolicy.Warn)
+----
+* `ifOffline` — By default, if a server instance is found to be offline
+during the command replication process, command execution is considered
+to have failed and further execution is stopped. However, you can choose
+to ignore the failure or warn the user rather than stopping further
+command execution. Specify the `ifOffline` element and set it to
+`FailurePolicy.Ignore` or `FailurePolicy.Warn`. For example:
++
+[source,java]
+----
+@ExecuteOn(value={RuntimeType.DAS}, ifOffline=FailurePolicy.Ignore)
+----
+
+[[gkyjs]][[GSACG00209]][[subcommand-preprocessing-and-postprocessing]]
+
+==== Subcommand Preprocessing and Postprocessing
+
+Some `asadmin` subcommands may require preprocessing or postprocessing.
+For example, after an application is deployed to the DAS, references are
+created in all applicable server instances, which synchronize with the
+DAS. As another example, Message Queue or load balancer settings may
+have to be reconfigured whenever a server instance is added to a
+cluster.
+
+For such cases, the command replication framework provides the
+`@Supplemental` annotation (in the `org.glassfish.api.admin` package).
+An implementation must use the `value` element of the `@Supplemental`
+annotation to express the supplemented command. This value is the name
+of the command as defined by the supplemented command's `@Service`
+annotation (in the `org.jvnet.hk2.annotations` package).
+
+For example, the `deploy` subcommand requires postprocessing. The
+deployment command implementation looks like this:
+
+[source,java]
+----
+@Service(name="deploy")
+@ExecuteOn(RuntimeType.DAS)
+public DeployCommand implements AdminCommand {
+// Do Actual Deployment
+}
+----
+
+A supplemental command that is run after every successful deployment
+looks like this:
+
+[source,java]
+----
+@Service(name="DeploymentSupplementalCommand")
+@Supplemental("deploy")
+@ExecuteOn(RuntimeType.INSTANCE)
+public DeploymentSupplementalCommand implements AdminCommand {
+// Do logic that happens after deployment has been done
+}
+----
+
+As another example, a subcommand to create a local server instance might
+look like this:
+
+[source,java]
+----
+@Service(name = "create-local-instance")
+@Scoped(PerLookup.class)
+public final class CreateLocalInstanceCommand implements AdminCommand {
+// Do local instance creation
+}
+----
+
+A supplemental command to change Message Queue or load balancer settings
+after local instance creation might look like this:
+
+[source,java]
+----
+@Service(name="CreateLocalInstanceSupplementalCommand")
+@Supplemental("create-local-instance")
+public CreateLocalInstanceSupplementalCommand implements AdminCommand {
+// Change MQ/LB properties here
+}
+----
+
+A supplemental command implements AdminCommand, thus it can use the
+`@Param` annotation and expect the corresponding `asadmin` command
+parameters to be injected at runtime. The parameter values available for
+injection are the same ones provided for the original command with which
+the supplemental command is associated. For example, the
+`DeploymentSupplementalCommand` has access to the parameter values
+available to the `DeployCommand` invocation.
+
+An `asadmin` subcommand can be supplemented with multiple supplemental
+commands. In this case, all supplemental commands are run after
+completion of the main command but without any guarantee of the order in
+which they run.
+
+To specify that a supplemental command is run before the main command,
+set the `on` element of the `@Supplemental` annotation to
+`Supplemental.Timing.Before`. For example:
+
+[source,java]
+----
+@Supplemental(value="mycommand", on=Supplemental.Timing.Before)
+----
+
+Supplemental commands can use the `@ExecuteOn` annotation as described
+in link:#gkyfv[Specifying `asadmin` Subcommand Execution].
+
+[[gkyit]][[GSACG00210]][[running-a-command-from-another-command]]
+
+==== Running a Command from Another Command
+
+An `asadmin` subcommand or supplemental command might need to run
+another subcommand. For example, a subcommand running on the DAS might
+need to run a different subcommand on one or more server instances. Such
+invocations might use the `ClusterExecutor` class (in the
+`org.glassfish.api.admin` package), which accepts a `ParameterMap`, to
+pass parameters and their values to the invoked command.
+
+The `ParameterMapExtractor` utility is a service, present in the
+`common-util` module, `org.glassfish.common.util.admin` package, which
+creates a new `ParameterMap` populated using the parameters and values
+of another `AdminCommand` that has already been injected.
+
+To list parameter names you want excluded from the `ParameterMap`, pass
+the following:
+
+[source,java]
+----
+Set<String>
+----
+
+This is optional.
+
+[[ghptw]][[GSACG00110]][[adding-message-text-strings-to-an-asadmin-subcommand]]
+
+=== Adding Message Text Strings to an `asadmin` Subcommand
+
+A message text string provides useful information to the user about an
+`asadmin` subcommand or a parameter.
+
+To provide internationalization support for the text string of a
+subcommand or parameter, annotate the declaration of the subcommand or
+parameter with the `org.glassfish.api.I18n` annotation. The `@I18n`
+annotation identifies the resource from the resource bundle that is
+associated with your implementation.
+
+To add message text strings to an `asadmin` subcommand, create a plain
+text file that is named `LocalStrings.properties` to contain the
+strings. Define each string on a separate line of the file as follows:
+
+[source]
+----
+key=string
+----
+
+key::
+  A key that maps the string to a subcommand or a parameter. The format
+  to use for key depends on the target to which the key applies and
+  whether the target is annotated with the `@I18n` annotation. See the
+  following table.
++
+[width="100%",cols="<36%,<64%",options="header",]
+|===
+|Target |Format
+|Subcommand or parameter with the `@I18n` annotation
+|`subcommand-name.command.resource-name`
+
+|Subcommand without the `@I18n` annotation
+|`subcommand-name.command`
+
+|Parameter without the `@I18n` annotation
+|`subcommand-name.command.param-name`
+|===
++
+The replaceable parts of these formats are as follows:
++
+  subcommand-name;;
+    The name of the subcommand.
+  resource-name;;
+    The name of the resource that is specified in the`@I18n` annotation.
+  param-name;;
+    The name of the parameter.
+string::
+  A string without quotes that contains the text of the message.
+
+
+[NOTE]
+====
+To display the message strings to users, you must provide code in your
+implementation of the `execute` method to display the text. For more
+information about implementing the `execute` method, see
+link:#ghpvn[Enabling an `asadmin` Subcommand to Run].
+====
+
+[[GSACG00036]][[ghpvm]]
+Example 4-3 Adding Message Strings to an `asadmin` Subcommand
+
+This example shows the code for adding message strings to the
+`create-mycontainer` subcommand as follows:
+
+* The `create-mycontainer` subcommand is associated with the message
+`Creates a custom container`. No internationalization support is
+provided for this message.
+* The `--originator` parameter is associated with the message
+`The originator of the container`. No internationalization support is
+provided for this message.
+* The `--description` parameter is associated with the message that is
+contained in the resource `mydesc`, for which internationalization is
+provided. This resource contains the message text
+`A description of the container`.
+* The `--enabled` parameter is associated with the message
+`Whether the container is enabled or disabled`.
+No internationalization support is provided for this message.
+* The `--containername` parameter is associated with the message
+`The container name`. No internationalization support is provided for this message.
+
+The addition of the parameters `originator`, `description`, `enabled`
+and `containername` to the subcommand is shown in link:#ghpuh[Example 4-2].
+
+[source,java]
+----
+package com.example.mycontainer;
+
+import org.glassfish.api.admin.AdminCommand;
+import org.glassfish.api.I18n;
+import org.glassfish.api.Param;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.annotations.Scoped;
+import org.jvnet.hk2.component.PerLookup;
+//...
+
+/**
+ * Sample subcommand
+ */
+@Service(name="create-mycontainer")
+@Scoped(PerLookup.class)
+public Class CreateMycontainer implements AdminCommand {
+
+    @Param
+    String originator;
+
+    @Param(name="description", optional=true)
+    @I18n("mydesc")
+    String mycontainerDescription
+
+    @Param (acceptableValues="true,false", defaultValue="false", optional=true)
+    String enabled
+
+    @Param(primary=true)
+    String containername;
+//...
+}
+----
+
+The following message text strings are defined in the file
+`LocalStrings.properties` for use by the subcommand:
+
+[source]
+----
+create-mycontainer.command=Creates a custom container
+create-mycontainer.command.originator=The originator of the container
+create-mycontainer.command.mydesc=A description of the container
+create-mycontainer.command.enabled=Whether the container is enabled or disabled
+create-mycontainer.command.containername=The container name
+----
+
+[[ghpvn]][[GSACG00111]][[enabling-an-asadmin-subcommand-to-run]]
+
+=== Enabling an `asadmin` Subcommand to Run
+
+To enable an `asadmin` subcommand to run, implement the `execute` method
+in your implementation of the `AdminCommand` interface. The declaration
+of the `execute` method in your implementation must be as follows.
+
+[source,java]
+----
+    public void execute(AdminCommandContext context);
+----
+
+Pass each parameter of the subcommand as a property to your
+implementation of the `execute` method. Set the key of the property to
+the parameter name and set the value of the property to the parameter's
+value.
+
+In the body of the `execute` method, provide the code for performing the
+operation that the command was designed to perform. For examples, see
+link:#ghrsi[Example 4-6] and link:#gkbdf[Example 4-7].
+
+[[ghpvq]][[GSACG00112]][[setting-the-context-of-an-asadmin-subcommand]]
+
+=== Setting the Context of an `asadmin` Subcommand
+
+The `org.glassfish.api.admin.AdminCommandContext` class provides the
+following services to an `asadmin` subcommand:
+
+* Access to the parameters of the subcommand
+* Logging
+* Reporting
+
+To set the context of an `asadmin` subcommand, pass an
+`AdminCommandContext` object to the `execute` method of your
+implementation.
+
+[[ghpwn]][[GSACG00113]][[changing-the-brand-in-the-glassfish-server-cli]]
+
+=== Changing the Brand in the {productName} CLI
+
+The brand in the {productName} command-line interface (CLI) consists
+of the product name and release information that are displayed in the
+following locations:
+
+* In the string that the link:reference-manual/version.html#GSRFM00261[`version`] subcommand displays
+* In each entry in the `server.log` file
+
+If you are incorporating {productName} into a new product with an
+external vendor's own brand name, change the brand in the {productName} CLI.
+
+To change the brand in the {productName} CLI, create an OSGi fragment
+bundle that contains a plain text file that is named
+`src/main/resources/BrandingVersion.properties`.
+
+In the `BrandingVersion.properties` file, define the following
+keyword-value pairs:
+
+[source]
+----
+product_name=product-name
+abbrev_product_name=abbrev-product-name
+major_version=major-version
+minor_version=minor-version
+build_id=build-id
+version_prefix=version-prefix
+version_suffix=version-suffix
+----
+
+Define each keyword-value pair on a separate line of the file. Each
+value is a text string without quotes.
+
+The meaning of each keyword-value pair is as follows:
+
+`product_name=`product-name::
+  Specifies the full product name without any release information, for
+  example,
+  `name="ProductNameFullPlain" content="{productName}"`.
+`abbrev_product_name=`abbrev-product-name::
+  Specifies an abbreviated form of the product name without any release
+  information, for example,
+  `name="ProductNamePlain" content="{productName}"`.
+`major_version=`major-version::
+  Returns the product major version, for example, `6`
+`minor_version=`minor-version::
+  Specifies the product minor version, for example, `0`.
+`build_id=`build-id::
+  Specifies the build version, for example, `build 17`.
+`version_prefix=`version-prefix::
+  Specifies a prefix for the product version, for example, `v`.
+`version_suffix=`version-suffix::
+  Specifies a suffix for the product version, for example, `Beta`.
+
+[[GSACG00037]][[ghrfh]]
+Example 4-4 `BrandingVersion.properties` File for Changing the Brand in
+the {productName} CLI
+
+This example shows the content of the `BrandingVersion.properties` for
+defining the product name and release information of {productName} 6.0.0, build 17. The abbreviated product name is
+`glassfish-server`.
+
+[source]
+----
+product_name=Eclipse GlassFish
+abbrev_product_name=glassfish-server
+major_version=6
+minor_version=0.0
+build_id=build 17
+----
+
+To enable the display of OEM-specific information, the following
+properties might also be required:
+
+[source]
+----
+LEGAL_COPYRIGHT                "Copyright 2020"
+LEGAL_COMPANY_NAME             "Eclipse Foundation"
+LEGAL_RIGHTS                   "All rights reserved."
+SIMPLE_COMPANY_NAME            "Eclipse"
+COMPANY_CONTACT_URL            "http://www.glassfish.org"
+PRODUCT_TRADEMARKS             "GlassFish is a trademark of the Eclipse Foundation"
+----
+
+[[ghmza]][[GSACG00114]][[examples-of-extending-the-asadmin-utility]]
+
+=== Examples of Extending the `asadmin` Utility
+
+[[GSACG00038]][[ghrnt]]
+Example 4-5 `asadmin` Subcommand With Empty `execute` Method
+
+This example shows a class that represents the `asadmin` subcommand
+`create-mycontainer`.
+
+The usage statement for this subcommand is as follows:
+
+[source]
+----
+asadmin create-mycontainer --originator any-character-string
+[--description any-character-string]
+[--enabled {true|false}] any-character-string
+----
+
+This subcommand uses injection to specify that a running domain is
+required.
+
+[source,java]
+----
+package com.example.mycontainer;
+
+import org.glassfish.api.admin.AdminCommand;
+import org.glassfish.api.admin.AdminCommandContext;
+import org.glassfish.api.I18n;
+import org.glassfish.api.Param;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.annotations.Inject;
+import org.jvnet.hk2.annotations.Scoped;
+import org.jvnet.hk2.component.PerLookup;
+
+/**
+ * Sample subcommand
+ */
+@Service(name="create-mycontainer")
+@Scoped(PerLookup.class)
+public Class CreateMycontainer implements AdminCommand {
+
+    @Inject
+    Domain domain;
+
+    @Param
+    String originator;
+
+    @Param(name="description", optional=true)
+    @I18n("mydesc")
+    String mycontainerDescription
+
+    @Param (acceptableValues="true,false", defaultValue="false", optional=true)
+    String enabled
+
+    @Param(primary=true)
+    String containername;
+
+    /**
+     * Executes the subcommand with the subcommand parameters passed as Properties
+     * where the keys are the paramter names and the values the parameter values
+     * @param context information
+     */
+    public void execute(AdminCommandContext context) {
+        // domain and originator are not null
+        // mycontainerDescription can be null.
+    }
+}
+----
+
+The following message text strings are defined in the file
+`LocalStrings.properties` for use by the subcommand:
+
+[source]
+----
+create-mycontainer.command=Creates a custom container
+create-mycontainer.command.originator=The originator of the container
+create-mycontainer.command.mydesc=A description of the container
+create-mycontainer.command.enabled=Whether the container is enabled or disabled
+create-mycontainer.command.containername=The container name
+----
+
+[[GSACG00039]][[ghrsi]]
+Example 4-6 `asadmin` Subcommand for Retrieving and Displaying Information
+
+This example shows a class that represents the `asadmin` subcommand
+`list-runtime-environment`. The subcommand determines the operating
+system or runtime information for {productName}.
+
+The usage statement for this subcommand is as follows:
+
+[source]
+----
+asadmin list-runtime-environment{runtime|os}
+----
+[source,java]
+----
+package com.example.env.cli;
+
+import org.glassfish.api.admin.AdminCommand;
+import org.glassfish.api.admin.AdminCommandContext;
+import org.glassfish.api.ActionReport;
+import org.glassfish.api.I18n;
+import org.glassfish.api.ActionReport.ExitCode;
+import org.glassfish.api.Param;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.annotations.Inject;
+import org.jvnet.hk2.annotations.Scoped;
+import org.jvnet.hk2.component.PerLookup;
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.OperatingSystemMXBean;
+import java.lang.management.RuntimeMXBean;
+
+/**
+ * Demos asadmin CLI extension
+ */
+@Service(name="list-runtime-environment")
+@Scoped(PerLookup.class)
+public class ListRuntimeEnvironmentCommand implements AdminCommand {
+
+    // this value can be either runtime or os for our demo
+    @Param(primary=true)
+    String inParam;
+
+    public void execute(AdminCommandContext context) {
+
+        ActionReport report = context.getActionReport();
+        report.setActionExitCode(ExitCode.SUCCESS);
+
+        // If the inParam is 'os' then this subcommand returns operating system
+        // info and if the inParam is 'runtime' then it returns runtime info.
+        // Both of the above are based on mxbeans.
+
+        if ("os".equals(inParam)) {
+            OperatingSystemMXBean osmb = ManagementFactory.getOperatingSystemMXBean();
+            report.setMessage("Your machine operating system name = " + osmb.getName());
+        } else if ("runtime".equals(inParam)) {
+            RuntimeMXBean rtmb = ManagementFactory.getRuntimeMXBean();
+            report.setMessage("Your JVM name = " + rtmb.getVmName());
+        } else {
+            report.setActionExitCode(ExitCode.FAILURE);
+            report.setMessage("operand should be either 'os' or 'runtime'");
+        }
+    }
+}
+----
+
+[[GSACG00040]][[gkbdf]]
+Example 4-7 `asadmin` Subcommand for Updating Configuration Data
+
+This example shows a class that represents the `asadmin` subcommand
+`configure-greeter-container`. The subcommand performs a transaction to
+update configuration data for a container component. For more
+information about such transactions, see
+link:adding-configuration-data.html#gjrcz[Creating a Transaction to
+Update Configuration Data].
+
+The usage statement for this subcommand is as follows:
+
+[source]
+----
+asadmin configure-greeter-container --instances instances [--language language] [--style style]
+----
+
+The acceptable values and default value of each option of the subcommand
+are shown in the following table. The table also indicates whether each
+option is optional or required.
+
+[width="100%",cols="<25%,<25%,<25%,<25%",options="header",]
+|===
+|Option |Acceptable Values |Default value |Optional or Required
+|`--instances` |An integer in the range 1-10 |5 |Required
+|`--language` |`english`, `norsk`, or `francais` |`norsk` |Optional
+|`--style` |`formal`, `casual`, or `expansive` |`formal` |Optional
+|===
+
+
+Code for the container component is shown in
+link:adding-container-capabilities.html#gkane[Example of Adding Container
+Capabilities].
+
+Code that defines the configuration data for the container component is
+shown in link:adding-configuration-data.html#gkaal[Examples of Adding
+Configuration Data for a Component].
+
+[source,java]
+----
+package org.glassfish.examples.extension.greeter.config;
+
+import org.glassfish.api.admin.AdminCommand;
+import org.glassfish.api.admin.AdminCommandContext;
+import org.glassfish.api.Param;
+import org.jvnet.hk2.annotations.Service;
+import org.jvnet.hk2.annotations.Inject;
+import org.jvnet.hk2.config.Transactions;
+import org.jvnet.hk2.config.ConfigSupport;
+import org.jvnet.hk2.config.SingleConfigCode;
+import org.jvnet.hk2.config.TransactionFailure;
+
+import java.beans.PropertyVetoException;
+
+@Service(name = "configure-greeter-container")
+public class ConfigureGreeterContainerCommand implements AdminCommand {
+
+    @Param(acceptableValues = "1,2,3,4,5,6,7,8,9,10", defaultValue = "5")
+    String instances;
+    @Param(acceptableValues = "english,norsk,francais", defaultValue = "norsk",
+    optional = true)
+    String language;
+    @Param(acceptableValues = "formal,casual,expansive", defaultValue = "formal",
+    optional = true)
+    String style;
+    @Inject
+    GreeterContainerConfig config;
+
+    public void execute(AdminCommandContext adminCommandContext) {
+        try {
+            ConfigSupport.apply(new SingleConfigCode<GreeterContainerConfig>() {
+
+                public Object run(GreeterContainerConfig greeterContainerConfig)
+                        throws PropertyVetoException, TransactionFailure {
+                    greeterContainerConfig.setNumberOfInstances(instances);
+                    greeterContainerConfig.setLanguage(language);
+                    greeterContainerConfig.setStyle(style);
+                    return null;
+                }
+            }, config);
+        } catch (TransactionFailure e) {
+        }
+
+    }
+}
+----
+
+[[gkzlq]][[GSACG00115]][[implementing-create-delete-and-list-commands-using-annotations]]
+
+=== Implementing Create, Delete, and List Commands Using Annotations
+
+Many `asadmin` subcommands simply create, delete, or list objects in the
+configuration. Such code is repetitive to write and error prone. To
+simplify the writing of these `asadmin` commands, {productName}
+supports annotations that can create, delete, and list configuration
+objects from a command invocation. Unless attributes or properties are
+set to non-default values or extra actions are required, no writing of
+code is needed.
+
+The following topics are addressed here:
+
+* link:#gkzkc[Command Patterns]
+* link:#gkzle[Resolvers]
+* link:#gkzoy[The `@Create` Annotation]
+* link:#gkzoo[The `@Delete` Annotation]
+* link:#gkzpl[The `@Listing` Annotation]
+* link:#gkznf[Create Command Decorators]
+* link:#gkznx[Delete Command Decorators]
+* link:#gkzmu[Specifying Command Execution]
+* link:#gkznd[Using Multiple Command Annotations]
+
+[[gkzkc]][[GSACG00211]][[command-patterns]]
+
+==== Command Patterns
+
+Create command pattern. The most basic create commands are implemented
+in the following pattern:
+
+1. Retrieve the parent configuration object instance to which the child
+will be added. For example, the parent could be a `Clusters` object and
+the child a `Cluster` object.
+
+2. Start a transaction on the parent instance.
+
+3. Create the child configuration object instance.
+
+4. Set the attributes and properties of the newly created child instance.
+
+5. Add the child to the parent using one of the following accessor
+methods:
++
+[source,java]
+----
+void setChild(ChildType child)
+----
+Used when there can be zero or one children of a single type associated
+with one parent instance.
++
+[source,java]
+----
+List<ChildType> getChildren()
+----
+Used when there can be zero or more children of a single type associated
+with one parent instance.
+You cannot retrieve a set of children of the same type from the same
+parent using two different accessor methods.
+
+6. Commit the transaction.
+
+A generic create command implementation can do most of these tasks if
+the following information is provided:
+
+* A way to resolve the identity of the parent instance.
+* The type of the child instance.
+* A mapping between command options and child attributes.
+* The accessor method for adding the child to the parent.
+
+Delete command pattern. The most basic delete commands are implemented
+in the following pattern:
+
+1. Retrieve the configuration object instance to be deleted.
+2. Start a transaction on the parent instance.
+3. Delete the child by removing it from the list or calling `setXXX(null)`.
+4. Commit the transaction.
+
+A generic delete command implementation can do most of these tasks if
+the following information is provided:
+
+* A way to resolve the identity of the child instance.
+* The accessor method for deleting the child.
+
+List command pattern. The most basic list commands simply retrieve all
+configuration object instances of a given type.
+
+[[gkzle]][[GSACG00212]][[resolvers]]
+
+==== Resolvers
+
+A resolver retrieves a configuration object instance of a particular
+type. For a create command, it retrieves the parent of the object to be
+created. For a delete command, it retrieves the object to be deleted. A
+resolver implements the CrudResolver interface:
+
+[source,java]
+----
+package org.glassfish.config.support;
+
+/**
+ * A config resolver is responsible for finding the target object of a specified
+ * type on which a creation command invocation will be processed.
+ *
+ * Implementation of these interfaces can be injected with the command invocation
+ * parameters in order to determine which object should be returned
+ */
+@Contract
+public interface CrudResolver {
+
+    /**
+     * Retrieves the existing configuration object a command invocation is
+     * intented to mutate.
+     * @param context the command invocation context
+     * @param type the type of the expected instance
+     * @return the instance or null if not found
+     */
+    <T extends ConfigBeanProxy> T resolve(AdminCommandContext context, Class<T> type);
+}
+----
+
+Given an `AdminCommandContext`, plus injection with the `asadmin`
+command line parameters (or any other HK2 services if necessary), the
+resolver should be able to determine the particular configuration object
+on which to act.
+
+The following resolvers are provided in the
+`org.glassfish.config.support` package:
+
+* `TargetBasedResolver` — Uses the `--target` option and the expected
+return type to retrieve the configuration object instance.
+* `TargetAndNameBasedResolver` — Uses the `--target` option to look up a
+`Config` object and a name to retrieve one of the `Config` object's
+children.
+* `TypeAndNameResolver` — Uses the requested type and `asadmin` command
+name operand to find the configuration object instance. This is useful
+for a configuration that uses the `@Index` annotation, which registers
+instances under names.
+* `TypeResolver` — Uses the requested type to find the configuration
+object instance. This is the default resolver.
+
+[[gkzoy]][[GSACG00213]][[the-create-annotation]]
+
+==== The `@Create` Annotation
+
+By placing the `org.glassfish.config.support.Create` annotation on a
+method, you provide the following information:
+
+* The `value` element of the `@Create` annotation is the name of the
+`asadmin` subcommand that creates the configuration object.
+* The method's class is the type of the parent.
+* The method's return type or parameter type is the type of the child.
+* The method is the accessor method that adds a child of the specified
+type to the parent.
+
+The only additional information needed is the resolver to use.
+
+The following example specifies a `create-cluster` subcommand:
+
+[source,java]
+----
+@Configured
+public interface Clusters extends ConfigBeanProxy, Injectable {
+
+     /**
+      * Return the list of clusters currently configured
+      *
+      * @return list of {@link Cluster }
+      */
+    @Element
+    @Create(value="create-cluster")
+    public List<Cluster> getCluster();
+}
+----
+
+Because there is only one instance of the parent type, `Clusters`, in
+the configuration, this example uses the default resolver to retrieve
+it. Therefore, no resolver needs to be specified.
+
+[[gkzoo]][[GSACG00214]][[the-delete-annotation]]
+
+==== The `@Delete` Annotation
+
+By placing the `org.glassfish.config.support.Delete` annotation on a
+method, you provide the following information:
+
+* The `value` element of the `@Delete` annotation is the name of the
+`asadmin` subcommand that deletes the configuration object.
+* The method's class is the type of the parent.
+* The method's return type or parameter type is the type of the child.
+* The method is the accessor method that deletes a child of the
+specified type from the parent.
+
+The only additional information needed is the resolver to use.
+
+The following example specifies a `delete-cluster` subcommand:
+
+[source,java]
+----
+@Configured
+public interface Clusters extends ConfigBeanProxy, Injectable {
+
+     /**
+      * Return the list of clusters currently configured
+      *
+      * @return list of {@link Cluster }
+      */
+    @Element
+    @Delete(value="delete-cluster", resolver=TypeAndNameResolver.class)
+    public List<Cluster> getCluster();
+}
+----
+
+The `TypeAndNameResolver` uses the child type and the name operand
+passed through the command line to retrieve the specific cluster
+instance to be deleted.
+
+[[gkzpl]][[GSACG00215]][[the-listing-annotation]]
+
+==== The `@Listing` Annotation
+
+By placing the `org.glassfish.config.support.Listing` annotation on a
+method, you provide the following information:
+
+* The `value` element of the `@Listing` annotation is the name of the
+`asadmin` subcommand that lists the configuration objects.
+* The method's class is the type of the parent.
+* The method's return type is the type of the children to be listed.
+* The method is always the following accessor method:
++
+[source,java]
+----
+List<ChildType> getChildren()
+----
+
+The default resolver retrieves all of the children of the specified
+type. Therefore, no resolver needs to be specified for a list command.
+
+The following example specifies a `list-clusters` subcommand:
+
+[source,java]
+----
+@Configured
+public interface Clusters extends ConfigBeanProxy, Injectable {
+
+     /**
+      * Return the list of clusters currently configured
+      *
+      * @return list of {@link Cluster }
+      */
+    @Element
+    @Listing(value="list-clusters")
+    public List<Cluster> getCluster();
+}
+----
+
+[[gkznf]][[GSACG00216]][[create-command-decorators]]
+
+==== Create Command Decorators
+
+Most create commands must do more than create a single configuration
+object instance with default attribute values. For example, most create
+commands allow the user to specify non-default attribute values through
+command options. For another example, the `create-cluster` subcommand
+creates children of the `Cluster` object and copies a referenced
+`Config` object. A creation decorator provides the code necessary to
+perform such additional operations.
+
+The interface that a creation decorator must implement is as follows:
+
+[source,java]
+----
+@Scoped(PerLookup.class)
+public interface CreationDecorator<T extends ConfigBeanProxy> {
+
+    /**
+     * The element instance has been created and added to the parent, it can be
+     * customized. This method is called within a
+     * {@link org.jvnet.hk2.config.Transaction}
+     * and instance is therefore a writeable view on the configuration component.
+     *
+     * @param context administration command context
+     * @param instance newly created configuration element
+     * @throws TransactionFailure if the transaction should be rollbacked
+     * @throws PropertyVetoException if one of the listener of <T> is throwing
+     * a veto exception
+     */
+    public void decorate(AdminCommandContext context, T instance)
+        throws TransactionFailure, PropertyVetoException;
+
+    /**
+     * Default implementation of a decorator that does nothing.
+     */
+    @Service
+    public class NoDecoration implements CreationDecorator<ConfigBeanProxy> {
+        @Override
+        public void decorate(AdminCommandContext context, ConfigBeanProxy instance)
+            throws TransactionFailure, PropertyVetoException {
+            // do nothing
+        }
+    }
+}
+----
+
+The CreationDecorator interface is in the `org.glassfish.config.support`
+package.
+
+A `@Create` annotation specifies a creation decorator using a
+`decorator` element. For example:
+
+[source,java]
+----
+@Configured
+public interface Clusters extends ConfigBeanProxy, Injectable {
+
+     /**
+      * Return the list of clusters currently configured
+      *
+      * @return list of {@link Cluster }
+      */
+    @Element
+    @Create(value="create-cluster", decorator=Cluster.Decorator.class)
+    public List<Cluster> getCluster();
+}
+----
+
+The `@Create` annotation is on a method of the parent class. However,
+the referenced creation decorator class is associated with the child
+class. For example:
+
+[source,java]
+----
+@Configured
+public interface Cluster extends ConfigBeanProxy, ... {
+
+    ...
+
+    @Service
+    @Scoped(PerLookup.class)
+    class Decorator implements CreationDecorator<Cluster> {
+
+        @Param(name="config", optional=true)
+        String configRef=null;
+
+        @Inject
+        Domain domain;
+
+        @Override
+        public void decorate(AdminCommandContext context, final Cluster instance)
+                throws TransactionFailure, PropertyVetoException {
+
+        ...
+
+        }
+    }
+}
+----
+
+The decorator class can optionally be an inner class of the child class.
+You can inject command options using the `@Param` annotation. You can
+also inject HK2 services or configuration instances.
+
+[[gkznx]][[GSACG00217]][[delete-command-decorators]]
+
+==== Delete Command Decorators
+
+Some delete commands must do more than delete a single configuration
+object instance. For example, the `delete-cluster` subcommand deletes
+the referenced `Config` object if no other `Cluster` or `Instance`
+objects reference it. A deletion decorator provides the code necessary
+to perform such additional operations.
+
+The interface that a deletion decorator must implement is as follows:
+
+[source,java]
+----
+/**
+ * A decorator for acting upon a configuration element deletion.
+ *
+ * @param <T> the deleted element parent type
+ * @param <U> the deleted element
+ */
+@Scoped(PerLookup.class)
+public interface DeletionDecorator<T extends ConfigBeanProxy,
+    U extends ConfigBeanProxy> {
+
+    /**
+     * notification of a configuration element of type U deletion.
+     *
+     * Note that this notification is called within the boundaries of the
+     * configuration transaction, therefore the parent instance is a
+     * writable copy and further changes to the parent can be made without
+     * enrolling it inside a transaction.
+     *
+     * @param context the command context to lead to the element deletion
+     * @param parent the parent instance the element was removed from
+     * @param child the deleted instance
+     */
+    public void decorate(AdminCommandContext context, T parent, U child);
+}
+----
+
+The DeletionDecorator interface is in the `org.glassfish.config.support`
+package.
+
+A `@Delete` annotation specifies a deletion decorator using a
+`decorator` element. For example:
+
+[source,java]
+----
+@Configured
+public interface Clusters extends ConfigBeanProxy, Injectable {
+
+     /**
+      * Return the list of clusters currently configured
+      *
+      * @return list of {@link Cluster }
+      */
+    @Element
+    @Delete(value="delete-cluster", resolver= TypeAndNameResolver.class,
+        decorator=Cluster.DeleteDecorator.class)
+    public List<Cluster> getCluster();
+}
+----
+
+The `@Delete` annotation is on a method of the parent class. However,
+the referenced deletion decorator class is associated with the child
+class. For example:
+
+[source,java]
+----
+@Configured
+public interface Cluster extends ConfigBeanProxy, ... {
+
+    ..
+    @Service
+    @Scoped(PerLookup.class)
+    class DeleteDecorator implements DeletionDecorator<Clusters, Cluster> {
+        ....
+    }
+}
+----
+
+The decorator class can optionally be an inner class of the child class.
+You can inject command options using the `@Param` annotation. You can
+also inject HK2 services or configuration instances.
+
+[[gkzmu]][[GSACG00218]][[specifying-command-execution]]
+
+==== Specifying Command Execution
+
+Commands specified with the `@Create`, `@Delete`, and `@Listing`
+annotations can use the `@ExecuteOn` annotation. The `@ExecuteOn`
+annotation specifies whether the command runs on the DAS, on server
+instances, or both (the default). For more information, see
+link:#gkyfv[Specifying `asadmin` Subcommand Execution].
+
+To add an `@ExecuteOn` annotation to a `@Create` or `@Delete`
+annotation, use the `cluster` element. For example:
+
+[source,java]
+----
+@Create(value="create-instance", resolver=TypeResolver.class,
+        decorator=Server.CreateDecorator.class,
+        cluster=@org.glassfish.api.admin.ExecuteOn(value=RuntimeType.DAS))
+----
+
+[[gkznd]][[GSACG00219]][[using-multiple-command-annotations]]
+
+==== Using Multiple Command Annotations
+
+You can specify multiple command annotations on the same method. The
+following example combines create, delete, and list commands for
+clusters:
+
+[source,java]
+----
+@Configured
+public interface Clusters extends ConfigBeanProxy, Injectable {
+
+     /**
+      * Return the list of clusters currently configured
+      *
+      * @return list of {@link Cluster }
+      */
+    @Element
+    @Create(value="create-cluster", decorator=Cluster.Decorator.class)
+    @Delete(value="delete-cluster", resolver= TypeAndNameResolver.class,
+        decorator=Cluster.DeleteDecorator.class)
+    @Listing(value="list-clusters")
+    public List<Cluster> getCluster();
+}
+----
+
+You can also specify multiple create or delete command annotations for
+the same configuration object type using the `@Creates` or `@Deletes`
+annotation (both in the `org.glassfish.config.support` package). For
+example:
+
+[source,java]
+----
+@Element
+@Creates(
+   @Create(value="create-something", decorator=CreateSomething.Decorator)
+   @Create(value="create-something-else", decorator=CreateSomethingElse.Decorator)
+   List<Something> getSomethings();
+)
+----
+
+These commands create configuration object instances of the same type.
+Differences in the decorators and resolvers can produce differences in
+the options each command takes. The `@Param` annotated attributes of the
+created type define a superset of options for both commands.
+
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/extending-the-admin-console.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/extending-the-admin-console.adoc
new file mode 100644
index 0000000..6c82a62
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/extending-the-admin-console.adoc
@@ -0,0 +1,1020 @@
+type=page
+status=published
+title=Extending the Administration Console
+next=extending-asadmin.html
+prev=writing-hk2-components.html
+~~~~~~
+
+= Extending the Administration Console
+
+[[GSACG00003]][[ghmrb]]
+
+
+[[extending-the-administration-console]]
+== Extending the Administration Console
+
+The Administration Console is a browser-based tool for administering
+{productName}. It features an easy-to-navigate interface and online
+help. Extending the Administration Console enables you to provide a
+graphical user interface for administering your add-on component. You
+can use any of the user interface features of the Administration
+Console, such as tree nodes, links on the Common Tasks page, tabs and
+sub-tabs, property sheets, and Jakarta Server Faces pages. Your add-on
+component implements a marker interface and provides a configuration
+file that describes how your customizations integrate with the
+Administration Console.
+
+This chapter refers to a simple example called `console-sample-ip` that
+illustrates how to provide Administration Console features for a
+hypothetical add-on component.
+
+The following topics are addressed here:
+
+* link:#ghmof[Administration Console Architecture]
+* link:#ghmom[About Administration Console Templates]
+* link:#ghmqr[About Integration Points]
+* link:#ghmpg[Specifying the ID of an Add-On Component]
+* link:#ghmpk[Adding Functionality to the Administration Console]
+* link:#ghmqi[Adding Internationalization Support]
+* link:#ghmqg[Changing the Theme or Brand of the Administration Console]
+* link:#ghpkz[Creating an Integration Point Type]
+
+[[ghmof]][[GSACG00097]][[administration-console-architecture]]
+
+=== Administration Console Architecture
+
+The Administration Console is a web application that is composed of OSGi
+bundles. These bundles provide all the features of the Administration
+Console, such as the Web Applications, Update Center, and Security
+content. To provide support for your add-on component, create your own
+OSGi bundle that implements the parts of the user interface that you
+need. Place your bundle in the `modules` directory of your {productName} installation,
+along with the other Administration Console bundles.
+
+To learn how to package the Administration Console features for an
+add-on component, go to the `modules` directory of your {productName}
+installation and examine the contents of the files named
+``console-``componentname``-plugin.jar``. Place the `console-sample-ip`
+project bundle in the same place to deploy it and examine the changes
+that it makes to the Administration Console.
+
+The Administration Console includes a Console Add-On Component Service.
+The Console Add-On Component Service is an HK2 service that acts as a
+façade to all theAdministration Console add-on components. The Console
+Add-On Component Service queries the various console providers for
+integration points so that it can perform the actions needed for the
+integration (adding a tree node or a new tab, for example). The
+interface name for this service is
+`org.glassfish.api.admingui.ConsolePluginService`.
+
+For details about the Hundred-Kilobyte Kernel (HK2) project, see
+link:introduction.html#ghmnq[Hundred-Kilobyte Kernel] and
+link:writing-hk2-components.html#ghokq[HK2 Component Model].
+
+Each add-on component must contain a console provider implementation.
+This is a Java class that implements the
+`org.glassfish.api.admingui.ConsoleProvider` interface and uses the HK2
+`@Service` annotation. The console provider allows your add-on component
+to specify where your integration point configuration file is located.
+This configuration file communicates to the Console Add-On Component
+Service the customizations that your add-on component makes to the
+Administration Console.
+
+[[ghnzl]][[GSACG00187]][[implementing-a-console-provider]]
+
+==== Implementing a Console Provider
+
+The `org.glassfish.api.admingui.ConsoleProvider` interface has one
+required method, `getConfiguration`. The `getConfiguration` method
+returns the location of the `console-config.xml` file as a
+`java.net.URL`. If `getConfiguration` returns `null`, the default
+location, `META-INF/admingui/console-config.xml`, is used. The
+`console-config.xml` file is described in link:#ghmqr[About Integration
+Points].
+
+To implement the console provider for your add-on component, write a
+Java class that is similar to the following example.
+
+[[GSACG00019]][[ghosz]]
+Example 3-1 Example `ConsoleProvider` Implementation
+
+This example shows a simple implementation of the `ConsoleProvider`
+interface:
+
+[source,java]
+----
+package org.glassfish.admingui.plugin;
+
+import org.glassfish.api.admingui.ConsoleProvider;
+import org.jvnet.hk2.annotations.Service;
+
+import java.net.URL;
+
+@Service
+public class SamplePlugin implements ConsoleProvider {
+
+    public URL getConfiguration() { return null; }
+}
+----
+
+This implementation of `getConfiguration` returns null to specify that
+the configuration file is in the default location. If you place the file
+in a nonstandard location or give it a name other than
+`console-config.xml`, your implementation of `getConfiguration` must
+return the URL where the file can be found.
+
+
+[[ghmom]][[GSACG00098]][[about-administration-console-templates]]
+
+=== About Administration Console Templates
+
+{productName} includes a set of templates that make it easier to
+create Jakarta Server Faces pages for your add-on component. These templates
+use Templating for Jakarta Server Faces Technology, which is also known as
+JSFTemplating.
+
+Examples of JSFTemplating technology can be found in the following
+sections of this chapter:
+
+* link:#ghoej[Creating a Jakarta Server Faces Page for Your Node]
+* link:#ghovg[Creating Jakarta Server Faces Pages for Your Tabs]
+* link:#ghoeu[Creating a Jakarta Server Faces Page for Your Task]
+* link:#ghoya[Creating a Jakarta Server Faces Page for Your Task Group]
+* link:#ghpao[Creating a Jakarta Server Faces Page for Your Page Content]
+* link:#ghmqe[Adding a Page to the Administration Console]
+
+[[ghmqr]][[GSACG00099]][[about-integration-points]]
+
+=== About Integration Points
+
+The integration points for your add-on component are the individual
+Administration Console user interface features that your add-on
+component will extend. You can implement the following kinds of
+integration points:
+
+* Nodes in the navigation tree
+* Elements on the Common Tasks page of the Administration Console
+* Jakarta Server Faces pages
+* Tabs and sub-tabs
+
+Specify all the integration points in a file named `console-config.xml`.
+In the example, this file is in the directory
+`project/src/main/resources/META-INF/admingui/`. The following sections
+describe how to create this file.
+
+In addition, create Jakarta Server Faces pages that contain JSF code
+fragments to implement the integration points. In the example, these
+files are in the directory `project/src/main/resources/`. The content of
+these files depends on the integration point you are implementing. The
+following sections describe how to create these JavaServer Faces pages.
+
+For reference information on integration points, see
+link:integration-point-reference.html#ghmrp[Integration Point Reference].
+
+[[ghmpg]][[GSACG00100]][[specifying-the-id-of-an-add-on-component]]
+
+=== Specifying the ID of an Add-On Component
+
+The `console-config.xml` file consists of a `console-config` element
+that encloses a series of `integration-point` elements. The
+`console-config` element has one attribute, `id`, which specifies a
+unique name or ID value for the add-on component.
+
+In the example, the element is declared as follows:
+
+[source,xml]
+----
+<console-config id="sample">
+    ...
+</console-config>
+----
+
+You will also specify this ID value when you construct URLs to images,
+resources and pages in your add-on component. See link:#ghocf[Adding a
+Node to the Navigation Tree] for an example.
+
+For example, a URL to an image named `my.gif` might look like this:
+
+[source,xml]
+----
+<sun:image url="/resource/sample/images/my.gif" />
+----
+
+The URL is constructed as follows:
+
+* ``/resource`` is required to locate any resource URL.
+* `sample` is the add-on component ID. You must choose a unique ID
+value.
+* `images` is a folder under the root of the add-on component JAR file.
+
+[[ghmpk]][[GSACG00101]][[adding-functionality-to-the-administration-console]]
+
+=== Adding Functionality to the Administration Console
+
+The `integration-point` elements in the `console-config.xml` file
+specify attributes for the user interface features that you choose to
+implement. The example file provides examples of most of the available
+kinds of integration points at this release. Your own add-on component
+can use some or all of them.
+
+For each `integration-point` element, specify the following attributes.
+
+`id`::
+  An identifier for the integration point.
+`parentId`::
+  The ID of the integration point's parent.
+`type`::
+  The type of the integration point.
+`priority`::
+  A numeric value that specifies the relative ordering of integration
+  points for add-on components that specify the same `parentId`. A lower
+  number specifies a higher priority (for example, 100 represents a
+  higher priority than 400). The integration points for add-on
+  components are always placed after those in the basic Administration
+  Console. You might need to experiment to place the integration point
+  where you want it. This attribute is optional.
+`content`::
+  The content for the integration point, typically a JavaServer Faces
+  page. In the example, you can find the JavaServer Faces pages in the
+  directory `project/src/main/resources/`.
+
+
+[NOTE]
+====
+The order in which these attributes are specified does not matter, and
+in the example `console-config.xml` file the order varies. To improve
+readability, this chapter uses the same order throughout.
+====
+
+
+The following topics are addressed here:
+
+* link:#ghocf[Adding a Node to the Navigation Tree]
+* link:#ghotv[Adding Tabs to a Page]
+* link:#ghmqw[Adding a Task to the Common Tasks Page]
+* link:#ghozn[Adding a Task Group to the Common Tasks Page]
+* link:#ghmrg[Adding Content to a Page]
+* link:#ghmqe[Adding a Page to the Administration Console]
+
+[[ghocf]][[GSACG00188]][[adding-a-node-to-the-navigation-tree]]
+
+==== Adding a Node to the Navigation Tree
+
+You can add a node to the navigation tree, either at the top level or
+under another node. To add a node, use an integration point of type
+`org.glassfish.admingui:navNode`. Use the `parentId` attribute to
+specify where the new node should be placed. Any tree node, including
+those added by other add-on components, can be specified. Examples
+include the following:
+
+`tree`::
+  At the top level
+`applicationServer`::
+  Under the {productName} node
+`applications`::
+  Under the Applications node
+`resources`::
+  Under the Resources node
+`configuration`::
+  Under the Configuration node
+`webContainer`::
+  Under the Web Container node
+`httpService`::
+  Under the HTTP Service node
+
+
+[NOTE]
+====
+The `webContainer` and `httpService` nodes are available only if you
+installed the web container module for the Administration Console (the
+`console-web-gui.jar` OSGi bundle).
+====
+
+
+If you do not specify a `parentId`, the new content is added to the root
+of the integration point, in this case the top level node, `tree`.
+
+[[GSACG00020]][[ghpmb]]
+Example 3-2 Example Tree Node Integration Point
+
+For example, the following `integration-point` element uses a `parentId`
+of `tree` to place the new node at the top level.
+
+[source,xml]
+----
+        <integration-point
+                id="samplenode"
+                parentid="tree"
+                type="org.glassfish.admingui:treeNode"
+                priority="200"
+                content="sampleNode.jsf"
+        />
+----
+
+This example specifies the following values in addition to the
+`parentId`:
+
+* The `id` value, `sampleNode`, specifies the integration point ID.
+* The `type` value, `org.glassfish.admingui:treeNode`, specifies the
+integration point type as a tree node.
+* The `priority` value, `200`, specifies the order of the node on the
+tree.
+* The `content` value, `sampleNode.jsf`, specifies the JavaServer Faces
+page that displays the node.
+
+The example `console-config.xml` file provides other examples of tree
+nodes under the Resources and Configuration nodes.
+
+[[ghoej]][[GSACG00158]][[creating-a-javaserver-faces-page-for-your-node]]
+
+===== Creating a Jakarta Server Faces Page for Your Node
+
+A Jakarta Server Faces page for a tree node uses the tag `sun:treeNode`.
+This tag provides all the capabilities of the Project Woodstock tag
+`webuijsf:treeNode`.
+
+[[GSACG00021]][[ghpmn]]
+Example 3-3 Example Jakarta Server Faces Page for a Tree Node
+
+In the example, the `sampleNode.jsf` file has the following content:
+
+[source,xml]
+----
+<sun:treeNode
+        id="treenode1"
+        text="SampleTop"
+        url="/sample/page/testPage.jsf?name=SampleTop"
+        imageURL="/resource/sample/images/sample.png"
+       >
+    <sun:treeNode
+            id="treenodebb"
+            text="SampleBB"
+            url="/sample/page/testPage.jsf?name=SampleBB"
+            imageURL="resource/sample/images/sample.png" />
+</sun:treeNode>
+----
+
+This file uses the `sun:treenode` tag to specify both a top-level tree
+node and another node nested beneath it. In your own JavaServer Faces
+pages, specify the attributes of this tag as follows:
+
+`id`::
+  A unique identifier for the tree node.
+`text`::
+  The node name that appears in the tree.
+`url`::
+  The location of the JavaServer Faces page that appears when you click
+  the node. In the example, most of the integration points use a very
+  simple Jakarta Server Faces page called `testPage.jsf`, which is in the
+  `src/main/resources/page/` directory. Specify the integration point
+  `id` value as the root of the URL; in this case, it is `sample` (see
+  link:#ghmpg[Specifying the ID of an Add-On Component]). The rest of
+  the URL is relative to the `src/main/resources/` directory, where
+  `sampleNode.jsf` resides.
+  The `url` tag in this example passes a `name` parameter to the
+  Jakarta Server Faces page.
+`imageURL`::
+  The location of a graphic to display next to the node name. In the
+  example, the graphic is always `sample.png`, which is in the
+  `src/main/resources/images/` directory. The URL for this image is an
+  absolute path, `/resource/`sample`/images/sample.png`, where sample in
+  the path is the integration point `id` value (see
+  link:#ghmpg[Specifying the ID of an Add-On Component]).
+
+[[ghotv]][[GSACG00189]][[adding-tabs-to-a-page]]
+
+==== Adding Tabs to a Page
+
+You can add a tab to an existing tab set, or you can create a tab set
+for your own page. One way to add a tab or tab set is to use an
+integration point of type `org.glassfish.admingui:serverInstTab`, which
+adds a tab to the tab set on the main {productName} page of the
+Administration Console. You can also create sub-tabs. Once again, the
+`parentId` element specifies where to place the tab or tab set.
+
+[[GSACG00022]][[ghplc]]
+Example 3-4 Example Tab Integration Point
+
+In the example, the following `integration-point` element adds a new tab
+on the main {productName} page of the Administration Console:
+
+[source,xml]
+----
+        <integration-point
+            id="sampletab"
+            parentid="serverinsttabs"
+            type="org.glassfish.admingui:serverInstTab"
+            priority="500"
+            content="sampleTab.jsf"
+        />
+----
+
+This example specifies the following values:
+
+* The `id` value, `sampleTab`, specifies the integration point ID.
+* The `parentId` value, `serverInstTabs`, specifies the tab set
+associated with the server instance. The {productName} page is the
+only one of the default Administration Console pages that has a tab set.
+* The `type` value, `org.glassfish.admingui:serverInstTab`, specifies
+the integration point type as a tab associated with the server instance.
+* The `priority` value, `500`, specifies the order of the tab within the
+tab set. This value is optional.
+* The `content` value, `sampleTab.jsf`, specifies the Jakarta Server Faces
+page that displays the tab.
+
+[[GSACG00023]][[ghplu]]
+Example 3-5 Example Tab Set Integration Points
+
+The following `integration-point` elements add a new tab with two
+sub-tabs, also on the main {productName} page of the Administration
+Console:
+
+[source,xml]
+----
+        <integration-point
+            id="sampletabwithsubtab"
+            parentid="serverinsttabs"
+            type="org.glassfish.admingui:serverInstTab"
+            priority="300"
+            content="sampleTabWithSubTab.jsf"
+        />
+        <integration-point
+            id="samplesubtab1"
+            parentid="sampletabwithsubtab"
+            type="org.glassfish.admingui:serverInstTab"
+            priority="300"
+            content="sampleSubTab1.jsf"
+        />
+        <integration-point
+            id="samplesubtab2"
+            parentid="sampletabwithsubtab"
+            type="org.glassfish.admingui:serverInstTab"
+            priority="400"
+            content="sampleSubTab2.jsf"
+        />
+----
+
+These examples specify the following values:
+
+* The `id` values, `sampleTabWithSubTab`, `sampleSubTab1`, and
+`sampleSubTab2`, specify the integration point IDs for the tab and its
+sub-tabs.
+* The `parentId` of the new tab, `serverInstTabs`, specifies the tab set
+associated with the server instance. The `parentId` of the two sub-tabs,
+`sampleTabWithSubTab`, is the `id` value of this new tab.
+* The `type` value, `org.glassfish.admingui:serverInstTab`, specifies
+the integration point type for all the tabs as a tab associated with the
+server instance.
+* The `priority` values specify the order of the tabs within the tab
+set. This value is optional. In this case, the priority value for
+`sampleTabWithSubTab` is `300`, which is higher than the value for
+`sampleTab`. That means that `sampleTabWithSubTab` appears to the left
+of `sampleTab` in the Administration Console. The priority values for
+`sampleSubTab1` and `sampleSubTab2` are `300` and `400` respectively, so
+`sampleSubTab1` appears to the left of `sampleSubTab2`.
+* The `content` values, `sampleTabWithSubTab.jsf`, `sampleSubTab1.jsf`,
+and `sampleSubTab2.jsf`, specify the Jakarta Server Faces pages that display
+the tabs.
+
+[[ghovg]][[GSACG00159]][[creating-javaserver-faces-pages-for-your-tabs]]
+
+===== Creating Jakarta Server Faces Pages for Your Tabs
+
+A Jakarta Server Faces page for a tab uses the tag `sun:tab`. This tag
+provides all the capabilities of the Project Woodstock tag
+`webuijsf:tab`.
+
+[[GSACG00024]][[ghpnt]]
+Example 3-6 Example Jakarta Server Faces Page for a Tab
+
+In the example, the `sampleTab.jsf` file has the following content:
+
+[source,xml]
+----
+<sun:tab id="sampletab" immediate="true" text="Sample First Tab">
+    <!command
+        setSessionAttribute(key="serverInstTabs" value="sampleTab");
+        gf.redirect(page="#{request.contextPath}/page/tabPage.jsf?name=Sample%20First%20Tab");
+    />
+</sun:tab>
+----
+
+
+[NOTE]
+====
+In the actual file there are no line breaks in the `gf.redirect` value.
+====
+
+
+In your own Jakarta Server Faces pages, specify the attributes of this tag
+as follows:
+
+`id`::
+  A unique identifier for the tab, in this case `sampleTab`.
+`immediate`::
+  If set to true, event handling for this component should be handled
+  immediately (in the Apply Request Values phase) rather than waiting
+  until the Invoke Application phase.
+`text`::
+  The tab name that appears in the tab set.
+
+The JSF page displays tab content differently from the way the page for
+a node displays node content. It invokes two handlers for the `command`
+event: `setSessionAttribute` and `gf.redirect`. The `gf.redirect`
+handler has the same effect for a tab that the `url` attribute has for a
+node. It navigates to a simple Jakarta Server Faces page called
+`tabPage.jsf`, in the `src/main/resources/page/` directory, passing the
+text "Sample First Tab" to the page in a `name` parameter.
+
+The `sampleSubTab1.jsf` and `sampleSubTab2.jsf` files are almost
+identical to `sampleTab.jsf`. The most important difference is that each
+sets the session attribute `serverInstTabs` to the base name of the
+Jakarta Server Faces file that corresponds to that tab:
+
+[source]
+----
+setSessionAttribute(key="serverInstTabs" value="sampleTab");
+setSessionAttribute(key="serverInstTabs" value="sampleSubTab1");
+setSessionAttribute(key="serverInstTabs" value="sampleSubTab2");
+----
+
+[[ghmqw]][[GSACG00190]][[adding-a-task-to-the-common-tasks-page]]
+
+==== Adding a Task to the Common Tasks Page
+
+You can add either a single task or a group of tasks to the Common Tasks
+page of the Administration Console. To add a task or task group, use an
+integration point of type `org.glassfish.admingui:commonTask`.
+
+See link:#ghozn[Adding a Task Group to the Common Tasks Page] for
+information on adding a task group.
+
+[[GSACG00025]][[ghpox]]
+Example 3-7 Example Task Integration Point
+
+In the example `console-config.xml` file, the following
+`integration-point` element adds a task to the Deployment task group:
+
+[source,xml]
+----
+        <integration-point
+                id="samplecommontask"
+                parentid="deployment"
+                type="org.glassfish.admingui:commonTask"
+                priority="200"
+                content="sampleCommonTask.jsf"
+        />
+----
+
+This example specifies the following values:
+
+* The `id` value, `sampleCommonTask`, specifies the integration point ID.
+* The `parentId` value, `deployment`, specifies that the task is to be
+placed in the Deployment task group.
+* The `type` value, `org.glassfish.admingui:commonTask`, specifies the
+integration point type as a common task.
+* The `priority` value, `200`, specifies the order of the task within
+the task group.
+* The `content` value, `sampleCommonTask.jsf`, specifies the JavaServer
+Faces page that displays the task.
+
+[[ghoeu]][[GSACG00160]][[creating-a-javaserver-faces-page-for-your-task]]
+
+===== Creating a Jakarta Server Faces Page for Your Task
+
+A Jakarta Server Faces page for a task uses the tag `sun:commonTask`.
+This tag provides all the capabilities of the Project Woodstock tag `webuijsf:commonTask`.
+
+[[GSACG00026]][[gjkgd]]
+Example 3-8 Example Jakarta Server Faces Page for a Task
+
+In the example, the `sampleCommonTask.jsf` file has the following
+content:
+
+[source,xml]
+----
+<sun:commonTask
+        text="Sample Application Page"
+        toolTip="Sample Application Page"
+        onClick="return admingui.woodstock.commonTaskHandler('treeForm:tree:applications:ejb',
+        '#{request.contextPath}/sample/page/testPage.jsf?name=Sample%20Application%20Page');">
+</sun:commonTask>
+----
+
+
+[NOTE]
+====
+In the actual file, there is no line break in the `onClick` attribute value.
+====
+
+
+This file uses the `sun:commonTask` tag to specify the task. In your own
+Jakarta Server Faces pages, specify the attributes of this tag as follows:
+
+`text`::
+  The task name that appears on the Common Tasks page.
+`toolTip`::
+  The text that appears when a user places the mouse cursor over the
+  task name.
+`onClick`::
+  Scripting code that is to be executed when a user clicks the task
+  name.
+
+[[ghozn]][[GSACG00191]][[adding-a-task-group-to-the-common-tasks-page]]
+
+==== Adding a Task Group to the Common Tasks Page
+
+You can add a new group of tasks to the Common Tasks page to display the
+most important tasks for your add-on component. To add a task group, use
+an integration point of type `org.glassfish.admingui:commonTask`.
+
+[[GSACG00027]][[ghplk]]
+Example 3-9 Example Task Group Integration Point
+
+In the example `console-config.xml` file, the following
+`integration-point` element adds a new task group to the Common Tasks
+page:
+
+[source,xml]
+----
+       <integration-point
+            id="samplegroup"
+            parentid="commontaskssection"
+            type="org.glassfish.admingui:commonTask"
+            priority="500"
+            content="sampleTaskGroup.jsf"
+        />
+----
+
+This example specifies the following values:
+
+* The `id` value, `sampleGroup`, specifies the integration point ID.
+* The `parentId` value, `commonTasksSection`, specifies that the task
+group is to be placed on the Common Tasks page.
+* The `type` value, `org.glassfish.admingui:commonTask`, specifies the
+integration point type as a common task.
+* The `priority` value, `500`, specifies the order of the task group on
+the Common Tasks page. The low value places it at the end of the page.
+* The `content` value, `sampleTaskGroup.jsf`, specifies the JavaServer
+Faces page that displays the task.
+
+[[ghoya]][[GSACG00161]][[creating-a-javaserver-faces-page-for-your-task-group]]
+
+===== Creating a Jakarta Server Faces Page for Your Task Group
+
+A Jakarta Server Faces page for a task group uses the tag
+`sun:commonTasksGroup`. This tag provides all the capabilities of the
+Project Woodstock tag `webuijsf:commonTasksGroup`.
+
+[[GSACG00028]][[ghpqe]]
+Example 3-10 Example Jakarta Server Faces Page for a Task Group
+
+In the example, the `sampleTaskGroup.jsf` file has the following
+content:
+
+[source,xml]
+----
+<sun:commonTasksGroup title="My Own Sample Group">
+    <sun:commonTask
+            text="Go To Sample Resource"
+            toolTip="Go To Sample Resource"
+            onClick="return admingui.woodstock.commonTaskHandler('form:tree:resources:treeNode1',
+            '#{request.contextPath}/sample/page/testPage.jsf?name=Sample%20Resource%20Page');">
+    </sun:commonTask>
+    <sun:commonTask
+            text="Sample Configuration"
+            toolTip="Go To Sample Configuration"
+            onClick="return admingui.woodstock.commonTaskHandler('form:tree:configuration:sampleConfigNode',
+            '#{request.contextPath}/sample/page/testPage.jsf?name=Sample%20Configuration%20Page');">
+    </sun:commonTask>
+</sun:commonTasksGroup>
+----
+
+
+[NOTE]
+====
+In the actual file, there are no line breaks in the `onClick` attribute values.
+====
+
+
+This file uses the `sun:commonTasksGroup` tag to specify the task group,
+and two `sun:commonTask` tags to specify the tasks in the task group.
+The `sun:commonTasksGroup` tag has only one attribute, `title`, which
+specifies the name of the task group.
+
+[[ghmrg]][[GSACG00192]][[adding-content-to-a-page]]
+
+==== Adding Content to a Page
+
+You can add content for your add-on component to an existing top-level
+page, such as the Configuration page or the Resources page.
+To add content to one of these pages, use an integration point of type
+`org.glassfish.admingui:configuration` or `org.glassfish.admingui:resources`.
+
+[[GSACG00029]][[ghpnu]]
+Example 3-11 Example Resources Page Implementation Point
+
+In the example `console-config.xml` file, the following
+`integration-point` element adds new content to the top-level Resources page:
+
+[source,xml]
+----
+        <integration-point
+                id="sampleresourcelink"
+                parentid="propsheetsection"
+                type="org.glassfish.admingui:resources"
+                priority="100"
+                content="sampleResourceLink.jsf"
+        />
+----
+
+This example specifies the following values:
+
+* The `id` value, `sampleResourceLink`, specifies the integration point ID.
+* The `parentId` value, `propSheetSection`, specifies that the content
+is to be a section of a property sheet on the page.
+* The `type` value, `org.glassfish.admingui:resources`, specifies the
+integration point type as the Resources page.
++
+To add content to the Configuration page, specify the `type` value as
+`org.glassfish.admingui:configuration`.
+* The `priority` value, `100`, specifies the order of the content on the
+Resources page. The high value places it at the top of the page.
+* The `content` value, `sampleResourceLink.jsf`, specifies the
+JavaServer Faces page that displays the new content on the Resources page.
+
+Another `integration-point` element in the `console-config.xml` file
+places similar content on the Configuration page.
+
+[[ghpao]][[GSACG00162]][[creating-a-javaserver-faces-page-for-your-page-content]]
+
+===== Creating a Jakarta Server Faces Page for Your Page Content
+
+A Jakarta Server Faces page for page content often uses the tag
+`sun:property` to specify a property on a property sheet. This tag
+provides all the capabilities of the Project Woodstock tag
+`webuijsf:property`.
+
+[[GSACG00030]][[ghpoz]]
+Example 3-12 Example Jakarta Server Faces Page for a Resource Page Item
+
+In the example, the `sampleResourceLink.jsf` file has the following
+content:
+
+[source,xml]
+----
+<sun:property>
+    <sun:hyperlink
+        toolTip="Sample Resource"
+        url="/sample/page/testPage.jsf?name=Sample%20Resource%20Page">
+        <sun:image url="/resource/sample/images/sample.png" />
+        <sun:staticText text="Sample Resource" />
+    </sun:hyperlink>
+</sun:property>
+
+<sun:property>
+    <sun:hyperlink
+        toolTip="Another"
+        url="/sample/page/testPage.jsf?name=Another">
+        <sun:image url="/resource/sample/images/sample.png" />
+        <sun:staticText text="Another" />
+    </sun:hyperlink>
+</sun:property>
+----
+
+The file specifies two simple properties on the property sheet, one
+above the other. Each consists of a `sun:hyperlink` element (a link to a
+URL). Within each `sun:hyperlink` element is nested a `sun:image`
+element, specifying an image, and a `sun:staticText` element, specifying
+the text to be placed next to the image.
+
+Each `sun:hyperlink` element uses a `toolTip` attribute and a `url`
+attribute. Each `url` attribute references the `testPage.jsf` file that
+is used elsewhere in the example, specifying different content for the
+`name` parameter.
+
+You can use many other kinds of user interface elements within a
+`sun:property` element.
+
+[[ghmqe]][[GSACG00193]][[adding-a-page-to-the-administration-console]]
+
+==== Adding a Page to the Administration Console
+
+Your add-on component may require new configuration tasks. In addition
+to implementing commands that accomplish these tasks (see
+link:extending-asadmin.html#ghmrd[Chapter 4, "Extending the `asadmin`
+Utility"]), you can provide property sheets that enable users to
+configure your component or to perform tasks such as creating and
+editing resources for it.
+
+[[GSACG00031]][[ghple]]
+Example 3-13 Example Jakarta Server Faces Page for a Property Sheet
+
+Most of the user interface features used in the example reference the
+file `testPage.jsf` or (for tabs) the file `tabPage.jsf`. Both files are
+in the `src/main/resources/page/` directory. The `testPage.jsf` file
+looks like this:
+
+[source]
+----
+<!composition template="/templates/default.layout" guiTitle="TEST Sample Page Title">
+<!define name="content">
+<sun:form id="propertyform">
+
+<sun:propertySheet id="propertysheet">
+    <sun:propertySheetSection id="propertysection">
+       <sun:property id="prop1" labelAlign="left" noWrap="true"
+                     overlapLabel="false" label="Test Page Name:">
+            <sun:staticText text="$pageSession{pageName}">
+                <!beforeCreate
+                    getRequestValue(key="name" value=>$page{pageName});
+                />
+            </sun:staticText>
+        </sun:property>
+    </sun:propertySheetSection>
+</sun:propertySheet>
+<sun:hidden id="helpkey" value="" />
+
+</sun:form>
+</define>
+</composition>
+----
+
+The page uses the `composition` directive to specify that the page uses
+the `default.layout` template and to specify a page title. The page uses
+additional directives, events, and tags to specify its content.
+
+[[ghmqi]][[GSACG00102]][[adding-internationalization-support]]
+
+=== Adding Internationalization Support
+
+To add internationalization support for your add-on component to the
+Administration Console, you can place an event and handler like the
+following at the top of your page:
+
+[source,xml]
+----
+<!initPage
+    setResourceBundle(key="yourI18NKey" bundle="bundle.package.BundleName")
+/>
+----
+
+Replace the values `yourI18NKey` and `bundle.package.BundleName` with
+appropriate values for your component.
+
+[[ghmqg]][[GSACG00103]][[changing-the-theme-or-brand-of-the-administration-console]]
+
+=== Changing the Theme or Brand of the Administration Console
+
+To change the theme or brand of the Administration Console for your
+add-on component, use the integration point type
+`org.glassfish.admingui:customtheme`. This integration point affects the
+Cascading Style Sheet (CSS) files and images that are used in the
+Administration Console.
+
+[[GSACG00032]][[ghpls]]
+Example 3-14 Example Custom Theme Integration Point
+
+For example, the following integration point specifies a custom theme:
+
+[source,xml]
+----
+        <integration-point
+                id="myownbrand"
+                type="org.glassfish.admingui:customtheme"
+                priority="2"
+                content="myOwnBrand.properties"
+        />
+----
+
+The `priority` attribute works differently when you specify it in a
+branding integration point from the way it works in other integration
+points. You can place multiple branding add-on components in the
+`modules` directory, but only one theme can be applied to the
+Administration Console. The `priority` attribute determines which theme
+is used. Specify a value from 1 to 100; the lower the number, the higher
+the priority. The integration point with the highest priority will be
+used.
+
+Additional integration point types also affect the theme or brand of the
+Administration Console:
+
+`org.glassfish.admingui:masthead`::
+  Specifies the name and location of the include masthead file, which
+  can be customized with a branding image. This include file will be
+  integrated on the masthead of the Administration Console.
+`org.glassfish.admingui:loginimage`::
+  Specifies the name and location of the include file containing the
+  branding login image code that will be integrated with the login page
+  of the Administration Console.
+`org.glassfish.admingui:loginform`::
+  Specifies the name and location of the include file containing the
+  customized login form code. This code also contains the login
+  background image used for the login page for the Administration
+  Console.
+`org.glassfish.admingui:versioninfo`::
+  Specifies the name and location of the include file containing the
+  branding image that will be integrated with the content of the version
+  popup window.
+
+[[GSACG00033]][[ghpla]]
+Example 3-15 Example of Branding Integration Points
+
+For example, you might specify the following integration points. The
+content for each integration point is defined in an include file.
+
+[source,xml]
+----
+       <integration-point
+               id="myownbrandmast"
+               type="org.glassfish.admingui:masthead"
+               priority="80"
+               content="branding/masthead.inc"
+       />
+       <integration-point
+               id="myownbrandlogimg"
+               type="org.glassfish.admingui:loginimage"
+               priority="80"
+               content="branding/loginimage.inc"
+       />
+       <integration-point
+               id="myownbrandlogfm"
+               type="org.glassfish.admingui:loginform"
+               priority="80"
+               content="branding/loginform.inc"
+       />
+       <integration-point
+               id="myownbrandversinf"
+               type="org.glassfish.admingui:versioninfo"
+               priority="80"
+               content="branding/versioninfo.inc"
+       />
+----
+
+To provide your own CSS and images to modify the global look and feel of
+the entire application (not just the Administration Console), use the
+theming feature of https://github.com/eclipse-ee4j/glassfish-woodstock[Project
+Woodstock] (`https://github.com/eclipse-ee4j/glassfish-woodstock`). Create a theme JAR
+file with all the CSS properties and image files that are required by
+your Woodstock component. Use a script provided by the Woodstock project
+to clone an existing theme, then modify the files and properties as
+necessary. Once you have created the theme JAR file, place it in the
+`WEB-INF/lib` directory of the Administration Console so that the
+Woodstock theme component will load the theme. In addition, edit the
+properties file specified by your integration point
+(`MyOwnBrand.properties`, for example) to specify the name and version
+of your theme.
+
+[[ghpkz]][[GSACG00104]][[creating-an-integration-point-type]]
+
+=== Creating an Integration Point Type
+
+If your add-on component provides new content that you would like other
+people to extend, you may define your own integration point types. For
+example, if you add a new page that provides tabs of monitoring
+information, you might want to allow others to add their own tabs to
+complement your default tabs. This feature enables your page to behave
+like the existing Administration Console pages that you or others can
+extend.
+
+[[sthref4]][[to-create-an-integration-point-type]]
+
+==== To Create an Integration Point Type
+
+1. Decide on the name of your integration point type.
++
+The integration point type must be a unique identifier. You might use
+the package name of your integration point, with a meaningful name
+appended to the end, as in the following example:
++
+[source]
+----
+org.company.project:myMonitoringTabs
+----
+
+2. After you have an integration point ID, use handlers to insert the
+integration point implementation(s).
++
+Include code like the following below the place in your Jakarta Server Faces
+page where you would like to enable others to add their integration
+point implementations:
++
+[source]
+----
+<event>
+    <!afterCreate
+        getUIComponent(clientid="clientid:of:root"
+                       component=>$attribute{rootComp});
+        includeIntegrations(type="org.company.project:myMonitoringTabs"
+                            root="#{rootComp}");
+    />
+</event>
+----
+Change `clientId:of:root` to match the `clientId` of the outermost
+component in which you want others to be able to add their content (in
+this example, the tab set is the most likely choice). Also include your
+integration point ID in place of `org.company.project:myMonitoringTabs`.
+If you omit the `root` argument to `includeIntegrations`, all components
+on the entire page can be used for the `parentId` of the integration
+points.
+
diff --git a/docs/add-on-component-development-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/add-on-component-development-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/add-on-component-development-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/add-on-component-development-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/integration-point-reference.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/integration-point-reference.adoc
new file mode 100644
index 0000000..e64c4e1
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/integration-point-reference.adoc
@@ -0,0 +1,400 @@
+type=page
+status=published
+title=Integration Point Reference
+prev=packaging-integrating-delivering.html
+~~~~~~
+
+= Integration Point Reference
+
+[[GSACG00010]][[ghmrp]]
+
+
+[[a-integration-point-reference]]
+== Integration Point Reference
+
+This appendix provides reference information about integration points,
+which are described in
+link:extending-the-admin-console.html#ghmrb[Extending the Administration Console].
+Define an integration point for each user interface feature in the
+`console-config.xml` file for your add-on component.
+
+The following topics are addressed here:
+
+* link:#ghprc[Integration Point Attributes]
+* link:#ghmwa[`org.glassfish.admingui:navNode` Integration Point]
+* link:#gjkff[`org.glassfish.admingui:rightPanel` Integration Point]
+* link:#gjkfq[`org.glassfish.admingui:rightPanelTitle` Integration Point]
+* link:#ghpkh[`org.glassfish.admingui:serverInstTab` Integration Point]
+* link:#ghpit[`org.glassfish.admingui:commonTask` Integration Point]
+* link:#ghphz[`org.glassfish.admingui:configuration` Integration Point]
+* link:#ghpfm[`org.glassfish.admingui:resources` Integration Point]
+* link:#ghpiz[`org.glassfish.admingui:customtheme` Integration Point]
+* link:#ghppm[`org.glassfish.admingui:masthead` Integration Point]
+* link:#ghppk[`org.glassfish.admingui:loginimage` Integration Point]
+* link:#ghprk[`org.glassfish.admingui:loginform` Integration Point]
+* link:#ghpse[`org.glassfish.admingui:versioninfo` Integration Point]
+
+[[ghprc]][[GSACG00145]][[integration-point-attributes]]
+
+=== Integration Point Attributes
+
+For each `integration-point` element, specify the following attributes.
+Each attribute takes a string value.
+
+`id`::
+  An identifier for the integration point. The remaining sections of
+  this appendix do not provide details about specifying this attribute.
+`parentId`::
+  The ID of the integration point's parent.
+`type`::
+  The type of the integration point.
+`priority`::
+  A numeric value that specifies the relative ordering of integration
+  points with the same `parentId`. A lower number specifies a higher
+  priority (for example, 100 represents a higher priority than 400). You
+  may need to experiment in order to place the integration point where
+  you want it. This attribute is optional.
+`content`::
+  A relative path to the Jakarta Server Faces page that contains the content
+  to be integrated. Typically, the file contains a Jakarta Server Faces code
+  fragment that is incorporated into a page. The code fragment often
+  specifies a link to another Jakarta Server Faces page that appears when a
+  user clicks the link.
+
+[[ghmwa]][[GSACG00146]][[org.glassfish.adminguinavnode-integration-point]]
+
+=== `org.glassfish.admingui:navNode` Integration Point
+
+Use an `org.glassfish.admingui:navNode` integration point to insert a
+node in the Administration Console navigation tree. Specify the
+attributes and their content as follows.
+
+`type`::
+  `org.glassfish.admingui:navNode`, the left-hand navigation tree
+`parentId`::
+  The `id` value of the `navNode` that is the parent for this node.
+  The `parentId` can be any of the following:
++
+  `tree`;;
+    The root node of the entire navigation tree. Use this value to place
+    your node at the top level of the tree. You can then use the `id` of
+    this node to create additional nodes beneath it.
+  `registration`;;
+    The Registration node
+  `applicationServer`;;
+    The {productName} node
+  `applications`;;
+    The Applications node
+  `resources`;;
+    The Resources node
+  `configuration`;;
+    The Configuration node
+  `webContainer`;;
+    The Web Container node under the Configuration node
+  `httpService`;;
+    The HTTP Service node under the Configuration node
++
+[NOTE]
+====
+The `webContainer` and `httpService` nodes are available only if you
+installed the web container module for the Administration Console (the
+`console-web-gui.jar` OSGi bundle).
+====
+
+`priority`::
+  A numeric value that specifies the relative ordering of the node on
+  the tree, whether at the top level or under another node.
+`content`::
+  A relative path to the Jakarta Server Faces page that contains the content
+  to be integrated, or a URL to an external resource that returns the
+  appropriate data structure for inclusion.
+
+For an example, see link:extending-the-admin-console.html#ghpmb[Example 3-2].
+
+[[gjkff]][[GSACG00147]][[org.glassfish.adminguirightpanel-integration-point]]
+
+=== `org.glassfish.admingui:rightPanel` Integration Point
+
+Use an `org.glassfish.admingui:rightPanel` integration point to specify
+content for the right frame of the Administration Console. Specify the
+attributes and their content as follows.
+
+`type`::
+  `org.glassfish.admingui:rightPanel`
+`parentId`::
+  None.
+`priority`::
+  A numeric value that specifies the relative ordering. If multiple
+  plug-ins specify content for the right frame, the one with greater
+  priority will take precedence.
+`content`::
+  A path relative to the root of the plug-in JAR file to a file
+  containing the content for the right panel. Alternatively, it may
+  contain a full URL which will deliver the content for the right panel.
+
+[[gjkfq]][[GSACG00148]][[org.glassfish.adminguirightpaneltitle-integration-point]]
+
+=== `org.glassfish.admingui:rightPanelTitle` Integration Point
+
+Use an `org.glassfish.admingui:rightPanel` integration point to specify
+the title for the right frame of the Administration Console. Specify the
+attributes and their content as follows.
+
+`type`::
+  `org.glassfish.admingui:rightPanelTitle`
+`parentId`::
+  None.
+`priority`::
+  A numeric value that specifies the relative ordering. If multiple
+  plug-ins specify content for the right frame, the one with greater
+  priority will take precedence.
+`content`::
+  Specifies the title to display at the top of the right panel.
+
+[[ghpkh]][[GSACG00149]][[org.glassfish.adminguiserverinsttab-integration-point]]
+
+=== `org.glassfish.admingui:serverInstTab` Integration Point
+
+Use an `org.glassfish.admingui:serverInstTab` integration point to place
+an additional tab on the {productName} page of the Administration
+Console. Specify the attributes and their content as follows.
+
+`type`::
+  `org.glassfish.admingui:serverInstTab`
+`parentId`::
+  The `id` value of the tab set that is the parent for this tab. For a
+  top-level tab on this page, this value is `serverInstTabs`, the tab
+  set that contains the general information property pages for {productName}.
+  For a sub-tab, the value is the `id` value for the parent tab.
+`priority`::
+  A numeric value that specifies the relative ordering of the tab on the
+  page, whether at the top level or under another tab.
+`content`::
+  A relative path to the Jakarta Server Faces page that contains the content
+  to be integrated.
+  When you use this integration point, your Jakarta Server Faces page must
+  call the `setSessionAttribute` handler for the `command` event to set
+  the session variable of the `serverInstTabs` tab set to the `id` value
+  of your tab. For example, the file may have the following content:
++
+[source,xml]
+----
+<sun:tab id="sampletab" immediate="true" text="Sample First Tab">
+    <!command
+        setSessionAttribute(key="serverInstTabs" value="sampleTab");
+        gf.redirect(page="#{request.contextPath}/page/tabPage.jsf?name=Sample%20First%20Tab");
+    />
+</sun:tab>
+----
+  The `id` of the `sun:tab` custom tag must be the same as the `value`
+  argument of the `setSessionAttribute` handler.
+
+For examples, see link:extending-the-admin-console.html#ghplc[Example
+3-4] and link:extending-the-admin-console.html#ghplu[Example 3-5].
+
+[[ghpit]][[GSACG00150]][[org.glassfish.adminguicommontask-integration-point]]
+
+=== `org.glassfish.admingui:commonTask` Integration Point
+
+Use an `org.glassfish.admingui:commonTask` integration point to place a
+new task or task group on the Common Tasks page of the Administration
+Console. Specify the attributes and their content as follows.
+
+`type`::
+  `org.glassfish.admingui:commonTask`
+`parentId`::
+  If you are adding a task group, the `id` value of the Common Tasks
+  page, which is `commonTasksSection`.
+  If you are adding a single task, the `id` value of the task group that
+  is the parent for this tab, such as `deployment` (for the Deployment
+  group).
+`priority`::
+  A numeric value that specifies the relative ordering of the tab on the
+  page, whether at the top level or under another tab.
+`content`::
+  A relative path to the Jakarta Server Faces page that contains the content
+  to be integrated.
+
+For examples, see link:extending-the-admin-console.html#ghpox[Example
+3-7] and link:extending-the-admin-console.html#ghplk[Example 3-9].
+
+[[ghphz]][[GSACG00151]][[org.glassfish.adminguiconfiguration-integration-point]]
+
+=== `org.glassfish.admingui:configuration` Integration Point
+
+Use an `org.glassfish.admingui:configuration` integration point to add a
+component to the Configuration page of the Administration Console.
+Typically, you add a link to the property sheet section of this page.
+Specify the attributes and their content as follows.
+
+`type`::
+  `org.glassfish.admingui:configuration`
+`parentId`::
+  The `id` value of the property sheet for the Configuration page. This
+  value is `propSheetSection`, the section that contains the property
+  definitions for the Configuration page.
+`priority`::
+  A numeric value that specifies the relative ordering of the item on
+  the Configuration page.
+`content`::
+  A relative path to the Jakarta Server Faces page that contains the content
+  to be integrated.
+
+[[ghpfm]][[GSACG00152]][[org.glassfish.adminguiresources-integration-point]]
+
+=== `org.glassfish.admingui:resources` Integration Point
+
+Use an `org.glassfish.admingui:resources` integration point to add a
+component to the Resources page of the Administration Console.
+Typically, you add a link to the property sheet section of this page.
+Specify the attributes and their content as follows.
+
+`type`::
+  `org.glassfish.admingui:resources`
+`parentId`::
+  The `id` value of the property sheet for the Resources page. This
+  value is `propSheetSection`, the section that contains the property
+  definitions for the Resources page.
+`priority`::
+  A numeric value that specifies the relative ordering of the item on
+  the Resources page.
+`content`::
+  A relative path to the Jakarta Server Faces page that contains the content
+  to be integrated.
+
+For an example, see link:extending-the-admin-console.html#ghpnu[Example
+3-11].
+
+[[ghpiz]][[GSACG00153]][[org.glassfish.adminguicustomtheme-integration-point]]
+
+=== `org.glassfish.admingui:customtheme` Integration Point
+
+Use an `org.glassfish.admingui:customtheme` integration point to add
+your own branding to the Administration Console. Specify the attributes
+and their content as follows. Do not specify a `parentId` attribute for
+this integration point.
+
+`type`::
+  `org.glassfish.admingui:customtheme`
+`priority`::
+  A numeric value that specifies the relative ordering of the item in
+  comparison to other themes. This value must be between 1 and 100. The
+  theme with the smallest number is used first.
+`content`::
+  The name of the properties file that contains the key/value pairs that
+  will be used to access your theme JAR file. You must specify the
+  following keys:
+  `com.sun.webui.theme.DEFAULT_THEME`;;
+    Specifies the theme name for the theme that this application may
+    depend on.
+  `com.sun.webui.theme.DEFAULT_THEME_VERSION`;;
+    Specifies the theme version this application may depend on.
++
+For example, the properties file for the default Administration Console brand contains the following:
++
+[source]
+----
+com.sun.webui.theme.DEFAULT_THEME=suntheme
+com.sun.webui.theme.DEFAULT_THEME_VERSION=4.3
+----
+
+For an example, see link:extending-the-admin-console.html#ghpls[Example
+3-14].
+
+[[ghppm]][[GSACG00154]][[org.glassfish.adminguimasthead-integration-point]]
+
+=== `org.glassfish.admingui:masthead` Integration Point
+
+Use an `org.glassfish.admingui:masthead` integration point to specify
+the name and location of the include masthead file, which can be
+customized with a branding image. This include file will be integrated
+on the masthead of the Administration Console. Specify the attributes
+and their content as follows. Do not specify a `parentId` attribute for
+this integration point.
+
+`type`::
+  `org.glassfish.admingui:masthead`
+`priority`::
+  A numeric value that specifies the relative ordering of the item in
+  comparison to other items of this type. This value must be between 1
+  and 100. The theme with the smallest number is used first.
+`content`::
+  A file that contains the content, typically a file that is included in
+  a Jakarta Server Faces page.
+
+For an example, see link:extending-the-admin-console.html#ghpla[Example
+3-15].
+
+[[ghppk]][[GSACG00155]][[org.glassfish.adminguiloginimage-integration-point]]
+
+=== `org.glassfish.admingui:loginimage` Integration Point
+
+Use an `org.glassfish.admingui:loginimage` integration point to specify
+the name and location of the include file containing the branding login
+image code that will be integrated with the login page of the
+Administration Console. Specify the attributes and their content as
+follows. Do not specify a `parentId` attribute for this integration
+point.
+
+`type`::
+  `org.glassfish.admingui:loginimage`
+`parentId`::
+  None; a login image does not have a parent ID.
+`priority`::
+  A numeric value that specifies the relative ordering of the item in
+  comparison to other items of this type. This value must be between 1
+  and 100. The theme with the smallest number is used first.
+`content`::
+  A file that contains the content, typically a file that is included in
+  a Jakarta Server Faces page.
+
+For an example, see link:extending-the-admin-console.html#ghpla[Example
+3-15].
+
+[[ghprk]][[GSACG00156]][[org.glassfish.adminguiloginform-integration-point]]
+
+=== `org.glassfish.admingui:loginform` Integration Point
+
+Use an `org.glassfish.admingui:loginform` integration point to specify
+the name and location of the include file containing the customized
+login form code. This code also contains the login background image used
+for the login page for the Administration Console. Specify the
+attributes and their content as follows. Do not specify a `parentId`
+attribute for this integration point.
+
+`type`::
+  `org.glassfish.admingui:loginform`
+`priority`::
+  A numeric value that specifies the relative ordering of the item in
+  comparison to other items of this type. This value must be between 1
+  and 100. The theme with the smallest number is used first.
+`content`::
+  A file that contains the content, typically a file that is included in
+  a Jakarta Server Faces page.
+
+For an example, see link:extending-the-admin-console.html#ghpla[Example
+3-15].
+
+[[ghpse]][[GSACG00157]][[org.glassfish.adminguiversioninfo-integration-point]]
+
+=== `org.glassfish.admingui:versioninfo` Integration Point
+
+Use an `org.glassfish.admingui:versioninfo` integration point to specify
+the name and location of the include file containing the branding image
+that will be integrated with the content of the version popup window.
+Specify the attributes and their content as follows. Do not specify a
+`parentId` attribute for this integration point.
+
+`type`::
+  `org.glassfish.admingui:versioninfo`
+`priority`::
+  A numeric value that specifies the relative ordering of the item in
+  comparison to other items of this type. This value must be between 1
+  and 100. The theme with the smallest number is used first.
+`content`::
+  A file that contains the content, typically a file that is included in
+  a Jakarta Server Faces page.
+
+For an example, see link:extending-the-admin-console.html#ghpla[Example
+3-15].
+
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/introduction.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/introduction.adoc
new file mode 100644
index 0000000..f7329d1
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/introduction.adoc
@@ -0,0 +1,280 @@
+type=page
+status=published
+title=Introduction to the Development Environment for {productName} Add-On Components
+next=writing-hk2-components.html
+prev=preface.html
+~~~~~~
+
+= Introduction to the Development Environment for {productName} Add-On Components
+
+[[GSACG00001]][[ghmlv]]
+
+
+[[introduction-to-the-development-environment-for-eclipse-glassfish-add-on-components]]
+== Introduction to the Development Environment for {productName} Add-On Components
+
+{productName} enables an external vendor such as
+an independent software vendor (ISV), original equipment manufacturer
+(OEM), or system integrator to incorporate {productName} into a new
+product with the vendor's own brand name. External vendors can extend
+the functionality of {productName} by developing add-on components
+for {productName}. {productName} provides interfaces to enable
+add-on components to be configured, managed, and monitored through
+existing {productName} tools such as the Administration Console and
+the `asadmin` utility.
+
+The following topics are addressed here:
+
+* link:#ghmje[{productName} Modular Architecture and Add-On
+Components]
+* link:#ghmrf[OSGi Alliance Module Management Subsystem]
+* link:#ghmnq[Hundred-Kilobyte Kernel]
+* link:#ghmns[Overview of the Development Process for an Add-On
+Component]
+
+[[ghmje]][[GSACG00087]][[glassfish-server-modular-architecture-and-add-on-components]]
+
+=== {productName} Modular Architecture and Add-On Components
+
+{productName} has a modular architecture in which the features of
+{productName} are provided by a consistent set of components that
+interact with each other. Each component provides a small set of
+functionally related features.
+
+The modular architecture of {productName} enables users to download
+and install only the components that are required for the applications
+that are being deployed. As a result, start-up times, memory
+consumption, and disk space requirements are all minimized.
+
+The modular architecture of {productName} enables you to extend the
+basic functionality of {productName} by developing add-on components.
+An add-on component is an encapsulated definition of reusable code that
+has the following characteristics:
+
+* The component provides a set of Java classes.
+* The component offers services and public interfaces.
+* The component implements the public interfaces with a set of private
+classes.
+* The component depends on other components.
+
+Add-on components that you develop interact with {productName} in the
+same way as components that are supplied in {productName}
+distributions.
+
+You can create and offer new or updated add-on components at any time.
+{productName} administrators can install add-on components and update
+or remove installed components after {productName} is installed. For
+more information, see "link:administration-guide.html#GSADG00014[Extending and Updating {productName}]" in {productName} Administration Guide.
+
+[[ghmrf]][[GSACG00088]][[osgi-alliance-module-management-subsystem]]
+
+=== OSGi Alliance Module Management Subsystem
+
+To enable components to be added when required, {productName}
+provides a lightweight and extensible kernel that uses the module
+management subsystem from the http://www.osgi.org/[OSGi Alliance]
+(`http://www.osgi.org/`). Any {productName} component that plugs in
+to this kernel must be implemented as an OSGi bundle. To enable an
+add-on component to plug in to the {productName} kernel in the same
+way as other components, package the component as an OSGi bundle. For
+more information, see
+link:packaging-integrating-delivering.html#ghpun[Packaging an Add-On
+Component].
+
+The default OSGi module management subsystem in {productName} is the
+Apache Felix http://felix.apache.org[OSGi framework]
+(`http://felix.apache.org`). However, the {productName} kernel uses
+only the http://www.osgi.org/Release4/HomePage[OSGi Service Platform
+Release 4] (`http://www.osgi.org/Release4/HomePage`) API. Therefore,
+{productName} supports other OSGi module management subsystems that
+are compatible with the OSGi Service Platform Release 4 API.
+
+[[ghmnq]][[GSACG00089]][[hundred-kilobyte-kernel]]
+
+=== Hundred-Kilobyte Kernel
+
+The https://github.com/eclipse-ee4j/glassfish-hk2[Hundred-Kilobyte Kernel (HK2)]
+(`https://github.com/eclipse-ee4j/glassfish-hk2`) is the lightweight and extensible kernel
+of {productName}. HK2 consists of the following technologies:
+
+* Module subsystem. The HK2 module subsystem provides isolation between
+components of the {productName}. The HK2 module subsystem is
+compatible with existing technologies such as the OSGi framework.
+* Component model. The HK2 component model eases the development of
+components that are also services. {productName} discovers these
+components automatically and dynamically. HK2 components use injection
+of dependencies to express dependencies on other components. {productName} provides two-way mappings between the services of an HK2
+component and OSGi services.
+
+For more information, see link:writing-hk2-components.html#ghmna[Writing
+HK2 Components].
+
+[[ghmns]][[GSACG00090]][[overview-of-the-development-process-for-an-add-on-component]]
+
+=== Overview of the Development Process for an Add-On Component
+
+To ensure that an add-on component behaves identically to components
+that are supplied in {productName} distributions, the component must
+meet the following requirements:
+
+* If the component generates management data, configuration data, or
+monitoring data, it must provide that data to other {productName}
+components in the same way as other {productName} components.
+* If the component generates management data, configuration data, or
+monitoring data, it must provide that data to users through {productName} administrative interfaces such as Administration Console and the
+`asadmin` utility.
+* The component must be packaged and delivered as an OSGi bundle.
+
+To develop add-on components that meet these requirements, follow the
+development process that is described in the following sections:
+
+* link:#ghpqc[Writing HK2 Components]
+* link:#ghokn[Extending the Administration Console]
+* link:#ghohx[Extending the `asadmin` Utility]
+* link:#ghojs[Adding Monitoring Capabilities]
+* link:#gkahs[Adding Configuration Data for a Component]
+* link:#ghojq[Adding Container Capabilities]
+* link:#gktld[Creating a Session Persistence Module]
+* link:#ghoiu[Packaging and Delivering an Add-On Component]
+
+[[ghpqc]][[GSACG00173]][[writing-hk2-components]]
+
+==== Writing HK2 Components
+
+The Hundred-Kilobyte Kernel (HK2) is the lightweight and extensible
+kernel of {productName}. To interact with {productName}, add-on
+components plug in to this kernel. In the HK2 component model, the
+functions of an add-on component are declared through a contract-service
+implementation paradigm. An HK2 contract identifies and describes the
+building blocks or the extension points of an application. An HK2
+service implements an HK2 contract.
+
+For more information, see link:writing-hk2-components.html#ghmna[Writing
+HK2 Components].
+
+[[ghokn]][[GSACG00174]][[extending-the-administration-console]]
+
+==== Extending the Administration Console
+
+The Administration Console is a browser-based tool for administering
+{productName}. It features an easy-to-navigate interface and online
+help. Extending the Administration Console enables you to provide a
+graphical user interface for administering your add-on component. You
+can use any of the user interface features of the Administration
+Console, such as tree nodes, links on the Common Tasks page, tabs and
+sub-tabs, property sheets, and JavaServer Faces pages. Your add-on
+component implements a marker interface and provides a configuration
+file that describes how your customizations integrate with the
+Administration Console.
+
+For more information, see
+link:extending-the-admin-console.html#ghmrb[Extending the Administration
+Console].
+
+[[ghohx]][[GSACG00175]][[extending-the-asadmin-utility]]
+
+==== Extending the `asadmin` Utility
+
+The `asadmin` utility is a command-line tool for configuring and
+administering {productName}. Extending the `asadmin` utility enables
+you to provide administrative interfaces for an add-on component that
+are consistent with the interfaces of other {productName} components.
+A user can run `asadmin` subcommands either from a command prompt or
+from a script. For more information about the `asadmin` utility, see the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] man page.
+
+For more information, see link:extending-asadmin.html#ghmrd[Extending the
+`asadmin` Utility].
+
+[[ghojs]][[GSACG00176]][[adding-monitoring-capabilities]]
+
+==== Adding Monitoring Capabilities
+
+Monitoring is the process of reviewing the statistics of a system to
+improve performance or solve problems. By monitoring the state of
+components and services that are deployed in the {productName},
+system administrators can identify performance bottlenecks, predict
+failures, perform root cause analysis, and ensure that everything is
+functioning as expected. Monitoring data can also be useful in
+performance tuning and capacity planning.
+
+An add-on component typically generates statistics that the {productName} can gather at run time. Adding monitoring capabilities enables an
+add-on component to provide statistics to {productName} in the same
+way as components that are supplied in {productName} distributions.
+As a result, system administrators can use the same administrative
+interfaces to monitor statistics from any installed {productName}
+component, regardless of the origin of the component.
+
+For more information, see
+link:adding-monitoring-capabilities.html#ghmos[Adding Monitoring
+Capabilities].
+
+[[gkahs]][[GSACG00177]][[adding-configuration-data-for-a-component]]
+
+==== Adding Configuration Data for a Component
+
+The configuration data of a component determines the characteristics and
+runtime behavior of a component. {productName} provides interfaces to
+enable an add-on component to store its configuration data in the same
+way as other {productName} components. These interfaces are similar
+to interfaces that are defined in
+https://jakarta.ee/specifications/xml-binding/3.0/[Jakarta XML Binding 3.0]
+(`https://jakarta.ee/specifications/xml-binding/3.0/`). By using these interfaces to
+store configuration data, you ensure that the add-on component is fully
+integrated with {productName}. As a result, administrators can
+configure an add-on component in the same way as they can configure
+other {productName} components.
+
+For more information, see
+link:adding-configuration-data.html#gjlpe[Adding Configuration Data for a
+Component].
+
+[[ghojq]][[GSACG00178]][[adding-container-capabilities]]
+
+==== Adding Container Capabilities
+
+Applications run on {productName} in containers. {productName}
+enables you to create containers that extend or replace the existing
+containers of {productName}. Adding container capabilities enables
+you to run new types of applications and to deploy new archive types in
+{productName}.
+
+For more information, see
+link:adding-container-capabilities.html#ghmon[Adding Container
+Capabilities].
+
+[[gktld]][[GSACG00179]][[creating-a-session-persistence-module]]
+
+==== Creating a Session Persistence Module
+
+{productName} enables you to create a session persistence module in
+the web container for high availability-related functionality by
+implementing the `PersistenceStrategyBuilder` interface . Using the
+`PersistenceStrategyBuilder` interface in an HK2 service makes the
+session manager extensible because you can implement a new persistence
+type without having to modify the web container code.
+
+For information about other high-availability, session persistence
+solutions, see "link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session
+Persistence and Failover]" in {productName} High
+Availability Administration Guide.
+
+For more information, see
+link:session-persistence-modules.html#gkmhj[Creating a Session
+Persistence Module].
+
+[[ghoiu]][[GSACG00180]][[packaging-and-delivering-an-add-on-component]]
+
+==== Packaging and Delivering an Add-On Component
+
+Packaging an add-on component enables the component to interact with the
+{productName} kernel in the same way as other components. Integrating
+a component with {productName} enables {productName} to discover
+the component at runtime. If an add-on component is an extension or
+update to existing installations of {productName}, deliver the
+component through Update Tool.
+
+For more information, see
+link:packaging-integrating-delivering.html#ghmxp[Packaging, Integrating,
+and Delivering an Add-On Component].
+
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/loe.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..d2e4b08
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,130 @@
+type=page
+status=published
+title=List of Examples
+next=lot.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:writing-hk2-components.html#ghoqv[2-1 Example Implementation of
+PostContruct and PreDestroy]
+* link:writing-hk2-components.html#ghquz[2-2 Example of Instantiation
+Cascading]
+* link:writing-hk2-components.html#ghoip[2-3 Example of the Optional
+Elements of the @Service Annotation]
+* link:writing-hk2-components.html#ghqsa[2-4 Example of the Maven Plug-In
+Configuration]
+* link:writing-hk2-components.html#ghoik[2-5 Example of META-INF/services
+File Generation]
+* link:extending-the-admin-console.html#ghosz[3-1 Example ConsoleProvider
+Implementation]
+* link:extending-the-admin-console.html#ghpmb[3-2 Example Tree Node
+Integration Point]
+* link:extending-the-admin-console.html#ghpmn[3-3 Example JavaServer
+Faces Page for a Tree Node]
+* link:extending-the-admin-console.html#ghplc[3-4 Example Tab Integration
+Point]
+* link:extending-the-admin-console.html#ghplu[3-5 Example Tab Set
+Integration Points]
+* link:extending-the-admin-console.html#ghpnt[3-6 Example JavaServer
+Faces Page for a Tab]
+* link:extending-the-admin-console.html#ghpox[3-7 Example Task
+Integration Point]
+* link:extending-the-admin-console.html#gjkgd[3-8 Example JavaServer
+Faces Page for a Task]
+* link:extending-the-admin-console.html#ghplk[3-9 Example Task Group
+Integration Point]
+* link:extending-the-admin-console.html#ghpqe[3-10 Example JavaServer
+Faces Page for a Task Group]
+* link:extending-the-admin-console.html#ghpnu[3-11 Example Resources Page
+Implementation Point]
+* link:extending-the-admin-console.html#ghpoz[3-12 Example JavaServer
+Faces Page for a Resource Page Item]
+* link:extending-the-admin-console.html#ghple[3-13 Example JavaServer
+Faces Page for a Property Sheet]
+* link:extending-the-admin-console.html#ghpls[3-14 Example Custom Theme
+Integration Point]
+* link:extending-the-admin-console.html#ghpla[3-15 Example of Branding
+Integration Points]
+* link:extending-asadmin.html#ghrqq[4-1 Adding an asadmin Subcommand]
+* link:extending-asadmin.html#ghpuh[4-2 Adding Parameters to an asadmin
+Subcommand]
+* link:extending-asadmin.html#ghpvm[4-3 Adding Message Strings to an
+asadmin Subcommand]
+* link:extending-asadmin.html#ghrfh[4-4 BrandingVersion.properties File
+for Changing the Brand in the {productName} CLI]
+* link:extending-asadmin.html#ghrnt[4-5 asadmin Subcommand With Empty
+execute Method]
+* link:extending-asadmin.html#ghrsi[4-6 asadmin Subcommand for Retrieving
+and Displaying Information]
+* link:extending-asadmin.html#gkbdf[4-7 asadmin Subcommand for Updating
+Configuration Data]
+* link:adding-monitoring-capabilities.html#ghprw[5-1 Defining an Event
+Provider by Writing a Java Class]
+* link:adding-monitoring-capabilities.html#gkajj[5-2 Defining an Event
+Provider by Writing an XML Fragment]
+* link:adding-monitoring-capabilities.html#gkaii[5-3 Manifest Entry for
+Event Providers That Are Defined as Java Classes]
+* link:adding-monitoring-capabilities.html#ghpus[5-4 Sending an Event]
+* link:adding-monitoring-capabilities.html#ghpsc[5-5 Representing a
+Component's Statistics in an Event Listener Class]
+* link:adding-monitoring-capabilities.html#ghpwu[5-6 Subscribing to
+Events From Event Provider Classes]
+* link:adding-monitoring-capabilities.html#ghpuu[5-7 Registering an Event
+Listener]
+* link:adding-monitoring-capabilities.html#ghpna[5-8 Event Provider
+Class]
+* link:adding-monitoring-capabilities.html#ghpmu[5-9 Bootstrap Class]
+* link:adding-monitoring-capabilities.html#ghpvw[5-10 Listener Class]
+* link:adding-monitoring-capabilities.html#ghpuc[5-11 MBean Interface]
+* link:adding-monitoring-capabilities.html#ghpwx[5-12 MBean
+Implementation]
+* link:adding-configuration-data.html#gjcne[6-1 Declaration of an
+Interface That Defines an Element]
+* link:adding-configuration-data.html#sthref7[6-2 Defining an Attribute
+of an Element]
+* link:adding-configuration-data.html#gjzjt[6-3 Declaring an Interface to
+Represent a Subelement]
+* link:adding-configuration-data.html#gjzkh[6-4 Identifying a Subelement
+to its Parent Element]
+* link:adding-configuration-data.html#gjrmp[6-5 Specifying a Range of
+Valid Values for an Integer]
+* link:adding-configuration-data.html#gjzkq[6-6 Specifying Regular
+Expression Matching]
+* link:adding-configuration-data.html#gkaba[6-7 XML Data Fragment]
+* link:adding-configuration-data.html#gkabo[6-8 Writing a Component's
+Initial Configuration Data to the domain.xml File]
+* link:adding-configuration-data.html#gjski[6-9 domain.xml File After
+Initialization]
+* link:adding-configuration-data.html#sthref9[6-10 Creating a Transaction
+to Update Configuration Data]
+* link:adding-configuration-data.html#gkamy[6-11 Parent Element
+Definition]
+* link:adding-configuration-data.html#gkamb[6-12 Subelement Definition]
+* link:adding-configuration-data.html#gkamk[6-13 XML Data Fragment for
+Initializing the greeter-container-config Element]
+* link:adding-container-capabilities.html#ghojg[7-1 Example
+Implementation of Container]
+* link:adding-container-capabilities.html#ghoiv[7-2 Example
+Implementation of Deployer]
+* link:adding-container-capabilities.html#gkamr[7-3 Annotation to Denote
+a Container's Component]
+* link:adding-container-capabilities.html#gkand[7-4 Application Container
+Class]
+* link:adding-container-capabilities.html#gkamm[7-5 Container Class]
+* link:adding-container-capabilities.html#gkalo[7-6 Deployer Class]
+* link:adding-container-capabilities.html#gkaks[7-7 Sniffer Class]
+* link:adding-container-capabilities.html#gkaki[7-8 Container Client
+Class]
+* link:adding-container-capabilities.html#gkalf[7-9 Component for
+Container Client]
+* link:adding-container-capabilities.html#gkaly[7-10 Deployment
+Descriptor for Container Client]
+* link:session-persistence-modules.html#sthref10[8-1 Implementing
+PersistenceStrategyBuilder With a Custom Web Session Manager]
+* link:session-persistence-modules.html#sthref11[8-2 Session Manager
+Configuration in the glassfish-web.xml File]
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/lot.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..e410d02
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,14 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=loe.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:adding-configuration-data.html#gjrlg[6-1 Commonly Used Annotations
+for Validating {productName} Configuration Data]
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/packaging-integrating-delivering.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/packaging-integrating-delivering.adoc
new file mode 100644
index 0000000..7c465f0
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/packaging-integrating-delivering.adoc
@@ -0,0 +1,71 @@
+type=page
+status=published
+title=Packaging, Integrating, and Delivering an Add-On Component
+next=integration-point-reference.html
+prev=session-persistence-modules.html
+~~~~~~
+
+= Packaging, Integrating, and Delivering an Add-On Component
+
+[[GSACG00009]][[ghmxp]]
+
+
+[[packaging-integrating-and-delivering-an-add-on-component]]
+== Packaging, Integrating, and Delivering an Add-On Component
+
+Packaging an add-on component enables the component to interact with the
+{productName} kernel in the same way as other components. Integrating
+a component with {productName} enables {productName} to discover
+the component at runtime. If an add-on component is an extension or
+update to existing installations of {productName}, deliver the
+component through Update Tool.
+
+The following topics are addressed here:
+
+* link:#ghpun[Packaging an Add-On Component]
+* link:#ghmne[Integrating an Add-On Component With {productName}]
+* link:#ghpuz[Delivering an Add-On Component Through Update Tool]
+
+[[ghpun]][[GSACG00142]][[packaging-an-add-on-component]]
+
+=== Packaging an Add-On Component
+
+To enable an add-on component to plug in to the {productName} kernel
+in the same way as other components, package the component as an OSGi
+bundle.
+
+A bundle is the unit of deployment in the OSGi module management
+subsystem. To package a component as an OSGi bundle, package the
+component's constituent files in a Java archive (JAR) file with
+appropriate manifest entries. The manifest entries provide information
+about the component that is required to enable the component to be
+plugged into the {productName} kernel, such as:
+
+* Name
+* Version
+* Dependencies
+* Capabilities
+
+[[ghmne]][[GSACG00143]][[integrating-an-add-on-component-with-glassfish-server]]
+
+=== Integrating an Add-On Component With {productName}
+
+Integrating an add-on component with {productName} enables {productName} to
+discover the component at runtime. To integrate an add-on
+component with {productName}, ensure that the JAR file that contains
+the component is copied to or installed in the as-install``/modules/`` directory.
+
+[[ghpuz]][[GSACG00144]][[delivering-an-add-on-component-through-update-tool]]
+
+=== Delivering an Add-On Component Through Update Tool
+
+If an add-on component is an extension or update to existing
+installations of {productName}, deliver the component through Update
+Tool. To deliver an add-on component through Update Tool, create an
+Image Packaging System (IPS) package to contain the component and add
+the package to a suitable IPS package repository.
+
+For information about how to create IPS packages, see the
+http://wikis.oracle.com/display/IpsBestPractices/[IPS best practices
+document] (`http://wikis.oracle.com/display/IpsBestPractices/`).
+
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/preface.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..6064458
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,330 @@
+type=page
+status=published
+title=Preface
+next=introduction.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[sthref2]]
+[[preface]]
+== Preface
+
+This document explains how to use published interfaces of
+{productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that
+ensure that the add-on component is suitable for {productName}.
+
+This document is for software developers who are developing add-on
+components for {productName}. This document assumes that the
+developers are working with a distribution of {productName}. Access
+to the source code of the GlassFish project is not required to perform
+the tasks in this document. This document also assumes the ability to
+program in the Java language.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSACG00079]][[ghpbz]]
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSACG00080]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[GSACG00081]][[fwbkx]]
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSACG00082]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSACG00083]][[ghpfg]]
+
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/session-persistence-modules.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/session-persistence-modules.adoc
new file mode 100644
index 0000000..6b0f84e
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/session-persistence-modules.adoc
@@ -0,0 +1,169 @@
+type=page
+status=published
+title=Creating a Session Persistence Module
+next=packaging-integrating-delivering.html
+prev=adding-container-capabilities.html
+~~~~~~
+
+= Creating a Session Persistence Module
+
+[[GSACG00008]][[gkmhj]]
+
+
+[[creating-a-session-persistence-module]]
+== Creating a Session Persistence Module
+
+{productName} enables you to create a session persistence module in
+the web container for high availability-related functionality by
+implementing the `PersistenceStrategyBuilder` interface . Using the
+`PersistenceStrategyBuilder` interface in an HK2 service makes the
+session manager extensible because you can implement a new persistence
+type without having to modify the web container code.
+
+For information about other high-availability, session persistence
+solutions, see "link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session
+Persistence and Failover]" in {productName} High
+Availability Administration Guide.
+
+[[gkmhr]][[GSACG00141]][[implementing-the-persistencestrategybuilder-interface]]
+
+=== Implementing the `PersistenceStrategyBuilder` Interface
+
+You can implement the `PersistenceStrategyBuilder` interface by creating
+a new web session manager type.
+
+[source,java]
+----
+
+package com.sun.enterprise.web;
+
+import com.sun.enterprise.deployment.runtime.web.SessionManager;
+import org.apache.catalina.Context;
+import org.jvnet.hk2.annotations.Contract;
+
+@Contract
+public interface PersistenceStrategyBuilder {
+
+    public void initializePersistenceStrategy(
+            Context ctx,
+            SessionManager smBean,
+            ServerConfigLookup serverConfigLookup);
+
+    public void setPersistenceFrequency(String persistenceFrequency);
+
+    public void setPersistenceScope(String persistenceScope);
+
+    public void setPassedInPersistenceType(String persistenceType);
+}
+----
+
+Here is an example of how to implement the `PersistenceStrategyBuilder`
+interface by creating a new web session manager and setting a store for
+it:
+
+[source,java]
+----
+
+@Service(name="xyz")
+public class XYZStrategyBuilder implements PersistenceStrategyBuilder {
+
+    private String persistenceFrequency = null;
+    private String persistenceScope = null;
+    private String persistenceType = null;
+
+    public void init(StandardContext ctx, SessionManager sessionManager,
+      ServerConfigLookup serverConfigLookup) {
+        // add listeners, valves, etc. to the ctx
+        // Set the manager and store
+    }
+
+    public void setPersistenceFrequency(String persistenceFrequency) {
+        this.persistenceFrequency = persistenceFrequency;
+    }
+
+    public void setPersistenceScope(String persistenceScope) {
+        this.persistenceScope = persistenceScope;
+    }
+
+    public void setPassedInPersistenceType(String persistenceType) {
+        this.passedInPersistenceType = persistenceType;
+    }
+}
+----
+
+If a `Manager` is provided, then it will be used in {productName}.
+
+
+[NOTE]
+====
+If a backing store is required, it is the responsibility of the
+`Manager` to make sure that the `findSession` method correctly uses the
+`Store` that the `Manager` provides.
+====
+
+[[sthref10]]
+
+Example 8-1 Implementing `PersistenceStrategyBuilder` With a Custom Web
+Session Manager
+
+This example defines a session manager type that is named
+`MyHASolution`.
+
+[source,java]
+----
+
+@Service(name="MyHASolution")
+public class MyHASolutionStrategyBuilder implements PersistenceStrategyBuilder {
+
+    private String persistenceFrequency = null;
+    private String persistenceScope = null;
+    private String persistenceType = null;
+
+    public void init(StandardContext ctx, SessionManager sessionManager,
+      ServerConfigLookup serverConfigLookup) {
+        // add listeners, valves, etc. to the ctx
+        // Set the manager and store
+        MyManager myManager = new MyManager(persistenceType, persistenceFrequency);
+        // (You could also make this a service and look it up in the habitat.
+        // For simplicity we are just doing a new implementation of the class here.)
+        MyStore store = new MyStore();
+        myManager.setStore(store);
+        ctx.setManager(myManager);
+    }
+
+    public void setPersistenceFrequency(String persistenceFrequency) {
+        this.persistenceFrequency = persistenceFrequency;
+    }
+
+    public void setPersistenceScope(String persistenceScope) {
+        this.persistenceScope = persistenceScope;
+    }
+
+    public void setPassedInPersistenceType(String persistenceType) {
+        this.passedInPersistenceType = persistenceType;
+
+    }
+
+}
+----
+
+[[sthref11]]
+
+Example 8-2 Session Manager Configuration in the `glassfish-web.xml`
+File
+
+This example sets the `persistence-type` attribute of the
+`session-manager` element of `glassfish-web.xml` to `myHASolution`
+
+Based on the `domain.xml` and `glassfish-web.xml` settings, the web
+container looks up the appropriate `PersistenceStrategyBuilder`
+interface in the Habitat and uses it.
+
+[source,xml]
+----
+       <glassfish-web-app>
+         <session-config>
+           <session-manager persistence-type="myHASolution"/>
+         <session-config>
+       <glassfish-web-app>
+----
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/title.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..efd9633
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,55 @@
+type=page
+status=published
+title={productName} Add-On Component Development Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Add-On Component Development Guide, Release 7
+
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Add-On Component Development Guide
+
+Release 7
+
+Contributed 2018-2022
+
+This document explains how to use published interfaces of {productName} to develop add-on components for {productName}. This document explains how to perform only those tasks that
+ensure that the add-on component is suitable for {productName}.
+
+This document is for software developers who are developing add-on
+components for {productName}. This document assumes that the
+developers are working with a distribution of {productName}. Access
+to the source code of the GlassFish project is not required to perform
+the tasks in this document. This document also assumes the ability to
+program in the Java language.
+
+[[sthref1]]
+
+'''''
+
+{productName} Add-On Component Development Guide,
+Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/add-on-component-development-guide/src/main/asciidoc/writing-hk2-components.adoc b/docs/add-on-component-development-guide/src/main/asciidoc/writing-hk2-components.adoc
new file mode 100644
index 0000000..6055232
--- /dev/null
+++ b/docs/add-on-component-development-guide/src/main/asciidoc/writing-hk2-components.adoc
@@ -0,0 +1,410 @@
+type=page
+status=published
+title=Writing HK2 Components
+next=extending-the-admin-console.html
+prev=introduction.html
+~~~~~~
+
+= Writing HK2 Components
+
+[[GSACG00002]][[ghmna]]
+
+
+[[writing-hk2-components]]
+== Writing HK2 Components
+
+The Hundred-Kilobyte Kernel (HK2) is the lightweight and extensible
+kernel of {productName}. To interact with {productName}, add-on
+components plug in to this kernel. In the HK2 component model, the
+functions of an add-on component are declared through a contract-service
+implementation paradigm. An HK2 contract identifies and describes the
+building blocks or the extension points of an application. An HK2
+service implements an HK2 contract.
+
+The following topics are addressed here:
+
+* link:#ghokq[HK2 Component Model]
+* link:#ghojt[Services in the HK2 Component Model]
+* link:#ghokt[HK2 Runtime]
+* link:#ghojb[Inversion of Control]
+* link:#ghmoe[Identifying a Class as an Add-On Component]
+* link:#ghpvp[Using the Apache Maven Build System to Develop HK2 Components]
+
+[[ghokq]][[GSACG00091]][[hk2-component-model]]
+
+=== HK2 Component Model
+
+The Hundred-Kilobyte Kernel (HK2) provides a module system and component
+model for building complex software systems. HK2 forms the core of
+{productName}'s architecture.
+
+The module system is responsible for instantiating classes that
+constitute the application functionality. The HK2 runtime complements
+the module system by creating objects. It configures such objects by:
+
+* Injecting other objects that are needed by a newly instantiated object
+* Injecting configuration information needed for that object
+* Making newly created objects available, so that they can then be
+injected to other objects that need it
+
+[[ghojt]][[GSACG00092]][[services-in-the-hk2-component-model]]
+
+=== Services in the HK2 Component Model
+
+An HK2 service identifies the building blocks or the extension points of
+an application. A service is a plain-old Java object (POJO) with the
+following characteristics:
+
+* The object implements an interface.
+* The object is declared in a JAR file with the `META-INF/services`
+file.
+
+To clearly separate the contract interface and its implementation, the
+HK2 runtime requires the following information:
+
+* Which interfaces are contracts
+* Which implementations of such interfaces are services
+
+Interfaces that define a contract are identified by the
+`org.jvnet.hk2.annotations.Contract` annotation.
+
+[source,java]
+----
+@Retention(RUNTIME)
+@Target(TYPE)
+public @interface Contract {
+}
+----
+
+Implementations of such contracts should be identified with an
+`org.jvnet.hk2.annotations.Service` annotation so that the HK2 runtime
+can recognize them as `@Contract` implementations.
+
+[source,java]
+----
+@Retention(RUNTIME)
+@Target(TYPE)
+public @interface Service {
+    ...
+}
+----
+
+For more information, see
+http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html[`Service`]
+(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html`).
+
+[[ghokt]][[GSACG00093]][[hk2-runtime]]
+
+=== HK2 Runtime
+
+Once Services are defined, the HK2 runtime can be used to instantiate or
+retrieve instances of services. Each service instance has a scope,
+specified as singleton, per thread, per application, or a custom scope.
+
+[[ghoib]][[GSACG00181]][[scopes-of-services]]
+
+==== Scopes of Services
+
+You can specify the scope of a service by adding an
+`org.jvnet.hk2.annotations.Scoped` annotation to the class-level of your
+`@Service` implementation class. Scopes are also services, so they can
+be custom defined and added to the HK2 runtime before being used by
+other services. Each scope is responsible for storing the service
+instances to which it is tied; therefore, the HK2 runtime does not rely
+on predefined scopes (although it comes with a few predefined ones).
+
+[source,java]
+----
+@Contract
+public abstract class Scope {
+    public abstract ScopeInstance current();
+}
+----
+
+The following code fragment shows how to set the scope for a service to
+the predefined `Singleton` scope:
+
+[source,java]
+----
+@Service
+public Singleton implements Scope {
+    ...
+}
+
+@Scope(Singleton.class)
+@Service
+public class SingletonService implements RandomContract {
+    ...
+}
+----
+
+You can define a new `Scope` implementation and use that scope on your
+`@Service` implementations. You will see that the HK2 runtime uses the
+`Scope` instance to store and retrieve service instances tied to that
+scope.
+
+[[ghoky]][[GSACG00182]][[instantiation-of-components-in-hk2]]
+
+==== Instantiation of Components in HK2
+
+Do not call the `new` method to instantiate components. Instead,
+retrieve components by using the `Habitat` instance. The simplest way to
+use the `Habitat` instance is through a `getComponent(Class`T
+`contract)` call:
+
+[source,java]
+----
+public <T> T getComponent(Class<T> clazz) throws ComponentException;
+----
+
+More APIs are available at
+http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/Habitat.html[`Habitat`]
+(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/Habitat.html`).
+
+[[ghois]][[GSACG00183]][[hk2-lifecycle-interfaces]]
+
+==== HK2 Lifecycle Interfaces
+
+Components can attach behaviors to their construction and destruction
+events by implementing the
+http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PostConstruct.html[`org.jvnet.hk2.component.PostConstruct`]
+(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PostConstruct.html`)
+interface, the
+http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PreDestroy.html[`org.jvnet.hk2.component.PreDestroy`]
+(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PreDestroy.html`)
+interface, or both. These are interfaces rather than annotations for
+performance reasons.
+
+The `PostConstruct` interface defines a single method, `postConstruct`,
+which is called after a component has been initialized and all its
+dependencies have been injected.
+
+The `PreDestroy` interface defines a single method, `preDestroy`, which
+is called just before a component is removed from the system.
+
+[[GSACG00014]][[ghoqv]]
+Example 2-1 Example Implementation of `PostContruct` and `PreDestroy`
+
+[source,java]
+----
+@Service(name="com.example.container.MyContainer")
+public class MyContainer implements Container, PostConstruct, PreDestroy {
+    @Inject
+    Logger logger;
+    ...
+    public void postConstruct() {
+        logger.info("Starting up.");
+    }
+
+    public void preDestroy() {
+        logger.info("Shutting down.");
+    }
+}
+
+----
+
+[[ghojb]][[GSACG00094]][[inversion-of-control]]
+
+=== Inversion of Control
+
+Inversion of control (IoC) refers to a style of software architecture
+where the behavior of a system is determined by the runtime capabilities
+of the individual, discrete components that make up the system. This
+architecture is different from traditional styles of software
+architecture, where all the components of a system are specified at
+design-time. With IoC, discrete components respond to high-level events
+to perform actions. While performing these actions, the components
+typically rely on other components to provide other actions. In an IoC
+system, components use injection to gain access to other components.
+
+[[ghoiz]][[GSACG00184]][[injecting-hk2-components]]
+
+==== Injecting HK2 Components
+
+Services usually rely on other services to perform their tasks. The HK2
+runtime identifies the `@Contract` implementations required by a service
+by using the
+http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Inject.html[`org.jvnet.hk2.annotations.Inject`]
+(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Inject.html`)
+annotation. `Inject` can be placed on fields or setter methods of any
+service instantiated by the HK2 runtime. The target service is retrieved
+and injected during the calling service's instantiation by the component
+manager.
+
+The following example shows how to use `@Inject` at the field level:
+
+[source,java]
+----
+@Inject
+ConfigService config;
+----
+
+The following example shows how to use `@Inject` at the setter level:
+
+[source,java]
+----
+@Inject
+public void set(ConfigService svc) {...}
+----
+
+Injection can further qualify the intended injected service
+implementation by using a name and scope from which the service should
+be available:
+
+[source,java]
+----
+@Inject(Scope=Singleton.class, name="deploy")
+AdminCommand deployCommand;
+----
+
+[[ghoic]][[GSACG00186]][[instantiation-cascading-in-hk2]]
+
+==== Instantiation Cascading in HK2
+
+Injection of instances that have not been already instantiated triggers
+more instantiation. You can see this as a component instantiation
+cascade where some code requests for a high-level service will, by using
+the `@Inject` annotation, require more injection and instantiation of
+lower level services. This cascading feature keeps the implementation as
+private as possible while relying on interfaces and the separation of
+contracts and providers.
+
+[[GSACG00015]][[ghquz]]
+Example 2-2 Example of Instantiation Cascading
+
+The following example shows how the instantiation of `DeploymentService`
+as a `Startup` contract implementation will trigger the instantiation of
+the `ConfigService`.
+
+[source,java]
+----
+@Contract
+public interface Startup {...}
+
+Iterable<Startup> startups;
+startups = habitat.getComponents(Startup.class);
+
+@Service
+public class DeploymentService implements Startup {
+    @Inject
+    ConfigService config;
+}
+
+@Service
+public Class ConfigService implements ... {...}
+----
+
+[[ghmoe]][[GSACG00095]][[identifying-a-class-as-an-add-on-component]]
+
+=== Identifying a Class as an Add-On Component
+
+{productName} discovers add-on components by identifying Java
+programming language classes that are annotated with the
+`org.jvnet.hk2.annotation.Service` annotation.
+
+To identify a class as an implementation of an {productName} service,
+add the `org.jvnet.hk2.annotations.Service` annotation at the
+class-definition level of your Java programming language class.
+
+[source,java]
+----
+@Service
+public class SamplePlugin implements ConsoleProvider {
+...
+}
+----
+
+The `@Service` annotation has the following elements. All elements are
+optional.
+
+`name`::
+  The name of the service. The default value is an empty string.
+`scope`::
+  The scope to which this service implementation is tied. The default
+  value is `org.glassfish.hk2.scopes.PerLookup.class`.
+`factory`::
+  The factory class for the service implementation, if the service is
+  created by a factory class rather than by calling the default
+  constructor. If this element is specified, the factory component is
+  activated, and `Factory.getObject` is used instead of the default
+  constructor. The default value of the `factory` element is
+  `org.jvnet.hk2.component.Factory.class`.
+
+[[GSACG00016]][[ghoip]]
+Example 2-3 Example of the Optional Elements of the `@Service` Annotation
+
+The following example shows how to use the optional elements of the
+`@Service` annotation:
+
+[source,java]
+----
+@Service (name="MyService",
+    scope=com.example.PerRequest.class,
+    factory=com.example.MyCustomFactory)
+public class SamplePlugin implements ConsoleProvider {
+...
+}
+----
+
+[[ghpvp]][[GSACG00096]][[using-the-apache-maven-build-system-to-develop-hk2-components]]
+
+=== Using the Apache Maven Build System to Develop HK2 Components
+
+If you are using Maven 2 to build HK2 components, invoke the
+`auto-depends` plug-in for Maven so that the `META-INF/services` files
+are generated automatically during build time.
+
+[[GSACG00017]][[ghqsa]]
+Example 2-4 Example of the Maven Plug-In Configuration
+
+[source,xml]
+----
+<plugin>
+    <groupId>org.glassfish.hk2</groupId>
+    <artifactId>hk2-maven-plugin</artifactId>
+    <configuration>
+        <includes>
+            <include>com/example/**</include>
+        </includes>
+    </configuration>
+</plugin>
+----
+
+[[GSACG00018]][[ghoik]]
+Example 2-5 Example of `META-INF/services` File Generation
+
+This example shows how to use
+http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Contract.html[`@Contract`]
+(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Contract.html`)
+and
+http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html[`@Service`]
+(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html`)
+and the resulting `META-INF/services` files.
+
+The interfaces and classes in this example are as follows:
+
+[source,java]
+----
+package com.example.wallaby.annotations;
+@Contract
+public interface Startup {...}
+
+package com.example.wombat;
+@Contract
+public interface RandomContract {...}
+
+package com.example.wallaby;
+@Service
+public class MyService implements Startup, RandomContract, PropertyChangeListener {
+    ...
+}
+----
+
+These interfaces and classes generate this `META-INF/services` file with
+the `MyService` content:
+
+[source]
+----
+com.example.wallaby.annotations.Startup
+com.example.wombat.RandomContract
+----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/assets/css/style.css b/docs/add-on-component-development-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/adding-configuration-data.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/adding-configuration-data.adoc
deleted file mode 100644
index ffd1c43..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/adding-configuration-data.adoc
+++ /dev/null
@@ -1,881 +0,0 @@
-type=page
-status=published
-title=Adding Configuration Data for a Component
-next=adding-container-capabilities.html
-prev=adding-monitoring-capabilities.html
-~~~~~~
-Adding Configuration Data for a Component
-=========================================
-
-[[GSACG00006]][[gjlpe]]
-
-
-[[adding-configuration-data-for-a-component]]
-6 Adding Configuration Data for a Component
--------------------------------------------
-
-The configuration data of a component determines the characteristics and
-runtime behavior of a component. Eclipse GlassFish provides interfaces to
-enable an add-on component to store its configuration data in the same
-way as other GlassFish Server components. These interfaces are similar
-to interfaces that are defined in
-[Jakarta XML Binding](`https://jakarta.ee/specifications/xml-binding/`). By using these interfaces to
-store configuration data, you ensure that the add-on component is fully
-integrated with GlassFish Server. As a result, administrators can
-configure an add-on component in the same way as they can configure
-other GlassFish Server components.
-
-The following topics are addressed here:
-
-* link:#gjrdv[How GlassFish Server Stores Configuration Data]
-* link:#gjlop[Defining an Element]
-* link:#gjlpb[Defining an Attribute of an Element]
-* link:#gjlov[Defining a Subelement]
-* link:#gjlpu[Validating Configuration Data]
-* link:#gjrdj[Initializing a Component's Configuration Data]
-* link:#gjrcz[Creating a Transaction to Update Configuration Data]
-* link:#gjmkt[Dotted Names and REST URLs of Configuration Attributes]
-* link:#gkaal[Examples of Adding Configuration Data for a Component]
-
-[[gjrdv]][[GSACG00121]][[how-glassfish-server-stores-configuration-data]]
-
-How GlassFish Server Stores Configuration Data
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server stores the configuration data for a domain in a single
-configuration file that is named `domain.xml`. This file is an
-extensible markup language (XML) instance that contains a hierarchy of
-elements to represent a domain's configuration. The content model of
-this XML instance is not defined in a document type definition (DTD) or
-an XML schema. Instead, the content model is derived from Java language
-interfaces with appropriate annotations. You use these annotations to
-add configuration data for a component as explained in the sections that
-follow.
-
-[[gjlop]][[GSACG00122]][[defining-an-element]]
-
-Defining an Element
-~~~~~~~~~~~~~~~~~~~
-
-An element represents an item of configuration data. For example, to
-represent the configuration data for a network listener, GlassFish
-Server defines the `network-listener` element.
-
-Define an element for each item of configuration data that you are
-adding.
-
-[[gjcnt]][[GSACG00074]][[to-define-an-element]]
-
-To Define an Element
-^^^^^^^^^^^^^^^^^^^^
-
-1.  Define a Java language interface to represent the element. +
-Define one interface for each element. Do not represent multiple
-elements in a single interface. +
-The name that you give to the interface determines name of the element
-as follows:
-* A change from lowercase to uppercase in the interface name is
-transformed to the hyphen (`-`) separator character.
-* The element name is all lowercase. +
-For example, to define an interface to represent the
-`wombat-container-config` element, give the name `WombatContainerConfig`
-to the interface.
-2.  Specify the parent of the element. +
-To specify the parent, extend the interface that identifies the parent
-as shown in the following table. +
-[width="100%",cols="<27%,<73%",options="header",]
-|=======================================================================
-|Parent Element |Interface to Extend
-|`config` |`org.glassfish.api.admin.config.Container`
-
-|`applications` |`org.glassfish.api.admin.config.ApplicationName`
-
-|Another element that you are defining
-|`org.jvnet.hk2.config.ConfigBeanProxy`
-|=======================================================================
-
-3.  Annotate the declaration of the interface with the
-`org.jvnet.hk2.config.Configured` annotation.
-
-[[GSACG00053]][[gjcne]]
-
-
-Example 6-1 Declaration of an Interface That Defines an Element
-
-This example shows the declaration of the `WombatContainerConfig`
-interface that represents the `wombat-container-config` element. The
-parent of this element is the `config` element.
-
-[source,oac_no_warn]
-----
-...
-import org.jvnet.hk2.config.Configured;
-...
-import org.glassfish.api.admin.config.Container;
-...
-@Configured
-public interface WombatContainerConfig extends Container {
-...
-}
-----
-
-[[sthref6]]
-
-How Interfaces That Are Annotated With @Configured Are Implemented
-
-You are not required to implement any interfaces that you annotate with
-the `@Configured` annotation. GlassFish Server implements these
-interfaces by using the `Dom` class. GlassFish Server creates a Java
-Platform, Standard Edition (Java SE) proxy for each `Dom` object to
-implement the interface.
-
-[[gjlpb]][[GSACG00123]][[defining-an-attribute-of-an-element]]
-
-Defining an Attribute of an Element
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The attributes of an element describe the characteristics of the
-element. For example, the `port` attribute of the `network-listener`
-element identifies the port number on which the listener listens.
-
-[[gjorj]][[GSACG00227]][[representing-an-attribute-of-an-element]]
-
-Representing an Attribute of an Element
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Represent each attribute of an element as the property of a pair of
-JavaBeans specification getter and setter methods of the interface that
-defines the element. The component for which the configuration data is
-being defined can then access the attribute through the getter method.
-The setter method enables the attribute to be updated.
-
-[[gjopa]][[GSACG00228]][[specifying-the-data-type-of-an-attribute]]
-
-Specifying the Data Type of an Attribute
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The data type of an attribute is the return type of the getter method
-that is associated with the attribute. To enable the attribute take
-properties in the form `${`property-name`}` as values, specify the data
-type as `String`.
-
-[[gjopm]][[GSACG00229]][[identifying-an-attribute-of-an-element]]
-
-Identifying an Attribute of an Element
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To identify an attribute of an element, annotate the declaration of the
-getter method that is associated with the attribute with the
-`org.jvnet.hk2.config.Attribute` annotation.
-
-To specify the properties of the attribute, use the elements of the
-`@Attribute` annotation as explained in the sections that follow.
-
-[[gjopq]][[GSACG00230]][[specifying-the-name-of-an-attribute]]
-
-Specifying the Name of an Attribute
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To specify the name of an attribute, set the `value` element of the
-`@Attribute` annotation to a string that specifies the name. If you do
-not set this element, the name is derived from the name of the property
-as follows:
-
-* A change from lowercase to uppercase in the interface name is
-transformed to the hyphen (`-`) separator character.
-* The element name is all lowercase.
-
-For example, if the getter method `getNumberOfInstances` is defined for
-the property `NumberOfInstances` to represent an attribute, the name of
-the attribute is `number-of-instances`.
-
-[[gjoqj]][[GSACG00231]][[specifying-the-default-value-of-an-attribute]]
-
-Specifying the Default Value of an Attribute
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The default value of an attribute is the value that is applied if the
-attribute is omitted when the element is written to the domain
-configuration file.
-
-To specify the default value of an attribute, set the `defaultValue`
-element of the `@Attribute` annotation to a string that contains the
-default value. If you do not set this element, the parameter has no
-default value.
-
-[[gjoui]][[GSACG00232]][[specifying-whether-an-attribute-is-required-or-optional]]
-
-Specifying Whether an Attribute Is Required or Optional
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Whether an attribute is required or optional determines how GlassFish
-Server responds if the parameter is omitted when the element is written
-to the domain configuration file:
-
-* If the attribute is required, an error occurs.
-* If the attribute is optional, the element is written successfully to
-the domain configuration file.
-
-To specify whether an attribute is required or optional, set the
-`required` element of the `@Attribute` annotation as follows:
-
-* If the attribute is required, set the `required` element to `true`.
-* If the attribute is optional, set the `required` element to `false`.
-This value is the default.
-
-[[gjrdz]][[GSACG00233]][[example-of-defining-an-attribute-of-an-element]]
-
-Example of Defining an Attribute of an Element
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref7]]
-
-Example 6-2 Defining an Attribute of an Element
-
-This example defines the attribute `number-of-instances`. To enable the
-attribute take properties in the form `${`property-name`}` as values,
-the data type of this attribute is `String`.
-
-[source,oac_no_warn]
-----
-import org.jvnet.hk2.config.Attribute;
-...
-    @Attribute
-    public String getNumberOfInstances();
-    public void setNumberOfInstances(String instances) throws PropertyVetoException;
-...
-----
-
-[[gjlov]][[GSACG00124]][[defining-a-subelement]]
-
-Defining a Subelement
-~~~~~~~~~~~~~~~~~~~~~
-
-A subelement represents a containment or ownership relationship. For
-example, GlassFish Server defines the `network-listeners` element to
-contain the configuration data for individual network listeners. The
-configuration data for an individual network listener is represented by
-the `network-listener` element, which is a subelement of
-`network-listeners` element.
-
-[[gjzlb]][[GSACG00075]][[to-define-a-subelement]]
-
-To Define a Subelement
-^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Define an interface to represent the subelement. +
-For more information, see link:#gjlop[Defining an Element]. +
-The interface that represents the subelement must extend the
-`org.jvnet.hk2.config.ConfigBeanProxy` interface.
-2.  In the interface that defines the parent element, identify the
-subelement to its parent element.
-1.  Represent the subelement as the property of a JavaBeans
-specification getter or setter method.
-2.  Annotate the declaration of the getter or setter method that is
-associated with the subelement with the `org.jvnet.hk2.config.Element`
-annotation.
-
-[[GSACG00054]][[gjzjt]]
-
-
-Example 6-3 Declaring an Interface to Represent a Subelement
-
-This example shows the declaration of the `WombatElement` interface to
-represent the `wombat-element` element.
-
-[source,oac_no_warn]
-----
-...
-import org.jvnet.hk2.config.ConfigBeanProxy;
-import org.jvnet.hk2.config.Configured;
-...
-@Configured
-public interface WombatElement extends ConfigBeanProxy {
-...
-}
-...
-----
-
-[[GSACG00055]][[gjzkh]]
-
-
-Example 6-4 Identifying a Subelement to its Parent Element
-
-This example identifies the `wombat-element` element as a subelement.
-
-[source,oac_no_warn]
-----
-...
-import org.jvnet.hk2.config.Element;
-...
-import java.beans.PropertyVetoException;
-...
-@Element
-    public WombatElement getElement();
-    public void setElement(WombatElement element) throws PropertyVetoException;
-...
-----
-
-[[gjlpu]][[GSACG00125]][[validating-configuration-data]]
-
-Validating Configuration Data
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Validating configuration data ensures that attribute values that are
-being set or updated do not violate any constraints that you impose on
-the data. For example, you might require that an attribute that
-represents a name is not null, or an integer that represents a port
-number is within the range of available port numbers. Any attempt to set
-or update an attribute value that fails validation fails. Any
-validations that you specify for an attribute are performed when the
-attribute is initialized and every time the attribute is changed.
-
-To standardize the validation of configuration data, GlassFish Server
-uses https://jakarta.ee/specifications/bean-validation/[Jakarta Bean Validation]
-(`https://jakarta.ee/specifications/bean-validation/`) for validating configuration
-data. Jakarta Bean Validation defines a metadata model and API for the validation of
-JavaBeans components.
-
-To validate an attribute of an element, annotate the attribute's getter
-method with the annotation in the `jakarta.validation.constraints` package
-that performs the validation that you require. The following table lists
-commonly used annotations for validating GlassFish Server configuration
-data. For the complete list of annotations, see the
-https://jakarta.ee/specifications/bean-validation/3.0/apidocs/jakarta/validation/constraints/package-summary.html[`jakarta.validation.constraints`
-package summary]
-(`https://jakarta.ee/specifications/bean-validation/3.0/apidocs/jakarta/validation/constraints/package-summary.html`).
-
-[[sthref8]][[gjrlg]]
-
-Table 6-1 Commonly Used Annotations for Validating GlassFish Server
-Configuration Data
-
-[width="100%",cols="<37%,<63%",options="header",]
-|=======================================================================
-|Validation |Annotation
-|Not null |`jakarta.validation.constraints.NotNull`
-
-|Null |`jakarta.validation.constraints.Null`
-
-|Minimum value a|
-`jakarta.validation.constraints.Min`
-
-Set the `value` element of this annotation to the minimum allowed value.
-
-|Maximum value a|
-`jakarta.validation.constraints.Max`
-
-Set the `value` element of this annotation to the maximum allowed value.
-
-|Regular expression matching a|
-`jakarta.validation.constraints.Pattern`
-
-Set the `regexp` element of this annotation to the regular expression
-that is to be matched.
-
-|=======================================================================
-
-
-[[GSACG00056]][[gjrmp]]
-
-
-Example 6-5 Specifying a Range of Valid Values for an Integer
-
-This example specifies that the attribute `rotation-interval-in-minutes`
-must be a positive integer.
-
-[source,oac_no_warn]
-----
-...
-import jakarta.validation.constraints.Max;
-import jakarta.validation.constraints.Min;
-...
-@Min(value=1)
-@Max(value=Integer.MAX_VALUE)
-String getRotationIntervalInMinutes();
-...
-----
-
-[[GSACG00057]][[gjzkq]]
-
-
-Example 6-6 Specifying Regular Expression Matching
-
-This example specifies that the attribute `classname` must contain only
-non-whitespace characters.
-
-[source,oac_no_warn]
-----
-import jakarta.validation.constraints.Pattern;
-...
-@Pattern(regexp="^[\\S]*$")
-String getClassname();
-...
-----
-
-[[gjrdj]][[GSACG00126]][[initializing-a-components-configuration-data]]
-
-Initializing a Component's Configuration Data
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To ensure that a component's configuration data is added to the
-`domain.xml` file when the component is first instantiated, you must
-initialize the component's configuration data.
-
-Initializing a component's configuration data involves the following
-tasks:
-
-* link:#gkbgi[To Define a Component's Initial Configuration Data]
-* link:#gjses[To Write a Component's Initial Configuration Data to the
-`domain.xml` File]
-
-[[gkbgi]][[GSACG00076]][[to-define-a-components-initial-configuration-data]]
-
-To Define a Component's Initial Configuration Data
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Create a plain-text file that contains an XML fragment to represent
-the configuration data.
-* Ensure that each XML element accurately represents the interface that
-is defined for the element.
-* Ensure that any subelements that you are initializing are correctly
-nested.
-* Set attributes of the elements to their required initial values.
-2.  When you package the component, include the file that contains the
-XML fragment in the component's JAR file.
-
-[[GSACG00058]][[gkaba]]
-
-
-Example 6-7 XML Data Fragment
-
-This example shows the XML data fragment for adding the
-`wombat-container-config` element to the `domain.xml` file. The
-`wombat-container-config` element contains the subelement
-`wombat-element`. The attributes of `wombat-element` are initialized as
-follows:
-
-* The `foo` attribute is set to `something`.
-* The `bar` attribute is set to `anything`.
-
-[source,oac_no_warn]
-----
-<wombat-container-config>
-    <wombat-element foo="something" bar="anything"/>
-</wombat-container-config>
-----
-
-[[gjses]][[GSACG00077]][[to-write-a-components-initial-configuration-data-to-the-domain.xml-file]]
-
-To Write a Component's Initial Configuration Data to the `domain.xml`
-File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Add code to write the component's initial configuration data in the
-class that represents your add-on component. If your add-on component is
-a container, add this code to the sniffer class. For more information
-about adding a container, see
-link:adding-container-capabilities.html#ghmon[Adding Container
-Capabilities].
-
-1.  Set an optional dependency on an instance of the class that
-represents the XML element that you are adding.
-1.  Initialize the instance variable to `null`. +
-If the element is not present in the `domain.xml` file when the add-on
-component is initialized, the instance variable remains `null`.
-2.  Annotate the declaration of the instance variable with the
-`org.jvnet.hk2.annotations.Inject` annotation.
-3.  Set the `optional` element of the `@Inject` annotation to `true`.
-2.  Set a dependency on an instance of the following classes:
-* `org.glassfish.api.admin.config.ConfigParser` +
-The `ConfigParser` class provides methods to parse an XML fragment and
-to write the fragment to the correct location in the `domain.xml` file.
-* `org.jvnet.hk2.component.Habitat`
-3.  Invoke the `parseContainerConfig` method of the `ConfigParser`
-object only if the instance is `null`. +
-If your add-on component is a container, invoke this method within the
-implementation of the `setup` method the sniffer class. When the
-container is first instantiated, GlassFish Server invokes the `setup`
-method. +
-The test that the instance is `null` is required to ensure that the
-configuration data is added only if the data is not already present in
-the `domain.xml` file. +
-In the invocation of the `parseContainerConfig` method, pass the
-following items as parameters:
-* The `Habitat` object on which you set a dependency
-* The URL to the file that contains the XML fragment that represents the
-configuration data
-
-[[GSACG00059]][[gkabo]]
-
-
-Example 6-8 Writing a Component's Initial Configuration Data to the
-`domain.xml` File
-
-This example writes the XML fragment in the file `init.xml` to the
-`domain.xml` file. The fragment is written only if the `domain.xml` file
-does not contain the `wombat-container-config-element`.
-
-The `wombat-container-config` element is represented by the
-`WombatContainerConfig` interface. An optional dependency is set on an
-instance of a class that implements `WombatContainerConfig`.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.api.admin.config.ConfigParser;
-import org.glassfish.examples.extension.config.WombatContainerConfig;
-...
-import org.jvnet.hk2.annotations.Inject;
-import org.jvnet.hk2.component.Habitat;
-import com.sun.enterprise.module.Module;
-
-import java.util.logging.Logger;
-...
-import java.io.IOException;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Array;
-import java.net.URL;
-...
-    @Inject(optional=true)
-    WombatContainerConfig config=null;
-...
-@Inject
-    ConfigParser configParser;
-
-    @Inject
-    Habitat habitat;
-
-    public Module[] setup(String containerHome, Logger logger) throws IOException {
-        if (config==null) {
-            URL url = this.getClass().getClassLoader().getResource("init.xml");
-            if (url!=null) {
-               configParser.parseContainerConfig(habitat, url,
-                   WombatContainerConfig.class);
-            }
-        }
-        return null;
-    }
-...
-----
-
-[[GSACG00060]][[gjski]]
-
-
-Example 6-9 `domain.xml` File After Initialization
-
-This example shows the `domain.xml` file after the `setup` method was
-invoked to add the `wombat-container-config` element under the `config`
-element.
-
-[source,oac_no_warn]
-----
-<domain...>
-...
-   <configs>
-    <config name="server-config">
-      <wombat-container-config number-of-instances="5">
-        <wombat-element foo="something" bar="anything" />
-      </wombat-container-config>
-      <http-service>
-...
-</domain>
-----
-
-[[gjrcz]][[GSACG00127]][[creating-a-transaction-to-update-configuration-data]]
-
-Creating a Transaction to Update Configuration Data
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Creating a transaction to update configuration data enables the data to
-be updated without the need to specify a dotted name in the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. You can make the transaction
-available to system administrators in the following ways:
-
-* By adding an link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] subcommand. If you are adding
-an `asadmin` subcommand, include the code for the transaction in the
-body of the subcommand's `execute` method. For more information, see
-link:extending-asadmin.html#ghmrd[Extending the `asadmin` Utility].
-* By extending the Administration Console. For more information, see
-link:extending-the-admin-console.html#ghmrb[Extending the Administration
-Console].
-
-[[gkakw]][[GSACG00078]][[to-create-a-transaction-to-update-configuration-data]]
-
-To Create a Transaction to Update Configuration Data
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Any transaction that you create to modify configuration data must use a
-configuration change transaction to ensure that the change is atomic,
-consistent, isolated, and durable (ACID).
-
-1.  [[gkakq]]
-Set a dependency on the configuration object to update.
-2.  [[gkalq]]
-Define a method to invoke to perform the transaction.
-
-1.  Use the generic `SimpleConfigCode` interface to define the method
-that is to be invoked on a single configuration object, namely:
-`SingleConfigCode<T extends ConfigBeanProxy>()`.
-2.  In the body of this method, implement the `run` method of the
-`SingleConfigCode<T extends ConfigBeanProxy>` interface.
-3.  In the body of the `run` method, invoke the setter methods that are
-defined for the attributes that you are setting. +
-These setter methods are defined in the interface that represents the
-element whose elements you are setting.
-3.  Invoke the static method
-`org.jvnet.hk2.config.ConfigSupport.ConfigSupport.apply`. +
-In the invocation, pass the following information as parameters to the
-method:
-* The code of the method that you defined in Step  link:#gkalq[2].
-* The configuration object to update, on which you set the dependency in
-Step link:#gkakq[1].
-
-[[sthref9]]
-
-Example 6-10 Creating a Transaction to Update Configuration Data
-
-This example shows code in the `execute` method of an `asadmin`
-subcommand for updating the `number-of-instances` element of
-`wombat-container-config` element.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.api.Param;
-...
-import org.jvnet.hk2.annotations.Inject;
-import org.jvnet.hk2.config.Transactions;
-import org.jvnet.hk2.config.ConfigSupport;
-import org.jvnet.hk2.config.SingleConfigCode;
-import org.jvnet.hk2.config.TransactionFailure;
-...
-    @Param
-    String instances;
-
-    @Inject
-    WombatContainerConfig config;
-
-    public void execute(AdminCommandContext adminCommandContext) {
-        try {
-            ConfigSupport.apply(new SingleConfigCode<WombatContainerConfig>() {
-                public Object run(WombatContainerConfig wombatContainerConfig)
-                        throws PropertyVetoException, TransactionFailure {
-                    wombatContainerConfig.setNumberOfInstances(instances);
-                    return null;
-                }
-            }, config);
-        } catch(TransactionFailure e) {
-        }
-    }
-...
-----
-
-[[gjmkt]][[GSACG00128]][[dotted-names-and-rest-urls-of-configuration-attributes]]
-
-Dotted Names and REST URLs of Configuration Attributes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server administrative subcommands link:../reference-manual/get.html#GSRFM00139[`get`],
-link:../reference-manual/list.html#GSRFM00145[`list`], and olink:GSRFM00226[`set`] locate a
-configuration attribute through the dotted name of the attribute. The
-dotted name of an attribute of a configuration element is as follows:
-
-[source,oac_no_warn]
-----
-configs.config.server-config.element-name[.subelement-name...].attribute-name
-----
-
-element-name::
-  The name of an element that contains a subelement or the attribute.
-subelement-name::
-  The name of a subelement, if any.
-attribute-name::
-  The name of the attribute.
-
-For example, the dotted name of the `foo` attribute of the
-`wombat-element` element is as follows:
-
-[source,oac_no_warn]
-----
-configs.config.server-config.wombat-container-config.wombat-element.foo
-----
-
-The formats of the URL to a REST resource that represent an attribute of
-a configuration element is as follows:
-
-[source,oac_no_warn]
-----
-http://host:port/management/domain/path
-----
-
-host::
-  The host where the DAS is running.
-port::
-  The HTTP port or HTTPS port for administration.
-path::
-  The path to the attribute. The path is the dotted name of the
-  attribute in which each dot (`.`) is replaced with a slash (`/`).
-
-For example, the URL to the REST resource for the `foo` attribute of the
-`wombat-element` element is as follows:
-
-[source,oac_no_warn]
-----
-http://localhost:4848/management/domain/configs/config/server-config/
-wombat-container-config/wombat-element/foo
-----
-
-In this example, the DAS is running on the local host and the HTTP port
-for administration is 4848.
-
-[[gkaal]][[GSACG00131]][[examples-of-adding-configuration-data-for-a-component]]
-
-Examples of Adding Configuration Data for a Component
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This example shows the interfaces that define the configuration data for
-the Greeter Container component. The data is comprised of the following
-elements:
-
-* A parent element, which is shown in link:#gkamy[Example 6-11]
-* A subelement that is contained by the parent element, which is shown
-in link:#gkamb[Example 6-12]
-
-This example also shows an XML data fragment for initializing an
-element. See link:#gkamk[Example 6-13].
-
-Code for the Greeter Container component is shown in
-link:adding-container-capabilities.html#gkane[Example of Adding Container
-Capabilities].
-
-Code for an `asadmin` subcommand that updates the configuration data in
-this example is shown in link:extending-asadmin.html#gkbdf[Example 4-7].
-
-[[GSACG00061]][[gkamy]]
-
-
-Example 6-11 Parent Element Definition
-
-This example shows the definition of the `greeter-container-config`
-element. The attributes of the `greeter-container-config` element are as
-follows:
-
-* `number-of-instances`, which must be in the range 1-10.
-* `language`, which must contain only non-whitespace characters.
-* `style`, which must contain only non-whitespace characters.
-
-The `greeter-element` element is identified as a subelement of the
-`greeter-container-config` element. The definition of the
-`greeter-element` element is shown in link:#gkamb[Example 6-12].
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter.config;
-
-import org.jvnet.hk2.config.Configured;
-import org.jvnet.hk2.config.Attribute;
-import org.jvnet.hk2.config.Element;
-import org.glassfish.api.admin.config.Container;
-
-import jakarta.validation.constraints.Pattern;
-import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.Max;
-
-import java.beans.PropertyVetoException;
-
-@Configured
-public interface GreeterContainerConfig extends Container {
-
-    @Attribute
-    @Min(value=1)
-    @Max (value=10)
-    public String getNumberOfInstances();
-    public void setNumberOfInstances(String instances) throws PropertyVetoException;
-
-    @Attribute
-    @Pattern(regexp = "^[\\S]*$")
-    public String getLanguage();
-    public void setLanguage(String language) throws PropertyVetoException;
-
-    @Attribute
-    @Pattern(regexp = "^[\\S]*$")
-    public String getStyle();
-    public void setStyle(String style) throws PropertyVetoException;
-
-    @Element
-    public GreeterElement getElement();
-    public void setElement(GreeterElement element) throws PropertyVetoException;
-
-
-}
-----
-
-[[GSACG00062]][[gkamb]]
-
-
-Example 6-12 Subelement Definition
-
-This example shows the definition of the `greeter-element` element,
-which is identified as a subelement of the `greeter-container-config`
-element in link:#gkamy[Example 6-11]. The only attribute of the
-`greeter-element` element is `greeter-port`, which must be in the range
-1030-1050.
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter.config;
-
-import org.jvnet.hk2.config.ConfigBeanProxy;
-import org.jvnet.hk2.config.Configured;
-import org.jvnet.hk2.config.Attribute;
-
-import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.Max;
-
-import java.beans.PropertyVetoException;
-
-@Configured
-public interface GreeterElement extends ConfigBeanProxy {
-
-    @Attribute
-    @Min(value=1030)
-    @Max (value=1050)
-    public String getGreeterPort();
-    public void setGreeterPort(String greeterport) throws PropertyVetoException;
-
-}
-----
-
-[[GSACG00063]][[gkamk]]
-
-
-Example 6-13 XML Data Fragment for Initializing the
-`greeter-container-config` Element
-
-This example shows the XML data fragment for adding the
-`greeter-container-config` element to the `domain.xml` file. The
-`greeter-container-config` element contains the subelement
-`greeter-element`.
-
-The attributes of `greeter-container-config` are initialized as follows:
-
-* The `number-of-instances` attribute is set to `5`.
-* The `language` attribute is set to `norsk`.
-* The `style` element is set to `formal`.
-
-The `greeter-port` attribute of the `greeter-element` element is set to
-`1040`.
-
-[source,oac_no_warn]
-----
-<greeter-container-config number-of-instances="5" language="norsk" style="formal">
-    <greeter-element greeter-port="1040"/>
-</greeter-container-config>
-----
-
-The definition of the `greeter-container-config` element is shown in
-link:#gkamy[Example 6-11]. The definition of the `greeter-element`
-element is shown in link:#gkamb[Example 6-12].
-
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/adding-container-capabilities.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/adding-container-capabilities.adoc
deleted file mode 100644
index 302a0e3..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/adding-container-capabilities.adoc
+++ /dev/null
@@ -1,863 +0,0 @@
-type=page
-status=published
-title=Adding Container Capabilities
-next=session-persistence-modules.html
-prev=adding-configuration-data.html
-~~~~~~
-Adding Container Capabilities
-=============================
-
-[[GSACG00007]][[ghmon]]
-
-
-[[adding-container-capabilities]]
-7 Adding Container Capabilities
--------------------------------
-
-Applications run on Eclipse GlassFish Server in containers. GlassFish Server
-enables you to create containers that extend or replace the existing
-containers of GlassFish Server. Adding container capabilities enables
-you to run new types of applications and to deploy new archive types in
-GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#ghpjl[Creating a `Container` Implementation]
-* link:#ghozu[Adding an Archive Type]
-* link:#ghphp[Creating Connector Modules]
-* link:#gkane[Example of Adding Container Capabilities]
-
-[[ghpjl]][[GSACG00132]][[creating-a-container-implementation]]
-
-Creating a `Container` Implementation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To implement a container that extends or replaces a service in GlassFish
-Server, you must create a Java programming language class that includes
-the following characteristics:
-
-* It is annotated with the `org.jvnet.hk2.annotations.Service`
-annotation.
-* It implements the `org.glassfish.api.container.Container` interface.
-
-You should also run the HK2 Inhabitants Generator utility on your class
-files, which adds classes marked with the `@Service` annotation to the
-`META-INF/hk2-locator/default` file in your JAR file. For more
-information about the HK2 Inhabitants Generator, see the
-https://hk2.java.net/inhabitant-generator.html[HK2 Inhabitants Generator
-page].
-
-[[ghogv]][[GSACG00234]][[marking-the-class-with-the-service-annotation]]
-
-Marking the Class With the `@Service` Annotation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Add a `com.jvnet.hk2.annotations.Service` annotation at the class
-definition level to identify your class as a service implementation.
-
-[source,oac_no_warn]
-----
-@Service
-public class MyContainer implements Container {
-...
-}
-----
-
-To avoid potential name collisions with other containers, use the fully
-qualified class name of your container class in the `@Service`
-annotation's `name` element:
-
-[source,oac_no_warn]
-----
-package com.example.containers;
-...
-
-@Service @jakarta.inject.Named("com.example.containers.MyContainer")
-public class MyContainer implements Container {
-...
-}
-----
-
-[[ghohg]][[GSACG00235]][[implementing-the-container-interface]]
-
-Implementing the `Container` Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `org.glassfish.api.container.Container` interface is the contract
-that defines a container implementation. Classes that implement
-`Container` can extend or replace the functionality in GlassFish Server
-by allowing applications to be deployed and run within the GlassFish
-Server runtime.
-
-The `Container` interface consists of two methods, `getDeployer` and
-`getName`. The `getDeployer` method returns an implementation class of
-the `org.glassfish.api.deployment.Deployer` interface capable of
-managing applications that run within this container. The `getName`
-method returns a human-readable name for the container, and is typically
-used to display messages belonging to the container.
-
-The `Deployer` interface defines the contract for managing a particular
-application that runs in the container. It consists of the following
-methods:
-
-`getMetaData`::
-  Retrieves the metadata used by the `Deployer` instance, and returns an
-  `org.glassfish.api.deployment.MetaData` object.
-`loadMetaData`::
-  Loads the metadata associated with an application.
-`prepare`::
-  Prepares the application to run in GlassFish Server.
-`load`::
-  Loads a previously prepared application to the container.
-`unload`::
-  Unloads or stops a previously loaded application.
-`clean`::
-  Removes any artifacts generated by an application during the `prepare`
-  phase.
-
-The `DeploymentContext` is the usual context object passed around
-deployer instances during deployment.
-
-[[GSACG00064]][[ghojg]]
-
-
-Example 7-1 Example Implementation of `Container`
-
-This example shows a Java programming language class that implements the
-`Container` interface and is capable of extending the functionality of
-GlassFish Server.
-
-[source,oac_no_warn]
-----
-package com.example.containers;
-contains
-@Service(name="com.example.containers.MyContainer")
-public class MyContainer implements Container {
-    public String getName() {
-        return "MyContainer";
-    }
-
-    public Class<? extends org.glassfish.api.deployment.Deployer> getDeployer() {
-        return MyDeployer.class;
-    }
-}
-----
-
-[[GSACG00065]][[ghoiv]]
-
-
-Example 7-2 Example Implementation of `Deployer`
-
-[source,oac_no_warn]
-----
-package com.example.containers;
-
-@Service
-public class MyDeployer {
-
-    public MetaData getMetaData() {
-        return new MetaData(...);
-    }
-
-    public <V> v loadMetaData(Class<V> type, DeploymentContext dc) {
-        ...
-    }
-
-    public boolean prepare(DeploymentContext dc) {
-        // performs any actions needed to allow the application to run,
-        // such as generating artifacts
-        ...
-    }
-
-    public MyApplication load(MyContainer container, DeploymentContext dc) {
-        // creates a new instance of an application
-        MyApplication myApp = new MyApplication (...);
-        ...
-        // returns the application instance
-        return myApp;
-    }
-
-    public void unload(MyApplication myApp, DeploymentContext dc) {
-        // stops and removes the application
-        ...
-    }
-
-    public void clean (DeploymentContext dc) {
-        // cleans up any artifacts generated during prepare()
-        ...
-    }
-}
-----
-
-[[ghozu]][[GSACG00133]][[adding-an-archive-type]]
-
-Adding an Archive Type
-~~~~~~~~~~~~~~~~~~~~~~
-
-An archive type is an abstraction of the archive file format. An archive
-type can be implemented as a plain JAR file, as a directory layout, or a
-custom type. By default, GlassFish Server recognizes JAR based and
-directory based archive types. A new container might require a new
-archive type.
-
-There are two sub-interfaces of the
-`org.glassfish.api.deployment.archive.Archive` interface,
-`org.glassfish.api.deployment.archive.ReadableArchive` and
-`org.glassfish.api.deployment.archive.WritableArchive`. Typically
-developers of new archive types will provide separate implementations of
-`ReadableArchive` and `WritableArchive`, or a single implementation that
-implements both `ReadableArchive` and `WritableArchive`.
-
-Implementations of the `ReadableArchive` interface provide read access
-to an archive type. `ReadableArchive` defines the following methods:
-
-`getEntry(String name)`::
-  Returns a `java.io.InputStream` for the specified entry name, or null
-  if the entry doesn't exist.
-`exists(String name)`::
-  Returns a `boolean` value indicating whether the specified entry name
-  exists.
-`getEntrySize(String name)`::
-  Returns the size of the specified entry as a `long` value.
-`open(URI uri)`::
-  Returns an archive for the given `java.net.URI`.
-`getSubArchive(String name)`::
-  Returns an instance of `ReadableArchive` for the specified sub-archive
-  contained within the parent archive, or null if no such archive
-  exists.
-`exists()`::
-  Returns a `boolean` value indicating whether this archive exists.
-`delete()`::
-  Deletes the archive, and returns a `boolean` value indicating whether
-  the archive has been successfully deleted.
-`renameTo(String name)`::
-  Renames the archive to the specified name, and returns a `boolean`
-  value indicating whether the archive has been successfully renamed.
-
-Implementations of the `WritableArchive` interface provide write access
-to the archive type. `WritableArchive` defines the following methods:
-
-`create(URI uri)`::
-  Creates a new archive with the given path, specified as a
-  `java.net.URI`.
-`closeEntry(WritableArchive subArchive)`::
-  Closes the specified sub-archive contained within the parent archive.
-`closeEntry()`::
-  Closes the current entry.
-`createSubArchive(String name)`::
-  Creates a new sub-archive in the parent archive with the specified
-  name, and returns it as a `WritableArchive` instance.
-`putNextEntry(String name)`::
-  Creates a new entry in the archive with the specified name, and
-  returns it as a `java.io.OutputStream`.
-
-[[ghoyp]][[GSACG00236]][[implementing-the-archivehandler-interface]]
-
-Implementing the `ArchiveHandler` Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An archive handler is responsible for handling the particular layout of
-an archive. Jakarta EE defines a set of archives (WAR, JAR, and RAR, for
-example), and each of these archives has an `ArchiveHandler` instance
-associated with the archive type.
-
-Each layout should have one handler associated with it. There is no
-extension point support at this level; the archive handler's
-responsibility is to give access to the classes and resources packaged
-in the archive, and it should not contain any container-specific code.
-The `java.lang.ClassLoader` returned by the handler is used by all the
-containers in which the application will be deployed.
-
-`ArchiveHandler` defines the following methods:
-
-`getArchiveType()`::
-  Returns the name of the archive type as a `String`. Typically, this is
-  the archive extension, such as `jar` or `war`.
-`getDefaultApplicationName(ReadableArchive archive)`::
-  Returns the default name of the specified archive as a `String`.
-  Typically this default name is the name part of the `URI` location of
-  the archive.
-`handles(ReadableArchive archive)`::
-  Returns a `boolean` value indicating whether this implementation of
-  `ArchiveHandler` can work with the specified archive.
-`getClassLoader(DeploymentContext dc)`::
-  Returns a `java.lang.ClassLoader` capable of loading all classes from
-  the archive passed in by the `DeploymentContext` instance. Typically
-  the `ClassLoader` will load classes in the scratch directory area,
-  returned by `DeploymentContext.getScratchDir()`, as stubs and other
-  artifacts are generated in the scratch directory.
-`expand(ReadableArchive source, WritableArchive target)`::
-  Prepares the `ReadableArchive`source archive for loading into the
-  container in a format the container accepts. Such preparation could be
-  to expand a compressed archive, or possibly nothing at all if the
-  source archive format is already in a state that the container can
-  handle. This method returns the archive as an instance of
-  `WritableArchive`.
-
-[[ghphp]][[GSACG00134]][[creating-connector-modules]]
-
-Creating Connector Modules
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Connector modules are small add-on modules that consist of application
-"sniffers" that associate application types with containers that can run
-the application type. GlassFish Server connector modules are separate
-from the associated add-on module that delivers the container
-implementation to allow GlassFish Server to dynamically install and
-configure containers on demand.
-
-When a deployment request is received by the GlassFish Server runtime:
-
-1.  The current `Sniffer` implementations are used to determine the
-application type.
-2.  Once an application type is found, the runtime looks for a running
-container associated with that application type. If no running container
-is found, the runtime attempts to install and configure the container
-associated with the application type as defined by the `Sniffer`
-implementation.
-3.  The `Deployer` interface is used to prepare and load the
-implementation.
-
-[[ghozd]][[GSACG00237]][[associating-file-types-with-containers-by-using-the-sniffer-interface]]
-
-Associating File Types With Containers by Using the `Sniffer` Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Containers do not necessarily need to be installed on the local machine
-for GlassFish Server to recognize the container's application type.
-GlassFish Server uses a "sniffer" concept to study the artifacts in a
-deployment request and to choose the associated container that handles
-the application type that the user is trying to deploy. To create this
-association, create a Java programming language class that implements
-the `org.glassfish.api.container.Sniffer` interface. This implementation
-can be as simple as looking for a specific file in the application's
-archive (such as the presence of `WEB-INF/web.xml`), or as complicated
-as running an annotation scanner to determine an XML-less archive (such
-as enterprise bean annotations in a JAR file). A `Sniffer`
-implementation must be as small as possible and must not load any of the
-container's runtime classes.
-
-A simple version of a `Sniffer` implementation uses the `handles` method
-to check the existence of a file in the archive that denotes the
-application type (as `WEB-INF/web.xml` denotes a web application). Once
-a `Sniffer` implementation has detected that it can handle the
-deployment request artifact, GlassFish Server calls the `setUp` method.
-The `setUp` method is responsible for setting up the container, which
-can involve one or more of the following actions:
-
-* Downloading the container's runtime (the first time that a container
-is used)
-* Installing the container's runtime (the first time that a container is
-used)
-* Setting up one or more repositories to access the runtime's classes
-(these are implementations of the HK2
-`com.sun.enterprise.module.Repository` interface, such as the
-`com.sun.enterprise.module.impl.DirectoryBasedRepository` class)
-
-The `setUp` method returns an array of the
-`com.sun.enterprise.module.Module` objects required by the container.
-
-The `Sniffer` interface defines the following methods:
-
-`handles(ReadableArchive source, ClassLoader loader)`::
-  Returns a `boolean` value indicating whether this `Sniffer`
-  implementation can handle the specified archive.
-`getURLPatterns()`::
-  Returns a `String` array containing all URL patterns to apply against
-  the request URL. If a pattern matches, the service method of the
-  associated container is invoked.
-`getAnnotationTypes()`::
-  Returns a list of annotation types recognized by this `Sniffer`
-  implementation. If an application archive contains one of the returned
-  annotation types, the deployment process invokes the container's
-  deployers as if the `handles` method had returned true.
-`getModuleType()`::
-  Returns the module type associated with this `Sniffer` implementation
-  as a `String`.
-`setup(String containerHome, Logger logger)`::
-  Sets up the container libraries so that any dependent bundles from the
-  connector JAR file will be made available to the HK2 runtime. The
-  `setup` method returns an array of `com.sun.enterprise.module.Module`
-  classes, which are definitions of container implementations. GlassFish
-  Server can then load these modules so that it can create an instance
-  of the container's `Deployer` or `Container` implementations when it
-  needs to. The module is locked as long as at least one module is
-  loaded in the associated container.
-`teardown()`::
-  Removes a container and all associated modules in the HK2 modules
-  subsystem.
-`getContainerNames()`::
-  Returns a `String` array containing the `Container` implementations
-  that this `Sniffer` implementation enables.
-`isUserVisible()`::
-  Returns a `boolean` value indicating whether this `Sniffer`
-  implementation should be visible to end-users.
-`getDeploymentConfigurations(final ReadableArchive source)`::
-  Returns a `Map<String, String>` of deployment configuration names to
-  configurations from this `Sniffer` implementation for the specified
-  application (the archive source). The names are created by GlassFish
-  Server; the configurations are the names of the files that contain
-  configuration information (for example, `WEB-INF/web.xml` and possibly
-  `WEB-INF/sun-web.xml` for a web application). If the
-  `getDeploymentConfigurations` method encounters errors while searching
-  or reading the specified archive source, it throws a
-  `java.io.IOException`.
-
-[[ghpbx]][[GSACG00172]][[making-sniffer-implementations-available-to-the-glassfish-server]]
-
-Making `Sniffer` Implementations Available to the GlassFish Server
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Package `Sniffer` implementation code into modules and install the
-modules in the as-install`/modules` directory. GlassFish Server will
-automatically discover these modules. If an administrator installs
-connector modules that contain`Sniffer` implementations while GlassFish
-Server is running, GlassFish Server will pick them up at the next
-deployment request.
-
-[[gkane]][[GSACG00135]][[example-of-adding-container-capabilities]]
-
-Example of Adding Container Capabilities
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This example shows a custom container and a web client of the container.
-The example is comprised of the following code:
-
-* Code for the container, which is shown in link:#gkbah[Container
-Component Code]
-* Code for a web client of the container, which is shown in
-link:#gkbcq[Web Client Code]
-
-Code that defines the configuration data for the container component is
-shown in link:adding-configuration-data.html#gkaal[Examples of Adding
-Configuration Data for a Component].
-
-Code for an `asadmin` subcommand that updates the configuration data in
-this example is shown in link:extending-asadmin.html#gkbdf[Example 4-7].
-
-[[gkbah]][[GSACG00238]][[container-component-code]]
-
-Container Component Code
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The container component code is comprised of the classes and interfaces
-that are listed in the following table. The table also provides a
-cross-reference to the listing of each class or interface.
-
-[width="100%",cols="<50%,<50%",options="header",]
-|==============================================
-|Class or Interface |Listing
-|`Greeter` |link:#gkamr[Example 7-3] +
-|`GreeterContainer` |link:#gkand[Example 7-4] +
-|`GreeterContainer` |link:#gkamm[Example 7-5] +
-|`GreeterDeployer` |link:#gkalo[Example 7-6] +
-|`GreeterSniffer` |link:#gkaks[Example 7-7] +
-|==============================================
-
-
-[[GSACG00066]][[gkamr]]
-
-
-Example 7-3 Annotation to Denote a Container's Component
-
-This example shows the code for defining a component of the `Greeter`
-container.
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Simple annotation to denote Greeter's component
- */
-@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
-public @interface Greeter {
-
-    /**
-     * Name to uniquely identify different greeters
-     *
-     * @return a good greeter name
-     */
-    public String name();
-}
-----
-
-[[GSACG00067]][[gkand]]
-
-
-Example 7-4 Application Container Class
-
-This example shows the Java language class `GreeterAppContainer`, which
-implements the `ApplicationContainer` interface.
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter;
-
-import org.glassfish.api.deployment.ApplicationContainer;
-import org.glassfish.api.deployment.ApplicationContext;
-import org.glassfish.api.deployment.archive.ReadableArchive;
-
-import java.util.List;
-import java.util.ArrayList;
-
-public class GreeterAppContainer implements ApplicationContainer {
-
-    final GreeterContainer ctr;
-    final List<Class> componentClasses = new ArrayList<Class>();
-
-    public GreeterAppContainer(GreeterContainer ctr) {
-        this.ctr = ctr;
-    }
-
-    void addComponent(Class componentClass) {
-        componentClasses.add(componentClass);
-    }
-
-    public Object getDescriptor() {
-        return null;
-    }
-
-    public boolean start(ApplicationContext startupContext) throws Exception {
-        for (Class componentClass : componentClasses) {
-            try {
-                Object component = componentClass.newInstance();
-                Greeter greeter = (Greeter)
-                     componentClass.getAnnotation(Greeter.class);
-                ctr.habitat.addComponent(greeter.name(), component);
-            } catch(Exception e) {
-                throw new RuntimeException(e);
-            }
-        }
-        return true;
-    }
-
-    public boolean stop(ApplicationContext stopContext) {
-        for (Class componentClass : componentClasses) {
-            ctr.habitat.removeAllByType(componentClass);
-        }
-        return true;
-    }
-
-    public boolean suspend() {
-        return false;
-    }
-
-    public boolean resume() throws Exception {
-        return false;
-    }
-
-    public ClassLoader getClassLoader() {
-        return null;
-    }
-}
-----
-
-[[GSACG00068]][[gkamm]]
-
-
-Example 7-5 Container Class
-
-This example shows the Java language class `GreeterContainer`, which
-implements the `Container` interface.
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter;
-
-import org.glassfish.api.container.Container;
-import org.glassfish.api.deployment.Deployer;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.annotations.Inject;
-import org.jvnet.hk2.component.Habitat;
-
-@Service(name="org.glassfish.examples.extension.GreeterContainer")
-public class GreeterContainer implements Container {
-
-    @Inject
-    Habitat habitat;
-
-    public Class<? extends Deployer> getDeployer() {
-        return GreeterDeployer.class;
-    }
-
-    public String getName() {
-        return "greeter";
-    }
-}
-----
-
-[[GSACG00069]][[gkalo]]
-
-
-Example 7-6 Deployer Class
-
-This example shows the Java language class `GreeterDeployer`, which
-implements the `Deployer` interface.
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter;
-
-import org.glassfish.api.deployment.Deployer;
-import org.glassfish.api.deployment.MetaData;
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.api.deployment.ApplicationContainer;
-import org.glassfish.api.deployment.archive.ReadableArchive;
-import org.glassfish.api.container.Container;
-import org.jvnet.hk2.annotations.Service;
-
-import java.util.Enumeration;
-
-@Service
-public class GreeterDeployer
-    implements Deployer<GreeterContainer, GreeterAppContainer> {
-
-    public MetaData getMetaData() {
-        return null;
-    }
-
-    public <V> V loadMetaData(Class<V> type, DeploymentContext context) {
-        return null;
-    }
-
-    public boolean prepare(DeploymentContext context) {
-        return false;
-    }
-
-    public GreeterAppContainer load(
-        GreeterContainer container, DeploymentContext context) {
-
-        GreeterAppContainer appCtr = new GreeterAppContainer(container);
-        ClassLoader cl = context.getClassLoader();
-
-        ReadableArchive ra = context.getOriginalSource();
-        Enumeration<String> entries = ra.entries();
-        while (entries.hasMoreElements()) {
-            String entry = entries.nextElement();
-            if (entry.endsWith(".class")) {
-                String className = entryToClass(entry);
-                try {
-                    Class componentClass = cl.loadClass(className);
-                    // ensure it is one of our component
-                    if (componentClass.isAnnotationPresent(Greeter.class)) {
-                        appCtr.addComponent(componentClass);
-                    }
-                } catch(Exception e) {
-                    throw new RuntimeException(e);
-                }
-
-            }
-        }
-        return appCtr;
-    }
-
-    public void unload(GreeterAppContainer appContainer, DeploymentContext context) {
-
-    }
-
-    public void clean(DeploymentContext context) {
-
-    }
-
-    private String entryToClass(String entry) {
-        String str = entry.substring("WEB-INF/classes/".length(), entry.length()-6);
-        return str.replaceAll("/", ".");
-    }
-}
-----
-
-[[GSACG00070]][[gkaks]]
-
-
-Example 7-7 Sniffer Class
-
-This example shows the Java language class `GreeterSniffer`, which
-implements the `Sniffer` interface.
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter;
-
-import org.glassfish.api.container.Sniffer;
-import org.glassfish.api.deployment.archive.ReadableArchive;
-import org.glassfish.api.admin.config.ConfigParser;
-import org.glassfish.examples.extension.greeter.config.GreeterContainerConfig;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.annotations.Inject;
-import org.jvnet.hk2.component.Habitat;
-import com.sun.enterprise.module.Module;
-
-import java.util.logging.Logger;
-import java.util.Map;
-import java.io.IOException;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Array;
-import java.net.URL;
-
-/**
- * @author Jerome Dochez
- */
-@Service(name="greeter")
-public class GreeterSniffer implements Sniffer {
-
-    @Inject(optional=true)
-    GreeterContainerConfig config=null;
-
-    @Inject
-    ConfigParser configParser;
-
-    @Inject
-    Habitat habitat;
-
-    public boolean handles(ReadableArchive source, ClassLoader loader) {
-        return false;
-    }
-
-    public String[] getURLPatterns() {
-        return new String[0];
-    }
-
-    public Class<? extends Annotation>[] getAnnotationTypes() {
-        Class<? extends Annotation>[] a = (Class<? extends Annotation>[]) Array.newInstance(Class.class, 1);
-        a[0] = Greeter.class;
-        return a;
-    }
-
-    public String getModuleType() {
-        return "greeter";
-    }
-
-    public Module[] setup(String containerHome, Logger logger) throws IOException {
-        if (config==null) {
-            URL url = this.getClass().getClassLoader().getResource("init.xml");
-            if (url!=null) {
-                configParser.parseContainerConfig(
-                    habitat, url, GreeterContainerConfig.class);
-            }
-        }
-        return null;
-    }
-
-    public void tearDown() {
-
-    }
-
-    public String[] getContainersNames() {
-        String[] c = { GreeterContainer.class.getName() };
-        return c;
-    }
-
-    public boolean isUserVisible() {
-        return true;
-    }
-
-    public Map<String, String> getDeploymentConfigurations
-        (ReadableArchive source) throws IOException {
-        return null;
-    }
-
-    public String[] getIncompatibleSnifferTypes() {
-        return new String[0];
-    }
-}
-----
-
-[[gkbcq]][[GSACG00239]][[web-client-code]]
-
-Web Client Code
-^^^^^^^^^^^^^^^
-
-The web client code is comprised of the classes and resources that are
-listed in the following table. The table also provides a cross-reference
-to the listing of each class or resource.
-
-[width="100%",cols="<50%,<50%",options="header",]
-|==================================================
-|Class or Resource |Listing
-|`HelloWorld` |link:#gkaki[Example 7-8] +
-|`SimpleGreeter` |link:#gkalf[Example 7-9] +
-|Deployment descriptor |link:#gkaly[Example 7-10] +
-|==================================================
-
-
-[[GSACG00071]][[gkaki]]
-
-
-Example 7-8 Container Client Class
-
-[source,oac_no_warn]
-----
-import components.SimpleGreeter;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.*;
-import jakarta.servlet.http.*;
-import jakarta.annotation.Resource;
-
-
-@WebServlet(urlPatterns={"/hello"})
-public class HelloWorld extends HttpServlet {
-
-    @Resource(name="Simple")
-    SimpleGreeter greeter;
-
-    public void doGet(HttpServletRequest req, HttpServletResponse res)
-            throws IOException, ServletException {
-
-
-        PrintWriter pw = res.getWriter();
-        try {
-            pw.println("Injected service is " + greeter);
-            if (greeter!=null) {
-                pw.println("SimpleService says " + greeter.saySomething());
-                pw.println("<br>");
-            }
-                } catch(Exception e) {
-                e.printStackTrace();
-        }
-    }
-}
-----
-
-[[GSACG00072]][[gkalf]]
-
-
-Example 7-9 Component for Container Client
-
-[source,oac_no_warn]
-----
-package components;
-
-import org.glassfish.examples.extension.greeter.Greeter;
-
-@Greeter(name="simple")
-public class SimpleGreeter {
-
-    public String saySomething() {
-        return "Bonjour";
-    }
-}
-----
-
-[[GSACG00073]][[gkaly]]
-
-
-Example 7-10 Deployment Descriptor for Container Client
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app version="3.1"
-  xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation=
-    "http://xmlns.jcp.org/xml/ns/javaee
-    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
-</web-app>
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/adding-monitoring-capabilities.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/adding-monitoring-capabilities.adoc
deleted file mode 100644
index a9ad697..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/adding-monitoring-capabilities.adoc
+++ /dev/null
@@ -1,1198 +0,0 @@
-type=page
-status=published
-title=Adding Monitoring Capabilities
-next=adding-configuration-data.html
-prev=extending-asadmin.html
-~~~~~~
-Adding Monitoring Capabilities
-==============================
-
-[[GSACG00005]][[ghmos]]
-
-
-[[adding-monitoring-capabilities]]
-5 Adding Monitoring Capabilities
---------------------------------
-
-Monitoring is the process of reviewing the statistics of a system to
-improve performance or solve problems. By monitoring the state of
-components and services that are deployed in the GlassFish Server,
-system administrators can identify performance bottlenecks, predict
-failures, perform root cause analysis, and ensure that everything is
-functioning as expected. Monitoring data can also be useful in
-performance tuning and capacity planning.
-
-An add-on component typically generates statistics that the Eclipse GlassFish
-Server can gather at run time. Adding monitoring capabilities enables an
-add-on component to provide statistics to GlassFish Server in the same
-way as components that are supplied in GlassFish Server distributions.
-As a result, system administrators can use the same administrative
-interfaces to monitor statistics from any installed GlassFish Server
-component, regardless of the origin of the component.
-
-The following topics are addressed here:
-
-* link:#ghopc[Defining Statistics That Are to Be Monitored]
-* link:#ghplw[Updating the Monitorable Object Tree]
-* link:#ghrma[Dotted Names and REST URLs for an Add-On Component's
-Statistics]
-* link:#ghptj[Example of Adding Monitoring Capabilities]
-
-[[ghopc]][[GSACG00116]][[defining-statistics-that-are-to-be-monitored]]
-
-Defining Statistics That Are to Be Monitored
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-At runtime, your add-on component might perform operations that affect
-the behavior and performance of your system. For example, your component
-might start a thread of control, receive a request from a service, or
-request a connection from a connection pool. Monitoring the statistics
-that are related to these operations helps a system administrator
-maintain the system.
-
-To provide statistics to GlassFish Server, your component must define
-events for the operations that generate these statistics. At runtime,
-your component must send these events when performing the operations for
-which the events are defined. For example, to enable the number of
-received requests to be monitored, a component must send a "request
-received" event each time that the component receives a request.
-
-A statistic can correspond to single event or to multiple events.
-
-* Counter statistics typically correspond to a single event. For
-example, to calculate the number of received requests, only one event is
-required, for example, a "request received" event. Every time that a
-"request received" event is sent, the number of received requests is
-increased by 1.
-* Timer statistics typically correspond to multiple events. For example,
-to calculate the time to process a request, two requests, for example, a
-"request received" event and a "request completed" event.
-
-Defining statistics that are to be monitored involves the following
-tasks:
-
-* link:#gkadk[Defining an Event Provider]
-* link:#ghprg[Sending an Event]
-
-[[gkadk]][[GSACG00220]][[defining-an-event-provider]]
-
-Defining an Event Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An event provider defines the types of events for the operations that
-generate statistics for an add-on component.
-
-GlassFish Server enables you to define an event provider in the
-following ways:
-
-* By writing a Java Class. Define an event provider this way if you have
-access to the source code of the component for which you are defining an
-event provider.
-* By writing an XML fragment. Define an event provider this way if you
-do not have access to the source code of the component for which you are
-defining and event provider.
-
-[[ghovq]][[GSACG00164]][[defining-an-event-provider-by-writing-a-java-class]]
-
-Defining an Event Provider by Writing a Java Class
-++++++++++++++++++++++++++++++++++++++++++++++++++
-
-To define an event provider, write a Java language class that defines
-the types of events for the component. Your class is not required to
-extend any specific class or implement any interfaces.
-
-To identify your class as an event provider, annotate the declaration of
-the class with the
-`org.glassfish.external.probe.provider.annotations.ProbeProvider`
-annotation.
-
-To create a name space for event providers and to uniquely identify an
-event provider to the monitoring infrastructure of GlassFish Server, set
-the elements of the `@ProbeProvider` annotation as follows:
-
-`moduleProviderName`::
-  Your choice of text to identify the application to which the event
-  provider belongs. The value of the `moduleProviderName` element is not
-  required to be unique. +
-  For example, for event providers from GlassFish Server Open Source
-  Edition, `moduleProviderName` is `glassfish`.
-`moduleName`::
-  Your choice of name for the module for which the event provider is
-  defined. A module provides significant functionality of an
-  application. The value of the `moduleName` element is not required to
-  be unique. +
-  In GlassFish Server, examples of module names are `web-container`,
-  `ejb-container`, `transaction`, and `webservices`.
-`probeProviderName`::
-  Your choice of name to identify the event provider. To uniquely
-  identify the event provider, ensure that `probeProviderName` is unique
-  for all event providers in the same module. +
-  In GlassFish Server, examples of event—provider names are `jsp`,
-  `servlet`, and `web-module`.
-
-[[ghosi]][[GSACG00011]][[defining-event-types-in-an-event-provider-class]]
-
-Defining Event Types in an Event Provider Class
-
-To define event types in an event provider class, write one method for
-each type of event that is related to the component. The requirements
-for each method are as follows:
-
-* The return value of the callback methods must be void.
-* The method body must be empty. You instantiate the event provider
-class in the class that invokes the method to send the event. For more
-information, see link:#ghprg[Sending an Event].
-* To enable the event to be used as an Oracle Solaris DTrace probe, each
-parameter in the method signature must be a Java language primitive,
-such as `Integer`, `boolean`, or `String`.
-
-Annotate the declaration of each method with the
-`org.glassfish.external.probe.provider.annotations.Probe` annotation.
-
-By default, the type of the event is the method name. If you overload a
-method in your class, you must uniquely identify the event type for each
-form of the method. To uniquely identify the event type, set the `name`
-element of the `@Probe` annotation to the name of the event type.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-You are not required to uniquely identify the event type for methods
-that are not overloaded.
-
-|=======================================================================
-
-
-[[ghoul]][[GSACG00012]][[specifying-event-parameters]]
-
-Specifying Event Parameters
-
-To enable methods in an event listener to select a subset of values,
-annotate each parameter in the method signature with the
-`org.glassfish.external.probe.provider.annotations.ProbeParam`
-annotation. Set the `value` element of the `@ProbeParam` annotation to
-the name of the parameter.
-
-[[ghpmm]][[GSACG00013]][[example-of-defining-an-event-provider-by-writing-a-java-class]]
-
-Example of Defining an Event Provider by Writing a Java Class
-
-[[GSACG00041]][[ghprw]]
-
-
-Example 5-1 Defining an Event Provider by Writing a Java Class
-
-This example shows the definition of the `TxManager` class. This class
-defines events for the start and end of transactions that are performed
-by a transaction manager.
-
-The methods in this class are as follows:
-
-`onTxBegin`::
-  This method sends an event to indicate the start of a transaction. The
-  name of the event type that is associated with this method is `begin`.
-  A parameter that is named `txId` is passed to the method.
-`onCompletion`::
-  This method sends an event to indicate the end of a transaction. The
-  name of the event type that is associated with this method is `end`. A
-  parameter that is named `outcome` is passed to the method.
-
-[source,oac_no_warn]
-----
-import org.glassfish.external.probe.provider.annotations.Probe;
-import org.glassfish.external.probe.provider.annotations.ProbeParam;
-import org.glassfish.external.probe.provider.annotations.ProbeProvider;
-@ProbeProvider(moduleProviderName="examplecomponent",
-moduleName="transaction", probeProviderName="manager")
-public class TxManager {
-
-    @Probe("begin")
-    public void onTxBegin(
-        @ProbeParam("{txId}") String txId
-    ){}
-
-    @Probe ("end")
-    public void onCompletion(
-        @ProbeParam("{outcome}") boolean outcome
-    ){}
- }
-----
-
-[[gkaec]][[GSACG00165]][[defining-an-event-provider-by-writing-an-xml-fragment]]
-
-Defining an Event Provider by Writing an XML Fragment
-+++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-To define an event provider, write an extensible markup language (XML)
-fragment that contains a single `probe-provider` element.
-
-To create a name space for event providers and to uniquely identify an
-event provider to the monitoring infrastructure of GlassFish Server, set
-the attributes of the `probe-provider` element as follows:
-
-`moduleProviderName`::
-  Your choice of text to identify the application to which the event
-  provider belongs. The value of the `moduleProviderName` attribute is
-  not required to be unique. +
-  For example, for event providers from GlassFish Server Open Source
-  Edition, `moduleProviderName` is `glassfish`.
-`moduleName`::
-  Your choice of name for the module for which the event provider is
-  defined. A module provides significant functionality of an
-  application. The value of the `moduleName` attribute is not required
-  to be unique. +
-  In GlassFish Server, examples of module names are `web-container`,
-  `ejb-container`, `transaction`, and `webservices`.
-`probeProviderName`::
-  Your choice of name to identify the event provider. To uniquely
-  identify the event provider, ensure that `probeProviderName` is unique
-  for all event providers in the same module. +
-  In GlassFish Server, examples of event—provider names are `jsp`,
-  `servlet`, and `web-module`.
-
-Within the `probe-provider` element, add one `probe` element for each
-event type that you are defining. To identify the event type, set the
-name attribute of the `probe` element to the type.
-
-To define the characteristics of each event type, add the following
-elements within the `probe` element:
-
-`class`::
-  This element contains the fully qualified Java class name of the
-  component that generates the statistics for which you are defining
-  events.
-`method`::
-  This element contains the name of the method that is invoked to
-  generate the statistic.
-`signature`::
-  This element contains the following information about the signature if
-  the method: +
-[source,oac_no_warn]
-----
-return-type (paramater-type-list)
-----
-::
-  return-type;;
-    The return type of the method.
-  paramater-type-list;;
-    A comma-separated list of the types of the parameters in the method
-    signature.
-`probe-param`::
-  The attributes of this element identify the type and the name of a
-  parameter in the method signature. One `probe-param` element is
-  required for each parameter in the method signature. The `probe-param`
-  element does not contain any data. +
-  The attributes of the `probe-param` element are as follows: +
-  `type`;;
-    Specifies the type of the parameter.
-  `name`;;
-    Specifies the name of the parameter.
-`return-param`::
-  The `type` attribute of this element specifies the return type of the
-  method. The `return-param` element does not contain any data.
-
-[[GSACG00042]][[gkajj]]
-
-
-Example 5-2 Defining an Event Provider by Writing an XML Fragment
-
-This example defines an event provider for the `glassfish:web:jsp`
-component. The Java class of this component is
-`com.sun.enterprise.web.jsp.JspProbeEmitterImpl`. The event provider
-defines one event of type `jspLoadedEvent`. The signature of the method
-that is associated with this event is as follows:
-
-[source,oac_no_warn]
-----
-void jspLoaded (String jsp, String hostName)
-
-<probe-provider moduleProviderName="glassfish" moduleName="web" probeProviderName="jsp">
-    <probe name="jspLoadedEvent">
-       <class>com.sun.enterprise.web.jsp.JspProbeEmitterImpl</class>
-       <method>jspLoaded</method>
-       <signature>void (String,String)</signature>
-       <probe-param type="String" name="jsp"/>
-       <probe-param type="String" name="hostName"/>
-       <return-param type="void" />
-    </probe>
-</probe-provider>
-----
-
-[[gkaie]][[GSACG00166]][[packaging-a-components-event-providers]]
-
-Packaging a Component's Event Providers
-+++++++++++++++++++++++++++++++++++++++
-
-Packaging a component's event providers enables the monitoring
-infrastructure of GlassFish Server to discover the event providers
-automatically.
-
-To package a component's event providers, add an entry to the
-component's `META-INF/MANIFEST.MF` file that identifies all of the
-component's event providers. The format of the entry depends on how the
-event providers are defined:
-
-* If the event providers are defined as Java classes, the entry is a
-list of the event providers' class names as follows: +
-[source,oac_no_warn]
-----
-probe-provider-class-names : class-list
-----
-The `class-list` is a comma-separated list of the fully qualified Java
-class names of the component's event providers.
-* If the event providers are defined as XML fragments, the entry is a
-list of the paths to the files that contain the XML fragments as
-follows: +
-[source,oac_no_warn]
-----
-probe-provider-xml-file-names : path-list
-----
-The `path-list` is a comma-separated list of the paths to the XML files
-relative to the root of the archive in the JAR file.
-
-[[GSACG00043]][[gkaii]]
-
-
-Example 5-3 Manifest Entry for Event Providers That Are Defined as Java
-Classes
-
-This example shows the entry in the `META-INF/MANIFEST.MF` file of a
-component whose event provider is the
-`org.glassfish.pluggability.monitoring.ModuleProbeProvider` class.
-
-[source,oac_no_warn]
-----
-probe-provider-class-names : org.glassfish.pluggability.monitoring.ModuleProbeProvider
-----
-
-[[ghprg]][[GSACG00221]][[sending-an-event]]
-
-Sending an Event
-^^^^^^^^^^^^^^^^
-
-At runtime, your add-on component might perform an operation that
-generates statistics. To provide statistics about the operation to
-GlassFish Server, your component must send an event of the correct type
-when performing the operation.
-
-To send an event, instantiate your event provider class and invoke the
-method of the event provider class for the type of the event.
-Instantiate the class and invoke the method in the class that represents
-your add-on component. Ensure that the method is invoked when your
-component performs the operation for which the event was defined. One
-way to meet this requirement is to invoke the method for sending the
-event in the body of the method for performing the operation.
-
-[[GSACG00044]][[ghpus]]
-
-
-Example 5-4 Sending an Event
-
-This example shows the code for instantiating the `TxManager` class and
-invoking the `onTxBegin` method to send an event of type `begin`. This
-event indicates that a component is about to begin a transaction.
-
-The `TxManager` class is instantiated in the constructor of the
-`TransactionManagerImpl` class. To ensure that the event is sent at the
-correct time, the `onTxBegin` method is invoked in the body of the
-`begin` method, which starts a transaction.
-
-The declaration of the `onTxBegin` method in the event provider
-interface is shown in link:#ghprw[Example 5-1].
-
-[source,oac_no_warn]
-----
-...
-public class TransactionManagerImpl {
-...
-     public TransactionManagerImpl() {
-         TxManager txProvider = new TxManager();
-         ...
-     }
-    ...
-    public void begin() {
-        String txId = createTransactionId();
-        ....
-        txProvider.onTxBegin(txId); //emit
-      }
-...
-}
-----
-
-[[ghplw]][[GSACG00117]][[updating-the-monitorable-object-tree]]
-
-Updating the Monitorable Object Tree
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A monitorable object is a component, subcomponent, or service that can
-be monitored. GlassFish Server uses a tree structure to track
-monitorable objects.
-
-Because the tree is dynamic, the tree changes as components of the
-GlassFish Server instance are added, modified, or removed. Objects are
-also added to or removed from the tree in response to configuration
-changes. For example, if monitoring for a component is turned off, the
-component's monitorable object is removed from the tree.
-
-To enable system administrators to access statistics for all components
-in the same way, you must provide statistics for an add-on component by
-updating the monitorable object tree. Statistics for the add-on
-component are then available through the GlassFish Server administrative
-commands link:../reference-manual/get.html#GSRFM00139[`get`], olink:GSRFM00145[`list`], and
-link:../reference-manual/set.html#GSRFM00226[`set`]. These commands locate an object in the tree
-through the object's dotted name.
-
-For more information about the tree structure of monitorable objects,
-see "link:../administration-guide/monitoring.html#GSADG00727[How the Monitoring Tree Structure Works]" in
-Eclipse GlassFish Administration Guide.
-
-To make an add-on component a monitorable object, you must add the
-add-on component to the monitorable object tree.
-
-To update the statistics for an add-on component, you must add the
-statistics to the monitorable object tree, and create event listeners to
-gather statistics from events that represent these statistics. At
-runtime, these listeners must update monitorable objects with statistics
-that these events contain. The events are sent by event provider
-classes. For information about how to create event provider classes and
-send events, see link:#ghopc[Defining Statistics That Are to Be
-Monitored].
-
-Updating the monitorable object tree involves the following tasks:
-
-* link:#ghpni[Creating Event Listeners]
-* link:#ghptp[Representing a Component's Statistics in an Event Listener
-Class]
-* link:#ghpml[Subscribing to Events From Event Provider Classes]
-* link:#ghppo[Registering an Event Listener]
-
-[[ghpni]][[GSACG00222]][[creating-event-listeners]]
-
-Creating Event Listeners
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-An event listener gathers statistics from events that an event provider
-sends. To enable an add-on component to gather statistics from events,
-create listeners to receive events from the event provider. The listener
-can receive events from the add-on component in which the listener is
-created and from other components.
-
-To create an event listener, write a Java class to represent the
-listener. The listener can be any Java object.
-
-An event listener also represents a component's statistics. To enable
-the Application Server Management Extensions (AMX) to expose the
-statistics to client applications, annotate the declaration of the class
-with the `org.glassfish.gmbal.ManagedObject` annotation.
-
-Ensure that the class that you write meets these requirements:
-
-* The return value of all callback methods in the listener must be void.
-* Because the methods of your event provider class may be entered by
-multiple threads, the listener must be thread safe. However,GlassFish
-Server provides utility classes to perform some common operations such
-as `count`, `avg`, and `sum`.
-* The listener must have the same restrictions as a Jakarta EE application. For example, the listener
-cannot open server sockets, or create threads.
-
-A listener is called in the same thread as the event method. As a
-result, the listener can use thread locals. If the monitored system
-allows access to thread locals, the listener can access thread locals of
-the monitored system.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-A listener that is not registered to listen for events is never called
-by the framework. Therefore, unregistered listeners do not consume any
-computing resources, such as memory or processor cycles.
-
-|=======================================================================
-
-
-[[ghptp]][[GSACG00223]][[representing-a-components-statistics-in-an-event-listener-class]]
-
-Representing a Component's Statistics in an Event Listener Class
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Represent each statistic as the property of a JavaBeans specification
-getter method of your listener class. Methods in the listener class for
-processing events can then access the property through the getter
-method. For more information, see link:#ghpml[Subscribing to Events From
-Event Provider Classes].
-
-To enable AMX to expose the statistic to client applications, annotate
-the declaration of the getter method with the
-`org.glassfish.gmbal.ManagedAttribute` annotation. Set the `id` element
-of the `@ManagedAttribute` annotation to the property name all in
-lowercase.
-
-The data type of the property that represents a statistic must be a
-class that provides methods for computing the statistic from event data.
-
-The `org.glassfish.external.statistics.impl` package provides the
-following classes to gather and compute statistics data:
-
-`AverageRangeStatisticImpl`::
-  Provides standard measurements of the lowest and highest values that
-  an attribute has held and the current value of the attribute.
-`BoundaryStatisticImpl`::
-  Provides standard measurements of the upper and lower limits of the
-  value of an attribute.
-`BoundedRangeStatisticImpl`::
-  Aggregates the attributes of `RangeStatisticImpl` and
-  `BoundaryStatisticImpl` and provides standard measurements of a range
-  that has fixed limits.
-`CountStatisticImpl`::
-  Provides standard count measurements.
-`RangeStatisticImpl`::
-  Provides standard measurements of the lowest and highest values that
-  an attribute has held and the current value of the attribute.
-`StatisticImpl`::
-  Provides performance data.
-`StringStatisticImpl`::
-  Provides a string equivalent of a counter statistic.
-`TimeStatisticImpl`::
-  Provides standard timing measurements.
-
-[[GSACG00045]][[ghpsc]]
-
-
-Example 5-5 Representing a Component's Statistics in an Event Listener
-Class
-
-This example shows the code for representing the `txcount` statistic in
-the `TxListener` class.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.external.statistics.CountStatistic;
-import org.glassfish.external.statistics.impl.CountStatisticImpl;
-...
-import org.glassfish.gmbal.ManagedAttribute;
-import org.glassfish.gmbal.ManagedObject;
-
-...
-@ManagedObject
-public class TxListener {
-
-    private CountStatisticImpl txCount = new CountStatisticImpl("TxCount",
-        "count", "Number of completed transactions");
-...
-    @ManagedAttribute(id="txcount")
-    public CountStatistic  getTxCount(){
-         return txCount;
-    }
-}
-----
-
-[[ghpml]][[GSACG00224]][[subscribing-to-events-from-event-provider-classes]]
-
-Subscribing to Events From Event Provider Classes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To receive events from event provider classes, a listener must subscribe
-to the events. Subscribing to events also specifies the provider and the
-type of events that the listener will receive.
-
-To subscribe to events from event provider classes, write one method in
-your listener class to process each type of event. To specify the
-provider and the type of event, annotate the method with the
-`org.glassfish.external.probe.provider.annotations.ProbeListener`
-annotation. In the `@ProbeListener` annotation, specify the provider and
-the type as follows:
-
-[source,oac_no_warn]
-----
-"module-providername:module-name:probe-provider-name:event-type"
-----
-
-module-providername::
-  The application to which the event provider belongs. This parameter
-  must be the value of the `moduleProviderName` element or attribute in
-  the definition of the event provider. See link:#ghovq[Defining an
-  Event Provider by Writing a Java Class] and link:#gkaec[Defining an
-  Event Provider by Writing an XML Fragment].
-module-name::
-  The module for which the event provider is defined. This parameter
-  must match be the value of the `moduleName` element or attribute in
-  the definition of the event provider. See link:#ghovq[Defining an
-  Event Provider by Writing a Java Class] and link:#gkaec[Defining an
-  Event Provider by Writing an XML Fragment].
-probe-provider-name::
-  The name of the event provider. This parameter must match be the value
-  of the `probeProviderName` element or attribute in the definition of
-  the event provider. See link:#ghovq[Defining an Event Provider by
-  Writing a Java Class] and link:#gkaec[Defining an Event Provider by
-  Writing an XML Fragment].
-event-type::
-  The type of the event. This type is defined in the event provider
-  class. For more information, see link:#ghosi[Defining Event Types in
-  an Event Provider Class].
-
-Annotate each parameter in the method signature with the `@ProbeParam`
-annotation. Set the `value` element of the `@ProbeParam` annotation to
-the name of the parameter.
-
-In the method body, provide the code to update monitoring statistics in
-response to the event.
-
-[[GSACG00046]][[ghpwu]]
-
-
-Example 5-6 Subscribing to Events From Event Provider Classes
-
-This example shows the code for subscribing to events of type `begin`
-from the `tx` component. The provider of the component is `TxManager`.
-The body of the `begin` method contains code to increase the transaction
-count txcount by 1 each time that an event is received.
-
-The definition of the `begin` event type is shown in link:#ghprw[Example
-5-1].
-
-The code for sending `begin` events is shown in link:#ghpus[Example
-5-4].
-
-The instantiation of the `txCount` object is shown in
-link:#ghpsc[Example 5-5].
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.external.probe.provider.annotations.ProbeListener;
-import org.glassfish.external.probe.provider.annotations.ProbeParam;
-import org.glassfish.gmbal.ManagedObject;
-...
-@ManagedObject
-public class TxListener {
-    ...;    @ProbeListner("examplecomponent:transaction:manager:begin")
-    public void begin(
-    @ProbeParam("{txId}")
-    String txId) {
-      txCount.increment();
-    }
-  }
-----
-
-[[ghpsp]][[GSACG00167]][[listening-for-changes-to-values-that-are-not-part-of-the-target-method-definition]]
-
-Listening for Changes to Values That are Not Part of the Target Method Definition
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Event listeners can express their interest in certain predefined values
-that are not part of the target method definition. For example,
-$\{gf.appname}, $\{gf.modulename} etc. are some of the computed params
-that are available to the clients, these values are computed/evaluated
-only on demand and provided by the event infrastructure.
-
-[[ghpsw]][[GSACG00168]][[getting-information-about-a-event-provider]]
-
-Getting Information About a Event Provider
-++++++++++++++++++++++++++++++++++++++++++
-
-`ProbeProviderInfo` contains details about individual event types in an
-event provider class.
-
-[source,oac_no_warn]
-----
-public interface ProbeProviderInfo {
-
-      public String getModuleName();
-
-      public String getProviderName();
-
-      public String getApplicationName();
-
-      public String getProbeName();
-
-      public String[] getParamterNames();
-
-      public Class getParamterTypes();
-
- }
-----
-
-[[ghpmt]][[GSACG00225]][[listening-for-events-from-classes-that-are-not-event-providers]]
-
-Listening for Events From Classes That Are Not Event Providers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-gfProbes infrastructure allows clients to monitor glassfish even in the
-absence of provider classes. This is done by allowing clients to receive
-callbacks when a java methods are entered / exited. Note that while this
-approach allows a client to monitor legacy code, it may not always be
-possible to receive "high-level" events.
-
-For example, while it is easy to monitor (through gfProbes) when
-TransactionManagerImpl.begin() entered / exited, the client cannot
-determine the transaction ID in this case.
-
-[source,oac_no_warn]
-----
-public class TxMonitor {
-     @MethodEntry("tx:com.sun.tx.TxMgrImpl::onTxBegin")
-     public void onTx(String tId) {
-       count++;
-     }
-  }
-----
-
-[[ghpql]][[GSACG00169]][[monitoring-method-entry]]
-
-Monitoring Method Entry
-+++++++++++++++++++++++
-
-The @MethodEntry annotation must be used by the client to receive
-callback when the target method is entered. The client method argument
-types and count must match the target methods parameter types/count.
-
-[[ghppg]][[GSACG00170]][[monitoring-method-exit]]
-
-Monitoring Method Exit
-++++++++++++++++++++++
-
-The @MethodExit annotation must be used by the client to receive
-callback when the target method is exited. The client method argument
-types and count must match the target methods parameter types/count. The
-first parameter in the client method should match the return type of the
-target method (only if the target method has a non void return type)
-
-[[ghplj]][[GSACG00171]][[monitoring-exceptions]]
-
-Monitoring Exceptions
-+++++++++++++++++++++
-
-The @OnException annotation must be used by the client to receive
-callback when the target method exits because of an exception. The
-client method argument types and count must match the target methods
-parameter types/count. (This restriction might be removed later). The
-first parameter in the client method should be of type Throwable
-
-[[ghppo]][[GSACG00226]][[registering-an-event-listener]]
-
-Registering an Event Listener
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Registering an event listener enables the listener to receive callbacks
-from the GlassFish Server event infrastructure. The listener can then
-collect data from events and update monitorable objects in the object
-tree. These monitorable objects form the basis for monitoring
-statistics.
-
-Registering an event listener also makes a component and its statistics
-monitorable objects by adding statistics for the component to the
-monitorable object tree.
-
-At runtime, the GlassFish Server event infrastructure registers
-listeners for an event provider when the event provider is started and
-unregisters them when the event provider is shut down. As a result,
-listeners have no dependencies on other components.
-
-To register a listener, invoke the static
-`org.glassfish.external.probe.provider.StatsProviderManager.register`
-method in the class that represents your add-on component. In the method
-invocation, pass the following information as parameters:
-
-* The name of the configuration element with which all statistics in the
-event listener are to be associated. System administrators use this
-element for enabling or disabling monitoring for the event listener.
-* The node in the monitorable object tree under which the event listener
-is to be registered. To specify the node, pass one of the following
-constants of the
-`org.glassfish.external.probe.provider.PluginPointPluginPoint`
-enumeration:
-
-** To register the listener under the `server/applications` node, pass
-the `APPLICATIONS` constant.
-
-** To register the listener under the `server` node, pass the `SERVER`
-constant.
-* The path through the monitorable object tree from the node under which
-the event listener is registered down to the statistics in the event
-listener. The nodes in this path are separated by the slash (`/`)
-character.
-* The listener object that you are registering.
-
-[[GSACG00047]][[ghpuu]]
-
-
-Example 5-7 Registering an Event Listener
-
-This example shows the code for registering the event listener
-`TxListener` for the add-on component that is represented by the class
-`TransactionManagerImpl`. The statistics that are defined in this
-listener are associated with the `web-container` configuration element.
-The listener is registered under the `server/applications` node. The
-path from this node to the statistics in the event listener is
-`tx/txapp`.
-
-Code for the constructor of the `TxListener` class is beyond the scope
-of this example.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.external.probe.provider.StatsProviderManager;
-import org.glassfish.external.probe.provider.PluginPoint
-...
-public class TransactionManagerImpl {
-...
-    StatsProviderManager.register("web-container", PluginPoint.APPLICATIONS,
-        "tx/txapp", new TxListener());
-...
-}
-----
-
-[[ghrma]][[GSACG00118]][[dotted-names-and-rest-urls-for-an-add-on-components-statistics]]
-
-Dotted Names and REST URLs for an Add-On Component's Statistics
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server administrative subcommands link:../reference-manual/get.html#GSRFM00139[`get`],
-link:../reference-manual/list.html#GSRFM00145[`list`], and olink:GSRFM00226[`set`] locate a statistic
-through the dotted name of the statistic. The dotted name of a statistic
-for an add-on component is determined from the registration of the event
-listener that defines the statistic as follows:
-
-[source,oac_no_warn]
-----
-listener-parent-node.path-to-statistic.statistic-name
-----
-
-listener-parent-node::
-  The node in the monitorable object tree under which the event listener
-  that defines the statistic is registered. This node is passed in the
-  invocation of the `register` method that registers the event listener.
-  For more information, see link:#ghppo[Registering an Event Listener].
-path-to-statistic::
-  The path through the monitorable object tree from the node under which
-  the event listener is registered down to the statistic in the event
-  listener in which each slash is replaced with a period. This path is
-  passed in the invocation of the `register` method that registers the
-  event listener. For more information, see link:#ghppo[Registering an
-  Event Listener].
-statistic-name::
-  The name of the statistic. This name is the value of the `id` element
-  of the `@ManagedAttribute` annotation on the property that represents
-  the statistic. For more information, see link:#ghptp[Representing a
-  Component's Statistics in an Event Listener Class].
-
-For example, the dotted name of the `txcount` statistic that is defined
-in link:#ghpsc[Example 5-5] and registered in link:#ghpuu[Example 5-7]
-is as follows:
-
-[source,oac_no_warn]
-----
-server.applications.tx.txapp.txcount
-----
-
-The formats of the URL to a REST resource that represents a statistic is
-as follows:
-
-[source,oac_no_warn]
-----
-http://host:port/monitoring/domain/path
-----
-
-host::
-  The host where the DAS is running.
-port::
-  The HTTP port or HTTPS port for administration.
-path::
-  The path to the statistic. The path is the dotted name of the
-  attribute in which each dot (`.`) is replaced with a slash (`/`).
-
-For example, the URL the REST resource for the `txcount` statistic that
-is defined in link:#ghpsc[Example 5-5] and registered in
-link:#ghpuu[Example 5-7] is as follows:
-
-[source,oac_no_warn]
-----
-http://localhost:4848/monitoring/domain/server/applications/tx/txapp/txcount
-----
-
-In this example, the DAS is running on the local host and the HTTP port
-for administration is 4848.
-
-[[ghmox]][[GSACG00119]][[adding-a-type-to-the-monitor-command]]
-
-Adding a Type to the `monitor` Command
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To add a type to the `monitor` command, implement the `MonitorContract`
-interface.
-
-An implementation of the `MonitorContract` interface is an HK2 service
-that provides monitoring data to the `monitor` command.
-
-[[ghptj]][[GSACG00120]][[example-of-adding-monitoring-capabilities]]
-
-Example of Adding Monitoring Capabilities
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This example shows a component that monitors the number of requests that
-a container receives. The following table provides a cross-reference to
-the listing of each class or interface in the example.
-
-[width="100%",cols="<50%,<50%",options="header",]
-|===================================================
-|Class or Interface |Listing
-|`ModuleProbeProvider` |link:#ghpna[Example 5-8] +
-|`ModuleBootStrap` |link:#ghpmu[Example 5-9] +
-|`ModuleStatsTelemetry` |link:#ghpvw[Example 5-10] +
-|`Module` |link:#ghpuc[Example 5-11] +
-|`ModuleMBean` |link:#ghpwx[Example 5-12] +
-|===================================================
-
-
-[[GSACG00048]][[ghpna]]
-
-
-Example 5-8 Event Provider Class
-
-This example illustrates how to define an event provider as explained in
-link:#ghovq[Defining an Event Provider by Writing a Java Class].
-
-The example shows the definition of the `ModuleProbeProvider` class. The
-event provider sends events when the request count is increased by 1 or
-decreased by 1.
-
-This class defines the following methods:
-
-* `moduleCountIncrementEvent`
-* `moduleCountDecrementEvent`
-
-The name of each method is also the name of the event type that is
-associated with the method.
-
-A parameter that is named `count` is passed to each method.
-
-[source,oac_no_warn]
-----
-package org.glassfish.pluggability.monitoring;
-
-import org.glassfish.external.probe.provider.annotations.Probe;
-import org.glassfish.external.probe.provider.annotations.ProbeParam;
-import org.glassfish.external.probe.provider.annotations.ProbeProvider;
-
-/**
- * Monitoring count events
- * Provider interface for module specific probe events.
- *
- */
-@ProbeProvider(moduleProviderName = "glassfish", moduleName = "mybeanmodule",
-probeProviderName = "mybean")
-public class ModuleProbeProvider {
-
-    /**
-     * Emits probe event whenever the count is incremented
-     */
-    @Probe(name = "moduleCountIncrementEvent")
-    public void moduleCountIncrementEvent(
-            @ProbeParam("count") Integer count) {
-    }
-
-    /**
-     * Emits probe event whenever the count is decremented
-     */
-    @Probe(name = "moduleCountDecrementEvent")
-    public void moduleCountDecrementEvent(
-            @ProbeParam("count") Integer count) {
-    }
-}
-----
-
-[[GSACG00049]][[ghpmu]]
-
-
-Example 5-9 Bootstrap Class
-
-This example illustrates how to register an event listener as explained
-in link:#ghppo[Registering an Event Listener]. The example shows the
-code for registering an instance of the listener class
-`ModuleStatsTelemetry`. This instance is added as a child of the
-`server/applications` node of the tree.
-
-[source,oac_no_warn]
-----
-package org.glassfish.pluggability.monitoring;
-
-import org.jvnet.hk2.component.PostConstruct;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.annotations.Scoped;
-import org.jvnet.hk2.component.Singleton;
-import org.glassfish.external.probe.provider.StatsProviderManager;
-import org.glassfish.external.probe.provider.PluginPoint;
-
-/**
- * Monitoring Count Example
- * Bootstrap object for registering probe provider and listener
- *
- */
-@Service
-@Scoped(Singleton.class)
-public class ModuleBootStrap implements PostConstruct {
-
-    @Override
-    public void postConstruct() {
-        try {
-            StatsProviderManager.register("web-container",
-                    PluginPoint.APPLICATIONS, "myapp", new ModuleStatsTelemetry());
-        } catch (Exception e) {
-            System.out.println("Caught exception in postconstruct");
-            e.printStackTrace();
-        }
-    }
-}
-----
-
-[[GSACG00050]][[ghpvw]]
-
-
-Example 5-10 Listener Class
-
-This example shows how to perform the following tasks:
-
-* link:#ghpni[Creating Event Listeners]. The example shows the code of
-the `ModuleStatsTelemetry` listener class.
-* link:#ghptp[Representing a Component's Statistics in an Event Listener
-Class]. The example shows the code for representing the
-`countmbeancount` statistic.
-* link:#ghpml[Subscribing to Events From Event Provider Classes]. The
-example shows the code for subscribing to the following types of events
-from the `count` component:
-
-** `moduleCountIncrementEvent`
-
-** `moduleCountDecrementEvent`
-
-[source,oac_no_warn]
-----
-package org.glassfish.pluggability.monitoring;
-
-import org.glassfish.external.statistics.CountStatistic;
-import org.glassfish.external.statistics.impl.CountStatisticImpl;
-import org.glassfish.external.probe.provider.annotations.ProbeListener;
-import org.glassfish.external.probe.provider.annotations.ProbeParam;
-import org.glassfish.gmbal.ManagedAttribute;
-import org.glassfish.gmbal.ManagedObject;
-
-/**
- * Monitoring counter example
- * Telemtry object which listens to probe events and updates
- * the monitoring stats
- *
- */
-@ManagedObject
-public class ModuleStatsTelemetry {
-
-    private CountStatisticImpl countMBeanCount = new CountStatisticImpl(
-            "CountMBeanCount", "count", "Number of MBeans");
-
-    @ManagedAttribute(id = "countmbeancount")
-    public CountStatistic getCountMBeanCount() {
-        return countMBeanCount;
-    }
-
-    @ProbeListener("count:example:countapp:moduleCountIncrementEvent")
-    public void moduleCountIncrementEvent(
-            @ProbeParam("count") Integer count) {
-        countMBeanCount.increment();
-    }
-
-    @ProbeListener("count:example:countapp:moduleCountDecrementEvent")
-    public void moduleCountDecrementEvent(
-            @ProbeParam("count") Integer count) {
-        countMBeanCount.decrement();
-    }
-}
-----
-
-[[GSACG00051]][[ghpuc]]
-
-
-Example 5-11 MBean Interface
-
-This example defines the interface for a simple standard MBean that has
-methods to increase and decrease a counter by 1.
-
-[source,oac_no_warn]
-----
-package com.example.count.monitoring;
-
-/**
- * Monitoring counter example
- * ModuleMBean interface
- *
- */
-public interface ModuleMBean {
-    public Integer getCount() ;
-    public void incrementCount() ;
-    public void decrementCount() ;
-}
-----
-
-[[GSACG00052]][[ghpwx]]
-
-
-Example 5-12 MBean Implementation
-
-This example illustrates how to send an event as explained in
-link:#ghprg[Sending an Event]. The example shows code for sending events
-as follows:
-
-* The `moduleCountIncrementEvent` method is invoked in the body of the
-`incrementCount` method.
-* The `moduleCountDecrementEvent` method is invoked in the body of the
-`decrementCount` method.
-
-The methods `incrementCount` and `decrementCount` are invoked by an
-entity that is beyond the scope of this example, for example, JConsole.
-
-[source,oac_no_warn]
-----
-package org.glassfish.pluggability.monitoring;
-
-/**
- * Monitoring counter example
- * ModuleMBean implementation
- *
- */
-public class Module implements ModuleMBean {
-
-    private int k = 0;
-    private ModuleProbeProvider mpp = null;
-
-    @Override
-    public Integer getCount() {
-        return k;
-    }
-
-    @Override
-    public void incrementCount() {
-        k++;
-        if (mpp != null) {
-            mpp.moduleCountIncrementEvent(k);
-        }
-    }
-
-    @Override
-    public void decrementCount() {
-        k--;
-        if (mpp != null) {
-            mpp.moduleCountDecrementEvent(k);
-        }
-    }
-
-    void setProbeProvider(ModuleProbeProvider mpp) {
-        this.mpp = mpp;
-    }
-}
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/extending-asadmin.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/extending-asadmin.adoc
deleted file mode 100644
index 8a621bc..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/extending-asadmin.adoc
+++ /dev/null
@@ -1,1826 +0,0 @@
-type=page
-status=published
-title=Extending the asadmin Utility
-next=adding-monitoring-capabilities.html
-prev=extending-the-admin-console.html
-~~~~~~
-Extending the asadmin Utility
-=============================
-
-[[GSACG00004]][[ghmrd]]
-
-
-[[extending-the-asadmin-utility]]
-4 Extending the `asadmin` Utility
----------------------------------
-
-The `asadmin` utility is a command-line tool for configuring and
-administering Eclipse GlassFish Server. Extending the `asadmin` utility enables
-you to provide administrative interfaces for an add-on component that
-are consistent with the interfaces of other GlassFish Server components.
-A user can run `asadmin` subcommands either from a command prompt or
-from a script. For more information about the `asadmin` utility, see the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] man page.
-
-The following topics are addressed here:
-
-* link:#ghpuj[About the Administrative Command Infrastructure of
-GlassFish Server]
-* link:#ghpwe[Adding an `asadmin` Subcommand]
-* link:#ghpwa[Adding Parameters to an `asadmin` Subcommand]
-* link:#gkygt[Making `asadmin` Subcommands Cluster-Aware]
-* link:#ghptw[Adding Message Text Strings to an `asadmin` Subcommand]
-* link:#ghpvn[Enabling an `asadmin` Subcommand to Run]
-* link:#ghpvq[Setting the Context of an `asadmin` Subcommand]
-* link:#ghpwn[Changing the Brand in the GlassFish Server CLI]
-* link:#ghmza[Examples of Extending the `asadmin` Utility]
-* link:#gkzlq[Implementing Create, Delete, and List Commands Using
-Annotations]
-
-[[ghpuj]][[GSACG00105]][[about-the-administrative-command-infrastructure-of-glassfish-server]]
-
-About the Administrative Command Infrastructure of GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To enable multiple containers to be independently packaged and loaded,
-the administrative command infrastructure of GlassFish Server provides
-the following features:
-
-* Location independence. Administration subcommands can be loaded from
-any add-on component that is known to GlassFish Server.
-* Extensibility. Administrative subcommands that are available to
-GlassFish Server are discovered on demand and not obtained from a preset
-list of subcommands.
-* Support for the HK2 architecture. Subcommands can use injection to
-express their dependencies, and extraction to provide results to a user.
-For more information, see link:writing-hk2-components.html#ghmna[Writing
-HK2 Components].
-
-[[ghpwe]][[GSACG00107]][[adding-an-asadmin-subcommand]]
-
-Adding an `asadmin` Subcommand
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-An `asadmin` subcommand identifies the operation or task that a user is
-to perform. Adding an `asadmin` subcommand enables the user to perform
-these tasks and operations through the `asadmin` utility.
-
-The following topics are addressed here:
-
-* link:#ghrqj[Representing an `asadmin` Subcommand as a Java Class]
-* link:#ghrpm[Specifying the Name of an `asadmin` Subcommand]
-* link:#ghrng[Ensuring That an `AdminCommand` Implementation Is
-Stateless]
-* link:#ghrqx[Example of Adding an `asadmin` Subcommand]
-
-[[ghrqj]][[GSACG00194]][[representing-an-asadmin-subcommand-as-a-java-class]]
-
-Representing an `asadmin` Subcommand as a Java Class
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Each `asadmin` subcommand that you are adding must be represented as a
-Java class. To represent an `asadmin` subcommand as a Java class, write
-a Java class that implements the `org.glassfish.api.admin.AdminCommand`
-interface. Write one class for each subcommand that you are adding. Do
-not represent multiple `asadmin` subcommands in a single class.
-
-Annotate the declaration of your implementations of the `AdminCommand`
-interface with the `org.jvnet.hk2.annotations.Service` annotation. The
-`@Service` annotation ensures that the following requirements for your
-implementations are met:
-
-* The implementations are eligible for resource injection and resource
-extraction.
-* The implementations are location independent, provided that the
-component that contains them is made known to the GlassFish Server
-runtime. +
-For information about how to make a component known to the GlassFish
-Server runtime, see
-link:packaging-integrating-delivering.html#ghmne[Integrating an Add-On
-Component With GlassFish Server].
-
-[[ghrpm]][[GSACG00195]][[specifying-the-name-of-an-asadmin-subcommand]]
-
-Specifying the Name of an `asadmin` Subcommand
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To specify the name of the subcommand, set the `name` element of the
-`@Service` annotation to the name.
-
-
-[width="100%",cols="<100%",]
-|===================================
-a|
-Note:
-
-Subcommand names are case-sensitive.
-
-|===================================
-
-
-Subcommands that are supplied in GlassFish Server distributions
-typically create, delete, and list objects of a particular type. For
-consistency with the names of subcommands that are supplied in GlassFish
-Server distributions, follow these conventions when specifying the name
-of a subcommand:
-
-* For subcommands that create an object of a particular type, use the
-name `create-`object`.`
-* For subcommands that delete an object of a particular type, use the
-name `delete-`object`.`
-* For subcommands that list all objects of a particular type, use the
-name `list-`objects`.`
-
-For example, GlassFish Server provides the following subcommands for
-creating, deleting, and listing HTTP listeners:
-
-* `create-http-listener`
-* `delete-http-listener`
-* `list-http-listeners`
-
-You must also ensure that the name of your subcommand is unique. To
-obtain a complete list of the names of all `asadmin` subcommands that
-are installed, use the link:../reference-manual/list-commands.html#GSRFM00154[`list-commands`] subcommand. For
-a complete list of `asadmin` subcommands that are supplied in GlassFish
-Server distributions, see the link:../reference-manual/toc.html#GSRFM[Eclipse GlassFish Reference Manual].
-
-[[ghrng]][[GSACG00196]][[ensuring-that-an-admincommand-implementation-is-stateless]]
-
-Ensuring That an `AdminCommand` Implementation Is Stateless
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable multiple clients to run a subcommand simultaneously, ensure
-that the implementation of the `AdminCommand` interface for the
-subcommand is stateless. To ensure that the implementation of the
-`AdminCommand` interface is stateless, annotate the declaration of your
-implementation with the `org.jvnet.hk2.annotations.Scoped` annotation.
-In the `@Scoped` annotation, set the scope as follows:
-
-* To instantiate the subcommand for each lookup, set the scope to
-`PerLookup.class`.
-* To instantiate the subcommand only once for each session, set the
-scope to `Singleton`.
-
-[[ghrqx]][[GSACG00197]][[example-of-adding-an-asadmin-subcommand]]
-
-Example of Adding an `asadmin` Subcommand
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[GSACG00034]][[ghrqq]]
-
-
-Example 4-1 Adding an `asadmin` Subcommand
-
-This example shows the declaration of the class `CreateMycontainer` that
-represents an `asadmin` subcommand that is named `create-mycontainer`.
-The subcommand is instantiated for each lookup.
-
-[source,oac_no_warn]
-----
-package com.example.mycontainer;
-
-import org.glassfish.api.admin.AdminCommand;
-...
-import org.jvnet.hk2.annotations.Service;
-...
-import org.jvnet.hk2.annotations.Scoped;
-import org.jvnet.hk2.component.PerLookup;
-
-/**
- * Sample subcommand
- */
-@Service(name="create-mycontainer")
-@Scoped(PerLookup.class)
-public Class CreateMycontainer implements AdminCommand {
-…
-}
-----
-
-[[ghpwa]][[GSACG00108]][[adding-parameters-to-an-asadmin-subcommand]]
-
-Adding Parameters to an `asadmin` Subcommand
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The parameters of an `asadmin` subcommand are the options and operands
-of the subcommand.
-
-* Options control how the `asadmin` utility performs a subcommand.
-* Operands are the objects on which a subcommand acts. For example, the
-operand of the link:../reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand is the domain
-that is to be started.
-
-The following topics are addressed here:
-
-* link:#ghpvh[Representing a Parameter of an `asadmin` Subcommand]
-* link:#ghptx[Identifying a Parameter of an `asadmin` Subcommand]
-* link:#ghpxp[Specifying Whether a Parameter Is an Option or an Operand]
-* link:#ghpxj[Specifying the Name of an Option]
-* link:#ghpxl[Specifying the Acceptable Values of a Parameter]
-* link:#ghrgt[Specifying the Default Value of a Parameter]
-* link:#ghpuk[Specifying Whether a Parameter Is Required or Optional]
-* link:#CDCFAJDG[Specifying Whether a Parameter Can Be Used Multiple
-Times on the Command Line]
-* link:#ghpxd[Example of Adding Parameters to an `asadmin` Subcommand]
-
-[[ghpvh]][[GSACG00198]][[representing-a-parameter-of-an-asadmin-subcommand]]
-
-Representing a Parameter of an `asadmin` Subcommand
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Represent each parameter of a subcommand in your implementation as a
-field or as the property of a JavaBeans specification setter method. Use
-the property of a setter method for the following reasons:
-
-* To provide data encapsulation for the parameter
-* To add code for validating the parameter before the property is set
-
-[[ghptx]][[GSACG00199]][[identifying-a-parameter-of-an-asadmin-subcommand]]
-
-Identifying a Parameter of an `asadmin` Subcommand
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Identifying a parameter of an `asadmin` subcommand enables GlassFish
-Server to perform the following operations at runtime on the parameter:
-
-* Validation. The GlassFish Server determines whether all required
-parameters are specified and returns an error if any required parameter
-is omitted.
-* Injection. Before the subcommand runs, the GlassFish Server injects
-each parameter into the required field or method before the subcommand
-is run.
-* Usage message generation. The GlassFish Server uses reflection to
-obtain the list of parameters for a subcommand and to generate the usage
-message from this list.
-* Localized string display. If the subcommand supports
-internationalization and if localized strings are available, the
-GlassFish Server can automatically obtain the localized strings for a
-subcommand and display them to the user.
-
-To identify a parameter of a subcommand, annotate the declaration of the
-item that is associated with the parameter with the
-`org.glassfish.api.Param` annotation. This item is either the field or
-setter method that is associated with the parameter.
-
-To specify the properties of the parameter, use the elements of the
-`@Param` annotation as explained in the sections that follow.
-
-[[ghpxp]][[GSACG00200]][[specifying-whether-a-parameter-is-an-option-or-an-operand]]
-
-Specifying Whether a Parameter Is an Option or an Operand
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Whether a parameter is an option or an operand determines how a user
-must specify the parameter when running the subcommand:
-
-* If the parameter is an option, the user must specify the option with
-the parameter name.
-* If the parameter is an operand, the user may omit the parameter name.
-
-To specify whether a parameter is an option or an operand, set the
-`primary` element of the `@Param` annotation as follows:
-
-* If the parameter is an option, set the `primary` element to `false`.
-This value is the default.
-* If the parameter is an operand, set the `primary` element to `true`.
-
-[[ghpxj]][[GSACG00201]][[specifying-the-name-of-an-option]]
-
-Specifying the Name of an Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The name of an option is the name that a user must type on the command
-line to specify the option when running the subcommand.
-
-The name of each option that you add in your implementation of an
-`asadmin` subcommand can have a long form and a short form. When running
-the subcommand, the user specifies the long form and the short form as
-follows:
-
-* The short form of an option name has a single dash (`-`) followed by a
-single character.
-* The long form of an option name has two dashes (`--`) followed by an
-option word.
-
-For example, the short form and the long form of the name of the option
-for specifying terse output are as follows:
-
-* Short form: `-m`
-* Long form: `--monitor`
-
-
-[width="100%",cols="<100%",]
-|===============================
-a|
-Note:
-
-Option names are case-sensitive.
-
-|===============================
-
-
-[[ghpvy]][[GSACG00163]][[specifying-the-long-form-of-an-option-name]]
-
-Specifying the Long Form of an Option Name
-++++++++++++++++++++++++++++++++++++++++++
-
-To specify the long form of an option name, set the `name` element of
-the `@Param` annotation to a string that specifies the name. If you do
-not set this element, the default name depends on how you represent the
-option.
-
-* If you represent the option as a field, the default name is the field
-name.
-* If you represent the option as the property of a JavaBeans
-specification setter method, the default name is the property name from
-the setter method name. For example, if the setter method `setPassword`
-is associated with an option, the property name and the option name are
-both `password`.
-
-[[sthref5]][[specifying-the-short-form-of-an-option-name]]
-
-Specifying the Short Form of an Option Name
-+++++++++++++++++++++++++++++++++++++++++++
-
-[[ghpvi]]
-
-To specify the short form of an option name, set the `shortName` element
-of the `@Param` annotation to a single character that specifies the
-short form of the parameter. The user can specify this character instead
-of the full parameter name, for example `-m` instead of `--monitor`. If
-you do not set this element, the option has no short form.
-
-[[ghpxl]][[GSACG00202]][[specifying-the-acceptable-values-of-a-parameter]]
-
-Specifying the Acceptable Values of a Parameter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When a user runs the subcommand, the GlassFish Server validates option
-arguments and operands against the acceptable values that you specify in
-your implementation.
-
-To specify the acceptable values of a parameter, set the
-`acceptableValues` element of the `@Param` annotation to a string that
-contains a comma-separated list of acceptable values. If you do not set
-this element, any string of characters is acceptable.
-
-[[ghrgt]][[GSACG00203]][[specifying-the-default-value-of-a-parameter]]
-
-Specifying the Default Value of a Parameter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The default value of a parameter is the value that is applied if a user
-omits the parameter when running the subcommand.
-
-To specify the default value of a parameter, set the `defaultValue`
-element of the `@Param` annotation to a string that contains the default
-value. You can also compute the default value dynamically by extending
-the `ParamDefaultCalculator` class and setting the `defaultCalculator`
-element of the `@Param` annotation to this class. If these elements are
-not set, the parameter has no default value.
-
-[[ghpuk]][[GSACG00204]][[specifying-whether-a-parameter-is-required-or-optional]]
-
-Specifying Whether a Parameter Is Required or Optional
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Whether a parameter is required or optional determines how a subcommand
-responds if a user omits the parameter when running the subcommand:
-
-* If the parameter is required, the subcommand returns an error.
-* If the parameter is optional, the subcommand runs successfully.
-
-To specify whether a parameter is optional or required, set the
-`optional` element of the `@Param` annotation as follows:
-
-* If the parameter is required, set the `optional` element to `false`.
-This value is the default.
-* If the parameter is optional, set the `optional` element to `true`.
-
-[[CDCFAJDG]][[specifying-whether-a-parameter-can-be-used-multiple-times-on-the-command-line]]
-
-Specifying Whether a Parameter Can Be Used Multiple Times on the Command
-Line
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, each parameter can be used once on the command line. To use
-the parameter multiple times, set the `multiple` element of the `@Param`
-annotation to `true`. The type of the annotated parameter must be an
-array.
-
-[[ghpxd]][[GSACG00205]][[example-of-adding-parameters-to-an-asadmin-subcommand]]
-
-Example of Adding Parameters to an `asadmin` Subcommand
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[GSACG00035]][[ghpuh]]
-
-
-Example 4-2 Adding Parameters to an `asadmin` Subcommand
-
-This example shows the code for adding parameters to an `asadmin`
-subcommand with the properties as shown in the table.
-
-[width="172%",cols="<17%,<12%,<8%,<5%,<6%,<46%,<6%",options="header",]
-|=======================================================================
-|Name |Represented As |Acceptable Values |Default Value |Optional or
-Required |Short Name |Option or Operand
-|`--originator` |A field that is named `originator` |Any character
-string |None defined |Required |None |Option
-
-|`--description` |A field that is named `mycontainerDescription` |Any
-character string |None defined |Optional |None |Option
-
-|`--enabled` |A field that is named `enabled` |`true` or `false`
-|`false` |Optional |None |Option
-
-|`--containername` |A field that is named `containername` |Any character
-string |None defined |Required |None |Operand
-|=======================================================================
-
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.api.Param;
-...
-{
-…
-    @Param
-    String originator;
-
-    @Param(name="description", optional=true)
-    …
-    String mycontainerDescription
-
-    @Param (acceptableValues="true,false", defaultValue="false", optional=true)
-    String enabled
-
-    @Param(primary=true)
-    String containername;
-…
-}
-----
-
-[[gkygt]][[GSACG00109]][[making-asadmin-subcommands-cluster-aware]]
-
-Making `asadmin` Subcommands Cluster-Aware
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server `asadmin` command framework provides support for
-making `asadmin` subcommands work properly in a clustered environment or
-with standalone server instances. A command that changes a configuration
-is first executed on the domain administration server (DAS) and then
-executed on each of the server instances affected by the change.
-Annotations provided by the framework determine the instances on which
-the command should be replicated and executed. Commands that do not
-change a configuration need not be executed on the DAS at all, but only
-on the necessary instances. The framework provides support for
-collecting the output from the instances and sending a report back to
-the user.
-
-Subcommands in a multi-instance environment can accept a `--target`
-option to specify the cluster or instance on which the command acts.
-From within the command, the `Target` utility allows the command to
-determine information about where it is running. For some commands, it
-may be desirable to have a main command that runs on the DAS and
-supplemental preprocessing or postprocessing commands that run on the
-instances.
-
-The following topics are addressed here:
-
-* link:#gkyjk[Specifying Allowed Targets]
-* link:#gkykm[The `Target` Utility]
-* link:#gkyfv[Specifying `asadmin` Subcommand Execution]
-* link:#gkyjs[Subcommand Preprocessing and Postprocessing]
-* link:#gkyit[Running a Command from Another Command]
-
-[[gkyjk]][[GSACG00206]][[specifying-allowed-targets]]
-
-Specifying Allowed Targets
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When you define a `--target` option by using the `@Param` annotation in
-the `org.glassfish.api` package, possible targets are as follows:
-
-* `domain` — The entire domain
-* `server` — The domain administration server, or DAS
-* cluster — A homogeneous set of server instances that function as a
-unit
-* standalone instance — A server instance that isn't part of a cluster
-* clustered instance — A server instance that is part of a cluster
-* config — A configuration for a cluster or standalone server instance
-
-These possible targets are represented by the following `CommandTarget`
-elements of the `@TargetType` annotation in the
-`org.glassfish.config.support` package:
-
-* `CommandTarget.DOMAIN`
-* `CommandTarget.DAS`
-* `CommandTarget.CLUSTER`
-* `CommandTarget.STANDALONE_SERVER`
-* `CommandTarget.CLUSTERED_INSTANCE`
-* `CommandTarget.CONFIG`
-
-By default, the allowed targets are `server` (the DAS), standalone
-server instances, clusters, and configurations. Not specifying a
-`@TargetType` annotation is equivalent to specifying the following
-`@TargetType` annotation:
-
-[source,oac_no_warn]
-----
-@TargetType(CommandTarget.DAS,CommandTarget.STANDALONE_SERVER,CommandTarget.CLUSTER,CommandTarget.CONFIG)
-----
-
-Subcommands that support other combinations of targets must specify
-`@TargetType` annotations. For example, the `create-http-lb` subcommand
-supports only standalone server instance and cluster targets. Its
-`@TargetType` annotation is as follows:
-
-[source,oac_no_warn]
-----
-@TargetType(CommandTarget.STANDALONE_SERVER,CommandTarget.CLUSTER)
-----
-
-Most subcommands do not act on server instances that are part of a
-cluster. This ensures that all server instances in a cluster remain
-synchronized. Thus, the `CommandTarget.CLUSTERED_INSTANCE` element of
-the `@TargetType` annotation is rarely used.
-
-An example exception is the `enable` subcommand. To perform a rolling
-upgrade of an application deployed to a cluster, you must be able to
-enable the new application (which automatically disables the old) on one
-clustered instance at a time. The `@TargetType` annotation for the
-`enable` subcommand is as follows, all on one line:
-
-[source,oac_no_warn]
-----
-@TargetType(CommandTarget.DAS,CommandTarget.STANDALONE_INSTANCE,CommandTarget.CLUSTER,
-CommandTarget.CLUSTERED_INSTANCE)
-----
-
-Note that the `CommandTarget.CLUSTERED_INSTANCE` element is specified.
-
-The target name specified in the command line is injected into the
-subcommand implementation if the following annotation is present:
-
-[source,oac_no_warn]
-----
-@Param(optional=true,defaultValue=SystemPropertyConstants.DEFAULT_SERVER_INSTANCE_NAME)
-    String target;
-----
-
-[[gkykm]][[GSACG00207]][[the-target-utility]]
-
-The `Target` Utility
-^^^^^^^^^^^^^^^^^^^^
-
-The `Target` utility is a service, present in the `internal-api` module,
-`org.glassfish.internal.api` package, which a command implementation can
-obtain by using the following annotation:
-
-[source,oac_no_warn]
-----
-@Inject Target targetUtil;
-----
-
-You can use this utility to avoid writing boiler plate code for actions
-such as getting the list of server instances for a cluster or checking
-if a server instance is part of a cluster. For example, here is an
-example of using the utility to obtain the configuration for a target
-cluster or server instance:
-
-[source,oac_no_warn]
-----
-Config c = targetUtil.getConfig(target);
-----
-
-The `Target` utility is packaged in the
-as-install`/modules/internal-api.jar` file. Its methods are documented
-with comments.
-
-[[gkyfv]][[GSACG00208]][[specifying-asadmin-subcommand-execution]]
-
-Specifying `asadmin` Subcommand Execution
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, all `asadmin` subcommands are automatically replicated and
-run on the DAS and all GlassFish Server instances specified in the
-`--target` option. To run a subcommand only on the DAS, use the
-following `@ExecuteOn` annotation in the `org.glassfish.api.admin`
-package:
-
-[source,oac_no_warn]
-----
-@ExecuteOn(RuntimeType.DAS)
-----
-
-The `stop-domain` subcommand and subcommands that list information are
-examples of subcommands that execute only on the DAS.
-
-To run a subcommand only on applicable server instances, use the
-following `@ExecuteOn` annotation:
-
-[source,oac_no_warn]
-----
-@ExecuteOn(RuntimeType.INSTANCE)
-----
-
-Not specifying an `@ExecuteOn` annotation is equivalent to specifying
-the following `@ExecuteOn` annotation:
-
-[source,oac_no_warn]
-----
-@ExecuteOn(RuntimeType.DAS,RuntimeType.INSTANCE)
-----
-
-In addition to `RuntimeType`, you can specify the following additional
-elements with the `@ExecuteOn` annotation:
-
-* `ifFailure` — By default, if errors occur during execution of a
-subcommand on a server instance, command execution is considered to have
-failed and further execution is stopped. However, you can choose to
-ignore the failure or warn the user rather than stopping further command
-execution. Specify the `ifFailure` element and set it to
-`FailurePolicy.Ignore` or `FailurePolicy.Warn`. For example: +
-[source,oac_no_warn]
-----
-@ExecuteOn(value={RuntimeType.DAS}, ifFailure=FailurePolicy.Warn)
-----
-* `ifOffline` — By default, if a server instance is found to be offline
-during the command replication process, command execution is considered
-to have failed and further execution is stopped. However, you can choose
-to ignore the failure or warn the user rather than stopping further
-command execution. Specify the `ifOffline` element and set it to
-`FailurePolicy.Ignore` or `FailurePolicy.Warn`. For example: +
-[source,oac_no_warn]
-----
-@ExecuteOn(value={RuntimeType.DAS}, ifOffline=FailurePolicy.Ignore)
-----
-
-[[gkyjs]][[GSACG00209]][[subcommand-preprocessing-and-postprocessing]]
-
-Subcommand Preprocessing and Postprocessing
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Some `asadmin` subcommands may require preprocessing or postprocessing.
-For example, after an application is deployed to the DAS, references are
-created in all applicable server instances, which synchronize with the
-DAS. As another example, Message Queue or load balancer settings may
-have to be reconfigured whenever a server instance is added to a
-cluster.
-
-For such cases, the command replication framework provides the
-`@Supplemental` annotation (in the `org.glassfish.api.admin` package).
-An implementation must use the `value` element of the `@Supplemental`
-annotation to express the supplemented command. This value is the name
-of the command as defined by the supplemented command's `@Service`
-annotation (in the `org.jvnet.hk2.annotations` package).
-
-For example, the `deploy` subcommand requires postprocessing. The
-deployment command implementation looks like this:
-
-[source,oac_no_warn]
-----
-@Service(name="deploy")
-@ExecuteOn(RuntimeType.DAS)
-public DeployCommand implements AdminCommand {
-//Do Actual Deployment
-}
-----
-
-A supplemental command that is run after every successful deployment
-looks like this:
-
-[source,oac_no_warn]
-----
-@Service(name="DeploymentSupplementalCommand")
-@Supplemental("deploy")
-@ExecuteOn(RuntimeType.INSTANCE)
-public DeploymentSupplementalCommand implements AdminCommand {
-//Do logic that happens after deployment has been done
-}
-----
-
-As another example, a subcommand to create a local server instance might
-look like this:
-
-[source,oac_no_warn]
-----
-@Service(name = "create-local-instance")
-@Scoped(PerLookup.class)
-public final class CreateLocalInstanceCommand implements AdminCommand {
-//Do local instance creation
-}
-----
-
-A supplemental command to change Message Queue or load balancer settings
-after local instance creation might look like this:
-
-[source,oac_no_warn]
-----
-@Service(name="CreateLocalInstanceSupplementalCommand")
-@Supplemental("create-local-instance")
-public CreateLocalInstanceSupplementalCommand implements AdminCommand {
-//Change MQ/LB properties here
-}
-----
-
-A supplemental command implements AdminCommand, thus it can use the
-`@Param` annotation and expect the corresponding `asadmin` command
-parameters to be injected at runtime. The parameter values available for
-injection are the same ones provided for the original command with which
-the supplemental command is associated. For example, the
-`DeploymentSupplementalCommand` has access to the parameter values
-available to the `DeployCommand` invocation.
-
-An `asadmin` subcommand can be supplemented with multiple supplemental
-commands. In this case, all supplemental commands are run after
-completion of the main command but without any guarantee of the order in
-which they run.
-
-To specify that a supplemental command is run before the main command,
-set the `on` element of the `@Supplemental` annotation to
-`Supplemental.Timing.Before`. For example:
-
-[source,oac_no_warn]
-----
-@Supplemental(value="mycommand", on=Supplemental.Timing.Before)
-----
-
-Supplemental commands can use the `@ExecuteOn` annotation as described
-in link:#gkyfv[Specifying `asadmin` Subcommand Execution].
-
-[[gkyit]][[GSACG00210]][[running-a-command-from-another-command]]
-
-Running a Command from Another Command
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An `asadmin` subcommand or supplemental command might need to run
-another subcommand. For example, a subcommand running on the DAS might
-need to run a different subcommand on one or more server instances. Such
-invocations might use the `ClusterExecutor` class (in the
-`org.glassfish.api.admin` package), which accepts a `ParameterMap`, to
-pass parameters and their values to the invoked command.
-
-The `ParameterMapExtractor` utility is a service, present in the
-`common-util` module, `org.glassfish.common.util.admin` package, which
-creates a new `ParameterMap` populated using the parameters and values
-of another `AdminCommand` that has already been injected.
-
-To list parameter names you want excluded from the `ParameterMap`, pass
-the following:
-
-[source,oac_no_warn]
-----
-Set<String>
-----
-
-This is optional.
-
-[[ghptw]][[GSACG00110]][[adding-message-text-strings-to-an-asadmin-subcommand]]
-
-Adding Message Text Strings to an `asadmin` Subcommand
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A message text string provides useful information to the user about an
-`asadmin` subcommand or a parameter.
-
-To provide internationalization support for the text string of a
-subcommand or parameter, annotate the declaration of the subcommand or
-parameter with the `org.glassfish.api.I18n` annotation. The `@I18n`
-annotation identifies the resource from the resource bundle that is
-associated with your implementation.
-
-To add message text strings to an `asadmin` subcommand, create a plain
-text file that is named `LocalStrings.properties` to contain the
-strings. Define each string on a separate line of the file as follows:
-
-[source,oac_no_warn]
-----
-key=string
-----
-
-key::
-  A key that maps the string to a subcommand or a parameter. The format
-  to use for key depends on the target to which the key applies and
-  whether the target is annotated with the `@I18n` annotation. See the
-  following table. +
-[width="100%",cols="<36%,<64%",options="header",]
-|======================================================
-|Target |Format
-|Subcommand or parameter with the `@I18n` annotation a|
-[source,oac_no_warn]
-----
-subcommand-name.command.resource-name
-----
-
-|Subcommand without the `@I18n` annotation a|
-[source,oac_no_warn]
-----
-subcommand-name.command
-----
-
-|Parameter without the `@I18n` annotation a|
-[source,oac_no_warn]
-----
-subcommand-name.command.param-name
-----
-
-|======================================================
-
-  The replaceable parts of these formats are as follows: +
-  subcommand-name;;
-    The name of the subcommand.
-  resource-name;;
-    The name of the resource that is specified in the`@I18n` annotation.
-  param-name;;
-    The name of the parameter.
-string::
-  A string without quotes that contains the text of the message.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To display the message strings to users, you must provide code in your
-implementation of the `execute` method to display the text. For more
-information about implementing the `execute` method, see
-link:#ghpvn[Enabling an `asadmin` Subcommand to Run].
-
-|=======================================================================
-
-
-[[GSACG00036]][[ghpvm]]
-
-
-Example 4-3 Adding Message Strings to an `asadmin` Subcommand
-
-This example shows the code for adding message strings to the
-`create-mycontainer` subcommand as follows:
-
-* The `create-mycontainer` subcommand is associated with the message
-`Creates a custom container`. No internationalization support is
-provided for this message.
-* The `--originator` parameter is associated with the message
-`The originator of the container`. No internationalization support is
-provided for this message.
-* The `--description` parameter is associated with the message that is
-contained in the resource `mydesc`, for which internationalization is
-provided. This resource contains the message text
-`A description of the container`.
-* The `--enabled` parameter is associated with the message
-`Whether the container is enabled or disabled`. No internationalization
-support is provided for this message.
-* The `--containername` parameter is associated with the message
-`The container name`. No internationalization support is provided for
-this message.
-
-The addition of the parameters `originator`, `description`, `enabled`
-and `containername` to the subcommand is shown in link:#ghpuh[Example
-4-2].
-
-[source,oac_no_warn]
-----
-package com.example.mycontainer;
-
-import org.glassfish.api.admin.AdminCommand;
-...
-import org.glassfish.api.I18n;
-import org.glassfish.api.Param;
-import org.jvnet.hk2.annotations.Service;
-...
-import org.jvnet.hk2.annotations.Scoped;
-import org.jvnet.hk2.component.PerLookup;
-
-/**
- * Sample subcommand
- */
-@Service(name="create-mycontainer")
-@Scoped(PerLookup.class)
-public Class CreateMycontainer implements AdminCommand {
-
-    …
-
-    @Param
-    String originator;
-
-    @Param(name="description", optional=true)
-    @I18n("mydesc")
-    String mycontainerDescription
-
-    @Param (acceptableValues="true,false", defaultValue="false", optional=true)
-    String enabled
-
-    @Param(primary=true)
-    String containername;
- …
-
-}
-----
-
-The following message text strings are defined in the file
-`LocalStrings.properties` for use by the subcommand:
-
-[source,oac_no_warn]
-----
-create-mycontainer.command=Creates a custom container
-create-mycontainer.command.originator=The originator of the container
-create-mycontainer.command.mydesc=A description of the container
-create-mycontainer.command.enabled=Whether the container is enabled or disabled
-create-mycontainer.command.containername=The container name
-----
-
-[[ghpvn]][[GSACG00111]][[enabling-an-asadmin-subcommand-to-run]]
-
-Enabling an `asadmin` Subcommand to Run
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To enable an `asadmin` subcommand to run, implement the `execute` method
-in your implementation of the `AdminCommand` interface. The declaration
-of the `execute` method in your implementation must be as follows.
-
-[source,oac_no_warn]
-----
-    public void execute(AdminCommandContext context);
-----
-
-Pass each parameter of the subcommand as a property to your
-implementation of the `execute` method. Set the key of the property to
-the parameter name and set the value of the property to the parameter's
-value.
-
-In the body of the `execute` method, provide the code for performing the
-operation that the command was designed to perform. For examples, see
-link:#ghrsi[Example 4-6] and link:#gkbdf[Example 4-7].
-
-[[ghpvq]][[GSACG00112]][[setting-the-context-of-an-asadmin-subcommand]]
-
-Setting the Context of an `asadmin` Subcommand
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `org.glassfish.api.admin.AdminCommandContext` class provides the
-following services to an `asadmin` subcommand:
-
-* Access to the parameters of the subcommand
-* Logging
-* Reporting
-
-To set the context of an `asadmin` subcommand, pass an
-`AdminCommandContext` object to the `execute` method of your
-implementation.
-
-[[ghpwn]][[GSACG00113]][[changing-the-brand-in-the-glassfish-server-cli]]
-
-Changing the Brand in the GlassFish Server CLI
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The brand in the GlassFish Server command-line interface (CLI) consists
-of the product name and release information that are displayed in the
-following locations:
-
-* In the string that the link:../reference-manual/version.html#GSRFM00261[`version`] subcommand displays
-* In each entry in the `server.log` file
-
-If you are incorporating GlassFish Server into a new product with an
-external vendor's own brand name, change the brand in the GlassFish
-Server CLI.
-
-To change the brand in the GlassFish Server CLI, create an OSGi fragment
-bundle that contains a plain text file that is named
-`src/main/resources/BrandingVersion.properties`.
-
-In the `BrandingVersion.properties` file, define the following
-keyword-value pairs:
-
-[source,oac_no_warn]
-----
-product_name=product-name
-abbrev_product_name=abbrev-product-name
-major_version=major-version
-minor_version=minor-version
-build_id=build-id
-version_prefix=version-prefix
-version_suffix=version-suffix
-----
-
-Define each keyword-value pair on a separate line of the file. Each
-value is a text string without quotes.
-
-The meaning of each keyword-value pair is as follows:
-
-`product_name=`product-name::
-  Specifies the full product name without any release information, for
-  example,
-  `name="ProductNameFullPlain" content="Eclipse GlassFish Server"`.
-`abbrev_product_name=`abbrev-product-name::
-  Specifies an abbreviated form of the product name without any release
-  information, for example,
-  `name="ProductNamePlain" content="GlassFish Server"`.
-`major_version=`major-version::
-  Returns the product major version, for example, `6`
-`minor_version=`minor-version::
-  Specifies the product minor version, for example, `0`.
-`build_id=`build-id::
-  Specifies the build version, for example, `build 17`.
-`version_prefix=`version-prefix::
-  Specifies a prefix for the product version, for example, `v`.
-`version_suffix=`version-suffix::
-  Specifies a suffix for the product version, for example, `Beta`.
-
-[[GSACG00037]][[ghrfh]]
-
-
-Example 4-4 `BrandingVersion.properties` File for Changing the Brand in
-the GlassFish Server CLI
-
-This example shows the content of the `BrandingVersion.properties` for
-defining the product name and release information of Eclipse GlassFish
-Server 6.0.0, build 17. The abbreviated product name is
-`glassfish-server`.
-
-[source,oac_no_warn]
-----
-product_name=Eclise GlassFish Server
-abbrev_product_name=glassfish-server
-major_version=6
-minor_version=0.0
-build_id=build 17
-----
-
-To enable the display of OEM-specific information, the following
-properties might also be required:
-
-[source,oac_no_warn]
-----
-LEGAL_COPYRIGHT                "Copyright 2020"
-LEGAL_COMPANY_NAME             "Eclipse Foundation"
-LEGAL_RIGHTS                   "All rights reserved."
-SIMPLE_COMPANY_NAME            "Eclipse"
-COMPANY_CONTACT_URL            "http://www.glassfish.org"
-PRODUCT_TRADEMARKS             "GlassFish is a trademark of the Eclipse Foundation"
-----
-
-[[ghmza]][[GSACG00114]][[examples-of-extending-the-asadmin-utility]]
-
-Examples of Extending the `asadmin` Utility
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[GSACG00038]][[ghrnt]]
-
-
-Example 4-5 `asadmin` Subcommand With Empty `execute` Method
-
-This example shows a class that represents the `asadmin` subcommand
-`create-mycontainer`.
-
-The usage statement for this subcommand is as follows:
-
-[source,oac_no_warn]
-----
-asadmin create-mycontainer --originator any-character-string
-[--description any-character-string]
-[--enabled {true|false}] any-character-string
-----
-
-This subcommand uses injection to specify that a running domain is
-required.
-
-[source,oac_no_warn]
-----
-package com.example.mycontainer;
-
-import org.glassfish.api.admin.AdminCommand;
-import org.glassfish.api.admin.AdminCommandContext;
-import org.glassfish.api.I18n;
-import org.glassfish.api.Param;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.annotations.Inject;
-import org.jvnet.hk2.annotations.Scoped;
-import org.jvnet.hk2.component.PerLookup;
-
-/**
- * Sample subcommand
- */
-@Service(name="create-mycontainer")
-@Scoped(PerLookup.class)
-public Class CreateMycontainer implements AdminCommand {
-
-    @Inject
-    Domain domain;
-
-    @Param
-    String originator;
-
-    @Param(name="description", optional=true)
-    @I18n("mydesc")
-    String mycontainerDescription
-
-    @Param (acceptableValues="true,false", defaultValue="false", optional=true)
-    String enabled
-
-    @Param(primary=true)
-    String containername;
-
-    /**
-     * Executes the subcommand with the subcommand parameters passed as Properties
-     * where the keys are the paramter names and the values the parameter values
-     * @param context information
-     */
-    public void execute(AdminCommandContext context) {
-        // domain and originator are not null
-        // mycontainerDescription can be null.
-    }
-}
-----
-
-The following message text strings are defined in the file
-`LocalStrings.properties` for use by the subcommand:
-
-[source,oac_no_warn]
-----
-create-mycontainer.command=Creates a custom container
-create-mycontainer.command.originator=The originator of the container
-create-mycontainer.command.mydesc=A description of the container
-create-mycontainer.command.enabled=Whether the container is enabled or disabled
-create-mycontainer.command.containername=The container name
-----
-
-[[GSACG00039]][[ghrsi]]
-
-
-Example 4-6 `asadmin` Subcommand for Retrieving and Displaying
-Information
-
-This example shows a class that represents the `asadmin` subcommand
-`list-runtime-environment`. The subcommand determines the operating
-system or runtime information for GlassFish Server.
-
-The usage statement for this subcommand is as follows:
-
-[source,oac_no_warn]
-----
-asadmin list-runtime-environment{runtime|os}
-
-package com.example.env.cli;
-
-import org.glassfish.api.admin.AdminCommand;
-import org.glassfish.api.admin.AdminCommandContext;
-import org.glassfish.api.ActionReport;
-import org.glassfish.api.I18n;
-import org.glassfish.api.ActionReport.ExitCode;
-import org.glassfish.api.Param;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.annotations.Inject;
-import org.jvnet.hk2.annotations.Scoped;
-import org.jvnet.hk2.component.PerLookup;
-
-import java.lang.management.ManagementFactory;
-import java.lang.management.OperatingSystemMXBean;
-import java.lang.management.RuntimeMXBean;
-
-/**
- * Demos asadmin CLI extension
- *
-  */
-@Service(name="list-runtime-environment")
-@Scoped(PerLookup.class)
-public class ListRuntimeEnvironmentCommand implements AdminCommand {
-
-    // this value can be either runtime or os for our demo
-    @Param(primary=true)
-    String inParam;
-
-    public void execute(AdminCommandContext context) {
-
-        ActionReport report = context.getActionReport();
-        report.setActionExitCode(ExitCode.SUCCESS);
-
-        // If the inParam is 'os' then this subcommand returns operating system
-        // info and if the inParam is 'runtime' then it returns runtime info.
-        // Both of the above are based on mxbeans.
-
-        if ("os".equals(inParam)) {
-            OperatingSystemMXBean osmb = ManagementFactory.getOperatingSystemMXBean();
-            report.setMessage("Your machine operating system name = " + osmb.getName());
-        } else if ("runtime".equals(inParam)) {
-            RuntimeMXBean rtmb = ManagementFactory.getRuntimeMXBean();
-            report.setMessage("Your JVM name = " + rtmb.getVmName());
-        } else {
-            report.setActionExitCode(ExitCode.FAILURE);
-            report.setMessage("operand should be either 'os' or 'runtime'");
-        }
-
-    }
-}
-----
-
-[[GSACG00040]][[gkbdf]]
-
-
-Example 4-7 `asadmin` Subcommand for Updating Configuration Data
-
-This example shows a class that represents the `asadmin` subcommand
-`configure-greeter-container`. The subcommand performs a transaction to
-update configuration data for a container component. For more
-information about such transactions, see
-link:adding-configuration-data.html#gjrcz[Creating a Transaction to
-Update Configuration Data].
-
-The usage statement for this subcommand is as follows:
-
-[source,oac_no_warn]
-----
-asadmin configure-greeter-container --instances instances [--language language] [--style style]
-----
-
-The acceptable values and default value of each option of the subcommand
-are shown in the following table. The table also indicates whether each
-option is optional or required.
-
-[width="100%",cols="<25%,<25%,<25%,<25%",options="header",]
-|==================================================================
-|Option |Acceptable Values |Default value |Optional or Required
-|`--instances` |An integer in the range 1-10 |5 |Required
-|`--language` |`english`, `norsk`, or `francais` |`norsk` |Optional
-|`--style` |`formal`, `casual`, or `expansive` |`formal` |Optional
-|==================================================================
-
-
-Code for the container component is shown in
-link:adding-container-capabilities.html#gkane[Example of Adding Container
-Capabilities].
-
-Code that defines the configuration data for the container component is
-shown in link:adding-configuration-data.html#gkaal[Examples of Adding
-Configuration Data for a Component].
-
-[source,oac_no_warn]
-----
-package org.glassfish.examples.extension.greeter.config;
-
-import org.glassfish.api.admin.AdminCommand;
-import org.glassfish.api.admin.AdminCommandContext;
-import org.glassfish.api.Param;
-import org.jvnet.hk2.annotations.Service;
-import org.jvnet.hk2.annotations.Inject;
-import org.jvnet.hk2.config.Transactions;
-import org.jvnet.hk2.config.ConfigSupport;
-import org.jvnet.hk2.config.SingleConfigCode;
-import org.jvnet.hk2.config.TransactionFailure;
-
-import java.beans.PropertyVetoException;
-
-@Service(name = "configure-greeter-container")
-public class ConfigureGreeterContainerCommand implements AdminCommand {
-
-    @Param(acceptableValues = "1,2,3,4,5,6,7,8,9,10", defaultValue = "5")
-    String instances;
-    @Param(acceptableValues = "english,norsk,francais", defaultValue = "norsk",
-    optional = true)
-    String language;
-    @Param(acceptableValues = "formal,casual,expansive", defaultValue = "formal",
-    optional = true)
-    String style;
-    @Inject
-    GreeterContainerConfig config;
-
-    public void execute(AdminCommandContext adminCommandContext) {
-        try {
-            ConfigSupport.apply(new SingleConfigCode<GreeterContainerConfig>() {
-
-                public Object run(GreeterContainerConfig greeterContainerConfig)
-                        throws PropertyVetoException, TransactionFailure {
-                    greeterContainerConfig.setNumberOfInstances(instances);
-                    greeterContainerConfig.setLanguage(language);
-                    greeterContainerConfig.setStyle(style);
-                    return null;
-                }
-            }, config);
-        } catch (TransactionFailure e) {
-        }
-
-    }
-}
-----
-
-[[gkzlq]][[GSACG00115]][[implementing-create-delete-and-list-commands-using-annotations]]
-
-Implementing Create, Delete, and List Commands Using Annotations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Many `asadmin` subcommands simply create, delete, or list objects in the
-configuration. Such code is repetitive to write and error prone. To
-simplify the writing of these `asadmin` commands, GlassFish Server
-supports annotations that can create, delete, and list configuration
-objects from a command invocation. Unless attributes or properties are
-set to non-default values or extra actions are required, no writing of
-code is needed.
-
-The following topics are addressed here:
-
-* link:#gkzkc[Command Patterns]
-* link:#gkzle[Resolvers]
-* link:#gkzoy[The `@Create` Annotation]
-* link:#gkzoo[The `@Delete` Annotation]
-* link:#gkzpl[The `@Listing` Annotation]
-* link:#gkznf[Create Command Decorators]
-* link:#gkznx[Delete Command Decorators]
-* link:#gkzmu[Specifying Command Execution]
-* link:#gkznd[Using Multiple Command Annotations]
-
-[[gkzkc]][[GSACG00211]][[command-patterns]]
-
-Command Patterns
-^^^^^^^^^^^^^^^^
-
-Create command pattern. The most basic create commands are implemented
-in the following pattern:
-
-1.  Retrieve the parent configuration object instance to which the child
-will be added. For example, the parent could be a `Clusters` object and
-the child a `Cluster` object.
-2.  Start a transaction on the parent instance.
-3.  Create the child configuration object instance.
-4.  Set the attributes and properties of the newly created child
-instance.
-5.  Add the child to the parent using one of the following accessor
-methods: +
-[source,oac_no_warn]
-----
-void setChild(ChildType child)
-----
-Used when there can be zero or one children of a single type associated
-with one parent instance. +
-[source,oac_no_warn]
-----
-List<ChildType> getChildren()
-----
-Used when there can be zero or more children of a single type associated
-with one parent instance. +
-You cannot retrieve a set of children of the same type from the same
-parent using two different accessor methods.
-6.  Commit the transaction.
-
-A generic create command implementation can do most of these tasks if
-the following information is provided:
-
-* A way to resolve the identity of the parent instance.
-* The type of the child instance.
-* A mapping between command options and child attributes.
-* The accessor method for adding the child to the parent.
-
-Delete command pattern. The most basic delete commands are implemented
-in the following pattern:
-
-1.  Retrieve the configuration object instance to be deleted.
-2.  Start a transaction on the parent instance.
-3.  Delete the child by removing it from the list or calling
-`setXXX(null)`.
-4.  Commit the transaction.
-
-A generic delete command implementation can do most of these tasks if
-the following information is provided:
-
-* A way to resolve the identity of the child instance.
-* The accessor method for deleting the child.
-
-List command pattern. The most basic list commands simply retrieve all
-configuration object instances of a given type.
-
-[[gkzle]][[GSACG00212]][[resolvers]]
-
-Resolvers
-^^^^^^^^^
-
-A resolver retrieves a configuration object instance of a particular
-type. For a create command, it retrieves the parent of the object to be
-created. For a delete command, it retrieves the object to be deleted. A
-resolver implements the CrudResolver interface:
-
-[source,oac_no_warn]
-----
-package org.glassfish.config.support;
-
-/**
- * A config resolver is responsible for finding the target object of a specified
- * type on which a creation command invocation will be processed.
- *
- * Implementation of these interfaces can be injected with the command invocation
- * parameters in order to determine which object should be returned
- */
-@Contract
-public interface CrudResolver {
-
-    /**
-     * Retrieves the existing configuration object a command invocation is
-     * intented to mutate.
-     * @param context the command invocation context
-     * @param type the type of the expected instance
-     * @return the instance or null if not found
-     */
-    <T extends ConfigBeanProxy> T resolve(AdminCommandContext context, Class<T> type);
-}
-----
-
-Given an `AdminCommandContext`, plus injection with the `asadmin`
-command line parameters (or any other HK2 services if necessary), the
-resolver should be able to determine the particular configuration object
-on which to act.
-
-The following resolvers are provided in the
-`org.glassfish.config.support` package:
-
-* `TargetBasedResolver` — Uses the `--target` option and the expected
-return type to retrieve the configuration object instance.
-* `TargetAndNameBasedResolver` — Uses the `--target` option to look up a
-`Config` object and a name to retrieve one of the `Config` object's
-children.
-* `TypeAndNameResolver` — Uses the requested type and `asadmin` command
-name operand to find the configuration object instance. This is useful
-for a configuration that uses the `@Index` annotation, which registers
-instances under names.
-* `TypeResolver` — Uses the requested type to find the configuration
-object instance. This is the default resolver.
-
-[[gkzoy]][[GSACG00213]][[the-create-annotation]]
-
-The `@Create` Annotation
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-By placing the `org.glassfish.config.support.Create` annotation on a
-method, you provide the following information:
-
-* The `value` element of the `@Create` annotation is the name of the
-`asadmin` subcommand that creates the configuration object.
-* The method's class is the type of the parent.
-* The method's return type or parameter type is the type of the child.
-* The method is the accessor method that adds a child of the specified
-type to the parent.
-
-The only additional information needed is the resolver to use.
-
-The following example specifies a `create-cluster` subcommand:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Clusters extends ConfigBeanProxy, Injectable {
-
-     /**
-      * Return the list of clusters currently configured
-      *
-      * @return list of {@link Cluster }
-      */
-    @Element
-    @Create(value="create-cluster")
-    public List<Cluster> getCluster();
-}
-----
-
-Because there is only one instance of the parent type, `Clusters`, in
-the configuration, this example uses the default resolver to retrieve
-it. Therefore, no resolver needs to be specified.
-
-[[gkzoo]][[GSACG00214]][[the-delete-annotation]]
-
-The `@Delete` Annotation
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-By placing the `org.glassfish.config.support.Delete` annotation on a
-method, you provide the following information:
-
-* The `value` element of the `@Delete` annotation is the name of the
-`asadmin` subcommand that deletes the configuration object.
-* The method's class is the type of the parent.
-* The method's return type or parameter type is the type of the child.
-* The method is the accessor method that deletes a child of the
-specified type from the parent.
-
-The only additional information needed is the resolver to use.
-
-The following example specifies a `delete-cluster` subcommand:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Clusters extends ConfigBeanProxy, Injectable {
-
-     /**
-      * Return the list of clusters currently configured
-      *
-      * @return list of {@link Cluster }
-      */
-    @Element
-    @Delete(value="delete-cluster", resolver=TypeAndNameResolver.class)
-    public List<Cluster> getCluster();
-}
-----
-
-The `TypeAndNameResolver` uses the child type and the name operand
-passed through the command line to retrieve the specific cluster
-instance to be deleted.
-
-[[gkzpl]][[GSACG00215]][[the-listing-annotation]]
-
-The `@Listing` Annotation
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By placing the `org.glassfish.config.support.Listing` annotation on a
-method, you provide the following information:
-
-* The `value` element of the `@Listing` annotation is the name of the
-`asadmin` subcommand that lists the configuration objects.
-* The method's class is the type of the parent.
-* The method's return type is the type of the children to be listed.
-* The method is always the following accessor method: +
-[source,oac_no_warn]
-----
-List<ChildType> getChildren()
-----
-
-The default resolver retrieves all of the children of the specified
-type. Therefore, no resolver needs to be specified for a list command.
-
-The following example specifies a `list-clusters` subcommand:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Clusters extends ConfigBeanProxy, Injectable {
-
-     /**
-      * Return the list of clusters currently configured
-      *
-      * @return list of {@link Cluster }
-      */
-    @Element
-    @Listing(value="list-clusters")
-    public List<Cluster> getCluster();
-}
-----
-
-[[gkznf]][[GSACG00216]][[create-command-decorators]]
-
-Create Command Decorators
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Most create commands must do more than create a single configuration
-object instance with default attribute values. For example, most create
-commands allow the user to specify non-default attribute values through
-command options. For another example, the `create-cluster` subcommand
-creates children of the `Cluster` object and copies a referenced
-`Config` object. A creation decorator provides the code necessary to
-perform such additional operations.
-
-The interface that a creation decorator must implement is as follows:
-
-[source,oac_no_warn]
-----
-@Scoped(PerLookup.class)
-public interface CreationDecorator<T extends ConfigBeanProxy> {
-
-    /**
-     * The element instance has been created and added to the parent, it can be
-     * customized. This method is called within a
-     * {@link org.jvnet.hk2.config.Transaction}
-     * and instance is therefore a writeable view on the configuration component.
-     *
-     * @param context administration command context
-     * @param instance newly created configuration element
-     * @throws TransactionFailure if the transaction should be rollbacked
-     * @throws PropertyVetoException if one of the listener of <T> is throwing
-     * a veto exception
-     */
-    public void decorate(AdminCommandContext context, T instance)
-        throws TransactionFailure, PropertyVetoException;
-
-    /**
-     * Default implementation of a decorator that does nothing.
-     */
-    @Service
-    public class NoDecoration implements CreationDecorator<ConfigBeanProxy> {
-        @Override
-        public void decorate(AdminCommandContext context, ConfigBeanProxy instance)
-            throws TransactionFailure, PropertyVetoException {
-            // do nothing
-        }
-    }
-}
-----
-
-The CreationDecorator interface is in the `org.glassfish.config.support`
-package.
-
-A `@Create` annotation specifies a creation decorator using a
-`decorator` element. For example:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Clusters extends ConfigBeanProxy, Injectable {
-
-     /**
-      * Return the list of clusters currently configured
-      *
-      * @return list of {@link Cluster }
-      */
-    @Element
-    @Create(value="create-cluster", decorator=Cluster.Decorator.class)
-    public List<Cluster> getCluster();
-}
-----
-
-The `@Create` annotation is on a method of the parent class. However,
-the referenced creation decorator class is associated with the child
-class. For example:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Cluster extends ConfigBeanProxy, ... {
-
-    ...
-
-    @Service
-    @Scoped(PerLookup.class)
-    class Decorator implements CreationDecorator<Cluster> {
-
-        @Param(name="config", optional=true)
-        String configRef=null;
-
-        @Inject
-        Domain domain;
-
-        @Override
-        public void decorate(AdminCommandContext context, final Cluster instance)
-                throws TransactionFailure, PropertyVetoException {
-
-        ...
-
-        }
-    }
-}
-----
-
-The decorator class can optionally be an inner class of the child class.
-You can inject command options using the `@Param` annotation. You can
-also inject HK2 services or configuration instances.
-
-[[gkznx]][[GSACG00217]][[delete-command-decorators]]
-
-Delete Command Decorators
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Some delete commands must do more than delete a single configuration
-object instance. For example, the `delete-cluster` subcommand deletes
-the referenced `Config` object if no other `Cluster` or `Instance`
-objects reference it. A deletion decorator provides the code necessary
-to perform such additional operations.
-
-The interface that a deletion decorator must implement is as follows:
-
-[source,oac_no_warn]
-----
-/**
- * A decorator for acting upon a configuration element deletion.
- *
- * @param <T> the deleted element parent type
- * @param <U> the deleted element
- */
-@Scoped(PerLookup.class)
-public interface DeletionDecorator<T extends ConfigBeanProxy,
-    U extends ConfigBeanProxy> {
-
-    /**
-     * notification of a configuration element of type U deletion.
-     *
-     * Note that this notification is called within the boundaries of the
-     * configuration transaction, therefore the parent instance is a
-     * writable copy and further changes to the parent can be made without
-     * enrolling it inside a transaction.
-     *
-     * @param context the command context to lead to the element deletion
-     * @param parent the parent instance the element was removed from
-     * @param child the deleted instance
-     */
-    public void decorate(AdminCommandContext context, T parent, U child);
-}
-----
-
-The DeletionDecorator interface is in the `org.glassfish.config.support`
-package.
-
-A `@Delete` annotation specifies a deletion decorator using a
-`decorator` element. For example:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Clusters extends ConfigBeanProxy, Injectable {
-
-     /**
-      * Return the list of clusters currently configured
-      *
-      * @return list of {@link Cluster }
-      */
-    @Element
-    @Delete(value="delete-cluster", resolver= TypeAndNameResolver.class,
-        decorator=Cluster.DeleteDecorator.class)
-    public List<Cluster> getCluster();
-}
-----
-
-The `@Delete` annotation is on a method of the parent class. However,
-the referenced deletion decorator class is associated with the child
-class. For example:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Cluster extends ConfigBeanProxy, ... {
-
-    ..
-    @Service
-    @Scoped(PerLookup.class)
-    class DeleteDecorator implements DeletionDecorator<Clusters, Cluster> {
-        ....
-    }
-}
-----
-
-The decorator class can optionally be an inner class of the child class.
-You can inject command options using the `@Param` annotation. You can
-also inject HK2 services or configuration instances.
-
-[[gkzmu]][[GSACG00218]][[specifying-command-execution]]
-
-Specifying Command Execution
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Commands specified with the `@Create`, `@Delete`, and `@Listing`
-annotations can use the `@ExecuteOn` annotation. The `@ExecuteOn`
-annotation specifies whether the command runs on the DAS, on server
-instances, or both (the default). For more information, see
-link:#gkyfv[Specifying `asadmin` Subcommand Execution].
-
-To add an `@ExecuteOn` annotation to a `@Create` or `@Delete`
-annotation, use the `cluster` element. For example:
-
-[source,oac_no_warn]
-----
-@Create(value="create-instance", resolver=TypeResolver.class,
-        decorator=Server.CreateDecorator.class,
-        cluster=@org.glassfish.api.admin.ExecuteOn(value=RuntimeType.DAS))
-----
-
-[[gkznd]][[GSACG00219]][[using-multiple-command-annotations]]
-
-Using Multiple Command Annotations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can specify multiple command annotations on the same method. The
-following example combines create, delete, and list commands for
-clusters:
-
-[source,oac_no_warn]
-----
-@Configured
-public interface Clusters extends ConfigBeanProxy, Injectable {
-
-     /**
-      * Return the list of clusters currently configured
-      *
-      * @return list of {@link Cluster }
-      */
-    @Element
-    @Create(value="create-cluster", decorator=Cluster.Decorator.class)
-    @Delete(value="delete-cluster", resolver= TypeAndNameResolver.class,
-        decorator=Cluster.DeleteDecorator.class)
-    @Listing(value="list-clusters")
-    public List<Cluster> getCluster();
-}
-----
-
-You can also specify multiple create or delete command annotations for
-the same configuration object type using the `@Creates` or `@Deletes`
-annotation (both in the `org.glassfish.config.support` package). For
-example:
-
-[source,oac_no_warn]
-----
-@Element
-@Creates(
-   @Create(value="create-something", decorator=CreateSomething.Decorator)
-   @Create(value="create-something-else", decorator=CreateSomethingElse.Decorator)
-   List<Something> getSomethings();
-)
-----
-
-These commands create configuration object instances of the same type.
-Differences in the decorators and resolvers can produce differences in
-the options each command takes. The `@Param` annotated attributes of the
-created type define a superset of options for both commands.
-
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/extending-the-admin-console.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/extending-the-admin-console.adoc
deleted file mode 100644
index 6b7aaf2..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/extending-the-admin-console.adoc
+++ /dev/null
@@ -1,1100 +0,0 @@
-type=page
-status=published
-title=Extending the Administration Console
-next=extending-asadmin.html
-prev=writing-hk2-components.html
-~~~~~~
-Extending the Administration Console
-====================================
-
-[[GSACG00003]][[ghmrb]]
-
-
-[[extending-the-administration-console]]
-3 Extending the Administration Console
---------------------------------------
-
-The Administration Console is a browser-based tool for administering
-Eclipse GlassFish Server. It features an easy-to-navigate interface and online
-help. Extending the Administration Console enables you to provide a
-graphical user interface for administering your add-on component. You
-can use any of the user interface features of the Administration
-Console, such as tree nodes, links on the Common Tasks page, tabs and
-sub-tabs, property sheets, and Jakarta Server Faces pages. Your add-on
-component implements a marker interface and provides a configuration
-file that describes how your customizations integrate with the
-Administration Console.
-
-This chapter refers to a simple example called `console-sample-ip` that
-illustrates how to provide Administration Console features for a
-hypothetical add-on component. 
-
-The following topics are addressed here:
-
-* link:#ghmof[Administration Console Architecture]
-* link:#ghmom[About Administration Console Templates]
-* link:#ghmqr[About Integration Points]
-* link:#ghmpg[Specifying the ID of an Add-On Component]
-* link:#ghmpk[Adding Functionality to the Administration Console]
-* link:#ghmqi[Adding Internationalization Support]
-* link:#ghmqg[Changing the Theme or Brand of the Administration Console]
-* link:#ghpkz[Creating an Integration Point Type]
-
-[[ghmof]][[GSACG00097]][[administration-console-architecture]]
-
-Administration Console Architecture
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Administration Console is a web application that is composed of OSGi
-bundles. These bundles provide all the features of the Administration
-Console, such as the Web Applications, Update Center, and Security
-content. To provide support for your add-on component, create your own
-OSGi bundle that implements the parts of the user interface that you
-need. Place your bundle in the `modules` directory of your GlassFish
-Server installation, along with the other Administration Console
-bundles.
-
-To learn how to package the Administration Console features for an
-add-on component, go to the `modules` directory of your GlassFish Server
-installation and examine the contents of the files named
-`console-`componentname`-plugin.jar`. Place the `console-sample-ip`
-project bundle in the same place to deploy it and examine the changes
-that it makes to the Administration Console.
-
-The Administration Console includes a Console Add-On Component Service.
-The Console Add-On Component Service is an HK2 service that acts as a
-façade to all theAdministration Console add-on components. The Console
-Add-On Component Service queries the various console providers for
-integration points so that it can perform the actions needed for the
-integration (adding a tree node or a new tab, for example). The
-interface name for this service is
-`org.glassfish.api.admingui.ConsolePluginService`.
-
-For details about the Hundred-Kilobyte Kernel (HK2) project, see
-link:introduction.html#ghmnq[Hundred-Kilobyte Kernel] and
-link:writing-hk2-components.html#ghokq[HK2 Component Model].
-
-Each add-on component must contain a console provider implementation.
-This is a Java class that implements the
-`org.glassfish.api.admingui.ConsoleProvider` interface and uses the HK2
-`@Service` annotation. The console provider allows your add-on component
-to specify where your integration point configuration file is located.
-This configuration file communicates to the Console Add-On Component
-Service the customizations that your add-on component makes to the
-Administration Console.
-
-[[ghnzl]][[GSACG00187]][[implementing-a-console-provider]]
-
-Implementing a Console Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `org.glassfish.api.admingui.ConsoleProvider` interface has one
-required method, `getConfiguration`. The `getConfiguration` method
-returns the location of the `console-config.xml` file as a
-`java.net.URL`. If `getConfiguration` returns `null`, the default
-location, `META-INF/admingui/console-config.xml`, is used. The
-`console-config.xml` file is described in link:#ghmqr[About Integration
-Points].
-
-To implement the console provider for your add-on component, write a
-Java class that is similar to the following example.
-
-[[GSACG00019]][[ghosz]]
-
-
-Example 3-1 Example `ConsoleProvider` Implementation
-
-This example shows a simple implementation of the `ConsoleProvider`
-interface:
-
-[source,oac_no_warn]
-----
-package org.glassfish.admingui.plugin;
-
-import org.glassfish.api.admingui.ConsoleProvider;
-import org.jvnet.hk2.annotations.Service;
-
-import java.net.URL;
-
-@Service
-public class SamplePlugin implements ConsoleProvider {
-
-    public URL getConfiguration() { return null; }
-}
-----
-
-This implementation of `getConfiguration` returns null to specify that
-the configuration file is in the default location. If you place the file
-in a nonstandard location or give it a name other than
-`console-config.xml`, your implementation of `getConfiguration` must
-return the URL where the file can be found.
-
-
-[[ghmom]][[GSACG00098]][[about-administration-console-templates]]
-
-About Administration Console Templates
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server includes a set of templates that make it easier to
-create Jakarta Server Faces pages for your add-on component. These templates
-use Templating for Jakarta Server Faces Technology, which is also known as
-JSFTemplating.
-
-Examples of JSFTemplating technology can be found in the following
-sections of this chapter:
-
-* link:#ghoej[Creating a Jakarta Server Faces Page for Your Node]
-* link:#ghovg[Creating Jakarta Server Faces Pages for Your Tabs]
-* link:#ghoeu[Creating a Jakarta Server Faces Page for Your Task]
-* link:#ghoya[Creating a Jakarta Server Faces Page for Your Task Group]
-* link:#ghpao[Creating a Jakarta Server Faces Page for Your Page Content]
-* link:#ghmqe[Adding a Page to the Administration Console]
-
-[[ghmqr]][[GSACG00099]][[about-integration-points]]
-
-About Integration Points
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The integration points for your add-on component are the individual
-Administration Console user interface features that your add-on
-component will extend. You can implement the following kinds of
-integration points:
-
-* Nodes in the navigation tree
-* Elements on the Common Tasks page of the Administration Console
-* Jakarta Server Faces pages
-* Tabs and sub-tabs
-
-Specify all the integration points in a file named `console-config.xml`.
-In the example, this file is in the directory
-`project/src/main/resources/META-INF/admingui/`. The following sections
-describe how to create this file.
-
-In addition, create Jakarta Server Faces pages that contain JSF code
-fragments to implement the integration points. In the example, these
-files are in the directory `project/src/main/resources/`. The content of
-these files depends on the integration point you are implementing. The
-following sections describe how to create these JavaServer Faces pages.
-
-For reference information on integration points, see
-link:integration-point-reference.html#ghmrp[Integration Point Reference].
-
-[[ghmpg]][[GSACG00100]][[specifying-the-id-of-an-add-on-component]]
-
-Specifying the ID of an Add-On Component
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `console-config.xml` file consists of a `console-config` element
-that encloses a series of `integration-point` elements. The
-`console-config` element has one attribute, `id`, which specifies a
-unique name or ID value for the add-on component.
-
-In the example, the element is declared as follows:
-
-[source,oac_no_warn]
-----
-<console-config id="sample">
-    ...
-</console-config>
-----
-
-You will also specify this ID value when you construct URLs to images,
-resources and pages in your add-on component. See link:#ghocf[Adding a
-Node to the Navigation Tree] for an example.
-
-For example, a URL to an image named `my.gif` might look like this:
-
-[source,oac_no_warn]
-----
-<sun:image url="/resource/sample/images/my.gif" />
-----
-
-The URL is constructed as follows:
-
-* `/resource` is required to locate any resource URL.
-* `sample` is the add-on component ID. You must choose a unique ID
-value.
-* `images` is a folder under the root of the add-on component JAR file.
-
-[[ghmpk]][[GSACG00101]][[adding-functionality-to-the-administration-console]]
-
-Adding Functionality to the Administration Console
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `integration-point` elements in the `console-config.xml` file
-specify attributes for the user interface features that you choose to
-implement. The example file provides examples of most of the available
-kinds of integration points at this release. Your own add-on component
-can use some or all of them.
-
-For each `integration-point` element, specify the following attributes.
-
-`id`::
-  An identifier for the integration point.
-`parentId`::
-  The ID of the integration point's parent.
-`type`::
-  The type of the integration point.
-`priority`::
-  A numeric value that specifies the relative ordering of integration
-  points for add-on components that specify the same `parentId`. A lower
-  number specifies a higher priority (for example, 100 represents a
-  higher priority than 400). The integration points for add-on
-  components are always placed after those in the basic Administration
-  Console. You might need to experiment to place the integration point
-  where you want it. This attribute is optional.
-`content`::
-  The content for the integration point, typically a JavaServer Faces
-  page. In the example, you can find the JavaServer Faces pages in the
-  directory `project/src/main/resources/`.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The order in which these attributes are specified does not matter, and
-in the example `console-config.xml` file the order varies. To improve
-readability, this chapter uses the same order throughout.
-
-|=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#ghocf[Adding a Node to the Navigation Tree]
-* link:#ghotv[Adding Tabs to a Page]
-* link:#ghmqw[Adding a Task to the Common Tasks Page]
-* link:#ghozn[Adding a Task Group to the Common Tasks Page]
-* link:#ghmrg[Adding Content to a Page]
-* link:#ghmqe[Adding a Page to the Administration Console]
-
-[[ghocf]][[GSACG00188]][[adding-a-node-to-the-navigation-tree]]
-
-Adding a Node to the Navigation Tree
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can add a node to the navigation tree, either at the top level or
-under another node. To add a node, use an integration point of type
-`org.glassfish.admingui:navNode`. Use the `parentId` attribute to
-specify where the new node should be placed. Any tree node, including
-those added by other add-on components, can be specified. Examples
-include the following:
-
-`tree`::
-  At the top level
-`applicationServer`::
-  Under the GlassFish Server node
-`applications`::
-  Under the Applications node
-`resources`::
-  Under the Resources node
-`configuration`::
-  Under the Configuration node
-`webContainer`::
-  Under the Web Container node
-`httpService`::
-  Under the HTTP Service node
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The `webContainer` and `httpService` nodes are available only if you
-installed the web container module for the Administration Console (the
-`console-web-gui.jar` OSGi bundle).
-
-|=======================================================================
-
-
-If you do not specify a `parentId`, the new content is added to the root
-of the integration point, in this case the top level node, `tree`.
-
-[[GSACG00020]][[ghpmb]]
-
-
-Example 3-2 Example Tree Node Integration Point
-
-For example, the following `integration-point` element uses a `parentId`
-of `tree` to place the new node at the top level.
-
-[source,oac_no_warn]
-----
-        <integration-point
-                id="samplenode"
-                parentid="tree"
-                type="org.glassfish.admingui:treeNode"
-                priority="200"
-                content="sampleNode.jsf"
-        />
-----
-
-This example specifies the following values in addition to the
-`parentId`:
-
-* The `id` value, `sampleNode`, specifies the integration point ID.
-* The `type` value, `org.glassfish.admingui:treeNode`, specifies the
-integration point type as a tree node.
-* The `priority` value, `200`, specifies the order of the node on the
-tree.
-* The `content` value, `sampleNode.jsf`, specifies the JavaServer Faces
-page that displays the node.
-
-The example `console-config.xml` file provides other examples of tree
-nodes under the Resources and Configuration nodes.
-
-[[ghoej]][[GSACG00158]][[creating-a-javaserver-faces-page-for-your-node]]
-
-Creating a Jakarta Server Faces Page for Your Node
-++++++++++++++++++++++++++++++++++++++++++++++
-
-A Jakarta Server Faces page for a tree node uses the tag `sun:treeNode`.
-This tag provides all the capabilities of the Project Woodstock tag
-`webuijsf:treeNode`.
-
-[[GSACG00021]][[ghpmn]]
-
-
-Example 3-3 Example Jakarta Server Faces Page for a Tree Node
-
-In the example, the `sampleNode.jsf` file has the following content:
-
-[source,oac_no_warn]
-----
-<sun:treeNode
-        id="treenode1"
-        text="SampleTop"
-        url="/sample/page/testPage.jsf?name=SampleTop"
-        imageURL="/resource/sample/images/sample.png"
-       >
-    <sun:treeNode
-            id="treenodebb"
-            text="SampleBB"
-            url="/sample/page/testPage.jsf?name=SampleBB"
-            imageURL="resource/sample/images/sample.png" />
-</sun:treeNode>
-----
-
-This file uses the `sun:treenode` tag to specify both a top-level tree
-node and another node nested beneath it. In your own JavaServer Faces
-pages, specify the attributes of this tag as follows:
-
-`id`::
-  A unique identifier for the tree node.
-`text`::
-  The node name that appears in the tree.
-`url`::
-  The location of the JavaServer Faces page that appears when you click
-  the node. In the example, most of the integration points use a very
-  simple Jakarta Server Faces page called `testPage.jsf`, which is in the
-  `src/main/resources/page/` directory. Specify the integration point
-  `id` value as the root of the URL; in this case, it is `sample` (see
-  link:#ghmpg[Specifying the ID of an Add-On Component]). The rest of
-  the URL is relative to the `src/main/resources/` directory, where
-  `sampleNode.jsf` resides. +
-  The `url` tag in this example passes a `name` parameter to the
-  Jakarta Server Faces page.
-`imageURL`::
-  The location of a graphic to display next to the node name. In the
-  example, the graphic is always `sample.png`, which is in the
-  `src/main/resources/images/` directory. The URL for this image is an
-  absolute path, `/resource/`sample`/images/sample.png`, where sample in
-  the path is the integration point `id` value (see
-  link:#ghmpg[Specifying the ID of an Add-On Component]).
-
-[[ghotv]][[GSACG00189]][[adding-tabs-to-a-page]]
-
-Adding Tabs to a Page
-^^^^^^^^^^^^^^^^^^^^^
-
-You can add a tab to an existing tab set, or you can create a tab set
-for your own page. One way to add a tab or tab set is to use an
-integration point of type `org.glassfish.admingui:serverInstTab`, which
-adds a tab to the tab set on the main GlassFish Server page of the
-Administration Console. You can also create sub-tabs. Once again, the
-`parentId` element specifies where to place the tab or tab set.
-
-[[GSACG00022]][[ghplc]]
-
-
-Example 3-4 Example Tab Integration Point
-
-In the example, the following `integration-point` element adds a new tab
-on the main GlassFish Server page of the Administration Console:
-
-[source,oac_no_warn]
-----
-        <integration-point
-            id="sampletab"
-            parentid="serverinsttabs"
-            type="org.glassfish.admingui:serverInstTab"
-            priority="500"
-            content="sampleTab.jsf"
-        />
-----
-
-This example specifies the following values:
-
-* The `id` value, `sampleTab`, specifies the integration point ID.
-* The `parentId` value, `serverInstTabs`, specifies the tab set
-associated with the server instance. The GlassFish Server page is the
-only one of the default Administration Console pages that has a tab set.
-* The `type` value, `org.glassfish.admingui:serverInstTab`, specifies
-the integration point type as a tab associated with the server instance.
-* The `priority` value, `500`, specifies the order of the tab within the
-tab set. This value is optional.
-* The `content` value, `sampleTab.jsf`, specifies the Jakarta Server Faces
-page that displays the tab.
-
-[[GSACG00023]][[ghplu]]
-
-
-Example 3-5 Example Tab Set Integration Points
-
-The following `integration-point` elements add a new tab with two
-sub-tabs, also on the main GlassFish Server page of the Administration
-Console:
-
-[source,oac_no_warn]
-----
-        <integration-point
-            id="sampletabwithsubtab"
-            parentid="serverinsttabs"
-            type="org.glassfish.admingui:serverInstTab"
-            priority="300"
-            content="sampleTabWithSubTab.jsf"
-        />
-
-        <integration-point
-            id="samplesubtab1"
-            parentid="sampletabwithsubtab"
-            type="org.glassfish.admingui:serverInstTab"
-            priority="300"
-            content="sampleSubTab1.jsf"
-        />
-        <integration-point
-            id="samplesubtab2"
-            parentid="sampletabwithsubtab"
-            type="org.glassfish.admingui:serverInstTab"
-            priority="400"
-            content="sampleSubTab2.jsf"
-        />
-----
-
-These examples specify the following values:
-
-* The `id` values, `sampleTabWithSubTab`, `sampleSubTab1`, and
-`sampleSubTab2`, specify the integration point IDs for the tab and its
-sub-tabs.
-* The `parentId` of the new tab, `serverInstTabs`, specifies the tab set
-associated with the server instance. The `parentId` of the two sub-tabs,
-`sampleTabWithSubTab`, is the `id` value of this new tab.
-* The `type` value, `org.glassfish.admingui:serverInstTab`, specifies
-the integration point type for all the tabs as a tab associated with the
-server instance.
-* The `priority` values specify the order of the tabs within the tab
-set. This value is optional. In this case, the priority value for
-`sampleTabWithSubTab` is `300`, which is higher than the value for
-`sampleTab`. That means that `sampleTabWithSubTab` appears to the left
-of `sampleTab` in the Administration Console. The priority values for
-`sampleSubTab1` and `sampleSubTab2` are `300` and `400` respectively, so
-`sampleSubTab1` appears to the left of `sampleSubTab2`.
-* The `content` values, `sampleTabWithSubTab.jsf`, `sampleSubTab1.jsf`,
-and `sampleSubTab2.jsf`, specify the Jakarta Server Faces pages that display
-the tabs.
-
-[[ghovg]][[GSACG00159]][[creating-javaserver-faces-pages-for-your-tabs]]
-
-Creating Jakarta Server Faces Pages for Your Tabs
-+++++++++++++++++++++++++++++++++++++++++++++
-
-A Jakarta Server Faces page for a tab uses the tag `sun:tab`. This tag
-provides all the capabilities of the Project Woodstock tag
-`webuijsf:tab`.
-
-[[GSACG00024]][[ghpnt]]
-
-
-Example 3-6 Example Jakarta Server Faces Page for a Tab
-
-In the example, the `sampleTab.jsf` file has the following content:
-
-[source,oac_no_warn]
-----
-<sun:tab id="sampletab" immediate="true" text="Sample First Tab">
-    <!command
-        setSessionAttribute(key="serverInstTabs" value="sampleTab");
-        gf.redirect(page="#{request.contextPath}/page/tabPage.jsf?name=Sample%20First%20Tab");
-    />
-</sun:tab>
-----
-
-
-[width="100%",cols="<100%",]
-|======================================================================
-a|
-Note:
-
-In the actual file there are no line breaks in the `gf.redirect` value.
-
-|======================================================================
-
-
-In your own Jakarta Server Faces pages, specify the attributes of this tag
-as follows:
-
-`id`::
-  A unique identifier for the tab, in this case `sampleTab`.
-`immediate`::
-  If set to true, event handling for this component should be handled
-  immediately (in the Apply Request Values phase) rather than waiting
-  until the Invoke Application phase.
-`text`::
-  The tab name that appears in the tab set.
-
-The JSF page displays tab content differently from the way the page for
-a node displays node content. It invokes two handlers for the `command`
-event: `setSessionAttribute` and `gf.redirect`. The `gf.redirect`
-handler has the same effect for a tab that the `url` attribute has for a
-node. It navigates to a simple Jakarta Server Faces page called
-`tabPage.jsf`, in the `src/main/resources/page/` directory, passing the
-text "Sample First Tab" to the page in a `name` parameter.
-
-The `sampleSubTab1.jsf` and `sampleSubTab2.jsf` files are almost
-identical to `sampleTab.jsf`. The most important difference is that each
-sets the session attribute `serverInstTabs` to the base name of the
-Jakarta Server Faces file that corresponds to that tab:
-
-[source,oac_no_warn]
-----
-setSessionAttribute(key="serverInstTabs" value="sampleTab");
-
-setSessionAttribute(key="serverInstTabs" value="sampleSubTab1");
-
-setSessionAttribute(key="serverInstTabs" value="sampleSubTab2");
-----
-
-[[ghmqw]][[GSACG00190]][[adding-a-task-to-the-common-tasks-page]]
-
-Adding a Task to the Common Tasks Page
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can add either a single task or a group of tasks to the Common Tasks
-page of the Administration Console. To add a task or task group, use an
-integration point of type `org.glassfish.admingui:commonTask`.
-
-See link:#ghozn[Adding a Task Group to the Common Tasks Page] for
-information on adding a task group.
-
-[[GSACG00025]][[ghpox]]
-
-
-Example 3-7 Example Task Integration Point
-
-In the example `console-config.xml` file, the following
-`integration-point` element adds a task to the Deployment task group:
-
-[source,oac_no_warn]
-----
-        <integration-point
-                id="samplecommontask"
-                parentid="deployment"
-                type="org.glassfish.admingui:commonTask"
-                priority="200"
-                content="sampleCommonTask.jsf"
-        />
-----
-
-This example specifies the following values:
-
-* The `id` value, `sampleCommonTask`, specifies the integration point
-ID.
-* The `parentId` value, `deployment`, specifies that the task is to be
-placed in the Deployment task group.
-* The `type` value, `org.glassfish.admingui:commonTask`, specifies the
-integration point type as a common task.
-* The `priority` value, `200`, specifies the order of the task within
-the task group.
-* The `content` value, `sampleCommonTask.jsf`, specifies the JavaServer
-Faces page that displays the task.
-
-[[ghoeu]][[GSACG00160]][[creating-a-javaserver-faces-page-for-your-task]]
-
-Creating a Jakarta Server Faces Page for Your Task
-++++++++++++++++++++++++++++++++++++++++++++++
-
-A Jakarta Server Faces page for a task uses the tag `sun:commonTask`. This
-tag provides all the capabilities of the Project Woodstock tag
-`webuijsf:commonTask`.
-
-[[GSACG00026]][[gjkgd]]
-
-
-Example 3-8 Example Jakarta Server Faces Page for a Task
-
-In the example, the `sampleCommonTask.jsf` file has the following
-content:
-
-[source,oac_no_warn]
-----
-<sun:commonTask
-        text="Sample Application Page"
-        toolTip="Sample Application Page"
-        onClick="return admingui.woodstock.commonTaskHandler('treeForm:tree:applications:ejb',
-        '#{request.contextPath}/sample/page/testPage.jsf?name=Sample%20Application%20Page');">
-</sun:commonTask>
-----
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-In the actual file, there is no line break in the `onClick` attribute
-value.
-
-|=======================================================================
-
-
-This file uses the `sun:commonTask` tag to specify the task. In your own
-Jakarta Server Faces pages, specify the attributes of this tag as follows:
-
-`text`::
-  The task name that appears on the Common Tasks page.
-`toolTip`::
-  The text that appears when a user places the mouse cursor over the
-  task name.
-`onClick`::
-  Scripting code that is to be executed when a user clicks the task
-  name.
-
-[[ghozn]][[GSACG00191]][[adding-a-task-group-to-the-common-tasks-page]]
-
-Adding a Task Group to the Common Tasks Page
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can add a new group of tasks to the Common Tasks page to display the
-most important tasks for your add-on component. To add a task group, use
-an integration point of type `org.glassfish.admingui:commonTask`.
-
-[[GSACG00027]][[ghplk]]
-
-
-Example 3-9 Example Task Group Integration Point
-
-In the example `console-config.xml` file, the following
-`integration-point` element adds a new task group to the Common Tasks
-page:
-
-[source,oac_no_warn]
-----
-       <integration-point
-            id="samplegroup"
-            parentid="commontaskssection"
-            type="org.glassfish.admingui:commonTask"
-            priority="500"
-            content="sampleTaskGroup.jsf"
-        />
-----
-
-This example specifies the following values:
-
-* The `id` value, `sampleGroup`, specifies the integration point ID.
-* The `parentId` value, `commonTasksSection`, specifies that the task
-group is to be placed on the Common Tasks page.
-* The `type` value, `org.glassfish.admingui:commonTask`, specifies the
-integration point type as a common task.
-* The `priority` value, `500`, specifies the order of the task group on
-the Common Tasks page. The low value places it at the end of the page.
-* The `content` value, `sampleTaskGroup.jsf`, specifies the JavaServer
-Faces page that displays the task.
-
-[[ghoya]][[GSACG00161]][[creating-a-javaserver-faces-page-for-your-task-group]]
-
-Creating a Jakarta Server Faces Page for Your Task Group
-++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-A Jakarta Server Faces page for a task group uses the tag
-`sun:commonTasksGroup`. This tag provides all the capabilities of the
-Project Woodstock tag `webuijsf:commonTasksGroup`.
-
-[[GSACG00028]][[ghpqe]]
-
-
-Example 3-10 Example Jakarta Server Faces Page for a Task Group
-
-In the example, the `sampleTaskGroup.jsf` file has the following
-content:
-
-[source,oac_no_warn]
-----
-<sun:commonTasksGroup title="My Own Sample Group">
-    <sun:commonTask
-            text="Go To Sample Resource"
-            toolTip="Go To Sample Resource"
-            onClick="return admingui.woodstock.commonTaskHandler('form:tree:resources:treeNode1',
-            '#{request.contextPath}/sample/page/testPage.jsf?name=Sample%20Resource%20Page');">
-    </sun:commonTask>
-    <sun:commonTask
-            text="Sample Configuration"
-            toolTip="Go To Sample Configuration"
-            onClick="return admingui.woodstock.commonTaskHandler('form:tree:configuration:sampleConfigNode',
-            '#{request.contextPath}/sample/page/testPage.jsf?name=Sample%20Configuration%20Page');">
-    </sun:commonTask>
-</sun:commonTasksGroup>
-----
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-In the actual file, there are no line breaks in the `onClick` attribute
-values.
-
-|=======================================================================
-
-
-This file uses the `sun:commonTasksGroup` tag to specify the task group,
-and two `sun:commonTask` tags to specify the tasks in the task group.
-The `sun:commonTasksGroup` tag has only one attribute, `title`, which
-specifies the name of the task group.
-
-[[ghmrg]][[GSACG00192]][[adding-content-to-a-page]]
-
-Adding Content to a Page
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can add content for your add-on component to an existing top-level
-page, such as the Configuration page or the Resources page. To add
-content to one of these pages, use an integration point of type
-`org.glassfish.admingui:configuration` or
-`org.glassfish.admingui:resources`.
-
-[[GSACG00029]][[ghpnu]]
-
-
-Example 3-11 Example Resources Page Implementation Point
-
-In the example `console-config.xml` file, the following
-`integration-point` element adds new content to the top-level Resources
-page:
-
-[source,oac_no_warn]
-----
-        <integration-point
-                id="sampleresourcelink"
-                parentid="propsheetsection"
-                type="org.glassfish.admingui:resources"
-                priority="100"
-                content="sampleResourceLink.jsf"
-        />
-----
-
-This example specifies the following values:
-
-* The `id` value, `sampleResourceLink`, specifies the integration point
-ID.
-* The `parentId` value, `propSheetSection`, specifies that the content
-is to be a section of a property sheet on the page.
-* The `type` value, `org.glassfish.admingui:resources`, specifies the
-integration point type as the Resources page. +
-To add content to the Configuration page, specify the `type` value as
-`org.glassfish.admingui:configuration`.
-* The `priority` value, `100`, specifies the order of the content on the
-Resources page. The high value places it at the top of the page.
-* The `content` value, `sampleResourceLink.jsf`, specifies the
-JavaServer Faces page that displays the new content on the Resources
-page.
-
-Another `integration-point` element in the `console-config.xml` file
-places similar content on the Configuration page.
-
-[[ghpao]][[GSACG00162]][[creating-a-javaserver-faces-page-for-your-page-content]]
-
-Creating a Jakarta Server Faces Page for Your Page Content
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-A Jakarta Server Faces page for page content often uses the tag
-`sun:property` to specify a property on a property sheet. This tag
-provides all the capabilities of the Project Woodstock tag
-`webuijsf:property`.
-
-[[GSACG00030]][[ghpoz]]
-
-
-Example 3-12 Example Jakarta Server Faces Page for a Resource Page Item
-
-In the example, the `sampleResourceLink.jsf` file has the following
-content:
-
-[source,oac_no_warn]
-----
-<sun:property>
-    <sun:hyperlink
-        toolTip="Sample Resource"
-        url="/sample/page/testPage.jsf?name=Sample%20Resource%20Page">
-        <sun:image url="/resource/sample/images/sample.png" />
-        <sun:staticText text="Sample Resource" />
-    </sun:hyperlink>
-</sun:property>
-
-<sun:property>
-    <sun:hyperlink
-        toolTip="Another"
-        url="/sample/page/testPage.jsf?name=Another">
-        <sun:image url="/resource/sample/images/sample.png" />
-        <sun:staticText text="Another" />
-    </sun:hyperlink>
-</sun:property>
-----
-
-The file specifies two simple properties on the property sheet, one
-above the other. Each consists of a `sun:hyperlink` element (a link to a
-URL). Within each `sun:hyperlink` element is nested a `sun:image`
-element, specifying an image, and a `sun:staticText` element, specifying
-the text to be placed next to the image.
-
-Each `sun:hyperlink` element uses a `toolTip` attribute and a `url`
-attribute. Each `url` attribute references the `testPage.jsf` file that
-is used elsewhere in the example, specifying different content for the
-`name` parameter.
-
-You can use many other kinds of user interface elements within a
-`sun:property` element.
-
-[[ghmqe]][[GSACG00193]][[adding-a-page-to-the-administration-console]]
-
-Adding a Page to the Administration Console
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Your add-on component may require new configuration tasks. In addition
-to implementing commands that accomplish these tasks (see
-link:extending-asadmin.html#ghmrd[Chapter 4, "Extending the `asadmin`
-Utility"]), you can provide property sheets that enable users to
-configure your component or to perform tasks such as creating and
-editing resources for it.
-
-[[GSACG00031]][[ghple]]
-
-
-Example 3-13 Example Jakarta Server Faces Page for a Property Sheet
-
-Most of the user interface features used in the example reference the
-file `testPage.jsf` or (for tabs) the file `tabPage.jsf`. Both files are
-in the `src/main/resources/page/` directory. The `testPage.jsf` file
-looks like this:
-
-[source,oac_no_warn]
-----
-<!composition template="/templates/default.layout" guiTitle="TEST Sample Page Title">
-<!define name="content">
-<sun:form id="propertyform">
-
-<sun:propertySheet id="propertysheet">
-    <sun:propertySheetSection id="propertysection">
-       <sun:property id="prop1" labelAlign="left" noWrap="true"
-                     overlapLabel="false" label="Test Page Name:">
-            <sun:staticText text="$pageSession{pageName}">
-                <!beforeCreate
-                    getRequestValue(key="name" value=>$page{pageName});
-                />
-            </sun:staticText>
-        </sun:property>
-    </sun:propertySheetSection>
-</sun:propertySheet>
-<sun:hidden id="helpkey" value="" />
-
-</sun:form>
-</define>
-</composition>
-----
-
-The page uses the `composition` directive to specify that the page uses
-the `default.layout` template and to specify a page title. The page uses
-additional directives, events, and tags to specify its content.
-
-[[ghmqi]][[GSACG00102]][[adding-internationalization-support]]
-
-Adding Internationalization Support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To add internationalization support for your add-on component to the
-Administration Console, you can place an event and handler like the
-following at the top of your page:
-
-[source,oac_no_warn]
-----
-<!initPage
-    setResourceBundle(key="yourI18NKey" bundle="bundle.package.BundleName")
-/>
-----
-
-Replace the values `yourI18NKey` and `bundle.package.BundleName` with
-appropriate values for your component.
-
-[[ghmqg]][[GSACG00103]][[changing-the-theme-or-brand-of-the-administration-console]]
-
-Changing the Theme or Brand of the Administration Console
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To change the theme or brand of the Administration Console for your
-add-on component, use the integration point type
-`org.glassfish.admingui:customtheme`. This integration point affects the
-Cascading Style Sheet (CSS) files and images that are used in the
-Administration Console.
-
-[[GSACG00032]][[ghpls]]
-
-
-Example 3-14 Example Custom Theme Integration Point
-
-For example, the following integration point specifies a custom theme:
-
-[source,oac_no_warn]
-----
-        <integration-point
-                id="myownbrand"
-                type="org.glassfish.admingui:customtheme"
-                priority="2"
-                content="myOwnBrand.properties"
-        />
-----
-
-The `priority` attribute works differently when you specify it in a
-branding integration point from the way it works in other integration
-points. You can place multiple branding add-on components in the
-`modules` directory, but only one theme can be applied to the
-Administration Console. The `priority` attribute determines which theme
-is used. Specify a value from 1 to 100; the lower the number, the higher
-the priority. The integration point with the highest priority will be
-used.
-
-Additional integration point types also affect the theme or brand of the
-Administration Console:
-
-`org.glassfish.admingui:masthead`::
-  Specifies the name and location of the include masthead file, which
-  can be customized with a branding image. This include file will be
-  integrated on the masthead of the Administration Console.
-`org.glassfish.admingui:loginimage`::
-  Specifies the name and location of the include file containing the
-  branding login image code that will be integrated with the login page
-  of the Administration Console.
-`org.glassfish.admingui:loginform`::
-  Specifies the name and location of the include file containing the
-  customized login form code. This code also contains the login
-  background image used for the login page for the Administration
-  Console.
-`org.glassfish.admingui:versioninfo`::
-  Specifies the name and location of the include file containing the
-  branding image that will be integrated with the content of the version
-  popup window.
-
-[[GSACG00033]][[ghpla]]
-
-
-Example 3-15 Example of Branding Integration Points
-
-For example, you might specify the following integration points. The
-content for each integration point is defined in an include file.
-
-[source,oac_no_warn]
-----
-       <integration-point
-               id="myownbrandmast"
-               type="org.glassfish.admingui:masthead"
-               priority="80"
-               content="branding/masthead.inc"
-       />
-       <integration-point
-               id="myownbrandlogimg"
-               type="org.glassfish.admingui:loginimage"
-               priority="80"
-               content="branding/loginimage.inc"
-       />
-       <integration-point
-               id="myownbrandlogfm"
-               type="org.glassfish.admingui:loginform"
-               priority="80"
-               content="branding/loginform.inc"
-       />
-       <integration-point
-               id="myownbrandversinf"
-               type="org.glassfish.admingui:versioninfo"
-               priority="80"
-               content="branding/versioninfo.inc"
-       />
-----
-
-To provide your own CSS and images to modify the global look and feel of
-the entire application (not just the Administration Console), use the
-theming feature of https://github.com/eclipse-ee4j/glassfish-woodstock[Project
-Woodstock] (`https://github.com/eclipse-ee4j/glassfish-woodstock`). Create a theme JAR
-file with all the CSS properties and image files that are required by
-your Woodstock component. Use a script provided by the Woodstock project
-to clone an existing theme, then modify the files and properties as
-necessary. Once you have created the theme JAR file, place it in the
-`WEB-INF/lib` directory of the Administration Console so that the
-Woodstock theme component will load the theme. In addition, edit the
-properties file specified by your integration point
-(`MyOwnBrand.properties`, for example) to specify the name and version
-of your theme.
-
-[[ghpkz]][[GSACG00104]][[creating-an-integration-point-type]]
-
-Creating an Integration Point Type
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If your add-on component provides new content that you would like other
-people to extend, you may define your own integration point types. For
-example, if you add a new page that provides tabs of monitoring
-information, you might want to allow others to add their own tabs to
-complement your default tabs. This feature enables your page to behave
-like the existing Administration Console pages that you or others can
-extend.
-
-[[sthref4]][[to-create-an-integration-point-type]]
-
-To Create an Integration Point Type
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Decide on the name of your integration point type. +
-The integration point type must be a unique identifier. You might use
-the package name of your integration point, with a meaningful name
-appended to the end, as in the following example: +
-[source,oac_no_warn]
-----
-org.company.project:myMonitoringTabs
-----
-2.  After you have an integration point ID, use handlers to insert the
-integration point implementation(s). +
-Include code like the following below the place in your Jakarta Server Faces
-page where you would like to enable others to add their integration
-point implementations: +
-[source,oac_no_warn]
-----
-<event>
-    <!afterCreate
-        getUIComponent(clientid="clientid:of:root"
-                       component=>$attribute{rootComp});
-        includeIntegrations(type="org.company.project:myMonitoringTabs"
-                            root="#{rootComp}");
-    />
-</event>
-----
-Change `clientId:of:root` to match the `clientId` of the outermost
-component in which you want others to be able to add their content (in
-this example, the tab set is the most likely choice). Also include your
-integration point ID in place of `org.company.project:myMonitoringTabs`.
-If you omit the `root` argument to `includeIntegrations`, all components
-on the entire page can be used for the `parentId` of the integration
-points.
-
-
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/integration-point-reference.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/integration-point-reference.adoc
deleted file mode 100644
index 13d3b4a..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/integration-point-reference.adoc
+++ /dev/null
@@ -1,421 +0,0 @@
-type=page
-status=published
-title=Integration Point Reference
-prev=packaging-integrating-delivering.html
-~~~~~~
-Integration Point Reference
-===========================
-
-[[GSACG00010]][[ghmrp]]
-
-
-[[a-integration-point-reference]]
-A Integration Point Reference
------------------------------
-
-This appendix provides reference information about integration points,
-which are described in
-link:extending-the-admin-console.html#ghmrb[Extending the Administration
-Console]. 
-Define an integration point for each user interface feature in the
-`console-config.xml` file for your add-on component.
-
-The following topics are addressed here:
-
-* link:#ghprc[Integration Point Attributes]
-* link:#ghmwa[`org.glassfish.admingui:navNode` Integration Point]
-* link:#gjkff[`org.glassfish.admingui:rightPanel` Integration Point]
-* link:#gjkfq[`org.glassfish.admingui:rightPanelTitle` Integration
-Point]
-* link:#ghpkh[`org.glassfish.admingui:serverInstTab` Integration Point]
-* link:#ghpit[`org.glassfish.admingui:commonTask` Integration Point]
-* link:#ghphz[`org.glassfish.admingui:configuration` Integration Point]
-* link:#ghpfm[`org.glassfish.admingui:resources` Integration Point]
-* link:#ghpiz[`org.glassfish.admingui:customtheme` Integration Point]
-* link:#ghppm[`org.glassfish.admingui:masthead` Integration Point]
-* link:#ghppk[`org.glassfish.admingui:loginimage` Integration Point]
-* link:#ghprk[`org.glassfish.admingui:loginform` Integration Point]
-* link:#ghpse[`org.glassfish.admingui:versioninfo` Integration Point]
-
-[[ghprc]][[GSACG00145]][[integration-point-attributes]]
-
-Integration Point Attributes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For each `integration-point` element, specify the following attributes.
-Each attribute takes a string value.
-
-`id`::
-  An identifier for the integration point. The remaining sections of
-  this appendix do not provide details about specifying this attribute.
-`parentId`::
-  The ID of the integration point's parent.
-`type`::
-  The type of the integration point.
-`priority`::
-  A numeric value that specifies the relative ordering of integration
-  points with the same `parentId`. A lower number specifies a higher
-  priority (for example, 100 represents a higher priority than 400). You
-  may need to experiment in order to place the integration point where
-  you want it. This attribute is optional.
-`content`::
-  A relative path to the Jakarta Server Faces page that contains the content
-  to be integrated. Typically, the file contains a Jakarta Server Faces code
-  fragment that is incorporated into a page. The code fragment often
-  specifies a link to another Jakarta Server Faces page that appears when a
-  user clicks the link.
-
-[[ghmwa]][[GSACG00146]][[org.glassfish.adminguinavnode-integration-point]]
-
-`org.glassfish.admingui:navNode` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:navNode` integration point to insert a
-node in the Administration Console navigation tree. Specify the
-attributes and their content as follows.
-
-`type`::
-  `org.glassfish.admingui:navNode`, the left-hand navigation tree
-`parentId`::
-  The `id` value of the `navNode` that is the parent for this node. The
-  `parentId` can be any of the following: +
-  `tree`;;
-    The root node of the entire navigation tree. Use this value to place
-    your node at the top level of the tree. You can then use the `id` of
-    this node to create additional nodes beneath it.
-  `registration`;;
-    The Registration node
-  `applicationServer`;;
-    The GlassFish Server node
-  `applications`;;
-    The Applications node
-  `resources`;;
-    The Resources node
-  `configuration`;;
-    The Configuration node
-  `webContainer`;;
-    The Web Container node under the Configuration node
-  `httpService`;;
-    The HTTP Service node under the Configuration node +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The `webContainer` and `httpService` nodes are available only if you
-installed the web container module for the Administration Console (the
-`console-web-gui.jar` OSGi bundle).
-
-|=======================================================================
-
-`priority`::
-  A numeric value that specifies the relative ordering of the node on
-  the tree, whether at the top level or under another node.
-`content`::
-  A relative path to the Jakarta Server Faces page that contains the content
-  to be integrated, or a URL to an external resource that returns the
-  appropriate data structure for inclusion.
-
-For an example, see link:extending-the-admin-console.html#ghpmb[Example
-3-2].
-
-[[gjkff]][[GSACG00147]][[org.glassfish.adminguirightpanel-integration-point]]
-
-`org.glassfish.admingui:rightPanel` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:rightPanel` integration point to specify
-content for the right frame of the Administration Console. Specify the
-attributes and their content as follows.
-
-`type`::
-  `org.glassfish.admingui:rightPanel`
-`parentId`::
-  None.
-`priority`::
-  A numeric value that specifies the relative ordering. If multiple
-  plug-ins specify content for the right frame, the one with greater
-  priority will take precedence.
-`content`::
-  A path relative to the root of the plug-in JAR file to a file
-  containing the content for the right panel. Alternatively, it may
-  contain a full URL which will deliver the content for the right panel.
-
-[[gjkfq]][[GSACG00148]][[org.glassfish.adminguirightpaneltitle-integration-point]]
-
-`org.glassfish.admingui:rightPanelTitle` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:rightPanel` integration point to specify
-the title for the right frame of the Administration Console. Specify the
-attributes and their content as follows.
-
-`type`::
-  `org.glassfish.admingui:rightPanelTitle`
-`parentId`::
-  None.
-`priority`::
-  A numeric value that specifies the relative ordering. If multiple
-  plug-ins specify content for the right frame, the one with greater
-  priority will take precedence.
-`content`::
-  Specifies the title to display at the top of the right panel.
-
-[[ghpkh]][[GSACG00149]][[org.glassfish.adminguiserverinsttab-integration-point]]
-
-`org.glassfish.admingui:serverInstTab` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:serverInstTab` integration point to place
-an additional tab on the GlassFish Server page of the Administration
-Console. Specify the attributes and their content as follows.
-
-`type`::
-  `org.glassfish.admingui:serverInstTab`
-`parentId`::
-  The `id` value of the tab set that is the parent for this tab. For a
-  top-level tab on this page, this value is `serverInstTabs`, the tab
-  set that contains the general information property pages for GlassFish
-  Server. +
-  For a sub-tab, the value is the `id` value for the parent tab.
-`priority`::
-  A numeric value that specifies the relative ordering of the tab on the
-  page, whether at the top level or under another tab.
-`content`::
-  A relative path to the Jakarta Server Faces page that contains the content
-  to be integrated. +
-  When you use this integration point, your Jakarta Server Faces page must
-  call the `setSessionAttribute` handler for the `command` event to set
-  the session variable of the `serverInstTabs` tab set to the `id` value
-  of your tab. For example, the file may have the following content: +
-[source,oac_no_warn]
-----
-<sun:tab id="sampletab" immediate="true" text="Sample First Tab">
-    <!command
-        setSessionAttribute(key="serverInstTabs" value="sampleTab");
-        gf.redirect(page="#{request.contextPath}/page/tabPage.jsf?name=Sample%20First%20Tab");
-    />
-</sun:tab>
-----
-::
-  The `id` of the `sun:tab` custom tag must be the same as the `value`
-  argument of the `setSessionAttribute` handler.
-
-For examples, see link:extending-the-admin-console.html#ghplc[Example
-3-4] and link:extending-the-admin-console.html#ghplu[Example 3-5].
-
-[[ghpit]][[GSACG00150]][[org.glassfish.adminguicommontask-integration-point]]
-
-`org.glassfish.admingui:commonTask` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:commonTask` integration point to place a
-new task or task group on the Common Tasks page of the Administration
-Console. Specify the attributes and their content as follows.
-
-`type`::
-  `org.glassfish.admingui:commonTask`
-`parentId`::
-  If you are adding a task group, the `id` value of the Common Tasks
-  page, which is `commonTasksSection`. +
-  If you are adding a single task, the `id` value of the task group that
-  is the parent for this tab, such as `deployment` (for the Deployment
-  group).
-`priority`::
-  A numeric value that specifies the relative ordering of the tab on the
-  page, whether at the top level or under another tab.
-`content`::
-  A relative path to the Jakarta Server Faces page that contains the content
-  to be integrated.
-
-For examples, see link:extending-the-admin-console.html#ghpox[Example
-3-7] and link:extending-the-admin-console.html#ghplk[Example 3-9].
-
-[[ghphz]][[GSACG00151]][[org.glassfish.adminguiconfiguration-integration-point]]
-
-`org.glassfish.admingui:configuration` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:configuration` integration point to add a
-component to the Configuration page of the Administration Console.
-Typically, you add a link to the property sheet section of this page.
-Specify the attributes and their content as follows.
-
-`type`::
-  `org.glassfish.admingui:configuration`
-`parentId`::
-  The `id` value of the property sheet for the Configuration page. This
-  value is `propSheetSection`, the section that contains the property
-  definitions for the Configuration page.
-`priority`::
-  A numeric value that specifies the relative ordering of the item on
-  the Configuration page.
-`content`::
-  A relative path to the Jakarta Server Faces page that contains the content
-  to be integrated.
-
-[[ghpfm]][[GSACG00152]][[org.glassfish.adminguiresources-integration-point]]
-
-`org.glassfish.admingui:resources` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:resources` integration point to add a
-component to the Resources page of the Administration Console.
-Typically, you add a link to the property sheet section of this page.
-Specify the attributes and their content as follows.
-
-`type`::
-  `org.glassfish.admingui:resources`
-`parentId`::
-  The `id` value of the property sheet for the Resources page. This
-  value is `propSheetSection`, the section that contains the property
-  definitions for the Resources page.
-`priority`::
-  A numeric value that specifies the relative ordering of the item on
-  the Resources page.
-`content`::
-  A relative path to the Jakarta Server Faces page that contains the content
-  to be integrated.
-
-For an example, see link:extending-the-admin-console.html#ghpnu[Example
-3-11].
-
-[[ghpiz]][[GSACG00153]][[org.glassfish.adminguicustomtheme-integration-point]]
-
-`org.glassfish.admingui:customtheme` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:customtheme` integration point to add
-your own branding to the Administration Console. Specify the attributes
-and their content as follows. Do not specify a `parentId` attribute for
-this integration point.
-
-`type`::
-  `org.glassfish.admingui:customtheme`
-`priority`::
-  A numeric value that specifies the relative ordering of the item in
-  comparison to other themes. This value must be between 1 and 100. The
-  theme with the smallest number is used first.
-`content`::
-  The name of the properties file that contains the key/value pairs that
-  will be used to access your theme JAR file. You must specify the
-  following keys: +
-  `com.sun.webui.theme.DEFAULT_THEME`;;
-    Specifies the theme name for the theme that this application may
-    depend on.
-  `com.sun.webui.theme.DEFAULT_THEME_VERSION`;;
-    Specifies the theme version this application may depend on. +
-  For example, the properties file for the default Administration
-  Console brand contains the following: +
-[source,oac_no_warn]
-----
-com.sun.webui.theme.DEFAULT_THEME=suntheme
-com.sun.webui.theme.DEFAULT_THEME_VERSION=4.3
-----
-
-For an example, see link:extending-the-admin-console.html#ghpls[Example
-3-14].
-
-[[ghppm]][[GSACG00154]][[org.glassfish.adminguimasthead-integration-point]]
-
-`org.glassfish.admingui:masthead` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:masthead` integration point to specify
-the name and location of the include masthead file, which can be
-customized with a branding image. This include file will be integrated
-on the masthead of the Administration Console. Specify the attributes
-and their content as follows. Do not specify a `parentId` attribute for
-this integration point.
-
-`type`::
-  `org.glassfish.admingui:masthead`
-`priority`::
-  A numeric value that specifies the relative ordering of the item in
-  comparison to other items of this type. This value must be between 1
-  and 100. The theme with the smallest number is used first.
-`content`::
-  A file that contains the content, typically a file that is included in
-  a Jakarta Server Faces page.
-
-For an example, see link:extending-the-admin-console.html#ghpla[Example
-3-15].
-
-[[ghppk]][[GSACG00155]][[org.glassfish.adminguiloginimage-integration-point]]
-
-`org.glassfish.admingui:loginimage` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:loginimage` integration point to specify
-the name and location of the include file containing the branding login
-image code that will be integrated with the login page of the
-Administration Console. Specify the attributes and their content as
-follows. Do not specify a `parentId` attribute for this integration
-point.
-
-`type`::
-  `org.glassfish.admingui:loginimage`
-`parentId`::
-  None; a login image does not have a parent ID.
-`priority`::
-  A numeric value that specifies the relative ordering of the item in
-  comparison to other items of this type. This value must be between 1
-  and 100. The theme with the smallest number is used first.
-`content`::
-  A file that contains the content, typically a file that is included in
-  a Jakarta Server Faces page.
-
-For an example, see link:extending-the-admin-console.html#ghpla[Example
-3-15].
-
-[[ghprk]][[GSACG00156]][[org.glassfish.adminguiloginform-integration-point]]
-
-`org.glassfish.admingui:loginform` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:loginform` integration point to specify
-the name and location of the include file containing the customized
-login form code. This code also contains the login background image used
-for the login page for the Administration Console. Specify the
-attributes and their content as follows. Do not specify a `parentId`
-attribute for this integration point.
-
-`type`::
-  `org.glassfish.admingui:loginform`
-`priority`::
-  A numeric value that specifies the relative ordering of the item in
-  comparison to other items of this type. This value must be between 1
-  and 100. The theme with the smallest number is used first.
-`content`::
-  A file that contains the content, typically a file that is included in
-  a Jakarta Server Faces page.
-
-For an example, see link:extending-the-admin-console.html#ghpla[Example
-3-15].
-
-[[ghpse]][[GSACG00157]][[org.glassfish.adminguiversioninfo-integration-point]]
-
-`org.glassfish.admingui:versioninfo` Integration Point
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use an `org.glassfish.admingui:versioninfo` integration point to specify
-the name and location of the include file containing the branding image
-that will be integrated with the content of the version popup window.
-Specify the attributes and their content as follows. Do not specify a
-`parentId` attribute for this integration point.
-
-`type`::
-  `org.glassfish.admingui:versioninfo`
-`priority`::
-  A numeric value that specifies the relative ordering of the item in
-  comparison to other items of this type. This value must be between 1
-  and 100. The theme with the smallest number is used first.
-`content`::
-  A file that contains the content, typically a file that is included in
-  a Jakarta Server Faces page.
-
-For an example, see link:extending-the-admin-console.html#ghpla[Example
-3-15].
-
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/introduction.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/introduction.adoc
deleted file mode 100644
index 6e63aa3..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/introduction.adoc
+++ /dev/null
@@ -1,298 +0,0 @@
-type=page
-status=published
-title=Introduction to the Development Environment for Eclipse GlassFish Add-On Components
-next=writing-hk2-components.html
-prev=preface.html
-~~~~~~
-Introduction to the Development Environment for Eclipse GlassFish Add-On Components
-==================================================================================
-
-[[GSACG00001]][[ghmlv]]
-
-
-[[introduction-to-the-development-environment-for-eclipse-glassfish-add-on-components]]
-1 Introduction to the Development Environment for Eclipse GlassFish Add-On Components
-------------------------------------------------------------------------------------
-
-Eclipse GlassFish enables an external vendor such as
-an independent software vendor (ISV), original equipment manufacturer
-(OEM), or system integrator to incorporate GlassFish Server into a new
-product with the vendor's own brand name. External vendors can extend
-the functionality of GlassFish Server by developing add-on components
-for GlassFish Server. GlassFish Server provides interfaces to enable
-add-on components to be configured, managed, and monitored through
-existing GlassFish Server tools such as the Administration Console and
-the `asadmin` utility.
-
-The following topics are addressed here:
-
-* link:#ghmje[GlassFish Server Modular Architecture and Add-On
-Components]
-* link:#ghmrf[OSGi Alliance Module Management Subsystem]
-* link:#ghmnq[Hundred-Kilobyte Kernel]
-* link:#ghmns[Overview of the Development Process for an Add-On
-Component]
-
-[[ghmje]][[GSACG00087]][[glassfish-server-modular-architecture-and-add-on-components]]
-
-GlassFish Server Modular Architecture and Add-On Components
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server has a modular architecture in which the features of
-GlassFish Server are provided by a consistent set of components that
-interact with each other. Each component provides a small set of
-functionally related features.
-
-The modular architecture of GlassFish Server enables users to download
-and install only the components that are required for the applications
-that are being deployed. As a result, start-up times, memory
-consumption, and disk space requirements are all minimized.
-
-The modular architecture of GlassFish Server enables you to extend the
-basic functionality of GlassFish Server by developing add-on components.
-An add-on component is an encapsulated definition of reusable code that
-has the following characteristics:
-
-* The component provides a set of Java classes.
-* The component offers services and public interfaces.
-* The component implements the public interfaces with a set of private
-classes.
-* The component depends on other components.
-
-Add-on components that you develop interact with GlassFish Server in the
-same way as components that are supplied in GlassFish Server
-distributions.
-
-You can create and offer new or updated add-on components at any time.
-GlassFish Server administrators can install add-on components and update
-or remove installed components after GlassFish Server is installed. For
-more information, see "link:../administration-guide/toc.html#GSADG00014[Extending and Updating GlassFish
-Server]" in Eclipse GlassFish Administration Guide.
-
-[[ghmrf]][[GSACG00088]][[osgi-alliance-module-management-subsystem]]
-
-OSGi Alliance Module Management Subsystem
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To enable components to be added when required, GlassFish Server
-provides a lightweight and extensible kernel that uses the module
-management subsystem from the http://www.osgi.org/[OSGi Alliance]
-(`http://www.osgi.org/`). Any GlassFish Server component that plugs in
-to this kernel must be implemented as an OSGi bundle. To enable an
-add-on component to plug in to the GlassFish Server kernel in the same
-way as other components, package the component as an OSGi bundle. For
-more information, see
-link:packaging-integrating-delivering.html#ghpun[Packaging an Add-On
-Component].
-
-The default OSGi module management subsystem in GlassFish Server is the
-Apache Felix http://felix.apache.org[OSGi framework]
-(`http://felix.apache.org`). However, the GlassFish Server kernel uses
-only the http://www.osgi.org/Release4/HomePage[OSGi Service Platform
-Release 4] (`http://www.osgi.org/Release4/HomePage`) API. Therefore,
-GlassFish Server supports other OSGi module management subsystems that
-are compatible with the OSGi Service Platform Release 4 API.
-
-[[ghmnq]][[GSACG00089]][[hundred-kilobyte-kernel]]
-
-Hundred-Kilobyte Kernel
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The https://github.com/eclipse-ee4j/glassfish-hk2[Hundred-Kilobyte Kernel (HK2)]
-(`https://github.com/eclipse-ee4j/glassfish-hk2`) is the lightweight and extensible kernel
-of GlassFish Server. HK2 consists of the following technologies:
-
-* Module subsystem. The HK2 module subsystem provides isolation between
-components of the GlassFish Server. The HK2 module subsystem is
-compatible with existing technologies such as the OSGi framework.
-* Component model. The HK2 component model eases the development of
-components that are also services. GlassFish Server discovers these
-components automatically and dynamically. HK2 components use injection
-of dependencies to express dependencies on other components. GlassFish
-Server provides two-way mappings between the services of an HK2
-component and OSGi services.
-
-For more information, see link:writing-hk2-components.html#ghmna[Writing
-HK2 Components].
-
-[[ghmns]][[GSACG00090]][[overview-of-the-development-process-for-an-add-on-component]]
-
-Overview of the Development Process for an Add-On Component
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To ensure that an add-on component behaves identically to components
-that are supplied in GlassFish Server distributions, the component must
-meet the following requirements:
-
-* If the component generates management data, configuration data, or
-monitoring data, it must provide that data to other GlassFish Server
-components in the same way as other GlassFish Server components.
-* If the component generates management data, configuration data, or
-monitoring data, it must provide that data to users through GlassFish
-Server administrative interfaces such as Administration Console and the
-`asadmin` utility.
-* The component must be packaged and delivered as an OSGi bundle.
-
-To develop add-on components that meet these requirements, follow the
-development process that is described in the following sections:
-
-* link:#ghpqc[Writing HK2 Components]
-* link:#ghokn[Extending the Administration Console]
-* link:#ghohx[Extending the `asadmin` Utility]
-* link:#ghojs[Adding Monitoring Capabilities]
-* link:#gkahs[Adding Configuration Data for a Component]
-* link:#ghojq[Adding Container Capabilities]
-* link:#gktld[Creating a Session Persistence Module]
-* link:#ghoiu[Packaging and Delivering an Add-On Component]
-
-[[ghpqc]][[GSACG00173]][[writing-hk2-components]]
-
-Writing HK2 Components
-^^^^^^^^^^^^^^^^^^^^^^
-
-The Hundred-Kilobyte Kernel (HK2) is the lightweight and extensible
-kernel of GlassFish Server. To interact with GlassFish Server, add-on
-components plug in to this kernel. In the HK2 component model, the
-functions of an add-on component are declared through a contract-service
-implementation paradigm. An HK2 contract identifies and describes the
-building blocks or the extension points of an application. An HK2
-service implements an HK2 contract.
-
-For more information, see link:writing-hk2-components.html#ghmna[Writing
-HK2 Components].
-
-[[ghokn]][[GSACG00174]][[extending-the-administration-console]]
-
-Extending the Administration Console
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Administration Console is a browser-based tool for administering
-GlassFish Server. It features an easy-to-navigate interface and online
-help. Extending the Administration Console enables you to provide a
-graphical user interface for administering your add-on component. You
-can use any of the user interface features of the Administration
-Console, such as tree nodes, links on the Common Tasks page, tabs and
-sub-tabs, property sheets, and JavaServer Faces pages. Your add-on
-component implements a marker interface and provides a configuration
-file that describes how your customizations integrate with the
-Administration Console.
-
-For more information, see
-link:extending-the-admin-console.html#ghmrb[Extending the Administration
-Console].
-
-[[ghohx]][[GSACG00175]][[extending-the-asadmin-utility]]
-
-Extending the `asadmin` Utility
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `asadmin` utility is a command-line tool for configuring and
-administering GlassFish Server. Extending the `asadmin` utility enables
-you to provide administrative interfaces for an add-on component that
-are consistent with the interfaces of other GlassFish Server components.
-A user can run `asadmin` subcommands either from a command prompt or
-from a script. For more information about the `asadmin` utility, see the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] man page.
-
-For more information, see link:extending-asadmin.html#ghmrd[Extending the
-`asadmin` Utility].
-
-[[ghojs]][[GSACG00176]][[adding-monitoring-capabilities]]
-
-Adding Monitoring Capabilities
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Monitoring is the process of reviewing the statistics of a system to
-improve performance or solve problems. By monitoring the state of
-components and services that are deployed in the GlassFish Server,
-system administrators can identify performance bottlenecks, predict
-failures, perform root cause analysis, and ensure that everything is
-functioning as expected. Monitoring data can also be useful in
-performance tuning and capacity planning.
-
-An add-on component typically generates statistics that the GlassFish
-Server can gather at run time. Adding monitoring capabilities enables an
-add-on component to provide statistics to GlassFish Server in the same
-way as components that are supplied in GlassFish Server distributions.
-As a result, system administrators can use the same administrative
-interfaces to monitor statistics from any installed GlassFish Server
-component, regardless of the origin of the component.
-
-For more information, see
-link:adding-monitoring-capabilities.html#ghmos[Adding Monitoring
-Capabilities].
-
-[[gkahs]][[GSACG00177]][[adding-configuration-data-for-a-component]]
-
-Adding Configuration Data for a Component
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The configuration data of a component determines the characteristics and
-runtime behavior of a component. GlassFish Server provides interfaces to
-enable an add-on component to store its configuration data in the same
-way as other GlassFish Server components. These interfaces are similar
-to interfaces that are defined in
-https://jakarta.ee/specifications/xml-binding/3.0/[Jakarta XML Binding 3.0]
-(`https://jakarta.ee/specifications/xml-binding/3.0/`). By using these interfaces to
-store configuration data, you ensure that the add-on component is fully
-integrated with GlassFish Server. As a result, administrators can
-configure an add-on component in the same way as they can configure
-other GlassFish Server components.
-
-For more information, see
-link:adding-configuration-data.html#gjlpe[Adding Configuration Data for a
-Component].
-
-[[ghojq]][[GSACG00178]][[adding-container-capabilities]]
-
-Adding Container Capabilities
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Applications run on GlassFish Server in containers. GlassFish Server
-enables you to create containers that extend or replace the existing
-containers of GlassFish Server. Adding container capabilities enables
-you to run new types of applications and to deploy new archive types in
-GlassFish Server.
-
-For more information, see
-link:adding-container-capabilities.html#ghmon[Adding Container
-Capabilities].
-
-[[gktld]][[GSACG00179]][[creating-a-session-persistence-module]]
-
-Creating a Session Persistence Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server enables you to create a session persistence module in
-the web container for high availability-related functionality by
-implementing the `PersistenceStrategyBuilder` interface . Using the
-`PersistenceStrategyBuilder` interface in an HK2 service makes the
-session manager extensible because you can implement a new persistence
-type without having to modify the web container code.
-
-For information about other high-availability, session persistence
-solutions, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session
-Persistence and Failover]" in Eclipse GlassFish High
-Availability Administration Guide.
-
-For more information, see
-link:session-persistence-modules.html#gkmhj[Creating a Session
-Persistence Module].
-
-[[ghoiu]][[GSACG00180]][[packaging-and-delivering-an-add-on-component]]
-
-Packaging and Delivering an Add-On Component
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Packaging an add-on component enables the component to interact with the
-GlassFish Server kernel in the same way as other components. Integrating
-a component with GlassFish Server enables GlassFish Server to discover
-the component at runtime. If an add-on component is an extension or
-update to existing installations of GlassFish Server, deliver the
-component through Update Tool.
-
-For more information, see
-link:packaging-integrating-delivering.html#ghmxp[Packaging, Integrating,
-and Delivering an Add-On Component].
-
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/loe.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index a012d30..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,131 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lot.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:writing-hk2-components.html#ghoqv[2-1 Example Implementation of
-PostContruct and PreDestroy]
-* link:writing-hk2-components.html#ghquz[2-2 Example of Instantiation
-Cascading]
-* link:writing-hk2-components.html#ghoip[2-3 Example of the Optional
-Elements of the @Service Annotation]
-* link:writing-hk2-components.html#ghqsa[2-4 Example of the Maven Plug-In
-Configuration]
-* link:writing-hk2-components.html#ghoik[2-5 Example of META-INF/services
-File Generation]
-* link:extending-the-admin-console.html#ghosz[3-1 Example ConsoleProvider
-Implementation]
-* link:extending-the-admin-console.html#ghpmb[3-2 Example Tree Node
-Integration Point]
-* link:extending-the-admin-console.html#ghpmn[3-3 Example JavaServer
-Faces Page for a Tree Node]
-* link:extending-the-admin-console.html#ghplc[3-4 Example Tab Integration
-Point]
-* link:extending-the-admin-console.html#ghplu[3-5 Example Tab Set
-Integration Points]
-* link:extending-the-admin-console.html#ghpnt[3-6 Example JavaServer
-Faces Page for a Tab]
-* link:extending-the-admin-console.html#ghpox[3-7 Example Task
-Integration Point]
-* link:extending-the-admin-console.html#gjkgd[3-8 Example JavaServer
-Faces Page for a Task]
-* link:extending-the-admin-console.html#ghplk[3-9 Example Task Group
-Integration Point]
-* link:extending-the-admin-console.html#ghpqe[3-10 Example JavaServer
-Faces Page for a Task Group]
-* link:extending-the-admin-console.html#ghpnu[3-11 Example Resources Page
-Implementation Point]
-* link:extending-the-admin-console.html#ghpoz[3-12 Example JavaServer
-Faces Page for a Resource Page Item]
-* link:extending-the-admin-console.html#ghple[3-13 Example JavaServer
-Faces Page for a Property Sheet]
-* link:extending-the-admin-console.html#ghpls[3-14 Example Custom Theme
-Integration Point]
-* link:extending-the-admin-console.html#ghpla[3-15 Example of Branding
-Integration Points]
-* link:extending-asadmin.html#ghrqq[4-1 Adding an asadmin Subcommand]
-* link:extending-asadmin.html#ghpuh[4-2 Adding Parameters to an asadmin
-Subcommand]
-* link:extending-asadmin.html#ghpvm[4-3 Adding Message Strings to an
-asadmin Subcommand]
-* link:extending-asadmin.html#ghrfh[4-4 BrandingVersion.properties File
-for Changing the Brand in the GlassFish Server CLI]
-* link:extending-asadmin.html#ghrnt[4-5 asadmin Subcommand With Empty
-execute Method]
-* link:extending-asadmin.html#ghrsi[4-6 asadmin Subcommand for Retrieving
-and Displaying Information]
-* link:extending-asadmin.html#gkbdf[4-7 asadmin Subcommand for Updating
-Configuration Data]
-* link:adding-monitoring-capabilities.html#ghprw[5-1 Defining an Event
-Provider by Writing a Java Class]
-* link:adding-monitoring-capabilities.html#gkajj[5-2 Defining an Event
-Provider by Writing an XML Fragment]
-* link:adding-monitoring-capabilities.html#gkaii[5-3 Manifest Entry for
-Event Providers That Are Defined as Java Classes]
-* link:adding-monitoring-capabilities.html#ghpus[5-4 Sending an Event]
-* link:adding-monitoring-capabilities.html#ghpsc[5-5 Representing a
-Component's Statistics in an Event Listener Class]
-* link:adding-monitoring-capabilities.html#ghpwu[5-6 Subscribing to
-Events From Event Provider Classes]
-* link:adding-monitoring-capabilities.html#ghpuu[5-7 Registering an Event
-Listener]
-* link:adding-monitoring-capabilities.html#ghpna[5-8 Event Provider
-Class]
-* link:adding-monitoring-capabilities.html#ghpmu[5-9 Bootstrap Class]
-* link:adding-monitoring-capabilities.html#ghpvw[5-10 Listener Class]
-* link:adding-monitoring-capabilities.html#ghpuc[5-11 MBean Interface]
-* link:adding-monitoring-capabilities.html#ghpwx[5-12 MBean
-Implementation]
-* link:adding-configuration-data.html#gjcne[6-1 Declaration of an
-Interface That Defines an Element]
-* link:adding-configuration-data.html#sthref7[6-2 Defining an Attribute
-of an Element]
-* link:adding-configuration-data.html#gjzjt[6-3 Declaring an Interface to
-Represent a Subelement]
-* link:adding-configuration-data.html#gjzkh[6-4 Identifying a Subelement
-to its Parent Element]
-* link:adding-configuration-data.html#gjrmp[6-5 Specifying a Range of
-Valid Values for an Integer]
-* link:adding-configuration-data.html#gjzkq[6-6 Specifying Regular
-Expression Matching]
-* link:adding-configuration-data.html#gkaba[6-7 XML Data Fragment]
-* link:adding-configuration-data.html#gkabo[6-8 Writing a Component's
-Initial Configuration Data to the domain.xml File]
-* link:adding-configuration-data.html#gjski[6-9 domain.xml File After
-Initialization]
-* link:adding-configuration-data.html#sthref9[6-10 Creating a Transaction
-to Update Configuration Data]
-* link:adding-configuration-data.html#gkamy[6-11 Parent Element
-Definition]
-* link:adding-configuration-data.html#gkamb[6-12 Subelement Definition]
-* link:adding-configuration-data.html#gkamk[6-13 XML Data Fragment for
-Initializing the greeter-container-config Element]
-* link:adding-container-capabilities.html#ghojg[7-1 Example
-Implementation of Container]
-* link:adding-container-capabilities.html#ghoiv[7-2 Example
-Implementation of Deployer]
-* link:adding-container-capabilities.html#gkamr[7-3 Annotation to Denote
-a Container's Component]
-* link:adding-container-capabilities.html#gkand[7-4 Application Container
-Class]
-* link:adding-container-capabilities.html#gkamm[7-5 Container Class]
-* link:adding-container-capabilities.html#gkalo[7-6 Deployer Class]
-* link:adding-container-capabilities.html#gkaks[7-7 Sniffer Class]
-* link:adding-container-capabilities.html#gkaki[7-8 Container Client
-Class]
-* link:adding-container-capabilities.html#gkalf[7-9 Component for
-Container Client]
-* link:adding-container-capabilities.html#gkaly[7-10 Deployment
-Descriptor for Container Client]
-* link:session-persistence-modules.html#sthref10[8-1 Implementing
-PersistenceStrategyBuilder With a Custom Web Session Manager]
-* link:session-persistence-modules.html#sthref11[8-2 Session Manager
-Configuration in the glassfish-web.xml File]
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/lot.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index 81c3255..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,15 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=loe.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:adding-configuration-data.html#gjrlg[6-1 Commonly Used Annotations
-for Validating GlassFish Server Configuration Data]
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/packaging-integrating-delivering.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/packaging-integrating-delivering.adoc
deleted file mode 100644
index 6b0e9eb..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/packaging-integrating-delivering.adoc
+++ /dev/null
@@ -1,77 +0,0 @@
-type=page
-status=published
-title=Packaging, Integrating, and Delivering an Add-On Component
-next=integration-point-reference.html
-prev=session-persistence-modules.html
-~~~~~~
-Packaging, Integrating, and Delivering an Add-On Component
-==========================================================
-
-[[GSACG00009]][[ghmxp]]
-
-
-[[packaging-integrating-and-delivering-an-add-on-component]]
-9 Packaging, Integrating, and Delivering an Add-On Component
-------------------------------------------------------------
-
-Packaging an add-on component enables the component to interact with the
-GlassFish Server kernel in the same way as other components. Integrating
-a component with GlassFish Server enables GlassFish Server to discover
-the component at runtime. If an add-on component is an extension or
-update to existing installations of GlassFish Server, deliver the
-component through Update Tool.
-
-The following topics are addressed here:
-
-* link:#ghpun[Packaging an Add-On Component]
-* link:#ghmne[Integrating an Add-On Component With GlassFish Server]
-* link:#ghpuz[Delivering an Add-On Component Through Update Tool]
-
-[[ghpun]][[GSACG00142]][[packaging-an-add-on-component]]
-
-Packaging an Add-On Component
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To enable an add-on component to plug in to the GlassFish Server kernel
-in the same way as other components, package the component as an OSGi
-bundle.
-
-A bundle is the unit of deployment in the OSGi module management
-subsystem. To package a component as an OSGi bundle, package the
-component's constituent files in a Java archive (JAR) file with
-appropriate manifest entries. The manifest entries provide information
-about the component that is required to enable the component to be
-plugged into the GlassFish Server kernel, such as:
-
-* Name
-* Version
-* Dependencies
-* Capabilities
-
-[[ghmne]][[GSACG00143]][[integrating-an-add-on-component-with-glassfish-server]]
-
-Integrating an Add-On Component With GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Integrating an add-on component with GlassFish Server enables GlassFish
-Server to discover the component at runtime. To integrate an add-on
-component with GlassFish Server, ensure that the JAR file that contains
-the component is copied to or installed in the as-install`/modules/`
-directory.
-
-[[ghpuz]][[GSACG00144]][[delivering-an-add-on-component-through-update-tool]]
-
-Delivering an Add-On Component Through Update Tool
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If an add-on component is an extension or update to existing
-installations of GlassFish Server, deliver the component through Update
-Tool. To deliver an add-on component through Update Tool, create an
-Image Packaging System (IPS) package to contain the component and add
-the package to a suitable IPS package repository.
-
-For information about how to create IPS packages, see the
-http://wikis.oracle.com/display/IpsBestPractices/[IPS best practices
-document] (`http://wikis.oracle.com/display/IpsBestPractices/`).
-
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/preface.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 1d584d6..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,359 +0,0 @@
-type=page
-status=published
-title=Preface
-next=introduction.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[sthref2]][[preface]]
-
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This document explains how to use published interfaces of GlassFish
-Server Open Source Edition to develop add-on components for GlassFish
-Server. This document explains how to perform only those tasks that
-ensure that the add-on component is suitable for GlassFish Server.
-
-This document is for software developers who are developing add-on
-components for GlassFish Server. This document assumes that the
-developers are working with a distribution of GlassFish Server. Access
-to the source code of the GlassFish project is not required to perform
-the tasks in this document. This document also assumes the ability to
-program in the Java language.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 4.0 is developed through the GlassFish project
-open-source community at `http://glassfish.java.net/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-
-[[GSACG00079]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="<30%,<70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility. Instructions
-for performing these tasks from the Administration Console are provided
-in the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-|link:../add-on-component-development-guide/toc.html#GSACG[Add-On Component Development Guide] |Explains how to use
-published interfaces of GlassFish Server to develop add-on components
-for GlassFish Server. This document explains how to perform only those
-tasks that ensure that the add-on component is suitable for GlassFish
-Server.
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSACG00080]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* http://docs.oracle.com/javaee/7/firstcup/doc/home.html[Your First Cup:
-An Introduction to the Java EE Platform]
-(`http://docs.oracle.com/javaee/7/firstcup/doc/home.html`). For beginning
-Java EE programmers, this short tutorial explains the entire process for
-developing a simple enterprise application. The sample application is a
-web application that consists of a component that is based on the
-Enterprise JavaBeans specification, a JAX-RS web service, and a
-JavaServer Faces component for the web front end.
-* http://docs.oracle.com/javaee/7/tutorial/doc/home.html[The Java EE 7
-Tutorial] (`http://docs.oracle.com/javaee/7/tutorial/doc/home.html`).
-This comprehensive tutorial explains how to use Java EE 7 platform
-technologies and APIs to develop Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 7 of Java EE is located at
-`http://docs.oracle.com/javaee/7/api/`.
-* The API specification for GlassFish Server 4.0, including Java EE 7
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`http://glassfish.java.net/nonav/docs/v3/api/`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications]
-(`http://www.oracle.com/technetwork/java/javaee/tech/index.html`) might
-be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Java DB database for use with the GlassFish
-Server, see the
-http://www.oracle.com/technetwork/java/javadb/overview/index.html[Java
-DB product page]
-(`http://www.oracle.com/technetwork/java/javadb/overview/index.html`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the http://glassfish-samples.java.net/[Java EE Samples
-project page] (`http://glassfish-samples.java.net/`).
-
-[[GSACG00081]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="<14%,<37%,<49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSACG00082]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSACG00083]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
-
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/session-persistence-modules.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/session-persistence-modules.adoc
deleted file mode 100644
index 6c018fc..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/session-persistence-modules.adoc
+++ /dev/null
@@ -1,177 +0,0 @@
-type=page
-status=published
-title=Creating a Session Persistence Module
-next=packaging-integrating-delivering.html
-prev=adding-container-capabilities.html
-~~~~~~
-Creating a Session Persistence Module
-=====================================
-
-[[GSACG00008]][[gkmhj]]
-
-
-[[creating-a-session-persistence-module]]
-8 Creating a Session Persistence Module
----------------------------------------
-
-GlassFish Server enables you to create a session persistence module in
-the web container for high availability-related functionality by
-implementing the `PersistenceStrategyBuilder` interface . Using the
-`PersistenceStrategyBuilder` interface in an HK2 service makes the
-session manager extensible because you can implement a new persistence
-type without having to modify the web container code.
-
-For information about other high-availability, session persistence
-solutions, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session
-Persistence and Failover]" in GlassFish Server Open Source Edition High
-Availability Administration Guide.
-
-[[gkmhr]][[GSACG00141]][[implementing-the-persistencestrategybuilder-interface]]
-
-Implementing the `PersistenceStrategyBuilder` Interface
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can implement the `PersistenceStrategyBuilder` interface by creating
-a new web session manager type.
-
-[source,oac_no_warn]
-----
-
-package com.sun.enterprise.web;
-
-import com.sun.enterprise.deployment.runtime.web.SessionManager;
-import org.apache.catalina.Context;
-import org.jvnet.hk2.annotations.Contract;
-
-@Contract
-public interface PersistenceStrategyBuilder {
-
-    public void initializePersistenceStrategy(
-            Context ctx,
-            SessionManager smBean,
-            ServerConfigLookup serverConfigLookup);
-
-    public void setPersistenceFrequency(String persistenceFrequency);
-
-    public void setPersistenceScope(String persistenceScope);
-
-    public void setPassedInPersistenceType(String persistenceType);
-}
-----
-
-Here is an example of how to implement the `PersistenceStrategyBuilder`
-interface by creating a new web session manager and setting a store for
-it:
-
-[source,oac_no_warn]
-----
-
-@Service(name="xyz")
-public class XYZStrategyBuilder implements PersistenceStrategyBuilder {
-
-    private String persistenceFrequency = null;
-    private String persistenceScope = null;
-    private String persistenceType = null;
-
-    public void init(StandardContext ctx, SessionManager sessionManager,
-      ServerConfigLookup serverConfigLookup) {
-        // add listeners, valves, etc. to the ctx
-        // Set the manager and store
-    }
-
-    public void setPersistenceFrequency(String persistenceFrequency) {
-        this.persistenceFrequency = persistenceFrequency;
-    }
-
-    public void setPersistenceScope(String persistenceScope) {
-        this.persistenceScope = persistenceScope;
-    }
-
-    public void setPassedInPersistenceType(String persistenceType) {
-        this.passedInPersistenceType = persistenceType;
-    }
-}
-----
-
-If a `Manager` is provided, then it will be used in GlassFish Server.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If a backing store is required, it is the responsibility of the
-`Manager` to make sure that the `findSession` method correctly uses the
-`Store` that the `Manager` provides.
-
-|=======================================================================
-
-
-[[sthref10]]
-
-Example 8-1 Implementing `PersistenceStrategyBuilder` With a Custom Web
-Session Manager
-
-This example defines a session manager type that is named
-`MyHASolution`.
-
-[source,oac_no_warn]
-----
-
-@Service(name="MyHASolution")
-public class MyHASolutionStrategyBuilder implements PersistenceStrategyBuilder {
-
-    private String persistenceFrequency = null;
-    private String persistenceScope = null;
-    private String persistenceType = null;
-
-    public void init(StandardContext ctx, SessionManager sessionManager,
-      ServerConfigLookup serverConfigLookup) {
-        // add listeners, valves, etc. to the ctx
-        // Set the manager and store
-        MyManager myManager = new MyManager(persistenceType, persistenceFrequency);
-        // (You could also make this a service and look it up in the habitat.
-        // For simplicity we are just doing a new implementation of the class here.)
-        MyStore store = new MyStore();
-        myManager.setStore(store);
-        ctx.setManager(myManager);
-    }
-
-    public void setPersistenceFrequency(String persistenceFrequency) {
-        this.persistenceFrequency = persistenceFrequency;
-    }
-
-    public void setPersistenceScope(String persistenceScope) {
-        this.persistenceScope = persistenceScope;
-    }
-
-    public void setPassedInPersistenceType(String persistenceType) {
-        this.passedInPersistenceType = persistenceType;
-
-    }
-
-}
-----
-
-[[sthref11]]
-
-Example 8-2 Session Manager Configuration in the `glassfish-web.xml`
-File
-
-This example sets the `persistence-type` attribute of the
-`session-manager` element of `glassfish-web.xml` to `myHASolution`
-
-Based on the `domain.xml` and `glassfish-web.xml` settings, the web
-container looks up the appropriate `PersistenceStrategyBuilder`
-interface in the Habitat and uses it.
-
-[source,oac_no_warn]
-----
-
-       <glassfish-web-app>
-         <session-config>
-           <session-manager persistence-type="myHASolution"/>
-         <session-config>
-       <glassfish-web-app>
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/title.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 18c789b..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,57 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Add-On Component Development Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Add-On Component Development Guide, Release 5.1
-========================================================================
-
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Add-On Component Development Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This document explains how to use published interfaces of Eclipse GlassFish
-Server to develop add-on components for GlassFish
-Server. This document explains how to perform only those tasks that
-ensure that the add-on component is suitable for GlassFish Server.
-
-This document is for software developers who are developing add-on
-components for GlassFish Server. This document assumes that the
-developers are working with a distribution of GlassFish Server. Access
-to the source code of the GlassFish project is not required to perform
-the tasks in this document. This document also assumes the ability to
-program in the Java language.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Add-On Component Development Guide,
-Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
-
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/writing-hk2-components.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/writing-hk2-components.adoc
deleted file mode 100644
index 8820852..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/content/writing-hk2-components.adoc
+++ /dev/null
@@ -1,434 +0,0 @@
-type=page
-status=published
-title=Writing HK2 Components
-next=extending-the-admin-console.html
-prev=introduction.html
-~~~~~~
-Writing HK2 Components
-======================
-
-[[GSACG00002]][[ghmna]]
-
-
-[[writing-hk2-components]]
-2 Writing HK2 Components
-------------------------
-
-The Hundred-Kilobyte Kernel (HK2) is the lightweight and extensible
-kernel of GlassFish Server. To interact with GlassFish Server, add-on
-components plug in to this kernel. In the HK2 component model, the
-functions of an add-on component are declared through a contract-service
-implementation paradigm. An HK2 contract identifies and describes the
-building blocks or the extension points of an application. An HK2
-service implements an HK2 contract.
-
-The following topics are addressed here:
-
-* link:#ghokq[HK2 Component Model]
-* link:#ghojt[Services in the HK2 Component Model]
-* link:#ghokt[HK2 Runtime]
-* link:#ghojb[Inversion of Control]
-* link:#ghmoe[Identifying a Class as an Add-On Component]
-* link:#ghpvp[Using the Apache Maven Build System to Develop HK2
-Components]
-
-[[ghokq]][[GSACG00091]][[hk2-component-model]]
-
-HK2 Component Model
-~~~~~~~~~~~~~~~~~~~
-
-The Hundred-Kilobyte Kernel (HK2) provides a module system and component
-model for building complex software systems. HK2 forms the core of
-GlassFish Server's architecture.
-
-The module system is responsible for instantiating classes that
-constitute the application functionality. The HK2 runtime complements
-the module system by creating objects. It configures such objects by:
-
-* Injecting other objects that are needed by a newly instantiated object
-* Injecting configuration information needed for that object
-* Making newly created objects available, so that they can then be
-injected to other objects that need it
-
-[[ghojt]][[GSACG00092]][[services-in-the-hk2-component-model]]
-
-Services in the HK2 Component Model
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-An HK2 service identifies the building blocks or the extension points of
-an application. A service is a plain-old Java object (POJO) with the
-following characteristics:
-
-* The object implements an interface.
-* The object is declared in a JAR file with the `META-INF/services`
-file.
-
-To clearly separate the contract interface and its implementation, the
-HK2 runtime requires the following information:
-
-* Which interfaces are contracts
-* Which implementations of such interfaces are services
-
-Interfaces that define a contract are identified by the
-`org.jvnet.hk2.annotations.Contract` annotation.
-
-[source,oac_no_warn]
-----
-@Retention(RUNTIME)
-@Target(TYPE)
-public @interface Contract {
-}
-----
-
-Implementations of such contracts should be identified with an
-`org.jvnet.hk2.annotations.Service` annotation so that the HK2 runtime
-can recognize them as `@Contract` implementations.
-
-[source,oac_no_warn]
-----
-@Retention(RUNTIME)
-@Target(TYPE)
-public @interface Service {
-    ...
-}
-----
-
-For more information, see
-http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html[`Service`]
-(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html`).
-
-[[ghokt]][[GSACG00093]][[hk2-runtime]]
-
-HK2 Runtime
-~~~~~~~~~~~
-
-Once Services are defined, the HK2 runtime can be used to instantiate or
-retrieve instances of services. Each service instance has a scope,
-specified as singleton, per thread, per application, or a custom scope.
-
-[[ghoib]][[GSACG00181]][[scopes-of-services]]
-
-Scopes of Services
-^^^^^^^^^^^^^^^^^^
-
-You can specify the scope of a service by adding an
-`org.jvnet.hk2.annotations.Scoped` annotation to the class-level of your
-`@Service` implementation class. Scopes are also services, so they can
-be custom defined and added to the HK2 runtime before being used by
-other services. Each scope is responsible for storing the service
-instances to which it is tied; therefore, the HK2 runtime does not rely
-on predefined scopes (although it comes with a few predefined ones).
-
-[source,oac_no_warn]
-----
-@Contract
-public abstract class Scope {
-    public abstract ScopeInstance current();
-}
-----
-
-The following code fragment shows how to set the scope for a service to
-the predefined `Singleton` scope:
-
-[source,oac_no_warn]
-----
-@Service
-public Singleton implements Scope {
-    ...
-}
-
-@Scope(Singleton.class)
-@Service
-public class SingletonService implements RandomContract {
-    ...
-}
-----
-
-You can define a new `Scope` implementation and use that scope on your
-`@Service` implementations. You will see that the HK2 runtime uses the
-`Scope` instance to store and retrieve service instances tied to that
-scope.
-
-[[ghoky]][[GSACG00182]][[instantiation-of-components-in-hk2]]
-
-Instantiation of Components in HK2
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Do not call the `new` method to instantiate components. Instead,
-retrieve components by using the `Habitat` instance. The simplest way to
-use the `Habitat` instance is through a `getComponent(Class`T
-`contract)` call:
-
-[source,oac_no_warn]
-----
-public <T> T getComponent(Class<T> clazz) throws ComponentException;
-----
-
-More APIs are available at
-http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/Habitat.html[`Habitat`]
-(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/Habitat.html`).
-
-[[ghois]][[GSACG00183]][[hk2-lifecycle-interfaces]]
-
-HK2 Lifecycle Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Components can attach behaviors to their construction and destruction
-events by implementing the
-http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PostConstruct.html[`org.jvnet.hk2.component.PostConstruct`]
-(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PostConstruct.html`)
-interface, the
-http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PreDestroy.html[`org.jvnet.hk2.component.PreDestroy`]
-(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/component/PreDestroy.html`)
-interface, or both. These are interfaces rather than annotations for
-performance reasons.
-
-The `PostConstruct` interface defines a single method, `postConstruct`,
-which is called after a component has been initialized and all its
-dependencies have been injected.
-
-The `PreDestroy` interface defines a single method, `preDestroy`, which
-is called just before a component is removed from the system.
-
-[[GSACG00014]][[ghoqv]]
-
-
-Example 2-1 Example Implementation of `PostContruct` and `PreDestroy`
-
-[source,oac_no_warn]
-----
-@Service(name="com.example.container.MyContainer")
-public class MyContainer implements Container, PostConstruct, PreDestroy {
-    @Inject
-    Logger logger;
-    ...
-    public void postConstruct() {
-        logger.info("Starting up.");
-    }
-
-    public void preDestroy() {
-        logger.info("Shutting down.");
-    }
-}
-
-----
-
-[[ghojb]][[GSACG00094]][[inversion-of-control]]
-
-Inversion of Control
-~~~~~~~~~~~~~~~~~~~~
-
-Inversion of control (IoC) refers to a style of software architecture
-where the behavior of a system is determined by the runtime capabilities
-of the individual, discrete components that make up the system. This
-architecture is different from traditional styles of software
-architecture, where all the components of a system are specified at
-design-time. With IoC, discrete components respond to high-level events
-to perform actions. While performing these actions, the components
-typically rely on other components to provide other actions. In an IoC
-system, components use injection to gain access to other components.
-
-[[ghoiz]][[GSACG00184]][[injecting-hk2-components]]
-
-Injecting HK2 Components
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Services usually rely on other services to perform their tasks. The HK2
-runtime identifies the `@Contract` implementations required by a service
-by using the
-http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Inject.html[`org.jvnet.hk2.annotations.Inject`]
-(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Inject.html`)
-annotation. `Inject` can be placed on fields or setter methods of any
-service instantiated by the HK2 runtime. The target service is retrieved
-and injected during the calling service's instantiation by the component
-manager.
-
-The following example shows how to use `@Inject` at the field level:
-
-[source,oac_no_warn]
-----
-@Inject
-ConfigService config;
-----
-
-The following example shows how to use `@Inject` at the setter level:
-
-[source,oac_no_warn]
-----
-@Inject
-public void set(ConfigService svc) {...}
-----
-
-Injection can further qualify the intended injected service
-implementation by using a name and scope from which the service should
-be available:
-
-[source,oac_no_warn]
-----
-@Inject(Scope=Singleton.class, name="deploy")
-AdminCommand deployCommand;
-----
-
-[[ghoic]][[GSACG00186]][[instantiation-cascading-in-hk2]]
-
-Instantiation Cascading in HK2
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Injection of instances that have not been already instantiated triggers
-more instantiation. You can see this as a component instantiation
-cascade where some code requests for a high-level service will, by using
-the `@Inject` annotation, require more injection and instantiation of
-lower level services. This cascading feature keeps the implementation as
-private as possible while relying on interfaces and the separation of
-contracts and providers.
-
-[[GSACG00015]][[ghquz]]
-
-
-Example 2-2 Example of Instantiation Cascading
-
-The following example shows how the instantiation of `DeploymentService`
-as a `Startup` contract implementation will trigger the instantiation of
-the `ConfigService`.
-
-[source,oac_no_warn]
-----
-@Contract
-public interface Startup {...}
-
-Iterable<Startup> startups;
-startups = habitat.getComponents(Startup.class);
-
-@Service
-public class DeploymentService implements Startup {
-    @Inject
-    ConfigService config;
-}
-
-@Service
-public Class ConfigService implements ... {...}
-----
-
-[[ghmoe]][[GSACG00095]][[identifying-a-class-as-an-add-on-component]]
-
-Identifying a Class as an Add-On Component
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server discovers add-on components by identifying Java
-programming language classes that are annotated with the
-`org.jvnet.hk2.annotation.Service` annotation.
-
-To identify a class as an implementation of an GlassFish Server service,
-add the `org.jvnet.hk2.annotations.Service` annotation at the
-class-definition level of your Java programming language class.
-
-[source,oac_no_warn]
-----
-@Service
-public class SamplePlugin implements ConsoleProvider {
-...
-}
-----
-
-The `@Service` annotation has the following elements. All elements are
-optional.
-
-`name`::
-  The name of the service. The default value is an empty string.
-`scope`::
-  The scope to which this service implementation is tied. The default
-  value is `org.glassfish.hk2.scopes.PerLookup.class`.
-`factory`::
-  The factory class for the service implementation, if the service is
-  created by a factory class rather than by calling the default
-  constructor. If this element is specified, the factory component is
-  activated, and `Factory.getObject` is used instead of the default
-  constructor. The default value of the `factory` element is
-  `org.jvnet.hk2.component.Factory.class`.
-
-[[GSACG00016]][[ghoip]]
-
-
-Example 2-3 Example of the Optional Elements of the `@Service`
-Annotation
-
-The following example shows how to use the optional elements of the
-`@Service` annotation:
-
-[source,oac_no_warn]
-----
-@Service (name="MyService",
-    scope=com.example.PerRequest.class,
-    factory=com.example.MyCustomFactory)
-public class SamplePlugin implements ConsoleProvider {
-...
-}
-----
-
-[[ghpvp]][[GSACG00096]][[using-the-apache-maven-build-system-to-develop-hk2-components]]
-
-Using the Apache Maven Build System to Develop HK2 Components
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you are using Maven 2 to build HK2 components, invoke the
-`auto-depends` plug-in for Maven so that the `META-INF/services` files
-are generated automatically during build time.
-
-[[GSACG00017]][[ghqsa]]
-
-
-Example 2-4 Example of the Maven Plug-In Configuration
-
-[source,oac_no_warn]
-----
-<plugin>
-    <groupId>org.glassfish.hk2</groupId>
-    <artifactId>hk2-maven-plugin</artifactId>
-    <configuration>
-        <includes>
-            <include>com/example/**</include>
-        </includes>
-    </configuration>
-</plugin>
-----
-
-[[GSACG00018]][[ghoik]]
-
-
-Example 2-5 Example of `META-INF/services` File Generation
-
-This example shows how to use
-http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Contract.html[`@Contract`]
-(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Contract.html`)
-and
-http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html[`@Service`]
-(`http://hk2.java.net/auto-depends/apidocs/org/jvnet/hk2/annotations/Service.html`)
-and the resulting `META-INF/services` files.
-
-The interfaces and classes in this example are as follows:
-
-[source,oac_no_warn]
-----
-package com.example.wallaby.annotations;
-@Contract
-public interface Startup {...}
-
-package com.example.wombat;
-@Contract
-public interface RandomContract {...}
-
-package com.example.wallaby;
-@Service
-public class MyService implements Startup, RandomContract, PropertyChangeListener {
-    ...
-}
-----
-
-These interfaces and classes generate this `META-INF/services` file with
-the `MyService` content:
-
-[source,oac_no_warn]
-----
-com.example.wallaby.annotations.Startup
-com.example.wombat.RandomContract
-----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/jbake.properties b/docs/add-on-component-development-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/add-on-component-development-guide/src/main/jbake/templates/footer.ftl b/docs/add-on-component-development-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 697f005..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2020,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/add-on-component-development-guide/src/main/jbake/templates/header.ftl b/docs/add-on-component-development-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/add-on-component-development-guide/src/main/jbake/templates/menu.ftl b/docs/add-on-component-development-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/add-on-component-development-guide/src/main/jbake/templates/page.ftl b/docs/add-on-component-development-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/add-on-component-development-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/administration-guide/README.md b/docs/administration-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/administration-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/administration-guide/pom.xml b/docs/administration-guide/pom.xml
index 2e74099..c4a2f34 100644
--- a/docs/administration-guide/pom.xml
+++ b/docs/administration-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>administration-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Administration Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Administration Guide, Release 7</name>
 </project>
diff --git a/docs/administration-guide/src/main/asciidoc/asadmin-subcommands.adoc b/docs/administration-guide/src/main/asciidoc/asadmin-subcommands.adoc
new file mode 100644
index 0000000..67a3d5e
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/asadmin-subcommands.adoc
@@ -0,0 +1,771 @@
+type=page
+status=published
+title=Subcommands for the asadmin Utility
+prev=part-appendixes.html
+~~~~~~
+
+= Subcommands for the asadmin Utility
+
+[[GSADG00023]][[gcode]]
+
+
+[[a-subcommands-for-the-asadmin-utility]]
+== A Subcommands for the `asadmin` Utility
+
+This appendix lists the `asadmin` subcommands that are included with
+this release of the {productName} 7 software.
+
+* link:#ggltk[General Administration Subcommands]
+* link:#CHDJGEEG[Batch Jobs Subcommands]
+* link:#CHDECJFC[Concurrent Resources Subcommands]
+* link:#giowb[Connectivity Subcommands]
+* link:#gitwu[Domain Subcommands]
+* link:#ggltm[Internet Connectivity Subcommands]
+* link:#ggltf[JavaMail Subcommands]
+* link:#gipen[JMS Subcommands]
+* link:#gitws[JNDI Subcommands]
+* link:#gglsk[JVM Subcommands]
+* link:#giuzl[Life Cycle Module Subcommands]
+* link:#gitxd[Logging and Monitoring Subcommands]
+* link:#giusq[ORB Subcommands]
+* link:#giuqr[Thread Pool Subcommands]
+* link:#gitxi[Transaction Service Subcommands]
+
+For information and instructions on using the `asadmin` application
+deployment subcommands, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+Online help for the `asadmin` subcommands can be invoked on the command
+line, for example, `asadmin create-domain` `help`. The
+link:reference-manual.html#GSRFM[{productName} Reference Manual] also
+provides a collection of these help pages.
+
+
+[NOTE]
+====
+The common options used with remote subcommands are described in the
+olink:GSRFM00263[`asadmin`(1M)] help page.
+====
+
+
+[[ggltk]][[GSADG00610]][[general-administration-subcommands]]
+
+=== General Administration Subcommands
+
+link:reference-manual/add-resources.html#GSRFM00001[`add-resources`]::
+  Creates the resources named in the specified XML file. Supported in
+  remote mode only. For procedural information in this guide, see
+  link:general-administration.html#ggoeh[To Add Resources From an XML
+  File].
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`]::
+  Describes how the `asadmin` utility works.
+link:reference-manual/attach.html#GSRFM825[`attach`]::
+  Attaches to subcommands that were started using the `asadmin --detach`
+  option or that contain progress information. For procedural
+  information in this guide, see
+  link:general-administration.html#CACDDHBA[To Run `asadmin` Subcommands
+  in `--detach` Mode].
+link:reference-manual/configure-managed-jobs.html#GSRFM836[`configure-managed-jobs`]::
+  Configures how long information about subcommands (jobs) that were
+  started using the `asadmin --detach` option or that contain progress
+  information is kept. For procedural information in this guide, see
+  link:general-administration.html#CACDDHBA[To Run `asadmin` Subcommands
+  in `--detach` Mode].
+link:reference-manual/create-module-config.html#GSRFM844[`create-module-config`]::
+  Adds the default configuration of a module to `domain.xml`.
+link:reference-manual/create-service.html#GSRFM00057[`create-service`]::
+  Configures the starting of a domain administration server (DAS) on an
+  unattended boot. On Oracle Solaris 10, this subcommand uses the
+  Service Management Facility (SMF). For procedural information in this
+  guide, see link:domains.html#giusi[To Configure a DAS or an Instance
+  for Automatic Restart on Oracle Solaris].
+link:reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`]::
+  Creates or updates system properties. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:general-administration.html#ggonc[To Create System Properties].
+link:reference-manual/delete-module-config.html#GSRFM854[`delete-module-config`]::
+  Removes the configuration of a module from `domain.xml`.
+link:reference-manual/delete-system-property.html#GSRFM00110[`delete-system-property`]::
+  Deletes system properties of a domain or configuration, or server
+  instance. Supported in remote mode only. For procedural information in
+  this guide, see link:general-administration.html#ggomm[To Delete a
+  System Property].
+link:reference-manual/get.html#GSRFM00139[`get`]::
+  Gets an attribute of an element in the `domain.xml` file. With the
+  `-m` option, gets the names and values of the monitorable or
+  configurable attributes. For procedural information in this guide, see
+  link:monitoring.html#ablwh[Guidelines for Using the `list` and `get`
+  Subcommands for Monitoring].
+link:reference-manual/get-active-module-config.html#GSRFM859[`get-active-module-config`]::
+  Displays the current active configuration of a module.
+link:reference-manual/list.html#GSRFM00145[`list`]::
+  Lists the configurable element. On Oracle Solaris, quotes are needed
+  when running subcommands with `*` as the option value or operand. For
+  procedural information in this guide, see
+  link:monitoring.html#ablwh[Guidelines for Using the `list` and `get`
+  Subcommands for Monitoring].
+link:reference-manual/list-commands.html#GSRFM00154[`list-commands`]::
+  Lists all the `asadmin` subcommands, local subcommands first, then
+  remote subcommands. You can specify that only remote subcommands or
+  only local subcommands be displayed. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:general-administration.html#ggoeg[To List Subcommands].
+link:reference-manual/list-containers.html#GSRFM00161[`list-containers`]::
+  Lists application containers and the status of each container.
+  Supported in remote mode only. For procedural information in this
+  guide, see link:general-administration.html#ggocv[To List Containers].
+link:reference-manual/list-jobs.html#GSRFM867[`list-jobs`]::
+  Lists information about subcommands that were started using the
+  `asadmin --detach` option or that contain progress information. For
+  procedural information in this guide, see
+  link:general-administration.html#CACDDHBA[To Run `asadmin` Subcommands
+  in `--detach` Mode].
+link:reference-manual/list-modules.html#GSRFM00185[`list-modules`]::
+  Lists modules that are accessible to the {productName} subsystem.
+  The status of each module is included. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:general-administration.html#ghlgf[To List Modules].
+link:reference-manual/list-system-properties.html#GSRFM00203[`list-system-properties`]::
+  Lists the system properties of a domain or configuration. Supported in
+  remote mode only. For procedural information in this guide, see
+  link:general-administration.html#ggodt[To List System Properties].
+link:reference-manual/list-timers.html#GSRFM00205[`list-timers`]::
+  List the timers owned by a specific server instance. Supported in
+  remote mode only. For procedural information in this guide, see
+  link:general-administration.html#giojd[To List Timers].
+link:reference-manual/multimode.html#GSRFM00213[`multimode`]::
+  Provides an `asadmin>` prompt for running multiple subcommands while
+  preserving options and environment settings. Supported in local mode
+  only. For procedural information, see
+  link:general-administration.html#giobi[Using the `asadmin` Utility].
+link:reference-manual/osgi.html#GSRFM877[`osgi`]::
+  Delegates the command line to the Apache Felix Gogo remote shell for
+  the execution of OSGi shell commands. For procedural information in
+  this guide, see link:overview.html#CJAGIGII[To Run Apache Felix Gogo
+  Remote Shell Commands].
+link:reference-manual/osgi-shell.html#GSRFM890[`osgi-shell`]::
+  Provides interactive access to the Apache Felix Gogo remote shell for
+  the execution of OSGi shell commands. For procedural information in
+  this guide, see link:overview.html#CJAGIGII[To Run Apache Felix Gogo
+  Remote Shell Commands].
+link:reference-manual/set.html#GSRFM00226[`set`]::
+  Sets the values of one or more configurable attributes. For procedural
+  information in this guide, see link:monitoring.html#ablvp[Configuring
+  Monitoring].
+link:reference-manual/setup-local-dcom.html#GSRFM893[`setup-local-dcom`]::
+  Sets up the Distributed Component Object Model (DCOM) remote protocol
+  on the host where the subcommand is run. The DCOM remote protocol is
+  available only on Windows systems.
+link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`]::
+  Lists the status of existing components. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:general-administration.html#giyjd[To Show Component Status].
+link:reference-manual/start-database.html#GSRFM00234[`start-database`]::
+  Starts the Apache Derby database server. Use this subcommand only for
+  working with applications deployed to the {productName}. For
+  procedural information in this guide, see link:jdbc.html#ggndz[To Start
+  the Database].
+link:reference-manual/stop-database.html#GSRFM00239[`stop-database`]::
+  Stops a process of the Apache Derby DB database server. For procedural
+  information in this guide, see link:jdbc.html#ggnbw[To Stop the
+  Database].
+link:reference-manual/version.html#GSRFM00261[`version`]::
+  Displays the version information for the option specified in archive
+  or folder format. Supported in remote mode only. For procedural
+  information in this guide, see
+  link:general-administration.html#ghhox[To Display the {productName}
+  Version].
+
+[[CHDJGEEG]][[GSADG1155]][[batch-jobs-subcommands]]
+
+=== Batch Jobs Subcommands
+
+link:reference-manual/list-batch-jobs.html#GSRFM861[`list-batch-jobs`]::
+  Lists batch jobs and job details. For procedural information in this
+  guide, see link:batch.html#BABIBFDJ[To List Batch Jobs].
+link:reference-manual/list-batch-job-executions.html#GSRFM884[`list-batch-job-executions`]::
+  Lists batch job executions and execution details. For procedural
+  information in this guide, see link:batch.html#BABFBGJB[To List Batch
+  Job Executions].
+link:reference-manual/list-batch-job-steps.html#GSRFM895[`list-batch-job-steps`]::
+  Lists steps for a specific batch job execution. For procedural
+  information in this guide, see link:batch.html#BABGJIDD[To List Batch
+  Job Steps].
+link:reference-manual/list-batch-runtime-configuration.html#GSRFM863[`list-batch-runtime-configuration`]::
+  Displays the configuration of the batch runtime. For procedural
+  information in this guide, see link:batch.html#BABBGHCJ[To List the
+  Batch Runtime Configuration].
+link:reference-manual/set-batch-runtime-configuration.html#GSRFM897[`set-batch-runtime-configuration`]::
+  Configures the batch runtime. For procedural information in this
+  guide, see link:batch.html#BABFEJAD[To Configure the Batch Runtime].
+
+[[CHDECJFC]][[GSADG1156]][[concurrent-resources-subcommands]]
+
+=== Concurrent Resources Subcommands
+
+link:reference-manual/create-context-service.html#GSRFM838[`create-context-service`]::
+  Creates a context service resource. For procedural information in this
+  guide, see link:concurrent.html#DAFJACDI[To Create a Context Service].
+link:reference-manual/create-managed-executor-service.html#GSRFM840[`create-managed-executor-service`]::
+  Creates a managed executor service resource. For procedural
+  information in this guide, see link:concurrent.html#DAFJIEGA[To Create
+  a Managed Executor Service].
+link:reference-manual/create-managed-scheduled-executo.html#GSRFM680[`create-managed-scheduled-executor-service`]::
+  Creates a managed scheduled executor service resource. For procedural
+  information in this guide, see link:concurrent.html#DAFFGDGG[To Create
+  a Managed Scheduled Executor Service].
+link:reference-manual/create-managed-thread-factory.html#GSRFM842[`create-managed-thread-factory`]::
+  Creates a managed thread factory resource. For procedural information
+  in this guide, see link:concurrent.html#DAFGFAEI[To Create a Managed
+  Thread Factory].
+link:reference-manual/create-context-service.html#GSRFM838[`list-context-services`]::
+  Lists context service resources. For procedural information in this
+  guide, see link:concurrent.html#DAFDCFCB[To List Context Services].
+link:reference-manual/create-managed-executor-service.html#GSRFM840[`list-managed-executor-services`]::
+  Lists managed executor service resources. For procedural information
+  in this guide, see link:concurrent.html#DAFIJDAE[To List Managed
+  Executor Services].
+link:reference-manual/create-managed-scheduled-executo.html#GSRFM680[`list-managed-scheduled-executor-services`]::
+  Lists managed scheduled executor service resources. For procedural
+  information in this guide, see link:concurrent.html#DAFJBADD[To List
+  Managed Scheduled Executor Services].
+link:reference-manual/create-managed-thread-factory.html#GSRFM842[`list-managed-thread-factories`]::
+  Lists managed thread factory resources. For procedural information in
+  this guide, see link:concurrent.html#DAFDGEGE[To List Managed Thread
+  Factories].
+link:reference-manual/delete-context-service.html#GSRFM846[`delete-context-service`]::
+  Removes a context service resource. For procedural information in this
+  guide, see link:concurrent.html#DAFGGGEC[To Delete a Context Service].
+link:reference-manual/delete-managed-executor-service.html#GSRFM848[`delete-managed-executor-service`]::
+  Removes a managed executor service resource. For procedural
+  information in this guide, see link:concurrent.html#DAFDAGAD[To Delete
+  a Managed Executor Service].
+link:reference-manual/delete-managed-scheduled-executo.html#GSRFM850[`delete-managed-scheduled-executor-service`]::
+  Removes a managed scheduled executor service resource. For procedural
+  information in this guide, see link:concurrent.html#DAFEBEGC[To Delete
+  a Managed Scheduled Executor Service].
+link:reference-manual/delete-managed-thread-factory.html#GSRFM852[`delete-managed-thread-factory`]::
+  Removes a managed thread factory resource. For procedural information
+  in this guide, see link:concurrent.html#DAFCEDEI[To Delete a Managed
+  Thread Factory].
+
+[[giowb]][[GSADG00611]][[connectivity-subcommands]]
+
+=== Connectivity Subcommands
+
+link:reference-manual/create-admin-object.html#GSRFM00012[`create-admin-object`]::
+  Creates an administered object. For procedural information in this
+  guide, see link:connectors.html#giolr[To Create an Administered
+  Object].
+link:reference-manual/create-connector-connection-pool.html#GSRFM00018[`create-connector-connection-pool`]::
+  Adds a new connector connection pool with the specified connection
+  pool name. For procedural information in this guide, see
+  link:connectors.html#gioce[To Create a Connector Connection Pool].
+link:reference-manual/create-connector-resource.html#GSRFM00019[`create-connector-resource`]::
+  Creates a connector resource. For procedural information in this
+  guide, see link:connectors.html#giogt[To Create a Connector Resource].
+link:reference-manual/create-connector-security-map.html#GSRFM00020[`create-connector-security-map`]::
+  Creates a connector security map for the specified connector
+  connection pool. For procedural information, see
+  link:connectors.html#gitzz[To Create a Connector Security Map].
+link:reference-manual/create-connector-work-security-m.html#GSRFM00021[`create-connector-work-security-map`]::
+  Creates a connector work security map for the specified resource
+  adapter. Supported in remote mode only. For procedural information in
+  this guide, see link:connectors.html#giofz[To Create a Connector Work
+  Security Map].
+link:reference-manual/create-jdbc-resource.html#GSRFM00037[`create-jdbc-resource`]::
+  Creates a new JDBC resource. Supported in remote mode only. For
+  procedural information in this guide, see link:jdbc.html#ggnda[To
+  Create a JDBC Resource].
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`]::
+  Registers a new JDBC connection pool with the specified JDBC
+  connection pool name. Supported in remote mode only. For procedural
+  information in this guide, see link:jdbc.html#ggnfv[To Create a JDBC
+  Connection Pool].
+link:reference-manual/create-resource-adapter-config.html#GSRFM00054[`create-resource-adapter-config`]::
+  Creates configuration information for the connector module. Supported
+  in remote mode only. For procedural information in this guide, see
+  link:connectors.html#gioqx[To Create Configuration Information for a
+  Resource Adapter].
+link:reference-manual/delete-admin-object.html#GSRFM00063[`delete-admin-object`]::
+  Deletes an administered object. For procedural information in this
+  guide, see link:connectors.html#gioma[To Delete an Administered
+  Object].
+link:reference-manual/delete-connector-connection-pool.html#GSRFM00070[`delete-connector-connection-pool`]::
+  Removes the connector connection pool specified using the
+  `connector_connection_pool_name` operand. For procedural information
+  in this guide, see link:connectors.html#giocp[To Delete a Connector
+  Connection Pool].
+link:reference-manual/delete-connector-resource.html#GSRFM00071[`delete-connector-resource`]::
+  Deletes connector resource. For procedural information in this guide,
+  see link:connectors.html#giofs[To Delete a Connector Resource].
+link:reference-manual/delete-connector-security-map.html#GSRFM00072[`delete-connector-security-map`]::
+  Deletes a specified connector security map. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:connectors.html#gitvf[To Delete a Connector Security Map].
+link:reference-manual/delete-connector-work-security-m.html#GSRFM00073[`delete-connector-work-security-map`]::
+  Deletes a specified connector work security map. Supported in remote
+  mode only. For procedural information in this guide, see
+  link:connectors.html#gioin[To Delete a Connector Work Security Map].
+link:reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-jdbc-connection-pool`]::
+  Deletes the specified JDBC connection pool. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jdbc.html#ggngb[To Delete a JDBC Connection Pool].
+link:reference-manual/delete-jdbc-resource.html#GSRFM00089[`delete-jdbc-resource`]::
+  Deletes a JDBC resource. The specified JNDI name identifies the
+  resource to be deleted. Supported in remote mode only. For procedural
+  information in this guide, see link:jdbc.html#ggnhz[To Delete a JDBC
+  Resource].
+link:reference-manual/delete-resource-adapter-config.html#GSRFM00106[`delete-resource-adapter-config`]::
+  Deletes configuration information for the connector module. Supported
+  in remote mode only. For procedural information in this guide, see
+  link:connectors.html#gionv[To Delete a Resource Adapter Configuration].
+link:reference-manual/flush-connection-pool.html#GSRFM00135[`flush-connection-pool`]::
+  Reintializes all connections established in the specified connection.
+  For procedural information in this guide, see link:jdbc.html#gjiqp[To
+  Reset (Flush) a Connection Pool].
+link:reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`]::
+  Lists administered objects. For procedural information in this guide,
+  see link:connectors.html#giokm[To List Administered Objects].
+link:reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`]::
+  Lists the connector connection pools that have been created. For
+  procedural information in this guide, see link:connectors.html#giocg[To
+  List Connector Connection Pools].
+link:reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`]::
+  Creates connector resources. For procedural information in this guide,
+  see link:connectors.html#giohs[To List Connector Resources].
+link:reference-manual/list-connector-security-maps.html#GSRFM00159[`list-connector-security-maps`]::
+  Lists the connector security maps belonging to a specified connector
+  connection pool. For procedural information in this guide, see
+  link:connectors.html#gitwx[To List Connector Security Maps].
+link:reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`]::
+  Lists the existing connector work security maps for a resource
+  adapter. Supported in remote mode only. For procedural information in
+  this guide, see link:connectors.html#gioir[To List Connector Work
+  Security Maps].
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`]::
+  Lists the existing JDBC connection pools. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jdbc.html#ggnby[To List JDBC Connection Pools].
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`]::
+  Lists the existing JDBC resources. Supported in remote mode only. For
+  procedural information in this guide, see link:jdbc.html#ggnhl[To List
+  JDBC Resources].
+link:reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`]::
+  Lists configuration information for the connector modules. Supported
+  in remote mode only. For procedural information in this guide, see
+  link:connectors.html#giorn[To List Resource Adapter Configurations].
+link:reference-manual/ping-connection-pool.html#GSRFM00214[`ping-connection-pool`]::
+  Tests if a JDBC connection pool is usable. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jdbc.html#ggnwn[To Contact (Ping) a Connection Pool].
+link:reference-manual/update-connector-security-map.html#GSRFM00252[`update-connector-security-map`]::
+  Modifies a security map for the specified connector connection pool.
+  For procedural information in this guide, see
+  link:connectors.html#gityj[To Update a Connector Security Map].
+link:reference-manual/update-connector-work-security-m.html#GSRFM00253[`update-connector-work-security-map`]::
+  Modifies a work security map that belongs to a specific resource
+  adapter (connector module). For procedure information in this guide,
+  see link:connectors.html#giogm[To Update a Connector Work Security
+  Map].
+
+[[gitwu]][[GSADG00612]][[domain-subcommands]]
+
+=== Domain Subcommands
+
+link:reference-manual/backup-domain.html#GSRFM00003[`backup-domain`]::
+  Describes how to back up a domain. Supported in local mode only. For
+  procedural information in this guide, see link:domains.html#ggocq[To
+  Back Up a Domain].
+link:reference-manual/create-domain.html#GSRFM00023[`create-domain`]::
+  Creates the configuration of a domain. A domain can exist independent
+  of other domains. Any user who has access to the `asadmin` utility on
+  a given host can create a domain and store its configuration in a
+  location of choice. For procedural information in this guide, see
+  link:domains.html#ggoei[To Create a Domain].
+link:reference-manual/delete-domain.html#GSRFM00075[`delete-domain`]::
+  Deletes the specified domain. The domain must be stopped before it can
+  be deleted. For procedural information in this guide, see
+  link:domains.html#ggofa[To Delete a Domain].
+link:reference-manual/list-backups.html#GSRFM00152[`list-backups`]::
+  Lists the existing domain backups. Supported in local mode only. For
+  procedural information in this guide, see link:domains.html#ghgod[To
+  List Domain Backups].
+link:reference-manual/list-domains.html#GSRFM00163[`list-domains`]::
+  Lists the existing domains and their statuses. If the domain directory
+  is not specified, the domains in the domain-root-dir, the default for
+  which is as-install``/domains``, are displayed. For procedural
+  information in this guide, see link:domains.html#ggoco[To List
+  Domains].
+link:reference-manual/login.html#GSRFM00210[`login`]::
+  Allows you to log in to a domain. For procedural information in this
+  guide, see link:domains.html#ghhjz[To Log In to a Domain].
+link:reference-manual/restart-domain.html#GSRFM00218[`restart-domain`]::
+  Restarts the Domain Administration Server (DAS) of the specified
+  domain. Supported in remote mode only. For procedural information in
+  this guide, see link:domains.html#ginqj[To Restart a Domain].
+link:reference-manual/restore-domain.html#GSRFM00221[`restore-domain`]::
+  Recovers and domain from a backup file. Supported in local mode only.
+  For procedural information in this guide, see
+  link:domains.html#ggody[To Restore a Domain].
+link:reference-manual/start-domain.html#GSRFM00235[`start-domain`]::
+  Starts a domain. If the domain directory is not specified, the default
+  `domain1` in the default domain-root-dir directory is started. If
+  there are two or more domains, the domain_name operand must be
+  specified. For procedural information in this guide, see
+  link:domains.html#ggoda[To Start a Domain].
+link:reference-manual/stop-domain.html#GSRFM00240[`stop-domain`]::
+  Stops the domain administration server (DAS) of the specified domain.
+  Supported in remote mode only. For procedural information in this
+  guide, see link:domains.html#ggoch[To Stop a Domain].
+link:reference-manual/uptime.html#GSRFM00258[`uptime`]::
+  Displays the length of time that the domain administration server
+  (DAS) has been running since the last restart. Supported in remote
+  mode only. For procedural information in this guide, see
+  link:domains.html#ghhnt[To Display Domain Uptime].
+
+[[ggltm]][[GSADG00613]][[internet-connectivity-subcommands]]
+
+=== Internet Connectivity Subcommands
+
+link:reference-manual/create-http.html#GSRFM00025[`create-http`]::
+  Creates a set of HTTP parameters for a protocol, which in turn
+  configures one or more network listeners. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:http_https.html#gjhqc[To Create an HTTP Configuration].
+link:reference-manual/create-http-listener.html#GSRFM00030[`create-http-listener`]::
+  Creates a new HTTP listener socket. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#ggnfh[To
+  Create an Internet Connection].
+link:reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`]::
+  Creates a new HTTP listener socket. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#ggnfh[To
+  Create an Internet Connection].
+link:reference-manual/create-protocol.html#GSRFM00051[`create-protocol`]::
+  Creates a protocol for a listener. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#gjhot[To
+  Create a Protocol].
+link:reference-manual/create-transport.html#GSRFM00061[`create-transport`]::
+  Creates a transport for a listener. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#gjhps[To
+  Create a Transport].
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`]::
+  Creates the specified virtual server element. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:http_https.html#ggnfr[To Create a Virtual Server].
+link:reference-manual/create-ssl.html#GSRFM00058[`create-ssl`]::
+  Creates and configures the SSL element in the selected HTTP listener
+  to enable secure communication on that listener/service. Supported in
+  remote mode only. For procedural information in this guide, see
+  link:http_https.html#ggnbj[To Configure an HTTP Listener for SSL].
+link:reference-manual/delete-http.html#GSRFM00077[`delete-http`]::
+  Deletes an existing HTTP configuration. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:http_https.html#gjhqa[To Delete an HTTP Configuration].
+link:reference-manual/delete-http-listener.html#GSRFM00082[`delete-http-listener`]::
+  Deletes the specified HTTP listener. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:http_https.html#ggndu[To Delete an HTTP Network Listener].
+link:reference-manual/delete-network-listener.html#GSRFM00098[`delete-network-listener`]::
+  Deletes the specified HTTP listener. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:http_https.html#ggndu[To Delete an HTTP Network Listener].
+link:reference-manual/delete-protocol.html#GSRFM00103[`delete-protocol`]::
+  Deletes and existing HTTP protocol. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#gjhnx[To
+  Delete a Protocol].
+link:reference-manual/delete-ssl.html#GSRFM00109[`delete-ssl`]::
+  Deletes the SSL element in the selected HTTP listener. Supported in
+  remote mode only. For procedural information in this guide, see
+  link:http_https.html#ggncl[To Delete SSL From an HTTP Listener].
+link:reference-manual/delete-transport.html#GSRFM00112[`delete-transport`]::
+  Deletes and existing HTTP transport. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:http_https.html#gjhqp[To Delete a Transport].
+link:reference-manual/delete-virtual-server.html#GSRFM00113[`delete-virtual-server`]::
+  Deletes the specified virtual server element. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:http_https.html#ggnen[To Delete a Virtual Server].
+link:reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`]::
+  Lists the existing HTTP listeners. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#ggnbv[To
+  List HTTP Network Listeners].
+link:reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`]::
+  Lists the existing HTTP listeners. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#ggnbv[To
+  List HTTP Network Listeners].
+link:reference-manual/list-protocols.html#GSRFM00195[`list-protocols`]::
+  Lists the existing HTTP protocols. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#gjhna[To
+  List Protocols].
+link:reference-manual/list-transports.html#GSRFM00206[`list-transports`]::
+  Lists the existing HTTP transports. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#gjhmx[To
+  List Transports].
+link:reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`]::
+  Lists the existing virtual servers. Supported in remote mode only. For
+  procedural information in this guide, see link:http_https.html#ggndw[To
+  List Virtual Servers].
+
+[[ggltf]][[GSADG00614]][[javamail-subcommands]]
+
+=== JavaMail Subcommands
+
+link:reference-manual/create-javamail-resource.html#GSRFM00035[`create-javamail-resource`]::
+  Creates a JavaMail session resource. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:javamail.html#giowd[To Create a JavaMail Resource].
+link:reference-manual/delete-javamail-resource.html#GSRFM00087[`delete-javamail-resource`]::
+  Deletes a JavaMail session resource. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:javamail.html#gioxj[To Delete a JavaMail Resource].
+link:reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`]::
+  Creates JavaMail session resources. Supported in remote mode only. For
+  procedural information in this guide, see link:javamail.html#giowq[To
+  List JavaMail Resources].
+
+[[gipen]][[GSADG00615]][[jms-subcommands]]
+
+=== JMS Subcommands
+
+link:reference-manual/create-jmsdest.html#GSRFM00038[`create-jmsdest`]::
+  Creates a JMS physical destination. Along with the physical
+  destination, you use the `create-jms-resource` subcommand to create a
+  JMS destination resource that has a `Name` property that specifies the
+  physical destination. Supported in remote mode only. For procedural
+  information in this guide, see link:jms.html#gioue[To Create a JMS
+  Physical Destination].
+link:reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`]::
+  Creates a JMS host within the JMS service. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jms.html#gipbh[To Create a JMS Host].
+link:reference-manual/create-jms-resource.html#GSRFM00040[`create-jms-resource`]::
+  Creates a JMS connection factory resource or JMS destination resource.
+  Supported in remote mode only. Supported in remote mode only. For
+  procedural information in this guide, see link:jms.html#giotd[To Create
+  a Connection Factory or Destination Resource].
+link:reference-manual/delete-jmsdest.html#GSRFM00090[`delete-jmsdest`]::
+  Removes the specified JMS destination. Supported in remote mode only.
+  For procedural information in this guide, see link:jms.html#giouv[To
+  Delete a JMS Physical Destination].
+link:reference-manual/delete-jms-host.html#GSRFM00091[`delete-jms-host`]::
+  Deletes a JMS host within the JMS service. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jms.html#gipbv[To Delete a JMS Host].
+link:reference-manual/delete-jms-resource.html#GSRFM00092[`delete-jms-resource`]::
+  Deletes a JMS connection factory resource or JMS destination resource.
+  Supported in remote mode only. For procedural information in this
+  guide, see link:jms.html#giouw[To Delete a Connection Factory or
+  Destination Resource].
+link:reference-manual/flush-jmsdest.html#GSRFM00136[`flush-jmsdest`]::
+  Purges the messages from a physical destination in the specified JMS
+  Service configuration of the specified target. Supported in remote
+  mode only. For procedural information in this guide, see
+  link:jms.html#giowx[To Purge Messages From a Physical Destination].
+link:reference-manual/jms-ping.html#GSRFM00144[`jms-ping`]::
+  Checks if the JMS service (also known as the JMS provider) is up and
+  running. Supported in remote mode only. For procedural information in
+  this guide, see link:jms.html#gipnh[Troubleshooting the JMS Service].
+link:reference-manual/list-jmsdest.html#GSRFM00175[`list-jmsdest`]::
+  Lists the JMS physical destinations. Supported in remote mode only.
+  For procedural information in this guide, see link:jms.html#gioyp[To
+  List JMS Physical Destinations].
+link:reference-manual/list-jms-hosts.html#GSRFM00176[`list-jms-hosts`]::
+  Lists the existing JMS hosts. Supported in remote mode only. For
+  procedural information in this guide, see link:jms.html#gipbz[To List
+  JMS Hosts].
+link:reference-manual/list-jms-resources.html#GSRFM00177[`list-jms-resources`]::
+  Lists the existing JMS connection factory or destination resources.
+  Supported in remote mode only. For procedural information in this
+  guide, see link:jms.html#giosx[To List JMS Resources].
+
+[[gitws]][[GSADG00616]][[jndi-subcommands]]
+
+=== JNDI Subcommands
+
+link:reference-manual/create-custom-resource.html#GSRFM00022[`create-custom-resource`]::
+  Creates a custom JNDI resource. Supported in remote mode only. For
+  procedural information in this guide, see link:jndi.html#giowe[To
+  Create a Custom JNDI Resource].
+link:reference-manual/create-jndi-resource.html#GSRFM00041[`create-jndi-resource`]::
+  Creates an external JNDI resource. Supported in remote mode only. For
+  procedural information in this guide, see link:jndi.html#gitxn[To
+  Register an External JNDI Resource].
+link:reference-manual/delete-custom-resource.html#GSRFM00074[`delete-custom-resource`]::
+  Deletes a custom JNDI resource. Supported in remote mode only. For
+  procedural information in this guide, see link:jndi.html#gioxl[To
+  Delete a Custom JNDI Resource].
+link:reference-manual/delete-jndi-resource.html#GSRFM00093[`delete-jndi-resource`]::
+  Deletes an external JNDI resource. Supported in remote mode only. For
+  procedural information in this guide, see link:jndi.html#gitvt[To
+  Delete an External JNDI Resource].
+link:reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`]::
+  Lists the existing custom JNDI resources. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jndi.html#gioxb[To List Custom JNDI Resources].
+link:reference-manual/list-jndi-entries.html#GSRFM00178[`list-jndi-entries`]::
+  Lists the entries in the JNDI tree. Supported in remote mode only. For
+  procedural information in this guide, see link:jndi.html#gitwc[To List
+  External JNDI Entries],
+link:reference-manual/list-jndi-resources.html#GSRFM00179[`list-jndi-resources`]::
+  Lists the existing external JNDI resources. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jndi.html#gitvj[To List External JNDI Resources].
+
+[[gglsk]][[GSADG00617]][[jvm-subcommands]]
+
+=== JVM Subcommands
+
+link:reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`]::
+  Creates a JVM option in the Java configuration or profiler elements of
+  the `domain.xml` file. Supported in remote mode only. For procedural
+  information in this guide, see link:jvm.html#ggnes[To Create JVM
+  Options].
+link:reference-manual/create-profiler.html#GSRFM00050[`create-profiler`]::
+  Creates a profiler element. Supported in remote mode only. For
+  procedural information in this guide, see link:jvm.html#ggneb[To Create
+  a Profiler].
+link:reference-manual/delete-jvm-options.html#GSRFM00094[`delete-jvm-options`]::
+  Deletes the specified JVM option from the Java configuration or
+  profiler elements of the `domain.xml` file. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jvm.html#ggnfi[To Delete JVM Options].
+link:reference-manual/delete-profiler.html#GSRFM00102[`delete-profiler`]::
+  Deletes the specified profiler element. Supported in remote mode only.
+  For procedural information in this guide, see link:jvm.html#ggnem[To
+  Delete a Profiler].
+link:reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`]::
+  Generates a report showing the threads, classes, and memory for the
+  virtual machine that runs {productName}. For procedural information
+  in this guide, see link:jvm.html#ggnbu[To Generate a JVM Report].
+link:reference-manual/list-jvm-options.html#GSRFM00180[`list-jvm-options`]::
+  Lists the command-line options that are passed to the Java application
+  launcher when {productName} is started. Supported in remote mode
+  only. For procedural information in this guide, see
+  link:jvm.html#ggnce[To List JVM Options].
+
+[[giuzl]][[GSADG00618]][[life-cycle-module-subcommands]]
+
+=== Life Cycle Module Subcommands
+
+link:reference-manual/create-lifecycle-module.html#GSRFM00043[`create-lifecycle-module`]::
+  Creates a new life cycle module. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:lifecycle-modules.html#giuus[To Create a Life Cycle Module].
+link:reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`]::
+  Lists life cycle modules. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:lifecycle-modules.html#giuvh[To List Life Cycle Modules].
+link:reference-manual/delete-lifecycle-module.html#GSRFM00095[`delete-lifecycle-module`]::
+  Deletes an existing life cycle module. Supported in remote mode only.
+  For procedural information in this guide, see
+  link:lifecycle-modules.html#giuux[To Delete a Life Cycle Module].
+
+[[gitxd]][[GSADG00619]][[logging-and-monitoring-subcommands]]
+
+=== Logging and Monitoring Subcommands
+
+link:reference-manual/collect-log-files.html#GSRFM00007[`collect-log-files`]::
+  Collects all available log files and creates a ZIP archive. Supported
+  in remote mode only. For procedural information in this guide, see
+  link:logging.html#gklbi[To Collect Log Files into a ZIP Archive].
+link:reference-manual/disable-monitoring.html#GSRFM00120[`disable-monitoring`]::
+  Disables the monitoring service. Supported in remote mode only. For
+  procedural information in this guide, see link:monitoring.html#gglcu[To
+  Disable Monitoring].
+link:reference-manual/enable-monitoring.html#GSRFM00128[`enable-monitoring`]::
+  Enables the monitoring service. Supported in remote mode only. For
+  procedural information in this guide, see link:monitoring.html#ablvr[To
+  Enable Monitoring].
+link:reference-manual/list-log-attributes.html#GSRFM00182[`list-log-attributes`]::
+  Lists log file attributes. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:logging.html#gklmn[Configuring the Logging Service].
+link:reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`]::
+  Lists the existing loggers. Supported in remote mode only. For
+  procedural information in this guide, see link:logging.html#gjirr[To
+  List Log Levels].
+link:reference-manual/list-loggers.html#GSRFM869[`list-loggers`]::
+  Lists all public loggers in your distribution of {productName}. Internal loggers are not listed. For procedural
+  information in this guide, see link:logging.html#CEGGICGF[To List
+  Loggers].
+link:reference-manual/monitor.html#GSRFM00212[`monitor`]::
+  Displays monitoring information for the common {productName}
+  resources. Supported in remote mode only. For procedural information
+  in this guide, see link:monitoring.html#gelol[To View Common Monitoring
+  Data].
+link:reference-manual/rotate-log.html#GSRFM00224[`rotate-log`]::
+  Rotates the `server.log` file and stores the old data in a
+  time-stamped file. Supported in remote mode only. For procedural
+  information in this guide, see link:logging.html#gkmau[To Rotate Log
+  Files Manually].
+link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`]::
+  Sets log file attributes. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:logging.html#gklmn[Configuring the Logging Service].
+link:reference-manual/set-log-file-format.html#GSRFM879[`set-log-file-format`]::
+  Sets the formatter used to format log records in log files. For
+  procedural information in this guide, see
+  link:logging.html#CEGDJEBG[Setting the Log File Format].
+link:reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`]::
+  Sets the log level for a module. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:logging.html#gklml[Setting Log Levels].
+
+[[giusq]][[GSADG00620]][[orb-subcommands]]
+
+=== ORB Subcommands
+
+link:reference-manual/create-iiop-listener.html#GSRFM00032[`create-iiop-listener`]::
+  Creates an IIOP listener. Supported in remote mode only. For
+  procedural information in this guide, see link:orb.html#gioyo[To Create
+  an IIOP Listener].
+link:reference-manual/delete-iiop-listener.html#GSRFM00084[`delete-iiop-listener`]::
+  Deletes an IIOP listener. Supported in remote mode only. For
+  procedural information in this guide, see link:orb.html#giowj[To Delete
+  an IIOP Listener].
+link:reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`]::
+  Lists the existing IIOP listeners. Supported in remote mode only. For
+  procedural information in this guide, see link:orb.html#giowc[To List
+  IIOP Listeners].
+
+[[giuqr]][[GSADG00621]][[thread-pool-subcommands]]
+
+=== Thread Pool Subcommands
+
+link:reference-manual/create-threadpool.html#GSRFM00060[`create-threadpool`]::
+  Creates a new thread pool. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:threadpools.html#ggkwj[To Create a Thread Pool].
+link:reference-manual/delete-threadpool.html#GSRFM00111[`delete-threadpool`]::
+  Deletes the specified thread pool. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:threadpools.html#ggkwy[To Delete a Thread Pool].
+link:reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`]::
+  Lists the existing thread pools. Supported in remote mode only. For
+  procedural information in this guide, see
+  link:threadpools.html#giuff[To List Thread Pools].
+
+[[gitxi]][[GSADG00622]][[transaction-service-subcommands]]
+
+=== Transaction Service Subcommands
+
+link:reference-manual/freeze-transaction-service.html#GSRFM00137[`freeze-transaction-service`]::
+  Freezes the transaction subsystem during which time all the in-flight
+  transactions are suspended. Supported in remote mode only. For
+  procedural information, see link:transactions.html#giufn[To Stop the
+  Transaction Service].
+link:reference-manual/recover-transactions.html#GSRFM00216[`recover-transactions`]::
+  Manually recovers pending transactions. Supported in remote mode only.
+  For procedural information, see link:transactions.html#giuhe[To
+  Manually Recover Transactions].
+link:reference-manual/rollback-transaction.html#GSRFM00223[`rollback-transaction`]::
+  Rolls back the named transaction. Supported in remote mode only. For
+  procedural information, see link:transactions.html#giugk[To Roll Back a
+  Transaction].
+link:reference-manual/unfreeze-transaction-service.html#GSRFM00245[`unfreeze-transaction-service`]::
+  Resumes all the suspended in-flight transactions. Invoke this
+  subcommand on an already frozen transaction. Supported in remote mode
+  only. For procedural information, see link:transactions.html#giuet[To
+  Restart the Transaction Service].
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/batch.adoc b/docs/administration-guide/src/main/asciidoc/batch.adoc
new file mode 100644
index 0000000..30c719f
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/batch.adoc
@@ -0,0 +1,313 @@
+type=page
+status=published
+title=Administering Batch Jobs
+next=part-res-and-svcs-admin.html
+prev=lifecycle-modules.html
+~~~~~~
+
+= Administering Batch Jobs
+
+[[GSADG1077]][[sthref66]]
+
+
+[[administering-batch-jobs]]
+== 10 Administering Batch Jobs
+
+This chapter provides procedures for administering batch jobs in the
+{productName} environment by using the `asadmin` command-line
+utility.
+
+The following topics are addressed here:
+
+* link:#BABCHGJJ[About Batch Jobs]
+* link:#BABIHIGA[Viewing Batch Jobs]
+* link:#BABBFFIG[Configuring the Batch Runtime]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[[BABCHGJJ]][[GSADG1078]][[about-batch-jobs]]
+
+=== About Batch Jobs
+
+{productName} provides a batch runtime for the scheduling and
+execution of batch jobs. Batch jobs are typically long-running,
+bulk-oriented tasks that contain a series of steps and can be executed
+without user interaction. Examples include billing, report generation,
+data format conversion, and image processing.
+
+Batch applications submit jobs to the batch runtime and provide
+instructions about how and when to execute the steps. The batch runtime
+processes the steps as directed by job XML documents packaged with the
+applications and stores information about jobs in a job repository. In
+{productName}, the job repository is a database
+
+For detailed information about batch jobs, batch processing, and the
+batch processing framework, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#batch-processing[Batch Processing]
+in The Jakarta EE Tutorial. Also see
+http://jcp.org/en/jsr/detail?id=352[Java Specification Request 352:
+Batch Applications for the Java Platform]
+(`http://jcp.org/en/jsr/detail?id=352`). The specification defines the
+programming model for batch applications and the runtime for scheduling
+and executing batch jobs.
+
+[[BABIHIGA]][[GSADG1079]][[viewing-batch-jobs]]
+
+=== Viewing Batch Jobs
+
+You can view detailed information about batch jobs, executions, and
+steps. Users who log in to the `asadmin` utility or to the
+Administration Console as administrator are the only users who can view
+details for all batch jobs submitted by all applications in the
+{productName} environment.
+
+The following tasks are used to view information about batch jobs:
+
+* link:#BABIBFDJ[To List Batch Jobs]
+* link:#BABFBGJB[To List Batch Job Executions]
+* link:#BABGJIDD[To List Batch Job Steps]
+
+[[BABIBFDJ]][[GSADG1080]][[to-list-batch-jobs]]
+
+==== To List Batch Jobs
+
+Use the `list-batch-jobs` subcommand in remote mode to list batch jobs
+and job details.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List batch jobs by using the link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-jobs`]
+subcommand.
+
+[[GSADG1081]][[sthref67]]
+Example 10-1 Listing Batch Jobs
+
+This example lists batch jobs for the default server instance, `server`.
+Use `list-batch-jobs -l` to list additional details.
+
+[source]
+----
+asadmin> list-batch-jobs
+JOBNAME  INSTANCECOUNT
+payroll  9
+bonus    6
+Command list-batch-jobs executed successfully.
+----
+
+[[GSADG1082]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-batch-jobs` at the command line.
+
+[[BABFBGJB]][[GSADG1083]][[to-list-batch-job-executions]]
+
+==== To List Batch Job Executions
+
+When the batch runtime executes a job, the execution is given a unique
+execution ID. An execution ID is similar to a process ID. A new
+execution is created the first time a job is started and every time the
+existing execution is restarted.
+
+Use the `list-batch-job-executions` subcommand in remote mode to list
+batch job executions and execution details.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List batch job executions by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-job-executions`] subcommand.
+
+[[GSADG1084]][[sthref68]]
+Example 10-2 Listing Batch Job Executions
+
+This example lists batch job executions for the default server instance,
+`server`, and displays specific details. Use
+`list-batch-job-executions -l` to list additional details.
+
+[source]
+----
+asadmin> list-batch-job-executions -o=jobname,executionid,batchstatus,exitstatus
+JOBNAME  EXECUTIONID  BATCHSTATUS  EXITSTATUS
+payroll  9            COMPLETED    COMPLETED
+bonus    6            FAILED       FAILED
+Command list-batch-job-executions executed successfully.
+----
+
+[[GSADG1085]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-batch-job-executions` at the command line.
+
+[[BABGJIDD]][[GSADG1086]][[to-list-batch-job-steps]]
+
+==== To List Batch Job Steps
+
+A batch job consists of one or more steps. A step is an independent and
+sequential phase of a batch job.
+
+Use the `list-batch-job-steps` subcommand in remote mode to list steps
+and step details for a specific batch job execution.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the execution ID of an execution by using the
+`list-batch-job-executions` subcommand.
+3. List steps for a specific batch job execution by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-job-steps`] subcommand.
+
+[[GSADG1087]][[sthref69]]
+Example 10-3 Listing Batch Job Steps
+
+This example lists batch job steps and specific step details for a job
+execution with the execution ID of `7`. The target is the default server
+instance, `server`. Use `list-batch-job-steps -l` to list additional
+details.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> list-batch-job-steps o=stepname,stepid,batchstatus,stepmetrics 7
+STEPNAME   STEPID   BATCHSTATUS   STEPMETRICS
+prepare    7        COMPLETED     METRICNAME          VALUE
+                                  READ_COUNT          8
+                                  WRITE_COUNT         8
+                                  PROCESS_SKIP_COUNT  0
+process    8        COMPLETED     METRICNAME          VALUE
+                                  READ_COUNT          8
+                                  WRITE_COUNT         8
+                                  PROCESS_SKIP_COUNT  0
+...
+Command list-batch-job-steps executed successfully.
+----
+
+[[GSADG1088]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-batch-job-steps` at the command line.
+
+[[BABBFFIG]][[GSADG1089]][[configuring-the-batch-runtime]]
+
+=== Configuring the Batch Runtime
+
+The batch runtime uses a data source and a managed executor service to
+execute batch jobs. The data source stores information about current and
+past jobs, and the managed executor service provides threads to jobs.
+Batch runtime configuration data is stored in the `config` element in
+`domain.xml`.
+
+{productName} provides a default data source and managed executor
+service for the execution of batch jobs. For the domain administration
+server (DAS), the default data source is `jdbc/__TimerPool` and the
+default managed executor service is
+`concurrent/__defaultManagedExecutorService`. If you create a standalone
+server instance or a standalone cluster, the default data source is
+`jdbc/__default`. You can configure the batch runtime to use different
+resources.
+
+For more information about data sources, see
+link:jdbc.html#ablih[Administering Database Connectivity]. For more
+information about managed executor services, see
+link:concurrent.html#DAFBHEDI[Configuring Managed Executor Services].
+
+The following tasks are used to view and configure the batch runtime:
+
+* link:#BABBGHCJ[To List the Batch Runtime Configuration]
+* link:#BABFEJAD[To Configure the Batch Runtime]
+
+[[BABBGHCJ]][[GSADG1090]][[to-list-the-batch-runtime-configuration]]
+
+==== To List the Batch Runtime Configuration
+
+Use the `list-batch-runtime-configuration` subcommand in remote mode to
+display the configuration of the batch runtime.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Display the configuration of the batch runtime by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-runtime-configuration`] subcommand.
+3. If desired, use the `get` subcommand to view the attributes of the
+data source and managed executor service resources.
++
+For example (output omitted):
++
+[source]
+----
+asdmin> get resources.jdbc-resource.jdbc/__TimerPool.*
+...
+asdmin> get resources.managed-executor-service.concurrent/__defaultManagedExecutorService.*
+...
+----
+
+[[GSADG1091]][[sthref70]]
+Example 10-4 Listing the Batch Runtime Configuration
+
+This example lists the configuration of the batch runtime for the
+default server instance, `server`.
+
+[source]
+----
+asadmin> list-batch-runtime-configuration
+DATASOURCELOOKUPNAME     EXECUTORSERVICELOOKUPNAME
+jdbc/__TimerPool         concurrent/__defaultManagedExecutorService
+Command list-batch-runtime-configuration executed successfully.
+----
+
+[[GSADG1092]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-batch-runtime-configuration` at the command
+line.
+
+[[BABFEJAD]][[GSADG1093]][[to-configure-the-batch-runtime]]
+
+==== To Configure the Batch Runtime
+
+Use the `set-batch-runtime-configuration` subcommand in remote mode to
+configure the batch runtime.
+
+
+[NOTE]
+====
+Do not change the data source after the first batch job has been
+submitted to the batch runtime for execution. If the data source must be
+changed, stop and restart the domain and then make the change before any
+jobs are started or restarted. However, once the data source has been
+changed, information stored in the previous data source becomes
+inaccessible.
+
+The managed executor service can be changed after a batch job has been
+submitted to the batch runtime without affecting execution of the job.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Configure the batch runtime by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`set-batch-runtime-configuration`] subcommand.
+
+[[GSADG1094]][[sthref71]]
+Example 10-5 Configuring the Batch Runtime
+
+This example configures the batch runtime for the default server
+instance, `server`, to use an existing managed executor service named
+`concurrent/Executor1`.
+
+[source]
+----
+asadmin> set-batch-runtime-configuration --executorservicelookupname concurrent/Executor1
+Command set-batch-runtime-configuration executed successfully.
+----
+
+[[GSADG1095]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help set-batch-runtime-configuration` at the command
+line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/concurrent.adoc b/docs/administration-guide/src/main/asciidoc/concurrent.adoc
new file mode 100644
index 0000000..bfff5cd
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/concurrent.adoc
@@ -0,0 +1,790 @@
+type=page
+status=published
+title=Administering Concurrent Resources
+next=orb.html
+prev=http_https.html
+~~~~~~
+
+= Administering Concurrent Resources
+
+[[GSADG1108]][[sthref73]]
+
+
+[[administering-concurrent-resources]]
+== 14 Administering Concurrent Resources
+
+This chapter provides procedures for administering concurrent resources
+in the {productName} environment by using the `asadmin` command-line
+utility.
+
+The following topics are addressed here:
+
+* link:#DAFGCCDI[About Concurrent Resources]
+* link:#DAFFGDCD[Default Concurrent Resources]
+* link:#DAFFCEEA[Configuring Context Services]
+* link:#DAFBAAIJ[Configuring Managed Thread Factories]
+* link:#DAFBHEDI[Configuring Managed Executor Services]
+* link:#DAFHJHCF[Configuring Managed Scheduled Executor Services]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[[DAFGCCDI]][[GSADG1109]][[about-concurrent-resources]]
+
+=== About Concurrent Resources
+
+Concurrent resources are managed objects that provide concurrency
+capabilities to Jakarta EE applications. In {productName}, you configure
+concurrent resources and make them available for use by application
+components such as servlets and EJBs. Concurrent resources are accessed
+through JNDI lookup or resource injection.
+
+Concurrent resources are resources of the following types:
+
+* Context services. See link:#DAFFCEEA[Configuring Context Services].
+* Managed thread factories. See link:#DAFBAAIJ[Configuring Managed
+Thread Factories].
+* Managed executor services. See link:#DAFBHEDI[Configuring Managed
+Executor Services].
+* Managed scheduled executor services. See link:#DAFHJHCF[Configuring
+Managed Scheduled Executor Services].
+
+For detailed information about concurrent resources, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#jakarta-concurrency-2[Concurrency Utilities]
+in The Jakarta EE Tutorial. Also see
+http://jcp.org/en/jsr/detail?id=236[
+Java Specification Request 236: Concurrency Utilities for Jakarta EE].
+
+[[DAFFGDCD]][[GSADG1110]][[default-concurrent-resources]]
+
+=== Default Concurrent Resources
+
+When you create a concurrent resource, you specify a unique JNDI name
+for the resource. Applications use this name to access the resource.
+
+The Jakarta EE standard specifies that certain default resources be made
+available to applications, and defines specific JNDI names for these
+default resources. {productName} makes these names available through
+the use of logical JNDI names, which map Jakarta EE standard JNDI names to
+specific {productName} resources. For concurrent resources, the
+mappings are as follows:
+
+java:comp/DefaultContextService::
+  This Jakarta EE standard name is mapped to the
+  `concurrent/__defaultContextService` resource.
+java:comp/DefaultManagedThreadFactory::
+  This Jakarta EE standard name is mapped to the
+  `concurrent/__defaultManagedThreadFactory` resource.
+java:comp/DefaultManagedExecutorService::
+  This Jakarta EE standard name is mapped to the
+  `concurrent/__defaultManagedExecutorService` resource.
+java:comp/DefaultManagedScheduledExecutorService::
+  This Jakarta EE standard name is mapped to the
+  `concurrent/__defaultManagedScheduledExecutorService` resource.
+
+[[DAFFCEEA]][[GSADG1111]][[configuring-context-services]]
+
+=== Configuring Context Services
+
+Context services are used to create dynamic proxy objects that capture
+the context of a container and enable applications to run within that
+context at a later time. The context of the container is propagated to
+the thread executing the task.
+
+The following tasks are used to administer context service resources:
+
+* link:#DAFJACDI[To Create a Context Service]
+* link:#DAFDCFCB[To List Context Services]
+* link:#DAFBFICB[To Update a Context Service]
+* link:#DAFGGGEC[To Delete a Context Service]
+
+[[DAFJACDI]][[GSADG1112]][[to-create-a-context-service]]
+
+==== To Create a Context Service
+
+Use the `create-context-service` subcommand in remote mode to create a
+context service resource.
+
+Because all JNDI names are in the `java:comp/env` subcontext, when
+specifying the JNDI name of a context service, use only the
+`concurrent/`name format. For example, `concurrent/Context1`.
+
+For more information about the default context service resource included
+with {productName}, see link:#DAFFGDCD[Default Concurrent Resources].
+
+
+[NOTE]
+====
+Creating a context service resource is a dynamic event and typically
+does not require server restart. Applications can use a resource as soon
+as it is created. However, if an application tried to use a resource
+before it was created, and that resource is created later, the
+application or the server must be restarted. Otherwise, the application
+will not be able to locate the resource.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a context service by using the
+link:reference-manual/create-jdbc-resource.html#GSRFM00037[`create-context-service`] subcommand.
+3. If necessary, notify users that the new resource has been created.
+
+[[GSADG1113]][[sthref74]]
+Example 14-1 Creating a Context Service
+
+This example creates a context service resource named
+`concurrent/Context1`.
+
+[source]
+----
+asadmin> create-context-service concurrent/Context1
+Context service concurrent/Context1 created successfully.
+Command create-context-service executed successfully.
+----
+
+[[GSADG1114]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-context-service` at the command line.
+
+[[DAFDCFCB]][[GSADG1115]][[to-list-context-services]]
+
+==== To List Context Services
+
+Use the `list-context-services` subcommand in remote mode to list the
+existing context service resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List context service resources by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-context-services`] subcommand.
+
+[[GSADG1116]][[sthref75]]
+Example 14-2 Listing Context Services
+
+This example lists context service resources on the default server
+instance, `server`.
+
+[source]
+----
+asadmin> list-context-services
+concurrent/__defaultContextService
+concurrent/Context1
+concurrent/Context2
+Command list-context-services executed successfully.
+----
+
+[[GSADG1117]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-context-services` at the command line.
+
+[[DAFBFICB]][[GSADG1118]][[to-update-a-context-service]]
+
+==== To Update a Context Service
+
+You can change all of the settings for an existing context service
+resource except its JNDI name. Use the `get` and `set` subcommands to
+view and change the values of the context service attributes.
+
+
+[NOTE]
+====
+When a resource is updated, the existing resource is shut down and
+recreated. If an application used the resource prior to the update, the
+application or the server must be restarted.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the context service resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-context-services`] subcommand.
+3. View the attributes of a specific context service by using the `get` subcommand.
+For example:
++
+[source]
+----
+asadmin> get resources.context-service.concurrent/Context1.*
+----
+4. Set an attribute of the context service by using the `set` subcommand.
+For example:
++
+[source]
+----
+asadmin> set resources.context-service.concurrent/Context1.deployment-order=120
+----
+
+[[DAFGGGEC]][[GSADG1119]][[to-delete-a-context-service]]
+
+==== To Delete a Context Service
+
+Use the `delete-context-service` subcommand in remote mode to delete an
+existing context service. Deleting a context service is a dynamic event
+and does not require server restart.
+
+Before deleting a context service resource, all associations to the
+resource must be removed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the context service resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-context-services`] subcommand.
+3. If necessary, notify users that the context service is being deleted.
+4. Delete the context service by using the
+link:reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-context-service`] subcommand.
+
+[[GSADG1120]][[sthref76]]
+Example 14-3 Deleting a Context Service
+
+This example deletes the context service resource named
+`concurrent/Context1`.
+
+[source]
+----
+asadmin> delete-context-service concurrent/Context1
+Context service concurrent/Context1 deleted successfully.
+Command delete-context-service executed successfully.
+----
+
+[[GSADG1121]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-context-service` at the command line.
+
+[[DAFBAAIJ]][[GSADG1122]][[configuring-managed-thread-factories]]
+
+=== Configuring Managed Thread Factories
+
+Managed thread factories are used by applications to create managed
+threads on demand. The threads are started and managed by the container.
+The context of the container is propagated to the thread executing the
+task.
+
+The following tasks are used to administer managed thread factory
+resources:
+
+* link:#DAFGFAEI[To Create a Managed Thread Factory]
+* link:#DAFDGEGE[To List Managed Thread Factories]
+* link:#DAFDIJIH[To Update a Managed Thread Factory]
+* link:#DAFCEDEI[To Delete a Managed Thread Factory]
+
+[[DAFGFAEI]][[GSADG1123]][[to-create-a-managed-thread-factory]]
+
+==== To Create a Managed Thread Factory
+
+Use the `create-managed-thread-factory` subcommand in remote mode to
+create a managed thread factory resource.
+
+Because all JNDI names are in the `java:comp/env` subcontext, when
+specifying the JNDI name of a managed thread factory, use only the
+``concurrent/``name format. For example, `concurrent/Factory1`.
+
+For more information about the default managed thread factory resource
+included with {productName}, see link:#DAFFGDCD[Default Concurrent Resources].
+
+[NOTE]
+====
+Creating a managed thread factory resource is a dynamic event and
+typically does not require server restart. Applications can use a
+resource as soon as it is created. However, if an application tried to
+use a resource before it was created, and that resource is created
+later, the application or the server must be restarted. Otherwise, the
+application will not be able to locate the resource.
+====
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a managed thread factory by using the
+link:reference-manual/create-jdbc-resource.html#GSRFM00037[`create-managed-thread-factory`] subcommand.
+3. If necessary, notify users that the new resource has been created.
+
+[[GSADG1124]][[sthref77]]
+Example 14-4 Creating a Managed Thread Factory
+
+This example creates a managed thread factory resource named
+`concurrent/Factory1`.
+
+[source]
+----
+asadmin> create-managed-thread-factory concurrent/Factory1
+Managed thread factory concurrent/Factory1 created successfully.
+Command create-managed-thread-factory executed successfully.
+----
+
+[[GSADG1125]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-managed-thread-factory` at the command line.
+
+[[DAFDGEGE]][[GSADG1126]][[to-list-managed-thread-factories]]
+
+==== To List Managed Thread Factories
+
+Use the `list-managed-thread-factories` subcommand in remote mode to
+list the existing managed thread factory resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List managed thread factory resources by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-managed-thread-factories`] subcommand.
+
+[[GSADG1127]][[sthref78]]
+Example 14-5 Listing Managed Thread Factories
+
+This example lists managed thread factory resources on the default
+server instance, `server`.
+
+[source]
+----
+asadmin> list-managed-thread-factories
+concurrent/__defaultManagedThreadFactory
+concurrent/Factory1
+concurrent/Factory2
+Command list-managed-thread-factories executed successfully.
+----
+
+[[GSADG1128]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-managed-thread-factories` at the command line.
+
+[[DAFDIJIH]][[GSADG1129]][[to-update-a-managed-thread-factory]]
+
+==== To Update a Managed Thread Factory
+
+You can change all of the settings for an existing managed thread
+factory resource except its JNDI name. Use the `get` and `set`
+subcommands to view and change the values of the managed thread factory
+attributes.
+
+
+[NOTE]
+====
+When a resource is updated, the existing resource is shut down and
+recreated. If applications used the resource prior to the update, the
+application or the server must be restarted.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the managed thread factory resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-thread-factories`] subcommand.
+3. View the attributes of a managed thread factory by using the `get` subcommand.
+For example:
++
+[source]
+----
+asadmin> get resources.managed-thread-factory.concurrent/Factory1.*
+----
+4. Set an attribute of the managed thread factory by using the `set` subcommand.
+For example:
++
+[source]
+----
+asadmin> set resources.managed-thread-factory.concurrent/Factory1.deployment-order=120
+----
+
+[[DAFCEDEI]][[GSADG1130]][[to-delete-a-managed-thread-factory]]
+
+==== To Delete a Managed Thread Factory
+
+Use the `delete-managed-thread-factory` subcommand in remote mode to
+delete an existing managed thread factory. Deleting a managed thread
+factory is a dynamic event and does not require server restart.
+
+Before deleting a managed thread factory resource, all associations to
+the resource must be removed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the managed thread factory resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-thread-factories`] subcommand.
+3. If necessary, notify users that the managed thread factory is being deleted.
+4. Delete the managed thread factory by using the
+link:reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-managed-thread-factory`] subcommand.
+
+[[GSADG1131]][[sthref79]]
+Example 14-6 Deleting a Managed Thread Factory
+
+This example deletes the managed thread factory resource named
+`concurrent/Factory1`.
+
+[source]
+----
+asadmin> delete-managed-thread-factory concurrent/Factory1
+Managed thread factory concurrent/Factory1 deleted successfully.
+Command delete-managed-thread-factory executed successfully.
+----
+
+[[GSADG1132]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-managed-thread-factory` at the command line.
+
+[[DAFBHEDI]][[GSADG1133]][[configuring-managed-executor-services]]
+
+=== Configuring Managed Executor Services
+
+Managed executor services are used by applications to execute submitted
+tasks asynchronously. Tasks are executed on threads that are started and
+managed by the container. The context of the container is propagated to
+the thread executing the task.
+
+The following tasks are used to administer managed executor service
+resources:
+
+* link:#DAFJIEGA[To Create a Managed Executor Service]
+* link:#DAFIJDAE[To List Managed Executor Services]
+* link:#DAFICEJF[To Update a Managed Executor Service]
+* link:#DAFDAGAD[To Delete a Managed Executor Service]
+
+[[DAFJIEGA]][[GSADG1134]][[to-create-a-managed-executor-service]]
+
+==== To Create a Managed Executor Service
+
+Use the `create-managed-executor-service` subcommand in remote mode to
+create a managed executor service resource.
+
+Because all JNDI names are in the `java:comp/env` subcontext, when
+specifying the JNDI name of a managed executor service, use only the
+`concurrent/`name format. For example, `concurrent/Executor1`.
+
+For more information about the default managed executor service resource
+included with {productName}, see link:#DAFFGDCD[Default Concurrent
+Resources].
+
+
+[NOTE]
+====
+Creating a managed executor service resource is a dynamic event and
+typically does not require server restart. Applications can use a
+resource as soon as it is created. However, if an application tried to
+use a resource before it was created, and that resource is created
+later, the application or the server must be restarted. Otherwise, the
+application will not be able to locate the resource.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a managed executor service by using the
+link:reference-manual/create-jdbc-resource.html#GSRFM00037[`create-managed-executor-service`] subcommand.
+3. If necessary, notify users that the new resource has been created.
+
+[[GSADG1135]][[sthref80]]
+Example 14-7 Creating a Managed Executor Service
+
+This example creates a managed executor service resource named
+`concurrent/Executor1`.
+
+[source]
+----
+asadmin> create-managed-executor-service concurrent/Executor1
+Managed executor service concurrent/Executor1 created successfully.
+Command create-managed-executor-service executed successfully.
+----
+
+[[GSADG1136]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-managed-executor-service` at the command
+line.
+
+[[DAFIJDAE]][[GSADG1137]][[to-list-managed-executor-services]]
+
+==== To List Managed Executor Services
+
+Use the `list-managed-executor-services` subcommand in remote mode to
+list the existing managed executor service resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List managed executor service resources by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-managed-executor-services`] subcommand.
+
+[[GSADG1138]][[sthref81]]
+Example 14-8 Listing Managed Executor Services
+
+This example lists managed executor service resources on the default
+server instance, `server`.
+
+[source]
+----
+asadmin> list-managed-executor-services
+concurrent/__defaultManagedExecutorService
+concurrent/Executor1
+concurrent/Executor2
+Command list-managed-executor-services executed successfully.
+----
+
+[[GSADG1139]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-managed-executor-services` at the command
+line.
+
+[[DAFICEJF]][[GSADG1140]][[to-update-a-managed-executor-service]]
+
+==== To Update a Managed Executor Service
+
+You can change all of the settings for an existing managed executor
+service resource except its JNDI name. Use the `get` and `set`
+subcommands to view and change the values of the managed executor
+service attributes.
+
+
+[NOTE]
+====
+When a resource is updated, the existing resource is shut down and
+recreated. If applications used the resource prior to the update, the
+application or the server must be restarted.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the managed executor service resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-executor-services`] subcommand.
+3. View the attributes of a managed executor service by using the `get` subcommand.
+For example:
++
+[source]
+----
+asadmin> get resources.managed-executor-service.concurrent/Executor1.*
+----
+4. Set an attribute of the managed executor service by using the `set`
+subcommand. For example:
++
+[source]
+----
+asadmin> set resources.managed-executor-service.concurrent/Executor1.deployment-order=120
+----
+
+[[DAFDAGAD]][[GSADG1141]][[to-delete-a-managed-executor-service]]
+
+==== To Delete a Managed Executor Service
+
+Use the `delete-managed-executor-service` subcommand in remote mode to
+delete an existing managed executor service. Deleting a managed executor
+service is a dynamic event and does not require server restart.
+
+Before deleting a managed executor service resource, all associations to
+the resource must be removed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the managed executor service resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-executor-services`] subcommand.
+3. If necessary, notify users that the managed executor service is being deleted.
+4. Delete the managed executor service by using the
+link:reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-managed-executor-service`] subcommand.
+
+[[GSADG1142]][[sthref82]]
+Example 14-9 Deleting a Managed Executor Service
+
+This example deletes the managed executor service resource named
+`concurrent/Executor1`.
+
+[source]
+----
+asadmin> delete-managed-executor-service concurrent/Executor1
+Managed executor service concurrent/Executor1 deleted successfully.
+Command delete-managed-executor-service executed successfully.
+----
+
+[[GSADG1143]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-managed-executor-service` at the command
+line.
+
+[[DAFHJHCF]][[GSADG1144]][[configuring-managed-scheduled-executor-services]]
+
+=== Configuring Managed Scheduled Executor Services
+
+Managed scheduled executor services are used by applications to execute
+submitted tasks asynchronously at specific times. Tasks are executed on
+threads that are started and managed by the container. The context of
+the container is propagated to the thread executing the task.
+
+The following tasks are used to administer managed scheduled executor
+service resources:
+
+* link:#DAFFGDGG[To Create a Managed Scheduled Executor Service]
+* link:#DAFJBADD[To List Managed Scheduled Executor Services]
+* link:#DAFGEBEI[To Update a Managed Scheduled Executor Service]
+* link:#DAFEBEGC[To Delete a Managed Scheduled Executor Service]
+
+[[DAFFGDGG]][[GSADG1145]][[to-create-a-managed-scheduled-executor-service]]
+
+==== To Create a Managed Scheduled Executor Service
+
+Use the `create-managed-scheduled-executor-service` subcommand in remote
+mode to create a managed scheduled executor service resource.
+
+Because all JNDI names are in the `java:comp/env` subcontext, when
+specifying the JNDI name of a managed scheduled executor service, use
+only the `concurrent/`name format. For example,
+`concurrent/ScheduledExecutor1`.
+
+For more information about the default managed scheduled executor
+service resource included with {productName}, see
+link:#DAFFGDCD[Default Concurrent Resources].
+
+
+[NOTE]
+====
+Creating a managed scheduled executor service resource is a dynamic
+event and typically does not require server restart. Applications can
+use a resource as soon as it is created. However, if an application
+tried to use a resource before it was created, and that resource is
+created later, the application or the server must be restarted.
+Otherwise, the application will not be able to locate the resource.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a managed scheduled executor service by using the
+link:reference-manual/create-jdbc-resource.html#GSRFM00037[`create-managed-scheduled-executor-service`] subcommand.
+3. If necessary, notify users that the new resource has been created.
+
+[[GSADG1146]][[sthref83]]
+Example 14-10 Creating a Managed Scheduled Executor Service
+
+This example creates a managed scheduled executor service resource named
+`concurrent/ScheduledExecutor1`.
+
+[source]
+----
+asadmin> create-managed-scheduled-executor-service concurrent/ScheduledExecutor1
+Managed scheduled executor service concurrent/ScheduledExecutor1 created successfully.
+Command create-managed-scheduled-executor-service executed successfully.
+----
+
+[[GSADG1147]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-managed-scheduled-executor-service` at the
+command line.
+
+[[DAFJBADD]][[GSADG1148]][[to-list-managed-scheduled-executor-services]]
+
+==== To List Managed Scheduled Executor Services
+
+Use the `list-managed-scheduled-executor-services` subcommand in remote
+mode to list the existing managed scheduled executor service resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List managed scheduled executor service resources by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-managed-scheduled-executor-services`] subcommand.
+
+[[GSADG1149]][[sthref84]]
+Example 14-11 Listing Managed Scheduled Executor Services
+
+This example lists managed scheduled executor service resources on the
+default server instance, `server`.
+
+[source]
+----
+asadmin> list-managed-scheduled-executor-services
+concurrent/__defaultManagedScheduledExecutorService
+concurrent/ScheduledExecutor1
+concurrent/ScheduledExecutor2
+Command list-managed-scheduled-executor-services executed successfully.
+----
+
+[[GSADG1150]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-managed-scheduled-executor-services` at the
+command line.
+
+[[DAFGEBEI]][[GSADG1151]][[to-update-a-managed-scheduled-executor-service]]
+
+==== To Update a Managed Scheduled Executor Service
+
+You can change all of the settings for an existing managed scheduled
+executor service resource except its JNDI name. Use the `get` and `set`
+subcommands to view and change the values of the managed scheduled
+executor service attributes.
+
+[NOTE]
+====
+When a resource is updated, the existing resource is shut down and
+recreated. If applications used the resource prior to the update, the
+application or the server must be restarted.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the managed scheduled executor service resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-scheduled-executor-services`] subcommand.
+3. View the attributes of a managed scheduled executor service by using the `get` subcommand.
+For example:
++
+[source]
+----
+asadmin> get resources.managed-scheduled-executor-service.concurrent/ScheduledExecutor1.*
+----
+4. Set an attribute of the managed scheduled executor service by using
+the `set` subcommand. For example:
++
+[source]
+----
+asadmin> set resources.managed-scheduled-executor-service.concurrent/ScheduledExecutor1.deployment-order=120
+----
+
+[[DAFEBEGC]][[GSADG1152]][[to-delete-a-managed-scheduled-executor-service]]
+
+==== To Delete a Managed Scheduled Executor Service
+
+Use the `delete-managed-scheduled-executor-service` subcommand in remote
+mode to delete an existing managed scheduled executor service. Deleting
+a managed scheduled executor service is a dynamic event and does not
+require server restart.
+
+Before deleting a managed scheduled executor service resource, all
+associations to the resource must be removed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the managed scheduled executor service resources by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-scheduled-executor-service`] subcommand.
+3. If necessary, notify users that the managed scheduled executor service is being deleted.
+4. Delete the managed scheduled executor service by using the
+link:reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-managed-scheduled-executor-service`] subcommand.
+
+[[GSADG1153]][[sthref85]]
+Example 14-12 Deleting a Managed Scheduled Executor Service
+
+This example deletes the managed scheduled executor service resource
+named `concurrent/ScheduledExecutor1`.
+
+[source]
+----
+asadmin> delete-managed-scheduled-executor-service concurrent/ScheduledExecutor1
+Managed scheduled executor service concurrent/ScheduledExecutor1 deleted successfully.
+Command delete-managed-scheduled-executor-service executed successfully.
+----
+
+[[GSADG1154]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-managed-scheduled-executor-service` at the
+command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/connectors.adoc b/docs/administration-guide/src/main/asciidoc/connectors.adoc
new file mode 100644
index 0000000..d796eb2
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/connectors.adoc
@@ -0,0 +1,1145 @@
+type=page
+status=published
+title=Administering EIS Connectivity
+next=http_https.html
+prev=jdbc.html
+~~~~~~
+
+= Administering EIS Connectivity
+
+[[GSADG00016]][[abllp]]
+
+
+[[administering-eis-connectivity]]
+== 12 Administering EIS Connectivity
+
+This chapter provides information and procedures for administering
+connections to enterprise information system (EIS) data in the {productName} 7 environment by using the `asadmin` command-line utility.
+
+
+[NOTE]
+====
+If you installed the Web Profile, connector modules that use only
+outbound communication features and work-management that does not
+involve inbound communication features are supported. Other connector
+features are supported only in the Full Platform Profile.
+====
+
+
+The following topics are addressed here:
+
+* link:#abllq[About EIS Connectivity]
+* link:#ablls[Administering Connector Connection Pools]
+* link:#abllx[Administering Connector Resources]
+* link:#giope[Administering the Resource Adapter Configuration]
+* link:#gitxy[Administering Connector Security Maps]
+* link:#giohl[Administering Connector Work Security Maps]
+* link:#ablmc[Administering Administered Objects]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+For information about database connectivity, see
+link:jdbc.html#ablih[Administering Database Connectivity].
+
+[[abllq]][[GSADG00580]][[about-eis-connectivity]]
+
+=== About EIS Connectivity
+
+Enterprise information system (EIS) refers to any system that holds the
+data of an organization. It can be a mainframe, a messaging system, a
+database system, or an application. Connection resources are used by
+applications and modules to access EIS software.)
+
+The key elements of EIS connectivity are the following:
+
+* Connector Module. A connector module, also called a resource adapter,
+is a Jakarta EE component that enables applications to interact with EIS
+software. A connector module is used by {productName} to implement
+Java Message Service (JMS). Like other Jakarta EE modules, a connector
+module is installed when it is deployed. For instructions on creating a
+connector module, see "link:application-development-guide/connectors.html#GSDVG00013[Developing Connectors]" in
+{productName} Application Development Guide.
+* Connector Connection Pool. A connector connection pool is a group of
+reusable connections for a particular EIS. A connector connection pool
+is created when you specify the connector module that is associated with
+the pool. For administration procedures, see link:#ablls[Administering
+Connector Connection Pools].
+* Connector Resource. A connector resource is a program object that
+provides an application with a connection to an EIS. A connector
+resource is created when you specify its JNDI name and its associated
+connection pool. The JNDI name of a connector resource for an EIS is
+usually in the `java:comp/env/`eis-specific subcontext. For
+administration procedures, see link:#abllx[Administering Connector
+Resources].
+* Connector Module Configuration. A connector module configuration is
+the information that resides in the domain configuration file
+(`domain.xml`) for the particular connector module (resource adapter).
+For administration procedures, see link:#giope[Administering the
+Resource Adapter Configuration].
+* Connector Security Map. A connector security map associates the caller
+identity of the application (principal or user group) to a suitable EIS
+principal or group. For administration procedures, see
+link:#gitxy[Administering Connector Security Maps].
+* Connector Work Security Map. A connector work security map associates
+the caller identity of the work submitted by the connector module
+(resource adapter) EIS principal or EIS user group to a suitable
+principal or user group in the {productName} security domain. For
+administration procedures, see link:#giohl[Administering Connector Work
+Security Maps].
+* Administered Object. An administered object provides specialized
+functionality for an application, such as providing access to a parser
+that is specific to the connector module and its associated EIS. For
+administration procedures, see link:#ablmc[Administering Administered
+Objects].
+
+At runtime, the following sequence occurs when an application connects
+to an EIS:
+
+1. The application gets the connector resource (data source) associated
+with the EIS by making a call through the JNDI API.
++
+Using the JNDI name of the connector resource, the naming and directory
+service locates the resource. Each EIS resource specifies a connector
+connection pool.
+2. Using the connector resource, the application gets an EIS
+connection.
++
+{productName} retrieves a physical connection from the connection
+pool that corresponds to the EIS resource. The pool defines connection
+attributes such as the EIS name, user name, and password.
+3. After the EIS connection is established, the application can read,
+modify, and add data to the EIS.
++
+The application accesses the EIS information by making calls to the JMS
+API.
+4. When the application is finished accessing the EIS, the application
+closes the connection and returns the connection to the connection pool.
+
+[[ablls]][[GSADG00581]][[administering-connector-connection-pools]]
+
+=== Administering Connector Connection Pools
+
+After a connector module has been deployed, you are ready to create a
+connector connection pool for it.
+
+The following topics are addressed here:
+
+* link:#gioce[To Create a Connector Connection Pool]
+* link:#giocg[To List Connector Connection Pools]
+* link:#gjiqz[To Connect to (Ping) or Reset (Flush) a Connector
+Connection Pool]
+* link:#gioti[To Update a Connector Connection Pool]
+* link:#giocp[To Delete a Connector Connection Pool]
+
+[[gioce]][[GSADG00431]][[to-create-a-connector-connection-pool]]
+
+==== To Create a Connector Connection Pool
+
+Use the `create-connector-connection-pool` subcommand in remote mode to
+create a connector connection pool for a deployed connector module. When
+you are building the connector connection pool, certain data specific to
+the EIS will be required. The value in the mandatory
+`--connectiondefintion` option provides the EIS info.
+
+Multiple connector resources can specify a single connection pool.
+
+Creating a connector connection pool is a dynamic event and does not
+require server restart. However, there are some parameters that do
+require server restart. See link:overview.html#ghciy[Configuration
+Changes That Require Restart].
+
+[[GSADG968]]
+
+Before You Begin
+
+Before creating the connector connection pool, the connector must be
+installed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create the connector connection pool by using the
+link:reference-manual/create-connector-connection-pool.html#GSRFM00018[`create-connector-connection-pool`] subcommand.
++
+Information about properties for the subcommand is included in this help
+page.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+4. You can verify that a connection pool is usable by using the
+`ping-connection-pool` subcommand.
++
+For instructions, see link:jdbc.html#ggnwn[To Contact (Ping) a Connection
+Pool].
+
+[[GSADG00223]][[giocc]]
+Example 12-1 Creating a Connector Connection Pool
+
+This example creates the new `jms/qConnPool` pool for the
+`jakarta.jms.QueueConnectionFactory` connector module.
+
+[source]
+----
+asadmin> create-connector-connection-pool --steadypoolsize 20 --maxpoolsize 100
+--poolresize 2 --maxwait 60000 --raname jmsra --connectiondefinition
+jakarta.jms.QueueConnectionFactory jms/qConnPool
+
+Command create-connector-connection-pool executed successfully
+----
+
+[[GSADG969]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-connector-connection-pool` at the command
+line.
+
+[[giocg]][[GSADG00432]][[to-list-connector-connection-pools]]
+
+==== To List Connector Connection Pools
+
+Use the `list-connector-connection-pools` subcommand in remote mode to
+list the pools that have been created.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the connector connection pools by using the
+link:reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
+
+[[GSADG00224]][[giody]]
+Example 12-2 Listing Connector Connection Pools
+
+This example lists the existing connector connection pools.
+
+[source]
+----
+asadmin> list-connector-connection-pools
+jms/qConnPool
+Command list-connector-connection-pools executed successfully
+----
+
+[[GSADG970]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-connector-connection-pools` at the command
+line.
+
+[[gjiqz]][[GSADG00433]][[to-connect-to-ping-or-reset-flush-a-connector-connection-pool]]
+
+==== To Connect to (Ping) or Reset (Flush) a Connector Connection Pool
+
+Use the `ping-connection-pool` or `flush-connection-pool` subcommands in
+remote mode to perform these tasks on a connection pools. See
+link:jdbc.html#ggnwn[To Contact (Ping) a Connection Pool] or
+link:jdbc.html#gjiqp[To Reset (Flush) a Connection Pool] for
+instructions.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Connect to or reset a connector connection pool by using the
+link:reference-manual/flush-connection-pool.html#GSRFM00135[`flush-connection-pool`] subcommand or the
+link:reference-manual/ping-connection-pool.html#GSRFM00214[`ping-connection-pool`] subcommand.
+
+[[gioti]][[GSADG00434]][[to-update-a-connector-connection-pool]]
+
+==== To Update a Connector Connection Pool
+
+Use the `get` and `set` subcommands to view and change the values of the
+connector connection pool properties.
+
+1. List the connector connection pools by using the
+link:reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
+2. View the properties of the connector connection pool by using the
+link:reference-manual/get.html#GSRFM00139[`get`] subcommand. For example:
++
+[source]
+----
+asadmin> get domain.resources.connector-connection-pool.conectionpoolname.*
+----
+3. Set the property of the connector connection pool by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
+For example:
++
+[source]
+----
+asadmin> set domain.resources.connector-connection-pool
+.conectionpoolname.validate-atmost-once-period-in-seconds=3
+----
+4. If needed, restart the server. Some properties require server restart.
+See link:overview.html#ghciy[Configuration Changes That Require Restart].
+If your server needs to be restarted, see link:domains.html#ginqj[To Restart a Domain].
+
+[[giocp]][[GSADG00435]][[to-delete-a-connector-connection-pool]]
+
+==== To Delete a Connector Connection Pool
+
+Use the `delete-connector-connection-pool` subcommand in remote mode to
+remove a connector connection pool.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the connector connection pools by using the
+link:reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
+3. If necessary, notify users that the connector connection pool is being deleted.
+4. Delete the connector connection pool by using the
+link:reference-manual/delete-connector-connection-pool.html#GSRFM00070[`delete-connector-connection-pool`] subcommand.
+
+[[GSADG00225]][[giohd]]
+Example 12-3 Deleting a Connector Connection Pool
+
+This example deletes the connection pool named `jms/qConnPool`.
+
+[source]
+----
+asadmin> delete-connector-connection-pool --cascade=false jms/qConnPool
+Command delete-connector-connection-pool executed successfully
+----
+
+[[GSADG971]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-connector-connection-pool` at the command
+line.
+
+[[abllx]][[GSADG00582]][[administering-connector-resources]]
+
+=== Administering Connector Resources
+
+A connector resource provides an application or module with the means of
+connecting to an EIS. Typically, you create a connector resource for
+each EIS that is accessed by the applications deployed in the domain.
+
+The following topics are addressed here:
+
+* link:#giogt[To Create a Connector Resource]
+* link:#giohs[To List Connector Resources]
+* link:#giosg[To Update a Connector Resource]
+* link:#giofs[To Delete a Connector Resource]
+
+[[giogt]][[GSADG00436]][[to-create-a-connector-resource]]
+
+==== To Create a Connector Resource
+
+Use the `create-connector-resource` subcommand in remote mode to
+register a new connector resource with its JNDI name.
+
+Creating a connector resource is a dynamic event and does not require
+server restart. However, there are some parameters that do require
+server restart. See link:overview.html#ghciy[Configuration Changes That
+Require Restart].
+
+[[GSADG972]]
+
+Before You Begin
+
+Before creating a connector resource, you must first create a connector
+connection pool. For instructions, see link:#gioce[To Create a Connector
+Connection Pool].
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create the connector resource by using the
+link:reference-manual/create-connector-resource.html#GSRFM00019[`create-connector-resource`] subcommand.
++
+Information about properties for the subcommand is included in this help
+page.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00226]][[giogn]]
+Example 12-4 Creating a Connector Resource
+
+This example creates a new resource named `jms/qConnFactory` for the
+`jms/qConnPool` connection pool.
+
+[source]
+----
+asadmin> create-connector-resource --poolname jms/qConnPool
+--description "creating sample connector resource" jms/qConnFactory
+Command create-connector-resource executed successfully
+----
+
+[[GSADG973]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-connector-resource` at the command line.
+
+[[giohs]][[GSADG00437]][[to-list-connector-resources]]
+
+==== To List Connector Resources
+
+Use the `list-connector-resources` subcommand in remote mode to list the
+connector resources that have been created.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the connector connection pools by using the
+link:reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`] subcommand.
+
+[[GSADG00227]][[gioia]]
+Example 12-5 Listing Connector Resources
+
+This example lists the existing connector resources.
+
+[source]
+----
+asadmin> list-connector-resources
+jms/qConnFactory
+Command list-connector-resources executed successfully
+----
+
+[[GSADG974]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-connector-resources` at the command line.
+
+[[giosg]][[GSADG00438]][[to-update-a-connector-resource]]
+
+==== To Update a Connector Resource
+
+Use the `get` and `set` subcommands to view and change the values of the
+connector resource properties.
+
+1. List the connector connection pools by using the
+link:reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`] subcommand.
+2. View the properties of the connector resource by using the
+link:reference-manual/get.html#GSRFM00139[`get`] subcommand.
+For example
++
+[source]
+----
+asadmin> get domain.resources.connector-resource.jms/qConnFactory
+----
+3. Set the property of the connector resource by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
+For example:
++
+[source]
+----
+asadmin> set domain.resources.connector-resource.jms/qConnFactory.enabled=true
+----
+4. If needed, restart the server. Some properties require server restart.
+See link:overview.html#ghciy[Configuration Changes That Require Restart].
+If your server needs to be restarted, see link:domains.html#ginqj[To Restart a Domain].
+
+[[giofs]][[GSADG00439]][[to-delete-a-connector-resource]]
+
+==== To Delete a Connector Resource
+
+Use the `delete-connector-resource` subcommand in remote mode to remove
+a connector resource by specifying the JNDI name.
+
+[[GSADG975]]
+
+Before You Begin
+
+Before deleting a resource, all associations with the resource must be removed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the connector connection pools by using the
+link:reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`] subcommand.
+3. If necessary, notify users that the connector resource is being deleted.
+4. Delete the connector resource by using the
+link:reference-manual/delete-connector-resource.html#GSRFM00071[`delete-connector-resource`] subcommand.
+
+[[GSADG00228]][[giokh]]
+Example 12-6 Deleting a Connector Resource
+
+This example deletes the `jms/qConnFactory` connector resource.
+
+[source]
+----
+asadmin> delete-connector-resource jms/qConnFactory
+Command delete-connector-resources executed successfully
+----
+
+[[GSADG976]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-connector-resource` at the command line.
+
+[[giope]][[GSADG00583]][[administering-the-resource-adapter-configuration]]
+
+=== Administering the Resource Adapter Configuration
+
+The following topics are addressed here:
+
+* link:#gioqx[To Create Configuration Information for a Resource
+Adapter]
+* link:#giorn[To List Resource Adapter Configurations]
+* link:#gioum[To Update a Resource Adapter Configuration]
+* link:#gionv[To Delete a Resource Adapter Configuration]
+
+[[gioqx]][[GSADG00440]][[to-create-configuration-information-for-a-resource-adapter]]
+
+==== To Create Configuration Information for a Resource Adapter
+
+Use the `create-resource-adapter-config` subcommand in remote mode to
+create configuration information for a resource adapter, also known as a
+connector module. You can run the subcommand before deploying a resource
+adapter, so that the configuration information is available at the time
+of deployment. The resource adapter configuration can also be created
+after the resource adapter is deployed. In this situation, the resource
+adapter is restarted with the new configuration.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create configuration information by using the
+link:reference-manual/create-resource-adapter-config.html#GSRFM00054[`create-resource-adapter-config`] subcommand.
++
+Information about properties for the subcommand is included in this help
+page.
+
+[[GSADG00229]][[gionp]]
+Example 12-7 Creating a Resource Adapter Configuration
+
+This example creates the configuration for resource adapter `ra1`.
+
+[source]
+----
+asadmin> create-resource-adapter-config --property foo=bar
+--threadpoolid mycustomerthreadpool ra1
+Command create-resource-adapter-config executed successfully
+----
+
+[[GSADG977]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-resource-adapter-config` at the command
+line.
+
+[[giorn]][[GSADG00441]][[to-list-resource-adapter-configurations]]
+
+==== To List Resource Adapter Configurations
+
+Use the `list-resource-adapter-configs` subcommand in remote mode to
+list the configuration information contained in the domain configuration
+file (`domain.xml`) for the specified resource adapter (connector
+module).
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the configurations for a resource adapter by using the
+link:reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`] subcommand.
+
+[[GSADG00230]][[gioof]]
+Example 12-8 Listing Configurations for a Resource Adapter
+
+This example lists all the resource adapter configurations.
+
+[source]
+----
+asadmin> list-resource-adapter-configs
+ra1
+ra2
+Command list-resource-adapter-configs executed successfully
+----
+
+[[GSADG978]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-resource-adapter-configs` at the command line.
+
+[[gioum]][[GSADG00442]][[to-update-a-resource-adapter-configuration]]
+
+==== To Update a Resource Adapter Configuration
+
+Use the `get` and `set` subcommands to view and change the values of the
+resource adapter configuration properties.
+
+1. List the configurations for a resource adapter by using the
+link:reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`] subcommand.
+2. View the properties of the connector resource by using the
+link:reference-manual/get.html#GSRFM00139[`get`] subcommand.
+For example:
++
+[source]
+----
+asadmin>get domain.resources.resource-adapter-config.ra1.*
+----
+3. Set the property of the connector resource by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
+For example:
++
+[source]
+----
+asadmin> set domain.resources.resource-adapter-config.ra1.raSpecificProperty=value
+----
+
+[[gionv]][[GSADG00443]][[to-delete-a-resource-adapter-configuration]]
+
+==== To Delete a Resource Adapter Configuration
+
+Use the `delete-resource-adapter-config` subcommand in remote mode to
+delete the configuration information contained in the domain
+configuration file (`domain.xml`) for a specified resource adapter
+(connector module).
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the configurations for a resource adapter by using the
+link:reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`] subcommand.
+3. Delete the configuration for a resource adapter by using the
+link:reference-manual/delete-resource-adapter-config.html#GSRFM00106[`delete-resource-adapter-config`] subcommand.
+
+[[GSADG00231]][[giorj]]
+Example 12-9 Deleting a Resource Adapter Configuration
+
+This example deletes the configuration for resource adapter `ra1`.
+
+[source]
+----
+asadmin> delete-resource-adapter-config ra1
+Command delete-resource-adapter-config executed successfully
+----
+
+[[GSADG979]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-resource-adapter-config` at the command
+line.
+
+[[gitxy]][[GSADG00584]][[administering-connector-security-maps]]
+
+=== Administering Connector Security Maps
+
+The EIS is any system that holds the data of an organization. It can be
+a mainframe, a messaging system, a database system, or an application.
+The connector security map is used to map the application's credentials
+to the EIS credentials.
+
+A security map applies to a particular connector connection pool. One or
+more named security maps can be associated with a connector connection
+pool.
+
+The following topics are addressed here:
+
+* link:#gitzz[To Create a Connector Security Map]
+* link:#gitwx[To List Connector Security Maps]
+* link:#gityj[To Update a Connector Security Map]
+* link:#gitvf[To Delete a Connector Security Map]
+
+[[gitzz]][[GSADG00444]][[to-create-a-connector-security-map]]
+
+==== To Create a Connector Security Map
+
+Use the `create-connector-security-map` subcommand in remote mode to
+create a security map for the specified connector connection pool. If
+the security map is not present, a new one is created. You can specify
+back-end EIS principals or back-end EIS user groups. The connector
+security map configuration supports the use of the wild card asterisk
+(*) to indicate all users or all user groups.
+
+You can also use this subcommand to map the caller identity of the
+application (principal or user group) to a suitable EIS principal in
+container-managed authentication scenarios.
+
+[[GSADG980]]
+
+Before You Begin
+
+For this subcommand to succeed, you must have first created a connector
+connection pool. For instructions, see link:#gioce[To Create a Connector
+Connection Pool].
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a connector security map by using the
+link:reference-manual/create-connector-security-map.html#GSRFM00020[`create-connector-security-map`] subcommand.
++
+Information about the options for the subcommand is included in this
+help page.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00232]][[giuxc]]
+Example 12-10 Creating a Connector Security Map
+
+This example creates a connector security map `securityMap1` for
+`connection-pool1`.
+
+[source]
+----
+asadmin> create-connector-security-map --poolname connector-pool1
+--principals principal1, principal2 --mappedusername backend-username securityMap1
+Command create-connector-security-map executed successfully
+----
+
+[[gitwx]][[GSADG00445]][[to-list-connector-security-maps]]
+
+==== To List Connector Security Maps
+
+Use the `list-connector-security-maps` subcommand in remote mode to list
+the existing security maps belonging to the specified connector
+connection pool. You can get a simple listing of the connector security
+maps for a connector connection pool, or you can get a more
+comprehensive listing that shows the principals of the map.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List existing connector connection pools by using the
+link:reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
+3. List the security maps for a specific connector connection pool by
+using the link:reference-manual/list-connector-security-maps.html#GSRFM00159[`list-connector-security-maps`] subcommand.
+
+[[GSADG00233]][[giuwj]]
+Example 12-11 Listing All Connector Security Maps for a Connector
+Connection Pool
+
+This example lists the connector security maps associated with
+`connector-Pool1`.
+
+[source]
+----
+asadmin> list-connector-security-maps connector-Pool1
+securityMap1
+Command list-connector-security-maps executed successfully.
+----
+
+[[GSADG00234]][[giuyc]]
+Example 12-12 Listing Principals for a Specific Security Map for a
+Connector Connection Pool
+
+This example lists the principals associated with `securityMap1`.
+
+[source]
+----
+asadmin> list-connector-security-maps --securitymap securityMap1 connector-Pool1
+principal1
+principal1
+Command list-connector-security-maps executed successfully.
+----
+
+[[GSADG00235]][[giuuf]]
+Example 12-13 Listing Principals of All Connector Security Maps for a
+Connector Connection Pool
+
+This example lists the connector security maps associated with
+`connector-Pool1`.
+
+[source]
+----
+asadmin> list-connector-security-maps --verbose connector-Pool1
+securityMap1
+principal1
+principal1
+Command list-connector-security-maps executed successfully.
+----
+
+[[gityj]][[GSADG00446]][[to-update-a-connector-security-map]]
+
+==== To Update a Connector Security Map
+
+Use the `update-connector-security-map` subcommand in remote mode to
+create or modify a security map for the specified connector connection
+pool.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List existing connector security maps by using the
+link:reference-manual/list-connector-security-maps.html#GSRFM00159[`list-connector-security-maps`] subcommand.
+3. Modify a security map for a specific connector connection pool by
+using the link:reference-manual/update-connector-security-map.html#GSRFM00252[`update-connector-security-map`] subcommand.
+4. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00236]][[giuwi]]
+Example 12-14 Updating a Connector Security Map
+
+This example adds principals to `securityMap1`.
+
+[source]
+----
+asadmin> update-connector-security-map --poolname connector-pool1
+--addprincipals principal1, principal2 securityMap1
+Command update-connector-security-map executed successfully.
+----
+
+[[gitvf]][[GSADG00447]][[to-delete-a-connector-security-map]]
+
+==== To Delete a Connector Security Map
+
+Use the `delete-connector-security-map` subcommand in remote mode to
+delete a security map for the specified connector connection pool.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List existing connector connection pools by using the
+link:reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
+3. Delete a security map for a specific connector connection pool by
+using the link:reference-manual/delete-connector-security-map.html#GSRFM00072[`delete-connector-security-map`] subcommand.
++
+Information about options for this subcommand is included in this help
+page.
+
+[[GSADG00237]][[giuvr]]
+Example 12-15 Deleting a Connector Security Map
+
+This example deletes `securityMap1` from `connector-pool1`.
+
+[source]
+----
+asadmin> delete-connector-security-map --poolname connector-pool1 securityMap1
+
+Command delete-connector-security-map executed successfully
+----
+
+[[giohl]][[GSADG00585]][[administering-connector-work-security-maps]]
+
+=== Administering Connector Work Security Maps
+
+The EIS is any system that holds the data of an organization. It can be
+a mainframe, a messaging system, a database system, or an application.
+The connector work security map is used to is used to map the EIS
+credentials to the credentials of {productName} security domain.
+
+A security map applies to a particular connector connection pool. One or
+more named security maps can be associated with a connector connection
+pool.
+
+The following topics are addressed here:
+
+* link:#giofz[To Create a Connector Work Security Map]
+* link:#gioir[To List Connector Work Security Maps]
+* link:#giogm[To Update a Connector Work Security Map]
+* link:#gioin[To Delete a Connector Work Security Map]
+
+[[giofz]][[GSADG00448]][[to-create-a-connector-work-security-map]]
+
+==== To Create a Connector Work Security Map
+
+Use the `create-connector-work-security-map` subcommand in remote mode
+to map the caller identity of the work submitted by the connector module
+(resource adapter) EIS principal or EIS user group to a suitable
+principal or user group in the {productName} security domain. One or
+more work security maps can be associated with a connector module.
+
+The connector security map configuration supports the use of the wild
+card asterisk (*) to indicate all users or all user groups.
+
+[[GSADG981]]
+
+Before You Begin
+
+Before creating a connector work security map, you must first create a
+connector connection pool. For instructions, see link:#gioce[To Create a
+Connector Connection Pool].
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create the connector work security map by using the
+link:reference-manual/create-connector-work-security-m.html#GSRFM00021[`create-connector-work-security-map`] subcommand.
++
+Information about properties for the subcommand is included in this help
+page.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00238]][[giokw]]
+Example 12-16 Creating Connector Work Security Maps
+
+The following examples create `workSecurityMap1` and `workSecurityMap2`
+for `my-resource-adapter-name`.
+
+[source]
+----
+asadmin> create-connector-work-security-map --raname my-resource-adapter-name
+--principalsmap eis-principal-1=server-principal-1,eis-principal-2=server-principal-2,
+eis-principal-3=server-principal-1 workSecurityMap1
+
+asadmin> create-connector-work-security-map --raname my-resource-adapter-name
+--groupsmap eis-group-1=server-group-1,eis-group-2=server-group-2,
+eis-group-3=server-group-1 workSecurityMap2
+Command create-connector-work-security-map executed successfully
+----
+
+[[GSADG982]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-connector-work-security-map` at the command
+line.
+
+[[gioir]][[GSADG00449]][[to-list-connector-work-security-maps]]
+
+==== To List Connector Work Security Maps
+
+Use the `list-connector-work-security-maps` subcommand in remote mode to
+list the work security maps that belong to a specific connector module.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the connector work security maps by using the
+link:reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`] subcommand.
+
+[[GSADG00239]][[gionj]]
+Example 12-17 Listing the Connector Work Security Maps
+
+This example lists the generic work security maps.
+
+[source]
+----
+asadmin> list-connector-work-security-maps generic-ra
+generic-ra-groups-map: EIS group=eis-group, mapped group=glassfish-group
+generic-ra-principals-map: EIS principal=eis-bar, mapped principal=bar
+generic-ra-principals-map: EIS principal=eis-foo, mapped principal=foo
+Command list-connector-work-security-maps executed successfully.
+----
+
+[[GSADG983]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-connector-work-security-maps` at the command
+line.
+
+[[giogm]][[GSADG00450]][[to-update-a-connector-work-security-map]]
+
+==== To Update a Connector Work Security Map
+
+Use the `update-connector-work-security-map` subcommand in remote to
+modify a work security map that belongs to a specific resource adapter
+(connector module).
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the connector work security maps by using the
+link:reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`] subcommand.
+3. If necessary, notify users that the connector work security map is
+being modified.
+4. Update a connector work security map by using the
+link:reference-manual/update-connector-work-security-m.html#GSRFM00253[`update-connector-work-security-map`] subcommand.
+
+[[GSADG00240]][[gioll]]
+Example 12-18 Updating a Connector Work Security Map
+
+This example removes a principal from a work security map.
+
+[source]
+----
+asadmin> update-connector-work-security-map --raname generic-ra
+--removeprincipals eis-foo generic-ra-principals-map
+Command update-connector-work-security-map executed successfully.
+----
+
+[[GSADG984]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help update-connector-work-security-map` at the command
+line.
+
+[[gioin]][[GSADG00451]][[to-delete-a-connector-work-security-map]]
+
+==== To Delete a Connector Work Security Map
+
+Use the `delete-connector-work-security-map` subcommand in remote mode
+to delete a work security map that belongs to a specific connector
+module (resource adapter).
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the connector work security maps by using the
+link:reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`] subcommand.
+3. Delete a connector work security map by using the
+link:reference-manual/delete-connector-work-security-m.html#GSRFM00073[`delete-connector-work-security-map`] subcommand.
+
+[[GSADG00241]][[giolk]]
+Example 12-19 Deleting a Connector Work Security Map
+
+This example deletes the `worksecuritymap1` map from the `my_ra`
+connector module.
+
+[source]
+----
+asadmin> delete-connector-work-security-map --raname my_ra worksecuritymap1
+Command delete-connector-work-security-map executed successfully.
+----
+
+[[GSADG985]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-connector-work-security-map` at the command
+line.
+
+[[ablmc]][[GSADG00586]][[administering-administered-objects]]
+
+=== Administering Administered Objects
+
+Packaged within a connector module, an administered object provides
+specialized functionality for an application. For example, an
+administered object might provide access to a parser that is specific to
+the connector module and its associated EIS.
+
+The following topics are addressed here:
+
+* link:#giolr[To Create an Administered Object]
+* link:#giokm[To List Administered Objects]
+* link:#giots[To Update an Administered Object]
+* link:#gioma[To Delete an Administered Object]
+
+[[giolr]][[GSADG00452]][[to-create-an-administered-object]]
+
+==== To Create an Administered Object
+
+Use the `create-admin-object` subcommand to create an administered
+object resource. When creating an administered object resource,
+name-value pairs are created, and the object is associated to a JNDI
+name.
+
+[[GSADG986]]
+
+Before You Begin
+
+The resource adapter must be deployed before running this subcommand
+(`jmsrar.rar`).
+
+1. Create an administered object by using the
+link:reference-manual/create-admin-object.html#GSRFM00012[`create-admin-object`] subcommand.
++
+Information about properties for the subcommand is included in this help
+page.
+2. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00242]][[giokx]]
+Example 12-20 Creating an Administered Object
+
+For this example, the `jakarta.jms.Queue` resource type is obtained from
+the `ra.xml` file. The JNDI name of the new administered object is
+`jms/samplequeue`.
+
+[source]
+----
+asadmin> create-admin-object --restype jakarta.jms.Queue --raname jmsra
+--description "sample administered object" --property Name=sample_jmsqueue jms/samplequeue
+Command create-admin-object executed successfully
+----
+
+[[GSADG987]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-admin-object` at the command line.
+
+[[giokm]][[GSADG00453]][[to-list-administered-objects]]
+
+==== To List Administered Objects
+
+Use the `list-admin-object` subcommand in remote mode to list the
+existing administered objects.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the administered objects by using the
+link:reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`] subcommand.
+
+[[GSADG00243]][[giokg]]
+Example 12-21 Listing Administered Objects
+
+This example lists the existing administered objects.
+
+[source]
+----
+asadmin> list-admin-objects
+jms/samplequeue
+Command list-admin-objects executed successfully
+----
+
+[[GSADG988]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-admin-object` at the command line.
+
+[[giots]][[GSADG00454]][[to-update-an-administered-object]]
+
+==== To Update an Administered Object
+
+Use the `get` and `set` subcommands to view and change the values of the
+administered objects properties.
+
+1. List the administered objects by using the
+link:reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`] subcommand.
+2. View the properties of the administered object by using the
+link:reference-manual/get.html#GSRFM00139[`get`] subcommand.
+For example:
++
+[source]
+----
+asadmin> get domain.resources.admin-object-resource.jms/samplequeue.*
+----
+3. Set the property of the administered object by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
+For example:
++
+[source]
+----
+asadmin> set domain.resources.admin-object-resource.jms/samplequeue.enabled=false
+----
+4. If needed, restart the server. Some properties require server restart.
+See link:overview.html#ghciy[Configuration Changes That Require Restart].
+If your server needs to be restarted, see link:domains.html#ginqj[To Restart a Domain].
+
+[[gioma]][[GSADG00455]][[to-delete-an-administered-object]]
+
+==== To Delete an Administered Object
+
+Use the `delete-admin-object` subcommand to delete an administered objects.
+
+1. List the administered objects by using the
+link:reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`] subcommand.
+2. If necessary, notify users that the administered object is being deleted.
+3. Delete an administered object by using the
+link:reference-manual/delete-admin-object.html#GSRFM00063[`delete-admin-object`] subcommand.
+
+[[GSADG00244]][[giolc]]
+Example 12-22 Deleting an Administered Object
+
+This example deletes the administered object with the JNDI name
+`jms/samplequeue`.
+
+[source]
+----
+asadmin> delete-admin-object jms/samplequeue
+Command delete-admin-object executed successfully
+----
+
+[[GSADG989]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-admin-object` at the command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/domains.adoc b/docs/administration-guide/src/main/asciidoc/domains.adoc
new file mode 100644
index 0000000..144c704
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/domains.adoc
@@ -0,0 +1,1466 @@
+type=page
+status=published
+title=Administering Domains
+next=jvm.html
+prev=general-administration.html
+~~~~~~
+
+= Administering Domains
+
+[[GSADG00006]][[ggnop]]
+
+
+[[administering-domains]]
+== 3 Administering Domains
+
+This chapter provides procedures for administering domains in the
+{productName} environment by using the `asadmin`
+command-line utility.
+
+The following topics are addressed here:
+
+* link:#ggoek[About Administering Domains]
+* link:#gitvz[Creating, Logging In To, and Deleting a Domain]
+* link:#gitwj[Starting and Stopping a Domain]
+* link:#gglqp[Configuring a DAS or a {productName} Instance for Automatic Restart]
+* link:#gityo[Backing Up and Restoring a Domain]
+* link:#gglri[Re-Creating the Domain Administration Server (DAS)]
+* link:#gitvn[Additional Domain Tasks]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[ggoek]][[GSADG00535]][[about-administering-domains]]
+
+=== About Administering Domains
+
+A domain contains a group of {productName} instances that are
+administered together. Each domain has a domain administration server
+(DAS) that hosts administrative applications. These concepts are
+explained in more detail in the following sections:
+
+* link:#geolm[{productName} Instances]
+* link:#geojp[Domains for Administering {productName}]
+* link:#geojl[Domain Administration Server (DAS)]
+
+[[geolm]][[GSADG00715]][[glassfish-server-instances]]
+
+==== {productName} Instances
+
+A {productName} instance is a single Virtual Machine for the Java
+platform (Java Virtual Machine or JVM machine) on a single node in which
+{productName} is running. A node defines the host where the {productName} instance resides. The JVM machine must be compatible with the
+Java Platform, Enterprise Edition (Jakarta EE).
+
+{productName} instances form the basis of an application deployment.
+
+Whenever a domain is created, {productName} creates a default
+instance that is named `server`. If a single instance meets your
+requirements, you can use this instance for deploying applications
+without the need to administer {productName} instances explicitly.
+You administer the default instance when you administer its domain.
+
+If you require multiple instances, you must administer the instances
+explicitly. For more information, see "link:ha-administration-guide/instances.html#GSHAG00006[Administering
+{productName} Instances]" in {productName}
+High Availability Administration Guide.
+
+For an instance, you can also create virtual servers. Virtual servers do
+not span instances. For many purposes, you can use virtual servers
+instead of multiple instances in operational deployments. Virtual
+servers enable you to offer, within a single instance, separate domain
+names, IP addresses, and some administration capabilities to
+organizations or individuals. To these users, a virtual server behaves
+like a dedicated web server, but without the hardware and basic web
+server maintenance.
+
+For more information about virtual servers, see
+link:http_https.html#ggncs[Administering Virtual Servers].
+
+[[geojp]][[GSADG00716]][[domains-for-administering-glassfish-server]]
+
+==== Domains for Administering {productName}
+
+A domain is an administrative boundary that contains a group of
+{productName} instances that are administered together. Each instance
+can belong to only one domain. A domain provides a preconfigured runtime
+for user applications. Each domain has its own configuration data, log
+files, and application deployment areas that are independent of other
+domains. If the configuration is changed for one domain, the
+configurations of other domains are not affected.
+
+Domains enable different organizations and administrators to share
+securely a single {productName} installation. Each organization or
+administrator can administer the instances in a single domain without
+affecting the instances in other domains.
+
+At installation time, {productName} creates a default domain that is
+named `domain1`. After installation, you can create additional domains
+as necessary.
+
+When a domain is created, you are prompted for the administration user
+name and password. If you accept the default, the user `admin` is
+created without password. To reset the administration password, see
+"link:security-guide/system-security.html#GSSCG00095[To Change an Administration Password]" in {productName} Security Guide.
+
+[[geojl]][[GSADG00717]][[domain-administration-server-das]]
+
+==== Domain Administration Server (DAS)
+
+The domain administration server (DAS) is a specially designated
+{productName} instance that hosts administrative applications. The
+DAS is similar to any other {productName} instance, except that the
+DAS has additional administration capabilities. The DAS authenticates
+the administrator, accepts requests from administration tools, and
+communicates with other instances in the domain to carry out the
+requests from administration tools.
+
+Each domain has its own DAS with a unique administration port number.
+The default administration port is 4848, but a different port can be
+specified when a domain is created.
+
+The DAS has the master copy of the configuration data for all instances
+in a domain. If an instance is destroyed, for example, because a host
+failed, the instance can be re-created from the data in the DAS.
+
+The DAS is the default {productName} instance in a domain and is
+named `server`. If a single instance meets your requirements, you can
+use the DAS for deploying applications and for administering the domain.
+
+The graphical Administration Console communicates with a specific DAS to
+administer the domain that is associated with the DAS. Each
+Administration Console session enables you to configure and manage only
+one domain. If you create multiple domains, you must start a separate
+Administration Console session to manage each domain.
+
+[[gitvz]][[GSADG00536]][[creating-logging-in-to-and-deleting-a-domain]]
+
+=== Creating, Logging In To, and Deleting a Domain
+
+The following topics are addressed here:
+
+* link:#ggoei[To Create a Domain]
+* link:#gldel[To Create a Domain From a Custom Template]
+* link:#ggoco[To List Domains]
+* link:#ghhjz[To Log In to a Domain]
+* link:#ggofa[To Delete a Domain]
+
+[[ggoei]][[GSADG00330]][[to-create-a-domain]]
+
+==== To Create a Domain
+
+After installing {productName} and creating the default domain
+(`domain1`), you can create additional domains by using the local
+`create-domain` subcommand. This subcommand creates the configuration of
+a domain. Any user who has access to the `asadmin` utility on a given
+system can create a domain and store the domain configuration in a
+folder of choice. By default, the domain configuration is created in the
+default directory for domains. You can override this location to store
+the configuration elsewhere.
+
+You are required to specify an administrative user when you create a
+domain, or you can accept the default login identity which is username
+`admin` with no password.
+
+1. Select a name for the domain that you are creating.
+You can verify that a name is not already in use by using the
+link:reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand
+2. Create a domain by using the link:reference-manual/create-domain.html#GSRFM00023[`create-domain`] subcommand.
+Information about the options for this subcommand is included in this help page.
+3. Type an admin user name and password for the domain.
+To avoid setting up an admin login, you can accept the default `admin`,
+with no password. Pressing Return also selects the default.
+
+[[GSADG00126]][[ggoeu]]
+Example 3-1 Creating a Domain
+
+This example creates a domain named `domain1` . When you type the
+command, you might be prompted for login information.
+
+[source]
+----
+asadmin> create-domain --adminport 4848 domain1
+Enter admin user name[Enter to accept default]>
+Using port 4848 for Admin.
+Default port 8080 for HTTP Instance is in use. Using 1161
+Using default port 7676 for JMS.
+Using default port 3700 for IIOP.
+Using default port 8081 for HTTP_SSL.
+Using default port 3820 for IIOP_SSL.
+Using default port 3920 for IIOP_MUTUALAUTH.
+Default port 8686 for JMX_ADMIN is in use. Using 1162
+Distinguished Name of the self-signed X.509 Server Certificate is:
+[CN=moonbeam.gateway.2wire.net,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST
+California,C=US]
+Domain domain1 created.
+Command create-domain executed successfully.
+----
+
+To start the Administration Console in a browser, enter the URL in the
+following format:
+
+[source]
+----
+http://hostname:5000
+----
+
+For this example, the domain's log files, configuration files, and
+deployed applications now reside in the following directory:
+
+domain-root-dir``/mydomain``
+
+[[GSADG819]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-domain` at the command line.
+
+[[gldel]][[GSADG00331]][[to-create-a-domain-from-a-custom-template]]
+
+==== To Create a Domain From a Custom Template
+
+A custom template enables you to customize the configuration of any
+domain that you create from the template.
+
+1. Create a domain to use as the basis for the template.
+For more information, see link:#ggoei[To Create a Domain].
+
+2. Use the `asadmin` utility or the Administration Console to configure the domain.
+Your configuration changes will be included in the template that you create from the domain.
+
+3. Copy the domain's `domain.xml` file under a new name to the
+as-install``/lib/templates`` directory.
+A domain's `domain.xml` file is located in the domain-dir``/config`` directory.
+
+4. In a plain text editor, edit the file that you copied to replace
+with tokens values that are to be substituted when a domain is created.
+Each token is identified as `%%%token-name%%%`, where `token-name` is
+one of the following names:::
+`ADMIN_PORT`::
+  Represents the port number of the HTTP port or the HTTPS port for
+  administration. This token is replaced with one of the following
+  values in the command to create a domain from the template:
+  * The value of the `--adminport` option
+  * The value of the `domain.adminPort` property
+`CONFIG_MODEL_NAME`::
+  Represents the name of the configuration that is created for the
+  domain that is being created. This token is replaced with the string
+  `server-config`.
+`DOMAIN_NAME`::
+  Represents the name of the domain that is being created. This token is
+  replaced with the operand of `create-domain` subcommand.
+`HOST_NAME`::
+  Represents the name of the host on which the domain is being created.
+  This token is replaced with the fully qualified host name of the host
+  where the domain is being created.
+`HTTP_PORT`::
+  Represents the port number of the port that is used to listen for HTTP
+  requests. This token is replaced with one of the following values in
+  the command to create a domain from the template:
+  * The value of the `--instanceport` option
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `domain.instancePort` property
+`HTTP_SSL_PORT`::
+  Represents the port number of the port that is used to listen for
+  secure HTTP requests. This token is replaced with one of the following
+  values in the command to create a domain from the template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `http.ssl.port` property
+`JAVA_DEBUGGER_PORT`::
+  Represents the port number of the port that is used for connections to the
+  http://docs.oracle.com/javase/8/docs/technotes/guides/jpda/architecture.html[Java
+  Platform Debugger Architecture (JPDA)] debugger.
+  This token is replaced with one of the following values in the command to create
+  a domain from the template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `java.debugger.port` property
+`JMS_PROVIDER_PORT`::
+  Represents the port number for the Java Message Service provider.
+  This token is replaced with one of the following values in the command to
+  create a domain from the template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `jms.port` property
+`JMX_SYSTEM_CONNECTOR_PORT`::
+  Represents the port number on which the JMX connector listens.
+  This token is replaced with one of the following values in the command to
+  create a domain from the template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `domain.jmxPort` property
+`ORB_LISTENER_PORT`::
+  Represents the port number of the port that is used for IIOP
+  connections. This token is replaced with one of the following values
+  in the command to create a domain from the template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `orb.listener.port` property
+`ORB_MUTUALAUTH_PORT`::
+  Represents the port number of the port that is used for secure IIOP
+  connections with client authentication. This token is replaced with
+  one of the following values in the command to create a domain from the
+  template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `orb.mutualauth.port` property
+`ORB_SSL_PORT`::
+  Represents the port number of the port that is used for secure IIOP
+  connections. This token is replaced with one of the following values
+  in the command to create a domain from the template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `orb.ssl.port` property
+`OSGI_SHELL_TELNET_PORT`::
+  Represents the port number of the port that is used for connections to the
+  http://felix.apache.org/documentation/subprojects/apache-felix-remote-shell.html[Apache
+  Felix Remote Shell]. This shell uses the Felix shell service to
+  interact with the OSGi module management subsystem. This token is
+  replaced with one of the following values in the command to create
+  a domain from the template:
+  * A value that the `create-domain` subcommand calculates from the
+  value of the `--portbase` option
+  * The value of the `osgi.shell.telnet.port` property
+`SERVER_ID`::
+  Represents the name of the DAS for the domain that is being created.
+  This token is replaced with the string `server`.
++
+[TIP]
+====
+For information about how these tokens are used in the default template,
+examine the as-install``/lib/templates/domain.xml`` file.
+====
+
+5. Create the domain that you want to be based on a custom template.
+In the command to create the domain, pass the name of file that you
+edited in the previous step as the `--template` option of the
+link:reference-manual/create-domain.html#GSRFM00023[`create-domain`] subcommand.
+
+6. Before starting the domain, verify that the domain's `domain.xml` file is valid.
+Use the link:reference-manual/verify-domain-xml.html#GSRFM00260[`verify-domain-xml`]
+subcommand for this purpose.
+Information about the options for this subcommand is included in the subcommand's help page.
+
+[[GSADG820]]
+
+See Also
+
+* link:#ggoei[To Create a Domain]
+* link:reference-manual/create-domain.html#GSRFM00023[`create-domain`(1)]
+* link:reference-manual/verify-domain-xml.html#GSRFM00260[`verify-domain-xml`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line.
+
+* `asadmin help create-domain`
+* `asadmin help verify-domain-xml`
+
+[[ggoco]][[GSADG00332]][[to-list-domains]]
+
+==== To List Domains
+
+Use the `list-domains` subcommand to display a list of domains and their statuses.
+If the domain directory is not specified, the contents of the
+domain-root-dir, the default for which is as-install``/domains``, is listed.
+If there is more than one domain, the domain name must be specified.
+
+To list domains that were created in other directories, specify the `--domaindir` option.
+
+List domains by using the link:reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand.
+
+[[GSADG00127]][[ggpfv]]
+Example 3-2 Listing Domains
+
+This example lists the domains in the default domain root directory:
+
+[source]
+----
+asadmin> list-domains
+Name: domain1 Status: Running
+Name: domain4 Status: Not Running
+Name: domain6 Status: Not Running
+Command list-domains executed successfully.
+----
+
+[[GSADG821]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-domain` at the command line.
+
+[[ghhjz]][[GSADG00333]][[to-log-in-to-a-domain]]
+
+==== To Log In to a Domain
+
+All remote subcommands require that credentials be specified in terms of
+an administration user name and its password. By default, the domain is
+created with an identity that allows an `asadmin` user to perform
+administrative operations when no identity is explicitly or implicitly
+specified.
+
+The default identity is in the form of a user whose name is `admin` and
+has no password. If you specify no user name on the command line or on
+prompt, and specify no password in the `--passwordfile` option or on
+prompt, and you have never logged in to a domain using either the
+`login` subcommand or the `create-domain` subcommand with the
+`--savelogin` option, then the `asadmin` utility will attempt to perform
+a given administrative operation without specifying any identity.
+
+A server (domain) allows administrative operations to be run using this
+default identity if the following conditions are true:
+
+* The server (domain) uses file realm for authentication of administrative users.
+If this condition is not true, you will need to specify the user name
+and password.
+* The file realm has one and only one user (what the user name is does not matter).
+If this condition is not true, you will also need to specify the user name.
+* That one user has no password.
+If this condition is not true, you will need to specify the password.
+
+By default, all of these conditions are true, unless you have created
+the domain with a specific user name and password. Thus, by default, the
+only administrative user is `admin` with no password.
+
+Use the `login` subcommand in local mode to authenticate yourself (log
+in to) a specific domain. After such login, you do not need to specify
+the administration user or password for subsequent operations on the
+domain. The `login` subcommand can only be used to specify the
+administration password. For other passwords that remote subcommands
+require, use the `--passwordfile` option, or specify the password at the
+command prompt. You are always prompted for the administration user name
+and password.
+
+There is no logout subcommand. If you want to log in to another domain,
+invoke `asadmin login` with new values for `--host` and `--port`.
+
+1. Determine the name of the domain that you are logging in to.
+To list the existing domains:
++
+[source]
+----
+asadmin list-domains
+----
+2. Log in to the domain by using the olink:GSRFM00210[`login`] command.
+
+[[GSADG00128]][[ghlfx]]
+Example 3-3 Logging In To a Domain on a Remote Machine
+
+This example logs into a domain located on another machine. Options are
+specified before the `login` subcommand.
+
+[source]
+----
+asadmin> --host foo --port 8282 login
+Please enter the admin user name>admin Please enter the admin password>
+Trying to authenticate for administration of server at host [foo] and port [8282] ...
+Login information relevant to admin user name [admin]
+for host [foo] and admin port [8282] stored at [/.asadminpass] successfully.
+Make sure that this file remains protected. Information stored in this
+file will be used by asadmin commands to manage associated domain.
+----
+
+[[GSADG00129]][[ghldv]]
+Example 3-4 Logging In to a Domain on the Default Port of Localhost
+
+This example logs into a domain on `myhost` on the default port. Options
+are specified before the login subcommand.
+
+[source]
+----
+asadmin> --host myhost login
+Please enter the admin user name>admin
+Please enter the admin password>
+Trying to authenticate for administration of server at host [myhost] and port [4848] ...
+An entry for login exists for host [myhost] and port [4848], probably from
+an earlier login operation.
+Do you want to overwrite this entry (y/n)?y
+Login information relevant to admin user name [admin] for host [myhost]
+and admin port [4848] stored at [/home/joe/.asadminpass] successfully.
+Make sure that this file remains protected. Information stored in this file will be used by
+asadmin commands to manage associated domain.
+----
+
+[[GSADG822]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help login` at the command line. For additional
+information about passwords, see "link:security-guide/system-security.html#GSSCG00144[Administering
+Passwords]" in {productName} Security Guide.
+
+[[ggofa]][[GSADG00334]][[to-delete-a-domain]]
+
+==== To Delete a Domain
+
+Use the `delete-domain` subcommand to delete an existing domain from a
+server. Only the root user or the operating system user who is
+authorized to administer the domain can run this subcommand.
+
+[[GSADG823]]
+
+Before You Begin
+
+A domain must be stopped before it can be deleted.
+
+1. List domains by using the link:reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand.
+2. If necessary, notify domain users that the domain is being deleted.
+3. Ensure that the domain you want to delete is stopped. If needed, see link:#ggoch[To Stop a Domain].
+4. Delete the domain by using the link:reference-manual/delete-domain.html#GSRFM00075[`delete-domain`] subcommand.
+
+[[GSADG00130]][[ggoiy]]
+Example 3-5 Deleting a Domain
+
+This example deletes a domain named `domain1` from the location
+specified.
+
+[source]
+----
+asadmin> delete-domain --domaindir ..\domains domain1
+Domain domain1 deleted.
+Command delete-domain executed successfully.
+----
+
+[[GSADG824]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-domain` at the command line.
+
+[[gitwj]][[GSADG00537]][[starting-and-stopping-a-domain]]
+
+=== Starting and Stopping a Domain
+
+The following topics are addressed here:
+
+* link:#ggoda[To Start a Domain]
+* link:#ggoch[To Stop a Domain]
+* link:#ginqj[To Restart a Domain]
+
+[[ggoda]][[GSADG00335]][[to-start-a-domain]]
+
+==== To Start a Domain
+
+When you start a domain or server, the domain administration server
+(DAS) is started. After startup, the DAS runs constantly, listening for
+and accepting requests.
+
+If the domain directory is not specified, the domain in the default
+domain root directory is started. If there are two or more domains, the
+`domain_name` operand must be specified. Each domain must be started
+separately.
+
+
+[NOTE]
+====
+For Microsoft Windows, you can use an alternate method to start a
+domain. From the Windows Start menu, select the command for your
+distribution of {productName}:
+
+* If you are using the Full Platform, select Programs > {productName} > Start Admin Server.
+* If you are using the Web Profile, select Programs > {productName} Web Profile > Start Admin Server.
+====
+
+
+This subcommand is supported in local mode only.
+
+Start a domain by using the link:reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand.
+
+[[GSADG00131]][[ggocw]]
+Example 3-6 Starting a Domain
+
+This example starts `domain2` in the default domain directory.
+
+[source]
+----
+asadmin> start-domain domain2
+----
+
+If there is only one domain, you can omit the domain name. If you do not
+include the password, you might be prompted to supply it.
+
+[source]
+----
+Name of the domain started: [domain1] and its location:
+[C:\prelude\v3_prelude_release\distributions\web\target\glassfish
+domains\domain1].
+Admin port for the domain: [4848].
+----
+
+[[GSADG825]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help start-domain` at the command line.
+
+[[ggoch]][[GSADG00336]][[to-stop-a-domain]]
+
+==== To Stop a Domain
+
+Stopping a domain or server shuts down its domain administration server
+(DAS). When stopping a domain, the DAS stops accepting new connections
+and then waits for all outstanding connections to complete. This
+shutdown process takes a few seconds. While the domain is stopped, the
+Administration Console and most of the `asadmin` subcommands cannot be
+used. This subcommand is particularly useful in stopping a runaway
+server. For more controlled situations, you can use the
+link:reference-manual/restart-domain.html#GSRFM00218[`restart-domain`] subcommand.
+
+
+[NOTE]
+====
+For Microsoft Windows, you can use an alternate method to stop a domain.
+From the Start menu, select the command for your distribution of
+{productName}:
+
+* If you are using the Full Platform, select Programs > {productName} > Stop Admin Server.
+* If you are using the Web Profile, select Programs > {productName} Web Profile > Stop Admin Server.
+====
+
+
+1. If necessary, notify users that you are going to stop the domain.
+2. Stop the domain by using the link:reference-manual/stop-domain.html#GSRFM00240[`stop-domain`]
+subcommand.
+
+[[GSADG00132]][[gioes]]
+Example 3-7 Stopping a Domain (or Server)
+
+This example stops `domain1` in the default directory, where `domain1`
+is the only domain present in the directory.
+
+[source]
+----
+asadmin> stop-domain
+Waiting for the domain to stop ...........
+Command stop-domain executed successfully.
+----
+
+[[GSADG826]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help stop-domain` at the command line.
+
+[[ginqj]][[GSADG00337]][[to-restart-a-domain]]
+
+==== To Restart a Domain
+
+Use the `restart-domain` subcommand in remote mode to restart the Domain
+Administration Server (DAS) of the specified host. When restarting a
+domain, the DAS stops accepting new connections and then waits for all
+outstanding connections to complete. This shutdown process takes a few
+seconds. Until the domain has restarted, the Administration Console and
+most of the `asadmin` subcommands cannot be used.
+
+This subcommand is particularly useful for environments where the server
+machine is secured and difficult to get to. With the right credentials,
+you can restart the server from a remote location as well as from the
+same machine.
+
+If the server will not restart, use the link:reference-manual/stop-domain.html#GSRFM00240[`stop-domain`]
+subcommand followed by the link:reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Restart the domain by using the link:reference-manual/restart-domain.html#GSRFM00218[`restart-domain`] subcommand.
+
+[[GSADG00133]][[ggoet]]
+Example 3-8 Restarting a Domain (or Server)
+
+This example restarts `mydoimain4` in the default directory.
+
+[source]
+----
+asadmin> restart-domain mydomain4
+Waiting for the domain to restart ...........
+Command restart-domain executed successfully.
+----
+
+[[GSADG00134]][[giupx]]
+Example 3-9 Restarting a Domain in a Browser
+
+This example invokes the `restart-domain` subcommand in a browser.
+
+[source]
+----
+http://yourhost:4848/__asadmin/restart-domain
+----
+
+[[GSADG827]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help restart-domain` at the command line.
+
+[[gglqp]][[GSADG00538]][[configuring-a-das-or-a-glassfish-server-instance-for-automatic-restart]]
+
+=== Configuring a DAS or a {productName} Instance for Automatic Restart
+
+Use the `create-service` subcommand in local mode to configure your
+system to automatically restart a domain administration server (DAS) or
+a {productName} instance. {productName} enables you to configure a
+DAS or an instance for automatic restart on the following operating
+systems:
+
+* Windows
+* Linux
+* Oracle Solaris
+
+To ensure that automatic restart functions correctly on Windows, you
+must prevent service shutdown when a user logs out.
+
+The following topics are addressed here:
+
+* link:#gjzfg[To Configure a DAS or an Instance for Automatic Restart on Windows]
+* link:#giurs[To Configure a DAS or an Instance for Automatic Restart on Linux]
+* link:#giusi[To Configure a DAS or an Instance for Automatic Restart on Oracle Solaris]
+* link:#giurf[To Prevent Service Shutdown When a User Logs Out on Windows]
+
+[[gjzfg]][[GSADG00338]][[to-configure-a-das-or-an-instance-for-automatic-restart-on-windows]]
+
+==== To Configure a DAS or an Instance for Automatic Restart on Windows
+
+On Windows systems, the `create-service` subcommand creates a Windows
+service to represent the DAS or instance. The service is created in the
+disabled state. After this subcommand creates the service, you must use
+the Windows Services Manager or the Windows Services Wrapper to start,
+stop, uninstall, or install the service. To administer the service from
+the Windows command line, use the `sc.exe` tool.
+
+This subcommand must be run as the OS-level administrator user.
+
+1. Create the service by using the link:reference-manual/create-service.html#GSRFM00057[`create-service`]
+subcommand.
+2. After the service is created, start the service by using the Windows
+Services Manager or the Windows Services Wrapper.
++
+For example, to start the service for the default domain by using the
+`sc.exe` tool, type:
++
+[source]
+----
+C:\> sc start domain1
+----
+If you are using the `sc.exe` tool to administer the service, use the
+tool as follows:
+* To obtain information about the service, use the `sc query` command.
+* To stop the service, use the `sc stop` command.
+* To uninstall the service, use the `sc delete` command.
+
+[[GSADG00135]][[gjzix]]
+Example 3-10 Creating a Service to Restart a DAS Automatically on
+Windows
+
+This example creates a service for the default domain on a system that
+is running Windows.
+
+[source]
+----
+asadmin> create-service
+Found the Windows Service and successfully uninstalled it.
+The Windows Service was created successfully.  It is ready to be started.  Here are
+the details:
+ID of the service: domain1
+Display Name of the service:domain1 Eclipse GlassFish
+Domain Directory: C:\glassfish7\glassfish\domains\domain1
+Configuration file for Windows Services Wrapper: C:\glassfish7\glassfish\domains\
+domain1\bin\domain1Service.xml
+The service can be controlled using the Windows Services Manager or you can use the
+Windows Services Wrapper instead:
+Start Command:  C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe  start
+Stop Command:   C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe  stop
+Uninstall Command:  C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe
+uninstall
+Install Command:  C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe
+install
+
+This message is also available in a file named PlatformServices.log in the domain's
+root directory
+Command create-service executed successfully.
+----
+
+[[GSADG00136]][[gktso]]
+Example 3-11 Querying the Service to Restart a DAS Automatically on
+Windows
+
+This obtains information about the service for the default domain on a
+system that is running Windows.
+
+[source]
+----
+C:\> sc query domain1
+
+SERVICE_NAME: domain1
+        TYPE               : 10  WIN32_OWN_PROCESS
+        STATE              : 1  STOPPED
+        WIN32_EXIT_CODE    : 1077  (0x435)
+        SERVICE_EXIT_CODE  : 0  (0x0)
+        CHECKPOINT         : 0x0
+        WAIT_HINT          : 0x0
+----
+
+[[giurs]][[GSADG00339]][[to-configure-a-das-or-an-instance-for-automatic-restart-on-linux]]
+
+==== To Configure a DAS or an Instance for Automatic Restart on Linux
+
+On Linux systems, the `create-service` subcommand creates a
+System-V-style initialization script
+`/etc/init.d/GlassFish_`domain-or-instance-name and installs a link to
+this script in any `/etc/rc`N`.d` directory that is present, where N is
+`0`, `1`, `2`, `3`, `4`, `5`, `6`, and `S`. After this subcommand
+creates the script, you must use this script to start, stop, or restart
+the domain or instance.
+
+The script automatically restarts the domain or instance only during a
+reboot. If the domain or instance is stopped, but the host remains
+running, the domain or instance is not restarted automatically. To
+restart the domain or instance, you must run the script manually.
+
+You might no longer require the domain or instance to be automatically
+restarted during a reboot. In this situation, use the operating system
+to delete the initialization script and the link to the script that the
+`create-service` subcommand creates.
+
+The `create-service` subcommand must be run as the OS-level root user.
+
+Create the service by using the link:reference-manual/create-service.html#GSRFM00057[`create-service`]
+subcommand.
+
+[[GSADG828]][[sthref19]]
+Example 3-12 Creating a Service to Restart a DAS Automatically on Linux
+
+This example creates a service for the default domain on a system that
+is running Linux.
+
+[source]
+----
+asadmin> create-service
+Found the Linux Service and successfully uninstalled it.
+The Service was created successfully. Here are the details:
+Name of the service:domain1
+Type of the service:Domain
+Configuration location of the service:/etc/init.d/GlassFish_domain1
+User account that will run the service: root
+You have created the service but you need to start it yourself.
+Here are the most typical Linux commands of interest:
+
+* /etc/init.d/GlassFish_domain1 start
+* /etc/init.d/GlassFish_domain1 stop
+* /etc/init.d/GlassFish_domain1 restart
+
+For your convenience this message has also been saved to this file:
+/export/glassfish7/glassfish/domains/domain1/PlatformServices.log
+Command create-service executed successfully.
+----
+
+[[giusi]][[GSADG00340]][[to-configure-a-das-or-an-instance-for-automatic-restart-on-oracle-solaris]]
+
+==== To Configure a DAS or an Instance for Automatic Restart on Oracle Solaris
+
+On Oracle Solaris systems, the `create-service` subcommand creates an
+Oracle Solaris Service Management Facility (SMF) service that restarts a
+DAS or an instance. The service grants to the process the privileges of
+the user that runs the process. When you create an SMF service, the
+default user is the superuser. If you require a different user to run
+the process, specify the user in `method_credential`.
+
+If your process is to bind to a privileged port of Oracle Solaris, the
+process requires the `net_privaddr` privilege. The privileged ports of
+the Oracle Solaris operating system have port numbers less than 1024.
+
+To determine if a user has the `net_privaddr` privilege, log in as that
+user and type the command `ppriv -l | grep net_privaddr`.
+
+After you create and enable the SMF service, if the domain or instance
+is stopped, SMF restarts it.
+
+[[GSADG829]]
+
+Before You Begin
+
+To run the `create-service` subcommand, you must have `solaris.smf.*`
+authorization. For information about how to set the authorizations, see
+the
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)]
+man page and the
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
+man page. You must also have write permission in the directory tree:
+`/var/svc/manifest/application/SUNWappserver`. Usually, the superuser
+has both of these permissions. Additionally, Oracle Solaris
+administration commands such as
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`],
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`],
+and
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`]
+must be available in the PATH.
+
+If a particular {productName} domain or instance should not have
+default user privileges, modify the manifest of the service and reimport
+the service.
+
+1. Create the service by using the link:reference-manual/create-service.html#GSRFM00057[`create-service`]
+subcommand.
+2. After the service is created, enable the service by using the
+`svacdm enable` command.
++
+For example, to enable the SMF service for the default domain, type:
++
+[source]
+----
+svacdm enable /appserver/domains/domain1
+----
+
+[[GSADG00137]][[giuqp]]
+Example 3-13 Creating a Service to Restart a Domain Automatically on
+Oracle Solaris
+
+This example creates a service for the default domain on a system that
+is running Oracle Solaris.
+
+[source]
+----
+asadmin> create-service
+The Service was created successfully. Here are the details:
+Name of the service:application/GlassFish/domain1
+Type of the service:Domain
+Configuration location of the service:/home/gfuser/glassfish-installations
+/glassfish7/glassfish/domains
+Manifest file location on the system:/var/svc/manifest/application
+/GlassFish/domain1_home_gfuser_glassfish-installations_glassfish7
+_glassfish_domains/Domain-service-smf.xml.
+You have created the service but you need to start it yourself.
+Here are the most typical Solaris commands of interest:
+* /usr/bin/svcs -a | grep domain1 // status
+* /usr/sbin/svcadm enable domain1 // start
+* /usr/sbin/svcadm disable domain1 // stop
+* /usr/sbin/svccfg delete domain1 // uninstall
+Command create-service executed successfully
+----
+
+[[GSADG830]]
+
+See Also
+
+For information about administering the service, see the following
+Oracle Solaris documentation:
+
+* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1hbrunlevels-25516[Managing
+Services (Overview)]" in System Administration Guide: Basic
+Administration
+* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1faauf[Managing
+Services (Tasks)]" in System Administration Guide: Basic Administration
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`(1)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvcadm-1m[`svcadm`(1M)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`(1M)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5rbac-5[`rbac`(5)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5smf-security-5[`smf_security`(5)]
+
+[[giurf]][[GSADG00341]][[to-prevent-service-shutdown-when-a-user-logs-out-on-windows]]
+
+==== To Prevent Service Shutdown When a User Logs Out on Windows
+
+By default, the Java Virtual Machine (VM) receives signals from Windows
+that indicate that Windows is shutting down, or that a user is logging
+out of Windows, which causes the system to shut itself down cleanly.
+This behavior causes the {productName} service to shut down. To
+prevent the service from shutting down when a user logs out, you must
+set the `-Xrs` Java VM option
+(`https://github.com/eclipse-ee4j/glassfishdocumentation`).
+
+1. Ensure that the DAS is running.
+
+2. Set the `-Xrs` Java VM option for the DAS.
+Use the link:reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`] subcommand for this purpose.
++
+[source]
+----
+asadmin> create-jvm-options -Xrs
+----
+
+3. Set the `-Xrs` Java VM option for the Java VM within which the `asadmin` utility runs.
+To set this option, edit the `asadmin.bat` file to add the `-Xrs` option
+to the line that runs the `admin-cli.jar` file.
+..  In the as-install``\bin\asadmin.bat`` file, edit the line to read as follows:
++
+[source]
+----
+%JAVA% -Xrs -jar "%~dp0..\modules\admin-cli.jar" %*
+----
+.. In the as-install-parent``\bin\asadmin.bat`` file, edit the line to read as follows:
++
+[source]
+----
+%JAVA% -Xrs -jar "%~dp0..\glassfish\modules\admin-cli.jar" %*
+----
+
+4. If the {productName} service is running, restart the service for your changes to take effect.
+
+[[gityo]][[GSADG00541]][[backing-up-and-restoring-a-domain]]
+
+=== Backing Up and Restoring a Domain
+
+The following topics are addressed here:
+
+* link:#ggocq[To Back Up a Domain]
+* link:#ggody[To Restore a Domain]
+* link:#ghgod[To List Domain Backups]
+
+[[ggocq]][[GSADG00352]][[to-back-up-a-domain]]
+
+==== To Back Up a Domain
+
+Use the `backup-domain` subcommand in local mode to make a backup of a
+specified domain.
+
+When you use the `backup-domain` subcommand, {productName} creates a
+ZIP file backup of all the files and subdirectories in the domain's
+directory, domain-root-dir``/``domain-dir, except for the `backups`
+subdirectory.
+
+The `backup-domain` subcommand provides several options to meet
+particular needs, including:
+
+* `--backupdir` to specify a directory in which to store the backup
+instead of the default domain-root-dir``/``domain-dir``/backups``.
+* `--description` to provide a description of the backup to be stored in
+the backup itself.
+
+1. Ensure that the domain is stopped .
++
+The `backup-domain` subcommand operates only when the domain is stopped.
+2. Back up the domain by using the link:reference-manual/backup-domain.html#GSRFM00003[`backup-domain`]
+subcommand.
+3. Restore the domain to its previous state, if necessary.
++
+Start or resume the domain.
+
+[[GSADG00149]][[ggoxt]]
+Example 3-14 Backing Up the Default Domain
+
+This example makes a backup of the default domain, `domain1`, storing
+the backup file in `/net/backups.example.com/glassfish`:
+
+[source]
+----
+asadmin> backup-domain --backupdir /net/backups.example.com/glassfish domain1
+Backed up domain1 at Mon Jan 17 08:16:22 PST 2011.
+Command backup-domain executed successfully
+----
+
+[[GSADG842]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help backup-domain` at the command line.
+
+[[ggody]][[GSADG00353]][[to-restore-a-domain]]
+
+==== To Restore a Domain
+
+Use the `restore-domain` subcommand in local mode to use a backup file
+to restore the files and subdirectories in a specified domain's
+directory.
+
+The `restore-domain` subcommand can use backup files created by the
+`backup-domain` subcommand and by automatic backup configurations, both
+full backups and configuration-only backups. Automatic backup
+configurations are available only in {productName}.
+
+1. If necessary, notify domain users that the domain is being restored
+from backup.
+2. Ensure that the domain is stopped.
++
+The `restore-domain` subcommand operates only when the domain is
+stopped.
++
+To determine whether the domain is running, use the
+link:reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand, as described in
+link:#ggoco[To List Domains].
++
+To stop the domain, use the link:reference-manual/stop-domain.html#GSRFM00240[`stop-domain`] subcommand
+as described in link:#ggoch[To Stop a Domain].
+3. Restore backup files for a domain by using the
+link:reference-manual/restore-domain.html#GSRFM00221[`restore-domain`] subcommand.
+4. Verify that the restore has succeeded.
+5. If necessary, notify users that the domain has been restored and is
+available.
+
+[[GSADG00150]][[ggoys]]
+Example 3-15 Restoring the Default Domain
+
+This example restores files for the default domain, `domain1`, from the
+most recent backup stored in a specified backup directory:
+
+[source]
+----
+asadmin> restore-domain --backupdir /net/backups.example.com/glassfish domain1
+Restored the domain (domain1) to /home/user1/glassfish7/glassfish/domains/domain1
+Command restore-domain executed successfully.
+----
+
+[[GSADG843]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin restore-domain --help` at the command line.
+
+[[ghgod]][[GSADG00354]][[to-list-domain-backups]]
+
+==== To List Domain Backups
+
+Use the `list-backups` subcommand in local mode to display information
+about backups of a specified domain stored in a specified backup
+directory.
+
+The `list-backups` subcommand provides several options to meet
+particular needs, including `--backupdir` to specify a directory where
+backups are stored instead of the default domain-dir``/backups``.
+
+List backups by using the `list-backups` subcommand.
+
+[[GSADG00151]][[ghgsv]]
+Example 3-16 Listing Backups of the Default Domain
+
+This example lists the backups of the default domain, `domain1`, that
+are stored in the `/net/backups.example.com/glassfish` directory:
+
+[source]
+----
+asadmin> list-backups --backupdir /net/backups.example.com/glassfish domain1
+CONFIG        USER   BACKUP DATE                   FILENAME
+              user1  Mon Jan 17 08:16:22 PST 2011  domain1_2011_01_17_v00001.zip
+monthly-full  user1  Wed Dec 01 00:00:00 PST 2010  domain1_2010_12_01_v00001.zip
+monthly-full  user1  Sat Jan 01 00:00:03 PST 2011  domain1_2011_01_01_v00001.zip
+monthly-full  user1  Tue Feb 01 00:00:01 PST 2011  domain1_2011_02_01_v00001.zip
+Command list-backups executed successfully.
+----
+
+Note that this listing includes backups created automatically by a
+backup configuration. This feature is available only in {productName}.
+
+[[GSADG844]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-backups` at the command line.
+
+[[gglri]][[GSADG00542]][[re-creating-the-domain-administration-server-das]]
+
+=== Re-Creating the Domain Administration Server (DAS)
+
+For mirroring purposes, and to provide a working copy of the DAS, you
+must have:
+
+* One host (olddashost) that contains the original DAS.
+* A second host (apphost) that contains a cluster with server instances
+running applications and catering to clients. The cluster is configured
+using the DAS on the first host.
+* A third host (newdashost) where the DAS needs to be re-created in a
+situation where the first host crashes or is being taken out of service.
+
+
+[NOTE]
+====
+You must maintain a backup of the DAS from the first host using the
+olink:GSRFM00003[`backup-domain`] subcommand as described in
+link:#ggocq[To Back Up a Domain]. You can automatically maintain a
+backup of the DAS using the automatic backups feature of {productName}.
+====
+
+
+
+[NOTE]
+====
+{productName} includes `asadmin` subcommands that simplify
+this procedure. If you are using {productName}, see
+link:#gglnp[To Migrate the DAS].
+====
+
+
+[[gglnp]][[GSADG00355]][[to-migrate-the-das]]
+
+==== To Migrate the DAS
+
+The following steps are required to migrate the DAS from the first host
+(olddashost) to the third host (newdashost).
+
+1. Install {productName} on newdashost just as it was installed on olddashost.
+This is required so that the DAS can be properly restored on newdashost without causing path conflicts.
+
+2. Use the `restore-domain` subcommand to restore the latest backup file onto newdashost.
+For example:
++
+[source]
+----
+asadmin> restore-domain --backupdir /net/backups.example.com/glassfish
+----
+This example assumes that backups are stored in a network-accessible location.
+If this is not the case, manually copy the latest backup file
+from offline storage to a directory on newdashost.
+You can backup any domain. However, while re-creating the domain, the
+domain name should be same as the original.
+
+3. Stop the domain on olddashost, if it is running.
+
+4. Start the domain on newdashost by using the
+link:reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand.
+For example:
++
+[source]
+----
+asadmin> start-domain domain1
+----
+
+5. If the domain on olddashost was centrally administered, set up
+centralized administration on newdashost.
+See "link:ha-administration-guide/ssh-setup.html#GSHAG00003[Enabling Centralized Administration of {productName} Instances]"
+in {productName} High Availability Administration Guide for instructions.
+
+6. Verify that instances on other hosts are visible to the new DAS on newdashost:
++
+[source]
+----
+asadmin> list-instances --long
+----
+7. Change the DAS host values for properties under the node on apphost.
+In the file as-install``/nodes/``node-name``/agent/config/das.properties``
+file, change the `agent.das.host` property value to refer to newdashost
+instead of olddasnost.
+
+8. Use the new DAS to restart clusters and standalone instances on apphost:
+Restarting the clustered and standalone instances on apphost triggers
+their recognition of the new DAS on newdashost.
+..  Use the `list-clusters` subcommand to list the clusters in the domain.
+..  Use the `stop-cluster` subcommand to stop each cluster.
+..  Use the `list-instances` subcommand to list the instances in the domain.
+..  Use the `restart-instance` subcommand to restart each standalone instance.
+..  Use the `start-cluster` subcommand to start each cluster.
+    If the domain does not use centralized administration, use the
+    `start-local-instance` subcommand to start the cluster instances on apphost.
+
+9. Verify that instances on apphost are running:
++
+[source]
+----
+asadmin> list-instances --long
+----
+10. Decommission and discontinue use of the DAS on olddashost.
+
+[[gitvn]][[GSADG00543]][[additional-domain-tasks]]
+
+=== Additional Domain Tasks
+
+The following topics are addressed here:
+
+* link:#ghhnt[To Display Domain Uptime]
+* link:#ghmbn[To Switch a Domain to Another Supported Java Version]
+* link:#gkvkb[To Change the Administration Port of a Domain]
+
+[[ghhnt]][[GSADG00356]][[to-display-domain-uptime]]
+
+==== To Display Domain Uptime
+
+Use the `uptime` subcommand in remote mode to display the length of time
+that the domain administration server (DAS) has been running since it
+was last started.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Display uptime by using the link:reference-manual/uptime.html#GSRFM00258[`uptime`] subcommand.
+
+[[GSADG00152]][[ghlds]]
+Example 3-17 Displaying the DAS Uptime
+
+This example displays the length of time that the DAS has been running.
+
+[source]
+----
+asadmin> uptime
+Uptime: 1 Weeks, 4 days, 0 hours, 17 minutes, 14 seconds, Total milliseconds: 951434595
+Command uptime executed successfully.
+----
+
+[[GSADG845]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help uptime` at the command line.
+
+[[ghmbn]][[GSADG00357]][[to-switch-a-domain-to-another-supported-java-version]]
+
+==== To Switch a Domain to Another Supported Java Version
+
+{productName} 7 requires Java SE 11 as the underlying virtual
+machine for the Java platform (Java Virtual Machine or JVM machine).
+
+[NOTE]
+====
+Do not downgrade to an earlier Java version after a domain has been
+created with a newer JVM machine. If you must downgrade your JVM
+machine, downgrade it only for individual domains.
+====
+
+1. If you have not already done so, download the desired Java SDK (not the JRE) and install it on your system.
+The Java SDK can be downloaded from the
+https://jdk.java.net/java-se-ri/11[Java SE RI Downloads page] .
+
+2. Start the domain for which you are changing the JDK.
+Use the following format:
++
+[source]
+----
+as-install/bin/asadmin start-domain domain-name
+----
+
+For a valid JVM installation, locations are checked in the following order:
+
+1. `domain.xml` (`java-home` inside `java-config`)
+
+2. `asenv.conf` (setting `AS_JAVA="path to java home"`)
+If a legal JDK is not found, a fatal error occurs and the problem is reported back to you.
+
+3. If necessary, change the JVM machine attributes for the domain.
+In particular, you might need to change the `JAVA_HOME` environment
+variable. For example, to change the `JAVA_HOME` variable, type:
++
+[source]
+----
+as-install/bin/asadmin set "server.java-config.java-home=path-to-java-home"
+----
+
+[[gkvkb]][[GSADG00358]][[to-change-the-administration-port-of-a-domain]]
+
+==== To Change the Administration Port of a Domain
+
+Use the `set` subcommand in remote mode to change the administration
+port of a domain.
+
+The HTTP port or the HTTPS port for administration of a domain is
+defined by the `--adminport` option of the
+link:reference-manual/create-domain.html#GSRFM00023[`create-domain`] subcommand when the domain is created.
+If this port must be reallocated for another purpose, change the port on
+which the DAS listens for administration requests.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Set the port number to its new value.
+Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand for this purpose.
++
+[source]
+----
+$ asadmin set
+server-config.network-config.network-listeners.network-listener.admin-listener.port=new-port-number
+----
+The new-port-number is the new value that you are setting for the port
+number.
++
+[NOTE]
+====
+After you set the port number to its new value, running the
+`list-domains` subcommand incorrectly reports that the DAS is not
+running. The `list-domains` subcommand reports the correct state again
+only after you stop and restart the domain as explained in the steps
+that follow.
+====
+
+3. Stop the domain, specifying the host on which the DAS is running and
+the old administration port number of the domain.
+You must specify the old port number because the DAS is still listening
+for administration requests on this port. If you omit the port number,
+the command fails because the `stop-domain` subcommand attempts to
+contact the DAS through the new port number.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for controlling the
+behavior of the domain, see the olink:GSRFM00240[`stop-domain`(1)] help
+page.
+====
++
+[source]
+----
+$ asadmin --host host-name --port old-port-number stop-domain
+----
+host-name::
+  The name of the host on which the DAS is running. If you run the
+  `stop-domain` subcommand on the host where the DAS is running, you
+  must specify the actual host name and not `localhost`. If you specify
+  `localhost`, the `stop-domain` subcommand fails.
+old-port-number::
+  The value of administration port number of the domain before you
+  changed it in the preceding step.
+
+4. Start the domain.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for controlling the
+behavior of the domain, see the olink:GSRFM00235[`start-domain`(1)] help
+page.
+====
++
+[source]
+----
+$ start-domain [domain-name]
+----
+The domain-name is the name of the domain to start. If only one domain
+subdirectory is contained in the `domains` directory, you may omit this
+option.
+
+[[GSADG00153]][[gkvkl]]
+Example 3-18 Changing the Administration Port of a Domain
+
+This example changes the administration port of the domain `domain1`
+from 4848 to 4849. The DAS is running on the host `xk01.example.com`.
+
+[source]
+----
+$ asadmin set
+server-config.network-config.network-listeners.network-listener.admin-listener.port=4849
+server-config.network-config.network-listeners.network-listener.admin-listener.port=4849
+Command set executed successfully.
+$ asadmin --host xk01.example.com --port 4848 stop-domain
+Waiting for the domain to stop ....
+Command stop-domain executed successfully.
+$ asadmin start-domain
+Waiting for domain1 to start ........................
+Successfully started the domain : domain1
+domain  Location: /export/glassfish7/glassfish/domains/domain1
+Log File: /export/glassfish7/glassfish/domains/domain1/logs/server.log
+Admin Port: 4849
+Command start-domain executed successfully.
+----
+
+[[GSADG846]]
+
+See Also
+
+* link:reference-manual/create-domain.html#GSRFM00023[`create-domain`(1)]
+* link:reference-manual/set.html#GSRFM00226[`set`(1)]
+* link:reference-manual/start-domain.html#GSRFM00235[`start-domain`(1)]
+* link:reference-manual/stop-domain.html#GSRFM00240[`stop-domain`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help create-domain`
+* `asadmin help set`
+* `asadmin help start-domain`
+* `asadmin help stop-domain`
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/general-administration.adoc b/docs/administration-guide/src/main/asciidoc/general-administration.adoc
new file mode 100644
index 0000000..0e174af
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/general-administration.adoc
@@ -0,0 +1,3206 @@
+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"`.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/http_https.adoc b/docs/administration-guide/src/main/asciidoc/http_https.adoc
new file mode 100644
index 0000000..79f4d3c
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/http_https.adoc
@@ -0,0 +1,1067 @@
+type=page
+status=published
+title=Administering Internet Connectivity
+next=concurrent.html
+prev=connectors.html
+~~~~~~
+
+= Administering Internet Connectivity
+
+[[GSADG00017]][[ablsw]]
+
+
+[[administering-internet-connectivity]]
+== 13 Administering Internet Connectivity
+
+This chapter provides procedures for performing internet connectivity
+tasks in the {productName} 7 environment by
+using the `asadmin` command-line utility.
+
+The following topics are addressed here:
+
+* link:#giusf[About Internet Connectivity]
+* link:#ggnfu[Administering HTTP Network Listeners]
+* link:#ggncs[Administering Virtual Servers]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[giusf]][[GSADG00587]][[about-internet-connectivity]]
+
+=== About Internet Connectivity
+
+The HTTP service provides functionality for deploying web applications
+and for making deployed web applications accessible by Internet clients,
+either in a single application server instance or in a cluster of
+multiple server instances. HTTP services are provided by two kinds of
+related objects: listeners and virtual servers.
+
+For more information about clusters, see the link:ha-administration-guide.html#GSHAG[{productName} High Availability Administration Guide].
+
+The following topics are addressed here:
+
+* link:#giuri[About HTTP Network Listeners]
+* link:#giupz[About Virtual Servers]
+
+[[giuri]][[GSADG00766]][[about-http-network-listeners]]
+
+==== About HTTP Network Listeners
+
+An HTTP listener, also known as a network listener, is a listen socket
+that has an Internet Protocol (IP) address, a port number, a server
+name, and a default virtual server. Each virtual server provides
+connections between the server and clients through one or more
+listeners. Each listener must have a unique combination of port number
+and IP address. For example, an HTTP listener can listen for a host on
+all configured IP addresses on a given port by specifying the IP address
+0.0.0.0. Alternatively, the listener can specify a unique IP address for
+each listener while using the same port.
+
+Because an HTTP listener is a combination of IP address and port number,
+you can have multiple HTTP listeners with the same IP address and
+different port numbers, or with different IP addresses and the same port
+number (if your host was configured to respond to these addresses).
+However, if an HTTP listener uses the 0.0.0.0 IP address, which listens
+on all IP addresses on a port, you cannot create HTTP listeners for
+additional IP addresses that listen on the same port for a specific IP
+address. For example, if an HTTP listener uses 0.0.0.0:8080 (all IP
+addresses on port 8080), another HTTP listener cannot use 1.2.3.4:8080.
+The host running the {productName} typically has access to only one
+IP address. HTTP listeners typically use the 0.0.0.0 IP address and
+different port numbers, with each port number serving a different
+purpose. However, if the host does have access to more than one IP
+address, each address can serve a different purpose.
+
+To access a web application deployed on {productName}, use the URL
+`http://localhost:8080/` (or `https://localhost:8081/` for a secure
+application), along with the context root specified for the web
+application.
+
+To access the Administration Console, use the URL
+`https://localhost:4848/` or `http://localhost:4848/asadmin/` (console
+default context root).
+
+[[giupz]][[GSADG00767]][[about-virtual-servers]]
+
+==== About Virtual Servers
+
+A virtual server, sometimes called a virtual host, is an object that
+allows the same physical server to host multiple Internet domain names.
+All virtual servers hosted on the same physical server share the IP
+address of that physical server. A virtual server associates a domain
+name for a server (such as `www.aaa.com`) with the particular server on
+which {productName} is running. Each virtual server must be
+registered with the DNS server for your network.
+
+
+[NOTE]
+====
+Do not confuse an Internet domain with the administrative domain of
+{productName}.
+====
+
+
+For example, assume that you want to host the following domains on your
+physical server: `www.aaa.com`, `www.bbb.com`, and `www.ccc.com`. Assume
+that these domains are respectively associated with web modules `web1`,
+`web2`, and `web3`. This means that the following URLs are handled by
+your physical server:
+
+[source]
+----
+http://www.aaa.com:8080/web1
+http://www.bbb.com:8080/web2
+http://www.ccc.com:8080/web3
+----
+
+The first URL is mapped to virtual server `www.aaa.com`, the second URL
+is mapped to virtual server `www.bbb.com`, and the third is mapped to
+virtual server `www.ccc.com`. For this mapping to work, `www.aaa.com`,
+`www.bbb.com`, and `www.ccc.com` must all resolve to your physical
+server's IP address and each virtual server must be registered with the
+DNS server for your network. In addition, on a UNIX system, add these
+domains to your `/etc/hosts` file (if the setting for `hosts` in your
+`/etc/nsswitch.conf` file includes `files`).
+
+[[ggnfu]][[GSADG00588]][[administering-http-network-listeners]]
+
+=== Administering HTTP Network Listeners
+
+By default, when {productName} starts, the following HTTP listeners
+are started automatically:
+
+* HTTP listeners associated with the virtual server named `server`:
+** The listener named `http-listener-1` does not have security enabled.
+** The listener named `http-listener-2` has security enabled.
+* An HTTP listener named `admin-listener`, associated with the virtual
+server named `__asadmin`. For this listener, security is not enabled.
+
+The following table describes the {productName} default ports for the
+listeners that use ports.
+
+[[GSADG990]][[sthref72]][[ggnpj]]
+
+
+Table 13-1 Default Ports for Listeners
+
+[width="100%",cols="18%,13%,69%",options="header",]
+|===
+|Listener |Default Port |Description
+|Administrative server |4848 |A domain's administrative server is
+accessed by the Administration Console and the `asadmin` utility. For
+the Administration Console, specify the port number in the URL of the
+browser. When running an `asadmin` subcommand remotely, specify the port
+number by using the `--port` option.
+
+|HTTP |8080 |The web server listens for HTTP requests on a port.
+To access deployed web applications and services, clients connect to this port.
+
+|HTTPS |8181 |Web applications configured for secure communications
+listen on a separate port.
+
+|===
+
+
+The following topics are addressed here:
+
+* link:#ggnfh[To Create an Internet Connection]
+* link:#gjkuy[Administering HTTP Protocols]
+* link:#gjkzi[Administering HTTP Configurations]
+* link:#gjkym[Administering HTTP Transports]
+* link:#gjkwt[Administering HTTP Network Listeners]
+
+[[ggnfh]][[GSADG00456]][[to-create-an-internet-connection]]
+
+==== To Create an Internet Connection
+
+Use the subcommands in this procedure to create an internet connection
+with the full range of listener options. A network listener is created
+behind the scenes. For the shortcut version of this process , see
+link:#gjimx[To Create an HTTP Network Listener].
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create an HTTP or HTTPS protocol by using the
+link:reference-manual/create-protocol.html#GSRFM00051[`create-protocol`] subcommand with the
+`--securityenabled` option.
+To use the built-in `http-listener-1` HTTP protocol,
+or `http-listener-2` HTTPS protocol, skip this step.
+3. Create an HTTP configuration by using the
+link:reference-manual/create-http.html#GSRFM00025[`create-http`] subcommand.
+To use a built-in protocol, skip this step.
+4. Create a transport by using the link:reference-manual/create-transport.html#GSRFM00061[`create-transport`]
+subcommand. To use the built-in `tcp` transport, skip this step.
+5. Create a thread pool by using the
+link:reference-manual/create-threadpool.html#GSRFM00060[`create-threadpool`] subcommand.
+To avoid using a thread pool, or to use the built-in `http-thread-pool`
+thread pool, skip this step.
+For additional thread pool information, see link:threadpools.html#abluc[Administering Thread Pools].
+6. Create an HTTP listener by using the
+link:reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand.
+Specify a protocol and transport, optionally a thread pool.
+7. To apply your changes, restart {productName}. See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG991]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing a command such as `asadmin help create-http-listener` at the
+command line.
+
+[[gjkuy]][[GSADG00768]][[administering-http-protocols]]
+
+==== Administering HTTP Protocols
+
+Each HTTP listener has an HTTP protocol, which is created either by
+using the `create-protocol` subcommand or by using the built-in
+protocols that are applied when you follow the instructions in
+link:#gjimx[To Create an HTTP Network Listener].
+
+The following topics are addressed here:
+
+* link:#gjhot[To Create a Protocol]
+* link:#gjhna[To List Protocols]
+* link:#gjhnx[To Delete a Protocol]
+
+[[gjhot]][[GSADG00457]][[to-create-a-protocol]]
+
+===== To Create a Protocol
+
+Use the `create-protocol` subcommand in remote mode to create a
+protocol.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a protocol by using the link:reference-manual/create-protocol.html#GSRFM00051[`create-protocol`]
++
+Information about options and properties for the subcommand are included
+in this help page.
+
+[[GSADG00245]][[gjhos]]
+Example 13-1 Creating an HTTP Protocol
+
+This example creates a protocol named `http-1` with security enabled.
+
+[source]
+----
+asadmin> create-protocol --securityenabled=true http-1
+Command create-protocol executed successfully.
+----
+
+[[GSADG992]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-protocol` at the command line.
+
+[[gjhna]][[GSADG00458]][[to-list-protocols]]
+
+===== To List Protocols
+
+Use the `list-protocols` subcommand in remote mode to list the existing
+HTTP protocols.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the existing protocols by using the
+link:reference-manual/list-protocols.html#GSRFM00195[`list-protocols`] subcommand.
+
+[[GSADG00246]][[gjhqg]]
+Example 13-2 Listing the Protocols
+
+This example lists the existing protocols.
+
+[source]
+----
+asadmin> list-protocols
+admin-listener
+http-1
+http-listener-1
+http-listener-2
+Command list-protocols executed successfully.
+----
+
+[[GSADG993]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-protocols` at the command line.
+
+[[gjhnx]][[GSADG00459]][[to-delete-a-protocol]]
+
+===== To Delete a Protocol
+
+Use the `delete-protocol` subcommand in remote mode to remove a
+protocol.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Delete a protocol by using the link:reference-manual/delete-protocol.html#GSRFM00103[`delete-protocol`]
+subcommand
+
+[[GSADG00247]][[gjhop]]
+Example 13-3 Deleting a Protocol
+
+This example deletes the protocol named `http-1`.
+
+[source]
+----
+asadmin> delete-protocol http-1
+Command delete-protocol executed successfully.
+----
+
+[[GSADG994]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-protocol` at the command line.
+
+[[gjkzi]][[GSADG00769]][[administering-http-configurations]]
+
+==== Administering HTTP Configurations
+
+Each HTTP listener has an HTTP configuration, which is created either by
+using the `create-http` subcommand or by using the built-in
+configurations that are applied when you follow the instructions in
+link:#gjimx[To Create an HTTP Network Listener].
+
+The following topics are addressed here:
+
+* link:#gjhqc[To Create an HTTP Configuration]
+* link:#gjhqa[To Delete an HTTP Configuration]
+
+[[gjhqc]][[GSADG00460]][[to-create-an-http-configuration]]
+
+===== To Create an HTTP Configuration
+
+Use the `create-http` subcommand in remote mode to create a set of HTTP
+parameters for a protocol. This set of parameters configures one or more
+network listeners,
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create an HTTP configuration by using the
+link:reference-manual/create-http.html#GSRFM00025[`create-http`] subcommand.
+Information about options and properties for the subcommand are included
+in this help page.
+
+[[GSADG00248]][[gjhnz]]
+Example 13-4 Creating an HTTP Configuration
+
+This example creates an HTTP parameter set for the protocol named
+`http-1`.
+
+[source]
+----
+asadmin> create-http --timeout-seconds 60 --default-virtual-server server http-1
+Command create-http executed successfully.
+----
+
+[[GSADG995]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-http` at the command line.
+
+[[gjhqa]][[GSADG00461]][[to-delete-an-http-configuration]]
+
+===== To Delete an HTTP Configuration
+
+Use the `delete-http` subcommand in remote mode to remove HTTP
+parameters from a protocol.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Delete the HTTP parameters from a protocol by using the
+link:reference-manual/delete-http.html#GSRFM00077[`delete-http`] subcommand.
+
+[[GSADG00249]][[gjhov]]
+Example 13-5 Deleting an HTTP Configuration
+
+This example deletes the HTTP parameter set from a protocol named `http-1`.
+
+[source]
+----
+asadmin> delete-http http-1
+Command delete-http executed successfully.
+----
+
+[[GSADG996]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-http` at the command line.
+
+[[gjkym]][[GSADG00770]][[administering-http-transports]]
+
+==== Administering HTTP Transports
+
+Each HTTP listener has an HTTP transport, which is created either by
+using the `create-transport` subcommand or by using the built-in
+transports that are applied when you follow the instructions in
+link:#gjimx[To Create an HTTP Network Listener].
+
+The following topics are addressed here:
+
+* link:#gjhps[To Create a Transport]
+* link:#gjhmx[To List Transports]
+* link:#gjhqp[To Delete a Transport]
+
+[[gjhps]][[GSADG00462]][[to-create-a-transport]]
+
+===== To Create a Transport
+
+Use the `create-transport` subcommand in remote mode to create a
+transport for a network listener,
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a transport by using the link:reference-manual/create-transport.html#GSRFM00061[`create-transport`]
+subcommand.
+Information about options and properties for the subcommand are included in this help page.
+
+[[GSADG00250]][[gjhpx]]
+Example 13-6 Creating a Transport
+
+This example creates a transport named `http1-trans` that uses a
+non-default number of acceptor threads.
+
+[source]
+----
+asadmin> create-transport --acceptorthreads 100 http1-trans
+Command create-transport executed successfully.
+----
+
+[[GSADG997]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-transport` at the command line.
+
+[[gjhmx]][[GSADG00463]][[to-list-transports]]
+
+===== To List Transports
+
+Use the `list-transports` subcommand in remote mode to list the existing
+HTTP transports.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the existing transports by using the
+link:reference-manual/list-transports.html#GSRFM00206[`list-transports`] subcommand.
+
+[[GSADG00251]][[gjhqj]]
+Example 13-7 Listing HTTP Transports
+
+This example lists the existing transports.
+
+[source]
+----
+asadmin> list-transports
+http1-trans
+tcp
+Command list-transports executed successfully.
+----
+
+[[GSADG998]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-transports` at the command line.
+
+[[gjhqp]][[GSADG00464]][[to-delete-a-transport]]
+
+===== To Delete a Transport
+
+Use the `delete-transport` subcommand in remote mode to remove a
+transport.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Delete a transport by using the link:reference-manual/delete-transport.html#GSRFM00112[`delete-transport`]
+subcommand.
+
+[[GSADG00252]][[gjhoh]]
+Example 13-8 Deleting a Transport
+
+This example deletes he transport named `http1-trans`.
+
+[source]
+----
+asadmin> delete-transport http1-trans
+Command delete-transport executed successfully.
+----
+
+[[GSADG999]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-transport` at the command line.
+
+[[gjkwt]][[GSADG00771]][[administering-http-network-listeners-1]]
+
+==== Administering HTTP Network Listeners
+
+The following topics are addressed here:
+
+* link:#gjimx[To Create an HTTP Network Listener]
+* link:#ggnbv[To List HTTP Network Listeners]
+* link:#giwls[To Update an HTTP Network Listener]
+* link:#ggndu[To Delete an HTTP Network Listener]
+* link:#ggnbj[To Configure an HTTP Listener for SSL]
+* link:#CHDEDCEA[To Configure Optional Client Authentication for SSL]
+* link:#CHDHEFHG[To Configure a Custom SSL Implementation]
+* link:#ggncl[To Delete SSL From an HTTP Listener]
+* link:#gixjb[To Assign a Default Virtual Server to an HTTP Listener]
+
+[[gjimx]][[GSADG00465]][[to-create-an-http-network-listener]]
+
+===== To Create an HTTP Network Listener
+
+Use the `create-http-listener` subcommand or the
+`create-network-listener` subcommand in remote mode to create a
+listener. These subcommands provide backward compatibility and also
+provide a shortcut for creating network listeners that use the HTTP
+protocol. Behind the scenes, a network listener is created as well as
+its associated protocol, transport, and HTTP configuration. This method
+is a convenient shortcut, but it gives access to only a limited number
+of options. If you want to specify the full range of listener options,
+follow the instructions in link:#ggnfh[To Create an Internet
+Connection].
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create an HTTP network listener by using the
+link:reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand or the
+link:reference-manual/create-http-listener.html#GSRFM00030[`create-http-listener`] subcommand.
+3. If needed, restart the server.
++
+If you edit the special HTTP network listener named `admin-listener`,
+you must restart the server for changes to take effect. See
+link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00253]][[ggpjk]]
+Example 13-9 Creating an HTTP Listener
+
+This example creates an HTTP listener named `sampleListener` that uses a
+non-default number of acceptor threads. Security is not enabled at
+runtime.
+
+[source]
+----
+asadmin> create-http-listener --listeneraddress 0.0.0.0
+--listenerport 7272 --defaultvs server --servername host1.sun.com
+--acceptorthreads 100 --securityenabled=false
+--enabled=false sampleListener
+Command create-http-listener executed successfully.
+----
+
+[[GSADG00254]][[gjimj]]
+Example 13-10 Creating a Network Listener
+
+This example a network listener named `sampleListener` that is not
+enabled at runtime:
+
+[source]
+----
+asadmin> create-network-listener --listenerport 7272 protocol http-1
+--enabled=false sampleListener
+Command create-network-listener executed successfully.
+----
+
+[[GSADG1000]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-http-listener` or
+`asadmin help create-network-listener` at the command line.
+
+[[ggnbv]][[GSADG00466]][[to-list-http-network-listeners]]
+
+===== To List HTTP Network Listeners
+
+Use the `list-http-listeners` subcommand or the `list-network-listeners`
+subcommand in remote mode to list the existing HTTP listeners.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List HTTP listeners by using the
+link:reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] or
+link:reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`] subcommand.
+
+[[GSADG00255]][[ggpgw]]
+Example 13-11 Listing HTTP Listeners
+
+This example lists the HTTP listeners. The same output is given if you
+use the `list-network-listeners` subcommand.
+
+[source]
+----
+asadmin> list-http-listeners
+admin-listener
+http-listener-2
+http-listener-1
+Command list-http-listeners executed successfully.
+----
+
+[[GSADG1001]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-http-listeners` or
+`asadmin help list-network-listeners` at the command line.
+
+[[giwls]][[GSADG00467]][[to-update-an-http-network-listener]]
+
+===== To Update an HTTP Network Listener
+
+1. List HTTP listeners by using the
+link:reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] or
+link:reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`] subcommand.
+2. Modify the values for the specified listener by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+The listener is identified by its dotted name.
+
+[[GSADG00256]][[giwiw]]
+Example 13-12 Updating an HTTP Network Listener
+
+This example changes `security-enabled` to `false` on `http-listener-2`.
+
+[source]
+----
+asadmin> set server.network-config.protocols.protocol.http-listener-2.security-enabled=false
+Command set executed successfully.
+----
+
+[[ggndu]][[GSADG00468]][[to-delete-an-http-network-listener]]
+
+===== To Delete an HTTP Network Listener
+
+Use the `delete-http-listener` subcommand or the
+`delete-network-listener` subcommand in remote mode to delete an
+existing HTTP listener. This disables secure communications for the
+listener.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List HTTP listeners by using the
+link:reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] subcommand.
+3. Delete an HTTP listener by using the
+link:reference-manual/delete-http-listener.html#GSRFM00082[`delete-http-listener`] or
+link:reference-manual/delete-network-listener.html#GSRFM00098[`delete-network-listener`] subcommand.
+4. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00257]][[ggpjr]]
+Example 13-13 Deleting an HTTP Listener
+
+This example deletes the HTTP listener named `sampleListener`:
+
+[source]
+----
+asadmin> delete-http-listener sampleListener
+Command delete-http-listener executed successfully.
+----
+
+[[GSADG1002]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-http-listener` or
+`asadmin help delete-network-listener` at the command line.
+
+[[ggnbj]][[GSADG00469]][[to-configure-an-http-listener-for-ssl]]
+
+===== To Configure an HTTP Listener for SSL
+
+Use the `create-ssl` subcommand in remote mode to create and configure
+an SSL element in the specified listener. This enables secure
+communication for the listener.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Configure an HTTP listener by using the
+link:reference-manual/create-ssl.html#GSRFM00058[`create-ssl`] subcommand.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00258]][[ggphv]]
+Example 13-14 Configuring an HTTP Listener for SSL
+
+This example enables the HTTP listener named `http-listener-1` for SSL:
+
+[source]
+----
+asadmin> create-ssl --type http-listener --certname sampleCert http-listener-1
+Command create-ssl executed successfully.
+----
+
+[[GSADG1003]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-ssl` at the command line.
+
+[[CHDEDCEA]][[GSADG1106]][[to-configure-optional-client-authentication-for-ssl]]
+
+===== To Configure Optional Client Authentication for SSL
+
+In {productName}, you can configure the SSL protocol of an HTTP
+listener such that it requests a certificate before permitting a client
+connection, but does not refuse a connection if the client does not
+provide one. To enable this feature, set the `client-auth` property of
+the SSL protocol to the value `want`. For example:
+
+[source]
+----
+asadmin> set configs.config.config-name.network-config.protocols.\
+protocol.listener-name.ssl.client-auth=want
+----
+
+[[CHDHEFHG]][[GSADG1107]][[to-configure-a-custom-ssl-implementation]]
+
+===== To Configure a Custom SSL Implementation
+
+In {productName}, you can configure the SSL protocol an HTTP listener
+such that it uses a custom implementation of SSL. To enable this
+feature, set the `classname` property of the SSL protocol to the name of
+a class that implements the `com.sun.grizzly.util.net.SSLImplementation`
+interface. For example:
+
+[source]
+----
+asadmin> set configs.config.config-name.network-config.protocols.\
+protocol.listener-name.ssl.classname=SSLImplementation-class-name
+----
+
+By default, {productName} uses the implementation
+`com.sun.enterprise.security.ssl.GlassfishSSLImpl` for the SSL protocol.
+
+[[ggncl]][[GSADG00470]][[to-delete-ssl-from-an-http-listener]]
+
+===== To Delete SSL From an HTTP Listener
+
+Use the `delete-ssl` subcommand in remote mode to delete the SSL element
+in the specified listener. This disables secure communications for the
+listener.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Delete SSL from an HTTP listener by using the
+link:reference-manual/delete-ssl.html#GSRFM00109[`delete-ssl`] subcommand.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00259]][[ggpln]]
+Example 13-15 Deleting SSL From an HTTP Listener
+
+This example disables SSL for the HTTP listener named `http-listener-1`:
+
+[source]
+----
+asadmin> delete-ssl --type http-listener http-listener-1
+Command delete-http-listener executed successfully.
+----
+
+[[GSADG1004]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-ssl` at the command line.
+
+[[gixjb]][[GSADG00471]][[to-assign-a-default-virtual-server-to-an-http-listener]]
+
+===== To Assign a Default Virtual Server to an HTTP Listener
+
+1. In the Administration Console, open the HTTP Service component under
+the relevant configuration.
+2. Open the HTTP Listeners component under the HTTP Service component.
+3. Select or create a new HTTP listener.
+4. Select from the Default Virtual Server drop-down list.
++
+For more information, see link:#beaga[To Assign a Default Web Module to
+a Virtual Server].
+
+[[GSADG1005]]
+
+See Also
+
+For details, click the Help button in the Administration Console from
+the HTTP Listeners page.
+
+[[ggncs]][[GSADG00589]][[administering-virtual-servers]]
+
+=== Administering Virtual Servers
+
+A virtual server is a virtual web server that serves content targeted
+for a specific URL. Multiple virtual servers can serve content using the
+same or different host names, port numbers, or IP addresses. The HTTP
+service directs incoming web requests to different virtual servers based
+on the URL.
+
+When you first install {productName}, a default virtual server is
+created. You can assign a default virtual server to each new HTTP
+listener you create.
+
+Web applications and Jakarta EE applications containing web components (web
+modules) can be assigned to virtual servers during deployment. A web
+module can be assigned to more than one virtual server, and a virtual
+server can have more than one web module assigned to it. If you deploy a
+web application and don't specify any assigned virtual servers, the web
+application is assigned to all currently defined virtual servers. If you
+then create additional virtual servers and want to assign existing web
+applications to them, you must redeploy the web applications. For more
+information about deployment, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+You can define virtual server properties using the `asadmin set`
+command. For example:
+
+[source]
+----
+asadmin> set server-config.http-service.virtual-server.MyVS.property.sso-enabled="true"
+----
+
+Some virtual server properties can be set for a specific web
+application. For details, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in
+{productName} Application Deployment Guide.
+
+The following topics are addressed here:
+
+* link:#ggnfr[To Create a Virtual Server]
+* link:#ggndw[To List Virtual Servers]
+* link:#giwkp[To Update a Virtual Server]
+* link:#ggnen[To Delete a Virtual Server]
+* link:#beaga[To Assign a Default Web Module to a Virtual Server]
+* link:#gixku[To Assign a Virtual Server to an Application or Module]
+* link:#glavy[To Set `JSESSIONIDSSO` Cookie Attributes]
+
+[[ggnfr]][[GSADG00472]][[to-create-a-virtual-server]]
+
+==== To Create a Virtual Server
+
+By default, when {productName} starts, the following virtual servers
+are started automatically:
+
+* A virtual server named `server`, which hosts all user-defined web
+modules.
++
+For development, testing, and deployment of web services in a
+non-production environment, `server` is often the only virtual server
+required.
+* A virtual server named `__asadmin`, which hosts all
+administration-related web modules (specifically, the Administration
+Console). This server is restricted, which means that you cannot deploy
+web modules to this virtual server.
+
+In a production environment, additional virtual servers provide hosting
+facilities for users and customers so that each appears to have its own
+web server, even though there is only one physical server.
+
+Use the `create-virtual-server` subcommand in remote mode to create the
+named virtual server.
+
+[[GSADG1006]]
+
+Before You Begin
+
+A virtual server must specify an existing HTTP listener. Because the
+virtual server cannot specify an HTTP listener that is already being
+used by another virtual server, create at least one HTTP listener before
+creating a new virtual server.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a virtual server by using the
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`] subcommand.
++
+Information about properties for this subcommand is included in this
+help page.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00260]][[ggpha]]
+Example 13-16 Creating a Virtual Server
+
+This example creates a virtual server named `sampleServer` on
+`localhost`.
+
+[source]
+----
+asadmin> create-virtual-server sampleServer
+Command create-virtual-server executed successfully.
+----
+
+[[GSADG1007]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-virutal-server` at the command line.
+
+[[ggndw]][[GSADG00473]][[to-list-virtual-servers]]
+
+==== To List Virtual Servers
+
+Use the `list-virtual-servers` subcommand in remote mode to list the
+existing virtual servers.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List virtual servers by using the
+link:reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand.
+
+[[GSADG00261]][[ggpgr]]
+Example 13-17 Listing Virtual Servers
+
+This example lists the virtual servers for `localhost`.
+
+[source]
+----
+asadmin> list-virtual-servers
+sampleListener
+admin-listener
+http-listener-2
+http-listener-1
+Command list-http-listeners executed successfully.
+----
+
+[[GSADG1008]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-virutal-servers` at the command line.
+
+[[giwkp]][[GSADG00474]][[to-update-a-virtual-server]]
+
+==== To Update a Virtual Server
+
+1. List virtual servers by using the
+link:reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand.
+2. Modify the values for the specified virtual server by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+The virtual server is identified by its dotted name.
+
+[[ggnen]][[GSADG00475]][[to-delete-a-virtual-server]]
+
+==== To Delete a Virtual Server
+
+Use the `delete-virtual-server` subcommand in remote mode to delete an
+existing virtual server.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List virtual servers by using the
+link:reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand.
+3. If necessary, notify users that the virtual server is being deleted.
+4. Delete a virtual server by using the
+link:reference-manual/delete-virtual-server.html#GSRFM00113[`delete-virtual-server`] subcommand.
+5. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00262]][[ggpmd]]
+Example 13-18 Deleting a Virtual Server
+
+This example deletes the virtual server named `sampleServer` from
+`localhost`.
+
+[source]
+----
+asadmin> delete-virtual-server sampleServer
+Command delete-virtual-server executed successfully.
+----
+
+[[GSADG1009]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-virutal-server` at the command line.
+
+[[beaga]][[GSADG00772]][[to-assign-a-default-web-module-to-a-virtual-server]]
+
+==== To Assign a Default Web Module to a Virtual Server
+
+A default web module can be assigned to the default virtual server and
+to each new virtual server. To access the default web module for a
+virtual server, point the browser to the URL for the virtual server, but
+do not supply a context root. For example:
+
+[source]
+----
+http://myvserver:3184/
+----
+
+A virtual server with no default web module assigned serves HTML or
+JavaServer Pages ( JSP) content from its document root, which is usually
+domain-dir``/docroot``. To access this HTML or JSP content, point your
+browser to the URL for the virtual server, do not supply a context root,
+but specify the target file.
+
+For example:
+
+[source]
+----
+http://myvserver:3184/hellothere.jsp
+----
+
+[[gixku]][[GSADG00476]][[to-assign-a-virtual-server-to-an-application-or-module]]
+
+==== To Assign a Virtual Server to an Application or Module
+
+You can assign a virtual server to a deployed application or web module.
+
+[[GSADG1010]]
+
+Before You Begin
+
+The application or module must already be deployed. For more
+information, see the link:application-deployment-guide.html#GSDPG[{productName}
+Application Deployment Guide].
+
+1. In the Administration Console, open the HTTP Service component under
+the relevant configuration.
+2. Open the Virtual Servers component under the HTTP Service component.
+3. Select the virtual server to which you want to assign a default web
+module.
+4. Select the application or web module from the Default Web Module
+drop-down list.
++
+For more information, see link:#beaga[To Assign a Default Web Module to
+a Virtual Server].
+
+[[glavy]][[GSADG00477]][[to-set-jsessionidsso-cookie-attributes]]
+
+==== To Set `JSESSIONIDSSO` Cookie Attributes
+
+Use the `sso-cookie-http-only` and `sso-cookie-secure` virtual server
+attributes to set the `HttpOnly` and `Secure` attributes of any
+`JSESSIONIDSSO` cookies associated with web applications deployed to the
+virtual server.
+
+Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to set the value of the
+`sso-cookie-http-only` and `sso-cookie-secure` virtual server
+attributes.
+
+The values supported for these attributes are as follows:
+
+`sso-cookie-http-only`::
+  A boolean value that specifies whether the `HttpOnly` attribute is
+  included in `JSESSIONIDSSO` cookies. When set to `true`, which is the
+  default, the `HttpOnly` attribute is included. When set to `false`,
+  the `HttpOnly` attribute is not included.
+`sso-cookie-secure`::
+  A string value that specifies whether the `Secure` attribute is
+  included in `JSESSIONIDSSO` cookies. Allowed values are as follows:
++
+  * `true` — The `Secure` attribute is included.
+  * `false` — The `Secure` attribute is not included.
+  * `dynamic` — The `Secure` attribute setting is inherited from the
+  first session participating in SSO. This is the default value.
+
+
diff --git a/docs/administration-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/administration-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/administration-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/administration-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/administration-guide/src/main/jbake/assets/img/rest-management.png b/docs/administration-guide/src/main/asciidoc/img/rest-management.png
similarity index 100%
rename from docs/administration-guide/src/main/jbake/assets/img/rest-management.png
rename to docs/administration-guide/src/main/asciidoc/img/rest-management.png
Binary files differ
diff --git a/docs/administration-guide/src/main/jbake/assets/img/rest-monitoring.png b/docs/administration-guide/src/main/asciidoc/img/rest-monitoring.png
similarity index 100%
rename from docs/administration-guide/src/main/jbake/assets/img/rest-monitoring.png
rename to docs/administration-guide/src/main/asciidoc/img/rest-monitoring.png
Binary files differ
diff --git a/docs/administration-guide/src/main/jbake/assets/img/websphere-mq.png b/docs/administration-guide/src/main/asciidoc/img/websphere-mq.png
similarity index 100%
rename from docs/administration-guide/src/main/jbake/assets/img/websphere-mq.png
rename to docs/administration-guide/src/main/asciidoc/img/websphere-mq.png
Binary files differ
diff --git a/docs/administration-guide/src/main/asciidoc/javamail.adoc b/docs/administration-guide/src/main/asciidoc/javamail.adoc
new file mode 100644
index 0000000..8472e01
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/javamail.adoc
@@ -0,0 +1,226 @@
+type=page
+status=published
+title=Administering the JavaMail Service
+next=jms.html
+prev=orb.html
+~~~~~~
+
+= Administering the JavaMail Service
+
+[[GSADG00019]][[ablkr]]
+
+
+[[administering-the-javamail-service]]
+== 16 Administering the JavaMail Service
+
+{productName} includes the JavaMail API along with JavaMail service
+providers that allow an application component to send email
+notifications over the Internet and to read email from IMAP and POP3
+mail servers.
+
+The following topics are addressed here:
+
+* link:#ggjsf[About JavaMail]
+* link:#giowr[Administering JavaMail Resources]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[ggjsf]][[GSADG00593]][[about-javamail]]
+
+=== About JavaMail
+
+The JavaMail API is a set of abstract APIs that model a mail system. The
+JavaMail API provides a platform-independent and protocol-independent
+framework to build mail and messaging applications and provide
+facilities for reading and sending electronic messages. Service
+providers implement particular protocols. Using the API you can add
+email capabilities to your applications. JavaMail provides access from
+Java applications to Internet Message Access Protocol (IMAP) and Simple
+Mail Transfer Protocol (SMTP) capable mail servers on your network or
+the Internet. The API does not provide mail server functionality; you
+must have access to a mail server to use JavaMail.
+
+The JavaMail API is implemented as an optional package in the Java
+platform and is also available as part of the Jakarta EE platform.
+
+To learn more about the JavaMail API, consult the
+http://www.oracle.com/technetwork/java/javamail/[JavaMail web site] .
+
+[[giowr]][[GSADG00594]][[administering-javamail-resources]]
+
+=== Administering JavaMail Resources
+
+When you create a mail session, the server-side components and
+applications are enabled to access JavaMail services with JNDI, using
+the session properties you assign for them. When creating a mail
+session, you can designate the mail hosts, the transport and store
+protocols, and the default mail user so that components that use
+JavaMail do not have to set these properties. Applications that are
+heavy email users benefit because {productName} creates a single
+session object and makes the session available to any component that
+needs it.
+
+JavaMail settings such as the following can be specified:
+
+* JNDI Name. The unique name for the mail session. Use the naming
+sub-context prefix mail/ for JavaMail resources. For example:
+`mail/MySession`
+* Mail Host. The host name of the default mail server. The connect
+methods of the store and transport objects use this value if a
+protocol-specific host property is not supplied. The name must be
+resolvable to an actual host name.
+* Default User. The default user name to provide when connecting to a
+mail server. The connect methods of the store and transport objects use
+this value if a protocol-specific username property is not supplied.
+* Default Return Address. The email address of the default user, in the
+form: username@host.domain.
+* Description. A descriptive statement for the component.
+* Session. Indicates whether or not mail session is enabled or disabled
+at this time
+
+The following topics are addressed here:
+
+* link:#giowd[To Create a JavaMail Resource]
+* link:#giowq[To List JavaMail Resources]
+* link:#giwjw[To Update a JavaMail Resource]
+* link:#gioxj[To Delete a JavaMail Resource]
+
+[[giowd]][[GSADG00482]][[to-create-a-javamail-resource]]
+
+==== To Create a JavaMail Resource
+
+Use the `create-javamail-resource` subcommand in remote mode to create a
+JavaMail session resource. The JNDI name for a JavaMail session resource
+customarily includes the mail/ naming subcontext, For example:
+`mail/MyMailSession.`
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a JavaMail resource by using the
+link:reference-manual/create-javamail-resource.html#GSRFM00035[`create-javamail-resource`] subcommand.
++
+Information about the properties for the subcommand is included in this
+help page.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00267]][[gipfs]]
+Example 16-1 Creating a JavaMail Resource
+
+This example creates a JavaMail resource named `mail/MyMailSession`. The
+escape character (\) is used in the `--fromaddress` option to
+distinguish the dot (.) and at sign (@).
+
+[source]
+----
+asadmin> create-javamail-resource --mailhost localhost
+--mailuser sample --fromaddress sample\@sun\.com mail/MyMailSession
+Command create-javamail-resource executed successfully.
+----
+
+[[GSADG1014]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-javamail-resource` at the command line.
+
+[[giowq]][[GSADG00483]][[to-list-javamail-resources]]
+
+==== To List JavaMail Resources
+
+Use the `list-javamail-resources` subcommand in remote mode to list the
+existing JavaMail session resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the JavaMail resources by using the
+link:reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`] subcommand.
+
+[[GSADG00268]][[gipfe]]
+Example 16-2 Listing JavaMail Resources
+
+This example lists the JavaMail resources on `localhost`.
+
+[source]
+----
+asadmin> list-javamail-resources
+mail/MyMailSession
+Command list-javamail-resources executed successfuly.
+----
+
+[[GSADG1015]]
+
+See Also
+
+You can also view the full syntax and options of the subcommands by
+typing `asadmin help list-javamail-resources` at the command line.
+
+[[giwjw]][[GSADG00484]][[to-update-a-javamail-resource]]
+
+==== To Update a JavaMail Resource
+
+1. List the JavaMail resources by using the
+link:reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`] subcommand.
+2. Modify the values for the specified JavaMail source by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+The resource is identified by its dotted name.
+
+[[GSADG00269]][[giwjb]]
+Example 16-3 Updating a JavaMail Resource
+
+This example changes `joeserver` to `joe`.
+
+[source]
+----
+asadmin> set server.resources.mail-resource.mail/
+MyMailSession.user=joeserver.resources.mail-resource.mail/
+MyMailSession.user=joe
+Command set executed successfully.
+----
+
+[[gioxj]][[GSADG00485]][[to-delete-a-javamail-resource]]
+
+==== To Delete a JavaMail Resource
+
+Use the `delete-javamail-resource` subcommands in remote mode to delete
+a JavaMail session resource.
+
+[[GSADG1016]]
+
+Before You Begin
+
+References to the specified resource must be removed before running the
+`delete-javamail-resource` subcommands.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the JavaMail resources by using the
+link:reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`] subcommands.
+3. Delete a JavaMail resource by using the
+link:reference-manual/delete-javamail-resource.html#GSRFM00087[`delete-javamail-resource`] subcommands.
+4. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00270]][[gipcd]]
+Example 16-4 Deleting a JavaMail Resource
+
+This example deletes the JavaMail session resource named
+`mail/MyMailSession`.
+
+[source]
+----
+asadmin> delete-javamail-resource mail/MyMailSession
+Command delete-javamail-resource executed successfully.
+----
+
+[[GSADG1017]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-javamail-resource` at the command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/jdbc.adoc b/docs/administration-guide/src/main/asciidoc/jdbc.adoc
new file mode 100644
index 0000000..6052da0
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/jdbc.adoc
@@ -0,0 +1,1697 @@
+type=page
+status=published
+title=Administering Database Connectivity
+next=connectors.html
+prev=part-res-and-svcs-admin.html
+~~~~~~
+
+= Administering Database Connectivity
+
+[[GSADG00015]][[ablih]]
+
+
+[[administering-database-connectivity]]
+== 11 Administering Database Connectivity
+
+This chapter provides procedures for performing database connectivity
+tasks in the {productName} 7 environment by
+using the `asadmin` command-line utility.
+
+The following topics are addressed here:
+
+* link:#gipbp[About Database Connectivity]
+* link:#ggkon[Setting Up the Database]
+* link:#ggndx[Configuring Access to the Database]
+* link:#beamw[Configuration Specifics for JDBC Drivers]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[[gipbp]][[GSADG00576]][[about-database-connectivity]]
+
+=== About Database Connectivity
+
+A database management system (DBMS) provides facilities for storing,
+organizing, and retrieving data. The information in databases is often
+described as persistent data because it is saved on disk and exists
+after the application process ends. Most business applications store
+data in relational databases. Applications can access database
+information by using the Java Database Connectivity (JDBC) API.
+
+The key elements of database connectivity are the following:
+
+* Database. The repository where data is stored for an enterprise. Java
+EE applications access relational databases through the JDBC API. For
+administration procedures, see link:#ggkon[Setting Up the Database].
+* JDBC Connection Pool. A JDBC connection pool is a group of reusable
+connections for a particular database. For administration procedures,
+see link:#gharo[Administering JDBC Connection Pools].
+* JDBC Resource. A JDBC resource (data source) provides applications
+with a means of connecting to a database. To create a JDBC resource,
+specify the connection pool with which it is associated. Multiple JDBC
+resources can specify a single connection pool. A JDBC resource is
+identified by its Java Naming and Directory Interface (JNDI) name. For
+administration procedures, see link:#ggndp[Administering JDBC
+Resources].
+* JDBC Driver. A database driver is a software component that enables a
+Java application to interact with a database connectivity API . Each
+database requires its own driver. For administration procedures, see
+link:#ghatb[Integrating the JDBC Driver].
+
+At runtime, the following sequence occurs when an application connects
+to a database:
+
+1. The application gets the JDBC resource associated with the database
+by making a call through the JNDI API.
++
+Using the JNDI name of the resource, the naming and directory service
+locates the JDBC resource. Each JDBC resource specifies a connection
+pool.
+
+2. Using the JDBC resource, the application gets a database connection.
++
+{productName} retrieves a physical connection from the connection
+pool that corresponds to the database. The pool defines connection
+attributes such as the database name (URL), user name, and password.
+
+3. After the database connection is established, the application can
+read, modify, and add data to the database.
++
+The application accesses the database by making calls to the JDBC API.
+The JDBC driver translates the application's JDBC calls into the
+protocol of the database server.
+
+4. When the application is finished accessing the database, the
+application closes the connection and returns the connection to the
+connection pool.
+
+[[ggkon]][[GSADG00577]][[setting-up-the-database]]
+
+=== Setting Up the Database
+
+Most applications use relational databases to store, organize, and
+retrieve data. Applications access relational databases through the Java
+Database Connectivity (JDBC) API.
+
+The following topics are addressed here:
+
+* link:#gharl[To Install the Database and Database Driver]
+* link:#ggndz[To Start the Database]
+* link:#ggnbw[To Stop the Database]
+* link:#ghmbq[Apache Derby Database Utility Scripts]
+
+[[gharl]][[GSADG00416]][[to-install-the-database-and-database-driver]]
+
+==== To Install the Database and Database Driver
+
+1. Install a supported database product.
++
+To see the current list of database products supported by {productName}, refer to the link:release-notes.html#GSRLN[{productName} Release Notes].
+
+2. Install a supported JDBC driver for the database product.
++
+For a list of drivers supported by {productName}, see
+link:#beamw[Configuration Specifics for JDBC Drivers].
+
+3. Make the JDBC driver JAR file accessible to the domain
+administration server (DAS).
++
+See link:#ghatb[Integrating the JDBC Driver].
+
+4. Create the database.
++
+The application provider usually delivers scripts for creating and
+populating the database.
+
+[[GSADG949]]
+
+Next Steps
+
+You are now ready to create a connection pool for the database, and a
+JDBC resource that points to the connection pool. See link:#ggnfv[To
+Create a JDBC Connection Pool] and link:#ggnda[To Create a JDBC
+Resource]. The final step is to integrate the JDBC driver into an
+administrative domain as described in link:#ghatb[Integrating the JDBC
+Driver].
+
+[[ggndz]][[GSADG00417]][[to-start-the-database]]
+
+==== To Start the Database
+
+{productName} includes an implementation of the Apache Derby
+database, however, you can use any JDBC-compliant database. The database
+is not started automatically when you start {productName}, so if you
+have applications that require a database, you need to start Apache
+Derby database manually by using the local `start-database` subcommand.
+
+Start the database by using the link:reference-manual/start-database.html#GSRFM00234[`start-database`]
+subcommand.
+
+When the database server starts, or a client connects to it
+successfully, the following files are created at the location that is
+specified by the `--dbhome` option:
+
+* The `derby.log` file contains the database server process log along
+with its standard output and standard error information.
+* The database files contain your schema (for example, database tables).
+
+[[GSADG00212]][[ggooc]]
+Example 11-1 Starting a Database
+
+This example starts the Apache Derby database on the host host1 and port
+5001. [source]
+----
+asadmin> start-database --dbhost host1 --dbport 5001 --terse=true
+Starting database in the background.
+Log redirected to /opt/SUNWappserver/databases/javadb.log.
+Command start-database executed successfully.
+----
+
+[[GSADG950]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help start-database` at the command line.
+
+[[ggnbw]][[GSADG00418]][[to-stop-the-database]]
+
+==== To Stop the Database
+
+Use the local `stop-database` subcommand to stop the Apache Derby
+database on a specified port. A single host can have multiple database
+server processes running on different ports.
+
+1. If necessary, notify users that the database is being stopped.
+2. Stop the database by using the link:reference-manual/stop-database.html#GSRFM00239[`stop-database`]
+subcommand.
+
+[[GSADG00213]][[ggorc]]
+Example 11-2 Stopping a Database
+
+This example stops the Apache Derby database on port 5001 of
+`localhost`.
+
+[source]
+----
+asadmin> stop-database --dbhost=localhost --dbport=5001
+onnection obtained for host: localhost, port number 5001.
+Apache Derby Network Server - 10.2.2.1 - (538595) shutdown
+at 2008-10-17 23:34:2 7.218 GMT
+Command stop-database executed successfully.
+----
+
+[[GSADG951]]
+
+Troubleshooting
+
+For a laptop that roams between networks, you might have trouble
+shutting down the database. If you start the Apache Derby database and
+then change your IP address, you will not be able to stop the Apache
+Derby database unless you add a specific `--dbhost` argument. For
+example, if you run `asadmin start-database` `dbhost` `= 0.0.0.0`, and
+then disconnect Ethernet and switch to wifi, you should run a command
+similar to the following to stop the database:
+
+`asadmin stop-database` `dbhost` `localhost`
+
+[[GSADG952]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help stop-database` at the command line.
+
+[[ghmbq]][[GSADG00744]][[apache-derby-database-utility-scripts]]
+
+==== Apache Derby Database Utility Scripts
+
+The Apache Derby database configuration that is available for use with
+{productName} includes scripts that can help you use the Apache Derby
+database. The following scripts are available in the
+as-install``/javadb/bin`` directory:
+
+`startNetworkServer,startNetworkServer.bat`::
+  Script to start the network server
+`stopNetworkServer,stopNetworkServer.bat`::
+  Script to stop the network server
+`ij,ij.bat`::
+  Interactive JDBC scripting tool
+`dblook,dblook.bat`::
+  Script to view all or part of the DDL for a database
+`sysinfo, sysinfo.bat`::
+  Script to display versioning information about the Apache Derby
+  database environment
+`NetworkServerControl,NetworkServerControl.bat`::
+  Script to execute commands on the `NetworkServerControl` API
+
+[[ghmbj]][[GSADG00419]][[to-configure-your-environment-to-run-the-apache-derby-database-utility-scripts]]
+
+===== To Configure Your Environment to Run the Apache Derby Database Utility Scripts
+
+1. Ensure that the `JAVA_HOME` environment variable specifies the
+directory where the JDK is installed.
+2. Set the `JAVADB_HOME` environment variable to point to the
+as-install``/javadb`` directory.
+
+[[GSADG953]]
+
+See Also
+
+For more information about these utilities, see the following
+documentation:
+
+* http://db.apache.org/derby/docs/10.13/tools/[Apache Derby Tools and
+Utilities Guide]
+* http://db.apache.org/derby/docs/10.13/adminguide/[Derby Server and
+Administration Guide]
+
+[[ggndx]][[GSADG00578]][[configuring-access-to-the-database]]
+
+=== Configuring Access to the Database
+
+After establishing the database, you are ready to set up access for
+{productName} applications. The high-level steps include creating a
+JDBC connection pool, creating a JDBC resource for the connection pool,
+and integrating a JDBC driver into an administrative domain.
+
+Instructions for performing these steps are contained in the following
+sections:
+
+* link:#gharo[Administering JDBC Connection Pools]
+* link:#ggndp[Administering JDBC Resources]
+* link:#gkudf[Enabling the `jdbc/__default` Resource in a Clustered
+Environment]
+* link:#ghatb[Integrating the JDBC Driver]
+
+[[gharo]][[GSADG00745]][[administering-jdbc-connection-pools]]
+
+==== Administering JDBC Connection Pools
+
+A JDBC connection pool is a group of reusable connections for a
+particular database. Because creating each new physical connection is
+time consuming, {productName} maintains a pool of available
+connections. When an application requests a connection, it obtains one
+from the pool. When an application closes a connection, the connection
+is returned to the pool. JDBC connection pools can be globally
+accessible or be scoped to an enterprise application, web module, EJB
+module, connector module or application client module, as described in
+"link:application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in {productName} Application Deployment Guide.
+
+A JDBC resource is created by specifying the connection pool with which
+the resource is associated. Multiple JDBC resources can specify a single
+connection pool. The properties of connection pools can vary with
+different database vendors. Some common properties are the database name
+(URL), the user name, and the password.
+
+The following tasks and information are used to administer JDBC
+connection pools:
+
+* link:#ggnfv[To Create a JDBC Connection Pool]
+* link:#ggnby[To List JDBC Connection Pools]
+* link:#ggnwn[To Contact (Ping) a Connection Pool]
+* link:#gjiqp[To Reset (Flush) a Connection Pool]
+* link:#giosk[To Update a JDBC Connection Pool]
+* link:#ggngb[To Delete a JDBC Connection Pool]
+* link:#gktdi[Configuring Specific JDBC Connection Pool Features]
+
+[[ggnfv]][[GSADG00420]][[to-create-a-jdbc-connection-pool]]
+
+===== To Create a JDBC Connection Pool
+
+Use the `create-jdbc-connection-pool` subcommand in remote mode to
+register a new JDBC connection pool with the specified JDBC connection
+pool name. A JDBC connection pool or a connector connection pool can be
+created with authentication. You can either use a subcommand option to
+specify user, password, or other connection information using the
+`asadmin` utility, or specify the connection information in the XML
+descriptor file.
+
+One connection pool is needed for each database, possibly more depending
+on the application. When you are building the connection pool, certain
+data specific to the JDBC driver and the database vendor is required.
+You can find some of the following specifics in
+link:#beamw[Configuration Specifics for JDBC Drivers]:
+
+* Database vendor name
+* Resource type, such as `javax.sql.DataSource` (local transactions
+only) `javax.sql.XADataSource` (global transactions)
+* Data source class name
+* Required properties, such as the database name (URL), user name, and
+password
+
+Creating a JDBC connection pool is a dynamic event and does not require
+server restart. However, there are some parameters that do require
+server restart. See link:overview.html#ghciy[Configuration Changes That
+Require Restart].
+
+[[GSADG954]]
+
+Before You Begin
+
+Before creating the connection pool, you must first install and
+integrate the database and its associated JDBC driver. For instructions,
+see link:#ggkon[Setting Up the Database].
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create the JDBC connection pool by using the
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`] subcommand.
+3. If needed, restart the server.
++
+Some parameters require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart].
+
+[[GSADG00214]][[ggrgh]]
+Example 11-3 Creating a JDBC Connection Pool
+
+This example creates a JDBC connection pool named `sample_derby_pool` on
+`localhost`.
+
+[source]
+----
+asadmin> create-jdbc-connection-pool
+--datasourceclassname org.apache.derby.jdbc.ClientDataSource
+--restype javax.sql.XADataSource
+--property portNumber=1527:password=APP:user=APP:serverName=
+localhost:databaseName=sun-appserv-samples:connectionAttribut
+es=\;create\\=true sample_derby_pool
+Command create-jdbc-connection-pool executed successfully.
+----
+
+[[GSADG955]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-jdbc-connection-pool` at the command line.
+
+[[ggnby]][[GSADG00421]][[to-list-jdbc-connection-pools]]
+
+===== To List JDBC Connection Pools
+
+Use the `list-jdbc-connection-pools` subcommand in remote mode to list
+all existing JDBC connection pools.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the JDBC connection pools by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`] subcommand.
+
+[[GSADG00215]][[ggpcf]]
+Example 11-4 Listing JDBC Connection Pools
+
+This example lists the JDBC connection pools that are on `localhost`.
+
+[source]
+----
+asadmin> list-jdbc-connection-pools
+sample_derby_pool2
+poolA
+__TimerPool
+DerbyPool
+sample_derby_pool
+Command list-jdbc-connection-pools executed successfully.
+----
+
+[[GSADG956]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-jdbc-connection-pools` at the command line.
+
+[[ggnwn]][[GSADG00422]][[to-contact-ping-a-connection-pool]]
+
+===== To Contact (Ping) a Connection Pool
+
+Use the `ping-connection-pool` subcommand in remote mode to test if a
+connection pool is usable. For example, if you create a new JDBC
+connection pool for an application that is expected to be deployed
+later, you can test the JDBC pool with this subcommand before the
+application is deployed. Running a ping will force the creation of the
+pool if it hasn't already been created.
+
+[[GSADG957]]
+
+Before You Begin
+
+Before you can contact a connection pool, the connection pool must be
+created with authentication, and the server or database must be running.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Ping a connection pool by using the
+link:reference-manual/ping-connection-pool.html#GSRFM00214[`ping-connection-pool`] subcommand.
+
+[[GSADG00216]][[ggpcs]]
+Example 11-5 Contacting a Connection Pool
+
+This example tests to see if the `DerbyPool` connection pool is usable.
+
+[source]
+----
+asadmin> ping-connection-pool DerbyPool
+Command ping-connection-pool executed successfully
+----
+
+[[GSADG958]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help ping-connection-pool` at the command line.
+
+You can also specify that a JDBC connection pool is automatically tested
+when created or reconfigured by setting its `--ping` option to `true`
+(the default is `false`). See link:#ggnfv[To Create a JDBC Connection
+Pool] or link:#giosk[To Update a JDBC Connection Pool].
+
+[[gjiqp]][[GSADG00423]][[to-reset-flush-a-connection-pool]]
+
+===== To Reset (Flush) a Connection Pool
+
+Use the `flush-connection-pool` in remote mode to reinitialize all
+connections established in the specified connection pool without the
+need for reconfiguring the pool. Connection pool reconfiguration can
+result in application redeployment, which is a time-consuming operation.
+The JDBC connection pool or connector connection pool is reset to its
+initial state. Any existing live connections are destroyed, which means
+that the transactions associated with these connections are lost and
+must be retried. The subcommand then recreates the initial connections
+for the pool, and restores the pool to its steady pool size.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Reset a connection pool by using
+theolink:GSRFM00135[`flush-connection-pool`] subcommand.
+
+[[GSADG00217]][[gjirk]]
+Example 11-6 Resetting (Flushing) a Connection Pool
+
+This example resets the JDBC connection pool named `__TimerPool` to its
+steady pool size.
+
+[source]
+----
+asadmin> flush-connection-pool __TimerPool
+Command flush-connection-pool executed successfully.
+----
+
+[[GSADG959]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help flush-connection-pool` at the command line.
+
+[[giosk]][[GSADG00424]][[to-update-a-jdbc-connection-pool]]
+
+===== To Update a JDBC Connection Pool
+
+You can change all of the settings for an existing pool except its name.
+Use the `get` and `set` subcommands to view and change the values of the
+JDBC connection pool properties.
+
+1. List the JDBC connection pools by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`] subcommand.
+2. View the attributes of the JDBC connection pool by using the get
+subcommand.
++
+For example:
++
+[source]
+----
+asadmin get resources.jdbc-connection-pool.DerbyPool.property
+----
+3. Set the attribute of the JDBC connection pool by using the set
+subcommand.
++
+For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.DerbyPool.steady-pool-size=9
+----
+4. If needed, restart the server.
++
+Some parameters require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart].
+
+[[GSADG960]]
+
+See Also
+
+For information about how to tune a connection pool, see the
+link:performance-tuning-guide.html#GSPTG[{productName} Performance Tuning
+Guide].
+
+[[ggngb]][[GSADG00425]][[to-delete-a-jdbc-connection-pool]]
+
+===== To Delete a JDBC Connection Pool
+
+Use the `delete-jdbc-connection-pool` subcommand in remote mode to
+delete an existing JDBC connection pool. Deleting a JDBC connection pool
+is a dynamic event and does not require server restart.
+
+[[GSADG961]]
+
+Before You Begin
+
+Before deleting a JDBC connection pool, all associations to the resource
+must be removed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the JDBC connection pools by using the
+link:reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`] subcommand.
+3. If necessary, notify users that the JDBC connection pool is being
+deleted.
+4. Delete the connection pool by using the
+link:reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-jdbc-connection-pool`] subcommand.
+
+[[GSADG00218]][[ggpis]]
+Example 11-7 Deleting a JDBC Connection Pool
+
+This example deletes the JDBC connection pool named `DerbyPool`.
+
+[source]
+----
+asadmin> delete-jdbc-connection-pool jdbc/DerbyPool
+Command delete-jdbc-connection-pool executed successfully.
+----
+
+[[GSADG962]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-jdbc-connection-pool` at the command line.
+
+[[gktdi]][[GSADG00670]][[configuring-specific-jdbc-connection-pool-features]]
+
+===== Configuring Specific JDBC Connection Pool Features
+
+In {productName}, JDBC Connection Pools support a variety of features
+to simplify administration, monitoring and performance tuning. The
+following topics address several of these features:
+
+* link:#gktcv[Transparent Pool Reconfiguration]
+* link:#gkter[Using an Initialization Statement]
+* link:#gktcc[Setting a Statement Timeout]
+* link:#gktec[Statement Leak Detection and Leaked Statement Reclamation]
+* link:#gktej[Statement Caching]
+* link:#gktbu[Statement Tracing]
+
+[[gktcv]][[GSADG00085]][[transparent-pool-reconfiguration]]
+
+Transparent Pool Reconfiguration
+
+When the properties or attributes of a JDBC connection pool are changed,
+the connection pool is destroyed and re-created. Normally, applications
+using the connection pool must be redeployed as a consequence. This
+restriction can be avoided by enabling transparent JDBC connection pool
+reconfiguration. When this feature is enabled, applications do not need
+to be redeployed. Instead, requests for new connections are blocked
+until the reconfiguration operation completes. Connection requests from
+any in-flight transactions are served using the old pool configuration
+so as to complete the transaction. Then, connections are created using
+the pool's new configuration, and any blocked connection requests are
+served with connections from the re-created pool.
+
+To enable transparent JDBC connection pool reconfiguration, set the
+`dynamic-reconfiguration-wait-timeout-in-seconds` property of the JDBC
+connection pool to a positive, nonzero value in one of the following
+ways:
+
+* Add it as a property in the Edit JDBC Connection Pool Properties page
+in the Administration Console. For more information, click the Help
+button in the Administration Console.
+* Specify it using the `--property` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Set it using the `set` subcommand. For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.property.dynamic-reconfiguration-wait-timeout-in-seconds=15
+----
+
+This property specifies the time in seconds to wait for in-use
+connections to close and in-flight transactions to complete. Any
+connections in use or transaction in flight past this time must be
+retried.
+
+[[gkter]][[GSADG00086]][[using-an-initialization-statement]]
+
+Using an Initialization Statement
+
+You can specify a statement that executes each time a physical
+connection to the database is created (not reused) from a JDBC
+connection pool. This is useful for setting request or session specific
+properties and is suited for homogeneous requests in a single
+application. Set the Init SQL attribute of the JDBC connection pool to
+the SQL string to be executed in one of the following ways:
+
+* Enter an Init SQL value in the Edit Connection Pool Advanced
+Attributes page in the Administration Console. For more information,
+click the Help button in the Administration Console.
+* Specify the `--initsql` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Specify the `init-sql` option in the `asadmin set` command. For
+example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.init-sql="sql-string"
+----
+
+[[gktcc]][[GSADG00087]][[setting-a-statement-timeout]]
+
+Setting a Statement Timeout
+
+An abnormally long running JDBC query executed by an application may
+leave it in a hanging state unless a timeout is explicitly set on the
+statement. Setting a statement timeout guarantees that all queries
+automatically time out if not completed within the specified period.
+When statements are created, the `queryTimeout` is set according to the
+statement timeout setting. This works only when the underlying JDBC
+driver supports `queryTimeout` for `Statement`, `PreparedStatement`,
+`CallableStatement`, and `ResultSet`.
+
+You can specify a statement timeout in the following ways:
+
+* Enter a Statement Timeout value in the Edit Connection Pool Advanced
+Attributes page in the Administration Console. For more information,
+click the Help button in the Administration Console.
+* Specify the `--statementtimeout` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+
+[[gktec]][[GSADG00088]][[statement-leak-detection-and-leaked-statement-reclamation]]
+
+Statement Leak Detection and Leaked Statement Reclamation
+
+If statements are not closed by an application after use, it is possible
+for the application to run out of cursors. Enabling statement leak
+detection causes statements to be considered as leaked if they are not
+closed within a specified period. Additionally, leaked statements can
+reclaimed automatically.
+
+To enable statement leak detection, set Statement Leak Timeout In
+Seconds for the JDBC connection pool to a positive, nonzero value in one
+of the following ways:
+
+* Specify the `--statementleaktimeout` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Specify the `statement-leak-timeout-in-seconds` option in the `set`
+subcommand. For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-timeout-in-seconds=300
+----
+
+When selecting a value for Statement Leak Timeout In Seconds, make sure
+that:
+
+* It is less than the Connection Leak Timeout; otherwise, the connection
+could be closed before the statement leak is recognized.
+* It is greater than the Statement Timeout; otherwise, a long running
+query could be mistaken as a statement leak.
+
+After enabling statement leak detection, enable leaked statement
+reclamation by setting Reclaim Leaked Statements for the JDBC connection
+pool to a `true` value in one of the following ways:
+
+* Specify the `--statementleakreclaim=true` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Specify the `statement-leak-reclaim` option in the `set` subcommand.
+For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-reclaim=true
+----
+
+[[gktej]][[GSADG00089]][[statement-caching]]
+
+Statement Caching
+
+Statement caching stores statements, prepared statements, and callable
+statements that are executed repeatedly by applications in a cache,
+thereby improving performance. Instead of the statement being prepared
+each time, the cache is searched for a match. The overhead of parsing
+and creating new statements each time is eliminated.
+
+Statement caching is usually a feature of the JDBC driver. The {productName} provides caching for drivers that do not support caching. To
+enable this feature, set the Statement Cache Size for the JDBC
+connection pool in one of the following ways:
+
+* Enter a Statement Cache Size value in the Edit Connection Pool
+Advanced Attributes page in the Administration Console. For more
+information, click the Help button in the Administration Console.
+* Specify the `--statementcachesize` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Specify the `statement-cache-size` option in the `asadmin set`
+command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.statement-cache-size=10
+----
+
+By default, this attribute is set to zero and the statement caching is
+turned off. To enable statement caching, you can set any positive
+nonzero value. The built-in cache eviction strategy is LRU-based (Least
+Recently Used). When a connection pool is flushed, the connections in
+the statement cache are recreated.
+
+[[gktbu]][[GSADG00090]][[statement-tracing]]
+
+Statement Tracing
+
+You can trace the SQL statements executed by applications that use a
+JDBC connection pool. Set the SQL Trace Listeners attribute to a
+comma-separated list of trace listener implementation classes in one of
+the following ways:
+
+* Enter an SQL Trace Listeners value in the Edit Connection Pool
+Advanced Attributes page in the Administration Console. For more
+information, click the Help button in the Administration Console.
+* Specify the `--sqltracelisteners` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Specify the `sql-trace-listeners` option in the `asadmin set` command.
+For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.sql-trace-listeners=listeners
+----
+
+The {productName} provides a public interface,
+org.glassfish.api.jdbc.SQLTraceListener , that implements a means of
+recording `SQLTraceRecord` objects. To make custom implementations of
+this interface available to the {productName}, place the
+implementation classes in as-install``/lib``.
+
+The {productName} provides an SQL tracing logger to log the SQL
+operations in the form of `SQLTraceRecord` objects in the `server.log`
+file. The module name under which the SQL operation is logged is
+`jakarta.enterprise.resource.sqltrace`. SQL traces are logged as FINE
+messages along with the module name to enable easy filtering of the SQL
+logs. A sample SQL trace record looks like this:
+
+[source]
+----
+[#|2009-11-27T15:46:52.202+0530|FINE|glassfish7.0|jakarta.enterprise.resource.sqltrace.com.sun.gjc.util
+|_ThreadID=29;_ThreadName=Thread-1;ClassName=com.sun.gjc.util.SQLTraceLogger;MethodName=sqlTrace;
+|ThreadID=77 | ThreadName=p: thread-pool-1; w: 6 | TimeStamp=1259317012202
+| ClassName=com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40 | MethodName=executeUpdate
+| arg[0]=insert into table1(colName) values(100) | arg[1]=columnNames | |#]
+----
+
+This trace shows that an `executeUpdate(String sql, String columnNames)`
+operation is being done.
+
+When SQL statement tracing is enabled and JDBC connection pool
+monitoring is enabled, {productName} maintains a tracing cache of
+recent queries and their frequency of use. The following JDBC connection
+pool properties can be configured to control this cache and the
+monitoring statistics available from it:
+
+`time-to-keep-queries-in-minutes`::
+  Specifies how long in minutes to keep a query in the tracing cache,
+  tracking its frequency of use. The default value is 5 minutes.
+`number-of-top-queries-to-report`::
+  Specifies how many of the most used queries, in frequency order, are
+  listed the monitoring report. The default value is 10 queries.
+
+Set these parameters in one of the following ways:
+
+* Add them as properties in the Edit JDBC Connection Pool Properties
+page in the Administration Console. For more information, click the Help
+button in the Administration Console.
+* Specify them using the `--property` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Set them using the `set` subcommand. For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.property.time-to-keep-queries-in-minutes=10
+----
+
+[[ggndp]][[GSADG00746]][[administering-jdbc-resources]]
+
+==== Administering JDBC Resources
+
+A JDBC resource, also known as a data source, provides an application
+with a means of connecting to a database. Typically, you create a JDBC
+resource for each database that is accessed by the applications deployed
+in a domain. Multiple JDBC resources can be specified for a database.
+JDBC resources can be globally accessible or be scoped to an enterprise
+application, web module, EJB module, connector module or application
+client module, as described in "link:application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped
+Resources]" in {productName} Application
+Deployment Guide.
+
+A JDBC resource is created by specifying the connection pool with which
+the resource will be associated . Use a unique Java Naming and Directory
+Interface (JNDI) name to identify the resource. For example, the JNDI
+name for the resource of a payroll database might be
+`java:comp/env/jdbc/payrolldb`.
+
+The Jakarta EE standard specifies that certain default resources be made
+available to applications, and defines specific JNDI names for these
+default resources. {productName} makes these names available through
+the use of logical JNDI names, which map Jakarta EE standard JNDI names to
+specific {productName} resources. For JDBC resources, the Jakarta EE
+standard name `java:comp/DefaultDataSource` is mapped to the
+`jdbc/__default` resource.
+
+The following tasks and information are used to administer JDBC
+resources:
+
+* link:#ggnda[To Create a JDBC Resource]
+* link:#ggnhl[To List JDBC Resources]
+* link:#giwjv[To Update a JDBC Resource]
+* link:#ggnhz[To Delete a JDBC Resource]
+
+[[ggnda]][[GSADG00426]][[to-create-a-jdbc-resource]]
+
+===== To Create a JDBC Resource
+
+Use the `create-jdbc-resource` subcommand in remote mode to create a
+JDBC resource. Creating a JDBC resource is a dynamic event and does not
+require server restart.
+
+Because all JNDI names are in the `java:comp/env` subcontext, when
+specifying the JNDI name of a JDBC resource in the Administration
+Console, use only the `jdbc/`name format. For example, a payroll
+database might be specified as `jdbc/payrolldb`.
+
+[[GSADG963]]
+
+Before You Begin
+
+Before creating a JDBC resource, you must first create a JDBC connection
+pool. For instructions, see link:#ggnfv[To Create a JDBC Connection
+Pool].
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a JDBC resource by using the
+link:reference-manual/create-jdbc-resource.html#GSRFM00037[`create-jdbc-resource`] subcommand.
++
+Information about properties for the subcommand is included in this help
+page.
+3. If necessary, notify users that the new resource has been created.
+
+[[GSADG00219]][[ggplj]]
+Example 11-8 Creating a JDBC Resource
+
+This example creates a JDBC resource named `DerbyPool`.
+
+[source]
+----
+asadmin> create-jdbc-resource --connectionpoolid DerbyPool jdbc/DerbyPool
+Command create-jdbc-resource executed successfully.
+----
+
+[[GSADG964]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-jdbc-resource` at the command line.
+
+[[ggnhl]][[GSADG00427]][[to-list-jdbc-resources]]
+
+===== To List JDBC Resources
+
+Use the `list-jdbc-resources` subcommand in remote mode to list the
+existing JDBC resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List JDBC resources by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`] subcommand.
+
+[[GSADG00220]][[ggpgi]]
+Example 11-9 Listing JDBC Resources
+
+This example lists JDBC resources for `localhost`.
+
+[source]
+----
+asadmin> list-jdbc-resources
+jdbc/__TimerPool
+jdbc/DerbyPool
+jdbc/__default
+jdbc1
+Command list-jdbc-resources executed successfully.
+----
+
+[[GSADG965]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-jdbc-resources` at the command line.
+
+[[giwjv]][[GSADG00428]][[to-update-a-jdbc-resource]]
+
+===== To Update a JDBC Resource
+
+You can enable or disable a JDBC resource by using the `set` subcommand.
+The JDBC resource is identified by its dotted name.
+
+1. List JDBC resources by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`] subcommand.
+2. Modify the values for the specified JDBC resource by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+For example:
+
+[[GSADG00221]][[gjkrz]]
+Example 11-10 Updating a JDBC Resource
+
+This example changes the `res1` enabled setting to false.
+
+[source]
+----
+asadmin>set resources.jdbc-resource.res1.enabled=false
+----
+
+[[ggnhz]][[GSADG00429]][[to-delete-a-jdbc-resource]]
+
+===== To Delete a JDBC Resource
+
+Use the `delete-jdbc-resource` subcommand in remote mode to delete an
+existing JDBC resource. Deleting a JDBC resource is a dynamic event and
+does not require server restart.
+
+[[GSADG966]]
+
+Before You Begin
+
+Before deleting a JDBC resource, all associations with this resource
+must be removed.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List JDBC resources by using the
+link:reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`] subcommand.
+3. If necessary, notify users that the JDBC resource is being deleted.
+4. Delete a JDBC resource by using the
+link:reference-manual/delete-jdbc-resource.html#GSRFM00089[`delete-jdbc-resource`] subcommand.
+
+[[GSADG00222]][[ggpga]]
+Example 11-11 Deleting a JDBC Resource
+
+This example deletes a JDBC resource named `DerbyPool`.
+
+[source]
+----
+asadmin> delete-jdbc-resource jdbc/DerbyPool
+Command delete-jdbc-resource executed successfully.
+----
+
+[[GSADG967]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-jdbc-resource` at the command line.
+
+[[gkudf]][[GSADG00747]][[enabling-the-jdbc__default-resource-in-a-clustered-environment]]
+
+==== Enabling the `jdbc/__default` Resource in a Clustered Environment
+
+{productName} 7 includes a preconfigured JDBC resource with the
+JNDI name `jdbc/__default`. This `jdbc/__default` resource is not
+enabled by default, so you need to explicitly enable it if you want to
+use it in a cluster.
+
+[[gkubj]][[GSADG00430]][[to-enable-the-jdbc__default-resource-for-a-clustered-environment]]
+
+===== To Enable the `jdbc/__default` Resource for a Clustered Environment
+
+Instructions for creating JDBC resources in general are provided in
+link:#ggnda[To Create a JDBC Resource]. Use the following procedure to
+enable the preconfigured `jdbc/__default` resource for a clustered
+{productName} environment.
+
+1. Create the `jdbc/__default` resource reference for the cluster.
++
+[source]
+----
+asadmin create-resource-ref --target cluster-name jdbc/__default
+----
+2. Enable the resource on the DAS that manages the cluster.
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.DerbyPool.property.serverName=DAS-machine-name
+----
+This step is only required if the cluster includes remote instances.
+3. Restart the DAS and the target cluster(s).
++
+[source]
+----
+asadmin stop-cluster cluster-name
+asadmin stop-domain domain-name
+asadmin start-domain domain-name
+asadmin start-cluster cluster-name
+----
+
+[[ghatb]][[GSADG00748]][[integrating-the-jdbc-driver]]
+
+==== Integrating the JDBC Driver
+
+To use JDBC features, you must choose a JDBC driver to work with the
+{productName}, then you must set up the driver. This section covers
+these topics:
+
+* link:#gkpdj[Supported Database Drivers]
+* link:#gkpci[Making the JDBC Driver JAR Files Accessible]
+* link:#gkpfj[Automatic Detection of Installed Drivers]
+
+[[gkpdj]][[GSADG00671]][[supported-database-drivers]]
+
+===== Supported Database Drivers
+
+Supported JDBC drivers are those that have been fully tested by Oracle.
+For a list of the JDBC drivers currently supported by the {productName}, see the link:release-notes.html#GSRLN[{productName} Release
+Notes]. For configurations of supported and other drivers, see
+link:#beamw[Configuration Specifics for JDBC Drivers].
+
+
+[NOTE]
+====
+Because the drivers and databases supported by the {productName} are
+constantly being updated, and because database vendors continue to
+upgrade their products, always check with Oracle technical support for
+the latest database support information.
+====
+
+
+[[gkpci]][[GSADG00672]][[making-the-jdbc-driver-jar-files-accessible]]
+
+===== Making the JDBC Driver JAR Files Accessible
+
+To integrate the JDBC driver into a {productName} domain, copy the
+JAR files into the domain-dir``/lib`` directory, then restart the server.
+This makes classes accessible to all applications or modules deployed on
+servers that share the same configuration. For more information about
+{productName} class loaders, see "link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in
+{productName} Application Development Guide.
+
+If you are using an Oracle database with EclipseLink extensions, copy
+the JAR files into the domain-dir``/lib/ext`` directory, then restart the
+server. For details, see "link:application-development-guide/jpa.html#GSDVG00390[Oracle Database
+Enhancements]" in {productName} Application
+Development Guide.
+
+[[gkpfj]][[GSADG00673]][[automatic-detection-of-installed-drivers]]
+
+===== Automatic Detection of Installed Drivers
+
+The Administration Console detects installed JDBC Drivers automatically
+when you create a JDBC connection pool. To create a JDBC connection pool
+using the Administration Console, open the Resources component, open the
+JDBC component, select Connection Pools, and click on the New button.
+This displays the New JDBC Connection Pool page.
+
+Based on the Resource Type and Database Vendor you select on the New
+JDBC Connection Pool page, data source or driver implementation class
+names are listed in the Datasource Classname or Driver Classname field
+when you click on the Next button. When you choose a specific
+implementation class name on the next page, additional properties
+relevant to the installed JDBC driver are displayed in the Additional
+Properties section.
+
+[[beamw]][[GSADG00579]][[configuration-specifics-for-jdbc-drivers]]
+
+=== Configuration Specifics for JDBC Drivers
+
+{productName} is designed to support connectivity to any database
+management system by using a corresponding JDBC driver. Configuration
+information is provided for these JDBC drivers:
+
+* link:#beanc[IBM DB2 Database Type 2 Driver]
+* link:#glhim[IBM DB2 Database Type 4 Driver]
+* link:#beamx[Apache Derby DB/Derby Type 4 Driver]
+* link:#gbsor[MySQL Server Database Type 4 Driver]
+* link:#beani[Oracle 10 Database Driver]
+* link:#beanh[Oracle 11 Database Driver]
+* link:#gjksj[PostgreSQL Type 4 Driver]
+* link:#beamy[DataDirect Type 4 Driver for IBM DB2 Database]
+* link:#beanj[DataDirect Type 4 Driver for IBM Informix]
+* link:#beana[DataDirect Type 4 Driver for Microsoft SQL Server
+Database]
+* link:#gjksd[DataDirect Type 4 Driver for MySQL Server Database]
+* link:#beamz[DataDirect Type 4 Driver for Oracle 11 Database]
+* link:#beanb[DataDirect Type 4 Driver for Sybase Database]
+* link:#beane[Inet Oraxo Driver for Oracle Database]
+* link:#beanf[Inet Merlia Driver for Microsoft SQL Server Database]
+* link:#beang[Inet Sybelux Driver for Sybase Database]
+* link:#beand[JConnect Type 4 Driver for Sybase ASE 12.5 Database]
+
+[[beanc]][[GSADG00749]][[ibm-db2-database-type-2-driver]]
+
+==== IBM DB2 Database Type 2 Driver
+
+The JAR files for the DB2 driver are `db2jcc.jar`,
+`db2jcc_license_cu.jar`, and `db2java.zip`. Set your environment
+variables . For example:
+
+[source]
+----
+LD_LIBRARY_PATH=/usr/db2user/sqllib/lib:${Jakarta EE.home}/lib
+DB2DIR=/opt/IBM/db2/V8.2
+DB2INSTANCE=db2user
+INSTHOME=/usr/db2user
+VWSPATH=/usr/db2user/sqllib
+THREADS_FLAG=native
+----
+
+Configure the connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DB2
+* DataSource Classname: `com.ibm.db2.jcc.DB2SimpleDataSource`
+* Properties:
+
+** `databaseName` - Set as appropriate.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+** `driverType` - Set to `2`.
+
+** `deferPrepares` - Set to `false`.
+
+[[glhim]][[GSADG00750]][[ibm-db2-database-type-4-driver]]
+
+==== IBM DB2 Database Type 4 Driver
+
+The JAR file for the DB2 driver is `db2jcc.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DB2
+* DataSource Classname: `com.ibm.db2.jcc.DB2SimpleDataSource`
+* Properties:
+
+** `databaseName` - Set as appropriate.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+** `driverType` - Set to `4`.
+
+[[beamx]][[GSADG00751]][[apache-derby-dbderby-type-4-driver]]
+
+==== Apache Derby DB/Derby Type 4 Driver
+
+The Apache Derby DB/Derby JDBC driver is included with {productName}
+by default, so you do not need to integrate this JDBC driver with
+{productName}.
+
+The JAR file for the Apache Derby DB driver is `derbyclient.jar`.
+Configure the connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: Apache Derby
+* DataSource Classname: Specify one of the following:
++
+[source]
+----
+org.apache.derby.jdbc.ClientDataSource40
+org.apache.derby.jdbc.ClientXADataSource40
+----
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server if it
+is different from the default.
+
+** `databaseName` - Specify the name of the database.
+
+** `user` - Specify the database user.
++
+This is only necessary if the Apache Derby database is configured to use
+authentication. The Apache Derby database does not use authentication by
+default. When the user is provided, it is the name of the schema where
+the tables reside.
+
+** `password` - Specify the database password.
++
+This is only necessary if the Apache Derby database is configured to use
+authentication.
+
+[[gbsor]][[GSADG00752]][[mysql-server-database-type-4-driver]]
+
+==== MySQL Server Database Type 4 Driver
+
+The JAR file for the MySQL driver is
+`mysql-connector-java-5.1.14-bin.jar`. Configure the connection pool
+using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: MySql
+* DataSource Classname:
++
+[source]
+----
+com.mysql.jdbc.jdbc2.optional.MysqlDataSource
+com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
+----
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `databaseName` - Set as appropriate.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+[[beani]][[GSADG00753]][[oracle-10-database-driver]]
+
+==== Oracle 10 Database Driver
+
+The JAR file for the Oracle 10 database driver is `ojdbc14.jar`. Make
+sure that the shared library is available through `LD_LIBRARY_PATH` and
+that the `ORACLE_HOME` property is set.
+
+To make the Oracle driver behave in a Jakarta EE-compliant manner, you must
+define the following JVM property:
+
+[source]
+----
+-Doracle.jdbc.J2EE13Compliant=true
+----
+
+Configure the connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: Oracle
+* DataSource Classname: Specify one of the following:
++
+[source]
+----
+oracle.jdbc.pool.OracleDataSource
+oracle.jdbc.xa.client.OracleXADataSource
+----
+* Properties:
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+[[beanh]][[GSADG00754]][[oracle-11-database-driver]]
+
+==== Oracle 11 Database Driver
+
+The JAR file for the Oracle 11 database driver is `ojdbc6.jar`.
+
+To make the Oracle driver behave in a Jakarta EE-compliant manner, you must
+define the following JVM property:
+
+[source]
+----
+-Doracle.jdbc.J2EE13Compliant=true
+----
+
+Configure the connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: Oracle
+* DataSource Classname: Specify one of the following:
++
+[source]
+----
+oracle.jdbc.pool.OracleDataSource
+oracle.jdbc.xa.client.OracleXADataSource
+----
+* Properties:
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
++
+
+[NOTE]
+====
+For this driver, the `XAResource.recover` method repeatedly returns the
+same set of in-doubt Xids regardless of the input flag. According to the
+XA specifications, the Transaction Manager initially calls this method
+with `TMSTARTSCAN` and then with `TMNOFLAGS` repeatedly until no Xids
+are returned. The `XAResource.commit` method also has some issues.
+
+To disable this {productName} workaround, the
+`oracle-xa-recovery-workaround` property value must be set to `false`.
+
+Additionally, in order for the transaction manager to recover
+transactions, the JDBC connection pool's database user must be given
+certain Oracle permissions:
+
+** SELECT permission on DBA_PENDING_TRANSACTIONS, PENDING_TRANS$,
+DBA_2PC_PENDING and DBA_2PC_NEIGHBORS.
+** EXECUTE permissions on DBMS_XA and DBMS_SYSTEM.
+====
+
+
+[[gjksj]][[GSADG00755]][[postgresql-type-4-driver]]
+
+==== PostgreSQL Type 4 Driver
+
+The JAR file for the PostgreSQL driver is
+`postgresql-9.0-801.jdbc4.jar`. Configure the connection pool using the
+following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: Postgresql
+* DataSource Classname: `org.postgresql.ds.PGSimpleDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `databaseName` - Set as appropriate.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+[[beamy]][[GSADG00756]][[datadirect-type-4-driver-for-ibm-db2-database]]
+
+==== DataDirect Type 4 Driver for IBM DB2 Database
+
+The JAR file for DataDirect driver is `db2.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DataDirect-DB2
+* DataSource Classname: `com.ddtek.jdbcx.db2.DB2DataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `databaseName` - Set as appropriate.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+[[beanj]][[GSADG00757]][[datadirect-type-4-driver-for-ibm-informix]]
+
+==== DataDirect Type 4 Driver for IBM Informix
+
+Configure the connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DataDirect-Informix
+* DataSource Classname: Specify one of the following:
++
+[source]
+----
+com.informix.jdbcx.IfxDataSource
+com.informix.jdbcx.IfxXADataSource
+----
+DataDirect DataSource Classname:
+`com.ddtek.jdbcx.informix.InformixDataSourcee`
+* Properties:
+
+** `serverName` - Specify the Informix database server name.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `databaseName` - Set as appropriate. This is optional.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+** `IfxIFXHost` - Specify the host name or IP address of the database
+server.
+
+[[beana]][[GSADG00758]][[datadirect-type-4-driver-for-microsoft-sql-server-database]]
+
+==== DataDirect Type 4 Driver for Microsoft SQL Server Database
+
+The JAR file for the DataDirect driver is `sqlserver.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DataDirect-Microsoft SQL Server
+* DataSource Classname: `com.ddtek.jdbcx.sqlserver.SQLServerDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address and the port of
+the database server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+** `selectMethod` - Set to `cursor`.
+
+[[gjksd]][[GSADG00759]][[datadirect-type-4-driver-for-mysql-server-database]]
+
+==== DataDirect Type 4 Driver for MySQL Server Database
+
+The JAR file for the DataDirect driver is `mysql.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DataDirect-MySQL
+* DataSource: `com.ddtek.jdbcx.mysql.MySQLDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address and the port of
+the database server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+** `selectMethod` - Set to `cursor`.
+
+[[beamz]][[GSADG00760]][[datadirect-type-4-driver-for-oracle-11-database]]
+
+==== DataDirect Type 4 Driver for Oracle 11 Database
+
+The JAR file for the DataDirect driver is `oracle.jar`.
+
+To make the Oracle driver behave in a Jakarta EE-compliant manner, you must
+define the following JVM property:
+
+[source]
+----
+-Doracle.jdbc.J2EE13Compliant=true
+----
+
+Configure the connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DataDirect-Oracle
+* DataSource Classname: `com.ddtek.jdbcx.oracle.OracleDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+[[beanb]][[GSADG00761]][[datadirect-type-4-driver-for-sybase-database]]
+
+==== DataDirect Type 4 Driver for Sybase Database
+
+The JAR file for the DataDirect driver is `sybase.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: DataDirect-Sybase
+* DataSource Classname: `com.ddtek.jdbcx.sybase.SybaseDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `databaseName` - Set as appropriate. This is optional.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+
+[NOTE]
+====
+In some situations, using this driver can cause exceptions to be thrown
+because the driver creates a stored procedure for every parameterized
+PreparedStatement by default. If this situation arises, add the property
+`PrepareMethod`, setting its value to `direct`.
+====
+
+
+[[beane]][[GSADG00762]][[inet-oraxo-driver-for-oracle-database]]
+
+==== Inet Oraxo Driver for Oracle Database
+
+The JAR file for the Inet Oracle driver is `Oranxo.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: Oracle
+* DataSource Classname: `com.inet.ora.OraDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `user` - Specify the database user.
+
+** `password` - Specify the database password.
+
+** `serviceName` - Specify the URL of the database. The syntax is as follows:
++
+[source]
+----
+jdbc:inetora:server:port:dbname
+----
+For example:
++
+[source]
+----
+jdbc:inetora:localhost:1521:payrolldb
+----
+In this example,`localhost` is the name of the host running the Oracle
+server, `1521` is the Oracle server's port number, and `payrolldb` is
+the SID of the database. For more information about the syntax of the
+database URL, see the Oracle documentation.
+
+** `streamstolob` - If the size of BLOB or CLOB data types exceeds 4 KB
+and this driver is used for CMP, this property must be set to `true`.
+
+[[beanf]][[GSADG00763]][[inet-merlia-driver-for-microsoft-sql-server-database]]
+
+==== Inet Merlia Driver for Microsoft SQL Server Database
+
+The JAR file for the Inet Microsoft SQL Server driver is `Merlia.jar`.
+Configure the connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: MicrosoftSqlServer
+* DataSource Classname: `com.inet.tds.TdsDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address and the port of
+the database server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+[[beang]][[GSADG00764]][[inet-sybelux-driver-for-sybase-database]]
+
+==== Inet Sybelux Driver for Sybase Database
+
+The JAR file for the Inet Sybase driver is `Sybelux.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: Sybase
+* DataSource Classname: `com.inet.syb.SybDataSource`
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `databaseName` - Set as appropriate. Do not specify the complete URL,
+only the database name.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+[[beand]][[GSADG00765]][[jconnect-type-4-driver-for-sybase-ase-12.5-database]]
+
+==== JConnect Type 4 Driver for Sybase ASE 12.5 Database
+
+The JAR file for the Sybase driver is `jconn4.jar`. Configure the
+connection pool using the following settings:
+
+* Name: Use this name when you configure the JDBC resource later.
+* Resource Type: Specify the appropriate value.
+* Database Vendor: Sybase
+* DataSource Classname: Specify one of the following:
++
+[source]
+----
+com.sybase.jdbc4.jdbc.SybDataSource
+com.sybase.jdbc4.jdbc.SybXADataSource
+----
+* Properties:
+
+** `serverName` - Specify the host name or IP address of the database
+server.
+
+** `portNumber` - Specify the port number of the database server.
+
+** `databaseName` - Set as appropriate. Do not specify the complete URL,
+only the database name.
+
+** `user` - Set as appropriate.
+
+** `password` - Set as appropriate.
+
+** `BE_AS_JDBC_COMPLIANT_AS_POSSIBLE` - Set to `true`.
+
+** `FAKE_METADATA` - Set to `true`.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/jms.adoc b/docs/administration-guide/src/main/asciidoc/jms.adoc
new file mode 100644
index 0000000..e7e5954
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/jms.adoc
@@ -0,0 +1,2655 @@
+type=page
+status=published
+title=Administering the Java Message Service (JMS)
+next=jndi.html
+prev=javamail.html
+~~~~~~
+
+= Administering the Java Message Service (JMS)
+
+[[GSADG00020]][[abljw]]
+
+
+[[administering-the-java-message-service-jms]]
+== 17 Administering the Java Message Service (JMS)
+
+The Java Message Service (JMS) API is a messaging standard that allows
+Jakarta EE applications and components, including message-driven beans
+(MDBs), to create, send, receive, and read messages. It enables
+distributed communication that is loosely coupled, reliable, and
+asynchronous.
+
+{productName} supports JMS messaging by communicating with a JMS
+provider through a Jakarta EE Connector resource adapter. By default,
+{productName} provides JMS messaging through its built-in jmsra
+resource adapter communicating with Open Message Queue, which is
+included with {productName}. This combination, known as the JMS
+Service, is tightly integrated with {productName}, providing a rich
+set of `asadmin` subcommands and Administration Console pages to
+simplify JMS messaging administration tasks.
+
+{productName} also supports the Generic Resource Adapter for JMS
+(GenericJMSRA) for use as a resource adapter to connect to other JMS
+providers. The last section in this chapter, link:#gbtvg[Using the
+Generic Resource Adapter for JMS to Integrate Supported External JMS
+Providers], describes the GenericJMSRA and provides instructions for
+using it to make other supported JMS providers available to {productName}.
+
+The following topics are addressed here:
+
+* link:#gipit[About the JMS Service]
+* link:#beaof[Updating the JMS Service Configuration]
+* link:#gipbg[Administering JMS Hosts]
+* link:#ablkb[Administering JMS Connection Factories and Destinations]
+* link:#ablkj[Administering JMS Physical Destinations]
+* link:#gkxgk[Special Situations When Using the JMS Service]
+* link:#gipnh[Troubleshooting the JMS Service]
+* link:#gbtvg[Using the Generic Resource Adapter for JMS to Integrate
+Supported External JMS Providers]
+
+Instructions for accomplishing the task in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[gipit]][[GSADG00595]][[about-the-jms-service]]
+
+=== About the JMS Service
+
+To support JMS messaging, the JMS Service provides the following
+administrative objects:
+
+JMS Service Configuration::
+  The JMS service configuration is part of the overall configuration for
+  a GlassFish standalone instance or cluster. It specifies how the JMS
+  Service is to create and maintain connections with JMS Hosts.
+JMS Hosts::
+  JMS hosts are the message servers that host destinations, store
+  messages, and interact with applications to send and receive messages
+  across connections. In Message Queue, JMS hosts are called brokers. +
+  The JMS service supports these types of JMS hosts:
+
+  * Embedded type, in which the JMS host runs in the same JVM as the
+    GlassFish instance; its configuration and lifecycle are managed by the JMS service.
+  * Local type, in which the JMS host runs separately on the same host
+    as the GlassFish instance; its configuration and lifecycle are managed by the JMS service.
+  * Remote type, in which the JMS host represents a Message Queue broker
+    or broker cluster that is external to the JMS service; its operation
+    is managed using Message Queue administrative tools.
+
++
+For more information about JMS host types, see link:#giplw[About JMS Host Types].
+JMS Connection Factory Resources::
+  JMS connection factory resources house the information that
+  applications use to connect to a JMS provider. For each JMS connection
+  factory, the JMS service automatically maintains a GlassFish connector
+  resource and a GlassFish connector connection pool in order to support
+  connection pooling and failover.
+JMS Destination Resources::
+  JMS destination resources house the information that applications use
+  to specify the target destination of messages they produce and the
+  source destination of messages they consume. For each JMS destination
+  resource, the JMS service automatically maintains a GlassFish
+  administered object.
+JMS Physical Destinations::
+  JMS physical destinations provide a means to create and manage JMS
+  destinations administratively instead of having them created
+  dynamically when needed by an application. While dynamic creation of
+  destinations is often sufficient during application development,
+  administratively created physical destinations are more suitable for
+  production environments.
+
+[[gavqn]][[GSADG00773]][[jms-service-high-availability]]
+
+==== JMS Service High Availability
+
+Just as {productName} supports clusters of instances to provide high
+availability, Message Queue supports clusters of brokers to provide
+service availability or service and data availability, depending on the
+type of broker cluster, as described in "link:../openmq/mq-tech-over/broker-clusters.html#GMTOV00028[Broker
+Clusters]" in Open Message Queue Technical Overview.
+
+The JMS service takes advantage of this Message Queue capability and
+automatically creates and manages a Message Queue broker cluster when a
+GlassFish cluster's configuration specifies Embedded or Local type JMS
+hosts. Additionally, both GlassFish clusters and standalone instances
+can use Message Queue broker clusters as Remote type JMS hosts.
+
+For information about how the JMS service supports GlassFish clusters
+and Message Queue broker clusters, see "link:ha-administration-guide/jms.html#GSHAG00012[Configuring
+Java Message Service High Availability]" in {productName} High Availability Administration Guide.
+
+[[beaof]][[GSADG00596]][[updating-the-jms-service-configuration]]
+
+=== Updating the JMS Service Configuration
+
+Because the JMS service configuration is part of the overall
+configuration for a standalone instance or cluster, it is created when
+the standalone instance or cluster is created. You can then update the
+JMS service configuration by using the Java Message Service page for the
+configuration in the Administration Console, or by using a `set`
+subcommand of the following form:
+
+[source]
+----
+set configs.config.config-name.jms-service.attribute-name=attribute-value
+----
+
+The attributes you can set are:
+
+`type`::
+  The JMS host type the service is to use. Available choices are
+  `EMBEDDED`, `LOCAL` and `REMOTE`. See link:#giplw[About JMS Host
+  Types] for more information.
+`init-timeout-in-seconds`::
+  The number of seconds {productName} waits for the JMS service to
+  start before aborting the startup.
+`start-args`::
+  A list of arguments the JMS service passes to Embedded and Local type
+  JMS hosts on startup. Permissible arguments are the options supported
+  by the Message Queue `imqbrokerd` command, as described in
+  "link:../openmq/mq-admin-guide/command-line-reference.html#GMADG00280[Broker Utility]" in Open Message Queue
+  Administration Guide.
+`default-jms-host`::
+  The name of the default JMS host.
+`reconnect-enabled`::
+  When set to `true`, the JMS service attempts to reconnect to a JMS
+  host (or one of the JMS hosts in the AddressList) when a connection is
+  lost.
+`reconnect-attempts`::
+  The number of attempts to connect (or reconnect) for each JMS host in
+  the AddressList before the JMS service tries the next address in the
+  list. A value of -1 indicates that the number of reconnect attempts is
+  unlimited (the JMS service attempts to connect to the first address
+  until it succeeds).
+`reconnect-interval-in-seconds`::
+  The number of seconds between reconnect attempts. This interval
+  applies for attempts on each JMS host in the AddressList and for
+  successive addresses in the list. If it is too short, this time
+  interval does not give a JMS host time to recover. If it is too long,
+  the reconnect might represent an unacceptable delay.
+`addresslist-behavior`::
+  The order of connection attempts. Available choices are:
++
+  `random`;;
+    Select a JMS host from the AddressList randomly. If there are many
+    clients attempting a connection using the same connection factory,
+    specify `random` to prevent them from all being connected to the
+    same JMS host.
+  `priority`;;
+    Always try to connect to the first JMS host in the AddressList and
+    use another one only if the first one is not available.
+`addresslist-iterations`::
+  The number of times the JMS service iterates through the AddressList
+  in an effort to establish (or reestablish) a connection. A value of -1
+  indicates that the number of attempts is unlimited.
+`mq-scheme`::
+`mq-service`::
+  The Message Queue address scheme name and connection service name to
+  use for the AddressList if a non-default scheme or service is to be
+  used. See "link:../openmq/mq-admin-guide/administered-object-attributes.html#GMADG00622[Connection Handling]" in Open Message
+  Queue Administration Guide for syntax information.
+
+
+[NOTE]
+====
+After making changes to the JMS service configuration, {productName}
+instances that use the configuration must be restarted in order for the
+changes to be propagated.
+====
+
+
+[[gkxgf]][[GSADG00774]][[setting-message-queue-broker-properties-in-the-jms-service-configuration]]
+
+==== Setting Message Queue Broker Properties in the JMS Service Configuration
+
+You can specify any Message Queue broker property in the JMS service
+configuration by adding it by name to the Additional Properties table on
+the Java Message Service page for the configuration in the
+Administration Console, or by using a `set` subcommand of the following
+form:
+
+[source]
+----
+set configs.config.config-name.jms-service.property.broker-property-name=value
+----
+
+If the broker property name includes dots, preface the dots with two
+backslashes (`\\`); for example, to set the `imq.system.max_count`
+property, specify `imq\\.system\\.max_count` in the `set` subcommand.
+
+
+[NOTE]
+====
+You can also set broker properties in the JMS host. If you set the same
+broker property in both the JMS service configuration and the JMS host,
+the value specified in the JMS host is used.
+====
+
+
+[[gipbg]][[GSADG00597]][[administering-jms-hosts]]
+
+=== Administering JMS Hosts
+
+A JMS host represents a Message Queue broker. JMS contains a JMS hosts
+list (the `AddressList` property) that contains all the JMS hosts that
+are used by {productName}. The JMS hosts list is populated with the
+hosts and ports of the specified Message Queue brokers and is updated
+whenever a JMS host configuration changes. When you create JMS resources
+or deploy message driven beans, the resources or beans inherit the JMS
+hosts list.
+
+The following topics are addressed here:
+
+* link:#giplw[About JMS Host Types]
+* link:#gktfb[Configuring Embedded and Local JMS Hosts]
+* link:#gipbh[To Create a JMS Host]
+* link:#gipbz[To List JMS Hosts]
+* link:#givno[To Update a JMS Host]
+* link:#gipbv[To Delete a JMS Host]
+
+For information about administering JMS hosts that are servicing
+GlassFish clusters, see "link:ha-administration-guide/jms.html#GSHAG00312[Configuring GlassFish Clusters
+to Use Message Queue Broker Clusters]" in {productName} High Availability Administration Guide.
+
+[[giplw]][[GSADG00775]][[about-jms-host-types]]
+
+==== About JMS Host Types
+
+The JMS service uses Message Queue (MQ) brokers as JMS hosts,
+integrating them in three ways:
+
+Embedded Type::
+  When the JMS service configuration's `type` attribute is `EMBEDDED`,
+  the MQ broker is co-located in the same JVM as the {productName}
+  instance it services. The JMS service starts it in-process and manages
+  its configuration and lifecycle. +
+  For this type, the JMS service uses lazy initialization to start the
+  broker when the first JMS operation is requested instead of
+  immediately when the GlassFish instance is started. If necessary, you
+  can force startup of the broker by using the
+  link:reference-manual/jms-ping.html#GSRFM00144[`jms-ping`] command. +
+  Additionally, if the GlassFish instance is a standalone instance (not
+  a clustered instance), JMS operations use a Message Queue feature
+  called direct mode to bypass the networking stack, leading to
+  performance optimization.
+Local Type::
+  When the JMS service configuration's `type` attribute is `LOCAL`, the
+  JMS service starts the MQ broker specified in the configuration as the
+  default JMS host in a separate process on the same host as the
+  {productName} instance. The JMS service manages its configuration
+  and lifecycle. +
+  For this type, the JMS service starts the broker immediately when the
+  GlassFish instance is started. +
+  The JMS service provides the Message Queue broker an additional port
+  to start the RMI registry. This port number is equal to the broker's
+  JMS port plus 100. For example, if the JMS port number is 37676, then
+  the additional port's number will be 37776. Additionally, the
+  `start-args` property of the JMS service configuration can be used to
+  specify Message Queue broker startup options.
+Remote Type::
+  When the JMS service configuration's `type` attribute is `REMOTE`, the
+  JMS service uses the information defined by the default JMS host to
+  communicate with an MQ broker or broker cluster that has been
+  configured and started using Message Queue tools, as described in the
+  link:../openmq/mq-admin-guide.html#GMADG[Open Message Queue Administration Guide]. Ongoing
+  administration and tuning of the broker or broker cluster are also
+  performed using Message Queue tools.
+
+[[gktfb]][[GSADG00776]][[configuring-embedded-and-local-jms-hosts]]
+
+==== Configuring Embedded and Local JMS Hosts
+
+Because the JMS service, not Message Queue, manages Embedded and Local
+JMS hosts automatically, you should avoid using Message Queue utilities
+to configure them. Instead, specify broker properties in the JMS service
+configuration or in the JMS host.
+
+Should the need to use Message Queue utilities arise, you must use the
+`-varhome` option when running certain Message Queue utilities to
+specify the `IMQ_VARHOME` location of the Embedded or Local JMS host.
+This location depends on which GlassFish instance the JMS host is
+servicing:
+
+* For `server`, the Domain Administration Server (DAS), the
+`IMQ_VARHOME` location is:
++
+[source]
+----
+domain-root-dir/domain-dir/imq
+----
+* For any other GlassFish instance, the `IMQ_VARHOME` location is:
++
+[source]
+----
+as-install/nodes/node-name/instance-name/imq
+----
+
+For example, the broker log file for an Embedded or Local JMS host
+servicing the DAS is available at
+domain-root-dir``/``domain-dir``/imq/instances/imqbroker/log/log.txt``, and
+the broker log file for an Embedded or Local JMS host servicing any
+other GlassFish instance is available at
+as-install``/nodes/``node-name``/``instance-name`/imq/instances/``mq-instance-name``/log/log.txt``.
+
+
+[NOTE]
+====
+When using Message Queue utilities on the Windows platform, you must
+explicitly use the Windows executable (`.exe`) versions of the
+utilities, even when running command shells such as Cygwin. For example,
+instead of running `imqcmd`, you must run `imqcmd.exe`.
+====
+
+
+[[gipbh]][[GSADG00486]][[to-create-a-jms-host]]
+
+==== To Create a JMS Host
+
+The default JMS service configuration includes a JMS host,
+`default_JMS_host`. For most situations, this host is sufficient, so
+replacing it or creating additional JMS hosts is not often necessary and
+is a task for advanced users. Use the `create-jms-host` subcommand in
+remote `asadmin` mode to create an additional JMS host.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. Create the JMS host by using the link:reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`]
+subcommand:
++
+[source]
+----
+asadmin> create-jms-host --mqhost hostName --mqport portNumber
+--mquser adminUser --mqpassword adminPassword --target glassfishTarget
+--property mqBrokerPropList --force trueFalse jms-host-name
+----
+`--mqhost`::
+  The host name of the Message Queue broker.
+`--mqport`::
+  The port number of the Message Queue broker.
+`--mquser`::
+  The user name of the administrative user of the Message Queue broker.
+`--mqpassword`::
+  The password of the administrative user of the Message Queue broker.
+`--target`::
+  The {productName} object for which the JMS host is being created.
+  For details, see link:reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`(1)].
+`--property`::
+  A list of one or more Message Queue broker properties to configure the
+  broker. The list is colon-separated (`:`) and has the form:
++
+[source]
+----
+prop1Name=prop1Value:prop2Name=prop2Value:...
+----
+  If a broker property name includes dots, preface the dots with two
+  backslashes (`\\`); for example, to include the `imq.system.max_count`
+  property, specify `imq\\.system\\.max_count` in the `--property`
+  option.
++
+
+[NOTE]
+====
+You can also set broker properties in the JMS service configuration.
+If you set the same broker property in both the JMS host and the JMS
+service configuration, the value specified in the JMS host is used.
+====
+
+`--force`::
+  Specifies whether the subcommand overwrites the existing JMS host of
+  the same name. The default value is `false`.
+jms-host-name::
+  The unique name of the JMS host.
+
+[[GSADG00271]][[gipbb]]
+Example 17-1 Creating a JMS Host
+
+This example creates a JMS host named `MyNewHost`.
+
+[source]
+----
+asadmin> create-jms-host --mqhost pigeon --mqport 7677
+--mquser admin --mqpassword admin MyNewHost
+Jms Host MyNewHost created.
+Command create-jms-host executed successfully.
+----
+
+[[GSADG1018]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-jms-host` at the command line.
+
+[[gipbz]][[GSADG00487]][[to-list-jms-hosts]]
+
+==== To List JMS Hosts
+
+Use the `list-jms-hosts` subcommand in remote `asadmin` mode to list the
+existing JMS hosts.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. List the JMS hosts by using the link:reference-manual/list-jms-hosts.html#GSRFM00176[`list-jms-hosts`]
+subcommand.
+
+[[GSADG00272]][[gipdw]]
+Example 17-2 Listing JMS Hosts
+
+The following subcommand lists the existing JMS hosts.
+
+[source]
+----
+asadmin> list-jms-hosts
+default_JMS_host
+MyNewHost
+Command list-jmsdest executed successfully
+----
+
+[[givno]][[GSADG00488]][[to-update-a-jms-host]]
+
+==== To Update a JMS Host
+
+Use the `set` subcommand in remote `asadmin` mode to update an existing
+JMS host.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. Use the link:reference-manual/get.html#GSRFM00139[`get`] subcommand to list the current
+attribute values of the desired JMS host:
++
+[source]
+----
+asadmin> get configs.config.config-name.jms-service.jms-host.jms-host-name.*
+----
+For information about JMS host attributes, see
+link:reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`(1)].
+3. Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to modify a JMS host
+attribute:
++
+[source]
+----
+asadmin> set configs.config.config-name.jms-service.jmshost.
+jms-host-name.attribute-name=attribute-value
+----
+The attributes you can set are:::
+`host`::
+  The host name of the Message Queue broker.
+`port`::
+  The port number of the Message Queue broker.
+`admin-user-name`::
+  The user name of the administrative user of the Message Queue broker.
+`admin-password`::
+  The password of the administrative user of the Message Queue broker.
+`property.`broker-property-name::
+  A Message Queue broker property. The property, and the value assigned
+  to it, are used to configure the Message Queue broker.
++
+  If the broker property name includes dots, preface the dots with two
+  backslashes (`\\`); for example, to include the `imq.system.max_count`
+  property, specify `imq\\.system\\.max_count` in the `set` subcommand.
++
+
+[NOTE]
+====
+You can also set broker properties in the JMS service configuration.
+If you set the same broker property in both the JMS host and the JMS
+service configuration, the value specified in the JMS host is used.
+====
+
+
+[[GSADG00273]][[givlz]]
+Example 17-3 Updating a JMS Host
+
+This example changes the value of the `host` attribute of the JMS host
+`default_JMS_Host`. By default this value is `localhost`.
+
+[source]
+----
+asadmin> set configs.config.server-config.jms-service.jms-host.default_JMS_host.host=
+"server1.middleware.example.com"
+----
+
+[[gipbv]][[GSADG00489]][[to-delete-a-jms-host]]
+
+==== To Delete a JMS Host
+
+Use the `delete-jms-host` subcommand in remote `asadmin` mode to delete
+a JMS host from the JMS service. If you delete the only JMS host, the
+JMS service will not be able to start until you create a new JMS host.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. List the JMS hosts by using the link:reference-manual/list-jms-hosts.html#GSRFM00176[`list-jms-hosts`]
+subcommand.
+3. Delete a JMS host by using the link:reference-manual/delete-jms-host.html#GSRFM00091[`delete-jms-host`]
+subcommand.
+
+[[GSADG00274]][[gipbj]]
+Example 17-4 Deleting a JMS Host
+
+This example deletes a JMS host named `MyNewHost`.
+
+[source]
+----
+asadmin> delete-jms-host MyNewHost
+Command delete-jms-host executed successfully.
+----
+
+[[GSADG1019]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-jms-host` at the command line.
+
+[[ablkb]][[GSADG00598]][[administering-jms-connection-factories-and-destinations]]
+
+=== Administering JMS Connection Factories and Destinations
+
+The JMS API uses two kinds of administered objects. Connection factory
+objects allow an application to create other JMS objects
+programmatically. Destination objects serve as repositories for
+messages. How these objects are created is specific to each
+implementation of JMS. In {productName}, JMS is implemented by
+performing the following tasks:
+
+* Creating a connection factory
+* Creating a destination, which requires creating a physical destination
+and a destination resource that refers to the physical destination
+
+JMS applications use the Java Naming and Directory Interface (JNDI) API
+to access the connection factory and destination resources. A JMS
+application normally uses at least one connection factory and at least
+one destination. By studying the application or consulting with the
+application developer, you can determine what resources must be created.
+The order in which the resources are created does not matter.
+
+The Jakarta EE standard specifies that certain default resources be made
+available to applications, and defines specific JNDI names for these
+default resources. {productName} makes these names available through
+the use of logical JNDI names, which map Jakarta EE standard JNDI names to
+specific {productName} resources. For JMS connection factory
+resources, the Jakarta EE standard name
+`java:comp/DefaultJMSConnectionFactory` is mapped to the
+`jms/__defaultConnectionFactory` resource.
+
+{productName} provides the following types of connection factory
+objects:
+
+* `QueueConnectionFactory` objects, used for point-to-point
+communication
+* `TopicConnectionFactory` objects, used for publish-subscribe
+communication
+* `ConnectionFactory` objects, which can be used for both point-to-point
+and publish-subscribe communications (recommended for new applications)
+
+{productName} provides the following types of destination objects:
+
+* `Queue` objects, used for point-to-point communication
+* `Topic` objects, used for publish-subscribe communication
+
+The following topics are addressed here:
+
+* link:#giotd[To Create a Connection Factory or Destination Resource]
+* link:#giosx[To List JMS Resources]
+* link:#giouw[To Delete a Connection Factory or Destination Resource]
+
+The subcommands in this section can be used to administer both the
+connection factory resources and the destination resources. For
+information on JMS service support of connection pooling and failover,
+see "link:ha-administration-guide/jms.html#GSHAG00213[Connection Failover]" in {productName} High Availability Administration Guide. For instructions
+on administering physical destinations, see link:#ablkj[Administering
+JMS Physical Destinations].
+
+[[giotd]][[GSADG00490]][[to-create-a-connection-factory-or-destination-resource]]
+
+==== To Create a Connection Factory or Destination Resource
+
+For each JMS connection factory that you create, {productName}
+creates a connector connection pool and connector resource. For each JMS
+destination that you create, {productName} creates a connector admin
+object resource. If you delete a JMS resource, {productName}
+automatically deletes the connector resources.
+
+Use the `create-jms-resource` command in remote `asadmin` mode to create
+a JMS connection factory resource or a destination resource.
+
+
+[TIP]
+====
+To specify the `addresslist` property (in the format
+`host:mqport,host2:mqport,host3:mqport`) for the
+`asadmin create-jms-resource` command, escape the : by using `\\`. For
+example, `host1\\:mqport,host2\\:mqport,host3\\:mpqport`. For more
+information about using escape characters, see the
+olink:GSRFM00263[`asadmin`(1M)] help page.
+====
+
+
+To update a JMS connection factory, use the `set` subcommand for the
+underlying connector connection pool, See link:connectors.html#gioti[To
+Update a Connector Connection Pool].
+
+To update a destination, use the `set` subcommand for the admin object
+resource. See link:connectors.html#giots[To Update an Administered
+Object].
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. Create a JMS resource by using the
+link:reference-manual/create-jms-resource.html#GSRFM00040[`create-jms-resource`] command.
++
+Information about the properties for the subcommand is included in this
+help page.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00275]][[giovy]]
+Example 17-5 Creating a JMS Connection Factory
+
+This example creates a connection factory resource of type
+`jakarta.jms.ConnectionFactory` whose JNDI name is
+`jms/DurableConnectionFactory`. The `ClientId` property sets a client ID
+on the connection factory so that it can be used for durable
+subscriptions. The JNDI name for a JMS resource customarily includes the
+`jms/` naming subcontext.
+
+[source]
+----
+asadmin> create-jms-resource --restype jakarta.jms.ConnectionFactory
+--description "connection factory for durable subscriptions"
+--property ClientId=MyID jms/DurableConnectionFactory
+Command create-jms-resource executed successfully.
+----
+
+[[GSADG00276]][[giovn]]
+Example 17-6 Creating a JMS Destination
+
+This example creates a destination resource whose JNDI name is
+`jms/MyQueue`.
+
+[source]
+----
+asadmin> create-jms-resource --restype jakarta.jms.Queue
+--property Name=PhysicalQueue jms/MyQueue
+Command create-jms-resource executed successfully.
+----
+
+[[GSADG1020]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-jms-resource` at the command line.
+
+[[giosx]][[GSADG00491]][[to-list-jms-resources]]
+
+==== To List JMS Resources
+
+Use the `list-jms-resources` subcommand in remote `asadmin` mode to list
+the existing connection factory and destination resources.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. List the existing JMS resources by using the
+link:reference-manual/list-jms-resources.html#GSRFM00177[`list-jms-resources`] subcommand.
+
+[[GSADG00277]][[giovz]]
+Example 17-7 Listing All JMS Resources
+
+This example lists all the existing JMS connection factory and
+destination resources.
+
+[source]
+----
+asadmin> list-jms-resources
+jms/Queue
+jms/ConnectionFactory
+jms/DurableConnectionFactory
+jms/Topic
+Command list-jms-resources executed successfully
+----
+
+[[GSADG00278]][[giovq]]
+Example 17-8 Listing a JMS Resources of a Specific Type
+
+This example lists the resources for the resource type `javax`.
+
+[source]
+----
+asadmin> list-jms-resources --restype jakarta.jms.TopicConnectionFactory
+jms/DurableTopicConnectionFactory
+jms/TopicConnectionFactory
+Command list-jms-resources executed successfully.
+----
+
+[[GSADG1021]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-jms-resources` at the command line.
+
+[[giouw]][[GSADG00492]][[to-delete-a-connection-factory-or-destination-resource]]
+
+==== To Delete a Connection Factory or Destination Resource
+
+Use the `delete-jms-resource` subcommand in remote `asadmin` mode to
+remove the specified connection factory or destination resource.
+
+[[GSADG1022]]
+
+Before You Begin
+
+Ensure that you remove all references to the specified JMS resource
+before running this subcommand.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. List the existing JMS resources by using the
+link:reference-manual/list-jms-resources.html#GSRFM00177[`list-jms-resources`] subcommand.
+3. Delete the JMS resource by using the
+link:reference-manual/delete-jms-resource.html#GSRFM00092[`delete-jms-resource`] subcommand.
+
+[[GSADG00279]][[giovi]]
+Example 17-9 Deleting a JMS Resource
+
+This example deletes the `jms/Queue` resource.
+
+[source]
+----
+asadmin> delete-jms-resource jms/Queue
+Command delete-jms-resource executed successfully
+----
+
+[[GSADG1023]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-jms-resource` at the command line.
+
+[[ablkj]][[GSADG00599]][[administering-jms-physical-destinations]]
+
+=== Administering JMS Physical Destinations
+
+Messages are delivered for routing and delivery to consumers by using
+physical destinations in the JMS provider. A physical destination is
+identified and encapsulated by an administered object (such as a `Topic`
+or `Queue` destination resource) that an application component uses to
+specify the destination of messages it is producing and the source of
+messages it is consuming. For instructions on configuring a destination
+resource, see link:#giotd[To Create a Connection Factory or Destination
+Resource].
+
+If a message-driven bean is deployed and the physical destination it
+listens to does not exist, {productName} automatically creates the
+physical destination and sets the value of the `maxNumActiveConsumers`
+property to `-1`. However, it is good practice to create the physical
+destination beforehand. The first time that an application accesses a
+destination resource, Message Queue automatically creates the physical
+destination specified by the Name property of the destination resource.
+This automatically created physical destination is temporary and expires
+after a period specified by a Message Queue configuration property,
+provided that there are no messages in it and no message producers or
+consumers connected to it.
+
+The following topics are addressed here:
+
+* link:#gioue[To Create a JMS Physical Destination]
+* link:#gioyp[To List JMS Physical Destinations]
+* link:#giowx[To Purge Messages From a Physical Destination]
+* link:#giouv[To Delete a JMS Physical Destination]
+
+[[gioue]][[GSADG00493]][[to-create-a-jms-physical-destination]]
+
+==== To Create a JMS Physical Destination
+
+For production purposes, always create physical destinations. During the
+development and testing phase, however, this step is not required. Use
+the `create-jmsdest` subcommand in remote `asadmin` mode to create a
+physical destination.
+
+Because a physical destination is actually a Message Queue object rather
+than a server object, you use Message Queue broker commands to update
+properties. For information on Message Queue properties, see the
+link:../openmq/mq-admin-guide.html#GMADG[Open Message Queue Administration Guide].
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. Create a JMS physical destination by using the
+link:reference-manual/create-jmsdest.html#GSRFM00038[`create-jmsdest`] subcommand.
++
+Information about the properties for the subcommand is included in this
+help page.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00280]][[gioxt]]
+Example 17-10 Creating a JMS Physical Destination
+
+This example creates a queue named `PhysicalQueue`.
+
+[source]
+----
+asadmin> create-jmsdest --desttype queue --property
+User=public:Password=public PhysicalQueue
+Command create-jmsdest executed successfully.
+----
+
+[[GSADG1024]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-jmsdest` at the command line.
+
+[[gioyp]][[GSADG00494]][[to-list-jms-physical-destinations]]
+
+==== To List JMS Physical Destinations
+
+Use the `list-jmsdest` subcommand in remote `asadmin` mode to list the
+existing JMS physical destinations.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. List the existing JMS physical destinations by using the
+link:reference-manual/list-jmsdest.html#GSRFM00175[`list-jmsdest`] subcommand.
+
+[[GSADG00281]][[gioxo]]
+Example 17-11 Listing JMS Physical Destinations
+
+This example lists the physical destinations for the default server
+instance.
+
+[source]
+----
+asadmin> list-jmsdest
+PhysicalQueue queue {}
+PhysicalTopic topic {}
+Command list-jmsdest executed successfully.
+----
+
+[[GSADG1025]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-jmsdest` at the command line.
+
+[[giowx]][[GSADG00495]][[to-purge-messages-from-a-physical-destination]]
+
+==== To Purge Messages From a Physical Destination
+
+Use the `flush-jmsdest` subcommand in remote `asadmin` mode to purge the
+messages from a physical destination in the specified target's JMS
+service configuration.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. Purge messages from the a JMS physical destination by using the
+link:reference-manual/flush-jmsdest.html#GSRFM00136[`flush-jmsdest`] subcommand.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+link:overview.html#ghciy[Configuration Changes That Require Restart]. If
+your server needs to be restarted, see link:domains.html#ginqj[To Restart
+a Domain].
+
+[[GSADG00282]][[giows]]
+Example 17-12 Flushing Messages From a JMS Physical Destination
+
+This example purges messages from the queue named `PhysicalQueue`.
+
+[source]
+----
+asadmin> flush-jmsdest --desttype queue PhysicalQueue
+Command flush-jmsdest executed successfully
+----
+
+[[GSADG1026]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help flush-jmsdest` at the command line.
+
+[[giouv]][[GSADG00496]][[to-delete-a-jms-physical-destination]]
+
+==== To Delete a JMS Physical Destination
+
+Use the `delete-jmsdest` subcommand in remote `asadmin` mode to remove
+the specified JMS physical destination.
+
+1. Ensure that the server is running.
++
+Remote `asadmin` subcommands require a running server.
+2. List the existing JMS physical destinations by using the
+link:reference-manual/list-jmsdest.html#GSRFM00175[`list-jmsdest`] subcommand.
+3. Delete the physical resource by using the
+link:reference-manual/delete-jmsdest.html#GSRFM00090[`delete-jmsdest`] subcommand.
+
+[[GSADG00283]][[gioxx]]
+Example 17-13 Deleting a Physical Destination
+
+This example deletes the queue named `PhysicalQueue`.
+
+[source]
+----
+asadmin> delete-jmsdest --desttype queue PhysicalQueue
+Command delete-jmsdest executed successfully
+----
+
+[[GSADG1027]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-jmsdest` at the command line.
+
+[[gkxgk]][[GSADG00600]][[special-situations-when-using-the-jms-service]]
+
+=== Special Situations When Using the JMS Service
+
+As mentioned earlier, Message Queue, through the built-in `jmsra`
+resource adapter, is tightly integrated with {productName} to provide
+JMS messaging managed through a rich set of `asadmin` subcommands and
+Administration Console pages to simplify JMS messaging administration
+tasks. In most instances, this tight integration is transparent and
+automatic, requiring no special effort on the part of an administrator.
+In certain special situations, though, an administrator must perform a
+task such a setting a Message Queue broker property or a GlassFish
+object attribute to enable or disable a capability of the integration.
+The topics in this section describe these situations.
+
+Restarting an Embedded or Local Broker That Has Failed::
+  Because the JMS service, not Message Queue, manages the lifecycle of
+  brokers acting as Embedded and Local JMS hosts, do not use the
+  `imqbrokerd` Message Queue utility to start such a broker that has
+  failed. Instead, restart the GlassFish instance that the broker is
+  servicing.
+Changing the Admin User Password for an Embedded or Local Broker::
+  Follow these steps to change the `admin` user password for an Embedded
+  or Local broker:
+  1. [[CHDDHDIE]]
+  Make sure the broker is running.
+
+  2. [[CHDHDFAH]]
+  Use the `imqusermgr` Message Queue utility to change the password of
+  the `admin` user.
+
+  3. [[CHDCJEFG]]
+  Edit the configuration of the JMS host, changing the password of the
+  `admin` user to the new password.
+
+  4. [[CHDFJECE]]
+  Restart the GlassFish instance that the broker is servicing. +
+  When changing the password for the brokers in a broker cluster, first
+  perform steps link:#CHDDHDIE[1] and link:#CHDHDFAH[2] on each broker.
+  Then, perform step link:#CHDCJEFG[3]. Finally, perform
+  step link:#CHDFJECE[4] on each broker.
+
+Using SSL to Connect to an Oracle Internet Directory (OID) or Oracle
+Virtual Directory (OVD) User Respository::
+  When using SSL to connect to an OID or OVD user repository, you must
+  set the `imq.user_repository.ldap.ssl.socketfactory` Message Queue
+  broker property to
+  `com.sun.enterprise.security.auth.realm.ldap.CustomSocketFactory`.
+
+[[gipnh]][[GSADG00601]][[troubleshooting-the-jms-service]]
+
+=== Troubleshooting the JMS Service
+
+If you encounter problems, consider the following:
+
+* Use the link:reference-manual/jms-ping.html#GSRFM00144[`jms-ping`] subcommand to confirm that the
+Message Queue broker is running.
+* View the {productName} log file. For `server`, the Domain
+Administrations Server (DAS), the log is available at
+domain-dir``/logs/server.log``; for other GlassFish instances, the log is
+available at
+as-install``/nodes/``node-name``/``instance-name``/logs/server.log``.
++
+If the log file indicates that a Message Queue broker acting as a Remote
+JMS host did not respond to a message, stop the broker and then restart
+it.
+* View the broker log. For a broker associated with the Domain
+Administration Server (DAS), the log is available at
+domain-dir`/imq/instances/imqbroker/log/log.txt`; for brokers associated
+with other GlassFish instances, the log is available at
+as-install``/nodes/``node-name``/``instance-name`/imq/instances/``mq-instance-name``/log/log.txt``.
+* For Remote type JMS hosts, be sure to start Message Queue brokers
+first, then {productName} instances.
+* If all Message Queue brokers are down, it can take up to 30 minutes
+for {productName} to go down or up when you are using the default
+values in JMS. You can change the default values for this timeout. For
+example:
++
+[source]
+----
+asadmin set domain1.jms-service.reconnect-interval-in-seconds=5
+----
+
+[[gbtvg]][[GSADG00602]][[using-the-generic-resource-adapter-for-jms-to-integrate-supported-external-jms-providers]]
+
+=== Using the Generic Resource Adapter for JMS to Integrate Supported External JMS Providers
+
+{productName} supports the integration and use of Oracle WebLogic JMS
+and IBM WebSphere MQ JMS providers through the use of the Generic
+Resource Adapter for JMS (GenericJMSRA). This Jakarta EE connector 1.5
+resource adapter can wrap the JMS client library of Oracle WebLogic JMS
+and IBM WebSphere MQ and make it available for use by GlassFish. The
+adapter is a `.rar` archive that can be deployed and configured using
+{productName} administration tools.
+
+The following topics are addressed here:
+
+* link:#gkkvc[Configuring GenericJMSRA for Supported External JMS
+Providers]
+* link:#gkkuy[Using GenericJMSRA with WebLogic JMS]
+* link:#gkslb[Using GenericJMSRA with IBM WebSphere MQ]
+
+[[gkkvc]][[GSADG00777]][[configuring-genericjmsra-for-supported-external-jms-providers]]
+
+==== Configuring GenericJMSRA for Supported External JMS Providers
+
+GenericJMSRA has three main properties that need to be configured:
+`SupportXA`, `DeliveryType`, and `ProviderIntegrationMode`. The values
+that need to be set for them depends on the capabilities of the JMS
+provider being used, as follows:
+
+* `SupportXA` — indicates whether the JMS provider supports XA or not.
+* `DeliveryType` — indicates whether an MDB should use a
+`ConnectionConsumer` or `Consumer.receive()` when consuming messages.
+* `ProviderIntegrationMode` — indicates what mode of integration is
+required. The available integration modes are jndi and javabean. Some
+JMS providers support only one integration mode while others may offer
+the choice of both
+
+** If jndi is specified, then the resource adapter will obtain JMS
+connection factories and destinations from the JMS provider's JNDI
+repository.
+
+** If javabean is specified then the resource adapter will obtain JMS
+connection factories and destinations by instantiating the appropriate
+classes directly.
++
+Which option is specified determines which other properties need to be
+set.
+
+[[giosy]][[GSADG00497]][[to-deploy-and-configure-genericjmsra]]
+
+===== To Deploy and Configure GenericJMSRA
+
+Before deploying GenericJMSRA, JMS client libraries must be made
+available to {productName}. For some JMS providers, client libraries
+might also include native libraries. In such cases, these native
+libraries must be made available to any {productName} JVMs.
+
+1. Download the `genericra.rar` archive.
+2. Deploy GenericJMSRA the same way you would deploy a connector
+module.
++
+See "link:application-deployment-guide/deploying-applications.html#GSDPG00069[Deploying a Connector Module]" in {productName} Application Deployment Guide.
+3. Configure the resource adapter's properties.
++
+See link:#gbtvu[GenericJMSRA Configuration Properties].
+4. Create a connector connection pool.
++
+See link:connectors.html#gioce[To Create a Connector Connection Pool].
+5. Create a connector resource.
++
+See link:connectors.html#giogt[To Create a Connector Resource].
+6. Create an administered object resource.
++
+See link:connectors.html#giolr[To Create an Administered Object].
+
+[[gbtvu]][[GSADG00674]][[genericjmsra-configuration-properties]]
+
+===== GenericJMSRA Configuration Properties
+
+The following table describes the properties that can be set to when
+configuring the resource adapter.
+
+[width="100%",cols="28%,19%,14%,39%",options="header",]
+|===
+|Property Name |Valid Values |Default Value |Description
+|`SupportsXA` |`true/false` |false |Specifies whether the JMS client
+supports XA transactions.
+
+|`DeliveryType` a|
+`Synchronous/`
+
+`Asynchronous`
+
+ |Asynchronous |Specifies whether an MDB should use a
+`ConnectionConsumer` (Asynchronous) or `consumer.receive()`
+(Synchronous) when consuming messages.
+
+|`QueueConnectionFactoryClassName` |A valid class name |None |Class name
+of `jakarta.jms.QueueConnectionFactory` implementation of the JMS client.
+This class must be made available on the application server classpath.
+Used if `ProviderIntegrationMode` is `javabean`.
+
+|`TopicConnectionFactoryClassName` |A valid class name |None |Class name
+of `jakarta.jms.TopicConnectionFactory` implementation of the JMS client.
+This class must be made available on the application server classpath.
+Used if `ProviderIntegrationMode` is specified as `javabean`.
+
+|`XAConnectionFactoryClassName` |A valid class name |None |Class name of
+`jakarta.jms.ConnectionFactory` implementation of the JMS client. This
+class must be made available on the application server classpath. Used
+if `ProviderIntegrationMode` is specified as `javabean`.
+
+|`XAQueueConnectionFactoryClassName` |A valid class name |None |Class
+name of `jakarta.jms.``XAQueueConnectionFactory` implementation of the JMS
+client. This class must be made available on the application server
+classpath. Used if `ProviderIntegrationMode` is specified as `javabean`.
+
+|`XATopicConnectionFactoryClassName` |A valid class name |None |Class
+name of `jakarta.jms.``XATopicConnectionFactory` implementation of the JMS
+client. This class must be made available on the application server
+classpath. Used if `ProviderIntegrationMode` is `javabean`.
+
+|`TopicClassName` |A valid class name |None |Class Name of
+`jakarta.jms.Topic` implementation of the JMS client. This class must be
+made available on the application server classpath. Used if
+`ProviderIntegrationMode` is `javabean`.
+
+|`QueueClassName` |A valid class name |None |Class Name of
+`jakarta.jms.Queue` implementation of the JMS client. This class must be
+made available on the application server classpath. Used if
+`ProviderIntegrationMode` is specified as a `javabean`.
+
+|`ConnectionFactoryProperties` |Name value pairs separated by comma
+|None |Specifies the `javabean` property names and values of the
+`ConnectionFactory` of the JMS client. Required only if
+`ProviderIntegrationMode` is `javabean`.
+
+|`JndiProperties` |Name value pairs separated by comma |None |Specifies
+the JNDI provider properties to be used for connecting to the JMS
+provider's JNDI. Used only if `ProviderIntegrationMode` is `jndi`.
+
+|`CommonSetterMethodName` |Method name |None |Specifies the common
+setter method name that some JMS vendors use to set the properties on
+their administered objects. Used only if `ProviderIntegrationMode` is
+`javabean`. For example, in the case of Message Queue, this would be
+`setProperty`.
+
+|`UserName` |Name of the JMS user |None |User name to connect to the JMS
+Provider.
+
+|`Password` |Password for the JMS user |None |Password to connect to the
+JMS provider.
+
+|`RMPolicy` |`ProviderManaged` or `OnePerPhysicalConnection`
+|`Provider``Managed` a|
+The `isSameRM` method on an `XAResource` is used by the Transaction
+Manager to determine if the Resource Manager instance represented by two
+`XAResources` are the same. When `RMPolicy` is set to `ProviderManaged`
+(the default value), the JMS provider is responsible for determining the
+`RMPolicy` and the `XAResource` wrappers in GenericJMSRA merely delegate
+the `isSameRM` call to the JMS provider's XA resource implementations.
+This should ideally work for most JMS providers.
+
+Some `XAResource` implementations such as WebSphere MQ rely on a
+resource manager per physical connection and this causes issues when
+there is inbound and outbound communication to the same queue manager in
+a single transaction (for example, when an MDB sends a response to a
+destination). When `RMPolicy` is set to `OnePerPhysicalConnection`, the
+XAResource wrapper implementation's `isSameRM` in GenericJMSRA would
+check if both the `XAResources` use the same physical connection, before
+delegating to the wrapped objects.
+
+|===
+
+
+[[gbtwu]][[GSADG00675]][[connection-factory-properties]]
+
+===== Connection Factory Properties
+
+`ManagedConnectionFactory` properties are specified when a
+`connector-connection-pool` is created. All the properties specified
+while creating the resource adapter can be overridden in a
+`ManagedConnectionFactory`. Additional properties available only in
+`ManagedConnectionFactory` are given below.
+
+[width="181%",cols="20%,8%,49%,23%",options="header",]
+|===
+|Property Name |Valid Value |Default Value |Description
+|`ClientId` |A valid client ID |None |`ClientID` as specified by JMS 1.1
+specification.
+
+|`ConnectionFactoryJndiName` |JNDI Name |None |JNDI name of the
+connection factory bound in the JNDI tree of the JMS provider. The
+administrator should provide all connection factory properties (except
+`clientID`) in the JMS provider itself. This property name will be used
+only if `ProviderIntegratinMode` is `jndi`.
+
+|`ConnectionValidationEnabled` |true/false |false |If set to true, the
+resource adapter will use an exception listener to catch any connection
+exception and will send a `CONNECTION_ERROR_OCCURED` event to
+application server.
+|===
+
+
+[[gbtxa]][[GSADG00676]][[destination-properties]]
+
+===== Destination Properties
+
+Properties in this section are specified when a destination (queue or
+topic) is created. All the resource adapter properties can be overridden
+in a destination. Additional properties available only in the
+destination are given below.
+
+[width="100%",cols="31%,14%,11%,44%",options="header",]
+|===
+|Property Name |Valid Value |Default Value |Description
+|`DestinationJndiName` |JNDI Name |None |JNDI name of the destination
+bound in the JNDI tree of the JMS provider. The Administrator should
+provide all properties in the JMS provider itself. This property name
+will be used only if `ProviderIntegrationMode` is `jndi`.
+
+|`DestinationProperties` |Name value pairs separated by a comma |None
+|Specifies the `javabean` property names and values of the destination
+of the JMS client. Required only if `ProviderIntegrationMode` is
+`javabean`.
+|===
+
+
+[[gbtvf]][[GSADG00677]][[activation-spec-properties]]
+
+===== Activation Spec Properties
+
+Properties in this section are specified in the {productName}
+`glassfish-ejb-jar.xml` deployment descriptor of an MDB as
+`activation-config-properties`. All the resource adapter properties can
+be overridden in an Activation Spec. Additional properties available
+only in ActivationSpec are given below.
+
+[width="100%",cols="43%,14%,13%,30%",options="header",]
+|===
+|Property Name |Valid Value |Default Value |Description
+|`MaxPoolSize` |An integer |8 |Maximum size of server session pool
+internally created by the resource adapter for achieving concurrent
+message delivery. This should be equal to the maximum pool size of MDB
+objects.
+
+|`MaxWaitTime` |An integer |3 |The resource adapter will wait for the
+time in seconds specified by this property to obtain a server session
+from its internal pool. If this limit is exceeded, message delivery will
+fail.
+
+|`SubscriptionDurability` |Durable or Non-Durable |Non-Durable
+|`SubscriptionDurability` as specified by JMS 1.1 specification.
+
+|`SubscriptionName` | + |None |`SubscriptionName` as specified by JMS
+1.1 specification.
+
+|`MessageSelector` |A valid message selector |None |`MessageSelector` as
+specified by JMS 1.1 specification.
+
+|`ClientID` |A valid client ID |None |`ClientID` as specified by JMS 1.1
+specification.
+
+|`ConnectionFactoryJndiName` |A valid JNDI Name |None |JNDI name of
+connection factory created in JMS provider. This connection factory will
+be used by resource adapter to create a connection to receive messages.
+Used only if `ProviderIntegrationMode` is configured as `jndi`.
+
+|`DestinationJndiName` |A valid JNDI Name |None |JNDI name of
+destination created in JMS provider. This destination will be used by
+resource adapter to create a connection to receive messages from. Used
+only if `ProviderIntegrationMode` is configured as `jndi`.
+
+|`DestinationType` |`jakarta.jms.Queue` or `jakarta.jms.Topic` |Null |Type
+of the destination the MDB will listen to.
+
+|`DestinationProperties` |Name-value pairs separated by comma |None
+|Specifies the `javabean` property names and values of the destination
+of the JMS client. Required only if `ProviderIntegrationMode` is
+`javabean`.
+
+|`RedeliveryAttempts` |integer | + |Number of times a message will be
+delivered if a message causes a runtime exception in the MDB.
+
+|`Redelivery``Interval` |time in seconds | + |Interval between repeated
+deliveries, if a message causes a runtime exception in the MDB.
+
+|`SendBadMessagesToDMD` |true/false |False |Indicates whether the
+resource adapter should send the messages to a dead message destination,
+if the number of delivery attempts is exceeded.
+
+|`DeadMessageDestinationJndiName` |a valid JNDI name. |None |JNDI name
+of the destination created in the JMS provider. This is the target
+destination for dead messages. This is used only if
+`ProviderIntegrationMode` is `jndi`.
+
+|`DeadMessageDestinationClassName` |class name of destination object.
+|None |Used if `ProviderIntegrationMode` is `javabean`.
+
+|`DeadMessageDestinationProperties` |Name Value Pairs separated by comma
+|None |Specifies the `javabean` property names and values of the
+destination of the JMS client. This is required only if
+`ProviderIntegrationMode` is `javabean`.
+
+|`DeadMessageConnectionFactoryJndiName` |a valid JNDI name |None |JNDI
+name of the connection factory created in the JMS provider. This is the
+target connection factory for dead messages. This is used only if
+`ProviderIntegrationMode` is `jndi`.
+
+|`DeadMessageDestinationType` |queue or topic destination |None |The
+destination type for dead messages.
+
+|`ReconnectAttempts` |integer |0 |Number of times a reconnect will be
+attempted in case exception listener catches an error on connection.
+
+|`ReconnectInterval` |time in seconds |0 |Interval between reconnects.
+|===
+
+
+[[gkkuy]][[GSADG00778]][[using-genericjmsra-with-weblogic-jms]]
+
+==== Using GenericJMSRA with WebLogic JMS
+
+You can configure GenericJMSRA to enable applications running in
+{productName} to send messages to, and receive messages from, Oracle
+WebLogic JMS.
+
+GenericJMSRA should be used in conjunction with the WebLogic Server Thin
+T3 Client. Due to the nature of this client, messages exchanged between
+{productName} and WebLogic Server cannot be sent or received in XA
+transactions. There is also only limited support for asynchronous
+receipt of messages in an MDB, as described in detail in
+link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS].
+
+The following topics are addressed here:
+
+* link:#gkmeb[Deploy the WebLogic Thin T3 Client JAR in {productName}]
+* link:#gkmek[Configure WebLogic JMS Resources for Integration]
+* link:#gkmee[Create a Resource Adapter Configuration for GenericJMSRA
+to Work With WebLogic JMS]
+* link:#gkkxz[Deploy the GenericJMSRA Resource Archive]
+* link:#gkkwq[Configuring an MDB to Receive Messages from WebLogic JMS]
+* link:#gknjj[Accessing Connections and Destinations Directly]
+* link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS]
+* link:#gktfi[Configuration Reference of GenericJMSRA Properties for
+WebLogic JMS]
+
+[[gkmeb]][[GSADG00678]][[deploy-the-weblogic-thin-t3-client-jar-in-glassfish-server]]
+
+===== Deploy the WebLogic Thin T3 Client JAR in {productName}
+
+WebLogic Server provides several different clients for use by standalone
+applications that run outside of WebLogic Server. These client are
+summarized in
+"http://www.oracle.com/pls/as1111/lookup?id=SACLT117[Overview of
+Stand-alone Clients"] in Programming Stand-alone Clients for Oracle
+WebLogic Server. When connecting from {productName} to WebLogic JMS
+resources you must use the WebLogic Thin T3 client,
+`wlthint3client.jar`.
+
+There are a couple of methods to deploy the WebLogic Thin T3 client in
+{productName} and make it available to GenericJMSRA:
+
+* To make the Thin T3 client available to all applications, copy the
+`wlthint3client.jar` to the as-install``/lib`` directory under your
+{productName} installation. The Thin T3 client can be found in a
+WebLogic Server installation in a directory similar to
+MW_HOME``/server/lib``.
+* It is also possible to deploy the Thin T3 client in a less global
+manner, so that it is specific to an individual application. For
+information on how to do this, see
+"link:application-development-guide/class-loaders.html#GSDVG00099[Application-Specific Class Loading]" in {productName} Application Development Guide.
+
+[[gkmek]][[GSADG00679]][[configure-weblogic-jms-resources-for-integration]]
+
+===== Configure WebLogic JMS Resources for Integration
+
+If you need to configure the necessary WebLogic JMS resources on the
+WebLogic Server from which you want to access messages using {productName}, then follow the instructions in the WebLogic Server
+documentation for configuring the necessary resources, such as
+destinations, and connection factories.
+
+* JMS System Module Configuration
+* Queue and Topic Destination Configuration
+* Connection Factory Configuration
+
+The example code snippets in this section refer to a WebLogic JMS
+connection factory named `WLoutboundQueueFactory` and queue destination
+named `WLoutboundQueue`. For conceptual overviews on configuring
+WebLogic JMS resources, refer to
+"http://www.oracle.com/pls/as1111/lookup?id=JMSAD123[Understanding JMS
+Resource Configuration]" in Configuring and Managing JMS for Oracle
+WebLogic Server. For detailed instructions on configuring WebLogic JMS
+resources, refer to
+"http://www.oracle.com/pls/as1111/lookup?id=WLACH01854[Configure JMS
+system modules and add JMS resources]" in the WebLogic Administration
+Console Online Help.
+
+[[gkmee]][[GSADG00680]][[create-a-resource-adapter-configuration-for-genericjmsra-to-work-with-weblogic-jms]]
+
+===== Create a Resource Adapter Configuration for GenericJMSRA to Work With WebLogic JMS
+
+When you deploy GenericJMSRA, you also need to create a resource adapter
+configuration in {productName}. You can do this using either the
+Administration Console or the `asadmin` command. If you use
+theAdministration Console then you need deploy the GenericJMSRA resource
+archive first. Here's an example using `asadmin`:
+
+[source]
+----
+asadmin create-resource-adapter-config --host localhost --port 4848 --property
+SupportsXA=false:DeliveryType=Synchronous:ProviderIntegrationMode
+                          =jndi:JndiProperties=java.naming.factory.initial\
+                          =weblogic.jndi.WLInitialContextFactory,java.naming.provider.url\
+                          =t3\://localhost\:7001,java.naming.factory.url.pkgs\
+                          =weblogic.corba.client.naming genericra
+----
+
+This creates a resource adapter configuration with the name `genericra`,
+and Oracle recommends not changing the default name. The resource
+adapter configuration is configured with the properties specified using
+the `--properties` argument; multiple properties are configured as a
+colon-separated list of name-value pairs that are entered as a single
+line. You will also need to change the host and port that WebLogic
+Server is running on to suit your installation.
+
+In this example, the following properties are configured:
+
+[width="100%",cols="28%,72%",options="header",]
+|===
+|Property |Value
+|`SupportsXA` |`false`
+|`DeliveryType` |`Synchronous`
+|`ProviderIntegrationMode` |`jndi`
+|`JndiProperties` a|
+[source]
+----
+java.naming.factory.initial
+=weblogic.jndi.WLInitialContextFactory,java.naming.provider.url
+=t3://localhost:7001,java.naming.factory.url.pkgs
+=weblogic.corba.client.naming
+
+(replace "localhost:7001" with the host:port of WebLogic Server)
+----
+
+|===
+
+
+You must use the same values for `SupportsXA`, `DeliveryType` and
+`ProviderIntegrationMode` as the required values that are used in this
+table. The `JndiProperties` value must be set to a list of JNDI
+properties needed for connecting to WebLogic JNDI.
+
+
+[NOTE]
+====
+When using `asadmin` you need to escape each `=` and any `:` characters
+by prepending a backward slash `\`. The escape sequence is not necessary
+if the configuration is performed through the Administration Console.
+====
+
+
+For a description of all the resource adapter properties that are
+relevant for WebLogic JMS, see the link:#gktfi[Configuration Reference
+of GenericJMSRA Properties for WebLogic JMS].
+
+[[gkkxz]][[GSADG00498]][[deploy-the-genericjmsra-resource-archive]]
+
+===== Deploy the GenericJMSRA Resource Archive
+
+1. Download the GenericJMSRA resource archive (genericra.rar).
+2. Deploy the resource adapter. You can do this using either the
+Administration Console or the `asadmin` deploy command. Here's an
+example using the `asadmin` deploy command:
++
+[source]
+----
+$ asadmin deploy --user admin --password adminadmin
+  <location of the generic resource adapter rar file>
+----
+If you deploy the resource adapter using the Administration Console,
+then after deployment you need to create a resource adapter
+configuration as described in link:#gkmee[Create a Resource Adapter
+Configuration for GenericJMSRA to Work With WebLogic JMS].
+
+[[gkkwq]][[GSADG00499]][[configuring-an-mdb-to-receive-messages-from-weblogic-jms]]
+
+===== Configuring an MDB to Receive Messages from WebLogic JMS
+
+In this example, all configuration information is defined in two
+deployment descriptor files: `ejb-jar.xml` and the {productName}
+`glassfish-ejb-jar.xml` file. To configure a MDB to receive messages
+from WebLogic JMS, you would configure these deployment descriptor files
+as follows:
+
+1. Configure the ejb-jar.xml deployment descriptor:
++
+[source,xml]
+----
+<ejb-jar>
+  <enterprise-beans>
+    <message-driven>
+      <ejb-name>SimpleMessageEJB</ejb-name>
+      <ejb-class>test.simple.queue.ejb.SimpleMessageBean</ejb-class>
+      <transaction-type>Container</transaction-type>
+    </message-driven>
+  </enterprise-beans>
+  <assembly-descriptor>
+    <container-transaction>
+      <method>
+        <ejb-name>SimpleMessageEJB</ejb-name>
+        <method-name>onMessage</method-name>
+        <method-params>
+          <method-param>jakarta.jms.Message</method-param>
+        </method-params>
+      </method>
+      <trans-attribute>NotSupported</trans-attribute>
+    </container-transaction>
+  </assembly-descriptor>
+</ejb-jar>
+----
++
+[NOTE]
+====
+If container-managed transactions are configured, then the transactional
+attribute must be set to `NotSupported`. For more information, see
+link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS].
+====
+
+2. Configure the glassfish-ejb-jar.xml deployment descriptor:
++
+[source,xml]
+----
+<sun-ejb-jar>
+  <enterprise-beans>
+    <ejb>
+      <ejb-name>SimpleMessageEJB</ejb-name>
+      <mdb-resource-adapter>
+        <resource-adapter-mid>genericra</resource-adapter-mid>
+        <activation-config>
+          <activation-config-property>
+            <activation-config-property-name>
+              ConnectionFactoryJndiName
+            </activation-config-property-name>
+            <activation-config-property-value>
+              jms/WLInboundQueueFactory
+            </activation-config-property-value>
+          </activation-config-property>
+          <activation-config-property>
+            <activation-config-property-name>
+              DestinationJndiName
+            </activation-config-property-name>
+            <activation-config-property-value>
+              jms/WLInboundQueue
+            </activation-config-property-value>
+          </activation-config-property>
+        </activation-config>
+      </mdb-resource-adapter>
+    </ejb>
+  </enterprise-beans>
+</sun-ejb-jar>
+----
+where:
++
+The `<resource-adapter-mid>genericra</resource-adapter-mid>` element is
+used to specify the resource adapter and resource adapter configurations
+that was deployed in the link:#gkmee[Create a Resource Adapter
+Configuration for GenericJMSRA to Work With WebLogic JMS] instructions.
+It is recommended you stick to `genericra` as is used here.
++
+The `activation-config` element in `glassfish-ejb-jar.xml` is the one
+which defines how and where the MDB receives messages, as follows:
+* The `ConnectionFactoryJndiName` property must be set to the JNDI name
+of the connection factory in the WebLogic JNDI store that will be used
+to receive messages. Therefore, replace `jms/WLInboundQueueFactory` in
+the example above with the JNDI name used in your environment.
+* The `DestinationJndiName` property must be set to the JNDI name of the
+destination (the queue or topic from which messages will be consumed) in
+the WebLogic JNDI store. Therefore, replace `jms/WLInboundQueue` in the
+example above with the JNDI name used in your environment. +
+
+For a description of all the ActivationSpec properties that are relevant
+for WebLogic JMS, see the link:#gktfi[Configuration Reference of
+GenericJMSRA Properties for WebLogic JMS]. +
+
+Make sure to use the appropriate WebLogic administration tools, such as
+the WebLogic Administration Console or the WebLogic Scripting Tool (WLST).
+For more information, see
+"http://www.oracle.com/pls/as1111/lookup?id=WLACH01853[Configure
+Messaging]" in WebLogic Server Administration Console Online Help and
+http://www.oracle.com/pls/as1111/lookup?id=WLSTC112[WebLogic Server WLST
+Online and Offline Command Reference].
+
+[[gknjj]][[GSADG00500]][[accessing-connections-and-destinations-directly]]
+
+===== Accessing Connections and Destinations Directly
+
+When configuring a MDB to consume messages from WebLogic JMS your code
+does not need to access the WebLogic JMS connection factory and
+destination directly. You simply define them in the activation
+configuration, as shown in link:#gkkwq[Configuring an MDB to Receive
+Messages from WebLogic JMS]. However when configuring an MDB to send
+messages, or when configuring a EJB, Servlet, or application client to
+either send or receive messages, your code needs to obtain these objects
+using a JNDI lookup.
+
+
+[NOTE]
+====
+If you want configure connections and destination resources using the
+Administration Console, this is explained in the Administration Console
+online help. When using Administration Console, follow the instructions
+for creating a new Connector Connection Pool and Admin Object Resources,
+and not the instructions for creating a JMS Connection Pool and
+Destination Resources. For more information about using `asadmin` to
+create these resources, see link:connectors.html#gioce[To Create a
+Connector Connection Pool] and link:connectors.html#giogt[To Create a
+Connector Resource].
+====
+
+
+1. Looking up the connection factory and destination
++
+The following code looks up a connection factory with the JNDI name
+`jms/QCFactory` and a queue with the name `jms/outboundQueue` from the
+{productName} JNDI store:
++
+[source,java]
+----
+     Context initialContect  = new InitialContext();
+     QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)
+          jndiContext.lookup("java:comp/env/jms/MyQCFactory");
+     Queue queue = (Queue) jndiContext.lookup("java:comp/env/jms/outboundQueue");
+----
+Note that the resources used are {productName} resources, not
+WebLogic JMS resources. For every connection factory or destination that
+you want to use in the WebLogic JMS JNDI store, you need to create a
+corresponding connection factory or destination in the {productName}
+JNDI store and configure the {productName} object to point to the
+corresponding WebLogic JMS object.
+2. Declaring the connection factory and destination
++
+In accordance with standard Jakarta EE requirements, these resources need
+to be declared in the deployment descriptor for the MDB, EJB or other
+component. For example, for a session bean, configure the `ejb-jar.xml`
+with `<resource-env-ref>` elements, as follows:
++
+[source,xml]
+----
+<ejb-jar>
+  <enterprise-beans>
+    <session>
+      . . .
+      <resource-env-ref>
+        <resource-env-ref-name>jms/QCFactory</resource-env-ref-name>
+        <resource-env-ref-type>jakarta.jms.QueueConnectionFactory</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref>
+        <resource-env-ref-name>jms/outboundQueue</resource-env-ref-name>
+        <resource-env-ref-type>jakarta.jms.Queue</resource-env-ref-type>
+      </resource-env-ref>
+----
+3. Create a Connector Connection Pool and Connector Resource by
+entering the following `asadmin` commands, both all in one line:
++
+In order to configure a JMS Connection Factory using GenericJMSRA, a
+Connector connection pool and resource need to be created in {productName} using names that map to the corresponding connection factory in
+the WebLogic JNDI store.
++
+[source]
+----
+asadmin create-connector-connection-pool --host localhost --port 4848
+   --raname genericra --connectiondefinition jakarta.jms.QueueConnectionFactory
+   --target server --transactionsupport LocalTransaction
+   --property ConnectionFactoryJndiName=jms/WLOutboundQueueFactory
+     qcpool
+
+asadmin create-connector-resource --host localhost --port 4848
+    --poolname qcpool --target server jms/QCFactory
+----
+These `asadmin` commands together creates a connection factory in
+{productName} and its corresponding connection pool.
+* The connection pool has the JNDI name `jms/WLoutboundQueueFactory` and
+obtains connections from a connection pool named `qcpool`.
+* The connection pool `qcpool` uses the resource adapter `genericra` and
+contains objects of type `jakarta.jms.QueueConnectionFactory`.
+* The `transactionsupport` argument is set to `LocalTransaction`, which
+specifies that the connection will be used in local transactions only.
+You can also specify `NoTransaction`. However, the default setting of
+`XATransaction` cannot be used. For more information, see
+link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS].
+* The connection pool is configured with the properties specified using
+the `properties` argument; multiple properties are configured as a
+colon-separated list of name-value pairs. Only one property is
+configured in this example, as follows:
++
+[source]
+----
+ConnectionFactoryJndiName=jms/WLOutboundQueueFactory
+----
+The `ConnectionFactoryJndiName` property must be set to the JNDI name of
+the corresponding connection factory in the WebLogic JMS JNDI store.
+Therefore, replace `jms/WLOutboundQueueFactory` in the example above
+with the JNDI name used in your environment.
+* For a description of the `ManagedConnectionFactory` properties that
+are relevant for WebLogic JMS, see the link:#gktfi[Configuration
+Reference of GenericJMSRA Properties for WebLogic JMS].
+4. Create a destination object that refers to a corresponding WebLogic
+JMS destination by entering the following `asadmin` command, all in one
+line:
++
+[source]
+----
+asadmin create-admin-object --host localhost --port 4848 --target server
+    --restype jakarta.jms.Queue --property DestinationJndiName=jms/WLOutboundQueue
+    --raname genericra jms/outboundQueue
+----
+This `asadmin` command creates a destination in {productName}.
+* The destination has the JNDI name `jms/outboundQueue`, uses the
+resource adapter `genericra`, and is of type `jakarta.jms.Queue`.
+* The destination is configured with the properties specified using the
+`properties` argument; multiple properties are configured as a
+colon-separated list of name-value pairs. Only one property is
+configured in this example, as follows:
++
+[source]
+----
+DestinationJndiName=jms/WLOutboundQueue
+----
+The `DestinationJndiName` property must be set to the JNDI name of the
+corresponding destination in the WebLogic JMS JNDI store. Therefore,
+replace `jms/WLOutboundQueue` in the example above with the JNDI name
+used in your environment.
+* For a description of the destination properties that are relevant for
+WebLogic JMS, see the link:#gktfi[Configuration Reference of
+GenericJMSRA Properties for WebLogic JMS].
+
+[[gkkvz]][[GSADG00681]][[limitations-when-using-genericjmsra-with-weblogic-jms]]
+
+===== Limitations When Using GenericJMSRA with WebLogic JMS
+
+Due to the nature of the WebLogic T3 Thin Client there are a number of
+limitations in the way in which it can be used with GenericJMSRA.
+
+[[gknho]][[GSADG00091]][[no-support-for-xa-transactions]]
+
+No Support for XA Transactions
+
+WebLogic JMS does not support the optional JMS "Chapter 8" interfaces
+for XA transactions in a form suitable for use outside of WebLogic
+Server. Therefore, the GenericJMSRA configuration must have the
+`SupportsXA` property set to `-false`. This has a number of implications
+for the way in which applications may be used, as described in this
+section.
+
+Using a MDB to Receive Messages: Container-managed Transactions (CMT)
+
+* If container-managed transactions are used, the transactional
+attribute of a MDB should be set to `NotSupported`. No transaction will
+be started. Messages will be received in a non-transacted session with
+an acknowledgeMode of `AUTO_ACKNOWLEDGE`.
+* A transactional `Required` attribute should not be used; otherwise,
+MDB activation will fail with an exception:
+`javax.resource.ResourceException: MDB is configured to use container managed transaction. But SupportsXA is configured to false in the resource adapter.`
+
+The remaining transactional attributes are normally considered
+inappropriate for use with a MDB. If used, the following behavior will
+occur:
+
+* If the transactional attribute is `RequiresNew`, then MDB activation
+will fail with an exception:
+`javax.resource.ResourceException: MDB is configured to use container managed transaction But SupportsXA is configured to false in the resource adapter.`
+* If the transactional attribute is `Mandatory`, the MDB can be
+activated but a `TransactionRequiredException` (or similar) will always
+be thrown by the server.
+* If the transactional attribute is `Supports`, then no transaction will
+be started and the MDB will work as if `NotSupported` had been used.
+* If the transactional attribute is `Never`, then no transaction will be
+started and the MDB will work as if `NotSupported` had been used.
+
+Using a MDB to Receive Messages: Bean-managed Transactions (BMT)
+
+* If bean-managed transactions are configured in accordance with the EJB
+specification any `UserTransaction` started by the bean will have no
+effect on the consumption of messages.
+* Messages will be received in a non-transacted session with an
+acknowledgeMode of `AUTO_ACKNOWLEDGE`.
+
+Accessing Connections and Destinations Directly - Container-managed
+Transactions (CMT)
+
+When accessing connections directly (such as when sending messages from
+a MDB or an EJB) and container-managed transactions are being used, the
+connection pool's `transaction-support` property should be set to either
+`LocalTransaction` or `NoTransaction`. If the default value of
+`XATransaction` is used, an exception will be thrown at runtime when
+`createConnection()` is called. This is the case irrespective of the
+transactional attribute of the MDB or EJB. Note that MDBs must have
+their transactional attribute set to `NotSupported` as specified above;
+whereas, an EJB can use any transactional attribute.
+
+If there is no transaction in progress within the bean method (for
+example, `notSupported` is being used) then it does not make any
+difference whether the connection pool's `transaction-support` property
+is set to `LocalTransaction` or `NoTransaction`; the transactional
+behavior will be determined by the arguments to `createSession()`. If
+you want the outbound message to be sent without a transaction, call
+`createSession(false, ...)`. If you want the outbound message to be sent
+in a local transaction call
+`createSession(true, Session.SESSION_TRANSACTED)`, remembering to call
+`session.commit()` or `session.rollback()`after the message is sent.
+
+If there is a transaction in progress within the bean method (which will
+only be possible for EJBs), then setting the connection pool's
+`transaction-support` property to `LocalTransaction` or `NoTransaction`
+gives different results:
+
+* If it is set to `NoTransaction` then a non-transacted session will be
+used.
+* If it is set to `LocalTransaction` then a (local, non-XA) transacted
+session will be used, which will be committed or rolled back when the
+`UserTransaction` is committed or rolled back. In this case, calling
+`session.commit()` or `session.rollback()` will cause an exception.
+
+No Support for Redelivery Limits and Dead Message Queue
+
+Due to the lack of XA support when using WebLogic JMS, there is no
+support for GenericJMSRA's dead message queue feature, in which a
+message that has been redelivered to a MDB a defined number of times is
+sent to a dead message queue.
+
+[[gknft]][[GSADG00092]][[limited-support-for-asynchronous-receipt-of-messages-in-a-mdb]]
+
+Limited Support for Asynchronous Receipt of Messages In a MDB
+
+WebLogic JMS does not support the optional JMS "Chapter 8" interfaces
+for "Concurrent Processing of a Subscription's Messages" (that is,
+`ServerSession`, `ServerSessionPool` and `ConnectionConsumer`) in a form
+suitable for use outside of WebLogic Server. Therefore, the generic
+JMSRA configuration must set the property `DeliveryType` to
+`Synchronous`.
+
+This affects the way in which MDBs consume messages from a queue or
+topic as follows:
+
+* When messages are being received from a queue, each MDB instance will
+have its own session and consumer, and it will consume messages by
+repeatedly calling `receive(timeout)`. This allows the use of a pool of
+MDBs to process messages from the queue.
+* When messages are being received from a topic, only one MDB instance
+will be used irrespective of the configured pool size. This means that a
+pool of multiple MDBs cannot be used to share the load of processing
+messages, which may reduce the rate at which messages can be received
+and processed.
++
+This restriction is a consequence of the semantics of synchronously
+consuming messages from topics in JMS: In the case of non-durable topic
+subscriptions, each consumer receives a copy of all the messages on the
+topic, so using multiple consumers would result in multiple copies of
+each message being received rather than allowing the load to be shared
+among the multiple MDBs. In the case of durable topic subscriptions,
+only one active consumer is allowed to exist at a time.
+
+[[gktfi]][[GSADG00682]][[configuration-reference-of-genericjmsra-properties-for-weblogic-jms]]
+
+===== Configuration Reference of GenericJMSRA Properties for WebLogic JMS
+
+The tables in this section list the properties that need to be set to
+configure the resource adapter and any activation specs, managed
+connections, and other administered objects that are relevant only when
+using GenericJMSRA to communicate with WebLogic JMS. For a complete list
+of properties, see the comprehensive table in link:#gbtvu[GenericJMSRA
+Configuration Properties]
+
+Resource Adapter Properties
+
+These properties are used to configure the resource adapter itself when
+it is deployed, and can be specified using the
+`create-resource-adapter-config` command.
+
+[width="100%",cols="28%,42%,30%",options="header",]
+|===
+|Property Name |Required Value |Description
+|`SupportsXA` |`false` a|
+Specifies whether the JMS client supports XA transactions.
+
+Set to `false` for WebLogic JMS.
+
+|`DeliveryType` |`Synchronous` a|
+Specifies whether an MDB should use a `ConnectionConsumer`
+(Asynchronous) or `consumer.receive()` (Synchronous) when consuming
+messages.
+
+Set to `Synchronous` for WebLogic JMS.
+
+|`ProviderIntegrationMode` |`jndi` a|
+Specifies that connection factories and destinations in GlassFish's JNDI
+store are configured to refer to connection factories and destinations
+in WebLogic's JNDI store.
+
+Set to `jndi` for WebLogic JMS.
+
+|`JndiProperties` a|
+[source]
+----
+java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory,
+java.naming.provider.url=t3://localhost:7001,
+java.naming.factory.url.pkgs=weblogic.corba.client.naming
+(replace localhost:7001 with the host:port of WebLogic Server)
+----
+
+ |JNDI properties for connect to WebLogic JNDI, specified as
+comma-separated list of name=value pairs without spaces.
+
+|`UserName` |`Name of the WebLogic JMS user` |User name to connect to
+WebLogic JMS. The user name can be overridden in `ActivationSpec` and
+`ManagedConnection`. If no user name is specified anonymous connections
+will be used, if permitted.
+
+|`Password` |`Password for the WebLogic JMS user` |Password to connect
+to WebLogic JMS. The password can be overridden in `ActivationSpec` and
+`ManagedConnection`.
+
+|`LogLevel` |`Desired log level of JDK logger` |Used to specify the
+level of logging.
+|===
+
+
+Connection Factory Properties
+
+`ManagedConnectionFactory` objects are created in the {productName}
+JNDI store using the Administration Console or the
+`asadmin connector-connection-pool` command. All the properties that can
+be set on a resource adapter configuration can be overridden by setting
+them on a destination object. The properties specific to
+`ManagedConnectionFactory` objects are listed in the following table.
+
+[width="100%",cols="39%,14%,10%,37%",options="header",]
+|===
+|Property Name |Valid Value |Default Value |Description
+|`ClientId` |A valid client ID |None |`ClientID` as specified by JMS 1.1
+specification.
+
+|`ConnectionFactoryJndiName` |A valid JNDI Name |None |JNDI name of
+connection factory in the {productName} JNDI store. This connection
+factory should be configured to refer to the physical connection factory
+in the WebLogic JNDI store.
+
+|`ConnectionValidationEnabled` |`true` or `false` |FALSE |If set to
+`true`, the resource adapter will use an exception listener to catch any
+connection exception and will send a `CONNECTION_ERROR_OCCURED` event to
+{productName}.
+|===
+
+
+Destination Properties
+
+Destination (queue or topic) objects are created in the {productName}
+JNDI store using the Administration Console or the
+`asadmin connector-admin-object` command. All the properties that can be
+set on a resource adapter configuration can be overridden by setting
+them on a destination object. The properties specific to destination
+objects are listed in the following table.
+
+[width="100%",cols="28%,14%,10%,48%",options="header",]
+|===
+|Property Name |Valid Value |Default Value |Description
+|`DestinationJndiName` |A valid JNDI name |None |JNDI name of the
+destination object in the {productName} JNDI store. This destination
+object should be configured to refer to the corresponding physical
+destination in the WebLogic JNDI store.
+|===
+
+
+ActivationSpec Properties
+
+An ActivationSpec is a set of properties that configures a MDB. It is
+defined either in the MDB's {productName} deployment descriptor
+`glassfish-ejb-jar.xml` using `activation-config-property` elements or
+in the MDB itself using annotation. All the resource adapter properties
+listed in the table above can be overridden in an ActivationSpec.
+Additional properties available only to a ActivationSpec are given
+below.
+
+[width="100%",cols="30%,19%,14%,37%",options="header",]
+|===
+|Property Name |Valid Value |Default Value |Description
+|`MaxPoolSize` |An integer |8 a|
+Maximum size of server session pool internally created by the resource
+adapter for achieving concurrent message delivery. This should be equal
+to the maximum pool size of MDB objects.
+
+Only used for queues; ignored for topics, when a value of 1 is always
+used.
+
+|`SubscriptionDurability` |`Durable` or `Non-Durable` |`Non-Durable`
+|Only used for topics. Specifies whether the subscription is durable or
+non-durable.
+
+|`SubscriptionName` | |None |Only used for topics when
+`SubscriptionDurability` is `Durable`. Specifies the name of the durable
+subscription.
+
+|`MessageSelector` |A valid message selector |None |JMS message
+selector.
+
+|`ClientID` |A valid client ID |None |JMS ClientID.
+
+|`ConnectionFactoryJndiName` |A valid JNDI Name |None |JNDI name of
+connection factory in the {productName} JNDI store. This connection
+factory should be configured to refer to the physical connection factory
+in the WebLogic JNDI store.
+
+|`DestinationJndiName` |A valid JNDI Name |None |JNDI name of
+destination in the {productName} JNDI store. This destination should
+be configured to refer to the physical destination in the WebLogic JNDI
+store.
+
+|`DestinationType` |`jakarta.jms.Queue` or `jakarta.jms.Topic` |Null
+|Specifies whether the configured `DestinationJndiName` refers to a
+queue or topic.
+
+|`ReconnectAttempts` |integer |0 |Number of times a reconnect will be
+attempted in case exception listener catches an error on connection.
+
+|`ReconnectInterval` |time in seconds |0 |Interval between reconnection
+attempts.
+|===
+
+
+[[gkslb]][[GSADG00779]][[using-genericjmsra-with-ibm-websphere-mq]]
+
+==== Using GenericJMSRA with IBM WebSphere MQ
+
+You can configure GenericJMSRA to enable applications running in
+{productName} to send messages to, and receive messages from, IBM
+WebSphere MQ. {productName}only supports using GenericJMSRA with
+WebSphere MQ version 6.0 and WebSphere MQ version 7.0
+
+These instructions assume that the WebSphere MQ broker and {productName} are deployed and running on the same physical host/machine. If
+you have the WebSphere MQ broker running on a different machine and need
+to access it remotely, refer to the WebSphere MQ documentation for
+configuration details. The resource adapter configuration and other
+application server related configuration remains unchanged.
+
+The following topics are addressed here:
+
+* link:#gksiw[Preliminary Setup Procedures for WebSphere MQ Integration]
+* link:#gksli[Configure the WebSphere MQ Administered Objects]
+* link:#gksni[Create a Resource Adapter Configuration for GenericJMSRA
+to Work With WebSphere MQ]
+* link:#gksnh[Deploy the GenericJMSRA Archive]
+* link:#gkson[Create the Connection Factories and Administered Objects
+in {productName}]
+* link:#gktmn[Configuring an MDB to Receive Messages from WebSphere MQ]
+
+[[gksiw]][[GSADG00683]][[preliminary-setup-procedures-for-websphere-mq-integration]]
+
+===== Preliminary Setup Procedures for WebSphere MQ Integration
+
+Before you can configure WebSphere MQ to exchange messages with
+{productName}, you must complete the following tasks:
+
+* The following permissions must be added to the `server.policy` and the
+`client.policy` file to deploy GenericJMSRA and to run the client
+application.
+
+** Use a text editor to modify the `server.policy` file in the
+`${appserver-install-dir}/domains/domain1/config/`directory by adding
+the following line to the default grant block:
++
+[source]
+----
+permission java.util.logging.LoggingPermission "control";
+permission java.util.PropertyPermission "*", "read,write";
+----
+
+** If you use an application client in your application, edit the
+client's `client.policy` file in the
+`${appserver-install-dir}/lib/appclient/` directory by adding the
+following permission:
++
+[source]
+----
+permission javax.security.auth.PrivateCredentialPermission
+"javax.resource.spi.security.PasswordCredential * \"*\"","read";
+----
+* To integrate {productName}with WebSphere MQ 6.0 or 7.0, copy the
+necessary JAR files to the as-install``/lib`` directory:
+
+** For WebSphere MQ 6.0, copy these JAR files to the as-install``/lib``
+directory:
++
+[source]
+----
+/opt/mqm/java/lib/com.ibm.mq.jar
+/opt/mqm/java/lib/com.ibm.mq.jms.Nojndi.jar
+/opt/mqm/java/lib/com.ibm.mq.soap.jar
+/opt/mqm/java/lib/com.ibm.mqjms.jar
+/opt/mqm/java/lib/com.ibm.mqetclient.jar
+/opt/mqm/java/lib/commonservices.jar
+/opt/mqm/java/lib/dhbcore.jar
+/opt/mqm/java/lib/rmm.jar
+/opt/mqm/java/lib/providerutil.jar
+/opt/mqm/java/lib/CL3Export.jar
+/opt/mqm/java/lib/CL3Nonexport.jar
+----
+where `/opt/mqm` is the location of the WebSphere MQ 6.0 installation.
+
+** For WebSphere MQ 7.0, copy these JAR files to the as-install``/lib``
+directory:
++
+[source]
+----
+/opt/mqm/java/lib/com.ibm.mq.jar,
+/opt/mqm/java/lib/com.ibm.mq.jms.Nojndi.jar,
+/opt/mqm/java/lib/com.ibm.mq.soap.jar,
+/opt/mqm/java/lib/com.ibm.mqjms.jar,
+/opt/mqm/java/lib/com.ibm.mq.jmqi.jar,
+/opt/mqm/java/lib/com.ibm.mq.commonservices.jar,
+/opt/mqm/java/lib/dhbcore.jar,
+/opt/mqm/java/lib/rmm.jar,
+/opt/mqm/java/lib/providerutil.jar,
+/opt/mqm/java/lib/CL3Export.jar,
+/opt/mqm/java/lib/CL3Nonexport.jar
+----
+where `/opt/mqm` is the location of the WebSphere MQ 7.0 installation.
+* Set the `LD_LIBRARY_PATH` environment variable to the `java/lib`
+directory, and then restart {productName}. For example, in a
+UNIX—based system, with WebSphere MQ installed under `/opt/mqm`, you
+would enter:
++
+[source]
+----
+$ export LD_LIBRARY_PATH=/opt/mqm/java/lib
+----
+
+[[gksli]][[GSADG00501]][[configure-the-websphere-mq-administered-objects]]
+
+===== Configure the WebSphere MQ Administered Objects
+
+This section provides an example of how you could configure the
+necessary administered objects, such as destinations and connection
+factories, on the WebSphere MQ instance from which you want to access
+messages using {productName}. Therefore, you will need to change the
+administered object names to suit your installation.
+
+[[GSADG1028]]
+
+Before You Begin
+
+If WebSphere MQ created a user and a group named `mqm` during the
+installation, then you must specify a password for the `mqm` user using
+the `$ passwd mqm` command.
+
+image:img/websphere-mq.png[
+"This graphic represents all of the administered objects created in this
+example configuration."]
+
+
+1. Switch to the `mqm` user: +
+`$ su mqm`
+
+2. For Linux, set the following kernel version: +
+`$ export LD_ASSUME_KERNEL=2.2.5`
+
+3. Create a new MQ queue manager named "QM1": +
+`$ crtmqm QM1`
+
+4. Start the new MQ queue manager. +
+In the image above, `QM1` is associated with the IBM WebSphere MQ broker. +
+`$ strmqm QM1`
+
+5. Start the MQ listener: +
+`$ runmqlsr -t tcp -m QM1 -p 1414 &`
+
+6. Modify the default JMSAdmin console configuration as follows:
+[arabic]
+.. Edit the JMSAdmin script in the `/opt/mqm/java/bin` directory to
+   change the JVM to a location of a valid JVM your system.
+.. Set the relevant environment variable required for JMSAdmin by
+   sourcing the `setjmsenv` script located in the `/opt/mqm/java/bin` directory.
++
+[source]
+----
+$ cd /opt/mqm/java/bin
+$ source setjmsenv
+----
+where `/opt/mqm` is the location of the WebSphere MQ installation.
+.. Change the JMSAdmin.config file to indicate the Initial Context Factory
+   you will be using by setting the following name-value pairs and
+   commenting out the rest:
++
+[source]
+----
+INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
+PROVIDER_URL=file:/opt/tmp
+----
+
+7. Create WebSphere MQ queues using the runmqsc console and MQJMS_PSQ.mqsc script. +
+`$ runmqsc QM1 < MQJMS_PSQ.mqsc`
+
+8. Create user defined physical queue for your application using
+runmqsc console and an appropriate physical queue name. An example of
+how this could be done is shown below. +
+In the image above, `ORANGE.LOCAL.QUEUE` is associated with `QM1`.
++
+[source]
+----
+     $ runmqsc QM1
+             > DEFINE QLOCAL(ORANGE.LOCAL.QUEUE)
+             > end
+----
+
+9. Start the WebSphere MQ Broker: +
+`$ strmqbrk -m QM1`
+
+10. In the WebSphere MQ JMSAdmin console, use the following commands to
+create the connection factories, XA connection factories, and
+destinations for your application, as shown in the following sample,
+which lists each of the various JMS administered objects. +
+In the image above, `QCF` (for `QM1`) and `TQueue` (associated with
+`ORANGE.LOCAL.QUEUE`) are defined in the `FileSystem Naming Context`.
++
+[source]
+----
+$ ./JMSAdmin
+
+   InitCtx>def qcf<JNDI name to be given to the Queue Connection Factory>
+     hostname<IBM MQ server hostname> port(1414) channel(SYSTEM.DEF.SVRCONN)
+     transport(CLIENT) qmanager<name of queue manager defined>
+
+     For example:
+     def qcf(QCF) hostname(localhost) port(1414) channel(SYSTEM.DEF.SVRCONN)
+      transport(CLIENT) qmanager(QM1)
+
+   InitCtx%def xaqcf<JNDI name to be given to the XA Queue Connection Factory>
+     hostname<IBM MQ server hostname> port(1414) channel(SYSTEM.DEF.SVRCONN)
+     transport(CLIENT) qmanager<name of queue manager defined>
+
+     For example:
+     def xaqcf(XAQCF) hostname(localhost) port(1414) channel(SYSTEM.DEF.SVRCONN)
+     transport(CLIENT) qmanager(QM1)
+
+   InitCtx%def q<JNDI Name to be given to the Queue> queue<physical queue name>
+     qmanager(name of queue manager defined )
+
+     For example: def q(TQueue) queue(ORANGE.LOCAL.QUEUE) qmanager(QM1)
+
+   InitCtx%def tcf<JNDI Name to be given to the Topic Connection Factory>
+     qmanager(name of queue manager defined )
+
+     For example: def tcf(TCF) qmanager(QM1)
+
+   InitCtx%def xatcf<JNDI Name to be given to the  XA Topic Connection Factory>
+     qmanager(name of queue manager defined )
+
+     For example: def xatcf(XATCF) qmanager(QM1)
+
+   InitCtx%def t<JNDI Name to be given to the Topic> topic<sample topic name>
+
+     For example: def t(TTopic) topic(topic)
+----
+
+[[gksni]][[GSADG00684]][[create-a-resource-adapter-configuration-for-genericjmsra-to-work-with-websphere-mq]]
+
+===== Create a Resource Adapter Configuration for GenericJMSRA to Work With WebSphere MQ
+
+Before deploying GenericJMSRA, you need to create a resource adapter
+configuration in {productName}. You can do this using either the
+Administration Console or the `asadmin` command. Use the following
+`asadmin` command to create a resource adapter configuration for
+`genericra` to configure it to work with WebSphere MQ.
+
+[source]
+----
+                     asadmin> create-resource-adapter-config
+                       --user <adminname> --password <admin password>
+                       --property SupportsXA=true:ProviderIntegrationMode
+                       =jndi:UserName=mqm:Password=###:RMPolicy
+                       =OnePerPhysicalConnection:JndiProperties
+                       =java.naming.factory.url.pkgs\\
+                       =com.ibm.mq.jms.naming,java.naming.factory.initial\\
+                       =com.sun.jndi.fscontext.RefFSContextFactory,java.naming.provider.url\\
+                       =file\\:\\/\\/opt\\/tmp:LogLevel=finest genericra
+----
+
+
+[NOTE]
+====
+When using `asadmin` you need to escape each `=` and any `:` characters
+by prepending a backward slash `\`. The escape sequence is not necessary
+if the configuration is performed through the Administration Console.
+Also , ensure that the provider URL is configured correctly depending on
+the platform. For example, on Windows systems it should be
+`file:/C:/opt/tmp` and on UNIX—based systems it is `file://opt/tmp`.
+====
+
+
+This creates a resource adapter configuration with the name `genericra`,
+and Oracle recommends not changing the default name. The resource
+adapter configuration is configured with the properties specified using
+the `--properties` argument; multiple properties are configured as a
+colon-separated list of name-value pairs that are entered as a single
+line.
+
+In this example, the following properties are configured:
+
+
+[NOTE]
+====
+The tables in this section describe the GenericJMSRA properties that are
+relevant only when integrating with WebSphere MQ. For a complete list of
+properties, see the comprehensive table in link:#gbtvu[GenericJMSRA
+Configuration Properties].
+====
+
+
+[width="100%",cols="25%,45%,30%",options="header",]
+|===
+|Property Name |Required Value |Description
+|`SupportsXA`
+|`true`
+|Set the supports distributed transactions attribute to `true`.
+The level of transactional support the adapter provides
+-- none, local, or XA -- depends on the capabilities of the
+Enterprise Information System (EIS) being adapted. If an adapter
+supports XA transactions and this attribute is XA, the application can
+use distributed transactions to coordinate the EIS resource with JDBC
+and JMS resources.
+
+|`ProviderIntegrationMode`
+|`jndi`
+|Specifies that connection factories
+and destinations in GlassFish's JNDI store are configured to refer to
+connection factories and destinations in WebSphere MQ's JNDI store.
+
+|`JndiProperties`
+a|
+[source]
+----
+JndiProperties=java.naming.factory.url.pkgs\\=com.ibm.mq.jms.naming,
+java.naming.factory.initial\\=com.sun.jndi.fscontext.RefFSContextFactory,
+java.naming.provider.url\\=file\\:\\/\\/opt\\/tmp:LogLevel=finest genericra
+----
+|JNDI properties for connecting to WebSphere MQ's JNDI, specified as
+comma-separated list of name=value pairs without spaces.
+
+|`UserName`
+|`Name of the WebSphere MQ user`
+a|
+User name to connect to WebSphere MQ.
+The user name can be overridden in `ActivationSpec` and
+`ManagedConnection`. If no user name is specified anonymous connections
+will be used, if permitted.
+
+|`Password`
+|`Password for the WebSphere MQ user`
+a|
+Password to connect to WebSphere MQ.
+The password can be overridden in `ActivationSpec` and
+`ManagedConnection`.
+
+|`RMIPolicy`
+|`OnePerPhysicalConnection`
+a|
+Some XAResource implementations, such as WebSphere MQ, rely on a
+Resource Manager per Physical Connection, and this causes issues when
+there is inbound and outbound communication to the same queue manager in
+a single transaction (for example, when an MDB sends a response to a
+destination).
+
+When RMPolicy is set to `OnePerPhysicalConnection`, the XAResource
+wrapper implementation's `isSameRM` in GenericJMSRA would check if both
+the XAResources use the same physical connection, before delegating to
+the wrapped objects. Therefore, ensure that this attribute is set to
+`OnePerPhysicalConnection` if the application uses XA.
+
+|`LogLevel`
+|`Desired log level of JDK logger`
+|Used to specify the level of logging.
+|===
+
+
+
+[NOTE]
+====
+You must use the values for `SupportsXA`, `RMPolicy` and
+`ProviderIntegrationMode` as the required values that are used in this
+table.
+====
+
+
+[[gksnh]][[GSADG00685]][[deploy-the-genericjmsra-archive]]
+
+===== Deploy the GenericJMSRA Archive
+
+For instructions on downloading and deploying GenericJMSRA, see
+link:#gkkxz[Deploy the GenericJMSRA Resource Archive].
+
+[[gkson]][[GSADG00686]][[create-the-connection-factories-and-administered-objects-in-glassfish-server]]
+
+===== Create the Connection Factories and Administered Objects in {productName}
+
+In order to configure a JMS Connection Factory using GenericJMSRA, a
+Connector Connection Pool and resource needs to be created in {productName}, as described in this section.
+
+Using the example WebSphere MQ configuration in link:#gksli[Configure
+the WebSphere MQ Administered Objects], you will see `mypool` (pointing
+to `GenericJMSRA` and `QCF`) and `jms/MyQCF` (for `mypool`) created in
+{productName}.
+
+
+[NOTE]
+====
+If you want configure connections and destination resources using the
+Administration Console, this is explained in the Administration Console
+online help. When using Administration Console, following the,
+instructions for creating a new Connector Connection Pool and Admin
+Object Resources, and not the instructions for creating a JMS Connection
+Pool and Destination Resources. For more information about using
+`asadmin` to create these resources, see link:connectors.html#gioce[To
+Create a Connector Connection Pool] and link:connectors.html#giogt[To
+Create a Connector Resource].
+====
+
+
+[[gksro]][[GSADG00502]][[creating-connections-and-destinations]]
+
+Creating Connections and Destinations
+
+In order to configure a JMS Connection Factory, using GenericJMSRA, a
+Connector Connection Pool and Destination resources need to be created
+in {productName} using names that map to the corresponding connection
+and destination resources in WebSphere MQ. The connections and
+destination name in these steps map to the example WebSphere MQ
+configuration in link:#gksli[Configure the WebSphere MQ Administered
+Objects].
+
+1. Create connection pools that point to the connection pools in
+WebSphere MQ.
++
+The following `asadmin` command creates a Connection Pool called
+`mypool` and points to the `XAQCF` created in WebSphere MQ:
++
+[source]
+----
+     asadmin create-connector-connection-pool -- raname genericra connectiondefinition
+            jakarta.jms.QueueConnectionFactory --transactionsupport  XATransaction
+            --property ConnectionFactoryJndiName=QCF mypool
+----
+The following `asadmin` command creates a Connection Pool called
+`mypool2` and points to the `XATCF` created in WebSphere MQ:
++
+[source]
+----
+     asadmin create-connector-connection-pool
+            -- raname genericra connectiondefinition jakarta.jms.TopicConnectionFactory
+            --transactionsupport  XATransaction
+            --property ConnectionFactoryJndiName=XATCF mypool2
+----
+2. Create the connector resources.
++
+The following `asadmin` command creates a connector resource named
+`jms/MyQCF` and binds this resource to JNDI for applications to use:
++
+[source]
+----
+     asadmin create-connector-resource --poolname mypool jms/MyQCF
+----
+The following `asadmin` command creates a connector resource named
+`jms/MyTCF` and binds this resource to JNDI for applications to use:
++
+[source]
+----
+     asadmin create-connector-resource --poolname mypool2 jms/MyTCF
+----
+3. Create the JMS destination resources as administered objects.
++
+In the image above, `jms/MyQueue` (pointing to `GenericJMSRA` and
+`TQueue`) is created in {productName}.
++
+The following `asadmin` command creates a `jakarta.jms.Queue` administered
+object and binds it to the {productName} JNDI tree at `jms/MyQueue`
+and points to the `jms/TQueue` created in WebSphere MQ.
++
+[source]
+----
+     asadmin create-admin-object --raname genericra --restype jakarta.jms.Queue
+            --property DestinationJndiName=TQueue jms/MyQueue
+----
+The following `asadmin` command creates a `jakarta.jms.Topic` administered
+object and binds it to the {productName} JNDI tree at `jms/MyTopic`
+and points to the `jms/TTopic` created in WebSphere MQ.
++
+[source]
+----
+     asadmin create-admin-object --raname genericra --restype jakarta.jms.Topic
+            --property DestinationJndiName=TTopic jms/MyTopic
+----
+
+[[gktmn]][[GSADG00687]][[configuring-an-mdb-to-receive-messages-from-websphere-mq]]
+
+===== Configuring an MDB to Receive Messages from WebSphere MQ
+
+The administered object names in the sample deployment descriptor below
+map to the example WebSphere MQ configuration in link:#gksli[Configure
+the WebSphere MQ Administered Objects]. The deployment descriptors need
+to take into account the resource adapter and the connection resources
+that have been created. A sample `sun-ejb-jar.xml` for a Message Driven
+Bean that listens to a destination called `TQueue` in WebSphere MQ, and
+publishes back reply messages to a destination resource named
+`jms/replyQueue` in {productName}, as shown below.
+
+[source,xml]
+----
+       <sun-ejb-jar>
+         <enterprise-beans>
+         <unique-id.1</unique-id>
+         <ejb>
+            <ejb-name>SimpleMessageEJB</ejb-name>
+            <jndi-name>jms/SampleQueue</jndi-name>
+             <!-- QCF used to publish reply messages -->
+            <resource-ref>
+               <res-ref-name>jms/MyQueueConnectionFactory</res-ref-name>
+               <jndi-name>jms/MyQCF</jndi-name>
+               <default-resource-principal>
+                  <name>mqm</name>
+                  <password>mqm</password>
+               </default-resource-principal>
+            </resource-ref>
+            <!-- reply destination resource> Creating of this replyQueue destination resource is not
+                 shown above, but the steps are similar to creating the  "jms/MyQueue" resource -->
+            <resource-env-ref>
+               <resource-env-ref-name>jms/replyQueue</resource-env-ref-name>
+               <jndi-name>jms/replyQueue</jndi-name>
+            </resource-env-ref>
+
+            <!-- Activation related RA specific configuration for this MDB -->
+            <mdb-resource-adapter>
+            <!-- resource-adapter-mid points to the Generic Resource Adapter for JMS -->
+            <resource-adapter-mid>genericra</resource-adapter-mid>
+            <activation-config>
+               <activation-config-property>
+                  <activation-config-property-name>DestinationType</activation-config-property-name>
+                  <activation-config-property-value>javax>jms>Queue</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>ConnectionFactoryJndiName</activation-config-property-name>
+                  <activation-config-property-value>QCF</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>DestinationJndiName</activation-config-property-name>
+                  <activation-config-property-value>TQueue</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>MaxPoolSize</activation-config-property-name>
+                  <activation-config-property-value>32</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>RedeliveryAttempts</activation-config-property-name>
+                  <activation-config-property-value>0</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>ReconnectAttempts</activation-config-property-name>
+                  <activation-config-property-value>4</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>ReconnectInterval</activation-config-property-name>
+                  <activation-config-property-value>10</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>RedeliveryInterval</activation-config-property-name>
+                  <activation-config-property-value>1</activation-config-property-value>
+               </activation-config-property>
+               <activation-config-property>
+                  <activation-config-property-name>SendBadMessagesToDMD</activation-config-property-name>
+                  <activation-config-property-value>false</activation-config-property-value>
+               </activation-config-property>
+            </activation-config>
+          </mdb-resource-adapter>
+          </ejb>
+          </enterprise-beans>
+       </sun-ejb-jar>
+----
+
+The business logic encoded in Message Driven Bean could then lookup the
+configured `QueueConnectionFactory/Destination` resource to create a
+connection as shown below.
+
+[source,java]
+----
+             Context context = null;
+             ConnectionFactory connectionFactory = null;
+             logger.info("In PublisherBean>ejbCreate()");
+             try {
+                 context = new InitialContext();
+                 queue = (javax.jms.Queue) context.lookup ("java:comp/env/jms/replyQueue");
+                 connectionFactory = (ConnectionFactory) context>lookup("java:comp/env/jms/MyQueueConnectionFactory");
+                 connection = connectionFactory>createConnection();
+             } catch (Throwable t) {
+                 logger.severe("PublisherBean>ejbCreate:" + "Exception: " + t.toString());
+             }
+----
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/jndi.adoc b/docs/administration-guide/src/main/asciidoc/jndi.adoc
new file mode 100644
index 0000000..ffa5968
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/jndi.adoc
@@ -0,0 +1,545 @@
+type=page
+status=published
+title=Administering the Java Naming and Directory Interface (JNDI) Service
+next=transactions.html
+prev=jms.html
+~~~~~~
+
+= Administering the Java Naming and Directory Interface (JNDI) Service
+
+[[GSADG00021]][[ablky]]
+
+
+[[administering-the-java-naming-and-directory-interface-jndi-service]]
+== 18 Administering the Java Naming and Directory Interface (JNDI) Service
+
+The Java Naming and Directory Interface (JNDI) API is used for accessing
+different kinds of naming and directory services. Jakarta EE components
+locate objects by invoking the JNDI lookup method.
+
+The following topics are addressed here:
+
+* link:#ggjue[About JNDI]
+* link:#gglpq[Administering JNDI Resources]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[ggjue]][[GSADG00603]][[about-jndi]]
+
+=== About JNDI
+
+By making calls to the JNDI API, applications locate resources and other
+program objects. A resource is a program object that provides
+connections to systems, such as database servers and messaging systems.
+A JDBC resource is sometimes referred to as a data source. Each resource
+object is identified by a unique, people-friendly name, called the JNDI
+name. A resource object and its JNDI name are bound together by the
+naming and directory service, which is included with the {productName}.
+
+When a new name-object binding is entered into the JNDI, a new resource
+is created.
+
+The following topics are addressed here:
+
+* link:#abllb[Jakarta EE Naming Environment]
+* link:#gglpg[How the Naming Environment and the Container Work
+Together]
+* link:#abllc[Naming References and Binding Information]
+
+[[abllb]][[GSADG00780]][[java-ee-naming-environment]]
+
+==== Jakarta EE Naming Environment
+
+JNDI names are bound to their objects by the naming and directory
+service that is provided by a Jakarta EE server. Because Jakarta EE components
+access this service through the JNDI API, the object usually uses its
+JNDI name. For example, the JNDI name of the Apache Derby database is
+`jdbc/_default`. At startup, the {productName} reads information from
+the configuration file and automatically adds JNDI database names to the
+name space, one of which is `jdbc/_default`.
+
+Jakarta EE application clients, enterprise beans, and web components must
+have access to a JNDI naming environment.
+
+The application component's naming environment is the mechanism that
+allows customization of the application component's business logic
+during deployment or assembly. This environment allows you to customize
+the application component without needing to access or change the source
+code off the component. A Jakarta EE container implements the provides the
+environment to the application component instance as a JNDI naming
+context.
+
+[[gglpg]][[GSADG00781]][[how-the-naming-environment-and-the-container-work-together]]
+
+==== How the Naming Environment and the Container Work Together
+
+The application component's environment is used as follows:
+
+* The application component's business methods access the environment
+using the JNDI interfaces. In the deployment descriptor, the application
+component provider declares all the environment entries that the
+application component expects to be provided in its environment at
+runtime.
+* The container provides an implementation of the JNDI naming context
+that stores the application component environment. The container also
+provides the tools that allow the deployer to create and manage the
+environment of each application component.
+* A deployer uses the tools provided by the container to initialize the
+environment entries that are declared in the application component's
+deployment descriptor. The deployer sets and modifies the values of the
+environment entries.
+* The container makes the JNDI context available to the application
+component instances at runtime. These instances use the JNDI interfaces
+to obtain the values of the environment entries.
+
+Each application component defines its own set of environment entries.
+All instances of an application component within the same container
+share the same environment entries. Application component instances are
+not allowed to modify the environment at runtime.
+
+[[abllc]][[GSADG00782]][[naming-references-and-binding-information]]
+
+==== Naming References and Binding Information
+
+A resource reference is an element in a deployment descriptor that
+identifies the component's coded name for the resource. For example,
+`jdbc/SavingsAccountDB`. More specifically, the coded name references a
+connection factory for the resource.
+
+The JNDI name of a resource and the resource reference name are not the
+same. This approach to naming requires that you map the two names before
+deployment, but it also decouples components from resources. Because of
+this decoupling, if at a later time the component needs to access a
+different resource, the name does not need to change. This flexibility
+makes it easier for you to assemble Jakarta EE applications from
+preexisting components.
+
+The following table lists JNDI lookups and their associated resource
+references for the Jakarta EE resources used by the {productName}.
+
+[[GSADG1029]][[sthref87]][[fxizy]]
+
+
+Table 18-1 JNDI Lookup Names and Their Associated References
+
+[width="100%",cols="38%,62%",options="header",]
+|===
+|JNDI Lookup Name |Associated Resource Reference
+|`java:comp/env` |Application environment entries
+
+|`java:comp/env/jdbc` |JDBC DataSource resource manager connection
+factories
+
+|`java:comp/env/ejb` |EJB References
+
+|`java:comp/UserTransaction` |UserTransaction references
+
+|`java:comp/env/mail` |JavaMail Session Connection Factories
+
+|`java:comp/env/url` |URL Connection Factories
+
+|`java:comp/env/jms` |JMS Connection Factories and Destinations
+
+|`java:comp/ORB` |ORB instance shared across application components
+|===
+
+
+[[gglpq]][[GSADG00604]][[administering-jndi-resources]]
+
+=== Administering JNDI Resources
+
+Within {productName}, you can configure your environment for custom
+and external JNDI resources. A custom resource accesses a local JNDI
+repository; an external resource accesses an external JNDI repository.
+Both types of resources need user-specified factory class elements, JNDI
+name attributes, and so on.
+
+* link:#ablle[Administering Custom JNDI Resources]
+* link:#gitxz[Administering External JNDI Resources]
+
+[[ablle]][[GSADG00783]][[administering-custom-jndi-resources]]
+
+==== Administering Custom JNDI Resources
+
+A custom resource specifies a custom server-wide resource object factory
+that implements the `javax.naming.spi.ObjectFactory` interface.
+
+The following topics are addressed here:
+
+* link:#giowe[To Create a Custom JNDI Resource]
+* link:#gioxb[To List Custom JNDI Resources]
+* link:#giwlk[To Update a Custom JNDI Resource]
+* link:#gioxl[To Delete a Custom JNDI Resource]
+
+[[giowe]][[GSADG00503]][[to-create-a-custom-jndi-resource]]
+
+===== To Create a Custom JNDI Resource
+
+Use the `create-custom-resource` subcommand in remote mode to create a
+custom resource.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a custom resource by using the
+link:reference-manual/create-custom-resource.html#GSRFM00022[`create-custom-resource`] subcommand.
++
+Information on properties for the subcommand is contained in this help
+page.
+3. Restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00284]][[gioyi]]
+Example 18-1 Creating a Custom Resource
+
+This example creates a custom resource named `sample-custom-resource`.
+
+[source]
+----
+asadmin> create-custom-resource --restype topic --factoryclass com.imq.topic
+sample_custom_resource
+Command create-custom-resource executed successfully.
+----
+
+[[GSADG1030]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-custom-resource` at the command line.
+
+[[gioxb]][[GSADG00504]][[to-list-custom-jndi-resources]]
+
+===== To List Custom JNDI Resources
+
+Use the `list-custom-resources` subcommand in remote mode to list the
+existing custom resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the custom resources by using the
+link:reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`] subcommand.
+
+[[GSADG00285]][[gioyr]]
+Example 18-2 Listing Custom Resources
+
+This example lists the existing custom resources.
+
+[source]
+----
+asadmin> list-custom-resources
+sample_custom_resource01
+sample_custom_resource02
+Command list-custom-resources executed successfully
+----
+
+[[GSADG1031]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-custom-resources` at the command line.
+
+[[giwlk]][[GSADG00505]][[to-update-a-custom-jndi-resource]]
+
+===== To Update a Custom JNDI Resource
+
+1. List the custom resources by using the
+link:reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`] subcommand.
+2. Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to modify a custom JNDI
+resource.
+
+[[GSADG00286]][[giwkg]]
+Example 18-3 Updating a Custom JNDI Resource
+
+This example modifies a custom resource.
+
+[source]
+----
+asadmin> set server.resources.custom-resource.custom
+/my-custom-resource.property.value=2010server.resources.custom-resource.custom
+/my-custom-resource.property.value=2010
+----
+
+[[gioxl]][[GSADG00506]][[to-delete-a-custom-jndi-resource]]
+
+===== To Delete a Custom JNDI Resource
+
+Use the `delete-custom-resource` subcommand in remote mode to delete a
+custom resource.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the custom resources by using the
+link:reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`] subcommand.
+3. Delete a custom resource by using the
+link:reference-manual/delete-custom-resource.html#GSRFM00074[`delete-custom-resource`] subcommand.
+
+[[GSADG00287]][[gioxh]]
+Example 18-4 Deleting a Custom Resource
+
+This example deletes a custom resource named `sample-custom-resource`.
+
+[source]
+----
+asadmin> delete-custom-resource sample_custom_resource
+Command delete-custom-resource executed successfully.
+----
+
+[[GSADG1032]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-custom-resource` at the command line.
+
+[[gitxz]][[GSADG00784]][[administering-external-jndi-resources]]
+
+==== Administering External JNDI Resources
+
+Applications running on {productName} often require access to
+resources stored in an external JNDI repository. For example, generic
+Java objects might be stored in an LDAP server according to the Java
+schema. External JNDI resource elements let you configure such external
+resource repositories.
+
+The following topics are addressed here:
+
+* link:#gitxn[To Register an External JNDI Resource]
+* link:#gitvj[To List External JNDI Resources]
+* link:#gitwc[To List External JNDI Entries]
+* link:#giwnr[To Update an External JNDI Resource]
+* link:#gitvt[To Delete an External JNDI Resource]
+* link:#abllk[Example of Using an External JNDI Resource]
+* link:#gknaf[To Disable {productName} v2 Vendor-Specific JNDI Names]
+
+[[gitxn]][[GSADG00507]][[to-register-an-external-jndi-resource]]
+
+===== To Register an External JNDI Resource
+
+Use the `create-jndi-resource` subcommand in remote mode to register an
+external JNDI resource.
+
+[[GSADG1033]]
+
+Before You Begin
+
+The external JNDI factory must implement the
+`javax.naming.spi.InitialContextFactory` interface.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Register an external JNDI resource by using the
+link:reference-manual/create-jndi-resource.html#GSRFM00041[`create-jndi-resource`] subcommand.
++
+Information on properties for the subcommand is contained in this help
+page.
+3. Restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00288]][[giwcx]]
+Example 18-5 Registering an External JNDI Resource
+
+In This example `sample_jndi_resource` is registered.
+
+[source]
+----
+asadmin> create-jndi-resource --jndilookupname sample_jndi
+--restype queue --factoryclass sampleClass --description "this is a sample jndi
+resource" sample_jndi_resource
+Command create-jndi-resource executed successfully
+----
+
+[[GSADG1034]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-jndi-resource` at the command line.
+
+[[gitvj]][[GSADG00508]][[to-list-external-jndi-resources]]
+
+===== To List External JNDI Resources
+
+Use the `list-jndi-resources` subcommand in remote mode to list all
+existing JNDI resources.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the existing JNDI resources by using
+theolink:GSRFM00179[`list-jndi-resources`] subcommand.
+
+[[GSADG00289]][[giwbe]]
+Example 18-6 Listing JNDI Resources
+
+This example lists the JNDI resources.
+
+[source]
+----
+asadmin> list-jndi-resources
+jndi_resource1
+jndi_resource2
+jndi_resource3
+Command list-jndi-resources executed successfully
+----
+
+[[GSADG1035]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-jndi-resources` at the command line.
+
+[[gitwc]][[GSADG00509]][[to-list-external-jndi-entries]]
+
+===== To List External JNDI Entries
+
+Use the `list-jndi-entries` subcommand in remote mode to browse and list
+the entries in the JNDI tree. You can either list all entries, or you
+can specify the JNDI context or subcontext to list specific entries.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the JNDI entries for a configuration by using the
+link:reference-manual/list-jndi-entries.html#GSRFM00178[`list-jndi-entries`] subcommand.
+
+[[GSADG00290]][[giwal]]
+Example 18-7 Listing JNDI Entries
+
+This example lists all the JNDI entries for the naming service.
+
+[source]
+----
+asadmin> list-jndi-entries
+jndi_entry03
+jndi_entry72
+jndi_entry76
+Command list-jndi-resources executed successfully
+----
+
+[[GSADG1036]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-jndi-entries` at the command line.
+
+[[giwnr]][[GSADG00510]][[to-update-an-external-jndi-resource]]
+
+===== To Update an External JNDI Resource
+
+1. List the existing JNDI resources by using
+theolink:GSRFM00179[`list-jndi-resources`] subcommand.
+2. Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to modify an external
+JNDI resource.
+
+[[GSADG00291]][[giwoa]]
+Example 18-8 Updating an External JNDI Resource
+
+This example modifies an external resource.
+
+[source]
+----
+asadmin> set server.resources.external-jndi-resource.my-jndi-resource.
+jndi-lookup-name=bar server.resources.external-jndi-resource.my-jndi-resource.jndi-lookup-name=bar
+----
+
+[[gitvt]][[GSADG00511]][[to-delete-an-external-jndi-resource]]
+
+===== To Delete an External JNDI Resource
+
+Use the `delete-jndi-resource` subcommand in remote mode to remove a
+JNDI resource.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Remove an external JNDI entry by using the
+link:reference-manual/delete-jndi-resource.html#GSRFM00093[`delete-jndi-resource`] subcommand.
+
+[[GSADG00292]][[giwby]]
+Example 18-9 Deleting an External JNDI Resource
+
+This example deletes an external JNDI resource:
+
+[source]
+----
+asadmin> delete-jndi-resource jndi_resource2
+Command delete-jndi-resource executed successfully.
+----
+
+[[GSADG1037]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-jndi-resource` at the command line.
+
+[[abllk]][[GSADG00688]][[example-of-using-an-external-jndi-resource]]
+
+===== Example of Using an External JNDI Resource
+
+[source,xml]
+----
+<resources>
+ <!-- external-jndi-resource element specifies how to access Jakarta EE resources
+ -- stored in an external JNDI repository. This example
+ -- illustrates how to access a java object stored in LDAP.
+ -- factory-class element specifies the JNDI InitialContext factory that
+ -- needs to be used to access the resource factory. property element
+ -- corresponds to the environment applicable to the external JNDI context
+ -- and jndi-lookup-name refers to the JNDI name to lookup to fetch the
+ -- designated (in this case the java) object.
+ -->
+  <external-jndi-resource jndi-name="test/myBean"
+      jndi-lookup-name="cn=myBean"
+      res-type="test.myBean"
+      factory-class="com.sun.jndi.ldap.LdapCtxFactory">
+    <property name="PROVIDER-URL" value="ldap://ldapserver:389/o=myObjects" />
+    <property name="SECURITY_AUTHENTICATION" value="simple" />
+    <property name="SECURITY_PRINCIPAL", value="cn=joeSmith, o=Engineering" />
+    <property name="SECURITY_CREDENTIALS" value="changeit" />
+  </external-jndi-resource>
+</resources>
+----
+
+[[gknaf]][[GSADG00512]][[to-disable-glassfish-server-v2-vendor-specific-jndi-names]]
+
+===== To Disable {productName} v2 Vendor-Specific JNDI Names
+
+The EJB 3.1 specification supported by {productName} 7 defines
+portable EJB JNDI names. Because of this, there is less need to continue
+to use older vendor-specific JNDI names.
+
+By default, {productName} v2-specific JNDI names are applied
+automatically by {productName} 7 for backward compatibility.
+However, this can lead to some ease-of-use issues. For example,
+deploying two different applications containing a Remote EJB component
+that exposes the same remote interface causes a conflict between the
+default JNDI names.
+
+The default handling of v2-specific JNDI names in {productName} 7
+can be managed with the `asadmin` command or with the
+`disable-nonportable-jndi-names` boolean property for the
+`ejb-container` element in `glassfish-ejb-jar.xml`.
+
+Use the `asadmin` command or directly modify the `glassfish-ejb-jar.xml`
+file to set the `disable-nonportable-jndi-names` property.
+
+* Using the `asadmin` command:
++
+[source]
+----
+asadmin> set server.ejb-container.property.disable-nonportable-jndi-names="true"
+----
+* Directly modifying the `glassfish-ejb-jar.xml` file.
+1. Add the `disable-nonportable-jndi-names` property to the
+`ejb-container` element in `glassfish-ejb-jar.xml`.
+2. Set the value of the `disable-nonportable-jndi-names` boolean, as
+desired.
++
+`false` - Enables the automatic use of {productName} v2-specific JNDI
+names. This is the default setting.
++
+`true` - Disables the automatic use of v2-specific JNDI names. In all
+cases, 5.0-compatible JNDI names will be used.
+3. Save the `glassfish-ejb-jar.xml` file and restart the {productName} domain.
++
+This setting applies to all EJBs deployed to the server.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/jvm.adoc b/docs/administration-guide/src/main/asciidoc/jvm.adoc
new file mode 100644
index 0000000..88439d9
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/jvm.adoc
@@ -0,0 +1,326 @@
+type=page
+status=published
+title=Administering the Virtual Machine for the Java Platform
+next=threadpools.html
+prev=domains.html
+~~~~~~
+
+= Administering the Virtual Machine for the Java Platform
+
+[[GSADG00007]][[ablwj]]
+
+
+[[administering-the-virtual-machine-for-the-java-platform]]
+== 4 Administering the Virtual Machine for the Java Platform
+
+This chapter provides procedures for administering the Virtual Machine
+for the Java platform (Java Virtual Machine) or JVM machine) in the
+{productName} 7 environment by using the
+`asadmin` command-line utility.
+
+The following topics are addressed here:
+
+* link:#gepzd[Administering JVM Options]
+* link:#ggnde[Administering the Profiler]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[[gepzd]][[GSADG00544]][[administering-jvm-options]]
+
+=== Administering JVM Options
+
+The Java Virtual Machine is an interpretive computing engine responsible
+for running the byte codes in a compiled Java program. The virtual
+machine translates the Java byte codes into the native instructions of
+the host machine. {productName}, being a Java process, requires a
+virtual machine to run and support the Java applications running on it.
+JVM settings are part of an {productName} configuration.
+
+The following topics are addressed here:
+
+* link:#ggnes[To Create JVM Options]
+* link:#ggnce[To List JVM Options]
+* link:#ggnfi[To Delete JVM Options]
+* link:#ggnbu[To Generate a JVM Report]
+
+[[ggnes]][[GSADG00359]][[to-create-jvm-options]]
+
+==== To Create JVM Options
+
+Use the `create-jvm-options` subcommand in remote mode to create JVM
+options in the Java configuration or the profiler elements of the
+`domain.xml` file. If JVM options are created for a profiler, these
+options are used to record the settings that initiate the profiler.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create JVM options by using the
+link:reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`] subcommand.
++
+To create more than one JVM option, use a colon (:) to separate the
+options. If the JVM option itself contains a colon (:), use the
+backslash (\) to offset the colon delimiter.
++
+Information about properties for the subcommand is included in this help
+page.
+3. To apply your changes, restart {productName}. See
+link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00154]][[ghqwm]]
+Example 4-1 Creating JVM Options
+
+This example sets multiple Java system properties.
+
+[source]
+----
+asadmin> create-jvm-options -Dunixlocation=/root/example:
+-Dvariable=\$HOME:
+-Dwindowslocation=d\\:\\\sun\\\appserver:
+-Doption1=-value1
+created 4 option(s)
+Command create-jvm-options executed successfully.
+----
+
+[[GSADG847]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-jvm-options` at the command line.
+
+[[ggnce]][[GSADG00360]][[to-list-jvm-options]]
+
+==== To List JVM Options
+
+Use the `list-jvm-options` subcommand in remote mode to list the
+existing JVM options.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List JVM options by using the link:reference-manual/list-jvm-options.html#GSRFM00180[`list-jvm-options`]
+subcommand.
+
+[[GSADG00155]][[ggphx]]
+Example 4-2 Listing JVM Options
+
+This example lists all JVM options.
+
+[source]
+----
+asadmin> list-jvm-options
+-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf
+-XX: LogVMOutput
+-XX: UnlockDiagnosticVMOptions
+-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.
+config.serverbeans.AppserverConfigEnvironmentFactory
+-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks
+-XX:NewRatio=2
+-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy
+-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
+-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks
+-client
+-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.ja
+vaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext${path.se
+parator}${com.sun.aas.derbyRoot}/lib
+-Xmx512m
+-XX:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log
+Command list-jvm-options executed successfully.
+----
+
+[[GSADG848]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-jvm-options` at the command line.
+
+[[ggnfi]][[GSADG00361]][[to-delete-jvm-options]]
+
+==== To Delete JVM Options
+
+Use the `delete-jvm-options` subcommand in remote mode to delete JVM
+options from the Java configuration or profiler elements of the
+`domain.xml` file.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List JVM options by using the link:reference-manual/list-jvm-options.html#GSRFM00180[`list-jvm-options`]
+subcommand.
+3. If necessary, notify users that the JVM option is being deleted.
+4. Delete JVM options by using the
+link:reference-manual/delete-jvm-options.html#GSRFM00094[`delete-jvm-options`] subcommand.
++
+To remove more than one JVM option, use a colon (:) to separate the
+options. If the JVM option itself contains a colon, use the backslash
+(\) to offset the colon delimiter.
+5. To apply your changes, restart {productName}. See
+link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00156]][[ggpgz]]
+Example 4-3 Deleting a JVM Option
+
+This example removes a single JVM option.
+
+[source]
+----
+asadmin> delete-jvm-options -Dopt1=A
+
+deleted 1 option(s)
+Command delete-jvm-options executed successfully.
+----
+
+[[GSADG00157]][[ggpkr]]
+Example 4-4 Deleting Multiple JVM Options
+
+This example removes multiple JVM options.
+
+[source]
+----
+asadmin> delete-jvm-options -Doption1=-value1:-Dvariable=\$HOME
+deleted 2 option(s)
+Command delete-jvm-options executed successfully.
+----
+
+[[GSADG849]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-jvm-options` at the command line.
+
+[[ggnbu]][[GSADG00362]][[to-generate-a-jvm-report]]
+
+==== To Generate a JVM Report
+
+Use the `generate-jvm-report` subcommand in remote mode to generate a
+JVM report showing the threads (dump of a stack trace), classes, memory,
+and loggers for a specified instance, including the domain
+administration server (DAS). You can generate the following types of
+reports: summary (default), class, thread, log.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Generate the report by using the
+link:reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`] subcommand.
+
+[[GSADG00158]][[ghhkr]]
+Example 4-5 Generating a JVM Report
+
+This example displays summary information about the threads, classes,
+and memory.
+
+[source]
+----
+asadmin> generate-jvm-report --type summary
+Operating System Information:
+Name of the Operating System: Windows XP
+Binary Architecture name of the Operating System: x86, Version: 5.1
+Number of processors available on the Operating System: 2
+System load on the available processors for the last minute: NOT_AVAILABLE.
+(Sum of running and queued runnable entities per minute).
+.
+,
+.
+user.home = C:\Documents and Settings\Jennifer
+user.language = en
+user.name = Jennifer
+user.timezone = America/New_York
+user.variant =
+variable = \$HOME
+web.home = C:\Preview\v3_Preview_release\distributions\web\target\
+glassfish\modules\web
+Command generate-jvm-report executed successfully.
+----
+
+[[GSADG850]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help generate-jvm-report` at the command line.
+
+[[ggnde]][[GSADG00545]][[administering-the-profiler]]
+
+=== Administering the Profiler
+
+A profiler generates information used to analyze server performance.
+
+The following topics are addressed here:
+
+* link:#ggneb[To Create a Profiler]
+* link:#ggnem[To Delete a Profiler]
+
+[[ggneb]][[GSADG00363]][[to-create-a-profiler]]
+
+==== To Create a Profiler
+
+A server instance is tied to a particular profiler by the profiler
+element in the Java configuration. If JVM options are created for a
+profiler, the options are used to record the settings needed to activate
+a particular profiler. Use the `create-profiler` subcommand in remote
+mode to create the profiler element in the Java configuration.
+
+Only one profiler can exist. If a profiler already exists, you receive
+an error message that directs you to delete the existing profiler before
+creating a new one.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a profiler by using the link:reference-manual/create-profiler.html#GSRFM00050[`create-profiler`]
+subcommand.
++
+Information about properties for the subcommand is included in this help
+page.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00159]][[ggpla]]
+Example 4-6 Creating a Profiler
+
+This example creates a profiler named `sample_profiler`.
+
+[source]
+----
+asadmin> create-profiler --classpath=/home/appserver/ --nativelibrarypath=/u/home/lib
+--enabled=false --property=defaultuser=admin:password=adminadmin sample_profiler
+Command create-profiler executed successfully.
+----
+
+[[GSADG851]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-profiler` at the command line.
+
+[[ggnem]][[GSADG00365]][[to-delete-a-profiler]]
+
+==== To Delete a Profiler
+
+Use the `delete-profiler` subcommand in remote mode to delete the
+profiler element from the Java configuration. You can then create a new
+profiler.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Delete the profiler by using the link:reference-manual/delete-profiler.html#GSRFM00102[`delete-profiler`]
+subcommand.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00161]][[ggpkc]]
+Example 4-7 Deleting a Profiler
+
+This example deletes the profiler named `sample_profiler`.
+
+[source]
+----
+asadmin> delete-profiler sample_profiler
+Command delete-profiler executed successfully.
+----
+
+[[GSADG852]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-profiler` at the command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/lifecycle-modules.adoc b/docs/administration-guide/src/main/asciidoc/lifecycle-modules.adoc
new file mode 100644
index 0000000..1624509
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/lifecycle-modules.adoc
@@ -0,0 +1,228 @@
+type=page
+status=published
+title=Administering Life Cycle Modules
+next=batch.html
+prev=monitoring.html
+~~~~~~
+
+= Administering Life Cycle Modules
+
+[[GSADG00013]][[giury]]
+
+
+[[administering-life-cycle-modules]]
+== 9 Administering Life Cycle Modules
+
+This chapter provides procedures for administering life cycle modules in
+the {productName} 7 environment.
+
+The following topics are addressed here:
+
+* link:#giuxo[About Life Cycle Modules]
+* link:#giuue[Configuring Life Cycle Modules]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[giuxo]][[GSADG00566]][[about-life-cycle-modules]]
+
+=== About Life Cycle Modules
+
+Life cycle modules, also known as initialization services, provide a
+means of running short or long duration Java-based tasks within the
+{productName} environment. These modules are automatically initiated
+at server startup and are notified at various phases of the server life
+cycle. Configured properties for a life cycle module are passed as
+properties during server initialization.
+
+All life cycle module classes and interfaces are in the
+as-install``/modules/glassfish-api.jar`` file.
+
+A life cycle module listens for and performs its tasks in response to
+the following {productName} sequence of events:
+
+1. Initialization. The server reads the configuration, initializes
+built-in subsystems (such as security and logging services), and creates
+the containers.
+2. Startup. The server loads and initializes deployed applications.
+3. Ready. The server begins servicing requests.
+4. Shutdown. The server shuts down the applications and stops.
+5. Termination. The server closes the containers, the built-in
+subsystems, and the server runtime environment.
+
+These events are defined in the `LifecycleEvent` class. For information
+on creating life cycle modules, see "link:application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing
+Lifecycle Listeners]" in {productName}
+Application Development Guide.
+
+
+[NOTE]
+====
+If the `is-failure-fatal` setting is set to true (the default is false),
+life cycle module failure prevents server initialization or startup, but
+not shutdown or termination.
+====
+
+
+[[giuue]][[GSADG00567]][[configuring-life-cycle-modules]]
+
+=== Configuring Life Cycle Modules
+
+The following topics are addressed here:
+
+* link:#giuus[To Create a Life Cycle Module]
+* link:#giuvh[To List Life Cycle Modules]
+* link:#giuyh[To Update a Life Cycle Module]
+* link:#giuux[To Delete a Life Cycle Module]
+
+[[giuus]][[GSADG00399]][[to-create-a-life-cycle-module]]
+
+==== To Create a Life Cycle Module
+
+Use the `create-lifecycle-module` subcommand in remote mode to create a
+life cycle module.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a new life cycle modules by using the
+link:reference-manual/create-lifecycle-module.html#GSRFM00043[`create-lifecycle-module`] subcommand.
++
+Information about options and properties for the subcommand are included
+in this help page.
+3. Restart the server for your changes to take effect.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00206]][[giuyo]]
+Example 9-1 Creating a Life Cycle Module
+
+This example creates the `customSetup` life cycle module :
+
+[source]
+----
+asadmin> create-lifecycle-module --classname "com.acme.CustomSetup"
+--classpath "/export/customSetup" --loadorder 1 --failurefatal=true
+--description "this is a sample customSetup"
+--property rmi="Server\=acme1\:7070":timeout=30 customSetup
+Command create-lifecycle-module executed successfully
+----
+
+[[GSADG927]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-lifecycle-module` at the command line.
+
+[[giuvh]][[GSADG00400]][[to-list-life-cycle-modules]]
+
+==== To List Life Cycle Modules
+
+Use the `list-lifecycle-modules` subcommand in remote mode to list the
+existing life cycle modules.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List life cycle modules by using the
+link:reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`] subcommand.
+
+[[GSADG00207]][[giuyr]]
+Example 9-2 Listing Life Cycle Modules
+
+This example lists the existing life cycle modules.
+
+[source]
+----
+asadmin> list-lifecycle-modules
+WSTCPConnectorLCModule
+Command list-lifecycle-modules executed successfully
+----
+
+[[GSADG928]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-lifecycle-modules` at the command line.
+
+[[giuyh]][[GSADG00401]][[to-update-a-life-cycle-module]]
+
+==== To Update a Life Cycle Module
+
+Use the `set` subcommand to update an existing life cycle module.
+
+1. List the properties that can be updated for a life cycle module by
+using the link:reference-manual/get.html#GSRFM00139[`get`] subcommand.
++
+For example (single mode):
++
+[source]
+----
+asadmin get "*" | grep sampleLCM
+applications.application.sampleLCMmodule.availability-enabled=false
+applications.application.sampleLCMmodule.directory-deployed=false
+applications.application.sampleLCMmodule.enabled=true
+applications.application.sampleLCMmodule.name=sampleLCMmodule
+applications.application.sampleLCMmodule.object-type=user
+applications.application.sampleLCMmodule.property.class-name=example.lc.SampleModule
+applications.application.sampleLCMmodule.property.classpath=/build/lcm.jar
+applications.application.sampleLCMmodule.property.is-failure-fatal=false
+applications.application.sampleLCMmodule.property.isLifecycle=true
+----
+2. Update a life cycle module by using the olink:GSRFM00226[`set`]
+subcommand.
+3. Restart the server for your changes to take effect.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00208]][[giuyq]]
+Example 9-3 Updating a Life Cycle Module
+
+This example updates the `classpath` property.
+
+[source]
+----
+sadmin> set applications.application.sampleLCMmodule.
+property.classpath=/build/lcm_new.jarapplications.application.
+sampleLCMmodule.property.classpath=/build/lcm_new.jar
+Command set executed successfully.
+----
+
+[[GSADG929]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help set` at the command line.
+
+[[giuux]][[GSADG00402]][[to-delete-a-life-cycle-module]]
+
+==== To Delete a Life Cycle Module
+
+Use the `delete-lifecycle-module` subcommand in remote mode to delete a
+life cycle module.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the current life cycle modules by using the
+link:reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`] subcommand.
+3. Delete a life cycle module by using the
+link:reference-manual/delete-lifecycle-module.html#GSRFM00095[`delete-lifecycle-module`] subcommand.
+
+[[GSADG00209]][[giuyi]]
+Example 9-4 Deleting a Life Cycle Module
+
+This example deletes the `customSetup` life cycle module.
+
+[source]
+----
+asadmin> delete-lifecycle-module customSetup
+Command delete-lifecycle-module executed successfully
+----
+
+[[GSADG930]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-lifecycle-module` at the command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/loe.adoc b/docs/administration-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..d53fcec
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,281 @@
+type=page
+status=published
+title=List of Examples
+next=lof.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:overview.html#gkvay[1-1 Determining if the DAS Requires Restart]
+* link:overview.html#gkvba[1-2 Determining if an Instance Requires
+Restart]
+* link:overview.html#sthref5[1-3 Listing Apache Felix Gogo Remote Shell
+Commands]
+* link:overview.html#sthref6[1-4 Running a Remote Shell Command]
+* link:overview.html#gjkrh[1-5 Determining the Services That an OSGi
+Bundle Provides]
+* link:general-administration.html#giwdr[2-1 Running an asadmin Utility
+Subcommand in Single Mode]
+* link:general-administration.html#giwbf[2-2 Specifying an asadmin
+Utility Option With a Subcommand in Single Mode]
+* link:general-administration.html#ghvyk[2-3 Specifying an asadmin
+Utility Option and a Subcommand Option in Single Mode]
+* link:general-administration.html#giwgs[2-4 Displaying Help Information
+for the asadmin Utility]
+* link:general-administration.html#giusg[2-5 Displaying Help Information
+for an asadmin Utility Subcommand]
+* link:general-administration.html#givuq[2-6 Starting a Multimode Session
+With asadmin Utility Options]
+* link:general-administration.html#giwgh[2-7 Starting a Multimode Session
+by Using the multimode Subcommand]
+* link:general-administration.html#ghvzc[2-8 Running a Subcommand in a
+Multimode Session]
+* link:general-administration.html#givul[2-9 Running a Set of asadmin
+Subcommands From a File]
+* link:general-administration.html#sthref7[2-10 Using the --detach Option
+in Single Mode]
+* link:general-administration.html#sthref8[2-11 Using the --detach Option
+in Multimode]
+* link:general-administration.html#sthref9[2-12 Listing Jobs]
+* link:general-administration.html#sthref10[2-13 Attaching to a
+Subcommand and Checking Its Status]
+* link:general-administration.html#sthref11[2-14 Configuring Managed
+Jobs]
+* link:general-administration.html#ggovp[2-15 Creating a System Property]
+* link:general-administration.html#ggopn[2-16 Listing System Properties]
+* link:general-administration.html#ggoph[2-17 Deleting a System Property]
+* link:general-administration.html#sthref12[2-18 Adding Module
+Configuration to domain.xml]
+* link:general-administration.html#sthref13[2-19 Removing Module
+Configuration From domain.xml]
+* link:general-administration.html#sthref14[2-20 Displaying the Current
+Active Configuration of a Module]
+* link:general-administration.html#ggozc[2-21 Adding Resources]
+* link:general-administration.html#ghjnb[2-22 Displaying Version
+Information]
+* link:general-administration.html#ggouk[2-23 Listing Applications]
+* link:general-administration.html#ggown[2-24 Listing Containers]
+* link:general-administration.html#ghlfw[2-25 Listing Modules]
+* link:general-administration.html#ggpdl[2-26 Listing Subcommands]
+* link:general-administration.html#giojj[2-27 Listing Timers]
+* link:general-administration.html#gjhkk[2-28 Showing Status of a
+Component]
+* link:general-administration.html#gjjdi[2-29 Determining the Methods and
+Method Parameters That an Object in the Tree Supports]
+* link:general-administration.html#gjjed[2-30 Retrieving Data for an
+Object in the Tree]
+* link:general-administration.html#gjjen[2-31 Adding an Object to the
+Tree]
+* link:general-administration.html#gjjhd[2-32 Updating an Object in the
+Tree]
+* link:general-administration.html#gjjgp[2-33 Deleting an Object From the
+Tree]
+* link:domains.html#ggoeu[3-1 Creating a Domain]
+* link:domains.html#ggpfv[3-2 Listing Domains]
+* link:domains.html#ghlfx[3-3 Logging In To a Domain on a Remote Machine]
+* link:domains.html#ghldv[3-4 Logging In to a Domain on the Default Port
+of Localhost]
+* link:domains.html#ggoiy[3-5 Deleting a Domain]
+* link:domains.html#ggocw[3-6 Starting a Domain]
+* link:domains.html#gioes[3-7 Stopping a Domain (or Server)]
+* link:domains.html#ggoet[3-8 Restarting a Domain (or Server)]
+* link:domains.html#giupx[3-9 Restarting a Domain in a Browser]
+* link:domains.html#gjzix[3-10 Creating a Service to Restart a DAS
+Automatically on Windows]
+* link:domains.html#gktso[3-11 Querying the Service to Restart a DAS
+Automatically on Windows]
+* link:domains.html#sthref19[3-12 Creating a Service to Restart a DAS
+Automatically on Linux]
+* link:domains.html#giuqp[3-13 Creating a Service to Restart a Domain
+Automatically on Oracle Solaris]
+* link:domains.html#ggoxt[3-14 Backing Up the Default Domain]
+* link:domains.html#ggoys[3-15 Restoring the Default Domain]
+* link:domains.html#ghgsv[3-16 Listing Backups of the Default Domain]
+* link:domains.html#ghlds[3-17 Displaying the DAS Uptime]
+* link:domains.html#gkvkl[3-18 Changing the Administration Port of a
+Domain]
+* link:jvm.html#ghqwm[4-1 Creating JVM Options]
+* link:jvm.html#ggphx[4-2 Listing JVM Options]
+* link:jvm.html#ggpgz[4-3 Deleting a JVM Option]
+* link:jvm.html#ggpkr[4-4 Deleting Multiple JVM Options]
+* link:jvm.html#ghhkr[4-5 Generating a JVM Report]
+* link:jvm.html#ggpla[4-6 Creating a Profiler]
+* link:jvm.html#ggpkc[4-7 Deleting a Profiler]
+* link:threadpools.html#giuez[5-1 Creating a Thread Pool]
+* link:threadpools.html#giugs[5-2 Listing Thread Pools]
+* link:threadpools.html#giuhc[5-3 Updating a Thread Pool]
+* link:threadpools.html#giugt[5-4 Deleting a Thread Pool]
+* link:webapps.html#giyhf[6-1 Invoking a Servlet With a URL]
+* link:webapps.html#giyib[6-2 Invoking a Servlet From Within a JSP File]
+* link:webapps.html#giyis[6-3 Redirecting a URL]
+* link:webapps.html#gixrq[6-4 httpd.conf File for mod_jk]
+* link:webapps.html#gixqt[6-5 workers.properties File for mod_jk]
+* link:webapps.html#gjjzu[6-6 httpd.conf File for Load Balancing]
+* link:webapps.html#gjjzf[6-7 workers.properties File for Load Balancing]
+* link:webapps.html#gjpnc[6-8 http-ssl.conf File for mod_jk Security]
+* link:logging.html#gkmal[7-1 Changing the Name and Location of a
+Cluster's Log File]
+* link:logging.html#gkmgz[7-2 Setting the java.util.logging.config.file
+System Property]
+* link:logging.html#gjiti[7-3 Listing Logger Levels for Modules]
+* link:logging.html#gkkot[7-4 Listing Log Levels for an Instance]
+* link:logging.html#ghmfi[7-5 Changing the Global Log Level for All
+Module Loggers]
+* link:logging.html#ghmev[7-6 Setting the Log Level for a Module Logger]
+* link:logging.html#gjkat[7-7 Setting Log Levels for Multiple Loggers]
+* link:logging.html#sthref23[7-8 Setting the Log File Format using
+set-log-file-format]
+* link:logging.html#sthref24[7-9 Setting the Log File Format using
+set-log-attributes]
+* link:logging.html#sthref25[7-10 Excluding Fields in Log Records]
+* link:logging.html#sthref26[7-11 Setting Multiline Mode]
+* link:logging.html#gkmay[7-12 Changing the Rotation Size]
+* link:logging.html#gkmbc[7-13 Changing the Rotation Interval]
+* link:logging.html#gkmaq[7-14 Changing the Limit Number of Retained
+Files]
+* link:logging.html#gkmav[7-15 Rotating Log Files Manually]
+* link:logging.html#ghphb[7-16 Adding a New Log Handler]
+* link:logging.html#gklap[7-17 Creating a ZIP Archive]
+* link:logging.html#sthref27[7-18 Listing Loggers]
+* link:monitoring.html#gixri[8-1 Enabling the Monitoring Service
+Dynamically]
+* link:monitoring.html#gixre[8-2 Enabling Monitoring for Modules
+Dynamically]
+* link:monitoring.html#gjcmm[8-3 Enabling Monitoring for Modules by Using
+the set Subcommand]
+* link:monitoring.html#gixsc[8-4 Disabling the Monitoring Service
+Dynamically]
+* link:monitoring.html#gjcnw[8-5 Disabling Monitoring for Modules
+Dynamically]
+* link:monitoring.html#gixpg[8-6 Disabling Monitoring by Using the set
+Subcommand]
+* link:monitoring.html#ghljw[8-7 Viewing Common Monitoring Data]
+* link:monitoring.html#ghlre[8-8 Viewing Attributes for a Specific Type]
+* link:monitoring.html#ghbgv[8-9 Viewing Monitorable Applications]
+* link:monitoring.html#ghbfj[8-10 Viewing Attributes for an Application]
+* link:monitoring.html#ghbge[8-11 Viewing a Specific Attribute]
+* link:lifecycle-modules.html#giuyo[9-1 Creating a Life Cycle Module]
+* link:lifecycle-modules.html#giuyr[9-2 Listing Life Cycle Modules]
+* link:lifecycle-modules.html#giuyq[9-3 Updating a Life Cycle Module]
+* link:lifecycle-modules.html#giuyi[9-4 Deleting a Life Cycle Module]
+* link:batch.html#sthref67[10-1 Listing Batch Jobs]
+* link:batch.html#sthref68[10-2 Listing Batch Job Executions]
+* link:batch.html#sthref69[10-3 Listing Batch Job Steps]
+* link:batch.html#sthref70[10-4 Listing the Batch Runtime Configuration]
+* link:batch.html#sthref71[10-5 Configuring the Batch Runtime]
+* link:jdbc.html#ggooc[11-1 Starting a Database]
+* link:jdbc.html#ggorc[11-2 Stopping a Database]
+* link:jdbc.html#ggrgh[11-3 Creating a JDBC Connection Pool]
+* link:jdbc.html#ggpcf[11-4 Listing JDBC Connection Pools]
+* link:jdbc.html#ggpcs[11-5 Contacting a Connection Pool]
+* link:jdbc.html#gjirk[11-6 Resetting (Flushing) a Connection Pool]
+* link:jdbc.html#ggpis[11-7 Deleting a JDBC Connection Pool]
+* link:jdbc.html#ggplj[11-8 Creating a JDBC Resource]
+* link:jdbc.html#ggpgi[11-9 Listing JDBC Resources]
+* link:jdbc.html#gjkrz[11-10 Updating a JDBC Resource]
+* link:jdbc.html#ggpga[11-11 Deleting a JDBC Resource]
+* link:connectors.html#giocc[12-1 Creating a Connector Connection Pool]
+* link:connectors.html#giody[12-2 Listing Connector Connection Pools]
+* link:connectors.html#giohd[12-3 Deleting a Connector Connection Pool]
+* link:connectors.html#giogn[12-4 Creating a Connector Resource]
+* link:connectors.html#gioia[12-5 Listing Connector Resources]
+* link:connectors.html#giokh[12-6 Deleting a Connector Resource]
+* link:connectors.html#gionp[12-7 Creating a Resource Adapter
+Configuration]
+* link:connectors.html#gioof[12-8 Listing Configurations for a Resource
+Adapter]
+* link:connectors.html#giorj[12-9 Deleting a Resource Adapter
+Configuration]
+* link:connectors.html#giuxc[12-10 Creating a Connector Security Map]
+* link:connectors.html#giuwj[12-11 Listing All Connector Security Maps
+for a Connector Connection Pool]
+* link:connectors.html#giuyc[12-12 Listing Principals for a Specific
+Security Map for a Connector Connection Pool]
+* link:connectors.html#giuuf[12-13 Listing Principals of All Connector
+Security Maps for a Connector Connection Pool]
+* link:connectors.html#giuwi[12-14 Updating a Connector Security Map]
+* link:connectors.html#giuvr[12-15 Deleting a Connector Security Map]
+* link:connectors.html#giokw[12-16 Creating Connector Work Security Maps]
+* link:connectors.html#gionj[12-17 Listing the Connector Work Security
+Maps]
+* link:connectors.html#gioll[12-18 Updating a Connector Work Security
+Map]
+* link:connectors.html#giolk[12-19 Deleting a Connector Work Security
+Map]
+* link:connectors.html#giokx[12-20 Creating an Administered Object]
+* link:connectors.html#giokg[12-21 Listing Administered Objects]
+* link:connectors.html#giolc[12-22 Deleting an Administered Object]
+* link:http_https.html#gjhos[13-1 Creating an HTTP Protocol]
+* link:http_https.html#gjhqg[13-2 Listing the Protocols]
+* link:http_https.html#gjhop[13-3 Deleting a Protocol]
+* link:http_https.html#gjhnz[13-4 Creating an HTTP Configuration]
+* link:http_https.html#gjhov[13-5 Deleting an HTTP Configuration]
+* link:http_https.html#gjhpx[13-6 Creating a Transport]
+* link:http_https.html#gjhqj[13-7 Listing HTTP Transports]
+* link:http_https.html#gjhoh[13-8 Deleting a Transport]
+* link:http_https.html#ggpjk[13-9 Creating an HTTP Listener]
+* link:http_https.html#gjimj[13-10 Creating a Network Listener]
+* link:http_https.html#ggpgw[13-11 Listing HTTP Listeners]
+* link:http_https.html#giwiw[13-12 Updating an HTTP Network Listener]
+* link:http_https.html#ggpjr[13-13 Deleting an HTTP Listener]
+* link:http_https.html#ggphv[13-14 Configuring an HTTP Listener for SSL]
+* link:http_https.html#ggpln[13-15 Deleting SSL From an HTTP Listener]
+* link:http_https.html#ggpha[13-16 Creating a Virtual Server]
+* link:http_https.html#ggpgr[13-17 Listing Virtual Servers]
+* link:http_https.html#ggpmd[13-18 Deleting a Virtual Server]
+* link:concurrent.html#sthref74[14-1 Creating a Context Service]
+* link:concurrent.html#sthref75[14-2 Listing Context Services]
+* link:concurrent.html#sthref76[14-3 Deleting a Context Service]
+* link:concurrent.html#sthref77[14-4 Creating a Managed Thread Factory]
+* link:concurrent.html#sthref78[14-5 Listing Managed Thread Factories]
+* link:concurrent.html#sthref79[14-6 Deleting a Managed Thread Factory]
+* link:concurrent.html#sthref80[14-7 Creating a Managed Executor Service]
+* link:concurrent.html#sthref81[14-8 Listing Managed Executor Services]
+* link:concurrent.html#sthref82[14-9 Deleting a Managed Executor Service]
+* link:concurrent.html#sthref83[14-10 Creating a Managed Scheduled
+Executor Service]
+* link:concurrent.html#sthref84[14-11 Listing Managed Scheduled Executor
+Services]
+* link:concurrent.html#sthref85[14-12 Deleting a Managed Scheduled
+Executor Service]
+* link:orb.html#gipfl[15-1 Creating an IIOP Listener]
+* link:orb.html#gipcm[15-2 Listing IIOP Listeners]
+* link:orb.html#giwlj[15-3 Updating an IIOP Listener]
+* link:orb.html#giped[15-4 Deleting an IIOP Listener]
+* link:javamail.html#gipfs[16-1 Creating a JavaMail Resource]
+* link:javamail.html#gipfe[16-2 Listing JavaMail Resources]
+* link:javamail.html#giwjb[16-3 Updating a JavaMail Resource]
+* link:javamail.html#gipcd[16-4 Deleting a JavaMail Resource]
+* link:jms.html#gipbb[17-1 Creating a JMS Host]
+* link:jms.html#gipdw[17-2 Listing JMS Hosts]
+* link:jms.html#givlz[17-3 Updating a JMS Host]
+* link:jms.html#gipbj[17-4 Deleting a JMS Host]
+* link:jms.html#giovy[17-5 Creating a JMS Connection Factory]
+* link:jms.html#giovn[17-6 Creating a JMS Destination]
+* link:jms.html#giovz[17-7 Listing All JMS Resources]
+* link:jms.html#giovq[17-8 Listing a JMS Resources of a Specific Type]
+* link:jms.html#giovi[17-9 Deleting a JMS Resource]
+* link:jms.html#gioxt[17-10 Creating a JMS Physical Destination]
+* link:jms.html#gioxo[17-11 Listing JMS Physical Destinations]
+* link:jms.html#giows[17-12 Flushing Messages From a JMS Physical
+Destination]
+* link:jms.html#gioxx[17-13 Deleting a Physical Destination]
+* link:jndi.html#gioyi[18-1 Creating a Custom Resource]
+* link:jndi.html#gioyr[18-2 Listing Custom Resources]
+* link:jndi.html#giwkg[18-3 Updating a Custom JNDI Resource]
+* link:jndi.html#gioxh[18-4 Deleting a Custom Resource]
+* link:jndi.html#giwcx[18-5 Registering an External JNDI Resource]
+* link:jndi.html#giwbe[18-6 Listing JNDI Resources]
+* link:jndi.html#giwal[18-7 Listing JNDI Entries]
+* link:jndi.html#giwoa[18-8 Updating an External JNDI Resource]
+* link:jndi.html#giwby[18-9 Deleting an External JNDI Resource]
+* link:transactions.html#giufq[19-1 Stopping the Transaction Service]
+* link:transactions.html#giufy[19-2 Rolling Back a Transaction]
+* link:transactions.html#giuef[19-3 Restarting the Transaction Service]
+* link:transactions.html#giugn[19-4 Manually Recovering Transactions]
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/lof.adoc b/docs/administration-guide/src/main/asciidoc/lof.adoc
new file mode 100644
index 0000000..7d69f97
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/lof.adoc
@@ -0,0 +1,18 @@
+type=page
+status=published
+title=List of Figures
+next=lot.html
+prev=loe.html
+~~~~~~
+
+= List of Figures
+
+[[list-of-figures]]
+== List of Figures
+
+* link:general-administration.html#gjjce[2-1 Web Page for the REST
+Resource for Managing a Domain]
+* link:general-administration.html#gkwku[2-2 Web Page for the REST
+Resource That Provides Class Loader Statistics]
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/logging.adoc b/docs/administration-guide/src/main/asciidoc/logging.adoc
new file mode 100644
index 0000000..66dd64e
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/logging.adoc
@@ -0,0 +1,1358 @@
+type=page
+status=published
+title=Administering the Logging Service
+next=monitoring.html
+prev=webapps.html
+~~~~~~
+
+= Administering the Logging Service
+
+[[GSADG00010]][[abluj]]
+
+
+[[administering-the-logging-service]]
+== 7 Administering the Logging Service
+
+This chapter provides instructions on how to configure logging and how
+to view log information in the {productName} 7 environment.
+
+The following topics are addressed here:
+
+* link:#abluk[About Logging]
+* link:#gklmn[Configuring the Logging Service]
+* link:#gkobx[Viewing Log Records]
+* link:#CEGGHGIJ[Listing Loggers]
+
+Instructions for accomplishing these tasks and editing logging service
+properties in the Administration Console are available from the
+Administration Console online help.
+
+[[abluk]][[GSADG00554]][[about-logging]]
+
+=== About Logging
+
+Logging is the process by which {productName}
+captures information about events that occur, such as configuration
+errors, security failures, or server malfunction. This data is recorded
+in log files and is usually the first source of information when
+problems occur. Analyzing the log files can help you to follow events
+that occur in the server runtime and determine the overall health of the
+server.
+
+Although application components can use the Apache Commons Logging
+Library to record messages, the platform standard JSR 47 Logging API is
+recommended for better log configuration. For more information about JSR 47,
+see `http://jcp.org/en/jsr/detail?id=47`.
+
+The following topics are addressed here:
+
+* link:#ablul[Log Files]
+* link:#gkres[Logger Namespaces]
+* link:#gkjft[Logging Targets]
+* link:#gkkit[Logging Properties]
+
+[[ablul]][[GSADG00719]][[log-files]]
+
+==== Log Files
+
+{productName} log records are captured in the
+server log file, which captures information about the operation of a server instance
+running in the domain. Each instance, managed server
+instance (that is, each cluster member), and the domain administration
+server (DAS) has an individual server log file.
+
+The following topics are addressed here:
+
+* link:#gkmep[Log File Names and Locations]
+* link:#gkmex[Log Records]
+* link:#gkmdz[Log Rotation]
+
+[[gkmep]][[GSADG00644]][[log-file-names-and-locations]]
+
+===== Log File Names and Locations
+
+In an {productName} domain, log files have the
+following name and location by default:
+
+[width="100%",cols="27%,73%",options="header",]
+|===
+|Instance |Default Log File Name and Location
+|DAS |domain-dir``/logs/server.log``
+|Each server instance |instance-dir``/logs/server.log``
+|Cluster instance |instance-dir``/logs/server.log``
+|===
+
+
+For example, in a domain hosted on a given machine that includes a
+cluster with two managed servers (`ClusterServer1` and `ClusterServer1`)
+and a standalone instance (`StandaloneServer`), the log files might be
+arranged in the following directory structure. In this directory
+structure, the `server.log` file for the DAS is located in
+domain-dir``/logs``.
+
+[source]
+----
+as-install-parent directory
+  glassfish/
+    domains/
+      domain-dir/
+        logs/
+          server.log
+    nodes/
+      hostname/
+        ClusterServer1/
+          logs/
+            server.log
+        ClusterServer2/
+          logs/
+            server.log
+        StandaloneServer/
+          logs/
+            server.log
+----
+
+You can change the default name or location of a log file by modifying
+the logging properties file for the corresponding instance, described in
+link:#gkmak[To Change the Name and Location of the Log File].
+
+[[gkmex]][[GSADG00645]][[log-records]]
+
+===== Log Records
+
+{productName} writes log records in either the
+Oracle Diagnostics Logging (ODL) format or the Uniform Log Formatter
+(ULF) format. The default format is ODL. For information about changing
+the format, see link:#CEGDJEBG[Setting the Log File Format].
+
+A custom formatter can also be used by specifying the fully qualified
+name of a class that extends the `java.util.logging.Formatter` class.
+The custom formatter class can be packaged in a JAR file and placed in
+the domain-dir``/lib/ext`` directory, or implemented as a Hundred-Kilobyte
+Kernel (HK2) service and the JAR containing the formatter implementation
+placed in the as-install``/modules`` directory.
+
+Log records formatted in the ODL format are displayed as follows:
+
+[source]
+----
+[yyyy-mm-ddThh:mm:ss.SSS-Z][ProductName-Version][Log Level]
+[Message ID][LoggerName][Key Value Pairs][[Message]]
+----
+
+* `[` and `]` mark the beginning and end of fields in the record. Some
+fields may be empty.
+* yyyy-mm-dd`T`hh:mm:ss.SSSS-Z represents the date and time that the
+record was created. For example: `2013-04-12T08:08:30.154-0700`
+* ProductName-Version represents the current version of {productName}. For example: `glassfish`
+* Log Level represents the log level. You can set any of the following
+values: `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`, `INFO`, `CONFIG`,
+`FINE`, `FINER`, and `FINEST`. The default is `INFO`.
+* Message ID consists of a module code that indicates the origin of the
+message and the message number. For example: `AS-WEB-GLUE-00172`
+* LoggerName represents a hierarchical logger namespace that identifies
+the source of the log module. For example: `jakarta.enterprise.web`
+* Key Value Pairs represents pairs of key names and values. For example:
+`timeMillis: 1365779310154`
+* Message represents the text of the log message. For multiline
+messages, `[[` marks the end of the first line, and `]]` marks the end
+of the message. Multiline messages start on a new line after the message
+header and are indented.
+
+The following is an example of a log record formatted in the ODL format:
+
+[source]
+----
+[2021-04-12T08:08:30.154-0700] [glassfish 7.0] [INFO] [AS-WEB-GLUE-00172] [jakarta.enterprise.web] [tid: _ThreadID=217 _ThreadName=admin-listener(21)]
+[timeMillis: 1365779310154] [levelValue: 800] [[
+  Loading application [payroll] at [/payroll]]]
+----
+
+Log records formatted in the ULF format are displayed as follows:
+
+[source]
+----
+[#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|LoggerName|Key Value Pairs|Message|#]
+----
+
+* `[#` and `#]` mark the beginning and end of the record.
+* The vertical bar (`|`) separates the fields of the record.
+* yyyy-mm-dd`T`hh:mm:ss.SSSS-Z represents the date and time that the
+record was created. For example: `2013-04-18T09:27:44.315-0700`
+* Log Level represents the log level. You can set any of the following
+values: `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`, `INFO`, `CONFIG`,
+`FINE`, `FINER`, and `FINEST`. The default is `INFO`.
+* ProductName-Version represents the current version of {productName}. For example: `glassfish`
+* LoggerName represents a hierarchical logger namespace that identifies
+the source of the log module. For example: `jakarta.enterprise.web.core`
+* Key Value Pairs represents pairs of key names and values and can
+include a message ID. For example: `_MessageID=AS-WEB-CORE-00306`.
++
+Message IDs are included for all {productName}
+`EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING` messages, and for many
+`INFO` messages.
+* Message represents the text of the log message. Multiline messages
+start on a new line after the message header and are indented.
+
+The following is an example of a log record formatted in the ULF format:
+
+[source]
+----
+[#|2013-04-18T09:27:44.315-0700|INFO|glassfish 7.0|jakarta.enterprise.web.core|
+_ThreadID=15;_ThreadName=RunLevelControllerThread-1366302462682;_TimeMillis=1366302464315;_LevelValue=800;_MessageID=AS-WEB-CORE-00306;|
+  Setting JAAS app name glassfish-web|#]
+----
+
+The Administration Console presents log records in a more readable
+display. For information about viewing log records using the
+Administration Console, see link:#gkobx[Viewing Log Records].
+
+[[gkmdz]][[GSADG00646]][[log-rotation]]
+
+===== Log Rotation
+
+By default, when a log file grows to 2 MB, {productName} renames (rotates) the file to incorporate a timestamp and
+creates a new log file. The log file is renamed as `server.log_`date,
+where date is the date and time that the file was rotated.
+
+You can configure the logging service to change the default settings for
+log file rotation, as explained in link:#gklni[Setting Log File
+Rotation].
+
+[[gkres]][[GSADG00720]][[logger-namespaces]]
+
+==== Logger Namespaces
+
+{productName} provides a logger for each of its
+modules. The following list is an example of the logger namespaces in a
+server instance as they appear when using the `list-log-levels`
+subcommand.
+
+[source]
+----
+java.util.logging.ConsoleHandler     <FINEST>
+jakarta.enterprise.resource.corba     <INFO>
+jakarta.enterprise.resource.javamail  <INFO>
+jakarta.enterprise.resource.jdo       <INFO>
+jakarta.enterprise.resource.jms       <INFO>
+jakarta.enterprise.resource.jta       <INFO>
+jakarta.enterprise.resource.resourceadapter     <INFO>
+jakarta.enterprise.resource.sqltrace  <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.application  <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.config       <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.context      <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.facelets     <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.lifecycle    <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.managedbean  <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.renderkit    <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.resource     <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.taglib       <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.timing       <INFO>
+jakarta.enterprise.system.container.cmp         <INFO>
+jakarta.enterprise.system.container.ejb         <INFO>
+jakarta.enterprise.system.container.ejb.mdb     <INFO>
+jakarta.enterprise.system.container.web         <INFO>
+jakarta.enterprise.system.core.classloading     <INFO>
+jakarta.enterprise.system.core.config   <INFO>
+jakarta.enterprise.system.core.naming   <INFO>
+jakarta.enterprise.system.core.security <INFO>
+jakarta.enterprise.system.core.selfmanagement   <INFO>
+jakarta.enterprise.system.core.transaction      <INFO>
+jakarta.enterprise.system     <INFO>
+jakarta.enterprise.system.tools.admin   <INFO>
+jakarta.enterprise.system.tools.backup  <INFO>
+jakarta.enterprise.system.tools.deployment      <INFO>
+jakarta.enterprise.system.util          <INFO>
+jakarta.enterprise.system.webservices.registry  <INFO>
+jakarta.enterprise.system.webservices.rpc       <INFO>
+jakarta.enterprise.system.webservices.saaj      <INFO>
+javax     <INFO>
+org.apache.catalina    <INFO>
+org.apache.coyote      <INFO>
+org.apache.jasper      <INFO>
+org.jvnet.hk2.osgiadapter   <INFO>
+----
+
+For information about how to display logger namespaces and log levels,
+see link:#gjirr[To List Log Levels]. For information about how to
+display a list of loggers and logger details, see link:#CEGGICGF[To List
+Loggers].
+
+[[gkjft]][[GSADG00721]][[logging-targets]]
+
+==== Logging Targets
+
+Each instance in an {productName} domain has a
+dedicated log file, and each instance and cluster has its own logging
+properties file. To configure logging for an instance or a cluster,
+{productName} allows you target specific log
+files or logging properties files when you do the following:
+
+* Set global or module-specific log levels
+* Rotate log files or compress them into a ZIP archive
+* Change logging property attributes
+* List log levels or log attributes
+
+The following subcommands optionally accept a target specification. A
+target can be a configuration name, server name, cluster name, or
+instance name, and is specified as either an operand or as a value
+passed using the `--target` option. If no target is specified when using
+any of these subcommands, the default target is the DAS.
+
+[width="100%",cols="27%,47%,26%",options="header",]
+|===
+|Subcommand |Description |Target Specification
+|link:reference-manual/collect-log-files.html#GSRFM00007[`collect-log-files`] |Collects all available log files
+into a ZIP archive. |`--target``=`target-name
+
+|link:reference-manual/list-log-attributes.html#GSRFM00182[`list-log-attributes`] |Lists logging attributes in
+the logging properties file. |target-name operand
+
+|link:reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] |Lists the loggers in the logging
+properties file and their log levels. |target-name operand
+
+|link:reference-manual/rotate-log.html#GSRFM00224[`rotate-log`] |Rotates the log file by renaming it and
+creating a new log file to store new messages. |`--target``=`target-name
+
+|link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] |Sets the specified logging
+attributes in the logging properties file. |`--target``=`target-name
+
+|link:reference-manual/set-log-file-format.html#GSRFM879[`set-log-file-format`] |Sets the log file formatter.
+|`--target``=`target-name
+
+|link:reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`] |Sets the log level for one or more
+loggers listed in the logging properties file. |`--target``=`target-name
+|===
+
+
+[[gkkit]][[GSADG00722]][[logging-properties]]
+
+==== Logging Properties
+
+The DAS as well as each configuration, instance, and cluster has its own
+set of logging properties that are maintained in individual
+configuration files. A logging properties file is named
+`logging.properies` and includes the following information:
+
+* Log file name and location
+* Logger names and levels
+* Properties for custom handlers
+* Log rotation and logger format properties
+
+By default in an {productName} domain, logging
+properties files are created in the following locations:
+
+[width="100%",cols="18%,82%",options="header",]
+|===
+|Target |Default Location of Logging Properties File
+|DAS |domain-dir``/config```/logging.properties`
+
+|A configuration |domain-dir`/config/`config-name`/logging.properties`,
+where config-name represents the name of a configuration that is shared
+by one or more instances or clusters.
+
+|An instance
+|domain-dir``/config```/`instance-name`-config/logging.properties`, where
+instance-name represents the name of the instance.
+
+|A cluster
+|domain-dir`/config/`cluster-name`-config/logging.properties`, where
+cluster-name represents the name of the cluster.
+|===
+
+
+For information about configuring logging properties, see
+link:#gklmn[Configuring the Logging Service].
+
+[[gklmn]][[GSADG00555]][[configuring-the-logging-service]]
+
+=== Configuring the Logging Service
+
+This section contains the following topics:
+
+* link:#gklmx[Changing the Name and Location of Logging Service Files]
+* link:#gklml[Setting Log Levels]
+* link:#CEGDJEBG[Setting the Log File Format]
+* link:#gklni[Setting Log File Rotation]
+* link:#gklnk[Adding a Custom Logging Handler]
+
+[[gklmx]][[GSADG00723]][[changing-the-name-and-location-of-logging-service-files]]
+
+==== Changing the Name and Location of Logging Service Files
+
+This section explains how to change the name and location of the
+following logging service files:
+
+* Log file
+* Logging properties file
+
+[[gkmak]][[GSADG00375]][[to-change-the-name-and-location-of-the-log-file]]
+
+===== To Change the Name and Location of the Log File
+
+To change the name and location of the log file, first use the
+`list-log-attributes` subcommand to obtain the current log attribute
+setting for the log file name and location. Then use the
+`set-log-attributes` subcommand to specify the new name or location. The
+default target for these two subcommands is the DAS. However, you can
+optionally specify one of the following targets:
+
+* Configuration name — to target all instances or clusters that share a specific configuration name.
+* Server name — to target only a specific server.
+* Instance name — to target only a specific instance.
+* Cluster name — to target only a specific cluster.
+
+1. Ensure that the target server or cluster is running.
+Remote subcommands require a running server.
+
+2. Use the link:reference-manual/list-log-attributes.html#GSRFM00182[`list-log-attributes`]
+subcommand in remote mode to obtain the current log attribute settings.
+The name and location of the log file is set with the
+`com.sun.enterprise.server.logging.GFFileHandler.file` attribute of the
+logging properties file.
+Optionally you can target a configuration, server, instance, or cluster.
+If you do not specify a target, the log attribute settings for the DAS are displayed.
+
+3. Use the link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`]
+subcommand in remote mode to define a custom name or location of the log file.
+If you do not specify a target, the log file for the DAS is targeted by default.
+If you target a cluster, the name of the cluster log file for
+each member instance can be changed (the server log file name cannot).
+
+[[GSADG00174]][[gkmal]]
+Example 7-1 Changing the Name and Location of a Cluster's Log File
+
+This example changes the name of the cluster log file for `Cluster1` to
+`cluster1.log`. `Cluster1` has two server instances: `ClusterServer1` and `ClusterServer2`.
+
+[source]
+----
+asadmin> list-log-attributes Cluster1
+com.sun.enterprise.server.logging.GFFileHandler.alarms <false>
+com.sun.enterprise.server.logging.GFFileHandler.file
+<${com.sun.aas.instanceRoot}/logs/server.log>
+com.sun.enterprise.server.logging.GFFileHandler.flushFrequency  <1>
+.
+.
+.
+log4j.logger.org.hibernate.validator.util.Version <warn>
+Command list-log-attributes executed successfully.
+asadmin> set-log-attributes --target Cluster1
+com.sun.enterprise.server.logging.GFFileHandler.file=
+${com.sun.aas.instanceRoot}/logs/cluster1.log
+com.sun.enterprise.server.logging.GFFileHandler.file
+logging attribute set with value ${com.sun.aas.instanceRoot}/logs/cluster1.log
+These logging attributes are set for Cluster1.
+ClusterServer1 :
+com.sun.enterprise.server.logging.GFFileHandler.file
+logging attribute set with value ${com.sun.aas.instanceRoot}/logs/cluster1.log
+These logging attributes are set for Cluster1.
+
+ClusterServer2 :
+com.sun.enterprise.server.logging.GFFileHandler.file
+logging attribute set with value ${com.sun.aas.instanceRoot}/logs/cluster1.log
+These logging attributes are set for Cluster1.
+
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG864]]
+
+See Also
+
+You can view the full syntax and options of these subcommands by typing
+`asadmin help list-log-levels` and `asadmin help set-log-attributes` at
+the command line.
+
+[[gkmcz]][[GSADG00376]][[to-change-the-name-and-location-of-the-logging-properties-file]]
+
+===== To Change the Name and Location of the Logging Properties File
+
+You can set the name and location of the logging properties file by
+setting the `java.util.logging.config.file` system property. By setting
+this system property, you can have a single logging properties file that
+is used by all instances running on the same host.
+
+[NOTE]
+====
+Setting the `java.util.logging.config.file` system property causes all
+other {productName} logging properties files on
+the host to be overridden.
+====
+
+
+1. Set the `java.util.logging.config.file` system property.
+For example, you can use the following `java` command:
++
+[source]
+----
+java -Djava.util.logging.config.file=properties_file
+----
+Alternatively, you can use the Administration Console to set this system property.
+
+2. To apply your change, restart {productName}.
+
+[[GSADG00175]][[gkmgz]]
+Example 7-2 Setting the `java.util.logging.config.file` System Property
+
+The following example changes the location of the logging properties
+file to `/space/mylogging/logging.properties`:
+[source]
+----
+java -Djava.util.logging.config.file=/space/mylogging/logging.properties
+----
+
+[[gklml]][[GSADG00724]][[setting-log-levels]]
+
+==== Setting Log Levels
+
+The log level determines the granularity of the message that is logged,
+from error only (`EMERGENCY`) to detailed debug (`FINEST`). The
+following values apply: `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`,
+`INFO`, `CONFIG`, `FINE`, `FINER`, and `FINEST`. These log levels are
+hierarchically inclusive, which means that if you set a particular log
+level, such as INFO, the messages that have log levels above that level
+(`EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING`,) are also included. If
+you set the log level to the lowest level, `FINEST`, your output
+includes all the messages in the file. The default setting is `INFO`.
+
+You can list current log levels of all loggers specified in the
+`logging properties` file. In some cases, loggers that have not been
+created by the respective containers will also appear in the list.
+
+You can set log levels that are global or logger-specific. When you set
+a global log level, the log level goes into effect for all loggers. If
+you set the log level for a specific logger that is different from the
+global log level, the logger-specific setting takes precedence. In
+addition, when setting log levels, you can target a configuration,
+server, instance, or cluster.
+
+Because setting log levels is a dynamic operation, you do not need to
+restart {productName} for changes to take effect.
+
+Setting either global or logger-specific log levels is done by using the
+`set-log-levels` subcommand. Listing log levels is done by using the
+`list-log-levels` subcommand.
+
+The following topics are addressed here:
+
+* link:#gjirr[To List Log Levels]
+* link:#ghmep[To Set the Global Log Level]
+* link:#ghmdu[To Set Module Log Levels]
+
+[[gjirr]][[GSADG00377]][[to-list-log-levels]]
+
+===== To List Log Levels
+
+{productName} provides the means to list all
+loggers and their log levels. Listing the loggers provides a convenient
+means to view current loggers and log levels either prior to or after
+making log level changes.
+
+Use the `list-log-levels` subcommand in remote mode to list the modules
+and their current log levels. The default target for this subcommand is
+the DAS. However, you can optionally specify one of the following
+targets:
+
+* Configuration name — to target all instances or clusters that share a specific configuration name.
+* Server name — to target a specific server.
+* Instance name — to target a specific instance.
+* Cluster name — to target a specific cluster.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. List the existing module loggers and log levels by using the
+link:reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] subcommand.
+
+[[GSADG00176]][[gjiti]]
+Example 7-3 Listing Logger Levels for Modules
+
+This example shows a partial list of the existing loggers and their log
+levels in the DAS.
+
+[source]
+----
+asadmin> list-log-levels
+jakarta.enterprise.system.container.cmp <INFO>
+jakarta.enterprise.system.tools.admin <INFO>
+java.util.logging.ConsoleHandler <FINEST>
+jakarta.enterprise.system.container.web <INFO>
+jakarta.enterprise.system.util <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.timing <INFO>
+javax <INFO>
+jakarta.enterprise.resource.corba <INFO>
+...
+Command list-log-levels executed successfully.
+----
+
+[[GSADG00177]][[gkkot]]
+Example 7-4 Listing Log Levels for an Instance
+
+This example shows a partial list of the loggers and log levels for the
+instance `MyServer2`.
+
+[source]
+----
+asadmin> list-log-levels MyServer2
+java.util.logging.ConsoleHandler <FINEST>
+jakarta.enterprise.resource.corba  <INFO>
+jakarta.enterprise.resource.javamail   <INFO>
+jakarta.enterprise.resource.jdo <INFO>
+jakarta.enterprise.resource.jms <INFO>
+jakarta.enterprise.resource.jta <INFO>
+jakarta.enterprise.resource.resourceadapter <INFO>
+jakarta.enterprise.resource.sqltrace <FINE>
+...
+Command list-log-levels executed successfully.
+----
+
+[[GSADG865]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help list-log-levels` at the command line.
+
+[[ghmep]][[GSADG00378]][[to-set-the-global-log-level]]
+
+===== To Set the Global Log Level
+
+The global log level specifies the events that are logged across all
+loggers. The default level for messages output to the console is `INFO`
+(which also includes `EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING`
+messages).
+
+Use the `set-log-levels` subcommand in remote mode to set the global log
+level. The default target for this subcommand is the DAS. However, you
+can optionally specify one of the following targets using the `--target`
+option:
+
+* Configuration name — to target all instances or clusters that share a specific configuration name.
+* Server name — to target a specific server.
+* Instance name — to target a specific instance.
+* Cluster name — to target a specific cluster.
+
+1. Ensure that the target server or cluster is running.
+2. Set the global log level by using the
+link:reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`] subcommand, specifying the log level
+of the `java.util.logging.ConsoleHandler` logger.
+The `ConsoleHandler` has a separate log level setting that limits the
+messages that are displayed. For example:
++
+[source]
+----
+java.util.logging.ConsoleHandler <FINEST>
+----
+
+[[GSADG00178]][[ghmfi]]
+Example 7-5 Changing the Global Log Level for All Module Loggers
+
+By setting the log level of the `ConsoleHandler`, you set the global log
+level for all loggers. This example sets the global log level in the DAS
+to `INFO`:
+
+[source]
+----
+asadmin> set-log-levels java.util.logging.ConsoleHandler=INFO
+java.util.logging.ConsoleHandler package set with log level INFO.
+These logging levels are set for server.
+
+Command set-log-levels executed successfully.
+----
+
+[[GSADG866]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-levels` at the command line.
+
+[[ghmdu]][[GSADG00379]][[to-set-module-log-levels]]
+
+===== To Set Module Log Levels
+
+A module log level specifies the events that are logged for a particular
+logger. The default level for messages output to the console is `INFO`
+(which also includes `EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING`
+messages). The global log level is overridden by a module-specific log level.
+
+By default, the module log level is set to `FINE`. The lines for the
+loggers in the logging properties file might look like this (the modules
+are indicated in bold):
+
+[source]
+----
+jakarta.enterprise.system.tools.level=FINE
+jakarta.enterprise.system.container.ejb.level=FINE
+jakarta.enterprise.system.core.security.level=FINE
+jakarta.enterprise.system.tools.admin.level=FINE
+jakarta.enterprise.level=FINE
+jakarta.enterprise.system.container.web.level=FINE
+----
+
+Because setting log levels is a dynamic operation, you do not need to
+restart {productName} for changes to take effect.
+
+1. Ensure that the target server or cluster is running. Remote subcommands require a running server.
+
+2. List the existing module loggers and their log levels by using the
+link:reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] subcommand.
+
+3. Set the log level for a module by using the
+link:reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`] subcommand.
+Your choices are `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`, `INFO`,
+`CONFIG`, `FINE`, `FINER`, and `FINEST`.
+
+[[GSADG00179]][[ghmev]]
+Example 7-6 Setting the Log Level for a Module Logger
+
+This example sets the log level for the web container logger to WARNING
+on the target instance `ManagedServer1`:
+
+[source]
+----
+asadmin> set-log-levels --target ManagedServer1
+jakarta.enterprise.system.container.web=WARNING
+jakarta.enterprise.system.container.web package set with log level WARNING.
+These logging levels are set for ManagedServer1.
+ManagedServer1 :
+jakarta.enterprise.system.container.web package set with log level WARNING.
+These logging levels are set for ManagedServer1.
+
+Command set-log-levels executed successfully.
+----
+
+[[GSADG00180]][[gjkat]]
+Example 7-7 Setting Log Levels for Multiple Loggers
+
+The following example sets the log level for security and web container
+loggers in the DAS.
+
+[source]
+----
+asadmin> set-log-levels jakarta.enterprise.system.core.security=FINE:
+jakarta.enterprise.system.container.web=WARNING
+jakarta.enterprise.system.container.web package set with log level WARNING.
+jakarta.enterprise.system.core.security package set with log level FINE.
+These logging levels are set for server.
+
+Command set-log-levels executed successfully.
+----
+
+[[GSADG867]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-levels` at the command line.
+
+[[CEGDJEBG]][[GSADG1062]][[setting-the-log-file-format]]
+
+==== Setting the Log File Format
+
+You can set the format for log records in log files. The following
+topics are addressed here:
+
+* link:#CEGFFJDG[To Set the Log File Format]
+* link:#CEGGBJCC[To Exclude Fields in Log Records]
+* link:#CEGBBEAH[To Set Multiline Mode]
+
+[[CEGFFJDG]][[GSADG1063]][[to-set-the-log-file-format]]
+
+===== To Set the Log File Format
+
+Use the `set-log-file-format` subcommand in remote mode to set the
+formatter used by {productName} to format log
+records in log files. You can also use the `set-log-attributes`
+subcommand. Log formats for all server instances in a cluster will be
+the same. For information about log formats, see link:#gkmex[Log
+Records].
+
+
+[NOTE]
+====
+Changing the log format forces log rotation to avoid mixed format in the
+same file.
+====
+
+
+1. Ensure that the target server or cluster is running. Remote commands require a running server.
+2. Set the formatter by using the
+link:reference-manual/redeploy.html#GSRFM00217[`set-log-file-format`] subcommand.
+3. To apply your change, restart {productName}.
+
+[[GSADG1064]][[sthref23]]
+Example 7-8 Setting the Log File Format using `set-log-file-format`
+
+This example sets the log file format to `ULF` for standalone instance
+`ManagedServer1` using the `set-log-file-format` subcommand.
+
+[source]
+----
+asadmin> set-log-file-format --target ManagedServer1 ulf
+The log file formatter is set to com.sun.enterprise.server.logging.UniformLogFormatter for instance ManagedServer1.
+Command set-log-file-format executed successfully.
+----
+
+[[GSADG1065]][[sthref24]]
+Example 7-9 Setting the Log File Format using `set-log-attributes`
+
+This example sets the log file format to `ULF` for standalone instance
+`ManagedServer1` using the `set-log-attributes` subcommand.
+
+[source]
+----
+asadmin> set-log-attributes --target ManagedServer1 com.sun.enterprise.server.logging.GFFileHandler.formatter=ulf
+com.sun.enterprise.server.logging.GFFileHandler.formatter logging attribute value set to ulf.
+The logging attributes are saved successfully for ManagedServer1-config.
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG1066]]
+
+See Also
+
+You can view the full syntax and options of the `set-log-file-format`
+subcommand by typing `asadmin help set-log-file-format` at the command
+line. You can view the full syntax and options of the
+`set-log-attributes` subcommand by typing
+`asadmin help set-log-attributes` at the command line.
+
+[[CEGGBJCC]][[GSADG1067]][[to-exclude-fields-in-log-records]]
+
+===== To Exclude Fields in Log Records
+
+Use the `set-log-attributes` subcommand in remote mode to exclude
+specific name-value fields from log records. If the `excludeFields`
+attribute is not specified, all name-value fields are included. The
+following fields can be excluded:
+
+* `tid`
+* `userId`
+* `ecid`
+* `timeMillis`
+* `levelVal`
+
+1. Ensure that the target server or cluster is running. Remote commands require a running server.
+
+2. Exclude fields by using the link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`]
+subcommand, specifying the following attribute and the fields to exclude:
++
+[source]
+----
+com.sun.enterprise.server.logging.GFFileHandler.excludeFields=fields
+----
+where `fields` is a comma-separated list of the name-value fields to
+exclude from the log file.
+
+3. To apply your change, restart {productName}.
+
+[[GSADG1068]][[sthref25]]
+Example 7-10 Excluding Fields in Log Records
+
+This example excludes the `userId` and `levelVal` name-value fields in
+log records for standalone instance `ManagedServer1`:
+
+[source]
+----
+asadmin> set-log-attributes --target ManagedServer1
+com.sun.enterprise.server.logging.GFFileHandler.excludeFields=userId,levelVal
+com.sun.enterprise.server.logging.GFFileHandler.excludeFields logging attribute value set to userId,levelVal.
+The logging attributes are saved successfully for ManagedServer1-config.
+
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG1069]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-attributes` at the command line.
+
+[[CEGBBEAH]][[GSADG1070]][[to-set-multiline-mode]]
+
+===== To Set Multiline Mode
+
+Use the `set-log-attributes` command in remote mode to set multiline
+mode. When multiline mode is enabled (the default), the body of a log
+message starts on a new line after the message header and is indented.
+
+1. Ensure that the target server or cluster is running. Remote commands require a running server.
+
+2. Set multiline mode by using the
+link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand, specifying the
+following attribute and its value (`true` or `false`):
++
+[source]
+----
+com.sun.enterprise.server.logging.GFFileHandler.multiLineMode=value
+----
+
+3. To apply your change, restart {productName}.
+
+[[GSADG1071]][[sthref26]]
+Example 7-11 Setting Multiline Mode
+
+Multiline mode is enabled by default. The following example disables
+multiline mode in log files for standalone instance `ManagedServer1`:
+
+[source]
+----
+asadmin> set-log-attributes --target ManagedServer1
+com.sun.enterprise.server.logging.GFFileHandler.multiLineMode=false
+com.sun.enterprise.server.logging.GFFileHandler.multiLineMode logging attribute value set to false.
+The logging attributes are saved successfully for ManagedServer1-config.
+
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG1072]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-attributes` at the command line.
+
+[[gklni]][[GSADG00725]][[setting-log-file-rotation]]
+
+==== Setting Log File Rotation
+
+As explained in link:#ablul[Log Files], {productName} by default rotates log files when they reach 2 MB in size.
+However, you can change the default rotation settings. For example, you
+can change the file size at which the server rotates the log file or you
+can configure a server to rotate log files based on a time interval. In
+addition to changing when rotation occurs, you can also:
+
+* Specify the maximum number of rotated files that can accumulate.
+By default, {productName} does not limit the
+number of rotated log files that are retained. However, you can set a
+limit. After the number of log files reaches this limit, subsequent file
+rotations delete the oldest rotated log file.
+
+* Rotate the log file manually.
+A manual rotation forces the immediate rotation of the target log file.
+
+Changing the default log rotation settings is done using the
+`set-log-attributes` subcommand, and rotating log files manually is done
+using the `rotate-log` subcommand, as explained in the following
+sections:
+
+* link:#gkmbh[To Change the Rotation File Size]
+* link:#gkman[To Change the File Rotation Interval]
+* link:#gkmai[To Change the Limit Number of Retained Files]
+* link:#gkmau[To Rotate Log Files Manually]
+
+[[gkmbh]][[GSADG00380]][[to-change-the-rotation-file-size]]
+
+===== To Change the Rotation File Size
+
+Use the `set-log-attributes` subcommand in remote mode to change the log
+rotation file size. The default target of this subcommand is the DAS.
+Optionally, you can target a configuration, server, instance, or
+cluster. The minimum size that can be set is 500 KB.
+
+1. Ensure that the target server or cluster is running.
+
+2. Change the rotation file size limit by using the
+link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand,
+specifying the following attribute and the desired limit in bytes:
++
+[source]
+----
+com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=bytes
+----
+
+3. To apply your change, restart {productName}.
+
+[[GSADG00181]][[gkmay]]
+Example 7-12 Changing the Rotation Size
+
+The following example sets the log file rotation size to 1 MB for the
+standalone instance `ManagedServer1`:
+
+[source]
+----
+asadmin> set-log-attributes --target ManagedServer1
+com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=1000000
+com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes
+logging attribute set with value 1000000.
+These logging attributes are set for ManagedServer1.
+ManagedServer1 :
+com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes
+logging attribute set with value 1000000.
+These logging attributes are set for ManagedServer1.
+
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG868]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-attributes` at the command line.
+
+[[gkman]][[GSADG00381]][[to-change-the-file-rotation-interval]]
+
+===== To Change the File Rotation Interval
+
+Use the `set-log-attributes` subcommand in remote mode to change the log
+file rotation time limit interval. The default target of this subcommand
+is the DAS. Optionally, you can target a configuration, server,
+instance, or cluster. The default value is `0`.
+
+1. Ensure that the target server or cluster is running.
+
+2. Change the rotation time limit by using the
+link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand,
+specifying the following attribute and the desired limit in minutes:
++
+[source]
+----
+com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=minutes
+----
+
+3. To apply your change, restart {productName}.
+
+[[GSADG00182]][[gkmbc]]
+Example 7-13 Changing the Rotation Interval
+
+The following example sets the log file rotation time limit for the
+cluster `Cluster1`, which has the instances `ClusterServer1` and
+`ClusterServer2`.
+
+[source]
+----
+asadmin> set-log-attributes --target Cluster1
+com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=10
+com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes
+logging attribute set with value 10.
+These logging attributes are set for Cluster1.
+ClusterServer1 :
+com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes
+logging attribute set with value 10.
+These logging attributes are set for Cluster1.
+
+ClusterServer2 :
+com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes
+logging attribute set with value 10.
+These logging attributes are set for Cluster1.
+
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG869]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-attributes` at the command line.
+
+[[gkmai]][[GSADG00382]][[to-change-the-limit-number-of-retained-files]]
+
+===== To Change the Limit Number of Retained Files
+
+Use the `set-log-attributes` subcommand in remote mode to change the
+limit on the number of log files that the server creates to store old
+log messages. The default target of this subcommand is the DAS.
+Optionally, you can target a configuration, server, instance, or
+cluster. The default limit value is `0`, which results in no limit
+placed on the number of rotated log files that are retained.
+
+1. Ensure that the target server or cluster is running.
+2. Change the limit number of retained log files by using the
+link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand,
+specifying the following attribute and the desired file limit number:
++
+[source]
+----
+com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles=minutes
+----
++
+The behavior of the `com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles`
+attribute is as follows:
++
+* If the property is not set, {productName} keeps
+  a maximum of 10 rotated log files.
+* If the property is set to an invalid number or null, {productName} keeps a maximum of 10 rotated log files.
+* If the property is set to 0, {productName}
+  retains all rotated log files (that is, sets no maximum).
+
+3. To apply your change, restart {productName}.
+
+[[GSADG00183]][[gkmaq]]
+Example 7-14 Changing the Limit Number of Retained Files
+
+The following example sets the log limit number of retained log files
+for the DAS to `10`.
+
+[source]
+----
+asadmin> set-log-attributes
+com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles=10
+com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles
+logging attribute set with value 10.
+These logging attributes are set for server.
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG870]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-attributes` at the command line.
+
+[[gkmau]][[GSADG00383]][[to-rotate-log-files-manually]]
+
+===== To Rotate Log Files Manually
+
+You can rotate log files manually by using the `rotate-log` subcommand
+in remote mode. The default target of this subcommand is the DAS.
+Optionally, you can target a configuration, server, instance, or
+cluster. When you use this subcommand, the target log file is
+immediately moved to a new time-stamped file and a new log file is
+created.
+
+Because log rotation is a dynamic operation, you do not need to restart
+{productName} for changes to take effect.
+
+1. Ensure that the target server or cluster is running.
+2. Rotate log files by using the link:reference-manual/rotate-log.html#GSRFM00224[`rotate-log`]
+subcommand.
+
+[[GSADG00184]][[gkmav]]
+Example 7-15 Rotating Log Files Manually
+
+The following example rotates the `server.log` file for `ManagedServer2`
+to `server.log_`yyyy-mm-dd`T`hh-mm-ss, where yyyy-mm-dd`T`hh-mm-ss
+represents the time when the file is rotated, and creates a new
+`server.log` file in the default location.
+
+[source]
+----
+asadmin> rotate-log --target ManagedServer2
+Command rotate-log executed successfully.
+----
+
+[[GSADG871]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help rotate-log` at the command line.
+
+[[gklnk]][[GSADG00726]][[adding-a-custom-logging-handler]]
+
+==== Adding a Custom Logging Handler
+
+By default, {productName} log records are
+captured in a server log file using the format described in
+link:#gkmex[Log Records]. However, you may find that you want to log
+messages to a different location, such as a database or a remote server,
+or log messages from specific loggers to your own file. This can be done
+by implementing a custom log handler. This section explains how to add a
+custom log handler to the {productName} logging
+service.
+
+[[ghmen]][[GSADG00384]][[to-add-a-custom-log-handler]]
+
+===== To Add a Custom Log Handler
+
+A comma-separated list of log handlers is installed during startup of
+the Java Virtual Machine (JVM) host. The default log handler that is
+provided in the `logging.properties` file, `ConsoleHandler`, is
+configured as follows:
+
+[source]
+----
+handlers=java.util.logging.ConsoleHandler
+----
+
+In {productName}, the best approach to developing
+a custom handler is to define a Hundred-Kilobyte Kernel (HK2) component
+that implements the handler contract. {productName} registers this handler automatically
+because it is an HK2 component. There is no task required of the administrator.
+
+
+[NOTE]
+====
+The custom handler class should be packaged in an OSGi module and the
+JAR file placed in the as-install``/modules`` directory.
+====
+
+
+To configure a custom handler that is not developed as an HK2 component,
+add the new handler to the `logging.properties` file after the developer
+has put the custom handler JAR file into the domain-dir``/lib/ext`` directory.
+
+[[GSADG872]]
+
+Before You Begin
+
+If you set a handler by setting the handlers attribute in the logging
+properties file, the class that extends `java.util.logging.Handler` must
+be in the server classpath.
+
+1. Ensure that the target server or cluster is running.
++
+Remote subcommands require a running server.
+2. Use the link:reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand to add the
+handler to the `handlers` attribute.
++
+The default target of this subcommand is the DAS. Optionally you can
+target a configuration, server, instance, or cluster.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00185]][[ghphb]]
+Example 7-16 Adding a New Log Handler
+
+This example adds the custom logger `com.example.logging.MyHandler` to
+the logging properties file of the DAS.
+
+[source]
+----
+asadmin> set-log-attributes
+handlers=java.util.logging.ConsoleHandler,com.example.logging.MyHandler
+handlers logging attribute set with value
+java.util.logging.ConsoleHandler,com.example.logging.MyHandler.
+These logging attributes are set for server.
+Command set-log-attributes executed successfully.
+----
+
+[[GSADG873]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help set-log-attributes` at the command line.
+
+[[gkobx]][[GSADG00556]][[viewing-log-records]]
+
+=== Viewing Log Records
+
+The recommended means for general viewing of logging information is to
+use the Log Viewer in the Administration Console. The Log Viewer
+simplifies reading, searching, and filtering log file contents. For
+instructions, see the Administration Console online help.
+
+{productName} also allows you to collect log
+files into a ZIP archive, which provides the means to obtain and view
+log files for an instance or cluster even when it is not currently
+running. The following section explains how to collect all available log
+files for an instance or cluster and compile them into a single ZIP
+archive, which is done by using the `collect-log-files` subcommand.
+
+[[gklbi]][[GSADG00385]][[to-collect-log-files-into-a-zip-archive]]
+
+==== To Collect Log Files into a ZIP Archive
+
+Use the `collect-log-files` subcommand in remote mode to collect log
+files into a ZIP archive. The default target of this subcommand is the
+DAS. Optionally you can target a configuration, server, instance, or
+cluster.
+
+1. Ensure that the target server or cluster is running.
++
+Remote subcommands require a running server.
+2. Use the link:reference-manual/collect-log-files.html#GSRFM00007[`collect-log-files`] subcommand to create
+the ZIP archive.
++
+The default location in which the ZIP archive is created is the
+domain-dir`/collected-logs` directory. The `collect-log-files`
+subcommand allows you to specify a nondefault directory in which the ZIP
+archive is to be created by using the `--retrieve` option set to `true`,
+followed by the directory name.
++
+The name of the ZIP file contains the timestamp, as follows:
++
+`log_`yyyy-mm-dd_hh-min-sec`.zip`
+
+[[GSADG00186]][[gklap]]
+Example 7-17 Creating a ZIP Archive
+
+This example shows collecting the log files for the cluster `MyCluster`
+and compiling them into a ZIP archive in the `/space/output` directory.
+
+[source]
+----
+asadmin> collect-log-files --target MyCluster
+--retrieve true /space/output
+Log files are downloaded for ClusterServer1.
+Log files are downloaded for ClusterServer2.
+ Created Zip file under /space/output/log_2011-02-10_13-35-25.zip.
+Command collect-log-files executed successfully.
+----
+
+When the ZIP file created by the preceding command is uncompressed, the
+following directory structure is created:
+
+[source]
+----
+as-install-parent/
+  glassfish/
+    domains/
+      domain-dir/
+        collected_logs/
+          logs/
+            ClusterServer1/
+              server.log
+            ClusterServer2/
+              server.log
+----
+
+[[GSADG874]]
+
+See Also
+
+You can view the full syntax and options of the subcommand by typing
+`asadmin help collect-log-files` at the command line.
+
+[[CEGGHGIJ]][[GSADG1073]][[listing-loggers]]
+
+=== Listing Loggers
+
+You can list and view information about all public loggers in your
+distribution of {productName}.
+
+[[CEGGICGF]][[GSADG1074]][[to-list-loggers]]
+
+==== To List Loggers
+
+Use the `list-loggers` subcommand in remote mode to list the logger
+name, subsystem, and description of loggers in your distribution of
+{productName}. Internal loggers are not listed.
+
+1. Ensure that the target server or cluster is running. Remote commands require a running server.
+2. List loggers by using the link:reference-manual/redeploy.html#GSRFM00217[`list-loggers`]
+subcommand.
+
+[[GSADG1075]][[sthref27]]
+Example 7-18 Listing Loggers
+
+This example lists the logger name, subsystem, and description for each
+logger. Some lines of output are omitted from this example for
+readability.
+
+[source]
+----
+asadmin> list-loggers
+Logger Name                            Subsystem         Logger Description
+...
+jakarta.enterprise.monitoring            Monitoring        Monitoring Logger
+jakarta.enterprise.system.core.ee        AS-CORE           Jakarta EE Core Kernel
+jakarta.enterprise.system.jmx            JMX               JMX System Logger
+jakarta.enterprise.system.tools.admin    ADMIN             Administration Services
+...
+Command list-loggers executed successfully.
+----
+
+[[GSADG1076]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-loggers` at the command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/lot.adoc b/docs/administration-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..75ac2c6
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,77 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=lof.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:overview.html#giuad[1-1 Default Administration Values]
+* link:overview.html#gjhfv[1-2 Default Locations]
+* link:general-administration.html#gkame[2-1 REST Resource Methods for
+Administering Monitoring and Configuration Data]
+* link:webapps.html#fvyhk[6-1 URL Fields for Servlets Within an
+Application]
+* link:monitoring.html#ghlta[8-1 HTTP Listener Common Monitoring
+Statistics]
+* link:monitoring.html#ghlsl[8-2 JVM Common Monitoring Statistics]
+* link:monitoring.html#ghqly[8-3 Web Module Common Monitoring Statistics]
+* link:monitoring.html#ggnpb[8-4 Example Resources Level Dotted Names]
+* link:monitoring.html#gelod[8-5 EJB Cache Monitoring Statistics]
+* link:monitoring.html#gelns[8-6 EJB Container Monitoring Statistics]
+* link:monitoring.html#gelnu[8-7 EJB Method Monitoring Statistics]
+* link:monitoring.html#gelpe[8-8 EJB Pool Monitoring Statistics]
+* link:monitoring.html#gelob[8-9 Timer Monitoring Statistics]
+* link:monitoring.html#gelnm[8-10 HTTP Service Virtual Server Monitoring
+Statistics]
+* link:monitoring.html#gjjys[8-11 Jersey Statistics]
+* link:monitoring.html#gelot[8-12 Connector Connection Pool Monitoring
+Statistics (JMS)]
+* link:monitoring.html#gelnz[8-13 Connector Work Management Monitoring
+Statistics (JMS)]
+* link:monitoring.html#gelow[8-14 JVM Monitoring Statistics for Java SE
+Class Loading]
+* link:monitoring.html#geloa[8-15 JVM Monitoring Statistics for Java SE -
+Threads]
+* link:monitoring.html#gelnt[8-16 JVM Monitoring Statistics for Java SE
+Compilation]
+* link:monitoring.html#gelox[8-17 JVM Monitoring Statistics for Java SE
+Garbage Collectors]
+* link:monitoring.html#gelnx[8-18 JVM Monitoring Statistics for Java SE
+Memory]
+* link:monitoring.html#gelog[8-19 JVM Statistics for the Java SE
+Operating System]
+* link:monitoring.html#gelop[8-20 JVM Monitoring Statistics for Java SE
+Runtime]
+* link:monitoring.html#gjirp[8-21 Network Keep Alive Statistics]
+* link:monitoring.html#gjjxc[8-22 Network Connection Queue Statistics]
+* link:monitoring.html#gjjpd[8-23 Network File Cache Statistics]
+* link:monitoring.html#gjjov[8-24 Network Thread Pool Statistics]
+* link:monitoring.html#gelqw[8-25 ORB Monitoring Statistics (Connection
+Manager)]
+* link:monitoring.html#gelqa[8-26 General Resource Monitoring Statistics
+(Connection Pool)]
+* link:monitoring.html#gktcp[8-27 Application Specific Resource
+Monitoring Statistics (Connection Pool)]
+* link:monitoring.html#gjirc[8-28 EJB Security Monitoring Statistics]
+* link:monitoring.html#gjiqv[8-29 Web Security Monitoring Statistics]
+* link:monitoring.html#gjirq[8-30 Realm Security Monitoring Statistics]
+* link:monitoring.html#gelqt[8-31 Thread Pool Monitoring Statistics]
+* link:monitoring.html#geloy[8-32 JVM Monitoring Statistics for Java SE -
+Thread Info]
+* link:monitoring.html#gelpl[8-33 Transaction Service Monitoring
+Statistics]
+* link:monitoring.html#gjkba[8-34 Web Module Servlet Statistics]
+* link:monitoring.html#givgh[8-35 Web JSP Monitoring Statistics]
+* link:monitoring.html#gjisw[8-36 Web Request Monitoring Statistics]
+* link:monitoring.html#ghqiu[8-37 Web Servlet Monitoring Statistics]
+* link:monitoring.html#gellc[8-38 Web Session Monitoring Statistics]
+* link:http_https.html#ggnpj[13-1 Default Ports for Listeners]
+* link:jndi.html#fxizy[18-1 JNDI Lookup Names and Their Associated
+References]
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/monitoring.adoc b/docs/administration-guide/src/main/asciidoc/monitoring.adoc
new file mode 100644
index 0000000..380f3dc
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/monitoring.adoc
@@ -0,0 +1,2768 @@
+type=page
+status=published
+title=Administering the Monitoring Service
+next=lifecycle-modules.html
+prev=logging.html
+~~~~~~
+
+= Administering the Monitoring Service
+
+[[GSADG00011]][[ablur]]
+
+
+[[administering-the-monitoring-service]]
+== 8 Administering the Monitoring Service
+
+This chapter explains how to monitor the {productName} 7 components and services by using the `asadmin` command-line
+utility. Instructions for configuring JConsole to monitor {productName} resources are also provided.
+
+The following topics are addressed here:
+
+* link:#ablus[About Monitoring]
+* link:#ablvp[Configuring Monitoring]
+* link:#ablvs[Viewing Common Monitoring Data]
+* link:#ghmct[Viewing Comprehensive Monitoring Data]
+* link:#giwqm[Configuring JConsole to View {productName} Monitoring
+Data]
+
+Instructions for monitoring by using the Administration Console are
+contained in the Administration Console online help.
+
+For information on using REST interfaces for monitoring, see
+link:general-administration.html#gjipx[Using REST Interfaces to
+Administer {productName}].
+
+[[ablus]][[GSADG00557]][[about-monitoring]]
+
+=== About Monitoring
+
+Monitoring is the process of reviewing the statistics of a system to
+improve performance or solve problems. The monitoring service can track
+and display operational statistics, such as the number of requests per
+second, the average response time, and the throughput. By monitoring the
+state of various components and services deployed in {productName},
+you can identify performance bottlenecks, predict failures, perform root
+cause analysis, and ensure that everything is functioning as expected.
+Data gathered by monitoring can also be useful in performance tuning and
+capacity planning.
+
+For this release of {productName}, monitoring is exposed in a modular
+way so that many client modules can access and display the monitoring
+statistics. These clients include the Administration Console, the
+`asadmin` utility, AMX, and REST interfaces.
+
+The following topics are addressed here:
+
+* link:#ghbaz[How the Monitoring Tree Structure Works]
+* link:#gitkq[About Monitoring for Add-on Components]
+* link:#ghbfq[Tools for Monitoring {productName}]
+
+[[ghbaz]][[GSADG00727]][[how-the-monitoring-tree-structure-works]]
+
+==== How the Monitoring Tree Structure Works
+
+A monitorable object is a component, subcomponent, or service that can
+be monitored. {productName} uses a tree structure to track
+monitorable objects. Because the tree is dynamic, the tree changes as
+{productName} components are added or removed.
+
+In the tree, a monitorable object can have child objects (nodes) that
+represent exactly what can be monitored for that object. All child
+objects are addressed using the dot (.) character as a separator. These
+constructed names are referred to as dotted names. Detailed information
+on dotted names is available in the
+link:reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.
+
+The following command lists the monitorable child objects of the
+instance `server`:
+
+[source]
+----
+asadmin> list --monitor "server.*"
+
+server.applications
+server.connector-service
+server.http-service
+server.jms-service
+server.jvm
+server.network
+server.orb
+server.resources
+server.security
+server.thread-pool
+server.transaction-service
+server.web
+----
+
+Each object is represented by a dotted name. Dotted names can also
+address specific attributes in monitorable objects. For example, the
+`jvm` object has a `memory` attribute with a statistic called
+`maxheapsize`. The following dotted name addresses the attribute:
+
+[source]
+----
+server.jvm.memory.maxheapsize
+----
+
+Although an object is monitorable, it is not necessarily being actively
+monitored. For instructions on activating monitoring, see
+link:#ablvp[Configuring Monitoring].
+
+[[abluv]][[GSADG00647]][[tree-structure-of-monitorable-objects]]
+
+===== Tree Structure of Monitorable Objects
+
+Each monitorable object has a hierarchical tree structure. In the tree,
+a replaceable such as *statistics represents the name of the attribute
+that you can show statistics for.
+
+The following node tree hierarchies are addressed here:
+
+* link:#abluw[Applications Tree Hierarchy]
+* link:#abluz[Connector Service Tree Hierarchy]
+* link:#ghlin[HTTP Service Tree Hierarchy]
+* link:#ablva[JMS/Container Service Tree Hierarchy]
+* link:#ghlic[JVM Tree Hierarchy]
+* link:#giznj[Network Tree Hierarchy]
+* link:#ablvb[ORB Tree Hierarchy]
+* link:#giqdo[Resources Tree Hierarchy]
+* link:#gjios[Security Tree Hierarchy]
+* link:#ablvc[Thread Pool Tree Hierarchy]
+* link:#gitci[Transactions Service Tree Hierarchy]
+* link:#ghlff[Web Tree Hierarchy]
+
+[[abluw]][[GSADG00040]][[applications-tree-hierarchy]]
+
+Applications Tree Hierarchy
+
+The `applications` tree contains the following nodes:
+
+[source]
+----
+server.applications
+   |--- application1
+   |    |--- ejb-module-1
+   |    |        |--- ejb1 *
+   |    |                  |--- bean-cache (for entity/sfsb) *
+   |    |                  |--- bean-pool (for slsb/mdb/entity) *
+   |    |                  |--- bean-methods
+   |    |                       |---method1 *
+   |    |                       |---method2 *
+   |    |                  |--- timers (for s1sb/entity/mdb) *
+   |    |--- web-module-1
+   |    |        |--- virtual-server-1 *
+   |    |                       |---servlet1  *
+   |    |                       |---servlet2  *
+   |--- standalone-web-module-1
+   |    |        |----- virtual-server-2 *
+   |    |                       |---servlet3 *
+   |    |                       |---servlet4 *
+   |    |        |----- virtual-server-3 *
+   |    |                       |---servlet3 *(same servlet on different vs)
+   |    |                       |---servlet5 *
+   |--- standalone-ejb-module-1
+   |    |        |--- ejb2 *
+   |    |                  |--- bean-cache (for entity/sfsb) *
+   |    |                  |--- bean-pool (for slsb/mdb/entity) *
+   |    |                  |--- bean-methods
+   |    |                       |--- method1 *
+   |    |                       |--- method2 *
+   |    |                  |--- timers (for s1sb/entity/mdb) *
+   |--- jersey-application-1
+   |    |--- jersey
+   |    |        |--- resources
+                           resource-0
+                               hitcount
+                                    *statistic
+   |--- application2
+----
+
+An example dotted name might be:
+
+[source]
+----
+server.applications.hello.server.request.maxtime
+----
+
+An example dotted name under the EJB `method` node might be:
+
+[source]
+----
+server.applications.ejbsfapp1.ejbsfapp1ejbmod1\.jar.SFApp1EJB1
+----
+
+An example Jersey dotted name might be:
+
+[source]
+----
+server.applications.helloworld-webapp.jersey.resources.resource-0.hitcount.resourcehitcount-count
+----
+
+For available statistics, see link:#gjkbi[EJB Statistics],
+link:#gjjyb[Jersey Statistics], and link:#ablvf[Web Statistics].
+
+[[abluz]][[GSADG00041]][[connector-service-tree-hierarchy]]
+
+Connector Service Tree Hierarchy
+
+The `connector-service` tree holds monitorable attributes for pools such
+as the connector connection pool. The `connector-service` tree contains
+the following nodes:
+
+[source]
+----
+server.connector-service
+        resource-adapter-1
+             connection-pools
+                  pool-1
+             work-management
+----
+
+An example dotted name might be
+`server.connector-service.resource-adapter-1.connection-pools.pool-1`.
+For available statistics, see link:#ablvi[JMS/Connector Service
+Statistics].
+
+[[ghlin]][[GSADG00042]][[http-service-tree-hierarchy]]
+
+HTTP Service Tree Hierarchy
+
+The `http-service` tree contains the following nodes:
+
+[source]
+----
+server.http-service
+       virtual-server
+           request
+               *statistic
+       _asadmin
+           request
+               *statistic
+----
+
+An example dotted name under the virutal-server node might be
+`server.http-service.virtual-server1.request.requestcount`. For
+available statistics, see link:#ablvg[HTTP Service Statistics].
+
+[[ablva]][[GSADG00043]][[jmscontainer-service-tree-hierarchy]]
+
+JMS/Container Service Tree Hierarchy
+
+The `jms-service` tree holds monitorable attributes for connection
+factories (connection pools for resource adapters) and work management
+(for Message Queue resource adapters). The `jms-service` tree contains
+the following nodes:
+
+[source]
+----
+server.jms-service
+        connection-factories
+             connection-factory-1
+        work-management
+----
+
+An example dotted name under the `connection-factories` node might be
+`server.jms-service.connection-factories.connection-factory-1` which
+shows all the statistics for this connection factory. For available
+statistics, see link:#ablvi[JMS/Connector Service Statistics].
+
+[[ghlic]][[GSADG00044]][[jvm-tree-hierarchy]]
+
+JVM Tree Hierarchy
+
+The `jvm` tree contains the following nodes:
+
+[source]
+----
+server.jvm
+           class-loading-system
+           compilation-system
+           garbage-collectors
+           memory
+           operating-system
+           runtime
+----
+
+An example dotted name under the `memory` node might be
+`server.jvm.memory.maxheapsize`. For available statistics, see
+link:#ablvm[JVM Statistics].
+
+[[giznj]][[GSADG00045]][[network-tree-hierarchy]]
+
+Network Tree Hierarchy
+
+The network statistics apply to the network listener, such as
+`admin-listener`, `http-listener-1`, `ttp-listener-2`. The `network`
+tree contains the following nodes:
+
+[source]
+----
+server.network
+          type-of-listener
+              keep-alive
+                    *statistic
+              file-cache
+                    *statistic
+              thread-pool
+                    *statistic
+              connection-queue
+                     *statistic
+----
+
+An example dotted name under the `network` node might be
+`server.network.admin-listener.keep-alive.maxrequests-count`. For
+available statistics, see link:#gjipy[Network Statistics].
+
+[[ablvb]][[GSADG00046]][[orb-tree-hierarchy]]
+
+ORB Tree Hierarchy
+
+The `orb` tree holds monitorable attributes for connection managers. The
+`orb` tree contains the following nodes:
+
+[source]
+----
+server.orb
+    transport
+        connectioncache
+            inbound
+                *statistic
+            outbound
+                *statistic
+----
+
+An example dotted name might be
+`server.orb.transport.connectioncache.inbound.connectionsidle-count`.
+For available statistics, see link:#ablvj[ORB Statistics (Connection
+Manager)].
+
+[[giqdo]][[GSADG00047]][[resources-tree-hierarchy]]
+
+Resources Tree Hierarchy
+
+The `resources` tree holds monitorable attributes for pools such as the
+JDBC connection pool and connector connection pool. The `resources` tree
+contains the following nodes:
+
+[source]
+----
+server.resources
+       connection-pool
+           request
+               *statistic
+----
+
+An example dotted name might be
+`server.resources.jdbc-connection-pool1.numconnfree.count`. For
+available statistics, see link:#gipzv[Resource Statistics (Connection
+Pool)].
+
+[[gjios]][[GSADG00048]][[security-tree-hierarchy]]
+
+Security Tree Hierarchy
+
+The security tree contains the following nodes:
+
+[source]
+----
+server.security
+       ejb
+          *statistic
+       web
+          *statistic
+       realm
+          *statistic
+----
+
+An example dotted name might be
+`server.security.realm.realmcount-starttime`. For available statistics,
+see link:#gjiov[Security Statistics].
+
+[[ablvc]][[GSADG00049]][[thread-pool-tree-hierarchy]]
+
+Thread Pool Tree Hierarchy
+
+The `thread-pool` tree holds monitorable attributes for connection
+managers, and contains the following nodes:
+
+[source]
+----
+server.thread-pool
+                orb
+                    threadpool
+                            thread-pool-1
+                                *statistic
+----
+
+An example dotted name might be
+`server.thread-pool.orb.threadpool.thread-pool-1.averagetimeinqueue-current`.
+For available statistics, see link:#ablvk[Thread Pool Statistics].
+
+[[gitci]][[GSADG00050]][[transactions-service-tree-hierarchy]]
+
+Transactions Service Tree Hierarchy
+
+The `transaction-service` tree holds monitorable attributes for the
+transaction subsystem for the purpose of rolling back transactions. The
+`transaction-service` tree contains the following nodes:
+
+[source]
+----
+server.transaction-service
+         statistic
+----
+
+An example dotted name might be `server.tranaction-service.activeids`.
+For available statistics, see link:#ablvl[Transaction Service
+Statistics].
+
+[[ghlff]][[GSADG00051]][[web-tree-hierarchy]]
+
+Web Tree Hierarchy
+
+The `web` tree contains the following nodes:
+
+[source]
+----
+server.web
+           jsp
+              *statistic
+           servlet
+              *statistic
+           session
+              *statistic
+           request
+              *statistic
+----
+
+An example dotted name for the `servlet` node might be
+`server.web.servlet.activeservletsloadedcount`. For available
+statistics, see link:#ghljx[Web Module Common Statistics].
+
+[[gitkq]][[GSADG00728]][[about-monitoring-for-add-on-components]]
+
+==== About Monitoring for Add-on Components
+
+An add-on component typically generates statistics that {productName}
+can gather at runtime. Adding monitoring capabilities enables an add-on
+component to provide statistics to {productName} in the same way as
+components that are supplied in the {productName} distributions. As a
+result, you can use the same administrative interfaces to monitor
+statistics from any installed {productName} component, regardless of
+the origin of the component.
+
+[[ghbfq]][[GSADG00729]][[tools-for-monitoring-glassfish-server]]
+
+==== Tools for Monitoring {productName}
+
+The following `asadmin` subcommands are provided for monitoring the
+services and components of {productName}:
+
+* The `enable-monitoring`, `disable-monitoring`, or the `get` and `set`
+subcommands are used to turn monitoring on or off. For instructions, see
+link:#ablvp[Configuring Monitoring].
+* The `monitor` `type` subcommand is used to display basic data for a
+particular type of monitorable object. For instructions, see
+link:#ablvs[Viewing Common Monitoring Data].
+* The `list` `--monitor` subcommand is used to display the objects that
+can be monitored with the `monitor` subcommand. For guidelines and
+instructions, see link:#ablwh[Guidelines for Using the `list` and `get`
+Subcommands for Monitoring].
+* The `get` subcommand is used to display comprehensive data, such as
+the attributes and values for a dotted name. The `get` subcommand used
+with a wildcard parameter displays all available attributes for any
+monitorable object. For additional information, see
+link:#ablwh[Guidelines for Using the `list` and `get` Subcommands for
+Monitoring].
+
+[[ablvp]][[GSADG00558]][[configuring-monitoring]]
+
+=== Configuring Monitoring
+
+By default, the monitoring service is enabled for {productName}, but
+monitoring for the individual modules is not. To enable monitoring for a
+module, you change the monitoring level for that module to LOW or HIGH,
+You can choose to leave monitoring OFF for objects that do not need to
+be monitored.
+
+* LOW. Simple statistics, such as create count, byte count, and so on
+* HIGH. Simple statistics plus method statistics, such as method count,
+duration, and so on
+* OFF. No monitoring, no impact on performance
+
+The following tasks are addressed here:
+
+* link:#ablvr[To Enable Monitoring]
+* link:#gglcu[To Disable Monitoring]
+
+[[ablvr]][[GSADG00386]][[to-enable-monitoring]]
+
+==== To Enable Monitoring
+
+Use the `enable-monitoring` subcommand to enable the monitoring service
+itself, or to enable monitoring for individual modules. Monitoring is
+immediately activated, without restarting {productName}.
+
+You can also use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to enable
+monitoring for a module. Using the `set` command is not a dynamic
+procedure, so you need to restart {productName} for your changes to
+take effect.
+
+1. Determine which services and components are currently enabled for
+monitoring.
++
+[source]
+----
+asadmin> get server.monitoring-service.module-monitoring-levels.*
+----
+This example output shows that the HTTP service is not enabled (OFF for
+monitoring), but other objects are enabled:
++
+[source]
+----
+configs.config.server-config.monitoring-service.module-monitoring-levels.web-container=HIGH
+       configs.config.server-config.monitoring-service.module-monitoring-levels.http-service=OFF
+           configs.config.server-config.monitoring-service.module-monitoring-levels.jvm=HIGH
+----
+2. Enable monitoring by using the olink:GSRFM00128[`enable-monitoring`]
+subcommand.
++
+Server restart is not required.
+
+[[GSADG00188]][[gixri]]
+Example 8-1 Enabling the Monitoring Service Dynamically
+
+This example enables the monitoring service without affecting monitoring
+for individual modules.
+
+[source]
+----
+asadmin> enable-monitoring
+Command enable-monitoring executed successfully
+----
+
+[[GSADG00189]][[gixre]]
+Example 8-2 Enabling Monitoring for Modules Dynamically
+
+This example enables monitoring for the `ejb-container` module.
+
+[source]
+----
+asadmin> enable-monitoring --level ejb-container=HIGH
+Command enable-monitoring executed successfully
+----
+
+[[GSADG00190]][[gjcmm]]
+Example 8-3 Enabling Monitoring for Modules by Using the `set`
+Subcommand
+
+This example enables monitoring for the HTTP service by setting the
+monitoring level to HIGH (you must restart the server for changes to
+take effect).
+
+[source]
+----
+asadmin> set server.monitoring-service.module-monitoring-levels.http-service=HIGH
+Command set executed successfully
+----
+
+[[GSADG875]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help enable-monitoring` at the command line.
+
+[[gglcu]][[GSADG00387]][[to-disable-monitoring]]
+
+==== To Disable Monitoring
+
+Use the `disable-monitoring` subcommand to disable the monitoring
+service itself, or to disable monitoring for individual modules.
+Monitoring is immediately stopped, without restarting {productName}.
+
+You can also use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to disable
+monitoring for a module. Using the `set` command is not a dynamic
+procedure, so you need to restart {productName} for your changes to
+take effect.
+
+1. Determine which services and components currently are enabled for
+monitoring.
++
+[source]
+----
+asadmin get server.monitoring-service.module-monitoring-levels.*
+----
+This example output shows that monitoring is enabled for
+`web-container`, `http-service`, and `jvm`:
++
+[source]
+----
+configs.config.server-config.monitoring-service.module-monitoring-levels.web-container=HIGH
+       configs.config.server-config.monitoring-service.module-monitoring-levels.http-service=HIGH
+              configs.config.server-config.monitoring-service.module-monitoring-levels.jvm=HIGH
+----
+2. Disable monitoring for a service or module by using the
+link:reference-manual/disable-monitoring.html#GSRFM00120[`disable-monitoring`] subcommand.
++
+Server restart is not required.
+
+[[GSADG00191]][[gixsc]]
+Example 8-4 Disabling the Monitoring Service Dynamically
+
+This example disables the monitoring service without changing the
+monitoring levels for individual modules.
+
+[source]
+----
+asadmin> disable-monitoring
+Command disable-monitoring executed successfully
+----
+
+[[GSADG00192]][[gjcnw]]
+Example 8-5 Disabling Monitoring for Modules Dynamically
+
+This example disables monitoring for specific modules. Their monitoring
+levels are set to OFF.
+
+[source]
+----
+asadmin> disable-monitoring --modules web-container,ejb-container
+Command disable-monitoring executed successfully
+----
+
+[[GSADG00193]][[gixpg]]
+Example 8-6 Disabling Monitoring by Using the `set` Subcommand
+
+This example disables monitoring for the HTTP service (you must restart
+the server for changes to take effect).
+
+[source]
+----
+asadmin> set server.monitoring-service.module-monitoring-levels.http-service=OFF
+Command set executed successfully
+----
+
+[[GSADG876]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help disable-monitoring` at the command line.
+
+[[ablvs]][[GSADG00559]][[viewing-common-monitoring-data]]
+
+=== Viewing Common Monitoring Data
+
+Use the `monitor` subcommand to display basic data on commonly-monitored
+objects.
+
+* link:#gelol[To View Common Monitoring Data]
+* link:#ghmdc[Common Monitoring Statistics]
+
+[[gelol]][[GSADG00388]][[to-view-common-monitoring-data]]
+
+==== To View Common Monitoring Data
+
+Use the `--type` option of the `monitor` subcommand to specify the
+object for which you want to display data, such as `httplistener`,
+`jvm`, `webmodule`. If you use the `monitor` subcommand without
+specifying a type, an error message is displayed.
+
+Output from the subcommand is displayed continuously in a tabular
+format. The `--interval` option can be used to display output at a
+particular interval (the default is 30 seconds).
+
+[[GSADG877]]
+
+Before You Begin
+
+A monitorable object must be configured for monitoring before you can
+display data on the object. See link:#ablvr[To Enable Monitoring].
+
+1. Determine which type of monitorable object you want to monitor.
++
+Your choices for 5.0 are `jvm`, `httplistener`, and `webmodule`.
+2. Request the monitoring data by using the link:reference-manual/monitor.html#GSRFM00212[`monitor`]
+subcommand.
+
+[[GSADG00194]][[ghljw]]
+Example 8-7 Viewing Common Monitoring Data
+
+This example requests common data for type `jvm` on instance `server`.
+
+[source]
+----
+asadmin> monitor --type jvm server
+
+UpTime(ms)                          Heap and NonHeap Memory(bytes)
+current                   min        max        low        high       count
+
+9437266                   8585216    619642880  0          0          93093888
+9467250                   8585216    619642880  0          0          93093888
+----
+
+[[GSADG878]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help monitor` at the command line.
+
+[[ghmdc]][[GSADG00730]][[common-monitoring-statistics]]
+
+==== Common Monitoring Statistics
+
+Common monitoring statistics are described in the following sections:
+
+* link:#ghltk[HTTP Listener Common Statistics]
+* link:#ghlvm[JVM Common Statistics]
+* link:#ghljx[Web Module Common Statistics]
+
+[[ghltk]][[GSADG00648]][[http-listener-common-statistics]]
+
+===== HTTP Listener Common Statistics
+
+The statistics available for the `httplistener` type are shown in the
+following table.
+
+[[GSADG879]][[sthref28]][[ghlta]]
+
+
+Table 8-1 HTTP Listener Common Monitoring Statistics
+
+[width="100%",cols="17%,83%",options="header",]
+|===
+|Statistic |Description
+|`ec` |Error count. Cumulative value of the error count
+
+|`mt` |Maximum time. Longest response time for a request; not a
+cumulative value, but the largest response time from among the response
+times
+
+|`pt` |Processing time. Cumulative value of the times taken to process
+each request, with processing time being the average of request
+processing times over request
+
+|`rc` |Request count. Cumulative number of requests processed so far
+|===
+
+
+[[ghlvm]][[GSADG00649]][[jvm-common-statistics]]
+
+===== JVM Common Statistics
+
+The statistics available for the `jvm` type are shown in the following
+table.
+
+[[GSADG880]][[sthref29]][[ghlsl]]
+
+
+Table 8-2 JVM Common Monitoring Statistics
+
+[width="100%",cols="19%,81%",options="header",]
+|===
+|Statistic |Description
+|`count` |Amount of memory (in bytes) that is guaranteed to be available
+for use by the JVM machine
+
+|`high` |Retained for compatibility with other releases
+
+|`low` |Retained for compatibility with other releases
+
+|`max` |The maximum amount of memory that can be used for memory
+management.
+
+|`min` |Initial amount of memory (in bytes) that the JVM machine
+requests from the operating system for memory management during startup
+
+|`UpTime` |Number of milliseconds that the JVM machine has been running
+since it was last started
+|===
+
+
+[[ghljx]][[GSADG00650]][[web-module-common-statistics]]
+
+===== Web Module Common Statistics
+
+The statistics available for the `webmodule` type are shown in the
+following table.
+
+[[GSADG881]][[sthref30]][[ghqly]]
+
+
+Table 8-3 Web Module Common Monitoring Statistics
+
+[width="100%",cols="18%,82%",options="header",]
+|===
+|Statistic |Description
+|`ajlc` |Number of active JavaServer Pages (JSP) technology pages that
+are loaded
+
+|`asc` |Current active sessions
+
+|`aslc` |Number of active servlets that are loaded
+
+|`ast` |Total active sessions
+
+|`mjlc` |Maximum number of JSP pages that are loaded
+
+|`mslc` |Maximum number of servlets that are loaded
+
+|`rst` |Total rejected sessions
+
+|`st` |Total sessions
+
+|`tjlc` |Total number of JSP pages that are loaded
+
+|`tslc` |Total number of servlets that are loaded
+|===
+
+
+[[ghmct]][[GSADG00560]][[viewing-comprehensive-monitoring-data]]
+
+=== Viewing Comprehensive Monitoring Data
+
+By applying the `list` and `get` subcommands against the tree structure
+using dotted names, you can display more comprehensive monitoring data,
+such as a description of each of the statistics and its unit of
+measurement.
+
+The following topics are addressed here:
+
+* link:#ablwh[Guidelines for Using the `list` and `get` Subcommands for
+Monitoring]
+* link:#ablvv[To View Comprehensive Monitoring Data]
+* link:#ghmcn[Comprehensive Monitoring Statistics]
+
+[[ablwh]][[GSADG00731]][[guidelines-for-using-the-list-and-get-subcommands-for-monitoring]]
+
+==== Guidelines for Using the `list` and `get` Subcommands for Monitoring
+
+The underlying assumptions for using the `list` and `get` subcommands
+with dotted names are:
+
+* A `list` subcommand that specifies a dotted name that is not followed
+by a wildcard (`*`) lists the current node's immediate children. For
+example, the following subcommand lists all immediate children belonging
+to the `server` node:
++
+[source]
+----
+list --monitor server
+----
+* A `list` subcommand that specifies a dotted name followed by a
+wildcard of the form `.*` lists a hierarchical tree of child nodes from
+the specified node. For example, the following subcommand lists all
+children of the `applications` node, their subsequent child nodes, and
+so on:
++
+[source]
+----
+list --monitor server.applications.*
+----
+* A `list` subcommand that specifies a dotted name preceded or followed
+by a wildcard of the form *dottedname or dotted * name or dottedname *
+lists all nodes and their children that match the regular expression
+created by the specified matching pattern.
+* A `get` subcommand followed by a `.*` or a `*` gets the set of
+attributes and their values that belong to the node specified.
+
+For example, the following table explains the output of the `list` and
+`get` subcommands used with the dotted name for the `resources` node.
+
+[[GSADG882]][[sthref31]][[ggnpb]]
+
+
+Table 8-4 Example Resources Level Dotted Names
+
+[width="100%",cols="23%,41%,36%",options="header",]
+|===
+|Subcommand |Dotted Name |Output
+|`list --monitor` |`server.resources` |List of pool names.
+
+|`list --monitor` |`server.resources.``connection-pool1` |No attributes,
+but a message saying "Use `get` subcommand with the `--monitor` option
+to view this node's attributes and values."
+
+|`get --monitor` |`server.resources.``connection-pool1.*` |List of
+attributes and values corresponding to connection pool attributes.
+|===
+
+
+For detailed information on dotted names, see the
+link:reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.
+
+[[ablvv]][[GSADG00389]][[to-view-comprehensive-monitoring-data]]
+
+==== To View Comprehensive Monitoring Data
+
+Although the `monitor` subcommand is useful in many situations, it does
+not offer the complete list of all monitorable objects. To work with
+comprehensive data for an object type, use the `list` `monitor` and the
+`get` `monitor` subcommands followed by the dotted name of a monitorable
+object.
+
+[[GSADG883]]
+
+Before You Begin
+
+A monitorable object must be configured for monitoring before you can
+display information about the object. See link:#ablvr[To Enable
+Monitoring] if needed.
+
+1. List the objects that are enabled for monitoring by using the
+link:reference-manual/list.html#GSRFM00145[`list`] subcommand.
++
+For example, the following subcommand lists all components and services
+that have monitoring enabled for instance `server`.
++
+[source]
+----
+asadmin> list --monitor "*"
+server.web
+server.connector-service
+server.orb
+server.jms-serviceserver.jvm
+server.applications
+server.http-service
+server.thread-pools
+----
+2. Get data for a monitored component or service by using the
+link:reference-manual/get.html#GSRFM00139[`get`] subcommand.
+
+[[GSADG00195]][[ghlre]]
+Example 8-8 Viewing Attributes for a Specific Type
+
+This example gets information about all the attributes for object type
+`jvm` on instance `server`.
+
+[source]
+----
+asadmin> get --monitor server.jvm.*
+server.jvm.class-loading-system.loadedclasscount = 3715
+server.jvm.class-loading-system.totalloadedclasscount = 3731
+server.jvm.class-loading-system.unloadedclasscount = 16
+server.jvm.compilation-system.name-current = HotSpot Client Compiler
+server.jvm.compilation-system.totalcompilationtime = 769
+server.jvm.garbage-collectors.Copy.collectioncount = 285
+server.jvm.garbage-collectors.Copy.collectiontime = 980
+server.jvm.garbage-collectors.MarkSweepCompact.collectioncount = 2
+server.jvm.garbage-collectors.MarkSweepCompact.collectiontime = 383
+server.jvm.memory.committedheapsize = 23498752
+server.jvm.memory.committednonheapsize = 13598720
+server.jvm.memory.initheapsize = 0
+server.jvm.memory.initnonheapsize = 8585216
+server.jvm.memory.maxheapsize = 66650112
+server.jvm.memory.maxnonheapsize = 100663296
+server.jvm.memory.objectpendingfinalizationcount = 0
+server.jvm.memory.usedheapsize = 19741184
+server.jvm.memory.usednonheapsize = 13398352
+server.jvm.operating-system.arch-current = x86
+server.jvm.operating-system.availableprocessors = 2
+server.jvm.operating-system.name-current = Windows XP
+server.jvm.operating-system.version-current = 5.1
+server.jvm.runtime.classpath-current = glassfish.jar
+server.jvm.runtime.inputarguments-current = []
+server.jvm.runtime.managementspecversion-current = 1.0
+server.jvm.runtime.name-current = 4372@ABBAGANI_WORK
+server.jvm.runtime.specname-current = Java Virtual Machine Specification
+server.jvm.runtime.specvendor-current = Sun Microsystems Inc.
+server.jvm.runtime.specversion-current = 1.0
+server.jvm.runtime.uptime = 84813
+server.jvm.runtime.vmname-current = Java HotSpot(TM) Client VM
+server.jvm.runtime.vmvendor-current = Sun Microsystems Inc.
+server.jvm.runtime.vmversion-current = 1.5.0_11-b03
+----
+
+[[GSADG00196]][[ghbgv]]
+Example 8-9 Viewing Monitorable Applications
+
+This example lists all the monitorable applications for instance
+`server`.
+
+[source]
+----
+asadmin> list --monitor server.applications.*
+server.applications.app1
+server.applications.app2
+server.applications.app1.virtual-server1
+server.applications.app2.virtual-server1
+----
+
+[[GSADG00197]][[ghbfj]]
+Example 8-10 Viewing Attributes for an Application
+
+This example gets information about all the attributes for application
+`hello`.
+
+[source]
+----
+asadmin> get --monitor server.applications.hello.*
+server.applications.hello.server.activatedsessionstotal = 0
+server.applications.hello.server.activejspsloadedcount = 1
+server.applications.hello.server.activeservletsloadedcount = 1
+server.applications.hello.server.activesessionscurrent = 1
+server.applications.hello.server.activesessionshigh = 1
+server.applications.hello.server.errorcount = 0
+server.applications.hello.server.expiredsessionstotal = 0
+server.applications.hello.server.maxjspsloadedcount = 1
+server.applications.hello.server.maxservletsloadedcount = 0
+server.applications.hello.server.maxtime = 0
+server.applications.hello.server.passivatedsessionstotal = 0
+server.applications.hello.server.persistedsessionstotal = 0
+server.applications.hello.server.processingtime = 0.0
+server.applications.hello.server.rejectedsessionstotal = 0
+server.applications.hello.server.requestcount = 0
+server.applications.hello.server.sessionstotal =
+server.applications.hello.server.totaljspsloadedcount = 0
+server.applications.hello.server.totalservletsloadedcount = 0
+----
+
+[[GSADG00198]][[ghbge]]
+Example 8-11 Viewing a Specific Attribute
+
+This example gets information about the `jvm` attribute
+`runtime.vmversion-current` on instance `server`.
+
+[source]
+----
+asadmin> get --monitor server.jvm.runtime.vmversion-current
+server.jvm.runtime.vmversion-current = 10.0-b23
+----
+
+[[ghmcn]][[GSADG00732]][[comprehensive-monitoring-statistics]]
+
+==== Comprehensive Monitoring Statistics
+
+You can get comprehensive monitoring statistics by forming a dotted name
+that specifies the statistic you are looking for. For example, the
+following dotted name will display the cumulative number of requests for
+the HTTP service on `virtual-server1`:
+
+`server.http-service.virtual-server1.request.requestcount`
+
+The tables in the following sections list the statistics that are
+available for each monitorable object:
+
+* link:#gjkbi[EJB Statistics]
+* link:#ablvg[HTTP Service Statistics]
+* link:#gjjyb[Jersey Statistics]
+* link:#ablvi[JMS/Connector Service Statistics]
+* link:#ablvm[JVM Statistics]
+* link:#gjipy[Network Statistics]
+* link:#ablvj[ORB Statistics (Connection Manager)]
+* link:#gipzv[Resource Statistics (Connection Pool)]
+* link:#gjiov[Security Statistics]
+* link:#ablvk[Thread Pool Statistics]
+* link:#ablvl[Transaction Service Statistics]
+* link:#ablvf[Web Statistics]
+
+[[gjkbi]][[GSADG00651]][[ejb-statistics]]
+
+===== EJB Statistics
+
+EJBs fit into the tree of objects as shown in link:#abluw[Applications
+Tree Hierarchy]. Use the following dotted name pattern to get EJB
+statistics for an application:
+
+[source]
+----
+server.applications.appname.ejbmodulename.ejbname.bean-cache.statistic
+----
+
+
+[NOTE]
+====
+EJB statistics for an application are available after the application is
+executed. If the application is deployed but has not yet been executed,
+all counts will show default values. When the application is undeployed,
+all its monitoring data is lost.
+====
+
+
+Statistics available for applications are shown in the following
+sections:
+
+* link:#gisyw[EJB Cache Statistics]
+* link:#giszu[EJB Container Statistics]
+* link:#gisyx[EJB Method Statistics]
+* link:#gisza[EJB Pool Statistics]
+* link:#gisyr[Timer Statistics]
+
+[[gisyw]][[GSADG00052]][[ejb-cache-statistics]]
+
+EJB Cache Statistics
+
+Use the following dotted name pattern for EJB cache statistics:
+
+[source]
+----
+server.applications.appname.ejbmodulename.bean-cache.ejbname.statistic
+----
+
+The statistics available for EJB caches are listed in the following
+table.
+
+[[GSADG884]][[sthref32]][[gelod]]
+
+
+Table 8-5 EJB Cache Monitoring Statistics
+
+[width="100%",cols="37%,16%,47%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`cachemisses` |RangeStatistic |The number of times a user request does
+not find a bean in the cache.
+
+|`cachehits` |RangeStatistic |The number of times a user request found
+an entry in the cache.
+
+|`numbeansincache` |RangeStatistic |The number of beans in the cache.
+This is the current size of the cache.
+
+|`numpassivations` |CountStatistic |Number of passivated beans. Applies
+only to stateful session beans.
+
+|`numpassivationerrors` |CountStatistic |Number of errors during
+passivation. Applies only to stateful session beans.
+
+|`numexpiredsessionsremoved` |CountStatistic |Number of expired sessions
+removed by the cleanup thread. Applies only to stateful session beans.
+
+|`numpassivationsuccess` |CountStatistic |Number of times passivation
+completed successfully. Applies only to stateful session beans.
+|===
+
+
+[[giszu]][[GSADG00053]][[ejb-container-statistics]]
+
+EJB Container Statistics
+
+Use the following dotted name pattern for EJB container statistics:
+
+[source]
+----
+server.applications.appname.ejbmodulename.container.ejbname
+----
+
+The statistics available for EJB containers are listed in the following
+table.
+
+[[GSADG885]][[sthref33]][[gelns]]
+
+
+Table 8-6 EJB Container Monitoring Statistics
+
+[width="100%",cols="24%,16%,60%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`createcount` |CountStatistic |Number of times an EJB's `create` method
+is called.
+
+|`messagecount` |CountStatistic |Number of messages received for a
+message-driven bean.
+
+|`methodreadycount` |RangeStatistic |Number of stateful or stateless
+session beans that are in the `MethodReady` state.
+
+|`passivecount` |RangeStatistic |Number of stateful session beans that
+are in `Passive` state.
+
+|`pooledcount` |RangeStatistic |Number of entity beans in pooled state.
+
+|`readycount` |RangeStatistic |Number of entity beans in ready state.
+
+|`removecount` |CountStatistic |Number of times an EJB's `remove` method
+is called.
+|===
+
+
+[[gisyx]][[GSADG00054]][[ejb-method-statistics]]
+
+EJB Method Statistics
+
+Use the following dotted name pattern for EJB method statistics:
+
+[source]
+----
+server.applications.appname.ejbmodulename.bean-methods.ejbname.statistic
+----
+
+The statistics available for EJB method invocations are listed in the
+following table.
+
+[[GSADG886]][[sthref34]][[gelnu]]
+
+
+Table 8-7 EJB Method Monitoring Statistics
+
+[width="100%",cols="23%,16%,61%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`executiontime` |CountStatistic |Time, in milliseconds, spent executing
+the method for the last successful/unsuccessful attempt to run the
+operation. This is collected for stateless and stateful session beans
+and entity beans if monitoring is enabled on the EJB container.
+
+|`methodstatistic` |TimeStatistic |Number of times an operation is
+called; the total time that is spent during the invocation, and so on.
+
+|`totalnumerrors` |CountStatistic |Number of times the method execution
+resulted in an exception. This is collected for stateless and stateful
+session beans and entity beans if monitoring is enabled for the EJB
+container.
+
+|`totalnumsuccess` |CountStatistic |Number of times the method
+successfully executed. This is collected for stateless and stateful
+session beans and entity beans if monitoring enabled is true for EJB
+container.
+|===
+
+
+[[gisza]][[GSADG00055]][[ejb-pool-statistics]]
+
+EJB Pool Statistics
+
+Use the following dotted name pattern for EJB pool statistics:
+
+[source]
+----
+server.applications.appname.ejbmodulename.bean-pool.ejbname.statistic
+----
+
+The statistics available for EJB pools are listed in the following
+table.
+
+[[GSADG887]][[sthref35]][[gelpe]]
+
+
+Table 8-8 EJB Pool Monitoring Statistics
+
+[width="100%",cols="28%,16%,56%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`jmsmaxmessagesload` |CountStatistic |The maximum number of messages to
+load into a JMS session at one time for a message-driven bean to serve.
+Default is 1. Applies only to pools for message driven beans.
+
+|`numbeansinpool` |RangeStatistic |Number of EJBs in the associated
+pool, providing information about how the pool is changing.
+
+|`numthreadswaiting` |RangeStatistic |Number of threads waiting for free
+beans, giving an indication of possible congestion of requests.
+
+|`totalbeanscreated` |CountStatistic |Number of beans created in
+associated pool since the gathering of data started.
+
+|`totalbeansdestroyed` |CountStatistic |Number of beans destroyed from
+associated pool since the gathering of data started.
+|===
+
+
+[[gisyr]][[GSADG00057]][[timer-statistics]]
+
+Timer Statistics
+
+Use the following dotted name pattern for timer statistics:
+
+[source]
+----
+server.applications.appname.ejbmodulename.timers.ejbname.statistic
+----
+
+The statistics available for timers are listed in the following table.
+
+[[GSADG889]][[sthref36]][[gelob]]
+
+
+Table 8-9 Timer Monitoring Statistics
+
+[width="100%",cols="28%,16%,56%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`numtimerscreated` |CountStatistic |Number of timers created in the
+system.
+
+|`numtimersdelivered` |CountStatistic |Number of timers delivered by the
+system.
+
+|`numtimersremoved` |CountStatistic |Number of timers removed from the
+system.
+|===
+
+
+[[ablvg]][[GSADG00652]][[http-service-statistics]]
+
+===== HTTP Service Statistics
+
+The HTTP service fits into the tree of objects as shown in
+link:#ghlin[HTTP Service Tree Hierarchy].
+
+[[ghqdi]][[GSADG00059]][[http-service-virtual-server-statistics]]
+
+HTTP Service Virtual Server Statistics
+
+Use the following dotted name pattern for HTTP service virtual server
+statistics:
+
+[source]
+----
+server.http-service.virtual-server.request.statistic
+----
+
+The HTTP service statistics for virtual servers are shown in the
+following table.
+
+[[GSADG891]][[sthref37]][[gelnm]]
+
+
+Table 8-10 HTTP Service Virtual Server Monitoring Statistics
+
+[width="100%",cols="21%,16%,63%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`count200` |CountStatistic |Number of responses with a status code
+equal to 200
+
+|`count2xx` |CountStatistic |Number of responses with a status code in
+the 2xx range
+
+|`count302` |CountStatistic |Number of responses with a status code
+equal to 302
+
+|`count304` |CountStatistic |Number of responses with a status code
+equal to 304
+
+|`count3xx` |CountStatistic |Number of responses with a status code
+equal in the 3xx range
+
+|`count400` |CountStatistic |Number of responses with a status code
+equal to 400
+
+|`count401` |CountStatistic |Number of responses with a status code
+equal to 401
+
+|`count403` |CountStatistic |Number of responses with a status code
+equal to 403
+
+|`count404` |CountStatistic |Number of responses with a status code
+equal to 404
+
+|`count4xx` |CountStatistic |Number of responses with a status code
+equal in the 4xx range
+
+|`count503` |CountStatistic |Number of responses with a status code
+equal to 503
+
+|`count5xx` |CountStatistic |Number of responses with a status code
+equal in the 5xx range
+
+|`countother` |CountStatistic |Number of responses with a status code
+outside the 2xx, 3xx, 4xx, and 5xx range
+
+|`errorcount` |CountStatistic |Cumulative value of the error count, with
+error count representing the number of cases where the response code was
+greater than or equal to 400
+
+|`hosts` |StringStatistic |The host (alias) names of the virtual server
+
+|`maxtime` |CountStatistic |Longest response time for a request; not a
+cumulative value, but the largest response time from among the response
+times
+
+|`processingtime` |CountStatistic |Cumulative value of the times taken
+to process each request, with processing time being the average of
+request processing times over the request count
+
+|`requestcount` |CountStatistic |Cumulative number of requests processed
+so far
+
+|`state` |StringStatistic |The state of the virtual server
+|===
+
+
+[[gjjyb]][[GSADG00653]][[jersey-statistics]]
+
+===== Jersey Statistics
+
+Jersey fits into the tree of objects as shown in
+link:#abluw[Applications Tree Hierarchy].
+
+Use the following dotted name pattern for Jersey statistics:
+
+[source]
+----
+server.applications.jersey-application.jersey.resources.resource-0.hitcount.statistic
+----
+
+The statistics available for Jersey are shown in the following table.
+
+[[GSADG892]][[sthref38]][[gjjys]]
+
+
+Table 8-11 Jersey Statistics
+
+[width="100%",cols="33%,21%,46%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`resourcehitcount` |CountStatistic |Number of hits on this resource
+class
+
+|`rootresourcehitcount` |CountStatistic |Number of hits on this root
+resource class
+|===
+
+
+[[ablvi]][[GSADG00654]][[jmsconnector-service-statistics]]
+
+===== JMS/Connector Service Statistics
+
+The JMS/Connector Service fits into the tree of objects as shown in
+link:#ablva[JMS/Container Service Tree Hierarchy].
+
+JMS/Connector Service statistics are shown in the following sections:
+
+* link:#giszy[Connector Connection Pool Statistics (JMS)]
+* link:#giszh[Connector Work Management Statistics (JMS)]
+
+[[giszy]][[GSADG00060]][[connector-connection-pool-statistics-jms]]
+
+Connector Connection Pool Statistics (JMS)
+
+Use the following dotted name pattern for JMS/Connector Service
+connection pool statistics:
+
+[source]
+----
+server.connector-service.resource-adapter-1.connection-pool.statistic
+----
+
+JMS/Connector Service statistics available for the connector connection
+pools are shown in the following table.
+
+
+[NOTE]
+====
+In order to improve system performance, connection pools are initialized
+lazily; that is, a pool is not initialized until an application first
+uses the pool or the pool is explicitly pinged. Monitoring statistics
+for a connection pool are not available until the pool is initialized.
+====
+
+
+[[GSADG893]][[sthref39]][[gelot]]
+
+
+Table 8-12 Connector Connection Pool Monitoring Statistics (JMS)
+
+[width="100%",cols="37%,16%,47%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`averageconnwaittime` |CountStatistic |Average wait time of connections
+before they are serviced by the connection pool.
+
+|`connectionrequestwaittime` |RangeStatistic |The longest and shortest
+wait times of connection requests. The current value indicates the wait
+time of the last request that was serviced by the pool.
+
+|`numconnfailedvalidation` |CountStatistic |Total number of connections
+in the connection pool that failed validation from the start time until
+the last sample time.
+
+|`numconnused` |RangeStatistic |Total number of connections that are
+currently being used, as well as information about the maximum number of
+connections that were used (the high water mark).
+
+|`numconnfree` |RangeStatistic |Total number of free connections in the
+pool as of the last sampling.
+
+|`numconntimedout` |CountStatistic |Total number of connections in the
+pool that timed out between the start time and the last sample time.
+
+|`numconncreated` |CountStatistic |Number of physical connections, in
+milliseconds, that were created since the last reset.
+
+|`numconndestroyed` |CountStatistic |Number of physical connections that
+were destroyed since the last reset.
+
+|`numconnacquired` |CountStatistic |Number of logical connections
+acquired from the pool.
+
+|`numconnreleased` |CountStatistic |Number of logical connections
+released to the pool.
+
+|`waitqueuelenght` |CountStatistic |Number of connection requests in the
+queue waiting to be serviced.
+|===
+
+
+[[giszh]][[GSADG00061]][[connector-work-management-statistics-jms]]
+
+Connector Work Management Statistics (JMS)
+
+Use the following dotted name pattern for JMS/Connector Service work
+management statistics:
+
+[source]
+----
+server.connector-service.resource-adapter-1.work-management.statistic
+----
+
+JMS/Connector Service statistics available for connector work management
+are listed in the following table.
+
+[[GSADG894]][[sthref40]][[gelnz]]
+
+
+Table 8-13 Connector Work Management Monitoring Statistics (JMS)
+
+[width="100%",cols="28%,16%,56%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`activeworkcount` |RangeStatistic |Number of work objects executed by
+the connector.
+
+|`completedworkcount` |CountStatistic |Number of work objects that were
+completed.
+
+|`rejectedworkcount` |CountStatistic |Number of work objects rejected by
+the {productName}.
+
+|`submittedworkcount` |CountStatistic |Number of work objects submitted
+by a connector module.
+
+|`waitqueuelength` |RangeStatistic |Number of work objects waiting in
+the queue before executing.
+
+|`workrequestwaittime` |RangeStatistic |Longest and shortest wait of a
+work object before it gets executed.
+|===
+
+
+[[ablvm]][[GSADG00655]][[jvm-statistics]]
+
+===== JVM Statistics
+
+The JVM fits into the tree of objects as show in link:#ghlic[JVM Tree
+Hierarchy].
+
+The statistics that are available for the Virtual Machine for Java
+platform (Java Virtual Machine) or JVM machine are shown in the
+following sections:
+
+* link:#ablvn[JVM Class Loading System Statistics]
+* link:#ghqfh[JVM Compilation System Statistics]
+* link:#ghqea[JVM Garbage Collectors Statistics]
+* link:#ghqdn[JVM Memory Statistics]
+* link:#ghqec[JVM Operating System Statistics]
+* link:#ghqby[JVM Runtime Statistics]
+
+[[ablvn]][[GSADG00062]][[jvm-class-loading-system-statistics]]
+
+JVM Class Loading System Statistics
+
+Use the following dotted name pattern for JVM class loading system
+statistics:
+
+[source]
+----
+server.jvm.class-loading-system.statistic
+----
+
+With Java SE, additional monitoring information can be obtained from the
+JVM. Set the monitoring level to LOW to enable the display of this
+additional information. Set the monitoring level to HIGH to also view
+information pertaining to each live thread in the system. More
+information about the additional monitoring features for Java SE is
+available in
+http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/management/[Monitoring
+and Management for the Java Platform] .
+
+The Java SE monitoring tools are discussed at
+`http://docs.oracle.com/javase/8/docs/technotes/tools/`.
+
+The statistics that are available for class loading in the JVM for Java
+SE are shown in the following table.
+
+[[GSADG895]][[sthref41]][[gelow]]
+
+
+Table 8-14 JVM Monitoring Statistics for Java SE Class Loading
+
+[width="100%",cols="31%,16%,53%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`loadedclasscount` |CountStatistic |Number of classes that are
+currently loaded in the JVM
+
+|`totalloadedclasscount` |CountStatistic |Total number of classes that
+have been loaded since the JVM began execution
+
+|`unloadedclasscount` |CountStatistic |Number of classes that have been
+unloaded from the JVM since the JVM began execution
+|===
+
+
+The statistics available for threads in the JVM in Java SE are shown in
+the following table.
+
+[[GSADG896]][[sthref42]][[geloa]]
+
+
+Table 8-15 JVM Monitoring Statistics for Java SE - Threads
+
+[width="100%",cols="35%,16%,49%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`allthreadids` |StringStatistic |List of all live thread ids.
+
+|`currentthreadcputime` |CountStatistic |CPU time for the current thread
+(in nanoseconds) if CPU time measurement is enabled. If CPU time
+measurement is disabled, returns -1.
+
+|`daemonthreadcount` |CountStatistic |Current number of live daemon
+threads.
+
+|`monitordeadlockedthreads` |StringStatistic |List of thread ids that
+are monitor deadlocked.
+
+|`peakthreadcount` |CountStatistic |Peak live thread count since the JVM
+started or the peak was reset.
+
+|`threadcount` |CountStatistic |Current number of live daemon and
+non-daemon threads.
+
+|`totalstartedthreadcount` |CountStatistic |Total number of threads
+created and/or started since the JVM started.
+|===
+
+
+[[ghqfh]][[GSADG00063]][[jvm-compilation-system-statistics]]
+
+JVM Compilation System Statistics
+
+Use the following dotted name pattern for JVM compilation system
+statistics:
+
+[source]
+----
+server.jvm.compilation-system.statistic
+----
+
+The statistics that are available for compilation in the JVM for Java SE
+are shown in the following table.
+
+[[GSADG897]][[sthref43]][[gelnt]]
+
+
+Table 8-16 JVM Monitoring Statistics for Java SE Compilation
+
+[width="100%",cols="34%,20%,46%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`name-current` |StringStatistic |Name of the current compiler
+
+|`totalcompilationtime` |CountStatistic |Accumulated time (in
+milliseconds) spent in compilation
+|===
+
+
+[[ghqea]][[GSADG00064]][[jvm-garbage-collectors-statistics]]
+
+JVM Garbage Collectors Statistics
+
+Use the following dotted name pattern for JVM garbage collectors
+statistics:
+
+[source]
+----
+server.jvm.garbage-collectors.statistic
+----
+
+The statistics that are available for garbage collection in the JVM for
+Java SE are shown in the following table.
+
+[[GSADG898]][[sthref44]][[gelox]]
+
+
+Table 8-17 JVM Monitoring Statistics for Java SE Garbage Collectors
+
+[width="100%",cols="23%,16%,61%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`collectioncount` |CountStatistic |Total number of collections that
+have occurred
+
+|`collectiontime` |CountStatistic |Accumulated time (in milliseconds)
+spent in collection
+|===
+
+
+[[ghqdn]][[GSADG00065]][[jvm-memory-statistics]]
+
+JVM Memory Statistics
+
+Use the following dotted name pattern for JVM memory statistics:
+
+[source]
+----
+server.jvm.memory.statistic
+----
+
+The statistics that are available for memory in the JVM for Java SE are
+shown in the following table.
+
+[[GSADG899]][[sthref45]][[gelnx]]
+
+
+Table 8-18 JVM Monitoring Statistics for Java SE Memory
+
+[width="100%",cols="44%,16%,40%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`committedheapsize` |CountStatistic |Amount of heap memory (in bytes)
+that is committed for the JVM to use
+
+|`committednonheapsize` |CountStatistic |Amount of non-heap memory (in
+bytes) that is committed for the JVM to use
+
+|`initheapsize` |CountStatistic |Size of the heap initially requested by
+the JVM
+
+|`initnonheapsize` |CountStatistic |Size of the non-heap area initially
+requested by the JVM
+
+|`maxheapsize` |CountStatistic |Maximum amount of heap memory (in bytes)
+that can be used for memory management
+
+|`maxnonheapsize` |CountStatistic |Maximum amount of non-heap memory (in
+bytes) that can be used for memory management
+
+|`objectpendingfinalizationcount` |CountStatistic |Approximate number of
+objects that are pending finalization
+
+|`usedheapsize` |CountStatistic |Size of the heap currently in use
+
+|`usednonheapsize` |CountStatistic |Size of the non-heap area currently
+in use
+|===
+
+
+[[ghqec]][[GSADG00066]][[jvm-operating-system-statistics]]
+
+JVM Operating System Statistics
+
+Use the following dotted name pattern for JVM operating system
+statistics:
+
+[source]
+----
+server.jvm.operating-system.statistic
+----
+
+The statistics that are available for the operating system for the JVM
+machine in Java SE are shown in the following table.
+
+[[GSADG900]][[sthref46]][[gelog]]
+
+
+Table 8-19 JVM Statistics for the Java SE Operating System
+
+[width="100%",cols="28%,16%,56%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`arch-current` |StringStatistic |Operating system architecture
+
+|`availableprocessors` |CountStatistic |Number of processors available
+to the JVM
+
+|`name-current` |StringStatistic |Operating system name
+
+|`version-current` |StringStatistic |Operating system version
+|===
+
+
+[[ghqby]][[GSADG00067]][[jvm-runtime-statistics]]
+
+JVM Runtime Statistics
+
+Use the following dotted name pattern for JVM runtime statistics:
+
+[source]
+----
+server.jvm.runtime.statistic
+----
+
+The statistics that are available for the runtime in the JVM runtime for
+Java SE are shown in the following table.
+
+[[GSADG901]][[sthref47]][[gelop]]
+
+
+Table 8-20 JVM Monitoring Statistics for Java SE Runtime
+
+[width="100%",cols="42%,16%,42%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`classpath-current` |StringStatistic |Classpath that is used by the
+system class loader to search for class files
+
+|`inputarguments-current` |StringStatistic |Input arguments passed to
+the JVM; not including arguments to the `main` method
+
+|`managementspecversion-current` |StringStatistic |Management
+specification version implemented by the JVM
+
+|`name-current` |StringStatistic |Name representing the running JVM
+
+|`specname-current` |StringStatistic |JVM specification name
+
+|`specvendor-current` |StringStatistic |JVM specification vendor
+
+|`specversion-current` |StringStatistic |JVM specification version
+
+|`uptime` |CountStatistic |Uptime of the JVM (in milliseconds)
+
+|`vmname-current` |StringStatistic |JVM implementation name
+
+|`vmvendor-current` |StringStatistic |JVM implementation vendor
+
+|`vmversion-current` |StringStatistic |JVM implementation version
+
+| | |
+
+| | |
+|===
+
+
+[[gjipy]][[GSADG00656]][[network-statistics]]
+
+===== Network Statistics
+
+Network fits into the tree of objects as shown in link:#giznj[Network
+Tree Hierarchy].
+
+Network statistics are described in the following sections:
+
+* link:#gjiqu[Network Keep Alive Statistics]
+* link:#gjjom[Network Connection Queue Statistics]
+* link:#gjjpi[Network File Cache Statistics]
+* link:#gjjpp[Network Thread Pool Statistics]
+
+[[gjiqu]][[GSADG00068]][[network-keep-alive-statistics]]
+
+Network Keep Alive Statistics
+
+Use the following dotted name pattern for network keep alive statistics:
+
+[source]
+----
+server.network.type-of-listener.keep-alive.statistic
+----
+
+Statistics available for network keep alive are shown in the following
+table.
+
+[[GSADG902]][[sthref48]][[gjirp]]
+
+
+Table 8-21 Network Keep Alive Statistics
+
+[width="100%",cols="25%,16%,59%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`countconnections` |CountStatistic |Number of connections in keep-alive
+mode.
+
+|`counttimeouts` |CountStatistic |Number of keep-alive connections that
+timed out.
+
+|`secondstimeouts` |CountStatistic |Keep-alive timeout value in seconds.
+
+|`maxrequests` |CountStatistic |Maximum number of requests allowed on a
+single keep-alive connection.
+
+|`countflushes` |CountStatistic |Number of keep-alive connections that
+were closed.
+
+|`counthits` |CountStatistic |Number of requests received by connections
+in keep-alive mode.
+
+|`countrefusals` |CountStatistic |Number of keep-alive connections that
+were rejected.
+|===
+
+
+[[gjjom]][[GSADG00069]][[network-connection-queue-statistics]]
+
+Network Connection Queue Statistics
+
+Use the following dotted name pattern for network connection queue
+statistics:
+
+[source]
+----
+server.network.type-of-listener.connection-queue.statistic
+----
+
+Statistics available for network connection queue are shown in the
+following table.
+
+[[GSADG903]][[sthref49]][[gjjxc]]
+
+
+Table 8-22 Network Connection Queue Statistics
+
+[width="100%",cols="40%,16%,44%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`countopenconnections` |CountStatistic |The number of open/active
+connections
+
+|`countoverflows` |CountStatistic |Number of times the queue has been
+too full to accommodate a connection
+
+|`countqueued` |CountStatistic |Number of connections currently in the
+queue
+
+|`countqueued15minutesaverage` |CountStatistic |Average number of
+connections queued in the last 15 minutes
+
+|`countqueued1minuteaverage` |CountStatistic |Average number of
+connections queued in the last 1 minute
+
+|`countqueued5minutesaverage` |CountStatistic |Average number of
+connections queued in the last 5 minutes
+
+|`counttotalconnections` |CountStatistic |Total number of connections
+that have been accepted
+
+|`counttotalqueued` |CountStatistic |Total number of connections that
+have been queued
+
+|`maxqueued` |CountStatistic |Maximum size of the connection queue
+
+|`peakqueued` |CountStatistic |Largest number of connections that were
+in the queue simultaneously
+
+|`tickstotalqueued` |CountStatistic |(Unsupported) Total number of ticks
+that connections have spent in the queue
+|===
+
+
+[[gjjpi]][[GSADG00070]][[network-file-cache-statistics]]
+
+Network File Cache Statistics
+
+Use the following dotted name pattern for network file cache statistics:
+
+[source]
+----
+server.network.type-of-listener.file-cache.statistic
+----
+
+Statistics available for network file cache are shown in the following
+table.
+
+[[GSADG904]][[sthref50]][[gjjpd]]
+
+
+Table 8-23 Network File Cache Statistics
+
+[width="100%",cols="28%,16%,56%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`contenthits` |CountStatistic |Number of hits on cached file content
+
+|`contentmisses` |CountStatistic |Number of misses on cached file
+content
+
+|`heapsize` |CountStatistic |Current cache size in bytes
+
+|`hits` |CountStatistic |Number of cache lookup hits
+
+|`infohits` |CountStatistic |Number of hits on cached file info
+
+|`infomisses` |CountStatistic |Number of misses on cached file info
+
+|`mappedmemorysize` |CountStatistic |Size of mapped memory used for
+caching in bytes
+
+|`maxheapsize` |CountStatistic |Maximum heap space used for cache in
+bytes
+
+|`maxmappedmemorysize` |CountStatistic |Maximum memory map size used for
+caching in bytes
+
+|`misses` |CountStatistic |Number of cache lookup misses data type
+
+|`opencacheentries` |CountStatistic |Number of current open cache
+entries
+|===
+
+
+[[gjjpp]][[GSADG00071]][[network-thread-pool-statistics]]
+
+Network Thread Pool Statistics
+
+Use the following dotted name pattern for network thread pool
+statistics:
+
+[source]
+----
+server.network.type-of-listener.thread-pool.statistic
+----
+
+Statistics available for network thread pool are shown in the following
+table.
+
+[[GSADG905]][[sthref51]][[gjjov]]
+
+
+Table 8-24 Network Thread Pool Statistics
+
+[width="100%",cols="28%,16%,56%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`corethreads` |CountStatistic |Core number of threads in the thread
+pool
+
+|`currentthreadcount` |CountStatistic |Provides the number of request
+processing threads currently in the listener thread pool
+
+|`currentthreadsbusy` |CountStatistic |Provides the number of request
+processing threads currently in use in the listener thread pool serving
+requests
+
+|`maxthreads` |CountStatistic |Maximum number of threads allowed in the
+thread pool
+
+|`totalexecutedtasks` |CountStatistic |Provides the total number of
+tasks, which were executed by the thread pool
+|===
+
+
+[[ablvj]][[GSADG00657]][[orb-statistics-connection-manager]]
+
+===== ORB Statistics (Connection Manager)
+
+The ORB fits into the tree of objects as shown in link:#ablvb[ORB Tree
+Hierarchy].
+
+Use the following dotted name patterns for ORB statistics:
+
+[source]
+----
+server.orb.transport.connectioncache.inbound.statistic
+server.orb.transport.connectioncache.outbound.statistic
+----
+
+The statistics available for the connection manager in an ORB are listed
+in the following table.
+
+[[GSADG906]][[sthref52]][[gelqw]]
+
+
+Table 8-25 ORB Monitoring Statistics (Connection Manager)
+
+[width="100%",cols="24%,26%,50%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`connectionsidle` |CountStatistic |Total number of connections that are
+idle to the ORB
+
+|`connectionsinuse` |CountStatistic |Total number of connections in use
+to the ORB
+
+|`totalconnections` |BoundedRangeStatistic |Total number of connections
+to the ORB
+|===
+
+
+[[gipzv]][[GSADG00658]][[resource-statistics-connection-pool]]
+
+===== Resource Statistics (Connection Pool)
+
+By monitoring connection pool resources you can measure performance and
+capture resource usage at runtime. Connections are expensive and
+frequently cause performance bottlenecks in applications. It is
+important to monitor how a connection pool is releasing and creating new
+connections and how many threads are waiting to retrieve a connection
+from a particular pool.
+
+The connection pool resources fit into the tree of objects as shown in
+link:#giqdo[Resources Tree Hierarchy].
+
+Use the following dotted name pattern for general connection pool
+statistics:
+
+[source]
+----
+server.resources.pool-name.statistic
+----
+
+Use the following dotted name pattern for application-scoped connection
+pool statistics:
+
+[source]
+----
+server.applications.application-name.resources.pool-name.statistic
+----
+
+Use the following dotted name pattern for module-scoped connection pool
+statistics:
+
+[source]
+----
+server.applications.application-name.module-name.resources.pool-name.statistic
+----
+
+The connection pool statistics are shown in the following tables.
+
+
+[NOTE]
+====
+In order to improve system performance, connection pools are initialized
+lazily; that is, a pool is not initialized until an application first
+uses the pool or the pool is explicitly pinged. Monitoring statistics
+for a connection pool are not available until the pool is initialized.
+====
+
+
+[[GSADG907]][[sthref53]][[gelqa]]
+
+
+Table 8-26 General Resource Monitoring Statistics (Connection Pool)
+
+[width="100%",cols="43%,16%,41%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`averageconnwaittime` |CountStatistic |Average wait-time-duration per
+successful connection request
+
+|`connrequestwaittime` |RangeStatistic |Longest and shortest wait times,
+in milliseconds, of connection requests since the last sampling. current
+value indicates the wait time of the last request that was serviced by
+the pool
+
+|`numconnacquired` |CountStatistic |Number of logical connections
+acquired from the pool since the last sampling
+
+|`numconncreated` |CountStatistic |Number of physical connections that
+were created by the pool since the last reset
+
+|`numconndestroyed` |CountStatistic |Number of physical connections that
+were destroyed since the last reset
+
+|`numconnfailedvalidation` |CountStatistic |Number of connections in the
+connection pool that failed validation from the start time until the
+last sampling time
+
+|`numconnfree` |RangeStatistic |Number of free connections in the pool
+as of the last sampling
+
+|`numconnnotsuccessfullymatched` |CountStatistic |Number of connections
+rejected during matching
+
+|`numconnreleased` |CountStatistic |Number of connections released back
+to the pool since the last sampling
+
+|`numconnsuccessfullymatched` |CountStatistic |Number of connections
+successfully matched
+
+|`numconntimedout` |CountStatistic |Number of connections in the pool
+that timed out between the start time and the last sampling time
+
+|`numconnused` |RangeStatistic |Number of connections that are currently
+being used, as well as information about the maximum number of
+connections that were used (high water mark)
+
+|`frequsedsqlqueries` |StringStatistic |List of the most frequently used
+SQL queries (Available only when SQL Tracing is enabled)
+
+|`numpotentialconnleak` |CountStatistic |Number of potential connection
+leaks
+
+|`numpotentialstatementleak` |CountStatistic |Number of potential
+statement leaks (Available only when Statement Leak Dectection is
+enabled)
+
+|`numstatementcachehit` |CountStatistic |Number of statements that were
+found in the statement cache (Available only when the Statement Cache is
+enabled)
+
+|`numstatementcachemiss` |CountStatistic |Number of statements that were
+not found in the statement cache (Available only when the Statement
+Cache is enabled)
+
+|`waitqueuelength` |CountStatistic |Number of connection requests in the
+queue waiting to be serviced
+|===
+
+
+[[GSADG908]][[sthref54]][[gktcp]]
+
+
+Table 8-27 Application Specific Resource Monitoring Statistics
+(Connection Pool)
+
+[width="100%",cols="23%,16%,61%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`numconnacquired` |CountStatistic |Number of logical connections
+acquired from the pool since the last sampling
+
+|`numconnreleased` |CountStatistic |Number of connections released back
+to the pool since the last sampling
+
+|`numconnused` |RangeStatistic |Number of connections that are currently
+being used, as well as information about the maximum number of
+connections that were used (high water mark)
+|===
+
+
+[[gjiov]][[GSADG00659]][[security-statistics]]
+
+===== Security Statistics
+
+Security fits into the tree of objects as shown in link:#gjios[Security
+Tree Hierarchy].
+
+Statistics available for security are shown in the following sections:
+
+* link:#gjira[EJB Security Statistics]
+* link:#gjirn[Web Security Statistics]
+* link:#gjirj[Realm Security Statistics]
+
+[[gjira]][[GSADG00072]][[ejb-security-statistics]]
+
+EJB Security Statistics
+
+Use the following dotted name pattern for EJB security statistics:
+
+[source]
+----
+server.security.ejb.statistic
+----
+
+The statistics available for EJB security are listed in the following
+table.
+
+[[GSADG909]][[sthref55]][[gjirc]]
+
+
+Table 8-28 EJB Security Monitoring Statistics
+
+[width="100%",cols="40%,18%,42%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`policyconfigurationcount` |CountStatistic |Number of policy
+configuration
+
+|`securitymanagercount` |CountStatistic |Number of EJB security managers
+|===
+
+
+[[gjirn]][[GSADG00073]][[web-security-statistics]]
+
+Web Security Statistics
+
+Use the following dotted name pattern for web security statistics:
+
+[source]
+----
+server.security.web.statistic
+----
+
+The statistics available for web security are listed in the following
+table.
+
+[[GSADG910]][[sthref56]][[gjiqv]]
+
+
+Table 8-29 Web Security Monitoring Statistics
+
+[width="100%",cols="40%,16%,44%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`websecuritymanagercount` |CountStatistic |Number of security managers
+
+|`webpolicyconfigurationcount` |CountStatistic |Number of policy
+configuration objects
+|===
+
+
+[[gjirj]][[GSADG00074]][[realm-security-statistics]]
+
+Realm Security Statistics
+
+Use the following dotted name pattern for realm security statistics:
+
+[source]
+----
+server.security.realm.statistic
+----
+
+The statistics available for realm security are listed in the following
+table.
+
+[[GSADG911]][[sthref57]][[gjirq]]
+
+
+Table 8-30 Realm Security Monitoring Statistics
+
+[width="100%",cols="32%,22%,46%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`realmcount` |CountStatistic |Number of realms
+|===
+
+
+[[ablvk]][[GSADG00660]][[thread-pool-statistics]]
+
+===== Thread Pool Statistics
+
+The thread pool fits into the tree of objects as shown in
+link:#ablvc[Thread Pool Tree Hierarchy].
+
+The statistics available for thread pools are shown in the following
+sections:
+
+* link:#gitct[Thread Pool Monitoring Statistics]
+* link:#gitce[JVM Statistics for Java SE-Thread Information]
+
+[[gitct]][[GSADG00075]][[thread-pool-monitoring-statistics]]
+
+Thread Pool Monitoring Statistics
+
+Use the following dotted name pattern for thread pool statistics:
+
+[source]
+----
+server.thread-pool.thread-pool.statistic
+----
+
+The statistics available for the thread pool are shown in the following
+table.
+
+[[GSADG912]][[sthref58]][[gelqt]]
+
+
+Table 8-31 Thread Pool Monitoring Statistics
+
+[width="100%",cols="37%,26%,37%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`averagetimeinqueue` |BoundedRangeStatistic |Average amount of time (in
+milliseconds) a request waited in the queue before being processed
+
+|`averageworkcompletiontime` |BoundedRangeStatistic |Average amount of
+time (in milliseconds) taken to complete an assignment
+
+|`currentbusythreads` |CountStatistic |Number of busy threads
+
+|`currentnumberofthreads` |BoundedRangeStatistic |Current number of
+request processing threads
+
+|`numberofavailablethreads` |CountStatistic |Number of available threads
+
+|`numberofworkitemsinqueue` |BoundedRangeStatistic |Current number of
+work items waiting in queue
+
+|`totalworkitemsadded` |CountStatistic |Total number of work items added
+to the work queue as of last sampling
+|===
+
+
+[[gitce]][[GSADG00076]][[jvm-statistics-for-java-se-thread-information]]
+
+JVM Statistics for Java SE - Thread Information
+
+The statistics available for `ThreadInfo` in the JVM in Java SE are
+shown in the following table.
+
+[[GSADG913]][[sthref59]][[geloy]]
+
+
+Table 8-32 JVM Monitoring Statistics for Java SE - Thread Info
+
+[width="100%",cols="20%,16%,64%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`blockedcount` |CountStatistic |Total number of times that the thread
+entered the `BLOCKED` state.
+
+|`blockedtime` |CountStatistic |Time elapsed (in milliseconds) since the
+thread entered the `BLOCKED` state. Returns -1 if thread contention
+monitoring is disabled.
+
+|`lockname` |StringStatistic |String representation of the monitor lock
+that the thread is blocked to enter or waiting to be notified through
+the `Object.wait` method.
+
+|`lockownerid` |CountStatistic |ID of the thread that holds the monitor
+lock of an object on which this thread is blocking.
+
+|`lockownername` |StringStatistic |Name of the thread that holds the
+monitor lock of the object this thread is blocking on.
+
+|`stacktrace` |StringStatistic |Stack trace associated with this thread.
+
+|`threadid` |CountStatistic |ID of the thread.
+
+|`threadname` |StringStatistic |Name of the thread.
+
+|`threadstate` |StringStatistic |State of the thread.
+
+|`waitedtime` |CountStatistic |Elapsed time (in milliseconds) that the
+thread has been in a `WAITING` state. Returns -1 if thread contention
+monitoring is disabled.
+
+|`waitedcount` |CountStatistic |Total number of times the thread was in
+`WAITING` or `TIMED_WAITING` states.
+|===
+
+
+[[ablvl]][[GSADG00661]][[transaction-service-statistics]]
+
+===== Transaction Service Statistics
+
+The transaction service allows the client to freeze the transaction
+subsystem in order to roll back transactions and determine which
+transactions are in process at the time of the freeze. The transaction
+service fits into the tree of objects as shown in
+link:#gitci[Transactions Service Tree Hierarchy].
+
+Use the following dotted name pattern for transaction service
+statistics:
+
+[source]
+----
+server.transaction-service.statistic
+----
+
+The statistics available for the transaction service are shown in the
+following table.
+
+[[GSADG914]][[sthref60]][[gelpl]]
+
+
+Table 8-33 Transaction Service Monitoring Statistics
+
+[width="100%",cols="23%,16%,61%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`activecount` |CountStatistic |Number of transactions currently active.
+
+|`activeids` |StringStatistic |The ID's of the transactions that are
+currently active. Every such transaction can be rolled back after
+freezing the transaction service.
+
+|`committedcount` |CountStatistic |Number of transactions that have been
+committed.
+
+|`rolledbackcount` |CountStatistic |Number of transactions that have
+been rolled back.
+
+|`state` |StringStatistic |Indicates whether or not the transaction has
+been frozen.
+|===
+
+
+[[ablvf]][[GSADG00662]][[web-statistics]]
+
+===== Web Statistics
+
+The web module fits into the tree of objects as shown in link:#ghlff[Web
+Tree Hierarchy].
+
+The available web statistics shown in the following sections:
+
+* link:#gjkaz[Web Module Servlet Statistics]
+* link:#ghqge[Web JSP Statistics]
+* link:#ghqga[Web Request Statistics]
+* link:#ghqfu[Web Servlet Statistics]
+* link:#ghqfr[Web Session Statistics]
+
+[[gjkaz]][[GSADG00077]][[web-module-servlet-statistics]]
+
+Web Module Servlet Statistics
+
+Use the following dotted name pattern for web module servlet statistics:
+
+[source]
+----
+server.applications.web-module.virtual-server.servlet.statistic
+server.applications.application.web-module.virtual-server.servlet.statistic
+----
+
+The available web module servlet statistics are shown in the following
+table.
+
+[[GSADG915]][[sthref61]][[gjkba]]
+
+
+Table 8-34 Web Module Servlet Statistics
+
+[width="100%",cols="21%,16%,63%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`errorcount` |CountStatistic |Cumulative number of cases where the
+response code is greater than or equal to 400.
+
+|`maxtime` |CountStatistic |Maximum amount of time the web container
+waits for requests.
+
+|`processingtime` |CountStatistic |Cumulative value of the amount of
+time required to process each request. The processing time is the
+average of request processing times divided by the request count.
+
+|`requestcount` |CountStatistic |The total number of requests processed
+so far.
+
+|`servicetime` |CountStatistic |Aggregate response time in milliseconds.
+|===
+
+
+[[ghqge]][[GSADG00079]][[web-jsp-statistics]]
+
+Web JSP Statistics
+
+Use the following dotted name pattern for web JSP statistics:
+
+[source]
+----
+server.applications.web-module.virtual-server.statistic
+server.applications.application.web-module.virtual-server.statistic
+----
+
+The available web JSP statistics are shown in the following table.
+
+[[GSADG917]][[sthref62]][[givgh]]
+
+
+Table 8-35 Web JSP Monitoring Statistics
+
+[width="100%",cols="24%,16%,60%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`jspcount-current` |RangeStatistic |Number of active JSP pages
+
+|`jsperrorcount` |CountStatistic |Total number of errors triggered by
+JSP page invocations
+
+|`jspreloadedcount` |CountStatistic |Total number of JSP pages that were
+reloaded
+
+|`totaljspcount` |CountStatistic |Total number of JSP pages ever loaded
+|===
+
+
+[[ghqga]][[GSADG00080]][[web-request-statistics]]
+
+Web Request Statistics
+
+Use the following dotted name pattern for web request statistics:
+
+[source]
+----
+server.applications.web-module.virtual-server.statistic
+server.applications.application.web-module.virtual-server.statistic
+----
+
+The available web request statistics are shown in the following table.
+
+[[GSADG918]][[sthref63]][[gjisw]]
+
+
+Table 8-36 Web Request Monitoring Statistics
+
+[width="100%",cols="21%,16%,63%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`errorcount` |CountStatistic |Cumulative value of the error count, with
+error count representing the number of cases where the response code was
+greater than or equal to 400
+
+|`maxtime` |CountStatistic |Longest response time for a request; not a
+cumulative value, but the largest response time from among the response
+times
+
+|`processingtime` |CountStatistic |Average request processing time, in
+milliseconds
+
+|`requestcount` |CountStatistic |Cumulative number of the requests
+processed so far
+|===
+
+
+[[ghqfu]][[GSADG00081]][[web-servlet-statistics]]
+
+Web Servlet Statistics
+
+Use the following dotted name pattern for web servlet statistics:
+
+[source]
+----
+server.applications.web-module.virtual-server.statistic
+server.applications.application.web-module.virtual-server.statistic
+----
+
+The available web servlet statistics are shown in the following table.
+
+[[GSADG919]][[sthref64]][[ghqiu]]
+
+
+Table 8-37 Web Servlet Monitoring Statistics
+
+[width="100%",cols="37%,16%,47%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`activeservletsloadedcount` |RangeStatistic |Number of currently loaded
+servlets
+
+|`servletprocessingtimes` |CountStatistic |Cumulative servlet processing
+times , in milliseconds
+
+|`totalservletsloadedcount` |CountStatistic |Cumulative number of
+servlets that have been loaded into the web module
+|===
+
+
+[[ghqfr]][[GSADG00082]][[web-session-statistics]]
+
+Web Session Statistics
+
+Use the following dotted name pattern for web session statistics:
+
+[source]
+----
+server.applications.web-module.virtual-server.statistic
+server.applications.application.web-module.virtual-server.statistic
+----
+
+The available web session statistics are shown in the following table.
+
+[[GSADG920]][[sthref65]][[gellc]]
+
+
+Table 8-38 Web Session Monitoring Statistics
+
+[width="100%",cols="34%,16%,50%",options="header",]
+|===
+|Statistic |Data Type |Description
+|`activatedsessionstotal` |CountStatistic |Total number of activated
+sessions
+
+|`activesessionscurrent` |RangeStatistic |Number of currently active
+sessions
+
+|`activesessionshigh` |CountStatistic |Maximum number of concurrently
+active sessions
+
+|`expiredsessionstotal` |CountStatistic |Total number of expired
+sessions
+
+|`passivatedsessionstotal` |CountStatistic |Total number of passivated
+sessions
+
+|`persistedsessionstotal` |CountStatistic |Total number of persisted
+sessions
+
+|`rejectedsessionstotal` |CountStatistic |Total number of rejected
+sessions
+
+|`sessionstotal` |CountStatistic |Total number of sessions created
+|===
+
+
+[[giwqm]][[GSADG00561]][[configuring-jconsole-to-view-glassfish-server-monitoring-data]]
+
+=== Configuring JConsole to View {productName} Monitoring Data
+
+Java SE provides tools to connect to an MBean Server and view the MBeans
+registered with the server. JConsole is one such popular JMX Connector
+Client and is available as part of the standard Java SE distribution.
+When you configure JConsole for use with {productName}, {productName} becomes the JMX Connector's server end and JConsole becomes the
+JMX connector's client end.
+
+[[ggpfh]][[GSADG00390]][[to-connect-jconsole-to-glassfish-server]]
+
+==== To Connect JConsole to {productName}
+
+Java SE 6 enhanced management and monitoring of the virtual machine by
+including a Platform MBean Server and by including managed beans
+(MBeans) to configure the virtual machine.
+
+To view all MBeans, {productName} provides a configuration of the
+standard JMX connector server called System JMX Connector Server. As
+part of {productName} startup, an instance of this JMX Connector
+Server is started. Any compliant JMX connector client can connect to the
+server using the JMX Connector Server.
+
+By default, {productName} is configured with a non-secure System JMX
+Connector Server. If this is an issue, the JMX connector can be removed.
+However, access can be restricted to a specific IP address (for example,
+the loopback address) by setting `address` to `locahost`.
+
+1. Start the domain.
++
+For instructions, see link:domains.html#ggoda[To Start a Domain].
+2. Start JConsole using this format: JDK_HOME``/bin/jconsole``
++
+For example:
++
+[source]
+----
+/usr/java/bin/jconsole
+----
+The JConsole Connect to Agent window is displayed.
+3. Click the Remote tab and type the host name and port.
++
+Always connect remotely with JConsole, otherwise MBeans will not load
+automatically.
+4. Click Connect.
+5. In the Remote Process text box, specify the JMX Service URL.
++
+For example:
++
+[source]
+----
+service:jmx:rmi:///jndi/rmi://localhost:8686/jmxrmi
+----
+The JMX Service URL is emitted by the server at startup, looking
+something like this:
++
+[source]
+----
+[#|2009-12-03T10:25:17.737-0800|INFO|glassfish7.0|
+x..system.tools.admin.org.glassfish.server|_ThreadID=20;
+_ThreadName=Thread-26;|JMXStartupService: Started JMXConnector, JMXService
+URL = service:jmx:rmi://localhost:8686/jndi/rmi://localhost:8686/jmxrmi|#]
+----
+However, in most cases, simply entering `host:port` is fine, such as,
+192.168.1.150:8686. The long Service URL is not needed.
++
+
+[NOTE]
+====
+Another host name can be substituted for `localhost`. The default port
+number (8686) could change if the `jmx-connector` configuration has been
+modified.
+====
+
+6. Click Connect.
++
+In the JConsole window you will see all your MBeans, JVM information,
+and so on, in various tabs. Most of the useful MBeans are to be found in
+the `amx` and `java.lang` domains.
+
+[[GSADG921]]
+
+See Also
+
+For more information about JConsole, see
+`http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html`.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/orb.adoc b/docs/administration-guide/src/main/asciidoc/orb.adoc
new file mode 100644
index 0000000..e8c4579
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/orb.adoc
@@ -0,0 +1,208 @@
+type=page
+status=published
+title=Administering the Object Request Broker (ORB)
+next=javamail.html
+prev=concurrent.html
+~~~~~~
+
+= Administering the Object Request Broker (ORB)
+
+[[GSADG00018]][[abltr]]
+
+
+[[administering-the-object-request-broker-orb]]
+== 15 Administering the Object Request Broker (ORB)
+
+{productName} supports a standard set of protocols and formats that
+ensure interoperability. Among these protocols are those defined by
+CORBA. The Object Request Broker (ORB) is the central component of
+CORBA. The ORB provides the required infrastructure to identify and
+locate objects, handle connection management, deliver data, and request
+communication. This chapter describes how to configure the ORB and the
+IIOP listeners.
+
+The following topics are addressed here:
+
+* link:#ablts[About the ORB]
+* link:#abltw[Configuring the ORB]
+* link:#ablty[Administering IIOP Listeners]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[ablts]][[GSADG00590]][[about-the-orb]]
+
+=== About the ORB
+
+The Common Object Request Broker Architecture (CORBA) model is based on
+clients requesting services from distributed objects or servers through
+a well-defined interface by issuing requests to the objects in the form
+of remote method requests. A remote method request carries information
+about the operation that needs to be performed, including the object
+name (called an object reference) of the service provider and
+parameters, if any, for the invoked method. CORBA automatically handles
+network programming tasks such as object registration, object location,
+object activation, request de-multiplexing, error-handling, marshalling,
+and operation dispatching.
+
+[[abltw]][[GSADG00591]][[configuring-the-orb]]
+
+=== Configuring the ORB
+
+A CORBA object never talks directly with another. Instead, the object
+makes requests through a remote stub to the Internet Inter-Orb Protocol
+(IIOP) running on the local host. The local ORB then passes the request
+to an ORB on the other host using IIOP. The remote ORB then locates the
+appropriate object, processes the request, and returns the results.
+
+IIOP can be used as a Remote Method Invocation (RMI) protocol by
+applications or objects using RMI-IIOP. Remote clients of enterprise
+beans (EJB modules) communicate with {productName} by using RMI-IIOP.
+
+[[ablty]][[GSADG00592]][[administering-iiop-listeners]]
+
+=== Administering IIOP Listeners
+
+An IIOP listener is a listen socket that accepts incoming connections
+from the remote clients of enterprise beans and from other CORBA-based
+clients. Multiple IIOP listeners can be configured for {productName}.
+For each listener, specify a port number (optional; default 1072), a
+network address, and security attributes (optional). If you create
+multiple listeners, you must assign a different port number for each
+listener.
+
+The following topics are addressed here:
+
+* link:#gioyo[To Create an IIOP Listener]
+* link:#giowc[To List IIOP Listeners]
+* link:#giwlq[To Update an IIOP Listener]
+* link:#giowj[To Delete an IIOP Listener]
+
+[[gioyo]][[GSADG00478]][[to-create-an-iiop-listener]]
+
+==== To Create an IIOP Listener
+
+Use the `create-iiop-listener` subcommand in remote mode to create an
+IIOP listener.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create an IIOP listener by using the
+link:reference-manual/create-iiop-listener.html#GSRFM00032[`create-iiop-listener`] subcommand.
++
+Information about the properties for the subcommand is included in this
+help page.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00263]][[gipfl]]
+Example 15-1 Creating an IIOP Listener
+
+This example creates an IIOP listener named `sample_iiop_listener`.
+
+[source]
+----
+asadmin> create-iiop-listener --listeneraddress 192.168.1.100
+--iiopport 1400 sample_iiop_listener
+Command create-iiop-listener executed successfully.
+----
+
+[[GSADG1011]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-iiop-listener` at the command line.
+
+[[giowc]][[GSADG00479]][[to-list-iiop-listeners]]
+
+==== To List IIOP Listeners
+
+Use the `list-iiop-listeners` subcommand in remote mode to list the
+existing IIOP listeners.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the IIOP listeners by using the
+link:reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`] subcommand.
+
+[[GSADG00264]][[gipcm]]
+Example 15-2 Listing IIOP Listeners
+
+This example lists all the IIOP listeners for the server instance.
+
+[source]
+----
+asadmin> list-iiop-listeners
+orb-listener-1
+SSL
+SSL_MUTUALAUTH
+sample_iiop_listener
+Command list-iiop-listeners executed successfully.
+----
+
+[[GSADG1012]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-iiop-listeners` at the command line.
+
+[[giwlq]][[GSADG00480]][[to-update-an-iiop-listener]]
+
+==== To Update an IIOP Listener
+
+1. List the IIOP listeners by using the
+link:reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`] subcommand.
+2. Modify the values for the specified IIOP listener by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+The listener is identified by its dotted name.
+
+[[GSADG00265]][[giwlj]]
+Example 15-3 Updating an IIOP Listener
+
+This example changes SSL from enabled to disabled.
+
+[source]
+----
+asadmin> set "server.iiop-service.iiop-listener.SSL.enabled"
+server.iiop-service.iiop-listener.SSL.enabled=false
+Command set executed successfully.
+----
+
+[[giowj]][[GSADG00481]][[to-delete-an-iiop-listener]]
+
+==== To Delete an IIOP Listener
+
+Use the `delete-iiop-listener` subcommand in remote mode to delete an
+IIOP listener.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the IIOP listeners by using the
+link:reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`] subcommand.
+3. Delete an IIOP listener by using the
+link:reference-manual/delete-iiop-listener.html#GSRFM00084[`delete-iiop-listener`] subcommand.
+4. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00266]][[giped]]
+Example 15-4 Deleting an IIOP Listener
+
+This example deletes the IIOP listener named `sample_iiop_listener`.
+
+[source]
+----
+asadmin> delete-iiop-listener sample_iiop_listener
+ Command delete-iiop-listener executed successfully.
+----
+
+[[GSADG1013]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-iiop-listener` at the command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/overview.adoc b/docs/administration-guide/src/main/asciidoc/overview.adoc
new file mode 100644
index 0000000..1e65ed6
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/overview.adoc
@@ -0,0 +1,1037 @@
+type=page
+status=published
+title=Overview of {productName} Administration
+next=part-runtime-admin.html
+prev=preface.html
+~~~~~~
+
+= Overview of {productName} Administration
+
+[[GSADG00004]][[ablaq]]
+
+
+[[overview-of-glassfish-server-administration]]
+== 1 Overview of {productName} Administration
+
+{productName} provides a server for developing
+and deploying Java Platform Enterprise Edition (Jakarta EE) applications
+and web Java Web Services.
+
+As an administrator of{productName}, your main responsibilities are
+to establish a secure {productName} environment and to oversee the
+services, resources, and users that participate in that environment.
+Your key tasks include configuring resources and services, managing
+{productName} at runtime, and fixing problems that are associated
+with the server. You might also be involved in installing software,
+integrating add-on components, and deploying applications.
+
+The following topics are addressed here:
+
+* link:#giubb[Default Settings and Locations]
+* link:#ghrcy[Configuration Tasks]
+* link:#ggjxp[Administration Tools]
+* link:#giudo[Instructions for Administering {productName}]
+
+[[giubb]][[GSADG00526]][[default-settings-and-locations]]
+
+=== Default Settings and Locations
+
+After installation, you might need to perform some immediate
+configuration tasks to make your installation function as intended. If
+configuration defaults have been accepted, some features are enabled and
+some not. For an overview of initial configuration tasks for {productName} services and resources, see link:#gitwr[Initial Configuration
+Tasks].
+
+In addition, you might want to reset default passwords, change names or
+locations of files, and so on. The following tables list the default
+administration values.
+
+
+[NOTE]
+====
+For the zip bundle of {productName} 7, the default administrator
+login is `admin`, with no password, which means that no login is
+required.
+====
+
+
+[[GSADG793]][[sthref3]][[giuad]]
+
+
+Table 1-1 Default Administration Values
+
+[width="100%",cols="43%,57%",options="header",]
+|===
+|Item |Default
+|Domain Name |`domain1`
+|Master Password |`changeit`
+|Administration User |`admin`
+|Administration Server Port |4848
+|HTTP Port |8080
+|HTTPS Port |8181
+|Pure JMX Clients Port |8686
+|Message Queue Port |7676
+|IIOP Port |3700
+|IIOP/SSL Port |3820
+|IIOP/SSL Port With Mutual Authentication |3920
+|===
+
+
+[[GSADG794]][[sthref4]][[gjhfv]]
+
+
+Table 1-2 Default Locations
+
+[width="100%",cols="43%,57%",options="header",]
+|===
+|Item |Default
+|Command-line Utility (`asadmin`) |as-install``/bin``
+|Configuration Files |domain-dir``/config``
+|Log Files |domain-dir``/logs``
+|Upgrade Tool (`asupgrade` Command) |as-install``/bin``
+|===
+
+
+For information about replaceable items and default paths and files, see
+link:preface.html#ghpfg[Default Paths and File Names].
+
+[[ghrcy]][[GSADG00527]][[configuration-tasks]]
+
+=== Configuration Tasks
+
+Some configuration tasks must be performed directly after installation
+for your {productName} environment to work as intended. For example,
+if you are using a database with {productName}, you need to set up
+database connectivity right away.
+
+Some configuration situations are ongoing and will require you to make
+changes many times during the life of your installation. You can use
+either the Administration Console or the `asadmin` utility to modify the
+configuration. Changes are automatically applied to the appropriate
+configuration file.
+
+The following topics are addressed here:
+
+* link:#gitwr[Initial Configuration Tasks]
+* link:#giusb[How Dotted Names Work for Configuration]
+* link:#gjjrl[Configuration Files]
+* link:#gitzw[Impact of Configuration Changes]
+
+[[gitwr]][[GSADG00694]][[initial-configuration-tasks]]
+
+==== Initial Configuration Tasks
+
+This section maps the common configuration tasks to the command-line
+procedures in this guide. In some situations, the resource or service is
+automatically enabled and your configuration tasks involve adjusting or
+changing the default settings to suit your specific needs.
+
+The following resources and services frequently require configuration
+immediately after installation:
+
+System Properties::
+  See link:general-administration.html#ghcjc[Administering System
+  Properties].
+Domains::
+  The initial `domain1` is created during installation. Additional
+  configuration tasks might include such tasks as configuring additional
+  domains or setting up automatic restart. See
+  link:domains.html#ggnop[Administering Domains].
+JVM::
+  The initial tasks for configuring the JVM include creating JVM options
+  and profilers. See link:jvm.html#ablwj[Administering the Virtual
+  Machine for the Java Platform].
+Logging::
+  By default, logging is enabled, so basic logging works without
+  additional configuration. However, you might want to change log
+  levels, property values, or the location of log files. See
+  link:logging.html#abluj[Administering the Logging Service].
+Monitoring::
+  By default, the monitoring service is enabled. However, monitoring for
+  the individual modules is not enabled, so your first monitoring task
+  is to enable monitoring for the modules that you want to monitor. See
+  link:monitoring.html#ablur[Administering the Monitoring Service].
+Life Cycle Modules::
+  See link:lifecycle-modules.html#giury[Administering Life Cycle
+  Modules].
+Security::
+  * System Security. Initial configuration tasks might include setting
+  up passwords, audit modules, and certificates. See
+  "link:security-guide/system-security.html#GSSCG00035[Administering System Security]" in {productName} Security Guide.
+  * User Security. Initial configuration tasks might include creating
+  authentication realms and file users. See
+  "link:security-guide/user-security.html#GSSCG00036[Administering User Security]" in {productName} Security Guide.
+  * Message Security. Initial configuration tasks might include
+  configuring a Java Cryptography Extension (JCE) provider, enabling
+  default and non-default security providers, and configuring message
+  protection policies. See "link:security-guide/message-security.html#GSSCG00037[Administering Message
+  Security]" in {productName} Security Guide.
+Database Connectivity::
+  The initial tasks involved in configuring {productName} to connect
+  to the Apache Derby database include creating a Java Database
+  Connectivity (JDBC) connection pool, creating a JDBC resource, and
+  integrating a JDBC driver. See link:jdbc.html#ablih[Administering
+  Database Connectivity].
+EIS Connectivity::
+  The initial tasks involved in configuring {productName} to connect
+  to an enterprise information system (EIS) include creating a connector
+  connection pool, creating a connector resource, editing a resource
+  adapter configuration, creating a connector security map, creating a
+  connector work security map, and creating an administered object (if
+  needed). See link:connectors.html#abllp[Administering EIS
+  Connectivity].
+Internet Connectivity::
+  The initial tasks involved in making deployed web applications
+  accessible by internet clients include creating HTTP network listeners
+  and virtual servers, and configuring the HTTP listeners for SSL (if
+  needed). See link:http_https.html#ablsw[Administering Internet
+  Connectivity].
+Object Request Broker (ORB)::
+  An initial configuration task might involve creating an IIOP listener.
+  See link:orb.html#abltr[Administering the Object Request Broker (ORB)].
+JavaMail Service::
+  An initial configuration task might involve creating a JavaMail
+  resource. See link:javamail.html#ablkr[Administering the JavaMail
+  Service].
+Java Message Service (JMS)::
+  Initial configuration tasks might include creating a physical
+  destination, creating connection factories or destination resources,
+  creating a JMS host (if the default JMS host is not adequate),
+  adjusting connection pool settings (if needed), and configuring
+  resource adapters for JMS. See link:jms.html#abljw[Administering the
+  Java Message Service (JMS)].
+JNDI Service::
+  An initial configuration task might involve creating a JNDI resource.
+  See link:jndi.html#ablky[Administering the Java Naming and Directory
+  Interface (JNDI) Service].
+
+Information and instructions for accomplishing the tasks by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[giusb]][[GSADG00695]][[how-dotted-names-work-for-configuration]]
+
+==== How Dotted Names Work for Configuration
+
+After the initial configuration is working, you will continue to manage
+ongoing configuration for the life of your {productName}
+installation. You might need to adjust resources to improve
+productivity, or issues might arise that require settings to be modified
+or defaults to be reset. In some situations, an `asadmin` subcommand is
+provided for updating, such as the `update-connector-work-security-map`
+subcommand. However, most updating is done by using the `list`, `get`,
+and `set` subcommands with dotted names. For detailed information about
+dotted names, see the link:reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.
+
+
+[NOTE]
+====
+Dotted names also apply to monitoring, but the method is different. For
+information on using dotted names for monitoring, see
+link:monitoring.html#ghbaz[How the Monitoring Tree Structure Works].
+====
+
+
+The general process for working with configuration changes on the
+command line is as follows:
+
+1. List the modules for the component of interest.
++
+The following single mode example uses the | (pipe) character and the
+`grep` command to narrow the search:
++
+[source]
+----
+asadmin list "*" | grep http | grep listener
+----
+Information similar to the following is returned:
++
+[source]
+----
+configs.config.server-config.network-config.network-listeners.network-listener.http-listener-1
+configs.config.server-config.network-config.network-listeners.network-listener.http-listener-2
+configs.config.server-config.network-config.protocols.protocol.admin-listener.http
+configs.config.server-config.network-config.protocols.protocol.admin-listener.http.file-cache
+configs.config.server-config.network-config.protocols.protocol.http-listener-1
+configs.config.server-config.network-config.protocols.protocol.http-listener-1.http
+configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.file-cache
+configs.config.server-config.network-config.protocols.protocol.http-listener-2
+configs.config.server-config.network-config.protocols.protocol.http-listener-2.http
+configs.config.server-config.network-config.protocols.protocol.http-listener-2.http.file-cache
+configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl
+----
+
+2. Get the attributes that apply to the module you are interested in.
++
+The following multimode example gets the attributes and values for
+`http-listener-1`:
++
+[source]
+----
+asadmin> get server-config.network-config.network-listeners.network-listener.http-listener-1.*
+----
+Information similar to the following is returned:
++
+[source]
+----
+server.http-service.http-listener.http-listener-1.acceptor-threads = 1
+server.http-service.http-listener.http-listener-1.address = 0.0.0.0
+server.http-service.http-listener.http-listener-1.blocking-enabled = false
+server.http-service.http-listener.http-listener-1.default-virtual-server = server
+server.http-service.http-listener.http-listener-1.enabled = true
+server.http-service.http-listener.http-listener-1.external-port =
+server.http-service.http-listener.http-listener-1.family = inet
+server.http-service.http-listener.http-listener-1.id = http-listener-1
+server.http-service.http-listener.http-listener-1.port = 8080
+server.http-service.http-listener.http-listener-1.redirect-port =
+server.http-service.http-listener.http-listener-1.security-enabled = false
+server.http-service.http-listener.http-listener-1.server-name =
+server.http-service.http-listener.http-listener-1.xpowered-by = true
+----
+
+3. Modify an attribute by using the `set` subcommand.
++
+This example sets the `security-enabled` attribute of `http-listener-1`
+to true:
++
+[source]
+----
+asadmin> set server.http-service.http-listener.http-listener-1.security-enabled = true
+----
+
+[[gjjrl]][[GSADG00696]][[configuration-files]]
+
+==== Configuration Files
+
+The bulk of the configuration information about {productName}
+resources, applications, and instances is stored in the `domain.xml`
+configuration file.
+This file is the central repository for a given
+administrative domain and contains an XML representation of the {productName} domain model.
+The default location for the `domain.xml` file is domain-dir``/config``.
+
+[NOTE]
+====
+{productName} maintains a backup of the `domain.xml` file that is
+named `domain.xml.bak`. The purpose of this file is solely to enable
+{productName} to start a domain if the `domain.xml` file cannot be
+read.
+Do not modify or delete the `domain.xml.bak` file and do not use this file for any other purpose.
+====
+
+The `logging.properties` file is used to configure logging levels for
+individual modules. The default `logging.properties` file is located in
+the same directory as the `domain.xml` file. For further information on
+the `logging.properties` file, see link:logging.html#gkkit[Logging
+Properties].
+
+The `asenv.conf` file is located in the as-install``/config`` directory.
+Its purpose is to store the {productName} environment variables, such
+as the installation location of the database, Message Queue, and so on.
+
+[NOTE]
+====
+Changes are automatically applied to the appropriate configuration file.
+Do not edit the configuration files directly.
+Manual editing is prone to error and can have unexpected results.
+====
+
+
+[[gitzw]][[GSADG00697]][[impact-of-configuration-changes]]
+
+==== Impact of Configuration Changes
+
+Some configuration changes require that you restart the DAS or {productName} instances for the changes to take effect. Other changes are
+applied dynamically without requiring that the DAS or instances be restarted.
+The procedures in this guide indicate when a restart is required.
+{productName} enables you to determine whether the DAS or
+an instance must be restarted to apply configuration changes.
+
+Some changes to resources or connection pools affect the applications
+that use the resources or connection pools. These changes do not require restart.
+However, any applications that use the resources or connection
+pools must be disabled and re-enabled or redeployed for the change to take effect.
+
+The following topics are addressed here:
+
+* link:#gkvaj[To Determine Whether the DAS or an Instance Requires Restart]
+* link:#ghciy[Configuration Changes That Require Restart]
+* link:#ghclm[Dynamic Configuration Changes]
+* link:#gkvas[Changes That Affect Applications]
+
+[[gkvaj]][[GSADG00300]][[to-determine-whether-the-das-or-an-instance-requires-restart]]
+
+===== To Determine Whether the DAS or an Instance Requires Restart
+
+1. Ensure that the DAS is running.
+To obtain information about the DAS or an instance, a running server is required.
+
+2. Do one of the following:
+* To determine if the DAS requires restart, list the domains in your {productName} installation.
+Use the link:reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand for this purpose.
++
+[source]
+----
+asadmin> list-domains [--domaindir domain-root-dir]
+----
++
+The domain-root-dir is the directory that contains the directories in
+which individual domains' configuration is stored.
+The default is as-install``/domains``, where as-install is the base installation
+directory of the {productName} software.
+If the DAS requires restart, a statement that restart is required is displayed.
+
+* To determine if an instance requires restart, list information about the instance.
+Use the link:reference-manual/list-instances.html#GSRFM00170[`list-instances`] subcommand for this purpose.
++
+[source]
+----
+asadmin> list-instances instance-name
+----
+The instance-name is the name of the instance for which you are listing
+information.
+If the instance requires restart, one of the following pieces of
+information is displayed: a statement that restart is required,
+or a list of configuration changes that are not yet applied to the instance.
+
+[[GSADG00093]][[gkvay]]
+Example 1-1 Determining if the DAS Requires Restart
+
+This example determines that the DAS for the domain `domain1` requires
+restart to apply configuration changes.
+
+[source]
+----
+asadmin> list-domains
+domain1 running, restart required to apply configuration changes
+Command list-domains executed successfully.
+----
+
+[[GSADG00094]][[gkvba]]
+Example 1-2 Determining if an Instance Requires Restart
+
+This example determines that the instance `pmd-i1` requires restart to
+apply configuration changes.
+
+[source]
+----
+asadmin> list-instances pmd-i1
+pmd-i1   running;  requires restart
+Command list-instances executed successfully.
+----
+
+[[GSADG795]]
+
+See Also
+
+* link:reference-manual/list-domains.html#GSRFM00163[`list-domains`(1)]
+* link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line.
+
+* `asadmin help list-domains`
+* `asadmin help list-instances`
+
+[[ghciy]][[GSADG00628]][[configuration-changes-that-require-restart]]
+
+===== Configuration Changes That Require Restart
+
+The following configuration changes require restart for the changes to
+take effect:
+
+* Changing JVM options
+* Changing port numbers
++
+
+[NOTE]
+====
+Changes to some port numbers, for example HTTP listener ports, do not
+require restart.
+====
+
+* Changing log handler elements
+* Configuring certificates
+* Managing HTTP, JMS, IIOP, JNDI services
+* Enabling or disabling secure administration as explained in
+"link:security-guide/administrative-security.html#GSSCG00165[Running Secure Admin]" in {productName} Security Guide
+
+[[ghclm]][[GSADG00629]][[dynamic-configuration-changes]]
+
+===== Dynamic Configuration Changes
+
+With dynamic configuration, changes take effect while the DAS or
+instance is running. The following configuration changes do not require
+restart:
+
+* Adding or deleting add-on components
+* Adding or removing JDBC, JMS, and connector resources and pools
+(Exception: Some connection pool properties affect applications.)
+* Changing a system property that is not referenced by a JVM option or a
+port
+* Adding file realm users
+* Changing logging levels
+* Enabling and disabling monitoring
+* Changing monitoring levels for modules
+* Enabling and disabling resources and applications
+* Deploying, undeploying, and redeploying applications
+
+[[gkvas]][[GSADG00630]][[changes-that-affect-applications]]
+
+===== Changes That Affect Applications
+
+Some changes to resources or connection pools affect the applications
+that use the resources or connection pools. These changes do not require
+restart. However, any applications that use the resources or connection
+pools must be disabled and re-enabled or redeployed for the change to
+take effect.
+
+
+[NOTE]
+====
+If you do not know which applications use the changed resources or
+connection pools, you can apply these changes by restarting the clusters
+or{productName} instances to which applications are deployed.
+However, to minimize the disruption to the services that your
+applications provide, avoid restarting clusters or instances to apply
+these changes if possible.
+====
+
+
+The following changes affect applications:
+
+* Creating or deleting resources (Exception: Changes to some JDBC, JMS,
+or connector resources do not affect applications.)
+* Modifying the following JDBC connection pool properties:
+
+** `datasource-classname`
+
+** `associate-with-thread`
+
+** `lazy-connection-association`
+
+** `lazy-connection-enlistment`
+
+** JDBC driver vendor-specific properties
+* Modifying the following connector connection pool properties:
+
+** `resource-adapter-name`
+
+** `connection-definition-name`
+
+** `transaction-support`
+
+** `associate-with-thread`
+
+** `lazy-connection-association`
+
+** `lazy-connection-enlistment`
+
+** Vendor-specific properties
+
+[[ggjxp]][[GSADG00528]][[administration-tools]]
+
+=== Administration Tools
+
+For the most part, you can perform the same tasks by using either the
+graphical Administration Console or the `asadmin` command-line utility,
+however, there are exceptions.
+
+The following {productName} administration tools are described here:
+
+* link:#ablav[Administration Console]
+* link:#gcocs[`asadmin` Utility]
+* link:#gjjok[REST Interfaces]
+* link:#gjjxt[OSGi Module Management Subsystem]
+* link:#ghcjl[`keytool` Utility]
+* link:#ghrfm[Java Monitoring and Management Console (JConsole)]
+
+[[ablav]][[GSADG00698]][[administration-console]]
+
+==== Administration Console
+
+The Administration Console is a browser-based utility that features an
+easy-to-navigate graphical interface that includes extensive online help
+for the administrative tasks.
+
+To use the Administration Console, the domain administration server
+(DAS) must be running. Each domain has its own DAS, which has a unique
+port number. When {productName} was installed, you chose a port
+number for the DAS, or used the default port of 4848. You also specified
+a user name and password if you did not accept the default login
+(`admin` with no password).
+
+When specifying the URL for the Administration Console, use the port
+number for the domain to be administered. The format for starting the
+Administration Console in a web browser is `http://`hostname`:`port. For
+example:
+
+[source]
+----
+http://kindness.example.com:4848
+----
+
+If the Administration Console is running on the host where {productName} was installed, specify `localhost` for the host name. For
+example:
+
+[source]
+----
+http://localhost:4848
+----
+
+If the Administration Console is run on a host different from the host
+where {productName} was installed, a secure connection (`https`
+instead of `http`) is used. Some browsers do not display pages on secure
+connections by default and must be configured to permit secure protocols
+(SSL and TLS).
+
+For Microsoft Windows, an alternate way to start the {productName}
+Administration Console is by using the Start menu.
+
+You can display the help material for a page in the Administration
+Console by clicking the Help button on the page. The initial help page
+describes the functions and fields of the page itself. Associated task
+instructions can be accessed on additional pages by clicking a link in
+the See Also list.
+
+
+[NOTE]
+====
+If you try to use the Administration Console from a system through a
+proxy server on another system back to the original system, while using
+the system's full host name (instead of `localhost` or `127.0.0.1`) you
+are denied access because the request is treated as a remote request,
+which requires that the secure administration feature (secure admin) be
+enabled.
+
+To avoid this situation, do one of the following:
+
+* Do not use a proxy server.
+* Use `localhost` or `127.0.0.1` as the host name.
+* Enable secure admin so that what {productName} interprets as a
+remote request is accepted as such.
+
+To enable secure admin, see "olink:GSSCG00039[Managing Administrative
+Security]" in {productName} Security Guide.
+====
+
+
+[[gcocs]][[GSADG00699]][[asadmin-utility]]
+
+==== `asadmin` Utility
+
+The `asadmin` utility is a command-line tool that runs subcommands for
+identifying the operation or task that you want to perform. You can run
+`asadmin` subcommands either from a command prompt or from a script.
+Running `asadmin` subcommands from a script is helpful for automating
+repetitive tasks. Basic information about how the `asadmin` utility
+works can be found in the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page. For
+instructions on using the `asadmin` utility, see
+link:general-administration.html#giobi[Using the `asadmin` Utility].
+
+To issue an `asadmin` subcommand in the standard command shell (single
+mode), go to the as-install``/bin`` directory and type the `asadmin`
+command followed by a subcommand. For example:
+
+[source]
+----
+asadmin list-jdbc-resources
+----
+
+You can invoke multiple command mode (multimode) by typing `asadmin` at
+the command prompt, after which the `asadmin>` prompt is presented. The
+`asadmin` utility continues to accept subcommands until you exit
+multimode and return to the standard command shell. For example:
+
+[source]
+----
+asadmin> list-jdbc-resources
+----
+
+You can display a help page for any `asadmin` subcommand by typing
+`help` before the subcommand name. For example:
+
+[source]
+----
+asadmin> help restart-domain
+----
+
+or
+
+[source]
+----
+asadmin help restart-domain
+----
+
+A collection of the `asadmin` help pages is available in HTML and PDF
+format in the link:reference-manual.html#GSRFM[{productName} Reference
+Manual].
+
+[[gjjok]][[GSADG00700]][[rest-interfaces]]
+
+==== REST Interfaces
+
+{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. For more information, see
+link:general-administration.html#gjipx[Using REST Interfaces to
+Administer {productName}].
+
+[[gjjxt]][[GSADG00702]][[osgi-module-management-subsystem]]
+
+==== OSGi Module Management Subsystem
+
+The OSGi module management subsystem that is provided with {productName} is the http://felix.apache.org/[Apache Felix OSGi framework] . To
+administer this framework, use the either of the following tools:
+
+* http://felix.apache.org/documentation/subprojects/apache-felix-remote-shell.html[Apache
+Felix Gogo] remote shell. This shell is provided with {productName}.
+The shell uses the Felix Gogo shell service to interact with the OSGi
+module management subsystem.
+* GlassFish OSGi Administration Console. This console is distributed as
+an add-on component for {productName} or as a set of files from the
+Maven GlassFish repository. In both distributions, the GlassFish OSGi
+Web Console is provided as an extension to the Administration Console
+and as a standalone web application. The GlassFish OSGi Administration
+Console is a customized version of the
+http://felix.apache.org/documentation/subprojects/apache-felix-web-console.html[Apache
+Felix Web Console].
+
+These tools enable you to perform administrative tasks on OSGi bundles
+such as:
+
+* Browsing installed OSGi bundles
+* Viewing the headers of installed OSGi bundles
+* Installing OSGi bundles
+* Controlling the life cycle of installed bundles
+
+[[glhdz]][[GSADG00302]][[to-enable-the-apache-felix-gogo-remote-shell]]
+
+===== To Enable the Apache Felix Gogo Remote Shell
+
+By default, the Apache Felix Gogo remote shell in {productName} is
+disabled. Before using the shell to administer OSGi bundles in {productName}, you must enable the shell.
+
+Enabling the Apache Felix Gogo remote shell in {productName} involves
+changing the value of the property `glassfish.osgi.start.level.final`.
+This property controls whether the OSGi start level service enables the
+shell when the DAS or a {productName} instance is started.
+
+1. Ensure that the DAS is running.
++
+[[CEGDBDBH]]
+2. Change the value of the `glassfish.osgi.start.level.final` property from 2 to 3.
+If the domain includes clustered or standalone instances on remote
+hosts, perform this step on each remote host. You can change this value either by creating a Java system property or
+by editing a file.
+* To change this value by creating a Java system property, create the
+Java system property `glassfish.osgi.start.level.final` with a value of 3.
++
+[source]
+----
+asadmin> create-jvm-options --target target -Dglassfish.osgi.start.level.final=3
+----
+target::
+  The target for which you are creating the property.
++
+  For the DAS, the target is `server`.
++
+  For a clustered or standalone instance, the target is the name of the
+  instance.
+* To change this value by editing a file, edit the plain-text file
+as-install``/config/osgi.properties`` to change the value of the
+`glassfish.osgi.start.level.final` property from 2 to 3.
+
+3. Restart the DAS.
+For instructions, see link:domains.html#ginqj[To Restart a Domain].
+
+[[CJAGIGII]][[GSADG1050]][[to-run-apache-felix-gogo-remote-shell-commands]]
+
+===== To Run Apache Felix Gogo Remote Shell Commands
+
+The Apache Felix Gogo remote shell is integrated with the {productName} `asadmin` command line utility. You can use the `asadmin`
+subcommands `osgi` and `osgi-shell` to access the remote shell and run
+OSGi shell commands.
+
+[[GSADG1051]]
+
+To Run Remote Shell Commands Using the `osgi` Subcommand
+
+The `osgi` subcommand delegates the command line to the Apache Felix
+Gogo remote shell for the execution of OSGi shell commands. Commands are
+executed by the remote shell and results are returned by the `asadmin`
+utility. The `osgi` subcommand is supported in remote mode only.
+
+1. Ensure that the server is running.
+Remote commands require a running server.
+2. Access the remote shell by using the link:reference-manual/redeploy.html#GSRFM00217[`osgi`]
+subcommand. For the full syntax and options for this subcommand, see `osgi`(1).
+
+[[GSADG1052]]
+
+To Run Remote Shell Commands Using the `osgi-shell` Subcommand
+
+The `osgi-shell` subcommand provides interactive access to the Apache
+Felix Gogo remote shell for the execution of OSGi shell commands. OSGi
+shell commands are executed on the server and results are printed on the client.
+You can run multiple commands from a file or run commands interactively.
+The `osgi-shell` subcommand is supported in local mode only.
+Unlike other local subcommands, however, the DAS and the server
+instance whose shell is being accessed must be running.
+
+1. Ensure that the server is running.
+2. Access the remote shell by using the link:reference-manual/redeploy.html#GSRFM00217[`osgi-shell`]
+subcommand. For the full syntax and options for this subcommand, see `osgi-shell`(1).
+
+[[GSADG1053]][[sthref5]]
+Example 1-3 Listing Apache Felix Gogo Remote Shell Commands
+
+This example lists Apache Felix Gogo remote shell commands. Some lines
+of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> osgi help
+felix:bundlelevel
+felix:cd
+felix:frameworklevel
+gogo:cat
+gogo:each
+gogo:echo
+...
+asadmin> osgi-shell
+Use "exit" to exit and "help" for online help.
+gogo$ help
+felix:bundlelevel
+felix:cd
+felix:frameworklevel
+gogo:cat
+gogo:each
+gogo:echo
+----
+
+[[GSADG1054]][[sthref6]]
+Example 1-4 Running a Remote Shell Command
+
+This example runs the Felix Remote Shell Command `lb` without any
+arguments to list all installed OSGi bundles. Some lines of output are
+omitted from this example for readability.
+
+[source]
+----
+asadmin> osgi lb
+START LEVEL 2
+ID|State      |Level|Name
+ 0|Active     |    0|System Bundle
+ 1|Active     |    1|Metro Web Services API OSGi Bundle
+ 2|Active     |    1|jakarta.annotation API
+Command osgi executed successfully.
+...
+asadmin> osgi-shell
+Use "exit" to exit and "help" for online help.
+gogo$ lb
+START LEVEL 2
+ID|State      |Level|Name
+ 0|Active     |    0|System Bundle
+ 1|Active     |    1|Metro Web Services API OSGi Bundle
+ 2|Active     |    1|jakarta.annotation API
+gogo$
+----
+
+[[GSADG00097]][[gjkrh]]
+Example 1-5 Determining the Services That an OSGi Bundle Provides
+
+This example runs the Felix Remote Shell Command `inspect` with the
+`service` option and the `capability` option to determine the services
+that OSGi bundle 251 provides. Some lines of output are omitted from
+this example for readability.
+
+[source]
+----
+asadmin> osgi inspect service capability 251
+== GlassFish EJB Container for OSGi Enabled EJB Applications (251) provides services:
+objectClass = org.glassfish.osgijavaeebase.Extender
+service.id = 68
+-----
+objectClass = org.glassfish.osgijavaeebase.OSGiDeployer
+service.id = 69
+service.ranking = -2147483648
+Command osgi executed successfully.
+...
+asadmin> osgi -shell
+Use "exit" to exit and "help" for online help.
+gogo$ inspect service capability 251
+== GlassFish EJB Container for OSGi Enabled EJB Applications (251) provides services:
+objectClass = org.glassfish.osgijavaeebase.Extender
+service.id = 68
+...
+gogo$
+----
+
+[[gkwvx]][[GSADG00303]][[to-download-and-install-the-glassfish-osgi-web-console]]
+
+===== To Download and Install the GlassFish OSGi Web Console
+
+The GlassFish OSGi Web Console is distributed as follows:
+
+* As an add-on component for {productName}
+* As a set of files from the https://maven.java.net[GlassFish Maven
+repository]
+
+In both distributions, the GlassFish OSGi Web Console is provided as an
+extension to the Administration Console and as a standalone web
+application.
+
+1. Perform one of the following sets of steps, depending on how you are
+obtaining the GlassFish OSGi Web Console.
+* If you are obtaining the console as an add-on component, install the
+GlassFish OSGi Admin Console component.
+* If you are obtaining the console from the Maven repository, download
+and unzip the required files.
+2. Download the following files to the parent of the `glassfish7`
+directory of your {productName} installation.
+http://maven.glassfish.org/content/groups/glassfish/org/glassfish/packager/glassfish-osgi-http/3.1.2/glassfish-osgi-http-3.1.2.zip[`glassfish-osgi-http-3.1.2.zip`]
++
+http://maven.glassfish.org/content/groups/glassfish/org/glassfish/packager/glassfish-osgi-gui/3.1.2/glassfish-osgi-gui-3.1.2.zip[`glassfish-osgi-gui-3.1.2.zip`]
+3. Unzip the files that you downloaded.
++
+The contents of the files are added to the
+as-install``/modules/autostart`` directory of your {productName}
+installation.
+4. Restart the DAS. For instructions, see link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG797]]
+
+Next Steps
+
+After downloading and installing the GlassFish OSGi Web Console, you can
+access the console as explained in the following sections:
+
+* link:#BABIDJHF[To Access the GlassFish OSGi Web Console Through the
+{productName} Administration Console]
+* link:#BABDJHAF[To Access the GlassFish OSGi Web Console as a Standalone Web Application]
+
+[[BABIDJHF]][[GSADG798]][[to-access-the-glassfish-osgi-web-console-through-the-glassfish-server-administration-console]]
+
+===== To Access the GlassFish OSGi Web Console Through the {productName} Administration Console
+
+A tab for the GlassFish OSGi Web Console is provided for the DAS and for
+every {productName} instance in a domain.
+
+1. Ensure that the DAS and the instance for which you want to access
+the GlassFish OSGi Web Console are running.
+
+2. Start the {productName} Administration Console.
+For instructions, see link:#ablav[Administration Console].
+
+3. Open the Administration Console page for the DAS or instance for
+which you are accessing the GlassFish OSGi Web Console.
+* For the DAS, in the navigation tree, select the server (Admin Server) node.
+* For a standalone instance, perform these steps:
+.. In the navigation tree, expand the Standalone Instances node.
+.. Under the Standalone Instances node, select the instance.
+* For a clustered instance, perform these steps:
+.. In the navigation tree, expand the Clusters node.
+.. Under the Clusters node, select the cluster that contains the instance.
+   The General Information page for the cluster opens.
+.. In the General Information page for the cluster, click the Instances tab.
+   The Clustered Server Instances page for the cluster opens.
+.. In the Server Instances table on the Clustered Server Instances
+   page, select the instance.
+
+4. On the Administration Console page for the DAS or instance, click
+the OSGi Console tab. You are prompted for the user name and password of the administrative
+user of the GlassFish OSGi Web Console.
+
+5. In response to the prompt, provide the user name and password of the
+administrative user of the GlassFish OSGi Web Console.
+The user name and password of this user are both preset to `admin`.
+The GlassFish OSGi Web Console page opens.
+
+[[BABDJHAF]][[GSADG799]][[to-access-the-glassfish-osgi-web-console-as-a-standalone-web-application]]
+
+===== To Access the GlassFish OSGi Web Console as a Standalone Web Application
+
+1. Ensure that the DAS or the instance for which you want to access the
+GlassFish OSGi Web Console is running.
+
+2. In a web browser, open the following location:
++
+[source]
+----
+http://host:http-port/osgi/system/console/
+----
+host::
+  The host where the DAS or instance is running.
+http-port::
+  The port on which {productName} listens for HTTP requests.
+  The default is 8080.
+
++
+For example, if the DAS is running on the local host and {productName} listens
+  for HTTP requests on the default port, open the following location:
++
+[source]
+----
+http://localhost:8080/osgi/system/console/
+----
+
+3. When prompted, provide the user name and password of the
+administrative user of the GlassFish OSGi Web Console.
++
+The user name and password of this user are both preset to `admin`.
+
+[[ghcjl]][[GSADG00703]][[keytool-utility]]
+
+==== `keytool` Utility
+
+The `keytool` utility is used to set up and work with Java Security
+Socket Extension (JSSE) digital certificates. See
+"link:security-guide/system-security.html#GSSCG00147[Administering JSSE Certificates]"
+in {productName} Security Guide for instructions on using `keytool`.
+
+[[ghrfm]][[GSADG00704]][[java-monitoring-and-management-console-jconsole]]
+
+==== Java Monitoring and Management Console (JConsole)
+
+Java SE provides tools to connect to an MBean server and view the MBeans
+that are registered with the server. JConsole is one such popular JMX
+Connector Client and is available as part of the standard Java SE
+distribution. For instructions on implementing JConsole in the {productName} environment,
+see link:monitoring.html#giwqm[Configuring JConsole to View {productName} Monitoring Data].
+
+[[giudo]][[GSADG00529]][[instructions-for-administering-glassfish-server]]
+
+=== Instructions for Administering {productName}
+
+Information and instructions on performing most of the administration
+tasks from the command line are provided in this document and in the
+`asadmin` utility help pages. For instructions on accessing `asadmin`
+online help, see link:general-administration.html#givlw[To Display Help
+Information for the `asadmin` Utility or a Subcommand].
+
+Information and instructions for accomplishing the tasks by using the
+Administration Console are contained in the Administration Console
+online help.
+
+
+[NOTE]
+====
+Instructions written for the {productName} tools use standard UNIX
+forward slashes (/) for directory path separators in commands and file
+names. If you are running {productName} on a Microsoft Windows
+system, use backslashes (\) instead. For example:
+
+* UNIX: as-install``/bin/asadmin``
+* Windows: as-install``\bin\asadmin``
+
+====
+
+
+The following additional documents address specific administration areas:
+
+* Verifying and deploying applications
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide]
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/part-appendixes.adoc b/docs/administration-guide/src/main/asciidoc/part-appendixes.adoc
new file mode 100644
index 0000000..7d1cdc7
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/part-appendixes.adoc
@@ -0,0 +1,16 @@
+type=page
+status=published
+title=Appendixes
+next=asadmin-subcommands.html
+prev=transactions.html
+~~~~~~
+
+= Appendixes
+
+[[gitym]][[GSADG00299]][[part-iii]]
+
+== Part III
+
+[[appendixes]]
+== Appendixes
+
diff --git a/docs/administration-guide/src/main/asciidoc/part-res-and-svcs-admin.adoc b/docs/administration-guide/src/main/asciidoc/part-res-and-svcs-admin.adoc
new file mode 100644
index 0000000..5ba4b28
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/part-res-and-svcs-admin.adoc
@@ -0,0 +1,16 @@
+type=page
+status=published
+title=Resources and Services Administration
+next=jdbc.html
+prev=batch.html
+~~~~~~
+
+= Resources and Services Administration
+
+[[gitxw]][[GSADG00298]][[part-ii]]
+
+== Part II
+
+[[resources-and-services-administration]]
+== Resources and Services Administration
+
diff --git a/docs/administration-guide/src/main/asciidoc/part-runtime-admin.adoc b/docs/administration-guide/src/main/asciidoc/part-runtime-admin.adoc
new file mode 100644
index 0000000..283d747
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/part-runtime-admin.adoc
@@ -0,0 +1,16 @@
+type=page
+status=published
+title=Runtime Administration
+next=general-administration.html
+prev=overview.html
+~~~~~~
+
+= Runtime Administration
+
+[[gitzg]][[GSADG00297]][[part-i]]
+
+== Part I
+
+[[runtime-administration]]
+== Runtime Administration
+
diff --git a/docs/administration-guide/src/main/asciidoc/preface.adoc b/docs/administration-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..695c770
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,320 @@
+type=page
+status=published
+title=Preface
+next=overview.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSADG00003]][[gkamj]]
+[[preface]]
+== Preface
+
+The {productName} Administration Guide provides
+instructions for configuring and administering
+{productName}.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSADG00518]][[ghpbz]]
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSADG00519]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[GSADG00520]][[fwbkx]]
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSADG00521]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSADG00522]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/administration-guide/src/main/asciidoc/threadpools.adoc b/docs/administration-guide/src/main/asciidoc/threadpools.adoc
new file mode 100644
index 0000000..346f93f
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/threadpools.adoc
@@ -0,0 +1,228 @@
+type=page
+status=published
+title=Administering Thread Pools
+next=webapps.html
+prev=jvm.html
+~~~~~~
+
+= Administering Thread Pools
+
+[[GSADG00008]][[abluc]]
+
+
+[[administering-thread-pools]]
+== 5 Administering Thread Pools
+
+This chapter provides procedures for administering thread pools in the
+{productName} 7 environment by using the
+`asadmin` command-line utility.
+
+The following topics are addressed here:
+
+* link:#ggjyv[About Thread Pools]
+* link:#ablud[Configuring Thread Pools]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[[ggjyv]][[GSADG00546]][[about-thread-pools]]
+
+=== About Thread Pools
+
+The Virtual Machine for the Java platform (Java Virtual Machine) or JVM
+machine) can support many threads of execution simultaneously. To help
+performance, {productName} maintains one or more thread pools. It is
+possible to assign specific thread pools to connector modules, to
+network listeners, or to the Object Request Broker (ORB).
+
+One thread pool can serve multiple connector modules and enterprise
+beans. Request threads handle user requests for application components.
+When {productName} receives a request, it assigns the request to a
+free thread from the thread pool. The thread executes the client's
+requests and returns results. For example, if the request needs to use a
+system resource that is currently busy, the thread waits until that
+resource is free before allowing the request to use that resource.
+
+[[ablud]][[GSADG00547]][[configuring-thread-pools]]
+
+=== Configuring Thread Pools
+
+You can specify the minimum and maximum number of threads that are
+reserved for requests from applications. The thread pool is dynamically
+adjusted between these two values.
+
+The following topics are addressed here:
+
+* link:#ggkwj[To Create a Thread Pool]
+* link:#giuff[To List Thread Pools]
+* link:#ggkyc[To Update a Thread Pool]
+* link:#ggkwy[To Delete a Thread Pool]
+
+[[ggkwj]][[GSADG00366]][[to-create-a-thread-pool]]
+
+==== To Create a Thread Pool
+
+Use the `create-threadpool` subcommand in remote mode to create a thread
+pool.
+
+The minimum thread pool size that is specified signals the server to
+allocate at least that many threads in reserve for application requests.
+That number is increased up to the maximum thread pool size that is
+specified. Increasing the number of threads available to a process
+allows the process to respond to more application requests
+simultaneously.
+
+If one resource adapter or application occupies all the {productName}
+threads, thread starvation might occur. You can avoid this by dividing
+the {productName} threads into different thread pools.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a new thread pool by using the
+link:reference-manual/create-threadpool.html#GSRFM00060[`create-threadpool`] subcommand.
++
+Information about options for the subcommand is included in this help
+page.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
++
+
+[NOTE]
+====
+Restart is not necessary for thread pools used by the web container.
+====
+
+
+[[GSADG00162]][[giuez]]
+Example 5-1 Creating a Thread Pool
+
+This example creates `threadpool-l`.
+
+[source]
+----
+asadmin> create-threadpool --maxthreadpoolsize 100
+--minthreadpoolsize 20 --idletimeout 2 --workqueues 100 threadpool-1
+Command create-threadpool executed successfully
+----
+
+[[GSADG853]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-threadpool` at the command line.
+
+[[giuff]][[GSADG00367]][[to-list-thread-pools]]
+
+==== To List Thread Pools
+
+Use the `list-threadpools` subcommand in remote mode to list the
+existing thread pools.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the existing thread pools by using the
+link:reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`] subcommand.
+
+[[GSADG00163]][[giugs]]
+Example 5-2 Listing Thread Pools
+
+This example lists the existing thread pools.
+
+[source]
+----
+asadmin> list-threadpools
+threadpool-1
+Command list-threadpools executed successfully
+----
+
+[[GSADG854]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-threadpools` at the command line.
+
+[[ggkyc]][[GSADG00368]][[to-update-a-thread-pool]]
+
+==== To Update a Thread Pool
+
+Use the `set` subcommand to update the values for a specified thread
+pool.
+
+1. List the existing thread pools by using the
+link:reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`] subcommand.
+2. Modify the values for a thread pool by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+The thread pool is identified by its dotted name.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
++
+
+[NOTE]
+====
+Restart is not necessary for thread pools used by the web container.
+====
+
+
+[[GSADG00164]][[giuhc]]
+Example 5-3 Updating a Thread Pool
+
+This example sets the `max-thread-pool-size` from its previous value to
+8. [source]
+----
+asadmin> set server.thread-pools.thread-pool.http-thread-pool.max-thread-pool-size=8
+Command set executed successfully
+----
+
+[[GSADG855]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help set` at the command line.
+
+[[ggkwy]][[GSADG00369]][[to-delete-a-thread-pool]]
+
+==== To Delete a Thread Pool
+
+Use the `delete-threadpool` subcommand in remote mode to delete an
+existing thread pool. Deleting a thread pool will fail if that pool is
+referenced by a network listener.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the existing thread pools by using the
+link:reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`] subcommand.
+3. Delete the specified thread pool by using the
+link:reference-manual/delete-threadpool.html#GSRFM00111[`delete-threadpool`] subcommand.
+4. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
++
+
+[NOTE]
+====
+Restart is not necessary for thread pools used by the web container.
+====
+
+
+[[GSADG00165]][[giugt]]
+Example 5-4 Deleting a Thread Pool
+
+This example deletes `threadpool-1`.
+
+[source]
+----
+asadmin> delete-threadpool threadpool-1
+Command delete-threadpool executed successfully
+----
+
+[[GSADG856]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-threadpool` at the command line.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/title.adoc b/docs/administration-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..a8c35bd
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,48 @@
+type=page
+status=published
+title={productName} Administration Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+
+= {productName} Administration Guide, Release 7
+
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Administration Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+{productName} 7 Administration Guide provides
+instructions for configuring and administering {productName}.
+
+[[sthref1]]
+
+'''''
+
+{productName} Administration Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/administration-guide/src/main/asciidoc/transactions.adoc b/docs/administration-guide/src/main/asciidoc/transactions.adoc
new file mode 100644
index 0000000..f667878
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/transactions.adoc
@@ -0,0 +1,810 @@
+type=page
+status=published
+title=Administering Transactions
+next=part-appendixes.html
+prev=jndi.html
+~~~~~~
+
+= Administering Transactions
+
+[[GSADG00022]][[ablsn]]
+
+
+[[administering-transactions]]
+== 19 Administering Transactions
+
+This chapter discusses how to manage the transaction service for the
+{productName} environment by using the `asadmin`
+command-line utility. Instructions for manually recovering transactions
+are also included.
+
+The following topics are addressed here:
+
+* link:#ablso[About Transactions]
+* link:#beanp[Configuring the Transaction Service]
+* link:#giubd[Managing the Transaction Service for Rollbacks]
+* link:#gjjpy[Recovering Transactions]
+* link:#beanq[Transaction Logging]
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console
+online help.
+
+For more information about the Java Transaction API (JTA) and Java
+Transaction Service (JTS), see the following sites:
+`http://www.oracle.com/technetwork/java/javaee/tech/jta-138684.html` and
+`http://www.oracle.com/technetwork/java/javaee/tech/jts-140022.html`.
+
+You might also want to read
+"https://eclipse-ee4j.github.io/jakartaee-tutorial/#transactions[Transactions]"
+in The Jakarta EE Tutorial.
+
+[[ablso]][[GSADG00605]][[about-transactions]]
+
+=== About Transactions
+
+A transaction is a series of discreet actions in an application that
+must all complete successfully. By enclosing one or more actions in an
+indivisible unit of work, a transaction ensures data integrity and
+consistency. If all actions do not complete, the changes are rolled
+back.
+
+For example, to transfer funds from a checking account to a savings
+account, the following steps typically occur:
+
+1. Check to see if the checking account has enough money to cover the
+transfer.
+2. Debit the amount from the checking account.
+3. Credit the amount to the savings account.
+4. Record the transfer to the checking account log.
+5. Record the transfer to the savings account log.
+
+These steps together are considered a single transaction.
+
+If all the steps complete successfully, the transaction is committed .
+If any step fails, all changes from the preceding steps are rolled back,
+and the checking account and savings account are returned to the states
+they were in before the transaction started. This type of event is
+called a rollback. A normal transaction ends in either a committed state
+or a rolled back state.
+
+The following elements contribute to reliable transaction processing by
+implementing various APIs and functionalities:
+
+* Transaction Manager. Provides the services and management functions
+required to support transaction demarcation, transactional resource
+management, synchronization, and transaction context propagation.
+* {productName}. Provides the infrastructure required to support the
+application runtime environment that includes transaction state
+management.
+* Resource Manager. Through a resource adapter, the resource manager
+provides the application access to resources. The resource manager
+participates in distributed transactions by implementing a transaction
+resource interface used by the transaction manager to communicate
+transaction association, transaction completion, and recovery work. An
+example of such a resource manager is a relational database server.
+* Resource Adapter. A system-level software library is used by {productName} or a client to connect to a resource manager. A resource adapter
+is typically specific to a resource manager. The resource adapter is
+available as a library and is used within the address space of the
+client using it. An example of such a resource adapter is a Java
+Database Connectivity (JDBC) driver. For information on supported JDBC
+drivers, see link:jdbc.html#beamw[Configuration Specifics for JDBC
+Drivers].
+* Transactional User Application. In the {productName} environment,
+the transactional user application uses Java Naming and Directory
+Interface (JNDI) to look up transactional data sources and, optionally,
+the user transaction). The application might use declarative transaction
+attribute settings for enterprise beans, or explicit programmatic
+transaction demarcation. For more information, see "link:application-development-guide/transaction-service.html#GSDVG00191[The
+Transaction Manager, the Transaction Synchronization Registry, and
+UserTransaction]" in {productName} Application
+Development Guide.
+
+The following topics are addressed here:
+
+* link:#beann[Transaction Resource Managers]
+* link:#beano[Transaction Scope]
+
+[[beann]][[GSADG00785]][[transaction-resource-managers]]
+
+==== Transaction Resource Managers
+
+There are three types of transaction resource managers:
+
+* Databases - Use of transactions prevents databases from being left in
+inconsistent states due to incomplete updates. For information about
+JDBC transaction isolation levels, see "link:application-development-guide/transaction-service.html#GSDVG00511[Using JDBC
+Transaction Isolation Levels]" in {productName}
+Application Development Guide.
++
+The {productName} supports a variety of JDBC XA drivers. For a list
+of the JDBC drivers currently supported by the {productName}, see the
+link:release-notes.html#GSRLN[{productName} Release Notes]. For
+configurations of supported and other drivers, see
+link:jdbc.html#beamw[Configuration Specifics for JDBC Drivers].
+* Java Message Service (JMS) Providers - Use of transactions ensures
+that messages are reliably delivered. The {productName} is integrated
+with Open Message Queue, a fully capable JMS provider. For more
+information about transactions and the JMS API, see
+link:jms.html#abljw[Administering the Java Message Service (JMS)].
+* J2EE Connector Architecture (CA) components - Use of transactions
+prevents legacy EIS systems from being left in inconsistent states due
+to incomplete updates. For more information about connectors, see
+link:connectors.html#abllp[Administering EIS Connectivity].
+
+[[beano]][[GSADG00786]][[transaction-scope]]
+
+==== Transaction Scope
+
+A local transaction involves only one non-XA resource and requires that
+all participating application components execute within one process.
+Local transaction optimization is specific to the resource manager and
+is transparent to the Jakarta EE application.
+
+In the {productName}, a JDBC resource is non-XA if it meets either of
+the following criteria:
+
+* In the JDBC connection pool configuration, the DataSource class does
+not implement the javax.sql.XADataSource interface.
+* The Resource Type setting is not set to javax.sql.XADataSource .
+
+A transaction remains local if the following conditions remain true:
+
+* One and only one non-XA resource is used. If any additional non-XA
+resource is used, the transaction is aborted, because the transaction
+manager must use XA protocol to commit two or more resources.
+* No transaction importing or exporting occurs.
+
+Transactions that involve multiple resources or multiple participant
+processes are distributed or global transactions. A global transaction
+can involve one non-XA resource if last agent optimization is enabled.
+Otherwise, all resources must be XA. The `use-last-agent-optimization`
+property is set to `true` by default. For details about how to set this
+property, see link:#beanp[Configuring the Transaction Service].
+
+If only one XA resource is used in a transaction, one-phase commit
+occurs, otherwise the transaction is coordinated with a two-phase commit
+protocol.
+
+A two-phase commit protocol between the transaction manager and all the
+resources enlisted for a transaction ensures that either all the
+resource managers commit the transaction or they all abort. When the
+application requests the commitment of a transaction, the transaction
+manager issues a `PREPARE_TO_COMMIT` request to all the resource
+managers involved. Each of these resources can in turn send a reply
+indicating whether it is ready for commit (`PREPARED`) or not (`NO`).
+Only when all the resource managers are ready for a commit does the
+transaction manager issue a commit request (`COMMIT`) to all the
+resource managers. Otherwise, the transaction manager issues a rollback
+request (`ABORT`) and the transaction is rolled back.
+
+[[beanp]][[GSADG00606]][[configuring-the-transaction-service]]
+
+=== Configuring the Transaction Service
+
+You can configure the transaction service in the {productName} in the
+following ways:
+
+* To configure the transaction service using the Administration Console,
+open the Transaction Service component under the relevant configuration.
+For details, click the Help button in the Administration Console.
+* To configure the transaction service, use the link:reference-manual/set.html#GSRFM00226[`set`]
+subcommand to set the following attributes.
++
+The following examples show the `server-config` configuration, but
+values for any configuration can be set. For example, if you create a
+cluster named `cluster1` and a configuration named `cluster1-config` is
+automatically created for it, you can use `cluster1-config` in the `set`
+subcommand to get the transaction service settings for that cluster.
++
+[source]
+----
+server-config.transaction-service.automatic-recovery = false
+server-config.transaction-service.heuristic-decision = rollback
+server-config.transaction-service.keypoint-interval = 2048
+server-config.transaction-service.retry-timeout-in-seconds = 600
+server-config.transaction-service.timeout-in-seconds = 0
+server-config.transaction-service.tx-log-dir = domain-dir/logs
+----
+You can also set these properties:
++
+[source]
+----
+server-config.transaction-service.property.oracle-xa-recovery-workaround = true
+server-config.transaction-service.property.sybase-xa-recovery-workaround = false
+server-config.transaction-service.property.disable-distributed-transaction-logging = false
+server-config.transaction-service.property.xaresource-txn-timeout = 0
+server-config.transaction-service.property.pending-txn-cleanup-interval = -1
+server-config.transaction-service.property.use-last-agent-optimization = true
+server-config.transaction-service.property.delegated-recovery = false
+server-config.transaction-service.property.wait-time-before-recovery-insec = 60
+server-config.transaction-service.property.purge-cancelled-transactions-after = 0
+server-config.transaction-service.property.commit-one-phase-during-recovery = false
+server-config.transaction-service.property.add-wait-point-during-recovery = 0
+server-config.transaction-service.property.db-logging-resource = jdbc/TxnDS
+server-config.transaction-service.property.xa-servername = myserver
+----
+Default property values are shown where they exist. For
+`db-logging-resource` and `xa-servername`, typical values are shown.
+Values that are not self-explanatory are as follows:
+
+** The `xaresource-txn-timeout` default of `0` means there is no
+timeout. The units are seconds.
+
+** The `pending-txn-cleanup-interval` default of `-1` means the periodic
+recovery thread doesn't run. The units are seconds.
+
+** The `purge-cancelled-transactions-after` default of `0` means
+cancelled transactions are not purged. The units are the number of
+cancellations in between purging attempts.
+
+** The `add-wait-point-during-recovery` property does not have a default
+value. If this property is unset, recovery does not wait. The units are
+seconds.
+
+** The `db-logging-resource` property does not have a default value. It
+is unset by default. However, if you set `db-logging-resource` to an
+empty value, the value used is `jdbc/TxnDS`.
+
+** The `xa-servername` property does not have a default value. Use this
+property to override server names that can cause errors.
++
+You can use the link:reference-manual/get.html#GSRFM00139[`get`] subcommand to list all the
+transaction service attributes and the properties that have been set.
+For details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
++
+Changing `keypoint-interval`, `retry-timeout-in-seconds`, or
+`timeout-in-seconds` does not require a server restart. Changing other
+attributes or properties requires a server restart.
+* You can also set the following system properties:
++
+[source]
+----
+ALLOW_MULTIPLE_ENLISTS_DELISTS=false
+JTA_RESOURCE_TABLE_MAX_ENTRIES=8192
+JTA_RESOURCE_TABLE_DEFAULT_LOAD_FACTOR=0.75f
+----
+The `JTA_RESOURCE_TABLE_DEFAULT_LOAD_FACTOR` default is the default
+`Map` resizing value.
+
+[[giubd]][[GSADG00607]][[managing-the-transaction-service-for-rollbacks]]
+
+=== Managing the Transaction Service for Rollbacks
+
+You can roll back a single transaction by using the `asadmin`
+subcommands described in this section. To do so, the transaction service
+must be stopped (and later restarted), allowing you to see the active
+transactions and correctly identify the one that needs to be rolled
+back.
+
+The following topics are addressed here:
+
+* link:#giufn[To Stop the Transaction Service]
+* link:#giugk[To Roll Back a Transaction]
+* link:#giuet[To Restart the Transaction Service]
+* link:#gkrbo[Determining Local Transaction Completion at Shutdown]
+
+[[giufn]][[GSADG00513]][[to-stop-the-transaction-service]]
+
+==== To Stop the Transaction Service
+
+Use the `freeze-transaction-service` subcommand in remote mode to stop
+the transaction service. When the transaction service is stopped, all
+in-flight transactions are immediately suspended. You must stop the
+transaction service before rolling back any in-flight transactions.
+
+Running this subcommand on a stopped transaction subsystem has no
+effect. The transaction service remains suspended until you restart it
+by using the `unfreeze-transaction-service` subcommand.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Stop the transaction service by using the
+link:reference-manual/freeze-transaction-service.html#GSRFM00137[`freeze-transaction-service`] subcommand.
+
+[[GSADG00293]][[giufq]]
+Example 19-1 Stopping the Transaction Service
+
+This example stops the transaction service.
+
+[source]
+----
+asadmin> freeze-transaction-service --target instance1
+Command freeze-transaction-service executed successfully
+----
+
+[[GSADG1038]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help freeze-transaction-service` at the command line.
+
+[[giugk]][[GSADG00514]][[to-roll-back-a-transaction]]
+
+==== To Roll Back a Transaction
+
+In some situations, you might want to roll back a particular
+transaction. Before you can roll back a transaction, you must first stop
+the transaction service so that transaction operations are suspended.
+Use the `rollback-transaction` subcommand in remote mode to roll back a
+specific transaction.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Enable monitoring using the `set` subcommand. For example:
++
+[source]
+----
+asadmin> set cluster1-config.monitoring-service.module-monitoring-levels.transaction-service=HIGH
+----
+3. Use the `freeze-transaction-service` subcommand to halt in-process
+transactions. See link:#giufn[To Stop the Transaction Service].
+4. Identify the ID of the transaction you want to roll back.
++
+To see a list of IDs of active transactions, use the `get` subcommand
+with the `--monitor` option to get the monitoring data for the
+`activeids` statistic. See link:monitoring.html#ablvl[Transaction Service
+Statistics]. For example:
++
+[source]
+----
+asadmin> get --monitor instance1.server.transaction-service.activeids-current
+----
+5. Roll back the transaction by using the
+link:reference-manual/rollback-transaction.html#GSRFM00223[`rollback-transaction`] subcommand.
++
+The transaction is not rolled back at the time of this command's
+execution, but only marked for rollback. The transaction is rolled back
+when it is completed.
+
+[[GSADG00294]][[giufy]]
+Example 19-2 Rolling Back a Transaction
+
+This example rolls back the transaction with transaction ID
+`0000000000000001_00`.
+
+[source]
+----
+asadmin> rollback-transaction --target instance1 0000000000000001_00
+Command rollback-transaction executed successfully
+----
+
+[[GSADG1039]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help rollback-transaction` at the command line.
+
+[[giuet]][[GSADG00515]][[to-restart-the-transaction-service]]
+
+==== To Restart the Transaction Service
+
+Use the `unfreeze-transaction-service` subcommand in remote mote to
+resume all the suspended in-flight transactions. Run this subcommand to
+restart the transaction service after it has been frozen.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Restart the suspended transaction service by using the
+link:reference-manual/unfreeze-transaction-service.html#GSRFM00245[`unfreeze-transaction-service`] subcommand.
+
+[[GSADG00295]][[giuef]]
+Example 19-3 Restarting the Transaction Service
+
+This example restarts the transaction service after it has been frozen.
+
+[source]
+----
+asadmin> unfreeze-transaction-service --target instance1
+Command unfreeze-transaction-service executed successfully
+----
+
+[[GSADG1040]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help unfreeze-transaction-service` at the command line.
+
+[[gkrbo]][[GSADG00787]][[determining-local-transaction-completion-at-shutdown]]
+
+==== Determining Local Transaction Completion at Shutdown
+
+When you shut down a {productName} instance, all database connections
+are closed. When an Oracle JDBC driver-based database connection is
+closed in the middle of a non-XA transaction, all pending changes are
+committed. Other databases usually roll back pending changes when a
+connection is closed without being explicitly committed. To determine
+the exact behavior for your database, refer to the documentation from
+your JDBC driver vendor.
+
+To explicitly specify whether {productName} commits or rolls back
+non-XA transactions at server shutdown, set the
+`com.sun.enterprise.in-progress-local-transaction.completion-mode` JVM
+option to either `commit` or `rollback` using the
+link:reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`] subcommand. For example:
+
+[source]
+----
+asadmin> create-jvm-options -Dcom.sun.enterprise.in-progress-local-transaction.completion-mode=rollback
+----
+
+[[gjjpy]][[GSADG00608]][[recovering-transactions]]
+
+=== Recovering Transactions
+
+There are some situations where the commit or rollback operations might
+be interrupted, typically because the server crashed or a resource
+manager crashed. Crash situations can leave some transactions stranded
+between steps. {productName} is designed to recover from these
+failures. If the failed transaction spans multiple servers, the server
+that started the transaction can contact the other servers to get the
+outcome of the transaction. If the other servers are unreachable, the
+transaction uses heuristic decision information to determine the
+outcome.
+
+The following topics are addressed here:
+
+* link:#gkoen[Automatic Transaction Recovery]
+* link:#giuhe[To Manually Recover Transactions]
+* link:#gaxim[Distributed Transaction Recovery]
+* link:#gaxig[Recovery Workarounds and Limitations]
+
+[[gkoen]][[GSADG00788]][[automatic-transaction-recovery]]
+
+==== Automatic Transaction Recovery
+
+{productName} can perform automatic recovery in these ways:
+
+* Pending transactions are completed upon server startup if
+`automatic-recovery` is set to `true`.
+* Periodic automatic recovery is performed by a background thread if the
+`pending-txn-cleanup-interval` property is set to a positive value.
+
+Changing these settings requires a server restart. For more information
+about how to change these settings, see link:#beanp[Configuring the
+Transaction Service].
+
+If commit fails during recovery, a message is written to the server log.
+
+[[giuhe]][[GSADG00516]][[to-manually-recover-transactions]]
+
+==== To Manually Recover Transactions
+
+Use the `recover-transactions` subcommand in remote mode to manually
+recover transactions that were pending when a resource or a server
+instance failed.
+
+For a standalone server, do not use manual transaction recovery to
+recover transactions after a server failure. For a standalone server,
+manual transaction recovery can recover transactions only when a
+resource fails, but the server is still running. If a standalone server
+fails, only the full startup recovery process can recover transactions
+that were pending when the server failed.
+
+For an installation of multiple server instances, you can use manual
+transaction recovery from a surviving server instance to recover
+transactions after a server failure. For manual transaction recovery to
+work properly, transaction logs must be stored on a shared file system
+that is accessible to all server instances. See link:#beanq[Transaction
+Logging].
+
+When you execute `recover-transactions` in non-delegated mode, you can
+recover transactions that didn't complete two-phase commit because of a
+resource crash. To use manual transaction recovery in this way, the
+following conditions must be met:
+
+* The `recover-transactions` command should be executed after the
+resource is restarted.
+* Connection validation should be enabled so the connection pool is
+refreshed when the resource is accessed after the recovery. For more
+information, see "link:performance-tuning-guide/tuning-glassfish.html#GSPTG00030[Connection Validation Settings]" in
+{productName} Performance Tuning Guide.
+
+If commit fails during recovery, a message is written to the server log.
+
+
+[NOTE]
+====
+A JMS resource crash is handled the same way as any other resource.
+
+You can list in-doubt Open Message Queue transactions using the
+`imqcmd list txn` subcommand. For more information, see
+"olink:GMADG00241[Managing Transactions]" in Open Message Queue
+Administration Guide.
+====
+
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Manually recover transactions by using the
+link:reference-manual/recover-transactions.html#GSRFM00216[`recover-transactions`] subcommand.
+
+[[GSADG00296]][[giugn]]
+Example 19-4 Manually Recovering Transactions
+
+This example performs manual recovery of transactions on `instance1`,
+saving them to `instance2`.
+
+[source]
+----
+asadmin recover-transactions --target instance2 instance1
+Transaction recovered.
+----
+
+[[GSADG1041]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help recover-transactions` at the command line.
+
+[[gaxim]][[GSADG00789]][[distributed-transaction-recovery]]
+
+==== Distributed Transaction Recovery
+
+To enable cluster-wide automatic recovery, you must first facilitate
+storing of transaction logs in a shared file system. See
+link:#beanq[Transaction Logging].
+
+Next, you must set the transaction service's `delegated-recovery`
+property to `true` (the default is `false`). For information about
+setting `tx-log-dir` and `delegated-recovery`, see
+link:#beanp[Configuring the Transaction Service].
+
+[[gaxig]][[GSADG00790]][[recovery-workarounds-and-limitations]]
+
+==== Recovery Workarounds and Limitations
+
+The {productName} provides workarounds for some known issues with
+transaction recovery implementations.
+
+
+[NOTE]
+====
+These workarounds do not imply support for any particular JDBC driver.
+====
+
+
+[[gknau]][[GSADG00689]][[general-recovery-limitations]]
+
+===== General Recovery Limitations
+
+The following general limitations apply to transaction recovery:
+
+* Recovery succeeds if there are no exceptions during the process. This
+is independent of the number of transactions that need to be recovered.
+* Only transactions that did not complete the two-phase commit can be
+recovered (one of the XA resources failed or {productName} crashed
+after resources were prepared).
+* Manual transaction recovery cannot recover transactions after a server
+crash on a standalone server instance. Manual operations are intended
+for cases when a resource dies unexpectedly while the server is running.
+In case of a server crash, only startup recovery can recover in-doubt
+transactions.
+* It is not possible to list transaction IDs for in-doubt transactions.
+* Delegated transaction recovery (by a different server instance in a
+cluster) is not possible if the failed instance used an `EMBEDDED`
+Message Queue broker, or if it used a `LOCAL` or `REMOTE` Message Queue
+broker and the broker also failed. In this case, only automatic recovery
+on server instance restart is possible. This is because for conventional
+Message Queue clustering, state information in a failed broker is not
+available until the broker restarts.
+
+[[gknee]][[GSADG00690]][[oracle-setup-for-transaction-recovery]]
+
+===== Oracle Setup for Transaction Recovery
+
+You must configure the following `grant` statements in your Oracle
+database to set up transaction recovery:
+
+[source]
+----
+grant select on SYS.DBA_PENDING_TRANSACTIONS to user;
+grant execute on SYS.DBMS_SYSTEM to user;
+grant select on SYS.PENDING_TRANS$ to user;
+grant select on SYS.DBA_2PC_NEIGHBORS to user;
+grant execute on SYS.DBMS_XA to user;
+grant select on SYS.DBA_2PC_PENDING to user;
+----
+
+The user is the database administrator. On some versions of the Oracle
+driver the last `grant execute` fails. You can ignore this.
+
+[[gjiep]][[GSADG00691]][[oracle-thin-driver]]
+
+===== Oracle Thin Driver
+
+In the Oracle thin driver, the `XAResource.recover` method repeatedly
+returns the same set of in-doubt Xids regardless of the input flag.
+According to the XA specifications, the Transaction Manager initially
+calls this method with TMSTARTSCAN and then with TMNOFLAGS repeatedly
+until no Xids are returned. The `XAResource.commit` method also has some
+issues.
+
+To disable the {productName} workaround, set the
+`oracle-xa-recovery-workaround` property value to `false`. For details
+about how to set this property, see link:#beanp[Configuring the
+Transaction Service]. This workaround is used unless explicitly
+disabled.
+
+[[gkneq]][[GSADG00692]][[delegated-recovery-after-server-crash-doesnt-work-on-mysql]]
+
+===== Delegated Recovery After Server Crash Doesn't Work on MySQL
+
+The MySQL database supports XA transaction recovery only when the
+database crashes. When a {productName} instance crashes, MySQL rolls
+back prepared transactions.
+
+[[glclh]][[GSADG00693]][[call-to-xateminator.recover-during-resourceadapter.start-hangs-if-automatic-recovery-is-enabled]]
+
+===== Call to `XATeminator.recover()` During `ResourceAdapter.start()` Hangs If Automatic Recovery Is Enabled
+
+Calls to `XATerminator.recover()` from the `ResourceAdapter.start()`
+method never return because {productName} deadlocks. This only occurs
+when automatic recovery is enabled.
+
+It is not advisable to do transactional activities, such as starting a
+transaction or calling `XATerminator.recover()`, during
+`ResourceAdapter.start()`. For more information, see
+`http://markmail.org/message/ogc7qndhaywfkdrp#query:+page:1+mid:kyyzpcexusbnv7ri+state:results`.
+
+[[beanq]][[GSADG00609]][[transaction-logging]]
+
+=== Transaction Logging
+
+The transaction service writes transactional activity into transaction
+logs so that transactions can be recovered. You can control transaction
+logging in these ways:
+
+* Set the location of the transaction log files in one of these ways:
+
+** Set the {productName}'s `log-root` setting to a shared file system
+base directory and set the transaction service's `tx-log-dir` attribute
+to a relative path.
+
+** Set `tx-log-dir` to an absolute path to a shared file system
+directory, in which case `log-root` is ignored for transaction logs.
+
+** Set a system property called `TX-LOG-DIR` to a shared file system
+directory. For example:
++
+[source]
+----
+asadmin> create-system-properties --target server TX-LOG-DIR=/inst1/logs
+----
+For information about setting `log-root` and other general logging
+settings, see link:logging.html#abluj[Administering the Logging Service].
+* Turn off transaction logging by setting the
+`disable-distributed-transaction-logging` property to `true` and the
+`automatic-recovery` attribute to `false`. Do this only if performance
+is more important than transaction recovery.
+
+
+[NOTE]
+====
+All instances in a cluster must be owned by the same user (`uid`), and
+read/write permissions for that user must be set on the transaction log
+directories.
+
+Transaction logs should be stored in a high-availability network file
+system (NFS) to avoid a single point of failure.
+====
+
+
+[[gcmam]][[GSADG00517]][[to-store-transaction-logs-in-a-database]]
+
+==== To Store Transaction Logs in a Database
+
+For multi-core machines, logging transactions to a database may be more
+efficient. Transaction logging is designed to work with any
+JDBC-compliant database. For databases with which transaction logging
+has been tested, see the {productName} Release
+Notes.
+
+1. [[CIHDBIJI]]
+Create a JDBC connection Pool. To use non-transactional connections to
+insert log records, you can either set the
+`non-transactional-connections` attribute to `true` in this step, or you
+can perform step link:#CIHGIHJC[5] later.
+
+2. Create a JDBC resource that uses the connection pool and note the
+JNDI name of the JDBC resource.
+
+3. Automatic table creation for the transaction logs is done by default.
+However, if you would prefer to create the table manually, name
+it `txn_log_table` with the following schema:
++
+[width="100%",cols="50%,50%",options="header",]
+|===
+|Column Name |JDBC Type
+|`LOCALTID` |`VARCHAR`
+|`INSTANCENAME` |`VARCHAR`
+|`SERVERNAME` |`VARCHAR(n)`
+|`GTRID` |`VARBINARY`
+|===
+The size of the `SERVERNAME` column should be at least the length of the
+{productName} host name plus 10 characters. +
+The size of the `GTRID` column should be at least 64 bytes.
+
+4. Add the `db-logging-resource` property to the transaction service.
+For example:
++
+[source]
+----
+asadmin set server-config.transaction-service.property.db-logging-resource="jdbc/TxnDS"
+----
+The property's value should be the JNDI name of the JDBC resource
+configured previously.
+
+5. [[CIHGIHJC]]
+If you didn't set the `non-transactional-connections` attribute to
+`true` in step link:#CIHDBIJI[1] and you want to use non-transactional
+connections to insert log records, use the following
+`asadmin create-jvm-options` command to reference an existing
+transactional resource but use non-transactional connections for the
+`INSERT` statements:
++
+[source]
+----
+asadmin create-jvm-options -Dcom.sun.jts.dblogging.use.nontx.connection.for.add=true
+----
+
+6. To disable file synchronization, use the following
+`asadmin create-jvm-options` command:
++
+[source]
+----
+asadmin create-jvm-options -Dcom.sun.appserv.transaction.nofdsync
+----
+
+7. Restart the server.
+
+[[GSADG1042]]
+
+Next Steps
+
+To define the SQL used by the transaction manager when it is storing its
+transaction logs in the database, use the following flags:
+
+`-Dcom.sun.jts.dblogging.insertquery=sql` statement
+
+`-Dcom.sun.jts.dblogging.deletequery=sql` statement
+
+`-Dcom.sun.jts.dblogging.selectquery=sql` statement
+
+`-Dcom.sun.jts.dblogging.selectservernamequery=sql` statement
+
+The default statements are as follows:
+
+`-Dcom.sun.jts.dblogging.insertquery=insert into txn_log_table values ( ?, ?, ?, ? )`
+
+`-Dcom.sun.jts.dblogging.deletequery=delete from txn_log_table where localtid = ? and servername = ?`
+
+`-Dcom.sun.jts.dblogging.selectquery=select * from txn_log_table where servername = ?`
+
+`-Dcom.sun.jts.dblogging.selectservernamequery=select distinct servername from txn_log_table where instancename = ?`
+
+To set one of these flags using the `asadmin create-jvm-options`
+command, you must quote the statement. For example:
+
+`create-jvm-options '-Dcom.sun.jts.dblogging.deletequery=delete from txn_log_table where gtrid = ?'`
+
+You can also set JVM options in the Administration Console. Select the
+JVM Settings component under the relevant configuration. These flags and
+their statements must also be quoted in the Administration Console. For
+example:
+
+`'-Dcom.sun.jts.dblogging.deletequery=delete from txn_log_table where gtrid = ?'`
+
+[[GSADG1043]]
+
+See Also
+
+For information about JDBC connection pools and resources, see
+link:jdbc.html#ablih[Administering Database Connectivity]. For more
+information about the `asadmin set` and `asadmin create-jvm-options`
+commands, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual]. For databases with which transaction logging has been
+tested, see the {productName} Release Notes.
+
+
diff --git a/docs/administration-guide/src/main/asciidoc/webapps.adoc b/docs/administration-guide/src/main/asciidoc/webapps.adoc
new file mode 100644
index 0000000..93d0d73
--- /dev/null
+++ b/docs/administration-guide/src/main/asciidoc/webapps.adoc
@@ -0,0 +1,747 @@
+type=page
+status=published
+title=Administering Web Applications
+next=logging.html
+prev=threadpools.html
+~~~~~~
+
+= Administering Web Applications
+
+[[GSADG00009]][[gbbjk]]
+
+
+[[administering-web-applications]]
+== 6 Administering Web Applications
+
+This chapter explains how to administer web applications in the
+{productName} 7 environment.
+
+The following topics are addressed here:
+
+* link:#beagk[Invoking a Servlet by Alternate Means]
+* link:#gixud[Changing Log Output for a Servlet]
+* link:#beagc[Defining Global Features for Web Applications]
+* link:#gixrb[Redirecting a URL]
+* link:#gfaad[Administering `mod_jk`]
+* link:#CIHJDAJD[Administering `mod_proxy_ajp`]
+
+Instructions for accomplishing some of these tasks by using the
+Administration Console are contained in the Administration Console
+online help.
+
+[[beagk]][[GSADG00548]][[invoking-a-servlet-by-alternate-means]]
+
+=== Invoking a Servlet by Alternate Means
+
+You can call a servlet deployed to {productName} by using a URL in a
+browser or embedded as a link in an HTML or JSP file. The format of a
+servlet invocation URL is as follows:
+
+[source]
+----
+http://server:port/context-root/servlet-mapping?name=value
+----
+
+The following table describes each URL section.
+
+[[GSADG857]][[sthref20]][[fvyhk]]
+
+
+Table 6-1 URL Fields for Servlets Within an Application
+
+[width="100%",cols="21%,79%",options="header",]
+|===
+|URL element |Description
+|server`:`port a|
+The IP address (or host name) and optional port number.
+
+To access the default web module for a virtual server, specify only this
+URL section. You do not need to specify the context-root or servlet-name
+unless you also wish to specify name-value parameters.
+
+|context-root a|
+For an application, the context root is defined in the `context-root`
+element of the `application.xml`, `sun-application.xml`, or
+`sun-web.xml` file. For an individually deployed web module, the context
+root is specified during deployment.
+
+For both applications and individually deployed web modules, the default
+context root is the name of the WAR file minus the `.war` suffix.
+
+|servlet-mapping |The `servlet-mapping` as configured in the `web.xml`
+file.
+
+|`?`name`=`value`...` |Optional request parameters.
+|===
+
+
+[[GSADG00166]][[giyhf]]
+Example 6-1 Invoking a Servlet With a URL
+
+In this example, `localhost` is the host name, `MortPages` is the
+context root, and `calcMortgage` is the servlet mapping.
+
+[source]
+----
+http://localhost:8080/MortPages/calcMortgage?rate=8.0&per=360&bal=180000
+----
+
+[[GSADG00167]][[giyib]]
+Example 6-2 Invoking a Servlet From Within a JSP File
+
+To invoke a servlet from within a JSP file, you can use a relative path.
+For example:
+
+[source,xml]
+----
+<jsp:forward page="TestServlet"/><jsp:include page="TestServlet"/>
+----
+
+[[gixud]][[GSADG00549]][[changing-log-output-for-a-servlet]]
+
+=== Changing Log Output for a Servlet
+
+`ServletContext.log` messages are sent to the server log. By default,
+the `System.out` and `System.err` output of servlets are sent to the
+server log. During startup, server log messages are echoed to the
+`System.err` output. Also by default, there is no Windows-only console
+for the `System.err` output.
+
+You can change these defaults using the Administration Console Write to
+System Log box. If this box is checked, `System.out` output is sent to
+the server log. If it is unchecked, `System.out` output is sent to the
+system default location only.
+
+[[beagc]][[GSADG00550]][[defining-global-features-for-web-applications]]
+
+=== Defining Global Features for Web Applications
+
+You can use the `default-web.xml` file to define features such as
+filters and security constraints that apply to all web applications.
+
+For example, directory listings are disabled by default for added
+security. To enable directory listings in your domain's
+`default-web.xml` file, search for the definition of the servlet whose
+`servlet-name` is equal to `default`, and set the value of the
+`init-param` named `listings` to `true`. Then restart the server.
+
+[source,xml]
+----
+<init-param>
+   <param-name>listings</param-name>
+   <param-value>true</param-value>
+</init-param>
+----
+
+If `listings` is set to `true`, you can also determine how directory
+listings are sorted. Set the value of the `init-param` named `sortedBy`
+to `NAME`, `SIZE`, or `LAST_MODIFIED`. Then restart the server.
+
+[source,xml]
+----
+<init-param>
+   <param-name>sortedBy</param-name>
+   <param-value>LAST_MODIFIED</param-value>
+</init-param>
+----
+
+The `mime-mapping` elements in `default-web.xml` are global and
+inherited by all web applications. You can override these mappings or
+define your own using `mime-mapping` elements in your web application's
+`web.xml` file. For more information about `mime-mapping` elements, see
+the Servlet specification.
+
+You can use the Administration Console to edit the `default-web.xml`
+file, or edit the file directly using the following steps.
+
+[[fvymc]][[GSADG00370]][[to-use-the-default-web.xml-file]]
+
+==== To Use the `default-web.xml` File
+
+1. Place the JAR file for the filter, security constraint, or other
+feature in the domain-dir``/lib`` directory.
+2. Edit the domain-dir``/config/default-web.xml`` file to refer to the JAR file.
+3. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[gixrb]][[GSADG00551]][[redirecting-a-url]]
+
+=== Redirecting a URL
+
+You can specify that a request for an old URL be treated as a request
+for a new URL. This is called redirecting a URL.
+
+To specify a redirected URL for a virtual server, use the `redirect_n`
+property, where n is a positive integer that allows specification of
+more than one. Each of these `redirect_n` properties is inherited by all
+web applications deployed on the virtual server.
+
+The value of each `redirect_n` property has two components which can be
+specified in any order:
+
+* The first component, `from`, specifies the prefix of the requested URI
+to match.
+* The second component, `url-prefix`, specifies the new URL prefix to
+return to the client. The from prefix is replaced by this URL prefix.
+
+[[GSADG00168]][[giyis]]
+Example 6-3 Redirecting a URL
+
+This example redirects `from` `dummy` to `etude`:
+
+[source,xml]
+----
+<property name="redirect_1" value="from=/dummy url-prefix=http://etude"/>
+----
+
+[[gfaad]][[GSADG00552]][[administering-mod_jk]]
+
+=== Administering `mod_jk`
+
+The Apache Tomcat Connector `mod_jk` can be used to connect the web
+container with web servers such as Apache HTTP Server. By using
+`mod_jk`, which comes with {productName}, you can front {productName} with Apache HTTP Server.
+
+You can also use `mod_jk` directly at the JSP/servlet engine for load
+balancing. For more information about configuring `mod_jk` and Apache
+HTTP Server for load balancing with {productName} 7 refer to
+"link:ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in {productName} High Availability Administration Guide.
+
+The following topics are addressed here:
+
+* link:#gixqw[To Enable `mod_jk`]
+* link:#gixpx[To Load Balance Using `mod_jk` and {productName}]
+* link:#gjpat[To Enable SSL Between the `mod_jk` Load Balancer and the
+Browser]
+* link:#gjpan[To Enable SSL Between the `mod_jk` Load Balancer and
+{productName}]
+
+[[gixqw]][[GSADG00371]][[to-enable-mod_jk]]
+
+==== To Enable `mod_jk`
+
+You can front {productName} with Apache HTTP Server by enabling the
+`mod_jk` protocol for one of {productName}'s network listeners, as
+described in this procedure. A typical use for `mod_jk` would be to have
+Apache HTTP Server handle requests for static resources, while having
+requests for dynamic resources, such as servlets and JavaServer Pages
+(JSPs), forwarded to, and handled by the {productName} back-end
+instance.
+
+When you use the `jk-enabled` attribute of the network listener, you do
+not need to copy any additional JAR files into the ``/lib`` directory. You
+can also create JK connectors under different virtual servers by using
+the network listener attribute `jk-enabled`.
+
+1. Install Apache HTTP Server and `mod_jk`.
+* For information on installing Apache HTTP Server, see
+`http://httpd.apache.org/docs/2.2/install.html`.
+* For information on installing `mod_jk`, see
+`http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html`.
+2. Configure the following files:
+* `apache2/conf/httpd.conf`, the main Apache configuration file
+* `apache2/conf/workers.properties`
++
+link:#gixrq[Example 6-4] and link:#gixqt[Example 6-5] provide examples
+of configuring these two files.
+3. Start Apache HTTP Server (`httpd`).
+4. Start {productName} with at least one web application deployed.
++
+In order for the `mod_jk`-enabled network listener to start listening
+for requests, the web container must be started. Normally, this is
+achieved by deploying a web application.
+5. Create a jk-enabled network listener by using the
+link:reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand.
++
+[source]
+----
+asadmin> create-network-listener --protocol http-listener-1 \
+--listenerport 8009 --jkenabled true jk-connector
+----
+6. If you are using the `glassfish-jk.properties` file to use
+non-default values of attributes described at
+`http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html`), set the
+`jk-configuration-file` property of the network listener to the
+fully-qualified file name of the `glassfish-jk.properties` file.
++
+[source]
+----
+asadmin> set server-config.network-config.network-listeners.network-listener.\
+jk-connector.jk-configuration-file=domain-dir/config/glassfish-jk.properties
+----
+7. If you expect to need more than five threads for the listener,
+increase the maximum threads in the `http-thread-pool` pool:
++
+[source]
+----
+asadmin> set configs.config.server-config.thread-pools.thread-pool.\
+http-thread-pool.max-thread-pool-size=value
+----
+8. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG00169]][[gixrq]]
+Example 6-4 `httpd.conf` File for `mod_jk`
+
+This example shows an `httpd.conf` file that is set for `mod_jk`. In
+this example, `mod_jk` used as a simple pass-through.
+
+[source]
+----
+LoadModule jk_module /usr/lib/httpd/modules/mod_jk.so
+JkWorkersFile /etc/httpd/conf/worker.properties
+# Where to put jk logs
+JkLogFile /var/log/httpd/mod_jk.log
+# Set the jk log level [debug/error/info]
+JkLogLevel debug
+# Select the log format
+JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+# JkOptions indicate to send SSL KEY SIZE,
+JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
+# JkRequestLogFormat set the request format
+JkRequestLogFormat "%w %V %T"
+# Send all jsp requests to GlassFish
+JkMount /*.jsp worker1
+# Send all glassfish-test requests to GlassFish
+JkMount /glassfish-test/* worker1
+----
+
+[[GSADG00170]][[gixqt]]
+Example 6-5 `workers.properties` File for `mod_jk`
+
+This example shows a `workers.properties` that is set for `mod_jk`. This
+`workers.properties` file is referenced in the second line of
+link:#gixrq[Example 6-4].
+
+[source]
+----
+# Define 1 real worker using ajp13
+worker.list=worker1
+# Set properties for worker1 (ajp13)
+worker.worker1.type=ajp13
+worker.worker1.host=localhost
+worker.worker1.port=8009
+----
+
+[[GSADG858]]
+
+See Also
+
+For more information on Apache, see `http://httpd.apache.org/`.
+
+For more information on Apache Tomcat Connector, see
+`http://tomcat.apache.org/connectors-doc/index.html`.
+
+[[gixpx]][[GSADG00372]][[to-load-balance-using-mod_jk-and-glassfish-server]]
+
+==== To Load Balance Using `mod_jk` and {productName}
+
+Load balancing is the process of dividing the amount of work that a
+computer has to do between two or more computers so that more work gets
+done in the same amount of time. Load balancing can be configured with
+or without security.
+
+In order to support stickiness, the Apache `mod_jk` load balancer relies
+on a `jvmRoute` system property that is included in any `JSESSIONID`
+received by the load balancer. This means that every {productName}
+instance that is front-ended by the Apache load balancer must be
+configured with a unique `jvmRoute` system property.
+
+1. On each of the instances, perform the steps in link:#gixqw[To Enable
+`mod_jk`].
++
+If your instances run on the same machine, you must choose different JK
+ports. The ports must match `worker.worker*.port` in your
+`workers.properties` file. See the properties file in
+link:#gixqt[Example 6-5].
+2. On each of the instances, create the `jvmRoute` system property of
+{productName} by using the link:reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`]
+subcommand.
++
+Use the following format:
++
+[source]
+----
+asadmin> create-jvm-options "-DjvmRoute=/instance-worker-name"/
+----
+where instance-worker-name is the name of the worker that you defined to
+represent the instance in the `workers.properties` file.
+3. To apply your changes, restart Apache HTTP Server and {productName}.
+
+[[GSADG00171]][[gjjzu]]
+Example 6-6 `httpd.conf` File for Load Balancing
+
+This example shows an `httpd.conf` file that is set for load balancing.
+
+[source]
+----
+LoadModule jk_module /usr/lib/httpd/modules/mod_jk.so
+JkWorkersFile /etc/httpd/conf/worker.properties
+# Where to put jk logs
+JkLogFile /var/log/httpd/mod_jk.log
+# Set the jk log level [debug/error/info]
+JkLogLevel debug
+# Select the log format
+JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+# JkOptions indicate to send SSL KEY SIZE,
+JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
+# JkRequestLogFormat set the request format
+JkRequestLogFormat "%w %V %T"
+# Send all jsp requests to GlassFish
+JkMount /*.jsp worker1
+# Send all glassfish-test requests to GlassFish
+JkMount /glassfish-test/* loadbalancer
+----
+
+[[GSADG00172]][[gjjzf]]
+Example 6-7 `workers.properties` File for Load Balancing
+
+This example shows a `workers.properties` or `glassfish-jk.properties`
+file that is set for load balancing. The `worker.worker*.port` should
+match with JK ports you created.
+
+[source]
+----
+worker.list=worker1,worker2,loadbalancer
+worker.worker1.type=ajp13
+worker.worker1.host=localhost
+worker.worker1.port=8009
+worker.worker1.lbfactor=1
+worker.worker1.socket_keepalive=1
+worker.worker1.socket_timeout=300
+worker.worker2.type=ajp13
+worker.worker2.host=localhost
+worker.worker2.port=8010
+worker.worker2.lbfactor=1
+worker.worker2.socket_keepalive=1
+worker.worker2.socket_timeout=300
+worker.loadbalancer.type=lb
+worker.loadbalancer.balance_workers=worker1,worker2
+----
+
+[[gjpat]][[GSADG00373]][[to-enable-ssl-between-the-mod_jk-load-balancer-and-the-browser]]
+
+==== To Enable SSL Between the `mod_jk` Load Balancer and the Browser
+
+To activate security for `mod_jk` on {productName}, you must first
+generate a Secure Socket Layer (SSL) self-signed certificate on the
+Apache HTTP Server with the `mod_ssl` module. The tasks include
+generating a private key, a Certificate Signing Request (CSR), a
+self-signed certificate, and configuring SSL-enabled virtual hosts.
+
+[[GSADG859]]
+
+Before You Begin
+
+The `mod_jk` connector must be enabled.
+
+1. Generate the private key as follows:
++
+[source]
+----
+openssl genrsa -des3 -rand file1:file2:file3:file4:file5 -out server.key 1024
+----
+where `file1:file2:` and so on represents the random compressed files.
+2. Remove the pass-phrase from the key as follows:
++
+[source]
+----
+openssl rsa -in server.key -out server.pem
+----
+3. Generate the CSR is as follows:
++
+[source]
+----
+openssl req -new -key server.pem -out server.csr
+----
+Enter the information you are prompted for.
+4. Generate a temporary certificate as follows:
++
+[source]
+----
+openssl x509 -req -days 60 -in server.csr -signkey server.pem -out server.crt
+----
+This temporary certificate is good for 60 days.
+5. Create the `http-ssl.conf` file under the `/etc/apache2/conf.d`
+directory.
+6. In the `http-ssl.conf` file, add one of the following redirects:
+* Redirect a web application, for example, `JkMount /hello/* worker1`.
+* Redirect all requests, for example, `JkMount /* worker1`.
++
+[source]
+----
+# Send all jsp requests to GlassFish
+JkMount /*.jsp worker1
+# Send all glassfish-test requests to GlassFish
+JkMount /glassfish-test/* loadbalancer
+----
+
+[[GSADG00173]][[gjpnc]]
+Example 6-8 `http-ssl.conf` File for `mod_jk` Security
+
+A basic SSL-enabled virtual host will appear in the `http-ssl.conf`
+file. In this example, all requests are redirected.
+
+[source]
+----
+Listen 443
+<VirtualHost _default_:443>
+SSLEngine on
+SSLCipherSuite ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
+SSLCertificateFile "/etc/apache2/2.2/server.crt"
+SSLCertificateKeyFile "/etc/apache2/2.2/server.pem"
+JkMount /* worker1
+</VirtualHost>
+----
+
+[[gjpan]][[GSADG00374]][[to-enable-ssl-between-the-mod_jk-load-balancer-and-glassfish-server]]
+
+==== To Enable SSL Between the `mod_jk` Load Balancer and {productName}
+
+This procedure does not enable SSL transfer between `mod_jk` and
+{productName}. It enables `mod_jk` to forward SSL-encrypted
+information from the browser to {productName}.
+
+[[GSADG860]]
+
+Before You Begin
+
+The self-signed certificate must be configured.
+
+1. Perform the steps in link:#gixqw[To Enable `mod_jk`].
+2. Start another {productName} with at least one web application
+deployed.
++
+In order for the `mod_jk`-enabled network listener to start listening
+for requests, the web container must be started. Normally, this is
+achieved by deploying a web application.
+3. Follow instructions from link:http_https.html#ggnbj[To Configure an
+HTTP Listener for SSL] on the `mod_jk` connector.
++
+Use the following format:
++
+[source]
+----
+asadmin> create-ssl --type http-listener --certname sampleCert new-listener
+----
+4. Add the following directives in the `httpd.conf` file under the
+`/etc/apache2/conf.d` directory:
++
+[source]
+----
+# Should mod_jk send SSL information (default is On)
+JkExtractSSL On
+# What is the indicator for SSL (default is HTTPS)
+JkHTTPSIndicator HTTPS
+# What is the indicator for SSL session (default is SSL_SESSION_ID)
+JkSESSIONIndicator SSL_SESSION_ID
+# What is the indicator for client SSL cipher suit (default is SSL_CIPHER )
+JkCIPHERIndicator SSL_CIPHER
+# What is the indicator for the client SSL certificated? (default is SSL_CLIENT_CERT )
+JkCERTSIndicator SSL_CLIENT_CERT
+----
+5. To apply your changes, restart Apache HTTP Server and {productName}.
+
+[[CIHJDAJD]][[GSADG861]][[administering-mod_proxy_ajp]]
+
+=== Administering `mod_proxy_ajp`
+
+The Apache Connector `mod_proxy_ajp` can be used to connect the web
+container with Apache HTTP Server. By using `mod_proxy_ajp`, you can
+front {productName} with Apache HTTP Server.
+
+[[GSADG862]][[sthref21]]
+
+
+[[to-enable-mod_proxy_ajp]]
+==== To Enable `mod_proxy_ajp`
+
+You can front {productName} with Apache HTTP Server and its
+`mod_proxy_ajp` connector by enabling the AJP protocol for one of
+{productName}'s network listeners, as described in this procedure. A
+typical use for `mod_proxy_ajp` would be to have Apache HTTP Server
+handle requests for static resources, while having requests for dynamic
+resources, such as servlets and JavaServer Pages (JSPs), forwarded to,
+and handled by the {productName} back-end instance.
+
+1. Install Apache HTTP Server.
++
+For information on installing Apache HTTP Server, see
+`http://httpd.apache.org/docs/2.2/install.html`.
+2. Configure `apache2/conf/httpd.conf`, the main Apache configuration
+file.
++
+For example:
++
+[source]
+----
+LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
+LoadModule proxy_ajp_module /usr/lib/httpd/modules/mod_proxy_ajp.so
+
+Listen 1979
+NameVirtualHost *:1979
+<VirtualHost *:1979>
+   ServerName localhost
+   ErrorLog /var/log/apache2/ajp.error.log
+   CustomLog /var/log/apache2/ajp.log combined
+
+   <Proxy *>
+     AddDefaultCharset Off
+     Order deny,allow
+     Allow from all
+   </Proxy>
+
+   ProxyPass / ajp://localhost:8009/
+   ProxyPassReverse / ajp://localhost:8009/
+</VirtualHost>
+----
+3. Start Apache HTTP Server (`httpd`).
+4. Create a jk-enabled network listener by using the
+`create-network-listener` subcommand.
++
+[source]
+----
+asadmin> create-network-listener --protocol http-listener-1 \
+--listenerport 8009 --jkenabled true jk-connector
+----
+5. If you expect to need more than five threads for the listener,
+increase the maximum threads in the `http-thread-pool` pool:
++
+[source]
+----
+asadmin> set configs.config.server-config.thread-pools.thread-pool.\
+http-thread-pool.max-thread-pool-size=value
+----
+6. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+[[GSADG863]]
+
+See Also
+
+For more information on Apache, see `http://httpd.apache.org/`.
+
+For more information on the Apache `mod_proxy_ajp` Connector, see
+`http://httpd.apache.org/docs/2.1/mod/mod_proxy.html` and
+`http://httpd.apache.org/docs/2.1/mod/mod_proxy_ajp.html`.
+
+For more information on the AJP protocol, see
+`http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html`.
+
+[[GSADG1049]][[sthref22]]
+
+
+[[to-load-balance-using-mod_proxy_ajp-and-glassfish-server]]
+==== To Load Balance Using `mod_proxy_ajp` and {productName}
+
+Load balancing is the process of dividing the amount of work that a
+computer has to do between two or more computers so that more work gets
+done in the same amount of time. In the {productName} context, load
+balancing is most frequently used to distribute work among the instances
+in a {productName} cluster.
+
+To configure load balancing using `mod_proxy_ajp`, you must use the
+`mod_proxy_balancer` Apache module in addition to `mod_proxy_ajp`.
+
+In order to support stickiness, the `mod_proxy_balancer` load balancer
+relies on a `jvmRoute` system property that is included in any
+`JSESSIONID` received by the load balancer. Consequently, every
+{productName} instance that is front-ended by the Apache load
+balancer must be configured with a unique `jvmRoute` system property.
+
+1. Install Apache HTTP Server.
++
+For information on installing Apache HTTP Server, see
+`http://httpd.apache.org/docs/2.2/install.html`.
+2. [[BABIFEEC]]
++
+Configure `apache2/conf/httpd.conf`, the main Apache configuration file.
++
+For example:
++
+[source]
+----
+LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
+LoadModule proxy_ajp_module /usr/lib/httpd/modules/mod_proxy_ajp.so
+LoadModule proxy_balancer_module /usr/lib/httpd/modules/mod_proxy_balancer.so
+
+# Forward proxy needs to be turned off
+ProxyRequests Off
+# Keep the original Host Header
+ProxyPreserveHost On
+
+   <Proxy *>
+      Order deny,allow
+      Deny from all
+      Allow from localhost
+   </Proxy>
+
+# Each BalancerMember corresponds to an instance in the Eclipse GlassFish
+# cluster. The port specified for each instance must match the ajp port
+# specified for that instance.
+<Proxy balancer://localhost>
+    BalancerMember ajp://localhost:8009
+    BalancerMember ajp://localhost:8010
+    BalancerMember ajp://localhost:8011
+</Proxy>
+----
+3. Start Apache HTTP Server (`httpd`).
+4. In {productName}, use the `create-network-listener` subcommand to
+create a jk-enabled network listener targeted to the cluster.
++
+For example:
++
+[source]
+----
+asadmin> create-network-listener --jkenabled true --target cluster1 \
+--protocol http-listener-1 --listenerport ${AJP_PORT} jk-listener
+----
+In this example, `cluster1` is the name of the cluster and `jk-listener`
+is the name of the new listener.
+5. If you expect to need more than five threads for the listener,
+increase the maximum threads in the `http-thread-pool` pool:
++
+[source]
+----
+asadmin> set configs.config.cluster1-config.thread-pools.thread-pool.\
+http-thread-pool.max-thread-pool-size=value
+----
+6. Use the `create-jvm-options` subcommand to create the `jvmRoute`
+property targeted to the cluster.
++
+For example:
++
+[source]
+----
+asadmin> create-jvm-options --target cluster1 \
+"-DjvmRoute=\${AJP_INSTANCE_NAME}"
+----
+7. Use the `create-system-properties` subcommand to define the
+`AJP_PORT` and `AJP_INSTANCE_NAME` properties for each of the instances
+in the cluster, making sure to match the port values you used in
+Step link:#BABIFEEC[2] when specifying the load balancer members.
++
+For example:
++
+[source]
+----
+asadmin> create-system-properties --target instance1 AJP_PORT=8009
+asadmin> create-system-properties --target instance1 \
+AJP_INSTANCE_NAME=instance1
+asadmin> create-system-properties --target instance2 AJP_PORT=8010
+asadmin> create-system-properties --target instance2 \
+AJP_INSTANCE_NAME=instance2
+asadmin> create-system-properties --target instance3 AJP_PORT=8011
+asadmin> create-system-properties --target instance3 \
+AJP_INSTANCE_NAME=instance3
+----
+In this example, `instance1`, `instance2` and `instance3` are the names
+of the {productName} instances in the cluster.
+8. To apply your changes, restart {productName}.
++
+See link:domains.html#ginqj[To Restart a Domain].
+
+
diff --git a/docs/administration-guide/src/main/jbake/assets/css/style.css b/docs/administration-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/administration-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/administration-guide/src/main/jbake/content/asadmin-subcommands.adoc b/docs/administration-guide/src/main/jbake/content/asadmin-subcommands.adoc
deleted file mode 100644
index b245a76..0000000
--- a/docs/administration-guide/src/main/jbake/content/asadmin-subcommands.adoc
+++ /dev/null
@@ -1,791 +0,0 @@
-type=page
-status=published
-title=Subcommands for the asadmin Utility
-prev=part-appendixes.html
-~~~~~~
-Subcommands for the asadmin Utility
-===================================
-
-[[GSADG00023]][[gcode]]
-
-
-[[a-subcommands-for-the-asadmin-utility]]
-A Subcommands for the `asadmin` Utility
----------------------------------------
-
-This appendix lists the `asadmin` subcommands that are included with
-this release of the GlassFish Server Open Source Edition 5.0 software.
-
-* link:#ggltk[General Administration Subcommands]
-* link:#CHDJGEEG[Batch Jobs Subcommands]
-* link:#CHDECJFC[Concurrent Resources Subcommands]
-* link:#giowb[Connectivity Subcommands]
-* link:#gitwu[Domain Subcommands]
-* link:#ggltm[Internet Connectivity Subcommands]
-* link:#ggltf[JavaMail Subcommands]
-* link:#gipen[JMS Subcommands]
-* link:#gitws[JNDI Subcommands]
-* link:#gglsk[JVM Subcommands]
-* link:#giuzl[Life Cycle Module Subcommands]
-* link:#gitxd[Logging and Monitoring Subcommands]
-* link:#giusq[ORB Subcommands]
-* link:#giuqr[Thread Pool Subcommands]
-* link:#gitxi[Transaction Service Subcommands]
-
-For information and instructions on using the `asadmin` application
-deployment subcommands, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
-Edition Application Deployment Guide].
-
-Online help for the `asadmin` subcommands can be invoked on the command
-line, for example, `asadmin create-domain` `help`. The
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual] also
-provides a collection of these help pages.
-
-
-[NOTE]
-=======================================================================
-
-The common options used with remote subcommands are described in the
-olink:GSRFM00263[`asadmin`(1M)] help page.
-
-=======================================================================
-
-
-[[ggltk]][[GSADG00610]][[general-administration-subcommands]]
-
-General Administration Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/add-resources.html#GSRFM00001[`add-resources`]::
-  Creates the resources named in the specified XML file. Supported in
-  remote mode only. For procedural information in this guide, see
-  link:general-administration.html#ggoeh[To Add Resources From an XML
-  File].
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`]::
-  Describes how the `asadmin` utility works.
-link:../reference-manual/attach.html#GSRFM825[`attach`]::
-  Attaches to subcommands that were started using the `asadmin --detach`
-  option or that contain progress information. For procedural
-  information in this guide, see
-  link:general-administration.html#CACDDHBA[To Run `asadmin` Subcommands
-  in `--detach` Mode].
-link:../reference-manual/configure-managed-jobs.html#GSRFM836[`configure-managed-jobs`]::
-  Configures how long information about subcommands (jobs) that were
-  started using the `asadmin --detach` option or that contain progress
-  information is kept. For procedural information in this guide, see
-  link:general-administration.html#CACDDHBA[To Run `asadmin` Subcommands
-  in `--detach` Mode].
-link:../reference-manual/create-module-config.html#GSRFM844[`create-module-config`]::
-  Adds the default configuration of a module to `domain.xml`.
-link:../reference-manual/create-service.html#GSRFM00057[`create-service`]::
-  Configures the starting of a domain administration server (DAS) on an
-  unattended boot. On Oracle Solaris 10, this subcommand uses the
-  Service Management Facility (SMF). For procedural information in this
-  guide, see link:domains.html#giusi[To Configure a DAS or an Instance
-  for Automatic Restart on Oracle Solaris].
-link:../reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`]::
-  Creates or updates system properties. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:general-administration.html#ggonc[To Create System Properties].
-link:../reference-manual/delete-module-config.html#GSRFM854[`delete-module-config`]::
-  Removes the configuration of a module from `domain.xml`.
-link:../reference-manual/delete-system-property.html#GSRFM00110[`delete-system-property`]::
-  Deletes system properties of a domain or configuration, or server
-  instance. Supported in remote mode only. For procedural information in
-  this guide, see link:general-administration.html#ggomm[To Delete a
-  System Property].
-link:../reference-manual/get.html#GSRFM00139[`get`]::
-  Gets an attribute of an element in the `domain.xml` file. With the
-  `-m` option, gets the names and values of the monitorable or
-  configurable attributes. For procedural information in this guide, see
-  link:monitoring.html#ablwh[Guidelines for Using the `list` and `get`
-  Subcommands for Monitoring].
-link:../reference-manual/get-active-module-config.html#GSRFM859[`get-active-module-config`]::
-  Displays the current active configuration of a module.
-link:../reference-manual/list.html#GSRFM00145[`list`]::
-  Lists the configurable element. On Oracle Solaris, quotes are needed
-  when running subcommands with `*` as the option value or operand. For
-  procedural information in this guide, see
-  link:monitoring.html#ablwh[Guidelines for Using the `list` and `get`
-  Subcommands for Monitoring].
-link:../reference-manual/list-commands.html#GSRFM00154[`list-commands`]::
-  Lists all the `asadmin` subcommands, local subcommands first, then
-  remote subcommands. You can specify that only remote subcommands or
-  only local subcommands be displayed. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:general-administration.html#ggoeg[To List Subcommands].
-link:../reference-manual/list-containers.html#GSRFM00161[`list-containers`]::
-  Lists application containers and the status of each container.
-  Supported in remote mode only. For procedural information in this
-  guide, see link:general-administration.html#ggocv[To List Containers].
-link:../reference-manual/list-jobs.html#GSRFM867[`list-jobs`]::
-  Lists information about subcommands that were started using the
-  `asadmin --detach` option or that contain progress information. For
-  procedural information in this guide, see
-  link:general-administration.html#CACDDHBA[To Run `asadmin` Subcommands
-  in `--detach` Mode].
-link:../reference-manual/list-modules.html#GSRFM00185[`list-modules`]::
-  Lists modules that are accessible to the GlassFish Server subsystem.
-  The status of each module is included. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:general-administration.html#ghlgf[To List Modules].
-link:../reference-manual/list-system-properties.html#GSRFM00203[`list-system-properties`]::
-  Lists the system properties of a domain or configuration. Supported in
-  remote mode only. For procedural information in this guide, see
-  link:general-administration.html#ggodt[To List System Properties].
-link:../reference-manual/list-timers.html#GSRFM00205[`list-timers`]::
-  List the timers owned by a specific server instance. Supported in
-  remote mode only. For procedural information in this guide, see
-  link:general-administration.html#giojd[To List Timers].
-link:../reference-manual/multimode.html#GSRFM00213[`multimode`]::
-  Provides an `asadmin>` prompt for running multiple subcommands while
-  preserving options and environment settings. Supported in local mode
-  only. For procedural information, see
-  link:general-administration.html#giobi[Using the `asadmin` Utility].
-link:../reference-manual/osgi.html#GSRFM877[`osgi`]::
-  Delegates the command line to the Apache Felix Gogo remote shell for
-  the execution of OSGi shell commands. For procedural information in
-  this guide, see link:overview.html#CJAGIGII[To Run Apache Felix Gogo
-  Remote Shell Commands].
-link:../reference-manual/osgi-shell.html#GSRFM890[`osgi-shell`]::
-  Provides interactive access to the Apache Felix Gogo remote shell for
-  the execution of OSGi shell commands. For procedural information in
-  this guide, see link:overview.html#CJAGIGII[To Run Apache Felix Gogo
-  Remote Shell Commands].
-link:../reference-manual/set.html#GSRFM00226[`set`]::
-  Sets the values of one or more configurable attributes. For procedural
-  information in this guide, see link:monitoring.html#ablvp[Configuring
-  Monitoring].
-link:../reference-manual/setup-local-dcom.html#GSRFM893[`setup-local-dcom`]::
-  Sets up the Distributed Component Object Model (DCOM) remote protocol
-  on the host where the subcommand is run. The DCOM remote protocol is
-  available only on Windows systems.
-link:../reference-manual/show-component-status.html#GSRFM00232[`show-component-status`]::
-  Lists the status of existing components. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:general-administration.html#giyjd[To Show Component Status].
-link:../reference-manual/start-database.html#GSRFM00234[`start-database`]::
-  Starts the Apache Derby database server. Use this subcommand only for
-  working with applications deployed to the GlassFish Server. For
-  procedural information in this guide, see link:jdbc.html#ggndz[To Start
-  the Database].
-link:../reference-manual/stop-database.html#GSRFM00239[`stop-database`]::
-  Stops a process of the Apache Derby DB database server. For procedural
-  information in this guide, see link:jdbc.html#ggnbw[To Stop the
-  Database].
-link:../reference-manual/version.html#GSRFM00261[`version`]::
-  Displays the version information for the option specified in archive
-  or folder format. Supported in remote mode only. For procedural
-  information in this guide, see
-  link:general-administration.html#ghhox[To Display the GlassFish Server
-  Version].
-
-[[CHDJGEEG]][[GSADG1155]][[batch-jobs-subcommands]]
-
-Batch Jobs Subcommands
-~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/list-batch-jobs.html#GSRFM861[`list-batch-jobs`]::
-  Lists batch jobs and job details. For procedural information in this
-  guide, see link:batch.html#BABIBFDJ[To List Batch Jobs].
-link:../reference-manual/list-batch-job-executions.html#GSRFM884[`list-batch-job-executions`]::
-  Lists batch job executions and execution details. For procedural
-  information in this guide, see link:batch.html#BABFBGJB[To List Batch
-  Job Executions].
-link:../reference-manual/list-batch-job-steps.html#GSRFM895[`list-batch-job-steps`]::
-  Lists steps for a specific batch job execution. For procedural
-  information in this guide, see link:batch.html#BABGJIDD[To List Batch
-  Job Steps].
-link:../reference-manual/list-batch-runtime-configuration.html#GSRFM863[`list-batch-runtime-configuration`]::
-  Displays the configuration of the batch runtime. For procedural
-  information in this guide, see link:batch.html#BABBGHCJ[To List the
-  Batch Runtime Configuration].
-link:../reference-manual/set-batch-runtime-configuration.html#GSRFM897[`set-batch-runtime-configuration`]::
-  Configures the batch runtime. For procedural information in this
-  guide, see link:batch.html#BABFEJAD[To Configure the Batch Runtime].
-
-[[CHDECJFC]][[GSADG1156]][[concurrent-resources-subcommands]]
-
-Concurrent Resources Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-context-service.html#GSRFM838[`create-context-service`]::
-  Creates a context service resource. For procedural information in this
-  guide, see link:concurrent.html#DAFJACDI[To Create a Context Service].
-link:../reference-manual/create-managed-executor-service.html#GSRFM840[`create-managed-executor-service`]::
-  Creates a managed executor service resource. For procedural
-  information in this guide, see link:concurrent.html#DAFJIEGA[To Create
-  a Managed Executor Service].
-link:../reference-manual/create-managed-scheduled-executo.html#GSRFM680[`create-managed-scheduled-executor-service`]::
-  Creates a managed scheduled executor service resource. For procedural
-  information in this guide, see link:concurrent.html#DAFFGDGG[To Create
-  a Managed Scheduled Executor Service].
-link:../reference-manual/create-managed-thread-factory.html#GSRFM842[`create-managed-thread-factory`]::
-  Creates a managed thread factory resource. For procedural information
-  in this guide, see link:concurrent.html#DAFGFAEI[To Create a Managed
-  Thread Factory].
-link:../reference-manual/create-context-service.html#GSRFM838[`list-context-services`]::
-  Lists context service resources. For procedural information in this
-  guide, see link:concurrent.html#DAFDCFCB[To List Context Services].
-link:../reference-manual/create-managed-executor-service.html#GSRFM840[`list-managed-executor-services`]::
-  Lists managed executor service resources. For procedural information
-  in this guide, see link:concurrent.html#DAFIJDAE[To List Managed
-  Executor Services].
-link:../reference-manual/create-managed-scheduled-executo.html#GSRFM680[`list-managed-scheduled-executor-services`]::
-  Lists managed scheduled executor service resources. For procedural
-  information in this guide, see link:concurrent.html#DAFJBADD[To List
-  Managed Scheduled Executor Services].
-link:../reference-manual/create-managed-thread-factory.html#GSRFM842[`list-managed-thread-factories`]::
-  Lists managed thread factory resources. For procedural information in
-  this guide, see link:concurrent.html#DAFDGEGE[To List Managed Thread
-  Factories].
-link:../reference-manual/delete-context-service.html#GSRFM846[`delete-context-service`]::
-  Removes a context service resource. For procedural information in this
-  guide, see link:concurrent.html#DAFGGGEC[To Delete a Context Service].
-link:../reference-manual/delete-managed-executor-service.html#GSRFM848[`delete-managed-executor-service`]::
-  Removes a managed executor service resource. For procedural
-  information in this guide, see link:concurrent.html#DAFDAGAD[To Delete
-  a Managed Executor Service].
-link:../reference-manual/delete-managed-scheduled-executo.html#GSRFM850[`delete-managed-scheduled-executor-service`]::
-  Removes a managed scheduled executor service resource. For procedural
-  information in this guide, see link:concurrent.html#DAFEBEGC[To Delete
-  a Managed Scheduled Executor Service].
-link:../reference-manual/delete-managed-thread-factory.html#GSRFM852[`delete-managed-thread-factory`]::
-  Removes a managed thread factory resource. For procedural information
-  in this guide, see link:concurrent.html#DAFCEDEI[To Delete a Managed
-  Thread Factory].
-
-[[giowb]][[GSADG00611]][[connectivity-subcommands]]
-
-Connectivity Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-admin-object.html#GSRFM00012[`create-admin-object`]::
-  Creates an administered object. For procedural information in this
-  guide, see link:connectors.html#giolr[To Create an Administered
-  Object].
-link:../reference-manual/create-connector-connection-pool.html#GSRFM00018[`create-connector-connection-pool`]::
-  Adds a new connector connection pool with the specified connection
-  pool name. For procedural information in this guide, see
-  link:connectors.html#gioce[To Create a Connector Connection Pool].
-link:../reference-manual/create-connector-resource.html#GSRFM00019[`create-connector-resource`]::
-  Creates a connector resource. For procedural information in this
-  guide, see link:connectors.html#giogt[To Create a Connector Resource].
-link:../reference-manual/create-connector-security-map.html#GSRFM00020[`create-connector-security-map`]::
-  Creates a connector security map for the specified connector
-  connection pool. For procedural information, see
-  link:connectors.html#gitzz[To Create a Connector Security Map].
-link:../reference-manual/create-connector-work-security-m.html#GSRFM00021[`create-connector-work-security-map`]::
-  Creates a connector work security map for the specified resource
-  adapter. Supported in remote mode only. For procedural information in
-  this guide, see link:connectors.html#giofz[To Create a Connector Work
-  Security Map].
-link:../reference-manual/create-jdbc-resource.html#GSRFM00037[`create-jdbc-resource`]::
-  Creates a new JDBC resource. Supported in remote mode only. For
-  procedural information in this guide, see link:jdbc.html#ggnda[To
-  Create a JDBC Resource].
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`]::
-  Registers a new JDBC connection pool with the specified JDBC
-  connection pool name. Supported in remote mode only. For procedural
-  information in this guide, see link:jdbc.html#ggnfv[To Create a JDBC
-  Connection Pool].
-link:../reference-manual/create-resource-adapter-config.html#GSRFM00054[`create-resource-adapter-config`]::
-  Creates configuration information for the connector module. Supported
-  in remote mode only. For procedural information in this guide, see
-  link:connectors.html#gioqx[To Create Configuration Information for a
-  Resource Adapter].
-link:../reference-manual/delete-admin-object.html#GSRFM00063[`delete-admin-object`]::
-  Deletes an administered object. For procedural information in this
-  guide, see link:connectors.html#gioma[To Delete an Administered
-  Object].
-link:../reference-manual/delete-connector-connection-pool.html#GSRFM00070[`delete-connector-connection-pool`]::
-  Removes the connector connection pool specified using the
-  `connector_connection_pool_name` operand. For procedural information
-  in this guide, see link:connectors.html#giocp[To Delete a Connector
-  Connection Pool].
-link:../reference-manual/delete-connector-resource.html#GSRFM00071[`delete-connector-resource`]::
-  Deletes connector resource. For procedural information in this guide,
-  see link:connectors.html#giofs[To Delete a Connector Resource].
-link:../reference-manual/delete-connector-security-map.html#GSRFM00072[`delete-connector-security-map`]::
-  Deletes a specified connector security map. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:connectors.html#gitvf[To Delete a Connector Security Map].
-link:../reference-manual/delete-connector-work-security-m.html#GSRFM00073[`delete-connector-work-security-map`]::
-  Deletes a specified connector work security map. Supported in remote
-  mode only. For procedural information in this guide, see
-  link:connectors.html#gioin[To Delete a Connector Work Security Map].
-link:../reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-jdbc-connection-pool`]::
-  Deletes the specified JDBC connection pool. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jdbc.html#ggngb[To Delete a JDBC Connection Pool].
-link:../reference-manual/delete-jdbc-resource.html#GSRFM00089[`delete-jdbc-resource`]::
-  Deletes a JDBC resource. The specified JNDI name identifies the
-  resource to be deleted. Supported in remote mode only. For procedural
-  information in this guide, see link:jdbc.html#ggnhz[To Delete a JDBC
-  Resource].
-link:../reference-manual/delete-resource-adapter-config.html#GSRFM00106[`delete-resource-adapter-config`]::
-  Deletes configuration information for the connector module. Supported
-  in remote mode only. For procedural information in this guide, see
-  link:connectors.html#gionv[To Delete a Resource Adapter Configuration].
-link:../reference-manual/flush-connection-pool.html#GSRFM00135[`flush-connection-pool`]::
-  Reintializes all connections established in the specified connection.
-  For procedural information in this guide, see link:jdbc.html#gjiqp[To
-  Reset (Flush) a Connection Pool].
-link:../reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`]::
-  Lists administered objects. For procedural information in this guide,
-  see link:connectors.html#giokm[To List Administered Objects].
-link:../reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`]::
-  Lists the connector connection pools that have been created. For
-  procedural information in this guide, see link:connectors.html#giocg[To
-  List Connector Connection Pools].
-link:../reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`]::
-  Creates connector resources. For procedural information in this guide,
-  see link:connectors.html#giohs[To List Connector Resources].
-link:../reference-manual/list-connector-security-maps.html#GSRFM00159[`list-connector-security-maps`]::
-  Lists the connector security maps belonging to a specified connector
-  connection pool. For procedural information in this guide, see
-  link:connectors.html#gitwx[To List Connector Security Maps].
-link:../reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`]::
-  Lists the existing connector work security maps for a resource
-  adapter. Supported in remote mode only. For procedural information in
-  this guide, see link:connectors.html#gioir[To List Connector Work
-  Security Maps].
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`]::
-  Lists the existing JDBC connection pools. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jdbc.html#ggnby[To List JDBC Connection Pools].
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`]::
-  Lists the existing JDBC resources. Supported in remote mode only. For
-  procedural information in this guide, see link:jdbc.html#ggnhl[To List
-  JDBC Resources].
-link:../reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`]::
-  Lists configuration information for the connector modules. Supported
-  in remote mode only. For procedural information in this guide, see
-  link:connectors.html#giorn[To List Resource Adapter Configurations].
-link:../reference-manual/ping-connection-pool.html#GSRFM00214[`ping-connection-pool`]::
-  Tests if a JDBC connection pool is usable. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jdbc.html#ggnwn[To Contact (Ping) a Connection Pool].
-link:../reference-manual/update-connector-security-map.html#GSRFM00252[`update-connector-security-map`]::
-  Modifies a security map for the specified connector connection pool.
-  For procedural information in this guide, see
-  link:connectors.html#gityj[To Update a Connector Security Map].
-link:../reference-manual/update-connector-work-security-m.html#GSRFM00253[`update-connector-work-security-map`]::
-  Modifies a work security map that belongs to a specific resource
-  adapter (connector module). For procedure information in this guide,
-  see link:connectors.html#giogm[To Update a Connector Work Security
-  Map].
-
-[[gitwu]][[GSADG00612]][[domain-subcommands]]
-
-Domain Subcommands
-~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/backup-domain.html#GSRFM00003[`backup-domain`]::
-  Describes how to back up a domain. Supported in local mode only. For
-  procedural information in this guide, see link:domains.html#ggocq[To
-  Back Up a Domain].
-link:../reference-manual/create-domain.html#GSRFM00023[`create-domain`]::
-  Creates the configuration of a domain. A domain can exist independent
-  of other domains. Any user who has access to the `asadmin` utility on
-  a given host can create a domain and store its configuration in a
-  location of choice. For procedural information in this guide, see
-  link:domains.html#ggoei[To Create a Domain].
-link:../reference-manual/delete-domain.html#GSRFM00075[`delete-domain`]::
-  Deletes the specified domain. The domain must be stopped before it can
-  be deleted. For procedural information in this guide, see
-  link:domains.html#ggofa[To Delete a Domain].
-link:../reference-manual/list-backups.html#GSRFM00152[`list-backups`]::
-  Lists the existing domain backups. Supported in local mode only. For
-  procedural information in this guide, see link:domains.html#ghgod[To
-  List Domain Backups].
-link:../reference-manual/list-domains.html#GSRFM00163[`list-domains`]::
-  Lists the existing domains and their statuses. If the domain directory
-  is not specified, the domains in the domain-root-dir, the default for
-  which is as-install`/domains`, are displayed. For procedural
-  information in this guide, see link:domains.html#ggoco[To List
-  Domains].
-link:../reference-manual/login.html#GSRFM00210[`login`]::
-  Allows you to log in to a domain. For procedural information in this
-  guide, see link:domains.html#ghhjz[To Log In to a Domain].
-link:../reference-manual/restart-domain.html#GSRFM00218[`restart-domain`]::
-  Restarts the Domain Administration Server (DAS) of the specified
-  domain. Supported in remote mode only. For procedural information in
-  this guide, see link:domains.html#ginqj[To Restart a Domain].
-link:../reference-manual/restore-domain.html#GSRFM00221[`restore-domain`]::
-  Recovers and domain from a backup file. Supported in local mode only.
-  For procedural information in this guide, see
-  link:domains.html#ggody[To Restore a Domain].
-link:../reference-manual/start-domain.html#GSRFM00235[`start-domain`]::
-  Starts a domain. If the domain directory is not specified, the default
-  `domain1` in the default domain-root-dir directory is started. If
-  there are two or more domains, the domain_name operand must be
-  specified. For procedural information in this guide, see
-  link:domains.html#ggoda[To Start a Domain].
-link:../reference-manual/stop-domain.html#GSRFM00240[`stop-domain`]::
-  Stops the domain administration server (DAS) of the specified domain.
-  Supported in remote mode only. For procedural information in this
-  guide, see link:domains.html#ggoch[To Stop a Domain].
-link:../reference-manual/uptime.html#GSRFM00258[`uptime`]::
-  Displays the length of time that the domain administration server
-  (DAS) has been running since the last restart. Supported in remote
-  mode only. For procedural information in this guide, see
-  link:domains.html#ghhnt[To Display Domain Uptime].
-
-[[ggltm]][[GSADG00613]][[internet-connectivity-subcommands]]
-
-Internet Connectivity Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-http.html#GSRFM00025[`create-http`]::
-  Creates a set of HTTP parameters for a protocol, which in turn
-  configures one or more network listeners. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:http_https.html#gjhqc[To Create an HTTP Configuration].
-link:../reference-manual/create-http-listener.html#GSRFM00030[`create-http-listener`]::
-  Creates a new HTTP listener socket. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#ggnfh[To
-  Create an Internet Connection].
-link:../reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`]::
-  Creates a new HTTP listener socket. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#ggnfh[To
-  Create an Internet Connection].
-link:../reference-manual/create-protocol.html#GSRFM00051[`create-protocol`]::
-  Creates a protocol for a listener. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#gjhot[To
-  Create a Protocol].
-link:../reference-manual/create-transport.html#GSRFM00061[`create-transport`]::
-  Creates a transport for a listener. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#gjhps[To
-  Create a Transport].
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`]::
-  Creates the specified virtual server element. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:http_https.html#ggnfr[To Create a Virtual Server].
-link:../reference-manual/create-ssl.html#GSRFM00058[`create-ssl`]::
-  Creates and configures the SSL element in the selected HTTP listener
-  to enable secure communication on that listener/service. Supported in
-  remote mode only. For procedural information in this guide, see
-  link:http_https.html#ggnbj[To Configure an HTTP Listener for SSL].
-link:../reference-manual/delete-http.html#GSRFM00077[`delete-http`]::
-  Deletes an existing HTTP configuration. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:http_https.html#gjhqa[To Delete an HTTP Configuration].
-link:../reference-manual/delete-http-listener.html#GSRFM00082[`delete-http-listener`]::
-  Deletes the specified HTTP listener. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:http_https.html#ggndu[To Delete an HTTP Network Listener].
-link:../reference-manual/delete-network-listener.html#GSRFM00098[`delete-network-listener`]::
-  Deletes the specified HTTP listener. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:http_https.html#ggndu[To Delete an HTTP Network Listener].
-link:../reference-manual/delete-protocol.html#GSRFM00103[`delete-protocol`]::
-  Deletes and existing HTTP protocol. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#gjhnx[To
-  Delete a Protocol].
-link:../reference-manual/delete-ssl.html#GSRFM00109[`delete-ssl`]::
-  Deletes the SSL element in the selected HTTP listener. Supported in
-  remote mode only. For procedural information in this guide, see
-  link:http_https.html#ggncl[To Delete SSL From an HTTP Listener].
-link:../reference-manual/delete-transport.html#GSRFM00112[`delete-transport`]::
-  Deletes and existing HTTP transport. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:http_https.html#gjhqp[To Delete a Transport].
-link:../reference-manual/delete-virtual-server.html#GSRFM00113[`delete-virtual-server`]::
-  Deletes the specified virtual server element. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:http_https.html#ggnen[To Delete a Virtual Server].
-link:../reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`]::
-  Lists the existing HTTP listeners. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#ggnbv[To
-  List HTTP Network Listeners].
-link:../reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`]::
-  Lists the existing HTTP listeners. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#ggnbv[To
-  List HTTP Network Listeners].
-link:../reference-manual/list-protocols.html#GSRFM00195[`list-protocols`]::
-  Lists the existing HTTP protocols. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#gjhna[To
-  List Protocols].
-link:../reference-manual/list-transports.html#GSRFM00206[`list-transports`]::
-  Lists the existing HTTP transports. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#gjhmx[To
-  List Transports].
-link:../reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`]::
-  Lists the existing virtual servers. Supported in remote mode only. For
-  procedural information in this guide, see link:http_https.html#ggndw[To
-  List Virtual Servers].
-
-[[ggltf]][[GSADG00614]][[javamail-subcommands]]
-
-JavaMail Subcommands
-~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-javamail-resource.html#GSRFM00035[`create-javamail-resource`]::
-  Creates a JavaMail session resource. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:javamail.html#giowd[To Create a JavaMail Resource].
-link:../reference-manual/delete-javamail-resource.html#GSRFM00087[`delete-javamail-resource`]::
-  Deletes a JavaMail session resource. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:javamail.html#gioxj[To Delete a JavaMail Resource].
-link:../reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`]::
-  Creates JavaMail session resources. Supported in remote mode only. For
-  procedural information in this guide, see link:javamail.html#giowq[To
-  List JavaMail Resources].
-
-[[gipen]][[GSADG00615]][[jms-subcommands]]
-
-JMS Subcommands
-~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-jmsdest.html#GSRFM00038[`create-jmsdest`]::
-  Creates a JMS physical destination. Along with the physical
-  destination, you use the `create-jms-resource` subcommand to create a
-  JMS destination resource that has a `Name` property that specifies the
-  physical destination. Supported in remote mode only. For procedural
-  information in this guide, see link:jms.html#gioue[To Create a JMS
-  Physical Destination].
-link:../reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`]::
-  Creates a JMS host within the JMS service. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jms.html#gipbh[To Create a JMS Host].
-link:../reference-manual/create-jms-resource.html#GSRFM00040[`create-jms-resource`]::
-  Creates a JMS connection factory resource or JMS destination resource.
-  Supported in remote mode only. Supported in remote mode only. For
-  procedural information in this guide, see link:jms.html#giotd[To Create
-  a Connection Factory or Destination Resource].
-link:../reference-manual/delete-jmsdest.html#GSRFM00090[`delete-jmsdest`]::
-  Removes the specified JMS destination. Supported in remote mode only.
-  For procedural information in this guide, see link:jms.html#giouv[To
-  Delete a JMS Physical Destination].
-link:../reference-manual/delete-jms-host.html#GSRFM00091[`delete-jms-host`]::
-  Deletes a JMS host within the JMS service. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jms.html#gipbv[To Delete a JMS Host].
-link:../reference-manual/delete-jms-resource.html#GSRFM00092[`delete-jms-resource`]::
-  Deletes a JMS connection factory resource or JMS destination resource.
-  Supported in remote mode only. For procedural information in this
-  guide, see link:jms.html#giouw[To Delete a Connection Factory or
-  Destination Resource].
-link:../reference-manual/flush-jmsdest.html#GSRFM00136[`flush-jmsdest`]::
-  Purges the messages from a physical destination in the specified JMS
-  Service configuration of the specified target. Supported in remote
-  mode only. For procedural information in this guide, see
-  link:jms.html#giowx[To Purge Messages From a Physical Destination].
-link:../reference-manual/jms-ping.html#GSRFM00144[`jms-ping`]::
-  Checks if the JMS service (also known as the JMS provider) is up and
-  running. Supported in remote mode only. For procedural information in
-  this guide, see link:jms.html#gipnh[Troubleshooting the JMS Service].
-link:../reference-manual/list-jmsdest.html#GSRFM00175[`list-jmsdest`]::
-  Lists the JMS physical destinations. Supported in remote mode only.
-  For procedural information in this guide, see link:jms.html#gioyp[To
-  List JMS Physical Destinations].
-link:../reference-manual/list-jms-hosts.html#GSRFM00176[`list-jms-hosts`]::
-  Lists the existing JMS hosts. Supported in remote mode only. For
-  procedural information in this guide, see link:jms.html#gipbz[To List
-  JMS Hosts].
-link:../reference-manual/list-jms-resources.html#GSRFM00177[`list-jms-resources`]::
-  Lists the existing JMS connection factory or destination resources.
-  Supported in remote mode only. For procedural information in this
-  guide, see link:jms.html#giosx[To List JMS Resources].
-
-[[gitws]][[GSADG00616]][[jndi-subcommands]]
-
-JNDI Subcommands
-~~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-custom-resource.html#GSRFM00022[`create-custom-resource`]::
-  Creates a custom JNDI resource. Supported in remote mode only. For
-  procedural information in this guide, see link:jndi.html#giowe[To
-  Create a Custom JNDI Resource].
-link:../reference-manual/create-jndi-resource.html#GSRFM00041[`create-jndi-resource`]::
-  Creates an external JNDI resource. Supported in remote mode only. For
-  procedural information in this guide, see link:jndi.html#gitxn[To
-  Register an External JNDI Resource].
-link:../reference-manual/delete-custom-resource.html#GSRFM00074[`delete-custom-resource`]::
-  Deletes a custom JNDI resource. Supported in remote mode only. For
-  procedural information in this guide, see link:jndi.html#gioxl[To
-  Delete a Custom JNDI Resource].
-link:../reference-manual/delete-jndi-resource.html#GSRFM00093[`delete-jndi-resource`]::
-  Deletes an external JNDI resource. Supported in remote mode only. For
-  procedural information in this guide, see link:jndi.html#gitvt[To
-  Delete an External JNDI Resource].
-link:../reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`]::
-  Lists the existing custom JNDI resources. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jndi.html#gioxb[To List Custom JNDI Resources].
-link:../reference-manual/list-jndi-entries.html#GSRFM00178[`list-jndi-entries`]::
-  Lists the entries in the JNDI tree. Supported in remote mode only. For
-  procedural information in this guide, see link:jndi.html#gitwc[To List
-  External JNDI Entries],
-link:../reference-manual/list-jndi-resources.html#GSRFM00179[`list-jndi-resources`]::
-  Lists the existing external JNDI resources. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jndi.html#gitvj[To List External JNDI Resources].
-
-[[gglsk]][[GSADG00617]][[jvm-subcommands]]
-
-JVM Subcommands
-~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`]::
-  Creates a JVM option in the Java configuration or profiler elements of
-  the `domain.xml` file. Supported in remote mode only. For procedural
-  information in this guide, see link:jvm.html#ggnes[To Create JVM
-  Options].
-link:../reference-manual/create-profiler.html#GSRFM00050[`create-profiler`]::
-  Creates a profiler element. Supported in remote mode only. For
-  procedural information in this guide, see link:jvm.html#ggneb[To Create
-  a Profiler].
-link:../reference-manual/delete-jvm-options.html#GSRFM00094[`delete-jvm-options`]::
-  Deletes the specified JVM option from the Java configuration or
-  profiler elements of the `domain.xml` file. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jvm.html#ggnfi[To Delete JVM Options].
-link:../reference-manual/delete-profiler.html#GSRFM00102[`delete-profiler`]::
-  Deletes the specified profiler element. Supported in remote mode only.
-  For procedural information in this guide, see link:jvm.html#ggnem[To
-  Delete a Profiler].
-link:../reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`]::
-  Generates a report showing the threads, classes, and memory for the
-  virtual machine that runs GlassFish Server. For procedural information
-  in this guide, see link:jvm.html#ggnbu[To Generate a JVM Report].
-link:../reference-manual/list-jvm-options.html#GSRFM00180[`list-jvm-options`]::
-  Lists the command-line options that are passed to the Java application
-  launcher when GlassFish Server is started. Supported in remote mode
-  only. For procedural information in this guide, see
-  link:jvm.html#ggnce[To List JVM Options].
-
-[[giuzl]][[GSADG00618]][[life-cycle-module-subcommands]]
-
-Life Cycle Module Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-lifecycle-module.html#GSRFM00043[`create-lifecycle-module`]::
-  Creates a new life cycle module. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:lifecycle-modules.html#giuus[To Create a Life Cycle Module].
-link:../reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`]::
-  Lists life cycle modules. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:lifecycle-modules.html#giuvh[To List Life Cycle Modules].
-link:../reference-manual/delete-lifecycle-module.html#GSRFM00095[`delete-lifecycle-module`]::
-  Deletes an existing life cycle module. Supported in remote mode only.
-  For procedural information in this guide, see
-  link:lifecycle-modules.html#giuux[To Delete a Life Cycle Module].
-
-[[gitxd]][[GSADG00619]][[logging-and-monitoring-subcommands]]
-
-Logging and Monitoring Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/collect-log-files.html#GSRFM00007[`collect-log-files`]::
-  Collects all available log files and creates a ZIP archive. Supported
-  in remote mode only. For procedural information in this guide, see
-  link:logging.html#gklbi[To Collect Log Files into a ZIP Archive].
-link:../reference-manual/disable-monitoring.html#GSRFM00120[`disable-monitoring`]::
-  Disables the monitoring service. Supported in remote mode only. For
-  procedural information in this guide, see link:monitoring.html#gglcu[To
-  Disable Monitoring].
-link:../reference-manual/enable-monitoring.html#GSRFM00128[`enable-monitoring`]::
-  Enables the monitoring service. Supported in remote mode only. For
-  procedural information in this guide, see link:monitoring.html#ablvr[To
-  Enable Monitoring].
-link:../reference-manual/list-log-attributes.html#GSRFM00182[`list-log-attributes`]::
-  Lists log file attributes. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:logging.html#gklmn[Configuring the Logging Service].
-link:../reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`]::
-  Lists the existing loggers. Supported in remote mode only. For
-  procedural information in this guide, see link:logging.html#gjirr[To
-  List Log Levels].
-link:../reference-manual/list-loggers.html#GSRFM869[`list-loggers`]::
-  Lists all public loggers in your distribution of GlassFish Server Open
-  Source Edition. Internal loggers are not listed. For procedural
-  information in this guide, see link:logging.html#CEGGICGF[To List
-  Loggers].
-link:../reference-manual/monitor.html#GSRFM00212[`monitor`]::
-  Displays monitoring information for the common GlassFish Server
-  resources. Supported in remote mode only. For procedural information
-  in this guide, see link:monitoring.html#gelol[To View Common Monitoring
-  Data].
-link:../reference-manual/rotate-log.html#GSRFM00224[`rotate-log`]::
-  Rotates the `server.log` file and stores the old data in a
-  time-stamped file. Supported in remote mode only. For procedural
-  information in this guide, see link:logging.html#gkmau[To Rotate Log
-  Files Manually].
-link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`]::
-  Sets log file attributes. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:logging.html#gklmn[Configuring the Logging Service].
-link:../reference-manual/set-log-file-format.html#GSRFM879[`set-log-file-format`]::
-  Sets the formatter used to format log records in log files. For
-  procedural information in this guide, see
-  link:logging.html#CEGDJEBG[Setting the Log File Format].
-link:../reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`]::
-  Sets the log level for a module. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:logging.html#gklml[Setting Log Levels].
-
-[[giusq]][[GSADG00620]][[orb-subcommands]]
-
-ORB Subcommands
-~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-iiop-listener.html#GSRFM00032[`create-iiop-listener`]::
-  Creates an IIOP listener. Supported in remote mode only. For
-  procedural information in this guide, see link:orb.html#gioyo[To Create
-  an IIOP Listener].
-link:../reference-manual/delete-iiop-listener.html#GSRFM00084[`delete-iiop-listener`]::
-  Deletes an IIOP listener. Supported in remote mode only. For
-  procedural information in this guide, see link:orb.html#giowj[To Delete
-  an IIOP Listener].
-link:../reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`]::
-  Lists the existing IIOP listeners. Supported in remote mode only. For
-  procedural information in this guide, see link:orb.html#giowc[To List
-  IIOP Listeners].
-
-[[giuqr]][[GSADG00621]][[thread-pool-subcommands]]
-
-Thread Pool Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/create-threadpool.html#GSRFM00060[`create-threadpool`]::
-  Creates a new thread pool. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:threadpools.html#ggkwj[To Create a Thread Pool].
-link:../reference-manual/delete-threadpool.html#GSRFM00111[`delete-threadpool`]::
-  Deletes the specified thread pool. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:threadpools.html#ggkwy[To Delete a Thread Pool].
-link:../reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`]::
-  Lists the existing thread pools. Supported in remote mode only. For
-  procedural information in this guide, see
-  link:threadpools.html#giuff[To List Thread Pools].
-
-[[gitxi]][[GSADG00622]][[transaction-service-subcommands]]
-
-Transaction Service Subcommands
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:../reference-manual/freeze-transaction-service.html#GSRFM00137[`freeze-transaction-service`]::
-  Freezes the transaction subsystem during which time all the in-flight
-  transactions are suspended. Supported in remote mode only. For
-  procedural information, see link:transactions.html#giufn[To Stop the
-  Transaction Service].
-link:../reference-manual/recover-transactions.html#GSRFM00216[`recover-transactions`]::
-  Manually recovers pending transactions. Supported in remote mode only.
-  For procedural information, see link:transactions.html#giuhe[To
-  Manually Recover Transactions].
-link:../reference-manual/rollback-transaction.html#GSRFM00223[`rollback-transaction`]::
-  Rolls back the named transaction. Supported in remote mode only. For
-  procedural information, see link:transactions.html#giugk[To Roll Back a
-  Transaction].
-link:../reference-manual/unfreeze-transaction-service.html#GSRFM00245[`unfreeze-transaction-service`]::
-  Resumes all the suspended in-flight transactions. Invoke this
-  subcommand on an already frozen transaction. Supported in remote mode
-  only. For procedural information, see link:transactions.html#giuet[To
-  Restart the Transaction Service].
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/batch.adoc b/docs/administration-guide/src/main/jbake/content/batch.adoc
deleted file mode 100644
index 90f32d5..0000000
--- a/docs/administration-guide/src/main/jbake/content/batch.adoc
+++ /dev/null
@@ -1,337 +0,0 @@
-type=page
-status=published
-title=Administering Batch Jobs
-next=part-res-and-svcs-admin.html
-prev=lifecycle-modules.html
-~~~~~~
-Administering Batch Jobs
-========================
-
-[[GSADG1077]][[sthref66]]
-
-
-[[administering-batch-jobs]]
-10 Administering Batch Jobs
----------------------------
-
-This chapter provides procedures for administering batch jobs in the
-GlassFish Server environment by using the `asadmin` command-line
-utility.
-
-The following topics are addressed here:
-
-* link:#BABCHGJJ[About Batch Jobs]
-* link:#BABIHIGA[Viewing Batch Jobs]
-* link:#BABBFFIG[Configuring the Batch Runtime]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-[[BABCHGJJ]][[GSADG1078]][[about-batch-jobs]]
-
-About Batch Jobs
-~~~~~~~~~~~~~~~~
-
-GlassFish Server provides a batch runtime for the scheduling and
-execution of batch jobs. Batch jobs are typically long-running,
-bulk-oriented tasks that contain a series of steps and can be executed
-without user interaction. Examples include billing, report generation,
-data format conversion, and image processing.
-
-Batch applications submit jobs to the batch runtime and provide
-instructions about how and when to execute the steps. The batch runtime
-processes the steps as directed by job XML documents packaged with the
-applications and stores information about jobs in a job repository. In
-GlassFish Server, the job repository is a database
-
-For detailed information about batch jobs, batch processing, and the
-batch processing framework, see
-"https://javaee.github.io/tutorial/batch-processing.html[Batch
-Processing]" in The Java EE 8 Tutorial. Also see
-http://jcp.org/en/jsr/detail?id=352[Java Specification Request 352:
-Batch Applications for the Java Platform]
-(`http://jcp.org/en/jsr/detail?id=352`). The specification defines the
-programming model for batch applications and the runtime for scheduling
-and executing batch jobs.
-
-[[BABIHIGA]][[GSADG1079]][[viewing-batch-jobs]]
-
-Viewing Batch Jobs
-~~~~~~~~~~~~~~~~~~
-
-You can view detailed information about batch jobs, executions, and
-steps. Users who log in to the `asadmin` utility or to the
-Administration Console as administrator are the only users who can view
-details for all batch jobs submitted by all applications in the
-GlassFish Server environment.
-
-The following tasks are used to view information about batch jobs:
-
-* link:#BABIBFDJ[To List Batch Jobs]
-* link:#BABFBGJB[To List Batch Job Executions]
-* link:#BABGJIDD[To List Batch Job Steps]
-
-[[BABIBFDJ]][[GSADG1080]][[to-list-batch-jobs]]
-
-To List Batch Jobs
-^^^^^^^^^^^^^^^^^^
-
-Use the `list-batch-jobs` subcommand in remote mode to list batch jobs
-and job details.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List batch jobs by using the link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-jobs`]
-subcommand.
-
-[[GSADG1081]][[sthref67]]
-
-
-Example 10-1 Listing Batch Jobs
-
-This example lists batch jobs for the default server instance, `server`.
-Use `list-batch-jobs -l` to list additional details.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-jobs
-JOBNAME  INSTANCECOUNT 
-payroll  9
-bonus    6
-Command list-batch-jobs executed successfully.
-----
-
-[[GSADG1082]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-batch-jobs` at the command line.
-
-[[BABFBGJB]][[GSADG1083]][[to-list-batch-job-executions]]
-
-To List Batch Job Executions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When the batch runtime executes a job, the execution is given a unique
-execution ID. An execution ID is similar to a process ID. A new
-execution is created the first time a job is started and every time the
-existing execution is restarted.
-
-Use the `list-batch-job-executions` subcommand in remote mode to list
-batch job executions and execution details.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List batch job executions by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-job-executions`] subcommand.
-
-[[GSADG1084]][[sthref68]]
-
-
-Example 10-2 Listing Batch Job Executions
-
-This example lists batch job executions for the default server instance,
-`server`, and displays specific details. Use
-`list-batch-job-executions -l` to list additional details.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-job-executions -o=jobname,executionid,batchstatus,exitstatus
-JOBNAME  EXECUTIONID  BATCHSTATUS  EXITSTATUS
-payroll  9            COMPLETED    COMPLETED
-bonus    6            FAILED       FAILED
-Command list-batch-job-executions executed successfully.
-----
-
-[[GSADG1085]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-batch-job-executions` at the command line.
-
-[[BABGJIDD]][[GSADG1086]][[to-list-batch-job-steps]]
-
-To List Batch Job Steps
-^^^^^^^^^^^^^^^^^^^^^^^
-
-A batch job consists of one or more steps. A step is an independent and
-sequential phase of a batch job.
-
-Use the `list-batch-job-steps` subcommand in remote mode to list steps
-and step details for a specific batch job execution.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the execution ID of an execution by using the
-`list-batch-job-executions` subcommand.
-3.  List steps for a specific batch job execution by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-job-steps`] subcommand.
-
-[[GSADG1087]][[sthref69]]
-
-
-Example 10-3 Listing Batch Job Steps
-
-This example lists batch job steps and specific step details for a job
-execution with the execution ID of `7`. The target is the default server
-instance, `server`. Use `list-batch-job-steps -l` to list additional
-details.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-job-steps o=stepname,stepid,batchstatus,stepmetrics 7
-STEPNAME   STEPID   BATCHSTATUS   STEPMETRICS
-prepare    7        COMPLETED     METRICNAME          VALUE
-                                  READ_COUNT          8
-                                  WRITE_COUNT         8
-                                  PROCESS_SKIP_COUNT  0
-process    8        COMPLETED     METRICNAME          VALUE
-                                  READ_COUNT          8
-                                  WRITE_COUNT         8
-                                  PROCESS_SKIP_COUNT  0
-...
-Command list-batch-job-steps executed successfully.
-----
-
-[[GSADG1088]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-batch-job-steps` at the command line.
-
-[[BABBFFIG]][[GSADG1089]][[configuring-the-batch-runtime]]
-
-Configuring the Batch Runtime
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The batch runtime uses a data source and a managed executor service to
-execute batch jobs. The data source stores information about current and
-past jobs, and the managed executor service provides threads to jobs.
-Batch runtime configuration data is stored in the `config` element in
-`domain.xml`.
-
-GlassFish Server provides a default data source and managed executor
-service for the execution of batch jobs. For the domain administration
-server (DAS), the default data source is `jdbc/__TimerPool` and the
-default managed executor service is
-`concurrent/__defaultManagedExecutorService`. If you create a standalone
-server instance or a standalone cluster, the default data source is
-`jdbc/__default`. You can configure the batch runtime to use different
-resources.
-
-For more information about data sources, see
-link:jdbc.html#ablih[Administering Database Connectivity]. For more
-information about managed executor services, see
-link:concurrent.html#DAFBHEDI[Configuring Managed Executor Services].
-
-The following tasks are used to view and configure the batch runtime:
-
-* link:#BABBGHCJ[To List the Batch Runtime Configuration]
-* link:#BABFEJAD[To Configure the Batch Runtime]
-
-[[BABBGHCJ]][[GSADG1090]][[to-list-the-batch-runtime-configuration]]
-
-To List the Batch Runtime Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-batch-runtime-configuration` subcommand in remote mode to
-display the configuration of the batch runtime.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Display the configuration of the batch runtime by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-batch-runtime-configuration`] subcommand.
-3.  If desired, use the `get` subcommand to view the attributes of the
-data source and managed executor service resources. +
-For example (output omitted): +
-[source,oac_no_warn]
-----
-asdmin> get resources.jdbc-resource.jdbc/__TimerPool.*
-...
-asdmin> get resources.managed-executor-service.concurrent/__defaultManagedExecutorService.*
-...
-----
-
-[[GSADG1091]][[sthref70]]
-
-
-Example 10-4 Listing the Batch Runtime Configuration
-
-This example lists the configuration of the batch runtime for the
-default server instance, `server`.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-runtime-configuration
-DATASOURCELOOKUPNAME     EXECUTORSERVICELOOKUPNAME
-jdbc/__TimerPool         concurrent/__defaultManagedExecutorService
-Command list-batch-runtime-configuration executed successfully.
-----
-
-[[GSADG1092]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-batch-runtime-configuration` at the command
-line.
-
-[[BABFEJAD]][[GSADG1093]][[to-configure-the-batch-runtime]]
-
-To Configure the Batch Runtime
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `set-batch-runtime-configuration` subcommand in remote mode to
-configure the batch runtime.
-
-
-[NOTE]
-=======================================================================
-
-Do not change the data source after the first batch job has been
-submitted to the batch runtime for execution. If the data source must be
-changed, stop and restart the domain and then make the change before any
-jobs are started or restarted. However, once the data source has been
-changed, information stored in the previous data source becomes
-inaccessible.
-
-The managed executor service can be changed after a batch job has been
-submitted to the batch runtime without affecting execution of the job.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Configure the batch runtime by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`set-batch-runtime-configuration`] subcommand.
-
-[[GSADG1094]][[sthref71]]
-
-
-Example 10-5 Configuring the Batch Runtime
-
-This example configures the batch runtime for the default server
-instance, `server`, to use an existing managed executor service named
-`concurrent/Executor1`.
-
-[source,oac_no_warn]
-----
-asadmin> set-batch-runtime-configuration --executorservicelookupname concurrent/Executor1
-Command set-batch-runtime-configuration executed successfully.
-----
-
-[[GSADG1095]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help set-batch-runtime-configuration` at the command
-line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/concurrent.adoc b/docs/administration-guide/src/main/jbake/content/concurrent.adoc
deleted file mode 100644
index 5aef2d7..0000000
--- a/docs/administration-guide/src/main/jbake/content/concurrent.adoc
+++ /dev/null
@@ -1,880 +0,0 @@
-type=page
-status=published
-title=Administering Concurrent Resources
-next=orb.html
-prev=http_https.html
-~~~~~~
-Administering Concurrent Resources
-==================================
-
-[[GSADG1108]][[sthref73]]
-
-
-[[administering-concurrent-resources]]
-14 Administering Concurrent Resources
--------------------------------------
-
-This chapter provides procedures for administering concurrent resources
-in the GlassFish Server environment by using the `asadmin` command-line
-utility.
-
-The following topics are addressed here:
-
-* link:#DAFGCCDI[About Concurrent Resources]
-* link:#DAFFGDCD[Default Concurrent Resources]
-* link:#DAFFCEEA[Configuring Context Services]
-* link:#DAFBAAIJ[Configuring Managed Thread Factories]
-* link:#DAFBHEDI[Configuring Managed Executor Services]
-* link:#DAFHJHCF[Configuring Managed Scheduled Executor Services]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-[[DAFGCCDI]][[GSADG1109]][[about-concurrent-resources]]
-
-About Concurrent Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Concurrent resources are managed objects that provide concurrency
-capabilities to Java EE applications. In GlassFish Server, you configure
-concurrent resources and make them available for use by application
-components such as servlets and EJBs. Concurrent resources are accessed
-through JNDI lookup or resource injection.
-
-Concurrent resources are resources of the following types:
-
-* Context services. See link:#DAFFCEEA[Configuring Context Services].
-* Managed thread factories. See link:#DAFBAAIJ[Configuring Managed
-Thread Factories].
-* Managed executor services. See link:#DAFBHEDI[Configuring Managed
-Executor Services].
-* Managed scheduled executor services. See link:#DAFHJHCF[Configuring
-Managed Scheduled Executor Services].
-
-For detailed information about concurrent resources, see
-"https://javaee.github.io/tutorial/concurrency-utilities.html[Concurrency
-Utilities]" in The Java EE 8 Tutorial. Also see
-http://jcp.org/en/jsr/detail?id=236[Java Specification Request 236:
-Concurrency Utilities for Java EE]
-(`http://jcp.org/en/jsr/detail?id=236`).
-
-[[DAFFGDCD]][[GSADG1110]][[default-concurrent-resources]]
-
-Default Concurrent Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When you create a concurrent resource, you specify a unique JNDI name
-for the resource. Applications use this name to access the resource.
-
-The Java EE standard specifies that certain default resources be made
-available to applications, and defines specific JNDI names for these
-default resources. GlassFish Server makes these names available through
-the use of logical JNDI names, which map Java EE standard JNDI names to
-specific GlassFish Server resources. For concurrent resources, the
-mappings are as follows:
-
-java:comp/DefaultContextService::
-  This Java EE standard name is mapped to the
-  `concurrent/__defaultContextService` resource.
-java:comp/DefaultManagedThreadFactory::
-  This Java EE standard name is mapped to the
-  `concurrent/__defaultManagedThreadFactory` resource.
-java:comp/DefaultManagedExecutorService::
-  This Java EE standard name is mapped to the
-  `concurrent/__defaultManagedExecutorService` resource.
-java:comp/DefaultManagedScheduledExecutorService::
-  This Java EE standard name is mapped to the
-  `concurrent/__defaultManagedScheduledExecutorService` resource.
-
-[[DAFFCEEA]][[GSADG1111]][[configuring-context-services]]
-
-Configuring Context Services
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Context services are used to create dynamic proxy objects that capture
-the context of a container and enable applications to run within that
-context at a later time. The context of the container is propagated to
-the thread executing the task.
-
-The following tasks are used to administer context service resources:
-
-* link:#DAFJACDI[To Create a Context Service]
-* link:#DAFDCFCB[To List Context Services]
-* link:#DAFBFICB[To Update a Context Service]
-* link:#DAFGGGEC[To Delete a Context Service]
-
-[[DAFJACDI]][[GSADG1112]][[to-create-a-context-service]]
-
-To Create a Context Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-context-service` subcommand in remote mode to create a
-context service resource.
-
-Because all JNDI names are in the `java:comp/env` subcontext, when
-specifying the JNDI name of a context service, use only the
-`concurrent/`name format. For example, `concurrent/Context1`.
-
-For more information about the default context service resource included
-with GlassFish Server, see link:#DAFFGDCD[Default Concurrent Resources].
-
-
-[NOTE]
-=======================================================================
-
-Creating a context service resource is a dynamic event and typically
-does not require server restart. Applications can use a resource as soon
-as it is created. However, if an application tried to use a resource
-before it was created, and that resource is created later, the
-application or the server must be restarted. Otherwise, the application
-will not be able to locate the resource.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a context service by using the
-link:../reference-manual/create-jdbc-resource.html#GSRFM00037[`create-context-service`] subcommand.
-3.  If necessary, notify users that the new resource has been created.
-
-[[GSADG1113]][[sthref74]]
-
-
-Example 14-1 Creating a Context Service
-
-This example creates a context service resource named
-`concurrent/Context1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-context-service concurrent/Context1
-Context service concurrent/Context1 created successfully.
-Command create-context-service executed successfully.
-----
-
-[[GSADG1114]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-context-service` at the command line.
-
-[[DAFDCFCB]][[GSADG1115]][[to-list-context-services]]
-
-To List Context Services
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-context-services` subcommand in remote mode to list the
-existing context service resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List context service resources by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-context-services`] subcommand.
-
-[[GSADG1116]][[sthref75]]
-
-
-Example 14-2 Listing Context Services
-
-This example lists context service resources on the default server
-instance, `server`.
-
-[source,oac_no_warn]
-----
-asadmin> list-context-services
-concurrent/__defaultContextService
-concurrent/Context1
-concurrent/Context2
-Command list-context-services executed successfully.
-----
-
-[[GSADG1117]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-context-services` at the command line.
-
-[[DAFBFICB]][[GSADG1118]][[to-update-a-context-service]]
-
-To Update a Context Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can change all of the settings for an existing context service
-resource except its JNDI name. Use the `get` and `set` subcommands to
-view and change the values of the context service attributes.
-
-
-[NOTE]
-=======================================================================
-
-When a resource is updated, the existing resource is shut down and
-recreated. If an application used the resource prior to the update, the
-application or the server must be restarted.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the context service resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-context-services`] subcommand.
-3.  View the attributes of a specific context service by using the `get`
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> get resources.context-service.concurrent/Context1.*
-----
-4.  Set an attribute of the context service by using the `set`
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> set resources.context-service.concurrent/Context1.deployment-order=120
-----
-
-[[DAFGGGEC]][[GSADG1119]][[to-delete-a-context-service]]
-
-To Delete a Context Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-context-service` subcommand in remote mode to delete an
-existing context service. Deleting a context service is a dynamic event
-and does not require server restart.
-
-Before deleting a context service resource, all associations to the
-resource must be removed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the context service resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-context-services`] subcommand.
-3.  If necessary, notify users that the context service is being
-deleted.
-4.  Delete the context service by using the
-link:../reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-context-service`] subcommand.
-
-[[GSADG1120]][[sthref76]]
-
-
-Example 14-3 Deleting a Context Service
-
-This example deletes the context service resource named
-`concurrent/Context1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-context-service concurrent/Context1
-Context service concurrent/Context1 deleted successfully.
-Command delete-context-service executed successfully.
-----
-
-[[GSADG1121]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-context-service` at the command line.
-
-[[DAFBAAIJ]][[GSADG1122]][[configuring-managed-thread-factories]]
-
-Configuring Managed Thread Factories
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Managed thread factories are used by applications to create managed
-threads on demand. The threads are started and managed by the container.
-The context of the container is propagated to the thread executing the
-task.
-
-The following tasks are used to administer managed thread factory
-resources:
-
-* link:#DAFGFAEI[To Create a Managed Thread Factory]
-* link:#DAFDGEGE[To List Managed Thread Factories]
-* link:#DAFDIJIH[To Update a Managed Thread Factory]
-* link:#DAFCEDEI[To Delete a Managed Thread Factory]
-
-[[DAFGFAEI]][[GSADG1123]][[to-create-a-managed-thread-factory]]
-
-To Create a Managed Thread Factory
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-managed-thread-factory` subcommand in remote mode to
-create a managed thread factory resource.
-
-Because all JNDI names are in the `java:comp/env` subcontext, when
-specifying the JNDI name of a managed thread factory, use only the
-`concurrent/`name format. For example, `concurrent/Factory1`.
-
-For more information about the default managed thread factory resource
-included with GlassFish Server, see link:#DAFFGDCD[Default Concurrent
-Resources].
-
-
-[NOTE]
-=======================================================================
-
-Creating a managed thread factory resource is a dynamic event and
-typically does not require server restart. Applications can use a
-resource as soon as it is created. However, if an application tried to
-use a resource before it was created, and that resource is created
-later, the application or the server must be restarted. Otherwise, the
-application will not be able to locate the resource.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a managed thread factory by using the
-link:../reference-manual/create-jdbc-resource.html#GSRFM00037[`create-managed-thread-factory`] subcommand.
-3.  If necessary, notify users that the new resource has been created.
-
-[[GSADG1124]][[sthref77]]
-
-
-Example 14-4 Creating a Managed Thread Factory
-
-This example creates a managed thread factory resource named
-`concurrent/Factory1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-managed-thread-factory concurrent/Factory1
-Managed thread factory concurrent/Factory1 created successfully.
-Command create-managed-thread-factory executed successfully.
-----
-
-[[GSADG1125]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-managed-thread-factory` at the command line.
-
-[[DAFDGEGE]][[GSADG1126]][[to-list-managed-thread-factories]]
-
-To List Managed Thread Factories
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-managed-thread-factories` subcommand in remote mode to
-list the existing managed thread factory resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List managed thread factory resources by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-managed-thread-factories`] subcommand.
-
-[[GSADG1127]][[sthref78]]
-
-
-Example 14-5 Listing Managed Thread Factories
-
-This example lists managed thread factory resources on the default
-server instance, `server`.
-
-[source,oac_no_warn]
-----
-asadmin> list-managed-thread-factories
-concurrent/__defaultManagedThreadFactory
-concurrent/Factory1
-concurrent/Factory2
-Command list-managed-thread-factories executed successfully.
-----
-
-[[GSADG1128]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-managed-thread-factories` at the command line.
-
-[[DAFDIJIH]][[GSADG1129]][[to-update-a-managed-thread-factory]]
-
-To Update a Managed Thread Factory
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can change all of the settings for an existing managed thread
-factory resource except its JNDI name. Use the `get` and `set`
-subcommands to view and change the values of the managed thread factory
-attributes.
-
-
-[NOTE]
-=======================================================================
-
-When a resource is updated, the existing resource is shut down and
-recreated. If applications used the resource prior to the update, the
-application or the server must be restarted.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the managed thread factory resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-thread-factories`] subcommand.
-3.  View the attributes of a managed thread factory by using the `get`
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> get resources.managed-thread-factory.concurrent/Factory1.*
-----
-4.  Set an attribute of the managed thread factory by using the `set`
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> set resources.managed-thread-factory.concurrent/Factory1.deployment-order=120
-----
-
-[[DAFCEDEI]][[GSADG1130]][[to-delete-a-managed-thread-factory]]
-
-To Delete a Managed Thread Factory
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-managed-thread-factory` subcommand in remote mode to
-delete an existing managed thread factory. Deleting a managed thread
-factory is a dynamic event and does not require server restart.
-
-Before deleting a managed thread factory resource, all associations to
-the resource must be removed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the managed thread factory resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-thread-factories`] subcommand.
-3.  If necessary, notify users that the managed thread factory is being
-deleted.
-4.  Delete the managed thread factory by using the
-link:../reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-managed-thread-factory`] subcommand.
-
-[[GSADG1131]][[sthref79]]
-
-
-Example 14-6 Deleting a Managed Thread Factory
-
-This example deletes the managed thread factory resource named
-`concurrent/Factory1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-managed-thread-factory concurrent/Factory1
-Managed thread factory concurrent/Factory1 deleted successfully.
-Command delete-managed-thread-factory executed successfully.
-----
-
-[[GSADG1132]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-managed-thread-factory` at the command line.
-
-[[DAFBHEDI]][[GSADG1133]][[configuring-managed-executor-services]]
-
-Configuring Managed Executor Services
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Managed executor services are used by applications to execute submitted
-tasks asynchronously. Tasks are executed on threads that are started and
-managed by the container. The context of the container is propagated to
-the thread executing the task.
-
-The following tasks are used to administer managed executor service
-resources:
-
-* link:#DAFJIEGA[To Create a Managed Executor Service]
-* link:#DAFIJDAE[To List Managed Executor Services]
-* link:#DAFICEJF[To Update a Managed Executor Service]
-* link:#DAFDAGAD[To Delete a Managed Executor Service]
-
-[[DAFJIEGA]][[GSADG1134]][[to-create-a-managed-executor-service]]
-
-To Create a Managed Executor Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-managed-executor-service` subcommand in remote mode to
-create a managed executor service resource.
-
-Because all JNDI names are in the `java:comp/env` subcontext, when
-specifying the JNDI name of a managed executor service, use only the
-`concurrent/`name format. For example, `concurrent/Executor1`.
-
-For more information about the default managed executor service resource
-included with GlassFish Server, see link:#DAFFGDCD[Default Concurrent
-Resources].
-
-
-[NOTE]
-=======================================================================
-
-Creating a managed executor service resource is a dynamic event and
-typically does not require server restart. Applications can use a
-resource as soon as it is created. However, if an application tried to
-use a resource before it was created, and that resource is created
-later, the application or the server must be restarted. Otherwise, the
-application will not be able to locate the resource.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a managed executor service by using the
-link:../reference-manual/create-jdbc-resource.html#GSRFM00037[`create-managed-executor-service`] subcommand.
-3.  If necessary, notify users that the new resource has been created.
-
-[[GSADG1135]][[sthref80]]
-
-
-Example 14-7 Creating a Managed Executor Service
-
-This example creates a managed executor service resource named
-`concurrent/Executor1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-managed-executor-service concurrent/Executor1
-Managed executor service concurrent/Executor1 created successfully.
-Command create-managed-executor-service executed successfully.
-----
-
-[[GSADG1136]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-managed-executor-service` at the command
-line.
-
-[[DAFIJDAE]][[GSADG1137]][[to-list-managed-executor-services]]
-
-To List Managed Executor Services
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-managed-executor-services` subcommand in remote mode to
-list the existing managed executor service resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List managed executor service resources by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-managed-executor-services`] subcommand.
-
-[[GSADG1138]][[sthref81]]
-
-
-Example 14-8 Listing Managed Executor Services
-
-This example lists managed executor service resources on the default
-server instance, `server`.
-
-[source,oac_no_warn]
-----
-asadmin> list-managed-executor-services
-concurrent/__defaultManagedExecutorService
-concurrent/Executor1
-concurrent/Executor2
-Command list-managed-executor-services executed successfully.
-----
-
-[[GSADG1139]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-managed-executor-services` at the command
-line.
-
-[[DAFICEJF]][[GSADG1140]][[to-update-a-managed-executor-service]]
-
-To Update a Managed Executor Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can change all of the settings for an existing managed executor
-service resource except its JNDI name. Use the `get` and `set`
-subcommands to view and change the values of the managed executor
-service attributes.
-
-
-[NOTE]
-=======================================================================
-
-When a resource is updated, the existing resource is shut down and
-recreated. If applications used the resource prior to the update, the
-application or the server must be restarted.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the managed executor service resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-executor-services`] subcommand.
-3.  View the attributes of a managed executor service by using the `get`
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> get resources.managed-executor-service.concurrent/Executor1.*
-----
-4.  Set an attribute of the managed executor service by using the `set`
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> set resources.managed-executor-service.concurrent/Executor1.deployment-order=120
-----
-
-[[DAFDAGAD]][[GSADG1141]][[to-delete-a-managed-executor-service]]
-
-To Delete a Managed Executor Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-managed-executor-service` subcommand in remote mode to
-delete an existing managed executor service. Deleting a managed executor
-service is a dynamic event and does not require server restart.
-
-Before deleting a managed executor service resource, all associations to
-the resource must be removed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the managed executor service resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-executor-services`] subcommand.
-3.  If necessary, notify users that the managed executor service is
-being deleted.
-4.  Delete the managed executor service by using the
-link:../reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-managed-executor-service`] subcommand.
-
-[[GSADG1142]][[sthref82]]
-
-
-Example 14-9 Deleting a Managed Executor Service
-
-This example deletes the managed executor service resource named
-`concurrent/Executor1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-managed-executor-service concurrent/Executor1
-Managed executor service concurrent/Executor1 deleted successfully.
-Command delete-managed-executor-service executed successfully.
-----
-
-[[GSADG1143]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-managed-executor-service` at the command
-line.
-
-[[DAFHJHCF]][[GSADG1144]][[configuring-managed-scheduled-executor-services]]
-
-Configuring Managed Scheduled Executor Services
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Managed scheduled executor services are used by applications to execute
-submitted tasks asynchronously at specific times. Tasks are executed on
-threads that are started and managed by the container. The context of
-the container is propagated to the thread executing the task.
-
-The following tasks are used to administer managed scheduled executor
-service resources:
-
-* link:#DAFFGDGG[To Create a Managed Scheduled Executor Service]
-* link:#DAFJBADD[To List Managed Scheduled Executor Services]
-* link:#DAFGEBEI[To Update a Managed Scheduled Executor Service]
-* link:#DAFEBEGC[To Delete a Managed Scheduled Executor Service]
-
-[[DAFFGDGG]][[GSADG1145]][[to-create-a-managed-scheduled-executor-service]]
-
-To Create a Managed Scheduled Executor Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-managed-scheduled-executor-service` subcommand in remote
-mode to create a managed scheduled executor service resource.
-
-Because all JNDI names are in the `java:comp/env` subcontext, when
-specifying the JNDI name of a managed scheduled executor service, use
-only the `concurrent/`name format. For example,
-`concurrent/ScheduledExecutor1`.
-
-For more information about the default managed scheduled executor
-service resource included with GlassFish Server, see
-link:#DAFFGDCD[Default Concurrent Resources].
-
-
-[NOTE]
-=======================================================================
-
-Creating a managed scheduled executor service resource is a dynamic
-event and typically does not require server restart. Applications can
-use a resource as soon as it is created. However, if an application
-tried to use a resource before it was created, and that resource is
-created later, the application or the server must be restarted.
-Otherwise, the application will not be able to locate the resource.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a managed scheduled executor service by using the
-link:../reference-manual/create-jdbc-resource.html#GSRFM00037[`create-managed-scheduled-executor-service`]
-subcommand.
-3.  If necessary, notify users that the new resource has been created.
-
-[[GSADG1146]][[sthref83]]
-
-
-Example 14-10 Creating a Managed Scheduled Executor Service
-
-This example creates a managed scheduled executor service resource named
-`concurrent/ScheduledExecutor1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-managed-scheduled-executor-service concurrent/ScheduledExecutor1
-Managed scheduled executor service concurrent/ScheduledExecutor1 created successfully.
-Command create-managed-scheduled-executor-service executed successfully.
-----
-
-[[GSADG1147]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-managed-scheduled-executor-service` at the
-command line.
-
-[[DAFJBADD]][[GSADG1148]][[to-list-managed-scheduled-executor-services]]
-
-To List Managed Scheduled Executor Services
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-managed-scheduled-executor-services` subcommand in remote
-mode to list the existing managed scheduled executor service resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List managed scheduled executor service resources by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-managed-scheduled-executor-services`] subcommand.
-
-[[GSADG1149]][[sthref84]]
-
-
-Example 14-11 Listing Managed Scheduled Executor Services
-
-This example lists managed scheduled executor service resources on the
-default server instance, `server`.
-
-[source,oac_no_warn]
-----
-asadmin> list-managed-scheduled-executor-services
-concurrent/__defaultManagedScheduledExecutorService
-concurrent/ScheduledExecutor1
-concurrent/ScheduledExecutor2
-Command list-managed-scheduled-executor-services executed successfully.
-----
-
-[[GSADG1150]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-managed-scheduled-executor-services` at the
-command line.
-
-[[DAFGEBEI]][[GSADG1151]][[to-update-a-managed-scheduled-executor-service]]
-
-To Update a Managed Scheduled Executor Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can change all of the settings for an existing managed scheduled
-executor service resource except its JNDI name. Use the `get` and `set`
-subcommands to view and change the values of the managed scheduled
-executor service attributes.
-
-
-[NOTE]
-=======================================================================
-
-When a resource is updated, the existing resource is shut down and
-recreated. If applications used the resource prior to the update, the
-application or the server must be restarted.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the managed scheduled executor service resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-scheduled-executor-services`] subcommand.
-3.  View the attributes of a managed scheduled executor service by using
-the `get` subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> get resources.managed-scheduled-executor-service.concurrent/ScheduledExecutor1.*
-----
-4.  Set an attribute of the managed scheduled executor service by using
-the `set` subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asdmin> set resources.managed-scheduled-executor-service.concurrent/ScheduledExecutor1.deployment-order=120
-----
-
-[[DAFEBEGC]][[GSADG1152]][[to-delete-a-managed-scheduled-executor-service]]
-
-To Delete a Managed Scheduled Executor Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-managed-scheduled-executor-service` subcommand in remote
-mode to delete an existing managed scheduled executor service. Deleting
-a managed scheduled executor service is a dynamic event and does not
-require server restart.
-
-Before deleting a managed scheduled executor service resource, all
-associations to the resource must be removed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the managed scheduled executor service resources by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-managed-scheduled-executor-service`] subcommand.
-3.  If necessary, notify users that the managed scheduled executor
-service is being deleted.
-4.  Delete the managed scheduled executor service by using the
-link:../reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-managed-scheduled-executor-service`]
-subcommand.
-
-[[GSADG1153]][[sthref85]]
-
-
-Example 14-12 Deleting a Managed Scheduled Executor Service
-
-This example deletes the managed scheduled executor service resource
-named `concurrent/ScheduledExecutor1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-managed-scheduled-executor-service concurrent/ScheduledExecutor1
-Managed scheduled executor service concurrent/ScheduledExecutor1 deleted successfully.
-Command delete-managed-scheduled-executor-service executed successfully.
-----
-
-[[GSADG1154]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-managed-scheduled-executor-service` at the
-command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/connectors.adoc b/docs/administration-guide/src/main/jbake/content/connectors.adoc
deleted file mode 100644
index 64e395c..0000000
--- a/docs/administration-guide/src/main/jbake/content/connectors.adoc
+++ /dev/null
@@ -1,1232 +0,0 @@
-type=page
-status=published
-title=Administering EIS Connectivity
-next=http_https.html
-prev=jdbc.html
-~~~~~~
-Administering EIS Connectivity
-==============================
-
-[[GSADG00016]][[abllp]]
-
-
-[[administering-eis-connectivity]]
-12 Administering EIS Connectivity
----------------------------------
-
-This chapter provides information and procedures for administering
-connections to enterprise information system (EIS) data in the Oracle
-GlassFish Server 5.0 environment by using the `asadmin` command-line
-utility.
-
-
-[NOTE]
-=======================================================================
-
-If you installed the Web Profile, connector modules that use only
-outbound communication features and work-management that does not
-involve inbound communication features are supported. Other connector
-features are supported only in the Full Platform Profile.
-
-=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#abllq[About EIS Connectivity]
-* link:#ablls[Administering Connector Connection Pools]
-* link:#abllx[Administering Connector Resources]
-* link:#giope[Administering the Resource Adapter Configuration]
-* link:#gitxy[Administering Connector Security Maps]
-* link:#giohl[Administering Connector Work Security Maps]
-* link:#ablmc[Administering Administered Objects]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-For information about database connectivity, see
-link:jdbc.html#ablih[Administering Database Connectivity].
-
-[[abllq]][[GSADG00580]][[about-eis-connectivity]]
-
-About EIS Connectivity
-~~~~~~~~~~~~~~~~~~~~~~
-
-Enterprise information system (EIS) refers to any system that holds the
-data of an organization. It can be a mainframe, a messaging system, a
-database system, or an application. Connection resources are used by
-applications and modules to access EIS software.)
-
-The key elements of EIS connectivity are the following:
-
-* Connector Module. A connector module, also called a resource adapter,
-is a Java EE component that enables applications to interact with EIS
-software. A connector module is used by GlassFish Server to implement
-Java Message Service (JMS). Like other Java EE modules, a connector
-module is installed when it is deployed. For instructions on creating a
-connector module, see "link:../application-development-guide/connectors.html#GSDVG00013[Developing Connectors]" in
-GlassFish Server Open Source Edition Application Development Guide.
-* Connector Connection Pool. A connector connection pool is a group of
-reusable connections for a particular EIS. A connector connection pool
-is created when you specify the connector module that is associated with
-the pool. For administration procedures, see link:#ablls[Administering
-Connector Connection Pools].
-* Connector Resource. A connector resource is a program object that
-provides an application with a connection to an EIS. A connector
-resource is created when you specify its JNDI name and its associated
-connection pool. The JNDI name of a connector resource for an EIS is
-usually in the `java:comp/env/`eis-specific subcontext. For
-administration procedures, see link:#abllx[Administering Connector
-Resources].
-* Connector Module Configuration. A connector module configuration is
-the information that resides in the domain configuration file
-(`domain.xml`) for the particular connector module (resource adapter).
-For administration procedures, see link:#giope[Administering the
-Resource Adapter Configuration].
-* Connector Security Map. A connector security map associates the caller
-identity of the application (principal or user group) to a suitable EIS
-principal or group. For administration procedures, see
-link:#gitxy[Administering Connector Security Maps].
-* Connector Work Security Map. A connector work security map associates
-the caller identity of the work submitted by the connector module
-(resource adapter) EIS principal or EIS user group to a suitable
-principal or user group in the GlassFish Server security domain. For
-administration procedures, see link:#giohl[Administering Connector Work
-Security Maps].
-* Administered Object. An administered object provides specialized
-functionality for an application, such as providing access to a parser
-that is specific to the connector module and its associated EIS. For
-administration procedures, see link:#ablmc[Administering Administered
-Objects].
-
-At runtime, the following sequence occurs when an application connects
-to an EIS:
-
-1.  The application gets the connector resource (data source) associated
-with the EIS by making a call through the JNDI API. +
-Using the JNDI name of the connector resource, the naming and directory
-service locates the resource. Each EIS resource specifies a connector
-connection pool.
-2.  Using the connector resource, the application gets an EIS
-connection. +
-GlassFish Server retrieves a physical connection from the connection
-pool that corresponds to the EIS resource. The pool defines connection
-attributes such as the EIS name, user name, and password.
-3.  After the EIS connection is established, the application can read,
-modify, and add data to the EIS. +
-The application accesses the EIS information by making calls to the JMS
-API.
-4.  When the application is finished accessing the EIS, the application
-closes the connection and returns the connection to the connection pool.
-
-[[ablls]][[GSADG00581]][[administering-connector-connection-pools]]
-
-Administering Connector Connection Pools
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-After a connector module has been deployed, you are ready to create a
-connector connection pool for it.
-
-The following topics are addressed here:
-
-* link:#gioce[To Create a Connector Connection Pool]
-* link:#giocg[To List Connector Connection Pools]
-* link:#gjiqz[To Connect to (Ping) or Reset (Flush) a Connector
-Connection Pool]
-* link:#gioti[To Update a Connector Connection Pool]
-* link:#giocp[To Delete a Connector Connection Pool]
-
-[[gioce]][[GSADG00431]][[to-create-a-connector-connection-pool]]
-
-To Create a Connector Connection Pool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-connector-connection-pool` subcommand in remote mode to
-create a connector connection pool for a deployed connector module. When
-you are building the connector connection pool, certain data specific to
-the EIS will be required. The value in the mandatory
-`--connectiondefintion` option provides the EIS info.
-
-Multiple connector resources can specify a single connection pool.
-
-Creating a connector connection pool is a dynamic event and does not
-require server restart. However, there are some parameters that do
-require server restart. See link:overview.html#ghciy[Configuration
-Changes That Require Restart].
-
-[[GSADG968]]
-
-Before You Begin
-
-Before creating the connector connection pool, the connector must be
-installed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create the connector connection pool by using the
-link:../reference-manual/create-connector-connection-pool.html#GSRFM00018[`create-connector-connection-pool`] subcommand. +
-Information about properties for the subcommand is included in this help
-page.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-4.  You can verify that a connection pool is usable by using the
-`ping-connection-pool` subcommand. +
-For instructions, see link:jdbc.html#ggnwn[To Contact (Ping) a Connection
-Pool].
-
-[[GSADG00223]][[giocc]]
-
-
-Example 12-1 Creating a Connector Connection Pool
-
-This example creates the new `jms/qConnPool` pool for the
-`jakarta.jms.QueueConnectionFactory` connector module.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-connection-pool --steadypoolsize 20 --maxpoolsize 100 
---poolresize 2 --maxwait 60000 --raname jmsra --connectiondefinition 
-jakarta.jms.QueueConnectionFactory jms/qConnPool
-
-Command create-connector-connection-pool executed successfully
-----
-
-[[GSADG969]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-connector-connection-pool` at the command
-line.
-
-[[giocg]][[GSADG00432]][[to-list-connector-connection-pools]]
-
-To List Connector Connection Pools
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-connector-connection-pools` subcommand in remote mode to
-list the pools that have been created.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the connector connection pools by using the
-link:../reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
-
-[[GSADG00224]][[giody]]
-
-
-Example 12-2 Listing Connector Connection Pools
-
-This example lists the existing connector connection pools.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-connection-pools
-jms/qConnPool
-Command list-connector-connection-pools executed successfully
-----
-
-[[GSADG970]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-connector-connection-pools` at the command
-line.
-
-[[gjiqz]][[GSADG00433]][[to-connect-to-ping-or-reset-flush-a-connector-connection-pool]]
-
-To Connect to (Ping) or Reset (Flush) a Connector Connection Pool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `ping-connection-pool` or `flush-connection-pool` subcommands in
-remote mode to perform these tasks on a connection pools. See
-link:jdbc.html#ggnwn[To Contact (Ping) a Connection Pool] or
-link:jdbc.html#gjiqp[To Reset (Flush) a Connection Pool] for
-instructions.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Connect to or reset a connector connection pool by using the
-link:../reference-manual/flush-connection-pool.html#GSRFM00135[`flush-connection-pool`] subcommand or the
-link:../reference-manual/ping-connection-pool.html#GSRFM00214[`ping-connection-pool`] subcommand.
-
-[[gioti]][[GSADG00434]][[to-update-a-connector-connection-pool]]
-
-To Update a Connector Connection Pool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `get` and `set` subcommands to view and change the values of the
-connector connection pool properties.
-
-1.  List the connector connection pools by using the
-link:../reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
-2.  View the properties of the connector connection pool by using the
-link:../reference-manual/get.html#GSRFM00139[`get`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> get domain.resources.connector-connection-pool.conectionpoolname.*
-----
-3.  Set the property of the connector connection pool by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set domain.resources.connector-connection-pool
-.conectionpoolname.validate-atmost-once-period-in-seconds=3
-----
-4.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[giocp]][[GSADG00435]][[to-delete-a-connector-connection-pool]]
-
-To Delete a Connector Connection Pool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-connector-connection-pool` subcommand in remote mode to
-remove a connector connection pool.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the connector connection pools by using the
-link:../reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
-3.  If necessary, notify users that the connector connection pool is
-being deleted.
-4.  Delete the connector connection pool by using the
-link:../reference-manual/delete-connector-connection-pool.html#GSRFM00070[`delete-connector-connection-pool`] subcommand.
-
-[[GSADG00225]][[giohd]]
-
-
-Example 12-3 Deleting a Connector Connection Pool
-
-This example deletes the connection pool named `jms/qConnPool`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-connection-pool --cascade=false jms/qConnPool
-Command delete-connector-connection-pool executed successfully
-----
-
-[[GSADG971]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-connector-connection-pool` at the command
-line.
-
-[[abllx]][[GSADG00582]][[administering-connector-resources]]
-
-Administering Connector Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A connector resource provides an application or module with the means of
-connecting to an EIS. Typically, you create a connector resource for
-each EIS that is accessed by the applications deployed in the domain.
-
-The following topics are addressed here:
-
-* link:#giogt[To Create a Connector Resource]
-* link:#giohs[To List Connector Resources]
-* link:#giosg[To Update a Connector Resource]
-* link:#giofs[To Delete a Connector Resource]
-
-[[giogt]][[GSADG00436]][[to-create-a-connector-resource]]
-
-To Create a Connector Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-connector-resource` subcommand in remote mode to
-register a new connector resource with its JNDI name.
-
-Creating a connector resource is a dynamic event and does not require
-server restart. However, there are some parameters that do require
-server restart. See link:overview.html#ghciy[Configuration Changes That
-Require Restart].
-
-[[GSADG972]]
-
-Before You Begin
-
-Before creating a connector resource, you must first create a connector
-connection pool. For instructions, see link:#gioce[To Create a Connector
-Connection Pool].
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create the connector resource by using the
-link:../reference-manual/create-connector-resource.html#GSRFM00019[`create-connector-resource`] subcommand. +
-Information about properties for the subcommand is included in this help
-page.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00226]][[giogn]]
-
-
-Example 12-4 Creating a Connector Resource
-
-This example creates a new resource named `jms/qConnFactory` for the
-`jms/qConnPool` connection pool.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-resource --poolname jms/qConnPool 
---description "creating sample connector resource" jms/qConnFactory
-Command create-connector-resource executed successfully
-----
-
-[[GSADG973]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-connector-resource` at the command line.
-
-[[giohs]][[GSADG00437]][[to-list-connector-resources]]
-
-To List Connector Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-connector-resources` subcommand in remote mode to list the
-connector resources that have been created.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the connector connection pools by using the
-link:../reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`] subcommand.
-
-[[GSADG00227]][[gioia]]
-
-
-Example 12-5 Listing Connector Resources
-
-This example lists the existing connector resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-resources
-jms/qConnFactory
-Command list-connector-resources executed successfully
-----
-
-[[GSADG974]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-connector-resources` at the command line.
-
-[[giosg]][[GSADG00438]][[to-update-a-connector-resource]]
-
-To Update a Connector Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `get` and `set` subcommands to view and change the values of the
-connector resource properties.
-
-1.  List the connector connection pools by using the
-link:../reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`] subcommand.
-2.  View the properties of the connector resource by using the
-link:../reference-manual/get.html#GSRFM00139[`get`] subcommand. +
-For example +
-[source,oac_no_warn]
-----
-asadmin> get domain.resources.connector-resource.jms/qConnFactory
-----
-3.  Set the property of the connector resource by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set domain.resources.connector-resource.jms/qConnFactory.enabled=true
-----
-4.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[giofs]][[GSADG00439]][[to-delete-a-connector-resource]]
-
-To Delete a Connector Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-connector-resource` subcommand in remote mode to remove
-a connector resource by specifying the JNDI name.
-
-[[GSADG975]]
-
-Before You Begin
-
-Before deleting a resource, all associations with the resource must be
-removed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the connector connection pools by using the
-link:../reference-manual/list-connector-resources.html#GSRFM00158[`list-connector-resources`] subcommand.
-3.  If necessary, notify users that the connector resource is being
-deleted.
-4.  Delete the connector resource by using the
-link:../reference-manual/delete-connector-resource.html#GSRFM00071[`delete-connector-resource`] subcommand.
-
-[[GSADG00228]][[giokh]]
-
-
-Example 12-6 Deleting a Connector Resource
-
-This example deletes the `jms/qConnFactory` connector resource.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-resource jms/qConnFactory 
-Command delete-connector-resources executed successfully
-----
-
-[[GSADG976]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-connector-resource` at the command line.
-
-[[giope]][[GSADG00583]][[administering-the-resource-adapter-configuration]]
-
-Administering the Resource Adapter Configuration
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#gioqx[To Create Configuration Information for a Resource
-Adapter]
-* link:#giorn[To List Resource Adapter Configurations]
-* link:#gioum[To Update a Resource Adapter Configuration]
-* link:#gionv[To Delete a Resource Adapter Configuration]
-
-[[gioqx]][[GSADG00440]][[to-create-configuration-information-for-a-resource-adapter]]
-
-To Create Configuration Information for a Resource Adapter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-resource-adapter-config` subcommand in remote mode to
-create configuration information for a resource adapter, also known as a
-connector module. You can run the subcommand before deploying a resource
-adapter, so that the configuration information is available at the time
-of deployment. The resource adapter configuration can also be created
-after the resource adapter is deployed. In this situation, the resource
-adapter is restarted with the new configuration.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create configuration information by using the
-link:../reference-manual/create-resource-adapter-config.html#GSRFM00054[`create-resource-adapter-config`] subcommand. +
-Information about properties for the subcommand is included in this help
-page.
-
-[[GSADG00229]][[gionp]]
-
-
-Example 12-7 Creating a Resource Adapter Configuration
-
-This example creates the configuration for resource adapter `ra1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-resource-adapter-config --property foo=bar 
---threadpoolid mycustomerthreadpool ra1
-Command create-resource-adapter-config executed successfully
-----
-
-[[GSADG977]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-resource-adapter-config` at the command
-line.
-
-[[giorn]][[GSADG00441]][[to-list-resource-adapter-configurations]]
-
-To List Resource Adapter Configurations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-resource-adapter-configs` subcommand in remote mode to
-list the configuration information contained in the domain configuration
-file (`domain.xml`) for the specified resource adapter (connector
-module).
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the configurations for a resource adapter by using the
-link:../reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`] subcommand.
-
-[[GSADG00230]][[gioof]]
-
-
-Example 12-8 Listing Configurations for a Resource Adapter
-
-This example lists all the resource adapter configurations.
-
-[source,oac_no_warn]
-----
-asadmin> list-resource-adapter-configs
-ra1
-ra2
-Command list-resource-adapter-configs executed successfully
-----
-
-[[GSADG978]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-resource-adapter-configs` at the command line.
-
-[[gioum]][[GSADG00442]][[to-update-a-resource-adapter-configuration]]
-
-To Update a Resource Adapter Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `get` and `set` subcommands to view and change the values of the
-resource adapter configuration properties.
-
-1.  List the configurations for a resource adapter by using the
-link:../reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`] subcommand.
-2.  View the properties of the connector resource by using the
-link:../reference-manual/get.html#GSRFM00139[`get`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin>get domain.resources.resource-adapter-config.ra1.*
-----
-3.  Set the property of the connector resource by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set domain.resources.resource-adapter-config.ra1.raSpecificProperty=value
-----
-
-[[gionv]][[GSADG00443]][[to-delete-a-resource-adapter-configuration]]
-
-To Delete a Resource Adapter Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-resource-adapter-config` subcommand in remote mode to
-delete the configuration information contained in the domain
-configuration file (`domain.xml`) for a specified resource adapter
-(connector module).
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the configurations for a resource adapter by using the
-link:../reference-manual/list-resource-adapter-configs.html#GSRFM00196[`list-resource-adapter-configs`] subcommand.
-3.  Delete the configuration for a resource adapter by using the
-link:../reference-manual/delete-resource-adapter-config.html#GSRFM00106[`delete-resource-adapter-config`] subcommand.
-
-[[GSADG00231]][[giorj]]
-
-
-Example 12-9 Deleting a Resource Adapter Configuration
-
-This example deletes the configuration for resource adapter `ra1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-resource-adapter-config ra1
-Command delete-resource-adapter-config executed successfully
-----
-
-[[GSADG979]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-resource-adapter-config` at the command
-line.
-
-[[gitxy]][[GSADG00584]][[administering-connector-security-maps]]
-
-Administering Connector Security Maps
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The EIS is any system that holds the data of an organization. It can be
-a mainframe, a messaging system, a database system, or an application.
-The connector security map is used to map the application's credentials
-to the EIS credentials.
-
-A security map applies to a particular connector connection pool. One or
-more named security maps can be associated with a connector connection
-pool.
-
-The following topics are addressed here:
-
-* link:#gitzz[To Create a Connector Security Map]
-* link:#gitwx[To List Connector Security Maps]
-* link:#gityj[To Update a Connector Security Map]
-* link:#gitvf[To Delete a Connector Security Map]
-
-[[gitzz]][[GSADG00444]][[to-create-a-connector-security-map]]
-
-To Create a Connector Security Map
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-connector-security-map` subcommand in remote mode to
-create a security map for the specified connector connection pool. If
-the security map is not present, a new one is created. You can specify
-back-end EIS principals or back-end EIS user groups. The connector
-security map configuration supports the use of the wild card asterisk
-(*) to indicate all users or all user groups.
-
-You can also use this subcommand to map the caller identity of the
-application (principal or user group) to a suitable EIS principal in
-container-managed authentication scenarios.
-
-[[GSADG980]]
-
-Before You Begin
-
-For this subcommand to succeed, you must have first created a connector
-connection pool. For instructions, see link:#gioce[To Create a Connector
-Connection Pool].
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a connector security map by using the
-link:../reference-manual/create-connector-security-map.html#GSRFM00020[`create-connector-security-map`] subcommand. +
-Information about the options for the subcommand is included in this
-help page.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00232]][[giuxc]]
-
-
-Example 12-10 Creating a Connector Security Map
-
-This example creates a connector security map `securityMap1` for
-`connection-pool1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-security-map --poolname connector-pool1 
---principals principal1, principal2 --mappedusername backend-username securityMap1
-Command create-connector-security-map executed successfully
-----
-
-[[gitwx]][[GSADG00445]][[to-list-connector-security-maps]]
-
-To List Connector Security Maps
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-connector-security-maps` subcommand in remote mode to list
-the existing security maps belonging to the specified connector
-connection pool. You can get a simple listing of the connector security
-maps for a connector connection pool, or you can get a more
-comprehensive listing that shows the principals of the map.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List existing connector connection pools by using the
-link:../reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
-3.  List the security maps for a specific connector connection pool by
-using the link:../reference-manual/list-connector-security-maps.html#GSRFM00159[`list-connector-security-maps`] subcommand.
-
-[[GSADG00233]][[giuwj]]
-
-
-Example 12-11 Listing All Connector Security Maps for a Connector
-Connection Pool
-
-This example lists the connector security maps associated with
-`connector-Pool1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-security-maps connector-Pool1
-securityMap1 
-Command list-connector-security-maps executed successfully.
-----
-
-[[GSADG00234]][[giuyc]]
-
-
-Example 12-12 Listing Principals for a Specific Security Map for a
-Connector Connection Pool
-
-This example lists the principals associated with `securityMap1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-security-maps --securitymap securityMap1 connector-Pool1
-principal1
-principal1
-Command list-connector-security-maps executed successfully.
-----
-
-[[GSADG00235]][[giuuf]]
-
-
-Example 12-13 Listing Principals of All Connector Security Maps for a
-Connector Connection Pool
-
-This example lists the connector security maps associated with
-`connector-Pool1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-security-maps --verbose connector-Pool1
-securityMap1
-principal1
-principal1
-Command list-connector-security-maps executed successfully.
-----
-
-[[gityj]][[GSADG00446]][[to-update-a-connector-security-map]]
-
-To Update a Connector Security Map
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `update-connector-security-map` subcommand in remote mode to
-create or modify a security map for the specified connector connection
-pool.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List existing connector security maps by using the
-link:../reference-manual/list-connector-security-maps.html#GSRFM00159[`list-connector-security-maps`] subcommand.
-3.  Modify a security map for a specific connector connection pool by
-using the link:../reference-manual/update-connector-security-map.html#GSRFM00252[`update-connector-security-map`] subcommand.
-4.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00236]][[giuwi]]
-
-
-Example 12-14 Updating a Connector Security Map
-
-This example adds principals to `securityMap1`.
-
-[source,oac_no_warn]
-----
-asadmin> update-connector-security-map --poolname connector-pool1 
---addprincipals principal1, principal2 securityMap1
-Command update-connector-security-map executed successfully.
-----
-
-[[gitvf]][[GSADG00447]][[to-delete-a-connector-security-map]]
-
-To Delete a Connector Security Map
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-connector-security-map` subcommand in remote mode to
-delete a security map for the specified connector connection pool.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List existing connector connection pools by using the
-link:../reference-manual/list-connector-connection-pools.html#GSRFM00157[`list-connector-connection-pools`] subcommand.
-3.  Delete a security map for a specific connector connection pool by
-using the link:../reference-manual/delete-connector-security-map.html#GSRFM00072[`delete-connector-security-map`] subcommand. +
-Information about options for this subcommand is included in this help
-page.
-
-[[GSADG00237]][[giuvr]]
-
-
-Example 12-15 Deleting a Connector Security Map
-
-This example deletes `securityMap1` from `connector-pool1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-security-map --poolname connector-pool1 securityMap1
-
-Command delete-connector-security-map executed successfully
-----
-
-[[giohl]][[GSADG00585]][[administering-connector-work-security-maps]]
-
-Administering Connector Work Security Maps
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The EIS is any system that holds the data of an organization. It can be
-a mainframe, a messaging system, a database system, or an application.
-The connector work security map is used to is used to map the EIS
-credentials to the credentials of GlassFish Server security domain.
-
-A security map applies to a particular connector connection pool. One or
-more named security maps can be associated with a connector connection
-pool.
-
-The following topics are addressed here:
-
-* link:#giofz[To Create a Connector Work Security Map]
-* link:#gioir[To List Connector Work Security Maps]
-* link:#giogm[To Update a Connector Work Security Map]
-* link:#gioin[To Delete a Connector Work Security Map]
-
-[[giofz]][[GSADG00448]][[to-create-a-connector-work-security-map]]
-
-To Create a Connector Work Security Map
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-connector-work-security-map` subcommand in remote mode
-to map the caller identity of the work submitted by the connector module
-(resource adapter) EIS principal or EIS user group to a suitable
-principal or user group in the GlassFish Server security domain. One or
-more work security maps can be associated with a connector module.
-
-The connector security map configuration supports the use of the wild
-card asterisk (*) to indicate all users or all user groups.
-
-[[GSADG981]]
-
-Before You Begin
-
-Before creating a connector work security map, you must first create a
-connector connection pool. For instructions, see link:#gioce[To Create a
-Connector Connection Pool].
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create the connector work security map by using the
-link:../reference-manual/create-connector-work-security-m.html#GSRFM00021[`create-connector-work-security-map`] subcommand. +
-Information about properties for the subcommand is included in this help
-page.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00238]][[giokw]]
-
-
-Example 12-16 Creating Connector Work Security Maps
-
-The following examples create `workSecurityMap1` and `workSecurityMap2`
-for `my-resource-adapter-name`.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-work-security-map --raname my-resource-adapter-name 
---principalsmap eis-principal-1=server-principal-1,eis-principal-2=server-principal-2, 
-eis-principal-3=server-principal-1 workSecurityMap1
-
-asadmin> create-connector-work-security-map --raname my-resource-adapter-name
---groupsmap eis-group-1=server-group-1,eis-group-2=server-group-2,
-eis-group-3=server-group-1 workSecurityMap2
-Command create-connector-work-security-map executed successfully
-----
-
-[[GSADG982]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-connector-work-security-map` at the command
-line.
-
-[[gioir]][[GSADG00449]][[to-list-connector-work-security-maps]]
-
-To List Connector Work Security Maps
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-connector-work-security-maps` subcommand in remote mode to
-list the work security maps that belong to a specific connector module.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the connector work security maps by using the
-link:../reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`] subcommand.
-
-[[GSADG00239]][[gionj]]
-
-
-Example 12-17 Listing the Connector Work Security Maps
-
-This example lists the generic work security maps.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-work-security-maps generic-ra
-generic-ra-groups-map: EIS group=eis-group, mapped group=glassfish-group
-generic-ra-principals-map: EIS principal=eis-bar, mapped principal=bar
-generic-ra-principals-map: EIS principal=eis-foo, mapped principal=foo
-Command list-connector-work-security-maps executed successfully.
-----
-
-[[GSADG983]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-connector-work-security-maps` at the command
-line.
-
-[[giogm]][[GSADG00450]][[to-update-a-connector-work-security-map]]
-
-To Update a Connector Work Security Map
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `update-connector-work-security-map` subcommand in remote to
-modify a work security map that belongs to a specific resource adapter
-(connector module).
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the connector work security maps by using the
-link:../reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`] subcommand.
-3.  If necessary, notify users that the connector work security map is
-being modified.
-4.  Update a connector work security map by using the
-link:../reference-manual/update-connector-work-security-m.html#GSRFM00253[`update-connector-work-security-map`] subcommand.
-
-[[GSADG00240]][[gioll]]
-
-
-Example 12-18 Updating a Connector Work Security Map
-
-This example removes a principal from a work security map.
-
-[source,oac_no_warn]
-----
-asadmin> update-connector-work-security-map --raname generic-ra
---removeprincipals eis-foo generic-ra-principals-map
-Command update-connector-work-security-map executed successfully.
-----
-
-[[GSADG984]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help update-connector-work-security-map` at the command
-line.
-
-[[gioin]][[GSADG00451]][[to-delete-a-connector-work-security-map]]
-
-To Delete a Connector Work Security Map
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-connector-work-security-map` subcommand in remote mode
-to delete a work security map that belongs to a specific connector
-module (resource adapter).
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the connector work security maps by using the
-link:../reference-manual/list-connector-work-security-map.html#GSRFM00160[`list-connector-work-security-maps`] subcommand.
-3.  Delete a connector work security map by using the
-link:../reference-manual/delete-connector-work-security-m.html#GSRFM00073[`delete-connector-work-security-map`] subcommand.
-
-[[GSADG00241]][[giolk]]
-
-
-Example 12-19 Deleting a Connector Work Security Map
-
-This example deletes the `worksecuritymap1` map from the `my_ra`
-connector module.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-work-security-map --raname my_ra worksecuritymap1
-Command delete-connector-work-security-map executed successfully.
-----
-
-[[GSADG985]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-connector-work-security-map` at the command
-line.
-
-[[ablmc]][[GSADG00586]][[administering-administered-objects]]
-
-Administering Administered Objects
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Packaged within a connector module, an administered object provides
-specialized functionality for an application. For example, an
-administered object might provide access to a parser that is specific to
-the connector module and its associated EIS.
-
-The following topics are addressed here:
-
-* link:#giolr[To Create an Administered Object]
-* link:#giokm[To List Administered Objects]
-* link:#giots[To Update an Administered Object]
-* link:#gioma[To Delete an Administered Object]
-
-[[giolr]][[GSADG00452]][[to-create-an-administered-object]]
-
-To Create an Administered Object
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-admin-object` subcommand to create an administered
-object resource. When creating an administered object resource,
-name-value pairs are created, and the object is associated to a JNDI
-name.
-
-[[GSADG986]]
-
-Before You Begin
-
-The resource adapter must be deployed before running this subcommand
-(`jmsrar.rar`).
-
-1.  Create an administered object by using the
-link:../reference-manual/create-admin-object.html#GSRFM00012[`create-admin-object`] subcommand. +
-Information about properties for the subcommand is included in this help
-page.
-2.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00242]][[giokx]]
-
-
-Example 12-20 Creating an Administered Object
-
-For this example, the `jakarta.jms.Queue` resource type is obtained from
-the `ra.xml` file. The JNDI name of the new administered object is
-`jms/samplequeue`.
-
-[source,oac_no_warn]
-----
-asadmin> create-admin-object --restype jakarta.jms.Queue --raname jmsra
---description "sample administered object" --property Name=sample_jmsqueue jms/samplequeue
-Command create-admin-object executed successfully
-----
-
-[[GSADG987]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-admin-object` at the command line.
-
-[[giokm]][[GSADG00453]][[to-list-administered-objects]]
-
-To List Administered Objects
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-admin-object` subcommand in remote mode to list the
-existing administered objects.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the administered objects by using the
-link:../reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`] subcommand.
-
-[[GSADG00243]][[giokg]]
-
-
-Example 12-21 Listing Administered Objects
-
-This example lists the existing administered objects.
-
-[source,oac_no_warn]
-----
-asadmin> list-admin-objects
-jms/samplequeue
-Command list-admin-objects executed successfully
-----
-
-[[GSADG988]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-admin-object` at the command line.
-
-[[giots]][[GSADG00454]][[to-update-an-administered-object]]
-
-To Update an Administered Object
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `get` and `set` subcommands to view and change the values of the
-administered objects properties.
-
-1.  List the administered objects by using the
-link:../reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`] subcommand.
-2.  View the properties of the administered object by using the
-link:../reference-manual/get.html#GSRFM00139[`get`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> get domain.resources.admin-object-resource.jms/samplequeue.* 
-----
-3.  Set the property of the administered object by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set domain.resources.admin-object-resource.jms/samplequeue.enabled=false
-----
-4.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[gioma]][[GSADG00455]][[to-delete-an-administered-object]]
-
-To Delete an Administered Object
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-admin-object` subcommand to delete an administered
-objects.
-
-1.  List the administered objects by using the
-link:../reference-manual/list-admin-objects.html#GSRFM00146[`list-admin-objects`] subcommand.
-2.  If necessary, notify users that the administered object is being
-deleted.
-3.  Delete an administered object by using the
-link:../reference-manual/delete-admin-object.html#GSRFM00063[`delete-admin-object`] subcommand.
-
-[[GSADG00244]][[giolc]]
-
-
-Example 12-22 Deleting an Administered Object
-
-This example deletes the administered object with the JNDI name
-`jms/samplequeue`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-admin-object jms/samplequeue
-Command delete-admin-object executed successfully
-----
-
-[[GSADG989]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-admin-object` at the command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/domains.adoc b/docs/administration-guide/src/main/jbake/content/domains.adoc
deleted file mode 100644
index a6fa9a8..0000000
--- a/docs/administration-guide/src/main/jbake/content/domains.adoc
+++ /dev/null
@@ -1,1566 +0,0 @@
-type=page
-status=published
-title=Administering Domains
-next=jvm.html
-prev=general-administration.html
-~~~~~~
-Administering Domains
-=====================
-
-[[GSADG00006]][[ggnop]]
-
-
-[[administering-domains]]
-3 Administering Domains
------------------------
-
-This chapter provides procedures for administering domains in the
-GlassFish Server Open Source Edition environment by using the `asadmin`
-command-line utility.
-
-The following topics are addressed here:
-
-* link:#ggoek[About Administering Domains]
-* link:#gitvz[Creating, Logging In To, and Deleting a Domain]
-* link:#gitwj[Starting and Stopping a Domain]
-* link:#gglqp[Configuring a DAS or a GlassFish Server Instance for
-Automatic Restart]
-* link:#gityo[Backing Up and Restoring a Domain]
-* link:#gglri[Re-Creating the Domain Administration Server (DAS)]
-* link:#gitvn[Additional Domain Tasks]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[ggoek]][[GSADG00535]][[about-administering-domains]]
-
-About Administering Domains
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A domain contains a group of GlassFish Server instances that are
-administered together. Each domain has a domain administration server
-(DAS) that hosts administrative applications. These concepts are
-explained in more detail in the following sections:
-
-* link:#geolm[GlassFish Server Instances]
-* link:#geojp[Domains for Administering GlassFish Server]
-* link:#geojl[Domain Administration Server (DAS)]
-
-[[geolm]][[GSADG00715]][[glassfish-server-instances]]
-
-GlassFish Server Instances
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A GlassFish Server instance is a single Virtual Machine for the Java
-platform (Java Virtual Machine or JVM machine) on a single node in which
-GlassFish Server is running. A node defines the host where the GlassFish
-Server instance resides. The JVM machine must be compatible with the
-Java Platform, Enterprise Edition (Java EE).
-
-GlassFish Server instances form the basis of an application deployment.
-
-Whenever a domain is created, GlassFish Server creates a default
-instance that is named `server`. If a single instance meets your
-requirements, you can use this instance for deploying applications
-without the need to administer GlassFish Server instances explicitly.
-You administer the default instance when you administer its domain.
-
-If you require multiple instances, you must administer the instances
-explicitly. For more information, see "link:../ha-administration-guide/instances.html#GSHAG00006[Administering
-GlassFish Server Instances]" in GlassFish Server Open Source Edition
-High Availability Administration Guide.
-
-For an instance, you can also create virtual servers. Virtual servers do
-not span instances. For many purposes, you can use virtual servers
-instead of multiple instances in operational deployments. Virtual
-servers enable you to offer, within a single instance, separate domain
-names, IP addresses, and some administration capabilities to
-organizations or individuals. To these users, a virtual server behaves
-like a dedicated web server, but without the hardware and basic web
-server maintenance.
-
-For more information about virtual servers, see
-link:http_https.html#ggncs[Administering Virtual Servers].
-
-[[geojp]][[GSADG00716]][[domains-for-administering-glassfish-server]]
-
-Domains for Administering GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A domain is an administrative boundary that contains a group of
-GlassFish Server instances that are administered together. Each instance
-can belong to only one domain. A domain provides a preconfigured runtime
-for user applications. Each domain has its own configuration data, log
-files, and application deployment areas that are independent of other
-domains. If the configuration is changed for one domain, the
-configurations of other domains are not affected.
-
-Domains enable different organizations and administrators to share
-securely a single GlassFish Server installation. Each organization or
-administrator can administer the instances in a single domain without
-affecting the instances in other domains.
-
-At installation time, GlassFish Server creates a default domain that is
-named `domain1`. After installation, you can create additional domains
-as necessary.
-
-When a domain is created, you are prompted for the administration user
-name and password. If you accept the default, the user `admin` is
-created without password. To reset the administration password, see
-"link:../security-guide/system-security.html#GSSCG00095[To Change an Administration Password]" in GlassFish
-Server Open Source Edition Security Guide.
-
-[[geojl]][[GSADG00717]][[domain-administration-server-das]]
-
-Domain Administration Server (DAS)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The domain administration server (DAS) is a specially designated
-GlassFish Server instance that hosts administrative applications. The
-DAS is similar to any other GlassFish Server instance, except that the
-DAS has additional administration capabilities. The DAS authenticates
-the administrator, accepts requests from administration tools, and
-communicates with other instances in the domain to carry out the
-requests from administration tools.
-
-Each domain has its own DAS with a unique administration port number.
-The default administration port is 4848, but a different port can be
-specified when a domain is created.
-
-The DAS has the master copy of the configuration data for all instances
-in a domain. If an instance is destroyed, for example, because a host
-failed, the instance can be re-created from the data in the DAS.
-
-The DAS is the default GlassFish Server instance in a domain and is
-named `server`. If a single instance meets your requirements, you can
-use the DAS for deploying applications and for administering the domain.
-
-The graphical Administration Console communicates with a specific DAS to
-administer the domain that is associated with the DAS. Each
-Administration Console session enables you to configure and manage only
-one domain. If you create multiple domains, you must start a separate
-Administration Console session to manage each domain.
-
-[[gitvz]][[GSADG00536]][[creating-logging-in-to-and-deleting-a-domain]]
-
-Creating, Logging In To, and Deleting a Domain
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#ggoei[To Create a Domain]
-* link:#gldel[To Create a Domain From a Custom Template]
-* link:#ggoco[To List Domains]
-* link:#ghhjz[To Log In to a Domain]
-* link:#ggofa[To Delete a Domain]
-
-[[ggoei]][[GSADG00330]][[to-create-a-domain]]
-
-To Create a Domain
-^^^^^^^^^^^^^^^^^^
-
-After installing GlassFish Server and creating the default domain
-(`domain1`), you can create additional domains by using the local
-`create-domain` subcommand. This subcommand creates the configuration of
-a domain. Any user who has access to the `asadmin` utility on a given
-system can create a domain and store the domain configuration in a
-folder of choice. By default, the domain configuration is created in the
-default directory for domains. You can override this location to store
-the configuration elsewhere.
-
-You are required to specify an administrative user when you create a
-domain, or you can accept the default login identity which is username
-`admin` with no password.
-
-1.  Select a name for the domain that you are creating. +
-You can verify that a name is not already in use by using the
-link:../reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand
-2.  Create a domain by using the link:../reference-manual/create-domain.html#GSRFM00023[`create-domain`]
-subcommand. +
-Information about the options for this subcommand is included in this
-help page.
-3.  Type an admin user name and password for the domain. +
-To avoid setting up an admin login, you can accept the default `admin`,
-with no password. Pressing Return also selects the default.
-
-[[GSADG00126]][[ggoeu]]
-
-
-Example 3-1 Creating a Domain
-
-This example creates a domain named `domain1` . When you type the
-command, you might be prompted for login information.
-
-[source,oac_no_warn]
-----
-asadmin> create-domain --adminport 4848 domain1
-Enter admin user name[Enter to accept default]>
-Using port 4848 for Admin.
-Default port 8080 for HTTP Instance is in use. Using 1161
-Using default port 7676 for JMS.
-Using default port 3700 for IIOP.
-Using default port 8081 for HTTP_SSL.
-Using default port 3820 for IIOP_SSL.
-Using default port 3920 for IIOP_MUTUALAUTH.
-Default port 8686 for JMX_ADMIN is in use. Using 1162
-Distinguished Name of the self-signed X.509 Server Certificate is:
-[CN=moonbeam.gateway.2wire.net,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST
-California,C=US]
-Domain domain1 created.
-Command create-domain executed successfully.
-----
-
-To start the Administration Console in a browser, enter the URL in the
-following format:
-
-[source,oac_no_warn]
-----
-http://hostname:5000
-----
-
-For this example, the domain's log files, configuration files, and
-deployed applications now reside in the following directory:
-
-domain-root-dir`/mydomain`
-
-[[GSADG819]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-domain` at the command line.
-
-[[gldel]][[GSADG00331]][[to-create-a-domain-from-a-custom-template]]
-
-To Create a Domain From a Custom Template
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A custom template enables you to customize the configuration of any
-domain that you create from the template.
-
-1.  Create a domain to use as the basis for the template. +
-For more information, see link:#ggoei[To Create a Domain].
-2.  Use the `asadmin` utility or the Administration Console to configure
-the domain. +
-Your configuration changes will be included in the template that you
-create from the domain.
-3.  Copy the domain's `domain.xml` file under a new name to the
-as-install`/lib/templates` directory. +
-A domain's `domain.xml` file is located in the domain-dir`/config`
-directory.
-4.  In a plain text editor, edit the file that you copied to replace
-with tokens values that are to be substituted when a domain is created. +
-Each token is identified as `%%%`token-name`%%%`, where token-name is
-one of the following names:::
-`ADMIN_PORT`::
-  Represents the port number of the HTTP port or the HTTPS port for
-  administration. This token is replaced with one of the following
-  values in the command to create a domain from the template: +
-  * The value of the `--adminport` option
-  * The value of the `domain.adminPort` property
-`CONFIG_MODEL_NAME`::
-  Represents the name of the configuration that is created for the
-  domain that is being created. This token is replaced with the string
-  `server-config`.
-`DOMAIN_NAME`::
-  Represents the name of the domain that is being created. This token is
-  replaced with the operand of `create-domain` subcommand.
-`HOST_NAME`::
-  Represents the name of the host on which the domain is being created.
-  This token is replaced with the fully qualified host name of the host
-  where the domain is being created.
-`HTTP_PORT`::
-  Represents the port number of the port that is used to listen for HTTP
-  requests. This token is replaced with one of the following values in
-  the command to create a domain from the template: +
-  * The value of the `--instanceport` option
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `domain.instancePort` property
-`HTTP_SSL_PORT`::
-  Represents the port number of the port that is used to listen for
-  secure HTTP requests. This token is replaced with one of the following
-  values in the command to create a domain from the template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `http.ssl.port` property
-`JAVA_DEBUGGER_PORT`::
-  Represents the port number of the port that is used for connections to
-  the
-  http://docs.oracle.com/javase/8/docs/technotes/guides/jpda/architecture.html[Java
-  Platform Debugger Architecture (JPDA)] debugger. This token is
-  replaced with one of the following values in the command to create a
-  domain from the template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `java.debugger.port` property
-`JMS_PROVIDER_PORT`::
-  Represents the port number for the Java Message Service provider. This
-  token is replaced with one of the following values in the command to
-  create a domain from the template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `jms.port` property
-`JMX_SYSTEM_CONNECTOR_PORT`::
-  Represents the port number on which the JMX connector listens. This
-  token is replaced with one of the following values in the command to
-  create a domain from the template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `domain.jmxPort` property
-`ORB_LISTENER_PORT`::
-  Represents the port number of the port that is used for IIOP
-  connections. This token is replaced with one of the following values
-  in the command to create a domain from the template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `orb.listener.port` property
-`ORB_MUTUALAUTH_PORT`::
-  Represents the port number of the port that is used for secure IIOP
-  connections with client authentication. This token is replaced with
-  one of the following values in the command to create a domain from the
-  template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `orb.mutualauth.port` property
-`ORB_SSL_PORT`::
-  Represents the port number of the port that is used for secure IIOP
-  connections. This token is replaced with one of the following values
-  in the command to create a domain from the template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `orb.ssl.port` property
-`OSGI_SHELL_TELNET_PORT`::
-  Represents the port number of the port that is used for connections to
-  the
-  http://felix.apache.org/documentation/subprojects/apache-felix-remote-shell.html[Apache
-  Felix Remote Shell] . This shell uses the Felix shell service to
-  interact with the OSGi module management subsystem. This token is
-  replaced with one of the following values in the command to create a
-  domain from the template: +
-  * A value that the `create-domain` subcommand calculates from the
-  value of the `--portbase` option
-  * The value of the `osgi.shell.telnet.port` property
-`SERVER_ID`::
-  Represents the name of the DAS for the domain that is being created.
-  This token is replaced with the string `server`. +
-
-[TIP]
-=======================================================================
-
-For information about how these tokens are used in the default template,
-examine the as-install`/lib/templates/domain.xml` file.
-
-=======================================================================
-
-5.  Create the domain that you want to be based on a custom template. +
-In the command to create the domain, pass the name of file that you
-edited in the previous step as the `--template` option of the
-link:../reference-manual/create-domain.html#GSRFM00023[`create-domain`] subcommand.
-6.  Before starting the domain, verify that the domain's `domain.xml`
-file is valid. +
-Use the link:../reference-manual/verify-domain-xml.html#GSRFM00260[`verify-domain-xml`] subcommand for this
-purpose. +
-Information about the options for this subcommand is included in the
-subcommand's help page.
-
-[[GSADG820]]
-
-See Also
-
-* link:#ggoei[To Create a Domain]
-* link:../reference-manual/create-domain.html#GSRFM00023[`create-domain`(1)]
-* link:../reference-manual/verify-domain-xml.html#GSRFM00260[`verify-domain-xml`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line.
-
-* `asadmin help create-domain`
-* `asadmin help verify-domain-xml`
-
-[[ggoco]][[GSADG00332]][[to-list-domains]]
-
-To List Domains
-^^^^^^^^^^^^^^^
-
-Use the `list-domains` subcommand to display a list of domains and their
-statuses. If the domain directory is not specified, the contents of the
-domain-root-dir, the default for which is as-install`/domains`, is
-listed. If there is more than one domain, the domain name must be
-specified.
-
-To list domains that were created in other directories, specify the
-`--domaindir` option.
-
-List domains by using the link:../reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand.
-
-[[GSADG00127]][[ggpfv]]
-
-
-Example 3-2 Listing Domains
-
-This example lists the domains in the default domain root directory:
-
-[source,oac_no_warn]
-----
-asadmin> list-domains
-Name: domain1 Status: Running
-Name: domain4 Status: Not Running
-Name: domain6 Status: Not Running
-Command list-domains executed successfully.
-----
-
-[[GSADG821]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-domain` at the command line.
-
-[[ghhjz]][[GSADG00333]][[to-log-in-to-a-domain]]
-
-To Log In to a Domain
-^^^^^^^^^^^^^^^^^^^^^
-
-All remote subcommands require that credentials be specified in terms of
-an administration user name and its password. By default, the domain is
-created with an identity that allows an `asadmin` user to perform
-administrative operations when no identity is explicitly or implicitly
-specified.
-
-The default identity is in the form of a user whose name is `admin` and
-has no password. If you specify no user name on the command line or on
-prompt, and specify no password in the `--passwordfile` option or on
-prompt, and you have never logged in to a domain using either the
-`login` subcommand or the `create-domain` subcommand with the
-`--savelogin` option, then the `asadmin` utility will attempt to perform
-a given administrative operation without specifying any identity.
-
-A server (domain) allows administrative operations to be run using this
-default identity if the following conditions are true:
-
-* The server (domain) uses file realm for authentication of
-administrative users. +
-If this condition is not true, you will need to specify the user name
-and password.
-* The file realm has one and only one user (what the user name is does
-not matter). +
-If this condition is not true, you will also need to specify the user
-name.
-* That one user has no password. +
-If this condition is not true, you will need to specify the password.
-
-By default, all of these conditions are true, unless you have created
-the domain with a specific user name and password. Thus, by default, the
-only administrative user is `admin` with no password.
-
-Use the `login` subcommand in local mode to authenticate yourself (log
-in to) a specific domain. After such login, you do not need to specify
-the administration user or password for subsequent operations on the
-domain. The `login` subcommand can only be used to specify the
-administration password. For other passwords that remote subcommands
-require, use the `--passwordfile` option, or specify the password at the
-command prompt. You are always prompted for the administration user name
-and password.
-
-There is no logout subcommand. If you want to log in to another domain,
-invoke `asadmin login` with new values for `--host` and `--port`.
-
-1.  Determine the name of the domain that you are logging in to. +
-To list the existing domains: +
-[source,oac_no_warn]
-----
-asadmin list-domains
-----
-2.  Log in to the domain by using the olink:GSRFM00210[`login`] command.
-
-[[GSADG00128]][[ghlfx]]
-
-
-Example 3-3 Logging In To a Domain on a Remote Machine
-
-This example logs into a domain located on another machine. Options are
-specified before the `login` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> --host foo --port 8282 login
-Please enter the admin user name>admin Please enter the admin password> 
-Trying to authenticate for administration of server at host [foo] and port [8282] ... 
-Login information relevant to admin user name [admin] 
-for host [foo] and admin port [8282] stored at [/.asadminpass] successfully. 
-Make sure that this file remains protected. Information stored in this
-file will be used by asadmin commands to manage associated domain.
-----
-
-[[GSADG00129]][[ghldv]]
-
-
-Example 3-4 Logging In to a Domain on the Default Port of Localhost
-
-This example logs into a domain on `myhost` on the default port. Options
-are specified before the login subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> --host myhost login 
-Please enter the admin user name>admin
-Please enter the admin password> 
-Trying to authenticate for administration of server at host [myhost] and port [4848] ... 
-An entry for login exists for host [myhost] and port [4848], probably from 
-an earlier login operation. 
-Do you want to overwrite this entry (y/n)?y 
-Login information relevant to admin user name [admin] for host [myhost] 
-and admin port [4848] stored at [/home/joe/.asadminpass] successfully. 
-Make sure that this file remains protected. Information stored in this file will be used by 
-asadmin commands to manage associated domain.
-----
-
-[[GSADG822]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help login` at the command line. For additional
-information about passwords, see "link:../security-guide/system-security.html#GSSCG00144[Administering
-Passwords]" in GlassFish Server Open Source Edition Security Guide.
-
-[[ggofa]][[GSADG00334]][[to-delete-a-domain]]
-
-To Delete a Domain
-^^^^^^^^^^^^^^^^^^
-
-Use the `delete-domain` subcommand to delete an existing domain from a
-server. Only the root user or the operating system user who is
-authorized to administer the domain can run this subcommand.
-
-[[GSADG823]]
-
-Before You Begin
-
-A domain must be stopped before it can be deleted.
-
-1.  List domains by using the link:../reference-manual/list-domains.html#GSRFM00163[`list-domains`]
-subcommand.
-2.  If necessary, notify domain users that the domain is being deleted.
-3.  Ensure that the domain you want to delete is stopped. +
-If needed, see link:#ggoch[To Stop a Domain].
-4.  Delete the domain by using the link:../reference-manual/delete-domain.html#GSRFM00075[`delete-domain`]
-subcommand.
-
-[[GSADG00130]][[ggoiy]]
-
-
-Example 3-5 Deleting a Domain
-
-This example deletes a domain named `domain1` from the location
-specified.
-
-[source,oac_no_warn]
-----
-asadmin> delete-domain --domaindir ..\domains domain1
-Domain domain1 deleted.
-Command delete-domain executed successfully.
-----
-
-[[GSADG824]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-domain` at the command line.
-
-[[gitwj]][[GSADG00537]][[starting-and-stopping-a-domain]]
-
-Starting and Stopping a Domain
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#ggoda[To Start a Domain]
-* link:#ggoch[To Stop a Domain]
-* link:#ginqj[To Restart a Domain]
-
-[[ggoda]][[GSADG00335]][[to-start-a-domain]]
-
-To Start a Domain
-^^^^^^^^^^^^^^^^^
-
-When you start a domain or server, the domain administration server
-(DAS) is started. After startup, the DAS runs constantly, listening for
-and accepting requests.
-
-If the domain directory is not specified, the domain in the default
-domain root directory is started. If there are two or more domains, the
-`domain_name` operand must be specified. Each domain must be started
-separately.
-
-
-[NOTE]
-=======================================================================
-
-For Microsoft Windows, you can use an alternate method to start a
-domain. From the Windows Start menu, select the command for your
-distribution of GlassFish Server:
-
-* If you are using the Full Platform, select Programs > Oracle GlassFish
-Server > Start Admin Server.
-* If you are using the Web Profile, select Programs > Oracle GlassFish
-Server Web Profile > Start Admin Server.
-
-=======================================================================
-
-
-This subcommand is supported in local mode only.
-
-Start a domain by using the link:../reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand.
-
-[[GSADG00131]][[ggocw]]
-
-
-Example 3-6 Starting a Domain
-
-This example starts `domain2` in the default domain directory.
-
-[source,oac_no_warn]
-----
-asadmin> start-domain domain2
-----
-
-If there is only one domain, you can omit the domain name. If you do not
-include the password, you might be prompted to supply it.
-
-[source,oac_no_warn]
-----
-Name of the domain started: [domain1] and its location: 
-[C:\prelude\v3_prelude_release\distributions\web\target\glassfish
-domains\domain1].
-Admin port for the domain: [4848].
-----
-
-[[GSADG825]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help start-domain` at the command line.
-
-[[ggoch]][[GSADG00336]][[to-stop-a-domain]]
-
-To Stop a Domain
-^^^^^^^^^^^^^^^^
-
-Stopping a domain or server shuts down its domain administration server
-(DAS). When stopping a domain, the DAS stops accepting new connections
-and then waits for all outstanding connections to complete. This
-shutdown process takes a few seconds. While the domain is stopped, the
-Administration Console and most of the `asadmin` subcommands cannot be
-used. This subcommand is particularly useful in stopping a runaway
-server. For more controlled situations, you can use the
-link:../reference-manual/restart-domain.html#GSRFM00218[`restart-domain`] subcommand.
-
-
-[NOTE]
-=======================================================================
-
-For Microsoft Windows, you can use an alternate method to stop a domain.
-From the Start menu, select the command for your distribution of
-GlassFish Server:
-
-* If you are using the Full Platform, select Programs > Oracle GlassFish
-Server > Stop Admin Server.
-* If you are using the Web Profile, select Programs > Oracle GlassFish
-Server Web Profile > Stop Admin Server.
-
-=======================================================================
-
-
-1.  If necessary, notify users that you are going to stop the domain.
-2.  Stop the domain by using the link:../reference-manual/stop-domain.html#GSRFM00240[`stop-domain`]
-subcommand.
-
-[[GSADG00132]][[gioes]]
-
-
-Example 3-7 Stopping a Domain (or Server)
-
-This example stops `domain1` in the default directory, where `domain1`
-is the only domain present in the directory.
-
-[source,oac_no_warn]
-----
-asadmin> stop-domain
-Waiting for the domain to stop ...........
-Command stop-domain executed successfully.
-----
-
-[[GSADG826]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help stop-domain` at the command line.
-
-[[ginqj]][[GSADG00337]][[to-restart-a-domain]]
-
-To Restart a Domain
-^^^^^^^^^^^^^^^^^^^
-
-Use the `restart-domain` subcommand in remote mode to restart the Domain
-Administration Server (DAS) of the specified host. When restarting a
-domain, the DAS stops accepting new connections and then waits for all
-outstanding connections to complete. This shutdown process takes a few
-seconds. Until the domain has restarted, the Administration Console and
-most of the `asadmin` subcommands cannot be used.
-
-This subcommand is particularly useful for environments where the server
-machine is secured and difficult to get to. With the right credentials,
-you can restart the server from a remote location as well as from the
-same machine.
-
-If the server will not restart, use the link:../reference-manual/stop-domain.html#GSRFM00240[`stop-domain`]
-subcommand followed by the link:../reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Restart the domain by using the link:../reference-manual/restart-domain.html#GSRFM00218[`restart-domain`]
-subcommand.
-
-[[GSADG00133]][[ggoet]]
-
-
-Example 3-8 Restarting a Domain (or Server)
-
-This example restarts `mydoimain4` in the default directory.
-
-[source,oac_no_warn]
-----
-asadmin> restart-domain mydomain4
-Waiting for the domain to restart ...........
-Command restart-domain executed successfully.
-----
-
-[[GSADG00134]][[giupx]]
-
-
-Example 3-9 Restarting a Domain in a Browser
-
-This example invokes the `restart-domain` subcommand in a browser.
-
-[source,oac_no_warn]
-----
-http://yourhost:4848/__asadmin/restart-domain
-----
-
-[[GSADG827]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help restart-domain` at the command line.
-
-[[gglqp]][[GSADG00538]][[configuring-a-das-or-a-glassfish-server-instance-for-automatic-restart]]
-
-Configuring a DAS or a GlassFish Server Instance for Automatic Restart
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use the `create-service` subcommand in local mode to configure your
-system to automatically restart a domain administration server (DAS) or
-a GlassFish Server instance. GlassFish Server enables you to configure a
-DAS or an instance for automatic restart on the following operating
-systems:
-
-* Windows
-* Linux
-* Oracle Solaris
-
-To ensure that automatic restart functions correctly on Windows, you
-must prevent service shutdown when a user logs out.
-
-The following topics are addressed here:
-
-* link:#gjzfg[To Configure a DAS or an Instance for Automatic Restart on
-Windows]
-* link:#giurs[To Configure a DAS or an Instance for Automatic Restart on
-Linux]
-* link:#giusi[To Configure a DAS or an Instance for Automatic Restart on
-Oracle Solaris]
-* link:#giurf[To Prevent Service Shutdown When a User Logs Out on
-Windows]
-
-[[gjzfg]][[GSADG00338]][[to-configure-a-das-or-an-instance-for-automatic-restart-on-windows]]
-
-To Configure a DAS or an Instance for Automatic Restart on Windows
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-On Windows systems, the `create-service` subcommand creates a Windows
-service to represent the DAS or instance. The service is created in the
-disabled state. After this subcommand creates the service, you must use
-the Windows Services Manager or the Windows Services Wrapper to start,
-stop, uninstall, or install the service. To administer the service from
-the Windows command line, use the `sc.exe` tool.
-
-This subcommand must be run as the OS-level administrator user.
-
-1.  Create the service by using the link:../reference-manual/create-service.html#GSRFM00057[`create-service`]
-subcommand.
-2.  After the service is created, start the service by using the Windows
-Services Manager or the Windows Services Wrapper. +
-For example, to start the service for the default domain by using the
-`sc.exe` tool, type: +
-[source,oac_no_warn]
-----
-C:\> sc start domain1
-----
-If you are using the `sc.exe` tool to administer the service, use the
-tool as follows:
-* To obtain information about the service, use the `sc query` command.
-* To stop the service, use the `sc stop` command.
-* To uninstall the service, use the `sc delete` command.
-
-[[GSADG00135]][[gjzix]]
-
-
-Example 3-10 Creating a Service to Restart a DAS Automatically on
-Windows
-
-This example creates a service for the default domain on a system that
-is running Windows.
-
-[source,oac_no_warn]
-----
-asadmin> create-service
-Found the Windows Service and successfully uninstalled it.
-The Windows Service was created successfully.  It is ready to be started.  Here are 
-the details:
-ID of the service: domain1
-Display Name of the service:domain1 GlassFish Server
-Domain Directory: C:\glassfishv3\glassfish\domains\domain1
-Configuration file for Windows Services Wrapper: C:\glassfishv3\glassfish\domains\
-domain1\bin\domain1Service.xml
-The service can be controlled using the Windows Services Manager or you can use the
-Windows Services Wrapper instead:
-Start Command:  C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe  start
-Stop Command:   C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe  stop
-Uninstall Command:  C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe
-uninstall
-Install Command:  C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe
-install
-
-This message is also available in a file named PlatformServices.log in the domain's 
-root directory
-Command create-service executed successfully.
-----
-
-[[GSADG00136]][[gktso]]
-
-
-Example 3-11 Querying the Service to Restart a DAS Automatically on
-Windows
-
-This obtains information about the service for the default domain on a
-system that is running Windows.
-
-[source,oac_no_warn]
-----
-C:\> sc query domain1
-
-SERVICE_NAME: domain1
-        TYPE               : 10  WIN32_OWN_PROCESS
-        STATE              : 1  STOPPED
-        WIN32_EXIT_CODE    : 1077  (0x435)
-        SERVICE_EXIT_CODE  : 0  (0x0)
-        CHECKPOINT         : 0x0
-        WAIT_HINT          : 0x0
-----
-
-[[giurs]][[GSADG00339]][[to-configure-a-das-or-an-instance-for-automatic-restart-on-linux]]
-
-To Configure a DAS or an Instance for Automatic Restart on Linux
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-On Linux systems, the `create-service` subcommand creates a
-System-V-style initialization script
-`/etc/init.d/GlassFish_`domain-or-instance-name and installs a link to
-this script in any `/etc/rc`N`.d` directory that is present, where N is
-`0`, `1`, `2`, `3`, `4`, `5`, `6`, and `S`. After this subcommand
-creates the script, you must use this script to start, stop, or restart
-the domain or instance.
-
-The script automatically restarts the domain or instance only during a
-reboot. If the domain or instance is stopped, but the host remains
-running, the domain or instance is not restarted automatically. To
-restart the domain or instance, you must run the script manually.
-
-You might no longer require the domain or instance to be automatically
-restarted during a reboot. In this situation, use the operating system
-to delete the initialization script and the link to the script that the
-`create-service` subcommand creates.
-
-The `create-service` subcommand must be run as the OS-level root user.
-
-Create the service by using the link:../reference-manual/create-service.html#GSRFM00057[`create-service`]
-subcommand.
-
-[[GSADG828]][[sthref19]]
-
-
-Example 3-12 Creating a Service to Restart a DAS Automatically on Linux
-
-This example creates a service for the default domain on a system that
-is running Linux.
-
-[source,oac_no_warn]
-----
-asadmin> create-service
-Found the Linux Service and successfully uninstalled it.
-The Service was created successfully. Here are the details:
-Name of the service:domain1
-Type of the service:Domain
-Configuration location of the service:/etc/init.d/GlassFish_domain1
-User account that will run the service: root
-You have created the service but you need to start it yourself.
-Here are the most typical Linux commands of interest:
-
-* /etc/init.d/GlassFish_domain1 start
-* /etc/init.d/GlassFish_domain1 stop
-* /etc/init.d/GlassFish_domain1 restart
-
-For your convenience this message has also been saved to this file: 
-/export/glassfish3/glassfish/domains/domain1/PlatformServices.log
-Command create-service executed successfully.
-----
-
-[[giusi]][[GSADG00340]][[to-configure-a-das-or-an-instance-for-automatic-restart-on-oracle-solaris]]
-
-To Configure a DAS or an Instance for Automatic Restart on Oracle
-Solaris
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-On Oracle Solaris systems, the `create-service` subcommand creates an
-Oracle Solaris Service Management Facility (SMF) service that restarts a
-DAS or an instance. The service grants to the process the privileges of
-the user that runs the process. When you create an SMF service, the
-default user is the superuser. If you require a different user to run
-the process, specify the user in `method_credential`.
-
-If your process is to bind to a privileged port of Oracle Solaris, the
-process requires the `net_privaddr` privilege. The privileged ports of
-the Oracle Solaris operating system have port numbers less than 1024.
-
-To determine if a user has the `net_privaddr` privilege, log in as that
-user and type the command `ppriv -l | grep net_privaddr`.
-
-After you create and enable the SMF service, if the domain or instance
-is stopped, SMF restarts it.
-
-[[GSADG829]]
-
-Before You Begin
-
-To run the `create-service` subcommand, you must have `solaris.smf.*`
-authorization. For information about how to set the authorizations, see
-the
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)]
-man page and the
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
-man page. You must also have write permission in the directory tree:
-`/var/svc/manifest/application/SUNWappserver`. Usually, the superuser
-has both of these permissions. Additionally, Oracle Solaris
-administration commands such as
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`],
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`],
-and
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`]
-must be available in the PATH.
-
-If a particular GlassFish Server domain or instance should not have
-default user privileges, modify the manifest of the service and reimport
-the service.
-
-1.  Create the service by using the link:../reference-manual/create-service.html#GSRFM00057[`create-service`]
-subcommand.
-2.  After the service is created, enable the service by using the
-`svacdm enable` command. +
-For example, to enable the SMF service for the default domain, type: +
-[source,oac_no_warn]
-----
-svacdm enable /appserver/domains/domain1
-----
-
-[[GSADG00137]][[giuqp]]
-
-
-Example 3-13 Creating a Service to Restart a Domain Automatically on
-Oracle Solaris
-
-This example creates a service for the default domain on a system that
-is running Oracle Solaris.
-
-[source,oac_no_warn]
-----
-asadmin> create-service
-The Service was created successfully. Here are the details:
-Name of the service:application/GlassFish/domain1
-Type of the service:Domain
-Configuration location of the service:/home/gfuser/glassfish-installations
-/glassfishv3/glassfish/domains
-Manifest file location on the system:/var/svc/manifest/application
-/GlassFish/domain1_home_gfuser_glassfish-installations_glassfishv3
-_glassfish_domains/Domain-service-smf.xml.
-You have created the service but you need to start it yourself.
-Here are the most typical Solaris commands of interest:
-* /usr/bin/svcs -a | grep domain1 // status
-* /usr/sbin/svcadm enable domain1 // start
-* /usr/sbin/svcadm disable domain1 // stop
-* /usr/sbin/svccfg delete domain1 // uninstall
-Command create-service executed successfully
-----
-
-[[GSADG830]]
-
-See Also
-
-For information about administering the service, see the following
-Oracle Solaris documentation:
-
-* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1hbrunlevels-25516[Managing
-Services (Overview)]" in System Administration Guide: Basic
-Administration
-* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1faauf[Managing
-Services (Tasks)]" in System Administration Guide: Basic Administration
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`(1)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvcadm-1m[`svcadm`(1M)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`(1M)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5rbac-5[`rbac`(5)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5smf-security-5[`smf_security`(5)]
-
-[[giurf]][[GSADG00341]][[to-prevent-service-shutdown-when-a-user-logs-out-on-windows]]
-
-To Prevent Service Shutdown When a User Logs Out on Windows
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, the Java Virtual Machine (VM) receives signals from Windows
-that indicate that Windows is shutting down, or that a user is logging
-out of Windows, which causes the system to shut itself down cleanly.
-This behavior causes the GlassFish Server service to shut down. To
-prevent the service from shutting down when a user logs out, you must
-set the `-Xrs` Java VM option
-(`https://javaee.github.io/glassfish/documentation`).
-
-1.  Ensure that the DAS is running.
-2.  Set the `-Xrs` Java VM option for the DAS. +
-Use the link:../reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`] subcommand for this
-purpose. +
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options -Xrs
-----
-3.  Set the `-Xrs` Java VM option for the Java VM within which the
-`asadmin` utility runs. +
-To set this option, edit the `asadmin.bat` file to add the `-Xrs` option
-to the line that runs the `admin-cli.jar` file.
-1.  In the as-install`\bin\asadmin.bat` file, edit the line to read as
-follows: +
-[source,oac_no_warn]
-----
-%JAVA% -Xrs -jar "%~dp0..\modules\admin-cli.jar" %*
-----
-2.  In the as-install-parent`\bin\asadmin.bat` file, edit the line to
-read as follows: +
-[source,oac_no_warn]
-----
-%JAVA% -Xrs -jar "%~dp0..\glassfish\modules\admin-cli.jar" %*
-----
-4.  If the GlassFish Server service is running, restart the service for
-your changes to take effect.
-
-[[gityo]][[GSADG00541]][[backing-up-and-restoring-a-domain]]
-
-Backing Up and Restoring a Domain
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#ggocq[To Back Up a Domain]
-* link:#ggody[To Restore a Domain]
-* link:#ghgod[To List Domain Backups]
-
-[[ggocq]][[GSADG00352]][[to-back-up-a-domain]]
-
-To Back Up a Domain
-^^^^^^^^^^^^^^^^^^^
-
-Use the `backup-domain` subcommand in local mode to make a backup of a
-specified domain.
-
-When you use the `backup-domain` subcommand, GlassFish Server creates a
-ZIP file backup of all the files and subdirectories in the domain's
-directory, domain-root-dir`/`domain-dir, except for the `backups`
-subdirectory.
-
-The `backup-domain` subcommand provides several options to meet
-particular needs, including:
-
-* `--backupdir` to specify a directory in which to store the backup
-instead of the default domain-root-dir`/`domain-dir`/backups`.
-* `--description` to provide a description of the backup to be stored in
-the backup itself.
-
-1.  Ensure that the domain is stopped . +
-The `backup-domain` subcommand operates only when the domain is stopped.
-2.  Back up the domain by using the link:../reference-manual/backup-domain.html#GSRFM00003[`backup-domain`]
-subcommand.
-3.  Restore the domain to its previous state, if necessary. +
-Start or resume the domain.
-
-[[GSADG00149]][[ggoxt]]
-
-
-Example 3-14 Backing Up the Default Domain
-
-This example makes a backup of the default domain, `domain1`, storing
-the backup file in `/net/backups.example.com/glassfish`:
-
-[source,oac_no_warn]
-----
-asadmin> backup-domain --backupdir /net/backups.example.com/glassfish domain1
-Backed up domain1 at Mon Jan 17 08:16:22 PST 2011.
-Command backup-domain executed successfully
-----
-
-[[GSADG842]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help backup-domain` at the command line.
-
-[[ggody]][[GSADG00353]][[to-restore-a-domain]]
-
-To Restore a Domain
-^^^^^^^^^^^^^^^^^^^
-
-Use the `restore-domain` subcommand in local mode to use a backup file
-to restore the files and subdirectories in a specified domain's
-directory.
-
-The `restore-domain` subcommand can use backup files created by the
-`backup-domain` subcommand and by automatic backup configurations, both
-full backups and configuration-only backups. Automatic backup
-configurations are available only in Oracle GlassFish Server.
-
-1.  If necessary, notify domain users that the domain is being restored
-from backup.
-2.  Ensure that the domain is stopped. +
-The `restore-domain` subcommand operates only when the domain is
-stopped. +
-To determine whether the domain is running, use the
-link:../reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand, as described in
-link:#ggoco[To List Domains]. +
-To stop the domain, use the link:../reference-manual/stop-domain.html#GSRFM00240[`stop-domain`] subcommand
-as described in link:#ggoch[To Stop a Domain].
-3.  Restore backup files for a domain by using the
-link:../reference-manual/restore-domain.html#GSRFM00221[`restore-domain`] subcommand.
-4.  Verify that the restore has succeeded.
-5.  If necessary, notify users that the domain has been restored and is
-available.
-
-[[GSADG00150]][[ggoys]]
-
-
-Example 3-15 Restoring the Default Domain
-
-This example restores files for the default domain, `domain1`, from the
-most recent backup stored in a specified backup directory:
-
-[source,oac_no_warn]
-----
-asadmin> restore-domain --backupdir /net/backups.example.com/glassfish domain1
-Restored the domain (domain1) to /home/user1/glassfish3/glassfish/domains/domain1
-Command restore-domain executed successfully.
-----
-
-[[GSADG843]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin restore-domain --help` at the command line.
-
-[[ghgod]][[GSADG00354]][[to-list-domain-backups]]
-
-To List Domain Backups
-^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-backups` subcommand in local mode to display information
-about backups of a specified domain stored in a specified backup
-directory.
-
-The `list-backups` subcommand provides several options to meet
-particular needs, including `--backupdir` to specify a directory where
-backups are stored instead of the default domain-dir`/backups`.
-
-List backups by using the `list-backups` subcommand.
-
-[[GSADG00151]][[ghgsv]]
-
-
-Example 3-16 Listing Backups of the Default Domain
-
-This example lists the backups of the default domain, `domain1`, that
-are stored in the `/net/backups.example.com/glassfish` directory:
-
-[source,oac_no_warn]
-----
-asadmin> list-backups --backupdir /net/backups.example.com/glassfish domain1
-CONFIG        USER   BACKUP DATE                   FILENAME
-              user1  Mon Jan 17 08:16:22 PST 2011  domain1_2011_01_17_v00001.zip
-monthly-full  user1  Wed Dec 01 00:00:00 PST 2010  domain1_2010_12_01_v00001.zip
-monthly-full  user1  Sat Jan 01 00:00:03 PST 2011  domain1_2011_01_01_v00001.zip
-monthly-full  user1  Tue Feb 01 00:00:01 PST 2011  domain1_2011_02_01_v00001.zip
-Command list-backups executed successfully.
-----
-
-Note that this listing includes backups created automatically by a
-backup configuration. This feature is available only in Oracle GlassFish
-Server.
-
-[[GSADG844]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-backups` at the command line.
-
-[[gglri]][[GSADG00542]][[re-creating-the-domain-administration-server-das]]
-
-Re-Creating the Domain Administration Server (DAS)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For mirroring purposes, and to provide a working copy of the DAS, you
-must have:
-
-* One host (olddashost) that contains the original DAS.
-* A second host (apphost) that contains a cluster with server instances
-running applications and catering to clients. The cluster is configured
-using the DAS on the first host.
-* A third host (newdashost) where the DAS needs to be re-created in a
-situation where the first host crashes or is being taken out of service.
-
-
-[NOTE]
-=======================================================================
-
-You must maintain a backup of the DAS from the first host using the
-olink:GSRFM00003[`backup-domain`] subcommand as described in
-link:#ggocq[To Back Up a Domain]. You can automatically maintain a
-backup of the DAS using the automatic backups feature of Oracle
-GlassFish Server.
-
-=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-Oracle GlassFish Server includes `asadmin` subcommands that simplify
-this procedure. If you are using Oracle GlassFish Server, see
-link:#gglnp[To Migrate the DAS].
-
-=======================================================================
-
-
-[[gglnp]][[GSADG00355]][[to-migrate-the-das]]
-
-To Migrate the DAS
-^^^^^^^^^^^^^^^^^^
-
-The following steps are required to migrate the DAS from the first host
-(olddashost) to the third host (newdashost).
-
-1.  Install GlassFish Server on newdashost just as it was installed on
-olddashost. +
-This is required so that the DAS can be properly restored on newdashost
-without causing path conflicts.
-2.  Use the `restore-domain` subcommand to restore the latest backup
-file onto newdashost. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> restore-domain --backupdir /net/backups.example.com/glassfish
-----
-This example assumes that backups are stored in a network-accessible
-location. If this is not the case, manually copy the latest backup file
-from offline storage to a directory on newdashost. +
-You can backup any domain. However, while re-creating the domain, the
-domain name should be same as the original.
-3.  Stop the domain on olddashost, if it is running.
-4.  Start the domain on newdashost by using the
-link:../reference-manual/start-domain.html#GSRFM00235[`start-domain`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> start-domain domain1
-----
-5.  If the domain on olddashost was centrally administered, set up
-centralized administration on newdashost. +
-See "link:../ha-administration-guide/ssh-setup.html#GSHAG00003[Enabling Centralized Administration of GlassFish
-Server Instances]" in GlassFish Server Open Source Edition High
-Availability Administration Guide for instructions.
-6.  Verify that instances on other hosts are visible to the new DAS on
-newdashost: +
-[source,oac_no_warn]
-----
-asadmin> list-instances --long
-----
-7.  Change the DAS host values for properties under the node on apphost. +
-In the file as-install`/nodes/`node-name`/agent/config/das.properties`
-file, change the `agent.das.host` property value to refer to newdashost
-instead of olddasnost.
-8.  Use the new DAS to restart clusters and standalone instances on
-apphost: +
-Restarting the clustered and standalone instances on apphost triggers
-their recognition of the new DAS on newdashost.
-1.  Use the `list-clusters` subcommand to list the clusters in the
-domain.
-2.  Use the `stop-cluster` subcommand to stop each cluster.
-3.  Use the `list-instances` subcommand to list the instances in the
-domain.
-4.  Use the `restart-instance` subcommand to restart each standalone
-instance.
-5.  Use the `start-cluster` subcommand to start each cluster. +
-If the domain does not use centralized administration, use the
-`start-local-instance` subcommand to start the cluster instances on
-apphost.
-9.  Verify that instances on apphost are running: +
-[source,oac_no_warn]
-----
-asadmin> list-instances --long
-----
-10. Decommission and discontinue use of the DAS on olddashost.
-
-[[gitvn]][[GSADG00543]][[additional-domain-tasks]]
-
-Additional Domain Tasks
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#ghhnt[To Display Domain Uptime]
-* link:#ghmbn[To Switch a Domain to Another Supported Java Version]
-* link:#gkvkb[To Change the Administration Port of a Domain]
-
-[[ghhnt]][[GSADG00356]][[to-display-domain-uptime]]
-
-To Display Domain Uptime
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `uptime` subcommand in remote mode to display the length of time
-that the domain administration server (DAS) has been running since it
-was last started.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Display uptime by using the link:../reference-manual/uptime.html#GSRFM00258[`uptime`] subcommand.
-
-[[GSADG00152]][[ghlds]]
-
-
-Example 3-17 Displaying the DAS Uptime
-
-This example displays the length of time that the DAS has been running.
-
-[source,oac_no_warn]
-----
-asadmin> uptime
-Uptime: 1 Weeks, 4 days, 0 hours, 17 minutes, 14 seconds, Total milliseconds: 951434595
-Command uptime executed successfully.
-----
-
-[[GSADG845]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help uptime` at the command line.
-
-[[ghmbn]][[GSADG00357]][[to-switch-a-domain-to-another-supported-java-version]]
-
-To Switch a Domain to Another Supported Java Version
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server 5.0 requires Java SE 8 as the underlying virtual
-machine for the Java platform (Java Virtual Machine or JVM machine).
-
-
-[NOTE]
-=======================================================================
-
-Do not downgrade to an earlier Java version after a domain has been
-created with a newer JVM machine. If you must downgrade your JVM
-machine, downgrade it only for individual domains.
-
-=======================================================================
-
-
-1.  If you have not already done so, download the desired Java SDK (not
-the JRE) and install it on your system. +
-The Java SDK can be downloaded from the
-http://www.oracle.com/technetwork/java/javase/downloads/index.html[Java
-SE Downloads page] .
-2.  Start the domain for which you are changing the JDK. +
-Use the following format: +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain domain-name
-----
-For a valid JVM installation, locations are checked in the following
-order:
-1.  `domain.xml` (`java-home` inside `java-config`)
-2.  `asenv.conf` (setting `AS_JAVA="path to java home"`) +
-If a legal JDK is not found, a fatal error occurs and the problem is
-reported back to you.
-3.  If necessary, change the JVM machine attributes for the domain. +
-In particular, you might need to change the `JAVA_HOME` environment
-variable. For example, to change the `JAVA_HOME` variable, type: +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin set "server.java-config.java-home=path-to-java-home"
-----
-
-[[gkvkb]][[GSADG00358]][[to-change-the-administration-port-of-a-domain]]
-
-To Change the Administration Port of a Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `set` subcommand in remote mode to change the administration
-port of a domain.
-
-The HTTP port or the HTTPS port for administration of a domain is
-defined by the `--adminport` option of the
-link:../reference-manual/create-domain.html#GSRFM00023[`create-domain`] subcommand when the domain is created.
-If this port must be reallocated for another purpose, change the port on
-which the DAS listens for administration requests.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Set the port number to its new value. +
-Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand for this purpose. +
-[source,oac_no_warn]
-----
-$ asadmin set 
-server-config.network-config.network-listeners.network-listener.admin-listener.port=new-port-number
-----
-The new-port-number is the new value that you are setting for the port
-number. +
-
-[NOTE]
-=======================================================================
-
-After you set the port number to its new value, running the
-`list-domains` subcommand incorrectly reports that the DAS is not
-running. The `list-domains` subcommand reports the correct state again
-only after you stop and restart the domain as explained in the steps
-that follow.
-
-=======================================================================
-
-3.  Stop the domain, specifying the host on which the DAS is running and
-the old administration port number of the domain. +
-You must specify the old port number because the DAS is still listening
-for administration requests on this port. If you omit the port number,
-the command fails because the `stop-domain` subcommand attempts to
-contact the DAS through the new port number. +
-
-[NOTE]
-=======================================================================
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for controlling the
-behavior of the domain, see the olink:GSRFM00240[`stop-domain`(1)] help
-page.
-
-=======================================================================
-
-[source,oac_no_warn]
-----
-$ asadmin --host host-name --port old-port-number stop-domain
-----
-host-name::
-  The name of the host on which the DAS is running. If you run the
-  `stop-domain` subcommand on the host where the DAS is running, you
-  must specify the actual host name and not `localhost`. If you specify
-  `localhost`, the `stop-domain` subcommand fails.
-old-port-number::
-  The value of administration port number of the domain before you
-  changed it in the preceding step.
-4.  Start the domain. +
-
-[NOTE]
-=======================================================================
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for controlling the
-behavior of the domain, see the olink:GSRFM00235[`start-domain`(1)] help
-page.
-
-=======================================================================
-
-[source,oac_no_warn]
-----
-$ start-domain [domain-name]
-----
-The domain-name is the name of the domain to start. If only one domain
-subdirectory is contained in the `domains` directory, you may omit this
-option.
-
-[[GSADG00153]][[gkvkl]]
-
-
-Example 3-18 Changing the Administration Port of a Domain
-
-This example changes the administration port of the domain `domain1`
-from 4848 to 4849. The DAS is running on the host `xk01.example.com`.
-
-[source,oac_no_warn]
-----
-$ asadmin set 
-server-config.network-config.network-listeners.network-listener.admin-listener.port=4849
-server-config.network-config.network-listeners.network-listener.admin-listener.port=4849
-Command set executed successfully.
-$ asadmin --host xk01.example.com --port 4848 stop-domain
-Waiting for the domain to stop ....
-Command stop-domain executed successfully.
-$ asadmin start-domain
-Waiting for domain1 to start ........................
-Successfully started the domain : domain1
-domain  Location: /export/glassfish3/glassfish/domains/domain1
-Log File: /export/glassfish3/glassfish/domains/domain1/logs/server.log
-Admin Port: 4849
-Command start-domain executed successfully.
-----
-
-[[GSADG846]]
-
-See Also
-
-* link:../reference-manual/create-domain.html#GSRFM00023[`create-domain`(1)]
-* link:../reference-manual/set.html#GSRFM00226[`set`(1)]
-* link:../reference-manual/start-domain.html#GSRFM00235[`start-domain`(1)]
-* link:../reference-manual/stop-domain.html#GSRFM00240[`stop-domain`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help create-domain`
-* `asadmin help set`
-* `asadmin help start-domain`
-* `asadmin help stop-domain`
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/general-administration.adoc b/docs/administration-guide/src/main/jbake/content/general-administration.adoc
deleted file mode 100644
index 20f66cf..0000000
--- a/docs/administration-guide/src/main/jbake/content/general-administration.adoc
+++ /dev/null
@@ -1,3334 +0,0 @@
-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 GlassFish Server Open Source Edition 5.0 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 GlassFish Server]
-
-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 GlassFish
-Server 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,oac_no_warn]
-----
-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://javaee.github.io/glassfish/doc/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 GlassFish Server, see
-Section 1 of the
-https://javaee.github.io/glassfish/doc/5.0/reference-manual.pdf[GlassFish
-Server Open Source Edition 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://javaee.github.io/glassfish/doc/5.0/reference-manual.pdf[GlassFish
-Server Open Source Edition Reference Manual]. +
-
-[NOTE]
-=======================================================================
-
-Not all subcommand options are supported for this release of GlassFish
-Server. 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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server 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/toc.html#GSRFM[GlassFish Server
-Open Source Edition 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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish Server.
-
-[[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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish
-Server 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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish Server Open Source Edition,
-new modules can be added to GlassFish Server 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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-asadmin> get-active-module-config jms-service
-At location: domain/configs/config[server-config]
-<jms-service default-jms-host="default_JMS_host" type="EMBEDDED"
-  <jms-host port="7676" host="localhost" name="default_JMS_host"/>
-</jms-service>
-Command get-active-module-config executed successfully.
-----
-
-[[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
-GlassFish Server 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 GlassFish Server. +
-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,oac_no_warn]
-----
-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 GlassFish Server 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 GlassFish Server Version
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `version` subcommand in remote mode to display information about
-the GlassFish Server 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 GlassFish Server on the local host.
-
-[source,oac_no_warn]
-----
-asadmin> version
-Version = Oracle GlassFish Server 3.0.1 (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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish Server 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,oac_no_warn]
-----
-asadmin> list-modules
-----
-
-Information similar to the following is displayed (partial output):
-
-[source,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server provides representational state transfer (REST)
-interfaces to enable you to access monitoring and configuration data for
-GlassFish Server, including data that is provided by newly installed
-add-on components.
-
-You can access the GlassFish Server 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 GlassFish Server REST interfaces in REST client
-applications that are developed in languages such as:
-
-* JavaScript
-* Ruby
-* Perl
-* Java
-* JavaFX
-
-The implementation of the GlassFish Server REST interfaces is based on
-https://jersey.github.io[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] .
-
-The following topics are addressed here:
-
-* link:#gjipk[Using REST URLs to Administer GlassFish Server]
-* link:#gjijx[Using REST Resource Methods to Administer GlassFish
-Server]
-* link:#gjjdg[Resources for `asadmin` Subcommands That Perform Non-CRUD
-Operations]
-* link:#gjiut[Securing GlassFish Server 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 GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-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 GlassFish
-Server 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 (`/`). +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-The path to a GlassFish Server 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 GlassFish Server 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 GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server 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[GlassFish Server Open Source Edition
-Reference Manual].
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Operations on REST resources for GlassFish Server 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,oac_no_warn]
-----
-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\/glassfish3",
-      "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 GlassFish Server 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,oac_no_warn]
-----
-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\/glassfish3",
-      "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 GlassFish Server 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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish Server 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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish Server 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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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,oac_no_warn]
-----
-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 GlassFish Server 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 GlassFish Server REST Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server 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
-GlassFish Server 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 GlassFish
-Server Open Source Edition Security Guide
-* "link:../security-guide/user-security.html#GSSCG00118[To Create a File User]" in GlassFish Server Open
-Source Edition 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`. +
-GlassFish Server 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.
-1.  Create a cookie that is named `gfresttoken` the value of which is
-the token.
-2.  Send the cookie with the request.
-3.  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 GlassFish Server REST interfaces represent resources for
-configuration objects in the following formats:
-
-* http://www.json.org/[JSON]
-* XML
-* HTML
-
-GlassFish Server 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,oac_no_warn]
-----
-{
-  "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,oac_no_warn]
-----
-{
-  "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,oac_no_warn]
-----
-{
-    "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,oac_no_warn]
-----
-"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,oac_no_warn]
-----
-"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,oac_no_warn]
-----
-{
-  "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\/glassfish3",
-      "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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<?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/glassfish3"/>
-     <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 GlassFish Server 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,oac_no_warn]
-----
-{
-  "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,oac_no_warn]
-----
-"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,oac_no_warn]
-----
-"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,oac_no_warn]
-----
-{
-  "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,oac_no_warn]
-----
-<?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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<?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 GlassFish Server 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,oac_no_warn]
-----
-{
-  "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,oac_no_warn]
-----
-{
-  "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,
-  `glassfish3.1`.
-logger-class-name::
-  The fully qualified name of the Java class of the logger class that
-  created the log message. Each component of GlassFish Server provides
-  its own logger class. For detailed information about the names of
-  logger classes in GlassFish Server, 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 GlassFish
-  Server, this identifier consists of a module code and a numerical
-  value, for example, `CORE5004`. All `SEVERE` and `WARNING` messages
-  and some `INFO` messages from GlassFish Server contain a message
-  identifier. For more information, see the link:../error-messages-reference/toc.html#GSEMR[GlassFish Server
-  Open Source Edition 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,oac_no_warn]
-----
-{
-  "records": [
-    {
-      "recordNumber":475,
-      "loggedDateTimeInMS":1300743782815,
-      "loggedLevel":"INFO",
-      "productName":"glassfish3.1",
-      "loggerName":"org.glassfish.admingui",
-      "nameValuePairs": "_ThreadID=25;_ThreadName=Thread-1;",
-      "messageID":"",
-      "Message":"Admin Console: Initializing Session Attributes..."
-    },
-    {
-      "recordNumber":474,
-      "loggedDateTimeInMS":1300728893368,
-      "loggedLevel":"INFO",
-      "productName":"glassfish3.1",
-      "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":"glassfish3.1",
-      "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,oac_no_warn]
-----
-<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,oac_no_warn]
-----
-<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 GlassFish Server provides
-  its own logger class. For detailed information about the names of
-  logger classes in GlassFish Server, see link:logging.html#gkres[Logger
-  Namespaces].
-message-id::
-  A unique identifier for the message. For messages from GlassFish
-  Server, this identifier consists of a module code and a numerical
-  value, for example, `CORE5004`. All `SEVERE` and `WARNING` messages
-  and some `INFO` messages from GlassFish Server contain a message
-  identifier. For more information, see the link:../error-messages-reference/toc.html#GSEMR[GlassFish Server
-  Open Source Edition 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,
-  `glassfish3.1`.
-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,oac_no_warn]
-----
-<records>
- <record loggedDateTimeInMS="1300743782815" loggedLevel="INFO" 
- loggerName="org.glassfish.admingui" messageID="" 
- nameValuePairs="_ThreadID=25;_ThreadName=Thread-1;" 
- productName="glassfish3.1" 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="glassfish3.1" 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="glassfish3.1" recordNumber="473"/>
-</records>
-----
-
-[[gkwsq]][[GSADG00714]][[supported-content-types-in-requests-to-rest-resources]]
-
-Supported Content Types in Requests to REST Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server 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"`.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/http_https.adoc b/docs/administration-guide/src/main/jbake/content/http_https.adoc
deleted file mode 100644
index 6d3392a..0000000
--- a/docs/administration-guide/src/main/jbake/content/http_https.adoc
+++ /dev/null
@@ -1,1158 +0,0 @@
-type=page
-status=published
-title=Administering Internet Connectivity
-next=concurrent.html
-prev=connectors.html
-~~~~~~
-Administering Internet Connectivity
-===================================
-
-[[GSADG00017]][[ablsw]]
-
-
-[[administering-internet-connectivity]]
-13 Administering Internet Connectivity
---------------------------------------
-
-This chapter provides procedures for performing internet connectivity
-tasks in the GlassFish Server Open Source Edition 5.0 environment by
-using the `asadmin` command-line utility.
-
-The following topics are addressed here:
-
-* link:#giusf[About Internet Connectivity]
-* link:#ggnfu[Administering HTTP Network Listeners]
-* link:#ggncs[Administering Virtual Servers]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[giusf]][[GSADG00587]][[about-internet-connectivity]]
-
-About Internet Connectivity
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The HTTP service provides functionality for deploying web applications
-and for making deployed web applications accessible by Internet clients,
-either in a single application server instance or in a cluster of
-multiple server instances. HTTP services are provided by two kinds of
-related objects: listeners and virtual servers.
-
-For more information about clusters, see the link:../ha-administration-guide/toc.html#GSHAG[GlassFish
-Server Open Source Edition High Availability Administration Guide].
-
-The following topics are addressed here:
-
-* link:#giuri[About HTTP Network Listeners]
-* link:#giupz[About Virtual Servers]
-
-[[giuri]][[GSADG00766]][[about-http-network-listeners]]
-
-About HTTP Network Listeners
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An HTTP listener, also known as a network listener, is a listen socket
-that has an Internet Protocol (IP) address, a port number, a server
-name, and a default virtual server. Each virtual server provides
-connections between the server and clients through one or more
-listeners. Each listener must have a unique combination of port number
-and IP address. For example, an HTTP listener can listen for a host on
-all configured IP addresses on a given port by specifying the IP address
-0.0.0.0. Alternatively, the listener can specify a unique IP address for
-each listener while using the same port.
-
-Because an HTTP listener is a combination of IP address and port number,
-you can have multiple HTTP listeners with the same IP address and
-different port numbers, or with different IP addresses and the same port
-number (if your host was configured to respond to these addresses).
-However, if an HTTP listener uses the 0.0.0.0 IP address, which listens
-on all IP addresses on a port, you cannot create HTTP listeners for
-additional IP addresses that listen on the same port for a specific IP
-address. For example, if an HTTP listener uses 0.0.0.0:8080 (all IP
-addresses on port 8080), another HTTP listener cannot use 1.2.3.4:8080.
-The host running the GlassFish Server typically has access to only one
-IP address. HTTP listeners typically use the 0.0.0.0 IP address and
-different port numbers, with each port number serving a different
-purpose. However, if the host does have access to more than one IP
-address, each address can serve a different purpose.
-
-To access a web application deployed on GlassFish Server, use the URL
-`http://localhost:8080/` (or `https://localhost:8081/` for a secure
-application), along with the context root specified for the web
-application.
-
-To access the Administration Console, use the URL
-`https://localhost:4848/` or `http://localhost:4848/asadmin/` (console
-default context root).
-
-[[giupz]][[GSADG00767]][[about-virtual-servers]]
-
-About Virtual Servers
-^^^^^^^^^^^^^^^^^^^^^
-
-A virtual server, sometimes called a virtual host, is an object that
-allows the same physical server to host multiple Internet domain names.
-All virtual servers hosted on the same physical server share the IP
-address of that physical server. A virtual server associates a domain
-name for a server (such as `www.aaa.com`) with the particular server on
-which GlassFish Server is running. Each virtual server must be
-registered with the DNS server for your network.
-
-
-[NOTE]
-=======================================================================
-
-Do not confuse an Internet domain with the administrative domain of
-GlassFish Server.
-
-=======================================================================
-
-
-For example, assume that you want to host the following domains on your
-physical server: `www.aaa.com`, `www.bbb.com`, and `www.ccc.com`. Assume
-that these domains are respectively associated with web modules `web1`,
-`web2`, and `web3`. This means that the following URLs are handled by
-your physical server:
-
-[source,oac_no_warn]
-----
-http://www.aaa.com:8080/web1
-http://www.bbb.com:8080/web2
-http://www.ccc.com:8080/web3
-----
-
-The first URL is mapped to virtual server `www.aaa.com`, the second URL
-is mapped to virtual server `www.bbb.com`, and the third is mapped to
-virtual server `www.ccc.com`. For this mapping to work, `www.aaa.com`,
-`www.bbb.com`, and `www.ccc.com` must all resolve to your physical
-server's IP address and each virtual server must be registered with the
-DNS server for your network. In addition, on a UNIX system, add these
-domains to your `/etc/hosts` file (if the setting for `hosts` in your
-`/etc/nsswitch.conf` file includes `files`).
-
-[[ggnfu]][[GSADG00588]][[administering-http-network-listeners]]
-
-Administering HTTP Network Listeners
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-By default, when GlassFish Server starts, the following HTTP listeners
-are started automatically:
-
-* HTTP listeners associated with the virtual server named `server`:
-
-** The listener named `http-listener-1` does not have security enabled.
-
-** The listener named `http-listener-2` has security enabled
-* An HTTP listener named `admin-listener`, associated with the virtual
-server named `__asadmin`. For this listener, security is not enabled.
-
-The following table describes the GlassFish Server default ports for the
-listeners that use ports.
-
-[[GSADG990]][[sthref72]][[ggnpj]]
-
-
-Table 13-1 Default Ports for Listeners
-
-[width="100%",cols="18%,13%,69%",options="header",]
-|=======================================================================
-|Listener |Default Port |Description
-|Administrative server |4848 |A domain's administrative server is
-accessed by the Administration Console and the `asadmin` utility. For
-the Administration Console, specify the port number in the URL of the
-browser. When running an `asadmin` subcommand remotely, specify the port
-number by using the `--port` option.
-
-|HTTP |8080 |The web server listens for HTTP requests on a port. To
-access deployed web applications and services, clients connect to this
-port.
-
-|HTTPS |8181 |Web applications configured for secure communications
-listen on a separate port.
-
-| | |
-
-| | |
-
-| | |
-|=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#ggnfh[To Create an Internet Connection]
-* link:#gjkuy[Administering HTTP Protocols]
-* link:#gjkzi[Administering HTTP Configurations]
-* link:#gjkym[Administering HTTP Transports]
-* link:#gjkwt[Administering HTTP Network Listeners]
-
-[[ggnfh]][[GSADG00456]][[to-create-an-internet-connection]]
-
-To Create an Internet Connection
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the subcommands in this procedure to create an internet connection
-with the full range of listener options. A network listener is created
-behind the scenes. For the shortcut version of this process , see
-link:#gjimx[To Create an HTTP Network Listener].
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create an HTTP or HTTPS protocol by using the
-link:../reference-manual/create-protocol.html#GSRFM00051[`create-protocol`] subcommand with the
-`--securityenabled` option. +
-To use the built-in `http-listener-1` HTTP protocol, or
-`http-listener-2` HTTPS protocol, skip this step.
-3.  Create an HTTP configuration by using the
-link:../reference-manual/create-http.html#GSRFM00025[`create-http`] subcommand. +
-To use a built-in protocol, skip this step.
-4.  Create a transport by using the link:../reference-manual/create-transport.html#GSRFM00061[`create-transport`]
-subcommand. +
-To use the built-in `tcp` transport, skip this step.
-5.  Create a thread pool by using the
-link:../reference-manual/create-threadpool.html#GSRFM00060[`create-threadpool`] subcommand. +
-To avoid using a thread pool, or to use the built-in `http-thread-pool`
-thread pool, skip this step. +
-For additional thread pool information, see
-link:threadpools.html#abluc[Administering Thread Pools].
-6.  Create an HTTP listener by using the
-link:../reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand. +
-Specify a protocol and transport, optionally a thread pool.
-7.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG991]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing a command such as `asadmin help create-http-listener` at the
-command line.
-
-[[gjkuy]][[GSADG00768]][[administering-http-protocols]]
-
-Administering HTTP Protocols
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Each HTTP listener has an HTTP protocol, which is created either by
-using the `create-protocol` subcommand or by using the built-in
-protocols that are applied when you follow the instructions in
-link:#gjimx[To Create an HTTP Network Listener].
-
-The following topics are addressed here:
-
-* link:#gjhot[To Create a Protocol]
-* link:#gjhna[To List Protocols]
-* link:#gjhnx[To Delete a Protocol]
-
-[[gjhot]][[GSADG00457]][[to-create-a-protocol]]
-
-To Create a Protocol
-++++++++++++++++++++
-
-Use the `create-protocol` subcommand in remote mode to create a
-protocol.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a protocol by using the link:../reference-manual/create-protocol.html#GSRFM00051[`create-protocol`] +
-Information about options and properties for the subcommand are included
-in this help page.
-
-[[GSADG00245]][[gjhos]]
-
-
-Example 13-1 Creating an HTTP Protocol
-
-This example creates a protocol named `http-1` with security enabled.
-
-[source,oac_no_warn]
-----
-asadmin> create-protocol --securityenabled=true http-1
-Command create-protocol executed successfully.
-----
-
-[[GSADG992]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-protocol` at the command line.
-
-[[gjhna]][[GSADG00458]][[to-list-protocols]]
-
-To List Protocols
-+++++++++++++++++
-
-Use the `list-protocols` subcommand in remote mode to list the existing
-HTTP protocols.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the existing protocols by using the
-link:../reference-manual/list-protocols.html#GSRFM00195[`list-protocols`] subcommand.
-
-[[GSADG00246]][[gjhqg]]
-
-
-Example 13-2 Listing the Protocols
-
-This example lists the existing protocols.
-
-[source,oac_no_warn]
-----
-asadmin> list-protocols
-admin-listener
-http-1
-http-listener-1
-http-listener-2
-Command list-protocols executed successfully.
-----
-
-[[GSADG993]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-protocols` at the command line.
-
-[[gjhnx]][[GSADG00459]][[to-delete-a-protocol]]
-
-To Delete a Protocol
-++++++++++++++++++++
-
-Use the `delete-protocol` subcommand in remote mode to remove a
-protocol.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Delete a protocol by using the link:../reference-manual/delete-protocol.html#GSRFM00103[`delete-protocol`]
-subcommand
-
-[[GSADG00247]][[gjhop]]
-
-
-Example 13-3 Deleting a Protocol
-
-This example deletes the protocol named `http-1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-protocol http-1
-Command delete-protocol executed successfully.
-----
-
-[[GSADG994]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-protocol` at the command line.
-
-[[gjkzi]][[GSADG00769]][[administering-http-configurations]]
-
-Administering HTTP Configurations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Each HTTP listener has an HTTP configuration, which is created either by
-using the `create-http` subcommand or by using the built-in
-configurations that are applied when you follow the instructions in
-link:#gjimx[To Create an HTTP Network Listener].
-
-The following topics are addressed here:
-
-* link:#gjhqc[To Create an HTTP Configuration]
-* link:#gjhqa[To Delete an HTTP Configuration]
-
-[[gjhqc]][[GSADG00460]][[to-create-an-http-configuration]]
-
-To Create an HTTP Configuration
-+++++++++++++++++++++++++++++++
-
-Use the `create-http` subcommand in remote mode to create a set of HTTP
-parameters for a protocol. This set of parameters configures one or more
-network listeners,
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create an HTTP configuration by using the
-link:../reference-manual/create-http.html#GSRFM00025[`create-http`] subcommand. +
-Information about options and properties for the subcommand are included
-in this help page.
-
-[[GSADG00248]][[gjhnz]]
-
-
-Example 13-4 Creating an HTTP Configuration
-
-This example creates an HTTP parameter set for the protocol named
-`http-1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-http --timeout-seconds 60 --default-virtual-server server http-1
-Command create-http executed successfully.
-----
-
-[[GSADG995]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-http` at the command line.
-
-[[gjhqa]][[GSADG00461]][[to-delete-an-http-configuration]]
-
-To Delete an HTTP Configuration
-+++++++++++++++++++++++++++++++
-
-Use the `delete-http` subcommand in remote mode to remove HTTP
-parameters from a protocol.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Delete the HTTP parameters from a protocol by using the
-link:../reference-manual/delete-http.html#GSRFM00077[`delete-http`] subcommand.
-
-[[GSADG00249]][[gjhov]]
-
-
-Example 13-5 Deleting an HTTP Configuration
-
-This example deletes the HTTP parameter set from a protocol named
-`http-1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-http http-1
-Command delete-http executed successfully.
-----
-
-[[GSADG996]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-http` at the command line.
-
-[[gjkym]][[GSADG00770]][[administering-http-transports]]
-
-Administering HTTP Transports
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Each HTTP listener has an HTTP transport, which is created either by
-using the `create-transport` subcommand or by using the built-in
-transports that are applied when you follow the instructions in
-link:#gjimx[To Create an HTTP Network Listener].
-
-The following topics are addressed here:
-
-* link:#gjhps[To Create a Transport]
-* link:#gjhmx[To List Transports]
-* link:#gjhqp[To Delete a Transport]
-
-[[gjhps]][[GSADG00462]][[to-create-a-transport]]
-
-To Create a Transport
-+++++++++++++++++++++
-
-Use the `create-transport` subcommand in remote mode to create a
-transport for a network listener,
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a transport by using the link:../reference-manual/create-transport.html#GSRFM00061[`create-transport`]
-subcommand. +
-Information about options and properties for the subcommand are included
-in this help page.
-
-[[GSADG00250]][[gjhpx]]
-
-
-Example 13-6 Creating a Transport
-
-This example creates a transport named `http1-trans` that uses a
-non-default number of acceptor threads.
-
-[source,oac_no_warn]
-----
-asadmin> create-transport --acceptorthreads 100 http1-trans
-Command create-transport executed successfully.
-----
-
-[[GSADG997]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-transport` at the command line.
-
-[[gjhmx]][[GSADG00463]][[to-list-transports]]
-
-To List Transports
-++++++++++++++++++
-
-Use the `list-transports` subcommand in remote mode to list the existing
-HTTP transports.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the existing transports by using the
-link:../reference-manual/list-transports.html#GSRFM00206[`list-transports`] subcommand.
-
-[[GSADG00251]][[gjhqj]]
-
-
-Example 13-7 Listing HTTP Transports
-
-This example lists the existing transports.
-
-[source,oac_no_warn]
-----
-asadmin> list-transports
-http1-trans
-tcp
-Command list-transports executed successfully.
-----
-
-[[GSADG998]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-transports` at the command line.
-
-[[gjhqp]][[GSADG00464]][[to-delete-a-transport]]
-
-To Delete a Transport
-+++++++++++++++++++++
-
-Use the `delete-transport` subcommand in remote mode to remove a
-transport.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Delete a transport by using the link:../reference-manual/delete-transport.html#GSRFM00112[`delete-transport`]
-subcommand.
-
-[[GSADG00252]][[gjhoh]]
-
-
-Example 13-8 Deleting a Transport
-
-This example deletes he transport named `http1-trans`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-transport http1-trans
-Command delete-transport executed successfully. 
-----
-
-[[GSADG999]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-transport` at the command line.
-
-[[gjkwt]][[GSADG00771]][[administering-http-network-listeners-1]]
-
-Administering HTTP Network Listeners
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following topics are addressed here:
-
-* link:#gjimx[To Create an HTTP Network Listener]
-* link:#ggnbv[To List HTTP Network Listeners]
-* link:#giwls[To Update an HTTP Network Listener]
-* link:#ggndu[To Delete an HTTP Network Listener]
-* link:#ggnbj[To Configure an HTTP Listener for SSL]
-* link:#CHDEDCEA[To Configure Optional Client Authentication for SSL]
-* link:#CHDHEFHG[To Configure a Custom SSL Implementation]
-* link:#ggncl[To Delete SSL From an HTTP Listener]
-* link:#gixjb[To Assign a Default Virtual Server to an HTTP Listener]
-
-[[gjimx]][[GSADG00465]][[to-create-an-http-network-listener]]
-
-To Create an HTTP Network Listener
-++++++++++++++++++++++++++++++++++
-
-Use the `create-http-listener` subcommand or the
-`create-network-listener` subcommand in remote mode to create a
-listener. These subcommands provide backward compatibility and also
-provide a shortcut for creating network listeners that use the HTTP
-protocol. Behind the scenes, a network listener is created as well as
-its associated protocol, transport, and HTTP configuration. This method
-is a convenient shortcut, but it gives access to only a limited number
-of options. If you want to specify the full range of listener options,
-follow the instructions in link:#ggnfh[To Create an Internet
-Connection].
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create an HTTP network listener by using the
-link:../reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand or the
-link:../reference-manual/create-http-listener.html#GSRFM00030[`create-http-listener`] subcommand.
-3.  If needed, restart the server. +
-If you edit the special HTTP network listener named `admin-listener`,
-you must restart the server for changes to take effect. See
-link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00253]][[ggpjk]]
-
-
-Example 13-9 Creating an HTTP Listener
-
-This example creates an HTTP listener named `sampleListener` that uses a
-non-default number of acceptor threads. Security is not enabled at
-runtime.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-listener --listeneraddress 0.0.0.0 
---listenerport 7272 --defaultvs server --servername host1.sun.com 
---acceptorthreads 100 --securityenabled=false 
---enabled=false sampleListener
-Command create-http-listener executed successfully.
-----
-
-[[GSADG00254]][[gjimj]]
-
-
-Example 13-10 Creating a Network Listener
-
-This example a network listener named `sampleListener` that is not
-enabled at runtime:
-
-[source,oac_no_warn]
-----
-asadmin> create-network-listener --listenerport 7272 protocol http-1
---enabled=false sampleListener
-Command create-network-listener executed successfully.
-----
-
-[[GSADG1000]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-http-listener` or
-`asadmin help create-network-listener` at the command line.
-
-[[ggnbv]][[GSADG00466]][[to-list-http-network-listeners]]
-
-To List HTTP Network Listeners
-++++++++++++++++++++++++++++++
-
-Use the `list-http-listeners` subcommand or the `list-network-listeners`
-subcommand in remote mode to list the existing HTTP listeners.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List HTTP listeners by using the
-link:../reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] or
-link:../reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`] subcommand.
-
-[[GSADG00255]][[ggpgw]]
-
-
-Example 13-11 Listing HTTP Listeners
-
-This example lists the HTTP listeners. The same output is given if you
-use the `list-network-listeners` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> list-http-listeners
-admin-listener
-http-listener-2
-http-listener-1
-Command list-http-listeners executed successfully.
-----
-
-[[GSADG1001]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-http-listeners` or
-`asadmin help list-network-listeners` at the command line.
-
-[[giwls]][[GSADG00467]][[to-update-an-http-network-listener]]
-
-To Update an HTTP Network Listener
-++++++++++++++++++++++++++++++++++
-
-1.  List HTTP listeners by using the
-link:../reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] or
-link:../reference-manual/list-network-listeners.html#GSRFM00186[`list-network-listeners`] subcommand.
-2.  Modify the values for the specified listener by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-The listener is identified by its dotted name.
-
-[[GSADG00256]][[giwiw]]
-
-
-Example 13-12 Updating an HTTP Network Listener
-
-This example changes `security-enabled` to `false` on `http-listener-2`.
-
-[source,oac_no_warn]
-----
-asadmin> set server.network-config.protocols.protocol.http-listener-2.security-enabled=false
-Command set executed successfully.
-----
-
-[[ggndu]][[GSADG00468]][[to-delete-an-http-network-listener]]
-
-To Delete an HTTP Network Listener
-++++++++++++++++++++++++++++++++++
-
-Use the `delete-http-listener` subcommand or the
-`delete-network-listener` subcommand in remote mode to delete an
-existing HTTP listener. This disables secure communications for the
-listener.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List HTTP listeners by using the
-link:../reference-manual/list-http-listeners.html#GSRFM00168[`list-http-listeners`] subcommand.
-3.  Delete an HTTP listener by using the
-link:../reference-manual/delete-http-listener.html#GSRFM00082[`delete-http-listener`] or
-link:../reference-manual/delete-network-listener.html#GSRFM00098[`delete-network-listener`] subcommand.
-4.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00257]][[ggpjr]]
-
-
-Example 13-13 Deleting an HTTP Listener
-
-This example deletes the HTTP listener named `sampleListener`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-http-listener sampleListener
-Command delete-http-listener executed successfully.
-----
-
-[[GSADG1002]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-http-listener` or
-`asadmin help delete-network-listener` at the command line.
-
-[[ggnbj]][[GSADG00469]][[to-configure-an-http-listener-for-ssl]]
-
-To Configure an HTTP Listener for SSL
-+++++++++++++++++++++++++++++++++++++
-
-Use the `create-ssl` subcommand in remote mode to create and configure
-an SSL element in the specified listener. This enables secure
-communication for the listener.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Configure an HTTP listener by using the
-link:../reference-manual/create-ssl.html#GSRFM00058[`create-ssl`] subcommand.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00258]][[ggphv]]
-
-
-Example 13-14 Configuring an HTTP Listener for SSL
-
-This example enables the HTTP listener named `http-listener-1` for SSL:
-
-[source,oac_no_warn]
-----
-asadmin> create-ssl --type http-listener --certname sampleCert http-listener-1
-Command create-ssl executed successfully.
-----
-
-[[GSADG1003]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-ssl` at the command line.
-
-[[CHDEDCEA]][[GSADG1106]][[to-configure-optional-client-authentication-for-ssl]]
-
-To Configure Optional Client Authentication for SSL
-+++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In GlassFish Server, you can configure the SSL protocol of an HTTP
-listener such that it requests a certificate before permitting a client
-connection, but does not refuse a connection if the client does not
-provide one. To enable this feature, set the `client-auth` property of
-the SSL protocol to the value `want`. For example:
-
-[source,oac_no_warn]
-----
-asadmin> set configs.config.config-name.network-config.protocols.\
-protocol.listener-name.ssl.client-auth=want
-----
-
-[[CHDHEFHG]][[GSADG1107]][[to-configure-a-custom-ssl-implementation]]
-
-To Configure a Custom SSL Implementation
-++++++++++++++++++++++++++++++++++++++++
-
-In GlassFish Server, you can configure the SSL protocol an HTTP listener
-such that it uses a custom implementation of SSL. To enable this
-feature, set the `classname` property of the SSL protocol to the name of
-a class that implements the `com.sun.grizzly.util.net.SSLImplementation`
-interface. For example:
-
-[source,oac_no_warn]
-----
-asadmin> set configs.config.config-name.network-config.protocols.\
-protocol.listener-name.ssl.classname=SSLImplementation-class-name
-----
-
-By default, GlassFish Server uses the implementation
-`com.sun.enterprise.security.ssl.GlassfishSSLImpl` for the SSL protocol.
-
-[[ggncl]][[GSADG00470]][[to-delete-ssl-from-an-http-listener]]
-
-To Delete SSL From an HTTP Listener
-+++++++++++++++++++++++++++++++++++
-
-Use the `delete-ssl` subcommand in remote mode to delete the SSL element
-in the specified listener. This disables secure communications for the
-listener.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Delete SSL from an HTTP listener by using the
-link:../reference-manual/delete-ssl.html#GSRFM00109[`delete-ssl`] subcommand.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00259]][[ggpln]]
-
-
-Example 13-15 Deleting SSL From an HTTP Listener
-
-This example disables SSL for the HTTP listener named `http-listener-1`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-ssl --type http-listener http-listener-1
-Command delete-http-listener executed successfully.
-----
-
-[[GSADG1004]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-ssl` at the command line.
-
-[[gixjb]][[GSADG00471]][[to-assign-a-default-virtual-server-to-an-http-listener]]
-
-To Assign a Default Virtual Server to an HTTP Listener
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  In the Administration Console, open the HTTP Service component under
-the relevant configuration.
-2.  Open the HTTP Listeners component under the HTTP Service component.
-3.  Select or create a new HTTP listener.
-4.  Select from the Default Virtual Server drop-down list. +
-For more information, see link:#beaga[To Assign a Default Web Module to
-a Virtual Server].
-
-[[GSADG1005]]
-
-See Also
-
-For details, click the Help button in the Administration Console from
-the HTTP Listeners page.
-
-[[ggncs]][[GSADG00589]][[administering-virtual-servers]]
-
-Administering Virtual Servers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A virtual server is a virtual web server that serves content targeted
-for a specific URL. Multiple virtual servers can serve content using the
-same or different host names, port numbers, or IP addresses. The HTTP
-service directs incoming web requests to different virtual servers based
-on the URL.
-
-When you first install GlassFish Server, a default virtual server is
-created. You can assign a default virtual server to each new HTTP
-listener you create.
-
-Web applications and Java EE applications containing web components (web
-modules) can be assigned to virtual servers during deployment. A web
-module can be assigned to more than one virtual server, and a virtual
-server can have more than one web module assigned to it. If you deploy a
-web application and don't specify any assigned virtual servers, the web
-application is assigned to all currently defined virtual servers. If you
-then create additional virtual servers and want to assign existing web
-applications to them, you must redeploy the web applications. For more
-information about deployment, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open
-Source Edition Application Deployment Guide].
-
-You can define virtual server properties using the `asadmin set`
-command. For example:
-
-[source,oac_no_warn]
-----
-asadmin> set server-config.http-service.virtual-server.MyVS.property.sso-enabled="true"
-----
-
-Some virtual server properties can be set for a specific web
-application. For details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in
-GlassFish Server Open Source Edition Application Deployment Guide.
-
-The following topics are addressed here:
-
-* link:#ggnfr[To Create a Virtual Server]
-* link:#ggndw[To List Virtual Servers]
-* link:#giwkp[To Update a Virtual Server]
-* link:#ggnen[To Delete a Virtual Server]
-* link:#beaga[To Assign a Default Web Module to a Virtual Server]
-* link:#gixku[To Assign a Virtual Server to an Application or Module]
-* link:#glavy[To Set `JSESSIONIDSSO` Cookie Attributes]
-
-[[ggnfr]][[GSADG00472]][[to-create-a-virtual-server]]
-
-To Create a Virtual Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, when GlassFish Server starts, the following virtual servers
-are started automatically:
-
-* A virtual server named `server`, which hosts all user-defined web
-modules. +
-For development, testing, and deployment of web services in a
-non-production environment, `server` is often the only virtual server
-required.
-* A virtual server named `__asadmin`, which hosts all
-administration-related web modules (specifically, the Administration
-Console). This server is restricted, which means that you cannot deploy
-web modules to this virtual server.
-
-In a production environment, additional virtual servers provide hosting
-facilities for users and customers so that each appears to have its own
-web server, even though there is only one physical server.
-
-Use the `create-virtual-server` subcommand in remote mode to create the
-named virtual server.
-
-[[GSADG1006]]
-
-Before You Begin
-
-A virtual server must specify an existing HTTP listener. Because the
-virtual server cannot specify an HTTP listener that is already being
-used by another virtual server, create at least one HTTP listener before
-creating a new virtual server.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a virtual server by using the
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`] subcommand. +
-Information about properties for this subcommand is included in this
-help page.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00260]][[ggpha]]
-
-
-Example 13-16 Creating a Virtual Server
-
-This example creates a virtual server named `sampleServer` on
-`localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> create-virtual-server sampleServer
-Command create-virtual-server executed successfully.
-----
-
-[[GSADG1007]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-virutal-server` at the command line.
-
-[[ggndw]][[GSADG00473]][[to-list-virtual-servers]]
-
-To List Virtual Servers
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-virtual-servers` subcommand in remote mode to list the
-existing virtual servers.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List virtual servers by using the
-link:../reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand.
-
-[[GSADG00261]][[ggpgr]]
-
-
-Example 13-17 Listing Virtual Servers
-
-This example lists the virtual servers for `localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> list-virtual-servers
-sampleListener
-admin-listener
-http-listener-2
-http-listener-1
-Command list-http-listeners executed successfully.
-----
-
-[[GSADG1008]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-virutal-servers` at the command line.
-
-[[giwkp]][[GSADG00474]][[to-update-a-virtual-server]]
-
-To Update a Virtual Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  List virtual servers by using the
-link:../reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand.
-2.  Modify the values for the specified virtual server by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-The virtual server is identified by its dotted name.
-
-[[ggnen]][[GSADG00475]][[to-delete-a-virtual-server]]
-
-To Delete a Virtual Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-virtual-server` subcommand in remote mode to delete an
-existing virtual server.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List virtual servers by using the
-link:../reference-manual/list-virtual-servers.html#GSRFM00207[`list-virtual-servers`] subcommand.
-3.  If necessary, notify users that the virtual server is being deleted.
-4.  Delete a virtual server by using the
-link:../reference-manual/delete-virtual-server.html#GSRFM00113[`delete-virtual-server`] subcommand.
-5.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00262]][[ggpmd]]
-
-
-Example 13-18 Deleting a Virtual Server
-
-This example deletes the virtual server named `sampleServer` from
-`localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-virtual-server sampleServer
-Command delete-virtual-server executed successfully.
-----
-
-[[GSADG1009]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-virutal-server` at the command line.
-
-[[beaga]][[GSADG00772]][[to-assign-a-default-web-module-to-a-virtual-server]]
-
-To Assign a Default Web Module to a Virtual Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A default web module can be assigned to the default virtual server and
-to each new virtual server. To access the default web module for a
-virtual server, point the browser to the URL for the virtual server, but
-do not supply a context root. For example:
-
-[source,oac_no_warn]
-----
-http://myvserver:3184/
-----
-
-A virtual server with no default web module assigned serves HTML or
-JavaServer Pages ( JSP) content from its document root, which is usually
-domain-dir`/docroot`. To access this HTML or JSP content, point your
-browser to the URL for the virtual server, do not supply a context root,
-but specify the target file.
-
-For example:
-
-[source,oac_no_warn]
-----
-http://myvserver:3184/hellothere.jsp
-----
-
-[[gixku]][[GSADG00476]][[to-assign-a-virtual-server-to-an-application-or-module]]
-
-To Assign a Virtual Server to an Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can assign a virtual server to a deployed application or web module.
-
-[[GSADG1010]]
-
-Before You Begin
-
-The application or module must already be deployed. For more
-information, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide].
-
-1.  In the Administration Console, open the HTTP Service component under
-the relevant configuration.
-2.  Open the Virtual Servers component under the HTTP Service component.
-3.  Select the virtual server to which you want to assign a default web
-module.
-4.  Select the application or web module from the Default Web Module
-drop-down list. +
-For more information, see link:#beaga[To Assign a Default Web Module to
-a Virtual Server].
-
-[[glavy]][[GSADG00477]][[to-set-jsessionidsso-cookie-attributes]]
-
-To Set `JSESSIONIDSSO` Cookie Attributes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `sso-cookie-http-only` and `sso-cookie-secure` virtual server
-attributes to set the `HttpOnly` and `Secure` attributes of any
-`JSESSIONIDSSO` cookies associated with web applications deployed to the
-virtual server.
-
-Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to set the value of the
-`sso-cookie-http-only` and `sso-cookie-secure` virtual server
-attributes.
-
-The values supported for these attributes are as follows:
-
-`sso-cookie-http-only`::
-  A boolean value that specifies whether the `HttpOnly` attribute is
-  included in `JSESSIONIDSSO` cookies. When set to `true`, which is the
-  default, the `HttpOnly` attribute is included. When set to `false`,
-  the `HttpOnly` attribute is not included.
-`sso-cookie-secure`::
-  A string value that specifies whether the `Secure` attribute is
-  included in `JSESSIONIDSSO` cookies. Allowed values are as follows: +
-  * `true` — The `Secure` attribute is included.
-  * `false` — The `Secure` attribute is not included.
-  * `dynamic` — The `Secure` attribute setting is inherited from the
-  first session participating in SSO. This is the default value.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/javamail.adoc b/docs/administration-guide/src/main/jbake/content/javamail.adoc
deleted file mode 100644
index b1f823a..0000000
--- a/docs/administration-guide/src/main/jbake/content/javamail.adoc
+++ /dev/null
@@ -1,240 +0,0 @@
-type=page
-status=published
-title=Administering the JavaMail Service
-next=jms.html
-prev=orb.html
-~~~~~~
-Administering the JavaMail Service
-==================================
-
-[[GSADG00019]][[ablkr]]
-
-
-[[administering-the-javamail-service]]
-16 Administering the JavaMail Service
--------------------------------------
-
-GlassFish Server includes the JavaMail API along with JavaMail service
-providers that allow an application component to send email
-notifications over the Internet and to read email from IMAP and POP3
-mail servers.
-
-The following topics are addressed here:
-
-* link:#ggjsf[About JavaMail]
-* link:#giowr[Administering JavaMail Resources]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[ggjsf]][[GSADG00593]][[about-javamail]]
-
-About JavaMail
-~~~~~~~~~~~~~~
-
-The JavaMail API is a set of abstract APIs that model a mail system. The
-JavaMail API provides a platform-independent and protocol-independent
-framework to build mail and messaging applications and provide
-facilities for reading and sending electronic messages. Service
-providers implement particular protocols. Using the API you can add
-email capabilities to your applications. JavaMail provides access from
-Java applications to Internet Message Access Protocol (IMAP) and Simple
-Mail Transfer Protocol (SMTP) capable mail servers on your network or
-the Internet. The API does not provide mail server functionality; you
-must have access to a mail server to use JavaMail.
-
-The JavaMail API is implemented as an optional package in the Java
-platform and is also available as part of the Java EE platform.
-
-To learn more about the JavaMail API, consult the
-http://www.oracle.com/technetwork/java/javamail/[JavaMail web site] .
-
-[[giowr]][[GSADG00594]][[administering-javamail-resources]]
-
-Administering JavaMail Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When you create a mail session, the server-side components and
-applications are enabled to access JavaMail services with JNDI, using
-the session properties you assign for them. When creating a mail
-session, you can designate the mail hosts, the transport and store
-protocols, and the default mail user so that components that use
-JavaMail do not have to set these properties. Applications that are
-heavy email users benefit because GlassFish Server creates a single
-session object and makes the session available to any component that
-needs it.
-
-JavaMail settings such as the following can be specified:
-
-* JNDI Name. The unique name for the mail session. Use the naming
-sub-context prefix mail/ for JavaMail resources. For example:
-`mail/MySession`
-* Mail Host. The host name of the default mail server. The connect
-methods of the store and transport objects use this value if a
-protocol-specific host property is not supplied. The name must be
-resolvable to an actual host name.
-* Default User. The default user name to provide when connecting to a
-mail server. The connect methods of the store and transport objects use
-this value if a protocol-specific username property is not supplied.
-* Default Return Address. The email address of the default user, in the
-form: username@host.domain.
-* Description. A descriptive statement for the component.
-* Session. Indicates whether or not mail session is enabled or disabled
-at this time
-
-The following topics are addressed here:
-
-* link:#giowd[To Create a JavaMail Resource]
-* link:#giowq[To List JavaMail Resources]
-* link:#giwjw[To Update a JavaMail Resource]
-* link:#gioxj[To Delete a JavaMail Resource]
-
-[[giowd]][[GSADG00482]][[to-create-a-javamail-resource]]
-
-To Create a JavaMail Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-javamail-resource` subcommand in remote mode to create a
-JavaMail session resource. The JNDI name for a JavaMail session resource
-customarily includes the mail/ naming subcontext, For example:
-`mail/MyMailSession.`
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a JavaMail resource by using the
-link:../reference-manual/create-javamail-resource.html#GSRFM00035[`create-javamail-resource`] subcommand. +
-Information about the properties for the subcommand is included in this
-help page.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00267]][[gipfs]]
-
-
-Example 16-1 Creating a JavaMail Resource
-
-This example creates a JavaMail resource named `mail/MyMailSession`. The
-escape character (\) is used in the `--fromaddress` option to
-distinguish the dot (.) and at sign (@).
-
-[source,oac_no_warn]
-----
-asadmin> create-javamail-resource --mailhost localhost 
---mailuser sample --fromaddress sample\@sun\.com mail/MyMailSession 
-Command create-javamail-resource executed successfully.
-----
-
-[[GSADG1014]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-javamail-resource` at the command line.
-
-[[giowq]][[GSADG00483]][[to-list-javamail-resources]]
-
-To List JavaMail Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-javamail-resources` subcommand in remote mode to list the
-existing JavaMail session resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the JavaMail resources by using the
-link:../reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`] subcommand.
-
-[[GSADG00268]][[gipfe]]
-
-
-Example 16-2 Listing JavaMail Resources
-
-This example lists the JavaMail resources on `localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> list-javamail-resources 
-mail/MyMailSession
-Command list-javamail-resources executed successfuly.
-----
-
-[[GSADG1015]]
-
-See Also
-
-You can also view the full syntax and options of the subcommands by
-typing `asadmin help list-javamail-resources` at the command line.
-
-[[giwjw]][[GSADG00484]][[to-update-a-javamail-resource]]
-
-To Update a JavaMail Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  List the JavaMail resources by using the
-link:../reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`] subcommand.
-2.  Modify the values for the specified JavaMail source by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-The resource is identified by its dotted name.
-
-[[GSADG00269]][[giwjb]]
-
-
-Example 16-3 Updating a JavaMail Resource
-
-This example changes `joeserver` to `joe`.
-
-[source,oac_no_warn]
-----
-asadmin> set server.resources.mail-resource.mail/
-MyMailSession.user=joeserver.resources.mail-resource.mail/
-MyMailSession.user=joe
-Command set executed successfully.
-----
-
-[[gioxj]][[GSADG00485]][[to-delete-a-javamail-resource]]
-
-To Delete a JavaMail Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-javamail-resource` subcommands in remote mode to delete
-a JavaMail session resource.
-
-[[GSADG1016]]
-
-Before You Begin
-
-References to the specified resource must be removed before running the
-`delete-javamail-resource` subcommands.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the JavaMail resources by using the
-link:../reference-manual/list-javamail-resources.html#GSRFM00172[`list-javamail-resources`] subcommands.
-3.  Delete a JavaMail resource by using the
-link:../reference-manual/delete-javamail-resource.html#GSRFM00087[`delete-javamail-resource`] subcommands.
-4.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00270]][[gipcd]]
-
-
-Example 16-4 Deleting a JavaMail Resource
-
-This example deletes the JavaMail session resource named
-`mail/MyMailSession`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-javamail-resource mail/MyMailSession 
-Command delete-javamail-resource executed successfully.
-----
-
-[[GSADG1017]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-javamail-resource` at the command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/jdbc.adoc b/docs/administration-guide/src/main/jbake/content/jdbc.adoc
deleted file mode 100644
index f1d9887..0000000
--- a/docs/administration-guide/src/main/jbake/content/jdbc.adoc
+++ /dev/null
@@ -1,1745 +0,0 @@
-type=page
-status=published
-title=Administering Database Connectivity
-next=connectors.html
-prev=part-res-and-svcs-admin.html
-~~~~~~
-Administering Database Connectivity
-===================================
-
-[[GSADG00015]][[ablih]]
-
-
-[[administering-database-connectivity]]
-11 Administering Database Connectivity
---------------------------------------
-
-This chapter provides procedures for performing database connectivity
-tasks in the GlassFish Server Open Source Edition 5.0 environment by
-using the `asadmin` command-line utility.
-
-The following topics are addressed here:
-
-* link:#gipbp[About Database Connectivity]
-* link:#ggkon[Setting Up the Database]
-* link:#ggndx[Configuring Access to the Database]
-* link:#beamw[Configuration Specifics for JDBC Drivers]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-[[gipbp]][[GSADG00576]][[about-database-connectivity]]
-
-About Database Connectivity
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A database management system (DBMS) provides facilities for storing,
-organizing, and retrieving data. The information in databases is often
-described as persistent data because it is saved on disk and exists
-after the application process ends. Most business applications store
-data in relational databases. Applications can access database
-information by using the Java Database Connectivity (JDBC) API.
-
-The key elements of database connectivity are the following:
-
-* Database. The repository where data is stored for an enterprise. Java
-EE applications access relational databases through the JDBC API. For
-administration procedures, see link:#ggkon[Setting Up the Database].
-* JDBC Connection Pool. A JDBC connection pool is a group of reusable
-connections for a particular database. For administration procedures,
-see link:#gharo[Administering JDBC Connection Pools].
-* JDBC Resource. A JDBC resource (data source) provides applications
-with a means of connecting to a database. To create a JDBC resource,
-specify the connection pool with which it is associated. Multiple JDBC
-resources can specify a single connection pool. A JDBC resource is
-identified by its Java Naming and Directory Interface (JNDI) name. For
-administration procedures, see link:#ggndp[Administering JDBC
-Resources].
-* JDBC Driver. A database driver is a software component that enables a
-Java application to interact with a database connectivity API . Each
-database requires its own driver. For administration procedures, see
-link:#ghatb[Integrating the JDBC Driver].
-
-At runtime, the following sequence occurs when an application connects
-to a database:
-
-1.  The application gets the JDBC resource associated with the database
-by making a call through the JNDI API. +
-Using the JNDI name of the resource, the naming and directory service
-locates the JDBC resource. Each JDBC resource specifies a connection
-pool.
-2.  Using the JDBC resource, the application gets a database connection. +
-GlassFish Server retrieves a physical connection from the connection
-pool that corresponds to the database. The pool defines connection
-attributes such as the database name (URL), user name, and password.
-3.  After the database connection is established, the application can
-read, modify, and add data to the database. +
-The application accesses the database by making calls to the JDBC API.
-The JDBC driver translates the application's JDBC calls into the
-protocol of the database server.
-4.  When the application is finished accessing the database, the
-application closes the connection and returns the connection to the
-connection pool.
-
-[[ggkon]][[GSADG00577]][[setting-up-the-database]]
-
-Setting Up the Database
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Most applications use relational databases to store, organize, and
-retrieve data. Applications access relational databases through the Java
-Database Connectivity (JDBC) API.
-
-The following topics are addressed here:
-
-* link:#gharl[To Install the Database and Database Driver]
-* link:#ggndz[To Start the Database]
-* link:#ggnbw[To Stop the Database]
-* link:#ghmbq[Apache Derby Database Utility Scripts]
-
-[[gharl]][[GSADG00416]][[to-install-the-database-and-database-driver]]
-
-To Install the Database and Database Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Install a supported database product. +
-To see the current list of database products supported by GlassFish
-Server, refer to the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition
-Release Notes].
-2.  Install a supported JDBC driver for the database product. +
-For a list of drivers supported by GlassFish Server, see
-link:#beamw[Configuration Specifics for JDBC Drivers].
-3.  Make the JDBC driver JAR file accessible to the domain
-administration server (DAS). +
-See link:#ghatb[Integrating the JDBC Driver].
-4.  Create the database. +
-The application provider usually delivers scripts for creating and
-populating the database.
-
-[[GSADG949]]
-
-Next Steps
-
-You are now ready to create a connection pool for the database, and a
-JDBC resource that points to the connection pool. See link:#ggnfv[To
-Create a JDBC Connection Pool] and link:#ggnda[To Create a JDBC
-Resource]. The final step is to integrate the JDBC driver into an
-administrative domain as described in link:#ghatb[Integrating the JDBC
-Driver].
-
-[[ggndz]][[GSADG00417]][[to-start-the-database]]
-
-To Start the Database
-^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server includes an implementation of the Apache Derby
-database, however, you can use any JDBC-compliant database. The database
-is not started automatically when you start GlassFish Server, so if you
-have applications that require a database, you need to start Apache
-Derby database manually by using the local `start-database` subcommand.
-
-Start the database by using the link:../reference-manual/start-database.html#GSRFM00234[`start-database`]
-subcommand.
-
-When the database server starts, or a client connects to it
-successfully, the following files are created at the location that is
-specified by the `--dbhome` option:
-
-* The `derby.log` file contains the database server process log along
-with its standard output and standard error information.
-* The database files contain your schema (for example, database tables).
-
-[[GSADG00212]][[ggooc]]
-
-
-Example 11-1 Starting a Database
-
-This example starts the Apache Derby database on the host host1 and port
-5001.
-
-[source,oac_no_warn]
-----
-asadmin> start-database --dbhost host1 --dbport 5001 --terse=true
-Starting database in the background. 
-Log redirected to /opt/SUNWappserver/databases/javadb.log.
-Command start-database executed successfully.
-----
-
-[[GSADG950]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help start-database` at the command line.
-
-[[ggnbw]][[GSADG00418]][[to-stop-the-database]]
-
-To Stop the Database
-^^^^^^^^^^^^^^^^^^^^
-
-Use the local `stop-database` subcommand to stop the Apache Derby
-database on a specified port. A single host can have multiple database
-server processes running on different ports.
-
-1.  If necessary, notify users that the database is being stopped.
-2.  Stop the database by using the link:../reference-manual/stop-database.html#GSRFM00239[`stop-database`]
-subcommand.
-
-[[GSADG00213]][[ggorc]]
-
-
-Example 11-2 Stopping a Database
-
-This example stops the Apache Derby database on port 5001 of
-`localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> stop-database --dbhost=localhost --dbport=5001
-onnection obtained for host: localhost, port number 5001.
-Apache Derby Network Server - 10.2.2.1 - (538595) shutdown 
-at 2008-10-17 23:34:2 7.218 GMT
-Command stop-database executed successfully.
-----
-
-[[GSADG951]]
-
-Troubleshooting
-
-For a laptop that roams between networks, you might have trouble
-shutting down the database. If you start the Apache Derby database and
-then change your IP address, you will not be able to stop the Apache
-Derby database unless you add a specific `--dbhost` argument. For
-example, if you run `asadmin start-database` `dbhost` `= 0.0.0.0`, and
-then disconnect Ethernet and switch to wifi, you should run a command
-similar to the following to stop the database:
-
-`asadmin stop-database` `dbhost` `localhost`
-
-[[GSADG952]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help stop-database` at the command line.
-
-[[ghmbq]][[GSADG00744]][[apache-derby-database-utility-scripts]]
-
-Apache Derby Database Utility Scripts
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Apache Derby database configuration that is available for use with
-GlassFish Server includes scripts that can help you use the Apache Derby
-database. The following scripts are available in the
-as-install`/javadb/bin` directory:
-
-`startNetworkServer,startNetworkServer.bat`::
-  Script to start the network server
-`stopNetworkServer,stopNetworkServer.bat`::
-  Script to stop the network server
-`ij,ij.bat`::
-  Interactive JDBC scripting tool
-`dblook,dblook.bat`::
-  Script to view all or part of the DDL for a database
-`sysinfo, sysinfo.bat`::
-  Script to display versioning information about the Apache Derby
-  database environment
-`NetworkServerControl,NetworkServerControl.bat`::
-  Script to execute commands on the `NetworkServerControl` API
-
-[[ghmbj]][[GSADG00419]][[to-configure-your-environment-to-run-the-apache-derby-database-utility-scripts]]
-
-To Configure Your Environment to Run the Apache Derby Database Utility Scripts
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Ensure that the `JAVA_HOME` environment variable specifies the
-directory where the JDK is installed.
-2.  Set the `JAVADB_HOME` environment variable to point to the
-as-install`/javadb` directory.
-
-[[GSADG953]]
-
-See Also
-
-For more information about these utilities, see the following
-documentation:
-
-* http://db.apache.org/derby/docs/10.13/tools/[Apache Derby Tools and
-Utilities Guide]
-* http://db.apache.org/derby/docs/10.13/adminguide/[Derby Server and
-Administration Guide]
-
-[[ggndx]][[GSADG00578]][[configuring-access-to-the-database]]
-
-Configuring Access to the Database
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-After establishing the database, you are ready to set up access for
-GlassFish Server applications. The high-level steps include creating a
-JDBC connection pool, creating a JDBC resource for the connection pool,
-and integrating a JDBC driver into an administrative domain.
-
-Instructions for performing these steps are contained in the following
-sections:
-
-* link:#gharo[Administering JDBC Connection Pools]
-* link:#ggndp[Administering JDBC Resources]
-* link:#gkudf[Enabling the `jdbc/__default` Resource in a Clustered
-Environment]
-* link:#ghatb[Integrating the JDBC Driver]
-
-[[gharo]][[GSADG00745]][[administering-jdbc-connection-pools]]
-
-Administering JDBC Connection Pools
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A JDBC connection pool is a group of reusable connections for a
-particular database. Because creating each new physical connection is
-time consuming, GlassFish Server maintains a pool of available
-connections. When an application requests a connection, it obtains one
-from the pool. When an application closes a connection, the connection
-is returned to the pool. JDBC connection pools can be globally
-accessible or be scoped to an enterprise application, web module, EJB
-module, connector module or application client module, as described in
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-A JDBC resource is created by specifying the connection pool with which
-the resource is associated. Multiple JDBC resources can specify a single
-connection pool. The properties of connection pools can vary with
-different database vendors. Some common properties are the database name
-(URL), the user name, and the password.
-
-The following tasks and information are used to administer JDBC
-connection pools:
-
-* link:#ggnfv[To Create a JDBC Connection Pool]
-* link:#ggnby[To List JDBC Connection Pools]
-* link:#ggnwn[To Contact (Ping) a Connection Pool]
-* link:#gjiqp[To Reset (Flush) a Connection Pool]
-* link:#giosk[To Update a JDBC Connection Pool]
-* link:#ggngb[To Delete a JDBC Connection Pool]
-* link:#gktdi[Configuring Specific JDBC Connection Pool Features]
-
-[[ggnfv]][[GSADG00420]][[to-create-a-jdbc-connection-pool]]
-
-To Create a JDBC Connection Pool
-++++++++++++++++++++++++++++++++
-
-Use the `create-jdbc-connection-pool` subcommand in remote mode to
-register a new JDBC connection pool with the specified JDBC connection
-pool name. A JDBC connection pool or a connector connection pool can be
-created with authentication. You can either use a subcommand option to
-specify user, password, or other connection information using the
-`asadmin` utility, or specify the connection information in the XML
-descriptor file.
-
-One connection pool is needed for each database, possibly more depending
-on the application. When you are building the connection pool, certain
-data specific to the JDBC driver and the database vendor is required.
-You can find some of the following specifics in
-link:#beamw[Configuration Specifics for JDBC Drivers]:
-
-* Database vendor name
-* Resource type, such as `javax.sql.DataSource` (local transactions
-only) `javax.sql.XADataSource` (global transactions)
-* Data source class name
-* Required properties, such as the database name (URL), user name, and
-password
-
-Creating a JDBC connection pool is a dynamic event and does not require
-server restart. However, there are some parameters that do require
-server restart. See link:overview.html#ghciy[Configuration Changes That
-Require Restart].
-
-[[GSADG954]]
-
-Before You Begin
-
-Before creating the connection pool, you must first install and
-integrate the database and its associated JDBC driver. For instructions,
-see link:#ggkon[Setting Up the Database].
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create the JDBC connection pool by using the
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`] subcommand.
-3.  If needed, restart the server. +
-Some parameters require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart].
-
-[[GSADG00214]][[ggrgh]]
-
-
-Example 11-3 Creating a JDBC Connection Pool
-
-This example creates a JDBC connection pool named `sample_derby_pool` on
-`localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jdbc-connection-pool 
---datasourceclassname org.apache.derby.jdbc.ClientDataSource 
---restype javax.sql.XADataSource 
---property portNumber=1527:password=APP:user=APP:serverName=
-localhost:databaseName=sun-appserv-samples:connectionAttribut
-es=\;create\\=true sample_derby_pool
-Command create-jdbc-connection-pool executed successfully.
-----
-
-[[GSADG955]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-jdbc-connection-pool` at the command line.
-
-[[ggnby]][[GSADG00421]][[to-list-jdbc-connection-pools]]
-
-To List JDBC Connection Pools
-+++++++++++++++++++++++++++++
-
-Use the `list-jdbc-connection-pools` subcommand in remote mode to list
-all existing JDBC connection pools.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the JDBC connection pools by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`] subcommand.
-
-[[GSADG00215]][[ggpcf]]
-
-
-Example 11-4 Listing JDBC Connection Pools
-
-This example lists the JDBC connection pools that are on `localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> list-jdbc-connection-pools
-sample_derby_pool2
-poolA
-__TimerPool
-DerbyPool
-sample_derby_pool
-Command list-jdbc-connection-pools executed successfully.
-----
-
-[[GSADG956]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-jdbc-connection-pools` at the command line.
-
-[[ggnwn]][[GSADG00422]][[to-contact-ping-a-connection-pool]]
-
-To Contact (Ping) a Connection Pool
-+++++++++++++++++++++++++++++++++++
-
-Use the `ping-connection-pool` subcommand in remote mode to test if a
-connection pool is usable. For example, if you create a new JDBC
-connection pool for an application that is expected to be deployed
-later, you can test the JDBC pool with this subcommand before the
-application is deployed. Running a ping will force the creation of the
-pool if it hasn't already been created.
-
-[[GSADG957]]
-
-Before You Begin
-
-Before you can contact a connection pool, the connection pool must be
-created with authentication, and the server or database must be running.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Ping a connection pool by using the
-link:../reference-manual/ping-connection-pool.html#GSRFM00214[`ping-connection-pool`] subcommand.
-
-[[GSADG00216]][[ggpcs]]
-
-
-Example 11-5 Contacting a Connection Pool
-
-This example tests to see if the `DerbyPool` connection pool is usable.
-
-[source,oac_no_warn]
-----
-asadmin> ping-connection-pool DerbyPool
-Command ping-connection-pool executed successfully
-----
-
-[[GSADG958]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help ping-connection-pool` at the command line.
-
-You can also specify that a JDBC connection pool is automatically tested
-when created or reconfigured by setting its `--ping` option to `true`
-(the default is `false`). See link:#ggnfv[To Create a JDBC Connection
-Pool] or link:#giosk[To Update a JDBC Connection Pool].
-
-[[gjiqp]][[GSADG00423]][[to-reset-flush-a-connection-pool]]
-
-To Reset (Flush) a Connection Pool
-++++++++++++++++++++++++++++++++++
-
-Use the `flush-connection-pool` in remote mode to reinitialize all
-connections established in the specified connection pool without the
-need for reconfiguring the pool. Connection pool reconfiguration can
-result in application redeployment, which is a time-consuming operation.
-The JDBC connection pool or connector connection pool is reset to its
-initial state. Any existing live connections are destroyed, which means
-that the transactions associated with these connections are lost and
-must be retried. The subcommand then recreates the initial connections
-for the pool, and restores the pool to its steady pool size.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Reset a connection pool by using
-theolink:GSRFM00135[`flush-connection-pool`] subcommand.
-
-[[GSADG00217]][[gjirk]]
-
-
-Example 11-6 Resetting (Flushing) a Connection Pool
-
-This example resets the JDBC connection pool named `__TimerPool` to its
-steady pool size.
-
-[source,oac_no_warn]
-----
-asadmin> flush-connection-pool __TimerPool 
-Command flush-connection-pool executed successfully.
-----
-
-[[GSADG959]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help flush-connection-pool` at the command line.
-
-[[giosk]][[GSADG00424]][[to-update-a-jdbc-connection-pool]]
-
-To Update a JDBC Connection Pool
-++++++++++++++++++++++++++++++++
-
-You can change all of the settings for an existing pool except its name.
-Use the `get` and `set` subcommands to view and change the values of the
-JDBC connection pool properties.
-
-1.  List the JDBC connection pools by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`] subcommand.
-2.  View the attributes of the JDBC connection pool by using the get
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin get resources.jdbc-connection-pool.DerbyPool.property
-----
-3.  Set the attribute of the JDBC connection pool by using the set
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.DerbyPool.steady-pool-size=9
-----
-4.  If needed, restart the server. +
-Some parameters require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart].
-
-[[GSADG960]]
-
-See Also
-
-For information about how to tune a connection pool, see the
-link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server Open Source Edition Performance Tuning
-Guide].
-
-[[ggngb]][[GSADG00425]][[to-delete-a-jdbc-connection-pool]]
-
-To Delete a JDBC Connection Pool
-++++++++++++++++++++++++++++++++
-
-Use the `delete-jdbc-connection-pool` subcommand in remote mode to
-delete an existing JDBC connection pool. Deleting a JDBC connection pool
-is a dynamic event and does not require server restart.
-
-[[GSADG961]]
-
-Before You Begin
-
-Before deleting a JDBC connection pool, all associations to the resource
-must be removed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the JDBC connection pools by using the
-link:../reference-manual/list-jdbc-connection-pools.html#GSRFM00173[`list-jdbc-connection-pools`] subcommand.
-3.  If necessary, notify users that the JDBC connection pool is being
-deleted.
-4.  Delete the connection pool by using the
-link:../reference-manual/delete-jdbc-connection-pool.html#GSRFM00088[`delete-jdbc-connection-pool`] subcommand.
-
-[[GSADG00218]][[ggpis]]
-
-
-Example 11-7 Deleting a JDBC Connection Pool
-
-This example deletes the JDBC connection pool named `DerbyPool`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jdbc-connection-pool jdbc/DerbyPool
-Command delete-jdbc-connection-pool executed successfully.
-----
-
-[[GSADG962]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-jdbc-connection-pool` at the command line.
-
-[[gktdi]][[GSADG00670]][[configuring-specific-jdbc-connection-pool-features]]
-
-Configuring Specific JDBC Connection Pool Features
-++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In GlassFish Server, JDBC Connection Pools support a variety of features
-to simplify administration, monitoring and performance tuning. The
-following topics address several of these features:
-
-* link:#gktcv[Transparent Pool Reconfiguration]
-* link:#gkter[Using an Initialization Statement]
-* link:#gktcc[Setting a Statement Timeout]
-* link:#gktec[Statement Leak Detection and Leaked Statement Reclamation]
-* link:#gktej[Statement Caching]
-* link:#gktbu[Statement Tracing]
-
-[[gktcv]][[GSADG00085]][[transparent-pool-reconfiguration]]
-
-Transparent Pool Reconfiguration
-
-When the properties or attributes of a JDBC connection pool are changed,
-the connection pool is destroyed and re-created. Normally, applications
-using the connection pool must be redeployed as a consequence. This
-restriction can be avoided by enabling transparent JDBC connection pool
-reconfiguration. When this feature is enabled, applications do not need
-to be redeployed. Instead, requests for new connections are blocked
-until the reconfiguration operation completes. Connection requests from
-any in-flight transactions are served using the old pool configuration
-so as to complete the transaction. Then, connections are created using
-the pool's new configuration, and any blocked connection requests are
-served with connections from the re-created pool.
-
-To enable transparent JDBC connection pool reconfiguration, set the
-`dynamic-reconfiguration-wait-timeout-in-seconds` property of the JDBC
-connection pool to a positive, nonzero value in one of the following
-ways:
-
-* Add it as a property in the Edit JDBC Connection Pool Properties page
-in the Administration Console. For more information, click the Help
-button in the Administration Console.
-* Specify it using the `--property` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Set it using the `set` subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.property.dynamic-reconfiguration-wait-timeout-in-seconds=15
-----
-
-This property specifies the time in seconds to wait for in-use
-connections to close and in-flight transactions to complete. Any
-connections in use or transaction in flight past this time must be
-retried.
-
-[[gkter]][[GSADG00086]][[using-an-initialization-statement]]
-
-Using an Initialization Statement
-
-You can specify a statement that executes each time a physical
-connection to the database is created (not reused) from a JDBC
-connection pool. This is useful for setting request or session specific
-properties and is suited for homogeneous requests in a single
-application. Set the Init SQL attribute of the JDBC connection pool to
-the SQL string to be executed in one of the following ways:
-
-* Enter an Init SQL value in the Edit Connection Pool Advanced
-Attributes page in the Administration Console. For more information,
-click the Help button in the Administration Console.
-* Specify the `--initsql` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Specify the `init-sql` option in the `asadmin set` command. For
-example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.init-sql="sql-string"
-----
-
-[[gktcc]][[GSADG00087]][[setting-a-statement-timeout]]
-
-Setting a Statement Timeout
-
-An abnormally long running JDBC query executed by an application may
-leave it in a hanging state unless a timeout is explicitly set on the
-statement. Setting a statement timeout guarantees that all queries
-automatically time out if not completed within the specified period.
-When statements are created, the `queryTimeout` is set according to the
-statement timeout setting. This works only when the underlying JDBC
-driver supports `queryTimeout` for `Statement`, `PreparedStatement`,
-`CallableStatement`, and `ResultSet`.
-
-You can specify a statement timeout in the following ways:
-
-* Enter a Statement Timeout value in the Edit Connection Pool Advanced
-Attributes page in the Administration Console. For more information,
-click the Help button in the Administration Console.
-* Specify the `--statementtimeout` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-
-[[gktec]][[GSADG00088]][[statement-leak-detection-and-leaked-statement-reclamation]]
-
-Statement Leak Detection and Leaked Statement Reclamation
-
-If statements are not closed by an application after use, it is possible
-for the application to run out of cursors. Enabling statement leak
-detection causes statements to be considered as leaked if they are not
-closed within a specified period. Additionally, leaked statements can
-reclaimed automatically.
-
-To enable statement leak detection, set Statement Leak Timeout In
-Seconds for the JDBC connection pool to a positive, nonzero value in one
-of the following ways:
-
-* Specify the `--statementleaktimeout` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Specify the `statement-leak-timeout-in-seconds` option in the `set`
-subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-timeout-in-seconds=300
-----
-
-When selecting a value for Statement Leak Timeout In Seconds, make sure
-that:
-
-* It is less than the Connection Leak Timeout; otherwise, the connection
-could be closed before the statement leak is recognized.
-* It is greater than the Statement Timeout; otherwise, a long running
-query could be mistaken as a statement leak.
-
-After enabling statement leak detection, enable leaked statement
-reclamation by setting Reclaim Leaked Statements for the JDBC connection
-pool to a `true` value in one of the following ways:
-
-* Specify the `--statementleakreclaim=true` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Specify the `statement-leak-reclaim` option in the `set` subcommand.
-For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-reclaim=true
-----
-
-[[gktej]][[GSADG00089]][[statement-caching]]
-
-Statement Caching
-
-Statement caching stores statements, prepared statements, and callable
-statements that are executed repeatedly by applications in a cache,
-thereby improving performance. Instead of the statement being prepared
-each time, the cache is searched for a match. The overhead of parsing
-and creating new statements each time is eliminated.
-
-Statement caching is usually a feature of the JDBC driver. The GlassFish
-Server provides caching for drivers that do not support caching. To
-enable this feature, set the Statement Cache Size for the JDBC
-connection pool in one of the following ways:
-
-* Enter a Statement Cache Size value in the Edit Connection Pool
-Advanced Attributes page in the Administration Console. For more
-information, click the Help button in the Administration Console.
-* Specify the `--statementcachesize` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Specify the `statement-cache-size` option in the `asadmin set`
-command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.statement-cache-size=10
-----
-
-By default, this attribute is set to zero and the statement caching is
-turned off. To enable statement caching, you can set any positive
-nonzero value. The built-in cache eviction strategy is LRU-based (Least
-Recently Used). When a connection pool is flushed, the connections in
-the statement cache are recreated.
-
-[[gktbu]][[GSADG00090]][[statement-tracing]]
-
-Statement Tracing
-
-You can trace the SQL statements executed by applications that use a
-JDBC connection pool. Set the SQL Trace Listeners attribute to a
-comma-separated list of trace listener implementation classes in one of
-the following ways:
-
-* Enter an SQL Trace Listeners value in the Edit Connection Pool
-Advanced Attributes page in the Administration Console. For more
-information, click the Help button in the Administration Console.
-* Specify the `--sqltracelisteners` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Specify the `sql-trace-listeners` option in the `asadmin set` command.
-For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.sql-trace-listeners=listeners
-----
-
-The GlassFish Server provides a public interface,
-org.glassfish.api.jdbc.SQLTraceListener , that implements a means of
-recording `SQLTraceRecord` objects. To make custom implementations of
-this interface available to the GlassFish Server, place the
-implementation classes in as-install`/lib`.
-
-The GlassFish Server provides an SQL tracing logger to log the SQL
-operations in the form of `SQLTraceRecord` objects in the `server.log`
-file. The module name under which the SQL operation is logged is
-`jakarta.enterprise.resource.sqltrace`. SQL traces are logged as FINE
-messages along with the module name to enable easy filtering of the SQL
-logs. A sample SQL trace record looks like this:
-
-[source,oac_no_warn]
-----
-[#|2009-11-27T15:46:52.202+0530|FINE|glassfishv3.0|jakarta.enterprise.resource.sqltrace.com.sun.gjc.util
-|_ThreadID=29;_ThreadName=Thread-1;ClassName=com.sun.gjc.util.SQLTraceLogger;MethodName=sqlTrace;
-|ThreadID=77 | ThreadName=p: thread-pool-1; w: 6 | TimeStamp=1259317012202 
-| ClassName=com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40 | MethodName=executeUpdate 
-| arg[0]=insert into table1(colName) values(100) | arg[1]=columnNames | |#]
-----
-
-This trace shows that an `executeUpdate(String sql, String columnNames)`
-operation is being done.
-
-When SQL statement tracing is enabled and JDBC connection pool
-monitoring is enabled, GlassFish Server maintains a tracing cache of
-recent queries and their frequency of use. The following JDBC connection
-pool properties can be configured to control this cache and the
-monitoring statistics available from it:
-
-`time-to-keep-queries-in-minutes`::
-  Specifies how long in minutes to keep a query in the tracing cache,
-  tracking its frequency of use. The default value is 5 minutes.
-`number-of-top-queries-to-report`::
-  Specifies how many of the most used queries, in frequency order, are
-  listed the monitoring report. The default value is 10 queries.
-
-Set these parameters in one of the following ways:
-
-* Add them as properties in the Edit JDBC Connection Pool Properties
-page in the Administration Console. For more information, click the Help
-button in the Administration Console.
-* Specify them using the `--property` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Set them using the `set` subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.property.time-to-keep-queries-in-minutes=10
-----
-
-[[ggndp]][[GSADG00746]][[administering-jdbc-resources]]
-
-Administering JDBC Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A JDBC resource, also known as a data source, provides an application
-with a means of connecting to a database. Typically, you create a JDBC
-resource for each database that is accessed by the applications deployed
-in a domain. Multiple JDBC resources can be specified for a database.
-JDBC resources can be globally accessible or be scoped to an enterprise
-application, web module, EJB module, connector module or application
-client module, as described in "link:../application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped
-Resources]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-A JDBC resource is created by specifying the connection pool with which
-the resource will be associated . Use a unique Java Naming and Directory
-Interface (JNDI) name to identify the resource. For example, the JNDI
-name for the resource of a payroll database might be
-`java:comp/env/jdbc/payrolldb`.
-
-The Java EE standard specifies that certain default resources be made
-available to applications, and defines specific JNDI names for these
-default resources. GlassFish Server makes these names available through
-the use of logical JNDI names, which map Java EE standard JNDI names to
-specific GlassFish Server resources. For JDBC resources, the Java EE
-standard name `java:comp/DefaultDataSource` is mapped to the
-`jdbc/__default` resource.
-
-The following tasks and information are used to administer JDBC
-resources:
-
-* link:#ggnda[To Create a JDBC Resource]
-* link:#ggnhl[To List JDBC Resources]
-* link:#giwjv[To Update a JDBC Resource]
-* link:#ggnhz[To Delete a JDBC Resource]
-
-[[ggnda]][[GSADG00426]][[to-create-a-jdbc-resource]]
-
-To Create a JDBC Resource
-+++++++++++++++++++++++++
-
-Use the `create-jdbc-resource` subcommand in remote mode to create a
-JDBC resource. Creating a JDBC resource is a dynamic event and does not
-require server restart.
-
-Because all JNDI names are in the `java:comp/env` subcontext, when
-specifying the JNDI name of a JDBC resource in the Administration
-Console, use only the `jdbc/`name format. For example, a payroll
-database might be specified as `jdbc/payrolldb`.
-
-[[GSADG963]]
-
-Before You Begin
-
-Before creating a JDBC resource, you must first create a JDBC connection
-pool. For instructions, see link:#ggnfv[To Create a JDBC Connection
-Pool].
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a JDBC resource by using the
-link:../reference-manual/create-jdbc-resource.html#GSRFM00037[`create-jdbc-resource`] subcommand. +
-Information about properties for the subcommand is included in this help
-page.
-3.  If necessary, notify users that the new resource has been created.
-
-[[GSADG00219]][[ggplj]]
-
-
-Example 11-8 Creating a JDBC Resource
-
-This example creates a JDBC resource named `DerbyPool`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jdbc-resource --connectionpoolid DerbyPool jdbc/DerbyPool
-Command create-jdbc-resource executed successfully.
-----
-
-[[GSADG964]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-jdbc-resource` at the command line.
-
-[[ggnhl]][[GSADG00427]][[to-list-jdbc-resources]]
-
-To List JDBC Resources
-++++++++++++++++++++++
-
-Use the `list-jdbc-resources` subcommand in remote mode to list the
-existing JDBC resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List JDBC resources by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`] subcommand.
-
-[[GSADG00220]][[ggpgi]]
-
-
-Example 11-9 Listing JDBC Resources
-
-This example lists JDBC resources for `localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> list-jdbc-resources
-jdbc/__TimerPool
-jdbc/DerbyPool
-jdbc/__default
-jdbc1
-Command list-jdbc-resources executed successfully.
-----
-
-[[GSADG965]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-jdbc-resources` at the command line.
-
-[[giwjv]][[GSADG00428]][[to-update-a-jdbc-resource]]
-
-To Update a JDBC Resource
-+++++++++++++++++++++++++
-
-You can enable or disable a JDBC resource by using the `set` subcommand.
-The JDBC resource is identified by its dotted name.
-
-1.  List JDBC resources by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`] subcommand.
-2.  Modify the values for the specified JDBC resource by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-For example:
-
-[[GSADG00221]][[gjkrz]]
-
-
-Example 11-10 Updating a JDBC Resource
-
-This example changes the `res1` enabled setting to false.
-
-[source,oac_no_warn]
-----
-asadmin>set resources.jdbc-resource.res1.enabled=false
-----
-
-[[ggnhz]][[GSADG00429]][[to-delete-a-jdbc-resource]]
-
-To Delete a JDBC Resource
-+++++++++++++++++++++++++
-
-Use the `delete-jdbc-resource` subcommand in remote mode to delete an
-existing JDBC resource. Deleting a JDBC resource is a dynamic event and
-does not require server restart.
-
-[[GSADG966]]
-
-Before You Begin
-
-Before deleting a JDBC resource, all associations with this resource
-must be removed.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List JDBC resources by using the
-link:../reference-manual/list-jdbc-resources.html#GSRFM00174[`list-jdbc-resources`] subcommand.
-3.  If necessary, notify users that the JDBC resource is being deleted.
-4.  Delete a JDBC resource by using the
-link:../reference-manual/delete-jdbc-resource.html#GSRFM00089[`delete-jdbc-resource`] subcommand.
-
-[[GSADG00222]][[ggpga]]
-
-
-Example 11-11 Deleting a JDBC Resource
-
-This example deletes a JDBC resource named `DerbyPool`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jdbc-resource jdbc/DerbyPool
-Command delete-jdbc-resource executed successfully.
-----
-
-[[GSADG967]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-jdbc-resource` at the command line.
-
-[[gkudf]][[GSADG00747]][[enabling-the-jdbc__default-resource-in-a-clustered-environment]]
-
-Enabling the `jdbc/__default` Resource in a Clustered Environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server 5.0 includes a preconfigured JDBC resource with the
-JNDI name `jdbc/__default`. This `jdbc/__default` resource is not
-enabled by default, so you need to explicitly enable it if you want to
-use it in a cluster.
-
-[[gkubj]][[GSADG00430]][[to-enable-the-jdbc__default-resource-for-a-clustered-environment]]
-
-To Enable the `jdbc/__default` Resource for a Clustered Environment
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Instructions for creating JDBC resources in general are provided in
-link:#ggnda[To Create a JDBC Resource]. Use the following procedure to
-enable the preconfigured `jdbc/__default` resource for a clustered
-GlassFish Server environment.
-
-1.  Create the `jdbc/__default` resource reference for the cluster. +
-[source,oac_no_warn]
-----
-asadmin create-resource-ref --target cluster-name jdbc/__default
-----
-2.  Enable the resource on the DAS that manages the cluster. +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.DerbyPool.property.serverName=DAS-machine-name
-----
-This step is only required if the cluster includes remote instances.
-3.  Restart the DAS and the target cluster(s). +
-[source,oac_no_warn]
-----
-asadmin stop-cluster cluster-name
-asadmin stop-domain domain-name
-asadmin start-domain domain-name
-asadmin start-cluster cluster-name
-----
-
-[[ghatb]][[GSADG00748]][[integrating-the-jdbc-driver]]
-
-Integrating the JDBC Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To use JDBC features, you must choose a JDBC driver to work with the
-GlassFish Server, then you must set up the driver. This section covers
-these topics:
-
-* link:#gkpdj[Supported Database Drivers]
-* link:#gkpci[Making the JDBC Driver JAR Files Accessible]
-* link:#gkpfj[Automatic Detection of Installed Drivers]
-
-[[gkpdj]][[GSADG00671]][[supported-database-drivers]]
-
-Supported Database Drivers
-++++++++++++++++++++++++++
-
-Supported JDBC drivers are those that have been fully tested by Oracle.
-For a list of the JDBC drivers currently supported by the GlassFish
-Server, see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release
-Notes]. For configurations of supported and other drivers, see
-link:#beamw[Configuration Specifics for JDBC Drivers].
-
-
-[NOTE]
-=======================================================================
-
-Because the drivers and databases supported by the GlassFish Server are
-constantly being updated, and because database vendors continue to
-upgrade their products, always check with Oracle technical support for
-the latest database support information.
-
-=======================================================================
-
-
-[[gkpci]][[GSADG00672]][[making-the-jdbc-driver-jar-files-accessible]]
-
-Making the JDBC Driver JAR Files Accessible
-+++++++++++++++++++++++++++++++++++++++++++
-
-To integrate the JDBC driver into a GlassFish Server domain, copy the
-JAR files into the domain-dir`/lib` directory, then restart the server.
-This makes classes accessible to all applications or modules deployed on
-servers that share the same configuration. For more information about
-GlassFish Server class loaders, see "link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in
-GlassFish Server Open Source Edition Application Development Guide.
-
-If you are using an Oracle database with EclipseLink extensions, copy
-the JAR files into the domain-dir`/lib/ext` directory, then restart the
-server. For details, see "link:../application-development-guide/jpa.html#GSDVG00390[Oracle Database
-Enhancements]" in GlassFish Server Open Source Edition Application
-Development Guide.
-
-[[gkpfj]][[GSADG00673]][[automatic-detection-of-installed-drivers]]
-
-Automatic Detection of Installed Drivers
-++++++++++++++++++++++++++++++++++++++++
-
-The Administration Console detects installed JDBC Drivers automatically
-when you create a JDBC connection pool. To create a JDBC connection pool
-using the Administration Console, open the Resources component, open the
-JDBC component, select Connection Pools, and click on the New button.
-This displays the New JDBC Connection Pool page.
-
-Based on the Resource Type and Database Vendor you select on the New
-JDBC Connection Pool page, data source or driver implementation class
-names are listed in the Datasource Classname or Driver Classname field
-when you click on the Next button. When you choose a specific
-implementation class name on the next page, additional properties
-relevant to the installed JDBC driver are displayed in the Additional
-Properties section.
-
-[[beamw]][[GSADG00579]][[configuration-specifics-for-jdbc-drivers]]
-
-Configuration Specifics for JDBC Drivers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server is designed to support connectivity to any database
-management system by using a corresponding JDBC driver. Configuration
-information is provided for these JDBC drivers:
-
-* link:#beanc[IBM DB2 Database Type 2 Driver]
-* link:#glhim[IBM DB2 Database Type 4 Driver]
-* link:#beamx[Apache Derby DB/Derby Type 4 Driver]
-* link:#gbsor[MySQL Server Database Type 4 Driver]
-* link:#beani[Oracle 10 Database Driver]
-* link:#beanh[Oracle 11 Database Driver]
-* link:#gjksj[PostgreSQL Type 4 Driver]
-* link:#beamy[DataDirect Type 4 Driver for IBM DB2 Database]
-* link:#beanj[DataDirect Type 4 Driver for IBM Informix]
-* link:#beana[DataDirect Type 4 Driver for Microsoft SQL Server
-Database]
-* link:#gjksd[DataDirect Type 4 Driver for MySQL Server Database]
-* link:#beamz[DataDirect Type 4 Driver for Oracle 11 Database]
-* link:#beanb[DataDirect Type 4 Driver for Sybase Database]
-* link:#beane[Inet Oraxo Driver for Oracle Database]
-* link:#beanf[Inet Merlia Driver for Microsoft SQL Server Database]
-* link:#beang[Inet Sybelux Driver for Sybase Database]
-* link:#beand[JConnect Type 4 Driver for Sybase ASE 12.5 Database]
-
-[[beanc]][[GSADG00749]][[ibm-db2-database-type-2-driver]]
-
-IBM DB2 Database Type 2 Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR files for the DB2 driver are `db2jcc.jar`,
-`db2jcc_license_cu.jar`, and `db2java.zip`. Set your environment
-variables . For example:
-
-[source,oac_no_warn]
-----
-LD_LIBRARY_PATH=/usr/db2user/sqllib/lib:${Java EE.home}/lib
-DB2DIR=/opt/IBM/db2/V8.2
-DB2INSTANCE=db2user
-INSTHOME=/usr/db2user
-VWSPATH=/usr/db2user/sqllib
-THREADS_FLAG=native
-----
-
-Configure the connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DB2
-* DataSource Classname: `com.ibm.db2.jcc.DB2SimpleDataSource`
-* Properties:
-
-** `databaseName` - Set as appropriate.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-** `driverType` - Set to `2`.
-
-** `deferPrepares` - Set to `false`.
-
-[[glhim]][[GSADG00750]][[ibm-db2-database-type-4-driver]]
-
-IBM DB2 Database Type 4 Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the DB2 driver is `db2jcc.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DB2
-* DataSource Classname: `com.ibm.db2.jcc.DB2SimpleDataSource`
-* Properties:
-
-** `databaseName` - Set as appropriate.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-** `driverType` - Set to `4`.
-
-[[beamx]][[GSADG00751]][[apache-derby-dbderby-type-4-driver]]
-
-Apache Derby DB/Derby Type 4 Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Apache Derby DB/Derby JDBC driver is included with GlassFish Server
-by default, so you do not need to integrate this JDBC driver with
-GlassFish Server.
-
-The JAR file for the Apache Derby DB driver is `derbyclient.jar`.
-Configure the connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: Apache Derby
-* DataSource Classname: Specify one of the following: +
-[source,oac_no_warn]
-----
-org.apache.derby.jdbc.ClientDataSource40
-org.apache.derby.jdbc.ClientXADataSource40
-----
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server if it
-is different from the default.
-
-** `databaseName` - Specify the name of the database.
-
-** `user` - Specify the database user. +
-This is only necessary if the Apache Derby database is configured to use
-authentication. The Apache Derby database does not use authentication by
-default. When the user is provided, it is the name of the schema where
-the tables reside.
-
-** `password` - Specify the database password. +
-This is only necessary if the Apache Derby database is configured to use
-authentication.
-
-[[gbsor]][[GSADG00752]][[mysql-server-database-type-4-driver]]
-
-MySQL Server Database Type 4 Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the MySQL driver is
-`mysql-connector-java-5.1.14-bin.jar`. Configure the connection pool
-using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: MySql
-* DataSource Classname: +
-[source,oac_no_warn]
-----
-com.mysql.jdbc.jdbc2.optional.MysqlDataSource
-com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
-----
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `databaseName` - Set as appropriate.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-[[beani]][[GSADG00753]][[oracle-10-database-driver]]
-
-Oracle 10 Database Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the Oracle 10 database driver is `ojdbc14.jar`. Make
-sure that the shared library is available through `LD_LIBRARY_PATH` and
-that the `ORACLE_HOME` property is set.
-
-To make the Oracle driver behave in a Java EE-compliant manner, you must
-define the following JVM property:
-
-[source,oac_no_warn]
-----
--Doracle.jdbc.J2EE13Compliant=true
-----
-
-Configure the connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: Oracle
-* DataSource Classname: Specify one of the following: +
-[source,oac_no_warn]
-----
-oracle.jdbc.pool.OracleDataSource
-oracle.jdbc.xa.client.OracleXADataSource
-----
-* Properties:
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-[[beanh]][[GSADG00754]][[oracle-11-database-driver]]
-
-Oracle 11 Database Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the Oracle 11 database driver is `ojdbc6.jar`.
-
-To make the Oracle driver behave in a Java EE-compliant manner, you must
-define the following JVM property:
-
-[source,oac_no_warn]
-----
--Doracle.jdbc.J2EE13Compliant=true
-----
-
-Configure the connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: Oracle
-* DataSource Classname: Specify one of the following: +
-[source,oac_no_warn]
-----
-oracle.jdbc.pool.OracleDataSource
-oracle.jdbc.xa.client.OracleXADataSource
-----
-* Properties:
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate. +
-
-[NOTE]
-=======================================================================
-
-For this driver, the `XAResource.recover` method repeatedly returns the
-same set of in-doubt Xids regardless of the input flag. According to the
-XA specifications, the Transaction Manager initially calls this method
-with `TMSTARTSCAN` and then with `TMNOFLAGS` repeatedly until no Xids
-are returned. The `XAResource.commit` method also has some issues.
-
-To disable this GlassFish Server workaround, the
-`oracle-xa-recovery-workaround` property value must be set to `false`.
-
-Additionally, in order for the transaction manager to recover
-transactions, the JDBC connection pool's database user must be given
-certain Oracle permissions:
-
-** SELECT permission on DBA_PENDING_TRANSACTIONS, PENDING_TRANS$,
-DBA_2PC_PENDING and DBA_2PC_NEIGHBORS.
-** EXECUTE permissions on DBMS_XA and DBMS_SYSTEM.
-
-=======================================================================
-
-
-[[gjksj]][[GSADG00755]][[postgresql-type-4-driver]]
-
-PostgreSQL Type 4 Driver
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the PostgreSQL driver is
-`postgresql-9.0-801.jdbc4.jar`. Configure the connection pool using the
-following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: Postgresql
-* DataSource Classname: `org.postgresql.ds.PGSimpleDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `databaseName` - Set as appropriate.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-[[beamy]][[GSADG00756]][[datadirect-type-4-driver-for-ibm-db2-database]]
-
-DataDirect Type 4 Driver for IBM DB2 Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for DataDirect driver is `db2.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DataDirect-DB2
-* DataSource Classname: `com.ddtek.jdbcx.db2.DB2DataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `databaseName` - Set as appropriate.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-[[beanj]][[GSADG00757]][[datadirect-type-4-driver-for-ibm-informix]]
-
-DataDirect Type 4 Driver for IBM Informix
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Configure the connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DataDirect-Informix
-* DataSource Classname: Specify one of the following: +
-[source,oac_no_warn]
-----
-com.informix.jdbcx.IfxDataSource
-com.informix.jdbcx.IfxXADataSource
-----
-DataDirect DataSource Classname:
-`com.ddtek.jdbcx.informix.InformixDataSourcee`
-* Properties:
-
-** `serverName` - Specify the Informix database server name.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `databaseName` - Set as appropriate. This is optional.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-** `IfxIFXHost` - Specify the host name or IP address of the database
-server.
-
-[[beana]][[GSADG00758]][[datadirect-type-4-driver-for-microsoft-sql-server-database]]
-
-DataDirect Type 4 Driver for Microsoft SQL Server Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the DataDirect driver is `sqlserver.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DataDirect-Microsoft SQL Server
-* DataSource Classname: `com.ddtek.jdbcx.sqlserver.SQLServerDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address and the port of
-the database server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-** `selectMethod` - Set to `cursor`.
-
-[[gjksd]][[GSADG00759]][[datadirect-type-4-driver-for-mysql-server-database]]
-
-DataDirect Type 4 Driver for MySQL Server Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the DataDirect driver is `mysql.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DataDirect-MySQL
-* DataSource: `com.ddtek.jdbcx.mysql.MySQLDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address and the port of
-the database server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-** `selectMethod` - Set to `cursor`.
-
-[[beamz]][[GSADG00760]][[datadirect-type-4-driver-for-oracle-11-database]]
-
-DataDirect Type 4 Driver for Oracle 11 Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the DataDirect driver is `oracle.jar`.
-
-To make the Oracle driver behave in a Java EE-compliant manner, you must
-define the following JVM property:
-
-[source,oac_no_warn]
-----
--Doracle.jdbc.J2EE13Compliant=true
-----
-
-Configure the connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DataDirect-Oracle
-* DataSource Classname: `com.ddtek.jdbcx.oracle.OracleDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-[[beanb]][[GSADG00761]][[datadirect-type-4-driver-for-sybase-database]]
-
-DataDirect Type 4 Driver for Sybase Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the DataDirect driver is `sybase.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: DataDirect-Sybase
-* DataSource Classname: `com.ddtek.jdbcx.sybase.SybaseDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `databaseName` - Set as appropriate. This is optional.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-
-[NOTE]
-=======================================================================
-
-In some situations, using this driver can cause exceptions to be thrown
-because the driver creates a stored procedure for every parameterized
-PreparedStatement by default. If this situation arises, add the property
-`PrepareMethod`, setting its value to `direct`.
-
-=======================================================================
-
-
-[[beane]][[GSADG00762]][[inet-oraxo-driver-for-oracle-database]]
-
-Inet Oraxo Driver for Oracle Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the Inet Oracle driver is `Oranxo.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: Oracle
-* DataSource Classname: `com.inet.ora.OraDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `user` - Specify the database user.
-
-** `password` - Specify the database password.
-
-** `serviceName` - Specify the URL of the database. The syntax is as
-follows: +
-[source,oac_no_warn]
-----
-jdbc:inetora:server:port:dbname
-----
-For example: +
-[source,oac_no_warn]
-----
-jdbc:inetora:localhost:1521:payrolldb
-----
-In this example,`localhost` is the name of the host running the Oracle
-server, `1521` is the Oracle server's port number, and `payrolldb` is
-the SID of the database. For more information about the syntax of the
-database URL, see the Oracle documentation.
-
-** `streamstolob` - If the size of BLOB or CLOB data types exceeds 4 KB
-and this driver is used for CMP, this property must be set to `true`.
-
-[[beanf]][[GSADG00763]][[inet-merlia-driver-for-microsoft-sql-server-database]]
-
-Inet Merlia Driver for Microsoft SQL Server Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the Inet Microsoft SQL Server driver is `Merlia.jar`.
-Configure the connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: MicrosoftSqlServer
-* DataSource Classname: `com.inet.tds.TdsDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address and the port of
-the database server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-[[beang]][[GSADG00764]][[inet-sybelux-driver-for-sybase-database]]
-
-Inet Sybelux Driver for Sybase Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the Inet Sybase driver is `Sybelux.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: Sybase
-* DataSource Classname: `com.inet.syb.SybDataSource`
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `databaseName` - Set as appropriate. Do not specify the complete URL,
-only the database name.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-[[beand]][[GSADG00765]][[jconnect-type-4-driver-for-sybase-ase-12.5-database]]
-
-JConnect Type 4 Driver for Sybase ASE 12.5 Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The JAR file for the Sybase driver is `jconn4.jar`. Configure the
-connection pool using the following settings:
-
-* Name: Use this name when you configure the JDBC resource later.
-* Resource Type: Specify the appropriate value.
-* Database Vendor: Sybase
-* DataSource Classname: Specify one of the following: +
-[source,oac_no_warn]
-----
-com.sybase.jdbc4.jdbc.SybDataSource
-com.sybase.jdbc4.jdbc.SybXADataSource
-----
-* Properties:
-
-** `serverName` - Specify the host name or IP address of the database
-server.
-
-** `portNumber` - Specify the port number of the database server.
-
-** `databaseName` - Set as appropriate. Do not specify the complete URL,
-only the database name.
-
-** `user` - Set as appropriate.
-
-** `password` - Set as appropriate.
-
-** `BE_AS_JDBC_COMPLIANT_AS_POSSIBLE` - Set to `true`.
-
-** `FAKE_METADATA` - Set to `true`.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/jms.adoc b/docs/administration-guide/src/main/jbake/content/jms.adoc
deleted file mode 100644
index eea7e00..0000000
--- a/docs/administration-guide/src/main/jbake/content/jms.adoc
+++ /dev/null
@@ -1,2689 +0,0 @@
-type=page
-status=published
-title=Administering the Java Message Service (JMS)
-next=jndi.html
-prev=javamail.html
-~~~~~~
-Administering the Java Message Service (JMS)
-============================================
-
-[[GSADG00020]][[abljw]]
-
-
-[[administering-the-java-message-service-jms]]
-17 Administering the Java Message Service (JMS)
------------------------------------------------
-
-The Java Message Service (JMS) API is a messaging standard that allows
-Java EE applications and components, including message-driven beans
-(MDBs), to create, send, receive, and read messages. It enables
-distributed communication that is loosely coupled, reliable, and
-asynchronous.
-
-GlassFish Server supports JMS messaging by communicating with a JMS
-provider through a Java EE Connector resource adapter. By default,
-GlassFish Server provides JMS messaging through its built-in jmsra
-resource adapter communicating with Open Message Queue, which is
-included with GlassFish Server. This combination, known as the JMS
-Service, is tightly integrated with GlassFish Server, providing a rich
-set of `asadmin` subcommands and Administration Console pages to
-simplify JMS messaging administration tasks.
-
-GlassFish Server also supports the Generic Resource Adapter for JMS
-(GenericJMSRA) for use as a resource adapter to connect to other JMS
-providers. The last section in this chapter, link:#gbtvg[Using the
-Generic Resource Adapter for JMS to Integrate Supported External JMS
-Providers], describes the GenericJMSRA and provides instructions for
-using it to make other supported JMS providers available to GlassFish
-Server.
-
-The following topics are addressed here:
-
-* link:#gipit[About the JMS Service]
-* link:#beaof[Updating the JMS Service Configuration]
-* link:#gipbg[Administering JMS Hosts]
-* link:#ablkb[Administering JMS Connection Factories and Destinations]
-* link:#ablkj[Administering JMS Physical Destinations]
-* link:#gkxgk[Special Situations When Using the JMS Service]
-* link:#gipnh[Troubleshooting the JMS Service]
-* link:#gbtvg[Using the Generic Resource Adapter for JMS to Integrate
-Supported External JMS Providers]
-
-Instructions for accomplishing the task in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[gipit]][[GSADG00595]][[about-the-jms-service]]
-
-About the JMS Service
-~~~~~~~~~~~~~~~~~~~~~
-
-To support JMS messaging, the JMS Service provides the following
-administrative objects:
-
-JMS Service Configuration::
-  The JMS service configuration is part of the overall configuration for
-  a GlassFish standalone instance or cluster. It specifies how the JMS
-  Service is to create and maintain connections with JMS Hosts.
-JMS Hosts::
-  JMS hosts are the message servers that host destinations, store
-  messages, and interact with applications to send and receive messages
-  across connections. In Message Queue, JMS hosts are called brokers. +
-  The JMS service supports these types of JMS hosts: +
-  * Embedded type, in which the JMS host runs in the same JVM as the
-  GlassFish instance; its configuration and lifecycle are managed by the
-  JMS service
-  * Local type, in which the JMS host runs separately on the same host
-  as the GlassFish instance; its configuration and lifecycle are managed
-  by the JMS service
-  * Remote type, in which the JMS host represents a Message Queue broker
-  or broker cluster that is external to the JMS service; its operation
-  is managed using Message Queue administrative tools +
-  For more information about JMS host types, see link:#giplw[About JMS
-  Host Types].
-JMS Connection Factory Resources::
-  JMS connection factory resources house the information that
-  applications use to connect to a JMS provider. For each JMS connection
-  factory, the JMS service automatically maintains a GlassFish connector
-  resource and a GlassFish connector connection pool in order to support
-  connection pooling and failover.
-JMS Destination Resources::
-  JMS destination resources house the information that applications use
-  to specify the target destination of messages they produce and the
-  source destination of messages they consume. For each JMS destination
-  resource, the JMS service automatically maintains a GlassFish
-  administered object.
-JMS Physical Destinations::
-  JMS physical destinations provide a means to create and manage JMS
-  destinations administratively instead of having them created
-  dynamically when needed by an application. While dynamic creation of
-  destinations is often sufficient during application development,
-  administratively created physical destinations are more suitable for
-  production environments.
-
-[[gavqn]][[GSADG00773]][[jms-service-high-availability]]
-
-JMS Service High Availability
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Just as GlassFish Server supports clusters of instances to provide high
-availability, Message Queue supports clusters of brokers to provide
-service availability or service and data availability, depending on the
-type of broker cluster, as described in "link:../../openmq/mq-tech-over/broker-clusters.html#GMTOV00028[Broker
-Clusters]" in Open Message Queue Technical Overview.
-
-The JMS service takes advantage of this Message Queue capability and
-automatically creates and manages a Message Queue broker cluster when a
-GlassFish cluster's configuration specifies Embedded or Local type JMS
-hosts. Additionally, both GlassFish clusters and standalone instances
-can use Message Queue broker clusters as Remote type JMS hosts.
-
-For information about how the JMS service supports GlassFish clusters
-and Message Queue broker clusters, see "link:../ha-administration-guide/jms.html#GSHAG00012[Configuring
-Java Message Service High Availability]" in GlassFish Server Open Source
-Edition High Availability Administration Guide.
-
-[[beaof]][[GSADG00596]][[updating-the-jms-service-configuration]]
-
-Updating the JMS Service Configuration
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Because the JMS service configuration is part of the overall
-configuration for a standalone instance or cluster, it is created when
-the standalone instance or cluster is created. You can then update the
-JMS service configuration by using the Java Message Service page for the
-configuration in the Administration Console, or by using a `set`
-subcommand of the following form:
-
-[source,oac_no_warn]
-----
-set configs.config.config-name.jms-service.attribute-name=attribute-value
-----
-
-The attributes you can set are:
-
-`type`::
-  The JMS host type the service is to use. Available choices are
-  `EMBEDDED`, `LOCAL` and `REMOTE`. See link:#giplw[About JMS Host
-  Types] for more information.
-`init-timeout-in-seconds`::
-  The number of seconds GlassFish Server waits for the JMS service to
-  start before aborting the startup.
-`start-args`::
-  A list of arguments the JMS service passes to Embedded and Local type
-  JMS hosts on startup. Permissible arguments are the options supported
-  by the Message Queue `imqbrokerd` command, as described in
-  "link:../../openmq/mq-admin-guide/command-line-reference.html#GMADG00280[Broker Utility]" in Open Message Queue
-  Administration Guide.
-`default-jms-host`::
-  The name of the default JMS host.
-`reconnect-enabled`::
-  When set to `true`, the JMS service attempts to reconnect to a JMS
-  host (or one of the JMS hosts in the AddressList) when a connection is
-  lost.
-`reconnect-attempts`::
-  The number of attempts to connect (or reconnect) for each JMS host in
-  the AddressList before the JMS service tries the next address in the
-  list. A value of -1 indicates that the number of reconnect attempts is
-  unlimited (the JMS service attempts to connect to the first address
-  until it succeeds).
-`reconnect-interval-in-seconds`::
-  The number of seconds between reconnect attempts. This interval
-  applies for attempts on each JMS host in the AddressList and for
-  successive addresses in the list. If it is too short, this time
-  interval does not give a JMS host time to recover. If it is too long,
-  the reconnect might represent an unacceptable delay.
-`addresslist-behavior`::
-  The order of connection attempts. Available choices are: +
-  `random`;;
-    Select a JMS host from the AddressList randomly. If there are many
-    clients attempting a connection using the same connection factory,
-    specify `random` to prevent them from all being connected to the
-    same JMS host.
-  `priority`;;
-    Always try to connect to the first JMS host in the AddressList and
-    use another one only if the first one is not available.
-`addresslist-iterations`::
-  The number of times the JMS service iterates through the AddressList
-  in an effort to establish (or reestablish) a connection. A value of -1
-  indicates that the number of attempts is unlimited.
-`mq-scheme`::
-`mq-service`::
-  The Message Queue address scheme name and connection service name to
-  use for the AddressList if a non-default scheme or service is to be
-  used. See "link:../../openmq/mq-admin-guide/administered-object-attributes.html#GMADG00622[Connection Handling]" in Open Message
-  Queue Administration Guide for syntax information.
-
-
-[NOTE]
-=======================================================================
-
-After making changes to the JMS service configuration, GlassFish Server
-instances that use the configuration must be restarted in order for the
-changes to be propagated.
-
-=======================================================================
-
-
-[[gkxgf]][[GSADG00774]][[setting-message-queue-broker-properties-in-the-jms-service-configuration]]
-
-Setting Message Queue Broker Properties in the JMS Service Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can specify any Message Queue broker property in the JMS service
-configuration by adding it by name to the Additional Properties table on
-the Java Message Service page for the configuration in the
-Administration Console, or by using a `set` subcommand of the following
-form:
-
-[source,oac_no_warn]
-----
-set configs.config.config-name.jms-service.property.broker-property-name=value
-----
-
-If the broker property name includes dots, preface the dots with two
-backslashes (`\\`); for example, to set the `imq.system.max_count`
-property, specify `imq\\.system\\.max_count` in the `set` subcommand.
-
-
-[NOTE]
-=======================================================================
-
-You can also set broker properties in the JMS host. If you set the same
-broker property in both the JMS service configuration and the JMS host,
-the value specified in the JMS host is used.
-
-=======================================================================
-
-
-[[gipbg]][[GSADG00597]][[administering-jms-hosts]]
-
-Administering JMS Hosts
-~~~~~~~~~~~~~~~~~~~~~~~
-
-A JMS host represents a Message Queue broker. JMS contains a JMS hosts
-list (the `AddressList` property) that contains all the JMS hosts that
-are used by GlassFish Server. The JMS hosts list is populated with the
-hosts and ports of the specified Message Queue brokers and is updated
-whenever a JMS host configuration changes. When you create JMS resources
-or deploy message driven beans, the resources or beans inherit the JMS
-hosts list.
-
-The following topics are addressed here:
-
-* link:#giplw[About JMS Host Types]
-* link:#gktfb[Configuring Embedded and Local JMS Hosts]
-* link:#gipbh[To Create a JMS Host]
-* link:#gipbz[To List JMS Hosts]
-* link:#givno[To Update a JMS Host]
-* link:#gipbv[To Delete a JMS Host]
-
-For information about administering JMS hosts that are servicing
-GlassFish clusters, see "link:../ha-administration-guide/jms.html#GSHAG00312[Configuring GlassFish Clusters
-to Use Message Queue Broker Clusters]" in GlassFish Server Open Source
-Edition High Availability Administration Guide.
-
-[[giplw]][[GSADG00775]][[about-jms-host-types]]
-
-About JMS Host Types
-^^^^^^^^^^^^^^^^^^^^
-
-The JMS service uses Message Queue (MQ) brokers as JMS hosts,
-integrating them in three ways:
-
-Embedded Type::
-  When the JMS service configuration's `type` attribute is `EMBEDDED`,
-  the MQ broker is co-located in the same JVM as the GlassFish server
-  instance it services. The JMS service starts it in-process and manages
-  its configuration and lifecycle. +
-  For this type, the JMS service uses lazy initialization to start the
-  broker when the first JMS operation is requested instead of
-  immediately when the GlassFish instance is started. If necessary, you
-  can force startup of the broker by using the
-  link:../reference-manual/jms-ping.html#GSRFM00144[`jms-ping`] command. +
-  Additionally, if the GlassFish instance is a standalone instance (not
-  a clustered instance), JMS operations use a Message Queue feature
-  called direct mode to bypass the networking stack, leading to
-  performance optimization.
-Local Type::
-  When the JMS service configuration's `type` attribute is `LOCAL`, the
-  JMS service starts the MQ broker specified in the configuration as the
-  default JMS host in a separate process on the same host as the
-  GlassFish server instance. The JMS service manages its configuration
-  and lifecycle. +
-  For this type, the JMS service starts the broker immediately when the
-  GlassFish instance is started. +
-  The JMS service provides the Message Queue broker an additional port
-  to start the RMI registry. This port number is equal to the broker's
-  JMS port plus 100. For example, if the JMS port number is 37676, then
-  the additional port's number will be 37776. Additionally, the
-  `start-args` property of the JMS service configuration can be used to
-  specify Message Queue broker startup options.
-Remote Type::
-  When the JMS service configuration's `type` attribute is `REMOTE`, the
-  JMS service uses the information defined by the default JMS host to
-  communicate with an MQ broker or broker cluster that has been
-  configured and started using Message Queue tools, as described in the
-  link:../../openmq/mq-admin-guide/toc.html#GMADG[Open Message Queue Administration Guide]. Ongoing
-  administration and tuning of the broker or broker cluster are also
-  performed using Message Queue tools.
-
-[[gktfb]][[GSADG00776]][[configuring-embedded-and-local-jms-hosts]]
-
-Configuring Embedded and Local JMS Hosts
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Because the JMS service, not Message Queue, manages Embedded and Local
-JMS hosts automatically, you should avoid using Message Queue utilities
-to configure them. Instead, specify broker properties in the JMS service
-configuration or in the JMS host.
-
-Should the need to use Message Queue utilities arise, you must use the
-`-varhome` option when running certain Message Queue utilities to
-specify the `IMQ_VARHOME` location of the Embedded or Local JMS host.
-This location depends on which GlassFish instance the JMS host is
-servicing:
-
-* For `server`, the Domain Administration Server (DAS), the
-`IMQ_VARHOME` location is: +
-[source,oac_no_warn]
-----
-domain-root-dir/domain-dir/imq
-----
-* For any other GlassFish instance, the `IMQ_VARHOME` location is: +
-[source,oac_no_warn]
-----
-as-install/nodes/node-name/instance-name/imq
-----
-
-For example, the broker log file for an Embedded or Local JMS host
-servicing the DAS is available at
-domain-root-dir`/`domain-dir`/imq/instances/imqbroker/log/log.txt`, and
-the broker log file for an Embedded or Local JMS host servicing any
-other GlassFish instance is available at
-as-install`/nodes/`node-name`/`instance-name`/imq/instances/`mq-instance-name`/log/log.txt`.
-
-
-[NOTE]
-=======================================================================
-
-When using Message Queue utilities on the Windows platform, you must
-explicitly use the Windows executable (`.exe`) versions of the
-utilities, even when running command shells such as Cygwin. For example,
-instead of running `imqcmd`, you must run `imqcmd.exe`.
-
-=======================================================================
-
-
-[[gipbh]][[GSADG00486]][[to-create-a-jms-host]]
-
-To Create a JMS Host
-^^^^^^^^^^^^^^^^^^^^
-
-The default JMS service configuration includes a JMS host,
-`default_JMS_host`. For most situations, this host is sufficient, so
-replacing it or creating additional JMS hosts is not often necessary and
-is a task for advanced users. Use the `create-jms-host` subcommand in
-remote `asadmin` mode to create an additional JMS host.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Create the JMS host by using the link:../reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`]
-subcommand: +
-[source,oac_no_warn]
-----
-asadmin> create-jms-host --mqhost hostName --mqport portNumber
---mquser adminUser --mqpassword adminPassword --target glassfishTarget
---property mqBrokerPropList --force trueFalse jms-host-name
-----
-`--mqhost`::
-  The host name of the Message Queue broker.
-`--mqport`::
-  The port number of the Message Queue broker.
-`--mquser`::
-  The user name of the administrative user of the Message Queue broker.
-`--mqpassword`::
-  The password of the administrative user of the Message Queue broker.
-`--target`::
-  The GlassFish Server object for which the JMS host is being created.
-  For details, see link:../reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`(1)].
-`--property`::
-  A list of one or more Message Queue broker properties to configure the
-  broker. The list is colon-separated (`:`) and has the form: +
-[source,oac_no_warn]
-----
-prop1Name=prop1Value:prop2Name=prop2Value:...
-----
-::
-  If a broker property name includes dots, preface the dots with two
-  backslashes (`\\`); for example, to include the `imq.system.max_count`
-  property, specify `imq\\.system\\.max_count` in the `--property`
-  option. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-You can also set broker properties in the JMS service configuration.
-If you set the same broker property in both the JMS host and the JMS
-service configuration, the value specified in the JMS host is used.
-
-|=======================================================================
-
-`--force`::
-  Specifies whether the subcommand overwrites the existing JMS host of
-  the same name. The default value is `false`.
-jms-host-name::
-  The unique name of the JMS host.
-
-[[GSADG00271]][[gipbb]]
-
-
-Example 17-1 Creating a JMS Host
-
-This example creates a JMS host named `MyNewHost`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jms-host --mqhost pigeon --mqport 7677
---mquser admin --mqpassword admin MyNewHost
-Jms Host MyNewHost created.
-Command create-jms-host executed successfully.
-----
-
-[[GSADG1018]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-jms-host` at the command line.
-
-[[gipbz]][[GSADG00487]][[to-list-jms-hosts]]
-
-To List JMS Hosts
-^^^^^^^^^^^^^^^^^
-
-Use the `list-jms-hosts` subcommand in remote `asadmin` mode to list the
-existing JMS hosts.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  List the JMS hosts by using the link:../reference-manual/list-jms-hosts.html#GSRFM00176[`list-jms-hosts`]
-subcommand.
-
-[[GSADG00272]][[gipdw]]
-
-
-Example 17-2 Listing JMS Hosts
-
-The following subcommand lists the existing JMS hosts.
-
-[source,oac_no_warn]
-----
-asadmin> list-jms-hosts
-default_JMS_host
-MyNewHost
-Command list-jmsdest executed successfully
-----
-
-[[givno]][[GSADG00488]][[to-update-a-jms-host]]
-
-To Update a JMS Host
-^^^^^^^^^^^^^^^^^^^^
-
-Use the `set` subcommand in remote `asadmin` mode to update an existing
-JMS host.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Use the link:../reference-manual/get.html#GSRFM00139[`get`] subcommand to list the current
-attribute values of the desired JMS host: +
-[source,oac_no_warn]
-----
-asadmin> get configs.config.config-name.jms-service.jms-host.jms-host-name.*
-----
-For information about JMS host attributes, see
-link:../reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`(1)].
-3.  Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to modify a JMS host
-attribute: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.config-name.jms-service.jmshost.
-jms-host-name.attribute-name=attribute-value
-----
-The attributes you can set are:::
-`host`::
-  The host name of the Message Queue broker.
-`port`::
-  The port number of the Message Queue broker.
-`admin-user-name`::
-  The user name of the administrative user of the Message Queue broker.
-`admin-password`::
-  The password of the administrative user of the Message Queue broker.
-`property.`broker-property-name::
-  A Message Queue broker property. The property, and the value assigned
-  to it, are used to configure the Message Queue broker. +
-  If the broker property name includes dots, preface the dots with two
-  backslashes (`\\`); for example, to include the `imq.system.max_count`
-  property, specify `imq\\.system\\.max_count` in the `set` subcommand. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-You can also set broker properties in the JMS service configuration.
-If you set the same broker property in both the JMS host and the JMS
-service configuration, the value specified in the JMS host is used.
-
-|=======================================================================
-
-
-[[GSADG00273]][[givlz]]
-
-
-Example 17-3 Updating a JMS Host
-
-This example changes the value of the `host` attribute of the JMS host
-`default_JMS_Host`. By default this value is `localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> set configs.config.server-config.jms-service.jms-host.default_JMS_host.host=
-"server1.middleware.example.com"
-----
-
-[[gipbv]][[GSADG00489]][[to-delete-a-jms-host]]
-
-To Delete a JMS Host
-^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-jms-host` subcommand in remote `asadmin` mode to delete
-a JMS host from the JMS service. If you delete the only JMS host, the
-JMS service will not be able to start until you create a new JMS host.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  List the JMS hosts by using the link:../reference-manual/list-jms-hosts.html#GSRFM00176[`list-jms-hosts`]
-subcommand.
-3.  Delete a JMS host by using the link:../reference-manual/delete-jms-host.html#GSRFM00091[`delete-jms-host`]
-subcommand.
-
-[[GSADG00274]][[gipbj]]
-
-
-Example 17-4 Deleting a JMS Host
-
-This example deletes a JMS host named `MyNewHost`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jms-host MyNewHost
-Command delete-jms-host executed successfully.
-----
-
-[[GSADG1019]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-jms-host` at the command line.
-
-[[ablkb]][[GSADG00598]][[administering-jms-connection-factories-and-destinations]]
-
-Administering JMS Connection Factories and Destinations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The JMS API uses two kinds of administered objects. Connection factory
-objects allow an application to create other JMS objects
-programmatically. Destination objects serve as repositories for
-messages. How these objects are created is specific to each
-implementation of JMS. In GlassFish Server, JMS is implemented by
-performing the following tasks:
-
-* Creating a connection factory
-* Creating a destination, which requires creating a physical destination
-and a destination resource that refers to the physical destination
-
-JMS applications use the Java Naming and Directory Interface (JNDI) API
-to access the connection factory and destination resources. A JMS
-application normally uses at least one connection factory and at least
-one destination. By studying the application or consulting with the
-application developer, you can determine what resources must be created.
-The order in which the resources are created does not matter.
-
-The Java EE standard specifies that certain default resources be made
-available to applications, and defines specific JNDI names for these
-default resources. GlassFish Server makes these names available through
-the use of logical JNDI names, which map Java EE standard JNDI names to
-specific GlassFish Server resources. For JMS connection factory
-resources, the Java EE standard name
-`java:comp/DefaultJMSConnectionFactory` is mapped to the
-`jms/__defaultConnectionFactory` resource.
-
-GlassFish Server provides the following types of connection factory
-objects:
-
-* `QueueConnectionFactory` objects, used for point-to-point
-communication
-* `TopicConnectionFactory` objects, used for publish-subscribe
-communication
-* `ConnectionFactory` objects, which can be used for both point-to-point
-and publish-subscribe communications (recommended for new applications)
-
-GlassFish Server provides the following types of destination objects:
-
-* `Queue` objects, used for point-to-point communication
-* `Topic` objects, used for publish-subscribe communication
-
-The following topics are addressed here:
-
-* link:#giotd[To Create a Connection Factory or Destination Resource]
-* link:#giosx[To List JMS Resources]
-* link:#giouw[To Delete a Connection Factory or Destination Resource]
-
-The subcommands in this section can be used to administer both the
-connection factory resources and the destination resources. For
-information on JMS service support of connection pooling and failover,
-see "link:../ha-administration-guide/jms.html#GSHAG00213[Connection Failover]" in GlassFish Server Open
-Source Edition High Availability Administration Guide. For instructions
-on administering physical destinations, see link:#ablkj[Administering
-JMS Physical Destinations].
-
-[[giotd]][[GSADG00490]][[to-create-a-connection-factory-or-destination-resource]]
-
-To Create a Connection Factory or Destination Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For each JMS connection factory that you create, GlassFish Server
-creates a connector connection pool and connector resource. For each JMS
-destination that you create, GlassFish Server creates a connector admin
-object resource. If you delete a JMS resource, GlassFish Server
-automatically deletes the connector resources.
-
-Use the `create-jms-resource` command in remote `asadmin` mode to create
-a JMS connection factory resource or a destination resource.
-
-
-[TIP]
-=======================================================================
-
-To specify the `addresslist` property (in the format
-`host:mqport,host2:mqport,host3:mqport`) for the
-`asadmin create-jms-resource` command, escape the : by using `\\`. For
-example, `host1\\:mqport,host2\\:mqport,host3\\:mpqport`. For more
-information about using escape characters, see the
-olink:GSRFM00263[`asadmin`(1M)] help page.
-
-=======================================================================
-
-
-To update a JMS connection factory, use the `set` subcommand for the
-underlying connector connection pool, See link:connectors.html#gioti[To
-Update a Connector Connection Pool].
-
-To update a destination, use the `set` subcommand for the admin object
-resource. See link:connectors.html#giots[To Update an Administered
-Object].
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Create a JMS resource by using the
-link:../reference-manual/create-jms-resource.html#GSRFM00040[`create-jms-resource`] command. +
-Information about the properties for the subcommand is included in this
-help page.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00275]][[giovy]]
-
-
-Example 17-5 Creating a JMS Connection Factory
-
-This example creates a connection factory resource of type
-`jakarta.jms.ConnectionFactory` whose JNDI name is
-`jms/DurableConnectionFactory`. The `ClientId` property sets a client ID
-on the connection factory so that it can be used for durable
-subscriptions. The JNDI name for a JMS resource customarily includes the
-`jms/` naming subcontext.
-
-[source,oac_no_warn]
-----
-asadmin> create-jms-resource --restype jakarta.jms.ConnectionFactory
---description "connection factory for durable subscriptions"
---property ClientId=MyID jms/DurableConnectionFactory
-Command create-jms-resource executed successfully.
-----
-
-[[GSADG00276]][[giovn]]
-
-
-Example 17-6 Creating a JMS Destination
-
-This example creates a destination resource whose JNDI name is
-`jms/MyQueue`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jms-resource --restype jakarta.jms.Queue 
---property Name=PhysicalQueue jms/MyQueue
-Command create-jms-resource executed successfully.
-----
-
-[[GSADG1020]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-jms-resource` at the command line.
-
-[[giosx]][[GSADG00491]][[to-list-jms-resources]]
-
-To List JMS Resources
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-jms-resources` subcommand in remote `asadmin` mode to list
-the existing connection factory and destination resources.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  List the existing JMS resources by using the
-link:../reference-manual/list-jms-resources.html#GSRFM00177[`list-jms-resources`] subcommand.
-
-[[GSADG00277]][[giovz]]
-
-
-Example 17-7 Listing All JMS Resources
-
-This example lists all the existing JMS connection factory and
-destination resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-jms-resources
-jms/Queue
-jms/ConnectionFactory
-jms/DurableConnectionFactory
-jms/Topic
-Command list-jms-resources executed successfully
-----
-
-[[GSADG00278]][[giovq]]
-
-
-Example 17-8 Listing a JMS Resources of a Specific Type
-
-This example lists the resources for the resource type `javax`.
-
-[source,oac_no_warn]
-----
-asadmin> list-jms-resources --restype jakarta.jms.TopicConnectionFactory 
-jms/DurableTopicConnectionFactory 
-jms/TopicConnectionFactory 
-Command list-jms-resources executed successfully.
-----
-
-[[GSADG1021]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-jms-resources` at the command line.
-
-[[giouw]][[GSADG00492]][[to-delete-a-connection-factory-or-destination-resource]]
-
-To Delete a Connection Factory or Destination Resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-jms-resource` subcommand in remote `asadmin` mode to
-remove the specified connection factory or destination resource.
-
-[[GSADG1022]]
-
-Before You Begin
-
-Ensure that you remove all references to the specified JMS resource
-before running this subcommand.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  List the existing JMS resources by using the
-link:../reference-manual/list-jms-resources.html#GSRFM00177[`list-jms-resources`] subcommand.
-3.  Delete the JMS resource by using the
-link:../reference-manual/delete-jms-resource.html#GSRFM00092[`delete-jms-resource`] subcommand.
-
-[[GSADG00279]][[giovi]]
-
-
-Example 17-9 Deleting a JMS Resource
-
-This example deletes the `jms/Queue` resource.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jms-resource jms/Queue
-Command delete-jms-resource executed successfully
-----
-
-[[GSADG1023]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-jms-resource` at the command line.
-
-[[ablkj]][[GSADG00599]][[administering-jms-physical-destinations]]
-
-Administering JMS Physical Destinations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Messages are delivered for routing and delivery to consumers by using
-physical destinations in the JMS provider. A physical destination is
-identified and encapsulated by an administered object (such as a `Topic`
-or `Queue` destination resource) that an application component uses to
-specify the destination of messages it is producing and the source of
-messages it is consuming. For instructions on configuring a destination
-resource, see link:#giotd[To Create a Connection Factory or Destination
-Resource].
-
-If a message-driven bean is deployed and the physical destination it
-listens to does not exist, GlassFish Server automatically creates the
-physical destination and sets the value of the `maxNumActiveConsumers`
-property to `-1`. However, it is good practice to create the physical
-destination beforehand. The first time that an application accesses a
-destination resource, Message Queue automatically creates the physical
-destination specified by the Name property of the destination resource.
-This automatically created physical destination is temporary and expires
-after a period specified by a Message Queue configuration property,
-provided that there are no messages in it and no message producers or
-consumers connected to it.
-
-The following topics are addressed here:
-
-* link:#gioue[To Create a JMS Physical Destination]
-* link:#gioyp[To List JMS Physical Destinations]
-* link:#giowx[To Purge Messages From a Physical Destination]
-* link:#giouv[To Delete a JMS Physical Destination]
-
-[[gioue]][[GSADG00493]][[to-create-a-jms-physical-destination]]
-
-To Create a JMS Physical Destination
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For production purposes, always create physical destinations. During the
-development and testing phase, however, this step is not required. Use
-the `create-jmsdest` subcommand in remote `asadmin` mode to create a
-physical destination.
-
-Because a physical destination is actually a Message Queue object rather
-than a server object, you use Message Queue broker commands to update
-properties. For information on Message Queue properties, see the
-link:../../openmq/mq-admin-guide/toc.html#GMADG[Open Message Queue Administration Guide].
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Create a JMS physical destination by using the
-link:../reference-manual/create-jmsdest.html#GSRFM00038[`create-jmsdest`] subcommand. +
-Information about the properties for the subcommand is included in this
-help page.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00280]][[gioxt]]
-
-
-Example 17-10 Creating a JMS Physical Destination
-
-This example creates a queue named `PhysicalQueue`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jmsdest --desttype queue --property 
-User=public:Password=public PhysicalQueue
-Command create-jmsdest executed successfully.
-----
-
-[[GSADG1024]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-jmsdest` at the command line.
-
-[[gioyp]][[GSADG00494]][[to-list-jms-physical-destinations]]
-
-To List JMS Physical Destinations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-jmsdest` subcommand in remote `asadmin` mode to list the
-existing JMS physical destinations.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  List the existing JMS physical destinations by using the
-link:../reference-manual/list-jmsdest.html#GSRFM00175[`list-jmsdest`] subcommand.
-
-[[GSADG00281]][[gioxo]]
-
-
-Example 17-11 Listing JMS Physical Destinations
-
-This example lists the physical destinations for the default server
-instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-jmsdest
-PhysicalQueue queue {} 
-PhysicalTopic topic {}
-Command list-jmsdest executed successfully.
-----
-
-[[GSADG1025]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-jmsdest` at the command line.
-
-[[giowx]][[GSADG00495]][[to-purge-messages-from-a-physical-destination]]
-
-To Purge Messages From a Physical Destination
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `flush-jmsdest` subcommand in remote `asadmin` mode to purge the
-messages from a physical destination in the specified target's JMS
-service configuration.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Purge messages from the a JMS physical destination by using the
-link:../reference-manual/flush-jmsdest.html#GSRFM00136[`flush-jmsdest`] subcommand.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-link:overview.html#ghciy[Configuration Changes That Require Restart]. If
-your server needs to be restarted, see link:domains.html#ginqj[To Restart
-a Domain].
-
-[[GSADG00282]][[giows]]
-
-
-Example 17-12 Flushing Messages From a JMS Physical Destination
-
-This example purges messages from the queue named `PhysicalQueue`.
-
-[source,oac_no_warn]
-----
-asadmin> flush-jmsdest --desttype queue PhysicalQueue
-Command flush-jmsdest executed successfully
-----
-
-[[GSADG1026]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help flush-jmsdest` at the command line.
-
-[[giouv]][[GSADG00496]][[to-delete-a-jms-physical-destination]]
-
-To Delete a JMS Physical Destination
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-jmsdest` subcommand in remote `asadmin` mode to remove
-the specified JMS physical destination.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  List the existing JMS physical destinations by using the
-link:../reference-manual/list-jmsdest.html#GSRFM00175[`list-jmsdest`] subcommand.
-3.  Delete the physical resource by using the
-link:../reference-manual/delete-jmsdest.html#GSRFM00090[`delete-jmsdest`] subcommand.
-
-[[GSADG00283]][[gioxx]]
-
-
-Example 17-13 Deleting a Physical Destination
-
-This example deletes the queue named `PhysicalQueue`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jmsdest --desttype queue PhysicalQueue
-Command delete-jmsdest executed successfully
-----
-
-[[GSADG1027]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-jmsdest` at the command line.
-
-[[gkxgk]][[GSADG00600]][[special-situations-when-using-the-jms-service]]
-
-Special Situations When Using the JMS Service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-As mentioned earlier, Message Queue, through the built-in `jmsra`
-resource adapter, is tightly integrated with GlassFish Server to provide
-JMS messaging managed through a rich set of `asadmin` subcommands and
-Administration Console pages to simplify JMS messaging administration
-tasks. In most instances, this tight integration is transparent and
-automatic, requiring no special effort on the part of an administrator.
-In certain special situations, though, an administrator must perform a
-task such a setting a Message Queue broker property or a GlassFish
-object attribute to enable or disable a capability of the integration.
-The topics in this section describe these situations.
-
-Restarting an Embedded or Local Broker That Has Failed::
-  Because the JMS service, not Message Queue, manages the lifecycle of
-  brokers acting as Embedded and Local JMS hosts, do not use the
-  `imqbrokerd` Message Queue utility to start such a broker that has
-  failed. Instead, restart the GlassFish instance that the broker is
-  servicing.
-Changing the Admin User Password for an Embedded or Local Broker::
-  Follow these steps to change the `admin` user password for an Embedded
-  or Local broker: +
-  1.  [[CHDDHDIE]] +
-  Make sure the broker is running.
-  2.  [[CHDHDFAH]] +
-  Use the `imqusermgr` Message Queue utility to change the password of
-  the `admin` user.
-  3.  [[CHDCJEFG]] +
-  Edit the configuration of the JMS host, changing the password of the
-  `admin` user to the new password.
-  4.  [[CHDFJECE]] +
-  Restart the GlassFish instance that the broker is servicing. +
-  When changing the password for the brokers in a broker cluster, first
-  perform steps link:#CHDDHDIE[1] and link:#CHDHDFAH[2] on each broker.
-  Then, perform step link:#CHDCJEFG[3]. Finally, perform
-  step link:#CHDFJECE[4] on each broker.
-Using SSL to Connect to an Oracle Internet Directory (OID) or Oracle
-Virtual Directory (OVD) User Respository::
-  When using SSL to connect to an OID or OVD user repository, you must
-  set the `imq.user_repository.ldap.ssl.socketfactory` Message Queue
-  broker property to
-  `com.sun.enterprise.security.auth.realm.ldap.CustomSocketFactory`.
-
-[[gipnh]][[GSADG00601]][[troubleshooting-the-jms-service]]
-
-Troubleshooting the JMS Service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you encounter problems, consider the following:
-
-* Use the link:../reference-manual/jms-ping.html#GSRFM00144[`jms-ping`] subcommand to confirm that the
-Message Queue broker is running.
-* View the GlassFish Server log file. For `server`, the Domain
-Administrations Server (DAS), the log is available at
-domain-dir`/logs/server.log`; for other GlassFish instances, the log is
-available at
-as-install`/nodes/`node-name`/`instance-name`/logs/server.log`. +
-If the log file indicates that a Message Queue broker acting as a Remote
-JMS host did not respond to a message, stop the broker and then restart
-it.
-* View the broker log. For a broker associated with the Domain
-Administration Server (DAS), the log is available at
-domain-dir`/imq/instances/imqbroker/log/log.txt`; for brokers associated
-with other GlassFish instances, the log is available at
-as-install`/nodes/`node-name`/`instance-name`/imq/instances/`mq-instance-name`/log/log.txt`.
-* For Remote type JMS hosts, be sure to start Message Queue brokers
-first, then GlassFish Server instances.
-* If all Message Queue brokers are down, it can take up to 30 minutes
-for GlassFish Server to go down or up when you are using the default
-values in JMS. You can change the default values for this timeout. For
-example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.jms-service.reconnect-interval-in-seconds=5
-----
-
-[[gbtvg]][[GSADG00602]][[using-the-generic-resource-adapter-for-jms-to-integrate-supported-external-jms-providers]]
-
-Using the Generic Resource Adapter for JMS to Integrate Supported External JMS Providers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server supports the integration and use of Oracle WebLogic JMS
-and IBM WebSphere MQ JMS providers through the use of the Generic
-Resource Adapter for JMS (GenericJMSRA). This Java EE connector 1.5
-resource adapter can wrap the JMS client library of Oracle WebLogic JMS
-and IBM WebSphere MQ and make it available for use by GlassFish. The
-adapter is a `.rar` archive that can be deployed and configured using
-GlassFish Server administration tools.
-
-The following topics are addressed here:
-
-* link:#gkkvc[Configuring GenericJMSRA for Supported External JMS
-Providers]
-* link:#gkkuy[Using GenericJMSRA with WebLogic JMS]
-* link:#gkslb[Using GenericJMSRA with IBM WebSphere MQ]
-
-[[gkkvc]][[GSADG00777]][[configuring-genericjmsra-for-supported-external-jms-providers]]
-
-Configuring GenericJMSRA for Supported External JMS Providers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GenericJMSRA has three main properties that need to be configured:
-`SupportXA`, `DeliveryType`, and `ProviderIntegrationMode`. The values
-that need to be set for them depends on the capabilities of the JMS
-provider being used, as follows:
-
-* `SupportXA` — indicates whether the JMS provider supports XA or not.
-* `DeliveryType` — indicates whether an MDB should use a
-`ConnectionConsumer` or `Consumer.receive()` when consuming messages.
-* `ProviderIntegrationMode` — indicates what mode of integration is
-required. The available integration modes are jndi and javabean. Some
-JMS providers support only one integration mode while others may offer
-the choice of both
-
-** If jndi is specified, then the resource adapter will obtain JMS
-connection factories and destinations from the JMS provider's JNDI
-repository.
-
-** If javabean is specified then the resource adapter will obtain JMS
-connection factories and destinations by instantiating the appropriate
-classes directly. +
-Which option is specified determines which other properties need to be
-set.
-
-[[giosy]][[GSADG00497]][[to-deploy-and-configure-genericjmsra]]
-
-To Deploy and Configure GenericJMSRA
-++++++++++++++++++++++++++++++++++++
-
-Before deploying GenericJMSRA, JMS client libraries must be made
-available to GlassFish Server. For some JMS providers, client libraries
-might also include native libraries. In such cases, these native
-libraries must be made available to any GlassFish Server JVMs.
-
-1.  Download the `genericra.rar` archive.
-2.  Deploy GenericJMSRA the same way you would deploy a connector
-module. +
-See "link:../application-deployment-guide/deploying-applications.html#GSDPG00069[Deploying a Connector Module]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-3.  Configure the resource adapter's properties. +
-See link:#gbtvu[GenericJMSRA Configuration Properties].
-4.  Create a connector connection pool. +
-See link:connectors.html#gioce[To Create a Connector Connection Pool].
-5.  Create a connector resource. +
-See link:connectors.html#giogt[To Create a Connector Resource].
-6.  Create an administered object resource. +
-See link:connectors.html#giolr[To Create an Administered Object].
-
-[[gbtvu]][[GSADG00674]][[genericjmsra-configuration-properties]]
-
-GenericJMSRA Configuration Properties
-+++++++++++++++++++++++++++++++++++++
-
-The following table describes the properties that can be set to when
-configuring the resource adapter.
-
-[width="100%",cols="28%,19%,14%,39%",options="header",]
-|=======================================================================
-|Property Name |Valid Values |Default Value |Description
-|`SupportsXA` |`true/false` |false |Specifies whether the JMS client
-supports XA transactions.
-
-|`DeliveryType` a|
-`Synchronous/`
-
-`Asynchronous`
-
- |Asynchronous |Specifies whether an MDB should use a
-`ConnectionConsumer` (Asynchronous) or `consumer.receive()`
-(Synchronous) when consuming messages.
-
-|`QueueConnectionFactoryClassName` |A valid class name |None |Class name
-of `jakarta.jms.QueueConnectionFactory` implementation of the JMS client.
-This class must be made available on the application server classpath.
-Used if `ProviderIntegrationMode` is `javabean`.
-
-|`TopicConnectionFactoryClassName` |A valid class name |None |Class name
-of `jakarta.jms.TopicConnectionFactory` implementation of the JMS client.
-This class must be made available on the application server classpath.
-Used if `ProviderIntegrationMode` is specified as `javabean`.
-
-|`XAConnectionFactoryClassName` |A valid class name |None |Class name of
-`jakarta.jms.ConnectionFactory` implementation of the JMS client. This
-class must be made available on the application server classpath. Used
-if `ProviderIntegrationMode` is specified as `javabean`.
-
-|`XAQueueConnectionFactoryClassName` |A valid class name |None |Class
-name of `jakarta.jms.``XAQueueConnectionFactory` implementation of the JMS
-client. This class must be made available on the application server
-classpath. Used if `ProviderIntegrationMode` is specified as `javabean`.
-
-|`XATopicConnectionFactoryClassName` |A valid class name |None |Class
-name of `jakarta.jms.``XATopicConnectionFactory` implementation of the JMS
-client. This class must be made available on the application server
-classpath. Used if `ProviderIntegrationMode` is `javabean`.
-
-|`TopicClassName` |A valid class name |None |Class Name of
-`jakarta.jms.Topic` implementation of the JMS client. This class must be
-made available on the application server classpath. Used if
-`ProviderIntegrationMode` is `javabean`.
-
-|`QueueClassName` |A valid class name |None |Class Name of
-`jakarta.jms.Queue` implementation of the JMS client. This class must be
-made available on the application server classpath. Used if
-`ProviderIntegrationMode` is specified as a `javabean`.
-
-|`ConnectionFactoryProperties` |Name value pairs separated by comma
-|None |Specifies the `javabean` property names and values of the
-`ConnectionFactory` of the JMS client. Required only if
-`ProviderIntegrationMode` is `javabean`.
-
-|`JndiProperties` |Name value pairs separated by comma |None |Specifies
-the JNDI provider properties to be used for connecting to the JMS
-provider's JNDI. Used only if `ProviderIntegrationMode` is `jndi`.
-
-|`CommonSetterMethodName` |Method name |None |Specifies the common
-setter method name that some JMS vendors use to set the properties on
-their administered objects. Used only if `ProviderIntegrationMode` is
-`javabean`. For example, in the case of Message Queue, this would be
-`setProperty`.
-
-|`UserName` |Name of the JMS user |None |User name to connect to the JMS
-Provider.
-
-|`Password` |Password for the JMS user |None |Password to connect to the
-JMS provider.
-
-|`RMPolicy` |`ProviderManaged` or `OnePerPhysicalConnection`
-|`Provider``Managed` a|
-The `isSameRM` method on an `XAResource` is used by the Transaction
-Manager to determine if the Resource Manager instance represented by two
-`XAResources` are the same. When `RMPolicy` is set to `ProviderManaged`
-(the default value), the JMS provider is responsible for determining the
-`RMPolicy` and the `XAResource` wrappers in GenericJMSRA merely delegate
-the `isSameRM` call to the JMS provider's XA resource implementations.
-This should ideally work for most JMS providers.
-
-Some `XAResource` implementations such as WebSphere MQ rely on a
-resource manager per physical connection and this causes issues when
-there is inbound and outbound communication to the same queue manager in
-a single transaction (for example, when an MDB sends a response to a
-destination). When `RMPolicy` is set to `OnePerPhysicalConnection`, the
-XAResource wrapper implementation's `isSameRM` in GenericJMSRA would
-check if both the `XAResources` use the same physical connection, before
-delegating to the wrapped objects.
-
-|=======================================================================
-
-
-[[gbtwu]][[GSADG00675]][[connection-factory-properties]]
-
-Connection Factory Properties
-+++++++++++++++++++++++++++++
-
-`ManagedConnectionFactory` properties are specified when a
-`connector-connection-pool` is created. All the properties specified
-while creating the resource adapter can be overridden in a
-`ManagedConnectionFactory`. Additional properties available only in
-`ManagedConnectionFactory` are given below.
-
-[width="181%",cols="20%,8%,49%,23%",options="header",]
-|=======================================================================
-|Property Name |Valid Value |Default Value |Description
-|`ClientId` |A valid client ID |None |`ClientID` as specified by JMS 1.1
-specification.
-
-|`ConnectionFactoryJndiName` |JNDI Name |None |JNDI name of the
-connection factory bound in the JNDI tree of the JMS provider. The
-administrator should provide all connection factory properties (except
-`clientID`) in the JMS provider itself. This property name will be used
-only if `ProviderIntegratinMode` is `jndi`.
-
-|`ConnectionValidationEnabled` |true/false |false |If set to true, the
-resource adapter will use an exception listener to catch any connection
-exception and will send a `CONNECTION_ERROR_OCCURED` event to
-application server.
-|=======================================================================
-
-
-[[gbtxa]][[GSADG00676]][[destination-properties]]
-
-Destination Properties
-++++++++++++++++++++++
-
-Properties in this section are specified when a destination (queue or
-topic) is created. All the resource adapter properties can be overridden
-in a destination. Additional properties available only in the
-destination are given below.
-
-[width="100%",cols="31%,14%,11%,44%",options="header",]
-|=======================================================================
-|Property Name |Valid Value |Default Value |Description
-|`DestinationJndiName` |JNDI Name |None |JNDI name of the destination
-bound in the JNDI tree of the JMS provider. The Administrator should
-provide all properties in the JMS provider itself. This property name
-will be used only if `ProviderIntegrationMode` is `jndi`.
-
-|`DestinationProperties` |Name value pairs separated by a comma |None
-|Specifies the `javabean` property names and values of the destination
-of the JMS client. Required only if `ProviderIntegrationMode` is
-`javabean`.
-|=======================================================================
-
-
-[[gbtvf]][[GSADG00677]][[activation-spec-properties]]
-
-Activation Spec Properties
-++++++++++++++++++++++++++
-
-Properties in this section are specified in the GlassFish Server
-`glassfish-ejb-jar.xml` deployment descriptor of an MDB as
-`activation-config-properties`. All the resource adapter properties can
-be overridden in an Activation Spec. Additional properties available
-only in ActivationSpec are given below.
-
-[width="100%",cols="43%,14%,13%,30%",options="header",]
-|=======================================================================
-|Property Name |Valid Value |Default Value |Description
-|`MaxPoolSize` |An integer |8 |Maximum size of server session pool
-internally created by the resource adapter for achieving concurrent
-message delivery. This should be equal to the maximum pool size of MDB
-objects.
-
-|`MaxWaitTime` |An integer |3 |The resource adapter will wait for the
-time in seconds specified by this property to obtain a server session
-from its internal pool. If this limit is exceeded, message delivery will
-fail.
-
-|`SubscriptionDurability` |Durable or Non-Durable |Non-Durable
-|`SubscriptionDurability` as specified by JMS 1.1 specification.
-
-|`SubscriptionName` | + |None |`SubscriptionName` as specified by JMS
-1.1 specification.
-
-|`MessageSelector` |A valid message selector |None |`MessageSelector` as
-specified by JMS 1.1 specification.
-
-|`ClientID` |A valid client ID |None |`ClientID` as specified by JMS 1.1
-specification.
-
-|`ConnectionFactoryJndiName` |A valid JNDI Name |None |JNDI name of
-connection factory created in JMS provider. This connection factory will
-be used by resource adapter to create a connection to receive messages.
-Used only if `ProviderIntegrationMode` is configured as `jndi`.
-
-|`DestinationJndiName` |A valid JNDI Name |None |JNDI name of
-destination created in JMS provider. This destination will be used by
-resource adapter to create a connection to receive messages from. Used
-only if `ProviderIntegrationMode` is configured as `jndi`.
-
-|`DestinationType` |`jakarta.jms.Queue` or `jakarta.jms.Topic` |Null |Type
-of the destination the MDB will listen to.
-
-|`DestinationProperties` |Name-value pairs separated by comma |None
-|Specifies the `javabean` property names and values of the destination
-of the JMS client. Required only if `ProviderIntegrationMode` is
-`javabean`.
-
-|`RedeliveryAttempts` |integer | + |Number of times a message will be
-delivered if a message causes a runtime exception in the MDB.
-
-|`Redelivery``Interval` |time in seconds | + |Interval between repeated
-deliveries, if a message causes a runtime exception in the MDB.
-
-|`SendBadMessagesToDMD` |true/false |False |Indicates whether the
-resource adapter should send the messages to a dead message destination,
-if the number of delivery attempts is exceeded.
-
-|`DeadMessageDestinationJndiName` |a valid JNDI name. |None |JNDI name
-of the destination created in the JMS provider. This is the target
-destination for dead messages. This is used only if
-`ProviderIntegrationMode` is `jndi`.
-
-|`DeadMessageDestinationClassName` |class name of destination object.
-|None |Used if `ProviderIntegrationMode` is `javabean`.
-
-|`DeadMessageDestinationProperties` |Name Value Pairs separated by comma
-|None |Specifies the `javabean` property names and values of the
-destination of the JMS client. This is required only if
-`ProviderIntegrationMode` is `javabean`.
-
-|`DeadMessageConnectionFactoryJndiName` |a valid JNDI name |None |JNDI
-name of the connection factory created in the JMS provider. This is the
-target connection factory for dead messages. This is used only if
-`ProviderIntegrationMode` is `jndi`.
-
-|`DeadMessageDestinationType` |queue or topic destination |None |The
-destination type for dead messages.
-
-|`ReconnectAttempts` |integer |0 |Number of times a reconnect will be
-attempted in case exception listener catches an error on connection.
-
-|`ReconnectInterval` |time in seconds |0 |Interval between reconnects.
-|=======================================================================
-
-
-[[gkkuy]][[GSADG00778]][[using-genericjmsra-with-weblogic-jms]]
-
-Using GenericJMSRA with WebLogic JMS
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure GenericJMSRA to enable applications running in
-GlassFish Server to send messages to, and receive messages from, Oracle
-WebLogic JMS.
-
-GenericJMSRA should be used in conjunction with the WebLogic Server Thin
-T3 Client. Due to the nature of this client, messages exchanged between
-GlassFish Server and WebLogic Server cannot be sent or received in XA
-transactions. There is also only limited support for asynchronous
-receipt of messages in an MDB, as described in detail in
-link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS].
-
-The following topics are addressed here:
-
-* link:#gkmeb[Deploy the WebLogic Thin T3 Client JAR in GlassFish
-Server]
-* link:#gkmek[Configure WebLogic JMS Resources for Integration]
-* link:#gkmee[Create a Resource Adapter Configuration for GenericJMSRA
-to Work With WebLogic JMS]
-* link:#gkkxz[Deploy the GenericJMSRA Resource Archive]
-* link:#gkkwq[Configuring an MDB to Receive Messages from WebLogic JMS]
-* link:#gknjj[Accessing Connections and Destinations Directly]
-* link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS]
-* link:#gktfi[Configuration Reference of GenericJMSRA Properties for
-WebLogic JMS]
-
-[[gkmeb]][[GSADG00678]][[deploy-the-weblogic-thin-t3-client-jar-in-glassfish-server]]
-
-Deploy the WebLogic Thin T3 Client JAR in GlassFish Server
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-WebLogic Server provides several different clients for use by standalone
-applications that run outside of WebLogic Server. These client are
-summarized in
-"http://www.oracle.com/pls/as1111/lookup?id=SACLT117[Overview of
-Stand-alone Clients"] in Programming Stand-alone Clients for Oracle
-WebLogic Server. When connecting from GlassFish Server to WebLogic JMS
-resources you must use the WebLogic Thin T3 client,
-`wlthint3client.jar`.
-
-There are a couple of methods to deploy the WebLogic Thin T3 client in
-GlassFish Server and make it available to GenericJMSRA:
-
-* To make the Thin T3 client available to all applications, copy the
-`wlthint3client.jar` to the as-install`/lib` directory under your
-GlassFish Server installation. The Thin T3 client can be found in a
-WebLogic Server installation in a directory similar to
-MW_HOME`/server/lib`.
-* It is also possible to deploy the Thin T3 client in a less global
-manner, so that it is specific to an individual application. For
-information on how to do this, see
-"link:../application-development-guide/class-loaders.html#GSDVG00099[Application-Specific Class Loading]" in GlassFish
-Server Open Source Edition Application Development Guide.
-
-[[gkmek]][[GSADG00679]][[configure-weblogic-jms-resources-for-integration]]
-
-Configure WebLogic JMS Resources for Integration
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-If you need to configure the necessary WebLogic JMS resources on the
-WebLogic Server from which you want to access messages using GlassFish
-Server, then follow the instructions in the WebLogic Server
-documentation for configuring the necessary resources, such as
-destinations, and connection factories.
-
-* JMS System Module Configuration
-* Queue and Topic Destination Configuration
-* Connection Factory Configuration
-
-The example code snippets in this section refer to a WebLogic JMS
-connection factory named `WLoutboundQueueFactory` and queue destination
-named `WLoutboundQueue`. For conceptual overviews on configuring
-WebLogic JMS resources, refer to
-"http://www.oracle.com/pls/as1111/lookup?id=JMSAD123[Understanding JMS
-Resource Configuration]" in Configuring and Managing JMS for Oracle
-WebLogic Server. For detailed instructions on configuring WebLogic JMS
-resources, refer to
-"http://www.oracle.com/pls/as1111/lookup?id=WLACH01854[Configure JMS
-system modules and add JMS resources]" in the WebLogic Administration
-Console Online Help.
-
-[[gkmee]][[GSADG00680]][[create-a-resource-adapter-configuration-for-genericjmsra-to-work-with-weblogic-jms]]
-
-Create a Resource Adapter Configuration for GenericJMSRA to Work With WebLogic JMS
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-When you deploy GenericJMSRA, you also need to create a resource adapter
-configuration in GlassFish Server. You can do this using either the
-Administration Console or the `asadmin` command. If you use
-theAdministration Console then you need deploy the GenericJMSRA resource
-archive first. Here's an example using `asadmin`:
-
-[source,oac_no_warn]
-----
-asadmin create-resource-adapter-config --host localhost --port 4848 --property
-SupportsXA=false:DeliveryType=Synchronous:ProviderIntegrationMode
-                          =jndi:JndiProperties=java.naming.factory.initial\
-                          =weblogic.jndi.WLInitialContextFactory,java.naming.provider.url\
-                          =t3\://localhost\:7001,java.naming.factory.url.pkgs\
-                          =weblogic.corba.client.naming genericra
-----
-
-This creates a resource adapter configuration with the name `genericra`,
-and Oracle recommends not changing the default name. The resource
-adapter configuration is configured with the properties specified using
-the `--properties` argument; multiple properties are configured as a
-colon-separated list of name-value pairs that are entered as a single
-line. You will also need to change the host and port that WebLogic
-Server is running on to suit your installation.
-
-In this example, the following properties are configured:
-
-[width="100%",cols="28%,72%",options="header",]
-|===============================================================
-|Property |Value
-|`SupportsXA` |`false`
-|`DeliveryType` |`Synchronous`
-|`ProviderIntegrationMode` |`jndi`
-|`JndiProperties` a|
-[source,oac_no_warn]
-----
-java.naming.factory.initial
-=weblogic.jndi.WLInitialContextFactory,java.naming.provider.url
-=t3://localhost:7001,java.naming.factory.url.pkgs
-=weblogic.corba.client.naming
-
-(replace "localhost:7001" with the host:port of WebLogic Server)
-----
-
-|===============================================================
-
-
-You must use the same values for `SupportsXA`, `DeliveryType` and
-`ProviderIntegrationMode` as the required values that are used in this
-table. The `JndiProperties` value must be set to a list of JNDI
-properties needed for connecting to WebLogic JNDI.
-
-
-[NOTE]
-=======================================================================
-
-When using `asadmin` you need to escape each `=` and any `:` characters
-by prepending a backward slash `\`. The escape sequence is not necessary
-if the configuration is performed through the Administration Console.
-
-=======================================================================
-
-
-For a description of all the resource adapter properties that are
-relevant for WebLogic JMS, see the link:#gktfi[Configuration Reference
-of GenericJMSRA Properties for WebLogic JMS].
-
-[[gkkxz]][[GSADG00498]][[deploy-the-genericjmsra-resource-archive]]
-
-Deploy the GenericJMSRA Resource Archive
-++++++++++++++++++++++++++++++++++++++++
-
-1.  Download the GenericJMSRA resource archive (genericra.rar).
-2.  Deploy the resource adapter. You can do this using either the
-Administration Console or the `asadmin` deploy command. Here's an
-example using the `asadmin` deploy command: +
-[source,oac_no_warn]
-----
-$ asadmin deploy --user admin --password adminadmin
-  <location of the generic resource adapter rar file>
-----
-If you deploy the resource adapter using the Administration Console,
-then after deployment you need to create a resource adapter
-configuration as described in link:#gkmee[Create a Resource Adapter
-Configuration for GenericJMSRA to Work With WebLogic JMS].
-
-[[gkkwq]][[GSADG00499]][[configuring-an-mdb-to-receive-messages-from-weblogic-jms]]
-
-Configuring an MDB to Receive Messages from WebLogic JMS
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In this example, all configuration information is defined in two
-deployment descriptor files: `ejb-jar.xml` and the GlassFish Server
-`glassfish-ejb-jar.xml` file. To configure a MDB to receive messages
-from WebLogic JMS, you would configure these deployment descriptor files
-as follows:
-
-1.  Configure the ejb-jar.xml deployment descriptor: +
-[source,oac_no_warn]
-----
-<ejb-jar>
-  <enterprise-beans>
-    <message-driven>
-      <ejb-name>SimpleMessageEJB</ejb-name>
-      <ejb-class>test.simple.queue.ejb.SimpleMessageBean</ejb-class>
-      <transaction-type>Container</transaction-type>
-    </message-driven>
-  </enterprise-beans>
-  <assembly-descriptor>
-    <container-transaction>
-      <method>
-        <ejb-name>SimpleMessageEJB</ejb-name>
-        <method-name>onMessage</method-name>
-        <method-params>
-          <method-param>jakarta.jms.Message</method-param>
-        </method-params>
-      </method>
-      <trans-attribute>NotSupported</trans-attribute>
-    </container-transaction>
-  </assembly-descriptor>
-</ejb-jar>
-----
-::
-
-[NOTE]
-=======================================================================
-
-If container-managed transactions are configured, then the transactional
-attribute must be set to `NotSupported`. For more information, see
-link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS].
-
-=======================================================================
-
-2.  Configure the glassfish-ejb-jar.xml deployment descriptor: +
-[source,oac_no_warn]
-----
-<sun-ejb-jar>
-  <enterprise-beans>
-    <ejb>
-      <ejb-name>SimpleMessageEJB</ejb-name>
-      <mdb-resource-adapter>
-        <resource-adapter-mid>genericra</resource-adapter-mid>
-        <activation-config>
-          <activation-config-property>
-            <activation-config-property-name>
-              ConnectionFactoryJndiName
-            </activation-config-property-name>
-            <activation-config-property-value>
-              jms/WLInboundQueueFactory
-            </activation-config-property-value>
-          </activation-config-property>
-          <activation-config-property>
-            <activation-config-property-name>
-              DestinationJndiName
-            </activation-config-property-name>
-            <activation-config-property-value>
-              jms/WLInboundQueue
-            </activation-config-property-value>
-          </activation-config-property>
-        </activation-config>
-      </mdb-resource-adapter>
-    </ejb>
-  </enterprise-beans>
-</sun-ejb-jar>
-----
-where: +
-The `<resource-adapter-mid>genericra</resource-adapter-mid>` element is
-used to specify the resource adapter and resource adapter configurations
-that was deployed in the link:#gkmee[Create a Resource Adapter
-Configuration for GenericJMSRA to Work With WebLogic JMS] instructions.
-It is recommended you stick to `genericra` as is used here. +
-The `activation-config` element in `glassfish-ejb-jar.xml` is the one
-which defines how and where the MDB receives messages, as follows:
-* The `ConnectionFactoryJndiName` property must be set to the JNDI name
-of the connection factory in the WebLogic JNDI store that will be used
-to receive messages. Therefore, replace `jms/WLInboundQueueFactory` in
-the example above with the JNDI name used in your environment.
-* The `DestinationJndiName` property must be set to the JNDI name of the
-destination (the queue or topic from which messages will be consumed) in
-the WebLogic JNDI store. Therefore, replace `jms/WLInboundQueue` in the
-example above with the JNDI name used in your environment. +
-For a description of all the ActivationSpec properties that are relevant
-for WebLogic JMS, see the link:#gktfi[Configuration Reference of
-GenericJMSRA Properties for WebLogic JMS]. +
-Make sure to use the appropriate WebLogic administration tools, such as
-the WebLogic Administration Console or the WebLogic Scripting Tool
-(WLST). For more information, see
-"http://www.oracle.com/pls/as1111/lookup?id=WLACH01853[Configure
-Messaging]" in WebLogic Server Administration Console Online Help and
-http://www.oracle.com/pls/as1111/lookup?id=WLSTC112[WebLogic Server WLST
-Online and Offline Command Reference].
-
-[[gknjj]][[GSADG00500]][[accessing-connections-and-destinations-directly]]
-
-Accessing Connections and Destinations Directly
-+++++++++++++++++++++++++++++++++++++++++++++++
-
-When configuring a MDB to consume messages from WebLogic JMS your code
-does not need to access the WebLogic JMS connection factory and
-destination directly. You simply define them in the activation
-configuration, as shown in link:#gkkwq[Configuring an MDB to Receive
-Messages from WebLogic JMS]. However when configuring an MDB to send
-messages, or when configuring a EJB, Servlet, or application client to
-either send or receive messages, your code needs to obtain these objects
-using a JNDI lookup.
-
-
-[NOTE]
-=======================================================================
-
-If you want configure connections and destination resources using the
-Administration Console, this is explained in the Administration Console
-online help. When using Administration Console, follow the instructions
-for creating a new Connector Connection Pool and Admin Object Resources,
-and not the instructions for creating a JMS Connection Pool and
-Destination Resources. For more information about using `asadmin` to
-create these resources, see link:connectors.html#gioce[To Create a
-Connector Connection Pool] and link:connectors.html#giogt[To Create a
-Connector Resource].
-
-=======================================================================
-
-
-1.  Looking up the connection factory and destination +
-The following code looks up a connection factory with the JNDI name
-`jms/QCFactory` and a queue with the name`jms/outboundQueue` from the
-GlassFish Server JNDI store: +
-[source,oac_no_warn]
-----
-     Context initialContect  = new InitialContext();
-     QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) 
-          jndiContext.lookup("java:comp/env/jms/MyQCFactory");
-     Queue queue = (Queue) jndiContext.lookup("java:comp/env/jms/outboundQueue");
-----
-Note that the resources used are GlassFish Server resources, not
-WebLogic JMS resources. For every connection factory or destination that
-you want to use in the WebLogic JMS JNDI store, you need to create a
-corresponding connection factory or destination in the GlassFish Server
-JNDI store and configure the GlassFish Server object to point to the
-corresponding WebLogic JMS object.
-2.  Declaring the connection factory and destination +
-In accordance with standard Java EE requirements, these resources need
-to be declared in the deployment descriptor for the MDB, EJB or other
-component. For example, for a session bean, configure the `ejb-jar.xml`
-with `<resource-env-ref>` elements, as follows: +
-[source,oac_no_warn]
-----
-<ejb-jar>
-  <enterprise-beans>
-    <session>
-      . . .
-      <resource-env-ref>
-        <resource-env-ref-name>jms/QCFactory</resource-env-ref-name>
-        <resource-env-ref-type>jakarta.jms.QueueConnectionFactory</resource-env-ref-type>
-      </resource-env-ref>
-      <resource-env-ref>
-        <resource-env-ref-name>jms/outboundQueue</resource-env-ref-name>
-        <resource-env-ref-type>jakarta.jms.Queue</resource-env-ref-type>
-      </resource-env-ref>
-----
-3.  Create a Connector Connection Pool and Connector Resource by
-entering the following `asadmin` commands, both all in one line: +
-In order to configure a JMS Connection Factory using GenericJMSRA, a
-Connector connection pool and resource need to be created in GlassFish
-Server using names that map to the corresponding connection factory in
-the WebLogic JNDI store. +
-[source,oac_no_warn]
-----
-asadmin create-connector-connection-pool --host localhost --port 4848
-   --raname genericra --connectiondefinition jakarta.jms.QueueConnectionFactory 
-   --target server --transactionsupport LocalTransaction
-   --property ConnectionFactoryJndiName=jms/WLOutboundQueueFactory
-     qcpool
-
-asadmin create-connector-resource --host localhost --port 4848 
-    --poolname qcpool --target server jms/QCFactory
-----
-These `asadmin` commands together creates a connection factory in
-GlassFish Server and its corresponding connection pool.
-* The connection pool has the JNDI name `jms/WLoutboundQueueFactory` and
-obtains connections from a connection pool named `qcpool`.
-* The connection pool `qcpool` uses the resource adapter `genericra` and
-contains objects of type `jakarta.jms.QueueConnectionFactory`.
-* The `transactionsupport` argument is set to `LocalTransaction`, which
-specifies that the connection will be used in local transactions only.
-You can also specify `NoTransaction`. However, the default setting of
-`XATransaction` cannot be used. For more information, see
-link:#gkkvz[Limitations When Using GenericJMSRA with WebLogic JMS].
-* The connection pool is configured with the properties specified using
-the `properties` argument; multiple properties are configured as a
-colon-separated list of name-value pairs. Only one property is
-configured in this example, as follows: +
-[source,oac_no_warn]
-----
-ConnectionFactoryJndiName=jms/WLOutboundQueueFactory
-----
-The `ConnectionFactoryJndiName` property must be set to the JNDI name of
-the corresponding connection factory in the WebLogic JMS JNDI store.
-Therefore, replace `jms/WLOutboundQueueFactory` in the example above
-with the JNDI name used in your environment.
-* For a description of the `ManagedConnectionFactory` properties that
-are relevant for WebLogic JMS, see the link:#gktfi[Configuration
-Reference of GenericJMSRA Properties for WebLogic JMS].
-4.  Create a destination object that refers to a corresponding WebLogic
-JMS destination by entering the following `asadmin` command, all in one
-line: +
-[source,oac_no_warn]
-----
-asadmin create-admin-object --host localhost --port 4848 --target server 
-    --restype jakarta.jms.Queue --property DestinationJndiName=jms/WLOutboundQueue 
-    --raname genericra jms/outboundQueue
-----
-This `asadmin` command creates a destination in GlassFish Server.
-* The destination has the JNDI name `jms/outboundQueue`, uses the
-resource adapter `genericra`, and is of type `jakarta.jms.Queue`.
-* The destination is configured with the properties specified using the
-`properties` argument; multiple properties are configured as a
-colon-separated list of name-value pairs. Only one property is
-configured in this example, as follows: +
-[source,oac_no_warn]
-----
-DestinationJndiName=jms/WLOutboundQueue
-----
-The `DestinationJndiName` property must be set to the JNDI name of the
-corresponding destination in the WebLogic JMS JNDI store. Therefore,
-replace `jms/WLOutboundQueue` in the example above with the JNDI name
-used in your environment.
-* For a description of the destination properties that are relevant for
-WebLogic JMS, see the link:#gktfi[Configuration Reference of
-GenericJMSRA Properties for WebLogic JMS].
-
-[[gkkvz]][[GSADG00681]][[limitations-when-using-genericjmsra-with-weblogic-jms]]
-
-Limitations When Using GenericJMSRA with WebLogic JMS
-+++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Due to the nature of the WebLogic T3 Thin Client there are a number of
-limitations in the way in which it can be used with GenericJMSRA.
-
-[[gknho]][[GSADG00091]][[no-support-for-xa-transactions]]
-
-No Support for XA Transactions
-
-WebLogic JMS does not support the optional JMS "Chapter 8" interfaces
-for XA transactions in a form suitable for use outside of WebLogic
-Server. Therefore, the GenericJMSRA configuration must have the
-`SupportsXA` property set to `-false`. This has a number of implications
-for the way in which applications may be used, as described in this
-section.
-
-Using a MDB to Receive Messages: Container-managed Transactions (CMT)
-
-* If container-managed transactions are used, the transactional
-attribute of a MDB should be set to `NotSupported`. No transaction will
-be started. Messages will be received in a non-transacted session with
-an acknowledgeMode of `AUTO_ACKNOWLEDGE`.
-* A transactional `Required` attribute should not be used; otherwise,
-MDB activation will fail with an exception:
-`javax.resource.ResourceException: MDB is configured to use container managed transaction. But SupportsXA is configured to false in the resource adapter.`
-
-The remaining transactional attributes are normally considered
-inappropriate for use with a MDB. If used, the following behavior will
-occur:
-
-* If the transactional attribute is `RequiresNew`, then MDB activation
-will fail with an exception:
-`javax.resource.ResourceException: MDB is configured to use container managed transaction But SupportsXA is configured to false in the resource adapter.`
-* If the transactional attribute is `Mandatory`, the MDB can be
-activated but a `TransactionRequiredException` (or similar) will always
-be thrown by the server.
-* If the transactional attribute is `Supports`, then no transaction will
-be started and the MDB will work as if `NotSupported` had been used.
-* If the transactional attribute is `Never`, then no transaction will be
-started and the MDB will work as if `NotSupported` had been used.
-
-Using a MDB to Receive Messages: Bean-managed Transactions (BMT)
-
-* If bean-managed transactions are configured in accordance with the EJB
-specification any `UserTransaction` started by the bean will have no
-effect on the consumption of messages.
-* Messages will be received in a non-transacted session with an
-acknowledgeMode of `AUTO_ACKNOWLEDGE`.
-
-Accessing Connections and Destinations Directly - Container-managed
-Transactions (CMT)
-
-When accessing connections directly (such as when sending messages from
-a MDB or an EJB) and container-managed transactions are being used, the
-connection pool's `transaction-support` property should be set to either
-`LocalTransaction` or `NoTransaction`. If the default value of
-`XATransaction` is used, an exception will be thrown at runtime when
-`createConnection()` is called. This is the case irrespective of the
-transactional attribute of the MDB or EJB. Note that MDBs must have
-their transactional attribute set to `NotSupported` as specified above;
-whereas, an EJB can use any transactional attribute.
-
-If there is no transaction in progress within the bean method (for
-example, `notSupported` is being used) then it does not make any
-difference whether the connection pool's `transaction-support` property
-is set to `LocalTransaction` or `NoTransaction`; the transactional
-behavior will be determined by the arguments to `createSession()`. If
-you want the outbound message to be sent without a transaction, call
-`createSession(false, ...)`. If you want the outbound message to be sent
-in a local transaction call
-`createSession(true, Session.SESSION_TRANSACTED)`, remembering to call
-`session.commit()` or `session.rollback()`after the message is sent.
-
-If there is a transaction in progress within the bean method (which will
-only be possible for EJBs), then setting the connection pool's
-`transaction-support` property to `LocalTransaction` or `NoTransaction`
-gives different results:
-
-* If it is set to `NoTransaction` then a non-transacted session will be
-used.
-* If it is set to `LocalTransaction` then a (local, non-XA) transacted
-session will be used, which will be committed or rolled back when the
-`UserTransaction` is committed or rolled back. In this case, calling
-`session.commit()` or `session.rollback()` will cause an exception.
-
-No Support for Redelivery Limits and Dead Message Queue
-
-Due to the lack of XA support when using WebLogic JMS, there is no
-support for GenericJMSRA's dead message queue feature, in which a
-message that has been redelivered to a MDB a defined number of times is
-sent to a dead message queue.
-
-[[gknft]][[GSADG00092]][[limited-support-for-asynchronous-receipt-of-messages-in-a-mdb]]
-
-Limited Support for Asynchronous Receipt of Messages In a MDB
-
-WebLogic JMS does not support the optional JMS "Chapter 8" interfaces
-for "Concurrent Processing of a Subscription's Messages" (that is,
-`ServerSession`, `ServerSessionPool` and `ConnectionConsumer`) in a form
-suitable for use outside of WebLogic Server. Therefore, the generic
-JMSRA configuration must set the property `DeliveryType` to
-`Synchronous`.
-
-This affects the way in which MDBs consume messages from a queue or
-topic as follows:
-
-* When messages are being received from a queue, each MDB instance will
-have its own session and consumer, and it will consume messages by
-repeatedly calling `receive(timeout)`. This allows the use of a pool of
-MDBs to process messages from the queue.
-* When messages are being received from a topic, only one MDB instance
-will be used irrespective of the configured pool size. This means that a
-pool of multiple MDBs cannot be used to share the load of processing
-messages, which may reduce the rate at which messages can be received
-and processed. +
-This restriction is a consequence of the semantics of synchronously
-consuming messages from topics in JMS: In the case of non-durable topic
-subscriptions, each consumer receives a copy of all the messages on the
-topic, so using multiple consumers would result in multiple copies of
-each message being received rather than allowing the load to be shared
-among the multiple MDBs. In the case of durable topic subscriptions,
-only one active consumer is allowed to exist at a time.
-
-[[gktfi]][[GSADG00682]][[configuration-reference-of-genericjmsra-properties-for-weblogic-jms]]
-
-Configuration Reference of GenericJMSRA Properties for WebLogic JMS
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The tables in this section list the properties that need to be set to
-configure the resource adapter and any activation specs, managed
-connections, and other administered objects that are relevant only when
-using GenericJMSRA to communicate with WebLogic JMS. For a complete list
-of properties, see the comprehensive table in link:#gbtvu[GenericJMSRA
-Configuration Properties]
-
-Resource Adapter Properties
-
-These properties are used to configure the resource adapter itself when
-it is deployed, and can be specified using the
-`create-resource-adapter-config` command.
-
-[width="100%",cols="28%,42%,30%",options="header",]
-|=======================================================================
-|Property Name |Required Value |Description
-|`SupportsXA` |`false` a|
-Specifies whether the JMS client supports XA transactions.
-
-Set to `false` for WebLogic JMS.
-
-|`DeliveryType` |`Synchronous` a|
-Specifies whether an MDB should use a `ConnectionConsumer`
-(Asynchronous) or `consumer.receive()` (Synchronous) when consuming
-messages.
-
-Set to `Synchronous` for WebLogic JMS.
-
-|`ProviderIntegrationMode` |`jndi` a|
-Specifies that connection factories and destinations in GlassFish's JNDI
-store are configured to refer to connection factories and destinations
-in WebLogic's JNDI store.
-
-Set to `jndi` for WebLogic JMS.
-
-|`JndiProperties` a|
-[source,oac_no_warn]
-----
-java.naming.factory.initial
-=weblogic.jndi.WLInitialContextFactory,
-java.naming.provider.url
-=t3://localhost:7001,java.naming.factory.url.pkgs
-=weblogic.corba.client.naming
-(replace localhost:7001 with
-the host:port of WebLogic Server)
-----
-
- |JNDI properties for connect to WebLogic JNDI, specified as
-comma-separated list of name=value pairs without spaces.
-
-|`UserName` |`Name of the WebLogic JMS user` |User name to connect to
-WebLogic JMS. The user name can be overridden in `ActivationSpec` and
-`ManagedConnection`. If no user name is specified anonymous connections
-will be used, if permitted.
-
-|`Password` |`Password for the WebLogic JMS user` |Password to connect
-to WebLogic JMS. The password can be overridden in `ActivationSpec` and
-`ManagedConnection`.
-
-|`LogLevel` |`Desired log level of JDK logger` |Used to specify the
-level of logging.
-|=======================================================================
-
-
-Connection Factory Properties
-
-`ManagedConnectionFactory` objects are created in the GlassFish Server
-JNDI store using the Administration Console or the
-`asadmin connector-connection-pool` command. All the properties that can
-be set on a resource adapter configuration can be overridden by setting
-them on a destination object. The properties specific to
-`ManagedConnectionFactory` objects are listed in the following table.
-
-[width="100%",cols="39%,14%,10%,37%",options="header",]
-|=======================================================================
-|Property Name |Valid Value |Default Value |Description
-|`ClientId` |A valid client ID |None |`ClientID` as specified by JMS 1.1
-specification.
-
-|`ConnectionFactoryJndiName` |A valid JNDI Name |None |JNDI name of
-connection factory in the GlassFish Server JNDI store. This connection
-factory should be configured to refer to the physical connection factory
-in the WebLogic JNDI store.
-
-|`ConnectionValidationEnabled` |`true` or `false` |FALSE |If set to
-`true`, the resource adapter will use an exception listener to catch any
-connection exception and will send a `CONNECTION_ERROR_OCCURED` event to
-GlassFish Server.
-|=======================================================================
-
-
-Destination Properties
-
-Destination (queue or topic) objects are created in the GlassFish Server
-JNDI store using the Administration Console or the
-`asadmin connector-admin-object` command. All the properties that can be
-set on a resource adapter configuration can be overridden by setting
-them on a destination object. The properties specific to destination
-objects are listed in the following table.
-
-[width="100%",cols="28%,14%,10%,48%",options="header",]
-|=======================================================================
-|Property Name |Valid Value |Default Value |Description
-|`DestinationJndiName` |A valid JNDI name |None |JNDI name of the
-destination object in the GlassFish Server JNDI store. This destination
-object should be configured to refer to the corresponding physical
-destination in the WebLogic JNDI store.
-|=======================================================================
-
-
-ActivationSpec Properties
-
-An ActivationSpec is a set of properties that configures a MDB. It is
-defined either in the MDB's GlassFish Server deployment descriptor
-`glassfish-ejb-jar.xml` using `activation-config-property` elements or
-in the MDB itself using annotation. All the resource adapter properties
-listed in the table above can be overridden in an ActivationSpec.
-Additional properties available only to a ActivationSpec are given
-below.
-
-[width="100%",cols="30%,19%,14%,37%",options="header",]
-|=======================================================================
-|Property Name |Valid Value |Default Value |Description
-|`MaxPoolSize` |An integer |8 a|
-Maximum size of server session pool internally created by the resource
-adapter for achieving concurrent message delivery. This should be equal
-to the maximum pool size of MDB objects.
-
-Only used for queues; ignored for topics, when a value of 1 is always
-used.
-
-|`SubscriptionDurability` |`Durable` or `Non-Durable` |`Non-Durable`
-|Only used for topics. Specifies whether the subscription is durable or
-non-durable.
-
-|`SubscriptionName` | + |None |Only used for topics when
-`SubscriptionDurability` is `Durable`. Specifies the name of the durable
-subscription.
-
-|`MessageSelector` |A valid message selector |None |JMS message
-selector.
-
-|`ClientID` |A valid client ID |None |JMS ClientID.
-
-|`ConnectionFactoryJndiName` |A valid JNDI Name |None |JNDI name of
-connection factory in the GlassFish Server JNDI store. This connection
-factory should be configured to refer to the physical connection factory
-in the WebLogic JNDI store.
-
-|`DestinationJndiName` |A valid JNDI Name |None |JNDI name of
-destination in the GlassFish Server JNDI store. This destination should
-be configured to refer to the physical destination in the WebLogic JNDI
-store.
-
-|`DestinationType` |`jakarta.jms.Queue` or `jakarta.jms.Topic` |Null
-|Specifies whether the configured `DestinationJndiName` refers to a
-queue or topic.
-
-|`ReconnectAttempts` |integer |0 |Number of times a reconnect will be
-attempted in case exception listener catches an error on connection.
-
-|`ReconnectInterval` |time in seconds |0 |Interval between reconnection
-attempts.
-|=======================================================================
-
-
-[[gkslb]][[GSADG00779]][[using-genericjmsra-with-ibm-websphere-mq]]
-
-Using GenericJMSRA with IBM WebSphere MQ
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure GenericJMSRA to enable applications running in
-GlassFish Server to send messages to, and receive messages from, IBM
-WebSphere MQ. GlassFish Serveronly supports using GenericJMSRA with
-WebSphere MQ version 6.0 and WebSphere MQ version 7.0
-
-These instructions assume that the WebSphere MQ broker and GlassFish
-Server are deployed and running on the same physical host/machine. If
-you have the WebSphere MQ broker running on a different machine and need
-to access it remotely, refer to the WebSphere MQ documentation for
-configuration details. The resource adapter configuration and other
-application server related configuration remains unchanged.
-
-The following topics are addressed here:
-
-* link:#gksiw[Preliminary Setup Procedures for WebSphere MQ Integration]
-* link:#gksli[Configure the WebSphere MQ Administered Objects]
-* link:#gksni[Create a Resource Adapter Configuration for GenericJMSRA
-to Work With WebSphere MQ]
-* link:#gksnh[Deploy the GenericJMSRA Archive]
-* link:#gkson[Create the Connection Factories and Administered Objects
-in GlassFish Server]
-* link:#gktmn[Configuring an MDB to Receive Messages from WebSphere MQ]
-
-[[gksiw]][[GSADG00683]][[preliminary-setup-procedures-for-websphere-mq-integration]]
-
-Preliminary Setup Procedures for WebSphere MQ Integration
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Before you can configure WebSphere MQ to exchange messages with
-GlassFish Server, you must complete the following tasks:
-
-* The following permissions must be added to the `server.policy` and the
-`client.policy` file to deploy GenericJMSRA and to run the client
-application.
-
-** Use a text editor to modify the `server.policy` file in the
-`${appserver-install-dir}/domains/domain1/config/`directory by adding
-the following line to the default grant block: +
-[source,oac_no_warn]
-----
-permission java.util.logging.LoggingPermission "control";
-permission java.util.PropertyPermission "*", "read,write";
-----
-
-** If you use an application client in your application, edit the
-client's `client.policy` file in the
-`${appserver-install-dir}/lib/appclient/` directory by adding the
-following permission: +
-[source,oac_no_warn]
-----
-permission javax.security.auth.PrivateCredentialPermission
-"javax.resource.spi.security.PasswordCredential * \"*\"","read";
-----
-* To integrate GlassFish Serverwith WebSphere MQ 6.0 or 7.0, copy the
-necessary JAR files to the as-install`/lib` directory:
-
-** For WebSphere MQ 6.0, copy these JAR files to the as-install`/lib`
-directory: +
-[source,oac_no_warn]
-----
-/opt/mqm/java/lib/com.ibm.mq.jar
-/opt/mqm/java/lib/com.ibm.mq.jms.Nojndi.jar
-/opt/mqm/java/lib/com.ibm.mq.soap.jar
-/opt/mqm/java/lib/com.ibm.mqjms.jar
-/opt/mqm/java/lib/com.ibm.mqetclient.jar
-/opt/mqm/java/lib/commonservices.jar
-/opt/mqm/java/lib/dhbcore.jar
-/opt/mqm/java/lib/rmm.jar
-/opt/mqm/java/lib/providerutil.jar
-/opt/mqm/java/lib/CL3Export.jar
-/opt/mqm/java/lib/CL3Nonexport.jar
-----
-where `/opt/mqm` is the location of the WebSphere MQ 6.0 installation.
-
-** For WebSphere MQ 7.0, copy these JAR files to the as-install`/lib`
-directory: +
-[source,oac_no_warn]
-----
-/opt/mqm/java/lib/com.ibm.mq.jar,
-/opt/mqm/java/lib/com.ibm.mq.jms.Nojndi.jar,
-/opt/mqm/java/lib/com.ibm.mq.soap.jar,
-/opt/mqm/java/lib/com.ibm.mqjms.jar,
-/opt/mqm/java/lib/com.ibm.mq.jmqi.jar,
-/opt/mqm/java/lib/com.ibm.mq.commonservices.jar,
-/opt/mqm/java/lib/dhbcore.jar,
-/opt/mqm/java/lib/rmm.jar,
-/opt/mqm/java/lib/providerutil.jar,
-/opt/mqm/java/lib/CL3Export.jar,
-/opt/mqm/java/lib/CL3Nonexport.jar
-----
-where `/opt/mqm` is the location of the WebSphere MQ 7.0 installation.
-* Set the `LD_LIBRARY_PATH` environment variable to the `java/lib`
-directory, and then restart GlassFish Server. For example, in a
-UNIX—based system, with WebSphere MQ installed under `/opt/mqm`, you
-would enter: +
-[source,oac_no_warn]
-----
-$ export LD_LIBRARY_PATH=/opt/mqm/java/lib
-----
-
-[[gksli]][[GSADG00501]][[configure-the-websphere-mq-administered-objects]]
-
-Configure the WebSphere MQ Administered Objects
-+++++++++++++++++++++++++++++++++++++++++++++++
-
-This section provides an example of how you could configure the
-necessary administered objects, such as destinations and connection
-factories, on the WebSphere MQ instance from which you want to access
-messages using GlassFish Server. Therefore, you will need to change the
-administered object names to suit your installation.
-
-[[GSADG1028]]
-
-Before You Begin
-
-If WebSphere MQ created a user and a group named `mqm` during the
-installation, then you must specify a password for the `mqm` user using
-the `$ passwd mqm` command.
-
-image:img/websphere-mq.png[
-"This graphic represents all of the administered objects created in this
-example configuration."]
-
-
-1.  Switch to the `mqm` user: +
-`$ su mqm`
-2.  For Linux, set the following kernel version: +
-`$ export LD_ASSUME_KERNEL=2.2.5`
-3.  Create a new MQ queue manager named "QM1": +
-`$ crtmqm QM1`
-4.  Start the new MQ queue manager. +
-In the image above, `QM1` is associated with the IBM WebSphere MQ
-broker. +
-`$ strmqm QM1`
-5.  Start the MQ listener: +
-`$ runmqlsr -t tcp -m QM1 -p 1414 &`
-6.  Modify the default JMSAdmin console configuration as follows:
-1.  Edit the JMSAdmin script in the `/opt/mqm/java/bin` directory to
-change the JVM to a location of a valid JVM your system.
-2.  Set the relevant environment variable required for JMSAdmin by
-sourcing the `setjmsenv` script located in the `/opt/mqm/java/bin`
-directory. +
-[source,oac_no_warn]
-----
-$ cd /opt/mqm/java/bin
-$ source setjmsenv
-----
-where `/opt/mqm` is the location of the WebSphere MQ installation.
-3.  Change the JMSAdmin.config file to indicate the Initial Context
-Factory you will be using by setting the following name-value pairs and
-commenting out the rest: +
-[source,oac_no_warn]
-----
-INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
-    PROVIDER_URL=file:/opt/tmp
-----
-7.  Create WebSphere MQ queues using the runmqsc console and
-MQJMS_PSQ.mqsc script. +
-`$ runmqsc QM1 < MQJMS_PSQ.mqsc`
-8.  Create user defined physical queue for your application using
-runmqsc console and an appropriate physical queue name. An example of
-how this could be done is shown below. +
-In the image above, `ORANGE.LOCAL.QUEUE` is associated with `QM1`. +
-[source,oac_no_warn]
-----
-     $ runmqsc QM1
-             > DEFINE QLOCAL(ORANGE.LOCAL.QUEUE)
-             > end
-----
-9.  Start the WebSphere MQ Broker: +
-`$ strmqbrk -m QM1`
-10. In the WebSphere MQ JMSAdmin console, use the following commands to
-create the connection factories, XA connection factories, and
-destinations for your application, as shown in the following sample,
-which lists each of the various JMS administered objects. +
-In the image above, `QCF` (for `QM1`) and `TQueue` (associated with
-`ORANGE.LOCAL.QUEUE`) are defined in the `FileSystem Naming Context`. +
-[source,oac_no_warn]
-----
-$ ./JMSAdmin
-   
-   InitCtx>def qcf<JNDI name to be given to the Queue Connection Factory> 
-     hostname<IBM MQ server hostname> port(1414) channel(SYSTEM.DEF.SVRCONN)
-     transport(CLIENT) qmanager<name of queue manager defined>
-   
-     For example:
-     def qcf(QCF) hostname(localhost) port(1414) channel(SYSTEM.DEF.SVRCONN) 
-      transport(CLIENT) qmanager(QM1)
-   
-   InitCtx%def xaqcf<JNDI name to be given to the XA Queue Connection Factory> 
-     hostname<IBM MQ server hostname> port(1414) channel(SYSTEM.DEF.SVRCONN)
-     transport(CLIENT) qmanager<name of queue manager defined>
-  
-     For example:
-     def xaqcf(XAQCF) hostname(localhost) port(1414) channel(SYSTEM.DEF.SVRCONN) 
-     transport(CLIENT) qmanager(QM1)
-   
-   InitCtx%def q<JNDI Name to be given to the Queue> queue<physical queue name> 
-     qmanager(name of queue manager defined )
-   
-     For example: def q(TQueue) queue(ORANGE.LOCAL.QUEUE) qmanager(QM1)
-   
-   InitCtx%def tcf<JNDI Name to be given to the Topic Connection Factory> 
-     qmanager(name of queue manager defined )
-   
-     For example: def tcf(TCF) qmanager(QM1)
-   
-   InitCtx%def xatcf<JNDI Name to be given to the  XA Topic Connection Factory> 
-     qmanager(name of queue manager defined )
-   
-     For example: def xatcf(XATCF) qmanager(QM1)
-   
-   InitCtx%def t<JNDI Name to be given to the Topic> topic<sample topic name>
-   
-     For example: def t(TTopic) topic(topic)
-----
-
-[[gksni]][[GSADG00684]][[create-a-resource-adapter-configuration-for-genericjmsra-to-work-with-websphere-mq]]
-
-Create a Resource Adapter Configuration for GenericJMSRA to Work With WebSphere MQ
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Before deploying GenericJMSRA, you need to create a resource adapter
-configuration in GlassFish Server. You can do this using either the
-Administration Console or the `asadmin` command. Use the following
-`asadmin` command to create a resource adapter configuration for
-`genericra` to configure it to work with WebSphere MQ.
-
-[source,oac_no_warn]
-----
-                     asadmin> create-resource-adapter-config
-                       --user <adminname> --password <admin password>
-                       --property SupportsXA=true:ProviderIntegrationMode
-                       =jndi:UserName=mqm:Password=###:RMPolicy
-                       =OnePerPhysicalConnection:JndiProperties
-                       =java.naming.factory.url.pkgs\\
-                       =com.ibm.mq.jms.naming,java.naming.factory.initial\\
-                       =com.sun.jndi.fscontext.RefFSContextFactory,java.naming.provider.url\\
-                       =file\\:\\/\\/opt\\/tmp:LogLevel=finest genericra
-----
-
-
-[NOTE]
-=======================================================================
-
-When using `asadmin` you need to escape each `=` and any `:` characters
-by prepending a backward slash `\`. The escape sequence is not necessary
-if the configuration is performed through the Administration Console.
-Also , ensure that the provider URL is configured correctly depending on
-the platform. For example, on Windows systems it should be
-`file:/C:/opt/tmp` and on UNIX—based systems it is `file://opt/tmp`.
-
-=======================================================================
-
-
-This creates a resource adapter configuration with the name `genericra`,
-and Oracle recommends not changing the default name. The resource
-adapter configuration is configured with the properties specified using
-the `--properties` argument; multiple properties are configured as a
-colon-separated list of name-value pairs that are entered as a single
-line.
-
-In this example, the following properties are configured:
-
-
-[NOTE]
-=======================================================================
-
-The tables in this section describe the GenericJMSRA properties that are
-relevant only when integrating with WebSphere MQ. For a complete list of
-properties, see the comprehensive table in link:#gbtvu[GenericJMSRA
-Configuration Properties].
-
-=======================================================================
-
-
-[width="100%",cols="29%,43%,28%",options="header",]
-|=======================================================================
-|Property Name |Required Value |Description
-|`SupportsXA` |`true` |Set the supports distributed transactions
-attribute to `true`. The level of transactional support the adapter
-provides -- none, local, or XA -- depends on the capabilities of the
-Enterprise Information System (EIS) being adapted. If an adapter
-supports XA transactions and this attribute is XA, the application can
-use distributed transactions to coordinate the EIS resource with JDBC
-and JMS resources.
-
-|`ProviderIntegrationMode` |`jndi` |Specifies that connection factories
-and destinations in GlassFish's JNDI store are configured to refer to
-connection factories and destinations in WebSphere MQ's JNDI store.
-
-|`JndiProperties` a|
-[source,oac_no_warn]
-----
-JndiProperties=
-java.naming.factory.url.pkgs\\
-=com.ibm.mq.jms.naming,java.naming.
-factory.initial\\=com.sun.jndi.fscontext.
-RefFSContextFactory,java.naming.
-provider.url\\
-=file\\:\\/\\/opt\\/tmp:
-LogLevel=finest genericra
-----
-
- |JNDI properties for connecting to WebSphere MQ's JNDI, specified as
-comma-separated list of name=value pairs without spaces.
-
-|`UserName` |`Name of the WebSphere MQ user` a|
-User name to connect to WebSphere MQ.
-
-The user name can be overridden in `ActivationSpec` and
-`ManagedConnection`. If no user name is specified anonymous connections
-will be used, if permitted.
-
-|`Password` |`Password for the WebSphere MQ user` a|
-Password to connect to WebSphere MQ.
-
-The password can be overridden in `ActivationSpec` and
-`ManagedConnection`.
-
-|`RMIPolicy` |`OnePerPhysicalConnection` a|
-Some XAResource implementations, such as WebSphere MQ, rely on a
-Resource Manager per Physical Connection, and this causes issues when
-there is inbound and outbound communication to the same queue manager in
-a single transaction (for example, when an MDB sends a response to a
-destination).
-
-When RMPolicy is set to `OnePerPhysicalConnection`, the XAResource
-wrapper implementation's `isSameRM` in GenericJMSRA would check if both
-the XAResources use the same physical connection, before delegating to
-the wrapped objects. Therefore, ensure that this attribute is set to
-`OnePerPhysicalConnection` if the application uses XA.
-
-|`LogLevel` |`Desired log level of JDK logger` |Used to specify the
-level of logging.
-|=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-You must use the values for `SupportsXA`, `RMPolicy` and
-`ProviderIntegrationMode` as the required values that are used in this
-table.
-
-=======================================================================
-
-
-[[gksnh]][[GSADG00685]][[deploy-the-genericjmsra-archive]]
-
-Deploy the GenericJMSRA Archive
-+++++++++++++++++++++++++++++++
-
-For instructions on downloading and deploying GenericJMSRA, see
-link:#gkkxz[Deploy the GenericJMSRA Resource Archive].
-
-[[gkson]][[GSADG00686]][[create-the-connection-factories-and-administered-objects-in-glassfish-server]]
-
-Create the Connection Factories and Administered Objects in GlassFish Server
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In order to configure a JMS Connection Factory using GenericJMSRA, a
-Connector Connection Pool and resource needs to be created in GlassFish
-Server, as described in this section.
-
-Using the example WebSphere MQ configuration in link:#gksli[Configure
-the WebSphere MQ Administered Objects], you will see `mypool` (pointing
-to `GenericJMSRA` and `QCF`) and `jms/MyQCF` (for `mypool`) created in
-GlassFish Server.
-
-
-[NOTE]
-=======================================================================
-
-If you want configure connections and destination resources using the
-Administration Console, this is explained in the Administration Console
-online help. When using Administration Console, following the,
-instructions for creating a new Connector Connection Pool and Admin
-Object Resources, and not the instructions for creating a JMS Connection
-Pool and Destination Resources. For more information about using
-`asadmin` to create these resources, see link:connectors.html#gioce[To
-Create a Connector Connection Pool] and link:connectors.html#giogt[To
-Create a Connector Resource].
-
-=======================================================================
-
-
-[[gksro]][[GSADG00502]][[creating-connections-and-destinations]]
-
-Creating Connections and Destinations
-
-In order to configure a JMS Connection Factory, using GenericJMSRA, a
-Connector Connection Pool and Destination resources need to be created
-in GlassFish Server using names that map to the corresponding connection
-and destination resources in WebSphere MQ. The connections and
-destination name in these steps map to the example WebSphere MQ
-configuration in link:#gksli[Configure the WebSphere MQ Administered
-Objects].
-
-1.  Create connection pools that point to the connection pools in
-WebSphere MQ. +
-The following `asadmin` command creates a Connection Pool called
-`mypool` and points to the `XAQCF` created in WebSphere MQ: +
-[source,oac_no_warn]
-----
-     asadmin create-connector-connection-pool -- raname genericra connectiondefinition
-            jakarta.jms.QueueConnectionFactory --transactionsupport  XATransaction 
-            --property ConnectionFactoryJndiName=QCF mypool
-----
-The following `asadmin` command creates a Connection Pool called
-`mypool2` and points to the `XATCF` created in WebSphere MQ: +
-[source,oac_no_warn]
-----
-     asadmin create-connector-connection-pool 
-            -- raname genericra connectiondefinition jakarta.jms.TopicConnectionFactory 
-            --transactionsupport  XATransaction
-            --property ConnectionFactoryJndiName=XATCF mypool2
-----
-2.  Create the connector resources. +
-The following `asadmin` command creates a connector resource named
-`jms/MyQCF` and binds this resource to JNDI for applications to use: +
-[source,oac_no_warn]
-----
-     asadmin create-connector-resource --poolname mypool jms/MyQCF
-----
-The following `asadmin` command creates a connector resource named
-`jms/MyTCF` and binds this resource to JNDI for applications to use: +
-[source,oac_no_warn]
-----
-     asadmin create-connector-resource --poolname mypool2 jms/MyTCF
-----
-3.  Create the JMS destination resources as administered objects. +
-In the image above, `jms/MyQueue` (pointing to `GenericJMSRA` and
-`TQueue`) is created in GlassFish Server. +
-The following `asadmin` command creates a `jakarta.jms.Queue` administered
-object and binds it to the GlassFish Server JNDI tree at `jms/MyQueue`
-and points to the `jms/TQueue` created in WebSphere MQ. +
-[source,oac_no_warn]
-----
-     asadmin create-admin-object --raname genericra --restype jakarta.jms.Queue 
-            --property DestinationJndiName=TQueue jms/MyQueue
-----
-The following `asadmin` command creates a `jakarta.jms.Topic` administered
-object and binds it to the GlassFish Server JNDI tree at `jms/MyTopic`
-and points to the `jms/TTopic` created in WebSphere MQ. +
-[source,oac_no_warn]
-----
-     asadmin create-admin-object --raname genericra --restype jakarta.jms.Topic 
-            --property DestinationJndiName=TTopic jms/MyTopic
-----
-
-[[gktmn]][[GSADG00687]][[configuring-an-mdb-to-receive-messages-from-websphere-mq]]
-
-Configuring an MDB to Receive Messages from WebSphere MQ
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The administered object names in the sample deployment descriptor below
-map to the example WebSphere MQ configuration in link:#gksli[Configure
-the WebSphere MQ Administered Objects]. The deployment descriptors need
-to take into account the resource adapter and the connection resources
-that have been created. A sample `sun-ejb-jar.xml` for a Message Driven
-Bean that listens to a destination called `TQueue` in WebSphere MQ, and
-publishes back reply messages to a destination resource named
-`jms/replyQueue` in GlassFish Server, as shown below.
-
-[source,oac_no_warn]
-----
-       <sun-ejb-jar>
-         <enterprise-beans>
-         <unique-id.1</unique-id>
-         <ejb>
-            <ejb-name>SimpleMessageEJB</ejb-name>
-            <jndi-name>jms/SampleQueue</jndi-name>
-             <!-- QCF used to publish reply messages -->
-            <resource-ref>
-               <res-ref-name>jms/MyQueueConnectionFactory</res-ref-name>
-               <jndi-name>jms/MyQCF</jndi-name>
-               <default-resource-principal>
-                  <name>mqm</name>
-                  <password>mqm</password>
-               </default-resource-principal>
-            </resource-ref>
-            <!-- reply destination resource> Creating of this replyQueue destination resource is not
-                 shown above, but the steps are similar to creating the  "jms/MyQueue" resource -->
-            <resource-env-ref>
-               <resource-env-ref-name>jms/replyQueue</resource-env-ref-name>
-               <jndi-name>jms/replyQueue</jndi-name>
-            </resource-env-ref>
-            
-            <!-- Activation related RA specific configuration for this MDB -->
-            <mdb-resource-adapter>
-            <!-- resource-adapter-mid points to the Generic Resource Adapter for JMS -->
-            <resource-adapter-mid>genericra</resource-adapter-mid>
-            <activation-config>
-               <activation-config-property>
-                  <activation-config-property-name>DestinationType</activation-config-property-name>
-                  <activation-config-property-value>javax>jms>Queue</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>ConnectionFactoryJndiName</activation-config-property-name>
-                  <activation-config-property-value>QCF</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>DestinationJndiName</activation-config-property-name>
-                  <activation-config-property-value>TQueue</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>MaxPoolSize</activation-config-property-name>
-                  <activation-config-property-value>32</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>RedeliveryAttempts</activation-config-property-name>
-                  <activation-config-property-value>0</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>ReconnectAttempts</activation-config-property-name>
-                  <activation-config-property-value>4</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>ReconnectInterval</activation-config-property-name>
-                  <activation-config-property-value>10</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>RedeliveryInterval</activation-config-property-name>
-                  <activation-config-property-value>1</activation-config-property-value>
-               </activation-config-property>
-               <activation-config-property>
-                  <activation-config-property-name>SendBadMessagesToDMD</activation-config-property-name>
-                  <activation-config-property-value>false</activation-config-property-value>
-               </activation-config-property>
-            </activation-config>
-          </mdb-resource-adapter>
-          </ejb>
-          </enterprise-beans>
-       </sun-ejb-jar>
-----
-
-The business logic encoded in Message Driven Bean could then lookup the
-configured `QueueConnectionFactory/Destination` resource to create a
-connection as shown below.
-
-[source,oac_no_warn]
-----
-             Context context = null;
-             ConnectionFactory connectionFactory = null;
-             logger>info("In PublisherBean>ejbCreate()");
-             try {
-                 context = new InitialContext();
-                 queue = (javax>jms>Queue) context>lookup ("java:comp/env/jms/replyQueue");
-                 connectionFactory = (ConnectionFactory) context>lookup("java:comp/env/jms/MyQueueConnectionFactory");
-                 connection = connectionFactory>createConnection();
-             } catch (Throwable t) {
-                 logger>severe("PublisherBean>ejbCreate:" + "Exception: " +
-                 t>toString());
-             }
-----
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/jndi.adoc b/docs/administration-guide/src/main/jbake/content/jndi.adoc
deleted file mode 100644
index 0495f1d..0000000
--- a/docs/administration-guide/src/main/jbake/content/jndi.adoc
+++ /dev/null
@@ -1,583 +0,0 @@
-type=page
-status=published
-title=Administering the Java Naming and Directory Interface (JNDI) Service
-next=transactions.html
-prev=jms.html
-~~~~~~
-Administering the Java Naming and Directory Interface (JNDI) Service
-====================================================================
-
-[[GSADG00021]][[ablky]]
-
-
-[[administering-the-java-naming-and-directory-interface-jndi-service]]
-18 Administering the Java Naming and Directory Interface (JNDI) Service
------------------------------------------------------------------------
-
-The Java Naming and Directory Interface (JNDI) API is used for accessing
-different kinds of naming and directory services. Java EE components
-locate objects by invoking the JNDI lookup method.
-
-The following topics are addressed here:
-
-* link:#ggjue[About JNDI]
-* link:#gglpq[Administering JNDI Resources]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[ggjue]][[GSADG00603]][[about-jndi]]
-
-About JNDI
-~~~~~~~~~~
-
-By making calls to the JNDI API, applications locate resources and other
-program objects. A resource is a program object that provides
-connections to systems, such as database servers and messaging systems.
-A JDBC resource is sometimes referred to as a data source. Each resource
-object is identified by a unique, people-friendly name, called the JNDI
-name. A resource object and its JNDI name are bound together by the
-naming and directory service, which is included with the GlassFish
-Server.
-
-When a new name-object binding is entered into the JNDI, a new resource
-is created.
-
-The following topics are addressed here:
-
-* link:#abllb[Java EE Naming Environment]
-* link:#gglpg[How the Naming Environment and the Container Work
-Together]
-* link:#abllc[Naming References and Binding Information]
-
-[[abllb]][[GSADG00780]][[java-ee-naming-environment]]
-
-Java EE Naming Environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-JNDI names are bound to their objects by the naming and directory
-service that is provided by a Java EE server. Because Java EE components
-access this service through the JNDI API, the object usually uses its
-JNDI name. For example, the JNDI name of the Apache Derby database is
-`jdbc/_default`. At startup, the GlassFish Server reads information from
-the configuration file and automatically adds JNDI database names to the
-name space, one of which is `jdbc/_default`.
-
-Java EE application clients, enterprise beans, and web components must
-have access to a JNDI naming environment.
-
-The application component's naming environment is the mechanism that
-allows customization of the application component's business logic
-during deployment or assembly. This environment allows you to customize
-the application component without needing to access or change the source
-code off the component. A Java EE container implements the provides the
-environment to the application component instance as a JNDI naming
-context.
-
-[[gglpg]][[GSADG00781]][[how-the-naming-environment-and-the-container-work-together]]
-
-How the Naming Environment and the Container Work Together
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The application component's environment is used as follows:
-
-* The application component's business methods access the environment
-using the JNDI interfaces. In the deployment descriptor, the application
-component provider declares all the environment entries that the
-application component expects to be provided in its environment at
-runtime.
-* The container provides an implementation of the JNDI naming context
-that stores the application component environment. The container also
-provides the tools that allow the deployer to create and manage the
-environment of each application component.
-* A deployer uses the tools provided by the container to initialize the
-environment entries that are declared in the application component's
-deployment descriptor. The deployer sets and modifies the values of the
-environment entries.
-* The container makes the JNDI context available to the application
-component instances at runtime. These instances use the JNDI interfaces
-to obtain the values of the environment entries.
-
-Each application component defines its own set of environment entries.
-All instances of an application component within the same container
-share the same environment entries. Application component instances are
-not allowed to modify the environment at runtime.
-
-[[abllc]][[GSADG00782]][[naming-references-and-binding-information]]
-
-Naming References and Binding Information
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A resource reference is an element in a deployment descriptor that
-identifies the component's coded name for the resource. For example,
-`jdbc/SavingsAccountDB`. More specifically, the coded name references a
-connection factory for the resource.
-
-The JNDI name of a resource and the resource reference name are not the
-same. This approach to naming requires that you map the two names before
-deployment, but it also decouples components from resources. Because of
-this decoupling, if at a later time the component needs to access a
-different resource, the name does not need to change. This flexibility
-makes it easier for you to assemble Java EE applications from
-preexisting components.
-
-The following table lists JNDI lookups and their associated resource
-references for the Java EE resources used by the GlassFish Server.
-
-[[GSADG1029]][[sthref87]][[fxizy]]
-
-
-Table 18-1 JNDI Lookup Names and Their Associated References
-
-[width="100%",cols="38%,62%",options="header",]
-|=======================================================================
-|JNDI Lookup Name |Associated Resource Reference
-|`java:comp/env` |Application environment entries
-
-|`java:comp/env/jdbc` |JDBC DataSource resource manager connection
-factories
-
-|`java:comp/env/ejb` |EJB References
-
-|`java:comp/UserTransaction` |UserTransaction references
-
-|`java:comp/env/mail` |JavaMail Session Connection Factories
-
-|`java:comp/env/url` |URL Connection Factories
-
-|`java:comp/env/jms` |JMS Connection Factories and Destinations
-
-|`java:comp/ORB` |ORB instance shared across application components
-|=======================================================================
-
-
-[[gglpq]][[GSADG00604]][[administering-jndi-resources]]
-
-Administering JNDI Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Within GlassFish Server, you can configure your environment for custom
-and external JNDI resources. A custom resource accesses a local JNDI
-repository; an external resource accesses an external JNDI repository.
-Both types of resources need user-specified factory class elements, JNDI
-name attributes, and so on.
-
-* link:#ablle[Administering Custom JNDI Resources]
-* link:#gitxz[Administering External JNDI Resources]
-
-[[ablle]][[GSADG00783]][[administering-custom-jndi-resources]]
-
-Administering Custom JNDI Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A custom resource specifies a custom server-wide resource object factory
-that implements the `javax.naming.spi.ObjectFactory` interface.
-
-The following topics are addressed here:
-
-* link:#giowe[To Create a Custom JNDI Resource]
-* link:#gioxb[To List Custom JNDI Resources]
-* link:#giwlk[To Update a Custom JNDI Resource]
-* link:#gioxl[To Delete a Custom JNDI Resource]
-
-[[giowe]][[GSADG00503]][[to-create-a-custom-jndi-resource]]
-
-To Create a Custom JNDI Resource
-++++++++++++++++++++++++++++++++
-
-Use the `create-custom-resource` subcommand in remote mode to create a
-custom resource.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a custom resource by using the
-link:../reference-manual/create-custom-resource.html#GSRFM00022[`create-custom-resource`] subcommand. +
-Information on properties for the subcommand is contained in this help
-page.
-3.  Restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00284]][[gioyi]]
-
-
-Example 18-1 Creating a Custom Resource
-
-This example creates a custom resource named `sample-custom-resource`.
-
-[source,oac_no_warn]
-----
-asadmin> create-custom-resource --restype topic --factoryclass com.imq.topic 
-sample_custom_resource
-Command create-custom-resource executed successfully.
-----
-
-[[GSADG1030]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-custom-resource` at the command line.
-
-[[gioxb]][[GSADG00504]][[to-list-custom-jndi-resources]]
-
-To List Custom JNDI Resources
-+++++++++++++++++++++++++++++
-
-Use the `list-custom-resources` subcommand in remote mode to list the
-existing custom resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the custom resources by using the
-link:../reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`] subcommand.
-
-[[GSADG00285]][[gioyr]]
-
-
-Example 18-2 Listing Custom Resources
-
-This example lists the existing custom resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-custom-resources
-sample_custom_resource01 
-sample_custom_resource02 
-Command list-custom-resources executed successfully
-----
-
-[[GSADG1031]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-custom-resources` at the command line.
-
-[[giwlk]][[GSADG00505]][[to-update-a-custom-jndi-resource]]
-
-To Update a Custom JNDI Resource
-++++++++++++++++++++++++++++++++
-
-1.  List the custom resources by using the
-link:../reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`] subcommand.
-2.  Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to modify a custom JNDI
-resource.
-
-[[GSADG00286]][[giwkg]]
-
-
-Example 18-3 Updating a Custom JNDI Resource
-
-This example modifies a custom resource.
-
-[source,oac_no_warn]
-----
-asadmin> set server.resources.custom-resource.custom
-/my-custom-resource.property.value=2010server.resources.custom-resource.custom
-/my-custom-resource.property.value=2010
-----
-
-[[gioxl]][[GSADG00506]][[to-delete-a-custom-jndi-resource]]
-
-To Delete a Custom JNDI Resource
-++++++++++++++++++++++++++++++++
-
-Use the `delete-custom-resource` subcommand in remote mode to delete a
-custom resource.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the custom resources by using the
-link:../reference-manual/list-custom-resources.html#GSRFM00162[`list-custom-resources`] subcommand.
-3.  Delete a custom resource by using the
-link:../reference-manual/delete-custom-resource.html#GSRFM00074[`delete-custom-resource`] subcommand.
-
-[[GSADG00287]][[gioxh]]
-
-
-Example 18-4 Deleting a Custom Resource
-
-This example deletes a custom resource named `sample-custom-resource`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-custom-resource sample_custom_resource
-Command delete-custom-resource executed successfully.
-----
-
-[[GSADG1032]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-custom-resource` at the command line.
-
-[[gitxz]][[GSADG00784]][[administering-external-jndi-resources]]
-
-Administering External JNDI Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Applications running on GlassFish Server often require access to
-resources stored in an external JNDI repository. For example, generic
-Java objects might be stored in an LDAP server according to the Java
-schema. External JNDI resource elements let you configure such external
-resource repositories.
-
-The following topics are addressed here:
-
-* link:#gitxn[To Register an External JNDI Resource]
-* link:#gitvj[To List External JNDI Resources]
-* link:#gitwc[To List External JNDI Entries]
-* link:#giwnr[To Update an External JNDI Resource]
-* link:#gitvt[To Delete an External JNDI Resource]
-* link:#abllk[Example of Using an External JNDI Resource]
-* link:#gknaf[To Disable GlassFish Server v2 Vendor-Specific JNDI Names]
-
-[[gitxn]][[GSADG00507]][[to-register-an-external-jndi-resource]]
-
-To Register an External JNDI Resource
-+++++++++++++++++++++++++++++++++++++
-
-Use the `create-jndi-resource` subcommand in remote mode to register an
-external JNDI resource.
-
-[[GSADG1033]]
-
-Before You Begin
-
-The external JNDI factory must implement the
-`javax.naming.spi.InitialContextFactory` interface.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Register an external JNDI resource by using the
-link:../reference-manual/create-jndi-resource.html#GSRFM00041[`create-jndi-resource`] subcommand. +
-Information on properties for the subcommand is contained in this help
-page.
-3.  Restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00288]][[giwcx]]
-
-
-Example 18-5 Registering an External JNDI Resource
-
-In This example `sample_jndi_resource` is registered.
-
-[source,oac_no_warn]
-----
-asadmin> create-jndi-resource --jndilookupname sample_jndi 
---restype queue --factoryclass sampleClass --description "this is a sample jndi 
-resource" sample_jndi_resource
-Command create-jndi-resource executed successfully
-----
-
-[[GSADG1034]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-jndi-resource` at the command line.
-
-[[gitvj]][[GSADG00508]][[to-list-external-jndi-resources]]
-
-To List External JNDI Resources
-+++++++++++++++++++++++++++++++
-
-Use the `list-jndi-resources` subcommand in remote mode to list all
-existing JNDI resources.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the existing JNDI resources by using
-theolink:GSRFM00179[`list-jndi-resources`] subcommand.
-
-[[GSADG00289]][[giwbe]]
-
-
-Example 18-6 Listing JNDI Resources
-
-This example lists the JNDI resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-jndi-resources
-jndi_resource1
-jndi_resource2
-jndi_resource3
-Command list-jndi-resources executed successfully
-----
-
-[[GSADG1035]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-jndi-resources` at the command line.
-
-[[gitwc]][[GSADG00509]][[to-list-external-jndi-entries]]
-
-To List External JNDI Entries
-+++++++++++++++++++++++++++++
-
-Use the `list-jndi-entries` subcommand in remote mode to browse and list
-the entries in the JNDI tree. You can either list all entries, or you
-can specify the JNDI context or subcontext to list specific entries.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the JNDI entries for a configuration by using the
-link:../reference-manual/list-jndi-entries.html#GSRFM00178[`list-jndi-entries`] subcommand.
-
-[[GSADG00290]][[giwal]]
-
-
-Example 18-7 Listing JNDI Entries
-
-This example lists all the JNDI entries for the naming service.
-
-[source,oac_no_warn]
-----
-asadmin> list-jndi-entries
-jndi_entry03
-jndi_entry72
-jndi_entry76
-Command list-jndi-resources executed successfully
-----
-
-[[GSADG1036]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-jndi-entries` at the command line.
-
-[[giwnr]][[GSADG00510]][[to-update-an-external-jndi-resource]]
-
-To Update an External JNDI Resource
-+++++++++++++++++++++++++++++++++++
-
-1.  List the existing JNDI resources by using
-theolink:GSRFM00179[`list-jndi-resources`] subcommand.
-2.  Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to modify an external
-JNDI resource.
-
-[[GSADG00291]][[giwoa]]
-
-
-Example 18-8 Updating an External JNDI Resource
-
-This example modifies an external resource.
-
-[source,oac_no_warn]
-----
-asadmin> set server.resources.external-jndi-resource.my-jndi-resource.
-jndi-lookup-name=bar server.resources.external-jndi-resource.my-jndi-resource.jndi-lookup-name=bar 
-----
-
-[[gitvt]][[GSADG00511]][[to-delete-an-external-jndi-resource]]
-
-To Delete an External JNDI Resource
-+++++++++++++++++++++++++++++++++++
-
-Use the `delete-jndi-resource` subcommand in remote mode to remove a
-JNDI resource.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Remove an external JNDI entry by using the
-link:../reference-manual/delete-jndi-resource.html#GSRFM00093[`delete-jndi-resource`] subcommand.
-
-[[GSADG00292]][[giwby]]
-
-
-Example 18-9 Deleting an External JNDI Resource
-
-This example deletes an external JNDI resource:
-
-[source,oac_no_warn]
-----
-asadmin> delete-jndi-resource jndi_resource2
-Command delete-jndi-resource executed successfully.
-----
-
-[[GSADG1037]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-jndi-resource` at the command line.
-
-[[abllk]][[GSADG00688]][[example-of-using-an-external-jndi-resource]]
-
-Example of Using an External JNDI Resource
-++++++++++++++++++++++++++++++++++++++++++
-
-[source,oac_no_warn]
-----
-<resources>
- <!-- external-jndi-resource element specifies how to access Java EE resources
- -- stored in an external JNDI repository. This example
- -- illustrates how to access a java object stored in LDAP.
- -- factory-class element specifies the JNDI InitialContext factory that
- -- needs to be used to access the resource factory. property element
- -- corresponds to the environment applicable to the external JNDI context
- -- and jndi-lookup-name refers to the JNDI name to lookup to fetch the
- -- designated (in this case the java) object.
- -->
-  <external-jndi-resource jndi-name="test/myBean"
-      jndi-lookup-name="cn=myBean"
-      res-type="test.myBean"
-      factory-class="com.sun.jndi.ldap.LdapCtxFactory">
-    <property name="PROVIDER-URL" value="ldap://ldapserver:389/o=myObjects" />
-    <property name="SECURITY_AUTHENTICATION" value="simple" />
-    <property name="SECURITY_PRINCIPAL", value="cn=joeSmith, o=Engineering" />
-    <property name="SECURITY_CREDENTIALS" value="changeit" />
-  </external-jndi-resource>
-</resources>
-----
-
-[[gknaf]][[GSADG00512]][[to-disable-glassfish-server-v2-vendor-specific-jndi-names]]
-
-To Disable GlassFish Server v2 Vendor-Specific JNDI Names
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The EJB 3.1 specification supported by GlassFish Server 5.0 defines
-portable EJB JNDI names. Because of this, there is less need to continue
-to use older vendor-specific JNDI names.
-
-By default, GlassFish Server v2-specific JNDI names are applied
-automatically by GlassFish Server 5.0 for backward compatibility.
-However, this can lead to some ease-of-use issues. For example,
-deploying two different applications containing a Remote EJB component
-that exposes the same remote interface causes a conflict between the
-default JNDI names.
-
-The default handling of v2-specific JNDI names in GlassFish Server 5.0
-can be managed with the `asadmin` command or with the
-`disable-nonportable-jndi-names` boolean property for the
-`ejb-container` element in `glassfish-ejb-jar.xml`.
-
-Use the `asadmin` command or directly modify the `glassfish-ejb-jar.xml`
-file to set the `disable-nonportable-jndi-names` property.
-
-* Using the `asadmin` command: +
-[source,oac_no_warn]
-----
-asadmin> set server.ejb-container.property.disable-nonportable-jndi-names="true"
-----
-* Directly modifying the `glassfish-ejb-jar.xml` file.
-1.  Add the `disable-nonportable-jndi-names` property to the
-`ejb-container` element in `glassfish-ejb-jar.xml`.
-2.  Set the value of the `disable-nonportable-jndi-names` boolean, as
-desired. +
-`false` - Enables the automatic use of GlassFish Server v2-specific JNDI
-names. This is the default setting. +
-`true` - Disables the automatic use of v2-specific JNDI names. In all
-cases, 5.0-compatible JNDI names will be used.
-3.  Save the `glassfish-ejb-jar.xml` file and restart the GlassFish
-Server domain. +
-This setting applies to all EJBs deployed to the server.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/jvm.adoc b/docs/administration-guide/src/main/jbake/content/jvm.adoc
deleted file mode 100644
index 1419324..0000000
--- a/docs/administration-guide/src/main/jbake/content/jvm.adoc
+++ /dev/null
@@ -1,349 +0,0 @@
-type=page
-status=published
-title=Administering the Virtual Machine for the Java Platform
-next=threadpools.html
-prev=domains.html
-~~~~~~
-Administering the Virtual Machine for the Java Platform
-=======================================================
-
-[[GSADG00007]][[ablwj]]
-
-
-[[administering-the-virtual-machine-for-the-java-platform]]
-4 Administering the Virtual Machine for the Java Platform
----------------------------------------------------------
-
-This chapter provides procedures for administering the Virtual Machine
-for the Java platform (Java Virtual Machine) or JVM machine) in the
-GlassFish Server Open Source Edition 5.0 environment by using the
-`asadmin` command-line utility.
-
-The following topics are addressed here:
-
-* link:#gepzd[Administering JVM Options]
-* link:#ggnde[Administering the Profiler]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-[[gepzd]][[GSADG00544]][[administering-jvm-options]]
-
-Administering JVM Options
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Java Virtual Machine is an interpretive computing engine responsible
-for running the byte codes in a compiled Java program. The virtual
-machine translates the Java byte codes into the native instructions of
-the host machine. GlassFish Server, being a Java process, requires a
-virtual machine to run and support the Java applications running on it.
-JVM settings are part of an GlassFish Server configuration.
-
-The following topics are addressed here:
-
-* link:#ggnes[To Create JVM Options]
-* link:#ggnce[To List JVM Options]
-* link:#ggnfi[To Delete JVM Options]
-* link:#ggnbu[To Generate a JVM Report]
-
-[[ggnes]][[GSADG00359]][[to-create-jvm-options]]
-
-To Create JVM Options
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-jvm-options` subcommand in remote mode to create JVM
-options in the Java configuration or the profiler elements of the
-`domain.xml` file. If JVM options are created for a profiler, these
-options are used to record the settings that initiate the profiler.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create JVM options by using the
-link:../reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`] subcommand. +
-To create more than one JVM option, use a colon (:) to separate the
-options. If the JVM option itself contains a colon (:), use the
-backslash (\) to offset the colon delimiter. +
-Information about properties for the subcommand is included in this help
-page.
-3.  To apply your changes, restart GlassFish Server. See
-link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00154]][[ghqwm]]
-
-
-Example 4-1 Creating JVM Options
-
-This example sets multiple Java system properties.
-
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options -Dunixlocation=/root/example:
--Dvariable=\$HOME:
--Dwindowslocation=d\\:\\\sun\\\appserver:
--Doption1=-value1
-created 4 option(s)
-Command create-jvm-options executed successfully.
-----
-
-[[GSADG847]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-jvm-options` at the command line.
-
-[[ggnce]][[GSADG00360]][[to-list-jvm-options]]
-
-To List JVM Options
-^^^^^^^^^^^^^^^^^^^
-
-Use the `list-jvm-options` subcommand in remote mode to list the
-existing JVM options.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List JVM options by using the link:../reference-manual/list-jvm-options.html#GSRFM00180[`list-jvm-options`]
-subcommand.
-
-[[GSADG00155]][[ggphx]]
-
-
-Example 4-2 Listing JVM Options
-
-This example lists all JVM options.
-
-[source,oac_no_warn]
-----
-asadmin> list-jvm-options
--Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf
--XX: LogVMOutput
--XX: UnlockDiagnosticVMOptions
--Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.
-config.serverbeans.AppserverConfigEnvironmentFactory
--Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks
--XX:NewRatio=2
--Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy
--Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
--Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks
--client
--Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.ja
-vaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext${path.se
-parator}${com.sun.aas.derbyRoot}/lib
--Xmx512m
--XX:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log
-Command list-jvm-options executed successfully.
-----
-
-[[GSADG848]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-jvm-options` at the command line.
-
-[[ggnfi]][[GSADG00361]][[to-delete-jvm-options]]
-
-To Delete JVM Options
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-jvm-options` subcommand in remote mode to delete JVM
-options from the Java configuration or profiler elements of the
-`domain.xml` file.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List JVM options by using the link:../reference-manual/list-jvm-options.html#GSRFM00180[`list-jvm-options`]
-subcommand.
-3.  If necessary, notify users that the JVM option is being deleted.
-4.  Delete JVM options by using the
-link:../reference-manual/delete-jvm-options.html#GSRFM00094[`delete-jvm-options`] subcommand. +
-To remove more than one JVM option, use a colon (:) to separate the
-options. If the JVM option itself contains a colon, use the backslash
-(\) to offset the colon delimiter.
-5.  To apply your changes, restart GlassFish Server. See
-link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00156]][[ggpgz]]
-
-
-Example 4-3 Deleting a JVM Option
-
-This example removes a single JVM option.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jvm-options -Dopt1=A
-
-deleted 1 option(s)
-Command delete-jvm-options executed successfully.
-----
-
-[[GSADG00157]][[ggpkr]]
-
-
-Example 4-4 Deleting Multiple JVM Options
-
-This example removes multiple JVM options.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jvm-options -Doption1=-value1:-Dvariable=\$HOME
-deleted 2 option(s)
-Command delete-jvm-options executed successfully.
-----
-
-[[GSADG849]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-jvm-options` at the command line.
-
-[[ggnbu]][[GSADG00362]][[to-generate-a-jvm-report]]
-
-To Generate a JVM Report
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `generate-jvm-report` subcommand in remote mode to generate a
-JVM report showing the threads (dump of a stack trace), classes, memory,
-and loggers for a specified instance, including the domain
-administration server (DAS). You can generate the following types of
-reports: summary (default), class, thread, log.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Generate the report by using the
-link:../reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`] subcommand.
-
-[[GSADG00158]][[ghhkr]]
-
-
-Example 4-5 Generating a JVM Report
-
-This example displays summary information about the threads, classes,
-and memory.
-
-[source,oac_no_warn]
-----
-asadmin> generate-jvm-report --type summary 
-Operating System Information:
-Name of the Operating System: Windows XP
-Binary Architecture name of the Operating System: x86, Version: 5.1
-Number of processors available on the Operating System: 2
-System load on the available processors for the last minute: NOT_AVAILABLE. 
-(Sum of running and queued runnable entities per minute).
-.
-,
-.
-user.home = C:\Documents and Settings\Jennifer
-user.language = en
-user.name = Jennifer
-user.timezone = America/New_York
-user.variant =
-variable = \$HOME
-web.home = C:\Preview\v3_Preview_release\distributions\web\target\
-glassfish\modules\web
-Command generate-jvm-report executed successfully.
-----
-
-[[GSADG850]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help generate-jvm-report` at the command line.
-
-[[ggnde]][[GSADG00545]][[administering-the-profiler]]
-
-Administering the Profiler
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A profiler generates information used to analyze server performance.
-
-The following topics are addressed here:
-
-* link:#ggneb[To Create a Profiler]
-* link:#ggnem[To Delete a Profiler]
-
-[[ggneb]][[GSADG00363]][[to-create-a-profiler]]
-
-To Create a Profiler
-^^^^^^^^^^^^^^^^^^^^
-
-A server instance is tied to a particular profiler by the profiler
-element in the Java configuration. If JVM options are created for a
-profiler, the options are used to record the settings needed to activate
-a particular profiler. Use the `create-profiler` subcommand in remote
-mode to create the profiler element in the Java configuration.
-
-Only one profiler can exist. If a profiler already exists, you receive
-an error message that directs you to delete the existing profiler before
-creating a new one.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a profiler by using the link:../reference-manual/create-profiler.html#GSRFM00050[`create-profiler`]
-subcommand. +
-Information about properties for the subcommand is included in this help
-page.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00159]][[ggpla]]
-
-
-Example 4-6 Creating a Profiler
-
-This example creates a profiler named `sample_profiler`.
-
-[source,oac_no_warn]
-----
-asadmin> create-profiler --classpath=/home/appserver/ --nativelibrarypath=/u/home/lib
---enabled=false --property=defaultuser=admin:password=adminadmin sample_profiler
-Command create-profiler executed successfully.
-----
-
-[[GSADG851]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-profiler` at the command line.
-
-[[ggnem]][[GSADG00365]][[to-delete-a-profiler]]
-
-To Delete a Profiler
-^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-profiler` subcommand in remote mode to delete the
-profiler element from the Java configuration. You can then create a new
-profiler.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Delete the profiler by using the link:../reference-manual/delete-profiler.html#GSRFM00102[`delete-profiler`]
-subcommand.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00161]][[ggpkc]]
-
-
-Example 4-7 Deleting a Profiler
-
-This example deletes the profiler named `sample_profiler`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-profiler sample_profiler
-Command delete-profiler executed successfully.
-----
-
-[[GSADG852]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-profiler` at the command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/lifecycle-modules.adoc b/docs/administration-guide/src/main/jbake/content/lifecycle-modules.adoc
deleted file mode 100644
index 3344e0e..0000000
--- a/docs/administration-guide/src/main/jbake/content/lifecycle-modules.adoc
+++ /dev/null
@@ -1,243 +0,0 @@
-type=page
-status=published
-title=Administering Life Cycle Modules
-next=batch.html
-prev=monitoring.html
-~~~~~~
-Administering Life Cycle Modules
-================================
-
-[[GSADG00013]][[giury]]
-
-
-[[administering-life-cycle-modules]]
-9 Administering Life Cycle Modules
-----------------------------------
-
-This chapter provides procedures for administering life cycle modules in
-the GlassFish Server Open Source Edition 5.0 environment.
-
-The following topics are addressed here:
-
-* link:#giuxo[About Life Cycle Modules]
-* link:#giuue[Configuring Life Cycle Modules]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[giuxo]][[GSADG00566]][[about-life-cycle-modules]]
-
-About Life Cycle Modules
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Life cycle modules, also known as initialization services, provide a
-means of running short or long duration Java-based tasks within the
-GlassFish Server environment. These modules are automatically initiated
-at server startup and are notified at various phases of the server life
-cycle. Configured properties for a life cycle module are passed as
-properties during server initialization.
-
-All life cycle module classes and interfaces are in the
-as-install`/modules/glassfish-api.jar` file.
-
-A life cycle module listens for and performs its tasks in response to
-the following GlassFish Server sequence of events:
-
-1.  Initialization. The server reads the configuration, initializes
-built-in subsystems (such as security and logging services), and creates
-the containers.
-2.  Startup. The server loads and initializes deployed applications.
-3.  Ready. The server begins servicing requests.
-4.  Shutdown. The server shuts down the applications and stops.
-5.  Termination. The server closes the containers, the built-in
-subsystems, and the server runtime environment.
-
-These events are defined in the `LifecycleEvent` class. For information
-on creating life cycle modules, see "link:../application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing
-Lifecycle Listeners]" in GlassFish Server Open Source Edition
-Application Development Guide.
-
-
-[NOTE]
-=======================================================================
-
-If the `is-failure-fatal` setting is set to true (the default is false),
-life cycle module failure prevents server initialization or startup, but
-not shutdown or termination.
-
-=======================================================================
-
-
-[[giuue]][[GSADG00567]][[configuring-life-cycle-modules]]
-
-Configuring Life Cycle Modules
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#giuus[To Create a Life Cycle Module]
-* link:#giuvh[To List Life Cycle Modules]
-* link:#giuyh[To Update a Life Cycle Module]
-* link:#giuux[To Delete a Life Cycle Module]
-
-[[giuus]][[GSADG00399]][[to-create-a-life-cycle-module]]
-
-To Create a Life Cycle Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-lifecycle-module` subcommand in remote mode to create a
-life cycle module.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a new life cycle modules by using the
-link:../reference-manual/create-lifecycle-module.html#GSRFM00043[`create-lifecycle-module`] subcommand. +
-Information about options and properties for the subcommand are included
-in this help page.
-3.  Restart the server for your changes to take effect. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00206]][[giuyo]]
-
-
-Example 9-1 Creating a Life Cycle Module
-
-This example creates the `customSetup` life cycle module :
-
-[source,oac_no_warn]
-----
-asadmin> create-lifecycle-module --classname "com.acme.CustomSetup" 
---classpath "/export/customSetup" --loadorder 1 --failurefatal=true 
---description "this is a sample customSetup" 
---property rmi="Server\=acme1\:7070":timeout=30 customSetup
-Command create-lifecycle-module executed successfully
-----
-
-[[GSADG927]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-lifecycle-module` at the command line.
-
-[[giuvh]][[GSADG00400]][[to-list-life-cycle-modules]]
-
-To List Life Cycle Modules
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-lifecycle-modules` subcommand in remote mode to list the
-existing life cycle modules.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List life cycle modules by using the
-link:../reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`] subcommand.
-
-[[GSADG00207]][[giuyr]]
-
-
-Example 9-2 Listing Life Cycle Modules
-
-This example lists the existing life cycle modules.
-
-[source,oac_no_warn]
-----
-asadmin> list-lifecycle-modules
-WSTCPConnectorLCModule
-Command list-lifecycle-modules executed successfully
-----
-
-[[GSADG928]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-lifecycle-modules` at the command line.
-
-[[giuyh]][[GSADG00401]][[to-update-a-life-cycle-module]]
-
-To Update a Life Cycle Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `set` subcommand to update an existing life cycle module.
-
-1.  List the properties that can be updated for a life cycle module by
-using the link:../reference-manual/get.html#GSRFM00139[`get`] subcommand. +
-For example (single mode): +
-[source,oac_no_warn]
-----
-asadmin get "*" | grep sampleLCM
-applications.application.sampleLCMmodule.availability-enabled=false
-applications.application.sampleLCMmodule.directory-deployed=false
-applications.application.sampleLCMmodule.enabled=true
-applications.application.sampleLCMmodule.name=sampleLCMmodule
-applications.application.sampleLCMmodule.object-type=user
-applications.application.sampleLCMmodule.property.class-name=example.lc.SampleModule
-applications.application.sampleLCMmodule.property.classpath=/build/lcm.jar
-applications.application.sampleLCMmodule.property.is-failure-fatal=false
-applications.application.sampleLCMmodule.property.isLifecycle=true
-----
-2.  Update a life cycle module by using the olink:GSRFM00226[`set`]
-subcommand.
-3.  Restart the server for your changes to take effect. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00208]][[giuyq]]
-
-
-Example 9-3 Updating a Life Cycle Module
-
-This example updates the `classpath` property.
-
-[source,oac_no_warn]
-----
-sadmin> set applications.application.sampleLCMmodule.
-property.classpath=/build/lcm_new.jarapplications.application.
-sampleLCMmodule.property.classpath=/build/lcm_new.jar
-Command set executed successfully.
-----
-
-[[GSADG929]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help set` at the command line.
-
-[[giuux]][[GSADG00402]][[to-delete-a-life-cycle-module]]
-
-To Delete a Life Cycle Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-lifecycle-module` subcommand in remote mode to delete a
-life cycle module.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the current life cycle modules by using the
-link:../reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`] subcommand.
-3.  Delete a life cycle module by using the
-link:../reference-manual/delete-lifecycle-module.html#GSRFM00095[`delete-lifecycle-module`] subcommand.
-
-[[GSADG00209]][[giuyi]]
-
-
-Example 9-4 Deleting a Life Cycle Module
-
-This example deletes the `customSetup` life cycle module.
-
-[source,oac_no_warn]
-----
-asadmin> delete-lifecycle-module customSetup
-Command delete-lifecycle-module executed successfully
-----
-
-[[GSADG930]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-lifecycle-module` at the command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/loe.adoc b/docs/administration-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index e01b741..0000000
--- a/docs/administration-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,282 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lof.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:overview.html#gkvay[1-1 Determining if the DAS Requires Restart]
-* link:overview.html#gkvba[1-2 Determining if an Instance Requires
-Restart]
-* link:overview.html#sthref5[1-3 Listing Apache Felix Gogo Remote Shell
-Commands]
-* link:overview.html#sthref6[1-4 Running a Remote Shell Command]
-* link:overview.html#gjkrh[1-5 Determining the Services That an OSGi
-Bundle Provides]
-* link:general-administration.html#giwdr[2-1 Running an asadmin Utility
-Subcommand in Single Mode]
-* link:general-administration.html#giwbf[2-2 Specifying an asadmin
-Utility Option With a Subcommand in Single Mode]
-* link:general-administration.html#ghvyk[2-3 Specifying an asadmin
-Utility Option and a Subcommand Option in Single Mode]
-* link:general-administration.html#giwgs[2-4 Displaying Help Information
-for the asadmin Utility]
-* link:general-administration.html#giusg[2-5 Displaying Help Information
-for an asadmin Utility Subcommand]
-* link:general-administration.html#givuq[2-6 Starting a Multimode Session
-With asadmin Utility Options]
-* link:general-administration.html#giwgh[2-7 Starting a Multimode Session
-by Using the multimode Subcommand]
-* link:general-administration.html#ghvzc[2-8 Running a Subcommand in a
-Multimode Session]
-* link:general-administration.html#givul[2-9 Running a Set of asadmin
-Subcommands From a File]
-* link:general-administration.html#sthref7[2-10 Using the --detach Option
-in Single Mode]
-* link:general-administration.html#sthref8[2-11 Using the --detach Option
-in Multimode]
-* link:general-administration.html#sthref9[2-12 Listing Jobs]
-* link:general-administration.html#sthref10[2-13 Attaching to a
-Subcommand and Checking Its Status]
-* link:general-administration.html#sthref11[2-14 Configuring Managed
-Jobs]
-* link:general-administration.html#ggovp[2-15 Creating a System Property]
-* link:general-administration.html#ggopn[2-16 Listing System Properties]
-* link:general-administration.html#ggoph[2-17 Deleting a System Property]
-* link:general-administration.html#sthref12[2-18 Adding Module
-Configuration to domain.xml]
-* link:general-administration.html#sthref13[2-19 Removing Module
-Configuration From domain.xml]
-* link:general-administration.html#sthref14[2-20 Displaying the Current
-Active Configuration of a Module]
-* link:general-administration.html#ggozc[2-21 Adding Resources]
-* link:general-administration.html#ghjnb[2-22 Displaying Version
-Information]
-* link:general-administration.html#ggouk[2-23 Listing Applications]
-* link:general-administration.html#ggown[2-24 Listing Containers]
-* link:general-administration.html#ghlfw[2-25 Listing Modules]
-* link:general-administration.html#ggpdl[2-26 Listing Subcommands]
-* link:general-administration.html#giojj[2-27 Listing Timers]
-* link:general-administration.html#gjhkk[2-28 Showing Status of a
-Component]
-* link:general-administration.html#gjjdi[2-29 Determining the Methods and
-Method Parameters That an Object in the Tree Supports]
-* link:general-administration.html#gjjed[2-30 Retrieving Data for an
-Object in the Tree]
-* link:general-administration.html#gjjen[2-31 Adding an Object to the
-Tree]
-* link:general-administration.html#gjjhd[2-32 Updating an Object in the
-Tree]
-* link:general-administration.html#gjjgp[2-33 Deleting an Object From the
-Tree]
-* link:domains.html#ggoeu[3-1 Creating a Domain]
-* link:domains.html#ggpfv[3-2 Listing Domains]
-* link:domains.html#ghlfx[3-3 Logging In To a Domain on a Remote Machine]
-* link:domains.html#ghldv[3-4 Logging In to a Domain on the Default Port
-of Localhost]
-* link:domains.html#ggoiy[3-5 Deleting a Domain]
-* link:domains.html#ggocw[3-6 Starting a Domain]
-* link:domains.html#gioes[3-7 Stopping a Domain (or Server)]
-* link:domains.html#ggoet[3-8 Restarting a Domain (or Server)]
-* link:domains.html#giupx[3-9 Restarting a Domain in a Browser]
-* link:domains.html#gjzix[3-10 Creating a Service to Restart a DAS
-Automatically on Windows]
-* link:domains.html#gktso[3-11 Querying the Service to Restart a DAS
-Automatically on Windows]
-* link:domains.html#sthref19[3-12 Creating a Service to Restart a DAS
-Automatically on Linux]
-* link:domains.html#giuqp[3-13 Creating a Service to Restart a Domain
-Automatically on Oracle Solaris]
-* link:domains.html#ggoxt[3-14 Backing Up the Default Domain]
-* link:domains.html#ggoys[3-15 Restoring the Default Domain]
-* link:domains.html#ghgsv[3-16 Listing Backups of the Default Domain]
-* link:domains.html#ghlds[3-17 Displaying the DAS Uptime]
-* link:domains.html#gkvkl[3-18 Changing the Administration Port of a
-Domain]
-* link:jvm.html#ghqwm[4-1 Creating JVM Options]
-* link:jvm.html#ggphx[4-2 Listing JVM Options]
-* link:jvm.html#ggpgz[4-3 Deleting a JVM Option]
-* link:jvm.html#ggpkr[4-4 Deleting Multiple JVM Options]
-* link:jvm.html#ghhkr[4-5 Generating a JVM Report]
-* link:jvm.html#ggpla[4-6 Creating a Profiler]
-* link:jvm.html#ggpkc[4-7 Deleting a Profiler]
-* link:threadpools.html#giuez[5-1 Creating a Thread Pool]
-* link:threadpools.html#giugs[5-2 Listing Thread Pools]
-* link:threadpools.html#giuhc[5-3 Updating a Thread Pool]
-* link:threadpools.html#giugt[5-4 Deleting a Thread Pool]
-* link:webapps.html#giyhf[6-1 Invoking a Servlet With a URL]
-* link:webapps.html#giyib[6-2 Invoking a Servlet From Within a JSP File]
-* link:webapps.html#giyis[6-3 Redirecting a URL]
-* link:webapps.html#gixrq[6-4 httpd.conf File for mod_jk]
-* link:webapps.html#gixqt[6-5 workers.properties File for mod_jk]
-* link:webapps.html#gjjzu[6-6 httpd.conf File for Load Balancing]
-* link:webapps.html#gjjzf[6-7 workers.properties File for Load Balancing]
-* link:webapps.html#gjpnc[6-8 http-ssl.conf File for mod_jk Security]
-* link:logging.html#gkmal[7-1 Changing the Name and Location of a
-Cluster's Log File]
-* link:logging.html#gkmgz[7-2 Setting the java.util.logging.config.file
-System Property]
-* link:logging.html#gjiti[7-3 Listing Logger Levels for Modules]
-* link:logging.html#gkkot[7-4 Listing Log Levels for an Instance]
-* link:logging.html#ghmfi[7-5 Changing the Global Log Level for All
-Module Loggers]
-* link:logging.html#ghmev[7-6 Setting the Log Level for a Module Logger]
-* link:logging.html#gjkat[7-7 Setting Log Levels for Multiple Loggers]
-* link:logging.html#sthref23[7-8 Setting the Log File Format using
-set-log-file-format]
-* link:logging.html#sthref24[7-9 Setting the Log File Format using
-set-log-attributes]
-* link:logging.html#sthref25[7-10 Excluding Fields in Log Records]
-* link:logging.html#sthref26[7-11 Setting Multiline Mode]
-* link:logging.html#gkmay[7-12 Changing the Rotation Size]
-* link:logging.html#gkmbc[7-13 Changing the Rotation Interval]
-* link:logging.html#gkmaq[7-14 Changing the Limit Number of Retained
-Files]
-* link:logging.html#gkmav[7-15 Rotating Log Files Manually]
-* link:logging.html#ghphb[7-16 Adding a New Log Handler]
-* link:logging.html#gklap[7-17 Creating a ZIP Archive]
-* link:logging.html#sthref27[7-18 Listing Loggers]
-* link:monitoring.html#gixri[8-1 Enabling the Monitoring Service
-Dynamically]
-* link:monitoring.html#gixre[8-2 Enabling Monitoring for Modules
-Dynamically]
-* link:monitoring.html#gjcmm[8-3 Enabling Monitoring for Modules by Using
-the set Subcommand]
-* link:monitoring.html#gixsc[8-4 Disabling the Monitoring Service
-Dynamically]
-* link:monitoring.html#gjcnw[8-5 Disabling Monitoring for Modules
-Dynamically]
-* link:monitoring.html#gixpg[8-6 Disabling Monitoring by Using the set
-Subcommand]
-* link:monitoring.html#ghljw[8-7 Viewing Common Monitoring Data]
-* link:monitoring.html#ghlre[8-8 Viewing Attributes for a Specific Type]
-* link:monitoring.html#ghbgv[8-9 Viewing Monitorable Applications]
-* link:monitoring.html#ghbfj[8-10 Viewing Attributes for an Application]
-* link:monitoring.html#ghbge[8-11 Viewing a Specific Attribute]
-* link:lifecycle-modules.html#giuyo[9-1 Creating a Life Cycle Module]
-* link:lifecycle-modules.html#giuyr[9-2 Listing Life Cycle Modules]
-* link:lifecycle-modules.html#giuyq[9-3 Updating a Life Cycle Module]
-* link:lifecycle-modules.html#giuyi[9-4 Deleting a Life Cycle Module]
-* link:batch.html#sthref67[10-1 Listing Batch Jobs]
-* link:batch.html#sthref68[10-2 Listing Batch Job Executions]
-* link:batch.html#sthref69[10-3 Listing Batch Job Steps]
-* link:batch.html#sthref70[10-4 Listing the Batch Runtime Configuration]
-* link:batch.html#sthref71[10-5 Configuring the Batch Runtime]
-* link:jdbc.html#ggooc[11-1 Starting a Database]
-* link:jdbc.html#ggorc[11-2 Stopping a Database]
-* link:jdbc.html#ggrgh[11-3 Creating a JDBC Connection Pool]
-* link:jdbc.html#ggpcf[11-4 Listing JDBC Connection Pools]
-* link:jdbc.html#ggpcs[11-5 Contacting a Connection Pool]
-* link:jdbc.html#gjirk[11-6 Resetting (Flushing) a Connection Pool]
-* link:jdbc.html#ggpis[11-7 Deleting a JDBC Connection Pool]
-* link:jdbc.html#ggplj[11-8 Creating a JDBC Resource]
-* link:jdbc.html#ggpgi[11-9 Listing JDBC Resources]
-* link:jdbc.html#gjkrz[11-10 Updating a JDBC Resource]
-* link:jdbc.html#ggpga[11-11 Deleting a JDBC Resource]
-* link:connectors.html#giocc[12-1 Creating a Connector Connection Pool]
-* link:connectors.html#giody[12-2 Listing Connector Connection Pools]
-* link:connectors.html#giohd[12-3 Deleting a Connector Connection Pool]
-* link:connectors.html#giogn[12-4 Creating a Connector Resource]
-* link:connectors.html#gioia[12-5 Listing Connector Resources]
-* link:connectors.html#giokh[12-6 Deleting a Connector Resource]
-* link:connectors.html#gionp[12-7 Creating a Resource Adapter
-Configuration]
-* link:connectors.html#gioof[12-8 Listing Configurations for a Resource
-Adapter]
-* link:connectors.html#giorj[12-9 Deleting a Resource Adapter
-Configuration]
-* link:connectors.html#giuxc[12-10 Creating a Connector Security Map]
-* link:connectors.html#giuwj[12-11 Listing All Connector Security Maps
-for a Connector Connection Pool]
-* link:connectors.html#giuyc[12-12 Listing Principals for a Specific
-Security Map for a Connector Connection Pool]
-* link:connectors.html#giuuf[12-13 Listing Principals of All Connector
-Security Maps for a Connector Connection Pool]
-* link:connectors.html#giuwi[12-14 Updating a Connector Security Map]
-* link:connectors.html#giuvr[12-15 Deleting a Connector Security Map]
-* link:connectors.html#giokw[12-16 Creating Connector Work Security Maps]
-* link:connectors.html#gionj[12-17 Listing the Connector Work Security
-Maps]
-* link:connectors.html#gioll[12-18 Updating a Connector Work Security
-Map]
-* link:connectors.html#giolk[12-19 Deleting a Connector Work Security
-Map]
-* link:connectors.html#giokx[12-20 Creating an Administered Object]
-* link:connectors.html#giokg[12-21 Listing Administered Objects]
-* link:connectors.html#giolc[12-22 Deleting an Administered Object]
-* link:http_https.html#gjhos[13-1 Creating an HTTP Protocol]
-* link:http_https.html#gjhqg[13-2 Listing the Protocols]
-* link:http_https.html#gjhop[13-3 Deleting a Protocol]
-* link:http_https.html#gjhnz[13-4 Creating an HTTP Configuration]
-* link:http_https.html#gjhov[13-5 Deleting an HTTP Configuration]
-* link:http_https.html#gjhpx[13-6 Creating a Transport]
-* link:http_https.html#gjhqj[13-7 Listing HTTP Transports]
-* link:http_https.html#gjhoh[13-8 Deleting a Transport]
-* link:http_https.html#ggpjk[13-9 Creating an HTTP Listener]
-* link:http_https.html#gjimj[13-10 Creating a Network Listener]
-* link:http_https.html#ggpgw[13-11 Listing HTTP Listeners]
-* link:http_https.html#giwiw[13-12 Updating an HTTP Network Listener]
-* link:http_https.html#ggpjr[13-13 Deleting an HTTP Listener]
-* link:http_https.html#ggphv[13-14 Configuring an HTTP Listener for SSL]
-* link:http_https.html#ggpln[13-15 Deleting SSL From an HTTP Listener]
-* link:http_https.html#ggpha[13-16 Creating a Virtual Server]
-* link:http_https.html#ggpgr[13-17 Listing Virtual Servers]
-* link:http_https.html#ggpmd[13-18 Deleting a Virtual Server]
-* link:concurrent.html#sthref74[14-1 Creating a Context Service]
-* link:concurrent.html#sthref75[14-2 Listing Context Services]
-* link:concurrent.html#sthref76[14-3 Deleting a Context Service]
-* link:concurrent.html#sthref77[14-4 Creating a Managed Thread Factory]
-* link:concurrent.html#sthref78[14-5 Listing Managed Thread Factories]
-* link:concurrent.html#sthref79[14-6 Deleting a Managed Thread Factory]
-* link:concurrent.html#sthref80[14-7 Creating a Managed Executor Service]
-* link:concurrent.html#sthref81[14-8 Listing Managed Executor Services]
-* link:concurrent.html#sthref82[14-9 Deleting a Managed Executor Service]
-* link:concurrent.html#sthref83[14-10 Creating a Managed Scheduled
-Executor Service]
-* link:concurrent.html#sthref84[14-11 Listing Managed Scheduled Executor
-Services]
-* link:concurrent.html#sthref85[14-12 Deleting a Managed Scheduled
-Executor Service]
-* link:orb.html#gipfl[15-1 Creating an IIOP Listener]
-* link:orb.html#gipcm[15-2 Listing IIOP Listeners]
-* link:orb.html#giwlj[15-3 Updating an IIOP Listener]
-* link:orb.html#giped[15-4 Deleting an IIOP Listener]
-* link:javamail.html#gipfs[16-1 Creating a JavaMail Resource]
-* link:javamail.html#gipfe[16-2 Listing JavaMail Resources]
-* link:javamail.html#giwjb[16-3 Updating a JavaMail Resource]
-* link:javamail.html#gipcd[16-4 Deleting a JavaMail Resource]
-* link:jms.html#gipbb[17-1 Creating a JMS Host]
-* link:jms.html#gipdw[17-2 Listing JMS Hosts]
-* link:jms.html#givlz[17-3 Updating a JMS Host]
-* link:jms.html#gipbj[17-4 Deleting a JMS Host]
-* link:jms.html#giovy[17-5 Creating a JMS Connection Factory]
-* link:jms.html#giovn[17-6 Creating a JMS Destination]
-* link:jms.html#giovz[17-7 Listing All JMS Resources]
-* link:jms.html#giovq[17-8 Listing a JMS Resources of a Specific Type]
-* link:jms.html#giovi[17-9 Deleting a JMS Resource]
-* link:jms.html#gioxt[17-10 Creating a JMS Physical Destination]
-* link:jms.html#gioxo[17-11 Listing JMS Physical Destinations]
-* link:jms.html#giows[17-12 Flushing Messages From a JMS Physical
-Destination]
-* link:jms.html#gioxx[17-13 Deleting a Physical Destination]
-* link:jndi.html#gioyi[18-1 Creating a Custom Resource]
-* link:jndi.html#gioyr[18-2 Listing Custom Resources]
-* link:jndi.html#giwkg[18-3 Updating a Custom JNDI Resource]
-* link:jndi.html#gioxh[18-4 Deleting a Custom Resource]
-* link:jndi.html#giwcx[18-5 Registering an External JNDI Resource]
-* link:jndi.html#giwbe[18-6 Listing JNDI Resources]
-* link:jndi.html#giwal[18-7 Listing JNDI Entries]
-* link:jndi.html#giwoa[18-8 Updating an External JNDI Resource]
-* link:jndi.html#giwby[18-9 Deleting an External JNDI Resource]
-* link:transactions.html#giufq[19-1 Stopping the Transaction Service]
-* link:transactions.html#giufy[19-2 Rolling Back a Transaction]
-* link:transactions.html#giuef[19-3 Restarting the Transaction Service]
-* link:transactions.html#giugn[19-4 Manually Recovering Transactions]
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/lof.adoc b/docs/administration-guide/src/main/jbake/content/lof.adoc
deleted file mode 100644
index 1ebfb79..0000000
--- a/docs/administration-guide/src/main/jbake/content/lof.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=List of Figures
-next=lot.html
-prev=loe.html
-~~~~~~
-List of Figures
-===============
-
-[[list-of-figures]]
-List of Figures
----------------
-
-* link:general-administration.html#gjjce[2-1 Web Page for the REST
-Resource for Managing a Domain]
-* link:general-administration.html#gkwku[2-2 Web Page for the REST
-Resource That Provides Class Loader Statistics]
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/logging.adoc b/docs/administration-guide/src/main/jbake/content/logging.adoc
deleted file mode 100644
index 80154c5..0000000
--- a/docs/administration-guide/src/main/jbake/content/logging.adoc
+++ /dev/null
@@ -1,1426 +0,0 @@
-type=page
-status=published
-title=Administering the Logging Service
-next=monitoring.html
-prev=webapps.html
-~~~~~~
-Administering the Logging Service
-=================================
-
-[[GSADG00010]][[abluj]]
-
-
-[[administering-the-logging-service]]
-7 Administering the Logging Service
------------------------------------
-
-This chapter provides instructions on how to configure logging and how
-to view log information in the GlassFish Server Open Source Edition 5.0
-environment.
-
-The following topics are addressed here:
-
-* link:#abluk[About Logging]
-* link:#gklmn[Configuring the Logging Service]
-* link:#gkobx[Viewing Log Records]
-* link:#CEGGHGIJ[Listing Loggers]
-
-Instructions for accomplishing these tasks and editing logging service
-properties in the Administration Console are available from the
-Administration Console online help.
-
-[[abluk]][[GSADG00554]][[about-logging]]
-
-About Logging
-~~~~~~~~~~~~~
-
-Logging is the process by which GlassFish Server Open Source Edition
-captures information about events that occur, such as configuration
-errors, security failures, or server malfunction. This data is recorded
-in log files and is usually the first source of information when
-problems occur. Analyzing the log files can help you to follow events
-that occur in the server runtime and determine the overall health of the
-server.
-
-Although application components can use the Apache Commons Logging
-Library to record messages, the platform standard JSR 47 Logging API is
-recommended for better log configuration. For more information about JSR
-47, see `http://jcp.org/en/jsr/detail?id=47`.
-
-The following topics are addressed here:
-
-* link:#ablul[Log Files]
-* link:#gkres[Logger Namespaces]
-* link:#gkjft[Logging Targets]
-* link:#gkkit[Logging Properties]
-
-[[ablul]][[GSADG00719]][[log-files]]
-
-Log Files
-^^^^^^^^^
-
-GlassFish Server Open Source Edition log records are captured in the
-server log file, which captures information about the operation of a
-server instance running in the domain. Each instance, managed server
-instance (that is, each cluster member), and the domain administration
-server (DAS) has an individual server log file.
-
-The following topics are addressed here:
-
-* link:#gkmep[Log File Names and Locations]
-* link:#gkmex[Log Records]
-* link:#gkmdz[Log Rotation]
-
-[[gkmep]][[GSADG00644]][[log-file-names-and-locations]]
-
-Log File Names and Locations
-++++++++++++++++++++++++++++
-
-In an GlassFish Server Open Source Edition domain, log files have the
-following name and location by default:
-
-[width="100%",cols="27%,73%",options="header",]
-|====================================================
-|Instance |Default Log File Name and Location
-|DAS |domain-dir`/logs/server.log`
-|Each server instance |instance-dir`/logs/server.log`
-|Cluster instance |instance-dir`/logs/server.log`
-|====================================================
-
-
-For example, in a domain hosted on a given machine that includes a
-cluster with two managed servers (`ClusterServer1` and `ClusterServer1`)
-and a standalone instance (`StandaloneServer`), the log files might be
-arranged in the following directory structure. In this directory
-structure, the `server.log` file for the DAS is located in
-domain-dir`/logs`.
-
-[source,oac_no_warn]
-----
-as-install-parent directory
-     glassfish/
-         domains/
-             domain-dir/
-                         logs/
-                            server.log
-         nodes/
-             hostname/
-                         ClusterServer1/
-                                      logs/
-                                         server.log
-                         ClusterServer2/
-                                      logs/
-                                         server.log
-                         StandaloneServer/
-                                      logs/
-                                         server.log
-----
-
-You can change the default name or location of a log file by modifying
-the logging properties file for the corresponding instance, described in
-link:#gkmak[To Change the Name and Location of the Log File].
-
-[[gkmex]][[GSADG00645]][[log-records]]
-
-Log Records
-+++++++++++
-
-GlassFish Server Open Source Edition writes log records in either the
-Oracle Diagnostics Logging (ODL) format or the Uniform Log Formatter
-(ULF) format. The default format is ODL. For information about changing
-the format, see link:#CEGDJEBG[Setting the Log File Format].
-
-A custom formatter can also be used by specifying the fully qualified
-name of a class that extends the `java.util.logging.Formatter` class.
-The custom formatter class can be packaged in a JAR file and placed in
-the domain-dir`/lib/ext` directory, or implemented as a Hundred-Kilobyte
-Kernel (HK2) service and the JAR containing the formatter implementation
-placed in the as-install`/modules` directory.
-
-Log records formatted in the ODL format are displayed as follows:
-
-[source,oac_no_warn]
-----
-[yyyy-mm-ddThh:mm:ss.SSS-Z][ProductName-Version][Log Level]
-[Message ID][LoggerName][Key Value Pairs][[
-  Message]]
-----
-
-* `[` and `]` mark the beginning and end of fields in the record. Some
-fields may be empty.
-* yyyy-mm-dd`T`hh:mm:ss.SSSS-Z represents the date and time that the
-record was created. For example: `2013-04-12T08:08:30.154-0700`
-* ProductName-Version represents the current version of GlassFish Server
-Open Source Edition. For example: `glassfish`
-* Log Level represents the log level. You can set any of the following
-values: `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`, `INFO`, `CONFIG`,
-`FINE`, `FINER`, and `FINEST`. The default is `INFO`.
-* Message ID consists of a module code that indicates the origin of the
-message and the message number. For example: `AS-WEB-GLUE-00172`
-* LoggerName represents a hierarchical logger namespace that identifies
-the source of the log module. For example: `jakarta.enterprise.web`
-* Key Value Pairs represents pairs of key names and values. For example:
-`timeMillis: 1365779310154`
-* Message represents the text of the log message. For multiline
-messages, `[[` marks the end of the first line, and `]]` marks the end
-of the message. Multiline messages start on a new line after the message
-header and are indented.
-
-The following is an example of a log record formatted in the ODL format:
-
-[source,oac_no_warn]
-----
-[2013-04-12T08:08:30.154-0700] [glassfish 4.0] [INFO] [AS-WEB-GLUE-00172] [jakarta.enterprise.web] [tid: _ThreadID=217 _ThreadName=admin-listener(21)]
-[timeMillis: 1365779310154] [levelValue: 800] [[
-  Loading application [payroll] at [/payroll]]]
-----
-
-Log records formatted in the ULF format are displayed as follows:
-
-[source,oac_no_warn]
-----
-[#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|LoggerName|Key Value Pairs|Message|#]
-----
-
-* `[#` and `#]` mark the beginning and end of the record.
-* The vertical bar (`|`) separates the fields of the record.
-* yyyy-mm-dd`T`hh:mm:ss.SSSS-Z represents the date and time that the
-record was created. For example: `2013-04-18T09:27:44.315-0700`
-* Log Level represents the log level. You can set any of the following
-values: `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`, `INFO`, `CONFIG`,
-`FINE`, `FINER`, and `FINEST`. The default is `INFO`.
-* ProductName-Version represents the current version of GlassFish Server
-Open Source Edition. For example: `glassfish`
-* LoggerName represents a hierarchical logger namespace that identifies
-the source of the log module. For example: `jakarta.enterprise.web.core`
-* Key Value Pairs represents pairs of key names and values and can
-include a message ID. For example: `_MessageID=AS-WEB-CORE-00306`. +
-Message IDs are included for all GlassFish Server Open Source Edition
-`EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING` messages, and for many
-`INFO` messages.
-* Message represents the text of the log message. Multiline messages
-start on a new line after the message header and are indented.
-
-The following is an example of a log record formatted in the ULF format:
-
-[source,oac_no_warn]
-----
-[#|2013-04-18T09:27:44.315-0700|INFO|glassfish 6.0|jakarta.enterprise.web.core|
-_ThreadID=15;_ThreadName=RunLevelControllerThread-1366302462682;_TimeMillis=1366302464315;_LevelValue=800;_MessageID=AS-WEB-CORE-00306;|
-  Setting JAAS app name glassfish-web|#]
-----
-
-The Administration Console presents log records in a more readable
-display. For information about viewing log records using the
-Administration Console, see link:#gkobx[Viewing Log Records].
-
-[[gkmdz]][[GSADG00646]][[log-rotation]]
-
-Log Rotation
-++++++++++++
-
-By default, when a log file grows to 2 MB, GlassFish Server Open Source
-Edition renames (rotates) the file to incorporate a timestamp and
-creates a new log file. The log file is renamed as `server.log_`date,
-where date is the date and time that the file was rotated.
-
-You can configure the logging service to change the default settings for
-log file rotation, as explained in link:#gklni[Setting Log File
-Rotation].
-
-[[gkres]][[GSADG00720]][[logger-namespaces]]
-
-Logger Namespaces
-^^^^^^^^^^^^^^^^^
-
-GlassFish Server Open Source Edition provides a logger for each of its
-modules. The following list is an example of the logger namespaces in a
-server instance as they appear when using the `list-log-levels`
-subcommand.
-
-[source,oac_no_warn]
-----
-java.util.logging.ConsoleHandler     <FINEST>
-jakarta.enterprise.resource.corba     <INFO>
-jakarta.enterprise.resource.javamail  <INFO>
-jakarta.enterprise.resource.jdo       <INFO>
-jakarta.enterprise.resource.jms       <INFO>
-jakarta.enterprise.resource.jta       <INFO>
-jakarta.enterprise.resource.resourceadapter     <INFO>
-jakarta.enterprise.resource.sqltrace  <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.application  <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.config       <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.context      <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.facelets     <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.lifecycle    <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.managedbean  <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.renderkit    <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.resource     <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.taglib       <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.timing       <INFO>
-jakarta.enterprise.system.container.cmp         <INFO>
-jakarta.enterprise.system.container.ejb         <INFO>
-jakarta.enterprise.system.container.ejb.mdb     <INFO>
-jakarta.enterprise.system.container.web         <INFO>
-jakarta.enterprise.system.core.classloading     <INFO>
-jakarta.enterprise.system.core.config   <INFO>
-jakarta.enterprise.system.core.naming   <INFO>
-jakarta.enterprise.system.core.security <INFO>
-jakarta.enterprise.system.core.selfmanagement   <INFO>
-jakarta.enterprise.system.core.transaction      <INFO>
-jakarta.enterprise.system     <INFO>
-jakarta.enterprise.system.tools.admin   <INFO>
-jakarta.enterprise.system.tools.backup  <INFO>
-jakarta.enterprise.system.tools.deployment      <INFO>
-jakarta.enterprise.system.util          <INFO>
-jakarta.enterprise.system.webservices.registry  <INFO>
-jakarta.enterprise.system.webservices.rpc       <INFO>
-jakarta.enterprise.system.webservices.saaj      <INFO>
-javax     <INFO>
-org.apache.catalina    <INFO>
-org.apache.coyote      <INFO>
-org.apache.jasper      <INFO>
-org.jvnet.hk2.osgiadapter   <INFO>
-----
-
-For information about how to display logger namespaces and log levels,
-see link:#gjirr[To List Log Levels]. For information about how to
-display a list of loggers and logger details, see link:#CEGGICGF[To List
-Loggers].
-
-[[gkjft]][[GSADG00721]][[logging-targets]]
-
-Logging Targets
-^^^^^^^^^^^^^^^
-
-Each instance in an GlassFish Server Open Source Edition domain has a
-dedicated log file, and each instance and cluster has its own logging
-properties file. To configure logging for an instance or a cluster,
-GlassFish Server Open Source Edition allows you target specific log
-files or logging properties files when you do the following:
-
-* Set global or module-specific log levels
-* Rotate log files or compress them into a ZIP archive
-* Change logging property attributes
-* List log levels or log attributes
-
-The following subcommands optionally accept a target specification. A
-target can be a configuration name, server name, cluster name, or
-instance name, and is specified as either an operand or as a value
-passed using the `--target` option. If no target is specified when using
-any of these subcommands, the default target is the DAS.
-
-[width="100%",cols="27%,47%,26%",options="header",]
-|=======================================================================
-|Subcommand |Description |Target Specification
-|link:../reference-manual/collect-log-files.html#GSRFM00007[`collect-log-files`] |Collects all available log files
-into a ZIP archive. |`--target``=`target-name
-
-|link:../reference-manual/list-log-attributes.html#GSRFM00182[`list-log-attributes`] |Lists logging attributes in
-the logging properties file. |target-name operand
-
-|link:../reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] |Lists the loggers in the logging
-properties file and their log levels. |target-name operand
-
-|link:../reference-manual/rotate-log.html#GSRFM00224[`rotate-log`] |Rotates the log file by renaming it and
-creating a new log file to store new messages. |`--target``=`target-name
-
-|link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] |Sets the specified logging
-attributes in the logging properties file. |`--target``=`target-name
-
-|link:../reference-manual/set-log-file-format.html#GSRFM879[`set-log-file-format`] |Sets the log file formatter.
-|`--target``=`target-name
-
-|link:../reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`] |Sets the log level for one or more
-loggers listed in the logging properties file. |`--target``=`target-name
-|=======================================================================
-
-
-[[gkkit]][[GSADG00722]][[logging-properties]]
-
-Logging Properties
-^^^^^^^^^^^^^^^^^^
-
-The DAS as well as each configuration, instance, and cluster has its own
-set of logging properties that are maintained in individual
-configuration files. A logging properties file is named
-`logging.properies` and includes the following information:
-
-* Log file name and location
-* Logger names and levels
-* Properties for custom handlers
-* Log rotation and logger format properties
-
-By default in an GlassFish Server Open Source Edition domain, logging
-properties files are created in the following locations:
-
-[width="100%",cols="18%,82%",options="header",]
-|=======================================================================
-|Target |Default Location of Logging Properties File
-|DAS |domain-dir`/config``/logging.properties`
-
-|A configuration |domain-dir`/config/`config-name`/logging.properties`,
-where config-name represents the name of a configuration that is shared
-by one or more instances or clusters.
-
-|An instance
-|domain-dir`/config``/`instance-name`-config/logging.properties`, where
-instance-name represents the name of the instance.
-
-|A cluster
-|domain-dir`/config/`cluster-name`-config/logging.properties`, where
-cluster-name represents the name of the cluster.
-|=======================================================================
-
-
-For information about configuring logging properties, see
-link:#gklmn[Configuring the Logging Service].
-
-[[gklmn]][[GSADG00555]][[configuring-the-logging-service]]
-
-Configuring the Logging Service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section contains the following topics:
-
-* link:#gklmx[Changing the Name and Location of Logging Service Files]
-* link:#gklml[Setting Log Levels]
-* link:#CEGDJEBG[Setting the Log File Format]
-* link:#gklni[Setting Log File Rotation]
-* link:#gklnk[Adding a Custom Logging Handler]
-
-[[gklmx]][[GSADG00723]][[changing-the-name-and-location-of-logging-service-files]]
-
-Changing the Name and Location of Logging Service Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section explains how to change the name and location of the
-following logging service files:
-
-* Log file
-* Logging properties file
-
-[[gkmak]][[GSADG00375]][[to-change-the-name-and-location-of-the-log-file]]
-
-To Change the Name and Location of the Log File
-+++++++++++++++++++++++++++++++++++++++++++++++
-
-To change the name and location of the log file, first use the
-`list-log-attributes` subcommand to obtain the current log attribute
-setting for the log file name and location. Then use the
-`set-log-attributes` subcommand to specify the new name or location. The
-default target for these two subcommands is the DAS. However, you can
-optionally specify one of the following targets:
-
-* Configuration name — to target all instances or clusters that share a
-specific configuration name.
-* Server name — to target only a specific server.
-* Instance name — to target only a specific instance.
-* Cluster name — to target only a specific cluster.
-
-1.  Ensure that the target server or cluster is running. +
-Remote subcommands require a running server.
-2.  Use the link:../reference-manual/list-log-attributes.html#GSRFM00182[`list-log-attributes`] subcommand in remote
-mode to obtain the current log attribute settings. +
-The name and location of the log file is set with the
-`com.sun.enterprise.server.logging.GFFileHandler.file` attribute of the
-logging properties file. Optionally you can target a configuration,
-server, instance, or cluster. If you do not specify a target, the log
-attribute settings for the DAS are displayed.
-3.  Use the link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand in remote
-mode to define a custom name or location of the log file. +
-If you do not specify a target, the log file for the DAS is targeted by
-default. If you target a cluster, the name of the cluster log file for
-each member instance can be changed (the server log file name cannot).
-
-[[GSADG00174]][[gkmal]]
-
-
-Example 7-1 Changing the Name and Location of a Cluster's Log File
-
-This example changes the name of the cluster log file for `Cluster1` to
-`cluster1.log`. `Cluster1` has two server instances: `ClusterServer1`
-and `ClusterServer2`.
-
-[source,oac_no_warn]
-----
-asadmin> list-log-attributes Cluster1
-com.sun.enterprise.server.logging.GFFileHandler.alarms <false>
-com.sun.enterprise.server.logging.GFFileHandler.file 
-<${com.sun.aas.instanceRoot}/logs/server.log>
-com.sun.enterprise.server.logging.GFFileHandler.flushFrequency  <1>
-.
-.
-.
-log4j.logger.org.hibernate.validator.util.Version <warn>
-Command list-log-attributes executed successfully.
-asadmin> set-log-attributes --target Cluster1
-com.sun.enterprise.server.logging.GFFileHandler.file=
-${com.sun.aas.instanceRoot}/logs/cluster1.log
-com.sun.enterprise.server.logging.GFFileHandler.file
-logging attribute set with value ${com.sun.aas.instanceRoot}/logs/cluster1.log
-These logging attributes are set for Cluster1.
-ClusterServer1 :
-com.sun.enterprise.server.logging.GFFileHandler.file
-logging attribute set with value ${com.sun.aas.instanceRoot}/logs/cluster1.log
-These logging attributes are set for Cluster1.
-
-ClusterServer2 :
-com.sun.enterprise.server.logging.GFFileHandler.file
-logging attribute set with value ${com.sun.aas.instanceRoot}/logs/cluster1.log
-These logging attributes are set for Cluster1.
-
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG864]]
-
-See Also
-
-You can view the full syntax and options of these subcommands by typing
-`asadmin help list-log-levels` and `asadmin help set-log-attributes` at
-the command line.
-
-[[gkmcz]][[GSADG00376]][[to-change-the-name-and-location-of-the-logging-properties-file]]
-
-To Change the Name and Location of the Logging Properties File
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-You can set the name and location of the logging properties file by
-setting the `java.util.logging.config.file` system property. By setting
-this system property, you can have a single logging properties file that
-is used by all instances running on the same host.
-
-
-[NOTE]
-=======================================================================
-
-Setting the `java.util.logging.config.file` system property causes all
-other GlassFish Server Open Source Edition logging properties files on
-the host to be overridden.
-
-=======================================================================
-
-
-1.  Set the `java.util.logging.config.file` system property. +
-For example, you can use the following `java` command: +
-[source,oac_no_warn]
-----
-java -Djava.util.logging.config.file=properties_file
-----
-Alternatively, you can use the Administration Console to set this system
-property.
-2.  To apply your change, restart GlassFish Server Open Source Edition.
-
-[[GSADG00175]][[gkmgz]]
-
-
-Example 7-2 Setting the `java.util.logging.config.file` System Property
-
-The following example changes the location of the logging properties
-file to `/space/mylogging/logging.properties`:
-
-[source,oac_no_warn]
-----
-java -Djava.util.logging.config.file=/space/mylogging/logging.properties
-----
-
-[[gklml]][[GSADG00724]][[setting-log-levels]]
-
-Setting Log Levels
-^^^^^^^^^^^^^^^^^^
-
-The log level determines the granularity of the message that is logged,
-from error only (`EMERGENCY`) to detailed debug (`FINEST`). The
-following values apply: `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`,
-`INFO`, `CONFIG`, `FINE`, `FINER`, and `FINEST`. These log levels are
-hierarchically inclusive, which means that if you set a particular log
-level, such as INFO, the messages that have log levels above that level
-(`EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING`,) are also included. If
-you set the log level to the lowest level, `FINEST`, your output
-includes all the messages in the file. The default setting is `INFO`.
-
-You can list current log levels of all loggers specified in the
-`logging properties` file. In some cases, loggers that have not been
-created by the respective containers will also appear in the list.
-
-You can set log levels that are global or logger-specific. When you set
-a global log level, the log level goes into effect for all loggers. If
-you set the log level for a specific logger that is different from the
-global log level, the logger-specific setting takes precedence. In
-addition, when setting log levels, you can target a configuration,
-server, instance, or cluster.
-
-Because setting log levels is a dynamic operation, you do not need to
-restart GlassFish Server Open Source Edition for changes to take effect.
-
-Setting either global or logger-specific log levels is done by using the
-`set-log-levels` subcommand. Listing log levels is done by using the
-`list-log-levels` subcommand.
-
-The following topics are addressed here:
-
-* link:#gjirr[To List Log Levels]
-* link:#ghmep[To Set the Global Log Level]
-* link:#ghmdu[To Set Module Log Levels]
-
-[[gjirr]][[GSADG00377]][[to-list-log-levels]]
-
-To List Log Levels
-++++++++++++++++++
-
-GlassFish Server Open Source Edition provides the means to list all
-loggers and their log levels. Listing the loggers provides a convenient
-means to view current loggers and log levels either prior to or after
-making log level changes.
-
-Use the `list-log-levels` subcommand in remote mode to list the modules
-and their current log levels. The default target for this subcommand is
-the DAS. However, you can optionally specify one of the following
-targets:
-
-* Configuration name — to target all instances or clusters that share a
-specific configuration name.
-* Server name — to target a specific server.
-* Instance name — to target a specific instance.
-* Cluster name — to target a specific cluster.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  List the existing module loggers and log levels by using the
-link:../reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] subcommand.
-
-[[GSADG00176]][[gjiti]]
-
-
-Example 7-3 Listing Logger Levels for Modules
-
-This example shows a partial list of the existing loggers and their log
-levels in the DAS.
-
-[source,oac_no_warn]
-----
-asadmin> list-log-levels 
-jakarta.enterprise.system.container.cmp <INFO>
-jakarta.enterprise.system.tools.admin <INFO>
-java.util.logging.ConsoleHandler <FINEST>
-jakarta.enterprise.system.container.web <INFO>
-jakarta.enterprise.system.util <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.timing <INFO>
-javax <INFO>
-jakarta.enterprise.resource.corba <INFO>
-...
-Command list-log-levels executed successfully.
-----
-
-[[GSADG00177]][[gkkot]]
-
-
-Example 7-4 Listing Log Levels for an Instance
-
-This example shows a partial list of the loggers and log levels for the
-instance `MyServer2`.
-
-[source,oac_no_warn]
-----
-asadmin> list-log-levels MyServer2
-java.util.logging.ConsoleHandler <FINEST>
-jakarta.enterprise.resource.corba  <INFO>
-jakarta.enterprise.resource.javamail   <INFO>
-jakarta.enterprise.resource.jdo <INFO>
-jakarta.enterprise.resource.jms <INFO>
-jakarta.enterprise.resource.jta <INFO>
-jakarta.enterprise.resource.resourceadapter <INFO>
-jakarta.enterprise.resource.sqltrace <FINE>
-...
-Command list-log-levels executed successfully.
-----
-
-[[GSADG865]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help list-log-levels` at the command line.
-
-[[ghmep]][[GSADG00378]][[to-set-the-global-log-level]]
-
-To Set the Global Log Level
-+++++++++++++++++++++++++++
-
-The global log level specifies the events that are logged across all
-loggers. The default level for messages output to the console is `INFO`
-(which also includes `EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING`
-messages).
-
-Use the `set-log-levels` subcommand in remote mode to set the global log
-level. The default target for this subcommand is the DAS. However, you
-can optionally specify one of the following targets using the `--target`
-option:
-
-* Configuration name — to target all instances or clusters that share a
-specific configuration name.
-* Server name — to target a specific server.
-* Instance name — to target a specific instance.
-* Cluster name — to target a specific cluster.
-
-1.  Ensure that the target server or cluster is running.
-2.  Set the global log level by using the
-link:../reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`] subcommand, specifying the log level
-of the `java.util.logging.ConsoleHandler` logger. +
-The `ConsoleHandler` has a separate log level setting that limits the
-messages that are displayed. For example: +
-[source,oac_no_warn]
-----
-java.util.logging.ConsoleHandler <FINEST>
-----
-
-[[GSADG00178]][[ghmfi]]
-
-
-Example 7-5 Changing the Global Log Level for All Module Loggers
-
-By setting the log level of the `ConsoleHandler`, you set the global log
-level for all loggers. This example sets the global log level in the DAS
-to `INFO`:
-
-[source,oac_no_warn]
-----
-asadmin> set-log-levels java.util.logging.ConsoleHandler=INFO
-java.util.logging.ConsoleHandler package set with log level INFO.
-These logging levels are set for server.
-
-Command set-log-levels executed successfully.
-----
-
-[[GSADG866]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-levels` at the command line.
-
-[[ghmdu]][[GSADG00379]][[to-set-module-log-levels]]
-
-To Set Module Log Levels
-++++++++++++++++++++++++
-
-A module log level specifies the events that are logged for a particular
-logger. The default level for messages output to the console is `INFO`
-(which also includes `EMERGENCY`, `ALERT`, `SEVERE`, and `WARNING`
-messages). The global log level is overridden by a module-specific log
-level.
-
-By default, the module log level is set to `FINE`. The lines for the
-loggers in the logging properties file might look like this (the modules
-are indicated in bold):
-
-[source,oac_no_warn]
-----
-jakarta.enterprise.system.tools.level=FINE
-jakarta.enterprise.system.container.ejb.level=FINE
-jakarta.enterprise.system.core.security.level=FINE
-jakarta.enterprise.system.tools.admin.level=FINE
-jakarta.enterprise.level=FINE
-jakarta.enterprise.system.container.web.level=FINE
-----
-
-Because setting log levels is a dynamic operation, you do not need to
-restart GlassFish Server Open Source Edition for changes to take effect.
-
-1.  Ensure that the target server or cluster is running. +
-Remote subcommands require a running server.
-2.  List the existing module loggers and their log levels by using the
-link:../reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] subcommand.
-3.  Set the log level for a module by using the
-link:../reference-manual/set-log-levels.html#GSRFM00228[`set-log-levels`] subcommand. +
-Your choices are `EMERGENCY`, `ALERT`, `SEVERE`, `WARNING`, `INFO`,
-`CONFIG`, `FINE`, `FINER`, and `FINEST`.
-
-[[GSADG00179]][[ghmev]]
-
-
-Example 7-6 Setting the Log Level for a Module Logger
-
-This example sets the log level for the web container logger to WARNING
-on the target instance `ManagedServer1`:
-
-[source,oac_no_warn]
-----
-asadmin> set-log-levels --target ManagedServer1
-jakarta.enterprise.system.container.web=WARNING
-jakarta.enterprise.system.container.web package set with log level WARNING.
-These logging levels are set for ManagedServer1.
-ManagedServer1 :
-jakarta.enterprise.system.container.web package set with log level WARNING.
-These logging levels are set for ManagedServer1.
-
-Command set-log-levels executed successfully.
-----
-
-[[GSADG00180]][[gjkat]]
-
-
-Example 7-7 Setting Log Levels for Multiple Loggers
-
-The following example sets the log level for security and web container
-loggers in the DAS.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-levels jakarta.enterprise.system.core.security=FINE:
-jakarta.enterprise.system.container.web=WARNING
-jakarta.enterprise.system.container.web package set with log level WARNING.
-jakarta.enterprise.system.core.security package set with log level FINE.
-These logging levels are set for server.
-
-Command set-log-levels executed successfully.
-----
-
-[[GSADG867]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-levels` at the command line.
-
-[[CEGDJEBG]][[GSADG1062]][[setting-the-log-file-format]]
-
-Setting the Log File Format
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can set the format for log records in log files. The following
-topics are addressed here:
-
-* link:#CEGFFJDG[To Set the Log File Format]
-* link:#CEGGBJCC[To Exclude Fields in Log Records]
-* link:#CEGBBEAH[To Set Multiline Mode]
-
-[[CEGFFJDG]][[GSADG1063]][[to-set-the-log-file-format]]
-
-To Set the Log File Format
-++++++++++++++++++++++++++
-
-Use the `set-log-file-format` subcommand in remote mode to set the
-formatter used by GlassFish Server Open Source Edition to format log
-records in log files. You can also use the `set-log-attributes`
-subcommand. Log formats for all server instances in a cluster will be
-the same. For information about log formats, see link:#gkmex[Log
-Records].
-
-
-[NOTE]
-=======================================================================
-
-Changing the log format forces log rotation to avoid mixed format in the
-same file.
-
-=======================================================================
-
-
-1.  Ensure that the target server or cluster is running. +
-Remote commands require a running server.
-2.  Set the formatter by using the
-link:../reference-manual/redeploy.html#GSRFM00217[`set-log-file-format`] subcommand.
-3.  To apply your change, restart GlassFish Server Open Source Edition.
-
-[[GSADG1064]][[sthref23]]
-
-
-Example 7-8 Setting the Log File Format using `set-log-file-format`
-
-This example sets the log file format to `ULF` for standalone instance
-`ManagedServer1` using the `set-log-file-format` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-file-format --target ManagedServer1 ulf
-The log file formatter is set to com.sun.enterprise.server.logging.UniformLogFormatter for instance ManagedServer1.
-Command set-log-file-format executed successfully.
-----
-
-[[GSADG1065]][[sthref24]]
-
-
-Example 7-9 Setting the Log File Format using `set-log-attributes`
-
-This example sets the log file format to `ULF` for standalone instance
-`ManagedServer1` using the `set-log-attributes` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes --target ManagedServer1 com.sun.enterprise.server.logging.GFFileHandler.formatter=ulf
-com.sun.enterprise.server.logging.GFFileHandler.formatter logging attribute value set to ulf.
-The logging attributes are saved successfully for ManagedServer1-config.
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG1066]]
-
-See Also
-
-You can view the full syntax and options of the `set-log-file-format`
-subcommand by typing `asadmin help set-log-file-format` at the command
-line. You can view the full syntax and options of the
-`set-log-attributes` subcommand by typing
-`asadmin help set-log-attributes` at the command line.
-
-[[CEGGBJCC]][[GSADG1067]][[to-exclude-fields-in-log-records]]
-
-To Exclude Fields in Log Records
-++++++++++++++++++++++++++++++++
-
-Use the `set-log-attributes` subcommand in remote mode to exclude
-specific name-value fields from log records. If the `excludeFields`
-attribute is not specified, all name-value fields are included. The
-following fields can be excluded:
-
-* `tid`
-* `userId`
-
-* `ecid`
-* `timeMillis`
-* `levelVal`
-
-1.  Ensure that the target server or cluster is running. +
-Remote commands require a running server.
-2.  Exclude fields by using the link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`]
-subcommand, specifying the following attribute and the fields to
-exclude: +
-[source,oac_no_warn]
-----
-com.sun.enterprise.server.logging.GFFileHandler.excludeFields=fields
-----
-where `fields` is a comma-separated list of the name-value fields to
-exclude from the log file.
-3.  To apply your change, restart GlassFish Server Open Source Edition.
-
-[[GSADG1068]][[sthref25]]
-
-
-Example 7-10 Excluding Fields in Log Records
-
-This example excludes the `userId` and `levelVal` name-value fields in
-log records for standalone instance `ManagedServer1`:
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes --target ManagedServer1
-com.sun.enterprise.server.logging.GFFileHandler.excludeFields=userId,levelVal
-com.sun.enterprise.server.logging.GFFileHandler.excludeFields logging attribute value set to userId,levelVal.
-The logging attributes are saved successfully for ManagedServer1-config.
-
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG1069]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-attributes` at the command line.
-
-[[CEGBBEAH]][[GSADG1070]][[to-set-multiline-mode]]
-
-To Set Multiline Mode
-+++++++++++++++++++++
-
-Use the `set-log-attributes` command in remote mode to set multiline
-mode. When multiline mode is enabled (the default), the body of a log
-message starts on a new line after the message header and is indented.
-
-1.  Ensure that the target server or cluster is running. +
-Remote commands require a running server.
-2.  Set multiline mode by using the
-link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand, specifying the
-following attribute and its value (`true` or `false`): +
-[source,oac_no_warn]
-----
-com.sun.enterprise.server.logging.GFFileHandler.multiLineMode=value
-----
-3.  To apply your change, restart GlassFish Server Open Source Edition.
-
-[[GSADG1071]][[sthref26]]
-
-
-Example 7-11 Setting Multiline Mode
-
-Multiline mode is enabled by default. The following example disables
-multiline mode in log files for standalone instance `ManagedServer1`:
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes --target ManagedServer1
-com.sun.enterprise.server.logging.GFFileHandler.multiLineMode=false
-com.sun.enterprise.server.logging.GFFileHandler.multiLineMode logging attribute value set to false.
-The logging attributes are saved successfully for ManagedServer1-config.
-
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG1072]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-attributes` at the command line.
-
-[[gklni]][[GSADG00725]][[setting-log-file-rotation]]
-
-Setting Log File Rotation
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-As explained in link:#ablul[Log Files], GlassFish Server Open Source
-Edition by default rotates log files when they reach 2 MB in size.
-However, you can change the default rotation settings. For example, you
-can change the file size at which the server rotates the log file or you
-can configure a server to rotate log files based on a time interval. In
-addition to changing when rotation occurs, you can also:
-
-* Specify the maximum number of rotated files that can accumulate. +
-By default, GlassFish Server Open Source Edition does not limit the
-number of rotated log files that are retained. However, you can set a
-limit. After the number of log files reaches this limit, subsequent file
-rotations delete the oldest rotated log file.
-* Rotate the log file manually. +
-A manual rotation forces the immediate rotation of the target log file.
-
-Changing the default log rotation settings is done using the
-`set-log-attributes` subcommand, and rotating log files manually is done
-using the `rotate-log` subcommand, as explained in the following
-sections:
-
-* link:#gkmbh[To Change the Rotation File Size]
-* link:#gkman[To Change the File Rotation Interval]
-* link:#gkmai[To Change the Limit Number of Retained Files]
-* link:#gkmau[To Rotate Log Files Manually]
-
-[[gkmbh]][[GSADG00380]][[to-change-the-rotation-file-size]]
-
-To Change the Rotation File Size
-++++++++++++++++++++++++++++++++
-
-Use the `set-log-attributes` subcommand in remote mode to change the log
-rotation file size. The default target of this subcommand is the DAS.
-Optionally, you can target a configuration, server, instance, or
-cluster. The minimum size that can be set is 500 KB.
-
-1.  Ensure that the target server or cluster is running.
-2.  Change the rotation file size limit by using the
-link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand, specifying the
-following attribute and the desired limit in bytes: +
-[source,oac_no_warn]
-----
-com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=bytes
-----
-3.  To apply your change, restart GlassFish Server Open Source Edition.
-
-[[GSADG00181]][[gkmay]]
-
-
-Example 7-12 Changing the Rotation Size
-
-The following example sets the log file rotation size to 1 MB for the
-standalone instance `ManagedServer1`:
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes --target ManagedServer1
-com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=1000000
-com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes
-logging attribute set with value 1000000.
-These logging attributes are set for ManagedServer1.
-ManagedServer1 :
-com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes 
-logging attribute set with value 1000000.
-These logging attributes are set for ManagedServer1.
-
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG868]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-attributes` at the command line.
-
-[[gkman]][[GSADG00381]][[to-change-the-file-rotation-interval]]
-
-To Change the File Rotation Interval
-++++++++++++++++++++++++++++++++++++
-
-Use the `set-log-attributes` subcommand in remote mode to change the log
-file rotation time limit interval. The default target of this subcommand
-is the DAS. Optionally, you can target a configuration, server,
-instance, or cluster. The default value is `0`.
-
-1.  Ensure that the target server or cluster is running.
-2.  Change the rotation time limit by using the
-link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand, specifying the
-following attribute and the desired limit in minutes: +
-[source,oac_no_warn]
-----
-com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=minutes
-----
-3.  To apply your change, restart GlassFish Server Open Source Edition.
-
-[[GSADG00182]][[gkmbc]]
-
-
-Example 7-13 Changing the Rotation Interval
-
-The following example sets the log file rotation time limit for the
-cluster `Cluster1`, which has the instances `ClusterServer1` and
-`ClusterServer2`.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes --target Cluster1
-com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=10
-com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes
-logging attribute set with value 10.
-These logging attributes are set for Cluster1.
-ClusterServer1 :
-com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes 
-logging attribute set with value 10.
-These logging attributes are set for Cluster1.
-
-ClusterServer2 :
-com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes 
-logging attribute set with value 10.
-These logging attributes are set for Cluster1.
-
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG869]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-attributes` at the command line.
-
-[[gkmai]][[GSADG00382]][[to-change-the-limit-number-of-retained-files]]
-
-To Change the Limit Number of Retained Files
-++++++++++++++++++++++++++++++++++++++++++++
-
-Use the `set-log-attributes` subcommand in remote mode to change the
-limit on the number of log files that the server creates to store old
-log messages. The default target of this subcommand is the DAS.
-Optionally, you can target a configuration, server, instance, or
-cluster. The default limit value is `0`, which results in no limit
-placed on the number of rotated log files that are retained.
-
-1.  Ensure that the target server or cluster is running.
-2.  Change the limit number of retained log files by using the
-link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand, specifying the
-following attribute and the desired file limit number: +
-[source,oac_no_warn]
-----
-com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles=minutes
-----
-The behavior of the
-`com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles`
-attribute is as follows:
-* If the property is not set, GlassFish Server Open Source Edition keeps
-a maximum of 10 rotated log files.
-* If the property is set to an invalid number or null, GlassFish Server
-Open Source Edition keeps a maximum of 10 rotated log files.
-* If the property is set to 0, GlassFish Server Open Source Edition
-retains all rotated log files (that is, sets no maximum).
-3.  To apply your change, restart GlassFish Server Open Source Edition.
-
-[[GSADG00183]][[gkmaq]]
-
-
-Example 7-14 Changing the Limit Number of Retained Files
-
-The following example sets the log limit number of retained log files
-for the DAS to `10`.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes
-com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles=10
-com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles 
-logging attribute set with value 10.
-These logging attributes are set for server.
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG870]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-attributes` at the command line.
-
-[[gkmau]][[GSADG00383]][[to-rotate-log-files-manually]]
-
-To Rotate Log Files Manually
-++++++++++++++++++++++++++++
-
-You can rotate log files manually by using the `rotate-log` subcommand
-in remote mode. The default target of this subcommand is the DAS.
-Optionally, you can target a configuration, server, instance, or
-cluster. When you use this subcommand, the target log file is
-immediately moved to a new time-stamped file and a new log file is
-created.
-
-Because log rotation is a dynamic operation, you do not need to restart
-GlassFish Server Open Source Edition for changes to take effect.
-
-1.  Ensure that the target server or cluster is running.
-2.  Rotate log files by using the link:../reference-manual/rotate-log.html#GSRFM00224[`rotate-log`]
-subcommand.
-
-[[GSADG00184]][[gkmav]]
-
-
-Example 7-15 Rotating Log Files Manually
-
-The following example rotates the `server.log` file for `ManagedServer2`
-to `server.log_`yyyy-mm-dd`T`hh-mm-ss, where yyyy-mm-dd`T`hh-mm-ss
-represents the time when the file is rotated, and creates a new
-`server.log` file in the default location.
-
-[source,oac_no_warn]
-----
-asadmin> rotate-log --target ManagedServer2
-Command rotate-log executed successfully.
-----
-
-[[GSADG871]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help rotate-log` at the command line.
-
-[[gklnk]][[GSADG00726]][[adding-a-custom-logging-handler]]
-
-Adding a Custom Logging Handler
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, GlassFish Server Open Source Edition log records are
-captured in a server log file using the format described in
-link:#gkmex[Log Records]. However, you may find that you want to log
-messages to a different location, such as a database or a remote server,
-or log messages from specific loggers to your own file. This can be done
-by implementing a custom log handler. This section explains how to add a
-custom log handler to the GlassFish Server Open Source Edition logging
-service.
-
-[[ghmen]][[GSADG00384]][[to-add-a-custom-log-handler]]
-
-To Add a Custom Log Handler
-+++++++++++++++++++++++++++
-
-A comma-separated list of log handlers is installed during startup of
-the Java Virtual Machine (JVM) host. The default log handler that is
-provided in the `logging.properties` file, `ConsoleHandler`, is
-configured as follows:
-
-[source,oac_no_warn]
-----
-handlers=java.util.logging.ConsoleHandler
-----
-
-In GlassFish Server Open Source Edition, the best approach to developing
-a custom handler is to define a Hundred-Kilobyte Kernel (HK2) component
-that implements the handler contract. GlassFish Server Open Source
-Edition registers this handler automatically because it is an HK2
-component. There is no task required of the administrator.
-
-
-[NOTE]
-=======================================================================
-
-The custom handler class should be packaged in an OSGi module and the
-JAR file placed in the as-install`/modules` directory.
-
-=======================================================================
-
-
-To configure a custom handler that is not developed as an HK2 component,
-add the new handler to the `logging.properties` file after the developer
-has put the custom handler JAR file into the domain-dir`/lib/ext`
-directory.
-
-[[GSADG872]]
-
-Before You Begin
-
-If you set a handler by setting the handlers attribute in the logging
-properties file, the class that extends `java.util.logging.Handler` must
-be in the server classpath.
-
-1.  Ensure that the target server or cluster is running. +
-Remote subcommands require a running server.
-2.  Use the link:../reference-manual/set-log-attributes.html#GSRFM00227[`set-log-attributes`] subcommand to add the
-handler to the `handlers` attribute. +
-The default target of this subcommand is the DAS. Optionally you can
-target a configuration, server, instance, or cluster.
-3.  To apply your changes, restart GlassFish Server Open Source Edition. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00185]][[ghphb]]
-
-
-Example 7-16 Adding a New Log Handler
-
-This example adds the custom logger `com.example.logging.MyHandler` to
-the logging properties file of the DAS.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes
-handlers=java.util.logging.ConsoleHandler,com.example.logging.MyHandler
-handlers logging attribute set with value
-java.util.logging.ConsoleHandler,com.example.logging.MyHandler.
-These logging attributes are set for server.
-Command set-log-attributes executed successfully.
-----
-
-[[GSADG873]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help set-log-attributes` at the command line.
-
-[[gkobx]][[GSADG00556]][[viewing-log-records]]
-
-Viewing Log Records
-~~~~~~~~~~~~~~~~~~~
-
-The recommended means for general viewing of logging information is to
-use the Log Viewer in the Administration Console. The Log Viewer
-simplifies reading, searching, and filtering log file contents. For
-instructions, see the Administration Console online help.
-
-GlassFish Server Open Source Edition also allows you to collect log
-files into a ZIP archive, which provides the means to obtain and view
-log files for an instance or cluster even when it is not currently
-running. The following section explains how to collect all available log
-files for an instance or cluster and compile them into a single ZIP
-archive, which is done by using the `collect-log-files` subcommand.
-
-[[gklbi]][[GSADG00385]][[to-collect-log-files-into-a-zip-archive]]
-
-To Collect Log Files into a ZIP Archive
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `collect-log-files` subcommand in remote mode to collect log
-files into a ZIP archive. The default target of this subcommand is the
-DAS. Optionally you can target a configuration, server, instance, or
-cluster.
-
-1.  Ensure that the target server or cluster is running. +
-Remote subcommands require a running server.
-2.  Use the link:../reference-manual/collect-log-files.html#GSRFM00007[`collect-log-files`] subcommand to create
-the ZIP archive. +
-The default location in which the ZIP archive is created is the
-domain-dir`/collected-logs` directory. The `collect-log-files`
-subcommand allows you to specify a nondefault directory in which the ZIP
-archive is to be created by using the `--retrieve` option set to `true`,
-followed by the directory name. +
-The name of the ZIP file contains the timestamp, as follows: +
-`log_`yyyy-mm-dd_hh-min-sec`.zip`
-
-[[GSADG00186]][[gklap]]
-
-
-Example 7-17 Creating a ZIP Archive
-
-This example shows collecting the log files for the cluster `MyCluster`
-and compiling them into a ZIP archive in the `/space/output` directory.
-
-[source,oac_no_warn]
-----
-asadmin> collect-log-files --target MyCluster
---retrieve true /space/output
-Log files are downloaded for ClusterServer1.
-Log files are downloaded for ClusterServer2.
- Created Zip file under /space/output/log_2011-02-10_13-35-25.zip.
-Command collect-log-files executed successfully.
-----
-
-When the ZIP file created by the preceding command is uncompressed, the
-following directory structure is created:
-
-[source,oac_no_warn]
-----
-as-install-parent/
-       glassfish/
-            domains/
-                domain-dir/
-                       collected_logs/
-                                    logs/
-                                       ClusterServer1/
-                                                    server.log
-                                       ClusterServer2/
-                                                    server.log
-----
-
-[[GSADG874]]
-
-See Also
-
-You can view the full syntax and options of the subcommand by typing
-`asadmin help collect-log-files` at the command line.
-
-[[CEGGHGIJ]][[GSADG1073]][[listing-loggers]]
-
-Listing Loggers
-~~~~~~~~~~~~~~~
-
-You can list and view information about all public loggers in your
-distribution of GlassFish Server Open Source Edition.
-
-[[CEGGICGF]][[GSADG1074]][[to-list-loggers]]
-
-To List Loggers
-^^^^^^^^^^^^^^^
-
-Use the `list-loggers` subcommand in remote mode to list the logger
-name, subsystem, and description of loggers in your distribution of
-GlassFish Server Open Source Edition. Internal loggers are not listed.
-
-1.  Ensure that the target server or cluster is running. +
-Remote commands require a running server.
-2.  List loggers by using the link:../reference-manual/redeploy.html#GSRFM00217[`list-loggers`]
-subcommand.
-
-[[GSADG1075]][[sthref27]]
-
-
-Example 7-18 Listing Loggers
-
-This example lists the logger name, subsystem, and description for each
-logger. Some lines of output are omitted from this example for
-readability.
-
-[source,oac_no_warn]
-----
-asadmin> list-loggers
-Logger Name                            Subsystem         Logger Description
-...
-jakarta.enterprise.monitoring            Monitoring        Monitoring Logger
-jakarta.enterprise.system.core.ee        AS-CORE           Java EE Core Kernel
-jakarta.enterprise.system.jmx            JMX               JMX System Logger
-jakarta.enterprise.system.tools.admin    ADMIN             Administration Services
-...
-Command list-loggers executed successfully.
-----
-
-[[GSADG1076]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-loggers` at the command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/lot.adoc b/docs/administration-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index 2a93b43..0000000
--- a/docs/administration-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,78 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=lof.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:overview.html#giuad[1-1 Default Administration Values]
-* link:overview.html#gjhfv[1-2 Default Locations]
-* link:general-administration.html#gkame[2-1 REST Resource Methods for
-Administering Monitoring and Configuration Data]
-* link:webapps.html#fvyhk[6-1 URL Fields for Servlets Within an
-Application]
-* link:monitoring.html#ghlta[8-1 HTTP Listener Common Monitoring
-Statistics]
-* link:monitoring.html#ghlsl[8-2 JVM Common Monitoring Statistics]
-* link:monitoring.html#ghqly[8-3 Web Module Common Monitoring Statistics]
-* link:monitoring.html#ggnpb[8-4 Example Resources Level Dotted Names]
-* link:monitoring.html#gelod[8-5 EJB Cache Monitoring Statistics]
-* link:monitoring.html#gelns[8-6 EJB Container Monitoring Statistics]
-* link:monitoring.html#gelnu[8-7 EJB Method Monitoring Statistics]
-* link:monitoring.html#gelpe[8-8 EJB Pool Monitoring Statistics]
-* link:monitoring.html#gelob[8-9 Timer Monitoring Statistics]
-* link:monitoring.html#gelnm[8-10 HTTP Service Virtual Server Monitoring
-Statistics]
-* link:monitoring.html#gjjys[8-11 Jersey Statistics]
-* link:monitoring.html#gelot[8-12 Connector Connection Pool Monitoring
-Statistics (JMS)]
-* link:monitoring.html#gelnz[8-13 Connector Work Management Monitoring
-Statistics (JMS)]
-* link:monitoring.html#gelow[8-14 JVM Monitoring Statistics for Java SE
-Class Loading]
-* link:monitoring.html#geloa[8-15 JVM Monitoring Statistics for Java SE -
-Threads]
-* link:monitoring.html#gelnt[8-16 JVM Monitoring Statistics for Java SE
-Compilation]
-* link:monitoring.html#gelox[8-17 JVM Monitoring Statistics for Java SE
-Garbage Collectors]
-* link:monitoring.html#gelnx[8-18 JVM Monitoring Statistics for Java SE
-Memory]
-* link:monitoring.html#gelog[8-19 JVM Statistics for the Java SE
-Operating System]
-* link:monitoring.html#gelop[8-20 JVM Monitoring Statistics for Java SE
-Runtime]
-* link:monitoring.html#gjirp[8-21 Network Keep Alive Statistics]
-* link:monitoring.html#gjjxc[8-22 Network Connection Queue Statistics]
-* link:monitoring.html#gjjpd[8-23 Network File Cache Statistics]
-* link:monitoring.html#gjjov[8-24 Network Thread Pool Statistics]
-* link:monitoring.html#gelqw[8-25 ORB Monitoring Statistics (Connection
-Manager)]
-* link:monitoring.html#gelqa[8-26 General Resource Monitoring Statistics
-(Connection Pool)]
-* link:monitoring.html#gktcp[8-27 Application Specific Resource
-Monitoring Statistics (Connection Pool)]
-* link:monitoring.html#gjirc[8-28 EJB Security Monitoring Statistics]
-* link:monitoring.html#gjiqv[8-29 Web Security Monitoring Statistics]
-* link:monitoring.html#gjirq[8-30 Realm Security Monitoring Statistics]
-* link:monitoring.html#gelqt[8-31 Thread Pool Monitoring Statistics]
-* link:monitoring.html#geloy[8-32 JVM Monitoring Statistics for Java SE -
-Thread Info]
-* link:monitoring.html#gelpl[8-33 Transaction Service Monitoring
-Statistics]
-* link:monitoring.html#gjkba[8-34 Web Module Servlet Statistics]
-* link:monitoring.html#givgh[8-35 Web JSP Monitoring Statistics]
-* link:monitoring.html#gjisw[8-36 Web Request Monitoring Statistics]
-* link:monitoring.html#ghqiu[8-37 Web Servlet Monitoring Statistics]
-* link:monitoring.html#gellc[8-38 Web Session Monitoring Statistics]
-* link:http_https.html#ggnpj[13-1 Default Ports for Listeners]
-* link:jndi.html#fxizy[18-1 JNDI Lookup Names and Their Associated
-References]
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/monitoring.adoc b/docs/administration-guide/src/main/jbake/content/monitoring.adoc
deleted file mode 100644
index 44c2740..0000000
--- a/docs/administration-guide/src/main/jbake/content/monitoring.adoc
+++ /dev/null
@@ -1,2814 +0,0 @@
-type=page
-status=published
-title=Administering the Monitoring Service
-next=lifecycle-modules.html
-prev=logging.html
-~~~~~~
-Administering the Monitoring Service
-====================================
-
-[[GSADG00011]][[ablur]]
-
-
-[[administering-the-monitoring-service]]
-8 Administering the Monitoring Service
---------------------------------------
-
-This chapter explains how to monitor the GlassFish Server Open Source
-Edition 5.0 components and services by using the `asadmin` command-line
-utility. Instructions for configuring JConsole to monitor GlassFish
-Server resources are also provided.
-
-The following topics are addressed here:
-
-* link:#ablus[About Monitoring]
-* link:#ablvp[Configuring Monitoring]
-* link:#ablvs[Viewing Common Monitoring Data]
-* link:#ghmct[Viewing Comprehensive Monitoring Data]
-* link:#giwqm[Configuring JConsole to View GlassFish Server Monitoring
-Data]
-
-Instructions for monitoring by using the Administration Console are
-contained in the Administration Console online help.
-
-For information on using REST interfaces for monitoring, see
-link:general-administration.html#gjipx[Using REST Interfaces to
-Administer GlassFish Server].
-
-[[ablus]][[GSADG00557]][[about-monitoring]]
-
-About Monitoring
-~~~~~~~~~~~~~~~~
-
-Monitoring is the process of reviewing the statistics of a system to
-improve performance or solve problems. The monitoring service can track
-and display operational statistics, such as the number of requests per
-second, the average response time, and the throughput. By monitoring the
-state of various components and services deployed in GlassFish Server,
-you can identify performance bottlenecks, predict failures, perform root
-cause analysis, and ensure that everything is functioning as expected.
-Data gathered by monitoring can also be useful in performance tuning and
-capacity planning.
-
-For this release of GlassFish Server, monitoring is exposed in a modular
-way so that many client modules can access and display the monitoring
-statistics. These clients include the Administration Console, the
-`asadmin` utility, AMX, and REST interfaces.
-
-The following topics are addressed here:
-
-* link:#ghbaz[How the Monitoring Tree Structure Works]
-* link:#gitkq[About Monitoring for Add-on Components]
-* link:#ghbfq[Tools for Monitoring GlassFish Server]
-
-[[ghbaz]][[GSADG00727]][[how-the-monitoring-tree-structure-works]]
-
-How the Monitoring Tree Structure Works
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A monitorable object is a component, subcomponent, or service that can
-be monitored. GlassFish Server uses a tree structure to track
-monitorable objects. Because the tree is dynamic, the tree changes as
-GlassFish Server components are added or removed.
-
-In the tree, a monitorable object can have child objects (nodes) that
-represent exactly what can be monitored for that object. All child
-objects are addressed using the dot (.) character as a separator. These
-constructed names are referred to as dotted names. Detailed information
-on dotted names is available in the
-link:../reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.
-
-The following command lists the monitorable child objects of the
-instance `server`:
-
-[source,oac_no_warn]
-----
-asadmin> list --monitor "server.*"
-
-server.applications
-server.connector-service
-server.http-service
-server.jms-service
-server.jvm
-server.network
-server.orb
-server.resources 
-server.security
-server.thread-pool
-server.transaction-service
-server.web
-----
-
-Each object is represented by a dotted name. Dotted names can also
-address specific attributes in monitorable objects. For example, the
-`jvm` object has a `memory` attribute with a statistic called
-`maxheapsize`. The following dotted name addresses the attribute:
-
-[source,oac_no_warn]
-----
-server.jvm.memory.maxheapsize
-----
-
-Although an object is monitorable, it is not necessarily being actively
-monitored. For instructions on activating monitoring, see
-link:#ablvp[Configuring Monitoring].
-
-[[abluv]][[GSADG00647]][[tree-structure-of-monitorable-objects]]
-
-Tree Structure of Monitorable Objects
-+++++++++++++++++++++++++++++++++++++
-
-Each monitorable object has a hierarchical tree structure. In the tree,
-a replaceable such as *statistics represents the name of the attribute
-that you can show statistics for.
-
-The following node tree hierarchies are addressed here:
-
-* link:#abluw[Applications Tree Hierarchy]
-* link:#abluz[Connector Service Tree Hierarchy]
-* link:#ghlin[HTTP Service Tree Hierarchy]
-* link:#ablva[JMS/Container Service Tree Hierarchy]
-* link:#ghlic[JVM Tree Hierarchy]
-* link:#giznj[Network Tree Hierarchy]
-* link:#ablvb[ORB Tree Hierarchy]
-* link:#giqdo[Resources Tree Hierarchy]
-* link:#gjios[Security Tree Hierarchy]
-* link:#ablvc[Thread Pool Tree Hierarchy]
-* link:#gitci[Transactions Service Tree Hierarchy]
-* link:#ghlff[Web Tree Hierarchy]
-
-[[abluw]][[GSADG00040]][[applications-tree-hierarchy]]
-
-Applications Tree Hierarchy
-
-The `applications` tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.applications
-   |--- application1
-   |    |--- ejb-module-1
-   |    |        |--- ejb1 *
-   |    |                  |--- bean-cache (for entity/sfsb) *
-   |    |                  |--- bean-pool (for slsb/mdb/entity) *
-   |    |                  |--- bean-methods
-   |    |                       |---method1 *
-   |    |                       |---method2 *
-   |    |                  |--- timers (for s1sb/entity/mdb) *
-   |    |--- web-module-1
-   |    |        |--- virtual-server-1 *
-   |    |                       |---servlet1  *
-   |    |                       |---servlet2  *
-   |--- standalone-web-module-1
-   |    |        |----- virtual-server-2 *
-   |    |                       |---servlet3 *
-   |    |                       |---servlet4 *
-   |    |        |----- virtual-server-3 *
-   |    |                       |---servlet3 *(same servlet on different vs)
-   |    |                       |---servlet5 *
-   |--- standalone-ejb-module-1
-   |    |        |--- ejb2 *
-   |    |                  |--- bean-cache (for entity/sfsb) *
-   |    |                  |--- bean-pool (for slsb/mdb/entity) *
-   |    |                  |--- bean-methods
-   |    |                       |--- method1 *
-   |    |                       |--- method2 *
-   |    |                  |--- timers (for s1sb/entity/mdb) *
-   |--- jersey-application-1
-   |    |--- jersey
-   |    |        |--- resources
-                           resource-0
-                               hitcount
-                                    *statistic   
-   |--- application2
-----
-
-An example dotted name might be:
-
-[source,oac_no_warn]
-----
-server.applications.hello.server.request.maxtime
-----
-
-An example dotted name under the EJB `method` node might be:
-
-[source,oac_no_warn]
-----
-server.applications.ejbsfapp1.ejbsfapp1ejbmod1\.jar.SFApp1EJB1
-----
-
-An example Jersey dotted name might be:
-
-[source,oac_no_warn]
-----
-server.applications.helloworld-webapp.jersey.resources.resource-0.hitcount.resourcehitcount-count
-----
-
-For available statistics, see link:#gjkbi[EJB Statistics],
-link:#gjjyb[Jersey Statistics], and link:#ablvf[Web Statistics].
-
-[[abluz]][[GSADG00041]][[connector-service-tree-hierarchy]]
-
-Connector Service Tree Hierarchy
-
-The `connector-service` tree holds monitorable attributes for pools such
-as the connector connection pool. The `connector-service` tree contains
-the following nodes:
-
-[source,oac_no_warn]
-----
-server.connector-service
-        resource-adapter-1
-             connection-pools
-                  pool-1
-             work-management
-----
-
-An example dotted name might be
-`server.connector-service.resource-adapter-1.connection-pools.pool-1`.
-For available statistics, see link:#ablvi[JMS/Connector Service
-Statistics].
-
-[[ghlin]][[GSADG00042]][[http-service-tree-hierarchy]]
-
-HTTP Service Tree Hierarchy
-
-The `http-service` tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.http-service
-       virtual-server
-           request
-               *statistic
-       _asadmin
-           request
-               *statistic
-----
-
-An example dotted name under the virutal-server node might be
-`server.http-service.virtual-server1.request.requestcount`. For
-available statistics, see link:#ablvg[HTTP Service Statistics].
-
-[[ablva]][[GSADG00043]][[jmscontainer-service-tree-hierarchy]]
-
-JMS/Container Service Tree Hierarchy
-
-The `jms-service` tree holds monitorable attributes for connection
-factories (connection pools for resource adapters) and work management
-(for Message Queue resource adapters). The `jms-service` tree contains
-the following nodes:
-
-[source,oac_no_warn]
-----
-server.jms-service
-        connection-factories
-             connection-factory-1
-        work-management
-----
-
-An example dotted name under the `connection-factories` node might be
-`server.jms-service.connection-factories.connection-factory-1` which
-shows all the statistics for this connection factory. For available
-statistics, see link:#ablvi[JMS/Connector Service Statistics].
-
-[[ghlic]][[GSADG00044]][[jvm-tree-hierarchy]]
-
-JVM Tree Hierarchy
-
-The `jvm` tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.jvm
-           class-loading-system
-           compilation-system
-           garbage-collectors
-           memory
-           operating-system
-           runtime 
-----
-
-An example dotted name under the `memory` node might be
-`server.jvm.memory.maxheapsize`. For available statistics, see
-link:#ablvm[JVM Statistics].
-
-[[giznj]][[GSADG00045]][[network-tree-hierarchy]]
-
-Network Tree Hierarchy
-
-The network statistics apply to the network listener, such as
-`admin-listener`, `http-listener-1`, `ttp-listener-2`. The `network`
-tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.network
-          type-of-listener
-              keep-alive
-                    *statistic
-              file-cache
-                    *statistic
-              thread-pool
-                    *statistic
-              connection-queue
-                     *statistic
-----
-
-An example dotted name under the `network` node might be
-`server.network.admin-listener.keep-alive.maxrequests-count`. For
-available statistics, see link:#gjipy[Network Statistics].
-
-[[ablvb]][[GSADG00046]][[orb-tree-hierarchy]]
-
-ORB Tree Hierarchy
-
-The `orb` tree holds monitorable attributes for connection managers. The
-`orb` tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.orb
-    transport
-        connectioncache
-            inbound
-                *statistic
-            outbound
-                *statistic
-----
-
-An example dotted name might be
-`server.orb.transport.connectioncache.inbound.connectionsidle-count`.
-For available statistics, see link:#ablvj[ORB Statistics (Connection
-Manager)].
-
-[[giqdo]][[GSADG00047]][[resources-tree-hierarchy]]
-
-Resources Tree Hierarchy
-
-The `resources` tree holds monitorable attributes for pools such as the
-JDBC connection pool and connector connection pool. The `resources` tree
-contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.resources
-       connection-pool
-           request
-               *statistic
-----
-
-An example dotted name might be
-`server.resources.jdbc-connection-pool1.numconnfree.count`. For
-available statistics, see link:#gipzv[Resource Statistics (Connection
-Pool)].
-
-[[gjios]][[GSADG00048]][[security-tree-hierarchy]]
-
-Security Tree Hierarchy
-
-The security tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.security
-       ejb
-          *statistic
-       web
-          *statistic
-       realm
-          *statistic
-----
-
-An example dotted name might be
-`server.security.realm.realmcount-starttime`. For available statistics,
-see link:#gjiov[Security Statistics].
-
-[[ablvc]][[GSADG00049]][[thread-pool-tree-hierarchy]]
-
-Thread Pool Tree Hierarchy
-
-The `thread-pool` tree holds monitorable attributes for connection
-managers, and contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.thread-pool
-                orb
-                    threadpool
-                            thread-pool-1
-                                *statistic
-----
-
-An example dotted name might be
-`server.thread-pool.orb.threadpool.thread-pool-1.averagetimeinqueue-current`.
-For available statistics, see link:#ablvk[Thread Pool Statistics].
-
-[[gitci]][[GSADG00050]][[transactions-service-tree-hierarchy]]
-
-Transactions Service Tree Hierarchy
-
-The `transaction-service` tree holds monitorable attributes for the
-transaction subsystem for the purpose of rolling back transactions. The
-`transaction-service` tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.transaction-service
-         statistic
-----
-
-An example dotted name might be `server.tranaction-service.activeids`.
-For available statistics, see link:#ablvl[Transaction Service
-Statistics].
-
-[[ghlff]][[GSADG00051]][[web-tree-hierarchy]]
-
-Web Tree Hierarchy
-
-The `web` tree contains the following nodes:
-
-[source,oac_no_warn]
-----
-server.web
-           jsp
-              *statistic
-           servlet
-              *statistic
-           session
-              *statistic
-           request
-              *statistic
-----
-
-An example dotted name for the `servlet` node might be
-`server.web.servlet.activeservletsloadedcount`. For available
-statistics, see link:#ghljx[Web Module Common Statistics].
-
-[[gitkq]][[GSADG00728]][[about-monitoring-for-add-on-components]]
-
-About Monitoring for Add-on Components
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An add-on component typically generates statistics that GlassFish Server
-can gather at runtime. Adding monitoring capabilities enables an add-on
-component to provide statistics to GlassFish Server in the same way as
-components that are supplied in the GlassFish Server distributions. As a
-result, you can use the same administrative interfaces to monitor
-statistics from any installed GlassFish Server component, regardless of
-the origin of the component.
-
-[[ghbfq]][[GSADG00729]][[tools-for-monitoring-glassfish-server]]
-
-Tools for Monitoring GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following `asadmin` subcommands are provided for monitoring the
-services and components of GlassFish Server:
-
-* The `enable-monitoring`, `disable-monitoring`, or the `get` and `set`
-subcommands are used to turn monitoring on or off. For instructions, see
-link:#ablvp[Configuring Monitoring].
-* The `monitor` `type` subcommand is used to display basic data for a
-particular type of monitorable object. For instructions, see
-link:#ablvs[Viewing Common Monitoring Data].
-* The `list` `--monitor` subcommand is used to display the objects that
-can be monitored with the `monitor` subcommand. For guidelines and
-instructions, see link:#ablwh[Guidelines for Using the `list` and `get`
-Subcommands for Monitoring].
-* The `get` subcommand is used to display comprehensive data, such as
-the attributes and values for a dotted name. The `get` subcommand used
-with a wildcard parameter displays all available attributes for any
-monitorable object. For additional information, see
-link:#ablwh[Guidelines for Using the `list` and `get` Subcommands for
-Monitoring].
-
-[[ablvp]][[GSADG00558]][[configuring-monitoring]]
-
-Configuring Monitoring
-~~~~~~~~~~~~~~~~~~~~~~
-
-By default, the monitoring service is enabled for GlassFish Server, but
-monitoring for the individual modules is not. To enable monitoring for a
-module, you change the monitoring level for that module to LOW or HIGH,
-You can choose to leave monitoring OFF for objects that do not need to
-be monitored.
-
-* LOW. Simple statistics, such as create count, byte count, and so on
-* HIGH. Simple statistics plus method statistics, such as method count,
-duration, and so on
-* OFF. No monitoring, no impact on performance
-
-The following tasks are addressed here:
-
-* link:#ablvr[To Enable Monitoring]
-* link:#gglcu[To Disable Monitoring]
-
-[[ablvr]][[GSADG00386]][[to-enable-monitoring]]
-
-To Enable Monitoring
-^^^^^^^^^^^^^^^^^^^^
-
-Use the `enable-monitoring` subcommand to enable the monitoring service
-itself, or to enable monitoring for individual modules. Monitoring is
-immediately activated, without restarting GlassFish Server.
-
-You can also use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to enable
-monitoring for a module. Using the `set` command is not a dynamic
-procedure, so you need to restart GlassFish Server for your changes to
-take effect.
-
-1.  Determine which services and components are currently enabled for
-monitoring. +
-[source,oac_no_warn]
-----
-asadmin> get server.monitoring-service.module-monitoring-levels.*
-----
-This example output shows that the HTTP service is not enabled (OFF for
-monitoring), but other objects are enabled: +
-[source,oac_no_warn]
-----
-configs.config.server-config.monitoring-service.module-monitoring-levels.web-container=HIGH
-       configs.config.server-config.monitoring-service.module-monitoring-levels.http-service=OFF
-           configs.config.server-config.monitoring-service.module-monitoring-levels.jvm=HIGH 
-----
-2.  Enable monitoring by using the olink:GSRFM00128[`enable-monitoring`]
-subcommand. +
-Server restart is not required.
-
-[[GSADG00188]][[gixri]]
-
-
-Example 8-1 Enabling the Monitoring Service Dynamically
-
-This example enables the monitoring service without affecting monitoring
-for individual modules.
-
-[source,oac_no_warn]
-----
-asadmin> enable-monitoring
-Command enable-monitoring executed successfully
-----
-
-[[GSADG00189]][[gixre]]
-
-
-Example 8-2 Enabling Monitoring for Modules Dynamically
-
-This example enables monitoring for the `ejb-container` module.
-
-[source,oac_no_warn]
-----
-asadmin> enable-monitoring --level ejb-container=HIGH
-Command enable-monitoring executed successfully
-----
-
-[[GSADG00190]][[gjcmm]]
-
-
-Example 8-3 Enabling Monitoring for Modules by Using the `set`
-Subcommand
-
-This example enables monitoring for the HTTP service by setting the
-monitoring level to HIGH (you must restart the server for changes to
-take effect).
-
-[source,oac_no_warn]
-----
-asadmin> set server.monitoring-service.module-monitoring-levels.http-service=HIGH
-Command set executed successfully
-----
-
-[[GSADG875]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help enable-monitoring` at the command line.
-
-[[gglcu]][[GSADG00387]][[to-disable-monitoring]]
-
-To Disable Monitoring
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `disable-monitoring` subcommand to disable the monitoring
-service itself, or to disable monitoring for individual modules.
-Monitoring is immediately stopped, without restarting GlassFish Server.
-
-You can also use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to disable
-monitoring for a module. Using the `set` command is not a dynamic
-procedure, so you need to restart GlassFish Server for your changes to
-take effect.
-
-1.  Determine which services and components currently are enabled for
-monitoring. +
-[source,oac_no_warn]
-----
-asadmin get server.monitoring-service.module-monitoring-levels.*
-----
-This example output shows that monitoring is enabled for
-`web-container`, `http-service`, and `jvm`: +
-[source,oac_no_warn]
-----
-configs.config.server-config.monitoring-service.module-monitoring-levels.web-container=HIGH
-       configs.config.server-config.monitoring-service.module-monitoring-levels.http-service=HIGH
-              configs.config.server-config.monitoring-service.module-monitoring-levels.jvm=HIGH 
-----
-2.  Disable monitoring for a service or module by using the
-link:../reference-manual/disable-monitoring.html#GSRFM00120[`disable-monitoring`] subcommand. +
-Server restart is not required.
-
-[[GSADG00191]][[gixsc]]
-
-
-Example 8-4 Disabling the Monitoring Service Dynamically
-
-This example disables the monitoring service without changing the
-monitoring levels for individual modules.
-
-[source,oac_no_warn]
-----
-asadmin> disable-monitoring
-Command disable-monitoring executed successfully
-----
-
-[[GSADG00192]][[gjcnw]]
-
-
-Example 8-5 Disabling Monitoring for Modules Dynamically
-
-This example disables monitoring for specific modules. Their monitoring
-levels are set to OFF.
-
-[source,oac_no_warn]
-----
-asadmin> disable-monitoring --modules web-container,ejb-container
-Command disable-monitoring executed successfully
-----
-
-[[GSADG00193]][[gixpg]]
-
-
-Example 8-6 Disabling Monitoring by Using the `set` Subcommand
-
-This example disables monitoring for the HTTP service (you must restart
-the server for changes to take effect).
-
-[source,oac_no_warn]
-----
-asadmin> set server.monitoring-service.module-monitoring-levels.http-service=OFF
-Command set executed successfully
-----
-
-[[GSADG876]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help disable-monitoring` at the command line.
-
-[[ablvs]][[GSADG00559]][[viewing-common-monitoring-data]]
-
-Viewing Common Monitoring Data
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use the `monitor` subcommand to display basic data on commonly-monitored
-objects.
-
-* link:#gelol[To View Common Monitoring Data]
-* link:#ghmdc[Common Monitoring Statistics]
-
-[[gelol]][[GSADG00388]][[to-view-common-monitoring-data]]
-
-To View Common Monitoring Data
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `--type` option of the `monitor` subcommand to specify the
-object for which you want to display data, such as `httplistener`,
-`jvm`, `webmodule`. If you use the `monitor` subcommand without
-specifying a type, an error message is displayed.
-
-Output from the subcommand is displayed continuously in a tabular
-format. The `--interval` option can be used to display output at a
-particular interval (the default is 30 seconds).
-
-[[GSADG877]]
-
-Before You Begin
-
-A monitorable object must be configured for monitoring before you can
-display data on the object. See link:#ablvr[To Enable Monitoring].
-
-1.  Determine which type of monitorable object you want to monitor. +
-Your choices for 5.0 are `jvm`, `httplistener`, and `webmodule`.
-2.  Request the monitoring data by using the link:../reference-manual/monitor.html#GSRFM00212[`monitor`]
-subcommand.
-
-[[GSADG00194]][[ghljw]]
-
-
-Example 8-7 Viewing Common Monitoring Data
-
-This example requests common data for type `jvm` on instance `server`.
-
-[source,oac_no_warn]
-----
-asadmin> monitor --type jvm server
-
-UpTime(ms)                          Heap and NonHeap Memory(bytes)
-current                   min        max        low        high       count
-
-9437266                   8585216    619642880  0          0          93093888
-9467250                   8585216    619642880  0          0          93093888
-----
-
-[[GSADG878]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help monitor` at the command line.
-
-[[ghmdc]][[GSADG00730]][[common-monitoring-statistics]]
-
-Common Monitoring Statistics
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Common monitoring statistics are described in the following sections:
-
-* link:#ghltk[HTTP Listener Common Statistics]
-* link:#ghlvm[JVM Common Statistics]
-* link:#ghljx[Web Module Common Statistics]
-
-[[ghltk]][[GSADG00648]][[http-listener-common-statistics]]
-
-HTTP Listener Common Statistics
-+++++++++++++++++++++++++++++++
-
-The statistics available for the `httplistener` type are shown in the
-following table.
-
-[[GSADG879]][[sthref28]][[ghlta]]
-
-
-Table 8-1 HTTP Listener Common Monitoring Statistics
-
-[width="100%",cols="17%,83%",options="header",]
-|=======================================================================
-|Statistic |Description
-|`ec` |Error count. Cumulative value of the error count
-
-|`mt` |Maximum time. Longest response time for a request; not a
-cumulative value, but the largest response time from among the response
-times
-
-|`pt` |Processing time. Cumulative value of the times taken to process
-each request, with processing time being the average of request
-processing times over request
-
-|`rc` |Request count. Cumulative number of requests processed so far
-|=======================================================================
-
-
-[[ghlvm]][[GSADG00649]][[jvm-common-statistics]]
-
-JVM Common Statistics
-+++++++++++++++++++++
-
-The statistics available for the `jvm` type are shown in the following
-table.
-
-[[GSADG880]][[sthref29]][[ghlsl]]
-
-
-Table 8-2 JVM Common Monitoring Statistics
-
-[width="100%",cols="19%,81%",options="header",]
-|=======================================================================
-|Statistic |Description
-|`count` |Amount of memory (in bytes) that is guaranteed to be available
-for use by the JVM machine
-
-|`high` |Retained for compatibility with other releases
-
-|`low` |Retained for compatibility with other releases
-
-|`max` |The maximum amount of memory that can be used for memory
-management.
-
-|`min` |Initial amount of memory (in bytes) that the JVM machine
-requests from the operating system for memory management during startup
-
-|`UpTime` |Number of milliseconds that the JVM machine has been running
-since it was last started
-|=======================================================================
-
-
-[[ghljx]][[GSADG00650]][[web-module-common-statistics]]
-
-Web Module Common Statistics
-++++++++++++++++++++++++++++
-
-The statistics available for the `webmodule` type are shown in the
-following table.
-
-[[GSADG881]][[sthref30]][[ghqly]]
-
-
-Table 8-3 Web Module Common Monitoring Statistics
-
-[width="100%",cols="18%,82%",options="header",]
-|=======================================================================
-|Statistic |Description
-|`ajlc` |Number of active JavaServer Pages (JSP) technology pages that
-are loaded
-
-|`asc` |Current active sessions
-
-|`aslc` |Number of active servlets that are loaded
-
-|`ast` |Total active sessions
-
-|`mjlc` |Maximum number of JSP pages that are loaded
-
-|`mslc` |Maximum number of servlets that are loaded
-
-|`rst` |Total rejected sessions
-
-|`st` |Total sessions
-
-|`tjlc` |Total number of JSP pages that are loaded
-
-|`tslc` |Total number of servlets that are loaded
-|=======================================================================
-
-
-[[ghmct]][[GSADG00560]][[viewing-comprehensive-monitoring-data]]
-
-Viewing Comprehensive Monitoring Data
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-By applying the `list` and `get` subcommands against the tree structure
-using dotted names, you can display more comprehensive monitoring data,
-such as a description of each of the statistics and its unit of
-measurement.
-
-The following topics are addressed here:
-
-* link:#ablwh[Guidelines for Using the `list` and `get` Subcommands for
-Monitoring]
-* link:#ablvv[To View Comprehensive Monitoring Data]
-* link:#ghmcn[Comprehensive Monitoring Statistics]
-
-[[ablwh]][[GSADG00731]][[guidelines-for-using-the-list-and-get-subcommands-for-monitoring]]
-
-Guidelines for Using the `list` and `get` Subcommands for Monitoring
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The underlying assumptions for using the `list` and `get` subcommands
-with dotted names are:
-
-* A `list` subcommand that specifies a dotted name that is not followed
-by a wildcard (`*`) lists the current node's immediate children. For
-example, the following subcommand lists all immediate children belonging
-to the `server` node: +
-[source,oac_no_warn]
-----
-list --monitor server
-----
-* A `list` subcommand that specifies a dotted name followed by a
-wildcard of the form `.*` lists a hierarchical tree of child nodes from
-the specified node. For example, the following subcommand lists all
-children of the `applications` node, their subsequent child nodes, and
-so on: +
-[source,oac_no_warn]
-----
-list --monitor server.applications.*
-----
-* A `list` subcommand that specifies a dotted name preceded or followed
-by a wildcard of the form *dottedname or dotted * name or dottedname *
-lists all nodes and their children that match the regular expression
-created by the specified matching pattern.
-* A `get` subcommand followed by a `.*` or a `*` gets the set of
-attributes and their values that belong to the node specified.
-
-For example, the following table explains the output of the `list` and
-`get` subcommands used with the dotted name for the `resources` node.
-
-[[GSADG882]][[sthref31]][[ggnpb]]
-
-
-Table 8-4 Example Resources Level Dotted Names
-
-[width="100%",cols="23%,41%,36%",options="header",]
-|=======================================================================
-|Subcommand |Dotted Name |Output
-|`list --monitor` |`server.resources` |List of pool names.
-
-|`list --monitor` |`server.resources.``connection-pool1` |No attributes,
-but a message saying "Use `get` subcommand with the `--monitor` option
-to view this node's attributes and values."
-
-|`get --monitor` |`server.resources.``connection-pool1.*` |List of
-attributes and values corresponding to connection pool attributes.
-|=======================================================================
-
-
-For detailed information on dotted names, see the
-link:../reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.
-
-[[ablvv]][[GSADG00389]][[to-view-comprehensive-monitoring-data]]
-
-To View Comprehensive Monitoring Data
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Although the `monitor` subcommand is useful in many situations, it does
-not offer the complete list of all monitorable objects. To work with
-comprehensive data for an object type, use the `list` `monitor` and the
-`get` `monitor` subcommands followed by the dotted name of a monitorable
-object.
-
-[[GSADG883]]
-
-Before You Begin
-
-A monitorable object must be configured for monitoring before you can
-display information about the object. See link:#ablvr[To Enable
-Monitoring] if needed.
-
-1.  List the objects that are enabled for monitoring by using the
-link:../reference-manual/list.html#GSRFM00145[`list`] subcommand. +
-For example, the following subcommand lists all components and services
-that have monitoring enabled for instance `server`. +
-[source,oac_no_warn]
-----
-asadmin> list --monitor "*"
-server.web
-server.connector-service 
-server.orb 
-server.jms-serviceserver.jvm
-server.applications
-server.http-service
-server.thread-pools
-----
-2.  Get data for a monitored component or service by using the
-link:../reference-manual/get.html#GSRFM00139[`get`] subcommand.
-
-[[GSADG00195]][[ghlre]]
-
-
-Example 8-8 Viewing Attributes for a Specific Type
-
-This example gets information about all the attributes for object type
-`jvm` on instance `server`.
-
-[source,oac_no_warn]
-----
-asadmin> get --monitor server.jvm.*
-server.jvm.class-loading-system.loadedclasscount = 3715
-server.jvm.class-loading-system.totalloadedclasscount = 3731
-server.jvm.class-loading-system.unloadedclasscount = 16
-server.jvm.compilation-system.name-current = HotSpot Client Compiler
-server.jvm.compilation-system.totalcompilationtime = 769
-server.jvm.garbage-collectors.Copy.collectioncount = 285
-server.jvm.garbage-collectors.Copy.collectiontime = 980
-server.jvm.garbage-collectors.MarkSweepCompact.collectioncount = 2
-server.jvm.garbage-collectors.MarkSweepCompact.collectiontime = 383
-server.jvm.memory.committedheapsize = 23498752
-server.jvm.memory.committednonheapsize = 13598720
-server.jvm.memory.initheapsize = 0
-server.jvm.memory.initnonheapsize = 8585216
-server.jvm.memory.maxheapsize = 66650112
-server.jvm.memory.maxnonheapsize = 100663296
-server.jvm.memory.objectpendingfinalizationcount = 0
-server.jvm.memory.usedheapsize = 19741184
-server.jvm.memory.usednonheapsize = 13398352
-server.jvm.operating-system.arch-current = x86
-server.jvm.operating-system.availableprocessors = 2
-server.jvm.operating-system.name-current = Windows XP
-server.jvm.operating-system.version-current = 5.1
-server.jvm.runtime.classpath-current = glassfish.jar
-server.jvm.runtime.inputarguments-current = []
-server.jvm.runtime.managementspecversion-current = 1.0
-server.jvm.runtime.name-current = 4372@ABBAGANI_WORK
-server.jvm.runtime.specname-current = Java Virtual Machine Specification
-server.jvm.runtime.specvendor-current = Sun Microsystems Inc.
-server.jvm.runtime.specversion-current = 1.0
-server.jvm.runtime.uptime = 84813
-server.jvm.runtime.vmname-current = Java HotSpot(TM) Client VM
-server.jvm.runtime.vmvendor-current = Sun Microsystems Inc.
-server.jvm.runtime.vmversion-current = 1.5.0_11-b03
-----
-
-[[GSADG00196]][[ghbgv]]
-
-
-Example 8-9 Viewing Monitorable Applications
-
-This example lists all the monitorable applications for instance
-`server`.
-
-[source,oac_no_warn]
-----
-asadmin> list --monitor server.applications.*
-server.applications.app1
-server.applications.app2
-server.applications.app1.virtual-server1
-server.applications.app2.virtual-server1 
-----
-
-[[GSADG00197]][[ghbfj]]
-
-
-Example 8-10 Viewing Attributes for an Application
-
-This example gets information about all the attributes for application
-`hello`.
-
-[source,oac_no_warn]
-----
-asadmin> get --monitor server.applications.hello.*
-server.applications.hello.server.activatedsessionstotal = 0
-server.applications.hello.server.activejspsloadedcount = 1
-server.applications.hello.server.activeservletsloadedcount = 1
-server.applications.hello.server.activesessionscurrent = 1
-server.applications.hello.server.activesessionshigh = 1
-server.applications.hello.server.errorcount = 0
-server.applications.hello.server.expiredsessionstotal = 0
-server.applications.hello.server.maxjspsloadedcount = 1
-server.applications.hello.server.maxservletsloadedcount = 0
-server.applications.hello.server.maxtime = 0
-server.applications.hello.server.passivatedsessionstotal = 0
-server.applications.hello.server.persistedsessionstotal = 0
-server.applications.hello.server.processingtime = 0.0
-server.applications.hello.server.rejectedsessionstotal = 0
-server.applications.hello.server.requestcount = 0
-server.applications.hello.server.sessionstotal = 
-server.applications.hello.server.totaljspsloadedcount = 0
-server.applications.hello.server.totalservletsloadedcount = 0
-----
-
-[[GSADG00198]][[ghbge]]
-
-
-Example 8-11 Viewing a Specific Attribute
-
-This example gets information about the `jvm` attribute
-`runtime.vmversion-current` on instance `server`.
-
-[source,oac_no_warn]
-----
-asadmin> get --monitor server.jvm.runtime.vmversion-current
-server.jvm.runtime.vmversion-current = 10.0-b23
-----
-
-[[ghmcn]][[GSADG00732]][[comprehensive-monitoring-statistics]]
-
-Comprehensive Monitoring Statistics
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can get comprehensive monitoring statistics by forming a dotted name
-that specifies the statistic you are looking for. For example, the
-following dotted name will display the cumulative number of requests for
-the HTTP service on `virtual-server1`:
-
-`server.http-service.virtual-server1.request.requestcount`
-
-The tables in the following sections list the statistics that are
-available for each monitorable object:
-
-* link:#gjkbi[EJB Statistics]
-* link:#ablvg[HTTP Service Statistics]
-* link:#gjjyb[Jersey Statistics]
-* link:#ablvi[JMS/Connector Service Statistics]
-* link:#ablvm[JVM Statistics]
-* link:#gjipy[Network Statistics]
-* link:#ablvj[ORB Statistics (Connection Manager)]
-* link:#gipzv[Resource Statistics (Connection Pool)]
-* link:#gjiov[Security Statistics]
-* link:#ablvk[Thread Pool Statistics]
-* link:#ablvl[Transaction Service Statistics]
-* link:#ablvf[Web Statistics]
-
-[[gjkbi]][[GSADG00651]][[ejb-statistics]]
-
-EJB Statistics
-++++++++++++++
-
-EJBs fit into the tree of objects as shown in link:#abluw[Applications
-Tree Hierarchy]. Use the following dotted name pattern to get EJB
-statistics for an application:
-
-[source,oac_no_warn]
-----
-server.applications.appname.ejbmodulename.ejbname.bean-cache.statistic
-----
-
-
-[NOTE]
-=======================================================================
-
-EJB statistics for an application are available after the application is
-executed. If the application is deployed but has not yet been executed,
-all counts will show default values. When the application is undeployed,
-all its monitoring data is lost.
-
-=======================================================================
-
-
-Statistics available for applications are shown in the following
-sections:
-
-* link:#gisyw[EJB Cache Statistics]
-* link:#giszu[EJB Container Statistics]
-* link:#gisyx[EJB Method Statistics]
-* link:#gisza[EJB Pool Statistics]
-* link:#gisyr[Timer Statistics]
-
-[[gisyw]][[GSADG00052]][[ejb-cache-statistics]]
-
-EJB Cache Statistics
-
-Use the following dotted name pattern for EJB cache statistics:
-
-[source,oac_no_warn]
-----
-server.applications.appname.ejbmodulename.bean-cache.ejbname.statistic
-----
-
-The statistics available for EJB caches are listed in the following
-table.
-
-[[GSADG884]][[sthref32]][[gelod]]
-
-
-Table 8-5 EJB Cache Monitoring Statistics
-
-[width="100%",cols="37%,16%,47%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`cachemisses` |RangeStatistic |The number of times a user request does
-not find a bean in the cache.
-
-|`cachehits` |RangeStatistic |The number of times a user request found
-an entry in the cache.
-
-|`numbeansincache` |RangeStatistic |The number of beans in the cache.
-This is the current size of the cache.
-
-|`numpassivations` |CountStatistic |Number of passivated beans. Applies
-only to stateful session beans.
-
-|`numpassivationerrors` |CountStatistic |Number of errors during
-passivation. Applies only to stateful session beans.
-
-|`numexpiredsessionsremoved` |CountStatistic |Number of expired sessions
-removed by the cleanup thread. Applies only to stateful session beans.
-
-|`numpassivationsuccess` |CountStatistic |Number of times passivation
-completed successfully. Applies only to stateful session beans.
-|=======================================================================
-
-
-[[giszu]][[GSADG00053]][[ejb-container-statistics]]
-
-EJB Container Statistics
-
-Use the following dotted name pattern for EJB container statistics:
-
-[source,oac_no_warn]
-----
-server.applications.appname.ejbmodulename.container.ejbname
-----
-
-The statistics available for EJB containers are listed in the following
-table.
-
-[[GSADG885]][[sthref33]][[gelns]]
-
-
-Table 8-6 EJB Container Monitoring Statistics
-
-[width="100%",cols="24%,16%,60%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`createcount` |CountStatistic |Number of times an EJB's `create` method
-is called.
-
-|`messagecount` |CountStatistic |Number of messages received for a
-message-driven bean.
-
-|`methodreadycount` |RangeStatistic |Number of stateful or stateless
-session beans that are in the `MethodReady` state.
-
-|`passivecount` |RangeStatistic |Number of stateful session beans that
-are in `Passive` state.
-
-|`pooledcount` |RangeStatistic |Number of entity beans in pooled state.
-
-|`readycount` |RangeStatistic |Number of entity beans in ready state.
-
-|`removecount` |CountStatistic |Number of times an EJB's `remove` method
-is called.
-|=======================================================================
-
-
-[[gisyx]][[GSADG00054]][[ejb-method-statistics]]
-
-EJB Method Statistics
-
-Use the following dotted name pattern for EJB method statistics:
-
-[source,oac_no_warn]
-----
-server.applications.appname.ejbmodulename.bean-methods.ejbname.statistic
-----
-
-The statistics available for EJB method invocations are listed in the
-following table.
-
-[[GSADG886]][[sthref34]][[gelnu]]
-
-
-Table 8-7 EJB Method Monitoring Statistics
-
-[width="100%",cols="23%,16%,61%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`executiontime` |CountStatistic |Time, in milliseconds, spent executing
-the method for the last successful/unsuccessful attempt to run the
-operation. This is collected for stateless and stateful session beans
-and entity beans if monitoring is enabled on the EJB container.
-
-|`methodstatistic` |TimeStatistic |Number of times an operation is
-called; the total time that is spent during the invocation, and so on.
-
-|`totalnumerrors` |CountStatistic |Number of times the method execution
-resulted in an exception. This is collected for stateless and stateful
-session beans and entity beans if monitoring is enabled for the EJB
-container.
-
-|`totalnumsuccess` |CountStatistic |Number of times the method
-successfully executed. This is collected for stateless and stateful
-session beans and entity beans if monitoring enabled is true for EJB
-container.
-|=======================================================================
-
-
-[[gisza]][[GSADG00055]][[ejb-pool-statistics]]
-
-EJB Pool Statistics
-
-Use the following dotted name pattern for EJB pool statistics:
-
-[source,oac_no_warn]
-----
-server.applications.appname.ejbmodulename.bean-pool.ejbname.statistic
-----
-
-The statistics available for EJB pools are listed in the following
-table.
-
-[[GSADG887]][[sthref35]][[gelpe]]
-
-
-Table 8-8 EJB Pool Monitoring Statistics
-
-[width="100%",cols="28%,16%,56%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`jmsmaxmessagesload` |CountStatistic |The maximum number of messages to
-load into a JMS session at one time for a message-driven bean to serve.
-Default is 1. Applies only to pools for message driven beans.
-
-|`numbeansinpool` |RangeStatistic |Number of EJBs in the associated
-pool, providing information about how the pool is changing.
-
-|`numthreadswaiting` |RangeStatistic |Number of threads waiting for free
-beans, giving an indication of possible congestion of requests.
-
-|`totalbeanscreated` |CountStatistic |Number of beans created in
-associated pool since the gathering of data started.
-
-|`totalbeansdestroyed` |CountStatistic |Number of beans destroyed from
-associated pool since the gathering of data started.
-|=======================================================================
-
-
-[[gisyr]][[GSADG00057]][[timer-statistics]]
-
-Timer Statistics
-
-Use the following dotted name pattern for timer statistics:
-
-[source,oac_no_warn]
-----
-server.applications.appname.ejbmodulename.timers.ejbname.statistic
-----
-
-The statistics available for timers are listed in the following table.
-
-[[GSADG889]][[sthref36]][[gelob]]
-
-
-Table 8-9 Timer Monitoring Statistics
-
-[width="100%",cols="28%,16%,56%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`numtimerscreated` |CountStatistic |Number of timers created in the
-system.
-
-|`numtimersdelivered` |CountStatistic |Number of timers delivered by the
-system.
-
-|`numtimersremoved` |CountStatistic |Number of timers removed from the
-system.
-|=======================================================================
-
-
-[[ablvg]][[GSADG00652]][[http-service-statistics]]
-
-HTTP Service Statistics
-+++++++++++++++++++++++
-
-The HTTP service fits into the tree of objects as shown in
-link:#ghlin[HTTP Service Tree Hierarchy].
-
-[[ghqdi]][[GSADG00059]][[http-service-virtual-server-statistics]]
-
-HTTP Service Virtual Server Statistics
-
-Use the following dotted name pattern for HTTP service virtual server
-statistics:
-
-[source,oac_no_warn]
-----
-server.http-service.virtual-server.request.statistic
-----
-
-The HTTP service statistics for virtual servers are shown in the
-following table.
-
-[[GSADG891]][[sthref37]][[gelnm]]
-
-
-Table 8-10 HTTP Service Virtual Server Monitoring Statistics
-
-[width="100%",cols="21%,16%,63%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`count200` |CountStatistic |Number of responses with a status code
-equal to 200
-
-|`count2xx` |CountStatistic |Number of responses with a status code in
-the 2xx range
-
-|`count302` |CountStatistic |Number of responses with a status code
-equal to 302
-
-|`count304` |CountStatistic |Number of responses with a status code
-equal to 304
-
-|`count3xx` |CountStatistic |Number of responses with a status code
-equal in the 3xx range
-
-|`count400` |CountStatistic |Number of responses with a status code
-equal to 400
-
-|`count401` |CountStatistic |Number of responses with a status code
-equal to 401
-
-|`count403` |CountStatistic |Number of responses with a status code
-equal to 403
-
-|`count404` |CountStatistic |Number of responses with a status code
-equal to 404
-
-|`count4xx` |CountStatistic |Number of responses with a status code
-equal in the 4xx range
-
-|`count503` |CountStatistic |Number of responses with a status code
-equal to 503
-
-|`count5xx` |CountStatistic |Number of responses with a status code
-equal in the 5xx range
-
-|`countother` |CountStatistic |Number of responses with a status code
-outside the 2xx, 3xx, 4xx, and 5xx range
-
-|`errorcount` |CountStatistic |Cumulative value of the error count, with
-error count representing the number of cases where the response code was
-greater than or equal to 400
-
-|`hosts` |StringStatistic |The host (alias) names of the virtual server
-
-|`maxtime` |CountStatistic |Longest response time for a request; not a
-cumulative value, but the largest response time from among the response
-times
-
-|`processingtime` |CountStatistic |Cumulative value of the times taken
-to process each request, with processing time being the average of
-request processing times over the request count
-
-|`requestcount` |CountStatistic |Cumulative number of requests processed
-so far
-
-|`state` |StringStatistic |The state of the virtual server
-|=======================================================================
-
-
-[[gjjyb]][[GSADG00653]][[jersey-statistics]]
-
-Jersey Statistics
-+++++++++++++++++
-
-Jersey fits into the tree of objects as shown in
-link:#abluw[Applications Tree Hierarchy].
-
-Use the following dotted name pattern for Jersey statistics:
-
-[source,oac_no_warn]
-----
-server.applications.jersey-application.jersey.resources.resource-0.hitcount.statistic
-----
-
-The statistics available for Jersey are shown in the following table.
-
-[[GSADG892]][[sthref38]][[gjjys]]
-
-
-Table 8-11 Jersey Statistics
-
-[width="100%",cols="33%,21%,46%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`resourcehitcount` |CountStatistic |Number of hits on this resource
-class
-
-|`rootresourcehitcount` |CountStatistic |Number of hits on this root
-resource class
-|=======================================================================
-
-
-[[ablvi]][[GSADG00654]][[jmsconnector-service-statistics]]
-
-JMS/Connector Service Statistics
-++++++++++++++++++++++++++++++++
-
-The JMS/Connector Service fits into the tree of objects as shown in
-link:#ablva[JMS/Container Service Tree Hierarchy].
-
-JMS/Connector Service statistics are shown in the following sections:
-
-* link:#giszy[Connector Connection Pool Statistics (JMS)]
-* link:#giszh[Connector Work Management Statistics (JMS)]
-
-[[giszy]][[GSADG00060]][[connector-connection-pool-statistics-jms]]
-
-Connector Connection Pool Statistics (JMS)
-
-Use the following dotted name pattern for JMS/Connector Service
-connection pool statistics:
-
-[source,oac_no_warn]
-----
-server.connector-service.resource-adapter-1.connection-pool.statistic
-----
-
-JMS/Connector Service statistics available for the connector connection
-pools are shown in the following table.
-
-
-[NOTE]
-=======================================================================
-
-In order to improve system performance, connection pools are initialized
-lazily; that is, a pool is not initialized until an application first
-uses the pool or the pool is explicitly pinged. Monitoring statistics
-for a connection pool are not available until the pool is initialized.
-
-=======================================================================
-
-
-[[GSADG893]][[sthref39]][[gelot]]
-
-
-Table 8-12 Connector Connection Pool Monitoring Statistics (JMS)
-
-[width="100%",cols="37%,16%,47%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`averageconnwaittime` |CountStatistic |Average wait time of connections
-before they are serviced by the connection pool.
-
-|`connectionrequestwaittime` |RangeStatistic |The longest and shortest
-wait times of connection requests. The current value indicates the wait
-time of the last request that was serviced by the pool.
-
-|`numconnfailedvalidation` |CountStatistic |Total number of connections
-in the connection pool that failed validation from the start time until
-the last sample time.
-
-|`numconnused` |RangeStatistic |Total number of connections that are
-currently being used, as well as information about the maximum number of
-connections that were used (the high water mark).
-
-|`numconnfree` |RangeStatistic |Total number of free connections in the
-pool as of the last sampling.
-
-|`numconntimedout` |CountStatistic |Total number of connections in the
-pool that timed out between the start time and the last sample time.
-
-|`numconncreated` |CountStatistic |Number of physical connections, in
-milliseconds, that were created since the last reset.
-
-|`numconndestroyed` |CountStatistic |Number of physical connections that
-were destroyed since the last reset.
-
-|`numconnacquired` |CountStatistic |Number of logical connections
-acquired from the pool.
-
-|`numconnreleased` |CountStatistic |Number of logical connections
-released to the pool.
-
-|`waitqueuelenght` |CountStatistic |Number of connection requests in the
-queue waiting to be serviced.
-|=======================================================================
-
-
-[[giszh]][[GSADG00061]][[connector-work-management-statistics-jms]]
-
-Connector Work Management Statistics (JMS)
-
-Use the following dotted name pattern for JMS/Connector Service work
-management statistics:
-
-[source,oac_no_warn]
-----
-server.connector-service.resource-adapter-1.work-management.statistic
-----
-
-JMS/Connector Service statistics available for connector work management
-are listed in the following table.
-
-[[GSADG894]][[sthref40]][[gelnz]]
-
-
-Table 8-13 Connector Work Management Monitoring Statistics (JMS)
-
-[width="100%",cols="28%,16%,56%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`activeworkcount` |RangeStatistic |Number of work objects executed by
-the connector.
-
-|`completedworkcount` |CountStatistic |Number of work objects that were
-completed.
-
-|`rejectedworkcount` |CountStatistic |Number of work objects rejected by
-the GlassFish Server.
-
-|`submittedworkcount` |CountStatistic |Number of work objects submitted
-by a connector module.
-
-|`waitqueuelength` |RangeStatistic |Number of work objects waiting in
-the queue before executing.
-
-|`workrequestwaittime` |RangeStatistic |Longest and shortest wait of a
-work object before it gets executed.
-|=======================================================================
-
-
-[[ablvm]][[GSADG00655]][[jvm-statistics]]
-
-JVM Statistics
-++++++++++++++
-
-The JVM fits into the tree of objects as show in link:#ghlic[JVM Tree
-Hierarchy].
-
-The statistics that are available for the Virtual Machine for Java
-platform (Java Virtual Machine) or JVM machine are shown in the
-following sections:
-
-* link:#ablvn[JVM Class Loading System Statistics]
-* link:#ghqfh[JVM Compilation System Statistics]
-* link:#ghqea[JVM Garbage Collectors Statistics]
-* link:#ghqdn[JVM Memory Statistics]
-* link:#ghqec[JVM Operating System Statistics]
-* link:#ghqby[JVM Runtime Statistics]
-
-[[ablvn]][[GSADG00062]][[jvm-class-loading-system-statistics]]
-
-JVM Class Loading System Statistics
-
-Use the following dotted name pattern for JVM class loading system
-statistics:
-
-[source,oac_no_warn]
-----
-server.jvm.class-loading-system.statistic
-----
-
-With Java SE, additional monitoring information can be obtained from the
-JVM. Set the monitoring level to LOW to enable the display of this
-additional information. Set the monitoring level to HIGH to also view
-information pertaining to each live thread in the system. More
-information about the additional monitoring features for Java SE is
-available in
-http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/management/[Monitoring
-and Management for the Java Platform] .
-
-The Java SE monitoring tools are discussed at
-`http://docs.oracle.com/javase/8/docs/technotes/tools/`.
-
-The statistics that are available for class loading in the JVM for Java
-SE are shown in the following table.
-
-[[GSADG895]][[sthref41]][[gelow]]
-
-
-Table 8-14 JVM Monitoring Statistics for Java SE Class Loading
-
-[width="100%",cols="31%,16%,53%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`loadedclasscount` |CountStatistic |Number of classes that are
-currently loaded in the JVM
-
-|`totalloadedclasscount` |CountStatistic |Total number of classes that
-have been loaded since the JVM began execution
-
-|`unloadedclasscount` |CountStatistic |Number of classes that have been
-unloaded from the JVM since the JVM began execution
-|=======================================================================
-
-
-The statistics available for threads in the JVM in Java SE are shown in
-the following table.
-
-[[GSADG896]][[sthref42]][[geloa]]
-
-
-Table 8-15 JVM Monitoring Statistics for Java SE - Threads
-
-[width="100%",cols="35%,16%,49%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`allthreadids` |StringStatistic |List of all live thread ids.
-
-|`currentthreadcputime` |CountStatistic |CPU time for the current thread
-(in nanoseconds) if CPU time measurement is enabled. If CPU time
-measurement is disabled, returns -1.
-
-|`daemonthreadcount` |CountStatistic |Current number of live daemon
-threads.
-
-|`monitordeadlockedthreads` |StringStatistic |List of thread ids that
-are monitor deadlocked.
-
-|`peakthreadcount` |CountStatistic |Peak live thread count since the JVM
-started or the peak was reset.
-
-|`threadcount` |CountStatistic |Current number of live daemon and
-non-daemon threads.
-
-|`totalstartedthreadcount` |CountStatistic |Total number of threads
-created and/or started since the JVM started.
-|=======================================================================
-
-
-[[ghqfh]][[GSADG00063]][[jvm-compilation-system-statistics]]
-
-JVM Compilation System Statistics
-
-Use the following dotted name pattern for JVM compilation system
-statistics:
-
-[source,oac_no_warn]
-----
-server.jvm.compilation-system.statistic
-----
-
-The statistics that are available for compilation in the JVM for Java SE
-are shown in the following table.
-
-[[GSADG897]][[sthref43]][[gelnt]]
-
-
-Table 8-16 JVM Monitoring Statistics for Java SE Compilation
-
-[width="100%",cols="34%,20%,46%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`name-current` |StringStatistic |Name of the current compiler
-
-|`totalcompilationtime` |CountStatistic |Accumulated time (in
-milliseconds) spent in compilation
-|=======================================================================
-
-
-[[ghqea]][[GSADG00064]][[jvm-garbage-collectors-statistics]]
-
-JVM Garbage Collectors Statistics
-
-Use the following dotted name pattern for JVM garbage collectors
-statistics:
-
-[source,oac_no_warn]
-----
-server.jvm.garbage-collectors.statistic
-----
-
-The statistics that are available for garbage collection in the JVM for
-Java SE are shown in the following table.
-
-[[GSADG898]][[sthref44]][[gelox]]
-
-
-Table 8-17 JVM Monitoring Statistics for Java SE Garbage Collectors
-
-[width="100%",cols="23%,16%,61%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`collectioncount` |CountStatistic |Total number of collections that
-have occurred
-
-|`collectiontime` |CountStatistic |Accumulated time (in milliseconds)
-spent in collection
-|=======================================================================
-
-
-[[ghqdn]][[GSADG00065]][[jvm-memory-statistics]]
-
-JVM Memory Statistics
-
-Use the following dotted name pattern for JVM memory statistics:
-
-[source,oac_no_warn]
-----
-server.jvm.memory.statistic
-----
-
-The statistics that are available for memory in the JVM for Java SE are
-shown in the following table.
-
-[[GSADG899]][[sthref45]][[gelnx]]
-
-
-Table 8-18 JVM Monitoring Statistics for Java SE Memory
-
-[width="100%",cols="44%,16%,40%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`committedheapsize` |CountStatistic |Amount of heap memory (in bytes)
-that is committed for the JVM to use
-
-|`committednonheapsize` |CountStatistic |Amount of non-heap memory (in
-bytes) that is committed for the JVM to use
-
-|`initheapsize` |CountStatistic |Size of the heap initially requested by
-the JVM
-
-|`initnonheapsize` |CountStatistic |Size of the non-heap area initially
-requested by the JVM
-
-|`maxheapsize` |CountStatistic |Maximum amount of heap memory (in bytes)
-that can be used for memory management
-
-|`maxnonheapsize` |CountStatistic |Maximum amount of non-heap memory (in
-bytes) that can be used for memory management
-
-|`objectpendingfinalizationcount` |CountStatistic |Approximate number of
-objects that are pending finalization
-
-|`usedheapsize` |CountStatistic |Size of the heap currently in use
-
-|`usednonheapsize` |CountStatistic |Size of the non-heap area currently
-in use
-|=======================================================================
-
-
-[[ghqec]][[GSADG00066]][[jvm-operating-system-statistics]]
-
-JVM Operating System Statistics
-
-Use the following dotted name pattern for JVM operating system
-statistics:
-
-[source,oac_no_warn]
-----
-server.jvm.operating-system.statistic
-----
-
-The statistics that are available for the operating system for the JVM
-machine in Java SE are shown in the following table.
-
-[[GSADG900]][[sthref46]][[gelog]]
-
-
-Table 8-19 JVM Statistics for the Java SE Operating System
-
-[width="100%",cols="28%,16%,56%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`arch-current` |StringStatistic |Operating system architecture
-
-|`availableprocessors` |CountStatistic |Number of processors available
-to the JVM
-
-|`name-current` |StringStatistic |Operating system name
-
-|`version-current` |StringStatistic |Operating system version
-|=======================================================================
-
-
-[[ghqby]][[GSADG00067]][[jvm-runtime-statistics]]
-
-JVM Runtime Statistics
-
-Use the following dotted name pattern for JVM runtime statistics:
-
-[source,oac_no_warn]
-----
-server.jvm.runtime.statistic
-----
-
-The statistics that are available for the runtime in the JVM runtime for
-Java SE are shown in the following table.
-
-[[GSADG901]][[sthref47]][[gelop]]
-
-
-Table 8-20 JVM Monitoring Statistics for Java SE Runtime
-
-[width="100%",cols="42%,16%,42%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`classpath-current` |StringStatistic |Classpath that is used by the
-system class loader to search for class files
-
-|`inputarguments-current` |StringStatistic |Input arguments passed to
-the JVM; not including arguments to the `main` method
-
-|`managementspecversion-current` |StringStatistic |Management
-specification version implemented by the JVM
-
-|`name-current` |StringStatistic |Name representing the running JVM
-
-|`specname-current` |StringStatistic |JVM specification name
-
-|`specvendor-current` |StringStatistic |JVM specification vendor
-
-|`specversion-current` |StringStatistic |JVM specification version
-
-|`uptime` |CountStatistic |Uptime of the JVM (in milliseconds)
-
-|`vmname-current` |StringStatistic |JVM implementation name
-
-|`vmvendor-current` |StringStatistic |JVM implementation vendor
-
-|`vmversion-current` |StringStatistic |JVM implementation version
-
-| | |
-
-| | |
-|=======================================================================
-
-
-[[gjipy]][[GSADG00656]][[network-statistics]]
-
-Network Statistics
-++++++++++++++++++
-
-Network fits into the tree of objects as shown in link:#giznj[Network
-Tree Hierarchy].
-
-Network statistics are described in the following sections:
-
-* link:#gjiqu[Network Keep Alive Statistics]
-* link:#gjjom[Network Connection Queue Statistics]
-* link:#gjjpi[Network File Cache Statistics]
-* link:#gjjpp[Network Thread Pool Statistics]
-
-[[gjiqu]][[GSADG00068]][[network-keep-alive-statistics]]
-
-Network Keep Alive Statistics
-
-Use the following dotted name pattern for network keep alive statistics:
-
-[source,oac_no_warn]
-----
-server.network.type-of-listener.keep-alive.statistic
-----
-
-Statistics available for network keep alive are shown in the following
-table.
-
-[[GSADG902]][[sthref48]][[gjirp]]
-
-
-Table 8-21 Network Keep Alive Statistics
-
-[width="100%",cols="25%,16%,59%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`countconnections` |CountStatistic |Number of connections in keep-alive
-mode.
-
-|`counttimeouts` |CountStatistic |Number of keep-alive connections that
-timed out.
-
-|`secondstimeouts` |CountStatistic |Keep-alive timeout value in seconds.
-
-|`maxrequests` |CountStatistic |Maximum number of requests allowed on a
-single keep-alive connection.
-
-|`countflushes` |CountStatistic |Number of keep-alive connections that
-were closed.
-
-|`counthits` |CountStatistic |Number of requests received by connections
-in keep-alive mode.
-
-|`countrefusals` |CountStatistic |Number of keep-alive connections that
-were rejected.
-|=======================================================================
-
-
-[[gjjom]][[GSADG00069]][[network-connection-queue-statistics]]
-
-Network Connection Queue Statistics
-
-Use the following dotted name pattern for network connection queue
-statistics:
-
-[source,oac_no_warn]
-----
-server.network.type-of-listener.connection-queue.statistic
-----
-
-Statistics available for network connection queue are shown in the
-following table.
-
-[[GSADG903]][[sthref49]][[gjjxc]]
-
-
-Table 8-22 Network Connection Queue Statistics
-
-[width="100%",cols="40%,16%,44%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`countopenconnections` |CountStatistic |The number of open/active
-connections
-
-|`countoverflows` |CountStatistic |Number of times the queue has been
-too full to accommodate a connection
-
-|`countqueued` |CountStatistic |Number of connections currently in the
-queue
-
-|`countqueued15minutesaverage` |CountStatistic |Average number of
-connections queued in the last 15 minutes
-
-|`countqueued1minuteaverage` |CountStatistic |Average number of
-connections queued in the last 1 minute
-
-|`countqueued5minutesaverage` |CountStatistic |Average number of
-connections queued in the last 5 minutes
-
-|`counttotalconnections` |CountStatistic |Total number of connections
-that have been accepted
-
-|`counttotalqueued` |CountStatistic |Total number of connections that
-have been queued
-
-|`maxqueued` |CountStatistic |Maximum size of the connection queue
-
-|`peakqueued` |CountStatistic |Largest number of connections that were
-in the queue simultaneously
-
-|`tickstotalqueued` |CountStatistic |(Unsupported) Total number of ticks
-that connections have spent in the queue
-|=======================================================================
-
-
-[[gjjpi]][[GSADG00070]][[network-file-cache-statistics]]
-
-Network File Cache Statistics
-
-Use the following dotted name pattern for network file cache statistics:
-
-[source,oac_no_warn]
-----
-server.network.type-of-listener.file-cache.statistic
-----
-
-Statistics available for network file cache are shown in the following
-table.
-
-[[GSADG904]][[sthref50]][[gjjpd]]
-
-
-Table 8-23 Network File Cache Statistics
-
-[width="100%",cols="28%,16%,56%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`contenthits` |CountStatistic |Number of hits on cached file content
-
-|`contentmisses` |CountStatistic |Number of misses on cached file
-content
-
-|`heapsize` |CountStatistic |Current cache size in bytes
-
-|`hits` |CountStatistic |Number of cache lookup hits
-
-|`infohits` |CountStatistic |Number of hits on cached file info
-
-|`infomisses` |CountStatistic |Number of misses on cached file info
-
-|`mappedmemorysize` |CountStatistic |Size of mapped memory used for
-caching in bytes
-
-|`maxheapsize` |CountStatistic |Maximum heap space used for cache in
-bytes
-
-|`maxmappedmemorysize` |CountStatistic |Maximum memory map size used for
-caching in bytes
-
-|`misses` |CountStatistic |Number of cache lookup misses data type
-
-|`opencacheentries` |CountStatistic |Number of current open cache
-entries
-|=======================================================================
-
-
-[[gjjpp]][[GSADG00071]][[network-thread-pool-statistics]]
-
-Network Thread Pool Statistics
-
-Use the following dotted name pattern for network thread pool
-statistics:
-
-[source,oac_no_warn]
-----
-server.network.type-of-listener.thread-pool.statistic
-----
-
-Statistics available for network thread pool are shown in the following
-table.
-
-[[GSADG905]][[sthref51]][[gjjov]]
-
-
-Table 8-24 Network Thread Pool Statistics
-
-[width="100%",cols="28%,16%,56%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`corethreads` |CountStatistic |Core number of threads in the thread
-pool
-
-|`currentthreadcount` |CountStatistic |Provides the number of request
-processing threads currently in the listener thread pool
-
-|`currentthreadsbusy` |CountStatistic |Provides the number of request
-processing threads currently in use in the listener thread pool serving
-requests
-
-|`maxthreads` |CountStatistic |Maximum number of threads allowed in the
-thread pool
-
-|`totalexecutedtasks` |CountStatistic |Provides the total number of
-tasks, which were executed by the thread pool
-|=======================================================================
-
-
-[[ablvj]][[GSADG00657]][[orb-statistics-connection-manager]]
-
-ORB Statistics (Connection Manager)
-+++++++++++++++++++++++++++++++++++
-
-The ORB fits into the tree of objects as shown in link:#ablvb[ORB Tree
-Hierarchy].
-
-Use the following dotted name patterns for ORB statistics:
-
-[source,oac_no_warn]
-----
-server.orb.transport.connectioncache.inbound.statistic
-server.orb.transport.connectioncache.outbound.statistic
-----
-
-The statistics available for the connection manager in an ORB are listed
-in the following table.
-
-[[GSADG906]][[sthref52]][[gelqw]]
-
-
-Table 8-25 ORB Monitoring Statistics (Connection Manager)
-
-[width="100%",cols="24%,26%,50%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`connectionsidle` |CountStatistic |Total number of connections that are
-idle to the ORB
-
-|`connectionsinuse` |CountStatistic |Total number of connections in use
-to the ORB
-
-|`totalconnections` |BoundedRangeStatistic |Total number of connections
-to the ORB
-|=======================================================================
-
-
-[[gipzv]][[GSADG00658]][[resource-statistics-connection-pool]]
-
-Resource Statistics (Connection Pool)
-+++++++++++++++++++++++++++++++++++++
-
-By monitoring connection pool resources you can measure performance and
-capture resource usage at runtime. Connections are expensive and
-frequently cause performance bottlenecks in applications. It is
-important to monitor how a connection pool is releasing and creating new
-connections and how many threads are waiting to retrieve a connection
-from a particular pool.
-
-The connection pool resources fit into the tree of objects as shown in
-link:#giqdo[Resources Tree Hierarchy].
-
-Use the following dotted name pattern for general connection pool
-statistics:
-
-[source,oac_no_warn]
-----
-server.resources.pool-name.statistic
-----
-
-Use the following dotted name pattern for application-scoped connection
-pool statistics:
-
-[source,oac_no_warn]
-----
-server.applications.application-name.resources.pool-name.statistic
-----
-
-Use the following dotted name pattern for module-scoped connection pool
-statistics:
-
-[source,oac_no_warn]
-----
-server.applications.application-name.module-name.resources.pool-name.statistic
-----
-
-The connection pool statistics are shown in the following tables.
-
-
-[NOTE]
-=======================================================================
-
-In order to improve system performance, connection pools are initialized
-lazily; that is, a pool is not initialized until an application first
-uses the pool or the pool is explicitly pinged. Monitoring statistics
-for a connection pool are not available until the pool is initialized.
-
-=======================================================================
-
-
-[[GSADG907]][[sthref53]][[gelqa]]
-
-
-Table 8-26 General Resource Monitoring Statistics (Connection Pool)
-
-[width="100%",cols="43%,16%,41%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`averageconnwaittime` |CountStatistic |Average wait-time-duration per
-successful connection request
-
-|`connrequestwaittime` |RangeStatistic |Longest and shortest wait times,
-in milliseconds, of connection requests since the last sampling. current
-value indicates the wait time of the last request that was serviced by
-the pool
-
-|`numconnacquired` |CountStatistic |Number of logical connections
-acquired from the pool since the last sampling
-
-|`numconncreated` |CountStatistic |Number of physical connections that
-were created by the pool since the last reset
-
-|`numconndestroyed` |CountStatistic |Number of physical connections that
-were destroyed since the last reset
-
-|`numconnfailedvalidation` |CountStatistic |Number of connections in the
-connection pool that failed validation from the start time until the
-last sampling time
-
-|`numconnfree` |RangeStatistic |Number of free connections in the pool
-as of the last sampling
-
-|`numconnnotsuccessfullymatched` |CountStatistic |Number of connections
-rejected during matching
-
-|`numconnreleased` |CountStatistic |Number of connections released back
-to the pool since the last sampling
-
-|`numconnsuccessfullymatched` |CountStatistic |Number of connections
-successfully matched
-
-|`numconntimedout` |CountStatistic |Number of connections in the pool
-that timed out between the start time and the last sampling time
-
-|`numconnused` |RangeStatistic |Number of connections that are currently
-being used, as well as information about the maximum number of
-connections that were used (high water mark)
-
-|`frequsedsqlqueries` |StringStatistic |List of the most frequently used
-SQL queries (Available only when SQL Tracing is enabled)
-
-|`numpotentialconnleak` |CountStatistic |Number of potential connection
-leaks
-
-|`numpotentialstatementleak` |CountStatistic |Number of potential
-statement leaks (Available only when Statement Leak Dectection is
-enabled)
-
-|`numstatementcachehit` |CountStatistic |Number of statements that were
-found in the statement cache (Available only when the Statement Cache is
-enabled)
-
-|`numstatementcachemiss` |CountStatistic |Number of statements that were
-not found in the statement cache (Available only when the Statement
-Cache is enabled)
-
-|`waitqueuelength` |CountStatistic |Number of connection requests in the
-queue waiting to be serviced
-|=======================================================================
-
-
-[[GSADG908]][[sthref54]][[gktcp]]
-
-
-Table 8-27 Application Specific Resource Monitoring Statistics
-(Connection Pool)
-
-[width="100%",cols="23%,16%,61%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`numconnacquired` |CountStatistic |Number of logical connections
-acquired from the pool since the last sampling
-
-|`numconnreleased` |CountStatistic |Number of connections released back
-to the pool since the last sampling
-
-|`numconnused` |RangeStatistic |Number of connections that are currently
-being used, as well as information about the maximum number of
-connections that were used (high water mark)
-|=======================================================================
-
-
-[[gjiov]][[GSADG00659]][[security-statistics]]
-
-Security Statistics
-+++++++++++++++++++
-
-Security fits into the tree of objects as shown in link:#gjios[Security
-Tree Hierarchy].
-
-Statistics available for security are shown in the following sections:
-
-* link:#gjira[EJB Security Statistics]
-* link:#gjirn[Web Security Statistics]
-* link:#gjirj[Realm Security Statistics]
-
-[[gjira]][[GSADG00072]][[ejb-security-statistics]]
-
-EJB Security Statistics
-
-Use the following dotted name pattern for EJB security statistics:
-
-[source,oac_no_warn]
-----
-server.security.ejb.statistic
-----
-
-The statistics available for EJB security are listed in the following
-table.
-
-[[GSADG909]][[sthref55]][[gjirc]]
-
-
-Table 8-28 EJB Security Monitoring Statistics
-
-[width="100%",cols="40%,18%,42%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`policyconfigurationcount` |CountStatistic |Number of policy
-configuration
-
-|`securitymanagercount` |CountStatistic |Number of EJB security managers
-|=======================================================================
-
-
-[[gjirn]][[GSADG00073]][[web-security-statistics]]
-
-Web Security Statistics
-
-Use the following dotted name pattern for web security statistics:
-
-[source,oac_no_warn]
-----
-server.security.web.statistic
-----
-
-The statistics available for web security are listed in the following
-table.
-
-[[GSADG910]][[sthref56]][[gjiqv]]
-
-
-Table 8-29 Web Security Monitoring Statistics
-
-[width="100%",cols="40%,16%,44%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`websecuritymanagercount` |CountStatistic |Number of security managers
-
-|`webpolicyconfigurationcount` |CountStatistic |Number of policy
-configuration objects
-|=======================================================================
-
-
-[[gjirj]][[GSADG00074]][[realm-security-statistics]]
-
-Realm Security Statistics
-
-Use the following dotted name pattern for realm security statistics:
-
-[source,oac_no_warn]
-----
-server.security.realm.statistic
-----
-
-The statistics available for realm security are listed in the following
-table.
-
-[[GSADG911]][[sthref57]][[gjirq]]
-
-
-Table 8-30 Realm Security Monitoring Statistics
-
-[width="100%",cols="32%,22%,46%",options="header",]
-|==============================================
-|Statistic |Data Type |Description
-|`realmcount` |CountStatistic |Number of realms
-|==============================================
-
-
-[[ablvk]][[GSADG00660]][[thread-pool-statistics]]
-
-Thread Pool Statistics
-++++++++++++++++++++++
-
-The thread pool fits into the tree of objects as shown in
-link:#ablvc[Thread Pool Tree Hierarchy].
-
-The statistics available for thread pools are shown in the following
-sections:
-
-* link:#gitct[Thread Pool Monitoring Statistics]
-* link:#gitce[JVM Statistics for Java SE-Thread Information]
-
-[[gitct]][[GSADG00075]][[thread-pool-monitoring-statistics]]
-
-Thread Pool Monitoring Statistics
-
-Use the following dotted name pattern for thread pool statistics:
-
-[source,oac_no_warn]
-----
-server.thread-pool.thread-pool.statistic
-----
-
-The statistics available for the thread pool are shown in the following
-table.
-
-[[GSADG912]][[sthref58]][[gelqt]]
-
-
-Table 8-31 Thread Pool Monitoring Statistics
-
-[width="100%",cols="37%,26%,37%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`averagetimeinqueue` |BoundedRangeStatistic |Average amount of time (in
-milliseconds) a request waited in the queue before being processed
-
-|`averageworkcompletiontime` |BoundedRangeStatistic |Average amount of
-time (in milliseconds) taken to complete an assignment
-
-|`currentbusythreads` |CountStatistic |Number of busy threads
-
-|`currentnumberofthreads` |BoundedRangeStatistic |Current number of
-request processing threads
-
-|`numberofavailablethreads` |CountStatistic |Number of available threads
-
-|`numberofworkitemsinqueue` |BoundedRangeStatistic |Current number of
-work items waiting in queue
-
-|`totalworkitemsadded` |CountStatistic |Total number of work items added
-to the work queue as of last sampling
-|=======================================================================
-
-
-[[gitce]][[GSADG00076]][[jvm-statistics-for-java-se-thread-information]]
-
-JVM Statistics for Java SE-Thread Information
-
-The statistics available for `ThreadInfo` in the JVM in Java SE are
-shown in the following table.
-
-[[GSADG913]][[sthref59]][[geloy]]
-
-
-Table 8-32 JVM Monitoring Statistics for Java SE - Thread Info
-
-[width="100%",cols="20%,16%,64%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`blockedcount` |CountStatistic |Total number of times that the thread
-entered the `BLOCKED` state.
-
-|`blockedtime` |CountStatistic |Time elapsed (in milliseconds) since the
-thread entered the `BLOCKED` state. Returns -1 if thread contention
-monitoring is disabled.
-
-|`lockname` |StringStatistic |String representation of the monitor lock
-that the thread is blocked to enter or waiting to be notified through
-the `Object.wait` method.
-
-|`lockownerid` |CountStatistic |ID of the thread that holds the monitor
-lock of an object on which this thread is blocking.
-
-|`lockownername` |StringStatistic |Name of the thread that holds the
-monitor lock of the object this thread is blocking on.
-
-|`stacktrace` |StringStatistic |Stack trace associated with this thread.
-
-|`threadid` |CountStatistic |ID of the thread.
-
-|`threadname` |StringStatistic |Name of the thread.
-
-|`threadstate` |StringStatistic |State of the thread.
-
-|`waitedtime` |CountStatistic |Elapsed time (in milliseconds) that the
-thread has been in a `WAITING` state. Returns -1 if thread contention
-monitoring is disabled.
-
-|`waitedcount` |CountStatistic |Total number of times the thread was in
-`WAITING` or `TIMED_WAITING` states.
-|=======================================================================
-
-
-[[ablvl]][[GSADG00661]][[transaction-service-statistics]]
-
-Transaction Service Statistics
-++++++++++++++++++++++++++++++
-
-The transaction service allows the client to freeze the transaction
-subsystem in order to roll back transactions and determine which
-transactions are in process at the time of the freeze. The transaction
-service fits into the tree of objects as shown in
-link:#gitci[Transactions Service Tree Hierarchy].
-
-Use the following dotted name pattern for transaction service
-statistics:
-
-[source,oac_no_warn]
-----
-server.transaction-service.statistic
-----
-
-The statistics available for the transaction service are shown in the
-following table.
-
-[[GSADG914]][[sthref60]][[gelpl]]
-
-
-Table 8-33 Transaction Service Monitoring Statistics
-
-[width="100%",cols="23%,16%,61%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`activecount` |CountStatistic |Number of transactions currently active.
-
-|`activeids` |StringStatistic |The ID's of the transactions that are
-currently active. Every such transaction can be rolled back after
-freezing the transaction service.
-
-|`committedcount` |CountStatistic |Number of transactions that have been
-committed.
-
-|`rolledbackcount` |CountStatistic |Number of transactions that have
-been rolled back.
-
-|`state` |StringStatistic |Indicates whether or not the transaction has
-been frozen.
-|=======================================================================
-
-
-[[ablvf]][[GSADG00662]][[web-statistics]]
-
-Web Statistics
-++++++++++++++
-
-The web module fits into the tree of objects as shown in link:#ghlff[Web
-Tree Hierarchy].
-
-The available web statistics shown in the following sections:
-
-* link:#gjkaz[Web Module Servlet Statistics]
-* link:#ghqge[Web JSP Statistics]
-* link:#ghqga[Web Request Statistics]
-* link:#ghqfu[Web Servlet Statistics]
-* link:#ghqfr[Web Session Statistics]
-
-[[gjkaz]][[GSADG00077]][[web-module-servlet-statistics]]
-
-Web Module Servlet Statistics
-
-Use the following dotted name pattern for web module servlet statistics:
-
-[source,oac_no_warn]
-----
-server.applications.web-module.virtual-server.servlet.statistic
-server.applications.application.web-module.virtual-server.servlet.statistic
-----
-
-The available web module servlet statistics are shown in the following
-table.
-
-[[GSADG915]][[sthref61]][[gjkba]]
-
-
-Table 8-34 Web Module Servlet Statistics
-
-[width="100%",cols="21%,16%,63%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`errorcount` |CountStatistic |Cumulative number of cases where the
-response code is greater than or equal to 400.
-
-|`maxtime` |CountStatistic |Maximum amount of time the web container
-waits for requests.
-
-|`processingtime` |CountStatistic |Cumulative value of the amount of
-time required to process each request. The processing time is the
-average of request processing times divided by the request count.
-
-|`requestcount` |CountStatistic |The total number of requests processed
-so far.
-
-|`servicetime` |CountStatistic |Aggregate response time in milliseconds.
-|=======================================================================
-
-
-[[ghqge]][[GSADG00079]][[web-jsp-statistics]]
-
-Web JSP Statistics
-
-Use the following dotted name pattern for web JSP statistics:
-
-[source,oac_no_warn]
-----
-server.applications.web-module.virtual-server.statistic
-server.applications.application.web-module.virtual-server.statistic
-----
-
-The available web JSP statistics are shown in the following table.
-
-[[GSADG917]][[sthref62]][[givgh]]
-
-
-Table 8-35 Web JSP Monitoring Statistics
-
-[width="100%",cols="24%,16%,60%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`jspcount-current` |RangeStatistic |Number of active JSP pages
-
-|`jsperrorcount` |CountStatistic |Total number of errors triggered by
-JSP page invocations
-
-|`jspreloadedcount` |CountStatistic |Total number of JSP pages that were
-reloaded
-
-|`totaljspcount` |CountStatistic |Total number of JSP pages ever loaded
-|=======================================================================
-
-
-[[ghqga]][[GSADG00080]][[web-request-statistics]]
-
-Web Request Statistics
-
-Use the following dotted name pattern for web request statistics:
-
-[source,oac_no_warn]
-----
-server.applications.web-module.virtual-server.statistic
-server.applications.application.web-module.virtual-server.statistic
-----
-
-The available web request statistics are shown in the following table.
-
-[[GSADG918]][[sthref63]][[gjisw]]
-
-
-Table 8-36 Web Request Monitoring Statistics
-
-[width="100%",cols="21%,16%,63%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`errorcount` |CountStatistic |Cumulative value of the error count, with
-error count representing the number of cases where the response code was
-greater than or equal to 400
-
-|`maxtime` |CountStatistic |Longest response time for a request; not a
-cumulative value, but the largest response time from among the response
-times
-
-|`processingtime` |CountStatistic |Average request processing time, in
-milliseconds
-
-|`requestcount` |CountStatistic |Cumulative number of the requests
-processed so far
-|=======================================================================
-
-
-[[ghqfu]][[GSADG00081]][[web-servlet-statistics]]
-
-Web Servlet Statistics
-
-Use the following dotted name pattern for web servlet statistics:
-
-[source,oac_no_warn]
-----
-server.applications.web-module.virtual-server.statistic
-server.applications.application.web-module.virtual-server.statistic
-----
-
-The available web servlet statistics are shown in the following table.
-
-[[GSADG919]][[sthref64]][[ghqiu]]
-
-
-Table 8-37 Web Servlet Monitoring Statistics
-
-[width="100%",cols="37%,16%,47%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`activeservletsloadedcount` |RangeStatistic |Number of currently loaded
-servlets
-
-|`servletprocessingtimes` |CountStatistic |Cumulative servlet processing
-times , in milliseconds
-
-|`totalservletsloadedcount` |CountStatistic |Cumulative number of
-servlets that have been loaded into the web module
-|=======================================================================
-
-
-[[ghqfr]][[GSADG00082]][[web-session-statistics]]
-
-Web Session Statistics
-
-Use the following dotted name pattern for web session statistics:
-
-[source,oac_no_warn]
-----
-server.applications.web-module.virtual-server.statistic
-server.applications.application.web-module.virtual-server.statistic
-----
-
-The available web session statistics are shown in the following table.
-
-[[GSADG920]][[sthref65]][[gellc]]
-
-
-Table 8-38 Web Session Monitoring Statistics
-
-[width="100%",cols="34%,16%,50%",options="header",]
-|=======================================================================
-|Statistic |Data Type |Description
-|`activatedsessionstotal` |CountStatistic |Total number of activated
-sessions
-
-|`activesessionscurrent` |RangeStatistic |Number of currently active
-sessions
-
-|`activesessionshigh` |CountStatistic |Maximum number of concurrently
-active sessions
-
-|`expiredsessionstotal` |CountStatistic |Total number of expired
-sessions
-
-|`passivatedsessionstotal` |CountStatistic |Total number of passivated
-sessions
-
-|`persistedsessionstotal` |CountStatistic |Total number of persisted
-sessions
-
-|`rejectedsessionstotal` |CountStatistic |Total number of rejected
-sessions
-
-|`sessionstotal` |CountStatistic |Total number of sessions created
-|=======================================================================
-
-
-[[giwqm]][[GSADG00561]][[configuring-jconsole-to-view-glassfish-server-monitoring-data]]
-
-Configuring JConsole to View GlassFish Server Monitoring Data
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Java SE provides tools to connect to an MBean Server and view the MBeans
-registered with the server. JConsole is one such popular JMX Connector
-Client and is available as part of the standard Java SE distribution.
-When you configure JConsole for use with GlassFish Server, GlassFish
-Server becomes the JMX Connector's server end and JConsole becomes the
-JMX connector's client end.
-
-[[ggpfh]][[GSADG00390]][[to-connect-jconsole-to-glassfish-server]]
-
-To Connect JConsole to GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Java SE 6 enhances management and monitoring of the virtual machine by
-including a Platform MBean Server and by including managed beans
-(MBeans) to configure the virtual machine.
-
-To view all MBeans, GlassFish Server provides a configuration of the
-standard JMX connector server called System JMX Connector Server. As
-part of GlassFish Server startup, an instance of this JMX Connector
-Server is started. Any compliant JMX connector client can connect to the
-server using the JMX Connector Server.
-
-By default, GlassFish Server is configured with a non-secure System JMX
-Connector Server. If this is an issue, the JMX connector can be removed.
-However, access can be restricted to a specific IP address (for example,
-the loopback address) by setting `address` to `locahost`.
-
-1.  Start the domain. +
-For instructions, see link:domains.html#ggoda[To Start a Domain].
-2.  Start JConsole using this format: JDK_HOME`/bin/jconsole` +
-For example: +
-[source,oac_no_warn]
-----
-/usr/java/bin/jconsole
-----
-The JConsole Connect to Agent window is displayed.
-3.  Click the Remote tab and type the host name and port. +
-Always connect remotely with JConsole, otherwise MBeans will not load
-automatically.
-4.  Click Connect.
-5.  In the Remote Process text box, specify the JMX Service URL. +
-For example: +
-[source,oac_no_warn]
-----
-service:jmx:rmi:///jndi/rmi://localhost:8686/jmxrmi 
-----
-The JMX Service URL is emitted by the server at startup, looking
-something like this: +
-[source,oac_no_warn]
-----
-[#|2009-12-03T10:25:17.737-0800|INFO|glassfishv3.0|
-x..system.tools.admin.org.glassfish.server|_ThreadID=20;
-_ThreadName=Thread-26;|JMXStartupService: Started JMXConnector, JMXService 
-URL = service:jmx:rmi://localhost:8686/jndi/rmi://localhost:8686/jmxrmi|#]
-----
-However, in most cases, simply entering `host:port` is fine, such as,
-192.168.1.150:8686. The long Service URL is not needed. +
-
-[NOTE]
-=======================================================================
-
-Another host name can be substituted for `localhost`. The default port
-number (8686) could change if the `jmx-connector` configuration has been
-modified.
-
-=======================================================================
-
-6.  Click Connect. +
-In the JConsole window you will see all your MBeans, JVM information,
-and so on, in various tabs. Most of the useful MBeans are to be found in
-the `amx` and `java.lang` domains.
-
-[[GSADG921]]
-
-See Also
-
-For more information about JConsole, see
-`http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html`.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/orb.adoc b/docs/administration-guide/src/main/jbake/content/orb.adoc
deleted file mode 100644
index 911ea88..0000000
--- a/docs/administration-guide/src/main/jbake/content/orb.adoc
+++ /dev/null
@@ -1,223 +0,0 @@
-type=page
-status=published
-title=Administering the Object Request Broker (ORB)
-next=javamail.html
-prev=concurrent.html
-~~~~~~
-Administering the Object Request Broker (ORB)
-=============================================
-
-[[GSADG00018]][[abltr]]
-
-
-[[administering-the-object-request-broker-orb]]
-15 Administering the Object Request Broker (ORB)
-------------------------------------------------
-
-GlassFish Server supports a standard set of protocols and formats that
-ensure interoperability. Among these protocols are those defined by
-CORBA. The Object Request Broker (ORB) is the central component of
-CORBA. The ORB provides the required infrastructure to identify and
-locate objects, handle connection management, deliver data, and request
-communication. This chapter describes how to configure the ORB and the
-IIOP listeners.
-
-The following topics are addressed here:
-
-* link:#ablts[About the ORB]
-* link:#abltw[Configuring the ORB]
-* link:#ablty[Administering IIOP Listeners]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[ablts]][[GSADG00590]][[about-the-orb]]
-
-About the ORB
-~~~~~~~~~~~~~
-
-The Common Object Request Broker Architecture (CORBA) model is based on
-clients requesting services from distributed objects or servers through
-a well-defined interface by issuing requests to the objects in the form
-of remote method requests. A remote method request carries information
-about the operation that needs to be performed, including the object
-name (called an object reference) of the service provider and
-parameters, if any, for the invoked method. CORBA automatically handles
-network programming tasks such as object registration, object location,
-object activation, request de-multiplexing, error-handling, marshalling,
-and operation dispatching.
-
-[[abltw]][[GSADG00591]][[configuring-the-orb]]
-
-Configuring the ORB
-~~~~~~~~~~~~~~~~~~~
-
-A CORBA object never talks directly with another. Instead, the object
-makes requests through a remote stub to the Internet Inter-Orb Protocol
-(IIOP) running on the local host. The local ORB then passes the request
-to an ORB on the other host using IIOP. The remote ORB then locates the
-appropriate object, processes the request, and returns the results.
-
-IIOP can be used as a Remote Method Invocation (RMI) protocol by
-applications or objects using RMI-IIOP. Remote clients of enterprise
-beans (EJB modules) communicate with GlassFish Server by using RMI-IIOP.
-
-[[ablty]][[GSADG00592]][[administering-iiop-listeners]]
-
-Administering IIOP Listeners
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-An IIOP listener is a listen socket that accepts incoming connections
-from the remote clients of enterprise beans and from other CORBA-based
-clients. Multiple IIOP listeners can be configured for GlassFish Server.
-For each listener, specify a port number (optional; default 1072), a
-network address, and security attributes (optional). If you create
-multiple listeners, you must assign a different port number for each
-listener.
-
-The following topics are addressed here:
-
-* link:#gioyo[To Create an IIOP Listener]
-* link:#giowc[To List IIOP Listeners]
-* link:#giwlq[To Update an IIOP Listener]
-* link:#giowj[To Delete an IIOP Listener]
-
-[[gioyo]][[GSADG00478]][[to-create-an-iiop-listener]]
-
-To Create an IIOP Listener
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-iiop-listener` subcommand in remote mode to create an
-IIOP listener.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create an IIOP listener by using the
-link:../reference-manual/create-iiop-listener.html#GSRFM00032[`create-iiop-listener`] subcommand. +
-Information about the properties for the subcommand is included in this
-help page.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00263]][[gipfl]]
-
-
-Example 15-1 Creating an IIOP Listener
-
-This example creates an IIOP listener named `sample_iiop_listener`.
-
-[source,oac_no_warn]
-----
-asadmin> create-iiop-listener --listeneraddress 192.168.1.100
---iiopport 1400 sample_iiop_listener
-Command create-iiop-listener executed successfully.
-----
-
-[[GSADG1011]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-iiop-listener` at the command line.
-
-[[giowc]][[GSADG00479]][[to-list-iiop-listeners]]
-
-To List IIOP Listeners
-^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-iiop-listeners` subcommand in remote mode to list the
-existing IIOP listeners.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the IIOP listeners by using the
-link:../reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`] subcommand.
-
-[[GSADG00264]][[gipcm]]
-
-
-Example 15-2 Listing IIOP Listeners
-
-This example lists all the IIOP listeners for the server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-iiop-listeners
-orb-listener-1
-SSL
-SSL_MUTUALAUTH
-sample_iiop_listener
-Command list-iiop-listeners executed successfully.
-----
-
-[[GSADG1012]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-iiop-listeners` at the command line.
-
-[[giwlq]][[GSADG00480]][[to-update-an-iiop-listener]]
-
-To Update an IIOP Listener
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  List the IIOP listeners by using the
-link:../reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`] subcommand.
-2.  Modify the values for the specified IIOP listener by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-The listener is identified by its dotted name.
-
-[[GSADG00265]][[giwlj]]
-
-
-Example 15-3 Updating an IIOP Listener
-
-This example changes SSL from enabled to disabled.
-
-[source,oac_no_warn]
-----
-asadmin> set "server.iiop-service.iiop-listener.SSL.enabled"
-server.iiop-service.iiop-listener.SSL.enabled=false
-Command set executed successfully.
-----
-
-[[giowj]][[GSADG00481]][[to-delete-an-iiop-listener]]
-
-To Delete an IIOP Listener
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-iiop-listener` subcommand in remote mode to delete an
-IIOP listener.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the IIOP listeners by using the
-link:../reference-manual/list-iiop-listeners.html#GSRFM00169[`list-iiop-listeners`] subcommand.
-3.  Delete an IIOP listener by using the
-link:../reference-manual/delete-iiop-listener.html#GSRFM00084[`delete-iiop-listener`] subcommand.
-4.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00266]][[giped]]
-
-
-Example 15-4 Deleting an IIOP Listener
-
-This example deletes the IIOP listener named `sample_iiop_listener`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-iiop-listener sample_iiop_listener
- Command delete-iiop-listener executed successfully.
-----
-
-[[GSADG1013]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-iiop-listener` at the command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/overview.adoc b/docs/administration-guide/src/main/jbake/content/overview.adoc
deleted file mode 100644
index c5c064f..0000000
--- a/docs/administration-guide/src/main/jbake/content/overview.adoc
+++ /dev/null
@@ -1,1091 +0,0 @@
-type=page
-status=published
-title=Overview of GlassFish Server Administration
-next=part-runtime-admin.html
-prev=preface.html
-~~~~~~
-Overview of GlassFish Server Administration
-===========================================
-
-[[GSADG00004]][[ablaq]]
-
-
-[[overview-of-glassfish-server-administration]]
-1 Overview of GlassFish Server Administration
----------------------------------------------
-
-GlassFish Server Open Source Edition provides a server for developing
-and deploying Java Platform Enterprise Edition (Java EE) applications
-and web Java Web Services.
-
-As an administrator ofGlassFish Server, your main responsibilities are
-to establish a secure GlassFish Server environment and to oversee the
-services, resources, and users that participate in that environment.
-Your key tasks include configuring resources and services, managing
-GlassFish Server at runtime, and fixing problems that are associated
-with the server. You might also be involved in installing software,
-integrating add-on components, and deploying applications.
-
-The following topics are addressed here:
-
-* link:#giubb[Default Settings and Locations]
-* link:#ghrcy[Configuration Tasks]
-* link:#ggjxp[Administration Tools]
-* link:#giudo[Instructions for Administering GlassFish Server]
-
-[[giubb]][[GSADG00526]][[default-settings-and-locations]]
-
-Default Settings and Locations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-After installation, you might need to perform some immediate
-configuration tasks to make your installation function as intended. If
-configuration defaults have been accepted, some features are enabled and
-some not. For an overview of initial configuration tasks for GlassFish
-Server services and resources, see link:#gitwr[Initial Configuration
-Tasks].
-
-In addition, you might want to reset default passwords, change names or
-locations of files, and so on. The following tables list the default
-administration values.
-
-
-[NOTE]
-=======================================================================
-
-For the zip bundle of GlassFish Server 5.0, the default administrator
-login is `admin`, with no password, which means that no login is
-required.
-
-=======================================================================
-
-
-[[GSADG793]][[sthref3]][[giuad]]
-
-
-Table 1-1 Default Administration Values
-
-[width="100%",cols="43%,57%",options="header",]
-|==============================================
-|Item |Default
-|Domain Name |`domain1`
-| |
-| |
-| |
-|Master Password |`changeit`
-|Administration User |`admin`
-|Administration Server Port |4848
-|HTTP Port |8080
-|HTTPS Port |8181
-|Pure JMX Clients Port |8686
-|Message Queue Port |7676
-|IIOP Port |3700
-|IIOP/SSL Port |3820
-|IIOP/SSL Port With Mutual Authentication |3920
-|==============================================
-
-
-[[GSADG794]][[sthref4]][[gjhfv]]
-
-
-Table 1-2 Default Locations
-
-[width="100%",cols="43%,57%",options="header",]
-|====================================================
-|Item |Default
-|Command-line Utility (`asadmin`) |as-install`/bin`
-|Configuration Files |domain-dir`/config`
-|Log Files |domain-dir`/logs`
-|Upgrade Tool (`asupgrade` Command) |as-install`/bin`
-|====================================================
-
-
-For information about replaceable items and default paths and files, see
-link:preface.html#ghpfg[Default Paths and File Names].
-
-[[ghrcy]][[GSADG00527]][[configuration-tasks]]
-
-Configuration Tasks
-~~~~~~~~~~~~~~~~~~~
-
-Some configuration tasks must be performed directly after installation
-for your GlassFish Server environment to work as intended. For example,
-if you are using a database with GlassFish Server, you need to set up
-database connectivity right away.
-
-Some configuration situations are ongoing and will require you to make
-changes many times during the life of your installation. You can use
-either the Administration Console or the `asadmin` utility to modify the
-configuration. Changes are automatically applied to the appropriate
-configuration file.
-
-The following topics are addressed here:
-
-* link:#gitwr[Initial Configuration Tasks]
-* link:#giusb[How Dotted Names Work for Configuration]
-* link:#gjjrl[Configuration Files]
-* link:#gitzw[Impact of Configuration Changes]
-
-[[gitwr]][[GSADG00694]][[initial-configuration-tasks]]
-
-Initial Configuration Tasks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section maps the common configuration tasks to the command-line
-procedures in this guide. In some situations, the resource or service is
-automatically enabled and your configuration tasks involve adjusting or
-changing the default settings to suit your specific needs.
-
-The following resources and services frequently require configuration
-immediately after installation:
-
-System Properties::
-  See link:general-administration.html#ghcjc[Administering System
-  Properties].
-Domains::
-  The initial `domain1` is created during installation. Additional
-  configuration tasks might include such tasks as configuring additional
-  domains or setting up automatic restart. See
-  link:domains.html#ggnop[Administering Domains].
-JVM::
-  The initial tasks for configuring the JVM include creating JVM options
-  and profilers. See link:jvm.html#ablwj[Administering the Virtual
-  Machine for the Java Platform].
-Logging::
-  By default, logging is enabled, so basic logging works without
-  additional configuration. However, you might want to change log
-  levels, property values, or the location of log files. See
-  link:logging.html#abluj[Administering the Logging Service].
-Monitoring::
-  By default, the monitoring service is enabled. However, monitoring for
-  the individual modules is not enabled, so your first monitoring task
-  is to enable monitoring for the modules that you want to monitor. See
-  link:monitoring.html#ablur[Administering the Monitoring Service].
-Life Cycle Modules::
-  See link:lifecycle-modules.html#giury[Administering Life Cycle
-  Modules].
-Security::
-  * System Security. Initial configuration tasks might include setting
-  up passwords, audit modules, and certificates. See
-  "link:../security-guide/system-security.html#GSSCG00035[Administering System Security]" in GlassFish Server
-  Open Source Edition Security Guide.
-  * User Security. Initial configuration tasks might include creating
-  authentication realms and file users. See
-  "link:../security-guide/user-security.html#GSSCG00036[Administering User Security]" in GlassFish Server
-  Open Source Edition Security Guide.
-  * Message Security. Initial configuration tasks might include
-  configuring a Java Cryptography Extension (JCE) provider, enabling
-  default and non-default security providers, and configuring message
-  protection policies. See "link:../security-guide/message-security.html#GSSCG00037[Administering Message
-  Security]" in GlassFish Server Open Source Edition Security Guide.
-Database Connectivity::
-  The initial tasks involved in configuring GlassFish Server to connect
-  to the Apache Derby database include creating a Java Database
-  Connectivity (JDBC) connection pool, creating a JDBC resource, and
-  integrating a JDBC driver. See link:jdbc.html#ablih[Administering
-  Database Connectivity].
-EIS Connectivity::
-  The initial tasks involved in configuring GlassFish Server to connect
-  to an enterprise information system (EIS) include creating a connector
-  connection pool, creating a connector resource, editing a resource
-  adapter configuration, creating a connector security map, creating a
-  connector work security map, and creating an administered object (if
-  needed). See link:connectors.html#abllp[Administering EIS
-  Connectivity].
-Internet Connectivity::
-  The initial tasks involved in making deployed web applications
-  accessible by internet clients include creating HTTP network listeners
-  and virtual servers, and configuring the HTTP listeners for SSL (if
-  needed). See link:http_https.html#ablsw[Administering Internet
-  Connectivity].
-Object Request Broker (ORB)::
-  An initial configuration task might involve creating an IIOP listener.
-  See link:orb.html#abltr[Administering the Object Request Broker (ORB)].
-JavaMail Service::
-  An initial configuration task might involve creating a JavaMail
-  resource. See link:javamail.html#ablkr[Administering the JavaMail
-  Service].
-Java Message Service (JMS)::
-  Initial configuration tasks might include creating a physical
-  destination, creating connection factories or destination resources,
-  creating a JMS host (if the default JMS host is not adequate),
-  adjusting connection pool settings (if needed), and configuring
-  resource adapters for JMS. See link:jms.html#abljw[Administering the
-  Java Message Service (JMS)].
-JNDI Service::
-  An initial configuration task might involve creating a JNDI resource.
-  See link:jndi.html#ablky[Administering the Java Naming and Directory
-  Interface (JNDI) Service].
-
-Information and instructions for accomplishing the tasks by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[giusb]][[GSADG00695]][[how-dotted-names-work-for-configuration]]
-
-How Dotted Names Work for Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-After the initial configuration is working, you will continue to manage
-ongoing configuration for the life of your GlassFish Server
-installation. You might need to adjust resources to improve
-productivity, or issues might arise that require settings to be modified
-or defaults to be reset. In some situations, an `asadmin` subcommand is
-provided for updating, such as the `update-connector-work-security-map`
-subcommand. However, most updating is done by using the `list`, `get`,
-and `set` subcommands with dotted names. For detailed information about
-dotted names, see the link:../reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page.
-
-
-[NOTE]
-=======================================================================
-
-Dotted names also apply to monitoring, but the method is different. For
-information on using dotted names for monitoring, see
-link:monitoring.html#ghbaz[How the Monitoring Tree Structure Works].
-
-=======================================================================
-
-
-The general process for working with configuration changes on the
-command line is as follows:
-
-1.  List the modules for the component of interest. +
-The following single mode example uses the | (pipe) character and the
-`grep` command to narrow the search: +
-[source,oac_no_warn]
-----
-asadmin list "*" | grep http | grep listener
-----
-Information similar to the following is returned: +
-[source,oac_no_warn]
-----
-configs.config.server-config.network-config.network-listeners.network-listener.http-listener-1
-configs.config.server-config.network-config.network-listeners.network-listener.http-listener-2
-configs.config.server-config.network-config.protocols.protocol.admin-listener.http
-configs.config.server-config.network-config.protocols.protocol.admin-listener.http.file-cache
-configs.config.server-config.network-config.protocols.protocol.http-listener-1
-configs.config.server-config.network-config.protocols.protocol.http-listener-1.http
-configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.file-cache
-configs.config.server-config.network-config.protocols.protocol.http-listener-2
-configs.config.server-config.network-config.protocols.protocol.http-listener-2.http
-configs.config.server-config.network-config.protocols.protocol.http-listener-2.http.file-cache
-configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl
-----
-2.  Get the attributes that apply to the module you are interested in. +
-The following multimode example gets the attributes and values for
-`http-listener-1`: +
-[source,oac_no_warn]
-----
-asadmin> get server-config.network-config.network-listeners.network-listener.http-listener-1.* 
-----
-Information similar to the following is returned: +
-[source,oac_no_warn]
-----
-server.http-service.http-listener.http-listener-1.acceptor-threads = 1
-server.http-service.http-listener.http-listener-1.address = 0.0.0.0
-server.http-service.http-listener.http-listener-1.blocking-enabled = false
-server.http-service.http-listener.http-listener-1.default-virtual-server = server
-server.http-service.http-listener.http-listener-1.enabled = true
-server.http-service.http-listener.http-listener-1.external-port =
-server.http-service.http-listener.http-listener-1.family = inet
-server.http-service.http-listener.http-listener-1.id = http-listener-1
-server.http-service.http-listener.http-listener-1.port = 8080
-server.http-service.http-listener.http-listener-1.redirect-port =
-server.http-service.http-listener.http-listener-1.security-enabled = false
-server.http-service.http-listener.http-listener-1.server-name =
-server.http-service.http-listener.http-listener-1.xpowered-by = true
-----
-3.  Modify an attribute by using the `set` subcommand. +
-This example sets the `security-enabled` attribute of `http-listener-1`
-to true: +
-[source,oac_no_warn]
-----
-asadmin> set server.http-service.http-listener.http-listener-1.security-enabled = true
-----
-
-[[gjjrl]][[GSADG00696]][[configuration-files]]
-
-Configuration Files
-^^^^^^^^^^^^^^^^^^^
-
-The bulk of the configuration information about GlassFish Server
-resources, applications, and instances is stored in the `domain.xml`
-configuration file. This file is the central repository for a given
-administrative domain and contains an XML representation of the
-GlassFish Server domain model. The default location for the `domain.xml`
-file is domain-dir`/config`.
-
-
-[NOTE]
-=======================================================================
-
-GlassFish Server maintains a backup of the `domain.xml` file that is
-named `domain.xml.bak`. The purpose of this file is solely to enable
-GlassFish Server to start a domain if the `domain.xml` file cannot be
-read. Do not modify or delete the `domain.xml.bak` file and do not use
-this file for any other purpose.
-
-=======================================================================
-
-
-The `logging.properties` file is used to configure logging levels for
-individual modules. The default `logging.properties` file is located in
-the same directory as the `domain.xml` file. For further information on
-the `logging.properties` file, see link:logging.html#gkkit[Logging
-Properties].
-
-The `asenv.conf` file is located in the as-install`/config` directory.
-Its purpose is to store the GlassFish Server environment variables, such
-as the installation location of the database, Message Queue, and so on.
-
-
-[NOTE]
-=======================================================================
-
-Changes are automatically applied to the appropriate configuration file.
-Do not edit the configuration files directly. Manual editing is prone to
-error and can have unexpected results.
-
-=======================================================================
-
-
-[[gitzw]][[GSADG00697]][[impact-of-configuration-changes]]
-
-Impact of Configuration Changes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Some configuration changes require that you restart the DAS or GlassFish
-Server instances for the changes to take effect. Other changes are
-applied dynamically without requiring that the DAS or instances be
-restarted. The procedures in this guide indicate when a restart is
-required. GlassFish Server enables you to determine whether the DAS or
-an instance must be restarted to apply configuration changes.
-
-Some changes to resources or connection pools affect the applications
-that use the resources or connection pools. These changes do not require
-restart. However, any applications that use the resources or connection
-pools must be disabled and re-enabled or redeployed for the change to
-take effect.
-
-The following topics are addressed here:
-
-* link:#gkvaj[To Determine Whether the DAS or an Instance Requires
-Restart]
-* link:#ghciy[Configuration Changes That Require Restart]
-* link:#ghclm[Dynamic Configuration Changes]
-* link:#gkvas[Changes That Affect Applications]
-
-[[gkvaj]][[GSADG00300]][[to-determine-whether-the-das-or-an-instance-requires-restart]]
-
-To Determine Whether the DAS or an Instance Requires Restart
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Ensure that the DAS is running. +
-To obtain information about the DAS or an instance, a running server is
-required.
-2.  Do one of the following:
-* To determine if the DAS requires restart, list the domains in your
-GlassFish Server installation. +
-Use the link:../reference-manual/list-domains.html#GSRFM00163[`list-domains`] subcommand for this purpose. +
-[source,oac_no_warn]
-----
-asadmin> list-domains [--domaindir domain-root-dir]
-----
-The domain-root-dir is the directory that contains the directories in
-which individual domains' configuration is stored. The default is
-as-install`/domains`, where as-install is the base installation
-directory of the GlassFish Server software. +
-If the DAS requires restart, a statement that restart is required is
-displayed.
-* To determine if an instance requires restart, list information about
-the instance. +
-Use the link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`] subcommand for this purpose. +
-[source,oac_no_warn]
-----
-asadmin> list-instances instance-name
-----
-The instance-name is the name of the instance for which you are listing
-information. +
-If the instance requires restart, one of the following pieces of
-information is displayed: a statement that restart is required, or a
-list of configuration changes that are not yet applied to the instance.
-
-[[GSADG00093]][[gkvay]]
-
-
-Example 1-1 Determining if the DAS Requires Restart
-
-This example determines that the DAS for the domain `domain1` requires
-restart to apply configuration changes.
-
-[source,oac_no_warn]
-----
-asadmin> list-domains
-domain1 running, restart required to apply configuration changes
-Command list-domains executed successfully.
-----
-
-[[GSADG00094]][[gkvba]]
-
-
-Example 1-2 Determining if an Instance Requires Restart
-
-This example determines that the instance `pmd-i1` requires restart to
-apply configuration changes.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances pmd-i1
-pmd-i1   running;  requires restart  
-Command list-instances executed successfully.
-----
-
-[[GSADG795]]
-
-See Also
-
-* link:../reference-manual/list-domains.html#GSRFM00163[`list-domains`(1)]
-* link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line.
-
-* `asadmin help list-domains`
-* `asadmin help list-instances`
-
-[[ghciy]][[GSADG00628]][[configuration-changes-that-require-restart]]
-
-Configuration Changes That Require Restart
-++++++++++++++++++++++++++++++++++++++++++
-
-The following configuration changes require restart for the changes to
-take effect:
-
-* Changing JVM options
-* Changing port numbers +
-
-[NOTE]
-=======================================================================
-
-Changes to some port numbers, for example HTTP listener ports, do not
-require restart.
-
-=======================================================================
-
-* Changing log handler elements
-* Configuring certificates
-* Managing HTTP, JMS, IIOP, JNDI services
-* Enabling or disabling secure administration as explained in
-"link:../security-guide/administrative-security.html#GSSCG00165[Running Secure Admin]" in GlassFish Server Open Source
-Edition Security Guide
-
-[[ghclm]][[GSADG00629]][[dynamic-configuration-changes]]
-
-Dynamic Configuration Changes
-+++++++++++++++++++++++++++++
-
-With dynamic configuration, changes take effect while the DAS or
-instance is running. The following configuration changes do not require
-restart:
-
-* Adding or deleting add-on components
-* Adding or removing JDBC, JMS, and connector resources and pools
-(Exception: Some connection pool properties affect applications.)
-* Changing a system property that is not referenced by a JVM option or a
-port
-* Adding file realm users
-* Changing logging levels
-* Enabling and disabling monitoring
-* Changing monitoring levels for modules
-* Enabling and disabling resources and applications
-* Deploying, undeploying, and redeploying applications
-
-[[gkvas]][[GSADG00630]][[changes-that-affect-applications]]
-
-Changes That Affect Applications
-++++++++++++++++++++++++++++++++
-
-Some changes to resources or connection pools affect the applications
-that use the resources or connection pools. These changes do not require
-restart. However, any applications that use the resources or connection
-pools must be disabled and re-enabled or redeployed for the change to
-take effect.
-
-
-[NOTE]
-=======================================================================
-
-If you do not know which applications use the changed resources or
-connection pools, you can apply these changes by restarting the clusters
-orGlassFish Server instances to which applications are deployed.
-However, to minimize the disruption to the services that your
-applications provide, avoid restarting clusters or instances to apply
-these changes if possible.
-
-=======================================================================
-
-
-The following changes affect applications:
-
-* Creating or deleting resources (Exception: Changes to some JDBC, JMS,
-or connector resources do not affect applications.)
-* Modifying the following JDBC connection pool properties:
-
-** `datasource-classname`
-
-** `associate-with-thread`
-
-** `lazy-connection-association`
-
-** `lazy-connection-enlistment`
-
-** JDBC driver vendor-specific properties
-* Modifying the following connector connection pool properties:
-
-** `resource-adapter-name`
-
-** `connection-definition-name`
-
-** `transaction-support`
-
-** `associate-with-thread`
-
-** `lazy-connection-association`
-
-** `lazy-connection-enlistment`
-
-** Vendor-specific properties
-
-[[ggjxp]][[GSADG00528]][[administration-tools]]
-
-Administration Tools
-~~~~~~~~~~~~~~~~~~~~
-
-For the most part, you can perform the same tasks by using either the
-graphical Administration Console or the `asadmin` command-line utility,
-however, there are exceptions.
-
-The following GlassFish Server administration tools are described here:
-
-* link:#ablav[Administration Console]
-* link:#gcocs[`asadmin` Utility]
-* link:#gjjok[REST Interfaces]
-* link:#gjjxt[OSGi Module Management Subsystem]
-* link:#ghcjl[`keytool` Utility]
-* link:#ghrfm[Java Monitoring and Management Console (JConsole)]
-
-[[ablav]][[GSADG00698]][[administration-console]]
-
-Administration Console
-^^^^^^^^^^^^^^^^^^^^^^
-
-The Administration Console is a browser-based utility that features an
-easy-to-navigate graphical interface that includes extensive online help
-for the administrative tasks.
-
-To use the Administration Console, the domain administration server
-(DAS) must be running. Each domain has its own DAS, which has a unique
-port number. When GlassFish Server was installed, you chose a port
-number for the DAS, or used the default port of 4848. You also specified
-a user name and password if you did not accept the default login
-(`admin` with no password).
-
-When specifying the URL for the Administration Console, use the port
-number for the domain to be administered. The format for starting the
-Administration Console in a web browser is `http://`hostname`:`port. For
-example:
-
-[source,oac_no_warn]
-----
-http://kindness.example.com:4848
-----
-
-If the Administration Console is running on the host where GlassFish
-Server was installed, specify `localhost` for the host name. For
-example:
-
-[source,oac_no_warn]
-----
-http://localhost:4848
-----
-
-If the Administration Console is run on a host different from the host
-where GlassFish Server was installed, a secure connection (`https`
-instead of `http`) is used. Some browsers do not display pages on secure
-connections by default and must be configured to permit secure protocols
-(SSL and TLS).
-
-For Microsoft Windows, an alternate way to start the GlassFish Server
-Administration Console is by using the Start menu.
-
-You can display the help material for a page in the Administration
-Console by clicking the Help button on the page. The initial help page
-describes the functions and fields of the page itself. Associated task
-instructions can be accessed on additional pages by clicking a link in
-the See Also list.
-
-
-[NOTE]
-=======================================================================
-
-If you try to use the Administration Console from a system through a
-proxy server on another system back to the original system, while using
-the system's full host name (instead of `localhost` or `127.0.0.1`) you
-are denied access because the request is treated as a remote request,
-which requires that the secure administration feature (secure admin) be
-enabled.
-
-To avoid this situation, do one of the following:
-
-* Do not use a proxy server.
-* Use `localhost` or `127.0.0.1` as the host name.
-* Enable secure admin so that what GlassFish Server interprets as a
-remote request is accepted as such.
-
-To enable secure admin, see "olink:GSSCG00039[Managing Administrative
-Security]" in GlassFish Server Open Source Edition Security Guide.
-
-=======================================================================
-
-
-[[gcocs]][[GSADG00699]][[asadmin-utility]]
-
-`asadmin` Utility
-^^^^^^^^^^^^^^^^^
-
-The `asadmin` utility is a command-line tool that runs subcommands for
-identifying the operation or task that you want to perform. You can run
-`asadmin` subcommands either from a command prompt or from a script.
-Running `asadmin` subcommands from a script is helpful for automating
-repetitive tasks. Basic information about how the `asadmin` utility
-works can be found in the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page. For
-instructions on using the `asadmin` utility, see
-link:general-administration.html#giobi[Using the `asadmin` Utility].
-
-To issue an `asadmin` subcommand in the standard command shell (single
-mode), go to the as-install`/bin` directory and type the `asadmin`
-command followed by a subcommand. For example:
-
-[source,oac_no_warn]
-----
-asadmin list-jdbc-resources
-----
-
-You can invoke multiple command mode (multimode) by typing `asadmin` at
-the command prompt, after which the `asadmin>` prompt is presented. The
-`asadmin` utility continues to accept subcommands until you exit
-multimode and return to the standard command shell. For example:
-
-[source,oac_no_warn]
-----
-asadmin> list-jdbc-resources
-----
-
-You can display a help page for any `asadmin` subcommand by typing
-`help` before the subcommand name. For example:
-
-[source,oac_no_warn]
-----
-asadmin> help restart-domain
-----
-
-or
-
-[source,oac_no_warn]
-----
-asadmin help restart-domain
-----
-
-A collection of the `asadmin` help pages is available in HTML and PDF
-format in the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference
-Manual].
-
-[[gjjok]][[GSADG00700]][[rest-interfaces]]
-
-REST Interfaces
-^^^^^^^^^^^^^^^
-
-GlassFish Server provides representational state transfer (REST)
-interfaces to enable you to access monitoring and configuration data for
-GlassFish Server, including data that is provided by newly installed
-add-on components. For more information, see
-link:general-administration.html#gjipx[Using REST Interfaces to
-Administer GlassFish Server].
-
-[[gjjxt]][[GSADG00702]][[osgi-module-management-subsystem]]
-
-OSGi Module Management Subsystem
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The OSGi module management subsystem that is provided with GlassFish
-Server is the http://felix.apache.org/[Apache Felix OSGi framework] . To
-administer this framework, use the either of the following tools:
-
-* http://felix.apache.org/documentation/subprojects/apache-felix-remote-shell.html[Apache
-Felix Gogo] remote shell. This shell is provided with GlassFish Server.
-The shell uses the Felix Gogo shell service to interact with the OSGi
-module management subsystem.
-* GlassFish OSGi Administration Console. This console is distributed as
-an add-on component for GlassFish Server or as a set of files from the
-Maven GlassFish repository. In both distributions, the GlassFish OSGi
-Web Console is provided as an extension to the Administration Console
-and as a standalone web application. The GlassFish OSGi Administration
-Console is a customized version of the
-http://felix.apache.org/documentation/subprojects/apache-felix-web-console.html[Apache
-Felix Web Console].
-
-These tools enable you to perform administrative tasks on OSGi bundles
-such as:
-
-* Browsing installed OSGi bundles
-* Viewing the headers of installed OSGi bundles
-* Installing OSGi bundles
-* Controlling the life cycle of installed bundles
-
-[[glhdz]][[GSADG00302]][[to-enable-the-apache-felix-gogo-remote-shell]]
-
-To Enable the Apache Felix Gogo Remote Shell
-++++++++++++++++++++++++++++++++++++++++++++
-
-By default, the Apache Felix Gogo remote shell in GlassFish Server is
-disabled. Before using the shell to administer OSGi bundles in GlassFish
-Server, you must enable the shell.
-
-Enabling the Apache Felix Gogo remote shell in GlassFish Server involves
-changing the value of the property `glassfish.osgi.start.level.final`.
-This property controls whether the OSGi start level service enables the
-shell when the DAS or a GlassFish Server instance is started.
-
-1.  Ensure that the DAS is running.
-2.  [[CEGDBDBH]] +
-Change the value of the `glassfish.osgi.start.level.final` property from
-2 to 3. +
-If the domain includes clustered or standalone instances on remote
-hosts, perform this step on each remote host. +
-You can change this value either by creating a Java system property or
-by editing a file.
-* To change this value by creating a Java system property, create the
-Java system property `glassfish.osgi.start.level.final` with a value of
-3. +
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options --target target -Dglassfish.osgi.start.level.final=3
-----
-target::
-  The target for which you are creating the property. +
-  For the DAS, the target is `server`. +
-  For a clustered or standalone instance, the target is the name of the
-  instance.
-* To change this value by editing a file, edit the plain-text file
-as-install`/config/osgi.properties` to change the value of the
-`glassfish.osgi.start.level.final` property from 2 to 3.
-3.  Restart the DAS. +
-For instructions, see link:domains.html#ginqj[To Restart a Domain].
-
-[[CJAGIGII]][[GSADG1050]][[to-run-apache-felix-gogo-remote-shell-commands]]
-
-To Run Apache Felix Gogo Remote Shell Commands
-++++++++++++++++++++++++++++++++++++++++++++++
-
-The Apache Felix Gogo remote shell is integrated with the GlassFish
-Server `asadmin` command line utility. You can use the `asadmin`
-subcommands `osgi` and `osgi-shell` to access the remote shell and run
-OSGi shell commands.
-
-[[GSADG1051]]
-
-To Run Remote Shell Commands Using the `osgi` Subcommand
-
-The `osgi` subcommand delegates the command line to the Apache Felix
-Gogo remote shell for the execution of OSGi shell commands. Commands are
-executed by the remote shell and results are returned by the `asadmin`
-utility. The `osgi` subcommand is supported in remote mode only.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Access the remote shell by using the link:../reference-manual/redeploy.html#GSRFM00217[`osgi`]
-subcommand. +
-For the full syntax and options for this subcommand, see `osgi`(1).
-
-[[GSADG1052]]
-
-To Run Remote Shell Commands Using the `osgi-shell` Subcommand
-
-The `osgi-shell` subcommand provides interactive access to the Apache
-Felix Gogo remote shell for the execution of OSGi shell commands. OSGi
-shell commands are executed on the server and results are printed on the
-client. You can run multiple commands from a file or run commands
-interactively. The `osgi-shell` subcommand is supported in local mode
-only. Unlike other local subcommands, however, the DAS and the server
-instance whose shell is being accessed must be running.
-
-1.  Ensure that the server is running.
-2.  Access the remote shell by using the link:../reference-manual/redeploy.html#GSRFM00217[`osgi-shell`]
-subcommand. +
-For the full syntax and options for this subcommand, see
-`osgi-shell`(1).
-
-[[GSADG1053]][[sthref5]]
-
-
-Example 1-3 Listing Apache Felix Gogo Remote Shell Commands
-
-This example lists Apache Felix Gogo remote shell commands. Some lines
-of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi help
-felix:bundlelevel
-felix:cd
-felix:frameworklevel
-gogo:cat
-gogo:each
-gogo:echo
-...
-asadmin> osgi-shell
-Use "exit" to exit and "help" for online help.
-gogo$ help
-felix:bundlelevel
-felix:cd
-felix:frameworklevel
-gogo:cat
-gogo:each
-gogo:echo
-----
-
-[[GSADG1054]][[sthref6]]
-
-
-Example 1-4 Running a Remote Shell Command
-
-This example runs the Felix Remote Shell Command `lb` without any
-arguments to list all installed OSGi bundles. Some lines of output are
-omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi lb
-START LEVEL 2
-ID|State      |Level|Name
- 0|Active     |    0|System Bundle
- 1|Active     |    1|Metro Web Services API OSGi Bundle
- 2|Active     |    1|jakarta.annotation API
-Command osgi executed successfully.
-...
-asadmin> osgi-shell
-Use "exit" to exit and "help" for online help.
-gogo$ lb
-START LEVEL 2
-ID|State      |Level|Name
- 0|Active     |    0|System Bundle
- 1|Active     |    1|Metro Web Services API OSGi Bundle
- 2|Active     |    1|jakarta.annotation API
-gogo$
-----
-
-[[GSADG00097]][[gjkrh]]
-
-
-Example 1-5 Determining the Services That an OSGi Bundle Provides
-
-This example runs the Felix Remote Shell Command `inspect` with the
-`service` option and the `capability` option to determine the services
-that OSGi bundle 251 provides. Some lines of output are omitted from
-this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi inspect service capability 251
-GlassFish EJB Container for OSGi Enabled EJB Applications (251) provides services:
----------------------------------------------------------------------------
-objectClass = org.glassfish.osgijavaeebase.Extender
-service.id = 68
------
-objectClass = org.glassfish.osgijavaeebase.OSGiDeployer
-service.id = 69
-service.ranking = -2147483648
-Command osgi executed successfully.
-...
-asadmin> osgi -shell
-Use "exit" to exit and "help" for online help.
-gogo$ inspect service capability 251
-GlassFish EJB Container for OSGi Enabled EJB Applications (251) provides services:
----------------------------------------------------------------------------
-objectClass = org.glassfish.osgijavaeebase.Extender
-service.id = 68
-...
-gogo$ 
-----
-
-[[gkwvx]][[GSADG00303]][[to-download-and-install-the-glassfish-osgi-web-console]]
-
-To Download and Install the GlassFish OSGi Web Console
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The GlassFish OSGi Web Console is distributed as follows:
-
-* As an add-on component for GlassFish Server
-* As a set of files from the https://maven.java.net[GlassFish Maven
-repository]
-
-In both distributions, the GlassFish OSGi Web Console is provided as an
-extension to the Administration Console and as a standalone web
-application.
-
-1.  Perform one of the following sets of steps, depending on how you are
-obtaining the GlassFish OSGi Web Console.
-* If you are obtaining the console as an add-on component, install the
-GlassFish OSGi Admin Console component.
-* If you are obtaining the console from the Maven repository, download
-and unzip the required files.
-1.  Download the following files to the parent of the `glassfish3`
-directory of your GlassFish Server installation. +
-http://maven.glassfish.org/content/groups/glassfish/org/glassfish/packager/glassfish-osgi-http/3.1.2/glassfish-osgi-http-3.1.2.zip[`glassfish-osgi-http-3.1.2.zip`] +
-http://maven.glassfish.org/content/groups/glassfish/org/glassfish/packager/glassfish-osgi-gui/3.1.2/glassfish-osgi-gui-3.1.2.zip[`glassfish-osgi-gui-3.1.2.zip`]
-2.  Unzip the files that you downloaded. +
-The contents of the files are added to the
-as-install`/modules/autostart` directory of your GlassFish Server
-installation.
-2.  Restart the DAS. +
-For instructions, see link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG797]]
-
-Next Steps
-
-After downloading and installing the GlassFish OSGi Web Console, you can
-access the console as explained in the following sections:
-
-* link:#BABIDJHF[To Access the GlassFish OSGi Web Console Through the
-GlassFish Server Administration Console]
-* link:#BABDJHAF[To Access the GlassFish OSGi Web Console as a
-Standalone Web Application]
-
-[[BABIDJHF]][[GSADG798]][[to-access-the-glassfish-osgi-web-console-through-the-glassfish-server-administration-console]]
-
-To Access the GlassFish OSGi Web Console Through the GlassFish Server Administration Console
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-A tab for the GlassFish OSGi Web Console is provided for the DAS and for
-every GlassFish Server instance in a domain.
-
-1.  Ensure that the DAS and the instance for which you want to access
-the GlassFish OSGi Web Console are running.
-2.  Start the GlassFish Server Administration Console. +
-For instructions, see link:#ablav[Administration Console].
-3.  Open the Administration Console page for the DAS or instance for
-which you are accessing the GlassFish OSGi Web Console.
-* For the DAS, in the navigation tree, select the server (Admin Server)
-node.
-* For a standalone instance, perform these steps:
-1.  In the navigation tree, expand the Standalone Instances node.
-2.  Under the Standalone Instances node, select the instance.
-* For a clustered instance, perform these steps:
-1.  In the navigation tree, expand the Clusters node.
-2.  Under the Clusters node, select the cluster that contains the
-instance. +
-The General Information page for the cluster opens.
-3.  In the General Information page for the cluster, click the Instances
-tab. +
-The Clustered Server Instances page for the cluster opens.
-4.  In the Server Instances table on the Clustered Server Instances
-page, select the instance.
-4.  On the Administration Console page for the DAS or instance, click
-the OSGi Console tab. +
-You are prompted for the user name and password of the administrative
-user of the GlassFish OSGi Web Console.
-5.  In response to the prompt, provide the user name and password of the
-administrative user of the GlassFish OSGi Web Console. +
-The user name and password of this user are both preset to `admin`. +
-The GlassFish OSGi Web Console page opens.
-
-[[BABDJHAF]][[GSADG799]][[to-access-the-glassfish-osgi-web-console-as-a-standalone-web-application]]
-
-To Access the GlassFish OSGi Web Console as a Standalone Web Application
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Ensure that the DAS or the instance for which you want to access the
-GlassFish OSGi Web Console is running.
-2.  In a web browser, open the following location: +
-[source,oac_no_warn]
-----
-http://host:http-port/osgi/system/console/
-----
-host::
-  The host where the DAS or instance is running.
-http-port::
-  The port on which GlassFish Server listens for HTTP requests. The
-  default is 8080. +
-For example, if the DAS is running on the local host and GlassFish
-Server listens for HTTP requests on the default port, open the following
-location: +
-[source,oac_no_warn]
-----
-http://localhost:8080/osgi/system/console/
-----
-3.  When prompted, provide the user name and password of the
-administrative user of the GlassFish OSGi Web Console. +
-The user name and password of this user are both preset to `admin`.
-
-[[ghcjl]][[GSADG00703]][[keytool-utility]]
-
-`keytool` Utility
-^^^^^^^^^^^^^^^^^
-
-The `keytool` utility is used to set up and work with Java Security
-Socket Extension (JSSE) digital certificates. See
-"link:../security-guide/system-security.html#GSSCG00147[Administering JSSE Certificates]" in GlassFish Server
-Open Source Edition Security Guide for instructions on using `keytool`.
-
-[[ghrfm]][[GSADG00704]][[java-monitoring-and-management-console-jconsole]]
-
-Java Monitoring and Management Console (JConsole)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Java SE provides tools to connect to an MBean server and view the MBeans
-that are registered with the server. JConsole is one such popular JMX
-Connector Client and is available as part of the standard Java SE
-distribution. For instructions on implementing JConsole in the GlassFish
-Server environment, see link:monitoring.html#giwqm[Configuring JConsole
-to View GlassFish Server Monitoring Data].
-
-[[giudo]][[GSADG00529]][[instructions-for-administering-glassfish-server]]
-
-Instructions for Administering GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Information and instructions on performing most of the administration
-tasks from the command line are provided in this document and in the
-`asadmin` utility help pages. For instructions on accessing `asadmin`
-online help, see link:general-administration.html#givlw[To Display Help
-Information for the `asadmin` Utility or a Subcommand].
-
-Information and instructions for accomplishing the tasks by using the
-Administration Console are contained in the Administration Console
-online help.
-
-
-[NOTE]
-=======================================================================
-
-Instructions written for the GlassFish Server tools use standard UNIX
-forward slashes (/) for directory path separators in commands and file
-names. If you are running GlassFish Server on a Microsoft Windows
-system, use backslashes (\) instead. For example:
-
-* UNIX: as-install`/bin/asadmin`
-* Windows: as-install`\bin\asadmin`
-
-=======================================================================
-
-
-The following additional documents address specific administration
-areas:
-
-* Verifying and deploying applications +
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/part-appendixes.adoc b/docs/administration-guide/src/main/jbake/content/part-appendixes.adoc
deleted file mode 100644
index a2ea54a..0000000
--- a/docs/administration-guide/src/main/jbake/content/part-appendixes.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=Appendixes
-next=asadmin-subcommands.html
-prev=transactions.html
-~~~~~~
-Appendixes
-==========
-
-[[gitym]][[GSADG00299]][[part-iii]]
-
-Part III +
-----------
-
-[[appendixes]]
-Appendixes
-----------
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/part-res-and-svcs-admin.adoc b/docs/administration-guide/src/main/jbake/content/part-res-and-svcs-admin.adoc
deleted file mode 100644
index 1d432df..0000000
--- a/docs/administration-guide/src/main/jbake/content/part-res-and-svcs-admin.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=Resources and Services Administration
-next=jdbc.html
-prev=batch.html
-~~~~~~
-Resources and Services Administration
-=====================================
-
-[[gitxw]][[GSADG00298]][[part-ii]]
-
-Part II +
----------
-
-[[resources-and-services-administration]]
-Resources and Services Administration
--------------------------------------
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/part-runtime-admin.adoc b/docs/administration-guide/src/main/jbake/content/part-runtime-admin.adoc
deleted file mode 100644
index d85d373..0000000
--- a/docs/administration-guide/src/main/jbake/content/part-runtime-admin.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=Runtime Administration
-next=general-administration.html
-prev=overview.html
-~~~~~~
-Runtime Administration
-======================
-
-[[gitzg]][[GSADG00297]][[part-i]]
-
-Part I +
---------
-
-[[runtime-administration]]
-Runtime Administration
-----------------------
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/preface.adoc b/docs/administration-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 5b7da7a..0000000
--- a/docs/administration-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,334 +0,0 @@
-type=page
-status=published
-title=Preface
-next=overview.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSADG00003]][[gkamj]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-GlassFish Server Open Source Edition 5.0 Administration Guide provides
-instructions for configuring and administering GlassFish Server Open
-Source Edition.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 5.0 is developed through the GlassFish project
-open-source community at `https://javaee.github.io/glassfish/`. The
-GlassFish project provides a structured process for developing the
-GlassFish Server platform that makes the new features of the Java EE
-platform available faster, while maintaining the most important feature
-of Java EE: compatibility. It enables Java developers to access the
-GlassFish Server source code and to contribute to the development of the
-GlassFish Server. The GlassFish project is designed to encourage
-communication between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[GSADG00518]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSADG00519]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* https://javaee.github.io/firstcup/[Your First Cup: An Introduction to
-the Java EE Platform] (`https://javaee.github.io/firstcup/`). For
-beginning Java EE programmers, this short tutorial explains the entire
-process for developing a simple enterprise application. The sample
-application is a web application that consists of a component that is
-based on the Enterprise JavaBeans specification, a JAX-RS web service,
-and a JavaServer Faces component for the web front end.
-* https://javaee.github.io/tutorial/[The Java EE 8 Tutorial]
-(`https://javaee.github.io/tutorial/`). This comprehensive tutorial
-explains how to use Java EE 8 platform technologies and APIs to develop
-Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The Java EE specifications and API specification for version 8 is
-located at `https://javaee.github.io/javaee-spec/`.
-* The API specification for GlassFish Server 5.0, including Java EE 8
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`https://javaee.github.io/glassfish/documentation`.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the repository
-(`https://github.com/javaee/glassfish-samples`).
-
-[[GSADG00520]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSADG00521]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSADG00522]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="14%,34%,52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
diff --git a/docs/administration-guide/src/main/jbake/content/threadpools.adoc b/docs/administration-guide/src/main/jbake/content/threadpools.adoc
deleted file mode 100644
index 228e1fd..0000000
--- a/docs/administration-guide/src/main/jbake/content/threadpools.adoc
+++ /dev/null
@@ -1,246 +0,0 @@
-type=page
-status=published
-title=Administering Thread Pools
-next=webapps.html
-prev=jvm.html
-~~~~~~
-Administering Thread Pools
-==========================
-
-[[GSADG00008]][[abluc]]
-
-
-[[administering-thread-pools]]
-5 Administering Thread Pools
-----------------------------
-
-This chapter provides procedures for administering thread pools in the
-GlassFish Server Open Source Edition 5.0 environment by using the
-`asadmin` command-line utility.
-
-The following topics are addressed here:
-
-* link:#ggjyv[About Thread Pools]
-* link:#ablud[Configuring Thread Pools]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-[[ggjyv]][[GSADG00546]][[about-thread-pools]]
-
-About Thread Pools
-~~~~~~~~~~~~~~~~~~
-
-The Virtual Machine for the Java platform (Java Virtual Machine) or JVM
-machine) can support many threads of execution simultaneously. To help
-performance, GlassFish Server maintains one or more thread pools. It is
-possible to assign specific thread pools to connector modules, to
-network listeners, or to the Object Request Broker (ORB).
-
-One thread pool can serve multiple connector modules and enterprise
-beans. Request threads handle user requests for application components.
-When GlassFish Server receives a request, it assigns the request to a
-free thread from the thread pool. The thread executes the client's
-requests and returns results. For example, if the request needs to use a
-system resource that is currently busy, the thread waits until that
-resource is free before allowing the request to use that resource.
-
-[[ablud]][[GSADG00547]][[configuring-thread-pools]]
-
-Configuring Thread Pools
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can specify the minimum and maximum number of threads that are
-reserved for requests from applications. The thread pool is dynamically
-adjusted between these two values.
-
-The following topics are addressed here:
-
-* link:#ggkwj[To Create a Thread Pool]
-* link:#giuff[To List Thread Pools]
-* link:#ggkyc[To Update a Thread Pool]
-* link:#ggkwy[To Delete a Thread Pool]
-
-[[ggkwj]][[GSADG00366]][[to-create-a-thread-pool]]
-
-To Create a Thread Pool
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-threadpool` subcommand in remote mode to create a thread
-pool.
-
-The minimum thread pool size that is specified signals the server to
-allocate at least that many threads in reserve for application requests.
-That number is increased up to the maximum thread pool size that is
-specified. Increasing the number of threads available to a process
-allows the process to respond to more application requests
-simultaneously.
-
-If one resource adapter or application occupies all the GlassFish Server
-threads, thread starvation might occur. You can avoid this by dividing
-the GlassFish Server threads into different thread pools.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a new thread pool by using the
-link:../reference-manual/create-threadpool.html#GSRFM00060[`create-threadpool`] subcommand. +
-Information about options for the subcommand is included in this help
-page.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain]. +
-
-[NOTE]
-===================================================================
-
-Restart is not necessary for thread pools used by the web container.
-
-===================================================================
-
-
-[[GSADG00162]][[giuez]]
-
-
-Example 5-1 Creating a Thread Pool
-
-This example creates `threadpool-l`.
-
-[source,oac_no_warn]
-----
-asadmin> create-threadpool --maxthreadpoolsize 100 
---minthreadpoolsize 20 --idletimeout 2 --workqueues 100 threadpool-1
-Command create-threadpool executed successfully
-----
-
-[[GSADG853]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-threadpool` at the command line.
-
-[[giuff]][[GSADG00367]][[to-list-thread-pools]]
-
-To List Thread Pools
-^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-threadpools` subcommand in remote mode to list the
-existing thread pools.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the existing thread pools by using the
-link:../reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`] subcommand.
-
-[[GSADG00163]][[giugs]]
-
-
-Example 5-2 Listing Thread Pools
-
-This example lists the existing thread pools.
-
-[source,oac_no_warn]
-----
-asadmin> list-threadpools
-threadpool-1
-Command list-threadpools executed successfully
-----
-
-[[GSADG854]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-threadpools` at the command line.
-
-[[ggkyc]][[GSADG00368]][[to-update-a-thread-pool]]
-
-To Update a Thread Pool
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `set` subcommand to update the values for a specified thread
-pool.
-
-1.  List the existing thread pools by using the
-link:../reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`] subcommand.
-2.  Modify the values for a thread pool by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-The thread pool is identified by its dotted name.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain]. +
-
-[NOTE]
-===================================================================
-
-Restart is not necessary for thread pools used by the web container.
-
-===================================================================
-
-
-[[GSADG00164]][[giuhc]]
-
-
-Example 5-3 Updating a Thread Pool
-
-This example sets the `max-thread-pool-size` from its previous value to
-8.
-
-[source,oac_no_warn]
-----
-asadmin> set server.thread-pools.thread-pool.http-thread-pool.max-thread-pool-size=8
-Command set executed successfully
-----
-
-[[GSADG855]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help set` at the command line.
-
-[[ggkwy]][[GSADG00369]][[to-delete-a-thread-pool]]
-
-To Delete a Thread Pool
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-threadpool` subcommand in remote mode to delete an
-existing thread pool. Deleting a thread pool will fail if that pool is
-referenced by a network listener.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the existing thread pools by using the
-link:../reference-manual/list-threadpools.html#GSRFM00204[`list-threadpools`] subcommand.
-3.  Delete the specified thread pool by using the
-link:../reference-manual/delete-threadpool.html#GSRFM00111[`delete-threadpool`] subcommand.
-4.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain]. +
-
-[NOTE]
-===================================================================
-
-Restart is not necessary for thread pools used by the web container.
-
-===================================================================
-
-
-[[GSADG00165]][[giugt]]
-
-
-Example 5-4 Deleting a Thread Pool
-
-This example deletes `threadpool-1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-threadpool threadpool-1
-Command delete-threadpool executed successfully
-----
-
-[[GSADG856]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-threadpool` at the command line.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/title.adoc b/docs/administration-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index b828c0a..0000000
--- a/docs/administration-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,46 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Administration Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-= Eclipse GlassFish Server Administration Guide, Release 5.1
-
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Administration Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-Eclipse GlassFish Server 5.1 Administration Guide provides
-instructions for configuring and administering GlassFish Server Open
-Source Edition.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Administration Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/administration-guide/src/main/jbake/content/transactions.adoc b/docs/administration-guide/src/main/jbake/content/transactions.adoc
deleted file mode 100644
index bddc4ff..0000000
--- a/docs/administration-guide/src/main/jbake/content/transactions.adoc
+++ /dev/null
@@ -1,830 +0,0 @@
-type=page
-status=published
-title=Administering Transactions
-next=part-appendixes.html
-prev=jndi.html
-~~~~~~
-Administering Transactions
-==========================
-
-[[GSADG00022]][[ablsn]]
-
-
-[[administering-transactions]]
-19 Administering Transactions
------------------------------
-
-This chapter discusses how to manage the transaction service for the
-GlassFish Server Open Source Edition environment by using the `asadmin`
-command-line utility. Instructions for manually recovering transactions
-are also included.
-
-The following topics are addressed here:
-
-* link:#ablso[About Transactions]
-* link:#beanp[Configuring the Transaction Service]
-* link:#giubd[Managing the Transaction Service for Rollbacks]
-* link:#gjjpy[Recovering Transactions]
-* link:#beanq[Transaction Logging]
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-For more information about the Java Transaction API (JTA) and Java
-Transaction Service (JTS), see the following sites:
-`http://www.oracle.com/technetwork/java/javaee/tech/jta-138684.html` and
-`http://www.oracle.com/technetwork/java/javaee/tech/jts-140022.html`.
-
-You might also want to read
-"https://javaee.github.io/tutorial/transactions.html[Transactions]" in
-The Java EE 8 Tutorial.
-
-[[ablso]][[GSADG00605]][[about-transactions]]
-
-About Transactions
-~~~~~~~~~~~~~~~~~~
-
-A transaction is a series of discreet actions in an application that
-must all complete successfully. By enclosing one or more actions in an
-indivisible unit of work, a transaction ensures data integrity and
-consistency. If all actions do not complete, the changes are rolled
-back.
-
-For example, to transfer funds from a checking account to a savings
-account, the following steps typically occur:
-
-1.  Check to see if the checking account has enough money to cover the
-transfer.
-2.  Debit the amount from the checking account.
-3.  Credit the amount to the savings account.
-4.  Record the transfer to the checking account log.
-5.  Record the transfer to the savings account log.
-
-These steps together are considered a single transaction.
-
-If all the steps complete successfully, the transaction is committed .
-If any step fails, all changes from the preceding steps are rolled back,
-and the checking account and savings account are returned to the states
-they were in before the transaction started. This type of event is
-called a rollback. A normal transaction ends in either a committed state
-or a rolled back state.
-
-The following elements contribute to reliable transaction processing by
-implementing various APIs and functionalities:
-
-* Transaction Manager. Provides the services and management functions
-required to support transaction demarcation, transactional resource
-management, synchronization, and transaction context propagation.
-* GlassFish Server. Provides the infrastructure required to support the
-application runtime environment that includes transaction state
-management.
-* Resource Manager. Through a resource adapter, the resource manager
-provides the application access to resources. The resource manager
-participates in distributed transactions by implementing a transaction
-resource interface used by the transaction manager to communicate
-transaction association, transaction completion, and recovery work. An
-example of such a resource manager is a relational database server.
-* Resource Adapter. A system-level software library is used by GlassFish
-Server or a client to connect to a resource manager. A resource adapter
-is typically specific to a resource manager. The resource adapter is
-available as a library and is used within the address space of the
-client using it. An example of such a resource adapter is a Java
-Database Connectivity (JDBC) driver. For information on supported JDBC
-drivers, see link:jdbc.html#beamw[Configuration Specifics for JDBC
-Drivers].
-* Transactional User Application. In the GlassFish Server environment,
-the transactional user application uses Java Naming and Directory
-Interface (JNDI) to look up transactional data sources and, optionally,
-the user transaction). The application might use declarative transaction
-attribute settings for enterprise beans, or explicit programmatic
-transaction demarcation. For more information, see "link:../application-development-guide/transaction-service.html#GSDVG00191[The
-Transaction Manager, the Transaction Synchronization Registry, and
-UserTransaction]" in GlassFish Server Open Source Edition Application
-Development Guide.
-
-The following topics are addressed here:
-
-* link:#beann[Transaction Resource Managers]
-* link:#beano[Transaction Scope]
-
-[[beann]][[GSADG00785]][[transaction-resource-managers]]
-
-Transaction Resource Managers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There are three types of transaction resource managers:
-
-* Databases - Use of transactions prevents databases from being left in
-inconsistent states due to incomplete updates. For information about
-JDBC transaction isolation levels, see "link:../application-development-guide/transaction-service.html#GSDVG00511[Using JDBC
-Transaction Isolation Levels]" in GlassFish Server Open Source Edition
-Application Development Guide. +
-The GlassFish Server supports a variety of JDBC XA drivers. For a list
-of the JDBC drivers currently supported by the GlassFish Server, see the
-link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release Notes]. For
-configurations of supported and other drivers, see
-link:jdbc.html#beamw[Configuration Specifics for JDBC Drivers].
-* Java Message Service (JMS) Providers - Use of transactions ensures
-that messages are reliably delivered. The GlassFish Server is integrated
-with Open Message Queue, a fully capable JMS provider. For more
-information about transactions and the JMS API, see
-link:jms.html#abljw[Administering the Java Message Service (JMS)].
-* J2EE Connector Architecture (CA) components - Use of transactions
-prevents legacy EIS systems from being left in inconsistent states due
-to incomplete updates. For more information about connectors, see
-link:connectors.html#abllp[Administering EIS Connectivity].
-
-[[beano]][[GSADG00786]][[transaction-scope]]
-
-Transaction Scope
-^^^^^^^^^^^^^^^^^
-
-A local transaction involves only one non-XA resource and requires that
-all participating application components execute within one process.
-Local transaction optimization is specific to the resource manager and
-is transparent to the Java EE application.
-
-In the GlassFish Server, a JDBC resource is non-XA if it meets either of
-the following criteria:
-
-* In the JDBC connection pool configuration, the DataSource class does
-not implement the javax.sql.XADataSource interface.
-* The Resource Type setting is not set to javax.sql.XADataSource .
-
-A transaction remains local if the following conditions remain true:
-
-* One and only one non-XA resource is used. If any additional non-XA
-resource is used, the transaction is aborted, because the transaction
-manager must use XA protocol to commit two or more resources.
-* No transaction importing or exporting occurs.
-
-Transactions that involve multiple resources or multiple participant
-processes are distributed or global transactions. A global transaction
-can involve one non-XA resource if last agent optimization is enabled.
-Otherwise, all resources must be XA. The `use-last-agent-optimization`
-property is set to `true` by default. For details about how to set this
-property, see link:#beanp[Configuring the Transaction Service].
-
-If only one XA resource is used in a transaction, one-phase commit
-occurs, otherwise the transaction is coordinated with a two-phase commit
-protocol.
-
-A two-phase commit protocol between the transaction manager and all the
-resources enlisted for a transaction ensures that either all the
-resource managers commit the transaction or they all abort. When the
-application requests the commitment of a transaction, the transaction
-manager issues a `PREPARE_TO_COMMIT` request to all the resource
-managers involved. Each of these resources can in turn send a reply
-indicating whether it is ready for commit (`PREPARED`) or not (`NO`).
-Only when all the resource managers are ready for a commit does the
-transaction manager issue a commit request (`COMMIT`) to all the
-resource managers. Otherwise, the transaction manager issues a rollback
-request (`ABORT`) and the transaction is rolled back.
-
-[[beanp]][[GSADG00606]][[configuring-the-transaction-service]]
-
-Configuring the Transaction Service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can configure the transaction service in the GlassFish Server in the
-following ways:
-
-* To configure the transaction service using the Administration Console,
-open the Transaction Service component under the relevant configuration.
-For details, click the Help button in the Administration Console.
-* To configure the transaction service, use the link:../reference-manual/set.html#GSRFM00226[`set`]
-subcommand to set the following attributes. +
-The following examples show the `server-config` configuration, but
-values for any configuration can be set. For example, if you create a
-cluster named `cluster1` and a configuration named `cluster1-config` is
-automatically created for it, you can use `cluster1-config` in the `set`
-subcommand to get the transaction service settings for that cluster. +
-[source,oac_no_warn]
-----
-server-config.transaction-service.automatic-recovery = false
-server-config.transaction-service.heuristic-decision = rollback
-server-config.transaction-service.keypoint-interval = 2048
-server-config.transaction-service.retry-timeout-in-seconds = 600
-server-config.transaction-service.timeout-in-seconds = 0
-server-config.transaction-service.tx-log-dir = domain-dir/logs
-----
-You can also set these properties: +
-[source,oac_no_warn]
-----
-server-config.transaction-service.property.oracle-xa-recovery-workaround = true
-server-config.transaction-service.property.sybase-xa-recovery-workaround = false
-server-config.transaction-service.property.disable-distributed-transaction-logging = false
-server-config.transaction-service.property.xaresource-txn-timeout = 0
-server-config.transaction-service.property.pending-txn-cleanup-interval = -1
-server-config.transaction-service.property.use-last-agent-optimization = true
-server-config.transaction-service.property.delegated-recovery = false 
-server-config.transaction-service.property.wait-time-before-recovery-insec = 60
-server-config.transaction-service.property.purge-cancelled-transactions-after = 0
-server-config.transaction-service.property.commit-one-phase-during-recovery = false
-server-config.transaction-service.property.add-wait-point-during-recovery = 0
-server-config.transaction-service.property.db-logging-resource = jdbc/TxnDS
-server-config.transaction-service.property.xa-servername = myserver
-----
-Default property values are shown where they exist. For
-`db-logging-resource` and `xa-servername`, typical values are shown.
-Values that are not self-explanatory are as follows:
-
-** The `xaresource-txn-timeout` default of `0` means there is no
-timeout. The units are seconds.
-
-** The `pending-txn-cleanup-interval` default of `-1` means the periodic
-recovery thread doesn't run. The units are seconds.
-
-** The `purge-cancelled-transactions-after` default of `0` means
-cancelled transactions are not purged. The units are the number of
-cancellations in between purging attempts.
-
-** The `add-wait-point-during-recovery` property does not have a default
-value. If this property is unset, recovery does not wait. The units are
-seconds.
-
-** The `db-logging-resource` property does not have a default value. It
-is unset by default. However, if you set `db-logging-resource` to an
-empty value, the value used is `jdbc/TxnDS`.
-
-** The `xa-servername` property does not have a default value. Use this
-property to override server names that can cause errors. +
-You can use the link:../reference-manual/get.html#GSRFM00139[`get`] subcommand to list all the
-transaction service attributes and the properties that have been set.
-For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual]. +
-Changing `keypoint-interval`, `retry-timeout-in-seconds`, or
-`timeout-in-seconds` does not require a server restart. Changing other
-attributes or properties requires a server restart.
-* You can also set the following system properties: +
-[source,oac_no_warn]
-----
-ALLOW_MULTIPLE_ENLISTS_DELISTS=false
-JTA_RESOURCE_TABLE_MAX_ENTRIES=8192
-JTA_RESOURCE_TABLE_DEFAULT_LOAD_FACTOR=0.75f
-----
-The `JTA_RESOURCE_TABLE_DEFAULT_LOAD_FACTOR` default is the default
-`Map` resizing value.
-
-[[giubd]][[GSADG00607]][[managing-the-transaction-service-for-rollbacks]]
-
-Managing the Transaction Service for Rollbacks
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can roll back a single transaction by using the `asadmin`
-subcommands described in this section. To do so, the transaction service
-must be stopped (and later restarted), allowing you to see the active
-transactions and correctly identify the one that needs to be rolled
-back.
-
-The following topics are addressed here:
-
-* link:#giufn[To Stop the Transaction Service]
-* link:#giugk[To Roll Back a Transaction]
-* link:#giuet[To Restart the Transaction Service]
-* link:#gkrbo[Determining Local Transaction Completion at Shutdown]
-
-[[giufn]][[GSADG00513]][[to-stop-the-transaction-service]]
-
-To Stop the Transaction Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `freeze-transaction-service` subcommand in remote mode to stop
-the transaction service. When the transaction service is stopped, all
-in-flight transactions are immediately suspended. You must stop the
-transaction service before rolling back any in-flight transactions.
-
-Running this subcommand on a stopped transaction subsystem has no
-effect. The transaction service remains suspended until you restart it
-by using the `unfreeze-transaction-service` subcommand.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Stop the transaction service by using the
-link:../reference-manual/freeze-transaction-service.html#GSRFM00137[`freeze-transaction-service`] subcommand.
-
-[[GSADG00293]][[giufq]]
-
-
-Example 19-1 Stopping the Transaction Service
-
-This example stops the transaction service.
-
-[source,oac_no_warn]
-----
-asadmin> freeze-transaction-service --target instance1
-Command freeze-transaction-service executed successfully
-----
-
-[[GSADG1038]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help freeze-transaction-service` at the command line.
-
-[[giugk]][[GSADG00514]][[to-roll-back-a-transaction]]
-
-To Roll Back a Transaction
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In some situations, you might want to roll back a particular
-transaction. Before you can roll back a transaction, you must first stop
-the transaction service so that transaction operations are suspended.
-Use the `rollback-transaction` subcommand in remote mode to roll back a
-specific transaction.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Enable monitoring using the `set` subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin> set cluster1-config.monitoring-service.module-monitoring-levels.transaction-service=HIGH
-----
-3.  Use the `freeze-transaction-service` subcommand to halt in-process
-transactions. See link:#giufn[To Stop the Transaction Service].
-4.  Identify the ID of the transaction you want to roll back. +
-To see a list of IDs of active transactions, use the `get` subcommand
-with the `--monitor` option to get the monitoring data for the
-`activeids` statistic. See link:monitoring.html#ablvl[Transaction Service
-Statistics]. For example: +
-[source,oac_no_warn]
-----
-asadmin> get --monitor instance1.server.transaction-service.activeids-current
-----
-5.  Roll back the transaction by using the
-link:../reference-manual/rollback-transaction.html#GSRFM00223[`rollback-transaction`] subcommand. +
-The transaction is not rolled back at the time of this command's
-execution, but only marked for rollback. The transaction is rolled back
-when it is completed.
-
-[[GSADG00294]][[giufy]]
-
-
-Example 19-2 Rolling Back a Transaction
-
-This example rolls back the transaction with transaction ID
-`0000000000000001_00`.
-
-[source,oac_no_warn]
-----
-asadmin> rollback-transaction --target instance1 0000000000000001_00
-Command rollback-transaction executed successfully
-----
-
-[[GSADG1039]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help rollback-transaction` at the command line.
-
-[[giuet]][[GSADG00515]][[to-restart-the-transaction-service]]
-
-To Restart the Transaction Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `unfreeze-transaction-service` subcommand in remote mote to
-resume all the suspended in-flight transactions. Run this subcommand to
-restart the transaction service after it has been frozen.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Restart the suspended transaction service by using the
-link:../reference-manual/unfreeze-transaction-service.html#GSRFM00245[`unfreeze-transaction-service`] subcommand.
-
-[[GSADG00295]][[giuef]]
-
-
-Example 19-3 Restarting the Transaction Service
-
-This example restarts the transaction service after it has been frozen.
-
-[source,oac_no_warn]
-----
-asadmin> unfreeze-transaction-service --target instance1
-Command unfreeze-transaction-service executed successfully
-----
-
-[[GSADG1040]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help unfreeze-transaction-service` at the command line.
-
-[[gkrbo]][[GSADG00787]][[determining-local-transaction-completion-at-shutdown]]
-
-Determining Local Transaction Completion at Shutdown
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When you shut down a GlassFish Server instance, all database connections
-are closed. When an Oracle JDBC driver-based database connection is
-closed in the middle of a non-XA transaction, all pending changes are
-committed. Other databases usually roll back pending changes when a
-connection is closed without being explicitly committed. To determine
-the exact behavior for your database, refer to the documentation from
-your JDBC driver vendor.
-
-To explicitly specify whether GlassFish Server commits or rolls back
-non-XA transactions at server shutdown, set the
-`com.sun.enterprise.in-progress-local-transaction.completion-mode` JVM
-option to either `commit` or `rollback` using the
-link:../reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`] subcommand. For example:
-
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options -Dcom.sun.enterprise.in-progress-local-transaction.completion-mode=rollback
-----
-
-[[gjjpy]][[GSADG00608]][[recovering-transactions]]
-
-Recovering Transactions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-There are some situations where the commit or rollback operations might
-be interrupted, typically because the server crashed or a resource
-manager crashed. Crash situations can leave some transactions stranded
-between steps. GlassFish Server is designed to recover from these
-failures. If the failed transaction spans multiple servers, the server
-that started the transaction can contact the other servers to get the
-outcome of the transaction. If the other servers are unreachable, the
-transaction uses heuristic decision information to determine the
-outcome.
-
-The following topics are addressed here:
-
-* link:#gkoen[Automatic Transaction Recovery]
-* link:#giuhe[To Manually Recover Transactions]
-* link:#gaxim[Distributed Transaction Recovery]
-* link:#gaxig[Recovery Workarounds and Limitations]
-
-[[gkoen]][[GSADG00788]][[automatic-transaction-recovery]]
-
-Automatic Transaction Recovery
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server can perform automatic recovery in these ways:
-
-* Pending transactions are completed upon server startup if
-`automatic-recovery` is set to `true`.
-* Periodic automatic recovery is performed by a background thread if the
-`pending-txn-cleanup-interval` property is set to a positive value.
-
-Changing these settings requires a server restart. For more information
-about how to change these settings, see link:#beanp[Configuring the
-Transaction Service].
-
-If commit fails during recovery, a message is written to the server log.
-
-[[giuhe]][[GSADG00516]][[to-manually-recover-transactions]]
-
-To Manually Recover Transactions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `recover-transactions` subcommand in remote mode to manually
-recover transactions that were pending when a resource or a server
-instance failed.
-
-For a standalone server, do not use manual transaction recovery to
-recover transactions after a server failure. For a standalone server,
-manual transaction recovery can recover transactions only when a
-resource fails, but the server is still running. If a standalone server
-fails, only the full startup recovery process can recover transactions
-that were pending when the server failed.
-
-For an installation of multiple server instances, you can use manual
-transaction recovery from a surviving server instance to recover
-transactions after a server failure. For manual transaction recovery to
-work properly, transaction logs must be stored on a shared file system
-that is accessible to all server instances. See link:#beanq[Transaction
-Logging].
-
-When you execute `recover-transactions` in non-delegated mode, you can
-recover transactions that didn't complete two-phase commit because of a
-resource crash. To use manual transaction recovery in this way, the
-following conditions must be met:
-
-* The `recover-transactions` command should be executed after the
-resource is restarted.
-* Connection validation should be enabled so the connection pool is
-refreshed when the resource is accessed after the recovery. For more
-information, see "link:../performance-tuning-guide/tuning-glassfish.html#GSPTG00030[Connection Validation Settings]" in
-GlassFish Server Open Source Edition Performance Tuning Guide.
-
-If commit fails during recovery, a message is written to the server log.
-
-
-[NOTE]
-=======================================================================
-
-A JMS resource crash is handled the same way as any other resource.
-
-You can list in-doubt Open Message Queue transactions using the
-`imqcmd list txn` subcommand. For more information, see
-"olink:GMADG00241[Managing Transactions]" in Open Message Queue
-Administration Guide.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Manually recover transactions by using the
-link:../reference-manual/recover-transactions.html#GSRFM00216[`recover-transactions`] subcommand.
-
-[[GSADG00296]][[giugn]]
-
-
-Example 19-4 Manually Recovering Transactions
-
-This example performs manual recovery of transactions on `instance1`,
-saving them to `instance2`.
-
-[source,oac_no_warn]
-----
-asadmin recover-transactions --target instance2 instance1
-Transaction recovered.
-----
-
-[[GSADG1041]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help recover-transactions` at the command line.
-
-[[gaxim]][[GSADG00789]][[distributed-transaction-recovery]]
-
-Distributed Transaction Recovery
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable cluster-wide automatic recovery, you must first facilitate
-storing of transaction logs in a shared file system. See
-link:#beanq[Transaction Logging].
-
-Next, you must set the transaction service's `delegated-recovery`
-property to `true` (the default is `false`). For information about
-setting `tx-log-dir` and `delegated-recovery`, see
-link:#beanp[Configuring the Transaction Service].
-
-[[gaxig]][[GSADG00790]][[recovery-workarounds-and-limitations]]
-
-Recovery Workarounds and Limitations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server provides workarounds for some known issues with
-transaction recovery implementations.
-
-
-[NOTE]
-=====================================================================
-
-These workarounds do not imply support for any particular JDBC driver.
-
-=====================================================================
-
-
-[[gknau]][[GSADG00689]][[general-recovery-limitations]]
-
-General Recovery Limitations
-++++++++++++++++++++++++++++
-
-The following general limitations apply to transaction recovery:
-
-* Recovery succeeds if there are no exceptions during the process. This
-is independent of the number of transactions that need to be recovered.
-* Only transactions that did not complete the two-phase commit can be
-recovered (one of the XA resources failed or GlassFish Server crashed
-after resources were prepared).
-* Manual transaction recovery cannot recover transactions after a server
-crash on a standalone server instance. Manual operations are intended
-for cases when a resource dies unexpectedly while the server is running.
-In case of a server crash, only startup recovery can recover in-doubt
-transactions.
-* It is not possible to list transaction IDs for in-doubt transactions.
-* Delegated transaction recovery (by a different server instance in a
-cluster) is not possible if the failed instance used an `EMBEDDED`
-Message Queue broker, or if it used a `LOCAL` or `REMOTE` Message Queue
-broker and the broker also failed. In this case, only automatic recovery
-on server instance restart is possible. This is because for conventional
-Message Queue clustering, state information in a failed broker is not
-available until the broker restarts.
-
-[[gknee]][[GSADG00690]][[oracle-setup-for-transaction-recovery]]
-
-Oracle Setup for Transaction Recovery
-+++++++++++++++++++++++++++++++++++++
-
-You must configure the following `grant` statements in your Oracle
-database to set up transaction recovery:
-
-[source,oac_no_warn]
-----
-grant select on SYS.DBA_PENDING_TRANSACTIONS to user; 
-grant execute on SYS.DBMS_SYSTEM to user; 
-grant select on SYS.PENDING_TRANS$ to user; 
-grant select on SYS.DBA_2PC_NEIGHBORS to user; 
-grant execute on SYS.DBMS_XA to user;
-grant select on SYS.DBA_2PC_PENDING to user;
-----
-
-The user is the database administrator. On some versions of the Oracle
-driver the last `grant execute` fails. You can ignore this.
-
-[[gjiep]][[GSADG00691]][[oracle-thin-driver]]
-
-Oracle Thin Driver
-++++++++++++++++++
-
-In the Oracle thin driver, the `XAResource.recover` method repeatedly
-returns the same set of in-doubt Xids regardless of the input flag.
-According to the XA specifications, the Transaction Manager initially
-calls this method with TMSTARTSCAN and then with TMNOFLAGS repeatedly
-until no Xids are returned. The `XAResource.commit` method also has some
-issues.
-
-To disable the GlassFish Server workaround, set the
-`oracle-xa-recovery-workaround` property value to `false`. For details
-about how to set this property, see link:#beanp[Configuring the
-Transaction Service]. This workaround is used unless explicitly
-disabled.
-
-[[gkneq]][[GSADG00692]][[delegated-recovery-after-server-crash-doesnt-work-on-mysql]]
-
-Delegated Recovery After Server Crash Doesn't Work on MySQL
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The MySQL database supports XA transaction recovery only when the
-database crashes. When a GlassFish Server instance crashes, MySQL rolls
-back prepared transactions.
-
-[[glclh]][[GSADG00693]][[call-to-xateminator.recover-during-resourceadapter.start-hangs-if-automatic-recovery-is-enabled]]
-
-Call to `XATeminator.recover()` During `ResourceAdapter.start()` Hangs If Automatic Recovery Is Enabled
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Calls to `XATerminator.recover()` from the `ResourceAdapter.start()`
-method never return because GlassFish Server deadlocks. This only occurs
-when automatic recovery is enabled.
-
-It is not advisable to do transactional activities, such as starting a
-transaction or calling `XATerminator.recover()`, during
-`ResourceAdapter.start()`. For more information, see
-`http://markmail.org/message/ogc7qndhaywfkdrp#query:+page:1+mid:kyyzpcexusbnv7ri+state:results`.
-
-[[beanq]][[GSADG00609]][[transaction-logging]]
-
-Transaction Logging
-~~~~~~~~~~~~~~~~~~~
-
-The transaction service writes transactional activity into transaction
-logs so that transactions can be recovered. You can control transaction
-logging in these ways:
-
-* Set the location of the transaction log files in one of these ways:
-
-** Set the GlassFish Server's `log-root` setting to a shared file system
-base directory and set the transaction service's `tx-log-dir` attribute
-to a relative path.
-
-** Set `tx-log-dir` to an absolute path to a shared file system
-directory, in which case `log-root` is ignored for transaction logs.
-
-** Set a system property called `TX-LOG-DIR` to a shared file system
-directory. For example: +
-[source,oac_no_warn]
-----
-asadmin> create-system-properties --target server TX-LOG-DIR=/inst1/logs
-----
-For information about setting `log-root` and other general logging
-settings, see link:logging.html#abluj[Administering the Logging Service].
-* Turn off transaction logging by setting the
-`disable-distributed-transaction-logging` property to `true` and the
-`automatic-recovery` attribute to `false`. Do this only if performance
-is more important than transaction recovery.
-
-
-[NOTE]
-=======================================================================
-
-All instances in a cluster must be owned by the same user (`uid`), and
-read/write permissions for that user must be set on the transaction log
-directories.
-
-Transaction logs should be stored in a high-availability network file
-system (NFS) to avoid a single point of failure.
-
-=======================================================================
-
-
-[[gcmam]][[GSADG00517]][[to-store-transaction-logs-in-a-database]]
-
-To Store Transaction Logs in a Database
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For multi-core machines, logging transactions to a database may be more
-efficient. Transaction logging is designed to work with any
-JDBC-compliant database. For databases with which transaction logging
-has been tested, see the GlassFish Server Open Source Edition Release
-Notes.
-
-1.  [[CIHDBIJI]] +
-Create a JDBC connection Pool. To use non-transactional connections to
-insert log records, you can either set the
-`non-transactional-connections` attribute to `true` in this step, or you
-can perform step link:#CIHGIHJC[5] later.
-2.  Create a JDBC resource that uses the connection pool and note the
-JNDI name of the JDBC resource.
-3.  Automatic table creation for the transaction logs is done by
-default. However, if you would prefer to create the table manually, name
-it `txn_log_table` with the following schema: +
-[width="100%",cols="50%,50%",options="header",]
-|==========================
-|Column Name |JDBC Type
-|`LOCALTID` |`VARCHAR`
-|`INSTANCENAME` |`VARCHAR`
-|`SERVERNAME` |`VARCHAR(n)`
-|`GTRID` |`VARBINARY`
-|==========================
-
-The size of the `SERVERNAME` column should be at least the length of the
-GlassFish Server host name plus 10 characters. +
-The size of the `GTRID` column should be at least 64 bytes.
-4.  Add the `db-logging-resource` property to the transaction service.
-For example: +
-[source,oac_no_warn]
-----
-asadmin set server-config.transaction-service.property.db-logging-resource="jdbc/TxnDS"
-----
-The property's value should be the JNDI name of the JDBC resource
-configured previously.
-5.  [[CIHGIHJC]] +
-If you didn't set the `non-transactional-connections` attribute to
-`true` in step link:#CIHDBIJI[1] and you want to use non-transactional
-connections to insert log records, use the following
-`asadmin create-jvm-options` command to reference an existing
-transactional resource but use non-transactional connections for the
-`INSERT` statements: +
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Dcom.sun.jts.dblogging.use.nontx.connection.for.add=true
-----
-6.  To disable file synchronization, use the following
-`asadmin create-jvm-options` command: +
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Dcom.sun.appserv.transaction.nofdsync
-----
-7.  Restart the server.
-
-[[GSADG1042]]
-
-Next Steps
-
-To define the SQL used by the transaction manager when it is storing its
-transaction logs in the database, use the following flags:
-
-`-Dcom.sun.jts.dblogging.insertquery=sql` statement
-
-`-Dcom.sun.jts.dblogging.deletequery=sql` statement
-
-`-Dcom.sun.jts.dblogging.selectquery=sql` statement
-
-`-Dcom.sun.jts.dblogging.selectservernamequery=sql` statement
-
-The default statements are as follows:
-
-`-Dcom.sun.jts.dblogging.insertquery=insert into txn_log_table values ( ?, ?, ?, ? )`
-
-`-Dcom.sun.jts.dblogging.deletequery=delete from txn_log_table where localtid = ? and servername = ?`
-
-`-Dcom.sun.jts.dblogging.selectquery=select * from txn_log_table where servername = ?`
-
-`-Dcom.sun.jts.dblogging.selectservernamequery=select distinct servername from txn_log_table where instancename = ?`
-
-To set one of these flags using the `asadmin create-jvm-options`
-command, you must quote the statement. For example:
-
-`create-jvm-options '-Dcom.sun.jts.dblogging.deletequery=delete from txn_log_table where gtrid = ?'`
-
-You can also set JVM options in the Administration Console. Select the
-JVM Settings component under the relevant configuration. These flags and
-their statements must also be quoted in the Administration Console. For
-example:
-
-`'-Dcom.sun.jts.dblogging.deletequery=delete from txn_log_table where gtrid = ?'`
-
-[[GSADG1043]]
-
-See Also
-
-For information about JDBC connection pools and resources, see
-link:jdbc.html#ablih[Administering Database Connectivity]. For more
-information about the `asadmin set` and `asadmin create-jvm-options`
-commands, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual]. For databases with which transaction logging has been
-tested, see the GlassFish Server Open Source Edition Release Notes.
-
-
diff --git a/docs/administration-guide/src/main/jbake/content/webapps.adoc b/docs/administration-guide/src/main/jbake/content/webapps.adoc
deleted file mode 100644
index 7f83e6c..0000000
--- a/docs/administration-guide/src/main/jbake/content/webapps.adoc
+++ /dev/null
@@ -1,745 +0,0 @@
-type=page
-status=published
-title=Administering Web Applications
-next=logging.html
-prev=threadpools.html
-~~~~~~
-Administering Web Applications
-==============================
-
-[[GSADG00009]][[gbbjk]]
-
-
-[[administering-web-applications]]
-6 Administering Web Applications
---------------------------------
-
-This chapter explains how to administer web applications in the
-GlassFish Server Open Source Edition 5.0 environment.
-
-The following topics are addressed here:
-
-* link:#beagk[Invoking a Servlet by Alternate Means]
-* link:#gixud[Changing Log Output for a Servlet]
-* link:#beagc[Defining Global Features for Web Applications]
-* link:#gixrb[Redirecting a URL]
-* link:#gfaad[Administering `mod_jk`]
-* link:#CIHJDAJD[Administering `mod_proxy_ajp`]
-
-Instructions for accomplishing some of these tasks by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[beagk]][[GSADG00548]][[invoking-a-servlet-by-alternate-means]]
-
-Invoking a Servlet by Alternate Means
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can call a servlet deployed to GlassFish Server by using a URL in a
-browser or embedded as a link in an HTML or JSP file. The format of a
-servlet invocation URL is as follows:
-
-[source,oac_no_warn]
-----
-http://server:port/context-root/servlet-mapping?name=value
-----
-
-The following table describes each URL section.
-
-[[GSADG857]][[sthref20]][[fvyhk]]
-
-
-Table 6-1 URL Fields for Servlets Within an Application
-
-[width="100%",cols="21%,79%",options="header",]
-|=======================================================================
-|URL element |Description
-|server`:`port a|
-The IP address (or host name) and optional port number.
-
-To access the default web module for a virtual server, specify only this
-URL section. You do not need to specify the context-root or servlet-name
-unless you also wish to specify name-value parameters.
-
-|context-root a|
-For an application, the context root is defined in the `context-root`
-element of the `application.xml`, `sun-application.xml`, or
-`sun-web.xml` file. For an individually deployed web module, the context
-root is specified during deployment.
-
-For both applications and individually deployed web modules, the default
-context root is the name of the WAR file minus the `.war` suffix.
-
-|servlet-mapping |The `servlet-mapping` as configured in the `web.xml`
-file.
-
-|`?`name`=`value`...` |Optional request parameters.
-|=======================================================================
-
-
-[[GSADG00166]][[giyhf]]
-
-
-Example 6-1 Invoking a Servlet With a URL
-
-In this example, `localhost` is the host name, `MortPages` is the
-context root, and `calcMortgage` is the servlet mapping.
-
-[source,oac_no_warn]
-----
-http://localhost:8080/MortPages/calcMortgage?rate=8.0&per=360&bal=180000
-----
-
-[[GSADG00167]][[giyib]]
-
-
-Example 6-2 Invoking a Servlet From Within a JSP File
-
-To invoke a servlet from within a JSP file, you can use a relative path.
-For example:
-
-[source,oac_no_warn]
-----
-<jsp:forward page="TestServlet"/><jsp:include page="TestServlet"/>
-----
-
-[[gixud]][[GSADG00549]][[changing-log-output-for-a-servlet]]
-
-Changing Log Output for a Servlet
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-`ServletContext.log` messages are sent to the server log. By default,
-the `System.out` and `System.err` output of servlets are sent to the
-server log. During startup, server log messages are echoed to the
-`System.err` output. Also by default, there is no Windows-only console
-for the `System.err` output.
-
-You can change these defaults using the Administration Console Write to
-System Log box. If this box is checked, `System.out` output is sent to
-the server log. If it is unchecked, `System.out` output is sent to the
-system default location only.
-
-[[beagc]][[GSADG00550]][[defining-global-features-for-web-applications]]
-
-Defining Global Features for Web Applications
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can use the `default-web.xml` file to define features such as
-filters and security constraints that apply to all web applications.
-
-For example, directory listings are disabled by default for added
-security. To enable directory listings in your domain's
-`default-web.xml` file, search for the definition of the servlet whose
-`servlet-name` is equal to `default`, and set the value of the
-`init-param` named `listings` to `true`. Then restart the server.
-
-[source,oac_no_warn]
-----
-<init-param>
-   <param-name>listings</param-name>
-   <param-value>true</param-value>
-</init-param>
-----
-
-If `listings` is set to `true`, you can also determine how directory
-listings are sorted. Set the value of the `init-param` named `sortedBy`
-to `NAME`, `SIZE`, or `LAST_MODIFIED`. Then restart the server.
-
-[source,oac_no_warn]
-----
-<init-param>
-   <param-name>sortedBy</param-name>
-   <param-value>LAST_MODIFIED</param-value>
-</init-param>
-----
-
-The `mime-mapping` elements in `default-web.xml` are global and
-inherited by all web applications. You can override these mappings or
-define your own using `mime-mapping` elements in your web application's
-`web.xml` file. For more information about `mime-mapping` elements, see
-the Servlet specification.
-
-You can use the Administration Console to edit the `default-web.xml`
-file, or edit the file directly using the following steps.
-
-[[fvymc]][[GSADG00370]][[to-use-the-default-web.xml-file]]
-
-To Use the `default-web.xml` File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Place the JAR file for the filter, security constraint, or other
-feature in the domain-dir`/lib` directory.
-2.  Edit the domain-dir`/config/default-web.xml` file to refer to the
-JAR file.
-3.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[gixrb]][[GSADG00551]][[redirecting-a-url]]
-
-Redirecting a URL
-~~~~~~~~~~~~~~~~~
-
-You can specify that a request for an old URL be treated as a request
-for a new URL. This is called redirecting a URL.
-
-To specify a redirected URL for a virtual server, use the `redirect_n`
-property, where n is a positive integer that allows specification of
-more than one. Each of these `redirect_n` properties is inherited by all
-web applications deployed on the virtual server.
-
-The value of each `redirect_n` property has two components which can be
-specified in any order:
-
-* The first component, `from`, specifies the prefix of the requested URI
-to match.
-* The second component, `url-prefix`, specifies the new URL prefix to
-return to the client. The from prefix is replaced by this URL prefix.
-
-[[GSADG00168]][[giyis]]
-
-
-Example 6-3 Redirecting a URL
-
-This example redirects `from` `dummy` to `etude`:
-
-[source,oac_no_warn]
-----
-<property name="redirect_1" value="from=/dummy url-prefix=http://etude"/>
-----
-
-[[gfaad]][[GSADG00552]][[administering-mod_jk]]
-
-Administering `mod_jk`
-~~~~~~~~~~~~~~~~~~~~~~
-
-The Apache Tomcat Connector `mod_jk` can be used to connect the web
-container with web servers such as Apache HTTP Server. By using
-`mod_jk`, which comes with GlassFish Server, you can front GlassFish
-Server with Apache HTTP Server.
-
-You can also use `mod_jk` directly at the JSP/servlet engine for load
-balancing. For more information about configuring `mod_jk` and Apache
-HTTP Server for load balancing with GlassFish Server 5.0 refer to
-"link:../ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in GlassFish Server
-Open Source Edition High Availability Administration Guide.
-
-The following topics are addressed here:
-
-* link:#gixqw[To Enable `mod_jk`]
-* link:#gixpx[To Load Balance Using `mod_jk` and GlassFish Server]
-* link:#gjpat[To Enable SSL Between the `mod_jk` Load Balancer and the
-Browser]
-* link:#gjpan[To Enable SSL Between the `mod_jk` Load Balancer and
-GlassFish Server]
-
-[[gixqw]][[GSADG00371]][[to-enable-mod_jk]]
-
-To Enable `mod_jk`
-^^^^^^^^^^^^^^^^^^
-
-You can front GlassFish Server with Apache HTTP Server by enabling the
-`mod_jk` protocol for one of GlassFish Server's network listeners, as
-described in this procedure. A typical use for `mod_jk` would be to have
-Apache HTTP Server handle requests for static resources, while having
-requests for dynamic resources, such as servlets and JavaServer Pages
-(JSPs), forwarded to, and handled by the GlassFish Server back-end
-instance.
-
-When you use the `jk-enabled` attribute of the network listener, you do
-not need to copy any additional JAR files into the `/lib` directory. You
-can also create JK connectors under different virtual servers by using
-the network listener attribute `jk-enabled`.
-
-1.  Install Apache HTTP Server and `mod_jk`.
-* For information on installing Apache HTTP Server, see
-`http://httpd.apache.org/docs/2.2/install.html`.
-* For information on installing `mod_jk`, see
-`http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html`.
-2.  Configure the following files:
-* `apache2/conf/httpd.conf`, the main Apache configuration file
-* `apache2/conf/workers.properties` +
-link:#gixrq[Example 6-4] and link:#gixqt[Example 6-5] provide examples
-of configuring these two files.
-3.  Start Apache HTTP Server (`httpd`).
-4.  Start GlassFish Server with at least one web application deployed. +
-In order for the `mod_jk`-enabled network listener to start listening
-for requests, the web container must be started. Normally, this is
-achieved by deploying a web application.
-5.  Create a jk-enabled network listener by using the
-link:../reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> create-network-listener --protocol http-listener-1 \
---listenerport 8009 --jkenabled true jk-connector
-----
-6.  If you are using the `glassfish-jk.properties` file to use
-non-default values of attributes described at
-`http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html`), set the
-`jk-configuration-file` property of the network listener to the
-fully-qualified file name of the `glassfish-jk.properties` file. +
-[source,oac_no_warn]
-----
-asadmin> set server-config.network-config.network-listeners.network-listener.\
-jk-connector.jk-configuration-file=domain-dir/config/glassfish-jk.properties
-----
-7.  If you expect to need more than five threads for the listener,
-increase the maximum threads in the `http-thread-pool` pool: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.server-config.thread-pools.thread-pool.\
-http-thread-pool.max-thread-pool-size=value
-----
-8.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG00169]][[gixrq]]
-
-
-Example 6-4 `httpd.conf` File for `mod_jk`
-
-This example shows an `httpd.conf` file that is set for `mod_jk`. In
-this example, `mod_jk` used as a simple pass-through.
-
-[source,oac_no_warn]
-----
-LoadModule jk_module /usr/lib/httpd/modules/mod_jk.so
-JkWorkersFile /etc/httpd/conf/worker.properties
-# Where to put jk logs
-JkLogFile /var/log/httpd/mod_jk.log
-# Set the jk log level [debug/error/info]
-JkLogLevel debug
-# Select the log format
-JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
-# JkOptions indicate to send SSL KEY SIZE,
-JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
-# JkRequestLogFormat set the request format
-JkRequestLogFormat "%w %V %T"
-# Send all jsp requests to GlassFish
-JkMount /*.jsp worker1
-# Send all glassfish-test requests to GlassFish
-JkMount /glassfish-test/* worker1
-----
-
-[[GSADG00170]][[gixqt]]
-
-
-Example 6-5 `workers.properties` File for `mod_jk`
-
-This example shows a `workers.properties` that is set for `mod_jk`. This
-`workers.properties` file is referenced in the second line of
-link:#gixrq[Example 6-4].
-
-[source,oac_no_warn]
-----
-# Define 1 real worker using ajp13
-worker.list=worker1
-# Set properties for worker1 (ajp13)
-worker.worker1.type=ajp13
-worker.worker1.host=localhost
-worker.worker1.port=8009
-----
-
-[[GSADG858]]
-
-See Also
-
-For more information on Apache, see `http://httpd.apache.org/`.
-
-For more information on Apache Tomcat Connector, see
-`http://tomcat.apache.org/connectors-doc/index.html`.
-
-[[gixpx]][[GSADG00372]][[to-load-balance-using-mod_jk-and-glassfish-server]]
-
-To Load Balance Using `mod_jk` and GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Load balancing is the process of dividing the amount of work that a
-computer has to do between two or more computers so that more work gets
-done in the same amount of time. Load balancing can be configured with
-or without security.
-
-In order to support stickiness, the Apache `mod_jk` load balancer relies
-on a `jvmRoute` system property that is included in any `JSESSIONID`
-received by the load balancer. This means that every GlassFish Server
-instance that is front-ended by the Apache load balancer must be
-configured with a unique `jvmRoute` system property.
-
-1.  On each of the instances, perform the steps in link:#gixqw[To Enable
-`mod_jk`]. +
-If your instances run on the same machine, you must choose different JK
-ports. The ports must match `worker.worker*.port` in your
-`workers.properties` file. See the properties file in
-link:#gixqt[Example 6-5].
-2.  On each of the instances, create the `jvmRoute` system property of
-GlassFish Server by using the link:../reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`]
-subcommand. +
-Use the following format: +
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options "-DjvmRoute=/instance-worker-name"/
-----
-where instance-worker-name is the name of the worker that you defined to
-represent the instance in the `workers.properties` file.
-3.  To apply your changes, restart Apache HTTP Server and GlassFish
-Server.
-
-[[GSADG00171]][[gjjzu]]
-
-
-Example 6-6 `httpd.conf` File for Load Balancing
-
-This example shows an `httpd.conf` file that is set for load balancing.
-
-[source,oac_no_warn]
-----
-LoadModule jk_module /usr/lib/httpd/modules/mod_jk.so 
-JkWorkersFile /etc/httpd/conf/worker.properties 
-# Where to put jk logs 
-JkLogFile /var/log/httpd/mod_jk.log 
-# Set the jk log level [debug/error/info] 
-JkLogLevel debug 
-# Select the log format 
-JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 
-# JkOptions indicate to send SSL KEY SIZE, 
-JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
-# JkRequestLogFormat set the request format 
-JkRequestLogFormat "%w %V %T" 
-# Send all jsp requests to GlassFish 
-JkMount /*.jsp worker1 
-# Send all glassfish-test requests to GlassFish 
-JkMount /glassfish-test/* loadbalancer
-----
-
-[[GSADG00172]][[gjjzf]]
-
-
-Example 6-7 `workers.properties` File for Load Balancing
-
-This example shows a `workers.properties` or `glassfish-jk.properties`
-file that is set for load balancing. The `worker.worker*.port` should
-match with JK ports you created.
-
-[source,oac_no_warn]
-----
-worker.list=worker1,worker2,loadbalancer
-worker.worker1.type=ajp13
-worker.worker1.host=localhost
-worker.worker1.port=8009
-worker.worker1.lbfactor=1
-worker.worker1.socket_keepalive=1
-worker.worker1.socket_timeout=300
-worker.worker2.type=ajp13
-worker.worker2.host=localhost
-worker.worker2.port=8010
-worker.worker2.lbfactor=1
-worker.worker2.socket_keepalive=1
-worker.worker2.socket_timeout=300
-worker.loadbalancer.type=lb
-worker.loadbalancer.balance_workers=worker1,worker2
-----
-
-[[gjpat]][[GSADG00373]][[to-enable-ssl-between-the-mod_jk-load-balancer-and-the-browser]]
-
-To Enable SSL Between the `mod_jk` Load Balancer and the Browser
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To activate security for `mod_jk` on GlassFish Server, you must first
-generate a Secure Socket Layer (SSL) self-signed certificate on the
-Apache HTTP Server with the `mod_ssl` module. The tasks include
-generating a private key, a Certificate Signing Request (CSR), a
-self-signed certificate, and configuring SSL-enabled virtual hosts.
-
-[[GSADG859]]
-
-Before You Begin
-
-The `mod_jk` connector must be enabled.
-
-1.  Generate the private key as follows: +
-[source,oac_no_warn]
-----
-openssl genrsa -des3 -rand file1:file2:file3:file4:file5 -out server.key 1024
-----
-where `file1:file2:` and so on represents the random compressed files.
-2.  Remove the pass-phrase from the key as follows: +
-[source,oac_no_warn]
-----
-openssl rsa -in server.key -out server.pem 
-----
-3.  Generate the CSR is as follows: +
-[source,oac_no_warn]
-----
-openssl req -new -key server.pem -out server.csr
-----
-Enter the information you are prompted for.
-4.  Generate a temporary certificate as follows: +
-[source,oac_no_warn]
-----
-openssl x509 -req -days 60 -in server.csr -signkey server.pem -out server.crt
-----
-This temporary certificate is good for 60 days.
-5.  Create the `http-ssl.conf` file under the `/etc/apache2/conf.d`
-directory.
-6.  In the `http-ssl.conf` file, add one of the following redirects:
-* Redirect a web application, for example, `JkMount /hello/* worker1`.
-* Redirect all requests, for example, `JkMount /* worker1`. +
-[source,oac_no_warn]
-----
-# Send all jsp requests to GlassFish
-JkMount /*.jsp worker1
-# Send all glassfish-test requests to GlassFish
-JkMount /glassfish-test/* loadbalancer 
-----
-
-[[GSADG00173]][[gjpnc]]
-
-
-Example 6-8 `http-ssl.conf` File for `mod_jk` Security
-
-A basic SSL-enabled virtual host will appear in the `http-ssl.conf`
-file. In this example, all requests are redirected.
-
-[source,oac_no_warn]
-----
-Listen 443
-<VirtualHost _default_:443>
-SSLEngine on
-SSLCipherSuite ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
-SSLCertificateFile "/etc/apache2/2.2/server.crt"
-SSLCertificateKeyFile "/etc/apache2/2.2/server.pem"
-JkMount /* worker1
-</VirtualHost>
-----
-
-[[gjpan]][[GSADG00374]][[to-enable-ssl-between-the-mod_jk-load-balancer-and-glassfish-server]]
-
-To Enable SSL Between the `mod_jk` Load Balancer and GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure does not enable SSL transfer between `mod_jk` and
-GlassFish Server. It enables `mod_jk` to forward SSL-encrypted
-information from the browser to GlassFish Server.
-
-[[GSADG860]]
-
-Before You Begin
-
-The self-signed certificate must be configured.
-
-1.  Perform the steps in link:#gixqw[To Enable `mod_jk`].
-2.  Start another GlassFish Server with at least one web application
-deployed. +
-In order for the `mod_jk`-enabled network listener to start listening
-for requests, the web container must be started. Normally, this is
-achieved by deploying a web application.
-3.  Follow instructions from link:http_https.html#ggnbj[To Configure an
-HTTP Listener for SSL] on the `mod_jk` connector. +
-Use the following format: +
-[source,oac_no_warn]
-----
-asadmin> create-ssl --type http-listener --certname sampleCert new-listener
-----
-4.  Add the following directives in the `httpd.conf` file under the
-`/etc/apache2/conf.d` directory: +
-[source,oac_no_warn]
-----
-# Should mod_jk send SSL information (default is On)
-JkExtractSSL On
-# What is the indicator for SSL (default is HTTPS)
-JkHTTPSIndicator HTTPS
-# What is the indicator for SSL session (default is SSL_SESSION_ID)
-JkSESSIONIndicator SSL_SESSION_ID
-# What is the indicator for client SSL cipher suit (default is SSL_CIPHER )
-JkCIPHERIndicator SSL_CIPHER
-# What is the indicator for the client SSL certificated? (default is SSL_CLIENT_CERT )
-JkCERTSIndicator SSL_CLIENT_CERT
-----
-5.  To apply your changes, restart Apache HTTP Server and GlassFish
-Server.
-
-[[CIHJDAJD]][[GSADG861]][[administering-mod_proxy_ajp]]
-
-Administering `mod_proxy_ajp`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Apache Connector `mod_proxy_ajp` can be used to connect the web
-container with Apache HTTP Server. By using `mod_proxy_ajp`, you can
-front GlassFish Server with Apache HTTP Server.
-
-[[GSADG862]][[sthref21]]
-
-
-[[to-enable-mod_proxy_ajp]]
-To Enable `mod_proxy_ajp`
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can front GlassFish Server with Apache HTTP Server and its
-`mod_proxy_ajp` connector by enabling the AJP protocol for one of
-GlassFish Server's network listeners, as described in this procedure. A
-typical use for `mod_proxy_ajp` would be to have Apache HTTP Server
-handle requests for static resources, while having requests for dynamic
-resources, such as servlets and JavaServer Pages (JSPs), forwarded to,
-and handled by the GlassFish Server back-end instance.
-
-1.  Install Apache HTTP Server. +
-For information on installing Apache HTTP Server, see
-`http://httpd.apache.org/docs/2.2/install.html`.
-2.  Configure `apache2/conf/httpd.conf`, the main Apache configuration
-file. +
-For example: +
-[source,oac_no_warn]
-----
-LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
-LoadModule proxy_ajp_module /usr/lib/httpd/modules/mod_proxy_ajp.so
- 
-Listen 1979
-NameVirtualHost *:1979
-<VirtualHost *:1979>
-   ServerName localhost
-   ErrorLog /var/log/apache2/ajp.error.log
-   CustomLog /var/log/apache2/ajp.log combined
- 
-   <Proxy *>
-     AddDefaultCharset Off
-     Order deny,allow
-     Allow from all
-   </Proxy>
- 
-   ProxyPass / ajp://localhost:8009/
-   ProxyPassReverse / ajp://localhost:8009/
-</VirtualHost>
-----
-3.  Start Apache HTTP Server (`httpd`).
-4.  Create a jk-enabled network listener by using the
-`create-network-listener` subcommand. +
-[source,oac_no_warn]
-----
-asadmin> create-network-listener --protocol http-listener-1 \
---listenerport 8009 --jkenabled true jk-connector
-----
-5.  If you expect to need more than five threads for the listener,
-increase the maximum threads in the `http-thread-pool` pool: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.server-config.thread-pools.thread-pool.\
-http-thread-pool.max-thread-pool-size=value
-----
-6.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-[[GSADG863]]
-
-See Also
-
-For more information on Apache, see `http://httpd.apache.org/`.
-
-For more information on the Apache `mod_proxy_ajp` Connector, see
-`http://httpd.apache.org/docs/2.1/mod/mod_proxy.html` and
-`http://httpd.apache.org/docs/2.1/mod/mod_proxy_ajp.html`.
-
-For more information on the AJP protocol, see
-`http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html`.
-
-[[GSADG1049]][[sthref22]]
-
-
-[[to-load-balance-using-mod_proxy_ajp-and-glassfish-server]]
-To Load Balance Using `mod_proxy_ajp` and GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Load balancing is the process of dividing the amount of work that a
-computer has to do between two or more computers so that more work gets
-done in the same amount of time. In the GlassFish Server context, load
-balancing is most frequently used to distribute work among the instances
-in a GlassFish Server cluster.
-
-To configure load balancing using `mod_proxy_ajp`, you must use the
-`mod_proxy_balancer` Apache module in addition to `mod_proxy_ajp`.
-
-In order to support stickiness, the `mod_proxy_balancer` load balancer
-relies on a `jvmRoute` system property that is included in any
-`JSESSIONID` received by the load balancer. Consequently, every
-GlassFish Server instance that is front-ended by the Apache load
-balancer must be configured with a unique `jvmRoute` system property.
-
-1.  Install Apache HTTP Server. +
-For information on installing Apache HTTP Server, see
-`http://httpd.apache.org/docs/2.2/install.html`.
-2.  [[BABIFEEC]] +
-Configure `apache2/conf/httpd.conf`, the main Apache configuration file. +
-For example: +
-[source,oac_no_warn]
-----
-LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
-LoadModule proxy_ajp_module /usr/lib/httpd/modules/mod_proxy_ajp.so
-LoadModule proxy_balancer_module /usr/lib/httpd/modules/mod_proxy_balancer.so
- 
-# Forward proxy needs to be turned off
-ProxyRequests Off
-# Keep the original Host Header
-ProxyPreserveHost On
- 
-   <Proxy *>
-      Order deny,allow
-      Deny from all
-      Allow from localhost
-   </Proxy>
- 
-# Each BalancerMember corresponds to an instance in the GlassFish Server
-# cluster. The port specified for each instance must match the ajp port
-# specified for that instance.
-<Proxy balancer://localhost>
-    BalancerMember ajp://localhost:8009
-    BalancerMember ajp://localhost:8010
-    BalancerMember ajp://localhost:8011
-</Proxy>
-----
-3.  Start Apache HTTP Server (`httpd`).
-4.  In GlassFish Server, use the `create-network-listener` subcommand to
-create a jk-enabled network listener targeted to the cluster. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> create-network-listener --jkenabled true --target cluster1 \
---protocol http-listener-1 --listenerport ${AJP_PORT} jk-listener
-----
-In this example, `cluster1` is the name of the cluster and `jk-listener`
-is the name of the new listener.
-5.  If you expect to need more than five threads for the listener,
-increase the maximum threads in the `http-thread-pool` pool: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.cluster1-config.thread-pools.thread-pool.\
-http-thread-pool.max-thread-pool-size=value
-----
-6.  Use the `create-jvm-options` subcommand to create the `jvmRoute`
-property targeted to the cluster. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options --target cluster1 \
-"-DjvmRoute=\${AJP_INSTANCE_NAME}"
-----
-7.  Use the `create-system-properties` subcommand to define the
-`AJP_PORT` and `AJP_INSTANCE_NAME` properties for each of the instances
-in the cluster, making sure to match the port values you used in
-Step link:#BABIFEEC[2] when specifying the load balancer members. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> create-system-properties --target instance1 AJP_PORT=8009
-asadmin> create-system-properties --target instance1 \
-AJP_INSTANCE_NAME=instance1
-asadmin> create-system-properties --target instance2 AJP_PORT=8010
-asadmin> create-system-properties --target instance2 \
-AJP_INSTANCE_NAME=instance2
-asadmin> create-system-properties --target instance3 AJP_PORT=8011
-asadmin> create-system-properties --target instance3 \
-AJP_INSTANCE_NAME=instance3
-----
-In this example, `instance1`, `instance2` and `instance3` are the names
-of the GlassFish Server instances in the cluster.
-8.  To apply your changes, restart GlassFish Server. +
-See link:domains.html#ginqj[To Restart a Domain].
-
-
diff --git a/docs/administration-guide/src/main/jbake/jbake.properties b/docs/administration-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/administration-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/administration-guide/src/main/jbake/templates/footer.ftl b/docs/administration-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/administration-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/administration-guide/src/main/jbake/templates/header.ftl b/docs/administration-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/administration-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/administration-guide/src/main/jbake/templates/menu.ftl b/docs/administration-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/administration-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/administration-guide/src/main/jbake/templates/page.ftl b/docs/administration-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/administration-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/application-deployment-guide/README.md b/docs/application-deployment-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/application-deployment-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/application-deployment-guide/pom.xml b/docs/application-deployment-guide/pom.xml
index 9f3bb4d..bc4f138 100644
--- a/docs/application-deployment-guide/pom.xml
+++ b/docs/application-deployment-guide/pom.xml
@@ -22,11 +22,11 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
     <groupId>org.glassfish.docs</groupId>
     <artifactId>application-deployment-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Application Deployment Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Application Deployment Guide, Release 7</name>
 </project>
diff --git a/docs/application-deployment-guide/src/main/asciidoc/asadmin-deployment-subcommands.adoc b/docs/application-deployment-guide/src/main/asciidoc/asadmin-deployment-subcommands.adoc
new file mode 100644
index 0000000..e8ef8c4
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/asadmin-deployment-subcommands.adoc
@@ -0,0 +1,149 @@
+type=page
+status=published
+title=The asadmin Deployment Subcommands
+next=dd-files.html
+prev=deploying-applications.html
+~~~~~~
+
+= The asadmin Deployment Subcommands
+
+[[GSDPG00005]][[gihzw]]
+
+
+[[a-the-asadmin-deployment-subcommands]]
+== A The `asadmin` Deployment Subcommands
+
+This appendix lists the `asadmin` deployment subcommands that are
+included with this release of the {productName} software. For information on additional `asadmin` subcommands,
+see "link:administration-guide/asadmin-subcommands.html#GSADG00023[Subcommands for the `asadmin` Utility]" in
+{productName} Administration Guide or see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+link:reference-manual/add-library.html#GSRFM00818[`add-library`]::
+  Adds one or more library JAR files to {productName}. You can
+  specify whether the libraries are added to the Common class loader
+  directory, the Java optional package directory, or the
+  application-specific class loader directory.
+link:reference-manual/create-application-ref.html#GSRFM00013[`create-application-ref`]::
+  Creates a reference from a cluster or an unclustered server instance
+  to a previously deployed Jakarta EE application or module. This
+  effectively results in the application element being deployed and made
+  available on the targeted instance or cluster.
+link:reference-manual/create-lifecycle-module.html#GSRFM00043[`create-lifecycle-module`]::
+  Creates a lifecycle module. A lifecycle module provides a means of
+  running a short or long duration Java-based task at a specific stage
+  in the server life cycle.
+link:reference-manual/delete-application-ref.html#GSRFM00064[`delete-application-ref`]::
+  Removes a reference from a cluster or an unclustered server instance
+  to a previously deployed Jakarta EE application or module. This
+  effectively results in the application element being undeployed on the
+  targeted instance or cluster.
+link:reference-manual/delete-lifecycle-module.html#GSRFM00095[`delete-lifecycle-module`]::
+  Deletes a lifecycle module.
+link:reference-manual/deploy.html#GSRFM00114[`deploy`]::
+  Deploys an enterprise application, web application, EJB module,
+  connector module, or application client module. If the component is
+  already deployed or already exists, you can forcefully redeploy if you
+  set the `--force` option to `true`. A directory can also be deployed.
+  Supported in remote mode only. For usage instructions, see
+  link:deploying-applications.html#gijmq[To Deploy an Application or
+  Module].
+link:reference-manual/deploydir.html#GSRFM00115[`deploydir`]::
+  This subcommand is deprecated. Use the `deploy` subcommand instead.
+link:reference-manual/disable.html#GSRFM00116[`disable`]::
+  Immediately deactivates the named application or module. If the
+  component has not been deployed, an error message is returned.
+  Supported in remote mode only. For usage instructions,
+  seelink:deploying-applications.html#fvyje[To Disable an Application or
+  Module].
+link:reference-manual/enable.html#GSRFM00124[`enable`]::
+  Enables the specified application or module. If the component has not
+  been deployed, an error message is returned. If the component is
+  already enabled, then it is re-enabled. Supported in remote mode only.
+  For usage instructions, see link:deploying-applications.html#gijjy[To
+  Enable an Application or Module].
+link:reference-manual/get-client-stubs.html#GSRFM00140[`get-client-stubs`]::
+  Gets the client stubs JAR file for an application client module or an
+  application containing the application client module, from the server
+  machine to the local directory. For usage instructions, see
+  link:deploying-applications.html#beaek[EJB Module Deployment
+  Guidelines].
+link:reference-manual/list-applications.html#GSRFM00148[`list-applications`]::
+  Lists deployed Jakarta EE applications and modules. Optionally lists
+  subcomponents and scoped resources. If the `--type` option is not
+  specified, all applications and modules are listed. Supported in
+  remote mode only. For usage instructions, see
+  link:deploying-applications.html#giulr[To List Deployed Applications or
+  Modules].
+link:reference-manual/list-application-refs.html#GSRFM00147[`list-application-refs`]::
+  Lists Jakarta EE applications and modules deployed on the specified
+  target server instance or cluster.
+link:reference-manual/list-libraries.html#GSRFM00819[`list-libraries`]::
+  Lists library JAR files that have been added to {productName}. You
+  can specify whether to list libraries in the Common class loader
+  directory, the Java optional package directory, or the
+  application-specific class loader directory.
+link:reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`]::
+  Lists lifecycle modules.
+link:reference-manual/list-components.html#GSRFM00155[`list-components`]::
+  This subcommand is deprecated. Use the `list-applications` subcommand
+  instead.
+link:reference-manual/list-sub-components.html#GSRFM00201[`list-sub-components`]::
+  Lists EJBs or servlets in a deployed module or in a module of the
+  deployed application. If a module is not identified, all modules are
+  listed. To display a specific module in an application, you must
+  specify the module name and the `--appname` option. Supported in
+  remote mode only. For usage instructions, see
+  link:deploying-applications.html#giulr[To List Deployed Applications or
+  Modules].
+link:reference-manual/list-web-context-param.html#GSRFM00208[`list-web-context-param`]::
+  Lists servlet context-initialization parameters of a deployed web
+  application or module. Supported in remote mode only. For usage
+  instructions, see link:deploying-applications.html#giybo[To List Web
+  Context Parameters].
+link:reference-manual/list-web-env-entry.html#GSRFM00209[`list-web-env-entry`]::
+  Lists environment entries for a deployed web application or module.
+  Supported in remote mode only. For usage instructions, see
+  link:deploying-applications.html#giyip[To List Web Environment
+  Entries].
+link:reference-manual/redeploy.html#GSRFM00217[`redeploy`]::
+  Overwrites an application or module that is already deployed.
+  Supported in remote mode only. For usage instructions, see
+  link:deploying-applications.html#gijmb[To Redeploy an Application or
+  Module].
+link:reference-manual/remove-library.html#GSRFM00820[`remove-library`]::
+  Removes one or more library JAR files from {productName}. You can
+  specify whether the libraries are removed from the Common class loader
+  directory, the Java optional package directory, or the
+  application-specific class loader directory.
+link:reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`]::
+  Sets a servlet context-initialization parameter of a deployed web
+  application or module. Supported in remote mode only. For usage
+  instructions, see link:deploying-applications.html#giyce[To Set a Web
+  Context Parameter].
+link:reference-manual/set-web-env-entry.html#GSRFM00231[`set-web-env-entry`]::
+  Sets an environment entry for a deployed web application or module.
+  Supported in remote mode only. For usage instructions, see
+  link:deploying-applications.html#giyhc[To Set a Web Environment Entry].
+link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`]::
+  Shows the status of a deployed component. The possible statuses
+  include `enabled` or `disabled`. Supported in remote mode only. For
+  usage instructions, see link:deploying-applications.html#giulr[To List
+  Deployed Applications or Modules].
+link:reference-manual/undeploy.html#GSRFM00244[`undeploy`]::
+  Uninstalls the specified deployed application or module. Supported in
+  remote mode only. For usage instructions, see
+  link:deploying-applications.html#gijkl[To Undeploy an Application or
+  Module].
+link:reference-manual/unset-web-context-param.html#GSRFM00248[`unset-web-context-param`]::
+  Unsets a servlet context-initialization parameter of a deployed web
+  application or module. Supported in remote mode only. For usage
+  instructions, see link:deploying-applications.html#giycy[To Unset a Web
+  Context Parameter].
+link:reference-manual/unset-web-env-entry.html#GSRFM00249[`unset-web-env-entry`]::
+  Unsets an environment entry for a deployed web application or module.
+  Supported in remote mode only. For usage instructions, see
+  link:deploying-applications.html#giyjr[To Unset a Web Environment
+  Entry].
+
+
diff --git a/docs/application-deployment-guide/src/main/asciidoc/dd-elements.adoc b/docs/application-deployment-guide/src/main/asciidoc/dd-elements.adoc
new file mode 100644
index 0000000..1c20e5f
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/dd-elements.adoc
@@ -0,0 +1,11409 @@
+type=page
+status=published
+title=Elements of the {productName} Deployment Descriptors
+prev=dd-files.html
+~~~~~~
+
+= Elements of the {productName} Deployment Descriptors
+
+[[GSDPG00007]][[beaqi]]
+
+
+[[c-elements-of-the-glassfish-server-deployment-descriptors]]
+== C Elements of the {productName} Deployment Descriptors
+
+This appendix describes the elements of the {productName}deployment descriptors.
+
+[[beaqs]][[GSDPG00085]][[activation-config]]
+
+=== `activation-config`
+
+Specifies an activation configuration, which includes the runtime
+configuration properties of the message-driven bean in its operational
+environment. For example, this can include information about the name of
+a physical JMS destination. Matches and overrides the
+`activation-config` element in the `ejb-jar.xml` file.
+
+[[fvyoe]][[GSDPG00335]][[superelements]]
+
+==== Superelements
+
+link:#beaus[`mdb-resource-adapter`] (`glassfish-ejb-jar.xml`)
+
+[[fvynj]][[GSDPG00336]][[subelements]]
+
+==== Subelements
+
+The following table describes subelements for the `activation-config`
+element.
+
+[[GSDPG838]][[sthref9]][[fvynw]]
+
+
+Table C-1 `activation-config` subelements
+
+[width="100%",cols="32%,12%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Specifies a text description of the activation
+configuration.
+
+a|
+link:#beaqt[`activation-config-property`]
+
+
+ |one or more |Specifies an activation configuration property.
+|===
+
+
+[[beaqt]][[GSDPG00086]][[activation-config-property]]
+
+=== `activation-config-property`
+
+Specifies the name and value of an activation configuration property.
+
+[[fvyne]][[GSDPG00337]][[superelements-1]]
+
+==== Superelements
+
+link:#beaqs[`activation-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvyns]][[GSDPG00338]][[subelements-1]]
+
+==== Subelements
+
+The following table describes subelements for the
+`activation-config-property` element.
+
+[[GSDPG839]][[sthref10]][[fvynv]]
+
+
+Table C-2 `activation-config-property` subelements
+
+[width="100%",cols="39%,10%,51%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaqu[`activation-config-property-name`]
+
+
+ |only one |Specifies the name of an activation configuration property.
+a|
+link:#beaqv[`activation-config-property-value`]
+
+
+ |only one |Specifies the value of an activation configuration property.
+|===
+
+
+[[beaqu]][[GSDPG00087]][[activation-config-property-name]]
+
+=== `activation-config-property-name`
+
+Specifies the name of an activation configuration property.
+
+[[fvynm]][[GSDPG00339]][[superelements-2]]
+
+==== Superelements
+
+link:#beaqt[`activation-config-property`] (`glassfish-ejb-jar.xml`)
+
+[[fvyok]][[GSDPG00340]][[subelements-2]]
+
+==== Subelements
+
+none - contains data
+
+[[beaqv]][[GSDPG00088]][[activation-config-property-value]]
+
+=== `activation-config-property-value`
+
+Specifies the value of an activation configuration property.
+
+[[fvyou]][[GSDPG00341]][[superelements-3]]
+
+==== Superelements
+
+link:#beaqt[`activation-config-property`] (`glassfish-ejb-jar.xml`)
+
+[[fvyoz]][[GSDPG00342]][[subelements-3]]
+
+==== Subelements
+
+none - contains data
+
+[[giyhw]][[GSDPG00089]][[admin-object-resource]]
+
+=== `admin-object-resource`
+
+Defines an administered object for an inbound resource adapter.
+
+[[GSDPG840]][[sthref11]]
+
+
+[[superelements-4]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG841]][[sthref12]]
+
+
+[[subelements-4]]
+==== Subelements
+
+The following table describes subelements for the
+`admin-object-resource` element.
+
+[[GSDPG842]][[sthref13]][[sthref14]]
+
+
+Table C-3 `admin-object-resource` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|link:#beaso[`description`]
+|zero or one
+|Contains a text description of this element.
+
+a|link:#beavx[`property`] (with attributes)
+|zero or more
+|Specifies a property or a variable.
+|===
+
+
+[[GSDPG843]][[sthref15]]
+
+
+[[attributes]]
+==== Attributes
+
+The following table describes attributes for the `admin-object-resource`
+element.
+
+[[GSDPG844]][[sthref16]][[sthref17]]
+
+
+Table C-4 `admin-object-resource` Attributes
+
+[width="172%",cols="9%,46%,45%",options="header",]
+|===
+|Attribute |Default |Description
+|`jndi-name` |none |Specifies the JNDI name for the resource.
+
+|`res-type` |none |Specifies the fully qualified type of the resource.
+
+|`res-adapter` |none |Specifies the name of the inbound resource
+adapter.
+
+|`object-type` |`user` a|
+(optional) Defines the type of the resource. Allowed values are:
+
+* `system-all` - A system resource for all server instances and the
+domain application server.
+* `system-admin` - A system resource only for the domain application
+server.
+* `system-instance` - A system resource for all server instances only.
+* `user` - A user resource.
+
+|`enabled` |`true` |(optional) Determines whether this resource is
+enabled at runtime.
+|===
+
+
+[[GSDPG845]][[sthref18]]
+
+
+[[properties]]
+==== Properties
+
+Properties of the `admin-object-resource` element are the names of
+setter methods of the class referenced by the `adminobject-class` of the
+`ra.xml` file. Some of the property names can be specified in the
+`adminobjectType` element.
+
+[[beaqw]][[GSDPG00090]][[as-context]]
+
+=== `as-context`
+
+Specifies the authentication mechanism used to authenticate the client.
+
+[[fvyos]][[GSDPG00343]][[superelements-5]]
+
+==== Superelements
+
+link:#beato[`ior-security-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvyom]][[GSDPG00344]][[subelements-5]]
+
+==== Subelements
+
+The following table describes subelements for the `as-context` element.
+
+[[GSDPG846]][[sthref19]][[fvyov]]
+
+
+Table C-5 `as-context` Subelements
+
+[width="100%",cols="14%,10%,76%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaqx[`auth-method`]
+
+
+ |only one |Specifies the authentication method. The only supported
+value is `USERNAME_PASSWORD`.
+
+a|
+link:#beawi[`realm`]
+
+
+ |only one |Specifies the realm in which the user is authenticated.
+
+a|
+link:#beawq[`required`]
+
+
+ |only one |Specifies whether the authentication method specified in the
+`auth-method` element must be used for client authentication.
+|===
+
+
+[[gjizj]][[GSDPG00091]][[archive-name]]
+
+=== `archive-name`
+
+Specifies the name of the archive file. The value of the `archive-name`
+element is used to derive the default application name when
+`display-name` is not present in the `application.xml` file. The default
+application name is the `archive-name` value minus the file extension.
+For example, if `archive-name` is `foo.ear`, the default application
+name is `foo`.
+
+[[gjizb]][[GSDPG00345]][[superelements-6]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`)
+
+[[gjizg]][[GSDPG00346]][[subelements-6]]
+
+==== Subelements
+
+none - contains data
+
+[[beaqx]][[GSDPG00092]][[auth-method]]
+
+=== `auth-method`
+
+Specifies the authentication method.
+
+If the parent element is link:#beaqw[`as-context`], the only supported
+value is `USERNAME_PASSWORD`.
+
+If the parent element is link:#beauk[`login-config`], specifies the
+authentication mechanism for the web service endpoint. As a prerequisite
+to gaining access to any web resources protected by an authorization
+constraint, a user must be authenticated using the configured mechanism.
+
+[[fvyow]][[GSDPG00347]][[superelements-7]]
+
+==== Superelements
+
+link:#beauk[`login-config`] (`glassfish-web.xml`),
+link:#beaqw[`as-context`] (`glassfish-ejb-jar.xml`)
+
+[[fvyop]][[GSDPG00348]][[subelements-7]]
+
+==== Subelements
+
+none - contains data
+
+[[beaqy]][[GSDPG00093]][[auth-realm]]
+
+=== `auth-realm`
+
+JAAS is available on the ACC. Defines the optional configuration for a
+JAAS authentication realm. Authentication realms require
+provider-specific properties, which vary depending on what a particular
+implementation needs. For more information about how to define realms,
+see "link:application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in {productName} Application Development Guide.
+
+[[fvyot]][[GSDPG00349]][[superelements-8]]
+
+==== Superelements
+
+link:#bearr[`client-container`] (`sun-acc.xml`)
+
+[[fvyor]][[GSDPG00350]][[subelements-8]]
+
+==== Subelements
+
+The following table describes subelements for the `auth-realm` element.
+
+[[GSDPG847]][[sthref20]][[fvyol]]
+
+
+Table C-6 `auth-realm` subelement
+
+[width="100%",cols="36%,14%,50%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyoy]][[GSDPG00351]][[attributes-1]]
+
+==== `Attributes`
+
+The following table describes attributes for the `auth-realm` element.
+
+[[GSDPG848]][[sthref21]][[fvypa]]
+
+
+Table C-7 `auth-realm` attributes
+
+[width="100%",cols="18%,13%,69%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Defines the name of this realm.
+|`classname` |none |Defines the Java class which implements this realm.
+|===
+
+
+[[fvyox]][[GSDPG00352]][[example]]
+
+==== Example
+
+Here is an example of the default file realm:
+
+[source,xml]
+----
+<auth-realm name="file"
+   classname="com.sun.enterprise.security.auth.realm.file.FileRealm">
+   <property name="file" value="domain-dir/config/keyfile"/>
+   <property name="jaas-context" value="fileRealm"/>
+</auth-realm>
+----
+
+Which properties an `auth-realm` element uses depends on the value of
+the `auth-realm` element's `name` attribute. The file realm uses `file`
+and `jaas-context` properties. Other realms use different properties.
+See "link:application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in {productName} Application Development Guide.
+
+[[giyjv]][[GSDPG00094]][[backend-principal]]
+
+=== `backend-principal`
+
+Specifies the user name and password required by the Enterprise
+Information System (EIS).
+
+[[GSDPG849]][[sthref22]]
+
+
+[[superelements-9]]
+==== Superelements
+
+link:#giyhy[`security-map`] (`glassfish-resources.xml`)
+
+[[GSDPG850]][[sthref23]]
+
+
+[[subelements-9]]
+==== Subelements
+
+none
+
+[[GSDPG851]][[sthref24]]
+
+
+[[attributes-2]]
+==== Attributes
+
+The following table describes attributes for the `backend-principal`
+element.
+
+[[GSDPG852]][[sthref25]][[sthref26]]
+
+
+Table C-8 `backend-principal` Attributes
+
+[width="100%",cols="26%,17%,57%",options="header",]
+|===
+|Attribute |Default |Description
+|`user-name` |none |Specifies the user name required by the EIS.
+
+|`password` |none |(optional) Specifies the password required by the
+EIS, if any.
+|===
+
+
+[[beara]][[GSDPG00095]][[bean-cache]]
+
+=== `bean-cache`
+
+Specifies the entity bean cache properties. Used for entity beans and
+stateful session beans.
+
+[[fvyoq]][[GSDPG00353]][[superelements-10]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyon]][[GSDPG00354]][[subelements-10]]
+
+==== Subelements
+
+The following table describes subelements for the `bean-cache` element.
+
+[[GSDPG853]][[sthref27]][[fvypb]]
+
+
+Table C-9 `bean-cache` Subelements
+
+[width="100%",cols="35%,11%,54%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beauo[`max-cache-size`]
+
+
+ |zero or one |Specifies the maximum number of beans allowable in cache.
+
+a|
+link:#beatp[`is-cache-overflow-allowed`]
+
+
+ |zero or one |Deprecated.
+
+a|
+link:#bearg[`cache-idle-timeout-in-seconds`]
+
+
+ |zero or one |Specifies the maximum time that a stateful session bean
+or entity bean is allowed to be idle in cache before being passivated.
+Default value is 10 minutes (600 seconds).
+
+a|
+link:#beawl[`removal-timeout-in-seconds`]
+
+
+ |zero or one |Specifies the amount of time a bean remains before being
+removed. If `removal-timeout-in-seconds` is less than `idle-timeout`,
+the bean is removed without being passivated.
+
+a|
+link:#beaws[`resize-quantity`]
+
+
+ |zero or one |Specifies the number of beans to be created if the pool
+is empty (subject to the `max-pool-size` limit). Values are from 0 to
+MAX_INTEGER.
+
+a|
+link:#beayp[`victim-selection-policy`]
+
+
+ |zero or one |Specifies the algorithm that must be used by the
+container to pick victims. Applies only to stateful session beans.
+|===
+
+
+[[fvyoo]][[GSDPG00355]][[example-1]]
+
+==== Example
+
+[source,xml]
+----
+<bean-cache>
+   <max-cache-size>100</max-cache-size>
+   <cache-resize-quantity>10</cache-resize-quantity>
+   <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
+   <victim-selection-policy>LRU</victim-selection-policy>
+      <cache-idle-timeout-in-seconds>600</cache-idle-timeout-in-seconds>
+   <removal-timeout-in-seconds>5400</removal-timeout-in-seconds>
+</bean-cache>
+----
+
+[[bearb]][[GSDPG00096]][[bean-pool]]
+
+=== `bean-pool`
+
+Specifies the pool properties of stateless session beans, entity beans,
+and message-driven bean.
+
+[[fvypc]][[GSDPG00356]][[superelements-11]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvypd]][[GSDPG00357]][[subelements-11]]
+
+==== Subelements
+
+The following table describes subelements for the `bean-pool` element.
+
+[[GSDPG854]][[sthref28]][[fvypg]]
+
+
+Table C-10 `bean-pool` Subelements
+
+[width="100%",cols="34%,11%,55%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxt[`steady-pool-size`]
+
+
+ |zero or one |Specifies the initial and minimum number of beans
+maintained in the pool. Default is 32.
+
+a|
+link:#beaws[`resize-quantity`]
+
+
+ |zero or one |Specifies the number of beans to be created if the pool
+is empty (subject to the `max-pool-size` limit). Values are from 0 to
+MAX_INTEGER.
+
+a|
+link:#beaup[`max-pool-size`]
+
+
+ |zero or one |Specifies the maximum number of beans in the pool. Values
+are from 0 to MAX_INTEGER. Default is to the EJB container value or 60.
+
+a|
+link:#beauq[`max-wait-time-in-millis`]
+
+
+ |zero or one |Deprecated.
+
+a|
+link:#beavr[`pool-idle-timeout-in-seconds`]
+
+
+ |zero or one |Specifies the maximum time that a bean is allowed to be
+idle in the pool. After this time, the bean is removed. This is a hint
+to the server. Default time is 600 seconds (10 minutes).
+|===
+
+
+[[fvypf]][[GSDPG00358]][[example-2]]
+
+==== Example
+
+[source,xml]
+----
+<bean-pool>
+   <steady-pool-size>10</steady-pool-size>
+   <resize-quantity>10</resize-quantity>
+   <max-pool-size>100</max-pool-size>
+   <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
+</bean-pool>
+----
+
+[[beard]][[GSDPG00097]][[cache]]
+
+=== `cache`
+
+Configures caching for web application components.
+
+[[fvype]][[GSDPG00359]][[superelements-12]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[fvypl]][[GSDPG00360]][[subelements-12]]
+
+==== Subelements
+
+The following table describes subelements for the `cache` element.
+
+[[GSDPG855]][[sthref29]][[fvyrd]]
+
+
+Table C-11 `cache` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beare[`cache-helper`]
+
+
+ |zero or more |Specifies a custom class that implements the CacheHelper
+interface.
+
+a|
+link:#beasm[`default-helper`]
+
+
+ |zero or one |Allows you to change the properties of the default,
+built-in link:#beare[`cache-helper`] class.
+
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a cache property, which has a name and a
+value.
+
+a|
+link:#bearh[`cache-mapping`]
+
+
+ |zero or more |Maps a URL pattern or a servlet name to its cacheability
+constraints.
+|===
+
+
+[[fvypj]][[GSDPG00361]][[attributes-3]]
+
+==== Attributes
+
+The following table describes attributes for the `cache` element.
+
+[[GSDPG856]][[sthref30]][[fvyrt]]
+
+
+Table C-12 `cache` Attributes
+
+[width="172%",cols="14%,46%,40%",options="header",]
+|===
+|Attribute |Default |Description
+|`max-entries` |`4096` |(optional) Specifies the maximum number of
+entries the cache can contain. Must be a positive integer.
+
+|`timeout-in-seconds` |`30` |(optional) Specifies the maximum amount of
+time in seconds that an entry can remain in the cache after it is
+created or refreshed. Can be overridden by a link:#beayg[`timeout`]
+element.
+
+|`enabled` |`true` |(optional) Determines whether servlet and JSP
+caching is enabled.
+|===
+
+
+[[fvypx]][[GSDPG00362]][[properties-1]]
+
+==== Properties
+
+The following table describes properties for the `cache` element.
+
+[[GSDPG857]][[sthref31]][[fvyqr]]
+
+
+Table C-13 `cache` Properties
+
+[width="100%",cols="24%,23%,53%",options="header",]
+|===
+|Property |Default |Description
+|`cacheClassName` |`com.sun.appserv.web.cache.LruCache` |Specifies the
+fully qualified name of the class that implements the cache
+functionality. See link:#fvyrn[Cache Class Names] for possible values.
+
+|`MultiLRUSegmentSize` |`4096` |Specifies the number of entries in a
+segment of the cache table that should have its own LRU (least recently
+used) list. Applicable only if `cacheClassName` is set to
+`com.sun.appserv.web.cache.MultiLruCache`.
+
+|`MaxSize` |unlimited; `Long.MAX_VALUE` |Specifies an upper bound on the
+cache memory size in bytes (KB or MB units). Example values are `32 KB`
+or `2 MB`. Applicable only if `cacheClassName` is set to
+`com.sun.appserv.web.cache.BoundedMultiLruCache`.
+|===
+
+
+[[fvyrn]][[GSDPG00363]][[cache-class-names]]
+
+==== Cache Class Names
+
+The following table lists possible values of the `cacheClassName`
+property.
+
+[[GSDPG858]][[sthref32]][[fvyph]]
+
+
+Table C-14 `cacheClassName` Values
+
+[width="100%",cols="31%,69%",options="header",]
+|===
+|Value |Description
+|`com.sun.appserv.web.cache.LruCache` |A bounded cache with an LRU
+(least recently used) cache replacement policy.
+
+|`com.sun.appserv.web.cache.BaseCache` |An unbounded cache suitable if
+the maximum number of entries is known.
+
+|`com.sun.appserv.web.cache.MultiLruCache` |A cache suitable for a large
+number of entries (>4096). Uses the `MultiLRUSegmentSize` property.
+
+|`com.sun.appserv.web.cache.BoundedMultiLruCache` |A cache suitable for
+limiting the cache size by memory rather than number of entries. Uses
+the `MaxSize` property.
+|===
+
+
+[[beare]][[GSDPG00098]][[cache-helper]]
+
+=== `cache-helper`
+
+Specifies a class that implements the
+com.sun.appserv.web.cache.CacheHelper interface.
+
+[[fvyqy]][[GSDPG00364]][[superelements-13]]
+
+==== Superelements
+
+link:#beard[`cache`] (`glassfish-web.xml`)
+
+[[fvyru]][[GSDPG00365]][[subelements-13]]
+
+==== Subelements
+
+The following table describes subelements for the `cache-helper`
+element.
+
+[[GSDPG859]][[sthref33]][[fvyql]]
+
+
+Table C-15 `cache-helper` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyqu]][[GSDPG00366]][[attributes-4]]
+
+==== Attributes
+
+The following table describes attributes for the `cache-helper` element.
+
+[[GSDPG860]][[sthref34]][[fvyrp]]
+
+
+Table C-16 `cache-helper` Attributes
+
+[width="181%",cols="8%,49%,43%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |`default` |Specifies a unique name for the helper class, which
+is referenced in the link:#bearh[`cache-mapping`] element.
+
+|`class-name` |none |Specifies the fully qualified class name of the
+cache helper, which must implement the com.sun.appserv.web.CacheHelper
+interface.
+|===
+
+
+[[bearf]][[GSDPG00099]][[cache-helper-ref]]
+
+=== `cache-helper-ref`
+
+Specifies the `name` of the link:#beare[`cache-helper`] used by the
+parent link:#bearh[`cache-mapping`] element.
+
+[[fvypq]][[GSDPG00367]][[superelements-14]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvyqs]][[GSDPG00368]][[subelements-14]]
+
+==== Subelements
+
+none - contains data
+
+[[bearg]][[GSDPG00100]][[cache-idle-timeout-in-seconds]]
+
+=== `cache-idle-timeout-in-seconds`
+
+Specifies the maximum time that a bean can remain idle in the cache.
+After this amount of time, the container can passivate this bean. A
+value of `0` specifies that beans never become candidates for
+passivation. Default is 600.
+
+Applies to stateful session beans and entity beans.
+
+[[fvyqc]][[GSDPG00369]][[superelements-15]]
+
+==== Superelements
+
+link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
+
+[[fvyqo]][[GSDPG00370]][[subelements-15]]
+
+==== Subelements
+
+none - contains data
+
+[[bearh]][[GSDPG00101]][[cache-mapping]]
+
+=== `cache-mapping`
+
+Maps a URL pattern or a servlet name to its cacheability constraints.
+
+[[fvyqi]][[GSDPG00371]][[superelements-16]]
+
+==== Superelements
+
+link:#beard[`cache`] (`glassfish-web.xml`)
+
+[[fvyqn]][[GSDPG00372]][[subelements-16]]
+
+==== Subelements
+
+The following table describes subelements for the `cache-mapping`
+element.
+
+[[GSDPG861]][[sthref35]][[fvypt]]
+
+
+Table C-17 `cache-mapping` Subelements
+
+[width="100%",cols="20%,30%,50%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxo[`servlet-name`]
+
+
+ |requires one `servlet-name` or `url-pattern` |Contains the name of a
+servlet.
+
+a|
+link:#beayl[`url-pattern`]
+
+
+ |requires one `servlet-name` or `url-pattern` |Contains a servlet URL
+pattern for which caching is enabled.
+
+a|
+link:#bearf[`cache-helper-ref`]
+
+
+ |required if `dispatcher`, `timeout`, `refresh-field`, `http-method`,
+`key-field`, and `constraint-field` are not used |Contains the `name` of
+the link:#beare[`cache-helper`] used by the parent `cache-mapping`
+element.
+
+a|
+link:#beasp[`dispatcher`]
+
+
+ |zero or one if `cache-helper-ref` is not used |Contains a
+comma-separated list of `RequestDispatcher` methods for which caching is
+enabled.
+
+a|
+link:#beayg[`timeout`]
+
+
+ |zero or one if `cache-helper-ref` is not used |Contains the
+link:#bearh[`cache-mapping`] specific maximum amount of time in seconds
+that an entry can remain in the cache after it is created or refreshed.
+
+a|
+link:#beawj[`refresh-field`]
+
+
+ |zero or one if `cache-helper-ref` is not used |Specifies a field that
+gives the application component a programmatic way to refresh a cached
+entry.
+
+a|
+link:#beatk[`http-method`]
+
+
+ |zero or more if `cache-helper-ref` is not used |Contains an HTTP
+method that is eligible for caching.
+
+a|
+link:#beatz[`key-field`]
+
+
+ |zero or more if `cache-helper-ref` is not used |Specifies a component
+of the key used to look up and extract cache entries.
+
+a|
+link:#bease[`constraint-field`]
+
+
+ |zero or more if `cache-helper-ref` is not used |Specifies a
+cacheability constraint for the given `url-pattern` or `servlet-name`.
+|===
+
+
+[[beari]][[GSDPG00102]][[call-property]]
+
+=== `call-property`
+
+Specifies JAX-RPC property values that can be set on a
+`javax.xml.rpc.Call` object before it is returned to the web service
+client. The property names can be any properties supported by the
+JAX-RPC `Call` implementation.
+
+[[fvyri]][[GSDPG00373]][[superelements-17]]
+
+==== Superelements
+
+link:#beavt[`port-info`], link:#beaxk[`service-ref`]
+(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvyqp]][[GSDPG00374]][[subelements-17]]
+
+==== Subelements
+
+The following table describes subelements for the `call-property`
+element.
+
+[[GSDPG862]][[sthref36]][[fvyrw]]
+
+
+Table C-18 `call-property` subelements
+
+[width="100%",cols="24%,12%,64%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavf[`name`]
+
+
+ |only one |Specifies the name of the entity.
+a|
+link:#beayo[`value`]
+
+
+ |only one |Specifies the value of the entity.
+|===
+
+
+[[bearj]][[GSDPG00103]][[caller-propagation]]
+
+=== `caller-propagation`
+
+Specifies whether the target accepts propagated caller identities. The
+values are `NONE`, `SUPPORTED`, or `REQUIRED`.
+
+[[fvyqj]][[GSDPG00375]][[superelements-18]]
+
+==== Superelements
+
+link:#beaxb[`sas-context`] (`glassfish-ejb-jar.xml`)
+
+[[fvyrb]][[GSDPG00376]][[subelements-18]]
+
+==== Subelements
+
+none - contains data
+
+[[beark]][[GSDPG00104]][[cert-db]]
+
+=== `cert-db`
+
+Not implemented. Included for backward compatibility only. Attribute
+values are ignored.
+
+[[fvyqa]][[GSDPG00377]][[superelements-19]]
+
+==== Superelements
+
+link:#beaxf[`security`] (`sun-acc.xml`)
+
+[[fvyre]][[GSDPG00378]][[subelements-19]]
+
+==== Subelements
+
+none
+
+[[fvyrr]][[GSDPG00379]][[attributes-5]]
+
+==== Attributes
+
+The following table describes attributes for the `cert-db` element.
+
+[[GSDPG863]][[sthref37]][[fvypo]]
+
+
+Table C-19 `cert-db` attributes
+
+[width="100%",cols="14%,11%,75%",options="header",]
+|===
+|Attribute |Default |Description
+|`path` |none |Specifies the absolute path of the certificate database.
+
+|`password` |none |Specifies the password to access the certificate
+database.
+|===
+
+
+[[bearl]][[GSDPG00105]][[check-all-at-commit]]
+
+=== `check-all-at-commit`
+
+This element is not implemented. Do not use.
+
+[[fvyrj]][[GSDPG00380]][[superelements-20]]
+
+==== Superelements
+
+link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
+
+[[bearm]][[GSDPG00106]][[check-modified-at-commit]]
+
+=== `check-modified-at-commit`
+
+Checks concurrent modification of fields in modified beans at commit
+time.
+
+[[fvyqf]][[GSDPG00381]][[superelements-21]]
+
+==== Superelements
+
+link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
+
+[[fvyqz]][[GSDPG00382]][[subelements-20]]
+
+==== Subelements
+
+none - element is present or absent
+
+[[bearn]][[GSDPG00107]][[check-version-of-accessed-instances]]
+
+=== `check-version-of-accessed-instances`
+
+Checks the version column of the modified beans.
+
+Version consistency allows the bean state to be cached between
+transactions instead of read from a database. The bean state is verified
+by primary key and version column values. This occurs during a custom
+query (for dirty instances only) or commit (for both clean and dirty
+instances).
+
+The version column must be a numeric type, and must be in the primary
+table. You must provide appropriate update triggers for this column.
+
+[[fvyqt]][[GSDPG00383]][[superelements-22]]
+
+==== Superelements
+
+link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
+
+[[fvypp]][[GSDPG00384]][[subelements-21]]
+
+==== Subelements
+
+The following table describes subelements for the
+`check-version-of-accessed-instances` element.
+
+[[GSDPG864]][[sthref38]][[fvyrq]]
+
+
+Table C-20 `check-version-of-accessed-instances` Subelements
+
+[width="100%",cols="33%,11%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#bearz[`column-name`]
+
+
+ |only one |Specifies the name of the version column.
+|===
+
+
+[[bearo]][[GSDPG00108]][[checkpoint-at-end-of-method]]
+
+=== `checkpoint-at-end-of-method`
+
+Specifies that the stateful session bean state is checkpointed, or
+persisted, after the specified methods are executed. The
+`availability-enabled` attribute of the parent link:#beass[`ejb`]
+element must be set to `true`.
+
+[[fvypr]][[GSDPG00385]][[superelements-23]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyqe]][[GSDPG00386]][[subelements-22]]
+
+==== Subelements
+
+The following table describes subelements for the
+`checkpoint-at-end-of-method` element.
+
+[[GSDPG865]][[sthref39]][[fvyqx]]
+
+
+Table C-21 `checkpoint-at-end-of-method` Subelements
+
+[width="100%",cols="25%,13%,62%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beauz[`method`]
+
+
+ |one or more |Specifies a bean method.
+|===
+
+
+[[bearp]][[GSDPG00109]][[checkpointed-methods]]
+
+=== `checkpointed-methods`
+
+Deprecated. Supported for backward compatibility. Use
+link:#bearo[`checkpoint-at-end-of-method`] instead.
+
+[[fvyrk]][[GSDPG00387]][[superelements-24]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[bearq]][[GSDPG00110]][[class-loader]]
+
+=== `class-loader`
+
+Configures the class loader for the web module.
+
+[[fvyrv]][[GSDPG00388]][[superelements-25]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[fvyrh]][[GSDPG00389]][[subelements-23]]
+
+==== Subelements
+
+The following table describes subelements for the `class-loader`
+element.
+
+[[GSDPG866]][[sthref40]][[fvyqg]]
+
+
+Table C-22 `class-loader` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyrl]][[GSDPG00390]][[attributes-6]]
+
+==== Attributes
+
+The following table describes attributes for the `class-loader` element.
+
+[[GSDPG867]][[sthref41]][[fvyrs]]
+
+
+Table C-23 `class-loader` Attributes
+
+[width="172%",cols="17%,46%,37%",options="header",]
+|===
+|Attribute |Default |Description
+|`extra-class-path` |null a|
+(optional) Specifies a colon or semicolon separated list of additional
+classpaths for this web module. Paths can be absolute or relative to the
+web module's root, for example:
+
+[source]
+----
+extra-class-path="WEB-INF/lib/extra/extra.jar"
+----
+
+|`delegate` |`true` a|
+(optional) If `true`, the web module follows the standard class loader
+delegation model and delegates to its parent class loader first before
+looking in the local class loader. You must set this to `true` for a web
+module that accesses EJB components or that acts as a web service client
+or endpoint.
+
+If `false`, the web module follows the delegation model specified in the
+Servlet specification and looks in its class loader before looking in
+the parent class loader. It's safe to set this to `false` only for a web
+module that does not interact with any other modules.
+
+For a number of packages, including `java.*` and `javax.*`, symbol
+resolution is always delegated to the parent class loader regardless of
+the delegate setting. This prevents applications from overriding core
+Java runtime classes or changing the API versions of specifications that
+are part of the Jakarta EE platform.
+
+|`dynamic-reload-interval` | |(optional) Not implemented. Included
+for backward compatibility with previous Oracle Web Server versions.
+|===
+
+
+
+[NOTE]
+====
+If the `delegate` attribute is set to `false`, the class loader
+delegation behavior complies with the Servlet 2.4 specification, section
+9.7.2. If set to its default value of `true`, classes and resources
+residing in container-wide library JAR files are loaded in preference to
+classes and resources packaged within the WAR file.
+
+Portable programs that use this element should not be packaged with any
+classes or interfaces that are a part of the Jakarta EE specification. The
+behavior of a program that includes such classes or interfaces in its
+WAR file is undefined.
+====
+
+
+[[gcfko]][[GSDPG00391]][[properties-2]]
+
+==== Properties
+
+The following table describes properties for the `class-loader` element.
+
+[[GSDPG868]][[sthref42]][[gcfjs]]
+
+
+Table C-24 `class-loader` Properties
+
+[width="181%",cols="15%,49%,36%",options="header",]
+|===
+|Property |Default |Description
+|`ignoreHiddenJarFiles` |`false` |If `true`, specifies that all JAR and
+ZIP files in the `WEB-INF/lib` directory that start with a period (`.`)
+are ignored by the class loader.
+|===
+
+
+[[bearr]][[GSDPG00111]][[client-container]]
+
+=== `client-container`
+
+Defines the {productName} specific configuration for the application
+client container. This is the root element; there can only be one
+`client-container` element in a `sun-acc.xml` file. See
+link:dd-files.html#beaqp[The sun-acc.xml File].
+
+[[fvypv]][[GSDPG00392]][[superelements-26]]
+
+==== Superelements
+
+none
+
+[[fvypk]][[GSDPG00393]][[subelements-24]]
+
+==== Subelements
+
+The following table describes subelements for the `client-container`
+element.
+
+[[GSDPG869]][[sthref43]][[fvypm]]
+
+
+Table C-25 `client-container` Subelements
+
+[width="100%",cols="28%,12%,60%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaye[`target-server`]
+
+
+ |one or more a|
+Specifies the IIOP listener for the target server. Also specifies IIOP
+endpoints used for load balancing. If the {productName} instance on
+which the application client is deployed participates in a cluster,
+{productName} finds all currently active IIOP endpoints in the
+cluster automatically. However, a client should have at least two
+endpoints specified for bootstrapping purposes, in case one of the
+endpoints has failed.
+
+A listener or endpoint is in the form host`:`port, where the host is an
+IP address or host name, and the port specifies the port number.
+
+a|
+link:#beaqy[`auth-realm`]
+
+
+ |zero or one |Specifies the optional configuration for JAAS
+authentication realm.
+
+a|
+link:#bears[`client-credential`]
+
+
+ |zero or one |Specifies the default client credential that is sent to
+the server.
+
+a|
+link:#beauj[`log-service`]
+
+
+ |zero or one |Specifies the default log file and the severity level of
+the message.
+
+a|
+link:#beauy[`message-security-config`]
+
+
+ |zero or more |Specifies configurations for message security providers.
+
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyqq]][[GSDPG00394]][[attributes-7]]
+
+==== Attributes
+
+The following table describes attributes for the `client-container`
+element.
+
+[[GSDPG870]][[sthref44]][[fvyqb]]
+
+
+Table C-26 `client-container` Attributes
+
+[width="172%",cols="11%,46%,43%",options="header",]
+|===
+|Attribute |Default |Description
+|`send-password` |`true` |If `true`, specifies that client
+authentication credentials must be sent to the server. Without
+authentication credentials, all access to protected EJB components
+results in exceptions.
+|===
+
+
+[[fvyrm]][[GSDPG00395]][[properties-3]]
+
+==== Properties
+
+The following table describes properties for the `client-container`
+element.
+
+[[GSDPG871]][[sthref45]][[fvyqm]]
+
+
+Table C-27 `client-container` Properties
+
+[width="172%",cols="22%,46%,32%",options="header",]
+|===
+|Property |Default |Description
+|`com.sun.appserv.iiop.endpoints` |none |Specifies a comma-separated
+list of one or more IIOP endpoints used for load balancing. An IIOP
+endpoint is in the form host`:`port, where the host is an IP address or
+host name, and the port specifies the port number. Deprecated. Use
+link:#beaye[`target-server`] elements instead.
+|===
+
+
+[[bears]][[GSDPG00112]][[client-credential]]
+
+=== `client-credential`
+
+Default client credentials that are sent to the server. If this element
+is present, the credentials are automatically sent to the server,
+without prompting the user for the user name and password on the client
+side.
+
+[[fvyqk]][[GSDPG00396]][[superelements-27]]
+
+==== Superelements
+
+link:#bearr[`client-container`] (`sun-acc.xml`)
+
+[[fvyqd]][[GSDPG00397]][[subelements-25]]
+
+==== Subelements
+
+The following table describes subelements for the `client-credential`
+element.
+
+[[GSDPG872]][[sthref46]][[fvyro]]
+
+
+Table C-28 `client-credential` subelement
+
+[width="100%",cols="37%,14%,49%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyqv]][[GSDPG00398]][[attributes-8]]
+
+==== Attributes
+
+The following table describes attributes for the `client-credential`
+element.
+
+[[GSDPG873]][[sthref47]][[fvypi]]
+
+
+Table C-29 `client-credential` attributes
+
+[width="100%",cols="12%,14%,74%",options="header",]
+|===
+|Attribute |Default |Description
+|`user-name` |none |The user name used to authenticate the Application
+client container.
+
+|`password` |none |The password used to authenticate the Application
+client container.
+
+|`realm` |default realm for the domain |(optional) The realm (specified
+by name) where credentials are to be resolved.
+|===
+
+
+[[beart]][[GSDPG00113]][[cmp]]
+
+`cmp`
+~~~~~
+
+Describes runtime information for a CMP entity bean object for EJB 1.1
+and EJB 2.1 beans.
+
+[[fvyrg]][[GSDPG00399]][[superelements-28]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyqw]][[GSDPG00400]][[subelements-26]]
+
+==== Subelements
+
+The following table describes subelements for the `cmp` element.
+
+[[GSDPG874]][[sthref48]][[fvypw]]
+
+
+Table C-30 `cmp` Subelements
+
+[width="100%",cols="22%,11%,67%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaun[`mapping-properties`]
+
+
+ |zero or one |This element is not implemented.
+
+a|
+link:#beatq[`is-one-one-cmp`]
+
+
+ |zero or one |This element is not implemented.
+
+a|
+link:#beavk[`one-one-finders`]
+
+
+ |zero or one |Describes the finders for CMP 1.1 beans.
+
+a|
+link:#beavu[`prefetch-disabled`]
+
+
+ |zero or one |Disables prefetching of entity bean states for the
+specified query methods.
+|===
+
+
+[[bearu]][[GSDPG00114]][[cmp-field-mapping]]
+
+=== `cmp-field-mapping`
+
+The `cmp-field-mapping` element associates a field with one or more
+columns to which it maps. The column can be from a bean's primary table
+or any defined secondary table. If a field is mapped to multiple
+columns, the column listed first in this element is used as a source for
+getting the value from the database. The columns are updated in the
+order they appear. There is one `cmp-field-mapping` element for each
+`cmp-field` element defined in the `ejb-jar.xml` file.
+
+[[fvypy]][[GSDPG00401]][[superelements-29]]
+
+==== Superelements
+
+link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvyra]][[GSDPG00402]][[subelements-27]]
+
+==== Subelements
+
+The following table describes subelements for the `cmp-field-mapping`
+element.
+
+[[GSDPG875]][[sthref49]][[fvyqh]]
+
+
+Table C-31 `cmp-field-mapping` Subelements
+
+[width="100%",cols="15%,12%,73%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beatd[`field-name`]
+
+
+ |only one |Specifies the Java identifier of a field. This identifier
+must match the value of the `field-name` subelement of the `cmp-field`
+that is being mapped.
+
+a|
+link:#bearz[`column-name`]
+
+
+ |one or more |Specifies the name of a column from the primary table, or
+the qualified table name (TABLE.COLUMN) of a column from a secondary or
+related table.
+
+a|
+link:#beawh[`read-only`]
+
+
+ |zero or one |Specifies that a field is read-only.
+
+a|
+link:#beatc[`fetched-with`]
+
+
+ |zero or one |Specifies the fetch group for this CMP field's mapping.
+|===
+
+
+[[bearv]][[GSDPG00115]][[cmp-resource]]
+
+=== `cmp-resource`
+
+Specifies the database to be used for storing CMP beans. For more
+information about this element, see "link:application-development-guide/container_managed-persistence.html#GSDVG00154[Configuring the
+CMP Resource]" in {productName} Application
+Development Guide.
+
+[[fvypz]][[GSDPG00403]][[superelements-30]]
+
+==== Superelements
+
+link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
+
+[[fvyrf]][[GSDPG00404]][[subelements-28]]
+
+==== Subelements
+
+The following table describes subelements for the `cmp-resource`
+element.
+
+[[GSDPG876]][[sthref50]][[fvyps]]
+
+
+Table C-32 `cmp-resource` Subelements
+
+[width="100%",cols="33%,12%,55%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beatw[`jndi-name`]
+
+
+ |only one |Specifies the absolute `jndi-name` of a JDBC resource.
+
+a|
+link:#beasn[`default-resource-principal`]
+
+
+ |zero or one |Specifies the default runtime bindings of a resource
+reference.
+
+a|
+link:#beavy[`property` (with subelements)]
+
+
+ |zero or more |Specifies a property name and value. Used to configure
+`PersistenceManagerFactory` properties.
+
+a|
+link:#beasi[`create-tables-at-deploy`]
+
+
+ |zero or one |If `true`, specifies that database tables are created for
+beans that are automatically mapped by the EJB container.
+
+a|
+link:#beasq[`drop-tables-at-undeploy`]
+
+
+ |zero or one |If `true`, specifies that database tables that were
+automatically created when the bean(s) were last deployed are dropped
+when the bean(s) are undeployed.
+
+a|
+link:#beask[`database-vendor-name`]
+
+
+ |zero or one |Specifies the name of the database vendor for which
+tables can be created.
+
+a|
+link:#beaxd[`schema-generator-properties`]
+
+
+ |zero or one |Specifies field-specific type mappings and allows you to
+set the `use-unique-table-names` property.
+|===
+
+
+[[bearw]][[GSDPG00116]][[cmr-field-mapping]]
+
+=== `cmr-field-mapping`
+
+A container-managed relationship field has a name and one or more column
+pairs that define the relationship. There is one `cmr-field-mapping`
+element for each `cmr-field` element in the `ejb-jar.xml` file. A
+relationship can also participate in a fetch group.
+
+[[fvyrc]][[GSDPG00405]][[superelements-31]]
+
+==== Superelements
+
+link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvypu]][[GSDPG00406]][[subelements-29]]
+
+==== Subelements
+
+The following table describes subelements for the `cmr-field-mapping`
+element.
+
+[[GSDPG877]][[sthref51]][[fvypn]]
+
+
+Table C-33 `cmr-field-mapping` Subelements
+
+[width="100%",cols="18%,12%,70%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#bearx[`cmr-field-name`]
+
+
+ |only one |Specifies the Java identifier of a field. Must match the
+value of the `cmr-field-name` subelement of the `cmr-field` that is
+being mapped.
+
+a|
+link:#beasa[`column-pair`]
+
+
+ |one or more |Specifies the pair of columns that determine the
+relationship between two database tables.
+
+a|
+link:#beatc[`fetched-with`]
+
+
+ |zero or one |Specifies the fetch group for this CMR field's
+relationship.
+|===
+
+
+[[bearx]][[GSDPG00117]][[cmr-field-name]]
+
+=== `cmr-field-name`
+
+Specifies the Java identifier of a field. Must match the value of the
+`cmr-field-name` subelement of the `cmr-field` element in the
+`ejb-jar.xml` file.
+
+[[fvyrx]][[GSDPG00407]][[superelements-32]]
+
+==== Superelements
+
+link:#bearw[`cmr-field-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvyry]][[GSDPG00408]][[subelements-30]]
+
+==== Subelements
+
+none - contains data
+
+[[beary]][[GSDPG00118]][[cmt-timeout-in-seconds]]
+
+=== `cmt-timeout-in-seconds`
+
+Overrides the Transaction Timeout setting of the Transaction Service for
+an individual bean. The default value, `0`, specifies that the default
+Transaction Service timeout is used. If positive, this value is used for
+all methods in the bean that start a new container-managed transaction.
+This value is not used if the bean joins a client transaction.
+
+[[fvysf]][[GSDPG00409]][[superelements-33]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvysc]][[GSDPG00410]][[subelements-31]]
+
+==== Subelements
+
+none - contains data
+
+[[bearz]][[GSDPG00119]][[column-name]]
+
+=== `column-name`
+
+Specifies the name of a column from the primary table, or the qualified
+table name (TABLE.COLUMN) of a column from a secondary or related table.
+
+[[fvyse]][[GSDPG00411]][[superelements-34]]
+
+==== Superelements
+
+link:#bearn[`check-version-of-accessed-instances`],
+link:#bearu[`cmp-field-mapping`], link:#beasa[`column-pair`]
+(`sun-cmp-mappings.xml`)
+
+[[fvysb]][[GSDPG00412]][[subelements-32]]
+
+==== Subelements
+
+none - contains data
+
+[[beasa]][[GSDPG00120]][[column-pair]]
+
+=== `column-pair`
+
+Specifies the pair of columns that determine the relationship between
+two database tables. Each `column-pair` must contain exactly two
+`column-name` subelements, which specify the column's names. The first
+`column-name` element names the table that this bean is mapped to, and
+the second `column-name` names the column in the related table.
+
+[[fvysa]][[GSDPG00413]][[superelements-35]]
+
+==== Superelements
+
+link:#bearw[`cmr-field-mapping`], link:#beaxe[`secondary-table`]
+(`sun-cmp-mappings.xml`)
+
+[[fvysg]][[GSDPG00414]][[subelements-33]]
+
+==== Subelements
+
+The following table describes subelements for the `column-pair` element.
+
+[[GSDPG878]][[sthref52]][[fvysh]]
+
+
+Table C-34 `column-pair` Subelements
+
+[width="100%",cols="14%,10%,76%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#bearz[`column-name`]
+
+
+ |two |Specifies the name of a column from the primary table, or the
+qualified table name (TABLE.COLUMN) of a column from a secondary or
+related table.
+|===
+
+
+[[beasb]][[GSDPG00121]][[commit-option]]
+
+=== `commit-option`
+
+Specifies the commit option used on transaction completion. Valid values
+for {productName} are `B` or `C`. Default value is `B`. Applies to
+entity beans.
+
+
+[NOTE]
+====
+Commit option A is not supported for this {productName} release.
+====
+
+
+[[fvyrz]][[GSDPG00415]][[superelements-36]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvysd]][[GSDPG00416]][[subelements-34]]
+
+==== Subelements
+
+none - contains data
+
+[[gjjak]][[GSDPG00122]][[compatibility]]
+
+=== `compatibility`
+
+Specifies the {productName} release with which to be backward
+compatible in terms of JAR visibility requirements for applications. The
+current allowed value is `v2`, which refers to {productName} version
+2 or {productName} version 9.1 or 9.1.1. Starting in Jakarta EE 6, the
+Jakarta EE specification imposes stricter requirements than Jakarta EE 5 did
+on which JAR files can be visible to various modules within an EAR file.
+Setting this element to `v2` removes these Jakarta EE 6 and later
+restrictions.
+
+[[gjjaf]][[GSDPG00417]][[superelements-37]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
+link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
+
+[[gjjag]][[GSDPG00418]][[subelements-35]]
+
+==== Subelements
+
+none - contains data
+
+[[beasc]][[GSDPG00123]][[confidentiality]]
+
+=== `confidentiality`
+
+Specifies if the target supports privacy-protected messages. The values
+are `NONE`, `SUPPORTED`, or `REQUIRED`.
+
+[[fvysi]][[GSDPG00419]][[superelements-38]]
+
+==== Superelements
+
+link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvysk]][[GSDPG00420]][[subelements-36]]
+
+==== Subelements
+
+none - contains data
+
+[[giygu]][[GSDPG00124]][[connector-connection-pool]]
+
+=== `connector-connection-pool`
+
+Defines a connector connection pool.
+
+[[GSDPG879]][[sthref53]]
+
+
+[[superelements-39]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG880]][[sthref54]]
+
+
+[[subelements-37]]
+==== Subelements
+
+The following table describes subelements for the
+`connector-connection-pool` element.
+
+[[GSDPG881]][[sthref55]][[sthref56]]
+
+
+Table C-35 `connector-connection-pool` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+
+a|
+link:#giyhy[`security-map`]
+
+
+ |zero or more |Maps the principal received during servlet or EJB
+authentication to the credentials accepted by the EIS.
+
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG882]][[sthref57]]
+
+
+[[attributes-9]]
+==== Attributes
+
+The following table describes attributes for the
+`connector-connection-pool` element. Changing the following attributes
+requires a server restart or the redeployment or disabling and
+re-enabling of applications that refer to the resource:
+`resource-adapter-name`, `connection-definition-name`,
+`transaction-support`, `associate-with-thread`,
+`lazy-connection-association`, and `lazy-connection-enlistment`.
+
+[[GSDPG883]][[sthref58]][[sthref59]]
+
+
+Table C-36 `connector-connection-pool` Attributes
+
+[width="172%",cols="25%,46%,29%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the name of the connection pool. A
+link:#giyhv[`connector-resource`] element's `pool-name` attribute refers
+to this `name`.
+
+|`resource-adapter-name` |none |Specifies the name of the deployed
+connector module or application. If no name is specified during
+deployment, the name of the `.rar` file is used. If the resource adapter
+is embedded in an application, then it is app_name``#``rar_name.
+
+|`connection-definition-name` |none |Specifies a unique name,
+identifying a resource adapter's `connection-definition` element in the
+`ra.xml` file. This is usually the `connectionfactory-interface` of the
+`connection-definition` element.
+
+|`steady-pool-size` |`8` |(optional) Specifies the initial and minimum
+number of connections maintained in the pool.
+
+|`max-pool-size` |`32` |(optional) Specifies the maximum number of
+connections that can be created to satisfy client requests.
+
+|`max-wait-time-in-millis` |`60000` |(optional) Specifies the amount
+of time, in milliseconds, that the caller is willing to wait for a
+connection. If `0`, the caller is blocked indefinitely until a resource
+is available or an error occurs.
+
+|`pool-resize-quantity` |`2` a|
+(optional) Specifies the number of idle connections to be destroyed if
+the existing number of connections is above the `steady-pool-size`
+(subject to the `max-pool-size` limit).
+
+This is enforced periodically at the `idle-timeout-in-seconds` interval.
+An idle connection is one that has not been used for a period of
+`idle-timeout-in-seconds`. When the pool size reaches
+`steady-pool-size`, connection removal stops.
+
+|`idle-timeout-in-seconds` |`300` |(optional) Specifies the maximum
+time that a connection can remain idle in the pool. After this amount of
+time, the pool can close this connection.
+
+|`fail-all-connections` |`false` |(optional) If `true`, closes all
+connections in the pool if a single validation check fails.
+
+|``transaction``-support` |none a|
+(optional) Specifies the transaction support for this connection pool.
+Overrides the transaction support defined in the resource adapter in a
+downward compatible way: supports a transaction level lower than or
+equal to the resource adapter's, but not higher. Allowed values in
+descending order are:
+
+* `XATransaction` - Supports distributed transactions.
+* `LocalTransaction` - Supports local transactions only.
+* `NoTransaction` - No transaction support.
+
+|`is-connection-validation-required` |`false` |(optional) Specifies
+whether connections have to be validated before being given to the
+application. If a resource's validation fails, it is destroyed, and a
+new resource is created and returned.
+
+|`validate-atmost-once-period-in-seconds` |`0` |Specifies the time
+interval within which a connection is validated at most once. Minimizes
+the number of validation calls. A value of zero allows unlimited
+validation calls.
+
+|`connection-leak-timeout-in-seconds` |`0` |Detects potential
+connection leaks by the application. A connection that is not returned
+back to the pool by the application within the specified period is
+assumed to be potentially leaking, and a stack trace of the caller is
+logged. A zero value disables leak detection. A nonzero value enables
+leak tracing.
+
+|`connection-leak-reclaim` |`false` |If `true`, the pool will reclaim
+a connection after `connection-leak-timeout-in-seconds` occurs.
+
+|`connection-creation-retry-attempts` |`0` |Specifies the number of
+attempts to create a new connection.
+
+|`connection-creation-retry-interval-in-seconds` |`10` |Specifies
+the time interval between attempts to create a connection when
+`connection-creation-retry-attempts` is greater than `0`.
+
+|`lazy-connection-enlistment` |`false` |If `true`, a connection is not
+enlisted in a transaction until it is used. If `false`, any connection
+object available to a transaction is enlisted in the transaction.
+
+|`lazy-connection-association` |`false` |If `true`, a physical
+connection is not associated with a logical connection until it is used.
+If `false`, a physical connection is associated with a logical
+connection even before it is used.
+
+|`associate-with-thread` |`false` a|
+If `true`, allows connections to be saved as `ThreadLocal` in the
+calling thread. Connections get reclaimed only when the calling thread
+dies or when the calling thread is not in use and the pool has run out
+of connections. If `false`, the thread must obtain a connection from the
+pool each time the thread requires a connection.
+
+This attribute associates connections with a thread such that when the
+same thread is in need of connections, it can reuse the connections
+already associated with that thread. In this case, the overhead of
+getting connections from the pool is avoided. However, when this value
+is set to `true`, you should verify that the value of the
+`max-pool-size` attribute is comparable to the `max-thread-pool-size`
+attribute of the associated thread pool. If the `max-thread-pool-size`
+value is much higher than the `max-pool-size` value, a lot of time is
+spent associating connections with a new thread after dissociating them
+from an older one. Use this attribute in cases where the thread pool
+should reuse connections to avoid this overhead.
+
+| | |
+
+|`match-connections` |`true` |If `true`, enables connection matching.
+You can set to `false` if connections are homogeneous.
+
+|`max-connection-usage-count` |`0` |Specifies the number of times a
+connections is reused by the pool, after which it is closed. A zero
+value disables this feature.
+
+|`ping` |`false` |(optional) Specifies whether to ping the pool during
+pool creation or reconfiguration to identify and warn of any erroneous
+attribute values.
+
+|`pooling` |`true` |(optional) If `false`, disables connection pooling.
+|===
+
+
+[[GSDPG884]][[sthref60]]
+
+
+[[properties-4]]
+==== Properties
+
+Most properties of the `connector-connection-pool` element are the names
+of setter methods of the `managedconnectionfactory-class` element in the
+`ra.xml` file. Properties of the `connector-connection-pool` element
+override the `ManagedConnectionFactory` JavaBean configuration settings.
+
+All but the last four properties in the following table are
+`connector-connection-pool` properties of `jmsra`, the resource adapter
+used to communicate with the Open Message Queue software. For a complete
+list of the available properties (called administered object attributes
+in the Message Queue software), see the link:../openmq/mq-admin-guide.html#GMADG[Open Message Queue
+Administration Guide].
+
+Changes to `connector-connection-pool` properties require a server
+restart.
+
+[[GSDPG885]][[sthref61]][[sthref62]]
+
+
+Table C-37 `connector-connection-pool` Properties
+
+[width="100%",cols="26%,11%,63%",options="header",]
+|===
+|Property |Default |Description
+|`AddressList` |none |Specifies a list of host/port combinations of the
+Message Queue software. For JMS resources of the Type
+`jakarta.jms.TopicConnectionFactory` or
+`jakarta.jms.QueueConnectionFactory`.
+
+|`ClientId` |none a|
+Specifies the JMS Client Identifier to be associated with a `Connection`
+created using the `createTopicConnection` method of the
+`TopicConnectionFactory` class. For JMS resources of the Type
+`jakarta.jms.TopicConnectionFactory` .
+
+Durable subscription names are unique and only valid within the scope of
+a client identifier. To create or reactivate a durable subscriber, the
+connection must have a valid client identifier. The JMS specification
+ensures that client identifiers are unique and that a given client
+identifier is allowed to be used by only one active connection at a
+time.
+
+|`UserName` |`guest` |Specifies the user name for connecting to the
+Message Queue software. For JMS resources of the Type
+`jakarta.jms.TopicConnectionFactory` or
+`jakarta.jms.QueueConnectionFactory`.
+
+|`Password` |`guest` |Specifies the password for connecting to the
+Message Queue software. For JMS resources of the Type
+`jakarta.jms.TopicConnectionFactory` or
+`jakarta.jms.QueueConnectionFactory`.
+
+|`ReconnectAttempts` |`6` |Specifies the number of attempts to connect
+(or reconnect) for each address in the `imqAddressList` before the
+client runtime moves on to try the next address in the list. A value of
+`-1` indicates that the number of reconnect attempts is unlimited (the
+client runtime attempts to connect to the first address until it
+succeeds).
+
+|`ReconnectInterval` |`30000` |Specifies the interval between reconnect
+attempts in milliseconds. This applies to attempts on each address in
+the `imqAddressList` and on successive addresses in the list. If too
+short, this time interval does not give a broker time to recover. If too
+long, the reconnect might represent an unacceptable delay.
+
+|`ReconnectEnabled` |`false` |If `true`, specifies that the client
+runtime attempts to reconnect to a message server (or the list of
+addresses in `imqAddressList`) when a connection is lost.
+
+|`AddressListBehavior` |`priority` |Specifies whether connection
+attempts are in the order of addresses in the `imqAddressList` attribute
+(`priority`) or in a random order (`random`). If many clients are
+attempting a connection using the same connection factory, use a random
+order to prevent them from all being connected to the same address.
+
+|`AddressListIterations` |`-1` |Specifies the number of times the client
+runtime iterates through the `imqAddressList` in an effort to establish
+(or reestablish) a connection. A value of `-1` indicates that the number
+of attempts is unlimited.
+|===
+
+
+
+[NOTE]
+====
+All JMS administered object resource properties that worked with version
+7 of the {productName} are supported for backward compatibility.
+====
+
+
+[[giyhv]][[GSDPG00125]][[connector-resource]]
+
+=== `connector-resource`
+
+Defines the connection factory object of a specific connection
+definition in a connector (resource adapter).
+
+[[GSDPG886]][[sthref63]]
+
+
+[[superelements-40]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG887]][[sthref64]]
+
+
+[[subelements-38]]
+==== Subelements
+
+The following table describes subelements for the `connector-resource`
+element.
+
+[[GSDPG888]][[sthref65]][[sthref66]]
+
+
+Table C-38 `connector-resource` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG889]][[sthref67]]
+
+
+[[attributes-10]]
+==== Attributes
+
+The following table describes attributes for the `connector-resource`
+element.
+
+[[GSDPG890]][[sthref68]][[sthref69]]
+
+
+Table C-39 `connector-resource` Attributes
+
+[width="172%",cols="9%,46%,45%",options="header",]
+|===
+|Attribute |Default |Description
+|`jndi-name` |none |Specifies the JNDI name for the resource.
+
+|`pool-name` |none |Specifies the `name` of the associated
+link:#giygu[`connector-connection-pool`].
+
+|`object-type` |`user` a|
+(optional) Defines the type of the resource. Allowed values are:
+
+* `system-all` - A system resource for all server instances and the
+domain application server.
+* `system-admin` - A system resource only for the domain application
+server.
+* `system-instance` - A system resource for all server instances only.
+* `user` - A user resource.
+
+|`enabled` |`true` |(optional) Determines whether this resource is
+enabled at runtime.
+|===
+
+
+[[beasd]][[GSDPG00126]][[consistency]]
+
+=== `consistency`
+
+Specifies container behavior in guaranteeing transactional consistency
+of the data in the bean.
+
+[[fvysj]][[GSDPG00421]][[superelements-41]]
+
+==== Superelements
+
+link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvysl]][[GSDPG00422]][[subelements-39]]
+
+==== Subelements
+
+The following table describes subelements for the `consistency` element.
+
+[[GSDPG891]][[sthref70]][[fvysn]]
+
+
+Table C-40 `consistency` Subelements
+
+[width="100%",cols="31%,21%,48%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavi[`none`]
+
+
+ |exactly one subelement is required |No consistency checking occurs.
+
+a|
+link:#bearm[`check-modified-at-commit`]
+
+
+ |exactly one subelement is required |Checks concurrent modification of
+fields in modified beans at commit time.
+
+a|
+link:#beauh[`lock-when-loaded`]
+
+
+ |exactly one subelement is required |Obtains an exclusive lock when the
+data is loaded.
+
+a|
+link:#bearl[`check-all-at-commit`]
+
+
+ | + |This element is not implemented. Do not use.
+
+a|
+link:#beaui[`lock-when-modified`]
+
+
+ | + |This element is not implemented. Do not use.
+
+a|
+link:#bearn[`check-version-of-accessed-instances`]
+
+
+ |exactly one subelement is required |Checks the version column of the
+modified beans.
+|===
+
+
+[[bease]][[GSDPG00127]][[constraint-field]]
+
+=== `constraint-field`
+
+Specifies a cacheability constraint for the given
+link:#beayl[`url-pattern`] or link:#beaxo[`servlet-name`].
+
+All `constraint-field` constraints must pass for a response to be
+cached. If there are `value` constraints, at least one of them must
+pass.
+
+[[fvysm]][[GSDPG00423]][[superelements-42]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvyso]][[GSDPG00424]][[subelements-40]]
+
+==== Subelements
+
+The following table describes subelements for the `constraint-field`
+element.
+
+[[GSDPG892]][[sthref71]][[fvysp]]
+
+
+Table C-41 `constraint-field` Subelements
+
+[width="100%",cols="30%,13%,57%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beasf[`constraint-field-value`]
+
+
+ |zero or more |Contains a value to be matched to the input parameter
+value.
+|===
+
+
+[[fvysq]][[GSDPG00425]][[attributes-11]]
+
+==== Attributes
+
+The following table describes attributes for the `constraint-field`
+element.
+
+[[GSDPG893]][[sthref72]][[fvysr]]
+
+
+Table C-42 `constraint-field` Attributes
+
+[width="100%",cols="18%,21%,61%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the input parameter name.
+
+|`scope` |`request.parameter` |(optional) Specifies the scope from which
+the input parameter is retrieved. Allowed values are
+`context.attribute`, `request.header`, `request.parameter`,
+`request.cookie`, `request.attribute`, and `session.attribute`.
+
+|`cache-on-match` |`true` |(optional) If `true`, caches the response if
+matching succeeds. Overrides the same attribute in a
+link:#beasf[`constraint-field-value`] subelement.
+
+|`cache-on-match-failure` |`false` |(optional) If `true`, caches the
+response if matching fails. Overrides the same attribute in a
+link:#beasf[`constraint-field-value`] subelement.
+|===
+
+
+[[beasf]][[GSDPG00128]][[constraint-field-value]]
+
+=== `constraint-field-value`
+
+Specifies a value to be matched to the input parameter value. The
+matching is case sensitive. For example:
+
+[source,xml]
+----
+<value match-expr="in-range">1-60</value>
+----
+
+[[fvyss]][[GSDPG00426]][[superelements-43]]
+
+==== Superelements
+
+link:#bease[`constraint-field`] (`glassfish-web.xml`)
+
+[[fvyst]][[GSDPG00427]][[subelements-41]]
+
+==== Subelements
+
+none - contains data
+
+[[fvysu]][[GSDPG00428]][[attributes-12]]
+
+==== Attributes
+
+The following table describes attributes for the
+`constraint-field-value` element.
+
+[[GSDPG894]][[sthref73]][[fvysv]]
+
+
+Table C-43 `constraint-field-value` Attributes
+
+[width="172%",cols="11%,46%,43%",options="header",]
+|===
+|Attribute |Default |Description
+|`match-expr` |`equals` a|
+(optional) Specifies the type of comparison performed with the value.
+Allowed values are `equals`, `not-equals`, `greater`, `lesser`, and
+`in-range`.
+
+If `match-expr` is `greater` or `lesser`, the value must be a number. If
+`match-expr` is `in-range`, the value must be of the form n1`-`n2, where
+n1 and n2 are numbers.
+
+|`cache-on-match` |`true` |(optional) If `true`, caches the response if
+matching succeeds.
+
+|`cache-on-match-failure` |`false` |(optional) If `true`, caches the
+response if matching fails.
+|===
+
+
+[[beasg]][[GSDPG00129]][[context-root]]
+
+=== `context-root`
+
+Contains the web context root for the application or web application
+that was packaged as a WAR file. Overrides the corresponding element in
+the `application.xml` or `web.xml` file.
+
+If the parent element is `java-web-start-access`, this element contains
+the context root for the Java Web Start enabled application client
+module. If none is specified, a default is generated; see
+link:#gauax[`java-web-start-access`].
+
+If you are setting up load balancing, web module context roots must be
+unique within a server instance. See the link:ha-administration-guide.html#GSHAG[{productName} High Availability Administration Guide] for more
+information about load balancing.
+
+[[fvysx]][[GSDPG00429]][[superelements-44]]
+
+==== Superelements
+
+link:#beayr[`web`] (`glassfish-application.xml`),
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#gauax[`java-web-start-access`]
+(`glassfish-application-client.xml`)
+
+[[fvysw]][[GSDPG00430]][[subelements-42]]
+
+==== Subelements
+
+none - contains data
+
+[[beash]][[GSDPG00130]][[cookie-properties]]
+
+=== `cookie-properties`
+
+Specifies session cookie properties.
+
+
+[NOTE]
+====
+If cookie settings are defined declaratively in the `web.xml` file, the
+cookie properties defined here take precedence. If cookie settings are
+defined programmatically using `javax.servlet.SessionCookieConfig`
+methods, those cookie settings take precedence over the cookie
+properties defined here.
+====
+
+
+[[fvysy]][[GSDPG00431]][[superelements-45]]
+
+==== Superelements
+
+link:#beaxp[`session-config`] (`glassfish-web.xml`)
+
+[[fvysz]][[GSDPG00432]][[subelements-43]]
+
+==== Subelements
+
+The following table describes subelements for the `cookie-properties`
+element.
+
+[[GSDPG895]][[sthref74]][[fvytb]]
+
+
+Table C-44 `cookie-properties` Subelements
+
+[width="100%",cols="36%,14%,50%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyta]][[GSDPG00433]][[properties-5]]
+
+==== Properties
+
+The following table describes properties for the `cookie-properties`
+element.
+
+[[GSDPG896]][[sthref75]][[fvyte]]
+
+
+Table C-45 `cookie-properties` Properties
+
+[width="100%",cols="24%,13%,63%",options="header",]
+|===
+|Property |Default |Description
+|`cookieName` |none |Specifies the cookie name.
+
+|`cookiePath` |Context path at which the web module is installed.
+|Specifies the pathname that is set when the cookie is created. The
+browser sends the cookie if the pathname for the request contains this
+pathname. If set to `/` (slash), the browser sends cookies to all URLs
+served by {productName}. You can set the path to a narrower mapping
+to limit the request URLs to which the browser sends cookies.
+
+|`cookieMaxAgeSeconds` |none |Specifies the expiration time (in seconds)
+after which the browser expires the cookie. If this is unset, the cookie
+doesn't expire.
+
+|`cookieDomain` |(unset) |Specifies the domain for which the cookie is
+valid.
+
+|`cookieComment` |none |Specifies the comment that identifies the
+session tracking cookie in the cookie file.
+
+|`cookieSecure` |`dynamic` a|
+Sets the `Secure` attribute of any `JSESSIONID` cookies associated with
+the web application. Allowed values are as follows:
+
+* `true` — Sets `Secure` to `true`.
+* `false` — Sets `Secure` to `false`.
+* `dynamic` — The `JSESSIONID` cookie inherits the `Secure` setting of
+the request that initiated the session.
+
+To set the `Secure` attribute of a `JSESSIONIDSSO` cookie, use the
+`ssoCookieSecure` `virtual-server` property. For details, see
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+
+|`cookieHttpOnly` |none |Specifies that the cookie is marked HTTP only.
+Allowed values are `true` or `false`.
+|===
+
+
+[[beasi]][[GSDPG00131]][[create-tables-at-deploy]]
+
+=== `create-tables-at-deploy`
+
+Specifies whether database tables are created for beans that are
+automatically mapped by the EJB container. If `true`, creates tables in
+the database. If `false` (the default if this element is not present),
+does not create tables.
+
+This element can be overridden during deployment. See
+"link:application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options for CMP]" in {productName} Application Development Guide.
+
+[[fvytc]][[GSDPG00434]][[superelements-46]]
+
+==== Superelements
+
+link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
+
+[[fvytd]][[GSDPG00435]][[subelements-44]]
+
+==== Subelements
+
+none - contains data
+
+[[giyhr]][[GSDPG00132]][[custom-resource]]
+
+=== `custom-resource`
+
+Defines a custom resource, which specifies a custom server-wide resource
+object factory. Such object factories implement the
+javax.naming.spi.ObjectFactory interface.
+
+[[GSDPG897]][[sthref76]]
+
+
+[[superelements-47]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG898]][[sthref77]]
+
+
+[[subelements-45]]
+==== Subelements
+
+The following table describes subelements for the `custom-resource`
+element.
+
+[[GSDPG899]][[sthref78]][[sthref79]]
+
+
+Table C-46 `custom-resource` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG900]][[sthref80]]
+
+
+[[attributes-13]]
+==== Attributes
+
+The following table describes attributes for the `custom-resource`
+element.
+
+[[GSDPG901]][[sthref81]][[sthref82]]
+
+
+Table C-47 `custom-resource` Attributes
+
+[width="172%",cols="11%,46%,43%",options="header",]
+|===
+|Attribute |Default |Description
+|`jndi-name` |none |Specifies the JNDI name for the resource.
+
+|`res-type` |none |Specifies the fully qualified type of the resource.
+
+|`factory-class` |none |Specifies the fully qualified name of the
+user-written factory class, which implements
+javax.naming.spi.ObjectFactory.
+
+|`object-type` |`user` a|
+(optional) Defines the type of the resource. Allowed values are:
+
+* `system-all` - A system resource for all server instances and the
+domain application server.
+* `system-admin` - A system resource only for the domain application
+server.
+* `system-instance` - A system resource for all server instances only.
+* `user` - A user resource.
+
+|`enabled` |`true` |(optional) Determines whether this resource is
+enabled at runtime.
+|===
+
+
+[[beask]][[GSDPG00133]][[database-vendor-name]]
+
+=== `database-vendor-name`
+
+Specifies the name of the database vendor for which tables can be
+created. Allowed values are `javadb`, `db2`, `mssql`, `mysql`, `oracle`,
+`postgresql`, `pointbase`, `derby` (also for CloudScape), and `sybase`,
+case-insensitive.
+
+If no value is specified, a connection is made to the resource specified
+by the link:#beatw[`jndi-name`] subelement of the
+link:#bearv[`cmp-resource`] element, and the database vendor name is
+read. If the connection cannot be established, or if the value is not
+recognized, SQL-92 compliance is presumed.
+
+This element can be overridden during deployment. See
+"link:application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options for CMP]" in {productName} Application Development Guide.
+
+[[fvytf]][[GSDPG00436]][[superelements-48]]
+
+==== Superelements
+
+link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
+
+[[fvyti]][[GSDPG00437]][[subelements-46]]
+
+==== Subelements
+
+none - contains data
+
+[[gaubj]][[GSDPG00134]][[debugging-enabled]]
+
+=== `debugging-enabled`
+
+Specifies whether the debugging servlet is enabled for this web service
+endpoint. Allowed values are `true` (the default) and `false`.
+
+[[gaubf]][[GSDPG00438]][[superelements-49]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[gaube]][[GSDPG00439]][[subelements-47]]
+
+==== Subelements
+
+none - contains data
+
+[[beasl]][[GSDPG00135]][[default]]
+
+=== `default`
+
+Specifies that a field belongs to the default hierarchical fetch group,
+and enables prefetching for a CMR field. To disable prefetching for
+specific query methods, use a link:#beavu[`prefetch-disabled`] element
+in the `glassfish-ejb-jar.xml` file.
+
+[[fvytg]][[GSDPG00440]][[superelements-50]]
+
+==== Superelements
+
+link:#beatc[`fetched-with`] (`sun-cmp-mappings.xml`)
+
+[[fvyth]][[GSDPG00441]][[subelements-48]]
+
+==== Subelements
+
+none - element is present or absent
+
+[[beasm]][[GSDPG00136]][[default-helper]]
+
+=== `default-helper`
+
+Passes property values to the built-in `default`
+link:#beare[`cache-helper`] class.
+
+[[fvytj]][[GSDPG00442]][[superelements-51]]
+
+==== Superelements
+
+link:#beard[`cache`] (`glassfish-web.xml`)
+
+[[fvytk]][[GSDPG00443]][[subelements-49]]
+
+==== Subelements
+
+The following table describes subelements for the `default-helper`
+element.
+
+[[GSDPG902]][[sthref83]][[fvytm]]
+
+
+Table C-48 `default-helper` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvytp]][[GSDPG00444]][[properties-6]]
+
+==== Properties
+
+The following table describes properties for the `default-helper`
+element.
+
+[[GSDPG903]][[sthref84]][[fvyto]]
+
+
+Table C-49 `default-helper` Properties
+
+[width="100%",cols="30%,21%,49%",options="header",]
+|===
+|Property |Default |Description
+|`cacheKeyGeneratorAttrName` |Uses the built-in `default`
+link:#beare[`cache-helper`] key generation, which concatenates the
+servlet path with link:#beatz[`key-field`] values, if any. |The caching
+engine looks in the `ServletContext` for an attribute with a name equal
+to the value specified for this property to determine whether a
+customized CacheKeyGenerator implementation is used. An application can
+provide a customized key generator rather than using the `default`
+helper. See "link:application-development-guide/webapps.html#GSDVG00254[The CacheKeyGenerator Interface]" in
+{productName} Application Development Guide.
+|===
+
+
+[[beasn]][[GSDPG00137]][[default-resource-principal]]
+
+=== `default-resource-principal`
+
+Specifies the default principal (user) for the resource.
+
+If this element is used in conjunction with a JMS Connection Factory
+resource, the `name` and `password` subelements must be valid entries in
+the Open Message Queue broker user repository. See
+"link:../openmq/mq-admin-guide/security-services.html#GMADG00040[Configuring and Managing Security Services]" in Open
+Message Queue Administration Guide for details.
+
+[[fvytl]][[GSDPG00445]][[superelements-52]]
+
+==== Superelements
+
+link:#beaww[`resource-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
+link:#bearv[`cmp-resource`], link:#beaur[`mdb-connection-factory`]
+(`glassfish-ejb-jar.xml`)
+
+[[fvytn]][[GSDPG00446]][[subelements-50]]
+
+==== Subelements
+
+The following table describes subelements for the
+`default-resource-principal` element.
+
+[[GSDPG904]][[sthref85]][[fvytr]]
+
+
+Table C-50 `default-resource-principal` Subelements
+
+[width="100%",cols="11%,10%,79%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavf[`name`]
+
+
+ |only one |Specifies the default resource principal name used to sign
+on to a resource manager.
+
+a|
+link:#beavp[`password`]
+
+
+ |only one |Specifies password of the default resource principal.
+|===
+
+
+[[beaso]][[GSDPG00138]][[description]]
+
+=== `description`
+
+Specifies a text description of the containing element.
+
+[[fvytq]][[GSDPG00447]][[superelements-53]]
+
+==== Superelements
+
+link:#beavx[`property` (with attributes)], link:#gikqk[`valve`]
+(`glassfish-web.xml`); link:#beaqs[`activation-config`],
+link:#beauz[`method`] (`glassfish-ejb-jar.xml`);
+link:#beaye[`target-server`] (`sun-acc.xml`);
+link:#giyhw[`admin-object-resource`],
+link:#giygu[`connector-connection-pool`],
+link:#giyhv[`connector-resource`], link:#giyhr[`custom-resource`],
+link:#giyin[`external-jndi-resource`],
+link:#giyil[`jdbc-connection-pool`], link:#giyhm[`jdbc-resource`],
+link:#giyik[`mail-resource`], link:#beavx[`property` (with attributes)],
+link:#giyit[`resource-adapter-config`] (`glassfish-resources.xml`)
+
+[[fvyts]][[GSDPG00448]][[subelements-51]]
+
+==== Subelements
+
+none - contains data
+
+[[gkhtw]][[GSDPG00139]][[disable-nonportable-jndi-names]]
+
+=== `disable-nonportable-jndi-names`
+
+Because the EJB 3.1 specification defines portable EJB JNDI names, there
+is less need for {productName} specific JNDI names. By default,
+{productName} specific default JNDI names are applied automatically
+for backward compatibility. To disable {productName} specific JNDI
+names for an EJB module, set the value of this element to `true`. The
+default is `false`.
+
+[[gkhum]][[GSDPG00449]][[superelements-54]]
+
+==== Superelements
+
+link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
+
+[[gkhug]][[GSDPG00450]][[subelements-52]]
+
+==== Subelements
+
+none - contains data
+
+[[beasp]][[GSDPG00140]][[dispatcher]]
+
+=== `dispatcher`
+
+Specifies a comma-separated list of `RequestDispatcher` methods for
+which caching is enabled on the target resource. Valid values are
+`REQUEST`, `FORWARD`, `INCLUDE`, and `ERROR` . If this element is not
+specified, the default is `REQUEST`. See SRV.6.2.5 of the Servlet 2.4
+specification for more information.
+
+[[fvytt]][[GSDPG00451]][[superelements-55]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvytv]][[GSDPG00452]][[subelements-53]]
+
+==== Subelements
+
+none - contains data
+
+[[beasq]][[GSDPG00141]][[drop-tables-at-undeploy]]
+
+=== `drop-tables-at-undeploy`
+
+Specifies whether database tables that were automatically created when
+the bean(s) were last deployed are dropped when the bean(s) are
+undeployed. If `true`, drops tables from the database. If `false` (the
+default if this element is not present), does not drop tables.
+
+This element can be overridden during deployment. See
+"link:application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options for CMP]" in {productName} Application Development Guide.
+
+[[fvytu]][[GSDPG00453]][[superelements-56]]
+
+==== Superelements
+
+link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
+
+[[fvytx]][[GSDPG00454]][[subelements-54]]
+
+==== Subelements
+
+none - contains data
+
+[[beass]][[GSDPG00142]][[ejb]]
+
+`ejb`
+~~~~~
+
+Defines runtime properties for a single enterprise bean within the
+application. The subelements listed below apply to particular enterprise
+beans as follows:
+
+* All types of beans: `ejb-name`, `ejb-ref`, `resource-ref`,
+`resource-env-ref`, `ior-security-config`, `gen-classes`, `jndi-name`,
+`use-thread-pool-id`, `message-destination-ref`, `pass-by-reference`,
+`service-ref`
+* Stateless session beans: `bean-pool`, `webservice-endpoint`
+* Stateful session beans: `bean-cache`, `webservice-endpoint`,
+`checkpoint-at-end-of-method`
+* Entity beans: `commit-option`, `bean-cache`, `bean-pool`, `cmp`,
+`is-read-only-bean`, `refresh-period-in-seconds`,
+`flush-at-end-of-method`
+* Message-driven beans: `mdb-resource-adapter`,
+`mdb-connection-factory`, `jms-durable-subscription-name`,
+`jms-max-messages-load`, `bean-pool`
+
+[[fvyty]][[GSDPG00455]][[superelements-57]]
+
+==== Superelements
+
+link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
+
+[[fvytw]][[GSDPG00456]][[subelements-55]]
+
+==== Subelements
+
+The following table describes subelements for the `ejb` element.
+
+[[GSDPG905]][[sthref86]][[fvyuc]]
+
+
+Table C-51 `ejb` Subelements
+
+[width="100%",cols="35%,12%,53%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beast[`ejb-name`]
+
+
+ |only one |Matches the `ejb-name` in the corresponding `ejb-jar.xml`
+file.
+
+a|
+link:#beatw[`jndi-name`]
+
+
+ |zero or more |Specifies the absolute `jndi-name`.
+
+a|
+link:#beasu[`ejb-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `ejb-ref` element in
+the corresponding Jakarta EE XML file.
+
+a|
+link:#beaww[`resource-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
+corresponding Jakarta EE XML file.
+
+a|
+link:#beawu[`resource-env-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
+the corresponding Jakarta EE XML file.
+
+a|
+link:#beaxk[`service-ref`]
+
+
+ |zero or more |Specifies runtime settings for a web service reference.
+
+a|
+link:#gauao[`message-destination-ref`]
+
+
+ |zero or more |Specifies the name of a physical message destination.
+
+a|
+link:#beavo[`pass-by-reference`]
+
+
+ |zero or one |Specifies the passing method used by an enterprise bean
+calling a remote interface method in another bean that is colocated
+within the same process.
+
+a|
+link:#beart[`cmp`]
+
+
+ |zero or one |Specifies runtime information for a container-managed
+persistence (CMP) entity bean for EJB 1.1 and EJB 2.1 beans.
+
+a|
+link:#beavv[`principal`]
+
+
+ |zero or one |Specifies the principal (user) name in an enterprise bean
+that has the `run-as` role specified.
+
+a|
+link:#beaur[`mdb-connection-factory`]
+
+
+ |zero or one |Specifies the connection factory associated with a
+message-driven bean.
+
+a|
+link:#beatu[`jms-durable-subscription-name`]
+
+
+ |zero or one |Specifies the durable subscription associated with a
+message-driven bean.
+
+a|
+link:#beatv[`jms-max-messages-load`]
+
+
+ |zero or one |Specifies the maximum number of messages to load into a
+Java Message Service session at one time for a message-driven bean to
+serve. The default is 1.
+
+a|
+link:#beato[`ior-security-config`]
+
+
+ |zero or one |Specifies the security information for the IOR.
+
+a|
+link:#beatr[`is-read-only-bean`]
+
+
+ |zero or one |Specifies that this entity bean is read-only.
+
+a|
+link:#beawk[`refresh-period-in-seconds`]
+
+
+ |zero or one |Specifies the rate at which a read-only-bean must be
+refreshed from the data source.
+
+a|
+link:#beasb[`commit-option`]
+
+
+ |zero or one |Has valid values of B or C. Default value is B.
+
+a|
+link:#beary[`cmt-timeout-in-seconds`]
+
+
+ |zero or one |Overrides the Transaction Timeout setting of the
+Transaction Service for an individual bean.
+
+a|
+link:#beaym[`use-thread-pool-id`]
+
+
+ |zero or one |Specifies the thread pool from which threads are selected
+for remote invocations of this bean.
+
+a|
+link:#beath[`gen-classes`]
+
+
+ |zero or one |Specifies all the generated class names for a bean.
+
+a|
+link:#bearb[`bean-pool`]
+
+
+ |zero or one |Specifies the bean pool properties. Used for stateless
+session beans, entity beans, and message-driven beans.
+
+a|
+link:#beara[`bean-cache`]
+
+
+ |zero or one |Specifies the bean cache properties. Used only for
+stateful session beans and entity beans.
+
+a|
+link:#beaus[`mdb-resource-adapter`]
+
+
+ |zero or one |Specifies runtime configuration information for a
+message-driven bean.
+
+a|
+link:#beayv[`webservice-endpoint`]
+
+
+ |zero or more |Specifies information about a web service endpoint.
+
+a|
+link:#beatf[`flush-at-end-of-method`]
+
+
+ |zero or one |Specifies the methods that force a database flush after
+execution. Used for entity beans.
+
+a|
+link:#bearp[`checkpointed-methods`]
+
+
+ |zero or one |Deprecated. Supported for backward compatibility. Use
+link:#bearo[`checkpoint-at-end-of-method`] instead.
+
+a|
+link:#bearo[`checkpoint-at-end-of-method`]
+
+
+ |zero or one |Specifies that the stateful session bean state is
+checkpointed, or persisted, after the specified methods are executed.
+The `availability-enabled` attribute must be set to `true`.
+
+a|
+link:#gkkia[`per-request-load-balancing`]
+
+
+ |zero or one |Specifies the per-request load balancing behavior of EJB
+2.x and 3.x remote client invocations on a stateless session bean.
+|===
+
+
+[[fvyuf]][[GSDPG00457]][[attributes-14]]
+
+==== Attributes
+
+The following table describes attributes for the `ejb` element.
+
+[[GSDPG906]][[sthref87]][[fvyud]]
+
+
+Table C-52 `ejb` Attributes
+
+[width="181%",cols="16%,49%,35%",options="header",]
+|===
+|Attribute |Default |Description
+|`availability-enabled` |`false` |(optional) If set to `true`, and if
+availability is enabled in the EJB container, high-availability features
+apply to this bean if it is a stateful session bean.
+|===
+
+
+[[fvytz]][[GSDPG00458]][[example-3]]
+
+==== Example
+
+[source,xml]
+----
+<ejb>
+   <ejb-name>CustomerEJB</ejb-name>
+   <jndi-name>customer</jndi-name>
+   <resource-ref>
+      <res-ref-name>jdbc/SimpleBank</res-ref-name>
+      <jndi-name>jdbc/__default</jndi-name>
+   </resource-ref>
+   <is-read-only-bean>false</is-read-only-bean>
+   <commit-option>B</commit-option>
+   <bean-pool>
+      <steady-pool-size>10</steady-pool-size>
+      <resize-quantity>10</resize-quantity>
+      <max-pool-size>100</max-pool-size>
+      <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
+   </bean-pool>
+   <bean-cache>
+      <max-cache-size>100</max-cache-size>
+      <resize-quantity>10</resize-quantity>
+      <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
+      <victim-selection-policy>LRU</victim-selection-policy>
+   </bean-cache>
+</ejb>
+----
+
+[[beast]][[GSDPG00143]][[ejb-name]]
+
+=== `ejb-name`
+
+In the `glassfish-ejb-jar.xml` file, matches the `ejb-name` in the
+corresponding `ejb-jar.xml` file. The name must be unique among the
+names of the enterprise beans in the same EJB JAR file.
+
+There is no architected relationship between the `ejb-name` in the
+deployment descriptor and the JNDI name that the deployer assigns to the
+EJB component's home.
+
+In the `sun-cmp-mappings.xml` file, specifies the `ejb-name` of the
+entity bean in the `ejb-jar.xml` file to which the container-managed
+persistence (CMP) bean corresponds.
+
+[[fvyug]][[GSDPG00459]][[superelements-58]]
+
+==== Superelements
+
+link:#beass[`ejb`], link:#beauz[`method`] (`glassfish-ejb-jar.xml`);
+link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvyue]][[GSDPG00460]][[subelements-56]]
+
+==== Subelements
+
+none - contains data
+
+[[beasu]][[GSDPG00144]][[ejb-ref]]
+
+=== `ejb-ref`
+
+Maps the `ejb-ref-name` in the corresponding Jakarta EE deployment
+descriptor file `ejb-ref` entry to the absolute `jndi-name` of a
+resource.
+
+The `ejb-ref` element is used for the declaration of a reference to an
+EJB's home. Applies to session beans or entity beans.
+
+[[fvyub]][[GSDPG00461]][[superelements-59]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[fvyua]][[GSDPG00462]][[subelements-57]]
+
+==== Subelements
+
+The following table describes subelements for the `ejb-ref` element.
+
+[[GSDPG907]][[sthref88]][[fvyui]]
+
+
+Table C-53 `ejb-ref` Subelements
+
+[width="100%",cols="26%,11%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beasv[`ejb-ref-name`]
+
+
+ |only one |Specifies the `ejb-ref-name` in the corresponding Jakarta EE
+deployment descriptor file `ejb-ref` entry.
+
+a|
+link:#beatw[`jndi-name`]
+
+
+ |only one |Specifies the absolute `jndi-name` of a resource.
+|===
+
+
+[[beasv]][[GSDPG00145]][[ejb-ref-name]]
+
+=== `ejb-ref-name`
+
+Specifies the `ejb-ref-name` in the corresponding Jakarta EE deployment
+descriptor file `ejb-ref` entry.
+
+[[fvyuh]][[GSDPG00463]][[superelements-60]]
+
+==== Superelements
+
+link:#beasu[`ejb-ref`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvyuj]][[GSDPG00464]][[subelements-58]]
+
+==== Subelements
+
+none - contains data
+
+[[gaubh]][[GSDPG00146]][[eligible]]
+
+=== `eligible`
+
+Specifies whether the application client module is eligible to be Java
+Web Start enabled. Allowed values are `true` (the default) and `false`.
+
+[[gaubg]][[GSDPG00465]][[superelements-61]]
+
+==== Superelements
+
+link:#gauax[`java-web-start-access`]
+(`glassfish-application-client.xml`)
+
+[[gauaz]][[GSDPG00466]][[subelements-59]]
+
+==== Subelements
+
+none - contains data
+
+[[beasw]][[GSDPG00147]][[endpoint-address-uri]]
+
+=== `endpoint-address-uri`
+
+Specifies the relative path combined with the web server root to form
+the fully qualified endpoint address for a web service endpoint. This is
+a required element for EJB endpoints and an optional element for servlet
+endpoints.
+
+For servlet endpoints, this value is relative to the web application
+context root. For EJB endpoints, the URI is relative to root of the web
+server (the first portion of the URI is a context root). The context
+root portion must not conflict with the context root of any web
+application deployed to the same web server.
+
+In all cases, this value must be a fixed pattern (no "`*`' allowed).
+
+If the web service endpoint is a servlet that implements only a single
+endpoint and has only one `url-pattern`, it is not necessary to set this
+value, because the web container derives it from the `web.xml` file.
+
+[[fvyul]][[GSDPG00467]][[superelements-62]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvyum]][[GSDPG00468]][[subelements-60]]
+
+==== Subelements
+
+none - contains data
+
+[[fvyuk]][[GSDPG00469]][[example-4]]
+
+==== Example
+
+If the web server is listening at `http://localhost:8080`, the following
+`endpoint-address-uri`:
+
+[source,xml]
+----
+<endpoint-address-uri>StockQuoteService/StockQuotePort</endpoint-address-uri>
+----
+
+results in the following target endpoint address:
+
+[source]
+----
+http://localhost:8080/StockQuoteService/StockQuotePort
+----
+
+[[beasx]][[GSDPG00148]][[enterprise-beans]]
+
+=== `enterprise-beans`
+
+Specifies all the runtime properties for an EJB JAR file in the
+application.
+
+[[fvyun]][[GSDPG00470]][[superelements-63]]
+
+==== Superelements
+
+link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
+
+[[fvyuo]][[GSDPG00471]][[subelements-61]]
+
+==== Subelements
+
+The following table describes subelements for the `enterprise-beans`
+element.
+
+[[GSDPG908]][[sthref89]][[fvyut]]
+
+
+Table C-54 `enterprise-beans` Subelements
+
+[width="100%",cols="27%,12%,61%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavf[`name`]
+
+
+ |zero or one |Specifies the name string.
+
+a|
+link:#beayk[`unique-id`]
+
+
+ |zero or one |Specifies a unique system identifier. This data is
+automatically generated and updated at deployment/redeployment. Do not
+specify or edit this value.
+
+a|
+link:#beass[`ejb`]
+
+
+ |zero or more |Defines runtime properties for a single enterprise bean
+within the application.
+
+a|
+link:#beavq[`pm-descriptors`]
+
+
+ |zero or one |Deprecated.
+
+a|
+link:#bearv[`cmp-resource`]
+
+
+ |zero or one |Specifies the database to be used for storing
+container-managed persistence (CMP) beans in an EJB JAR file.
+
+a|
+link:#beauu[`message-destination`]
+
+
+ |zero or more |Specifies the name of a logical message destination.
+
+a|
+link:#beayt[`webservice-description`]
+
+
+ |zero or more |Specifies a name and optional publish location for a web
+service.
+
+a|
+link:#beavy[`property` (with subelements)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[fvyux]][[GSDPG00472]][[example-5]]
+
+==== Example
+
+[source,xml]
+----
+<enterprise-beans>
+ <ejb>
+     <ejb-name>CustomerEJB</ejb-name>
+     <jndi-name>customer</jndi-name>
+     <resource-ref>
+         <res-ref-name>jdbc/SimpleBank</res-ref-name>
+         <jndi-name>jdbc/__default</jndi-name>
+     </resource-ref>
+     <is-read-only-bean>false</is-read-only-bean>
+     <commit-option>B</commit-option>
+     <bean-pool>
+         <steady-pool-size>10</steady-pool-size>
+        <resize-quantity>10</resize-quantity>
+         <max-pool-size>100</max-pool-size>
+         <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
+     </bean-pool>
+     <bean-cache>
+         <max-cache-size>100</max-cache-size>
+         <resize-quantity>10</resize-quantity>
+         <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
+         <victim-selection-policy>LRU</victim-selection-policy>
+     </bean-cache>
+ </ejb>
+</enterprise-beans>
+----
+
+[[beasy]][[GSDPG00149]][[entity-mapping]]
+
+=== `entity-mapping`
+
+Specifies the mapping a bean to database columns.
+
+[[fvyus]][[GSDPG00473]][[superelements-64]]
+
+==== Superelements
+
+link:#beaxy[`sun-cmp-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvyur]][[GSDPG00474]][[subelements-62]]
+
+==== Subelements
+
+The following table describes subelements for the `entity-mapping`
+element.
+
+[[GSDPG909]][[sthref90]][[fvyuz]]
+
+
+Table C-55 `entity-mapping` Subelements
+
+[width="100%",cols="21%,12%,67%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beast[`ejb-name`]
+
+
+ |only one |Specifies the name of the entity bean in the `ejb-jar.xml`
+file to which the CMP bean corresponds.
+
+a|
+link:#beayd[`table-name`]
+
+
+ |only one |Specifies the name of a database table. The table must be
+present in the database schema file.
+
+a|
+link:#bearu[`cmp-field-mapping`]
+
+
+ |one or more |Associates a field with one or more columns to which it
+maps.
+
+a|
+link:#bearw[`cmr-field-mapping`]
+
+
+ |zero or more |A container-managed relationship field has a name and
+one or more column pairs that define the relationship.
+
+a|
+link:#beaxe[`secondary-table`]
+
+
+ |zero or more |Describes the relationship between a bean's primary and
+secondary table.
+
+a|
+link:#beasd[`consistency`]
+
+
+ |zero or one |Specifies container behavior in guaranteeing
+transactional consistency of the data in the bean.
+|===
+
+
+[[beasz]][[GSDPG00150]][[establish-trust-in-client]]
+
+=== `establish-trust-in-client`
+
+Specifies if the target is capable of authenticating a client. The
+values are `NONE`, `SUPPORTED`, or `REQUIRED`.
+
+[[fvyuq]][[GSDPG00475]][[superelements-65]]
+
+==== Superelements
+
+link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvyuy]][[GSDPG00476]][[subelements-63]]
+
+==== Subelements
+
+none - contains data
+
+[[beata]][[GSDPG00151]][[establish-trust-in-target]]
+
+=== `establish-trust-in-target`
+
+Specifies if the target is capable of authenticating to a client. The
+values are `NONE`, `SUPPORTED`, or `REQUIRED`.
+
+[[fvyuu]][[GSDPG00477]][[superelements-66]]
+
+==== Superelements
+
+link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvyuv]][[GSDPG00478]][[subelements-64]]
+
+==== Subelements
+
+none - contains data
+
+[[giyin]][[GSDPG00152]][[external-jndi-resource]]
+
+=== `external-jndi-resource`
+
+Defines a resource that resides in an external JNDI repository. For
+example, a generic Java object could be stored in an LDAP server. An
+external JNDI factory must implement the
+javax.naming.spi.InitialContextFactory interface.
+
+[[GSDPG910]][[sthref91]]
+
+
+[[superelements-67]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG911]][[sthref92]]
+
+
+[[subelements-65]]
+==== Subelements
+
+The following table describes subelements for the
+`external-jndi-resource` element.
+
+[[GSDPG912]][[sthref93]][[sthref94]]
+
+
+Table C-56 `external-jndi-resource` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG913]][[sthref95]]
+
+
+[[attributes-15]]
+==== Attributes
+
+The following table describes attributes for the
+`external-jndi-resource` element.
+
+[[GSDPG914]][[sthref96]][[sthref97]]
+
+
+Table C-57 `external-jndi-resource` Attributes
+
+[width="172%",cols="13%,46%,41%",options="header",]
+|===
+|Attribute |Default |Description
+|`jndi-name` |none |Specifies the JNDI name for the resource.
+
+|`jndi-lookup-name` |none |Specifies the JNDI lookup name for the
+resource.
+
+|`res-type` |none |Specifies the fully qualified type of the resource.
+
+|`factory-class` |none a|
+Specifies the fully qualified name of the factory class, which
+implements javax.naming.spi.InitialContextFactory .
+
+For more information about JNDI, see the link:application-development-guide.html#GSDVG[{productName} Application Development Guide].
+
+|`object-type` |`user` a|
+(optional) Defines the type of the resource. Allowed values are:
+
+* `system-all` - A system resource for all server instances and the
+domain application server.
+* `system-admin` - A system resource only for the domain application
+server.
+* `system-instance` - A system resource for all server instances only.
+* `user` - A user resource.
+
+|`enabled` |`true` |(optional) Determines whether this resource is
+enabled at runtime.
+|===
+
+
+[[beatc]][[GSDPG00153]][[fetched-with]]
+
+=== `fetched-with`
+
+Specifies the fetch group configuration for fields and relationships.
+The `fetched-with` element has different allowed and default subelements
+based on its parent element and the data types of the fields.
+
+* If there is no `fetched-with` subelement of a
+link:#bearu[`cmp-field-mapping`], and the data type is not BLOB, CLOB,
+VARBINARY, LONGVARBINARY, or OTHER, `fetched-with` can have any valid
+subelement. The default subelement is as follows:
++
+[source,xml]
+----
+<fetched-with><default/></fetched-with>
+----
+* If there is no `fetched-with` subelement of a
+link:#bearu[`cmp-field-mapping`], and the data type is BLOB, CLOB,
+VARBINARY, LONGVARBINARY, or OTHER, `fetched-with` can have any valid
+subelement except `<default/>`. The default subelement is as follows:
++
+[source,xml]
+----
+<fetched-with><none/></fetched-with>
+----
+* If there is no `fetched-with` subelement of a
+link:#bearw[`cmr-field-mapping`], `fetched-with` can have any valid
+subelement. The default subelement is as follows:
++
+[source,xml]
+----
+<fetched-with><none/></fetched-with>
+----
+
+Managed fields are multiple CMP or CMR fields that are mapped to the
+same column. A managed field can have any `fetched-with` subelement
+except `<default/>`. For additional information, see
+"link:application-development-guide/container_managed-persistence.html#GSDVG00306[Managed Fields]" in {productName} Application Development Guide.
+
+[[fvyuw]][[GSDPG00479]][[superelements-68]]
+
+==== Superelements
+
+link:#bearu[`cmp-field-mapping`], link:#bearw[`cmr-field-mapping`]
+(`sun-cmp-mappings.xml`)
+
+[[fvyup]][[GSDPG00480]][[subelements-66]]
+
+==== Subelements
+
+The following table describes subelements for the `fetched-with`
+element.
+
+[[GSDPG915]][[sthref98]][[fvzcz]]
+
+
+Table C-58 `fetched-with` Subelements
+
+[width="100%",cols="14%,21%,65%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beasl[`default`]
+
+
+ |exactly one subelement is required |Specifies that a CMP field belongs
+to the default hierarchical fetch group, which means it is fetched any
+time the bean is loaded from a database. Enables prefetching of a CMR
+field.
+
+a|
+link:#beaub[`level`]
+
+
+ |exactly one subelement is required |Specifies the level number of a
+hierarchical fetch group.
+
+a|
+link:#beavg[`named-group`]
+
+
+ |exactly one subelement is required |Specifies the name of an
+independent fetch group.
+
+a|
+link:#beavi[`none`]
+
+
+ |exactly one subelement is required |Specifies that this field or
+relationship is placed into its own individual fetch group, which means
+it is loaded from a database the first time it is accessed in this
+transaction.
+|===
+
+
+[[beatd]][[GSDPG00154]][[field-name]]
+
+=== `field-name`
+
+Specifies the Java identifier of a field. This identifier must match the
+value of the `field-name` subelement of the `cmp-field` element in the
+`ejb-jar.xml` file.
+
+[[fvzcm]][[GSDPG00481]][[superelements-69]]
+
+==== Superelements
+
+link:#bearu[`cmp-field-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvyxs]][[GSDPG00482]][[subelements-67]]
+
+==== Subelements
+
+none - contains data
+
+[[beate]][[GSDPG00155]][[finder]]
+
+=== `finder`
+
+Describes the finders for CMP 1.1 with a method name and query.
+
+[[fvzao]][[GSDPG00483]][[superelements-70]]
+
+==== Superelements
+
+link:#beavk[`one-one-finders`] (`glassfish-ejb-jar.xml`)
+
+[[fvzdc]][[GSDPG00484]][[subelements-68]]
+
+==== Subelements
+
+The following table describes subelements for the `finder` element.
+
+[[GSDPG916]][[sthref99]][[fvyzu]]
+
+
+Table C-59 `finder` Subelements
+
+[width="100%",cols="31%,13%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavb[`method-name`]
+
+
+ |only one |Specifies the method name for the finder.
+
+a|
+link:#beawe[`query-params`]
+
+
+ |zero or one |Specifies the query parameters for the CMP 1.1 finder.
+
+a|
+link:#beawb[`query-filter`]
+
+
+ |zero or one |Specifies the query filter for the CMP 1.1 finder.
+
+a|
+link:#beawf[`query-variables`]
+
+
+ |zero or one |Specifies variables in query expression for the CMP 1.1
+finder.
+
+a|
+link:#beawd[`query-ordering`]
+
+
+ |zero or one |Specifies the query ordering for the CMP 1.1 finder.
+|===
+
+
+[[beatf]][[GSDPG00156]][[flush-at-end-of-method]]
+
+=== `flush-at-end-of-method`
+
+Specifies the methods that force a database flush after execution.
+Applicable to entity beans.
+
+[[fvzcw]][[GSDPG00485]][[superelements-71]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyza]][[GSDPG00486]][[subelements-69]]
+
+==== Subelements
+
+The following table describes subelements for the
+`flush-at-end-of-method` element.
+
+[[GSDPG917]][[sthref100]][[fvzba]]
+
+
+Table C-60 `flush-at-end-of-method` Subelements
+
+[width="100%",cols="26%,18%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beauz[`method`]
+
+
+ |one or more |Specifies a bean method.
+|===
+
+
+[[beath]][[GSDPG00157]][[gen-classes]]
+
+=== `gen-classes`
+
+Specifies all the generated class names for a bean.
+
+
+[NOTE]
+====
+This value is automatically generated by the server at deployment or
+redeployment time. Do not specify it or change it after deployment.
+====
+
+
+[[fvyyh]][[GSDPG00487]][[superelements-72]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvzee]][[GSDPG00488]][[subelements-70]]
+
+==== Subelements
+
+The following table describes subelements for the `gen-classes` element.
+
+[[GSDPG918]][[sthref101]][[fvzdo]]
+
+
+Table C-61 `gen-classes` Subelements
+
+[width="100%",cols="20%,11%,69%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beawn[`remote-impl`]
+
+
+ |zero or one |Specifies the fully-qualified class name of the generated
+`EJBObject` impl class.
+
+a|
+link:#beaud[`local-impl`]
+
+
+ |zero or one |Specifies the fully-qualified class name of the generated
+`EJBLocalObject` impl class.
+
+a|
+link:#beawm[`remote-home-impl`]
+
+
+ |zero or one |Specifies the fully-qualified class name of the generated
+`EJBHome` impl class.
+
+a|
+link:#beauc[`local-home-impl`]
+
+
+ |zero or one |Specifies the fully-qualified class name of the generated
+`EJBLocalHome` impl class.
+|===
+
+
+[[beaxw]][[GSDPG00158]][[glassfish-application]]
+
+=== `glassfish-application`
+
+Defines the {productName} specific configuration for an application.
+This is the root element; there can only be one `glassfish-application`
+element in a `glassfish-application.xml` file. See
+link:dd-files.html#beaqk[The glassfish-application.xml File].
+
+[[fvzhn]][[GSDPG00489]][[superelements-73]]
+
+==== Superelements
+
+none
+
+[[fvzgn]][[GSDPG00490]][[subelements-71]]
+
+==== Subelements
+
+The following table describes subelements for the
+`glassfish-application` element.
+
+[[GSDPG919]][[sthref102]][[fvzhl]]
+
+
+Table C-62 `glassfish-application` Subelements
+
+[width="100%",cols="28%,12%,60%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beayr[`web`]
+
+
+ |zero or more |Specifies the application's web tier configuration.
+
+a|
+link:#beavo[`pass-by-reference`]
+
+
+ |zero or one |Determines whether EJB modules use pass-by-value or
+pass-by-reference semantics.
+
+a|
+link:#beayk[`unique-id`]
+
+
+ |zero or one |Contains the unique ID for the application.
+
+a|
+link:#beaxg[`security-role-mapping`]
+
+
+ |zero or more |Maps a role in the corresponding Jakarta EE XML file to a
+user or group.
+
+a|
+link:#beawi[`realm`]
+
+
+ |zero or one |Specifies an authentication realm.
+
+a|
+link:#beasu[`ejb-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `ejb-ref` in the
+corresponding Jakarta EE XML file.
+
+a|
+link:#beaww[`resource-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
+corresponding Jakarta EE XML file.
+
+a|
+link:#beawu[`resource-env-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
+the corresponding Jakarta EE XML file.
+
+a|
+link:#beaxk[`service-ref`]
+
+
+ |zero or more |Specifies runtime settings for a web service reference.
+
+a|
+link:#gauao[`message-destination-ref`]
+
+
+ |zero or more |Specifies the name of a physical message destination.
+
+a|
+link:#beauu[`message-destination`]
+
+
+ |zero or more |Specifies the name of a logical message destination.
+
+a|
+link:#gjizj[`archive-name`]
+
+
+ |zero or one |Specifies the name of the archive file.
+
+a|
+link:#gjjak[`compatibility`]
+
+
+ |zero or one |Specifies the {productName} release with which to be
+backward compatible in terms of JAR visibility requirements for
+applications.
+
+a|
+link:#gkhtr[`keep-state`]
+
+
+ |zero or one |Retains web sessions, stateful session bean instances,
+and persistently created EJB timers across redeployments.
+
+a|
+link:#gkkfd[`version-identifier`]
+
+
+ |zero or one |Contains version information for an application.
+|===
+
+
+[[beaxx]][[GSDPG00159]][[glassfish-application-client]]
+
+=== `glassfish-application-client`
+
+Defines the {productName} specific configuration for an application
+client. This is the root element; there can only be one
+`glassfish-application-client` element in a
+`glassfish-application-client.xml` file. See link:dd-files.html#beaqo[The
+glassfish-application-client.xml file].
+
+[[fvzgq]][[GSDPG00491]][[superelements-74]]
+
+==== Superelements
+
+none
+
+[[fvzja]][[GSDPG00492]][[subelements-72]]
+
+==== Subelements
+
+The following table describes subelements for the
+`glassfish-application-client` element.
+
+[[GSDPG920]][[sthref103]][[fvzjh]]
+
+
+Table C-63 `glassfish-application-client` subelements
+
+[width="100%",cols="28%,12%,60%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beasu[`ejb-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `ejb-ref` in the
+corresponding Jakarta EE XML file.
+
+a|
+link:#beaww[`resource-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
+corresponding Jakarta EE XML file.
+
+a|
+link:#beawu[`resource-env-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
+the corresponding Jakarta EE XML file.
+
+a|
+link:#beaxk[`service-ref`]
+
+
+ |zero or more |Specifies runtime settings for a web service reference.
+
+a|
+link:#gauao[`message-destination-ref`]
+
+
+ |zero or more |Specifies the name of a physical message destination.
+
+a|
+link:#beauu[`message-destination`]
+
+
+ |zero or more |Specifies the name of a logical message destination.
+
+a|
+link:#gauax[`java-web-start-access`]
+
+
+ |zero or one |Specifies changes to default Java Web Start parameters.
+
+a|
+link:#gkkfd[`version-identifier`]
+
+
+ |zero or one |Contains version information for an application client.
+|===
+
+
+[[beaya]][[GSDPG00160]][[glassfish-ejb-jar]]
+
+=== `glassfish-ejb-jar`
+
+Defines the {productName} specific configuration for an EJB JAR file.
+This is the root element; there can only be one `glassfish-ejb-jar`
+element in a `glassfish-ejb-jar.xml` file. See
+link:dd-files.html#beaqm[The glassfish-ejb-jar.xml File].
+
+[[fvzhw]][[GSDPG00493]][[superelements-75]]
+
+==== Superelements
+
+none
+
+[[fvzfv]][[GSDPG00494]][[subelements-73]]
+
+==== Subelements
+
+The following table describes subelements for the `glassfish-ejb-jar`
+element.
+
+[[GSDPG921]][[sthref104]][[fvzfu]]
+
+
+Table C-64 `glassfish-ejb-jar` Subelements
+
+[width="100%",cols="36%,12%,52%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxg[`security-role-mapping`]
+
+
+ |zero or more |Maps a role in the corresponding Jakarta EE XML file to a
+user or group.
+
+a|
+link:#beasx[`enterprise-beans`]
+
+
+ |only one |Describes all the runtime properties for an EJB JAR file in
+the application.
+
+a|
+link:#gjjak[`compatibility`]
+
+
+ |zero or one |Specifies the {productName} release with which to be
+backward compatible in terms of JAR visibility requirements for
+applications.
+
+a|
+link:#gkhtw[`disable-nonportable-jndi-names`]
+
+
+ |zero or one |Disables {productName} specific JNDI names.
+
+a|
+link:#gkhtr[`keep-state`]
+
+
+ |zero or one |Retains stateful session bean instances and persistently
+created EJB timers across redeployments.
+
+a|
+link:#gkkfd[`version-identifier`]
+
+
+ |zero or one |Contains version information for an EJB module.
+|===
+
+
+[[beayb]][[GSDPG00161]][[glassfish-web-app]]
+
+=== `glassfish-web-app`
+
+Defines {productName} specific configuration for a web module. This
+is the root element; there can only be one `glassfish-web-app` element
+in a `glassfish-web.xml` file. See link:dd-files.html#beaql[The
+glassfish-web.xml File].
+
+[[fvzgj]][[GSDPG00495]][[superelements-76]]
+
+==== Superelements
+
+none
+
+[[fvzhr]][[GSDPG00496]][[subelements-74]]
+
+==== Subelements
+
+The following table describes subelements for the `glassfish-web-app`
+element.
+
+[[GSDPG922]][[sthref105]][[fvzgf]]
+
+
+Table C-65 `glassfish-web-app` Subelements
+
+[width="100%",cols="28%,12%,60%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beasg[`context-root`]
+
+
+ |zero or one |Contains the web context root for the web module.
+
+a|
+link:#beaxg[`security-role-mapping`]
+
+
+ |zero or more |Maps roles to users or groups in the currently active
+realm.
+
+a|
+link:#beaxm[`servlet`]
+
+
+ |zero or more |Specifies a principal name for a servlet, which is used
+for the `run-as` role defined in `web.xml`.
+
+a|
+link:#beatm[`idempotent-url-pattern`]
+
+
+ |zero or more |Specifies a URL pattern for idempotent requests.
+
+a|
+link:#beaxp[`session-config`]
+
+
+ |zero or one |Specifies session manager, session cookie, and other
+session-related information.
+
+a|
+link:#beasu[`ejb-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `ejb-ref` in the
+corresponding Jakarta EE XML file.
+
+a|
+link:#beaww[`resource-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
+corresponding Jakarta EE XML file.
+
+a|
+link:#beawu[`resource-env-ref`]
+
+
+ |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
+the corresponding Jakarta EE XML file.
+
+a|
+link:#beaxk[`service-ref`]
+
+
+ |zero or more |Specifies runtime settings for a web service reference.
+
+a|
+link:#gauao[`message-destination-ref`]
+
+
+ |zero or more |Specifies the name of a physical message destination.
+
+a|
+link:#beard[`cache`]
+
+
+ |zero or one |Configures caching for web application components.
+
+a|
+link:#bearq[`class-loader`]
+
+
+ |zero or one |Specifies class loader configuration information.
+
+a|
+link:#beatx[`jsp-config`]
+
+
+ |zero or one |Specifies JSP configuration information.
+
+a|
+link:#beaue[`locale-charset-info`]
+
+
+ |zero or one |Deprecated. Use the `parameter-encoding` subelement of
+`glassfish-web-app` instead.
+
+a|
+link:#beavn[`parameter-encoding`]
+
+
+ |zero or one |Determines the default request character encoding and how
+the web container decodes parameters from forms according to a hidden
+field value.
+
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+
+a|
+link:#gikqk[`valve`]
+
+
+ |zero or more |Specifies a custom valve.
+
+a|
+link:#beauu[`message-destination`]
+
+
+ |zero or more |Specifies the name of a logical message destination.
+
+a|
+link:#beayt[`webservice-description`]
+
+
+ |zero or more |Specifies a name and optional publish location for a web
+service.
+
+a|
+link:#gkhtr[`keep-state`]
+
+
+ |zero or one |Retains web sessions across redeployments.
+
+a|
+link:#gkkfd[`version-identifier`]
+
+
+ |zero or one |Contains version information for a web application.
+|===
+
+
+[[fvzia]][[GSDPG00497]][[attributes-16]]
+
+==== Attributes
+
+The following table describes attributes for the `glassfish-web-app`
+element.
+
+[[GSDPG923]][[sthref106]][[fvzjf]]
+
+
+Table C-66 `glassfish-web-app` Attributes
+
+[width="172%",cols="17%,46%,37%",options="header",]
+|===
+|Attribute |Default |Description
+|`error-url` |(blank) |(optional) Not implemented. Do not use.
+
+|`httpservlet-``security-``provider` |none |(optional) Specifies the
+`HttpServlet` message layer provider that the web container's servlet
+`auth-constraint` processing calls.
+|===
+
+
+[[fvzgt]][[GSDPG00498]][[properties-7]]
+
+==== Properties
+
+The following table describes properties for the `glassfish-web-app`
+element.
+
+[[GSDPG924]][[sthref107]][[fvzim]]
+
+
+Table C-67 `glassfish-web-app` Properties
+
+[width="100%",cols="35%,23%,42%",options="header",]
+|===
+|Property |Default |Description
+|`allowLinking` |`false` a|
+If `true`, resources in this web application that are symbolic links are
+served. You can also define this property for a virtual server. Web
+applications on the virtual server that do not define this property use
+the virtual server's value. For details, see
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+
+Caution: Setting this property to `true` on Windows systems exposes JSP
+source code.
+
+|`alternatedocroot_n` |none a|
+Specifies an alternate document root (docroot), where n is a positive
+integer that allows specification of more than one. Alternate docroots
+allow web applications to serve requests for certain resources from
+outside their own docroot, based on whether those requests match one (or
+more) of the URI patterns of the web application's alternate docroots.
+
+If a request matches an alternate docroot's URI pattern, it is mapped to
+the alternate docroot by appending the request URI (minus the web
+application's context root) to the alternate docroot's physical location
+(directory). If a request matches multiple URI patterns, the alternate
+docroot is determined according to the following precedence order:
+
+* Exact match
+* Longest path match
+* Extension match
+
+For example, the following properties specify three alternate docroots.
+The URI pattern of the first alternate docroot uses an exact match,
+whereas the URI patterns of the second and third alternate docroots use
+extension and longest path prefix matches, respectively.
+
+[source,xml]
+----
+<property name="alternatedocroot_1"
+   value="from=/my.jpg dir=/srv/images/jpg"/>
+<property name="alternatedocroot_2"
+   value="from=*.jpg dir=/srv/images/jpg"/>
+<property name="alternatedocroot_3"
+   value="from=/jpg/* dir=/src/images"/>
+----
+
+The `value` of each alternate docroot has two components: The first
+component, `from`, specifies the alternate docroot's URI pattern, and
+the second component, `dir`, specifies the alternate docroot's physical
+location (directory). Spaces are allowed in the `dir` component.
+
+You can set this property for all the web applications on a specific
+virtual server. For details, see
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+
+|`valve_n` |none a|
+This property is deprecated. Use the link:#gikqk[`valve`] subelement
+instead.
+
+Specifies a fully qualified class name of a custom valve, where n is a
+positive integer that allows specification of more than one. The valve
+class must implement the org.apache.catalina.Valve interface from Tomcat
+or previous {productName} releases, or the
+org.glassfish.web.valve.GlassFishValve interface from the current
+{productName} release. For example:
+
+[source,xml]
+----
+<property name="valve_1"
+   value="org.glassfish.extension.Valve"/>
+----
+
+You can set this property for all the web applications on a specific
+virtual server. For details, see
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+
+|`listener_n` |none a|
+Specifies a fully qualified class name of a custom Catalina listener,
+where n is a positive integer that allows specification of more than
+one. The listener class must implement the
+org.apache.catalina.ContainerListener,
+org.apache.catalina.LifecycleListener, or
+org.apache.catalina.InstanceListener interface. For example:
+
+[source,xml]
+----
+<property name="listener_1"
+   value="org.glassfish.extension.MyLifecycleListener"/>
+----
+
+You can set this property for all the web applications on a specific
+virtual server. For details, see
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+
+|`crossContextAllowed` |`true` |If `true`, allows this web application
+to access the contexts of other web applications using the
+`ServletContext.``getContext()`method.
+
+|`relativeRedirectAllowed` |`false` |If `true`, allows this web
+application to send a relative URL to the client using
+`HttpServletResponse.``sendRedirect()`, and instructs the web container
+not to translate any relative URLs to fully qualified ones.
+
+|`reuseSessionID` |`false` |If `true`, sessions generated for this web
+application use the session ID specified in the request.
+
+|`securePagesWithPragma` |`true` a|
+Set this property to `false` to ensure that for this web application
+file downloads using SSL work properly in Internet Explorer.
+
+You can set this property for all the web applications on a specific
+virtual server. For details, see
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+
+|`singleThreadedServletPoolSize` |`5` |Specifies the maximum number of
+servlet instances allocated for each `SingleThreadModel` servlet in the
+web application.
+
+|`tempdir` a|
+domain-dir`/generated/`app-name
+
+or
+
+domain-dir`/generated/`module-name
+
+ |Specifies a temporary directory for use by this web module. This value
+is used to construct the value of the `javax.servlet.context.``tempdir`
+context attribute. Compiled JSP files are also placed in this directory.
+
+|`useResponseCTForHeaders` |`false` |If `true`, response headers are
+encoded using the response's charset instead of the default (UTF-8).
+|===
+
+
+[[giygy]][[GSDPG00162]][[group-map]]
+
+=== `group-map`
+
+Maps an EIS group to a group defined in the {productName} domain.
+
+[[GSDPG925]][[sthref108]]
+
+
+[[superelements-77]]
+==== Superelements
+
+link:#giyht[`work-security-map`] (`glassfish-resources.xml`)
+
+[[giyid]][[GSDPG00499]][[subelements-75]]
+
+==== Subelements
+
+none
+
+[[GSDPG926]][[sthref109]]
+
+
+[[attributes-17]]
+==== Attributes
+
+The following table describes attributes for the `group-map` element.
+
+[[GSDPG927]][[sthref110]][[sthref111]]
+
+
+Table C-68 `group-map` Attributes
+
+[width="181%",cols="13%,49%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`eis-group` |none |Specifies an EIS group.
+
+|`mapped-group` |none |Specifies a group defined in the {productName}
+domain.
+|===
+
+
+[[beati]][[GSDPG00163]][[group-name]]
+
+=== `group-name`
+
+Specifies a group name in the current realm.
+
+[[fvzak]][[GSDPG00500]][[superelements-78]]
+
+==== Superelements
+
+link:#beaxg[`security-role-mapping`] (`glassfish-application.xml`,
+`glassfish-web.xml`, `glassfish-ejb-jar.xml`)
+
+[[fvywm]][[GSDPG00501]][[subelements-76]]
+
+==== Subelements
+
+none - contains data
+
+[[beatk]][[GSDPG00502]][[http-method]]
+
+==== `http-method`
+
+Specifies an HTTP method that is eligible for caching. The default is
+`GET`.
+
+[[fvzbq]][[GSDPG00317]][[superelements-79]]
+
+===== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvyyj]][[GSDPG00318]][[subelements-77]]
+
+===== Subelements
+
+none - contains data
+
+[[beatm]][[GSDPG00164]][[idempotent-url-pattern]]
+
+=== `idempotent-url-pattern`
+
+Specifies a URL pattern for idempotent requests.
+
+[[fvzaj]][[GSDPG00503]][[superelements-80]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[fvzea]][[GSDPG00504]][[subelements-78]]
+
+==== Subelements
+
+none
+
+[[fvyxx]][[GSDPG00505]][[attributes-18]]
+
+==== Attributes
+
+The following table describes attributes for the
+`idempotent-url-pattern` element.
+
+[[GSDPG928]][[sthref112]][[fvzca]]
+
+
+Table C-69 `idempotent-url-pattern` Attributes
+
+[width="181%",cols="12%,49%,39%",options="header",]
+|===
+|Attribute |Default |Description
+|`url-pattern`
+|none
+|Specifies a URL pattern, which can contain wildcards.
+The URL pattern must conform to the mappings specified in section SRV 11.2 of the Servlet 2.4 specification.
+
+|`no-of-retries`
+|`-1`
+|(optional) Specifies the number of times the load balancer retries an idempotent request.
+A value of `-1` indicates infinite retries.
+|===
+
+
+[[fvyxy]][[GSDPG00506]][[example-6]]
+
+==== Example
+
+The following example specifies that all requests for the URI
+`sun-java/*` are idempotent.
+
+[source,xml]
+----
+<idempotent-url-pattern url-pattern="sun_java/*" no-of-retries="10"/>
+----
+
+[[beatn]][[GSDPG00165]][[integrity]]
+
+=== `integrity`
+
+Specifies if the target supports integrity-protected messages. The
+values are `NONE`, `SUPPORTED`, or `REQUIRED`.
+
+[[fvzdj]][[GSDPG00507]][[superelements-81]]
+
+==== Superelements
+
+link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvzdv]][[GSDPG00508]][[subelements-79]]
+
+==== Subelements
+
+none - contains data
+
+[[beato]][[GSDPG00166]][[ior-security-config]]
+
+=== `ior-security-config`
+
+Specifies the security information for the interoperable object
+reference (IOR).
+
+[[fvzbe]][[GSDPG00509]][[superelements-82]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvzbv]][[GSDPG00510]][[subelements-80]]
+
+==== Subelements
+
+The following table describes subelements for the `ior-security-config`
+element.
+
+[[GSDPG929]][[sthref113]][[fvyyk]]
+
+
+Table C-70 `ior-security-config` Subelements
+
+[width="100%",cols="20%,11%,69%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beayh[`transport-config`]
+
+
+ |zero or one |Specifies the security information for transport.
+
+a|
+link:#beaqw[`as-context`]
+
+
+ |zero or one |Specifies the authentication mechanism used to
+authenticate the client. If specified, it is `USERNAME_PASSWORD`.
+
+a|
+link:#beaxb[`sas-context`]
+
+
+ |zero or one |Describes the sas-context fields.
+|===
+
+
+[[beatp]][[GSDPG00167]][[is-cache-overflow-allowed]]
+
+=== `is-cache-overflow-allowed`
+
+This element is deprecated. Do not use.
+
+[[fvzcu]][[GSDPG00511]][[superelements-83]]
+
+==== Superelements
+
+link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
+
+[[beatq]][[GSDPG00168]][[is-one-one-cmp]]
+
+=== `is-one-one-cmp`
+
+This element is not used.
+
+[[fvyww]][[GSDPG00512]][[superelements-84]]
+
+==== Superelements
+
+link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
+
+[[beatr]][[GSDPG00169]][[is-read-only-bean]]
+
+=== `is-read-only-bean`
+
+Specifies that this entity bean is a read-only bean if `true`. If this
+element is absent, the default value of `false` is used.
+
+[[fvzan]][[GSDPG00513]][[superelements-85]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyvx]][[GSDPG00514]][[subelements-81]]
+
+==== Subelements
+
+none - contains data
+
+[[beatt]][[GSDPG00170]][[java-method]]
+
+=== `java-method`
+
+Specifies a method.
+
+[[fvyyw]][[GSDPG00515]][[superelements-86]]
+
+==== Superelements
+
+link:#beaut[`message`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvyvo]][[GSDPG00516]][[subelements-82]]
+
+==== Subelements
+
+The following table describes subelements for the `java-method` element.
+
+[[GSDPG930]][[sthref114]][[fvzdu]]
+
+
+Table C-71 `java-method` Subelements
+
+[width="100%",cols="30%,14%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavb[`method-name`]
+
+
+ |only one |Specifies a method name.
+
+a|
+link:#beavd[`method-params`]
+
+
+ |zero or one |Specifies fully qualified Java type names of method
+parameters.
+|===
+
+
+[[gauax]][[GSDPG00171]][[java-web-start-access]]
+
+=== `java-web-start-access`
+
+Specifies changes to default Java Web Start parameters for an embedded
+or stand-alone application client module.
+
+[[gauba]][[GSDPG00517]][[superelements-87]]
+
+==== Superelements
+
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[gauav]][[GSDPG00518]][[subelements-83]]
+
+==== Subelements
+
+The following table describes subelements for the
+`java-web-start-access` element.
+
+[[GSDPG931]][[sthref115]][[gauaw]]
+
+
+Table C-72 `java-web-start-access` subelements
+
+[width="100%",cols="15%,11%,74%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beasg[`context-root`]
+
+
+ |zero or one a|
+Contains the context root for the Java Web Start enabled application
+client module. If none is specified, a default is generated.
+
+The default for a web module is as follows:
+
+[source]
+----
+http://host:port/app-name/relative-URI-to-appclient-jar
+----
+
+The default for a stand-alone application client module is as follows:
+
+[source]
+----
+http://host:port/module-name
+----
+
+If the `module-name` is not specified during deployment, the name of the
+EAR or JAR file without the extension is used. If the web module is not
+in EAR or JAR file format, a name is generated and written to the server
+log.
+
+a|
+link:#gaubh[`eligible`]
+
+
+ |zero or one |Specifies whether the application client module is
+eligible to be Java Web Start enabled. Allowed values are `true` (the
+default) and `false`.
+
+a|
+link:#gbgdw[`vendor`]
+
+
+ |zero or one |Specifies the name of the vendor as it appears in Java
+Web Start download and launch screens. The default value is
+`Application Client`.
+
+a|
+link:#gkhun[`jnlp-doc`]
+
+
+ |zero or one |Specifies the name of a custom JNLP file. If none is
+specified, a default JNLP file is generated.
+|===
+
+
+[[giyil]][[GSDPG00172]][[jdbc-connection-pool]]
+
+=== `jdbc-connection-pool`
+
+Defines the attributes and properties that are required for creating a
+JDBC connection pool.
+
+[[GSDPG932]][[sthref116]]
+
+
+[[superelements-88]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG933]][[sthref117]]
+
+
+[[subelements-84]]
+==== Subelements
+
+The following table describes subelements for the `jdbc-connection-pool`
+element.
+
+[[GSDPG934]][[sthref118]][[sthref119]]
+
+
+Table C-73 `jdbc-connection-pool` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG935]][[sthref120]]
+
+
+[[attributes-19]]
+==== Attributes
+
+The following table describes attributes for the `jdbc-connection-pool`
+element. Changing the following attributes requires a server restart or
+the redeployment or disabling and re-enabling of applications that refer
+to the resource: `datasource-classname`, `associate-with-thread`,
+`lazy-connection-association`, and `lazy-connection-enlistment`.
+
+[[GSDPG936]][[sthref121]][[sthref122]]
+
+
+Table C-74 `jdbc-connection-pool` Attributes
+
+[width="181%",cols="24%,49%,27%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the name of the connection pool. A
+link:#giyhm[`jdbc-resource`] element's `pool-name` attribute refers to
+this `name`.
+
+|`datasource-classname` |none |(optional) Specifies the class name of
+the associated vendor-supplied data source. This class must implement
+javax.sql.DataSource, javax.sql.XADataSource ,
+javax.sql.ConnectionPoolDatasource , or a combination.
+
+|`res-type` |none |(optional) Specifies the interface the data source
+class implements. The value of this attribute can be
+javax.sql.DataSource, javax.sql.XADataSource ,
+javax.sql.ConnectionPoolDatasource , or java.sql.Driver. To support
+configuration of JDBC drivers and applications that use java.sql.Driver
+implementations, set this attribute to java.sql.Driver . This attribute
+must be specified to avoid ambiguity when a data source class implements
+two or more of these interfaces or when a `driver-classname` is
+specified. An error occurs if this attribute has a legal value and the
+indicated interface is not implemented by the data source class.
+
+|`driver-classname` |none |(optional) Specifies the vendor-supplied
+JDBC driver class name. This driver must implement the java.sql.Driver
+interface.
+
+|`ping` |`false` |(optional) Specifies whether to ping the pool during
+pool creation or reconfiguration to identify and warn of any erroneous
+attribute values.
+
+|`steady-pool-size` |`8` |(optional) Specifies the initial and minimum
+number of connections maintained in the pool.
+
+|`max-pool-size` |`32` |(optional) Specifies the maximum number of
+connections that can be created to satisfy client requests.
+
+|`max-wait-time-in-millis` |`60000` |(optional) Specifies the amount
+of time, in milliseconds, that the caller is willing to wait for a
+connection. If `0`, the caller is blocked indefinitely until a resource
+is available or an error occurs.
+
+|`pool-resize-quantity` |`2` a|
+(optional) Specifies the number of idle connections to be destroyed if
+the existing number of connections is above the `steady-pool-size`
+(subject to the `max-pool-size` limit).
+
+This is enforced periodically at the `idle-timeout-in-seconds` interval.
+An idle connection is one that has not been used for a period of
+`idle-timeout-in-seconds`. When the pool size reaches
+`steady-pool-size`, connection removal stops.
+
+|`idle-timeout-in-seconds` |`300` a|
+(optional) Specifies the maximum time that a connection can remain idle
+in the pool. After this amount of time, the pool can close this
+connection.
+
+This timeout value must be kept shorter than the server side (database)
+timeout value to prevent the accumulation of unusable connections in the
+application.
+
+|`transaction-isolation-level` |default JDBC driver isolation level a|
+(optional) Specifies the transaction isolation level on the pooled
+database connections. Allowed values are `read-uncommitted`,
+`read-committed` , `repeatable-read`, or `serializable`.
+
+Applications that change the isolation level on a pooled connection
+programmatically risk polluting the pool, which can lead to errors. See
+`is-isolation-level-guaranteed` for more details.
+
+|`is-isolation-level-guaranteed` |`true` |(optional) Applicable only
+when `transaction-``isolation-``level` is explicitly set. If `true`,
+every connection obtained from the pool is guaranteed to have the
+desired isolation level. This might impact performance on some JDBC
+drivers. Only set this attribute to `false` if you are certain that the
+hosted applications do not return connections with altered isolation
+levels.
+
+|`is-connection-validation-required` |`false` |(optional) Specifies
+whether connections have to be validated before being given to the
+application. If a resource's validation fails, it is destroyed, and a
+new resource is created and returned.
+
+|`connection-validation-method` |`table` a|
+(optional) Legal values are as follows:
+
+* `auto-commit`, which uses
+`Connection.``setAutoCommit``(Connection.``getAutoCommit())`
+* `meta-data`, which uses `Connection.getMetaData()`
+* `table`, which performs a query on a table specified in the
+`validation-table-name` attribute
+* `custom-validation`, which uses a user-defined validation mechanism
+specified by the custom implementation class in `validation-classname`.
+
+Because many JDBC drivers cache the results of `auto-commit` and
+`meta-data` calls, they do not always provide reliable validations.
+Check with the driver vendor to determine whether these calls are cached
+or not.
+
+The `table` must exist and be accessible, but it doesn't require any
+rows. Do not use an existing table that has a large number of rows or a
+table that is already frequently accessed.
+
+|`validation-table-name` |none |(optional) Specifies the table name
+to be used to perform a query to validate a connection. This parameter
+is mandatory if and only if `connection-``validation-``method` is set to
+`table`.
+
+|`validation-classname` |none a|
+(optional) Specifies the custom validation implementation class name.
+This parameter is mandatory if `connection-validation-method` is set to
+`custom-validation`. The classname provided must be accessible to the
+{productName}. The specified class must implement the
+org.glassfish.api.jdbc.ConnectionValidation interface.
+
+{productName} provides the following custom validation class
+templates for MSSQL, DB2, and Sybase databases. All of them implement
+the org.glassfish.api.jdbc.ConnectionValidation interface.
+
+* `org.glassfish.api.jdbc.MSSQLConnectionValidation`
+* `org.glassfish.api.jdbc.DB2ConnectionValidation`
+* `org.glassfish.api.jdbc.SybaseConnectionValidation`
+
+|`init-sql` |none |(optional) Specifies an SQL string to be executed
+whenever a connection is created (not reused) in the pool. This
+initializes the state of the connection.
+
+|`fail-all-connections` |`false` |(optional) If `true`, closes all
+connections in the pool if a single validation check fails. This
+parameter is mandatory if and only if
+`is-connection-validation-required` is set to `true`.
+
+|`non-transactional-connections` |`false` |(optional) If `true`,
+non-transactional connections can be made to the JDBC connection pool.
+These connections are not automatically enlisted with the transaction
+manager.
+
+|`allow-non-component-callers` |`false` |(optional) If `true`,
+non-Java-EE components, such as servlet filters, lifecycle modules, and
+third party persistence managers, can use this JDBC connection pool. The
+returned connection is automatically enlisted with the transaction
+context obtained from the transaction manager. Standard Jakarta EE
+components can also use such pools. Connections obtained by
+non-component callers are not automatically closed at the end of a
+transaction by the container. They must be explicitly closed by the
+caller.
+
+|`validate-atmost-once-period-in-seconds` |`0` a|
+(optional) Specifies the time interval within which a connection is
+validated at most once. Minimizes the number of validation calls.
+
+A value of zero implies that {productName} does not attempt to
+minimize the number of validation requests by a connection. That is, a
+value of zero disables this attribute. As a result, the same connection
+is validated every time the application acquires the connection.
+
+|`connection-leak-timeout-in-seconds` |`0` a|
+(optional) Detects potential connection leaks by the application. A
+connection that is not returned back to the pool by the application
+within the specified period is assumed to be potentially leaking, and a
+stack trace of the caller is logged. A zero value disables leak
+detection. A nonzero value enables leak tracing.
+
+Use this attribute along with `connection-leak-reclaim` to avoid
+potential connection leaks from the application.
+
+|`connection-leak-reclaim` |`false` |(optional) If `true`, the pool
+will reclaim a connection after `connection-leak-timeout-in-seconds`
+occurs.
+
+|`connection-creation-retry-attempts` |`0` |(optional) Specifies the
+number of attempts to create a new connection in case of a failure.
+
+|`connection-creation-retry-interval-``in-seconds` |`10` |(optional)
+Specifies the time interval between attempts to create a connection when
+`connection-creation-retry-attempts` is greater than `0`.
+
+|`statement-leak-timeout-in-seconds` |`0` a|
+(optional) Detects potential statement leaks by the application. A
+statement that is not closed by the application within the specified
+period is assumed to be potentially leaking, and a stack trace of the
+caller is logged. A zero value disables leak detection. A nonzero value
+enables leak tracing.
+
+Use this attribute along with `statement-leak-reclaim` to avoid
+potential statement leaks from the application.
+
+|`statement-leak-reclaim` |`false` |(optional) If `true`, the reclaim
+of a statement after `statement-leak-timeout-in-seconds` occurs.
+
+|`statement-timeout-in-seconds` |`-1` a|
+(optional) Sets the query timeout property of a statement to enable
+termination of abnormally long running queries. The default value of
+`-1` disables this feature.
+
+An abnormally long running JDBC query executed by an application may
+leave it in a hanging state unless a timeout is explicitly set on the
+statement. This attribute guarantees that all queries automatically time
+out if not completed within the specified period. When statements are
+created, the `queryTimeout` is set according to the value specified in
+this attribute. This works only when the underlying JDBC driver supports
+`queryTimeout` for `Statement`, `PreparedStatement`,
+`CallableStatement`, and `ResultSet`.
+
+|`lazy-connection-enlistment` |`false` |(optional) If `true`, a
+connection is not enlisted in a transaction until it is used. If
+`false`, any connection object available to a transaction is enlisted in
+the transaction.
+
+|`lazy-connection-association` |`false` |(optional) If `true`, a
+physical connection is not associated with a logical connection until it
+is used. If `false`, a physical connection is associated with a logical
+connection even before it is used.
+
+|`associate-with-thread` |`false` a|
+(optional) Specifies whether connections are associated with the thread
+to enable the thread to reuse the connections. If `true`, allows
+connections to be saved as `ThreadLocal` in the calling thread.
+Connections get reclaimed only when the calling thread dies or when the
+calling thread is not in use and the pool has run out of connections. If
+`false`, the thread must obtain a connection from the pool each time the
+thread requires a connection.
+
+This attribute associates connections with a thread such that when the
+same thread is in need of connections, it can reuse the connections
+already associated with that thread. In this case, the overhead of
+getting connections from the pool is avoided. However, when this value
+is set to `true`, you should verify that the value of the
+`max-pool-size` attribute is comparable to the `max-thread-pool-size`
+attribute of the associated thread pool. If the `max-thread-pool-size`
+value is much higher than the `max-pool-size` value, a lot of time is
+spent associating connections with a new thread after dissociating them
+from an older one. Use this attribute in cases where the thread pool
+should reuse connections to avoid this overhead.
+
+| | |
+
+|`match-connections` |`false` a|
+(optional) Specifies whether a connection that is selected from the pool
+should be matched with the connections with certain credentials. If
+`true`, enables connection matching. You can set to `false` if
+connections are homogeneous.
+
+If the connection pool is used by applications that have multiple user
+credentials, `match-connections` must be `true`. The connection pool
+matches the request's credential with the connections in the pool and
+returns a matched connection for use. For new requests with different
+credentials, unmatched free connections are automatically purged to
+provide new connections to satisfy the new requests. This attribute need
+not be `true` if it is known that there is only one credential used by
+the applications and therefore the pool has homogeneous connections.
+
+|`max-connection-usage-count` |`0` |(optional) Specifies the number of
+times a connections is reused by the pool, after which it is closed. A
+zero value disables this feature. By limiting the maximum number of
+times a connection can be reused, you can avoid statement leaks if the
+application does not close statements.
+
+|`sql-trace-listeners` |none |(optional) Specifies that SQL statements
+executed by applications need to be traced. Helps administrators analyze
+the statements. Expects as a value a comma-separated list of listener
+implementation class names. Enables easy filtering of log messages for
+the SQL statements. SQL trace listeners must implement the
+org.glassfish.api.jdbc.SQLTraceListener interface.
+
+|`statement-cache-size` |`0` |(optional) Specifies the number of
+statements to be cached using the `lru` (Least Recently Used) caching
+mechanism. The default value of `0` disables statement caching.
+
+|`pooling` |`true` |(optional) If `false`, disables connection pooling.
+
+|`wrap-jdbc-objects` |`true` a|
+(optional) If `true`, wrapped JDBC objects are returned for `Statement`,
+`PreparedStatement`, `CallableStatement`, `ResultSet`, and
+`DatabaseMetaData`.
+
+This option ensures that `Statement.getConnection()` is the same as
+`DataSource.getConnection()`. Therefore, this option should be `true`
+when both `Statement.getConnection()` and `DataSource.getConnection()`
+are done. The default is `false` to avoid breaking existing
+applications.
+
+|===
+
+
+[[GSDPG937]][[sthref123]]
+
+
+[[glassfish-server-properties]]
+==== {productName} Properties
+
+The following table describes properties for the `jdbc-connection-pool`
+element that are specific to {productName}.
+
+[[GSDPG938]][[sthref124]][[sthref125]]
+
+
+Table C-75 `jdbc-connection-pool` Database Properties
+
+[width="172%",cols="18%,46%,36%",options="header",]
+|===
+|Property |Default |Description
+|`dynamic-reconfiguration-wait-timeout-in-seconds` |none a|
+Specifies the timeout for dynamic reconfiguration of the pool.
+In-progress connection requests must complete before this timeout
+expires or they must be retried. New connection requests wait for this
+timeout to expire before acquiring connections to the reconfigured pool.
+If this property exists and has a positive value, it is enabled.
+
+If this property is not set and pool reconfiguration results in pool
+recreation, in-progress connection requests must be retried.
+
+|`number-of-top-queries-to-report` |`10` a|
+Specifies the number of most frequently used queries to display. For
+example, the default value of `10` displays the top ten queries.
+
+This property is disabled when `jdbc-connection-pool` monitoring is set
+to `LOW` or `OFF`. It is enabled when `jdbc-connection-pool` monitoring
+is set to `HIGH` and the `sql-trace-listeners` attribute is set.
+
+|`time-to-keep-queries-in-minutes` |`5` a|
+Specifies the time to retain queries in a cache before they are purged.
+
+This property is disabled when `jdbc-connection-pool` monitoring is set
+to `LOW` or `OFF`. It is enabled when `jdbc-connection-pool` monitoring
+is set to `HIGH` and the `sql-trace-listeners` attribute is set.
+
+|===
+
+
+[[GSDPG939]][[sthref126]]
+
+
+[[database-properties]]
+==== Database Properties
+
+Most JDBC drivers allow use of standard property lists to specify the
+user, password, and other resource configuration information. Although
+properties are optional with respect to the {productName}, some
+properties might be necessary for most databases. For details, see the
+JDBC 4.0 Standard Extension API.
+
+When properties are specified, they are passed to the vendor's data
+source class (specified by the `datasource-classname` attribute) as is
+using setName(value) methods.
+
+The `user` and `password` properties are used as the default principal
+if container managed authentication is specified and a
+`default-resource-principal` is not found in the application deployment
+descriptors.
+
+The following table describes some common properties for the
+`jdbc-connection-pool` element.
+
+Changing JDBC driver properties requires a server restart.
+
+[[GSDPG940]][[sthref127]][[sthref128]]
+
+
+Table C-76 `jdbc-connection-pool` Database Properties
+
+[width="100%",cols="19%,81%",options="header",]
+|===
+|Property |Description
+|`user` |Specifies the user name for connecting to the database.
+
+|`password` |Specifies the password for connecting to the database.
+
+|`databaseName` |Specifies the database for this connection pool.
+
+|`serverName` |Specifies the database server for this connection pool.
+
+|`port` |Specifies the port on which the database server listens for
+requests.
+
+|`networkProtocol` |Specifies the communication protocol.
+
+|`roleName` |Specifies the initial SQL role name.
+
+|`datasourceName` |Specifies an underlying XADataSource, or a
+ConnectionPoolDataSource if connection pooling is done.
+
+|`description` |Specifies a text description.
+
+|`url` |Specifies the URL for this connection pool. Although this is not
+a standard property, it is commonly used.
+|===
+
+
+[[giyhm]][[GSDPG00173]][[jdbc-resource]]
+
+=== `jdbc-resource`
+
+Defines a JDBC (javax.sql.DataSource) resource.
+
+[[GSDPG941]][[sthref129]]
+
+
+[[superelements-89]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG942]][[sthref130]]
+
+
+[[subelements-85]]
+==== Subelements
+
+The following table describes subelements for the `jdbc-resource`
+element.
+
+[[GSDPG943]][[sthref131]][[sthref132]]
+
+
+Table C-77 `jdbc-resource` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG944]][[sthref133]]
+
+
+[[attributes-20]]
+==== Attributes
+
+The following table describes attributes for the `jdbc-resource`
+element.
+
+[[GSDPG945]][[sthref134]][[sthref135]]
+
+
+Table C-78 `jdbc-resource` Attributes
+
+[width="172%",cols="9%,46%,45%",options="header",]
+|===
+|Attribute |Default |Description
+|`jndi-name` |none |Specifies the JNDI name for the resource.
+
+|`description` |none |(optional) Specifies a text description of this
+element.
+
+|`pool-name` |none |Specifies the `name` of the associated
+link:#giyil[`jdbc-connection-pool`].
+
+|`object-type` |`user` a|
+(optional) Defines the type of the resource. Allowed values are:
+
+* `system-all` - A system resource for all server instances and the
+domain application server.
+* `system-admin` - A system resource only for the domain application
+server.
+* `system-instance` - A system resource for all server instances only.
+* `user` - A user resource.
+
+|`enabled` |`true` |(optional) Determines whether this resource is
+enabled at runtime.
+|===
+
+
+[[beatu]][[GSDPG00174]][[jms-durable-subscription-name]]
+
+=== `jms-durable-subscription-name`
+
+Specifies the durable subscription associated with a message-driven bean
+class. Only applies to the Java Message Service Topic Destination type,
+and only when the message-driven bean deployment descriptor subscription
+durability is Durable.
+
+[[fvzdb]][[GSDPG00519]][[superelements-90]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvzdp]][[GSDPG00520]][[subelements-86]]
+
+==== Subelements
+
+none - contains data
+
+[[beatv]][[GSDPG00175]][[jms-max-messages-load]]
+
+=== `jms-max-messages-load`
+
+Specifies the maximum number of messages to load into a Java Message
+Service session at one time for a message-driven bean to serve. The
+default is 1.
+
+[[fvyzx]][[GSDPG00521]][[superelements-91]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyxq]][[GSDPG00522]][[subelements-87]]
+
+==== Subelements
+
+none - contains data
+
+[[beatw]][[GSDPG00176]][[jndi-name]]
+
+=== `jndi-name`
+
+Specifies the absolute `jndi-name` of a URL resource or a resource.
+
+For entity beans and session beans, this value specifies the global JNDI
+name of the `EJBHome` object. It is only needed if the entity or session
+bean exposes a remote view.
+
+For JMS message-driven beans, this is the JNDI name of the JMS resource
+from which the message-driven bean consumes JMS messages. This
+information is alternatively specified within the
+link:#beaqs[`activation-config`] subelement of the
+link:#beaus[`mdb-resource-adapter`] element. For more information about
+JMS resources, see "link:application-development-guide/jms.html#GSDVG00020[Using the Java Message Service]" in
+{productName} Application Development Guide.
+
+[[fvyyy]][[GSDPG00523]][[superelements-92]]
+
+==== Superelements
+
+link:#beasu[`ejb-ref`], link:#beauu[`message-destination`],
+link:#beawu[`resource-env-ref`], link:#beaww[`resource-ref`]
+(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`); link:#bearv[`cmp-resource`],
+link:#beass[`ejb`], link:#beaur[`mdb-connection-factory`]
+(`glassfish-ejb-jar.xml`)
+
+[[fvywz]][[GSDPG00524]][[subelements-88]]
+
+==== Subelements
+
+none - contains data
+
+[[gkhun]][[GSDPG00177]][[jnlp-doc]]
+
+=== `jnlp-doc`
+
+Contains the name of a custom JNLP file, which modifies the behavior of
+a Java Web Start enabled application client module. If none is
+specified, a default JNLP file is generated.
+
+The value of this element is a relative path with the following format:
+
+[source]
+----
+[path-to-JAR-in-EAR!]path-to-JNLP-in-JAR
+----
+
+The default path-to-JAR-in-EAR is the current application client JAR
+file. For example, if the JNLP file is in the application client JAR
+file at `custom/myInfo.jnlp`, the element value would look like this:
+
+[source,xml]
+----
+<java-web-start-access>
+   <jnlp-doc>custom/myInfo.jnlp</jnlp-doc>
+</java-web-start-access>
+----
+
+If the application client is inside an EAR file, you can place the
+custom JNLP file inside another JAR file in the EAR. For example, if the
+JNLP file is in a JAR file at `other/myLib.jar`, the element value would
+look like this, with an exclamation point (`!`) separating the path to
+the JAR from the path in the JAR:
+
+[source,xml]
+----
+<java-web-start-access>
+   <jnlp-doc>other/myLib.jar!custom/myInfo.jnlp</jnlp-doc>
+</java-web-start-access>
+----
+
+For information about the allowed contents of a custom JNLP file, see
+"link:application-development-guide/java-clients.html#GSDVG00012[Developing Java Clients]" in {productName} Application Development Guide.
+
+[[gkhuj]][[GSDPG00525]][[superelements-93]]
+
+==== Superelements
+
+link:#gauax[`java-web-start-access`]
+(`glassfish-application-client.xml`)
+
+[[gkhtm]][[GSDPG00526]][[subelements-89]]
+
+==== Subelements
+
+none - contains data
+
+[[beatx]][[GSDPG00178]][[jsp-config]]
+
+=== `jsp-config`
+
+Specifies JSP configuration information.
+
+[[fvywi]][[GSDPG00527]][[superelements-94]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[fvzcs]][[GSDPG00528]][[subelements-90]]
+
+==== Subelements
+
+The following table describes subelements for the `jsp-config` element.
+
+[[GSDPG946]][[sthref136]][[fvyzp]]
+
+
+Table C-79 `jsp-config` Subelements
+
+[width="100%",cols="37%,14%,49%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyzf]][[GSDPG00529]][[properties-8]]
+
+==== Properties
+
+The default property values are tuned for development of JSP files at
+the cost of performance. To maximize performance, set `jsp-config`
+properties to these non-default values:
+
+* `development` - `false` (as an alternative, set to `true` and give
+`modificationTestInterval` a large value)
+* `mappedfile` - `false`
+* `trimSpaces` - `true`
+* `suppressSmap` - `true`
+* `fork` - `false` (on Solaris)
+* `classdebuginfo` - `false`
+
+The following table describes properties for the `jsp-config` element.
+
+[[GSDPG947]][[sthref137]][[fvzde]]
+
+
+Table C-80 `jsp-config` Properties
+
+[width="100%",cols="29%,11%,60%",options="header",]
+|===
+|Property |Default |Description
+|`checkInterval` |`0` |If `development` is set to `false` and
+`checkInterval` is greater than zero, background compilations are
+enabled. The `checkInterval` is the time in seconds between checks to
+see if a JSP file needs to be recompiled.
+
+|`classdebuginfo` |`true` |Specifies whether the generated Java servlets
+are compiled with the debug option set (`-g` for `javac`).
+
+|`classpath` |created dynamically based on the current web application
+|Specifies the classpath to use when compiling generated servlets.
+
+|`compiler` |`javac` a|
+Specifies the compiler Ant uses to compile JSP files. See the Ant
+documentation for more information:
+
+`http://antinstaller.sourceforge.net/manual/manual/`
+
+|`compilerSourceVM` |Depends on {productName}'s Java runtime a|
+Specifies the JDK release with which source compatibility of the
+generated servlets is provided. Same as the `-source` release option of
+`javac`.
+
+For more information, see
+`http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html#options`.
+
+|`compilerTargetVM` |Depends on {productName}'s Java runtime a|
+Specifies the Virtual Machine for the Java platform (JVM software)
+version for which the servlet class files are generated. Same as the
+`-target` release option of `javac`.
+
+For more information, see
+`http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html#options`.
+
+|`defaultBufferNone` |`false` |If `true`, the default for the `buffer`
+attribute of the `page` directive is `none`.
+
+|`development` |`true` |If set to `true`, enables development mode,
+which allows JSP files to be checked for modification. Specify the
+frequency at which JSPs are checked using the `modificationTestInterval`
+property.
+
+|`dumpSmap` |`false` |If set to `true`, dumps SMAP information for JSR
+45 debugging to a file. Set to `false` if `suppressSmap` is `true`.
+
+|`enablePooling` |`true` |If set to `true`, tag handler pooling is
+enabled.
+
+|`enableTldValidation` |`false` |If set to `true`, all Tag Library
+Descriptor (TLD) files referenced by the web application are validated
+against their underlying schema or DTD file.
+
+|`errorOnUseBeanInvalidClassAttribute` |`false` |If set to `true`,
+issues an error when the value of the `class` attribute in a `useBean`
+action is not a valid bean class.
+
+|`fork` |`true` |Specifies that Ant forks the compiling of JSP files,
+using a JVM machine separate from the one in which Tomcat is running.
+
+|`genStrAsByteArray` |`true` |If `true`, text strings are generated as
+bytes (encoded with the page encoding), if the page is not buffered.
+
+|`genStrAsCharArray` |`false` |If set to `true`, generates text strings
+as `char` arrays, which improves performance in some cases.
+
+|`httpMethods` |`*` for all methods |Specifies a comma separated list of
+HTTP methods supported by the `JspServlet`.
+
+|`ieClassId` |`clsid:8AD9C840-``044E-11D1-B3E9-``00805F499D93`
+|Specifies the Java plug-in COM class ID for Internet Explorer. Used by
+the `<jsp:plugin>` tags.
+
+|`ignoreJspFragmentErrors` |`false` |If set to `true`, instructs the
+compiler to ignore any JSP precompilation errors pertaining to
+statically included JSP segments that, despite not being top level JSP
+files, use the `.jsp` or `.jspx` extension (instead of the recommended
+`.jspf`).
+
+|`initialCapacity` |`32` |Specifies the initial capacity of the
+`HashMap` that maps JSP files to their corresponding servlets.
+
+|`javaEncoding` |`UTF8` a|
+Specifies the encoding for the generated Java servlet. This encoding is
+passed to the Java compiler that is used to compile the servlet as well.
+By default, the web container tries to use `UTF8`. If that fails, it
+tries to use the `javaEncoding` value.
+
+For encodings, see:
+
+`http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html`
+
+|`keepgenerated` |`true` with JDK 5 and before and for `jspc`, otherwise
+`false` |If set to `true`, keeps the generated Java files. If `false`,
+deletes the Java files.
+
+|`mappedfile` |`true` |If set to `true`, generates static content with
+one print statement per input line, to ease debugging.
+
+|`modificationTestInterval` |`0` |Specifies the frequency in seconds at
+which JSPs are checked for modification. A value of `0` causes the JSP
+to be checked on every access. Used only if `development` is set to
+`true`.
+
+|`reload-interval` |`0` |Specifies the frequency in seconds at which JSP
+files are checked for modifications. Setting this value to `0` checks
+JSP files for modifications on every request. Setting this value to `-1`
+disables checks for JSP modifications and JSP recompilation.
+
+|`saveBytecode` |`true` for `jspc`, otherwise `false` |If `true`,
+generated byte code is saved to `.class` files? This option is
+meaningful only when the Java compiler API, JSR 199 (available with and
+used as the default on Java 6) is used for `javac` compilations.
+
+|`scratchdir` |The default work directory for the web application
+|Specifies the working directory created for storing all the generated
+code.
+
+|`suppressSmap` |`false` |If set to `true`, generation of SMAP
+information for JSR 45 debugging is suppressed.
+
+|`trimSpaces` |`false` |If set to `true`, trims white spaces in template
+text between actions or directives.
+
+|`usePrecompiled` |`false` a|
+If set to `true`, an accessed JSP file is not compiled. Its precompiled
+servlet class is used instead.
+
+It is assumed that JSP files have been precompiled, and their
+corresponding servlet classes have been bundled in the web application's
+`WEB-INF/lib` or `WEB-INF/classes` directory.
+
+|`xpoweredBy` |`true` |If set to `true`, the X-Powered-By response
+header is added by the generated servlet.
+|===
+
+
+[[gkhtr]][[GSDPG00179]][[keep-state]]
+
+=== `keep-state`
+
+If set to `true`, retains web sessions, stateful session bean instances,
+and persistently created EJB timers across redeployments. The
+`--keepstate` option of the link:reference-manual/redeploy.html#GSRFM00217[`redeploy`] subcommand
+takes precedence. The default for both is `false`.
+
+Some changes to an application between redeployments prevent this
+feature from working properly. For example, do not change the set of
+instance variables in the SFSB bean class.
+
+For web applications, this feature is applicable only if in the
+`glassfish-web-app.xml` file the `persistence-type` attribute of the
+link:#beaxq[`session-manager`] element is `file`.
+
+For stateful session bean instances, the persistence type without high
+availability is set in the server (the `sfsb-persistence-type`
+attribute) and must be set to `file`, which is the default and
+recommended value.
+
+If any active web session, SFSB instance, or EJB timer fails to be
+preserved or restored, none of these will be available when the
+redeployment is complete. However, the redeployment continues and a
+warning is logged.
+
+To preserve active state data, {productName} serializes the data and
+saves it in memory. To restore the data, the class loader of the newly
+redeployed application deserializes the data that was previously saved.
+
+[[gkhto]][[GSDPG00530]][[superelements-95]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
+link:#beayb[`glassfish-web-app`] (`glassfish-web-app.xml`),
+link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
+
+[[gkhuk]][[GSDPG00531]][[subelements-91]]
+
+==== Subelements
+
+none - contains data
+
+[[beatz]][[GSDPG00180]][[key-field]]
+
+=== `key-field`
+
+Specifies a component of the key used to look up and extract cache
+entries. The web container looks for the named parameter, or field, in
+the specified scope.
+
+If this element is not present, the web container uses the Servlet Path
+(the path section that corresponds to the servlet mapping that activated
+the current request). See the Servlet 2.4 specification, section SRV
+4.4, for details on the Servlet Path.
+
+[[fvyvb]][[GSDPG00532]][[superelements-96]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvzal]][[GSDPG00533]][[subelements-92]]
+
+==== Subelements
+
+none
+
+[[fvzdn]][[GSDPG00534]][[attributes-21]]
+
+==== Attributes
+
+The following table describes attributes for the `key-field` element.
+
+[[GSDPG948]][[sthref138]][[fvyyi]]
+
+
+Table C-81 `key-field` Attributes
+
+[width="181%",cols="51%,11%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the input parameter name.
+
+|`scope` |`request.parameter` |(optional) Specifies the scope from which
+the input parameter is retrieved. Allowed values are
+`context.attribute`, `request.header`, `request.parameter`,
+`request.cookie`, `session.id`, and `session.attribute`.
+|===
+
+
+[[beaub]][[GSDPG00181]][[level]]
+
+=== `level`
+
+Specifies the name of a hierarchical fetch group. The name must be an
+integer. Fields and relationships that belong to a hierarchical fetch
+group of equal (or lesser) value are fetched at the same time. The value
+of level must be greater than zero. Only one is allowed.
+
+[[fvyvf]][[GSDPG00535]][[superelements-97]]
+
+==== Superelements
+
+link:#beatc[`fetched-with`] (`sun-cmp-mappings.xml`)
+
+[[fvywq]][[GSDPG00536]][[subelements-93]]
+
+==== Subelements
+
+none - contains data
+
+[[beauc]][[GSDPG00182]][[local-home-impl]]
+
+=== `local-home-impl`
+
+Specifies the fully-qualified class name of the generated `EJBLocalHome`
+`impl` class.
+
+
+[NOTE]
+====
+This value is automatically generated by the server at deployment or
+redeployment time. Do not specify it or change it after deployment.
+====
+
+
+[[fvyzo]][[GSDPG00537]][[superelements-98]]
+
+==== Superelements
+
+link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
+
+[[fvzah]][[GSDPG00538]][[subelements-94]]
+
+==== Subelements
+
+none - contains data
+
+[[beaud]][[GSDPG00183]][[local-impl]]
+
+=== `local-impl`
+
+Specifies the fully-qualified class name of the generated
+`EJBLocalObject` `impl` class.
+
+
+[NOTE]
+====
+This value is automatically generated by the server at deployment or
+redeployment time. Do not specify it or change it after deployment.
+====
+
+
+[[fvzcr]][[GSDPG00539]][[superelements-99]]
+
+==== Superelements
+
+link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
+
+[[fvzai]][[GSDPG00540]][[subelements-95]]
+
+==== Subelements
+
+none - contains data
+
+[[beaue]][[GSDPG00184]][[locale-charset-info]]
+
+=== `locale-charset-info`
+
+Deprecated. For backward compatibility only. Use the
+link:#beavn[`parameter-encoding`] subelement of
+link:#beayb[`glassfish-web-app`] instead. Specifies information about
+the application's internationalization settings.
+
+[[fvyvm]][[GSDPG00541]][[superelements-100]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[fvzbi]][[GSDPG00542]][[subelements-96]]
+
+==== Subelements
+
+The following table describes subelements for the `locale-charset-info`
+element.
+
+[[GSDPG949]][[sthref139]][[fvyzd]]
+
+
+Table C-82 `locale-charset-info` Subelements
+
+[width="100%",cols="22%,12%,66%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beauf[`locale-charset-map`]
+
+
+ |one or more |Maps a locale and an agent to a character encoding.
+Provided for backward compatibility. Used only for request processing,
+and only if no `parameter-encoding` is defined.
+
+a|
+link:#beavn[`parameter-encoding`]
+
+
+ |zero or one |Determines the default request character encoding and how
+the web container decodes parameters from forms according to a hidden
+field value.
+|===
+
+
+[[fvywh]][[GSDPG00543]][[attributes-22]]
+
+==== Attributes
+
+The following table describes attributes for the `locale-charset-info`
+element.
+
+[[GSDPG950]][[sthref140]][[fvzcd]]
+
+
+Table C-83 `locale-charset-info` Attributes
+
+[width="181%",cols="13%,49%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`default-locale` |none |Although a value is required, the value is
+ignored. Use the `default-charset` attribute of the
+link:#beavn[`parameter-encoding`] element.
+|===
+
+
+[[beauf]][[GSDPG00185]][[locale-charset-map]]
+
+=== `locale-charset-map`
+
+Maps locales and agents to character encodings. Provided for backward
+compatibility. Used only for request processing. Used only if the
+character encoding is not specified in the request and cannot be derived
+from the optional link:#beavn[`parameter-encoding`] element. For
+encodings, see
+`http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html`.
+
+[[fvzbg]][[GSDPG00544]][[superelements-101]]
+
+==== Superelements
+
+link:#beaue[`locale-charset-info`] (`glassfish-web.xml`)
+
+[[fvywg]][[GSDPG00545]][[subelements-97]]
+
+==== Subelements
+
+The following table describes subelements for the `locale-charset-map`
+element.
+
+[[GSDPG951]][[sthref141]][[fvyvl]]
+
+
+Table C-84 `locale-charset-map` Subelements
+
+[width="100%",cols="25%,14%,61%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Specifies an optional text description of a mapping.
+|===
+
+
+[[fvyzn]][[GSDPG00546]][[attributes-23]]
+
+==== Attributes
+
+The following table describes attributes for the `locale-charset-map`
+element.
+
+[[GSDPG952]][[sthref142]][[fvzbk]]
+
+
+Table C-85 `locale-charset-map` Attributes
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|===
+|Attribute |Default |Description
+|`locale` |none |Specifies the locale name.
+
+|`agent` |none |(optional) Specifies the type of client that interacts
+with the {productName}. For a given locale, different agents can have
+different preferred character encodings. The value of this attribute
+must exactly match the value of the `user-agent` HTTP request header
+sent by the client. See link:#fvzbb[Table C-86] for more information.
+
+|`charset` |none |Specifies the character encoding to which the locale
+maps.
+|===
+
+
+[[fvzct]][[GSDPG00547]][[example-agents]]
+
+==== Example Agents
+
+The following table specifies example `agent` attribute values.
+
+[[GSDPG953]][[sthref143]][[fvzbb]]
+
+
+Table C-86 Example `agent` Attribute Values
+
+[width="100%",cols="38%,62%",options="header",]
+|===
+|Agent |`user-agent` Header and `agent` Attribute Value
+|Internet Explorer 5.00 for Windows 2000
+|`Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)`
+
+|Netscape 4.7.7 for Windows 2000
+|`Mozilla/4.77 [en] (Windows NT 5.0; U)`
+
+|Netscape 4.7 for Solaris |`Mozilla/4.7 [en] (X11; u; Sun OS 5.6 sun4u)`
+|===
+
+
+[[beaug]][[GSDPG00186]][[localpart]]
+
+=== `localpart`
+
+Specifies the local part of a QNAME.
+
+[[fvzad]][[GSDPG00548]][[superelements-102]]
+
+==== Superelements
+
+link:#beaxj[`service-qname`], link:#beayx[`wsdl-port`]
+(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvyzb]][[GSDPG00549]][[subelements-98]]
+
+==== Subelements
+
+none - contains data
+
+[[beauh]][[GSDPG00187]][[lock-when-loaded]]
+
+=== `lock-when-loaded`
+
+Places a database update lock on the rows corresponding to the bean
+whenever the bean is loaded. How the lock is placed is
+database-dependent. The lock is released when the transaction finishes
+(commit or rollback). While the lock is in place, other database users
+have read access to the bean.
+
+[[fvyze]][[GSDPG00550]][[superelements-103]]
+
+==== Superelements
+
+link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
+
+[[fvyyl]][[GSDPG00551]][[subelements-99]]
+
+==== Subelements
+
+none - element is present or absent
+
+[[beaui]][[GSDPG00188]][[lock-when-modified]]
+
+=== `lock-when-modified`
+
+This element is not implemented. Do not use.
+
+[[fvyyc]][[GSDPG00552]][[superelements-104]]
+
+==== Superelements
+
+link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
+
+[[beauj]][[GSDPG00189]][[log-service]]
+
+=== `log-service`
+
+Specifies configuration settings for the log file.
+
+[[fvyyv]][[GSDPG00553]][[superelements-105]]
+
+==== Superelements
+
+link:#bearr[`client-container`] (`sun-acc.xml`)
+
+[[fvywo]][[GSDPG00554]][[subelements-100]]
+
+==== Subelements
+
+The following table describes subelements for the `log-service` element.
+
+[[GSDPG954]][[sthref144]][[fvzdx]]
+
+
+Table C-87 `log-service` subelement
+
+[width="100%",cols="37%,15%,48%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvyzl]][[GSDPG00555]][[attributes-24]]
+
+==== Attributes
+
+The following table describes attributes for the `log-service` element.
+
+[[GSDPG955]][[sthref145]][[fvzbn]]
+
+
+Table C-88 `log-service` attributes
+
+[width="100%",cols="12%,32%,56%",options="header",]
+|===
+|Attribute |Default |Description
+|`log-file` |your-ACC-dir`/logs/client.log` |(optional) Specifies the
+file where the application client container logging information is
+stored.
+
+|`level` |`SEVERE` |(optional) Sets the base level of severity. Messages
+at or above this setting get logged to the log file.
+|===
+
+
+[[beauk]][[GSDPG00190]][[login-config]]
+
+=== `login-config`
+
+Specifies the authentication configuration for an EJB web service
+endpoint. Not needed for servlet web service endpoints. A servlet's
+security configuration is contained in the `web.xml` file.
+
+[[fvywb]][[GSDPG00556]][[superelements-106]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvyxg]][[GSDPG00557]][[subelements-101]]
+
+==== Subelements
+
+The following table describes subelements for the `login-config`
+element.
+
+[[GSDPG956]][[sthref146]][[fvzap]]
+
+
+Table C-89 `login-config` subelements
+
+[width="100%",cols="30%,15%,55%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaqx[`auth-method`]
+
+
+ |only one |Specifies the authentication method.
+
+a|
+link:#beawi[`realm`]
+
+
+ |zero or one |Specifies the name of the realm used to process all
+authentication requests.
+|===
+
+
+[[giyik]][[GSDPG00191]][[mail-resource]]
+
+=== `mail-resource`
+
+Defines a Jakarta Mail (`jakarta.mail.Session`) resource.
+
+[[GSDPG957]][[sthref147]]
+
+
+[[superelements-107]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG958]][[sthref148]]
+
+
+[[subelements-102]]
+==== Subelements
+
+The following table describes subelements for the `mail-resource`
+element.
+
+[[GSDPG959]][[sthref149]][[sthref150]]
+
+
+Table C-90 `mail-resource` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG960]][[sthref151]]
+
+
+[[attributes-25]]
+==== Attributes
+
+The following table describes attributes for the `mail-resource`
+element.
+
+[[GSDPG961]][[sthref152]][[sthref153]]
+
+
+Table C-91 `mail-resource` Attributes
+
+[width="100%",cols="23%,21%,56%",options="header",]
+|===
+|Attribute |Default |Description
+|`jndi-name` |none |Specifies the JNDI name for the resource.
+
+|`store-protocol` |`imap` |(optional) Specifies the storage protocol
+service, which connects to a mail server, retrieves messages, and saves
+messages in folder(s). Allowed values are `imap`, `pop3`, `imaps`, and
+`pop3s` .
+
+|`store-protocol-class` |`com.sun.mail.imap.IMAPStore` a|
+(optional) Specifies the service provider implementation class for
+storage. Allowed values are:
+
+`com.sun.mail.imap.IMAPStore`
+
+`com.sun.mail.pop3.POP3Store`
+
+`com.sun.mail.imap.IMAPSSLStore`
+
+`com.sun.mail.pop3.POP3SSLStore`
+
+|`transport-protocol` |`smtp` |(optional) Specifies the transport
+protocol service, which sends messages. Allowed values are `smtp` and
+`smtps`.
+
+|`transport-protocol-class` |`com.sun.mail.smtp.SMTPTransport` a|
+(optional) Specifies the service provider implementation class for
+transport. Allowed values are:
+
+`com.sun.mail.smtp.SMTPTransport`
+
+`com.sun.mail.smtp.SMTPSSLTransport`
+
+|`host` |none |The mail server host name.
+
+|`user` |none |The mail server user name.
+
+|`from` |none |The email address the mail server uses to indicate the
+message sender.
+
+|`debug` |`false` |(optional) Determines whether debugging for this
+resource is enabled.
+
+|`object-type` |`user` a|
+(optional) Defines the type of the resource. Allowed values are:
+
+* `system-all` - A system resource for all server instances and the
+domain application server.
+* `system-admin` - A system resource only for the domain application
+server.
+* `system-instance` - A system resource for all server instances only.
+* `user` - A user resource.
+
+|`enabled` |`true` |(optional) Determines whether this resource is
+enabled at runtime.
+|===
+
+
+[[GSDPG962]][[sthref154]]
+
+
+[[properties-9]]
+==== Properties
+
+You can set properties for the `mail-resource` element and then get
+these properties in a Jakarta Mail `Session` object later. Every property
+name must start with a `mail-` prefix. The {productName} changes the
+dash (`-`) character to a period (`.`) in the name of the property, then
+saves the property to the `MailConfiguration` and Jakarta Mail `Session`
+objects. If the name of the property doesn't start with `mail-`, the
+property is ignored.
+
+For example, to define the property `mail.password` in a Jakarta Mail
+Session object, first edit `glassfish-resources.xml` as follows:
+
+[source,xml]
+----
+...
+ <mail-resource jndi-name="mail/Session" ...>
+     <property name="mail-password" value="adminadmin"/>
+ </mail-resource>
+ ...
+----
+
+After getting the Jakarta Mail `Session` object, get the `mail.password`
+property to retrieve the value `adminadmin`, as follows:
+
+[source,java]
+----
+String password = session.getProperty("mail.password");
+----
+
+For more information about Jakarta Mail properties, see
+https://jakarta.ee/specifications/mail[Jakarta Mail API
+Documentation] (`https://jakarta.ee/specifications/mail`).
+
+[[beaum]][[GSDPG00192]][[manager-properties]]
+
+=== `manager-properties`
+
+Specifies session manager properties.
+
+[[fvyyu]][[GSDPG00558]][[superelements-108]]
+
+==== Superelements
+
+link:#beaxq[`session-manager`] (`glassfish-web.xml`)
+
+[[fvzcq]][[GSDPG00559]][[subelements-103]]
+
+==== Subelements
+
+The following table describes subelements for the `manager-properties`
+element.
+
+[[GSDPG963]][[sthref155]][[fvyvh]]
+
+
+Table C-92 `manager-properties` Subelements
+
+[width="100%",cols="37%,14%,49%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvzdg]][[GSDPG00560]][[properties-10]]
+
+==== Properties
+
+The following table describes properties for the `manager-properties`
+element.
+
+[[GSDPG964]][[sthref156]][[fvywk]]
+
+
+Table C-93 `manager-properties` Properties
+
+[width="100%",cols="25%,13%,62%",options="header",]
+|===
+|Property |Default |Description
+|`reapIntervalSeconds` |`60` a|
+Specifies the number of seconds between checks for expired sessions.
+This is also the interval at which sessions are passivated if
+`maxSessions` is exceeded.
+
+If `persistenceFrequency` is set to `time-based`, active sessions are
+stored at this interval.
+
+To prevent data inconsistency, set this value lower than the frequency
+at which session data changes. For example, this value should be as low
+as possible (`1` second) for a hit counter servlet on a frequently
+accessed web site, or the last few hits might be lost each time the
+server is restarted.
+
+Applicable only if the `persistence-type` attribute of the parent
+link:#beaxq[`session-manager`] element is `file` or `replicated`.
+
+|`maxSessions` |`-1` a|
+Specifies the maximum number of sessions that are permitted in the
+cache, or `-1` for no limit. After this, an attempt to create a new
+session causes an `IllegalStateException` to be thrown.
+
+If the `persistence-type` attribute of the parent
+link:#beaxq[`session-manager`] element is `file` or `replicated`, the
+session manager passivates sessions to the persistent store when this
+maximum is reached.
+
+|`sessionFilename` |empty string a|
+Specifies the absolute or relative path to the directory in which the
+session state is preserved between application restarts, if preserving
+the state is possible. A relative path is relative to the temporary
+directory for this web module, one of the following:
+
+domain-dir``/generated/jsp/``module-name
+
+domain-dir``/generated/jsp/``app-name`/``module-name
+
+By default, this property's value is set to an empty string, which
+disables this property and does not preserve the session state.
+
+Applicable only if the `persistence-type` attribute of the parent
+link:#beaxq[`session-manager`] element is `memory`.
+
+|`persistenceFrequency` |`web-method` a|
+Specifies how often the session state is stored. Allowed values are as
+follows:
+
+* `web-method` - The session state is stored at the end of each web
+request prior to sending a response back to the client. This mode
+provides the best guarantee that the session state is fully updated in
+case of failure.
+* `time-based` - The session state is stored in the background at the
+frequency set by `reapIntervalSeconds`. This mode provides less of a
+guarantee that the session state is fully updated. However, it can
+provide a significant performance improvement because the state is not
+stored after each request.
+
+Applicable only if the `persistence-type` attribute of the parent
+link:#beaxq[`session-manager`] element is `replicated`.
+
+|===
+
+
+[[beaun]][[GSDPG00193]][[mapping-properties]]
+
+=== `mapping-properties`
+
+This element is not implemented.
+
+[[fvywv]][[GSDPG00561]][[superelements-109]]
+
+==== Superelements
+
+link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
+
+[[beauo]][[GSDPG00194]][[max-cache-size]]
+
+=== `max-cache-size`
+
+Specifies the maximum number of beans allowable in cache. A value of
+zero indicates an unbounded cache. In reality, there is no hard limit.
+The max-cache-size limit is just a hint to the cache implementation.
+Default is 512.
+
+Applies to stateful session beans and entity beans.
+
+[[fvyyo]][[GSDPG00562]][[superelements-110]]
+
+==== Superelements
+
+link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
+
+[[fvzbx]][[GSDPG00563]][[subelements-104]]
+
+==== Subelements
+
+none - contains data
+
+[[beaup]][[GSDPG00195]][[max-pool-size]]
+
+=== `max-pool-size`
+
+Specifies the maximum number of bean instances in the pool. Values are
+from 0 (1 for message-driven bean) to MAX_INTEGER. A value of 0 means
+the pool is unbounded. Default is 64.
+
+Applies to all beans.
+
+[[fvzdw]][[GSDPG00564]][[superelements-111]]
+
+==== Superelements
+
+link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
+
+[[fvyxa]][[GSDPG00565]][[subelements-105]]
+
+==== Subelements
+
+none - contains data
+
+[[beauq]][[GSDPG00196]][[max-wait-time-in-millis]]
+
+=== `max-wait-time-in-millis`
+
+This element is deprecated. Do not use.
+
+[[fvyzg]][[GSDPG00566]][[superelements-112]]
+
+==== Superelements
+
+link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
+
+[[beaur]][[GSDPG00197]][[mdb-connection-factory]]
+
+=== `mdb-connection-factory`
+
+Specifies the connection factory associated with a message-driven bean.
+Queue or Topic type must be consistent with the Java Message Service
+Destination type associated with the message-driven bean class.
+
+[[fvyzj]][[GSDPG00567]][[superelements-113]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyxt]][[GSDPG00568]][[subelements-106]]
+
+==== Subelements
+
+The following table describes subelements for the
+`mdb-connection-factory` element.
+
+[[GSDPG965]][[sthref157]][[fvyxi]]
+
+
+Table C-94 `mdb-connection-factory` Subelements
+
+[width="100%",cols="38%,14%,48%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beatw[`jndi-name`]
+
+
+ |only one |Specifies the absolute `jndi-name`.
+
+a|
+link:#beasn[`default-resource-principal`]
+
+
+ |zero or one |Specifies the default sign-on (name/password) to the
+resource manager.
+|===
+
+
+[[beaus]][[GSDPG00198]][[mdb-resource-adapter]]
+
+=== `mdb-resource-adapter`
+
+Specifies runtime configuration information for a message-driven bean.
+
+[[fvzdd]][[GSDPG00569]][[superelements-114]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyyx]][[GSDPG00570]][[subelements-107]]
+
+==== Subelements
+
+The following table describes subelements for the `mdb-resource-adapter`
+element.
+
+[[GSDPG966]][[sthref158]][[fvyzh]]
+
+
+Table C-95 `mdb-resource-adapter` subelements
+
+[width="100%",cols="35%,14%,51%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beawt[`resource-adapter-mid`]
+
+
+ |zero or one |Specifies a resource adapter module ID.
+a|
+link:#beaqs[`activation-config`]
+
+
+ |one or more |Specifies an activation configuration.
+|===
+
+
+[[beaut]][[GSDPG00199]][[message]]
+
+=== `message`
+
+Specifies the methods or operations to which message security
+requirements apply.
+
+[[fvzci]][[GSDPG00571]][[superelements-115]]
+
+==== Superelements
+
+link:#beauw[`message-security`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyxc]][[GSDPG00572]][[subelements-108]]
+
+==== Subelements
+
+The following table describes subelements for the `message` element.
+
+[[GSDPG967]][[sthref159]][[fvyyd]]
+
+
+Table C-96 `message` Subelements
+
+[width="100%",cols="30%,16%,54%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beatt[`java-method`]
+
+
+ |zero or one |Specifies the methods or operations to which message
+security requirements apply.
+
+a|
+link:#beavl[`operation-name`]
+
+
+ |zero or one |Specifies the WSDL name of an operation of a web service.
+|===
+
+
+[[beauu]][[GSDPG00200]][[message-destination]]
+
+=== `message-destination`
+
+Specifies the name of a logical `message-destination` defined within an
+application. The `message-destination-name` matches the corresponding
+`message-destination-name` in the corresponding Jakarta EE deployment
+descriptor file. Use when the message destination reference in the
+corresponding Jakarta EE deployment descriptor file specifies a
+`message-destination-link` to a logical `message-destination`.
+
+[[fvzaz]][[GSDPG00573]][[superelements-116]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`),
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[fvyxn]][[GSDPG00574]][[subelements-109]]
+
+==== Subelements
+
+The following table describes subelements for the `message-destination`
+element.
+
+[[GSDPG968]][[sthref160]][[fvyzy]]
+
+
+Table C-97 `message-destination` subelements
+
+[width="100%",cols="29%,10%,61%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beauv[`message-destination-name`]
+
+
+ |only one |Specifies the name of a logical message destination defined
+within the corresponding Jakarta EE deployment descriptor file.
+
+a|
+link:#beatw[`jndi-name`]
+
+
+ |only one |Specifies the `jndi-name` of the associated entity.
+|===
+
+
+[[beauv]][[GSDPG00201]][[message-destination-name]]
+
+=== `message-destination-name`
+
+Specifies the name of a logical message destination defined within the
+corresponding Jakarta EE deployment descriptor file.
+
+[[fvzcj]][[GSDPG00575]][[superelements-117]]
+
+==== Superelements
+
+link:#beauu[`message-destination`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvzbo]][[GSDPG00576]][[subelements-110]]
+
+==== Subelements
+
+none - contains data
+
+[[gauao]][[GSDPG00202]][[message-destination-ref]]
+
+=== `message-destination-ref`
+
+Directly binds a message destination reference to the JNDI name of a
+`Queue`, `Topic`, or other physical destination. Use only when the
+message destination reference in the corresponding Jakarta EE deployment
+descriptor file does not specify a `message-destination-link` to a
+logical `message-destination`.
+
+[[gauam]][[GSDPG00577]][[superelements-118]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[gaual]][[GSDPG00578]][[subelements-111]]
+
+==== Subelements
+
+The following table describes subelements for the
+`message-destination-ref` element.
+
+[[GSDPG969]][[sthref161]][[gauar]]
+
+
+Table C-98 `message-destination-ref` subelements
+
+[width="100%",cols="34%,10%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#gauat[`message-destination-ref-name`]
+
+
+ |only one |Specifies the name of a physical message destination defined
+within the corresponding Jakarta EE deployment descriptor file.
+
+a|
+link:#beatw[`jndi-name`]
+
+
+ |only one |Specifies the `jndi-name` of the associated entity.
+|===
+
+
+[[gauat]][[GSDPG00203]][[message-destination-ref-name]]
+
+=== `message-destination-ref-name`
+
+Specifies the name of a physical message destination defined within the
+corresponding Jakarta EE deployment descriptor file.
+
+[[gauaj]][[GSDPG00579]][[superelements-119]]
+
+==== Superelements
+
+link:#gauao[`message-destination-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[gauas]][[GSDPG00580]][[subelements-112]]
+
+==== Subelements
+
+none - contains data
+
+[[beauw]][[GSDPG00204]][[message-security]]
+
+=== `message-security`
+
+Specifies message security requirements.
+
+* If the grandparent element is link:#beayv[`webservice-endpoint`],
+these requirements pertain to request and response messages of the
+endpoint.
+* If the grandparent element is link:#beavt[`port-info`], these
+requirements pertain to the port of the referenced service.
+
+[[fvzac]][[GSDPG00581]][[superelements-120]]
+
+==== Superelements
+
+link:#beaux[`message-security-binding`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyve]][[GSDPG00582]][[subelements-113]]
+
+==== Subelements
+
+The following table describes subelements for the `message-security`
+element.
+
+[[GSDPG970]][[sthref162]][[fvywy]]
+
+
+Table C-99 `message-security` Subelements
+
+[width="100%",cols="24%,12%,64%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaut[`message`]
+
+
+ |one or more |Specifies the methods or operations to which message
+security requirements apply.
+
+a|
+link:#beawp[`request-protection`]
+
+
+ |zero or one |Defines the authentication policy requirements of the
+application's request processing.
+
+a|
+link:#beawy[`response-protection`]
+
+
+ |zero or one |Defines the authentication policy requirements of the
+application's response processing.
+|===
+
+
+[[beaux]][[GSDPG00205]][[message-security-binding]]
+
+=== `message-security-binding`
+
+Specifies a custom authentication provider binding for a parent
+link:#beayv[`webservice-endpoint`] or link:#beavt[`port-info`] element
+in one or both of these ways:
+
+* By binding to a specific provider
+* By specifying the message security requirements enforced by the
+provider
+
+[[fvzbc]][[GSDPG00583]][[superelements-121]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`], link:#beavt[`port-info`]
+(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvyxv]][[GSDPG00584]][[subelements-114]]
+
+==== Subelements
+
+The following table describes subelements for the
+`message-security-binding` element.
+
+[[GSDPG971]][[sthref163]][[fvzcx]]
+
+
+Table C-100 `message-security-binding` Subelements
+
+[width="100%",cols="34%,15%,51%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beauw[`message-security`]
+
+
+ |zero or more |Specifies message security requirements.
+|===
+
+
+[[fvzbj]][[GSDPG00585]][[attributes-26]]
+
+==== Attributes
+
+The following table describes attributes for the
+`message-security-binding` element.
+
+[[GSDPG972]][[sthref164]][[fvzda]]
+
+
+Table C-101 `message-security-binding` Attributes
+
+[width="172%",cols="9%,46%,45%",options="header",]
+|===
+|Attribute |Default |Description
+|`auth-layer` |none |Specifies the message layer at which authentication
+is performed. The value must be `SOAP`.
+
+|`provider-id` |none a|
+(optional) Specifies the authentication provider used to satisfy
+application-specific message security requirements.
+
+If this attribute is not specified, a default provider is used, if it is
+defined for the message layer.
+
+if no default provider is defined, authentication requirements defined
+in the `message-security-binding` are not enforced.
+
+|===
+
+
+[[beauy]][[GSDPG00206]][[message-security-config]]
+
+=== `message-security-config`
+
+Specifies configurations for message security providers.
+
+[[fvyya]][[GSDPG00586]][[superelements-122]]
+
+==== Superelements
+
+link:#bearr[`client-container`] (`sun-acc.xml`)
+
+[[fvzck]][[GSDPG00587]][[subelements-115]]
+
+==== Subelements
+
+The following table describes subelements for the
+`message-security-config` element.
+
+[[GSDPG973]][[sthref165]][[fvyym]]
+
+
+Table C-102 `message-security-config` Subelements
+
+[width="100%",cols="31%,15%,54%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavz[`provider-config`]
+
+
+ |one or more |Specifies a configuration for one message security
+provider.
+|===
+
+
+[[fvyvw]][[GSDPG00588]][[attributes-27]]
+
+==== Attributes
+
+The following table describes attributes for the
+`message-security-config` element.
+
+[[GSDPG974]][[sthref166]][[fvzam]]
+
+
+Table C-103 `message-security-config` Attributes
+
+[width="172%",cols="17%,46%,37%",options="header",]
+|===
+|Attribute |Default |Description
+|`auth-layer` |none |Specifies the message layer at which authentication
+is performed. The value must be `SOAP`.
+
+|`default-provider` |none |(optional) Specifies the server provider that
+is invoked for any application not bound to a specific server provider.
+
+|`default-client-provider` |none |(optional) Specifies the client
+provider that is invoked for any application not bound to a specific
+client provider.
+|===
+
+
+[[beauz]][[GSDPG00207]][[method]]
+
+=== `method`
+
+Specifies a bean method.
+
+[[fvzae]][[GSDPG00589]][[superelements-123]]
+
+==== Superelements
+
+link:#bearo[`checkpoint-at-end-of-method`],
+link:#beatf[`flush-at-end-of-method`] (`glassfish-ejb-jar.xml`)
+
+[[fvzay]][[GSDPG00590]][[subelements-116]]
+
+==== Subelements
+
+The following table describes subelements for the `method` element.
+
+[[GSDPG975]][[sthref167]][[fvzch]]
+
+
+Table C-104 `method` Subelements
+
+[width="100%",cols="17%,11%,72%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Specifies an optional text description.
+
+a|
+link:#beast[`ejb-name`]
+
+
+ |zero or one |Matches the `ejb-name` in the corresponding `ejb-jar.xml`
+file.
+
+a|
+link:#beavb[`method-name`]
+
+
+ |only one |Specifies a method name.
+
+a|
+link:#beava[`method-intf`]
+
+
+ |zero or one |Specifies the method interface to distinguish between
+methods with the same name in different interfaces.
+
+a|
+link:#beavd[`method-params`]
+
+
+ |zero or one |Specifies fully qualified Java type names of method
+parameters.
+|===
+
+
+[[beava]][[GSDPG00208]][[method-intf]]
+
+=== `method-intf`
+
+Specifies the method interface to distinguish between methods with the
+same name in different interfaces. Allowed values are `Home`, `Remote`,
+`LocalHome`, and `Local`.
+
+[[fvywj]][[GSDPG00591]][[superelements-124]]
+
+==== Superelements
+
+link:#beauz[`method`] (`glassfish-ejb-jar.xml`)
+
+[[fvyyz]][[GSDPG00592]][[subelements-117]]
+
+==== Subelements
+
+none - contains data
+
+[[beavb]][[GSDPG00209]][[method-name]]
+
+=== `method-name`
+
+Specifies a method name or `*` (an asterisk) for all methods. If a
+method is overloaded, specifies all methods with the same name.
+
+[[fvyvp]][[GSDPG00593]][[superelements-125]]
+
+==== Superelements
+
+link:#beatt[`java-method`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
+link:#beate[`finder`], link:#beawc[`query-method`] ,
+link:#beauz[`method`] (`glassfish-ejb-jar.xml`)
+
+[[fvzcp]][[GSDPG00594]][[subelements-118]]
+
+==== Subelements
+
+none - contains data
+
+[[fvzdr]][[GSDPG00595]][[examples]]
+
+==== Examples
+
+`<method-name>findTeammates</method-name>`
+
+`<method-name>*</method-name>`
+
+[[beavc]][[GSDPG00210]][[method-param]]
+
+=== `method-param`
+
+Specifies the fully qualified Java type name of a method parameter.
+
+[[fvzdl]][[GSDPG00596]][[superelements-126]]
+
+==== Superelements
+
+link:#beavd[`method-params`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyvj]][[GSDPG00597]][[subelements-119]]
+
+==== Subelements
+
+none - contains data
+
+[[beavd]][[GSDPG00211]][[method-params]]
+
+=== `method-params`
+
+Specifies fully qualified Java type names of method parameters.
+
+[[fvzdt]][[GSDPG00598]][[superelements-127]]
+
+==== Superelements
+
+link:#beatt[`java-method`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
+link:#beawc[`query-method`], link:#beauz[`method`]
+(`glassfish-ejb-jar.xml`)
+
+[[fvyzw]][[GSDPG00599]][[subelements-120]]
+
+==== Subelements
+
+The following table describes subelements for the `method-params`
+element.
+
+[[GSDPG976]][[sthref168]][[fvyzq]]
+
+
+Table C-105 `method-params` Subelements
+
+[width="100%",cols="18%,14%,68%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavc[`method-param`]
+
+
+ |zero or more |Specifies the fully qualified Java type name of a method
+parameter.
+|===
+
+
+[[beavf]][[GSDPG00212]][[name]]
+
+`name`
+~~~~~~
+
+Specifies the name of the entity.
+
+[[fvyyf]][[GSDPG00600]][[superelements-128]]
+
+==== Superelements
+
+link:#beari[`call-property`], link:#beasn[`default-resource-principal`],
+link:#beaxv[`stub-property`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
+link:#beasx[`enterprise-beans`], link:#beavv[`principal`],
+link:#beavy[`property` (with subelements)] (`glassfish-ejb-jar.xml`)
+
+[[fvyxe]][[GSDPG00601]][[subelements-121]]
+
+==== Subelements
+
+none - contains data
+
+[[beavg]][[GSDPG00213]][[named-group]]
+
+=== `named-group`
+
+Specifies the name of one independent fetch group. All the fields and
+relationships that are part of a named group are fetched at the same
+time. A field belongs to only one fetch group, regardless of what type
+of fetch group is used.
+
+[[fvzds]][[GSDPG00602]][[superelements-129]]
+
+==== Superelements
+
+link:#beatc[`fetched-with`] (`sun-cmp-mappings.xml`)
+
+[[fvyxr]][[GSDPG00603]][[subelements-122]]
+
+==== Subelements
+
+none - contains data
+
+[[beavh]][[GSDPG00214]][[namespaceuri]]
+
+=== `namespaceURI`
+
+Specifies the namespace URI.
+
+[[fvywa]][[GSDPG00604]][[superelements-130]]
+
+==== Superelements
+
+link:#beaxj[`service-qname`], link:#beayx[`wsdl-port`]
+(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvyzc]][[GSDPG00605]][[subelements-123]]
+
+==== Subelements
+
+none - contains data
+
+[[beavi]][[GSDPG00215]][[none]]
+
+`none`
+~~~~~~
+
+Specifies that this field or relationship is fetched by itself, with no
+other fields or relationships.
+
+[[fvyvv]][[GSDPG00606]][[superelements-131]]
+
+==== Superelements
+
+link:#beasd[`consistency`], link:#beatc[`fetched-with`]
+(`sun-cmp-mappings.xml`)
+
+[[fvzaw]][[GSDPG00607]][[subelements-124]]
+
+==== Subelements
+
+none - element is present or absent
+
+[[beavk]][[GSDPG00216]][[one-one-finders]]
+
+=== `one-one-finders`
+
+Describes the finders for CMP 1.1 beans.
+
+[[fvyvg]][[GSDPG00608]][[superelements-132]]
+
+==== Superelements
+
+link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
+
+[[fvywp]][[GSDPG00609]][[subelements-125]]
+
+==== Subelements
+
+The following table describes subelements for the `one-one-finders`
+element.
+
+[[GSDPG977]][[sthref169]][[fvyxu]]
+
+
+Table C-106 `one-one-finders` Subelements
+
+[width="100%",cols="23%,15%,62%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beate[`finder`]
+
+
+ |one or more |Describes the finders for CMP 1.1 with a method name and
+query.
+|===
+
+
+[[beavl]][[GSDPG00217]][[operation-name]]
+
+=== `operation-name`
+
+Specifies the WSDL name of an operation of a web service.
+
+[[fvzas]][[GSDPG00610]][[superelements-133]]
+
+==== Superelements
+
+link:#beaut[`message`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvyvt]][[GSDPG00611]][[subelements-126]]
+
+==== Subelements
+
+none - contains data
+
+[[beavn]][[GSDPG00218]][[parameter-encoding]]
+
+=== `parameter-encoding`
+
+Specifies the default request character encoding and how the web
+container decodes parameters from forms according to a hidden field
+value.
+
+If both the link:#beayb[`glassfish-web-app`] and
+link:#beaue[`locale-charset-info`] elements have `parameter-encoding`
+subelements, the subelement of `glassfish-web-app` takes precedence. For
+encodings, see
+`http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html`.
+
+[[fvyzr]][[GSDPG00612]][[superelements-134]]
+
+==== Superelements
+
+link:#beaue[`locale-charset-info`], link:#beayb[`glassfish-web-app`]
+(`glassfish-web.xml`)
+
+[[fvzbf]][[GSDPG00613]][[subelements-127]]
+
+==== Subelements
+
+none
+
+[[fvyxk]][[GSDPG00614]][[attributes-28]]
+
+==== Attributes
+
+The following table describes attributes for the `parameter-encoding`
+element.
+
+[[GSDPG978]][[sthref170]][[fvywn]]
+
+
+Table C-107 `parameter-encoding` Attributes
+
+[width="100%",cols="19%,13%,68%",options="header",]
+|===
+|Attribute |Default |Description
+|`form-hint-field` |none |(optional) The name of the hidden field in the
+form. This field specifies the character encoding the web container uses
+for `request.getParameter` and `request.getReader` calls when the
+charset is not set in the request's `content-type` header.
+
+|`default-charset` |`ISO-8859-1` |(optional) The default request
+character encoding.
+|===
+
+
+[[beavo]][[GSDPG00219]][[pass-by-reference]]
+
+=== `pass-by-reference`
+
+Specifies the passing method used by a servlet or enterprise bean
+calling a remote interface method in another bean that is colocated
+within the same process.
+
+* If `false` (the default if this element is not present), this
+application uses pass-by-value semantics.
+* If `true`, this application uses pass-by-reference semantics.
+
+
+[NOTE]
+====
+The `pass-by-reference` element only applies to remote calls. As defined
+in the EJB 2.1 specification, section 5.4, calls to local interfaces use
+pass-by-reference semantics.
+
+If the `pass-by-reference` element is set to its default value of
+`false`, the passing semantics for calls to remote interfaces comply
+with the EJB 2.1 specification, section 5.4. If set to `true`, remote
+calls involve pass-by-reference semantics instead of pass-by-value
+semantics, contrary to this specification.
+
+Portable programs cannot assume that a copy of the object is made during
+such a call, and thus that it's safe to modify the original. Nor can
+they assume that a copy is not made, and thus that changes to the object
+are visible to both caller and callee. When this element is set to
+`true`, parameters and return values should be considered read-only. The
+behavior of a program that modifies such parameters or return values is
+undefined.
+====
+
+
+When a servlet or enterprise bean calls a remote interface method in
+another bean that is colocated within the same process, by default
+{productName} makes copies of all the call parameters in order to
+preserve the pass-by-value semantics. This increases the call overhead
+and decreases performance.
+
+However, if the calling method does not change the object being passed
+as a parameter, it is safe to pass the object itself without making a
+copy of it. To do this, set the pass-by-reference value to `true`.
+
+The setting of this element in the `glassfish-application.xml` file
+applies to all EJB modules in the application. For an individually
+deployed EJB module, you can set the same element in the
+`glassfish-ejb-jar.xml` file. If `pass-by-reference` is used at both the
+bean and application level, the bean level takes precedence.
+
+[[fvzec]][[GSDPG00615]][[superelements-135]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvywx]][[GSDPG00616]][[subelements-128]]
+
+==== Subelements
+
+none - contains data
+
+[[beavp]][[GSDPG00220]][[password]]
+
+=== `password`
+
+Specifies the password for the principal.
+
+[[fvyvn]][[GSDPG00617]][[superelements-136]]
+
+==== Superelements
+
+link:#beasn[`default-resource-principal`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyvs]][[GSDPG00618]][[subelements-129]]
+
+==== Subelements
+
+none - contains data
+
+[[gkkia]][[GSDPG00221]][[per-request-load-balancing]]
+
+=== `per-request-load-balancing`
+
+Specifies the per-request load balancing behavior of EJB 2.x and 3.x
+remote client invocations on a stateless session bean. If set to `true`,
+per-request load balancing is enabled for the associated stateless
+session bean. If set to `false` or not set, per-request load balancing
+is not enabled. The default is `false`.
+
+[[gkklx]][[GSDPG00619]][[superelements-137]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[gkkmq]][[GSDPG00620]][[subelements-130]]
+
+==== Subelements
+
+none - contains data
+
+[[beavq]][[GSDPG00222]][[pm-descriptors]]
+
+=== `pm-descriptors`
+
+This element and its subelements are deprecated. Do not use.
+
+[[fvzbh]][[GSDPG00621]][[superelements-138]]
+
+==== Superelements
+
+link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
+
+[[beavr]][[GSDPG00223]][[pool-idle-timeout-in-seconds]]
+
+=== `pool-idle-timeout-in-seconds`
+
+Specifies the maximum time, in seconds, that a bean instance is allowed
+to remain idle in the pool. When this timeout expires, the bean instance
+in a pool becomes a candidate for passivation or deletion. This is a
+hint to the server. A value of 0 specifies that idle beans remain in the
+pool indefinitely. Default value is 600.
+
+Applies to stateless session beans, entity beans, and message-driven
+beans.
+
+
+[NOTE]
+====
+For a stateless session bean or a message-driven bean, the bean is
+removed (garbage collected) when the timeout expires.
+====
+
+
+[[fvzbm]][[GSDPG00622]][[superelements-139]]
+
+==== Superelements
+
+link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
+
+[[fvzbs]][[GSDPG00623]][[subelements-131]]
+
+==== Subelements
+
+none - contains data
+
+[[beavs]][[GSDPG00224]][[port-component-name]]
+
+=== `port-component-name`
+
+Specifies a unique name for a port component within a web or EJB module.
+
+[[fvzbl]][[GSDPG00624]][[superelements-140]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvyys]][[GSDPG00625]][[subelements-132]]
+
+==== Subelements
+
+none - contains data
+
+[[beavt]][[GSDPG00225]][[port-info]]
+
+=== `port-info`
+
+Specifies information for a port within a web service reference.
+
+Either a `service-endpoint-interface` or a `wsdl-port` or both must be
+specified. If both are specified, `wsdl-port` specifies the port that
+the container chooses for container-managed port selection.
+
+The same `wsdl-port` value must not appear in more than one `port-info`
+element within the same `service-ref`.
+
+If a `service-endpoint-interface` is using container-managed port
+selection, its value must not appear in more than one `port-info`
+element within the same `service-ref`.
+
+[[fvzdh]][[GSDPG00626]][[superelements-141]]
+
+==== Superelements
+
+link:#beaxk[`service-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyva]][[GSDPG00627]][[subelements-133]]
+
+==== Subelements
+
+The following table describes subelements for the `port-info` element.
+
+[[GSDPG979]][[sthref171]][[fvzbr]]
+
+
+Table C-108 `port-info` subelements
+
+[width="100%",cols="32%,12%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxh[`service-endpoint-interface`]
+
+
+ |zero or one |Specifies the web service reference name relative to
+`java:comp/env`.
+
+a|
+link:#beayx[`wsdl-port`]
+
+
+ |zero or one |Specifies the WSDL port.
+
+a|
+link:#beaxv[`stub-property`]
+
+
+ |zero or more |Specifies JAX-RPC property values that are set on a
+`javax.xml.rpc.Stub` object before it is returned to the web service
+client.
+
+a|
+link:#beari[`call-property`]
+
+
+ |zero or more |Specifies JAX-RPC property values that are set on a
+`javax.xml.rpc.Call` object before it is returned to the web service
+client.
+
+a|
+link:#beaux[`message-security-binding`]
+
+
+ |zero or one |Specifies a custom authentication provider binding.
+|===
+
+
+[[beavu]][[GSDPG00226]][[prefetch-disabled]]
+
+=== `prefetch-disabled`
+
+Disables prefetching of entity bean states for the specified query
+methods. Container-managed relationship fields are prefetched if their
+link:#beatc[`fetched-with`] element is set to link:#beasl[`default`].
+
+[[fvyxl]][[GSDPG00628]][[superelements-142]]
+
+==== Superelements
+
+link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
+
+[[fvyyb]][[GSDPG00629]][[subelements-134]]
+
+==== Subelements
+
+The following table describes subelements for the `prefetch-disabled`
+element.
+
+[[GSDPG980]][[sthref172]][[fvyyn]]
+
+
+Table C-109 `prefetch-disabled` Subelements
+
+[width="100%",cols="30%,14%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beawc[`query-method`]
+
+
+ |one or more |Specifies a query method.
+|===
+
+
+[[beavv]][[GSDPG00227]][[principal]]
+
+=== `principal`
+
+Defines a user name on the platform.
+
+[[fvyvy]][[GSDPG00630]][[superelements-143]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`);
+link:#giyhy[`security-map`] (`glassfish-resources.xml`)
+
+[[fvzbt]][[GSDPG00631]][[subelements-135]]
+
+==== Subelements
+
+The following table describes subelements for the `principal` element.
+
+[[GSDPG981]][[sthref173]][[fvzaq]]
+
+
+Table C-110 `principal` Subelements
+
+[width="100%",cols="29%,15%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavf[`name`]
+
+
+ |only one |Specifies the name of the user.
+|===
+
+
+[[giyif]][[GSDPG00228]][[principal-map]]
+
+=== `principal-map`
+
+Maps an EIS principal to a principal defined in the {productName}
+domain.
+
+[[GSDPG982]][[sthref174]]
+
+
+[[superelements-144]]
+==== Superelements
+
+link:#giyht[`work-security-map`] (`glassfish-resources.xml`)
+
+[[giyjg]][[GSDPG00632]][[subelements-136]]
+
+==== Subelements
+
+none
+
+[[GSDPG983]][[sthref175]]
+
+
+[[attributes-29]]
+==== Attributes
+
+The following table describes attributes for the `principal-map`
+element.
+
+[[GSDPG984]][[sthref176]][[sthref177]]
+
+
+Table C-111 `principal-map` Attributes
+
+[width="181%",cols="13%,49%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`eis-principal` |none |Specifies an EIS principal.
+
+|`mapped-principal` |none |Specifies a principal defined in the
+{productName} domain.
+|===
+
+
+[[beavw]][[GSDPG00229]][[principal-name]]
+
+=== `principal-name`
+
+Contains the principal (user) name.
+
+In an enterprise bean, specifies the principal (user) name that has the
+`run-as` role specified.
+
+[[fvyws]][[GSDPG00633]][[superelements-145]]
+
+==== Superelements
+
+link:#beaxg[`security-role-mapping`] (`glassfish-application.xml`,
+`glassfish-web.xml`, `glassfish-ejb-jar.xml`), link:#beaxm[`servlet`]
+(`glassfish-web.xml`)
+
+[[fvyxp]][[GSDPG00634]][[subelements-137]]
+
+==== Subelements
+
+none - contains data
+
+[[gatzl]][[GSDPG00635]][[attributes-30]]
+
+==== Attributes
+
+The following table describes attributes for the `principal-name`
+element.
+
+[[GSDPG985]][[sthref178]][[gatyf]]
+
+
+Table C-112 `principal-name` Attributes
+
+[width="100%",cols="13%,36%,51%",options="header",]
+|===
+|Attribute |Default |Description
+|`class-name` |`com.sun.enterprise.deployment.PrincipalImpl` |(optional)
+Specifies the custom principal implementation class corresponding to the
+named principal.
+|===
+
+
+[[beavx]][[GSDPG00230]][[property-with-attributes]]
+
+=== `property` (with attributes)
+
+Specifies the name and value of a property. A property adds
+configuration information to its parent element that is one or both of
+the following:
+
+* Optional with respect to {productName}
+* Needed by a system or object that {productName} doesn't have
+knowledge of, such as an LDAP server or a Java class
+
+[[fvzeb]][[GSDPG00636]][[superelements-146]]
+
+==== Superelements
+
+link:#beard[`cache`], link:#beare[`cache-helper`],
+link:#bearq[`class-loader`], link:#beash[`cookie-properties`],
+link:#beasm[`default-helper`], link:#beaum[`manager-properties`],
+link:#beaxr[`session-properties`], link:#beaxu[`store-properties`],
+link:#beayb[`glassfish-web-app`], link:#gikqk[`valve`],
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`);
+link:#beaqy[`auth-realm`], link:#bearr[`client-container`],
+link:#bears[`client-credential`], link:#beauj[`log-service`],
+link:#beavz[`provider-config`] (`sun-acc.xml`);
+link:#giyhw[`admin-object-resource`],
+link:#giygu[`connector-connection-pool`],
+link:#giyhv[`connector-resource`], link:#giyhr[`custom-resource`],
+link:#giyin[`external-jndi-resource`],
+link:#giyil[`jdbc-connection-pool`], link:#giyhm[`jdbc-resource`],
+link:#giyik[`mail-resource`], link:#giyit[`resource-adapter-config`]
+(`glassfish-resources.xml`)
+
+[[fvyzv]][[GSDPG00637]][[subelements-138]]
+
+==== Subelements
+
+The following table describes subelements for the `property` element.
+
+[[GSDPG986]][[sthref179]][[fvzcb]]
+
+
+Table C-113 `property` Subelements
+
+[width="100%",cols="27%,17%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Specifies an optional text description of a property.
+|===
+
+
+
+[NOTE]
+====
+The `property` element in the `sun-acc.xml` file has no subelements.
+====
+
+
+[[fvyvi]][[GSDPG00638]][[attributes-31]]
+
+==== Attributes
+
+The following table describes attributes for the `property` element.
+
+[[GSDPG987]][[sthref180]][[fvzdi]]
+
+
+Table C-114 `property` Attributes
+
+[width="100%",cols="14%,10%,76%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the name of the property.
+|`value` |none |Specifies the value of the property.
+|===
+
+
+[[fvzab]][[GSDPG00639]][[example-7]]
+
+==== Example
+
+[source,xml]
+----
+<property name="reapIntervalSeconds" value="20" />
+----
+
+[[beavy]][[GSDPG00231]][[property-with-subelements]]
+
+=== `property` (with subelements)
+
+Specifies the name and value of a property. A property adds
+configuration information to its parent element that is one or both of
+the following:
+
+* Optional with respect to {productName}
+* Needed by a system or object that {productName} doesn't have
+knowledge of, such as an LDAP server or a Java class
+
+[[fvzcl]][[GSDPG00640]][[superelements-147]]
+
+==== Superelements
+
+link:#beasx[`enterprise-beans`], link:#bearv[`cmp-resource`],
+link:#beaxd[`schema-generator-properties`],
+link:#beayv[`webservice-endpoint`] (`glassfish-ejb-jar.xml`)
+
+[[fvzaf]][[GSDPG00641]][[subelements-139]]
+
+==== Subelements
+
+The following table describes subelements for the `property` element.
+
+[[GSDPG988]][[sthref181]][[fvzcc]]
+
+
+Table C-115 `property` subelements
+
+[width="100%",cols="22%,16%,62%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavf[`name`]
+
+
+ |only one |Specifies the name of the property.
+a|
+link:#beayo[`value`]
+
+
+ |only one |Specifies the value of the property.
+|===
+
+
+[[fvyxz]][[GSDPG00642]][[example-8]]
+
+==== Example
+
+[source,xml]
+----
+<property>
+   <name>use-unique-table-names</name>
+   <value>true</value>
+</property>
+----
+
+[[beavz]][[GSDPG00232]][[provider-config]]
+
+=== `provider-config`
+
+Specifies a configuration for one message security provider.
+
+Although the `request-policy` and `response-policy` subelements are
+optional, the `provider-config` element does nothing if they are not
+specified.
+
+Use property subelements to configure provider-specific properties.
+Property values are passed to the provider when its `initialize` method
+is called.
+
+[[fvzcy]][[GSDPG00643]][[superelements-148]]
+
+==== Superelements
+
+link:#beauy[`message-security-config`] (`sun-acc.xml`)
+
+[[fvyzt]][[GSDPG00644]][[subelements-140]]
+
+==== Subelements
+
+The following table describes subelements for the `provider-config`
+element.
+
+[[GSDPG989]][[sthref182]][[fvyyq]]
+
+
+Table C-116 `provider-config` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beawo[`request-policy`]
+
+
+ |zero or one |Defines the authentication policy requirements of the
+authentication provider's request processing.
+
+a|
+link:#beawx[`response-policy`]
+
+
+ |zero or one |Defines the authentication policy requirements of the
+authentication provider's response processing.
+
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvywu]][[GSDPG00645]][[attributes-32]]
+
+==== Attributes
+
+The following table describes attributes for the `provider-config`
+element.
+
+[[GSDPG990]][[sthref183]][[fvyvz]]
+
+
+Table C-117 `provider-config` Attributes
+
+[width="172%",cols="11%,46%,43%",options="header",]
+|===
+|Attribute |Default |Description
+|`provider-id` |none |Specifies the provider ID.
+
+|`provider-type` |none |Specifies whether the provider is a `client`,
+`server`, or `client-server` authentication provider.
+
+|`class-name` |none |Specifies the Java implementation class of the
+provider. Client authentication providers must implement the
+com.sun.enterprise.security.jauth.ClientAuthModule interface. Server
+authentication providers must implement the
+com.sun.enterprise.security.jauth.ServerAuthModule interface.
+Client-server providers must implement both interfaces.
+|===
+
+
+[[beawb]][[GSDPG00233]][[query-filter]]
+
+=== `query-filter`
+
+Specifies the query filter for the CMP 1.1 finder.
+
+[[fvzdm]][[GSDPG00646]][[superelements-149]]
+
+==== Superelements
+
+link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
+
+[[fvzco]][[GSDPG00647]][[subelements-141]]
+
+==== Subelements
+
+none - contains data
+
+[[beawc]][[GSDPG00234]][[query-method]]
+
+=== `query-method`
+
+Specifies a query method.
+
+[[fvyxo]][[GSDPG00648]][[superelements-150]]
+
+==== Superelements
+
+link:#beavu[`prefetch-disabled`] (`glassfish-ejb-jar.xml`)
+
+[[fvyzm]][[GSDPG00649]][[subelements-142]]
+
+==== Subelements
+
+The following table describes subelements for the `query-method`
+element.
+
+[[GSDPG991]][[sthref184]][[fvywl]]
+
+
+Table C-118 `query-method` Subelements
+
+[width="100%",cols="17%,10%,73%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavb[`method-name`]
+
+
+ |only one |Specifies a method name.
+
+a|
+link:#beavd[`method-params`]
+
+
+ |only one |Specifies the fully qualified Java type names of method
+parameters.
+|===
+
+
+[[beawd]][[GSDPG00235]][[query-ordering]]
+
+=== `query-ordering`
+
+Specifies the query ordering for the CMP 1.1 finder.
+
+[[fvzef]][[GSDPG00650]][[superelements-151]]
+
+==== Superelements
+
+link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
+
+[[fvywd]][[GSDPG00651]][[subelements-143]]
+
+==== Subelements
+
+none - contains data
+
+[[beawe]][[GSDPG00236]][[query-params]]
+
+=== `query-params`
+
+Specifies the query parameters for the CMP 1.1 finder.
+
+[[fvyvu]][[GSDPG00652]][[superelements-152]]
+
+==== Superelements
+
+link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
+
+[[fvzax]][[GSDPG00653]][[subelements-144]]
+
+==== Subelements
+
+none - contains data
+
+[[beawf]][[GSDPG00237]][[query-variables]]
+
+=== `query-variables`
+
+Specifies variables in the query expression for the CMP 1.1 finder.
+
+[[fvyyg]][[GSDPG00654]][[superelements-153]]
+
+==== Superelements
+
+link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
+
+[[fvzce]][[GSDPG00655]][[subelements-145]]
+
+==== Subelements
+
+none - contains data
+
+[[beawh]][[GSDPG00238]][[read-only]]
+
+=== `read-only`
+
+Specifies that a field is read-only if `true`. If this element is
+absent, the default value is `false` .
+
+[[fvyzs]][[GSDPG00656]][[superelements-154]]
+
+==== Superelements
+
+link:#bearu[`cmp-field-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvzav]][[GSDPG00657]][[subelements-146]]
+
+==== Subelements
+
+none - contains data
+
+[[beawi]][[GSDPG00239]][[realm]]
+
+=== `realm`
+
+Specifies the name of the realm used to process all authentication
+requests associated with this application. If this element is not
+specified or does not match the name of a configured realm, the default
+realm is used. For more information about realms, see
+"link:application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in {productName} Application Development Guide.
+
+[[fvzaa]][[GSDPG00658]][[superelements-155]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
+link:#beaqw[`as-context`], link:#beauk[`login-config`]
+(`glassfish-ejb-jar.xml`)
+
+[[fvzdq]][[GSDPG00659]][[subelements-147]]
+
+==== Subelements
+
+none - contains data
+
+[[beawj]][[GSDPG00240]][[refresh-field]]
+
+=== `refresh-field`
+
+Specifies a field that gives the application component a programmatic
+way to refresh a cached entry.
+
+[[fvywt]][[GSDPG00660]][[superelements-156]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvzbw]][[GSDPG00661]][[subelements-148]]
+
+==== Subelements
+
+none
+
+[[fvzbp]][[GSDPG00662]][[attributes-33]]
+
+==== Attributes
+
+The following table describes attributes for the `refresh-field`
+element.
+
+[[GSDPG992]][[sthref185]][[fvzbz]]
+
+
+Table C-119 `refresh-field` Attributes
+
+[width="181%",cols="51%,11%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the input parameter name.
+
+|`scope` |`request.parameter` |(optional) Specifies the scope from which
+the input parameter is retrieved. Allowed values are
+`context.attribute`, `request.header`, `request.parameter`,
+`request.cookie`, `session.id`, and `session.attribute`.
+|===
+
+
+[[beawk]][[GSDPG00241]][[refresh-period-in-seconds]]
+
+=== `refresh-period-in-seconds`
+
+Specifies the rate at which a read-only-bean must be refreshed from the
+data source. If the value is less than or equal to zero, the bean is
+never refreshed; if the value is greater than zero, the bean instances
+are refreshed at the specified interval. This rate is just a hint to the
+container. Default is 0 (no refresh).
+
+[[fvzcn]][[GSDPG00663]][[superelements-157]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvyxh]][[GSDPG00664]][[subelements-149]]
+
+==== Subelements
+
+none - contains data
+
+[[beawl]][[GSDPG00242]][[removal-timeout-in-seconds]]
+
+=== `removal-timeout-in-seconds`
+
+Specifies the amount of time a bean instance can remain idle in the
+container before it is removed (timeout). A value of 0 specifies that
+the container does not remove inactive beans automatically. The default
+value is 5400.
+
+If `removal-timeout-in-seconds` is less than or equal to
+`cache-idle-timeout-in-seconds`, beans are removed immediately without
+being passivated.
+
+Applies to stateful session beans.
+
+For related information, see
+link:#bearg[`cache-idle-timeout-in-seconds`].
+
+[[fvzat]][[GSDPG00665]][[superelements-158]]
+
+==== Superelements
+
+link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
+
+[[fvzeg]][[GSDPG00666]][[subelements-150]]
+
+==== Subelements
+
+none - contains data
+
+[[beawm]][[GSDPG00243]][[remote-home-impl]]
+
+=== `remote-home-impl`
+
+Specifies the fully-qualified class name of the generated `EJBHome`
+`impl` class.
+
+
+[NOTE]
+====
+This value is automatically generated by the server at deployment or
+redeployment time. Do not specify it or change it after deployment.
+====
+
+
+[[fvywr]][[GSDPG00667]][[superelements-159]]
+
+==== Superelements
+
+link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
+
+[[fvyyt]][[GSDPG00668]][[subelements-151]]
+
+==== Subelements
+
+none - contains data
+
+[[beawn]][[GSDPG00244]][[remote-impl]]
+
+=== `remote-impl`
+
+Specifies the fully-qualified class name of the generated `EJBObject`
+`impl` class.
+
+
+[NOTE]
+====
+This value is automatically generated by the server at deployment or
+redeployment time. Do not specify it or change it after deployment.
+====
+
+
+[[fvyzi]][[GSDPG00669]][[superelements-160]]
+
+==== Superelements
+
+link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
+
+[[fvzag]][[GSDPG00670]][[subelements-152]]
+
+==== Subelements
+
+none - contains data
+
+[[beawo]][[GSDPG00245]][[request-policy]]
+
+=== `request-policy`
+
+Defines the authentication policy requirements of the authentication
+provider's request processing.
+
+[[fvyxw]][[GSDPG00671]][[superelements-161]]
+
+==== Superelements
+
+link:#beavz[`provider-config`] (`sun-acc.xml`)
+
+[[fvzdz]][[GSDPG00672]][[subelements-153]]
+
+==== Subelements
+
+none
+
+[[fvyvq]][[GSDPG00673]][[attributes-34]]
+
+==== Attributes
+
+The following table describes attributes for the `request-policy`
+element.
+
+[[GSDPG993]][[sthref186]][[fvzdy]]
+
+
+Table C-120 `request-policy` Attributes
+
+[width="172%",cols="11%,46%,43%",options="header",]
+|===
+|Attribute |Default |Description
+|`auth-source` |none |Specifies the type of required authentication,
+either `sender` (user name and password) or `content` (digital
+signature).
+
+|`auth-recipient` |none |Specifies whether recipient authentication
+occurs before or after content authentication. Allowed values are
+`before-content` and `after-content`.
+|===
+
+
+[[beawp]][[GSDPG00246]][[request-protection]]
+
+=== `request-protection`
+
+Defines the authentication policy requirements of the application's
+request processing.
+
+[[fvzcv]][[GSDPG00674]][[superelements-162]]
+
+==== Superelements
+
+link:#beauw[`message-security`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvzby]][[GSDPG00675]][[subelements-154]]
+
+==== Subelements
+
+none
+
+[[fvzar]][[GSDPG00676]][[attributes-35]]
+
+==== Attributes
+
+The following table describes attributes for the `request-protection`
+element.
+
+[[GSDPG994]][[sthref187]][[fvzbu]]
+
+
+Table C-121 `request-protection` Attributes
+
+[width="172%",cols="13%,46%,41%",options="header",]
+|===
+|Attribute |Default |Description
+|`auth-source` |none |Specifies the type of required authentication,
+either `sender` (user name and password) or `content` (digital
+signature).
+
+|`auth-recipient` |none |Specifies whether recipient authentication
+occurs before or after content authentication. Allowed values are
+`before-content` and `after-content`.
+|===
+
+
+[[beawq]][[GSDPG00247]][[required]]
+
+=== `required`
+
+Specifies whether the authentication method specified in the
+link:#beaqx[`auth-method`] element must be used for client
+authentication. The value is `true` or `false` (the default).
+
+[[fvyvc]][[GSDPG00677]][[superelements-163]]
+
+==== Superelements
+
+link:#beaqw[`as-context`] (`glassfish-ejb-jar.xml`)
+
+[[fvywc]][[GSDPG00678]][[subelements-155]]
+
+==== Subelements
+
+none - contains data
+
+[[beawr]][[GSDPG00248]][[res-ref-name]]
+
+=== `res-ref-name`
+
+Specifies the `res-ref-name` in the corresponding Jakarta EE deployment
+descriptor file `resource-ref` entry. The `res-ref-name` element
+specifies the name of a resource manager connection factory reference.
+The name must be unique within an enterprise bean.
+
+[[fvyvk]][[GSDPG00679]][[superelements-164]]
+
+==== Superelements
+
+link:#beaww[`resource-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyyp]][[GSDPG00680]][[subelements-156]]
+
+==== Subelements
+
+none - contains data
+
+[[beaws]][[GSDPG00249]][[resize-quantity]]
+
+=== `resize-quantity`
+
+Specifies the number of bean instances to be:
+
+* Created, if a request arrives when the pool has less than
+link:#beaxt[`steady-pool-size`] quantity of beans (applies to pools only
+for creation). If the pool has more than `steady-pool-size` minus
+link:#beaws[`resize-quantity`] of beans, then `resize-quantity` is still
+created.
+* Removed, when the link:#beavr[`pool-idle-timeout-in-seconds`] timer
+expires and a cleaner thread removes any unused instances.
+
+** For caches, when link:#beauo[`max-cache-size`] is reached,
+`resize-quantity` beans are selected for passivation using the
+link:#beayp[`victim-selection-policy`]. In addition, the
+link:#bearg[`cache-idle-timeout-in-seconds`] or
+link:#beawl[`removal-timeout-in-seconds`] timers passivate beans from
+the cache.
+
+** For pools, when the link:#beaup[`max-pool-size`] is reached,
+`resize-quantity` beans are selected for removal. In addition, the
+link:#beavr[`pool-idle-timeout-in-seconds`] timer removes beans until
+`steady-pool-size` is reached.
+
+Values are from 0 to MAX_INTEGER. The pool is not resized below the
+`steady-pool-size`. Default is 16.
+
+Applies to stateless session beans, entity beans, and message-driven
+beans.
+
+For EJB pools, the value can be defined in the EJB container. Default is
+16. For EJB caches, the value can be defined in the EJB container. Default
+is 32.
+
+For message-driven beans, the value can be defined in the EJB container.
+Default is 2.
+
+[[fvyxb]][[GSDPG00681]][[superelements-165]]
+
+==== Superelements
+
+link:#beara[`bean-cache`], link:#bearb[`bean-pool`]
+(`glassfish-ejb-jar.xml`)
+
+[[fvzcf]][[GSDPG00682]][[subelements-157]]
+
+==== Subelements
+
+none - contains data
+
+[[giyit]][[GSDPG00250]][[resource-adapter-config]]
+
+=== `resource-adapter-config`
+
+Defines a connector (resource adapter) configuration. Stores
+configuration information for the resource adapter JavaBean in
+`property` subelements.
+
+[[GSDPG995]][[sthref188]]
+
+
+[[superelements-166]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[GSDPG996]][[sthref189]]
+
+
+[[subelements-158]]
+==== Subelements
+
+The following table describes subelements for the
+`resource-adapter-config` element.
+
+[[GSDPG997]][[sthref190]][[sthref191]]
+
+
+Table C-122 `resource-adapter-config` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property or a variable.
+|===
+
+
+[[GSDPG998]][[sthref192]]
+
+
+[[attributes-36]]
+==== Attributes
+
+The following table describes attributes for the
+`resource-adapter-config` element.
+
+[[GSDPG999]][[sthref193]][[sthref194]]
+
+
+Table C-123 `resource-adapter-config` Attributes
+
+[width="172%",cols="16%,46%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |(optional) Not used. See `resource-adapter-name`.
+
+|`thread-pool-ids` |none |(optional) Specifies a comma-separated list of
+the names of thread pools.
+
+|`object-type` |`user` a|
+(optional) Defines the type of the resource. Allowed values are:
+
+* `system-all` - A system resource for all server instances and the
+domain application server.
+* `system-admin` - A system resource only for the domain application
+server.
+* `system-instance` - A system resource for all server instances only.
+* `user` - A user resource.
+
+|`resource-adapter-name` |none |Specifies the name of a deployed
+connector module or application. If the resource adapter is embedded in
+an application, then it is app_name`#`rar_name.
+|===
+
+
+[[GSDPG1000]][[sthref195]]
+
+
+[[properties-11]]
+==== Properties
+
+Properties of the `resource-adapter-config` element are the names of
+setter methods of the `resourceadapter-class` element in the `ra.xml`
+file, which defines the class name of the resource adapter JavaBean. Any
+properties defined here override the default values present in `ra.xml`.
+
+[[beawt]][[GSDPG00251]][[resource-adapter-mid]]
+
+=== `resource-adapter-mid`
+
+Specifies the module ID of the resource adapter that is responsible for
+delivering messages to the message-driven bean.
+
+[[fvyvd]][[GSDPG00683]][[superelements-167]]
+
+==== Superelements
+
+link:#beaus[`mdb-resource-adapter`] (`glassfish-ejb-jar.xml`)
+
+[[fvzed]][[GSDPG00684]][[subelements-159]]
+
+==== Subelements
+
+none - contains data
+
+[[beawu]][[GSDPG00252]][[resource-env-ref]]
+
+=== `resource-env-ref`
+
+Maps the `res-ref-name` in the corresponding Jakarta EE deployment
+descriptor file `resource-env-ref` entry to the absolute `jndi-name` of
+a resource.
+
+[[fvyvr]][[GSDPG00685]][[superelements-168]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[fvywe]][[GSDPG00686]][[subelements-160]]
+
+==== Subelements
+
+The following table describes subelements for the `resource-env-ref`
+element.
+
+[[GSDPG1001]][[sthref196]][[fvyye]]
+
+
+Table C-124 `resource-env-ref` Subelements
+
+[width="100%",cols="26%,10%,64%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beawv[`resource-env-ref-name`]
+
+
+ |only one |Specifies the `res-ref-name` in the corresponding Jakarta EE
+deployment descriptor file `resource-env-ref` entry.
+
+a|
+link:#beatw[`jndi-name`]
+
+
+ |only one |Specifies the absolute `jndi-name` of a resource.
+|===
+
+
+[[fvzdf]][[GSDPG00687]][[example-9]]
+
+==== Example
+
+[source,xml]
+----
+<resource-env-ref>
+   <resource-env-ref-name>jms/StockQueueName</resource-env-ref-name>
+   <jndi-name>jms/StockQueue</jndi-name>
+</resource-env-ref>
+----
+
+[[beawv]][[GSDPG00253]][[resource-env-ref-name]]
+
+=== `resource-env-ref-name`
+
+Specifies the `res-ref-name` in the corresponding Jakarta EE deployment
+descriptor file `resource-env-ref` entry.
+
+[[fvzau]][[GSDPG00688]][[superelements-169]]
+
+==== Superelements
+
+link:#beawu[`resource-env-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyxj]][[GSDPG00689]][[subelements-161]]
+
+==== Subelements
+
+none - contains data
+
+[[beaww]][[GSDPG00254]][[resource-ref]]
+
+=== `resource-ref`
+
+Maps the `res-ref-name` in the corresponding Jakarta EE deployment
+descriptor file `resource-ref` entry to the absolute `jndi-name` of a
+resource.
+
+
+[NOTE]
+====
+Connections acquired from JMS connection factories are not shareable in
+the current release of {productName}. The `res-sharing-scope` element
+in the `ejb-jar.xml` file `resource-ref` element is ignored for JMS
+connection factories.
+
+When `resource-ref` specifies a JMS connection factory for the Open
+Message Queue, the `default-resource-principal` (name/password) must
+exist in the Message Queue user repository. Refer to the Security
+Management chapter in the olink:GMADG[Open Message Queue Administration
+Guide] for information on how to manage the Message Queue user
+repository.
+====
+
+
+[[fvywf]][[GSDPG00690]][[superelements-170]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[fvyzz]][[GSDPG00691]][[subelements-162]]
+
+==== Subelements
+
+The following table describes subelements for the `resource-ref`
+element.
+
+[[GSDPG1002]][[sthref197]][[fvzbd]]
+
+
+Table C-125 `resource-ref` Subelements
+
+[width="100%",cols="33%,11%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beawr[`res-ref-name`]
+
+
+ |only one |Specifies the `res-ref-name` in the corresponding Jakarta EE
+deployment descriptor file `resource-ref` entry.
+
+a|
+link:#beatw[`jndi-name`]
+
+
+ |only one |Specifies the absolute `jndi-name` of a resource.
+
+a|
+link:#beasn[`default-resource-principal`]
+
+
+ |zero or one |Specifies the default principal (user) for the resource.
+|===
+
+
+[[fvyzk]][[GSDPG00692]][[example-10]]
+
+==== Example
+
+[source,xml]
+----
+<resource-ref>
+   <res-ref-name>jdbc/EmployeeDBName</res-ref-name>
+   <jndi-name>jdbc/EmployeeDB</jndi-name>
+</resource-ref>
+----
+
+[[giyiy]][[GSDPG00255]][[resources]]
+
+=== `resources`
+
+Defines application-scoped resources for an enterprise application, web
+module, EJB module, connector module, or application client module. This
+is the root element; there can only be one `resources` element in a
+`glassfish-resources.xml` file. See link:dd-files.html#giyhh[The
+glassfish-resources.xml File].
+
+
+[NOTE]
+====
+You must specify a Java Naming and Directory Interface (JNDI) name for
+each resource. To avoid collisions with names of other enterprise
+resources in JNDI, and to avoid portability problems, all names in a
+{productName} application should begin with the string `java:app/`.
+====
+
+
+[[GSDPG1003]][[sthref198]]
+
+
+[[superelements-171]]
+==== Superelements
+
+none
+
+[[GSDPG1004]][[sthref199]]
+
+
+[[subelements-163]]
+==== Subelements
+
+The following table describes subelements for the `resources` element.
+
+[[GSDPG1005]][[sthref200]][[sthref201]]
+
+
+Table C-126 `resources` Subelements
+
+[width="100%",cols="31%,12%,57%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#giyhr[`custom-resource`]
+
+
+ |zero or more |Defines a custom resource.
+
+a|
+link:#giyin[`external-jndi-resource`]
+
+
+ |zero or more |Defines a resource that resides in an external JNDI
+repository.
+
+a|
+link:#giyhm[`jdbc-resource`]
+
+
+ |zero or more |Defines a JDBC (Java Database Connectivity) resource.
+
+a|
+link:#giyik[`mail-resource`]
+
+
+ |zero or more |Defines a Jakarta Mail resource.
+
+a|
+link:#giyhw[`admin-object-resource`]
+
+
+ |zero or more |Defines an administered object for an inbound resource
+adapter.
+
+a|
+link:#giyhv[`connector-resource`]
+
+
+ |zero or more |Defines a connector (resource adapter) resource.
+
+a|
+link:#giyit[`resource-adapter-config`]
+
+
+ |zero or more |Defines a resource adapter configuration.
+
+a|
+link:#giyil[`jdbc-connection-pool`]
+
+
+ |zero or more |Defines the properties that are required for creating a
+JDBC connection pool.
+
+a|
+link:#giygu[`connector-connection-pool`]
+
+
+ |zero or more |Defines the properties that are required for creating a
+connector connection pool.
+
+a|
+link:#giyht[`work-security-map`]
+
+
+ |zero or more |Defines a work security map.
+|===
+
+
+
+[NOTE]
+====
+Subelements of a `resources` element can occur in any order.
+====
+
+
+[[beawx]][[GSDPG00256]][[response-policy]]
+
+=== `response-policy`
+
+Defines the authentication policy requirements of the authentication
+provider's response processing.
+
+[[fvzcg]][[GSDPG00693]][[superelements-172]]
+
+==== Superelements
+
+link:#beavz[`provider-config`] (`sun-acc.xml`)
+
+[[fvyxm]][[GSDPG00694]][[subelements-164]]
+
+==== Subelements
+
+none
+
+[[fvyxf]][[GSDPG00695]][[attributes-37]]
+
+==== Attributes
+
+The following table describes attributes for the `response-policy`
+element.
+
+[[GSDPG1006]][[sthref202]][[fvyyr]]
+
+
+Table C-127 `response-policy` Attributes
+
+[width="172%",cols="13%,46%,41%",options="header",]
+|===
+|Attribute |Default |Description
+|`auth-source` |none |Specifies the type of required authentication,
+either `sender` (user name and password) or `content` (digital
+signature).
+
+|`auth-recipient` |none |Specifies whether recipient authentication
+occurs before or after content authentication. Allowed values are
+`before-content` and `after-content`.
+|===
+
+
+[[beawy]][[GSDPG00257]][[response-protection]]
+
+=== `response-protection`
+
+Defines the authentication policy requirements of the application's
+response processing.
+
+[[fvzdk]][[GSDPG00696]][[superelements-173]]
+
+==== Superelements
+
+link:#beauw[`message-security`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvyxd]][[GSDPG00697]][[subelements-165]]
+
+==== Subelements
+
+none
+
+[[fvzeh]][[GSDPG00698]][[attributes-38]]
+
+==== Attributes
+
+The following table describes attributes for the `response-protection`
+element.
+
+[[GSDPG1007]][[sthref203]][[fvzej]]
+
+
+Table C-128 `response-protection` Attributes
+
+[width="172%",cols="13%,46%,41%",options="header",]
+|===
+|Attribute |Default |Description
+|`auth-source` |none |Specifies the type of required authentication,
+either `sender` (user name and password) or `content` (digital
+signature).
+
+|`auth-recipient` |none |Specifies whether recipient authentication
+occurs before or after content authentication. Allowed values are
+`before-content` and `after-content`.
+|===
+
+
+[[beawz]][[GSDPG00258]][[role-name]]
+
+=== `role-name`
+
+Contains the `role-name` in the `security-role` element of the
+corresponding Jakarta EE deployment descriptor file.
+
+[[fvzek]][[GSDPG00699]][[superelements-174]]
+
+==== Superelements
+
+link:#beaxg[`security-role-mapping`] (`glassfish-application.xml`,
+`glassfish-web.xml`, `glassfish-ejb-jar.xml`)
+
+[[fvzei]][[GSDPG00700]][[subelements-166]]
+
+==== Subelements
+
+none - contains data
+
+[[beaxb]][[GSDPG00259]][[sas-context]]
+
+=== `sas-context`
+
+Describes the sas-context fields.
+
+[[fvzel]][[GSDPG00701]][[superelements-175]]
+
+==== Superelements
+
+link:#beato[`ior-security-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvzfb]][[GSDPG00702]][[subelements-167]]
+
+==== Subelements
+
+The following table describes subelements for the `sas-context` element.
+
+[[GSDPG1008]][[sthref204]][[fvzey]]
+
+
+Table C-129 `sas-context` Subelements
+
+[width="100%",cols="30%,11%,59%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#bearj[`caller-propagation`]
+
+
+ |only one |Specifies whether the target accepts propagated caller
+identities. The values are NONE, SUPPORTED, or REQUIRED.
+|===
+
+
+[[beaxc]][[GSDPG00260]][[schema]]
+
+=== `schema`
+
+Specifies the file that contains a description of the database schema to
+which the beans in this `sun-cmp-mappings.xml` file are mapped. If this
+element is empty, the database schema file is automatically generated at
+deployment time. Otherwise, the `schema` element names a `.dbschema`
+file with a pathname relative to the directory containing the
+`sun-cmp-mappings.xml` file, but without the `.dbschema` extension. See
+"link:application-development-guide/container_managed-persistence.html#GSDVG00439[Automatic Database Schema Capture]" in {productName} Application Development Guide.
+
+[[fvzfa]][[GSDPG00703]][[superelements-176]]
+
+==== Superelements
+
+link:#beaxy[`sun-cmp-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvzeq]][[GSDPG00704]][[subelements-168]]
+
+==== Subelements
+
+none - contains data
+
+[[fvzer]][[GSDPG00705]][[examples-1]]
+
+==== Examples
+
+[source,xml]
+----
+<schema/> <!-- use automatic schema generation -->
+
+<schema>CompanySchema</schema> <!-- use "CompanySchema.dbschema" -->
+----
+
+[[beaxd]][[GSDPG00261]][[schema-generator-properties]]
+
+=== `schema-generator-properties`
+
+Specifies field-specific column attributes in `property` subelements.
+
+[[fvzen]][[GSDPG00706]][[superelements-177]]
+
+==== Superelements
+
+link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
+
+[[fvzez]][[GSDPG00707]][[subelements-169]]
+
+==== Subelements
+
+The following table describes subelements for the
+`schema-generator-properties` element.
+
+[[GSDPG1009]][[sthref205]][[fvzex]]
+
+
+Table C-130 `schema-generator-properties` Subelements
+
+[width="100%",cols="40%,14%,46%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavy[`property` (with subelements)]
+
+
+ |zero or more |Specifies a property name and value.
+|===
+
+
+[[fvzew]][[GSDPG00708]][[properties-12]]
+
+==== Properties
+
+The following table describes properties for the
+`schema-generator-properties` element.
+
+[[GSDPG1010]][[sthref206]][[fvzev]]
+
+
+Table C-131 `schema-generator-properties` Properties
+
+[width="172%",cols="17%,46%,37%",options="header",]
+|===
+|Property |Default |Description
+|`use-unique-table-names` |`false` |Specifies that generated table names
+are unique within each {productName} domain. This property can be
+overridden during deployment. See "link:application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options
+for CMP]" in {productName} Application
+Development Guide.
+
+|bean-name`.`field-name`.`attribute |none |Defines a column attribute.
+For attribute descriptions, see link:#fvymm[Table C-132].
+|===
+
+
+The following table lists the column attributes for properties defined
+in the `schema-generator-properties` element.
+
+[[GSDPG1011]][[sthref207]][[fvymm]]
+
+
+Table C-132 `schema-generator-properties` Column Attributes
+
+[width="100%",cols="24%,76%",options="header",]
+|===
+|Attribute |Description
+|`jdbc-type` |Specifies the JDBC type of the column created for the CMP
+field. The actual SQL type generated is based on this JDBC type but is
+database vendor specific.
+
+|`jdbc-maximum-length` a|
+Specifies the maximum number of characters stored in the column
+corresponding to the CMP field. Applies only when the actual SQL that is
+generated for the column requires a length.
+
+For example, a `jdbc-maximum-length` of `32` on a CMP `String` field
+such as `firstName` normally results in a column definition such as
+VARCHAR(32). But if the `jdbc-type` is `CLOB` and you are deploying on
+Oracle, the resulting column definition is CLOB. No length is given,
+because in an Oracle database, a CLOB has no length.
+
+|`jdbc-precision` |Specifies the maximum number of digits stored in a
+column which represents a numeric type.
+
+|`jdbc-scale` |Specifies the number of digits stored to the right of the
+decimal point in a column that represents a floating point number.
+
+|`jdbc-nullable` |Specifies whether the column generated for the CMP
+field allows null values.
+|===
+
+
+[[fvzem]][[GSDPG00709]][[example-11]]
+
+==== Example
+
+[source,xml]
+----
+<schema-generator-properties>
+   <property>
+         <name>Employee.firstName.jdbc-type</name>
+         <value>char</value>
+   </property>
+   <property>
+         <name>Employee.firstName.jdbc-maximum-length</name>
+         <value>25</value>
+   </property>
+   <property>
+         <name>use-unique-table-names</name>
+         <value>true</value>
+   </property>
+</schema-generator-properties>
+----
+
+[[beaxe]][[GSDPG00262]][[secondary-table]]
+
+=== `secondary-table`
+
+Specifies a bean's secondary table(s).
+
+[[fvzep]][[GSDPG00710]][[superelements-178]]
+
+==== Superelements
+
+link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
+
+[[fvzeo]][[GSDPG00711]][[subelements-170]]
+
+==== Subelements
+
+The following table describes subelements for the `secondary-table`
+element.
+
+[[GSDPG1012]][[sthref208]][[fvzet]]
+
+
+Table C-133 `secondary table` Subelements
+
+[width="100%",cols="28%,15%,57%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beayd[`table-name`]
+
+
+ |only one |Specifies the name of a database table.
+
+a|
+link:#beasa[`column-pair`]
+
+
+ |one or more |Specifies the pair of columns that determine the
+relationship between two database tables.
+|===
+
+
+[[beaxf]][[GSDPG00263]][[security]]
+
+=== `security`
+
+Defines the SSL security configuration for IIOP/SSL communication with
+the target server.
+
+[[fvzes]][[GSDPG00712]][[superelements-179]]
+
+==== Superelements
+
+link:#beaye[`target-server`] (`sun-acc.xml`)
+
+[[fvzeu]][[GSDPG00713]][[subelements-171]]
+
+==== Subelements
+
+The following table describes subelements for the `security` element.
+
+[[GSDPG1013]][[sthref209]][[fvzfe]]
+
+
+Table C-134 `security` Subelements
+
+[width="100%",cols="20%,12%,68%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxs[`ssl`]
+
+
+ |only one |Specifies the SSL processing parameters.
+a|
+link:#beark[`cert-db`]
+
+
+ |only one |Not implemented. Included for backward compatibility only.
+|===
+
+
+[[giyhy]][[GSDPG00264]][[security-map]]
+
+=== `security-map`
+
+Maps the principal received during servlet or EJB authentication to the
+credentials accepted by the EIS. This mapping is optional. It is
+possible to map multiple {productName} principals to the same
+back-end principal.
+
+This is different from a link:#giyht[`work-security-map`], which maps a
+principal associated with an incoming work instance to a principal in
+the {productName}'s security domain.
+
+[[GSDPG1014]][[sthref210]]
+
+
+[[superelements-180]]
+==== Superelements
+
+link:#giygu[`connector-connection-pool`] (`glassfish-resources.xml`)
+
+[[GSDPG1015]][[sthref211]]
+
+
+[[subelements-172]]
+==== Subelements
+
+The following table describes subelements for the `security-map`
+element.
+
+[[GSDPG1016]][[sthref212]][[sthref213]]
+
+
+Table C-135 `security-map` Subelements
+
+[width="100%",cols="21%,12%,67%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavv[`principal`]
+
+
+ |one or more |Contains the principal of the servlet or EJB client.
+a|
+link:#giyiq[`user-group`]
+
+
+ |one or more |Contains the group to which the principal belongs.
+a|
+link:#giyjv[`backend-principal`]
+
+
+ |only one |Specifies the user name and password required by the EIS.
+|===
+
+
+[[GSDPG1017]][[sthref214]]
+
+
+[[attributes-39]]
+==== Attributes
+
+The following table describes attributes for the `security-map` element.
+
+[[GSDPG1018]][[sthref215]][[sthref216]]
+
+
+Table C-136 `security-map` Attributes
+
+[width="100%",cols="23%,20%,57%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a name for the security mapping.
+|===
+
+
+[[beaxg]][[GSDPG00265]][[security-role-mapping]]
+
+=== `security-role-mapping`
+
+Maps roles to users or groups in the currently active realm. See
+"link:application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in {productName} Application Development Guide.
+
+The role mapping element maps a role, as specified in the EJB JAR
+`role-name` entries, to a environment-specific user or group. If it maps
+to a user, it must be a concrete user which exists in the current realm,
+who can log into the server using the current authentication method. If
+it maps to a group, the realm must support groups and the group must be
+a concrete group which exists in the current realm. To be useful, there
+must be at least one user in that realm who belongs to that group.
+
+[[fvzfc]][[GSDPG00714]][[superelements-181]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
+
+[[fvzfd]][[GSDPG00715]][[subelements-173]]
+
+==== Subelements
+
+The following table describes subelements for the
+`security-role-mapping` element.
+
+[[GSDPG1019]][[sthref217]][[fvzfj]]
+
+
+Table C-137 `security-role-mapping` Subelements
+
+[width="100%",cols="18%,33%,49%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beawz[`role-name`]
+
+
+ |only one |Contains the `role-name` in the `security-role` element of
+the corresponding Jakarta EE deployment descriptor file.
+
+a|
+link:#beavw[`principal-name`]
+
+
+ |one or more if no `group-name`, otherwise zero or more |Contains a
+principal (user) name in the current realm. In an enterprise bean, the
+principal must have the run-as role specified.
+
+a|
+link:#beati[`group-name`]
+
+
+ |one or more if no `principal-name`, otherwise zero or more |Contains a
+group name in the current realm.
+|===
+
+
+[[beaxh]][[GSDPG00266]][[service-endpoint-interface]]
+
+=== `service-endpoint-interface`
+
+Specifies the web service reference name relative to `java:comp/env`.
+
+[[fvzfm]][[GSDPG00716]][[superelements-182]]
+
+==== Superelements
+
+link:#beavt[`port-info`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvzfl]][[GSDPG00717]][[subelements-174]]
+
+==== Subelements
+
+none - contains data
+
+[[beaxi]][[GSDPG00267]][[service-impl-class]]
+
+=== `service-impl-class`
+
+Specifies the name of the generated service implementation class.
+
+[[fvzfg]][[GSDPG00718]][[superelements-183]]
+
+==== Superelements
+
+link:#beaxk[`service-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvzfk]][[GSDPG00719]][[subelements-175]]
+
+==== Subelements
+
+none - contains data
+
+[[beaxj]][[GSDPG00268]][[service-qname]]
+
+=== `service-qname`
+
+Specifies the WSDL service element that is being referred to.
+
+[[fvzfn]][[GSDPG00720]][[superelements-184]]
+
+==== Superelements
+
+link:#beaxk[`service-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvzff]][[GSDPG00721]][[subelements-176]]
+
+==== Subelements
+
+The following table describes subelements for the `service-qname`
+element.
+
+[[GSDPG1020]][[sthref218]][[fvzfi]]
+
+
+Table C-138 `service-qname` subelements
+
+[width="100%",cols="30%,15%,55%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavh[`namespaceURI`]
+
+
+ |only one |Specifies the namespace URI.
+a|
+link:#beaug[`localpart`]
+
+
+ |only one |Specifies the local part of a QNAME.
+|===
+
+
+[[beaxk]][[GSDPG00269]][[service-ref]]
+
+=== `service-ref`
+
+Specifies runtime settings for a web service reference. Runtime
+information is only needed in the following cases:
+
+* To define the port used to resolve a container-managed port
+* To define the default Stub/Call property settings for Stub objects
+* To define the URL of a final WSDL document to be used instead of the
+one associated with the `service-ref` in the standard Jakarta EE deployment
+descriptor
+
+[[fvzfh]][[GSDPG00722]][[superelements-185]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[fvzhf]][[GSDPG00723]][[subelements-177]]
+
+==== Subelements
+
+The following table describes subelements for the `service-ref` element.
+
+[[GSDPG1021]][[sthref219]][[fvzgc]]
+
+
+Table C-139 `service-ref` subelements
+
+[width="100%",cols="23%,12%,65%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxl[`service-ref-name`]
+
+
+ |only one |Specifies the web service reference name relative to
+`java:comp/env`.
+
+a|
+link:#beavt[`port-info`]
+
+
+ |zero or more |Specifies information for a port within a web service
+reference.
+
+a|
+link:#beari[`call-property`]
+
+
+ |zero or more |Specifies JAX-RPC property values that can be set on a
+`javax.xml.rpc.Call` object before it is returned to the web service
+client.
+
+a|
+link:#beayw[`wsdl-override`]
+
+
+ |zero or one |Specifies a valid URL pointing to a final WSDL document.
+
+a|
+link:#beaxi[`service-impl-class`]
+
+
+ |zero or one |Specifies the name of the generated service
+implementation class.
+
+a|
+link:#beaxj[`service-qname`]
+
+
+ |zero or one |Specifies the WSDL service element that is being
+referenced.
+|===
+
+
+[[beaxl]][[GSDPG00270]][[service-ref-name]]
+
+=== `service-ref-name`
+
+Specifies the web service reference name relative to `java:comp/env`.
+
+[[fvzfx]][[GSDPG00724]][[superelements-186]]
+
+==== Superelements
+
+link:#beaxk[`service-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvzga]][[GSDPG00725]][[subelements-178]]
+
+==== Subelements
+
+none - contains data
+
+[[beaxm]][[GSDPG00271]][[servlet]]
+
+=== `servlet`
+
+Specifies a principal name for a servlet. Used for the `run-as` role
+defined in `web.xml`.
+
+[[fvzgd]][[GSDPG00726]][[superelements-187]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[fvzhs]][[GSDPG00727]][[subelements-179]]
+
+==== Subelements
+
+The following table describes subelements for the `servlet` element.
+
+[[GSDPG1022]][[sthref220]][[fvzhy]]
+
+
+Table C-140 `servlet` Subelements
+
+[width="100%",cols="24%,12%,64%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxo[`servlet-name`]
+
+
+ |only one |Contains the name of a servlet, which is matched to a
+`servlet-name` in `web.xml`.
+
+a|
+link:#beavw[`principal-name`]
+
+
+ |zero or one |Contains a principal (user) name in the current realm.
+
+a|
+link:#beayv[`webservice-endpoint`]
+
+
+ |zero or more |Specifies information about a web service endpoint.
+|===
+
+
+[[beaxn]][[GSDPG00272]][[servlet-impl-class]]
+
+=== `servlet-impl-class`
+
+Specifies the automatically generated name of the servlet implementation
+class.
+
+[[fvzhx]][[GSDPG00728]][[superelements-188]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvzfs]][[GSDPG00729]][[subelements-180]]
+
+==== Subelements
+
+none - contains data
+
+[[beaxo]][[GSDPG00273]][[servlet-name]]
+
+=== `servlet-name`
+
+Specifies the name of a servlet, which is matched to a `servlet-name` in
+`web.xml`. This name must be present in `web.xml`.
+
+[[fvzhj]][[GSDPG00730]][[superelements-189]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`], link:#beaxm[`servlet`]
+(`glassfish-web.xml`)
+
+[[fvzir]][[GSDPG00731]][[subelements-181]]
+
+==== Subelements
+
+none - contains data
+
+[[beaxp]][[GSDPG00274]][[session-config]]
+
+=== `session-config`
+
+Specifies session configuration information. Overrides the web container
+settings for an individual web module.
+
+[[fvzic]][[GSDPG00732]][[superelements-190]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[fvzfy]][[GSDPG00733]][[subelements-182]]
+
+==== Subelements
+
+The following table describes subelements for the `session-config`
+element.
+
+[[GSDPG1023]][[sthref221]][[fvzib]]
+
+
+Table C-141 `session-config` Subelements
+
+[width="100%",cols="31%,16%,53%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxq[`session-manager`]
+
+
+ |zero or one |Specifies session manager configuration information.
+a|
+link:#beaxr[`session-properties`]
+
+
+ |zero or one |Specifies session properties.
+a|
+link:#beash[`cookie-properties`]
+
+
+ |zero or one |Specifies session cookie properties.
+|===
+
+
+[[beaxq]][[GSDPG00275]][[session-manager]]
+
+=== `session-manager`
+
+Specifies session manager information.
+
+[[fvzgx]][[GSDPG00734]][[superelements-191]]
+
+==== Superelements
+
+link:#beaxp[`session-config`] (`glassfish-web.xml`)
+
+[[fvzit]][[GSDPG00735]][[subelements-183]]
+
+==== Subelements
+
+The following table describes subelements for the `session-manager`
+element.
+
+[[GSDPG1024]][[sthref222]][[fvzgo]]
+
+
+Table C-142 `session-manager` Subelements
+
+[width="100%",cols="32%,15%,53%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaum[`manager-properties`]
+
+
+ |zero or one |Specifies session manager properties.
+a|
+link:#beaxu[`store-properties`]
+
+
+ |zero or one |Specifies session persistence (storage) properties.
+|===
+
+
+[[fvzgm]][[GSDPG00736]][[attributes-40]]
+
+==== Attributes
+
+The following table describes attributes for the `session-manager`
+element.
+
+[[GSDPG1025]][[sthref223]][[fvzje]]
+
+
+Table C-143 `session-manager` Attributes
+
+[width="172%",cols="13%,46%,41%",options="header",]
+|===
+|Attribute |Default |Description
+|`persistence-type` |`memory` a|
+(optional) Specifies the session persistence mechanism. Allowed values
+are `memory`, `file`, and `replicated`.
+
+If you have installed and configured Coherence*Web, the `coherence-web`
+persistence type is also available. For more information, see Using
+Coherence*Web with {productName}
+(`http://docs.oracle.com/cd/E18686_01/coh.37/e18690/glassfish.html`).
+
+|===
+
+
+[[beaxr]][[GSDPG00276]][[session-properties]]
+
+=== `session-properties`
+
+Specifies session properties.
+
+[[fvzha]][[GSDPG00737]][[superelements-192]]
+
+==== Superelements
+
+link:#beaxp[`session-config`] (`glassfish-web.xml`)
+
+[[fvzgk]][[GSDPG00738]][[subelements-184]]
+
+==== Subelements
+
+The following table describes subelements for the `session-properties`
+element.
+
+[[GSDPG1026]][[sthref224]][[fvzgv]]
+
+
+Table C-144 `session-properties` Subelements
+
+[width="100%",cols="36%,14%,50%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvzht]][[GSDPG00739]][[properties-13]]
+
+==== Properties
+
+The following table describes properties for the `session-properties`
+element.
+
+[[GSDPG1027]][[sthref225]][[fvzii]]
+
+
+Table C-145 `session-properties` Properties
+
+[width="172%",cols="14%,46%,40%",options="header",]
+|===
+|Property |Default |Description
+|`timeoutSeconds` |`1800` a|
+Specifies the default maximum inactive interval (in seconds) for all
+sessions created in this web module. If set to `0` or less, sessions in
+this web module never expire.
+
+If a `session-timeout` element is specified in the `web.xml` file, the
+`session-timeout` value overrides any `timeoutSeconds` value. If neither
+`session-timeout` nor `timeoutSeconds` is specified, the
+`timeoutSeconds` default is used.
+
+Note that the `session-timeout` element in `web.xml` is specified in
+minutes, not seconds.
+
+|`enableCookies` |`true` |Uses cookies for session tracking if set to
+`true`.
+
+|`enableURLRewriting` |`true` |Enables URL rewriting. This provides
+session tracking via URL rewriting when the browser does not accept
+cookies. You must also use an `encodeURL` or `encodeRedirectURL` call in
+the servlet or JSP.
+|===
+
+
+[[beaxs]][[GSDPG00277]][[ssl]]
+
+`ssl`
+~~~~~
+
+Defines SSL processing parameters.
+
+[[fvzft]][[GSDPG00740]][[superelements-193]]
+
+==== Superelements
+
+link:#beaxf[`security`] (`sun-acc.xml`)
+
+[[fvzgh]][[GSDPG00741]][[subelements-185]]
+
+==== Subelements
+
+none
+
+[[fvzip]][[GSDPG00742]][[attributes-41]]
+
+==== Attributes
+
+The following table describes attributes for the `SSL` element.
+
+[[GSDPG1028]][[sthref226]][[fvzgb]]
+
+
+Table C-146 `ssl attributes`
+
+[width="172%",cols="16%,46%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`cert-nickname` |`s1as` |(optional) The nickname of the server
+certificate in the certificate database or the PKCS#11 token. In the
+certificate, the name format is tokenname`:`nickname. Including the
+tokenname`:` part of the name in this attribute is optional.
+
+|`ssl2-enabled` |`false` |(optional) Determines whether SSL2 is enabled.
+
+|`ssl2-ciphers` |none |(optional) A comma-separated list of the SSL2
+ciphers to be used. Ciphers not explicitly listed will be disabled for
+the target, even if those ciphers are available in the particular cipher
+suite you are using. If this option is not used, all supported ciphers
+are assumed to be enabled. Allowed values are `rc4`, `rc4export`, `rc2`,
+`rc2export`, `idea`, `des`, `desede3`.
+
+|`ssl3-enabled` |`true` |(optional) Determines whether SSL3 is enabled.
+
+|`ssl3-tls-ciphers` |none |(optional) A comma-separated list of the
+SSL3 and/or TLS ciphers to be used. Ciphers not explicitly listed will
+be disabled for the target, even if those ciphers are available in the
+particular cipher suite you are using. If this option is not used, all
+supported ciphers are assumed to be enabled. Allowed values are
+`SSL_RSA_WITH_RC4_128_MD5`, `SSL_RSA_WITH_3DES_EDE_CBC_SHA`,
+`SSL_RSA_WITH_DES_CBC_SHA`, `SSL_RSA_EXPORT_WITH_RC4_40_MD5`,
+`SSL_RSA_WITH_NULL_MD5`, `SSL_RSA_WITH_RC4_128_SHA`,
+`SSL_RSA_WITH_NULL_SHA`. Values available in previous releases are
+supported for backward compatibility.
+
+|`tls-enabled` |`true` |(optional) Determines whether TLS is enabled.
+
+|`tls-rollback-enabled` |`true` |(optional) Determines whether TLS
+rollback is enabled. Enable TLS rollback for Microsoft Internet Explorer
+5.0 and 5.5.
+|===
+
+
+[[beaxt]][[GSDPG00278]][[steady-pool-size]]
+
+=== `steady-pool-size`
+
+Specifies the initial and minimum number of bean instances that are
+maintained in the pool. Default is 32. Applies to stateless session
+beans and message-driven beans.
+
+[[fvziq]][[GSDPG00743]][[superelements-194]]
+
+==== Superelements
+
+link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
+
+[[fvziy]][[GSDPG00744]][[subelements-186]]
+
+==== Subelements
+
+none - contains data
+
+[[beaxu]][[GSDPG00279]][[store-properties]]
+
+=== `store-properties`
+
+Specifies session persistence (storage) properties.
+
+[[fvzie]][[GSDPG00745]][[superelements-195]]
+
+==== Superelements
+
+link:#beaxq[`session-manager`] (`glassfish-web.xml`)
+
+[[fvzid]][[GSDPG00746]][[subelements-187]]
+
+==== Subelements
+
+The following table describes subelements for the `store-properties`
+element.
+
+[[GSDPG1029]][[sthref227]][[fvzif]]
+
+
+Table C-147 `store-properties` Subelements
+
+[width="100%",cols="37%,14%,49%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[fvzho]][[GSDPG00747]][[properties-14]]
+
+==== Properties
+
+The following table describes properties for the `store-properties`
+element.
+
+[[GSDPG1030]][[sthref228]][[fvzgr]]
+
+
+Table C-148 `store-properties` Properties
+
+[width="100%",cols="21%,23%,56%",options="header",]
+|===
+|Property |Default |Description
+|`directory` |domain-dir``/generated/jsp/``app-name``/``module-name``_war`` a|
+Specifies the absolute or relative pathname of the directory into which
+individual session files are written. A relative path is relative to the
+temporary work directory for this web module.
+
+Applicable only if the `persistence-type` attribute of the parent
+link:#beaxq[`session-manager`] element is `file`.
+
+|`persistenceScope` |`session` a|
+Specifies how much of the session state is stored. Allowed values are as
+follows:
+
+* `session` - The entire session state is stored every time. This mode
+provides the best guarantee that your session data is correctly stored
+for any distributable web module.
+* `modified-session` - The entire session state is stored if it has been
+modified. A session is considered to have been modified if
+`HttpSession.setAttribute()` or `HttpSession.removeAttribute()` was
+called. You must guarantee that `setAttribute` is called every time an
+attribute is changed. This is not a Jakarta EE specification requirement,
+but it is required for this mode to work properly.
+* `modified-attribute` - Only modified session attributes are stored.
+For this mode to work properly, you must follow some guidelines, which
+are explained immediately following this table.
+
+Applicable only if the `persistence-type` attribute of the parent
+link:#beaxq[`session-manager`] element is `replicated`.
+
+|===
+
+
+If the `persistenceScope` store property is set to `modified-attribute`,
+a web module must follow these guidelines:
+
+* Call `setAttribute` every time the session state is modified.
+* Make sure there are no cross-references between attributes. The object
+graph under each distinct attribute key is serialized and stored
+separately. If there are any object cross references between the objects
+under each separate key, they are not serialized and deserialized
+correctly.
+* Distribute the session state across multiple attributes, or at least
+between a read-only attribute and a modifiable attribute.
+
+[[beaxv]][[GSDPG00280]][[stub-property]]
+
+=== `stub-property`
+
+Specifies JAX-RPC property values that are set on a `javax.xml.rpc.Stub`
+object before it is returned to the web service client. The property
+names can be any properties supported by the JAX-RPC `Stub`
+implementation.
+
+[[fvzgu]][[GSDPG00748]][[superelements-196]]
+
+==== Superelements
+
+link:#beavt[`port-info`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvzij]][[GSDPG00749]][[subelements-188]]
+
+==== Subelements
+
+The following table describes subelements for the `stub-property`
+element.
+
+[[GSDPG1031]][[sthref229]][[fvziz]]
+
+
+Table C-149 `stub-property` subelements
+
+[width="100%",cols="23%,13%,64%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavf[`name`]
+
+
+ |only one |Specifies the name of the entity.
+a|
+link:#beayo[`value`]
+
+
+ |only one |Specifies the value of the entity.
+|===
+
+
+[[gawoa]][[GSDPG00750]][[properties-15]]
+
+==== Properties
+
+The following table describes properties for the `stub-property`
+element.
+
+[[GSDPG1032]][[sthref230]][[gawou]]
+
+
+Table C-150 `stub-property` properties
+
+[width="181%",cols="10%,49%,41%",options="header",]
+|===
+|Property |Default |Description
+|`jbi-enabled` |`true` |Determines whether the visibility of this
+endpoint as a Java Business Integration service is enabled or disabled.
+|===
+
+
+[[fvzji]][[GSDPG00751]][[example-12]]
+
+==== Example
+
+[source,xml]
+----
+<service-ref>
+<service-ref-name>service/FooProxy</service-ref-name>
+  <port-info>
+       <service-endpoint-interface>a.FooPort</service-endpoint-interface>
+       <wsdl-port>
+          <namespaceURI>urn:Foo</namespaceURI>
+          <localpart>FooPort</localpart>
+       </wsdl-port>
+       <stub-property>
+          <name>javax.xml.rpc.service.endpoint.address</name>
+          <value>http://localhost:8080/a/Foo</value>
+       </stub-property>
+  </port-info>
+</service-ref>
+----
+
+[[beaxy]][[GSDPG00281]][[sun-cmp-mapping]]
+
+=== `sun-cmp-mapping`
+
+Specifies beans mapped to a particular database schema.
+
+
+[NOTE]
+====
+A bean cannot be related to a bean that maps to a different database
+schema, even if the beans are deployed in the same EJB JAR file.
+====
+
+
+[[fvzhh]][[GSDPG00752]][[superelements-197]]
+
+==== Superelements
+
+link:#beaxz[`sun-cmp-mappings`] (`sun-cmp-mappings.xml`)
+
+[[fvzjg]][[GSDPG00753]][[subelements-189]]
+
+==== Subelements
+
+The following table describes subelements for the `sun-cmp-mapping`
+element.
+
+[[GSDPG1033]][[sthref231]][[fvzhm]]
+
+
+Table C-151 `sun-cmp-mapping` Subelements
+
+[width="100%",cols="20%,13%,67%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxc[`schema`]
+
+
+ |only one |Specifies the file that contains a description of the
+database schema.
+
+a|
+link:#beasy[`entity-mapping`]
+
+
+ |one or more |Specifies the mapping of a bean to database columns.
+|===
+
+
+[[beaxz]][[GSDPG00282]][[sun-cmp-mappings]]
+
+=== `sun-cmp-mappings`
+
+Defines the {productName} specific CMP mapping configuration for an
+EJB JAR file. This is the root element; there can only be one
+`sun-cmp-mappings` element in a `sun-cmp-mappings.xml` file. See
+link:dd-files.html#beaqn[The sun-cmp-mappings.xml File].
+
+[[fvzix]][[GSDPG00754]][[superelements-198]]
+
+==== Superelements
+
+none
+
+[[fvzjj]][[GSDPG00755]][[subelements-190]]
+
+==== Subelements
+
+The following table describes subelements for the `sun-cmp-mappings`
+element.
+
+[[GSDPG1034]][[sthref232]][[fvzin]]
+
+
+Table C-152 `sun-cmp-mappings` Subelements
+
+[width="100%",cols="32%,16%,52%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaxy[`sun-cmp-mapping`]
+
+
+ |one or more |Specifies beans mapped to a particular database schema.
+|===
+
+
+[[beayd]][[GSDPG00283]][[table-name]]
+
+=== `table-name`
+
+Specifies the name of a database table. The table must be present in the
+database schema file. See "link:application-development-guide/container_managed-persistence.html#GSDVG00439[Automatic Database Schema
+Capture]" in {productName} Application
+Development Guide.
+
+[[fvzis]][[GSDPG00756]][[superelements-199]]
+
+==== Superelements
+
+link:#beasy[`entity-mapping`], link:#beaxe[`secondary-table`]
+(`sun-cmp-mappings.xml`)
+
+[[fvzjk]][[GSDPG00757]][[subelements-191]]
+
+==== Subelements
+
+none - contains data
+
+[[beaye]][[GSDPG00284]][[target-server]]
+
+=== `target-server`
+
+Specifies the IIOP listener for the target server. Also specifies IIOP
+endpoints used for load balancing. If the {productName} instance on
+which the application client is deployed participates in a cluster,
+{productName} finds all currently active IIOP endpoints in the
+cluster automatically. However, a client should have at least two
+endpoints specified for bootstrapping purposes, in case one of the
+endpoints has failed.
+
+A listener or endpoint is in the form host`:`port, where the host is an
+IP address or host name, and the port specifies the port number.
+
+Not used if the deprecated `endpoints` property is defined for load
+balancing. For more information, see link:#bearr[`client-container`].
+
+[[fvzgy]][[GSDPG00758]][[superelements-200]]
+
+==== Superelements
+
+link:#bearr[`client-container`] (`sun-acc.xml`)
+
+[[fvzhi]][[GSDPG00759]][[subelements-192]]
+
+==== Subelements
+
+The following table describes subelements for the `target-server`
+element.
+
+[[GSDPG1035]][[sthref233]][[fvzhg]]
+
+
+Table C-153 `target-server` subelements
+
+[width="100%",cols="23%,14%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Specifies the description of the target server.
+
+a|
+link:#beaxf[`security`]
+
+
+ |zero or one |Specifies the security configuration for the IIOP/SSL
+communication with the target server.
+|===
+
+
+[[fvzfp]][[GSDPG00760]][[attributes-42]]
+
+==== Attributes
+
+The following table describes attributes for the `target-server`
+element.
+
+[[GSDPG1036]][[sthref234]][[fvzgg]]
+
+
+Table C-154 `target-server` attributes
+
+[width="181%",cols="7%,49%,44%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the name of the server instance accessed by the
+client container.
+
+|`address` |none |Specifies the host name or IP address (resolvable by
+DNS) of the server to which this client attaches.
+
+|`port` |none a|
+Specifies the naming service port number of the server to which this
+client attaches.
+
+For a new server instance, assign a port number other than 3700. You can
+change the port number in the Administration Console. Click the Help
+button in the Administration Console for more information.
+
+|===
+
+
+[[beayf]][[GSDPG00285]][[tie-class]]
+
+=== `tie-class`
+
+Specifies the automatically generated name of a tie implementation class
+for a port component.
+
+[[fvzgz]][[GSDPG00761]][[superelements-201]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvzfq]][[GSDPG00762]][[subelements-193]]
+
+==== Subelements
+
+none - contains data
+
+[[beayg]][[GSDPG00286]][[timeout]]
+
+=== `timeout`
+
+Specifies the link:#bearh[`cache-mapping`] specific maximum amount of
+time in seconds that an entry can remain in the cache after it is
+created or refreshed. If not specified, the default is the value of the
+`timeout` attribute of the link:#beard[`cache`] element.
+
+[[fvzhc]][[GSDPG00763]][[superelements-202]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvziv]][[GSDPG00764]][[subelements-194]]
+
+==== Subelements
+
+none - contains data
+
+[[fvzhd]][[GSDPG00765]][[attributes-43]]
+
+==== Attributes
+
+The following table describes attributes for the `timeout` element.
+
+[[GSDPG1037]][[sthref235]][[fvzih]]
+
+
+Table C-155 `timeout` Attributes
+
+[width="181%",cols="51%,11%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies the timeout input parameter, whose value is
+interpreted in seconds. The field's type must be `java.lang.Long` or
+`java.lang.Integer`.
+
+|`scope` |`request.attribute` |(optional) Specifies the scope from which
+the input parameter is retrieved. Allowed values are
+`context.attribute`, `request.header`, `request.parameter`,
+`request.cookie`, `request.attribute`, and `session.attribute`.
+|===
+
+
+[[beayh]][[GSDPG00287]][[transport-config]]
+
+=== `transport-config`
+
+Specifies the security transport information.
+
+[[fvzfo]][[GSDPG00766]][[superelements-203]]
+
+==== Superelements
+
+link:#beato[`ior-security-config`] (`glassfish-ejb-jar.xml`)
+
+[[fvzhv]][[GSDPG00767]][[subelements-195]]
+
+==== Subelements
+
+The following table describes subelements for the `transport-config`
+element.
+
+[[GSDPG1038]][[sthref236]][[fvziu]]
+
+
+Table C-156 `transport-config` Subelements
+
+[width="100%",cols="30%,10%,60%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beatn[`integrity`]
+
+
+ |only one |Specifies if the target supports integrity-protected
+messages. The values are NONE, SUPPORTED, or REQUIRED.
+
+a|
+link:#beasc[`confidentiality`]
+
+
+ |only one |Specifies if the target supports privacy-protected messages.
+The values are NONE, SUPPORTED, or REQUIRED.
+
+a|
+link:#beata[`establish-trust-in-target`]
+
+
+ |only one |Specifies if the target is capable of authenticating to a
+client. The values are NONE, SUPPORTED, or REQUIRED.
+
+a|
+link:#beasz[`establish-trust-in-client`]
+
+
+ |only one |Specifies if the target is capable of authenticating a
+client. The values are NONE, SUPPORTED, or REQUIRED.
+|===
+
+
+[[beayi]][[GSDPG00288]][[transport-guarantee]]
+
+=== `transport-guarantee`
+
+Specifies that the communication between client and server is `NONE`,
+`INTEGRAL`, or `CONFIDENTIAL`.
+
+* `NONE` means the application does not require any transport
+guarantees.
+* `INTEGRAL` means the application requires that the data sent between
+client and server be sent in such a way that it can't be changed in
+transit.
+* `CONFIDENTIAL` means the application requires that the data be
+transmitted in a fashion that prevents other entities from observing the
+contents of the transmission.
+
+In most cases, a value of `INTEGRAL` or `CONFIDENTIAL` indicates that
+the use of SSL is required.
+
+[[fvzhb]][[GSDPG00768]][[superelements-204]]
+
+==== Superelements
+
+link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvzgl]][[GSDPG00769]][[subelements-196]]
+
+==== Subelements
+
+none - contains data
+
+[[beayk]][[GSDPG00289]][[unique-id]]
+
+=== `unique-id`
+
+Contains the unique ID for the application. This value is automatically
+updated each time the application is deployed or redeployed. Do not edit
+this value.
+
+[[fvzig]][[GSDPG00770]][[superelements-205]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
+link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
+
+[[fvzjc]][[GSDPG00771]][[subelements-197]]
+
+==== Subelements
+
+none - contains data
+
+[[beayl]][[GSDPG00290]][[url-pattern]]
+
+=== `url-pattern`
+
+Specifies a servlet URL pattern for which caching is enabled. See the
+Servlet 2.4 specification section SRV. 11.2 for applicable patterns.
+
+[[fvziw]][[GSDPG00772]][[superelements-206]]
+
+==== Superelements
+
+link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
+
+[[fvzfw]][[GSDPG00773]][[subelements-198]]
+
+==== Subelements
+
+none - contains data
+
+[[giyiq]][[GSDPG00291]][[user-group]]
+
+=== `user-group`
+
+Contains the group to which the principal belongs.
+
+[[GSDPG1039]][[sthref237]]
+
+
+[[superelements-207]]
+==== Superelements
+
+link:#giyhy[`security-map`] (`glassfish-resources.xml`)
+
+[[GSDPG1040]][[sthref238]]
+
+
+[[subelements-199]]
+==== Subelements
+
+none - contains data
+
+[[beaym]][[GSDPG00292]][[use-thread-pool-id]]
+
+=== `use-thread-pool-id`
+
+Specifies the thread pool from which threads are selected for remote
+invocations of this bean.
+
+[[fvzhz]][[GSDPG00774]][[superelements-208]]
+
+==== Superelements
+
+link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
+
+[[fvzhp]][[GSDPG00775]][[subelements-200]]
+
+==== Subelements
+
+none - contains data
+
+[[beayo]][[GSDPG00293]][[value]]
+
+=== `value`
+
+Specifies the value of the entity.
+
+[[fvzhq]][[GSDPG00776]][[superelements-209]]
+
+==== Superelements
+
+link:#beari[`call-property`], link:#beaxv[`stub-property`]
+(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`); link:#beavy[`property` (with
+subelements)] (`glassfish-ejb-jar.xml`)
+
+[[fvzhe]][[GSDPG00777]][[subelements-201]]
+
+==== Subelements
+
+none - contains data
+
+[[gikqk]][[GSDPG00294]][[valve]]
+
+=== `valve`
+
+Specifies a custom valve for this web application. You can define a
+valve for all the web applications on a specific virtual server. For
+details, see link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+
+[[giksf]][[GSDPG00778]][[superelements-210]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
+
+[[gikvt]][[GSDPG00779]][[subelements-202]]
+
+==== Subelements
+
+The following table describes subelements for the `valve` element.
+
+[[GSDPG1041]][[sthref239]][[giktu]]
+
+
+Table C-157 `valve` Subelements
+
+[width="100%",cols="25%,12%,63%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Specifies a text description of this element.
+a|
+link:#beavx[`property` (with attributes)]
+
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[gikuo]][[GSDPG00780]][[attributes-44]]
+
+==== Attributes
+
+The following table describes attributes for the `valve` element.
+
+[[GSDPG1042]][[sthref240]][[gikqw]]
+
+
+Table C-158 `valve` Attributes
+
+[width="172%",cols="9%,46%,45%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the valve.
+
+|`class-name` |none |Specifies the fully qualified class name of the
+valve. The valve class must implement the org.apache.catalina.Valve
+interface from Tomcat or previous {productName} releases, or the
+org.glassfish.web.valve.GlassFishValve interface from the current
+{productName} release.
+|===
+
+
+[[giksd]][[GSDPG00781]][[example-13]]
+
+==== Example
+
+[source,xml]
+----
+<valve name="MyValve" classname="org.glassfish.extension.Valve">
+   <property name="MyProperty1" value="MyValue1" />
+   <property name="MyProperty2" value="MyValue2" />
+</valve>
+----
+
+[[gbgdw]][[GSDPG00295]][[vendor]]
+
+=== `vendor`
+
+Specifies a vendor-specific icon, splash screen, text string, or a
+combination of these for Java Web Start download and launch screens. The
+complete format of this element's data is as follows:
+
+[source,xml]
+----
+<vendor>icon-image-URI::splash-screen-image-URI::vendor-text</vendor>
+----
+
+The following example vendor element contains an icon, a splash screen,
+and a text string:
+
+[source,xml]
+----
+<vendor>images/icon.jpg::otherDir/splash.jpg::MyCorp, Inc.</vendor>
+----
+
+The following example vendor element contains an icon and a text string:
+
+[source,xml]
+----
+<vendor>images/icon.jpg::MyCorp, Inc.</vendor>
+----
+
+The following example vendor element contains a splash screen and a text
+string; note the initial double colon:
+
+[source,xml]
+----
+<vendor>::otherDir/splash.jpg::MyCorp, Inc.</vendor>
+----
+
+The following example vendor element contains only a text string:
+
+[source,xml]
+----
+<vendor>MyCorp, Inc.</vendor>
+----
+
+The default value is the text string `Application Client`.
+
+[[gbgdu]][[GSDPG00782]][[superelements-211]]
+
+==== Superelements
+
+link:#gauax[`java-web-start-access`]
+(`glassfish-application-client.xml`)
+
+[[gbgcq]][[GSDPG00783]][[subelements-203]]
+
+==== Subelements
+
+none - contains data
+
+[[gkkfd]][[GSDPG00296]][[version-identifier]]
+
+=== `version-identifier`
+
+Contains version information for an application or module. For more
+information about application versioning, see
+link:overview.html#gkhhv[Module and Application Versions].
+
+[[GSDPG1043]][[sthref241]]
+
+
+[[superelements-212]]
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
+link:#beayb[`glassfish-web-app`] (`glassfish-web-app.xml`),
+link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`),
+link:#beaxx[`glassfish-application-client`]
+(`glassfish-application-client.xml`)
+
+[[GSDPG1044]][[sthref242]]
+
+
+[[subelements-204]]
+==== Subelements
+
+none - contains data
+
+[[beayp]][[GSDPG00297]][[victim-selection-policy]]
+
+=== `victim-selection-policy`
+
+Specifies how stateful session beans are selected for passivation.
+Possible values are First In, First Out (`FIFO`), Least Recently Used
+(`LRU`), Not Recently Used (`NRU`). The default value is `NRU`, which is
+actually pseudo-LRU.
+
+
+[NOTE]
+====
+You cannot plug in your own victim selection algorithm.
+====
+
+
+The victims are generally passivated into a backup store (typically a
+file system or database). This store is cleaned during startup, and also
+by a periodic background process that removes idle entries as specified
+by `removal-timeout-in-seconds`. The backup store is monitored by a
+background thread (or sweeper thread) to remove unwanted entries.
+
+Applies to stateful session beans.
+
+[[fvzhu]][[GSDPG00784]][[superelements-213]]
+
+==== Superelements
+
+link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
+
+[[fvzfr]][[GSDPG00785]][[subelements-205]]
+
+==== Subelements
+
+none - contains data
+
+[[fvzgi]][[GSDPG00786]][[example-14]]
+
+==== Example
+
+[source,xml]
+----
+<victim-selection-policy>LRU</victim-selection-policy>
+----
+
+If both SSL2 and SSL3 are enabled, the server tries SSL3 encryption
+first. If that fails, the server tries SSL2 encryption. If both SSL2 and
+SSL3 are enabled for a virtual server, the server tries SSL3 encryption
+first. If that fails, the server tries SSL2 encryption.
+
+[[beayr]][[GSDPG00298]][[web]]
+
+`web`
+~~~~~
+
+Specifies the application's web tier configuration.
+
+[[fvzil]][[GSDPG00787]][[superelements-214]]
+
+==== Superelements
+
+link:#beaxw[`glassfish-application`] (`glassfish-application.xml`)
+
+[[fvzge]][[GSDPG00788]][[subelements-206]]
+
+==== Subelements
+
+The following table describes subelements for the `web` element.
+
+[[GSDPG1045]][[sthref243]][[fvzfz]]
+
+
+Table C-159 `web` Subelements
+
+[width="100%",cols="24%,11%,65%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beays[`web-uri`]
+
+
+ |only one |Contains the web URI for the application.
+a|
+link:#beasg[`context-root`]
+
+
+ |only one |Contains the web context root for the web module.
+|===
+
+
+[[beays]][[GSDPG00299]][[web-uri]]
+
+=== `web-uri`
+
+Contains the web URI for the application. Must match the corresponding
+element in the `application.xml` file.
+
+[[fvzhk]][[GSDPG00789]][[superelements-215]]
+
+==== Superelements
+
+link:#beayr[`web`] (`glassfish-application.xml`)
+
+[[fvzik]][[GSDPG00790]][[subelements-207]]
+
+==== Subelements
+
+none - contains data
+
+[[beayt]][[GSDPG00300]][[webservice-description]]
+
+=== `webservice-description`
+
+Specifies a name and optional publish location for a web service.
+
+[[fvzjd]][[GSDPG00791]][[superelements-216]]
+
+==== Superelements
+
+link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
+link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
+
+[[fvzgs]][[GSDPG00792]][[subelements-208]]
+
+==== Subelements
+
+The following table describes subelements for the
+`webservice-description` element.
+
+[[GSDPG1046]][[sthref244]][[fvzjb]]
+
+
+Table C-160 `webservice-description` subelements
+
+[width="100%",cols="33%,11%,56%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beayu[`webservice-description-name`]
+
+
+ |only one |Specifies a unique name for the web service within a web or
+EJB module.
+
+a|
+link:#beayy[`wsdl-publish-location`]
+
+
+ |zero or one |Specifies the URL of a directory to which a web service's
+WSDL is published during deployment.
+|===
+
+
+[[beayu]][[GSDPG00301]][[webservice-description-name]]
+
+=== `webservice-description-name`
+
+Specifies a unique name for the web service within a web or EJB module.
+
+[[fvzgp]][[GSDPG00793]][[superelements-217]]
+
+==== Superelements
+
+link:#beayt[`webservice-description`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvzgw]][[GSDPG00794]][[subelements-209]]
+
+==== Subelements
+
+none - contains data
+
+[[beayv]][[GSDPG00302]][[webservice-endpoint]]
+
+=== `webservice-endpoint`
+
+Specifies information about a web service endpoint.
+
+[[fvzio]][[GSDPG00795]][[superelements-218]]
+
+==== Superelements
+
+link:#beaxm[`servlet`] (`glassfish-web.xml`), link:#beass[`ejb`]
+(`glassfish-ejb-jar.xml`)
+
+[[fvzjp]][[GSDPG00796]][[subelements-210]]
+
+==== Subelements
+
+The following table describes subelements for the `webservice-endpoint`
+element.
+
+[[GSDPG1047]][[sthref245]][[fvzjs]]
+
+
+Table C-161 `webservice-endpoint` subelements
+
+[width="100%",cols="29%,12%,59%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavs[`port-component-name`]
+
+
+ |only one |Specifies a unique name for a port component within a web or
+EJB module.
+
+a|
+link:#beasw[`endpoint-address-uri`]
+
+
+ |zero or one |Specifies the automatically generated endpoint address.
+
+a|
+link:#beauk[`login-config`]
+
+
+ |zero or one |Specifies the authentication configuration for an EJB web
+service endpoint.
+
+a|
+link:#beaux[`message-security-binding`]
+
+
+ |zero or one |Specifies a custom authentication provider binding.
+
+a|
+link:#beayi[`transport-guarantee`]
+
+
+ |zero or one |Specifies that the communication between client and
+server is `NONE`, `INTEGRAL`, or `CONFIDENTIAL`.
+
+a|
+link:#beaxj[`service-qname`]
+
+
+ |zero or one |Specifies the WSDL service element that is being
+referenced.
+
+a|
+link:#beayf[`tie-class`]
+
+
+ |zero or one |Specifies the automatically generated name of a tie
+implementation class for a port component.
+
+a|
+link:#beaxn[`servlet-impl-class`]
+
+
+ |zero or one |Specifies the automatically generated name of the
+generated servlet implementation class.
+
+a|
+link:#gaubj[`debugging-enabled`]
+
+
+ |zero or one |Specifies whether the debugging servlet is enabled for
+this web service endpoint. Allowed values are `true` and `false` (the
+default).
+
+a|
+link:#beavx[`property` (with attributes)] (`glassfish-web.xml`)
+
+link:#beavy[`property` (with subelements)] (`glassfish-ejb-jar.xml`)
+
+ |zero or more |Specifies a property, which has a name and a value.
+|===
+
+
+[[giyht]][[GSDPG00303]][[work-security-map]]
+
+=== `work-security-map`
+
+Defines a work security map, which maps a principal associated with an
+incoming work instance to a principal in the {productName}'s security
+domain. It is possible to map multiple EIS group or user principals to
+the same {productName} principal.
+
+This is different from a link:#giyhy[`security-map`], which maps the
+principal received during servlet or EJB authentication to the
+credentials accepted by the EIS.
+
+[[GSDPG1048]][[sthref246]]
+
+
+[[superelements-219]]
+==== Superelements
+
+link:#giyiy[`resources`] (`glassfish-resources.xml`)
+
+[[giyih]][[GSDPG00797]][[subelements-211]]
+
+==== Subelements
+
+The following table describes subelements for the `work-security-map`
+element.
+
+[[GSDPG1049]][[sthref247]][[sthref248]]
+
+
+Table C-162 `work-security-map` Subelements
+
+[width="100%",cols="17%,12%,71%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beaso[`description`]
+
+
+ |zero or one |Contains a text description of this element.
+
+a|
+link:#giyif[`principal-map`]
+
+
+ |zero or more |Maps an EIS principal to a principal defined in the
+{productName} domain.
+
+a|
+link:#giygy[`group-map`]
+
+
+ |zero or more |Maps an EIS group to a group defined in the {productName} domain.
+|===
+
+
+[[GSDPG1050]][[sthref249]]
+
+
+[[attributes-45]]
+==== Attributes
+
+The following table describes attributes for the `work-security-map`
+element.
+
+[[GSDPG1051]][[sthref250]][[sthref251]]
+
+
+Table C-163 `work-security-map` Attributes
+
+[width="181%",cols="13%,49%,38%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the work security map.
+|`description` |none |Specifies a text description for this element.
+|===
+
+
+[[beayw]][[GSDPG00304]][[wsdl-override]]
+
+=== `wsdl-override`
+
+Specifies a valid URL pointing to a final WSDL document. If not
+specified, the WSDL document associated with the `service-ref` in the
+standard Jakarta EE deployment descriptor is used.
+
+[[fvzjl]][[GSDPG00798]][[superelements-220]]
+
+==== Superelements
+
+link:#beaxk[`service-ref`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
+
+[[fvzjq]][[GSDPG00799]][[subelements-212]]
+
+==== Subelements
+
+none - contains data
+
+[[fvzjt]][[GSDPG00800]][[example-15]]
+
+==== Example
+
+[source,xml]
+----
+// available via HTTP
+<wsdl-override>http://localhost:8000/myservice/myport?WSDL</wsdl-override>
+
+// in a file
+<wsdl-override>file:/home/user1/myfinalwsdl.wsdl</wsdl-override>
+----
+
+[[beayx]][[GSDPG00305]][[wsdl-port]]
+
+=== `wsdl-port`
+
+Specifies the WSDL port.
+
+[[fvzjo]][[GSDPG00801]][[superelements-221]]
+
+==== Superelements
+
+link:#beavt[`port-info`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
+`glassfish-application-client.xml`)
+
+[[fvzjm]][[GSDPG00802]][[subelements-213]]
+
+==== Subelements
+
+The following table describes subelements for the `wsdl-port` element.
+
+[[GSDPG1052]][[sthref252]][[fvzju]]
+
+
+Table C-164 `wsdl-port` subelements
+
+[width="100%",cols="30%,11%,59%",options="header",]
+|===
+|Element |Required |Description
+a|
+link:#beavh[`namespaceURI`]
+
+
+ |only one |Specifies the namespace URI.
+a|
+link:#beaug[`localpart`]
+
+
+ |only one |Specifies the local part of a QNAME.
+|===
+
+
+[[beayy]][[GSDPG00306]][[wsdl-publish-location]]
+
+=== `wsdl-publish-location`
+
+Specifies the URL of a directory to which a web service's WSDL is
+published during deployment. Any required files are published to this
+directory, preserving their location relative to the module-specific
+WSDL directory (`META-INF/wsdl` or `WEB-INF/wsdl`).
+
+[[fvzjw]][[GSDPG00803]][[superelements-222]]
+
+==== Superelements
+
+link:#beayt[`webservice-description`] (`glassfish-web.xml`,
+`glassfish-ejb-jar.xml`)
+
+[[fvzjr]][[GSDPG00804]][[subelements-214]]
+
+==== Subelements
+
+none - contains data
+
+[[fvzjn]][[GSDPG00805]][[example-16]]
+
+==== Example
+
+Suppose you have an `ejb.jar` file whose `webservices.xml` file's
+`wsdl-file` element contains the following reference:
+
+[source]
+----
+META-INF/wsdl/a/Foo.wsdl
+----
+
+Suppose your `glassfish-ejb.jar` file contains the following element:
+
+[source,xml]
+----
+<wsdl-publish-location>file:/home/user1/publish</wsdl-publish-location>
+----
+
+The final WSDL is stored in `/home/user1/publish/a/Foo.wsdl`.
+
+
diff --git a/docs/application-deployment-guide/src/main/asciidoc/dd-files.adoc b/docs/application-deployment-guide/src/main/asciidoc/dd-files.adoc
new file mode 100644
index 0000000..a8ac6ee
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/dd-files.adoc
@@ -0,0 +1,1161 @@
+type=page
+status=published
+title={productName} Deployment Descriptor Files
+next=dd-elements.html
+prev=asadmin-deployment-subcommands.html
+~~~~~~
+
+= {productName} Deployment Descriptor Files
+
+[[GSDPG00006]][[giida]]
+
+
+[[b-glassfish-server-deployment-descriptor-files]]
+== B {productName} Deployment Descriptor Files
+
+This appendix describes the element hierarchies in the {productName}
+deployment descriptors that are included in this release of the
+{productName} software.
+
+The following topics are addressed here:
+
+* link:#giiie[About the {productName} Deployment Descriptors]
+* link:#beaqk[The glassfish-application.xml File]
+* link:#beaql[The glassfish-web.xml File]
+* link:#beaqm[The glassfish-ejb-jar.xml File]
+* link:#beaqn[The sun-cmp-mappings.xml File]
+* link:#beaqo[The glassfish-application-client.xml file]
+* link:#beaqp[The sun-acc.xml File]
+* link:#giyhh[The glassfish-resources.xml File]
+* link:#gkiot[WebLogic Server Deployment Descriptor Support in {productName}]
+
+[[giiie]][[GSDPG00076]][[about-the-glassfish-server-deployment-descriptors]]
+
+=== About the {productName} Deployment Descriptors
+
+Each deployment descriptor XML file has a corresponding Document Type
+Definition (DTD) file, which defines the elements, data, and attributes
+that the deployment descriptor file can contain. For example, the
+`glassfish-application_6_0-1.dtd` file defines the structure of the
+`glassfish-application.xml` file. The DTD files for the {productName}
+deployment descriptors are located in the as-install``/lib/dtds`` directory.
+
+The {productName} deployment descriptor files must be readable and
+writable by the file owners. In each deployment descriptor file,
+subelements must be defined in the order in which they are listed under
+each Subelements heading, unless otherwise noted. For general
+information about DTD files and XML, see the XML specification at
+`http://www.w3.org/TR/REC-xml`.
+
+
+[NOTE]
+====
+Do not edit the DTD files; their contents change only with new versions
+of {productName}.
+====
+
+
+The following table lists the {productName} deployment descriptors
+and their DTD files.
+
+[[GSDPG835]][[sthref6]][[giiht]]
+
+
+Table B-1 {productName} Deployment Descriptors and DTDs
+
+[width="100%",cols="30%,39%,31%",options="header",]
+|===
+|Deployment Descriptor |DTD File |Description
+|`glassfish-application.xml` |`glassfish-application_6_0-1.dtd`
+|Configures an entire Jakarta EE application (EAR file).
+
+|`glassfish-web.xml` |`glassfish-web-app_3_0-1.dtd` |Configures a web
+application (WAR file).
+
+|`glassfish-ejb-jar.xml` |`glassfish-ejb-jar_3_1-1.dtd` |Configures an
+enterprise bean (EJB JAR file).
+
+|`sun-cmp-mappings.xml` |`sun-cmp-mapping_1_2.dtd` |Configures
+container-managed persistence for an EJB 2.0 or 2.1 entity bean.
+
+|`glassfish-application-client.xml`
+|`glassfish-application-client_6_0-1.dtd` |Configures an Application
+Client Container (ACC) client (JAR file).
+
+|`sun-acc.xml` |`sun-application-client-container_1_2.dtd` |Configures
+the Application Client Container. This is more of a configuration file
+than a deployment descriptor. {productName} provides a default file
+in the domain-dir``/config`` directory. Specifying a different file is
+optional.
+
+|`glassfish-resources.xml` |`glassfish-resources_1_5.dtd` |Configures
+application-scoped resources.
+|===
+
+
+
+[NOTE]
+====
+The `sun-application.xml`, `sun-web.xml`, `sun-ejb-jar.xml`,
+`sun-application-client.xml`, and `sun-resources.xml` deployment
+descriptors are supported for backward compatibility.
+====
+
+
+[[beaqk]][[GSDPG00077]][[the-glassfish-application.xml-file]]
+
+=== The glassfish-application.xml File
+
+The `glassfish-application.xml` file configures an entire Jakarta EE
+application (EAR file). The element hierarchy is as follows:
+
+[source]
+----
+glassfish-application
+.  web
+.  .  web-uri
+.  .  context-root
+.  pass-by-reference
+.  unique-id
+.  security-role-mapping
+.  .  role-name
+.  .  principal-name
+.  .  group-name
+.  realm
+.  ejb-ref
+.  .  ejb-ref-name
+.  .  jndi-name
+.  resource-ref
+.  .  res-ref-name
+.  .  jndi-name
+.  .  default-resource-principal
+.  .  .  name
+.  .  .  password
+.  resource-env-ref
+.  .  resource-env-ref-name
+.  .  jndi-name
+.  service-ref
+.  .  service-ref-name
+.  .  port-info
+.  .  .  service-endpoint-interface
+.  .  .  wsdl-port
+.  .  .  .  namespaceURI
+.  .  .  .  localpart
+.  .  .  stub-property
+.  .  .  .  name
+.  .  .  .  value
+.  .  .  call-property
+.  .  .  .  name
+.  .  .  .  value
+.  .  .  message-security-binding
+.  .  .  .  message-security
+.  .  .  .  .  message
+.  .  .  .  .  .  java-method
+.  .  .  .  .  .  .  method-name
+.  .  .  .  .  .  .  method-params
+.  .  .  .  .  .  .  .  method-param
+.  .  .  .  .  .  operation-name
+.  .  .  .  .  request-protection
+.  .  .  .  .  response-protection
+.  .  call-property
+.  .  .  name
+.  .  .  value
+.  .  wsdl-override
+.  .  service-impl-class
+.  .  service-qname
+.  .  .  namespaceURI
+.  .  .  localpart
+.  message-destination-ref
+.  .  message-destination-ref-name
+.  .  jndi-name
+.  message-destination
+.  .  message-destination-name
+.  .  jndi-name
+.  archive-name
+.  compatibility
+.  keep-state
+.  version-identifier
+----
+
+Here is a sample `glassfish-application.xml` file:
+
+[source,xml]
+----
+<!DOCTYPE glassfish-application PUBLIC "-//GlassFish.org//DTD
+GlassFish Application Server 3.1 Jakarta EE Application 6.0//EN"
+"http://glassfish.org/dtds/glassfish-application_6_0-1.dtd">
+<glassfish-application>
+   <unique-id>67488732739338240</unique-id>
+</glassfish-application>
+----
+
+[[beaql]][[GSDPG00078]][[the-glassfish-web.xml-file]]
+
+=== The glassfish-web.xml File
+
+The `glassfish-web.xml` file configures a web application (WAR file).
+The element hierarchy is as follows:
+
+[source]
+----
+glassfish-web-app
+.  context-root
+.  security-role-mapping
+.  .  role-name
+.  .  principal-name
+.  .  group-name
+.  servlet
+.  .  servlet-name
+.  .  principal-name
+.  .  webservice-endpoint
+.  .  .  port-component-name
+.  .  .  endpoint-address-uri
+.  .  .  login-config
+.  .  .  .  auth-method
+.  .  .  message-security-binding
+.  .  .  .  message-security
+.  .  .  .  .  message
+.  .  .  .  .  .  java-method
+.  .  .  .  .  .  .  method-name
+.  .  .  .  .  .  .  method-params
+.  .  .  .  .  .  .  .  method-param
+.  .  .  .  .  .  operation-name
+.  .  .  .  .  request-protection
+.  .  .  .  .  response-protection
+.  .  .  transport-guarantee
+.  .  .  service-qname
+.  .  .  tie-class
+.  .  .  servlet-impl-class
+.  .  .  debugging-enabled
+.  .  .  property (with attributes)
+.  .  .  .  description
+.  idempotent-url-pattern
+.  session-config
+.  .  session-manager
+.  .  .  manager-properties
+.  .  .  .  property (with attributes)
+.  .  .  .  .  description
+.  .  .  store-properties
+.  .  .  .  property (with attributes)
+.  .  .  .  .  description
+.  .  session-properties
+.  .  .  property (with attributes)
+.  .  .  .  description
+.  .  cookie-properties
+.  .  .  property (with attributes)
+.  .  .  .  description
+.  ejb-ref
+.  .  ejb-ref-name
+.  .  jndi-name
+.  resource-ref
+.  .  res-ref-name
+.  .  jndi-name
+.  .  default-resource-principal
+.  .  .  name
+.  .  .  password
+.  resource-env-ref
+.  .  resource-env-ref-name
+.  .  jndi-name
+.  service-ref
+.  .  service-ref-name
+.  .  port-info
+.  .  .  service-endpoint-interface
+.  .  .  wsdl-port
+.  .  .  .  namespaceURI
+.  .  .  .  localpart
+.  .  .  stub-property
+.  .  .  .  name
+.  .  .  .  value
+.  .  .  call-property
+.  .  .  .  name
+.  .  .  .  value
+.  .  .  message-security-binding
+.  .  .  .  message-security
+.  .  .  .  .  message
+.  .  .  .  .  .  java-method
+.  .  .  .  .  .  .  method-name
+.  .  .  .  .  .  .  method-params
+.  .  .  .  .  .  .  .  method-param
+.  .  .  .  .  .  operation-name
+.  .  .  .  .  request-protection
+.  .  .  .  .  response-protection
+.  .  call-property
+.  .  .  name
+.  .  .  value
+.  .  wsdl-override
+.  .  service-impl-class
+.  .  service-qname
+.  .  .  namespaceURI
+.  .  .  localpart
+.  message-destination-ref
+.  .  message-destination-ref-name
+.  .  jndi-name
+.  cache
+.  .  cache-helper
+.  .  .  property (with attributes)
+.  .  .  .  description
+.  .  default-helper
+.  .  .  property (with attributes)
+.  .  .  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  .  cache-mapping
+.  .  .  servlet-name
+.  .  .  url-pattern
+.  .  .  cache-helper-ref
+.  .  .  dispatcher
+.  .  .  timeout
+.  .  .  refresh-field
+.  .  .  http-method
+.  .  .  key-field
+.  .  .  constraint-field
+.  .  .  .  constraint-field-value
+.  class-loader
+.  .  property (with attributes)
+.  .  .  description
+.  jsp-config
+.  locale-charset-info
+.  .  locale-charset-map
+.  .  parameter-encoding
+.  parameter-encoding
+.  property (with attributes)
+.  .  description
+.  valve
+.  message-destination
+.  .  message-destination-name
+.  .  jndi-name
+.  webservice-description
+.  .  webservice-description-name
+.  .  wsdl-publish-location
+.  keep-state
+.  version-identifier
+----
+
+Here is a sample `glassfish-web.xml` file:
+
+[source,xml]
+----
+<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD
+GlassFish Application Server 3.1 Servlet 3.0//EN"
+"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
+<glassfish-web-app>
+   <session-config>
+      <session-manager/>
+   </session-config>
+   <resource-ref>
+      <res-ref-name>mail/Session</res-ref-name>
+      <jndi-name>mail/Session</jndi-name>
+   </resource-ref>
+   <jsp-config/>
+</glassfish-web-app>
+----
+
+[[beaqm]][[GSDPG00079]][[the-glassfish-ejb-jar.xml-file]]
+
+=== The glassfish-ejb-jar.xml File
+
+The `glassfish-ejb-jar.xml` file configures an enterprise bean (EJB JAR
+file). The element hierarchy is as follows:
+
+[source]
+----
+glassfish-ejb-jar
+.  security-role-mapping
+.  .  role-name
+.  .  principal-name
+.  .  group-name
+.  enterprise-beans
+.  .  name
+.  .  unique-id
+.  .  ejb
+.  .  .  ejb-name
+.  .  .  jndi-name
+.  .  .  ejb-ref
+.  .  .  .  ejb-ref-name
+.  .  .  .  jndi-name
+.  .  .  resource-ref
+.  .  .  .  res-ref-name
+.  .  .  .  jndi-name
+.  .  .  .  default-resource-principal
+.  .  .  .  .  name
+.  .  .  .  .  password
+.  .  .  resource-env-ref
+.  .  .  .  resource-env-ref-name
+.  .  .  .  jndi-name
+.  .  .  service-ref
+.  .  .  .  service-ref-name
+.  .  .  .  port-info
+.  .  .  .  .  service-endpoint-interface
+.  .  .  .  .  wsdl-port
+.  .  .  .  .  .  namespaceURI
+.  .  .  .  .  .  localpart
+.  .  .  .  .  stub-property
+.  .  .  .  .  .  name
+.  .  .  .  .  .  value
+.  .  .  .  .  call-property
+.  .  .  .  .  .  name
+.  .  .  .  .  .  value
+.  .  .  .  .  message-security-binding
+.  .  .  .  .  .  message-security
+.  .  .  .  .  .  .  message
+.  .  .  .  .  .  .  .  java-method
+.  .  .  .  .  .  .  .  .  method-name
+.  .  .  .  .  .  .  .  .  method-params
+.  .  .  .  .  .  .  .  .  .  method-param
+.  .  .  .  .  .  .  .  operation-name
+.  .  .  .  .  .  .  request-protection
+.  .  .  .  .  .  .  response-protection
+.  .  .  .  call-property
+.  .  .  .  .  name
+.  .  .  .  .  value
+.  .  .  .  wsdl-override
+.  .  .  .  service-impl-class
+.  .  .  .  service-qname
+.  .  .  .  .  namespaceURI
+.  .  .  .  .  localpart
+.  .  .  message-destination-ref
+.  .  .  .  message-destination-ref-name
+.  .  .  .  jndi-name
+.  .  .  pass-by-reference
+.  .  .  cmp
+.  .  .  .  mapping-properties
+.  .  .  .  is-one-one-cmp
+.  .  .  .  one-one-finders
+.  .  .  .  .  finder
+.  .  .  .  .  .  method-name
+.  .  .  .  .  .  query-params
+.  .  .  .  .  .  query-filter
+.  .  .  .  .  .  query-variables
+.  .  .  .  .  .  query-ordering
+.  .  .  .  prefetch-disabled
+.  .  .  .  .  query-method
+.  .  .  .  .  .  method-name
+.  .  .  .  .  .  method-params
+.  .  .  .  .  .  .  method-param
+.  .  .  principal
+.  .  .  .  name
+.  .  .  mdb-connection-factory
+.  .  .  .  jndi-name
+.  .  .  .  default-resource-principal
+.  .  .  .  .  name
+.  .  .  .  .  password
+.  .  .  jms-durable-subscription-name
+.  .  .  jms-max-messages-load
+.  .  .  ior-security-config
+.  .  .  .  transport-config
+.  .  .  .  .  integrity
+.  .  .  .  .  confidentiality
+.  .  .  .  .  establish-trust-in-target
+.  .  .  .  .  establish-trust-in-client
+.  .  .  .  as-context
+.  .  .  .  .  auth-method
+.  .  .  .  .  realm
+.  .  .  .  .  required
+.  .  .  .  sas-context
+.  .  .  .  .  caller-propagation
+.  .  .  is-read-only-bean
+.  .  .  refresh-period-in-seconds
+.  .  .  commit-option
+.  .  .  cmt-timeout-in-seconds
+.  .  .  use-thread-pool-id
+.  .  .  gen-classes
+.  .  .  .  remote-impl
+.  .  .  .  local-impl
+.  .  .  .  remote-home-impl
+.  .  .  .  local-home-impl
+.  .  .  bean-pool
+.  .  .  .  steady-pool-size
+.  .  .  .  resize-quantity
+.  .  .  .  max-pool-size
+.  .  .  .  pool-idle-timeout-in-seconds
+.  .  .  .  max-wait-time-in-millis
+.  .  .  bean-cache
+.  .  .  .  max-cache-size
+.  .  .  .  resize-quantity
+.  .  .  .  is-cache-overflow-allowed
+.  .  .  .  cache-idle-timeout-in-seconds
+.  .  .  .  removal-timeout-in-seconds
+.  .  .  .  victim-selection-policy
+.  .  .  mdb-resource-adapter
+.  .  .  .  resource-adapter-mid
+.  .  .  .  activation-config
+.  .  .  .  .  description
+.  .  .  .  .  activation-config-property
+.  .  .  .  .  .  activation-config-property-name
+.  .  .  .  .  .  activation-config-property-value
+.  .  .  webservice-endpoint
+.  .  .  .  port-component-name
+.  .  .  .  endpoint-address-uri
+.  .  .  .  login-config
+.  .  .  .  .  auth-method
+.  .  .  .  .  realm
+.  .  .  .  message-security-binding
+.  .  .  .  .  message-security
+.  .  .  .  .  .  message
+.  .  .  .  .  .  .  java-method
+.  .  .  .  .  .  .  .  method-name
+.  .  .  .  .  .  .  .  method-params
+.  .  .  .  .  .  .  .  .  method-param
+.  .  .  .  .  .  .  operation-name
+.  .  .  .  .  .  request-protection
+.  .  .  .  .  .  response-protection
+.  .  .  .  transport-guarantee
+.  .  .  .  service-qname
+.  .  .  .  tie-class
+.  .  .  .  servlet-impl-class
+.  .  .  .  debugging-enabled
+.  .  .  .  property (with subelements)
+.  .  .  .  .  name
+.  .  .  .  .  value
+.  .  .  flush-at-end-of-method
+.  .  .  .  method
+.  .  .  .  .  description
+.  .  .  .  .  ejb-name
+.  .  .  .  .  method-name
+.  .  .  .  .  method-intf
+.  .  .  .  .  method-params
+.  .  .  .  .  .  method-param
+.  .  .  checkpointed-methods
+.  .  .  checkpoint-at-end-of-method
+.  .  .  .  method
+.  .  .  .  .  description
+.  .  .  .  .  ejb-name
+.  .  .  .  .  method-name
+.  .  .  .  .  method-intf
+.  .  .  .  .  method-params
+.  .  .  .  .  .  method-param
+.  .  .  per-request-load-balancing
+.  .  pm-descriptors
+.  .  cmp-resource
+.  .  .  jndi-name
+.  .  .  default-resource-principal
+.  .  .  .  name
+.  .  .  .  password
+.  .  .  property (with subelements)
+.  .  .  .  name
+.  .  .  .  value
+.  .  .  create-tables-at-deploy
+.  .  .  drop-tables-at-undeploy
+.  .  .  database-vendor-name
+.  .  .  schema-generator-properties
+.  .  .  .  property (with subelements)
+.  .  .  .  .  name
+.  .  .  .  .  value
+.  .  message-destination
+.  .  .  message-destination-name
+.  .  .  jndi-name
+.  .  webservice-description
+.  .  .  webservice-description-name
+.  .  .  wsdl-publish-location
+.  .  property (with subelements)
+.  .  .  name
+.  .  .  value
+.  compatibility
+.  disable-nonportable-jndi-names
+.  keep-state
+.  version-identifier
+----
+
+
+[NOTE]
+====
+If any configuration information for an enterprise bean is not specified
+in the `glassfish-ejb-jar.xml` file, it defaults to a corresponding
+setting in the EJB container if an equivalency exists.
+====
+
+
+Here is a sample `glassfish-ejb-jar.xml` file:
+
+[source,xml]
+----
+<!DOCTYPE glassfish-ejb-jar PUBLIC "-//GlassFish.org//
+DTD GlassFish Application Server 3.1 EJB 3.1//EN"
+"http://glassfish.org/dtds/glassfish-ejb-jar_3_1-1.dtd">
+<glassfish-ejb-jar>
+<display-name>First Module</display-name>
+<enterprise-beans>
+    <ejb>
+        <ejb-name>CustomerEJB</ejb-name>
+        <jndi-name>customer</jndi-name>
+        <bean-pool>
+            <steady-pool-size>10</steady-pool-size>
+            <resize-quantity>10</resize-quantity>
+            <max-pool-size>100</max-pool-size>
+            <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
+        </bean-pool>
+        <bean-cache>
+            <max-cache-size>100</max-cache-size>
+            <resize-quantity>10</resize-quantity>
+            <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
+            <victim-selection-policy>LRU</victim-selection-policy>
+        </bean-cache>
+    </ejb>
+    <cmp-resource>
+        <jndi-name>jdbc/__default</jndi-name>
+        <create-tables-at-deploy>true</create-tables-at-deploy>
+        <drop-tables-at-undeploy>true</drop-tables-at-undeploy>
+    </cmp-resource>
+</enterprise-beans>
+<keep-state>true</keep-state>
+</glassfish-ejb-jar>
+----
+
+[[beaqn]][[GSDPG00080]][[the-sun-cmp-mappings.xml-file]]
+
+=== The sun-cmp-mappings.xml File
+
+The `sun-cmp-mappings.xml` file configures container-managed persistence
+for an EJB 2.0 or 2.1 entity bean. The element hierarchy is as follows:
+
+[source]
+----
+sun-cmp-mappings
+.  sun-cmp-mapping
+.  .  schema
+.  .  entity-mapping
+.  .  .  ejb-name
+.  .  .  table-name
+.  .  .  cmp-field-mapping
+.  .  .  .  field-name
+.  .  .  .  column-name
+.  .  .  .  read-only
+.  .  .  .  fetched-with
+.  .  .  .  .  default
+.  .  .  .  .  level
+.  .  .  .  .  named-group
+.  .  .  .  .  none
+.  .  .  cmr-field-mapping
+.  .  .  .  cmr-field-name
+.  .  .  .  column-pair
+.  .  .  .  .  column-name
+.  .  .  .  fetched-with
+.  .  .  .  .  default
+.  .  .  .  .  level
+.  .  .  .  .  named-group
+.  .  .  .  .  none
+.  .  .  secondary-table
+.  .  .  .  table-name
+.  .  .  .  column-pair
+.  .  .  .  .  column-name
+.  .  .  consistency
+.  .  .  .  none
+.  .  .  .  check-modified-at-commit
+.  .  .  .  lock-when-loaded
+.  .  .  .  check-all-at-commit
+.  .  .  .  lock-when-modified
+.  .  .  .  check-version-of-accessed-instances
+.  .  .  .  .  column-name
+----
+
+Here is a sample database schema definition:
+
+[source,sql]
+----
+create table TEAMEJB (
+   TEAMID varchar2(256) not null,
+   NAME varchar2(120) null,
+   CITY char(30) not null,
+   LEAGUEEJB_LEAGUEID varchar2(256) null,
+   constraint PK_TEAMEJB primary key (TEAMID)
+)
+create table PLAYEREJB (
+   POSITION varchar2(15) null,
+   PLAYERID varchar2(256) not null,
+   NAME char(64) null,
+   SALARY number(10, 2) not null,
+   constraint PK_PLAYEREJB primary key (PLAYERID)
+)
+create table LEAGUEEJB (
+   LEAGUEID varchar2(256) not null,
+   NAME varchar2(256) null,
+   SPORT varchar2(256) null,
+   constraint PK_LEAGUEEJB primary key (LEAGUEID)
+)
+create table PLAYEREJBTEAMEJB (
+   PLAYEREJB_PLAYERID varchar2(256) null,
+   TEAMEJB_TEAMID varchar2(256) null
+)
+alter table TEAMEJB
+   add constraint FK_LEAGUE foreign key (LEAGUEEJB_LEAGUEID)
+   references LEAGUEEJB (LEAGUEID)
+
+alter table PLAYEREJBTEAMEJB
+   add constraint FK_TEAMS foreign key (PLAYEREJB_PLAYERID)
+   references PLAYEREJB (PLAYERID)
+
+alter table PLAYEREJBTEAMEJB
+   add constraint FK_PLAYERS foreign key (TEAMEJB_TEAMID)
+   references TEAMEJB (TEAMID)
+----
+
+Here is a corresponding sample `sun-cmp-mappings.xml` file:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<sun-cmp-mappings>
+<sun-cmp-mapping>
+    <schema>Roster</schema>
+    <entity-mapping>
+        <ejb-name>TeamEJB</ejb-name>
+        <table-name>TEAMEJB</table-name>
+        <cmp-field-mapping>
+            <field-name>teamId</field-name>
+            <column-name>TEAMEJB.TEAMID</column-name>
+        </cmp-field-mapping>
+        <cmp-field-mapping>
+            <field-name>name</field-name>
+            <column-name>TEAMEJB.NAME</column-name>
+        </cmp-field-mapping>
+        <cmp-field-mapping>
+            <field-name>city</field-name>
+            <column-name>TEAMEJB.CITY</column-name>
+        </cmp-field-mapping>
+        <cmr-field-mapping>
+            <cmr-field-name>league</cmr-field-name>
+            <column-pair>
+                <column-name>TEAMEJB.LEAGUEEJB_LEAGUEID</column-name>
+                <column-name>LEAGUEEJB.LEAGUEID</column-name>
+            </column-pair>
+            <fetched-with>
+                <none/>
+            </fetched-with>
+        </cmr-field-mapping>
+        <cmr-field-mapping>
+            <cmr-field-name>players</cmr-field-name>
+            <column-pair>
+                <column-name>TEAMEJB.TEAMID</column-name>
+                <column-name>PLAYEREJBTEAMEJB.TEAMEJB_TEAMID</column-name>
+            </column-pair>
+            <column-pair>
+                <column-name>PLAYEREJBTEAMEJB.PLAYEREJB_PLAYERID</column-name>
+                <column-name>PLAYEREJB.PLAYERID</column-name>
+            </column-pair>
+            <fetched-with>
+                <none/>
+            </fetched-with>
+        </cmr-field-mapping>
+    </entity-mapping>
+    <entity-mapping>
+        <ejb-name>PlayerEJB</ejb-name>
+        <table-name>PLAYEREJB</table-name>
+        <cmp-field-mapping>
+            <field-name>position</field-name>
+            <column-name>PLAYEREJB.POSITION</column-name>
+        </cmp-field-mapping>
+        <cmp-field-mapping>
+            <field-name>playerId</field-name>
+            <column-name>PLAYEREJB.PLAYERID</column-name>
+        </cmp-field-mapping>
+        <cmp-field-mapping>
+            <field-name>name</field-name>
+            <column-name>PLAYEREJB.NAME</column-name>
+        </cmp-field-mapping>
+        <cmp-field-mapping>
+            <field-name>salary</field-name>
+            <column-name>PLAYEREJB.SALARY</column-name>
+        </cmp-field-mapping>
+        <cmr-field-mapping>
+            <cmr-field-name>teams</cmr-field-name>
+            <column-pair>
+                <column-name>PLAYEREJB.PLAYERID</column-name>
+                <column-name>PLAYEREJBTEAMEJB.PLAYEREJB_PLAYERID</column-name>
+            </column-pair>
+            <column-pair>
+                <column-name>PLAYEREJBTEAMEJB.TEAMEJB_TEAMID</column-name>
+                <column-name>TEAMEJB.TEAMID</column-name>
+            </column-pair>
+            <fetched-with>
+                <none/>
+            </fetched-with>
+        </cmr-field-mapping>
+    </entity-mapping>
+    <entity-mapping>
+        <ejb-name>LeagueEJB</ejb-name>
+        <table-name>LEAGUEEJB</table-name>
+        <cmp-field-mapping>
+            <field-name>leagueId</field-name>
+            <column-name>LEAGUEEJB.LEAGUEID</column-name>
+        </cmp-field-mapping>
+        <cmp-field-mapping>
+            <field-name>name</field-name>
+            <column-name>LEAGUEEJB.NAME</column-name>
+        </cmp-field-mapping>
+        <cmp-field-mapping>
+            <field-name>sport</field-name>
+            <column-name>LEAGUEEJB.SPORT</column-name>
+        </cmp-field-mapping>
+        <cmr-field-mapping>
+            <cmr-field-name>teams</cmr-field-name>
+            <column-pair>
+                <column-name>LEAGUEEJB.LEAGUEID</column-name>
+                <column-name>TEAMEJB.LEAGUEEJB_LEAGUEID</column-name>
+            </column-pair>
+            <fetched-with>
+                <none/>
+            </fetched-with>
+        </cmr-field-mapping>
+    </entity-mapping>
+</sun-cmp-mapping>
+</sun-cmp-mappings>
+----
+
+[[beaqo]][[GSDPG00081]][[the-glassfish-application-client.xml-file]]
+
+=== The glassfish-application-client.xml file
+
+The `glassfish-application-client.xml` file configures an Application
+Client Container (ACC) client (JAR file). The element hierarchy is as
+follows:
+
+[source]
+----
+glassfish-application-client
+.  ejb-ref
+.  .  ejb-ref-name
+.  .  jndi-name
+.  resource-ref
+.  .  res-ref-name
+.  .  jndi-name
+.  .  default-resource-principal
+.  .  .  name
+.  .  .  password
+.  resource-env-ref
+.  .  resource-env-ref-name
+.  .  jndi-name
+.  service-ref
+.  .  service-ref-name
+.  .  port-info
+.  .  .  service-endpoint-interface
+.  .  .  wsdl-port
+.  .  .  .  namespaceURI
+.  .  .  .  localpart
+.  .  .  stub-property
+.  .  .  .  name
+.  .  .  .  value
+.  .  .  call-property
+.  .  .  .  name
+.  .  .  .  value
+.  .  .  message-security-binding
+.  .  .  .  message-security
+.  .  .  .  .  message
+.  .  .  .  .  .  java-method
+.  .  .  .  .  .  .  method-name
+.  .  .  .  .  .  .  method-params
+.  .  .  .  .  .  .  .  method-param
+.  .  .  .  .  .  operation-name
+.  .  .  .  .  request-protection
+.  .  .  .  .  response-protection
+.  .  call-property
+.  .  .  name
+.  .  .  value
+.  .  wsdl-override
+.  .  service-impl-class
+.  .  service-qname
+.  .  .  namespaceURI
+.  .  .  localpart
+.  message-destination-ref
+.  .  message-destination-ref-name
+.  .  jndi-name
+.  message-destination
+.  .  message-destination-name
+.  .  jndi-name
+.  java-web-start-access
+.  .  context-root
+.  .  eligible
+.  .  vendor
+.  .  jnlp-doc
+.  version-identifier
+----
+
+Here is a sample `glassfish-application-client.xml` file:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE glassfish-application-client PUBLIC ""-//GlassFish.org//DTD
+GlassFish Application Server 3.1 Application Client 6.0//EN""
+"http://glassfish.org/dtds/glassfish-application-client_6_0-1.dtd">
+<glassfish-application-client>
+  <message-destination-ref>
+    <message-destination-ref-name>ClientQueue</message-destination-ref-name>
+    <jndi-name>jms/security_mdb_OutQueue</jndi-name>
+  </message-destination-ref>
+</glassfish-application-client>
+----
+
+[[beaqp]][[GSDPG00082]][[the-sun-acc.xml-file]]
+
+=== The sun-acc.xml File
+
+The `sun-acc.xml` file configures the Application Client Container. This
+is more of a configuration file than a deployment descriptor. {productName} provides a default file in the domain-dir``/config`` directory.
+Specifying a different file is optional. The element hierarchy is as
+follows:
+
+[source]
+----
+client-container
+.  target-server
+.  .  description
+.  .  security
+.  .  .  ssl
+.  .  .  cert-db
+.  auth-realm
+.  .  property (with attributes)
+.  client-credential
+.  .  property (with attributes)
+.  log-service
+.  .  property (with attributes)
+.  message-security-config
+.  .  provider-config
+.  .  .  request-policy
+.  .  .  response-policy
+.  .  .  property (with attributes)
+.  property (with attributes)
+----
+
+[[giyhh]][[GSDPG00083]][[the-glassfish-resources.xml-file]]
+
+=== The glassfish-resources.xml File
+
+The `glassfish-resources.xml` file configures application-scoped
+resources. The element hierarchy is as follows:
+
+[source]
+----
+resources
+.  custom-resource
+.  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  external-jndi-resource
+.  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  jdbc-resource
+.  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  mail-resource
+.  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  admin-object-resource
+.  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  connector-resource
+.  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  resource-adapter-config
+.  .  property (with attributes)
+.  .  .  description
+.  jdbc-connection-pool
+.  .  description
+.  .  property (with attributes)
+.  .  .  description
+.  connector-connection-pool
+.  .  description
+.  .  security-map
+.  .  .  principal
+.  .  .  user-group
+.  .  .  backend-principal
+.  .  property (with attributes)
+.  .  .  description
+.  work-security-map
+.  .  description
+.  .  principal-map
+.  .  group-map
+----
+
+[[gkiot]][[GSDPG00084]][[weblogic-server-deployment-descriptor-support-in-glassfish-server]]
+
+=== WebLogic Server Deployment Descriptor Support in {productName}
+
+{productName} offers limited support for the
+`weblogic-application.xml`, `weblogic.xml`, and
+`weblogic-webservices.xml` deployment descriptor files.
+
+The only element in `weblogic-application.xml` that {productName}
+supports is `security`. The equivalent element in the
+`glassfish-application.xml` file is `security-role-mapping`.
+
+The elements of `weblogic.xml` that {productName} supports are
+explained in the following table.
+
+[[GSDPG836]][[sthref7]][[gkinm]]
+
+
+Table B-2 `weblogic.xml` Support in {productName}
+
+[width="100%",cols="43%,57%",options="header",]
+|===
+|`weblogic.xml` Element Name |{productName} Support
+|`role-name` under `security-role-assignment`
+|`role-name` under `security-role-mapping` `glassfish-web.xml` equivalent
+
+|`principal-name` under `security-role-assignment`
+|`principal-name` under `security-role-mapping` `glassfish-web.xml` equivalent
+
+|`resource-description`
+|`resource-ref` `glassfish-web.xml` equivalent, but `resource-link` not supported
+
+|`resource-env-description`
+|`resource-env-ref` `glassfish-web.xml` equivalent, but `resource-link` not supported
+
+|`ejb-reference-description`
+|`ejb-ref` `glassfish-web.xml` equivalent
+
+|`service-reference-description`
+|`service-ref` `glassfish-web.xml` equivalent
+
+|`timeout-secs` under `session-descriptor`
+|`timeoutSeconds` property of `session-properties` `glassfish-web.xml` equivalent
+
+|`invalidation-interval-secs` under `session-descriptor`
+|`reapIntervalSeconds` property of `manager-properties` `glassfish-web.xml` equivalent
+
+|`max-in-memory-sessions` under `session-descriptor`
+|`maxSessions` property of `manager-properties` `glassfish-web.xml` equivalent
+
+|`persistent-store-dir` under `session-descriptor`
+|`directory` property of `store-properties` `glassfish-web.xml` equivalent
+
+|`prefer-web-inf-classes` under `container-descriptor`
+|`delegate` attribute of `class-loader` `glassfish-web.xml` equivalent
+
+|`context-root`
+|`context-root` `glassfish-web.xml` equivalent
+
+|`cookies-enabled` under `session-descriptor`
+|Servlet 3.0
+
+|`cookie-name` under `session-descriptor`
+|Servlet 3.0
+
+|`cookie-path` under `session-descriptor`
+|Servlet 3.0
+
+|`cookie-domain` under `session-descriptor`
+|Servlet 3.0
+
+|`cookie-comment` under `session-descriptor`
+|Servlet 3.0
+
+|`cookie-secure` under `session-descriptor`
+|Servlet 3.0
+
+|`cookie-max-age-secs` under `session-descriptor`
+|Servlet 3.0
+
+|`cookie-http-only` under `session-descriptor`
+|Servlet 3.0
+
+|`url-rewriting-enabled` under `session-descriptor`
+|Servlet 3.0
+
+|`persistent-store-cookie-name` under `session-descriptor`
+|Cookie-based persistence is supported
+
+|`keepgenerated` under `jsp-descriptor`
+|keepgenerated init parameter of `JspServlet`
+
+|`working-dir` under `jsp-descriptor`
+|scratchdir init parameter of `JspServlet`
+
+|`compress-html-template` under `jsp-descriptor`
+|trimSpaces init parameter of `JspServlet`
+
+|`index-directory-enabled` under `container-descriptor`
+|listings init parameter of `DefaultServlet`
+
+|`index-directory-sort-by` under `container-descriptor`
+|sortedBy init parameter of `DefaultServlet`
+
+|`save-sessions-enabled` under `container-descriptor`
+|Same as `asadmin redeploy` `--keepstate=true` or `keep-state` in `glassfish-web.xml`
+
+|`run-as-principal-name` under `servlet-descriptor`
+|`principal-name` under `servlet` `glassfish-web.xml` equivalent
+|===
+
+
+The elements of `weblogic-webservices.xml` that {productName}
+supports are explained in the following table.
+
+[[GSDPG837]][[sthref8]][[gkkht]]
+
+
+Table B-3 `weblogic-webservices.xml` Support in {productName}
+
+[width="100%",cols="34%,66%",options="header",]
+|===
+|`weblogic-webservices.xml` Element Name
+|{productName} Support
+
+|`webservice-type`
+|Possible values are `JAXRPC` or `JAXWS`.
+{productName} does not support JAX-RPC web services with JSR 181 annotations.
+The use of this element is limited, because the container can find out
+if the type is JAX-WS or JAX-RPC based on presence of JSR 181 annotations.
+
+|`wsdl-publish-file`
+|Same as `wsdl-publish-location` in `glassfish-web.xml`
+
+|`service-endpoint-address`
+|Similar to `endpoint-address-uri` in `glassfish-web.xml`,
+except that `webservice-contextpath` and `webservice-serviceuri` are specified separately
+
+|`j2ee:login-config`
+|Same as `login-config` in `glassfish-web.xml`
+
+|`j2ee:transport-guarantee`
+|Same as `transport-guarantee` in `glassfish-web.xml`
+
+|`exposed` under `wsdl`
+|Accepts `true` or `false`, defaults to `true`. Controls the publishing of WSDL to clients.
+
+|`stream-attachments`
+|Accepts `true` or `false`, defaults to `true`.
+Only for JAX-WS web services. Configures the JAX-WS runtime to send
+attachments in streaming fashion.
+
+|`validate-request`
+|Accepts `true` or `false`, defaults to `false`.
+Only for JAX-WS web services. Configures the JAX-WS runtime to validate
+that request messages are as the WSDL definitions specify.
+
+|`http-response-buffersize`
+|Property of `ReliabilityMessagingFeature` configuration, similar to
+`ReliableMessagingFeature.setDestinationBufferQuota()`
+
+|`reliability-config`
+|Partially supported. Subelements map to Metro's `ReliabilityMessagingFeature`.
+
+|`inactivity-timeout` under `reliability-config`
+|Maps to `ReliableMessagingFeature.getSequenceInactivityTimeout()`
+
+|`base-retransmission-interval` under `reliability-config`
+|Maps to `ReliableMessagingFeature.``getMessageRetransmissionInterval()`
+
+|`retransmission-exponential-``backoff` under `reliability-config`
+|Maps to `ReliableMessagingFeature.``getRetransmissionBackoffAlgorithm()`.
+Returns enum values, one of them is `exponential`.
+
+|`acknowledgement-interval` under `reliability-config`
+|Maps to `ReliableMessagingFeature.``getAcknowledgementTransmissionInterval()`
+
+|`sequence-expiration` under `reliability-config`
+|Maps to `ReliableMessagingFeature.``getSequenceInactivityTimeout()`.
+In WebLogic Server this value applies regardless of activity.
+In Metro it applies only to inactive sequences.
+
+|`buffer-retry-count` under `reliability-config`
+|Maps to `ReliableMessagingFeature.``getMaxMessageRetransmissionCount()`
+
+|`buffer-retry-delay` under `reliability-config`
+|Maps to `ReliableMessagingFeature.``getMessageRetransmissionInterval()`
+|===
diff --git a/docs/application-deployment-guide/src/main/asciidoc/deploying-applications.adoc b/docs/application-deployment-guide/src/main/asciidoc/deploying-applications.adoc
new file mode 100644
index 0000000..d9ef0a8
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/deploying-applications.adoc
@@ -0,0 +1,1825 @@
+type=page
+status=published
+title=Deploying Applications
+next=asadmin-deployment-subcommands.html
+prev=overview.html
+~~~~~~
+
+= Deploying Applications
+
+[[GSDPG00004]][[beact]]
+
+
+[[deploying-applications]]
+== 2 Deploying Applications
+
+This chapter provides procedures and guidelines for deploying
+applications and modules in the {productName}environment by using the `asadmin` command-line utility.
+
+The following topics are addressed here:
+
+* link:#gilfm[Deploying Applications and Modules]
+* link:#gjiwk[Modifying the Configuration of a Web Application or
+Module]
+* link:#beaej[Web Module Deployment Guidelines]
+* link:#beaek[EJB Module Deployment Guidelines]
+* link:#gilxc[Deploying a Connector Module]
+* link:#beaem[Assembling and Deploying an Application Client Module]
+* link:#beael[Lifecycle Module Deployment Guidelines]
+* link:#gbiye[Web Service Deployment Guidelines]
+* link:#gkkmb[OSGi Bundle Deployment Guidelines]
+* link:#gkoif[Transparent JDBC Connection Pool Reconfiguration]
+* link:#giydj[Application-Scoped Resources]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[[gilfm]][[GSDPG00065]][[deploying-applications-and-modules]]
+
+=== Deploying Applications and Modules
+
+Application deployment is a dynamic process, which means that deployed
+applications and modules become available without requiring you to
+restart the server instance. Dynamic deployment can be useful in
+production environments to bring new applications and modules online
+easily. If you do restart the server, all deployed components are still
+deployed and available.
+
+The following topics are addressed here:
+
+* link:#gijmq[To Deploy an Application or Module]
+* link:#gijrc[To Change Targets for a Deployed Application or Module]
+* link:#giulr[To List Deployed Applications or Modules]
+* link:#gijmb[To Redeploy an Application or Module]
+* link:#fvyje[To Disable an Application or Module]
+* link:#gijjy[To Enable an Application or Module]
+* link:#gijkl[To Undeploy an Application or Module]
+* link:#fwakh[To Reload Changes to Applications or Modules Dynamically]
+* link:#fvxze[To Deploy an Application or Module Automatically]
+* link:#gijyb[To Deploy an Application or Module by Using a Deployment
+Plan]
+* link:#gilcn[To Deploy an Application or Module in a Directory Format]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[[gijmq]][[GSDPG00033]][[to-deploy-an-application-or-module]]
+
+==== To Deploy an Application or Module
+
+Use the `deploy` subcommand in remote mode to deploy an assembled
+application or module to {productName}. If an error occurs during
+deployment, the application or module is not deployed. If a module
+within an application contains an error, the entire application is not
+deployed. These failures prevent a partial deployment that could leave
+the server in an inconsistent state.
+
+By default, the deployment target is the default server instance,
+`server`. To deploy only to the default server instance, specify no
+target. If you deploy the application or module only to the domain
+target, it exists in the domain central repository, but no server
+instances or clusters can reference the component unless you add
+references.
+
+You can also deploy a component to a specific stand-alone server
+instance or cluster. When you deploy to server instances or clusters,
+the application or module exists in the domain's central repository and
+is referenced by any clusters or server instances that you deployed to.
+For a cluster, the preselected deployment target is `server`.
+
+If the component is already deployed or already exists, you can
+forcefully redeploy if you set the `--force` option of the `deploy`
+subcommand to true. The `redeploy` subcommand also accomplishes this.
+See link:#gikiw[Example 2-10]. You can see the enabled or disabled
+status of an application or module by using the
+link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
+
+For information about how the application or module name is derived, see
+link:overview.html#gihzk[Naming Standards].
+
+Use the `--altdd` or `--runtimealtdd` options of the `deploy` (and
+`redeploy`) subcommand to deploy an application or module using a
+top-level alternate deployment descriptor. The `--altdd` option
+specifies a top-level alternate Jakarta EE standard deployment descriptor.
+The `--runtimealtdd` option specifies a top-level alternate {productName} runtime deployment descriptor. See link:#CHDFHDGD[Example 2-3].
+For more information about deployment descriptors associated with
+{productName}, see link:overview.html#gihzc[Deployment Descriptors and
+Annotations].
+
+You can also specify the deployment order of an application by using the
+`--deploymentorder` option of the `deploy` (and `redeploy`) subcommand.
+This is useful for applications that must be loaded in a certain order
+at server startup. Applications with lower deployment order numbers are
+loaded first. See link:#CHDJFAIJ[Example 2-4]. If a deployment order is
+not specified at the time an application is deployed, the default
+deployment order of 100 is assigned. If two applications have the same
+deployment order, the application that was deployed first is loaded
+first at server startup.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. List deployed applications by using the
+link:reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand.
+3. Deploy the application or module by using the
+link:reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand.
++
+Information about the options and properties of the subcommand is
+included in this help page.
+4. If needed, fix issues and rerun the `deploy` subcommand.
+
+[[GSDPG00008]][[gijlo]]
+Example 2-1 Deploying an Enterprise Application
+
+This example deploys `newApp.ear` to the default server, `server`.
+
+[source]
+----
+asadmin> deploy Cart.ear
+Application deployed successfully with name Cart.
+Command deploy executed successfully
+----
+
+[[GSDPG00009]][[gilcq]]
+Example 2-2 Deploying a Connector Module
+
+This example deploys a connector module that is packaged in an RAR file.
+
+[source]
+----
+asadmin> deploy jdbcra.rar
+Application deployed successfully with name jdbcra.
+Command deploy executed successfully
+----
+
+[[GSDPG809]][[CHDFHDGD]]
+Example 2-3 Using an Alternate Jakarta EE Standard Deployment Descriptor
+
+This example deploys an application using an alternate Jakarta EE standard
+deployment descriptor file that resides outside of an application
+archive. Specify an absolute path or a relative path to the alternate
+deployment descriptor file.
+
+[source]
+----
+asadmin> deploy --altdd path_to_alternate_descriptor cart.ear
+Application deployed successfully with name cart.
+Command deploy executed successfully
+----
+
+[[GSDPG810]][[CHDJFAIJ]]
+Example 2-4 Specifying the Deployment Order of an Application
+
+This example specifies the deployment order of two applications. The
+`cart` application is loaded before the `horse` application at server
+startup.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> deploy --deploymentorder 102 --name cart cart.war
+...
+asadmin> deploy --deploymentorder 110 --name horse horse.war
+...
+----
+
+[[GSDPG811]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help deploy` at the command line.
+
+[[gijrc]][[GSDPG00034]][[to-change-targets-for-a-deployed-application-or-module]]
+
+==== To Change Targets for a Deployed Application or Module
+
+After deployment, the deployed application or module exists in the
+central repository and can be referenced by the server instances or
+clusters that you deployed to as targets. The
+`asadmin create-application-ref` and `asadmin delete-application-ref`
+subcommands enable you to add or delete targets for a deployed
+component. Because the application or module itself is stored in the
+central repository, adding or deleting targets adds or deletes the same
+version of the component on different targets.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Add and remove targets by using the
+link:reference-manual/create-application-ref.html#GSRFM00013[`create-application-ref`] and
+link:reference-manual/delete-application-ref.html#GSRFM00064[`delete-application-ref`] subcommands.
+
+[[GSDPG812]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-application-ref` or
+`asadmin help delete-application-ref` at the command line.
+
+[[giulr]][[GSDPG00035]][[to-list-deployed-applications-or-modules]]
+
+==== To List Deployed Applications or Modules
+
+There are a number of commands that can be used to list deployed
+applications or modules and their subcomponents. Use the commands in
+this section in remote mode.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. List the desired applications by using the
+link:reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand or the
+link:reference-manual/list-sub-components.html#GSRFM00201[`list-sub-components`] subcommand.
++
+Information about these commands is included in these help pages.
+3. Show the status of a deployed component by using the
+link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
+
+[[GSDPG00010]][[giumj]]
+Example 2-5 Listing Applications
+
+The `list-applications` subcommand lists all deployed Jakarta EE
+applications or modules. If the `--type` option is not specified, all
+components are listed. This example lists deployed applications.
+
+[source]
+----
+asadmin> list-applications --type web
+hellojsp <web>
+Command list-applications executed successfully
+----
+
+[[GSDPG00011]][[giuot]]
+Example 2-6 Listing Subcomponents
+
+The `list-sub-components` subcommand lists EJBs or servlets in a
+deployed module or in a module of the deployed application. If a module
+is not identified, all modules are listed. The `--appname` option
+functions only when the given module is standalone. To display a
+specific module in an application, you must specify the module name and
+the `--appname` option. This example gets the subcomponents of module
+`mejb.jar` within application `MEjbApp`.
+
+[source]
+----
+asadmin> list-sub-components --appname MEjbApp mejb.jar
+MEJBBean <StatelessSessionBean>
+Command list-sub-components executed successfully
+----
+
+[[GSDPG00012]][[giunl]]
+Example 2-7 Showing Status of a Deployed Component
+
+The `show-component-status` subcommand gets the status (enabled or
+disabled) of the deployed component. This example gets the status of the
+`MEjbApp` component.
+
+[source]
+----
+asadmin show-component-status MEjbApp
+Status of MEjbApp is enabled
+Command show-component-status executed successfully
+----
+
+[[gijmb]][[GSDPG00036]][[to-redeploy-an-application-or-module]]
+
+==== To Redeploy an Application or Module
+
+Use the `redeploy` subcommand in remote mode to overwrite a
+previously-deployed application or module. You can also accomplish this
+task by using the `--force` option of the `deploy` subcommand. Whenever
+a redeployment is done, the HTTP and SFSB sessions in transit at that
+time, and the EJB timers, become invalid unless you use the
+`--keepstate=true` option of the `redeploy` subcommand.
+
+[[GSDPG813]]
+
+Before You Begin
+
+You must remove a preconfigured resource before it can be updated.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Redeploy an application or module by using the
+link:reference-manual/redeploy.html#GSRFM00217[`redeploy`] subcommand or the
+link:reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand with the `--force` option.
++
+Information about the options and properties of these commands is
+included in these help pages.
+
+[[GSDPG00013]][[gijzm]]
+Example 2-8 Retaining HTTP Session State During Redeployment
+
+This example redeploys the `hello` web application. In a production
+environment, you usually want to retain sessions. If you use the
+`--keepstate` option, active sessions of the application are retained
+and restored when redeployment is complete.
+
+[source]
+----
+asadmin> redeploy --name hello --keepstate=true hello.war
+Application deployed successfully with name hello.
+Command redeploy executed successfully.
+----
+
+Keep State is a checkbox option when you redeploy using the
+Administration Console. For instructions, see the Administration Console
+online help.
+
+[[GSDPG00014]][[gijkr]]
+Example 2-9 Redeploying a Web Application That Was Deployed From a
+Directory
+
+This example redeploys the `hello` web application, which was originally
+deployed from the `hellodir` directory.
+
+[source]
+----
+asadmin>redeploy --name hellodir
+Application deployed successfully with name hellodir.
+Command redeploy executed successfully.
+----
+
+[[GSDPG00015]][[gikiw]]
+Example 2-10 Redeploying an Application by Using `asadmin deploy`
+`--force`
+
+The `--force` option is set to `false` by default. This example
+redeploys `newApp.ear` even if has been deployed or already exists.
+
+[source]
+----
+asadmin> deploy --force=true newApp.ear
+Application deployed successfully with name newApp.
+Command deploy executed successfully.
+----
+
+[[GSDPG814]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help redeploy` at the command line.
+
+[[fvyje]][[GSDPG00037]][[to-disable-an-application-or-module]]
+
+==== To Disable an Application or Module
+
+Use the `disable` subcommand in remote mode to immediately deactivate a
+deployed application or module without removing it from the server.
+Disabling a component makes the component inaccessible to clients.
+However, the component is not overwritten or uninstalled, and can be
+enabled by using the `asadmin enable` subcommand.
+
+An application or module is enabled by default.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Obtain the exact name of the application or module that you are
+disabling.
++
+To list deployed applications or modules, use the
+link:reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand. If you do not specify
+a type, all deployed applications and modules are listed. For example,
+valid types can be `web`, `ejb`, `connector`, `application`, and
+`webservice`.
++
+To see the status of deployed components, use the
+link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
+3. Deactivate the application or module by using the
+link:reference-manual/disable.html#GSRFM00116[`disable`] subcommand.
++
+Information about the options and properties of the subcommand is
+included in this help page.
+
+[[GSDPG00016]][[gijkp]]
+Example 2-11 Listing Deployed Web Applications
+
+This example lists all deployed web applications.
+
+[source]
+----
+asadmin> list-applications --type web
+hellojsp <web>
+Command list-applications executed successfully.
+----
+
+[[GSDPG00017]][[gikvy]]
+Example 2-12 Disabling a Web Application
+
+This example disables the `hellojsp` application.
+
+[source]
+----
+asadmin> disable hellojsp
+Command disable executed successfully.
+----
+
+[[GSDPG815]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help disable` at the command line.
+
+[[gijjy]][[GSDPG00038]][[to-enable-an-application-or-module]]
+
+==== To Enable an Application or Module
+
+An enabled application or module is runnable and can be accessed by
+clients if it has been deployed to an accessible server instance or
+cluster. An application or module is enabled by default. Use the
+`enable` subcommand in remote mode to enable an application or module
+that has been disabled.
+
+An application or module that is deployed to more than one target can be
+enabled on one target and disabled on another. If a component is
+referenced by a target, it is not available to users unless it is
+enabled on that target.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Enable the application or module by using the
+link:reference-manual/enable.html#GSRFM00124[`enable`] subcommand.
++
+If the component has not been deployed, an error message is displayed.
+If the component is already enabled, it is re-enabled. To see the status
+of deployed components, use the
+link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
++
+Information about the options and properties of the subcommand is
+included in this help page.
+
+[[GSDPG00018]][[gijxl]]
+Example 2-13 Enabling an Application
+
+This example enables the `sampleApp` application.
+
+[source]
+----
+asadmin> enable sampleApp
+Command enable executed successfully.
+----
+
+[[GSDPG816]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help enable` at the command line.
+
+[[gijkl]][[GSDPG00039]][[to-undeploy-an-application-or-module]]
+
+==== To Undeploy an Application or Module
+
+Use the `undeploy` subcommand in remote mode to uninstall a deployed
+application or module and remove it from the repository. To reinstate
+the component, you must deploy the component again using the `deploy`
+subcommand.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Obtain the exact name of the application or module you are
+undeploying.
++
+To list deployed applications or modules, use the
+link:reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand. If you do not specify
+a type, all deployed applications and modules are listed. For example,
+valid types can be `web`, `ejb`, `connector`, `application`, and
+`webservice`.
++
+To see the status of deployed components, use the
+link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
+3. Undeploy the application or module by using the
+link:reference-manual/undeploy.html#GSRFM00244[`undeploy`] subcommand.
++
+Information about the options and properties of the subcommand is
+included in this help page.
+
+[[GSDPG00019]][[gikag]]
+Example 2-14 Listing Deployed Applications or Modules
+
+This example lists all applications of type `web`.
+
+[source]
+----
+asadmin> list-applications --type web
+hellojsp <web>
+Command list-applications executed successfully.
+----
+
+[[GSDPG00020]][[gikun]]
+Example 2-15 Undeploying an Application
+
+This example uninstalls the `hellojsp` application.
+
+[source]
+----
+asadmin> undeploy hellojsp
+hellojsp <web>
+Command undeploy executed successfully.
+----
+
+[[GSDPG817]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help undeploy` at the command line.
+
+[[fwakh]][[GSDPG00040]][[to-reload-changes-to-applications-or-modules-dynamically]]
+
+==== To Reload Changes to Applications or Modules Dynamically
+
+Dynamic reloading enables you to change the code or deployment
+descriptors of an application or module without needing to perform an
+explicit redeployment. Instead, you can copy the changed class files or
+descriptors into the deployment directory for the application or module.
+The server checks for changes periodically and automatically redeploys
+the changes if the timestamp of the `.reload` file in the root directory
+for the application or module has changed.
+
+Dynamic reloading is enabled by default, and is available only on the
+default server instance.
+
+1. Go to the root directory of the deployed application or module.
++
+For an application:
++
+[source]
+----
+domain-dir/applications/app-name
+----
+For an individually deployed module:
++
+[source]
+----
+domain-dir/applications/module-name
+----
++
+[NOTE]
+====
+Deployment directories might change between {productName} releases.
+====
+
+2. Create or update the timestamp of the `.reload` file to load the changes.
++
+* For UNIX: `touch .reload`
+* For Windows: `echo> .reload`
++
+If the `.reload` file doesn't exist, the `touch` or `echo` command
+creates it.
+
+[[fvxze]][[GSDPG00041]][[to-deploy-an-application-or-module-automatically]]
+
+==== To Deploy an Application or Module Automatically
+
+[NOTE]
+====
+This task is best suited for use in a development environment.
+====
+
+Automatic deployment involves copying an archive file into a special
+autodeploy directory where the archive is automatically deployed by
+{productName} at predefined intervals. This method is useful in a
+development environment because it allows new code to be tested quickly.
+Automatic deployment is enabled by default, and is available only on the
+default server instance.
+
+1. Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to adjust the
+autodeployment interval.
++
+This sets the interval at which applications and modules are checked for
+code changes and dynamically reloaded. The default is `2`.
+2. Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to enable JSP
+precompilation.
+3. Copy your archive file to the autodeploy directory.
++
+The default location is domain-dir``/autodeploy``. The application will be
+deployed at the next interval.
++
+To undeploy an automatically deployed application or module, remove its
+archive file from the autodeploy directory.
++
+[NOTE]
+====
+Deployment directories might change between {productName} releases.
+====
+
+[[GSDPG00021]][[giqrk]]
+Example 2-16 Setting the Autodeployment Interval
+
+This example sets the autodeployment inverval to 3 seconds (default is
+2).
+
+[source]
+----
+asadmin> set server.admin-service.das-config.autodeploy-polling-interval-in-seconds=3
+Command set executed successfully.
+----
+
+[[GSDPG00022]][[giqtm]]
+Example 2-17 Setting JSP Precompilation
+
+This example enables JSP precompilation (default is false).
+
+[source]
+----
+asadmin>
+set server.admin-service.das-config.autodeploy-jsp-precompilation-enabled=true
+Command set executed successfully.
+----
+
+[[GSDPG819]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin set --help` at the command line.
+
+[[gijyb]][[GSDPG00042]][[to-deploy-an-application-or-module-by-using-a-deployment-plan]]
+
+==== To Deploy an Application or Module by Using a Deployment Plan
+
+In the deployment plan for an EAR file, the `glassfish-application.xml`
+file is located at the root. The deployment descriptor for each module
+is stored according to this syntax: module-name.gf-dd-name, where the
+gf-dd-name depends on the module type. If a module named `MyModule`
+contains a CMP mappings file, the file is named
+`MyModule.sun-cmp-mappings.xml`. A `.dbschema` file is stored at the
+root level. Each `/` (forward slash) is replaced by a `#` (pound sign).
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Deploy the application or module by using the
+link:reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand with the `--deploymentplan`
+option.
++
+
+[NOTE]
+====
+Deployment directories might change between {productName} releases.
+====
+
+
+[[GSDPG00023]][[gijvy]]
+Example 2-18 Deploying by Using a Deployment Plan
+
+This example deploys the application in the `myrostapp.ear` file
+according to the plan specified by the `mydeployplan.jar` file.
+
+[source]
+----
+asadmin>deploy --deploymentplan mydeployplan.jar myrostapp.ear
+Application deployed successfully with name myrostapp.
+Command deploy executed successfully.
+----
+
+[[GSDPG00024]][[gijyn]]
+Example 2-19 Deployment Plan Structure for an Enterprise Application
+
+This listing shows the structure of the deployment plan JAR file for an
+EAR file.
+
+[source]
+----
+$ jar -tvf mydeployplan.jar
+420 Thu Mar 13 15:37:48 PST 2003 glassfish-application.xml
+370 Thu Mar 13 15:37:48 PST 2003 RosterClient.war.glassfish-web.xml
+418 Thu Mar 13 15:37:48 PST 2003 roster-ac.jar.glassfish-application-client.xml
+1281 Thu Mar 13 15:37:48 PST 2003 roster-ejb.jar.glassfish-ejb-jar.xml
+2317 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.glassfish-ejb-jar.xml
+3432 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.sun-cmp-mappings.xml
+84805 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.RosterSchema.dbschema
+----
+
+[[GSDPG00025]][[gijwk]]
+Example 2-20 Deployment Plan Structure for an EJB Module
+
+In the deployment plan for an EJB module, the deployment descriptor that
+is specific to {productName} is at the root level. If a standalone
+EJB module contains a CMP bean, the deployment plan includes the
+`sun-cmp-mappings.xml` and `.dbschema` files at the root level. In the
+following listing, the deployment plan describes a CMP bean:
+
+[source]
+----
+$ jar r -tvf myotherplan.jar
+3603 Thu Mar 13 15:24:20 PST 2003 glassfish-ejb-jar.xml
+3432 Thu Mar 13 15:24:20 PST 2003 sun-cmp-mappings.xml
+84805 Thu Mar 13 15:24:20 PST 2003 RosterSchema.dbschema
+----
+
+[[GSDPG820]]
+
+See Also
+
+The deployment plan is part of the implementation of JSR 88. For more
+information about JSR 88, see link:overview.html#giiel[JSR 88 Naming] and
+the JSR 88 page at `http://jcp.org/en/jsr/detail?id=88`.
+
+[[gilcn]][[GSDPG00043]][[to-deploy-an-application-or-module-in-a-directory-format]]
+
+==== To Deploy an Application or Module in a Directory Format
+
+
+[NOTE]
+====
+This task is best suited for use in a development environment.
+====
+
+
+An expanded directory, also known as an exploded directory, contains an
+unassembled (unpackaged) application or module. To deploy a directory
+format instead of an archive, file, use the `asadmin deploy` subcommand
+in remote mode and specify a path to a directory instead of to an
+archive file. The contents of the directory must be the same as the
+contents of a corresponding archive file, with one exception. An
+application archive file contains archive files for its modules, for
+example `myUI.war` and `myEJB.jar`. The expanded application directory
+contains expanded directories for the modules, for example `myUI_war`
+and `myEJB_jar`, instead. .
+
+You can change deployment descriptor files directly in the expanded
+directory.
+
+If your environment is configured to use dynamic reloading, you can also
+dynamically reload applications or modules that are deployed from the
+directory. For instructions, see link:#fwakh[To Reload Changes to
+Applications or Modules Dynamically].
+
+Unlike archive file deployment, directory deployment does not copy the
+directory contents to the remote hosts. This means that for deployment
+to a cluster, the directory path may exist for both the DAS and the
+remote server instances but may not actually correspond to the same
+physical location. If any target server instance cannot see the deployed
+directory, or finds that it contains different files from those detected
+by the DAS, deployment fails.
+
+Integrated development environments (IDEs) typically use directory
+deployment, so you do not need to deal directly with the expanded
+format.
+
+[[GSDPG821]]
+
+Before You Begin
+
+On each cluster or stand-alone server instance to which the application
+or module is deployed, the directory must be accessible and must contain
+the same files as found by the DAS.
+
+On Windows, if you are deploying a directory on a mapped drive, you must
+be running {productName} as the same user to which the mapped drive
+is assigned. This enables {productName} to access the directory.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Verify that the expanded directory contents match the archive file.
++
+For information about the required directory contents, see the
+appropriate specifications.
+3. Deploy the directory by using the link:reference-manual/deploy.html#GSRFM00114[`deploy`]
+subcommand and specifying the path to the expanded directory.
++
+
+[NOTE]
+====
+Deployment directories might change between {productName} releases.
+====
+
+
+[[GSDPG00026]][[gilaz]]
+Example 2-21 Deploying an Application From a Directory
+
+This example deploys the expanded directory `/apps/MyApp` for the
+`hello` application.
+
+[source]
+----
+asadmin> deploy --name hello /apps/MyApp
+Application deployed successfully with name hello.
+Command deploy executed successfully.
+----
+
+[[GSDPG822]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help deploy` at the command line.
+
+[[gjiwk]][[GSDPG00066]][[modifying-the-configuration-of-a-web-application-or-module]]
+
+=== Modifying the Configuration of a Web Application or Module
+
+You can modify the configuration of a web application or a module by
+modifying the deployment descriptors and then repackaging and
+redeploying the application.
+
+The instructions in this section enable you to change the configuration
+of a deployed application without the need to modify the application's
+deployment descriptors and repackage and redeploy the application. If
+the application or module entry is unset, its value reverts to the
+value, if any, that is set in the application's deployment descriptor.
+
+The following topics are addressed here:
+
+* link:#giyce[To Set a Web Context Parameter]
+* link:#giycy[To Unset a Web Context Parameter]
+* link:#giybo[To List Web Context Parameters]
+* link:#giyhc[To Set a Web Environment Entry]
+* link:#giyjr[To Unset a Web Environment Entry]
+* link:#giyip[To List Web Environment Entries]
+
+[[giyce]][[GSDPG00044]][[to-set-a-web-context-parameter]]
+
+==== To Set a Web Context Parameter
+
+Use the `set-web-context-param` subcommand in remote mode to change the
+configuration of a deployed application without the need to modify the
+application's deployment descriptors and repackage and redeploy the
+application. By using this subcommand, you are either adding a new
+parameter that did not appear in the original web module's descriptor,
+or overriding the descriptor's setting of the parameter.
+
+If the `--ignoreDescriptorItem` option is set to `true`, then the server
+ignores any setting for that context parameter in the descriptor, which
+means you do not need to specify an overriding value on the
+`set-web-context-param` subcommand. The server behaves as if the
+descriptor had never contained a setting for that context parameter.
+
+This subcommand sets a servlet context-initialization parameter of one
+of the following items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE)
+application
+
+[[GSDPG823]]
+
+Before You Begin
+
+The application must already be deployed. Otherwise, an error occurs.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Set a servlet context-initialization parameter by using the
+link:reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`] subcommand.
++
+Information about the options for the subcommand is included in this
+help page.
+
+[[GSDPG00027]][[gjivx]]
+Example 2-22 Setting a Servlet Context-Initialization Parameter for a
+Web Application
+
+This example sets the servlet context-initialization parameter
+javax.faces.STATE_SAVING_METHOD of the web application `basic-ezcomp` to
+client.
+
+[source]
+----
+asadmin> set-web-context-param --name=javax.faces.STATE_SAVING_METHOD
+--description="The location where the application?s state is preserved"
+--value=client basic-ezcomp
+Command set-web-context-param executed successfully.
+----
+
+[[GSDPG824]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help set-web-context-param` at the command line.
+
+[[giycy]][[GSDPG00045]][[to-unset-a-web-context-parameter]]
+
+==== To Unset a Web Context Parameter
+
+Use the `unset-web-context-param` subcommand in remote mode to unset an
+environment entry for a deployed web application or module that has been
+set by using the `set-web-env-entry` subcommand. There is no need to
+modify the application's deployment descriptors and repackage and
+redeploy the application.
+
+This subcommand unsets an environment entry for one of the following
+items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE)
+application
+
+When an entry is unset, its value reverts to the value, if any, that is
+set in the application's deployment descriptor. This subcommand cannot
+be used to change the value of an environment entry that is set in an
+application's deployment descriptor. Instead, use the
+link:reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`] subcommand for this purpose.
+
+[[GSDPG825]]
+
+Before You Begin
+
+The application must already be deployed, and the entry must have
+previously been set by using the `set-web-env-entry` subcommand.
+Otherwise, an error occurs.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Unset an environment entry by using the
+link:reference-manual/unset-web-context-param.html#GSRFM00248[`unset-web-context-param`] subcommand.
++
+Information about the options for the subcommand is included in this
+help page.
+
+[[GSDPG00028]][[gjivv]]
+Example 2-23 Unsetting a Servlet Context-Initialization Parameter for a
+Web Application
+
+This example unsets the servlet context-initialization parameter
+javax.faces.STATE_SAVING_METHOD of the web application `basic-ezcomp`.
+
+[source]
+----
+asadmin> unset-web-context-param
+--name=javax.faces.STATE_SAVING_METHOD basic-ezcomp
+Command unset-web-context-param executed successfully.
+----
+
+[[GSDPG826]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help unset-web-context-param` at the command line.
+
+[[giybo]][[GSDPG00046]][[to-list-web-context-parameters]]
+
+==== To List Web Context Parameters
+
+Use the `list-web-context-param` subcommand in remote mode to list the
+parameters that have previously been set by using the
+link:reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`] subcommand. The subcommand
+does not list parameters that are set only in the application's
+deployment descriptor. For each parameter, the following information is
+displayed:
+
+* The name of the parameter
+* The value to which the parameter is set
+* The value of the `--ignoreDescriptorItem` option of the
+`set-web-context-param` subcommand that was specified when the parameter
+was set
+* The description of the parameter or `null` if no description was
+specified when the parameter was set
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. List servlet context-initialization parameters by using the
+link:reference-manual/list-web-context-param.html#GSRFM00208[`list-web-context-param`] subcommand.
+
+[[GSDPG00029]][[gjixd]]
+Example 2-24 Listing Servlet Context-Initialization Parameters for a Web
+Application
+
+This example lists all servlet context-initialization parameters of the
+web application `basic-ezcomp` that have been set by using the
+`set-web-context-param` subcommand. Because no description was specified
+when the javax.faces.PROJECT_STAGE parameter was set, null is displayed
+instead of a description for this parameter.
+
+[source]
+----
+asadmin> list-web-context-param basic-ezcomp
+javax.faces.STATE_SAVING_METHOD = client ignoreDescriptorItem=false
+//The location where the application's state is preserved
+javax.faces.PROJECT_STAGE = null ignoreDescriptorItem=true //null
+Command list-web-context-param executed successfully.
+----
+
+[[GSDPG827]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-web-context-param` at the command line.
+
+[[giyhc]][[GSDPG00047]][[to-set-a-web-environment-entry]]
+
+==== To Set a Web Environment Entry
+
+An application uses the values of environment entries to customize its
+behavior or presentation. Use the `set-web-env-entry` subcommand in
+remote mode to change the configuration of a deployed application
+without the need to modify the application's deployment descriptors and
+repackage and redeploy the application. By using this subcommand, you
+are either adding a new parameter that did not appear in the original
+web module's descriptor, or overriding the descriptor's setting of the
+parameter.
+
+If you the `--ignoreDescriptorItem` option is set to `true`, then the
+server ignores any setting for that environment entry in the descriptor,
+which means you do not need to specify an overriding value on the
+`set-web-env-entry` subcommand. The server behaves as if the descriptor
+had never contained a setting for that environment entry.
+
+This subcommand sets an environment entry for one of the following
+items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE)
+application
+
+[[GSDPG828]]
+
+Before You Begin
+
+The application must already be deployed. Otherwise, an error occurs.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Set an environment entry for a deployed web application or module by
+using the link:reference-manual/set-web-env-entry.html#GSRFM00231[`set-web-env-entry`] subcommand.
++
+Information about the options for the subcommand is included in this
+help page.
+
+[[GSDPG00030]][[gjiwe]]
+Example 2-25 Setting an Environment Entry for a Web Application
+
+This example sets the environment entry `Hello User` of the application
+hello to `techscribe`. The Java type of this entry is
+`java.lang.String`.
+
+[source]
+----
+asadmin> set-web-env-entry --name="Hello User"
+--type=java.lang.String --value=techscribe
+--description="User authentication for Hello appplication" hello
+Command set-web-env-entry executed successfully
+----
+
+[[GSDPG829]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help set-web-env-entry` at the command line.
+
+[[giyjr]][[GSDPG00048]][[to-unset-a-web-environment-entry]]
+
+==== To Unset a Web Environment Entry
+
+Use the `unset-web-env-entry` subcommand in remote mode to unset an
+environment entry for a deployed web application or module.
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. Unset a web environment entry by using the
+link:reference-manual/unset-web-env-entry.html#GSRFM00249[`unset-web-env-entry`] subcommand.
++
+Information about the options for the subcommand is included in this
+help page.
+
+[[GSDPG00031]][[gjivj]]
+Example 2-26 Unsetting an Environment Entry for a Web Application
+
+This example unsets the environment entry `Hello User` of the web
+application `hello`.
+
+[source]
+----
+asadmin> unset-web-env-entry --name="Hello User" hello
+Command unset-web-env-entry executed successfully.
+----
+
+[[GSDPG830]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help unset-web-env-entry` at the command line.
+
+[[giyip]][[GSDPG00049]][[to-list-web-environment-entries]]
+
+==== To List Web Environment Entries
+
+Use the `list-web-env-entry` subcommand to list environment entries for
+a deployed web application or module. For each entry, the following
+information is displayed:
+
+* The name of the entry
+* The Java type of the entry
+* The value to which the entry is set
+* The description of the entry or null if no description was specified
+when the entry was set
+* The value of the `--ignoreDescriptorItem` option of the
+`set-web-env-entry` subcommand that was specified when the entry was set
+
+1. Ensure that the server is running.
++
+Remote commands require a running server.
+2. List the environment entries by using
+theolink:GSRFM00209[`list-web-env-entry`] subcommand.
+
+[[GSDPG00032]][[gjiws]]
+Example 2-27 Listing Environment Entries for a Web Application
+
+This example lists all environment entries that have been set for the
+web application `hello` by using the `set-web-env-entry` subcommand.
+
+[source]
+----
+asadmin> list-web-env-entry hello
+Hello User (java.lang.String) = techscribe ignoreDescriptorItem=false
+//User authentication for Hello appplication
+Hello Port (java.lang.Integer) = null ignoreDescriptorItem=true //null
+Command list-web-env-entry executed successfully.
+----
+
+[[GSDPG831]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-web-env-entry` at the command line.
+
+[[beaej]][[GSDPG00067]][[web-module-deployment-guidelines]]
+
+=== Web Module Deployment Guidelines
+
+The following guidelines apply to deploying a web module in {productName}:
+
+* Context Root. When you deploy a web module, if you do not specify a
+context root, the default is the name of the WAR file without the `.war`
+extension. The web module context root must be unique within the server
+instance.
++
+The domain administration server (DAS) in {productName} versions
+2.1.1 and later supports the deployment of multiple web applications
+using the same web context root as long as those applications are
+deployed to different {productName} stand-alone instances. Deploying
+multiple applications using the same context root within a single
+instance produces an error.
+* Data Source. If a web application accesses a `DataSource` that is not
+specified in a `resource-ref` in `glassfish-web.xml`, or there is no
+`glassfish-web.xml` file, the `resource-ref-name` defined in `web.xml`
+is used. A warning message is logged, recording the JNDI name that was
+used to look up the resource.
+* Virtual Servers. If you deploy a web application and do not specify
+any assigned virtual servers, the web application is assigned to all
+currently-defined virtual servers with the exception of the virtual
+server with ID `__asadmin`, which is reserved for administrative
+purposes. If you then create additional virtual servers and want to
+assign existing web applications to them, you must redeploy the web
+applications.
+* HTTP Sessions. If a web application is undeployed, all its HTTP
+sessions will be invalidated and removed, unless the application is
+being undeployed as part of a redeployment and the `--keepstate`
+deployment option was set to true. This option is not supported and
+ignored in a clustered environment. See link:#gijzm[Example 2-8].
++
+For information about HTTP session persistence, see the
+link:ha-administration-guide.html#GSHAG[{productName} High Availability
+Administration Guide].
+* Load Balancing. See the link:ha-administration-guide.html#GSHAG[{productName} High Availability Administration Guide] for information about
+load balancing.
+* JSP Precompilation. You can precompile JSP files during deployment by
+checking the appropriate box in the Administration Console, or by using
+the `--precompilejsp` option of the `deploy` subcommand.
++
+You can keep the generated source for JSP files by adding the
+`keepgenerated` flag to the `jsp-config` element in `glassfish-web.xml`.
+For example:
++
+[source,xml]
+----
+<glassfish-web-app>
+   ...
+   <jsp-config>
+      <property name=keepgenerated value=true />
+   </jsp-config>
+</glassfish-web-app>
+----
+If you include this property when you deploy the WAR file, the generated
+source is kept in domain-dir``/generated/jsp/``app-name``/``module-name for
+an application, or domain-dir``/generated/jsp/``module-name for an
+individually-deployed web module.
++
+For more information about JSP precompilation, see
+link:dd-elements.html#beatx[`jsp-config`].
+* Web Context Parameters. You can set web context parameters after
+deployment. See the following sections:
+
+** link:#giyce[To Set a Web Context Parameter]
+
+** link:#giycy[To Unset a Web Context Parameter]
+
+** link:#giybo[To List Web Context Parameters]
+* Web Environment Entries. You can set web environment entries after
+deployment. See the following sections:
+
+** link:#giyhc[To Set a Web Environment Entry]
+
+** link:#giyjr[To Unset a Web Environment Entry]
+
+** link:#giyip[To List Web Environment Entries]
+
+[[beaek]][[GSDPG00068]][[ejb-module-deployment-guidelines]]
+
+=== EJB Module Deployment Guidelines
+
+
+[NOTE]
+====
+The {productName} Web Profile supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The {productName} Full Platform Profile
+supports the entire EJB 3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318]
+====
+
+
+The following guidelines apply to deploying an EJB module in {productName}:
+
+* JNDI Name. — If no JNDI name for the EJB JAR module is specified in
+the `jndi-name` element immediately under the `ejb` element in
+`glassfish-ejb-jar.xml`, or there is no `glassfish-ejb-jar.xml` file, a
+default, non-clashing JNDI name is derived. A warning message is logged,
+recording the JNDI name used to look up the EJB JAR module.
++
+Because the EJB 3.1 specification defines portable EJB JNDI names, there
+is less need for {productName} specific JNDI names. By default,
+{productName} specific default JNDI names are applied automatically
+for backward compatibility. To disable {productName} specific JNDI
+names for an EJB module, set the value of the
+`<disable-nonportable-jndi-names>` element in the
+`glassfish-ejb-jar.xml` file to `true`. The default is `false`.
+* Stateful Session Bean and Timer State. — Use the `--keepstate` option
+of the link:reference-manual/redeploy.html#GSRFM00217[`redeploy`] subcommand or the `<keepstate>`
+element in the `glassfish-ejb-jar.xml` file to retain stateful session
+bean instances and persistently created EJB timers across redeployments.
+The `--keepstate` option of the `redeploy` subcommand takes precedence.
+The default for both is `false`. This option is not supported and
+ignored in a clustered environment.
++
+Some changes to an application between redeployments can prevent this
+feature from working properly. For example, do not change the set of
+instance variables in the SFSB bean class. Other examples would be
+changes to EJB names, or adding or removing EJBs to or from an
+application.
+* EJB Singletons. — EJB Singletons are created for each server instance
+in a cluster, and not once per cluster.
+* Stubs and Ties. — Use the link:reference-manual/get-client-stubs.html#GSRFM00140[`get-client-stubs`]
+subcommand in remote mode to retrieve stubs and ties.
+* Compatibility of JAR Visibility Requirements. — Use the
+`compatibility` element of the `glassfish-application.xml` or
+`glassfish-ejb-jar.xml` file to specify the {productName} release
+with which to be backward compatible in terms of JAR visibility
+requirements for applications. The current allowed value is `v2`, which
+refers to {productName} version 2 or {productName} version 9.1 or
+9.1.1. Starting in Jakarta EE 6, the Jakarta EE specification imposes stricter
+requirements than Jakarta EE 5 did on which JAR files can be visible to
+various modules within an EAR file. Setting this element to `v2` removes
+these Jakarta EE 6 and later restrictions.
+
+[[gilxc]][[GSDPG00069]][[deploying-a-connector-module]]
+
+=== Deploying a Connector Module
+
+Deploying a stand-alone connector module allows multiple deployed Java
+EE applications to share the connector module. A resource adapter
+configuration is automatically created for the connector module.
+
+The following topics are addressed here:
+
+* link:#fvynl[To Deploy and Configure a Stand-Alone Connector Module]
+* link:#bealp[Redeploying a Stand-Alone Connector Module]
+* link:#bealq[Deploying and Configuring an Embedded Resource Adapter]
+
+[[fvynl]][[GSDPG00050]][[to-deploy-and-configure-a-stand-alone-connector-module]]
+
+==== To Deploy and Configure a Stand-Alone Connector Module
+
+As an alternative to Step link:#gkojp[3] through Step link:#gkohy[6],
+you can define application-scoped resources in the
+`glassfish-resources.xml` deployment descriptor. For more information,
+see link:#giydj[Application-Scoped Resources].
+
+1. Ensure that the server is running. Remote commands require a running server.
+
+2. Deploy the connector module by using the link:reference-manual/deploy.html#GSRFM00114[`deploy`]
+subcommand.
+
+3. [[gkojp]]
+Configure connector connection pools for the deployed connector module.
++
+Use the `create-connector-connection-pool` subcommand. For procedures,
+see "link:administration-guide/connectors.html#GSADG00431[To Create a Connector Connection Pool]" in
+{productName} Administration Guide.
+
+4. Configure connector resources for the connector connection pools.
++
+Use the `create-resource-adapter-config` subcommand. For procedures, see
+"link:administration-guide/connectors.html#GSADG00440[To Create Configuration Information for a Resource
+Adapter]" in {productName} Administration Guide.
+If needed, you can override the default configuration properties of a
+resource adapter.
++
+This step associates a connector resource with a JNDI name.
+
+5. Configure a resource adapter.
++
+Use the `create-resource-adapter-config` subcommand. For procedures, see
+"link:administration-guide/connectors.html#GSADG00440[To Create Configuration Information for a Resource
+Adapter]" in {productName} Administration Guide.
+If needed, you can override the default configuration properties of a
+resource adapter.
+
+6. [[gkohy]]
+If needed, create an administered object for an inbound resource adapter.
++
+Use the `create-admin-object` subcommand. For procedures, see
+"link:administration-guide/connectors.html#GSADG00452[To Create an Administered Object]" in {productName} Administration Guide.
+
+[[bealp]][[GSDPG00332]][[redeploying-a-stand-alone-connector-module]]
+
+==== Redeploying a Stand-Alone Connector Module
+
+Redeployment of a connector module maintains all connector connection
+pools, connector resources, and administered objects defined for the
+previously deployed connector module. You do not need to reconfigure any
+of these resources.
+
+However, you should redeploy any dependent modules. A dependent module
+uses or refers to a connector resource of the redeployed connector
+module. Redeployment of a connector module results in the shared class
+loader reloading the new classes. Other modules that refer to the old
+resource adapter classes must be redeployed to gain access to the new
+classes. For more information about class loaders, see
+"link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in {productName} Application Development Guide.
+
+During connector module redeployment, the server log provides a warning
+indicating that all dependent applications should be redeployed. Client
+applications or application components using the connector module's
+resources may throw class cast exceptions if dependent applications are
+not redeployed after connector module redeployment.
+
+To disable automatic redeployment, set the `--force` option to `false`.
+In this case, if the connector module has already been deployed,
+{productName} provides an error message.
+
+[[bealq]][[GSDPG00333]][[deploying-and-configuring-an-embedded-resource-adapter]]
+
+==== Deploying and Configuring an Embedded Resource Adapter
+
+A connector module can be deployed as a Jakarta EE component in a Jakarta EE
+application. Such connectors are only visible to components residing in
+the same Jakarta EE application. Deploy this application as you would any
+other Jakarta EE application.
+
+You can create new connector connection pools and connector resources
+for a connector module embedded within a Jakarta EE application by
+prefixing the connector name with app-name`#`. For example, if an
+application `appX.ear` has `jdbcra.rar` embedded within it, the
+connector connection pools and connector resources refer to the
+connector module as `appX#jdbcra`.
+
+An embedded connector module cannot be undeployed using the name
+app-name`#`connector-name. To undeploy the connector module, you must
+undeploy the application in which it is embedded.
+
+The association between the physical JNDI name for the connector module
+in {productName} and the logical JNDI name used in the application
+component is specified in the {productName}-specific XML descriptor
+`glassfish-ejb-jar.xml`.
+
+[[beaem]][[GSDPG00070]][[assembling-and-deploying-an-application-client-module]]
+
+=== Assembling and Deploying an Application Client Module
+
+Deployment is necessary for application clients that communicate with
+EJB components or that use Java Web Start launch support. Java Web Start
+is supported for application clients and for applications that contain
+application clients. By default, Java Web Start is enabled in
+application clients and in {productName}.
+
+
+[NOTE]
+====
+The Application Client Container is supported only in the {productName} Full Platform Profile, not in the Web Profile.
+====
+
+
+The following topics are addressed here:
+
+* link:#fvyal[To Assemble and Deploy an Application Client]
+* link:#fwahd[To Prepare Another Machine for Running an Application
+Client]
+* link:#gavpv[To Undeploy an Application Client]
+
+[[fvyal]][[GSDPG00051]][[to-assemble-and-deploy-an-application-client]]
+
+==== To Assemble and Deploy an Application Client
+
+1. Assemble the necessary client components.
++
+The client JAR file is created.
+2. Assemble the EJB components that are to be accessed by the client.
++
+The EJB JAR file is created.
+3. Assemble the client and EJB JAR files together in an EAR.
++
+An EAR file contains all the components of the application.
+4. Deploy the application.
++
+Instructions are contained in link:#gijmq[To Deploy an Application or
+Module].
+5. If you are using the `appclient` script to run the application
+client, retrieve the client files.
++
+The client artifacts contain the ties and necessary classes for the
+application client. In this release of {productName}, the client
+artifacts include multiple files. You can use either the
+`get-client-stubs` subcommand or the `--retrieve` option of the `deploy`
+subcommand, but you do not need to use both.
+* Use the link:reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand with the `--retrieve`
+option to retrieve the client files as part of deploying the
+application.
+* Use the link:reference-manual/get-client-stubs.html#GSRFM00140[`get-client-stubs`] subcommand to retrieve
+client files for a previously-deployed application.
+6. Test the client on the {productName} machine in one of the
+following ways:
+* If Java Web Start is enabled for the application client, use the
+Launch link on the Application Client Modules.
+* Run an application client by using the `appclient` script.
++
+The `appclient` script is located in the as-install``/bin`` directory.
++
+If you are using the default server instance, the only required option
+is `-client`, which points to the client JAR file. For example:
++
+[source]
+----
+appclient -client converterClient.jar
+----
+The -xml parameter, which specifies the location of the `sun-acc.xml`
+file, is also required if you are not using the default instance.
+
+[[GSDPG832]]
+
+See Also
+
+For more detailed information about the `appclient` script, see
+link:reference-manual/appclient.html#GSRFM00262[`appclient`(1M)].
+
+For more detailed information about creating application clients, see
+"link:application-development-guide/java-clients.html#GSDVG00012[Developing Java Clients]" in {productName} Application Development Guide. This chapter includes
+information on the following topics:
+
+* Accessing EJB components and JMS resources from application clients
+* Connecting to a remote EJB module through a firewall
+* Using Java Web Start and creating a custom JNLP file
+* Using libraries with application clients
+* Specifying a splash screen, login retries, and other customizations
+
+[[fwahd]][[GSDPG00052]][[to-prepare-another-machine-for-running-an-application-client]]
+
+==== To Prepare Another Machine for Running an Application Client
+
+If Java Web Start is enabled, the default URL format for an application
+is ``http://`host:port``/``context-root. For example:
+
+[source]
+----
+http://localhost:80/myapp
+----
+
+The default URL format for a standalone application client module is
+``http://``host:port``/``module-id. For example:
+
+[source]
+----
+http://localhost:80/myclient
+----
+
+To set a different URL for an application client, set the `context-root`
+subelement of the link:dd-elements.html#gauax[`java-web-start-access`]
+element in the `glassfish-application-client.xml` file.
+
+If the context-root or module-id is not specified during deployment, the
+name of the EAR or JAR file without the `.ear` or `.jar` extension is
+used. For an application, the relative path to the application client
+JAR file is also included. If the application or module is not in EAR or
+JAR file format, a context-root or module-id is generated. Regardless of
+how the context-root or module-id is determined, it is written to the
+server log. For details about naming, see link:overview.html#gihzk[Naming
+Standards].
+
+[[GSDPG833]]
+
+Before You Begin
+
+This task applies if you want to use the `appclient` script to run the
+application client on a system other than where the server runs.
+
+1. Create the application client package JAR file.
++
+Use the `package-appclient` script in the as-install``/bin`` directory.
+This JAR file is created in the as-install``/lib/appclient`` directory.
+2. Copy the application client package JAR file to the client machine.
+3. Extract the contents of the JAR file.
++
+For example: `jar xf` filename`.jar`
+4. Configure the `sun-acc.xml` file.
++
+If you used the `package-appclient` script, this file is located in the
+`appclient/appserv/lib/appclient` directory by default.
+5. Configure the `asenv.conf` (`asenv.bat` on Windows) file.
++
+This file is located in `appclient/appserv/bin` by default if you used
+the `package-appclient` script.
+6. Copy the client JAR file to the client machine.
++
+You are now ready to run the client.
+
+[[GSDPG834]]
+
+See Also
+
+For more detailed information about Java Web Start and the
+`package-appclient` script, see link:reference-manual/appclient.html#GSRFM00262[`appclient`(1M)].
+
+[[gavpv]][[GSDPG00334]][[to-undeploy-an-application-client]]
+
+==== To Undeploy an Application Client
+
+After application clients are downloaded, they remain on the client
+until they are manually removed. Use the Java Web Start control panel to
+discard downloaded application clients that used Java Web Start.
+
+If you undeploy an application client, you can no longer use Java Web
+Start, or any other mechanism, to download that application client
+because it might be in an inconsistent state. If you try to launch an
+application client that was previously downloaded (even though the
+server side of the application client is no longer present), the results
+are unpredictable unless the application client has been written to
+tolerate such situations.
+
+You can write your application client so that it detects failures in
+contacting server-side components, but continues running. In this case,
+Java Web Start can run an undeployed application client while the client
+is cached locally. For example, your application client can be written
+to detect and then recover from `javax.naming.NamingException` when
+locating a resource, or from `java.rmi.RemoteException` when referring
+to a previously-located resource that becomes inaccessible.
+
+[[beael]][[GSDPG00071]][[lifecycle-module-deployment-guidelines]]
+
+=== Lifecycle Module Deployment Guidelines
+
+A lifecycle module, also called a lifecycle listener module, provides a
+means of running long or short Java-based tasks within the {productName} environment, such as instantiation of singletons or RMI servers.
+Lifecycle modules are automatically initiated at server startup and are
+notified at various phases of the server life cycle. All lifecycle
+module interfaces are in the as-install``/modules/glassfish-api.jar``
+file.
+
+For general information about lifecycle modules, see
+"link:application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing Lifecycle Listeners]" in {productName} Application Development Guide.
+
+You can deploy a lifecycle module using the `create-lifecycle-module`
+subcommand. Do not use `asadmin deploy` or related commands.
+
+You do not need to specify a classpath for the lifecycle module if you
+place it in the domain-dir``/lib`` or domain-dir`/lib/classes` directory
+for the Domain Administration Server (DAS). Do not place it in the `lib`
+directory for a particular server instance, or it will be deleted when
+that instance synchronizes with the {productName}.
+
+After you deploy a lifecycle module, you must restart the server. During
+server initialization, the server instantiates the module and registers
+it as a lifecycle event listener.
+
+
+[NOTE]
+====
+If the `--failurefatal` option of `create-lifecycle-module` is set to
+`true` (the default is `false`), lifecycle module failure prevents
+server initialization or startup, but not shutdown or termination.
+====
+
+
+[[gbiye]][[GSDPG00072]][[web-service-deployment-guidelines]]
+
+=== Web Service Deployment Guidelines
+
+
+[NOTE]
+====
+If you installed the Web Profile, web services are not supported unless
+the optional Metro Web Services Stack add-on component is downloaded.
+Without the Metro add-on component, a servlet or EJB component cannot be
+a web service endpoint, and the `glassfish-web.xml` and
+`glassfish-ejb-jar.xml` elements related to web services are ignored.
+====
+
+
+The following guidelines apply when deploying a web service in {productName}:
+
+* Web Service Endpoint. Deploy a web service endpoint to {productName} as you would any servlet or stateless session bean. If the
+deployed application or module has a web service endpoint, the endpoint
+is detected automatically during deployment. The {productName}
+-specific deployment descriptor files, `glassfish-web.xml` and
+`glassfish-ejb-jar.xml`, provide optional web service enhancements in
+their link:dd-elements.html#beayv[`webservice-endpoint`] and
+link:dd-elements.html#beayt[`webservice-description`] elements.
+* Web Service Management. Web service management is fully supported in
+the Administration Console. After the application or module is deployed,
+click the Web Service component. The table in the right frame lists
+deployed web service endpoints.
+
+For more information about web services, see
+"link:application-development-guide/webservices.html#GSDVG00007[Developing Web Services]" in {productName} Application Development Guide.
+
+[[gkkmb]][[GSDPG00073]][[osgi-bundle-deployment-guidelines]]
+
+=== OSGi Bundle Deployment Guidelines
+
+To deploy an OSGi bundle using the Administration Console, select Other
+from the Type drop-down list and check the OSGI Type checkbox.
+
+To deploy an OSGi bundle using the `asadmin deploy` command, set the
+`--type` option to the value `osgi`. For example:
+
+[source]
+----
+asadmin> deploy --type=osgi MyBundle.jar
+----
+
+To automatically deploy an OSGi bundle, copy the bundle archive to the
+domain-dir`/autodeploy/bundles` directory.
+
+
+[NOTE]
+====
+For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
+subcommand accepts properties arguments to wrap a WAR file as a WAB (Web
+Application Bundle) at the time of deployment. The subcommand looks for
+a key named `UriScheme` and, if present, uses the key as a URL stream
+handler to decorate the input stream. Other properties are used in the
+decoration process. For example, the {productName} OSGi web container
+registers a URL stream handler named `webbundle`, which is used to wrap
+a plain WAR file as a WAB.
+====
+
+
+[[gkoif]][[GSDPG00074]][[transparent-jdbc-connection-pool-reconfiguration]]
+
+=== Transparent JDBC Connection Pool Reconfiguration
+
+In this {productName} release, reconfiguration of a JDBC connection
+pool due to attribute or property changes can be transparent to the
+applications or modules that use the pool, even if pool reconfiguration
+results in pool recreation. You do not need to redeploy the application
+or module.
+
+To enable transparent pool reconfiguration, set the
+`dynamic-reconfiguration-wait-timeout-in-seconds` property. This
+property specifies the timeout for dynamic reconfiguration of the pool.
+In-progress connection requests must complete before this timeout
+expires or they must be retried. New connection requests wait for this
+timeout to expire before acquiring connections to the reconfigured pool.
+If this property exists and has a positive value, it is enabled.
+
+You can set this property in the `glassfish-resources.xml` file. For
+more information, see the property descriptions under
+link:dd-elements.html#giyil[`jdbc-connection-pool`].
+
+For JDBC connection pools that are not application-scoped, use the `set`
+subcommand to set this property. For example, to configure `mypool` on
+`myserver`, type the following all on one line:
+
+[source]
+----
+asadmin> set myserver.resources.jdbc-connection-pool.mypool.property.
+dynamic-reconfiguration-wait-timeout-in-seconds=30
+----
+
+[[giydj]][[GSDPG00075]][[application-scoped-resources]]
+
+=== Application-Scoped Resources
+
+You can define an application-scoped JDBC resource or other resource for
+an enterprise application, web module, EJB module, connector module, or
+application client module. This allows single-step deployment for
+resource-dependent modules and applications. An application-scoped
+resource has the following characteristics:
+
+* It is available only to the module or application that defines it.
+* It cannot be referenced or looked up by other modules or applications.
+* It is created during deployment, destroyed during undeployment, and
+recreated during redeployment.
+* It is free from unexpected resource starvation or delay in acquiring
+connections because no other application or module competes for accesses
+to it.
+
+The following resource types can be application-scoped:
+
+* JDBC connection pools
+* JDBC resources
+* Connector connection pools
+* Connector resources
+* Resource adapters
+* External JNDI resources
+* Custom resources
+* Admin object resources
+* JavaMail resources
+
+Deployment Descriptor. An application-scoped resource is defined in the
+`glassfish-resources.xml` deployment descriptor file. This file is
+placed in the `META-INF` directory of the module or application archive.
+For web applications or modules, this file is placed in the `WEB-INF`
+directory. If any submodule archives of an enterprise application
+archive have their own `glassfish-resources.xml` files, the resource
+definitions are scoped to those modules only. For more information about
+the `glassfish-resources.xml` file, see
+link:dd-files.html#giida[{productName} Deployment Descriptor Files]
+and link:dd-elements.html#beaqi[Elements of the {productName}
+Deployment Descriptors].
+
+Naming. Application-scoped resource JNDI names begin with `java:app` or
+`java:module`. If one of these prefixes is not specified in the JNDI
+name, it is added. For example, application-scoped databases have JNDI
+names in the following format: `java:app/jdbc/`DataSourceName or
+`java:module/jdbc/`DataSourceName. This is in accordance with the naming
+scopes introduced in the Jakarta EE 6 Specification.
+
+Errors. Application-scoped resource definitions with same resource name,
+resource type, attributes, and properties are duplicates. These generate
+`WARNING` level log messages and deployment continues. Definitions with
+the same resource name and type but different attributes or properties
+are conflicts and cause deployment failure. When an application or
+module tries to look up a scoped resource that does not belong to it, a
+naming exception is thrown.
+
+Redeployment. When an application or module is undeployed, its scoped
+resources are deleted. During redeployment, resources are destroyed and
+recreated based on changes in the `glassfish-resources.xml` file. To
+preserve old resource definitions during redeployment, use the
+`preserveAppScopedResources` property of the `redeploy` (or `deploy`
+`--force=true`) subcommand. For example:
+
+[source]
+----
+asadmin> redeploy --property preserveAppScopedResources=true MyApp.ear
+
+asadmin> deploy --force=true --property preserveAppScopedResources=true MyApp.ear
+----
+
+For more information, see link:reference-manual/redeploy.html#GSRFM00217[`redeploy`(1)] and
+link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)].
+
+Listing. Use the `--resources` option of the `list-applications`
+subcommand to list application-scoped resources. Use the
+`--subcomponents` option in addition to list scoped resources for
+enterprise application modules or for module subcomponents. To list
+scoped resources for subcomponents only, use the `--resources` option of
+the `list-subcomponents` subcommand
+
+For more information, see link:reference-manual/list-applications.html#GSRFM00148[`list-applications`(1)] and
+link:reference-manual/list-sub-components.html#GSRFM00201[`list-sub-components`(1)].
+
+Restrictions. Use of application-scoped resources is subject to the
+following restrictions:
+
+* `resource-adapter-config` and `connector-work-security-map` — These
+can only be specified in the `glassfish-resources.xml` file of the
+corresponding connector module. In an enterprise application, the
+`resource-adapter-config` or `connector-work-security-map` for an
+embedded connector module must be specified in the
+`glassfish-resources.xml` file of the connector module. You cannot
+specify a `resource-adapter-config` or `connector-work-security-map` in
+an application for a connector module that is not part of the
+application.
+* Resource to connection pool cross references — A module-level
+`jdbc-resource` cannot reference an application-level
+`jdbc-connection-pool`. Likewise, a module-level `connector-resource`
+cannot reference an application-level `connector-connection-pool`.
+* Global resources — Defining `java:global` JNDI names is not supported.
+* Cross definitions — Defining `java:app` JNDI names at the module level
+is not supported.
+
+
diff --git a/docs/application-deployment-guide/src/main/jbake/assets/img/dgdeploy3.png b/docs/application-deployment-guide/src/main/asciidoc/img/dgdeploy3.png
similarity index 100%
rename from docs/application-deployment-guide/src/main/jbake/assets/img/dgdeploy3.png
rename to docs/application-deployment-guide/src/main/asciidoc/img/dgdeploy3.png
Binary files differ
diff --git a/docs/application-deployment-guide/src/main/jbake/assets/img/dgdeploya.png b/docs/application-deployment-guide/src/main/asciidoc/img/dgdeploya.png
similarity index 100%
rename from docs/application-deployment-guide/src/main/jbake/assets/img/dgdeploya.png
rename to docs/application-deployment-guide/src/main/asciidoc/img/dgdeploya.png
Binary files differ
diff --git a/docs/application-deployment-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/application-deployment-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/application-deployment-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/application-deployment-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/application-deployment-guide/src/main/asciidoc/loe.adoc b/docs/application-deployment-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..0b9e6c3
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,63 @@
+type=page
+status=published
+title=List of Examples
+next=lof.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:deploying-applications.html#gijlo[2-1 Deploying an Enterprise
+Application]
+* link:deploying-applications.html#gilcq[2-2 Deploying a Connector
+Module]
+* link:deploying-applications.html#CHDFHDGD[2-3 Using an Alternate Java
+EE Standard Deployment Descriptor]
+* link:deploying-applications.html#CHDJFAIJ[2-4 Specifying the Deployment
+Order of an Application]
+* link:deploying-applications.html#giumj[2-5 Listing Applications]
+* link:deploying-applications.html#giuot[2-6 Listing Subcomponents]
+* link:deploying-applications.html#giunl[2-7 Showing Status of a Deployed
+Component]
+* link:deploying-applications.html#gijzm[2-8 Retaining HTTP Session State
+During Redeployment]
+* link:deploying-applications.html#gijkr[2-9 Redeploying a Web
+Application That Was Deployed From a Directory]
+* link:deploying-applications.html#gikiw[2-10 Redeploying an Application
+by Using asadmin deploy --force]
+* link:deploying-applications.html#gijkp[2-11 Listing Deployed Web
+Applications]
+* link:deploying-applications.html#gikvy[2-12 Disabling a Web
+Application]
+* link:deploying-applications.html#gijxl[2-13 Enabling an Application]
+* link:deploying-applications.html#gikag[2-14 Listing Deployed
+Applications or Modules]
+* link:deploying-applications.html#gikun[2-15 Undeploying an Application]
+* link:deploying-applications.html#giqrk[2-16 Setting the Autodeployment
+Interval]
+* link:deploying-applications.html#giqtm[2-17 Setting JSP Precompilation]
+* link:deploying-applications.html#gijvy[2-18 Deploying by Using a
+Deployment Plan]
+* link:deploying-applications.html#gijyn[2-19 Deployment Plan Structure
+for an Enterprise Application]
+* link:deploying-applications.html#gijwk[2-20 Deployment Plan Structure
+for an EJB Module]
+* link:deploying-applications.html#gilaz[2-21 Deploying an Application
+From a Directory]
+* link:deploying-applications.html#gjivx[2-22 Setting a Servlet
+Context-Initialization Parameter for a Web Application]
+* link:deploying-applications.html#gjivv[2-23 Unsetting a Servlet
+Context-Initialization Parameter for a Web Application]
+* link:deploying-applications.html#gjixd[2-24 Listing Servlet
+Context-Initialization Parameters for a Web Application]
+* link:deploying-applications.html#gjiwe[2-25 Setting an Environment
+Entry for a Web Application]
+* link:deploying-applications.html#gjivj[2-26 Unsetting an Environment
+Entry for a Web Application]
+* link:deploying-applications.html#gjiws[2-27 Listing Environment Entries
+for a Web Application]
+
+
diff --git a/docs/application-deployment-guide/src/main/asciidoc/lof.adoc b/docs/application-deployment-guide/src/main/asciidoc/lof.adoc
new file mode 100644
index 0000000..7b865b8
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/lof.adoc
@@ -0,0 +1,16 @@
+type=page
+status=published
+title=List of Figures
+next=lot.html
+prev=loe.html
+~~~~~~
+
+= List of Figures
+
+[[list-of-figures]]
+== List of Figures
+
+* link:overview.html#fwfdj[1-1 Module-Based Assembly and Deployment]
+* link:overview.html#fvyip[1-2 Application-Based Assembly and Deployment]
+
+
diff --git a/docs/application-deployment-guide/src/main/asciidoc/lot.adoc b/docs/application-deployment-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..b244311
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,197 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=lof.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:dd-files.html#giiht[B-1 {productName} Deployment Descriptors
+and DTDs]
+* link:dd-files.html#gkinm[B-2 weblogic.xml Support in {productName}]
+* link:dd-files.html#gkkht[B-3 weblogic-webservices.xml Support in
+{productName}]
+* link:dd-elements.html#fvynw[C-1 activation-config subelements]
+* link:dd-elements.html#fvynv[C-2 activation-config-property subelements]
+* link:dd-elements.html#sthref14[C-3 admin-object-resource Subelements]
+* link:dd-elements.html#sthref17[C-4 admin-object-resource Attributes]
+* link:dd-elements.html#fvyov[C-5 as-context Subelements]
+* link:dd-elements.html#fvyol[C-6 auth-realm subelement]
+* link:dd-elements.html#fvypa[C-7 auth-realm attributes]
+* link:dd-elements.html#sthref26[C-8 backend-principal Attributes]
+* link:dd-elements.html#fvypb[C-9 bean-cache Subelements]
+* link:dd-elements.html#fvypg[C-10 bean-pool Subelements]
+* link:dd-elements.html#fvyrd[C-11 cache Subelements]
+* link:dd-elements.html#fvyrt[C-12 cache Attributes]
+* link:dd-elements.html#fvyqr[C-13 cache Properties]
+* link:dd-elements.html#fvyph[C-14 cacheClassName Values]
+* link:dd-elements.html#fvyql[C-15 cache-helper Subelements]
+* link:dd-elements.html#fvyrp[C-16 cache-helper Attributes]
+* link:dd-elements.html#fvypt[C-17 cache-mapping Subelements]
+* link:dd-elements.html#fvyrw[C-18 call-property subelements]
+* link:dd-elements.html#fvypo[C-19 cert-db attributes]
+* link:dd-elements.html#fvyrq[C-20 check-version-of-accessed-instances
+Subelements]
+* link:dd-elements.html#fvyqx[C-21 checkpoint-at-end-of-method
+Subelements]
+* link:dd-elements.html#fvyqg[C-22 class-loader Subelements]
+* link:dd-elements.html#fvyrs[C-23 class-loader Attributes]
+* link:dd-elements.html#gcfjs[C-24 class-loader Properties]
+* link:dd-elements.html#fvypm[C-25 client-container Subelements]
+* link:dd-elements.html#fvyqb[C-26 client-container Attributes]
+* link:dd-elements.html#fvyqm[C-27 client-container Properties]
+* link:dd-elements.html#fvyro[C-28 client-credential subelement]
+* link:dd-elements.html#fvypi[C-29 client-credential attributes]
+* link:dd-elements.html#fvypw[C-30 cmp Subelements]
+* link:dd-elements.html#fvyqh[C-31 cmp-field-mapping Subelements]
+* link:dd-elements.html#fvyps[C-32 cmp-resource Subelements]
+* link:dd-elements.html#fvypn[C-33 cmr-field-mapping Subelements]
+* link:dd-elements.html#fvysh[C-34 column-pair Subelements]
+* link:dd-elements.html#sthref56[C-35 connector-connection-pool
+Subelements]
+* link:dd-elements.html#sthref59[C-36 connector-connection-pool
+Attributes]
+* link:dd-elements.html#sthref62[C-37 connector-connection-pool
+Properties]
+* link:dd-elements.html#sthref66[C-38 connector-resource Subelements]
+* link:dd-elements.html#sthref69[C-39 connector-resource Attributes]
+* link:dd-elements.html#fvysn[C-40 consistency Subelements]
+* link:dd-elements.html#fvysp[C-41 constraint-field Subelements]
+* link:dd-elements.html#fvysr[C-42 constraint-field Attributes]
+* link:dd-elements.html#fvysv[C-43 constraint-field-value Attributes]
+* link:dd-elements.html#fvytb[C-44 cookie-properties Subelements]
+* link:dd-elements.html#fvyte[C-45 cookie-properties Properties]
+* link:dd-elements.html#sthref79[C-46 custom-resource Subelements]
+* link:dd-elements.html#sthref82[C-47 custom-resource Attributes]
+* link:dd-elements.html#fvytm[C-48 default-helper Subelements]
+* link:dd-elements.html#fvyto[C-49 default-helper Properties]
+* link:dd-elements.html#fvytr[C-50 default-resource-principal
+Subelements]
+* link:dd-elements.html#fvyuc[C-51 ejb Subelements]
+* link:dd-elements.html#fvyud[C-52 ejb Attributes]
+* link:dd-elements.html#fvyui[C-53 ejb-ref Subelements]
+* link:dd-elements.html#fvyut[C-54 enterprise-beans Subelements]
+* link:dd-elements.html#fvyuz[C-55 entity-mapping Subelements]
+* link:dd-elements.html#sthref94[C-56 external-jndi-resource Subelements]
+* link:dd-elements.html#sthref97[C-57 external-jndi-resource Attributes]
+* link:dd-elements.html#fvzcz[C-58 fetched-with Subelements]
+* link:dd-elements.html#fvyzu[C-59 finder Subelements]
+* link:dd-elements.html#fvzba[C-60 flush-at-end-of-method Subelements]
+* link:dd-elements.html#fvzdo[C-61 gen-classes Subelements]
+* link:dd-elements.html#fvzhl[C-62 glassfish-application Subelements]
+* link:dd-elements.html#fvzjh[C-63 glassfish-application-client
+subelements]
+* link:dd-elements.html#fvzfu[C-64 glassfish-ejb-jar Subelements]
+* link:dd-elements.html#fvzgf[C-65 glassfish-web-app Subelements]
+* link:dd-elements.html#fvzjf[C-66 glassfish-web-app Attributes]
+* link:dd-elements.html#fvzim[C-67 glassfish-web-app Properties]
+* link:dd-elements.html#sthref111[C-68 group-map Attributes]
+* link:dd-elements.html#fvzca[C-69 idempotent-url-pattern Attributes]
+* link:dd-elements.html#fvyyk[C-70 ior-security-config Subelements]
+* link:dd-elements.html#fvzdu[C-71 java-method Subelements]
+* link:dd-elements.html#gauaw[C-72 java-web-start-access subelements]
+* link:dd-elements.html#sthref119[C-73 jdbc-connection-pool Subelements]
+* link:dd-elements.html#sthref122[C-74 jdbc-connection-pool Attributes]
+* link:dd-elements.html#sthref125[C-75 jdbc-connection-pool Database
+Properties]
+* link:dd-elements.html#sthref128[C-76 jdbc-connection-pool Database
+Properties]
+* link:dd-elements.html#sthref132[C-77 jdbc-resource Subelements]
+* link:dd-elements.html#sthref135[C-78 jdbc-resource Attributes]
+* link:dd-elements.html#fvyzp[C-79 jsp-config Subelements]
+* link:dd-elements.html#fvzde[C-80 jsp-config Properties]
+* link:dd-elements.html#fvyyi[C-81 key-field Attributes]
+* link:dd-elements.html#fvyzd[C-82 locale-charset-info Subelements]
+* link:dd-elements.html#fvzcd[C-83 locale-charset-info Attributes]
+* link:dd-elements.html#fvyvl[C-84 locale-charset-map Subelements]
+* link:dd-elements.html#fvzbk[C-85 locale-charset-map Attributes]
+* link:dd-elements.html#fvzbb[C-86 Example agent Attribute Values]
+* link:dd-elements.html#fvzdx[C-87 log-service subelement]
+* link:dd-elements.html#fvzbn[C-88 log-service attributes]
+* link:dd-elements.html#fvzap[C-89 login-config subelements]
+* link:dd-elements.html#sthref150[C-90 mail-resource Subelements]
+* link:dd-elements.html#sthref153[C-91 mail-resource Attributes]
+* link:dd-elements.html#fvyvh[C-92 manager-properties Subelements]
+* link:dd-elements.html#fvywk[C-93 manager-properties Properties]
+* link:dd-elements.html#fvyxi[C-94 mdb-connection-factory Subelements]
+* link:dd-elements.html#fvyzh[C-95 mdb-resource-adapter subelements]
+* link:dd-elements.html#fvyyd[C-96 message Subelements]
+* link:dd-elements.html#fvyzy[C-97 message-destination subelements]
+* link:dd-elements.html#gauar[C-98 message-destination-ref subelements]
+* link:dd-elements.html#fvywy[C-99 message-security Subelements]
+* link:dd-elements.html#fvzcx[C-100 message-security-binding Subelements]
+* link:dd-elements.html#fvzda[C-101 message-security-binding Attributes]
+* link:dd-elements.html#fvyym[C-102 message-security-config Subelements]
+* link:dd-elements.html#fvzam[C-103 message-security-config Attributes]
+* link:dd-elements.html#fvzch[C-104 method Subelements]
+* link:dd-elements.html#fvyzq[C-105 method-params Subelements]
+* link:dd-elements.html#fvyxu[C-106 one-one-finders Subelements]
+* link:dd-elements.html#fvywn[C-107 parameter-encoding Attributes]
+* link:dd-elements.html#fvzbr[C-108 port-info subelements]
+* link:dd-elements.html#fvyyn[C-109 prefetch-disabled Subelements]
+* link:dd-elements.html#fvzaq[C-110 principal Subelements]
+* link:dd-elements.html#sthref177[C-111 principal-map Attributes]
+* link:dd-elements.html#gatyf[C-112 principal-name Attributes]
+* link:dd-elements.html#fvzcb[C-113 property Subelements]
+* link:dd-elements.html#fvzdi[C-114 property Attributes]
+* link:dd-elements.html#fvzcc[C-115 property subelements]
+* link:dd-elements.html#fvyyq[C-116 provider-config Subelements]
+* link:dd-elements.html#fvyvz[C-117 provider-config Attributes]
+* link:dd-elements.html#fvywl[C-118 query-method Subelements]
+* link:dd-elements.html#fvzbz[C-119 refresh-field Attributes]
+* link:dd-elements.html#fvzdy[C-120 request-policy Attributes]
+* link:dd-elements.html#fvzbu[C-121 request-protection Attributes]
+* link:dd-elements.html#sthref191[C-122 resource-adapter-config
+Subelements]
+* link:dd-elements.html#sthref194[C-123 resource-adapter-config
+Attributes]
+* link:dd-elements.html#fvyye[C-124 resource-env-ref Subelements]
+* link:dd-elements.html#fvzbd[C-125 resource-ref Subelements]
+* link:dd-elements.html#sthref201[C-126 resources Subelements]
+* link:dd-elements.html#fvyyr[C-127 response-policy Attributes]
+* link:dd-elements.html#fvzej[C-128 response-protection Attributes]
+* link:dd-elements.html#fvzey[C-129 sas-context Subelements]
+* link:dd-elements.html#fvzex[C-130 schema-generator-properties
+Subelements]
+* link:dd-elements.html#fvzev[C-131 schema-generator-properties
+Properties]
+* link:dd-elements.html#fvymm[C-132 schema-generator-properties Column
+Attributes]
+* link:dd-elements.html#fvzet[C-133 secondary table Subelements]
+* link:dd-elements.html#fvzfe[C-134 security Subelements]
+* link:dd-elements.html#sthref213[C-135 security-map Subelements]
+* link:dd-elements.html#sthref216[C-136 security-map Attributes]
+* link:dd-elements.html#fvzfj[C-137 security-role-mapping Subelements]
+* link:dd-elements.html#fvzfi[C-138 service-qname subelements]
+* link:dd-elements.html#fvzgc[C-139 service-ref subelements]
+* link:dd-elements.html#fvzhy[C-140 servlet Subelements]
+* link:dd-elements.html#fvzib[C-141 session-config Subelements]
+* link:dd-elements.html#fvzgo[C-142 session-manager Subelements]
+* link:dd-elements.html#fvzje[C-143 session-manager Attributes]
+* link:dd-elements.html#fvzgv[C-144 session-properties Subelements]
+* link:dd-elements.html#fvzii[C-145 session-properties Properties]
+* link:dd-elements.html#fvzgb[C-146 ssl attributes]
+* link:dd-elements.html#fvzif[C-147 store-properties Subelements]
+* link:dd-elements.html#fvzgr[C-148 store-properties Properties]
+* link:dd-elements.html#fvziz[C-149 stub-property subelements]
+* link:dd-elements.html#gawou[C-150 stub-property properties]
+* link:dd-elements.html#fvzhm[C-151 sun-cmp-mapping Subelements]
+* link:dd-elements.html#fvzin[C-152 sun-cmp-mappings Subelements]
+* link:dd-elements.html#fvzhg[C-153 target-server subelements]
+* link:dd-elements.html#fvzgg[C-154 target-server attributes]
+* link:dd-elements.html#fvzih[C-155 timeout Attributes]
+* link:dd-elements.html#fvziu[C-156 transport-config Subelements]
+* link:dd-elements.html#giktu[C-157 valve Subelements]
+* link:dd-elements.html#gikqw[C-158 valve Attributes]
+* link:dd-elements.html#fvzfz[C-159 web Subelements]
+* link:dd-elements.html#fvzjb[C-160 webservice-description subelements]
+* link:dd-elements.html#fvzjs[C-161 webservice-endpoint subelements]
+* link:dd-elements.html#sthref248[C-162 work-security-map Subelements]
+* link:dd-elements.html#sthref251[C-163 work-security-map Attributes]
+* link:dd-elements.html#fvzju[C-164 wsdl-port subelements]
+
+
diff --git a/docs/application-deployment-guide/src/main/asciidoc/overview.adoc b/docs/application-deployment-guide/src/main/asciidoc/overview.adoc
new file mode 100644
index 0000000..0efb429
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/overview.adoc
@@ -0,0 +1,764 @@
+type=page
+status=published
+title=Overview of {productName} 7 Application Deployment
+next=deploying-applications.html
+prev=preface.html
+~~~~~~
+
+= Overview of {productName} 7 Application Deployment
+
+[[GSDPG00003]][[gihxo]]
+
+
+[[overview-of-glassfish-server-open-source-edition-5.0-application-deployment]]
+== 1 Overview of {productName} 7 Application Deployment
+
+{productName} 7 provides an environment for
+developing and deploying Java applications and web services. {productName} applications include Java Platform, Enterprise Edition (Jakarta EE
+platform) standard features as well as features specific to {productName}. This guide explains the tools and processes used for deploying
+applications and modules in the {productName} environment. Only
+{productName} features are described in detail in this document.
+
+The following topics are addressed here:
+
+* link:#gihzx[About Application Deployment]
+* link:#giphm[About Assembly and Deployment Events]
+* link:#giifh[About Deployment Tools]
+* link:#gipud[Additional Information on Application Deployment]
+
+Information and instructions on deploying from the command line are
+provided in this document. Information and instructions for
+accomplishing the deployment tasks by using the Administration Console
+are contained in the Administration Console online help.
+
+[[gihzx]][[GSDPG00061]][[about-application-deployment]]
+
+=== About Application Deployment
+
+Assembly, also known as packaging, is the process of combining discrete
+components of an application or module into a single unit that can be
+installed on an application server. The {productName} assembly
+process conforms to the customary Jakarta EE specifications. The only
+difference is that when you assemble applications or modules in
+{productName}, you can include optional {productName} deployment
+descriptors that enhance functionality.
+
+Deployment is the process of installing an application or module on
+{productName}, optionally specifying location-specific information,
+such as a list of local users that can access the application, or the
+name of the local database. {productName} deployment tools expand the
+archive file into an open directory structure that is ready for users.
+{productName} deployment tools are described in link:#giifh[About
+Deployment Tools].
+
+The following topics are addressed here:
+
+* link:#giptw[General Deployment Functionality]
+* link:#gihzc[Deployment Descriptors and Annotations]
+* link:#gikhs[Modules and Applications]
+* link:#gijla[Access to Shared Framework Classes]
+* link:#gihzk[Naming Standards]
+* link:#gkhhv[Module and Application Versions]
+
+[[giptw]][[GSDPG00319]][[general-deployment-functionality]]
+
+==== General Deployment Functionality
+
+Various Jakarta EE module types, such as connector module, web module, EJB
+module, application client module, can be deployed in the following
+ways:
+
+* Archive Deployment. Deploys the application as an archive file. For
+instructions, see link:deploying-applications.html#gijmq[To Deploy an
+Application or Module].
+* Dynamic Reloading. Redeploys the application by creating or modifying
+a special `.reload` file in the applications repository. For
+instructions, see link:deploying-applications.html#fwakh[To Reload
+Changes to Applications or Modules Dynamically].
+* Automatic Deployment. Deploys the application archive that is placed
+in the autodeployment directory. For instructions, see
+link:deploying-applications.html#fvxze[To Deploy an Application or Module
+Automatically].
+* Directory Deployment. Deploys the application in a directory format.
+For instructions, see link:deploying-applications.html#gilcn[To Deploy an
+Application or Module in a Directory Format].
+* JSR 88 Deployment. A deployment mechanism implemented based on the JSR
+88 standard from `jcp.org`. It delivers vendor neutral deployment
+options. See link:#beaee[JSR 88 Client] and link:#giiel[JSR 88 Naming].
+
+A deployment plan, which deploys a portable archive along with a
+deployment plan containing {productName} deployment descriptors, can
+apply to any of these deployment techniques. For instructions, see
+link:deploying-applications.html#gijyb[To Deploy an Application or Module
+by Using a Deployment Plan].
+
+There are two work situations that require different safeguards and
+processes:
+
+* A development environment provides a loose set of tools and work
+spaces for a relatively small number of developers who are creating and
+testing applications and modules.
+* A production environment provides a stable, protected environment
+where applications are tuned to maximum efficiency for business use
+rather than for development.
+
+Some deployment methods that are used effectively in a development
+environment should not be used in production. In addition, whenever a
+reload is done, the sessions that are in transit become invalid, which
+might not be a concern for development, but can be a serious matter in
+production. The client must restart the session, another negative in a
+production environment.
+
+For production environments, any upgrade should be performed as a
+rolling upgrade, which upgrades applications and modules without
+interruption in service. For more information, see
+link:ha-administration-guide/rolling-upgrade.html#GSHAG00010[Upgrading Applications Without Loss of Availability] in
+{productName} High Availability Administration
+Guide.
+
+[[gihzc]][[GSDPG00320]][[deployment-descriptors-and-annotations]]
+
+==== Deployment Descriptors and Annotations
+
+A deployment descriptor is an XML file that describes how a Jakarta EE
+application or module should be deployed. Each deployment descriptor XML
+file has a corresponding Document Type Definition (DTD) file or schema
+(XSD) file, which defines the elements, data, and attributes that the
+deployment descriptor file can contain. The deployment descriptor
+directs a deployment tool to deploy a module or application with
+specific container options, and also describes specific configuration
+requirements that you must resolve.
+
+Because the information in a deployment descriptor is declarative, it
+can be changed without requiring modifications to source code. During
+deployment, {productName} reads the information in the deployment
+descriptor and deploys the application or module as directed.
+
+The following types of deployment descriptors are associated with
+{productName}:
+
+* Jakarta EE Standard Descriptors.
+Jakarta EE standard deployment descriptors are described
+in the Jakarta EE specification. You can find the
+specification at `https://jakarta.ee/specifications/`.
+Information about the XML schemas that define Jakarta EE standard
+deployment descriptors is available at
+`https://jakarta.ee/xml/ns/jakartaee/`.
++
+The Jakarta EE specification permits the use of alternate top-level
+standard deployment descriptors that reside outside of the application
+archive using the `alt-dd` mechanism (alternate module-level deployment
+descriptors were permitted prior to Jakarta EE 7). Alternate deployment
+descriptors are described in the Jakarta EE 7 specification. You can find
+the specification at
+`http://www.oracle.com/technetwork/java/javaee/tech/`. Alternate
+deployment descriptors override the top-level deployment descriptors
+packaged in an application archive. For example, for EAR files, an
+alternate deployment descriptor overrides `application.xml`. For
+standalone modules, an alternate deployment descriptor overrides the
+top-level module descriptor, such as `web.xml`.
+* {productName} Descriptors. {productName} provides optional
+deployment descriptors for configuring features that are specific to
+{productName}. For example, when you assemble an EJB module, you
+annotate or create two {productName} deployment descriptor files with
+these names: `ejb-jar.xml` and `glassfish-ejb-jar.xml`. If the EJB
+component is an entity bean with container-managed persistence (CMP),
+you can also create a `.dbschema` file and a `sun-cmp-mapping.xml` file.
+For complete descriptions of these files and their elements, see
+link:dd-files.html#giida[{productName} Deployment Descriptor Files]
+and link:dd-elements.html#beaqi[Elements of the {productName}
+Deployment Descriptors].
++
+{productName} also permits the use of alternate top-level {productName} runtime deployment descriptors that reside outside of an
+application archive. Alternate {productName} deployment descriptors
+override the top-level deployment descriptors packaged in the archive.
+For example, for EAR files, an alternate {productName} deployment
+descriptor overrides `glassfish-application.xml`. For standalone
+modules, an alternate {productName} deployment descriptor overrides
+the top-level module descriptor, such as `glassfish-web.xml`. The name
+of the {productName} alternate deployment descriptor file must begin
+with `glassfish-`. Alternate deployment descriptors do not apply to
+`sun-*.xml` deployment descriptors.
++
+Unless otherwise stated, settings in the {productName} deployment
+descriptors override corresponding settings in the Jakarta EE standard
+descriptors and in the {productName} configuration.
+
+An annotation, also called metadata, enables a declarative style of
+programming. You can specify information within a class file by using
+annotations. When the application or module is deployed, the information
+can either be used or overridden by the deployment descriptor. {productName} supports annotation according to the following specifications:
+
+* http://www.jcp.org/en/jsr/detail?id=250[JSR 250 Common Annotation
+Specification]
+* http://www.jcp.org/en/jsr/detail?id=181[JSR 181 Annotation for Web
+Services Specification]
+* http://www.jcp.org/en/jsr/detail?id=318[EJB 3.1 Specification]
+
+The following annotation and deployment descriptor combinations are
+supported:
+
+* Jakarta EE applications or modules can be packaged with full Jakarta EE
+compliant standard and runtime deployment descriptors. If the standard
+deployment descriptors have specified the `metadata-complete` attribute,
+annotations in the application or module are ignored.
+* Jakarta EE applications or modules can be fully annotated with metadata
+defined by the listed specifications. Annotation eliminates the need for
+Jakarta EE standard deployment descriptors. In most cases, the {productName} deployment descriptors are also not needed.
+* Jakarta EE applications or modules can be partially annotated with some
+deployment information in standard deployment descriptors. In case of
+conflicts, deployment descriptor values supersede the annotated
+metadata, and a warning message is logged.
+
+[[gikhs]][[GSDPG00321]][[modules-and-applications]]
+
+==== Modules and Applications
+
+An application is a logical collection of one or more modules joined by
+application annotations or deployment descriptors. You assemble
+components into JAR, WAR, or RAR files, then combine these files and,
+optionally, deployment descriptors into an Enterprise archive (EAR) file
+which is deployed.
+
+A module is a collection of one or more Jakarta EE components that run in
+the same container type, such as a web container or EJB container. The
+module uses annotations or deployment descriptors of that container
+type. You can deploy a module alone or as part of an application.
+
+The following topics are addressed here:
+
+* link:#beacv[Types of Modules]
+* link:#beacu[Module-Based Deployment]
+* link:#beacw[Application-Based Deployment]
+
+[[beacv]][[GSDPG00307]][[types-of-modules]]
+
+===== Types of Modules
+
+{productName} supports the following types of modules:
+
+* Web Module. A web module, also known as a web application, is a
+collection of servlets, EJBs, HTML pages, classes, and other resources
+that you can bundle and deploy to several Jakarta EE application servers. A
+web application archive (WAR) file is the standard format for assembling
+web applications. A WAR file can consist of the following items:
+servlets, JavaServer Pages (JSP) files, JSP tag libraries, utility
+classes, static pages, client-side applets, beans, bean classes,
+enterprise bean classes, plus annotations or web deployment descriptors
+(`web.xml` and `glassfish-web.xml`).
+* EJB Module. An EJB module is a deployable software unit that consists
+of one or more enterprise beans, plus an EJB deployment descriptor. A
+Java archive (JAR) file is the standard format for assembling enterprise
+beans. An EJB JAR file contains the bean classes (home, remote, local,
+and implementation), all of the utility classes, and annotations or
+deployment descriptors (`ejb-jar.xml` and `glassfish-ejb-jar.xml`). If
+the EJB component is a version 2.1 or earlier entity bean with container
+managed persistence (CMP), you can also include a `.dbschema` file and a
+CMP mapping descriptor (`sun-cmp-mapping.xml`).
+* Connector Module. A connector module, also known as a resource adapter
+module, is a deployable software unit that provides a portable way for
+EJB components to access foreign enterprise information system (EIS)
+data. A connector module consists of all Java interfaces, classes, and
+native libraries for implementing a resource module, plus a resource
+deployment descriptor. A resource adapter archive (RAR) is the standard
+format for assembling connector modules. Each {productName} connector
+has annotations or a deployment descriptor file (`ra.xml`).
++
+After deploying a J2EE connector module, you must configure it as
+described in link:application-development-guide/connectors.html#GSDVG00013[Developing Connectors] in {productName} Application Development Guide.
+* Application Client Module. An application client module is a
+deployable software unit that consists of one or more classes, and
+application client deployment descriptors (`application-client.xml` and
+`glassfish-application-client.xml`). An application client JAR file
+applies to a {productName} type of Jakarta EE client. An application
+client supports the standard Jakarta EE Application Client specifications.
+* Lifecycle Module. A lifecycle module provides a means of running
+short-duration or long-duration Java-based tasks within the {productName} environment. Lifecycle modules are not Jakarta EE standard modules.
+See link:application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing Lifecycle Listeners] in {productName} Application Development Guide for more information.
+
+[[beacu]][[GSDPG00308]][[module-based-deployment]]
+
+===== Module-Based Deployment
+
+You can deploy web, EJB, and application client modules separately,
+outside of any application. Module-based deployment is appropriate when
+components need to be accessed by other modules, applications, or
+application clients. Module-based deployment allows shared access to a
+bean from a web, EJB, or application client component.
+
+The following figure shows separately-deployed EJB, web, and application
+client modules.
+
+[[GSDPG00001]][[fwfdj]]
+
+
+.*Figure 1-1 Module-Based Assembly and Deployment*
+image:img/dgdeploy3.png[
+"Figure shows EJB, web, and application client module assembly and
+deployment."]
+
+
+[[beacw]][[GSDPG00309]][[application-based-deployment]]
+
+===== Application-Based Deployment
+
+Application-based deployment is appropriate when components need to work
+together as one unit.
+
+The following figure shows EJB, web, application client, and connector
+modules assembled into a Jakarta EE application.
+
+[[GSDPG00002]][[fvyip]]
+
+
+.*Figure 1-2 Application-Based Assembly and Deployment*
+image:img/dgdeploya.png[
+"Figure shows Jakarta EE application assembly and deployment."]
+
+
+[[gijla]][[GSDPG00322]][[access-to-shared-framework-classes]]
+
+==== Access to Shared Framework Classes
+
+If you assemble a large, shared library into every module that uses it,
+the result is a huge file that takes too long to register with the
+server. In addition, several versions of the same class could exist in
+different class loaders, which is a waste of resources. When Jakarta EE
+applications and modules use shared framework classes (such as utility
+classes and libraries), the classes can be put in the path for the
+common class loader or an application-specific class loader rather than
+in an application or module.
+
+To specify an application-specific library file during deployment, use
+the `--libraries` option of the `deploy` or `redeploy` subcommand of the
+`asadmin` command. To add a library JAR file to the Common class loader
+directory, the Java optional package directory, or the
+application-specific class loader directory, use the `add-library`
+subcommand. You can then list the libraries with `list-libraries` and
+remove the libraries with `remove-library`. For more information about
+all these commands, see the {productName}
+Reference Manual.
+
+For more information about class loaders, see link:application-development-guide/class-loaders.html#GSDVG00003[Class
+Loaders] in {productName} Application Development
+Guide.
+
+
+[NOTE]
+====
+According to the Jakarta EE specification, section 8.1.1.2, "Dependencies,"
+you cannot package utility classes within an individually-deployed EJB
+module. Instead, you must package the EJB module and utility JAR within
+an application using the JAR Extension Mechanism Architecture.
+====
+
+
+[[gihzk]][[GSDPG00323]][[naming-standards]]
+
+==== Naming Standards
+
+Names of applications and individually-deployed modules must be unique
+within a {productName} domain. Modules within an application must
+have unique names. In addition, for enterprise beans that use
+container-managed persistence (CMP), the `.dbschema` file names must be
+unique within an application.
+
+You should use a hierarchical naming scheme for module file names, EAR
+file names, module names as found in the `module-name` portion of the
+`ejb-jar.xml` files, and EJB names as found in the `ejb-name` portion of
+the `ejb-jar.xml` files. This hierarchical naming scheme ensures that
+name collisions do not occur. The benefits of this naming practice apply
+not only to {productName}, but to other Jakarta EE application servers
+as well.
+
+The following topics are addressed here:
+
+* link:#gjjfg[Portable Naming]
+* link:#giidg[JNDI Naming]
+* link:#beada[Directory Structure]
+* link:#giiel[JSR 88 Naming]
+
+[[gjjfg]][[GSDPG00310]][[portable-naming]]
+
+===== Portable Naming
+
+Starting in Jakarta EE 6, the Jakarta EE specification defines the portable
+`application-name`, which allows you to specify an application name in
+the `application.xml` file. For example:
+
+[source,xml]
+----
+<application-name>xyz</application-name>
+----
+
+The Jakarta EE specification also defines the portable `module-name`
+element in the module standard deployment descriptors.
+
+{productName} determines the application registration name according
+to the following order of precedence:
+
+1. The name specified at deployment time in the Administration Console
+or in the `--name` option of the `asadmin deploy` command is used.
+2. If no name is specified at deployment time, the portable
+`application-name` or `module-name` in the Jakarta EE deployment descriptor
+is used.
+3. If no name is specified at deployment time or in the deployment
+descriptors, the archive name, minus the file type suffix, is used.
+
+[[giidg]][[GSDPG00311]][[jndi-naming]]
+
+===== JNDI Naming
+
+Java Naming and Directory Interface (JNDI) lookup names for EJB
+components must also be unique. Establishing a consistent naming
+convention can help. For example, appending the application name and the
+module name to the EJB name is a way to guarantee unique names, such as,
+`jms/qConnPool`.
+
+[[beada]][[GSDPG00312]][[directory-structure]]
+
+===== Directory Structure
+
+Application and module directory structures must follow the structure
+outlined in the Jakarta EE specification. During deployment, the
+application or module is expanded from the archive file to an open
+directory structure. The directories that hold the individual modules
+are named with `_jar`, `_rar`, and `_war` suffixes.
+
+If you deploy a directory instead of an EAR file, your directory
+structure must follow this same convention. For instructions on
+performing directory deployment, see
+link:deploying-applications.html#gilcn[To Deploy an Application or Module
+in a Directory Format].
+
+
+[[gkhhv]][[GSDPG00324]][[module-and-application-versions]]
+
+==== Module and Application Versions
+
+Application and module versioning allows multiple versions of the same
+application to exist in a {productName} domain, which simplifies
+upgrade and rollback tasks. At most one version of an application or
+module can be enabled on a server any given time. Versioning provides
+extensions to tools for deploying, viewing, and managing multiple
+versions of modules and applications, including the Administration
+Console and deployment-related `asadmin` subcommands. Different versions
+of the same module or application can have the same context root or JNDI
+name. Use of versioning is optional.
+
+The following topics are addressed here:
+
+* link:#gkhmg[Version Identifiers and Expressions]
+* link:#gkhmm[Choosing the Enabled Version]
+* link:#gkhob[Versioning Restrictions and Limitations]
+
+[[gkhmg]][[GSDPG00314]][[version-identifiers-and-expressions]]
+
+===== Version Identifiers and Expressions
+
+The version identifier is a suffix to the module or application name. It
+is separated from the name by a colon (`:`). It must begin with a letter
+or number. It can contain alphanumeric characters plus underscore (`_`),
+dash (`-`), and period (`.`) characters. The following examples show
+valid version identifiers for the `foo` application:
+
+[source]
+----
+foo:1
+foo:BETA-2e
+foo:3.8
+foo:patch39875
+----
+
+A module or application without a version identifier is called the
+untagged version. This version can coexist with other versions of the
+same module or application that have version identifiers.
+
+In some deployment-related `asadmin` commands, you can use an asterisk
+(`*`) as a wildcard character to specify a version expression, which
+selects multiple version identifiers. Using the asterisk by itself after
+the colon selects all versions of a module or application, including the
+untagged version. The following table shows example version expressions
+and the versions they select.
+
+[width="100%",cols="33%,67%",options="header",]
+|===
+|Version Expression |Selected Versions
+|`foo:*` |All versions of `foo`, including the untagged version
+|`foo:BETA*` |All `BETA` versions of `foo`
+|`foo:3.*` |All `3.`x versions of `foo`
+|`foo:patch*` |All `patch` versions of `foo`
+|===
+
+
+The following table summarizes which `asadmin` subcommands are
+identifier-aware or expression-aware. All expression-aware subcommands
+are also identifier-aware.
+
+[width="100%",cols="50%,50%",options="header",]
+|===
+|Identifier-Aware Subcommands |Expression-Aware Subcommands
+|`deploy`, `deploydir`, `redeploy` |`undeploy`
+|`enable` |`disable`
+|`list-sub-components` |`show-component-status`
+|`get-client-stubs` |`create-application-ref`, `delete-application-ref`
+|===
+
+
+The `create-application-ref` subcommand is expression-aware only if the
+`--enabled` option is set to `false`. Because the `--enabled` option is
+set to `true` by default, the `create-application-ref` subcommand is
+identifier-aware by default.
+
+The `list-applications` and `list-application-refs` subcommands display
+information about all deployed versions of a module or application. To
+find out which version is enabled, use the `--long` option.
+
+[[gkhmm]][[GSDPG00315]][[choosing-the-enabled-version]]
+
+===== Choosing the Enabled Version
+
+At most one version of a module or application can be enabled on a
+server instance. All other versions are disabled. Enabling one version
+automatically disables all others. You can disable all versions of a
+module or application, leaving none enabled.
+
+The `--enabled` option of the `deploy` and `redeploy` subcommands is set
+to `true` by default. Therefore, simply deploying or redeploying a
+module or application with a new version identifier enables the new
+version and disables all others. To deploy a new version in a disabled
+state, set the `--enabled` option to `false`.
+
+To enable a version that has been deployed previously, use the `enable`
+subcommand.
+
+[[gkhob]][[GSDPG00316]][[versioning-restrictions-and-limitations]]
+
+===== Versioning Restrictions and Limitations
+
+Module and application versioning in {productName} is subject to the
+following restrictions and limitations:
+
+* Use of the `--name` option is mandatory for modules and applications
+that use versioning. There is no automatic version identifier
+generation.
+* {productName} does not recognize any relationship between versions
+such as previous or later versions. All version relationships must be
+tracked manually.
+* There is no limit to the number of versions you can deploy except what
+is imposed by disk space limits.
+* A module or application in a directory should not be deployed twice
+with a different version identifier. To redeploy a module or application
+from a directory with a new version, you must use the `--force` option
+of the `deploy` subcommand.
+* Database tables created or deleted as part of deployment and
+undeployment are global resources and cannot be qualified by an
+application version. Be very careful when using global resources among
+versions of the same application.
+* Web sessions are preserved during redeployment of a new version.
+However, preserving sessions among different versions of the same module
+or application is complex, because the key used for session variables is
+the same for the old and new versions.
+* Resources are created with reference to a resource-adapter's module or
+application name. This means that an older version's resources do not
+automatically refer to a newer version of the module or application.
+Therefore, you must explicitly create resources for a newer version of a
+module or application. {productName} ignores duplicate exported
+global resources and lets deployment succeed.
+* OSGi already has its own versioning system. Therefore, when you deploy
+an OSGi bundle, {productName} ignores any version information
+provided with the name but permits the deployment to succeed with
+warnings.
+
+[[giphm]][[GSDPG00062]][[about-assembly-and-deployment-events]]
+
+=== About Assembly and Deployment Events
+
+The deployment tools that are provided by {productName} can be used
+by any user authorized as an administrator to deploy applications and
+modules into any {productName} environment. However, effective
+application deployment requires planning and care. Only the developer
+knows exactly what is required by an application, so the developer is
+responsible for initial assembly and deployment.
+
+1. Deployment Descriptor or Annotation Creation. The developer creates
+the deployment descriptors or equivalent annotations using Java
+standards and tools.
++
+Details of the {productName} deployment descriptors are contained in
+link:dd-files.html#giida[{productName} Deployment Descriptor Files]
+and link:dd-elements.html#beaqi[Elements of the {productName}
+Deployment Descriptors]. The {productName} sample applications
+contain deployment descriptors that can be used as templates for
+developing deployment descriptors.
+2. Assembly. The developer assembles the archive file(s) using Java
+standards and tools, such as the `jar` command. The application or
+module is packaged into a JAR, WAR, RAR, or EAR file. For guidelines on
+naming, see link:#gihzk[Naming Standards].
++
+There are no {productName} issues to consider.
+3. Test Deployment. The developer performs a test deployment of the
+archive. For instructions, see link:deploying-applications.html#gijmq[To
+Deploy an Application or Module].
+4. Archive Submission. The developer submits the verified archive to
+the administrator for deployment into a production environment. The
+developer includes instructions for any additional deployment tasks that
+the administrator must perform. For an example of such additional
+instructions, see link:#gijla[Access to Shared Framework Classes].
+5. Configuration. The administrator applies additional deployment
+specifics. Sometimes the developer has indicated additional deployment
+needs, such as specifying the production database. In this case, the
+administrator edits and reassembles the archive.
+6. Production Deployment. The administrator deploys the archive to
+production. See link:deploying-applications.html#gijmq[To Deploy an
+Application or Module].
+7. Troubleshooting. If deployment fails, the administrator returns the
+archive to the developer. The developer fixes the problem and resubmits
+the archive to the administrator. Sometimes the administrator resolves
+the problem, depending on what the problem is.
+
+[[giifh]][[GSDPG00063]][[about-deployment-tools]]
+
+=== About Deployment Tools
+
+{productName} provides tools for assembling and deploying a module or
+application.
+
+The following topics are addressed here:
+
+* link:#giijz[Administration Console]
+* link:#giijf[The `asadmin` Utility]
+* link:#giijq[NetBeans IDE]
+* link:#gikwq[Eclipse IDE]
+* link:#beaee[JSR 88 Client]
+
+[[giijz]][[GSDPG00325]][[administration-console]]
+
+==== Administration Console
+
+The {productName} Administration Console is a browser-based utility
+that features a graphical interface that includes extensive online help
+for the administrative tasks. The format for starting the Administration
+Console in a web browser is `http://`hostname`:`port. For example:
+
+[source]
+----
+http://localhost:4848
+----
+
+Step-by-step instructions for using the Administration Console for
+deployment are provided in the Administration Console online help. You
+can display the help material for a page by clicking the Help button.
+The initial help page describes the functions and fields of the page
+itself. To find instructions for performing associated tasks, click a
+link in the See Also list.
+
+[[giijf]][[GSDPG00326]][[the-asadmin-utility]]
+
+==== The `asadmin` Utility
+
+The {productName} `asadmin` utility is a command-line tool that
+invokes subcommands for identifying the operation or task that you want
+to perform. You can run `asadmin` commands either from a command prompt
+or from a script. The format for starting the `asadmin` utility on the
+command line is as-install``/bin/asadmin`` subcommand --option. For
+example:
+
+[source]
+----
+asadmin list-applications --type web
+----
+
+Application deployment commands are listed in
+link:asadmin-deployment-subcommands.html#gihzw[The `asadmin` Deployment
+Subcommands]. All {productName} `asadmin` subcommands are documented
+in the link:reference-manual.html#GSRFM[{productName} Reference
+Manual].
+
+For the most part, you can perform the same administrative tasks by
+using either the graphical Administration Console or the `asadmin`
+command-line utility, however, there are exceptions. Procedures for
+using the command-line utilities are provided in this guide and in the
+command-line help pages, which are similar to man pages. You can display
+the help material for a command by typing help followed by the
+subcommand. For example:
+
+[source]
+----
+asadmin help list-applications
+----
+
+For additional information on the `asadmin` utility, see
+"link:administration-guide/general-administration.html#GSADG00530[Using the `asadmin` Utility]" in {productName} Administration Guide and the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
+
+[[giijq]][[GSDPG00329]][[netbeans-ide]]
+
+==== NetBeans IDE
+
+You can use the NetBeans Integrated Development Environment (IDE), or
+another IDE, to assemble Jakarta EE applications and modules. The NetBeans
+IDE is included in the tools bundle of the Jakarta EE Software Development
+Kit (SDK). To download, see
+`http://www.oracle.com/technetwork/java/javaee/downloads/index.html`.
+For additional information, see `http://www.netbeans.org`.
+
+[[gikwq]][[GSDPG00330]][[eclipse-ide]]
+
+==== Eclipse IDE
+
+In addition to the bundled NetBeans IDE, a plug-in for the Eclipse IDE
+extends GlassFish to the Eclipse community.
+
+[[beaee]][[GSDPG00331]][[jsr-88-client]]
+
+==== JSR 88 Client
+
+The syntax of the URI entry for the `getDeploymentManager` method is as
+follows:
+
+[source]
+----
+deployer:Sun:AppServer::admin-host:admin-port[:https]
+----
+
+For example:
+
+[source]
+----
+deployer:Sun:AppServer::localhost:4848:https
+----
+
+[[gipud]][[GSDPG00064]][[additional-information-on-application-deployment]]
+
+=== Additional Information on Application Deployment
+
+As specified from Jakarta EE specifications, the relevant specifications
+are the following:
+
+* Jakarta EE Platform, Enterprise Edition 10 Specification +
+`https://jakarta.ee/specifications/platform/`
+* Jakarta EE Application Deployment JSR 88 Specification +
+`http://jcp.org/en/jsr/detail?id=88`
+* Common Annotations for the Java Platform 1.6 Specification +
+`http://jcp.org/en/jsr/detail?id=250`
+* Java Servlet 3.0 Specification +
+`http://jcp.org/en/jsr/detail?id=315`
+* Enterprise JavaBeans 3.1 Specification +
+`http://jcp.org/en/jsr/detail?id=318`
+* Jakarta EE Connector Architecture 1.6 Specification +
+`http://jcp.org/en/jsr/detail?id=322`
+
+The following product documentation might be relevant to some aspects of
+application deployment:
+
+* link:application-development-guide.html#GSDVG[
+{productName} Application Development Guide]
+* link:administration-guide.html#GSADG[
+{productName} Administration Guide]
+* link:add-on-component-development-guide.html#GSACG[
+{productName} Add-On Component Development Guide]
+* link:reference-manual.html#GSRFM[
+{productName} Reference Manual]
+* {productName} Administration Console online help
+
diff --git a/docs/application-deployment-guide/src/main/asciidoc/preface.adoc b/docs/application-deployment-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..444baaa
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,334 @@
+type=page
+status=published
+title=Preface
+next=overview.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSDPG806]][[sthref2]]
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This Application Deployment Guide describes deployment of applications
+and application components to {productName}, and
+includes information about deployment descriptors.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSDPG00053]][[ghpbz]]
+
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSDPG00054]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[GSDPG00055]][[fwbkx]]
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSDPG00056]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSDPG00057]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/application-deployment-guide/src/main/asciidoc/title.adoc b/docs/application-deployment-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..b5bd3c9
--- /dev/null
+++ b/docs/application-deployment-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,48 @@
+type=page
+status=published
+title={productName} Application Deployment Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Application Deployment Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Application Deployment Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This Application Deployment Guide describes deployment of applications
+and application components to {productName}, and
+includes information about deployment descriptors.
+
+[[sthref1]]
+
+'''''
+
+{productName} Application Deployment Guide,
+Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/application-deployment-guide/src/main/jbake/assets/css/style.css b/docs/application-deployment-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/application-deployment-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/application-deployment-guide/src/main/jbake/content/asadmin-deployment-subcommands.adoc b/docs/application-deployment-guide/src/main/jbake/content/asadmin-deployment-subcommands.adoc
deleted file mode 100644
index 1943f39..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/asadmin-deployment-subcommands.adoc
+++ /dev/null
@@ -1,151 +0,0 @@
-type=page
-status=published
-title=The asadmin Deployment Subcommands
-next=dd-files.html
-prev=deploying-applications.html
-~~~~~~
-The asadmin Deployment Subcommands
-==================================
-
-[[GSDPG00005]][[gihzw]]
-
-
-[[a-the-asadmin-deployment-subcommands]]
-A The `asadmin` Deployment Subcommands
---------------------------------------
-
-This appendix lists the `asadmin` deployment subcommands that are
-included with this release of the GlassFish Server Open Source
-Editionsoftware. For information on additional `asadmin` subcommands,
-see "link:../administration-guide/asadmin-subcommands.html#GSADG00023[Subcommands for the `asadmin` Utility]" in
-GlassFish Server Open Source Edition Administration Guide or see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-link:../reference-manual/add-library.html#GSRFM00818[`add-library`]::
-  Adds one or more library JAR files to GlassFish Server. You can
-  specify whether the libraries are added to the Common class loader
-  directory, the Java optional package directory, or the
-  application-specific class loader directory.
-link:../reference-manual/create-application-ref.html#GSRFM00013[`create-application-ref`]::
-  Creates a reference from a cluster or an unclustered server instance
-  to a previously deployed Java EE application or module. This
-  effectively results in the application element being deployed and made
-  available on the targeted instance or cluster.
-link:../reference-manual/create-lifecycle-module.html#GSRFM00043[`create-lifecycle-module`]::
-  Creates a lifecycle module. A lifecycle module provides a means of
-  running a short or long duration Java-based task at a specific stage
-  in the server life cycle.
-link:../reference-manual/delete-application-ref.html#GSRFM00064[`delete-application-ref`]::
-  Removes a reference from a cluster or an unclustered server instance
-  to a previously deployed Java EE application or module. This
-  effectively results in the application element being undeployed on the
-  targeted instance or cluster.
-link:../reference-manual/delete-lifecycle-module.html#GSRFM00095[`delete-lifecycle-module`]::
-  Deletes a lifecycle module.
-link:../reference-manual/deploy.html#GSRFM00114[`deploy`]::
-  Deploys an enterprise application, web application, EJB module,
-  connector module, or application client module. If the component is
-  already deployed or already exists, you can forcefully redeploy if you
-  set the `--force` option to `true`. A directory can also be deployed.
-  Supported in remote mode only. For usage instructions, see
-  link:deploying-applications.html#gijmq[To Deploy an Application or
-  Module].
-link:../reference-manual/deploydir.html#GSRFM00115[`deploydir`]::
-  This subcommand is deprecated. Use the `deploy` subcommand instead.
-link:../reference-manual/disable.html#GSRFM00116[`disable`]::
-  Immediately deactivates the named application or module. If the
-  component has not been deployed, an error message is returned.
-  Supported in remote mode only. For usage instructions,
-  seelink:deploying-applications.html#fvyje[To Disable an Application or
-  Module].
-link:../reference-manual/enable.html#GSRFM00124[`enable`]::
-  Enables the specified application or module. If the component has not
-  been deployed, an error message is returned. If the component is
-  already enabled, then it is re-enabled. Supported in remote mode only.
-  For usage instructions, see link:deploying-applications.html#gijjy[To
-  Enable an Application or Module].
-link:../reference-manual/get-client-stubs.html#GSRFM00140[`get-client-stubs`]::
-  Gets the client stubs JAR file for an application client module or an
-  application containing the application client module, from the server
-  machine to the local directory. For usage instructions, see
-  link:deploying-applications.html#beaek[EJB Module Deployment
-  Guidelines].
-link:../reference-manual/list-applications.html#GSRFM00148[`list-applications`]::
-  Lists deployed Java EE applications and modules. Optionally lists
-  subcomponents and scoped resources. If the `--type` option is not
-  specified, all applications and modules are listed. Supported in
-  remote mode only. For usage instructions, see
-  link:deploying-applications.html#giulr[To List Deployed Applications or
-  Modules].
-link:../reference-manual/list-application-refs.html#GSRFM00147[`list-application-refs`]::
-  Lists Java EE applications and modules deployed on the specified
-  target server instance or cluster.
-link:../reference-manual/list-libraries.html#GSRFM00819[`list-libraries`]::
-  Lists library JAR files that have been added to GlassFish Server. You
-  can specify whether to list libraries in the Common class loader
-  directory, the Java optional package directory, or the
-  application-specific class loader directory.
-link:../reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`]::
-  Lists lifecycle modules.
-link:../reference-manual/list-components.html#GSRFM00155[`list-components`]::
-  This subcommand is deprecated. Use the `list-applications` subcommand
-  instead.
-link:../reference-manual/list-sub-components.html#GSRFM00201[`list-sub-components`]::
-  Lists EJBs or servlets in a deployed module or in a module of the
-  deployed application. If a module is not identified, all modules are
-  listed. To display a specific module in an application, you must
-  specify the module name and the `--appname` option. Supported in
-  remote mode only. For usage instructions, see
-  link:deploying-applications.html#giulr[To List Deployed Applications or
-  Modules].
-link:../reference-manual/list-web-context-param.html#GSRFM00208[`list-web-context-param`]::
-  Lists servlet context-initialization parameters of a deployed web
-  application or module. Supported in remote mode only. For usage
-  instructions, see link:deploying-applications.html#giybo[To List Web
-  Context Parameters].
-link:../reference-manual/list-web-env-entry.html#GSRFM00209[`list-web-env-entry`]::
-  Lists environment entries for a deployed web application or module.
-  Supported in remote mode only. For usage instructions, see
-  link:deploying-applications.html#giyip[To List Web Environment
-  Entries].
-link:../reference-manual/redeploy.html#GSRFM00217[`redeploy`]::
-  Overwrites an application or module that is already deployed.
-  Supported in remote mode only. For usage instructions, see
-  link:deploying-applications.html#gijmb[To Redeploy an Application or
-  Module].
-link:../reference-manual/remove-library.html#GSRFM00820[`remove-library`]::
-  Removes one or more library JAR files from GlassFish Server. You can
-  specify whether the libraries are removed from the Common class loader
-  directory, the Java optional package directory, or the
-  application-specific class loader directory.
-link:../reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`]::
-  Sets a servlet context-initialization parameter of a deployed web
-  application or module. Supported in remote mode only. For usage
-  instructions, see link:deploying-applications.html#giyce[To Set a Web
-  Context Parameter].
-link:../reference-manual/set-web-env-entry.html#GSRFM00231[`set-web-env-entry`]::
-  Sets an environment entry for a deployed web application or module.
-  Supported in remote mode only. For usage instructions, see
-  link:deploying-applications.html#giyhc[To Set a Web Environment Entry].
-link:../reference-manual/show-component-status.html#GSRFM00232[`show-component-status`]::
-  Shows the status of a deployed component. The possible statuses
-  include `enabled` or `disabled`. Supported in remote mode only. For
-  usage instructions, see link:deploying-applications.html#giulr[To List
-  Deployed Applications or Modules].
-link:../reference-manual/undeploy.html#GSRFM00244[`undeploy`]::
-  Uninstalls the specified deployed application or module. Supported in
-  remote mode only. For usage instructions, see
-  link:deploying-applications.html#gijkl[To Undeploy an Application or
-  Module].
-link:../reference-manual/unset-web-context-param.html#GSRFM00248[`unset-web-context-param`]::
-  Unsets a servlet context-initialization parameter of a deployed web
-  application or module. Supported in remote mode only. For usage
-  instructions, see link:deploying-applications.html#giycy[To Unset a Web
-  Context Parameter].
-link:../reference-manual/unset-web-env-entry.html#GSRFM00249[`unset-web-env-entry`]::
-  Unsets an environment entry for a deployed web application or module.
-  Supported in remote mode only. For usage instructions, see
-  link:deploying-applications.html#giyjr[To Unset a Web Environment
-  Entry].
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/dd-elements.adoc b/docs/application-deployment-guide/src/main/jbake/content/dd-elements.adoc
deleted file mode 100644
index 370230d..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/dd-elements.adoc
+++ /dev/null
@@ -1,12198 +0,0 @@
-type=page
-status=published
-title=Elements of the GlassFish Server Deployment Descriptors
-prev=dd-files.html
-~~~~~~
-Elements of the GlassFish Server Deployment Descriptors
-=======================================================
-
-[[GSDPG00007]][[beaqi]]
-
-
-[[c-elements-of-the-glassfish-server-deployment-descriptors]]
-C Elements of the GlassFish Server Deployment Descriptors
----------------------------------------------------------
-
-This appendix describes the elements of the GlassFish Server Open Source
-Editiondeployment descriptors.
-
-[[beaqs]][[GSDPG00085]][[activation-config]]
-
-`activation-config`
-~~~~~~~~~~~~~~~~~~~
-
-Specifies an activation configuration, which includes the runtime
-configuration properties of the message-driven bean in its operational
-environment. For example, this can include information about the name of
-a physical JMS destination. Matches and overrides the
-`activation-config` element in the `ejb-jar.xml` file.
-
-[[fvyoe]][[GSDPG00335]][[superelements]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaus[`mdb-resource-adapter`] (`glassfish-ejb-jar.xml`)
-
-[[fvynj]][[GSDPG00336]][[subelements]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `activation-config`
-element.
-
-[[GSDPG838]][[sthref9]][[fvynw]]
-
-
-Table C-1 `activation-config` subelements
-
-[width="100%",cols="32%,12%,56%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Specifies a text description of the activation
-configuration.
-
-a|
-link:#beaqt[`activation-config-property`]
-
-
- |one or more |Specifies an activation configuration property.
-|=======================================================================
-
-
-[[beaqt]][[GSDPG00086]][[activation-config-property]]
-
-`activation-config-property`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name and value of an activation configuration property.
-
-[[fvyne]][[GSDPG00337]][[superelements-1]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaqs[`activation-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvyns]][[GSDPG00338]][[subelements-1]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`activation-config-property` element.
-
-[[GSDPG839]][[sthref10]][[fvynv]]
-
-
-Table C-2 `activation-config-property` subelements
-
-[width="100%",cols="39%,10%,51%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaqu[`activation-config-property-name`]
-
-
- |only one |Specifies the name of an activation configuration property.
-a|
-link:#beaqv[`activation-config-property-value`]
-
-
- |only one |Specifies the value of an activation configuration property.
-|=======================================================================
-
-
-[[beaqu]][[GSDPG00087]][[activation-config-property-name]]
-
-`activation-config-property-name`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name of an activation configuration property.
-
-[[fvynm]][[GSDPG00339]][[superelements-2]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaqt[`activation-config-property`] (`glassfish-ejb-jar.xml`)
-
-[[fvyok]][[GSDPG00340]][[subelements-2]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaqv]][[GSDPG00088]][[activation-config-property-value]]
-
-`activation-config-property-value`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the value of an activation configuration property.
-
-[[fvyou]][[GSDPG00341]][[superelements-3]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaqt[`activation-config-property`] (`glassfish-ejb-jar.xml`)
-
-[[fvyoz]][[GSDPG00342]][[subelements-3]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[giyhw]][[GSDPG00089]][[admin-object-resource]]
-
-`admin-object-resource`
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Defines an administered object for an inbound resource adapter.
-
-[[GSDPG840]][[sthref11]]
-
-
-[[superelements-4]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG841]][[sthref12]]
-
-
-[[subelements-4]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`admin-object-resource` element.
-
-[[GSDPG842]][[sthref13]][[sthref14]]
-
-
-Table C-3 `admin-object-resource` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==========================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==========================================================
-
-
-[[GSDPG843]][[sthref15]]
-
-
-[[attributes]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `admin-object-resource`
-element.
-
-[[GSDPG844]][[sthref16]][[sthref17]]
-
-
-Table C-4 `admin-object-resource` Attributes
-
-[width="172%",cols="9%,46%,45%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`jndi-name` |none |Specifies the JNDI name for the resource.
-
-|`res-type` |none |Specifies the fully qualified type of the resource.
-
-|`res-adapter` |none |Specifies the name of the inbound resource
-adapter.
-
-|`object-type` |`user` a|
-(optional) Defines the type of the resource. Allowed values are:
-
-* `system-all` - A system resource for all server instances and the
-domain application server.
-* `system-admin` - A system resource only for the domain application
-server.
-* `system-instance` - A system resource for all server instances only.
-* `user` - A user resource.
-
-|`enabled` |`true` |(optional) Determines whether this resource is
-enabled at runtime.
-|=======================================================================
-
-
-[[GSDPG845]][[sthref18]]
-
-
-[[properties]]
-Properties
-^^^^^^^^^^
-
-Properties of the `admin-object-resource` element are the names of
-setter methods of the class referenced by the `adminobject-class` of the
-`ra.xml` file. Some of the property names can be specified in the
-`adminobjectType` element.
-
-[[beaqw]][[GSDPG00090]][[as-context]]
-
-`as-context`
-~~~~~~~~~~~~
-
-Specifies the authentication mechanism used to authenticate the client.
-
-[[fvyos]][[GSDPG00343]][[superelements-5]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beato[`ior-security-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvyom]][[GSDPG00344]][[subelements-5]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `as-context` element.
-
-[[GSDPG846]][[sthref19]][[fvyov]]
-
-
-Table C-5 `as-context` Subelements
-
-[width="100%",cols="14%,10%,76%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaqx[`auth-method`]
-
-
- |only one |Specifies the authentication method. The only supported
-value is `USERNAME_PASSWORD`.
-
-a|
-link:#beawi[`realm`]
-
-
- |only one |Specifies the realm in which the user is authenticated.
-
-a|
-link:#beawq[`required`]
-
-
- |only one |Specifies whether the authentication method specified in the
-`auth-method` element must be used for client authentication.
-|=======================================================================
-
-
-[[gjizj]][[GSDPG00091]][[archive-name]]
-
-`archive-name`
-~~~~~~~~~~~~~~
-
-Specifies the name of the archive file. The value of the `archive-name`
-element is used to derive the default application name when
-`display-name` is not present in the `application.xml` file. The default
-application name is the `archive-name` value minus the file extension.
-For example, if `archive-name` is `foo.ear`, the default application
-name is `foo`.
-
-[[gjizb]][[GSDPG00345]][[superelements-6]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`)
-
-[[gjizg]][[GSDPG00346]][[subelements-6]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaqx]][[GSDPG00092]][[auth-method]]
-
-`auth-method`
-~~~~~~~~~~~~~
-
-Specifies the authentication method.
-
-If the parent element is link:#beaqw[`as-context`], the only supported
-value is `USERNAME_PASSWORD`.
-
-If the parent element is link:#beauk[`login-config`], specifies the
-authentication mechanism for the web service endpoint. As a prerequisite
-to gaining access to any web resources protected by an authorization
-constraint, a user must be authenticated using the configured mechanism.
-
-[[fvyow]][[GSDPG00347]][[superelements-7]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beauk[`login-config`] (`glassfish-web.xml`),
-link:#beaqw[`as-context`] (`glassfish-ejb-jar.xml`)
-
-[[fvyop]][[GSDPG00348]][[subelements-7]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaqy]][[GSDPG00093]][[auth-realm]]
-
-`auth-realm`
-~~~~~~~~~~~~
-
-JAAS is available on the ACC. Defines the optional configuration for a
-JAAS authentication realm. Authentication realms require
-provider-specific properties, which vary depending on what a particular
-implementation needs. For more information about how to define realms,
-see "link:../application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[fvyot]][[GSDPG00349]][[superelements-8]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearr[`client-container`] (`sun-acc.xml`)
-
-[[fvyor]][[GSDPG00350]][[subelements-8]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `auth-realm` element.
-
-[[GSDPG847]][[sthref20]][[fvyol]]
-
-
-Table C-6 `auth-realm` subelement
-
-[width="100%",cols="36%,14%,50%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvyoy]][[GSDPG00351]][[attributes-1]]
-
-`Attributes`
-^^^^^^^^^^^^
-
-The following table describes attributes for the `auth-realm` element.
-
-[[GSDPG848]][[sthref21]][[fvypa]]
-
-
-Table C-7 `auth-realm` attributes
-
-[width="100%",cols="18%,13%,69%",options="header",]
-|======================================================================
-|Attribute |Default |Description
-|`name` |none |Defines the name of this realm.
-|`classname` |none |Defines the Java class which implements this realm.
-|======================================================================
-
-
-[[fvyox]][[GSDPG00352]][[example]]
-
-Example
-^^^^^^^
-
-Here is an example of the default file realm:
-
-[source,oac_no_warn]
-----
-<auth-realm name="file"
-   classname="com.sun.enterprise.security.auth.realm.file.FileRealm">
-   <property name="file" value="domain-dir/config/keyfile"/>
-   <property name="jaas-context" value="fileRealm"/>
-</auth-realm>
-----
-
-Which properties an `auth-realm` element uses depends on the value of
-the `auth-realm` element's `name` attribute. The file realm uses `file`
-and `jaas-context` properties. Other realms use different properties.
-See "link:../application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[giyjv]][[GSDPG00094]][[backend-principal]]
-
-`backend-principal`
-~~~~~~~~~~~~~~~~~~~
-
-Specifies the user name and password required by the Enterprise
-Information System (EIS).
-
-[[GSDPG849]][[sthref22]]
-
-
-[[superelements-9]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyhy[`security-map`] (`glassfish-resources.xml`)
-
-[[GSDPG850]][[sthref23]]
-
-
-[[subelements-9]]
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[GSDPG851]][[sthref24]]
-
-
-[[attributes-2]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `backend-principal`
-element.
-
-[[GSDPG852]][[sthref25]][[sthref26]]
-
-
-Table C-8 `backend-principal` Attributes
-
-[width="100%",cols="26%,17%,57%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`user-name` |none |Specifies the user name required by the EIS.
-
-|`password` |none |(optional) Specifies the password required by the
-EIS, if any.
-|=======================================================================
-
-
-[[beara]][[GSDPG00095]][[bean-cache]]
-
-`bean-cache`
-~~~~~~~~~~~~
-
-Specifies the entity bean cache properties. Used for entity beans and
-stateful session beans.
-
-[[fvyoq]][[GSDPG00353]][[superelements-10]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyon]][[GSDPG00354]][[subelements-10]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `bean-cache` element.
-
-[[GSDPG853]][[sthref27]][[fvypb]]
-
-
-Table C-9 `bean-cache` Subelements
-
-[width="100%",cols="35%,11%,54%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beauo[`max-cache-size`]
-
-
- |zero or one |Specifies the maximum number of beans allowable in cache.
-
-a|
-link:#beatp[`is-cache-overflow-allowed`]
-
-
- |zero or one |Deprecated.
-
-a|
-link:#bearg[`cache-idle-timeout-in-seconds`]
-
-
- |zero or one |Specifies the maximum time that a stateful session bean
-or entity bean is allowed to be idle in cache before being passivated.
-Default value is 10 minutes (600 seconds).
-
-a|
-link:#beawl[`removal-timeout-in-seconds`]
-
-
- |zero or one |Specifies the amount of time a bean remains before being
-removed. If `removal-timeout-in-seconds` is less than `idle-timeout`,
-the bean is removed without being passivated.
-
-a|
-link:#beaws[`resize-quantity`]
-
-
- |zero or one |Specifies the number of beans to be created if the pool
-is empty (subject to the `max-pool-size` limit). Values are from 0 to
-MAX_INTEGER.
-
-a|
-link:#beayp[`victim-selection-policy`]
-
-
- |zero or one |Specifies the algorithm that must be used by the
-container to pick victims. Applies only to stateful session beans.
-|=======================================================================
-
-
-[[fvyoo]][[GSDPG00355]][[example-1]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<bean-cache>
-   <max-cache-size>100</max-cache-size>
-   <cache-resize-quantity>10</cache-resize-quantity>
-   <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
-   <victim-selection-policy>LRU</victim-selection-policy>
-      <cache-idle-timeout-in-seconds>600</cache-idle-timeout-in-seconds>
-   <removal-timeout-in-seconds>5400</removal-timeout-in-seconds>
-</bean-cache>
-----
-
-[[bearb]][[GSDPG00096]][[bean-pool]]
-
-`bean-pool`
-~~~~~~~~~~~
-
-Specifies the pool properties of stateless session beans, entity beans,
-and message-driven bean.
-
-[[fvypc]][[GSDPG00356]][[superelements-11]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvypd]][[GSDPG00357]][[subelements-11]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `bean-pool` element.
-
-[[GSDPG854]][[sthref28]][[fvypg]]
-
-
-Table C-10 `bean-pool` Subelements
-
-[width="100%",cols="34%,11%,55%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaxt[`steady-pool-size`]
-
-
- |zero or one |Specifies the initial and minimum number of beans
-maintained in the pool. Default is 32.
-
-a|
-link:#beaws[`resize-quantity`]
-
-
- |zero or one |Specifies the number of beans to be created if the pool
-is empty (subject to the `max-pool-size` limit). Values are from 0 to
-MAX_INTEGER.
-
-a|
-link:#beaup[`max-pool-size`]
-
-
- |zero or one |Specifies the maximum number of beans in the pool. Values
-are from 0 to MAX_INTEGER. Default is to the EJB container value or 60.
-
-a|
-link:#beauq[`max-wait-time-in-millis`]
-
-
- |zero or one |Deprecated.
-
-a|
-link:#beavr[`pool-idle-timeout-in-seconds`]
-
-
- |zero or one |Specifies the maximum time that a bean is allowed to be
-idle in the pool. After this time, the bean is removed. This is a hint
-to the server. Default time is 600 seconds (10 minutes).
-|=======================================================================
-
-
-[[fvypf]][[GSDPG00358]][[example-2]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<bean-pool>
-   <steady-pool-size>10</steady-pool-size>
-   <resize-quantity>10</resize-quantity>
-   <max-pool-size>100</max-pool-size>
-   <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
-</bean-pool>
-----
-
-[[beard]][[GSDPG00097]][[cache]]
-
-`cache`
-~~~~~~~
-
-Configures caching for web application components.
-
-[[fvype]][[GSDPG00359]][[superelements-12]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[fvypl]][[GSDPG00360]][[subelements-12]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cache` element.
-
-[[GSDPG855]][[sthref29]][[fvyrd]]
-
-
-Table C-11 `cache` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beare[`cache-helper`]
-
-
- |zero or more |Specifies a custom class that implements the CacheHelper
-interface.
-
-a|
-link:#beasm[`default-helper`]
-
-
- |zero or one |Allows you to change the properties of the default,
-built-in link:#beare[`cache-helper`] class.
-
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a cache property, which has a name and a
-value.
-
-a|
-link:#bearh[`cache-mapping`]
-
-
- |zero or more |Maps a URL pattern or a servlet name to its cacheability
-constraints.
-|=======================================================================
-
-
-[[fvypj]][[GSDPG00361]][[attributes-3]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `cache` element.
-
-[[GSDPG856]][[sthref30]][[fvyrt]]
-
-
-Table C-12 `cache` Attributes
-
-[width="172%",cols="14%,46%,40%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`max-entries` |`4096` |(optional) Specifies the maximum number of
-entries the cache can contain. Must be a positive integer.
-
-|`timeout-in-seconds` |`30` |(optional) Specifies the maximum amount of
-time in seconds that an entry can remain in the cache after it is
-created or refreshed. Can be overridden by a link:#beayg[`timeout`]
-element.
-
-|`enabled` |`true` |(optional) Determines whether servlet and JSP
-caching is enabled.
-|=======================================================================
-
-
-[[fvypx]][[GSDPG00362]][[properties-1]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `cache` element.
-
-[[GSDPG857]][[sthref31]][[fvyqr]]
-
-
-Table C-13 `cache` Properties
-
-[width="100%",cols="24%,23%,53%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`cacheClassName` |`com.sun.appserv.web.cache.LruCache` |Specifies the
-fully qualified name of the class that implements the cache
-functionality. See link:#fvyrn[Cache Class Names] for possible values.
-
-|`MultiLRUSegmentSize` |`4096` |Specifies the number of entries in a
-segment of the cache table that should have its own LRU (least recently
-used) list. Applicable only if `cacheClassName` is set to
-`com.sun.appserv.web.cache.MultiLruCache`.
-
-|`MaxSize` |unlimited; `Long.MAX_VALUE` |Specifies an upper bound on the
-cache memory size in bytes (KB or MB units). Example values are `32 KB`
-or `2 MB`. Applicable only if `cacheClassName` is set to
-`com.sun.appserv.web.cache.BoundedMultiLruCache`.
-|=======================================================================
-
-
-[[fvyrn]][[GSDPG00363]][[cache-class-names]]
-
-Cache Class Names
-^^^^^^^^^^^^^^^^^
-
-The following table lists possible values of the `cacheClassName`
-property.
-
-[[GSDPG858]][[sthref32]][[fvyph]]
-
-
-Table C-14 `cacheClassName` Values
-
-[width="100%",cols="31%,69%",options="header",]
-|=======================================================================
-|Value |Description
-|`com.sun.appserv.web.cache.LruCache` |A bounded cache with an LRU
-(least recently used) cache replacement policy.
-
-|`com.sun.appserv.web.cache.BaseCache` |An unbounded cache suitable if
-the maximum number of entries is known.
-
-|`com.sun.appserv.web.cache.MultiLruCache` |A cache suitable for a large
-number of entries (>4096). Uses the `MultiLRUSegmentSize` property.
-
-|`com.sun.appserv.web.cache.BoundedMultiLruCache` |A cache suitable for
-limiting the cache size by memory rather than number of entries. Uses
-the `MaxSize` property.
-|=======================================================================
-
-
-[[beare]][[GSDPG00098]][[cache-helper]]
-
-`cache-helper`
-~~~~~~~~~~~~~~
-
-Specifies a class that implements the
-com.sun.appserv.web.cache.CacheHelper interface.
-
-[[fvyqy]][[GSDPG00364]][[superelements-13]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beard[`cache`] (`glassfish-web.xml`)
-
-[[fvyru]][[GSDPG00365]][[subelements-13]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cache-helper`
-element.
-
-[[GSDPG859]][[sthref33]][[fvyql]]
-
-
-Table C-15 `cache-helper` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvyqu]][[GSDPG00366]][[attributes-4]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `cache-helper` element.
-
-[[GSDPG860]][[sthref34]][[fvyrp]]
-
-
-Table C-16 `cache-helper` Attributes
-
-[width="181%",cols="8%,49%,43%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |`default` |Specifies a unique name for the helper class, which
-is referenced in the link:#bearh[`cache-mapping`] element.
-
-|`class-name` |none |Specifies the fully qualified class name of the
-cache helper, which must implement the com.sun.appserv.web.CacheHelper
-interface.
-|=======================================================================
-
-
-[[bearf]][[GSDPG00099]][[cache-helper-ref]]
-
-`cache-helper-ref`
-~~~~~~~~~~~~~~~~~~
-
-Specifies the `name` of the link:#beare[`cache-helper`] used by the
-parent link:#bearh[`cache-mapping`] element.
-
-[[fvypq]][[GSDPG00367]][[superelements-14]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvyqs]][[GSDPG00368]][[subelements-14]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[bearg]][[GSDPG00100]][[cache-idle-timeout-in-seconds]]
-
-`cache-idle-timeout-in-seconds`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the maximum time that a bean can remain idle in the cache.
-After this amount of time, the container can passivate this bean. A
-value of `0` specifies that beans never become candidates for
-passivation. Default is 600.
-
-Applies to stateful session beans and entity beans.
-
-[[fvyqc]][[GSDPG00369]][[superelements-15]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
-
-[[fvyqo]][[GSDPG00370]][[subelements-15]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[bearh]][[GSDPG00101]][[cache-mapping]]
-
-`cache-mapping`
-~~~~~~~~~~~~~~~
-
-Maps a URL pattern or a servlet name to its cacheability constraints.
-
-[[fvyqi]][[GSDPG00371]][[superelements-16]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beard[`cache`] (`glassfish-web.xml`)
-
-[[fvyqn]][[GSDPG00372]][[subelements-16]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cache-mapping`
-element.
-
-[[GSDPG861]][[sthref35]][[fvypt]]
-
-
-Table C-17 `cache-mapping` Subelements
-
-[width="100%",cols="20%,30%,50%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaxo[`servlet-name`]
-
-
- |requires one `servlet-name` or `url-pattern` |Contains the name of a
-servlet.
-
-a|
-link:#beayl[`url-pattern`]
-
-
- |requires one `servlet-name` or `url-pattern` |Contains a servlet URL
-pattern for which caching is enabled.
-
-a|
-link:#bearf[`cache-helper-ref`]
-
-
- |required if `dispatcher`, `timeout`, `refresh-field`, `http-method`,
-`key-field`, and `constraint-field` are not used |Contains the `name` of
-the link:#beare[`cache-helper`] used by the parent `cache-mapping`
-element.
-
-a|
-link:#beasp[`dispatcher`]
-
-
- |zero or one if `cache-helper-ref` is not used |Contains a
-comma-separated list of `RequestDispatcher` methods for which caching is
-enabled.
-
-a|
-link:#beayg[`timeout`]
-
-
- |zero or one if `cache-helper-ref` is not used |Contains the
-link:#bearh[`cache-mapping`] specific maximum amount of time in seconds
-that an entry can remain in the cache after it is created or refreshed.
-
-a|
-link:#beawj[`refresh-field`]
-
-
- |zero or one if `cache-helper-ref` is not used |Specifies a field that
-gives the application component a programmatic way to refresh a cached
-entry.
-
-a|
-link:#beatk[`http-method`]
-
-
- |zero or more if `cache-helper-ref` is not used |Contains an HTTP
-method that is eligible for caching.
-
-a|
-link:#beatz[`key-field`]
-
-
- |zero or more if `cache-helper-ref` is not used |Specifies a component
-of the key used to look up and extract cache entries.
-
-a|
-link:#bease[`constraint-field`]
-
-
- |zero or more if `cache-helper-ref` is not used |Specifies a
-cacheability constraint for the given `url-pattern` or `servlet-name`.
-|=======================================================================
-
-
-[[beari]][[GSDPG00102]][[call-property]]
-
-`call-property`
-~~~~~~~~~~~~~~~
-
-Specifies JAX-RPC property values that can be set on a
-`javax.xml.rpc.Call` object before it is returned to the web service
-client. The property names can be any properties supported by the
-JAX-RPC `Call` implementation.
-
-[[fvyri]][[GSDPG00373]][[superelements-17]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavt[`port-info`], link:#beaxk[`service-ref`]
-(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvyqp]][[GSDPG00374]][[subelements-17]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `call-property`
-element.
-
-[[GSDPG862]][[sthref36]][[fvyrw]]
-
-
-Table C-18 `call-property` subelements
-
-[width="100%",cols="24%,12%,64%",options="header",]
-|=============================================
-|Element |Required |Description
-a|
-link:#beavf[`name`]
-
-
- |only one |Specifies the name of the entity.
-a|
-link:#beayo[`value`]
-
-
- |only one |Specifies the value of the entity.
-|=============================================
-
-
-[[bearj]][[GSDPG00103]][[caller-propagation]]
-
-`caller-propagation`
-~~~~~~~~~~~~~~~~~~~~
-
-Specifies whether the target accepts propagated caller identities. The
-values are `NONE`, `SUPPORTED`, or `REQUIRED`.
-
-[[fvyqj]][[GSDPG00375]][[superelements-18]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxb[`sas-context`] (`glassfish-ejb-jar.xml`)
-
-[[fvyrb]][[GSDPG00376]][[subelements-18]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beark]][[GSDPG00104]][[cert-db]]
-
-`cert-db`
-~~~~~~~~~
-
-Not implemented. Included for backward compatibility only. Attribute
-values are ignored.
-
-[[fvyqa]][[GSDPG00377]][[superelements-19]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxf[`security`] (`sun-acc.xml`)
-
-[[fvyre]][[GSDPG00378]][[subelements-19]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvyrr]][[GSDPG00379]][[attributes-5]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `cert-db` element.
-
-[[GSDPG863]][[sthref37]][[fvypo]]
-
-
-Table C-19 `cert-db` attributes
-
-[width="100%",cols="14%,11%,75%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`path` |none |Specifies the absolute path of the certificate database.
-
-|`password` |none |Specifies the password to access the certificate
-database.
-|=======================================================================
-
-
-[[bearl]][[GSDPG00105]][[check-all-at-commit]]
-
-`check-all-at-commit`
-~~~~~~~~~~~~~~~~~~~~~
-
-This element is not implemented. Do not use.
-
-[[fvyrj]][[GSDPG00380]][[superelements-20]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
-
-[[bearm]][[GSDPG00106]][[check-modified-at-commit]]
-
-`check-modified-at-commit`
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Checks concurrent modification of fields in modified beans at commit
-time.
-
-[[fvyqf]][[GSDPG00381]][[superelements-21]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
-
-[[fvyqz]][[GSDPG00382]][[subelements-20]]
-
-Subelements
-^^^^^^^^^^^
-
-none - element is present or absent
-
-[[bearn]][[GSDPG00107]][[check-version-of-accessed-instances]]
-
-`check-version-of-accessed-instances`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Checks the version column of the modified beans.
-
-Version consistency allows the bean state to be cached between
-transactions instead of read from a database. The bean state is verified
-by primary key and version column values. This occurs during a custom
-query (for dirty instances only) or commit (for both clean and dirty
-instances).
-
-The version column must be a numeric type, and must be in the primary
-table. You must provide appropriate update triggers for this column.
-
-[[fvyqt]][[GSDPG00383]][[superelements-22]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
-
-[[fvypp]][[GSDPG00384]][[subelements-21]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`check-version-of-accessed-instances` element.
-
-[[GSDPG864]][[sthref38]][[fvyrq]]
-
-
-Table C-20 `check-version-of-accessed-instances` Subelements
-
-[width="100%",cols="33%,11%,56%",options="header",]
-|====================================================
-|Element |Required |Description
-a|
-link:#bearz[`column-name`]
-
-
- |only one |Specifies the name of the version column.
-|====================================================
-
-
-[[bearo]][[GSDPG00108]][[checkpoint-at-end-of-method]]
-
-`checkpoint-at-end-of-method`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies that the stateful session bean state is checkpointed, or
-persisted, after the specified methods are executed. The
-`availability-enabled` attribute of the parent link:#beass[`ejb`]
-element must be set to `true`.
-
-[[fvypr]][[GSDPG00385]][[superelements-23]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyqe]][[GSDPG00386]][[subelements-22]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`checkpoint-at-end-of-method` element.
-
-[[GSDPG865]][[sthref39]][[fvyqx]]
-
-
-Table C-21 `checkpoint-at-end-of-method` Subelements
-
-[width="100%",cols="25%,13%,62%",options="header",]
-|======================================
-|Element |Required |Description
-a|
-link:#beauz[`method`]
-
-
- |one or more |Specifies a bean method.
-|======================================
-
-
-[[bearp]][[GSDPG00109]][[checkpointed-methods]]
-
-`checkpointed-methods`
-~~~~~~~~~~~~~~~~~~~~~~
-
-Deprecated. Supported for backward compatibility. Use
-link:#bearo[`checkpoint-at-end-of-method`] instead.
-
-[[fvyrk]][[GSDPG00387]][[superelements-24]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[bearq]][[GSDPG00110]][[class-loader]]
-
-`class-loader`
-~~~~~~~~~~~~~~
-
-Configures the class loader for the web module.
-
-[[fvyrv]][[GSDPG00388]][[superelements-25]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[fvyrh]][[GSDPG00389]][[subelements-23]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `class-loader`
-element.
-
-[[GSDPG866]][[sthref40]][[fvyqg]]
-
-
-Table C-22 `class-loader` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvyrl]][[GSDPG00390]][[attributes-6]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `class-loader` element.
-
-[[GSDPG867]][[sthref41]][[fvyrs]]
-
-
-Table C-23 `class-loader` Attributes
-
-[width="172%",cols="17%,46%,37%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`extra-class-path` |null a|
-(optional) Specifies a colon or semicolon separated list of additional
-classpaths for this web module. Paths can be absolute or relative to the
-web module's root, for example:
-
-[source,oac_no_warn]
-----
-extra-class-path="WEB-INF/lib/extra/extra.jar"
-----
-
-|`delegate` |`true` a|
-(optional) If `true`, the web module follows the standard class loader
-delegation model and delegates to its parent class loader first before
-looking in the local class loader. You must set this to `true` for a web
-module that accesses EJB components or that acts as a web service client
-or endpoint.
-
-If `false`, the web module follows the delegation model specified in the
-Servlet specification and looks in its class loader before looking in
-the parent class loader. It's safe to set this to `false` only for a web
-module that does not interact with any other modules.
-
-For a number of packages, including `java.*` and `javax.*`, symbol
-resolution is always delegated to the parent class loader regardless of
-the delegate setting. This prevents applications from overriding core
-Java runtime classes or changing the API versions of specifications that
-are part of the Java EE platform.
-
-|`dynamic-reload-``interval` | + |(optional) Not implemented. Included
-for backward compatibility with previous Oracle Web Server versions.
-|=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-If the `delegate` attribute is set to `false`, the class loader
-delegation behavior complies with the Servlet 2.4 specification, section
-9.7.2. If set to its default value of `true`, classes and resources
-residing in container-wide library JAR files are loaded in preference to
-classes and resources packaged within the WAR file.
-
-Portable programs that use this element should not be packaged with any
-classes or interfaces that are a part of the Java EE specification. The
-behavior of a program that includes such classes or interfaces in its
-WAR file is undefined.
-
-=======================================================================
-
-
-[[gcfko]][[GSDPG00391]][[properties-2]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `class-loader` element.
-
-[[GSDPG868]][[sthref42]][[gcfjs]]
-
-
-Table C-24 `class-loader` Properties
-
-[width="181%",cols="15%,49%,36%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`ignoreHiddenJarFiles` |`false` |If `true`, specifies that all JAR and
-ZIP files in the `WEB-INF/lib` directory that start with a period (`.`)
-are ignored by the class loader.
-|=======================================================================
-
-
-[[bearr]][[GSDPG00111]][[client-container]]
-
-`client-container`
-~~~~~~~~~~~~~~~~~~
-
-Defines the GlassFish Server specific configuration for the application
-client container. This is the root element; there can only be one
-`client-container` element in a `sun-acc.xml` file. See
-link:dd-files.html#beaqp[The sun-acc.xml File].
-
-[[fvypv]][[GSDPG00392]][[superelements-26]]
-
-Superelements
-^^^^^^^^^^^^^
-
-none
-
-[[fvypk]][[GSDPG00393]][[subelements-24]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `client-container`
-element.
-
-[[GSDPG869]][[sthref43]][[fvypm]]
-
-
-Table C-25 `client-container` Subelements
-
-[width="100%",cols="28%,12%,60%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaye[`target-server`]
-
-
- |one or more a|
-Specifies the IIOP listener for the target server. Also specifies IIOP
-endpoints used for load balancing. If the GlassFish Server instance on
-which the application client is deployed participates in a cluster,
-GlassFish Server finds all currently active IIOP endpoints in the
-cluster automatically. However, a client should have at least two
-endpoints specified for bootstrapping purposes, in case one of the
-endpoints has failed.
-
-A listener or endpoint is in the form host`:`port, where the host is an
-IP address or host name, and the port specifies the port number.
-
-a|
-link:#beaqy[`auth-realm`]
-
-
- |zero or one |Specifies the optional configuration for JAAS
-authentication realm.
-
-a|
-link:#bears[`client-credential`]
-
-
- |zero or one |Specifies the default client credential that is sent to
-the server.
-
-a|
-link:#beauj[`log-service`]
-
-
- |zero or one |Specifies the default log file and the severity level of
-the message.
-
-a|
-link:#beauy[`message-security-config`]
-
-
- |zero or more |Specifies configurations for message security providers.
-
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|=======================================================================
-
-
-[[fvyqq]][[GSDPG00394]][[attributes-7]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `client-container`
-element.
-
-[[GSDPG870]][[sthref44]][[fvyqb]]
-
-
-Table C-26 `client-container` Attributes
-
-[width="172%",cols="11%,46%,43%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`send-password` |`true` |If `true`, specifies that client
-authentication credentials must be sent to the server. Without
-authentication credentials, all access to protected EJB components
-results in exceptions.
-|=======================================================================
-
-
-[[fvyrm]][[GSDPG00395]][[properties-3]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `client-container`
-element.
-
-[[GSDPG871]][[sthref45]][[fvyqm]]
-
-
-Table C-27 `client-container` Properties
-
-[width="172%",cols="22%,46%,32%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`com.sun.appserv.iiop.endpoints` |none |Specifies a comma-separated
-list of one or more IIOP endpoints used for load balancing. An IIOP
-endpoint is in the form host`:`port, where the host is an IP address or
-host name, and the port specifies the port number. Deprecated. Use
-link:#beaye[`target-server`] elements instead.
-|=======================================================================
-
-
-[[bears]][[GSDPG00112]][[client-credential]]
-
-`client-credential`
-~~~~~~~~~~~~~~~~~~~
-
-Default client credentials that are sent to the server. If this element
-is present, the credentials are automatically sent to the server,
-without prompting the user for the user name and password on the client
-side.
-
-[[fvyqk]][[GSDPG00396]][[superelements-27]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearr[`client-container`] (`sun-acc.xml`)
-
-[[fvyqd]][[GSDPG00397]][[subelements-25]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `client-credential`
-element.
-
-[[GSDPG872]][[sthref46]][[fvyro]]
-
-
-Table C-28 `client-credential` subelement
-
-[width="100%",cols="37%,14%,49%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvyqv]][[GSDPG00398]][[attributes-8]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `client-credential`
-element.
-
-[[GSDPG873]][[sthref47]][[fvypi]]
-
-
-Table C-29 `client-credential` attributes
-
-[width="100%",cols="12%,14%,74%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`user-name` |none |The user name used to authenticate the Application
-client container.
-
-|`password` |none |The password used to authenticate the Application
-client container.
-
-|`realm` |default realm for the domain |(optional) The realm (specified
-by name) where credentials are to be resolved.
-|=======================================================================
-
-
-[[beart]][[GSDPG00113]][[cmp]]
-
-`cmp`
-~~~~~
-
-Describes runtime information for a CMP entity bean object for EJB 1.1
-and EJB 2.1 beans.
-
-[[fvyrg]][[GSDPG00399]][[superelements-28]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyqw]][[GSDPG00400]][[subelements-26]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cmp` element.
-
-[[GSDPG874]][[sthref48]][[fvypw]]
-
-
-Table C-30 `cmp` Subelements
-
-[width="100%",cols="22%,11%,67%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaun[`mapping-properties`]
-
-
- |zero or one |This element is not implemented.
-
-a|
-link:#beatq[`is-one-one-cmp`]
-
-
- |zero or one |This element is not implemented.
-
-a|
-link:#beavk[`one-one-finders`]
-
-
- |zero or one |Describes the finders for CMP 1.1 beans.
-
-a|
-link:#beavu[`prefetch-disabled`]
-
-
- |zero or one |Disables prefetching of entity bean states for the
-specified query methods.
-|=======================================================================
-
-
-[[bearu]][[GSDPG00114]][[cmp-field-mapping]]
-
-`cmp-field-mapping`
-~~~~~~~~~~~~~~~~~~~
-
-The `cmp-field-mapping` element associates a field with one or more
-columns to which it maps. The column can be from a bean's primary table
-or any defined secondary table. If a field is mapped to multiple
-columns, the column listed first in this element is used as a source for
-getting the value from the database. The columns are updated in the
-order they appear. There is one `cmp-field-mapping` element for each
-`cmp-field` element defined in the `ejb-jar.xml` file.
-
-[[fvypy]][[GSDPG00401]][[superelements-29]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvyra]][[GSDPG00402]][[subelements-27]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cmp-field-mapping`
-element.
-
-[[GSDPG875]][[sthref49]][[fvyqh]]
-
-
-Table C-31 `cmp-field-mapping` Subelements
-
-[width="100%",cols="15%,12%,73%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beatd[`field-name`]
-
-
- |only one |Specifies the Java identifier of a field. This identifier
-must match the value of the `field-name` subelement of the `cmp-field`
-that is being mapped.
-
-a|
-link:#bearz[`column-name`]
-
-
- |one or more |Specifies the name of a column from the primary table, or
-the qualified table name (TABLE.COLUMN) of a column from a secondary or
-related table.
-
-a|
-link:#beawh[`read-only`]
-
-
- |zero or one |Specifies that a field is read-only.
-
-a|
-link:#beatc[`fetched-with`]
-
-
- |zero or one |Specifies the fetch group for this CMP field's mapping.
-|=======================================================================
-
-
-[[bearv]][[GSDPG00115]][[cmp-resource]]
-
-`cmp-resource`
-~~~~~~~~~~~~~~
-
-Specifies the database to be used for storing CMP beans. For more
-information about this element, see "link:../application-development-guide/container_managed-persistence.html#GSDVG00154[Configuring the
-CMP Resource]" in GlassFish Server Open Source Edition Application
-Development Guide.
-
-[[fvypz]][[GSDPG00403]][[superelements-30]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
-
-[[fvyrf]][[GSDPG00404]][[subelements-28]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cmp-resource`
-element.
-
-[[GSDPG876]][[sthref50]][[fvyps]]
-
-
-Table C-32 `cmp-resource` Subelements
-
-[width="100%",cols="33%,12%,55%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beatw[`jndi-name`]
-
-
- |only one |Specifies the absolute `jndi-name` of a JDBC resource.
-
-a|
-link:#beasn[`default-resource-principal`]
-
-
- |zero or one |Specifies the default runtime bindings of a resource
-reference.
-
-a|
-link:#beavy[`property` (with subelements)]
-
-
- |zero or more |Specifies a property name and value. Used to configure
-`PersistenceManagerFactory` properties.
-
-a|
-link:#beasi[`create-tables-at-deploy`]
-
-
- |zero or one |If `true`, specifies that database tables are created for
-beans that are automatically mapped by the EJB container.
-
-a|
-link:#beasq[`drop-tables-at-undeploy`]
-
-
- |zero or one |If `true`, specifies that database tables that were
-automatically created when the bean(s) were last deployed are dropped
-when the bean(s) are undeployed.
-
-a|
-link:#beask[`database-vendor-name`]
-
-
- |zero or one |Specifies the name of the database vendor for which
-tables can be created.
-
-a|
-link:#beaxd[`schema-generator-properties`]
-
-
- |zero or one |Specifies field-specific type mappings and allows you to
-set the `use-unique-table-names` property.
-|=======================================================================
-
-
-[[bearw]][[GSDPG00116]][[cmr-field-mapping]]
-
-`cmr-field-mapping`
-~~~~~~~~~~~~~~~~~~~
-
-A container-managed relationship field has a name and one or more column
-pairs that define the relationship. There is one `cmr-field-mapping`
-element for each `cmr-field` element in the `ejb-jar.xml` file. A
-relationship can also participate in a fetch group.
-
-[[fvyrc]][[GSDPG00405]][[superelements-31]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvypu]][[GSDPG00406]][[subelements-29]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cmr-field-mapping`
-element.
-
-[[GSDPG877]][[sthref51]][[fvypn]]
-
-
-Table C-33 `cmr-field-mapping` Subelements
-
-[width="100%",cols="18%,12%,70%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#bearx[`cmr-field-name`]
-
-
- |only one |Specifies the Java identifier of a field. Must match the
-value of the `cmr-field-name` subelement of the `cmr-field` that is
-being mapped.
-
-a|
-link:#beasa[`column-pair`]
-
-
- |one or more |Specifies the pair of columns that determine the
-relationship between two database tables.
-
-a|
-link:#beatc[`fetched-with`]
-
-
- |zero or one |Specifies the fetch group for this CMR field's
-relationship.
-|=======================================================================
-
-
-[[bearx]][[GSDPG00117]][[cmr-field-name]]
-
-`cmr-field-name`
-~~~~~~~~~~~~~~~~
-
-Specifies the Java identifier of a field. Must match the value of the
-`cmr-field-name` subelement of the `cmr-field` element in the
-`ejb-jar.xml` file.
-
-[[fvyrx]][[GSDPG00407]][[superelements-32]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearw[`cmr-field-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvyry]][[GSDPG00408]][[subelements-30]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beary]][[GSDPG00118]][[cmt-timeout-in-seconds]]
-
-`cmt-timeout-in-seconds`
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Overrides the Transaction Timeout setting of the Transaction Service for
-an individual bean. The default value, `0`, specifies that the default
-Transaction Service timeout is used. If positive, this value is used for
-all methods in the bean that start a new container-managed transaction.
-This value is not used if the bean joins a client transaction.
-
-[[fvysf]][[GSDPG00409]][[superelements-33]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvysc]][[GSDPG00410]][[subelements-31]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[bearz]][[GSDPG00119]][[column-name]]
-
-`column-name`
-~~~~~~~~~~~~~
-
-Specifies the name of a column from the primary table, or the qualified
-table name (TABLE.COLUMN) of a column from a secondary or related table.
-
-[[fvyse]][[GSDPG00411]][[superelements-34]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearn[`check-version-of-accessed-instances`],
-link:#bearu[`cmp-field-mapping`], link:#beasa[`column-pair`]
-(`sun-cmp-mappings.xml`)
-
-[[fvysb]][[GSDPG00412]][[subelements-32]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beasa]][[GSDPG00120]][[column-pair]]
-
-`column-pair`
-~~~~~~~~~~~~~
-
-Specifies the pair of columns that determine the relationship between
-two database tables. Each `column-pair` must contain exactly two
-`column-name` subelements, which specify the column's names. The first
-`column-name` element names the table that this bean is mapped to, and
-the second `column-name` names the column in the related table.
-
-[[fvysa]][[GSDPG00413]][[superelements-35]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearw[`cmr-field-mapping`], link:#beaxe[`secondary-table`]
-(`sun-cmp-mappings.xml`)
-
-[[fvysg]][[GSDPG00414]][[subelements-33]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `column-pair` element.
-
-[[GSDPG878]][[sthref52]][[fvysh]]
-
-
-Table C-34 `column-pair` Subelements
-
-[width="100%",cols="14%,10%,76%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#bearz[`column-name`]
-
-
- |two |Specifies the name of a column from the primary table, or the
-qualified table name (TABLE.COLUMN) of a column from a secondary or
-related table.
-|=======================================================================
-
-
-[[beasb]][[GSDPG00121]][[commit-option]]
-
-`commit-option`
-~~~~~~~~~~~~~~~
-
-Specifies the commit option used on transaction completion. Valid values
-for GlassFish Server are `B` or `C`. Default value is `B`. Applies to
-entity beans.
-
-
-[NOTE]
-==================================================================
-
-Commit option A is not supported for this GlassFish Server release.
-
-==================================================================
-
-
-[[fvyrz]][[GSDPG00415]][[superelements-36]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvysd]][[GSDPG00416]][[subelements-34]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gjjak]][[GSDPG00122]][[compatibility]]
-
-`compatibility`
-~~~~~~~~~~~~~~~
-
-Specifies the GlassFish Server release with which to be backward
-compatible in terms of JAR visibility requirements for applications. The
-current allowed value is `v2`, which refers to GlassFish Server version
-2 or GlassFish Server version 9.1 or 9.1.1. Starting in Java EE 6, the
-Java EE specification imposes stricter requirements than Java EE 5 did
-on which JAR files can be visible to various modules within an EAR file.
-Setting this element to `v2` removes these Java EE 6 and later
-restrictions.
-
-[[gjjaf]][[GSDPG00417]][[superelements-37]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
-link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
-
-[[gjjag]][[GSDPG00418]][[subelements-35]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beasc]][[GSDPG00123]][[confidentiality]]
-
-`confidentiality`
-~~~~~~~~~~~~~~~~~
-
-Specifies if the target supports privacy-protected messages. The values
-are `NONE`, `SUPPORTED`, or `REQUIRED`.
-
-[[fvysi]][[GSDPG00419]][[superelements-38]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvysk]][[GSDPG00420]][[subelements-36]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[giygu]][[GSDPG00124]][[connector-connection-pool]]
-
-`connector-connection-pool`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Defines a connector connection pool.
-
-[[GSDPG879]][[sthref53]]
-
-
-[[superelements-39]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG880]][[sthref54]]
-
-
-[[subelements-37]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`connector-connection-pool` element.
-
-[[GSDPG881]][[sthref55]][[sthref56]]
-
-
-Table C-35 `connector-connection-pool` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-
-a|
-link:#giyhy[`security-map`]
-
-
- |zero or more |Maps the principal received during servlet or EJB
-authentication to the credentials accepted by the EIS.
-
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|=======================================================================
-
-
-[[GSDPG882]][[sthref57]]
-
-
-[[attributes-9]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the
-`connector-connection-pool` element. Changing the following attributes
-requires a server restart or the redeployment or disabling and
-re-enabling of applications that refer to the resource:
-`resource-adapter-name`, `connection-definition-name`,
-`transaction-support`, `associate-with-thread`,
-`lazy-connection-association`, and `lazy-connection-enlistment`.
-
-[[GSDPG883]][[sthref58]][[sthref59]]
-
-
-Table C-36 `connector-connection-pool` Attributes
-
-[width="172%",cols="25%,46%,29%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the name of the connection pool. A
-link:#giyhv[`connector-resource`] element's `pool-name` attribute refers
-to this `name`.
-
-|`resource``-adapter``-name` |none |Specifies the name of the deployed
-connector module or application. If no name is specified during
-deployment, the name of the `.rar` file is used. If the resource adapter
-is embedded in an application, then it is app_name`#`rar_name.
-
-|`connection``-definition``-name` |none |Specifies a unique name,
-identifying a resource adapter's `connection-definition` element in the
-`ra.xml` file. This is usually the `connectionfactory-interface` of the
-`connection-definition` element.
-
-|`steady-pool``-size` |`8` |(optional) Specifies the initial and minimum
-number of connections maintained in the pool.
-
-|`max-pool-size` |`32` |(optional) Specifies the maximum number of
-connections that can be created to satisfy client requests.
-
-|`max-wait-time-in``-millis` |`60000` |(optional) Specifies the amount
-of time, in milliseconds, that the caller is willing to wait for a
-connection. If `0`, the caller is blocked indefinitely until a resource
-is available or an error occurs.
-
-|`pool-resize``-quantity` |`2` a|
-(optional) Specifies the number of idle connections to be destroyed if
-the existing number of connections is above the `steady-pool-size`
-(subject to the `max-pool-size` limit).
-
-This is enforced periodically at the `idle-timeout-in-seconds` interval.
-An idle connection is one that has not been used for a period of
-`idle-timeout-in-seconds`. When the pool size reaches
-`steady-pool-size`, connection removal stops.
-
-|`idle-timeout``-in-seconds` |`300` |(optional) Specifies the maximum
-time that a connection can remain idle in the pool. After this amount of
-time, the pool can close this connection.
-
-|`fail-all-``connections` |`false` |(optional) If `true`, closes all
-connections in the pool if a single validation check fails.
-
-|`transaction``-support` |none a|
-(optional) Specifies the transaction support for this connection pool.
-Overrides the transaction support defined in the resource adapter in a
-downward compatible way: supports a transaction level lower than or
-equal to the resource adapter's, but not higher. Allowed values in
-descending order are:
-
-* `XATransaction` - Supports distributed transactions.
-* `LocalTransaction` - Supports local transactions only.
-* `NoTransaction` - No transaction support.
-
-|`is-connection-``validation-``required` |`false` |(optional) Specifies
-whether connections have to be validated before being given to the
-application. If a resource's validation fails, it is destroyed, and a
-new resource is created and returned.
-
-|`validate-atmost-once-``period-in-seconds` |`0` |Specifies the time
-interval within which a connection is validated at most once. Minimizes
-the number of validation calls. A value of zero allows unlimited
-validation calls.
-
-|`connection-``leak-timeout-``in-seconds` |`0` |Detects potential
-connection leaks by the application. A connection that is not returned
-back to the pool by the application within the specified period is
-assumed to be potentially leaking, and a stack trace of the caller is
-logged. A zero value disables leak detection. A nonzero value enables
-leak tracing.
-
-|`connection-leak-``reclaim` |`false` |If `true`, the pool will reclaim
-a connection after `connection-leak-timeout-in-seconds` occurs.
-
-|`connection-creation-``retry-attempts` |`0` |Specifies the number of
-attempts to create a new connection.
-
-|`connection-creation-``retry-interval-``in-seconds` |`10` |Specifies
-the time interval between attempts to create a connection when
-`connection-creation-retry-attempts` is greater than `0`.
-
-|`lazy-connection-``enlistment` |`false` |If `true`, a connection is not
-enlisted in a transaction until it is used. If `false`, any connection
-object available to a transaction is enlisted in the transaction.
-
-|`lazy-connection-``association` |`false` |If `true`, a physical
-connection is not associated with a logical connection until it is used.
-If `false`, a physical connection is associated with a logical
-connection even before it is used.
-
-|`associate-with-thread` |`false` a|
-If `true`, allows connections to be saved as `ThreadLocal` in the
-calling thread. Connections get reclaimed only when the calling thread
-dies or when the calling thread is not in use and the pool has run out
-of connections. If `false`, the thread must obtain a connection from the
-pool each time the thread requires a connection.
-
-This attribute associates connections with a thread such that when the
-same thread is in need of connections, it can reuse the connections
-already associated with that thread. In this case, the overhead of
-getting connections from the pool is avoided. However, when this value
-is set to `true`, you should verify that the value of the
-`max-pool-size` attribute is comparable to the `max-thread-pool-size`
-attribute of the associated thread pool. If the `max-thread-pool-size`
-value is much higher than the `max-pool-size` value, a lot of time is
-spent associating connections with a new thread after dissociating them
-from an older one. Use this attribute in cases where the thread pool
-should reuse connections to avoid this overhead.
-
-| | |
-
-|`match-connections` |`true` |If `true`, enables connection matching.
-You can set to `false` if connections are homogeneous.
-
-|`max-connection-``usage-count` |`0` |Specifies the number of times a
-connections is reused by the pool, after which it is closed. A zero
-value disables this feature.
-
-|`ping` |`false` |(optional) Specifies whether to ping the pool during
-pool creation or reconfiguration to identify and warn of any erroneous
-attribute values.
-
-|`pooling` |`true` |(optional) If `false`, disables connection pooling.
-|=======================================================================
-
-
-[[GSDPG884]][[sthref60]]
-
-
-[[properties-4]]
-Properties
-^^^^^^^^^^
-
-Most properties of the `connector-connection-pool` element are the names
-of setter methods of the `managedconnectionfactory-class` element in the
-`ra.xml` file. Properties of the `connector-connection-pool` element
-override the `ManagedConnectionFactory` JavaBean configuration settings.
-
-All but the last four properties in the following table are
-`connector-connection-pool` properties of `jmsra`, the resource adapter
-used to communicate with the Open Message Queue software. For a complete
-list of the available properties (called administered object attributes
-in the Message Queue software), see the link:../../openmq/mq-admin-guide/toc.html#GMADG[Open Message Queue
-Administration Guide].
-
-Changes to `connector-connection-pool` properties require a server
-restart.
-
-[[GSDPG885]][[sthref61]][[sthref62]]
-
-
-Table C-37 `connector-connection-pool` Properties
-
-[width="100%",cols="26%,11%,63%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`AddressList` |none |Specifies a list of host/port combinations of the
-Message Queue software. For JMS resources of the Type
-`jakarta.jms.TopicConnectionFactory` or
-`jakarta.jms.QueueConnectionFactory`.
-
-|`ClientId` |none a|
-Specifies the JMS Client Identifier to be associated with a `Connection`
-created using the `createTopicConnection` method of the
-`TopicConnectionFactory` class. For JMS resources of the Type
-`jakarta.jms.TopicConnectionFactory` .
-
-Durable subscription names are unique and only valid within the scope of
-a client identifier. To create or reactivate a durable subscriber, the
-connection must have a valid client identifier. The JMS specification
-ensures that client identifiers are unique and that a given client
-identifier is allowed to be used by only one active connection at a
-time.
-
-|`UserName` |`guest` |Specifies the user name for connecting to the
-Message Queue software. For JMS resources of the Type
-`jakarta.jms.TopicConnectionFactory` or
-`jakarta.jms.QueueConnectionFactory`.
-
-|`Password` |`guest` |Specifies the password for connecting to the
-Message Queue software. For JMS resources of the Type
-`jakarta.jms.TopicConnectionFactory` or
-`jakarta.jms.QueueConnectionFactory`.
-
-|`ReconnectAttempts` |`6` |Specifies the number of attempts to connect
-(or reconnect) for each address in the `imqAddressList` before the
-client runtime moves on to try the next address in the list. A value of
-`-1` indicates that the number of reconnect attempts is unlimited (the
-client runtime attempts to connect to the first address until it
-succeeds).
-
-|`ReconnectInterval` |`30000` |Specifies the interval between reconnect
-attempts in milliseconds. This applies to attempts on each address in
-the `imqAddressList` and on successive addresses in the list. If too
-short, this time interval does not give a broker time to recover. If too
-long, the reconnect might represent an unacceptable delay.
-
-|`ReconnectEnabled` |`false` |If `true`, specifies that the client
-runtime attempts to reconnect to a message server (or the list of
-addresses in `imqAddressList`) when a connection is lost.
-
-|`AddressListBehavior` |`priority` |Specifies whether connection
-attempts are in the order of addresses in the `imqAddressList` attribute
-(`priority`) or in a random order (`random`). If many clients are
-attempting a connection using the same connection factory, use a random
-order to prevent them from all being connected to the same address.
-
-|`AddressListIterations` |`-1` |Specifies the number of times the client
-runtime iterates through the `imqAddressList` in an effort to establish
-(or reestablish) a connection. A value of `-1` indicates that the number
-of attempts is unlimited.
-|=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-All JMS administered object resource properties that worked with version
-7 of the GlassFish Server are supported for backward compatibility.
-
-=======================================================================
-
-
-[[giyhv]][[GSDPG00125]][[connector-resource]]
-
-`connector-resource`
-~~~~~~~~~~~~~~~~~~~~
-
-Defines the connection factory object of a specific connection
-definition in a connector (resource adapter).
-
-[[GSDPG886]][[sthref63]]
-
-
-[[superelements-40]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG887]][[sthref64]]
-
-
-[[subelements-38]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `connector-resource`
-element.
-
-[[GSDPG888]][[sthref65]][[sthref66]]
-
-
-Table C-38 `connector-resource` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==========================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==========================================================
-
-
-[[GSDPG889]][[sthref67]]
-
-
-[[attributes-10]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `connector-resource`
-element.
-
-[[GSDPG890]][[sthref68]][[sthref69]]
-
-
-Table C-39 `connector-resource` Attributes
-
-[width="172%",cols="9%,46%,45%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`jndi-name` |none |Specifies the JNDI name for the resource.
-
-|`pool-name` |none |Specifies the `name` of the associated
-link:#giygu[`connector-connection-pool`].
-
-|`object-type` |`user` a|
-(optional) Defines the type of the resource. Allowed values are:
-
-* `system-all` - A system resource for all server instances and the
-domain application server.
-* `system-admin` - A system resource only for the domain application
-server.
-* `system-instance` - A system resource for all server instances only.
-* `user` - A user resource.
-
-|`enabled` |`true` |(optional) Determines whether this resource is
-enabled at runtime.
-|=======================================================================
-
-
-[[beasd]][[GSDPG00126]][[consistency]]
-
-`consistency`
-~~~~~~~~~~~~~
-
-Specifies container behavior in guaranteeing transactional consistency
-of the data in the bean.
-
-[[fvysj]][[GSDPG00421]][[superelements-41]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvysl]][[GSDPG00422]][[subelements-39]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `consistency` element.
-
-[[GSDPG891]][[sthref70]][[fvysn]]
-
-
-Table C-40 `consistency` Subelements
-
-[width="100%",cols="31%,21%,48%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavi[`none`]
-
-
- |exactly one subelement is required |No consistency checking occurs.
-
-a|
-link:#bearm[`check-modified-at-commit`]
-
-
- |exactly one subelement is required |Checks concurrent modification of
-fields in modified beans at commit time.
-
-a|
-link:#beauh[`lock-when-loaded`]
-
-
- |exactly one subelement is required |Obtains an exclusive lock when the
-data is loaded.
-
-a|
-link:#bearl[`check-all-at-commit`]
-
-
- | + |This element is not implemented. Do not use.
-
-a|
-link:#beaui[`lock-when-modified`]
-
-
- | + |This element is not implemented. Do not use.
-
-a|
-link:#bearn[`check-version-of-accessed-instances`]
-
-
- |exactly one subelement is required |Checks the version column of the
-modified beans.
-|=======================================================================
-
-
-[[bease]][[GSDPG00127]][[constraint-field]]
-
-`constraint-field`
-~~~~~~~~~~~~~~~~~~
-
-Specifies a cacheability constraint for the given
-link:#beayl[`url-pattern`] or link:#beaxo[`servlet-name`].
-
-All `constraint-field` constraints must pass for a response to be
-cached. If there are `value` constraints, at least one of them must
-pass.
-
-[[fvysm]][[GSDPG00423]][[superelements-42]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvyso]][[GSDPG00424]][[subelements-40]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `constraint-field`
-element.
-
-[[GSDPG892]][[sthref71]][[fvysp]]
-
-
-Table C-41 `constraint-field` Subelements
-
-[width="100%",cols="30%,13%,57%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beasf[`constraint-field-value`]
-
-
- |zero or more |Contains a value to be matched to the input parameter
-value.
-|=======================================================================
-
-
-[[fvysq]][[GSDPG00425]][[attributes-11]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `constraint-field`
-element.
-
-[[GSDPG893]][[sthref72]][[fvysr]]
-
-
-Table C-42 `constraint-field` Attributes
-
-[width="100%",cols="18%,21%,61%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the input parameter name.
-
-|`scope` |`request.parameter` |(optional) Specifies the scope from which
-the input parameter is retrieved. Allowed values are
-`context.attribute`, `request.header`, `request.parameter`,
-`request.cookie`, `request.attribute`, and `session.attribute`.
-
-|`cache-on-match` |`true` |(optional) If `true`, caches the response if
-matching succeeds. Overrides the same attribute in a
-link:#beasf[`constraint-field-value`] subelement.
-
-|`cache-on-match``-failure` |`false` |(optional) If `true`, caches the
-response if matching fails. Overrides the same attribute in a
-link:#beasf[`constraint-field-value`] subelement.
-|=======================================================================
-
-
-[[beasf]][[GSDPG00128]][[constraint-field-value]]
-
-`constraint-field-value`
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies a value to be matched to the input parameter value. The
-matching is case sensitive. For example:
-
-[source,oac_no_warn]
-----
-<value match-expr="in-range">1-60</value>
-----
-
-[[fvyss]][[GSDPG00426]][[superelements-43]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bease[`constraint-field`] (`glassfish-web.xml`)
-
-[[fvyst]][[GSDPG00427]][[subelements-41]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvysu]][[GSDPG00428]][[attributes-12]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the
-`constraint-field-value` element.
-
-[[GSDPG894]][[sthref73]][[fvysv]]
-
-
-Table C-43 `constraint-field-value` Attributes
-
-[width="172%",cols="11%,46%,43%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`match-expr` |`equals` a|
-(optional) Specifies the type of comparison performed with the value.
-Allowed values are `equals`, `not-equals`, `greater`, `lesser`, and
-`in-range`.
-
-If `match-expr` is `greater` or `lesser`, the value must be a number. If
-`match-expr` is `in-range`, the value must be of the form n1`-`n2, where
-n1 and n2 are numbers.
-
-|`cache-on-match` |`true` |(optional) If `true`, caches the response if
-matching succeeds.
-
-|`cache-on-match``-failure` |`false` |(optional) If `true`, caches the
-response if matching fails.
-|=======================================================================
-
-
-[[beasg]][[GSDPG00129]][[context-root]]
-
-`context-root`
-~~~~~~~~~~~~~~
-
-Contains the web context root for the application or web application
-that was packaged as a WAR file. Overrides the corresponding element in
-the `application.xml` or `web.xml` file.
-
-If the parent element is `java-web-start-access`, this element contains
-the context root for the Java Web Start enabled application client
-module. If none is specified, a default is generated; see
-link:#gauax[`java-web-start-access`].
-
-If you are setting up load balancing, web module context roots must be
-unique within a server instance. See the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server
-Open Source Edition High Availability Administration Guide] for more
-information about load balancing.
-
-[[fvysx]][[GSDPG00429]][[superelements-44]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayr[`web`] (`glassfish-application.xml`),
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#gauax[`java-web-start-access`]
-(`glassfish-application-client.xml`)
-
-[[fvysw]][[GSDPG00430]][[subelements-42]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beash]][[GSDPG00130]][[cookie-properties]]
-
-`cookie-properties`
-~~~~~~~~~~~~~~~~~~~
-
-Specifies session cookie properties.
-
-
-[NOTE]
-=======================================================================
-
-If cookie settings are defined declaratively in the `web.xml` file, the
-cookie properties defined here take precedence. If cookie settings are
-defined programmatically using `javax.servlet.SessionCookieConfig`
-methods, those cookie settings take precedence over the cookie
-properties defined here.
-
-=======================================================================
-
-
-[[fvysy]][[GSDPG00431]][[superelements-45]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxp[`session-config`] (`glassfish-web.xml`)
-
-[[fvysz]][[GSDPG00432]][[subelements-43]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `cookie-properties`
-element.
-
-[[GSDPG895]][[sthref74]][[fvytb]]
-
-
-Table C-44 `cookie-properties` Subelements
-
-[width="100%",cols="36%,14%,50%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvyta]][[GSDPG00433]][[properties-5]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `cookie-properties`
-element.
-
-[[GSDPG896]][[sthref75]][[fvyte]]
-
-
-Table C-45 `cookie-properties` Properties
-
-[width="100%",cols="24%,13%,63%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`cookieName` |none |Specifies the cookie name.
-
-|`cookiePath` |Context path at which the web module is installed.
-|Specifies the pathname that is set when the cookie is created. The
-browser sends the cookie if the pathname for the request contains this
-pathname. If set to `/` (slash), the browser sends cookies to all URLs
-served by GlassFish Server. You can set the path to a narrower mapping
-to limit the request URLs to which the browser sends cookies.
-
-|`cookieMaxAgeSeconds` |none |Specifies the expiration time (in seconds)
-after which the browser expires the cookie. If this is unset, the cookie
-doesn't expire.
-
-|`cookieDomain` |(unset) |Specifies the domain for which the cookie is
-valid.
-
-|`cookieComment` |none |Specifies the comment that identifies the
-session tracking cookie in the cookie file.
-
-|`cookieSecure` |`dynamic` a|
-Sets the `Secure` attribute of any `JSESSIONID` cookies associated with
-the web application. Allowed values are as follows:
-
-* `true` — Sets `Secure` to `true`.
-* `false` — Sets `Secure` to `false`.
-* `dynamic` — The `JSESSIONID` cookie inherits the `Secure` setting of
-the request that initiated the session.
-
-To set the `Secure` attribute of a `JSESSIONIDSSO` cookie, use the
-`ssoCookieSecure` `virtual-server` property. For details, see
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-
-|`cookieHttpOnly` |none |Specifies that the cookie is marked HTTP only.
-Allowed values are `true` or `false`.
-|=======================================================================
-
-
-[[beasi]][[GSDPG00131]][[create-tables-at-deploy]]
-
-`create-tables-at-deploy`
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies whether database tables are created for beans that are
-automatically mapped by the EJB container. If `true`, creates tables in
-the database. If `false` (the default if this element is not present),
-does not create tables.
-
-This element can be overridden during deployment. See
-"link:../application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options for CMP]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[fvytc]][[GSDPG00434]][[superelements-46]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
-
-[[fvytd]][[GSDPG00435]][[subelements-44]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[giyhr]][[GSDPG00132]][[custom-resource]]
-
-`custom-resource`
-~~~~~~~~~~~~~~~~~
-
-Defines a custom resource, which specifies a custom server-wide resource
-object factory. Such object factories implement the
-javax.naming.spi.ObjectFactory interface.
-
-[[GSDPG897]][[sthref76]]
-
-
-[[superelements-47]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG898]][[sthref77]]
-
-
-[[subelements-45]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `custom-resource`
-element.
-
-[[GSDPG899]][[sthref78]][[sthref79]]
-
-
-Table C-46 `custom-resource` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==========================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==========================================================
-
-
-[[GSDPG900]][[sthref80]]
-
-
-[[attributes-13]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `custom-resource`
-element.
-
-[[GSDPG901]][[sthref81]][[sthref82]]
-
-
-Table C-47 `custom-resource` Attributes
-
-[width="172%",cols="11%,46%,43%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`jndi-name` |none |Specifies the JNDI name for the resource.
-
-|`res-type` |none |Specifies the fully qualified type of the resource.
-
-|`factory-class` |none |Specifies the fully qualified name of the
-user-written factory class, which implements
-javax.naming.spi.ObjectFactory.
-
-|`object-type` |`user` a|
-(optional) Defines the type of the resource. Allowed values are:
-
-* `system-all` - A system resource for all server instances and the
-domain application server.
-* `system-admin` - A system resource only for the domain application
-server.
-* `system-instance` - A system resource for all server instances only.
-* `user` - A user resource.
-
-|`enabled` |`true` |(optional) Determines whether this resource is
-enabled at runtime.
-|=======================================================================
-
-
-[[beask]][[GSDPG00133]][[database-vendor-name]]
-
-`database-vendor-name`
-~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name of the database vendor for which tables can be
-created. Allowed values are `javadb`, `db2`, `mssql`, `mysql`, `oracle`,
-`postgresql`, `pointbase`, `derby` (also for CloudScape), and `sybase`,
-case-insensitive.
-
-If no value is specified, a connection is made to the resource specified
-by the link:#beatw[`jndi-name`] subelement of the
-link:#bearv[`cmp-resource`] element, and the database vendor name is
-read. If the connection cannot be established, or if the value is not
-recognized, SQL-92 compliance is presumed.
-
-This element can be overridden during deployment. See
-"link:../application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options for CMP]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[fvytf]][[GSDPG00436]][[superelements-48]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
-
-[[fvyti]][[GSDPG00437]][[subelements-46]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gaubj]][[GSDPG00134]][[debugging-enabled]]
-
-`debugging-enabled`
-~~~~~~~~~~~~~~~~~~~
-
-Specifies whether the debugging servlet is enabled for this web service
-endpoint. Allowed values are `true` (the default) and `false`.
-
-[[gaubf]][[GSDPG00438]][[superelements-49]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[gaube]][[GSDPG00439]][[subelements-47]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beasl]][[GSDPG00135]][[default]]
-
-`default`
-~~~~~~~~~
-
-Specifies that a field belongs to the default hierarchical fetch group,
-and enables prefetching for a CMR field. To disable prefetching for
-specific query methods, use a link:#beavu[`prefetch-disabled`] element
-in the `glassfish-ejb-jar.xml` file.
-
-[[fvytg]][[GSDPG00440]][[superelements-50]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beatc[`fetched-with`] (`sun-cmp-mappings.xml`)
-
-[[fvyth]][[GSDPG00441]][[subelements-48]]
-
-Subelements
-^^^^^^^^^^^
-
-none - element is present or absent
-
-[[beasm]][[GSDPG00136]][[default-helper]]
-
-`default-helper`
-~~~~~~~~~~~~~~~~
-
-Passes property values to the built-in `default`
-link:#beare[`cache-helper`] class.
-
-[[fvytj]][[GSDPG00442]][[superelements-51]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beard[`cache`] (`glassfish-web.xml`)
-
-[[fvytk]][[GSDPG00443]][[subelements-49]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `default-helper`
-element.
-
-[[GSDPG902]][[sthref83]][[fvytm]]
-
-
-Table C-48 `default-helper` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvytp]][[GSDPG00444]][[properties-6]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `default-helper`
-element.
-
-[[GSDPG903]][[sthref84]][[fvyto]]
-
-
-Table C-49 `default-helper` Properties
-
-[width="100%",cols="30%,21%,49%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`cacheKeyGeneratorAttrName` |Uses the built-in `default`
-link:#beare[`cache-helper`] key generation, which concatenates the
-servlet path with link:#beatz[`key-field`] values, if any. |The caching
-engine looks in the `ServletContext` for an attribute with a name equal
-to the value specified for this property to determine whether a
-customized CacheKeyGenerator implementation is used. An application can
-provide a customized key generator rather than using the `default`
-helper. See "link:../application-development-guide/webapps.html#GSDVG00254[The CacheKeyGenerator Interface]" in
-GlassFish Server Open Source Edition Application Development Guide.
-|=======================================================================
-
-
-[[beasn]][[GSDPG00137]][[default-resource-principal]]
-
-`default-resource-principal`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the default principal (user) for the resource.
-
-If this element is used in conjunction with a JMS Connection Factory
-resource, the `name` and `password` subelements must be valid entries in
-the Open Message Queue broker user repository. See
-"link:../../openmq/mq-admin-guide/security-services.html#GMADG00040[Configuring and Managing Security Services]" in Open
-Message Queue Administration Guide for details.
-
-[[fvytl]][[GSDPG00445]][[superelements-52]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaww[`resource-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
-link:#bearv[`cmp-resource`], link:#beaur[`mdb-connection-factory`]
-(`glassfish-ejb-jar.xml`)
-
-[[fvytn]][[GSDPG00446]][[subelements-50]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`default-resource-principal` element.
-
-[[GSDPG904]][[sthref85]][[fvytr]]
-
-
-Table C-50 `default-resource-principal` Subelements
-
-[width="100%",cols="11%,10%,79%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavf[`name`]
-
-
- |only one |Specifies the default resource principal name used to sign
-on to a resource manager.
-
-a|
-link:#beavp[`password`]
-
-
- |only one |Specifies password of the default resource principal.
-|=======================================================================
-
-
-[[beaso]][[GSDPG00138]][[description]]
-
-`description`
-~~~~~~~~~~~~~
-
-Specifies a text description of the containing element.
-
-[[fvytq]][[GSDPG00447]][[superelements-53]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavx[`property` (with attributes)], link:#gikqk[`valve`]
-(`glassfish-web.xml`); link:#beaqs[`activation-config`],
-link:#beauz[`method`] (`glassfish-ejb-jar.xml`);
-link:#beaye[`target-server`] (`sun-acc.xml`);
-link:#giyhw[`admin-object-resource`],
-link:#giygu[`connector-connection-pool`],
-link:#giyhv[`connector-resource`], link:#giyhr[`custom-resource`],
-link:#giyin[`external-jndi-resource`],
-link:#giyil[`jdbc-connection-pool`], link:#giyhm[`jdbc-resource`],
-link:#giyik[`mail-resource`], link:#beavx[`property` (with attributes)],
-link:#giyit[`resource-adapter-config`] (`glassfish-resources.xml`)
-
-[[fvyts]][[GSDPG00448]][[subelements-51]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gkhtw]][[GSDPG00139]][[disable-nonportable-jndi-names]]
-
-`disable-nonportable-jndi-names`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Because the EJB 3.1 specification defines portable EJB JNDI names, there
-is less need for GlassFish Server specific JNDI names. By default,
-GlassFish Server specific default JNDI names are applied automatically
-for backward compatibility. To disable GlassFish Server specific JNDI
-names for an EJB module, set the value of this element to `true`. The
-default is `false`.
-
-[[gkhum]][[GSDPG00449]][[superelements-54]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
-
-[[gkhug]][[GSDPG00450]][[subelements-52]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beasp]][[GSDPG00140]][[dispatcher]]
-
-`dispatcher`
-~~~~~~~~~~~~
-
-Specifies a comma-separated list of `RequestDispatcher` methods for
-which caching is enabled on the target resource. Valid values are
-`REQUEST`, `FORWARD`, `INCLUDE`, and `ERROR` . If this element is not
-specified, the default is `REQUEST`. See SRV.6.2.5 of the Servlet 2.4
-specification for more information.
-
-[[fvytt]][[GSDPG00451]][[superelements-55]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvytv]][[GSDPG00452]][[subelements-53]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beasq]][[GSDPG00141]][[drop-tables-at-undeploy]]
-
-`drop-tables-at-undeploy`
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies whether database tables that were automatically created when
-the bean(s) were last deployed are dropped when the bean(s) are
-undeployed. If `true`, drops tables from the database. If `false` (the
-default if this element is not present), does not drop tables.
-
-This element can be overridden during deployment. See
-"link:../application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options for CMP]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[fvytu]][[GSDPG00453]][[superelements-56]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
-
-[[fvytx]][[GSDPG00454]][[subelements-54]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beass]][[GSDPG00142]][[ejb]]
-
-`ejb`
-~~~~~
-
-Defines runtime properties for a single enterprise bean within the
-application. The subelements listed below apply to particular enterprise
-beans as follows:
-
-* All types of beans: `ejb-name`, `ejb-ref`, `resource-ref`,
-`resource-env-ref`, `ior-security-config`, `gen-classes`, `jndi-name`,
-`use-thread-pool-id`, `message-destination-ref`, `pass-by-reference`,
-`service-ref`
-* Stateless session beans: `bean-pool`, `webservice-endpoint`
-* Stateful session beans: `bean-cache`, `webservice-endpoint`,
-`checkpoint-at-end-of-method`
-* Entity beans: `commit-option`, `bean-cache`, `bean-pool`, `cmp`,
-`is-read-only-bean`, `refresh-period-in-seconds`,
-`flush-at-end-of-method`
-* Message-driven beans: `mdb-resource-adapter`,
-`mdb-connection-factory`, `jms-durable-subscription-name`,
-`jms-max-messages-load`, `bean-pool`
-
-[[fvyty]][[GSDPG00455]][[superelements-57]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
-
-[[fvytw]][[GSDPG00456]][[subelements-55]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `ejb` element.
-
-[[GSDPG905]][[sthref86]][[fvyuc]]
-
-
-Table C-51 `ejb` Subelements
-
-[width="100%",cols="35%,12%,53%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beast[`ejb-name`]
-
-
- |only one |Matches the `ejb-name` in the corresponding `ejb-jar.xml`
-file.
-
-a|
-link:#beatw[`jndi-name`]
-
-
- |zero or more |Specifies the absolute `jndi-name`.
-
-a|
-link:#beasu[`ejb-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `ejb-ref` element in
-the corresponding Java EE XML file.
-
-a|
-link:#beaww[`resource-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
-corresponding Java EE XML file.
-
-a|
-link:#beawu[`resource-env-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
-the corresponding Java EE XML file.
-
-a|
-link:#beaxk[`service-ref`]
-
-
- |zero or more |Specifies runtime settings for a web service reference.
-
-a|
-link:#gauao[`message-destination-ref`]
-
-
- |zero or more |Specifies the name of a physical message destination.
-
-a|
-link:#beavo[`pass-by-reference`]
-
-
- |zero or one |Specifies the passing method used by an enterprise bean
-calling a remote interface method in another bean that is colocated
-within the same process.
-
-a|
-link:#beart[`cmp`]
-
-
- |zero or one |Specifies runtime information for a container-managed
-persistence (CMP) entity bean for EJB 1.1 and EJB 2.1 beans.
-
-a|
-link:#beavv[`principal`]
-
-
- |zero or one |Specifies the principal (user) name in an enterprise bean
-that has the `run-as` role specified.
-
-a|
-link:#beaur[`mdb-connection-factory`]
-
-
- |zero or one |Specifies the connection factory associated with a
-message-driven bean.
-
-a|
-link:#beatu[`jms-durable-subscription-name`]
-
-
- |zero or one |Specifies the durable subscription associated with a
-message-driven bean.
-
-a|
-link:#beatv[`jms-max-messages-load`]
-
-
- |zero or one |Specifies the maximum number of messages to load into a
-Java Message Service session at one time for a message-driven bean to
-serve. The default is 1.
-
-a|
-link:#beato[`ior-security-config`]
-
-
- |zero or one |Specifies the security information for the IOR.
-
-a|
-link:#beatr[`is-read-only-bean`]
-
-
- |zero or one |Specifies that this entity bean is read-only.
-
-a|
-link:#beawk[`refresh-period-in-seconds`]
-
-
- |zero or one |Specifies the rate at which a read-only-bean must be
-refreshed from the data source.
-
-a|
-link:#beasb[`commit-option`]
-
-
- |zero or one |Has valid values of B or C. Default value is B.
-
-a|
-link:#beary[`cmt-timeout-in-seconds`]
-
-
- |zero or one |Overrides the Transaction Timeout setting of the
-Transaction Service for an individual bean.
-
-a|
-link:#beaym[`use-thread-pool-id`]
-
-
- |zero or one |Specifies the thread pool from which threads are selected
-for remote invocations of this bean.
-
-a|
-link:#beath[`gen-classes`]
-
-
- |zero or one |Specifies all the generated class names for a bean.
-
-a|
-link:#bearb[`bean-pool`]
-
-
- |zero or one |Specifies the bean pool properties. Used for stateless
-session beans, entity beans, and message-driven beans.
-
-a|
-link:#beara[`bean-cache`]
-
-
- |zero or one |Specifies the bean cache properties. Used only for
-stateful session beans and entity beans.
-
-a|
-link:#beaus[`mdb-resource-adapter`]
-
-
- |zero or one |Specifies runtime configuration information for a
-message-driven bean.
-
-a|
-link:#beayv[`webservice-endpoint`]
-
-
- |zero or more |Specifies information about a web service endpoint.
-
-a|
-link:#beatf[`flush-at-end-of-method`]
-
-
- |zero or one |Specifies the methods that force a database flush after
-execution. Used for entity beans.
-
-a|
-link:#bearp[`checkpointed-methods`]
-
-
- |zero or one |Deprecated. Supported for backward compatibility. Use
-link:#bearo[`checkpoint-at-end-of-method`] instead.
-
-a|
-link:#bearo[`checkpoint-at-end-of-method`]
-
-
- |zero or one |Specifies that the stateful session bean state is
-checkpointed, or persisted, after the specified methods are executed.
-The `availability-enabled` attribute must be set to `true`.
-
-a|
-link:#gkkia[`per-request-load-balancing`]
-
-
- |zero or one |Specifies the per-request load balancing behavior of EJB
-2.x and 3.x remote client invocations on a stateless session bean.
-|=======================================================================
-
-
-[[fvyuf]][[GSDPG00457]][[attributes-14]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `ejb` element.
-
-[[GSDPG906]][[sthref87]][[fvyud]]
-
-
-Table C-52 `ejb` Attributes
-
-[width="181%",cols="16%,49%,35%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`availability-enabled` |`false` |(optional) If set to `true`, and if
-availability is enabled in the EJB container, high-availability features
-apply to this bean if it is a stateful session bean.
-|=======================================================================
-
-
-[[fvytz]][[GSDPG00458]][[example-3]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<ejb>
-   <ejb-name>CustomerEJB</ejb-name>
-   <jndi-name>customer</jndi-name>
-   <resource-ref>
-      <res-ref-name>jdbc/SimpleBank</res-ref-name>
-      <jndi-name>jdbc/__default</jndi-name>
-   </resource-ref>
-   <is-read-only-bean>false</is-read-only-bean>
-   <commit-option>B</commit-option>
-   <bean-pool>
-      <steady-pool-size>10</steady-pool-size>
-      <resize-quantity>10</resize-quantity>
-      <max-pool-size>100</max-pool-size>
-      <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
-   </bean-pool>
-   <bean-cache>
-      <max-cache-size>100</max-cache-size>
-      <resize-quantity>10</resize-quantity>
-      <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
-      <victim-selection-policy>LRU</victim-selection-policy>
-   </bean-cache>
-</ejb>
-----
-
-[[beast]][[GSDPG00143]][[ejb-name]]
-
-`ejb-name`
-~~~~~~~~~~
-
-In the `glassfish-ejb-jar.xml` file, matches the `ejb-name` in the
-corresponding `ejb-jar.xml` file. The name must be unique among the
-names of the enterprise beans in the same EJB JAR file.
-
-There is no architected relationship between the `ejb-name` in the
-deployment descriptor and the JNDI name that the deployer assigns to the
-EJB component's home.
-
-In the `sun-cmp-mappings.xml` file, specifies the `ejb-name` of the
-entity bean in the `ejb-jar.xml` file to which the container-managed
-persistence (CMP) bean corresponds.
-
-[[fvyug]][[GSDPG00459]][[superelements-58]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`], link:#beauz[`method`] (`glassfish-ejb-jar.xml`);
-link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvyue]][[GSDPG00460]][[subelements-56]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beasu]][[GSDPG00144]][[ejb-ref]]
-
-`ejb-ref`
-~~~~~~~~~
-
-Maps the `ejb-ref-name` in the corresponding Java EE deployment
-descriptor file `ejb-ref` entry to the absolute `jndi-name` of a
-resource.
-
-The `ejb-ref` element is used for the declaration of a reference to an
-EJB's home. Applies to session beans or entity beans.
-
-[[fvyub]][[GSDPG00461]][[superelements-59]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[fvyua]][[GSDPG00462]][[subelements-57]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `ejb-ref` element.
-
-[[GSDPG907]][[sthref88]][[fvyui]]
-
-
-Table C-53 `ejb-ref` Subelements
-
-[width="100%",cols="26%,11%,63%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beasv[`ejb-ref-name`]
-
-
- |only one |Specifies the `ejb-ref-name` in the corresponding Java EE
-deployment descriptor file `ejb-ref` entry.
-
-a|
-link:#beatw[`jndi-name`]
-
-
- |only one |Specifies the absolute `jndi-name` of a resource.
-|=======================================================================
-
-
-[[beasv]][[GSDPG00145]][[ejb-ref-name]]
-
-`ejb-ref-name`
-~~~~~~~~~~~~~~
-
-Specifies the `ejb-ref-name` in the corresponding Java EE deployment
-descriptor file `ejb-ref` entry.
-
-[[fvyuh]][[GSDPG00463]][[superelements-60]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasu[`ejb-ref`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvyuj]][[GSDPG00464]][[subelements-58]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gaubh]][[GSDPG00146]][[eligible]]
-
-`eligible`
-~~~~~~~~~~
-
-Specifies whether the application client module is eligible to be Java
-Web Start enabled. Allowed values are `true` (the default) and `false`.
-
-[[gaubg]][[GSDPG00465]][[superelements-61]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#gauax[`java-web-start-access`]
-(`glassfish-application-client.xml`)
-
-[[gauaz]][[GSDPG00466]][[subelements-59]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beasw]][[GSDPG00147]][[endpoint-address-uri]]
-
-`endpoint-address-uri`
-~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the relative path combined with the web server root to form
-the fully qualified endpoint address for a web service endpoint. This is
-a required element for EJB endpoints and an optional element for servlet
-endpoints.
-
-For servlet endpoints, this value is relative to the web application
-context root. For EJB endpoints, the URI is relative to root of the web
-server (the first portion of the URI is a context root). The context
-root portion must not conflict with the context root of any web
-application deployed to the same web server.
-
-In all cases, this value must be a fixed pattern (no "`*`' allowed).
-
-If the web service endpoint is a servlet that implements only a single
-endpoint and has only one `url-pattern`, it is not necessary to set this
-value, because the web container derives it from the `web.xml` file.
-
-[[fvyul]][[GSDPG00467]][[superelements-62]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvyum]][[GSDPG00468]][[subelements-60]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvyuk]][[GSDPG00469]][[example-4]]
-
-Example
-^^^^^^^
-
-If the web server is listening at `http://localhost:8080`, the following
-`endpoint-address-uri`:
-
-[source,oac_no_warn]
-----
-<endpoint-address-uri>StockQuoteService/StockQuotePort</endpoint-address-uri>
-----
-
-results in the following target endpoint address:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/StockQuoteService/StockQuotePort
-----
-
-[[beasx]][[GSDPG00148]][[enterprise-beans]]
-
-`enterprise-beans`
-~~~~~~~~~~~~~~~~~~
-
-Specifies all the runtime properties for an EJB JAR file in the
-application.
-
-[[fvyun]][[GSDPG00470]][[superelements-63]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
-
-[[fvyuo]][[GSDPG00471]][[subelements-61]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `enterprise-beans`
-element.
-
-[[GSDPG908]][[sthref89]][[fvyut]]
-
-
-Table C-54 `enterprise-beans` Subelements
-
-[width="100%",cols="27%,12%,61%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavf[`name`]
-
-
- |zero or one |Specifies the name string.
-
-a|
-link:#beayk[`unique-id`]
-
-
- |zero or one |Specifies a unique system identifier. This data is
-automatically generated and updated at deployment/redeployment. Do not
-specify or edit this value.
-
-a|
-link:#beass[`ejb`]
-
-
- |zero or more |Defines runtime properties for a single enterprise bean
-within the application.
-
-a|
-link:#beavq[`pm-descriptors`]
-
-
- |zero or one |Deprecated.
-
-a|
-link:#bearv[`cmp-resource`]
-
-
- |zero or one |Specifies the database to be used for storing
-container-managed persistence (CMP) beans in an EJB JAR file.
-
-a|
-link:#beauu[`message-destination`]
-
-
- |zero or more |Specifies the name of a logical message destination.
-
-a|
-link:#beayt[`webservice-description`]
-
-
- |zero or more |Specifies a name and optional publish location for a web
-service.
-
-a|
-link:#beavy[`property` (with subelements)]
-
-
- |zero or more |Specifies a property or a variable.
-|=======================================================================
-
-
-[[fvyux]][[GSDPG00472]][[example-5]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<enterprise-beans>
- <ejb>
-     <ejb-name>CustomerEJB</ejb-name>
-     <jndi-name>customer</jndi-name>
-     <resource-ref>
-         <res-ref-name>jdbc/SimpleBank</res-ref-name>
-         <jndi-name>jdbc/__default</jndi-name>
-     </resource-ref>
-     <is-read-only-bean>false</is-read-only-bean>
-     <commit-option>B</commit-option>
-     <bean-pool>
-         <steady-pool-size>10</steady-pool-size>
-        <resize-quantity>10</resize-quantity>
-         <max-pool-size>100</max-pool-size>
-         <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
-     </bean-pool>
-     <bean-cache>
-         <max-cache-size>100</max-cache-size>
-         <resize-quantity>10</resize-quantity>
-         <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
-         <victim-selection-policy>LRU</victim-selection-policy>
-     </bean-cache>
- </ejb>
-</enterprise-beans>
-----
-
-[[beasy]][[GSDPG00149]][[entity-mapping]]
-
-`entity-mapping`
-~~~~~~~~~~~~~~~~
-
-Specifies the mapping a bean to database columns.
-
-[[fvyus]][[GSDPG00473]][[superelements-64]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxy[`sun-cmp-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvyur]][[GSDPG00474]][[subelements-62]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `entity-mapping`
-element.
-
-[[GSDPG909]][[sthref90]][[fvyuz]]
-
-
-Table C-55 `entity-mapping` Subelements
-
-[width="100%",cols="21%,12%,67%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beast[`ejb-name`]
-
-
- |only one |Specifies the name of the entity bean in the `ejb-jar.xml`
-file to which the CMP bean corresponds.
-
-a|
-link:#beayd[`table-name`]
-
-
- |only one |Specifies the name of a database table. The table must be
-present in the database schema file.
-
-a|
-link:#bearu[`cmp-field-mapping`]
-
-
- |one or more |Associates a field with one or more columns to which it
-maps.
-
-a|
-link:#bearw[`cmr-field-mapping`]
-
-
- |zero or more |A container-managed relationship field has a name and
-one or more column pairs that define the relationship.
-
-a|
-link:#beaxe[`secondary-table`]
-
-
- |zero or more |Describes the relationship between a bean's primary and
-secondary table.
-
-a|
-link:#beasd[`consistency`]
-
-
- |zero or one |Specifies container behavior in guaranteeing
-transactional consistency of the data in the bean.
-|=======================================================================
-
-
-[[beasz]][[GSDPG00150]][[establish-trust-in-client]]
-
-`establish-trust-in-client`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies if the target is capable of authenticating a client. The
-values are `NONE`, `SUPPORTED`, or `REQUIRED`.
-
-[[fvyuq]][[GSDPG00475]][[superelements-65]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvyuy]][[GSDPG00476]][[subelements-63]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beata]][[GSDPG00151]][[establish-trust-in-target]]
-
-`establish-trust-in-target`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies if the target is capable of authenticating to a client. The
-values are `NONE`, `SUPPORTED`, or `REQUIRED`.
-
-[[fvyuu]][[GSDPG00477]][[superelements-66]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvyuv]][[GSDPG00478]][[subelements-64]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[giyin]][[GSDPG00152]][[external-jndi-resource]]
-
-`external-jndi-resource`
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Defines a resource that resides in an external JNDI repository. For
-example, a generic Java object could be stored in an LDAP server. An
-external JNDI factory must implement the
-javax.naming.spi.InitialContextFactory interface.
-
-[[GSDPG910]][[sthref91]]
-
-
-[[superelements-67]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG911]][[sthref92]]
-
-
-[[subelements-65]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`external-jndi-resource` element.
-
-[[GSDPG912]][[sthref93]][[sthref94]]
-
-
-Table C-56 `external-jndi-resource` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==========================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==========================================================
-
-
-[[GSDPG913]][[sthref95]]
-
-
-[[attributes-15]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the
-`external-jndi-resource` element.
-
-[[GSDPG914]][[sthref96]][[sthref97]]
-
-
-Table C-57 `external-jndi-resource` Attributes
-
-[width="172%",cols="13%,46%,41%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`jndi-name` |none |Specifies the JNDI name for the resource.
-
-|`jndi-lookup-name` |none |Specifies the JNDI lookup name for the
-resource.
-
-|`res-type` |none |Specifies the fully qualified type of the resource.
-
-|`factory-class` |none a|
-Specifies the fully qualified name of the factory class, which
-implements javax.naming.spi.InitialContextFactory .
-
-For more information about JNDI, see the link:../application-development-guide/toc.html#GSDVG[GlassFish Server
-Open Source Edition Application Development Guide].
-
-|`object-type` |`user` a|
-(optional) Defines the type of the resource. Allowed values are:
-
-* `system-all` - A system resource for all server instances and the
-domain application server.
-* `system-admin` - A system resource only for the domain application
-server.
-* `system-instance` - A system resource for all server instances only.
-* `user` - A user resource.
-
-|`enabled` |`true` |(optional) Determines whether this resource is
-enabled at runtime.
-|=======================================================================
-
-
-[[beatc]][[GSDPG00153]][[fetched-with]]
-
-`fetched-with`
-~~~~~~~~~~~~~~
-
-Specifies the fetch group configuration for fields and relationships.
-The `fetched-with` element has different allowed and default subelements
-based on its parent element and the data types of the fields.
-
-* If there is no `fetched-with` subelement of a
-link:#bearu[`cmp-field-mapping`], and the data type is not BLOB, CLOB,
-VARBINARY, LONGVARBINARY, or OTHER, `fetched-with` can have any valid
-subelement. The default subelement is as follows: +
-[source,oac_no_warn]
-----
-<fetched-with><default/></fetched-with>
-----
-* If there is no `fetched-with` subelement of a
-link:#bearu[`cmp-field-mapping`], and the data type is BLOB, CLOB,
-VARBINARY, LONGVARBINARY, or OTHER, `fetched-with` can have any valid
-subelement except `<default/>`. The default subelement is as follows: +
-[source,oac_no_warn]
-----
-<fetched-with><none/></fetched-with>
-----
-* If there is no `fetched-with` subelement of a
-link:#bearw[`cmr-field-mapping`], `fetched-with` can have any valid
-subelement. The default subelement is as follows: +
-[source,oac_no_warn]
-----
-<fetched-with><none/></fetched-with>
-----
-
-Managed fields are multiple CMP or CMR fields that are mapped to the
-same column. A managed field can have any `fetched-with` subelement
-except `<default/>`. For additional information, see
-"link:../application-development-guide/container_managed-persistence.html#GSDVG00306[Managed Fields]" in GlassFish Server Open Source
-Edition Application Development Guide.
-
-[[fvyuw]][[GSDPG00479]][[superelements-68]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearu[`cmp-field-mapping`], link:#bearw[`cmr-field-mapping`]
-(`sun-cmp-mappings.xml`)
-
-[[fvyup]][[GSDPG00480]][[subelements-66]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `fetched-with`
-element.
-
-[[GSDPG915]][[sthref98]][[fvzcz]]
-
-
-Table C-58 `fetched-with` Subelements
-
-[width="100%",cols="14%,21%,65%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beasl[`default`]
-
-
- |exactly one subelement is required |Specifies that a CMP field belongs
-to the default hierarchical fetch group, which means it is fetched any
-time the bean is loaded from a database. Enables prefetching of a CMR
-field.
-
-a|
-link:#beaub[`level`]
-
-
- |exactly one subelement is required |Specifies the level number of a
-hierarchical fetch group.
-
-a|
-link:#beavg[`named-group`]
-
-
- |exactly one subelement is required |Specifies the name of an
-independent fetch group.
-
-a|
-link:#beavi[`none`]
-
-
- |exactly one subelement is required |Specifies that this field or
-relationship is placed into its own individual fetch group, which means
-it is loaded from a database the first time it is accessed in this
-transaction.
-|=======================================================================
-
-
-[[beatd]][[GSDPG00154]][[field-name]]
-
-`field-name`
-~~~~~~~~~~~~
-
-Specifies the Java identifier of a field. This identifier must match the
-value of the `field-name` subelement of the `cmp-field` element in the
-`ejb-jar.xml` file.
-
-[[fvzcm]][[GSDPG00481]][[superelements-69]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearu[`cmp-field-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvyxs]][[GSDPG00482]][[subelements-67]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beate]][[GSDPG00155]][[finder]]
-
-`finder`
-~~~~~~~~
-
-Describes the finders for CMP 1.1 with a method name and query.
-
-[[fvzao]][[GSDPG00483]][[superelements-70]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavk[`one-one-finders`] (`glassfish-ejb-jar.xml`)
-
-[[fvzdc]][[GSDPG00484]][[subelements-68]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `finder` element.
-
-[[GSDPG916]][[sthref99]][[fvyzu]]
-
-
-Table C-59 `finder` Subelements
-
-[width="100%",cols="31%,13%,56%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavb[`method-name`]
-
-
- |only one |Specifies the method name for the finder.
-
-a|
-link:#beawe[`query-params`]
-
-
- |zero or one |Specifies the query parameters for the CMP 1.1 finder.
-
-a|
-link:#beawb[`query-filter`]
-
-
- |zero or one |Specifies the query filter for the CMP 1.1 finder.
-
-a|
-link:#beawf[`query-variables`]
-
-
- |zero or one |Specifies variables in query expression for the CMP 1.1
-finder.
-
-a|
-link:#beawd[`query-ordering`]
-
-
- |zero or one |Specifies the query ordering for the CMP 1.1 finder.
-|=======================================================================
-
-
-[[beatf]][[GSDPG00156]][[flush-at-end-of-method]]
-
-`flush-at-end-of-method`
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the methods that force a database flush after execution.
-Applicable to entity beans.
-
-[[fvzcw]][[GSDPG00485]][[superelements-71]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyza]][[GSDPG00486]][[subelements-69]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`flush-at-end-of-method` element.
-
-[[GSDPG917]][[sthref100]][[fvzba]]
-
-
-Table C-60 `flush-at-end-of-method` Subelements
-
-[width="100%",cols="26%,18%,56%",options="header",]
-|======================================
-|Element |Required |Description
-a|
-link:#beauz[`method`]
-
-
- |one or more |Specifies a bean method.
-|======================================
-
-
-[[beath]][[GSDPG00157]][[gen-classes]]
-
-`gen-classes`
-~~~~~~~~~~~~~
-
-Specifies all the generated class names for a bean.
-
-
-[NOTE]
-=======================================================================
-
-This value is automatically generated by the server at deployment or
-redeployment time. Do not specify it or change it after deployment.
-
-=======================================================================
-
-
-[[fvyyh]][[GSDPG00487]][[superelements-72]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvzee]][[GSDPG00488]][[subelements-70]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `gen-classes` element.
-
-[[GSDPG918]][[sthref101]][[fvzdo]]
-
-
-Table C-61 `gen-classes` Subelements
-
-[width="100%",cols="20%,11%,69%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beawn[`remote-impl`]
-
-
- |zero or one |Specifies the fully-qualified class name of the generated
-`EJBObject` impl class.
-
-a|
-link:#beaud[`local-impl`]
-
-
- |zero or one |Specifies the fully-qualified class name of the generated
-`EJBLocalObject` impl class.
-
-a|
-link:#beawm[`remote-home-impl`]
-
-
- |zero or one |Specifies the fully-qualified class name of the generated
-`EJBHome` impl class.
-
-a|
-link:#beauc[`local-home-impl`]
-
-
- |zero or one |Specifies the fully-qualified class name of the generated
-`EJBLocalHome` impl class.
-|=======================================================================
-
-
-[[beaxw]][[GSDPG00158]][[glassfish-application]]
-
-`glassfish-application`
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Defines the GlassFish Server specific configuration for an application.
-This is the root element; there can only be one `glassfish-application`
-element in a `glassfish-application.xml` file. See
-link:dd-files.html#beaqk[The glassfish-application.xml File].
-
-[[fvzhn]][[GSDPG00489]][[superelements-73]]
-
-Superelements
-^^^^^^^^^^^^^
-
-none
-
-[[fvzgn]][[GSDPG00490]][[subelements-71]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`glassfish-application` element.
-
-[[GSDPG919]][[sthref102]][[fvzhl]]
-
-
-Table C-62 `glassfish-application` Subelements
-
-[width="100%",cols="28%,12%,60%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beayr[`web`]
-
-
- |zero or more |Specifies the application's web tier configuration.
-
-a|
-link:#beavo[`pass-by-reference`]
-
-
- |zero or one |Determines whether EJB modules use pass-by-value or
-pass-by-reference semantics.
-
-a|
-link:#beayk[`unique-id`]
-
-
- |zero or one |Contains the unique ID for the application.
-
-a|
-link:#beaxg[`security-role-mapping`]
-
-
- |zero or more |Maps a role in the corresponding Java EE XML file to a
-user or group.
-
-a|
-link:#beawi[`realm`]
-
-
- |zero or one |Specifies an authentication realm.
-
-a|
-link:#beasu[`ejb-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `ejb-ref` in the
-corresponding Java EE XML file.
-
-a|
-link:#beaww[`resource-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
-corresponding Java EE XML file.
-
-a|
-link:#beawu[`resource-env-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
-the corresponding Java EE XML file.
-
-a|
-link:#beaxk[`service-ref`]
-
-
- |zero or more |Specifies runtime settings for a web service reference.
-
-a|
-link:#gauao[`message-destination-ref`]
-
-
- |zero or more |Specifies the name of a physical message destination.
-
-a|
-link:#beauu[`message-destination`]
-
-
- |zero or more |Specifies the name of a logical message destination.
-
-a|
-link:#gjizj[`archive-name`]
-
-
- |zero or one |Specifies the name of the archive file.
-
-a|
-link:#gjjak[`compatibility`]
-
-
- |zero or one |Specifies the GlassFish Server release with which to be
-backward compatible in terms of JAR visibility requirements for
-applications.
-
-a|
-link:#gkhtr[`keep-state`]
-
-
- |zero or one |Retains web sessions, stateful session bean instances,
-and persistently created EJB timers across redeployments.
-
-a|
-link:#gkkfd[`version-identifier`]
-
-
- |zero or one |Contains version information for an application.
-|=======================================================================
-
-
-[[beaxx]][[GSDPG00159]][[glassfish-application-client]]
-
-`glassfish-application-client`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Defines the GlassFish Server specific configuration for an application
-client. This is the root element; there can only be one
-`glassfish-application-client` element in a
-`glassfish-application-client.xml` file. See link:dd-files.html#beaqo[The
-glassfish-application-client.xml file].
-
-[[fvzgq]][[GSDPG00491]][[superelements-74]]
-
-Superelements
-^^^^^^^^^^^^^
-
-none
-
-[[fvzja]][[GSDPG00492]][[subelements-72]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`glassfish-application-client` element.
-
-[[GSDPG920]][[sthref103]][[fvzjh]]
-
-
-Table C-63 `glassfish-application-client` subelements
-
-[width="100%",cols="28%,12%,60%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beasu[`ejb-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `ejb-ref` in the
-corresponding Java EE XML file.
-
-a|
-link:#beaww[`resource-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
-corresponding Java EE XML file.
-
-a|
-link:#beawu[`resource-env-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
-the corresponding Java EE XML file.
-
-a|
-link:#beaxk[`service-ref`]
-
-
- |zero or more |Specifies runtime settings for a web service reference.
-
-a|
-link:#gauao[`message-destination-ref`]
-
-
- |zero or more |Specifies the name of a physical message destination.
-
-a|
-link:#beauu[`message-destination`]
-
-
- |zero or more |Specifies the name of a logical message destination.
-
-a|
-link:#gauax[`java-web-start-access`]
-
-
- |zero or one |Specifies changes to default Java Web Start parameters.
-
-a|
-link:#gkkfd[`version-identifier`]
-
-
- |zero or one |Contains version information for an application client.
-|=======================================================================
-
-
-[[beaya]][[GSDPG00160]][[glassfish-ejb-jar]]
-
-`glassfish-ejb-jar`
-~~~~~~~~~~~~~~~~~~~
-
-Defines the GlassFish Server specific configuration for an EJB JAR file.
-This is the root element; there can only be one `glassfish-ejb-jar`
-element in a `glassfish-ejb-jar.xml` file. See
-link:dd-files.html#beaqm[The glassfish-ejb-jar.xml File].
-
-[[fvzhw]][[GSDPG00493]][[superelements-75]]
-
-Superelements
-^^^^^^^^^^^^^
-
-none
-
-[[fvzfv]][[GSDPG00494]][[subelements-73]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `glassfish-ejb-jar`
-element.
-
-[[GSDPG921]][[sthref104]][[fvzfu]]
-
-
-Table C-64 `glassfish-ejb-jar` Subelements
-
-[width="100%",cols="36%,12%,52%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaxg[`security-role-mapping`]
-
-
- |zero or more |Maps a role in the corresponding Java EE XML file to a
-user or group.
-
-a|
-link:#beasx[`enterprise-beans`]
-
-
- |only one |Describes all the runtime properties for an EJB JAR file in
-the application.
-
-a|
-link:#gjjak[`compatibility`]
-
-
- |zero or one |Specifies the GlassFish Server release with which to be
-backward compatible in terms of JAR visibility requirements for
-applications.
-
-a|
-link:#gkhtw[`disable-nonportable-jndi-names`]
-
-
- |zero or one |Disables GlassFish Server specific JNDI names.
-
-a|
-link:#gkhtr[`keep-state`]
-
-
- |zero or one |Retains stateful session bean instances and persistently
-created EJB timers across redeployments.
-
-a|
-link:#gkkfd[`version-identifier`]
-
-
- |zero or one |Contains version information for an EJB module.
-|=======================================================================
-
-
-[[beayb]][[GSDPG00161]][[glassfish-web-app]]
-
-`glassfish-web-app`
-~~~~~~~~~~~~~~~~~~~
-
-Defines GlassFish Server specific configuration for a web module. This
-is the root element; there can only be one `glassfish-web-app` element
-in a `glassfish-web.xml` file. See link:dd-files.html#beaql[The
-glassfish-web.xml File].
-
-[[fvzgj]][[GSDPG00495]][[superelements-76]]
-
-Superelements
-^^^^^^^^^^^^^
-
-none
-
-[[fvzhr]][[GSDPG00496]][[subelements-74]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `glassfish-web-app`
-element.
-
-[[GSDPG922]][[sthref105]][[fvzgf]]
-
-
-Table C-65 `glassfish-web-app` Subelements
-
-[width="100%",cols="28%,12%,60%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beasg[`context-root`]
-
-
- |zero or one |Contains the web context root for the web module.
-
-a|
-link:#beaxg[`security-role-mapping`]
-
-
- |zero or more |Maps roles to users or groups in the currently active
-realm.
-
-a|
-link:#beaxm[`servlet`]
-
-
- |zero or more |Specifies a principal name for a servlet, which is used
-for the `run-as` role defined in `web.xml`.
-
-a|
-link:#beatm[`idempotent-url-pattern`]
-
-
- |zero or more |Specifies a URL pattern for idempotent requests.
-
-a|
-link:#beaxp[`session-config`]
-
-
- |zero or one |Specifies session manager, session cookie, and other
-session-related information.
-
-a|
-link:#beasu[`ejb-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `ejb-ref` in the
-corresponding Java EE XML file.
-
-a|
-link:#beaww[`resource-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-ref` in the
-corresponding Java EE XML file.
-
-a|
-link:#beawu[`resource-env-ref`]
-
-
- |zero or more |Maps the absolute JNDI name to the `resource-env-ref` in
-the corresponding Java EE XML file.
-
-a|
-link:#beaxk[`service-ref`]
-
-
- |zero or more |Specifies runtime settings for a web service reference.
-
-a|
-link:#gauao[`message-destination-ref`]
-
-
- |zero or more |Specifies the name of a physical message destination.
-
-a|
-link:#beard[`cache`]
-
-
- |zero or one |Configures caching for web application components.
-
-a|
-link:#bearq[`class-loader`]
-
-
- |zero or one |Specifies class loader configuration information.
-
-a|
-link:#beatx[`jsp-config`]
-
-
- |zero or one |Specifies JSP configuration information.
-
-a|
-link:#beaue[`locale-charset-info`]
-
-
- |zero or one |Deprecated. Use the `parameter-encoding` subelement of
-`glassfish-web-app` instead.
-
-a|
-link:#beavn[`parameter-encoding`]
-
-
- |zero or one |Determines the default request character encoding and how
-the web container decodes parameters from forms according to a hidden
-field value.
-
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-
-a|
-link:#gikqk[`valve`]
-
-
- |zero or more |Specifies a custom valve.
-
-a|
-link:#beauu[`message-destination`]
-
-
- |zero or more |Specifies the name of a logical message destination.
-
-a|
-link:#beayt[`webservice-description`]
-
-
- |zero or more |Specifies a name and optional publish location for a web
-service.
-
-a|
-link:#gkhtr[`keep-state`]
-
-
- |zero or one |Retains web sessions across redeployments.
-
-a|
-link:#gkkfd[`version-identifier`]
-
-
- |zero or one |Contains version information for a web application.
-|=======================================================================
-
-
-[[fvzia]][[GSDPG00497]][[attributes-16]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `glassfish-web-app`
-element.
-
-[[GSDPG923]][[sthref106]][[fvzjf]]
-
-
-Table C-66 `glassfish-web-app` Attributes
-
-[width="172%",cols="17%,46%,37%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`error-url` |(blank) |(optional) Not implemented. Do not use.
-
-|`httpservlet-``security-``provider` |none |(optional) Specifies the
-`HttpServlet` message layer provider that the web container's servlet
-`auth-constraint` processing calls.
-|=======================================================================
-
-
-[[fvzgt]][[GSDPG00498]][[properties-7]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `glassfish-web-app`
-element.
-
-[[GSDPG924]][[sthref107]][[fvzim]]
-
-
-Table C-67 `glassfish-web-app` Properties
-
-[width="100%",cols="35%,23%,42%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`allowLinking` |`false` a|
-If `true`, resources in this web application that are symbolic links are
-served. You can also define this property for a virtual server. Web
-applications on the virtual server that do not define this property use
-the virtual server's value. For details, see
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-
-Caution: Setting this property to `true` on Windows systems exposes JSP
-source code.
-
-|`alternatedocroot_n` |none a|
-Specifies an alternate document root (docroot), where n is a positive
-integer that allows specification of more than one. Alternate docroots
-allow web applications to serve requests for certain resources from
-outside their own docroot, based on whether those requests match one (or
-more) of the URI patterns of the web application's alternate docroots.
-
-If a request matches an alternate docroot's URI pattern, it is mapped to
-the alternate docroot by appending the request URI (minus the web
-application's context root) to the alternate docroot's physical location
-(directory). If a request matches multiple URI patterns, the alternate
-docroot is determined according to the following precedence order:
-
-* Exact match
-* Longest path match
-* Extension match
-
-For example, the following properties specify three alternate docroots.
-The URI pattern of the first alternate docroot uses an exact match,
-whereas the URI patterns of the second and third alternate docroots use
-extension and longest path prefix matches, respectively.
-
-[source,oac_no_warn]
-----
-<property name="alternatedocroot_1" 
-   value="from=/my.jpg dir=/srv/images/jpg"/>
-<property name="alternatedocroot_2" 
-   value="from=*.jpg dir=/srv/images/jpg"/>
-<property name="alternatedocroot_3" 
-   value="from=/jpg/* dir=/src/images"/>
-----
-
-The `value` of each alternate docroot has two components: The first
-component, `from`, specifies the alternate docroot's URI pattern, and
-the second component, `dir`, specifies the alternate docroot's physical
-location (directory). Spaces are allowed in the `dir` component.
-
-You can set this property for all the web applications on a specific
-virtual server. For details, see
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-
-|`valve_n` |none a|
-This property is deprecated. Use the link:#gikqk[`valve`] subelement
-instead.
-
-Specifies a fully qualified class name of a custom valve, where n is a
-positive integer that allows specification of more than one. The valve
-class must implement the org.apache.catalina.Valve interface from Tomcat
-or previous GlassFish Server releases, or the
-org.glassfish.web.valve.GlassFishValve interface from the current
-GlassFish Server release. For example:
-
-[source,oac_no_warn]
-----
-<property name="valve_1" 
-   value="org.glassfish.extension.Valve"/>
-----
-
-You can set this property for all the web applications on a specific
-virtual server. For details, see
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-
-|`listener_n` |none a|
-Specifies a fully qualified class name of a custom Catalina listener,
-where n is a positive integer that allows specification of more than
-one. The listener class must implement the
-org.apache.catalina.ContainerListener,
-org.apache.catalina.LifecycleListener, or
-org.apache.catalina.InstanceListener interface. For example:
-
-[source,oac_no_warn]
-----
-<property name="listener_1" 
-   value="org.glassfish.extension.MyLifecycleListener"/>
-----
-
-You can set this property for all the web applications on a specific
-virtual server. For details, see
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-
-|`crossContextAllowed` |`true` |If `true`, allows this web application
-to access the contexts of other web applications using the
-`ServletContext.``getContext()`method.
-
-|`relativeRedirectAllowed` |`false` |If `true`, allows this web
-application to send a relative URL to the client using
-`HttpServletResponse.``sendRedirect()`, and instructs the web container
-not to translate any relative URLs to fully qualified ones.
-
-|`reuseSessionID` |`false` |If `true`, sessions generated for this web
-application use the session ID specified in the request.
-
-|`securePagesWithPragma` |`true` a|
-Set this property to `false` to ensure that for this web application
-file downloads using SSL work properly in Internet Explorer.
-
-You can set this property for all the web applications on a specific
-virtual server. For details, see
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-
-|`singleThreadedServletPoolSize` |`5` |Specifies the maximum number of
-servlet instances allocated for each `SingleThreadModel` servlet in the
-web application.
-
-|`tempdir` a|
-domain-dir`/generated/`app-name
-
-or
-
-domain-dir`/generated/`module-name
-
- |Specifies a temporary directory for use by this web module. This value
-is used to construct the value of the `javax.servlet.context.``tempdir`
-context attribute. Compiled JSP files are also placed in this directory.
-
-|`useResponseCTForHeaders` |`false` |If `true`, response headers are
-encoded using the response's charset instead of the default (UTF-8).
-|=======================================================================
-
-
-[[giygy]][[GSDPG00162]][[group-map]]
-
-`group-map`
-~~~~~~~~~~~
-
-Maps an EIS group to a group defined in the GlassFish Server domain.
-
-[[GSDPG925]][[sthref108]]
-
-
-[[superelements-77]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyht[`work-security-map`] (`glassfish-resources.xml`)
-
-[[giyid]][[GSDPG00499]][[subelements-75]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[GSDPG926]][[sthref109]]
-
-
-[[attributes-17]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `group-map` element.
-
-[[GSDPG927]][[sthref110]][[sthref111]]
-
-
-Table C-68 `group-map` Attributes
-
-[width="181%",cols="13%,49%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`eis-group` |none |Specifies an EIS group.
-
-|`mapped-group` |none |Specifies a group defined in the GlassFish Server
-domain.
-|=======================================================================
-
-
-[[beati]][[GSDPG00163]][[group-name]]
-
-`group-name`
-~~~~~~~~~~~~
-
-Specifies a group name in the current realm.
-
-[[fvzak]][[GSDPG00500]][[superelements-78]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxg[`security-role-mapping`] (`glassfish-application.xml`,
-`glassfish-web.xml`, `glassfish-ejb-jar.xml`)
-
-[[fvywm]][[GSDPG00501]][[subelements-76]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beatk]][[GSDPG00502]][[http-method]]
-
-`http-method`
-^^^^^^^^^^^^^
-
-Specifies an HTTP method that is eligible for caching. The default is
-`GET`.
-
-[[fvzbq]][[GSDPG00317]][[superelements-79]]
-
-Superelements
-+++++++++++++
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvyyj]][[GSDPG00318]][[subelements-77]]
-
-Subelements
-+++++++++++
-
-none - contains data
-
-[[beatm]][[GSDPG00164]][[idempotent-url-pattern]]
-
-`idempotent-url-pattern`
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies a URL pattern for idempotent requests.
-
-[[fvzaj]][[GSDPG00503]][[superelements-80]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[fvzea]][[GSDPG00504]][[subelements-78]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvyxx]][[GSDPG00505]][[attributes-18]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the
-`idempotent-url-pattern` element.
-
-[[GSDPG928]][[sthref112]][[fvzca]]
-
-
-Table C-69 `idempotent-url-pattern` Attributes
-
-[width="181%",cols="12%,49%,39%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`url-pattern` |none |Specifies a URL pattern, which can contain
-wildcards. The URL pattern must conform to the mappings specified in
-section SRV 11.2 of the Servlet 2.4 specification.
-
-|`no-of-retries` |`-1` |(optional) Specifies the number of times the
-load balancer retries an idempotent request. A value of `-1` indicates
-infinite retries.
-|=======================================================================
-
-
-[[fvyxy]][[GSDPG00506]][[example-6]]
-
-Example
-^^^^^^^
-
-The following example specifies that all requests for the URI
-`sun-java/*` are idempotent.
-
-[source,oac_no_warn]
-----
-<idempotent-url-pattern url-pattern="sun_java/*" no-of-retries="10"/>
-----
-
-[[beatn]][[GSDPG00165]][[integrity]]
-
-`integrity`
-~~~~~~~~~~~
-
-Specifies if the target supports integrity-protected messages. The
-values are `NONE`, `SUPPORTED`, or `REQUIRED`.
-
-[[fvzdj]][[GSDPG00507]][[superelements-81]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayh[`transport-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvzdv]][[GSDPG00508]][[subelements-79]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beato]][[GSDPG00166]][[ior-security-config]]
-
-`ior-security-config`
-~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the security information for the interoperable object
-reference (IOR).
-
-[[fvzbe]][[GSDPG00509]][[superelements-82]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvzbv]][[GSDPG00510]][[subelements-80]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `ior-security-config`
-element.
-
-[[GSDPG929]][[sthref113]][[fvyyk]]
-
-
-Table C-70 `ior-security-config` Subelements
-
-[width="100%",cols="20%,11%,69%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beayh[`transport-config`]
-
-
- |zero or one |Specifies the security information for transport.
-
-a|
-link:#beaqw[`as-context`]
-
-
- |zero or one |Specifies the authentication mechanism used to
-authenticate the client. If specified, it is `USERNAME_PASSWORD`.
-
-a|
-link:#beaxb[`sas-context`]
-
-
- |zero or one |Describes the sas-context fields.
-|=======================================================================
-
-
-[[beatp]][[GSDPG00167]][[is-cache-overflow-allowed]]
-
-`is-cache-overflow-allowed`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This element is deprecated. Do not use.
-
-[[fvzcu]][[GSDPG00511]][[superelements-83]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
-
-[[beatq]][[GSDPG00168]][[is-one-one-cmp]]
-
-`is-one-one-cmp`
-~~~~~~~~~~~~~~~~
-
-This element is not used.
-
-[[fvyww]][[GSDPG00512]][[superelements-84]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
-
-[[beatr]][[GSDPG00169]][[is-read-only-bean]]
-
-`is-read-only-bean`
-~~~~~~~~~~~~~~~~~~~
-
-Specifies that this entity bean is a read-only bean if `true`. If this
-element is absent, the default value of `false` is used.
-
-[[fvzan]][[GSDPG00513]][[superelements-85]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyvx]][[GSDPG00514]][[subelements-81]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beatt]][[GSDPG00170]][[java-method]]
-
-`java-method`
-~~~~~~~~~~~~~
-
-Specifies a method.
-
-[[fvyyw]][[GSDPG00515]][[superelements-86]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaut[`message`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvyvo]][[GSDPG00516]][[subelements-82]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `java-method` element.
-
-[[GSDPG930]][[sthref114]][[fvzdu]]
-
-
-Table C-71 `java-method` Subelements
-
-[width="100%",cols="30%,14%,56%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavb[`method-name`]
-
-
- |only one |Specifies a method name.
-
-a|
-link:#beavd[`method-params`]
-
-
- |zero or one |Specifies fully qualified Java type names of method
-parameters.
-|=======================================================================
-
-
-[[gauax]][[GSDPG00171]][[java-web-start-access]]
-
-`java-web-start-access`
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies changes to default Java Web Start parameters for an embedded
-or stand-alone application client module.
-
-[[gauba]][[GSDPG00517]][[superelements-87]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[gauav]][[GSDPG00518]][[subelements-83]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`java-web-start-access` element.
-
-[[GSDPG931]][[sthref115]][[gauaw]]
-
-
-Table C-72 `java-web-start-access` subelements
-
-[width="100%",cols="15%,11%,74%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beasg[`context-root`]
-
-
- |zero or one a|
-Contains the context root for the Java Web Start enabled application
-client module. If none is specified, a default is generated.
-
-The default for a web module is as follows:
-
-[source,oac_no_warn]
-----
-http://host:port/app-name/relative-URI-to-appclient-jar
-----
-
-The default for a stand-alone application client module is as follows:
-
-[source,oac_no_warn]
-----
-http://host:port/module-name
-----
-
-If the `module-name` is not specified during deployment, the name of the
-EAR or JAR file without the extension is used. If the web module is not
-in EAR or JAR file format, a name is generated and written to the server
-log.
-
-a|
-link:#gaubh[`eligible`]
-
-
- |zero or one |Specifies whether the application client module is
-eligible to be Java Web Start enabled. Allowed values are `true` (the
-default) and `false`.
-
-a|
-link:#gbgdw[`vendor`]
-
-
- |zero or one |Specifies the name of the vendor as it appears in Java
-Web Start download and launch screens. The default value is
-`Application Client`.
-
-a|
-link:#gkhun[`jnlp-doc`]
-
-
- |zero or one |Specifies the name of a custom JNLP file. If none is
-specified, a default JNLP file is generated.
-|=======================================================================
-
-
-[[giyil]][[GSDPG00172]][[jdbc-connection-pool]]
-
-`jdbc-connection-pool`
-~~~~~~~~~~~~~~~~~~~~~~
-
-Defines the attributes and properties that are required for creating a
-JDBC connection pool.
-
-[[GSDPG932]][[sthref116]]
-
-
-[[superelements-88]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG933]][[sthref117]]
-
-
-[[subelements-84]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `jdbc-connection-pool`
-element.
-
-[[GSDPG934]][[sthref118]][[sthref119]]
-
-
-Table C-73 `jdbc-connection-pool` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==========================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==========================================================
-
-
-[[GSDPG935]][[sthref120]]
-
-
-[[attributes-19]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `jdbc-connection-pool`
-element. Changing the following attributes requires a server restart or
-the redeployment or disabling and re-enabling of applications that refer
-to the resource: `datasource-classname`, `associate-with-thread`,
-`lazy-connection-association`, and `lazy-connection-enlistment`.
-
-[[GSDPG936]][[sthref121]][[sthref122]]
-
-
-Table C-74 `jdbc-connection-pool` Attributes
-
-[width="181%",cols="24%,49%,27%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the name of the connection pool. A
-link:#giyhm[`jdbc-resource`] element's `pool-name` attribute refers to
-this `name`.
-
-|`datasource-``classname` |none |(optional) Specifies the class name of
-the associated vendor-supplied data source. This class must implement
-javax.sql.DataSource, javax.sql.XADataSource ,
-javax.sql.ConnectionPoolDatasource , or a combination.
-
-|`res-type` |none |(optional) Specifies the interface the data source
-class implements. The value of this attribute can be
-javax.sql.DataSource, javax.sql.XADataSource ,
-javax.sql.ConnectionPoolDatasource , or java.sql.Driver. To support
-configuration of JDBC drivers and applications that use java.sql.Driver
-implementations, set this attribute to java.sql.Driver . This attribute
-must be specified to avoid ambiguity when a data source class implements
-two or more of these interfaces or when a `driver-classname` is
-specified. An error occurs if this attribute has a legal value and the
-indicated interface is not implemented by the data source class.
-
-|`driver-``classname` |none |(optional) Specifies the vendor-supplied
-JDBC driver class name. This driver must implement the java.sql.Driver
-interface.
-
-|`ping` |`false` |(optional) Specifies whether to ping the pool during
-pool creation or reconfiguration to identify and warn of any erroneous
-attribute values.
-
-|`steady-pool-size` |`8` |(optional) Specifies the initial and minimum
-number of connections maintained in the pool.
-
-|`max-pool-size` |`32` |(optional) Specifies the maximum number of
-connections that can be created to satisfy client requests.
-
-|`max-wait-time-``in-millis` |`60000` |(optional) Specifies the amount
-of time, in milliseconds, that the caller is willing to wait for a
-connection. If `0`, the caller is blocked indefinitely until a resource
-is available or an error occurs.
-
-|`pool-resize-``quantity` |`2` a|
-(optional) Specifies the number of idle connections to be destroyed if
-the existing number of connections is above the `steady-pool-size`
-(subject to the `max-pool-size` limit).
-
-This is enforced periodically at the `idle-timeout-in-seconds` interval.
-An idle connection is one that has not been used for a period of
-`idle-timeout-in-seconds`. When the pool size reaches
-`steady-pool-size`, connection removal stops.
-
-|`idle-timeout-``in-seconds` |`300` a|
-(optional) Specifies the maximum time that a connection can remain idle
-in the pool. After this amount of time, the pool can close this
-connection.
-
-This timeout value must be kept shorter than the server side (database)
-timeout value to prevent the accumulation of unusable connections in the
-application.
-
-|`transaction-``isolation-level` |default JDBC driver isolation level a|
-(optional) Specifies the transaction isolation level on the pooled
-database connections. Allowed values are `read-uncommitted`,
-`read-committed` , `repeatable-read`, or `serializable`.
-
-Applications that change the isolation level on a pooled connection
-programmatically risk polluting the pool, which can lead to errors. See
-`is-isolation-``level-``guaranteed` for more details.
-
-|`is-isolation-``level-guaranteed` |`true` |(optional) Applicable only
-when `transaction-``isolation-``level` is explicitly set. If `true`,
-every connection obtained from the pool is guaranteed to have the
-desired isolation level. This might impact performance on some JDBC
-drivers. Only set this attribute to `false` if you are certain that the
-hosted applications do not return connections with altered isolation
-levels.
-
-|`is-connection-``validation-``required` |`false` |(optional) Specifies
-whether connections have to be validated before being given to the
-application. If a resource's validation fails, it is destroyed, and a
-new resource is created and returned.
-
-|`connection-``validation-``method` |`table` a|
-(optional) Legal values are as follows:
-
-* `auto-commit`, which uses
-`Connection.``setAutoCommit``(Connection.``getAutoCommit())`
-* `meta-data`, which uses `Connection.getMetaData()`
-* `table`, which performs a query on a table specified in the
-`validation-table-name` attribute
-* `custom-validation`, which uses a user-defined validation mechanism
-specified by the custom implementation class in `validation-classname`.
-
-Because many JDBC drivers cache the results of `auto-commit` and
-`meta-data` calls, they do not always provide reliable validations.
-Check with the driver vendor to determine whether these calls are cached
-or not.
-
-The `table` must exist and be accessible, but it doesn't require any
-rows. Do not use an existing table that has a large number of rows or a
-table that is already frequently accessed.
-
-|`validation-``table-``name` |none |(optional) Specifies the table name
-to be used to perform a query to validate a connection. This parameter
-is mandatory if and only if `connection-``validation-``method` is set to
-`table`.
-
-|`validation-``classname` |none a|
-(optional) Specifies the custom validation implementation class name.
-This parameter is mandatory if `connection-validation-method` is set to
-`custom-validation`. The classname provided must be accessible to the
-GlassFish Server. The specified class must implement the
-org.glassfish.api.jdbc.ConnectionValidation interface.
-
-GlassFish Server provides the following custom validation class
-templates for MSSQL, DB2, and Sybase databases. All of them implement
-the org.glassfish.api.jdbc.ConnectionValidation interface.
-
-* `org.glassfish.api.jdbc.MSSQLConnectionValidation`
-* `org.glassfish.api.jdbc.DB2ConnectionValidation`
-* `org.glassfish.api.jdbc.SybaseConnectionValidation`
-
-|`init-sql` |none |(optional) Specifies an SQL string to be executed
-whenever a connection is created (not reused) in the pool. This
-initializes the state of the connection.
-
-|`fail-all-``connections` |`false` |(optional) If `true`, closes all
-connections in the pool if a single validation check fails. This
-parameter is mandatory if and only if
-`is-connection-``validation-``required` is set to `true`.
-
-|`non-transactional-``connections` |`false` |(optional) If `true`,
-non-transactional connections can be made to the JDBC connection pool.
-These connections are not automatically enlisted with the transaction
-manager.
-
-|`allow-non-``component-``callers` |`false` |(optional) If `true`,
-non-Java-EE components, such as servlet filters, lifecycle modules, and
-third party persistence managers, can use this JDBC connection pool. The
-returned connection is automatically enlisted with the transaction
-context obtained from the transaction manager. Standard Java EE
-components can also use such pools. Connections obtained by
-non-component callers are not automatically closed at the end of a
-transaction by the container. They must be explicitly closed by the
-caller.
-
-|`validate-atmost-``once-period-``in-``seconds` |`0` a|
-(optional) Specifies the time interval within which a connection is
-validated at most once. Minimizes the number of validation calls.
-
-A value of zero implies that GlassFish Server does not attempt to
-minimize the number of validation requests by a connection. That is, a
-value of zero disables this attribute. As a result, the same connection
-is validated every time the application acquires the connection.
-
-|`connection-``leak-timeout-``in-seconds` |`0` a|
-(optional) Detects potential connection leaks by the application. A
-connection that is not returned back to the pool by the application
-within the specified period is assumed to be potentially leaking, and a
-stack trace of the caller is logged. A zero value disables leak
-detection. A nonzero value enables leak tracing.
-
-Use this attribute along with `connection-leak-reclaim` to avoid
-potential connection leaks from the application.
-
-|`connection-leak-``reclaim` |`false` |(optional) If `true`, the pool
-will reclaim a connection after `connection-leak-timeout-in-seconds`
-occurs.
-
-|`connection-creation-``retry-attempts` |`0` |(optional) Specifies the
-number of attempts to create a new connection in case of a failure.
-
-|`connection-creation-``retry-interval-``in-seconds` |`10` |(optional)
-Specifies the time interval between attempts to create a connection when
-`connection-creation-retry-attempts` is greater than `0`.
-
-|`statement-leak-``timeout-``in-seconds` |`0` a|
-(optional) Detects potential statement leaks by the application. A
-statement that is not closed by the application within the specified
-period is assumed to be potentially leaking, and a stack trace of the
-caller is logged. A zero value disables leak detection. A nonzero value
-enables leak tracing.
-
-Use this attribute along with `statement-leak-reclaim` to avoid
-potential statement leaks from the application.
-
-|`statement-leak-``reclaim` |`false` |(optional) If `true`, the reclaim
-of a statement after `statement-leak-timeout-in-seconds` occurs.
-
-|`statement-timeout-``in-seconds` |`-1` a|
-(optional) Sets the query timeout property of a statement to enable
-termination of abnormally long running queries. The default value of
-`-1` disables this feature.
-
-An abnormally long running JDBC query executed by an application may
-leave it in a hanging state unless a timeout is explicitly set on the
-statement. This attribute guarantees that all queries automatically time
-out if not completed within the specified period. When statements are
-created, the `queryTimeout` is set according to the value specified in
-this attribute. This works only when the underlying JDBC driver supports
-`queryTimeout` for `Statement`, `PreparedStatement`,
-`CallableStatement`, and `ResultSet`.
-
-|`lazy-connection-``enlistment` |`false` |(optional) If `true`, a
-connection is not enlisted in a transaction until it is used. If
-`false`, any connection object available to a transaction is enlisted in
-the transaction.
-
-|`lazy-connection-``association` |`false` |(optional) If `true`, a
-physical connection is not associated with a logical connection until it
-is used. If `false`, a physical connection is associated with a logical
-connection even before it is used.
-
-|`associate-with-``thread` |`false` a|
-(optional) Specifies whether connections are associated with the thread
-to enable the thread to reuse the connections. If `true`, allows
-connections to be saved as `ThreadLocal` in the calling thread.
-Connections get reclaimed only when the calling thread dies or when the
-calling thread is not in use and the pool has run out of connections. If
-`false`, the thread must obtain a connection from the pool each time the
-thread requires a connection.
-
-This attribute associates connections with a thread such that when the
-same thread is in need of connections, it can reuse the connections
-already associated with that thread. In this case, the overhead of
-getting connections from the pool is avoided. However, when this value
-is set to `true`, you should verify that the value of the
-`max-pool-size` attribute is comparable to the `max-thread-pool-size`
-attribute of the associated thread pool. If the `max-thread-pool-size`
-value is much higher than the `max-pool-size` value, a lot of time is
-spent associating connections with a new thread after dissociating them
-from an older one. Use this attribute in cases where the thread pool
-should reuse connections to avoid this overhead.
-
-| | |
-
-|`match-connections` |`false` a|
-(optional) Specifies whether a connection that is selected from the pool
-should be matched with the connections with certain credentials. If
-`true`, enables connection matching. You can set to `false` if
-connections are homogeneous.
-
-If the connection pool is used by applications that have multiple user
-credentials, `match-connections` must be `true`. The connection pool
-matches the request's credential with the connections in the pool and
-returns a matched connection for use. For new requests with different
-credentials, unmatched free connections are automatically purged to
-provide new connections to satisfy the new requests. This attribute need
-not be `true` if it is known that there is only one credential used by
-the applications and therefore the pool has homogeneous connections.
-
-|`max-connection-``usage-count` |`0` |(optional) Specifies the number of
-times a connections is reused by the pool, after which it is closed. A
-zero value disables this feature. By limiting the maximum number of
-times a connection can be reused, you can avoid statement leaks if the
-application does not close statements.
-
-|`sql-trace-``listeners` |none |(optional) Specifies that SQL statements
-executed by applications need to be traced. Helps administrators analyze
-the statements. Expects as a value a comma-separated list of listener
-implementation class names. Enables easy filtering of log messages for
-the SQL statements. SQL trace listeners must implement the
-org.glassfish.api.jdbc.SQLTraceListener interface.
-
-|`statement-``cache-size` |`0` |(optional) Specifies the number of
-statements to be cached using the `lru` (Least Recently Used) caching
-mechanism. The default value of `0` disables statement caching.
-
-|`pooling` |`true` |(optional) If `false`, disables connection pooling.
-
-|`wrap-jdbc-objects` |`true` a|
-(optional) If `true`, wrapped JDBC objects are returned for `Statement`,
-`PreparedStatement`, `CallableStatement`, `ResultSet`, and
-`DatabaseMetaData`.
-
-This option ensures that `Statement.getConnection()` is the same as
-`DataSource.getConnection()`. Therefore, this option should be `true`
-when both `Statement.getConnection()` and `DataSource.getConnection()`
-are done. The default is `false` to avoid breaking existing
-applications.
-
-|=======================================================================
-
-
-[[GSDPG937]][[sthref123]]
-
-
-[[glassfish-server-properties]]
-GlassFish Server Properties
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following table describes properties for the `jdbc-connection-pool`
-element that are specific to GlassFish Server.
-
-[[GSDPG938]][[sthref124]][[sthref125]]
-
-
-Table C-75 `jdbc-connection-pool` Database Properties
-
-[width="172%",cols="18%,46%,36%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`dynamic-reconfiguration-wait-timeout-in-seconds` |none a|
-Specifies the timeout for dynamic reconfiguration of the pool.
-In-progress connection requests must complete before this timeout
-expires or they must be retried. New connection requests wait for this
-timeout to expire before acquiring connections to the reconfigured pool.
-If this property exists and has a positive value, it is enabled.
-
-If this property is not set and pool reconfiguration results in pool
-recreation, in-progress connection requests must be retried.
-
-|`number-of-top-queries-to-report` |`10` a|
-Specifies the number of most frequently used queries to display. For
-example, the default value of `10` displays the top ten queries.
-
-This property is disabled when `jdbc-connection-pool` monitoring is set
-to `LOW` or `OFF`. It is enabled when `jdbc-connection-pool` monitoring
-is set to `HIGH` and the `sql-trace-listeners` attribute is set.
-
-|`time-to-keep-queries-in-minutes` |`5` a|
-Specifies the time to retain queries in a cache before they are purged.
-
-This property is disabled when `jdbc-connection-pool` monitoring is set
-to `LOW` or `OFF`. It is enabled when `jdbc-connection-pool` monitoring
-is set to `HIGH` and the `sql-trace-listeners` attribute is set.
-
-|=======================================================================
-
-
-[[GSDPG939]][[sthref126]]
-
-
-[[database-properties]]
-Database Properties
-^^^^^^^^^^^^^^^^^^^
-
-Most JDBC drivers allow use of standard property lists to specify the
-user, password, and other resource configuration information. Although
-properties are optional with respect to the GlassFish Server, some
-properties might be necessary for most databases. For details, see the
-JDBC 4.0 Standard Extension API.
-
-When properties are specified, they are passed to the vendor's data
-source class (specified by the `datasource-classname` attribute) as is
-using setName(value) methods.
-
-The `user` and `password` properties are used as the default principal
-if container managed authentication is specified and a
-`default-resource-principal` is not found in the application deployment
-descriptors.
-
-The following table describes some common properties for the
-`jdbc-connection-pool` element.
-
-Changing JDBC driver properties requires a server restart.
-
-[[GSDPG940]][[sthref127]][[sthref128]]
-
-
-Table C-76 `jdbc-connection-pool` Database Properties
-
-[width="100%",cols="19%,81%",options="header",]
-|=======================================================================
-|Property |Description
-|`user` |Specifies the user name for connecting to the database.
-
-|`password` |Specifies the password for connecting to the database.
-
-|`databaseName` |Specifies the database for this connection pool.
-
-|`serverName` |Specifies the database server for this connection pool.
-
-|`port` |Specifies the port on which the database server listens for
-requests.
-
-|`networkProtocol` |Specifies the communication protocol.
-
-|`roleName` |Specifies the initial SQL role name.
-
-|`datasourceName` |Specifies an underlying XADataSource, or a
-ConnectionPoolDataSource if connection pooling is done.
-
-|`description` |Specifies a text description.
-
-|`url` |Specifies the URL for this connection pool. Although this is not
-a standard property, it is commonly used.
-|=======================================================================
-
-
-[[giyhm]][[GSDPG00173]][[jdbc-resource]]
-
-`jdbc-resource`
-~~~~~~~~~~~~~~~
-
-Defines a JDBC (javax.sql.DataSource) resource.
-
-[[GSDPG941]][[sthref129]]
-
-
-[[superelements-89]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG942]][[sthref130]]
-
-
-[[subelements-85]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `jdbc-resource`
-element.
-
-[[GSDPG943]][[sthref131]][[sthref132]]
-
-
-Table C-77 `jdbc-resource` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==========================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==========================================================
-
-
-[[GSDPG944]][[sthref133]]
-
-
-[[attributes-20]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `jdbc-resource`
-element.
-
-[[GSDPG945]][[sthref134]][[sthref135]]
-
-
-Table C-78 `jdbc-resource` Attributes
-
-[width="172%",cols="9%,46%,45%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`jndi-name` |none |Specifies the JNDI name for the resource.
-
-|`description` |none |(optional) Specifies a text description of this
-element.
-
-|`pool-name` |none |Specifies the `name` of the associated
-link:#giyil[`jdbc-connection-pool`].
-
-|`object-type` |`user` a|
-(optional) Defines the type of the resource. Allowed values are:
-
-* `system-all` - A system resource for all server instances and the
-domain application server.
-* `system-admin` - A system resource only for the domain application
-server.
-* `system-instance` - A system resource for all server instances only.
-* `user` - A user resource.
-
-|`enabled` |`true` |(optional) Determines whether this resource is
-enabled at runtime.
-|=======================================================================
-
-
-[[beatu]][[GSDPG00174]][[jms-durable-subscription-name]]
-
-`jms-durable-subscription-name`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the durable subscription associated with a message-driven bean
-class. Only applies to the Java Message Service Topic Destination type,
-and only when the message-driven bean deployment descriptor subscription
-durability is Durable.
-
-[[fvzdb]][[GSDPG00519]][[superelements-90]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvzdp]][[GSDPG00520]][[subelements-86]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beatv]][[GSDPG00175]][[jms-max-messages-load]]
-
-`jms-max-messages-load`
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the maximum number of messages to load into a Java Message
-Service session at one time for a message-driven bean to serve. The
-default is 1.
-
-[[fvyzx]][[GSDPG00521]][[superelements-91]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyxq]][[GSDPG00522]][[subelements-87]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beatw]][[GSDPG00176]][[jndi-name]]
-
-`jndi-name`
-~~~~~~~~~~~
-
-Specifies the absolute `jndi-name` of a URL resource or a resource.
-
-For entity beans and session beans, this value specifies the global JNDI
-name of the `EJBHome` object. It is only needed if the entity or session
-bean exposes a remote view.
-
-For JMS message-driven beans, this is the JNDI name of the JMS resource
-from which the message-driven bean consumes JMS messages. This
-information is alternatively specified within the
-link:#beaqs[`activation-config`] subelement of the
-link:#beaus[`mdb-resource-adapter`] element. For more information about
-JMS resources, see "link:../application-development-guide/jms.html#GSDVG00020[Using the Java Message Service]" in
-GlassFish Server Open Source Edition Application Development Guide.
-
-[[fvyyy]][[GSDPG00523]][[superelements-92]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasu[`ejb-ref`], link:#beauu[`message-destination`],
-link:#beawu[`resource-env-ref`], link:#beaww[`resource-ref`]
-(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`); link:#bearv[`cmp-resource`],
-link:#beass[`ejb`], link:#beaur[`mdb-connection-factory`]
-(`glassfish-ejb-jar.xml`)
-
-[[fvywz]][[GSDPG00524]][[subelements-88]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gkhun]][[GSDPG00177]][[jnlp-doc]]
-
-`jnlp-doc`
-~~~~~~~~~~
-
-Contains the name of a custom JNLP file, which modifies the behavior of
-a Java Web Start enabled application client module. If none is
-specified, a default JNLP file is generated.
-
-The value of this element is a relative path with the following format:
-
-[source,oac_no_warn]
-----
-[path-to-JAR-in-EAR!]path-to-JNLP-in-JAR
-----
-
-The default path-to-JAR-in-EAR is the current application client JAR
-file. For example, if the JNLP file is in the application client JAR
-file at `custom/myInfo.jnlp`, the element value would look like this:
-
-[source,oac_no_warn]
-----
-<java-web-start-access>
-   <jnlp-doc>custom/myInfo.jnlp</jnlp-doc>
-</java-web-start-access>
-----
-
-If the application client is inside an EAR file, you can place the
-custom JNLP file inside another JAR file in the EAR. For example, if the
-JNLP file is in a JAR file at `other/myLib.jar`, the element value would
-look like this, with an exclamation point (`!`) separating the path to
-the JAR from the path in the JAR:
-
-[source,oac_no_warn]
-----
-<java-web-start-access>
-   <jnlp-doc>other/myLib.jar!custom/myInfo.jnlp</jnlp-doc>
-</java-web-start-access>
-----
-
-For information about the allowed contents of a custom JNLP file, see
-"link:../application-development-guide/java-clients.html#GSDVG00012[Developing Java Clients]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[gkhuj]][[GSDPG00525]][[superelements-93]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#gauax[`java-web-start-access`]
-(`glassfish-application-client.xml`)
-
-[[gkhtm]][[GSDPG00526]][[subelements-89]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beatx]][[GSDPG00178]][[jsp-config]]
-
-`jsp-config`
-~~~~~~~~~~~~
-
-Specifies JSP configuration information.
-
-[[fvywi]][[GSDPG00527]][[superelements-94]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[fvzcs]][[GSDPG00528]][[subelements-90]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `jsp-config` element.
-
-[[GSDPG946]][[sthref136]][[fvyzp]]
-
-
-Table C-79 `jsp-config` Subelements
-
-[width="100%",cols="37%,14%,49%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvyzf]][[GSDPG00529]][[properties-8]]
-
-Properties
-^^^^^^^^^^
-
-The default property values are tuned for development of JSP files at
-the cost of performance. To maximize performance, set `jsp-config`
-properties to these non-default values:
-
-* `development` - `false` (as an alternative, set to `true` and give
-`modificationTestInterval` a large value)
-* `mappedfile` - `false`
-* `trimSpaces` - `true`
-* `suppressSmap` - `true`
-* `fork` - `false` (on Solaris)
-* `classdebuginfo` - `false`
-
-The following table describes properties for the `jsp-config` element.
-
-[[GSDPG947]][[sthref137]][[fvzde]]
-
-
-Table C-80 `jsp-config` Properties
-
-[width="100%",cols="29%,11%,60%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`checkInterval` |`0` |If `development` is set to `false` and
-`checkInterval` is greater than zero, background compilations are
-enabled. The `checkInterval` is the time in seconds between checks to
-see if a JSP file needs to be recompiled.
-
-|`classdebuginfo` |`true` |Specifies whether the generated Java servlets
-are compiled with the debug option set (`-g` for `javac`).
-
-|`classpath` |created dynamically based on the current web application
-|Specifies the classpath to use when compiling generated servlets.
-
-|`compiler` |`javac` a|
-Specifies the compiler Ant uses to compile JSP files. See the Ant
-documentation for more information:
-
-`http://antinstaller.sourceforge.net/manual/manual/`
-
-|`compilerSourceVM` |Depends on GlassFish Server's Java runtime a|
-Specifies the JDK release with which source compatibility of the
-generated servlets is provided. Same as the `-source` release option of
-`javac`.
-
-For more information, see
-`http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html#options`.
-
-|`compilerTargetVM` |Depends on GlassFish Server's Java runtime a|
-Specifies the Virtual Machine for the Java platform (JVM software)
-version for which the servlet class files are generated. Same as the
-`-target` release option of `javac`.
-
-For more information, see
-`http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html#options`.
-
-|`defaultBufferNone` |`false` |If `true`, the default for the `buffer`
-attribute of the `page` directive is `none`.
-
-|`development` |`true` |If set to `true`, enables development mode,
-which allows JSP files to be checked for modification. Specify the
-frequency at which JSPs are checked using the `modificationTestInterval`
-property.
-
-|`dumpSmap` |`false` |If set to `true`, dumps SMAP information for JSR
-45 debugging to a file. Set to `false` if `suppressSmap` is `true`.
-
-|`enablePooling` |`true` |If set to `true`, tag handler pooling is
-enabled.
-
-|`enableTldValidation` |`false` |If set to `true`, all Tag Library
-Descriptor (TLD) files referenced by the web application are validated
-against their underlying schema or DTD file.
-
-|`errorOnUseBeanInvalidClassAttribute` |`false` |If set to `true`,
-issues an error when the value of the `class` attribute in a `useBean`
-action is not a valid bean class.
-
-|`fork` |`true` |Specifies that Ant forks the compiling of JSP files,
-using a JVM machine separate from the one in which Tomcat is running.
-
-|`genStrAsByteArray` |`true` |If `true`, text strings are generated as
-bytes (encoded with the page encoding), if the page is not buffered.
-
-|`genStrAsCharArray` |`false` |If set to `true`, generates text strings
-as `char` arrays, which improves performance in some cases.
-
-|`httpMethods` |`*` for all methods |Specifies a comma separated list of
-HTTP methods supported by the `JspServlet`.
-
-|`ieClassId` |`clsid:8AD9C840-``044E-11D1-B3E9-``00805F499D93`
-|Specifies the Java plug-in COM class ID for Internet Explorer. Used by
-the `<jsp:plugin>` tags.
-
-|`ignoreJspFragmentErrors` |`false` |If set to `true`, instructs the
-compiler to ignore any JSP precompilation errors pertaining to
-statically included JSP segments that, despite not being top level JSP
-files, use the `.jsp` or `.jspx` extension (instead of the recommended
-`.jspf`).
-
-|`initialCapacity` |`32` |Specifies the initial capacity of the
-`HashMap` that maps JSP files to their corresponding servlets.
-
-|`javaEncoding` |`UTF8` a|
-Specifies the encoding for the generated Java servlet. This encoding is
-passed to the Java compiler that is used to compile the servlet as well.
-By default, the web container tries to use `UTF8`. If that fails, it
-tries to use the `javaEncoding` value.
-
-For encodings, see:
-
-`http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html`
-
-|`keepgenerated` |`true` with JDK 5 and before and for `jspc`, otherwise
-`false` |If set to `true`, keeps the generated Java files. If `false`,
-deletes the Java files.
-
-|`mappedfile` |`true` |If set to `true`, generates static content with
-one print statement per input line, to ease debugging.
-
-|`modificationTestInterval` |`0` |Specifies the frequency in seconds at
-which JSPs are checked for modification. A value of `0` causes the JSP
-to be checked on every access. Used only if `development` is set to
-`true`.
-
-|`reload-interval` |`0` |Specifies the frequency in seconds at which JSP
-files are checked for modifications. Setting this value to `0` checks
-JSP files for modifications on every request. Setting this value to `-1`
-disables checks for JSP modifications and JSP recompilation.
-
-|`saveBytecode` |`true` for `jspc`, otherwise `false` |If `true`,
-generated byte code is saved to `.class` files? This option is
-meaningful only when the Java compiler API, JSR 199 (available with and
-used as the default on Java 6) is used for `javac` compilations.
-
-|`scratchdir` |The default work directory for the web application
-|Specifies the working directory created for storing all the generated
-code.
-
-|`suppressSmap` |`false` |If set to `true`, generation of SMAP
-information for JSR 45 debugging is suppressed.
-
-|`trimSpaces` |`false` |If set to `true`, trims white spaces in template
-text between actions or directives.
-
-|`usePrecompiled` |`false` a|
-If set to `true`, an accessed JSP file is not compiled. Its precompiled
-servlet class is used instead.
-
-It is assumed that JSP files have been precompiled, and their
-corresponding servlet classes have been bundled in the web application's
-`WEB-INF/lib` or `WEB-INF/classes` directory.
-
-|`xpoweredBy` |`true` |If set to `true`, the X-Powered-By response
-header is added by the generated servlet.
-|=======================================================================
-
-
-[[gkhtr]][[GSDPG00179]][[keep-state]]
-
-`keep-state`
-~~~~~~~~~~~~
-
-If set to `true`, retains web sessions, stateful session bean instances,
-and persistently created EJB timers across redeployments. The
-`--keepstate` option of the link:../reference-manual/redeploy.html#GSRFM00217[`redeploy`] subcommand
-takes precedence. The default for both is `false`.
-
-Some changes to an application between redeployments prevent this
-feature from working properly. For example, do not change the set of
-instance variables in the SFSB bean class.
-
-For web applications, this feature is applicable only if in the
-`glassfish-web-app.xml` file the `persistence-type` attribute of the
-link:#beaxq[`session-manager`] element is `file`.
-
-For stateful session bean instances, the persistence type without high
-availability is set in the server (the `sfsb-persistence-type`
-attribute) and must be set to `file`, which is the default and
-recommended value.
-
-If any active web session, SFSB instance, or EJB timer fails to be
-preserved or restored, none of these will be available when the
-redeployment is complete. However, the redeployment continues and a
-warning is logged.
-
-To preserve active state data, GlassFish Server serializes the data and
-saves it in memory. To restore the data, the class loader of the newly
-redeployed application deserializes the data that was previously saved.
-
-[[gkhto]][[GSDPG00530]][[superelements-95]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
-link:#beayb[`glassfish-web-app`] (`glassfish-web-app.xml`),
-link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
-
-[[gkhuk]][[GSDPG00531]][[subelements-91]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beatz]][[GSDPG00180]][[key-field]]
-
-`key-field`
-~~~~~~~~~~~
-
-Specifies a component of the key used to look up and extract cache
-entries. The web container looks for the named parameter, or field, in
-the specified scope.
-
-If this element is not present, the web container uses the Servlet Path
-(the path section that corresponds to the servlet mapping that activated
-the current request). See the Servlet 2.4 specification, section SRV
-4.4, for details on the Servlet Path.
-
-[[fvyvb]][[GSDPG00532]][[superelements-96]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvzal]][[GSDPG00533]][[subelements-92]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvzdn]][[GSDPG00534]][[attributes-21]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `key-field` element.
-
-[[GSDPG948]][[sthref138]][[fvyyi]]
-
-
-Table C-81 `key-field` Attributes
-
-[width="181%",cols="51%,11%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the input parameter name.
-
-|`scope` |`request.parameter` |(optional) Specifies the scope from which
-the input parameter is retrieved. Allowed values are
-`context.attribute`, `request.header`, `request.parameter`,
-`request.cookie`, `session.id`, and `session.attribute`.
-|=======================================================================
-
-
-[[beaub]][[GSDPG00181]][[level]]
-
-`level`
-~~~~~~~
-
-Specifies the name of a hierarchical fetch group. The name must be an
-integer. Fields and relationships that belong to a hierarchical fetch
-group of equal (or lesser) value are fetched at the same time. The value
-of level must be greater than zero. Only one is allowed.
-
-[[fvyvf]][[GSDPG00535]][[superelements-97]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beatc[`fetched-with`] (`sun-cmp-mappings.xml`)
-
-[[fvywq]][[GSDPG00536]][[subelements-93]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beauc]][[GSDPG00182]][[local-home-impl]]
-
-`local-home-impl`
-~~~~~~~~~~~~~~~~~
-
-Specifies the fully-qualified class name of the generated `EJBLocalHome`
-`impl` class.
-
-
-[NOTE]
-=======================================================================
-
-This value is automatically generated by the server at deployment or
-redeployment time. Do not specify it or change it after deployment.
-
-=======================================================================
-
-
-[[fvyzo]][[GSDPG00537]][[superelements-98]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
-
-[[fvzah]][[GSDPG00538]][[subelements-94]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaud]][[GSDPG00183]][[local-impl]]
-
-`local-impl`
-~~~~~~~~~~~~
-
-Specifies the fully-qualified class name of the generated
-`EJBLocalObject` `impl` class.
-
-
-[NOTE]
-=======================================================================
-
-This value is automatically generated by the server at deployment or
-redeployment time. Do not specify it or change it after deployment.
-
-=======================================================================
-
-
-[[fvzcr]][[GSDPG00539]][[superelements-99]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
-
-[[fvzai]][[GSDPG00540]][[subelements-95]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaue]][[GSDPG00184]][[locale-charset-info]]
-
-`locale-charset-info`
-~~~~~~~~~~~~~~~~~~~~~
-
-Deprecated. For backward compatibility only. Use the
-link:#beavn[`parameter-encoding`] subelement of
-link:#beayb[`glassfish-web-app`] instead. Specifies information about
-the application's internationalization settings.
-
-[[fvyvm]][[GSDPG00541]][[superelements-100]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[fvzbi]][[GSDPG00542]][[subelements-96]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `locale-charset-info`
-element.
-
-[[GSDPG949]][[sthref139]][[fvyzd]]
-
-
-Table C-82 `locale-charset-info` Subelements
-
-[width="100%",cols="22%,12%,66%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beauf[`locale-charset-map`]
-
-
- |one or more |Maps a locale and an agent to a character encoding.
-Provided for backward compatibility. Used only for request processing,
-and only if no `parameter-encoding` is defined.
-
-a|
-link:#beavn[`parameter-encoding`]
-
-
- |zero or one |Determines the default request character encoding and how
-the web container decodes parameters from forms according to a hidden
-field value.
-|=======================================================================
-
-
-[[fvywh]][[GSDPG00543]][[attributes-22]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `locale-charset-info`
-element.
-
-[[GSDPG950]][[sthref140]][[fvzcd]]
-
-
-Table C-83 `locale-charset-info` Attributes
-
-[width="181%",cols="13%,49%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`default-locale` |none |Although a value is required, the value is
-ignored. Use the `default-charset` attribute of the
-link:#beavn[`parameter-encoding`] element.
-|=======================================================================
-
-
-[[beauf]][[GSDPG00185]][[locale-charset-map]]
-
-`locale-charset-map`
-~~~~~~~~~~~~~~~~~~~~
-
-Maps locales and agents to character encodings. Provided for backward
-compatibility. Used only for request processing. Used only if the
-character encoding is not specified in the request and cannot be derived
-from the optional link:#beavn[`parameter-encoding`] element. For
-encodings, see
-`http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html`.
-
-[[fvzbg]][[GSDPG00544]][[superelements-101]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaue[`locale-charset-info`] (`glassfish-web.xml`)
-
-[[fvywg]][[GSDPG00545]][[subelements-97]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `locale-charset-map`
-element.
-
-[[GSDPG951]][[sthref141]][[fvyvl]]
-
-
-Table C-84 `locale-charset-map` Subelements
-
-[width="100%",cols="25%,14%,61%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Specifies an optional text description of a mapping.
-|==================================================================
-
-
-[[fvyzn]][[GSDPG00546]][[attributes-23]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `locale-charset-map`
-element.
-
-[[GSDPG952]][[sthref142]][[fvzbk]]
-
-
-Table C-85 `locale-charset-map` Attributes
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`locale` |none |Specifies the locale name.
-
-|`agent` |none |(optional) Specifies the type of client that interacts
-with the GlassFish Server. For a given locale, different agents can have
-different preferred character encodings. The value of this attribute
-must exactly match the value of the `user-agent` HTTP request header
-sent by the client. See link:#fvzbb[Table C-86] for more information.
-
-|`charset` |none |Specifies the character encoding to which the locale
-maps.
-|=======================================================================
-
-
-[[fvzct]][[GSDPG00547]][[example-agents]]
-
-Example Agents
-^^^^^^^^^^^^^^
-
-The following table specifies example `agent` attribute values.
-
-[[GSDPG953]][[sthref143]][[fvzbb]]
-
-
-Table C-86 Example `agent` Attribute Values
-
-[width="100%",cols="38%,62%",options="header",]
-|=======================================================================
-|Agent |`user-agent` Header and `agent` Attribute Value
-|Internet Explorer 5.00 for Windows 2000
-|`Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)`
-
-|Netscape 4.7.7 for Windows 2000
-|`Mozilla/4.77 [en] (Windows NT 5.0; U)`
-
-|Netscape 4.7 for Solaris |`Mozilla/4.7 [en] (X11; u; Sun OS 5.6 sun4u)`
-|=======================================================================
-
-
-[[beaug]][[GSDPG00186]][[localpart]]
-
-`localpart`
-~~~~~~~~~~~
-
-Specifies the local part of a QNAME.
-
-[[fvzad]][[GSDPG00548]][[superelements-102]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxj[`service-qname`], link:#beayx[`wsdl-port`]
-(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvyzb]][[GSDPG00549]][[subelements-98]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beauh]][[GSDPG00187]][[lock-when-loaded]]
-
-`lock-when-loaded`
-~~~~~~~~~~~~~~~~~~
-
-Places a database update lock on the rows corresponding to the bean
-whenever the bean is loaded. How the lock is placed is
-database-dependent. The lock is released when the transaction finishes
-(commit or rollback). While the lock is in place, other database users
-have read access to the bean.
-
-[[fvyze]][[GSDPG00550]][[superelements-103]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
-
-[[fvyyl]][[GSDPG00551]][[subelements-99]]
-
-Subelements
-^^^^^^^^^^^
-
-none - element is present or absent
-
-[[beaui]][[GSDPG00188]][[lock-when-modified]]
-
-`lock-when-modified`
-~~~~~~~~~~~~~~~~~~~~
-
-This element is not implemented. Do not use.
-
-[[fvyyc]][[GSDPG00552]][[superelements-104]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasd[`consistency`] (`sun-cmp-mappings.xml`)
-
-[[beauj]][[GSDPG00189]][[log-service]]
-
-`log-service`
-~~~~~~~~~~~~~
-
-Specifies configuration settings for the log file.
-
-[[fvyyv]][[GSDPG00553]][[superelements-105]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearr[`client-container`] (`sun-acc.xml`)
-
-[[fvywo]][[GSDPG00554]][[subelements-100]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `log-service` element.
-
-[[GSDPG954]][[sthref144]][[fvzdx]]
-
-
-Table C-87 `log-service` subelement
-
-[width="100%",cols="37%,15%,48%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvyzl]][[GSDPG00555]][[attributes-24]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `log-service` element.
-
-[[GSDPG955]][[sthref145]][[fvzbn]]
-
-
-Table C-88 `log-service` attributes
-
-[width="100%",cols="12%,32%,56%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`log-file` |your-ACC-dir`/logs/client.log` |(optional) Specifies the
-file where the application client container logging information is
-stored.
-
-|`level` |`SEVERE` |(optional) Sets the base level of severity. Messages
-at or above this setting get logged to the log file.
-|=======================================================================
-
-
-[[beauk]][[GSDPG00190]][[login-config]]
-
-`login-config`
-~~~~~~~~~~~~~~
-
-Specifies the authentication configuration for an EJB web service
-endpoint. Not needed for servlet web service endpoints. A servlet's
-security configuration is contained in the `web.xml` file.
-
-[[fvywb]][[GSDPG00556]][[superelements-106]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvyxg]][[GSDPG00557]][[subelements-101]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `login-config`
-element.
-
-[[GSDPG956]][[sthref146]][[fvzap]]
-
-
-Table C-89 `login-config` subelements
-
-[width="100%",cols="30%,15%,55%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaqx[`auth-method`]
-
-
- |only one |Specifies the authentication method.
-
-a|
-link:#beawi[`realm`]
-
-
- |zero or one |Specifies the name of the realm used to process all
-authentication requests.
-|=======================================================================
-
-
-[[giyik]][[GSDPG00191]][[mail-resource]]
-
-`mail-resource`
-~~~~~~~~~~~~~~~
-
-Defines a Jakarta Mail (`jakarta.mail.Session`) resource.
-
-[[GSDPG957]][[sthref147]]
-
-
-[[superelements-107]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG958]][[sthref148]]
-
-
-[[subelements-102]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `mail-resource`
-element.
-
-[[GSDPG959]][[sthref149]][[sthref150]]
-
-
-Table C-90 `mail-resource` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==========================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==========================================================
-
-
-[[GSDPG960]][[sthref151]]
-
-
-[[attributes-25]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `mail-resource`
-element.
-
-[[GSDPG961]][[sthref152]][[sthref153]]
-
-
-Table C-91 `mail-resource` Attributes
-
-[width="100%",cols="23%,21%,56%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`jndi-name` |none |Specifies the JNDI name for the resource.
-
-|`store-protocol` |`imap` |(optional) Specifies the storage protocol
-service, which connects to a mail server, retrieves messages, and saves
-messages in folder(s). Allowed values are `imap`, `pop3`, `imaps`, and
-`pop3s` .
-
-|`store-protocol-` `class` |`com.sun.mail.imap.IMAPStore` a|
-(optional) Specifies the service provider implementation class for
-storage. Allowed values are:
-
-`com.sun.mail.imap.IMAPStore`
-
-`com.sun.mail.pop3.POP3Store`
-
-`com.sun.mail.imap.IMAPSSLStore`
-
-`com.sun.mail.pop3.POP3SSLStore`
-
-|`transport-``protocol` |`smtp` |(optional) Specifies the transport
-protocol service, which sends messages. Allowed values are `smtp` and
-`smtps`.
-
-|`transport-``protocol-``class` |`com.sun.mail.smtp.SMTPTransport` a|
-(optional) Specifies the service provider implementation class for
-transport. Allowed values are:
-
-`com.sun.mail.smtp.SMTPTransport`
-
-`com.sun.mail.smtp.SMTPSSLTransport`
-
-|`host` |none |The mail server host name.
-
-|`user` |none |The mail server user name.
-
-|`from` |none |The email address the mail server uses to indicate the
-message sender.
-
-|`debug` |`false` |(optional) Determines whether debugging for this
-resource is enabled.
-
-|`object-type` |`user` a|
-(optional) Defines the type of the resource. Allowed values are:
-
-* `system-all` - A system resource for all server instances and the
-domain application server.
-* `system-admin` - A system resource only for the domain application
-server.
-* `system-instance` - A system resource for all server instances only.
-* `user` - A user resource.
-
-|`enabled` |`true` |(optional) Determines whether this resource is
-enabled at runtime.
-|=======================================================================
-
-
-[[GSDPG962]][[sthref154]]
-
-
-[[properties-9]]
-Properties
-^^^^^^^^^^
-
-You can set properties for the `mail-resource` element and then get
-these properties in a Jakarta Mail `Session` object later. Every property
-name must start with a `mail-` prefix. The GlassFish Server changes the
-dash (`-`) character to a period (`.`) in the name of the property, then
-saves the property to the `MailConfiguration` and Jakarta Mail `Session`
-objects. If the name of the property doesn't start with `mail-`, the
-property is ignored.
-
-For example, to define the property `mail.password` in a Jakarta Mail
-Session object, first edit `glassfish-resources.xml` as follows:
-
-[source,oac_no_warn]
-----
-...
- <mail-resource jndi-name="mail/Session" ...>
-     <property name="mail-password" value="adminadmin"/>
- </mail-resource>
- ...
-----
-
-After getting the Jakarta Mail `Session` object, get the `mail.password`
-property to retrieve the value `adminadmin`, as follows:
-
-[source,oac_no_warn]
-----
-String password = session.getProperty("mail.password");
-----
-
-For more information about Jakarta Mail properties, see
-https://jakarta.ee/specifications/mail[Jakarta Mail API
-Documentation] (`https://jakarta.ee/specifications/mail`).
-
-[[beaum]][[GSDPG00192]][[manager-properties]]
-
-`manager-properties`
-~~~~~~~~~~~~~~~~~~~~
-
-Specifies session manager properties.
-
-[[fvyyu]][[GSDPG00558]][[superelements-108]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxq[`session-manager`] (`glassfish-web.xml`)
-
-[[fvzcq]][[GSDPG00559]][[subelements-103]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `manager-properties`
-element.
-
-[[GSDPG963]][[sthref155]][[fvyvh]]
-
-
-Table C-92 `manager-properties` Subelements
-
-[width="100%",cols="37%,14%,49%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvzdg]][[GSDPG00560]][[properties-10]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `manager-properties`
-element.
-
-[[GSDPG964]][[sthref156]][[fvywk]]
-
-
-Table C-93 `manager-properties` Properties
-
-[width="100%",cols="25%,13%,62%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`reapIntervalSeconds` |`60` a|
-Specifies the number of seconds between checks for expired sessions.
-This is also the interval at which sessions are passivated if
-`maxSessions` is exceeded.
-
-If `persistenceFrequency` is set to `time-based`, active sessions are
-stored at this interval.
-
-To prevent data inconsistency, set this value lower than the frequency
-at which session data changes. For example, this value should be as low
-as possible (`1` second) for a hit counter servlet on a frequently
-accessed web site, or the last few hits might be lost each time the
-server is restarted.
-
-Applicable only if the `persistence-type` attribute of the parent
-link:#beaxq[`session-manager`] element is `file` or `replicated`.
-
-|`maxSessions` |`-1` a|
-Specifies the maximum number of sessions that are permitted in the
-cache, or `-1` for no limit. After this, an attempt to create a new
-session causes an `IllegalStateException` to be thrown.
-
-If the `persistence-type` attribute of the parent
-link:#beaxq[`session-manager`] element is `file` or `replicated`, the
-session manager passivates sessions to the persistent store when this
-maximum is reached.
-
-|`sessionFilename` |empty string a|
-Specifies the absolute or relative path to the directory in which the
-session state is preserved between application restarts, if preserving
-the state is possible. A relative path is relative to the temporary
-directory for this web module, one of the following:
-
-domain-dir`/generated/jsp/`module-name
-
-domain-dir`/generated/jsp/`app-name`/`module-name
-
-By default, this property's value is set to an empty string, which
-disables this property and does not preserve the session state.
-
-Applicable only if the `persistence-type` attribute of the parent
-link:#beaxq[`session-manager`] element is `memory`.
-
-|`persistenceFrequency` |`web-method` a|
-Specifies how often the session state is stored. Allowed values are as
-follows:
-
-* `web-method` - The session state is stored at the end of each web
-request prior to sending a response back to the client. This mode
-provides the best guarantee that the session state is fully updated in
-case of failure.
-* `time-based` - The session state is stored in the background at the
-frequency set by `reapIntervalSeconds`. This mode provides less of a
-guarantee that the session state is fully updated. However, it can
-provide a significant performance improvement because the state is not
-stored after each request.
-
-Applicable only if the `persistence-type` attribute of the parent
-link:#beaxq[`session-manager`] element is `replicated`.
-
-|=======================================================================
-
-
-[[beaun]][[GSDPG00193]][[mapping-properties]]
-
-`mapping-properties`
-~~~~~~~~~~~~~~~~~~~~
-
-This element is not implemented.
-
-[[fvywv]][[GSDPG00561]][[superelements-109]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
-
-[[beauo]][[GSDPG00194]][[max-cache-size]]
-
-`max-cache-size`
-~~~~~~~~~~~~~~~~
-
-Specifies the maximum number of beans allowable in cache. A value of
-zero indicates an unbounded cache. In reality, there is no hard limit.
-The max-cache-size limit is just a hint to the cache implementation.
-Default is 512.
-
-Applies to stateful session beans and entity beans.
-
-[[fvyyo]][[GSDPG00562]][[superelements-110]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
-
-[[fvzbx]][[GSDPG00563]][[subelements-104]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaup]][[GSDPG00195]][[max-pool-size]]
-
-`max-pool-size`
-~~~~~~~~~~~~~~~
-
-Specifies the maximum number of bean instances in the pool. Values are
-from 0 (1 for message-driven bean) to MAX_INTEGER. A value of 0 means
-the pool is unbounded. Default is 64.
-
-Applies to all beans.
-
-[[fvzdw]][[GSDPG00564]][[superelements-111]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
-
-[[fvyxa]][[GSDPG00565]][[subelements-105]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beauq]][[GSDPG00196]][[max-wait-time-in-millis]]
-
-`max-wait-time-in-millis`
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This element is deprecated. Do not use.
-
-[[fvyzg]][[GSDPG00566]][[superelements-112]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
-
-[[beaur]][[GSDPG00197]][[mdb-connection-factory]]
-
-`mdb-connection-factory`
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the connection factory associated with a message-driven bean.
-Queue or Topic type must be consistent with the Java Message Service
-Destination type associated with the message-driven bean class.
-
-[[fvyzj]][[GSDPG00567]][[superelements-113]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyxt]][[GSDPG00568]][[subelements-106]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`mdb-connection-factory` element.
-
-[[GSDPG965]][[sthref157]][[fvyxi]]
-
-
-Table C-94 `mdb-connection-factory` Subelements
-
-[width="100%",cols="38%,14%,48%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beatw[`jndi-name`]
-
-
- |only one |Specifies the absolute `jndi-name`.
-
-a|
-link:#beasn[`default-resource-principal`]
-
-
- |zero or one |Specifies the default sign-on (name/password) to the
-resource manager.
-|=======================================================================
-
-
-[[beaus]][[GSDPG00198]][[mdb-resource-adapter]]
-
-`mdb-resource-adapter`
-~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies runtime configuration information for a message-driven bean.
-
-[[fvzdd]][[GSDPG00569]][[superelements-114]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyyx]][[GSDPG00570]][[subelements-107]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `mdb-resource-adapter`
-element.
-
-[[GSDPG966]][[sthref158]][[fvyzh]]
-
-
-Table C-95 `mdb-resource-adapter` subelements
-
-[width="100%",cols="35%,14%,51%",options="header",]
-|=====================================================
-|Element |Required |Description
-a|
-link:#beawt[`resource-adapter-mid`]
-
-
- |zero or one |Specifies a resource adapter module ID.
-a|
-link:#beaqs[`activation-config`]
-
-
- |one or more |Specifies an activation configuration.
-|=====================================================
-
-
-[[beaut]][[GSDPG00199]][[message]]
-
-`message`
-~~~~~~~~~
-
-Specifies the methods or operations to which message security
-requirements apply.
-
-[[fvzci]][[GSDPG00571]][[superelements-115]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beauw[`message-security`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyxc]][[GSDPG00572]][[subelements-108]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `message` element.
-
-[[GSDPG967]][[sthref159]][[fvyyd]]
-
-
-Table C-96 `message` Subelements
-
-[width="100%",cols="30%,16%,54%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beatt[`java-method`]
-
-
- |zero or one |Specifies the methods or operations to which message
-security requirements apply.
-
-a|
-link:#beavl[`operation-name`]
-
-
- |zero or one |Specifies the WSDL name of an operation of a web service.
-|=======================================================================
-
-
-[[beauu]][[GSDPG00200]][[message-destination]]
-
-`message-destination`
-~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name of a logical `message-destination` defined within an
-application. The `message-destination-name` matches the corresponding
-`message-destination-name` in the corresponding Java EE deployment
-descriptor file. Use when the message destination reference in the
-corresponding Java EE deployment descriptor file specifies a
-`message-destination-link` to a logical `message-destination`.
-
-[[fvzaz]][[GSDPG00573]][[superelements-116]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`),
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[fvyxn]][[GSDPG00574]][[subelements-109]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `message-destination`
-element.
-
-[[GSDPG968]][[sthref160]][[fvyzy]]
-
-
-Table C-97 `message-destination` subelements
-
-[width="100%",cols="29%,10%,61%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beauv[`message-destination-name`]
-
-
- |only one |Specifies the name of a logical message destination defined
-within the corresponding Java EE deployment descriptor file.
-
-a|
-link:#beatw[`jndi-name`]
-
-
- |only one |Specifies the `jndi-name` of the associated entity.
-|=======================================================================
-
-
-[[beauv]][[GSDPG00201]][[message-destination-name]]
-
-`message-destination-name`
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name of a logical message destination defined within the
-corresponding Java EE deployment descriptor file.
-
-[[fvzcj]][[GSDPG00575]][[superelements-117]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beauu[`message-destination`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvzbo]][[GSDPG00576]][[subelements-110]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gauao]][[GSDPG00202]][[message-destination-ref]]
-
-`message-destination-ref`
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Directly binds a message destination reference to the JNDI name of a
-`Queue`, `Topic`, or other physical destination. Use only when the
-message destination reference in the corresponding Java EE deployment
-descriptor file does not specify a `message-destination-link` to a
-logical `message-destination`.
-
-[[gauam]][[GSDPG00577]][[superelements-118]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[gaual]][[GSDPG00578]][[subelements-111]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`message-destination-ref` element.
-
-[[GSDPG969]][[sthref161]][[gauar]]
-
-
-Table C-98 `message-destination-ref` subelements
-
-[width="100%",cols="34%,10%,56%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#gauat[`message-destination-ref-name`]
-
-
- |only one |Specifies the name of a physical message destination defined
-within the corresponding Java EE deployment descriptor file.
-
-a|
-link:#beatw[`jndi-name`]
-
-
- |only one |Specifies the `jndi-name` of the associated entity.
-|=======================================================================
-
-
-[[gauat]][[GSDPG00203]][[message-destination-ref-name]]
-
-`message-destination-ref-name`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name of a physical message destination defined within the
-corresponding Java EE deployment descriptor file.
-
-[[gauaj]][[GSDPG00579]][[superelements-119]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#gauao[`message-destination-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[gauas]][[GSDPG00580]][[subelements-112]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beauw]][[GSDPG00204]][[message-security]]
-
-`message-security`
-~~~~~~~~~~~~~~~~~~
-
-Specifies message security requirements.
-
-* If the grandparent element is link:#beayv[`webservice-endpoint`],
-these requirements pertain to request and response messages of the
-endpoint.
-* If the grandparent element is link:#beavt[`port-info`], these
-requirements pertain to the port of the referenced service.
-
-[[fvzac]][[GSDPG00581]][[superelements-120]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaux[`message-security-binding`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyve]][[GSDPG00582]][[subelements-113]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `message-security`
-element.
-
-[[GSDPG970]][[sthref162]][[fvywy]]
-
-
-Table C-99 `message-security` Subelements
-
-[width="100%",cols="24%,12%,64%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaut[`message`]
-
-
- |one or more |Specifies the methods or operations to which message
-security requirements apply.
-
-a|
-link:#beawp[`request-protection`]
-
-
- |zero or one |Defines the authentication policy requirements of the
-application's request processing.
-
-a|
-link:#beawy[`response-protection`]
-
-
- |zero or one |Defines the authentication policy requirements of the
-application's response processing.
-|=======================================================================
-
-
-[[beaux]][[GSDPG00205]][[message-security-binding]]
-
-`message-security-binding`
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies a custom authentication provider binding for a parent
-link:#beayv[`webservice-endpoint`] or link:#beavt[`port-info`] element
-in one or both of these ways:
-
-* By binding to a specific provider
-* By specifying the message security requirements enforced by the
-provider
-
-[[fvzbc]][[GSDPG00583]][[superelements-121]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`], link:#beavt[`port-info`]
-(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvyxv]][[GSDPG00584]][[subelements-114]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`message-security-binding` element.
-
-[[GSDPG971]][[sthref163]][[fvzcx]]
-
-
-Table C-100 `message-security-binding` Subelements
-
-[width="100%",cols="34%,15%,51%",options="header",]
-|=======================================================
-|Element |Required |Description
-a|
-link:#beauw[`message-security`]
-
-
- |zero or more |Specifies message security requirements.
-|=======================================================
-
-
-[[fvzbj]][[GSDPG00585]][[attributes-26]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the
-`message-security-binding` element.
-
-[[GSDPG972]][[sthref164]][[fvzda]]
-
-
-Table C-101 `message-security-binding` Attributes
-
-[width="172%",cols="9%,46%,45%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`auth-layer` |none |Specifies the message layer at which authentication
-is performed. The value must be `SOAP`.
-
-|`provider-id` |none a|
-(optional) Specifies the authentication provider used to satisfy
-application-specific message security requirements.
-
-If this attribute is not specified, a default provider is used, if it is
-defined for the message layer.
-
-if no default provider is defined, authentication requirements defined
-in the `message-security-binding` are not enforced.
-
-|=======================================================================
-
-
-[[beauy]][[GSDPG00206]][[message-security-config]]
-
-`message-security-config`
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies configurations for message security providers.
-
-[[fvyya]][[GSDPG00586]][[superelements-122]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearr[`client-container`] (`sun-acc.xml`)
-
-[[fvzck]][[GSDPG00587]][[subelements-115]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`message-security-config` element.
-
-[[GSDPG973]][[sthref165]][[fvyym]]
-
-
-Table C-102 `message-security-config` Subelements
-
-[width="100%",cols="31%,15%,54%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavz[`provider-config`]
-
-
- |one or more |Specifies a configuration for one message security
-provider.
-|=======================================================================
-
-
-[[fvyvw]][[GSDPG00588]][[attributes-27]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the
-`message-security-config` element.
-
-[[GSDPG974]][[sthref166]][[fvzam]]
-
-
-Table C-103 `message-security-config` Attributes
-
-[width="172%",cols="17%,46%,37%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`auth-layer` |none |Specifies the message layer at which authentication
-is performed. The value must be `SOAP`.
-
-|`default-provider` |none |(optional) Specifies the server provider that
-is invoked for any application not bound to a specific server provider.
-
-|`default-client-``provider` |none |(optional) Specifies the client
-provider that is invoked for any application not bound to a specific
-client provider.
-|=======================================================================
-
-
-[[beauz]][[GSDPG00207]][[method]]
-
-`method`
-~~~~~~~~
-
-Specifies a bean method.
-
-[[fvzae]][[GSDPG00589]][[superelements-123]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearo[`checkpoint-at-end-of-method`],
-link:#beatf[`flush-at-end-of-method`] (`glassfish-ejb-jar.xml`)
-
-[[fvzay]][[GSDPG00590]][[subelements-116]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `method` element.
-
-[[GSDPG975]][[sthref167]][[fvzch]]
-
-
-Table C-104 `method` Subelements
-
-[width="100%",cols="17%,11%,72%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Specifies an optional text description.
-
-a|
-link:#beast[`ejb-name`]
-
-
- |zero or one |Matches the `ejb-name` in the corresponding `ejb-jar.xml`
-file.
-
-a|
-link:#beavb[`method-name`]
-
-
- |only one |Specifies a method name.
-
-a|
-link:#beava[`method-intf`]
-
-
- |zero or one |Specifies the method interface to distinguish between
-methods with the same name in different interfaces.
-
-a|
-link:#beavd[`method-params`]
-
-
- |zero or one |Specifies fully qualified Java type names of method
-parameters.
-|=======================================================================
-
-
-[[beava]][[GSDPG00208]][[method-intf]]
-
-`method-intf`
-~~~~~~~~~~~~~
-
-Specifies the method interface to distinguish between methods with the
-same name in different interfaces. Allowed values are `Home`, `Remote`,
-`LocalHome`, and `Local`.
-
-[[fvywj]][[GSDPG00591]][[superelements-124]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beauz[`method`] (`glassfish-ejb-jar.xml`)
-
-[[fvyyz]][[GSDPG00592]][[subelements-117]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavb]][[GSDPG00209]][[method-name]]
-
-`method-name`
-~~~~~~~~~~~~~
-
-Specifies a method name or `*` (an asterisk) for all methods. If a
-method is overloaded, specifies all methods with the same name.
-
-[[fvyvp]][[GSDPG00593]][[superelements-125]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beatt[`java-method`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
-link:#beate[`finder`], link:#beawc[`query-method`] ,
-link:#beauz[`method`] (`glassfish-ejb-jar.xml`)
-
-[[fvzcp]][[GSDPG00594]][[subelements-118]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvzdr]][[GSDPG00595]][[examples]]
-
-Examples
-^^^^^^^^
-
-`<method-name>findTeammates</method-name>`
-
-`<method-name>*</method-name>`
-
-[[beavc]][[GSDPG00210]][[method-param]]
-
-`method-param`
-~~~~~~~~~~~~~~
-
-Specifies the fully qualified Java type name of a method parameter.
-
-[[fvzdl]][[GSDPG00596]][[superelements-126]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavd[`method-params`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyvj]][[GSDPG00597]][[subelements-119]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavd]][[GSDPG00211]][[method-params]]
-
-`method-params`
-~~~~~~~~~~~~~~~
-
-Specifies fully qualified Java type names of method parameters.
-
-[[fvzdt]][[GSDPG00598]][[superelements-127]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beatt[`java-method`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
-link:#beawc[`query-method`], link:#beauz[`method`]
-(`glassfish-ejb-jar.xml`)
-
-[[fvyzw]][[GSDPG00599]][[subelements-120]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `method-params`
-element.
-
-[[GSDPG976]][[sthref168]][[fvyzq]]
-
-
-Table C-105 `method-params` Subelements
-
-[width="100%",cols="18%,14%,68%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavc[`method-param`]
-
-
- |zero or more |Specifies the fully qualified Java type name of a method
-parameter.
-|=======================================================================
-
-
-[[beavf]][[GSDPG00212]][[name]]
-
-`name`
-~~~~~~
-
-Specifies the name of the entity.
-
-[[fvyyf]][[GSDPG00600]][[superelements-128]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beari[`call-property`], link:#beasn[`default-resource-principal`],
-link:#beaxv[`stub-property`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
-link:#beasx[`enterprise-beans`], link:#beavv[`principal`],
-link:#beavy[`property` (with subelements)] (`glassfish-ejb-jar.xml`)
-
-[[fvyxe]][[GSDPG00601]][[subelements-121]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavg]][[GSDPG00213]][[named-group]]
-
-`named-group`
-~~~~~~~~~~~~~
-
-Specifies the name of one independent fetch group. All the fields and
-relationships that are part of a named group are fetched at the same
-time. A field belongs to only one fetch group, regardless of what type
-of fetch group is used.
-
-[[fvzds]][[GSDPG00602]][[superelements-129]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beatc[`fetched-with`] (`sun-cmp-mappings.xml`)
-
-[[fvyxr]][[GSDPG00603]][[subelements-122]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavh]][[GSDPG00214]][[namespaceuri]]
-
-`namespaceURI`
-~~~~~~~~~~~~~~
-
-Specifies the namespace URI.
-
-[[fvywa]][[GSDPG00604]][[superelements-130]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxj[`service-qname`], link:#beayx[`wsdl-port`]
-(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvyzc]][[GSDPG00605]][[subelements-123]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavi]][[GSDPG00215]][[none]]
-
-`none`
-~~~~~~
-
-Specifies that this field or relationship is fetched by itself, with no
-other fields or relationships.
-
-[[fvyvv]][[GSDPG00606]][[superelements-131]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasd[`consistency`], link:#beatc[`fetched-with`]
-(`sun-cmp-mappings.xml`)
-
-[[fvzaw]][[GSDPG00607]][[subelements-124]]
-
-Subelements
-^^^^^^^^^^^
-
-none - element is present or absent
-
-[[beavk]][[GSDPG00216]][[one-one-finders]]
-
-`one-one-finders`
-~~~~~~~~~~~~~~~~~
-
-Describes the finders for CMP 1.1 beans.
-
-[[fvyvg]][[GSDPG00608]][[superelements-132]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
-
-[[fvywp]][[GSDPG00609]][[subelements-125]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `one-one-finders`
-element.
-
-[[GSDPG977]][[sthref169]][[fvyxu]]
-
-
-Table C-106 `one-one-finders` Subelements
-
-[width="100%",cols="23%,15%,62%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beate[`finder`]
-
-
- |one or more |Describes the finders for CMP 1.1 with a method name and
-query.
-|=======================================================================
-
-
-[[beavl]][[GSDPG00217]][[operation-name]]
-
-`operation-name`
-~~~~~~~~~~~~~~~~
-
-Specifies the WSDL name of an operation of a web service.
-
-[[fvzas]][[GSDPG00610]][[superelements-133]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaut[`message`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvyvt]][[GSDPG00611]][[subelements-126]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavn]][[GSDPG00218]][[parameter-encoding]]
-
-`parameter-encoding`
-~~~~~~~~~~~~~~~~~~~~
-
-Specifies the default request character encoding and how the web
-container decodes parameters from forms according to a hidden field
-value.
-
-If both the link:#beayb[`glassfish-web-app`] and
-link:#beaue[`locale-charset-info`] elements have `parameter-encoding`
-subelements, the subelement of `glassfish-web-app` takes precedence. For
-encodings, see
-`http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html`.
-
-[[fvyzr]][[GSDPG00612]][[superelements-134]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaue[`locale-charset-info`], link:#beayb[`glassfish-web-app`]
-(`glassfish-web.xml`)
-
-[[fvzbf]][[GSDPG00613]][[subelements-127]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvyxk]][[GSDPG00614]][[attributes-28]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `parameter-encoding`
-element.
-
-[[GSDPG978]][[sthref170]][[fvywn]]
-
-
-Table C-107 `parameter-encoding` Attributes
-
-[width="100%",cols="19%,13%,68%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`form-hint-field` |none |(optional) The name of the hidden field in the
-form. This field specifies the character encoding the web container uses
-for `request.getParameter` and `request.getReader` calls when the
-charset is not set in the request's `content-type` header.
-
-|`default-charset` |`ISO-8859-1` |(optional) The default request
-character encoding.
-|=======================================================================
-
-
-[[beavo]][[GSDPG00219]][[pass-by-reference]]
-
-`pass-by-reference`
-~~~~~~~~~~~~~~~~~~~
-
-Specifies the passing method used by a servlet or enterprise bean
-calling a remote interface method in another bean that is colocated
-within the same process.
-
-* If `false` (the default if this element is not present), this
-application uses pass-by-value semantics.
-* If `true`, this application uses pass-by-reference semantics.
-
-
-[NOTE]
-=======================================================================
-
-The `pass-by-reference` element only applies to remote calls. As defined
-in the EJB 2.1 specification, section 5.4, calls to local interfaces use
-pass-by-reference semantics.
-
-If the `pass-by-reference` element is set to its default value of
-`false`, the passing semantics for calls to remote interfaces comply
-with the EJB 2.1 specification, section 5.4. If set to `true`, remote
-calls involve pass-by-reference semantics instead of pass-by-value
-semantics, contrary to this specification.
-
-Portable programs cannot assume that a copy of the object is made during
-such a call, and thus that it's safe to modify the original. Nor can
-they assume that a copy is not made, and thus that changes to the object
-are visible to both caller and callee. When this element is set to
-`true`, parameters and return values should be considered read-only. The
-behavior of a program that modifies such parameters or return values is
-undefined.
-
-=======================================================================
-
-
-When a servlet or enterprise bean calls a remote interface method in
-another bean that is colocated within the same process, by default
-GlassFish Server makes copies of all the call parameters in order to
-preserve the pass-by-value semantics. This increases the call overhead
-and decreases performance.
-
-However, if the calling method does not change the object being passed
-as a parameter, it is safe to pass the object itself without making a
-copy of it. To do this, set the pass-by-reference value to `true`.
-
-The setting of this element in the `glassfish-application.xml` file
-applies to all EJB modules in the application. For an individually
-deployed EJB module, you can set the same element in the
-`glassfish-ejb-jar.xml` file. If `pass-by-reference` is used at both the
-bean and application level, the bean level takes precedence.
-
-[[fvzec]][[GSDPG00615]][[superelements-135]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvywx]][[GSDPG00616]][[subelements-128]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavp]][[GSDPG00220]][[password]]
-
-`password`
-~~~~~~~~~~
-
-Specifies the password for the principal.
-
-[[fvyvn]][[GSDPG00617]][[superelements-136]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasn[`default-resource-principal`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyvs]][[GSDPG00618]][[subelements-129]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gkkia]][[GSDPG00221]][[per-request-load-balancing]]
-
-`per-request-load-balancing`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the per-request load balancing behavior of EJB 2.x and 3.x
-remote client invocations on a stateless session bean. If set to `true`,
-per-request load balancing is enabled for the associated stateless
-session bean. If set to `false` or not set, per-request load balancing
-is not enabled. The default is `false`.
-
-[[gkklx]][[GSDPG00619]][[superelements-137]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[gkkmq]][[GSDPG00620]][[subelements-130]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavq]][[GSDPG00222]][[pm-descriptors]]
-
-`pm-descriptors`
-~~~~~~~~~~~~~~~~
-
-This element and its subelements are deprecated. Do not use.
-
-[[fvzbh]][[GSDPG00621]][[superelements-138]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
-
-[[beavr]][[GSDPG00223]][[pool-idle-timeout-in-seconds]]
-
-`pool-idle-timeout-in-seconds`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the maximum time, in seconds, that a bean instance is allowed
-to remain idle in the pool. When this timeout expires, the bean instance
-in a pool becomes a candidate for passivation or deletion. This is a
-hint to the server. A value of 0 specifies that idle beans remain in the
-pool indefinitely. Default value is 600.
-
-Applies to stateless session beans, entity beans, and message-driven
-beans.
-
-
-[NOTE]
-=======================================================================
-
-For a stateless session bean or a message-driven bean, the bean is
-removed (garbage collected) when the timeout expires.
-
-=======================================================================
-
-
-[[fvzbm]][[GSDPG00622]][[superelements-139]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
-
-[[fvzbs]][[GSDPG00623]][[subelements-131]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavs]][[GSDPG00224]][[port-component-name]]
-
-`port-component-name`
-~~~~~~~~~~~~~~~~~~~~~
-
-Specifies a unique name for a port component within a web or EJB module.
-
-[[fvzbl]][[GSDPG00624]][[superelements-140]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvyys]][[GSDPG00625]][[subelements-132]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beavt]][[GSDPG00225]][[port-info]]
-
-`port-info`
-~~~~~~~~~~~
-
-Specifies information for a port within a web service reference.
-
-Either a `service-endpoint-interface` or a `wsdl-port` or both must be
-specified. If both are specified, `wsdl-port` specifies the port that
-the container chooses for container-managed port selection.
-
-The same `wsdl-port` value must not appear in more than one `port-info`
-element within the same `service-ref`.
-
-If a `service-endpoint-interface` is using container-managed port
-selection, its value must not appear in more than one `port-info`
-element within the same `service-ref`.
-
-[[fvzdh]][[GSDPG00626]][[superelements-141]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxk[`service-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyva]][[GSDPG00627]][[subelements-133]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `port-info` element.
-
-[[GSDPG979]][[sthref171]][[fvzbr]]
-
-
-Table C-108 `port-info` subelements
-
-[width="100%",cols="32%,12%,56%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaxh[`service-endpoint-interface`]
-
-
- |zero or one |Specifies the web service reference name relative to
-`java:comp/env`.
-
-a|
-link:#beayx[`wsdl-port`]
-
-
- |zero or one |Specifies the WSDL port.
-
-a|
-link:#beaxv[`stub-property`]
-
-
- |zero or more |Specifies JAX-RPC property values that are set on a
-`javax.xml.rpc.Stub` object before it is returned to the web service
-client.
-
-a|
-link:#beari[`call-property`]
-
-
- |zero or more |Specifies JAX-RPC property values that are set on a
-`javax.xml.rpc.Call` object before it is returned to the web service
-client.
-
-a|
-link:#beaux[`message-security-binding`]
-
-
- |zero or one |Specifies a custom authentication provider binding.
-|=======================================================================
-
-
-[[beavu]][[GSDPG00226]][[prefetch-disabled]]
-
-`prefetch-disabled`
-~~~~~~~~~~~~~~~~~~~
-
-Disables prefetching of entity bean states for the specified query
-methods. Container-managed relationship fields are prefetched if their
-link:#beatc[`fetched-with`] element is set to link:#beasl[`default`].
-
-[[fvyxl]][[GSDPG00628]][[superelements-142]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beart[`cmp`] (`glassfish-ejb-jar.xml`)
-
-[[fvyyb]][[GSDPG00629]][[subelements-134]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `prefetch-disabled`
-element.
-
-[[GSDPG980]][[sthref172]][[fvyyn]]
-
-
-Table C-109 `prefetch-disabled` Subelements
-
-[width="100%",cols="30%,14%,56%",options="header",]
-|=======================================
-|Element |Required |Description
-a|
-link:#beawc[`query-method`]
-
-
- |one or more |Specifies a query method.
-|=======================================
-
-
-[[beavv]][[GSDPG00227]][[principal]]
-
-`principal`
-~~~~~~~~~~~
-
-Defines a user name on the platform.
-
-[[fvyvy]][[GSDPG00630]][[superelements-143]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`);
-link:#giyhy[`security-map`] (`glassfish-resources.xml`)
-
-[[fvzbt]][[GSDPG00631]][[subelements-135]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `principal` element.
-
-[[GSDPG981]][[sthref173]][[fvzaq]]
-
-
-Table C-110 `principal` Subelements
-
-[width="100%",cols="29%,15%,56%",options="header",]
-|==========================================
-|Element |Required |Description
-a|
-link:#beavf[`name`]
-
-
- |only one |Specifies the name of the user.
-|==========================================
-
-
-[[giyif]][[GSDPG00228]][[principal-map]]
-
-`principal-map`
-~~~~~~~~~~~~~~~
-
-Maps an EIS principal to a principal defined in the GlassFish Server
-domain.
-
-[[GSDPG982]][[sthref174]]
-
-
-[[superelements-144]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyht[`work-security-map`] (`glassfish-resources.xml`)
-
-[[giyjg]][[GSDPG00632]][[subelements-136]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[GSDPG983]][[sthref175]]
-
-
-[[attributes-29]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `principal-map`
-element.
-
-[[GSDPG984]][[sthref176]][[sthref177]]
-
-
-Table C-111 `principal-map` Attributes
-
-[width="181%",cols="13%,49%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`eis-principal` |none |Specifies an EIS principal.
-
-|`mapped-principal` |none |Specifies a principal defined in the
-GlassFish Server domain.
-|=======================================================================
-
-
-[[beavw]][[GSDPG00229]][[principal-name]]
-
-`principal-name`
-~~~~~~~~~~~~~~~~
-
-Contains the principal (user) name.
-
-In an enterprise bean, specifies the principal (user) name that has the
-`run-as` role specified.
-
-[[fvyws]][[GSDPG00633]][[superelements-145]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxg[`security-role-mapping`] (`glassfish-application.xml`,
-`glassfish-web.xml`, `glassfish-ejb-jar.xml`), link:#beaxm[`servlet`]
-(`glassfish-web.xml`)
-
-[[fvyxp]][[GSDPG00634]][[subelements-137]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gatzl]][[GSDPG00635]][[attributes-30]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `principal-name`
-element.
-
-[[GSDPG985]][[sthref178]][[gatyf]]
-
-
-Table C-112 `principal-name` Attributes
-
-[width="100%",cols="13%,36%,51%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`class-name` |`com.sun.enterprise.deployment.PrincipalImpl` |(optional)
-Specifies the custom principal implementation class corresponding to the
-named principal.
-|=======================================================================
-
-
-[[beavx]][[GSDPG00230]][[property-with-attributes]]
-
-`property` (with attributes)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name and value of a property. A property adds
-configuration information to its parent element that is one or both of
-the following:
-
-* Optional with respect to GlassFish Server
-* Needed by a system or object that GlassFish Server doesn't have
-knowledge of, such as an LDAP server or a Java class
-
-[[fvzeb]][[GSDPG00636]][[superelements-146]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beard[`cache`], link:#beare[`cache-helper`],
-link:#bearq[`class-loader`], link:#beash[`cookie-properties`],
-link:#beasm[`default-helper`], link:#beaum[`manager-properties`],
-link:#beaxr[`session-properties`], link:#beaxu[`store-properties`],
-link:#beayb[`glassfish-web-app`], link:#gikqk[`valve`],
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`);
-link:#beaqy[`auth-realm`], link:#bearr[`client-container`],
-link:#bears[`client-credential`], link:#beauj[`log-service`],
-link:#beavz[`provider-config`] (`sun-acc.xml`);
-link:#giyhw[`admin-object-resource`],
-link:#giygu[`connector-connection-pool`],
-link:#giyhv[`connector-resource`], link:#giyhr[`custom-resource`],
-link:#giyin[`external-jndi-resource`],
-link:#giyil[`jdbc-connection-pool`], link:#giyhm[`jdbc-resource`],
-link:#giyik[`mail-resource`], link:#giyit[`resource-adapter-config`]
-(`glassfish-resources.xml`)
-
-[[fvyzv]][[GSDPG00637]][[subelements-138]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `property` element.
-
-[[GSDPG986]][[sthref179]][[fvzcb]]
-
-
-Table C-113 `property` Subelements
-
-[width="100%",cols="27%,17%,56%",options="header",]
-|===================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Specifies an optional text description of a property.
-|===================================================================
-
-
-
-[NOTE]
-===================================================================
-
-The `property` element in the `sun-acc.xml` file has no subelements.
-
-===================================================================
-
-
-[[fvyvi]][[GSDPG00638]][[attributes-31]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `property` element.
-
-[[GSDPG987]][[sthref180]][[fvzdi]]
-
-
-Table C-114 `property` Attributes
-
-[width="100%",cols="14%,10%,76%",options="header",]
-|===================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the name of the property.
-|`value` |none |Specifies the value of the property.
-|===================================================
-
-
-[[fvzab]][[GSDPG00639]][[example-7]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<property name="reapIntervalSeconds" value="20" />
-----
-
-[[beavy]][[GSDPG00231]][[property-with-subelements]]
-
-`property` (with subelements)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name and value of a property. A property adds
-configuration information to its parent element that is one or both of
-the following:
-
-* Optional with respect to GlassFish Server
-* Needed by a system or object that GlassFish Server doesn't have
-knowledge of, such as an LDAP server or a Java class
-
-[[fvzcl]][[GSDPG00640]][[superelements-147]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasx[`enterprise-beans`], link:#bearv[`cmp-resource`],
-link:#beaxd[`schema-generator-properties`],
-link:#beayv[`webservice-endpoint`] (`glassfish-ejb-jar.xml`)
-
-[[fvzaf]][[GSDPG00641]][[subelements-139]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `property` element.
-
-[[GSDPG988]][[sthref181]][[fvzcc]]
-
-
-Table C-115 `property` subelements
-
-[width="100%",cols="22%,16%,62%",options="header",]
-|===============================================
-|Element |Required |Description
-a|
-link:#beavf[`name`]
-
-
- |only one |Specifies the name of the property.
-a|
-link:#beayo[`value`]
-
-
- |only one |Specifies the value of the property.
-|===============================================
-
-
-[[fvyxz]][[GSDPG00642]][[example-8]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<property>
-   <name>use-unique-table-names</name>
-   <value>true</value>
-</property>
-----
-
-[[beavz]][[GSDPG00232]][[provider-config]]
-
-`provider-config`
-~~~~~~~~~~~~~~~~~
-
-Specifies a configuration for one message security provider.
-
-Although the `request-policy` and `response-policy` subelements are
-optional, the `provider-config` element does nothing if they are not
-specified.
-
-Use property subelements to configure provider-specific properties.
-Property values are passed to the provider when its `initialize` method
-is called.
-
-[[fvzcy]][[GSDPG00643]][[superelements-148]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beauy[`message-security-config`] (`sun-acc.xml`)
-
-[[fvyzt]][[GSDPG00644]][[subelements-140]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `provider-config`
-element.
-
-[[GSDPG989]][[sthref182]][[fvyyq]]
-
-
-Table C-116 `provider-config` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beawo[`request-policy`]
-
-
- |zero or one |Defines the authentication policy requirements of the
-authentication provider's request processing.
-
-a|
-link:#beawx[`response-policy`]
-
-
- |zero or one |Defines the authentication policy requirements of the
-authentication provider's response processing.
-
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|=======================================================================
-
-
-[[fvywu]][[GSDPG00645]][[attributes-32]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `provider-config`
-element.
-
-[[GSDPG990]][[sthref183]][[fvyvz]]
-
-
-Table C-117 `provider-config` Attributes
-
-[width="172%",cols="11%,46%,43%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`provider-id` |none |Specifies the provider ID.
-
-|`provider-type` |none |Specifies whether the provider is a `client`,
-`server`, or `client-server` authentication provider.
-
-|`class-name` |none |Specifies the Java implementation class of the
-provider. Client authentication providers must implement the
-com.sun.enterprise.security.jauth.ClientAuthModule interface. Server
-authentication providers must implement the
-com.sun.enterprise.security.jauth.ServerAuthModule interface.
-Client-server providers must implement both interfaces.
-|=======================================================================
-
-
-[[beawb]][[GSDPG00233]][[query-filter]]
-
-`query-filter`
-~~~~~~~~~~~~~~
-
-Specifies the query filter for the CMP 1.1 finder.
-
-[[fvzdm]][[GSDPG00646]][[superelements-149]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
-
-[[fvzco]][[GSDPG00647]][[subelements-141]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawc]][[GSDPG00234]][[query-method]]
-
-`query-method`
-~~~~~~~~~~~~~~
-
-Specifies a query method.
-
-[[fvyxo]][[GSDPG00648]][[superelements-150]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavu[`prefetch-disabled`] (`glassfish-ejb-jar.xml`)
-
-[[fvyzm]][[GSDPG00649]][[subelements-142]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `query-method`
-element.
-
-[[GSDPG991]][[sthref184]][[fvywl]]
-
-
-Table C-118 `query-method` Subelements
-
-[width="100%",cols="17%,10%,73%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavb[`method-name`]
-
-
- |only one |Specifies a method name.
-
-a|
-link:#beavd[`method-params`]
-
-
- |only one |Specifies the fully qualified Java type names of method
-parameters.
-|=======================================================================
-
-
-[[beawd]][[GSDPG00235]][[query-ordering]]
-
-`query-ordering`
-~~~~~~~~~~~~~~~~
-
-Specifies the query ordering for the CMP 1.1 finder.
-
-[[fvzef]][[GSDPG00650]][[superelements-151]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
-
-[[fvywd]][[GSDPG00651]][[subelements-143]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawe]][[GSDPG00236]][[query-params]]
-
-`query-params`
-~~~~~~~~~~~~~~
-
-Specifies the query parameters for the CMP 1.1 finder.
-
-[[fvyvu]][[GSDPG00652]][[superelements-152]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
-
-[[fvzax]][[GSDPG00653]][[subelements-144]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawf]][[GSDPG00237]][[query-variables]]
-
-`query-variables`
-~~~~~~~~~~~~~~~~~
-
-Specifies variables in the query expression for the CMP 1.1 finder.
-
-[[fvyyg]][[GSDPG00654]][[superelements-153]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beate[`finder`] (`glassfish-ejb-jar.xml`)
-
-[[fvzce]][[GSDPG00655]][[subelements-145]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawh]][[GSDPG00238]][[read-only]]
-
-`read-only`
-~~~~~~~~~~~
-
-Specifies that a field is read-only if `true`. If this element is
-absent, the default value is `false` .
-
-[[fvyzs]][[GSDPG00656]][[superelements-154]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearu[`cmp-field-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvzav]][[GSDPG00657]][[subelements-146]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawi]][[GSDPG00239]][[realm]]
-
-`realm`
-~~~~~~~
-
-Specifies the name of the realm used to process all authentication
-requests associated with this application. If this element is not
-specified or does not match the name of a configured realm, the default
-realm is used. For more information about realms, see
-"link:../application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in GlassFish Server Open Source
-Edition Application Development Guide.
-
-[[fvzaa]][[GSDPG00658]][[superelements-155]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
-link:#beaqw[`as-context`], link:#beauk[`login-config`]
-(`glassfish-ejb-jar.xml`)
-
-[[fvzdq]][[GSDPG00659]][[subelements-147]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawj]][[GSDPG00240]][[refresh-field]]
-
-`refresh-field`
-~~~~~~~~~~~~~~~
-
-Specifies a field that gives the application component a programmatic
-way to refresh a cached entry.
-
-[[fvywt]][[GSDPG00660]][[superelements-156]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvzbw]][[GSDPG00661]][[subelements-148]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvzbp]][[GSDPG00662]][[attributes-33]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `refresh-field`
-element.
-
-[[GSDPG992]][[sthref185]][[fvzbz]]
-
-
-Table C-119 `refresh-field` Attributes
-
-[width="181%",cols="51%,11%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the input parameter name.
-
-|`scope` |`request.parameter` |(optional) Specifies the scope from which
-the input parameter is retrieved. Allowed values are
-`context.attribute`, `request.header`, `request.parameter`,
-`request.cookie`, `session.id`, and `session.attribute`.
-|=======================================================================
-
-
-[[beawk]][[GSDPG00241]][[refresh-period-in-seconds]]
-
-`refresh-period-in-seconds`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the rate at which a read-only-bean must be refreshed from the
-data source. If the value is less than or equal to zero, the bean is
-never refreshed; if the value is greater than zero, the bean instances
-are refreshed at the specified interval. This rate is just a hint to the
-container. Default is 0 (no refresh).
-
-[[fvzcn]][[GSDPG00663]][[superelements-157]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvyxh]][[GSDPG00664]][[subelements-149]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawl]][[GSDPG00242]][[removal-timeout-in-seconds]]
-
-`removal-timeout-in-seconds`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the amount of time a bean instance can remain idle in the
-container before it is removed (timeout). A value of 0 specifies that
-the container does not remove inactive beans automatically. The default
-value is 5400.
-
-If `removal-timeout-in-seconds` is less than or equal to
-`cache-idle-timeout-in-seconds`, beans are removed immediately without
-being passivated.
-
-Applies to stateful session beans.
-
-For related information, see
-link:#bearg[`cache-idle-timeout-in-seconds`].
-
-[[fvzat]][[GSDPG00665]][[superelements-158]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
-
-[[fvzeg]][[GSDPG00666]][[subelements-150]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawm]][[GSDPG00243]][[remote-home-impl]]
-
-`remote-home-impl`
-~~~~~~~~~~~~~~~~~~
-
-Specifies the fully-qualified class name of the generated `EJBHome`
-`impl` class.
-
-
-[NOTE]
-=======================================================================
-
-This value is automatically generated by the server at deployment or
-redeployment time. Do not specify it or change it after deployment.
-
-=======================================================================
-
-
-[[fvywr]][[GSDPG00667]][[superelements-159]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
-
-[[fvyyt]][[GSDPG00668]][[subelements-151]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawn]][[GSDPG00244]][[remote-impl]]
-
-`remote-impl`
-~~~~~~~~~~~~~
-
-Specifies the fully-qualified class name of the generated `EJBObject`
-`impl` class.
-
-
-[NOTE]
-=======================================================================
-
-This value is automatically generated by the server at deployment or
-redeployment time. Do not specify it or change it after deployment.
-
-=======================================================================
-
-
-[[fvyzi]][[GSDPG00669]][[superelements-160]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beath[`gen-classes`] (`glassfish-ejb-jar.xml`)
-
-[[fvzag]][[GSDPG00670]][[subelements-152]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawo]][[GSDPG00245]][[request-policy]]
-
-`request-policy`
-~~~~~~~~~~~~~~~~
-
-Defines the authentication policy requirements of the authentication
-provider's request processing.
-
-[[fvyxw]][[GSDPG00671]][[superelements-161]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavz[`provider-config`] (`sun-acc.xml`)
-
-[[fvzdz]][[GSDPG00672]][[subelements-153]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvyvq]][[GSDPG00673]][[attributes-34]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `request-policy`
-element.
-
-[[GSDPG993]][[sthref186]][[fvzdy]]
-
-
-Table C-120 `request-policy` Attributes
-
-[width="172%",cols="11%,46%,43%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`auth-source` |none |Specifies the type of required authentication,
-either `sender` (user name and password) or `content` (digital
-signature).
-
-|`auth-recipient` |none |Specifies whether recipient authentication
-occurs before or after content authentication. Allowed values are
-`before-content` and `after-content`.
-|=======================================================================
-
-
-[[beawp]][[GSDPG00246]][[request-protection]]
-
-`request-protection`
-~~~~~~~~~~~~~~~~~~~~
-
-Defines the authentication policy requirements of the application's
-request processing.
-
-[[fvzcv]][[GSDPG00674]][[superelements-162]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beauw[`message-security`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvzby]][[GSDPG00675]][[subelements-154]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvzar]][[GSDPG00676]][[attributes-35]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `request-protection`
-element.
-
-[[GSDPG994]][[sthref187]][[fvzbu]]
-
-
-Table C-121 `request-protection` Attributes
-
-[width="172%",cols="13%,46%,41%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`auth-source` |none |Specifies the type of required authentication,
-either `sender` (user name and password) or `content` (digital
-signature).
-
-|`auth-recipient` |none |Specifies whether recipient authentication
-occurs before or after content authentication. Allowed values are
-`before-content` and `after-content`.
-|=======================================================================
-
-
-[[beawq]][[GSDPG00247]][[required]]
-
-`required`
-~~~~~~~~~~
-
-Specifies whether the authentication method specified in the
-link:#beaqx[`auth-method`] element must be used for client
-authentication. The value is `true` or `false` (the default).
-
-[[fvyvc]][[GSDPG00677]][[superelements-163]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaqw[`as-context`] (`glassfish-ejb-jar.xml`)
-
-[[fvywc]][[GSDPG00678]][[subelements-155]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawr]][[GSDPG00248]][[res-ref-name]]
-
-`res-ref-name`
-~~~~~~~~~~~~~~
-
-Specifies the `res-ref-name` in the corresponding Java EE deployment
-descriptor file `resource-ref` entry. The `res-ref-name` element
-specifies the name of a resource manager connection factory reference.
-The name must be unique within an enterprise bean.
-
-[[fvyvk]][[GSDPG00679]][[superelements-164]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaww[`resource-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyyp]][[GSDPG00680]][[subelements-156]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaws]][[GSDPG00249]][[resize-quantity]]
-
-`resize-quantity`
-~~~~~~~~~~~~~~~~~
-
-Specifies the number of bean instances to be:
-
-* Created, if a request arrives when the pool has less than
-link:#beaxt[`steady-pool-size`] quantity of beans (applies to pools only
-for creation). If the pool has more than `steady-pool-size` minus
-link:#beaws[`resize-quantity`] of beans, then `resize-quantity` is still
-created.
-* Removed, when the link:#beavr[`pool-idle-timeout-in-seconds`] timer
-expires and a cleaner thread removes any unused instances.
-
-** For caches, when link:#beauo[`max-cache-size`] is reached,
-`resize-quantity` beans are selected for passivation using the
-link:#beayp[`victim-selection-policy`]. In addition, the
-link:#bearg[`cache-idle-timeout-in-seconds`] or
-link:#beawl[`removal-timeout-in-seconds`] timers passivate beans from
-the cache.
-
-** For pools, when the link:#beaup[`max-pool-size`] is reached,
-`resize-quantity` beans are selected for removal. In addition, the
-link:#beavr[`pool-idle-timeout-in-seconds`] timer removes beans until
-`steady-pool-size` is reached.
-
-Values are from 0 to MAX_INTEGER. The pool is not resized below the
-`steady-pool-size`. Default is 16.
-
-Applies to stateless session beans, entity beans, and message-driven
-beans.
-
-For EJB pools, the value can be defined in the EJB container. Default is
-16.
-
-For EJB caches, the value can be defined in the EJB container. Default
-is 32.
-
-For message-driven beans, the value can be defined in the EJB container.
-Default is 2.
-
-[[fvyxb]][[GSDPG00681]][[superelements-165]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beara[`bean-cache`], link:#bearb[`bean-pool`]
-(`glassfish-ejb-jar.xml`)
-
-[[fvzcf]][[GSDPG00682]][[subelements-157]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[giyit]][[GSDPG00250]][[resource-adapter-config]]
-
-`resource-adapter-config`
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Defines a connector (resource adapter) configuration. Stores
-configuration information for the resource adapter JavaBean in
-`property` subelements.
-
-[[GSDPG995]][[sthref188]]
-
-
-[[superelements-166]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[GSDPG996]][[sthref189]]
-
-
-[[subelements-158]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`resource-adapter-config` element.
-
-[[GSDPG997]][[sthref190]][[sthref191]]
-
-
-Table C-122 `resource-adapter-config` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property or a variable.
-|==================================================
-
-
-[[GSDPG998]][[sthref192]]
-
-
-[[attributes-36]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the
-`resource-adapter-config` element.
-
-[[GSDPG999]][[sthref193]][[sthref194]]
-
-
-Table C-123 `resource-adapter-config` Attributes
-
-[width="172%",cols="16%,46%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |(optional) Not used. See `resource-adapter-name`.
-
-|`thread-pool-ids` |none |(optional) Specifies a comma-separated list of
-the names of thread pools.
-
-|`object-type` |`user` a|
-(optional) Defines the type of the resource. Allowed values are:
-
-* `system-all` - A system resource for all server instances and the
-domain application server.
-* `system-admin` - A system resource only for the domain application
-server.
-* `system-instance` - A system resource for all server instances only.
-* `user` - A user resource.
-
-|`resource-``adapter-name` |none |Specifies the name of a deployed
-connector module or application. If the resource adapter is embedded in
-an application, then it is app_name`#`rar_name.
-|=======================================================================
-
-
-[[GSDPG1000]][[sthref195]]
-
-
-[[properties-11]]
-Properties
-^^^^^^^^^^
-
-Properties of the `resource-adapter-config` element are the names of
-setter methods of the `resourceadapter-class` element in the `ra.xml`
-file, which defines the class name of the resource adapter JavaBean. Any
-properties defined here override the default values present in `ra.xml`.
-
-[[beawt]][[GSDPG00251]][[resource-adapter-mid]]
-
-`resource-adapter-mid`
-~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the module ID of the resource adapter that is responsible for
-delivering messages to the message-driven bean.
-
-[[fvyvd]][[GSDPG00683]][[superelements-167]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaus[`mdb-resource-adapter`] (`glassfish-ejb-jar.xml`)
-
-[[fvzed]][[GSDPG00684]][[subelements-159]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beawu]][[GSDPG00252]][[resource-env-ref]]
-
-`resource-env-ref`
-~~~~~~~~~~~~~~~~~~
-
-Maps the `res-ref-name` in the corresponding Java EE deployment
-descriptor file `resource-env-ref` entry to the absolute `jndi-name` of
-a resource.
-
-[[fvyvr]][[GSDPG00685]][[superelements-168]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[fvywe]][[GSDPG00686]][[subelements-160]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `resource-env-ref`
-element.
-
-[[GSDPG1001]][[sthref196]][[fvyye]]
-
-
-Table C-124 `resource-env-ref` Subelements
-
-[width="100%",cols="26%,10%,64%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beawv[`resource-env-ref-name`]
-
-
- |only one |Specifies the `res-ref-name` in the corresponding Java EE
-deployment descriptor file `resource-env-ref` entry.
-
-a|
-link:#beatw[`jndi-name`]
-
-
- |only one |Specifies the absolute `jndi-name` of a resource.
-|=======================================================================
-
-
-[[fvzdf]][[GSDPG00687]][[example-9]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<resource-env-ref>
-   <resource-env-ref-name>jms/StockQueueName</resource-env-ref-name>
-   <jndi-name>jms/StockQueue</jndi-name>
-</resource-env-ref>
-----
-
-[[beawv]][[GSDPG00253]][[resource-env-ref-name]]
-
-`resource-env-ref-name`
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the `res-ref-name` in the corresponding Java EE deployment
-descriptor file `resource-env-ref` entry.
-
-[[fvzau]][[GSDPG00688]][[superelements-169]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beawu[`resource-env-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyxj]][[GSDPG00689]][[subelements-161]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaww]][[GSDPG00254]][[resource-ref]]
-
-`resource-ref`
-~~~~~~~~~~~~~~
-
-Maps the `res-ref-name` in the corresponding Java EE deployment
-descriptor file `resource-ref` entry to the absolute `jndi-name` of a
-resource.
-
-
-[NOTE]
-=======================================================================
-
-Connections acquired from JMS connection factories are not shareable in
-the current release of GlassFish Server. The `res-sharing-scope` element
-in the `ejb-jar.xml` file `resource-ref` element is ignored for JMS
-connection factories.
-
-When `resource-ref` specifies a JMS connection factory for the Open
-Message Queue, the `default-resource-principal` (name/password) must
-exist in the Message Queue user repository. Refer to the Security
-Management chapter in the olink:GMADG[Open Message Queue Administration
-Guide] for information on how to manage the Message Queue user
-repository.
-
-=======================================================================
-
-
-[[fvywf]][[GSDPG00690]][[superelements-170]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[fvyzz]][[GSDPG00691]][[subelements-162]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `resource-ref`
-element.
-
-[[GSDPG1002]][[sthref197]][[fvzbd]]
-
-
-Table C-125 `resource-ref` Subelements
-
-[width="100%",cols="33%,11%,56%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beawr[`res-ref-name`]
-
-
- |only one |Specifies the `res-ref-name` in the corresponding Java EE
-deployment descriptor file `resource-ref` entry.
-
-a|
-link:#beatw[`jndi-name`]
-
-
- |only one |Specifies the absolute `jndi-name` of a resource.
-
-a|
-link:#beasn[`default-resource-principal`]
-
-
- |zero or one |Specifies the default principal (user) for the resource.
-|=======================================================================
-
-
-[[fvyzk]][[GSDPG00692]][[example-10]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<resource-ref>
-   <res-ref-name>jdbc/EmployeeDBName</res-ref-name>
-   <jndi-name>jdbc/EmployeeDB</jndi-name>
-</resource-ref>
-----
-
-[[giyiy]][[GSDPG00255]][[resources]]
-
-`resources`
-~~~~~~~~~~~
-
-Defines application-scoped resources for an enterprise application, web
-module, EJB module, connector module, or application client module. This
-is the root element; there can only be one `resources` element in a
-`glassfish-resources.xml` file. See link:dd-files.html#giyhh[The
-glassfish-resources.xml File].
-
-
-[NOTE]
-=======================================================================
-
-You must specify a Java Naming and Directory Interface (JNDI) name for
-each resource. To avoid collisions with names of other enterprise
-resources in JNDI, and to avoid portability problems, all names in a
-GlassFish Server application should begin with the string `java:app/`.
-
-=======================================================================
-
-
-[[GSDPG1003]][[sthref198]]
-
-
-[[superelements-171]]
-Superelements
-^^^^^^^^^^^^^
-
-none
-
-[[GSDPG1004]][[sthref199]]
-
-
-[[subelements-163]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `resources` element.
-
-[[GSDPG1005]][[sthref200]][[sthref201]]
-
-
-Table C-126 `resources` Subelements
-
-[width="100%",cols="31%,12%,57%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#giyhr[`custom-resource`]
-
-
- |zero or more |Defines a custom resource.
-
-a|
-link:#giyin[`external-jndi-resource`]
-
-
- |zero or more |Defines a resource that resides in an external JNDI
-repository.
-
-a|
-link:#giyhm[`jdbc-resource`]
-
-
- |zero or more |Defines a JDBC (Java Database Connectivity) resource.
-
-a|
-link:#giyik[`mail-resource`]
-
-
- |zero or more |Defines a Jakarta Mail resource.
-
-a|
-link:#giyhw[`admin-object-resource`]
-
-
- |zero or more |Defines an administered object for an inbound resource
-adapter.
-
-a|
-link:#giyhv[`connector-resource`]
-
-
- |zero or more |Defines a connector (resource adapter) resource.
-
-a|
-link:#giyit[`resource-adapter-config`]
-
-
- |zero or more |Defines a resource adapter configuration.
-
-a|
-link:#giyil[`jdbc-connection-pool`]
-
-
- |zero or more |Defines the properties that are required for creating a
-JDBC connection pool.
-
-a|
-link:#giygu[`connector-connection-pool`]
-
-
- |zero or more |Defines the properties that are required for creating a
-connector connection pool.
-
-a|
-link:#giyht[`work-security-map`]
-
-
- |zero or more |Defines a work security map.
-|=======================================================================
-
-
-
-[NOTE]
-===========================================================
-
-Subelements of a `resources` element can occur in any order.
-
-===========================================================
-
-
-[[beawx]][[GSDPG00256]][[response-policy]]
-
-`response-policy`
-~~~~~~~~~~~~~~~~~
-
-Defines the authentication policy requirements of the authentication
-provider's response processing.
-
-[[fvzcg]][[GSDPG00693]][[superelements-172]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavz[`provider-config`] (`sun-acc.xml`)
-
-[[fvyxm]][[GSDPG00694]][[subelements-164]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvyxf]][[GSDPG00695]][[attributes-37]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `response-policy`
-element.
-
-[[GSDPG1006]][[sthref202]][[fvyyr]]
-
-
-Table C-127 `response-policy` Attributes
-
-[width="172%",cols="13%,46%,41%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`auth-source` |none |Specifies the type of required authentication,
-either `sender` (user name and password) or `content` (digital
-signature).
-
-|`auth-recipient` |none |Specifies whether recipient authentication
-occurs before or after content authentication. Allowed values are
-`before-content` and `after-content`.
-|=======================================================================
-
-
-[[beawy]][[GSDPG00257]][[response-protection]]
-
-`response-protection`
-~~~~~~~~~~~~~~~~~~~~~
-
-Defines the authentication policy requirements of the application's
-response processing.
-
-[[fvzdk]][[GSDPG00696]][[superelements-173]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beauw[`message-security`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvyxd]][[GSDPG00697]][[subelements-165]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvzeh]][[GSDPG00698]][[attributes-38]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `response-protection`
-element.
-
-[[GSDPG1007]][[sthref203]][[fvzej]]
-
-
-Table C-128 `response-protection` Attributes
-
-[width="172%",cols="13%,46%,41%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`auth-source` |none |Specifies the type of required authentication,
-either `sender` (user name and password) or `content` (digital
-signature).
-
-|`auth-recipient` |none |Specifies whether recipient authentication
-occurs before or after content authentication. Allowed values are
-`before-content` and `after-content`.
-|=======================================================================
-
-
-[[beawz]][[GSDPG00258]][[role-name]]
-
-`role-name`
-~~~~~~~~~~~
-
-Contains the `role-name` in the `security-role` element of the
-corresponding Java EE deployment descriptor file.
-
-[[fvzek]][[GSDPG00699]][[superelements-174]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxg[`security-role-mapping`] (`glassfish-application.xml`,
-`glassfish-web.xml`, `glassfish-ejb-jar.xml`)
-
-[[fvzei]][[GSDPG00700]][[subelements-166]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaxb]][[GSDPG00259]][[sas-context]]
-
-`sas-context`
-~~~~~~~~~~~~~
-
-Describes the sas-context fields.
-
-[[fvzel]][[GSDPG00701]][[superelements-175]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beato[`ior-security-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvzfb]][[GSDPG00702]][[subelements-167]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `sas-context` element.
-
-[[GSDPG1008]][[sthref204]][[fvzey]]
-
-
-Table C-129 `sas-context` Subelements
-
-[width="100%",cols="30%,11%,59%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#bearj[`caller-propagation`]
-
-
- |only one |Specifies whether the target accepts propagated caller
-identities. The values are NONE, SUPPORTED, or REQUIRED.
-|=======================================================================
-
-
-[[beaxc]][[GSDPG00260]][[schema]]
-
-`schema`
-~~~~~~~~
-
-Specifies the file that contains a description of the database schema to
-which the beans in this `sun-cmp-mappings.xml` file are mapped. If this
-element is empty, the database schema file is automatically generated at
-deployment time. Otherwise, the `schema` element names a `.dbschema`
-file with a pathname relative to the directory containing the
-`sun-cmp-mappings.xml` file, but without the `.dbschema` extension. See
-"link:../application-development-guide/container_managed-persistence.html#GSDVG00439[Automatic Database Schema Capture]" in GlassFish
-Server Open Source Edition Application Development Guide.
-
-[[fvzfa]][[GSDPG00703]][[superelements-176]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxy[`sun-cmp-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvzeq]][[GSDPG00704]][[subelements-168]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvzer]][[GSDPG00705]][[examples-1]]
-
-Examples
-^^^^^^^^
-
-[source,oac_no_warn]
-----
-<schema/> <!-- use automatic schema generation -->
-
-<schema>CompanySchema</schema> <!-- use "CompanySchema.dbschema" -->
-----
-
-[[beaxd]][[GSDPG00261]][[schema-generator-properties]]
-
-`schema-generator-properties`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies field-specific column attributes in `property` subelements.
-
-[[fvzen]][[GSDPG00706]][[superelements-177]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearv[`cmp-resource`] (`glassfish-ejb-jar.xml`)
-
-[[fvzez]][[GSDPG00707]][[subelements-169]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`schema-generator-properties` element.
-
-[[GSDPG1009]][[sthref205]][[fvzex]]
-
-
-Table C-130 `schema-generator-properties` Subelements
-
-[width="100%",cols="40%,14%,46%",options="header",]
-|===================================================
-|Element |Required |Description
-a|
-link:#beavy[`property` (with subelements)]
-
-
- |zero or more |Specifies a property name and value.
-|===================================================
-
-
-[[fvzew]][[GSDPG00708]][[properties-12]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the
-`schema-generator-properties` element.
-
-[[GSDPG1010]][[sthref206]][[fvzev]]
-
-
-Table C-131 `schema-generator-properties` Properties
-
-[width="172%",cols="17%,46%,37%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`use-unique-table-names` |`false` |Specifies that generated table names
-are unique within each GlassFish Server domain. This property can be
-overridden during deployment. See "link:../application-development-guide/container_managed-persistence.html#GSDVG00438[Generation Options
-for CMP]" in GlassFish Server Open Source Edition Application
-Development Guide.
-
-|bean-name`.`field-name`.`attribute |none |Defines a column attribute.
-For attribute descriptions, see link:#fvymm[Table C-132].
-|=======================================================================
-
-
-The following table lists the column attributes for properties defined
-in the `schema-generator-properties` element.
-
-[[GSDPG1011]][[sthref207]][[fvymm]]
-
-
-Table C-132 `schema-generator-properties` Column Attributes
-
-[width="100%",cols="24%,76%",options="header",]
-|=======================================================================
-|Attribute |Description
-|`jdbc-type` |Specifies the JDBC type of the column created for the CMP
-field. The actual SQL type generated is based on this JDBC type but is
-database vendor specific.
-
-|`jdbc-maximum-``length` a|
-Specifies the maximum number of characters stored in the column
-corresponding to the CMP field. Applies only when the actual SQL that is
-generated for the column requires a length.
-
-For example, a `jdbc-maximum-length` of `32` on a CMP `String` field
-such as `firstName` normally results in a column definition such as
-VARCHAR(32). But if the `jdbc-type` is `CLOB` and you are deploying on
-Oracle, the resulting column definition is CLOB. No length is given,
-because in an Oracle database, a CLOB has no length.
-
-|`jdbc-precision` |Specifies the maximum number of digits stored in a
-column which represents a numeric type.
-
-|`jdbc-scale` |Specifies the number of digits stored to the right of the
-decimal point in a column that represents a floating point number.
-
-|`jdbc-nullable` |Specifies whether the column generated for the CMP
-field allows null values.
-|=======================================================================
-
-
-[[fvzem]][[GSDPG00709]][[example-11]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<schema-generator-properties>
-   <property>
-         <name>Employee.firstName.jdbc-type</name>
-         <value>char</value>
-   </property>
-   <property>
-         <name>Employee.firstName.jdbc-maximum-length</name>
-         <value>25</value>
-   </property>
-   <property>
-         <name>use-unique-table-names</name>
-         <value>true</value>
-   </property>
-</schema-generator-properties>
-----
-
-[[beaxe]][[GSDPG00262]][[secondary-table]]
-
-`secondary-table`
-~~~~~~~~~~~~~~~~~
-
-Specifies a bean's secondary table(s).
-
-[[fvzep]][[GSDPG00710]][[superelements-178]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasy[`entity-mapping`] (`sun-cmp-mappings.xml`)
-
-[[fvzeo]][[GSDPG00711]][[subelements-170]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `secondary-table`
-element.
-
-[[GSDPG1012]][[sthref208]][[fvzet]]
-
-
-Table C-133 `secondary table` Subelements
-
-[width="100%",cols="28%,15%,57%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beayd[`table-name`]
-
-
- |only one |Specifies the name of a database table.
-
-a|
-link:#beasa[`column-pair`]
-
-
- |one or more |Specifies the pair of columns that determine the
-relationship between two database tables.
-|=======================================================================
-
-
-[[beaxf]][[GSDPG00263]][[security]]
-
-`security`
-~~~~~~~~~~
-
-Defines the SSL security configuration for IIOP/SSL communication with
-the target server.
-
-[[fvzes]][[GSDPG00712]][[superelements-179]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaye[`target-server`] (`sun-acc.xml`)
-
-[[fvzeu]][[GSDPG00713]][[subelements-171]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `security` element.
-
-[[GSDPG1013]][[sthref209]][[fvzfe]]
-
-
-Table C-134 `security` Subelements
-
-[width="100%",cols="20%,12%,68%",options="header",]
-|=====================================================================
-|Element |Required |Description
-a|
-link:#beaxs[`ssl`]
-
-
- |only one |Specifies the SSL processing parameters.
-a|
-link:#beark[`cert-db`]
-
-
- |only one |Not implemented. Included for backward compatibility only.
-|=====================================================================
-
-
-[[giyhy]][[GSDPG00264]][[security-map]]
-
-`security-map`
-~~~~~~~~~~~~~~
-
-Maps the principal received during servlet or EJB authentication to the
-credentials accepted by the EIS. This mapping is optional. It is
-possible to map multiple GlassFish Server principals to the same
-back-end principal.
-
-This is different from a link:#giyht[`work-security-map`], which maps a
-principal associated with an incoming work instance to a principal in
-the GlassFish Server's security domain.
-
-[[GSDPG1014]][[sthref210]]
-
-
-[[superelements-180]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giygu[`connector-connection-pool`] (`glassfish-resources.xml`)
-
-[[GSDPG1015]][[sthref211]]
-
-
-[[subelements-172]]
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `security-map`
-element.
-
-[[GSDPG1016]][[sthref212]][[sthref213]]
-
-
-Table C-135 `security-map` Subelements
-
-[width="100%",cols="21%,12%,67%",options="header",]
-|====================================================================
-|Element |Required |Description
-a|
-link:#beavv[`principal`]
-
-
- |one or more |Contains the principal of the servlet or EJB client.
-a|
-link:#giyiq[`user-group`]
-
-
- |one or more |Contains the group to which the principal belongs.
-a|
-link:#giyjv[`backend-principal`]
-
-
- |only one |Specifies the user name and password required by the EIS.
-|====================================================================
-
-
-[[GSDPG1017]][[sthref214]]
-
-
-[[attributes-39]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `security-map` element.
-
-[[GSDPG1018]][[sthref215]][[sthref216]]
-
-
-Table C-136 `security-map` Attributes
-
-[width="100%",cols="23%,20%,57%",options="header",]
-|========================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a name for the security mapping.
-|========================================================
-
-
-[[beaxg]][[GSDPG00265]][[security-role-mapping]]
-
-`security-role-mapping`
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Maps roles to users or groups in the currently active realm. See
-"link:../application-development-guide/securing-apps.html#GSDVG00118[Realm Configuration]" in GlassFish Server Open Source
-Edition Application Development Guide.
-
-The role mapping element maps a role, as specified in the EJB JAR
-`role-name` entries, to a environment-specific user or group. If it maps
-to a user, it must be a concrete user which exists in the current realm,
-who can log into the server using the current authentication method. If
-it maps to a group, the realm must support groups and the group must be
-a concrete group which exists in the current realm. To be useful, there
-must be at least one user in that realm who belongs to that group.
-
-[[fvzfc]][[GSDPG00714]][[superelements-181]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`)
-
-[[fvzfd]][[GSDPG00715]][[subelements-173]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`security-role-mapping` element.
-
-[[GSDPG1019]][[sthref217]][[fvzfj]]
-
-
-Table C-137 `security-role-mapping` Subelements
-
-[width="100%",cols="18%,33%,49%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beawz[`role-name`]
-
-
- |only one |Contains the `role-name` in the `security-role` element of
-the corresponding Java EE deployment descriptor file.
-
-a|
-link:#beavw[`principal-name`]
-
-
- |one or more if no `group-name`, otherwise zero or more |Contains a
-principal (user) name in the current realm. In an enterprise bean, the
-principal must have the run-as role specified.
-
-a|
-link:#beati[`group-name`]
-
-
- |one or more if no `principal-name`, otherwise zero or more |Contains a
-group name in the current realm.
-|=======================================================================
-
-
-[[beaxh]][[GSDPG00266]][[service-endpoint-interface]]
-
-`service-endpoint-interface`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the web service reference name relative to `java:comp/env`.
-
-[[fvzfm]][[GSDPG00716]][[superelements-182]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavt[`port-info`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvzfl]][[GSDPG00717]][[subelements-174]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaxi]][[GSDPG00267]][[service-impl-class]]
-
-`service-impl-class`
-~~~~~~~~~~~~~~~~~~~~
-
-Specifies the name of the generated service implementation class.
-
-[[fvzfg]][[GSDPG00718]][[superelements-183]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxk[`service-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvzfk]][[GSDPG00719]][[subelements-175]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaxj]][[GSDPG00268]][[service-qname]]
-
-`service-qname`
-~~~~~~~~~~~~~~~
-
-Specifies the WSDL service element that is being referred to.
-
-[[fvzfn]][[GSDPG00720]][[superelements-184]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxk[`service-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`);
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvzff]][[GSDPG00721]][[subelements-176]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `service-qname`
-element.
-
-[[GSDPG1020]][[sthref218]][[fvzfi]]
-
-
-Table C-138 `service-qname` subelements
-
-[width="100%",cols="30%,15%,55%",options="header",]
-|===============================================
-|Element |Required |Description
-a|
-link:#beavh[`namespaceURI`]
-
-
- |only one |Specifies the namespace URI.
-a|
-link:#beaug[`localpart`]
-
-
- |only one |Specifies the local part of a QNAME.
-|===============================================
-
-
-[[beaxk]][[GSDPG00269]][[service-ref]]
-
-`service-ref`
-~~~~~~~~~~~~~
-
-Specifies runtime settings for a web service reference. Runtime
-information is only needed in the following cases:
-
-* To define the port used to resolve a container-managed port
-* To define the default Stub/Call property settings for Stub objects
-* To define the URL of a final WSDL document to be used instead of the
-one associated with the `service-ref` in the standard Java EE deployment
-descriptor
-
-[[fvzfh]][[GSDPG00722]][[superelements-185]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`),
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[fvzhf]][[GSDPG00723]][[subelements-177]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `service-ref` element.
-
-[[GSDPG1021]][[sthref219]][[fvzgc]]
-
-
-Table C-139 `service-ref` subelements
-
-[width="100%",cols="23%,12%,65%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaxl[`service-ref-name`]
-
-
- |only one |Specifies the web service reference name relative to
-`java:comp/env`.
-
-a|
-link:#beavt[`port-info`]
-
-
- |zero or more |Specifies information for a port within a web service
-reference.
-
-a|
-link:#beari[`call-property`]
-
-
- |zero or more |Specifies JAX-RPC property values that can be set on a
-`javax.xml.rpc.Call` object before it is returned to the web service
-client.
-
-a|
-link:#beayw[`wsdl-override`]
-
-
- |zero or one |Specifies a valid URL pointing to a final WSDL document.
-
-a|
-link:#beaxi[`service-impl-class`]
-
-
- |zero or one |Specifies the name of the generated service
-implementation class.
-
-a|
-link:#beaxj[`service-qname`]
-
-
- |zero or one |Specifies the WSDL service element that is being
-referenced.
-|=======================================================================
-
-
-[[beaxl]][[GSDPG00270]][[service-ref-name]]
-
-`service-ref-name`
-~~~~~~~~~~~~~~~~~~
-
-Specifies the web service reference name relative to `java:comp/env`.
-
-[[fvzfx]][[GSDPG00724]][[superelements-186]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxk[`service-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvzga]][[GSDPG00725]][[subelements-178]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaxm]][[GSDPG00271]][[servlet]]
-
-`servlet`
-~~~~~~~~~
-
-Specifies a principal name for a servlet. Used for the `run-as` role
-defined in `web.xml`.
-
-[[fvzgd]][[GSDPG00726]][[superelements-187]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[fvzhs]][[GSDPG00727]][[subelements-179]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `servlet` element.
-
-[[GSDPG1022]][[sthref220]][[fvzhy]]
-
-
-Table C-140 `servlet` Subelements
-
-[width="100%",cols="24%,12%,64%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaxo[`servlet-name`]
-
-
- |only one |Contains the name of a servlet, which is matched to a
-`servlet-name` in `web.xml`.
-
-a|
-link:#beavw[`principal-name`]
-
-
- |zero or one |Contains a principal (user) name in the current realm.
-
-a|
-link:#beayv[`webservice-endpoint`]
-
-
- |zero or more |Specifies information about a web service endpoint.
-|=======================================================================
-
-
-[[beaxn]][[GSDPG00272]][[servlet-impl-class]]
-
-`servlet-impl-class`
-~~~~~~~~~~~~~~~~~~~~
-
-Specifies the automatically generated name of the servlet implementation
-class.
-
-[[fvzhx]][[GSDPG00728]][[superelements-188]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvzfs]][[GSDPG00729]][[subelements-180]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaxo]][[GSDPG00273]][[servlet-name]]
-
-`servlet-name`
-~~~~~~~~~~~~~~
-
-Specifies the name of a servlet, which is matched to a `servlet-name` in
-`web.xml`. This name must be present in `web.xml`.
-
-[[fvzhj]][[GSDPG00730]][[superelements-189]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`], link:#beaxm[`servlet`]
-(`glassfish-web.xml`)
-
-[[fvzir]][[GSDPG00731]][[subelements-181]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaxp]][[GSDPG00274]][[session-config]]
-
-`session-config`
-~~~~~~~~~~~~~~~~
-
-Specifies session configuration information. Overrides the web container
-settings for an individual web module.
-
-[[fvzic]][[GSDPG00732]][[superelements-190]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[fvzfy]][[GSDPG00733]][[subelements-182]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `session-config`
-element.
-
-[[GSDPG1023]][[sthref221]][[fvzib]]
-
-
-Table C-141 `session-config` Subelements
-
-[width="100%",cols="31%,16%,53%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beaxq[`session-manager`]
-
-
- |zero or one |Specifies session manager configuration information.
-a|
-link:#beaxr[`session-properties`]
-
-
- |zero or one |Specifies session properties.
-a|
-link:#beash[`cookie-properties`]
-
-
- |zero or one |Specifies session cookie properties.
-|==================================================================
-
-
-[[beaxq]][[GSDPG00275]][[session-manager]]
-
-`session-manager`
-~~~~~~~~~~~~~~~~~
-
-Specifies session manager information.
-
-[[fvzgx]][[GSDPG00734]][[superelements-191]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxp[`session-config`] (`glassfish-web.xml`)
-
-[[fvzit]][[GSDPG00735]][[subelements-183]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `session-manager`
-element.
-
-[[GSDPG1024]][[sthref222]][[fvzgo]]
-
-
-Table C-142 `session-manager` Subelements
-
-[width="100%",cols="32%,15%,53%",options="header",]
-|=================================================================
-|Element |Required |Description
-a|
-link:#beaum[`manager-properties`]
-
-
- |zero or one |Specifies session manager properties.
-a|
-link:#beaxu[`store-properties`]
-
-
- |zero or one |Specifies session persistence (storage) properties.
-|=================================================================
-
-
-[[fvzgm]][[GSDPG00736]][[attributes-40]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `session-manager`
-element.
-
-[[GSDPG1025]][[sthref223]][[fvzje]]
-
-
-Table C-143 `session-manager` Attributes
-
-[width="172%",cols="13%,46%,41%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`persistence-type` |`memory` a|
-(optional) Specifies the session persistence mechanism. Allowed values
-are `memory`, `file`, and `replicated`.
-
-If you have installed and configured Coherence*Web, the `coherence-web`
-persistence type is also available. For more information, see Using
-Coherence*Web with GlassFish Server
-(`http://docs.oracle.com/cd/E18686_01/coh.37/e18690/glassfish.html`).
-
-|=======================================================================
-
-
-[[beaxr]][[GSDPG00276]][[session-properties]]
-
-`session-properties`
-~~~~~~~~~~~~~~~~~~~~
-
-Specifies session properties.
-
-[[fvzha]][[GSDPG00737]][[superelements-192]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxp[`session-config`] (`glassfish-web.xml`)
-
-[[fvzgk]][[GSDPG00738]][[subelements-184]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `session-properties`
-element.
-
-[[GSDPG1026]][[sthref224]][[fvzgv]]
-
-
-Table C-144 `session-properties` Subelements
-
-[width="100%",cols="36%,14%,50%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvzht]][[GSDPG00739]][[properties-13]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `session-properties`
-element.
-
-[[GSDPG1027]][[sthref225]][[fvzii]]
-
-
-Table C-145 `session-properties` Properties
-
-[width="172%",cols="14%,46%,40%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`timeoutSeconds` |`1800` a|
-Specifies the default maximum inactive interval (in seconds) for all
-sessions created in this web module. If set to `0` or less, sessions in
-this web module never expire.
-
-If a `session-timeout` element is specified in the `web.xml` file, the
-`session-timeout` value overrides any `timeoutSeconds` value. If neither
-`session-timeout` nor `timeoutSeconds` is specified, the
-`timeoutSeconds` default is used.
-
-Note that the `session-timeout` element in `web.xml` is specified in
-minutes, not seconds.
-
-|`enableCookies` |`true` |Uses cookies for session tracking if set to
-`true`.
-
-|`enableURLRewriting` |`true` |Enables URL rewriting. This provides
-session tracking via URL rewriting when the browser does not accept
-cookies. You must also use an `encodeURL` or `encodeRedirectURL` call in
-the servlet or JSP.
-|=======================================================================
-
-
-[[beaxs]][[GSDPG00277]][[ssl]]
-
-`ssl`
-~~~~~
-
-Defines SSL processing parameters.
-
-[[fvzft]][[GSDPG00740]][[superelements-193]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxf[`security`] (`sun-acc.xml`)
-
-[[fvzgh]][[GSDPG00741]][[subelements-185]]
-
-Subelements
-^^^^^^^^^^^
-
-none
-
-[[fvzip]][[GSDPG00742]][[attributes-41]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `SSL` element.
-
-[[GSDPG1028]][[sthref226]][[fvzgb]]
-
-
-Table C-146 `ssl attributes`
-
-[width="172%",cols="16%,46%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`cert-nickname` |`s1as` |(optional) The nickname of the server
-certificate in the certificate database or the PKCS#11 token. In the
-certificate, the name format is tokenname`:`nickname. Including the
-tokenname`:` part of the name in this attribute is optional.
-
-|`ssl2-enabled` |`false` |(optional) Determines whether SSL2 is enabled.
-
-|`ssl2-ciphers` |none |(optional) A comma-separated list of the SSL2
-ciphers to be used. Ciphers not explicitly listed will be disabled for
-the target, even if those ciphers are available in the particular cipher
-suite you are using. If this option is not used, all supported ciphers
-are assumed to be enabled. Allowed values are `rc4`, `rc4export`, `rc2`,
-`rc2export`, `idea`, `des`, `desede3`.
-
-|`ssl3-enabled` |`true` |(optional) Determines whether SSL3 is enabled.
-
-|`ssl3-tls-``ciphers` |none |(optional) A comma-separated list of the
-SSL3 and/or TLS ciphers to be used. Ciphers not explicitly listed will
-be disabled for the target, even if those ciphers are available in the
-particular cipher suite you are using. If this option is not used, all
-supported ciphers are assumed to be enabled. Allowed values are
-`SSL_RSA_WITH_RC4_128_MD5`, `SSL_RSA_WITH_3DES_EDE_CBC_SHA`,
-`SSL_RSA_WITH_DES_CBC_SHA`, `SSL_RSA_EXPORT_WITH_RC4_40_MD5`,
-`SSL_RSA_WITH_NULL_MD5`, `SSL_RSA_WITH_RC4_128_SHA`,
-`SSL_RSA_WITH_NULL_SHA`. Values available in previous releases are
-supported for backward compatibility.
-
-|`tls-enabled` |`true` |(optional) Determines whether TLS is enabled.
-
-|`tls-rollback-``enabled` |`true` |(optional) Determines whether TLS
-rollback is enabled. Enable TLS rollback for Microsoft Internet Explorer
-5.0 and 5.5.
-|=======================================================================
-
-
-[[beaxt]][[GSDPG00278]][[steady-pool-size]]
-
-`steady-pool-size`
-~~~~~~~~~~~~~~~~~~
-
-Specifies the initial and minimum number of bean instances that are
-maintained in the pool. Default is 32. Applies to stateless session
-beans and message-driven beans.
-
-[[fvziq]][[GSDPG00743]][[superelements-194]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearb[`bean-pool`] (`glassfish-ejb-jar.xml`)
-
-[[fvziy]][[GSDPG00744]][[subelements-186]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaxu]][[GSDPG00279]][[store-properties]]
-
-`store-properties`
-~~~~~~~~~~~~~~~~~~
-
-Specifies session persistence (storage) properties.
-
-[[fvzie]][[GSDPG00745]][[superelements-195]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxq[`session-manager`] (`glassfish-web.xml`)
-
-[[fvzid]][[GSDPG00746]][[subelements-187]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `store-properties`
-element.
-
-[[GSDPG1029]][[sthref227]][[fvzif]]
-
-
-Table C-147 `store-properties` Subelements
-
-[width="100%",cols="37%,14%,49%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[fvzho]][[GSDPG00747]][[properties-14]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `store-properties`
-element.
-
-[[GSDPG1030]][[sthref228]][[fvzgr]]
-
-
-Table C-148 `store-properties` Properties
-
-[width="100%",cols="21%,23%,56%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`directory` |domain-dir`/generated/jsp/`app-name`/`module-name`_war` a|
-Specifies the absolute or relative pathname of the directory into which
-individual session files are written. A relative path is relative to the
-temporary work directory for this web module.
-
-Applicable only if the `persistence-type` attribute of the parent
-link:#beaxq[`session-manager`] element is `file`.
-
-|`persistenceScope` |`session` a|
-Specifies how much of the session state is stored. Allowed values are as
-follows:
-
-* `session` - The entire session state is stored every time. This mode
-provides the best guarantee that your session data is correctly stored
-for any distributable web module.
-* `modified-session` - The entire session state is stored if it has been
-modified. A session is considered to have been modified if
-`HttpSession.setAttribute()` or `HttpSession.removeAttribute()` was
-called. You must guarantee that `setAttribute` is called every time an
-attribute is changed. This is not a Java EE specification requirement,
-but it is required for this mode to work properly.
-* `modified-attribute` - Only modified session attributes are stored.
-For this mode to work properly, you must follow some guidelines, which
-are explained immediately following this table.
-
-Applicable only if the `persistence-type` attribute of the parent
-link:#beaxq[`session-manager`] element is `replicated`.
-
-|=======================================================================
-
-
-If the `persistenceScope` store property is set to `modified-attribute`,
-a web module must follow these guidelines:
-
-* Call `setAttribute` every time the session state is modified.
-* Make sure there are no cross-references between attributes. The object
-graph under each distinct attribute key is serialized and stored
-separately. If there are any object cross references between the objects
-under each separate key, they are not serialized and deserialized
-correctly.
-* Distribute the session state across multiple attributes, or at least
-between a read-only attribute and a modifiable attribute.
-
-[[beaxv]][[GSDPG00280]][[stub-property]]
-
-`stub-property`
-~~~~~~~~~~~~~~~
-
-Specifies JAX-RPC property values that are set on a `javax.xml.rpc.Stub`
-object before it is returned to the web service client. The property
-names can be any properties supported by the JAX-RPC `Stub`
-implementation.
-
-[[fvzgu]][[GSDPG00748]][[superelements-196]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavt[`port-info`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvzij]][[GSDPG00749]][[subelements-188]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `stub-property`
-element.
-
-[[GSDPG1031]][[sthref229]][[fvziz]]
-
-
-Table C-149 `stub-property` subelements
-
-[width="100%",cols="23%,13%,64%",options="header",]
-|=============================================
-|Element |Required |Description
-a|
-link:#beavf[`name`]
-
-
- |only one |Specifies the name of the entity.
-a|
-link:#beayo[`value`]
-
-
- |only one |Specifies the value of the entity.
-|=============================================
-
-
-[[gawoa]][[GSDPG00750]][[properties-15]]
-
-Properties
-^^^^^^^^^^
-
-The following table describes properties for the `stub-property`
-element.
-
-[[GSDPG1032]][[sthref230]][[gawou]]
-
-
-Table C-150 `stub-property` properties
-
-[width="181%",cols="10%,49%,41%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`jbi-enabled` |`true` |Determines whether the visibility of this
-endpoint as a Java Business Integration service is enabled or disabled.
-|=======================================================================
-
-
-[[fvzji]][[GSDPG00751]][[example-12]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<service-ref>
-<service-ref-name>service/FooProxy</service-ref-name>
-  <port-info>
-       <service-endpoint-interface>a.FooPort</service-endpoint-interface>
-       <wsdl-port>
-          <namespaceURI>urn:Foo</namespaceURI>
-          <localpart>FooPort</localpart>
-       </wsdl-port>
-       <stub-property>
-          <name>javax.xml.rpc.service.endpoint.address</name>
-          <value>http://localhost:8080/a/Foo</value>
-       </stub-property>
-  </port-info>
-</service-ref>
-----
-
-[[beaxy]][[GSDPG00281]][[sun-cmp-mapping]]
-
-`sun-cmp-mapping`
-~~~~~~~~~~~~~~~~~
-
-Specifies beans mapped to a particular database schema.
-
-
-[NOTE]
-=======================================================================
-
-A bean cannot be related to a bean that maps to a different database
-schema, even if the beans are deployed in the same EJB JAR file.
-
-=======================================================================
-
-
-[[fvzhh]][[GSDPG00752]][[superelements-197]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxz[`sun-cmp-mappings`] (`sun-cmp-mappings.xml`)
-
-[[fvzjg]][[GSDPG00753]][[subelements-189]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `sun-cmp-mapping`
-element.
-
-[[GSDPG1033]][[sthref231]][[fvzhm]]
-
-
-Table C-151 `sun-cmp-mapping` Subelements
-
-[width="100%",cols="20%,13%,67%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaxc[`schema`]
-
-
- |only one |Specifies the file that contains a description of the
-database schema.
-
-a|
-link:#beasy[`entity-mapping`]
-
-
- |one or more |Specifies the mapping of a bean to database columns.
-|=======================================================================
-
-
-[[beaxz]][[GSDPG00282]][[sun-cmp-mappings]]
-
-`sun-cmp-mappings`
-~~~~~~~~~~~~~~~~~~
-
-Defines the GlassFish Server specific CMP mapping configuration for an
-EJB JAR file. This is the root element; there can only be one
-`sun-cmp-mappings` element in a `sun-cmp-mappings.xml` file. See
-link:dd-files.html#beaqn[The sun-cmp-mappings.xml File].
-
-[[fvzix]][[GSDPG00754]][[superelements-198]]
-
-Superelements
-^^^^^^^^^^^^^
-
-none
-
-[[fvzjj]][[GSDPG00755]][[subelements-190]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `sun-cmp-mappings`
-element.
-
-[[GSDPG1034]][[sthref232]][[fvzin]]
-
-
-Table C-152 `sun-cmp-mappings` Subelements
-
-[width="100%",cols="32%,16%,52%",options="header",]
-|=====================================================================
-|Element |Required |Description
-a|
-link:#beaxy[`sun-cmp-mapping`]
-
-
- |one or more |Specifies beans mapped to a particular database schema.
-|=====================================================================
-
-
-[[beayd]][[GSDPG00283]][[table-name]]
-
-`table-name`
-~~~~~~~~~~~~
-
-Specifies the name of a database table. The table must be present in the
-database schema file. See "link:../application-development-guide/container_managed-persistence.html#GSDVG00439[Automatic Database Schema
-Capture]" in GlassFish Server Open Source Edition Application
-Development Guide.
-
-[[fvzis]][[GSDPG00756]][[superelements-199]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beasy[`entity-mapping`], link:#beaxe[`secondary-table`]
-(`sun-cmp-mappings.xml`)
-
-[[fvzjk]][[GSDPG00757]][[subelements-191]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaye]][[GSDPG00284]][[target-server]]
-
-`target-server`
-~~~~~~~~~~~~~~~
-
-Specifies the IIOP listener for the target server. Also specifies IIOP
-endpoints used for load balancing. If the GlassFish Server instance on
-which the application client is deployed participates in a cluster,
-GlassFish Server finds all currently active IIOP endpoints in the
-cluster automatically. However, a client should have at least two
-endpoints specified for bootstrapping purposes, in case one of the
-endpoints has failed.
-
-A listener or endpoint is in the form host`:`port, where the host is an
-IP address or host name, and the port specifies the port number.
-
-Not used if the deprecated `endpoints` property is defined for load
-balancing. For more information, see link:#bearr[`client-container`].
-
-[[fvzgy]][[GSDPG00758]][[superelements-200]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearr[`client-container`] (`sun-acc.xml`)
-
-[[fvzhi]][[GSDPG00759]][[subelements-192]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `target-server`
-element.
-
-[[GSDPG1035]][[sthref233]][[fvzhg]]
-
-
-Table C-153 `target-server` subelements
-
-[width="100%",cols="23%,14%,63%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Specifies the description of the target server.
-
-a|
-link:#beaxf[`security`]
-
-
- |zero or one |Specifies the security configuration for the IIOP/SSL
-communication with the target server.
-|=======================================================================
-
-
-[[fvzfp]][[GSDPG00760]][[attributes-42]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `target-server`
-element.
-
-[[GSDPG1036]][[sthref234]][[fvzgg]]
-
-
-Table C-154 `target-server` attributes
-
-[width="181%",cols="7%,49%,44%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the name of the server instance accessed by the
-client container.
-
-|`address` |none |Specifies the host name or IP address (resolvable by
-DNS) of the server to which this client attaches.
-
-|`port` |none a|
-Specifies the naming service port number of the server to which this
-client attaches.
-
-For a new server instance, assign a port number other than 3700. You can
-change the port number in the Administration Console. Click the Help
-button in the Administration Console for more information.
-
-|=======================================================================
-
-
-[[beayf]][[GSDPG00285]][[tie-class]]
-
-`tie-class`
-~~~~~~~~~~~
-
-Specifies the automatically generated name of a tie implementation class
-for a port component.
-
-[[fvzgz]][[GSDPG00761]][[superelements-201]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvzfq]][[GSDPG00762]][[subelements-193]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beayg]][[GSDPG00286]][[timeout]]
-
-`timeout`
-~~~~~~~~~
-
-Specifies the link:#bearh[`cache-mapping`] specific maximum amount of
-time in seconds that an entry can remain in the cache after it is
-created or refreshed. If not specified, the default is the value of the
-`timeout` attribute of the link:#beard[`cache`] element.
-
-[[fvzhc]][[GSDPG00763]][[superelements-202]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvziv]][[GSDPG00764]][[subelements-194]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvzhd]][[GSDPG00765]][[attributes-43]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `timeout` element.
-
-[[GSDPG1037]][[sthref235]][[fvzih]]
-
-
-Table C-155 `timeout` Attributes
-
-[width="181%",cols="51%,11%,38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies the timeout input parameter, whose value is
-interpreted in seconds. The field's type must be `java.lang.Long` or
-`java.lang.Integer`.
-
-|`scope` |`request.attribute` |(optional) Specifies the scope from which
-the input parameter is retrieved. Allowed values are
-`context.attribute`, `request.header`, `request.parameter`,
-`request.cookie`, `request.attribute`, and `session.attribute`.
-|=======================================================================
-
-
-[[beayh]][[GSDPG00287]][[transport-config]]
-
-`transport-config`
-~~~~~~~~~~~~~~~~~~
-
-Specifies the security transport information.
-
-[[fvzfo]][[GSDPG00766]][[superelements-203]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beato[`ior-security-config`] (`glassfish-ejb-jar.xml`)
-
-[[fvzhv]][[GSDPG00767]][[subelements-195]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `transport-config`
-element.
-
-[[GSDPG1038]][[sthref236]][[fvziu]]
-
-
-Table C-156 `transport-config` Subelements
-
-[width="100%",cols="30%,10%,60%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beatn[`integrity`]
-
-
- |only one |Specifies if the target supports integrity-protected
-messages. The values are NONE, SUPPORTED, or REQUIRED.
-
-a|
-link:#beasc[`confidentiality`]
-
-
- |only one |Specifies if the target supports privacy-protected messages.
-The values are NONE, SUPPORTED, or REQUIRED.
-
-a|
-link:#beata[`establish-trust-in-target`]
-
-
- |only one |Specifies if the target is capable of authenticating to a
-client. The values are NONE, SUPPORTED, or REQUIRED.
-
-a|
-link:#beasz[`establish-trust-in-client`]
-
-
- |only one |Specifies if the target is capable of authenticating a
-client. The values are NONE, SUPPORTED, or REQUIRED.
-|=======================================================================
-
-
-[[beayi]][[GSDPG00288]][[transport-guarantee]]
-
-`transport-guarantee`
-~~~~~~~~~~~~~~~~~~~~~
-
-Specifies that the communication between client and server is `NONE`,
-`INTEGRAL`, or `CONFIDENTIAL`.
-
-* `NONE` means the application does not require any transport
-guarantees.
-* `INTEGRAL` means the application requires that the data sent between
-client and server be sent in such a way that it can't be changed in
-transit.
-* `CONFIDENTIAL` means the application requires that the data be
-transmitted in a fashion that prevents other entities from observing the
-contents of the transmission.
-
-In most cases, a value of `INTEGRAL` or `CONFIDENTIAL` indicates that
-the use of SSL is required.
-
-[[fvzhb]][[GSDPG00768]][[superelements-204]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayv[`webservice-endpoint`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvzgl]][[GSDPG00769]][[subelements-196]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beayk]][[GSDPG00289]][[unique-id]]
-
-`unique-id`
-~~~~~~~~~~~
-
-Contains the unique ID for the application. This value is automatically
-updated each time the application is deployed or redeployed. Do not edit
-this value.
-
-[[fvzig]][[GSDPG00770]][[superelements-205]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
-link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
-
-[[fvzjc]][[GSDPG00771]][[subelements-197]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beayl]][[GSDPG00290]][[url-pattern]]
-
-`url-pattern`
-~~~~~~~~~~~~~
-
-Specifies a servlet URL pattern for which caching is enabled. See the
-Servlet 2.4 specification section SRV. 11.2 for applicable patterns.
-
-[[fvziw]][[GSDPG00772]][[superelements-206]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#bearh[`cache-mapping`] (`glassfish-web.xml`)
-
-[[fvzfw]][[GSDPG00773]][[subelements-198]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[giyiq]][[GSDPG00291]][[user-group]]
-
-`user-group`
-~~~~~~~~~~~~
-
-Contains the group to which the principal belongs.
-
-[[GSDPG1039]][[sthref237]]
-
-
-[[superelements-207]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyhy[`security-map`] (`glassfish-resources.xml`)
-
-[[GSDPG1040]][[sthref238]]
-
-
-[[subelements-199]]
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beaym]][[GSDPG00292]][[use-thread-pool-id]]
-
-`use-thread-pool-id`
-~~~~~~~~~~~~~~~~~~~~
-
-Specifies the thread pool from which threads are selected for remote
-invocations of this bean.
-
-[[fvzhz]][[GSDPG00774]][[superelements-208]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beass[`ejb`] (`glassfish-ejb-jar.xml`)
-
-[[fvzhp]][[GSDPG00775]][[subelements-200]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beayo]][[GSDPG00293]][[value]]
-
-`value`
-~~~~~~~
-
-Specifies the value of the entity.
-
-[[fvzhq]][[GSDPG00776]][[superelements-209]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beari[`call-property`], link:#beaxv[`stub-property`]
-(`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`); link:#beavy[`property` (with
-subelements)] (`glassfish-ejb-jar.xml`)
-
-[[fvzhe]][[GSDPG00777]][[subelements-201]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gikqk]][[GSDPG00294]][[valve]]
-
-`valve`
-~~~~~~~
-
-Specifies a custom valve for this web application. You can define a
-valve for all the web applications on a specific virtual server. For
-details, see link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-
-[[giksf]][[GSDPG00778]][[superelements-210]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`)
-
-[[gikvt]][[GSDPG00779]][[subelements-202]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `valve` element.
-
-[[GSDPG1041]][[sthref239]][[giktu]]
-
-
-Table C-157 `valve` Subelements
-
-[width="100%",cols="25%,12%,63%",options="header",]
-|==================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Specifies a text description of this element.
-a|
-link:#beavx[`property` (with attributes)]
-
-
- |zero or more |Specifies a property, which has a name and a value.
-|==================================================================
-
-
-[[gikuo]][[GSDPG00780]][[attributes-44]]
-
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `valve` element.
-
-[[GSDPG1042]][[sthref240]][[gikqw]]
-
-
-Table C-158 `valve` Attributes
-
-[width="172%",cols="9%,46%,45%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the valve.
-
-|`class-name` |none |Specifies the fully qualified class name of the
-valve. The valve class must implement the org.apache.catalina.Valve
-interface from Tomcat or previous GlassFish Server releases, or the
-org.glassfish.web.valve.GlassFishValve interface from the current
-GlassFish Server release.
-|=======================================================================
-
-
-[[giksd]][[GSDPG00781]][[example-13]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-><valve name="MyValve" classname="org.glassfish.extension.Valve">
-   <property name="MyProperty1" value="MyValue1" />
-   <property name="MyProperty2" value="MyValue2" />
-</valve> 
-----
-
-[[gbgdw]][[GSDPG00295]][[vendor]]
-
-`vendor`
-~~~~~~~~
-
-Specifies a vendor-specific icon, splash screen, text string, or a
-combination of these for Java Web Start download and launch screens. The
-complete format of this element's data is as follows:
-
-[source,oac_no_warn]
-----
-<vendor>icon-image-URI::splash-screen-image-URI::vendor-text</vendor>
-----
-
-The following example vendor element contains an icon, a splash screen,
-and a text string:
-
-[source,oac_no_warn]
-----
-<vendor>images/icon.jpg::otherDir/splash.jpg::MyCorp, Inc.</vendor>
-----
-
-The following example vendor element contains an icon and a text string:
-
-[source,oac_no_warn]
-----
-<vendor>images/icon.jpg::MyCorp, Inc.</vendor>
-----
-
-The following example vendor element contains a splash screen and a text
-string; note the initial double colon:
-
-[source,oac_no_warn]
-----
-<vendor>::otherDir/splash.jpg::MyCorp, Inc.</vendor>
-----
-
-The following example vendor element contains only a text string:
-
-[source,oac_no_warn]
-----
-<vendor>MyCorp, Inc.</vendor>
-----
-
-The default value is the text string `Application Client`.
-
-[[gbgdu]][[GSDPG00782]][[superelements-211]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#gauax[`java-web-start-access`]
-(`glassfish-application-client.xml`)
-
-[[gbgcq]][[GSDPG00783]][[subelements-203]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[gkkfd]][[GSDPG00296]][[version-identifier]]
-
-`version-identifier`
-~~~~~~~~~~~~~~~~~~~~
-
-Contains version information for an application or module. For more
-information about application versioning, see
-link:overview.html#gkhhv[Module and Application Versions].
-
-[[GSDPG1043]][[sthref241]]
-
-
-[[superelements-212]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`),
-link:#beayb[`glassfish-web-app`] (`glassfish-web-app.xml`),
-link:#beaya[`glassfish-ejb-jar`] (`glassfish-ejb-jar.xml`),
-link:#beaxx[`glassfish-application-client`]
-(`glassfish-application-client.xml`)
-
-[[GSDPG1044]][[sthref242]]
-
-
-[[subelements-204]]
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beayp]][[GSDPG00297]][[victim-selection-policy]]
-
-`victim-selection-policy`
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies how stateful session beans are selected for passivation.
-Possible values are First In, First Out (`FIFO`), Least Recently Used
-(`LRU`), Not Recently Used (`NRU`). The default value is `NRU`, which is
-actually pseudo-LRU.
-
-
-[NOTE]
-======================================================
-
-You cannot plug in your own victim selection algorithm.
-
-======================================================
-
-
-The victims are generally passivated into a backup store (typically a
-file system or database). This store is cleaned during startup, and also
-by a periodic background process that removes idle entries as specified
-by `removal-timeout-in-seconds`. The backup store is monitored by a
-background thread (or sweeper thread) to remove unwanted entries.
-
-Applies to stateful session beans.
-
-[[fvzhu]][[GSDPG00784]][[superelements-213]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beara[`bean-cache`] (`glassfish-ejb-jar.xml`)
-
-[[fvzfr]][[GSDPG00785]][[subelements-205]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvzgi]][[GSDPG00786]][[example-14]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-<victim-selection-policy>LRU</victim-selection-policy>
-----
-
-If both SSL2 and SSL3 are enabled, the server tries SSL3 encryption
-first. If that fails, the server tries SSL2 encryption. If both SSL2 and
-SSL3 are enabled for a virtual server, the server tries SSL3 encryption
-first. If that fails, the server tries SSL2 encryption.
-
-[[beayr]][[GSDPG00298]][[web]]
-
-`web`
-~~~~~
-
-Specifies the application's web tier configuration.
-
-[[fvzil]][[GSDPG00787]][[superelements-214]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxw[`glassfish-application`] (`glassfish-application.xml`)
-
-[[fvzge]][[GSDPG00788]][[subelements-206]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `web` element.
-
-[[GSDPG1045]][[sthref243]][[fvzfz]]
-
-
-Table C-159 `web` Subelements
-
-[width="100%",cols="24%,11%,65%",options="header",]
-|============================================================
-|Element |Required |Description
-a|
-link:#beays[`web-uri`]
-
-
- |only one |Contains the web URI for the application.
-a|
-link:#beasg[`context-root`]
-
-
- |only one |Contains the web context root for the web module.
-|============================================================
-
-
-[[beays]][[GSDPG00299]][[web-uri]]
-
-`web-uri`
-~~~~~~~~~
-
-Contains the web URI for the application. Must match the corresponding
-element in the `application.xml` file.
-
-[[fvzhk]][[GSDPG00789]][[superelements-215]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayr[`web`] (`glassfish-application.xml`)
-
-[[fvzik]][[GSDPG00790]][[subelements-207]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beayt]][[GSDPG00300]][[webservice-description]]
-
-`webservice-description`
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies a name and optional publish location for a web service.
-
-[[fvzjd]][[GSDPG00791]][[superelements-216]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayb[`glassfish-web-app`] (`glassfish-web.xml`),
-link:#beasx[`enterprise-beans`] (`glassfish-ejb-jar.xml`)
-
-[[fvzgs]][[GSDPG00792]][[subelements-208]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the
-`webservice-description` element.
-
-[[GSDPG1046]][[sthref244]][[fvzjb]]
-
-
-Table C-160 `webservice-description` subelements
-
-[width="100%",cols="33%,11%,56%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beayu[`webservice-description-name`]
-
-
- |only one |Specifies a unique name for the web service within a web or
-EJB module.
-
-a|
-link:#beayy[`wsdl-publish-location`]
-
-
- |zero or one |Specifies the URL of a directory to which a web service's
-WSDL is published during deployment.
-|=======================================================================
-
-
-[[beayu]][[GSDPG00301]][[webservice-description-name]]
-
-`webservice-description-name`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies a unique name for the web service within a web or EJB module.
-
-[[fvzgp]][[GSDPG00793]][[superelements-217]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayt[`webservice-description`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvzgw]][[GSDPG00794]][[subelements-209]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[beayv]][[GSDPG00302]][[webservice-endpoint]]
-
-`webservice-endpoint`
-~~~~~~~~~~~~~~~~~~~~~
-
-Specifies information about a web service endpoint.
-
-[[fvzio]][[GSDPG00795]][[superelements-218]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxm[`servlet`] (`glassfish-web.xml`), link:#beass[`ejb`]
-(`glassfish-ejb-jar.xml`)
-
-[[fvzjp]][[GSDPG00796]][[subelements-210]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `webservice-endpoint`
-element.
-
-[[GSDPG1047]][[sthref245]][[fvzjs]]
-
-
-Table C-161 `webservice-endpoint` subelements
-
-[width="100%",cols="29%,12%,59%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beavs[`port-component-name`]
-
-
- |only one |Specifies a unique name for a port component within a web or
-EJB module.
-
-a|
-link:#beasw[`endpoint-address-uri`]
-
-
- |zero or one |Specifies the automatically generated endpoint address.
-
-a|
-link:#beauk[`login-config`]
-
-
- |zero or one |Specifies the authentication configuration for an EJB web
-service endpoint.
-
-a|
-link:#beaux[`message-security-binding`]
-
-
- |zero or one |Specifies a custom authentication provider binding.
-
-a|
-link:#beayi[`transport-guarantee`]
-
-
- |zero or one |Specifies that the communication between client and
-server is `NONE`, `INTEGRAL`, or `CONFIDENTIAL`.
-
-a|
-link:#beaxj[`service-qname`]
-
-
- |zero or one |Specifies the WSDL service element that is being
-referenced.
-
-a|
-link:#beayf[`tie-class`]
-
-
- |zero or one |Specifies the automatically generated name of a tie
-implementation class for a port component.
-
-a|
-link:#beaxn[`servlet-impl-class`]
-
-
- |zero or one |Specifies the automatically generated name of the
-generated servlet implementation class.
-
-a|
-link:#gaubj[`debugging-enabled`]
-
-
- |zero or one |Specifies whether the debugging servlet is enabled for
-this web service endpoint. Allowed values are `true` and `false` (the
-default).
-
-a|
-link:#beavx[`property` (with attributes)] (`glassfish-web.xml`)
-
-link:#beavy[`property` (with subelements)] (`glassfish-ejb-jar.xml`)
-
- |zero or more |Specifies a property, which has a name and a value.
-|=======================================================================
-
-
-[[giyht]][[GSDPG00303]][[work-security-map]]
-
-`work-security-map`
-~~~~~~~~~~~~~~~~~~~
-
-Defines a work security map, which maps a principal associated with an
-incoming work instance to a principal in the GlassFish Server's security
-domain. It is possible to map multiple EIS group or user principals to
-the same GlassFish Server principal.
-
-This is different from a link:#giyhy[`security-map`], which maps the
-principal received during servlet or EJB authentication to the
-credentials accepted by the EIS.
-
-[[GSDPG1048]][[sthref246]]
-
-
-[[superelements-219]]
-Superelements
-^^^^^^^^^^^^^
-
-link:#giyiy[`resources`] (`glassfish-resources.xml`)
-
-[[giyih]][[GSDPG00797]][[subelements-211]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `work-security-map`
-element.
-
-[[GSDPG1049]][[sthref247]][[sthref248]]
-
-
-Table C-162 `work-security-map` Subelements
-
-[width="100%",cols="17%,12%,71%",options="header",]
-|=======================================================================
-|Element |Required |Description
-a|
-link:#beaso[`description`]
-
-
- |zero or one |Contains a text description of this element.
-
-a|
-link:#giyif[`principal-map`]
-
-
- |zero or more |Maps an EIS principal to a principal defined in the
-GlassFish Server domain.
-
-a|
-link:#giygy[`group-map`]
-
-
- |zero or more |Maps an EIS group to a group defined in the GlassFish
-Server domain.
-|=======================================================================
-
-
-[[GSDPG1050]][[sthref249]]
-
-
-[[attributes-45]]
-Attributes
-^^^^^^^^^^
-
-The following table describes attributes for the `work-security-map`
-element.
-
-[[GSDPG1051]][[sthref250]][[sthref251]]
-
-
-Table C-163 `work-security-map` Attributes
-
-[width="181%",cols="13%,49%,38%",options="header",]
-|===================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the work security map.
-|`description` |none |Specifies a text description for this element.
-|===================================================================
-
-
-[[beayw]][[GSDPG00304]][[wsdl-override]]
-
-`wsdl-override`
-~~~~~~~~~~~~~~~
-
-Specifies a valid URL pointing to a final WSDL document. If not
-specified, the WSDL document associated with the `service-ref` in the
-standard Java EE deployment descriptor is used.
-
-[[fvzjl]][[GSDPG00798]][[superelements-220]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beaxk[`service-ref`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`, `glassfish-application-client.xml`)
-
-[[fvzjq]][[GSDPG00799]][[subelements-212]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvzjt]][[GSDPG00800]][[example-15]]
-
-Example
-^^^^^^^
-
-[source,oac_no_warn]
-----
-// available via HTTP
-<wsdl-override>http://localhost:8000/myservice/myport?WSDL</wsdl-override>
-
-// in a file
-<wsdl-override>file:/home/user1/myfinalwsdl.wsdl</wsdl-override>
-----
-
-[[beayx]][[GSDPG00305]][[wsdl-port]]
-
-`wsdl-port`
-~~~~~~~~~~~
-
-Specifies the WSDL port.
-
-[[fvzjo]][[GSDPG00801]][[superelements-221]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beavt[`port-info`] (`glassfish-web.xml`, `glassfish-ejb-jar.xml`,
-`glassfish-application-client.xml`)
-
-[[fvzjm]][[GSDPG00802]][[subelements-213]]
-
-Subelements
-^^^^^^^^^^^
-
-The following table describes subelements for the `wsdl-port` element.
-
-[[GSDPG1052]][[sthref252]][[fvzju]]
-
-
-Table C-164 `wsdl-port` subelements
-
-[width="100%",cols="30%,11%,59%",options="header",]
-|===============================================
-|Element |Required |Description
-a|
-link:#beavh[`namespaceURI`]
-
-
- |only one |Specifies the namespace URI.
-a|
-link:#beaug[`localpart`]
-
-
- |only one |Specifies the local part of a QNAME.
-|===============================================
-
-
-[[beayy]][[GSDPG00306]][[wsdl-publish-location]]
-
-`wsdl-publish-location`
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Specifies the URL of a directory to which a web service's WSDL is
-published during deployment. Any required files are published to this
-directory, preserving their location relative to the module-specific
-WSDL directory (`META-INF/wsdl` or `WEB-INF/wsdl`).
-
-[[fvzjw]][[GSDPG00803]][[superelements-222]]
-
-Superelements
-^^^^^^^^^^^^^
-
-link:#beayt[`webservice-description`] (`glassfish-web.xml`,
-`glassfish-ejb-jar.xml`)
-
-[[fvzjr]][[GSDPG00804]][[subelements-214]]
-
-Subelements
-^^^^^^^^^^^
-
-none - contains data
-
-[[fvzjn]][[GSDPG00805]][[example-16]]
-
-Example
-^^^^^^^
-
-Suppose you have an `ejb.jar` file whose `webservices.xml` file's
-`wsdl-file` element contains the following reference:
-
-[source,oac_no_warn]
-----
-META-INF/wsdl/a/Foo.wsdl
-----
-
-Suppose your `glassfish-ejb.jar` file contains the following element:
-
-[source,oac_no_warn]
-----
-<wsdl-publish-location>file:/home/user1/publish</wsdl-publish-location>
-----
-
-The final WSDL is stored in `/home/user1/publish/a/Foo.wsdl`.
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/dd-files.adoc b/docs/application-deployment-guide/src/main/jbake/content/dd-files.adoc
deleted file mode 100644
index a056054..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/dd-files.adoc
+++ /dev/null
@@ -1,1169 +0,0 @@
-type=page
-status=published
-title=GlassFish Server Deployment Descriptor Files
-next=dd-elements.html
-prev=asadmin-deployment-subcommands.html
-~~~~~~
-GlassFish Server Deployment Descriptor Files
-============================================
-
-[[GSDPG00006]][[giida]]
-
-
-[[b-glassfish-server-deployment-descriptor-files]]
-B GlassFish Server Deployment Descriptor Files
-----------------------------------------------
-
-This appendix describes the element hierarchies in the GlassFish Server
-deployment descriptors that are included in this release of the
-GlassFish Server Open Source Edition software.
-
-The following topics are addressed here:
-
-* link:#giiie[About the GlassFish Server Deployment Descriptors]
-* link:#beaqk[The glassfish-application.xml File]
-* link:#beaql[The glassfish-web.xml File]
-* link:#beaqm[The glassfish-ejb-jar.xml File]
-* link:#beaqn[The sun-cmp-mappings.xml File]
-* link:#beaqo[The glassfish-application-client.xml file]
-* link:#beaqp[The sun-acc.xml File]
-* link:#giyhh[The glassfish-resources.xml File]
-* link:#gkiot[WebLogic Server Deployment Descriptor Support in GlassFish
-Server]
-
-[[giiie]][[GSDPG00076]][[about-the-glassfish-server-deployment-descriptors]]
-
-About the GlassFish Server Deployment Descriptors
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each deployment descriptor XML file has a corresponding Document Type
-Definition (DTD) file, which defines the elements, data, and attributes
-that the deployment descriptor file can contain. For example, the
-`glassfish-application_6_0-1.dtd` file defines the structure of the
-`glassfish-application.xml` file. The DTD files for the GlassFish Server
-deployment descriptors are located in the as-install`/lib/dtds`
-directory.
-
-The GlassFish Server deployment descriptor files must be readable and
-writable by the file owners. In each deployment descriptor file,
-subelements must be defined in the order in which they are listed under
-each Subelements heading, unless otherwise noted. For general
-information about DTD files and XML, see the XML specification at
-`http://www.w3.org/TR/REC-xml`.
-
-
-[NOTE]
-=======================================================================
-
-Do not edit the DTD files; their contents change only with new versions
-of GlassFish Server.
-
-=======================================================================
-
-
-The following table lists the GlassFish Server deployment descriptors
-and their DTD files.
-
-[[GSDPG835]][[sthref6]][[giiht]]
-
-
-Table B-1 GlassFish Server Deployment Descriptors and DTDs
-
-[width="100%",cols="30%,39%,31%",options="header",]
-|=======================================================================
-|Deployment Descriptor |DTD File |Description
-|`glassfish-application.xml` |`glassfish-application_6_0-1.dtd`
-|Configures an entire Java EE application (EAR file).
-
-|`glassfish-web.xml` |`glassfish-web-app_3_0-1.dtd` |Configures a web
-application (WAR file).
-
-|`glassfish-ejb-jar.xml` |`glassfish-ejb-jar_3_1-1.dtd` |Configures an
-enterprise bean (EJB JAR file).
-
-|`sun-cmp-mappings.xml` |`sun-cmp-mapping_1_2.dtd` |Configures
-container-managed persistence for an EJB 2.0 or 2.1 entity bean.
-
-|`glassfish-application-client.xml`
-|`glassfish-application-client_6_0-1.dtd` |Configures an Application
-Client Container (ACC) client (JAR file).
-
-|`sun-acc.xml` |`sun-application-client-container_1_2.dtd` |Configures
-the Application Client Container. This is more of a configuration file
-than a deployment descriptor. GlassFish Server provides a default file
-in the domain-dir`/config` directory. Specifying a different file is
-optional.
-
-|`glassfish-resources.xml` |`glassfish-resources_1_5.dtd` |Configures
-application-scoped resources.
-|=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-The `sun-application.xml`, `sun-web.xml`, `sun-ejb-jar.xml`,
-`sun-application-client.xml`, and `sun-resources.xml` deployment
-descriptors are supported for backward compatibility.
-
-=======================================================================
-
-
-[[beaqk]][[GSDPG00077]][[the-glassfish-application.xml-file]]
-
-The glassfish-application.xml File
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `glassfish-application.xml` file configures an entire Java EE
-application (EAR file). The element hierarchy is as follows:
-
-[source,oac_no_warn]
-----
-glassfish-application
-.  web
-.  .  web-uri
-.  .  context-root
-.  pass-by-reference
-.  unique-id
-.  security-role-mapping
-.  .  role-name
-.  .  principal-name
-.  .  group-name
-.  realm
-.  ejb-ref
-.  .  ejb-ref-name
-.  .  jndi-name
-.  resource-ref
-.  .  res-ref-name
-.  .  jndi-name
-.  .  default-resource-principal
-.  .  .  name
-.  .  .  password
-.  resource-env-ref
-.  .  resource-env-ref-name
-.  .  jndi-name
-.  service-ref
-.  .  service-ref-name
-.  .  port-info
-.  .  .  service-endpoint-interface
-.  .  .  wsdl-port
-.  .  .  .  namespaceURI
-.  .  .  .  localpart
-.  .  .  stub-property
-.  .  .  .  name
-.  .  .  .  value
-.  .  .  call-property
-.  .  .  .  name
-.  .  .  .  value
-.  .  .  message-security-binding
-.  .  .  .  message-security
-.  .  .  .  .  message
-.  .  .  .  .  .  java-method
-.  .  .  .  .  .  .  method-name
-.  .  .  .  .  .  .  method-params
-.  .  .  .  .  .  .  .  method-param
-.  .  .  .  .  .  operation-name
-.  .  .  .  .  request-protection
-.  .  .  .  .  response-protection
-.  .  call-property
-.  .  .  name
-.  .  .  value
-.  .  wsdl-override
-.  .  service-impl-class
-.  .  service-qname
-.  .  .  namespaceURI
-.  .  .  localpart
-.  message-destination-ref
-.  .  message-destination-ref-name
-.  .  jndi-name
-.  message-destination
-.  .  message-destination-name
-.  .  jndi-name
-.  archive-name
-.  compatibility
-.  keep-state
-.  version-identifier
-----
-
-Here is a sample `glassfish-application.xml` file:
-
-[source,oac_no_warn]
-----
-<!DOCTYPE glassfish-application PUBLIC "-//GlassFish.org//DTD 
-GlassFish Application Server 3.1 Java EE Application 6.0//EN" 
-"http://glassfish.org/dtds/glassfish-application_6_0-1.dtd">
-<glassfish-application>
-   <unique-id>67488732739338240</unique-id>
-</glassfish-application>
-----
-
-[[beaql]][[GSDPG00078]][[the-glassfish-web.xml-file]]
-
-The glassfish-web.xml File
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `glassfish-web.xml` file configures a web application (WAR file).
-The element hierarchy is as follows:
-
-[source,oac_no_warn]
-----
-glassfish-web-app
-.  context-root
-.  security-role-mapping
-.  .  role-name
-.  .  principal-name
-.  .  group-name
-.  servlet
-.  .  servlet-name
-.  .  principal-name
-.  .  webservice-endpoint
-.  .  .  port-component-name
-.  .  .  endpoint-address-uri
-.  .  .  login-config
-.  .  .  .  auth-method
-.  .  .  message-security-binding
-.  .  .  .  message-security
-.  .  .  .  .  message
-.  .  .  .  .  .  java-method
-.  .  .  .  .  .  .  method-name
-.  .  .  .  .  .  .  method-params
-.  .  .  .  .  .  .  .  method-param
-.  .  .  .  .  .  operation-name
-.  .  .  .  .  request-protection
-.  .  .  .  .  response-protection
-.  .  .  transport-guarantee
-.  .  .  service-qname
-.  .  .  tie-class
-.  .  .  servlet-impl-class
-.  .  .  debugging-enabled
-.  .  .  property (with attributes)
-.  .  .  .  description
-.  idempotent-url-pattern
-.  session-config
-.  .  session-manager
-.  .  .  manager-properties
-.  .  .  .  property (with attributes)
-.  .  .  .  .  description
-.  .  .  store-properties
-.  .  .  .  property (with attributes)
-.  .  .  .  .  description
-.  .  session-properties
-.  .  .  property (with attributes)
-.  .  .  .  description
-.  .  cookie-properties
-.  .  .  property (with attributes)
-.  .  .  .  description
-.  ejb-ref
-.  .  ejb-ref-name
-.  .  jndi-name
-.  resource-ref
-.  .  res-ref-name
-.  .  jndi-name
-.  .  default-resource-principal
-.  .  .  name
-.  .  .  password
-.  resource-env-ref
-.  .  resource-env-ref-name
-.  .  jndi-name
-.  service-ref
-.  .  service-ref-name
-.  .  port-info
-.  .  .  service-endpoint-interface
-.  .  .  wsdl-port
-.  .  .  .  namespaceURI
-.  .  .  .  localpart
-.  .  .  stub-property
-.  .  .  .  name
-.  .  .  .  value
-.  .  .  call-property
-.  .  .  .  name
-.  .  .  .  value
-.  .  .  message-security-binding
-.  .  .  .  message-security
-.  .  .  .  .  message
-.  .  .  .  .  .  java-method
-.  .  .  .  .  .  .  method-name
-.  .  .  .  .  .  .  method-params
-.  .  .  .  .  .  .  .  method-param
-.  .  .  .  .  .  operation-name
-.  .  .  .  .  request-protection
-.  .  .  .  .  response-protection
-.  .  call-property
-.  .  .  name
-.  .  .  value
-.  .  wsdl-override
-.  .  service-impl-class
-.  .  service-qname
-.  .  .  namespaceURI
-.  .  .  localpart
-.  message-destination-ref
-.  .  message-destination-ref-name
-.  .  jndi-name
-.  cache
-.  .  cache-helper
-.  .  .  property (with attributes)
-.  .  .  .  description
-.  .  default-helper
-.  .  .  property (with attributes)
-.  .  .  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  .  cache-mapping
-.  .  .  servlet-name
-.  .  .  url-pattern
-.  .  .  cache-helper-ref
-.  .  .  dispatcher
-.  .  .  timeout
-.  .  .  refresh-field
-.  .  .  http-method
-.  .  .  key-field
-.  .  .  constraint-field
-.  .  .  .  constraint-field-value
-.  class-loader
-.  .  property (with attributes)
-.  .  .  description
-.  jsp-config
-.  locale-charset-info
-.  .  locale-charset-map
-.  .  parameter-encoding
-.  parameter-encoding
-.  property (with attributes)
-.  .  description
-.  valve
-.  message-destination
-.  .  message-destination-name
-.  .  jndi-name
-.  webservice-description
-.  .  webservice-description-name
-.  .  wsdl-publish-location
-.  keep-state
-.  version-identifier
-----
-
-Here is a sample `glassfish-web.xml` file:
-
-[source,oac_no_warn]
-----
-<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD 
-GlassFish Application Server 3.1 Servlet 3.0//EN" 
-"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
-<glassfish-web-app>
-   <session-config>
-      <session-manager/>
-   </session-config>
-   <resource-ref>
-      <res-ref-name>mail/Session</res-ref-name>
-      <jndi-name>mail/Session</jndi-name>
-   </resource-ref>
-   <jsp-config/>
-</glassfish-web-app>
-----
-
-[[beaqm]][[GSDPG00079]][[the-glassfish-ejb-jar.xml-file]]
-
-The glassfish-ejb-jar.xml File
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `glassfish-ejb-jar.xml` file configures an enterprise bean (EJB JAR
-file). The element hierarchy is as follows:
-
-[source,oac_no_warn]
-----
-glassfish-ejb-jar
-.  security-role-mapping
-.  .  role-name
-.  .  principal-name
-.  .  group-name
-.  enterprise-beans
-.  .  name
-.  .  unique-id
-.  .  ejb
-.  .  .  ejb-name
-.  .  .  jndi-name
-.  .  .  ejb-ref
-.  .  .  .  ejb-ref-name
-.  .  .  .  jndi-name
-.  .  .  resource-ref
-.  .  .  .  res-ref-name
-.  .  .  .  jndi-name
-.  .  .  .  default-resource-principal
-.  .  .  .  .  name
-.  .  .  .  .  password
-.  .  .  resource-env-ref
-.  .  .  .  resource-env-ref-name
-.  .  .  .  jndi-name
-.  .  .  service-ref
-.  .  .  .  service-ref-name
-.  .  .  .  port-info
-.  .  .  .  .  service-endpoint-interface
-.  .  .  .  .  wsdl-port
-.  .  .  .  .  .  namespaceURI
-.  .  .  .  .  .  localpart
-.  .  .  .  .  stub-property
-.  .  .  .  .  .  name
-.  .  .  .  .  .  value
-.  .  .  .  .  call-property
-.  .  .  .  .  .  name
-.  .  .  .  .  .  value
-.  .  .  .  .  message-security-binding
-.  .  .  .  .  .  message-security
-.  .  .  .  .  .  .  message
-.  .  .  .  .  .  .  .  java-method
-.  .  .  .  .  .  .  .  .  method-name
-.  .  .  .  .  .  .  .  .  method-params
-.  .  .  .  .  .  .  .  .  .  method-param
-.  .  .  .  .  .  .  .  operation-name
-.  .  .  .  .  .  .  request-protection
-.  .  .  .  .  .  .  response-protection
-.  .  .  .  call-property
-.  .  .  .  .  name
-.  .  .  .  .  value
-.  .  .  .  wsdl-override
-.  .  .  .  service-impl-class
-.  .  .  .  service-qname
-.  .  .  .  .  namespaceURI
-.  .  .  .  .  localpart
-.  .  .  message-destination-ref
-.  .  .  .  message-destination-ref-name
-.  .  .  .  jndi-name
-.  .  .  pass-by-reference
-.  .  .  cmp
-.  .  .  .  mapping-properties
-.  .  .  .  is-one-one-cmp
-.  .  .  .  one-one-finders
-.  .  .  .  .  finder
-.  .  .  .  .  .  method-name
-.  .  .  .  .  .  query-params
-.  .  .  .  .  .  query-filter
-.  .  .  .  .  .  query-variables
-.  .  .  .  .  .  query-ordering
-.  .  .  .  prefetch-disabled
-.  .  .  .  .  query-method
-.  .  .  .  .  .  method-name
-.  .  .  .  .  .  method-params
-.  .  .  .  .  .  .  method-param
-.  .  .  principal
-.  .  .  .  name
-.  .  .  mdb-connection-factory
-.  .  .  .  jndi-name
-.  .  .  .  default-resource-principal
-.  .  .  .  .  name
-.  .  .  .  .  password
-.  .  .  jms-durable-subscription-name
-.  .  .  jms-max-messages-load
-.  .  .  ior-security-config
-.  .  .  .  transport-config
-.  .  .  .  .  integrity
-.  .  .  .  .  confidentiality
-.  .  .  .  .  establish-trust-in-target
-.  .  .  .  .  establish-trust-in-client
-.  .  .  .  as-context
-.  .  .  .  .  auth-method
-.  .  .  .  .  realm
-.  .  .  .  .  required
-.  .  .  .  sas-context
-.  .  .  .  .  caller-propagation
-.  .  .  is-read-only-bean
-.  .  .  refresh-period-in-seconds
-.  .  .  commit-option
-.  .  .  cmt-timeout-in-seconds
-.  .  .  use-thread-pool-id
-.  .  .  gen-classes
-.  .  .  .  remote-impl
-.  .  .  .  local-impl
-.  .  .  .  remote-home-impl
-.  .  .  .  local-home-impl
-.  .  .  bean-pool
-.  .  .  .  steady-pool-size
-.  .  .  .  resize-quantity
-.  .  .  .  max-pool-size
-.  .  .  .  pool-idle-timeout-in-seconds
-.  .  .  .  max-wait-time-in-millis
-.  .  .  bean-cache
-.  .  .  .  max-cache-size
-.  .  .  .  resize-quantity
-.  .  .  .  is-cache-overflow-allowed
-.  .  .  .  cache-idle-timeout-in-seconds
-.  .  .  .  removal-timeout-in-seconds
-.  .  .  .  victim-selection-policy
-.  .  .  mdb-resource-adapter
-.  .  .  .  resource-adapter-mid
-.  .  .  .  activation-config
-.  .  .  .  .  description
-.  .  .  .  .  activation-config-property
-.  .  .  .  .  .  activation-config-property-name
-.  .  .  .  .  .  activation-config-property-value
-.  .  .  webservice-endpoint
-.  .  .  .  port-component-name
-.  .  .  .  endpoint-address-uri
-.  .  .  .  login-config
-.  .  .  .  .  auth-method
-.  .  .  .  .  realm
-.  .  .  .  message-security-binding
-.  .  .  .  .  message-security
-.  .  .  .  .  .  message
-.  .  .  .  .  .  .  java-method
-.  .  .  .  .  .  .  .  method-name
-.  .  .  .  .  .  .  .  method-params
-.  .  .  .  .  .  .  .  .  method-param
-.  .  .  .  .  .  .  operation-name
-.  .  .  .  .  .  request-protection
-.  .  .  .  .  .  response-protection
-.  .  .  .  transport-guarantee
-.  .  .  .  service-qname
-.  .  .  .  tie-class
-.  .  .  .  servlet-impl-class
-.  .  .  .  debugging-enabled
-.  .  .  .  property (with subelements)
-.  .  .  .  .  name
-.  .  .  .  .  value
-.  .  .  flush-at-end-of-method
-.  .  .  .  method
-.  .  .  .  .  description
-.  .  .  .  .  ejb-name
-.  .  .  .  .  method-name
-.  .  .  .  .  method-intf
-.  .  .  .  .  method-params
-.  .  .  .  .  .  method-param
-.  .  .  checkpointed-methods
-.  .  .  checkpoint-at-end-of-method
-.  .  .  .  method
-.  .  .  .  .  description
-.  .  .  .  .  ejb-name
-.  .  .  .  .  method-name
-.  .  .  .  .  method-intf
-.  .  .  .  .  method-params
-.  .  .  .  .  .  method-param
-.  .  .  per-request-load-balancing
-.  .  pm-descriptors
-.  .  cmp-resource
-.  .  .  jndi-name
-.  .  .  default-resource-principal
-.  .  .  .  name
-.  .  .  .  password
-.  .  .  property (with subelements)
-.  .  .  .  name
-.  .  .  .  value
-.  .  .  create-tables-at-deploy
-.  .  .  drop-tables-at-undeploy
-.  .  .  database-vendor-name
-.  .  .  schema-generator-properties
-.  .  .  .  property (with subelements)
-.  .  .  .  .  name
-.  .  .  .  .  value
-.  .  message-destination
-.  .  .  message-destination-name
-.  .  .  jndi-name
-.  .  webservice-description
-.  .  .  webservice-description-name
-.  .  .  wsdl-publish-location
-.  .  property (with subelements)
-.  .  .  name
-.  .  .  value
-.  compatibility
-.  disable-nonportable-jndi-names
-.  keep-state
-.  version-identifier
-----
-
-
-[NOTE]
-=======================================================================
-
-If any configuration information for an enterprise bean is not specified
-in the `glassfish-ejb-jar.xml` file, it defaults to a corresponding
-setting in the EJB container if an equivalency exists.
-
-=======================================================================
-
-
-Here is a sample `glassfish-ejb-jar.xml` file:
-
-[source,oac_no_warn]
-----
-<!DOCTYPE glassfish-ejb-jar PUBLIC "-//GlassFish.org//
-DTD GlassFish Application Server 3.1 EJB 3.1//EN" 
-"http://glassfish.org/dtds/glassfish-ejb-jar_3_1-1.dtd">
-<glassfish-ejb-jar>
-<display-name>First Module</display-name>
-<enterprise-beans>
-    <ejb>
-        <ejb-name>CustomerEJB</ejb-name>
-        <jndi-name>customer</jndi-name>
-        <bean-pool>
-            <steady-pool-size>10</steady-pool-size>
-            <resize-quantity>10</resize-quantity>
-            <max-pool-size>100</max-pool-size>
-            <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
-        </bean-pool>
-        <bean-cache>
-            <max-cache-size>100</max-cache-size>
-            <resize-quantity>10</resize-quantity>
-            <removal-timeout-in-seconds>3600</removal-timeout-in-seconds>
-            <victim-selection-policy>LRU</victim-selection-policy>
-        </bean-cache>
-    </ejb>
-    <cmp-resource>
-        <jndi-name>jdbc/__default</jndi-name>
-        <create-tables-at-deploy>true</create-tables-at-deploy>
-        <drop-tables-at-undeploy>true</drop-tables-at-undeploy>
-    </cmp-resource>
-</enterprise-beans>
-<keep-state>true</keep-state>
-</glassfish-ejb-jar>
-----
-
-[[beaqn]][[GSDPG00080]][[the-sun-cmp-mappings.xml-file]]
-
-The sun-cmp-mappings.xml File
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `sun-cmp-mappings.xml` file configures container-managed persistence
-for an EJB 2.0 or 2.1 entity bean. The element hierarchy is as follows:
-
-[source,oac_no_warn]
-----
-sun-cmp-mappings
-.  sun-cmp-mapping
-.  .  schema
-.  .  entity-mapping
-.  .  .  ejb-name
-.  .  .  table-name
-.  .  .  cmp-field-mapping
-.  .  .  .  field-name
-.  .  .  .  column-name
-.  .  .  .  read-only
-.  .  .  .  fetched-with
-.  .  .  .  .  default
-.  .  .  .  .  level
-.  .  .  .  .  named-group
-.  .  .  .  .  none
-.  .  .  cmr-field-mapping
-.  .  .  .  cmr-field-name
-.  .  .  .  column-pair
-.  .  .  .  .  column-name
-.  .  .  .  fetched-with
-.  .  .  .  .  default
-.  .  .  .  .  level
-.  .  .  .  .  named-group
-.  .  .  .  .  none
-.  .  .  secondary-table
-.  .  .  .  table-name
-.  .  .  .  column-pair
-.  .  .  .  .  column-name
-.  .  .  consistency
-.  .  .  .  none
-.  .  .  .  check-modified-at-commit
-.  .  .  .  lock-when-loaded
-.  .  .  .  check-all-at-commit
-.  .  .  .  lock-when-modified
-.  .  .  .  check-version-of-accessed-instances
-.  .  .  .  .  column-name
-----
-
-Here is a sample database schema definition:
-
-[source,oac_no_warn]
-----
-create table TEAMEJB (
-   TEAMID varchar2(256) not null,
-   NAME varchar2(120) null,
-   CITY char(30) not null,
-   LEAGUEEJB_LEAGUEID varchar2(256) null,
-   constraint PK_TEAMEJB primary key (TEAMID)
-)
-create table PLAYEREJB (
-   POSITION varchar2(15) null,
-   PLAYERID varchar2(256) not null,
-   NAME char(64) null,
-   SALARY number(10, 2) not null,
-   constraint PK_PLAYEREJB primary key (PLAYERID)
-)
-create table LEAGUEEJB (
-   LEAGUEID varchar2(256) not null,
-   NAME varchar2(256) null,
-   SPORT varchar2(256) null,
-   constraint PK_LEAGUEEJB primary key (LEAGUEID)
-)
-create table PLAYEREJBTEAMEJB (
-   PLAYEREJB_PLAYERID varchar2(256) null,
-   TEAMEJB_TEAMID varchar2(256) null
-)
-alter table TEAMEJB
-   add constraint FK_LEAGUE foreign key (LEAGUEEJB_LEAGUEID)
-   references LEAGUEEJB (LEAGUEID)
-
-alter table PLAYEREJBTEAMEJB
-   add constraint FK_TEAMS foreign key (PLAYEREJB_PLAYERID)
-   references PLAYEREJB (PLAYERID)
-
-alter table PLAYEREJBTEAMEJB
-   add constraint FK_PLAYERS foreign key (TEAMEJB_TEAMID)
-   references TEAMEJB (TEAMID)
-----
-
-Here is a corresponding sample `sun-cmp-mappings.xml` file:
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<sun-cmp-mappings>
-<sun-cmp-mapping>
-    <schema>Roster</schema>
-    <entity-mapping>
-        <ejb-name>TeamEJB</ejb-name>
-        <table-name>TEAMEJB</table-name>
-        <cmp-field-mapping>
-            <field-name>teamId</field-name>
-            <column-name>TEAMEJB.TEAMID</column-name>
-        </cmp-field-mapping>
-        <cmp-field-mapping>
-            <field-name>name</field-name>
-            <column-name>TEAMEJB.NAME</column-name>
-        </cmp-field-mapping>
-        <cmp-field-mapping>
-            <field-name>city</field-name>
-            <column-name>TEAMEJB.CITY</column-name>
-        </cmp-field-mapping>
-        <cmr-field-mapping>
-            <cmr-field-name>league</cmr-field-name>
-            <column-pair>
-                <column-name>TEAMEJB.LEAGUEEJB_LEAGUEID</column-name>
-                <column-name>LEAGUEEJB.LEAGUEID</column-name>
-            </column-pair>
-            <fetched-with>
-                <none/>
-            </fetched-with>
-        </cmr-field-mapping>
-        <cmr-field-mapping>
-            <cmr-field-name>players</cmr-field-name>
-            <column-pair>
-                <column-name>TEAMEJB.TEAMID</column-name>
-                <column-name>PLAYEREJBTEAMEJB.TEAMEJB_TEAMID</column-name>
-            </column-pair>
-            <column-pair>
-                <column-name>PLAYEREJBTEAMEJB.PLAYEREJB_PLAYERID</column-name>
-                <column-name>PLAYEREJB.PLAYERID</column-name>
-            </column-pair>
-            <fetched-with>
-                <none/>
-            </fetched-with>
-        </cmr-field-mapping>
-    </entity-mapping>
-    <entity-mapping>
-        <ejb-name>PlayerEJB</ejb-name>
-        <table-name>PLAYEREJB</table-name>
-        <cmp-field-mapping>
-            <field-name>position</field-name>
-            <column-name>PLAYEREJB.POSITION</column-name>
-        </cmp-field-mapping>
-        <cmp-field-mapping>
-            <field-name>playerId</field-name>
-            <column-name>PLAYEREJB.PLAYERID</column-name>
-        </cmp-field-mapping>
-        <cmp-field-mapping>
-            <field-name>name</field-name>
-            <column-name>PLAYEREJB.NAME</column-name>
-        </cmp-field-mapping>
-        <cmp-field-mapping>
-            <field-name>salary</field-name>
-            <column-name>PLAYEREJB.SALARY</column-name>
-        </cmp-field-mapping>
-        <cmr-field-mapping>
-            <cmr-field-name>teams</cmr-field-name>
-            <column-pair>
-                <column-name>PLAYEREJB.PLAYERID</column-name>
-                <column-name>PLAYEREJBTEAMEJB.PLAYEREJB_PLAYERID</column-name>
-            </column-pair>
-            <column-pair>
-                <column-name>PLAYEREJBTEAMEJB.TEAMEJB_TEAMID</column-name>
-                <column-name>TEAMEJB.TEAMID</column-name>
-            </column-pair>
-            <fetched-with>
-                <none/>
-            </fetched-with>
-        </cmr-field-mapping>
-    </entity-mapping>
-    <entity-mapping>
-        <ejb-name>LeagueEJB</ejb-name>
-        <table-name>LEAGUEEJB</table-name>
-        <cmp-field-mapping>
-            <field-name>leagueId</field-name>
-            <column-name>LEAGUEEJB.LEAGUEID</column-name>
-        </cmp-field-mapping>
-        <cmp-field-mapping>
-            <field-name>name</field-name>
-            <column-name>LEAGUEEJB.NAME</column-name>
-        </cmp-field-mapping>
-        <cmp-field-mapping>
-            <field-name>sport</field-name>
-            <column-name>LEAGUEEJB.SPORT</column-name>
-        </cmp-field-mapping>
-        <cmr-field-mapping>
-            <cmr-field-name>teams</cmr-field-name>
-            <column-pair>
-                <column-name>LEAGUEEJB.LEAGUEID</column-name>
-                <column-name>TEAMEJB.LEAGUEEJB_LEAGUEID</column-name>
-            </column-pair>
-            <fetched-with>
-                <none/>
-            </fetched-with>
-        </cmr-field-mapping>
-    </entity-mapping>
-</sun-cmp-mapping>
-</sun-cmp-mappings>
-----
-
-[[beaqo]][[GSDPG00081]][[the-glassfish-application-client.xml-file]]
-
-The glassfish-application-client.xml file
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `glassfish-application-client.xml` file configures an Application
-Client Container (ACC) client (JAR file). The element hierarchy is as
-follows:
-
-[source,oac_no_warn]
-----
-glassfish-application-client
-.  ejb-ref
-.  .  ejb-ref-name
-.  .  jndi-name
-.  resource-ref
-.  .  res-ref-name
-.  .  jndi-name
-.  .  default-resource-principal
-.  .  .  name
-.  .  .  password
-.  resource-env-ref
-.  .  resource-env-ref-name
-.  .  jndi-name
-.  service-ref
-.  .  service-ref-name
-.  .  port-info
-.  .  .  service-endpoint-interface
-.  .  .  wsdl-port
-.  .  .  .  namespaceURI
-.  .  .  .  localpart
-.  .  .  stub-property
-.  .  .  .  name
-.  .  .  .  value
-.  .  .  call-property
-.  .  .  .  name
-.  .  .  .  value
-.  .  .  message-security-binding
-.  .  .  .  message-security
-.  .  .  .  .  message
-.  .  .  .  .  .  java-method
-.  .  .  .  .  .  .  method-name
-.  .  .  .  .  .  .  method-params
-.  .  .  .  .  .  .  .  method-param
-.  .  .  .  .  .  operation-name
-.  .  .  .  .  request-protection
-.  .  .  .  .  response-protection
-.  .  call-property
-.  .  .  name
-.  .  .  value
-.  .  wsdl-override
-.  .  service-impl-class
-.  .  service-qname
-.  .  .  namespaceURI
-.  .  .  localpart
-.  message-destination-ref
-.  .  message-destination-ref-name
-.  .  jndi-name
-.  message-destination
-.  .  message-destination-name
-.  .  jndi-name
-.  java-web-start-access
-.  .  context-root
-.  .  eligible
-.  .  vendor
-.  .  jnlp-doc
-.  version-identifier
-----
-
-Here is a sample `glassfish-application-client.xml` file:
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE glassfish-application-client PUBLIC ""-//GlassFish.org//DTD 
-GlassFish Application Server 3.1 Application Client 6.0//EN"" 
-"http://glassfish.org/dtds/glassfish-application-client_6_0-1.dtd">
-<glassfish-application-client>
-  <message-destination-ref>
-    <message-destination-ref-name>ClientQueue</message-destination-ref-name>
-    <jndi-name>jms/security_mdb_OutQueue</jndi-name>
-  </message-destination-ref>
-</glassfish-application-client>
-----
-
-[[beaqp]][[GSDPG00082]][[the-sun-acc.xml-file]]
-
-The sun-acc.xml File
-~~~~~~~~~~~~~~~~~~~~
-
-The `sun-acc.xml` file configures the Application Client Container. This
-is more of a configuration file than a deployment descriptor. GlassFish
-Server provides a default file in the domain-dir`/config` directory.
-Specifying a different file is optional. The element hierarchy is as
-follows:
-
-[source,oac_no_warn]
-----
-client-container
-.  target-server
-.  .  description
-.  .  security
-.  .  .  ssl
-.  .  .  cert-db
-.  auth-realm
-.  .  property (with attributes)
-.  client-credential
-.  .  property (with attributes)
-.  log-service
-.  .  property (with attributes)
-.  message-security-config
-.  .  provider-config
-.  .  .  request-policy
-.  .  .  response-policy
-.  .  .  property (with attributes)
-.  property (with attributes) 
-----
-
-[[giyhh]][[GSDPG00083]][[the-glassfish-resources.xml-file]]
-
-The glassfish-resources.xml File
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `glassfish-resources.xml` file configures application-scoped
-resources. The element hierarchy is as follows:
-
-[source,oac_no_warn]
-----
-resources
-.  custom-resource
-.  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  external-jndi-resource
-.  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  jdbc-resource
-.  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  mail-resource
-.  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  admin-object-resource
-.  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  connector-resource
-.  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  resource-adapter-config
-.  .  property (with attributes)
-.  .  .  description
-.  jdbc-connection-pool
-.  .  description
-.  .  property (with attributes)
-.  .  .  description
-.  connector-connection-pool
-.  .  description
-.  .  security-map
-.  .  .  principal
-.  .  .  user-group
-.  .  .  backend-principal
-.  .  property (with attributes)
-.  .  .  description
-.  work-security-map
-.  .  description
-.  .  principal-map
-.  .  group-map
-----
-
-[[gkiot]][[GSDPG00084]][[weblogic-server-deployment-descriptor-support-in-glassfish-server]]
-
-WebLogic Server Deployment Descriptor Support in GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server offers limited support for the
-`weblogic-application.xml`, `weblogic.xml`, and
-`weblogic-webservices.xml` deployment descriptor files.
-
-The only element in `weblogic-application.xml` that GlassFish Server
-supports is `security`. The equivalent element in the
-`glassfish-application.xml` file is `security-role-mapping`.
-
-The elements of `weblogic.xml` that GlassFish Server supports are
-explained in the following table.
-
-[[GSDPG836]][[sthref7]][[gkinm]]
-
-
-Table B-2 `weblogic.xml` Support in GlassFish Server
-
-[width="100%",cols="43%,57%",options="header",]
-|=======================================================================
-|`weblogic.xml` Element Name |GlassFish Server Support
-|`role-name` under `security-role-assignment` |`role-name` under
-`security-role-mapping` `glassfish-web.xml` equivalent
-
-|`principal-name` under `security-role-assignment` |`principal-name`
-under `security-role-mapping` `glassfish-web.xml` equivalent
-
-|`resource-description` |`resource-ref` `glassfish-web.xml` equivalent,
-but `resource-link` not supported
-
-|`resource-env-description` |`resource-env-ref` `glassfish-web.xml`
-equivalent, but `resource-link` not supported
-
-|`ejb-reference-description` |`ejb-ref` `glassfish-web.xml` equivalent
-
-|`service-reference-description` |`service-ref` `glassfish-web.xml`
-equivalent
-
-|`timeout-secs` under `session-descriptor` |`timeoutSeconds` property of
-`session-properties` `glassfish-web.xml` equivalent
-
-|`invalidation-interval-secs` under `session-descriptor`
-|`reapIntervalSeconds` property of `manager-properties`
-`glassfish-web.xml` equivalent
-
-|`max-in-memory-sessions` under `session-descriptor` |`maxSessions`
-property of `manager-properties` `glassfish-web.xml` equivalent
-
-|`persistent-store-dir` under `session-descriptor` |`directory` property
-of `store-properties` `glassfish-web.xml` equivalent
-
-|`prefer-web-inf-classes` under `container-descriptor` |`delegate`
-attribute of `class-loader` `glassfish-web.xml` equivalent
-
-|`context-root` |`context-root` `glassfish-web.xml` equivalent
-
-|`cookies-enabled` under `session-descriptor` |Servlet 3.0
-
-|`cookie-name` under `session-descriptor` |Servlet 3.0
-
-|`cookie-path` under `session-descriptor` |Servlet 3.0
-
-|`cookie-domain` under `session-descriptor` |Servlet 3.0
-
-|`cookie-comment` under `session-descriptor` |Servlet 3.0
-
-|`cookie-secure` under `session-descriptor` |Servlet 3.0
-
-|`cookie-max-age-secs` under `session-descriptor` |Servlet 3.0
-
-|`cookie-http-only` under `session-descriptor` |Servlet 3.0
-
-|`url-rewriting-enabled` under `session-descriptor` |Servlet 3.0
-
-|`persistent-store-cookie-name` under `session-descriptor` |Cookie-based
-persistence is supported
-
-|`keepgenerated` under `jsp-descriptor` |keepgenerated init parameter of
-`JspServlet`
-
-|`working-dir` under `jsp-descriptor` |scratchdir init parameter of
-`JspServlet`
-
-|`compress-html-template` under `jsp-descriptor` |trimSpaces init
-parameter of `JspServlet`
-
-|`index-directory-enabled` under `container-descriptor` |listings init
-parameter of `DefaultServlet`
-
-|`index-directory-sort-by` under `container-descriptor` |sortedBy init
-parameter of `DefaultServlet`
-
-|`save-sessions-enabled` under `container-descriptor` |Same as
-`asadmin redeploy` `--keepstate=true` or `keep-state` in
-`glassfish-web.xml`
-
-|`run-as-principal-name` under `servlet-descriptor` |`principal-name`
-under `servlet` `glassfish-web.xml` equivalent
-|=======================================================================
-
-
-The elements of `weblogic-webservices.xml` that GlassFish Server
-supports are explained in the following table.
-
-[[GSDPG837]][[sthref8]][[gkkht]]
-
-
-Table B-3 `weblogic-webservices.xml` Support in GlassFish Server
-
-[width="100%",cols="34%,66%",options="header",]
-|=======================================================================
-|`weblogic-webservices.xml` Element Name |GlassFish Server Support
-|`webservice-type` |Possible values are `JAXRPC` or `JAXWS`. GlassFish
-Server does not support JAX-RPC web services with JSR 181 annotations.
-The use of this element is limited, because the container can find out
-if the type is JAX-WS or JAX-RPC based on presence of JSR 181
-annotations.
-
-|`wsdl-publish-file` |Same as `wsdl-publish-location` in
-`glassfish-web.xml`
-
-|`service-endpoint-address` |Similar to `endpoint-address-uri` in
-`glassfish-web.xml`, except that `webservice-contextpath` and
-`webservice-serviceuri` are specified separately
-
-|`j2ee:login-config` |Same as `login-config` in `glassfish-web.xml`
-
-|`j2ee:transport-guarantee` |Same as `transport-guarantee` in
-`glassfish-web.xml`
-
-|`exposed` under `wsdl` |Accepts `true` or `false`, defaults to `true`.
-Controls the publishing of WSDL to clients.
-
-|`stream-attachments` |Accepts `true` or `false`, defaults to `true`.
-Only for JAX-WS web services. Configures the JAX-WS runtime to send
-attachments in streaming fashion.
-
-|`validate-request` |Accepts `true` or `false`, defaults to `false`.
-Only for JAX-WS web services. Configures the JAX-WS runtime to validate
-that request messages are as the WSDL definitions specify.
-
-|`http-response-buffersize` |Property of `ReliabilityMessagingFeature`
-configuration, similar to
-`ReliableMessagingFeature.setDestinationBufferQuota()`
-
-|`reliability-config` |Partially supported. Subelements map to Metro's
-`ReliabilityMessagingFeature`.
-
-|`inactivity-timeout` under `reliability-config` |Maps to
-`ReliableMessagingFeature.getSequenceInactivityTimeout()`
-
-|`base-retransmission-interval` under `reliability-config` |Maps to
-`ReliableMessagingFeature.``getMessageRetransmissionInterval()`
-
-|`retransmission-exponential-``backoff` under `reliability-config` |Maps
-to `ReliableMessagingFeature.``getRetransmissionBackoffAlgorithm()`.
-Returns enum values, one of them is `exponential`.
-
-|`acknowledgement-interval` under `reliability-config` |Maps to
-`ReliableMessagingFeature.``getAcknowledgementTransmissionInterval()`
-
-|`sequence-expiration` under `reliability-config` |Maps to
-`ReliableMessagingFeature.``getSequenceInactivityTimeout()`. In WebLogic
-Server this value applies regardless of activity. In Metro it applies
-only to inactive sequences.
-
-|`buffer-retry-count` under `reliability-config` |Maps to
-`ReliableMessagingFeature.``getMaxMessageRetransmissionCount()`
-
-|`buffer-retry-delay` under `reliability-config` |Maps to
-`ReliableMessagingFeature.``getMessageRetransmissionInterval()`
-|=======================================================================
-
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/deploying-applications.adoc b/docs/application-deployment-guide/src/main/jbake/content/deploying-applications.adoc
deleted file mode 100644
index e088b41..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/deploying-applications.adoc
+++ /dev/null
@@ -1,1886 +0,0 @@
-type=page
-status=published
-title=Deploying Applications
-next=asadmin-deployment-subcommands.html
-prev=overview.html
-~~~~~~
-Deploying Applications
-======================
-
-[[GSDPG00004]][[beact]]
-
-
-[[deploying-applications]]
-2 Deploying Applications
-------------------------
-
-This chapter provides procedures and guidelines for deploying
-applications and modules in the GlassFish Server Open Source
-Editionenvironment by using the `asadmin` command-line utility.
-
-The following topics are addressed here:
-
-* link:#gilfm[Deploying Applications and Modules]
-* link:#gjiwk[Modifying the Configuration of a Web Application or
-Module]
-* link:#beaej[Web Module Deployment Guidelines]
-* link:#beaek[EJB Module Deployment Guidelines]
-* link:#gilxc[Deploying a Connector Module]
-* link:#beaem[Assembling and Deploying an Application Client Module]
-* link:#beael[Lifecycle Module Deployment Guidelines]
-* link:#gbiye[Web Service Deployment Guidelines]
-* link:#gkkmb[OSGi Bundle Deployment Guidelines]
-* link:#gkoif[Transparent JDBC Connection Pool Reconfiguration]
-* link:#giydj[Application-Scoped Resources]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-[[gilfm]][[GSDPG00065]][[deploying-applications-and-modules]]
-
-Deploying Applications and Modules
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Application deployment is a dynamic process, which means that deployed
-applications and modules become available without requiring you to
-restart the server instance. Dynamic deployment can be useful in
-production environments to bring new applications and modules online
-easily. If you do restart the server, all deployed components are still
-deployed and available.
-
-The following topics are addressed here:
-
-* link:#gijmq[To Deploy an Application or Module]
-* link:#gijrc[To Change Targets for a Deployed Application or Module]
-* link:#giulr[To List Deployed Applications or Modules]
-* link:#gijmb[To Redeploy an Application or Module]
-* link:#fvyje[To Disable an Application or Module]
-* link:#gijjy[To Enable an Application or Module]
-* link:#gijkl[To Undeploy an Application or Module]
-* link:#fwakh[To Reload Changes to Applications or Modules Dynamically]
-* link:#fvxze[To Deploy an Application or Module Automatically]
-* link:#gijyb[To Deploy an Application or Module by Using a Deployment
-Plan]
-* link:#gilcn[To Deploy an Application or Module in a Directory Format]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-[[gijmq]][[GSDPG00033]][[to-deploy-an-application-or-module]]
-
-To Deploy an Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `deploy` subcommand in remote mode to deploy an assembled
-application or module to GlassFish Server. If an error occurs during
-deployment, the application or module is not deployed. If a module
-within an application contains an error, the entire application is not
-deployed. These failures prevent a partial deployment that could leave
-the server in an inconsistent state.
-
-By default, the deployment target is the default server instance,
-`server`. To deploy only to the default server instance, specify no
-target. If you deploy the application or module only to the domain
-target, it exists in the domain central repository, but no server
-instances or clusters can reference the component unless you add
-references.
-
-You can also deploy a component to a specific stand-alone server
-instance or cluster. When you deploy to server instances or clusters,
-the application or module exists in the domain's central repository and
-is referenced by any clusters or server instances that you deployed to.
-For a cluster, the preselected deployment target is `server`.
-
-If the component is already deployed or already exists, you can
-forcefully redeploy if you set the `--force` option of the `deploy`
-subcommand to true. The `redeploy` subcommand also accomplishes this.
-See link:#gikiw[Example 2-10]. You can see the enabled or disabled
-status of an application or module by using the
-link:../reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
-
-For information about how the application or module name is derived, see
-link:overview.html#gihzk[Naming Standards].
-
-Use the `--altdd` or `--runtimealtdd` options of the `deploy` (and
-`redeploy`) subcommand to deploy an application or module using a
-top-level alternate deployment descriptor. The `--altdd` option
-specifies a top-level alternate Java EE standard deployment descriptor.
-The `--runtimealtdd` option specifies a top-level alternate GlassFish
-Server runtime deployment descriptor. See link:#CHDFHDGD[Example 2-3].
-For more information about deployment descriptors associated with
-GlassFish Server, see link:overview.html#gihzc[Deployment Descriptors and
-Annotations].
-
-You can also specify the deployment order of an application by using the
-`--deploymentorder` option of the `deploy` (and `redeploy`) subcommand.
-This is useful for applications that must be loaded in a certain order
-at server startup. Applications with lower deployment order numbers are
-loaded first. See link:#CHDJFAIJ[Example 2-4]. If a deployment order is
-not specified at the time an application is deployed, the default
-deployment order of 100 is assigned. If two applications have the same
-deployment order, the application that was deployed first is loaded
-first at server startup.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  List deployed applications by using the
-link:../reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand.
-3.  Deploy the application or module by using the
-link:../reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand. +
-Information about the options and properties of the subcommand is
-included in this help page.
-4.  If needed, fix issues and rerun the `deploy` subcommand.
-
-[[GSDPG00008]][[gijlo]]
-
-
-Example 2-1 Deploying an Enterprise Application
-
-This example deploys `newApp.ear` to the default server, `server`.
-
-[source,oac_no_warn]
-----
-asadmin> deploy Cart.ear
-Application deployed successfully with name Cart.
-Command deploy executed successfully
-----
-
-[[GSDPG00009]][[gilcq]]
-
-
-Example 2-2 Deploying a Connector Module
-
-This example deploys a connector module that is packaged in an RAR file.
-
-[source,oac_no_warn]
-----
-asadmin> deploy jdbcra.rar
-Application deployed successfully with name jdbcra.
-Command deploy executed successfully
-----
-
-[[GSDPG809]][[CHDFHDGD]]
-
-
-Example 2-3 Using an Alternate Java EE Standard Deployment Descriptor
-
-This example deploys an application using an alternate Java EE standard
-deployment descriptor file that resides outside of an application
-archive. Specify an absolute path or a relative path to the alternate
-deployment descriptor file.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --altdd path_to_alternate_descriptor cart.ear
-Application deployed successfully with name cart.
-Command deploy executed successfully
-----
-
-[[GSDPG810]][[CHDJFAIJ]]
-
-
-Example 2-4 Specifying the Deployment Order of an Application
-
-This example specifies the deployment order of two applications. The
-`cart` application is loaded before the `horse` application at server
-startup.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --deploymentorder 102 --name cart cart.war
-...
-asadmin> deploy --deploymentorder 110 --name horse horse.war
-...
-----
-
-[[GSDPG811]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help deploy` at the command line.
-
-[[gijrc]][[GSDPG00034]][[to-change-targets-for-a-deployed-application-or-module]]
-
-To Change Targets for a Deployed Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-After deployment, the deployed application or module exists in the
-central repository and can be referenced by the server instances or
-clusters that you deployed to as targets. The
-`asadmin create-application-ref` and `asadmin delete-application-ref`
-subcommands enable you to add or delete targets for a deployed
-component. Because the application or module itself is stored in the
-central repository, adding or deleting targets adds or deletes the same
-version of the component on different targets.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Add and remove targets by using the
-link:../reference-manual/create-application-ref.html#GSRFM00013[`create-application-ref`] and
-link:../reference-manual/delete-application-ref.html#GSRFM00064[`delete-application-ref`] subcommands.
-
-[[GSDPG812]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing`asadmin help create-application-ref` or
-`asadmin help delete-application-ref` at the command line.
-
-[[giulr]][[GSDPG00035]][[to-list-deployed-applications-or-modules]]
-
-To List Deployed Applications or Modules
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There are a number of commands that can be used to list deployed
-applications or modules and their subcomponents. Use the commands in
-this section in remote mode.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  List the desired applications by using the
-link:../reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand or the
-link:../reference-manual/list-sub-components.html#GSRFM00201[`list-sub-components`] subcommand. +
-Information about these commands is included in these help pages.
-3.  Show the status of a deployed component by using the
-link:../reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
-
-[[GSDPG00010]][[giumj]]
-
-
-Example 2-5 Listing Applications
-
-The `list-applications` subcommand lists all deployed Java EE
-applications or modules. If the `--type` option is not specified, all
-components are listed. This example lists deployed applications.
-
-[source,oac_no_warn]
-----
-asadmin> list-applications --type web
-hellojsp <web>
-Command list-applications executed successfully
-----
-
-[[GSDPG00011]][[giuot]]
-
-
-Example 2-6 Listing Subcomponents
-
-The `list-sub-components` subcommand lists EJBs or servlets in a
-deployed module or in a module of the deployed application. If a module
-is not identified, all modules are listed. The `--appname` option
-functions only when the given module is standalone. To display a
-specific module in an application, you must specify the module name and
-the `--appname` option. This example gets the subcomponents of module
-`mejb.jar` within application `MEjbApp`.
-
-[source,oac_no_warn]
-----
-asadmin> list-sub-components --appname MEjbApp mejb.jar
-MEJBBean <StatelessSessionBean>
-Command list-sub-components executed successfully
-----
-
-[[GSDPG00012]][[giunl]]
-
-
-Example 2-7 Showing Status of a Deployed Component
-
-The `show-component-status` subcommand gets the status (enabled or
-disabled) of the deployed component. This example gets the status of the
-`MEjbApp` component.
-
-[source,oac_no_warn]
-----
-asadmin show-component-status MEjbApp
-Status of MEjbApp is enabled
-Command show-component-status executed successfully
-----
-
-[[gijmb]][[GSDPG00036]][[to-redeploy-an-application-or-module]]
-
-To Redeploy an Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `redeploy` subcommand in remote mode to overwrite a
-previously-deployed application or module. You can also accomplish this
-task by using the `--force` option of the `deploy` subcommand. Whenever
-a redeployment is done, the HTTP and SFSB sessions in transit at that
-time, and the EJB timers, become invalid unless you use the
-`--keepstate=true` option of the `redeploy` subcommand.
-
-[[GSDPG813]]
-
-Before You Begin
-
-You must remove a preconfigured resource before it can be updated.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Redeploy an application or module by using the
-link:../reference-manual/redeploy.html#GSRFM00217[`redeploy`] subcommand or the
-link:../reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand with the `--force` option. +
-Information about the options and properties of these commands is
-included in these help pages.
-
-[[GSDPG00013]][[gijzm]]
-
-
-Example 2-8 Retaining HTTP Session State During Redeployment
-
-This example redeploys the `hello` web application. In a production
-environment, you usually want to retain sessions. If you use the
-`--keepstate` option, active sessions of the application are retained
-and restored when redeployment is complete.
-
-[source,oac_no_warn]
-----
-asadmin> redeploy --name hello --keepstate=true hello.war
-Application deployed successfully with name hello.
-Command redeploy executed successfully.
-----
-
-Keep State is a checkbox option when you redeploy using the
-Administration Console. For instructions, see the Administration Console
-online help.
-
-[[GSDPG00014]][[gijkr]]
-
-
-Example 2-9 Redeploying a Web Application That Was Deployed From a
-Directory
-
-This example redeploys the `hello` web application, which was originally
-deployed from the `hellodir` directory.
-
-[source,oac_no_warn]
-----
-asadmin>redeploy --name hellodir
-Application deployed successfully with name hellodir.
-Command redeploy executed successfully.
-----
-
-[[GSDPG00015]][[gikiw]]
-
-
-Example 2-10 Redeploying an Application by Using `asadmin deploy`
-`--force`
-
-The `--force` option is set to `false` by default. This example
-redeploys `newApp.ear` even if has been deployed or already exists.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --force=true newApp.ear
-Application deployed successfully with name newApp.
-Command deploy executed successfully.
-----
-
-[[GSDPG814]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help redeploy` at the command line.
-
-[[fvyje]][[GSDPG00037]][[to-disable-an-application-or-module]]
-
-To Disable an Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `disable` subcommand in remote mode to immediately deactivate a
-deployed application or module without removing it from the server.
-Disabling a component makes the component inaccessible to clients.
-However, the component is not overwritten or uninstalled, and can be
-enabled by using the `asadmin enable` subcommand.
-
-An application or module is enabled by default.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Obtain the exact name of the application or module that you are
-disabling. +
-To list deployed applications or modules, use the
-link:../reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand. If you do not specify
-a type, all deployed applications and modules are listed. For example,
-valid types can be `web`, `ejb`, `connector`, `application`, and
-`webservice`. +
-To see the status of deployed components, use the
-link:../reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
-3.  Deactivate the application or module by using the
-link:../reference-manual/disable.html#GSRFM00116[`disable`] subcommand. +
-Information about the options and properties of the subcommand is
-included in this help page.
-
-[[GSDPG00016]][[gijkp]]
-
-
-Example 2-11 Listing Deployed Web Applications
-
-This example lists all deployed web applications.
-
-[source,oac_no_warn]
-----
-asadmin> list-applications --type web
-hellojsp <web>
-Command list-applications executed successfully.
-----
-
-[[GSDPG00017]][[gikvy]]
-
-
-Example 2-12 Disabling a Web Application
-
-This example disables the `hellojsp` application.
-
-[source,oac_no_warn]
-----
-asadmin> disable hellojsp
-Command disable executed successfully.
-----
-
-[[GSDPG815]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help disable` at the command line.
-
-[[gijjy]][[GSDPG00038]][[to-enable-an-application-or-module]]
-
-To Enable an Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An enabled application or module is runnable and can be accessed by
-clients if it has been deployed to an accessible server instance or
-cluster. An application or module is enabled by default. Use the
-`enable` subcommand in remote mode to enable an application or module
-that has been disabled.
-
-An application or module that is deployed to more than one target can be
-enabled on one target and disabled on another. If a component is
-referenced by a target, it is not available to users unless it is
-enabled on that target.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Enable the application or module by using the
-link:../reference-manual/enable.html#GSRFM00124[`enable`] subcommand. +
-If the component has not been deployed, an error message is displayed.
-If the component is already enabled, it is re-enabled. To see the status
-of deployed components, use the
-link:../reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand. +
-Information about the options and properties of the subcommand is
-included in this help page.
-
-[[GSDPG00018]][[gijxl]]
-
-
-Example 2-13 Enabling an Application
-
-This example enables the `sampleApp` application.
-
-[source,oac_no_warn]
-----
-asadmin> enable sampleApp
-Command enable executed successfully.
-----
-
-[[GSDPG816]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help enable` at the command line.
-
-[[gijkl]][[GSDPG00039]][[to-undeploy-an-application-or-module]]
-
-To Undeploy an Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `undeploy` subcommand in remote mode to uninstall a deployed
-application or module and remove it from the repository. To reinstate
-the component, you must deploy the component again using the `deploy`
-subcommand.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Obtain the exact name of the application or module you are
-undeploying. +
-To list deployed applications or modules, use the
-link:../reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand. If you do not specify
-a type, all deployed applications and modules are listed. For example,
-valid types can be `web`, `ejb`, `connector`, `application`, and
-`webservice`. +
-To see the status of deployed components, use the
-link:../reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand.
-3.  Undeploy the application or module by using the
-link:../reference-manual/undeploy.html#GSRFM00244[`undeploy`] subcommand. +
-Information about the options and properties of the subcommand is
-included in this help page.
-
-[[GSDPG00019]][[gikag]]
-
-
-Example 2-14 Listing Deployed Applications or Modules
-
-This example lists all applications of type `web`.
-
-[source,oac_no_warn]
-----
-asadmin> list-applications --type web
-hellojsp <web>
-Command list-applications executed successfully.
-----
-
-[[GSDPG00020]][[gikun]]
-
-
-Example 2-15 Undeploying an Application
-
-This example uninstalls the `hellojsp` application.
-
-[source,oac_no_warn]
-----
-asadmin> undeploy hellojsp
-hellojsp <web>
-Command undeploy executed successfully.
-----
-
-[[GSDPG817]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help undeploy` at the command line.
-
-[[fwakh]][[GSDPG00040]][[to-reload-changes-to-applications-or-modules-dynamically]]
-
-To Reload Changes to Applications or Modules Dynamically
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Dynamic reloading enables you to change the code or deployment
-descriptors of an application or module without needing to perform an
-explicit redeployment. Instead, you can copy the changed class files or
-descriptors into the deployment directory for the application or module.
-The server checks for changes periodically and automatically redeploys
-the changes if the timestamp of the `.reload` file in the root directory
-for the application or module has changed.
-
-Dynamic reloading is enabled by default, and is available only on the
-default server instance.
-
-1.  Go to the root directory of the deployed application or module. +
-For an application: +
-[source,oac_no_warn]
-----
-domain-dir/applications/app-name
-----
-For an individually deployed module: +
-[source,oac_no_warn]
-----
-domain-dir/applications/module-name
-----
-::
-
-[NOTE]
-=====================================================================
-
-Deployment directories might change between GlassFish Server releases.
-
-=====================================================================
-
-2.  Create or update the timestamp of the `.reload` file to load the
-changes. +
-For UNIX: `touch .reload` +
-For Windows: `echo> .reload` +
-If the `.reload` file doesn't exist, the `touch` or `echo` command
-creates it.
-
-[[fvxze]][[GSDPG00041]][[to-deploy-an-application-or-module-automatically]]
-
-To Deploy an Application or Module Automatically
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-[NOTE]
-=============================================================
-
-This task is best suited for use in a development environment.
-
-=============================================================
-
-
-Automatic deployment involves copying an archive file into a special
-autodeploy directory where the archive is automatically deployed by
-GlassFish Server at predefined intervals. This method is useful in a
-development environment because it allows new code to be tested quickly.
-Automatic deployment is enabled by default, and is available only on the
-default server instance.
-
-1.  Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to adjust the
-autodeployment interval. +
-This sets the interval at which applications and modules are checked for
-code changes and dynamically reloaded. The default is `2`.
-2.  Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to enable JSP
-precompilation.
-3.  Copy your archive file to the autodeploy directory. +
-The default location is domain-dir`/autodeploy`. The application will be
-deployed at the next interval. +
-To undeploy an automatically deployed application or module, remove its
-archive file from the autodeploy directory. +
-
-[NOTE]
-=====================================================================
-
-Deployment directories might change between GlassFish Server releases.
-
-=====================================================================
-
-
-[[GSDPG00021]][[giqrk]]
-
-
-Example 2-16 Setting the Autodeployment Interval
-
-This example sets the autodeployment inverval to 3 seconds (default is
-2).
-
-[source,oac_no_warn]
-----
-asadmin> set server.admin-service.das-config.autodeploy-polling-interval-in-seconds=3
-Command set executed successfully.
-----
-
-[[GSDPG00022]][[giqtm]]
-
-
-Example 2-17 Setting JSP Precompilation
-
-This example enables JSP precompilation (default is false).
-
-[source,oac_no_warn]
-----
-asadmin> 
-set server.admin-service.das-config.autodeploy-jsp-precompilation-enabled=true
-Command set executed successfully.
-----
-
-[[GSDPG819]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin set --help` at the command line.
-
-[[gijyb]][[GSDPG00042]][[to-deploy-an-application-or-module-by-using-a-deployment-plan]]
-
-To Deploy an Application or Module by Using a Deployment Plan
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In the deployment plan for an EAR file, the `glassfish-application.xml`
-file is located at the root. The deployment descriptor for each module
-is stored according to this syntax: module-name.gf-dd-name, where the
-gf-dd-name depends on the module type. If a module named `MyModule`
-contains a CMP mappings file, the file is named
-`MyModule.sun-cmp-mappings.xml`. A `.dbschema` file is stored at the
-root level. Each `/` (forward slash) is replaced by a `#` (pound sign).
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Deploy the application or module by using the
-link:../reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand with the `--deploymentplan`
-option. +
-
-[NOTE]
-=====================================================================
-
-Deployment directories might change between GlassFish Server releases.
-
-=====================================================================
-
-
-[[GSDPG00023]][[gijvy]]
-
-
-Example 2-18 Deploying by Using a Deployment Plan
-
-This example deploys the application in the `myrostapp.ear` file
-according to the plan specified by the `mydeployplan.jar` file.
-
-[source,oac_no_warn]
-----
-asadmin>deploy --deploymentplan mydeployplan.jar myrostapp.ear
-Application deployed successfully with name myrostapp.
-Command deploy executed successfully.
-----
-
-[[GSDPG00024]][[gijyn]]
-
-
-Example 2-19 Deployment Plan Structure for an Enterprise Application
-
-This listing shows the structure of the deployment plan JAR file for an
-EAR file.
-
-[source,oac_no_warn]
-----
-$ jar -tvf mydeployplan.jar
-420 Thu Mar 13 15:37:48 PST 2003 glassfish-application.xml
-370 Thu Mar 13 15:37:48 PST 2003 RosterClient.war.glassfish-web.xml
-418 Thu Mar 13 15:37:48 PST 2003 roster-ac.jar.glassfish-application-client.xml
-1281 Thu Mar 13 15:37:48 PST 2003 roster-ejb.jar.glassfish-ejb-jar.xml
-2317 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.glassfish-ejb-jar.xml
-3432 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.sun-cmp-mappings.xml
-84805 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.RosterSchema.dbschema
-----
-
-[[GSDPG00025]][[gijwk]]
-
-
-Example 2-20 Deployment Plan Structure for an EJB Module
-
-In the deployment plan for an EJB module, the deployment descriptor that
-is specific to GlassFish Server is at the root level. If a standalone
-EJB module contains a CMP bean, the deployment plan includes the
-`sun-cmp-mappings.xml` and `.dbschema` files at the root level. In the
-following listing, the deployment plan describes a CMP bean:
-
-[source,oac_no_warn]
-----
-$ jar r -tvf myotherplan.jar
-3603 Thu Mar 13 15:24:20 PST 2003 glassfish-ejb-jar.xml
-3432 Thu Mar 13 15:24:20 PST 2003 sun-cmp-mappings.xml
-84805 Thu Mar 13 15:24:20 PST 2003 RosterSchema.dbschema
-----
-
-[[GSDPG820]]
-
-See Also
-
-The deployment plan is part of the implementation of JSR 88. For more
-information about JSR 88, see link:overview.html#giiel[JSR 88 Naming] and
-the JSR 88 page at `http://jcp.org/en/jsr/detail?id=88`.
-
-[[gilcn]][[GSDPG00043]][[to-deploy-an-application-or-module-in-a-directory-format]]
-
-To Deploy an Application or Module in a Directory Format
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-[NOTE]
-=============================================================
-
-This task is best suited for use in a development environment.
-
-=============================================================
-
-
-An expanded directory, also known as an exploded directory, contains an
-unassembled (unpackaged) application or module. To deploy a directory
-format instead of an archive, file, use the `asadmin deploy` subcommand
-in remote mode and specify a path to a directory instead of to an
-archive file. The contents of the directory must be the same as the
-contents of a corresponding archive file, with one exception. An
-application archive file contains archive files for its modules, for
-example `myUI.war` and `myEJB.jar`. The expanded application directory
-contains expanded directories for the modules, for example `myUI_war`
-and `myEJB_jar`, instead. .
-
-You can change deployment descriptor files directly in the expanded
-directory.
-
-If your environment is configured to use dynamic reloading, you can also
-dynamically reload applications or modules that are deployed from the
-directory. For instructions, see link:#fwakh[To Reload Changes to
-Applications or Modules Dynamically].
-
-Unlike archive file deployment, directory deployment does not copy the
-directory contents to the remote hosts. This means that for deployment
-to a cluster, the directory path may exist for both the DAS and the
-remote server instances but may not actually correspond to the same
-physical location. If any target server instance cannot see the deployed
-directory, or finds that it contains different files from those detected
-by the DAS, deployment fails.
-
-Integrated development environments (IDEs) typically use directory
-deployment, so you do not need to deal directly with the expanded
-format.
-
-[[GSDPG821]]
-
-Before You Begin
-
-On each cluster or stand-alone server instance to which the application
-or module is deployed, the directory must be accessible and must contain
-the same files as found by the DAS.
-
-On Windows, if you are deploying a directory on a mapped drive, you must
-be running GlassFish Server as the same user to which the mapped drive
-is assigned. This enables GlassFish Server to access the directory.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Verify that the expanded directory contents match the archive file. +
-For information about the required directory contents, see the
-appropriate specifications.
-3.  Deploy the directory by using the link:../reference-manual/deploy.html#GSRFM00114[`deploy`]
-subcommand and specifying the path to the expanded directory. +
-
-[NOTE]
-=====================================================================
-
-Deployment directories might change between GlassFish Server releases.
-
-=====================================================================
-
-
-[[GSDPG00026]][[gilaz]]
-
-
-Example 2-21 Deploying an Application From a Directory
-
-This example deploys the expanded directory `/apps/MyApp` for the
-`hello` application.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --name hello /apps/MyApp
-Application deployed successfully with name hello.
-Command deploy executed successfully.
-----
-
-[[GSDPG822]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help deploy` at the command line.
-
-[[gjiwk]][[GSDPG00066]][[modifying-the-configuration-of-a-web-application-or-module]]
-
-Modifying the Configuration of a Web Application or Module
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can modify the configuration of a web application or a module by
-modifying the deployment descriptors and then repackaging and
-redeploying the application.
-
-The instructions in this section enable you to change the configuration
-of a deployed application without the need to modify the application's
-deployment descriptors and repackage and redeploy the application. If
-the application or module entry is unset, its value reverts to the
-value, if any, that is set in the application's deployment descriptor.
-
-The following topics are addressed here:
-
-* link:#giyce[To Set a Web Context Parameter]
-* link:#giycy[To Unset a Web Context Parameter]
-* link:#giybo[To List Web Context Parameters]
-* link:#giyhc[To Set a Web Environment Entry]
-* link:#giyjr[To Unset a Web Environment Entry]
-* link:#giyip[To List Web Environment Entries]
-
-[[giyce]][[GSDPG00044]][[to-set-a-web-context-parameter]]
-
-To Set a Web Context Parameter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `set-web-context-param` subcommand in remote mode to change the
-configuration of a deployed application without the need to modify the
-application's deployment descriptors and repackage and redeploy the
-application. By using this subcommand, you are either adding a new
-parameter that did not appear in the original web module's descriptor,
-or overriding the descriptor's setting of the parameter.
-
-If the `--ignoreDescriptorItem` option is set to `true`, then the server
-ignores any setting for that context parameter in the descriptor, which
-means you do not need to specify an overriding value on the
-`set-web-context-param` subcommand. The server behaves as if the
-descriptor had never contained a setting for that context parameter.
-
-This subcommand sets a servlet context-initialization parameter of one
-of the following items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-[[GSDPG823]]
-
-Before You Begin
-
-The application must already be deployed. Otherwise, an error occurs.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Set a servlet context-initialization parameter by using the
-link:../reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`] subcommand. +
-Information about the options for the subcommand is included in this
-help page.
-
-[[GSDPG00027]][[gjivx]]
-
-
-Example 2-22 Setting a Servlet Context-Initialization Parameter for a
-Web Application
-
-This example sets the servlet context-initialization parameter
-javax.faces.STATE_SAVING_METHOD of the web application `basic-ezcomp` to
-client.
-
-[source,oac_no_warn]
-----
-asadmin> set-web-context-param --name=javax.faces.STATE_SAVING_METHOD
---description="The location where the application?s state is preserved"
---value=client basic-ezcomp
-Command set-web-context-param executed successfully.
-----
-
-[[GSDPG824]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help set-web-context-param` at the command line.
-
-[[giycy]][[GSDPG00045]][[to-unset-a-web-context-parameter]]
-
-To Unset a Web Context Parameter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `unset-web-context-param` subcommand in remote mode to unset an
-environment entry for a deployed web application or module that has been
-set by using the `set-web-env-entry` subcommand. There is no need to
-modify the application's deployment descriptors and repackage and
-redeploy the application.
-
-This subcommand unsets an environment entry for one of the following
-items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-When an entry is unset, its value reverts to the value, if any, that is
-set in the application's deployment descriptor. This subcommand cannot
-be used to change the value of an environment entry that is set in an
-application's deployment descriptor. Instead, use the
-link:../reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`] subcommand for this purpose.
-
-[[GSDPG825]]
-
-Before You Begin
-
-The application must already be deployed, and the entry must have
-previously been set by using the `set-web-env-entry` subcommand.
-Otherwise, an error occurs.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Unset an environment entry by using the
-link:../reference-manual/unset-web-context-param.html#GSRFM00248[`unset-web-context-param`] subcommand. +
-Information about the options for the subcommand is included in this
-help page.
-
-[[GSDPG00028]][[gjivv]]
-
-
-Example 2-23 Unsetting a Servlet Context-Initialization Parameter for a
-Web Application
-
-This example unsets the servlet context-initialization parameter
-javax.faces.STATE_SAVING_METHOD of the web application `basic-ezcomp`.
-
-[source,oac_no_warn]
-----
-asadmin> unset-web-context-param
---name=javax.faces.STATE_SAVING_METHOD basic-ezcomp
-Command unset-web-context-param executed successfully.
-----
-
-[[GSDPG826]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help unset-web-context-param` at the command line.
-
-[[giybo]][[GSDPG00046]][[to-list-web-context-parameters]]
-
-To List Web Context Parameters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-web-context-param` subcommand in remote mode to list the
-parameters that have previously been set by using the
-link:../reference-manual/set-web-context-param.html#GSRFM00230[`set-web-context-param`] subcommand. The subcommand
-does not list parameters that are set only in the application's
-deployment descriptor. For each parameter, the following information is
-displayed:
-
-* The name of the parameter
-* The value to which the parameter is set
-* The value of the `--ignoreDescriptorItem` option of the
-`set-web-context-param` subcommand that was specified when the parameter
-was set
-* The description of the parameter or `null` if no description was
-specified when the parameter was set
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  List servlet context-initialization parameters by using the
-link:../reference-manual/list-web-context-param.html#GSRFM00208[`list-web-context-param`] subcommand.
-
-[[GSDPG00029]][[gjixd]]
-
-
-Example 2-24 Listing Servlet Context-Initialization Parameters for a Web
-Application
-
-This example lists all servlet context-initialization parameters of the
-web application `basic-ezcomp` that have been set by using the
-`set-web-context-param` subcommand. Because no description was specified
-when the javax.faces.PROJECT_STAGE parameter was set, null is displayed
-instead of a description for this parameter.
-
-[source,oac_no_warn]
-----
-asadmin> list-web-context-param basic-ezcomp
-javax.faces.STATE_SAVING_METHOD = client ignoreDescriptorItem=false
-//The location where the application's state is preserved
-javax.faces.PROJECT_STAGE = null ignoreDescriptorItem=true //null
-Command list-web-context-param executed successfully.
-----
-
-[[GSDPG827]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-web-context-param` at the command line.
-
-[[giyhc]][[GSDPG00047]][[to-set-a-web-environment-entry]]
-
-To Set a Web Environment Entry
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An application uses the values of environment entries to customize its
-behavior or presentation. Use the `set-web-env-entry` subcommand in
-remote mode to change the configuration of a deployed application
-without the need to modify the application's deployment descriptors and
-repackage and redeploy the application. By using this subcommand, you
-are either adding a new parameter that did not appear in the original
-web module's descriptor, or overriding the descriptor's setting of the
-parameter.
-
-If you the `--ignoreDescriptorItem` option is set to `true`, then the
-server ignores any setting for that environment entry in the descriptor,
-which means you do not need to specify an overriding value on the
-`set-web-env-entry` subcommand. The server behaves as if the descriptor
-had never contained a setting for that environment entry.
-
-This subcommand sets an environment entry for one of the following
-items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-[[GSDPG828]]
-
-Before You Begin
-
-The application must already be deployed. Otherwise, an error occurs.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Set an environment entry for a deployed web application or module by
-using the link:../reference-manual/set-web-env-entry.html#GSRFM00231[`set-web-env-entry`] subcommand. +
-Information about the options for the subcommand is included in this
-help page.
-
-[[GSDPG00030]][[gjiwe]]
-
-
-Example 2-25 Setting an Environment Entry for a Web Application
-
-This example sets the environment entry `Hello User` of the application
-hello to `techscribe`. The Java type of this entry is
-`java.lang.String`.
-
-[source,oac_no_warn]
-----
-asadmin> set-web-env-entry --name="Hello User"
---type=java.lang.String --value=techscribe
---description="User authentication for Hello appplication" hello
-Command set-web-env-entry executed successfully
-----
-
-[[GSDPG829]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help set-web-env-entry` at the command line.
-
-[[giyjr]][[GSDPG00048]][[to-unset-a-web-environment-entry]]
-
-To Unset a Web Environment Entry
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `unset-web-env-entry` subcommand in remote mode to unset an
-environment entry for a deployed web application or module.
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Unset a web environment entry by using the
-link:../reference-manual/unset-web-env-entry.html#GSRFM00249[`unset-web-env-entry`] subcommand. +
-Information about the options for the subcommand is included in this
-help page.
-
-[[GSDPG00031]][[gjivj]]
-
-
-Example 2-26 Unsetting an Environment Entry for a Web Application
-
-This example unsets the environment entry `Hello User` of the web
-application `hello`.
-
-[source,oac_no_warn]
-----
-asadmin> unset-web-env-entry --name="Hello User" hello
-Command unset-web-env-entry executed successfully.
-----
-
-[[GSDPG830]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help unset-web-env-entry` at the command line.
-
-[[giyip]][[GSDPG00049]][[to-list-web-environment-entries]]
-
-To List Web Environment Entries
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-web-env-entry` subcommand to list environment entries for
-a deployed web application or module. For each entry, the following
-information is displayed:
-
-* The name of the entry
-* The Java type of the entry
-* The value to which the entry is set
-* The description of the entry or null if no description was specified
-when the entry was set
-* The value of the `--ignoreDescriptorItem` option of the
-`set-web-env-entry` subcommand that was specified when the entry was set
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  List the environment entries by using
-theolink:GSRFM00209[`list-web-env-entry`] subcommand.
-
-[[GSDPG00032]][[gjiws]]
-
-
-Example 2-27 Listing Environment Entries for a Web Application
-
-This example lists all environment entries that have been set for the
-web application `hello` by using the `set-web-env-entry` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> list-web-env-entry hello
-Hello User (java.lang.String) = techscribe ignoreDescriptorItem=false
-//User authentication for Hello appplication
-Hello Port (java.lang.Integer) = null ignoreDescriptorItem=true //null
-Command list-web-env-entry executed successfully.
-----
-
-[[GSDPG831]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-web-env-entry` at the command line.
-
-[[beaej]][[GSDPG00067]][[web-module-deployment-guidelines]]
-
-Web Module Deployment Guidelines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following guidelines apply to deploying a web module in GlassFish
-Server:
-
-* Context Root. When you deploy a web module, if you do not specify a
-context root, the default is the name of the WAR file without the `.war`
-extension. The web module context root must be unique within the server
-instance. +
-The domain administration server (DAS) in GlassFish Server versions
-2.1.1 and later supports the deployment of multiple web applications
-using the same web context root as long as those applications are
-deployed to different GlassFish Server stand-alone instances. Deploying
-multiple applications using the same context root within a single
-instance produces an error.
-* Data Source. If a web application accesses a `DataSource` that is not
-specified in a `resource-ref` in `glassfish-web.xml`, or there is no
-`glassfish-web.xml` file, the `resource-ref-name` defined in `web.xml`
-is used. A warning message is logged, recording the JNDI name that was
-used to look up the resource.
-* Virtual Servers. If you deploy a web application and do not specify
-any assigned virtual servers, the web application is assigned to all
-currently-defined virtual servers with the exception of the virtual
-server with ID `__asadmin`, which is reserved for administrative
-purposes. If you then create additional virtual servers and want to
-assign existing web applications to them, you must redeploy the web
-applications.
-* HTTP Sessions. If a web application is undeployed, all its HTTP
-sessions will be invalidated and removed, unless the application is
-being undeployed as part of a redeployment and the `--keepstate`
-deployment option was set to true. This option is not supported and
-ignored in a clustered environment. See link:#gijzm[Example 2-8]. +
-For information about HTTP session persistence, see the
-link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source Edition High Availability
-Administration Guide].
-* Load Balancing. See the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source
-Edition High Availability Administration Guide] for information about
-load balancing.
-* JSP Precompilation. You can precompile JSP files during deployment by
-checking the appropriate box in the Administration Console, or by using
-the `--precompilejsp` option of the `deploy` subcommand. +
-You can keep the generated source for JSP files by adding the
-`keepgenerated` flag to the `jsp-config` element in `glassfish-web.xml`.
-For example: +
-[source,oac_no_warn]
-----
-<glassfish-web-app>
-   ...
-   <jsp-config>
-      <property name=keepgenerated value=true />
-   </jsp-config>
-</glassfish-web-app>
-----
-If you include this property when you deploy the WAR file, the generated
-source is kept in domain-dir`/generated/jsp/`app-name`/`module-name for
-an application, or domain-dir`/generated/jsp/`module-name for an
-individually-deployed web module. +
-For more information about JSP precompilation, see
-link:dd-elements.html#beatx[`jsp-config`].
-* Web Context Parameters. You can set web context parameters after
-deployment. See the following sections:
-
-** link:#giyce[To Set a Web Context Parameter]
-
-** link:#giycy[To Unset a Web Context Parameter]
-
-** link:#giybo[To List Web Context Parameters]
-* Web Environment Entries. You can set web environment entries after
-deployment. See the following sections:
-
-** link:#giyhc[To Set a Web Environment Entry]
-
-** link:#giyjr[To Unset a Web Environment Entry]
-
-** link:#giyip[To List Web Environment Entries]
-
-[[beaek]][[GSDPG00068]][[ejb-module-deployment-guidelines]]
-
-EJB Module Deployment Guidelines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-[NOTE]
-=======================================================================
-
-The GlassFish Server Web Profile supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The GlassFish Server Full Platform Profile
-supports the entire EJB 3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-
-=======================================================================
-
-
-The following guidelines apply to deploying an EJB module in GlassFish
-Server:
-
-* JNDI Name. — If no JNDI name for the EJB JAR module is specified in
-the `jndi-name` element immediately under the `ejb` element in
-`glassfish-ejb-jar.xml`, or there is no `glassfish-ejb-jar.xml` file, a
-default, non-clashing JNDI name is derived. A warning message is logged,
-recording the JNDI name used to look up the EJB JAR module. +
-Because the EJB 3.1 specification defines portable EJB JNDI names, there
-is less need for GlassFish Server specific JNDI names. By default,
-GlassFish Server specific default JNDI names are applied automatically
-for backward compatibility. To disable GlassFish Server specific JNDI
-names for an EJB module, set the value of the
-`<disable-nonportable-jndi-names>` element in the
-`glassfish-ejb-jar.xml` file to `true`. The default is `false`.
-* Stateful Session Bean and Timer State. — Use the `--keepstate` option
-of the link:../reference-manual/redeploy.html#GSRFM00217[`redeploy`] subcommand or the `<keepstate>`
-element in the `glassfish-ejb-jar.xml` file to retain stateful session
-bean instances and persistently created EJB timers across redeployments.
-The `--keepstate` option of the `redeploy` subcommand takes precedence.
-The default for both is `false`. This option is not supported and
-ignored in a clustered environment. +
-Some changes to an application between redeployments can prevent this
-feature from working properly. For example, do not change the set of
-instance variables in the SFSB bean class. Other examples would be
-changes to EJB names, or adding or removing EJBs to or from an
-application.
-* EJB Singletons. — EJB Singletons are created for each server instance
-in a cluster, and not once per cluster.
-* Stubs and Ties. — Use the link:../reference-manual/get-client-stubs.html#GSRFM00140[`get-client-stubs`]
-subcommand in remote mode to retrieve stubs and ties.
-* Compatibility of JAR Visibility Requirements. — Use the
-`compatibility` element of the `glassfish-application.xml` or
-`glassfish-ejb-jar.xml` file to specify the GlassFish Server release
-with which to be backward compatible in terms of JAR visibility
-requirements for applications. The current allowed value is `v2`, which
-refers to GlassFish Server version 2 or GlassFish Server version 9.1 or
-9.1.1. Starting in Java EE 6, the Java EE specification imposes stricter
-requirements than Java EE 5 did on which JAR files can be visible to
-various modules within an EAR file. Setting this element to `v2` removes
-these Java EE 6 and later restrictions.
-
-[[gilxc]][[GSDPG00069]][[deploying-a-connector-module]]
-
-Deploying a Connector Module
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Deploying a stand-alone connector module allows multiple deployed Java
-EE applications to share the connector module. A resource adapter
-configuration is automatically created for the connector module.
-
-The following topics are addressed here:
-
-* link:#fvynl[To Deploy and Configure a Stand-Alone Connector Module]
-* link:#bealp[Redeploying a Stand-Alone Connector Module]
-* link:#bealq[Deploying and Configuring an Embedded Resource Adapter]
-
-[[fvynl]][[GSDPG00050]][[to-deploy-and-configure-a-stand-alone-connector-module]]
-
-To Deploy and Configure a Stand-Alone Connector Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-As an alternative to Step link:#gkojp[3] through Step link:#gkohy[6],
-you can define application-scoped resources in the
-`glassfish-resources.xml` deployment descriptor. For more information,
-see link:#giydj[Application-Scoped Resources].
-
-1.  Ensure that the server is running. +
-Remote commands require a running server.
-2.  Deploy the connector module by using the link:../reference-manual/deploy.html#GSRFM00114[`deploy`]
-subcommand.
-3.  [[gkojp]] +
-Configure connector connection pools for the deployed connector module. +
-Use the `create-connector-connection-pool` subcommand. For procedures,
-see "link:../administration-guide/connectors.html#GSADG00431[To Create a Connector Connection Pool]" in
-GlassFish Server Open Source Edition Administration Guide.
-4.  Configure connector resources for the connector connection pools. +
-Use the `create-resource-adapter-config` subcommand. For procedures, see
-"link:../administration-guide/connectors.html#GSADG00440[To Create Configuration Information for a Resource
-Adapter]" in GlassFish Server Open Source Edition Administration Guide.
-If needed, you can override the default configuration properties of a
-resource adapter. +
-This step associates a connector resource with a JNDI name.
-5.  Configure a resource adapter. +
-Use the `create-resource-adapter-config` subcommand. For procedures, see
-"link:../administration-guide/connectors.html#GSADG00440[To Create Configuration Information for a Resource
-Adapter]" in GlassFish Server Open Source Edition Administration Guide.
-If needed, you can override the default configuration properties of a
-resource adapter.
-6.  [[gkohy]] +
-If needed, create an administered object for an inbound resource
-adapter. +
-Use the `create-admin-object` subcommand. For procedures, see
-"link:../administration-guide/connectors.html#GSADG00452[To Create an Administered Object]" in GlassFish Server
-Open Source Edition Administration Guide.
-
-[[bealp]][[GSDPG00332]][[redeploying-a-stand-alone-connector-module]]
-
-Redeploying a Stand-Alone Connector Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Redeployment of a connector module maintains all connector connection
-pools, connector resources, and administered objects defined for the
-previously deployed connector module. You do not need to reconfigure any
-of these resources.
-
-However, you should redeploy any dependent modules. A dependent module
-uses or refers to a connector resource of the redeployed connector
-module. Redeployment of a connector module results in the shared class
-loader reloading the new classes. Other modules that refer to the old
-resource adapter classes must be redeployed to gain access to the new
-classes. For more information about class loaders, see
-"link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
-Edition Application Development Guide.
-
-During connector module redeployment, the server log provides a warning
-indicating that all dependent applications should be redeployed. Client
-applications or application components using the connector module's
-resources may throw class cast exceptions if dependent applications are
-not redeployed after connector module redeployment.
-
-To disable automatic redeployment, set the `--force` option to `false`.
-In this case, if the connector module has already been deployed,
-GlassFish Server provides an error message.
-
-[[bealq]][[GSDPG00333]][[deploying-and-configuring-an-embedded-resource-adapter]]
-
-Deploying and Configuring an Embedded Resource Adapter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A connector module can be deployed as a Java EE component in a Java EE
-application. Such connectors are only visible to components residing in
-the same Java EE application. Deploy this application as you would any
-other Java EE application.
-
-You can create new connector connection pools and connector resources
-for a connector module embedded within a Java EE application by
-prefixing the connector name with app-name`#`. For example, if an
-application `appX.ear` has `jdbcra.rar` embedded within it, the
-connector connection pools and connector resources refer to the
-connector module as `appX#jdbcra`.
-
-An embedded connector module cannot be undeployed using the name
-app-name`#`connector-name. To undeploy the connector module, you must
-undeploy the application in which it is embedded.
-
-The association between the physical JNDI name for the connector module
-in GlassFish Server and the logical JNDI name used in the application
-component is specified in the GlassFish Server-specific XML descriptor
-`glassfish-ejb-jar.xml`.
-
-[[beaem]][[GSDPG00070]][[assembling-and-deploying-an-application-client-module]]
-
-Assembling and Deploying an Application Client Module
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Deployment is necessary for application clients that communicate with
-EJB components or that use Java Web Start launch support. Java Web Start
-is supported for application clients and for applications that contain
-application clients. By default, Java Web Start is enabled in
-application clients and in GlassFish Server.
-
-
-[NOTE]
-=======================================================================
-
-The Application Client Container is supported only in the GlassFish
-Server Full Platform Profile, not in the Web Profile.
-
-=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#fvyal[To Assemble and Deploy an Application Client]
-* link:#fwahd[To Prepare Another Machine for Running an Application
-Client]
-* link:#gavpv[To Undeploy an Application Client]
-
-[[fvyal]][[GSDPG00051]][[to-assemble-and-deploy-an-application-client]]
-
-To Assemble and Deploy an Application Client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Assemble the necessary client components. +
-The client JAR file is created.
-2.  Assemble the EJB components that are to be accessed by the client. +
-The EJB JAR file is created.
-3.  Assemble the client and EJB JAR files together in an EAR. +
-An EAR file contains all the components of the application.
-4.  Deploy the application. +
-Instructions are contained in link:#gijmq[To Deploy an Application or
-Module].
-5.  If you are using the `appclient` script to run the application
-client, retrieve the client files. +
-The client artifacts contain the ties and necessary classes for the
-application client. In this release of GlassFish Server, the client
-artifacts include multiple files. You can use either the
-`get-client-stubs` subcommand or the `--retrieve` option of the `deploy`
-subcommand, but you do not need to use both.
-* Use the link:../reference-manual/deploy.html#GSRFM00114[`deploy`] subcommand with the `--retrieve`
-option to retrieve the client files as part of deploying the
-application.
-* Use the link:../reference-manual/get-client-stubs.html#GSRFM00140[`get-client-stubs`] subcommand to retrieve
-client files for a previously-deployed application.
-6.  Test the client on the GlassFish Server machine in one of the
-following ways:
-* If Java Web Start is enabled for the application client, use the
-Launch link on the Application Client Modules.
-* Run an application client by using the `appclient` script. +
-The `appclient` script is located in the as-install`/bin` directory. +
-If you are using the default server instance, the only required option
-is `-client`, which points to the client JAR file. For example: +
-[source,oac_no_warn]
-----
-appclient -client converterClient.jar
-----
-The -xml parameter, which specifies the location of the `sun-acc.xml`
-file, is also required if you are not using the default instance.
-
-[[GSDPG832]]
-
-See Also
-
-For more detailed information about the `appclient` script, see
-link:../reference-manual/appclient.html#GSRFM00262[`appclient`(1M)].
-
-For more detailed information about creating application clients, see
-"link:../application-development-guide/java-clients.html#GSDVG00012[Developing Java Clients]" in GlassFish Server Open
-Source Edition Application Development Guide. This chapter includes
-information on the following topics:
-
-* Accessing EJB components and JMS resources from application clients
-* Connecting to a remote EJB module through a firewall
-* Using Java Web Start and creating a custom JNLP file
-* Using libraries with application clients
-* Specifying a splash screen, login retries, and other customizations
-
-[[fwahd]][[GSDPG00052]][[to-prepare-another-machine-for-running-an-application-client]]
-
-To Prepare Another Machine for Running an Application Client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If Java Web Start is enabled, the default URL format for an application
-is `http://`host:port`/`context-root. For example:
-
-[source,oac_no_warn]
-----
-http://localhost:80/myapp
-----
-
-The default URL format for a standalone application client module is
-`http://`host:port`/`module-id. For example:
-
-[source,oac_no_warn]
-----
-http://localhost:80/myclient
-----
-
-To set a different URL for an application client, set the `context-root`
-subelement of the link:dd-elements.html#gauax[`java-web-start-access`]
-element in the `glassfish-application-client.xml` file.
-
-If the context-root or module-id is not specified during deployment, the
-name of the EAR or JAR file without the `.ear` or `.jar` extension is
-used. For an application, the relative path to the application client
-JAR file is also included. If the application or module is not in EAR or
-JAR file format, a context-root or module-id is generated. Regardless of
-how the context-root or module-id is determined, it is written to the
-server log. For details about naming, see link:overview.html#gihzk[Naming
-Standards].
-
-[[GSDPG833]]
-
-Before You Begin
-
-This task applies if you want to use the `appclient` script to run the
-application client on a system other than where the server runs.
-
-1.  Create the application client package JAR file. +
-Use the `package-appclient` script in the as-install`/bin` directory.
-This JAR file is created in the as-install`/lib/appclient` directory.
-2.  Copy the application client package JAR file to the client machine.
-3.  Extract the contents of the JAR file. +
-For example: `jar xf` filename`.jar`
-4.  Configure the `sun-acc.xml` file. +
-If you used the `package-appclient` script, this file is located in the
-`appclient/appserv/lib/appclient` directory by default.
-5.  Configure the `asenv.conf` (`asenv.bat` on Windows) file. +
-This file is located in `appclient/appserv/bin` by default if you used
-the `package-appclient` script.
-6.  Copy the client JAR file to the client machine. +
-You are now ready to run the client.
-
-[[GSDPG834]]
-
-See Also
-
-For more detailed information about Java Web Start and the
-`package-appclient` script, see link:../reference-manual/appclient.html#GSRFM00262[`appclient`(1M)].
-
-[[gavpv]][[GSDPG00334]][[to-undeploy-an-application-client]]
-
-To Undeploy an Application Client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-After application clients are downloaded, they remain on the client
-until they are manually removed. Use the Java Web Start control panel to
-discard downloaded application clients that used Java Web Start.
-
-If you undeploy an application client, you can no longer use Java Web
-Start, or any other mechanism, to download that application client
-because it might be in an inconsistent state. If you try to launch an
-application client that was previously downloaded (even though the
-server side of the application client is no longer present), the results
-are unpredictable unless the application client has been written to
-tolerate such situations.
-
-You can write your application client so that it detects failures in
-contacting server-side components, but continues running. In this case,
-Java Web Start can run an undeployed application client while the client
-is cached locally. For example, your application client can be written
-to detect and then recover from `javax.naming.NamingException` when
-locating a resource, or from `java.rmi.RemoteException` when referring
-to a previously-located resource that becomes inaccessible.
-
-[[beael]][[GSDPG00071]][[lifecycle-module-deployment-guidelines]]
-
-Lifecycle Module Deployment Guidelines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A lifecycle module, also called a lifecycle listener module, provides a
-means of running long or short Java-based tasks within the GlassFish
-Server environment, such as instantiation of singletons or RMI servers.
-Lifecycle modules are automatically initiated at server startup and are
-notified at various phases of the server life cycle. All lifecycle
-module interfaces are in the as-install`/modules/glassfish-api.jar`
-file.
-
-For general information about lifecycle modules, see
-"link:../application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing Lifecycle Listeners]" in GlassFish Server
-Open Source Edition Application Development Guide.
-
-You can deploy a lifecycle module using the `create-lifecycle-module`
-subcommand. Do not use `asadmin deploy` or related commands.
-
-You do not need to specify a classpath for the lifecycle module if you
-place it in the domain-dir`/lib` or domain-dir`/lib/classes` directory
-for the Domain Administration Server (DAS). Do not place it in the `lib`
-directory for a particular server instance, or it will be deleted when
-that instance synchronizes with the GlassFish Server.
-
-After you deploy a lifecycle module, you must restart the server. During
-server initialization, the server instantiates the module and registers
-it as a lifecycle event listener.
-
-
-[NOTE]
-=======================================================================
-
-If the `--failurefatal` option of `create-lifecycle-module` is set to
-`true` (the default is `false`), lifecycle module failure prevents
-server initialization or startup, but not shutdown or termination.
-
-=======================================================================
-
-
-[[gbiye]][[GSDPG00072]][[web-service-deployment-guidelines]]
-
-Web Service Deployment Guidelines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-[NOTE]
-=======================================================================
-
-If you installed the Web Profile, web services are not supported unless
-the optional Metro Web Services Stack add-on component is downloaded.
-Without the Metro add-on component, a servlet or EJB component cannot be
-a web service endpoint, and the `glassfish-web.xml` and
-`glassfish-ejb-jar.xml` elements related to web services are ignored.
-
-=======================================================================
-
-
-The following guidelines apply when deploying a web service in GlassFish
-Server:
-
-* Web Service Endpoint. Deploy a web service endpoint to GlassFish
-Server as you would any servlet or stateless session bean. If the
-deployed application or module has a web service endpoint, the endpoint
-is detected automatically during deployment. The GlassFish Server
--specific deployment descriptor files, `glassfish-web.xml` and
-`glassfish-ejb-jar.xml`, provide optional web service enhancements in
-their link:dd-elements.html#beayv[`webservice-endpoint`] and
-link:dd-elements.html#beayt[`webservice-description`] elements.
-* Web Service Management. Web service management is fully supported in
-the Administration Console. After the application or module is deployed,
-click the Web Service component. The table in the right frame lists
-deployed web service endpoints.
-
-For more information about web services, see
-"link:../application-development-guide/webservices.html#GSDVG00007[Developing Web Services]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[gkkmb]][[GSDPG00073]][[osgi-bundle-deployment-guidelines]]
-
-OSGi Bundle Deployment Guidelines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To deploy an OSGi bundle using the Administration Console, select Other
-from the Type drop-down list and check the OSGI Type checkbox.
-
-To deploy an OSGi bundle using the `asadmin deploy` command, set the
-`--type` option to the value `osgi`. For example:
-
-[source,oac_no_warn]
-----
-asadmin> deploy --type=osgi MyBundle.jar
-----
-
-To automatically deploy an OSGi bundle, copy the bundle archive to the
-domain-dir`/autodeploy/bundles` directory.
-
-
-[NOTE]
-=======================================================================
-
-For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
-subcommand accepts properties arguments to wrap a WAR file as a WAB (Web
-Application Bundle) at the time of deployment. The subcommand looks for
-a key named `UriScheme` and, if present, uses the key as a URL stream
-handler to decorate the input stream. Other properties are used in the
-decoration process. For example, the GlassFish Server OSGi web container
-registers a URL stream handler named `webbundle`, which is used to wrap
-a plain WAR file as a WAB.
-
-=======================================================================
-
-
-[[gkoif]][[GSDPG00074]][[transparent-jdbc-connection-pool-reconfiguration]]
-
-Transparent JDBC Connection Pool Reconfiguration
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In this GlassFish Server release, reconfiguration of a JDBC connection
-pool due to attribute or property changes can be transparent to the
-applications or modules that use the pool, even if pool reconfiguration
-results in pool recreation. You do not need to redeploy the application
-or module.
-
-To enable transparent pool reconfiguration, set the
-`dynamic-reconfiguration-wait-timeout-in-seconds` property. This
-property specifies the timeout for dynamic reconfiguration of the pool.
-In-progress connection requests must complete before this timeout
-expires or they must be retried. New connection requests wait for this
-timeout to expire before acquiring connections to the reconfigured pool.
-If this property exists and has a positive value, it is enabled.
-
-You can set this property in the `glassfish-resources.xml` file. For
-more information, see the property descriptions under
-link:dd-elements.html#giyil[`jdbc-connection-pool`].
-
-For JDBC connection pools that are not application-scoped, use the `set`
-subcommand to set this property. For example, to configure `mypool` on
-`myserver`, type the following all on one line:
-
-[source,oac_no_warn]
-----
-asadmin> set myserver.resources.jdbc-connection-pool.mypool.property.
-dynamic-reconfiguration-wait-timeout-in-seconds=30
-----
-
-[[giydj]][[GSDPG00075]][[application-scoped-resources]]
-
-Application-Scoped Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can define an application-scoped JDBC resource or other resource for
-an enterprise application, web module, EJB module, connector module, or
-application client module. This allows single-step deployment for
-resource-dependent modules and applications. An application-scoped
-resource has the following characteristics:
-
-* It is available only to the module or application that defines it.
-* It cannot be referenced or looked up by other modules or applications.
-* It is created during deployment, destroyed during undeployment, and
-recreated during redeployment.
-* It is free from unexpected resource starvation or delay in acquiring
-connections because no other application or module competes for accesses
-to it.
-
-The following resource types can be application-scoped:
-
-* JDBC connection pools
-* JDBC resources
-* Connector connection pools
-* Connector resources
-* Resource adapters
-* External JNDI resources
-* Custom resources
-* Admin object resources
-* JavaMail resources
-
-Deployment Descriptor. An application-scoped resource is defined in the
-`glassfish-resources.xml` deployment descriptor file. This file is
-placed in the `META-INF` directory of the module or application archive.
-For web applications or modules, this file is placed in the `WEB-INF`
-directory. If any submodule archives of an enterprise application
-archive have their own `glassfish-resources.xml` files, the resource
-definitions are scoped to those modules only. For more information about
-the `glassfish-resources.xml` file, see
-link:dd-files.html#giida[GlassFish Server Deployment Descriptor Files]
-and link:dd-elements.html#beaqi[Elements of the GlassFish Server
-Deployment Descriptors].
-
-Naming. Application-scoped resource JNDI names begin with `java:app` or
-`java:module`. If one of these prefixes is not specified in the JNDI
-name, it is added. For example, application-scoped databases have JNDI
-names in the following format: `java:app/jdbc/`DataSourceName or
-`java:module/jdbc/`DataSourceName. This is in accordance with the naming
-scopes introduced in the Java EE 6 Specification.
-
-Errors. Application-scoped resource definitions with same resource name,
-resource type, attributes, and properties are duplicates. These generate
-`WARNING` level log messages and deployment continues. Definitions with
-the same resource name and type but different attributes or properties
-are conflicts and cause deployment failure. When an application or
-module tries to look up a scoped resource that does not belong to it, a
-naming exception is thrown.
-
-Redeployment. When an application or module is undeployed, its scoped
-resources are deleted. During redeployment, resources are destroyed and
-recreated based on changes in the `glassfish-resources.xml` file. To
-preserve old resource definitions during redeployment, use the
-`preserveAppScopedResources` property of the `redeploy` (or `deploy`
-`--force=true`) subcommand. For example:
-
-[source,oac_no_warn]
-----
-asadmin> redeploy --property preserveAppScopedResources=true MyApp.ear
-
-asadmin> deploy --force=true --property preserveAppScopedResources=true MyApp.ear
-----
-
-For more information, see link:../reference-manual/redeploy.html#GSRFM00217[`redeploy`(1)] and
-link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)].
-
-Listing. Use the `--resources` option of the `list-applications`
-subcommand to list application-scoped resources. Use the
-`--subcomponents` option in addition to list scoped resources for
-enterprise application modules or for module subcomponents. To list
-scoped resources for subcomponents only, use the `--resources` option of
-the `list-subcomponents` subcommand
-
-For more information, see link:../reference-manual/list-applications.html#GSRFM00148[`list-applications`(1)] and
-link:../reference-manual/list-sub-components.html#GSRFM00201[`list-sub-components`(1)].
-
-Restrictions. Use of application-scoped resources is subject to the
-following restrictions:
-
-* `resource-adapter-config` and `connector-work-security-map` — These
-can only be specified in the `glassfish-resources.xml` file of the
-corresponding connector module. In an enterprise application, the
-`resource-adapter-config` or `connector-work-security-map` for an
-embedded connector module must be specified in the
-`glassfish-resources.xml` file of the connector module. You cannot
-specify a `resource-adapter-config` or `connector-work-security-map` in
-an application for a connector module that is not part of the
-application.
-* Resource to connection pool cross references — A module-level
-`jdbc-resource` cannot reference an application-level
-`jdbc-connection-pool`. Likewise, a module-level `connector-resource`
-cannot reference an application-level `connector-connection-pool`.
-* Global resources — Defining `java:global` JNDI names is not supported.
-* Cross definitions — Defining `java:app` JNDI names at the module level
-is not supported.
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/loe.adoc b/docs/application-deployment-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index 329bedb..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,64 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lof.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:deploying-applications.html#gijlo[2-1 Deploying an Enterprise
-Application]
-* link:deploying-applications.html#gilcq[2-2 Deploying a Connector
-Module]
-* link:deploying-applications.html#CHDFHDGD[2-3 Using an Alternate Java
-EE Standard Deployment Descriptor]
-* link:deploying-applications.html#CHDJFAIJ[2-4 Specifying the Deployment
-Order of an Application]
-* link:deploying-applications.html#giumj[2-5 Listing Applications]
-* link:deploying-applications.html#giuot[2-6 Listing Subcomponents]
-* link:deploying-applications.html#giunl[2-7 Showing Status of a Deployed
-Component]
-* link:deploying-applications.html#gijzm[2-8 Retaining HTTP Session State
-During Redeployment]
-* link:deploying-applications.html#gijkr[2-9 Redeploying a Web
-Application That Was Deployed From a Directory]
-* link:deploying-applications.html#gikiw[2-10 Redeploying an Application
-by Using asadmin deploy --force]
-* link:deploying-applications.html#gijkp[2-11 Listing Deployed Web
-Applications]
-* link:deploying-applications.html#gikvy[2-12 Disabling a Web
-Application]
-* link:deploying-applications.html#gijxl[2-13 Enabling an Application]
-* link:deploying-applications.html#gikag[2-14 Listing Deployed
-Applications or Modules]
-* link:deploying-applications.html#gikun[2-15 Undeploying an Application]
-* link:deploying-applications.html#giqrk[2-16 Setting the Autodeployment
-Interval]
-* link:deploying-applications.html#giqtm[2-17 Setting JSP Precompilation]
-* link:deploying-applications.html#gijvy[2-18 Deploying by Using a
-Deployment Plan]
-* link:deploying-applications.html#gijyn[2-19 Deployment Plan Structure
-for an Enterprise Application]
-* link:deploying-applications.html#gijwk[2-20 Deployment Plan Structure
-for an EJB Module]
-* link:deploying-applications.html#gilaz[2-21 Deploying an Application
-From a Directory]
-* link:deploying-applications.html#gjivx[2-22 Setting a Servlet
-Context-Initialization Parameter for a Web Application]
-* link:deploying-applications.html#gjivv[2-23 Unsetting a Servlet
-Context-Initialization Parameter for a Web Application]
-* link:deploying-applications.html#gjixd[2-24 Listing Servlet
-Context-Initialization Parameters for a Web Application]
-* link:deploying-applications.html#gjiwe[2-25 Setting an Environment
-Entry for a Web Application]
-* link:deploying-applications.html#gjivj[2-26 Unsetting an Environment
-Entry for a Web Application]
-* link:deploying-applications.html#gjiws[2-27 Listing Environment Entries
-for a Web Application]
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/lof.adoc b/docs/application-deployment-guide/src/main/jbake/content/lof.adoc
deleted file mode 100644
index 19971bc..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/lof.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-type=page
-status=published
-title=List of Figures
-next=lot.html
-prev=loe.html
-~~~~~~
-List of Figures
-===============
-
-[[list-of-figures]]
-List of Figures
----------------
-
-* link:overview.html#fwfdj[1-1 Module-Based Assembly and Deployment]
-* link:overview.html#fvyip[1-2 Application-Based Assembly and Deployment]
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/lot.adoc b/docs/application-deployment-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index adbc2fb..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,198 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=lof.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:dd-files.html#giiht[B-1 GlassFish Server Deployment Descriptors
-and DTDs]
-* link:dd-files.html#gkinm[B-2 weblogic.xml Support in GlassFish Server]
-* link:dd-files.html#gkkht[B-3 weblogic-webservices.xml Support in
-GlassFish Server]
-* link:dd-elements.html#fvynw[C-1 activation-config subelements]
-* link:dd-elements.html#fvynv[C-2 activation-config-property subelements]
-* link:dd-elements.html#sthref14[C-3 admin-object-resource Subelements]
-* link:dd-elements.html#sthref17[C-4 admin-object-resource Attributes]
-* link:dd-elements.html#fvyov[C-5 as-context Subelements]
-* link:dd-elements.html#fvyol[C-6 auth-realm subelement]
-* link:dd-elements.html#fvypa[C-7 auth-realm attributes]
-* link:dd-elements.html#sthref26[C-8 backend-principal Attributes]
-* link:dd-elements.html#fvypb[C-9 bean-cache Subelements]
-* link:dd-elements.html#fvypg[C-10 bean-pool Subelements]
-* link:dd-elements.html#fvyrd[C-11 cache Subelements]
-* link:dd-elements.html#fvyrt[C-12 cache Attributes]
-* link:dd-elements.html#fvyqr[C-13 cache Properties]
-* link:dd-elements.html#fvyph[C-14 cacheClassName Values]
-* link:dd-elements.html#fvyql[C-15 cache-helper Subelements]
-* link:dd-elements.html#fvyrp[C-16 cache-helper Attributes]
-* link:dd-elements.html#fvypt[C-17 cache-mapping Subelements]
-* link:dd-elements.html#fvyrw[C-18 call-property subelements]
-* link:dd-elements.html#fvypo[C-19 cert-db attributes]
-* link:dd-elements.html#fvyrq[C-20 check-version-of-accessed-instances
-Subelements]
-* link:dd-elements.html#fvyqx[C-21 checkpoint-at-end-of-method
-Subelements]
-* link:dd-elements.html#fvyqg[C-22 class-loader Subelements]
-* link:dd-elements.html#fvyrs[C-23 class-loader Attributes]
-* link:dd-elements.html#gcfjs[C-24 class-loader Properties]
-* link:dd-elements.html#fvypm[C-25 client-container Subelements]
-* link:dd-elements.html#fvyqb[C-26 client-container Attributes]
-* link:dd-elements.html#fvyqm[C-27 client-container Properties]
-* link:dd-elements.html#fvyro[C-28 client-credential subelement]
-* link:dd-elements.html#fvypi[C-29 client-credential attributes]
-* link:dd-elements.html#fvypw[C-30 cmp Subelements]
-* link:dd-elements.html#fvyqh[C-31 cmp-field-mapping Subelements]
-* link:dd-elements.html#fvyps[C-32 cmp-resource Subelements]
-* link:dd-elements.html#fvypn[C-33 cmr-field-mapping Subelements]
-* link:dd-elements.html#fvysh[C-34 column-pair Subelements]
-* link:dd-elements.html#sthref56[C-35 connector-connection-pool
-Subelements]
-* link:dd-elements.html#sthref59[C-36 connector-connection-pool
-Attributes]
-* link:dd-elements.html#sthref62[C-37 connector-connection-pool
-Properties]
-* link:dd-elements.html#sthref66[C-38 connector-resource Subelements]
-* link:dd-elements.html#sthref69[C-39 connector-resource Attributes]
-* link:dd-elements.html#fvysn[C-40 consistency Subelements]
-* link:dd-elements.html#fvysp[C-41 constraint-field Subelements]
-* link:dd-elements.html#fvysr[C-42 constraint-field Attributes]
-* link:dd-elements.html#fvysv[C-43 constraint-field-value Attributes]
-* link:dd-elements.html#fvytb[C-44 cookie-properties Subelements]
-* link:dd-elements.html#fvyte[C-45 cookie-properties Properties]
-* link:dd-elements.html#sthref79[C-46 custom-resource Subelements]
-* link:dd-elements.html#sthref82[C-47 custom-resource Attributes]
-* link:dd-elements.html#fvytm[C-48 default-helper Subelements]
-* link:dd-elements.html#fvyto[C-49 default-helper Properties]
-* link:dd-elements.html#fvytr[C-50 default-resource-principal
-Subelements]
-* link:dd-elements.html#fvyuc[C-51 ejb Subelements]
-* link:dd-elements.html#fvyud[C-52 ejb Attributes]
-* link:dd-elements.html#fvyui[C-53 ejb-ref Subelements]
-* link:dd-elements.html#fvyut[C-54 enterprise-beans Subelements]
-* link:dd-elements.html#fvyuz[C-55 entity-mapping Subelements]
-* link:dd-elements.html#sthref94[C-56 external-jndi-resource Subelements]
-* link:dd-elements.html#sthref97[C-57 external-jndi-resource Attributes]
-* link:dd-elements.html#fvzcz[C-58 fetched-with Subelements]
-* link:dd-elements.html#fvyzu[C-59 finder Subelements]
-* link:dd-elements.html#fvzba[C-60 flush-at-end-of-method Subelements]
-* link:dd-elements.html#fvzdo[C-61 gen-classes Subelements]
-* link:dd-elements.html#fvzhl[C-62 glassfish-application Subelements]
-* link:dd-elements.html#fvzjh[C-63 glassfish-application-client
-subelements]
-* link:dd-elements.html#fvzfu[C-64 glassfish-ejb-jar Subelements]
-* link:dd-elements.html#fvzgf[C-65 glassfish-web-app Subelements]
-* link:dd-elements.html#fvzjf[C-66 glassfish-web-app Attributes]
-* link:dd-elements.html#fvzim[C-67 glassfish-web-app Properties]
-* link:dd-elements.html#sthref111[C-68 group-map Attributes]
-* link:dd-elements.html#fvzca[C-69 idempotent-url-pattern Attributes]
-* link:dd-elements.html#fvyyk[C-70 ior-security-config Subelements]
-* link:dd-elements.html#fvzdu[C-71 java-method Subelements]
-* link:dd-elements.html#gauaw[C-72 java-web-start-access subelements]
-* link:dd-elements.html#sthref119[C-73 jdbc-connection-pool Subelements]
-* link:dd-elements.html#sthref122[C-74 jdbc-connection-pool Attributes]
-* link:dd-elements.html#sthref125[C-75 jdbc-connection-pool Database
-Properties]
-* link:dd-elements.html#sthref128[C-76 jdbc-connection-pool Database
-Properties]
-* link:dd-elements.html#sthref132[C-77 jdbc-resource Subelements]
-* link:dd-elements.html#sthref135[C-78 jdbc-resource Attributes]
-* link:dd-elements.html#fvyzp[C-79 jsp-config Subelements]
-* link:dd-elements.html#fvzde[C-80 jsp-config Properties]
-* link:dd-elements.html#fvyyi[C-81 key-field Attributes]
-* link:dd-elements.html#fvyzd[C-82 locale-charset-info Subelements]
-* link:dd-elements.html#fvzcd[C-83 locale-charset-info Attributes]
-* link:dd-elements.html#fvyvl[C-84 locale-charset-map Subelements]
-* link:dd-elements.html#fvzbk[C-85 locale-charset-map Attributes]
-* link:dd-elements.html#fvzbb[C-86 Example agent Attribute Values]
-* link:dd-elements.html#fvzdx[C-87 log-service subelement]
-* link:dd-elements.html#fvzbn[C-88 log-service attributes]
-* link:dd-elements.html#fvzap[C-89 login-config subelements]
-* link:dd-elements.html#sthref150[C-90 mail-resource Subelements]
-* link:dd-elements.html#sthref153[C-91 mail-resource Attributes]
-* link:dd-elements.html#fvyvh[C-92 manager-properties Subelements]
-* link:dd-elements.html#fvywk[C-93 manager-properties Properties]
-* link:dd-elements.html#fvyxi[C-94 mdb-connection-factory Subelements]
-* link:dd-elements.html#fvyzh[C-95 mdb-resource-adapter subelements]
-* link:dd-elements.html#fvyyd[C-96 message Subelements]
-* link:dd-elements.html#fvyzy[C-97 message-destination subelements]
-* link:dd-elements.html#gauar[C-98 message-destination-ref subelements]
-* link:dd-elements.html#fvywy[C-99 message-security Subelements]
-* link:dd-elements.html#fvzcx[C-100 message-security-binding Subelements]
-* link:dd-elements.html#fvzda[C-101 message-security-binding Attributes]
-* link:dd-elements.html#fvyym[C-102 message-security-config Subelements]
-* link:dd-elements.html#fvzam[C-103 message-security-config Attributes]
-* link:dd-elements.html#fvzch[C-104 method Subelements]
-* link:dd-elements.html#fvyzq[C-105 method-params Subelements]
-* link:dd-elements.html#fvyxu[C-106 one-one-finders Subelements]
-* link:dd-elements.html#fvywn[C-107 parameter-encoding Attributes]
-* link:dd-elements.html#fvzbr[C-108 port-info subelements]
-* link:dd-elements.html#fvyyn[C-109 prefetch-disabled Subelements]
-* link:dd-elements.html#fvzaq[C-110 principal Subelements]
-* link:dd-elements.html#sthref177[C-111 principal-map Attributes]
-* link:dd-elements.html#gatyf[C-112 principal-name Attributes]
-* link:dd-elements.html#fvzcb[C-113 property Subelements]
-* link:dd-elements.html#fvzdi[C-114 property Attributes]
-* link:dd-elements.html#fvzcc[C-115 property subelements]
-* link:dd-elements.html#fvyyq[C-116 provider-config Subelements]
-* link:dd-elements.html#fvyvz[C-117 provider-config Attributes]
-* link:dd-elements.html#fvywl[C-118 query-method Subelements]
-* link:dd-elements.html#fvzbz[C-119 refresh-field Attributes]
-* link:dd-elements.html#fvzdy[C-120 request-policy Attributes]
-* link:dd-elements.html#fvzbu[C-121 request-protection Attributes]
-* link:dd-elements.html#sthref191[C-122 resource-adapter-config
-Subelements]
-* link:dd-elements.html#sthref194[C-123 resource-adapter-config
-Attributes]
-* link:dd-elements.html#fvyye[C-124 resource-env-ref Subelements]
-* link:dd-elements.html#fvzbd[C-125 resource-ref Subelements]
-* link:dd-elements.html#sthref201[C-126 resources Subelements]
-* link:dd-elements.html#fvyyr[C-127 response-policy Attributes]
-* link:dd-elements.html#fvzej[C-128 response-protection Attributes]
-* link:dd-elements.html#fvzey[C-129 sas-context Subelements]
-* link:dd-elements.html#fvzex[C-130 schema-generator-properties
-Subelements]
-* link:dd-elements.html#fvzev[C-131 schema-generator-properties
-Properties]
-* link:dd-elements.html#fvymm[C-132 schema-generator-properties Column
-Attributes]
-* link:dd-elements.html#fvzet[C-133 secondary table Subelements]
-* link:dd-elements.html#fvzfe[C-134 security Subelements]
-* link:dd-elements.html#sthref213[C-135 security-map Subelements]
-* link:dd-elements.html#sthref216[C-136 security-map Attributes]
-* link:dd-elements.html#fvzfj[C-137 security-role-mapping Subelements]
-* link:dd-elements.html#fvzfi[C-138 service-qname subelements]
-* link:dd-elements.html#fvzgc[C-139 service-ref subelements]
-* link:dd-elements.html#fvzhy[C-140 servlet Subelements]
-* link:dd-elements.html#fvzib[C-141 session-config Subelements]
-* link:dd-elements.html#fvzgo[C-142 session-manager Subelements]
-* link:dd-elements.html#fvzje[C-143 session-manager Attributes]
-* link:dd-elements.html#fvzgv[C-144 session-properties Subelements]
-* link:dd-elements.html#fvzii[C-145 session-properties Properties]
-* link:dd-elements.html#fvzgb[C-146 ssl attributes]
-* link:dd-elements.html#fvzif[C-147 store-properties Subelements]
-* link:dd-elements.html#fvzgr[C-148 store-properties Properties]
-* link:dd-elements.html#fvziz[C-149 stub-property subelements]
-* link:dd-elements.html#gawou[C-150 stub-property properties]
-* link:dd-elements.html#fvzhm[C-151 sun-cmp-mapping Subelements]
-* link:dd-elements.html#fvzin[C-152 sun-cmp-mappings Subelements]
-* link:dd-elements.html#fvzhg[C-153 target-server subelements]
-* link:dd-elements.html#fvzgg[C-154 target-server attributes]
-* link:dd-elements.html#fvzih[C-155 timeout Attributes]
-* link:dd-elements.html#fvziu[C-156 transport-config Subelements]
-* link:dd-elements.html#giktu[C-157 valve Subelements]
-* link:dd-elements.html#gikqw[C-158 valve Attributes]
-* link:dd-elements.html#fvzfz[C-159 web Subelements]
-* link:dd-elements.html#fvzjb[C-160 webservice-description subelements]
-* link:dd-elements.html#fvzjs[C-161 webservice-endpoint subelements]
-* link:dd-elements.html#sthref248[C-162 work-security-map Subelements]
-* link:dd-elements.html#sthref251[C-163 work-security-map Attributes]
-* link:dd-elements.html#fvzju[C-164 wsdl-port subelements]
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/overview.adoc b/docs/application-deployment-guide/src/main/jbake/content/overview.adoc
deleted file mode 100644
index 02ec354..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/overview.adoc
+++ /dev/null
@@ -1,792 +0,0 @@
-type=page
-status=published
-title=Overview of GlassFish Server Open Source Edition 5.0 Application Deployment
-next=deploying-applications.html
-prev=preface.html
-~~~~~~
-Overview of GlassFish Server Open Source Edition 5.0 Application Deployment
-===========================================================================
-
-[[GSDPG00003]][[gihxo]]
-
-
-[[overview-of-glassfish-server-open-source-edition-5.0-application-deployment]]
-1 Overview of GlassFish Server Open Source Edition 5.0 Application Deployment
------------------------------------------------------------------------------
-
-GlassFish Server Open Source Edition 5.0 provides an environment for
-developing and deploying Java applications and web services. GlassFish
-Server applications include Java Platform, Enterprise Edition (Java EE
-platform) standard features as well as features specific to GlassFish
-Server. This guide explains the tools and processes used for deploying
-applications and modules in the GlassFish Server environment. Only
-GlassFish Server features are described in detail in this document.
-
-The following topics are addressed here:
-
-* link:#gihzx[About Application Deployment]
-* link:#giphm[About Assembly and Deployment Events]
-* link:#giifh[About Deployment Tools]
-* link:#gipud[Additional Information on Application Deployment]
-
-Information and instructions on deploying from the command line are
-provided in this document. Information and instructions for
-accomplishing the deployment tasks by using the Administration Console
-are contained in the Administration Console online help.
-
-[[gihzx]][[GSDPG00061]][[about-application-deployment]]
-
-About Application Deployment
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Assembly, also known as packaging, is the process of combining discrete
-components of an application or module into a single unit that can be
-installed on an application server. The GlassFish Server assembly
-process conforms to the customary Java EE specifications. The only
-difference is that when you assemble applications or modules in
-GlassFish Server, you can include optional GlassFish Server deployment
-descriptors that enhance functionality.
-
-Deployment is the process of installing an application or module on
-GlassFish Server, optionally specifying location-specific information,
-such as a list of local users that can access the application, or the
-name of the local database. GlassFish Server deployment tools expand the
-archive file into an open directory structure that is ready for users.
-GlassFish Server deployment tools are described in link:#giifh[About
-Deployment Tools].
-
-The following topics are addressed here:
-
-* link:#giptw[General Deployment Functionality]
-* link:#gihzc[Deployment Descriptors and Annotations]
-* link:#gikhs[Modules and Applications]
-* link:#gijla[Access to Shared Framework Classes]
-* link:#gihzk[Naming Standards]
-* link:#gkhhv[Module and Application Versions]
-
-[[giptw]][[GSDPG00319]][[general-deployment-functionality]]
-
-General Deployment Functionality
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Various Java EE module types, such as connector module, web module, EJB
-module, application client module, can be deployed in the following
-ways:
-
-* Archive Deployment. Deploys the application as an archive file. For
-instructions, see link:deploying-applications.html#gijmq[To Deploy an
-Application or Module].
-* Dynamic Reloading. Redeploys the application by creating or modifying
-a special `.reload` file in the applications repository. For
-instructions, see link:deploying-applications.html#fwakh[To Reload
-Changes to Applications or Modules Dynamically].
-* Automatic Deployment. Deploys the application archive that is placed
-in the autodeployment directory. For instructions, see
-link:deploying-applications.html#fvxze[To Deploy an Application or Module
-Automatically].
-* Directory Deployment. Deploys the application in a directory format.
-For instructions, see link:deploying-applications.html#gilcn[To Deploy an
-Application or Module in a Directory Format].
-* JSR 88 Deployment. A deployment mechanism implemented based on the JSR
-88 standard from `jcp.org`. It delivers vendor neutral deployment
-options. See link:#beaee[JSR 88 Client] and link:#giiel[JSR 88 Naming].
-
-A deployment plan, which deploys a portable archive along with a
-deployment plan containing GlassFish Server deployment descriptors, can
-apply to any of these deployment techniques. For instructions, see
-link:deploying-applications.html#gijyb[To Deploy an Application or Module
-by Using a Deployment Plan].
-
-There are two work situations that require different safeguards and
-processes:
-
-* A development environment provides a loose set of tools and work
-spaces for a relatively small number of developers who are creating and
-testing applications and modules.
-* A production environment provides a stable, protected environment
-where applications are tuned to maximum efficiency for business use
-rather than for development.
-
-Some deployment methods that are used effectively in a development
-environment should not be used in production. In addition, whenever a
-reload is done, the sessions that are in transit become invalid, which
-might not be a concern for development, but can be a serious matter in
-production. The client must restart the session, another negative in a
-production environment.
-
-For production environments, any upgrade should be performed as a
-rolling upgrade, which upgrades applications and modules without
-interruption in service. For more information, see
-link:../ha-administration-guide/rolling-upgrade.html#GSHAG00010[Upgrading Applications Without Loss of Availability] in
-GlassFish Server Open Source Edition High Availability Administration
-Guide.
-
-[[gihzc]][[GSDPG00320]][[deployment-descriptors-and-annotations]]
-
-Deployment Descriptors and Annotations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A deployment descriptor is an XML file that describes how a Java EE
-application or module should be deployed. Each deployment descriptor XML
-file has a corresponding Document Type Definition (DTD) file or schema
-(XSD) file, which defines the elements, data, and attributes that the
-deployment descriptor file can contain. The deployment descriptor
-directs a deployment tool to deploy a module or application with
-specific container options, and also describes specific configuration
-requirements that you must resolve.
-
-Because the information in a deployment descriptor is declarative, it
-can be changed without requiring modifications to source code. During
-deployment, GlassFish Server reads the information in the deployment
-descriptor and deploys the application or module as directed.
-
-The following types of deployment descriptors are associated with
-GlassFish Server:
-
-* Java EE Standard Descriptors. Java EE standard deployment descriptors
-are described in the Java EE 8 specification. You can find the
-specification at `http://www.oracle.com/technetwork/java/javaee/tech/`.
-Information about the XML schemas that define Java EE standard
-deployment descriptors is available at
-`http://xmlns.jcp.org/xml/ns/javaee/`. +
-The Java EE 8 specification permits the use of alternate top-level
-standard deployment descriptors that reside outside of the application
-archive using the `alt-dd` mechanism (alternate module-level deployment
-descriptors were permitted prior to Java EE 7). Alternate deployment
-descriptors are described in the Java EE 7 specification. You can find
-the specification at
-`http://www.oracle.com/technetwork/java/javaee/tech/`. Alternate
-deployment descriptors override the top-level deployment descriptors
-packaged in an application archive. For example, for EAR files, an
-alternate deployment descriptor overrides `application.xml`. For
-standalone modules, an alternate deployment descriptor overrides the
-top-level module descriptor, such as `web.xml`.
-* GlassFish Server Descriptors. GlassFish Server provides optional
-deployment descriptors for configuring features that are specific to
-GlassFish Server. For example, when you assemble an EJB module, you
-annotate or create two GlassFish Server deployment descriptor files with
-these names: `ejb-jar.xml` and `glassfish-ejb-jar.xml`. If the EJB
-component is an entity bean with container-managed persistence (CMP),
-you can also create a `.dbschema` file and a `sun-cmp-mapping.xml` file.
-For complete descriptions of these files and their elements, see
-link:dd-files.html#giida[GlassFish Server Deployment Descriptor Files]
-and link:dd-elements.html#beaqi[Elements of the GlassFish Server
-Deployment Descriptors]. +
-GlassFish Server also permits the use of alternate top-level GlassFish
-Server runtime deployment descriptors that reside outside of an
-application archive. Alternate GlassFish Server deployment descriptors
-override the top-level deployment descriptors packaged in the archive.
-For example, for EAR files, an alternate GlassFish Server deployment
-descriptor overrides `glassfish-application.xml`. For standalone
-modules, an alternate GlassFish Server deployment descriptor overrides
-the top-level module descriptor, such as `glassfish-web.xml`. The name
-of the GlassFish Server alternate deployment descriptor file must begin
-with `glassfish-`. Alternate deployment descriptors do not apply to
-`sun-*.xml` deployment descriptors. +
-Unless otherwise stated, settings in the GlassFish Server deployment
-descriptors override corresponding settings in the Java EE standard
-descriptors and in the GlassFish Server configuration.
-
-An annotation, also called metadata, enables a declarative style of
-programming. You can specify information within a class file by using
-annotations. When the application or module is deployed, the information
-can either be used or overridden by the deployment descriptor. GlassFish
-Server supports annotation according to the following specifications:
-
-* http://www.jcp.org/en/jsr/detail?id=250[JSR 250 Common Annotation
-Specification]
-* http://www.jcp.org/en/jsr/detail?id=181[JSR 181 Annotation for Web
-Services Specification]
-* http://www.jcp.org/en/jsr/detail?id=318[EJB 3.1 Specification]
-
-The following annotation and deployment descriptor combinations are
-supported:
-
-* Java EE applications or modules can be packaged with full Java EE
-compliant standard and runtime deployment descriptors. If the standard
-deployment descriptors have specified the `metadata-complete` attribute,
-annotations in the application or module are ignored.
-* Java EE applications or modules can be fully annotated with metadata
-defined by the listed specifications. Annotation eliminates the need for
-Java EE standard deployment descriptors. In most cases, the GlassFish
-Server deployment descriptors are also not needed.
-* Java EE applications or modules can be partially annotated with some
-deployment information in standard deployment descriptors. In case of
-conflicts, deployment descriptor values supersede the annotated
-metadata, and a warning message is logged.
-
-[[gikhs]][[GSDPG00321]][[modules-and-applications]]
-
-Modules and Applications
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-An application is a logical collection of one or more modules joined by
-application annotations or deployment descriptors. You assemble
-components into JAR, WAR, or RAR files, then combine these files and,
-optionally, deployment descriptors into an Enterprise archive (EAR) file
-which is deployed.
-
-A module is a collection of one or more Java EE components that run in
-the same container type, such as a web container or EJB container. The
-module uses annotations or deployment descriptors of that container
-type. You can deploy a module alone or as part of an application.
-
-The following topics are addressed here:
-
-* link:#beacv[Types of Modules]
-* link:#beacu[Module-Based Deployment]
-* link:#beacw[Application-Based Deployment]
-
-[[beacv]][[GSDPG00307]][[types-of-modules]]
-
-Types of Modules
-++++++++++++++++
-
-GlassFish Server supports the following types of modules:
-
-* Web Module. A web module, also known as a web application, is a
-collection of servlets, EJBs, HTML pages, classes, and other resources
-that you can bundle and deploy to several Java EE application servers. A
-web application archive (WAR) file is the standard format for assembling
-web applications. A WAR file can consist of the following items:
-servlets, JavaServer Pages (JSP) files, JSP tag libraries, utility
-classes, static pages, client-side applets, beans, bean classes,
-enterprise bean classes, plus annotations or web deployment descriptors
-(`web.xml` and `glassfish-web.xml`).
-* EJB Module. An EJB module is a deployable software unit that consists
-of one or more enterprise beans, plus an EJB deployment descriptor. A
-Java archive (JAR) file is the standard format for assembling enterprise
-beans. An EJB JAR file contains the bean classes (home, remote, local,
-and implementation), all of the utility classes, and annotations or
-deployment descriptors (`ejb-jar.xml` and `glassfish-ejb-jar.xml`). If
-the EJB component is a version 2.1 or earlier entity bean with container
-managed persistence (CMP), you can also include a `.dbschema` file and a
-CMP mapping descriptor (`sun-cmp-mapping.xml`).
-* Connector Module. A connector module, also known as a resource adapter
-module, is a deployable software unit that provides a portable way for
-EJB components to access foreign enterprise information system (EIS)
-data. A connector module consists of all Java interfaces, classes, and
-native libraries for implementing a resource module, plus a resource
-deployment descriptor. A resource adapter archive (RAR) is the standard
-format for assembling connector modules. Each GlassFish Server connector
-has annotations or a deployment descriptor file (`ra.xml`). +
-After deploying a J2EE connector module, you must configure it as
-described in link:../application-development-guide/connectors.html#GSDVG00013[Developing Connectors] in GlassFish Server
-Open Source Edition Application Development Guide.
-* Application Client Module. An application client module is a
-deployable software unit that consists of one or more classes, and
-application client deployment descriptors (`application-client.xml` and
-`glassfish-application-client.xml`). An application client JAR file
-applies to a GlassFish Server type of Java EE client. An application
-client supports the standard Java EE Application Client specifications.
-* Lifecycle Module. A lifecycle module provides a means of running
-short-duration or long-duration Java-based tasks within the GlassFish
-Server environment. Lifecycle modules are not Java EE standard modules.
-See link:../application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing Lifecycle Listeners] in GlassFish Server
-Open Source Edition Application Development Guide for more information.
-
-[[beacu]][[GSDPG00308]][[module-based-deployment]]
-
-Module-Based Deployment
-+++++++++++++++++++++++
-
-You can deploy web, EJB, and application client modules separately,
-outside of any application. Module-based deployment is appropriate when
-components need to be accessed by other modules, applications, or
-application clients. Module-based deployment allows shared access to a
-bean from a web, EJB, or application client component.
-
-The following figure shows separately-deployed EJB, web, and application
-client modules.
-
-[[GSDPG00001]][[fwfdj]]
-
-
-.*Figure 1-1 Module-Based Assembly and Deployment*
-image:img/dgdeploy3.png[
-"Figure shows EJB, web, and application client module assembly and
-deployment."]
-
-
-[[beacw]][[GSDPG00309]][[application-based-deployment]]
-
-Application-Based Deployment
-++++++++++++++++++++++++++++
-
-Application-based deployment is appropriate when components need to work
-together as one unit.
-
-The following figure shows EJB, web, application client, and connector
-modules assembled into a Java EE application.
-
-[[GSDPG00002]][[fvyip]]
-
-
-.*Figure 1-2 Application-Based Assembly and Deployment*
-image:img/dgdeploya.png[
-"Figure shows Java EE application assembly and deployment."]
-
-
-[[gijla]][[GSDPG00322]][[access-to-shared-framework-classes]]
-
-Access to Shared Framework Classes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you assemble a large, shared library into every module that uses it,
-the result is a huge file that takes too long to register with the
-server. In addition, several versions of the same class could exist in
-different class loaders, which is a waste of resources. When Java EE
-applications and modules use shared framework classes (such as utility
-classes and libraries), the classes can be put in the path for the
-common class loader or an application-specific class loader rather than
-in an application or module.
-
-To specify an application-specific library file during deployment, use
-the `--libraries` option of the `deploy` or `redeploy` subcommand of the
-`asadmin` command. To add a library JAR file to the Common class loader
-directory, the Java optional package directory, or the
-application-specific class loader directory, use the `add-library`
-subcommand. You can then list the libraries with `list-libraries` and
-remove the libraries with `remove-library`. For more information about
-all these commands, see the GlassFish Server Open Source Edition
-Reference Manual.
-
-For more information about class loaders, see link:../application-development-guide/class-loaders.html#GSDVG00003[Class
-Loaders] in GlassFish Server Open Source Edition Application Development
-Guide.
-
-
-[NOTE]
-=======================================================================
-
-According to the Java EE specification, section 8.1.1.2, "Dependencies,"
-you cannot package utility classes within an individually-deployed EJB
-module. Instead, you must package the EJB module and utility JAR within
-an application using the JAR Extension Mechanism Architecture.
-
-=======================================================================
-
-
-[[gihzk]][[GSDPG00323]][[naming-standards]]
-
-Naming Standards
-^^^^^^^^^^^^^^^^
-
-Names of applications and individually-deployed modules must be unique
-within a GlassFish Server domain. Modules within an application must
-have unique names. In addition, for enterprise beans that use
-container-managed persistence (CMP), the `.dbschema` file names must be
-unique within an application.
-
-You should use a hierarchical naming scheme for module file names, EAR
-file names, module names as found in the `module-name` portion of the
-`ejb-jar.xml` files, and EJB names as found in the `ejb-name` portion of
-the `ejb-jar.xml` files. This hierarchical naming scheme ensures that
-name collisions do not occur. The benefits of this naming practice apply
-not only to GlassFish Server, but to other Java EE application servers
-as well.
-
-The following topics are addressed here:
-
-* link:#gjjfg[Portable Naming]
-* link:#giidg[JNDI Naming]
-* link:#beada[Directory Structure]
-* link:#giiel[JSR 88 Naming]
-
-[[gjjfg]][[GSDPG00310]][[portable-naming]]
-
-Portable Naming
-+++++++++++++++
-
-Starting in Java EE 6, the Java EE specification defines the portable
-`application-name`, which allows you to specify an application name in
-the `application.xml` file. For example:
-
-[source,oac_no_warn]
-----
-<application-name>xyz</application-name>
-----
-
-The Java EE specification also defines the portable `module-name`
-element in the module standard deployment descriptors.
-
-GlassFish Server determines the application registration name according
-to the following order of precedence:
-
-1.  The name specified at deployment time in the Administration Console
-or in the `--name` option of the `asadmin deploy` command is used.
-2.  If no name is specified at deployment time, the portable
-`application-name` or `module-name` in the Java EE deployment descriptor
-is used.
-3.  If no name is specified at deployment time or in the deployment
-descriptors, the archive name, minus the file type suffix, is used.
-
-[[giidg]][[GSDPG00311]][[jndi-naming]]
-
-JNDI Naming
-+++++++++++
-
-Java Naming and Directory Interface (JNDI) lookup names for EJB
-components must also be unique. Establishing a consistent naming
-convention can help. For example, appending the application name and the
-module name to the EJB name is a way to guarantee unique names, such as,
-`jms/qConnPool`.
-
-[[beada]][[GSDPG00312]][[directory-structure]]
-
-Directory Structure
-+++++++++++++++++++
-
-Application and module directory structures must follow the structure
-outlined in the Java EE specification. During deployment, the
-application or module is expanded from the archive file to an open
-directory structure. The directories that hold the individual modules
-are named with `_jar`, `_rar`, and `_war` suffixes.
-
-If you deploy a directory instead of an EAR file, your directory
-structure must follow this same convention. For instructions on
-performing directory deployment, see
-link:deploying-applications.html#gilcn[To Deploy an Application or Module
-in a Directory Format].
-
-
-[[gkhhv]][[GSDPG00324]][[module-and-application-versions]]
-
-Module and Application Versions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Application and module versioning allows multiple versions of the same
-application to exist in a GlassFish Server domain, which simplifies
-upgrade and rollback tasks. At most one version of an application or
-module can be enabled on a server any given time. Versioning provides
-extensions to tools for deploying, viewing, and managing multiple
-versions of modules and applications, including the Administration
-Console and deployment-related `asadmin` subcommands. Different versions
-of the same module or application can have the same context root or JNDI
-name. Use of versioning is optional.
-
-The following topics are addressed here:
-
-* link:#gkhmg[Version Identifiers and Expressions]
-* link:#gkhmm[Choosing the Enabled Version]
-* link:#gkhob[Versioning Restrictions and Limitations]
-
-[[gkhmg]][[GSDPG00314]][[version-identifiers-and-expressions]]
-
-Version Identifiers and Expressions
-+++++++++++++++++++++++++++++++++++
-
-The version identifier is a suffix to the module or application name. It
-is separated from the name by a colon (`:`). It must begin with a letter
-or number. It can contain alphanumeric characters plus underscore (`_`),
-dash (`-`), and period (`.`) characters. The following examples show
-valid version identifiers for the `foo` application:
-
-[source,oac_no_warn]
-----
-foo:1
-foo:BETA-2e
-foo:3.8
-foo:patch39875
-----
-
-A module or application without a version identifier is called the
-untagged version. This version can coexist with other versions of the
-same module or application that have version identifiers.
-
-In some deployment-related `asadmin` commands, you can use an asterisk
-(`*`) as a wildcard character to specify a version expression, which
-selects multiple version identifiers. Using the asterisk by itself after
-the colon selects all versions of a module or application, including the
-untagged version. The following table shows example version expressions
-and the versions they select.
-
-[width="100%",cols="33%,67%",options="header",]
-|==============================================================
-|Version Expression |Selected Versions
-|`foo:*` |All versions of `foo`, including the untagged version
-|`foo:BETA*` |All `BETA` versions of `foo`
-|`foo:3.*` |All `3.`x versions of `foo`
-|`foo:patch*` |All `patch` versions of `foo`
-|==============================================================
-
-
-The following table summarizes which `asadmin` subcommands are
-identifier-aware or expression-aware. All expression-aware subcommands
-are also identifier-aware.
-
-[width="100%",cols="50%,50%",options="header",]
-|======================================================================
-|Identifier-Aware Subcommands |Expression-Aware Subcommands
-|`deploy`, `deploydir`, `redeploy` |`undeploy`
-|`enable` |`disable`
-|`list-sub-components` |`show-component-status`
-|`get-client-stubs` |`create-application-ref`, `delete-application-ref`
-|======================================================================
-
-
-The `create-application-ref` subcommand is expression-aware only if the
-`--enabled` option is set to `false`. Because the `--enabled` option is
-set to `true` by default, the `create-application-ref` subcommand is
-identifier-aware by default.
-
-The `list-applications` and `list-application-refs` subcommands display
-information about all deployed versions of a module or application. To
-find out which version is enabled, use the `--long` option.
-
-[[gkhmm]][[GSDPG00315]][[choosing-the-enabled-version]]
-
-Choosing the Enabled Version
-++++++++++++++++++++++++++++
-
-At most one version of a module or application can be enabled on a
-server instance. All other versions are disabled. Enabling one version
-automatically disables all others. You can disable all versions of a
-module or application, leaving none enabled.
-
-The `--enabled` option of the `deploy` and `redeploy` subcommands is set
-to `true` by default. Therefore, simply deploying or redeploying a
-module or application with a new version identifier enables the new
-version and disables all others. To deploy a new version in a disabled
-state, set the `--enabled` option to `false`.
-
-To enable a version that has been deployed previously, use the `enable`
-subcommand.
-
-[[gkhob]][[GSDPG00316]][[versioning-restrictions-and-limitations]]
-
-Versioning Restrictions and Limitations
-+++++++++++++++++++++++++++++++++++++++
-
-Module and application versioning in GlassFish Server is subject to the
-following restrictions and limitations:
-
-* Use of the `--name` option is mandatory for modules and applications
-that use versioning. There is no automatic version identifier
-generation.
-* GlassFish Server does not recognize any relationship between versions
-such as previous or later versions. All version relationships must be
-tracked manually.
-* There is no limit to the number of versions you can deploy except what
-is imposed by disk space limits.
-* A module or application in a directory should not be deployed twice
-with a different version identifier. To redeploy a module or application
-from a directory with a new version, you must use the `--force` option
-of the `deploy` subcommand.
-* Database tables created or deleted as part of deployment and
-undeployment are global resources and cannot be qualified by an
-application version. Be very careful when using global resources among
-versions of the same application.
-* Web sessions are preserved during redeployment of a new version.
-However, preserving sessions among different versions of the same module
-or application is complex, because the key used for session variables is
-the same for the old and new versions.
-* Resources are created with reference to a resource-adapter's module or
-application name. This means that an older version's resources do not
-automatically refer to a newer version of the module or application.
-Therefore, you must explicitly create resources for a newer version of a
-module or application. GlassFish Server ignores duplicate exported
-global resources and lets deployment succeed.
-* OSGi already has its own versioning system. Therefore, when you deploy
-an OSGi bundle, GlassFish Server ignores any version information
-provided with the name but permits the deployment to succeed with
-warnings.
-
-[[giphm]][[GSDPG00062]][[about-assembly-and-deployment-events]]
-
-About Assembly and Deployment Events
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The deployment tools that are provided by GlassFish Server can be used
-by any user authorized as an administrator to deploy applications and
-modules into any GlassFish Server environment. However, effective
-application deployment requires planning and care. Only the developer
-knows exactly what is required by an application, so the developer is
-responsible for initial assembly and deployment.
-
-1.  Deployment Descriptor or Annotation Creation. The developer creates
-the deployment descriptors or equivalent annotations using Java
-standards and tools. +
-Details of the GlassFish Server deployment descriptors are contained in
-link:dd-files.html#giida[GlassFish Server Deployment Descriptor Files]
-and link:dd-elements.html#beaqi[Elements of the GlassFish Server
-Deployment Descriptors]. The GlassFish Server sample applications
-contain deployment descriptors that can be used as templates for
-developing deployment descriptors.
-2.  Assembly. The developer assembles the archive file(s) using Java
-standards and tools, such as the `jar` command. The application or
-module is packaged into a JAR, WAR, RAR, or EAR file. For guidelines on
-naming, see link:#gihzk[Naming Standards]. +
-There are no GlassFish Server issues to consider.
-3.  Test Deployment. The developer performs a test deployment of the
-archive. For instructions, see link:deploying-applications.html#gijmq[To
-Deploy an Application or Module].
-4.  Archive Submission. The developer submits the verified archive to
-the administrator for deployment into a production environment. The
-developer includes instructions for any additional deployment tasks that
-the administrator must perform. For an example of such additional
-instructions, see link:#gijla[Access to Shared Framework Classes].
-5.  Configuration. The administrator applies additional deployment
-specifics. Sometimes the developer has indicated additional deployment
-needs, such as specifying the production database. In this case, the
-administrator edits and reassembles the archive.
-6.  Production Deployment. The administrator deploys the archive to
-production. See link:deploying-applications.html#gijmq[To Deploy an
-Application or Module].
-7.  Troubleshooting. If deployment fails, the administrator returns the
-archive to the developer. The developer fixes the problem and resubmits
-the archive to the administrator. Sometimes the administrator resolves
-the problem, depending on what the problem is.
-
-[[giifh]][[GSDPG00063]][[about-deployment-tools]]
-
-About Deployment Tools
-~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server provides tools for assembling and deploying a module or
-application.
-
-The following topics are addressed here:
-
-* link:#giijz[Administration Console]
-* link:#giijf[The `asadmin` Utility]
-* link:#giijq[NetBeans IDE]
-* link:#gikwq[Eclipse IDE]
-* link:#beaee[JSR 88 Client]
-
-[[giijz]][[GSDPG00325]][[administration-console]]
-
-Administration Console
-^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server Administration Console is a browser-based utility
-that features a graphical interface that includes extensive online help
-for the administrative tasks. The format for starting the Administration
-Console in a web browser is `http://`hostname`:`port. For example:
-
-[source,oac_no_warn]
-----
-http://localhost:4848
-----
-
-Step-by-step instructions for using the Administration Console for
-deployment are provided in the Administration Console online help. You
-can display the help material for a page by clicking the Help button.
-The initial help page describes the functions and fields of the page
-itself. To find instructions for performing associated tasks, click a
-link in the See Also list.
-
-[[giijf]][[GSDPG00326]][[the-asadmin-utility]]
-
-The `asadmin` Utility
-^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server `asadmin` utility is a command-line tool that
-invokes subcommands for identifying the operation or task that you want
-to perform. You can run `asadmin` commands either from a command prompt
-or from a script. The format for starting the `asadmin` utility on the
-command line is as-install`/bin/asadmin` subcommand --option. For
-example:
-
-[source,oac_no_warn]
-----
-asadmin list-applications --type web
-----
-
-Application deployment commands are listed in
-link:asadmin-deployment-subcommands.html#gihzw[The `asadmin` Deployment
-Subcommands]. All GlassFish Server `asadmin` subcommands are documented
-in the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference
-Manual].
-
-For the most part, you can perform the same administrative tasks by
-using either the graphical Administration Console or the `asadmin`
-command-line utility, however, there are exceptions. Procedures for
-using the command-line utilities are provided in this guide and in the
-command-line help pages, which are similar to man pages. You can display
-the help material for a command by typing help followed by the
-subcommand. For example:
-
-[source,oac_no_warn]
-----
-asadmin help list-applications
-----
-
-For additional information on the `asadmin` utility, see
-"link:../administration-guide/general-administration.html#GSADG00530[Using the `asadmin` Utility]" in GlassFish Server Open
-Source Edition Administration Guide and the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
-
-[[giijq]][[GSDPG00329]][[netbeans-ide]]
-
-NetBeans IDE
-^^^^^^^^^^^^
-
-You can use the NetBeans Integrated Development Environment (IDE), or
-another IDE, to assemble Java EE applications and modules. The NetBeans
-IDE is included in the tools bundle of the Java EE Software Development
-Kit (SDK). To download, see
-`http://www.oracle.com/technetwork/java/javaee/downloads/index.html`.
-For additional information, see `http://www.netbeans.org`.
-
-[[gikwq]][[GSDPG00330]][[eclipse-ide]]
-
-Eclipse IDE
-^^^^^^^^^^^
-
-In addition to the bundled NetBeans IDE, a plug-in for the Eclipse IDE
-extends GlassFish to the Eclipse community.
-
-[[beaee]][[GSDPG00331]][[jsr-88-client]]
-
-JSR 88 Client
-^^^^^^^^^^^^^
-
-The syntax of the URI entry for the `getDeploymentManager` method is as
-follows:
-
-[source,oac_no_warn]
-----
-deployer:Sun:AppServer::admin-host:admin-port[:https]
-----
-
-For example:
-
-[source,oac_no_warn]
-----
-deployer:Sun:AppServer::localhost:4848:https
-----
-
-[[gipud]][[GSDPG00064]][[additional-information-on-application-deployment]]
-
-Additional Information on Application Deployment
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-As specified from Java EE 8 specifications, the relevant specifications
-are the following:
-
-* Java Platform, Enterprise Edition 8 Specification +
-`https://jcp.org/en/jsr/detail?id=366`
-* Java EE Application Deployment JSR 88 Specification +
-`http://jcp.org/en/jsr/detail?id=88`
-* Common Annotations for the Java Platform 1.6 Specification +
-`http://jcp.org/en/jsr/detail?id=250`
-* Java Servlet 3.0 Specification +
-`http://jcp.org/en/jsr/detail?id=315`
-* Enterprise JavaBeans 3.1 Specification +
-`http://jcp.org/en/jsr/detail?id=318`
-* Java EE Connector Architecture 1.6 Specification +
-`http://jcp.org/en/jsr/detail?id=322`
-
-The following product documentation might be relevant to some aspects of
-application deployment:
-
-* link:../application-development-guide/toc.html#GSDVG[GlassFish Server Open Source Edition Application
-Development Guide]
-* link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide]
-* link:../add-on-component-development-guide/toc.html#GSACG[GlassFish Server Open Source Edition Add-On Component
-Development Guide]
-* link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual]
-* GlassFish Server Administration Console online help
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/preface.adoc b/docs/application-deployment-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index d80420d..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,292 +0,0 @@
-type=page
-status=published
-title=Preface
-next=overview.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSDPG806]][[sthref2]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This Application Deployment Guide describes deployment of applications
-and application components to GlassFish Server Open Source Edition, and
-includes information about deployment descriptors.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 5.0 is developed through the GlassFish project
-open-source community at `https://github.com/javaee/glassfish`. The
-GlassFish project provides a structured process for developing the
-GlassFish Server platform that makes the new features of the Java EE
-platform available faster, while maintaining the most important feature
-of Java EE: compatibility. It enables Java developers to access the
-GlassFish Server source code and to contribute to the development of the
-GlassFish Server. The GlassFish project is designed to encourage
-communication between Oracle engineers and the community.
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[GSDPG00053]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-|=======================================================================
-
-
-[[GSDPG00054]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* https://javaee.github.io/firstcup/[Your First Cup: An Introduction to
-the Java EE Platform] (`https://javaee.github.io/firstcup/`). For
-beginning Java EE programmers, this short tutorial explains the entire
-process for developing a simple enterprise application. The sample
-application is a web application that consists of a component that is
-based on the Enterprise JavaBeans specification, a JAX-RS web service,
-and a JavaServer Faces component for the web front end.
-* https://javaee.github.io/tutorial/[The Java EE 8 Tutorial]
-(`https://javaee.github.io/tutorial/`). This comprehensive tutorial
-explains how to use Java EE 8 platform technologies and APIs to develop
-Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 8 of Java EE is located at
-`https://javaee.github.io/javaee-spec/`.
-* The API specification for GlassFish Server 5.0, including Java EE 8
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`https://javaee.github.io/glassfish/documentation`.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Apache Derby database for use with the
-GlassFish Server, see the
-http://www.oracle.com/technetwork/java/javadb/overview/index.html[Apache
-Derby product page] (`http://db.apache.org/derby/`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the https://github.com/javaee/glassfish-samples[Java EE
-Samples project page] (`https://github.com/javaee/glassfish-samples`).
-
-[[GSDPG00055]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSDPG00056]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSDPG00057]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="14%,34%,52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
-
diff --git a/docs/application-deployment-guide/src/main/jbake/content/title.adoc b/docs/application-deployment-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 4aaf46e..0000000
--- a/docs/application-deployment-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,47 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Application Deployment Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Application Deployment Guide, Release 5.1
-==================================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Application Deployment Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This Application Deployment Guide describes deployment of applications
-and application components to Eclipse GlassFish Server, and
-includes information about deployment descriptors.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Application Deployment Guide,
-Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/application-deployment-guide/src/main/jbake/jbake.properties b/docs/application-deployment-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/application-deployment-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/application-deployment-guide/src/main/jbake/templates/footer.ftl b/docs/application-deployment-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/application-deployment-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/application-deployment-guide/src/main/jbake/templates/header.ftl b/docs/application-deployment-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/application-deployment-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/application-deployment-guide/src/main/jbake/templates/menu.ftl b/docs/application-deployment-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/application-deployment-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/application-deployment-guide/src/main/jbake/templates/page.ftl b/docs/application-deployment-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/application-deployment-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/application-development-guide/README.md b/docs/application-development-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/application-development-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/application-development-guide/pom.xml b/docs/application-development-guide/pom.xml
index c60bea6..579d2ae 100644
--- a/docs/application-development-guide/pom.xml
+++ b/docs/application-development-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>application-development-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Application Development Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Application Development Guide, Release 7</name>
 </project>
diff --git a/docs/application-development-guide/src/main/asciidoc/class-loaders.adoc b/docs/application-development-guide/src/main/asciidoc/class-loaders.adoc
new file mode 100644
index 0000000..03f3503
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/class-loaders.adoc
@@ -0,0 +1,412 @@
+type=page
+status=published
+title=Class Loaders
+next=debugging-apps.html
+prev=setting-up-dev-env.html
+~~~~~~
+
+= Class Loaders
+
+[[GSDVG00003]][[beade]]
+
+
+[[class-loaders]]
+== 2 Class Loaders
+
+Understanding {productName} class loaders can help you
+determine where to place supporting JAR and resource files for your
+modules and applications.
+
+In a JVM implementation, the class loaders dynamically load a specific
+Java class file needed for resolving a dependency. For example, when an
+instance of `java.util.Enumeration` needs to be created, one of the
+class loaders loads the relevant class into the environment.
+
+The following topics are addressed here:
+
+* link:#beadf[The Class Loader Hierarchy]
+* link:#gfqpi[Delegation]
+* link:#beadk[Using the Java Optional Package Mechanism]
+* link:#beadg[Class Loader Universes]
+* link:#gatej[Application-Specific Class Loading]
+* link:#beadh[Circumventing Class Loader Isolation]
+
+
+[NOTE]
+====
+The Web Profile of the {productName} supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The full {productName} supports the entire EJB
+3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318]
+(`http://jcp.org/en/jsr/detail?id=318`).
+====
+
+
+For information about class loader debugging, see
+link:debugging-apps.html#gkpdk[Class Loader Debugging].
+
+[[beadf]][[GSDVG00094]][[the-class-loader-hierarchy]]
+
+=== The Class Loader Hierarchy
+
+Class loaders in the {productName} runtime follow a delegation
+hierarchy that is illustrated in the following figure and fully
+described in link:#fvxzq[Table 2-1].
+
+The following table describes the class loaders in the {productName}.
+
+[[GSDVG531]][[sthref4]][[fvxzq]]
+
+
+Table 2-1 {productName} Class Loaders
+
+[width="100%",cols="20%,80%",options="header",]
+|===
+|Class Loader |Description
+|Bootstrap |The Bootstrap class loader loads the basic runtime classes
+provided by the JVM software.
+
+|Extension |The Extension class loader loads classes from JAR files
+present in the system extensions directory, domain-dir``/lib/ext``. It is
+parent to the Public API class loader. See link:#beadk[Using the Java
+Optional Package Mechanism].
+
+|Public API |The Public API class loader makes available all classes
+specifically exported by the {productName} runtime for use by
+deployed applications. This includes, but is not limited to, Jakarta EE
+APIs and other Oracle APIs. It is parent to the Common class loader.
+
+|Common |The Common class loader loads JAR files in the as-install``/lib``
+directory, followed by JAR files in the domain-dir``/lib`` directory.
+Using domain-dir``/lib`` is recommended whenever possible, and required
+for custom login modules and realms. It is parent to the Connector class
+loader. See link:#beadj[Using the Common Class Loader].
+
+|Connector |The Connector class loader is a single class loader instance
+that loads individually deployed connector modules, which are shared
+across all applications. It is parent to the Applib class loader and the
+LifeCycleModule class loader.
+
+|LifeCycleModule |The LifeCycleModule class loader is created once per
+lifecycle module. Each lifecycle module's classpath is used to construct
+its own class loader. For more information on lifecycle modules, see
+link:lifecycle-listeners.html#beamc[Developing Lifecycle Listeners].
+
+|Applib a|
+The Applib class loader loads the library classes, specified during
+deployment, for a specific enabled module or Jakarta EE application; see
+link:#gatej[Application-Specific Class Loading]. One instance of this
+class loader is present in each class loader universe; see
+link:#beadg[Class Loader Universes]. It is parent to the Archive class loader.
+
+When multiple deployed applications use the same library, they share the
+same instance of the library. One library cannot reference classes from
+another library.
+
+|Archive |The Archive class loader loads classes from the WAR, EAR, and
+JAR files or directories (for directory deployment) of applications or
+modules deployed to the {productName}. This class loader also loads
+any application-specific classes generated by the {productName}
+runtime, such as stub classes or servlets generated by JSP pages.
+|===
+
+
+In previous {productName} versions, the JVM options provided
+`classpath-prefix` and `classpath-suffix` attributes that made it
+possible to add JAR files or directories either in front of, or after
+the application server's system `classpath`. These options are not
+present in {productName} 6.0.
+
+The `classpath-prefix` was typically used to substitute another package
+for one of the {productName} packages, for example if a newer one was
+available. This same result can be achieved on a per-application basis with the
+`--libraries` option for the `deploy` subcommand. For more information,
+see the link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)] help page.
+The Java Optional Package Mechanism does what `classpath-suffix` used to do. For more
+information, see link:#beadk[Using the Java Optional Package Mechanism].
+
+[[gfqpi]][[GSDVG00095]][[delegation]]
+
+=== Delegation
+
+Note that the class loader hierarchy is not a Java inheritance
+hierarchy, but a delegation hierarchy. In the delegation design, a class
+loader delegates class loading to its parent before attempting to load a
+class itself. If the parent class loader cannot load a class, the class
+loader attempts to load the class itself. In effect, a class loader is
+responsible for loading only the classes not available to the parent.
+Classes loaded by a class loader higher in the hierarchy cannot refer to
+classes available lower in the hierarchy.
+
+The Java Servlet specification recommends that a web module's class
+loader look in the local class loader before delegating to its parent.
+You can make this class loader follow the delegation inversion model in
+the Servlet specification by setting `delegate="false"` in the
+`class-loader` element of the `glassfish-web.xml` file. It is safe to do
+this only for a web module that does not interact with any other
+modules. For details, see "link:application-deployment-guide/dd-elements.html#GSDPG00110[class-loader]" in {productName} Application Deployment Guide.
+
+The default value is `delegate="true"`, which causes a web module's
+class loader to delegate in the same manner as the other class loaders.
+You must use `delegate="true"` for a web application that accesses EJB
+components or that acts as a web service client or endpoint. For details
+about `glassfish-web.xml`, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+For a number of packages, including `java.*` and `javax.*`, symbol
+resolution is always delegated to the parent class loader regardless of
+the `delegate` setting. This prevents applications from overriding core
+Java runtime classes or changing the API versions of specifications that
+are part of the Jakarta EE platform.
+
+[[beadk]][[GSDVG00096]][[using-the-java-optional-package-mechanism]]
+
+=== Using the Java Optional Package Mechanism
+
+Optional packages are packages of Java classes and associated native
+code that application developers can use to extend the functionality of
+the core platform.
+
+To use the Java optional package mechanism, copy the JAR files into the
+domain-dir``/lib/ext`` directory, or use the `asadmin add-library` command
+with the `--type ext` option, then restart the server. For more
+information about the `asadmin add-library` command, see the {productName} Reference Manual.
+
+For more information, see
+http://docs.oracle.com/javase/8/docs/technotes/guides/extensions/extensions.html[Optional
+Packages - An Overview]
+(`http://docs.oracle.com/javase/8/docs/technotes/guides/extensions/extensions.html`)
+and
+http://download.oracle.com/javase/tutorial/ext/basics/load.html[Understanding
+Extension Class Loading]
+(`http://docs.oracle.com/javase/tutorial/ext/basics/load.html`).
+
+[[gchif]][[GSDVG00097]][[using-the-endorsed-standards-override-mechanism]]
+
+=== Using the Endorsed Standards Override Mechanism
+
+Endorsed standards handle changes to classes and APIs that are bundled
+in the JDK but are subject to change by external bodies.
+
+To use the endorsed standards override mechanism, copy the JAR files
+into the domain-dir`/lib/endorsed` directory, then restart the server.
+
+For more information and the list of packages that can be overridden,
+see
+http://docs.oracle.com/javase/8/docs/technotes/guides/standards/[Endorsed
+Standards Override Mechanism]
+(`http://docs.oracle.com/javase/8/docs/technotes/guides/standards/`).
+
+[[beadg]][[GSDVG00098]][[class-loader-universes]]
+
+=== Class Loader Universes
+
+Access to components within applications and modules installed on the
+server occurs within the context of isolated class loader universes,
+each of which has its own Applib and Archive class loaders.
+
+* Application Universe - Each Jakarta EE application has its own class
+loader universe, which loads the classes in all the modules in the
+application.
+* Individually Deployed Module Universe - Each individually deployed EJB
+JAR or web WAR has its own class loader universe, which loads the
+classes in the module.
+
+A resource such as a file that is accessed by a servlet, JSP, or EJB
+component must be in one of the following locations:
+
+* A directory pointed to by the Libraries field or `--libraries` option
+used during deployment
+* A directory pointed to by the `library-directory` element in the
+`application.xml` deployment descriptor
+* A directory pointed to by the application or module's classpath; for
+example, a web module's classpath includes these directories:
++
+[source]
+----
+module-name/WEB-INF/classes
+module-name/WEB-INF/lib
+----
+
+[[gatej]][[GSDVG00099]][[application-specific-class-loading]]
+
+=== Application-Specific Class Loading
+
+You can specify module- or application-specific library classes in one
+of the following ways:
+
+* Use the Administration Console. Open the Applications component, then
+go to the page for the type of application or module. Select the Deploy
+button. Type the comma-separated paths in the Libraries field. For
+details, click the Help button in the Administration Console.
+* Use the `asadmin deploy` command with the `--libraries` option and
+specify comma-separated paths. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Use the `asadmin add-library` command with the `--type app` option,
+then restart the server. For details, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+
+[NOTE]
+====
+None of these alternatives apply to application clients. For more
+information, see link:java-clients.html#gjpjt[Using Libraries with
+Application Clients].
+====
+
+
+You can update a library JAR file using dynamic reloading or by
+restarting (disabling and re-enabling) a module or application. To add
+or remove library JAR files, you can redeploy the module or application.
+
+Application libraries are included in the Applib class loader. Paths to
+libraries can be relative or absolute. A relative path is relative to
+domain-dir`/lib/applibs`. If the path is absolute, the path must be
+accessible to the domain administration server (DAS). The {productName} automatically synchronizes these libraries to all remote cluster
+instances when the cluster is restarted. However, libraries specified by
+absolute paths are not guaranteed to be synchronized.
+
+
+[TIP]
+====
+You can use application-specific class loading to specify a different
+XML parser than the default {productName} XML parser.
+
+You can also use application-specific class loading to access different
+versions of a library from different applications.
+====
+
+
+If multiple applications or modules refer to the same libraries, classes
+in those libraries are automatically shared. This can reduce the memory
+footprint and allow sharing of static information. However, applications
+or modules using application-specific libraries are not portable. Other
+ways to make libraries available are described in
+link:#beadh[Circumventing Class Loader Isolation].
+
+One library cannot reference classes from another library.
+
+For general information about deployment, including dynamic reloading,
+see the link:application-deployment-guide.html#GSDPG[{productName} Application
+Deployment Guide].
+
+
+[NOTE]
+====
+If you see an access control error message when you try to use a
+library, you may need to grant permission to the library in the
+`server.policy` file. For more information, see
+link:securing-apps.html#beabz[Changing Permissions for an Application].
+====
+
+
+[[beadh]][[GSDVG00100]][[circumventing-class-loader-isolation]]
+
+=== Circumventing Class Loader Isolation
+
+Since each application or individually deployed module class loader
+universe is isolated, an application or module cannot load classes from
+another application or module. This prevents two similarly named classes
+in different applications or modules from interfering with each other.
+
+To circumvent this limitation for libraries, utility classes, or
+individually deployed modules accessed by more than one application, you
+can include the relevant path to the required classes in one of these
+ways:
+
+* link:#beadj[Using the Common Class Loader]
+* link:#gcrnt[Sharing Libraries Across a Cluster]
+* link:#beadl[Packaging the Client JAR for One Application in Another
+Application]
+
+[[beadj]][[GSDVG00342]][[using-the-common-class-loader]]
+
+==== Using the Common Class Loader
+
+To use the Common class loader, copy the JAR files into the
+domain-dir``/lib`` or as-install``/lib`` directory, or use the
+`asadmin add-library` command with the `--type common` option, then
+restart the server. For more information about the `asadmin add-library`
+command, see the {productName} Reference Manual.
+
+Using the Common class loader makes an application or module accessible
+to all applications or modules deployed on servers that share the same
+configuration. However, this accessibility does not extend to
+application clients. For more information, see
+link:java-clients.html#gjpjt[Using Libraries with Application Clients].
+
+For example, using the Common class loader is the recommended way of
+adding JDBC drivers to the {productName}. For a list of the JDBC
+drivers currently supported by the {productName}, see the
+link:release-notes.html#GSRLN[{productName} Release Notes]. For
+configurations of supported and other drivers, see
+"link:administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
+{productName} Administration Guide.
+
+To activate custom login modules and realms, place the JAR files in the
+domain-dir``/lib`` directory, then restart the server.
+
+[[gcrnt]][[GSDVG00343]][[sharing-libraries-across-a-cluster]]
+
+==== Sharing Libraries Across a Cluster
+
+To share libraries across a specific cluster, copy the JAR files to the
+domain-dir``/config/``cluster-config-name``/lib`` directory.
+
+[[beadl]][[GSDVG00344]][[packaging-the-client-jar-for-one-application-in-another-application]]
+
+==== Packaging the Client JAR for One Application in Another Application
+
+By packaging the client JAR for one application in a second application,
+you allow an EJB or web component in the second application to call an
+EJB component in the first (dependent) application, without making
+either of them accessible to any other application or module.
+
+As an alternative for a production environment, you can have the Common
+class loader load the client JAR of the dependent application as
+described in link:#beadj[Using the Common Class Loader]. Restart the
+server to make the dependent application accessible to all applications
+or modules deployed on servers that share the same configuration.
+
+[[fvyab]][[GSDVG00048]][[to-package-the-client-jar-for-one-application-in-another-application]]
+
+==== To Package the Client JAR for One Application in Another Application
+
+1. Deploy the dependent application.
+2. Add the dependent application's client JAR file to the calling
+application.
+* For a calling EJB component, add the client JAR file at the same level
+as the EJB component. Then add a `Class-Path` entry to the `MANIFEST.MF`
+file of the calling EJB component. The `Class-Path` entry has this
+syntax:
++
+[source]
+----
+Class-Path: filepath1.jar filepath2.jar ...
+----
+Each filepath is relative to the directory or JAR file containing the
+`MANIFEST.MF` file. For details, see the Jakarta EE specification.
+* For a calling web component, add the client JAR file under the
+`WEB-INF/lib` directory.
+3. If you need to package the client JAR with both the EJB and web
+components, set `delegate="true"` in the `class-loader` element of the
+`glassfish-web.xml` file.
++
+This changes the Web class loader so that it follows the standard class
+loader delegation model and delegates to its parent before attempting to
+load a class itself.
++
+For most applications, packaging the client JAR file with the calling
+EJB component is sufficient. You do not need to package the client JAR
+file with both the EJB and web components unless the web component is
+directly calling the EJB component in the dependent application.
+4. Deploy the calling application.
++
+The calling EJB or web component must specify in its
+`glassfish-ejb-jar.xml` or `glassfish-web.xml` file the JNDI name of the
+EJB component in the dependent application. Using an `ejb-link` mapping
+does not work when the EJB component being called resides in another
+application.
++
+You do not need to restart the server.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/connectors.adoc b/docs/application-development-guide/src/main/asciidoc/connectors.adoc
new file mode 100644
index 0000000..837bf0b
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/connectors.adoc
@@ -0,0 +1,651 @@
+type=page
+status=published
+title=Developing Connectors
+next=lifecycle-listeners.html
+prev=java-clients.html
+~~~~~~
+
+= Developing Connectors
+
+[[GSDVG00013]][[bealk]]
+
+
+[[developing-connectors]]
+== 11 Developing Connectors
+
+This chapter describes {productName} support for the Jakarta EE
+Connector Architecture, also known as
+http://jcp.org/en/jsr/detail?id=322[JSR 322]
+(`http://jcp.org/en/jsr/detail?id=322`).
+
+The Jakarta EE Connector Architecture provides a Java solution to the
+problem of connectivity between multiple application servers and
+existing enterprise information systems (EISs). By using the Jakarta EE
+Connector architecture, EIS vendors no longer need to customize their
+product for each application server. Application server vendors who
+conform to the Jakarta EE Connector architecture do not need to write
+custom code to add connectivity to a new EIS.
+
+This chapter uses the terms connector and resource adapter
+interchangeably. Both terms refer to a resource adapter module that is
+developed in conformance with the Jakarta EE Connector Architecture
+Specification.
+
+[NOTE]
+====
+If you installed the Web Profile, connector modules that use only
+outbound communication features and work-management that does not
+involve inbound communication features are supported. Other connector
+features are supported only in the full {productName}.
+====
+For more information about connectors, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#resource-adapters-and-contracts[
+Resource Adapters and Contracts] in The Jakarta EE Tutorial.
+
+For information about deploying a connector to the {productName}, see
+the link:application-deployment-guide.html#GSDPG[
+{productName} Application Deployment Guide].
+
+The following topics are addressed here:
+
+* link:#beall[Connector Support in the {productName}]
+* link:#bealr[Advanced Connector Configuration Options]
+* link:#bealz[Inbound Communication Support]
+* link:#gizdm[Outbound Communication Support]
+* link:#beama[Configuring a Message Driven Bean to Use a Resource Adapter]
+
+[[beall]][[GSDVG00162]][[connector-support-in-the-glassfish-server]]
+
+=== Connector Support in the {productName}
+
+The {productName} supports the development and deployment of resource
+adapters that are compatible with the Connector 1.6 specification (and,
+for backward compatibility, the Connector 1.0 and 1.5 specifications).
+
+The Connector 1.0 specification defines the outbound connectivity system
+contracts between the resource adapter and the {productName}. The
+Connector 1.5 specification introduces major additions in defining
+system level contracts between the {productName} and the resource
+adapter with respect to inbound connectivity, life cycle management, and
+thread management. The Connector 1.6 specification introduces further
+additions in defining system level contracts between the {productName} and the resource adapter with respect to the following:
+
+* Generic work context contract — A generic contract that enables a
+resource adapter to control the execution context of a `Work` instance
+that it has submitted to the {productName} for execution. The
+`Generic` work contract provides the mechanism for a resource adapter to
+augment the runtime context of a `Work` instance with additional
+contextual information flown-in from the EIS. This contract enables a
+resource adapter to control, in a more flexible manner, the contexts in
+which the `Work` instances submitted by it are executed by the
+application server's `WorkManager`.
+* Security work context — A standard contract that enables a resource
+adapter to establish security information while submitting a `Work`
+instance for execution to a `WorkManager` and while delivering
+messages-to-message endpoints residing in the {productName}. This
+contract provides a mechanism to support the execution of a `Work`
+instance in the context of an established identity. It also supports the
+propagation of user information or Principal information from an EIS to
+a `MessageEndpoint` during message inflow.
+* Transaction context — The transaction context contract between the
+resource adapter and the application server leverages the Generic Work
+Context mechanism by describing a standard `WorkContext`, the
+`TransactionContext`. It represents the standard interface a resource
+adapter can use to propagate transaction context information from the
+EIS to the application server.
+
+[[bealm]][[GSDVG00474]][[connector-architecture-for-jms-and-jdbc]]
+
+==== Connector Architecture for JMS and JDBC
+
+In the Administration Console, connector, JMS, and JDBC resources are
+handled differently, but they use the same underlying Connector
+architecture. In the {productName}, all communication to an EIS,
+whether to a message provider or an RDBMS, happens through the Connector
+architecture. To provide JMS infrastructure to clients, the {productName} uses the Open Message Queue software. To provide JDBC
+infrastructure to clients, the {productName} uses its own JDBC system
+resource adapters. The {productName} automatically makes these system
+resource adapters available to any client that requires them.
+
+For more information about JMS in the {productName}, see
+link:jms.html#beaob[Using the Java Message Service]. For more information
+about JDBC in the {productName}, see link:jdbc.html#beamj[Using the
+JDBC API for Database Access].
+
+[[bealn]][[GSDVG00475]][[connector-configuration]]
+
+==== Connector Configuration
+
+The {productName} does not need to use `sun-ra.xml`, which previous
+{productName} versions used, to store server-specific deployment
+information inside a Resource Adapter Archive (RAR) file. (However, the
+`sun-ra.xml` file is still supported for backward compatibility.)
+Instead, the information is stored in the server configuration. As a
+result, you can create multiple connector connection pools for a
+connection definition in a functional resource adapter instance, and you
+can create multiple user-accessible connector resources (that is,
+registering a resource with a JNDI name) for a connector connection
+pool. In addition, dynamic changes can be made to connector connection
+pools and the connector resource properties without restarting the
+{productName}.
+
+[[bealr]][[GSDVG00163]][[advanced-connector-configuration-options]]
+
+=== Advanced Connector Configuration Options
+
+The following topics are addressed here:
+
+* link:#beals[Thread Associations]
+* link:#bealt[Security Maps]
+* link:#giqgt[Work Security Maps]
+* link:#bealu[Overriding Configuration Properties]
+* link:#bealv[Testing a Connector Connection Pool]
+* link:#gizcv[Flushing a Connector Connection Pool]
+* link:#bealw[Handling Invalid Connections]
+* link:#bealx[Setting the Shutdown Timeout]
+* link:#gjjyy[Specifying the Class Loading Policy]
+* link:#bealy[Using Last Agent Optimization of Transactions]
+* link:#gizba[Disabling Pooling for a Connection]
+* link:#gizcs[Using Application-Scoped Connectors]
+
+[[beals]][[GSDVG00476]][[thread-associations]]
+
+==== Thread Associations
+
+Connectors can submit work instances to the {productName} for
+execution. By default, the {productName} services work requests for
+all connectors from its default thread pool. However, you can associate
+a specific user-created thread pool to service work requests from a
+connector. A thread pool can service work requests from multiple
+resource adapters. To create a thread pool:
+
+* In the Administration Console, select Thread Pools under the relevant
+configuration. For details, click the Help button in the Administration
+Console.
+* Use the `asadmin create-threadpool` command. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+To associate a connector with a thread pool:
+
+* In the Administration Console, open the Applications component and
+select Resource Adapter Configs. Specify the name of the thread pool in
+the Thread Pool ID field. For details, click the Help button in the
+Administration Console.
+* Use the `--threadpoolid` option of the
+`asadmin create-resource-adapter-config` command. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+If you create a resource adapter configuration for a connector module
+that is already deployed, the connector module deployment is restarted
+with the new configuration properties.
+
+[[bealt]][[GSDVG00477]][[security-maps]]
+
+==== Security Maps
+
+Create a security map for a connector connection pool to map an
+application principal or a user group to a back end EIS principal. The
+security map is usually used in situations where one or more EIS back
+end principals are used to execute operations (on the EIS) initiated by
+various principals or user groups in the application.
+
+To create or update security maps for a connector connection pool:
+
+* In the Administration Console, open the Resources component, select
+Connectors, select Connector Connection Pools, and select the Security
+Maps tab. For details, click the Help button in the Administration
+Console.
+* Use the `asadmin create-connector-security-map` command. For details,
+see the link:reference-manual.html#GSRFM[{productName} Reference
+Manual].
+
+If a security map already exists for a connector connection pool, the
+new security map is appended to the previous one. The connector security
+map configuration supports the use of the wildcard asterisk (`*`) to
+indicate all users or all user groups.
+
+When an application principal initiates a request to an EIS, the
+{productName} first checks for an exact match to a mapped back end
+EIS principal using the security map defined for the connector
+connection pool. If there is no exact match, the {productName} uses
+the wild card character specification, if any, to determined the mapped
+back end EIS principal.
+
+[[giqgt]][[GSDVG00478]][[work-security-maps]]
+
+==== Work Security Maps
+
+A work security map for a resource adapter maps an EIS principal or
+group to a application principal or group. A work security map is useful
+in situations where one or more application principals execute
+operations initiated by principals or user groups in the EIS. A resource
+adapter can have multiple work security maps. A work security map can
+map either principals or groups, but not both.
+
+To create a work security map, use the
+`asadmin create-connector-work-security-map` command. For details, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+The work security map configuration supports the wildcard asterisk (`*`)
+character to indicate all users or all user groups. When an EIS
+principal sends a request to the {productName}, the {productName}
+first checks for an exact match to a mapped application principal using
+the work security map defined for the resource adapter. If there is no
+exact match, the {productName} uses the wild card character
+specification, if any, to determine the application principal.
+
+[[bealu]][[GSDVG00479]][[overriding-configuration-properties]]
+
+==== Overriding Configuration Properties
+
+You can override the properties (`config-property` elements) specified
+in the `ra.xml` file of a resource adapter:
+
+* In the Administration Console, open the Resources component and select
+Resource Adapter Configs. Create a new resource adapter configuration or
+select an existing one to edit. Then enter property names and values in
+the Additional Properties table. For details, click the Help button in
+the Administration Console.
+* Use the `asadmin create-resource-adapter-config` command to create a
+configuration for a resource adapter. Use this command's `--property`
+option to specify a name-value pair for a resource adapter property. For
+details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+You can specify configuration properties either before or after resource
+adapter deployment. If you specify properties after deploying the
+resource adapter, the existing resource adapter is restarted with the
+new properties.
+
+You can also use token replacement for overriding resource adapter
+configuration properties in individual server instances when the
+resource adapter is deployed to a cluster. For example, for a property
+called `inboundPort`, you can assign the value `${inboundPort}`. You can
+then assign a different value to this property for each server instance.
+Changes to system properties take effect upon server restart.
+
+[[bealv]][[GSDVG00480]][[testing-a-connector-connection-pool]]
+
+==== Testing a Connector Connection Pool
+
+You can test a connector connection pool for usability in one of these
+ways:
+
+* In the Administration Console, open the Resources component, open the
+Connector component, select Connection Pools, and select the connection
+pool you want to test. Then select the Ping button in the top right
+corner of the page. For details, click the Help button in the
+Administration Console.
+* Use the `asadmin ping-connection-pool` command. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+Both these commands fail and display an error message unless they
+successfully connect to the connection pool.
+
+You can also specify that a connection pool is automatically tested when
+created or reconfigured by setting the Ping attribute to `true` (the
+default is `false`) in one of the following ways:
+
+* Enter a Ping value in the Connector Connection Pools page in the
+Administration Console. For more information, click the Help button in
+the Administration Console.
+* Specify the `--ping` option in the
+`asadmin create-connector-connection-pool` command. For more
+information, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+[[gizcv]][[GSDVG00481]][[flushing-a-connector-connection-pool]]
+
+==== Flushing a Connector Connection Pool
+
+Flushing a connector connection pool recreates all the connections in
+the pool and brings the pool to the steady pool size without the need
+for reconfiguring the pool. Connection pool reconfiguration can result
+in application redeployment, which is a time-consuming operation.
+Flushing destroys existing connections, and any existing transactions
+are lost and must be retired.
+
+You can flush a connector connection pool in one of these ways:
+
+* In the Administration Console, open the Resources component, open the
+Connector component, select Connection Pools, and select the connection
+pool you want to flush. Then select the Flush button in the top right
+corner of the page. For details, click the Help button in the
+Administration Console.
+* Use the `asadmin flush-connection-pool` command. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[bealw]][[GSDVG00482]][[handling-invalid-connections]]
+
+==== Handling Invalid Connections
+
+If a resource adapter generates a `ConnectionErrorOccured` event, the
+{productName} considers the connection invalid and removes the
+connection from the connection pool. Typically, a resource adapter
+generates a `ConnectionErrorOccured` event when it finds a
+`ManagedConnection` object unusable. Reasons can be network failure with
+the EIS, EIS failure, fatal problems with the resource adapter, and so
+on.
+
+If the `fail-all-connections` setting in the connection pool
+configuration is set to `true`, and a single connection fails, all
+connections are closed and recreated. If this setting is `false`,
+individual connections are recreated only when they are used. The
+default is `false`.
+
+The `is-connection-validation-required` setting specifies whether
+connections have to be validated before being given to the application.
+If a resource's validation fails, it is destroyed, and a new resource is
+created and returned. The default is `false`.
+
+The `prefer-validate-over-recreate` property specifies that validating
+idle connections is preferable to closing them. This property has no
+effect on non-idle connections. If set to `true`, idle connections are
+validated during pool resizing, and only those found to be invalid are
+destroyed and recreated. If `false`, all idle connections are destroyed
+and recreated during pool resizing. The default is `false`.
+
+You can set the `fail-all-connections`,
+`is-connection-validation-required`, and `prefer-validate-over-recreate`
+configuration settings during creation of a connector connection pool.
+Or, you can use the `asadmin set` command to dynamically reconfigure a
+setting. For example:
+
+[source]
+----
+asadmin set server.resources.connector-connection-pool.CCP1.fail-all-connections="true"
+asadmin set server.resources.connector-connection-pool.CCP1.is-connection-validation-required="true"
+asadmin set server.resources.connector-connection-pool.CCP1.property.prefer-validate-over-recreate="true"
+----
+
+For details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+The interface ValidatingManagedConnectionFactory exposes the method
+`getInvalidConnections` to allow retrieval of the invalid connections.
+The {productName} checks if the resource adapter implements this
+interface, and if it does, invalid connections are removed when the
+connection pool is resized.
+
+[[bealx]][[GSDVG00483]][[setting-the-shutdown-timeout]]
+
+==== Setting the Shutdown Timeout
+
+According to the Connector specification, while an application server
+shuts down, all resource adapters should be stopped. A resource adapter
+might hang during shutdown, since shutdown is typically a resource
+intensive operation. To avoid such a situation, you can set a timeout
+that aborts resource adapter shutdown if exceeded. The default timeout
+is 30 seconds per resource adapter module. To configure this timeout:
+
+* In the Administration Console, select Connector Service under the
+relevant configuration and edit the shutdown Timeout field. For details,
+click the Help button in the Administration Console.
+* Use the following `asadmin set` command:
++
+[source]
+----
+asadmin set server.connector-service.shutdown-timeout-in-seconds="num-secs"
+----
+For details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+The {productName} deactivates all message-driven bean deployments
+before stopping a resource adapter.
+
+[[gjjyy]][[GSDVG00484]][[specifying-the-class-loading-policy]]
+
+==== Specifying the Class Loading Policy
+
+Use the `class-loading-policy` setting to determine which resource
+adapters accessible to applications. Allowed values are:
+
+* `derived` — Applications access resource adapters based on references
+in their deployment descriptors. These references can be `resource-ref`,
+`resource-env-ref`, `resource-adapter-mid`, or equivalent annotations.
+* `global` — All stand-alone resource adapters are available to all
+applications.
+
+To configure this setting, use the `asadmin set` command. For example:
+
+[source]
+----
+asadmin set server.connector-service.class-loading-policy="global"
+----
+
+For details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+[[bealy]][[GSDVG00485]][[using-last-agent-optimization-of-transactions]]
+
+==== Using Last Agent Optimization of Transactions
+
+Transactions that involve multiple resources or multiple participant
+processes are distributed or global transactions. A global transaction
+can involve one non-XA resource if last agent optimization is enabled.
+Otherwise, all resources must be XA. For more information about
+transactions in the {productName}, see
+link:transaction-service.html#beanm[Using the Transaction Service].
+
+The Connector specification requires that if a resource adapter supports
+`XATransaction`, the `ManagedConnection` created from that resource
+adapter must support both distributed and local transactions. Therefore,
+even if a resource adapter supports `XATransaction`, you can configure
+its connector connection pools as non-XA or without transaction support
+for better performance. A non-XA resource adapter becomes the last agent
+in the transactions in which it participates.
+
+The value of the connection pool configuration property
+`transaction-support` defaults to the value of the `transaction-support`
+property in the `ra.xml` file. The connection pool configuration
+property can override the `ra.xml` file property if the transaction
+level in the connection pool configuration property is lower. If the
+value in the connection pool configuration property is higher, it is
+ignored.
+
+[[gizba]][[GSDVG00486]][[disabling-pooling-for-a-connection]]
+
+==== Disabling Pooling for a Connection
+
+To disable connection pooling, set the Pooling attribute to false. The
+default is true. You can enable or disable connection pooling in one of
+the following ways:
+
+* Enter a Pooling value in the Connector Connection Pools page in the
+Administration Console. For more information, click the Help button in
+the Administration Console.
+* Specify the `--pooling` option in the
+`asadmin create-connector-connection-pool` command. For more
+information, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+[[gizcs]][[GSDVG00487]][[using-application-scoped-connectors]]
+
+==== Using Application-Scoped Connectors
+
+You can define an application-scoped connector or other resource for an
+enterprise application, web module, EJB module, connector module, or
+application client module by supplying a `glassfish-resources.xml`
+deployment descriptor file. For details, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in {productName} Application Deployment Guide.
+
+[[bealz]][[GSDVG00164]][[inbound-communication-support]]
+
+=== Inbound Communication Support
+
+The Connector specification defines the transaction and message inflow
+system contracts for achieving inbound connectivity from an EIS. The
+message inflow contract also serves as a standard message provider
+pluggability contract, thereby allowing various message providers to
+seamlessly plug in their products with any application server that
+supports the message inflow contract. In the inbound communication
+model, the EIS initiates all communication to an application. An
+application can be composed of enterprise beans (session, entity, or
+message-driven beans), which reside in an EJB container.
+
+Incoming messages are received through a message endpoint, which is a
+message-driven bean. This message-driven bean asynchronously consumes
+messages from a message provider. An application can also synchronously
+send and receive messages directly using messaging style APIs.
+
+A resource adapter supporting inbound communication provides an instance
+of an `ActivationSpec` JavaBean class for each supported message
+listener type. Each class contains a set of configurable properties that
+specify endpoint activation configuration information during
+message-driven bean deployment. The required `config-property` element
+in the `ra.xml` file provides a list of configuration property names
+required for each activation specification. An endpoint activation fails
+if the required property values are not specified. Values for the
+properties that are overridden in the message-driven bean's deployment
+descriptor are applied to the `ActivationSpec` JavaBean when the
+message-driven bean is deployed.
+
+Administered objects can also be specified for a resource adapter, and
+these JavaBeans are specific to a messaging style or message provider.
+For example, some messaging styles may need applications to use special
+administered objects (such as Queue and Topic objects in JMS).
+Applications use these objects to send and synchronously receive
+messages using connection objects using messaging style APIs. For more
+information about administered objects, see link:jms.html#beaob[Using the
+Java Message Service].
+
+[[gizdm]][[GSDVG00165]][[outbound-communication-support]]
+
+=== Outbound Communication Support
+
+The Connector specification defines the system contracts for achieving
+outbound connectivity from an EIS. A resource adapter supporting
+outbound communication provides an instance of a
+`ManagedConnectionFactory` JavaBean class. A `ManagedConnectionFactory`
+JavaBean represents outbound connectivity information to an EIS instance
+from an application.
+
+The 1.6 Connector specification introduces a mechanism through which the
+transaction level of a `ManagedConnectionFactory` can be detected at
+runtime. During the configuration of a `ManagedConnectionFactory` in the
+Connector Connection Pools page in the Administration Console, the
+Administration Console can instantiate the `ManagedConnectionFactory`
+and show the level of transaction support. The three levels are `no-tx`,
+`local-tx`, `xa-tx`. If a `ManagedConnectionFactory` returns `local-tx`
+as the level it can support, it is assumed that `xa-tx` is not
+supported, and the Administration Console shows only `no-tx` and
+`local-tx` as the available support levels.
+
+For more information, click the Help button in the Administration
+Console.
+
+[[beama]][[GSDVG00166]][[configuring-a-message-driven-bean-to-use-a-resource-adapter]]
+
+=== Configuring a Message Driven Bean to Use a Resource Adapter
+
+The Connectors specification's message inflow contract provides a
+generic mechanism to plug in a wide-range of message providers,
+including JMS, into a Java-EE-compatible application server. Message
+providers use a resource adapter and dispatch messages to message
+endpoints, which are implemented as message-driven beans.
+
+The message-driven bean developer provides activation configuration
+information in the message-driven bean's `ejb-jar.xml` file.
+Configuration information includes messaging-style-specific
+configuration details, and possibly message-provider-specific details as
+well. The message-driven bean deployer uses this configuration
+information to set up the activation specification JavaBean. The
+activation configuration properties specified in `ejb-jar.xml` override
+configuration properties in the activation specification definition in
+the `ra.xml` file.
+
+According to the EJB specification, the messaging-style-specific
+descriptor elements contained within the activation configuration
+element are not specified because they are specific to a messaging
+provider. In the following sample message-driven bean `ejb-jar.xml`, a
+message-driven bean has the following activation configuration property
+names: `destinationType`, `SubscriptionDurability`, and
+`MessageSelector`.
+
+[source,xml]
+----
+<!--  A sample MDB that listens to a JMS Topic -->
+<!-- message-driven bean deployment descriptor -->
+...
+ <activation-config>
+   <activation-config-property>
+     <activation-config-property-name>
+       destinationType
+     </activation-config-property-name>
+     <activation-config-property-value>
+       jakarta.jms.Topic
+     </activation-config-property-value>
+  </activation-config-property>
+  <activation-config-property>
+     <activation-config-property-name>
+       SubscriptionDurability
+     </activation-config-property-name>
+     <activation-config-property-value>
+       Durable
+     </activation-config-property-value>
+  </activation-config-property>
+  <activation-config-property>
+     <activation-config-property-name>
+       MessageSelector
+     </activation-config-property-name>
+     <activation-config-property-value>
+       JMSType = 'car' AND color = 'blue'
+     </activation-config-property-value>
+  </activation-config-property>
+ ...
+ </activation-config>
+...
+----
+
+When the message-driven bean is deployed, the value for the
+`resource-adapter-mid` element in the `glassfish-ejb-jar.xml` file is
+set to the resource adapter module name that delivers messages to the
+message endpoint (to the message-driven bean). In the following example,
+the `jmsra` JMS resource adapter, which is the bundled resource adapter
+for the Message Queue message provider, is specified as the resource
+adapter module identifier for the `SampleMDB` bean.
+
+[source,xml]
+----
+<glassfish-ejb-jar>
+<enterprise-beans>
+    <unique-id>1</unique-id>
+    <ejb>
+       <ejb-name>SampleMDB</ejb-name>
+       <jndi-name>SampleQueue</jndi-name>
+    <!-- JNDI name of the destination from which messages would be
+         delivered from MDB needs to listen to -->
+    ...
+    <mdb-resource-adapter>
+       <resource-adapter-mid>jmsra</resource-adapter-mid>
+       <!-- Resource Adapter Module Id that would deliver messages to
+            this message endpoint -->
+       </mdb-resource-adapter>
+    ...
+ </ejb>
+ ...
+</enterprise-beans>
+...
+</glassfish-ejb-jar>
+----
+
+When the message-driven bean is deployed, the {productName} uses the
+`resourceadapter-mid` setting to associate the resource adapter with a
+message endpoint through the message inflow contract. This message
+inflow contract with the {productName} gives the resource adapter a
+handle to the `MessageEndpointFactory` and the `ActivationSpec`
+JavaBean, and the adapter uses this handle to deliver messages to the
+message endpoint instances (which are created by the
+`MessageEndpointFactory`).
+
+When a message-driven bean first created for use on the {productName}
+7 is deployed, the Connector runtime transparently transforms the
+previous deployment style to the current connector-based deployment
+style. If the deployer specifies neither a `resource-adapter-mid`
+element nor the Message Queue resource adapter's activation
+configuration properties, the Connector runtime maps the message-driven
+bean to the `jmsra` system resource adapter and converts the
+JMS-specific configuration to the Message Queue resource adapter's
+activation configuration properties.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/container_managed-persistence.adoc b/docs/application-development-guide/src/main/asciidoc/container_managed-persistence.adoc
new file mode 100644
index 0000000..38f5551
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/container_managed-persistence.adoc
@@ -0,0 +1,1498 @@
+type=page
+status=published
+title=Using Container-Managed Persistence
+next=java-clients.html
+prev=ejb.html
+~~~~~~
+
+= Using Container-Managed Persistence
+
+[[GSDVG00011]][[beajj]]
+
+
+[[using-container-managed-persistence]]
+== 9 Using Container-Managed Persistence
+
+This chapter contains information on how EJB 2.1 container-managed
+persistence (CMP) works in {productName}.
+
+The following topics are addressed here:
+
+* link:#beajk[{productName} Support for CMP]
+* link:#beajl[CMP Mapping]
+* link:#beajv[Automatic Schema Generation for CMP]
+* link:#beajy[Schema Capture]
+* link:#beakb[Configuring the CMP Resource]
+* link:#beaki[Performance-Related Features]
+* link:#beakc[Configuring Queries for 1.1 Finders]
+* link:#beakm[CMP Restrictions and Optimizations]
+
+
+[NOTE]
+====
+The Web Profile of the {productName} supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The full {productName} supports the entire EJB
+3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318]
+(`http://jcp.org/en/jsr/detail?id=318`).
+====
+
+
+[[beajk]][[GSDVG00150]][[glassfish-server-support-for-cmp]]
+
+=== {productName} Support for CMP
+
+{productName} support for EJB 2.1 CMP beans includes:
+
+* Full support for the J2EE v1.4 specification's CMP model. Extensive
+information on CMP is contained in chapters 10, 11, and 14 of the
+Enterprise JavaBeans Specification, v2.1. This includes the following:
+
+** Support for commit options B and C for transactions.
+   See link:transaction-service.html#beajh[Commit Options].
+** The primary key class must be a subclass of `java.lang.Object`.
+   This ensures portability, and is noted because some vendors allow primitive
+   types (such as `int`) to be used as the primary key class.
+
+* The {productName} CMP implementation, which provides the following:
+** An Object/Relational (O/R) mapping tool that creates XML deployment
+   descriptors for EJB JAR files that contain beans that use CMP.
+** Support for compound (multi-column) primary keys.
+** Support for sophisticated custom finder methods.
+** Standards-based query language (EJB QL).
+** CMP runtime support. See link:#beakb[Configuring the CMP Resource].
+
+* {productName} performance-related features, including the following:
+** Version column consistency checking
+** Relationship prefetching
+** Read-Only Beans
+
++
+For details, see link:#beaki[Performance-Related Features].
+
+[[beajl]][[GSDVG00151]][[cmp-mapping]]
+
+=== CMP Mapping
+
+Implementation for entity beans that use CMP is mostly a matter of
+mapping CMP fields and CMR fields (relationships) to the database.
+
+The following topics are addressed here:
+
+* link:#beajm[Mapping Capabilities]
+* link:#beajn[The Mapping Deployment Descriptor File]
+* link:#beajo[Mapping Considerations]
+
+[[beajm]][[GSDVG00434]][[mapping-capabilities]]
+
+==== Mapping Capabilities
+
+Mapping refers to the ability to tie an object-based model to a
+relational model of data, usually the schema of a relational database.
+The CMP implementation provides the ability to tie a set of interrelated
+beans containing data and associated behaviors to the schema. This
+object representation of the database becomes part of the Java
+application. You can also customize this mapping to optimize these beans
+for the particular needs of an application. The result is a single data
+model through which both persistent database information and regular
+transient program data are accessed.
+
+The mapping capabilities provided by the {productName} include:
+
+* Mapping a CMP bean to one or more tables
+* Mapping CMP fields to one or more columns
+* Mapping CMP fields to different column types
+* Mapping tables with compound primary keys
+* Mapping tables with unknown primary keys
+* Mapping CMP relationships to foreign keys
+* Mapping tables with overlapping primary and foreign keys
+
+[[beajn]][[GSDVG00435]][[the-mapping-deployment-descriptor-file]]
+
+==== The Mapping Deployment Descriptor File
+
+Each module with CMP beans must have the following files:
+
+* `ejb-jar.xml` - The J2EE standard file for assembling enterprise
+beans. For a detailed description, see the Enterprise JavaBeans
+Specification, v2.1.
+* `glassfish-ejb-jar.xml` - The {productName} standard file for
+assembling enterprise beans. For a detailed description, see
+"link:application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in {productName} Application Deployment Guide.
+* `sun-cmp-mappings.xml` - The mapping deployment descriptor file, which
+describes the mapping of CMP beans to tables in a database. For a
+detailed description, see "link:application-deployment-guide/dd-files.html#GSDPG00080[The sun-cmp-mappings.xml
+File]" in {productName} Application Deployment
+Guide.
+
+The `sun-cmp-mappings.xml` file can be automatically generated and does
+not have to exist prior to deployment. For details, see
+link:#beajx[Generation Options for CMP].
+
+The `sun-cmp-mappings.xml` file maps CMP fields and CMR fields
+(relationships) to the database. A primary table must be selected for
+each CMP bean, and optionally, multiple secondary tables. CMP fields are
+mapped to columns in either the primary or secondary table(s). CMR
+fields are mapped to pairs of column lists (normally, column lists are
+the lists of columns associated with primary and foreign keys).
+
+
+[NOTE]
+====
+Table names in databases can be case-sensitive. Make sure that the table
+names in the `sun-cmp-mappings.xml` file match the names in the
+database.
+
+Relationships should always be mapped to the primary key field(s) of the
+related table.
+====
+
+
+The `sun-cmp-mappings.xml` file conforms to the
+`sun-cmp-mapping_1_2.dtd` file and is packaged with the user-defined
+bean classes in the EJB JAR file under the `META-INF` directory.
+
+The {productName} creates the mappings in the `sun-cmp-mappings.xml`
+file automatically during deployment if the file is not present.
+
+To map the fields and relationships of your entity beans manually, edit
+the `sun-cmp-mappings.xml` deployment descriptor. Only do this if you
+are proficient in editing XML.
+
+The mapping information is developed in conjunction with the database
+schema (`.dbschema`) file, which can be automatically captured when you
+deploy the bean (see link:#beajz[Automatic Database Schema Capture]).
+You can manually generate the schema using the `capture-schema` utility
+(link:#beaka[Using the `capture-schema` Utility]).
+
+[[beajo]][[GSDVG00436]][[mapping-considerations]]
+
+==== Mapping Considerations
+
+The following topics are addressed here:
+
+* link:#beajp[Join Tables and Relationships]
+* link:#beajq[Automatic Primary Key Generation]
+* link:#beajr[Fixed Length CHAR Primary Keys]
+* link:#beajs[Managed Fields]
+* link:#beajt[BLOB Support]
+* link:#beaju[CLOB Support]
+
+The data types used in automatic schema generation are also suggested
+for manual mapping. These data types are described in
+link:#beajw[Supported Data Types for CMP].
+
+[[beajp]][[GSDVG00303]][[join-tables-and-relationships]]
+
+===== Join Tables and Relationships
+
+Use of join tables in the database schema is supported for all types of
+relationships, not just many-to-many relationships. For general
+information about relationships, see section 10.3.7 of the Enterprise
+JavaBeans Specification, v2.1.
+
+[[beajq]][[GSDVG00304]][[automatic-primary-key-generation]]
+
+===== Automatic Primary Key Generation
+
+The {productName} supports automatic primary key generation for EJB
+1.1, 2.0, and 2.1 CMP beans. To specify automatic primary key
+generation, give the `prim-key-class` element in the `ejb-jar.xml` file
+the value `java.lang.Object`. CMP beans with automatically generated
+primary keys can participate in relationships with other CMP beans. The
+{productName} does not support database-generated primary key values.
+
+If the database schema is created during deployment, the {productName} creates the schema with the primary key column, then generates
+unique values for the primary key column at runtime.
+
+If the database schema is not created during deployment, the primary key
+column in the mapped table must be of type `NUMERIC` with a precision of
+19 or more, and must not be mapped to any CMP field. The {productName} generates unique values for the primary key column at runtime.
+
+[[beajr]][[GSDVG00305]][[fixed-length-char-primary-keys]]
+
+===== Fixed Length CHAR Primary Keys
+
+If an existing database table has a primary key column in which the
+values vary in length, but the type is `CHAR` instead of `VARCHAR`, the
+{productName} automatically trims any extra spaces when retrieving
+primary key values. It is not a good practice to use a fixed length
+`CHAR` column as a primary key. Use this feature with schemas that
+cannot be changed, such as a schema inherited from a legacy application.
+
+[[beajs]][[GSDVG00306]][[managed-fields]]
+
+===== Managed Fields
+
+A managed field is a CMP or CMR field that is mapped to the same
+database column as another CMP or CMR field. CMP fields mapped to the
+same column and CMR fields mapped to exactly the same column lists
+always have the same value in memory. For CMR fields that share only a
+subset of their mapped columns, changes to the columns affect the
+relationship fields in memory differently. Basically, the {productName} always tries to keep the state of the objects in memory
+synchronized with the database.
+
+A managed field can have any `fetched-with` subelement. If the
+`fetched-with` subelement is `<default/>`, the
+`-DAllowManagedFieldsInDefaultFetchGroup` flag must be set to `true`.
+See link:#gemln[Default Fetch Group Flags] and
+"link:application-deployment-guide/dd-elements.html#GSDPG00153[fetched-with]" in {productName}
+Application Deployment Guide.
+
+[[beajt]][[GSDVG00307]][[blob-support]]
+
+===== BLOB Support
+
+Binary Large Object (BLOB) is a data type used to store values that do
+not correspond to other types such as numbers, strings, or dates. Java
+fields whose types implement java.io.Serializable or are represented as
+`byte[]` can be stored as BLOBs.
+
+If a CMP field is defined as Serializable, it is serialized into a
+`byte[]` before being stored in the database. Similarly, the value
+fetched from the database is deserialized. However, if a CMP field is
+defined as `byte[]`, it is stored directly instead of being serialized
+and deserialized when stored and fetched, respectively.
+
+To enable BLOB support in the {productName} environment, define a CMP
+field of type `byte[]` or a user-defined type that implements the
+java.io.Serializable interface. If you map the CMP bean to an existing
+database schema, map the field to a column of type BLOB.
+
+To use BLOB or CLOB data types larger than 4 KB for CMP using the Inet
+Oraxo JDBC Driver for Oracle Databases, you must set the `streamstolob`
+property value to `true`.
+
+For a list of the JDBC drivers currently supported by the {productName}, see the link:release-notes.html#GSRLN[{productName} Release
+Notes]. For configurations of supported and other drivers, see
+"link:administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
+{productName} Administration Guide.
+
+For automatic mapping, you might need to change the default BLOB column
+length for the generated schema using the `schema-generator-properties`
+element in `glassfish-ejb-jar.xml`. See your database vendor
+documentation to determine whether you need to specify the length. For
+example:
+
+[source,xml]
+----
+<schema-generator-properties>
+   <property>
+      <name>Employee.voiceGreeting.jdbc-type</name>
+      <value>BLOB</value>
+   </property>
+   <property>
+      <name>Employee.voiceGreeting.jdbc-maximum-length</name>
+      <value>10240</value>
+   </property>
+   ...
+</schema-generator-properties>
+----
+
+[[beaju]][[GSDVG00308]][[clob-support]]
+
+===== CLOB Support
+
+Character Large Object (CLOB) is a data type used to store and retrieve
+very long text fields. CLOBs translate into long strings.
+
+To enable CLOB support in the {productName} environment, define a CMP
+field of type `java.lang.String`. If you map the CMP bean to an existing
+database schema, map the field to a column of type CLOB.
+
+To use BLOB or CLOB data types larger than 4 KB for CMP using the Inet
+Oraxo JDBC Driver for Oracle Databases, you must set the `streamstolob`
+property value to `true`.
+
+For a list of the JDBC drivers currently supported by the {productName}, see the link:release-notes.html#GSRLN[{productName} Release
+Notes]. For configurations of supported and other drivers, see
+"link:administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
+{productName} Administration Guide.
+
+For automatic mapping, you might need to change the default CLOB column
+length for the generated schema using the `schema-generator-properties`
+element in `glassfish-ejb-jar.xml`. See your database vendor
+documentation to determine whether you need to specify the length. For
+example:
+
+[source,xml]
+----
+<schema-generator-properties>
+   <property>
+      <name>Employee.resume.jdbc-type</name>
+      <value>CLOB</value>
+   </property>
+   <property>
+      <name>Employee.resume.jdbc-maximum-length</name>
+      <value>10240</value>
+   </property>
+   ...
+</schema-generator-properties>
+----
+
+[[beajv]][[GSDVG00152]][[automatic-schema-generation-for-cmp]]
+
+=== Automatic Schema Generation for CMP
+
+The automatic schema generation feature provided in the {productName}
+defines database tables based on the fields in entity beans and the
+relationships between the fields. This insulates developers from many of
+the database related aspects of development, allowing them to focus on
+entity bean development. The resulting schema is usable as-is or can be
+given to a database administrator for tuning with respect to
+performance, security, and so on.
+
+The following topics are addressed here:
+
+* link:#beajw[Supported Data Types for CMP]
+* link:#beajx[Generation Options for CMP]
+
+
+[NOTE]
+====
+Automatic schema generation is supported on an all-or-none basis: it
+expects that no tables exist in the database before it is executed. It
+is not intended to be used as a tool to generate extra tables or
+constraints.
+
+Deployment won't fail if all tables are not created, and undeployment
+won't fail if not all tables are dropped. This is done to allow you to
+investigate the problem and fix it manually. You should not rely on the
+partially created database schema to be correct for running the
+application.
+====
+
+
+[[beajw]][[GSDVG00437]][[supported-data-types-for-cmp]]
+
+==== Supported Data Types for CMP
+
+CMP supports a set of JDBC data types that are used in mapping Java data
+fields to SQL types. Supported JDBC data types are as follows: BIGINT,
+BIT, BLOB, CHAR, CLOB, DATE, DECIMAL, DOUBLE, FLOAT, INTEGER, NUMERIC,
+REAL, SMALLINT, TIME, TIMESTAMP, TINYINT, VARCHAR.
+
+The following table contains the mappings of Java types to JDBC types
+when automatic mapping is used.
+
+[[GSDVG550]][[sthref19]][[fvyaq]]
+
+
+Table 9-1 Java Type to JDBC Type Mappings for CMP
+
+[width="100%",cols="39%,40%,21%",options="header",]
+|===
+|Java Type |JDBC Type |Nullability
+|`boolean` |`BIT` |No
+|`java.lang.Boolean` |`BIT` |Yes
+|`byte` |`TINYINT` |No
+|`java.lang.Byte` |`TINYINT` |Yes
+|`double` |`DOUBLE` |No
+|`java.lang.Double` |`DOUBLE` |Yes
+|`float` |`REAL` |No
+|`java.lang.Float` |`REAL` |Yes
+|`int` |`INTEGER` |No
+|`java.lang.Integer` |`INTEGER` |Yes
+|`long` |`BIGINT` |No
+|`java.lang.Long` |`BIGINT` |Yes
+|`short` |`SMALLINT` |No
+|`java.lang.Short` |`SMALLINT` |Yes
+|`java.math.BigDecimal` |`DECIMAL` |Yes
+|`java.math.BigInteger` |`DECIMAL` |Yes
+|`char` |`CHAR` |No
+|`java.lang.Character` |`CHAR` |Yes
+|`java.lang.String` |`VARCHAR` or `CLOB` |Yes
+|Serializable |`BLOB` |Yes
+|`byte[]` |`BLOB` |Yes
+|`java.util.Date` a|
+`DATE` (Oracle only)
+
+`TIMESTAMP` (all other databases)
+
+ |Yes
+|`java.sql.Date` |`DATE` |Yes
+|`java.sql.Time` |`TIME` |Yes
+|`java.sql.Timestamp` |`TIMESTAMP` |Yes
+|===
+
+
+
+[NOTE]
+====
+Java types assigned to CMP fields must be restricted to Java primitive
+types, Java Serializable types, `java.util.Date`, `java.sql.Date`,
+`java.sql.Time`, or `java.sql.Timestamp`. An entity bean local interface
+type (or a collection of such) can be the type of a CMR field.
+====
+
+
+The following table contains the mappings of JDBC types to database
+vendor-specific types when automatic mapping is used. For a list of the
+JDBC drivers currently supported by the {productName}, see the
+link:release-notes.html#GSRLN[{productName} Release Notes]. For
+configurations of supported and other drivers, see
+"link:administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
+{productName} Administration Guide.
+
+[[GSDVG551]][[sthref20]][[fvymp]]
+
+
+Table 9-2 Mappings of JDBC Types to Database Vendor Specific Types for
+CMP
+
+[width="100%",cols="15%,17%,17%,17%,17%,17%",options="header",]
+|===
+|JDBC Type |Apache Derby, CloudScape |Oracle |DB2 |Sybase ASE 12.5
+|MS-SQL Server
+|`BIT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`TINYINT` |`BIT`
+
+|`TINYINT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`TINYINT` |`TINYINT`
+
+|`SMALLINT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`SMALLINT`
+
+|`INTEGER` |`INTEGER` |`INTEGER` |`INTEGER` |`INTEGER` |`INTEGER`
+
+|`BIGINT` |`BIGINT` |`NUMBER` |`BIGINT` |`NUMERIC` |`NUMERIC`
+
+|`REAL` |`REAL` |`REAL` |`FLOAT` |`FLOAT` |`REAL`
+
+|`DOUBLE` |`DOUBLE PRECISION` |`DOUBLE PRECISION` |`DOUBLE`
+|`DOUBLE PRECISION` |`FLOAT`
+
+|`DECIMAL(p,s)` |`DECIMAL(p,s)` |`NUMBER(p,s)` |`DECIMAL(p,s)`
+|`DECIMAL(p,s)` |`DECIMAL(p,s)`
+
+|`VARCHAR` |`VARCHAR` |`VARCHAR2` |`VARCHAR` |`VARCHAR` |`VARCHAR`
+
+|`DATE` |`DATE` |`DATE` |`DATE` |`DATETIME` |`DATETIME`
+
+|`TIME` |`TIME` |`DATE` |`TIME` |`DATETIME` |`DATETIME`
+
+|`TIMESTAMP` |`TIMESTAMP` |`TIMESTAMP(9)` |`TIMESTAMP` |`DATETIME`
+|`DATETIME`
+
+|`BLOB` |`BLOB` |`BLOB` |`BLOB` |`IMAGE` |`IMAGE`
+
+|`CLOB` |`CLOB` |`CLOB` |`CLOB` |`TEXT` |`NTEXT`
+|===
+
+
+[[beajx]][[GSDVG00438]][[generation-options-for-cmp]]
+
+==== Generation Options for CMP
+
+Deployment descriptor elements or `asadmin` command line options can
+control automatic schema generation by the following:
+
+* Creating tables during deployment
+* Dropping tables during undeployment
+* Dropping and creating tables during redeployment
+* Specifying the database vendor
+* Specifying that table names are unique
+* Specifying type mappings for individual CMP fields
+
+
+[NOTE]
+====
+Before using these options, make sure you have a properly configured CMP
+resource. See link:#beakb[Configuring the CMP Resource].
+
+For a read-only bean, do not create the database schema during
+deployment. Instead, work with your database administrator to populate
+the data into the tables. See link:ejb.html#beail[Using Read-Only Beans].
+
+Automatic schema generation is not supported for beans with version
+column consistency checking. Instead, work with your database
+administrator to create the schema and add the required triggers. See
+link:#beakj[Version Column Consistency Checking].
+====
+
+
+The following optional data subelements of the `cmp-resource` element in
+the `glassfish-ejb-jar.xml` file control the automatic creation of
+database tables at deployment. For more information about the
+`cmp-resource` element, see "link:application-deployment-guide/dd-elements.html#GSDPG00115[cmp-resource]" in
+{productName} Application Deployment Guide and
+link:#beakb[Configuring the CMP Resource].
+
+[[GSDVG552]][[sthref21]][[fvymo]]
+
+
+Table 9-3 The `glassfish-ejb-jar.xml` Generation Elements
+
+[width="172%",cols="20%,46%,34%",options="header",]
+|===
+|Element |Default |Description
+|link:application-deployment-guide/dd-elements.html#GSDPG00131[`create-tables-at-deploy`] |`false` |If `true`, causes
+database tables to be created for beans that are automatically mapped by
+the EJB container. No unique constraints are created. If `false`, does
+not create tables.
+
+|link:application-deployment-guide/dd-elements.html#GSDPG00141[`drop-tables-at-undeploy`] |`false` |If `true`, causes
+database tables that were automatically created when the bean(s) were
+last deployed to be dropped when the bean(s) are undeployed. If `false`,
+does not drop tables.
+
+|link:application-deployment-guide/dd-elements.html#GSDPG00133[`database-vendor-name`] |none a|
+Specifies the name of the database vendor for which tables are created.
+Allowed values are `javadb`, `db2`, `mssql`, `mysql`, `oracle`,
+`postgresql`, `pointbase`, `derby` (also for CloudScape), and `sybase`,
+case-insensitive.
+
+If no value is specified, a connection is made to the resource specified
+by the `jndi-name` subelement of the `cmp-resource` element in the
+`glassfish-ejb-jar.xml` file, and the database vendor name is read. If
+the connection cannot be established, or if the value is not recognized,
+SQL-92 compliance is presumed.
+
+|link:application-deployment-guide/dd-elements.html#GSDPG00261[`schema-generator-properties`] |none a|
+Specifies field-specific column attributes in `property` subelements.
+Each property name is of the following format:
+
+bean-name`.`field-name`.`attribute
+
+For example:
+
+`Employee.firstName.jdbc-type`
+
+Also allows you to set the `use-unique-table-names` property. If `true`,
+this property specifies that generated table names are unique within
+each {productName} domain. The default is `false`.
+
+For further information and an example, see
+"link:application-deployment-guide/dd-elements.html#GSDPG00261[schema-generator-properties]" in {productName} Application Deployment Guide.
+
+|===
+
+
+The following options of the `asadmin deploy` or `asadmin deploydir`
+command control the automatic creation of database tables at deployment.
+
+[[GSDVG553]][[sthref22]][[fvymn]]
+
+
+Table 9-4 The `asadmin deploy` and `asadmin deploydir` Generation
+Options for CMP
+
+[width="172%",cols="16%,46%,38%",options="header",]
+|===
+|Option |Default |Description
+|`--createtables` |none |If `true`, causes database tables to be created
+for beans that need them. No unique constraints are created. If `false`,
+does not create tables. If not specified, the value of the
+`create-tables-at-deploy` attribute in `glassfish-ejb-jar.xml` is used.
+
+|`--dropandcreatetables` |none a|
+If `true`, and if tables were automatically created when this
+application was last deployed, tables from the earlier deployment are
+dropped and fresh ones are created.
+
+If `true`, and if tables were not automatically created when this
+application was last deployed, no attempt is made to drop any tables. If
+tables with the same names as those that would have been automatically
+created are found, the deployment proceeds, but a warning indicates that
+tables could not be created.
+
+If `false`, settings of `create-tables-at-deploy` or
+`drop-tables-at-undeploy` in the `glassfish-ejb-jar.xml` file are
+overridden.
+
+|`--uniquetablenames` |none |If `true`, specifies that table names are
+unique within each {productName} domain. If not specified, the value
+of the `use-unique-table-names` property in `glassfish-ejb-jar.xml` is
+used.
+
+|`--dbvendorname` |none a|
+Specifies the name of the database vendor for which tables are created.
+Allowed values are `javadb`, `db2`, `mssql`, `oracle`, `postgresql`,
+`pointbase`, `derby` (also for CloudScape), and `sybase`,
+case-insensitive.
+
+If not specified, the value of the `database-vendor-name` attribute in
+`glassfish-ejb-jar.xml` is used.
+
+If no value is specified, a connection is made to the resource specified
+by the `jndi-name` subelement of the `cmp-resource` element in the
+`glassfish-ejb-jar.xml` file, and the database vendor name is read. If
+the connection cannot be established, or if the value is not recognized,
+SQL-92 compliance is presumed.
+
+|===
+
+
+If one or more of the beans in the module are manually mapped and you
+use any of the `asadmin deploy` or `asadmin deploydir` options, the
+deployment is not harmed in any way, but the options have no effect, and
+a warning is written to the server log.
+
+The following options of the `asadmin undeploy` command control the
+automatic removal of database tables at undeployment.
+
+[[GSDVG554]][[sthref23]][[fvymt]]
+
+
+Table 9-5 The `asadmin undeploy` Generation Options for CMP
+
+[width="172%",cols="10%,46%,44%",options="header",]
+|===
+|Option |Default |Description
+|`--droptables` |none a|
+If `true`, causes database tables that were automatically created when
+the bean(s) were last deployed to be dropped when the bean(s) are
+undeployed. If `false`, does not drop tables.
+
+If not specified, the value of the `drop-tables-at-undeploy` attribute
+in `glassfish-ejb-jar.xml` is used.
+
+|===
+
+
+For more information about the `asadmin deploy`, `asadmin deploydir`,
+and `asadmin undeploy` commands, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+When command line and `glassfish-ejb-jar.xml` options are both
+specified, the `asadmin` options take precedence.
+
+[[beajy]][[GSDVG00153]][[schema-capture]]
+
+=== Schema Capture
+
+The following topics are addressed here:
+
+* link:#beajz[Automatic Database Schema Capture]
+* link:#beaka[Using the `capture-schema` Utility]
+
+[[beajz]][[GSDVG00439]][[automatic-database-schema-capture]]
+
+==== Automatic Database Schema Capture
+
+You can configure a CMP bean in {productName} to automatically
+capture the database metadata and save it in a `.dbschema` file during
+deployment. If the `sun-cmp-mappings.xml` file contains an empty
+`<schema/>` entry, the `cmp-resource` entry in the
+`glassfish-ejb-jar.xml` file is used to get a connection to the
+database, and automatic generation of the schema is performed.
+
+
+[NOTE]
+====
+Before capturing the database schema automatically, make sure you have a
+properly configured CMP resource. See link:#beakb[Configuring the CMP
+Resource].
+====
+
+
+[[beaka]][[GSDVG00440]][[using-the-capture-schema-utility]]
+
+==== Using the `capture-schema` Utility
+
+You can use the `capture-schema` command to manually generate the
+database metadata (`.dbschema`) file. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+The `capture-schema` utility does not modify the schema in any way. Its
+only purpose is to provide the persistence engine with information about
+the structure of the database (the schema).
+
+Keep the following in mind when using the `capture-schema` command:
+
+* The name of a `.dbschema` file must be unique across all deployed
+modules in a domain.
+* If more than one schema is accessible for the schema user, more than
+one table with the same name might be captured if the `-schemaname`
+option of `capture-schema` is not set.
+* The schema name must be upper case.
+* Table names in databases are case-sensitive. Make sure that the table
+name matches the name in the database.
+* PostgreSQL databases internally convert all names to lower case.
+Before running the `capture-schema` command on a PostgreSQL database,
+make sure table and column names are lower case in the
+`sun-cmp-mappings.xml` file.
+* An Oracle database user running the `capture-schema` command needs
+ANALYZE ANY TABLE privileges if that user does not own the schema. These
+privileges are granted to the user by the database administrator.
+
+[[beakb]][[GSDVG00154]][[configuring-the-cmp-resource]]
+
+=== Configuring the CMP Resource
+
+An EJB module that contains CMP beans requires the JNDI name of a JDBC
+resource in the `jndi-name` subelement of the `cmp-resource` element in
+the `glassfish-ejb-jar.xml` file. Set `PersistenceManagerFactory`
+properties as properties of the `cmp-resource` element in the
+`glassfish-ejb-jar.xml` file. See "link:application-deployment-guide/dd-elements.html#GSDPG00115[cmp-resource]" in
+{productName} Application Deployment Guide.
+
+In the Administration Console, open the Resources component, then select
+JDBC. Click the Help button in the Administration Console for
+information on creating a new JDBC resource.
+
+For a list of the JDBC drivers currently supported by the {productName}, see the link:release-notes.html#GSRLN[{productName} Release
+Notes]. For configurations of supported and other drivers, see
+"link:administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
+{productName} Administration Guide.
+
+For example, if the JDBC resource has the JNDI name `jdbc/MyDatabase`,
+set the CMP resource in the `glassfish-ejb-jar.xml` file as follows:
+
+[source,xml]
+----
+<cmp-resource>
+   <jndi-name>jdbc/MyDatabase</jndi-name>
+</cmp-resource>
+----
+
+[[beaki]][[GSDVG00155]][[performance-related-features]]
+
+=== Performance-Related Features
+
+The {productName} provides the following features to enhance
+performance or allow more fine-grained data checking. These features are
+supported only for entity beans with container managed persistence.
+
+The following topics are addressed here:
+
+* link:#beakj[Version Column Consistency Checking]
+* link:#beakk[Relationship Prefetching]
+* link:#beakl[Read-Only Beans]
+* link:#gemln[Default Fetch Group Flags]
+
+
+[NOTE]
+====
+Use of any of these features results in a non-portable application.
+====
+
+
+[[beakj]][[GSDVG00441]][[version-column-consistency-checking]]
+
+==== Version Column Consistency Checking
+
+The version consistency feature saves the bean state at first
+transactional access and caches it between transactions. The state is
+copied from the cache instead of being read from the database. The bean
+state is verified by primary key and version column values at flush for
+custom queries (for dirty instances only) and at commit (for clean and
+dirty instances).
+
+[[fwbei]][[GSDVG00071]][[to-use-version-consistency]]
+
+===== To Use Version Consistency
+
+1. Create the version column in the primary table.
+2. Give the version column a numeric data type.
+3. Provide appropriate update triggers on the version column. +
+These triggers must increment the version column on each update of the
+specified row.
+4. Specify the version column. +
+This is specified in the `check-version-of-accessed-instances`
+subelement of the `consistency` element in the `sun-cmp-mappings.xml`
+file. See "link:application-deployment-guide/dd-elements.html#GSDPG00126[consistency]" in {productName} Application Deployment Guide.
+5. Map the CMP bean to an existing schema.
++
+Automatic schema generation is not supported for beans with version
+column consistency checking. Instead, work with your database
+administrator to create the schema and add the required triggers.
+
+[[beakk]][[GSDVG00442]][[relationship-prefetching]]
+
+==== Relationship Prefetching
+
+In many cases when an entity bean's state is fetched from the database,
+its relationship fields are always accessed in the same transaction.
+Relationship prefetching saves database round trips by fetching data for
+an entity bean and those beans referenced by its CMR fields in a single
+database round trip.
+
+To enable relationship prefetching for a CMR field, use the `default`
+subelement of the `fetched-with` element in the `sun-cmp-mappings.xml`
+file. By default, these CMR fields are prefetched whenever
+`findByPrimaryKey` or a custom finder is executed for the entity, or
+when the entity is navigated to from a relationship. (Recursive
+prefetching is not supported, because it does not usually enhance
+performance.) See "link:application-deployment-guide/dd-elements.html#GSDPG00153[fetched-with]" in {productName} Application Deployment Guide.
+
+To disable prefetching for specific custom finders, use the
+`prefetch-disabled` element in the `glassfish-ejb-jar.xml` file. See
+"link:application-deployment-guide/dd-elements.html#GSDPG00226[prefetch-disabled]" in {productName} Application Deployment Guide.
+
+Multilevel relationship prefetching is supported for CMP 2.1 entity
+beans. To enable multilevel relationship prefetching, set the following
+property using the `asadmin create-jvm-options` command:
+
+[source]
+----
+asadmin create-jvm-options -Dcom.sun.jdo.spi.persistence.support.sqlstore.MULTILEVEL_PREFETCH=true
+----
+
+[[beakl]][[GSDVG00443]][[read-only-beans]]
+
+==== Read-Only Beans
+
+Another feature that the {productName} provides is the read-only
+bean, an entity bean that is never modified by an EJB client. Read-only
+beans avoid database updates completely.
+
+
+[NOTE]
+====
+Read-only beans are specific to the {productName} and are not part of
+the Enterprise JavaBeans Specification, v2.1. Use of this feature for an
+EJB 2.1 bean results in a non-portable application.
+====
+
+
+A read-only bean can be used to cache a database entry that is
+frequently accessed but rarely updated (externally by other beans). When
+the data that is cached by a read-only bean is updated by another bean,
+the read-only bean can be notified to refresh its cached data.
+
+The {productName} provides a number of ways by which a read-only
+bean's state can be refreshed. By setting the
+`refresh-period-in-seconds` element in the `glassfish-ejb-jar.xml` file
+and the `trans-attribute` element (or `@TransactionAttribute`
+annotation) in the `ejb-jar.xml` file, it is easy to configure a
+read-only bean that is one of the following:
+
+* Always refreshed
+* Periodically refreshed
+* Never refreshed
+* Programmatically refreshed
+
+Access to CMR fields of read-only beans is not supported. Deployment
+will succeed, but an exception will be thrown at runtime if a get or set
+method is invoked.
+
+Read-only beans are best suited for situations where the underlying data
+never changes, or changes infrequently. For further information and
+usage guidelines, see link:ejb.html#beail[Using Read-Only Beans].
+
+[[gemln]][[GSDVG00156]][[default-fetch-group-flags]]
+
+=== Default Fetch Group Flags
+
+Using the following flags can improve performance.
+
+Setting `-DAllowManagedFieldsInDefaultFetchGroup=true` allows CMP fields
+that by default cannot be placed into the default fetch group to be
+loaded along with all other fields that are fetched when the CMP state
+is loaded into memory. These could be multiple fields mapped to the same
+column in the database table, for example, an instance field and a CMR.
+By default this flag is set to `false`.
+
+For additional information, see "link:application-deployment-guide/dd-elements.html#GSDPG00181[level]" in {productName} Application Deployment Guide.
+
+Setting `-DAllowMediatedWriteInDefaultFetchGroup` specifies how updated
+CMP fields are written back to the database. If the flag is `false`, all
+fields in the CMP bean are written back to the database if at least one
+field in the default fetch group has been changed in a transaction. If
+the flag is `true`, only fields modified by the bean are written back to
+the database. Specifying `true` can improve performance, particularly on
+database tables with many columns that have not been updated. By default
+this flag is set to `false`.
+
+To set one of these flags, use the `asadmin create-jvm-options` command.
+For example:
+
+[source]
+----
+asadmin create-jvm-options -DAllowManagedFieldsInDefaultFetchGroup=true
+----
+
+[[beakc]][[GSDVG00157]][[configuring-queries-for-1.1-finders]]
+
+=== Configuring Queries for 1.1 Finders
+
+The following topics are addressed here:
+
+* link:#ganjq[About JDOQL Queries]
+* link:#gankm[Query Filter Expression]
+* link:#ganjt[Query Parameters]
+* link:#ganky[Query Variables]
+* link:#ganla[JDOQL Examples]
+
+[[ganjq]][[GSDVG00444]][[about-jdoql-queries]]
+
+==== About JDOQL Queries
+
+The Enterprise JavaBeans Specification, v1.1 does not specify the format
+of the finder method description. The {productName} uses an extension
+of Java Data Objects Query Language (JDOQL) queries to implement finder
+and selector methods. You can specify the following elements of the
+underlying JDOQL query:
+
+* Filter expression - A Java-like expression that specifies a condition
+that each object returned by the query must satisfy. Corresponds to the
+WHERE clause in EJB QL.
+* Query parameter declaration - Specifies the name and the type of one
+or more query input parameters. Follows the syntax for formal parameters
+in the Java language.
+* Query variable declaration - Specifies the name and type of one or
+more query variables. Follows the syntax for local variables in the Java
+language. A query filter might use query variables to implement joins.
+* Query ordering declaration - Specifies the ordering expression of the
+query. Corresponds to the ORDER BY clause of EJB QL.
+
+The {productName} specific deployment descriptor
+(`glassfish-ejb-jar.xml`) provides the following elements to store the
+EJB 1.1 finder method settings:
+
+[source]
+----
+query-filter
+query-params
+query-variables
+query-ordering
+----
+
+The bean developer uses these elements to construct a query. When the
+finder method that uses these elements executes, the values of these
+elements are used to execute a query in the database. The objects from
+the JDOQL query result set are converted into primary key instances to
+be returned by the EJB 1.1 `ejbFind` method.
+
+The JDO specification, http://jcp.org/en/jsr/detail?id=12[JSR 12]
+(`http://jcp.org/en/jsr/detail?id=12`), provides a comprehensive
+description of JDOQL. The following information summarizes the elements
+used to define EJB 1.1 finders.
+
+[[gankm]][[GSDVG00445]][[query-filter-expression]]
+
+==== Query Filter Expression
+
+The filter expression is a String containing a Boolean expression
+evaluated for each instance of the candidate class. If the filter is not
+specified, it defaults to true. Rules for constructing valid expressions
+follow the Java language, with the following differences:
+
+* Equality and ordering comparisons between primitives and instances of
+wrapper classes are valid.
+* Equality and ordering comparisons of Date fields and Date parameters
+are valid.
+* Equality and ordering comparisons of String fields and String
+parameters are valid.
+* White space (non-printing characters space, tab, carriage return, and
+line feed) is a separator and is otherwise ignored.
+* The following assignment operators are not supported.
+
+** Comparison operators such as =, +=, and so on
+
+** Pre- and post-increment
+
+** Pre- and post-decrement
+* Methods, including object construction, are not supported, except for
+these methods.
++
+[source,java]
+----
+Collection.contains(Object o)
+Collection.isEmpty()
+String.startsWith(String s)
+String.endsWith(String e)
+----
+In addition, the {productName} supports the following nonstandard
+JDOQL methods.
++
+[source,java]
+----
+String.like(String pattern)
+String.like(String pattern, char escape)
+String.substring(int start, int length)
+String.indexOf(String str)
+String.indexOf(String str, int start)
+String.length()
+Math.abs(numeric n)
+Math.sqrt(double d)
+----
+* Navigation through a null-valued field, which throws a
+`NullPointerException`, is treated as if the sub-expression returned
+`false`.
+
+
+[NOTE]
+====
+Comparisons between floating point values are by nature inexact.
+Therefore, equality comparisons (== and !=) with floating point values
+should be used with caution. Identifiers in the expression are
+considered to be in the name space of the candidate class, with the
+addition of declared parameters and variables. As in the Java language,
+`this` is a reserved word, and refers to the current instance being
+evaluated.
+====
+
+
+The following expressions are supported.
+
+* Relational operators (==, !=,>, <,>=, <=)
+* Boolean operators (&, &&, |, ||, ~, !)
+* Arithmetic operators (+, -, *, /)
+* String concatenation, only for String + String
+* Parentheses to explicitly mark operator precedence
+* Cast operator
+* Promotion of numeric operands for comparisons and arithmetic
+operations
+
+The rules for promotion follow the Java rules extended by BigDecimal,
+BigInteger, and numeric wrapper classes. See the numeric promotions of
+the Java language specification.
+
+[[ganjt]][[GSDVG00446]][[query-parameters]]
+
+==== Query Parameters
+
+The parameter declaration is a String containing one or more parameter
+type declarations separated by commas. This follows the Java syntax for
+method signatures.
+
+[[ganky]][[GSDVG00447]][[query-variables]]
+
+==== Query Variables
+
+The type declarations follow the Java syntax for local variable
+declarations.
+
+[[ganla]][[GSDVG00448]][[jdoql-examples]]
+
+==== JDOQL Examples
+
+This section provides a few query examples.
+
+[[gankk]][[GSDVG00309]][[example-1]]
+
+===== Example 1
+
+The following query returns all players called Michael. It defines a
+filter that compares the name field with a string literal:
+
+[source,java]
+----
+name == "Michael"
+----
+
+The `finder` element of the `glassfish-ejb-jar.xml` file looks like
+this:
+
+[source,xml]
+----
+<finder>
+   <method-name>findPlayerByName</method-name>
+   <query-filter>name == "Michael"</query-filter>
+</finder>
+----
+
+[[ganjz]][[GSDVG00310]][[example-2]]
+
+===== Example 2
+
+This query returns all products in a specified price range. It defines
+two query parameters which are the lower and upper bound for the price:
+double low, double high. The filter compares the query parameters with
+the price field:
+
+[source,java]
+----
+low < price && price < high
+----
+
+Query ordering is set to `price ascending`.
+
+The `finder` element of the `glassfish-ejb-jar.xml` file looks like
+this:
+
+[source,xml]
+----
+<finder>
+   <method-name>findInRange</method-name>
+   <query-params>double low, double high</query-params>
+   <query-filter>low &lt; price &amp;&amp; price &lt high</query-filter>
+   <query-ordering>price ascending</query-ordering>
+</finder>
+----
+
+[[gankz]][[GSDVG00311]][[example-3]]
+
+===== Example 3
+
+This query returns all players having a higher salary than the player
+with the specified name. It defines a query parameter for the name
+`java.lang.String name`. Furthermore, it defines a variable to which the
+player's salary is compared. It has the type of the persistence capable
+class that corresponds to the bean:
+
+[source]
+----
+    mypackage.PlayerEJB_170160966_JDOState player
+----
+
+The filter compares the salary of the current player denoted by the
+`this` keyword with the salary of the player with the specified name:
+
+[source,java]
+----
+    (this.salary> player.salary) && (player.name == name)
+----
+
+The `finder` element of the `glassfish-ejb-jar.xml` file looks like
+this:
+
+[source,xml]
+----
+<finder>
+   <method-name>findByHigherSalary</method-name>
+   <query-params>java.lang.String name</query-params>
+   <query-filter>
+      (this.salary &gt; player.salary) &amp;&amp; (player.name == name)
+   </query-filter>
+   <query-variables>
+      mypackage.PlayerEJB_170160966_JDOState player
+   </query-variables>
+</finder>
+----
+
+[[beakm]][[GSDVG00158]][[cmp-restrictions-and-optimizations]]
+
+=== CMP Restrictions and Optimizations
+
+This section discusses restrictions and performance optimizations that
+pertain to using CMP.
+
+The following topics are addressed here:
+
+* link:#gdtfj[Disabling ORDER BY Validation]
+* link:#geprt[Setting the Heap Size on DB2]
+* link:#beakn[Eager Loading of Field State]
+* link:#beako[Restrictions on Remote Interfaces]
+* link:#gcnto[PostgreSQL Case Insensitivity]
+* link:#beakr[No Support for `lock-when-loaded` on Sybase]
+* link:#beakp[Sybase Finder Limitation]
+* link:#beakq[Date and Time Fields]
+* link:#beaks[Set `RECURSIVE_TRIGGERS` to `false` on MSSQL]
+* link:#gbhbr[MySQL Database Restrictions]
+
+[[gdtfj]][[GSDVG00449]][[disabling-order-by-validation]]
+
+==== Disabling ORDER BY Validation
+
+EJB QL as defined in the EJB 2.1 Specification defines certain
+restrictions for the SELECT clause of an ORDER BY query (see section
+11.2.8 ORDER BY Clause). This ensures that a query does not order by a
+field that is not returned by the query. By default, the EJB QL compiler
+checks the above restriction and throws an exception if the query does
+not conform.
+
+However, some databases support SQL statements with an ORDER BY column
+that is not included in the SELECT clause. To disable the validation of
+the ORDER BY clause against the SELECT clause, set the
+`DISABLE_ORDERBY_VALIDATION` JVM option as follows:
+
+[source]
+----
+asadmin create-jvm-options
+-Dcom.sun.jdo.spi.persistence.support.ejb.ejbqlc.DISABLE_ORDERBY_VALIDATION=true
+----
+
+The `DISABLE_ORDERBY_VALIDATION` option is set to `false` by default.
+Setting it to `true` results in a non-portable module or application.
+
+[[geprt]][[GSDVG00450]][[setting-the-heap-size-on-db2]]
+
+==== Setting the Heap Size on DB2
+
+On DB2, the database configuration parameter `APPLHEAPSZ` determines the
+heap size. If you are using the Oracle or DataDirect database driver,
+set this parameter to at least `2048` for CMP. For more information, see
+`http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/opt/tsbp2024.html`.
+
+[[beakn]][[GSDVG00451]][[eager-loading-of-field-state]]
+
+==== Eager Loading of Field State
+
+By default, the EJB container loads the state for all persistent fields
+(excluding relationship, BLOB, and CLOB fields) before invoking the
+`ejbLoad` method of the abstract bean. This approach might not be
+optimal for entity objects with large state if most business methods
+require access to only parts of the state.
+
+Use the `fetched-with` element in `sun-cmp-mappings.xml` for fields that
+are used infrequently. See "link:application-deployment-guide/dd-elements.html#GSDPG00153[fetched-with]" in {productName} Application Deployment Guide.
+
+[[beako]][[GSDVG00452]][[restrictions-on-remote-interfaces]]
+
+==== Restrictions on Remote Interfaces
+
+The following restrictions apply to the remote interface of an EJB 2.1
+bean that uses CMP:
+
+* Do not expose the `get` and `set` methods for CMR fields or the
+persistence collection classes that are used in container-managed
+relationships through the remote interface of the bean.
++
+However, you are free to expose the `get` and `set` methods that
+correspond to the CMP fields of the entity bean through the bean's
+remote interface.
+* Do not expose the container-managed collection classes that are used
+for relationships through the remote interface of the bean.
+* Do not expose local interface types or local home interface types
+through the remote interface or remote home interface of the bean.
+
+Dependent value classes can be exposed in the remote interface or remote
+home interface, and can be included in the client EJB JAR file.
+
+[[gcnto]][[GSDVG00453]][[postgresql-case-insensitivity]]
+
+==== PostgreSQL Case Insensitivity
+
+Case-sensitive behavior cannot be achieved for PostgreSQL databases.
+PostgreSQL databases internally convert all names to lower case, which
+makes the following workarounds necessary:
+
+* In the CMP 2.1 runtime, PostgreSQL table and column names are not
+quoted, which makes these names case insensitive.
+* Before running the `capture-schema` command on a PostgreSQL database,
+make sure table and column names are lower case in the
+`sun-cmp-mappings.xml` file.
+
+[[beakr]][[GSDVG00454]][[no-support-for-lock-when-loaded-on-sybase]]
+
+==== No Support for `lock-when-loaded` on Sybase
+
+For EJB 2.1 beans, the `lock-when-loaded` consistency level is
+implemented by placing update locks on the data corresponding to a bean
+when the data is loaded from the database. There is no suitable
+mechanism available on Sybase databases to implement this feature.
+Therefore, the `lock-when-loaded` consistency level is not supported on
+Sybase databases. See "link:application-deployment-guide/dd-elements.html#GSDPG00126[consistency]" in {productName} Application Deployment Guide.
+
+[[beakp]][[GSDVG00455]][[sybase-finder-limitation]]
+
+==== Sybase Finder Limitation
+
+If a finder method with an input greater than 255 characters is executed
+and the primary key column is mapped to a VARCHAR column, Sybase
+attempts to convert type VARCHAR to type TEXT and generates the
+following error:
+
+[source]
+----
+com.sybase.jdbc2.jdbc.SybSQLException: Implicit conversion from datatype
+'TEXT' to 'VARCHAR' is not allowed. Use the CONVERT function to run this query.
+----
+
+To avoid this error, make sure the finder method input is less than 255
+characters.
+
+[[beakq]][[GSDVG00456]][[date-and-time-fields]]
+
+==== Date and Time Fields
+
+If a field type is a Java date or time type (`java.util.Date`,
+`java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp`), make sure that
+the field value exactly matches the value in the database.
+
+For example, the following code uses a `java.sql.Date` type as a primary
+key field:
+
+[source,java]
+----
+java.sql.Date myDate = new java.sql.Date(System.currentTimeMillis())
+BeanA.create(myDate, ...);
+----
+
+For some databases, this code results in only the year, month, and date
+portion of the field value being stored in the database. Later if the
+client tries to find this bean by primary key as follows, the bean is
+not found in the database because the value does not match the one that
+is stored in the database.
+
+[source,java]
+----
+myBean = BeanA.findByPrimaryKey(myDate);
+----
+
+Similar problems can happen if the database truncates the timestamp
+value while storing it, or if a custom query has a date or time value
+comparison in its WHERE clause.
+
+For automatic mapping to an Oracle database, fields of type
+`java.util.Date`, `java.sql.Date`, and `java.sql.Time` are mapped to
+Oracle's DATE data type. Fields of type `java.sql.Timestamp` are mapped
+to Oracle's `TIMESTAMP(9)` data type.
+
+[[beaks]][[GSDVG00457]][[set-recursive_triggers-to-false-on-mssql]]
+
+==== Set `RECURSIVE_TRIGGERS` to `false` on MSSQL
+
+For version consistency triggers on MSSQL, the property
+`RECURSIVE_TRIGGERS` must be set to `false`, which is the default. If
+set to `true`, triggers throw a `java.sql.SQLException`.
+
+Set this property as follows:
+
+[source,sql]
+----
+EXEC sp_dboption 'database-name', 'recursive triggers', 'FALSE'
+go
+----
+
+You can test this property as follows:
+
+[source,sql]
+----
+SELECT DATABASEPROPERTYEX('database-name', 'IsRecursiveTriggersEnabled')
+go
+----
+
+[[gbhbr]][[GSDVG00458]][[mysql-database-restrictions]]
+
+==== MySQL Database Restrictions
+
+The following restrictions apply when you use a MySQL database with the
+{productName} for persistence.
+
+* MySQL treats `int1` and `int2` as reserved words. If you want to
+define `int1` and `int2` as fields in your table, use `\`int1\`` and
+`\`int2\`` field names in your SQL file.
+* When `VARCHAR` fields get truncated, a warning is displayed instead of
+an error. To get an error message, start the MySQL database in strict
+SQL mode.
+* The order of fields in a foreign key index must match the order in the
+explicitly created index on the primary table.
+* The `CREATE TABLE` syntax in the SQL file must end with the following
+line.
++
+[source,sql]
+----
+)  Engine=InnoDB;
+----
+`InnoDB` provides MySQL with a transaction-safe (ACID compliant) storage
+engine having commit, rollback, and crash recovery capabilities.
+* For a `FLOAT` type field, the correct precision must be defined. By
+default, MySQL uses four bytes to store a `FLOAT` type that does not
+have an explicit precision definition. For example, this causes a number
+such as 12345.67890123 to be rounded off to 12345.7 during an `INSERT`.
+To prevent this, specify `FLOAT(10,2)` in the DDL file, which forces the
+database to use an eight-byte double-precision column. For more
+information, see `http://dev.mysql.com/doc/mysql/en/numeric-types.html`.
+* To use `||` as the string concatenation symbol, start the MySQL server
+with the `--sql-mode="PIPES_AS_CONCAT"` option. For more information,
+see `http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html` and
+`http://dev.mysql.com/doc/mysql/en/ansi-mode.html`.
+* MySQL always starts a new connection when `autoCommit==true` is set.
+This ensures that each SQL statement forms a single transaction on its
+own. If you try to rollback or commit an SQL statement, you get an error
+message.
++
+[source]
+----
+javax.transaction.SystemException: java.sql.SQLException:
+Can't call rollback when autocommit=true
+
+javax.transaction.SystemException: java.sql.SQLException:
+Error open transaction is not closed
+----
+To resolve this issue, add `relaxAutoCommit=true` to the JDBC URL. For
+more information, see `http://forums.mysql.com/read.php?39,31326,31404`.
+* Change the trigger create format from the following:
++
+[source,sql]
+----
+CREATE TRIGGER T_UNKNOWNPKVC1
+BEFORE UPDATE ON UNKNOWNPKVC1
+FOR EACH ROW
+        WHEN (NEW.VERSION = OLD.VERSION)
+BEGIN
+        :NEW.VERSION := :OLD.VERSION + 1;
+END;
+/
+----
+To the following:
++
+[source,sql]
+----
+DELIMITER |
+CREATE TRIGGER T_UNKNOWNPKVC1
+BEFORE UPDATE ON UNKNOWNPKVC1
+FOR EACH ROW
+        WHEN (NEW.VERSION = OLD.VERSION)
+BEGIN
+        :NEW.VERSION := :OLD.VERSION + 1;
+END
+|
+DELIMITER ;
+----
+For more information, see
+`http://dev.mysql.com/doc/mysql/en/create-trigger.html`.
+* MySQL does not allow a `DELETE` on a row that contains a reference to
+itself. Here is an example that illustrates the issue.
++
+[source,sql]
+----
+create table EMPLOYEE (
+        empId   int         NOT NULL,
+        salary  float(25,2) NULL,
+        mgrId   int         NULL,
+        PRIMARY KEY (empId),
+        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
+        ) ENGINE=InnoDB;
+
+        insert into Employee values (1, 1234.34, 1);
+        delete from Employee where empId = 1;
+----
+This example fails with the following error message.
++
+[source]
+----
+ERROR 1217 (23000): Cannot delete or update a parent row:
+a foreign key constraint fails
+----
+To resolve this issue, change the table creation script to the
+following:
++
+[source,sql]
+----
+create table EMPLOYEE (
+        empId   int         NOT NULL,
+        salary  float(25,2) NULL,
+        mgrId   int         NULL,
+        PRIMARY KEY (empId),
+        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
+        ON DELETE SET NULL
+        ) ENGINE=InnoDB;
+
+        insert into Employee values (1, 1234.34, 1);
+        delete from Employee where empId = 1;
+----
+This can be done only if the foreign key field is allowed to be null.
+For more information, see
+`http://dev.mysql.com/doc/mysql/en/innodb-foreign-key-constraints.html`.
+* When an SQL script has foreign key constraints defined,
+`capture-schema` fails to capture the table information correctly. To
+work around the problem, remove the constraints and then run
+`capture-schema`. Here is an example that illustrates the issue.
++
+[source,sql]
+----
+CREATE TABLE ADDRESSBOOKBEANTABLE (ADDRESSBOOKNAME VARCHAR(255)
+    NOT NULL PRIMARY KEY,
+CONNECTEDUSERS              BLOB NULL,
+OWNER                       VARCHAR(256),
+FK_FOR_ACCESSPRIVILEGES     VARCHAR(256),
+CONSTRAINT FK_ACCESSPRIVILEGE FOREIGN KEY (FK_FOR_ACCESSPRIVILEGES)
+    REFERENCES ACCESSPRIVILEGESBEANTABLE (ROOT)
+) ENGINE=InnoDB;
+----
+To resolve this issue, change the table creation script to the
+following:
++
+[source,sql]
+----
+CREATE TABLE ADDRESSBOOKBEANTABLE (ADDRESSBOOKNAME VARCHAR(255)
+    NOT NULL PRIMARY KEY,
+CONNECTEDUSERS              BLOB NULL,
+OWNER                       VARCHAR(256),
+FK_FOR_ACCESSPRIVILEGES     VARCHAR(256)
+) ENGINE=InnoDB;
+----
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/debugging-apps.adoc b/docs/application-development-guide/src/main/asciidoc/debugging-apps.adoc
new file mode 100644
index 0000000..0ad1c70
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/debugging-apps.adoc
@@ -0,0 +1,439 @@
+type=page
+status=published
+title=Debugging Applications
+next=part-apps-and-app-comps.html
+prev=class-loaders.html
+~~~~~~
+
+= Debugging Applications
+
+[[GSDVG00004]][[beafc]]
+
+
+[[debugging-applications]]
+== 3 Debugging Applications
+
+This chapter gives guidelines for debugging applications in the {productName}.
+
+The following topics are addressed here:
+
+* link:#beafd[Enabling Debugging]
+* link:#beafe[JPDA Options]
+* link:#beaff[Generating a Stack Trace for Debugging]
+* link:#gekvq[Application Client Debugging]
+* link:#beafk[Open Message Queue Debugging]
+* link:#beafl[Enabling Verbose Mode]
+* link:#gkpdk[Class Loader Debugging]
+* link:#beafm[{productName} Logging]
+* link:#beafn[Profiling Tools]
+
+[[beafd]][[GSDVG00101]][[enabling-debugging]]
+
+=== Enabling Debugging
+
+When you enable debugging, you enable both local and remote debugging.
+To start the server in debug mode, use the `--debug` option as follows:
+
+[source]
+----
+asadmin start-domain --debug [domain-name]
+----
+
+You can then attach to the server from the Java Debugger (`jdb`) at its
+default Java Platform Debugger Architecture (JPDA) port, which is 9009.
+For example, for UNIX systems:
+
+[source]
+----
+jdb -attach 9009
+----
+
+For Windows:
+
+[source]
+----
+jdb -connect com.sun.jdi.SocketAttach:port=9009
+----
+
+For more information about the `jdb` debugger, see the following links:
+
+* Java Platform Debugger Architecture - The Java Debugger:
+`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`
+* Java Platform Debugger Architecture - Connecting with JDB:
+`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`
+
+{productName} debugging is based on the JPDA. For more information,
+see link:#beafe[JPDA Options].
+
+You can attach to the {productName} using any JPDA compliant
+debugger, including that of http://www.netbeans.org[NetBeans]
+(`http://www.netbeans.org`), Java Studio Enterprise, JBuilder, Eclipse,
+and so on.
+
+You can enable debugging even when the {productName} is started
+without the `--debug` option. This is useful if you start the {productName} from the Windows Start Menu, or if you want to make sure that
+debugging is always turned on.
+
+[[fvyit]][[GSDVG00049]][[to-set-the-server-to-automatically-start-up-in-debug-mode]]
+
+==== To Set the Server to Automatically Start Up in Debug Mode
+
+1. Use the Administration Console. Select the JVM Settings component
+under the relevant configuration.
+2. Check the Debug Enabled box.
+3. To specify a different port (from 9009, the default) to use when
+attaching the JVM software to a debugger, specify ``address=``port-number
+in the Debug Options field.
+4. To add JPDA options, add any desired JPDA debugging options in Debug
+Options. See link:#beafe[JPDA Options].
+
+[[GSDVG532]]
+
+See Also
+
+For details, click the Help button in the Administration Console from
+the JVM Settings page.
+
+[[beafe]][[GSDVG00102]][[jpda-options]]
+
+=== JPDA Options
+
+The default JPDA options in {productName} are as follows:
+
+[source]
+----
+-Xdebug -agentlib:transport=dt_socket,server=y,suspend=n,address=9009
+----
+
+For Windows, you can change `dt_socket` to `dt_shmem`.
+
+If you substitute `suspend=y`, the JVM software starts in suspended mode
+and stays suspended until a debugger attaches to it. This is helpful if
+you want to start debugging as soon as the JVM software starts.
+
+To specify a different port (from 9009, the default) to use when
+attaching the JVM software to a debugger, specify `address=`port-number.
+
+You can include additional options. A list of JPDA debugging options is
+available at
+`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`.
+
+[[beaff]][[GSDVG00103]][[generating-a-stack-trace-for-debugging]]
+
+=== Generating a Stack Trace for Debugging
+
+To generate a Java stack trace for debugging, use the
+`asadmin generate-jvm-report --type=thread` command. The stack trace
+goes to the domain-dir`/logs/server.log` file and also appears on the
+command prompt screen. For more information about the
+`asadmin generate-jvm-report` command, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[gekvq]][[GSDVG00104]][[application-client-debugging]]
+
+=== Application Client Debugging
+
+When the `appclient` script executes the `java` command to run the
+Application Client Container (ACC), which in turn runs the client, it
+includes on the command line the value of the `VMARGS` environment
+variable. You can set this variable to any suitable value. For example:
+
+[source]
+----
+VMARGS=-agentlib:transport=dt_socket,server=y,suspend=y,address=8118
+----
+
+For debugging an application client, you should set suspend to `y` so
+you can connect the debugger to the client before any code has actually
+executed. Otherwise, the client may start running and execute past the
+point you want to examine.
+
+You should use different ports for the server and client if you are
+debugging both concurrently. For details about setting the port, see
+link:#beafe[JPDA Options].
+
+You can also include JVM options in the `appclient` script directly. For
+information about the `appclient` script, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+
+[NOTE]
+====
+The Application Client Container is supported only in the full {productName}, not in the Web Profile. See
+link:java-clients.html#beakt[Developing Java Clients].
+====
+
+
+[[beafk]][[GSDVG00105]][[open-message-queue-debugging]]
+
+=== Open Message Queue Debugging
+
+Open Message Queue has a broker logger, which can be useful for
+debugging Java Message Service (JMS) applications, including
+message-driven bean applications. You can adjust the logger's verbosity,
+and you can send the logger output to the broker's console using the
+broker's `-tty` option. For more information, see the link:../openmq/mq-admin-guide.html#GMADG[Open
+Message Queue Administration Guide].
+
+
+[NOTE]
+====
+JMS resources are supported only in the full {productName}, not in
+the Web Profile. See link:jms.html#beaob[Using the Java Message Service].
+====
+
+
+[[beafl]][[GSDVG00106]][[enabling-verbose-mode]]
+
+=== Enabling Verbose Mode
+
+To have the server logs and messages printed to `System.out` on your
+command prompt screen, you can start the server in verbose mode. This
+makes it easy to do simple debugging using print statements, without
+having to view the `server.log` file every time.
+
+To start the server in verbose mode, use the `--verbose` option as
+follows:
+
+[source]
+----
+asadmin start-domain --verbose [domain-name]
+----
+
+When the server is in verbose mode, messages are logged to the console
+or terminal window in addition to the log file. In addition, pressing
+Ctrl-C stops the server and pressing Ctrl-\ (on UNIX platforms) or
+Ctrl-Break (on Windows platforms) prints a thread dump. On UNIX
+platforms, you can also print a thread dump using the `jstack` command
+(see
+`http://docs.oracle.com/javase/8/docs/technotes/tools/share/jstack.html`)
+or the command `kill -QUIT` process_id.
+
+[[gkpdk]][[GSDVG00107]][[class-loader-debugging]]
+
+=== Class Loader Debugging
+
+To generate class loading messages, use the following
+`asadmin create-jvm-options` command:
+
+[source]
+----
+asadmin create-jvm-options -verbose\:class
+----
+
+To send the JVM messages to a special JVM log file instead of `stdout`,
+use the following `asadmin create-jvm-options` commands:
+
+[source]
+----
+asadmin create-jvm-options -XX\:+LogVMOutput
+asadmin create-jvm-options -XX\:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log
+----
+
+
+[NOTE]
+====
+These `-XX` options are specific to the OpenJDK (or Hotspot) JVM and do
+not work with the JRockit JVM.
+====
+
+
+To send the {productName} messages to the Administration Console
+instead of `stderr`, start the domain in verbose mode as described in
+link:#beafl[Enabling Verbose Mode].
+
+[[beafm]][[GSDVG00108]][[glassfish-server-logging]]
+
+=== {productName} Logging
+
+You can use the {productName}'s log files to help debug your
+applications. Use the Administration Console. Select the Stand-Alone
+Instances component, select the instance from the table, then click the
+View Log Files button in the General Information page. Or select the
+Cluster component, select the cluster from the table, select the
+Instances tab, select the instance from the table, then click the View
+Log Files button in the General Information page.
+
+To change logging settings, select Logger Settings under the relevant configuration.
+
+For details about logging, click the Help button in the Administration Console.
+
+[[beafn]][[GSDVG00109]][[profiling-tools]]
+
+=== Profiling Tools
+
+You can use a profiler to perform remote profiling on the {productName} to discover bottlenecks in server-side performance. This section
+describes how to configure profilers for use with {productName}.
+
+The following topics are addressed here:
+
+* link:#gcicc[The NetBeans Profiler]
+* link:#beafo[The HPROF Profiler]
+* link:#beafr[The JProbe Profiler]
+
+Information about comprehensive monitoring and management support in the
+Java 2 Platform, Standard Edition ( J2SE platform) is available at
+`http://docs.oracle.com/javase/8/docs/technotes/guides/management/index.html`.
+
+[[gcicc]][[GSDVG00345]][[the-netbeans-profiler]]
+
+==== The NetBeans Profiler
+
+For information on how to use the NetBeans profiler, see
+`http://profiler.netbeans.org/index.html`.
+
+[[beafo]][[GSDVG00346]][[the-hprof-profiler]]
+
+==== The HPROF Profiler
+
+The Heap and CPU Profiling Agent (HPROF) is a simple profiler agent
+shipped with the Java 2 SDK. It is a dynamically linked library that
+interacts with the Java Virtual Machine Profiler Interface (JVMPI) and
+writes out profiling information either to a file or to a socket in
+ASCII or binary format.
+
+HPROF can monitor CPU usage, heap allocation statistics, and contention
+profiles. In addition, it can also report complete heap dumps and states
+of all the monitors and threads in the Java virtual machine. For more
+details on the HPROF profiler, see the technical article at
+`http://java.sun.com/developer/technicalArticles/Programming/HPROF.html`.
+
+After HPROF is enabled using the following instructions, its libraries
+are loaded into the server process.
+
+[[fvylg]][[GSDVG00050]][[to-use-hprof-profiling-on-unix]]
+
+===== To Use HPROF Profiling on UNIX
+
+1. Use the Administration Console. Select the JVM Settings component
+under the relevant configuration. Then select the Profiler tab.
+2. Edit the following fields:
+* Profiler Name - `hprof`
+* Profiler Enabled - `true`
+* Classpath - (leave blank)
+* Native Library Path - (leave blank)
+* JVM Option - Select Add, type the HPROF JVM option in the Value field,
+then check its box. The syntax of the HPROF JVM option is as follows:
++
+[source]
+----
+-Xrunhprof[:help]|[:param=value,param2=value2, ...]
+----
+Here is an example of params you can use:
++
+[source]
+----
+-Xrunhprof:file=log.txt,thread=y,depth=3
+----
+The file parameter determines where the stack dump is written.
++
+Using help lists parameters that can be passed to HPROF. The output is
+as follows:
++
+[source]
+----
+Hprof usage: -Xrunhprof[:help]|[:<option>=<value>, ...]
+
+== Option Name and Value   Description             Default   -----------             -------
+heap=dump|sites|all     heap profiling          all
+cpu=samples|old         CPU usage               off
+format=a|b              ascii or binary output  a
+file=<file>             write data to file      java.hprof
+                               (.txt for ascii)
+net=<host>:<port>       send data over a socket write to file
+depth=<size>            stack trace depth       4
+cutoff=<value>          output cutoff point     0.0001
+lineno=y|n              line number in traces?  y
+thread=y|n              thread in traces?       n
+doe=y|n                 dump on exit?           y
+----
++
+[NOTE]
+====
+Do not use help in the JVM Option field. This parameter prints text to
+the standard output and then exits.
+
+The help output refers to the parameters as options, but they are not
+the same thing as JVM options.
+====
+
+3. [[hprofstp2]]
+Restart the {productName}.
++
+This writes an HPROF stack dump to the file you specified using the file
+HPROF parameter.
+
+[[beafr]][[GSDVG00347]][[the-jprobe-profiler]]
+
+==== The JProbe Profiler
+
+Information about JProbe from Sitraka is available at
+`http://www.quest.com/jprobe/`.
+
+After JProbe is installed using the following instructions, its
+libraries are loaded into the server process.
+
+[[fvymj]][[GSDVG00051]][[to-enable-remote-profiling-with-jprobe]]
+
+===== To Enable Remote Profiling With JProbe
+
+1. Install JProbe 3.0.1.1. For details, see the JProbe documentation.
+
+2. Configure {productName} using the Administration Console:
+[arabic]
+.. Select the JVM Settings component under the relevant configuration.
+.. Then select the Profiler tab.
+.. Edit the following fields before selecting Save and restarting the server: +
+Profiler Name - `jprobe` +
+Profiler Enabled - `true` +
+Classpath - (leave blank) +
+Native Library Path - JProbe-dir``/profiler`` +
+JVM Option - For each of these options, select Add, type the option in
+the Value field, then check its box:
++
+[source]
+----
+    -Xbootclasspath/p:JProbe-dir/profiler/jpagent.jar
+    -Xrunjprobeagent
+    -Xnoclassgc
+----
++
+[NOTE]
+====
+If any of the configuration options are missing or incorrect, the
+profiler might experience problems that affect the performance of the
+{productName}.
+====
++
+When the server starts up with this configuration, you can attach the
+profiler.
+
+3. Set the following environment variable:
++
+[source]
+----
+JPROBE_ARGS_0=-jp_input=JPL-file-path
+----
+See Step link:#jprbstp6[6] for instructions on how to create the JPL
+file.
+4. Start the server instance.
+
+5. Launch the `jpprofiler` and attach to Remote Session.
+The default port is `4444`.
+
+6. [[jprbstp6]]
+Create the JPL file using the *JProbe Launch Pad*. Here are the required settings: +
+[arabic]
+.. Select Server Side for the type of application.
+.. On the Program tab, provide the following details: +
+Target Server - other-server +
+Server home Directory - as-install +
+Server class File - `com.sun.enterprise.server.J2EERunner` +
+Working Directory - as-install +
+Classpath - as-install``/lib/appserv-rt.jar`` +
+Source File Path - source-code-dir (in case you want to get the line level details) +
+Server class arguments - (optional) +
+Main Package - `com.sun.enterprise.server` +
+You must also set VM, Attach, and Coverage tabs appropriately. +
+For further details, see the JProbe documentation. +
+After you have created the JPL file, use this an input to `JPROBE_ARGS_0`.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/ejb.adoc b/docs/application-development-guide/src/main/asciidoc/ejb.adoc
new file mode 100644
index 0000000..25f20e5
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/ejb.adoc
@@ -0,0 +1,1301 @@
+type=page
+status=published
+title=Using Enterprise JavaBeans Technology
+next=container_managed-persistence.html
+prev=webapps.html
+~~~~~~
+
+= Using Enterprise JavaBeans Technology
+
+[[GSDVG00010]][[beahl]]
+
+
+[[using-enterprise-javabeans-technology]]
+== 8 Using Enterprise JavaBeans Technology
+
+This chapter describes how Enterprise JavaBeans ( EJB) technology is
+supported in the {productName}.
+
+The following topics are addressed here:
+
+* link:#beahn[Value Added Features]
+* link:#beahw[EJB Timer Service]
+* link:#beahx[Using Session Beans]
+* link:#beail[Using Read-Only Beans]
+* link:#beait[Using Message-Driven Beans]
+
+For general information about enterprise beans, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#enterprise-beans[Enterprise Beans]
+in The Jakarta EE Tutorial.
+
+
+[NOTE]
+====
+The Web Profile of the {productName} supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The full {productName} supports the entire EJB
+3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318]
+(`http://jcp.org/en/jsr/detail?id=318`).
+
+The {productName} is backward compatible with 1.1, 2.0, 2.1, and 3.0
+enterprise beans. However, to take advantage of version 3.1 features,
+you should develop new beans as 3.1 enterprise beans.
+====
+
+
+[[beahn]][[GSDVG00145]][[value-added-features]]
+
+=== Value Added Features
+
+The {productName} provides a number of value additions that relate to
+EJB development. References to more in-depth material are included.
+
+The following topics are addressed here:
+
+* link:#beaho[Read-Only Beans]
+* link:#beahp[The `pass-by-reference` Element]
+* link:#beahq[Pooling and Caching]
+* link:#beahu[Priority Based Scheduling of Remote Bean Invocations]
+* link:#beahv[Immediate Flushing]
+
+[[beaho]][[GSDVG00420]][[read-only-beans]]
+
+==== Read-Only Beans
+
+Another feature that the {productName} provides is the read-only
+bean, an EJB 2.1 entity bean that is never modified by an EJB client.
+Read-only beans avoid database updates completely.
+
+
+[NOTE]
+====
+Read-only beans are specific to the {productName} and are not part of
+the Enterprise JavaBeans Specification, v2.1. Use of this feature for an
+EJB 2.1 bean results in a non-portable application.
+
+To make an EJB 3.0 entity read-only, use `@Column` annotations to mark
+its columns `insertable=false` and `updatable=false`.
+====
+
+
+A read-only bean can be used to cache a database entry that is
+frequently accessed but rarely updated (externally by other beans). When
+the data that is cached by a read-only bean is updated by another bean,
+the read-only bean can be notified to refresh its cached data.
+
+The {productName} provides a number of ways by which a read-only
+bean's state can be refreshed. By setting the
+`refresh-period-in-seconds` element in the `glassfish-ejb-jar.xml` file
+and the `trans-attribute` element (or `@TransactionAttribute`
+annotation) in the `ejb-jar.xml` file, it is easy to configure a
+read-only bean that is one of the following:
+
+* Always refreshed
+* Periodically refreshed
+* Never refreshed
+* Programmatically refreshed
+
+Read-only beans are best suited for situations where the underlying data
+never changes, or changes infrequently. For further information and
+usage guidelines, see link:#beail[Using Read-Only Beans].
+
+[[beahp]][[GSDVG00421]][[the-pass-by-reference-element]]
+
+==== The `pass-by-reference` Element
+
+The `pass-by-reference` element in the `glassfish-ejb-jar.xml` file
+allows you to specify the parameter passing semantics for colocated
+remote EJB invocations. This is an opportunity to improve performance.
+However, use of this feature results in non-portable applications. See
+"link:application-deployment-guide/dd-elements.html#GSDPG00219[pass-by-reference]" in {productName} Application Deployment Guide.
+
+[[beahq]][[GSDVG00422]][[pooling-and-caching]]
+
+==== Pooling and Caching
+
+The EJB container of the {productName} pools anonymous instances
+(message-driven beans, stateless session beans, and entity beans) to
+reduce the overhead of creating and destroying objects. The EJB
+container maintains the free pool for each bean that is deployed. Bean
+instances in the free pool have no identity (that is, no primary key
+associated) and are used to serve method calls. The free beans are also
+used to serve all methods for stateless session beans.
+
+Bean instances in the free pool transition from a Pooled state to a
+Cached state after `ejbCreate` and the business methods run. The size
+and behavior of each pool is controlled using pool-related properties in
+the EJB container or the `glassfish-ejb-jar.xml` file.
+
+In addition, the {productName} supports a number of tunable
+parameters that can control the number of "stateful" instances (stateful
+session beans and entity beans) cached as well as the duration they are
+cached. Multiple bean instances that refer to the same database row in a
+table can be cached. The EJB container maintains a cache for each bean
+that is deployed.
+
+To achieve scalability, the container selectively evicts some bean
+instances from the cache, usually when cache overflows. These evicted
+bean instances return to the free bean pool. The size and behavior of
+each cache can be controlled using the cache-related properties in the
+EJB container or the `glassfish-ejb-jar.xml` file.
+
+Pooling and caching parameters for the `glassfish-ejb-jar.xml` file are
+described in "link:application-deployment-guide/dd-elements.html#GSDPG00095[bean-cache]" in {productName} Application Deployment Guide.
+
+[[beahr]][[GSDVG00285]][[pooling-parameters]]
+
+===== Pooling Parameters
+
+One of the most important parameters for {productName} pooling is
+`steady-pool-size`. When `steady-pool-size` is set to a value greater
+than 0, the container not only pre-populates the bean pool with the
+specified number of beans, but also attempts to ensure that this number
+of beans is always available in the free pool. This ensures that there
+are enough beans in the ready-to-serve state to process user requests.
+
+Note that the `steady-pool-size` and `max-pool-size` parameters only
+govern the number of instances that are pooled over a long period of
+time. They do not necessarily guarantee that the number of instances
+that may exist in the JVM at a given time will not exceed the value
+specified by `max-pool-size`. For example, suppose an idle stateless
+session container has a fully-populated pool with a `steady-pool-size`
+of 10. If 20 concurrent requests arrive for the EJB component, the
+container creates 10 additional instances to satisfy the burst of
+requests. The advantage of this is that it prevents the container from
+blocking any of the incoming requests. However, if the activity dies
+down to 10 or fewer concurrent requests, the additional 10 instances are
+discarded.
+
+Another parameter, `pool-idle-timeout-in-seconds`, allows the
+administrator to specify the amount of time a bean instance can be idle
+in the pool. When `pool-idle-timeout-in-seconds` is set to greater than
+0, the container removes or destroys any bean instance that is idle for
+this specified duration.
+
+[[beahs]][[GSDVG00286]][[caching-parameters]]
+
+===== Caching Parameters
+
+{productName} provides a way that completely avoids caching of entity
+beans, using commit option C. Commit option C is particularly useful if
+beans are accessed in large number but very rarely reused. For
+additional information, refer to
+link:transaction-service.html#beajh[Commit Options].
+
+The {productName} caches can be either bounded or unbounded. Bounded
+caches have limits on the number of beans that they can hold beyond
+which beans are passivated. For stateful session beans, there are three
+ways (LRU, NRU and FIFO) of picking victim beans when cache overflow
+occurs. Caches can also passivate beans that are idle (not accessed for
+a specified duration).
+
+[[beahu]][[GSDVG00423]][[priority-based-scheduling-of-remote-bean-invocations]]
+
+==== Priority Based Scheduling of Remote Bean Invocations
+
+You can create multiple thread pools, each having its own work queues.
+An optional element in the `glassfish-ejb-jar.xml` file,
+`use-thread-pool-id`, specifies the thread pool that processes the
+requests for the bean. The bean must have a remote interface, or
+`use-thread-pool-id` is ignored. You can create different thread pools
+and specify the appropriate thread pool ID for a bean that requires a
+quick response time. If there is no such thread pool configured or if
+the element is absent, the default thread pool is used.
+
+[[beahv]][[GSDVG00424]][[immediate-flushing]]
+
+==== Immediate Flushing
+
+Normally, all entity bean updates within a transaction are batched and
+executed at the end of the transaction. The only exception is the
+database flush that precedes execution of a finder or select query.
+
+Since a transaction often spans many method calls, you might want to
+find out if the updates made by a method succeeded or failed immediately
+after method execution. To force a flush at the end of a method's
+execution, use the `flush-at-end-of-method` element in the
+`glassfish-ejb-jar.xml` file. Only non-finder methods in an entity bean
+can be flush-enabled. (For an EJB 2.1 bean, these methods must be in the
+Local, Local Home, Remote, or Remote Home interface.) See
+"link:application-deployment-guide/dd-elements.html#GSDPG00156[flush-at-end-of-method]" in {productName} Application Deployment Guide.
+
+Upon completion of the method, the EJB container updates the database.
+Any exception thrown by the underlying data store is wrapped as follows:
+
+* If the method that triggered the flush is a `create` method, the
+exception is wrapped with `CreateException`.
+* If the method that triggered the flush is a `remove` method, the
+exception is wrapped with `RemoveException`.
+* For all other methods, the exception is wrapped with `EJBException`.
+
+All normal end-of-transaction database synchronization steps occur
+regardless of whether the database has been flushed during the
+transaction.
+
+[[beahw]][[GSDVG00146]][[ejb-timer-service]]
+
+=== EJB Timer Service
+
+The EJB Timer Service uses a database to store persistent information
+about EJB timers. The EJB Timer Service in {productName} is
+preconfigured to use an embedded version of the Apache Derby database.
+
+The EJB Timer Service configuration can store persistent timer
+information in any database supported by the {productName} for
+persistence. For a list of the JDBC drivers currently supported by the
+{productName}, see the link:release-notes.html#GSRLN[{productName} Release Notes]. For configurations of supported and other
+drivers, see "link:administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC
+Drivers]" in {productName} Administration Guide.
+
+The timer service is automatically enabled when you deploy an
+application or module that uses it. You can verify that the timer
+service is running by accessing the following URL:
+
+[source]
+----
+http://localhost:8080/ejb-timer-service-app/timer
+----
+
+To change the database used by the EJB Timer Service, set the EJB Timer
+Service's Timer DataSource setting to a valid JDBC resource. If the EJB
+Timer Service has already been started in a server instance, you must
+also create the timer database table. DDL files are located in
+as-install``/lib/install/databases``.
+
+Using the EJB Timer Service is equivalent to interacting with a single
+JDBC resource manager. If an EJB component or application accesses a
+database either directly through JDBC or indirectly (for example,
+through an entity bean's persistence mechanism), and also interacts with
+the EJB Timer Service, its data source must be configured with an XA
+JDBC driver.
+
+You can change the following EJB Timer Service settings. You must
+restart the server for the changes to take effect.
+
+Minimum Delivery Interval::
+  Specifies the minimum time in milliseconds before an expiration for a
+  particular timer can occur. This guards against extremely small timer
+  increments that can overload the server. The default is `1000`.
+Maximum Redeliveries::
+  Specifies the maximum number of times the EJB timer service attempts
+  to redeliver a timer expiration after an exception or rollback of a
+  container-managed transaction. The default is `1`.
+Redelivery Interval::
+  Specifies how long in milliseconds the EJB timer service waits after a
+  failed `ejbTimeout` delivery before attempting a redelivery. The
+  default is `5000`.
+Timer DataSource::
+  Specifies the database used by the EJB Timer Service. The default is
+  `jdbc/__TimerPool`.
+
++
+[CAUTION]
+====
+Do not use the `jdbc/\__TimerPool` resource for timers in clustered
+{productName} environments.
+You must instead use a custom JDBC resource or the `jdbc/__default` resource.
+See the instructions below, in link:#gktqo[To Deploy an EJB Timer to a Cluster].
+Also refer to
+"link:administration-guide/jdbc.html#GSADG00747[Enabling the jdbc/__default Resource in a Clustered Environment]"
+in {productName} Administration Guide.
+====
+
+
+For information about the `asadmin list-timers` and
+`asadmin migrate-timers` subcommands, see the link:reference-manual.html#GSRFM[{productName} Reference Manual]. For information about
+migrating EJB timers, see "link:ha-administration-guide/instances.html#GSHAG00190[Migrating EJB Timers]" in
+{productName} High Availability Administration
+Guide.
+
+You can use the `--keepstate` option of the `asadmin redeploy` command
+to retain EJB timers between redeployments.
+
+The default for `--keepstate` is false. This option is supported only on
+the default server instance, named `server`. It is not supported and
+ignored for any other target.
+
+When the `--keepstate` is set to true, each application that uses an EJB
+timer is assigned an ID in the timer database. The EJB object that is
+associated with a given application is assigned an ID that is
+constructed from the application ID and a numerical suffix. To preserve
+active timer data, {productName} stores the application ID and the
+EJB ID in the timer database. To restore the data, the class loader of
+the newly redeployed application retrieves the EJB timers that
+correspond to these IDs from the timer database.
+
+For more information about the `asadmin redeploy` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[gktqo]][[GSDVG00070]][[to-deploy-an-ejb-timer-to-a-cluster]]
+
+==== To Deploy an EJB Timer to a Cluster
+
+This procedure explains how to deploy an EJB timer to a cluster.
+
+By default, the {productName} 7 timer service points to the
+preconfigured `jdbc/__TimerPool` resource, which uses an embedded Apache
+Derby database configuration that will not work in clustered
+environments.
+
+The problem is that embedded Apache Derby database runs in the {productName} Java VM, so when you use the `jdbc/__TimerPool` resource, each
+DAS and each clustered server instance will have its own database table.
+Because of this, clustered server instances will not be able to find the
+database table on the DAS, and the DAS will not be able to find the
+tables on the clustered server instances.
+
+The solution is to use either a custom JDBC resource or the
+`jdbc/__default` resource that is preconfigured but not enabled by
+default in {productName}. The `jdbc/__default` resource does not use
+the embedded Apache Derby database by default.
+
+[[GSDVG547]]
+
+Before You Begin
+
+If creating a new timer resource, the resource should be created before
+deploying applications that will use the timer.
+
+
+[CAUTION]
+====
+Do not use the `jdbc/\__TimerPool` resource for timers in clustered
+{productName} environments.
+You must instead use a custom JDBC resource or the `jdbc/__default` resource.
+See "link:GSADG00747[Enabling the jdbc/__default Resource in a Clustered Environment]"
+in {productName} Administration Guide.
+====
+
+
+1. Execute the following command:
++
+[source]
+----
+asadmin set configs.config.cluster_name-config.ejb-container.ejb-timer-service.timer-
+datasource=jdbc/my-timer-resource
+----
+2. Restart the DAS and the target cluster(s).
++
+[source]
+----
+asadmin stop-cluster cluster-name
+asadmin stop-domain domain-name
+asadmin start-domain domain-name
+asadmin start-cluster cluster-name
+----
+
+[[GSDVG548]]
+
+Troubleshooting
+
+If you inadvertently used the `jdbc/__TimerPool` resource for your EJB
+timer in a clustered {productName} environment, the DAS and the
+clustered server instances will be using separate Apache Derby database
+tables that are running in individual Java VMs. For timers to work in a
+clustered environment, the DAS and the clustered server instances must
+share a common database table.
+
+If you attempt to deploy an application with EJB timers without setting
+the timer resource correctly, the startup will fail, and you will be
+left with a marker file, named `ejb-timer-service-app`, on the DAS that
+will prevent the Timer Service from correctly creating the database
+table.
+
+The solution is to remove the marker file on the DAS, restart the DAS
+and the clusters, and then redploy any applications that rely on the
+offending EJB timer. The marker file is located on the DAS in
+domain-dir`/generated/ejb/``ejb-timer-service-app`.
+
+[[beahx]][[GSDVG00147]][[using-session-beans]]
+
+=== Using Session Beans
+
+This section provides guidelines for creating session beans in the
+{productName} environment.
+
+The following topics are addressed here:
+
+* link:#beahy[About the Session Bean Containers]
+* link:#beaib[Stateful Session Bean Failover]
+* link:#beaii[Session Bean Restrictions and Optimizations]
+
+Information on session beans is contained in the Enterprise JavaBeans
+Specification, v3.1.
+
+[[beahy]][[GSDVG00425]][[about-the-session-bean-containers]]
+
+==== About the Session Bean Containers
+
+Like an entity bean, a session bean can access a database through Java
+Database Connectivity (JDBC) calls. A session bean can also provide
+transaction settings. These transaction settings and JDBC calls are
+referenced by the session bean's container, allowing it to participate
+in transactions managed by the container.
+
+A container managing stateless session beans has a different charter
+from a container managing stateful session beans.
+
+The following topics are addressed here:
+
+* link:#beahz[Stateless Container]
+* link:#beaia[Stateful Container]
+
+[[beahz]][[GSDVG00287]][[stateless-container]]
+
+===== Stateless Container
+
+The stateless container manages stateless session beans, which, by
+definition, do not carry client-specific states. All session beans (of a
+particular type) are considered equal.
+
+A stateless session bean container uses a bean pool to service requests.
+The {productName} specific deployment descriptor file,
+`glassfish-ejb-jar.xml`, contains the properties that define the pool:
+
+* `steady-pool-size`
+* `resize-quantity`
+* `max-pool-size`
+* `pool-idle-timeout-in-seconds`
+
+For more information about `glassfish-ejb-jar.xml`, see
+"link:application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in {productName} Application Deployment Guide.
+
+The {productName} provides the `wscompile` and `wsdeploy` tools to
+help you implement a web service endpoint as a stateless session bean.
+For more information about these tools, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beaia]][[GSDVG00288]][[stateful-container]]
+
+===== Stateful Container
+
+The stateful container manages the stateful session beans, which, by
+definition, carry the client-specific state. There is a one-to-one
+relationship between the client and the stateful session beans. At
+creation, each stateful session bean (SFSB) is given a unique session ID
+that is used to access the session bean so that an instance of a
+stateful session bean is accessed by a single client only.
+
+Stateful session beans are managed using cache. The size and behavior of
+stateful session beans cache are controlled by specifying the following
+`glassfish-ejb-jar.xml` parameters:
+
+* `max-cache-size`
+* `resize-quantity`
+* `cache-idle-timeout-in-seconds`
+* `removal-timeout-in-seconds`
+* `victim-selection-policy`
+
+The `max-cache-size` element specifies the maximum number of session
+beans that are held in cache. If the cache overflows (when the number of
+beans exceeds `max-cache-size`), the container then passivates some
+beans or writes out the serialized state of the bean into a file. The
+directory in which the file is created is obtained from the EJB
+container using the configuration APIs.
+
+For more information about `glassfish-ejb-jar.xml`, see
+"link:application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in {productName} Application Deployment Guide.
+
+The passivated beans are stored on the file system. The Session Store
+Location setting in the EJB container allows the administrator to
+specify the directory where passivated beans are stored. By default,
+passivated stateful session beans are stored in application-specific
+subdirectories created under domain-dir`/session-store`.
+
+
+[NOTE]
+====
+Make sure the `delete` option is set in the `server.policy` file, or
+expired file-based sessions might not be deleted properly. For more
+information about `server.policy`, see link:securing-apps.html#beabx[The
+`server.policy` File].
+====
+
+
+The Session Store Location setting also determines where the session
+state is persisted if it is not highly available; see
+link:#beaic[Choosing a Persistence Store].
+
+[[beaib]][[GSDVG00426]][[stateful-session-bean-failover]]
+
+==== Stateful Session Bean Failover
+
+An SFSB's state can be saved in a persistent store in case a server
+instance fails. The state of an SFSB is saved to the persistent store at
+predefined points in its life cycle. This is called checkpointing. If
+SFSB checkpointing is enabled, checkpointing generally occurs after any
+transaction involving the SFSB is completed, even if the transaction
+rolls back.
+
+However, if an SFSB participates in a bean-managed transaction, the
+transaction might be committed in the middle of the execution of a bean
+method. Since the bean's state might be undergoing transition as a
+result of the method invocation, this is not an appropriate instant to
+checkpoint the bean's state. In this case, the EJB container checkpoints
+the bean's state at the end of the corresponding method, provided the
+bean is not in the scope of another transaction when that method ends.
+If a bean-managed transaction spans across multiple methods,
+checkpointing is delayed until there is no active transaction at the end
+of a subsequent method.
+
+The state of an SFSB is not necessarily transactional and might be
+significantly modified as a result of non-transactional business
+methods. If this is the case for an SFSB, you can specify a list of
+checkpointed methods. If SFSB checkpointing is enabled, checkpointing
+occurs after any checkpointed methods are completed.
+
+The following table lists the types of references that SFSB failover
+supports. All objects bound into an SFSB must be one of the supported
+types. In the table, No indicates that failover for the object type
+might not work in all cases and that no failover support is provided.
+However, failover might work in some cases for that object type. For
+example, failover might work because the class implementing that type is
+serializable.
+
+[[GSDVG549]][[sthref18]][[fvyed]]
+
+Table 8-1 Object Types Supported for Jakarta EE Stateful Session Bean State
+Failover
+
+[width="100%",cols="45%,55%",options="header",]
+|===
+|Java Object Type |Failover Support
+
+|Colocated or distributed stateless session, stateful session, or entity bean reference
+|Yes
+
+|JNDI context
+|Yes, `InitialContext` and `java:comp/env`
+
+|UserTransaction
+|Yes, but if the instance that fails is never
+restarted, any prepared global transactions are lost and might not be
+correctly rolled back or committed.
+
+|JDBC DataSource
+|No
+
+|Java Message Service (JMS) ConnectionFactory, Destination
+|No
+
+|JavaMail Session
+|No
+
+|Connection Factory
+|No
+
+|Administered Object
+|No
+
+|Web service reference
+|No
+
+|Serializable Java types
+|Yes
+
+|Extended persistence context
+|No
+|===
+
+
+For more information about the `InitialContext`, see
+link:jndi.html#beans[Accessing the Naming Context]. For more information
+about transaction recovery, see link:transaction-service.html#beanm[Using
+the Transaction Service]. For more information about Administered
+Objects, see "link:administration-guide/jms.html#GSADG00599[Administering JMS Physical Destinations]"
+in {productName} Administration Guide.
+
+
+[NOTE]
+====
+Idempotent URLs are supported along the HTTP path, but not the RMI-IIOP
+path. For more information, see link:webapps.html#beage[Configuring
+Idempotent URL Requests].
+
+If a server instance to which an RMI-IIOP client request is sent crashes
+during the request processing (before the response is prepared and sent
+back to the client), an error is sent to the client. The client must
+retry the request explicitly. When the client retries the request, the
+request is sent to another server instance in the cluster, which
+retrieves session state information for this client.
+
+HTTP sessions can also be saved in a persistent store in case a server
+instance fails. In addition, if a distributable web application
+references an SFSB, and the web application's session fails over, the
+EJB reference is also failed over. For more information, see
+link:webapps.html#beahe[Distributed Sessions and Persistence].
+
+If an SFSB that uses session persistence is undeployed while the
+{productName} instance is stopped, the session data in the
+persistence store might not be cleared. To prevent this, undeploy the
+SFSB while the {productName} instance is running.
+====
+
+
+Configure SFSB failover by:
+
+* link:#beaic[Choosing a Persistence Store]
+* link:#beaid[Enabling Checkpointing]
+* link:#beaih[Specifying Methods to Be Checkpointed]
+
+[[beaic]][[GSDVG00289]][[choosing-a-persistence-store]]
+
+===== Choosing a Persistence Store
+
+The following types of persistent storage are supported for passivation
+and checkpointing of the SFSB state:
+
+* The local file system - Allows a single server instance to recover the
+SFSB state after a failure and restart. This store also provides
+passivation and activation of the state to help control the amount of
+memory used. This option is not supported in a production environment
+that requires SFSB state persistence. This is the default storage
+mechanism if availability is not enabled.
+* Other servers - Uses other server instances in the cluster for session
+persistence. Clustered server instances replicate session state. Each
+backup instance stores the replicated data in memory. This is the
+default storage mechanism if availability is enabled.
+
+Choose the persistence store in one of the following ways:
+
+* To use the local file system, first disable availability. Select the
+Availability Service component under the relevant configuration in the
+Administration Console. Uncheck the Availability Service box. Then
+select the EJB Container component and edit the Session Store Location
+value. The default is domain-dir`/session-store`.
+* To use other servers, select the Availability Service component under
+the relevant configuration in the Administration Console. Check the
+Availability Service box. To enable availability for the EJB container,
+select the EJB Container Availability tab, then check the Availability
+Service box. All instances in an {productName} cluster should have
+the same availability settings to ensure consistent behavior.
+
+For more information about SFSB state persistence, see the
+link:ha-administration-guide.html#GSHAG[{productName} High Availability
+Administration Guide].
+
+[[gkpdg]][[GSDVG00033]][[using-the---keepstate-option]]
+
+Using the `--keepstate` Option
+
+If you are using the file system for persistence, you can use the
+`--keepstate` option of the `asadmin redeploy` command to retain the
+SFSB state between redeployments.
+
+The default for `--keepstate` is false. This option is supported only on
+the default server instance, named `server`. It is not supported and
+ignored for any other target.
+
+Some changes to an application between redeployments prevent this
+feature from working properly. For example, do not change the set of
+instance variables in the SFSB bean class.
+
+If any active SFSB instance fails to be preserved or restored, none of
+the SFSB instances will be available when the redeployment is complete.
+However, the redeployment continues and a warning is logged.
+
+To preserve active state data, {productName} serializes the data and
+saves it in memory. To restore the data, the class loader of the newly
+redeployed application deserializes the data that was previously saved.
+
+For more information about the `asadmin redeploy` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[gkpef]][[GSDVG00034]][[using-the---asyncreplication-option]]
+
+Using the `--asyncreplication` Option
+
+If you are using replication on other servers for persistence, you can
+use the `--asyncreplication` option of the `asadmin deploy` command to
+specify that SFSB states are first buffered and then replicated using a
+separate asynchronous thread. If `--asyncreplication` is set to true
+(default), performance is improved but availability is reduced. If the
+instance where states are buffered but not yet replicated fails, the
+states are lost. If set to false, performance is reduced but
+availability is guaranteed. States are not buffered but immediately
+transmitted to other instances in the cluster.
+
+For more information about the `asadmin deploy` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beaid]][[GSDVG00290]][[enabling-checkpointing]]
+
+===== Enabling Checkpointing
+
+The following sections describe how to enable SFSB checkpointing:
+
+* link:#beaie[Server Instance and EJB Container Levels]
+* link:#beaif[Application and EJB Module Levels]
+* link:#beaig[SFSB Level]
+
+[[beaie]][[GSDVG00035]][[server-instance-and-ejb-container-levels]]
+
+Server Instance and EJB Container Levels
+
+To enable SFSB checkpointing at the server instance or EJB container
+level, see link:#beaic[Choosing a Persistence Store].
+
+[[beaif]][[GSDVG00036]][[application-and-ejb-module-levels]]
+
+Application and EJB Module Levels
+
+To enable SFSB checkpointing at the application or EJB module level
+during deployment, use the `asadmin deploy` or `asadmin deploydir`
+command with the `--availabilityenabled` option set to `true`. For
+details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+[[beaig]][[GSDVG00037]][[sfsb-level]]
+
+SFSB Level
+
+To enable SFSB checkpointing at the SFSB level, set
+`availability-enabled="true"` in the `ejb` element of the SFSB's
+`glassfish-ejb-jar.xml` file as follows:
+
+[source,xml]
+----
+<glassfish-ejb-jar>
+   ...
+   <enterprise-beans>
+      ...
+      <ejb availability-enabled="true">
+         <ejb-name>MySFSB</ejb-name>
+      </ejb>
+   ...
+   </enterprise-beans>
+</glassfish-ejb-jar>
+----
+
+[[beaih]][[GSDVG00291]][[specifying-methods-to-be-checkpointed]]
+
+===== Specifying Methods to Be Checkpointed
+
+If SFSB checkpointing is enabled, checkpointing generally occurs after
+any transaction involving the SFSB is completed, even if the transaction
+rolls back.
+
+To specify additional optional checkpointing of SFSBs at the end of
+non-transactional business methods that cause important modifications to
+the bean's state, use the `checkpoint-at-end-of-method` element within
+the `ejb` element in `glassfish-ejb-jar.xml`.
+
+For example:
+
+[source,xml]
+----
+<glassfish-ejb-jar>
+   ...
+   <enterprise-beans>
+      ...
+      <ejb availability-enabled="true">
+         <ejb-name>ShoppingCartEJB</ejb-name>
+         <checkpoint-at-end-of-method>
+            <method>
+               <method-name>addToCart</method-name>
+            </method>
+         </checkpoint-at-end-of-method>
+      </ejb>
+      ...
+   </enterprise-beans>
+</glassfish-ejb-jar>
+----
+
+For details, see "link:application-deployment-guide/dd-elements.html#GSDPG00108[checkpoint-at-end-of-method]" in
+{productName} Application Deployment Guide.
+
+The non-transactional methods in the `checkpoint-at-end-of-method`
+element can be the following:
+
+* `create` methods defined in the home or business interface of the
+SFSB, if you want to checkpoint the initial state of the SFSB
+immediately after creation
+* For SFSBs using container managed transactions only, methods in the
+remote interface of the bean marked with the transaction attribute
+TX_NOT_SUPPORTED or TX_NEVER
+* For SFSBs using bean managed transactions only, methods in which a
+bean managed transaction is neither started nor committed
+
+Any other methods mentioned in this list are ignored. At the end of
+invocation of each of these methods, the EJB container saves the state
+of the SFSB to persistent store.
+
+
+[NOTE]
+====
+If an SFSB does not participate in any transaction, and if none of its
+methods are explicitly specified in the `checkpoint-at-end-of-method`
+element, the bean's state is not checkpointed at all even if
+`availability-enabled="true"` for this bean.
+
+For better performance, specify a small subset of methods. The methods
+chosen should accomplish a significant amount of work in the context of
+the Jakarta EE application or should result in some important modification
+to the bean's state.
+====
+
+
+[[beaii]][[GSDVG00427]][[session-bean-restrictions-and-optimizations]]
+
+==== Session Bean Restrictions and Optimizations
+
+This section discusses restrictions on developing session beans and
+provides some optimization guidelines.
+
+* link:#beaij[Optimizing Session Bean Performance]
+* link:#beaik[Restricting Transactions]
+* link:#glanq[EJB Singletons]
+
+[[beaij]][[GSDVG00292]][[optimizing-session-bean-performance]]
+
+===== Optimizing Session Bean Performance
+
+For stateful session beans, colocating the stateful beans with their
+clients so that the client and bean are executing in the same process
+address space improves performance.
+
+[[beaik]][[GSDVG00293]][[restricting-transactions]]
+
+===== Restricting Transactions
+
+The following restrictions on transactions are enforced by the container
+and must be observed as session beans are developed:
+
+* A session bean can participate in, at most, a single transaction at a
+time.
+* If a session bean is participating in a transaction, a client cannot
+invoke a method on the bean such that the `trans-attribute` element (or
+`@TransactionAttribute` annotation) in the `ejb-jar.xml` file would
+cause the container to execute the method in a different or unspecified
+transaction context or an exception is thrown.
+* If a session bean instance is participating in a transaction, a client
+cannot invoke the `remove` method on the session object's home or
+business interface object, or an exception is thrown.
+
+[[glanq]][[GSDVG00294]][[ejb-singletons]]
+
+===== EJB Singletons
+
+EJB Singletons are created for each server instance in a cluster, and
+not once per cluster.
+
+[[beail]][[GSDVG00148]][[using-read-only-beans]]
+
+=== Using Read-Only Beans
+
+A read-only bean is an EJB 2.1 entity bean that is never modified by an
+EJB client. The data that a read-only bean represents can be updated
+externally by other enterprise beans, or by other means, such as direct
+database updates.
+
+
+[NOTE]
+====
+Read-only beans are specific to the {productName} and are not part of
+the Enterprise JavaBeans Specification, v2.1. Use of this feature for an
+EJB 2.1 bean results in a non-portable application.
+
+To make an EJB 3.0 entity bean read-only, use `@Column` annotations to
+mark its columns `insertable=false` and `updatable=false`.
+====
+
+
+Read-only beans are best suited for situations where the underlying data
+never changes, or changes infrequently.
+
+The following topics are addressed here:
+
+* link:#beaim[Read-Only Bean Characteristics and Life Cycle]
+* link:#beain[Read-Only Bean Good Practices]
+* link:#beaio[Refreshing Read-Only Beans]
+* link:#beais[Deploying Read-Only Beans]
+
+[[beaim]][[GSDVG00428]][[read-only-bean-characteristics-and-life-cycle]]
+
+==== Read-Only Bean Characteristics and Life Cycle
+
+Read-only beans are best suited for situations where the underlying data
+never changes, or changes infrequently. For example, a read-only bean
+can be used to represent a stock quote for a particular company, which
+is updated externally. In such a case, using a regular entity bean might
+incur the burden of calling `ejbStore`, which can be avoided by using a
+read-only bean.
+
+Read-only beans have the following characteristics:
+
+* Only entity beans can be read-only beans.
+* Either bean-managed persistence (BMP) or container-managed persistence
+(CMP) is allowed. If CMP is used, do not create the database schema
+during deployment. Instead, work with your database administrator to
+populate the data into the tables. See
+link:container_managed-persistence.html#beajj[Using Container-Managed
+Persistence].
+* Only container-managed transactions are allowed; read-only beans
+cannot start their own transactions.
+* Read-only beans don't update any bean state.
+* `ejbStore` is never called by the container.
+* `ejbLoad` is called only when a transactional method is called or when
+the bean is initially created (in the cache), or at regular intervals
+controlled by the bean's `refresh-period-in-seconds` element in the
+`glassfish-ejb-jar.xml` file.
+* The home interface can have any number of find methods. The return
+type of the find methods must be the primary key for the same bean type
+(or a collection of primary keys).
+* If the data that the bean represents can change, then
+`refresh-period-in-seconds` must be set to refresh the beans at regular
+intervals. `ejbLoad` is called at this regular interval.
+
+A read-only bean comes into existence using the appropriate find
+methods.
+
+Read-only beans are cached and have the same cache properties as entity
+beans. When a read-only bean is selected as a victim to make room in the
+cache, `ejbPassivate` is called and the bean is returned to the free
+pool. When in the free pool, the bean has no identity and is used only
+to serve any finder requests.
+
+Read-only beans are bound to the naming service like regular read-write
+entity beans, and clients can look up read-only beans the same way
+read-write entity beans are looked up.
+
+[[beain]][[GSDVG00429]][[read-only-bean-good-practices]]
+
+==== Read-Only Bean Good Practices
+
+For best results, follow these guidelines when developing read-only
+beans:
+
+* Avoid having any `create` or `remove` methods in the home interface.
+* Use any of the valid EJB 2.1 transaction attributes for the
+`trans-attribute` element.
++
+The reason for having `TX_SUPPORTED` is to allow reading uncommitted
+data in the same transaction. Also, the transaction attributes can be
+used to force `ejbLoad`.
+
+[[beaio]][[GSDVG00430]][[refreshing-read-only-beans]]
+
+==== Refreshing Read-Only Beans
+
+There are several ways of refreshing read-only beans, as addressed in
+the following sections:
+
+* link:#beaip[Invoking a Transactional Method]
+* link:#beaiq[Refreshing Periodically]
+* link:#beair[Refreshing Programmatically]
+
+[[beaip]][[GSDVG00295]][[invoking-a-transactional-method]]
+
+===== Invoking a Transactional Method
+
+Invoking any transactional method invokes `ejbLoad`.
+
+[[beaiq]][[GSDVG00296]][[refreshing-periodically]]
+
+===== Refreshing Periodically
+
+Use the `refresh-period-in-seconds` element in the
+`glassfish-ejb-jar.xml` file to refresh a read-only bean periodically.
+
+* If the value specified in `refresh-period-in-seconds` is zero or not
+specified, which is the default, the bean is never refreshed (unless a
+transactional method is accessed).
+* If the value is greater than zero, the bean is refreshed at the rate
+specified.
+
+
+[NOTE]
+====
+This is the only way to refresh the bean state if the data can be
+modified external to the {productName}.
+====
+
+
+By default, a single timer is used for all instances of a read-only
+bean. When that timer fires, all bean instances are marked as expired
+and are refreshed from the database the next time they are used.
+
+Use the `-Dcom.sun.ejb.containers.readonly.relative.refresh.mode=true`
+flag to refresh each bean instance independently upon access if its
+refresh period has expired. The default is `false`. Note that each
+instance still has the same refresh period. This additional level of
+granularity can improve the performance of read-only beans that do not
+need to be refreshed at the same time.
+
+To set this flag, use the `asadmin create-jvm-options` command. For
+example:
+
+[source]
+----
+asadmin create-jvm-options -Dcom.sun.ejb.containers.readonly.relative.refresh.mode=true
+----
+
+[[beair]][[GSDVG00297]][[refreshing-programmatically]]
+
+===== Refreshing Programmatically
+
+Typically, beans that update any data that is cached by read-only beans
+need to notify the read-only beans to refresh their state. Use
+ReadOnlyBeanNotifier to force the refresh of read-only beans.
+
+To do this, invoke the following methods on the ReadOnlyBeanNotifier
+bean:
+
+[source,java]
+----
+public interface ReadOnlyBeanNotifier extends java.rmi.Remote {
+   refresh(Object PrimaryKey) throws RemoteException;
+ }
+----
+
+The implementation of the ReadOnlyBeanNotifier interface is provided by
+the container. The bean looks up ReadOnlyBeanNotifier using a fragment
+of code such as the following example:
+
+[source,java]
+----
+com.sun.appserv.ejb.ReadOnlyBeanHelper helper =
+  new com.sun.appserv.ejb.ReadOnlyBeanHelper();
+com.sun.appserv.ejb.ReadOnlyBeanNotifier notifier =
+  helper.getReadOnlyBeanNotifier("java:comp/env/ejb/ReadOnlyCustomer");
+notifier.refresh(PrimaryKey);
+----
+
+For a local read-only bean notifier, the lookup has this modification:
+
+[source,java]
+----
+helper.getReadOnlyBeanLocalNotifier("java:comp/env/ejb/LocalReadOnlyCustomer");
+----
+
+Beans that update any data that is cached by read-only beans need to
+call the `refresh` methods. The next (non-transactional) call to the
+read-only bean invokes `ejbLoad`.
+
+For Javadoc tool pages relevant to read-only beans, go to
+`http://glassfish.java.net/nonav/docs/v3/api/` and click on the
+`com.sun.appserv.ejb` package.
+
+[[beais]][[GSDVG00431]][[deploying-read-only-beans]]
+
+==== Deploying Read-Only Beans
+
+Read-only beans are deployed in the same manner as other entity beans.
+However, in the entry for the bean in the `glassfish-ejb-jar.xml` file,
+the `is-read-only-bean` element must be set to true. That is:
+
+`<is-read-only-bean>true</is-read-only-bean>`
+
+Also, the `refresh-period-in-seconds` element in the
+`glassfish-ejb-jar.xml` file can be set to some value that specifies the
+rate at which the bean is refreshed. If this element is missing, no
+refresh occurs.
+
+All requests in the same transaction context are routed to the same
+read-only bean instance. Set the `allow-concurrent-access` element to
+either `true` (to allow concurrent accesses) or `false` (to serialize
+concurrent access to the same read-only bean). The default is `false`.
+
+For further information on these elements, refer to
+"link:application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in {productName} Application Deployment Guide.
+
+[[beait]][[GSDVG00149]][[using-message-driven-beans]]
+
+=== Using Message-Driven Beans
+
+This section describes message-driven beans and explains the
+requirements for creating them in the {productName} environment.
+
+The following topics are addressed here:
+
+* link:#beaiu[Message-Driven Bean Configuration]
+* link:#beaiy[Message-Driven Bean Restrictions and Optimizations]
+
+[[beaiu]][[GSDVG00432]][[message-driven-bean-configuration]]
+
+==== Message-Driven Bean Configuration
+
+The following topics are addressed here:
+
+* link:#beaiv[Connection Factory and Destination]
+* link:#beaiw[Message-Driven Bean Pool]
+* link:#beaix[Domain-Level Settings]
+
+For information about setting up load balancing for message-driven
+beans, see link:jms.html#beaop[Load-Balanced Message Inflow].
+
+[[beaiv]][[GSDVG00298]][[connection-factory-and-destination]]
+
+===== Connection Factory and Destination
+
+A message-driven bean is a client to a Connector inbound resource
+adapter. The message-driven bean container uses the JMS service
+integrated into the {productName} for message-driven beans that are
+JMS clients. JMS clients use JMS Connection Factory- and
+Destination-administered objects. A JMS Connection Factory administered
+object is a resource manager Connection Factory object that is used to
+create connections to the JMS provider.
+
+The `mdb-connection-factory` element in the `glassfish-ejb-jar.xml` file
+for a message-driven bean specifies the connection factory that creates
+the container connection to the JMS provider.
+
+The `jndi-name` element of the `ejb` element in the
+`glassfish-ejb-jar.xml` file specifies the JNDI name of the administered
+object for the JMS Queue or Topic destination that is associated with
+the message-driven bean.
+
+[[beaiw]][[GSDVG00299]][[message-driven-bean-pool]]
+
+===== Message-Driven Bean Pool
+
+The container manages a pool of message-driven beans for the concurrent
+processing of a stream of messages. The `glassfish-ejb-jar.xml` file
+contains the elements that define the pool (that is, the `bean-pool`
+element):
+
+* `steady-pool-size`
+* `resize-quantity`
+* `max-pool-size`
+* `pool-idle-timeout-in-seconds`
+
+For more information about `glassfish-ejb-jar.xml`, see
+"link:application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in {productName} Application Deployment Guide.
+
+[[beaix]][[GSDVG00300]][[domain-level-settings]]
+
+===== Domain-Level Settings
+
+You can control the following domain-level message-driven bean settings
+in the EJB container:
+
+Initial and Minimum Pool Size::
+  Specifies the initial and minimum number of beans maintained in the
+  pool. The default is `0`.
+Maximum Pool Size::
+  Specifies the maximum number of beans that can be created to satisfy
+  client requests. The default is `2`.
+Pool Resize Quantity::
+  Specifies the number of beans to be created if a request arrives when
+  the pool is empty (subject to the Initial and Minimum Pool Size), or
+  the number of beans to remove if idle for more than the Idle Timeout.
+  The default is `8`.
+Idle Timeout::
+  Specifies the maximum time in seconds that a bean can remain idle in
+  the pool. After this amount of time, the bean is destroyed. The
+  default is `600` (10 minutes). A value of `0` means a bean can remain
+  idle indefinitely.
+
+For information on monitoring message-driven beans, click the Help
+button in the Administration Console. Select the Stand-Alone Instances
+component, select the instance from the table, and select the Monitor
+tab. Or select the Clusters component, select the cluster from the
+table, select the Instances tab, select the instance from the table, and
+select the Monitor tab.
+
+
+[NOTE]
+====
+Running monitoring when it is not needed might impact performance, so
+you might choose to turn monitoring off when it is not in use. For
+details, see "olink:GSADG00011[Administering the Monitoring Service]" in
+{productName} Administration Guide.
+====
+
+
+[[beaiy]][[GSDVG00433]][[message-driven-bean-restrictions-and-optimizations]]
+
+==== Message-Driven Bean Restrictions and Optimizations
+
+This section discusses the following restrictions and performance
+optimizations that pertain to developing message-driven beans:
+
+* link:#beaiz[Pool Tuning and Monitoring]
+* link:#beaja[The `onMessage` Runtime Exception]
+
+[[beaiz]][[GSDVG00301]][[pool-tuning-and-monitoring]]
+
+===== Pool Tuning and Monitoring
+
+The message-driven bean pool is also a pool of threads, with each
+message-driven bean instance in the pool associating with a server
+session, and each server session associating with a thread. Therefore, a
+large pool size also means a high number of threads, which impacts
+performance and server resources.
+
+When configuring message-driven bean pool properties, make sure to
+consider factors such as message arrival rate and pattern, `onMessage`
+method processing time, overall server resources (threads, memory, and
+so on), and any concurrency requirements and limitations from other
+resources that the message-driven bean accesses.
+
+When tuning performance and resource usage, make sure to consider
+potential JMS provider properties for the connection factory used by the
+container (the `mdb-connection-factory` element in the
+`glassfish-ejb-jar.xml` file). For example, you can tune the Open
+Message Queue flow control related properties for connection factory in
+situations where the message incoming rate is much higher than
+`max-pool-size` can handle.
+
+Refer to "link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
+{productName} Administration Guide for
+information on how to get message-driven bean pool statistics.
+
+[[beaja]][[GSDVG00302]][[the-onmessage-runtime-exception]]
+
+===== The `onMessage` Runtime Exception
+
+Message-driven beans, like other well-behaved MessageListeners, should
+not, in general, throw runtime exceptions. If a message-driven bean's
+`onMessage` method encounters a system-level exception or error that
+does not allow the method to successfully complete, the Enterprise
+JavaBeans Specification, v3.0 provides the following guidelines:
+
+* If the bean method encounters a runtime exception or error, it should
+simply propagate the error from the bean method to the container.
+* If the bean method performs an operation that results in a checked
+exception that the bean method cannot recover, the bean method should
+throw the `javax.ejb.EJBException` that wraps the original exception.
+* Any other unexpected error conditions should be reported using
+`javax.ejb.EJBException` (`javax.ejb.EJBException` is a subclass of
+`java.lang.RuntimeException`).
+
+Under container-managed transaction demarcation, upon receiving a
+runtime exception from a message-driven bean's `onMessage` method, the
+container rolls back the container-started transaction and the message
+is redelivered. This is because the message delivery itself is part of
+the container-started transaction. By default, the {productName}
+container closes the container's connection to the JMS provider when the
+first runtime exception is received from a message-driven bean
+instance's `onMessage` method. This avoids potential message redelivery
+looping and protects server resources if the message-driven bean's
+`onMessage` method continues misbehaving. To change this default
+container behavior, use the `cmt-max-runtime-exceptions` property of the
+MDB container. Here is an example `asadmin set` command that sets this
+property:
+
+[source]
+----
+asadmin set server-config.mdb-container.property.cmt-max-runtime-exceptions="5"
+----
+
+For more information about the `asadmin set` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+The `cmt-max-runtime-exceptions` property specifies the maximum number
+of runtime exceptions allowed from a message-driven bean's `onMessage`
+method before the container starts to close the container's connection
+to the message source. By default this value is 1; -1 disables this
+container protection.
+
+A message-driven bean's `onMessage` method can use the
+`jakarta.jms.Message.getJMSRedelivered` method to check whether a received
+message is a redelivered message.
+
+
+[NOTE]
+====
+The `cmt-max-runtime-exceptions` property is deprecated.
+====
+
+
+
diff --git a/docs/application-development-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/application-development-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/application-development-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/application-development-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/application-development-guide/src/main/asciidoc/java-clients.adoc b/docs/application-development-guide/src/main/asciidoc/java-clients.adoc
new file mode 100644
index 0000000..44f542c
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/java-clients.adoc
@@ -0,0 +1,1651 @@
+type=page
+status=published
+title=Developing Java Clients
+next=connectors.html
+prev=container_managed-persistence.html
+~~~~~~
+
+= Developing Java Clients
+
+[[GSDVG00012]][[beakt]]
+
+
+[[developing-java-clients]]
+== 10 Developing Java Clients
+
+This chapter describes how to develop, assemble, and deploy Java
+clients.
+
+The following topics are addressed here:
+
+* link:#beaku[Introducing the Application Client Container]
+* link:#beakv[Developing Clients Using the ACC]
+* link:#gkusn[Developing Clients Without the ACC]
+
+
+[NOTE]
+====
+The Web Profile of the Oracle{productName} supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The full {productName} supports the entire EJB
+3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318].
+
+Accordingly, the Application Client Container is supported only in the
+full {productName}, not in the Web Profile.
+
+JMS resources are supported only in the full {productName}, not in
+the Web Profile. See link:jms.html#beaob[Using the Java Message Service].
+====
+
+
+[[beaku]][[GSDVG00159]][[introducing-the-application-client-container]]
+
+=== Introducing the Application Client Container
+
+The Application Client Container (ACC) includes a set of Java classes,
+libraries, and other files that are required for and distributed with
+Java client programs that execute in their own Java Virtual Machine
+(JVM). The ACC manages the execution of Jakarta EE application client
+components (application clients), which are used to access a variety of
+Jakarta EE services (such as JMS resources, EJB components, web services,
+security, and so on.) from a JVM outside the {productName}.
+
+The ACC communicates with the {productName} using RMI-IIOP protocol
+and manages the details of RMI-IIOP communication using the client ORB
+that is bundled with it. Compared to other Jakarta EE containers, the ACC
+is lightweight.
+
+For information about debugging application clients, see
+link:debugging-apps.html#gekvq[Application Client Debugging].
+
+
+[NOTE]
+====
+Interoperability between application clients and {productName}s
+running under different major versions is not supported.
+====
+
+
+[[fvymq]][[GSDVG00459]][[acc-security]]
+
+==== ACC Security
+
+The ACC determines when authentication is needed. This typically occurs
+when the client refers to an EJB component that requires authorization
+or when annotations in the client's `main` class trigger injection
+which, in turn, requires contact with the {productName}'s naming
+service. To authenticate the end user, the ACC prompts for any required
+information, such as a username and password. The ACC itself provides a
+very simple dialog box to prompt for and read these values.
+
+The ACC integrates with the {productName}'s authentication system. It
+also supports SSL (Secure Socket Layer)/IIOP if configured and when
+necessary; see link:#gckgn[Using RMI/IIOP Over SSL].
+
+You can provide an alternate implementation to gather authentication
+information, tailored to the needs of the application client. To do so,
+include the class to perform these duties in the application client and
+identify the fully-qualified name of this class in the
+`callback-handler` element of the `application-client.xml` descriptor
+for the client. The ACC uses this class instead of its default class for
+asking for and reading the authentication information. The class must
+implement the javax.security.auth.callback.CallbackHandler interface.
+See the Jakarta EE specification, section 9.2, Application Clients:
+Security, for more details.
+
+Application clients can use link:securing-apps.html#beacm[Programmatic
+Login Using the ProgrammaticLogin Class].
+
+[[fvymv]][[GSDVG00460]][[acc-naming]]
+
+==== ACC Naming
+
+The client container enables the application clients to use the Java
+Naming and Directory Interface (JNDI) to look up Jakarta EE services (such
+as JMS resources, EJB components, web services, security, and so on.)
+and to reference configurable parameters set at the time of deployment.
+
+[[gbgfe]][[GSDVG00461]][[application-client-annotation]]
+
+==== Application Client Annotation
+
+Annotation is supported for the main class and the optional callback
+handler class in application clients. For more information, see
+"link:application-deployment-guide/overview.html#GSDPG00320[Deployment Descriptors and Annotations]" in {productName} Application Deployment Guide.
+
+[[gavkg]][[GSDVG00462]][[java-web-start]]
+
+==== Java Web Start
+
+Java Web Start allows your application client to be easily launched and
+automatically downloaded and updated. It is enabled for all application
+clients by default. For more information, see link:#gavmf[Using Java Web
+Start].
+
+[[gipjj]][[GSDVG00463]][[application-client-jar-file]]
+
+==== Application Client JAR File
+
+In {productName} 7, the downloaded appclient JAR file is smaller
+than in previous releases, with dependent classes in separate JAR files.
+When copying the downloaded appclient to another location, make sure to
+include the JAR files containing the dependent classes as well. You can
+also use the `asadmin get-client-stubs` command to retrieve the
+appclient and all associated application JAR files and place them in
+another location.
+
+[[beakv]][[GSDVG00160]][[developing-clients-using-the-acc]]
+
+=== Developing Clients Using the ACC
+
+This section describes the procedure to develop, assemble, and deploy
+client applications using the ACC.
+
+The following topics are addressed here:
+
+* link:#beakw[To Access an EJB Component From an Application Client]
+* link:#beakx[To Access a JMS Resource From an Application Client]
+* link:#gavmf[Using Java Web Start]
+* link:#gipkt[Using the Embeddable ACC]
+* link:#beaky[Running an Application Client Using the `appclient`
+Script]
+* link:#beakz[Using the `package-appclient` Script]
+* link:#fvymy[The `client.policy` File]
+* link:#gckgn[Using RMI/IIOP Over SSL]
+* link:#ghbpc[Connecting to a Remote EJB Module Through a Firewall]
+* link:#gipkj[Specifying a Splash Screen]
+* link:#gjiec[Setting Login Retries]
+* link:#gjpjt[Using Libraries with Application Clients]
+
+[[beakw]][[GSDVG00072]][[to-access-an-ejb-component-from-an-application-client]]
+
+==== To Access an EJB Component From an Application Client
+
+1. In your client code, reference the EJB component by using an `@EJB`
+annotation or by looking up the JNDI name as defined in the `ejb-jar.xml` file. +
+For more information about naming and lookups, see
+link:jndi.html#beans[Accessing the Naming Context]. +
+If load balancing is enabled as in Step link:#accejb8[7] and the EJB
+components being accessed are in a different cluster, the endpoint list
+must be included in the lookup, as follows:
++
+[source]
+----
+corbaname:host1:port1,host2:port2,.../NameService#ejb/jndi-name
+----
+
+2. Define the `@EJB` annotations or the `ejb-ref` elements in the
+`application-client.xml` file. Define the corresponding `ejb-ref`
+elements in the `glassfish-application-client.xml` file. +
+For more information on the `glassfish-application-client.xml` file, see
+"link:application-deployment-guide/dd-files.html#GSDPG00081[The glassfish-application-client.xml file]" in
+{productName} Application Deployment Guide.
+For a general explanation of how to map JNDI names using reference elements,
+see link:jndi.html#beaoa[Mapping References].
+
+3. Deploy the application client and EJB component together in an application. +
+For more information on deployment, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+To get the client JAR file, use the `--retrieve` option of the `asadmin deploy` command. +
+To retrieve the stubs and ties generated during deployment, use the
+`asadmin get-client-stubs` command. +
+For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+4. Ensure that the client JAR file includes the following files:
+* A Java class to access the bean.
+* `application-client.xml` - (optional) Jakarta EE application client
+deployment descriptor.
+* `glassfish-application-client.xml` - (optional) {productName}
+specific client deployment descriptor. For information on the
+`glassfish-application-client.xml` file, see "link:application-deployment-guide/dd-files.html#GSDPG00081[The
+glassfish-application-client.xml file]" in {productName} Application Deployment Guide.
+* The `MANIFEST.MF` file. This file contains a reference to the `main`
+class, which states the complete package prefix and class name of the
+Java client.
+
+5. Prepare the client machine. +
+This step is not needed for Java Web Start. This step is not needed if
+the client and server machines are the same. +
+If you are using the `appclient` script, package the {productName}
+system files required to launch application clients on remote systems
+using the `package-appclient` script, then retrieve the application
+client itself using the `asadmin get-client-stubs` command. +
+For more information, see link:#beakz[Using the `package-appclient` Script]
+and the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+6. To access EJB components that are residing in a remote system, make
+the following changes to the `sun-acc.xml` file or the `appclient`
+script. This step is not needed for Java Web Start.
+* Define the `target-server` element's `address` and `port` attributes
+to reference the remote server machine and its ORB port. See
+"link:application-deployment-guide/dd-elements.html#GSDPG00284[target-server]" in {productName} Application Deployment Guide.
+* Use the `-targetserver` option of the appclient script to reference
+the remote server machine and its ORB port. For more information, see
+link:#beaky[Running an Application Client Using the `appclient` Script].
++
+To determine the ORB port on the remote server, use the `asadmin get` command. For example:
++
+[source]
+----
+asadmin --host rmtsrv get server-config.iiop-service.iiop-listener.iiop-listener1.port
+----
+For more information about the `asadmin get` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+7. [[accejb8]]
+To set up load balancing and failover of remote EJB references, define
+at least two `target-server` elements in the `sun-acc.xml` file or the
+`appclient` script. This step is not needed for Java Web Start. +
+If the {productName} instance on which the application client is
+deployed participates in a cluster, the ACC finds all currently active
+IIOP endpoints in the cluster automatically. However, a client should
+have at least two endpoints specified for bootstrapping purposes, in
+case one of the endpoints has failed. +
+The `target-server` elements in the `sun-acc.xml` file specify one or
+more IIOP endpoints used for load balancing. The `address` attribute is
+an IPv4 address or host name, and the `port` attribute specifies the
+port number. See "link:application-deployment-guide/dd-elements.html#GSDPG00111[client-container]" in {productName} Application Deployment Guide. +
+The `--targetserver` option of the appclient script specifies one or
+more IIOP endpoints used for load balancing. For more information, see
+link:#beaky[Running an Application Client Using the `appclient` Script].
+
+[[GSDVG555]]
+
+Next Steps
+
+* For instructions on running the application client, see
+link:#gavmf[Using Java Web Start] or link:#beaky[Running an Application
+Client Using the `appclient` Script].
+* For more information about RMI-IIOP load balancing and failover, see
+"link:ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing and Failover]" in {productName} High Availability Administration Guide.
+
+[[beakx]][[GSDVG00073]][[to-access-a-jms-resource-from-an-application-client]]
+
+==== To Access a JMS Resource From an Application Client
+
+1. Create a JMS client.
++
+For detailed instructions on developing a JMS client, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#jakarta-messaging-examples[
+Java Message Service Examples]" in The Jakarta EE Tutorial.
+2. Next, configure a JMS resource on the {productName}.
++
+For information on configuring JMS resources, see
+"link:administration-guide/jms.html#GSADG00598[Administering JMS Connection Factories and
+Destinations]" in {productName} Administration
+Guide.
+3. Define the `@Resource` or `@Resources` annotations or the
+`resource-ref` elements in the `application-client.xml` file. Define the
+corresponding `resource-ref` elements in the
+`glassfish-application-client.xml` file.
++
+For more information on the `glassfish-application-client.xml` file, see
+"link:application-deployment-guide/dd-files.html#GSDPG00081[The glassfish-application-client.xml file]" in
+{productName} Application Deployment Guide. For a
+general explanation of how to map JNDI names using reference elements,
+see link:jndi.html#beaoa[Mapping References].
+4. Ensure that the client JAR file includes the following files:
+* A Java class to access the resource.
+* `application-client.xml` - (optional) Jakarta EE application client
+deployment descriptor.
+* `glassfish-application-client.xml` - (optional) {productName}
+specific client deployment descriptor. For information on the
+`glassfish-application-client.xml` file, see "link:application-deployment-guide/dd-files.html#GSDPG00081[The
+glassfish-application-client.xml file]" in {productName} Application Deployment Guide.
+* The `MANIFEST.MF` file. This file contains a reference to the `main`
+class, which states the complete package prefix and class name of the
+Java client.
+5. Prepare the client machine.
++
+This step is not needed for Java Web Start. This step is not needed if
+the client and server machines are the same.
++
+If you are using the `appclient` script, package the {productName}
+system files required to launch application clients on remote systems
+using the `package-appclient` script, then retrieve the application
+client itself using the `asadmin get-client-stubs` command.
++
+For more information, see link:#beakz[Using the `package-appclient`
+Script] and the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+6. Run the application client.
++
+See link:#gavmf[Using Java Web Start] or link:#beaky[Running an
+Application Client Using the `appclient` Script].
+
+[[gavmf]][[GSDVG00464]][[using-java-web-start]]
+
+==== Using Java Web Start
+
+Java Web Start allows your application client to be easily launched and
+automatically downloaded and updated. General information about Java Web
+Start is available at
+`http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.html`.
+
+The following topics are addressed here:
+
+* link:#gavqb[Enabling and Disabling Java Web Start]
+* link:#gavmk[Downloading and Launching an Application Client]
+* link:#gavor[The Application Client URL]
+* link:#gcjlg[Signing JAR Files Used in Java Web Start]
+* link:#geqxg[Error Handling]
+* link:#geqwd[Vendor Icon, Splash Screen, and Text]
+* link:#gkmbs[Creating a Custom JNLP File]
+
+[[gavqb]][[GSDVG00312]][[enabling-and-disabling-java-web-start]]
+
+===== Enabling and Disabling Java Web Start
+
+Java Web Start is enabled for all application clients by default.
+
+The application developer or deployer can specify that Java Web Start is
+always disabled for an application client by setting the value of the
+`eligible` element to `false` in the `glassfish-application-client.xml`
+file. See the link:application-deployment-guide.html#GSDPG[{productName}
+Application Deployment Guide].
+
+The {productName} administrator can disable Java Web Start for a
+previously deployed eligible application client using the `asadmin set`
+command.
+
+To disable Java Web Start for all eligible application clients in an
+application, use the following command:
+
+[source]
+----
+asadmin set applications.application.app-name.property.java-web-start-enabled="false"
+----
+
+To disable Java Web Start for a stand-alone eligible application client,
+use the following command:
+
+[source]
+----
+asadmin set applications.application.module-name.property.java-web-start-enabled="false"
+----
+
+Setting `java-web-start-enabled="true"` re-enables Java Web Start for an
+eligible application client. For more information about the
+`asadmin set` command, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[gavmk]][[GSDVG00313]][[downloading-and-launching-an-application-client]]
+
+===== Downloading and Launching an Application Client
+
+If Java Web Start is enabled for your deployed application client, you
+can launch it for testing. Simply click on the Launch button next to the
+application client or application's listing on the App Client Modules
+page in the Administration Console.
+
+On other machines, you can download and launch the application client
+using Java Web Start in the following ways:
+
+* Using a web browser, directly enter the URL for the application
+client. See link:#gavor[The Application Client URL].
+* Click on a link to the application client from a web page.
+* Use the Java Web Start command `javaws`, specifying the URL of the
+application client as a command line argument.
+* If the application has previously been downloaded using Java Web
+Start, you have additional alternatives.
+
+** Use the desktop icon that Java Web Start created for the application
+client. When Java Web Start downloads an application client for the
+first time it asks you if such an icon should be created.
+
+** Use the Java Web Start control panel to launch the application
+client.
+
+When you launch an application client, Java Web Start contacts the
+server to see if a newer client version is available. This means you can
+redeploy an application client without having to worry about whether
+client machines have the latest version.
+
+[[gavor]][[GSDVG00314]][[the-application-client-url]]
+
+===== The Application Client URL
+
+The default URL for an application or module generally is as follows:
+
+[source]
+----
+http://host:port/context-root
+----
+
+The default URL for a stand-alone application client module is as
+follows:
+
+[source]
+----
+http://host:port/appclient-module-id
+----
+
+The default URL for an application client module embedded within an
+application is as follows. Note that the relative path to the
+application client JAR file is included.
+
+[source]
+----
+http://host:port/application-id/appclient-path
+----
+
+If the context-root, appclient-module-id, or application-id is not
+specified during deployment, the name of the JAR or EAR file without the
+extension is used. If the application client module or application is
+not in JAR or EAR file format, an appclient-module-id or application-id
+is generated.
+
+Regardless of how the context-root or id is determined, it is written to
+the server log when you deploy the application. For details about
+naming, see "link:application-deployment-guide/overview.html#GSDPG00323[Naming Standards]" in {productName} Application Deployment Guide.
+
+To set a different URL for an application client, use the `context-root`
+subelement of the `java-web-start-access` element in the
+`glassfish-application-client.xml` file. This overrides the
+appclient-module-id or application-id. See the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+You can also pass arguments to the ACC or to the application client's
+`main` method as query parameters in the URL. If multiple application
+client arguments are specified, they are passed in the order specified.
+
+A question mark separates the context root from the arguments.
+Ampersands (`&`) separate the arguments and their values. Each argument
+and each value must begin with `arg=`. Here is an example URL with a
+`-color` argument for a stand-alone application client. The `-color`
+argument is passed to the application client's `main` method.
+
+[source]
+----
+http://localhost:8080/testClient?arg=-color&arg=red
+----
+
+
+[NOTE]
+====
+If you are using the `javaws` URL command to launch Java Web Start with
+a URL that contains arguments, enclose the URL in double quotes (`"`) to
+avoid breaking the URL at the ampersand (`&`) symbol.
+====
+
+
+Ideally, you should build your production application clients with
+user-friendly interfaces that collect information which might otherwise
+be gathered as command-line arguments. This minimizes the degree to
+which users must customize the URLs that launch application clients
+using Java Web Start. Command-line argument support is useful in a
+development environment and for existing application clients that depend
+on it.
+
+[[gcjlg]][[GSDVG00315]][[signing-jar-files-used-in-java-web-start]]
+
+===== Signing JAR Files Used in Java Web Start
+
+Java Web Start enforces a security sandbox. By default it grants any
+application, including application clients, only minimal privileges.
+Because Java Web Start applications can be so easily downloaded, Java
+Web Start provides protection from potentially harmful programs that
+might be accessible over the network. If an application requires a
+higher privilege level than the sandbox permits, the code that needs
+privileges must be in a JAR file that was signed.
+
+When Java Web Start downloads such a signed JAR file, it displays
+information about the certificate that was used to sign the JAR if that
+certificate is not trusted. It then asks you whether you want to trust
+that signed code. If you agree, the code receives elevated permissions
+and runs. If you reject the signed code, Java Web Start does not start
+the downloaded application.
+
+Your first Java Web Start launch of an application client is likely to
+involve this prompting because by default {productName} uses a
+self-signed certificate that is not linked to a trusted authority.
+
+The {productName} serves two types of signed JAR files in response to
+Java Web Start requests. One type is a JAR file installed as part of the
+{productName}, which starts an application client during a Java Web
+Start launch: as-install``/lib/gf-client.jar``.
+
+The other type is a generated application client JAR file. As part of
+deployment, the {productName} generates a new application client JAR
+file that contains classes, resources, and descriptors needed to run the
+application client on end-user systems. When you deploy an application
+with the `asadmin deploy` command's `--retrieve` option, use the
+`asadmin get-client-stubs` command, or select the Generate RMIStubs
+option from the EJB Modules deployment page in the Administration
+Console, this is one of the JAR files retrieved to your system. Because
+application clients need access beyond the minimal sandbox permissions
+to work in the Java Web Start environment, the generated application
+client JAR file must be signed before it can be downloaded to and
+executed on an end-user system.
+
+A JAR file can be signed automatically or manually.
+
+The following topics are addressed here:
+
+* link:#gcjmd[Automatically Signing JAR Files]
+* link:#gcjlr[Using the `jar-signing-alias` Deployment Property]
+
+[[gcjmd]][[GSDVG00038]][[automatically-signing-jar-files]]
+
+Automatically Signing JAR Files
+
+The {productName} automatically creates a signed version of the
+required JAR file if none exists. When a Java Web Start request for the
+`gf-client.jar` file arrives, the {productName} looks for
+domain-dir`/java-web-start/gf-client.jar`. When a request for an
+application's generated application client JAR file arrives, the
+{productName} looks in the directory
+domain-dir`/java-web-start/`app-name for a file with the same name as
+the generated JAR file created during deployment.
+
+In either case, if the requested signed JAR file is absent or older than
+its unsigned counterpart, the {productName} creates a signed version
+of the JAR file automatically and deposits it in the relevant directory.
+Whether the {productName} just signed the JAR file or not, it serves
+the file from the domain-dir`/java-web-start` directory tree in response
+to the Java Web Start request.
+
+To sign these JAR files, by default the {productName} uses its
+self-signed certificate. When you create a new domain, either by
+installing the {productName} or by using the `asadmin create-domain`
+command, the {productName} creates a self-signed certificate and adds
+it to the domain's key store.
+
+A self-signed certificate is generally untrustworthy because no
+certification authority vouches for its authenticity. The automatic
+signing feature uses the same certificate to create all required signed
+JAR files.
+
+Starting with Java SE 7 Update 21, stricter security is enforced for
+applications launched using Java Web Start. Application users will see
+various security messages, depending on their Java security settings. If
+Java security is set to Very High on their systems, users will not be
+able to launch application clients signed using the {productName}
+self-signed certificate.
+
+To minimize impacts to application users, all Java Web Start
+applications should be signed with a trusted certificate instead of the
+{productName} self-signed certificate. If you use the {productName} Java Web Start feature or deploy applications that provide their
+own Java Web Start applications, perform the following steps:
+
+1. Obtain a trusted certificate from a certification authority if your
+organization does not already have one.
+
+2. Stop {productName}.
+
+3. Replace the {productName} self-signed certificate with the
+trusted certificate by importing the trusted certificate into the
+{productName} keystore using the `s1as` alias. By default, the
+keystore is located at domain-dir`/config/keystore.jks`.
++
+For more information about importing a trusted certificate into the
+domain keystore, see "link:security-guide/system-security.html#GSSCG00147[Administering JSSE Certificates]"
+in {productName} Security Guide.
+
+4. Delete any signed JARs already generated by {productName}:
+.. At the command prompt, type: +
+``rm -rf`` domain-dir``/java_web_start``
+.. For each application that contains an application client launched
+using Java Web Start, type: +
+``rm -rf`` domain-dir``/generated/xml/``app-name``/signed``
+.. Restart {productName}.
+
+5. Ensure that the Java security setting on user systems is set to Very High.
+
+After you perform these steps, the first time a user launches an
+application client on their system, Java Web Start detects that the
+server's signed JARs are newer than those cached on the user's system
+and downloads them again. This happens on the first launch only,
+regardless of the client. Even though the application client is now
+signed using a trusted certificate, users will again be asked whether to
+trust the downloaded application and can choose to skip that prompt for
+future launches.
+
+[[gcjlr]][[GSDVG00039]][[using-the-jar-signing-alias-deployment-property]]
+
+Using the `jar-signing-alias` Deployment Property
+
+The `asadmin deploy` command property `jar-signing-alias` specifies the
+alias for the security certificate with which the application client
+container JAR file is signed.
+
+Java Web Start won't execute code requiring elevated permissions unless
+it resides in a JAR file signed with a certificate that the user's
+system trusts. For your convenience, {productName} signs the JAR file
+automatically using the self-signed certificate from the domain, `s1as`.
+Java Web Start then asks the user whether to trust the code and displays
+the {productName} certificate information.
+
+To sign this JAR file with a different certificate, first add the
+certificate to the domain keystore. You can use a certificate from a
+trusted authority, which avoids the Java Web Start prompt. To add a
+certificate to the domain keystore, see "link:security-guide/system-security.html#GSSCG00147[Administering
+JSSE Certificates]" in {productName} Security
+Guide.
+
+Next, deploy your application using the `jar-signing-alias` property.
+For example:
+
+[source]
+----
+asadmin deploy --property jar-signing-alias=MyAlias MyApp.ear
+----
+
+For more information about the `asadmin deploy` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[geqxg]][[GSDVG00316]][[error-handling]]
+
+===== Error Handling
+
+When an application client is launched using Java Web Start, any error
+that the application client logic does not catch and handle is written
+to `System.err` and displayed in a dialog box. This display appears if
+an error occurs even before the application client logic receives
+control. It also appears if the application client code does not catch
+and handle errors itself.
+
+[[geqwd]][[GSDVG00317]][[vendor-icon-splash-screen-and-text]]
+
+===== Vendor Icon, Splash Screen, and Text
+
+To specify a vendor-specific icon, splash screen, text string, or a
+combination of these for Java Web Start download and launch screens, use
+the `vendor` element in the `glassfish-application-client.xml` file. The
+complete format of this element's data is as follows:
+
+[source,xml]
+----
+<vendor>icon-image-URI::splash-screen-image-URI::vendor-text</vendor>
+----
+
+The following example vendor element contains an icon, a splash screen,
+and a text string:
+
+[source,xml]
+----
+<vendor>images/icon.jpg::otherDir/splash.jpg::MyCorp, Inc.</vendor>
+----
+
+The following example vendor element contains an icon and a text string:
+
+[source,xml]
+----
+<vendor>images/icon.jpg::MyCorp, Inc.</vendor>
+----
+
+The following example vendor element contains a splash screen and a text
+string; note the initial double colon:
+
+[source,xml]
+----
+<vendor>::otherDir/splash.jpg::MyCorp, Inc.</vendor>
+----
+
+The following example vendor element contains only a text string:
+
+[source,xml]
+----
+<vendor>MyCorp, Inc.</vendor>
+----
+
+The default value is the text string `Application Client`.
+
+For more information about the `glassfish-application-client.xml` file,
+see the link:application-deployment-guide.html#GSDPG[{productName} Application
+Deployment Guide].
+
+You can also specify a vendor-specific icon, splash screen, text string,
+or a combination by using a custom JNLP file; see link:#gkmbs[Creating a
+Custom JNLP File].
+
+[[gkmbs]][[GSDVG00318]][[creating-a-custom-jnlp-file]]
+
+===== Creating a Custom JNLP File
+
+You can partially customize the Java Network Launching Protocol (JNLP)
+file that {productName} uses for Java Web Start.
+
+The following topics are addressed here:
+
+* link:#gkmco[Specifying the JNLP File in the Deployment Descriptor]
+* link:#gkmbq[Referring to JAR Files from the JNLP File]
+* link:#gkmbt[Referring to Other JNLP Files]
+* link:#gkmbr[Combining Custom and Automatically Generated Content]
+
+For more information about JNLP, see the
+http://java.sun.com/javase/technologies/desktop/javawebstart/download-spec.html[Java
+Web Start Architecture JNLP Specification and API Documentation]
+(`http://java.sun.com/javase/technologies/desktop/javawebstart/download-spec.html`).
+
+[[gkmco]][[GSDVG00040]][[specifying-the-jnlp-file-in-the-deployment-descriptor]]
+
+Specifying the JNLP File in the Deployment Descriptor
+
+To specify a custom JNLP file for Java Web Start, use the `jnlp-doc`
+element in the `glassfish-application-client.xml` file. If none is
+specified, a default JNLP file is generated.
+
+The value of the `jnlp-doc` element is a relative path with the
+following format:
+
+[source]
+----
+[path-to-JAR-in-EAR!]path-to-JNLP-in-JAR
+----
+
+The default path-to-JAR-in-EAR is the current application client JAR
+file. For example, if the JNLP file is in the application client JAR
+file at `custom/myInfo.jnlp`, the element value would look like this:
+
+[source,xml]
+----
+<java-web-start-access>
+   <jnlp-doc>custom/myInfo.jnlp</jnlp-doc>
+</java-web-start-access>
+----
+
+If the application client is inside an EAR file, you can place the
+custom JNLP file inside another JAR file in the EAR. For example, if the
+JNLP file is in a JAR file at `other/myLib.jar`, the element value would
+look like this, with an exclamation point (`!`) separating the path to
+the JAR from the path in the JAR:
+
+[source,xml]
+----
+<java-web-start-access>
+   <jnlp-doc>other/myLib.jar!custom/myInfo.jnlp</jnlp-doc>
+</java-web-start-access>
+----
+
+For more information about the `glassfish-application-client.xml` file,
+see the {productName} Application Deployment
+Guide.
+
+[[gkmbq]][[GSDVG00041]][[referring-to-jar-files-from-the-jnlp-file]]
+
+Referring to JAR Files from the JNLP File
+
+As with any JNLP document, the custom JNLP file can refer to JAR files
+the application client requires.
+
+Do not specify every JAR on which the client depends. {productName}
+automatically handles JAR files that the Jakarta EE specification requires
+to be available to the application client. This includes JAR files
+listed in the application client JAR file's manifest `Class-Path` and
+JAR files in the EAR file's library directory (if any) and their
+transitive closures. The custom JNLP file should specify only those JAR
+files the client needs that {productName} would not otherwise
+include.
+
+Package these JAR files in the EAR file, as with any JAR file required
+by an application client. Use relative URIs in the `<jar href="...">`
+and `<nativelib href="...">` elements to point to the JAR files. The
+codebase that {productName} assigns for the final client JNLP file
+corresponds to the top level of the EAR file. Therefore, relative `href`
+references correspond directly to the relative path to the JAR files
+within the EAR file.
+
+Neither the Jakarta EE specification nor {productName} supports
+packaging JAR files inside the application client JAR file itself.
+Nothing prevents this, but {productName} does no special processing
+of such JAR files. They do not appear in the runtime class path and they
+cannot be referenced from the custom JNLP file.
+
+[[gkmbt]][[GSDVG00042]][[referring-to-other-jnlp-files]]
+
+Referring to Other JNLP Files
+
+The JNLP file can also refer to other custom JNLP files using
+`<extension href="..."/>` elements. To be consistent with relative
+`href` references to JAR files, the relative `href` references to JNLP
+files are resolved within the EAR file. You can place these JNLP files
+directly in the EAR file or inside JAR files that the EAR file contains.
+Use one of these formats for these `href` references:
+
+[source]
+----
+[path-to-JAR-in-EAR!]path-to-JNLP-in-JAR
+
+path-to-JNLP-in-EAR
+----
+
+Note that these formats are not equivalent to the format of the
+`jnlp-doc` element in the `glassfish-application-client.xml` file.
+
+These formats follow the standard entry-within-a-JAR URI syntax and
+semantics. Support for this syntax comes from the automated Java Web
+Start support in {productName}. This is not a feature of Java Web
+Start or the JNLP standard.
+
+[[gkmbr]][[GSDVG00043]][[combining-custom-and-automatically-generated-content]]
+
+Combining Custom and Automatically Generated Content
+
+{productName} recognizes these types of content in the JNLP file:
+
+* Owned — {productName} owns the content and ignores any custom
+content
+* Merged — Automatically generated content and custom content are merged
+* Defaulted — Custom content is used if present, otherwise default
+content is provided
+
+You can compose a complete JNLP file and package it with the application
+client. {productName} then combines it with its automatically
+generated JNLP file. You can also provide content that only adds to or
+replaces what {productName} generates. The custom content must
+conform to the general structure of the JNLP format so that {productName} can properly place it in the final JNLP file.
+
+For example, to specify a single native library to be included only for
+Windows systems, the new element to add might be as follows:
+
+[source,xml]
+----
+<nativelib href="windows/myLib.jar"/>
+----
+
+However, you must indicate where in the overall document this element
+belongs. The actual custom JNLP file should look like this:
+
+[source,xml]
+----
+<jnlp>
+   <resources os="Windows">
+      <nativelib href="windows/myLib.jar"/>
+   </resources>
+</jnlp>
+----
+
+{productName} provides default `<information>` and `<resources>`
+elements, without specifying attributes such as `os`, `arch`,
+`platform`, or `locale`. {productName} merges its own content within
+those elements with custom content under those elements. Further, you
+can provide your own `<information>` and `<resources>` elements (and
+fragments within them) that specify at least one of these attributes.
+
+In general, you can perform the following customizations:
+
+* Override the {productName} defaults for the child elements of
+`<information>` elements that have no attribute settings for `os`,
+`arch`, `platform`, and `locale`. Among these child elements are
+`<title>`, `<vendor>`, `<description>`, `<icon>`, and so on.
+* Add `<information>` elements with `os`, `arch`, `platform`, or
+`locale` settings. You can also add child elements.
+* Add child elements of `<resources>` elements that have no attribute
+settings for `os`, `arch`, or `locale`. Among these child elements are
+`<jar>`, `<property>`, `<nativelib>`, and so on. You can also customize
+attributes of the `<java>` child element.
+* Add `<resources>` elements that specify at least one of `os`, `arch`,
+or `locale`. You can also add child elements.
+
+This flexibility allows you to add JAR files to the application
+(including platform-specific native libraries) and set properties to
+control the behavior of your application clients.
+
+The following tables provide more detail about what parts of the JNLP
+file you can add to and modify.
+
+[[GSDVG556]][[sthref24]][[gkmbk]]
+
+
+Table 10-1 Owned JNLP File Content
+
+[width="100%",cols="32%,68%",options="header",]
+|===
+|JNLP File Fragment |Description
+a|
+[source,xml]
+----
+<jnlp codebase="xxx" ...>
+----
+
+ |{productName} controls this content for application clients
+packaged in EAR files. The developer controls this content for
+application clients packaged in WAR files.
+
+a|
+[source,xml]
+----
+<jnlp href="xxx" ...>
+----
+
+ |{productName} controls this content for application clients
+packaged in EAR files. The developer controls this content for
+application clients packaged in WAR files.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <security>
+----
+
+ |{productName} must control the permissions requested for each JNLP
+file. All permissions are needed for the main file, which launches the
+ACC. The permissions requested for other JNLP documents depend on
+whether the JAR files referenced in those documents are signed.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <application-desc>
+    <argument> ...
+----
+
+ |{productName} sets the `main-class` and the arguments to be passed
+to the client.
+|===
+
+
+[[GSDVG557]][[sthref25]][[gkmci]]
+
+
+Table 10-2 Defaulted JNLP File Content
+
+[width="100%",cols="39%,61%",options="header",]
+|===
+|JNLP File Fragment |Description
+a|
+[source,xml]
+----
+<jnlp spec="xxx" ...>
+----
+
+ |Specifies the JNLP specification version.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <information [no-attributes]>
+----
+
+ |Specifies the application title, vendor, home page, various
+description text values, icon images, and whether offline execution is
+allowed.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <resources [no-attributes]>
+    <java version="xxx"
+        java-vm-args="yyy" ...>
+----
+
+ |Specifies the Java SE version or selected VM parameter settings.
+|===
+
+
+[[GSDVG558]][[sthref26]][[gkmcc]]
+
+
+Table 10-3 Merged JNLP File Content
+
+[width="100%",cols="37%,63%",options="header",]
+|===
+|JNLP File Fragment |Description
+a|
+[source,xml]
+----
+<jnlp>
+  <information [attributes]>
+----
+
+ |You can specify one or more of the `os`, `arch`, `platform`, and
+`locale` attributes for the `<information>` element. You can also
+specify child elements; {productName} provides no default children.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <resources [attributes]>
+----
+
+ |You can specify one or more of the `os`, `arch`, `platform`, and
+`locale` attributes for the `<resources>` element. You can also specify
+child elements; {productName} provides no default children.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <resources [no-attributes]>
+    <jar ...>
+----
+
+ |Adds JAR files to be included in the application to the JAR files
+provided by {productName}.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <resources [no-attributes]>
+    <nativelib ...>
+----
+
+ |Adds native libraries to be included in the application. Each entry in
+a JAR listed in a `<nativelib>` element must be a native library for the
+correct platform. The full syntax of the `<nativelib>` element lets the
+developer specify the platform for that native library.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <resources [no-attributes]>
+    <property ...>
+----
+
+ |Adds system properties to be included in the application to the system
+properties defined by {productName}.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <resources [no-attributes]>
+    <extension ...>
+----
+
+ |Specifies another custom JNLP file.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <component-desc ...>
+----
+
+ |Includes another custom JNLP file that specifies a component
+extension.
+
+a|
+[source,xml]
+----
+<jnlp>
+  <installer-desc ...>
+----
+
+ |Includes another custom JNLP file that specifies an installer
+extension.
+|===
+
+
+[[gipkt]][[GSDVG00465]][[using-the-embeddable-acc]]
+
+==== Using the Embeddable ACC
+
+You can embed the ACC into your application client. If you place the
+as-install``/lib/gf-client.jar`` file in your runtime classpath, your
+application creates the ACC after your application code has started,
+then requests that the ACC start the application client portion. The
+basic model for coding is as follows:
+
+1. Create a builder object.
+2. Operate on the builder to configure the ACC.
+3. Obtain a new ACC instance from the builder.
+4. Present a client archive or class to the ACC instance.
+5. Start the client running within the newly created ACC instance.
+
+Your code should follow this general pattern:
+
+[source,java]
+----
+// one TargetServer for each ORB endpoint for bootstrapping
+TargetServer[] servers = ...;
+
+// Get a builder to set up the ACC
+AppClientContainer.Builder builder = AppClientContainer.newBuilder(servers);
+
+// Fine-tune the ACC's configuration. Note ability to "chain" invocations.
+builder.callbackHandler("com.acme.MyHandler").authRealm("myRealm"); // Modify config
+
+// Get a container for a client.
+URI clientURI = ...; // URI to the client JAR
+AppClientContainer acc = builder.newContainer(clientURI);
+
+or
+
+Class mainClass = ...;
+AppClientContainer acc = builder.newContainer(mainClass);
+
+// In either case, start the client running.
+String[] appArgs = ...;
+acc.startClient(appArgs); // Start the client
+
+...
+
+acc.close(); // close the ACC(optional)
+----
+
+The ACC loads the application client's `main` class, performs any
+required injection, and transfers control to the `static main` method.
+The ACC's `run` method returns to the calling application as soon as the
+client's `main` method returns to the ACC.
+
+If the application client's `main` method starts any asynchronous
+activity, that work continues after the ACC returns. The ACC has no
+knowledge of whether the client's `main` method triggers asynchronous
+work. Therefore, if the client causes work on threads other than the
+calling thread, and if the embedding application needs to know when the
+client's asynchronous work completes, the embedding application and the
+client must agree on how this happens.
+
+The ACC's shutdown handling is invoked from the ACC's `close` method.
+The calling application can invoke `acc.close()` to close down any
+services started by the ACC. If the application client code started any
+asynchronous activity that might still depend on ACC services, invoking
+`close` before that asynchronous activity completes could cause
+unpredictable and undesirable results. The shutdown handling is also run
+automatically at VM shutdown if the code has not invoked `close` before
+then.
+
+The ACC does not prevent the calling application from creating or
+running more than one ACC instance during a single execution of the
+application either serially or concurrently. However, other services
+used by the ACC (transaction manager, security, ORB, and so on) might or
+might not support such serial or concurrent reuse.
+
+[[beaky]][[GSDVG00466]][[running-an-application-client-using-the-appclient-script]]
+
+==== Running an Application Client Using the `appclient` Script
+
+To run an application client, you can launch the ACC using the
+`appclient` script, whether or not Java Web Start is enabled. This is
+optional. This script is located in the as-install``/bin`` directory. For
+details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+[[beakz]][[GSDVG00467]][[using-the-package-appclient-script]]
+
+==== Using the `package-appclient` Script
+
+You can package the {productName} system files required to launch
+application clients on remote systems into a single JAR file using the
+`package-appclient` script. This is optional. This script is located in
+the as-install``/bin`` directory. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[fvymy]][[GSDVG00468]][[the-client.policy-file]]
+
+==== The `client.policy` File
+
+The `client.policy` file is the J2SE policy file used by the application
+client. Each application client has a `client.policy` file. The default
+policy file limits the permissions of Jakarta EE deployed application
+clients to the minimal set of permissions required for these
+applications to operate correctly. If an application client requires
+more than this default set of permissions, edit the `client.policy` file
+to add the custom permissions that your application client needs. Use
+the J2SE standard policy tool or any text editor to edit this file.
+
+For more information on using the J2SE policy tool, see
+`http://docs.oracle.com/javase/tutorial/security/tour2/index.html`.
+
+For more information about the permissions you can set in the
+`client.policy` file, see
+`http://docs.oracle.com/javase/7/docs/technotes/guides/security/permissions.html`.
+
+[[gckgn]][[GSDVG00469]][[using-rmiiiop-over-ssl]]
+
+==== Using RMI/IIOP Over SSL
+
+You can configure RMI/IIOP over SSL in two ways: using a username and
+password, or using a client certificate.
+
+To use a username and password, configure the `ior-security-config`
+element in the `glassfish-ejb-jar.xml` file. The following configuration
+establishes SSL between an application client and an EJB component using
+a username and password. The user has to login to the ACC using either
+the `sun-acc.xml` mechanism or the
+link:securing-apps.html#beacm[Programmatic Login Using the
+ProgrammaticLogin Class] mechanism.
+
+[source,xml]
+----
+<ior-security-config>
+  <transport-config>
+    <integrity>required</integrity>
+    <confidentiality>required</confidentiality>
+    <establish-trust-in-target>supported</establish-trust-in-target>
+    <establish-trust-in-client>none</establish-trust-in-client>
+  </transport-config>
+  <as-context>
+    <auth-method>username_password</auth-method>
+    <realm>default</realm>
+    <required>true</required>
+  </as-context>
+ <sas-context>
+    <caller-propagation>none</caller-propagation>
+ </sas-context>
+</ior-security-config>
+----
+
+For more information about the `glassfish-ejb-jar.xml` and `sun-acc.xml`
+files, see the link:application-deployment-guide.html#GSDPG[{productName}
+Application Deployment Guide].
+
+To use a client certificate, configure the `ior-security-config` element
+in the `glassfish-ejb-jar.xml` file. The following configuration
+establishes SSL between an application client and an EJB component using
+a client certificate.
+
+[source,xml]
+----
+<ior-security-config>
+  <transport-config>
+    <integrity>required</integrity>
+    <confidentiality>required</confidentiality>
+    <establish-trust-in-target>supported</establish-trust-in-target>
+    <establish-trust-in-client>required</establish-trust-in-client>
+  </transport-config>
+  <as-context>
+    <auth-method>none</auth-method>
+    <realm>default</realm>
+    <required>false</required>
+  </as-context>
+  <sas-context>
+    <caller-propagation>none</caller-propagation>
+  </sas-context>
+</ior-security-config>
+----
+
+To use a client certificate, you must also specify the system properties
+for the keystore and truststore to be used in establishing SSL. To use
+SSL with the Application Client Container (ACC), you need to set these
+system properties in one of the following ways:
+
+* Use the new syntax of the `appclient` script and specify the system
+properties as JVM options. See link:#beaky[Running an Application Client
+Using the `appclient` Script].
+* Set the environment variable `VMARGS` in the shell. For example, in
+the `ksh` or `bash` shell, the command to set this environment variable
+would be as follows:
++
+[source]
+----
+export VMARGS="-Djavax.net.ssl.keyStore=${keystore.db.file}
+-Djavax.net.ssl.trustStore=${truststore.db.file}
+-Djavax.net.ssl.keyStorePass word=${ssl.password}
+-Djavax.net.ssl.trustStorePassword=${ssl.password}"
+----
+* Optionally, you can set the `env` element using Ant. For example:
++
+[source,xml]
+----
+<target name="runclient">
+  <exec executable="${S1AS_HOME}/bin/appclient">
+    <env key="VMARGS" value=" -Djavax.net.ssl.keyStore=${keystore.db.file}
+      -Djavax.net.ssl.trustStore=${truststore.db.file}
+      -Djavax.net.ssl.keyStorePasword=${ssl.password}
+      -Djavax.net.ssl.trustStorePassword=${ssl.password}"/>
+    <arg value="-client"/>
+    <arg value="${appClient.jar}"/>
+  </exec>
+</target>
+----
+
+[[ghbpc]][[GSDVG00470]][[connecting-to-a-remote-ejb-module-through-a-firewall]]
+
+==== Connecting to a Remote EJB Module Through a Firewall
+
+To deploy and run an application client that connects to an EJB module
+on a {productName} instance that is behind a firewall, you must set
+ORB Virtual Address Agent Implementation (ORBVAA) options. Use the
+`asadmin create-jvm-options` command as follows:
+
+[source]
+----
+asadmin create-jvm-options -Dcom.sun.corba.ee.ORBVAAHost=public-IP-adress
+asadmin create-jvm-options -Dcom.sun.corba.ee.ORBVAAPort=public-port
+asadmin create-jvm-options
+-Dcom.sun.corba.ee.ORBUserConfigurators.com.sun.corba.ee.impl.plugin.hwlb.VirtualAddressAgentImpl=x
+----
+
+Set the `ORBVAAHost` and `ORBVAAPort` options to the host and port of
+the public address. The `ORBUserConfigurators` option tells the ORB to
+create an instance of the `VirtualAddressAgentImpl` class and invoke the
+`configure` method on the resulting object, which must implement the
+com.sun.corba.ee.spi.orb.ORBConfigurator interface. The
+`ORBUserConfigurators` value doesn't matter. Together, these options
+create an ORB that in turn creates `Object` references (the underlying
+implementation of remote EJB references) containing the public address,
+while the ORB listens on the private address specified for the IIOP port
+in the {productName} configuration.
+
+[[gipkj]][[GSDVG00471]][[specifying-a-splash-screen]]
+
+==== Specifying a Splash Screen
+
+Java SE 6 offers splash screen support, either through a Java
+command-line option or a manifest entry in the application's JAR file.
+To take advantage of this Java SE feature in your application client,
+you can do one of the following:
+
+* Create the appclient JAR file so that its manifest contains a
+`SplashScreen-Image` entry that specifies the path to the image in the
+client. The `java` command displays the splash screen before starting
+the ACC or your client, just as with any Java application.
+* Use the new `appclient ... -jar` launch format, using the `-splash`
+command-line option at runtime or the `SplashScreen-Image` manifest
+entry at development time. See link:#beaky[Running an Application Client
+Using the `appclient` Script].
+* In the environment that runs the `appclient` script, set the `VMOPTS`
+environment variable to include the `-splash` option before invoking the
+`appclient` script to launch the client.
+* Build an application client that uses the embeddable ACC feature and
+specify the splash screen image using one of the following:
+
+** The `-splash` option of the `java` command
+
+** `SplashScreen-Image` in the manifest for your program (not the
+manifest for the application client)
++
+See link:#gipkt[Using the Embeddable ACC].
+
+During application (EAR file) deployment, the {productName} generates
+façade JAR files, one for the application and one for each application
+client in the application. During application client module deployment,
+the {productName} generates a single facade JAR for the application
+client. The `appclient` script supports splash screens inside the
+application client JAR only if you launch an application client facade
+or appclient client JAR. If you launch the facade for an application or
+the undeployed application itself, the `appclient` script cannot take
+advantage of the Java SE 6 splash screen feature.
+
+[[gjiec]][[GSDVG00472]][[setting-login-retries]]
+
+==== Setting Login Retries
+
+You can set a JVM option using the `appclient` script that determines
+the number of login retries allowed. This option is
+`-Dorg.glassfish.appclient.acc.maxLoginRetries=`n where n is a positive
+integer. The default number of retries is 3.
+
+This retry loop happens when the ACC attempts to perform injection if
+you annotated the client's `main` class (for example, using
+`@Resource`). If instead of annotations your client uses the
+`InitialContext` explicitly to look up remote resources, the retry loop
+does not apply. In this case, you could write logic to catch an
+exception around the lookup and retry explicitly.
+
+For details about the `appclient` script syntax, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[gjpjt]][[GSDVG00473]][[using-libraries-with-application-clients]]
+
+==== Using Libraries with Application Clients
+
+The Libraries field in the Administration Console's deployment page and
+the `--libraries` option of the `asadmin deploy` command do not apply to
+application clients. Neither do the as-install``/lib``, domain-dir``/lib``,
+and domain-dir`/lib/classes` directories comprising the Common Class
+Loader. These apply only to applications and modules deployed to the
+server. For more information, see link:class-loaders.html#beade[Class
+Loaders].
+
+To use libraries with an application client, package the application
+client in an application (EAR file). Then, either place the libraries in
+the ``/lib`` directory of the EAR file or specify their location in the
+application client JAR file's manifest `Class-Path`.
+
+[[gkusn]][[GSDVG00161]][[developing-clients-without-the-acc]]
+
+=== Developing Clients Without the ACC
+
+This section describes the procedure to create, assemble, and deploy a
+Java-based client that is not packaged using the Application Client
+Container (ACC).
+
+The following topics are addressed here:
+
+* link:#gkusp[To access an EJB component from a stand-alone client]
+* link:#gkutw[To access an EJB component from a server-side module]
+* link:#gkuqa[To access a JMS resource from a stand-alone client]
+
+For information about using the ACC, see link:#beakv[Developing Clients
+Using the ACC].
+
+[[gkusp]][[GSDVG00074]][[to-access-an-ejb-component-from-a-stand-alone-client]]
+
+==== To access an EJB component from a stand-alone client
+
+1. In your client code, instantiate the `InitialContext`:
++
+[source,java]
+----
+InitialContext ctx = new InitialContext();
+----
+It is not necessary to explicitly instantiate a naming context that
+points to the CosNaming service.
+2. In the client code, look up the home object by specifying the JNDI
+name of the home object.
++
+Here is an EJB 2.x example:
++
+[source,java]
+----
+Object ref = ctx.lookup("jndi-name");
+BeanAHome = (BeanAHome)PortableRemoteObject.narrow(ref,BeanAHome.class);
+----
+Here is an EJB 3.x example:
++
+[source,java]
+----
+BeanRemoteBusiness bean =(BeanRemoteBusiness) ctx.lookup("com.acme.BeanRemoteBusiness");
+----
+If load balancing is enabled as in Step link:#CIHJADHD[6] and the EJB
+components being accessed are in a different cluster, the endpoint list
+must be included in the lookup, as follows:
++
+[source]
+----
+corbaname:host1:port1,host2:port2,.../NameService#ejb/jndi-name
+----
+For more information about naming and lookups, see
+link:jndi.html#beans[Accessing the Naming Context].
+3. Deploy the EJB component to be accessed.
++
+For more information on deployment, see "link:application-deployment-guide/overview.html#GSDPG00063[About
+Deployment Tools]" in {productName} Application
+Deployment Guide.
+4. Copy the as-install``/lib/gf-client.jar`` file to the client machine
+and include it in the classpath on the client side.
++
+The `gf-client.jar` file references {productName} JAR files in its
+`MANIFEST.MF` file. If there is no {productName} installation on the
+client machine, you must also copy the as-install``/modules`` directory to
+the client machine and maintain its directory structure relative to the
+as-install``/lib/gf-client.jar`` file. Or you can use the
+`package-appclient` script; see link:#beakz[Using the
+`package-appclient` Script].
+5. To access EJB components that are residing in a remote system, set
+the following system properties for the Java Virtual Machine startup
+options:
++
+[source]
+----
+-Dorg.omg.CORBA.ORBInitialHost=${ORBhost}
+-Dorg.omg.CORBA.ORBInitialPort=${ORBport}
+----
+Here ORBhost is the {productName} hostname and ORBport is the ORB
+port number (default is `3700` for the default server instance, named
+`server`).
++
+You can use the `asadmin get` command to get the IIOP port numbers. For
+example:
++
+[source]
+----
+asadmin get "configs.config.server-config.iiop-service.iiop-listener.orb-listener-1.*"
+----
+6. [[CIHJADHD]]
++
+To set up load balancing and remote EJB reference failover, define the
+`endpoints` property as follows:
++
+[source]
+----
+-Dcom.sun.appserv.iiop.endpoints=host1:port1,host2:port2,...
+----
+The `endpoints` property specifies a comma-separated list of one or more
+IIOP endpoints used for load balancing. An IIOP endpoint is in the form
+host`:`port, where the host is an IPv4 address or host name, and the
+port specifies the port number.
++
+If the `endpoints` list is changed dynamically in the code, the new list
+is used only if a new `InitialContext` is created.
+7. Make sure the `etc/hosts` file on the client machine maps the
+{productName} hostname and external IP address.
+8. Run the stand-alone client.
++
+As long as the client environment is set appropriately and the JVM is
+compatible, you merely need to run the `main` class.
+
+[[gkutw]][[GSDVG00075]][[to-access-an-ejb-component-from-a-server-side-module]]
+
+==== To access an EJB component from a server-side module
+
+A server-side module can be a servlet, another EJB component, or another
+type of module.
+
+1. [[CIHFIJDC]]
++
+In your module code, instantiate the `InitialContext`:
++
+[source,java]
+----
+InitialContext ctx = new InitialContext();
+----
+It is not necessary to explicitly instantiate a naming context that
+points to the CosNaming service.
++
+To set up load balancing and remote EJB reference failover, define the
+`endpoints` property as follows:
++
+[source,java]
+----
+Hashtable env = new Hashtable();
+env.put("com.sun.appserv.iiop.endpoints","host1:port1,host2:port2,...");
+InitialContext ctx = new InitialConext(env);
+----
+The `endpoints` property specifies a comma-separated list of one or more
+IIOP endpoints used for load balancing. An IIOP endpoint is in the form
+host`:`port, where the host is an IPv4 address or host name, and the
+port specifies the port number.
++
+You can use the `asadmin get` command to get the IIOP port numbers. For
+example:
++
+[source]
+----
+asadmin get "configs.config.server-config.iiop-service.iiop-listener.orb-listener-1.*"
+----
+If the `endpoints` list is changed dynamically in the code, the new list
+is used only if a new `InitialContext` is created.
+2. In the module code, look up the home object by specifying the JNDI
+name of the home object.
++
+Here is an EJB 2.x example:
++
+[source,java]
+----
+Object ref = ctx.lookup("jndi-name");
+BeanAHome = (BeanAHome)PortableRemoteObject.narrow(ref,BeanAHome.class);
+----
+Here is an EJB 3.x example:
++
+[source,java]
+----
+BeanRemoteBusiness bean =(BeanRemoteBusiness) ctx.lookup("com.acme.BeanRemoteBusiness");
+----
+If load balancing is enabled as in Step link:#CIHFIJDC[1] and the EJB
+components being accessed are in a different cluster, the endpoint list
+must be included in the lookup, as follows:
++
+[source]
+----
+corbaname:host1:port1,host2:port2,.../NameService#ejb/jndi-name
+----
+For more information about naming and lookups, see
+link:jndi.html#beans[Accessing the Naming Context].
+3. Deploy the EJB component to be accessed.
++
+For more information on deployment, see "link:application-deployment-guide/overview.html#GSDPG00063[About
+Deployment Tools]" in {productName} Application
+Deployment Guide.
+4. To access EJB components that are residing in a remote system, set
+the following system properties for the Java Virtual Machine startup
+options:
++
+[source]
+----
+-Dorg.omg.CORBA.ORBInitialHost=${ORBhost}
+-Dorg.omg.CORBA.ORBInitialPort=${ORBport}
+----
+Here ORBhost is the Application Server hostname and ORBport is the ORB
+port number (default is `3700` for the default server instance, named `server`).
+5. Deploy the module.
++
+For more information on deployment, see "link:application-deployment-guide/overview.html#GSDPG00063[About
+Deployment Tools]" in {productName} Application
+Deployment Guide.
+
+[[gkuqa]][[GSDVG00076]][[to-access-a-jms-resource-from-a-stand-alone-client]]
+
+==== To access a JMS resource from a stand-alone client
+
+1. Create a JMS client.
++
+For detailed instructions on developing a JMS client, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#jakarta-messaging-examples[
+Java Message Service Examples] in The Jakarta EE Tutorial.
+2. Configure a JMS resource on {productName}.
++
+For information on configuring JMS resources, see
+"link:administration-guide/jms.html#GSADG00598[
+Administering JMS Connection Factories and Destinations]"
+in {productName} Administration Guide.
+3. Copy the following JAR files to the client machine and include them
+in the classpath on the client side:
+* `gf-client.jar` - available at as-install``/lib``
+* `imqjmsra.jar` - available at
+as-install``/lib/install/aplications/jmsra``
++
+The `gf-client.jar` file references {productName} JAR files in its
+`MANIFEST.MF` file. If there is no {productName} installation on the
+client machine, you must also copy the as-install``/modules`` directory to
+the client machine and maintain its directory structure relative to the
+as-install``/lib/gf-client.jar`` file. Or you can use the
+`package-appclient` script; see link:#beakz[Using the
+`package-appclient` Script].
+4. To access EJB components that are residing in a remote system, set
+the following system properties for the Java Virtual Machine startup
+options:
++
+[source]
+----
+-Dorg.omg.CORBA.ORBInitialHost=${ORBhost}
+-Dorg.omg.CORBA.ORBInitialPort=${ORBport}
+----
+Here ORBhost is the Application Server hostname and ORBport is the ORB
+port number (default is `3700` for the default server instance, named
+`server`).
++
+You can use the `asadmin get` command to get the IIOP port numbers. For
+example:
++
+[source]
+----
+asadmin get "configs.config.server-config.iiop-service.iiop-listener.orb-listener-1.*"
+----
+5. Run the stand-alone client.
++
+As long as the client environment is set appropriately and the JVM is
+compatible, you merely need to run the `main` class.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/jdbc.adoc b/docs/application-development-guide/src/main/asciidoc/jdbc.adoc
new file mode 100644
index 0000000..1338b88
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/jdbc.adoc
@@ -0,0 +1,693 @@
+type=page
+status=published
+title=Using the JDBC API for Database Access
+next=transaction-service.html
+prev=part-services-and-apis.html
+~~~~~~
+
+= Using the JDBC API for Database Access
+
+[[GSDVG00017]][[beamj]]
+
+
+[[using-the-jdbc-api-for-database-access]]
+== 14 Using the JDBC API for Database Access
+
+This chapter describes how to use the Java Database Connectivity (JDBC)
+API for database access with the {productName}. This chapter
+also provides high level JDBC implementation instructions for servlets
+and EJB components using the {productName}.
+
+The JDBC specifications are available at
+`http://www.oracle.com/technetwork/java/javase/jdbc/index.html`.
+
+A useful JDBC tutorial is located at
+`http://docs.oracle.com/javase/tutorial/jdbc/index.html`.
+
+
+[NOTE]
+====
+The {productName} does not support connection pooling or transactions
+for an application's database access if it does not use standard Jakarta EE
+`DataSource` objects.
+====
+
+
+The following topics are addressed here:
+
+* link:#giyck[Statements]
+* link:#giyeq[Connections]
+* link:#giyde[Connection Wrapping]
+* link:#gavro[Allowing Non-Component Callers]
+* link:#giydx[Using Application-Scoped Resources]
+* link:#geqvg[Restrictions and Optimizations]
+
+[[giyck]][[GSDVG00182]][[statements]]
+
+=== Statements
+
+The following topics are addressed here:
+
+* link:#giyfu[Using an Initialization Statement]
+* link:#ghqrx[Setting a Statement Timeout]
+* link:#gktbf[Statement Leak Detection and Leaked Statement Reclamation]
+* link:#giyci[Statement Caching]
+* link:#giygg[Statement Tracing]
+
+[[giyfu]][[GSDVG00495]][[using-an-initialization-statement]]
+
+==== Using an Initialization Statement
+
+You can specify a statement that executes each time a physical
+connection to the database is created (not reused) from a JDBC
+connection pool. This is useful for setting request or session specific
+properties and is suited for homogeneous requests in a single
+application. Set the Init SQL attribute of the JDBC connection pool to
+the SQL string to be executed in one of the following ways:
+
+* Enter an Init SQL value in the Edit Connection Pool Advanced
+Attributes page in the Administration Console. For more information,
+click the Help button in the Administration Console.
+* Specify the `--initsql` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `init-sql` option in the `asadmin set` command. For
+example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.init-sql="sql-string"
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[ghqrx]][[GSDVG00496]][[setting-a-statement-timeout]]
+
+==== Setting a Statement Timeout
+
+An abnormally long running JDBC query executed by an application may
+leave it in a hanging state unless a timeout is explicitly set on the
+statement. Setting a statement timeout guarantees that all queries
+automatically time out if not completed within the specified period.
+When statements are created, the `queryTimeout` is set according to the
+statement timeout setting. This works only when the underlying JDBC
+driver supports `queryTimeout` for `Statement`, `PreparedStatement`,
+`CallableStatement`, and `ResultSet`.
+
+You can specify a statement timeout in the following ways:
+
+* Enter a Statement Timeout value in the Edit Connection Pool Advanced
+Attributes page in the Administration Console. For more information,
+click the Help button in the Administration Console.
+* Specify the `--statementtimeout` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[gktbf]][[GSDVG00497]][[statement-leak-detection-and-leaked-statement-reclamation]]
+
+==== Statement Leak Detection and Leaked Statement Reclamation
+
+If statements are not closed by an application after use, it is possible
+for the application to run out of cursors. Enabling statement leak
+detection causes statements to be considered as leaked if they are not
+closed within a specified period. Additionally, leaked statements can
+reclaimed automatically.
+
+To enable statement leak detection, set Statement Leak Timeout In
+Seconds for the JDBC connection pool to a positive, nonzero value in one
+of the following ways:
+
+* Specify the `--statementleaktimeout` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Specify the `statement-leak-timeout-in-seconds` option in the `set`
+subcommand. For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-timeout-in-seconds=300
+----
+
+When selecting a value for Statement Leak Timeout In Seconds, make sure
+that:
+
+* It is less than the Connection Leak Timeout; otherwise, the connection
+could be closed before the statement leak is recognized.
+* It is greater than the Statement Timeout; otherwise, a long running
+query could be mistaken as a statement leak.
+
+After enabling statement leak detection, enable leaked statement
+reclamation by setting Reclaim Leaked Statements for the JDBC connection
+pool to a `true` value in one of the following ways:
+
+* Specify the `--statementleakreclaim=true` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Specify the `statement-leak-reclaim` option in the `set` subcommand.
+For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-reclaim=true
+----
+
+[[giyci]][[GSDVG00498]][[statement-caching]]
+
+==== Statement Caching
+
+Statement caching stores statements, prepared statements, and callable
+statements that are executed repeatedly by applications in a cache,
+thereby improving performance. Instead of the statement being prepared
+each time, the cache is searched for a match. The overhead of parsing
+and creating new statements each time is eliminated.
+
+Statement caching is usually a feature of the JDBC driver. The {productName} provides caching for drivers that do not support caching. To
+enable this feature, set the Statement Cache Size for the JDBC
+connection pool in one of the following ways:
+
+* Enter a Statement Cache Size value in the Edit Connection Pool
+Advanced Attributes page in the Administration Console. For more
+information, click the Help button in the Administration Console.
+* Specify the `--statementcachesize` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `statement-cache-size` option in the `asadmin set`
+command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.statement-cache-size=10
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+By default, this attribute is set to zero and the statement caching is
+turned off. To enable statement caching, you can set any positive
+nonzero value. The built-in cache eviction strategy is LRU-based (Least
+Recently Used). When a connection pool is flushed, the connections in
+the statement cache are recreated.
+
+[[giygg]][[GSDVG00499]][[statement-tracing]]
+
+==== Statement Tracing
+
+You can trace the SQL statements executed by applications that use a
+JDBC connection pool. Set the SQL Trace Listeners attribute to a
+comma-separated list of trace listener implementation classes in one of
+the following ways:
+
+* Enter an SQL Trace Listeners value in the Edit Connection Pool
+Advanced Attributes page in the Administration Console. For more
+information, click the Help button in the Administration Console.
+* Specify the `--sqltracelisteners` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `sql-trace-listeners` option in the `asadmin set` command.
+For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.sql-trace-listeners=listeners
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+The {productName} provides a public interface,
+org.glassfish.api.jdbc.SQLTraceListener , that implements a means of
+recording `SQLTraceRecord` objects. To make custom implementations of
+this interface available to the {productName}, place the
+implementation classes in as-install``/lib``.
+
+The {productName} provides an SQL tracing logger to log the SQL
+operations in the form of `SQLTraceRecord` objects in the `server.log`
+file. The module name under which the SQL operation is logged is
+`jakarta.enterprise.resource.sqltrace`. SQL traces are logged as FINE
+messages along with the module name to enable easy filtering of the SQL
+logs. A sample SQL trace record looks like this:
+
+[source]
+----
+[#|2009-11-27T15:46:52.202+0530|FINE|glassfish 6.0|jakarta.enterprise.resource.sqltrace.com.sun.gjc.util
+|_ThreadID=29;_ThreadName=Thread-1;ClassName=com.sun.gjc.util.SQLTraceLogger;MethodName=sqlTrace;
+|ThreadID=77 | ThreadName=p: thread-pool-1; w: 6 | TimeStamp=1259317012202
+| ClassName=com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40 | MethodName=executeUpdate
+| arg[0]=insert into table1(colName) values(100) | arg[1]=columnNames | |#]
+----
+
+This trace shows that an `executeUpdate(String sql, String columnNames)`
+operation is being done.
+
+When SQL statement tracing is enabled and JDBC connection pool
+monitoring is enabled, {productName} maintains a tracing cache of
+recent queries and their frequency of use. The following JDBC connection
+pool properties can be configured to control this cache and the
+monitoring statistics available from it:
+
+`time-to-keep-queries-in-minutes`::
+  Specifies how long in minutes to keep a query in the tracing cache,
+  tracking its frequency of use. The default value is 5 minutes.
+`number-of-top-queries-to-report`::
+  Specifies how many of the most used queries, in frequency order, are
+  listed the monitoring report. The default value is 10 queries.
+
+Set these parameters in one of the following ways:
+
+* Add them as properties in the Edit JDBC Connection Pool Properties
+page in the Administration Console. For more information, click the Help
+button in the Administration Console.
+* Specify them using the `--property` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Set them using the `set` subcommand. For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.property.time-to-keep-queries-in-minutes=10
+----
+
+[[giyeq]][[GSDVG00183]][[connections]]
+
+=== Connections
+
+The following topics are addressed here:
+
+* link:#gktas[Transparent Pool Reconfiguration]
+* link:#giygl[Disabling Pooling]
+* link:#giydr[Associating Connections with Threads]
+* link:#giyfg[Custom Connection Validation]
+* link:#beams[Sharing Connections]
+* link:#gezfh[Marking Bad Connections]
+* link:#gipzl[Handling Invalid Connections]
+
+[[gktas]][[GSDVG00500]][[transparent-pool-reconfiguration]]
+
+==== Transparent Pool Reconfiguration
+
+When the properties or attributes of a JDBC connection pool are changed,
+the connection pool is destroyed and re-created. Normally, applications
+using the connection pool must be redeployed as a consequence. This
+restriction can be avoided by enabling transparent JDBC connection pool
+reconfiguration. When this feature is enabled, applications do not need
+to be redeployed. Instead, requests for a new connections are blocked
+until the reconfiguration operation completes. Connection requests from
+any in-flight transactions are served using the old pool configuration
+so as to complete the transaction. Then, connections are created using
+the pool's new configuration, and any blocked connection requests are
+served with connections from the re-created pool..
+
+To enable transparent JDBC connection pool reconfiguration, set the
+`dynamic-reconfiguration-wait-timeout-in-seconds` property of the JDBC
+connection pool to a positive, nonzero value in one of the following
+ways:
+
+* Add it as a property in the Edit JDBC Connection Pool Properties page
+in the Administration Console. For more information, click the Help
+button in the Administration Console.
+* Specify it using the `--property` option in the
+`create-jdbc-connection-pool` subcommand. For more information, see
+link:reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
+* Set it using the `set` subcommand. For example:
++
+[source]
+----
+asadmin set resources.jdbc-connection-pool.pool-name.property.dynamic-reconfiguration-wait-timeout-in-seconds=15
+----
+
+This property specifies the time in seconds to wait for in-use
+connections to close and in-flight transactions to complete. Any
+connections in use or transaction in flight past this time must be
+retried.
+
+[[giygl]][[GSDVG00501]][[disabling-pooling]]
+
+==== Disabling Pooling
+
+To disable connection pooling, set the Pooling attribute to false. The
+default is true. You can enable or disable connection pooling in one of
+the following ways:
+
+* Enter a Pooling value in the Edit Connection Pool Advanced Attributes
+page in the Administration Console. For more information, click the Help
+button in the Administration Console.
+* Specify the `--pooling` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `pooling` option in the `asadmin set` command. For
+example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.pooling=false
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+The `pooling` option and the system property
+`com.sun.enterprise.connectors.SwitchoffACCConnectionPooling`, which
+turns off connection pooling in the Application Client Container, do not
+affect each other.
+
+An exception is thrown if `associate-with-thread` is set to `true` and
+pooling is disabled. An exception is thrown if you attempt to flush a
+connection pool when pooling is disabled. A warning is logged if the
+following attributes are used, because they are useful only in a pooled
+environment:
+
+* `connection-validation`
+* `validate-atmost-once-period`
+* `match-connections`
+* `max-connection-usage`
+* `idle-timeout`
+
+[[giydr]][[GSDVG00502]][[associating-connections-with-threads]]
+
+==== Associating Connections with Threads
+
+To associate connections with a thread, set the Associate With Thread
+attribute to `true`. The default is `false`. A `true` setting allows
+connections to be saved as `ThreadLocal` in the calling thread.
+Connections get reclaimed only when the calling thread dies or when the
+calling thread is not in use and the pool has run out of connections. If
+the setting is `false`, the thread must obtain a connection from the
+pool each time the thread requires a connection.
+
+The Associate With Thread attribute associates connections with a thread
+such that when the same thread is in need of connections, it can reuse
+the connections already associated with that thread. In this case, the
+overhead of getting connections from the pool is avoided. However, when
+this value is set to `true`, you should verify that the value of the Max
+Pool Size attribute is comparable to the Max Thread Pool Size attribute
+of the thread pool. If the Max Thread Pool Size value is much higher
+than the Max Pool Size value, a lot of time is spent associating
+connections with a new thread after dissociating them from an older one.
+Use this attribute in cases where the thread pool should reuse
+connections to avoid this overhead.
+
+You can set the Associate With Thread attribute in the following ways:
+
+* Enter an Associate With Thread value in the Edit Connection Pool
+Advanced Attributes page in the Administration Console. For more
+information, click the Help button in the Administration Console.
+* Specify the `--associatewiththread` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `associate-with-thread` option in the `asadmin set`
+command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.associate-with-thread=true
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[giyfg]][[GSDVG00503]][[custom-connection-validation]]
+
+==== Custom Connection Validation
+
+You can specify a custom implementation for Connection Validation that
+is faster or optimized for a specific database. Set the Validation
+Method attribute to the value `custom-validation`. (Other validation
+methods available are `table` (the default), `auto-commit`, and
+`meta-data`.) The {productName} provides a public interface,
+org.glassfish.api.jdbc.ConnectionValidation, which you can implement to
+plug in your implementation. A new attribute, Validation Classname,
+specifies the fully qualified name of the class that implements the
+ConnectionValidation interface. The Validation Classname attribute is
+required if Connection Validation is enabled and Validation Method is
+set to Custom Validation.
+
+To enable this feature, set Connection Validation, Validation Method,
+and Validation Classname for the JDBC connection pool in one of the
+following ways:
+
+* Enter Connection Validation, Validation Method, and Validation
+Classname values in the Edit Connection Pool Advanced Attributes page in
+the Administration Console. You can select from among validation class
+names for common databases in the Validation Classname field. For more
+information, click the Help button in the Administration Console.
+* Specify the `--isconnectionvalidatereq`, `--validationmethod`, and
+`--validationclassname` options in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `is-connection-validation-required`,
+`connection-validation-method`, and `validation-classname` options in
+the `asadmin set` command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.MyPool.is-connection-validation-required=true
+asadmin set domain1.resources.jdbc-connection-pool.MyPool.connection-validation-method=custom-validation
+asadmin set domain1.resources.jdbc-connection-pool.MyPool.validation-classname=impl-class
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+By default, optimized validation mechanisms are provided for DB2, Apache
+Derby, MSSQL, MySQL, Oracle, PostgreSQL and Sybase databases.
+Additionally, for JDBC 4.0 compliant database drivers, a validation
+mechanism is provided that uses the `Connection.isValid(0)`
+implementation.
+
+[[beams]][[GSDVG00504]][[sharing-connections]]
+
+==== Sharing Connections
+
+When multiple connections acquired by an application use the same JDBC
+resource, the connection pool provides connection sharing within the
+same transaction scope. For example, suppose Bean A starts a transaction
+and obtains a connection, then calls a method in Bean B. If Bean B
+acquires a connection to the same JDBC resource with the same sign-on
+information, and if Bean A completes the transaction, the connection can
+be shared.
+
+Connections obtained through a resource are shared only if the resource
+reference declared by the Jakarta EE component allows it to be shareable.
+This is specified in a component's deployment descriptor by setting the
+`res-sharing-scope` element to `Shareable` for the particular resource
+reference. To turn off connection sharing, set `res-sharing-scope` to
+`Unshareable`.
+
+For general information about connections and JDBC URLs, see
+"link:administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in {productName} Administration Guide.
+
+[[gezfh]][[GSDVG00505]][[marking-bad-connections]]
+
+==== Marking Bad Connections
+
+The `DataSource` implementation in the {productName} provides a
+`markConnectionAsBad` method. A marked bad connection is removed from
+its connection pool when it is closed. The method signature is as
+follows:
+
+[source,java]
+----
+public void markConnectionAsBad(java.sql.Connection con)
+----
+
+For example:
+
+[source,java]
+----
+com.sun.appserv.jdbc.DataSource ds=
+   (com.sun.appserv.jdbc.DataSource)context.lookup("dataSource");
+Connection con = ds.getConnection();
+Statement stmt = null;
+try{
+   stmt = con.createStatement();
+   stmt.executeUpdate("Update");
+}
+catch (BadConnectionException e){
+   ds.markConnectionAsBad(con) //marking it as bad for removal
+}
+finally{
+   stmt.close();
+   con.close(); //Connection will be destroyed during close.
+}
+----
+
+[[gipzl]][[GSDVG00506]][[handling-invalid-connections]]
+
+==== Handling Invalid Connections
+
+If a `ConnectionErrorOccured` event occurs, the {productName}
+considers the connection invalid and removes the connection from the
+connection pool. Typically, a JDBC driver generates a
+`ConnectionErrorOccured` event when it finds a `ManagedConnection`
+object unusable. Reasons can be database failure, network failure with
+the database, fatal problems with the connection pool, and so on.
+
+If the `fail-all-connections` setting in the connection pool
+configuration is set to `true`, and a single connection fails, all
+connections are closed and recreated. If this setting is `false`,
+individual connections are recreated only when they are used. The
+default is `false`.
+
+The `is-connection-validation-required` setting specifies whether
+connections have to be validated before being given to the application.
+If a resource's validation fails, it is destroyed, and a new resource is
+created and returned. The default is `false`.
+
+The `prefer-validate-over-recreate` property specifies that validating
+idle connections is preferable to closing them. This property has no
+effect on non-idle connections. If set to `true`, idle connections are
+validated during pool resizing, and only those found to be invalid are
+destroyed and recreated. If `false`, all idle connections are destroyed
+and recreated during pool resizing. The default is `false`.
+
+You can set the `fail-all-connections`,
+`is-connection-validation-required`, and `prefer-validate-over-recreate`
+configuration settings during creation of a JDBC connection pool. Or,
+you can use the `asadmin set` command to dynamically reconfigure a
+setting. For example:
+
+[source]
+----
+asadmin set server.resources.jdbc-connection-pool.JCPool1.fail-all-connections="true"
+asadmin set server.resources.jdbc-connection-pool.JCPool1.is-connection-validation-required="true"
+asadmin set server.resources.jdbc-connection-pool.JCPool1.property.prefer-validate-over-recreate="true"
+----
+
+For details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+The interface ValidatingManagedConnectionFactory exposes the method
+`getInvalidConnections` to allow retrieval of the invalid connections.
+The {productName} checks if the JDBC driver implements this
+interface, and if it does, invalid connections are removed when the
+connection pool is resized.
+
+[[giyde]][[GSDVG00184]][[connection-wrapping]]
+
+=== Connection Wrapping
+
+The following topics are addressed here:
+
+* link:#ghqxi[Wrapping Connections]
+* link:#beamt[Obtaining a Physical Connection From a Wrapped Connection]
+* link:#ggrum[Using the `Connection.unwrap()` Method]
+
+[[ghqxi]][[GSDVG00507]][[wrapping-connections]]
+
+==== Wrapping Connections
+
+If the Wrap JDBC Objects option is `true` (the default), wrapped JDBC
+objects are returned for `Statement`, `PreparedStatement`,
+`CallableStatement`, `ResultSet`, and `DatabaseMetaData`.
+
+This option ensures that `Statement.getConnection()` is the same as
+`DataSource.getConnection()`. Therefore, this option should be `true`
+when both `Statement.getConnection()` and `DataSource.getConnection()`
+are done.
+
+You can specify the Wrap JDBC Objects option in the following ways:
+
+* Check or uncheck the Wrap JDBC Objects box on the Edit Connection Pool
+Advanced Attributes page in the Administration Console. For more
+information, click the Help button in the Administration Console.
+* Specify the `--wrapjdbcobjects` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beamt]][[GSDVG00508]][[obtaining-a-physical-connection-from-a-wrapped-connection]]
+
+==== Obtaining a Physical Connection From a Wrapped Connection
+
+The `DataSource` implementation in the {productName} provides a
+`getConnection` method that retrieves the JDBC driver's `SQLConnection`
+from the {productName}'s `Connection` wrapper. The method signature
+is as follows:
+
+[source,java]
+----
+public java.sql.Connection getConnection(java.sql.Connection con)
+throws java.sql.SQLException
+----
+
+For example:
+
+[source,java]
+----
+InitialContext ctx = new InitialContext();
+com.sun.appserv.jdbc.DataSource ds = (com.sun.appserv.jdbc.DataSource)
+   ctx.lookup("jdbc/MyBase");
+Connection con = ds.getConnection();
+Connection drivercon = ds.getConnection(con); //get physical connection from wrapper
+// Do db operations.
+// Do not close driver connection.
+con.close(); // return wrapped connection to pool.
+----
+
+[[ggrum]][[GSDVG00509]][[using-the-connection.unwrap-method]]
+
+==== Using the `Connection.unwrap()` Method
+
+Using the `Connection.unwrap()` method on a vendor-provided interface
+returns an object or a wrapper object implementing the vendor-provided
+interface, which the application can make use of to do vendor-specific
+database operations. Use the `Connection.isWrapperFor()` method on a
+vendor-provided interface to check whether the connection can provide an
+implementation of the vendor-provided interface. Check the JDBC driver
+vendor's documentation for information on these interfaces.
+
+[[gavro]][[GSDVG00185]][[allowing-non-component-callers]]
+
+=== Allowing Non-Component Callers
+
+You can allow non-Java-EE components, such as servlet filters, lifecycle
+modules, and third party persistence managers, to use this JDBC
+connection pool. The returned connection is automatically enlisted with
+the transaction context obtained from the transaction manager. Standard
+Jakarta EE components can also use such pools. Connections obtained by
+non-component callers are not automatically closed at the end of a
+transaction by the container. They must be explicitly closed by the
+caller.
+
+You can enable non-component callers in the following ways:
+
+* Check the Allow Non Component Callers box on the Edit Connection Pool
+Advanced Attributes page in the Administration Console. The default is
+`false`. For more information, click the Help button in the
+Administration Console.
+* Specify the `--allownoncomponentcallers` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `allow-non-component-callers` option in the `asadmin set`
+command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.allow-non-component-callers=true
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Create a JDBC resource with a `__pm` suffix.
+
+Accessing a `DataSource` using the `Synchronization.beforeCompletion()`
+method requires setting Allow Non Component Callers to `true`. For more
+information about the Transaction Synchronization Registry, see
+link:transaction-service.html#gaxit[The Transaction Manager, the
+Transaction Synchronization Registry, and `UserTransaction`].
+
+[[giydx]][[GSDVG00186]][[using-application-scoped-resources]]
+
+=== Using Application-Scoped Resources
+
+You can define an application-scoped database or other resource for an
+enterprise application, web module, EJB module, connector module, or
+application client module by supplying a `glassfish-resources.xml`
+deployment descriptor file. For details, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in {productName} Application Deployment Guide.
+
+[[geqvg]][[GSDVG00187]][[restrictions-and-optimizations]]
+
+=== Restrictions and Optimizations
+
+This section discusses restrictions and performance optimizations that
+affect using the JDBC API.
+
+[[geqvy]][[GSDVG00510]][[disabling-stored-procedure-creation-on-sybase]]
+
+==== Disabling Stored Procedure Creation on Sybase
+
+By default, DataDirect and Oracle JDBC drivers for Sybase databases
+create a stored procedure for each parameterized `PreparedStatement`. On
+the {productName}, exceptions are thrown when primary key identity
+generation is attempted. To disable the creation of these stored
+procedures, set the property `PrepareMethod=direct` for the JDBC
+connection pool.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/jms.adoc b/docs/application-development-guide/src/main/asciidoc/jms.adoc
new file mode 100644
index 0000000..edd4c48
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/jms.adoc
@@ -0,0 +1,243 @@
+type=page
+status=published
+title=Using the Java Message Service
+next=mail.html
+prev=jndi.html
+~~~~~~
+
+= Using the Java Message Service
+
+[[GSDVG00020]][[beaob]]
+
+
+[[using-the-java-message-service]]
+== 17 Using the Java Message Service
+
+This chapter describes how to use the Java Message Service (JMS) API.
+The {productName} has a fully integrated JMS provider: the
+Open Message Queue software.
+
+
+[NOTE]
+====
+JMS resources are supported only in the full {productName}, not in
+the Web Profile.
+====
+
+
+For information about the JMS, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#messaging[Messaging]
+in The Jakarta EE Tutorial.
+
+For detailed information about JMS concepts and JMS support in the
+{productName}, see "link:administration-guide/jms.html#GSADG00020[Administering the Java Message
+Service (JMS)]" in {productName} Administration
+Guide.
+
+The following topics are addressed here:
+
+* link:#gkpcz[Using Application-Scoped JMS Resources]
+* link:#beaop[Load-Balanced Message Inflow]
+* link:#beaor[Authentication With `ConnectionFactory`]
+* link:#beaot[Delivering SOAP Messages Using the JMS API]
+
+[[gkpcz]][[GSDVG00196]][[using-application-scoped-jms-resources]]
+
+=== Using Application-Scoped JMS Resources
+
+You can define an application-scoped JMS or other resource for an
+enterprise application, web module, EJB module, connector module, or
+application client module by supplying a `glassfish-resources.xml`
+deployment descriptor file. For details, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in {productName} Application Deployment Guide.
+
+[[beaop]][[GSDVG00197]][[load-balanced-message-inflow]]
+
+=== Load-Balanced Message Inflow
+
+You can configure `ActivationSpec` properties of the `jmsra` resource
+adapter in the `glassfish-ejb-jar.xml` file for a message-driven bean
+using `activation-config-property` elements. Whenever a message-driven
+bean (`EndPointFactory`) is deployed, the connector runtime engine finds
+these properties and configures them accordingly in the resource
+adapter. See "link:application-deployment-guide/dd-elements.html#GSDPG00086[activation-config-property]" in {productName} Application Deployment Guide.
+
+The {productName} transparently enables messages to be delivered in
+random fashion to message-driven beans having same `ClientID`. The
+`ClientID` is required for durable subscribers.
+
+For nondurable subscribers in which the `ClientID` is not configured,
+all instances of a specific message-driven bean that subscribe to same
+topic are considered equal. When a message-driven bean is deployed to
+multiple instances of the {productName}, only one of the
+message-driven beans receives the message. If multiple distinct
+message-driven beans subscribe to same topic, one instance of each
+message-driven bean receives a copy of the message.
+
+To support multiple consumers using the same queue, set the
+`maxNumActiveConsumers` property of the physical destination to a large
+value. If this property is set, the Oracle Message Queue software allows
+multiple message-driven beans to consume messages from same queue. The
+message is delivered randomly to the message-driven beans. If
+`maxNumActiveConsumers` is set to `-1`, there is no limit to the number
+of consumers.
+
+To ensure that local delivery is preferred, set `addresslist-behavior`
+to `priority`. This setting specifies that the first broker in the
+`AddressList` is selected first. This first broker is the local
+colocated Message Queue instance. If this broker is unavailable,
+connection attempts are made to brokers in the order in which they are
+listed in the `AddressList`. This setting is the default for {productName} instances that belong to a cluster.
+
+[[beaor]][[GSDVG00198]][[authentication-with-connectionfactory]]
+
+=== Authentication With `ConnectionFactory`
+
+If your web, EJB, or client module has `res-auth` set to `Container`,
+but you use the `ConnectionFactory.createConnection("user","password")`
+method to get a connection, the {productName} searches the container
+for authentication information before using the supplied user and
+password. Version 7 of the {productName} threw an exception in this
+situation.
+
+[[beaot]][[GSDVG00199]][[delivering-soap-messages-using-the-jms-api]]
+
+=== Delivering SOAP Messages Using the JMS API
+
+Web service clients use the Simple Object Access Protocol (SOAP) to
+communicate with web services. SOAP uses a combination of XML-based data
+structuring and Hyper Text Transfer Protocol (HTTP) to define a
+standardized way of invoking methods in objects distributed in diverse
+operating environments across the Internet.
+
+For more information about SOAP, see the Apache SOAP web site at
+`http://xml.apache.org/soap/index.html`.
+
+You can take advantage of the JMS provider's reliable messaging when
+delivering SOAP messages. You can convert a SOAP message into a JMS
+message, send the JMS message, then convert the JMS message back into a
+SOAP message.
+
+The following topics are addressed here:
+
+* link:#beaou[To Send SOAP Messages Using the JMS API]
+* link:#beaov[To Receive SOAP Messages Using the JMS API]
+
+[[beaou]][[GSDVG00077]][[to-send-soap-messages-using-the-jms-api]]
+
+==== To Send SOAP Messages Using the JMS API
+
+1. Import the `MessageTransformer` library.
++
+[source,java]
+----
+import com.sun.messaging.xml.MessageTransformer;
+----
+This is the utility whose methods you use to convert SOAP messages to
+JMS messages and the reverse. You can then send a JMS message containing
+a SOAP payload as if it were a normal JMS message.
+2. Initialize the `TopicConnectionFactory`, `TopicConnection`,
+`TopicSession`, and publisher.
++
+[source,java]
+----
+tcf = new TopicConnectionFactory();
+tc = tcf.createTopicConnection();
+session = tc.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
+topic = session.createTopic(topicName);
+publisher = session.createPublisher(topic);
+----
+3. Construct a SOAP message using the SOAP with Attachments API for
+Java (SAAJ).
++
+[source,java]
+----
+/*construct a default soap MessageFactory */
+MessageFactory mf = MessageFactory.newInstance();
+* Create a SOAP message object.*/
+SOAPMessage soapMessage = mf.createMessage();
+/** Get SOAP part.*/
+SOAPPart soapPart = soapMessage.getSOAPPart();
+/* Get SOAP envelope. */
+SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
+/* Get SOAP body.*/
+SOAPBody soapBody = soapEnvelope.getBody();
+/* Create a name object. with name space */
+/* http://www.sun.com/imq. */
+Name name = soapEnvelope.createName("HelloWorld", "hw",
+ "http://www.sun.com/imq");
+* Add child element with the above name. */
+SOAPElement element = soapBody.addChildElement(name)
+/* Add another child element.*/
+element.addTextNode( "Welcome to GlassFish Web Services." );
+/* Create an atachment with activation API.*/
+URL url = new URL ("http://java.sun.com/webservices/");
+DataHandler dh = new DataHandler (url);
+AttachmentPart ap = soapMessage.createAttachmentPart(dh);
+/*set content type/ID. */
+ap.setContentType("text/html");
+ap.setContentId("cid-001");
+/** add the attachment to the SOAP message.*/
+soapMessage.addAttachmentPart(ap);
+soapMessage.saveChanges();
+----
+4. Convert the SOAP message to a JMS message by calling the
+`MessageTransformer.SOAPMessageintoJMSMessage()` method.
++
+[source,java]
+----
+Message m = MessageTransformer.SOAPMessageIntoJMSMessage (soapMessage, session );
+----
+5. Publish the JMS message.
++
+[source,java]
+----
+publisher.publish(m);
+----
+6. Close the JMS connection.
++
+[source,java]
+----
+tc.close();
+----
+
+[[beaov]][[GSDVG00078]][[to-receive-soap-messages-using-the-jms-api]]
+
+==== To Receive SOAP Messages Using the JMS API
+
+1. Import the `MessageTransformer` library.
++
+[source,java]
+----
+import com.sun.messaging.xml.MessageTransformer;
+----
+This is the utility whose methods you use to convert SOAP messages to
+JMS messages and the reverse. The JMS message containing the SOAP
+payload is received as if it were a normal JMS message.
+2. Initialize the `TopicConnectionFactory`, `TopicConnection`,
+`TopicSession`, `TopicSubscriber`, and Topic.
++
+[source,java]
+----
+messageFactory = MessageFactory.newInstance();
+tcf = new com.sun.messaging.TopicConnectionFactory();
+tc = tcf.createTopicConnection();
+session = tc.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
+topic = session.createTopic(topicName);
+subscriber = session.createSubscriber(topic);
+subscriber.setMessageListener(this);
+tc.start();
+----
+3. Use the `OnMessage` method to receive the message. Use the
+`SOAPMessageFromJMSMessage` method to convert the JMS message to a SOAP
+message.
++
+[source,java]
+----
+public void onMessage (Message message) {
+SOAPMessage soapMessage = MessageTransformer.SOAPMessageFromJMSMessage(message, messageFactory );
+}
+----
+4. Retrieve the content of the SOAP message.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/jndi.adoc b/docs/application-development-guide/src/main/asciidoc/jndi.adoc
new file mode 100644
index 0000000..85c2379
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/jndi.adoc
@@ -0,0 +1,556 @@
+type=page
+status=published
+title=Using the Java Naming and Directory Interface
+next=jms.html
+prev=transaction-service.html
+~~~~~~
+
+= Using the Java Naming and Directory Interface
+
+[[GSDVG00019]][[beanr]]
+
+
+[[using-the-java-naming-and-directory-interface]]
+== 16 Using the Java Naming and Directory Interface
+
+A naming service maintains a set of bindings, which relate names to
+objects. The Jakarta EE naming service is based on the Java Naming and
+Directory Interface (JNDI) API. The JNDI API allows application
+components and clients to look up distributed resources, services, and
+EJB components. For general information about the JNDI API, see
+`http://www.oracle.com/technetwork/java/jndi/index.html`. You can also
+see the JNDI tutorial at `http://docs.oracle.com/javase/jndi/tutorial/`.
+
+The following topics are addressed here:
+
+* link:#beans[Accessing the Naming Context]
+* link:#beanx[Configuring Resources]
+* link:#gcpge[Using a Custom `jndi.properties` File]
+* link:#beaoa[Mapping References]
+
+
+[NOTE]
+====
+The Web Profile of the {productName} supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The full {productName} supports the entire EJB
+3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318]
+(`http://jcp.org/en/jsr/detail?id=318`).
+====
+
+
+[[beans]][[GSDVG00192]][[accessing-the-naming-context]]
+
+=== Accessing the Naming Context
+
+The {productName} provides a naming environment, or context,
+which is compliant with standard Jakarta EE requirements. A `Context`
+object provides the methods for binding names to objects, unbinding
+names from objects, renaming objects, and listing the bindings. The
+`InitialContext` is the handle to the Jakarta EE naming service that
+application components and clients use for lookups.
+
+The JNDI API also provides subcontext functionality. Much like a
+directory in a file system, a subcontext is a context within a context.
+This hierarchical structure permits better organization of information.
+For naming services that support subcontexts, the `Context` class also
+provides methods for creating and destroying subcontexts.
+
+The following topics are addressed here:
+
+* link:#BGBJGGAD[Portable Global JNDI Names]
+* link:#gcjkd[{productName} V2 Vendor-Specific Global JNDI Names]
+* link:#gkndi[Disabling {productName} V2 JNDI Names]
+* link:#beanu[Accessing EJB Components Using the `CosNaming` Naming
+Context]
+* link:#beanv[Accessing EJB Components in a Remote {productName}]
+* link:#beanw[Naming Environment for Lifecycle Modules]
+
+
+[NOTE]
+====
+Each resource within a server instance must have a unique name. However,
+two resources in different server instances or different domains can
+have the same name.
+====
+
+
+[[BGBJGGAD]][[GSDVG560]][[portable-global-jndi-names]]
+
+==== Portable Global JNDI Names
+
+If an EJB component is a kind of session bean and it is deployed to any
+implementation supporting the EJB 3.1specification (for example,
+{productName} 7), it automatically has one or more portable JNDI
+names defined based on the syntax in the specification. Note that this
+is true of existing EJB 3.0 and 2.x applications that are deployed to an
+implementation supporting EJB 3.1. No code changes are required to the
+bean class itself in order to have the portable global JNDI name
+automatically assigned when deployed to an EJB 3.1 container.
+
+For more information, see the Jakarta EE Platform Specification, section
+EE.5.2.2, "Application Component Environment Namespaces"
+(`http://jcp.org/en/jsr/detail?id=366`),
+and the EJB 3.1 Specification, section 4.4, "Global JNDI Access"
+(`http://jcp.org/en/jsr/detail?id=318`).
+
+If the `disable-nonportable-jndi-names` property is set to false (the
+default), a {productName} V2-specific JNDI name is assigned in
+addition to a portable global JNDI name. For more information, see
+link:#gcjkd[{productName} V2 Vendor-Specific Global JNDI Names] and
+link:#gkndi[Disabling {productName} V2 JNDI Names].
+
+[[gcjkd]][[GSDVG00519]][[glassfish-server-v2-vendor-specific-global-jndi-names]]
+
+==== {productName} V2 Vendor-Specific Global JNDI Names
+
+{productName} v2 vendor-specific global JNDI names are assigned
+according to the following precedence rules:
+
+1. A global JNDI name assigned in the `glassfish-ejb-jar.xml`,
+`glassfish-web.xml`, or `glassfish-application-client.xml` deployment
+descriptor file has the highest precedence. See link:#beaoa[Mapping
+References].
+2. A global JNDI name assigned in a `mapped-name` element in the
+`ejb-jar.xml`, `web.xml`, or `application-client.xml` deployment
+descriptor file has the second highest precedence. The following
+elements have `mapped-name` subelements: `resource-ref`,
+`resource-env-ref`, `ejb-ref`, `message-destination`,
+`message-destination-ref`, `session`, `message-driven`, and `entity`.
+3. A global JNDI name assigned in a `mappedName` attribute of an
+annotation has the third highest precedence. The following annotations
+have `mappedName` attributes: `@jakarta.annotation.Resource`,
+`@javax.ejb.EJB`, `@javax.ejb.Stateless`, `@javax.ejb.Singleton`,
+`@javax.ejb.Stateful`, and `@javax.ejb.MessageDriven`.
+4. In most cases, a default global JNDI name is assigned (and recorded
+in the server log) if no name is assigned in deployment descriptors or
+annotations.
+* For a session or entity bean, a {productName} V2-specific JNDI name
+is assigned as follows:
+
+** For an EJB 2.x dependency or a session or entity bean with a remote
+interface, the default is the fully qualified name of the home
+interface.
+
+** For an EJB 3.0 dependency or a session bean with a remote interface,
+the default is the fully qualified name of the remote business
+interface.
+
+** If both EJB 2.x and EJB 3.0 remote interfaces are specified, or if
+more than one 3.0 remote interface is specified, there is no {productName} V2-specific default. For an entity bean, a global JNDI name must
+be assigned.
+* For all other component dependencies that must be mapped to global
+JNDI names, the default is the name of the dependency relative to
+`java:comp/env`. For example, in the
+`@Resource(name="jdbc/Foo") DataSource ds;` annotation, the global JNDI
+name is `jdbc/Foo`.
+
+[[gkndi]][[GSDVG00526]][[disabling-glassfish-server-v2-jndi-names]]
+
+==== Disabling {productName} V2 JNDI Names
+
+The EJB 3.1 specification supported by {productName} 7 defines
+portable EJB JNDI names for session beans. Because of this, there is
+less need to continue to use older vendor-specific JNDI names.
+
+By default, {productName} V2-specific JNDI names are applied
+automatically by {productName} 7 for backward compatibility.
+However, this can lead to some ease-of-use issues. For example,
+deploying two different applications containing a remote EJB component
+that exposes the same remote interface causes a conflict between the
+default JNDI names.
+
+The default handling of V2-specific JNDI names in {productName} 7
+can be managed by using the `asadmin` command:
+
+[source]
+----
+asadmin> set server.ejb-container.property.disable-nonportable-jndi-names="true"
+----
+
+The `disable-nonportable-jndi-names` property is a boolean flag that can
+take the following values:
+
+`false`::
+  Enables the automatic use of {productName} V2-specific JNDI names
+  in addition to portable global JNDI names. This is the default
+  setting.
+`true`::
+  Disables the automatic use of V2-specific JNDI names. In all cases,
+  only portable global JNDI names are used.
+
+Note that this setting applies to all session beans deployed to the
+server.
+
+[[beanu]][[GSDVG00520]][[accessing-ejb-components-using-the-cosnaming-naming-context]]
+
+==== Accessing EJB Components Using the `CosNaming` Naming Context
+
+The preferred way of accessing the naming service, even in code that
+runs outside of a Jakarta EE container, is to use the no-argument
+`InitialContext` constructor. However, if EJB client code explicitly
+instantiates an `InitialContext` that points to the `CosNaming` naming
+service, it is necessary to set the `java.naming.factory.initial`
+property to `org.glassfish.jndi.cosnaming.CNCtxFactory` in the client JVM
+software when accessing EJB components. You can set this property using
+the `asadmin create-jvm-options` command, as follows:
+
+[source]
+----
+asadmin> create-jvm-options -Djava.naming.factory.initial=org.glassfish.jndi.cosnaming.CNCtxFactory
+----
+
+For details about `asadmin create-jvm-options`, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+Or you can set this property in the code, as follows:
+
+[source,java]
+----
+Properties properties = null;
+      try {
+            properties = new Properties();
+            properties.put("java.naming.factory.initial",
+                  "org.glassfish.jndi.cosnaming.CNCtxFactory");
+            ...
+          }
+      ...
+----
+
+The `java.naming.factory.initial` property applies to only one instance.
+The property is not cluster-aware.
+
+[[beanv]][[GSDVG00521]][[accessing-ejb-components-in-a-remote-glassfish-server]]
+
+==== Accessing EJB Components in a Remote {productName}
+
+The recommended approach for looking up an EJB component in a remote
+{productName} from a client that is a servlet or EJB component is to
+use the Interoperable Naming Service syntax. Host and port information
+is prepended to any global JNDI names and is automatically resolved
+during the lookup. The syntax for an interoperable global name is as
+follows:
+
+[source]
+----
+corbaname:iiop:host:port#a/b/name
+----
+
+This makes the programming model for accessing EJB components in another
+{productName} exactly the same as accessing them in the same server.
+The deployer can change the way the EJB components are physically
+distributed without having to change the code.
+
+For Jakarta EE components, the code still performs a `java:comp/env` lookup
+on an EJB reference. The only difference is that the deployer maps the
+`ejb-ref` element to an interoperable name in a {productName}
+deployment descriptor file instead of to a simple global JNDI name.
+
+For example, suppose a servlet looks up an EJB reference using
+`java:comp/env/ejb/Foo`, and the target EJB component has a global JNDI
+name of `a/b/Foo`.
+
+The `ejb-ref` element in `glassfish-web.xml` looks like this:
+
+[source,xml]
+----
+<ejb-ref>
+   <ejb-ref-name>ejb/Foo</ejb-ref-name>
+   <jndi-name>corbaname:iiop:host:port#a/b/Foo</jndi-name>
+</ejb-ref>
+----
+
+The code looks like this:
+
+[source,java]
+----
+Context ic = new InitialContext();
+Object o = ic.lookup("java:comp/env/ejb/Foo");
+----
+
+For a client that doesn't run within a Jakarta EE container, the code just
+uses the interoperable global name instead of the simple global JNDI
+name. For example:
+
+[source,java]
+----
+Context ic = new InitialContext();
+Object o = ic.lookup("corbaname:iiop:host:port#a/b/Foo");
+----
+
+Objects stored in the interoperable naming context and
+component-specific (`java:comp/env`) naming contexts are transient. On
+each server startup or application reloading, all relevant objects are
+re-bound to the namespace.
+
+[[beanw]][[GSDVG00522]][[naming-environment-for-lifecycle-modules]]
+
+==== Naming Environment for Lifecycle Modules
+
+Lifecycle listener modules provide a means of running short or long
+duration tasks based on Java technology within the {productName}
+environment, such as instantiation of singletons or RMI servers. These
+modules are automatically initiated at server startup and are notified
+at various phases of the server life cycle. For details about lifecycle
+modules, see link:lifecycle-listeners.html#beamc[Developing Lifecycle
+Listeners].
+
+The configured properties for a lifecycle module are passed as
+properties during server initialization (the `INIT_EVENT`). The initial
+JNDI naming context is not available until server initialization is
+complete. A lifecycle module can get the `InitialContext` for lookups
+using the method `LifecycleEventContext.getInitialContext()` during, and
+only during, the `STARTUP_EVENT`, `READY_EVENT`, or `SHUTDOWN_EVENT`
+server life cycle events.
+
+[[beanx]][[GSDVG00193]][[configuring-resources]]
+
+=== Configuring Resources
+
+The {productName} exposes special resources in the naming
+environment.
+
+* link:#beany[External JNDI Resources]
+* link:#beanz[Custom Resources]
+* link:#giyvw[Built-in Factories for Custom Resources]
+* link:#gkpdn[Using Application-Scoped Resources]
+
+[[beany]][[GSDVG00523]][[external-jndi-resources]]
+
+==== External JNDI Resources
+
+An external JNDI resource defines custom JNDI contexts and implements
+the javax.naming.spi.InitialContextFactory interface. There is no
+specific JNDI parent context for external JNDI resources, except for the
+standard `java:comp/env/`.
+
+Create an external JNDI resource in one of these ways:
+
+* To create an external JNDI resource using the Administration Console,
+open the Resources component, open the JNDI component, and select
+External Resources. For details, click the Help button in the
+Administration Console.
+* To create an external JNDI resource, use the
+`asadmin create-jndi-resource` command. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beanz]][[GSDVG00524]][[custom-resources]]
+
+==== Custom Resources
+
+A custom resource specifies a custom server-wide resource object factory
+that implements the javax.naming.spi.ObjectFactory interface. There is
+no specific JNDI parent context for external JNDI resources, except for
+the standard `java:comp/env/`.
+
+Create a custom resource in one of these ways:
+
+* To create a custom resource using the Administration Console, open the
+Resources component, open the JNDI component, and select Custom
+Resources. For details, click the Help button in the Administration
+Console.
+* To create a custom resource, use the `asadmin create-custom-resource`
+command. For details, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[giyvw]][[GSDVG00525]][[built-in-factories-for-custom-resources]]
+
+==== Built-in Factories for Custom Resources
+
+The {productName} provides built-in factories for the following types
+of custom resources:
+
+* link:#giywi[JavaBeanFactory]
+* link:#giysn[PropertiesFactory]
+* link:#giytz[PrimitivesAndStringFactory]
+* link:#giywh[URLFactory]
+
+Template `glassfish-resources.xml` files for these built-in factories
+and a `README` file are available at
+as-install``/lib/install/templates/resources/custom/``. For more
+information about the `glassfish-resources.xml` file, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide].
+
+[[giywi]][[GSDVG00329]][[javabeanfactory]]
+
+===== JavaBeanFactory
+
+To create a custom resource that provides instances of a JavaBean class,
+follow these steps:
+
+1. Set the custom resource's factory class to
+`org.glassfish.resources.custom.factory.JavaBeanFactory`.
+2. Create a property in the custom resource for each setter method in
+the JavaBean class.
++
+For example, if the JavaBean class has a method named `setAccount`,
+specify a property named `account` and give it a value.
+3. Make sure the JavaBean class is accessible to the {productName}.
++
+For example, you can place the JavaBean class in the as-install``/lib``
+directory.
+
+[[giysn]][[GSDVG00330]][[propertiesfactory]]
+
+===== PropertiesFactory
+
+To create a custom resource that provides properties to applications,
+set the custom resource's factory class to
+`org.glassfish.resources.custom.factory.PropertiesFactory`, then specify
+one or both of the following:
+
+* Create a property in the custom resource named
+`org.glassfish.resources.custom.factory.PropertiesFactory.fileName` and
+specify as its value the path to a properties file or an XML file.
++
+The path can be absolute or relative to as-install. The file must be
+accessible to the {productName}.
++
+If an XML file is specified, it must match the document type definition
+(DTD) specified in the API definition of
+http://download.oracle.com/javase/8/docs/api/java/util/Properties.html[java.util.Properties]
+(`http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html`).
+* Create the desired properties directly as properties of the custom
+resource.
++
+If both the `fileName` property and other properties are specified, the
+resulting property set is the union. If the same property is defined in
+the file and directly in the custom resource, the value of the latter
+takes precedence.
+
+[[giytz]][[GSDVG00331]][[primitivesandstringfactory]]
+
+===== PrimitivesAndStringFactory
+
+To create a custom resource that provides Java primitives to
+applications, follow these steps:
+
+1. Set the custom resource's factory class to
+`org.glassfish.resources.custom.factory.PrimitivesAndStringFactory`.
+2. Set the custom resource's resource type to one of the following or
+its fully qualified wrapper class name equivalent:
+* `int`
+* `long`
+* `double`
+* `float`
+* `char`
+* `short`
+* `byte`
+* `boolean`
+* `String`
+3. Create a property in the custom resource named `value` and give it
+the value needed by the application.
++
+For example, If the application requires a `double` of value `22.1`,
+create a property with the name `value` and the value `22.1`.
+
+[[giywh]][[GSDVG00332]][[urlfactory]]
+
+===== URLFactory
+
+To create a custom resource that provides URL instances to applications,
+follow these steps:
+
+1. Set the custom resource's factory class to
+`org.glassfish.resources.custom.factory.URLObjectFactory`.
+2. Choose which of the following constructors to use:
+* `URL(protocol, host, port, file)`
+* `URL(protocol, host, file)`
+* `URL(spec)`
+3. Define properties according to the chosen constructor.
++
+For example, for the first constructor, define properties named
+`protocol`, `host`, `port`, and `file`. Example values might be `http`,
+`localhost`, `8085`, and `index.html`, respectively.
++
+For the third constructor, define a property named `spec` and assign it
+the value of the entire URL.
+
+[[gkpdn]][[GSDVG00527]][[using-application-scoped-resources]]
+
+==== Using Application-Scoped Resources
+
+You can define an application-scoped JNDI or other resource for an
+enterprise application, web module, EJB module, connector module, or
+application client module by supplying a `glassfish-resources.xml`
+deployment descriptor file. For details, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in {productName} Application Deployment Guide.
+
+[[gcpge]][[GSDVG00194]][[using-a-custom-jndi.properties-file]]
+
+=== Using a Custom `jndi.properties` File
+
+To use a custom `jndi.properties` file, JAR it and place it in the
+domain-dir``/lib`` directory. This adds the custom `jndi.properties` file
+to the Common class loader. For more information about class loading,
+see link:class-loaders.html#beade[Class Loaders].
+
+For each property found in more than one `jndi.properties` file, the
+Jakarta EE naming service either uses the first value found or concatenates
+all of the values, whichever makes sense.
+
+[[beaoa]][[GSDVG00195]][[mapping-references]]
+
+=== Mapping References
+
+The following XML elements in the {productName} deployment
+descriptors map resource references in application client, EJB, and web
+application components to JNDI names configured in {productName}:
+
+* `resource-env-ref` - Maps the `@Resource` or `@Resources` annotation
+(or the `resource-env-ref` element in the corresponding Jakarta EE XML
+file) to the absolute JNDI name configured in {productName}.
+* `resource-ref` - Maps the `@Resource` or `@Resources` annotation (or
+the `resource-ref` element in the corresponding Jakarta EE XML file) to the
+absolute JNDI name configured in {productName}.
+* `ejb-ref` - Maps the `@EJB` annotation (or the `ejb-ref` element in
+the corresponding Jakarta EE XML file) to the absolute JNDI name configured
+in {productName}.
++
+JNDI names for EJB components must be unique. For example, appending the
+application name and the module name to the EJB name is one way to
+guarantee unique names. In this case, `mycompany.pkging.pkgingEJB.MyEJB`
+would be the JNDI name for an EJB in the module `pkgingEJB.jar`, which
+is packaged in the `pkging.ear` application.
+
+These elements are part of the `glassfish-web.xml`,
+`glassfish-application-client.xml`, `glassfish-ejb-jar.xml`, and
+`glassfish-application.xml` deployment descriptor files. For more
+information about how these elements behave in each of the deployment
+descriptor files, see "link:application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the {productName}
+Deployment Descriptors]" in {productName}
+Application Deployment Guide.
+
+The rest of this section uses an example of a JDBC resource lookup to
+describe how to reference resource factories. The same principle is
+applicable to all resources (such as JMS destinations, JavaMail
+sessions, and so on).
+
+The `@Resource` annotation in the application code looks like this:
+
+[source,java]
+----
+@Resource(name="jdbc/helloDbDs") javax.sql.DataSource ds;
+----
+
+This references a resource with the JNDI name of `java:jdbc/helloDbDs`.
+If this is the JNDI name of the JDBC resource configured in the
+{productName}, the annotation alone is enough to reference the
+resource.
+
+However, you can use a {productName} specific deployment descriptor
+to override the annotation. For example, the `resource-ref` element in
+the `glassfish-web.xml` file maps the `res-ref-name` (the name specified
+in the annotation) to the JNDI name of another JDBC resource configured
+in {productName}.
+
+[source,xml]
+----
+<resource-ref>
+   <res-ref-name>jdbc/helloDbDs</res-ref-name>
+   <jndi-name>jdbc/helloDbDataSource</jndi-name>
+</resource-ref>
+----
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/jpa.adoc b/docs/application-development-guide/src/main/asciidoc/jpa.adoc
new file mode 100644
index 0000000..e27a06f
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/jpa.adoc
@@ -0,0 +1,778 @@
+type=page
+status=published
+title=Configuring the Java Persistence Provider
+next=webapps.html
+prev=webservices.html
+~~~~~~
+
+= Configuring the Java Persistence Provider
+
+[[GSDVG00008]][[gbxjk]]
+
+
+[[configuring-the-java-persistence-provider]]
+== 6 Configuring the Java Persistence Provider
+
+This chapter describes Oracle TopLink, the default persistence provider
+in {productName}, and introduces how to use it.
+This chapter also tells how to set the default persistence provider in
+{productName} and how to use persistence-related features specific to
+{productName} such as automatic schema generation.
+
+The following topics are addressed here:
+
+* link:#CHDJJAEI[Overview of Oracle TopLink]
+* link:#CHDHDABJ[Using Oracle TopLink in {productName}]
+* link:#gbwmj[Specifying the Database for an Application]
+* link:#gdkwf[Specifying the Persistence Provider for an Application]
+* link:#gescc[Primary Key Generation Defaults]
+* link:#gbwlh[Automatic Schema Generation]
+* link:#gbxjh[Restrictions and Optimizations]
+
+[[CHDJJAEI]][[GSDVG537]][[overview-of-oracle-toplink]]
+
+=== Overview of Oracle TopLink
+
+Oracle TopLink is the default persistence provider in {productName}. It is a comprehensive standards-based object-persistence and
+object-transformation framework that provides APIs, schemas, and
+run-time services for the persistence layer of an application.
+
+TopLink includes all of EclipseLink, from the Eclipse Foundation.
+EclipseLink is the default persistence provider in {productName}. EclipseLink is the open source implementation of the
+development framework and the runtime provided in TopLink. EclipseLink
+implements the following specifications, plus value-added extensions:
+
+* Java Persistence Architecture (JPA) 2.0.
++
+JPA 2.0 is part of Java Platform, Enterprise Edition 6 (Jakarta EE 6). It
+includes improvements and enhancements to domain modeling,
+object/relational mapping, `EntityManager` and `Query` interfaces, and
+the Java Persistence Query Language (JPQL). It includes an API for
+criteria queries, a metamodel API, and support for validation. The Java
+Persistence API can be used with non-EJB components outside the EJB
+container.
++
+For the JPA 2.0 Specification, see
+http://jcp.org/aboutJava/communityprocess/pfd/jsr317/index.html[Java
+Specification Request (JSR) 317]. For basic information about the Java
+Persistence API, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#persistence[Persistence]
+in The Jakarta EE Tutorial.
+* Java Architecture for XML Binding (JAXB) 2.0. The EclipseLink JAXB
+implementation, plus EclipseLink extensions, is called MOXy. The
+`org.eclipse.persistence.moxy.jar` file is bundled with {productName}. For more information about MOXy support in {productName}, see
+link:webservices.html#CHDEBBCH[The Databinding Provider].
++
+For the JAXB 2.0 specification, see
+http://jcp.org/aboutJava/communityprocess/pfd/jsr222/index.html[Java
+Specification Request (JSR) 222].
+* EclipseLink utilities are not included but can be used with {productName}. Download the EclipseLink zip file at
+`http://www.eclipse.org/eclipselink/downloads/` and unzip it. The
+utility files are located here:
++
+[source]
+----
+bin/jaxb-compiler.cmd
+bin/jaxb-compiler.sh
+----
+
+In addition to all of EclipseLink, Oracle TopLink includes TopLink Grid,
+an integration between TopLink and Oracle Coherence that allows TopLink
+to use Oracle Coherence as a level 2 (L2) cache and persistence layer
+for entities. The `toplink-grid.jar` file is bundled with {productName}.
+
+
+[NOTE]
+====
+You must have a license for Oracle Coherence to be able to use TopLink
+Grid.
+====
+
+
+For information about developing, deploying, and configuring Oracle
+TopLink, EclipseLink, and TopLink Grid applications, see the following:
+
+* http://docs.oracle.com/html/E25034_01.html[Oracle Fusion Middleware
+Solution Guide for Oracle TopLink]
+* EclipseLink project home at `http://wiki.eclipse.org/EclipseLink`
+* EclipseLink Documentation Center at
+`http://wiki.eclipse.org/EclipseLink/UserGuide`
+* Java API Reference for EclipseLink at
+`http://www.eclipse.org/eclipselink/api/latest/index.html`
+* EclipseLink examples at `http://wiki.eclipse.org/EclipseLink/Examples`
+* http://docs.oracle.com/cd/E18686_01/coh.37/e18677.html[Oracle
+Coherence Developer's Guide]
+* http://docs.oracle.com/cd/E17904_01/doc.1111/e16596.html[Oracle
+Fusion Middleware Integration Guide for Oracle TopLink with Coherence
+Grid]
+
+[[CHDHDABJ]][[GSDVG538]][[using-oracle-toplink-in-glassfish-server]]
+
+=== Using Oracle TopLink in {productName}
+
+To run TopLink JPA applications in {productName}, you must configure
+the server and coordinate certain server and application settings. These
+are described in the following steps. For a summary of these steps, see
+"http://docs.oracle.com/html/E25034_01/tlandgs.html#CIHDDACF[Using
+TopLink with WebLogic Server]" in Oracle Fusion Middleware Solution
+Guide for Oracle TopLink. For more detailed explanations of these steps,
+see the links in the steps.
+
+1. Set up the datasource. See "link:administration-guide/jdbc.html#GSADG00015[
+Administering Database Connectivity]"
+in {productName} Administration Guide.
+2. Create the application. For guidance in writing your application,
+see https://eclipse-ee4j.github.io/jakartaee-tutorial/#persistence[Persistence]
+in The Jakarta EE Tutorial.
+3. Create the `persistence.xml` file. See link:#gbwmj[Specifying the
+Database for an Application] for considerations specific to {productName}.
++
+If you are using the Java Persistence API by calling
+`Persistence.createEMF()`, see link:#gdkwf[Specifying the Persistence
+Provider for an Application].
+4. If the security manager is enabled and you are using the Java
+Persistence API by calling `Persistence.createEMF()`, see
+link:securing-apps.html#gbyah[Enabling and Disabling the Security
+Manager].
+5. Deploy the application. See the {productName}
+Application Deployment Guide.
+6. Run the application. See "Application Client Launch" and "To Launch
+an Application" in Administration Console online help.
+7. Monitor the application. See "link:administration-guide/monitoring.html#GSADG00011[
+Administering the Monitoring Service]"
+in {productName} Administration Guide.
+
+[[gbwmj]][[GSDVG00130]][[specifying-the-database-for-an-application]]
+
+=== Specifying the Database for an Application
+
+{productName} uses the bundled Apache Derby database by default,
+named `jdbc/__default`. If the `transaction-type` element is omitted or
+specified as `JTA` and both the `jta-data-source` and
+`non-jta-data-source` elements are omitted in the `persistence.xml`
+file, Apache Derby is used as a JTA data source. If `transaction-type`
+is specified as `RESOURCE_LOCAL` and both `jta-data-source` and
+`non-jta-data-source` are omitted, Apache Derby is used as a non-JTA
+data source.
+
+To use a non-default database, either specify a value for the
+`jta-data-source` element, or set the `transaction-type` element to
+`RESOURCE_LOCAL` and specify a value for the `non-jta-data-source`
+element.
+
+If you are using the default persistence provider, the provider attempts
+to automatically detect the database type based on the connection
+metadata. This database type is used to issue SQL statements specific to
+the detected database type's dialect. You can specify the optional
+`eclipselink.target-database` property to guarantee that the database
+type is correct. For example:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+    <persistence xmlns="http://java.sun.com/xml/ns/persistence">
+        <persistence-unit name ="em1">
+            <jta-data-source>jdbc/MyDB2DB</jta-data-source>
+            <properties>
+                <property name="eclipselink.target-database"
+                    value="DB2"/>
+            </properties>
+        </persistence-unit>
+    </persistence>
+----
+
+The following `eclipselink.target-database` property values are allowed.
+Supported platforms have been tested with the {productName} and are
+found to be Jakarta EE compatible.
+
+[source]
+----
+//Supported platforms
+JavaDB
+Derby
+Oracle
+MySQL4
+//Others available
+SQLServer
+DB2
+Sybase
+PostgreSQL
+Informix
+TimesTen
+Attunity
+HSQL
+SQLAnyWhere
+DBase
+DB2Mainframe
+Cloudscape
+PointBase
+----
+
+For more information about the `eclipselink.target-database` property,
+see
+http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Session.2C_Target_Database_and_Target_Application_Server[Using
+EclipseLink JPA Extensions for Session, Target Database and Target
+Application Server]
+(`http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Session.2C_Target_Database_and_Target_Application_Server`).
+
+If you are using the Java Persistence API by calling
+`Persistence.createEMF()`, do not specify the `jta-data-source` or
+`non-jta-data-source` elements. Instead, specify the `provider` element
+and any additional properties required by the JDBC driver or the
+database. For example:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
+        <persistence-unit name ="em2">
+            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+            <class>ejb3.war.servlet.JpaBean</class>
+            <properties>
+                <property name="eclipselink.target-database"
+                    value="Derby"/>
+                <!-- JDBC connection properties -->
+                <property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
+                <property name="eclipselink.jdbc.url"
+value="jdbc:derby://localhost:1527/testdb;retrieveMessagesFromServerOnGetMessage=true;create=true;"/>
+                <property name="eclipselink.jdbc.user" value="APP"/>
+                <property name="eclipselink.jdbc.password" value="APP"/>
+            </properties>
+        </persistence-unit>
+    </persistence>
+----
+
+For a list of the JDBC drivers currently supported by the {productName}, see the link:release-notes.html#GSRLN[{productName} Release
+Notes]. For configurations of supported and other drivers, see
+"link:administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
+{productName} Administration Guide.
+
+[[gdkwf]][[GSDVG00138]][[specifying-the-persistence-provider-for-an-application]]
+
+=== Specifying the Persistence Provider for an Application
+
+If you are using the default persistence provider in an application that
+uses the Java Persistence API by injecting or looking up an entity
+manager or entity manager factory, you do not need to specify the
+provider.
+
+If you are using the Java Persistence API by calling
+`Persistence.createEMF()`, you should always specify the persistence
+provider for specification compliance. To specify the default provider,
+set the `provider` element of the `persistence.xml` file to
+`org.eclipse.persistence.jpa.PersistenceProvider`.
+
+You can specify a non-default persistence provider for an application in
+the manner described in the Java Persistence API Specification:
+
+1. Install the provider. Copy the provider JAR files to the
+domain-dir``/lib`` directory, and restart the {productName}. For more
+information about the domain-dir``/lib`` directory, see
+link:class-loaders.html#beadj[Using the Common Class Loader]. The new
+persistence provider is now available to all modules and applications
+deployed on servers that share the same configuration.
++
+However, the default provider remains the same, Oracle TopLink or
+EclipseLink.
+2. In your persistence unit, specify the provider and any properties
+the provider requires in the `persistence.xml` file. For example:
++
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+    <persistence xmlns="http://java.sun.com/xml/ns/persistence">
+        <persistence-unit name ="em3">
+            <provider>com.company22.persistence.PersistenceProviderImpl</provider>
+            <properties>
+                <property name="company22.database.name" value="MyDB"/>
+            </properties>
+        </persistence-unit>
+    </persistence>
+----
+
+To specify the provider programmatically instead of in the
+`persistence.xml` file, set the `javax.persistence.provider` property
+and pass it to the `Map` parameter of the following method:
+
+[source,java]
+----
+javax.persistence.Persistence.createEntityManagerFactory(String, Map)
+----
+
+[[gescc]][[GSDVG00135]][[primary-key-generation-defaults]]
+
+=== Primary Key Generation Defaults
+
+In the descriptions of the `@GeneratedValue`, `@SequenceGenerator`, and
+`@TableGenerator` annotations in the Java Persistence Specification,
+certain defaults are noted as specific to the persistence provider. The
+default persistence provider's primary key generation defaults are
+listed here.
+
+`@GeneratedValue` defaults are as follows:
+
+* Using `strategy=AUTO` (or no `strategy`) creates a `@TableGenerator`
+named `SEQ_GEN` with default settings. Specifying a `generator` has no
+effect.
+* Using `strategy=TABLE` without specifying a `generator` creates a
+`@TableGenerator` named `SEQ_GEN_TABLE` with default settings.
+Specifying a `generator` but no `@TableGenerator` creates and names a
+`@TableGenerator` with default settings.
+* Using `strategy=IDENTITY` or `strategy=SEQUENCE` produces the same
+results, which are database-specific.
+
+** For Oracle databases, not specifying a `generator` creates a
+`@SequenceGenerator` named `SEQ_GEN_SEQUENCE` with default settings.
+Specifying a `generator` but no `@SequenceGenerator` creates and names a
+`@SequenceGenerator` with default settings.
+
+** For PostgreSQL databases, a `SERIAL` column named
+entity-table`_`pk-column`_SEQ` is created.
+
+** For MySQL databases, an `AUTO_INCREMENT` column is created.
+
+** For other supported databases, an `IDENTITY` column is created.
+
+The `@SequenceGenerator` annotation has one default specific to the
+default provider. The default `sequenceName` is the specified `name`.
+
+`@TableGenerator` defaults are as follows:
+
+* The default `table` is `SEQUENCE`.
+* The default `pkColumnName` is `SEQ_NAME`.
+* The default `valueColumnName` is `SEQ_COUNT`.
+* The default `pkColumnValue` is the specified `name`, or the default
+`name` if no `name` is specified.
+
+[[gbwlh]][[GSDVG00136]][[automatic-schema-generation]]
+
+=== Automatic Schema Generation
+
+The automatic schema generation feature of the {productName} defines
+database tables based on the fields or properties in entities and the
+relationships between the fields or properties. This insulates
+developers from many of the database related aspects of development,
+allowing them to focus on entity development. The resulting schema is
+usable as-is or can be given to a database administrator for tuning with
+respect to performance, security, and so on.
+
+The following topics are addressed here:
+
+* link:#gcjgl[Annotations]
+* link:#gbwmk[Generation Options]
+
+
+[NOTE]
+====
+Automatic schema generation is supported on an all-or-none basis: it
+expects that no tables exist in the database before it is executed. It
+is not intended to be used as a tool to generate extra tables or
+constraints.
+
+Deployment won't fail if all tables are not created, and undeployment
+won't fail if not all tables are dropped. Instead, an error is written
+to the server log. This is done to allow you to investigate the problem
+and fix it manually. You should not rely on the partially created
+database schema to be correct for running the application.
+====
+
+
+[[gcjgl]][[GSDVG00388]][[annotations]]
+
+==== Annotations
+
+The following annotations are used in automatic schema generation:
+`@AssociationOverride`, `@AssociationOverrides`, `@AttributeOverride`,
+`@AttributeOverrides`, `@Column`, `@DiscriminatorColumn`,
+`@DiscriminatorValue`, `@Embedded`, `@EmbeddedId`, `@GeneratedValue`,
+`@Id`, `@IdClass`, `@JoinColumn`, `@JoinColumns`, `@JoinTable`, `@Lob`,
+`@ManyToMany`, `@ManyToOne`, `@OneToMany`, `@OneToOne`,
+`@PrimaryKeyJoinColumn`, `@PrimaryKeyJoinColumns`, `@SecondaryTable`,
+`@SecondaryTables`, `@SequenceGenerator`, `@Table`, `@TableGenerator`,
+`@UniqueConstraint`, and `@Version`. For information about these
+annotations, see the Java Persistence Specification.
+
+For `@Column` annotations, the `insertable` and `updatable` elements are
+not used in automatic schema generation.
+
+For `@OneToMany` and `@ManyToOne` annotations, no `ForeignKeyConstraint`
+is created in the resulting DDL files.
+
+[[gbwmk]][[GSDVG00389]][[generation-options]]
+
+==== Generation Options
+
+Schema generation properties or `asadmin` command line options can
+control automatic schema generation by the following:
+
+* Creating tables during deployment
+* Dropping tables during undeployment
+* Dropping and creating tables during redeployment
+* Generating the DDL files
+
+
+[NOTE]
+====
+Before using these options, make sure you have a properly configured
+database. See link:#gbwmj[Specifying the Database for an Application].
+====
+
+
+Optional schema generation properties control the automatic creation of
+database tables. You can specify them in the `persistence.xml` file. For
+more information, see
+http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Schema_Generation[Using
+EclipseLink JPA Extensions for Schema Generation]
+(`http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Schema_Generation`).
+
+The following options of the `asadmin deploy` or `asadmin deploydir`
+command control the automatic creation of database tables at deployment.
+
+[[GSDVG539]][[sthref11]][[gbwlr]]
+
+
+Table 6-1 The `asadmin deploy` and `asadmin deploydir` Generation
+Options
+
+[width="181%",cols="14%,49%,37%",options="header",]
+|===
+|Option |Default |Description
+|`--createtables` |none |If `true`, causes database tables to be created
+for entities that need them. No unique constraints are created. If
+`false`, does not create tables. If not specified, the value of the
+`eclipselink.ddl-generation` property in `persistence.xml` is used.
+
+|`--dropandcreatetables` |none a|
+If `true`, and if tables were automatically created when this
+application was last deployed, tables from the earlier deployment are
+dropped and fresh ones are created.
+
+If `true`, and if tables were not automatically created when this
+application was last deployed, no attempt is made to drop any tables. If
+tables with the same names as those that would have been automatically
+created are found, the deployment proceeds, but a warning is thrown to
+indicate that tables could not be created.
+
+If `false`, the `eclipselink.ddl-generation` property setting in
+`persistence.xml` is overridden.
+
+|===
+
+
+The following options of the `asadmin undeploy` command control the
+automatic removal of database tables at undeployment.
+
+[[GSDVG540]][[sthref12]][[gbwmm]]
+
+
+Table 6-2 The `asadmin undeploy` Generation Options
+
+[width="181%",cols="9%,49%,42%",options="header",]
+|===
+|Option |Default |Description
+|`--droptables` |none a|
+If `true`, causes database tables that were automatically created when
+the entities were last deployed to be dropped when the entities are
+undeployed. If `false`, does not drop tables.
+
+If not specified, tables are dropped only if the
+`eclipselink.ddl-generation` property setting in `persistence.xml` is
+`drop-and-create-tables`.
+
+|===
+
+
+For more information about the `asadmin deploy`, `asadmin deploydir`,
+and `asadmin undeploy` commands, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+When `asadmin` deployment options and `persistence.xml` options are both
+specified, the `asadmin` deployment options take precedence.
+
+[[gbxjh]][[GSDVG00139]][[restrictions-and-optimizations]]
+
+=== Restrictions and Optimizations
+
+This section discusses restrictions and performance optimizations that
+affect using the Java Persistence API.
+
+The following topics are addressed here:
+
+* link:#giqbi[Oracle Database Enhancements]
+* link:#ghdtr[Extended Persistence Context]
+* link:#gezxw[Using @OrderBy with a Shared Session Cache]
+* link:#gdwqi[Using BLOB or CLOB Types with the Inet Oraxo JDBC Driver]
+* link:#geqvh[Database Case Sensitivity]
+* link:#gbxjg[Sybase Finder Limitation]
+* link:#gbxjp[MySQL Database Restrictions]
+
+[[giqbi]][[GSDVG00390]][[oracle-database-enhancements]]
+
+==== Oracle Database Enhancements
+
+EclipseLink features a number of enhancements for use with Oracle
+databases. These enhancements require classes from the Oracle JDBC
+driver JAR files to be visible to EclipseLink at runtime. If you place
+the JDBC driver JAR files in domain-dir``/lib``, the classes are not
+visible to {productName} components, including EclipseLink.
+
+If you are using an Oracle database, put JDBC driver JAR files in
+domain-dir``/lib/ext`` instead. This ensures that the JDBC driver classes
+are visible to EclipseLink.
+
+If you do not want to take advantage of Oracle-specific extensions from
+EclipseLink or you cannot put JDBC driver JAR files in
+domain-dir``/lib/ext``, set the `eclipselink.target-database` property to
+the value `org.eclipse.persistence.platform.database.OraclePlatform`.
+For more information about the `eclipselink.target-database` property,
+see link:#gbwmj[Specifying the Database for an Application].
+
+[[ghdtr]][[GSDVG00391]][[extended-persistence-context]]
+
+==== Extended Persistence Context
+
+The Java Persistence API specification does not specify how the
+container and persistence provider should work together to serialize an
+extended persistence context. This also prevents successful
+serialization of a reference to an extended persistence context in a
+stateful session bean.
+
+Even in a single-instance environment, if a stateful session bean is
+passivated, its extended persistence context could be lost when the
+stateful session bean is activated.
+
+Therefore, in {productName}, a stateful session bean with an extended
+persistence context is never passivated and cannot be failed over.
+
+[[gezxw]][[GSDVG00392]][[using-orderby-with-a-shared-session-cache]]
+
+==== Using @OrderBy with a Shared Session Cache
+
+Setting `@OrderBy` on a `ManyToMany` or `OneToMany` relationship field
+in which a `List` represents the Many side doesn't work if the session
+cache is shared. Use one of the following workarounds:
+
+* Have the application maintain the order so the `List` is cached
+properly.
+* Refresh the session cache using `EntityManager.refresh()` if you don't
+want to maintain the order during creation or modification of the
+`List`.
+* Disable session cache sharing in `persistence.xml` as follows:
++
+[source,xml]
+----
+<property name="eclipselink.cache.shared.default" value="false"/>
+----
+
+[[gdwqi]][[GSDVG00393]][[using-blob-or-clob-types-with-the-inet-oraxo-jdbc-driver]]
+
+==== Using BLOB or CLOB Types with the Inet Oraxo JDBC Driver
+
+To use BLOB or CLOB data types larger than 4 KB for persistence using
+the Inet Oraxo JDBC Driver for Oracle Databases, you must set the
+database's `streamstolob` property value to `true`.
+
+[[geqvh]][[GSDVG00394]][[database-case-sensitivity]]
+
+==== Database Case Sensitivity
+
+Mapping references to column or table names must be in accordance with
+the expected column or table name case, and ensuring this is the
+programmer's responsibility. If column or table names are not explicitly
+specified for a field or entity, the {productName} uses upper case
+column names by default, so any mapping references to the column or
+table names must be in upper case. If column or table names are
+explicitly specified, the case of all mapping references to the column
+or table names must be in accordance with the case used in the specified
+names.
+
+The following are examples of how case sensitivity affects mapping
+elements that refer to columns or tables. Keep case sensitivity in mind
+when writing these mappings.
+
+[[geqvc]][[GSDVG00246]][[unique-constraints]]
+
+===== Unique Constraints
+
+If column names are not explicitly specified on a field, unique
+constraints and foreign key mappings must be specified using uppercase
+references. For example:
+
+[source,java]
+----
+@Table(name="Department", uniqueConstraints={ @UniqueConstraint ( columnNames= { "DEPTNAME" } ) } )
+----
+
+The other way to handle this is by specifying explicit column names for
+each field with the required case. For example:
+
+[source,java]
+----
+@Table(name="Department", uniqueConstraints={ @UniqueConstraint ( columnNames= { "deptName" } ) } )
+public class Department{ @Column(name="deptName") private String deptName; }
+----
+
+Otherwise, the `ALTER TABLE` statement generated by the {productName}
+uses the incorrect case, and the creation of the unique constraint
+fails.
+
+[[geqvk]][[GSDVG00247]][[foreign-key-mapping]]
+
+===== Foreign Key Mapping
+
+Use `@OneToMany(mappedBy="COMPANY")` or specify an explicit column name
+for the `Company` field on the `Many` side of the relationship.
+
+[[geqvi]][[GSDVG00248]][[sql-result-set-mapping]]
+
+===== SQL Result Set Mapping
+
+Use the following elements:
+
+[source,xml]
+----
+<sql-result-set-mapping name="SRSMName">
+   <entity-result entity-class="entities.someEntity" />
+   <column-result name="UPPERCASECOLUMNNAME" />
+</sql-result-set-mapping>
+----
+
+Or specify an explicit column name for the `upperCaseColumnName` field.
+
+[[geqvo]][[GSDVG00249]][[named-native-queries-and-jdbc-queries]]
+
+===== Named Native Queries and JDBC Queries
+
+Column or table names specified in SQL queries must be in accordance
+with the expected case. For example, MySQL requires column names in the
+`SELECT` clause of JDBC queries to be uppercase, while PostgreSQL and
+Sybase require table names to be uppercase in all JDBC queries.
+
+[[geqxc]][[GSDVG00250]][[postgresql-case-sensitivity]]
+
+===== PostgreSQL Case Sensitivity
+
+PostgreSQL stores column and table names in lower case. JDBC queries on
+PostgreSQL retrieve column or table names in lowercase unless the names
+are quoted. For example:
+
+[source,sql]
+----
+use aliases Select m.ID AS \"ID\" from Department m
+----
+
+Use the backslash as an escape character in the class file, but not in
+the `persistence.xml` file.
+
+[[gbxjg]][[GSDVG00395]][[sybase-finder-limitation]]
+
+==== Sybase Finder Limitation
+
+If a finder method with an input greater than 255 characters is executed
+and the primary key column is mapped to a VARCHAR column, Sybase
+attempts to convert type VARCHAR to type TEXT and generates the
+following error:
+
+[source]
+----
+com.sybase.jdbc2.jdbc.SybSQLException: Implicit conversion from datatype
+'TEXT' to 'VARCHAR' is not allowed. Use the CONVERT function to run this query.
+----
+
+To avoid this error, make sure the finder method input is less than 255
+characters.
+
+[[gbxjp]][[GSDVG00396]][[mysql-database-restrictions]]
+
+==== MySQL Database Restrictions
+
+The following restrictions apply when you use a MySQL database with the
+{productName} for persistence.
+
+* MySQL treats `int1` and `int2` as reserved words. If you want to
+define `int1` and `int2` as fields in your table, use `\`int1\`` and
+`\`int2\`` field names in your SQL file.
+* When `VARCHAR` fields get truncated, a warning is displayed instead of
+an error. To get an error message, start the MySQL database in strict
+SQL mode.
+* The order of fields in a foreign key index must match the order in the
+explicitly created index on the primary table.
+* The `CREATE TABLE` syntax in the SQL file must end with the following
+line.
++
+[source,sql]
+----
+)  Engine=InnoDB;
+----
+`InnoDB` provides MySQL with a transaction-safe (ACID compliant) storage
+engine having commit, rollback, and crash recovery capabilities.
+* For a `FLOAT` type field, the correct precision must be defined. By
+default, MySQL uses four bytes to store a `FLOAT` type that does not
+have an explicit precision definition. For example, this causes a number
+such as 12345.67890123 to be rounded off to 12345.7 during an `INSERT`.
+To prevent this, specify `FLOAT(10,2)` in the DDL file, which forces the
+database to use an eight-byte double-precision column. For more
+information, see `http://dev.mysql.com/doc/mysql/en/numeric-types.html`.
+* To use `||` as the string concatenation symbol, start the MySQL server
+with the `--sql-mode="PIPES_AS_CONCAT"` option. For more information,
+see `http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html` and
+`http://dev.mysql.com/doc/mysql/en/ansi-mode.html`.
+* MySQL always starts a new connection when `autoCommit==true` is set.
+This ensures that each SQL statement forms a single transaction on its
+own. If you try to rollback or commit an SQL statement, you get an error
+message.
++
+[source]
+----
+javax.transaction.SystemException: java.sql.SQLException:
+Can't call rollback when autocommit=true
+
+javax.transaction.SystemException: java.sql.SQLException:
+Error open transaction is not closed
+----
+To resolve this issue, add `relaxAutoCommit=true` to the JDBC URL. For
+more information, see `http://forums.mysql.com/read.php?39,31326,31404`.
+* MySQL does not allow a `DELETE` on a row that contains a reference to
+itself. Here is an example that illustrates the issue.
++
+[source,sql]
+----
+create table EMPLOYEE (
+        empId   int         NOT NULL,
+        salary  float(25,2) NULL,
+        mgrId   int         NULL,
+        PRIMARY KEY (empId),
+        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
+        ) ENGINE=InnoDB;
+
+        insert into Employee values (1, 1234.34, 1);
+        delete from Employee where empId = 1;
+----
+This example fails with the following error message.
++
+[source,java]
+----
+ERROR 1217 (23000): Cannot delete or update a parent row:
+a foreign key constraint fails
+----
+To resolve this issue, change the table creation script to the
+following:
++
+[source,java]
+----
+create table EMPLOYEE (
+        empId   int         NOT NULL,
+        salary  float(25,2) NULL,
+        mgrId   int         NULL,
+        PRIMARY KEY (empId),
+        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
+        ON DELETE SET NULL
+        ) ENGINE=InnoDB;
+
+        insert into Employee values (1, 1234.34, 1);
+        delete from Employee where empId = 1;
+----
+This can be done only if the foreign key field is allowed to be null.
+For more information, see
+`http://dev.mysql.com/doc/mysql/en/innodb-foreign-key-constraints.html`.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/lifecycle-listeners.adoc b/docs/application-development-guide/src/main/asciidoc/lifecycle-listeners.adoc
new file mode 100644
index 0000000..1828332
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/lifecycle-listeners.adoc
@@ -0,0 +1,188 @@
+type=page
+status=published
+title=Developing Lifecycle Listeners
+next=osgi.html
+prev=connectors.html
+~~~~~~
+
+= Developing Lifecycle Listeners
+
+[[GSDVG00014]][[beamc]]
+
+
+[[developing-lifecycle-listeners]]
+== 12 Developing Lifecycle Listeners
+
+Lifecycle listener modules provide a means of running short or long
+duration Java-based tasks within the {productName}
+environment, such as instantiation of singletons or RMI servers. These
+modules are automatically initiated at server startup and are notified
+at various phases of the server life cycle.
+
+
+[NOTE]
+====
+Lifecycle listener modules are deprecated. Support for them is included
+for backward compatibility. Implementing the org.glassfish.api.Startup
+interface instead is recommended.
+====
+
+
+All lifecycle module classes and interfaces are in the
+as-install``/modules/``glassfish-api.jar`` file.
+
+For Javadoc tool pages relevant to lifecycle modules, see the
+`com.sun.appserv.server` package.
+
+The following topics are addressed here:
+
+* link:#beamd[Server Life Cycle Events]
+* link:#beame[The LifecycleListener Interface]
+* link:#beamf[The `LifecycleEvent` Class]
+* link:#beamg[The Server Lifecycle Event Context]
+* link:#beamh[Deploying a Lifecycle Module]
+* link:#beami[Considerations for Lifecycle Modules]
+
+[[beamd]][[GSDVG00167]][[server-life-cycle-events]]
+
+=== Server Life Cycle Events
+
+A lifecycle module listens for and performs its tasks in response to the
+following events in the server life cycle:
+
+* After the `INIT_EVENT`, the server reads the configuration,
+initializes built-in subsystems (such as security and logging services),
+and creates the containers.
+* After the `STARTUP_EVENT`, the server loads and initializes deployed
+applications.
+* After the `READY_EVENT`, the server is ready to service requests.
+* After the `SHUTDOWN_EVENT`, the server destroys loaded applications
+and stops.
+* After the `TERMINATION_EVENT`, the server closes the containers, the
+built-in subsystems, and the server runtime environment.
+
+These events are defined in the `LifecycleEvent` class.
+
+The lifecycle modules that listen for these events implement the
+LifecycleListener interface.
+
+[[beame]][[GSDVG00168]][[the-lifecyclelistener-interface]]
+
+=== The LifecycleListener Interface
+
+To create a lifecycle module is to configure a customized class that
+implements the com.sun.appserv.server.LifecycleListener interface. You
+can create and simultaneously execute multiple lifecycle modules.
+
+The LifecycleListener interface defines this method:
+
+[source,java]
+----
+public void handleEvent(com.sun.appserv.server.LifecycleEvent event)
+throws ServerLifecycleException
+----
+
+This method responds to a lifecycle event and throws a
+`com.sun.appserv.server.ServerLifecycleException` if an error occurs.
+
+A sample implementation of the LifecycleListener interface is the
+`LifecycleListenerImpl.java` file, which you can use for testing
+lifecycle events.
+
+[[beamf]][[GSDVG00169]][[the-lifecycleevent-class]]
+
+=== The `LifecycleEvent` Class
+
+The `com.sun.appserv.server.LifecycleEvent` class defines a server life
+cycle event. The following methods are associated with the event:
+
+* `public java.lang.Object.getData()`
++
+This method returns an instance of `java.util.Properties` that contains
+the properties defined for the lifecycle module.
+* `public int getEventType()`
++
+This method returns the type of the last event, which is `INIT_EVENT`,
+`STARTUP_EVENT`, `READY_EVENT`, `SHUTDOWN_EVENT`, or
+`TERMINATION_EVENT`.
+* `public com.sun.appserv.server.LifecycleEventContext.getLifecycleEventContext()`
++
+This method returns the lifecycle event context, described next.
+
+A `LifecycleEvent` instance is passed to the
+`LifecycleListener.handleEvent` method.
+
+[[beamg]][[GSDVG00170]][[the-server-lifecycle-event-context]]
+
+=== The Server Lifecycle Event Context
+
+The com.sun.appserv.server.LifecycleEventContext interface exposes
+runtime information about the server. The lifecycle event context is
+created when the `LifecycleEvent` class is instantiated at server
+initialization. The LifecycleEventContext interface defines these
+methods:
+
+* `public java.lang.String[].getCmdLineArgs()`
++
+This method returns the server startup command-line arguments.
+* `public java.lang.String.getInstallRoot()`
++
+This method returns the server installation root directory.
+* `public java.lang.String.getInstanceName()`
++
+This method returns the server instance name.
+* `public javax.naming.InitialContext.getInitialContext()`
++
+This method returns the initial JNDI naming context. The naming
+environment for lifecycle modules is installed after the
+`STARTUP_EVENT`. A lifecycle module can look up any resource by its
+`jndi-name` attribute after the `READY_EVENT`.
+
+If a lifecycle module needs to look up resources, it can do so after the
+`READY_EVENT`. It can use the `getInitialContext` method to get the
+initial context to which all the resources are bound.
+
+[[beamh]][[GSDVG00171]][[deploying-a-lifecycle-module]]
+
+=== Deploying a Lifecycle Module
+
+For instructions on how to deploy a lifecycle module, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide], or see the `asadmin create-lifecycle-module` command in the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+You do not need to specify a classpath for the lifecycle module if you
+place it in the domain-dir``/lib`` or domain-dir`/lib/classes` directory
+for the Domain Administration Server. Do not place it in the lib
+directory for a particular instance, or it will be deleted when that
+instance synchronizes with the Domain Administration Server.
+
+[[beami]][[GSDVG00172]][[considerations-for-lifecycle-modules]]
+
+=== Considerations for Lifecycle Modules
+
+The resources allocated at initialization or startup should be freed at
+shutdown or termination. The lifecycle module classes are called
+synchronously from the main server thread, therefore it is important to
+ensure that these classes don't block the server. Lifecycle modules can
+create threads if appropriate, but these threads must be stopped in the
+shutdown and termination phases.
+
+The LifeCycleModule class loader is the parent class loader for
+lifecycle modules. Each lifecycle module's classpath is used to
+construct its class loader. All the support classes needed by a
+lifecycle module must be available to the LifeCycleModule class loader
+or its parent, the Connector class loader.
+
+You must ensure that the `server.policy` file is appropriately set up,
+or a lifecycle module trying to perform a `System.exec()` might cause a
+security access violation. For details, see
+link:securing-apps.html#beabx[The `server.policy` File].
+
+The configured properties for a lifecycle module are passed as
+properties after the `INIT_EVENT`. The JNDI naming context is not
+available before the `STARTUP_EVENT`. If a lifecycle module requires the
+naming context, it can get this after the `STARTUP_EVENT`,
+`READY_EVENT`, or `SHUTDOWN_EVENT`.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/loe.adoc b/docs/application-development-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..79bf1a6
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,15 @@
+type=page
+status=published
+title=List of Examples
+next=lot.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:osgi.html#gkvbk[13-1 Example of a WAB Using CDI]
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/lot.adoc b/docs/application-development-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..0f2c686
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,44 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=loe.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:class-loaders.html#fvxzq[2-1 {productName} Class
+Loaders]
+* link:securing-apps.html#sthref6[4-1 Predefined System Properties]
+* link:securing-apps.html#sthref8[4-2 Message Security Provider
+Properties]
+* link:jpa.html#gbwlr[6-1 The asadmin deploy and asadmin deploydir
+Generation Options]
+* link:jpa.html#gbwmm[6-2 The asadmin undeploy Generation Options]
+* link:webapps.html#fvygg[7-1 The cache Attributes]
+* link:webapps.html#fvyep[7-2 The flush Attributes]
+* link:webapps.html#fvyem[7-3 Object Types Supported for Jakarta EE Web
+Application Session State Failover]
+* link:webapps.html#gheoy[7-4 SSIServlet init-param Values]
+* link:webapps.html#ghern[7-5 CGIServlet init-param Values]
+* link:ejb.html#fvyed[8-1 Object Types Supported for Jakarta EE Stateful
+Session Bean State Failover]
+* link:container_managed-persistence.html#fvyaq[9-1 Java Type to JDBC
+Type Mappings for CMP]
+* link:container_managed-persistence.html#fvymp[9-2 Mappings of JDBC
+Types to Database Vendor Specific Types for CMP]
+* link:container_managed-persistence.html#fvymo[9-3 The
+glassfish-ejb-jar.xml Generation Elements]
+* link:container_managed-persistence.html#fvymn[9-4 The asadmin deploy
+and asadmin deploydir Generation Options for CMP]
+* link:container_managed-persistence.html#fvymt[9-5 The asadmin undeploy
+Generation Options for CMP]
+* link:java-clients.html#gkmbk[10-1 Owned JNLP File Content]
+* link:java-clients.html#gkmci[10-2 Defaulted JNLP File Content]
+* link:java-clients.html#gkmcc[10-3 Merged JNLP File Content]
+* link:transaction-service.html#fvyoi[15-1 Transaction Isolation Levels]
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/mail.adoc b/docs/application-development-guide/src/main/asciidoc/mail.adoc
new file mode 100644
index 0000000..3ed14ac
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/mail.adoc
@@ -0,0 +1,249 @@
+type=page
+status=published
+title=Using the Jakarta Mail API
+prev=jms.html
+~~~~~~
+
+= Using the Jakarta Mail API
+
+[[GSDVG00021]][[beaow]]
+
+
+[[using-the-jakarta-mail-api]]
+== 18 Using the Jakarta Mail API
+
+This chapter describes how to use the Jakarta Mail API, which provides a set
+of abstract classes defining objects that comprise a mail system.
+
+The following topics are addressed here:
+
+* link:#beaox[Introducing Jakarta Mail]
+* link:#beaoy[Creating a Jakarta Mail Session]
+* link:#beaoz[Jakarta Mail Session Properties]
+* link:#beapa[Looking Up a Jakarta Mail Session]
+* link:#fwfiy[Sending and Reading Messages Using Jakarta Mail]
+* link:#gkpfg[Using Application-Scoped Jakarta Mail Resources]
+
+
+[NOTE]
+====
+Jakarta Mail resources are supported only in the full {productName}, not in the Web Profile.
+====
+
+
+[[beaox]][[GSDVG00200]][[introducing-jakarta-mail]]
+
+=== Introducing Jakarta Mail
+
+The Jakarta Mail API defines classes such as `Message`, `Store`, and
+`Transport`. The API can be extended and can be subclassed to provide
+new protocols and to add functionality when necessary. In addition, the
+API provides concrete subclasses of the abstract classes. These
+subclasses, including `MimeMessage` and `MimeBodyPart`, implement widely
+used Internet mail protocols and conform to the RFC822 and RFC2045
+specifications. The Jakarta Mail API includes support for the IMAP4, POP3,
+and SMTP protocols.
+
+The Jakarta Mail architectural components are as follows:
+
+* The abstract layer declares classes, interfaces, and abstract methods
+intended to support mail handling functions that all mail systems
+support.
+* The internet implementation layer implements part of the abstract
+layer using the RFC822 and MIME internet standards.
+* Jakarta Mail uses the JavaBeans Activation Framework (JAF) to encapsulate
+message data and to handle commands intended to interact with that data.
+
+For more information, see
+"link:administration-guide/mail.html#GSADG00019[Administering the Jakarta Mail Service]"
+in {productName} Administration Guide
+and the Jakarta Mail specification at
+`https://jakarta.ee/specifications/mail`.
+
+[[beaoy]][[GSDVG00201]][[creating-a-jakarta-mail-session]]
+
+=== Creating a Jakarta Mail Session
+
+You can create a Jakarta Mail session in the following ways:
+
+* In the Administration Console, open the Resources component and select
+Jakarta Mail Sessions. For details, click the Help button in the
+Administration Console.
+* Use the `asadmin create-mail-resource` command. For details, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beaoz]][[GSDVG00202]][[jakarta-mail-session-properties]]
+
+=== Jakarta Mail Session Properties
+
+You can set properties for a Jakarta Mail `Session` object. Every property
+name must start with a `mail-` prefix. The {productName} changes the
+dash (`-`) character to a period (`.`) in the name of the property and
+saves the property to the `MailConfiguration` and Jakarta Mail `Session`
+objects. If the name of the property doesn't start with `mail-`, the
+property is ignored.
+
+For example, if you want to define the property `mail.from` in a
+Jakarta Mail `Session` object, first define the property as follows:
+
+* Name - `mail-from`
+* Value - `john.doe@sun.com`
+
+[[beapa]][[GSDVG00203]][[looking-up-a-jakarta-mail-session]]
+
+=== Looking Up a Jakarta Mail Session
+
+The standard Java Naming and Directory Interface (JNDI) subcontext for
+Jakarta Mail sessions is `java:comp/env/mail`.
+
+Registering Jakarta Mail sessions in the `mail` naming subcontext of a JNDI
+namespace, or in one of its child subcontexts, is standard. The JNDI
+namespace is hierarchical, like a file system's directory structure, so
+it is easy to find and nest references. A Jakarta Mail session is bound to a
+logical JNDI name. The name identifies a subcontext, `mail`, of the root
+context, and a logical name. To change the Jakarta Mail session, you can
+change its entry in the JNDI namespace without having to modify the
+application.
+
+The resource lookup in the application code looks like this:
+
+[source,java]
+----
+InitialContext ic = new InitialContext();
+String snName = "java:comp/env/mail/MyMailSession";
+Session session = (Session)ic.lookup(snName);
+----
+
+For more information about the JNDI API, see link:jndi.html#beanr[Using
+the Java Naming and Directory Interface].
+
+[[fwfiy]][[GSDVG00204]][[sending-and-reading-messages-using-jakarta-mail]]
+
+=== Sending and Reading Messages Using Jakarta Mail
+
+The following topics are addressed here:
+
+* link:#beapb[To Send a Message Using Jakarta Mail]
+* link:#beapc[To Read a Message Using Jakarta Mail]
+
+[[beapb]][[GSDVG00079]][[to-send-a-message-using-jakarta-mail]]
+
+==== To Send a Message Using Jakarta Mail
+
+1. Import the packages that you need.
++
+[source,java]
+----
+import java.util.*;
+import jakarta.activation.*;
+import jakarta.mail.*;
+import jakarta.mail.internet.*;
+import javax.naming.*;
+----
+2. Look up the Jakarta Mail session.
++
+[source,java]
+----
+InitialContext ic = new InitialContext();
+String snName = "java:comp/env/mail/MyMailSession";
+Session session = (Session)ic.lookup(snName);
+----
+For more information, see link:#beapa[Looking Up a Jakarta Mail Session].
+3. Override the Jakarta Mail session properties if necessary.
++
+For example:
++
+[source,java]
+----
+Properties props = session.getProperties();
+props.put("mail.from", "user2@mailserver.com");
+----
+4. Create a `MimeMessage`.
++
+The msgRecipient, msgSubject, and msgTxt variables in the following
+example contain input from the user:
++
+[source,java]
+----
+Message msg = new MimeMessage(session);
+msg.setSubject(msgSubject);
+msg.setSentDate(new Date());
+msg.setFrom();
+msg.setRecipients(Message.RecipientType.TO,
+   InternetAddress.parse(msgRecipient, false));
+msg.setText(msgTxt);
+----
+5. Send the message.
++
+[source,java]
+----
+Transport.send(msg);
+----
+
+[[beapc]][[GSDVG00080]][[to-read-a-message-using-jakarta-mail]]
+
+==== To Read a Message Using Jakarta Mail
+
+1. Import the packages that you need.
++
+[source,java]
+----
+import java.util.*;
+import jakarta.activation.*;
+import jakarta.mail.*;
+import jakarta.mail.internet.*;
+import javax.naming.*;
+----
+2. Look up the Jakarta Mail session.
++
+[source,java]
+----
+InitialContext ic = new InitialContext();
+String snName = "java:comp/env/mail/MyMailSession";
+Session session = (jakarta.mail.Session)ic.lookup(snName);
+----
+For more information, see link:#beapa[Looking Up a Jakarta Mail Session].
+3. Override the Jakarta Mail session properties if necessary.
++
+For example:
++
+[source,java]
+----
+Properties props = session.getProperties();
+props.put("mail.from", "user2@mailserver.com");
+----
+4. Get a `Store` object from the `Session`, then connect to the mail
+server using the Store object's `connect` method.
++
+You must supply a mail server name, a mail user name, and a password.
++
+[source,java]
+----
+Store store = session.getStore();
+store.connect("MailServer", "MailUser", "secret");
+----
+5. Get the INBOX folder.
++
+[source,java]
+----
+Folder folder = store.getFolder("INBOX");
+----
+6. It is efficient to read the `Message` objects (which represent
+messages on the server) into an array.
++
+[source,java]
+----
+Message[] messages = folder.getMessages();
+----
+
+[[gkpfg]][[GSDVG00205]][[using-application-scoped-jakarta-mail-resources]]
+
+=== Using Application-Scoped Jakarta Mail Resources
+
+You can define an application-scoped Jakarta Mail or other resource for an
+enterprise application, web module, EJB module, connector module, or
+application client module by supplying a `glassfish-resources.xml`
+deployment descriptor file. For details, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in {productName} Application Deployment Guide.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/osgi.adoc b/docs/application-development-guide/src/main/asciidoc/osgi.adoc
new file mode 100644
index 0000000..aa254ce
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/osgi.adoc
@@ -0,0 +1,548 @@
+type=page
+status=published
+title=Developing OSGi-enabled Jakarta EE Applications
+next=part-services-and-apis.html
+prev=lifecycle-listeners.html
+~~~~~~
+
+= Developing OSGi-enabled Jakarta EE Applications
+
+[[GSDVG00015]][[gkpch]]
+
+[[developing-osgi-enabled-java-ee-applications]]
+== 13 Developing OSGi-enabled Jakarta EE Applications
+
+This chapter describes the features and interfaces that {productName}
+provides to develop OSGi-enabled enterprise applications. This chapter
+includes the following sections:
+
+* link:#gkpay[Overview of OSGi Application and {productName}]
+* link:#gkqff[Developing OSGi Application Bundles for {productName}]
+* link:#gkveh[Deploying OSGi Bundles in {productName}]
+
+[[gkpay]][[GSDVG00173]][[overview-of-osgi-application-and-glassfish-server]]
+
+=== Overview of OSGi Application and {productName}
+
+{productName} is fully-compliant with Jakarta EE 10, so it provides the
+latest Jakarta EE APIs and frameworks. It is built using OSGi technology,
+and includes as its OSGi module management subsystem the
+http://felix.apache.org[Apache Felix OSGi framework]
+(`http://felix.apache.org`), which is a fully-compliant implementation
+of the OSGi Service Platform R4 Version 4.3 specification. {productName} supports deployment of OSGi-based applications using this
+framework. OSGi applications can make use of core as well as enterprise
+OSGi features. {productName} makes available many of its Jakarta EE
+platform services, such as the transaction service, HTTP service, JDBC
+Service and JMS, as OSGi services. It also enables use of Jakarta EE
+programming model in OSGi applications, so enterprise Java application
+developers can continue to leverage their existing skills in OSGi-based
+applications. See link:#glhek[Benefits of Using OSGi in Enterprise Java
+Applications] for more information.
+
+OSGi applications are deployed as one or more OSGi bundles, and the
+{productName} deployment and administration infrastructure enables
+you to deploy and manage your OSGi bundles. This chapter classifies OSGi
+bundles into two categories based on the features they use:
+
+* Plain OSGi Application Bundles - bundles that do not contain any Java
+EE components. See link:#gkupd[Developing Plain OSGi Bundles].
+* Hybrid Application Bundles - bundles that are an OSGi bundle as wells
+as a Jakarta EE module. At runtime, such modules have both an OSGi bundle
+context and a Jakarta EE context. {productName} supports the following
+hybrid application bundles:
+
+** Web Application Bundles (or WABs) , see link:#gkunr[Developing Web
+Application Bundles].
+
+** EJB Application Bundles, see link:#gkunh[Developing EJB Application
+Bundles].
+
+[[glhek]][[GSDVG00488]][[benefits-of-using-osgi-in-enterprise-java-applications]]
+
+==== Benefits of Using OSGi in Enterprise Java Applications
+
+Enterprise applications typically need transactional, secured access to
+data stores, messaging systems and other such enterprise information
+systems, and have to cater to a wide variety of clients such as web
+browsers and desktop applications, and so on. Jakarta EE makes development
+of such applications easier with a rich set of APIs and frameworks. It
+also provides a scalable, reliable and easy to administer runtime to
+host such applications.
+
+The OSGi platform complements these features with modularity. It enables
+applications to be separated into smaller, reusable modules with a well
+defined and robust dependency specification. A module explicitly
+specifies its capabilities and requirements. This explicit dependency
+specification encourages developers to visualize dependencies among
+their modules and help them make their modules highly cohesive and less
+coupled. The OSGi module system is dynamic: it allows modules to be
+added and removed at runtime. OSGi has very good support for versioning:
+it supports package versioning as well module versioning. In fact, it
+allows multiple versions of the same package to coexist in the same
+runtime, thus allowing greater flexibility to deployers. The service
+layer of the OSGi platform encourages a more service-oriented approach
+to build a system. The service-oriented approach and dynamic module
+system used together allow a system to be more agile during development
+as well as in production. It makes them better suited to run in an
+Platform-as-a-Service (PaaS) environment.
+
+With {productName}, you do not have to chose one of the two
+platforms. A hybrid approach like OSGi enabling your Jakarta EE
+applications allows new capabilities to applications hitherto
+unavailable to applications built using just one of the two platforms.
+
+[[gkqff]][[GSDVG00174]][[developing-osgi-application-bundles-for-glassfish-server]]
+
+=== Developing OSGi Application Bundles for {productName}
+
+{productName} enables interaction between OSGi components and Jakarta EE
+components. OSGi services managed by the OSGi framework can invoke Java
+EE components managed by the Jakarta EE container and vice versa. For
+example, developers can declaratively export EJBs as OSGi services
+without having to write any OSGi code. This allows any plain OSGi
+component, which is running without the Jakarta EE context, to discover the
+EJB and invoke it. Similarly, Jakarta EE components can locate OSGi
+services provided by plain OSGi bundles and use them as well. {productName} extends the Jakarta EE Context and Dependency Injection (CDI)
+framework to make it easier for Jakarta EE components to consume dynamic
+OSGi services in a type-safe manner.
+
+* link:#gkupd[Developing Plain OSGi Bundles]
+* link:#gkunr[Developing Web Application Bundles]
+* link:#gkunh[Developing EJB Application Bundles]
+
+[[gkupd]][[GSDVG00489]][[developing-plain-osgi-bundles]]
+
+==== Developing Plain OSGi Bundles
+
+Jakarta EE components (like an EJB or Servlet) can look up Jakarta EE platform
+services using JNDI names in the associated Jakarta EE naming context. Such
+code can rely on the Jakarta EE container to inject the required services
+as well. Unfortunately, neither of them works when the code runs outside
+a Jakarta EE context. An example of such code is the `BundleActivator` of
+an OSGi bundle. For such code to access Jakarta EE platform services,
+{productName} makes key services and resources of the underlying Java
+EE platform available as OSGi services. Thus, an OSGi bundle deployed in
+{productName} can access these services using OSGi Service look-up
+APIs or by using a white board pattern. The following Jakarta EE services
+are available as OSGi services:
+
+* link:#gkunk[HTTP Service]
+* link:#gkunn[Transaction Service]
+* link:#gkuof[JDBC Data Source Service]
+* link:#gkuoq[JMS Resource Service]
+
+[[gkunk]][[GSDVG00319]][[http-service]]
+
+===== HTTP Service
+
+The {productName} web container is made available as a service for
+OSGi users who do not use OSGi Web Application Bundles (WABs). This
+service is made available using the standard OSGi/HTTP service
+specification, which is a light API that predates the concept of a web
+application as we know it today. This simple API allows users to
+register servlets and static resources dynamically and draw a boundary
+around them in the form of a `HttpContext`. This simple API can be used
+to build feature-rich web application, such as the Felix Web Console for
+example.
+
+The {productName} web container has one or more virtual servers. A
+virtual server has one or more web application deployed in it. Each web
+application has a distinct context path. Each virtual server has a set
+of HTTP listeners. Each HTTP listener listens on a particular port. When
+multiple virtual servers are present, one of them is treated as the
+default virtual server. Every virtual server comes configured with a
+default web application. The default web application is used to serve
+static content from the `docroot` of {productName}. This default web
+application uses `/` as the context path. A web application contains
+static and dynamic resources. Each virtual server is mapped to an
+`org.osgi.services.http.HttpService` instance. When there are multiple
+virtual servers present, there will be multiple occurrences of
+`HttpService` registered in the service registry. In order to
+distinguish one service from another, each service is registered with a
+service property named `VirtualServer`, whose value is the name of the
+virtual server. The service corresponding to default virtual server has
+the highest ranking, so when looking up a service of type `HttpService`
+without any additional criteria returns the `HttpService` corresponding
+to the default virtual server. In a typical {productName}
+installation, the default virtual server is configured to listen on port
+8080 for the HTTP protocol and port 8181 for the HTTPS protocol.
+
+The context path `/` is reserved for the default web application. Every
+resource and servlet registered using the `registerResource()` and
+`registerServlet()` methods of `HttpService` are made available under a
+special context path named ``/osgi`` in the virtual server. The ``/osgi``
+context path can be changed to some other value by setting an
+appropriate value in the OSGi configuration property or in a system
+property called `org.glassfish.osgihttp.ContextPath`.
+
+For example, HelloWorldServlet will be available at
+`http://localhost:8080/osgi/helloworld` when the following code is
+executed:
+
+[source,java]
+----
+
+HttpService httpService = getHttpService(); // Obtain HttpService
+httpService.registerServlet(httpService.registerServlet("/helloworld",
+new HelloWorldServlet(), null, ctx);
+----
+
+[[gkunn]][[GSDVG00320]][[transaction-service]]
+
+===== Transaction Service
+
+The Java Transaction API (JTA) defines three interfaces to interact with
+the transaction management system: `UserTransaction`,
+`TransactionManager`, and `TransactionSynchronizationRegistry`. They all
+belong to the javax.transaction package. `TransactionManager` and
+`TransactionSynchronizationRegistry` are intended for system level code,
+such as a persistence provider. Whereas, `UserTransaction` is the entity
+that you should use to control transactions. All the objects of the
+underlying JTA layer are made available in the OSGi service registry
+using the following service interfaces:
+
+* `javax.transaction.UserTransaction`
+* `javax.transaction.TransactionManager`
+* `javax.transaction.TransactionSynchronisationRegistry`
+
+There is no additional service property associated with them. Although
+`UserTransaction` appears to be a singleton, in reality any call to it
+gets rerouted to the actual transaction associated with the calling
+thread. Code that runs in the context of a Jakarta EE component typically
+gets a handle on `UserTransaction` by doing a JNDI lookup in the
+component naming context or by using injection, as shown here:
+
+[source,java]
+----
+(UserTransaction)(new InitialContext().lookup("java:comp/UserTransaction"));
+----
+
+or
+
+[source,java]
+----
+@Resource UserTransaction utx;
+----
+
+When certain code (such as an OSGi Bundle Activator), which does not
+have a Jakarta EE component context, wants to get hold of
+`UserTransaction`, or any of the other JTA artifacts, then they can look
+it up in the service registry. Here is an example of such code:
+
+[source,java]
+----
+
+BundleContext context;
+ServiceReference txRef =
+    context.getServiceReference(UserTransaction.class.getName());
+UserTransaction utx = (UserTransaction);
+context.getService(txRef);
+----
+
+[[gkuof]][[GSDVG00321]][[jdbc-data-source-service]]
+
+===== JDBC Data Source Service
+
+Any JDBC data source created in {productName} is automatically made
+available as an OSGi Service; therefore, OSGi bundles can track
+availability of JDBC data sources using the `ServiceTracking` facility
+of the OSGi platform. The life of the OSGi service matches that of the
+underlying data source created in {productName}. For instructions on
+administering JDBC resources in {productName}, see the
+link:administration-guide.html#GSADG[{productName} Administration Guide].
+
+{productName} registers each JDBC data source as an OSGi service with
+`objectClass = "javax.sql.DataSource"` and a service property called
+`jndi-name`, which is set to the JNDI name of the data source. Here is a
+code sample that looks up a data source service:
+
+[source,java]
+----
+  @Inject
+  @OSGiService(true, "(jndi-name=jdbc/MyDS)")
+  private DataSource ds;
+----
+
+[[gkuoq]][[GSDVG00322]][[jms-resource-service]]
+
+===== JMS Resource Service
+
+Like JDBC data sources, JMS administered objects, such as destinations
+and connection factories, are also automatically made available as OSGi
+services. Their service mappings are as follows.
+
+[width="100%",cols="12%,39%,12%,37%",options="header",]
+|===
+|JMS Object |Service Interface |Service Properties |Comments
+|JMS Queue destination
+|`jakarta.jms.Queue`
+|`jndi-name`
+|`jndi-name` is set to the JNDI name of the queue
+
+|JMS Topic destination
+|`jakarta.jms.Topic`
+|`jndi-name`
+|`jndi-name` is set to the JNDI name of the topic
+
+|JMS connection factory
+|`jakarta.jms.QueueConnectionFactory` +
+or +
+`jakarta.jms.TopicConnectionFactory` +
+or +
+`jakarta.jms.ConnectionFactory`
+|`jndi-name`
+|`jndi-name` is set to the JNDI name of the topic. +
+The actual service interface depends on which type of connection factory
+was created.
+|===
+
+
+[[gkunr]][[GSDVG00490]][[developing-web-application-bundles]]
+
+==== Developing Web Application Bundles
+
+When a web application is packaged and deployed as an OSGi bundle, it is
+called a Web Application Bundle (WAB). WAB support is based on the OSGi
+Web Application specification , which is part of the OSGi Service
+Platform, Enterprise Specification, Release 4, Version 4.3. A WAB is
+packaged as an OSGi bundle, so all the OSGi packaging rules apply to WAB
+packaging. When a WAB is not packaged like a WAR, the OSGi Web Container
+of {productName} maps the WAB to the hierarchical structure of web
+application using the following rules:
+
+* The root of the WAB corresponds to the `docroot` of the web
+application.
+* Every JAR in the Bundle-ClassPath of the WAB is treated like a JAR in
+`WEB-INF/lib/.`
+* Every directory except "." in Bundle-ClassPath of the WAB is treated
+like `WEB-INF/classes/.`
+* Bundle-ClassPath entry of type "." is treated as if the entire WAB is
+a JAR in `WEB-INF/lib/.`
+* Bundle-ClassPath includes the Bundle-ClassPath entries of any attached
+fragment bundles.
+
+The simplest way to avoid knowing these mapping rules is to avoid the
+problem in the first place. Moreover, there are many packaging tools and
+development time tools that understand WAR structure. Therefore, we
+strongly recommend that you package the WAB exactly like a WAR, with
+only additional OSGi metadata.
+
+[[gkvau]][[GSDVG00323]][[required-wab-metadata]]
+
+===== Required WAB Metadata
+
+In addition to the standard OSGi metadata, the main attributes of
+`META-INF/MANIFEST.MF` of the WAB must have an additional attribute
+called `Web-ContextPath`. The `Web-ContextPath` attribute specifies the
+value of the context path of the web application. Since the root of a
+WAB is mapped to the `docroot` of the web application, it should not be
+used in the `Bundle-ClassPath`. Moreover, `WEB-INF/classes/` should be
+specified ahead of `WEB-INF/lib/` in the `Bundle-ClassPath` in order to
+be compliant with the search order used for traditional WAR files.
+
+Assuming the WAB is structured as follows:
+
+[source]
+----
+
+  foo.war/
+       index.html
+       foo.jsp
+       WEB-INF/classes/
+                      foo/BarServlet.class
+       WEB-INF/lib/lib1.jar
+       WEB-INF/lib/lib2.jar
+----
+
+Then the OSGi metadata for the WAB as specified in
+`META-INF/MANIFEST.MF` of the WAB would appear as follows:
+
+[source]
+----
+
+  MANIFEST.MF:Manifest-Version: 1.0
+  Bundle-ManifestVersion: 2
+  Bundle-SymbolicName: com.acme.foo
+  Bundle-Version: 1.0
+  Bundle-Name: Foo Web Application Bundle Version 1.0
+  Import-Package: javax.servlet; javax.servlet.http, version=[3.0, 4.0, 5.0)
+  Bundle-ClassPath: WEB-INF/classes, WEB-INF/lib/lib1.jar, WEB-INF/lib/lib2.jar
+  Web-ContextPath: /foo
+----
+
+[[gkvat]][[GSDVG00324]][[how-wabs-consume-osgi-services]]
+
+===== How WABs Consume OSGi Services
+
+Since a WAB has a valid `Bundle-Context`, it can consume OSGi services.
+Although you are free to use any OSGi API to locate OSGi services,
+{productName} makes it easy for WAB users to use OSGi services by
+virtue of extending the Context and Dependency Injection (CDI)
+framework. Here's an example of the injection of an OSGi Service into a
+Servlet:
+
+[source,java]
+----
+
+  @WebServlet
+  public class MyServlet extends HttpServlet {
+    @Inject @OSGiService(dynamic=true)
+    FooService fooService;
+  }
+----
+
+To learn more about this feature, refer to link:#gkvbi[OSGi CDI
+Extension for WABs].
+
+[[gkvbi]][[GSDVG00325]][[osgi-cdi-extension-for-wabs]]
+
+===== OSGi CDI Extension for WABs
+
+{productName} includes a CDI extension that enables web applications,
+such as servlets, that are part of WABs to express a type-safe
+dependency on an OSGi service using CDI APIs. An OSGi service can be
+provided by any OSGi bundle without any knowledge of Jakarta EE/CDI, and
+they are allowed to be injected transparently in a type-safe manner into
+a web application.
+
+A custom CDI Qualifier, `@org.glassfish.osgicdi.OSGiService`, is used by
+the component to represent dependency on an OSGi service. The qualifier
+has additional metadata to customize the service discovery and injection
+behavior. The following `@OsgiService` attributes are currently
+available:
+
+* `serviceCriteria` — An LDAP filter query used for service selection in
+the OSGi service registry.
+* `waitTimeout` — Waits the specified duration for a service that
+matches the criteria specified to appear in the OSGi service registry.
+* `dynamic` — Dynamically obtain a service reference (true/false).
++
+Since OSGi services are dynamic, they may not match the life cycle of
+the application component that has injected a reference to the service.
+Through this attribute, you could indicate that a service reference can
+be obtained dynamically or not. For stateless or idempotent services, a
+dynamic reference to a service implementation would be useful. The
+container then injects a proxy to the service and dynamically switches
+to an available implementation when the current service reference is
+invalid.
+
+[[GSDVG00044]][[gkvbk]]
+Example 13-1 Example of a WAB Using CDI
+
+In this example, Bundle B0 defines a service contract called
+`com.acme.Foo` and exports the `com.acme` package for use by other
+bundles. Bundle B1 in turn provides a service implementation, FooImpl,
+of the `com.acme.Foo` interface. It then registers the service FooImpl
+service with the OSGi service registry with `com.acme.Foo` as the
+service interface.
+
+Bundle B2 is a hybrid application bundle that imports the `com.acme`
+package. It has a component called BarServlet that expresses a
+dependency to `com.acme.Foo` by adding a field/setter method and
+qualifies that injection point with `@OsgiService`. For instance,
+BarServlet could look like:
+
+[source,java]
+----
+
+  @Servlet
+  public void BarServlet extends HttpServlet{
+      @Inject @OSGiService(dynamic=true)
+      private com.acme.Foo f;
+  }
+----
+
+[[gkunh]][[GSDVG00491]][[developing-ejb-application-bundles]]
+
+==== Developing EJB Application Bundles
+
+Another type of hybrid application bundle is the EJB Application Bundle.
+When an EJB Jar is packaged with additional OSGi metadata and deployed
+as an OSGi bundle it is called an EJB Application Bundle. {productName}supports only packaging the OSGi bundle as a simple JAR file with
+required OSGi metadata, just as you would package an `ejb-jar` file.
+
+[[gkvck]][[GSDVG00326]][[required-ejb-metadata]]
+
+===== Required EJB Metadata
+
+An EJB Application Bundle must have a manifest metadata called
+Export-EJB in order to be considered as an EJB Bundle. For syntax of
+Export-EJB header, please refer to the Publishing EJB as OSGi Service
+section. Here's an example of an EJB Application Bundle with its
+metadata:
+
+[source]
+----
+  myEjb.jar/
+           com/acme/Foo
+           com/acme/impl/FooEJB
+           META-INF/MANIFEST.MF
+----
+MANIFEST.MF:
+[source]
+----
+  Manifest-Version: 1.0
+  Bundle-ManifestVersion: 2
+  Bundle-SymbolicName: com.acme.foo EJB bundle
+  Bundle-Version: 1.0.0.BETA
+  Bundle-Name: com.acme.foo EJB bundle version 1.0.0.BETA
+  Export-EJB: ALL
+  Export-Package: com.acme; version=1.0
+  Import-Package: javax.ejb; version=[3.0, 4.0), com.acme; version=[1.0, 1.1)
+----
+
+[[gkvcj]][[GSDVG00327]][[how-ejb-bundles-consume-osgi-services]]
+
+===== How EJB Bundles Consume OSGi Services
+
+Since an EJB has a valid Bundle-Context, it can consume OSGi services.
+Although you are free to use any OSGi API to locate OSGi services,
+{productName} makes it easy to use OSGi services by virtue of
+extending the Context and Dependency Injection (CDI) framework. Here's
+an example of injection of an OSGi Service into a servlet:
+
+[source,java]
+----
+
+  @Stateless
+  public class MyEJB {
+    @Inject @OSGiService(dynamic=true)
+    Foo foo;
+    ...
+  }
+----
+
+To learn more about this feature, refer to link:#gkvbj[Using the OSGi
+CDI Extension With EJB Bundles].
+
+[[gkvbj]][[GSDVG00328]][[using-the-osgi-cdi-extension-with-ejb-bundles]]
+
+===== Using the OSGi CDI Extension With EJB Bundles
+
+{productName} includes a CDI extension that enables EJB application
+bundles to express a type-safe dependency on an OSGi Service using CDI
+APIs. An OSGi service can be provided by any OSGi bundle without any
+knowledge of Jakarta EE/CDI, and they are allowed to be injected
+transparently in a type-safe manner into an EJB bundle.
+
+A custom CDI Qualifier, `@org.glassfish.osgicdi.OSGiService`, is used by
+the component to represent dependency on an OSGi service. The qualifier
+has additional metadata to customize the service discovery and injection
+behavior. The following `@OsgiService` attributes are currently
+available:
+
+* `dynamic` — Dynamically obtain a service reference (true/false).
+* `waitTimeout` — Waits for specified duration for a service to appear
+in the OSGi service registry.
+* `serviceCriteria` — An LDAP filter query used for service selection.
+
+[[gkveh]][[GSDVG00175]][[deploying-osgi-bundles-in-glassfish-server]]
+
+=== Deploying OSGi Bundles in {productName}
+
+For instruction on deploying OSGi bundle, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00073[
+OSGi Bundle Deployment Guidelines]"
+in {productName} Application Deployment Guide.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/part-apps-and-app-comps.adoc b/docs/application-development-guide/src/main/asciidoc/part-apps-and-app-comps.adoc
new file mode 100644
index 0000000..966e5d5
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/part-apps-and-app-comps.adoc
@@ -0,0 +1,17 @@
+type=page
+status=published
+title=Developing Applications and Application Components
+next=securing-apps.html
+prev=debugging-apps.html
+~~~~~~
+
+= Developing Applications and Application Components
+
+[[fvyme]][[GSDVG00046]][[part-ii]]
+
+== Part II
+
+[[developing-applications-and-application-components]]
+== Developing Applications and Application Components
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/part-services-and-apis.adoc b/docs/application-development-guide/src/main/asciidoc/part-services-and-apis.adoc
new file mode 100644
index 0000000..372c437
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/part-services-and-apis.adoc
@@ -0,0 +1,16 @@
+type=page
+status=published
+title=Using Services and APIs
+next=jdbc.html
+prev=osgi.html
+~~~~~~
+
+= Using Services and APIs
+
+[[fvyam]][[GSDVG00047]][[part-iii]]
+
+== Part III
+
+[[using-services-and-apis]]
+== Using Services and APIs
+
diff --git a/docs/application-development-guide/src/main/asciidoc/part-tasks-and-tools.adoc b/docs/application-development-guide/src/main/asciidoc/part-tasks-and-tools.adoc
new file mode 100644
index 0000000..97cfe03
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/part-tasks-and-tools.adoc
@@ -0,0 +1,16 @@
+type=page
+status=published
+title=Development Tasks and Tools
+next=setting-up-dev-env.html
+prev=preface.html
+~~~~~~
+
+= Development Tasks and Tools
+
+[[fvxzc]][[GSDVG00045]][[part-i]]
+
+== Part I
+
+[[development-tasks-and-tools]]
+== Development Tasks and Tools
+
diff --git a/docs/application-development-guide/src/main/asciidoc/preface.adoc b/docs/application-development-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..d293ebb
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,339 @@
+type=page
+status=published
+title=Preface
+next=part-tasks-and-tools.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSDVG528]][[sthref2]]
+
+
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This Application Development Guide describes how to create and run Java
+Platform, Enterprise Edition (Jakarta EE platform) applications that follow
+the open Java standards model for Jakarta EE components and APIs in the
+{productName} environment.
+Topics include developer tools, security, and debugging.
+This book is intended for use by software developers who create, assemble,
+and deploy Jakarta EE applications using {productName}s.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSDVG00082]][[ghpbz]]
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSDVG00083]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[GSDVG00084]][[fwbkx]]
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSDVG00085]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSDVG00086]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/application-development-guide/src/main/asciidoc/securing-apps.adoc b/docs/application-development-guide/src/main/asciidoc/securing-apps.adoc
new file mode 100644
index 0000000..5608cfd
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/securing-apps.adoc
@@ -0,0 +1,2530 @@
+type=page
+status=published
+title=Securing Applications
+next=webservices.html
+prev=part-apps-and-app-comps.html
+~~~~~~
+
+= Securing Applications
+
+[[GSDVG00006]][[beabg]]
+
+
+[[securing-applications]]
+== 4 Securing Applications
+
+This chapter describes how to write secure Jakarta EE applications, which
+contain components that perform user authentication and access
+authorization for the business logic of Jakarta EE components.
+
+For information about administrative security for the {productName}, see the link:security-guide.html#GSSCG[{productName}
+Security Guide].
+
+For general information about Jakarta EE security, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#security-2[Security]
+in The Jakarta EE Tutorial.
+
+The following topics are addressed here:
+
+* link:#beabh[Security Goals]
+* link:#beabi[{productName} Specific Security Features]
+* link:#beabj[Container Security]
+* link:#beacr[Roles, Principals, and Principal to Role Mapping]
+* link:#beabo[Realm Configuration]
+* link:#BACDEIHB[Jakarta EE Security API Support]
+* link:#beabt[JACC Support]
+* link:#beabu[Pluggable Audit Module Support]
+* link:#beabx[The `server.policy` File]
+* link:#beaca[Configuring Message Security for Web Services]
+* link:#beacm[Programmatic Login Using the ProgrammaticLogin Class]
+* link:#beacq[User Authentication for Single Sign-on]
+* link:#gizel[Adding Authentication Mechanisms to the Servlet Container]
+
+
+[NOTE]
+====
+The Web Profile of the {productName} supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The full {productName} supports the entire EJB
+3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318]
+(`http://jcp.org/en/jsr/detail?id=318`).
+====
+
+
+[[beabh]][[GSDVG00114]][[security-goals]]
+
+=== Security Goals
+
+In an enterprise computing environment, there are many security risks.
+The goal of the {productName} is to provide highly secure,
+interoperable, and distributed component computing based on the Jakarta EE
+security model. Security goals include:
+
+* Full compliance with the Jakarta EE security model. This includes EJB and
+servlet role-based authorization.
+* Support for single sign-on across all {productName} applications
+within a single security domain.
+* Support for web services message security.
+* Security support for application clients.
+* Support for several underlying authentication realms, such as simple
+file and Lightweight Directory Access Protocol (LDAP). Certificate
+authentication is also supported for Secure Socket Layer (SSL) client
+authentication. For Solaris, OS platform authentication is supported in
+addition to these.
+* Support for declarative security through {productName} specific
+XML-based role mapping.
+* Support for Java Authorization Contract for Containers (JACC)
+pluggable authorization as included in the Jakarta EE specification and
+defined by http://www.jcp.org/en/jsr/detail?id=115[Java Specification
+Request (JSR) 115] (`http://www.jcp.org/en/jsr/detail?id=115`).
+* Support for Java Authentication Service Provider Interface for
+Containers as included in the Jakarta EE specification and defined by
+http://www.jcp.org/en/jsr/detail?id=196[JSR 196]
+(`http://www.jcp.org/en/jsr/detail?id=196`).
+* Support for Web Services Interoperability Technologies (WSIT) as described in
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#web-services-interoperability-and-jakarta-xml-web-services[
+Jakarta EE Tutorial].
+* Support for the Jakarta EE Security API as included in the Jakarta EE
+specification and defined by https://jcp.org/en/jsr/detail?id=375[JSR
+375] (`https://jcp.org/en/jsr/detail?id=375`)
+
+[[beabi]][[GSDVG00115]][[glassfish-server-specific-security-features]]
+
+=== {productName} Specific Security Features
+
+The {productName} supports the Jakarta EE security model, as well as the
+following features which are specific to the {productName}:
+
+* Message security; see link:#beaca[Configuring Message Security for Web
+Services]
+* Single sign-on across all {productName} applications within a
+single security domain; see link:#beacq[User Authentication for Single
+Sign-on]
+* Programmatic login; see link:#beacm[Programmatic Login Using the
+ProgrammaticLogin Class]
+
+[[beabj]][[GSDVG00116]][[container-security]]
+
+=== Container Security
+
+The component containers are responsible for providing Jakarta EE
+application security. The container provides two security forms:
+
+* link:#beabl[Declarative Security]
+* link:#beabk[Programmatic Security]
+
+Annotations (also called metadata) enable a declarative style of
+programming, and so encompass both the declarative and programmatic
+security concepts. Users can specify information about security within a
+class file using annotations. When the application is deployed, this
+information can either be used by or overridden by the application or
+module deployment descriptor.
+
+[[beabl]][[GSDVG00362]][[declarative-security]]
+
+==== Declarative Security
+
+Declarative security means that the security mechanism for an
+application is declared and handled externally to the application.
+Deployment descriptors describe the Jakarta EE application's security
+structure, including security roles, access control, and authentication
+requirements.
+
+The {productName} supports the deployment descriptors specified by
+Jakarta EE and has additional security elements included in its own
+deployment descriptors. Declarative security is the application
+deployer's responsibility. For more information about {productName}
+deployment descriptors, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+There are two levels of declarative security, as follows:
+
+* link:#beabm[Application Level Security]
+* link:#beabn[Component Level Security]
+
+[[beabm]][[GSDVG00239]][[application-level-security]]
+
+===== Application Level Security
+
+For an application, roles used by any application must be defined in
+`@DeclareRoles` annotations in the code or `role-name` elements in the
+application deployment descriptor (`application.xml`). Those role names
+are scoped to the EJB XML deployment descriptors (`ejb-jar.xml` and
+`glassfish-ejb-jar.xml` files) and to the servlet XML deployment
+descriptors (`web.xml` and `glassfish-web.xml` files). For an
+individually deployed web or EJB module, you define roles using
+`@DeclareRoles` annotations or `role-name` elements in the Jakarta EE
+deployment descriptor files `web.xml` or `ejb-jar.xml`.
+
+To map roles to principals and groups, define matching
+`security-role-mapping` elements in the `glassfish-application.xml`,
+`glassfish-ejb-jar.xml`, or `glassfish-web.xml` file for each
+`role-name` used by the application. By default, group principal names
+are mapped to roles of the same name. Accordingly, the Default Principal
+To Role Mapping setting is enabled by default on the Security page of
+the {productName} Administration Console. This default role mapping
+definition is in effect if you do not define your own mapping in the
+deployment descriptor for your application as described in this section.
+For more information, see link:#beacr[Roles, Principals, and Principal
+to Role Mapping].
+
+[[beabn]][[GSDVG00240]][[component-level-security]]
+
+===== Component Level Security
+
+Component level security encompasses web components and EJB components.
+
+A secure web container authenticates users and authorizes access to a
+servlet or JSP by using the security policy laid out in the servlet XML
+deployment descriptors (`web.xml` and `glassfish-web.xml` files).
+
+The EJB container is responsible for authorizing access to a bean method
+by using the security policy laid out in the EJB XML deployment
+descriptors (`ejb-jar.xml` and `glassfish-ejb-jar.xml` files).
+
+[[beabk]][[GSDVG00363]][[programmatic-security]]
+
+==== Programmatic Security
+
+Programmatic security involves an EJB component or servlet using method
+calls to the security API, as specified by the Jakarta EE security model,
+to make business logic decisions based on the caller or remote user's
+security role. Programmatic security should only be used when
+declarative security alone is insufficient to meet the application's
+security model.
+
+The API for programmatic security consists of methods of the Jakarta EE
+Security API `SecurityContext` interface, and methods of the EJB
+`EJBContext` interface and the servlet `HttpServletRequest` interface.
+The {productName} supports these interfaces as specified in the Java
+EE specification.
+
+There is also a proprietary Glassfish API for programmatic login. See
+link:#beacm[Programmatic Login Using the ProgrammaticLogin Class].
+
+For more information about programmatic security, see
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#using-programmatic-security-with-web-applications[
+Using Programmatic Security] in the The Jakarta EE Tutorial.
+
+[[beacr]][[GSDVG00117]][[roles-principals-and-principal-to-role-mapping]]
+
+=== Roles, Principals, and Principal to Role Mapping
+
+By default, any groups that an authenticated user belongs to will be
+mapped to roles with the same names. Therefore, the Default Principal To
+Role Mapping setting is enabled by default on the Security page of the
+GlassFish Administration Console. To change the default mapping you can
+clear this setting. For applications, you define roles in
+`@DeclareRoles` annotations or the Jakarta EE deployment descriptor file
+`application.xml`. You define the corresponding role mappings in the
+{productName} deployment descriptor file `glassfish-application.xml`.
+For individually deployed web or EJB modules, you define roles in
+`@DeclareRoles` annotations or the Jakarta EE deployment descriptor files
+`web.xml` or `ejb-jar.xml`. You define the corresponding role mappings
+in the {productName} deployment descriptor files `glassfish-web.xml`
+or `glassfish-ejb-jar.xml`.
+
+For more information regarding Jakarta EE deployment descriptors, see the
+Jakarta EE Specification. For more information regarding {productName}
+deployment descriptors, see "link:application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the {productName} Deployment Descriptors]" in {productName}
+Application Deployment Guide.
+
+Each `security-role-mapping` element in the `glassfish-application.xml`,
+`glassfish-web.xml`, or `glassfish-ejb-jar.xml` file maps a role name
+permitted by the application or module to principals and groups. For
+example, a `glassfish-web.xml` file for an individually deployed web
+module might contain the following:
+
+[source,xml]
+----
+<glassfish-web-app>
+    <security-role-mapping>
+        <role-name>manager</role-name>
+        <principal-name>jgarcia</principal-name>
+        <principal-name>mwebster</principal-name>
+        <group-name>team-leads</group-name>
+    </security-role-mapping>
+    <security-role-mapping>
+        <role-name>administrator</role-name>
+        <principal-name>dsmith</principal-name>
+    </security-role-mapping>
+</glassfish-web-app>
+----
+
+A role can be mapped to either specific principals or to groups (or
+both). The principal or group names used must be valid principals or
+groups in the realm for the application or module. Note that the
+`role-name` in this example must match the `@DeclareRoles` annotations
+or the `role-name` in the `security-role` element of the corresponding
+`web.xml` file.
+
+You can also specify a custom principal implementation class. This
+provides more flexibility in how principals can be assigned to roles. A
+user's JAAS login module now can authenticate its custom principal, and
+the authenticated custom principal can further participate in the
+{productName} authorization process. For example:
+
+[source,xml]
+----
+<security-role-mapping>
+    <role-name>administrator</role-name>
+    <principal-name class-name="CustomPrincipalImplClass">
+        dsmith
+    </principal-name>
+</security-role-mapping>
+----
+
+You can specify a default principal and a default principal to role
+mapping, each of which applies to the entire {productName} instance.
+The default principal to role mapping maps group principals to the same
+named roles. Web modules that omit the `run-as` element in `web.xml` use
+the default principal. Applications and modules that omit the
+`security-role-mapping` element use the default principal to role
+mapping. These defaults are part of the Security Service, which you can
+access in the following ways:
+
+* In the Administration Console, select the Security component under the
+relevant configuration. For details, click the Help button in the
+Administration Console.
+* Use the `asadmin set` command. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual]. For
+example, you can set the default principal as follows.
++
+[source]
+----
+asadmin set server-config.security-service.default-principal=dsmith
+asadmin set server-config.security-service.default-principal-password=secret
+----
+You can set the default principal to role mapping as follows.
++
+[source]
+----
+asadmin set server-config.security-service.activate-default-principal-to-role-mapping=true
+asadmin set server-config.security-service.mapped-principal-class=CustomPrincipalImplClass
+----
+Default principal to role mapping is enabled by default. To disable it,
+set the default principal to role mapping property to false.
+
+[[beabo]][[GSDVG00118]][[realm-configuration]]
+
+=== Realm Configuration
+
+The following topics are addressed here:
+
+* link:#beabp[Supported Realms]
+* link:#beabq[How to Configure a Realm]
+* link:#beabr[How to Set a Realm for an Application or Module]
+* link:#beabs[Creating a Custom Realm]
+
+[[beabp]][[GSDVG00364]][[supported-realms]]
+
+==== Supported Realms
+
+The following realms are supported in the current release of the
+{productName}:
+
+* `file` - Stores user information in a file. This is the default realm
+when you first install the {productName}.
+* `ldap` - Stores user information in an LDAP directory.
+* `jdbc` - Stores user information in a database.
++
+In the JDBC realm, the server gets user credentials from a database. The
+{productName} uses the database information and the enabled JDBC
+realm option in the configuration file. For digest authentication, a
+JDBC realm should be created with `jdbcDigestRealm` as the JAAS context.
+* `certificate` - Sets up the user identity in the {productName}
+security context, and populates it with user data obtained from
+cryptographically verified client certificates.
+* `solaris` - Allows authentication using Solaris `username+password`
+data. This realm is only supported on the Solaris operating system,
+version 9 and above.
+
+For information about configuring realms, see link:#beabq[How to
+Configure a Realm].
+
+[[beabq]][[GSDVG00365]][[how-to-configure-a-realm]]
+
+==== How to Configure a Realm
+
+You can configure a realm in one of these ways:
+
+* In the Administration Console, open the Security component under the
+relevant configuration and go to the Realms page. For details, click the
+Help button in the Administration Console.
+* Use the `asadmin create-auth-realm` command to configure realms on
+local servers. For details, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beabr]][[GSDVG00366]][[how-to-set-a-realm-for-an-application-or-module]]
+
+==== How to Set a Realm for an Application or Module
+
+The following deployment descriptor elements have optional `realm` or
+`realm-name` data subelements or attributes that override the domain's
+default realm:
+
+* `glassfish-application` element in `glassfish-application.xml`
+* `web-app` element in `web.xml`
+* `as-context` element in `glassfish-ejb-jar.xml`
+* `client-container` element in `sun-acc.xml`
+* `client-credential` element in `sun-acc.xml`
+
+If modules within an application specify realms, these are ignored. If
+present, the realm defined in `glassfish-application.xml` is used,
+otherwise the domain's default realm is used.
+
+For example, a realm is specified in `glassfish-application.xml` as
+follows:
+
+[source,xml]
+----
+<glassfish-application>
+    ...
+    <realm>ldap</realm>
+</glassfish-application>
+----
+
+For more information about the deployment descriptor files and elements,
+see "link:application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the {productName} Deployment
+Descriptors]" in {productName} Application
+Deployment Guide.
+
+[[beabs]][[GSDVG00367]][[creating-a-custom-realm]]
+
+==== Creating a Custom Realm
+
+You can create a custom realm by providing a custom Java Authentication
+and Authorization Service (JAAS) login module class and a custom realm
+class. Note that client-side JAAS login modules are not suitable for use
+with the {productName}.
+
+To activate the custom login modules and realms, place the JAR files in
+the domain-dir``/lib`` directory or the class files in the
+domain-dir`/lib/classes` directory. For more information about class
+loading in the {productName}, see link:class-loaders.html#beade[Class
+Loaders].
+
+JAAS is a set of APIs that enable services to authenticate and enforce
+access controls upon users. JAAS provides a pluggable and extensible
+framework for programmatic user authentication and authorization. JAAS
+is a core API and an underlying technology for Jakarta EE security
+mechanisms. For more information about JAAS, refer to the JAAS
+specification for Java SDK, available at
+`http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html`.
+
+For general information about realms and login modules, see the section
+about working with realms, users, groups, and roles in
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#security-2[
+Introduction to Security in the Jakarta EE Platform]
+in The Jakarta EE Tutorial.
+
+For Javadoc tool pages relevant to custom realms, see the
+`com.sun.appserv.security` package.
+
+Custom login modules must extend the
+`com.sun.appserv.security.AppservPasswordLoginModule` class. This class
+implements javax.security.auth.spi.LoginModule. Custom login modules
+must not implement LoginModule directly.
+
+Custom login modules must provide an implementation for one abstract
+method defined in `AppservPasswordLoginModule`:
+
+[source,java]
+----
+abstract protected void authenticateUser() throws LoginException
+----
+
+This method performs the actual authentication. The custom login module
+must not implement any of the other methods, such as `login`, `logout`,
+`abort`, `commit`, or `initialize`. Default implementations are provided
+in `AppservPasswordLoginModule` which hook into the {productName}
+infrastructure.
+
+The custom login module can access the following protected object
+fields, which it inherits from `AppservPasswordLoginModule`. These
+contain the user name and password of the user to be authenticated:
+
+[source,java]
+----
+protected String _username;
+protected String _password;
+----
+
+The `authenticateUser` method must end with the following sequence:
+
+[source,java]
+----
+String[] grpList;
+// populate grpList with the set of groups to which
+// _username belongs in this realm, if any
+commitUserAuthentication(grpList);
+----
+
+Custom realms must extend the `com.sun.appserv.security.AppservRealm`
+class and implement the following methods:
+
+[source,java]
+----
+public void init(Properties props) throws BadRealmException, NoSuchRealmException
+----
+
+This method is invoked during server startup when the realm is initially
+loaded. The `props` argument contains the properties defined for this
+realm. The realm can do any initialization it needs in this method. If
+the method returns without throwing an exception, the {productName}
+assumes that the realm is ready to service authentication requests. If
+an exception is thrown, the realm is disabled.
+
+[source,java]
+----
+public String getAuthType()
+----
+
+This method returns a descriptive string representing the type of
+authentication done by this realm.
+
+[source,java]
+----
+public abstract Enumeration getGroupNames(String username) throws
+    InvalidOperationException, NoSuchUserException
+----
+
+This method returns an `Enumeration` (of `String` objects) enumerating
+the groups (if any) to which the given `username` belongs in this realm.
+
+Custom realms that manage users must implement the following additional
+methods:
+
+[source,java]
+----
+public abstract boolean supportsUserManagement();
+----
+
+This method returns `true` if the realm supports user management.
+
+[source,java]
+----
+public abstract Enumeration getGroupNames() throws BadRealmException;
+----
+
+This method returns an `Enumeration` of all group names.
+
+[source,java]
+----
+public abstract Enumeration getUserNames() throws BadRealmException;
+----
+
+This method returns an `Enumeration` of all user names.
+
+[source,java]
+----
+public abstract void refresh() throws BadRealmException;
+----
+
+This method refreshes the realm data so that new users and groups are
+visible.
+
+[source,java]
+----
+public abstract void persist() throws BadRealmException;
+----
+
+This method persists the realm data to permanent storage.
+
+[source,java]
+----
+public abstract User getUser(String name) throws NoSuchUserException,
+BadRealmException;
+----
+
+This method returns the information recorded about a particular named
+user.
+
+[source,java]
+----
+public abstract void addUser(String name, String password, String[] groupList) throws
+BadRealmException, IASSecurityException;
+----
+
+This method adds a new user, who cannot already exist.
+
+[source,java]
+----
+public abstract void removeUser(String name) throws NoSuchUserException,
+BadRealmException;
+----
+
+This method removes a user, who must exist.
+
+[source,java]
+----
+public abstract void updateUser(String name, String newName, String password,
+String[] groups) throws NoSuchUserException, BadRealmException, IASSecurityException;
+----
+
+This method updates data for a user, who must exist.
+
+
+[NOTE]
+====
+The array passed to the `commitUseAuthentication` method should be newly
+created and otherwise unreferenced. This is because the group name array
+elements are set to null after authentication as part of cleanup. So the
+second time your custom realm executes it returns an array with null
+elements.
+
+Ideally, your custom realm should not return member variables from the
+`authenticate` method. It should return local variables as the default
+`JDBCRealm` does. Your custom realm can create a local `String` array in
+its `authenticate` method, copy the values from the member variables,
+and return the `String` array. Or it can use `clone` on the member
+variables.
+====
+
+
+[[BACDEIHB]][[GSDVG563]][[java-ee-security-api-support]]
+
+=== Jakarta EE Security API Support
+
+JSR-375 defines several authentication-related plugin SPIs, such as,
+`HttpAuthenticationMechanism` interface, the `IdentityStore` and
+`IdentityStoreHandler` interfaces:
+
+* `HttpAuthenticationMechanism`: An interface for modules that
+authenticate callers to a web application. An application can supply its
+own `HttpAuthenticationMechanism`, or use one of the default
+implementations provided by the container.
+* `IdentityStore`: This interface defines methods for validating a
+caller's credentials (such as user name and password) and returning
+group membership information. An application can provide its own
+IdentityStore, or use the built in LDAP or Database store.
+* `RememberMeIdentityStore`: This interface is a variation on the
+`IdentityStore` interface, intended to address cases where an
+authenticated user's identity should be remembered for an extended
+period of time, so that the caller can return to the application
+periodically without needing to present primary authentication
+credentials each time.
+
+In addition to these authentication plugin SPIs, the Jakarta EE Security
+API specification defines the `SecurityContext` API for use by
+application code to query and interact with the current security
+context. The `SecurityContext` interface defines methods that allow an
+application to access security information about a caller, authenticate
+a caller, and authorize a caller. These methods include
+`getCallerPrincipal()`, `getPrincipalsByType()`, `isCallerInRole()`,
+`authenticate()`, and `hasAccessToWebResource()`.
+
+[[beabt]][[GSDVG00119]][[jacc-support]]
+
+=== JACC Support
+
+JACC (Java Authorization Contract for Containers) is part of the Jakarta EE
+specification and defined by http://www.jcp.org/en/jsr/detail?id=115[JSR
+115] (`http://www.jcp.org/en/jsr/detail?id=115`). JACC defines an
+interface for pluggable authorization providers. Specifically, JACC is
+used to plug in the Java policy provider used by the container to
+perform Jakarta EE caller access decisions. The Java policy provider
+performs Java policy decisions during application execution. This
+provides third parties with a mechanism to develop and plug in modules
+that are responsible for answering authorization decisions during Java
+EE application execution. The interfaces and rules used for developing
+JACC providers are defined in the JACC 1.0 specification.
+
+The {productName} provides a simple file-based JACC-compliant
+authorization engine as a default JACC provider, named `default`. An
+alternate provider named `simple` is also provided. To configure an
+alternate provider using the Administration Console, open the Security
+component under the relevant configuration, and select the JACC
+Providers component. For details, click the Help button in the
+Administration Console.
+
+[[beabu]][[GSDVG00120]][[pluggable-audit-module-support]]
+
+=== Pluggable Audit Module Support
+
+Audit modules collect and store information on incoming requests
+(servlets, EJB components) and outgoing responses. You can create a
+custom audit module.
+
+The following topics are addressed here:
+
+* link:#beabv[Configuring an Audit Module]
+* link:#beabw[The `AuditModule` Class]
+
+[[beabv]][[GSDVG00368]][[configuring-an-audit-module]]
+
+==== Configuring an Audit Module
+
+To configure an audit module, you can perform one of the following
+tasks:
+
+* To specify an audit module using the Administration Console, open the
+Security component under the relevant configuration, and select the
+Audit Modules component. For details, click the Help button in the
+Administration Console.
+* You can use the `asadmin create-audit-module` command to configure an
+audit module. For details, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beabw]][[GSDVG00369]][[the-auditmodule-class]]
+
+==== The `AuditModule` Class
+
+You can create a custom audit module by implementing a class that
+extends `com.sun.enterprise.security.audit.AuditModule`.
+
+For Javadoc tool pages relevant to audit modules, see the
+`com.sun.enterprise.security.audit` package.
+
+The `AuditModule` class provides default "no-op" implementations for
+each of the following methods, which your custom class can override.
+
+[source,java]
+----
+public void init(Properties props)
+----
+
+The preceding method is invoked during server startup when the audit
+module is initially loaded. The `props` argument contains the properties
+defined for this module. The module can do any initialization it needs
+in this method. If the method returns without throwing an exception, the
+{productName} assumes the module realm is ready to service audit
+requests. If an exception is thrown, the module is disabled.
+
+[source,java]
+----
+public void authentication(String user, String realm, boolean success)
+----
+
+This method is invoked when an authentication request has been processed
+by a realm for the given user. The `success` flag indicates whether the
+authorization was granted or denied.
+
+[source,java]
+----
+public void webInvocation(String user, HttpServletRequest req, String type, boolean success)
+----
+
+This method is invoked when a web container call has been processed by
+authorization. The `success` flag indicates whether the authorization
+was granted or denied. The `req` object is the standard
+`HttpServletRequest` object for this request. The `type` string is one
+of `hasUserDataPermission` or `hasResourcePermission` (see
+http://www.jcp.org/en/jsr/detail?id=115[JSR 115]
+(`http://www.jcp.org/en/jsr/detail?id=115`)).
+
+[source,java]
+----
+public void ejbInvocation(String user, String ejb, String method, boolean success)
+----
+
+This method is invoked when an EJB container call has been processed by
+authorization. The `success` flag indicates whether the authorization
+was granted or denied. The `ejb` and `method` strings describe the EJB
+component and its method that is being invoked.
+
+[source,java]
+----
+public void webServiceInvocation(String uri, String endpoint, boolean success)
+----
+
+This method is invoked during validation of a web service request in
+which the endpoint is a servlet. The `uri` is the URL representation of
+the web service endpoint. The `endpoint` is the name of the endpoint
+representation. The `success` flag indicates whether the authorization
+was granted or denied.
+
+[source,java]
+----
+public void ejbAsWebServiceInvocation(String endpoint, boolean success)
+----
+
+This method is invoked during validation of a web service request in
+which the endpoint is a stateless session bean. The `endpoint` is the
+name of the endpoint representation. The `success` flag indicates
+whether the authorization was granted or denied.
+
+[[beabx]][[GSDVG00121]][[the-server.policy-file]]
+
+=== The `server.policy` File
+
+Each {productName} domain has its own global J2SE policy file,
+located in domain-dir``/config``. The file is named `server.policy`.
+
+The {productName} is a Jakarta EE compliant application server. As such,
+it follows the requirements of the Jakarta EE specification, including the
+presence of the security manager (the Java component that enforces the
+policy) and a limited permission set for Jakarta EE application code.
+
+The following topics are addressed here:
+
+* link:#beaby[Default Permissions]
+* link:#gilzz[System Properties]
+* link:#beabz[Changing Permissions for an Application]
+* link:#gbyah[Enabling and Disabling the Security Manager]
+
+[[beaby]][[GSDVG00370]][[default-permissions]]
+
+==== Default Permissions
+
+Internal server code is granted all permissions. These are covered by
+the `AllPermission` grant blocks to various parts of the server
+infrastructure code. Do not modify these entries.
+
+Application permissions are granted in the default grant block. These
+permissions apply to all code not part of the internal server code
+listed previously. The {productName} does not distinguish between EJB
+and web module permissions. All code is granted the minimal set of web
+component permissions (which is a superset of the EJB minimal set). Do
+not modify these entries.
+
+A few permissions above the minimal set are also granted in the default
+`server.policy` file. These are necessary due to various internal
+dependencies of the server implementation. Jakarta EE application
+developers must not rely on these additional permissions. In some cases,
+deleting these permissions might be appropriate. For example, one
+additional permission is granted specifically for using connectors. If
+connectors are not used in a particular domain, you should remove this
+permission, because it is not otherwise necessary.
+
+[[gilzz]][[GSDVG00371]][[system-properties]]
+
+==== System Properties
+
+The following predefined system properties, also called variables, are
+available for use in the `server.policy` file. The system property most
+frequently used in `server.policy` is `${com.sun.aas.instanceRoot}`. For
+more information about system properties, see the
+`asadmin create-system-properties` command in the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[GSDVG533]][[sthref5]][[sthref6]]
+
+
+Table 4-1 Predefined System Properties
+
+[width="100%",cols="29%,17%,54%",options="header",]
+|===
+|Property |Default |Description
+|`com.sun.aas.installRoot` |depends on operating system |Specifies the
+directory where the {productName} is installed.
+
+|`com.sun.aas.instanceRoot` |depends on operating system |Specifies the
+top level directory for a server instance.
+
+|`com.sun.aas.hostName` |none |Specifies the name of the host (machine).
+
+|`com.sun.aas.javaRoot` |depends on operating system |Specifies the
+installation directory for the Java runtime.
+
+|`com.sun.aas.imqLib` |depends on operating system |Specifies the
+library directory for the Open Message Queue software.
+
+|`com.sun.aas.configName` |`server-config` |Specifies the name of the
+configuration used by a server instance.
+
+|`com.sun.aas.instanceName` |`server1` |Specifies the name of the server
+instance. This property is not used in the default configuration, but
+can be used to customize configuration.
+
+|`com.sun.aas.clusterName` |`cluster1` |Specifies the name of the
+cluster. This property is only set on clustered server instances. This
+property is not used in the default configuration, but can be used to
+customize configuration.
+
+|`com.sun.aas.domainName` |`domain1` |Specifies the name of the domain.
+This property is not used in the default configuration, but can be used
+to customize configuration.
+|===
+
+
+[[beabz]][[GSDVG00372]][[changing-permissions-for-an-application]]
+
+==== Changing Permissions for an Application
+
+The default policy for each domain limits the permissions of Jakarta EE
+deployed applications to the minimal set of permissions required for
+these applications to operate correctly. Do not add extra permissions to
+the default set (the grant block with no codebase, which applies to all
+code). Instead, add a new grant block with a codebase specific to the
+applications requiring the extra permissions, and only add the minimally
+necessary permissions in that block.
+
+If you develop multiple applications that require more than this default
+set of permissions, you can add the custom permissions that your
+applications need. The `com.sun.aas.instanceRoot` variable refers to the
+domain-dir. For example:
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/applications/-" {
+...
+}
+----
+
+You can add permissions to stub code with the following grant block:
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/generated/-" {
+...
+}
+----
+
+In general, you should add extra permissions only to the applications or
+modules that require them, not to all applications deployed to a domain.
+For example:
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyApp/-" {
+...
+}
+----
+
+For a module:
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyModule/-" {
+...
+}
+----
+
+
+[NOTE]
+====
+Deployment directories may change between {productName} releases.
+====
+
+
+An alternative way to add permissions to a specific application or
+module is to edit the `granted.policy` file for that application or
+module. The `granted.policy` file is located in the
+domain-dir`/generated/policy/`app-or-module-name directory. In this
+case, you add permissions to the default grant block. Do not delete
+permissions from this file.
+
+When the {productName} policy subsystem determines that a permission
+should not be granted, it logs a `server.policy` message specifying the
+permission that was not granted and the protection domains, with
+indicated code source and principals that failed the protection check.
+For example, here is the first part of a typical message:
+
+[source]
+----
+[#|2005-12-17T16:16:32.671-0200|INFO|sun-appserver-pe9.1|
+javax.enterprise.system.core.security|_ThreadID=14;_ThreadName=Thread-31;|
+JACC Policy Provider: PolicyWrapper.implies, context(null)-
+permission((java.util.PropertyPermission java.security.manager write))
+domain that failed(ProtectionDomain
+(file:/E:/glassfish/domains/domain1/applications/cejug-clfds/ ... )
+...
+----
+
+Granting the following permission eliminates the message:
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/applications/cejug-clfds/-" {
+    permission java.util.PropertyPermission "java.security.manager", "write";
+}
+----
+
+
+[NOTE]
+====
+Do not add `java.security.AllPermission` to the `server.policy` file for
+application code. Doing so completely defeats the purpose of the
+security manager, yet you still get the performance overhead associated
+with it.
+====
+
+
+As noted in the Jakarta EE specification, an application should provide
+documentation of the additional permissions it needs. If an application
+requires extra permissions but does not document the set it needs,
+contact the application author for details.
+
+As a last resort, you can iteratively determine the permission set an
+application needs by observing `AccessControlException` occurrences in
+the server log.
+
+If this is not sufficient, you can add the
+`-Djava.security.debug=failure` JVM option to the domain. Use the
+following `asadmin create-jvm-options` command, then restart the server:
+
+[source]
+----
+asadmin create-jvm-options -Djava.security.debug=failure
+----
+
+For more information about the `asadmin create-jvm-options` command, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+You can use the J2SE standard `policytool` or any text editor to edit
+the `server.policy` file. For more information, see
+`http://docs.oracle.com/javase/tutorial/security/tour2/index.html`.
+
+For detailed information about policy file syntax, see
+`http://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html`.
+
+For information about using system properties in the `server.policy`
+file, see
+`http://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html`.
+
+For detailed information about the permissions you can set in the
+`server.policy` file, see
+`http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html`.
+
+The Javadoc for the `Permission` class is at
+`http://docs.oracle.com/javase/8/docs/api/java/security/Permission.html`.
+
+[[gbyah]][[GSDVG00373]][[enabling-and-disabling-the-security-manager]]
+
+==== Enabling and Disabling the Security Manager
+
+The security manager is disabled by default.
+
+In a production environment, you may be able to safely disable the
+security manager if all of the following are true:
+
+* Performance is critical
+* Deployment to the production server is carefully controlled
+* Only trusted applications are deployed
+* Applications don't need policy enforcement
+
+Disabling the security manager may improve performance significantly for
+some types of applications.
+
+To enable the security manager, do one of the following:
+
+* To use the Administration Console, open the Security component under
+the relevant configuration, and check the Security Manager Enabled box.
+Then restart the server. For details, click the Help button in the
+Administration Console.
+* Use the following `asadmin create-jvm-options` command, then restart
+the server:
++
+[source]
+----
+asadmin create-jvm-options -Djava.security.manager
+----
+
+To disable the security manager, uncheck the Security Manager Enabled
+box or use the corresponding `asadmin delete-jvm-options` command. For
+more information about `create-jvm-options` and `delete-jvm-options`,
+see the link:reference-manual.html#GSRFM[{productName} Reference
+Manual].
+
+If the security manager is enabled and you are using the Java
+Persistence API by calling `Persistence.createEMF()`, the EclipseLink
+persistence provider requires that you set the
+`eclipselink.security.usedoprivileged` JVM option to `true` as follows:
+
+[source]
+----
+asadmin create-jvm-options -Declipselink.security.usedoprivileged=true
+----
+
+If the security manager is enabled and you are using the Java
+Persistence API by injecting or looking up an entity manager or entity
+manager factory, the EJB container sets this JVM option for you.
+
+You must grant additional permissions to CDI-enabled Jakarta EE
+applications that are deployed in a {productName} 7 domain or
+cluster for which security manager is enabled. These additional
+permissions are not required when security manager is disabled.
+
+To deploy CDI-enabled Jakarta EE applications in a {productName} 7
+domain or cluster for which security manager is enabled, add the
+following permissions to the applications:
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/applications/[ApplicationName]" {
+ permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
+};
+----
+
+For example, for a CDI application named `foo.war`, add the following
+permissions to the `server.policy` file, restart the domain or cluster,
+and then deploy and use the application.
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/applications/foo" {
+ permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
+};
+----
+
+For more information about modifying application permissions, see
+link:#beabz[Changing Permissions for an Application].
+
+[[beaca]][[GSDVG00122]][[configuring-message-security-for-web-services]]
+
+=== Configuring Message Security for Web Services
+
+In message security, security information is applied at the message
+layer and travels along with the web services message. Web Services
+Security (WSS) is the use of XML Encryption and XML Digital Signatures
+to secure messages. WSS profiles the use of various security tokens
+including X.509 certificates, Security Assertion Markup Language (SAML)
+assertions, and username/password tokens to achieve this.
+
+Message layer security differs from transport layer security in that it
+can be used to decouple message protection from message transport so
+that messages remain protected after transmission, regardless of how
+many hops they travel.
+
+
+[NOTE]
+====
+Message security (JSR 196) is supported only in the full {productName}, not in the Web Profile.
+====
+
+
+
+[NOTE]
+====
+In this release of the {productName}, message layer annotations are
+not supported.
+====
+
+
+For more information about web services, see
+link:webservices.html#gaszn[Developing Web Services].
+
+For more information about message security, see the following:
+
+* "https://eclipse-ee4j.github.io/jakartaee-tutorial/#security-2[Introduction to
+Security in the Jakarta EE Platform]" in The Jakarta EE Tutorial
+* link:security-guide.html#GSSCG[{productName} Security Guide]
+* http://www.jcp.org/en/jsr/detail?id=196[JSR 196]
+(`http://www.jcp.org/en/jsr/detail?id=196`), Java Authentication Service
+Provider Interface for Containers
+* The Liberty Alliance Project specifications at
+`http://www.projectliberty.org/resources/specifications.php/?f=resources/specifications.php`
+* The Oasis Web Services Security (WSS) specification at
+`http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf`
+* The Web Services Interoperability Organization (WS-I) Basic Security
+Profile (BSP) specification at
+`http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html`
+* The XML and Web Services Security page at `http://xwss.java.net/`
+* The WSIT page at `http://wsit.java.net/`
+
+The following topics are addressed here:
+
+* link:#gbjxw[Message Security Providers]
+* link:#beacb[Message Security Responsibilities]
+* link:#beacf[Application-Specific Message Protection]
+* link:#beaci[Understanding and Running the Sample Application]
+
+[[gbjxw]][[GSDVG00374]][[message-security-providers]]
+
+==== Message Security Providers
+
+When you first install the {productName}, the providers
+`XWS_ClientProvider` and `XWS_ServerProvider` are configured but
+disabled. You can enable them in one of the following ways:
+
+* To enable the message security providers using the Administration
+Console, open the Security component under the relevant configuration,
+select the Message Security component, and select SOAP. Then select
+`XWS_ServerProvider` from the Default Provider list and
+`XWS_ClientProvider` from the Default Client Provider list. For details,
+click the Help button in the Administration Console.
+* You can enable the message security providers using the following
+commands.
++
+[source]
+----
+asadmin set
+server-config.security-service.message-security-config.SOAP.default_provider=XWS_ServerProvider
+asadmin set
+server-config.security-service.message-security-config.SOAP.default_client_provider=XWS_ClientProvider
+----
+For more information about the `asadmin set` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+The example described in link:#beaci[Understanding and Running the
+Sample Application] uses the `ClientProvider` and `ServerProvider`
+providers, which are enabled when the Ant targets are run. You don't
+need to enable these on the {productName} prior to running the
+example.
+
+If you install the OpenSSO, you have these additional provider choices:
+
+* `AMClientProvider` and `AMServerProvider` - These providers secure web
+services and Simple Object Access Protocol (SOAP) messages using either
+WS-I BSP or Liberty ID-WSF tokens. These providers are used
+automatically if they are configured as the default providers. If you
+wish to override any provider settings, you can configure these
+providers in `message-security-binding` elements in the
+`glassfish-web.xml`, `glassfish-ejb-jar.xml`, and
+`glassfish-application-client.xml` deployment descriptor files.
+* `AMHttpProvider` - This provider handles the initial end user
+authentication for securing web services using Liberty ID-WSF tokens and
+redirects requests to the OpenSSO for single sign-on. To use this
+provider, specify it in the `httpservlet-security-provider` attribute of
+the `glassfish-web-app` element in the `glassfish-web.xml` file.
+
+Liberty specifications can be viewed at
+`http://www.projectliberty.org/resources/specifications.php/?f=resources/specifications.php`.
+The WS-I BSP specification can be viewed at
+`http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html`.
+
+For more information about the {productName} deployment descriptor
+files, see the link:application-deployment-guide.html#GSDPG[{productName}
+Application Deployment Guide].
+
+For information about configuring these providers in the {productName}, see the link:security-guide.html#GSSCG[{productName}
+Security Guide]. For additional information about overriding provider
+settings, see link:#beacf[Application-Specific Message Protection].
+
+You can create new message security providers in one of the following
+ways:
+
+* To create a message security provider using the Administration
+Console, open the Security component under the relevant configuration,
+and select the Message Security component. For details, click the Help
+button in the Administration Console.
+* You can use the `asadmin create-message-security-provider` command to
+create a message security provider. For details, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+In addition, you can set a few optional provider properties using the
+`asadmin set` command. For example:
+
+[source]
+----
+asadmin set server-config.security-service.message-security-config.provider-config.property.debug=true
+----
+
+The following table describes these message security provider
+properties.
+
+[[GSDVG534]][[sthref7]][[sthref8]]
+
+
+Table 4-2 Message Security Provider Properties
+
+[width="100%",cols="30%,24%,46%",options="header",]
+|===
+|Property |Default |Description
+|`security.config`
+|domain-dir`/``config/``wss-server-``config-1.0.xml`
+a|Specifies the location of the message security configuration file. To
+point to a configuration file in the domain-dir``/config`` directory, use
+the system property `${com.sun.aas.instanceRoot}/``config/`, for
+example:
+
+`${com.sun.aas.instanceRoot}/config/``wss-server-config-1.0.xml`
+
+See link:#gilzz[System Properties].
+
+|`debug`
+|`false`
+|If `true`, enables dumping of server provider debug messages to the server log.
+
+|`dynamic.username.password`
+|`false`
+|If `true`, signals the provider runtime to collect the user name and password from the `CallbackHandler`
+for each request.
+If `false`, the user name and password for `wsse:UsernameToken(s)` is collected once, during module initialization.
+This property is only applicable for a `ClientAuthModule`.
+
+|`encryption.key.alias`
+|`s1as`
+|Specifies the encryption key used by the provider. The key is identified by its `keystore` alias.
+
+|`signature.key.alias`
+|`s1as`
+|Specifies the signature key used by the provider. The key is identified by its `keystore` alias.
+|===
+
+
+[[beacb]][[GSDVG00375]][[message-security-responsibilities]]
+
+==== Message Security Responsibilities
+
+In the {productName}, the system administrator and application
+deployer roles are expected to take primary responsibility for
+configuring message security. In some situations, the application
+developer may also contribute, although in the typical case either of
+the other roles may secure an existing application without changing its
+implementation and without involving the developer.
+
+The following topics are addressed here:
+
+* link:#beacc[Application Developer Responsibilities]
+* link:#beacd[Application Deployer Responsibilities]
+* link:#beace[System Administrator Responsibilities]
+
+[[beacc]][[GSDVG00241]][[application-developer-responsibilities]]
+
+===== Application Developer Responsibilities
+
+The application developer can turn on message security, but is not
+responsible for doing so. Message security can be set up by the system
+administrator so that all web services are secured, or set up by the
+application deployer when the provider or protection policy bound to the
+application must be different from that bound to the container.
+
+The application developer is responsible for the following:
+
+* Determining if an application-specific message protection policy is
+required by the application. If so, ensuring that the required policy is
+specified at application assembly which may be accomplished by
+communicating with the application deployer.
+* Determining if message security is necessary at the {productName}
+level. If so, ensuring that this need is communicated to the system
+administrator, or taking care of implementing message security at the
+{productName} level.
+
+[[beacd]][[GSDVG00242]][[application-deployer-responsibilities]]
+
+===== Application Deployer Responsibilities
+
+The application deployer is responsible for the following:
+
+* Specifying (at application assembly) any required application-specific
+message protection policies if such policies have not already been
+specified by upstream roles (the developer or assembler)
+* Modifying {productName} deployment descriptors to specify
+application-specific message protection policies information
+(message-security-binding elements) to web service endpoint and service
+references
+
+These security tasks are discussed in link:#beacf[Application-Specific
+Message Protection]. A sample application using message security is
+discussed in link:#beaci[Understanding and Running the Sample
+Application].
+
+[[beace]][[GSDVG00243]][[system-administrator-responsibilities]]
+
+===== System Administrator Responsibilities
+
+The system administrator is responsible for the following:
+
+* Configuring message security providers on the {productName}.
+* Managing user databases.
+* Managing keystore and truststore files.
+* Installing the sample. This is only done if the `xms` sample
+application is used to demonstrate the use of message layer web services
+security.
+
+A system administrator uses the Administration Console to manage server
+security settings and uses a command line tool to manage certificate
+databases. Certificates and private keys are stored in key stores and
+are managed with `keytool`. If Network Security Services (NSS) is
+installed, certificates and private keys are stored in an NSS database,
+where they are managed using `certutil`. System administrator tasks are
+discussed in the link:security-guide.html#GSSCG[{productName}
+Security Guide].
+
+[[beacf]][[GSDVG00376]][[application-specific-message-protection]]
+
+==== Application-Specific Message Protection
+
+When the {productName} provided configuration is insufficient for
+your security needs, and you want to override the default protection,
+you can apply application-specific message security to a web service.
+
+Application-specific security is implemented by adding the message
+security binding to the web service endpoint, whether it is an EJB or
+servlet web service endpoint. Modify {productName} XML files to add
+the message binding information.
+
+Message security can also be specified using a WSIT security policy in
+the WSDL file. For details, see the WSIT page at
+`http://wsit.java.net/`.
+
+For more information about message security providers, see
+link:#gbjxw[Message Security Providers].
+
+For more details on message security binding for EJB web services,
+servlet web services, and clients, see the XML file descriptions in
+"link:application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the {productName} Deployment
+Descriptors]" in {productName} Application
+Deployment Guide.
+
+* For `glassfish-ejb-jar.xml`, see "link:application-deployment-guide/dd-files.html#GSDPG00079[The
+glassfish-ejb-jar.xml File]" in {productName}
+Application Deployment Guide.
+* For `glassfish-web.xml`, see "link:application-deployment-guide/dd-files.html#GSDPG00078[The glassfish-web.xml
+File]" in {productName} Application Deployment
+Guide.
+* For `glassfish-application-client.xml`, see "link:application-deployment-guide/dd-files.html#GSDPG00081[The
+glassfish-application-client.xml file]" in {productName} Application Deployment Guide.
+
+The following topics are addressed here:
+
+* link:#beacg[Using a Signature to Enable Message Protection for All
+Methods]
+* link:#beach[Configuring Message Protection for a Specific Method Based
+on Digital Signatures]
+
+[[beacg]][[GSDVG00244]][[using-a-signature-to-enable-message-protection-for-all-methods]]
+
+===== Using a Signature to Enable Message Protection for All Methods
+
+To enable message protection for all methods using digital signature,
+update the `message-security-binding` element for the EJB web service
+endpoint in the application's `glassfish-ejb-jar.xml` file. In this
+file, add `request-protection` and `response-protection` elements, which
+are analogous to the `request-policy` and `response-policy` elements
+discussed in the link:security-guide.html#GSSCG[{productName}
+Security Guide]. To apply the same protection mechanisms for all
+methods, leave the method-name element blank. link:#beach[Configuring
+Message Protection for a Specific Method Based on Digital Signatures]
+discusses listing specific methods or using wildcard characters.
+
+This section uses the sample application discussed in
+link:#beaci[Understanding and Running the Sample Application] to apply
+application-level message security to show only the differences
+necessary for protecting web services using various mechanisms.
+
+[[fvyag]][[GSDVG00052]][[to-enable-message-protection-for-all-methods-using-digital-signature]]
+
+To Enable Message Protection for All Methods Using Digital Signature
+
+Follow this procedure.
+
+1. In a text editor, open the application's `glassfish-ejb-jar.xml`
+file.
++
+For the `xms` example, this file is located in the directory
+app-dir`/xms-ejb/src/conf`, where app-dir is defined in link:#beacj[To
+Set Up the Sample Application].
+2. Modify the `glassfish-ejb-jar.xml` file by adding the
+`message-security-binding` element as shown:
++
+[source,xml]
+----
+<glassfish-ejb-jar>
+  <enterprise-beans>
+    <unique-id>1</unique-id>
+    <ejb>
+      <ejb-name>HelloWorld</ejb-name>
+      <jndi-name>HelloWorld</jndi-name>
+      <webservice-endpoint>
+        <port-component-name>HelloIF</port-component-name>
+        <endpoint-address-uri>service/HelloWorld</endpoint-address-uri>
+        <message-security-binding auth-layer="SOAP">
+          <message-security>
+            <request-protection auth-source="content" />
+            <response-protection auth-source="content"/>
+          </message-security>
+        </message-security-binding>
+      </webservice-endpoint>
+    </ejb>
+  </enterprise-beans>
+</glassfish-ejb-jar>
+----
+3. Compile, deploy, and run the application as described in
+link:#beack[To Run the Sample Application].
+
+[[beach]][[GSDVG00245]][[configuring-message-protection-for-a-specific-method-based-on-digital-signatures]]
+
+===== Configuring Message Protection for a Specific Method Based on Digital Signatures
+
+To enable message protection for a specific method, or for a set of
+methods that can be identified using a wildcard value, follow these
+steps. As in the example discussed in link:#beacg[Using a Signature to
+Enable Message Protection for All Methods], to enable message protection
+for a specific method, update the `message-security-binding` element for
+the EJB web service endpoint in the application's
+`glassfish-ejb-jar.xml` file. To this file, add `request-protection` and
+`response-protection` elements, which are analogous to the
+`request-policy` and `response-policy` elements discussed in the
+link:security-guide.html#GSSCG[{productName} Security Guide]. The
+administration guide includes a table listing the set and order of
+security operations for different request and response policy
+configurations.
+
+This section uses the sample application discussed in
+link:#beaci[Understanding and Running the Sample Application] to apply
+application-level message security to show only the differences
+necessary for protecting web services using various mechanisms.
+
+[[fvybb]][[GSDVG00053]][[to-enable-message-protection-for-a-particular-method-or-set-of-methods-using-digital-signature]]
+
+To Enable Message Protection for a Particular Method or Set of Methods
+Using Digital Signature
+
+Follow this procedure.
+
+1. In a text editor, open the application's `glassfish-ejb-jar.xml`
+file.
++
+For the `xms` example, this file is located in the directory
+app-dir`/xms-ejb/src/conf`, where app-dir is defined in link:#beacj[To
+Set Up the Sample Application].
+2. Modify the `glassfish-ejb-jar.xml` file by adding the
+`message-security-binding` element as shown:
++
+[source,xml]
+----
+<glassfish-ejb-jar>
+  <enterprise-beans>
+  <unique-id>1</unique-id>
+    <ejb>
+      <ejb-name>HelloWorld</ejb-name>
+      <jndi-name>HelloWorld</jndi-name>
+      <webservice-endpoint>
+        <port-component-name>HelloIF</port-component-name>
+        <endpoint-address-uri>service/HelloWorld</endpoint-address-uri>
+        <message-security-binding auth-layer="SOAP">
+          <message-security>
+            <message>
+              <java-method>
+                <method-name>ejbCreate</method-name>
+              </java-method>
+            </message>
+            <message>
+              <java-method>
+                <method-name>sayHello</method-name>
+              </java-method>
+            </message>
+            <request-protection auth-source="content" />
+            <response-protection auth-source="content"/>
+          </message-security>
+        </message-security-binding>
+      </webservice-endpoint>
+    </ejb>
+  </enterprise-beans>
+</glassfish-ejb-jar>
+----
+3. Compile, deploy, and run the application as described in
+link:#beack[To Run the Sample Application].
+
+[[beaci]][[GSDVG00377]][[understanding-and-running-the-sample-application]]
+
+==== Understanding and Running the Sample Application
+
+This section discusses the WSS sample application. This sample
+application is installed on your system only if you installed the J2EE
+1.4 samples. If you have not installed these samples, see link:#beacj[To
+Set Up the Sample Application].
+
+The objective of this sample application is to demonstrate how a web
+service can be secured with WSS. The web service in the `xms` example is
+a simple web service implemented using a Jakarta EE EJB endpoint and a web
+service endpoint implemented using a servlet. In this example, a service
+endpoint interface is defined with one operation, `sayHello`, which
+takes a string then sends a response with `Hello` prefixed to the given
+string. You can view the WSDL file for the service endpoint interface at
+app-dir`/xms-ejb/src/``conf/HelloWorld.wsdl`, where app-dir is defined
+in link:#beacj[To Set Up the Sample Application].
+
+In this application, the client looks up the service using the JNDI name
+`java:comp/env/service/HelloWorld` and gets the port information using a
+static stub to invoke the operation using a given name. For the name
+Duke, the client gets the response `Hello Duke!`
+
+This example shows how to use message security for web services at the
+{productName} level. For information about using message security at
+the application level, see link:#beacf[Application-Specific Message
+Protection]. The WSS message security mechanisms implement message-level
+authentication (for example, XML digital signature and encryption) of
+SOAP web services invocations using the X.509 and username/password
+profiles of the OASIS WS-Security standard, which can be viewed from the
+following URL:
+`http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf`.
+
+The following topics are addressed here:
+
+* link:#beacj[To Set Up the Sample Application]
+* link:#beack[To Run the Sample Application]
+
+[[beacj]][[GSDVG00054]][[to-set-up-the-sample-application]]
+
+===== To Set Up the Sample Application
+
+[[GSDVG535]]
+
+Before You Begin
+
+To have access to this sample application, you must have previously
+installed the J2EE 1.4 samples. If the samples are not installed, follow
+the steps in the following section.
+
+After you follow these steps, the sample application is located in the
+directory
+as-install``/j2ee14-samples/samples/webservices/security/ejb/apps/xms/``
+or in a directory of your choice. For easy reference throughout the rest
+of this section, this directory is referred to as simply app-dir.
+
+1. Go to the
+http://www.oracle.com/technetwork/java/javaee/download-141771.html[J2EE
+1.4 download URL]
+(`http://www.oracle.com/technetwork/java/javaee/download-141771.html`)
+in your browser.
+2. Click on the Download button for the Samples Bundle.
+3. Click on Accept License Agreement.
+4. Click on the J2EE SDK Samples link.
+5. Choose a location for the `j2eesdk-1_4_03-samples.zip` file.
++
+Saving the file to as-install is recommended.
+6. Unzip the file.
++
+Unzipping to the as-install``/j2ee14-samples`` directory is recommended.
+For example, you can use the following command.
++
+[source]
+----
+unzip j2eesdk-1_4_03-samples.zip -d j2ee14-samples
+----
+
+[[beack]][[GSDVG00055]][[to-run-the-sample-application]]
+
+===== To Run the Sample Application
+
+1. Make sure that the {productName} is running. +
+Message security providers are set up when the Ant targets are run, so
+you do not need to configure these on the {productName} prior to
+running this example.
+
+2. If you are not running HTTP on the default port of 8080, change the
+WSDL file for the example to reflect the change, and change the
+`common.properties` file to reflect the change as well. +
+The WSDL file for this example is located at
+app-dir`/xms-ejb/``src/conf/HelloWorld.wsdl`. The port number is in the
+following section:
++
+[source,xml]
+----
+<service name="HelloWorld">
+  <port name="HelloIFPort" binding="tns:HelloIFBinding">
+    <soap:address location="http://localhost:8080/service/HelloWorld"/>
+  </port>
+</service>
+----
+Verify that the properties in the as-install``/samples/common.properties`
+file are set properly for your installation and environment. If you need
+a more detailed description of this file, refer to the "Configuration"
+section for the web services security applications at
+as-install``/j2ee14-samples/samples/webservices/security/docs/common.html#Logging`.
+
+3. Change to the app-dir directory.
+
+4. Run the following Ant targets to compile, deploy, and run the
+example application:
+[arabic]
+.. To compile samples: `ant`
+.. To deploy samples: `ant deploy`
+.. To run samples: `ant run`
+
++
+If the sample has compiled and deployed properly, you see the following
+response on your screen after the application has run: +
+`run:[echo] Running the xms program:[exec] Established message level security : Hello Duke!`
+
+5. To undeploy the sample, run the following Ant target:
++
+[source]
+----
+ant undeploy
+----
+
+All of the web services security examples use the same web service name
+(`HelloWorld`) and web service ports. These examples show only the
+differences necessary for protecting web services using various
+mechanisms. Make sure to undeploy an application when you have completed
+running it. If you do not, you receive an `Already in Use` error and
+deployment failures when you try to deploy another web services example
+application.
+
+[[beacm]][[GSDVG00123]][[programmatic-login-using-the-programmaticlogin-class]]
+
+=== Programmatic Login Using the ProgrammaticLogin Class
+
+Programmatic login allows a deployed Jakarta EE application or module to
+invoke a login method. If the login is successful, a `SecurityContext`
+is established as if the client had authenticated using any of the
+conventional Jakarta EE mechanisms. Programmatic login is supported for
+servlet and EJB components on the server side, and for stand-alone or
+application clients on the client side. Programmatic login is useful for
+an application having special needs that cannot be accommodated by any
+of the Jakarta EE standard authentication mechanisms.
+
+This section describes a proprietary GlassFish mechanism, but see also
+the standard security APIs in the Jakarta EE tutorial.
+
+
+[NOTE]
+====
+The `com.sun.appserv.security.ProgrammaticLogin` class in {productName} is not a Jakarta EE API; therefore, it is not portable to other
+application servers.
+====
+
+
+The following topics are addressed here:
+
+* link:#beacn[Programmatic Login Precautions]
+* link:#beaco[Granting Programmatic Login Permission]
+* link:#beacp[The `ProgrammaticLogin` Class]
+
+[[beacn]][[GSDVG00378]][[programmatic-login-precautions]]
+
+==== Programmatic Login Precautions
+
+The {productName} is not involved in how the login information
+(`user`, `password`) is obtained by the deployed application.
+Programmatic login places the burden on the application developer with
+respect to assuring that the resulting system meets security
+requirements. If the application code reads the authentication
+information across the network, the application determines whether to
+trust the user.
+
+Programmatic login allows the application developer to bypass the
+{productName}-supported authentication mechanisms and feed
+authentication data directly to the security service. While flexible,
+this capability should not be used without some understanding of
+security issues.
+
+Since this mechanism bypasses the container-managed authentication
+process and sequence, the application developer must be very careful in
+making sure that authentication is established before accessing any
+restricted resources or methods. It is also the application developer's
+responsibility to verify the status of the login attempt and to alter
+the behavior of the application accordingly.
+
+The programmatic login state does not necessarily persist in sessions or
+participate in single sign-on.
+
+Lazy authentication is not supported for programmatic login. If an
+access check is reached and the deployed application has not properly
+authenticated using the programmatic login method, access is denied
+immediately and the application might fail if not coded to account for
+this occurrence. One way to account for this occurrence is to catch the
+access control or security exception, perform a programmatic login, and
+repeat the request.
+
+[[beaco]][[GSDVG00379]][[granting-programmatic-login-permission]]
+
+==== Granting Programmatic Login Permission
+
+The `ProgrammaticLoginPermission` permission is required to invoke the
+programmatic login mechanism for an application if the security manager
+is enabled. For information about the security manager, see
+link:#beabx[The `server.policy` File]. This permission is not granted by
+default to deployed applications because this is not a standard Jakarta EE
+mechanism.
+
+To grant the required permission to the application, add the following
+to the domain-dir`/config/server.policy` file:
+
+[source]
+----
+grant codeBase "file:jar-file-path" {
+     permission com.sun.appserv.security.ProgrammaticLoginPermission
+     "login";
+ };
+----
+
+The jar-file-path is the path to the application's JAR file.
+
+[[beacp]][[GSDVG00380]][[the-programmaticlogin-class]]
+
+==== The `ProgrammaticLogin` Class
+
+The `com.sun.appserv.security.ProgrammaticLogin` class enables a user to
+perform login programmatically.
+
+For Javadoc tool pages relevant to programmatic login, see the
+`com.sun.appserv.security` package.
+
+The `ProgrammaticLogin` class has four `login` methods, two for servlets
+or JSP files and two for EJB components.
+
+The login methods for servlets or JSP files have the following
+signatures:
+
+[source,java]
+----
+public java.lang.Boolean login(String user, String password,
+    javax.servlet.http.HttpServletRequest request,
+    javax.servlet.http.HttpServletResponse response)
+
+public java.lang.Boolean login(String user, String password,
+    String realm, javax.servlet.http.HttpServletRequest request,
+    javax.servlet.http.HttpServletResponse response, boolean errors)
+    throws java.lang.Exception
+----
+
+The login methods for EJB components have the following signatures:
+
+[source,java]
+----
+public java.lang.Boolean login(String user, String password)
+
+public java.lang.Boolean login(String user, String password,
+    String realm, boolean errors) throws java.lang.Exception
+----
+
+All of these `login` methods accomplish the following:
+
+* Perform the authentication
+* Return `true` if login succeeded, `false` if login failed
+
+The login occurs on the realm specified unless it is null, in which case
+the domain's default realm is used. The methods with no realm parameter
+use the domain's default realm.
+
+If the errors flag is set to `true`, any exceptions encountered during
+the login are propagated to the caller. If set to `false`, exceptions
+are thrown.
+
+On the client side, realm and errors parameters are ignored and the
+actual login does not occur until a resource requiring a login is
+accessed. A `java.rmi.AccessException` with `COBRA NO_PERMISSION` occurs
+if the actual login fails.
+
+The logout methods for servlets or JSP files have the following
+signatures:
+
+[source,java]
+----
+public java.lang.Boolean logout(HttpServletRequest request,
+    HttpServletResponse response)
+
+public java.lang.Boolean logout(HttpServletRequest request,
+    HttpServletResponse response, boolean errors)
+    throws java.lang.Exception
+----
+
+The logout methods for EJB components have the following signatures:
+
+[source,java]
+----
+public java.lang.Boolean logout()
+
+public java.lang.Boolean logout(boolean errors)
+    throws java.lang.Exception
+----
+
+All of these `logout` methods return `true` if logout succeeded, `false`
+if logout failed.
+
+If the errors flag is set to `true`, any exceptions encountered during
+the logout are propagated to the caller. If set to `false`, exceptions
+are thrown.
+
+[[beacq]][[GSDVG00124]][[user-authentication-for-single-sign-on]]
+
+=== User Authentication for Single Sign-on
+
+The single sign-on feature of the {productName} allows multiple web
+applications deployed to the same virtual server to share the user
+authentication state. With single sign-on enabled, users who log in to
+one web application become implicitly logged into other web applications
+on the same virtual server that require the same authentication
+information. Otherwise, users would have to log in separately to each
+web application whose protected resources they tried to access.
+
+A sample application using the single sign-on scenario could be a
+consolidated airline booking service that searches all airlines and
+provides links to different airline web sites. After the user signs on
+to the consolidated booking service, the user information can be used by
+each individual airline site without requiring another sign-on.
+
+Single sign-on operates according to the following rules:
+
+* Single sign-on applies to web applications configured for the same
+realm and virtual server. The realm is defined by the `realm-name`
+element in the `web.xml` file. For information about virtual servers,
+see "link:administration-guide/http_https.html#GSADG00017[Administering Internet Connectivity]" in {productName} Administration Guide.
+* As long as users access only unprotected resources in any of the web
+applications on a virtual server, they are not challenged to
+authenticate themselves.
+* As soon as a user accesses a protected resource in any web application
+associated with a virtual server, the user is challenged to authenticate
+himself or herself, using the login method defined for the web
+application currently being accessed.
+* After authentication, the roles associated with this user are used for
+access control decisions across all associated web applications, without
+challenging the user to authenticate to each application individually.
+* When the user logs out of one web application (for example, by
+invalidating the corresponding session), the user's sessions in all web
+applications are invalidated. Any subsequent attempt to access a
+protected resource in any application requires the user to authenticate
+again.
+
+The single sign-on feature utilizes HTTP cookies to transmit a token
+that associates each request with the saved user identity, so it can
+only be used in client environments that support cookies.
+
+To configure single sign-on, set the following virtual server
+properties:
+
+* `sso-enabled` - If `false`, single sign-on is disabled for this
+virtual server, and users must authenticate separately to every
+application on the virtual server. The default is `false`.
+* `sso-max-inactive-seconds` - Specifies the time after which a user's
+single sign-on record becomes eligible for purging if no client activity
+is received. Since single sign-on applies across several applications on
+the same virtual server, access to any of the applications keeps the
+single sign-on record active. The default value is 5 minutes (`300`
+seconds). Higher values provide longer single sign-on persistence for
+the users at the expense of more memory use on the server.
+* `sso-reap-interval-seconds` - Specifies the interval between purges of
+expired single sign-on records. The default value is `60`.
+
+Here are example `asadmin set` commands with default values:
+
+[source]
+----
+asadmin set server-config.http-service.virtual-server.vsrv1.property.sso-enabled="true"
+asadmin set server-config.http-service.virtual-server.vsrv1.property.sso-max-inactive-seconds="300"
+asadmin set server-config.http-service.virtual-server.vsrv1.property.sso-reap-interval-seconds="60"
+----
+
+For more information about the `asadmin set` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[gizel]][[GSDVG00125]][[adding-authentication-mechanisms-to-the-servlet-container]]
+
+=== Adding Authentication Mechanisms to the Servlet Container
+
+You can use JSR 196 in the web tier to facilitate the injection of
+pluggable authentication modules within the servlet constraint
+processing engine. The {productName} includes implementations of a
+number of HTTP layer authentication mechanisms such as basic, form, and
+digest authentication. You can add alternative implementations of the
+included mechanisms or implementations of new mechanisms such as HTTP
+Negotiate/SPNEGO, OpenID, or CAS.
+
+The following topics are addressed here:
+
+* link:#BACCFGBF[The {productName} and JSR-375]
+* link:#gizfz[The {productName} and JSR 196]
+* link:#gizdx[Writing a Server Authentication Module]
+* link:#gizeb[Sample Server Authentication Module]
+* link:#gizfa[Compiling and Installing a Server Authentication Module]
+* link:#gizfe[Configuring a Server Authentication Module]
+* link:#gizfm[Binding a Server Authentication Module to Your
+Application]
+
+[[BACCFGBF]][[GSDVG564]][[the-glassfish-server-and-jsr-375]]
+
+==== The {productName} and JSR-375
+
+The {productName} implements JSR-375 to provide built-in support for
+BASIC, FORM and Custom FORM authentication mechanisms. JSR-375 also
+defines plug-in interfaces for authentication and identity stores, that
+is, the `HttpAuthenticationMechanism` interface and the `IdentityStore`
+interface, respectively. Though `HttpAuthenticationMechanism`
+implementations can authenticate users in any manner they choose, the
+`IdentityStore` interface provides a convenient mechanism. A significant
+advantage of using `HttpAuthenticationMechanism` and `IdentityStore`
+over the declarative mechanisms defined by the Servlet specification is
+that it allows an application to control the identity stores that it
+authenticates against, in a standard, portable way. You can use the
+built-in implementations of these APIs, or define custom
+implementations.
+
+Jakarta EE Security API defines several annotations, with names that end
+with Definition, which when used makes the corresponding built-in
+mechanism available as a CDI bean. Jakarta EE Security API also supports
+the use of Expression Language 3.0 in these annotations to allow dynamic
+configuration.
+
+[[GSDVG565]][[sthref9]]
+
+
+[[built-in-authentication-mechanisms]]
+===== Built-in Authentication Mechanisms
+
+An application packages its own `HttpAuthenticationMechanism` by
+including in a bean archive that is a part of the application.
+Alternatively, it may select and configure one of the container's
+built-in mechanisms using the corresponding annotation, as listed below:
+
+* `BasicAuthenticationMechanismDefintion`—implements BASIC
+authentication that conforms to the behavior of the servlet container
+when BASIC <auth-method> is declared in web.xml.
+* `CustomFormAuthenticationMechanismDefinition`—implements FORM
+authentication that conforms to the behavior of the servlet container
+when the FORM <auth-method> is declared in web.xml.
+* `FormAuthenticationMechanismDefinition`—implements a modified version
+of FORM authentication in which custom handling replaces the POST to
+j_security_check.
+
+In {productName}, all built-in authentication mechanisms need to be
+authenticated using an identity store. The `IdentityStore` interface,
+included in the Jakarta EE Security API, defines an SPI for interacting
+with identity stores, which are directories or databases containing user
+account information. The `IdentityStore` interface has four methods:
+`validate(Credential)`, `getCallerGroups(CredentialValidationResult)`,
+`validationTypes()` and `priority()`.Developers can provide their own
+implementation of this interface, or use one of the built-in Identity
+Stores. The `RememberMeIdentityStore` interface, which is a variation on
+the IdentityStore interface, can be used when an application wants to
+"remember" a user's authenticated session for an extended period, so
+that the caller can return to the application periodically without
+needing to present primary authentication credentials each time.
+
+There are two built-in implementations of `IdentityStore`: an LDAP
+identity store, and a Database identity store. The following snippet
+shows the usage of `DatabaseIdentityStoreDefinition`, which makes
+`DatabaseIdentityStore` available as CDI bean.
+
+[source,java]
+----
+@DatabaseIdentityStoreDefinition(
+    callerQuery = "#{'select password from caller where name = ?'}",
+    groupsQuery = "select group_name from caller_groups where caller_name = ?",
+    hashAlgorithm = Pbkdf2PasswordHash.class,
+    priorityExpression = "#{100}",
+    hashAlgorithmParameters = {
+        "Pbkdf2PasswordHash.Iterations=3072",
+        "${applicationConfig.dyna}"
+    }
+)
+----
+
+Since Jakarta EE Security API provides support for Expression Langauge 3.0,
+regular expressions can be used to set value of annotation attributes.
+
+The {productName} provides out of the box implementation of
+`Pbkdf2PasswordHash` that supports PBKDF2 password hashing. It is
+suggested that you use `Pbkdf2PasswordHash` for generating and
+validating passwords, unless there are specific requirements which
+cannot be met any other way.
+
+[[GSDVG566]][[sthref10]]
+
+
+[[custom-authentication-mechanism]]
+===== Custom Authentication Mechanism
+
+An application provider can choose to provide its own custom
+authentication mechanism, apart from built-in authentication mechanism.
+
+A custom authentication mechanism implements the
+`HttpAuthenticationMechanism` interface, introduced in Jakarta EE Security
+API. This interface defines the following three methods.
+
+[source,java]
+----
+AuthenticationStatus validateRequest(HttpServletRequest request,
+                                     HttpServletResponse response,
+                                     HttpMessageContext httpMessageContext
+                                    ) throws AuthenticationException;
+
+AuthenticationStatus secureResponse(HttpServletRequest request,
+                                    HttpServletResponse response,
+                                    HttpMessageContext httpMessageContext
+                                    ) throws AuthenticationException;
+
+void cleanSubject(HttpServletRequest request,
+                  HttpServletResponse response,
+                  HttpMessageContext   httpMessageContext);
+----
+
+`HttpAuthenticationMechanism` returns `AuthenticationStatus` to indicate
+the status of authentication request. Internally, it gets translated to
+corresponding JASPIC `AuthStatus` as shown below:
+
+* `AuthenticationStatus.NOT_DONE` to `AuthStatus.SUCCESS`
+* `AuthenticationStatus.SEND_CONTINUE` to `AuthStatus.SEND_CONTINUE`
+* `AuthenticationStatus.SUCCESS` to `AuthStatus.SUCCESS`
+* `AuthenticationStatus.SEND_FAILURE` to `AuthStatus.SEND_FAILURE`
+
+Each method of the `HttpAuthenticationMechanism` interface performs the
+same function as the corresponding `ServerAuth` methods. Unlike JASPIC,
+`HttpAuthenticationMechanism` is specified for the servlet container
+only. Only the `validateRequest()` must be implemented, for other two
+methods, default behaviors are specified.
+
+`validateRequest` allows a caller to authenticate. The request gets
+inspected inside `validateRequest` to read credential or any other
+information, or it can write to standard response with status of the
+authentication request or redirect the caller to an OAuth provider. Once
+the credential is validated, the result of the validation is
+communicated to the container using the `HttpMessageContext` parameter.
+
+[[GSDVG567]]
+
+Sample Http Authentication Mechanism
+
+The class `MyAuthenticationMechanism.java` is a sample
+`HttpAuthenticationMechanism` implementation. Note that only
+`validateRequest` method has been implemented, since Jakarta EE Security
+API provides default implementation of other two methods. An application
+provider may choose to override the default implementation depending on
+the requirement.
+
+[source,java]
+----
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.security.enterprise.AuthenticationException;
+import javax.security.enterprise.AuthenticationStatus;
+import javax.security.enterprise.authentication.mechanism.http.HttpAuthenticationMechanism;
+import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext;
+import javax.security.enterprise.credential.UsernamePasswordCredential;
+import javax.security.enterprise.identitystore.CredentialValidationResult;
+import javax.security.enterprise.identitystore.IdentityStoreHandler;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
+
+@RequestScoped
+public class MyAuthenticationMechanism implements HttpAuthenticationMechanism {
+
+    @Inject
+    private IdentityStoreHandler identityStoreHandler;
+
+    @Override
+    public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException {
+
+          // Get the (caller) name and password from the request
+        // NOTE: This is for the smallest possible example only. In practice
+        // putting the password in a request query parameter is highly
+        // insecure and is discouraged.
+        String name = request.getParameter("name");
+        String password = request.getParameter("password");
+
+        if (name != null && password != null) {
+
+            // Delegate the {credentials in -> identity data out} function to
+            // the Identity Store
+            CredentialValidationResult result = identityStoreHandler.validate(
+                new UsernamePasswordCredential(name, password));
+
+            if (result.getStatus() == VALID) {
+                // Communicate the details of the authenticated user to the
+                // container.
+                response.addHeader("Authentication Mechanism", "MyAuthenticationMechanism");
+                return httpMessageContext.notifyContainerAboutLogin(
+                    result.getCallerPrincipal(), result.getCallerGroups());
+            } else {
+                return httpMessageContext.responseUnauthorized();
+            }
+        }
+
+        return httpMessageContext.doNothing();
+    }
+
+}
+----
+
+[[gizfz]][[GSDVG00381]][[the-glassfish-server-and-jsr-196]]
+
+==== The {productName} and JSR 196
+
+The {productName} implements the Servlet Container Profile of JSR
+196, Java Authentication Service Provider Interface for Containers. JSR
+196 defines a standard service provider interface (SPI) that extends the
+concepts of the Java Authentication and Authorization Service (JAAS) to
+enable pluggability of message authentication modules in message
+processing runtimes. The JSR 196 standard defines profiles that
+establish contracts for the use of the SPI in specific contexts. The
+Servlet Container Profile of JSR 196 defines the use of the SPI by a
+Servlet container such that:
+
+* The resulting container can be configured with new authentication
+mechanisms.
+* The container employs the configured mechanisms in its enforcement of
+the declarative servlet security model (declared in a `web.xml` file
+using `security-constraint` elements).
+
+The JSR 196 specification defines a simple message processing model
+composed of four interaction points:
+
+1. `secureRequest` on the client
+2. `validateRequest` on the server
+3. `secureResponse` on the server
+4. `validateResponse` on the client
+
+A message processing runtime uses the SPI at these interaction points to
+delegate the corresponding message security processing to authentication
+providers, also called authentication modules, integrated into the
+runtime by way of the SPI.
+
+A compatible server-side message processing runtime, such as the
+{productName} servlet container, supports the `validateRequest` and
+`secureResponse` interaction points of the message processing model. The
+servlet container uses the SPI at these interaction points to delegate
+the corresponding message security processing to a server authentication
+module (SAM), integrated by the SPI into the container.
+
+[[gizdx]][[GSDVG00382]][[writing-a-server-authentication-module]]
+
+==== Writing a Server Authentication Module
+
+A key step in adding an authentication mechanism to a compatible
+server-side message processing runtime such as the {productName}
+servlet container is acquiring a SAM that implements the desired
+authentication mechanism. One way to do that is to write the SAM
+yourself.
+
+A SAM implements the javax.security.auth.message.module.ServerAuthModule
+interface as defined by JSR 196. A SAM is invoked indirectly by the
+message processing runtime at the `validateRequest` and `secureResponse`
+interaction points. A SAM must implement the five methods of the
+ServerAuthModule interface:
+
+* `getSupportedMessageTypes` — An array of `Class` objects where each
+element defines a message type supported by the SAM. For a SAM to be
+compatible with the Servlet Container Profile, the returned array must
+include the `HttpServletRequest.class` and `HttpServletResponse.class`
+objects.
+* `initialize(MessagePolicy requestPolicy, MessagePolicy responsePolicy, CallbackHandler Map options)`
+— The container calls this method to provide the SAM with configuration
+values and with a `CallbackHandler`. The configuration values are
+returned in the policy arguments and in the options `Map`. The SAM uses
+`CallbackHandler` to access services, such as password validation,
+provided by the container.
+* `AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, Subject serviceSubject)`
+— The container calls this method to process each received
+`HttpServletRequest`. The request and its associated
+`HttpServletResponse` are passed by the container to the SAM in the
+`messageInfo` argument. The SAM processes the request and may establish
+the response to be returned by the container. The SAM uses the provided
+`Subject` arguments to convey its authentication results. The SAM
+returns different status values to control the container's invocation
+processing. The status values and the circumstances under which they are
+returned are as follows:
+
+** `AuthStatus.SUCCESS` is returned when the application request message
+is successfully validated. The container responds to this status value
+by using the returned client `Subject` to invoke the target of the
+request. When this value is returned, the SAM (provided a custom
+`AuthConfigProvider` is not being used) must use its `CallbackHandler`
+to handle a `CallerPrincipalCallback` using the `clientSubject` as an
+argument to the callback.
+
+** `AuthStatus.SEND_CONTINUE` indicates that message validation is
+incomplete and that the SAM has established a preliminary response as
+the response message in `messageInfo`. The container responds to this
+status value by sending the response to the client.
+
+** `AuthStatus.SEND_FAILURE` indicates that message validation failed
+and that the SAM has established an appropriate failure response message
+in `messageInfo`. The container responds to this status value by sending
+the response to the client.
+
+** `AuthStatus.SEND_SUCCESS` is not typically returned. This status
+value indicates the end of a multi-message security dialog originating
+after the service interaction and during the processing of the
+application response. The container responds to this status value by
+sending the response to the client.
++
+The `validateRequest` method may also throw an `AuthException` to
+indicate that the message processing by the SAM failed without
+establishing a failure response message in `messageInfo`.
+* `secureResponse(MessageInfo messageInfo, Subject serviceSubject)` —
+The container calls this method before sending a response, resulting
+from an application invocation, to the client. The response is passed to
+the SAM in the `messageInfo` argument. In most cases, this method should
+just return the `SEND_SUCCESS` status.
+* `cleanSubject(MessageInfo messageInfo, Subject subject)` — This method
+removes the mechanism-specific principals, credentials, or both from the
+subject. This method is not currently called by the container. A
+legitimate implementation could remove all the principals from the
+argument subject.
+
+See the Servlet Container Profile section in the JSR 196 specification
+for additional background and details.
+
+[[gizeb]][[GSDVG00383]][[sample-server-authentication-module]]
+
+==== Sample Server Authentication Module
+
+The class `MySam.java` is a sample SAM implementation. Notice that the
+sample implements the five methods of the ServerAuthModule interface.
+This SAM implements an approximation of HTTP basic authentication.
+
+[source,java]
+----
+package tip.sam;
+
+   import java.io.IOException;
+   import java.util.Map;
+   import javax.security.auth.Subject;
+   import javax.security.auth.callback.Callback;
+   import javax.security.auth.callback.CallbackHandler;
+   import javax.security.auth.callback.UnsupportedCallbackException;
+   import javax.security.auth.message.AuthException;
+   import javax.security.auth.message.AuthStatus;
+   import javax.security.auth.message.MessageInfo;
+   import javax.security.auth.message.MessagePolicy;
+   import javax.security.auth.message.callback.CallerPrincipalCallback;
+   import javax.security.auth.message.callback.GroupPrincipalCallback;
+   import javax.security.auth.message.callback.PasswordValidationCallback;
+   import javax.security.auth.message.module.ServerAuthModule;
+   import javax.servlet.http.HttpServletRequest;
+   import javax.servlet.http.HttpServletResponse;
+   import org.apache.catalina.util.Base64;
+
+   public class MySam implements ServerAuthModule {
+
+      protected static final Class[]
+        supportedMessageTypes = new Class[]{
+          HttpServletRequest.class,
+          HttpServletResponse.class
+      };
+
+      private MessagePolicy requestPolicy;
+      private MessagePolicy responsePolicy;
+      private CallbackHandler handler;
+      private Map options;
+      private String realmName = null;
+      private String defaultGroup[] = null;
+      privte static final String REALM_PROPERTY_NAME =
+          "realm.name";
+      private static final String GROUP_PROPERTY_NAME =
+          "group.name";
+      private static final String BASIC = "Basic";
+      static final String AUTHORIZATION_HEADER =
+          "authorization";
+      static final String AUTHENTICATION_HEADER =
+          "WWW-Authenticate";
+
+      public void initialize(MessagePolicy reqPolicy,
+              MessagePolicy resPolicy,
+              CallbackHandler cBH, Map opts)
+              throws AuthException {
+          requestPolicy = reqPolicy;
+          responsePolicy = resPolicy;
+          handler = cBH;
+          options = opts;
+          if (options != null) {
+              realmName = (String)
+                  options.get(REALM_PROPERTY_NAME);
+              if (options.containsKey(GROUP_PROPERTY_NAME)) {
+                  defaultGroup = new String[]{(String)
+                      options.get(GROUP_PROPERTY_NAME)};
+              }
+          }
+      }
+
+      public Class[] getSupportedMessageTypes() {
+          return supportedMessageTypes;
+      }
+
+      public AuthStatus validateRequest(
+              MessageInfo msgInfo, Subject client,
+              Subject server) throws AuthException {
+          try {
+
+              String username =
+                  processAuthorizationToken(msgInfo, client);
+              if (username ==
+                  null && requestPolicy.isMandatory()) {
+                  return sendAuthenticateChallenge(msgInfo);
+              }
+
+             setAuthenticationResult(
+                 username, client, msgInfo);
+             return AuthStatus.SUCCESS;
+
+          } catch (Exception e) {
+              AuthException ae = new AuthException();
+              ae.initCause(e);
+              throw ae;
+          }
+      }
+
+      private String processAuthorizationToken(
+              MessageInfo msgInfo, Subject s)
+              throws AuthException {
+
+          HttpServletRequest request =
+                  (HttpServletRequest)
+                  msgInfo.getRequestMessage();
+
+          String token =
+                  request.getHeader(AUTHORIZATION_HEADER);
+
+          if (token != null && token.startsWith(BASIC + " ")) {
+
+              token = token.substring(6).trim();
+
+              // Decode and parse the authorization token
+              String decoded =
+                  new String(Base64.decode(token.getBytes()));
+
+              int colon = decoded.indexOf(':');
+              if (colon <= 0 || colon == decoded.length() - 1) {
+                  return (null);
+              }
+
+              String username = decoded.substring(0, colon);
+
+             // use the callback to ask the container to
+             // validate the password
+            PasswordValidationCallback pVC =
+                    new PasswordValidationCallback(s, username,
+                    decoded.substring(colon + 1).toCharArray());
+            try {
+                handler.handle(new Callback[]{pVC});
+                pVC.clearPassword();
+            } catch (Exception e) {
+                AuthException ae = new AuthException();
+                ae.initCause(e);
+                throw ae;
+            }
+
+            if (pVC.getResult()) {
+                return username;
+            }
+      }
+      return null;
+   }
+
+   private AuthStatus sendAuthenticateChallenge(
+           MessageInfo msgInfo) {
+
+       String realm = realmName;
+         // if the realm property is set use it,
+         // otherwise use the name of the server
+         // as the realm name.
+         if (realm == null) {
+
+          HttpServletRequest request =
+                  (HttpServletRequest)
+                  msgInfo.getRequestMessage();
+
+          realm = request.getServerName();
+        }
+
+       HttpServletResponse response =
+               (HttpServletResponse)
+               msgInfo.getResponseMessage();
+
+       String header = BASIC + " realm=\"" + realm + "\"";
+       response.setHeader(AUTHENTICATION_HEADER, header);
+       response.setStatus(
+               HttpServletResponse.SC_UNAUTHORIZED);
+       return AuthStatus.SEND_CONTINUE;
+   }
+
+   public AuthStatus secureResponse(
+           MessageInfo msgInfo, Subject service)
+           throws AuthException {
+       return AuthStatus.SEND_SUCCESS;
+   }
+
+   public void cleanSubject(MessageInfo msgInfo,
+           Subject subject)
+           throws AuthException {
+      if (subject != null) {
+          subject.getPrincipals().clear();
+      }
+   }
+
+   private static final String AUTH_TYPE_INFO_KEY =
+           "javax.servlet.http.authType";
+
+   // distinguish the caller principal
+   // and assign default groups
+   private void setAuthenticationResult(String name,
+           Subject s, MessageInfo m)
+           throws IOException,
+           UnsupportedCallbackException {
+       handler.handle(new Callback[]{
+           new CallerPrincipalCallback(s, name)
+       });
+       if (name != null) {
+         // add the default group if the property is set
+           if (defaultGroup != null) {
+               handler.handle(new Callback[]{
+                   new GroupPrincipalCallback(s, defaultGroup)
+               });
+           }
+           m.getMap().put(AUTH_TYPE_INFO_KEY, ""MySAM");
+       }
+   }
+  }
+----
+
+Note that the `initialize` method looks for the `group.name` and
+`realm.name` properties. The `group.name` property configures the
+default group assigned as a result of any successful authentication. The
+`realm.name` property defines the realm value sent back to the browser
+in the `WWW-Authenticate` challenge.
+
+[[gizfa]][[GSDVG00384]][[compiling-and-installing-a-server-authentication-module]]
+
+==== Compiling and Installing a Server Authentication Module
+
+Before you can use the sample SAM, you need to compile, install, and
+configure it. Then you can bind it to an application.
+
+To compile the SAM, include the SPI in your classpath. When the
+{productName} is installed, the JAR file containing the SPI,
+`jmac-api.jar`, is installed in the as-install``/lib`` directory. After
+you compile the SAM, install it by copying a JAR file containing the
+compiled SAM to the as-install``/lib`` directory.
+
+[[gizfe]][[GSDVG00385]][[configuring-a-server-authentication-module]]
+
+==== Configuring a Server Authentication Module
+
+You can configure a SAM in one of these ways:
+
+* In the Administration Console, open the Security component under the
+relevant configuration and go to the Message Security page. Set the
+following options:
+
+** Authentication Layer — `HttpServlet`
+
+** Provider Type — `server` or `client-server`
+
+** Provider ID — Specify a unique name for the SAM, for example `MySAM`
+
+** Class Name — Specify the fully qualified class name, for example
+`tip.sam.MySam`
+
+** Additional Property — Name: `group-name` Value: `user`
+
+** Additional Property — Name: `realm-name` Value: `Sam`
++
+For details, click the Help button in the Administration Console.
+* Use the `asadmin create-message-security-provider` command to
+configure a SAM. Set the following options:
+
+** `--layer HttpServlet`
+
+** `--providertype server` or `--providertype client-server`
+
+** `--classname tip.sam.MySam`
+
+** `--property group-name=user:realm-name=Sam`
+
+** Provider name operand — Specify a unique name for the SAM, for
+example `MySAM`
++
+For details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+[[gizfm]][[GSDVG00386]][[binding-a-server-authentication-module-to-your-application]]
+
+==== Binding a Server Authentication Module to Your Application
+
+After you install and configure the SAM, you can bind it for use by the
+container on behalf of one or more of your applications. You have two
+options in how you bind the SAM, depending on whether you are willing to
+repackage and redeploy your application:
+
+* If you are willing to repackage and redeploy, you can bind the SAM
+using the `glassfish-web.xml` file. Set the value of the
+`httpservlet-security-provider` attribute of the `glassfish-web-app`
+element to the SAM's configured provider ID, for example, `MySAM`. For
+more information about the `glassfish-web.xml` file, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]. This option leverages the native `AuthConfigProvider`
+implementation that ships with the {productName}.
+* Another approach is to develop your own `AuthConfigProvider` and
+register it with the {productName} `AuthConfigFactory` for use on
+behalf of your applications. For example, a simple `AuthConfigProvider`
+can obtain, through its initialization properties, the classname of a
+SAM to configure on behalf of the applications for which the provider is
+registered. You can find a description of the functionality of an
+`AuthConfigProvider` and of the registration facilities provided by an
+`AuthConfigFactory` in the JSR 196 specification.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/setting-up-dev-env.adoc b/docs/application-development-guide/src/main/asciidoc/setting-up-dev-env.adoc
new file mode 100644
index 0000000..d9fdd8a
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/setting-up-dev-env.adoc
@@ -0,0 +1,186 @@
+type=page
+status=published
+title=Setting Up a Development Environment
+next=class-loaders.html
+prev=part-tasks-and-tools.html
+~~~~~~
+
+= Setting Up a Development Environment
+
+[[GSDVG00002]][[beaaq]]
+
+
+[[setting-up-a-development-environment]]
+== 1 Setting Up a Development Environment
+
+This chapter gives guidelines for setting up an application development
+environment in the {productName}. Setting up an environment
+for creating, assembling, deploying, and debugging your code involves
+installing the mainstream version of the {productName} and making use
+of development tools. In addition, sample applications are available.
+
+The following topics are addressed here:
+
+* link:#beaar[Installing and Preparing the Server for Development]
+* link:#beaas[High Availability Features]
+* link:#beaat[Development Tools]
+* link:#beabf[Sample Applications]
+
+[[beaar]][[GSDVG00090]][[installing-and-preparing-the-server-for-development]]
+
+=== Installing and Preparing the Server for Development
+
+For more information about {productName} installation, see the
+link:installation-guide.html#GSING[
+{productName} Installation Guide].
+
+The following components are included in the full installation.
+
+* JDK
+* {productName} core
+
+** Java Platform, Standard Edition (Java SE) 11
+** Jakarta EE 10 compliant application server
+** Administration Console
+** `asadmin` utility
+** Other development and deployment tools
+** Open Message Queue software
+** Apache http://db.apache.org/derby/manuals[Derby database]
+** Load balancer plug-ins for web servers
+
+The NetBeans Integrated Development Environment (IDE) bundles the
+GlassFish edition of the {productName}, so information about this IDE
+is provided as well.
+
+After you have installed {productName}, you can further optimize the
+server for development in these ways:
+
+* Locate utility classes and libraries so they can be accessed by the
+proper class loaders. For more information, see
+link:class-loaders.html#beadj[Using the Common Class Loader].
+* Set up debugging. For more information, see
+link:debugging-apps.html#beafc[Debugging Applications].
+* Configure the Virtual Machine for the Java platform (JVM software).
+For more information, see "link:administration-guide/jvm.html#GSADG00007[
+Administering the Virtual Machine for the Java Platform]"
+in {productName} Administration Guide.
+
+[[beaas]][[GSDVG00091]][[high-availability-features]]
+
+=== High Availability Features
+
+High availability features such as load balancing and session failover
+are discussed in detail in the link:ha-administration-guide.html#GSHAG[{productName} High Availability Administration Guide]. This book describes the
+following features in the following sections:
+
+* For information about HTTP session persistence, see
+link:webapps.html#beahe[Distributed Sessions and Persistence].
+* For information about checkpointing of the stateful session bean
+state, see link:ejb.html#beaib[Stateful Session Bean Failover].
+* For information about failover and load balancing for Java clients,
+see link:java-clients.html#beakt[Developing Java Clients].
+* For information about load balancing for message-driven beans, see
+link:jms.html#beaop[Load-Balanced Message Inflow].
+
+[[beaat]][[GSDVG00092]][[development-tools]]
+
+=== Development Tools
+
+The following general tools are provided with the {productName}:
+
+* link:#beaau[The `asadmin` Command]
+* link:#beaav[The Administration Console]
+
+The following development tools are provided with the {productName}
+or downloadable from Oracle:
+
+* link:#beaba[The Migration Tool]
+* link:#beaaw[The NetBeans IDE]
+
+The following third-party tools might also be useful:
+
+* link:#beabb[Debugging Tools]
+* link:#beabc[Profiling Tools]
+
+[[beaau]][[GSDVG00333]][[the-asadmin-command]]
+
+==== The `asadmin` Command
+
+The `asadmin` command allows you to configure a local or remote server
+and perform both administrative and development tasks at the command
+line. For general information about `asadmin`, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+The `asadmin` command is located in the as-install``/bin`` directory. Type
+`asadmin help` for a list of subcommands.
+
+[[beaav]][[GSDVG00334]][[the-administration-console]]
+
+==== The Administration Console
+
+The Administration Console lets you configure the server and perform
+both administrative and development tasks using a web browser. For
+general information about the Administration Console, click the Help
+button in the Administration Console. This displays the {productName}
+online help.
+
+To access the Administration Console, type `http://`host`:4848` in your
+browser. The host is the name of the machine on which the {productName} is running. By default, the host is `localhost`. For example:
+
+[source]
+----
+http://localhost:4848
+----
+
+[[beaba]][[GSDVG00337]][[the-migration-tool]]
+
+==== The Migration Tool
+
+The Migration Tool converts and reassembles Jakarta EE applications and
+modules developed on other application servers. This tool also generates
+a report listing how many files are successfully and unsuccessfully
+migrated, with reasons for migration failure. For more information and
+to download the Migration Tool, see
+`http://java.sun.com/j2ee/tools/migration/index.html`.
+
+[[beaaw]][[GSDVG00338]][[the-netbeans-ide]]
+
+==== The NetBeans IDE
+
+The NetBeans IDE allows you to create, assemble, and debug code from a
+single, easy-to-use interface. The GlassFish edition of the {productName} is bundled with the NetBeans 6.1 IDE. To download the NetBeans
+IDE, see `http://www.netbeans.org`. This site also provides
+documentation on how to use the NetBeans IDE with the bundled GlassFish
+edition of the {productName}.
+
+You can also use the {productName} with the Java Studio Enterprise
+software, which is built on the NetBeans IDE. For more information, see
+`http://developers.sun.com/jsenterprise/`.
+
+[[beabb]][[GSDVG00340]][[debugging-tools]]
+
+==== Debugging Tools
+
+You can use several debugging tools with the {productName}. For more
+information, see link:debugging-apps.html#beafc[Debugging Applications].
+
+[[beabc]][[GSDVG00341]][[profiling-tools]]
+
+==== Profiling Tools
+
+You can use several profilers with the {productName}. For more
+information, see link:debugging-apps.html#beafn[Profiling Tools].
+
+[[beabf]][[GSDVG00093]][[sample-applications]]
+
+=== Sample Applications
+
+The samples are available from `https://github.com/eclipse-ee4j/glassfish-samples`.
+
+Most {productName} samples have the following directory structure:
+
+* The `docs` directory contains instructions for how to use the sample.
+* The `pom.xml` file defines Maven targets for the sample.
+* The `src/` directory contains source code for the sample.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/title.adoc b/docs/application-development-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..f7531c6
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,52 @@
+type=page
+status=published
+title={productName} Application Development Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Application Development Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Application Development Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This Application Development Guide describes how to create and run Java
+Platform, Enterprise Edition (Jakarta EE platform) applications that follow
+the open Java standards model for Jakarta EE components and APIs in the
+{productName} environment. Topics include
+developer tools, security, and debugging. This book is intended for use
+by software developers who create, assemble, and deploy Jakarta EE
+applications using Oracle servers and software.
+
+[[sthref1]]
+
+'''''
+
+{productName} Application Development Guide,
+Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/application-development-guide/src/main/asciidoc/transaction-service.adoc b/docs/application-development-guide/src/main/asciidoc/transaction-service.adoc
new file mode 100644
index 0000000..65b4762
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/transaction-service.adoc
@@ -0,0 +1,395 @@
+type=page
+status=published
+title=Using the Transaction Service
+next=jndi.html
+prev=jdbc.html
+~~~~~~
+
+= Using the Transaction Service
+
+[[GSDVG00018]][[beanm]]
+
+
+[[using-the-transaction-service]]
+== 15 Using the Transaction Service
+
+The Jakarta EE platform provides several abstractions that simplify
+development of dependable transaction processing for applications. This
+chapter discusses Jakarta EE transactions and transaction support in the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#giybi[Handling Transactions with Databases]
+* link:#beaje[Handling Transactions with Enterprise Beans]
+* link:#gknrh[Handling Transactions with the Java Message Service]
+* link:#gaxit[The Transaction Manager, the Transaction Synchronization
+Registry, and `UserTransaction`]
+
+For more information about the Java Transaction API (JTA) and Java
+Transaction Service (JTS), see "link:administration-guide/transactions.html#GSADG00022[Administering
+Transactions]" in {productName} Administration
+Guide and the following sites:
+`http://www.oracle.com/technetwork/java/javaee/jta/index.html` and
+`http://www.oracle.com/technetwork/java/javaee/tech/index.html`.
+
+You might also want to read
+"https://eclipse-ee4j.github.io/jakartaee-tutorial/#transactions[Transactions]"
+in The Jakarta EE Tutorial.
+
+[[giybi]][[GSDVG00188]][[handling-transactions-with-databases]]
+
+=== Handling Transactions with Databases
+
+The following topics are addressed here:
+
+* link:#beamv[Using JDBC Transaction Isolation Levels]
+* link:#beamu[Using Non-Transactional Connections]
+
+[[beamv]][[GSDVG00511]][[using-jdbc-transaction-isolation-levels]]
+
+==== Using JDBC Transaction Isolation Levels
+
+Not all database vendors support all transaction isolation levels
+available in the JDBC API. The {productName} permits specifying any
+isolation level your database supports. The following table defines
+transaction isolation levels.
+
+[[GSDVG559]][[sthref27]][[fvyoi]]
+
+
+Table 15-1 Transaction Isolation Levels
+
+[width="100%",cols="27%,28%,45%",options="header",]
+|===
+|Transaction Isolation Level |`getTransactionIsolation` Return Value
+|Description
+|`read-uncommitted` |`1` |Dirty reads, non-repeatable reads, and phantom
+reads can occur.
+
+|`read-committed` |`2` |Dirty reads are prevented; non-repeatable reads
+and phantom reads can occur.
+
+|`repeatable-read` |`4` |Dirty reads and non-repeatable reads are
+prevented; phantom reads can occur.
+
+|`serializable` |`8` |Dirty reads, non-repeatable reads and phantom
+reads are prevented.
+|===
+
+
+By default, the transaction isolation level is undefined (empty), and
+the JDBC driver's default isolation level is used. You can specify the
+transaction isolation level in the following ways:
+
+* Select the value from the Transaction Isolation drop-down list on the
+New JDBC Connection Pool or Edit Connection Pool page in the
+Administration Console. For more information, click the Help button in
+the Administration Console.
+* Specify the `--isolationlevel` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `transaction-isolation-level` option in the `asadmin set`
+command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.transaction-isolation-level=serializable
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+Note that you cannot call `setTransactionIsolation` during a
+transaction.
+
+You can set the default transaction isolation level for a JDBC
+connection pool. For details, see "link:administration-guide/jdbc.html#GSADG00420[To Create a JDBC
+Connection Pool]" in {productName} Administration
+Guide.
+
+To verify that a level is supported by your database management system,
+test your database programmatically using the
+`supportsTransactionIsolationLevel` method in
+`java.sql.DatabaseMetaData`, as shown in the following example:
+
+[source,java]
+----
+InitialContext ctx = new InitialContext();
+DataSource ds = (DataSource)
+ctx.lookup("jdbc/MyBase");
+Connection con = ds.getConnection();
+DatabaseMetaData dbmd = con.getMetaData();
+if (dbmd.supportsTransactionIsolationLevel(TRANSACTION_SERIALIZABLE)
+{ Connection.setTransactionIsolation(TRANSACTION_SERIALIZABLE); }
+----
+
+For more information about these isolation levels and what they mean,
+see the JDBC API specification.
+
+Setting or resetting the transaction isolation level for every
+`getConnection` call can degrade performance. So by default the
+isolation level is not guaranteed.
+
+Applications that change the transaction isolation level on a pooled
+connection programmatically risk polluting the JDBC connection pool,
+which can lead to errors. If an application changes the isolation level,
+enabling the `is-isolation-level-guaranteed` setting in the pool can
+minimize such errors.
+
+You can guarantee the transaction isolation level in the following ways:
+
+* Check the Isolation Level Guaranteed box on the New JDBC Connection
+Pool or Edit Connection Pool page in the Administration Console. For
+more information, click the Help button in the Administration Console.
+* Specify the `--isisolationguaranteed` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `is-isolation-level-guaranteed` option in the
+`asadmin set` command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.is-isolation-level-guaranteed=true
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beamu]][[GSDVG00512]][[using-non-transactional-connections]]
+
+==== Using Non-Transactional Connections
+
+You can specify a non-transactional database connection in any of these
+ways:
+
+* Check the Non-Transactional Connections box on the New JDBC Connection
+Pool or Edit Connection Pool page in the Administration Console. The
+default is unchecked. For more information, click the Help button in the
+Administration Console.
+* Specify the `--nontransactionalconnections` option in the
+`asadmin create-jdbc-connection-pool` command. For more information, see
+the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Specify the `non-transactional-connections` option in the
+`asadmin set` command. For example:
++
+[source]
+----
+asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.non-transactional-connections=true
+----
+For more information, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+* Use the `DataSource` implementation in the {productName}, which
+provides a `getNonTxConnection` method. This method retrieves a JDBC
+connection that is not in the scope of any transaction. There are two
+variants.
++
+[source,java]
+----
+public java.sql.Connection getNonTxConnection() throws java.sql.SQLException
+
+public java.sql.Connection getNonTxConnection(String user, String password)
+   throws java.sql.SQLException
+----
+* Create a resource with the JNDI name ending in `__nontx`. This forces
+all connections looked up using this resource to be non transactional.
+
+Typically, a connection is enlisted in the context of the transaction in
+which a `getConnection` call is invoked. However, a non-transactional
+connection is not enlisted in a transaction context even if a
+transaction is in progress.
+
+The main advantage of using non-transactional connections is that the
+overhead incurred in enlisting and delisting connections in transaction
+contexts is avoided. However, use such connections carefully. For
+example, if a non-transactional connection is used to query the database
+while a transaction is in progress that modifies the database, the query
+retrieves the unmodified data in the database. This is because the
+in-progress transaction hasn't committed. For another example, if a
+non-transactional connection modifies the database and a transaction
+that is running simultaneously rolls back, the changes made by the
+non-transactional connection are not rolled back.
+
+Here is a typical use case for a non-transactional connection: a
+component that is updating a database in a transaction context spanning
+over several iterations of a loop can refresh cached data by using a
+non-transactional connection to read data before the transaction
+commits.
+
+[[beaje]][[GSDVG00189]][[handling-transactions-with-enterprise-beans]]
+
+=== Handling Transactions with Enterprise Beans
+
+This section describes the transaction support built into the Enterprise
+JavaBeans programming model for the {productName}.
+
+As a developer, you can write an application that updates data in
+multiple databases distributed across multiple sites. The site might use
+EJB servers from different vendors.
+
+The following topics are addressed here:
+
+* link:#beajf[Flat Transactions]
+* link:#beajg[Global and Local Transactions]
+* link:#beajh[Commit Options]
+* link:#beaht[Bean-Level Container-Managed Transaction Timeouts]
+
+[[beajf]][[GSDVG00513]][[flat-transactions]]
+
+==== Flat Transactions
+
+The Enterprise JavaBeans Specification, v3.0 requires support for flat
+(as opposed to nested) transactions. In a flat transaction, each
+transaction is decoupled from and independent of other transactions in
+the system. Another transaction cannot start in the same thread until
+the current transaction ends.
+
+Flat transactions are the most prevalent model and are supported by most
+commercial database systems. Although nested transactions offer a finer
+granularity of control over transactions, they are supported by far
+fewer commercial database systems.
+
+[[beajg]][[GSDVG00514]][[global-and-local-transactions]]
+
+==== Global and Local Transactions
+
+Both local and global transactions are demarcated using the
+javax.transaction.UserTransaction interface, which the client must use.
+Local transactions bypass the XA commit protocol and are faster. For
+more information, see link:#gaxit[The Transaction Manager, the
+Transaction Synchronization Registry, and `UserTransaction`].
+
+[[beajh]][[GSDVG00515]][[commit-options]]
+
+==== Commit Options
+
+The EJB protocol is designed to give the container the flexibility to
+select the disposition of the instance state at the time a transaction
+is committed. This allows the container to best manage caching an entity
+object's state and associating an entity object identity with the EJB
+instances.
+
+There are three commit-time options:
+
+* Option A - The container caches a ready instance between transactions.
+The container ensures that the instance has exclusive access to the
+state of the object in persistent storage.
++
+In this case, the container does not have to synchronize the instance's
+state from the persistent storage at the beginning of the next
+transaction.
++
+
+[NOTE]
+====
+Commit option A is not supported for this {productName} release.
+====
+
+* Option B - The container caches a ready instance between transactions,
+but the container does not ensure that the instance has exclusive access
+to the state of the object in persistent storage. This is the default.
++
+In this case, the container must synchronize the instance's state by
+invoking `ejbLoad` from persistent storage at the beginning of the next
+transaction.
+* Option C - The container does not cache a ready instance between
+transactions, but instead returns the instance to the pool of available
+instances after a transaction has completed.
++
+The life cycle for every business method invocation under commit option
+C looks like this.
++
+[source]
+----
+ejbActivate   ejbLoad   business method   ejbStore   ejbPassivate
+----
+If there is more than one transactional client concurrently accessing
+the same entity, the first client gets the ready instance and subsequent
+concurrent clients get new instances from the pool.
+
+The `glassfish-ejb-jar.xml` deployment descriptor has an element,
+`commit-option`, that specifies the commit option to be used. Based on
+the specified commit option, the appropriate handler is instantiated.
+
+[[beaht]][[GSDVG00516]][[bean-level-container-managed-transaction-timeouts]]
+
+==== Bean-Level Container-Managed Transaction Timeouts
+
+The transaction timeout for the domain is specified using the
+Transaction Timeout setting of the Transaction Service. A transaction
+started by the container must commit (or rollback) within this time,
+regardless of whether the transaction is suspended (and resumed), or the
+transaction is marked for rollback. The default value, `0`, specifies
+that the server waits indefinitely for a transaction to complete.
+
+To override this timeout for an individual bean, use the optional
+`cmt-timeout-in-seconds` element in `glassfish-ejb-jar.xml`. The default
+value, `0`, specifies that the Transaction Service timeout is used. The
+value of `cmt-timeout-in-seconds` is used for all methods in the bean
+that start a new container-managed transaction. This value is not used
+if the bean joins a client transaction.
+
+[[gknrh]][[GSDVG00190]][[handling-transactions-with-the-java-message-service]]
+
+=== Handling Transactions with the Java Message Service
+
+The following topics are addressed here:
+
+* link:#beaoq[Transactions and Non-Persistent Messages]
+* link:#gdyya[Using the ConfigurableTransactionSupport Interface]
+
+[[beaoq]][[GSDVG00517]][[transactions-and-non-persistent-messages]]
+
+==== Transactions and Non-Persistent Messages
+
+During transaction recovery, non-persistent messages might be lost. If
+the broker fails between the transaction manager's prepare and commit
+operations, any non-persistent message in the transaction is lost and
+cannot be delivered. A message that is not saved to a persistent store
+is not available for transaction recovery.
+
+[[gdyya]][[GSDVG00518]][[using-the-configurabletransactionsupport-interface]]
+
+==== Using the ConfigurableTransactionSupport Interface
+
+The Jakarta EE Connector 1.6 specification allows a resource adapter to use
+the `transaction-support` attribute to specify the level of transaction
+support that the resource adapter handles. However, the resource adapter
+vendor does not have a mechanism to figure out the current transactional
+context in which a `ManagedConnectionFactory` is used.
+
+If a `ManagedConnectionFactory` implements an optional interface called
+com.sun.appserv.connectors.spi.ConfigurableTransactionSupport , the
+{productName} notifies the `ManagedConnectionFactory` of the
+`transaction-support` configured for the connector connection pool when
+the `ManagedConnectionFactory` instance is created for the pool.
+Connections obtained from the pool can then be used with a transaction
+level at or lower than the configured value. For example, a connection
+obtained from a pool that is set to `XA_TRANSACTION` could be used as a
+LOCAL resource in a last-agent-optimized transaction or in a
+non-transactional context.
+
+[[gaxit]][[GSDVG00191]][[the-transaction-manager-the-transaction-synchronization-registry-and-usertransaction]]
+
+=== The Transaction Manager, the Transaction Synchronization Registry, and `UserTransaction`
+
+To access a `UserTransaction` instance, you can either look it up using
+the `java:comp/``UserTransaction` JNDI name or inject it using the
+`@Resource` annotation.
+
+Accessing a `DataSource` using the `Synchronization.beforeCompletion()`
+method requires setting Allow Non Component Callers to `true`. The
+default is `false`. For more information about non-component callers,
+see link:jdbc.html#gavro[Allowing Non-Component Callers].
+
+If possible, you should use the
+javax.transaction.TransactionSynchronizationRegistry interface instead
+of javax.transaction.TransactionManager , for portability. You can look
+up the implementation of this interface by using the JNDI name
+`java:comp/``TransactionSynchronizationRegistry`. For details, see the
+https://jakarta.ee/specifications/transactions/2.0/apidocs/jakarta/transaction/transactionsynchronizationregistry[`TransactionSynchronizationRegistryInterface`]
+API documentation and
+http://www.jcp.org/en/jsr/detail?id=907[Java Specification Request (JSR) 907]
+
+If accessing the javax.transaction.TransactionManager implementation is
+absolutely necessary, you can look up the {productName}
+implementation of this interface using the JNDI name
+java:appserver/TransactionManager . This lookup should not be used by
+the application code.
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/webapps.adoc b/docs/application-development-guide/src/main/asciidoc/webapps.adoc
new file mode 100644
index 0000000..8d37e9d
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/webapps.adoc
@@ -0,0 +1,2126 @@
+type=page
+status=published
+title=Developing Web Applications
+next=ejb.html
+prev=jpa.html
+~~~~~~
+
+= Developing Web Applications
+
+[[GSDVG00009]][[beafs]]
+
+
+[[developing-web-applications]]
+== 7 Developing Web Applications
+
+This chapter describes how web applications are supported in the {productName}.
+
+The following topics are addressed here:
+
+* link:#beagj[Using Servlets]
+* link:#beagu[Using JavaServer Pages]
+* link:#beaha[Creating and Managing Sessions]
+* link:#ggrgt[Using Comet]
+* link:#beaft[Advanced Web Application Features]
+
+For general information about web applications, see
+"https://eclipse-ee4j.github.io/jakartaee-tutorial/#getting-started-with-web-applications[
+The Web Tier]" in The Jakarta EE Tutorial.
+
+
+[NOTE]
+====
+The Web Profile of the {productName} supports the EJB 3.1 Lite
+specification, which allows enterprise beans within web applications,
+among other features. The full {productName} supports the entire EJB
+3.1 specification. For details, see
+http://jcp.org/en/jsr/detail?id=318[JSR 318]
+(`http://jcp.org/en/jsr/detail?id=318`).
+====
+
+
+[[beagj]][[GSDVG00140]][[using-servlets]]
+
+=== Using Servlets
+
+{productName} supports the Java Servlet Specification version 4.0.
+
+
+[NOTE]
+====
+Servlet API version 4.0 is fully backward compatible with versions 3.0,
+2.3, 2.4, and 2.5, so all existing servlets should work without
+modification or recompilation.
+====
+
+
+To develop servlets, use the Java Servlet API. For information about
+using the Java Servlet API, see the documentation at
+`http://www.oracle.com/technetwork/java/javaee/servlet/index.html`.
+
+The {productName} provides the `wscompile` and `wsdeploy` tools to
+help you implement a web service endpoint as a servlet. For more
+information about these tools, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+This section describes how to create effective servlets to control
+application interactions running on a {productName}, including
+standard-based servlets. In addition, this section describes the
+{productName} features to use to augment the standards.
+
+The following topics are addressed here:
+
+* link:#beagm[Caching Servlet Results]
+* link:#beagr[About the Servlet Engine]
+
+[[beagm]][[GSDVG00397]][[caching-servlet-results]]
+
+==== Caching Servlet Results
+
+The {productName} can cache the results of invoking a servlet, a JSP,
+or any URL pattern to make subsequent invocations of the same servlet,
+JSP, or URL pattern faster. The {productName} caches the request
+results for a specific amount of time. In this way, if another data call
+occurs, the {productName} can return the cached data instead of
+performing the operation again. For example, if your servlet returns a
+stock quote that updates every 5 minutes, you set the cache to expire
+after 300 seconds.
+
+Whether to cache results and how to cache them depends on the data
+involved. For example, it makes no sense to cache the results of a quiz
+submission, because the input to the servlet is different each time.
+However, it makes sense to cache a high level report showing demographic
+data taken from quiz results that is updated once an hour.
+
+To define how a {productName} web application handles response
+caching, you edit specific fields in the `glassfish-web.xml` file.
+
+
+[NOTE]
+====
+A servlet that uses caching is not portable.
+====
+
+
+For Javadoc tool pages relevant to caching servlet results, see the
+`com.sun.appserv.web.cache` package.
+
+For information about JSP caching, see link:#beagw[JSP Caching].
+
+The following topics are addressed here:
+
+* link:#beagn[Caching Features]
+* link:#beago[Default Cache Configuration]
+* link:#beagp[Caching Example]
+* link:#beagq[The CacheKeyGenerator Interface]
+
+[[beagn]][[GSDVG00251]][[caching-features]]
+
+===== Caching Features
+
+The {productName} has the following web application response caching
+capabilities:
+
+* Caching is configurable based on the servlet name or the URI.
+* When caching is based on the URI, this includes user specified
+parameters in the query string. For example, a response from
+`/garden/catalog?category=roses` is different from a response from
+`/garden/catalog?category=lilies`. These responses are stored under
+different keys in the cache.
+* Cache size, entry timeout, and other caching behaviors are
+configurable.
+* Entry timeout is measured from the time an entry is created or
+refreshed. To override this timeout for an individual cache mapping,
+specify the `cache-mapping` subelement `timeout`.
+* To determine caching criteria programmatically, write a class that
+implements the com.sun.appserv.web.cache.CacheHelper interface. For
+example, if only a servlet knows when a back end data source was last
+modified, you can write a helper class to retrieve the last modified
+timestamp from the data source and decide whether to cache the response
+based on that timestamp.
+* To determine cache key generation programmatically, write a class that
+implements the com.sun.appserv.web.cache.CacheKeyGenerator interface.
+See link:#beagq[The CacheKeyGenerator Interface].
+* All non-ASCII request parameter values specified in cache key elements
+must be URL encoded. The caching subsystem attempts to match the raw
+parameter values in the request query string.
+* Since newly updated classes impact what gets cached, the web container
+clears the cache during dynamic deployment or reloading of classes.
+* The following `HttpServletRequest` request attributes are exposed.
+
+** `com.sun.appserv.web.cachedServletName`, the cached servlet target
+
+** `com.sun.appserv.web.cachedURLPattern`, the URL pattern being cached
+* Results produced by resources that are the target of a
+`RequestDispatcher.include()` or `RequestDispatcher.forward()` call are
+cached if caching has been enabled for those resources. For details, see
+"link:application-deployment-guide/dd-elements.html#GSDPG00101[cache-mapping]" in {productName} Application Deployment Guide and "link:../application-deployment-guide/dd-elements.html#GSDPG00140[dispatcher]"
+in {productName} Application Deployment Guide.
+These are elements in the `glassfish-web.xml` file.
+
+[[beago]][[GSDVG00252]][[default-cache-configuration]]
+
+===== Default Cache Configuration
+
+If you enable caching but do not provide any special configuration for a
+servlet or JSP, the default cache configuration is as follows:
+
+* The default cache timeout is 30 seconds.
+* Only the HTTP GET method is eligible for caching.
+* HTTP requests with cookies or sessions automatically disable caching.
+* No special consideration is given to `Pragma:`, `Cache-control:`, or
+`Vary:` headers.
+* The default key consists of the Servlet Path (minus `pathInfo` and the
+query string).
+* A "least recently used" list is maintained to evict cache entries if
+the maximum cache size is exceeded.
+* Key generation concatenates the servlet path with key field values, if
+any are specified.
+* Results produced by resources that are the target of a
+`RequestDispatcher.include()` or `RequestDispatcher.forward()` call are
+never cached.
+
+[[beagp]][[GSDVG00253]][[caching-example]]
+
+===== Caching Example
+
+Here is an example cache element in the `glassfish-web.xml` file:
+
+[source,xml]
+----
+<cache max-capacity="8192" timeout="60">
+<cache-helper name="myHelper" class-name="MyCacheHelper"/>
+<cache-mapping>
+    <servlet-name>myservlet</servlet-name>
+    <timeout name="timefield">120</timeout>
+    <http-method>GET</http-method>
+    <http-method>POST</http-method>
+</cache-mapping>
+<cache-mapping>
+    <url-pattern> /catalog/* </url-pattern>
+    <!-- cache the best selling category; cache the responses to
+       -- this resource only when the given parameters exist. Cache
+       -- only when the catalog parameter has 'lilies' or 'roses'
+       -- but no other catalog varieties:
+      -- /orchard/catalog?best&category='lilies'
+      -- /orchard/catalog?best&category='roses'
+      -- but not the result of
+       -- /orchard/catalog?best&category='wild'
+    -->
+    <constraint-field name='best' scope='request.parameter'/>
+    <constraint-field name='category' scope='request.parameter'>
+        <value> roses </value>
+        <value> lilies </value>
+    </constraint-field>
+     <!-- Specify that a particular field is of given range but the
+       -- field doesn't need to be present in all the requests -->
+    <constraint-field name='SKUnum' scope='request.parameter'>
+        <value match-expr='in-range'> 1000 - 2000 </value>
+    </constraint-field>
+    <!-- cache when the category matches with any value other than
+       -- a specific value -->
+    <constraint-field name="category" scope="request.parameter>
+        <value match-expr="equals" cache-on-match-failure="true">
+       bogus
+        </value>
+    </constraint-field>
+</cache-mapping>
+<cache-mapping>
+    <servlet-name> InfoServlet </servlet-name>
+    <cache-helper-ref>myHelper</cache-helper-ref>
+</cache-mapping>
+</cache>
+----
+
+For more information about the `glassfish-web.xml` caching settings, see
+"link:application-deployment-guide/dd-elements.html#GSDPG00097[cache]" in {productName}
+Application Deployment Guide.
+
+[[beagq]][[GSDVG00254]][[the-cachekeygenerator-interface]]
+
+===== The CacheKeyGenerator Interface
+
+The built-in default CacheHelper implementation allows web applications
+to customize the key generation. An application component (in a servlet
+or JSP) can set up a custom CacheKeyGenerator implementation as an
+attribute in the `ServletContext`.
+
+The name of the context attribute is configurable as the `value` of the
+`cacheKeyGeneratorAttrName` property in the `default-helper` element of
+the `glassfish-web.xml` deployment descriptor. For more information, see
+"link:application-deployment-guide/dd-elements.html#GSDPG00136[default-helper]" in {productName} Application Deployment Guide.
+
+[[beagr]][[GSDVG00398]][[about-the-servlet-engine]]
+
+==== About the Servlet Engine
+
+Servlets exist in and are managed by the servlet engine in the {productName}. The servlet engine is an internal object that handles all
+servlet meta functions. These functions include instantiation,
+initialization, destruction, access from other components, and
+configuration management.
+
+The following topics are addressed here:
+
+* link:#beags[Instantiating and Removing Servlets]
+* link:#beagt[Request Handling]
+
+[[beags]][[GSDVG00255]][[instantiating-and-removing-servlets]]
+
+===== Instantiating and Removing Servlets
+
+After the servlet engine instantiates the servlet, the servlet engine
+calls the servlet's `init` method to perform any necessary
+initialization. You can override this method to perform an
+initialization function for the servlet's life, such as initializing a
+counter.
+
+When a servlet is removed from service, the servlet engine calls the
+`destroy` method in the servlet so that the servlet can perform any
+final tasks and deallocate resources. You can override this method to
+write log messages or clean up any lingering connections that won't be
+caught in garbage collection.
+
+[[beagt]][[GSDVG00256]][[request-handling]]
+
+===== Request Handling
+
+When a request is made, the {productName} hands the incoming data to
+the servlet engine. The servlet engine processes the request's input
+data, such as form data, cookies, session information, and URL
+name-value pairs, into an `HttpServletRequest` request object type.
+
+The servlet engine also creates an `HttpServletResponse` response object
+type. The engine then passes both as parameters to the servlet's
+`service` method.
+
+In an HTTP servlet, the default `service` method routes requests to
+another method based on the HTTP transfer method: `POST`, `GET`,
+`DELETE`, `HEAD`, `OPTIONS`, `PUT`, or `TRACE`. For example, HTTP `POST`
+requests are sent to the `doPost` method, HTTP `GET` requests are sent
+to the `doGet` method, and so on. This enables the servlet to process
+request data differently, depending on which transfer method is used.
+Since the routing takes place in the service method, you generally do
+not override `service` in an HTTP servlet. Instead, override `doGet`,
+`doPost`, and so on, depending on the request type you expect.
+
+To perform the tasks to answer a request, override the `service` method
+for generic servlets, and the `doGet` or `doPost` methods for HTTP
+servlets. Very often, this means accessing EJB components to perform
+business transactions, then collating the information in the request
+object or in a JDBC `ResultSet` object.
+
+[[beagu]][[GSDVG00141]][[using-javaserver-pages]]
+
+=== Using JavaServer Pages
+
+The {productName} supports the following JSP features:
+
+* JavaServer Pages (JSP) Specification
+* Precompilation of JSP files, which is especially useful for production
+servers
+* JSP tag libraries and standard portable tags
+
+For information about creating JSP files, see the JavaServer Pages web
+site at `http://www.oracle.com/technetwork/java/javaee/jsp/index.html`.
+
+For information about Java Beans, see the JavaBeans web page at
+`http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138795.html`.
+
+This section describes how to use JavaServer Pages (JSP files) as page
+templates in a {productName} web application.
+
+The following topics are addressed here:
+
+* link:#beagv[JSP Tag Libraries and Standard Portable Tags]
+* link:#beagw[JSP Caching]
+* link:#beagz[Options for Compiling JSP Files]
+
+[[beagv]][[GSDVG00399]][[jsp-tag-libraries-and-standard-portable-tags]]
+
+==== JSP Tag Libraries and Standard Portable Tags
+
+{productName} supports tag libraries and standard portable tags. For
+more information, see the JavaServer Pages Standard Tag Library (JSTL)
+page at `http://www.oracle.com/technetwork/java/index-jsp-135995.html`.
+
+Web applications don't need to bundle copies of the `jsf-impl.jar` or
+`appserv-jstl.jar` JSP tag libraries (in as-install``/lib``) to use
+JavaServer Faces technology or JSTL, respectively. These tag libraries
+are automatically available to all web applications.
+
+However, the as-install``/lib/jspcachtags.jar`` tag library for JSP
+caching is not automatically available to web applications. See
+link:#beagw[JSP Caching], next.
+
+[[beagw]][[GSDVG00400]][[jsp-caching]]
+
+==== JSP Caching
+
+JSP caching lets you cache tag invocation results within the Java
+engine. Each can be cached using different cache criteria. For example,
+suppose you have invocations to view stock quotes, weather information,
+and so on. The stock quote result can be cached for 10 minutes, the
+weather report result for 30 minutes, and so on.
+
+The following topics are addressed here:
+
+* link:#gaxbq[Enabling JSP Caching]
+* link:#gaxcr[Caching Scope]
+* link:#beagx[The `cache` Tag]
+* link:#beagy[The `flush` Tag]
+
+For more information about response caching as it pertains to servlets,
+see link:#beagm[Caching Servlet Results].
+
+[[gaxbq]][[GSDVG00257]][[enabling-jsp-caching]]
+
+===== Enabling JSP Caching
+
+To globally enable JSP caching, set the `jspCachingEnabled` property to
+`true`. The default is `false`. For example:
+
+[source]
+----
+asadmin set server-config.web-container.property.jspCachingEnabled="true"
+----
+
+For more information about the `asadmin set` command, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+To enable JSP caching for a single web application, follow these steps:
+
+1. Extract the `META-INF/jspcachtags.tld` file from the
+as-install``/modules/web-glue.jar`` file.
+2. Create a new JAR file (for example, `jspcachtags.jar`) containing
+just the `META-INF/jspcachtags.tld` file previously extracted.
+3. Bundle this new JAR file in the `WEB-INF/lib` directory of your web
+application.
+
+
+[NOTE]
+====
+Web applications that use JSP caching without bundling the tag library
+are not portable.
+====
+
+
+Refer to {productName} tags in JSP files as follows:
+
+[source,xml]
+----
+<%@ taglib prefix="prefix" uri="http://glassfish.org/taglibs/cache" %>
+----
+
+Subsequently, the cache tags are available as `<`prefix`:cache>` and
+`<`prefix`:flush>`. For example, if your prefix is `mypfx`, the cache
+tags are available as `<mypfx:cache>` and `<mypfx:flush>`.
+
+[[gaxcr]][[GSDVG00258]][[caching-scope]]
+
+===== Caching Scope
+
+JSP caching is available in three different scopes: `request`,
+`session`, and `application`. The default is `application`. To use a
+cache in `request` scope, a web application must specify the
+`com.sun.appserv.web.taglibs.cache.CacheRequestListener` in its
+`web.xml` deployment descriptor, as follows:
+
+[source,xml]
+----
+<listener>
+   <listener-class>
+      com.sun.appserv.web.taglibs.cache.CacheRequestListener
+   </listener-class>
+</listener>
+----
+
+Likewise, for a web application to utilize a cache in `session` scope,
+it must specify the
+`com.sun.appserv.web.taglibs.cache.CacheSessionListener` in its
+`web.xml` deployment descriptor, as follows:
+
+[source,xml]
+----
+<listener>
+   <listener-class>
+      com.sun.appserv.web.taglibs.cache.CacheSessionListener
+   </listener-class>
+</listener>
+----
+
+To utilize a cache in `application` scope, a web application need not
+specify any listener. The
+`com.sun.appserv.web.taglibs.cache.CacheContextListener` is already
+specified in the `jspcachtags.tld` file.
+
+[[beagx]][[GSDVG00259]][[the-cache-tag]]
+
+===== The `cache` Tag
+
+The cache tag caches the body between the beginning and ending tags
+according to the attributes specified. The first time the tag is
+encountered, the body content is executed and cached. Each subsequent
+time it is run, the cached content is checked to see if it needs to be
+refreshed and if so, it is executed again, and the cached data is
+refreshed. Otherwise, the cached data is served.
+
+[[fvyfx]][[GSDVG00023]][[attributes-of-cache]]
+
+Attributes of `cache`
+
+The following table describes attributes for the `cache` tag.
+
+[[GSDVG541]][[sthref13]][[fvygg]]
+
+
+Table 7-1 The `cache` Attributes
+
+[width="100%",cols="10%,16%,74%",options="header",]
+|===
+|Attribute |Default |Description
+|`key` |ServletPath`_`Suffix |(optional) The name used by the container
+to access the cached entry. The cache key is suffixed to the servlet
+path to generate a key to access the cached entry. If no key is
+specified, a number is generated according to the position of the tag in
+the page.
+
+|`timeout` |`60s` |(optional) The time in seconds after which the body
+of the tag is executed and the cache is refreshed. By default, this
+value is interpreted in seconds. To specify a different unit of time,
+add a suffix to the timeout value as follows: `s` for seconds, `m` for
+minutes, `h` for hours, `d` for days. For example, `2h` specifies two
+hours.
+
+|`nocache` |`false` |(optional) If set to `true`, the body content is
+executed and served as if there were no `cache` tag. This offers a way
+to programmatically decide whether the cached response is sent or
+whether the body has to be executed, though the response is not cached.
+
+|`refresh` |`false` |(optional) If set to `true`, the body content is
+executed and the response is cached again. This lets you
+programmatically refresh the cache immediately regardless of the
+`timeout` setting.
+
+|`scope` |`application` |(optional) The scope of the cache. Can be
+`request`, `session`, or `application`. See link:#gaxcr[Caching Scope].
+|===
+
+
+[[fvyeh]][[GSDVG00024]][[example-of-cache]]
+
+Example of `cache`
+
+The following example represents a cached JSP file:
+
+[source,xml]
+----
+<%@ taglib prefix="mypfx" uri="http://glassfish.org/taglibs/cache" %>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<mypfx:cache                 key="${sessionScope.loginId}"
+            nocache="${param.nocache}"
+            refresh="${param.refresh}"
+            timeout="10m">
+<c:choose>
+    <c:when test="${param.page == 'frontPage'}">
+        <%-- get headlines from database --%>
+    </c:when>
+    <c:otherwise>
+        ...
+    </c:otherwise>
+</c:choose>
+</mypfx:cache>
+<mypfx:cache timeout="1h">
+<h2> Local News </h2>
+    <%-- get the headline news and cache them --%>
+</mypfx:cache>
+----
+
+[[beagy]][[GSDVG00260]][[the-flush-tag]]
+
+===== The `flush` Tag
+
+Forces the cache to be flushed. If a `key` is specified, only the entry
+with that key is flushed. If no key is specified, the entire cache is
+flushed.
+
+[[fvykp]][[GSDVG00025]][[attributes-of-flush]]
+
+Attributes of `flush`
+
+The following table describes attributes for the `flush` tag.
+
+[[GSDVG542]][[sthref14]][[fvyep]]
+
+
+Table 7-2 The `flush` Attributes
+
+[width="100%",cols="11%,20%,69%",options="header",]
+|===
+|Attribute |Default |Description
+|`key` |ServletPath`_`Suffix |(optional) The name used by the container
+to access the cached entry. The cache key is suffixed to the servlet
+path to generate a key to access the cached entry. If no key is
+specified, a number is generated according to the position of the tag in
+the page.
+
+|`scope` |`application` |(optional) The scope of the cache. Can be
+`request`, `session`, or `application`. See link:#gaxcr[Caching Scope].
+|===
+
+
+[[fvyle]][[GSDVG00026]][[examples-of-flush]]
+
+Examples of `flush`
+
+To flush the entry with `key="foobar"`:
+
+[source,xml]
+----
+<mypfx:flush key="foobar"/>
+----
+
+To flush the entire cache:
+
+[source,xml]
+----
+<c:if test="${empty sessionScope.clearCache}">
+   <mypfx:flush />
+</c:if>
+----
+
+[[beagz]][[GSDVG00401]][[options-for-compiling-jsp-files]]
+
+==== Options for Compiling JSP Files
+
+{productName} provides the following ways of compiling JSP source
+files into servlets:
+
+* JSP files are automatically compiled at runtime.
+* The `asadmin deploy` command has a `--precompilejsp` option. For
+details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+* The `jspc` command line tool allows you to precompile JSP files at the
+command line. For details, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[beaha]][[GSDVG00142]][[creating-and-managing-sessions]]
+
+=== Creating and Managing Sessions
+
+This section describes how to create and manage HTTP sessions that
+allows users and transaction information to persist between
+interactions.
+
+The following topics are addressed here:
+
+* link:#beahb[Configuring Sessions]
+* link:#beahf[Session Managers]
+
+[[beahb]][[GSDVG00402]][[configuring-sessions]]
+
+==== Configuring Sessions
+
+The following topics are addressed here:
+
+* link:#beahc[HTTP Sessions, Cookies, and URL Rewriting]
+* link:#beahd[Coordinating Session Access]
+* link:#ghmih[Saving Sessions During Redeployment]
+* link:#gixeb[Logging Session Attributes]
+* link:#beahe[Distributed Sessions and Persistence]
+
+[[beahc]][[GSDVG00261]][[http-sessions-cookies-and-url-rewriting]]
+
+===== HTTP Sessions, Cookies, and URL Rewriting
+
+To configure whether and how HTTP sessions use cookies and URL
+rewriting, edit the `session-properties` and `cookie-properties`
+elements in the `glassfish-web.xml` file for an individual web
+application. For more about the properties you can configure, see
+"link:application-deployment-guide/dd-elements.html#GSDPG00276[session-properties]" in {productName} Application Deployment Guide and
+"link:application-deployment-guide/dd-elements.html#GSDPG00130[cookie-properties]" in {productName} Application Deployment Guide.
+
+For information about configuring default session properties for the
+entire web container, see link:#beagc[Using the `default-web.xml` File]
+and the link:ha-administration-guide.html#GSHAG[{productName} High
+Availability Administration Guide].
+
+[[beahd]][[GSDVG00262]][[coordinating-session-access]]
+
+===== Coordinating Session Access
+
+Make sure that multiple threads don't simultaneously modify the same
+session object in conflicting ways. If the persistence type is
+`replicated` (see link:#gdshu[The `replicated` Persistence Type]), the
+following message in the log file indicates that this might be
+happening:
+
+[source]
+----
+Primary Key Constraint violation while saving session session_id
+----
+
+This is especially likely to occur in web applications that use HTML
+frames where multiple servlets are executing simultaneously on behalf of
+the same client. A good solution is to ensure that one of the servlets
+modifies the session and the others have read-only access.
+
+[[ghmih]][[GSDVG00263]][[saving-sessions-during-redeployment]]
+
+===== Saving Sessions During Redeployment
+
+Whenever a redeployment is done, the sessions at that transit time
+become invalid unless you use the `--keepstate=true` option of the
+`asadmin redeploy` command. For example:
+
+[source]
+----
+asadmin redeploy --keepstate=true --name hello.war
+----
+
+For details, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual].
+
+The default for `--keepstate` is false. This option is supported only on
+the default server instance, named `server`. It is not supported and
+ignored for any other target.
+
+For web applications, this feature is applicable only if in the
+`glassfish-web-app.xml` file the `persistence-type` attribute of the
+`session-manager` element is `file`.
+
+If any active web session fails to be preserved or restored, none of the
+sessions will be available when the redeployment is complete. However,
+the redeployment continues and a warning is logged.
+
+The new class loader of the redeployed application is used to
+deserialize any sessions previously saved. The usual restrictions about
+serialization and deserialization apply. For example, any
+application-specific class referenced by a session attribute may evolve
+only in a backward-compatible fashion. For more information about class
+loaders, see link:class-loaders.html#beade[Class Loaders].
+
+[[gixeb]][[GSDVG00264]][[logging-session-attributes]]
+
+===== Logging Session Attributes
+
+You can write session attribute values to an access log. The access log
+format token ``%session.``name``%`` logs one of the following:
+
+* The value of the session attribute with the name name
+* ``NULL-SESSION-ATTRIBUTE-``name if the named attribute does not exist in the session
+* `NULL-SESSION` if no session exists
+
+For more information about access logging and format tokens, see online
+help for the Access Log tab of the HTTP Service page in the
+Administration Console.
+
+[[beahe]][[GSDVG00265]][[distributed-sessions-and-persistence]]
+
+===== Distributed Sessions and Persistence
+
+A distributed HTTP session can run in multiple {productName}
+instances, provided the following criteria are met:
+
+* Each server instance has the same distributable web application
+deployed to it. The `web-app` element of the `web.xml` deployment
+descriptor file must have the `distributable` subelement specified.
+* The web application uses high-availability session persistence. If a
+non-distributable web application is configured to use high-availability
+session persistence, a warning is written to the server log, and the
+session persistence type reverts to `memory`. See link:#gdshu[The
+`replicated` Persistence Type].
+* All objects bound into a distributed session must be of the types
+listed in link:#fvyem[Table 7-3].
+* The web application must be deployed using the `deploy` or `deploydir`
+command with the `--availabilityenabled` option set to `true`. See the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+
+[NOTE]
+====
+Contrary to the Servlet 5.0 specification, {productName} does not
+throw an `IllegalArgumentException` if an object type not supported for
+failover is bound into a distributed session.
+
+Keep the distributed session size as small as possible. Session size has
+a direct impact on overall system throughput.
+====
+
+
+In the event of an instance or hardware failure, another server instance
+can take over a distributed session, with the following limitations:
+
+* If a distributable web application references a Jakarta EE component or
+resource, the reference might be lost. See link:#fvyem[Table 7-3] for a
+list of the types of references that `HTTPSession` failover supports.
+* References to open files or network connections are lost.
+
+For information about how to work around these limitations, see the
+link:deployment-planning-guide.html#GSPLG[{productName} Deployment Planning
+Guide].
+
+In the following table, No indicates that failover for the object type
+might not work in all cases and that no failover support is provided.
+However, failover might work in some cases for that object type. For
+example, failover might work because the class implementing that type is
+serializable.
+
+For more information about the `InitialContext`, see
+link:jndi.html#beans[Accessing the Naming Context]. For more information
+about transaction recovery, see link:transaction-service.html#beanm[Using
+the Transaction Service]. For more information about Administered
+Objects, see "link:administration-guide/jms.html#GSADG00599[Administering JMS Physical Destinations]"
+in {productName} Administration Guide.
+
+[[GSDVG543]][[sthref15]][[fvyem]]
+
+
+Table 7-3 Object Types Supported for Jakarta EE Web Application Session
+State Failover
+
+[width="100%",cols="45%,55%",options="header",]
+|===
+|Java Object Type |Failover Support
+|Colocated or distributed stateless session, stateful session, or entity
+bean reference |Yes
+
+|JNDI context |Yes, `InitialContext` and `java:comp/env`
+
+|UserTransaction |Yes, but if the instance that fails is never
+restarted, any prepared global transactions are lost and might not be
+correctly rolled back or committed.
+
+|JDBC DataSource |No
+
+|Java Message Service (JMS) ConnectionFactory, Destination |No
+
+|JavaMail Session |No
+
+|Connection Factory |No
+
+|Administered Object |No
+
+|Web service reference |No
+
+|Serializable Java types |Yes
+
+|Extended persistence context |No
+|===
+
+
+[[beahf]][[GSDVG00403]][[session-managers]]
+
+==== Session Managers
+
+A session manager automatically creates new session objects whenever a
+new session starts. In some circumstances, clients do not join the
+session, for example, if the session manager uses cookies and the client
+does not accept cookies.
+
+{productName} offers these session management options, determined by
+the `session-manager` element's `persistence-type` attribute in the
+`glassfish-web.xml` file:
+
+* link:#beahg[The `memory` Persistence Type], the default
+* link:#beahh[The `file` Persistence Type], which uses a file to store
+session data
+* link:#gdshu[The `replicated` Persistence Type], which uses other
+servers in the cluster for session persistence
+
+
+[NOTE]
+====
+If the session manager configuration contains an error, the error is
+written to the server log and the default (`memory`) configuration is
+used.
+====
+
+
+For more information, see "link:application-deployment-guide/dd-elements.html#GSDPG00275[session-manager]" in
+{productName} Application Deployment Guide.
+
+[[beahg]][[GSDVG00266]][[the-memory-persistence-type]]
+
+===== The `memory` Persistence Type
+
+This persistence type is not designed for a production environment that
+requires session persistence. It provides no session persistence.
+However, you can configure it so that the session state in memory is
+written to the file system prior to server shutdown.
+
+To specify the `memory` persistence type for a specific web application,
+edit the `glassfish-web.xml` file as in the following example. The
+`persistence-type` attribute is optional, but must be set to `memory` if
+included. This overrides the web container availability settings for the
+web application.
+
+[source,xml]
+----
+<glassfish-web-app>
+...
+
+<session-config>
+    <session-manager persistence-type="memory" />
+        <manager-properties>
+            <property name="sessionFilename" value="sessionstate" />
+        </manager-properties>
+    </session-manager>
+    ...
+</session-config>
+...
+</glassfish-web-app>
+----
+
+The only manager property that the `memory` persistence type supports is
+`sessionFilename`, which is listed under
+"link:application-deployment-guide/dd-elements.html#GSDPG00192[manager-properties]" in {productName} Application Deployment Guide. The `sessionFilename` property
+specifies the name of the file where sessions are serialized and
+persisted if the web application or the server is stopped. To disable
+this behavior, specify an empty string as the value of
+`sessionFilename`. The default value is an empty string.
+
+For more information about the `glassfish-web.xml` file, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide].
+
+[[beahh]][[GSDVG00267]][[the-file-persistence-type]]
+
+===== The `file` Persistence Type
+
+This persistence type provides session persistence to the local file
+system, and allows a single server domain to recover the session state
+after a failure and restart. The session state is persisted in the
+background, and the rate at which this occurs is configurable. The store
+also provides passivation and activation of the session state to help
+control the amount of memory used. This option is not supported in a
+production environment. However, it is useful for a development system
+with a single server instance.
+
+
+[NOTE]
+====
+Make sure the `delete` option is set in the `server.policy` file, or
+expired file-based sessions might not be deleted properly. For more
+information about `server.policy`, see link:securing-apps.html#beabx[The
+`server.policy` File].
+====
+
+
+To specify the `file` persistence type for a specific web application,
+edit the `glassfish-web.xml` file as in the following example. Note that
+`persistence-type` must be set to `file`. This overrides the web
+container availability settings for the web application.
+
+[source,xml]
+----
+<glassfish-web-app>
+...
+<session-config>
+    <session-manager persistence-type="file">
+        <store-properties>
+            <property name="directory" value="sessiondir" />
+        </store-properties>
+    </session-manager>
+    ...
+</session-config>
+...
+</glassfish-web-app>
+----
+
+The `file` persistence type supports all the manager properties listed
+under "link:application-deployment-guide/dd-elements.html#GSDPG00192[manager-properties]" in {productName} Application Deployment Guide except `sessionFilename`,
+and supports the `directory` store property listed under
+"link:application-deployment-guide/dd-elements.html#GSDPG00279[store-properties]" in {productName} Application Deployment Guide.
+
+For more information about the `glassfish-web.xml` file, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide].
+
+[[gdshu]][[GSDVG00268]][[the-replicated-persistence-type]]
+
+===== The `replicated` Persistence Type
+
+The replicated persistence type uses other servers in the cluster for
+session persistence. Clustered server instances replicate session state.
+Each backup instance stores the replicated data in memory. This allows
+sessions to be distributed. For details, see link:#beahe[Distributed
+Sessions and Persistence]. In addition, you can configure the frequency
+and scope of session persistence. The other servers are also used as the
+passivation and activation store. Use this option in a production
+environment that requires session persistence.
+
+To use the replicated persistence type, you must enable availability.
+Select the Availability Service component under the relevant
+configuration in the Administration Console. Check the Availability
+Service box. To enable availability for the web container, select the
+Web Container Availability tab, then check the Availability Service box.
+All instances in an {productName} cluster should have the same
+availability settings to ensure consistent behavior. For details, see
+the link:ha-administration-guide.html#GSHAG[{productName} High Availability
+Administration Guide].
+
+To change settings such as persistence frequency and persistence scope
+for the entire web container, use the Persistence Frequency and
+Persistence Scope drop-down lists on the Web Container Availability tab
+in the Administration Console, or use the `asadmin set` command. For
+example:
+
+[source]
+----
+asadmin set
+server-config.availability-service.web-container-availability.persistence-frequency=time-based
+----
+
+For more information, see the description of the `asadmin set` command
+in the link:reference-manual.html#GSRFM[{productName} Reference
+Manual].
+
+To specify the `replicated` persistence type for a specific web
+application, edit the `glassfish-web.xml` file as in the following
+example. Note that `persistence-type` must be set to `replicated`. This
+overrides the web container availability settings for the web
+application.
+
+[source,xml]
+----
+<glassfish-web-app>
+...
+<session-config>
+    <session-manager persistence-type="replicated">
+        <manager-properties>
+            <property name="persistenceFrequency" value="web-method" />
+        </manager-properties>
+        <store-properties>
+            <property name="persistenceScope" value="session" />
+        </store-properties>
+    </session-manager>
+    ...
+</session-config>
+...
+</glassfish-web-app>
+----
+
+The `replicated` persistence type supports all the manager properties
+listed under "link:application-deployment-guide/dd-elements.html#GSDPG00192[manager-properties]" in {productName} Application Deployment Guide except
+`sessionFilename`, and supports the `persistenceScope` store property
+listed under "link:application-deployment-guide/dd-elements.html#GSDPG00279[store-properties]" in {productName} Application Deployment Guide.
+
+For more information about the `glassfish-web.xml` file, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide].
+
+To specify that web sessions for which high availability is enabled are
+first buffered and then replicated using a separate asynchronous thread,
+use the `--asyncreplication=true` option of the `asadmin deploy`
+command. For example:
+
+[source]
+----
+asadmin deploy --availabilityenabled=true --asyncreplication=true --name hello.war
+----
+
+If `--asyncreplication` is set to true (the default), performance is
+improved but availability is reduced. If the instance where states are
+buffered but not yet replicated fails, the states are lost. If set to
+false, performance is reduced but availability is guaranteed. States are
+not buffered but immediately transmitted to other instances in the
+cluster.
+
+[[ggrgt]][[GSDVG00143]][[using-comet]]
+
+=== Using Comet
+
+This section explains the Comet programming technique and how to create
+and deploy a Comet-enabled application with the {productName}.
+
+The following topics are addressed here:
+
+* link:#ggrgy[Introduction to Comet]
+* link:#ghgxk[Grizzly Comet]
+* link:#ghgxn[Bayeux Protocol]
+
+[[ggrgy]][[GSDVG00404]][[introduction-to-comet]]
+
+==== Introduction to Comet
+
+Comet is a programming technique that allows a web server to send
+updates to clients without requiring the clients to explicitly request
+them.
+
+This kind of programming technique is called server push, which means
+that the server pushes data to the client. The opposite style is client
+pull, which means that the client must pull the data from the server,
+usually through a user-initiated event, such as a button click.
+
+Web applications that use the Comet technique can deliver updates to
+clients in a more timely manner than those that use the client-pull
+style while avoiding the latency that results from clients frequently
+polling the server.
+
+One of the many use cases for Comet is a chat room application. When the
+server receives a message from one of the chat clients, it needs to send
+the message to the other clients without requiring them to ask for it.
+With Comet, the server can deliver messages to the clients as they are
+posted rather than expecting the clients to poll the server for new
+messages.
+
+To accomplish this scenario, a Comet application establishes a
+long-lived HTTP connection. This connection is suspended on the server
+side, waiting for an event to happen before resuming. This kind of
+connection remains open, allowing an application that uses the Comet
+technique to send updates to clients when they are available rather than
+expecting clients to reopen the connection to poll the server for
+updates.
+
+[[ggrib]][[GSDVG00270]][[the-grizzly-implementation-of-comet]]
+
+===== The Grizzly Implementation of Comet
+
+A limitation of the Comet technique is that you must use it with a web
+server that supports non-blocking connections to avoid poor performance.
+Non-blocking connections are those that do not need to allocate one
+thread for each request. If the web server were to use blocking
+connections then it might end up holding many thousands of threads,
+thereby hindering its scalability.
+
+The {productName} includes the Grizzly HTTP Engine, which enables
+asynchronous request processing (ARP) by avoiding blocking connections.
+Grizzly's ARP implementation accomplishes this by using the Java NIO
+API.
+
+With Java NIO, Grizzly enables greater performance and scalability by
+avoiding the limitations experienced by traditional web servers that
+must run a thread for each request. Instead, Grizzly's ARP mechanism
+makes efficient use of a thread pool system and also keeps the state of
+requests so that it can keep requests alive without holding a single
+thread for each of them.
+
+Grizzly supports two different implementations of Comet:
+
+* link:#ghgxk[Grizzly Comet] — Based on ARP, this includes a set of APIs
+that you use from a web component to enable Comet functionality in your
+web application. Grizzly Comet is specific to the {productName}.
+* link:#ghgxn[Bayeux Protocol] — Often referred to as `Cometd`, it
+consists of the JSON-based Bayeux message protocol, a set of Dojo or
+Ajax libraries, and an event handler. The Bayeux protocol uses a
+publish/subscribe model for server/client communication. The Bayeux
+protocol is portable, but it is container dependent if you want to
+invoke it from an Enterprise Java Beans (EJB ) component. The Grizzly
+implementation of `Cometd` consists of a servlet that you reference from
+your web application.
+
+[[ggrim]][[GSDVG00271]][[client-technologies-to-use-with-comet]]
+
+===== Client Technologies to Use With Comet
+
+In addition to creating a web component that uses the Comet APIs, you
+need to enable your client to accept asynchronous updates from the web
+component. To accomplish this, you can use JavaScript, IFrames, or a
+framework, such as http://dojotoolkit.org[Dojo]
+(`http://dojotoolkit.org`).
+
+An IFrame is an HTML element that allows you to include other content in
+an HTML page. As a result, the client can embed updated content in the
+IFrame without having to reload the page.
+
+The example in this tutorial employs a combination of JavaScript and
+IFrames to allow the client to accept asynchronous updates. A servlet
+included in the example writes out JavaScript code to one of the
+IFrames. The JavaScript code contains the updated content and invokes a
+function in the page that updates the appropriate elements in the page
+with the new content.
+
+The next section explains the two kinds of connections that you can make
+to the server. While you can use any of the client technologies listed
+in this section with either kind of connection, it is more difficult to
+use JavaScript with an HTTP-streaming connection.
+
+[[ggrgo]][[GSDVG00272]][[types-of-comet-connections]]
+
+===== Types of Comet Connections
+
+When working with Comet, as implemented in Grizzly, you have two
+different ways to handle client connections to the server:
+
+* HTTP Streaming
+* Long Polling
+
+[[ggriu]][[GSDVG00027]][[http-streaming]]
+
+HTTP Streaming
+
+The HTTP Streaming technique keeps a connection open indefinitely. It
+never closes, even after the server pushes data to the client.
+
+In the case of HTTP streaming, the application sends a single request
+and receives responses as they come, reusing the same connection
+forever. This technique significantly reduces the network latency
+because the client and the server don't need to open and close the
+connection.
+
+The basic life cycle of an application using HTTP-streaming is:
+
+request > suspend > data available > write response > data available >
+write response
+
+The client makes an initial request and then suspends the request,
+meaning that it waits for a response. Whenever data is available, the
+server writes it to the response.
+
+[[ggrhv]][[GSDVG00028]][[long-polling]]
+
+Long Polling
+
+The long-polling technique is a combination of server-push and
+client-pull because the client needs to resume the connection after a
+certain amount of time or after the server pushes an update to the
+client.
+
+The basic life cycle of an application using long-polling is:
+
+request > suspend > data available > write response > resume
+
+The client makes an initial request and then suspends the request. When
+an update is available, the server writes it to the response. The
+connection closes, and the client optionally resumes the connection.
+
+[[ggtjb]][[GSDVG00029]][[how-to-choose-the-type-of-connection]]
+
+How to Choose the Type of Connection
+
+If you anticipate that your web application will need to send frequent
+updates to the client, you should use the HTTP-streaming connection so
+that the client does not have to frequently reestablish a connection. If
+you anticipate less frequent updates, you should use the long-polling
+connection so that the web server does not need to keep a connection
+open when no updates are occurring. One caveat to using the
+HTTP-streaming connection is that if you are streaming through a proxy,
+the proxy can buffer the response from the server. So, be sure to test
+your application if you plan to use HTTP-streaming behind a proxy.
+
+[[ghgxk]][[GSDVG00405]][[grizzly-comet]]
+
+==== Grizzly Comet
+
+For details on using Grizzly Comet including a sample application, refer
+to the https://eclipse-ee4j.github.io/grizzly/comet.html[Grizzly Comet documentation].
+
+Grizzly's support for Comet includes a small set of APIs that make it
+easy to add Comet functionality to your web applications. The Grizzly
+Comet APIs that developers use most often are the following:
+
+* `CometContext`: A Comet context, which is a shareable space to which
+applications subscribe to receive updates.
+* `CometEngine`: The entry point to any component using Comet.
+Components can be servlets, JavaServer Pages ( JSP), JavaServer Faces
+components, or pure Java classes.
+* `CometEvent`: Contains the state of the `CometContext` object
+* `CometHandler`: The interface an application implements to be part of
+one or more Comet contexts.
+
+The way a developer would use this API in a web component is to perform
+the following tasks:
+
+1. Register the context path of the application with the `CometContext`
+object:
++
+[source,java]
+----
+CometEngine cometEngine = CometEngine.getEngine();
+CometContext cometContext = cometEngine.register(contextPath)
+----
+2. Register the CometHandler implementation with the `CometContext`
+object:
++
+[source,java]
+----
+cometContext.addCometHandler(handler)
+----
+3. Notify one or more CometHandler implementations when an event
+happens:
++
+[source,java]
+----
+cometContext.notify((Object)(handler))
+----
+
+[[ghgxn]][[GSDVG00406]][[bayeux-protocol]]
+
+==== Bayeux Protocol
+
+The Bayeux protocol, often referred to as `Cometd`, greatly simplifies
+the use of Comet. No server-side coding is needed for servers such as
+{productName} that support the Bayeux protocol. Just enable Comet and
+the Bayeux protocol, then write and deploy the client.
+
+The following topics are addressed here:
+
+* link:#ghhaw[Enabling Comet]
+* link:#ghhap[To Configure the `web.xml` File]
+* link:#ghhtv[To Write, Deploy, and Run the Client]
+
+[[ghhaw]][[GSDVG00280]][[enabling-comet]]
+
+===== Enabling Comet
+
+Before running a Comet-enabled application, you need to enable Comet in
+the HTTP listener for your application by setting a special attribute in
+the associated protocol configuration. The following example shows the
+`asadmin set` command that adds this attribute:
+
+[source]
+----
+asadmin set server-config.network-config.protocols.protocol.http-1.http.comet-support-enabled="true"
+----
+
+Substitute the name of the protocol for `http-1`.
+
+[[ghhap]][[GSDVG00067]][[to-configure-the-web.xml-file]]
+
+===== To Configure the `web.xml` File
+
+To enable the Bayeux protocol on the {productName}, you must
+reference the `CometdServlet` in your web application's `web.xml` file.
+In addition, if your web application includes a servlet, set the
+`load-on-startup` value for your servlet to `0` (zero) so that it will
+not load until the client makes a request to it.
+
+1. Open the `web.xml` file for your web application in a text editor.
+2. Add the following XML code to the `web.xml` file:
++
+[source,xml]
+----
+<servlet>
+   <servlet-name>Grizzly Cometd Servlet</servlet-name>
+   <servlet-class>
+      com.sun.grizzly.cometd.servlet.CometdServlet
+   </servlet-class>
+   <init-param>
+      <description>
+         expirationDelay is the long delay before a request is
+         resumed. -1 means never.
+      </description>
+      <param-name>expirationDelay</param-name>
+      <param-value>-1</param-value>
+   </init-param>
+   <load-on-startup>1</load-on-startup>
+</servlet>
+<servlet-mapping>
+   <servlet-name>Grizzly Cometd Servlet</servlet-name>
+   <url-pattern>/cometd/*</url-pattern>
+</servlet-mapping>
+----
+Note that the `load-on-startup` value for the `CometdServlet` is `1`.
+3. If your web application includes a servlet, set the
+`load-on-startup` value to `0` for your servlet (not the
+`CometdServlet`) as follows:
++
+[source,xml]
+----
+<servlet>
+   ...
+   <load-on-startup>0</load-on-startup>
+</servlet>
+----
+4. Save the `web.xml` file.
+
+[[ghhtv]][[GSDVG00068]][[to-write-deploy-and-run-the-client]]
+
+===== To Write, Deploy, and Run the Client
+
+1. Add script tags to the HTML page. For example:
++
+[source,xml]
+----
+<script type="text/javascript" src="chat.js"></script>
+----
+2. In the script, call the needed libraries. For example:
++
+[source]
+----
+dojo.require("dojo.io.cometd");
+----
+3. In the script, use `publish` and `subscribe` methods to send and
+receive messages. For example:
++
+[source]
+----
+cometd.subscribe("/chat/demo", false, room, "_chat");
+cometd.publish("/chat/demo", { user: room._username, chat: text});
+----
+4. Deploy the web application as you would any other web application.
+For example:
++
+[source]
+----
+asadmin deploy cometd-example.war
+----
+5. Run the application as you would any other web application.
++
+The context root for the example chat application is ``/cometd`` and the
+HTML page is `index.html`. So the URL might look like this:
++
+[source]
+----
+http://localhost:8080/cometd/index.html
+----
+
+[[GSDVG544]]
+
+See Also
+
+For more information about deployment in the {productName}, see the
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide].
+
+For more information about the Bayeux protocol, see
+https://docs.cometd.org/current/reference/#_bayeux[Bayeux Protocol]
+(`https://docs.cometd.org/current/reference/#_bayeux`).
+
+For more information about the Dojo toolkit, see
+`http://dojotoolkit.org/`.
+
+[[beaft]][[GSDVG00144]][[advanced-web-application-features]]
+
+=== Advanced Web Application Features
+
+The following topics are addressed here:
+
+* link:#beafu[Internationalization Issues]
+* link:#gilyj[Virtual Server Properties]
+* link:#beagb[Class Loader Delegation]
+* link:#beagc[Using the `default-web.xml` File]
+* link:#beagd[Configuring Logging and Monitoring in the Web Container]
+* link:#beage[Configuring Idempotent URL Requests]
+* link:#beagi[Header Management]
+* link:#geqrh[Configuring Valves and Catalina Listeners]
+* link:#geqpl[Alternate Document Roots]
+* link:#geurd[Using a context.xml File]
+* link:#gezcx[Enabling WebDav]
+* link:#ghepd[Using SSI]
+* link:#ghepi[Using CGI]
+
+[[beafu]][[GSDVG00407]][[internationalization-issues]]
+
+==== Internationalization Issues
+
+The following topics are addressed here:
+
+* link:#beafv[The Server's Default Locale]
+* link:#beafw[Servlet Character Encoding]
+
+[[beafv]][[GSDVG00281]][[the-servers-default-locale]]
+
+===== The Server's Default Locale
+
+To set the default locale of the entire {productName}, which
+determines the locale of the Administration Console, the logs, and so
+on, use the Administration Console. Select the domain component. Then
+type a value in the Locale field. For details, click the Help button in
+the Administration Console.
+
+[[beafw]][[GSDVG00282]][[servlet-character-encoding]]
+
+===== Servlet Character Encoding
+
+This section explains how the {productName} determines the character
+encoding for the servlet request and the servlet response. For encodings
+you can use, see
+`http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html`.
+
+[[beafx]][[GSDVG00031]][[servlet-request]]
+
+Servlet Request
+
+When processing a servlet request, the server uses the following order
+of precedence, first to last, to determine the request character
+encoding:
+
+* The `getCharacterEncoding` method
+* A hidden field in the form, specified by the `form-hint-field`
+attribute of the `parameter-encoding` element in the `glassfish-web.xml`
+file
+* The `default-charset` attribute of the `parameter-encoding` element in
+the `glassfish-web.xml` file
+* The default, which is `ISO-8859-1`
+
+For details about the `parameter-encoding` element, see
+"link:application-deployment-guide/dd-elements.html#GSDPG00218[parameter-encoding]" in {productName} Application Deployment Guide.
+
+[[beafy]][[GSDVG00032]][[servlet-response]]
+
+Servlet Response
+
+When processing a servlet response, the server uses the following order
+of precedence, first to last, to determine the response character
+encoding:
+
+* The `setCharacterEncoding` or `setContentType` method
+* The `setLocale` method
+* The default, which is `ISO-8859-1`
+
+[[gilyj]][[GSDVG00408]][[virtual-server-properties]]
+
+==== Virtual Server Properties
+
+You can set virtual server properties in the following ways:
+
+* You can define virtual server properties using the
+`asadmin create-virtual-server` command. For example:
++
+[source]
+----
+asadmin create-virtual-server --hosts localhost --property authRealm=ldap MyVS
+----
+For details and a complete list of virtual server properties, see
+link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
+* You can define virtual server properties using the `asadmin set`
+command. For example:
++
+[source]
+----
+asadmin set server-config.http-service.virtual-server.MyVS.property.authRealm="ldap"
+----
+For details, see link:reference-manual/set.html#GSRFM00226[`set`(1)].
+* You can define virtual server properties using the Administration
+Console. Select the HTTP Service component under the relevant
+configuration, select Virtual Servers, and select the desired virtual
+server. Select Add Property, enter the property name and value, check
+the enable box, and select Save. For details and a complete list of
+virtual server properties, click the Help button in the Administration
+Console.
+
+Some virtual server properties can be set for a specific web
+application. For details, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in
+{productName} Application Deployment Guide.
+
+[[beagb]][[GSDVG00409]][[class-loader-delegation]]
+
+==== Class Loader Delegation
+
+The Servlet specification recommends that a web application class loader
+look in the local class loader before delegating to its parent. To make
+the web application class loader follow the delegation model in the
+Servlet specification, set `delegate="false"` in the `class-loader`
+element of the `glassfish-web.xml` file. It's safe to do this only for a
+web module that does not interact with any other modules.
+
+The default value is `delegate="true"`, which causes the web application
+class loader to delegate in the same manner as the other class loaders.
+Use `delegate="true"` for a web application that accesses EJB components
+or that acts as a web service client or endpoint. For details about
+`glassfish-web.xml`, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+For a number of packages, including `java.*` and `javax.*`, symbol
+resolution is always delegated to the parent class loader regardless of
+the `delegate` setting. This prevents applications from overriding core
+Java runtime classes or changing the API versions of specifications that
+are part of the Jakarta EE platform.
+
+For general information about class loaders, see
+link:class-loaders.html#beade[Class Loaders].
+
+[[beagc]][[GSDVG00410]][[using-the-default-web.xml-file]]
+
+==== Using the `default-web.xml` File
+
+You can use the `default-web.xml` file to define features such as
+filters and security constraints that apply to all web applications.
+
+For example, directory listings are disabled by default for added
+security. To enable directory listings, in your domain's
+`default-web.xml` file, search for the definition of the servlet whose
+`servlet-name` is equal to `default`, and set the value of the
+`init-param` named `listings` to `true`. Then redeploy your web
+application if it has already been deployed, or restart the server.
+
+[source,xml]
+----
+<init-param>
+   <param-name>listings</param-name>
+   <param-value>true</param-value>
+</init-param>
+----
+
+If `listings` is set to `true`, you can also determine how directory
+listings are sorted. Set the value of the `init-param` named `sortedBy`
+to `NAME`, `SIZE`, or `LAST_MODIFIED`. Then redeploy your web
+application if it has already been deployed, or restart the server.
+
+[source,xml]
+----
+<init-param>
+   <param-name>sortedBy</param-name>
+   <param-value>LAST_MODIFIED</param-value>
+</init-param>
+----
+
+The `mime-mapping` elements in `default-web.xml` are global and
+inherited by all web applications. You can override these mappings or
+define your own using `mime-mapping` elements in your web application's
+`web.xml` file. For more information about `mime-mapping` elements, see
+the Servlet specification.
+
+You can use the Administration Console to edit the `default-web.xml`
+file. For details, click the Help button in the Administration Console.
+As an alternative, you can edit the file directly using the following
+steps.
+
+[[fvymc]][[GSDVG00069]][[to-use-the-default-web.xml-file]]
+
+===== To Use the `default-web.xml` File
+
+1. Place the JAR file for the filter, security constraint, or other
+feature in the domain-dir``/lib`` directory.
+2. Edit the domain-dir``/config/default-web.xml`` file to refer to the
+JAR file.
+3. Restart the server.
+
+[[beagd]][[GSDVG00411]][[configuring-logging-and-monitoring-in-the-web-container]]
+
+==== Configuring Logging and Monitoring in the Web Container
+
+For information about configuring logging and monitoring in the web
+container using the Administration Console, click the Help button in the
+Administration Console. Select Logger Settings under the relevant
+configuration, or select the Stand-Alone Instances component, select the
+instance from the table, and select the Monitor tab.
+
+[[beage]][[GSDVG00412]][[configuring-idempotent-url-requests]]
+
+==== Configuring Idempotent URL Requests
+
+An idempotent request is one that does not cause any change or
+inconsistency in an application when retried. To enhance the
+availability of your applications deployed on an {productName}
+cluster, configure the load balancer to retry failed idempotent HTTP
+requests on all the {productName} instances in a cluster. This option
+can be used for read-only requests, for example, to retry a search
+request.
+
+The following topics are addressed here:
+
+* link:#beagf[Specifying an Idempotent URL]
+* link:#beagg[Characteristics of an Idempotent URL]
+
+[[beagf]][[GSDVG00283]][[specifying-an-idempotent-url]]
+
+===== Specifying an Idempotent URL
+
+To configure idempotent URL response, specify the URLs that can be
+safely retried in `idempotent-url-pattern` elements in the
+`glassfish-web.xml` file. For example:
+
+[source,xml]
+----
+<idempotent-url-pattern url-pattern="sun_java/*" no-of-retries="10"/>
+----
+
+For details, see "link:application-deployment-guide/dd-elements.html#GSDPG00164[idempotent-url-pattern]" in {productName} Application Deployment Guide.
+
+If none of the server instances can successfully serve the request, an
+error page is returned.
+
+[[beagg]][[GSDVG00284]][[characteristics-of-an-idempotent-url]]
+
+===== Characteristics of an Idempotent URL
+
+Since all requests for a given session are sent to the same application
+server instance, and if that {productName} instance is unreachable,
+the load balancer returns an error message. Normally, the request is not
+retried on another {productName} instance. However, if the URL
+pattern matches that specified in the `glassfish-web.xml` file, the
+request is implicitly retried on another {productName} instance in
+the cluster.
+
+In HTTP, some methods (such as GET) are idempotent, while other methods
+(such as POST) are not. In effect, retrying an idempotent URL should not
+cause values to change on the server or in the database. The only
+difference should be a change in the response received by the user.
+
+Examples of idempotent requests include search engine queries and
+database queries. The underlying principle is that the retry does not
+cause an update or modification of data.
+
+A search engine, for example, sends HTTP requests with the same URL
+pattern to the load balancer. Specifying the URL pattern of the search
+request to the load balancer ensures that HTTP requests with the
+specified URL pattern are implicitly retried on another {productName}
+instance.
+
+For example, if the request URL sent to the {productName} is of the
+type ``/search/``something``.html``, then the URL pattern can be specified
+as ``/search/*``.
+
+Examples of non-idempotent requests include banking transactions and
+online shopping. If you retry such requests, money might be transferred
+twice from your account.
+
+[[beagi]][[GSDVG00413]][[header-management]]
+
+==== Header Management
+
+In all Editions of the {productName}, the `Enumeration` from
+`request.getHeaders()` contains multiple elements (one element per
+request header) instead of a single, aggregated value.
+
+The header names used in ``HttpServletResponse.add``XXX``Header()`` and
+``HttpServletResponse.set``XXX``Header()`` are returned as they were
+created.
+
+[[geqrh]][[GSDVG00414]][[configuring-valves-and-catalina-listeners]]
+
+==== Configuring Valves and Catalina Listeners
+
+You can configure custom valves and Catalina listeners for web modules
+or virtual servers by defining properties. A valve class must implement
+the org.apache.catalina.Valve interface from Tomcat or previous
+{productName} releases, or the org.glassfish.web.valve.GlassFishValve
+interface from the current {productName} release. A listener class
+for a virtual server must implement the
+org.apache.catalina.ContainerListener or
+org.apache.catalina.LifecycleListener interface. A listener class for a
+web module must implement the org.apache.catalina.ContainerListener ,
+org.apache.catalina.LifecycleListener, or
+org.apache.catalina.InstanceListener interface.
+
+In the `glassfish-web.xml` file, valve and listener properties for a web
+module look like this:
+
+[source,xml]
+----
+<glassfish-web-app ...>
+   ...
+   <property name="valve_1" value="org.glassfish.extension.Valve"/>
+   <property name="listener_1" value="org.glassfish.extension.MyLifecycleListener"/>
+</glassfish-web-app>
+----
+
+You can define these same properties for a virtual server. For more
+information, see link:#gilyj[Virtual Server Properties].
+
+[[geqpl]][[GSDVG00415]][[alternate-document-roots]]
+
+==== Alternate Document Roots
+
+An alternate document root (docroot) allows a web application to serve
+requests for certain resources from outside its own docroot, based on
+whether those requests match one (or more) of the URI patterns of the
+web application's alternate docroots.
+
+To specify an alternate docroot for a web application or a virtual
+server, use the `alternatedocroot_n` property, where n is a positive
+integer that allows specification of more than one. This property can be
+a subelement of a `glassfish-web-app` element in the `glassfish-web.xml`
+file or a virtual server property. For more information about these
+elements, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in {productName} Application Deployment Guide.
+
+A virtual server's alternate docroots are considered only if a request
+does not map to any of the web modules deployed on that virtual server.
+A web module's alternate docroots are considered only once a request has
+been mapped to that web module.
+
+If a request matches an alternate docroot's URI pattern, it is mapped to
+the alternate docroot by appending the request URI (minus the web
+application's context root) to the alternate docroot's physical location
+(directory). If a request matches multiple URI patterns, the alternate
+docroot is determined according to the following precedence order:
+
+* Exact match
+* Longest path match
+* Extension match
+
+For example, the following properties specify three `glassfish-web.xml`
+docroots. The URI pattern of the first alternate docroot uses an exact
+match, whereas the URI patterns of the second and third alternate
+docroots use extension and longest path prefix matches, respectively.
+
+[source,xml]
+----
+<property name="alternatedocroot_1" value="from=/my.jpg dir=/srv/images/jpg"/>
+<property name="alternatedocroot_2" value="from=*.jpg dir=/srv/images/jpg"/>
+<property name="alternatedocroot_3" value="from=/jpg/* dir=/src/images"/>
+----
+
+The `value` of each alternate docroot has two components: The first
+component, `from`, specifies the alternate docroot's URI pattern, and
+the second component, `dir`, specifies the alternate docroot's physical
+location (directory).
+
+Suppose the above examples belong to a web application deployed at
+`http://company22.com/myapp`. The first alternate docroot maps any
+requests with this URL:
+
+[source]
+----
+http://company22.com/myapp/my.jpg
+----
+
+To this resource:
+
+[source]
+----
+/svr/images/jpg/my.jpg
+----
+
+The second alternate docroot maps any requests with a `*.jpg` suffix,
+such as:
+
+[source]
+----
+http://company22.com/myapp/*.jpg
+----
+
+To this physical location:
+
+[source]
+----
+/svr/images/jpg
+----
+
+The third alternate docroot maps any requests whose URI starts with
+`/myapp/jpg/`, such as:
+
+[source]
+----
+http://company22.com/myapp/jpg/*
+----
+
+To the same directory as the second alternate docroot.
+
+For example, the second alternate docroot maps this request:
+
+[source]
+----
+http://company22.com/myapp/abc/def/my.jpg
+----
+
+To:
+
+[source]
+----
+/srv/images/jpg/abc/def/my.jpg
+----
+
+The third alternate docroot maps:
+
+[source]
+----
+http://company22.com/myapp/jpg/abc/resource
+----
+
+To:
+
+[source]
+----
+/srv/images/jpg/abc/resource
+----
+
+If a request does not match any of the target web application's
+alternate docroots, or if the target web application does not specify
+any alternate docroots, the request is served from the web application's
+standard docroot, as usual.
+
+[[geurd]][[GSDVG00416]][[using-a-context.xml-file]]
+
+==== Using a context.xml File
+
+You can define a `context.xml` file for all web applications, for web
+applications assigned to a specific virtual server, or for a specific
+web application.
+
+To define a global `context.xml` file, place the file in the
+domain-dir``/config`` directory and name it `context.xml`.
+
+Use the `contextXmlDefault` property to specify the name and the
+location, relative to domain-dir, of the `context.xml` file for a
+specific virtual server. Specify this property in one of the following
+ways:
+
+* In the Administration Console, open the HTTP Service component under
+the relevant configuration. Open the Virtual Servers component and
+scroll down to the bottom of the page. Enter `contextXmlDefault` as the
+property name and the path and file name relative to domain-dir as the
+property value.
+* Use the `asadmin create-virtual-server` command. For example:
++
+[source]
+----
+asadmin create-virtual-server --property contextXmlDefault=config/vs1ctx.xml vs1
+----
+* Use the `asadmin set` command for an existing virtual server. For
+example:
++
+[source]
+----
+asadmin set server-config.http-service.virtual-server.vs1.property.contextXmlDefault=config/myctx.xml
+----
+
+To define a `context.xml` file for a specific web application, place the
+file in the `META-INF` directory and name it `context.xml`.
+
+For more information about virtual server properties, see
+link:#gilyj[Virtual Server Properties]. For more information about the
+`context.xml` file, see
+http://tomcat.apache.org/tomcat-5.5-doc/config/context.html[The Context
+Container]
+(`http://tomcat.apache.org/tomcat-5.5-doc/config/context.html`). Context
+parameters, environment entries, and resource definitions in
+`context.xml` are supported in the {productName}.
+
+[[gezcx]][[GSDVG00417]][[enabling-webdav]]
+
+==== Enabling WebDav
+
+To enable WebDav in the {productName}, you edit the `web.xml` and
+`glassfish-web.xml` files as follows.
+
+First, enable the WebDav servlet in your `web.xml` file:
+
+[source,xml]
+----
+<servlet>
+   <servlet-name>webdav</servlet-name>
+   <servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
+   <init-param>
+      <param-name>debug</param-name>
+      <param-value>0</param-value>
+   </init-param>
+   <init-param>
+      <param-name>listings</param-name>
+      <param-value>true</param-value>
+   </init-param>
+   <init-param>
+      <param-name>readonly</param-name>
+      <param-value>false</param-value>
+   </init-param>
+</servlet>
+----
+
+Then define the servlet mapping associated with your WebDav servlet in
+your `web.xml` file:
+
+[source,xml]
+----
+<servlet-mapping>
+   <servlet-name>webdav</servlet-name>
+   <url-pattern>/webdav/*</url-pattern>
+</servlet-mapping>
+----
+
+To protect the WebDav servlet so other users can't modify it, add a
+security constraint in your `web.xml` file:
+
+[source,xml]
+----
+<security-constraint>
+   <web-resource-collection>
+      <web-resource-name>Login Resources</web-resource-name>
+      <url-pattern>/webdav/*</url-pattern>
+   </web-resource-collection>
+   <auth-constraint>
+      <role-name>Admin</role-name>
+   </auth-constraint>
+   <user-data-constraint>
+      <transport-guarantee>NONE</transport-guarantee>
+   </user-data-constraint>
+   <login-config>
+      <auth-method>BASIC</auth-method>
+      <realm-name>default</realm-name>
+   </login-config>
+   <security-role>
+      <role-name>Admin</role-name>
+   </security-role>
+</security-constraint>
+----
+
+Then define a security role mapping in your `glassfish-web.xml` file:
+
+[source,xml]
+----
+<security-role-mapping>
+   <role-name>Admin</role-name>
+   <group-name>Admin</group-name>
+</security-role-mapping>
+----
+
+If you are using the `file` realm, create a user and password. For
+example:
+
+[source]
+----
+asadmin create-file-user --groups Admin --authrealmname default admin
+----
+
+Enable the security manager as described in
+link:securing-apps.html#gbyah[Enabling and Disabling the Security
+Manager].
+
+You can now use any WebDav client by connecting to the WebDav servlet
+URL, which has this format:
+
+[source]
+----
+http://host:port/context-root/webdav/file
+----
+
+For example:
+
+[source]
+----
+http://localhost:80/glassfish-webdav/webdav/index.html
+----
+
+You can add the WebDav servlet to your `default-web.xml` file to enable
+it for all applications, but you can't set up a security role mapping to
+protect it.
+
+[[ghepd]][[GSDVG00418]][[using-ssi]]
+
+==== Using SSI
+
+To enable SSI (server-side includes) processing for a specific web
+module, add the `SSIServlet` to your `web.xml` file as follows:
+
+[source,xml]
+----
+<web-app>
+   <servlet>
+      <servlet-name>ssi</servlet-name>
+      <servlet-class>org.apache.catalina.ssi.SSIServlet</servlet-class>
+   </servlet>
+   ...
+   <servlet-mapping>
+      <servlet-name>ssi</servlet-name>
+      <url-pattern>*.shtml</url-pattern>
+   </servlet-mapping>
+   ...
+   <mime-mapping>
+      <extension>shtml</extension>
+      <mime-type>text/html</mime-type>
+   </mime-mapping>
+</web-app>
+----
+
+To enable SSI processing for all web modules, un-comment the
+corresponding sections in the `default-web.xml` file.
+
+If the `mime-mapping` is not specified in `web.xml`, {productName}
+attempts to determine the MIME type from `default-web.xml` or the
+operating system default.
+
+You can configure the following `init-param` values for the
+`SSIServlet`.
+
+[[GSDVG545]][[sthref16]][[gheoy]]
+
+
+Table 7-4 `SSIServlet` `init-param` Values
+
+[width="100%",cols="28%,11%,20%,41%",options="header",]
+|===
+|init-param |Type |Default |Description
+|buffered |`boolean` |`false` |Specifies whether the output should be
+buffered.
+
+|debug |`int` |`0` (for no debugging) |Specifies the debugging level.
+
+|expires |`Long` |`Expires` header in HTTP response not set |Specifies
+the expiration time in seconds.
+
+|inputEncoding |`String` |operating system encoding |Specifies encoding
+for the SSI input if there is no URL content encoding specified.
+
+|isVirtualWebappRelative |`boolean` |`false` (relative to the given SSI
+file) |Specifies whether the virtual path of the `#include` directive is
+relative to the `content-root`.
+
+|outputEncoding |`String` |UTF-8 |Specifies encoding for the SSI output.
+|===
+
+
+For more information about SSI, see
+`http://httpd.apache.org/docs/2.2/mod/mod_include.html`.
+
+[[ghepi]][[GSDVG00419]][[using-cgi]]
+
+==== Using CGI
+
+To enable CGI (common gateway interface) processing for a specific web
+module, add the `CGIServlet` to your `web.xml` file as follows:
+
+[source,xml]
+----
+<web-app>
+   <servlet>
+      <servlet-name>cgi</servlet-name>
+      <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
+   </servlet>
+   ...
+   <servlet-mapping>
+      <servlet-name>cgi</servlet-name>
+      <url-pattern>/cgi-bin/*</url-pattern>
+   </servlet-mapping>
+</web-app>
+----
+
+To enable CGI processing for all web modules, un-comment the
+corresponding sections in the `default-web.xml` file.
+
+Package the CGI program under the `cgiPathPrefix`. The default
+`cgiPathPrefix` is `WEB-INF/cgi`. For security, it is highly recommended
+that the contents and binaries of CGI programs be prohibited from direct
+viewing or download. For information about hiding directory listings,
+see link:#beagc[Using the `default-web.xml` File].
+
+Invoke the CGI program using a URL of the following format:
+
+[source]
+----
+http://host:8080/context-root/cgi-bin/cgi-name
+----
+
+For example:
+
+[source]
+----
+http://localhost:8080/mycontext/cgi-bin/hello
+----
+
+You can configure the following `init-param` values for the
+`CGIServlet`.
+
+[[GSDVG546]][[sthref17]][[ghern]]
+
+
+Table 7-5 `CGIServlet` `init-param` Values
+
+[width="100%",cols="25%,11%,27%,37%",options="header",]
+|===
+|init-param |Type |Default |Description
+|cgiPathPrefix |`String` |`WEB-INF/cgi` |Specifies the subdirectory
+containing the CGI programs.
+
+|debug |`int` |`0` (for no debugging) |Specifies the debugging level.
+
+|executable |`String` |`perl` |Specifies the executable for running the
+CGI script.
+
+|parameterEncoding |`String` |`System.getProperty``("file.encoding",`
+`"UTF-8")` |Specifies the parameter's encoding.
+
+|passShellEnvironment |`boolean` |`false` |Specifies whether to pass
+shell environment properties to the CGI program.
+|===
+
+
+To work with a native executable, do the following:
+
+1. Set the value of the `init-param` named executable to an empty
+`String` in the `web.xml` file.
+2. Make sure the executable has its executable bits set correctly.
+3. Use directory deployment to deploy the web module. Do not deploy it
+as a WAR file, because the executable bit information is lost during the
+process of `jar` and `unjar`. For more information about directory
+deployment, see the link:application-deployment-guide.html#GSDPG[{productName}
+Application Deployment Guide].
+
+
diff --git a/docs/application-development-guide/src/main/asciidoc/webservices.adoc b/docs/application-development-guide/src/main/asciidoc/webservices.adoc
new file mode 100644
index 0000000..9b5dd2b
--- /dev/null
+++ b/docs/application-development-guide/src/main/asciidoc/webservices.adoc
@@ -0,0 +1,341 @@
+type=page
+status=published
+title=Developing Web Services
+next=jpa.html
+prev=securing-apps.html
+~~~~~~
+
+= Developing Web Services
+
+[[GSDVG00007]][[gaszn]]
+
+
+[[developing-web-services]]
+== 5 Developing Web Services
+
+This chapter describes {productName} support for web services.
+The following topics are addressed here:
+
+* link:#gbizi[Creating Portable Web Service Artifacts]
+* link:#gbixz[Deploying a Web Service]
+* link:#gbiyw[The Web Service URI, WSDL File, and Test Page]
+* link:#CHDEBBCH[The Databinding Provider]
+* link:#gcgzz[GlassFish Jakarta EE Service Engine]
+
+
+[NOTE]
+====
+If you installed the Web Profile, web services are not supported unless
+the optional Metro Web Services Stack add-on component is downloaded
+from the Update Tool. Without the Metro add-on component, a servlet or
+EJB component cannot be a web service endpoint, and the
+`glassfish-web.xml` and `glassfish-ejb-jar.xml` elements related to web
+services are ignored. For information about the Update Tool, see
+"olink:GSADG00701[Update Tool]" in {productName}
+Administration Guide.
+
+In addition, the as-install``/modules/webservices-osgi.jar`` and
+as-install``/modules/webservices-api-osgi.jar`` files must be in
+the classpath of your web services application. IDEs such as NetBeans
+and Eclipse do this automatically.
+====
+
+
+"https://eclipse-ee4j.github.io/jakartaee-tutorial/#web-services[Web Services]"
+in The Jakarta EE Tutorial shows how to deploy simple web services to
+{productName}.
+
+For additional information about JAXB (Java Architecture for XML Binding), see
+http://jcp.org/aboutJava/communityprocess/pfd/jsr222/index.html[Java
+Specification Request (JSR) 222] and link:#CHDEBBCH[The Databinding Provider].
+
+For additional information about JAX-WS (Java API for XML-Based Web Services), see
+http://jcp.org/aboutJava/communityprocess/pfd/jsr224/index.html[Java
+Specification Request (JSR) 224] and
+http://jcp.org/en/jsr/detail?id=109[Java Specification Request (JSR) 109].
+
+For information about web services security, see
+link:securing-apps.html#beaca[Configuring Message Security for Web Services].
+
+The Fast Infoset standard specifies a binary format based on the XML Information Set.
+This format is an efficient alternative to XML.
+For more information about using Fast Infoset,
+see the https://eclipse-ee4j.github.io/metro-wsit/3.0.0/guide/ch02.html#using-fastinfoset[
+Metro WSIT Guide]
+
+
+[[gbizi]][[GSDVG00126]][[creating-portable-web-service-artifacts]]
+
+=== Creating Portable Web Service Artifacts
+
+For a tutorial that shows how to use the `wsimport` and `wsgen`
+commands, see "https://eclipse-ee4j.github.io/jakartaee-tutorial/#web-services[
+Web Services]" in The Jakarta EE Tutorial.
+
+[[gbixz]][[GSDVG00127]][[deploying-a-web-service]]
+
+=== Deploying a Web Service
+
+You deploy a web service endpoint to the {productName} just as you
+would any servlet, stateless session bean (SLSB), or application.
+
+
+[NOTE]
+====
+For complex services with dependent classes, user specified WSDL files,
+or other advanced features, autodeployment of an annotated file is not
+sufficient.
+====
+
+
+The {productName} deployment descriptor files `glassfish-web.xml` and
+`glassfish-ejb-jar.xml` provide optional web service enhancements in the
+`webservice-endpoint` and `webservice-description` elements, including a
+`debugging-enabled` subelement that enables the creation of a test page.
+The test page feature is enabled by default and described in
+link:#gbiyw[The Web Service URI, WSDL File, and Test Page].
+
+For more information about deployment, autodeployment, and deployment
+descriptors, see the link:application-deployment-guide.html#GSDPG[
+{productName} Application Deployment Guide].
+For more information about the
+`asadmin deploy` command, see the link:reference-manual.html#GSRFM[
+{productName} Reference Manual].
+
+[[gbiyw]][[GSDVG00128]][[the-web-service-uri-wsdl-file-and-test-page]]
+
+=== The Web Service URI, WSDL File, and Test Page
+
+Clients can run a deployed web service by accessing its service endpoint
+address URI, which has the following format:
+
+[source]
+----
+http://host:port/context-root/servlet-mapping-url-pattern
+----
+
+The context-root is defined in the `application.xml` or `web.xml` file,
+and can be overridden in the `glassfish-application.xml` or
+`glassfish-web.xml` file. The servlet-mapping-url-pattern is defined in
+the `web.xml` file.
+
+In the following example, the context-root is `my-ws` and the
+servlet-mapping-url-pattern is `/simple`:
+
+[source]
+----
+http://localhost:8080/my-ws/simple
+----
+
+You can view the WSDL file of the deployed service in a browser by
+adding `?WSDL` to the end of the URI. For example:
+
+[source]
+----
+http://localhost:8080/my-ws/simple?WSDL
+----
+
+For debugging, you can run a test page for the deployed service in a
+browser by adding `?Tester` to the end of the URL. For example:
+
+[source]
+----
+http://localhost:8080/my-ws/simple?Tester
+----
+
+You can also test a service using the Administration Console. Open the
+Web Services component, select the web service in the listing on the
+General tab, and select Test. For details, click the Help button in the
+Administration Console.
+
+
+[NOTE]
+====
+The test page works only for WS-I compliant web services. This means
+that the tester servlet does not work for services with WSDL files that
+use RPC/encoded binding.
+====
+
+
+Generation of the test page is enabled by default. You can disable the
+test page for a web service by setting the value of the
+`debugging-enabled` element in the `glassfish-web.xml` and
+`glassfish-ejb-jar.xml` deployment descriptor to `false`. For more
+information, see the link:application-deployment-guide.html#GSDPG[{productName}
+Application Deployment Guide].
+
+[[CHDEBBCH]][[GSDVG536]][[the-databinding-provider]]
+
+=== The Databinding Provider
+
+The JAX-WS reference implementation (RI) used to be dependent on the
+JAXB RI for databinding. JAXB and JAX-WS implementations have been
+decoupled, and databinding is modular. JAXB and JAX-WS are no longer
+Jakarta EE APIs.
+
+The EclipseLink JAXB implementation, plus EclipseLink extensions, is
+called MOXy. The `org.eclipse.persistence.moxy.jar` file is bundled with
+{productName}, which supports the JAXB RI and MOXy as databinding
+providers.
+
+To specify the databinding provider for the JVM, set the
+`com.sun.xml.ws.spi.db.BindingContextFactory` JVM property to one of the
+following values:
+
+com.sun.xml.ws.db.glassfish.JAXBRIContextFactory::
+  Specifies the JAXB reference implementation. This is the default.
+com.sun.xml.ws.db.toplink.JAXBContextFactory::
+  Specifies Eclipselink MOXy JAXB binding.
+
+For example:
+
+[source]
+----
+asadmin create-jvm-options -Dcom.sun.xml.ws.spi.db.BindingContextFactory=com.sun.xml.ws.db.toplink.JAXBContextFactory
+----
+
+To specify the databinding provider for a web service endpoint:
+
+* Set the `org.jvnet.ws.databinding.DatabindingModeFeature` feature
+during `WebServiceFeature` initialization or using the `add` method.
+Allowed values are as follows:::
+org.jvnet.ws.databinding.DatabindingModeFeature.GLASSFISH_JAXB::
+  Specifies the JAXB reference implementation. This is the default.
+com.sun.xml.ws.db.toplink.JAXBContextFactory.ECLIPSELINK_JAXB::
+  Specifies Eclipselink MOXy JAXB binding.
++
+For example:
++
+[source,java]
+----
+import jakarta.xml.ws.WebServiceFeature;
+import org.jvnet.ws.databinding.DatabindingModeFeature;
+import com.sun.xml.ws.db.toplink.JAXBContextFactory;
+...
+WebServiceFeature[] features = {new DatabindingModeFeature(JAXBContextFactory.ECLIPSELINK_JAXB)};
+...
+----
+* Set the `org.jvnet.ws.databinding.DatabindingModeFeature` feature
+using the `@DatabindingMode` annotation. For example:
++
+[source,java]
+----
+import jakarta.jws.WebService;
+import org.jvnet.ws.databinding.DatabindingMode;
+import com.sun.xml.ws.db.toplink.JAXBContextFactory;
+...
+@WebService()
+@DatabindingMode(JAXBContextFactory.ECLIPSELINK_JAXB);
+...
+----
+* Set the `databinding` attribute of the `endpoint` element in the
+`sun-jaxws.xml` file. Allowed values are `glassfish.jaxb` or
+`eclipselink.jaxb`. For example:
++
+[source,xml]
+----
+<endpoint name='hello'
+  implementation='hello.HelloImpl'
+  url-pattern='/hello'
+  databinding='eclipselink.jaxb'
+/>
+----
+
+The EclipseLink JAXB compiler is not included but can be used with
+{productName}. Download the EclipseLink zip file at
+`http://www.eclipse.org/eclipselink/downloads/` and unzip it. The
+compiler files are located here:
+
+[source]
+----
+bin/jaxb-compiler.cmd
+bin/jaxb-compiler.sh
+----
+
+[[gcgzz]][[GSDVG00129]][[glassfish-java-ee-service-engine]]
+
+=== GlassFish Jakarta EE Service Engine
+
+{productName} 7 provides the GlassFish Jakarta EE Service Engine, a
+JSR 208 compliant Java Business Integration (JBI) runtime component that
+connects Jakarta EE web services to JBI components. The Jakarta EE Service
+Engine is installed as an add-on component using the Update Tool. Look
+for the JBI component named Jakarta EE Service Engine. A JBI runtime is not
+installed with or integrated into {productName} 7 and must be
+obtained separately. For more information about using the Update Tool to
+obtain the Jakarta EE Service Engine and other add-on components, see
+"link:administration-guide.html#GSADG00701[Update Tool]" in {productName}
+Administration Guide.
+
+The Jakarta EE Service Engine acts as a bridge between the Jakarta EE and JBI
+runtime environments for web service providers and web service
+consumers. The Jakarta EE Service Engine provides better performance than a
+SOAP over HTTP binding component due to in-process communication between
+components and additional protocols provided by JBI binding components
+such as JMS, SMTP, and File.
+
+The http://jcp.org/en/jsr/detail?id=208[JSR 208]
+(`http://jcp.org/en/jsr/detail?id=208`) specification allows
+transactions to be propagated to other components using a message
+exchange property specified in the `JTA_TRANSACTION_PROPERTY_NAME`
+field. The Jakarta EE Service Engine uses this property to set and get a
+transaction object from the JBI message exchange. It then uses the
+transaction object to take part in a transaction. This means a Jakarta EE
+application or module can take part in a transaction started by a JBI
+application. Conversely, a JBI application can take part in a
+transaction started by a Jakarta EE application or module.
+
+Similarly, the JSR 208 specification allows a security subject to be
+propagated as a message exchange property named
+`javax.jbi.security.subject`. Thus a security subject can be propagated
+from a Jakarta EE application or module to a JBI application or the
+reverse.
+
+To deploy a Jakarta EE application or module as a JBI service unit, use the
+`asadmin deploy` command, or autodeployment. For more information about
+the `asadmin deploy` command, see the link:reference-manual.html#GSRFM[
+{productName} Reference Manual].
+For more information about autodeployment, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00041[
+To Deploy an Application or Module Automatically]"
+in {productName} Application Deployment Guide.
+
+[[gelxr]][[GSDVG00387]][[using-the-jbi.xml-file]]
+
+==== Using the `jbi.xml` File
+
+Section 6.3.1 of the JSR 208 specification describes the `jbi.xml` file.
+This is a deployment descriptor, located in the `META-INF` directory. To
+deploy a Jakarta EE application or module as a JBI service unit, you need
+only specify a small subset of elements in the `jbi.xml` file. Here is
+an example provider:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<jbi version="1.0" xmlns="http://java.sun.com/xml/ns/jbi" xmlns:ns0="http://ejbws.jbi.misc/">
+  <services binding-component="false">
+    <provides endpoint-name="MiscPort" interface-name="ns0:Misc" service-name="ns0:MiscService"/>
+  </services>
+</jbi>
+----
+
+Here is an example consumer:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<jbi version="1.0" xmlns="http://java.sun.com/xml/ns/jbi" xmlns:ns0="http://message.hello.jbi/">
+  <services binding-component="false">
+    <consumes endpoint-name="MsgPort" interface-name="ns0:Msg" service-name="ns0:MsgService"/>
+  </services>
+</jbi>
+----
+
+The Jakarta EE Service Engine enables the endpoints described in the
+`provides` section of the `jbi.xml` file in the JBI runtime. Similarly,
+the Jakarta EE Service Engine routes invocations of the endpoints described
+in the `consumes` section from the Jakarta EE web service consumer to the
+JBI runtime.
+
+
diff --git a/docs/application-development-guide/src/main/jbake/assets/css/style.css b/docs/application-development-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/application-development-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/application-development-guide/src/main/jbake/content/class-loaders.adoc b/docs/application-development-guide/src/main/jbake/content/class-loaders.adoc
deleted file mode 100644
index 39121c0..0000000
--- a/docs/application-development-guide/src/main/jbake/content/class-loaders.adoc
+++ /dev/null
@@ -1,434 +0,0 @@
-type=page
-status=published
-title=Class Loaders
-next=debugging-apps.html
-prev=setting-up-dev-env.html
-~~~~~~
-Class Loaders
-=============
-
-[[GSDVG00003]][[beade]]
-
-
-[[class-loaders]]
-2 Class Loaders
----------------
-
-Understanding Oracle GlassFish Server class loaders can help you
-determine where to place supporting JAR and resource files for your
-modules and applications.
-
-In a JVM implementation, the class loaders dynamically load a specific
-Java class file needed for resolving a dependency. For example, when an
-instance of `java.util.Enumeration` needs to be created, one of the
-class loaders loads the relevant class into the environment.
-
-The following topics are addressed here:
-
-* link:#beadf[The Class Loader Hierarchy]
-* link:#gfqpi[Delegation]
-* link:#beadk[Using the Java Optional Package Mechanism]
-* link:#beadg[Class Loader Universes]
-* link:#gatej[Application-Specific Class Loading]
-* link:#beadh[Circumventing Class Loader Isolation]
-
-
-[NOTE]
-=======================================================================
-
-The Web Profile of the GlassFish Server supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The full GlassFish Server supports the entire EJB
-3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-=======================================================================
-
-
-For information about class loader debugging, see
-link:debugging-apps.html#gkpdk[Class Loader Debugging].
-
-[[beadf]][[GSDVG00094]][[the-class-loader-hierarchy]]
-
-The Class Loader Hierarchy
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Class loaders in the GlassFish Server runtime follow a delegation
-hierarchy that is illustrated in the following figure and fully
-described in link:#fvxzq[Table 2-1].
-
-The following table describes the class loaders in the GlassFish Server.
-
-[[GSDVG531]][[sthref4]][[fvxzq]]
-
-
-Table 2-1 Oracle GlassFish Server Class Loaders
-
-[width="100%",cols="20%,80%",options="header",]
-|=======================================================================
-|Class Loader |Description
-|Bootstrap |The Bootstrap class loader loads the basic runtime classes
-provided by the JVM software.
-
-|Extension |The Extension class loader loads classes from JAR files
-present in the system extensions directory, domain-dir`/lib/ext`. It is
-parent to the Public API class loader. See link:#beadk[Using the Java
-Optional Package Mechanism].
-
-|Public API |The Public API class loader makes available all classes
-specifically exported by the GlassFish Server runtime for use by
-deployed applications. This includes, but is not limited to, Java EE
-APIs and other Oracle APIs. It is parent to the Common class loader.
-
-|Common |The Common class loader loads JAR files in the as-install`/lib`
-directory, followed by JAR files in the domain-dir`/lib` directory.
-Using domain-dir`/lib` is recommended whenever possible, and required
-for custom login modules and realms. It is parent to the Connector class
-loader. See link:#beadj[Using the Common Class Loader].
-
-|Connector |The Connector class loader is a single class loader instance
-that loads individually deployed connector modules, which are shared
-across all applications. It is parent to the Applib class loader and the
-LifeCycleModule class loader.
-
-|LifeCycleModule |The LifeCycleModule class loader is created once per
-lifecycle module. Each lifecycle module's classpath is used to construct
-its own class loader. For more information on lifecycle modules, see
-link:lifecycle-listeners.html#beamc[Developing Lifecycle Listeners].
-
-|Applib a|
-The Applib class loader loads the library classes, specified during
-deployment, for a specific enabled module or Java EE application; see
-link:#gatej[Application-Specific Class Loading]. One instance of this
-class loader is present in each class loader universe; see
-link:#beadg[Class Loader Universes]. It is parent to the Archive class
-loader.
-
-When multiple deployed applications use the same library, they share the
-same instance of the library. One library cannot reference classes from
-another library.
-
-| |
-
-|Archive |The Archive class loader loads classes from the WAR, EAR, and
-JAR files or directories (for directory deployment) of applications or
-modules deployed to the GlassFish Server. This class loader also loads
-any application-specific classes generated by the GlassFish Server
-runtime, such as stub classes or servlets generated by JSP pages.
-|=======================================================================
-
-
-In previous GlassFish Server versions, the JVM options provided
-`classpath-prefix` and `classpath-suffix` attributes that made it
-possible to add JAR files or directories either in front of, or after
-the application server's system `classpath`. These options are not
-present in GlassFish Server 6.0.
-
-The `classpath-prefix` was typically used to substitute another package
-for one of the GlassFish Server packages, for example if a newer one was
-available. This same result can be achieved on a per-application basis with the
-`--libraries` option for the `deploy` subcommand. For more information,
-see the link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)] help page. 
-The Java Optional Package Mechanism does what `classpath-suffix` used to do. For more
-information, see link:#beadk[Using the Java Optional Package Mechanism].
-
-[[gfqpi]][[GSDVG00095]][[delegation]]
-
-Delegation
-~~~~~~~~~~
-
-Note that the class loader hierarchy is not a Java inheritance
-hierarchy, but a delegation hierarchy. In the delegation design, a class
-loader delegates class loading to its parent before attempting to load a
-class itself. If the parent class loader cannot load a class, the class
-loader attempts to load the class itself. In effect, a class loader is
-responsible for loading only the classes not available to the parent.
-Classes loaded by a class loader higher in the hierarchy cannot refer to
-classes available lower in the hierarchy.
-
-The Java Servlet specification recommends that a web module's class
-loader look in the local class loader before delegating to its parent.
-You can make this class loader follow the delegation inversion model in
-the Servlet specification by setting `delegate="false"` in the
-`class-loader` element of the `glassfish-web.xml` file. It is safe to do
-this only for a web module that does not interact with any other
-modules. For details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00110[class-loader]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-The default value is `delegate="true"`, which causes a web module's
-class loader to delegate in the same manner as the other class loaders.
-You must use `delegate="true"` for a web application that accesses EJB
-components or that acts as a web service client or endpoint. For details
-about `glassfish-web.xml`, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open
-Source Edition Application Deployment Guide].
-
-For a number of packages, including `java.*` and `javax.*`, symbol
-resolution is always delegated to the parent class loader regardless of
-the `delegate` setting. This prevents applications from overriding core
-Java runtime classes or changing the API versions of specifications that
-are part of the Java EE platform.
-
-[[beadk]][[GSDVG00096]][[using-the-java-optional-package-mechanism]]
-
-Using the Java Optional Package Mechanism
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Optional packages are packages of Java classes and associated native
-code that application developers can use to extend the functionality of
-the core platform.
-
-To use the Java optional package mechanism, copy the JAR files into the
-domain-dir`/lib/ext` directory, or use the `asadmin add-library` command
-with the `--type ext` option, then restart the server. For more
-information about the `asadmin add-library` command, see the GlassFish
-Server Open Source Edition Reference Manual.
-
-For more information, see
-http://docs.oracle.com/javase/8/docs/technotes/guides/extensions/extensions.html[Optional
-Packages - An Overview]
-(`http://docs.oracle.com/javase/8/docs/technotes/guides/extensions/extensions.html`)
-and
-http://download.oracle.com/javase/tutorial/ext/basics/load.html[Understanding
-Extension Class Loading]
-(`http://docs.oracle.com/javase/tutorial/ext/basics/load.html`).
-
-[[gchif]][[GSDVG00097]][[using-the-endorsed-standards-override-mechanism]]
-
-Using the Endorsed Standards Override Mechanism
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Endorsed standards handle changes to classes and APIs that are bundled
-in the JDK but are subject to change by external bodies.
-
-To use the endorsed standards override mechanism, copy the JAR files
-into the domain-dir`/lib/endorsed` directory, then restart the server.
-
-For more information and the list of packages that can be overridden,
-see
-http://docs.oracle.com/javase/8/docs/technotes/guides/standards/[Endorsed
-Standards Override Mechanism]
-(`http://docs.oracle.com/javase/8/docs/technotes/guides/standards/`).
-
-[[beadg]][[GSDVG00098]][[class-loader-universes]]
-
-Class Loader Universes
-~~~~~~~~~~~~~~~~~~~~~~
-
-Access to components within applications and modules installed on the
-server occurs within the context of isolated class loader universes,
-each of which has its own Applib and Archive class loaders.
-
-* Application Universe - Each Java EE application has its own class
-loader universe, which loads the classes in all the modules in the
-application.
-* Individually Deployed Module Universe - Each individually deployed EJB
-JAR or web WAR has its own class loader universe, which loads the
-classes in the module.
-
-A resource such as a file that is accessed by a servlet, JSP, or EJB
-component must be in one of the following locations:
-
-* A directory pointed to by the Libraries field or `--libraries` option
-used during deployment
-* A directory pointed to by the `library-directory` element in the
-`application.xml` deployment descriptor
-* A directory pointed to by the application or module's classpath; for
-example, a web module's classpath includes these directories: +
-[source,oac_no_warn]
-----
-module-name/WEB-INF/classes
-module-name/WEB-INF/lib
-----
-
-[[gatej]][[GSDVG00099]][[application-specific-class-loading]]
-
-Application-Specific Class Loading
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can specify module- or application-specific library classes in one
-of the following ways:
-
-* Use the Administration Console. Open the Applications component, then
-go to the page for the type of application or module. Select the Deploy
-button. Type the comma-separated paths in the Libraries field. For
-details, click the Help button in the Administration Console.
-* Use the `asadmin deploy` command with the `--libraries` option and
-specify comma-separated paths. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Use the `asadmin add-library` command with the `--type app` option,
-then restart the server. For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish
-Server Open Source Edition Reference Manual].
-
-
-[NOTE]
-=======================================================================
-
-None of these alternatives apply to application clients. For more
-information, see link:java-clients.html#gjpjt[Using Libraries with
-Application Clients].
-
-=======================================================================
-
-
-You can update a library JAR file using dynamic reloading or by
-restarting (disabling and re-enabling) a module or application. To add
-or remove library JAR files, you can redeploy the module or application.
-
-Application libraries are included in the Applib class loader. Paths to
-libraries can be relative or absolute. A relative path is relative to
-domain-dir`/lib/applibs`. If the path is absolute, the path must be
-accessible to the domain administration server (DAS). The GlassFish
-Server automatically synchronizes these libraries to all remote cluster
-instances when the cluster is restarted. However, libraries specified by
-absolute paths are not guaranteed to be synchronized.
-
-
-[TIP]
-=======================================================================
-
-You can use application-specific class loading to specify a different
-XML parser than the default GlassFish Server XML parser.
-
-You can also use application-specific class loading to access different
-versions of a library from different applications.
-
-=======================================================================
-
-
-If multiple applications or modules refer to the same libraries, classes
-in those libraries are automatically shared. This can reduce the memory
-footprint and allow sharing of static information. However, applications
-or modules using application-specific libraries are not portable. Other
-ways to make libraries available are described in
-link:#beadh[Circumventing Class Loader Isolation].
-
-One library cannot reference classes from another library.
-
-For general information about deployment, including dynamic reloading,
-see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application
-Deployment Guide].
-
-
-[NOTE]
-=======================================================================
-
-If you see an access control error message when you try to use a
-library, you may need to grant permission to the library in the
-`server.policy` file. For more information, see
-link:securing-apps.html#beabz[Changing Permissions for an Application].
-
-=======================================================================
-
-
-[[beadh]][[GSDVG00100]][[circumventing-class-loader-isolation]]
-
-Circumventing Class Loader Isolation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Since each application or individually deployed module class loader
-universe is isolated, an application or module cannot load classes from
-another application or module. This prevents two similarly named classes
-in different applications or modules from interfering with each other.
-
-To circumvent this limitation for libraries, utility classes, or
-individually deployed modules accessed by more than one application, you
-can include the relevant path to the required classes in one of these
-ways:
-
-* link:#beadj[Using the Common Class Loader]
-* link:#gcrnt[Sharing Libraries Across a Cluster]
-* link:#beadl[Packaging the Client JAR for One Application in Another
-Application]
-
-[[beadj]][[GSDVG00342]][[using-the-common-class-loader]]
-
-Using the Common Class Loader
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To use the Common class loader, copy the JAR files into the
-domain-dir`/lib` or as-install`/lib` directory, or use the
-`asadmin add-library` command with the `--type common` option, then
-restart the server. For more information about the `asadmin add-library`
-command, see the GlassFish Server Open Source Edition Reference Manual.
-
-Using the Common class loader makes an application or module accessible
-to all applications or modules deployed on servers that share the same
-configuration. However, this accessibility does not extend to
-application clients. For more information, see
-link:java-clients.html#gjpjt[Using Libraries with Application Clients].
-
-For example, using the Common class loader is the recommended way of
-adding JDBC drivers to the GlassFish Server. For a list of the JDBC
-drivers currently supported by the GlassFish Server, see the
-link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release Notes]. For
-configurations of supported and other drivers, see
-"link:../administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-To activate custom login modules and realms, place the JAR files in the
-domain-dir`/lib` directory, then restart the server.
-
-[[gcrnt]][[GSDVG00343]][[sharing-libraries-across-a-cluster]]
-
-Sharing Libraries Across a Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To share libraries across a specific cluster, copy the JAR files to the
-domain-dir`/config/`cluster-config-name`/lib` directory.
-
-[[beadl]][[GSDVG00344]][[packaging-the-client-jar-for-one-application-in-another-application]]
-
-Packaging the Client JAR for One Application in Another Application
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By packaging the client JAR for one application in a second application,
-you allow an EJB or web component in the second application to call an
-EJB component in the first (dependent) application, without making
-either of them accessible to any other application or module.
-
-As an alternative for a production environment, you can have the Common
-class loader load the client JAR of the dependent application as
-described in link:#beadj[Using the Common Class Loader]. Restart the
-server to make the dependent application accessible to all applications
-or modules deployed on servers that share the same configuration.
-
-[[fvyab]][[GSDVG00048]][[to-package-the-client-jar-for-one-application-in-another-application]]
-
-To Package the Client JAR for One Application in Another Application
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Deploy the dependent application.
-2.  Add the dependent application's client JAR file to the calling
-application.
-* For a calling EJB component, add the client JAR file at the same level
-as the EJB component. Then add a `Class-Path` entry to the `MANIFEST.MF`
-file of the calling EJB component. The `Class-Path` entry has this
-syntax: +
-[source,oac_no_warn]
-----
-Class-Path: filepath1.jar filepath2.jar ...
-----
-Each filepath is relative to the directory or JAR file containing the
-`MANIFEST.MF` file. For details, see the Java EE specification.
-* For a calling web component, add the client JAR file under the
-`WEB-INF/lib` directory.
-3.  If you need to package the client JAR with both the EJB and web
-components, set `delegate="true"` in the `class-loader` element of the
-`glassfish-web.xml` file. +
-This changes the Web class loader so that it follows the standard class
-loader delegation model and delegates to its parent before attempting to
-load a class itself. +
-For most applications, packaging the client JAR file with the calling
-EJB component is sufficient. You do not need to package the client JAR
-file with both the EJB and web components unless the web component is
-directly calling the EJB component in the dependent application.
-4.  Deploy the calling application. +
-The calling EJB or web component must specify in its
-`glassfish-ejb-jar.xml` or `glassfish-web.xml` file the JNDI name of the
-EJB component in the dependent application. Using an `ejb-link` mapping
-does not work when the EJB component being called resides in another
-application. +
-You do not need to restart the server.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/connectors.adoc b/docs/application-development-guide/src/main/jbake/content/connectors.adoc
deleted file mode 100644
index f188911..0000000
--- a/docs/application-development-guide/src/main/jbake/content/connectors.adoc
+++ /dev/null
@@ -1,679 +0,0 @@
-type=page
-status=published
-title=Developing Connectors
-next=lifecycle-listeners.html
-prev=java-clients.html
-~~~~~~
-Developing Connectors
-=====================
-
-[[GSDVG00013]][[bealk]]
-
-
-[[developing-connectors]]
-11 Developing Connectors
-------------------------
-
-This chapter describes Oracle GlassFish Server support for the Java EE
-Connector Architecture, also known as
-http://jcp.org/en/jsr/detail?id=322[JSR 322]
-(`http://jcp.org/en/jsr/detail?id=322`).
-
-The Java EE Connector Architecture provides a Java solution to the
-problem of connectivity between multiple application servers and
-existing enterprise information systems (EISs). By using the Java EE
-Connector architecture, EIS vendors no longer need to customize their
-product for each application server. Application server vendors who
-conform to the Java EE Connector architecture do not need to write
-custom code to add connectivity to a new EIS.
-
-This chapter uses the terms connector and resource adapter
-interchangeably. Both terms refer to a resource adapter module that is
-developed in conformance with the Java EE Connector Architecture
-Specification.
-
-
-[NOTE]
-=======================================================================
-
-If you installed the Web Profile, connector modules that use only
-outbound communication features and work-management that does not
-involve inbound communication features are supported. Other connector
-features are supported only in the full GlassFish Server.
-
-=======================================================================
-
-
-For more information about connectors, see
-"https://javaee.github.io/tutorial/resources.html[Resource Adapters and
-Contracts]" in The Java EE 8 Tutorial.
-
-For information about deploying a connector to the GlassFish Server, see
-the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application
-Deployment Guide].
-
-The following topics are addressed here:
-
-* link:#beall[Connector Support in the GlassFish Server]
-* link:#bealr[Advanced Connector Configuration Options]
-* link:#bealz[Inbound Communication Support]
-* link:#gizdm[Outbound Communication Support]
-* link:#beama[Configuring a Message Driven Bean to Use a Resource
-Adapter]
-
-[[beall]][[GSDVG00162]][[connector-support-in-the-glassfish-server]]
-
-Connector Support in the GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server supports the development and deployment of resource
-adapters that are compatible with the Connector 1.6 specification (and,
-for backward compatibility, the Connector 1.0 and 1.5 specifications).
-
-The Connector 1.0 specification defines the outbound connectivity system
-contracts between the resource adapter and the GlassFish Server. The
-Connector 1.5 specification introduces major additions in defining
-system level contracts between the GlassFish Server and the resource
-adapter with respect to inbound connectivity, life cycle management, and
-thread management. The Connector 1.6 specification introduces further
-additions in defining system level contracts between the GlassFish
-Server and the resource adapter with respect to the following:
-
-* Generic work context contract — A generic contract that enables a
-resource adapter to control the execution context of a `Work` instance
-that it has submitted to the GlassFish Server for execution. The
-`Generic` work contract provides the mechanism for a resource adapter to
-augment the runtime context of a `Work` instance with additional
-contextual information flown-in from the EIS. This contract enables a
-resource adapter to control, in a more flexible manner, the contexts in
-which the `Work` instances submitted by it are executed by the
-application server's `WorkManager`.
-* Security work context — A standard contract that enables a resource
-adapter to establish security information while submitting a `Work`
-instance for execution to a `WorkManager` and while delivering
-messages-to-message endpoints residing in the GlassFish Server. This
-contract provides a mechanism to support the execution of a `Work`
-instance in the context of an established identity. It also supports the
-propagation of user information or Principal information from an EIS to
-a `MessageEndpoint` during message inflow.
-* Transaction context — The transaction context contract between the
-resource adapter and the application server leverages the Generic Work
-Context mechanism by describing a standard `WorkContext`, the
-`TransactionContext`. It represents the standard interface a resource
-adapter can use to propagate transaction context information from the
-EIS to the application server.
-
-[[bealm]][[GSDVG00474]][[connector-architecture-for-jms-and-jdbc]]
-
-Connector Architecture for JMS and JDBC
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In the Administration Console, connector, JMS, and JDBC resources are
-handled differently, but they use the same underlying Connector
-architecture. In the GlassFish Server, all communication to an EIS,
-whether to a message provider or an RDBMS, happens through the Connector
-architecture. To provide JMS infrastructure to clients, the GlassFish
-Server uses the Open Message Queue software. To provide JDBC
-infrastructure to clients, the GlassFish Server uses its own JDBC system
-resource adapters. The GlassFish Server automatically makes these system
-resource adapters available to any client that requires them.
-
-For more information about JMS in the GlassFish Server, see
-link:jms.html#beaob[Using the Java Message Service]. For more information
-about JDBC in the GlassFish Server, see link:jdbc.html#beamj[Using the
-JDBC API for Database Access].
-
-[[bealn]][[GSDVG00475]][[connector-configuration]]
-
-Connector Configuration
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server does not need to use `sun-ra.xml`, which previous
-GlassFish Server versions used, to store server-specific deployment
-information inside a Resource Adapter Archive (RAR) file. (However, the
-`sun-ra.xml` file is still supported for backward compatibility.)
-Instead, the information is stored in the server configuration. As a
-result, you can create multiple connector connection pools for a
-connection definition in a functional resource adapter instance, and you
-can create multiple user-accessible connector resources (that is,
-registering a resource with a JNDI name) for a connector connection
-pool. In addition, dynamic changes can be made to connector connection
-pools and the connector resource properties without restarting the
-GlassFish Server.
-
-[[bealr]][[GSDVG00163]][[advanced-connector-configuration-options]]
-
-Advanced Connector Configuration Options
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#beals[Thread Associations]
-* link:#bealt[Security Maps]
-* link:#giqgt[Work Security Maps]
-* link:#bealu[Overriding Configuration Properties]
-* link:#bealv[Testing a Connector Connection Pool]
-* link:#gizcv[Flushing a Connector Connection Pool]
-* link:#bealw[Handling Invalid Connections]
-* link:#bealx[Setting the Shutdown Timeout]
-* link:#gjjyy[Specifying the Class Loading Policy]
-* link:#bealy[Using Last Agent Optimization of Transactions]
-* link:#gizba[Disabling Pooling for a Connection]
-* link:#gizcs[Using Application-Scoped Connectors]
-
-[[beals]][[GSDVG00476]][[thread-associations]]
-
-Thread Associations
-^^^^^^^^^^^^^^^^^^^
-
-Connectors can submit work instances to the GlassFish Server for
-execution. By default, the GlassFish Server services work requests for
-all connectors from its default thread pool. However, you can associate
-a specific user-created thread pool to service work requests from a
-connector. A thread pool can service work requests from multiple
-resource adapters. To create a thread pool:
-
-* In the Administration Console, select Thread Pools under the relevant
-configuration. For details, click the Help button in the Administration
-Console.
-* Use the `asadmin create-threadpool` command. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-To associate a connector with a thread pool:
-
-* In the Administration Console, open the Applications component and
-select Resource Adapter Configs. Specify the name of the thread pool in
-the Thread Pool ID field. For details, click the Help button in the
-Administration Console.
-* Use the `--threadpoolid` option of the
-`asadmin create-resource-adapter-config` command. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-If you create a resource adapter configuration for a connector module
-that is already deployed, the connector module deployment is restarted
-with the new configuration properties.
-
-[[bealt]][[GSDVG00477]][[security-maps]]
-
-Security Maps
-^^^^^^^^^^^^^
-
-Create a security map for a connector connection pool to map an
-application principal or a user group to a back end EIS principal. The
-security map is usually used in situations where one or more EIS back
-end principals are used to execute operations (on the EIS) initiated by
-various principals or user groups in the application.
-
-To create or update security maps for a connector connection pool:
-
-* In the Administration Console, open the Resources component, select
-Connectors, select Connector Connection Pools, and select the Security
-Maps tab. For details, click the Help button in the Administration
-Console.
-* Use the `asadmin create-connector-security-map` command. For details,
-see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference
-Manual].
-
-If a security map already exists for a connector connection pool, the
-new security map is appended to the previous one. The connector security
-map configuration supports the use of the wildcard asterisk (`*`) to
-indicate all users or all user groups.
-
-When an application principal initiates a request to an EIS, the
-GlassFish Server first checks for an exact match to a mapped back end
-EIS principal using the security map defined for the connector
-connection pool. If there is no exact match, the GlassFish Server uses
-the wild card character specification, if any, to determined the mapped
-back end EIS principal.
-
-[[giqgt]][[GSDVG00478]][[work-security-maps]]
-
-Work Security Maps
-^^^^^^^^^^^^^^^^^^
-
-A work security map for a resource adapter maps an EIS principal or
-group to a application principal or group. A work security map is useful
-in situations where one or more application principals execute
-operations initiated by principals or user groups in the EIS. A resource
-adapter can have multiple work security maps. A work security map can
-map either principals or groups, but not both.
-
-To create a work security map, use the
-`asadmin create-connector-work-security-map` command. For details, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-The work security map configuration supports the wildcard asterisk (`*`)
-character to indicate all users or all user groups. When an EIS
-principal sends a request to the GlassFish Server, the GlassFish Server
-first checks for an exact match to a mapped application principal using
-the work security map defined for the resource adapter. If there is no
-exact match, the GlassFish Server uses the wild card character
-specification, if any, to determine the application principal.
-
-[[bealu]][[GSDVG00479]][[overriding-configuration-properties]]
-
-Overriding Configuration Properties
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can override the properties (`config-property` elements) specified
-in the `ra.xml` file of a resource adapter:
-
-* In the Administration Console, open the Resources component and select
-Resource Adapter Configs. Create a new resource adapter configuration or
-select an existing one to edit. Then enter property names and values in
-the Additional Properties table. For details, click the Help button in
-the Administration Console.
-* Use the `asadmin create-resource-adapter-config` command to create a
-configuration for a resource adapter. Use this command's `--property`
-option to specify a name-value pair for a resource adapter property. For
-details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-You can specify configuration properties either before or after resource
-adapter deployment. If you specify properties after deploying the
-resource adapter, the existing resource adapter is restarted with the
-new properties.
-
-You can also use token replacement for overriding resource adapter
-configuration properties in individual server instances when the
-resource adapter is deployed to a cluster. For example, for a property
-called `inboundPort`, you can assign the value `${inboundPort}`. You can
-then assign a different value to this property for each server instance.
-Changes to system properties take effect upon server restart.
-
-[[bealv]][[GSDVG00480]][[testing-a-connector-connection-pool]]
-
-Testing a Connector Connection Pool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can test a connector connection pool for usability in one of these
-ways:
-
-* In the Administration Console, open the Resources component, open the
-Connector component, select Connection Pools, and select the connection
-pool you want to test. Then select the Ping button in the top right
-corner of the page. For details, click the Help button in the
-Administration Console.
-* Use the `asadmin ping-connection-pool` command. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-Both these commands fail and display an error message unless they
-successfully connect to the connection pool.
-
-You can also specify that a connection pool is automatically tested when
-created or reconfigured by setting the Ping attribute to `true` (the
-default is `false`) in one of the following ways:
-
-* Enter a Ping value in the Connector Connection Pools page in the
-Administration Console. For more information, click the Help button in
-the Administration Console.
-* Specify the `--ping` option in the
-`asadmin create-connector-connection-pool` command. For more
-information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-[[gizcv]][[GSDVG00481]][[flushing-a-connector-connection-pool]]
-
-Flushing a Connector Connection Pool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Flushing a connector connection pool recreates all the connections in
-the pool and brings the pool to the steady pool size without the need
-for reconfiguring the pool. Connection pool reconfiguration can result
-in application redeployment, which is a time-consuming operation.
-Flushing destroys existing connections, and any existing transactions
-are lost and must be retired.
-
-You can flush a connector connection pool in one of these ways:
-
-* In the Administration Console, open the Resources component, open the
-Connector component, select Connection Pools, and select the connection
-pool you want to flush. Then select the Flush button in the top right
-corner of the page. For details, click the Help button in the
-Administration Console.
-* Use the `asadmin flush-connection-pool` command. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[bealw]][[GSDVG00482]][[handling-invalid-connections]]
-
-Handling Invalid Connections
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If a resource adapter generates a `ConnectionErrorOccured` event, the
-GlassFish Server considers the connection invalid and removes the
-connection from the connection pool. Typically, a resource adapter
-generates a `ConnectionErrorOccured` event when it finds a
-`ManagedConnection` object unusable. Reasons can be network failure with
-the EIS, EIS failure, fatal problems with the resource adapter, and so
-on.
-
-If the `fail-all-connections` setting in the connection pool
-configuration is set to `true`, and a single connection fails, all
-connections are closed and recreated. If this setting is `false`,
-individual connections are recreated only when they are used. The
-default is `false`.
-
-The `is-connection-validation-required` setting specifies whether
-connections have to be validated before being given to the application.
-If a resource's validation fails, it is destroyed, and a new resource is
-created and returned. The default is `false`.
-
-The `prefer-validate-over-recreate` property specifies that validating
-idle connections is preferable to closing them. This property has no
-effect on non-idle connections. If set to `true`, idle connections are
-validated during pool resizing, and only those found to be invalid are
-destroyed and recreated. If `false`, all idle connections are destroyed
-and recreated during pool resizing. The default is `false`.
-
-You can set the `fail-all-connections`,
-`is-connection-validation-required`, and `prefer-validate-over-recreate`
-configuration settings during creation of a connector connection pool.
-Or, you can use the `asadmin set` command to dynamically reconfigure a
-setting. For example:
-
-[source,oac_no_warn]
-----
-asadmin set server.resources.connector-connection-pool.CCP1.fail-all-connections="true"
-asadmin set server.resources.connector-connection-pool.CCP1.is-connection-validation-required="true"
-asadmin set server.resources.connector-connection-pool.CCP1.property.prefer-validate-over-recreate="true"
-----
-
-For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-The interface ValidatingManagedConnectionFactory exposes the method
-`getInvalidConnections` to allow retrieval of the invalid connections.
-The GlassFish Server checks if the resource adapter implements this
-interface, and if it does, invalid connections are removed when the
-connection pool is resized.
-
-[[bealx]][[GSDVG00483]][[setting-the-shutdown-timeout]]
-
-Setting the Shutdown Timeout
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-According to the Connector specification, while an application server
-shuts down, all resource adapters should be stopped. A resource adapter
-might hang during shutdown, since shutdown is typically a resource
-intensive operation. To avoid such a situation, you can set a timeout
-that aborts resource adapter shutdown if exceeded. The default timeout
-is 30 seconds per resource adapter module. To configure this timeout:
-
-* In the Administration Console, select Connector Service under the
-relevant configuration and edit the shutdown Timeout field. For details,
-click the Help button in the Administration Console.
-* Use the following `asadmin set` command: +
-[source,oac_no_warn]
-----
-asadmin set server.connector-service.shutdown-timeout-in-seconds="num-secs"
-----
-For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-The GlassFish Server deactivates all message-driven bean deployments
-before stopping a resource adapter.
-
-[[gjjyy]][[GSDVG00484]][[specifying-the-class-loading-policy]]
-
-Specifying the Class Loading Policy
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `class-loading-policy` setting to determine which resource
-adapters accessible to applications. Allowed values are:
-
-* `derived` — Applications access resource adapters based on references
-in their deployment descriptors. These references can be `resource-ref`,
-`resource-env-ref`, `resource-adapter-mid`, or equivalent annotations.
-* `global` — All stand-alone resource adapters are available to all
-applications.
-
-To configure this setting, use the `asadmin set` command. For example:
-
-[source,oac_no_warn]
-----
-asadmin set server.connector-service.class-loading-policy="global"
-----
-
-For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-[[bealy]][[GSDVG00485]][[using-last-agent-optimization-of-transactions]]
-
-Using Last Agent Optimization of Transactions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Transactions that involve multiple resources or multiple participant
-processes are distributed or global transactions. A global transaction
-can involve one non-XA resource if last agent optimization is enabled.
-Otherwise, all resources must be XA. For more information about
-transactions in the GlassFish Server, see
-link:transaction-service.html#beanm[Using the Transaction Service].
-
-The Connector specification requires that if a resource adapter supports
-`XATransaction`, the `ManagedConnection` created from that resource
-adapter must support both distributed and local transactions. Therefore,
-even if a resource adapter supports `XATransaction`, you can configure
-its connector connection pools as non-XA or without transaction support
-for better performance. A non-XA resource adapter becomes the last agent
-in the transactions in which it participates.
-
-The value of the connection pool configuration property
-`transaction-support` defaults to the value of the `transaction-support`
-property in the `ra.xml` file. The connection pool configuration
-property can override the `ra.xml` file property if the transaction
-level in the connection pool configuration property is lower. If the
-value in the connection pool configuration property is higher, it is
-ignored.
-
-[[gizba]][[GSDVG00486]][[disabling-pooling-for-a-connection]]
-
-Disabling Pooling for a Connection
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To disable connection pooling, set the Pooling attribute to false. The
-default is true. You can enable or disable connection pooling in one of
-the following ways:
-
-* Enter a Pooling value in the Connector Connection Pools page in the
-Administration Console. For more information, click the Help button in
-the Administration Console.
-* Specify the `--pooling` option in the
-`asadmin create-connector-connection-pool` command. For more
-information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-[[gizcs]][[GSDVG00487]][[using-application-scoped-connectors]]
-
-Using Application-Scoped Connectors
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can define an application-scoped connector or other resource for an
-enterprise application, web module, EJB module, connector module, or
-application client module by supplying a `glassfish-resources.xml`
-deployment descriptor file. For details, see
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-[[bealz]][[GSDVG00164]][[inbound-communication-support]]
-
-Inbound Communication Support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Connector specification defines the transaction and message inflow
-system contracts for achieving inbound connectivity from an EIS. The
-message inflow contract also serves as a standard message provider
-pluggability contract, thereby allowing various message providers to
-seamlessly plug in their products with any application server that
-supports the message inflow contract. In the inbound communication
-model, the EIS initiates all communication to an application. An
-application can be composed of enterprise beans (session, entity, or
-message-driven beans), which reside in an EJB container.
-
-Incoming messages are received through a message endpoint, which is a
-message-driven bean. This message-driven bean asynchronously consumes
-messages from a message provider. An application can also synchronously
-send and receive messages directly using messaging style APIs.
-
-A resource adapter supporting inbound communication provides an instance
-of an `ActivationSpec` JavaBean class for each supported message
-listener type. Each class contains a set of configurable properties that
-specify endpoint activation configuration information during
-message-driven bean deployment. The required `config-property` element
-in the `ra.xml` file provides a list of configuration property names
-required for each activation specification. An endpoint activation fails
-if the required property values are not specified. Values for the
-properties that are overridden in the message-driven bean's deployment
-descriptor are applied to the `ActivationSpec` JavaBean when the
-message-driven bean is deployed.
-
-Administered objects can also be specified for a resource adapter, and
-these JavaBeans are specific to a messaging style or message provider.
-For example, some messaging styles may need applications to use special
-administered objects (such as Queue and Topic objects in JMS).
-Applications use these objects to send and synchronously receive
-messages using connection objects using messaging style APIs. For more
-information about administered objects, see link:jms.html#beaob[Using the
-Java Message Service].
-
-[[gizdm]][[GSDVG00165]][[outbound-communication-support]]
-
-Outbound Communication Support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Connector specification defines the system contracts for achieving
-outbound connectivity from an EIS. A resource adapter supporting
-outbound communication provides an instance of a
-`ManagedConnectionFactory` JavaBean class. A `ManagedConnectionFactory`
-JavaBean represents outbound connectivity information to an EIS instance
-from an application.
-
-The 1.6 Connector specification introduces a mechanism through which the
-transaction level of a `ManagedConnectionFactory` can be detected at
-runtime. During the configuration of a `ManagedConnectionFactory` in the
-Connector Connection Pools page in the Administration Console, the
-Administration Console can instantiate the `ManagedConnectionFactory`
-and show the level of transaction support. The three levels are `no-tx`,
-`local-tx`, `xa-tx`. If a `ManagedConnectionFactory` returns `local-tx`
-as the level it can support, it is assumed that `xa-tx` is not
-supported, and the Administration Console shows only `no-tx` and
-`local-tx` as the available support levels.
-
-For more information, click the Help button in the Administration
-Console.
-
-[[beama]][[GSDVG00166]][[configuring-a-message-driven-bean-to-use-a-resource-adapter]]
-
-Configuring a Message Driven Bean to Use a Resource Adapter
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Connectors specification's message inflow contract provides a
-generic mechanism to plug in a wide-range of message providers,
-including JMS, into a Java-EE-compatible application server. Message
-providers use a resource adapter and dispatch messages to message
-endpoints, which are implemented as message-driven beans.
-
-The message-driven bean developer provides activation configuration
-information in the message-driven bean's `ejb-jar.xml` file.
-Configuration information includes messaging-style-specific
-configuration details, and possibly message-provider-specific details as
-well. The message-driven bean deployer uses this configuration
-information to set up the activation specification JavaBean. The
-activation configuration properties specified in `ejb-jar.xml` override
-configuration properties in the activation specification definition in
-the `ra.xml` file.
-
-According to the EJB specification, the messaging-style-specific
-descriptor elements contained within the activation configuration
-element are not specified because they are specific to a messaging
-provider. In the following sample message-driven bean `ejb-jar.xml`, a
-message-driven bean has the following activation configuration property
-names: `destinationType`, `SubscriptionDurability`, and
-`MessageSelector`.
-
-[source,oac_no_warn]
-----
-<!--  A sample MDB that listens to a JMS Topic -->
-<!-- message-driven bean deployment descriptor -->
-...
- <activation-config>
-   <activation-config-property>
-     <activation-config-property-name>
-       destinationType
-     </activation-config-property-name>
-     <activation-config-property-value>
-       jakarta.jms.Topic
-     </activation-config-property-value>
-  </activation-config-property>
-  <activation-config-property>
-     <activation-config-property-name>
-       SubscriptionDurability
-     </activation-config-property-name>
-     <activation-config-property-value>
-       Durable
-     </activation-config-property-value>
-  </activation-config-property>
-  <activation-config-property>
-     <activation-config-property-name>
-       MessageSelector
-     </activation-config-property-name>
-     <activation-config-property-value>
-       JMSType = 'car' AND color = 'blue'
-     </activation-config-property-value>
-  </activation-config-property>
- ...
- </activation-config>
-...
-----
-
-When the message-driven bean is deployed, the value for the
-`resource-adapter-mid` element in the `glassfish-ejb-jar.xml` file is
-set to the resource adapter module name that delivers messages to the
-message endpoint (to the message-driven bean). In the following example,
-the `jmsra` JMS resource adapter, which is the bundled resource adapter
-for the Message Queue message provider, is specified as the resource
-adapter module identifier for the `SampleMDB` bean.
-
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-<enterprise-beans>
-    <unique-id>1</unique-id>
-    <ejb>
-       <ejb-name>SampleMDB</ejb-name>
-       <jndi-name>SampleQueue</jndi-name>
-    <!-- JNDI name of the destination from which messages would be 
-         delivered from MDB needs to listen to -->
-    ...
-    <mdb-resource-adapter>
-       <resource-adapter-mid>jmsra</resource-adapter-mid>
-       <!-- Resource Adapter Module Id that would deliver messages to 
-            this message endpoint -->
-       </mdb-resource-adapter>
-    ...
- </ejb>
- ...
-</enterprise-beans>
-...
-</glassfish-ejb-jar>
-----
-
-When the message-driven bean is deployed, the GlassFish Server uses the
-`resourceadapter-mid` setting to associate the resource adapter with a
-message endpoint through the message inflow contract. This message
-inflow contract with the GlassFish Server gives the resource adapter a
-handle to the `MessageEndpointFactory` and the `ActivationSpec`
-JavaBean, and the adapter uses this handle to deliver messages to the
-message endpoint instances (which are created by the
-`MessageEndpointFactory`).
-
-When a message-driven bean first created for use on the GlassFish Server
-7 is deployed, the Connector runtime transparently transforms the
-previous deployment style to the current connector-based deployment
-style. If the deployer specifies neither a `resource-adapter-mid`
-element nor the Message Queue resource adapter's activation
-configuration properties, the Connector runtime maps the message-driven
-bean to the `jmsra` system resource adapter and converts the
-JMS-specific configuration to the Message Queue resource adapter's
-activation configuration properties.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/container_managed-persistence.adoc b/docs/application-development-guide/src/main/jbake/content/container_managed-persistence.adoc
deleted file mode 100644
index 534ff59..0000000
--- a/docs/application-development-guide/src/main/jbake/content/container_managed-persistence.adoc
+++ /dev/null
@@ -1,1569 +0,0 @@
-type=page
-status=published
-title=Using Container-Managed Persistence
-next=java-clients.html
-prev=ejb.html
-~~~~~~
-Using Container-Managed Persistence
-===================================
-
-[[GSDVG00011]][[beajj]]
-
-
-[[using-container-managed-persistence]]
-9 Using Container-Managed Persistence
--------------------------------------
-
-This chapter contains information on how EJB 2.1 container-managed
-persistence (CMP) works in Oracle GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#beajk[GlassFish Server Support for CMP]
-* link:#beajl[CMP Mapping]
-* link:#beajv[Automatic Schema Generation for CMP]
-* link:#beajy[Schema Capture]
-* link:#beakb[Configuring the CMP Resource]
-* link:#beaki[Performance-Related Features]
-* link:#beakc[Configuring Queries for 1.1 Finders]
-* link:#beakm[CMP Restrictions and Optimizations]
-
-
-[NOTE]
-=======================================================================
-
-The Web Profile of the GlassFish Server supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The full GlassFish Server supports the entire EJB
-3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-=======================================================================
-
-
-[[beajk]][[GSDVG00150]][[glassfish-server-support-for-cmp]]
-
-GlassFish Server Support for CMP
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server support for EJB 2.1 CMP beans includes:
-
-* Full support for the J2EE v1.4 specification's CMP model. Extensive
-information on CMP is contained in chapters 10, 11, and 14 of the
-Enterprise JavaBeans Specification, v2.1. This includes the following:
-
-** Support for commit options B and C for transactions. See
-link:transaction-service.html#beajh[Commit Options].
-
-** The primary key class must be a subclass of `java.lang.Object`. This
-ensures portability, and is noted because some vendors allow primitive
-types (such as `int`) to be used as the primary key class.
-* The GlassFish Server CMP implementation, which provides the following:
-
-** An Object/Relational (O/R) mapping tool that creates XML deployment
-descriptors for EJB JAR files that contain beans that use CMP.
-
-** Support for compound (multi-column) primary keys.
-
-** Support for sophisticated custom finder methods.
-
-** Standards-based query language (EJB QL).
-
-** CMP runtime support. See link:#beakb[Configuring the CMP Resource].
-* GlassFish Server performance-related features, including the
-following:
-
-** Version column consistency checking
-
-** Relationship prefetching
-
-** Read-Only Beans +
-For details, see link:#beaki[Performance-Related Features].
-
-[[beajl]][[GSDVG00151]][[cmp-mapping]]
-
-CMP Mapping
-~~~~~~~~~~~
-
-Implementation for entity beans that use CMP is mostly a matter of
-mapping CMP fields and CMR fields (relationships) to the database.
-
-The following topics are addressed here:
-
-* link:#beajm[Mapping Capabilities]
-* link:#beajn[The Mapping Deployment Descriptor File]
-* link:#beajo[Mapping Considerations]
-
-[[beajm]][[GSDVG00434]][[mapping-capabilities]]
-
-Mapping Capabilities
-^^^^^^^^^^^^^^^^^^^^
-
-Mapping refers to the ability to tie an object-based model to a
-relational model of data, usually the schema of a relational database.
-The CMP implementation provides the ability to tie a set of interrelated
-beans containing data and associated behaviors to the schema. This
-object representation of the database becomes part of the Java
-application. You can also customize this mapping to optimize these beans
-for the particular needs of an application. The result is a single data
-model through which both persistent database information and regular
-transient program data are accessed.
-
-The mapping capabilities provided by the GlassFish Server include:
-
-* Mapping a CMP bean to one or more tables
-* Mapping CMP fields to one or more columns
-* Mapping CMP fields to different column types
-* Mapping tables with compound primary keys
-* Mapping tables with unknown primary keys
-* Mapping CMP relationships to foreign keys
-* Mapping tables with overlapping primary and foreign keys
-
-[[beajn]][[GSDVG00435]][[the-mapping-deployment-descriptor-file]]
-
-The Mapping Deployment Descriptor File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Each module with CMP beans must have the following files:
-
-* `ejb-jar.xml` - The J2EE standard file for assembling enterprise
-beans. For a detailed description, see the Enterprise JavaBeans
-Specification, v2.1.
-* `glassfish-ejb-jar.xml` - The GlassFish Server standard file for
-assembling enterprise beans. For a detailed description, see
-"link:../application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-* `sun-cmp-mappings.xml` - The mapping deployment descriptor file, which
-describes the mapping of CMP beans to tables in a database. For a
-detailed description, see "link:../application-deployment-guide/dd-files.html#GSDPG00080[The sun-cmp-mappings.xml
-File]" in GlassFish Server Open Source Edition Application Deployment
-Guide.
-
-The `sun-cmp-mappings.xml` file can be automatically generated and does
-not have to exist prior to deployment. For details, see
-link:#beajx[Generation Options for CMP].
-
-The `sun-cmp-mappings.xml` file maps CMP fields and CMR fields
-(relationships) to the database. A primary table must be selected for
-each CMP bean, and optionally, multiple secondary tables. CMP fields are
-mapped to columns in either the primary or secondary table(s). CMR
-fields are mapped to pairs of column lists (normally, column lists are
-the lists of columns associated with primary and foreign keys).
-
-
-[NOTE]
-=======================================================================
-
-Table names in databases can be case-sensitive. Make sure that the table
-names in the `sun-cmp-mappings.xml` file match the names in the
-database.
-
-Relationships should always be mapped to the primary key field(s) of the
-related table.
-
-=======================================================================
-
-
-The `sun-cmp-mappings.xml` file conforms to the
-`sun-cmp-mapping_1_2.dtd` file and is packaged with the user-defined
-bean classes in the EJB JAR file under the `META-INF` directory.
-
-The GlassFish Server creates the mappings in the `sun-cmp-mappings.xml`
-file automatically during deployment if the file is not present.
-
-To map the fields and relationships of your entity beans manually, edit
-the `sun-cmp-mappings.xml` deployment descriptor. Only do this if you
-are proficient in editing XML.
-
-The mapping information is developed in conjunction with the database
-schema (`.dbschema`) file, which can be automatically captured when you
-deploy the bean (see link:#beajz[Automatic Database Schema Capture]).
-You can manually generate the schema using the `capture-schema` utility
-(link:#beaka[Using the `capture-schema` Utility]).
-
-[[beajo]][[GSDVG00436]][[mapping-considerations]]
-
-Mapping Considerations
-^^^^^^^^^^^^^^^^^^^^^^
-
-The following topics are addressed here:
-
-* link:#beajp[Join Tables and Relationships]
-* link:#beajq[Automatic Primary Key Generation]
-* link:#beajr[Fixed Length CHAR Primary Keys]
-* link:#beajs[Managed Fields]
-* link:#beajt[BLOB Support]
-* link:#beaju[CLOB Support]
-
-The data types used in automatic schema generation are also suggested
-for manual mapping. These data types are described in
-link:#beajw[Supported Data Types for CMP].
-
-[[beajp]][[GSDVG00303]][[join-tables-and-relationships]]
-
-Join Tables and Relationships
-+++++++++++++++++++++++++++++
-
-Use of join tables in the database schema is supported for all types of
-relationships, not just many-to-many relationships. For general
-information about relationships, see section 10.3.7 of the Enterprise
-JavaBeans Specification, v2.1.
-
-[[beajq]][[GSDVG00304]][[automatic-primary-key-generation]]
-
-Automatic Primary Key Generation
-++++++++++++++++++++++++++++++++
-
-The GlassFish Server supports automatic primary key generation for EJB
-1.1, 2.0, and 2.1 CMP beans. To specify automatic primary key
-generation, give the `prim-key-class` element in the `ejb-jar.xml` file
-the value `java.lang.Object`. CMP beans with automatically generated
-primary keys can participate in relationships with other CMP beans. The
-GlassFish Server does not support database-generated primary key values.
-
-If the database schema is created during deployment, the GlassFish
-Server creates the schema with the primary key column, then generates
-unique values for the primary key column at runtime.
-
-If the database schema is not created during deployment, the primary key
-column in the mapped table must be of type `NUMERIC` with a precision of
-19 or more, and must not be mapped to any CMP field. The GlassFish
-Server generates unique values for the primary key column at runtime.
-
-[[beajr]][[GSDVG00305]][[fixed-length-char-primary-keys]]
-
-Fixed Length CHAR Primary Keys
-++++++++++++++++++++++++++++++
-
-If an existing database table has a primary key column in which the
-values vary in length, but the type is `CHAR` instead of `VARCHAR`, the
-GlassFish Server automatically trims any extra spaces when retrieving
-primary key values. It is not a good practice to use a fixed length
-`CHAR` column as a primary key. Use this feature with schemas that
-cannot be changed, such as a schema inherited from a legacy application.
-
-[[beajs]][[GSDVG00306]][[managed-fields]]
-
-Managed Fields
-++++++++++++++
-
-A managed field is a CMP or CMR field that is mapped to the same
-database column as another CMP or CMR field. CMP fields mapped to the
-same column and CMR fields mapped to exactly the same column lists
-always have the same value in memory. For CMR fields that share only a
-subset of their mapped columns, changes to the columns affect the
-relationship fields in memory differently. Basically, the GlassFish
-Server always tries to keep the state of the objects in memory
-synchronized with the database.
-
-A managed field can have any `fetched-with` subelement. If the
-`fetched-with` subelement is `<default/>`, the
-`-DAllowManagedFieldsInDefaultFetchGroup` flag must be set to `true`.
-See link:#gemln[Default Fetch Group Flags] and
-"link:../application-deployment-guide/dd-elements.html#GSDPG00153[fetched-with]" in GlassFish Server Open Source Edition
-Application Deployment Guide.
-
-[[beajt]][[GSDVG00307]][[blob-support]]
-
-BLOB Support
-++++++++++++
-
-Binary Large Object (BLOB) is a data type used to store values that do
-not correspond to other types such as numbers, strings, or dates. Java
-fields whose types implement java.io.Serializable or are represented as
-`byte[]` can be stored as BLOBs.
-
-If a CMP field is defined as Serializable, it is serialized into a
-`byte[]` before being stored in the database. Similarly, the value
-fetched from the database is deserialized. However, if a CMP field is
-defined as `byte[]`, it is stored directly instead of being serialized
-and deserialized when stored and fetched, respectively.
-
-To enable BLOB support in the GlassFish Server environment, define a CMP
-field of type `byte[]` or a user-defined type that implements the
-java.io.Serializable interface. If you map the CMP bean to an existing
-database schema, map the field to a column of type BLOB.
-
-To use BLOB or CLOB data types larger than 4 KB for CMP using the Inet
-Oraxo JDBC Driver for Oracle Databases, you must set the `streamstolob`
-property value to `true`.
-
-For a list of the JDBC drivers currently supported by the GlassFish
-Server, see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release
-Notes]. For configurations of supported and other drivers, see
-"link:../administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-For automatic mapping, you might need to change the default BLOB column
-length for the generated schema using the `schema-generator-properties`
-element in `glassfish-ejb-jar.xml`. See your database vendor
-documentation to determine whether you need to specify the length. For
-example:
-
-[source,oac_no_warn]
-----
-<schema-generator-properties>
-   <property>
-      <name>Employee.voiceGreeting.jdbc-type</name>
-      <value>BLOB</value>
-   </property>
-   <property>
-      <name>Employee.voiceGreeting.jdbc-maximum-length</name>
-      <value>10240</value>
-   </property>
-   ...
-</schema-generator-properties>
-----
-
-[[beaju]][[GSDVG00308]][[clob-support]]
-
-CLOB Support
-++++++++++++
-
-Character Large Object (CLOB) is a data type used to store and retrieve
-very long text fields. CLOBs translate into long strings.
-
-To enable CLOB support in the GlassFish Server environment, define a CMP
-field of type `java.lang.String`. If you map the CMP bean to an existing
-database schema, map the field to a column of type CLOB.
-
-To use BLOB or CLOB data types larger than 4 KB for CMP using the Inet
-Oraxo JDBC Driver for Oracle Databases, you must set the `streamstolob`
-property value to `true`.
-
-For a list of the JDBC drivers currently supported by the GlassFish
-Server, see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release
-Notes]. For configurations of supported and other drivers, see
-"link:../administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-For automatic mapping, you might need to change the default CLOB column
-length for the generated schema using the `schema-generator-properties`
-element in `glassfish-ejb-jar.xml`. See your database vendor
-documentation to determine whether you need to specify the length. For
-example:
-
-[source,oac_no_warn]
-----
-<schema-generator-properties>
-   <property>
-      <name>Employee.resume.jdbc-type</name>
-      <value>CLOB</value>
-   </property>
-   <property>
-      <name>Employee.resume.jdbc-maximum-length</name>
-      <value>10240</value>
-   </property>
-   ...
-</schema-generator-properties>
-----
-
-[[beajv]][[GSDVG00152]][[automatic-schema-generation-for-cmp]]
-
-Automatic Schema Generation for CMP
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The automatic schema generation feature provided in the GlassFish Server
-defines database tables based on the fields in entity beans and the
-relationships between the fields. This insulates developers from many of
-the database related aspects of development, allowing them to focus on
-entity bean development. The resulting schema is usable as-is or can be
-given to a database administrator for tuning with respect to
-performance, security, and so on.
-
-The following topics are addressed here:
-
-* link:#beajw[Supported Data Types for CMP]
-* link:#beajx[Generation Options for CMP]
-
-
-[NOTE]
-=======================================================================
-
-Automatic schema generation is supported on an all-or-none basis: it
-expects that no tables exist in the database before it is executed. It
-is not intended to be used as a tool to generate extra tables or
-constraints.
-
-Deployment won't fail if all tables are not created, and undeployment
-won't fail if not all tables are dropped. This is done to allow you to
-investigate the problem and fix it manually. You should not rely on the
-partially created database schema to be correct for running the
-application.
-
-=======================================================================
-
-
-[[beajw]][[GSDVG00437]][[supported-data-types-for-cmp]]
-
-Supported Data Types for CMP
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-CMP supports a set of JDBC data types that are used in mapping Java data
-fields to SQL types. Supported JDBC data types are as follows: BIGINT,
-BIT, BLOB, CHAR, CLOB, DATE, DECIMAL, DOUBLE, FLOAT, INTEGER, NUMERIC,
-REAL, SMALLINT, TIME, TIMESTAMP, TINYINT, VARCHAR.
-
-The following table contains the mappings of Java types to JDBC types
-when automatic mapping is used.
-
-[[GSDVG550]][[sthref19]][[fvyaq]]
-
-
-Table 9-1 Java Type to JDBC Type Mappings for CMP
-
-[width="100%",cols="39%,40%,21%",options="header",]
-|============================================
-|Java Type |JDBC Type |Nullability
-|`boolean` |`BIT` |No
-|`java.lang.Boolean` |`BIT` |Yes
-|`byte` |`TINYINT` |No
-|`java.lang.Byte` |`TINYINT` |Yes
-|`double` |`DOUBLE` |No
-|`java.lang.Double` |`DOUBLE` |Yes
-|`float` |`REAL` |No
-|`java.lang.Float` |`REAL` |Yes
-|`int` |`INTEGER` |No
-|`java.lang.Integer` |`INTEGER` |Yes
-|`long` |`BIGINT` |No
-|`java.lang.Long` |`BIGINT` |Yes
-|`short` |`SMALLINT` |No
-|`java.lang.Short` |`SMALLINT` |Yes
-|`java.math.BigDecimal` |`DECIMAL` |Yes
-|`java.math.BigInteger` |`DECIMAL` |Yes
-|`char` |`CHAR` |No
-|`java.lang.Character` |`CHAR` |Yes
-|`java.lang.String` |`VARCHAR` or `CLOB` |Yes
-|Serializable |`BLOB` |Yes
-|`byte[]` |`BLOB` |Yes
-|`java.util.Date` a|
-`DATE` (Oracle only)
-
-`TIMESTAMP` (all other databases)
-
- |Yes
-|`java.sql.Date` |`DATE` |Yes
-|`java.sql.Time` |`TIME` |Yes
-|`java.sql.Timestamp` |`TIMESTAMP` |Yes
-|============================================
-
-
-
-[NOTE]
-=======================================================================
-
-Java types assigned to CMP fields must be restricted to Java primitive
-types, Java Serializable types, `java.util.Date`, `java.sql.Date`,
-`java.sql.Time`, or `java.sql.Timestamp`. An entity bean local interface
-type (or a collection of such) can be the type of a CMR field.
-
-=======================================================================
-
-
-The following table contains the mappings of JDBC types to database
-vendor-specific types when automatic mapping is used. For a list of the
-JDBC drivers currently supported by the GlassFish Server, see the
-link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release Notes]. For
-configurations of supported and other drivers, see
-"link:../administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-[[GSDVG551]][[sthref20]][[fvymp]]
-
-
-Table 9-2 Mappings of JDBC Types to Database Vendor Specific Types for
-CMP
-
-[width="100%",cols="15%,17%,17%,17%,17%,17%",options="header",]
-|=======================================================================
-|JDBC Type |Apache Derby, CloudScape |Oracle |DB2 |Sybase ASE 12.5
-|MS-SQL Server
-|`BIT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`TINYINT` |`BIT`
-
-|`TINYINT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`TINYINT` |`TINYINT`
-
-|`SMALLINT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`SMALLINT` |`SMALLINT`
-
-|`INTEGER` |`INTEGER` |`INTEGER` |`INTEGER` |`INTEGER` |`INTEGER`
-
-|`BIGINT` |`BIGINT` |`NUMBER` |`BIGINT` |`NUMERIC` |`NUMERIC`
-
-|`REAL` |`REAL` |`REAL` |`FLOAT` |`FLOAT` |`REAL`
-
-|`DOUBLE` |`DOUBLE PRECISION` |`DOUBLE PRECISION` |`DOUBLE`
-|`DOUBLE PRECISION` |`FLOAT`
-
-|`DECIMAL(p,s)` |`DECIMAL(p,s)` |`NUMBER(p,s)` |`DECIMAL(p,s)`
-|`DECIMAL(p,s)` |`DECIMAL(p,s)`
-
-|`VARCHAR` |`VARCHAR` |`VARCHAR2` |`VARCHAR` |`VARCHAR` |`VARCHAR`
-
-|`DATE` |`DATE` |`DATE` |`DATE` |`DATETIME` |`DATETIME`
-
-|`TIME` |`TIME` |`DATE` |`TIME` |`DATETIME` |`DATETIME`
-
-|`TIMESTAMP` |`TIMESTAMP` |`TIMESTAMP(9)` |`TIMESTAMP` |`DATETIME`
-|`DATETIME`
-
-|`BLOB` |`BLOB` |`BLOB` |`BLOB` |`IMAGE` |`IMAGE`
-
-|`CLOB` |`CLOB` |`CLOB` |`CLOB` |`TEXT` |`NTEXT`
-|=======================================================================
-
-
-[[beajx]][[GSDVG00438]][[generation-options-for-cmp]]
-
-Generation Options for CMP
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Deployment descriptor elements or `asadmin` command line options can
-control automatic schema generation by the following:
-
-* Creating tables during deployment
-* Dropping tables during undeployment
-* Dropping and creating tables during redeployment
-* Specifying the database vendor
-* Specifying that table names are unique
-* Specifying type mappings for individual CMP fields
-
-
-[NOTE]
-=======================================================================
-
-Before using these options, make sure you have a properly configured CMP
-resource. See link:#beakb[Configuring the CMP Resource].
-
-For a read-only bean, do not create the database schema during
-deployment. Instead, work with your database administrator to populate
-the data into the tables. See link:ejb.html#beail[Using Read-Only Beans].
-
-Automatic schema generation is not supported for beans with version
-column consistency checking. Instead, work with your database
-administrator to create the schema and add the required triggers. See
-link:#beakj[Version Column Consistency Checking].
-
-=======================================================================
-
-
-The following optional data subelements of the `cmp-resource` element in
-the `glassfish-ejb-jar.xml` file control the automatic creation of
-database tables at deployment. For more information about the
-`cmp-resource` element, see "link:../application-deployment-guide/dd-elements.html#GSDPG00115[cmp-resource]" in
-GlassFish Server Open Source Edition Application Deployment Guide and
-link:#beakb[Configuring the CMP Resource].
-
-[[GSDVG552]][[sthref21]][[fvymo]]
-
-
-Table 9-3 The `glassfish-ejb-jar.xml` Generation Elements
-
-[width="172%",cols="20%,46%,34%",options="header",]
-|=======================================================================
-|Element |Default |Description
-|link:../application-deployment-guide/dd-elements.html#GSDPG00131[`create-tables-at-deploy`] |`false` |If `true`, causes
-database tables to be created for beans that are automatically mapped by
-the EJB container. No unique constraints are created. If `false`, does
-not create tables.
-
-|link:../application-deployment-guide/dd-elements.html#GSDPG00141[`drop-tables-at-undeploy`] |`false` |If `true`, causes
-database tables that were automatically created when the bean(s) were
-last deployed to be dropped when the bean(s) are undeployed. If `false`,
-does not drop tables.
-
-|link:../application-deployment-guide/dd-elements.html#GSDPG00133[`database-vendor-name`] |none a|
-Specifies the name of the database vendor for which tables are created.
-Allowed values are `javadb`, `db2`, `mssql`, `mysql`, `oracle`,
-`postgresql`, `pointbase`, `derby` (also for CloudScape), and `sybase`,
-case-insensitive.
-
-If no value is specified, a connection is made to the resource specified
-by the `jndi-name` subelement of the `cmp-resource` element in the
-`glassfish-ejb-jar.xml` file, and the database vendor name is read. If
-the connection cannot be established, or if the value is not recognized,
-SQL-92 compliance is presumed.
-
-|link:../application-deployment-guide/dd-elements.html#GSDPG00261[`schema-generator-properties`] |none a|
-Specifies field-specific column attributes in `property` subelements.
-Each property name is of the following format:
-
-bean-name`.`field-name`.`attribute
-
-For example:
-
-`Employee.firstName.jdbc-type`
-
-Also allows you to set the `use-unique-table-names` property. If `true`,
-this property specifies that generated table names are unique within
-each GlassFish Server domain. The default is `false`.
-
-For further information and an example, see
-"link:../application-deployment-guide/dd-elements.html#GSDPG00261[schema-generator-properties]" in GlassFish Server Open
-Source Edition Application Deployment Guide.
-
-|=======================================================================
-
-
-The following options of the `asadmin deploy` or `asadmin deploydir`
-command control the automatic creation of database tables at deployment.
-
-[[GSDVG553]][[sthref22]][[fvymn]]
-
-
-Table 9-4 The `asadmin deploy` and `asadmin deploydir` Generation
-Options for CMP
-
-[width="172%",cols="16%,46%,38%",options="header",]
-|=======================================================================
-|Option |Default |Description
-|`--createtables` |none |If `true`, causes database tables to be created
-for beans that need them. No unique constraints are created. If `false`,
-does not create tables. If not specified, the value of the
-`create-tables-at-deploy` attribute in `glassfish-ejb-jar.xml` is used.
-
-|`--dropandcreatetables` |none a|
-If `true`, and if tables were automatically created when this
-application was last deployed, tables from the earlier deployment are
-dropped and fresh ones are created.
-
-If `true`, and if tables were not automatically created when this
-application was last deployed, no attempt is made to drop any tables. If
-tables with the same names as those that would have been automatically
-created are found, the deployment proceeds, but a warning indicates that
-tables could not be created.
-
-If `false`, settings of `create-tables-at-deploy` or
-`drop-tables-at-undeploy` in the `glassfish-ejb-jar.xml` file are
-overridden.
-
-|`--uniquetablenames` |none |If `true`, specifies that table names are
-unique within each GlassFish Server domain. If not specified, the value
-of the `use-unique-table-names` property in `glassfish-ejb-jar.xml` is
-used.
-
-|`--dbvendorname` |none a|
-Specifies the name of the database vendor for which tables are created.
-Allowed values are `javadb`, `db2`, `mssql`, `oracle`, `postgresql`,
-`pointbase`, `derby` (also for CloudScape), and `sybase`,
-case-insensitive.
-
-If not specified, the value of the `database-vendor-name` attribute in
-`glassfish-ejb-jar.xml` is used.
-
-If no value is specified, a connection is made to the resource specified
-by the `jndi-name` subelement of the `cmp-resource` element in the
-`glassfish-ejb-jar.xml` file, and the database vendor name is read. If
-the connection cannot be established, or if the value is not recognized,
-SQL-92 compliance is presumed.
-
-|=======================================================================
-
-
-If one or more of the beans in the module are manually mapped and you
-use any of the `asadmin deploy` or `asadmin deploydir` options, the
-deployment is not harmed in any way, but the options have no effect, and
-a warning is written to the server log.
-
-The following options of the `asadmin undeploy` command control the
-automatic removal of database tables at undeployment.
-
-[[GSDVG554]][[sthref23]][[fvymt]]
-
-
-Table 9-5 The `asadmin undeploy` Generation Options for CMP
-
-[width="172%",cols="10%,46%,44%",options="header",]
-|=======================================================================
-|Option |Default |Description
-|`--droptables` |none a|
-If `true`, causes database tables that were automatically created when
-the bean(s) were last deployed to be dropped when the bean(s) are
-undeployed. If `false`, does not drop tables.
-
-If not specified, the value of the `drop-tables-at-undeploy` attribute
-in `glassfish-ejb-jar.xml` is used.
-
-|=======================================================================
-
-
-For more information about the `asadmin deploy`, `asadmin deploydir`,
-and `asadmin undeploy` commands, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server
-Open Source Edition Reference Manual].
-
-When command line and `glassfish-ejb-jar.xml` options are both
-specified, the `asadmin` options take precedence.
-
-[[beajy]][[GSDVG00153]][[schema-capture]]
-
-Schema Capture
-~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#beajz[Automatic Database Schema Capture]
-* link:#beaka[Using the `capture-schema` Utility]
-
-[[beajz]][[GSDVG00439]][[automatic-database-schema-capture]]
-
-Automatic Database Schema Capture
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure a CMP bean in GlassFish Server to automatically
-capture the database metadata and save it in a `.dbschema` file during
-deployment. If the `sun-cmp-mappings.xml` file contains an empty
-`<schema/>` entry, the `cmp-resource` entry in the
-`glassfish-ejb-jar.xml` file is used to get a connection to the
-database, and automatic generation of the schema is performed.
-
-
-[NOTE]
-=======================================================================
-
-Before capturing the database schema automatically, make sure you have a
-properly configured CMP resource. See link:#beakb[Configuring the CMP
-Resource].
-
-=======================================================================
-
-
-[[beaka]][[GSDVG00440]][[using-the-capture-schema-utility]]
-
-Using the `capture-schema` Utility
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can use the `capture-schema` command to manually generate the
-database metadata (`.dbschema`) file. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-The `capture-schema` utility does not modify the schema in any way. Its
-only purpose is to provide the persistence engine with information about
-the structure of the database (the schema).
-
-Keep the following in mind when using the `capture-schema` command:
-
-* The name of a `.dbschema` file must be unique across all deployed
-modules in a domain.
-* If more than one schema is accessible for the schema user, more than
-one table with the same name might be captured if the `-schemaname`
-option of `capture-schema` is not set.
-* The schema name must be upper case.
-* Table names in databases are case-sensitive. Make sure that the table
-name matches the name in the database.
-* PostgreSQL databases internally convert all names to lower case.
-Before running the `capture-schema` command on a PostgreSQL database,
-make sure table and column names are lower case in the
-`sun-cmp-mappings.xml` file.
-* An Oracle database user running the `capture-schema` command needs
-ANALYZE ANY TABLE privileges if that user does not own the schema. These
-privileges are granted to the user by the database administrator.
-
-[[beakb]][[GSDVG00154]][[configuring-the-cmp-resource]]
-
-Configuring the CMP Resource
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-An EJB module that contains CMP beans requires the JNDI name of a JDBC
-resource in the `jndi-name` subelement of the `cmp-resource` element in
-the `glassfish-ejb-jar.xml` file. Set `PersistenceManagerFactory`
-properties as properties of the `cmp-resource` element in the
-`glassfish-ejb-jar.xml` file. See "link:../application-deployment-guide/dd-elements.html#GSDPG00115[cmp-resource]" in
-GlassFish Server Open Source Edition Application Deployment Guide.
-
-In the Administration Console, open the Resources component, then select
-JDBC. Click the Help button in the Administration Console for
-information on creating a new JDBC resource.
-
-For a list of the JDBC drivers currently supported by the GlassFish
-Server, see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release
-Notes]. For configurations of supported and other drivers, see
-"link:../administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-For example, if the JDBC resource has the JNDI name `jdbc/MyDatabase`,
-set the CMP resource in the `glassfish-ejb-jar.xml` file as follows:
-
-[source,oac_no_warn]
-----
-<cmp-resource>
-   <jndi-name>jdbc/MyDatabase</jndi-name>
-</cmp-resource>
-----
-
-[[beaki]][[GSDVG00155]][[performance-related-features]]
-
-Performance-Related Features
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server provides the following features to enhance
-performance or allow more fine-grained data checking. These features are
-supported only for entity beans with container managed persistence.
-
-The following topics are addressed here:
-
-* link:#beakj[Version Column Consistency Checking]
-* link:#beakk[Relationship Prefetching]
-* link:#beakl[Read-Only Beans]
-* link:#gemln[Default Fetch Group Flags]
-
-
-[NOTE]
-==================================================================
-
-Use of any of these features results in a non-portable application.
-
-==================================================================
-
-
-[[beakj]][[GSDVG00441]][[version-column-consistency-checking]]
-
-Version Column Consistency Checking
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The version consistency feature saves the bean state at first
-transactional access and caches it between transactions. The state is
-copied from the cache instead of being read from the database. The bean
-state is verified by primary key and version column values at flush for
-custom queries (for dirty instances only) and at commit (for clean and
-dirty instances).
-
-[[fwbei]][[GSDVG00071]][[to-use-version-consistency]]
-
-To Use Version Consistency
-++++++++++++++++++++++++++
-
-1.  Create the version column in the primary table.
-2.  Give the version column a numeric data type.
-3.  Provide appropriate update triggers on the version column. +
-These triggers must increment the version column on each update of the
-specified row.
-4.  Specify the version column. +
-This is specified in the `check-version-of-accessed-instances`
-subelement of the `consistency` element in the `sun-cmp-mappings.xml`
-file. See "link:../application-deployment-guide/dd-elements.html#GSDPG00126[consistency]" in GlassFish Server Open
-Source Edition Application Deployment Guide.
-5.  Map the CMP bean to an existing schema. +
-Automatic schema generation is not supported for beans with version
-column consistency checking. Instead, work with your database
-administrator to create the schema and add the required triggers.
-
-[[beakk]][[GSDVG00442]][[relationship-prefetching]]
-
-Relationship Prefetching
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-In many cases when an entity bean's state is fetched from the database,
-its relationship fields are always accessed in the same transaction.
-Relationship prefetching saves database round trips by fetching data for
-an entity bean and those beans referenced by its CMR fields in a single
-database round trip.
-
-To enable relationship prefetching for a CMR field, use the `default`
-subelement of the `fetched-with` element in the `sun-cmp-mappings.xml`
-file. By default, these CMR fields are prefetched whenever
-`findByPrimaryKey` or a custom finder is executed for the entity, or
-when the entity is navigated to from a relationship. (Recursive
-prefetching is not supported, because it does not usually enhance
-performance.) See "link:../application-deployment-guide/dd-elements.html#GSDPG00153[fetched-with]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-To disable prefetching for specific custom finders, use the
-`prefetch-disabled` element in the `glassfish-ejb-jar.xml` file. See
-"link:../application-deployment-guide/dd-elements.html#GSDPG00226[prefetch-disabled]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-Multilevel relationship prefetching is supported for CMP 2.1 entity
-beans. To enable multilevel relationship prefetching, set the following
-property using the `asadmin create-jvm-options` command:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Dcom.sun.jdo.spi.persistence.support.sqlstore.MULTILEVEL_PREFETCH=true
-----
-
-[[beakl]][[GSDVG00443]][[read-only-beans]]
-
-Read-Only Beans
-^^^^^^^^^^^^^^^
-
-Another feature that the GlassFish Server provides is the read-only
-bean, an entity bean that is never modified by an EJB client. Read-only
-beans avoid database updates completely.
-
-
-[NOTE]
-=======================================================================
-
-Read-only beans are specific to the GlassFish Server and are not part of
-the Enterprise JavaBeans Specification, v2.1. Use of this feature for an
-EJB 2.1 bean results in a non-portable application.
-
-=======================================================================
-
-
-A read-only bean can be used to cache a database entry that is
-frequently accessed but rarely updated (externally by other beans). When
-the data that is cached by a read-only bean is updated by another bean,
-the read-only bean can be notified to refresh its cached data.
-
-The GlassFish Server provides a number of ways by which a read-only
-bean's state can be refreshed. By setting the
-`refresh-period-in-seconds` element in the `glassfish-ejb-jar.xml` file
-and the `trans-attribute` element (or `@TransactionAttribute`
-annotation) in the `ejb-jar.xml` file, it is easy to configure a
-read-only bean that is one of the following:
-
-* Always refreshed
-* Periodically refreshed
-* Never refreshed
-* Programmatically refreshed
-
-Access to CMR fields of read-only beans is not supported. Deployment
-will succeed, but an exception will be thrown at runtime if a get or set
-method is invoked.
-
-Read-only beans are best suited for situations where the underlying data
-never changes, or changes infrequently. For further information and
-usage guidelines, see link:ejb.html#beail[Using Read-Only Beans].
-
-[[gemln]][[GSDVG00156]][[default-fetch-group-flags]]
-
-Default Fetch Group Flags
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Using the following flags can improve performance.
-
-Setting `-DAllowManagedFieldsInDefaultFetchGroup=true` allows CMP fields
-that by default cannot be placed into the default fetch group to be
-loaded along with all other fields that are fetched when the CMP state
-is loaded into memory. These could be multiple fields mapped to the same
-column in the database table, for example, an instance field and a CMR.
-By default this flag is set to `false`.
-
-For additional information, see "link:../application-deployment-guide/dd-elements.html#GSDPG00181[level]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-Setting `-DAllowMediatedWriteInDefaultFetchGroup` specifies how updated
-CMP fields are written back to the database. If the flag is `false`, all
-fields in the CMP bean are written back to the database if at least one
-field in the default fetch group has been changed in a transaction. If
-the flag is `true`, only fields modified by the bean are written back to
-the database. Specifying `true` can improve performance, particularly on
-database tables with many columns that have not been updated. By default
-this flag is set to `false`.
-
-To set one of these flags, use the `asadmin create-jvm-options` command.
-For example:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -DAllowManagedFieldsInDefaultFetchGroup=true
-----
-
-[[beakc]][[GSDVG00157]][[configuring-queries-for-1.1-finders]]
-
-Configuring Queries for 1.1 Finders
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#ganjq[About JDOQL Queries]
-* link:#gankm[Query Filter Expression]
-* link:#ganjt[Query Parameters]
-* link:#ganky[Query Variables]
-* link:#ganla[JDOQL Examples]
-
-[[ganjq]][[GSDVG00444]][[about-jdoql-queries]]
-
-About JDOQL Queries
-^^^^^^^^^^^^^^^^^^^
-
-The Enterprise JavaBeans Specification, v1.1 does not specify the format
-of the finder method description. The GlassFish Server uses an extension
-of Java Data Objects Query Language (JDOQL) queries to implement finder
-and selector methods. You can specify the following elements of the
-underlying JDOQL query:
-
-* Filter expression - A Java-like expression that specifies a condition
-that each object returned by the query must satisfy. Corresponds to the
-WHERE clause in EJB QL.
-* Query parameter declaration - Specifies the name and the type of one
-or more query input parameters. Follows the syntax for formal parameters
-in the Java language.
-* Query variable declaration - Specifies the name and type of one or
-more query variables. Follows the syntax for local variables in the Java
-language. A query filter might use query variables to implement joins.
-* Query ordering declaration - Specifies the ordering expression of the
-query. Corresponds to the ORDER BY clause of EJB QL.
-
-The GlassFish Server specific deployment descriptor
-(`glassfish-ejb-jar.xml`) provides the following elements to store the
-EJB 1.1 finder method settings:
-
-[source,oac_no_warn]
-----
-query-filter
-query-params
-query-variables
-query-ordering
-----
-
-The bean developer uses these elements to construct a query. When the
-finder method that uses these elements executes, the values of these
-elements are used to execute a query in the database. The objects from
-the JDOQL query result set are converted into primary key instances to
-be returned by the EJB 1.1 `ejbFind` method.
-
-The JDO specification, http://jcp.org/en/jsr/detail?id=12[JSR 12]
-(`http://jcp.org/en/jsr/detail?id=12`), provides a comprehensive
-description of JDOQL. The following information summarizes the elements
-used to define EJB 1.1 finders.
-
-[[gankm]][[GSDVG00445]][[query-filter-expression]]
-
-Query Filter Expression
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The filter expression is a String containing a Boolean expression
-evaluated for each instance of the candidate class. If the filter is not
-specified, it defaults to true. Rules for constructing valid expressions
-follow the Java language, with the following differences:
-
-* Equality and ordering comparisons between primitives and instances of
-wrapper classes are valid.
-* Equality and ordering comparisons of Date fields and Date parameters
-are valid.
-* Equality and ordering comparisons of String fields and String
-parameters are valid.
-* White space (non-printing characters space, tab, carriage return, and
-line feed) is a separator and is otherwise ignored.
-* The following assignment operators are not supported.
-
-** Comparison operators such as =, +=, and so on
-
-** Pre- and post-increment
-
-** Pre- and post-decrement
-* Methods, including object construction, are not supported, except for
-these methods. +
-[source,oac_no_warn]
-----
-Collection.contains(Object o)
-Collection.isEmpty()
-String.startsWith(String s)
-String.endsWith(String e)
-----
-In addition, the GlassFish Server supports the following nonstandard
-JDOQL methods. +
-[source,oac_no_warn]
-----
-String.like(String pattern)
-String.like(String pattern, char escape)
-String.substring(int start, int length)
-String.indexOf(String str)
-String.indexOf(String str, int start)
-String.length()
-Math.abs(numeric n)
-Math.sqrt(double d)
-----
-* Navigation through a null-valued field, which throws a
-`NullPointerException`, is treated as if the sub-expression returned
-`false`.
-
-
-[NOTE]
-=======================================================================
-
-Comparisons between floating point values are by nature inexact.
-Therefore, equality comparisons (== and !=) with floating point values
-should be used with caution. Identifiers in the expression are
-considered to be in the name space of the candidate class, with the
-addition of declared parameters and variables. As in the Java language,
-`this` is a reserved word, and refers to the current instance being
-evaluated.
-
-=======================================================================
-
-
-The following expressions are supported.
-
-* Relational operators (==, !=,>, <,>=, <=)
-* Boolean operators (&, &&, |, ||, ~, !)
-* Arithmetic operators (+, -, *, /)
-* String concatenation, only for String + String
-* Parentheses to explicitly mark operator precedence
-* Cast operator
-* Promotion of numeric operands for comparisons and arithmetic
-operations
-
-The rules for promotion follow the Java rules extended by BigDecimal,
-BigInteger, and numeric wrapper classes. See the numeric promotions of
-the Java language specification.
-
-[[ganjt]][[GSDVG00446]][[query-parameters]]
-
-Query Parameters
-^^^^^^^^^^^^^^^^
-
-The parameter declaration is a String containing one or more parameter
-type declarations separated by commas. This follows the Java syntax for
-method signatures.
-
-[[ganky]][[GSDVG00447]][[query-variables]]
-
-Query Variables
-^^^^^^^^^^^^^^^
-
-The type declarations follow the Java syntax for local variable
-declarations.
-
-[[ganla]][[GSDVG00448]][[jdoql-examples]]
-
-JDOQL Examples
-^^^^^^^^^^^^^^
-
-This section provides a few query examples.
-
-[[gankk]][[GSDVG00309]][[example-1]]
-
-Example 1
-+++++++++
-
-The following query returns all players called Michael. It defines a
-filter that compares the name field with a string literal:
-
-[source,oac_no_warn]
-----
-name == "Michael"
-----
-
-The `finder` element of the `glassfish-ejb-jar.xml` file looks like
-this:
-
-[source,oac_no_warn]
-----
-<finder>
-   <method-name>findPlayerByName</method-name>
-   <query-filter>name == "Michael"</query-filter>
-</finder>
-----
-
-[[ganjz]][[GSDVG00310]][[example-2]]
-
-Example 2
-+++++++++
-
-This query returns all products in a specified price range. It defines
-two query parameters which are the lower and upper bound for the price:
-double low, double high. The filter compares the query parameters with
-the price field:
-
-[source,oac_no_warn]
-----
-low < price && price < high
-----
-
-Query ordering is set to `price ascending`.
-
-The `finder` element of the `glassfish-ejb-jar.xml` file looks like
-this:
-
-[source,oac_no_warn]
-----
-<finder>
-   <method-name>findInRange</method-name>
-   <query-params>double low, double high</query-params>
-   <query-filter>low &lt; price &amp;&amp; price &lt high</query-filter>
-   <query-ordering>price ascending</query-ordering>
-</finder>
-----
-
-[[gankz]][[GSDVG00311]][[example-3]]
-
-Example 3
-+++++++++
-
-This query returns all players having a higher salary than the player
-with the specified name. It defines a query parameter for the name
-`java.lang.String name`. Furthermore, it defines a variable to which the
-player's salary is compared. It has the type of the persistence capable
-class that corresponds to the bean:
-
-[source,oac_no_warn]
-----
-    mypackage.PlayerEJB_170160966_JDOState player
-----
-
-The filter compares the salary of the current player denoted by the
-`this` keyword with the salary of the player with the specified name:
-
-[source,oac_no_warn]
-----
-    (this.salary> player.salary) && (player.name == name)
-----
-
-The `finder` element of the `glassfish-ejb-jar.xml` file looks like
-this:
-
-[source,oac_no_warn]
-----
-<finder>
-   <method-name>findByHigherSalary</method-name>
-   <query-params>java.lang.String name</query-params>
-   <query-filter>
-      (this.salary &gt; player.salary) &amp;&amp; (player.name == name)
-   </query-filter>
-   <query-variables>
-      mypackage.PlayerEJB_170160966_JDOState player
-   </query-variables>
-</finder>
-----
-
-[[beakm]][[GSDVG00158]][[cmp-restrictions-and-optimizations]]
-
-CMP Restrictions and Optimizations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section discusses restrictions and performance optimizations that
-pertain to using CMP.
-
-The following topics are addressed here:
-
-* link:#gdtfj[Disabling ORDER BY Validation]
-* link:#geprt[Setting the Heap Size on DB2]
-* link:#beakn[Eager Loading of Field State]
-* link:#beako[Restrictions on Remote Interfaces]
-* link:#gcnto[PostgreSQL Case Insensitivity]
-* link:#beakr[No Support for `lock-when-loaded` on Sybase]
-* link:#beakp[Sybase Finder Limitation]
-* link:#beakq[Date and Time Fields]
-* link:#beaks[Set `RECURSIVE_TRIGGERS` to `false` on MSSQL]
-* link:#gbhbr[MySQL Database Restrictions]
-
-[[gdtfj]][[GSDVG00449]][[disabling-order-by-validation]]
-
-Disabling ORDER BY Validation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-EJB QL as defined in the EJB 2.1 Specification defines certain
-restrictions for the SELECT clause of an ORDER BY query (see section
-11.2.8 ORDER BY Clause). This ensures that a query does not order by a
-field that is not returned by the query. By default, the EJB QL compiler
-checks the above restriction and throws an exception if the query does
-not conform.
-
-However, some databases support SQL statements with an ORDER BY column
-that is not included in the SELECT clause. To disable the validation of
-the ORDER BY clause against the SELECT clause, set the
-`DISABLE_ORDERBY_VALIDATION` JVM option as follows:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options 
--Dcom.sun.jdo.spi.persistence.support.ejb.ejbqlc.DISABLE_ORDERBY_VALIDATION=true
-----
-
-The `DISABLE_ORDERBY_VALIDATION` option is set to `false` by default.
-Setting it to `true` results in a non-portable module or application.
-
-[[geprt]][[GSDVG00450]][[setting-the-heap-size-on-db2]]
-
-Setting the Heap Size on DB2
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-On DB2, the database configuration parameter `APPLHEAPSZ` determines the
-heap size. If you are using the Oracle or DataDirect database driver,
-set this parameter to at least `2048` for CMP. For more information, see
-`http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/opt/tsbp2024.html`.
-
-[[beakn]][[GSDVG00451]][[eager-loading-of-field-state]]
-
-Eager Loading of Field State
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, the EJB container loads the state for all persistent fields
-(excluding relationship, BLOB, and CLOB fields) before invoking the
-`ejbLoad` method of the abstract bean. This approach might not be
-optimal for entity objects with large state if most business methods
-require access to only parts of the state.
-
-Use the `fetched-with` element in `sun-cmp-mappings.xml` for fields that
-are used infrequently. See "link:../application-deployment-guide/dd-elements.html#GSDPG00153[fetched-with]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-[[beako]][[GSDVG00452]][[restrictions-on-remote-interfaces]]
-
-Restrictions on Remote Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following restrictions apply to the remote interface of an EJB 2.1
-bean that uses CMP:
-
-* Do not expose the `get` and `set` methods for CMR fields or the
-persistence collection classes that are used in container-managed
-relationships through the remote interface of the bean. +
-However, you are free to expose the `get` and `set` methods that
-correspond to the CMP fields of the entity bean through the bean's
-remote interface.
-* Do not expose the container-managed collection classes that are used
-for relationships through the remote interface of the bean.
-* Do not expose local interface types or local home interface types
-through the remote interface or remote home interface of the bean.
-
-Dependent value classes can be exposed in the remote interface or remote
-home interface, and can be included in the client EJB JAR file.
-
-[[gcnto]][[GSDVG00453]][[postgresql-case-insensitivity]]
-
-PostgreSQL Case Insensitivity
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Case-sensitive behavior cannot be achieved for PostgreSQL databases.
-PostgreSQL databases internally convert all names to lower case, which
-makes the following workarounds necessary:
-
-* In the CMP 2.1 runtime, PostgreSQL table and column names are not
-quoted, which makes these names case insensitive.
-* Before running the `capture-schema` command on a PostgreSQL database,
-make sure table and column names are lower case in the
-`sun-cmp-mappings.xml` file.
-
-[[beakr]][[GSDVG00454]][[no-support-for-lock-when-loaded-on-sybase]]
-
-No Support for `lock-when-loaded` on Sybase
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For EJB 2.1 beans, the `lock-when-loaded` consistency level is
-implemented by placing update locks on the data corresponding to a bean
-when the data is loaded from the database. There is no suitable
-mechanism available on Sybase databases to implement this feature.
-Therefore, the `lock-when-loaded` consistency level is not supported on
-Sybase databases. See "link:../application-deployment-guide/dd-elements.html#GSDPG00126[consistency]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-[[beakp]][[GSDVG00455]][[sybase-finder-limitation]]
-
-Sybase Finder Limitation
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-If a finder method with an input greater than 255 characters is executed
-and the primary key column is mapped to a VARCHAR column, Sybase
-attempts to convert type VARCHAR to type TEXT and generates the
-following error:
-
-[source,oac_no_warn]
-----
-com.sybase.jdbc2.jdbc.SybSQLException: Implicit conversion from datatype 
-'TEXT' to 'VARCHAR' is not allowed. Use the CONVERT function to run this query. 
-----
-
-To avoid this error, make sure the finder method input is less than 255
-characters.
-
-[[beakq]][[GSDVG00456]][[date-and-time-fields]]
-
-Date and Time Fields
-^^^^^^^^^^^^^^^^^^^^
-
-If a field type is a Java date or time type (`java.util.Date`,
-`java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp`), make sure that
-the field value exactly matches the value in the database.
-
-For example, the following code uses a `java.sql.Date` type as a primary
-key field:
-
-[source,oac_no_warn]
-----
-java.sql.Date myDate = new java.sql.Date(System.currentTimeMillis())
-BeanA.create(myDate, ...);
-----
-
-For some databases, this code results in only the year, month, and date
-portion of the field value being stored in the database. Later if the
-client tries to find this bean by primary key as follows, the bean is
-not found in the database because the value does not match the one that
-is stored in the database.
-
-[source,oac_no_warn]
-----
-myBean = BeanA.findByPrimaryKey(myDate);
-----
-
-Similar problems can happen if the database truncates the timestamp
-value while storing it, or if a custom query has a date or time value
-comparison in its WHERE clause.
-
-For automatic mapping to an Oracle database, fields of type
-`java.util.Date`, `java.sql.Date`, and `java.sql.Time` are mapped to
-Oracle's DATE data type. Fields of type `java.sql.Timestamp` are mapped
-to Oracle's `TIMESTAMP(9)` data type.
-
-[[beaks]][[GSDVG00457]][[set-recursive_triggers-to-false-on-mssql]]
-
-Set `RECURSIVE_TRIGGERS` to `false` on MSSQL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For version consistency triggers on MSSQL, the property
-`RECURSIVE_TRIGGERS` must be set to `false`, which is the default. If
-set to `true`, triggers throw a `java.sql.SQLException`.
-
-Set this property as follows:
-
-[source,oac_no_warn]
-----
-EXEC sp_dboption 'database-name', 'recursive triggers', 'FALSE'
-go
-----
-
-You can test this property as follows:
-
-[source,oac_no_warn]
-----
-SELECT DATABASEPROPERTYEX('database-name', 'IsRecursiveTriggersEnabled')
-go
-----
-
-[[gbhbr]][[GSDVG00458]][[mysql-database-restrictions]]
-
-MySQL Database Restrictions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following restrictions apply when you use a MySQL database with the
-GlassFish Server for persistence.
-
-* MySQL treats `int1` and `int2` as reserved words. If you want to
-define `int1` and `int2` as fields in your table, use `\`int1\`` and
-`\`int2\`` field names in your SQL file.
-* When `VARCHAR` fields get truncated, a warning is displayed instead of
-an error. To get an error message, start the MySQL database in strict
-SQL mode.
-* The order of fields in a foreign key index must match the order in the
-explicitly created index on the primary table.
-* The `CREATE TABLE` syntax in the SQL file must end with the following
-line. +
-[source,oac_no_warn]
-----
-)  Engine=InnoDB;
-----
-`InnoDB` provides MySQL with a transaction-safe (ACID compliant) storage
-engine having commit, rollback, and crash recovery capabilities.
-* For a `FLOAT` type field, the correct precision must be defined. By
-default, MySQL uses four bytes to store a `FLOAT` type that does not
-have an explicit precision definition. For example, this causes a number
-such as 12345.67890123 to be rounded off to 12345.7 during an `INSERT`.
-To prevent this, specify `FLOAT(10,2)` in the DDL file, which forces the
-database to use an eight-byte double-precision column. For more
-information, see `http://dev.mysql.com/doc/mysql/en/numeric-types.html`.
-* To use `||` as the string concatenation symbol, start the MySQL server
-with the `--sql-mode="PIPES_AS_CONCAT"` option. For more information,
-see `http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html` and
-`http://dev.mysql.com/doc/mysql/en/ansi-mode.html`.
-* MySQL always starts a new connection when `autoCommit==true` is set.
-This ensures that each SQL statement forms a single transaction on its
-own. If you try to rollback or commit an SQL statement, you get an error
-message. +
-[source,oac_no_warn]
-----
-javax.transaction.SystemException: java.sql.SQLException: 
-Can't call rollback when autocommit=true
-
-javax.transaction.SystemException: java.sql.SQLException: 
-Error open transaction is not closed
-----
-To resolve this issue, add `relaxAutoCommit=true` to the JDBC URL. For
-more information, see `http://forums.mysql.com/read.php?39,31326,31404`.
-* Change the trigger create format from the following: +
-[source,oac_no_warn]
-----
-CREATE TRIGGER T_UNKNOWNPKVC1 
-BEFORE UPDATE ON UNKNOWNPKVC1
-FOR EACH ROW
-        WHEN (NEW.VERSION = OLD.VERSION)
-BEGIN
-        :NEW.VERSION := :OLD.VERSION + 1;
-END;
-/
-----
-To the following: +
-[source,oac_no_warn]
-----
-DELIMITER |
-CREATE TRIGGER T_UNKNOWNPKVC1
-BEFORE UPDATE ON UNKNOWNPKVC1
-FOR EACH ROW
-        WHEN (NEW.VERSION = OLD.VERSION)
-BEGIN
-        :NEW.VERSION := :OLD.VERSION + 1;
-END
-|
-DELIMITER ;
-----
-For more information, see
-`http://dev.mysql.com/doc/mysql/en/create-trigger.html`.
-* MySQL does not allow a `DELETE` on a row that contains a reference to
-itself. Here is an example that illustrates the issue. +
-[source,oac_no_warn]
-----
-create table EMPLOYEE (
-        empId   int         NOT NULL,
-        salary  float(25,2) NULL,
-        mgrId   int         NULL,
-        PRIMARY KEY (empId),
-        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
-        ) ENGINE=InnoDB;
-
-        insert into Employee values (1, 1234.34, 1);
-        delete from Employee where empId = 1;
-----
-This example fails with the following error message. +
-[source,oac_no_warn]
-----
-ERROR 1217 (23000): Cannot delete or update a parent row: 
-a foreign key constraint fails
-----
-To resolve this issue, change the table creation script to the
-following: +
-[source,oac_no_warn]
-----
-create table EMPLOYEE (
-        empId   int         NOT NULL,
-        salary  float(25,2) NULL,
-        mgrId   int         NULL,
-        PRIMARY KEY (empId),
-        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
-        ON DELETE SET NULL
-        ) ENGINE=InnoDB;
-
-        insert into Employee values (1, 1234.34, 1);
-        delete from Employee where empId = 1;
-----
-This can be done only if the foreign key field is allowed to be null.
-For more information, see
-`http://dev.mysql.com/doc/mysql/en/innodb-foreign-key-constraints.html`.
-* When an SQL script has foreign key constraints defined,
-`capture-schema` fails to capture the table information correctly. To
-work around the problem, remove the constraints and then run
-`capture-schema`. Here is an example that illustrates the issue. +
-[source,oac_no_warn]
-----
-CREATE TABLE ADDRESSBOOKBEANTABLE (ADDRESSBOOKNAME VARCHAR(255) 
-    NOT NULL PRIMARY KEY, 
-CONNECTEDUSERS              BLOB NULL, 
-OWNER                       VARCHAR(256), 
-FK_FOR_ACCESSPRIVILEGES     VARCHAR(256), 
-CONSTRAINT FK_ACCESSPRIVILEGE FOREIGN KEY (FK_FOR_ACCESSPRIVILEGES) 
-    REFERENCES ACCESSPRIVILEGESBEANTABLE (ROOT) 
-) ENGINE=InnoDB;  
-----
-To resolve this issue, change the table creation script to the
-following: +
-[source,oac_no_warn]
-----
-CREATE TABLE ADDRESSBOOKBEANTABLE (ADDRESSBOOKNAME VARCHAR(255) 
-    NOT NULL PRIMARY KEY, 
-CONNECTEDUSERS              BLOB NULL, 
-OWNER                       VARCHAR(256), 
-FK_FOR_ACCESSPRIVILEGES     VARCHAR(256) 
-) ENGINE=InnoDB;
-----
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/debugging-apps.adoc b/docs/application-development-guide/src/main/jbake/content/debugging-apps.adoc
deleted file mode 100644
index af555a7..0000000
--- a/docs/application-development-guide/src/main/jbake/content/debugging-apps.adoc
+++ /dev/null
@@ -1,467 +0,0 @@
-type=page
-status=published
-title=Debugging Applications
-next=part-apps-and-app-comps.html
-prev=class-loaders.html
-~~~~~~
-Debugging Applications
-======================
-
-[[GSDVG00004]][[beafc]]
-
-
-[[debugging-applications]]
-3 Debugging Applications
-------------------------
-
-This chapter gives guidelines for debugging applications in the Oracle
-GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#beafd[Enabling Debugging]
-* link:#beafe[JPDA Options]
-* link:#beaff[Generating a Stack Trace for Debugging]
-* link:#gekvq[Application Client Debugging]
-* link:#beafk[Open Message Queue Debugging]
-* link:#beafl[Enabling Verbose Mode]
-* link:#gkpdk[Class Loader Debugging]
-* link:#beafm[GlassFish Server Logging]
-* link:#beafn[Profiling Tools]
-
-[[beafd]][[GSDVG00101]][[enabling-debugging]]
-
-Enabling Debugging
-~~~~~~~~~~~~~~~~~~
-
-When you enable debugging, you enable both local and remote debugging.
-To start the server in debug mode, use the `--debug` option as follows:
-
-[source,oac_no_warn]
-----
-asadmin start-domain --debug [domain-name]
-----
-
-You can then attach to the server from the Java Debugger (`jdb`) at its
-default Java Platform Debugger Architecture (JPDA) port, which is 9009.
-For example, for UNIX systems:
-
-[source,oac_no_warn]
-----
-jdb -attach 9009
-----
-
-For Windows:
-
-[source,oac_no_warn]
-----
-jdb -connect com.sun.jdi.SocketAttach:port=9009
-----
-
-For more information about the `jdb` debugger, see the following links:
-
-* Java Platform Debugger Architecture - The Java Debugger:
-`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`
-* Java Platform Debugger Architecture - Connecting with JDB:
-`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`
-
-GlassFish Server debugging is based on the JPDA. For more information,
-see link:#beafe[JPDA Options].
-
-You can attach to the GlassFish Server using any JPDA compliant
-debugger, including that of http://www.netbeans.org[NetBeans]
-(`http://www.netbeans.org`), Java Studio Enterprise, JBuilder, Eclipse,
-and so on.
-
-You can enable debugging even when the GlassFish Server is started
-without the `--debug` option. This is useful if you start the GlassFish
-Server from the Windows Start Menu, or if you want to make sure that
-debugging is always turned on.
-
-[[fvyit]][[GSDVG00049]][[to-set-the-server-to-automatically-start-up-in-debug-mode]]
-
-To Set the Server to Automatically Start Up in Debug Mode
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Use the Administration Console. Select the JVM Settings component
-under the relevant configuration.
-2.  Check the Debug Enabled box.
-3.  To specify a different port (from 9009, the default) to use when
-attaching the JVM software to a debugger, specify `address=` port-number
-in the Debug Options field.
-4.  To add JPDA options, add any desired JPDA debugging options in Debug
-Options. See link:#beafe[JPDA Options].
-
-[[GSDVG532]]
-
-See Also
-
-For details, click the Help button in the Administration Console from
-the JVM Settings page.
-
-[[beafe]][[GSDVG00102]][[jpda-options]]
-
-JPDA Options
-~~~~~~~~~~~~
-
-The default JPDA options in GlassFish Server are as follows:
-
-[source,oac_no_warn]
-----
--Xdebug -agentlib:transport=dt_socket,server=y,suspend=n,address=9009
-----
-
-For Windows, you can change `dt_socket` to `dt_shmem`.
-
-If you substitute `suspend=y`, the JVM software starts in suspended mode
-and stays suspended until a debugger attaches to it. This is helpful if
-you want to start debugging as soon as the JVM software starts.
-
-To specify a different port (from 9009, the default) to use when
-attaching the JVM software to a debugger, specify `address=`port-number.
-
-You can include additional options. A list of JPDA debugging options is
-available at
-`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`.
-
-[[beaff]][[GSDVG00103]][[generating-a-stack-trace-for-debugging]]
-
-Generating a Stack Trace for Debugging
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To generate a Java stack trace for debugging, use the
-`asadmin generate-jvm-report --type=thread` command. The stack trace
-goes to the domain-dir`/logs/server.log` file and also appears on the
-command prompt screen. For more information about the
-`asadmin generate-jvm-report` command, see the link:../reference-manual/toc.html#GSRFM[GlassFish
-Server Open Source Edition Reference Manual].
-
-[[gekvq]][[GSDVG00104]][[application-client-debugging]]
-
-Application Client Debugging
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When the `appclient` script executes the `java` command to run the
-Application Client Container (ACC), which in turn runs the client, it
-includes on the command line the value of the `VMARGS` environment
-variable. You can set this variable to any suitable value. For example:
-
-[source,oac_no_warn]
-----
-VMARGS=-agentlib:transport=dt_socket,server=y,suspend=y,address=8118
-----
-
-For debugging an application client, you should set suspend to `y` so
-you can connect the debugger to the client before any code has actually
-executed. Otherwise, the client may start running and execute past the
-point you want to examine.
-
-You should use different ports for the server and client if you are
-debugging both concurrently. For details about setting the port, see
-link:#beafe[JPDA Options].
-
-You can also include JVM options in the `appclient` script directly. For
-information about the `appclient` script, see the link:../reference-manual/toc.html#GSRFM[GlassFish
-Server Open Source Edition Reference Manual].
-
-
-[NOTE]
-=======================================================================
-
-The Application Client Container is supported only in the full GlassFish
-Server, not in the Web Profile. See
-link:java-clients.html#beakt[Developing Java Clients].
-
-=======================================================================
-
-
-[[beafk]][[GSDVG00105]][[open-message-queue-debugging]]
-
-Open Message Queue Debugging
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Open Message Queue has a broker logger, which can be useful for
-debugging Java Message Service (JMS) applications, including
-message-driven bean applications. You can adjust the logger's verbosity,
-and you can send the logger output to the broker's console using the
-broker's `-tty` option. For more information, see the link:../../openmq/mq-admin-guide/toc.html#GMADG[Open
-Message Queue Administration Guide].
-
-
-[NOTE]
-=======================================================================
-
-JMS resources are supported only in the full GlassFish Server, not in
-the Web Profile. See link:jms.html#beaob[Using the Java Message Service].
-
-=======================================================================
-
-
-[[beafl]][[GSDVG00106]][[enabling-verbose-mode]]
-
-Enabling Verbose Mode
-~~~~~~~~~~~~~~~~~~~~~
-
-To have the server logs and messages printed to `System.out` on your
-command prompt screen, you can start the server in verbose mode. This
-makes it easy to do simple debugging using print statements, without
-having to view the `server.log` file every time.
-
-To start the server in verbose mode, use the `--verbose` option as
-follows:
-
-[source,oac_no_warn]
-----
-asadmin start-domain --verbose [domain-name]
-----
-
-When the server is in verbose mode, messages are logged to the console
-or terminal window in addition to the log file. In addition, pressing
-Ctrl-C stops the server and pressing Ctrl-\ (on UNIX platforms) or
-Ctrl-Break (on Windows platforms) prints a thread dump. On UNIX
-platforms, you can also print a thread dump using the `jstack` command
-(see
-`http://docs.oracle.com/javase/8/docs/technotes/tools/share/jstack.html`)
-or the command `kill -QUIT` process_id.
-
-[[gkpdk]][[GSDVG00107]][[class-loader-debugging]]
-
-Class Loader Debugging
-~~~~~~~~~~~~~~~~~~~~~~
-
-To generate class loading messages, use the following
-`asadmin create-jvm-options` command:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -verbose\:class
-----
-
-To send the JVM messages to a special JVM log file instead of `stdout`,
-use the following `asadmin create-jvm-options` commands:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -XX\:+LogVMOutput
-asadmin create-jvm-options -XX\:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log
-----
-
-
-[NOTE]
-=======================================================================
-
-These `-XX` options are specific to the OpenJDK (or Hotspot) JVM and do
-not work with the JRockit JVM.
-
-=======================================================================
-
-
-To send the GlassFish Server messages to the Administration Console
-instead of `stderr`, start the domain in verbose mode as described in
-link:#beafl[Enabling Verbose Mode].
-
-[[beafm]][[GSDVG00108]][[glassfish-server-logging]]
-
-GlassFish Server Logging
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can use the GlassFish Server's log files to help debug your
-applications. Use the Administration Console. Select the Stand-Alone
-Instances component, select the instance from the table, then click the
-View Log Files button in the General Information page. Or select the
-Cluster component, select the cluster from the table, select the
-Instances tab, select the instance from the table, then click the View
-Log Files button in the General Information page.
-
-To change logging settings, select Logger Settings under the relevant
-configuration.
-
-For details about logging, click the Help button in the Administration
-Console.
-
-[[beafn]][[GSDVG00109]][[profiling-tools]]
-
-Profiling Tools
-~~~~~~~~~~~~~~~
-
-You can use a profiler to perform remote profiling on the GlassFish
-Server to discover bottlenecks in server-side performance. This section
-describes how to configure profilers for use with GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#gcicc[The NetBeans Profiler]
-* link:#beafo[The HPROF Profiler]
-* link:#beafr[The JProbe Profiler]
-
-Information about comprehensive monitoring and management support in the
-Java 2 Platform, Standard Edition ( J2SE platform) is available at
-`http://docs.oracle.com/javase/8/docs/technotes/guides/management/index.html`.
-
-[[gcicc]][[GSDVG00345]][[the-netbeans-profiler]]
-
-The NetBeans Profiler
-^^^^^^^^^^^^^^^^^^^^^
-
-For information on how to use the NetBeans profiler, see
-`http://profiler.netbeans.org/index.html`.
-
-[[beafo]][[GSDVG00346]][[the-hprof-profiler]]
-
-The HPROF Profiler
-^^^^^^^^^^^^^^^^^^
-
-The Heap and CPU Profiling Agent (HPROF) is a simple profiler agent
-shipped with the Java 2 SDK. It is a dynamically linked library that
-interacts with the Java Virtual Machine Profiler Interface (JVMPI) and
-writes out profiling information either to a file or to a socket in
-ASCII or binary format.
-
-HPROF can monitor CPU usage, heap allocation statistics, and contention
-profiles. In addition, it can also report complete heap dumps and states
-of all the monitors and threads in the Java virtual machine. For more
-details on the HPROF profiler, see the technical article at
-`http://java.sun.com/developer/technicalArticles/Programming/HPROF.html`.
-
-After HPROF is enabled using the following instructions, its libraries
-are loaded into the server process.
-
-[[fvylg]][[GSDVG00050]][[to-use-hprof-profiling-on-unix]]
-
-To Use HPROF Profiling on UNIX
-++++++++++++++++++++++++++++++
-
-1.  Use the Administration Console. Select the JVM Settings component
-under the relevant configuration. Then select the Profiler tab.
-2.  Edit the following fields:
-* Profiler Name - `hprof`
-* Profiler Enabled - `true`
-* Classpath - (leave blank)
-* Native Library Path - (leave blank)
-* JVM Option - Select Add, type the HPROF JVM option in the Value field,
-then check its box. The syntax of the HPROF JVM option is as follows: +
-[source,oac_no_warn]
-----
--Xrunhprof[:help]|[:param=value,param2=value2, ...]
-----
-Here is an example of params you can use: +
-[source,oac_no_warn]
-----
--Xrunhprof:file=log.txt,thread=y,depth=3
-----
-The file parameter determines where the stack dump is written. +
-Using help lists parameters that can be passed to HPROF. The output is
-as follows: +
-[source,oac_no_warn]
-----
-Hprof usage: -Xrunhprof[:help]|[:<option>=<value>, ...]
-
-Option Name and Value   Description             Default
----------------------   -----------             -------
-heap=dump|sites|all     heap profiling          all
-cpu=samples|old         CPU usage               off
-format=a|b              ascii or binary output  a
-file=<file>             write data to file      java.hprof
-                               (.txt for ascii)
-net=<host>:<port>       send data over a socket write to file
-depth=<size>            stack trace depth       4
-cutoff=<value>          output cutoff point     0.0001
-lineno=y|n              line number in traces?  y
-thread=y|n              thread in traces?       n
-doe=y|n                 dump on exit?           y
-----
-::
-
-[NOTE]
-=======================================================================
-
-Do not use help in the JVM Option field. This parameter prints text to
-the standard output and then exits.
-
-The help output refers to the parameters as options, but they are not
-the same thing as JVM options.
-
-=======================================================================
-
-3.  [[hprofstp2]] +
-Restart the GlassFish Server. +
-This writes an HPROF stack dump to the file you specified using the file
-HPROF parameter.
-
-[[beafr]][[GSDVG00347]][[the-jprobe-profiler]]
-
-The JProbe Profiler
-^^^^^^^^^^^^^^^^^^^
-
-Information about JProbe from Sitraka is available at
-`http://www.quest.com/jprobe/`.
-
-After JProbe is installed using the following instructions, its
-libraries are loaded into the server process.
-
-[[fvymj]][[GSDVG00051]][[to-enable-remote-profiling-with-jprobe]]
-
-To Enable Remote Profiling With JProbe
-++++++++++++++++++++++++++++++++++++++
-
-1.  Install JProbe 3.0.1.1. +
-For details, see the JProbe documentation.
-2.  Configure GlassFish Server using the Administration Console:
-1.  Select the JVM Settings component under the relevant configuration.
-Then select the Profiler tab.
-2.  Edit the following fields before selecting Save and restarting the
-server: +
-Profiler Name - `jprobe` +
-Profiler Enabled - `true` +
-Classpath - (leave blank) +
-Native Library Path - JProbe-dir`/profiler` +
-JVM Option - For each of these options, select Add, type the option in
-the Value field, then check its box: +
-[source,oac_no_warn]
-----
-    -Xbootclasspath/p:JProbe-dir/profiler/jpagent.jar
-    -Xrunjprobeagent
-    -Xnoclassgc
-----
-::
-
-[NOTE]
-=======================================================================
-
-If any of the configuration options are missing or incorrect, the
-profiler might experience problems that affect the performance of the
-GlassFish Server.
-
-=======================================================================
-
-When the server starts up with this configuration, you can attach the
-profiler.
-3.  Set the following environment variable: +
-[source,oac_no_warn]
-----
-JPROBE_ARGS_0=-jp_input=JPL-file-path
-----
-See Step link:#jprbstp6[6] for instructions on how to create the JPL
-file.
-4.  Start the server instance.
-5.  Launch the `jpprofiler` and attach to Remote Session. The default
-port is `4444`.
-6.  [[jprbstp6]] +
-Create the JPL file using the JProbe Launch Pad. Here are the required
-settings:
-1.  Select Server Side for the type of application.
-2.  On the Program tab, provide the following details: +
-Target Server - other-server +
-Server home Directory - as-install +
-Server class File - `com.sun.enterprise.server.J2EERunner` +
-Working Directory - as-install +
-Classpath - as-install`/lib/appserv-rt.jar` +
-Source File Path - source-code-dir (in case you want to get the line
-level details) +
-Server class arguments - (optional) +
-Main Package - `com.sun.enterprise.server` +
-You must also set VM, Attach, and Coverage tabs appropriately. For
-further details, see the JProbe documentation. After you have created
-the JPL file, use this an input to `JPROBE_ARGS_0`.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/ejb.adoc b/docs/application-development-guide/src/main/jbake/content/ejb.adoc
deleted file mode 100644
index e98191b..0000000
--- a/docs/application-development-guide/src/main/jbake/content/ejb.adoc
+++ /dev/null
@@ -1,1362 +0,0 @@
-type=page
-status=published
-title=Using Enterprise JavaBeans Technology
-next=container_managed-persistence.html
-prev=webapps.html
-~~~~~~
-Using Enterprise JavaBeans Technology
-=====================================
-
-[[GSDVG00010]][[beahl]]
-
-
-[[using-enterprise-javabeans-technology]]
-8 Using Enterprise JavaBeans Technology
----------------------------------------
-
-This chapter describes how Enterprise JavaBeans ( EJB) technology is
-supported in the Oracle GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#beahn[Value Added Features]
-* link:#beahw[EJB Timer Service]
-* link:#beahx[Using Session Beans]
-* link:#beail[Using Read-Only Beans]
-* link:#beait[Using Message-Driven Beans]
-
-For general information about enterprise beans, see
-"https://javaee.github.io/tutorial/partentbeans.html[Enterprise Beans]"
-in The Java EE 8 Tutorial.
-
-
-[NOTE]
-=======================================================================
-
-The Web Profile of the GlassFish Server supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The full GlassFish Server supports the entire EJB
-3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-The GlassFish Server is backward compatible with 1.1, 2.0, 2.1, and 3.0
-enterprise beans. However, to take advantage of version 3.1 features,
-you should develop new beans as 3.1 enterprise beans.
-
-=======================================================================
-
-
-[[beahn]][[GSDVG00145]][[value-added-features]]
-
-Value Added Features
-~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server provides a number of value additions that relate to
-EJB development. References to more in-depth material are included.
-
-The following topics are addressed here:
-
-* link:#beaho[Read-Only Beans]
-* link:#beahp[The `pass-by-reference` Element]
-* link:#beahq[Pooling and Caching]
-* link:#beahu[Priority Based Scheduling of Remote Bean Invocations]
-* link:#beahv[Immediate Flushing]
-
-[[beaho]][[GSDVG00420]][[read-only-beans]]
-
-Read-Only Beans
-^^^^^^^^^^^^^^^
-
-Another feature that the GlassFish Server provides is the read-only
-bean, an EJB 2.1 entity bean that is never modified by an EJB client.
-Read-only beans avoid database updates completely.
-
-
-[NOTE]
-=======================================================================
-
-Read-only beans are specific to the GlassFish Server and are not part of
-the Enterprise JavaBeans Specification, v2.1. Use of this feature for an
-EJB 2.1 bean results in a non-portable application.
-
-To make an EJB 3.0 entity read-only, use `@Column` annotations to mark
-its columns `insertable=false` and `updatable=false`.
-
-=======================================================================
-
-
-A read-only bean can be used to cache a database entry that is
-frequently accessed but rarely updated (externally by other beans). When
-the data that is cached by a read-only bean is updated by another bean,
-the read-only bean can be notified to refresh its cached data.
-
-The GlassFish Server provides a number of ways by which a read-only
-bean's state can be refreshed. By setting the
-`refresh-period-in-seconds` element in the `glassfish-ejb-jar.xml` file
-and the `trans-attribute` element (or `@TransactionAttribute`
-annotation) in the `ejb-jar.xml` file, it is easy to configure a
-read-only bean that is one of the following:
-
-* Always refreshed
-* Periodically refreshed
-* Never refreshed
-* Programmatically refreshed
-
-Read-only beans are best suited for situations where the underlying data
-never changes, or changes infrequently. For further information and
-usage guidelines, see link:#beail[Using Read-Only Beans].
-
-[[beahp]][[GSDVG00421]][[the-pass-by-reference-element]]
-
-The `pass-by-reference` Element
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `pass-by-reference` element in the `glassfish-ejb-jar.xml` file
-allows you to specify the parameter passing semantics for colocated
-remote EJB invocations. This is an opportunity to improve performance.
-However, use of this feature results in non-portable applications. See
-"link:../application-deployment-guide/dd-elements.html#GSDPG00219[pass-by-reference]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-[[beahq]][[GSDVG00422]][[pooling-and-caching]]
-
-Pooling and Caching
-^^^^^^^^^^^^^^^^^^^
-
-The EJB container of the GlassFish Server pools anonymous instances
-(message-driven beans, stateless session beans, and entity beans) to
-reduce the overhead of creating and destroying objects. The EJB
-container maintains the free pool for each bean that is deployed. Bean
-instances in the free pool have no identity (that is, no primary key
-associated) and are used to serve method calls. The free beans are also
-used to serve all methods for stateless session beans.
-
-Bean instances in the free pool transition from a Pooled state to a
-Cached state after `ejbCreate` and the business methods run. The size
-and behavior of each pool is controlled using pool-related properties in
-the EJB container or the `glassfish-ejb-jar.xml` file.
-
-In addition, the GlassFish Server supports a number of tunable
-parameters that can control the number of "stateful" instances (stateful
-session beans and entity beans) cached as well as the duration they are
-cached. Multiple bean instances that refer to the same database row in a
-table can be cached. The EJB container maintains a cache for each bean
-that is deployed.
-
-To achieve scalability, the container selectively evicts some bean
-instances from the cache, usually when cache overflows. These evicted
-bean instances return to the free bean pool. The size and behavior of
-each cache can be controlled using the cache-related properties in the
-EJB container or the `glassfish-ejb-jar.xml` file.
-
-Pooling and caching parameters for the `glassfish-ejb-jar.xml` file are
-described in "link:../application-deployment-guide/dd-elements.html#GSDPG00095[bean-cache]" in GlassFish Server Open
-Source Edition Application Deployment Guide.
-
-[[beahr]][[GSDVG00285]][[pooling-parameters]]
-
-Pooling Parameters
-++++++++++++++++++
-
-One of the most important parameters for GlassFish Server pooling is
-`steady-pool-size`. When `steady-pool-size` is set to a value greater
-than 0, the container not only pre-populates the bean pool with the
-specified number of beans, but also attempts to ensure that this number
-of beans is always available in the free pool. This ensures that there
-are enough beans in the ready-to-serve state to process user requests.
-
-Note that the `steady-pool-size` and `max-pool-size` parameters only
-govern the number of instances that are pooled over a long period of
-time. They do not necessarily guarantee that the number of instances
-that may exist in the JVM at a given time will not exceed the value
-specified by `max-pool-size`. For example, suppose an idle stateless
-session container has a fully-populated pool with a `steady-pool-size`
-of 10. If 20 concurrent requests arrive for the EJB component, the
-container creates 10 additional instances to satisfy the burst of
-requests. The advantage of this is that it prevents the container from
-blocking any of the incoming requests. However, if the activity dies
-down to 10 or fewer concurrent requests, the additional 10 instances are
-discarded.
-
-Another parameter, `pool-idle-timeout-in-seconds`, allows the
-administrator to specify the amount of time a bean instance can be idle
-in the pool. When `pool-idle-timeout-in-seconds` is set to greater than
-0, the container removes or destroys any bean instance that is idle for
-this specified duration.
-
-[[beahs]][[GSDVG00286]][[caching-parameters]]
-
-Caching Parameters
-++++++++++++++++++
-
-GlassFish Server provides a way that completely avoids caching of entity
-beans, using commit option C. Commit option C is particularly useful if
-beans are accessed in large number but very rarely reused. For
-additional information, refer to
-link:transaction-service.html#beajh[Commit Options].
-
-The GlassFish Server caches can be either bounded or unbounded. Bounded
-caches have limits on the number of beans that they can hold beyond
-which beans are passivated. For stateful session beans, there are three
-ways (LRU, NRU and FIFO) of picking victim beans when cache overflow
-occurs. Caches can also passivate beans that are idle (not accessed for
-a specified duration).
-
-[[beahu]][[GSDVG00423]][[priority-based-scheduling-of-remote-bean-invocations]]
-
-Priority Based Scheduling of Remote Bean Invocations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can create multiple thread pools, each having its own work queues.
-An optional element in the `glassfish-ejb-jar.xml` file,
-`use-thread-pool-id`, specifies the thread pool that processes the
-requests for the bean. The bean must have a remote interface, or
-`use-thread-pool-id` is ignored. You can create different thread pools
-and specify the appropriate thread pool ID for a bean that requires a
-quick response time. If there is no such thread pool configured or if
-the element is absent, the default thread pool is used.
-
-[[beahv]][[GSDVG00424]][[immediate-flushing]]
-
-Immediate Flushing
-^^^^^^^^^^^^^^^^^^
-
-Normally, all entity bean updates within a transaction are batched and
-executed at the end of the transaction. The only exception is the
-database flush that precedes execution of a finder or select query.
-
-Since a transaction often spans many method calls, you might want to
-find out if the updates made by a method succeeded or failed immediately
-after method execution. To force a flush at the end of a method's
-execution, use the `flush-at-end-of-method` element in the
-`glassfish-ejb-jar.xml` file. Only non-finder methods in an entity bean
-can be flush-enabled. (For an EJB 2.1 bean, these methods must be in the
-Local, Local Home, Remote, or Remote Home interface.) See
-"link:../application-deployment-guide/dd-elements.html#GSDPG00156[flush-at-end-of-method]" in GlassFish Server Open
-Source Edition Application Deployment Guide.
-
-Upon completion of the method, the EJB container updates the database.
-Any exception thrown by the underlying data store is wrapped as follows:
-
-* If the method that triggered the flush is a `create` method, the
-exception is wrapped with `CreateException`.
-* If the method that triggered the flush is a `remove` method, the
-exception is wrapped with `RemoveException`.
-* For all other methods, the exception is wrapped with `EJBException`.
-
-All normal end-of-transaction database synchronization steps occur
-regardless of whether the database has been flushed during the
-transaction.
-
-[[beahw]][[GSDVG00146]][[ejb-timer-service]]
-
-EJB Timer Service
-~~~~~~~~~~~~~~~~~
-
-The EJB Timer Service uses a database to store persistent information
-about EJB timers. The EJB Timer Service in GlassFish Server is
-preconfigured to use an embedded version of the Apache Derby database.
-
-The EJB Timer Service configuration can store persistent timer
-information in any database supported by the GlassFish Server for
-persistence. For a list of the JDBC drivers currently supported by the
-GlassFish Server, see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source
-Edition Release Notes]. For configurations of supported and other
-drivers, see "link:../administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC
-Drivers]" in GlassFish Server Open Source Edition Administration Guide.
-
-The timer service is automatically enabled when you deploy an
-application or module that uses it. You can verify that the timer
-service is running by accessing the following URL:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/ejb-timer-service-app/timer
-----
-
-To change the database used by the EJB Timer Service, set the EJB Timer
-Service's Timer DataSource setting to a valid JDBC resource. If the EJB
-Timer Service has already been started in a server instance, you must
-also create the timer database table. DDL files are located in
-as-install`/lib/install/databases`.
-
-Using the EJB Timer Service is equivalent to interacting with a single
-JDBC resource manager. If an EJB component or application accesses a
-database either directly through JDBC or indirectly (for example,
-through an entity bean's persistence mechanism), and also interacts with
-the EJB Timer Service, its data source must be configured with an XA
-JDBC driver.
-
-You can change the following EJB Timer Service settings. You must
-restart the server for the changes to take effect.
-
-Minimum Delivery Interval::
-  Specifies the minimum time in milliseconds before an expiration for a
-  particular timer can occur. This guards against extremely small timer
-  increments that can overload the server. The default is `1000`.
-Maximum Redeliveries::
-  Specifies the maximum number of times the EJB timer service attempts
-  to redeliver a timer expiration after an exception or rollback of a
-  container-managed transaction. The default is `1`.
-Redelivery Interval::
-  Specifies how long in milliseconds the EJB timer service waits after a
-  failed `ejbTimeout` delivery before attempting a redelivery. The
-  default is `5000`.
-Timer DataSource::
-  Specifies the database used by the EJB Timer Service. The default is
-  `jdbc/__TimerPool`. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Caution:
-
-Do not use the `jdbc/__TimerPool` resource for timers in clustered
-GlassFish Server environments. You must instead use a custom JDBC
-resource or the `jdbc/__default` resource. See the instructions below,
-in link:#gktqo[To Deploy an EJB Timer to a Cluster]. Also refer to
-"link:../administration-guide/jdbc.html#GSADG00747[Enabling the jdbc/__default Resource in a Clustered
-Environment]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-|=======================================================================
-
-
-For information about the `asadmin list-timers` and
-`asadmin migrate-timers` subcommands, see the link:../reference-manual/toc.html#GSRFM[GlassFish
-Server Open Source Edition Reference Manual]. For information about
-migrating EJB timers, see "link:../ha-administration-guide/instances.html#GSHAG00190[Migrating EJB Timers]" in
-GlassFish Server Open Source Edition High Availability Administration
-Guide.
-
-You can use the `--keepstate` option of the `asadmin redeploy` command
-to retain EJB timers between redeployments.
-
-The default for `--keepstate` is false. This option is supported only on
-the default server instance, named `server`. It is not supported and
-ignored for any other target.
-
-When the `--keepstate` is set to true, each application that uses an EJB
-timer is assigned an ID in the timer database. The EJB object that is
-associated with a given application is assigned an ID that is
-constructed from the application ID and a numerical suffix. To preserve
-active timer data, GlassFish Server stores the application ID and the
-EJB ID in the timer database. To restore the data, the class loader of
-the newly redeployed application retrieves the EJB timers that
-correspond to these IDs from the timer database.
-
-For more information about the `asadmin redeploy` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[gktqo]][[GSDVG00070]][[to-deploy-an-ejb-timer-to-a-cluster]]
-
-To Deploy an EJB Timer to a Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to deploy an EJB timer to a cluster.
-
-By default, the GlassFish Server 5.0 timer service points to the
-preconfigured `jdbc/__TimerPool` resource, which uses an embedded Apache
-Derby database configuration that will not work in clustered
-environments.
-
-The problem is that embedded Apache Derby database runs in the GlassFish
-Server Java VM, so when you use the `jdbc/__TimerPool` resource, each
-DAS and each clustered server instance will have its own database table.
-Because of this, clustered server instances will not be able to find the
-database table on the DAS, and the DAS will not be able to find the
-tables on the clustered server instances.
-
-The solution is to use either a custom JDBC resource or the
-`jdbc/__default` resource that is preconfigured but not enabled by
-default in GlassFish Server. The `jdbc/__default` resource does not use
-the embedded Apache Derby database by default.
-
-[[GSDVG547]]
-
-Before You Begin
-
-If creating a new timer resource, the resource should be created before
-deploying applications that will use the timer.
-
-
-[CAUTION]
-=======================================================================
-
-Do not use the `jdbc/__TimerPool` resource for timers in clustered
-GlassFish Server environments. You must instead use a custom JDBC
-resource or the `jdbc/__default` resource. See
-"olink:GSADG00747[Enabling the jdbc/__default Resource in a Clustered
-Environment]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-=======================================================================
-
-
-1.  Execute the following command: +
-[source,oac_no_warn]
-----
-asadmin set configs.config.cluster_name-config.ejb-container.ejb-timer-service.timer-
-datasource=jdbc/my-timer-resource
-----
-2.  Restart the DAS and the target cluster(s). +
-[source,oac_no_warn]
-----
-asadmin stop-cluster cluster-name
-asadmin stop-domain domain-name
-asadmin start-domain domain-name
-asadmin start-cluster cluster-name
-----
-
-[[GSDVG548]]
-
-Troubleshooting
-
-If you inadvertently used the `jdbc/__TimerPool` resource for your EJB
-timer in a clustered GlassFish Server environment, the DAS and the
-clustered server instances will be using separate Apache Derby database
-tables that are running in individual Java VMs. For timers to work in a
-clustered environment, the DAS and the clustered server instances must
-share a common database table.
-
-If you attempt to deploy an application with EJB timers without setting
-the timer resource correctly, the startup will fail, and you will be
-left with a marker file, named `ejb-timer-service-app`, on the DAS that
-will prevent the Timer Service from correctly creating the database
-table.
-
-The solution is to remove the marker file on the DAS, restart the DAS
-and the clusters, and then redploy any applications that rely on the
-offending EJB timer. The marker file is located on the DAS in
-domain-dir`/generated/ejb/``ejb-timer-service-app`.
-
-[[beahx]][[GSDVG00147]][[using-session-beans]]
-
-Using Session Beans
-~~~~~~~~~~~~~~~~~~~
-
-This section provides guidelines for creating session beans in the
-GlassFish Server environment.
-
-The following topics are addressed here:
-
-* link:#beahy[About the Session Bean Containers]
-* link:#beaib[Stateful Session Bean Failover]
-* link:#beaii[Session Bean Restrictions and Optimizations]
-
-Information on session beans is contained in the Enterprise JavaBeans
-Specification, v3.1.
-
-[[beahy]][[GSDVG00425]][[about-the-session-bean-containers]]
-
-About the Session Bean Containers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Like an entity bean, a session bean can access a database through Java
-Database Connectivity (JDBC) calls. A session bean can also provide
-transaction settings. These transaction settings and JDBC calls are
-referenced by the session bean's container, allowing it to participate
-in transactions managed by the container.
-
-A container managing stateless session beans has a different charter
-from a container managing stateful session beans.
-
-The following topics are addressed here:
-
-* link:#beahz[Stateless Container]
-* link:#beaia[Stateful Container]
-
-[[beahz]][[GSDVG00287]][[stateless-container]]
-
-Stateless Container
-+++++++++++++++++++
-
-The stateless container manages stateless session beans, which, by
-definition, do not carry client-specific states. All session beans (of a
-particular type) are considered equal.
-
-A stateless session bean container uses a bean pool to service requests.
-The GlassFish Server specific deployment descriptor file,
-`glassfish-ejb-jar.xml`, contains the properties that define the pool:
-
-* `steady-pool-size`
-* `resize-quantity`
-* `max-pool-size`
-* `pool-idle-timeout-in-seconds`
-
-For more information about `glassfish-ejb-jar.xml`, see
-"link:../application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-The GlassFish Server provides the `wscompile` and `wsdeploy` tools to
-help you implement a web service endpoint as a stateless session bean.
-For more information about these tools, see the link:../reference-manual/toc.html#GSRFM[GlassFish
-Server Open Source Edition Reference Manual].
-
-[[beaia]][[GSDVG00288]][[stateful-container]]
-
-Stateful Container
-++++++++++++++++++
-
-The stateful container manages the stateful session beans, which, by
-definition, carry the client-specific state. There is a one-to-one
-relationship between the client and the stateful session beans. At
-creation, each stateful session bean (SFSB) is given a unique session ID
-that is used to access the session bean so that an instance of a
-stateful session bean is accessed by a single client only.
-
-Stateful session beans are managed using cache. The size and behavior of
-stateful session beans cache are controlled by specifying the following
-`glassfish-ejb-jar.xml` parameters:
-
-* `max-cache-size`
-* `resize-quantity`
-* `cache-idle-timeout-in-seconds`
-* `removal-timeout-in-seconds`
-* `victim-selection-policy`
-
-The `max-cache-size` element specifies the maximum number of session
-beans that are held in cache. If the cache overflows (when the number of
-beans exceeds `max-cache-size`), the container then passivates some
-beans or writes out the serialized state of the bean into a file. The
-directory in which the file is created is obtained from the EJB
-container using the configuration APIs.
-
-For more information about `glassfish-ejb-jar.xml`, see
-"link:../application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-The passivated beans are stored on the file system. The Session Store
-Location setting in the EJB container allows the administrator to
-specify the directory where passivated beans are stored. By default,
-passivated stateful session beans are stored in application-specific
-subdirectories created under domain-dir`/session-store`.
-
-
-[NOTE]
-=======================================================================
-
-Make sure the `delete` option is set in the `server.policy` file, or
-expired file-based sessions might not be deleted properly. For more
-information about `server.policy`, see link:securing-apps.html#beabx[The
-`server.policy` File].
-
-=======================================================================
-
-
-The Session Store Location setting also determines where the session
-state is persisted if it is not highly available; see
-link:#beaic[Choosing a Persistence Store].
-
-[[beaib]][[GSDVG00426]][[stateful-session-bean-failover]]
-
-Stateful Session Bean Failover
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An SFSB's state can be saved in a persistent store in case a server
-instance fails. The state of an SFSB is saved to the persistent store at
-predefined points in its life cycle. This is called checkpointing. If
-SFSB checkpointing is enabled, checkpointing generally occurs after any
-transaction involving the SFSB is completed, even if the transaction
-rolls back.
-
-However, if an SFSB participates in a bean-managed transaction, the
-transaction might be committed in the middle of the execution of a bean
-method. Since the bean's state might be undergoing transition as a
-result of the method invocation, this is not an appropriate instant to
-checkpoint the bean's state. In this case, the EJB container checkpoints
-the bean's state at the end of the corresponding method, provided the
-bean is not in the scope of another transaction when that method ends.
-If a bean-managed transaction spans across multiple methods,
-checkpointing is delayed until there is no active transaction at the end
-of a subsequent method.
-
-The state of an SFSB is not necessarily transactional and might be
-significantly modified as a result of non-transactional business
-methods. If this is the case for an SFSB, you can specify a list of
-checkpointed methods. If SFSB checkpointing is enabled, checkpointing
-occurs after any checkpointed methods are completed.
-
-The following table lists the types of references that SFSB failover
-supports. All objects bound into an SFSB must be one of the supported
-types. In the table, No indicates that failover for the object type
-might not work in all cases and that no failover support is provided.
-However, failover might work in some cases for that object type. For
-example, failover might work because the class implementing that type is
-serializable.
-
-[[GSDVG549]][[sthref18]][[fvyed]]
-
-
-Table 8-1 Object Types Supported for Java EE Stateful Session Bean State
-Failover
-
-[width="100%",cols="45%,55%",options="header",]
-|=======================================================================
-|Java Object Type |Failover Support
-|Colocated or distributed stateless session, stateful session, or entity
-bean reference |Yes
-
-|JNDI context |Yes, `InitialContext` and `java:comp/env`
-
-|UserTransaction |Yes, but if the instance that fails is never
-restarted, any prepared global transactions are lost and might not be
-correctly rolled back or committed.
-
-|JDBC DataSource |No
-
-|Java Message Service (JMS) ConnectionFactory, Destination |No
-
-|JavaMail Session |No
-
-|Connection Factory |No
-
-|Administered Object |No
-
-|Web service reference |No
-
-|Serializable Java types |Yes
-
-|Extended persistence context |No
-|=======================================================================
-
-
-For more information about the `InitialContext`, see
-link:jndi.html#beans[Accessing the Naming Context]. For more information
-about transaction recovery, see link:transaction-service.html#beanm[Using
-the Transaction Service]. For more information about Administered
-Objects, see "link:../administration-guide/jms.html#GSADG00599[Administering JMS Physical Destinations]"
-in GlassFish Server Open Source Edition Administration Guide.
-
-
-[NOTE]
-=======================================================================
-
-Idempotent URLs are supported along the HTTP path, but not the RMI-IIOP
-path. For more information, see link:webapps.html#beage[Configuring
-Idempotent URL Requests].
-
-If a server instance to which an RMI-IIOP client request is sent crashes
-during the request processing (before the response is prepared and sent
-back to the client), an error is sent to the client. The client must
-retry the request explicitly. When the client retries the request, the
-request is sent to another server instance in the cluster, which
-retrieves session state information for this client.
-
-HTTP sessions can also be saved in a persistent store in case a server
-instance fails. In addition, if a distributable web application
-references an SFSB, and the web application's session fails over, the
-EJB reference is also failed over. For more information, see
-link:webapps.html#beahe[Distributed Sessions and Persistence].
-
-If an SFSB that uses session persistence is undeployed while the
-GlassFish Server instance is stopped, the session data in the
-persistence store might not be cleared. To prevent this, undeploy the
-SFSB while the GlassFish Server instance is running.
-
-=======================================================================
-
-
-Configure SFSB failover by:
-
-* link:#beaic[Choosing a Persistence Store]
-* link:#beaid[Enabling Checkpointing]
-* link:#beaih[Specifying Methods to Be Checkpointed]
-
-[[beaic]][[GSDVG00289]][[choosing-a-persistence-store]]
-
-Choosing a Persistence Store
-++++++++++++++++++++++++++++
-
-The following types of persistent storage are supported for passivation
-and checkpointing of the SFSB state:
-
-* The local file system - Allows a single server instance to recover the
-SFSB state after a failure and restart. This store also provides
-passivation and activation of the state to help control the amount of
-memory used. This option is not supported in a production environment
-that requires SFSB state persistence. This is the default storage
-mechanism if availability is not enabled.
-* Other servers - Uses other server instances in the cluster for session
-persistence. Clustered server instances replicate session state. Each
-backup instance stores the replicated data in memory. This is the
-default storage mechanism if availability is enabled.
-
-Choose the persistence store in one of the following ways:
-
-* To use the local file system, first disable availability. Select the
-Availability Service component under the relevant configuration in the
-Administration Console. Uncheck the Availability Service box. Then
-select the EJB Container component and edit the Session Store Location
-value. The default is domain-dir`/session-store`.
-* To use other servers, select the Availability Service component under
-the relevant configuration in the Administration Console. Check the
-Availability Service box. To enable availability for the EJB container,
-select the EJB Container Availability tab, then check the Availability
-Service box. All instances in an GlassFish Server cluster should have
-the same availability settings to ensure consistent behavior.
-
-For more information about SFSB state persistence, see the
-link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source Edition High Availability
-Administration Guide].
-
-[[gkpdg]][[GSDVG00033]][[using-the---keepstate-option]]
-
-Using the `--keepstate` Option
-
-If you are using the file system for persistence, you can use the
-`--keepstate` option of the `asadmin redeploy` command to retain the
-SFSB state between redeployments.
-
-The default for `--keepstate` is false. This option is supported only on
-the default server instance, named `server`. It is not supported and
-ignored for any other target.
-
-Some changes to an application between redeployments prevent this
-feature from working properly. For example, do not change the set of
-instance variables in the SFSB bean class.
-
-If any active SFSB instance fails to be preserved or restored, none of
-the SFSB instances will be available when the redeployment is complete.
-However, the redeployment continues and a warning is logged.
-
-To preserve active state data, GlassFish Server serializes the data and
-saves it in memory. To restore the data, the class loader of the newly
-redeployed application deserializes the data that was previously saved.
-
-For more information about the `asadmin redeploy` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[gkpef]][[GSDVG00034]][[using-the---asyncreplication-option]]
-
-Using the `--asyncreplication` Option
-
-If you are using replication on other servers for persistence, you can
-use the `--asyncreplication` option of the `asadmin deploy` command to
-specify that SFSB states are first buffered and then replicated using a
-separate asynchronous thread. If `--asyncreplication` is set to true
-(default), performance is improved but availability is reduced. If the
-instance where states are buffered but not yet replicated fails, the
-states are lost. If set to false, performance is reduced but
-availability is guaranteed. States are not buffered but immediately
-transmitted to other instances in the cluster.
-
-For more information about the `asadmin deploy` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[beaid]][[GSDVG00290]][[enabling-checkpointing]]
-
-Enabling Checkpointing
-++++++++++++++++++++++
-
-The following sections describe how to enable SFSB checkpointing:
-
-* link:#beaie[Server Instance and EJB Container Levels]
-* link:#beaif[Application and EJB Module Levels]
-* link:#beaig[SFSB Level]
-
-[[beaie]][[GSDVG00035]][[server-instance-and-ejb-container-levels]]
-
-Server Instance and EJB Container Levels
-
-To enable SFSB checkpointing at the server instance or EJB container
-level, see link:#beaic[Choosing a Persistence Store].
-
-[[beaif]][[GSDVG00036]][[application-and-ejb-module-levels]]
-
-Application and EJB Module Levels
-
-To enable SFSB checkpointing at the application or EJB module level
-during deployment, use the `asadmin deploy` or `asadmin deploydir`
-command with the `--availabilityenabled` option set to `true`. For
-details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-[[beaig]][[GSDVG00037]][[sfsb-level]]
-
-SFSB Level
-
-To enable SFSB checkpointing at the SFSB level, set
-`availability-enabled="true"` in the `ejb` element of the SFSB's
-`glassfish-ejb-jar.xml` file as follows:
-
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-   ...
-   <enterprise-beans>
-      ...
-      <ejb availability-enabled="true">
-         <ejb-name>MySFSB</ejb-name>
-      </ejb>
-   ...
-   </enterprise-beans>
-</glassfish-ejb-jar>
-----
-
-[[beaih]][[GSDVG00291]][[specifying-methods-to-be-checkpointed]]
-
-Specifying Methods to Be Checkpointed
-+++++++++++++++++++++++++++++++++++++
-
-If SFSB checkpointing is enabled, checkpointing generally occurs after
-any transaction involving the SFSB is completed, even if the transaction
-rolls back.
-
-To specify additional optional checkpointing of SFSBs at the end of
-non-transactional business methods that cause important modifications to
-the bean's state, use the `checkpoint-at-end-of-method` element within
-the `ejb` element in `glassfish-ejb-jar.xml`.
-
-For example:
-
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-   ...
-   <enterprise-beans>
-      ...
-      <ejb availability-enabled="true">
-         <ejb-name>ShoppingCartEJB</ejb-name>
-         <checkpoint-at-end-of-method>
-            <method>
-               <method-name>addToCart</method-name>
-            </method>
-         </checkpoint-at-end-of-method>
-      </ejb>
-      ...
-   </enterprise-beans>
-</glassfish-ejb-jar>
-----
-
-For details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00108[checkpoint-at-end-of-method]" in
-GlassFish Server Open Source Edition Application Deployment Guide.
-
-The non-transactional methods in the `checkpoint-at-end-of-method`
-element can be the following:
-
-* `create` methods defined in the home or business interface of the
-SFSB, if you want to checkpoint the initial state of the SFSB
-immediately after creation
-* For SFSBs using container managed transactions only, methods in the
-remote interface of the bean marked with the transaction attribute
-TX_NOT_SUPPORTED or TX_NEVER
-* For SFSBs using bean managed transactions only, methods in which a
-bean managed transaction is neither started nor committed
-
-Any other methods mentioned in this list are ignored. At the end of
-invocation of each of these methods, the EJB container saves the state
-of the SFSB to persistent store.
-
-
-[NOTE]
-=======================================================================
-
-If an SFSB does not participate in any transaction, and if none of its
-methods are explicitly specified in the `checkpoint-at-end-of-method`
-element, the bean's state is not checkpointed at all even if
-`availability-enabled="true"` for this bean.
-
-For better performance, specify a small subset of methods. The methods
-chosen should accomplish a significant amount of work in the context of
-the Java EE application or should result in some important modification
-to the bean's state.
-
-=======================================================================
-
-
-[[beaii]][[GSDVG00427]][[session-bean-restrictions-and-optimizations]]
-
-Session Bean Restrictions and Optimizations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section discusses restrictions on developing session beans and
-provides some optimization guidelines.
-
-* link:#beaij[Optimizing Session Bean Performance]
-* link:#beaik[Restricting Transactions]
-* link:#glanq[EJB Singletons]
-
-[[beaij]][[GSDVG00292]][[optimizing-session-bean-performance]]
-
-Optimizing Session Bean Performance
-+++++++++++++++++++++++++++++++++++
-
-For stateful session beans, colocating the stateful beans with their
-clients so that the client and bean are executing in the same process
-address space improves performance.
-
-[[beaik]][[GSDVG00293]][[restricting-transactions]]
-
-Restricting Transactions
-++++++++++++++++++++++++
-
-The following restrictions on transactions are enforced by the container
-and must be observed as session beans are developed:
-
-* A session bean can participate in, at most, a single transaction at a
-time.
-* If a session bean is participating in a transaction, a client cannot
-invoke a method on the bean such that the `trans-attribute` element (or
-`@TransactionAttribute` annotation) in the `ejb-jar.xml` file would
-cause the container to execute the method in a different or unspecified
-transaction context or an exception is thrown.
-* If a session bean instance is participating in a transaction, a client
-cannot invoke the `remove` method on the session object's home or
-business interface object, or an exception is thrown.
-
-[[glanq]][[GSDVG00294]][[ejb-singletons]]
-
-EJB Singletons
-++++++++++++++
-
-EJB Singletons are created for each server instance in a cluster, and
-not once per cluster.
-
-[[beail]][[GSDVG00148]][[using-read-only-beans]]
-
-Using Read-Only Beans
-~~~~~~~~~~~~~~~~~~~~~
-
-A read-only bean is an EJB 2.1 entity bean that is never modified by an
-EJB client. The data that a read-only bean represents can be updated
-externally by other enterprise beans, or by other means, such as direct
-database updates.
-
-
-[NOTE]
-=======================================================================
-
-Read-only beans are specific to the GlassFish Server and are not part of
-the Enterprise JavaBeans Specification, v2.1. Use of this feature for an
-EJB 2.1 bean results in a non-portable application.
-
-To make an EJB 3.0 entity bean read-only, use `@Column` annotations to
-mark its columns `insertable=false` and `updatable=false`.
-
-=======================================================================
-
-
-Read-only beans are best suited for situations where the underlying data
-never changes, or changes infrequently.
-
-The following topics are addressed here:
-
-* link:#beaim[Read-Only Bean Characteristics and Life Cycle]
-* link:#beain[Read-Only Bean Good Practices]
-* link:#beaio[Refreshing Read-Only Beans]
-* link:#beais[Deploying Read-Only Beans]
-
-[[beaim]][[GSDVG00428]][[read-only-bean-characteristics-and-life-cycle]]
-
-Read-Only Bean Characteristics and Life Cycle
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Read-only beans are best suited for situations where the underlying data
-never changes, or changes infrequently. For example, a read-only bean
-can be used to represent a stock quote for a particular company, which
-is updated externally. In such a case, using a regular entity bean might
-incur the burden of calling `ejbStore`, which can be avoided by using a
-read-only bean.
-
-Read-only beans have the following characteristics:
-
-* Only entity beans can be read-only beans.
-* Either bean-managed persistence (BMP) or container-managed persistence
-(CMP) is allowed. If CMP is used, do not create the database schema
-during deployment. Instead, work with your database administrator to
-populate the data into the tables. See
-link:container_managed-persistence.html#beajj[Using Container-Managed
-Persistence].
-* Only container-managed transactions are allowed; read-only beans
-cannot start their own transactions.
-* Read-only beans don't update any bean state.
-* `ejbStore` is never called by the container.
-* `ejbLoad` is called only when a transactional method is called or when
-the bean is initially created (in the cache), or at regular intervals
-controlled by the bean's `refresh-period-in-seconds` element in the
-`glassfish-ejb-jar.xml` file.
-* The home interface can have any number of find methods. The return
-type of the find methods must be the primary key for the same bean type
-(or a collection of primary keys).
-* If the data that the bean represents can change, then
-`refresh-period-in-seconds` must be set to refresh the beans at regular
-intervals. `ejbLoad` is called at this regular interval.
-
-A read-only bean comes into existence using the appropriate find
-methods.
-
-Read-only beans are cached and have the same cache properties as entity
-beans. When a read-only bean is selected as a victim to make room in the
-cache, `ejbPassivate` is called and the bean is returned to the free
-pool. When in the free pool, the bean has no identity and is used only
-to serve any finder requests.
-
-Read-only beans are bound to the naming service like regular read-write
-entity beans, and clients can look up read-only beans the same way
-read-write entity beans are looked up.
-
-[[beain]][[GSDVG00429]][[read-only-bean-good-practices]]
-
-Read-Only Bean Good Practices
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For best results, follow these guidelines when developing read-only
-beans:
-
-* Avoid having any `create` or `remove` methods in the home interface.
-* Use any of the valid EJB 2.1 transaction attributes for the
-`trans-attribute` element. +
-The reason for having `TX_SUPPORTED` is to allow reading uncommitted
-data in the same transaction. Also, the transaction attributes can be
-used to force `ejbLoad`.
-
-[[beaio]][[GSDVG00430]][[refreshing-read-only-beans]]
-
-Refreshing Read-Only Beans
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There are several ways of refreshing read-only beans, as addressed in
-the following sections:
-
-* link:#beaip[Invoking a Transactional Method]
-* link:#beaiq[Refreshing Periodically]
-* link:#beair[Refreshing Programmatically]
-
-[[beaip]][[GSDVG00295]][[invoking-a-transactional-method]]
-
-Invoking a Transactional Method
-+++++++++++++++++++++++++++++++
-
-Invoking any transactional method invokes `ejbLoad`.
-
-[[beaiq]][[GSDVG00296]][[refreshing-periodically]]
-
-Refreshing Periodically
-+++++++++++++++++++++++
-
-Use the `refresh-period-in-seconds` element in the
-`glassfish-ejb-jar.xml` file to refresh a read-only bean periodically.
-
-* If the value specified in `refresh-period-in-seconds` is zero or not
-specified, which is the default, the bean is never refreshed (unless a
-transactional method is accessed).
-* If the value is greater than zero, the bean is refreshed at the rate
-specified.
-
-
-[NOTE]
-=======================================================================
-
-This is the only way to refresh the bean state if the data can be
-modified external to the GlassFish Server.
-
-=======================================================================
-
-
-By default, a single timer is used for all instances of a read-only
-bean. When that timer fires, all bean instances are marked as expired
-and are refreshed from the database the next time they are used.
-
-Use the `-Dcom.sun.ejb.containers.readonly.relative.refresh.mode=true`
-flag to refresh each bean instance independently upon access if its
-refresh period has expired. The default is `false`. Note that each
-instance still has the same refresh period. This additional level of
-granularity can improve the performance of read-only beans that do not
-need to be refreshed at the same time.
-
-To set this flag, use the `asadmin create-jvm-options` command. For
-example:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Dcom.sun.ejb.containers.readonly.relative.refresh.mode=true
-----
-
-[[beair]][[GSDVG00297]][[refreshing-programmatically]]
-
-Refreshing Programmatically
-+++++++++++++++++++++++++++
-
-Typically, beans that update any data that is cached by read-only beans
-need to notify the read-only beans to refresh their state. Use
-ReadOnlyBeanNotifier to force the refresh of read-only beans.
-
-To do this, invoke the following methods on the ReadOnlyBeanNotifier
-bean:
-
-[source,oac_no_warn]
-----
-public interface ReadOnlyBeanNotifier extends java.rmi.Remote {
-   refresh(Object PrimaryKey) throws RemoteException;
- }
-----
-
-The implementation of the ReadOnlyBeanNotifier interface is provided by
-the container. The bean looks up ReadOnlyBeanNotifier using a fragment
-of code such as the following example:
-
-[source,oac_no_warn]
-----
-com.sun.appserv.ejb.ReadOnlyBeanHelper helper = 
-  new com.sun.appserv.ejb.ReadOnlyBeanHelper();
-com.sun.appserv.ejb.ReadOnlyBeanNotifier notifier = 
-  helper.getReadOnlyBeanNotifier("java:comp/env/ejb/ReadOnlyCustomer");
-notifier.refresh(PrimaryKey);
-----
-
-For a local read-only bean notifier, the lookup has this modification:
-
-[source,oac_no_warn]
-----
-helper.getReadOnlyBeanLocalNotifier("java:comp/env/ejb/LocalReadOnlyCustomer");
-----
-
-Beans that update any data that is cached by read-only beans need to
-call the `refresh` methods. The next (non-transactional) call to the
-read-only bean invokes `ejbLoad`.
-
-For Javadoc tool pages relevant to read-only beans, go to
-`http://glassfish.java.net/nonav/docs/v3/api/` and click on the
-`com.sun.appserv.ejb` package.
-
-[[beais]][[GSDVG00431]][[deploying-read-only-beans]]
-
-Deploying Read-Only Beans
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Read-only beans are deployed in the same manner as other entity beans.
-However, in the entry for the bean in the `glassfish-ejb-jar.xml` file,
-the `is-read-only-bean` element must be set to true. That is:
-
-`<is-read-only-bean>true</is-read-only-bean>`
-
-Also, the `refresh-period-in-seconds` element in the
-`glassfish-ejb-jar.xml` file can be set to some value that specifies the
-rate at which the bean is refreshed. If this element is missing, no
-refresh occurs.
-
-All requests in the same transaction context are routed to the same
-read-only bean instance. Set the `allow-concurrent-access` element to
-either `true` (to allow concurrent accesses) or `false` (to serialize
-concurrent access to the same read-only bean). The default is `false`.
-
-For further information on these elements, refer to
-"link:../application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-[[beait]][[GSDVG00149]][[using-message-driven-beans]]
-
-Using Message-Driven Beans
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes message-driven beans and explains the
-requirements for creating them in the GlassFish Server environment.
-
-The following topics are addressed here:
-
-* link:#beaiu[Message-Driven Bean Configuration]
-* link:#beaiy[Message-Driven Bean Restrictions and Optimizations]
-
-[[beaiu]][[GSDVG00432]][[message-driven-bean-configuration]]
-
-Message-Driven Bean Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following topics are addressed here:
-
-* link:#beaiv[Connection Factory and Destination]
-* link:#beaiw[Message-Driven Bean Pool]
-* link:#beaix[Domain-Level Settings]
-
-For information about setting up load balancing for message-driven
-beans, see link:jms.html#beaop[Load-Balanced Message Inflow].
-
-[[beaiv]][[GSDVG00298]][[connection-factory-and-destination]]
-
-Connection Factory and Destination
-++++++++++++++++++++++++++++++++++
-
-A message-driven bean is a client to a Connector inbound resource
-adapter. The message-driven bean container uses the JMS service
-integrated into the GlassFish Server for message-driven beans that are
-JMS clients. JMS clients use JMS Connection Factory- and
-Destination-administered objects. A JMS Connection Factory administered
-object is a resource manager Connection Factory object that is used to
-create connections to the JMS provider.
-
-The `mdb-connection-factory` element in the `glassfish-ejb-jar.xml` file
-for a message-driven bean specifies the connection factory that creates
-the container connection to the JMS provider.
-
-The `jndi-name` element of the `ejb` element in the
-`glassfish-ejb-jar.xml` file specifies the JNDI name of the administered
-object for the JMS Queue or Topic destination that is associated with
-the message-driven bean.
-
-[[beaiw]][[GSDVG00299]][[message-driven-bean-pool]]
-
-Message-Driven Bean Pool
-++++++++++++++++++++++++
-
-The container manages a pool of message-driven beans for the concurrent
-processing of a stream of messages. The `glassfish-ejb-jar.xml` file
-contains the elements that define the pool (that is, the `bean-pool`
-element):
-
-* `steady-pool-size`
-* `resize-quantity`
-* `max-pool-size`
-* `pool-idle-timeout-in-seconds`
-
-For more information about `glassfish-ejb-jar.xml`, see
-"link:../application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-[[beaix]][[GSDVG00300]][[domain-level-settings]]
-
-Domain-Level Settings
-+++++++++++++++++++++
-
-You can control the following domain-level message-driven bean settings
-in the EJB container:
-
-Initial and Minimum Pool Size::
-  Specifies the initial and minimum number of beans maintained in the
-  pool. The default is `0`.
-Maximum Pool Size::
-  Specifies the maximum number of beans that can be created to satisfy
-  client requests. The default is 3`2`.
-Pool Resize Quantity::
-  Specifies the number of beans to be created if a request arrives when
-  the pool is empty (subject to the Initial and Minimum Pool Size), or
-  the number of beans to remove if idle for more than the Idle Timeout.
-  The default is `8`.
-Idle Timeout::
-  Specifies the maximum time in seconds that a bean can remain idle in
-  the pool. After this amount of time, the bean is destroyed. The
-  default is `600` (10 minutes). A value of `0` means a bean can remain
-  idle indefinitely.
-
-For information on monitoring message-driven beans, click the Help
-button in the Administration Console. Select the Stand-Alone Instances
-component, select the instance from the table, and select the Monitor
-tab. Or select the Clusters component, select the cluster from the
-table, select the Instances tab, select the instance from the table, and
-select the Monitor tab.
-
-
-[NOTE]
-=======================================================================
-
-Running monitoring when it is not needed might impact performance, so
-you might choose to turn monitoring off when it is not in use. For
-details, see "olink:GSADG00011[Administering the Monitoring Service]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-=======================================================================
-
-
-[[beaiy]][[GSDVG00433]][[message-driven-bean-restrictions-and-optimizations]]
-
-Message-Driven Bean Restrictions and Optimizations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section discusses the following restrictions and performance
-optimizations that pertain to developing message-driven beans:
-
-* link:#beaiz[Pool Tuning and Monitoring]
-* link:#beaja[The `onMessage` Runtime Exception]
-
-[[beaiz]][[GSDVG00301]][[pool-tuning-and-monitoring]]
-
-Pool Tuning and Monitoring
-++++++++++++++++++++++++++
-
-The message-driven bean pool is also a pool of threads, with each
-message-driven bean instance in the pool associating with a server
-session, and each server session associating with a thread. Therefore, a
-large pool size also means a high number of threads, which impacts
-performance and server resources.
-
-When configuring message-driven bean pool properties, make sure to
-consider factors such as message arrival rate and pattern, `onMessage`
-method processing time, overall server resources (threads, memory, and
-so on), and any concurrency requirements and limitations from other
-resources that the message-driven bean accesses.
-
-When tuning performance and resource usage, make sure to consider
-potential JMS provider properties for the connection factory used by the
-container (the `mdb-connection-factory` element in the
-`glassfish-ejb-jar.xml` file). For example, you can tune the Open
-Message Queue flow control related properties for connection factory in
-situations where the message incoming rate is much higher than
-`max-pool-size` can handle.
-
-Refer to "link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
-GlassFish Server Open Source Edition Administration Guide for
-information on how to get message-driven bean pool statistics.
-
-[[beaja]][[GSDVG00302]][[the-onmessage-runtime-exception]]
-
-The `onMessage` Runtime Exception
-+++++++++++++++++++++++++++++++++
-
-Message-driven beans, like other well-behaved MessageListeners, should
-not, in general, throw runtime exceptions. If a message-driven bean's
-`onMessage` method encounters a system-level exception or error that
-does not allow the method to successfully complete, the Enterprise
-JavaBeans Specification, v3.0 provides the following guidelines:
-
-* If the bean method encounters a runtime exception or error, it should
-simply propagate the error from the bean method to the container.
-* If the bean method performs an operation that results in a checked
-exception that the bean method cannot recover, the bean method should
-throw the `javax.ejb.EJBException` that wraps the original exception.
-* Any other unexpected error conditions should be reported using
-`javax.ejb.EJBException` (`javax.ejb.EJBException` is a subclass of
-`java.lang.RuntimeException`).
-
-Under container-managed transaction demarcation, upon receiving a
-runtime exception from a message-driven bean's `onMessage` method, the
-container rolls back the container-started transaction and the message
-is redelivered. This is because the message delivery itself is part of
-the container-started transaction. By default, the GlassFish Server
-container closes the container's connection to the JMS provider when the
-first runtime exception is received from a message-driven bean
-instance's `onMessage` method. This avoids potential message redelivery
-looping and protects server resources if the message-driven bean's
-`onMessage` method continues misbehaving. To change this default
-container behavior, use the `cmt-max-runtime-exceptions` property of the
-MDB container. Here is an example `asadmin set` command that sets this
-property:
-
-[source,oac_no_warn]
-----
-asadmin set server-config.mdb-container.property.cmt-max-runtime-exceptions="5"
-----
-
-For more information about the `asadmin set` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-The `cmt-max-runtime-exceptions` property specifies the maximum number
-of runtime exceptions allowed from a message-driven bean's `onMessage`
-method before the container starts to close the container's connection
-to the message source. By default this value is 1; -1 disables this
-container protection.
-
-A message-driven bean's `onMessage` method can use the
-`jakarta.jms.Message.getJMSRedelivered` method to check whether a received
-message is a redelivered message.
-
-
-[NOTE]
-=======================================================
-
-The `cmt-max-runtime-exceptions` property is deprecated.
-
-=======================================================
-
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/java-clients.adoc b/docs/application-development-guide/src/main/jbake/content/java-clients.adoc
deleted file mode 100644
index 6dba942..0000000
--- a/docs/application-development-guide/src/main/jbake/content/java-clients.adoc
+++ /dev/null
@@ -1,1647 +0,0 @@
-type=page
-status=published
-title=Developing Java Clients
-next=connectors.html
-prev=container_managed-persistence.html
-~~~~~~
-Developing Java Clients
-=======================
-
-[[GSDVG00012]][[beakt]]
-
-
-[[developing-java-clients]]
-10 Developing Java Clients
---------------------------
-
-This chapter describes how to develop, assemble, and deploy Java
-clients.
-
-The following topics are addressed here:
-
-* link:#beaku[Introducing the Application Client Container]
-* link:#beakv[Developing Clients Using the ACC]
-* link:#gkusn[Developing Clients Without the ACC]
-
-
-[NOTE]
-=======================================================================
-
-The Web Profile of the OracleGlassFish Server supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The full GlassFish Server supports the entire EJB
-3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-Accordingly, the Application Client Container is supported only in the
-full GlassFish Server, not in the Web Profile.
-
-JMS resources are supported only in the full GlassFish Server, not in
-the Web Profile. See link:jms.html#beaob[Using the Java Message Service].
-
-=======================================================================
-
-
-[[beaku]][[GSDVG00159]][[introducing-the-application-client-container]]
-
-Introducing the Application Client Container
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Application Client Container (ACC) includes a set of Java classes,
-libraries, and other files that are required for and distributed with
-Java client programs that execute in their own Java Virtual Machine
-(JVM). The ACC manages the execution of Java EE application client
-components (application clients), which are used to access a variety of
-Java EE services (such as JMS resources, EJB components, web services,
-security, and so on.) from a JVM outside the Oracle GlassFish Server.
-
-The ACC communicates with the GlassFish Server using RMI-IIOP protocol
-and manages the details of RMI-IIOP communication using the client ORB
-that is bundled with it. Compared to other Java EE containers, the ACC
-is lightweight.
-
-For information about debugging application clients, see
-link:debugging-apps.html#gekvq[Application Client Debugging].
-
-
-[NOTE]
-=======================================================================
-
-Interoperability between application clients and GlassFish Servers
-running under different major versions is not supported.
-
-=======================================================================
-
-
-[[fvymq]][[GSDVG00459]][[acc-security]]
-
-ACC Security
-^^^^^^^^^^^^
-
-The ACC determines when authentication is needed. This typically occurs
-when the client refers to an EJB component that requires authorization
-or when annotations in the client's `main` class trigger injection
-which, in turn, requires contact with the GlassFish Server's naming
-service. To authenticate the end user, the ACC prompts for any required
-information, such as a username and password. The ACC itself provides a
-very simple dialog box to prompt for and read these values.
-
-The ACC integrates with the GlassFish Server's authentication system. It
-also supports SSL (Secure Socket Layer)/IIOP if configured and when
-necessary; see link:#gckgn[Using RMI/IIOP Over SSL].
-
-You can provide an alternate implementation to gather authentication
-information, tailored to the needs of the application client. To do so,
-include the class to perform these duties in the application client and
-identify the fully-qualified name of this class in the
-`callback-handler` element of the `application-client.xml` descriptor
-for the client. The ACC uses this class instead of its default class for
-asking for and reading the authentication information. The class must
-implement the javax.security.auth.callback.CallbackHandler interface.
-See the Java EE specification, section 9.2, Application Clients:
-Security, for more details.
-
-Application clients can use link:securing-apps.html#beacm[Programmatic
-Login Using the ProgrammaticLogin Class].
-
-[[fvymv]][[GSDVG00460]][[acc-naming]]
-
-ACC Naming
-^^^^^^^^^^
-
-The client container enables the application clients to use the Java
-Naming and Directory Interface (JNDI) to look up Java EE services (such
-as JMS resources, EJB components, web services, security, and so on.)
-and to reference configurable parameters set at the time of deployment.
-
-[[gbgfe]][[GSDVG00461]][[application-client-annotation]]
-
-Application Client Annotation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Annotation is supported for the main class and the optional callback
-handler class in application clients. For more information, see
-"link:../application-deployment-guide/overview.html#GSDPG00320[Deployment Descriptors and Annotations]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-[[gavkg]][[GSDVG00462]][[java-web-start]]
-
-Java Web Start
-^^^^^^^^^^^^^^
-
-Java Web Start allows your application client to be easily launched and
-automatically downloaded and updated. It is enabled for all application
-clients by default. For more information, see link:#gavmf[Using Java Web
-Start].
-
-[[gipjj]][[GSDVG00463]][[application-client-jar-file]]
-
-Application Client JAR File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In GlassFish Server 5.0, the downloaded appclient JAR file is smaller
-than in previous releases, with dependent classes in separate JAR files.
-When copying the downloaded appclient to another location, make sure to
-include the JAR files containing the dependent classes as well. You can
-also use the `asadmin get-client-stubs` command to retrieve the
-appclient and all associated application JAR files and place them in
-another location.
-
-[[beakv]][[GSDVG00160]][[developing-clients-using-the-acc]]
-
-Developing Clients Using the ACC
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes the procedure to develop, assemble, and deploy
-client applications using the ACC.
-
-The following topics are addressed here:
-
-* link:#beakw[To Access an EJB Component From an Application Client]
-* link:#beakx[To Access a JMS Resource From an Application Client]
-* link:#gavmf[Using Java Web Start]
-* link:#gipkt[Using the Embeddable ACC]
-* link:#beaky[Running an Application Client Using the `appclient`
-Script]
-* link:#beakz[Using the `package-appclient` Script]
-* link:#fvymy[The `client.policy` File]
-* link:#gckgn[Using RMI/IIOP Over SSL]
-* link:#ghbpc[Connecting to a Remote EJB Module Through a Firewall]
-* link:#gipkj[Specifying a Splash Screen]
-* link:#gjiec[Setting Login Retries]
-* link:#gjpjt[Using Libraries with Application Clients]
-
-[[beakw]][[GSDVG00072]][[to-access-an-ejb-component-from-an-application-client]]
-
-To Access an EJB Component From an Application Client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  In your client code, reference the EJB component by using an `@EJB`
-annotation or by looking up the JNDI name as defined in the
-`ejb-jar.xml` file. +
-For more information about naming and lookups, see
-link:jndi.html#beans[Accessing the Naming Context]. +
-If load balancing is enabled as in Step link:#accejb8[7] and the EJB
-components being accessed are in a different cluster, the endpoint list
-must be included in the lookup, as follows: +
-[source,oac_no_warn]
-----
-corbaname:host1:port1,host2:port2,.../NameService#ejb/jndi-name
-----
-2.  Define the `@EJB` annotations or the `ejb-ref` elements in the
-`application-client.xml` file. Define the corresponding `ejb-ref`
-elements in the `glassfish-application-client.xml` file. +
-For more information on the `glassfish-application-client.xml` file, see
-"link:../application-deployment-guide/dd-files.html#GSDPG00081[The glassfish-application-client.xml file]" in
-GlassFish Server Open Source Edition Application Deployment Guide. For a
-general explanation of how to map JNDI names using reference elements,
-see link:jndi.html#beaoa[Mapping References].
-3.  Deploy the application client and EJB component together in an
-application. +
-For more information on deployment, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server
-Open Source Edition Application Deployment Guide]. To get the client JAR
-file, use the `--retrieve` option of the `asadmin deploy` command. +
-To retrieve the stubs and ties generated during deployment, use the
-`asadmin get-client-stubs` command. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-4.  Ensure that the client JAR file includes the following files:
-* A Java class to access the bean.
-* `application-client.xml` - (optional) Java EE application client
-deployment descriptor.
-* `glassfish-application-client.xml` - (optional) GlassFish Server
-specific client deployment descriptor. For information on the
-`glassfish-application-client.xml` file, see "link:../application-deployment-guide/dd-files.html#GSDPG00081[The
-glassfish-application-client.xml file]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-* The `MANIFEST.MF` file. This file contains a reference to the `main`
-class, which states the complete package prefix and class name of the
-Java client.
-5.  Prepare the client machine. +
-This step is not needed for Java Web Start. This step is not needed if
-the client and server machines are the same. +
-If you are using the `appclient` script, package the GlassFish Server
-system files required to launch application clients on remote systems
-using the `package-appclient` script, then retrieve the application
-client itself using the `asadmin get-client-stubs` command. +
-For more information, see link:#beakz[Using the `package-appclient`
-Script] and the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-6.  To access EJB components that are residing in a remote system, make
-the following changes to the `sun-acc.xml` file or the `appclient`
-script. This step is not needed for Java Web Start.
-* Define the `target-server` element's `address` and `port` attributes
-to reference the remote server machine and its ORB port. See
-"link:../application-deployment-guide/dd-elements.html#GSDPG00284[target-server]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-* Use the `-targetserver` option of the appclient script to reference
-the remote server machine and its ORB port. For more information, see
-link:#beaky[Running an Application Client Using the `appclient` Script]. +
-To determine the ORB port on the remote server, use the `asadmin get`
-command. For example: +
-[source,oac_no_warn]
-----
-asadmin --host rmtsrv get server-config.iiop-service.iiop-listener.iiop-listener1.port
-----
-For more information about the `asadmin get` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-7.  [[accejb8]] +
-To set up load balancing and failover of remote EJB references, define
-at least two `target-server` elements in the `sun-acc.xml` file or the
-`appclient` script. This step is not needed for Java Web Start. +
-If the GlassFish Server instance on which the application client is
-deployed participates in a cluster, the ACC finds all currently active
-IIOP endpoints in the cluster automatically. However, a client should
-have at least two endpoints specified for bootstrapping purposes, in
-case one of the endpoints has failed. +
-The `target-server` elements in the `sun-acc.xml` file specify one or
-more IIOP endpoints used for load balancing. The `address` attribute is
-an IPv4 address or host name, and the `port` attribute specifies the
-port number. See "link:../application-deployment-guide/dd-elements.html#GSDPG00111[client-container]" in GlassFish
-Server Open Source Edition Application Deployment Guide. +
-The `--targetserver` option of the appclient script specifies one or
-more IIOP endpoints used for load balancing. For more information, see
-link:#beaky[Running an Application Client Using the `appclient` Script].
-
-[[GSDVG555]]
-
-Next Steps
-
-* For instructions on running the application client, see
-link:#gavmf[Using Java Web Start] or link:#beaky[Running an Application
-Client Using the `appclient` Script].
-* For more information about RMI-IIOP load balancing and failover, see
-"link:../ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing and Failover]" in GlassFish
-Server Open Source Edition High Availability Administration Guide.
-
-[[beakx]][[GSDVG00073]][[to-access-a-jms-resource-from-an-application-client]]
-
-To Access a JMS Resource From an Application Client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Create a JMS client. +
-For detailed instructions on developing a JMS client, see
-"https://javaee.github.io/tutorial/jms-examples.html[Java Message
-Service Examples]" in The Java EE 8 Tutorial.
-2.  Next, configure a JMS resource on the GlassFish Server. +
-For information on configuring JMS resources, see
-"link:../administration-guide/jms.html#GSADG00598[Administering JMS Connection Factories and
-Destinations]" in GlassFish Server Open Source Edition Administration
-Guide.
-3.  Define the `@Resource` or `@Resources` annotations or the
-`resource-ref` elements in the `application-client.xml` file. Define the
-corresponding `resource-ref` elements in the
-`glassfish-application-client.xml` file. +
-For more information on the `glassfish-application-client.xml` file, see
-"link:../application-deployment-guide/dd-files.html#GSDPG00081[The glassfish-application-client.xml file]" in
-GlassFish Server Open Source Edition Application Deployment Guide. For a
-general explanation of how to map JNDI names using reference elements,
-see link:jndi.html#beaoa[Mapping References].
-4.  Ensure that the client JAR file includes the following files:
-* A Java class to access the resource.
-* `application-client.xml` - (optional) Java EE application client
-deployment descriptor.
-* `glassfish-application-client.xml` - (optional) GlassFish Server
-specific client deployment descriptor. For information on the
-`glassfish-application-client.xml` file, see "link:../application-deployment-guide/dd-files.html#GSDPG00081[The
-glassfish-application-client.xml file]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-* The `MANIFEST.MF` file. This file contains a reference to the `main`
-class, which states the complete package prefix and class name of the
-Java client.
-5.  Prepare the client machine. +
-This step is not needed for Java Web Start. This step is not needed if
-the client and server machines are the same. +
-If you are using the `appclient` script, package the GlassFish Server
-system files required to launch application clients on remote systems
-using the `package-appclient` script, then retrieve the application
-client itself using the `asadmin get-client-stubs` command. +
-For more information, see link:#beakz[Using the `package-appclient`
-Script] and the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-6.  Run the application client. +
-See link:#gavmf[Using Java Web Start] or link:#beaky[Running an
-Application Client Using the `appclient` Script].
-
-[[gavmf]][[GSDVG00464]][[using-java-web-start]]
-
-Using Java Web Start
-^^^^^^^^^^^^^^^^^^^^
-
-Java Web Start allows your application client to be easily launched and
-automatically downloaded and updated. General information about Java Web
-Start is available at
-`http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.html`.
-
-The following topics are addressed here:
-
-* link:#gavqb[Enabling and Disabling Java Web Start]
-* link:#gavmk[Downloading and Launching an Application Client]
-* link:#gavor[The Application Client URL]
-* link:#gcjlg[Signing JAR Files Used in Java Web Start]
-* link:#geqxg[Error Handling]
-* link:#geqwd[Vendor Icon, Splash Screen, and Text]
-* link:#gkmbs[Creating a Custom JNLP File]
-
-[[gavqb]][[GSDVG00312]][[enabling-and-disabling-java-web-start]]
-
-Enabling and Disabling Java Web Start
-+++++++++++++++++++++++++++++++++++++
-
-Java Web Start is enabled for all application clients by default.
-
-The application developer or deployer can specify that Java Web Start is
-always disabled for an application client by setting the value of the
-`eligible` element to `false` in the `glassfish-application-client.xml`
-file. See the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide].
-
-The GlassFish Server administrator can disable Java Web Start for a
-previously deployed eligible application client using the `asadmin set`
-command.
-
-To disable Java Web Start for all eligible application clients in an
-application, use the following command:
-
-[source,oac_no_warn]
-----
-asadmin set applications.application.app-name.property.java-web-start-enabled="false"
-----
-
-To disable Java Web Start for a stand-alone eligible application client,
-use the following command:
-
-[source,oac_no_warn]
-----
-asadmin set applications.application.module-name.property.java-web-start-enabled="false"
-----
-
-Setting `java-web-start-enabled="true"` re-enables Java Web Start for an
-eligible application client. For more information about the
-`asadmin set` command, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-[[gavmk]][[GSDVG00313]][[downloading-and-launching-an-application-client]]
-
-Downloading and Launching an Application Client
-+++++++++++++++++++++++++++++++++++++++++++++++
-
-If Java Web Start is enabled for your deployed application client, you
-can launch it for testing. Simply click on the Launch button next to the
-application client or application's listing on the App Client Modules
-page in the Administration Console.
-
-On other machines, you can download and launch the application client
-using Java Web Start in the following ways:
-
-* Using a web browser, directly enter the URL for the application
-client. See link:#gavor[The Application Client URL].
-* Click on a link to the application client from a web page.
-* Use the Java Web Start command `javaws`, specifying the URL of the
-application client as a command line argument.
-* If the application has previously been downloaded using Java Web
-Start, you have additional alternatives.
-
-** Use the desktop icon that Java Web Start created for the application
-client. When Java Web Start downloads an application client for the
-first time it asks you if such an icon should be created.
-
-** Use the Java Web Start control panel to launch the application
-client.
-
-When you launch an application client, Java Web Start contacts the
-server to see if a newer client version is available. This means you can
-redeploy an application client without having to worry about whether
-client machines have the latest version.
-
-[[gavor]][[GSDVG00314]][[the-application-client-url]]
-
-The Application Client URL
-++++++++++++++++++++++++++
-
-The default URL for an application or module generally is as follows:
-
-[source,oac_no_warn]
-----
-http://host:port/context-root
-----
-
-The default URL for a stand-alone application client module is as
-follows:
-
-[source,oac_no_warn]
-----
-http://host:port/appclient-module-id
-----
-
-The default URL for an application client module embedded within an
-application is as follows. Note that the relative path to the
-application client JAR file is included.
-
-[source,oac_no_warn]
-----
-http://host:port/application-id/appclient-path
-----
-
-If the context-root, appclient-module-id, or application-id is not
-specified during deployment, the name of the JAR or EAR file without the
-extension is used. If the application client module or application is
-not in JAR or EAR file format, an appclient-module-id or application-id
-is generated.
-
-Regardless of how the context-root or id is determined, it is written to
-the server log when you deploy the application. For details about
-naming, see "link:../application-deployment-guide/overview.html#GSDPG00323[Naming Standards]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-To set a different URL for an application client, use the `context-root`
-subelement of the `java-web-start-access` element in the
-`glassfish-application-client.xml` file. This overrides the
-appclient-module-id or application-id. See the link:../application-deployment-guide/toc.html#GSDPG[GlassFish
-Server Open Source Edition Application Deployment Guide].
-
-You can also pass arguments to the ACC or to the application client's
-`main` method as query parameters in the URL. If multiple application
-client arguments are specified, they are passed in the order specified.
-
-A question mark separates the context root from the arguments.
-Ampersands (`&`) separate the arguments and their values. Each argument
-and each value must begin with `arg=`. Here is an example URL with a
-`-color` argument for a stand-alone application client. The `-color`
-argument is passed to the application client's `main` method.
-
-[source,oac_no_warn]
-----
-http://localhost:8080/testClient?arg=-color&arg=red
-----
-
-
-[NOTE]
-=======================================================================
-
-If you are using the `javaws` URL command to launch Java Web Start with
-a URL that contains arguments, enclose the URL in double quotes (`"`) to
-avoid breaking the URL at the ampersand (`&`) symbol.
-
-=======================================================================
-
-
-Ideally, you should build your production application clients with
-user-friendly interfaces that collect information which might otherwise
-be gathered as command-line arguments. This minimizes the degree to
-which users must customize the URLs that launch application clients
-using Java Web Start. Command-line argument support is useful in a
-development environment and for existing application clients that depend
-on it.
-
-[[gcjlg]][[GSDVG00315]][[signing-jar-files-used-in-java-web-start]]
-
-Signing JAR Files Used in Java Web Start
-++++++++++++++++++++++++++++++++++++++++
-
-Java Web Start enforces a security sandbox. By default it grants any
-application, including application clients, only minimal privileges.
-Because Java Web Start applications can be so easily downloaded, Java
-Web Start provides protection from potentially harmful programs that
-might be accessible over the network. If an application requires a
-higher privilege level than the sandbox permits, the code that needs
-privileges must be in a JAR file that was signed.
-
-When Java Web Start downloads such a signed JAR file, it displays
-information about the certificate that was used to sign the JAR if that
-certificate is not trusted. It then asks you whether you want to trust
-that signed code. If you agree, the code receives elevated permissions
-and runs. If you reject the signed code, Java Web Start does not start
-the downloaded application.
-
-Your first Java Web Start launch of an application client is likely to
-involve this prompting because by default GlassFish Server uses a
-self-signed certificate that is not linked to a trusted authority.
-
-The GlassFish Server serves two types of signed JAR files in response to
-Java Web Start requests. One type is a JAR file installed as part of the
-GlassFish Server, which starts an application client during a Java Web
-Start launch: as-install`/lib/gf-client.jar`.
-
-The other type is a generated application client JAR file. As part of
-deployment, the GlassFish Server generates a new application client JAR
-file that contains classes, resources, and descriptors needed to run the
-application client on end-user systems. When you deploy an application
-with the `asadmin deploy` command's `--retrieve` option, use the
-`asadmin get-client-stubs` command, or select the Generate RMIStubs
-option from the EJB Modules deployment page in the Administration
-Console, this is one of the JAR files retrieved to your system. Because
-application clients need access beyond the minimal sandbox permissions
-to work in the Java Web Start environment, the generated application
-client JAR file must be signed before it can be downloaded to and
-executed on an end-user system.
-
-A JAR file can be signed automatically or manually.
-
-The following topics are addressed here:
-
-* link:#gcjmd[Automatically Signing JAR Files]
-* link:#gcjlr[Using the `jar-signing-alias` Deployment Property]
-
-[[gcjmd]][[GSDVG00038]][[automatically-signing-jar-files]]
-
-Automatically Signing JAR Files
-
-The GlassFish Server automatically creates a signed version of the
-required JAR file if none exists. When a Java Web Start request for the
-`gf-client.jar` file arrives, the GlassFish Server looks for
-domain-dir`/java-web-start/gf-client.jar`. When a request for an
-application's generated application client JAR file arrives, the
-GlassFish Server looks in the directory
-domain-dir`/java-web-start/`app-name for a file with the same name as
-the generated JAR file created during deployment.
-
-In either case, if the requested signed JAR file is absent or older than
-its unsigned counterpart, the GlassFish Server creates a signed version
-of the JAR file automatically and deposits it in the relevant directory.
-Whether the GlassFish Server just signed the JAR file or not, it serves
-the file from the domain-dir`/java-web-start` directory tree in response
-to the Java Web Start request.
-
-To sign these JAR files, by default the GlassFish Server uses its
-self-signed certificate. When you create a new domain, either by
-installing the GlassFish Server or by using the `asadmin create-domain`
-command, the GlassFish Server creates a self-signed certificate and adds
-it to the domain's key store.
-
-A self-signed certificate is generally untrustworthy because no
-certification authority vouches for its authenticity. The automatic
-signing feature uses the same certificate to create all required signed
-JAR files.
-
-Starting with Java SE 7 Update 21, stricter security is enforced for
-applications launched using Java Web Start. Application users will see
-various security messages, depending on their Java security settings. If
-Java security is set to Very High on their systems, users will not be
-able to launch application clients signed using the GlassFish Server
-self-signed certificate.
-
-To minimize impacts to application users, all Java Web Start
-applications should be signed with a trusted certificate instead of the
-GlassFish Server self-signed certificate. If you use the GlassFish
-Server Java Web Start feature or deploy applications that provide their
-own Java Web Start applications, perform the following steps:
-
-1.  Obtain a trusted certificate from a certification authority if your
-organization does not already have one.
-2.  Stop GlassFish Server.
-3.  Replace the GlassFish Server self-signed certificate with the
-trusted certificate by importing the trusted certificate into the
-GlassFish Server keystore using the `s1as` alias. By default, the
-keystore is located at domain-dir`/config/keystore.jks`. +
-For more information about importing a trusted certificate into the
-domain keystore, see "link:../security-guide/system-security.html#GSSCG00147[Administering JSSE Certificates]"
-in GlassFish Server Open Source Edition Security Guide.
-4.  Delete any signed JARs already generated by GlassFish Server:
-1.  At the command prompt, type: +
-`rm -rf` domain-dir`/java_web_start`
-2.  For each application that contains an application client launched
-using Java Web Start, type: +
-`rm -rf` domain-dir`/generated/xml/`app-name`/signed`
-3.  Restart GlassFish Server.
-5.  Ensure that the Java security setting on user systems is set to Very
-High.
-
-After you perform these steps, the first time a user launches an
-application client on their system, Java Web Start detects that the
-server's signed JARs are newer than those cached on the user's system
-and downloads them again. This happens on the first launch only,
-regardless of the client. Even though the application client is now
-signed using a trusted certificate, users will again be asked whether to
-trust the downloaded application and can choose to skip that prompt for
-future launches.
-
-[[gcjlr]][[GSDVG00039]][[using-the-jar-signing-alias-deployment-property]]
-
-Using the `jar-signing-alias` Deployment Property
-
-The `asadmin deploy` command property `jar-signing-alias` specifies the
-alias for the security certificate with which the application client
-container JAR file is signed.
-
-Java Web Start won't execute code requiring elevated permissions unless
-it resides in a JAR file signed with a certificate that the user's
-system trusts. For your convenience, GlassFish Server signs the JAR file
-automatically using the self-signed certificate from the domain, `s1as`.
-Java Web Start then asks the user whether to trust the code and displays
-the GlassFish Server certificate information.
-
-To sign this JAR file with a different certificate, first add the
-certificate to the domain keystore. You can use a certificate from a
-trusted authority, which avoids the Java Web Start prompt. To add a
-certificate to the domain keystore, see "link:../security-guide/system-security.html#GSSCG00147[Administering
-JSSE Certificates]" in GlassFish Server Open Source Edition Security
-Guide.
-
-Next, deploy your application using the `jar-signing-alias` property.
-For example:
-
-[source,oac_no_warn]
-----
-asadmin deploy --property jar-signing-alias=MyAlias MyApp.ear
-----
-
-For more information about the `asadmin deploy` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[geqxg]][[GSDVG00316]][[error-handling]]
-
-Error Handling
-++++++++++++++
-
-When an application client is launched using Java Web Start, any error
-that the application client logic does not catch and handle is written
-to `System.err` and displayed in a dialog box. This display appears if
-an error occurs even before the application client logic receives
-control. It also appears if the application client code does not catch
-and handle errors itself.
-
-[[geqwd]][[GSDVG00317]][[vendor-icon-splash-screen-and-text]]
-
-Vendor Icon, Splash Screen, and Text
-++++++++++++++++++++++++++++++++++++
-
-To specify a vendor-specific icon, splash screen, text string, or a
-combination of these for Java Web Start download and launch screens, use
-the `vendor` element in the `glassfish-application-client.xml` file. The
-complete format of this element's data is as follows:
-
-[source,oac_no_warn]
-----
-<vendor>icon-image-URI::splash-screen-image-URI::vendor-text</vendor>
-----
-
-The following example vendor element contains an icon, a splash screen,
-and a text string:
-
-[source,oac_no_warn]
-----
-<vendor>images/icon.jpg::otherDir/splash.jpg::MyCorp, Inc.</vendor>
-----
-
-The following example vendor element contains an icon and a text string:
-
-[source,oac_no_warn]
-----
-<vendor>images/icon.jpg::MyCorp, Inc.</vendor>
-----
-
-The following example vendor element contains a splash screen and a text
-string; note the initial double colon:
-
-[source,oac_no_warn]
-----
-<vendor>::otherDir/splash.jpg::MyCorp, Inc.</vendor>
-----
-
-The following example vendor element contains only a text string:
-
-[source,oac_no_warn]
-----
-<vendor>MyCorp, Inc.</vendor>
-----
-
-The default value is the text string `Application Client`.
-
-For more information about the `glassfish-application-client.xml` file,
-see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application
-Deployment Guide].
-
-You can also specify a vendor-specific icon, splash screen, text string,
-or a combination by using a custom JNLP file; see link:#gkmbs[Creating a
-Custom JNLP File].
-
-[[gkmbs]][[GSDVG00318]][[creating-a-custom-jnlp-file]]
-
-Creating a Custom JNLP File
-+++++++++++++++++++++++++++
-
-You can partially customize the Java Network Launching Protocol (JNLP)
-file that GlassFish Server uses for Java Web Start.
-
-The following topics are addressed here:
-
-* link:#gkmco[Specifying the JNLP File in the Deployment Descriptor]
-* link:#gkmbq[Referring to JAR Files from the JNLP File]
-* link:#gkmbt[Referring to Other JNLP Files]
-* link:#gkmbr[Combining Custom and Automatically Generated Content]
-
-For more information about JNLP, see the
-http://java.sun.com/javase/technologies/desktop/javawebstart/download-spec.html[Java
-Web Start Architecture JNLP Specification and API Documentation]
-(`http://java.sun.com/javase/technologies/desktop/javawebstart/download-spec.html`).
-
-[[gkmco]][[GSDVG00040]][[specifying-the-jnlp-file-in-the-deployment-descriptor]]
-
-Specifying the JNLP File in the Deployment Descriptor
-
-To specify a custom JNLP file for Java Web Start, use the `jnlp-doc`
-element in the `glassfish-application-client.xml` file. If none is
-specified, a default JNLP file is generated.
-
-The value of the `jnlp-doc` element is a relative path with the
-following format:
-
-[source,oac_no_warn]
-----
-[path-to-JAR-in-EAR!]path-to-JNLP-in-JAR
-----
-
-The default path-to-JAR-in-EAR is the current application client JAR
-file. For example, if the JNLP file is in the application client JAR
-file at `custom/myInfo.jnlp`, the element value would look like this:
-
-[source,oac_no_warn]
-----
-<java-web-start-access>
-   <jnlp-doc>custom/myInfo.jnlp</jnlp-doc>
-</java-web-start-access>
-----
-
-If the application client is inside an EAR file, you can place the
-custom JNLP file inside another JAR file in the EAR. For example, if the
-JNLP file is in a JAR file at `other/myLib.jar`, the element value would
-look like this, with an exclamation point (`!`) separating the path to
-the JAR from the path in the JAR:
-
-[source,oac_no_warn]
-----
-<java-web-start-access>
-   <jnlp-doc>other/myLib.jar!custom/myInfo.jnlp</jnlp-doc>
-</java-web-start-access>
-----
-
-For more information about the `glassfish-application-client.xml` file,
-see the GlassFish Server Open Source Edition Application Deployment
-Guide.
-
-[[gkmbq]][[GSDVG00041]][[referring-to-jar-files-from-the-jnlp-file]]
-
-Referring to JAR Files from the JNLP File
-
-As with any JNLP document, the custom JNLP file can refer to JAR files
-the application client requires.
-
-Do not specify every JAR on which the client depends. GlassFish Server
-automatically handles JAR files that the Java EE specification requires
-to be available to the application client. This includes JAR files
-listed in the application client JAR file's manifest `Class-Path` and
-JAR files in the EAR file's library directory (if any) and their
-transitive closures. The custom JNLP file should specify only those JAR
-files the client needs that GlassFish Server would not otherwise
-include.
-
-Package these JAR files in the EAR file, as with any JAR file required
-by an application client. Use relative URIs in the `<jar href="...">`
-and `<nativelib href="...">` elements to point to the JAR files. The
-codebase that GlassFish Server assigns for the final client JNLP file
-corresponds to the top level of the EAR file. Therefore, relative `href`
-references correspond directly to the relative path to the JAR files
-within the EAR file.
-
-Neither the Java EE specification nor GlassFish Server supports
-packaging JAR files inside the application client JAR file itself.
-Nothing prevents this, but GlassFish Server does no special processing
-of such JAR files. They do not appear in the runtime class path and they
-cannot be referenced from the custom JNLP file.
-
-[[gkmbt]][[GSDVG00042]][[referring-to-other-jnlp-files]]
-
-Referring to Other JNLP Files
-
-The JNLP file can also refer to other custom JNLP files using
-`<extension href="..."/>` elements. To be consistent with relative
-`href` references to JAR files, the relative `href` references to JNLP
-files are resolved within the EAR file. You can place these JNLP files
-directly in the EAR file or inside JAR files that the EAR file contains.
-Use one of these formats for these `href` references:
-
-[source,oac_no_warn]
-----
-[path-to-JAR-in-EAR!]path-to-JNLP-in-JAR
-
-path-to-JNLP-in-EAR
-----
-
-Note that these formats are not equivalent to the format of the
-`jnlp-doc` element in the `glassfish-application-client.xml` file.
-
-These formats follow the standard entry-within-a-JAR URI syntax and
-semantics. Support for this syntax comes from the automated Java Web
-Start support in GlassFish Server. This is not a feature of Java Web
-Start or the JNLP standard.
-
-[[gkmbr]][[GSDVG00043]][[combining-custom-and-automatically-generated-content]]
-
-Combining Custom and Automatically Generated Content
-
-GlassFish Server recognizes these types of content in the JNLP file:
-
-* Owned — GlassFish Server owns the content and ignores any custom
-content
-* Merged — Automatically generated content and custom content are merged
-* Defaulted — Custom content is used if present, otherwise default
-content is provided
-
-You can compose a complete JNLP file and package it with the application
-client. GlassFish Server then combines it with its automatically
-generated JNLP file. You can also provide content that only adds to or
-replaces what GlassFish Server generates. The custom content must
-conform to the general structure of the JNLP format so that GlassFish
-Server can properly place it in the final JNLP file.
-
-For example, to specify a single native library to be included only for
-Windows systems, the new element to add might be as follows:
-
-[source,oac_no_warn]
-----
-<nativelib href="windows/myLib.jar"/>
-----
-
-However, you must indicate where in the overall document this element
-belongs. The actual custom JNLP file should look like this:
-
-[source,oac_no_warn]
-----
-<jnlp>
-   <resources os="Windows">
-      <nativelib href="windows/myLib.jar"/>
-   </resources>
-</jnlp>
-----
-
-GlassFish Server provides default `<information>` and `<resources>`
-elements, without specifying attributes such as `os`, `arch`,
-`platform`, or `locale`. GlassFish Server merges its own content within
-those elements with custom content under those elements. Further, you
-can provide your own `<information>` and `<resources>` elements (and
-fragments within them) that specify at least one of these attributes.
-
-In general, you can perform the following customizations:
-
-* Override the GlassFish Server defaults for the child elements of
-`<information>` elements that have no attribute settings for `os`,
-`arch`, `platform`, and `locale`. Among these child elements are
-`<title>`, `<vendor>`, `<description>`, `<icon>`, and so on.
-* Add `<information>` elements with `os`, `arch`, `platform`, or
-`locale` settings. You can also add child elements.
-* Add child elements of `<resources>` elements that have no attribute
-settings for `os`, `arch`, or `locale`. Among these child elements are
-`<jar>`, `<property>`, `<nativelib>`, and so on. You can also customize
-attributes of the `<java>` child element.
-* Add `<resources>` elements that specify at least one of `os`, `arch`,
-or `locale`. You can also add child elements.
-
-This flexibility allows you to add JAR files to the application
-(including platform-specific native libraries) and set properties to
-control the behavior of your application clients.
-
-The following tables provide more detail about what parts of the JNLP
-file you can add to and modify.
-
-[[GSDVG556]][[sthref24]][[gkmbk]]
-
-
-Table 10-1 Owned JNLP File Content
-
-[width="100%",cols="32%,68%",options="header",]
-|=======================================================================
-|JNLP File Fragment |Description
-a|
-[source,oac_no_warn]
-----
-<jnlp codebase="xxx" ...>
-----
-
- |GlassFish Server controls this content for application clients
-packaged in EAR files. The developer controls this content for
-application clients packaged in WAR files.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp href="xxx" ...>
-----
-
- |GlassFish Server controls this content for application clients
-packaged in EAR files. The developer controls this content for
-application clients packaged in WAR files.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <security>
-----
-
- |GlassFish Server must control the permissions requested for each JNLP
-file. All permissions are needed for the main file, which launches the
-ACC. The permissions requested for other JNLP documents depend on
-whether the JAR files referenced in those documents are signed.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <application-desc>
-    <argument> ...
-----
-
- |GlassFish Server sets the `main-class` and the arguments to be passed
-to the client.
-|=======================================================================
-
-
-[[GSDVG557]][[sthref25]][[gkmci]]
-
-
-Table 10-2 Defaulted JNLP File Content
-
-[width="100%",cols="39%,61%",options="header",]
-|=======================================================================
-|JNLP File Fragment |Description
-a|
-[source,oac_no_warn]
-----
-<jnlp spec="xxx" ...>
-----
-
- |Specifies the JNLP specification version.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <information [no-attributes]>
-----
-
- |Specifies the application title, vendor, home page, various
-description text values, icon images, and whether offline execution is
-allowed.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <resources [no-attributes]>
-    <java version="xxx" 
-        java-vm-args="yyy" ...>
-----
-
- |Specifies the Java SE version or selected VM parameter settings.
-|=======================================================================
-
-
-[[GSDVG558]][[sthref26]][[gkmcc]]
-
-
-Table 10-3 Merged JNLP File Content
-
-[width="100%",cols="37%,63%",options="header",]
-|=======================================================================
-|JNLP File Fragment |Description
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <information [attributes]>
-----
-
- |You can specify one or more of the `os`, `arch`, `platform`, and
-`locale` attributes for the `<information>` element. You can also
-specify child elements; GlassFish Server provides no default children.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <resources [attributes]>
-----
-
- |You can specify one or more of the `os`, `arch`, `platform`, and
-`locale` attributes for the `<resources>` element. You can also specify
-child elements; GlassFish Server provides no default children.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <resources [no-attributes]>
-    <jar ...>
-----
-
- |Adds JAR files to be included in the application to the JAR files
-provided by GlassFish Server.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <resources [no-attributes]>
-    <nativelib ...>
-----
-
- |Adds native libraries to be included in the application. Each entry in
-a JAR listed in a `<nativelib>` element must be a native library for the
-correct platform. The full syntax of the `<nativelib>` element lets the
-developer specify the platform for that native library.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <resources [no-attributes]>
-    <property ...>
-----
-
- |Adds system properties to be included in the application to the system
-properties defined by GlassFish Server.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <resources [no-attributes]>
-    <extension ...>
-----
-
- |Specifies another custom JNLP file.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <component-desc ...>
-----
-
- |Includes another custom JNLP file that specifies a component
-extension.
-
-a|
-[source,oac_no_warn]
-----
-<jnlp>
-  <installer-desc ...>
-----
-
- |Includes another custom JNLP file that specifies an installer
-extension.
-|=======================================================================
-
-
-[[gipkt]][[GSDVG00465]][[using-the-embeddable-acc]]
-
-Using the Embeddable ACC
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can embed the ACC into your application client. If you place the
-as-install`/lib/gf-client.jar` file in your runtime classpath, your
-application creates the ACC after your application code has started,
-then requests that the ACC start the application client portion. The
-basic model for coding is as follows:
-
-1.  Create a builder object.
-2.  Operate on the builder to configure the ACC.
-3.  Obtain a new ACC instance from the builder.
-4.  Present a client archive or class to the ACC instance.
-5.  Start the client running within the newly created ACC instance.
-
-Your code should follow this general pattern:
-
-[source,oac_no_warn]
-----
-// one TargetServer for each ORB endpoint for bootstrapping
-TargetServer[] servers = ...;
-
-// Get a builder to set up the ACC
-AppClientContainer.Builder builder = AppClientContainer.newBuilder(servers);
-
-// Fine-tune the ACC's configuration. Note ability to "chain" invocations.
-builder.callbackHandler("com.acme.MyHandler").authRealm("myRealm"); // Modify config
-
-// Get a container for a client.
-URI clientURI = ...; // URI to the client JAR
-AppClientContainer acc = builder.newContainer(clientURI);
-
-or
-
-Class mainClass = ...;
-AppClientContainer acc = builder.newContainer(mainClass);
-
-// In either case, start the client running.
-String[] appArgs = ...;
-acc.startClient(appArgs); // Start the client
-
-...
-
-acc.close(); // close the ACC(optional)
-----
-
-The ACC loads the application client's `main` class, performs any
-required injection, and transfers control to the `static main` method.
-The ACC's `run` method returns to the calling application as soon as the
-client's `main` method returns to the ACC.
-
-If the application client's `main` method starts any asynchronous
-activity, that work continues after the ACC returns. The ACC has no
-knowledge of whether the client's `main` method triggers asynchronous
-work. Therefore, if the client causes work on threads other than the
-calling thread, and if the embedding application needs to know when the
-client's asynchronous work completes, the embedding application and the
-client must agree on how this happens.
-
-The ACC's shutdown handling is invoked from the ACC's `close` method.
-The calling application can invoke `acc.close()` to close down any
-services started by the ACC. If the application client code started any
-asynchronous activity that might still depend on ACC services, invoking
-`close` before that asynchronous activity completes could cause
-unpredictable and undesirable results. The shutdown handling is also run
-automatically at VM shutdown if the code has not invoked `close` before
-then.
-
-The ACC does not prevent the calling application from creating or
-running more than one ACC instance during a single execution of the
-application either serially or concurrently. However, other services
-used by the ACC (transaction manager, security, ORB, and so on) might or
-might not support such serial or concurrent reuse.
-
-[[beaky]][[GSDVG00466]][[running-an-application-client-using-the-appclient-script]]
-
-Running an Application Client Using the `appclient` Script
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To run an application client, you can launch the ACC using the
-`appclient` script, whether or not Java Web Start is enabled. This is
-optional. This script is located in the as-install`/bin` directory. For
-details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-[[beakz]][[GSDVG00467]][[using-the-package-appclient-script]]
-
-Using the `package-appclient` Script
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can package the GlassFish Server system files required to launch
-application clients on remote systems into a single JAR file using the
-`package-appclient` script. This is optional. This script is located in
-the as-install`/bin` directory. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[fvymy]][[GSDVG00468]][[the-client.policy-file]]
-
-The `client.policy` File
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `client.policy` file is the J2SE policy file used by the application
-client. Each application client has a `client.policy` file. The default
-policy file limits the permissions of Java EE deployed application
-clients to the minimal set of permissions required for these
-applications to operate correctly. If an application client requires
-more than this default set of permissions, edit the `client.policy` file
-to add the custom permissions that your application client needs. Use
-the J2SE standard policy tool or any text editor to edit this file.
-
-For more information on using the J2SE policy tool, see
-`http://docs.oracle.com/javase/tutorial/security/tour2/index.html`.
-
-For more information about the permissions you can set in the
-`client.policy` file, see
-`http://docs.oracle.com/javase/7/docs/technotes/guides/security/permissions.html`.
-
-[[gckgn]][[GSDVG00469]][[using-rmiiiop-over-ssl]]
-
-Using RMI/IIOP Over SSL
-^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure RMI/IIOP over SSL in two ways: using a username and
-password, or using a client certificate.
-
-To use a username and password, configure the `ior-security-config`
-element in the `glassfish-ejb-jar.xml` file. The following configuration
-establishes SSL between an application client and an EJB component using
-a username and password. The user has to login to the ACC using either
-the `sun-acc.xml` mechanism or the
-link:securing-apps.html#beacm[Programmatic Login Using the
-ProgrammaticLogin Class] mechanism.
-
-[source,oac_no_warn]
-----
-<ior-security-config>
-  <transport-config>
-    <integrity>required</integrity>
-    <confidentiality>required</confidentiality>
-    <establish-trust-in-target>supported</establish-trust-in-target>
-    <establish-trust-in-client>none</establish-trust-in-client>
-  </transport-config>
-  <as-context>
-    <auth-method>username_password</auth-method>
-    <realm>default</realm>
-    <required>true</required>
-  </as-context>
- <sas-context>
-    <caller-propagation>none</caller-propagation>
- </sas-context>
-</ior-security-config>
-----
-
-For more information about the `glassfish-ejb-jar.xml` and `sun-acc.xml`
-files, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide].
-
-To use a client certificate, configure the `ior-security-config` element
-in the `glassfish-ejb-jar.xml` file. The following configuration
-establishes SSL between an application client and an EJB component using
-a client certificate.
-
-[source,oac_no_warn]
-----
-<ior-security-config>
-  <transport-config>
-    <integrity>required</integrity>
-    <confidentiality>required</confidentiality>
-    <establish-trust-in-target>supported</establish-trust-in-target>
-    <establish-trust-in-client>required</establish-trust-in-client>
-  </transport-config>
-  <as-context>
-    <auth-method>none</auth-method>
-    <realm>default</realm>
-    <required>false</required>
-  </as-context>
-  <sas-context>
-    <caller-propagation>none</caller-propagation>
-  </sas-context>
-</ior-security-config>
-----
-
-To use a client certificate, you must also specify the system properties
-for the keystore and truststore to be used in establishing SSL. To use
-SSL with the Application Client Container (ACC), you need to set these
-system properties in one of the following ways:
-
-* Use the new syntax of the `appclient` script and specify the system
-properties as JVM options. See link:#beaky[Running an Application Client
-Using the `appclient` Script].
-* Set the environment variable `VMARGS` in the shell. For example, in
-the `ksh` or `bash` shell, the command to set this environment variable
-would be as follows: +
-[source,oac_no_warn]
-----
-export VMARGS="-Djavax.net.ssl.keyStore=${keystore.db.file} 
--Djavax.net.ssl.trustStore=${truststore.db.file} 
--Djavax.net.ssl.keyStorePass word=${ssl.password} 
--Djavax.net.ssl.trustStorePassword=${ssl.password}"
-----
-* Optionally, you can set the `env` element using Ant. For example: +
-[source,oac_no_warn]
-----
-<target name="runclient">
-  <exec executable="${S1AS_HOME}/bin/appclient">
-    <env key="VMARGS" value=" -Djavax.net.ssl.keyStore=${keystore.db.file} 
-      -Djavax.net.ssl.trustStore=${truststore.db.file} 
-      -Djavax.net.ssl.keyStorePasword=${ssl.password} 
-      -Djavax.net.ssl.trustStorePassword=${ssl.password}"/>
-    <arg value="-client"/>
-    <arg value="${appClient.jar}"/>
-  </exec>
-</target>
-----
-
-[[ghbpc]][[GSDVG00470]][[connecting-to-a-remote-ejb-module-through-a-firewall]]
-
-Connecting to a Remote EJB Module Through a Firewall
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To deploy and run an application client that connects to an EJB module
-on a GlassFish Server instance that is behind a firewall, you must set
-ORB Virtual Address Agent Implementation (ORBVAA) options. Use the
-`asadmin create-jvm-options` command as follows:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Dcom.sun.corba.ee.ORBVAAHost=public-IP-adress
-asadmin create-jvm-options -Dcom.sun.corba.ee.ORBVAAPort=public-port
-asadmin create-jvm-options 
--Dcom.sun.corba.ee.ORBUserConfigurators.com.sun.corba.ee.impl.plugin.hwlb.VirtualAddressAgentImpl=x
-----
-
-Set the `ORBVAAHost` and `ORBVAAPort` options to the host and port of
-the public address. The `ORBUserConfigurators` option tells the ORB to
-create an instance of the `VirtualAddressAgentImpl` class and invoke the
-`configure` method on the resulting object, which must implement the
-com.sun.corba.ee.spi.orb.ORBConfigurator interface. The
-`ORBUserConfigurators` value doesn't matter. Together, these options
-create an ORB that in turn creates `Object` references (the underlying
-implementation of remote EJB references) containing the public address,
-while the ORB listens on the private address specified for the IIOP port
-in the GlassFish Server configuration.
-
-[[gipkj]][[GSDVG00471]][[specifying-a-splash-screen]]
-
-Specifying a Splash Screen
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Java SE 6 offers splash screen support, either through a Java
-command-line option or a manifest entry in the application's JAR file.
-To take advantage of this Java SE feature in your application client,
-you can do one of the following:
-
-* Create the appclient JAR file so that its manifest contains a
-`SplashScreen-Image` entry that specifies the path to the image in the
-client. The `java` command displays the splash screen before starting
-the ACC or your client, just as with any Java application.
-* Use the new `appclient ... -jar` launch format, using the `-splash`
-command-line option at runtime or the `SplashScreen-Image` manifest
-entry at development time. See link:#beaky[Running an Application Client
-Using the `appclient` Script].
-* In the environment that runs the `appclient` script, set the `VMOPTS`
-environment variable to include the `-splash` option before invoking the
-`appclient` script to launch the client.
-* Build an application client that uses the embeddable ACC feature and
-specify the splash screen image using one of the following:
-
-** The `-splash` option of the `java` command
-
-** `SplashScreen-Image` in the manifest for your program (not the
-manifest for the application client) +
-See link:#gipkt[Using the Embeddable ACC].
-
-During application (EAR file) deployment, the GlassFish Server generates
-façade JAR files, one for the application and one for each application
-client in the application. During application client module deployment,
-the GlassFish Server generates a single facade JAR for the application
-client. The `appclient` script supports splash screens inside the
-application client JAR only if you launch an application client facade
-or appclient client JAR. If you launch the facade for an application or
-the undeployed application itself, the `appclient` script cannot take
-advantage of the Java SE 6 splash screen feature.
-
-[[gjiec]][[GSDVG00472]][[setting-login-retries]]
-
-Setting Login Retries
-^^^^^^^^^^^^^^^^^^^^^
-
-You can set a JVM option using the `appclient` script that determines
-the number of login retries allowed. This option is
-`-Dorg.glassfish.appclient.acc.maxLoginRetries=`n where n is a positive
-integer. The default number of retries is 3.
-
-This retry loop happens when the ACC attempts to perform injection if
-you annotated the client's `main` class (for example, using
-`@Resource`). If instead of annotations your client uses the
-`InitialContext` explicitly to look up remote resources, the retry loop
-does not apply. In this case, you could write logic to catch an
-exception around the lookup and retry explicitly.
-
-For details about the `appclient` script syntax, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[gjpjt]][[GSDVG00473]][[using-libraries-with-application-clients]]
-
-Using Libraries with Application Clients
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Libraries field in the Administration Console's deployment page and
-the `--libraries` option of the `asadmin deploy` command do not apply to
-application clients. Neither do the as-install`/lib`, domain-dir`/lib`,
-and domain-dir`/lib/classes` directories comprising the Common Class
-Loader. These apply only to applications and modules deployed to the
-server. For more information, see link:class-loaders.html#beade[Class
-Loaders].
-
-To use libraries with an application client, package the application
-client in an application (EAR file). Then, either place the libraries in
-the `/lib` directory of the EAR file or specify their location in the
-application client JAR file's manifest `Class-Path`.
-
-[[gkusn]][[GSDVG00161]][[developing-clients-without-the-acc]]
-
-Developing Clients Without the ACC
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes the procedure to create, assemble, and deploy a
-Java-based client that is not packaged using the Application Client
-Container (ACC).
-
-The following topics are addressed here:
-
-* link:#gkusp[To access an EJB component from a stand-alone client]
-* link:#gkutw[To access an EJB component from a server-side module]
-* link:#gkuqa[To access a JMS resource from a stand-alone client]
-
-For information about using the ACC, see link:#beakv[Developing Clients
-Using the ACC].
-
-[[gkusp]][[GSDVG00074]][[to-access-an-ejb-component-from-a-stand-alone-client]]
-
-To access an EJB component from a stand-alone client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  In your client code, instantiate the `InitialContext`: +
-[source,oac_no_warn]
-----
-InitialContext ctx = new InitialContext();
-----
-It is not necessary to explicitly instantiate a naming context that
-points to the CosNaming service.
-2.  In the client code, look up the home object by specifying the JNDI
-name of the home object. +
-Here is an EJB 2.x example: +
-[source,oac_no_warn]
-----
-Object ref = ctx.lookup("jndi-name");
-BeanAHome = (BeanAHome)PortableRemoteObject.narrow(ref,BeanAHome.class);
-----
-Here is an EJB 3.x example: +
-[source,oac_no_warn]
-----
-BeanRemoteBusiness bean =(BeanRemoteBusiness) ctx.lookup("com.acme.BeanRemoteBusiness");
-----
-If load balancing is enabled as in Step link:#CIHJADHD[6] and the EJB
-components being accessed are in a different cluster, the endpoint list
-must be included in the lookup, as follows: +
-[source,oac_no_warn]
-----
-corbaname:host1:port1,host2:port2,.../NameService#ejb/jndi-name
-----
-For more information about naming and lookups, see
-link:jndi.html#beans[Accessing the Naming Context].
-3.  Deploy the EJB component to be accessed. +
-For more information on deployment, see "link:../application-deployment-guide/overview.html#GSDPG00063[About
-Deployment Tools]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-4.  Copy the as-install`/lib/gf-client.jar` file to the client machine
-and include it in the classpath on the client side. +
-The `gf-client.jar` file references GlassFish Server JAR files in its
-`MANIFEST.MF` file. If there is no GlassFish Server installation on the
-client machine, you must also copy the as-install`/modules` directory to
-the client machine and maintain its directory structure relative to the
-as-install`/lib/gf-client.jar` file. Or you can use the
-`package-appclient` script; see link:#beakz[Using the
-`package-appclient` Script].
-5.  To access EJB components that are residing in a remote system, set
-the following system properties for the Java Virtual Machine startup
-options: +
-[source,oac_no_warn]
-----
--Dorg.omg.CORBA.ORBInitialHost=${ORBhost}
--Dorg.omg.CORBA.ORBInitialPort=${ORBport}
-----
-Here ORBhost is the GlassFish Server hostname and ORBport is the ORB
-port number (default is `3700` for the default server instance, named
-`server`). +
-You can use the `asadmin get` command to get the IIOP port numbers. For
-example: +
-[source,oac_no_warn]
-----
-asadmin get "configs.config.server-config.iiop-service.iiop-listener.orb-listener-1.*"
-----
-6.  [[CIHJADHD]] +
-To set up load balancing and remote EJB reference failover, define the
-`endpoints` property as follows: +
-[source,oac_no_warn]
-----
--Dcom.sun.appserv.iiop.endpoints=host1:port1,host2:port2,...
-----
-The `endpoints` property specifies a comma-separated list of one or more
-IIOP endpoints used for load balancing. An IIOP endpoint is in the form
-host`:`port, where the host is an IPv4 address or host name, and the
-port specifies the port number. +
-If the `endpoints` list is changed dynamically in the code, the new list
-is used only if a new `InitialContext` is created.
-7.  Make sure the `etc/hosts` file on the client machine maps the
-GlassFish Server hostname and external IP address.
-8.  Run the stand-alone client. +
-As long as the client environment is set appropriately and the JVM is
-compatible, you merely need to run the `main` class.
-
-[[gkutw]][[GSDVG00075]][[to-access-an-ejb-component-from-a-server-side-module]]
-
-To access an EJB component from a server-side module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A server-side module can be a servlet, another EJB component, or another
-type of module.
-
-1.  [[CIHFIJDC]] +
-In your module code, instantiate the `InitialContext`: +
-[source,oac_no_warn]
-----
-InitialContext ctx = new InitialContext();
-----
-It is not necessary to explicitly instantiate a naming context that
-points to the CosNaming service. +
-To set up load balancing and remote EJB reference failover, define the
-`endpoints` property as follows: +
-[source,oac_no_warn]
-----
-Hashtable env = new Hashtable();
-env.put("com.sun.appserv.iiop.endpoints","host1:port1,host2:port2,...");
-InitialContext ctx = new InitialConext(env);
-----
-The `endpoints` property specifies a comma-separated list of one or more
-IIOP endpoints used for load balancing. An IIOP endpoint is in the form
-host`:`port, where the host is an IPv4 address or host name, and the
-port specifies the port number. +
-You can use the `asadmin get` command to get the IIOP port numbers. For
-example: +
-[source,oac_no_warn]
-----
-asadmin get "configs.config.server-config.iiop-service.iiop-listener.orb-listener-1.*"
-----
-If the `endpoints` list is changed dynamically in the code, the new list
-is used only if a new `InitialContext` is created.
-2.  In the module code, look up the home object by specifying the JNDI
-name of the home object. +
-Here is an EJB 2.x example: +
-[source,oac_no_warn]
-----
-Object ref = ctx.lookup("jndi-name");
-BeanAHome = (BeanAHome)PortableRemoteObject.narrow(ref,BeanAHome.class);
-----
-Here is an EJB 3.x example: +
-[source,oac_no_warn]
-----
-BeanRemoteBusiness bean =(BeanRemoteBusiness) ctx.lookup("com.acme.BeanRemoteBusiness");
-----
-If load balancing is enabled as in Step link:#CIHFIJDC[1] and the EJB
-components being accessed are in a different cluster, the endpoint list
-must be included in the lookup, as follows: +
-[source,oac_no_warn]
-----
-corbaname:host1:port1,host2:port2,.../NameService#ejb/jndi-name
-----
-For more information about naming and lookups, see
-link:jndi.html#beans[Accessing the Naming Context].
-3.  Deploy the EJB component to be accessed. +
-For more information on deployment, see "link:../application-deployment-guide/overview.html#GSDPG00063[About
-Deployment Tools]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-4.  To access EJB components that are residing in a remote system, set
-the following system properties for the Java Virtual Machine startup
-options: +
-[source,oac_no_warn]
-----
--Dorg.omg.CORBA.ORBInitialHost=${ORBhost}
--Dorg.omg.CORBA.ORBInitialPort=${ORBport}
-----
-Here ORBhost is the Application Server hostname and ORBport is the ORB
-port number (default is `3700` for the default server instance, named
-`server`).
-5.  Deploy the module. +
-For more information on deployment, see "link:../application-deployment-guide/overview.html#GSDPG00063[About
-Deployment Tools]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-[[gkuqa]][[GSDVG00076]][[to-access-a-jms-resource-from-a-stand-alone-client]]
-
-To access a JMS resource from a stand-alone client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Create a JMS client. +
-For detailed instructions on developing a JMS client, see
-"https://javaee.github.io/tutorial/jms-examples.html[Java Message
-Service Examples]" in The Java EE 8 Tutorial.
-2.  Configure a JMS resource on GlassFish Server. +
-For information on configuring JMS resources, see
-"link:../administration-guide/jms.html#GSADG00598[Administering JMS Connection Factories and
-Destinations]" in GlassFish Server Open Source Edition Administration
-Guide.
-3.  Copy the following JAR files to the client machine and include them
-in the classpath on the client side:
-* `gf-client.jar` - available at as-install`/lib`
-* `imqjmsra.jar` - available at
-as-install`/lib/install/aplications/jmsra` +
-The `gf-client.jar` file references GlassFish Server JAR files in its
-`MANIFEST.MF` file. If there is no GlassFish Server installation on the
-client machine, you must also copy the as-install`/modules` directory to
-the client machine and maintain its directory structure relative to the
-as-install`/lib/gf-client.jar` file. Or you can use the
-`package-appclient` script; see link:#beakz[Using the
-`package-appclient` Script].
-4.  To access EJB components that are residing in a remote system, set
-the following system properties for the Java Virtual Machine startup
-options: +
-[source,oac_no_warn]
-----
--Dorg.omg.CORBA.ORBInitialHost=${ORBhost}
--Dorg.omg.CORBA.ORBInitialPort=${ORBport}
-----
-Here ORBhost is the Application Server hostname and ORBport is the ORB
-port number (default is `3700` for the default server instance, named
-`server`). +
-You can use the `asadmin get` command to get the IIOP port numbers. For
-example: +
-[source,oac_no_warn]
-----
-asadmin get "configs.config.server-config.iiop-service.iiop-listener.orb-listener-1.*"
-----
-5.  Run the stand-alone client. +
-As long as the client environment is set appropriately and the JVM is
-compatible, you merely need to run the `main` class.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/jdbc.adoc b/docs/application-development-guide/src/main/jbake/content/jdbc.adoc
deleted file mode 100644
index 0520bd3..0000000
--- a/docs/application-development-guide/src/main/jbake/content/jdbc.adoc
+++ /dev/null
@@ -1,717 +0,0 @@
-type=page
-status=published
-title=Using the JDBC API for Database Access
-next=transaction-service.html
-prev=part-services-and-apis.html
-~~~~~~
-Using the JDBC API for Database Access
-======================================
-
-[[GSDVG00017]][[beamj]]
-
-
-[[using-the-jdbc-api-for-database-access]]
-14 Using the JDBC API for Database Access
------------------------------------------
-
-This chapter describes how to use the Java Database Connectivity (JDBC)
-API for database access with the Oracle GlassFish Server. This chapter
-also provides high level JDBC implementation instructions for servlets
-and EJB components using the GlassFish Server.
-
-The JDBC specifications are available at
-`http://www.oracle.com/technetwork/java/javase/jdbc/index.html`.
-
-A useful JDBC tutorial is located at
-`http://docs.oracle.com/javase/tutorial/jdbc/index.html`.
-
-
-[NOTE]
-=======================================================================
-
-The GlassFish Server does not support connection pooling or transactions
-for an application's database access if it does not use standard Java EE
-`DataSource` objects.
-
-=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#giyck[Statements]
-* link:#giyeq[Connections]
-* link:#giyde[Connection Wrapping]
-* link:#gavro[Allowing Non-Component Callers]
-* link:#giydx[Using Application-Scoped Resources]
-* link:#geqvg[Restrictions and Optimizations]
-
-[[giyck]][[GSDVG00182]][[statements]]
-
-Statements
-~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#giyfu[Using an Initialization Statement]
-* link:#ghqrx[Setting a Statement Timeout]
-* link:#gktbf[Statement Leak Detection and Leaked Statement Reclamation]
-* link:#giyci[Statement Caching]
-* link:#giygg[Statement Tracing]
-
-[[giyfu]][[GSDVG00495]][[using-an-initialization-statement]]
-
-Using an Initialization Statement
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can specify a statement that executes each time a physical
-connection to the database is created (not reused) from a JDBC
-connection pool. This is useful for setting request or session specific
-properties and is suited for homogeneous requests in a single
-application. Set the Init SQL attribute of the JDBC connection pool to
-the SQL string to be executed in one of the following ways:
-
-* Enter an Init SQL value in the Edit Connection Pool Advanced
-Attributes page in the Administration Console. For more information,
-click the Help button in the Administration Console.
-* Specify the `--initsql` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `init-sql` option in the `asadmin set` command. For
-example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.init-sql="sql-string"
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-[[ghqrx]][[GSDVG00496]][[setting-a-statement-timeout]]
-
-Setting a Statement Timeout
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An abnormally long running JDBC query executed by an application may
-leave it in a hanging state unless a timeout is explicitly set on the
-statement. Setting a statement timeout guarantees that all queries
-automatically time out if not completed within the specified period.
-When statements are created, the `queryTimeout` is set according to the
-statement timeout setting. This works only when the underlying JDBC
-driver supports `queryTimeout` for `Statement`, `PreparedStatement`,
-`CallableStatement`, and `ResultSet`.
-
-You can specify a statement timeout in the following ways:
-
-* Enter a Statement Timeout value in the Edit Connection Pool Advanced
-Attributes page in the Administration Console. For more information,
-click the Help button in the Administration Console.
-* Specify the `--statementtimeout` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[gktbf]][[GSDVG00497]][[statement-leak-detection-and-leaked-statement-reclamation]]
-
-Statement Leak Detection and Leaked Statement Reclamation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If statements are not closed by an application after use, it is possible
-for the application to run out of cursors. Enabling statement leak
-detection causes statements to be considered as leaked if they are not
-closed within a specified period. Additionally, leaked statements can
-reclaimed automatically.
-
-To enable statement leak detection, set Statement Leak Timeout In
-Seconds for the JDBC connection pool to a positive, nonzero value in one
-of the following ways:
-
-* Specify the `--statementleaktimeout` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Specify the `statement-leak-timeout-in-seconds` option in the `set`
-subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-timeout-in-seconds=300
-----
-
-When selecting a value for Statement Leak Timeout In Seconds, make sure
-that:
-
-* It is less than the Connection Leak Timeout; otherwise, the connection
-could be closed before the statement leak is recognized.
-* It is greater than the Statement Timeout; otherwise, a long running
-query could be mistaken as a statement leak.
-
-After enabling statement leak detection, enable leaked statement
-reclamation by setting Reclaim Leaked Statements for the JDBC connection
-pool to a `true` value in one of the following ways:
-
-* Specify the `--statementleakreclaim=true` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Specify the `statement-leak-reclaim` option in the `set` subcommand.
-For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.statement-leak-reclaim=true
-----
-
-[[giyci]][[GSDVG00498]][[statement-caching]]
-
-Statement Caching
-^^^^^^^^^^^^^^^^^
-
-Statement caching stores statements, prepared statements, and callable
-statements that are executed repeatedly by applications in a cache,
-thereby improving performance. Instead of the statement being prepared
-each time, the cache is searched for a match. The overhead of parsing
-and creating new statements each time is eliminated.
-
-Statement caching is usually a feature of the JDBC driver. The GlassFish
-Server provides caching for drivers that do not support caching. To
-enable this feature, set the Statement Cache Size for the JDBC
-connection pool in one of the following ways:
-
-* Enter a Statement Cache Size value in the Edit Connection Pool
-Advanced Attributes page in the Administration Console. For more
-information, click the Help button in the Administration Console.
-* Specify the `--statementcachesize` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `statement-cache-size` option in the `asadmin set`
-command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.statement-cache-size=10
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-By default, this attribute is set to zero and the statement caching is
-turned off. To enable statement caching, you can set any positive
-nonzero value. The built-in cache eviction strategy is LRU-based (Least
-Recently Used). When a connection pool is flushed, the connections in
-the statement cache are recreated.
-
-[[giygg]][[GSDVG00499]][[statement-tracing]]
-
-Statement Tracing
-^^^^^^^^^^^^^^^^^
-
-You can trace the SQL statements executed by applications that use a
-JDBC connection pool. Set the SQL Trace Listeners attribute to a
-comma-separated list of trace listener implementation classes in one of
-the following ways:
-
-* Enter an SQL Trace Listeners value in the Edit Connection Pool
-Advanced Attributes page in the Administration Console. For more
-information, click the Help button in the Administration Console.
-* Specify the `--sqltracelisteners` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `sql-trace-listeners` option in the `asadmin set` command.
-For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.sql-trace-listeners=listeners
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-The GlassFish Server provides a public interface,
-org.glassfish.api.jdbc.SQLTraceListener , that implements a means of
-recording `SQLTraceRecord` objects. To make custom implementations of
-this interface available to the GlassFish Server, place the
-implementation classes in as-install`/lib`.
-
-The GlassFish Server provides an SQL tracing logger to log the SQL
-operations in the form of `SQLTraceRecord` objects in the `server.log`
-file. The module name under which the SQL operation is logged is
-`jakarta.enterprise.resource.sqltrace`. SQL traces are logged as FINE
-messages along with the module name to enable easy filtering of the SQL
-logs. A sample SQL trace record looks like this:
-
-[source,oac_no_warn]
-----
-[#|2009-11-27T15:46:52.202+0530|FINE|glassfish 6.0|jakarta.enterprise.resource.sqltrace.com.sun.gjc.util
-|_ThreadID=29;_ThreadName=Thread-1;ClassName=com.sun.gjc.util.SQLTraceLogger;MethodName=sqlTrace;
-|ThreadID=77 | ThreadName=p: thread-pool-1; w: 6 | TimeStamp=1259317012202 
-| ClassName=com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40 | MethodName=executeUpdate 
-| arg[0]=insert into table1(colName) values(100) | arg[1]=columnNames | |#]
-----
-
-This trace shows that an `executeUpdate(String sql, String columnNames)`
-operation is being done.
-
-When SQL statement tracing is enabled and JDBC connection pool
-monitoring is enabled, GlassFish Server maintains a tracing cache of
-recent queries and their frequency of use. The following JDBC connection
-pool properties can be configured to control this cache and the
-monitoring statistics available from it:
-
-`time-to-keep-queries-in-minutes`::
-  Specifies how long in minutes to keep a query in the tracing cache,
-  tracking its frequency of use. The default value is 5 minutes.
-`number-of-top-queries-to-report`::
-  Specifies how many of the most used queries, in frequency order, are
-  listed the monitoring report. The default value is 10 queries.
-
-Set these parameters in one of the following ways:
-
-* Add them as properties in the Edit JDBC Connection Pool Properties
-page in the Administration Console. For more information, click the Help
-button in the Administration Console.
-* Specify them using the `--property` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Set them using the `set` subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.property.time-to-keep-queries-in-minutes=10
-----
-
-[[giyeq]][[GSDVG00183]][[connections]]
-
-Connections
-~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#gktas[Transparent Pool Reconfiguration]
-* link:#giygl[Disabling Pooling]
-* link:#giydr[Associating Connections with Threads]
-* link:#giyfg[Custom Connection Validation]
-* link:#beams[Sharing Connections]
-* link:#gezfh[Marking Bad Connections]
-* link:#gipzl[Handling Invalid Connections]
-
-[[gktas]][[GSDVG00500]][[transparent-pool-reconfiguration]]
-
-Transparent Pool Reconfiguration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When the properties or attributes of a JDBC connection pool are changed,
-the connection pool is destroyed and re-created. Normally, applications
-using the connection pool must be redeployed as a consequence. This
-restriction can be avoided by enabling transparent JDBC connection pool
-reconfiguration. When this feature is enabled, applications do not need
-to be redeployed. Instead, requests for a new connections are blocked
-until the reconfiguration operation completes. Connection requests from
-any in-flight transactions are served using the old pool configuration
-so as to complete the transaction. Then, connections are created using
-the pool's new configuration, and any blocked connection requests are
-served with connections from the re-created pool..
-
-To enable transparent JDBC connection pool reconfiguration, set the
-`dynamic-reconfiguration-wait-timeout-in-seconds` property of the JDBC
-connection pool to a positive, nonzero value in one of the following
-ways:
-
-* Add it as a property in the Edit JDBC Connection Pool Properties page
-in the Administration Console. For more information, click the Help
-button in the Administration Console.
-* Specify it using the `--property` option in the
-`create-jdbc-connection-pool` subcommand. For more information, see
-link:../reference-manual/create-jdbc-connection-pool.html#GSRFM00036[`create-jdbc-connection-pool`(1)].
-* Set it using the `set` subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin set resources.jdbc-connection-pool.pool-name.property.dynamic-reconfiguration-wait-timeout-in-seconds=15
-----
-
-This property specifies the time in seconds to wait for in-use
-connections to close and in-flight transactions to complete. Any
-connections in use or transaction in flight past this time must be
-retried.
-
-[[giygl]][[GSDVG00501]][[disabling-pooling]]
-
-Disabling Pooling
-^^^^^^^^^^^^^^^^^
-
-To disable connection pooling, set the Pooling attribute to false. The
-default is true. You can enable or disable connection pooling in one of
-the following ways:
-
-* Enter a Pooling value in the Edit Connection Pool Advanced Attributes
-page in the Administration Console. For more information, click the Help
-button in the Administration Console.
-* Specify the `--pooling` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `pooling` option in the `asadmin set` command. For
-example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.pooling=false
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-The `pooling` option and the system property
-`com.sun.enterprise.connectors.SwitchoffACCConnectionPooling`, which
-turns off connection pooling in the Application Client Container, do not
-affect each other.
-
-An exception is thrown if `associate-with-thread` is set to `true` and
-pooling is disabled. An exception is thrown if you attempt to flush a
-connection pool when pooling is disabled. A warning is logged if the
-following attributes are used, because they are useful only in a pooled
-environment:
-
-* `connection-validation`
-* `validate-atmost-once-period`
-* `match-connections`
-* `max-connection-usage`
-* `idle-timeout`
-
-[[giydr]][[GSDVG00502]][[associating-connections-with-threads]]
-
-Associating Connections with Threads
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To associate connections with a thread, set the Associate With Thread
-attribute to `true`. The default is `false`. A `true` setting allows
-connections to be saved as `ThreadLocal` in the calling thread.
-Connections get reclaimed only when the calling thread dies or when the
-calling thread is not in use and the pool has run out of connections. If
-the setting is `false`, the thread must obtain a connection from the
-pool each time the thread requires a connection.
-
-The Associate With Thread attribute associates connections with a thread
-such that when the same thread is in need of connections, it can reuse
-the connections already associated with that thread. In this case, the
-overhead of getting connections from the pool is avoided. However, when
-this value is set to `true`, you should verify that the value of the Max
-Pool Size attribute is comparable to the Max Thread Pool Size attribute
-of the thread pool. If the Max Thread Pool Size value is much higher
-than the Max Pool Size value, a lot of time is spent associating
-connections with a new thread after dissociating them from an older one.
-Use this attribute in cases where the thread pool should reuse
-connections to avoid this overhead.
-
-You can set the Associate With Thread attribute in the following ways:
-
-* Enter an Associate With Thread value in the Edit Connection Pool
-Advanced Attributes page in the Administration Console. For more
-information, click the Help button in the Administration Console.
-* Specify the `--associatewiththread` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `associate-with-thread` option in the `asadmin set`
-command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.associate-with-thread=true
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-[[giyfg]][[GSDVG00503]][[custom-connection-validation]]
-
-Custom Connection Validation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can specify a custom implementation for Connection Validation that
-is faster or optimized for a specific database. Set the Validation
-Method attribute to the value `custom-validation`. (Other validation
-methods available are `table` (the default), `auto-commit`, and
-`meta-data`.) The GlassFish Server provides a public interface,
-org.glassfish.api.jdbc.ConnectionValidation, which you can implement to
-plug in your implementation. A new attribute, Validation Classname,
-specifies the fully qualified name of the class that implements the
-ConnectionValidation interface. The Validation Classname attribute is
-required if Connection Validation is enabled and Validation Method is
-set to Custom Validation.
-
-To enable this feature, set Connection Validation, Validation Method,
-and Validation Classname for the JDBC connection pool in one of the
-following ways:
-
-* Enter Connection Validation, Validation Method, and Validation
-Classname values in the Edit Connection Pool Advanced Attributes page in
-the Administration Console. You can select from among validation class
-names for common databases in the Validation Classname field. For more
-information, click the Help button in the Administration Console.
-* Specify the `--isconnectionvalidatereq`, `--validationmethod`, and
-`--validationclassname` options in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `is-connection-validation-required`,
-`connection-validation-method`, and `validation-classname` options in
-the `asadmin set` command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.MyPool.is-connection-validation-required=true
-asadmin set domain1.resources.jdbc-connection-pool.MyPool.connection-validation-method=custom-validation
-asadmin set domain1.resources.jdbc-connection-pool.MyPool.validation-classname=impl-class
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-By default, optimized validation mechanisms are provided for DB2, Apache
-Derby, MSSQL, MySQL, Oracle, PostgreSQL and Sybase databases.
-Additionally, for JDBC 4.0 compliant database drivers, a validation
-mechanism is provided that uses the `Connection.isValid(0)`
-implementation.
-
-[[beams]][[GSDVG00504]][[sharing-connections]]
-
-Sharing Connections
-^^^^^^^^^^^^^^^^^^^
-
-When multiple connections acquired by an application use the same JDBC
-resource, the connection pool provides connection sharing within the
-same transaction scope. For example, suppose Bean A starts a transaction
-and obtains a connection, then calls a method in Bean B. If Bean B
-acquires a connection to the same JDBC resource with the same sign-on
-information, and if Bean A completes the transaction, the connection can
-be shared.
-
-Connections obtained through a resource are shared only if the resource
-reference declared by the Java EE component allows it to be shareable.
-This is specified in a component's deployment descriptor by setting the
-`res-sharing-scope` element to `Shareable` for the particular resource
-reference. To turn off connection sharing, set `res-sharing-scope` to
-`Unshareable`.
-
-For general information about connections and JDBC URLs, see
-"link:../administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in GlassFish
-Server Open Source Edition Administration Guide.
-
-[[gezfh]][[GSDVG00505]][[marking-bad-connections]]
-
-Marking Bad Connections
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The `DataSource` implementation in the GlassFish Server provides a
-`markConnectionAsBad` method. A marked bad connection is removed from
-its connection pool when it is closed. The method signature is as
-follows:
-
-[source,oac_no_warn]
-----
-public void markConnectionAsBad(java.sql.Connection con)
-----
-
-For example:
-
-[source,oac_no_warn]
-----
-com.sun.appserv.jdbc.DataSource ds=
-   (com.sun.appserv.jdbc.DataSource)context.lookup("dataSource");
-Connection con = ds.getConnection();
-Statement stmt = null;
-try{
-   stmt = con.createStatement();
-   stmt.executeUpdate("Update");
-}
-catch (BadConnectionException e){
-   ds.markConnectionAsBad(con) //marking it as bad for removal
-}
-finally{
-   stmt.close();    
-   con.close(); //Connection will be destroyed during close.
-}
-----
-
-[[gipzl]][[GSDVG00506]][[handling-invalid-connections]]
-
-Handling Invalid Connections
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If a `ConnectionErrorOccured` event occurs, the GlassFish Server
-considers the connection invalid and removes the connection from the
-connection pool. Typically, a JDBC driver generates a
-`ConnectionErrorOccured` event when it finds a `ManagedConnection`
-object unusable. Reasons can be database failure, network failure with
-the database, fatal problems with the connection pool, and so on.
-
-If the `fail-all-connections` setting in the connection pool
-configuration is set to `true`, and a single connection fails, all
-connections are closed and recreated. If this setting is `false`,
-individual connections are recreated only when they are used. The
-default is `false`.
-
-The `is-connection-validation-required` setting specifies whether
-connections have to be validated before being given to the application.
-If a resource's validation fails, it is destroyed, and a new resource is
-created and returned. The default is `false`.
-
-The `prefer-validate-over-recreate` property specifies that validating
-idle connections is preferable to closing them. This property has no
-effect on non-idle connections. If set to `true`, idle connections are
-validated during pool resizing, and only those found to be invalid are
-destroyed and recreated. If `false`, all idle connections are destroyed
-and recreated during pool resizing. The default is `false`.
-
-You can set the `fail-all-connections`,
-`is-connection-validation-required`, and `prefer-validate-over-recreate`
-configuration settings during creation of a JDBC connection pool. Or,
-you can use the `asadmin set` command to dynamically reconfigure a
-setting. For example:
-
-[source,oac_no_warn]
-----
-asadmin set server.resources.jdbc-connection-pool.JCPool1.fail-all-connections="true"
-asadmin set server.resources.jdbc-connection-pool.JCPool1.is-connection-validation-required="true"
-asadmin set server.resources.jdbc-connection-pool.JCPool1.property.prefer-validate-over-recreate="true"
-----
-
-For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-The interface ValidatingManagedConnectionFactory exposes the method
-`getInvalidConnections` to allow retrieval of the invalid connections.
-The GlassFish Server checks if the JDBC driver implements this
-interface, and if it does, invalid connections are removed when the
-connection pool is resized.
-
-[[giyde]][[GSDVG00184]][[connection-wrapping]]
-
-Connection Wrapping
-~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#ghqxi[Wrapping Connections]
-* link:#beamt[Obtaining a Physical Connection From a Wrapped Connection]
-* link:#ggrum[Using the `Connection.unwrap()` Method]
-
-[[ghqxi]][[GSDVG00507]][[wrapping-connections]]
-
-Wrapping Connections
-^^^^^^^^^^^^^^^^^^^^
-
-If the Wrap JDBC Objects option is `true` (the default), wrapped JDBC
-objects are returned for `Statement`, `PreparedStatement`,
-`CallableStatement`, `ResultSet`, and `DatabaseMetaData`.
-
-This option ensures that `Statement.getConnection()` is the same as
-`DataSource.getConnection()`. Therefore, this option should be `true`
-when both `Statement.getConnection()` and `DataSource.getConnection()`
-are done.
-
-You can specify the Wrap JDBC Objects option in the following ways:
-
-* Check or uncheck the Wrap JDBC Objects box on the Edit Connection Pool
-Advanced Attributes page in the Administration Console. For more
-information, click the Help button in the Administration Console.
-* Specify the `--wrapjdbcobjects` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[beamt]][[GSDVG00508]][[obtaining-a-physical-connection-from-a-wrapped-connection]]
-
-Obtaining a Physical Connection From a Wrapped Connection
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `DataSource` implementation in the GlassFish Server provides a
-`getConnection` method that retrieves the JDBC driver's `SQLConnection`
-from the GlassFish Server's `Connection` wrapper. The method signature
-is as follows:
-
-[source,oac_no_warn]
-----
-public java.sql.Connection getConnection(java.sql.Connection con) 
-throws java.sql.SQLException
-----
-
-For example:
-
-[source,oac_no_warn]
-----
-InitialContext ctx = new InitialContext();
-com.sun.appserv.jdbc.DataSource ds = (com.sun.appserv.jdbc.DataSource) 
-   ctx.lookup("jdbc/MyBase");
-Connection con = ds.getConnection();
-Connection drivercon = ds.getConnection(con); //get physical connection from wrapper
-// Do db operations.
-// Do not close driver connection.
-con.close(); // return wrapped connection to pool.
-----
-
-[[ggrum]][[GSDVG00509]][[using-the-connection.unwrap-method]]
-
-Using the `Connection.unwrap()` Method
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Using the `Connection.unwrap()` method on a vendor-provided interface
-returns an object or a wrapper object implementing the vendor-provided
-interface, which the application can make use of to do vendor-specific
-database operations. Use the `Connection.isWrapperFor()` method on a
-vendor-provided interface to check whether the connection can provide an
-implementation of the vendor-provided interface. Check the JDBC driver
-vendor's documentation for information on these interfaces.
-
-[[gavro]][[GSDVG00185]][[allowing-non-component-callers]]
-
-Allowing Non-Component Callers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can allow non-Java-EE components, such as servlet filters, lifecycle
-modules, and third party persistence managers, to use this JDBC
-connection pool. The returned connection is automatically enlisted with
-the transaction context obtained from the transaction manager. Standard
-Java EE components can also use such pools. Connections obtained by
-non-component callers are not automatically closed at the end of a
-transaction by the container. They must be explicitly closed by the
-caller.
-
-You can enable non-component callers in the following ways:
-
-* Check the Allow Non Component Callers box on the Edit Connection Pool
-Advanced Attributes page in the Administration Console. The default is
-`false`. For more information, click the Help button in the
-Administration Console.
-* Specify the `--allownoncomponentcallers` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `allow-non-component-callers` option in the `asadmin set`
-command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.allow-non-component-callers=true
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-* Create a JDBC resource with a `__pm` suffix.
-
-Accessing a `DataSource` using the `Synchronization.beforeCompletion()`
-method requires setting Allow Non Component Callers to `true`. For more
-information about the Transaction Synchronization Registry, see
-link:transaction-service.html#gaxit[The Transaction Manager, the
-Transaction Synchronization Registry, and `UserTransaction`].
-
-[[giydx]][[GSDVG00186]][[using-application-scoped-resources]]
-
-Using Application-Scoped Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can define an application-scoped database or other resource for an
-enterprise application, web module, EJB module, connector module, or
-application client module by supplying a `glassfish-resources.xml`
-deployment descriptor file. For details, see
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-[[geqvg]][[GSDVG00187]][[restrictions-and-optimizations]]
-
-Restrictions and Optimizations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section discusses restrictions and performance optimizations that
-affect using the JDBC API.
-
-[[geqvy]][[GSDVG00510]][[disabling-stored-procedure-creation-on-sybase]]
-
-Disabling Stored Procedure Creation on Sybase
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, DataDirect and Oracle JDBC drivers for Sybase databases
-create a stored procedure for each parameterized `PreparedStatement`. On
-the GlassFish Server, exceptions are thrown when primary key identity
-generation is attempted. To disable the creation of these stored
-procedures, set the property `PrepareMethod=direct` for the JDBC
-connection pool.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/jms.adoc b/docs/application-development-guide/src/main/jbake/content/jms.adoc
deleted file mode 100644
index 201cf3a..0000000
--- a/docs/application-development-guide/src/main/jbake/content/jms.adoc
+++ /dev/null
@@ -1,248 +0,0 @@
-type=page
-status=published
-title=Using the Java Message Service
-next=mail.html
-prev=jndi.html
-~~~~~~
-Using the Java Message Service
-==============================
-
-[[GSDVG00020]][[beaob]]
-
-
-[[using-the-java-message-service]]
-17 Using the Java Message Service
----------------------------------
-
-This chapter describes how to use the Java Message Service (JMS) API.
-The Oracle GlassFish Server has a fully integrated JMS provider: the
-Open Message Queue software.
-
-
-[NOTE]
-=======================================================================
-
-JMS resources are supported only in the full GlassFish Server, not in
-the Web Profile.
-
-=======================================================================
-
-
-For information about the JMS, see
-"https://javaee.github.io/tutorial/partmessaging.html[Messaging]" in The
-Java EE 8 Tutorial.
-
-For detailed information about JMS concepts and JMS support in the
-GlassFish Server, see "link:../administration-guide/jms.html#GSADG00020[Administering the Java Message
-Service (JMS)]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-The following topics are addressed here:
-
-* link:#gkpcz[Using Application-Scoped JMS Resources]
-* link:#beaop[Load-Balanced Message Inflow]
-* link:#beaor[Authentication With `ConnectionFactory`]
-* link:#beaot[Delivering SOAP Messages Using the JMS API]
-
-[[gkpcz]][[GSDVG00196]][[using-application-scoped-jms-resources]]
-
-Using Application-Scoped JMS Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can define an application-scoped JMS or other resource for an
-enterprise application, web module, EJB module, connector module, or
-application client module by supplying a `glassfish-resources.xml`
-deployment descriptor file. For details, see
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-[[beaop]][[GSDVG00197]][[load-balanced-message-inflow]]
-
-Load-Balanced Message Inflow
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can configure `ActivationSpec` properties of the `jmsra` resource
-adapter in the `glassfish-ejb-jar.xml` file for a message-driven bean
-using `activation-config-property` elements. Whenever a message-driven
-bean (`EndPointFactory`) is deployed, the connector runtime engine finds
-these properties and configures them accordingly in the resource
-adapter. See "link:../application-deployment-guide/dd-elements.html#GSDPG00086[activation-config-property]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-The GlassFish Server transparently enables messages to be delivered in
-random fashion to message-driven beans having same `ClientID`. The
-`ClientID` is required for durable subscribers.
-
-For nondurable subscribers in which the `ClientID` is not configured,
-all instances of a specific message-driven bean that subscribe to same
-topic are considered equal. When a message-driven bean is deployed to
-multiple instances of the GlassFish Server, only one of the
-message-driven beans receives the message. If multiple distinct
-message-driven beans subscribe to same topic, one instance of each
-message-driven bean receives a copy of the message.
-
-To support multiple consumers using the same queue, set the
-`maxNumActiveConsumers` property of the physical destination to a large
-value. If this property is set, the Oracle Message Queue software allows
-multiple message-driven beans to consume messages from same queue. The
-message is delivered randomly to the message-driven beans. If
-`maxNumActiveConsumers` is set to `-1`, there is no limit to the number
-of consumers.
-
-To ensure that local delivery is preferred, set `addresslist-behavior`
-to `priority`. This setting specifies that the first broker in the
-`AddressList` is selected first. This first broker is the local
-colocated Message Queue instance. If this broker is unavailable,
-connection attempts are made to brokers in the order in which they are
-listed in the `AddressList`. This setting is the default for GlassFish
-Server instances that belong to a cluster.
-
-[[beaor]][[GSDVG00198]][[authentication-with-connectionfactory]]
-
-Authentication With `ConnectionFactory`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If your web, EJB, or client module has `res-auth` set to `Container`,
-but you use the `ConnectionFactory.createConnection("user","password")`
-method to get a connection, the GlassFish Server searches the container
-for authentication information before using the supplied user and
-password. Version 7 of the GlassFish Server threw an exception in this
-situation.
-
-[[beaot]][[GSDVG00199]][[delivering-soap-messages-using-the-jms-api]]
-
-Delivering SOAP Messages Using the JMS API
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Web service clients use the Simple Object Access Protocol (SOAP) to
-communicate with web services. SOAP uses a combination of XML-based data
-structuring and Hyper Text Transfer Protocol (HTTP) to define a
-standardized way of invoking methods in objects distributed in diverse
-operating environments across the Internet.
-
-For more information about SOAP, see the Apache SOAP web site at
-`http://xml.apache.org/soap/index.html`.
-
-You can take advantage of the JMS provider's reliable messaging when
-delivering SOAP messages. You can convert a SOAP message into a JMS
-message, send the JMS message, then convert the JMS message back into a
-SOAP message.
-
-The following topics are addressed here:
-
-* link:#beaou[To Send SOAP Messages Using the JMS API]
-* link:#beaov[To Receive SOAP Messages Using the JMS API]
-
-[[beaou]][[GSDVG00077]][[to-send-soap-messages-using-the-jms-api]]
-
-To Send SOAP Messages Using the JMS API
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Import the `MessageTransformer` library. +
-[source,oac_no_warn]
-----
-import com.sun.messaging.xml.MessageTransformer;
-----
-This is the utility whose methods you use to convert SOAP messages to
-JMS messages and the reverse. You can then send a JMS message containing
-a SOAP payload as if it were a normal JMS message.
-2.  Initialize the `TopicConnectionFactory`, `TopicConnection`,
-`TopicSession`, and publisher. +
-[source,oac_no_warn]
-----
-tcf = new TopicConnectionFactory();
-tc = tcf.createTopicConnection();
-session = tc.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
-topic = session.createTopic(topicName);
-publisher = session.createPublisher(topic);
-----
-3.  Construct a SOAP message using the SOAP with Attachments API for
-Java (SAAJ). +
-[source,oac_no_warn]
-----
-/*construct a default soap MessageFactory */
-MessageFactory mf = MessageFactory.newInstance();
-* Create a SOAP message object.*/
-SOAPMessage soapMessage = mf.createMessage();
-/** Get SOAP part.*/
-SOAPPart soapPart = soapMessage.getSOAPPart();
-/* Get SOAP envelope. */
-SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
-/* Get SOAP body.*/
-SOAPBody soapBody = soapEnvelope.getBody();
-/* Create a name object. with name space */
-/* http://www.sun.com/imq. */
-Name name = soapEnvelope.createName("HelloWorld", "hw",
- "http://www.sun.com/imq");
-* Add child element with the above name. */
-SOAPElement element = soapBody.addChildElement(name)
-/* Add another child element.*/
-element.addTextNode( "Welcome to GlassFish Web Services." );
-/* Create an atachment with activation API.*/
-URL url = new URL ("http://java.sun.com/webservices/");
-DataHandler dh = new DataHandler (url);
-AttachmentPart ap = soapMessage.createAttachmentPart(dh);
-/*set content type/ID. */
-ap.setContentType("text/html");
-ap.setContentId("cid-001");
-/** add the attachment to the SOAP message.*/
-soapMessage.addAttachmentPart(ap);
-soapMessage.saveChanges();
-----
-4.  Convert the SOAP message to a JMS message by calling the
-`MessageTransformer.SOAPMessageintoJMSMessage()` method. +
-[source,oac_no_warn]
-----
-Message m = MessageTransformer.SOAPMessageIntoJMSMessage (soapMessage, 
-session );
-----
-5.  Publish the JMS message. +
-[source,oac_no_warn]
-----
-publisher.publish(m);
-----
-6.  Close the JMS connection. +
-[source,oac_no_warn]
-----
-tc.close();
-----
-
-[[beaov]][[GSDVG00078]][[to-receive-soap-messages-using-the-jms-api]]
-
-To Receive SOAP Messages Using the JMS API
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Import the `MessageTransformer` library. +
-[source,oac_no_warn]
-----
-import com.sun.messaging.xml.MessageTransformer;
-----
-This is the utility whose methods you use to convert SOAP messages to
-JMS messages and the reverse. The JMS message containing the SOAP
-payload is received as if it were a normal JMS message.
-2.  Initialize the `TopicConnectionFactory`, `TopicConnection`,
-`TopicSession`, `TopicSubscriber`, and Topic. +
-[source,oac_no_warn]
-----
-messageFactory = MessageFactory.newInstance();
-tcf = new com.sun.messaging.TopicConnectionFactory();
-tc = tcf.createTopicConnection();
-session = tc.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
-topic = session.createTopic(topicName);
-subscriber = session.createSubscriber(topic);
-subscriber.setMessageListener(this);
-tc.start();
-----
-3.  Use the `OnMessage` method to receive the message. Use the
-`SOAPMessageFromJMSMessage` method to convert the JMS message to a SOAP
-message. +
-[source,oac_no_warn]
-----
-public void onMessage (Message message) {
-SOAPMessage soapMessage =
- MessageTransformer.SOAPMessageFromJMSMessage( message,
- messageFactory ); }
-----
-4.  Retrieve the content of the SOAP message.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/jndi.adoc b/docs/application-development-guide/src/main/jbake/content/jndi.adoc
deleted file mode 100644
index 39f2d8f..0000000
--- a/docs/application-development-guide/src/main/jbake/content/jndi.adoc
+++ /dev/null
@@ -1,573 +0,0 @@
-type=page
-status=published
-title=Using the Java Naming and Directory Interface
-next=jms.html
-prev=transaction-service.html
-~~~~~~
-Using the Java Naming and Directory Interface
-=============================================
-
-[[GSDVG00019]][[beanr]]
-
-
-[[using-the-java-naming-and-directory-interface]]
-16 Using the Java Naming and Directory Interface
-------------------------------------------------
-
-A naming service maintains a set of bindings, which relate names to
-objects. The Java EE naming service is based on the Java Naming and
-Directory Interface (JNDI) API. The JNDI API allows application
-components and clients to look up distributed resources, services, and
-EJB components. For general information about the JNDI API, see
-`http://www.oracle.com/technetwork/java/jndi/index.html`. You can also
-see the JNDI tutorial at `http://docs.oracle.com/javase/jndi/tutorial/`.
-
-The following topics are addressed here:
-
-* link:#beans[Accessing the Naming Context]
-* link:#beanx[Configuring Resources]
-* link:#gcpge[Using a Custom `jndi.properties` File]
-* link:#beaoa[Mapping References]
-
-
-[NOTE]
-=======================================================================
-
-The Web Profile of the GlassFish Server supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The full GlassFish Server supports the entire EJB
-3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-=======================================================================
-
-
-[[beans]][[GSDVG00192]][[accessing-the-naming-context]]
-
-Accessing the Naming Context
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Oracle GlassFish Server provides a naming environment, or context,
-which is compliant with standard Java EE requirements. A `Context`
-object provides the methods for binding names to objects, unbinding
-names from objects, renaming objects, and listing the bindings. The
-`InitialContext` is the handle to the Java EE naming service that
-application components and clients use for lookups.
-
-The JNDI API also provides subcontext functionality. Much like a
-directory in a file system, a subcontext is a context within a context.
-This hierarchical structure permits better organization of information.
-For naming services that support subcontexts, the `Context` class also
-provides methods for creating and destroying subcontexts.
-
-The following topics are addressed here:
-
-* link:#BGBJGGAD[Portable Global JNDI Names]
-* link:#gcjkd[GlassFish Server V2 Vendor-Specific Global JNDI Names]
-* link:#gkndi[Disabling GlassFish Server V2 JNDI Names]
-* link:#beanu[Accessing EJB Components Using the `CosNaming` Naming
-Context]
-* link:#beanv[Accessing EJB Components in a Remote GlassFish Server]
-* link:#beanw[Naming Environment for Lifecycle Modules]
-
-
-[NOTE]
-=======================================================================
-
-Each resource within a server instance must have a unique name. However,
-two resources in different server instances or different domains can
-have the same name.
-
-=======================================================================
-
-
-[[BGBJGGAD]][[GSDVG560]][[portable-global-jndi-names]]
-
-Portable Global JNDI Names
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If an EJB component is a kind of session bean and it is deployed to any
-implementation supporting the EJB 3.1specification (for example,
-GlassFish Server 5.0), it automatically has one or more portable JNDI
-names defined based on the syntax in the specification. Note that this
-is true of existing EJB 3.0 and 2.x applications that are deployed to an
-implementation supporting EJB 3.1. No code changes are required to the
-bean class itself in order to have the portable global JNDI name
-automatically assigned when deployed to an EJB 3.1 container.
-
-For more information, see the Java EE 8 Platform Specification, section
-EE.5.2.2, "Application Component Environment Namespaces"
-(`http://jcp.org/en/jsr/detail?id=366`), and the EJB 3.1 Specification,
-section 4.4, "Global JNDI Access"
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-If the `disable-nonportable-jndi-names` property is set to false (the
-default), a GlassFish Server V2-specific JNDI name is assigned in
-addition to a portable global JNDI name. For more information, see
-link:#gcjkd[GlassFish Server V2 Vendor-Specific Global JNDI Names] and
-link:#gkndi[Disabling GlassFish Server V2 JNDI Names].
-
-[[gcjkd]][[GSDVG00519]][[glassfish-server-v2-vendor-specific-global-jndi-names]]
-
-GlassFish Server V2 Vendor-Specific Global JNDI Names
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server v2 vendor-specific global JNDI names are assigned
-according to the following precedence rules:
-
-1.  A global JNDI name assigned in the `glassfish-ejb-jar.xml`,
-`glassfish-web.xml`, or `glassfish-application-client.xml` deployment
-descriptor file has the highest precedence. See link:#beaoa[Mapping
-References].
-2.  A global JNDI name assigned in a `mapped-name` element in the
-`ejb-jar.xml`, `web.xml`, or `application-client.xml` deployment
-descriptor file has the second highest precedence. The following
-elements have `mapped-name` subelements: `resource-ref`,
-`resource-env-ref`, `ejb-ref`, `message-destination`,
-`message-destination-ref`, `session`, `message-driven`, and `entity`.
-3.  A global JNDI name assigned in a `mappedName` attribute of an
-annotation has the third highest precedence. The following annotations
-have `mappedName` attributes: `@jakarta.annotation.Resource`,
-`@javax.ejb.EJB`, `@javax.ejb.Stateless`, `@javax.ejb.Singleton`,
-`@javax.ejb.Stateful`, and `@javax.ejb.MessageDriven`.
-4.  In most cases, a default global JNDI name is assigned (and recorded
-in the server log) if no name is assigned in deployment descriptors or
-annotations.
-* For a session or entity bean, a GlassFish Server V2-specific JNDI name
-is assigned as follows:
-
-** For an EJB 2.x dependency or a session or entity bean with a remote
-interface, the default is the fully qualified name of the home
-interface.
-
-** For an EJB 3.0 dependency or a session bean with a remote interface,
-the default is the fully qualified name of the remote business
-interface.
-
-** If both EJB 2.x and EJB 3.0 remote interfaces are specified, or if
-more than one 3.0 remote interface is specified, there is no GlassFish
-Server V2-specific default. For an entity bean, a global JNDI name must
-be assigned.
-* For all other component dependencies that must be mapped to global
-JNDI names, the default is the name of the dependency relative to
-`java:comp/env`. For example, in the
-`@Resource(name="jdbc/Foo") DataSource ds;` annotation, the global JNDI
-name is `jdbc/Foo`.
-
-[[gkndi]][[GSDVG00526]][[disabling-glassfish-server-v2-jndi-names]]
-
-Disabling GlassFish Server V2 JNDI Names
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The EJB 3.1 specification supported by GlassFish Server 5.0 defines
-portable EJB JNDI names for session beans. Because of this, there is
-less need to continue to use older vendor-specific JNDI names.
-
-By default, GlassFish Server V2-specific JNDI names are applied
-automatically by GlassFish Server 5.0 for backward compatibility.
-However, this can lead to some ease-of-use issues. For example,
-deploying two different applications containing a remote EJB component
-that exposes the same remote interface causes a conflict between the
-default JNDI names.
-
-The default handling of V2-specific JNDI names in GlassFish Server 5.0
-can be managed by using the `asadmin` command:
-
-[source,oac_no_warn]
-----
-asadmin> set server.ejb-container.property.disable-nonportable-jndi-names="true"
-----
-
-The `disable-nonportable-jndi-names` property is a boolean flag that can
-take the following values:
-
-`false`::
-  Enables the automatic use of GlassFish Server V2-specific JNDI names
-  in addition to portable global JNDI names. This is the default
-  setting.
-`true`::
-  Disables the automatic use of V2-specific JNDI names. In all cases,
-  only portable global JNDI names are used.
-
-Note that this setting applies to all session beans deployed to the
-server.
-
-[[beanu]][[GSDVG00520]][[accessing-ejb-components-using-the-cosnaming-naming-context]]
-
-Accessing EJB Components Using the `CosNaming` Naming Context
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The preferred way of accessing the naming service, even in code that
-runs outside of a Java EE container, is to use the no-argument
-`InitialContext` constructor. However, if EJB client code explicitly
-instantiates an `InitialContext` that points to the `CosNaming` naming
-service, it is necessary to set the `java.naming.factory.initial`
-property to `org.glassfish.jndi.cosnaming.CNCtxFactory` in the client JVM
-software when accessing EJB components. You can set this property using
-the `asadmin create-jvm-options` command, as follows:
-
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options -Djava.naming.factory.initial=org.glassfish.jndi.cosnaming.CNCtxFactory
-----
-
-For details about `asadmin create-jvm-options`, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-Or you can set this property in the code, as follows:
-
-[source,oac_no_warn]
-----
-Properties properties = null;
-      try {
-            properties = new Properties();
-            properties.put("java.naming.factory.initial",
-                  "org.glassfish.jndi.cosnaming.CNCtxFactory");
-            ...
-          }
-      ...
-----
-
-The `java.naming.factory.initial` property applies to only one instance.
-The property is not cluster-aware.
-
-[[beanv]][[GSDVG00521]][[accessing-ejb-components-in-a-remote-glassfish-server]]
-
-Accessing EJB Components in a Remote GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The recommended approach for looking up an EJB component in a remote
-GlassFish Server from a client that is a servlet or EJB component is to
-use the Interoperable Naming Service syntax. Host and port information
-is prepended to any global JNDI names and is automatically resolved
-during the lookup. The syntax for an interoperable global name is as
-follows:
-
-[source,oac_no_warn]
-----
-corbaname:iiop:host:port#a/b/name
-----
-
-This makes the programming model for accessing EJB components in another
-GlassFish Server exactly the same as accessing them in the same server.
-The deployer can change the way the EJB components are physically
-distributed without having to change the code.
-
-For Java EE components, the code still performs a `java:comp/env` lookup
-on an EJB reference. The only difference is that the deployer maps the
-`ejb-ref` element to an interoperable name in a GlassFish Server
-deployment descriptor file instead of to a simple global JNDI name.
-
-For example, suppose a servlet looks up an EJB reference using
-`java:comp/env/ejb/Foo`, and the target EJB component has a global JNDI
-name of `a/b/Foo`.
-
-The `ejb-ref` element in `glassfish-web.xml` looks like this:
-
-[source,oac_no_warn]
-----
-<ejb-ref>
-   <ejb-ref-name>ejb/Foo</ejb-ref-name>
-   <jndi-name>corbaname:iiop:host:port#a/b/Foo</jndi-name>
-</ejb-ref>
-----
-
-The code looks like this:
-
-[source,oac_no_warn]
-----
-Context ic = new InitialContext();
-Object o = ic.lookup("java:comp/env/ejb/Foo");
-----
-
-For a client that doesn't run within a Java EE container, the code just
-uses the interoperable global name instead of the simple global JNDI
-name. For example:
-
-[source,oac_no_warn]
-----
-Context ic = new InitialContext();
-Object o = ic.lookup("corbaname:iiop:host:port#a/b/Foo");
-----
-
-Objects stored in the interoperable naming context and
-component-specific (`java:comp/env`) naming contexts are transient. On
-each server startup or application reloading, all relevant objects are
-re-bound to the namespace.
-
-[[beanw]][[GSDVG00522]][[naming-environment-for-lifecycle-modules]]
-
-Naming Environment for Lifecycle Modules
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Lifecycle listener modules provide a means of running short or long
-duration tasks based on Java technology within the GlassFish Server
-environment, such as instantiation of singletons or RMI servers. These
-modules are automatically initiated at server startup and are notified
-at various phases of the server life cycle. For details about lifecycle
-modules, see link:lifecycle-listeners.html#beamc[Developing Lifecycle
-Listeners].
-
-The configured properties for a lifecycle module are passed as
-properties during server initialization (the `INIT_EVENT`). The initial
-JNDI naming context is not available until server initialization is
-complete. A lifecycle module can get the `InitialContext` for lookups
-using the method `LifecycleEventContext.getInitialContext()` during, and
-only during, the `STARTUP_EVENT`, `READY_EVENT`, or `SHUTDOWN_EVENT`
-server life cycle events.
-
-[[beanx]][[GSDVG00193]][[configuring-resources]]
-
-Configuring Resources
-~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server exposes special resources in the naming
-environment.
-
-* link:#beany[External JNDI Resources]
-* link:#beanz[Custom Resources]
-* link:#giyvw[Built-in Factories for Custom Resources]
-* link:#gkpdn[Using Application-Scoped Resources]
-
-[[beany]][[GSDVG00523]][[external-jndi-resources]]
-
-External JNDI Resources
-^^^^^^^^^^^^^^^^^^^^^^^
-
-An external JNDI resource defines custom JNDI contexts and implements
-the javax.naming.spi.InitialContextFactory interface. There is no
-specific JNDI parent context for external JNDI resources, except for the
-standard `java:comp/env/`.
-
-Create an external JNDI resource in one of these ways:
-
-* To create an external JNDI resource using the Administration Console,
-open the Resources component, open the JNDI component, and select
-External Resources. For details, click the Help button in the
-Administration Console.
-* To create an external JNDI resource, use the
-`asadmin create-jndi-resource` command. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[beanz]][[GSDVG00524]][[custom-resources]]
-
-Custom Resources
-^^^^^^^^^^^^^^^^
-
-A custom resource specifies a custom server-wide resource object factory
-that implements the javax.naming.spi.ObjectFactory interface. There is
-no specific JNDI parent context for external JNDI resources, except for
-the standard `java:comp/env/`.
-
-Create a custom resource in one of these ways:
-
-* To create a custom resource using the Administration Console, open the
-Resources component, open the JNDI component, and select Custom
-Resources. For details, click the Help button in the Administration
-Console.
-* To create a custom resource, use the `asadmin create-custom-resource`
-command. For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-[[giyvw]][[GSDVG00525]][[built-in-factories-for-custom-resources]]
-
-Built-in Factories for Custom Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server provides built-in factories for the following types
-of custom resources:
-
-* link:#giywi[JavaBeanFactory]
-* link:#giysn[PropertiesFactory]
-* link:#giytz[PrimitivesAndStringFactory]
-* link:#giywh[URLFactory]
-
-Template `glassfish-resources.xml` files for these built-in factories
-and a `README` file are available at
-as-install`/lib/install/templates/resources/custom/`. For more
-information about the `glassfish-resources.xml` file, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide].
-
-[[giywi]][[GSDVG00329]][[javabeanfactory]]
-
-JavaBeanFactory
-+++++++++++++++
-
-To create a custom resource that provides instances of a JavaBean class,
-follow these steps:
-
-1.  Set the custom resource's factory class to
-`org.glassfish.resources.custom.factory.JavaBeanFactory`.
-2.  Create a property in the custom resource for each setter method in
-the JavaBean class. +
-For example, if the JavaBean class has a method named `setAccount`,
-specify a property named `account` and give it a value.
-3.  Make sure the JavaBean class is accessible to the GlassFish Server. +
-For example, you can place the JavaBean class in the as-install`/lib`
-directory.
-
-[[giysn]][[GSDVG00330]][[propertiesfactory]]
-
-PropertiesFactory
-+++++++++++++++++
-
-To create a custom resource that provides properties to applications,
-set the custom resource's factory class to
-`org.glassfish.resources.custom.factory.PropertiesFactory`, then specify
-one or both of the following:
-
-* Create a property in the custom resource named
-`org.glassfish.resources.custom.factory.PropertiesFactory.fileName` and
-specify as its value the path to a properties file or an XML file. +
-The path can be absolute or relative to as-install. The file must be
-accessible to the GlassFish Server. +
-If an XML file is specified, it must match the document type definition
-(DTD) specified in the API definition of
-http://download.oracle.com/javase/8/docs/api/java/util/Properties.html[java.util.Properties]
-(`http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html`).
-* Create the desired properties directly as properties of the custom
-resource. +
-If both the `fileName` property and other properties are specified, the
-resulting property set is the union. If the same property is defined in
-the file and directly in the custom resource, the value of the latter
-takes precedence.
-
-[[giytz]][[GSDVG00331]][[primitivesandstringfactory]]
-
-PrimitivesAndStringFactory
-++++++++++++++++++++++++++
-
-To create a custom resource that provides Java primitives to
-applications, follow these steps:
-
-1.  Set the custom resource's factory class to
-`org.glassfish.resources.custom.factory.PrimitivesAndStringFactory`.
-2.  Set the custom resource's resource type to one of the following or
-its fully qualified wrapper class name equivalent:
-* `int`
-* `long`
-* `double`
-* `float`
-* `char`
-* `short`
-* `byte`
-* `boolean`
-* `String`
-3.  Create a property in the custom resource named `value` and give it
-the value needed by the application. +
-For example, If the application requires a `double` of value `22.1`,
-create a property with the name `value` and the value `22.1`.
-
-[[giywh]][[GSDVG00332]][[urlfactory]]
-
-URLFactory
-++++++++++
-
-To create a custom resource that provides URL instances to applications,
-follow these steps:
-
-1.  Set the custom resource's factory class to
-`org.glassfish.resources.custom.factory.URLObjectFactory`.
-2.  Choose which of the following constructors to use:
-* `URL(protocol, host, port, file)`
-* `URL(protocol, host, file)`
-* `URL(spec)`
-3.  Define properties according to the chosen constructor. +
-For example, for the first constructor, define properties named
-`protocol`, `host`, `port`, and `file`. Example values might be `http`,
-`localhost`, `8085`, and `index.html`, respectively. +
-For the third constructor, define a property named `spec` and assign it
-the value of the entire URL.
-
-[[gkpdn]][[GSDVG00527]][[using-application-scoped-resources]]
-
-Using Application-Scoped Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can define an application-scoped JNDI or other resource for an
-enterprise application, web module, EJB module, connector module, or
-application client module by supplying a `glassfish-resources.xml`
-deployment descriptor file. For details, see
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-[[gcpge]][[GSDVG00194]][[using-a-custom-jndi.properties-file]]
-
-Using a Custom `jndi.properties` File
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To use a custom `jndi.properties` file, JAR it and place it in the
-domain-dir`/lib` directory. This adds the custom `jndi.properties` file
-to the Common class loader. For more information about class loading,
-see link:class-loaders.html#beade[Class Loaders].
-
-For each property found in more than one `jndi.properties` file, the
-Java EE naming service either uses the first value found or concatenates
-all of the values, whichever makes sense.
-
-[[beaoa]][[GSDVG00195]][[mapping-references]]
-
-Mapping References
-~~~~~~~~~~~~~~~~~~
-
-The following XML elements in the GlassFish Server deployment
-descriptors map resource references in application client, EJB, and web
-application components to JNDI names configured in GlassFish Server:
-
-* `resource-env-ref` - Maps the `@Resource` or `@Resources` annotation
-(or the `resource-env-ref` element in the corresponding Java EE XML
-file) to the absolute JNDI name configured in GlassFish Server.
-* `resource-ref` - Maps the `@Resource` or `@Resources` annotation (or
-the `resource-ref` element in the corresponding Java EE XML file) to the
-absolute JNDI name configured in GlassFish Server.
-* `ejb-ref` - Maps the `@EJB` annotation (or the `ejb-ref` element in
-the corresponding Java EE XML file) to the absolute JNDI name configured
-in GlassFish Server. +
-JNDI names for EJB components must be unique. For example, appending the
-application name and the module name to the EJB name is one way to
-guarantee unique names. In this case, `mycompany.pkging.pkgingEJB.MyEJB`
-would be the JNDI name for an EJB in the module `pkgingEJB.jar`, which
-is packaged in the `pkging.ear` application.
-
-These elements are part of the `glassfish-web.xml`,
-`glassfish-application-client.xml`, `glassfish-ejb-jar.xml`, and
-`glassfish-application.xml` deployment descriptor files. For more
-information about how these elements behave in each of the deployment
-descriptor files, see "link:../application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the GlassFish Server
-Deployment Descriptors]" in GlassFish Server Open Source Edition
-Application Deployment Guide.
-
-The rest of this section uses an example of a JDBC resource lookup to
-describe how to reference resource factories. The same principle is
-applicable to all resources (such as JMS destinations, JavaMail
-sessions, and so on).
-
-The `@Resource` annotation in the application code looks like this:
-
-[source,oac_no_warn]
-----
-@Resource(name="jdbc/helloDbDs") javax.sql.DataSource ds;
-----
-
-This references a resource with the JNDI name of `java:jdbc/helloDbDs`.
-If this is the JNDI name of the JDBC resource configured in the
-GlassFish Server, the annotation alone is enough to reference the
-resource.
-
-However, you can use a GlassFish Server specific deployment descriptor
-to override the annotation. For example, the `resource-ref` element in
-the `glassfish-web.xml` file maps the `res-ref-name` (the name specified
-in the annotation) to the JNDI name of another JDBC resource configured
-in GlassFish Server.
-
-[source,oac_no_warn]
-----
-<resource-ref>
-   <res-ref-name>jdbc/helloDbDs</res-ref-name>
-   <jndi-name>jdbc/helloDbDataSource</jndi-name>
-</resource-ref>
-----
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/jpa.adoc b/docs/application-development-guide/src/main/jbake/content/jpa.adoc
deleted file mode 100644
index 8c928fa..0000000
--- a/docs/application-development-guide/src/main/jbake/content/jpa.adoc
+++ /dev/null
@@ -1,801 +0,0 @@
-type=page
-status=published
-title=Configuring the Java Persistence Provider
-next=webapps.html
-prev=webservices.html
-~~~~~~
-Configuring the Java Persistence Provider
-=========================================
-
-[[GSDVG00008]][[gbxjk]]
-
-
-[[configuring-the-java-persistence-provider]]
-6 Configuring the Java Persistence Provider
--------------------------------------------
-
-This chapter describes Oracle TopLink, the default persistence provider
-in GlassFish Server Open Source Edition, and introduces how to use it.
-This chapter also tells how to set the default persistence provider in
-GlassFish Server and how to use persistence-related features specific to
-GlassFish Server such as automatic schema generation.
-
-The following topics are addressed here:
-
-* link:#CHDJJAEI[Overview of Oracle TopLink]
-* link:#CHDHDABJ[Using Oracle TopLink in GlassFish Server]
-* link:#gbwmj[Specifying the Database for an Application]
-* link:#gdkwf[Specifying the Persistence Provider for an Application]
-* link:#gescc[Primary Key Generation Defaults]
-* link:#gbwlh[Automatic Schema Generation]
-* link:#gbxjh[Restrictions and Optimizations]
-
-[[CHDJJAEI]][[GSDVG537]][[overview-of-oracle-toplink]]
-
-Overview of Oracle TopLink
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Oracle TopLink is the default persistence provider in Oracle GlassFish
-Server. It is a comprehensive standards-based object-persistence and
-object-transformation framework that provides APIs, schemas, and
-run-time services for the persistence layer of an application.
-
-TopLink includes all of EclipseLink, from the Eclipse Foundation.
-EclipseLink is the default persistence provider in GlassFish Server Open
-Source Edition. EclipseLink is the open source implementation of the
-development framework and the runtime provided in TopLink. EclipseLink
-implements the following specifications, plus value-added extensions:
-
-* Java Persistence Architecture (JPA) 2.0. +
-JPA 2.0 is part of Java Platform, Enterprise Edition 6 (Java EE 6). It
-includes improvements and enhancements to domain modeling,
-object/relational mapping, `EntityManager` and `Query` interfaces, and
-the Java Persistence Query Language (JPQL). It includes an API for
-criteria queries, a metamodel API, and support for validation. The Java
-Persistence API can be used with non-EJB components outside the EJB
-container. +
-For the JPA 2.0 Specification, see
-http://jcp.org/aboutJava/communityprocess/pfd/jsr317/index.html[Java
-Specification Request (JSR) 317]. For basic information about the Java
-Persistence API, see
-"https://javaee.github.io/tutorial/partpersist.html[Persistence]" in The
-Java EE 8 Tutorial.
-* Java Architecture for XML Binding (JAXB) 2.0. The EclipseLink JAXB
-implementation, plus EclipseLink extensions, is called MOXy. The
-`org.eclipse.persistence.moxy.jar` file is bundled with GlassFish
-Server. For more information about MOXy support in GlassFish Server, see
-link:webservices.html#CHDEBBCH[The Databinding Provider]. +
-For the JAXB 2.0 specification, see
-http://jcp.org/aboutJava/communityprocess/pfd/jsr222/index.html[Java
-Specification Request (JSR) 222].
-* EclipseLink utilities are not included but can be used with GlassFish
-Server. Download the EclipseLink zip file at
-`http://www.eclipse.org/eclipselink/downloads/` and unzip it. The
-utility files are located here: +
-[source,oac_no_warn]
-----
-bin/jaxb-compiler.cmd
-bin/jaxb-compiler.sh
-----
-
-In addition to all of EclipseLink, Oracle TopLink includes TopLink Grid,
-an integration between TopLink and Oracle Coherence that allows TopLink
-to use Oracle Coherence as a level 2 (L2) cache and persistence layer
-for entities. The `toplink-grid.jar` file is bundled with Oracle
-GlassFish Server.
-
-
-[NOTE]
-=======================================================================
-
-You must have a license for Oracle Coherence to be able to use TopLink
-Grid.
-
-=======================================================================
-
-
-For information about developing, deploying, and configuring Oracle
-TopLink, EclipseLink, and TopLink Grid applications, see the following:
-
-* http://docs.oracle.com/html/E25034_01/toc.html[Oracle Fusion Middleware
-Solution Guide for Oracle TopLink]
-* EclipseLink project home at `http://wiki.eclipse.org/EclipseLink`
-* EclipseLink Documentation Center at
-`http://wiki.eclipse.org/EclipseLink/UserGuide`
-* Java API Reference for EclipseLink at
-`http://www.eclipse.org/eclipselink/api/latest/index.html`
-* EclipseLink examples at `http://wiki.eclipse.org/EclipseLink/Examples`
-* http://docs.oracle.com/cd/E18686_01/coh.37/e18677/toc.html[Oracle
-Coherence Developer's Guide]
-* http://docs.oracle.com/cd/E17904_01/doc.1111/e16596/toc.html[Oracle
-Fusion Middleware Integration Guide for Oracle TopLink with Coherence
-Grid]
-
-[[CHDHDABJ]][[GSDVG538]][[using-oracle-toplink-in-glassfish-server]]
-
-Using Oracle TopLink in GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To run TopLink JPA applications in GlassFish Server, you must configure
-the server and coordinate certain server and application settings. These
-are described in the following steps. For a summary of these steps, see
-"http://docs.oracle.com/html/E25034_01/tlandgs.html#CIHDDACF[Using
-TopLink with WebLogic Server]" in Oracle Fusion Middleware Solution
-Guide for Oracle TopLink. For more detailed explanations of these steps,
-see the links in the steps.
-
-1.  Set up the datasource. See "link:../administration-guide/jdbc.html#GSADG00015[Administering Database
-Connectivity]" in GlassFish Server Open Source Edition Administration
-Guide.
-2.  Create the application. For guidance in writing your application,
-see "https://javaee.github.io/tutorial/partpersist.html[Persistence]" in
-The Java EE 8 Tutorial.
-3.  Create the `persistence.xml` file. See link:#gbwmj[Specifying the
-Database for an Application] for considerations specific to GlassFish
-Server. +
-If you are using the Java Persistence API by calling
-`Persistence.createEMF()`, see link:#gdkwf[Specifying the Persistence
-Provider for an Application].
-4.  If the security manager is enabled and you are using the Java
-Persistence API by calling `Persistence.createEMF()`, see
-link:securing-apps.html#gbyah[Enabling and Disabling the Security
-Manager].
-5.  Deploy the application. See the GlassFish Server Open Source Edition
-Application Deployment Guide.
-6.  Run the application. See "Application Client Launch" and "To Launch
-an Application" in Administration Console online help.
-7.  Monitor the application. See "link:../administration-guide/monitoring.html#GSADG00011[Administering the
-Monitoring Service]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-[[gbwmj]][[GSDVG00130]][[specifying-the-database-for-an-application]]
-
-Specifying the Database for an Application
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server uses the bundled Apache Derby database by default,
-named `jdbc/__default`. If the `transaction-type` element is omitted or
-specified as `JTA` and both the `jta-data-source` and
-`non-jta-data-source` elements are omitted in the `persistence.xml`
-file, Apache Derby is used as a JTA data source. If `transaction-type`
-is specified as `RESOURCE_LOCAL` and both `jta-data-source` and
-`non-jta-data-source` are omitted, Apache Derby is used as a non-JTA
-data source.
-
-To use a non-default database, either specify a value for the
-`jta-data-source` element, or set the `transaction-type` element to
-`RESOURCE_LOCAL` and specify a value for the `non-jta-data-source`
-element.
-
-If you are using the default persistence provider, the provider attempts
-to automatically detect the database type based on the connection
-metadata. This database type is used to issue SQL statements specific to
-the detected database type's dialect. You can specify the optional
-`eclipselink.target-database` property to guarantee that the database
-type is correct. For example:
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-    <persistence xmlns="http://java.sun.com/xml/ns/persistence">
-        <persistence-unit name ="em1">
-            <jta-data-source>jdbc/MyDB2DB</jta-data-source>
-            <properties>
-                <property name="eclipselink.target-database" 
-                    value="DB2"/>
-            </properties>
-        </persistence-unit>
-    </persistence>
-----
-
-The following `eclipselink.target-database` property values are allowed.
-Supported platforms have been tested with the GlassFish Server and are
-found to be Java EE compatible.
-
-[source,oac_no_warn]
-----
-//Supported platforms
-JavaDB
-Derby
-Oracle
-MySQL4
-//Others available
-SQLServer
-DB2
-Sybase
-PostgreSQL
-Informix
-TimesTen
-Attunity
-HSQL
-SQLAnyWhere
-DBase
-DB2Mainframe
-Cloudscape
-PointBase
-----
-
-For more information about the `eclipselink.target-database` property,
-see
-http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Session.2C_Target_Database_and_Target_Application_Server[Using
-EclipseLink JPA Extensions for Session, Target Database and Target
-Application Server]
-(`http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Session.2C_Target_Database_and_Target_Application_Server`).
-
-If you are using the Java Persistence API by calling
-`Persistence.createEMF()`, do not specify the `jta-data-source` or
-`non-jta-data-source` elements. Instead, specify the `provider` element
-and any additional properties required by the JDBC driver or the
-database. For example:
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-        <persistence-unit name ="em2">
-            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-            <class>ejb3.war.servlet.JpaBean</class>
-            <properties>
-                <property name="eclipselink.target-database"
-                    value="Derby"/>
-                <!-- JDBC connection properties -->
-                <property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
-                <property name="eclipselink.jdbc.url" 
-value="jdbc:derby://localhost:1527/testdb;retrieveMessagesFromServerOnGetMessage=true;create=true;"/>
-                <property name="eclipselink.jdbc.user" value="APP"/>
-                <property name="eclipselink.jdbc.password" value="APP"/>
-            </properties>
-        </persistence-unit>
-    </persistence>
-----
-
-For a list of the JDBC drivers currently supported by the GlassFish
-Server, see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release
-Notes]. For configurations of supported and other drivers, see
-"link:../administration-guide/jdbc.html#GSADG00579[Configuration Specifics for JDBC Drivers]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-[[gdkwf]][[GSDVG00138]][[specifying-the-persistence-provider-for-an-application]]
-
-Specifying the Persistence Provider for an Application
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you are using the default persistence provider in an application that
-uses the Java Persistence API by injecting or looking up an entity
-manager or entity manager factory, you do not need to specify the
-provider.
-
-If you are using the Java Persistence API by calling
-`Persistence.createEMF()`, you should always specify the persistence
-provider for specification compliance. To specify the default provider,
-set the `provider` element of the `persistence.xml` file to
-`org.eclipse.persistence.jpa.PersistenceProvider`.
-
-You can specify a non-default persistence provider for an application in
-the manner described in the Java Persistence API Specification:
-
-1.  Install the provider. Copy the provider JAR files to the
-domain-dir`/lib` directory, and restart the GlassFish Server. For more
-information about the domain-dir`/lib` directory, see
-link:class-loaders.html#beadj[Using the Common Class Loader]. The new
-persistence provider is now available to all modules and applications
-deployed on servers that share the same configuration. +
-However, the default provider remains the same, Oracle TopLink or
-EclipseLink.
-2.  In your persistence unit, specify the provider and any properties
-the provider requires in the `persistence.xml` file. For example: +
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-    <persistence xmlns="http://java.sun.com/xml/ns/persistence">
-        <persistence-unit name ="em3">
-            <provider>com.company22.persistence.PersistenceProviderImpl</provider>
-            <properties>
-                <property name="company22.database.name" value="MyDB"/>
-            </properties>
-        </persistence-unit>
-    </persistence>
-----
-
-To specify the provider programmatically instead of in the
-`persistence.xml` file, set the `javax.persistence.provider` property
-and pass it to the `Map` parameter of the following method:
-
-[source,oac_no_warn]
-----
-javax.persistence.Persistence.createEntityManagerFactory(String, Map)
-----
-
-[[gescc]][[GSDVG00135]][[primary-key-generation-defaults]]
-
-Primary Key Generation Defaults
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In the descriptions of the `@GeneratedValue`, `@SequenceGenerator`, and
-`@TableGenerator` annotations in the Java Persistence Specification,
-certain defaults are noted as specific to the persistence provider. The
-default persistence provider's primary key generation defaults are
-listed here.
-
-`@GeneratedValue` defaults are as follows:
-
-* Using `strategy=AUTO` (or no `strategy`) creates a `@TableGenerator`
-named `SEQ_GEN` with default settings. Specifying a `generator` has no
-effect.
-* Using `strategy=TABLE` without specifying a `generator` creates a
-`@TableGenerator` named `SEQ_GEN_TABLE` with default settings.
-Specifying a `generator` but no `@TableGenerator` creates and names a
-`@TableGenerator` with default settings.
-* Using `strategy=IDENTITY` or `strategy=SEQUENCE` produces the same
-results, which are database-specific.
-
-** For Oracle databases, not specifying a `generator` creates a
-`@SequenceGenerator` named `SEQ_GEN_SEQUENCE` with default settings.
-Specifying a `generator` but no `@SequenceGenerator` creates and names a
-`@SequenceGenerator` with default settings.
-
-** For PostgreSQL databases, a `SERIAL` column named
-entity-table`_`pk-column`_SEQ` is created.
-
-** For MySQL databases, an `AUTO_INCREMENT` column is created.
-
-** For other supported databases, an `IDENTITY` column is created.
-
-The `@SequenceGenerator` annotation has one default specific to the
-default provider. The default `sequenceName` is the specified `name`.
-
-`@TableGenerator` defaults are as follows:
-
-* The default `table` is `SEQUENCE`.
-* The default `pkColumnName` is `SEQ_NAME`.
-* The default `valueColumnName` is `SEQ_COUNT`.
-* The default `pkColumnValue` is the specified `name`, or the default
-`name` if no `name` is specified.
-
-[[gbwlh]][[GSDVG00136]][[automatic-schema-generation]]
-
-Automatic Schema Generation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The automatic schema generation feature of the GlassFish Server defines
-database tables based on the fields or properties in entities and the
-relationships between the fields or properties. This insulates
-developers from many of the database related aspects of development,
-allowing them to focus on entity development. The resulting schema is
-usable as-is or can be given to a database administrator for tuning with
-respect to performance, security, and so on.
-
-The following topics are addressed here:
-
-* link:#gcjgl[Annotations]
-* link:#gbwmk[Generation Options]
-
-
-[NOTE]
-=======================================================================
-
-Automatic schema generation is supported on an all-or-none basis: it
-expects that no tables exist in the database before it is executed. It
-is not intended to be used as a tool to generate extra tables or
-constraints.
-
-Deployment won't fail if all tables are not created, and undeployment
-won't fail if not all tables are dropped. Instead, an error is written
-to the server log. This is done to allow you to investigate the problem
-and fix it manually. You should not rely on the partially created
-database schema to be correct for running the application.
-
-=======================================================================
-
-
-[[gcjgl]][[GSDVG00388]][[annotations]]
-
-Annotations
-^^^^^^^^^^^
-
-The following annotations are used in automatic schema generation:
-`@AssociationOverride`, `@AssociationOverrides`, `@AttributeOverride`,
-`@AttributeOverrides`, `@Column`, `@DiscriminatorColumn`,
-`@DiscriminatorValue`, `@Embedded`, `@EmbeddedId`, `@GeneratedValue`,
-`@Id`, `@IdClass`, `@JoinColumn`, `@JoinColumns`, `@JoinTable`, `@Lob`,
-`@ManyToMany`, `@ManyToOne`, `@OneToMany`, `@OneToOne`,
-`@PrimaryKeyJoinColumn`, `@PrimaryKeyJoinColumns`, `@SecondaryTable`,
-`@SecondaryTables`, `@SequenceGenerator`, `@Table`, `@TableGenerator`,
-`@UniqueConstraint`, and `@Version`. For information about these
-annotations, see the Java Persistence Specification.
-
-For `@Column` annotations, the `insertable` and `updatable` elements are
-not used in automatic schema generation.
-
-For `@OneToMany` and `@ManyToOne` annotations, no `ForeignKeyConstraint`
-is created in the resulting DDL files.
-
-[[gbwmk]][[GSDVG00389]][[generation-options]]
-
-Generation Options
-^^^^^^^^^^^^^^^^^^
-
-Schema generation properties or `asadmin` command line options can
-control automatic schema generation by the following:
-
-* Creating tables during deployment
-* Dropping tables during undeployment
-* Dropping and creating tables during redeployment
-* Generating the DDL files
-
-
-[NOTE]
-=======================================================================
-
-Before using these options, make sure you have a properly configured
-database. See link:#gbwmj[Specifying the Database for an Application].
-
-=======================================================================
-
-
-Optional schema generation properties control the automatic creation of
-database tables. You can specify them in the `persistence.xml` file. For
-more information, see
-http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Schema_Generation[Using
-EclipseLink JPA Extensions for Schema Generation]
-(`http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Schema_Generation`).
-
-The following options of the `asadmin deploy` or `asadmin deploydir`
-command control the automatic creation of database tables at deployment.
-
-[[GSDVG539]][[sthref11]][[gbwlr]]
-
-
-Table 6-1 The `asadmin deploy` and `asadmin deploydir` Generation
-Options
-
-[width="181%",cols="14%,49%,37%",options="header",]
-|=======================================================================
-|Option |Default |Description
-|`--createtables` |none |If `true`, causes database tables to be created
-for entities that need them. No unique constraints are created. If
-`false`, does not create tables. If not specified, the value of the
-`eclipselink.ddl-generation` property in `persistence.xml` is used.
-
-|`--dropandcreatetables` |none a|
-If `true`, and if tables were automatically created when this
-application was last deployed, tables from the earlier deployment are
-dropped and fresh ones are created.
-
-If `true`, and if tables were not automatically created when this
-application was last deployed, no attempt is made to drop any tables. If
-tables with the same names as those that would have been automatically
-created are found, the deployment proceeds, but a warning is thrown to
-indicate that tables could not be created.
-
-If `false`, the `eclipselink.ddl-generation` property setting in
-`persistence.xml` is overridden.
-
-|=======================================================================
-
-
-The following options of the `asadmin undeploy` command control the
-automatic removal of database tables at undeployment.
-
-[[GSDVG540]][[sthref12]][[gbwmm]]
-
-
-Table 6-2 The `asadmin undeploy` Generation Options
-
-[width="181%",cols="9%,49%,42%",options="header",]
-|=======================================================================
-|Option |Default |Description
-|`--droptables` |none a|
-If `true`, causes database tables that were automatically created when
-the entities were last deployed to be dropped when the entities are
-undeployed. If `false`, does not drop tables.
-
-If not specified, tables are dropped only if the
-`eclipselink.ddl-generation` property setting in `persistence.xml` is
-`drop-and-create-tables`.
-
-|=======================================================================
-
-
-For more information about the `asadmin deploy`, `asadmin deploydir`,
-and `asadmin undeploy` commands, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server
-Open Source Edition Reference Manual].
-
-When `asadmin` deployment options and `persistence.xml` options are both
-specified, the `asadmin` deployment options take precedence.
-
-[[gbxjh]][[GSDVG00139]][[restrictions-and-optimizations]]
-
-Restrictions and Optimizations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section discusses restrictions and performance optimizations that
-affect using the Java Persistence API.
-
-The following topics are addressed here:
-
-* link:#giqbi[Oracle Database Enhancements]
-* link:#ghdtr[Extended Persistence Context]
-* link:#gezxw[Using @OrderBy with a Shared Session Cache]
-* link:#gdwqi[Using BLOB or CLOB Types with the Inet Oraxo JDBC Driver]
-* link:#geqvh[Database Case Sensitivity]
-* link:#gbxjg[Sybase Finder Limitation]
-* link:#gbxjp[MySQL Database Restrictions]
-
-[[giqbi]][[GSDVG00390]][[oracle-database-enhancements]]
-
-Oracle Database Enhancements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-EclipseLink features a number of enhancements for use with Oracle
-databases. These enhancements require classes from the Oracle JDBC
-driver JAR files to be visible to EclipseLink at runtime. If you place
-the JDBC driver JAR files in domain-dir`/lib`, the classes are not
-visible to GlassFish Server components, including EclipseLink.
-
-If you are using an Oracle database, put JDBC driver JAR files in
-domain-dir`/lib/ext` instead. This ensures that the JDBC driver classes
-are visible to EclipseLink.
-
-If you do not want to take advantage of Oracle-specific extensions from
-EclipseLink or you cannot put JDBC driver JAR files in
-domain-dir`/lib/ext`, set the `eclipselink.target-database` property to
-the value `org.eclipse.persistence.platform.database.OraclePlatform`.
-For more information about the `eclipselink.target-database` property,
-see link:#gbwmj[Specifying the Database for an Application].
-
-[[ghdtr]][[GSDVG00391]][[extended-persistence-context]]
-
-Extended Persistence Context
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Java Persistence API specification does not specify how the
-container and persistence provider should work together to serialize an
-extended persistence context. This also prevents successful
-serialization of a reference to an extended persistence context in a
-stateful session bean.
-
-Even in a single-instance environment, if a stateful session bean is
-passivated, its extended persistence context could be lost when the
-stateful session bean is activated.
-
-Therefore, in GlassFish Server, a stateful session bean with an extended
-persistence context is never passivated and cannot be failed over.
-
-[[gezxw]][[GSDVG00392]][[using-orderby-with-a-shared-session-cache]]
-
-Using @OrderBy with a Shared Session Cache
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Setting `@OrderBy` on a `ManyToMany` or `OneToMany` relationship field
-in which a `List` represents the Many side doesn't work if the session
-cache is shared. Use one of the following workarounds:
-
-* Have the application maintain the order so the `List` is cached
-properly.
-* Refresh the session cache using `EntityManager.refresh()` if you don't
-want to maintain the order during creation or modification of the
-`List`.
-* Disable session cache sharing in `persistence.xml` as follows: +
-[source,oac_no_warn]
-----
-<property name="eclipselink.cache.shared.default" value="false"/>
-----
-
-[[gdwqi]][[GSDVG00393]][[using-blob-or-clob-types-with-the-inet-oraxo-jdbc-driver]]
-
-Using BLOB or CLOB Types with the Inet Oraxo JDBC Driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To use BLOB or CLOB data types larger than 4 KB for persistence using
-the Inet Oraxo JDBC Driver for Oracle Databases, you must set the
-database's `streamstolob` property value to `true`.
-
-[[geqvh]][[GSDVG00394]][[database-case-sensitivity]]
-
-Database Case Sensitivity
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Mapping references to column or table names must be in accordance with
-the expected column or table name case, and ensuring this is the
-programmer's responsibility. If column or table names are not explicitly
-specified for a field or entity, the GlassFish Server uses upper case
-column names by default, so any mapping references to the column or
-table names must be in upper case. If column or table names are
-explicitly specified, the case of all mapping references to the column
-or table names must be in accordance with the case used in the specified
-names.
-
-The following are examples of how case sensitivity affects mapping
-elements that refer to columns or tables. Keep case sensitivity in mind
-when writing these mappings.
-
-[[geqvc]][[GSDVG00246]][[unique-constraints]]
-
-Unique Constraints
-++++++++++++++++++
-
-If column names are not explicitly specified on a field, unique
-constraints and foreign key mappings must be specified using uppercase
-references. For example:
-
-[source,oac_no_warn]
-----
-@Table(name="Department", uniqueConstraints={ @UniqueConstraint ( columnNames= { "DEPTNAME" } ) } )
-----
-
-The other way to handle this is by specifying explicit column names for
-each field with the required case. For example:
-
-[source,oac_no_warn]
-----
-@Table(name="Department", uniqueConstraints={ @UniqueConstraint ( columnNames= { "deptName" } ) } )
-public class Department{ @Column(name="deptName") private String deptName; }
-----
-
-Otherwise, the `ALTER TABLE` statement generated by the GlassFish Server
-uses the incorrect case, and the creation of the unique constraint
-fails.
-
-[[geqvk]][[GSDVG00247]][[foreign-key-mapping]]
-
-Foreign Key Mapping
-+++++++++++++++++++
-
-Use `@OneToMany(mappedBy="COMPANY")` or specify an explicit column name
-for the `Company` field on the `Many` side of the relationship.
-
-[[geqvi]][[GSDVG00248]][[sql-result-set-mapping]]
-
-SQL Result Set Mapping
-++++++++++++++++++++++
-
-Use the following elements:
-
-[source,oac_no_warn]
-----
-<sql-result-set-mapping name="SRSMName">
-   <entity-result entity-class="entities.someEntity" />
-   <column-result name="UPPERCASECOLUMNNAME" />
-</sql-result-set-mapping>
-----
-
-Or specify an explicit column name for the `upperCaseColumnName` field.
-
-[[geqvo]][[GSDVG00249]][[named-native-queries-and-jdbc-queries]]
-
-Named Native Queries and JDBC Queries
-+++++++++++++++++++++++++++++++++++++
-
-Column or table names specified in SQL queries must be in accordance
-with the expected case. For example, MySQL requires column names in the
-`SELECT` clause of JDBC queries to be uppercase, while PostgreSQL and
-Sybase require table names to be uppercase in all JDBC queries.
-
-[[geqxc]][[GSDVG00250]][[postgresql-case-sensitivity]]
-
-PostgreSQL Case Sensitivity
-+++++++++++++++++++++++++++
-
-PostgreSQL stores column and table names in lower case. JDBC queries on
-PostgreSQL retrieve column or table names in lowercase unless the names
-are quoted. For example:
-
-[source,oac_no_warn]
-----
-use aliases Select m.ID AS \"ID\" from Department m
-----
-
-Use the backslash as an escape character in the class file, but not in
-the `persistence.xml` file.
-
-[[gbxjg]][[GSDVG00395]][[sybase-finder-limitation]]
-
-Sybase Finder Limitation
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-If a finder method with an input greater than 255 characters is executed
-and the primary key column is mapped to a VARCHAR column, Sybase
-attempts to convert type VARCHAR to type TEXT and generates the
-following error:
-
-[source,oac_no_warn]
-----
-com.sybase.jdbc2.jdbc.SybSQLException: Implicit conversion from datatype 
-'TEXT' to 'VARCHAR' is not allowed. Use the CONVERT function to run this query.
-----
-
-To avoid this error, make sure the finder method input is less than 255
-characters.
-
-[[gbxjp]][[GSDVG00396]][[mysql-database-restrictions]]
-
-MySQL Database Restrictions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following restrictions apply when you use a MySQL database with the
-GlassFish Server for persistence.
-
-* MySQL treats `int1` and `int2` as reserved words. If you want to
-define `int1` and `int2` as fields in your table, use `\`int1\`` and
-`\`int2\`` field names in your SQL file.
-* When `VARCHAR` fields get truncated, a warning is displayed instead of
-an error. To get an error message, start the MySQL database in strict
-SQL mode.
-* The order of fields in a foreign key index must match the order in the
-explicitly created index on the primary table.
-* The `CREATE TABLE` syntax in the SQL file must end with the following
-line. +
-[source,oac_no_warn]
-----
-)  Engine=InnoDB;
-----
-`InnoDB` provides MySQL with a transaction-safe (ACID compliant) storage
-engine having commit, rollback, and crash recovery capabilities.
-* For a `FLOAT` type field, the correct precision must be defined. By
-default, MySQL uses four bytes to store a `FLOAT` type that does not
-have an explicit precision definition. For example, this causes a number
-such as 12345.67890123 to be rounded off to 12345.7 during an `INSERT`.
-To prevent this, specify `FLOAT(10,2)` in the DDL file, which forces the
-database to use an eight-byte double-precision column. For more
-information, see `http://dev.mysql.com/doc/mysql/en/numeric-types.html`.
-* To use `||` as the string concatenation symbol, start the MySQL server
-with the `--sql-mode="PIPES_AS_CONCAT"` option. For more information,
-see `http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html` and
-`http://dev.mysql.com/doc/mysql/en/ansi-mode.html`.
-* MySQL always starts a new connection when `autoCommit==true` is set.
-This ensures that each SQL statement forms a single transaction on its
-own. If you try to rollback or commit an SQL statement, you get an error
-message. +
-[source,oac_no_warn]
-----
-javax.transaction.SystemException: java.sql.SQLException: 
-Can't call rollback when autocommit=true
-
-javax.transaction.SystemException: java.sql.SQLException: 
-Error open transaction is not closed
-----
-To resolve this issue, add `relaxAutoCommit=true` to the JDBC URL. For
-more information, see `http://forums.mysql.com/read.php?39,31326,31404`.
-* MySQL does not allow a `DELETE` on a row that contains a reference to
-itself. Here is an example that illustrates the issue. +
-[source,oac_no_warn]
-----
-create table EMPLOYEE (
-        empId   int         NOT NULL,
-        salary  float(25,2) NULL,
-        mgrId   int         NULL,
-        PRIMARY KEY (empId),
-        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
-        ) ENGINE=InnoDB;
-
-        insert into Employee values (1, 1234.34, 1);
-        delete from Employee where empId = 1;
-----
-This example fails with the following error message. +
-[source,oac_no_warn]
-----
-ERROR 1217 (23000): Cannot delete or update a parent row: 
-a foreign key constraint fails
-----
-To resolve this issue, change the table creation script to the
-following: +
-[source,oac_no_warn]
-----
-create table EMPLOYEE (
-        empId   int         NOT NULL,
-        salary  float(25,2) NULL,
-        mgrId   int         NULL,
-        PRIMARY KEY (empId),
-        FOREIGN KEY (mgrId) REFERENCES EMPLOYEE (empId)
-        ON DELETE SET NULL
-        ) ENGINE=InnoDB;
-
-        insert into Employee values (1, 1234.34, 1);
-        delete from Employee where empId = 1;
-----
-This can be done only if the foreign key field is allowed to be null.
-For more information, see
-`http://dev.mysql.com/doc/mysql/en/innodb-foreign-key-constraints.html`.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/lifecycle-listeners.adoc b/docs/application-development-guide/src/main/jbake/content/lifecycle-listeners.adoc
deleted file mode 100644
index ca750cd..0000000
--- a/docs/application-development-guide/src/main/jbake/content/lifecycle-listeners.adoc
+++ /dev/null
@@ -1,190 +0,0 @@
-type=page
-status=published
-title=Developing Lifecycle Listeners
-next=osgi.html
-prev=connectors.html
-~~~~~~
-Developing Lifecycle Listeners
-==============================
-
-[[GSDVG00014]][[beamc]]
-
-
-[[developing-lifecycle-listeners]]
-12 Developing Lifecycle Listeners
----------------------------------
-
-Lifecycle listener modules provide a means of running short or long
-duration Java-based tasks within the Oracle GlassFish Server
-environment, such as instantiation of singletons or RMI servers. These
-modules are automatically initiated at server startup and are notified
-at various phases of the server life cycle.
-
-
-[NOTE]
-=======================================================================
-
-Lifecycle listener modules are deprecated. Support for them is included
-for backward compatibility. Implementing the org.glassfish.api.Startup
-interface instead is recommended.
-
-=======================================================================
-
-
-All lifecycle module classes and interfaces are in the
-as-install`/modules/``glassfish-api.jar` file.
-
-For Javadoc tool pages relevant to lifecycle modules, see the
-`com.sun.appserv.server` package.
-
-The following topics are addressed here:
-
-* link:#beamd[Server Life Cycle Events]
-* link:#beame[The LifecycleListener Interface]
-* link:#beamf[The `LifecycleEvent` Class]
-* link:#beamg[The Server Lifecycle Event Context]
-* link:#beamh[Deploying a Lifecycle Module]
-* link:#beami[Considerations for Lifecycle Modules]
-
-[[beamd]][[GSDVG00167]][[server-life-cycle-events]]
-
-Server Life Cycle Events
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-A lifecycle module listens for and performs its tasks in response to the
-following events in the server life cycle:
-
-* After the `INIT_EVENT`, the server reads the configuration,
-initializes built-in subsystems (such as security and logging services),
-and creates the containers.
-* After the `STARTUP_EVENT`, the server loads and initializes deployed
-applications.
-* After the `READY_EVENT`, the server is ready to service requests.
-* After the `SHUTDOWN_EVENT`, the server destroys loaded applications
-and stops.
-* After the `TERMINATION_EVENT`, the server closes the containers, the
-built-in subsystems, and the server runtime environment.
-
-These events are defined in the `LifecycleEvent` class.
-
-The lifecycle modules that listen for these events implement the
-LifecycleListener interface.
-
-[[beame]][[GSDVG00168]][[the-lifecyclelistener-interface]]
-
-The LifecycleListener Interface
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To create a lifecycle module is to configure a customized class that
-implements the com.sun.appserv.server.LifecycleListener interface. You
-can create and simultaneously execute multiple lifecycle modules.
-
-The LifecycleListener interface defines this method:
-
-[source,oac_no_warn]
-----
-public void handleEvent(com.sun.appserv.server.LifecycleEvent event) 
-throws ServerLifecycleException
-----
-
-This method responds to a lifecycle event and throws a
-`com.sun.appserv.server.ServerLifecycleException` if an error occurs.
-
-A sample implementation of the LifecycleListener interface is the
-`LifecycleListenerImpl.java` file, which you can use for testing
-lifecycle events.
-
-[[beamf]][[GSDVG00169]][[the-lifecycleevent-class]]
-
-The `LifecycleEvent` Class
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `com.sun.appserv.server.LifecycleEvent` class defines a server life
-cycle event. The following methods are associated with the event:
-
-* `public java.lang.Object.getData()` +
-This method returns an instance of `java.util.Properties` that contains
-the properties defined for the lifecycle module.
-* `public int getEventType()` +
-This method returns the type of the last event, which is `INIT_EVENT`,
-`STARTUP_EVENT`, `READY_EVENT`, `SHUTDOWN_EVENT`, or
-`TERMINATION_EVENT`.
-* `public com.sun.appserv.server.LifecycleEventContext.getLifecycleEventContext()` +
-This method returns the lifecycle event context, described next.
-
-A `LifecycleEvent` instance is passed to the
-`LifecycleListener.handleEvent` method.
-
-[[beamg]][[GSDVG00170]][[the-server-lifecycle-event-context]]
-
-The Server Lifecycle Event Context
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The com.sun.appserv.server.LifecycleEventContext interface exposes
-runtime information about the server. The lifecycle event context is
-created when the `LifecycleEvent` class is instantiated at server
-initialization. The LifecycleEventContext interface defines these
-methods:
-
-* `public java.lang.String[].getCmdLineArgs()` +
-This method returns the server startup command-line arguments.
-* `public java.lang.String.getInstallRoot()` +
-This method returns the server installation root directory.
-* `public java.lang.String.getInstanceName()` +
-This method returns the server instance name.
-* `public javax.naming.InitialContext.getInitialContext()` +
-This method returns the initial JNDI naming context. The naming
-environment for lifecycle modules is installed after the
-`STARTUP_EVENT`. A lifecycle module can look up any resource by its
-`jndi-name` attribute after the `READY_EVENT`.
-
-If a lifecycle module needs to look up resources, it can do so after the
-`READY_EVENT`. It can use the `getInitialContext` method to get the
-initial context to which all the resources are bound.
-
-[[beamh]][[GSDVG00171]][[deploying-a-lifecycle-module]]
-
-Deploying a Lifecycle Module
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For instructions on how to deploy a lifecycle module, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide], or see the `asadmin create-lifecycle-module` command in the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-You do not need to specify a classpath for the lifecycle module if you
-place it in the domain-dir`/lib` or domain-dir`/lib/classes` directory
-for the Domain Administration Server. Do not place it in the lib
-directory for a particular instance, or it will be deleted when that
-instance synchronizes with the Domain Administration Server.
-
-[[beami]][[GSDVG00172]][[considerations-for-lifecycle-modules]]
-
-Considerations for Lifecycle Modules
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The resources allocated at initialization or startup should be freed at
-shutdown or termination. The lifecycle module classes are called
-synchronously from the main server thread, therefore it is important to
-ensure that these classes don't block the server. Lifecycle modules can
-create threads if appropriate, but these threads must be stopped in the
-shutdown and termination phases.
-
-The LifeCycleModule class loader is the parent class loader for
-lifecycle modules. Each lifecycle module's classpath is used to
-construct its class loader. All the support classes needed by a
-lifecycle module must be available to the LifeCycleModule class loader
-or its parent, the Connector class loader.
-
-You must ensure that the `server.policy` file is appropriately set up,
-or a lifecycle module trying to perform a `System.exec()` might cause a
-security access violation. For details, see
-link:securing-apps.html#beabx[The `server.policy` File].
-
-The configured properties for a lifecycle module are passed as
-properties after the `INIT_EVENT`. The JNDI naming context is not
-available before the `STARTUP_EVENT`. If a lifecycle module requires the
-naming context, it can get this after the `STARTUP_EVENT`,
-`READY_EVENT`, or `SHUTDOWN_EVENT`.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/loe.adoc b/docs/application-development-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index abd7b27..0000000
--- a/docs/application-development-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,16 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lot.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:osgi.html#gkvbk[13-1 Example of a WAB Using CDI]
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/lot.adoc b/docs/application-development-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index 0bdbb91..0000000
--- a/docs/application-development-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=loe.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:class-loaders.html#fvxzq[2-1 Oracle GlassFish Server Class
-Loaders]
-* link:securing-apps.html#sthref6[4-1 Predefined System Properties]
-* link:securing-apps.html#sthref8[4-2 Message Security Provider
-Properties]
-* link:jpa.html#gbwlr[6-1 The asadmin deploy and asadmin deploydir
-Generation Options]
-* link:jpa.html#gbwmm[6-2 The asadmin undeploy Generation Options]
-* link:webapps.html#fvygg[7-1 The cache Attributes]
-* link:webapps.html#fvyep[7-2 The flush Attributes]
-* link:webapps.html#fvyem[7-3 Object Types Supported for Java EE Web
-Application Session State Failover]
-* link:webapps.html#gheoy[7-4 SSIServlet init-param Values]
-* link:webapps.html#ghern[7-5 CGIServlet init-param Values]
-* link:ejb.html#fvyed[8-1 Object Types Supported for Java EE Stateful
-Session Bean State Failover]
-* link:container_managed-persistence.html#fvyaq[9-1 Java Type to JDBC
-Type Mappings for CMP]
-* link:container_managed-persistence.html#fvymp[9-2 Mappings of JDBC
-Types to Database Vendor Specific Types for CMP]
-* link:container_managed-persistence.html#fvymo[9-3 The
-glassfish-ejb-jar.xml Generation Elements]
-* link:container_managed-persistence.html#fvymn[9-4 The asadmin deploy
-and asadmin deploydir Generation Options for CMP]
-* link:container_managed-persistence.html#fvymt[9-5 The asadmin undeploy
-Generation Options for CMP]
-* link:java-clients.html#gkmbk[10-1 Owned JNLP File Content]
-* link:java-clients.html#gkmci[10-2 Defaulted JNLP File Content]
-* link:java-clients.html#gkmcc[10-3 Merged JNLP File Content]
-* link:transaction-service.html#fvyoi[15-1 Transaction Isolation Levels]
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/mail.adoc b/docs/application-development-guide/src/main/jbake/content/mail.adoc
deleted file mode 100644
index a4781c2..0000000
--- a/docs/application-development-guide/src/main/jbake/content/mail.adoc
+++ /dev/null
@@ -1,247 +0,0 @@
-type=page
-status=published
-title=Using the Jakarta Mail API
-prev=jms.html
-~~~~~~
-Using the Jakarta Mail API
-==========================
-
-[[GSDVG00021]][[beaow]]
-
-
-[[using-the-jakarta-mail-api]]
-18 Using the Jakarta Mail API
------------------------------
-
-This chapter describes how to use the Jakarta Mail API, which provides a set
-of abstract classes defining objects that comprise a mail system.
-
-The following topics are addressed here:
-
-* link:#beaox[Introducing Jakarta Mail]
-* link:#beaoy[Creating a Jakarta Mail Session]
-* link:#beaoz[Jakarta Mail Session Properties]
-* link:#beapa[Looking Up a Jakarta Mail Session]
-* link:#fwfiy[Sending and Reading Messages Using Jakarta Mail]
-* link:#gkpfg[Using Application-Scoped Jakarta Mail Resources]
-
-
-[NOTE]
-=======================================================================
-
-Jakarta Mail resources are supported only in the full Eclipse GlassFish
-Server, not in the Web Profile.
-
-=======================================================================
-
-
-[[beaox]][[GSDVG00200]][[introducing-jakarta-mail]]
-
-Introducing Jakarta Mail
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Jakarta Mail API defines classes such as `Message`, `Store`, and
-`Transport`. The API can be extended and can be subclassed to provide
-new protocols and to add functionality when necessary. In addition, the
-API provides concrete subclasses of the abstract classes. These
-subclasses, including `MimeMessage` and `MimeBodyPart`, implement widely
-used Internet mail protocols and conform to the RFC822 and RFC2045
-specifications. The Jakarta Mail API includes support for the IMAP4, POP3,
-and SMTP protocols.
-
-The Jakarta Mail architectural components are as follows:
-
-* The abstract layer declares classes, interfaces, and abstract methods
-intended to support mail handling functions that all mail systems
-support.
-* The internet implementation layer implements part of the abstract
-layer using the RFC822 and MIME internet standards.
-* Jakarta Mail uses the JavaBeans Activation Framework (JAF) to encapsulate
-message data and to handle commands intended to interact with that data.
-
-For more information, see
-"link:../administration-guide/mail.html#GSADG00019[Administering the Jakarta Mail Service]"
-in GlassFish Server Administration Guide
-and the Jakarta Mail specification at
-`https://jakarta.ee/specifications/mail`.
-
-[[beaoy]][[GSDVG00201]][[creating-a-jakarta-mail-session]]
-
-Creating a Jakarta Mail Session
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can create a Jakarta Mail session in the following ways:
-
-* In the Administration Console, open the Resources component and select
-Jakarta Mail Sessions. For details, click the Help button in the
-Administration Console.
-* Use the `asadmin create-mail-resource` command. For details, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Reference Manual].
-
-[[beaoz]][[GSDVG00202]][[jakarta-mail-session-properties]]
-
-Jakarta Mail Session Properties
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can set properties for a Jakarta Mail `Session` object. Every property
-name must start with a `mail-` prefix. The GlassFish Server changes the
-dash (`-`) character to a period (`.`) in the name of the property and
-saves the property to the `MailConfiguration` and Jakarta Mail `Session`
-objects. If the name of the property doesn't start with `mail-`, the
-property is ignored.
-
-For example, if you want to define the property `mail.from` in a
-Jakarta Mail `Session` object, first define the property as follows:
-
-* Name - `mail-from`
-* Value - `john.doe@sun.com`
-
-[[beapa]][[GSDVG00203]][[looking-up-a-jakarta-mail-session]]
-
-Looking Up a Jakarta Mail Session
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The standard Java Naming and Directory Interface (JNDI) subcontext for
-Jakarta Mail sessions is `java:comp/env/mail`.
-
-Registering Jakarta Mail sessions in the `mail` naming subcontext of a JNDI
-namespace, or in one of its child subcontexts, is standard. The JNDI
-namespace is hierarchical, like a file system's directory structure, so
-it is easy to find and nest references. A Jakarta Mail session is bound to a
-logical JNDI name. The name identifies a subcontext, `mail`, of the root
-context, and a logical name. To change the Jakarta Mail session, you can
-change its entry in the JNDI namespace without having to modify the
-application.
-
-The resource lookup in the application code looks like this:
-
-[source,oac_no_warn]
-----
-InitialContext ic = new InitialContext();
-String snName = "java:comp/env/mail/MyMailSession";
-Session session = (Session)ic.lookup(snName);
-----
-
-For more information about the JNDI API, see link:jndi.html#beanr[Using
-the Java Naming and Directory Interface].
-
-[[fwfiy]][[GSDVG00204]][[sending-and-reading-messages-using-jakarta-mail]]
-
-Sending and Reading Messages Using Jakarta Mail
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#beapb[To Send a Message Using Jakarta Mail]
-* link:#beapc[To Read a Message Using Jakarta Mail]
-
-[[beapb]][[GSDVG00079]][[to-send-a-message-using-jakarta-mail]]
-
-To Send a Message Using Jakarta Mail
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Import the packages that you need. +
-[source,oac_no_warn]
-----
-import java.util.*;
-import jakarta.activation.*;
-import jakarta.mail.*;
-import jakarta.mail.internet.*;
-import javax.naming.*;
-----
-2.  Look up the Jakarta Mail session. +
-[source,oac_no_warn]
-----
-InitialContext ic = new InitialContext();
-String snName = "java:comp/env/mail/MyMailSession";
-Session session = (Session)ic.lookup(snName);
-----
-For more information, see link:#beapa[Looking Up a Jakarta Mail Session].
-3.  Override the Jakarta Mail session properties if necessary. +
-For example: +
-[source,oac_no_warn]
-----
-Properties props = session.getProperties();
-props.put("mail.from", "user2@mailserver.com");
-----
-4.  Create a `MimeMessage`. +
-The msgRecipient, msgSubject, and msgTxt variables in the following
-example contain input from the user: +
-[source,oac_no_warn]
-----
-Message msg = new MimeMessage(session);
-msg.setSubject(msgSubject);
-msg.setSentDate(new Date());
-msg.setFrom();
-msg.setRecipients(Message.RecipientType.TO, 
-   InternetAddress.parse(msgRecipient, false));
-msg.setText(msgTxt);
-----
-5.  Send the message. +
-[source,oac_no_warn]
-----
-Transport.send(msg);
-----
-
-[[beapc]][[GSDVG00080]][[to-read-a-message-using-jakarta-mail]]
-
-To Read a Message Using Jakarta Mail
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Import the packages that you need. +
-[source,oac_no_warn]
-----
-import java.util.*;
-import jakarta.activation.*;
-import jakarta.mail.*;
-import jakarta.mail.internet.*;
-import javax.naming.*;
-----
-2.  Look up the Jakarta Mail session. +
-[source,oac_no_warn]
-----
-InitialContext ic = new InitialContext();
-String snName = "java:comp/env/mail/MyMailSession";
-Session session = (jakarta.mail.Session)ic.lookup(snName);
-----
-For more information, see link:#beapa[Looking Up a Jakarta Mail Session].
-3.  Override the Jakarta Mail session properties if necessary. +
-For example: +
-[source,oac_no_warn]
-----
-Properties props = session.getProperties();
-props.put("mail.from", "user2@mailserver.com");
-----
-4.  Get a `Store` object from the `Session`, then connect to the mail
-server using the Store object's `connect` method. +
-You must supply a mail server name, a mail user name, and a password. +
-[source,oac_no_warn]
-----
-Store store = session.getStore();
-store.connect("MailServer", "MailUser", "secret");
-----
-5.  Get the INBOX folder. +
-[source,oac_no_warn]
-----
-Folder folder = store.getFolder("INBOX");
-----
-6.  It is efficient to read the `Message` objects (which represent
-messages on the server) into an array. +
-[source,oac_no_warn]
-----
-Message[] messages = folder.getMessages();
-----
-
-[[gkpfg]][[GSDVG00205]][[using-application-scoped-jakarta-mail-resources]]
-
-Using Application-Scoped Jakarta Mail Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can define an application-scoped Jakarta Mail or other resource for an
-enterprise application, web module, EJB module, connector module, or
-application client module by supplying a `glassfish-resources.xml`
-deployment descriptor file. For details, see
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00075[Application-Scoped Resources]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/osgi.adoc b/docs/application-development-guide/src/main/jbake/content/osgi.adoc
deleted file mode 100644
index 8d40538..0000000
--- a/docs/application-development-guide/src/main/jbake/content/osgi.adoc
+++ /dev/null
@@ -1,575 +0,0 @@
-type=page
-status=published
-title=Developing OSGi-enabled Java EE Applications
-next=part-services-and-apis.html
-prev=lifecycle-listeners.html
-~~~~~~
-Developing OSGi-enabled Java EE Applications
-============================================
-
-[[GSDVG00015]][[gkpch]]
-
-
-[[developing-osgi-enabled-java-ee-applications]]
-13 Developing OSGi-enabled Java EE Applications
------------------------------------------------
-
-This chapter describes the features and interfaces that GlassFish Server
-provides to develop OSGi-enabled enterprise applications. This chapter
-includes the following sections:
-
-* link:#gkpay[Overview of OSGi Application and GlassFish Server]
-* link:#gkqff[Developing OSGi Application Bundles for GlassFish Server]
-* link:#gkveh[Deploying OSGi Bundles in GlassFish Server]
-
-
-[NOTE]
-=======================================================================
-
-Many of the features and interfaces presented in this chapter are
-demonstrated in samples and video clips available from the OSGi section
-of the GlassFish Server wiki. See
-`http://wikis.sun.com/display/GlassFish/Osgi` for more information.
-
-=======================================================================
-
-
-[[gkpay]][[GSDVG00173]][[overview-of-osgi-application-and-glassfish-server]]
-
-Overview of OSGi Application and GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server is fully-compliant with Java EE 8, so it provides the
-latest Java EE APIs and frameworks. It is built using OSGi technology,
-and includes as its OSGi module management subsystem the
-http://felix.apache.org[Apache Felix OSGi framework]
-(`http://felix.apache.org`), which is a fully-compliant implementation
-of the OSGi Service Platform R4 Version 4.3 specification. GlassFish
-Server supports deployment of OSGi-based applications using this
-framework. OSGi applications can make use of core as well as enterprise
-OSGi features. GlassFish Server makes available many of its Java EE
-platform services, such as the transaction service, HTTP service, JDBC
-Service and JMS, as OSGi services. It also enables use of Java EE
-programming model in OSGi applications, so enterprise Java application
-developers can continue to leverage their existing skills in OSGi-based
-applications. See link:#glhek[Benefits of Using OSGi in Enterprise Java
-Applications] for more information.
-
-OSGi applications are deployed as one or more OSGi bundles, and the
-GlassFish Server deployment and administration infrastructure enables
-you to deploy and manage your OSGi bundles. This chapter classifies OSGi
-bundles into two categories based on the features they use:
-
-* Plain OSGi Application Bundles - bundles that do not contain any Java
-EE components. See link:#gkupd[Developing Plain OSGi Bundles].
-* Hybrid Application Bundles - bundles that are an OSGi bundle as wells
-as a Java EE module. At runtime, such modules have both an OSGi bundle
-context and a Java EE context. GlassFish Server supports the following
-hybrid application bundles:
-
-** Web Application Bundles (or WABs) , see link:#gkunr[Developing Web
-Application Bundles].
-
-** EJB Application Bundles, see link:#gkunh[Developing EJB Application
-Bundles].
-
-[[glhek]][[GSDVG00488]][[benefits-of-using-osgi-in-enterprise-java-applications]]
-
-Benefits of Using OSGi in Enterprise Java Applications
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Enterprise applications typically need transactional, secured access to
-data stores, messaging systems and other such enterprise information
-systems, and have to cater to a wide variety of clients such as web
-browsers and desktop applications, and so on. Java EE makes development
-of such applications easier with a rich set of APIs and frameworks. It
-also provides a scalable, reliable and easy to administer runtime to
-host such applications.
-
-The OSGi platform complements these features with modularity. It enables
-applications to be separated into smaller, reusable modules with a well
-defined and robust dependency specification. A module explicitly
-specifies its capabilities and requirements. This explicit dependency
-specification encourages developers to visualize dependencies among
-their modules and help them make their modules highly cohesive and less
-coupled. The OSGi module system is dynamic: it allows modules to be
-added and removed at runtime. OSGi has very good support for versioning:
-it supports package versioning as well module versioning. In fact, it
-allows multiple versions of the same package to coexist in the same
-runtime, thus allowing greater flexibility to deployers. The service
-layer of the OSGi platform encourages a more service-oriented approach
-to build a system. The service-oriented approach and dynamic module
-system used together allow a system to be more agile during development
-as well as in production. It makes them better suited to run in an
-Platform-as-a-Service (PaaS) environment.
-
-With GlassFish Server, you do not have to chose one of the two
-platforms. A hybrid approach like OSGi enabling your Java EE
-applications allows new capabilities to applications hitherto
-unavailable to applications built using just one of the two platforms.
-
-[[gkqff]][[GSDVG00174]][[developing-osgi-application-bundles-for-glassfish-server]]
-
-Developing OSGi Application Bundles for GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server enables interaction between OSGi components and Java EE
-components. OSGi services managed by the OSGi framework can invoke Java
-EE components managed by the Java EE container and vice versa. For
-example, developers can declaratively export EJBs as OSGi services
-without having to write any OSGi code. This allows any plain OSGi
-component, which is running without the Java EE context, to discover the
-EJB and invoke it. Similarly, Java EE components can locate OSGi
-services provided by plain OSGi bundles and use them as well. GlassFish
-Server extends the Java EE Context and Dependency Injection (CDI)
-framework to make it easier for Java EE components to consume dynamic
-OSGi services in a type-safe manner.
-
-* link:#gkupd[Developing Plain OSGi Bundles]
-* link:#gkunr[Developing Web Application Bundles]
-* link:#gkunh[Developing EJB Application Bundles]
-
-[[gkupd]][[GSDVG00489]][[developing-plain-osgi-bundles]]
-
-Developing Plain OSGi Bundles
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Java EE components (like an EJB or Servlet) can look up Java EE platform
-services using JNDI names in the associated Java EE naming context. Such
-code can rely on the Java EE container to inject the required services
-as well. Unfortunately, neither of them works when the code runs outside
-a Java EE context. An example of such code is the `BundleActivator` of
-an OSGi bundle. For such code to access Java EE platform services,
-GlassFish Server makes key services and resources of the underlying Java
-EE platform available as OSGi services. Thus, an OSGi bundle deployed in
-GlassFish Server can access these services using OSGi Service look-up
-APIs or by using a white board pattern. The following Java EE services
-are available as OSGi services:
-
-* link:#gkunk[HTTP Service]
-* link:#gkunn[Transaction Service]
-* link:#gkuof[JDBC Data Source Service]
-* link:#gkuoq[JMS Resource Service]
-
-[[gkunk]][[GSDVG00319]][[http-service]]
-
-HTTP Service
-++++++++++++
-
-The GlassFish Server web container is made available as a service for
-OSGi users who do not use OSGi Web Application Bundles (WABs). This
-service is made available using the standard OSGi/HTTP service
-specification, which is a light API that predates the concept of a web
-application as we know it today. This simple API allows users to
-register servlets and static resources dynamically and draw a boundary
-around them in the form of a `HttpContext`. This simple API can be used
-to build feature-rich web application, such as the Felix Web Console for
-example.
-
-The GlassFish Server web container has one or more virtual servers. A
-virtual server has one or more web application deployed in it. Each web
-application has a distinct context path. Each virtual server has a set
-of HTTP listeners. Each HTTP listener listens on a particular port. When
-multiple virtual servers are present, one of them is treated as the
-default virtual server. Every virtual server comes configured with a
-default web application. The default web application is used to serve
-static content from the `docroot` of GlassFish Server. This default web
-application uses `/` as the context path. A web application contains
-static and dynamic resources. Each virtual server is mapped to an
-`org.osgi.services.http.HttpService` instance. When there are multiple
-virtual servers present, there will be multiple occurrences of
-`HttpService` registered in the service registry. In order to
-distinguish one service from another, each service is registered with a
-service property named `VirtualServer`, whose value is the name of the
-virtual server. The service corresponding to default virtual server has
-the highest ranking, so when looking up a service of type `HttpService`
-without any additional criteria returns the `HttpService` corresponding
-to the default virtual server. In a typical GlassFish Server
-installation, the default virtual server is configured to listen on port
-8080 for the HTTP protocol and port 8181 for the HTTPS protocol.
-
-The context path `/` is reserved for the default web application. Every
-resource and servlet registered using the `registerResource()` and
-`registerServlet()` methods of `HttpService` are made available under a
-special context path named `/osgi` in the virtual server. The `/osgi`
-context path can be changed to some other value by setting an
-appropriate value in the OSGi configuration property or in a system
-property called `org.glassfish.osgihttp.ContextPath`.
-
-For example, HelloWorldServlet will be available at
-`http://localhost:8080/osgi/helloworld` when the following code is
-executed:
-
-[source,oac_no_warn]
-----
-
-HttpService httpService = getHttpService(); // Obtain HttpService
-httpService.registerServlet(httpService.registerServlet("/helloworld", 
-new HelloWorldServlet(), null, ctx);
-----
-
-[[gkunn]][[GSDVG00320]][[transaction-service]]
-
-Transaction Service
-+++++++++++++++++++
-
-The Java Transaction API (JTA) defines three interfaces to interact with
-the transaction management system: `UserTransaction`,
-`TransactionManager`, and `TransactionSynchronizationRegistry`. They all
-belong to the javax.transaction package. `TransactionManager`and
-`TransactionSynchronizationRegistry` are intended for system level code,
-such as a persistence provider. Whereas, `UserTransaction` is the entity
-that you should use to control transactions. All the objects of the
-underlying JTA layer are made available in the OSGi service registry
-using the following service interfaces:
-
-* `javax.transaction.UserTransaction`
-* `javax.transaction.TransactionManager`
-* `javax.transaction.TransactionSynchronisationRegistry`
-
-There is no additional service property associated with them. Although
-`UserTransaction` appears to be a singleton, in reality any call to it
-gets rerouted to the actual transaction associated with the calling
-thread. Code that runs in the context of a Java EE component typically
-gets a handle on `UserTransaction` by doing a JNDI lookup in the
-component naming context or by using injection, as shown here:
-
-[source,oac_no_warn]
-----
-(UserTransaction)(new InitialContext().lookup("java:comp/UserTransaction")); 
-----
-
-or
-
-[source,oac_no_warn]
-----
-@Resource UserTransaction utx;
-----
-
-When certain code (such as an OSGi Bundle Activator), which does not
-have a Java EE component context, wants to get hold of
-`UserTransaction`, or any of the other JTA artifacts, then they can look
-it up in the service registry. Here is an example of such code:
-
-[source,oac_no_warn]
-----
-
-BundleContext context;
-ServiceReference txRef =
-    context.getServiceReference(UserTransaction.class.getName());
-UserTransaction utx = (UserTransaction);
-context.getService(txRef);
-----
-
-[[gkuof]][[GSDVG00321]][[jdbc-data-source-service]]
-
-JDBC Data Source Service
-++++++++++++++++++++++++
-
-Any JDBC data source created in GlassFish Server is automatically made
-available as an OSGi Service; therefore, OSGi bundles can track
-availability of JDBC data sources using the `ServiceTracking` facility
-of the OSGi platform. The life of the OSGi service matches that of the
-underlying data source created in GlassFish Server. For instructions on
-administering JDBC resources in GlassFish Server, see the
-link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide].
-
-GlassFish Server registers each JDBC data source as an OSGi service with
-`objectClass = "javax.sql.DataSource"` and a service property called
-`jndi-name`, which is set to the JNDI name of the data source. Here is a
-code sample that looks up a data source service:
-
-[source,oac_no_warn]
-----
-  @Inject
-  @OSGiService(true,
-         "(jndi-name=jdbc/MyDS)") 
-  private DataSource ds;
-----
-
-[[gkuoq]][[GSDVG00322]][[jms-resource-service]]
-
-JMS Resource Service
-++++++++++++++++++++
-
-Like JDBC data sources, JMS administered objects, such as destinations
-and connection factories, are also automatically made available as OSGi
-services. Their service mappings are as follows.
-
-[width="100%",cols="12%,39%,12%,37%",options="header",]
-|=======================================================================
-|JMS Object |Service Interface |Service Properties |Comments
-|JMS Queue destination |`jakarta.jms.Queue` |`jndi-name` |`jndi-name` is
-set to the JNDI name of the queue
-
-|JMS Topic destination |`jakarta.jms.Topic` |`jndi-name` |`jndi-name` is
-set to the JNDI name of the topic
-
-|JMS connection factory |`jakarta.jms.QueueConnectionFactory` or
-`jakarta.jms.TopicConnectionFactory` or `jakarta.jms.ConnectionFactory`
-|`jndi-name` a|
-`jndi-name` is set to the JNDI name of the topic.
-
-The actual service interface depends on which type of connection factory
-was created.
-
-|=======================================================================
-
-
-[[gkunr]][[GSDVG00490]][[developing-web-application-bundles]]
-
-Developing Web Application Bundles
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When a web application is packaged and deployed as an OSGi bundle, it is
-called a Web Application Bundle (WAB). WAB support is based on the OSGi
-Web Application specification , which is part of the OSGi Service
-Platform, Enterprise Specification, Release 4, Version 4.3. A WAB is
-packaged as an OSGi bundle, so all the OSGi packaging rules apply to WAB
-packaging. When a WAB is not packaged like a WAR, the OSGi Web Container
-of GlassFish Server maps the WAB to the hierarchical structure of web
-application using the following rules:
-
-* The root of the WAB corresponds to the `docroot` of the web
-application.
-* Every JAR in the Bundle-ClassPath of the WAB is treated like a JAR in
-`WEB-INF/lib/.`
-* Every directory except "." in Bundle-ClassPath of the WAB is treated
-like `WEB-INF/classes/.`
-* Bundle-ClassPath entry of type "." is treated as if the entire WAB is
-a JAR in `WEB-INF/lib/.`
-* Bundle-ClassPath includes the Bundle-ClassPath entries of any attached
-fragment bundles.
-
-The simplest way to avoid knowing these mapping rules is to avoid the
-problem in the first place. Moreover, there are many packaging tools and
-development time tools that understand WAR structure. Therefore, we
-strongly recommend that you package the WAB exactly like a WAR, with
-only additional OSGi metadata.
-
-[[gkvau]][[GSDVG00323]][[required-wab-metadata]]
-
-Required WAB Metadata
-+++++++++++++++++++++
-
-In addition to the standard OSGi metadata, the main attributes of
-`META-INF/MANIFEST.MF` of the WAB must have an additional attribute
-called `Web-ContextPath`. The `Web-ContextPath` attribute specifies the
-value of the context path of the web application. Since the root of a
-WAB is mapped to the `docroot` of the web application, it should not be
-used in the `Bundle-ClassPath`. Moreover, `WEB-INF/classes/` should be
-specified ahead of `WEB-INF/lib/` in the `Bundle-ClassPath` in order to
-be compliant with the search order used for traditional WAR files.
-
-Assuming the WAB is structured as follows:
-
-[source,oac_no_warn]
-----
-
-  foo.war/
-       index.html
-       foo.jsp
-       WEB-INF/classes/
-                      foo/BarServlet.class
-       WEB-INF/lib/lib1.jar
-       WEB-INF/lib/lib2.jar
-----
-
-Then the OSGi metadata for the WAB as specified in
-`META-INF/MANIFEST.MF` of the WAB would appear as follows:
-
-[source,oac_no_warn]
-----
-
-  MANIFEST.MF:Manifest-Version: 1.0 
-  Bundle-ManifestVersion: 2
-  Bundle-SymbolicName: com.acme.foo
-  Bundle-Version: 1.0
-  Bundle-Name: Foo Web Application Bundle Version 1.0
-  Import-Package: javax.servlet; javax.servlet.http, version=[3.0, 4.0, 5.0)
-  Bundle-ClassPath: WEB-INF/classes, WEB-INF/lib/lib1.jar, WEB-INF/lib/lib2.jar
-  Web-ContextPath: /foo
-----
-
-[[gkvat]][[GSDVG00324]][[how-wabs-consume-osgi-services]]
-
-How WABs Consume OSGi Services
-++++++++++++++++++++++++++++++
-
-Since a WAB has a valid `Bundle-Context`, it can consume OSGi services.
-Although you are free to use any OSGi API to locate OSGi services,
-GlassFish Server makes it easy for WAB users to use OSGi services by
-virtue of extending the Context and Dependency Injection (CDI)
-framework. Here's an example of the injection of an OSGi Service into a
-Servlet:
-
-[source,oac_no_warn]
-----
-
-  @WebServlet 
-  public class MyServlet extends HttpServlet {   
-    @Inject @OSGiService(dynamic=true)
-    FooService fooService; 
-  }
-----
-
-To learn more about this feature, refer to link:#gkvbi[OSGi CDI
-Extension for WABs].
-
-[[gkvbi]][[GSDVG00325]][[osgi-cdi-extension-for-wabs]]
-
-OSGi CDI Extension for WABs
-+++++++++++++++++++++++++++
-
-GlassFish Server includes a CDI extension that enables web applications,
-such as servlets, that are part of WABs to express a type-safe
-dependency on an OSGi service using CDI APIs. An OSGi service can be
-provided by any OSGi bundle without any knowledge of Java EE/CDI, and
-they are allowed to be injected transparently in a type-safe manner into
-a web application.
-
-A custom CDI Qualifier, `@org.glassfish.osgicdi.OSGiService`, is used by
-the component to represent dependency on an OSGi service. The qualifier
-has additional metadata to customize the service discovery and injection
-behavior. The following `@OsgiService` attributes are currently
-available:
-
-* `serviceCriteria` — An LDAP filter query used for service selection in
-the OSGi service registry.
-* `waitTimeout` — Waits the specified duration for a service that
-matches the criteria specified to appear in the OSGi service registry.
-* `dynamic` — Dynamically obtain a service reference (true/false). +
-Since OSGi services are dynamic, they may not match the life cycle of
-the application component that has injected a reference to the service.
-Through this attribute, you could indicate that a service reference can
-be obtained dynamically or not. For stateless or idempotent services, a
-dynamic reference to a service implementation would be useful. The
-container then injects a proxy to the service and dynamically switches
-to an available implementation when the current service reference is
-invalid.
-
-[[GSDVG00044]][[gkvbk]]
-
-
-Example 13-1 Example of a WAB Using CDI
-
-In this example, Bundle B0 defines a service contract called
-`com.acme.Foo` and exports the `com.acme` package for use by other
-bundles. Bundle B1 in turn provides a service implementation, FooImpl,
-of the `com.acme.Foo` interface. It then registers the service FooImpl
-service with the OSGi service registry with `com.acme.Foo` as the
-service interface.
-
-Bundle B2 is a hybrid application bundle that imports the `com.acme`
-package. It has a component called BarServlet that expresses a
-dependency to `com.acme.Foo` by adding a field/setter method and
-qualifies that injection point with `@OsgiService`. For instance,
-BarServlet could look like:
-
-[source,oac_no_warn]
-----
-
-  @Servlet
-  public void BarServlet extends HttpServlet{
-      @Inject @OSGiService(dynamic=true)
-      private com.acme.Foo f;
-  }
-----
-
-[[gkunh]][[GSDVG00491]][[developing-ejb-application-bundles]]
-
-Developing EJB Application Bundles
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Another type of hybrid application bundle is the EJB Application Bundle.
-When an EJB Jar is packaged with additional OSGi metadata and deployed
-as an OSGi bundle it is called an EJB Application Bundle. GlassFish
-Serversupports only packaging the OSGi bundle as a simple JAR file with
-required OSGi metadata, just as you would package an `ejb-jar` file.
-
-[[gkvck]][[GSDVG00326]][[required-ejb-metadata]]
-
-Required EJB Metadata
-+++++++++++++++++++++
-
-An EJB Application Bundle must have a manifest metadata called
-Export-EJB in order to be considered as an EJB Bundle. For syntax of
-Export-EJB header, please refer to the Publishing EJB as OSGi Service
-section. Here's an example of an EJB Application Bundle with its
-metadata:
-
-[source,oac_no_warn]
-----
-
-  myEjb.jar/
-           com/acme/Foo
-           com/acme/impl/FooEJB
-           META-INF/MANIFEST.MF
-  MANIFEST.MF: 
-  Manifest-Version: 1.0 
-  Bundle-ManifestVersion: 2 
-  Bundle-SymbolicName: com.acme.foo EJB bundle 
-  Bundle-Version: 1.0.0.BETA 
-  Bundle-Name: com.acme.foo EJB bundle version 1.0.0.BETA 
-  Export-EJB: ALL 
-  Export-Package: com.acme; version=1.0 
-  Import-Package: javax.ejb; version=[3.0, 4.0), com.acme; version=[1.0, 1.1)
-----
-
-[[gkvcj]][[GSDVG00327]][[how-ejb-bundles-consume-osgi-services]]
-
-How EJB Bundles Consume OSGi Services
-+++++++++++++++++++++++++++++++++++++
-
-Since an EJB has a valid Bundle-Context, it can consume OSGi services.
-Although you are free to use any OSGi API to locate OSGi services,
-GlassFish Server makes it easy to use OSGi services by virtue of
-extending the Context and Dependency Injection (CDI) framework. Here's
-an example of injection of an OSGi Service into a servlet:
-
-[source,oac_no_warn]
-----
-
-  @Stateless 
-  public class MyEJB {   
-    @Inject @OSGiService(dynamic=true)
-    Foo foo;
-    ...
-  }
-----
-
-To learn more about this feature, refer to link:#gkvbj[Using the OSGi
-CDI Extension With EJB Bundles].
-
-[[gkvbj]][[GSDVG00328]][[using-the-osgi-cdi-extension-with-ejb-bundles]]
-
-Using the OSGi CDI Extension With EJB Bundles
-+++++++++++++++++++++++++++++++++++++++++++++
-
-GlassFish Server includes a CDI extension that enables EJB application
-bundles to express a type-safe dependency on an OSGi Service using CDI
-APIs. An OSGi service can be provided by any OSGi bundle without any
-knowledge of Java EE/CDI, and they are allowed to be injected
-transparently in a type-safe manner into an EJB bundle.
-
-A custom CDI Qualifier, `@org.glassfish.osgicdi.OSGiService`, is used by
-the component to represent dependency on an OSGi service. The qualifier
-has additional metadata to customize the service discovery and injection
-behavior. The following `@OsgiService` attributes are currently
-available:
-
-* `dynamic` — Dynamically obtain a service reference (true/false).
-* `waitTimeout` — Waits for specified duration for a service to appear
-in the OSGi service registry.
-* `serviceCriteria` — An LDAP filter query used for service selection.
-
-[[gkveh]][[GSDVG00175]][[deploying-osgi-bundles-in-glassfish-server]]
-
-Deploying OSGi Bundles in GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For instruction on deploying OSGi bundle, see "link:../application-deployment-guide/deploying-applications.html#GSDPG00073[OSGi
-Bundle Deployment Guidelines]" in GlassFish Server Open Source Edition
-Application Deployment Guide.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/part-apps-and-app-comps.adoc b/docs/application-development-guide/src/main/jbake/content/part-apps-and-app-comps.adoc
deleted file mode 100644
index d48093a..0000000
--- a/docs/application-development-guide/src/main/jbake/content/part-apps-and-app-comps.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=Developing Applications and Application Components
-next=securing-apps.html
-prev=debugging-apps.html
-~~~~~~
-Developing Applications and Application Components
-==================================================
-
-[[fvyme]][[GSDVG00046]][[part-ii]]
-
-Part II +
----------
-
-[[developing-applications-and-application-components]]
-Developing Applications and Application Components
---------------------------------------------------
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/part-services-and-apis.adoc b/docs/application-development-guide/src/main/jbake/content/part-services-and-apis.adoc
deleted file mode 100644
index b92afff..0000000
--- a/docs/application-development-guide/src/main/jbake/content/part-services-and-apis.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=Using Services and APIs
-next=jdbc.html
-prev=osgi.html
-~~~~~~
-Using Services and APIs
-=======================
-
-[[fvyam]][[GSDVG00047]][[part-iii]]
-
-Part III +
-----------
-
-[[using-services-and-apis]]
-Using Services and APIs
------------------------
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/part-tasks-and-tools.adoc b/docs/application-development-guide/src/main/jbake/content/part-tasks-and-tools.adoc
deleted file mode 100644
index 53dec18..0000000
--- a/docs/application-development-guide/src/main/jbake/content/part-tasks-and-tools.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=Development Tasks and Tools
-next=setting-up-dev-env.html
-prev=preface.html
-~~~~~~
-Development Tasks and Tools
-===========================
-
-[[fvxzc]][[GSDVG00045]][[part-i]]
-
-Part I +
---------
-
-[[development-tasks-and-tools]]
-Development Tasks and Tools
----------------------------
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/preface.adoc b/docs/application-development-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index bd70b46..0000000
--- a/docs/application-development-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,299 +0,0 @@
-type=page
-status=published
-title=Preface
-next=part-tasks-and-tools.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSDVG528]][[sthref2]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This Application Development Guide describes how to create and run Java
-Platform, Enterprise Edition (Java EE platform) applications that follow
-the open Java standards model for Java EE components and APIs in the
-Oracle GlassFish Server environment. Topics include developer tools,
-security, and debugging. This book is intended for use by software
-developers who create, assemble, and deploy Java EE applications using
-Oracle servers and software.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 5.0 is developed through the GlassFish project
-open-source community at `https://javaee.github.io/glassfish/`. The
-GlassFish project provides a structured process for developing the
-GlassFish Server platform that makes the new features of the Java EE
-platform available faster, while maintaining the most important feature
-of Java EE: compatibility. It enables Java developers to access the
-GlassFish Server source code and to contribute to the development of the
-GlassFish Server. The GlassFish project is designed to encourage
-communication between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-
-[[GSDVG00082]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-|=======================================================================
-
-
-[[GSDVG00083]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* https://javaee.github.io/firstcup/[Your First Cup: An Introduction to
-the Java EE Platform] (`https://javaee.github.io/firstcup/`). For
-beginning Java EE programmers, this short tutorial explains the entire
-process for developing a simple enterprise application. The sample
-application is a web application that consists of a component that is
-based on the Enterprise JavaBeans specification, a JAX-RS web service,
-and a JavaServer Faces component for the web front end.
-* https://javaee.github.io/tutorial/[The Java EE 8 Tutorial]
-(`https://javaee.github.io/tutorial/`). This comprehensive tutorial
-explains how to use Java EE 8 platform technologies and APIs to develop
-Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The Java EE specifications and API specification for version 8 is
-located at `https://javaee.github.io/javaee-spec/`.
-* The API specification for GlassFish Server 5.0, including Java EE 8
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`https://javaee.github.io/glassfish/documentation`.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Apache Derby database for use with the
-GlassFish Server, see:
-(`http://www.oracle.com/technetwork/java/javadb/overview/index.html`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the repository
-(`https://github.com/javaee/glassfish-samples`).
-
-[[GSDVG00084]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSDVG00085]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSDVG00086]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="14%,34%,52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/securing-apps.adoc b/docs/application-development-guide/src/main/jbake/content/securing-apps.adoc
deleted file mode 100644
index 12cc7b9..0000000
--- a/docs/application-development-guide/src/main/jbake/content/securing-apps.adoc
+++ /dev/null
@@ -1,2581 +0,0 @@
-type=page
-status=published
-title=Securing Applications
-next=webservices.html
-prev=part-apps-and-app-comps.html
-~~~~~~
-Securing Applications
-=====================
-
-[[GSDVG00006]][[beabg]]
-
-
-[[securing-applications]]
-4 Securing Applications
------------------------
-
-This chapter describes how to write secure Java EE applications, which
-contain components that perform user authentication and access
-authorization for the business logic of Java EE components.
-
-For information about administrative security for the Oracle GlassFish
-Server, see the link:../security-guide/toc.html#GSSCG[GlassFish Server Open Source Edition
-Security Guide].
-
-For general information about Java EE security, see
-https://javaee.github.io/tutorial/partsecurity.html[Security] in The
-Java EE 8 Tutorial.
-
-The following topics are addressed here:
-
-* link:#beabh[Security Goals]
-* link:#beabi[GlassFish Server Specific Security Features]
-* link:#beabj[Container Security]
-* link:#beacr[Roles, Principals, and Principal to Role Mapping]
-* link:#beabo[Realm Configuration]
-* link:#BACDEIHB[Java EE Security API Support]
-* link:#beabt[JACC Support]
-* link:#beabu[Pluggable Audit Module Support]
-* link:#beabx[The `server.policy` File]
-* link:#beaca[Configuring Message Security for Web Services]
-* link:#beacm[Programmatic Login Using the ProgrammaticLogin Class]
-* link:#beacq[User Authentication for Single Sign-on]
-* link:#gizel[Adding Authentication Mechanisms to the Servlet Container]
-
-
-[NOTE]
-=======================================================================
-
-The Web Profile of the GlassFish Server supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The full GlassFish Server supports the entire EJB
-3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-=======================================================================
-
-
-[[beabh]][[GSDVG00114]][[security-goals]]
-
-Security Goals
-~~~~~~~~~~~~~~
-
-In an enterprise computing environment, there are many security risks.
-The goal of the GlassFish Server is to provide highly secure,
-interoperable, and distributed component computing based on the Java EE
-security model. Security goals include:
-
-* Full compliance with the Java EE security model. This includes EJB and
-servlet role-based authorization.
-* Support for single sign-on across all GlassFish Server applications
-within a single security domain.
-* Support for web services message security.
-* Security support for application clients.
-* Support for several underlying authentication realms, such as simple
-file and Lightweight Directory Access Protocol (LDAP). Certificate
-authentication is also supported for Secure Socket Layer (SSL) client
-authentication. For Solaris, OS platform authentication is supported in
-addition to these.
-* Support for declarative security through GlassFish Server specific
-XML-based role mapping.
-* Support for Java Authorization Contract for Containers (JACC)
-pluggable authorization as included in the Java EE specification and
-defined by http://www.jcp.org/en/jsr/detail?id=115[Java Specification
-Request (JSR) 115] (`http://www.jcp.org/en/jsr/detail?id=115`).
-* Support for Java Authentication Service Provider Interface for
-Containers as included in the Java EE specification and defined by
-http://www.jcp.org/en/jsr/detail?id=196[JSR 196]
-(`http://www.jcp.org/en/jsr/detail?id=196`).
-* Support for Web Services Interoperability Technologies (WSIT) as
-described in
-https://javaee.github.io/metro/doc/user-guide/index.html[Metro Users
-Guide] (`https://javaee.github.io/metro/doc/user-guide/index.html`).
-* Support for the Java EE Security API as included in the Java EE
-specification and defined by https://jcp.org/en/jsr/detail?id=375[JSR
-375] (`https://jcp.org/en/jsr/detail?id=375`)
-
-[[beabi]][[GSDVG00115]][[glassfish-server-specific-security-features]]
-
-GlassFish Server Specific Security Features
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server supports the Java EE security model, as well as the
-following features which are specific to the GlassFish Server:
-
-* Message security; see link:#beaca[Configuring Message Security for Web
-Services]
-* Single sign-on across all GlassFish Server applications within a
-single security domain; see link:#beacq[User Authentication for Single
-Sign-on]
-* Programmatic login; see link:#beacm[Programmatic Login Using the
-ProgrammaticLogin Class]
-
-[[beabj]][[GSDVG00116]][[container-security]]
-
-Container Security
-~~~~~~~~~~~~~~~~~~
-
-The component containers are responsible for providing Java EE
-application security. The container provides two security forms:
-
-* link:#beabl[Declarative Security]
-* link:#beabk[Programmatic Security]
-
-Annotations (also called metadata) enable a declarative style of
-programming, and so encompass both the declarative and programmatic
-security concepts. Users can specify information about security within a
-class file using annotations. When the application is deployed, this
-information can either be used by or overridden by the application or
-module deployment descriptor.
-
-[[beabl]][[GSDVG00362]][[declarative-security]]
-
-Declarative Security
-^^^^^^^^^^^^^^^^^^^^
-
-Declarative security means that the security mechanism for an
-application is declared and handled externally to the application.
-Deployment descriptors describe the Java EE application's security
-structure, including security roles, access control, and authentication
-requirements.
-
-The GlassFish Server supports the deployment descriptors specified by
-Java EE and has additional security elements included in its own
-deployment descriptors. Declarative security is the application
-deployer's responsibility. For more information about GlassFish Server
-deployment descriptors, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
-Edition Application Deployment Guide].
-
-There are two levels of declarative security, as follows:
-
-* link:#beabm[Application Level Security]
-* link:#beabn[Component Level Security]
-
-[[beabm]][[GSDVG00239]][[application-level-security]]
-
-Application Level Security
-++++++++++++++++++++++++++
-
-For an application, roles used by any application must be defined in
-`@DeclareRoles` annotations in the code or `role-name` elements in the
-application deployment descriptor (`application.xml`). Those role names
-are scoped to the EJB XML deployment descriptors (`ejb-jar.xml` and
-`glassfish-ejb-jar.xml` files) and to the servlet XML deployment
-descriptors (`web.xml` and `glassfish-web.xml` files). For an
-individually deployed web or EJB module, you define roles using
-`@DeclareRoles` annotations or `role-name` elements in the Java EE
-deployment descriptor files `web.xml` or `ejb-jar.xml`.
-
-To map roles to principals and groups, define matching
-`security-role-mapping` elements in the `glassfish-application.xml`,
-`glassfish-ejb-jar.xml`, or `glassfish-web.xml` file for each
-`role-name` used by the application. By default, group principal names
-are mapped to roles of the same name. Accordingly, the Default Principal
-To Role Mapping setting is enabled by default on the Security page of
-the GlassFish Server Administration Console. This default role mapping
-definition is in effect if you do not define your own mapping in the
-deployment descriptor for your application as described in this section.
-For more information, see link:#beacr[Roles, Principals, and Principal
-to Role Mapping].
-
-[[beabn]][[GSDVG00240]][[component-level-security]]
-
-Component Level Security
-++++++++++++++++++++++++
-
-Component level security encompasses web components and EJB components.
-
-A secure web container authenticates users and authorizes access to a
-servlet or JSP by using the security policy laid out in the servlet XML
-deployment descriptors (`web.xml` and `glassfish-web.xml` files).
-
-The EJB container is responsible for authorizing access to a bean method
-by using the security policy laid out in the EJB XML deployment
-descriptors (`ejb-jar.xml` and `glassfish-ejb-jar.xml` files).
-
-[[beabk]][[GSDVG00363]][[programmatic-security]]
-
-Programmatic Security
-^^^^^^^^^^^^^^^^^^^^^
-
-Programmatic security involves an EJB component or servlet using method
-calls to the security API, as specified by the Java EE security model,
-to make business logic decisions based on the caller or remote user's
-security role. Programmatic security should only be used when
-declarative security alone is insufficient to meet the application's
-security model.
-
-The API for programmatic security consists of methods of the Java EE
-Security API `SecurityContext` interface, and methods of the EJB
-`EJBContext` interface and the servlet `HttpServletRequest` interface.
-The GlassFish Server supports these interfaces as specified in the Java
-EE specification.
-
-There is also a proprietary Glassfish API for programmatic login. See
-link:#beacm[Programmatic Login Using the ProgrammaticLogin Class].
-
-For more information about programmatic security, see
-https://javaee.github.io/tutorial/security-intro003.html#using-programmatic-security[Using
-Programmatic Security] in the The Java EE Tutorial.
-
-[[beacr]][[GSDVG00117]][[roles-principals-and-principal-to-role-mapping]]
-
-Roles, Principals, and Principal to Role Mapping
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-By default, any groups that an authenticated user belongs to will be
-mapped to roles with the same names. Therefore, the Default Principal To
-Role Mapping setting is enabled by default on the Security page of the
-GlassFish Administration Console. To change the default mapping you can
-clear this setting. For applications, you define roles in
-`@DeclareRoles` annotations or the Java EE deployment descriptor file
-`application.xml`. You define the corresponding role mappings in the
-GlassFish Server deployment descriptor file `glassfish-application.xml`.
-For individually deployed web or EJB modules, you define roles in
-`@DeclareRoles` annotations or the Java EE deployment descriptor files
-`web.xml` or `ejb-jar.xml`. You define the corresponding role mappings
-in the GlassFish Server deployment descriptor files `glassfish-web.xml`
-or `glassfish-ejb-jar.xml`.
-
-For more information regarding Java EE deployment descriptors, see the
-Java EE Specification. For more information regarding GlassFish Server
-deployment descriptors, see "link:../application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the GlassFish
-Server Deployment Descriptors]" in GlassFish Server Open Source Edition
-Application Deployment Guide.
-
-Each `security-role-mapping` element in the `glassfish-application.xml`,
-`glassfish-web.xml`, or `glassfish-ejb-jar.xml` file maps a role name
-permitted by the application or module to principals and groups. For
-example, a `glassfish-web.xml` file for an individually deployed web
-module might contain the following:
-
-[source,oac_no_warn]
-----
-<glassfish-web-app>
-    <security-role-mapping>
-        <role-name>manager</role-name>
-        <principal-name>jgarcia</principal-name>
-        <principal-name>mwebster</principal-name>
-        <group-name>team-leads</group-name>
-    </security-role-mapping>
-    <security-role-mapping>
-        <role-name>administrator</role-name>
-        <principal-name>dsmith</principal-name>
-    </security-role-mapping>
-</glassfish-web-app>
-----
-
-A role can be mapped to either specific principals or to groups (or
-both). The principal or group names used must be valid principals or
-groups in the realm for the application or module. Note that the
-`role-name` in this example must match the `@DeclareRoles` annotations
-or the `role-name` in the `security-role` element of the corresponding
-`web.xml` file.
-
-You can also specify a custom principal implementation class. This
-provides more flexibility in how principals can be assigned to roles. A
-user's JAAS login module now can authenticate its custom principal, and
-the authenticated custom principal can further participate in the
-GlassFish Server authorization process. For example:
-
-[source,oac_no_warn]
-----
-<security-role-mapping>
-    <role-name>administrator</role-name>
-    <principal-name class-name="CustomPrincipalImplClass">
-        dsmith
-    </principal-name>
-</security-role-mapping>
-----
-
-You can specify a default principal and a default principal to role
-mapping, each of which applies to the entire GlassFish Server instance.
-The default principal to role mapping maps group principals to the same
-named roles. Web modules that omit the `run-as` element in `web.xml` use
-the default principal. Applications and modules that omit the
-`security-role-mapping` element use the default principal to role
-mapping. These defaults are part of the Security Service, which you can
-access in the following ways:
-
-* In the Administration Console, select the Security component under the
-relevant configuration. For details, click the Help button in the
-Administration Console.
-* Use the `asadmin set` command. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual]. For
-example, you can set the default principal as follows. +
-[source,oac_no_warn]
-----
-asadmin set server-config.security-service.default-principal=dsmith
-asadmin set server-config.security-service.default-principal-password=secret
-----
-You can set the default principal to role mapping as follows. +
-[source,oac_no_warn]
-----
-asadmin set server-config.security-service.activate-default-principal-to-role-mapping=true
-asadmin set server-config.security-service.mapped-principal-class=CustomPrincipalImplClass
-----
-Default principal to role mapping is enabled by default. To disable it,
-set the default principal to role mapping property to false.
-
-[[beabo]][[GSDVG00118]][[realm-configuration]]
-
-Realm Configuration
-~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#beabp[Supported Realms]
-* link:#beabq[How to Configure a Realm]
-* link:#beabr[How to Set a Realm for an Application or Module]
-* link:#beabs[Creating a Custom Realm]
-
-[[beabp]][[GSDVG00364]][[supported-realms]]
-
-Supported Realms
-^^^^^^^^^^^^^^^^
-
-The following realms are supported in the current release of the
-GlassFish Server:
-
-* `file` - Stores user information in a file. This is the default realm
-when you first install the GlassFish Server.
-* `ldap` - Stores user information in an LDAP directory.
-* `jdbc` - Stores user information in a database. +
-In the JDBC realm, the server gets user credentials from a database. The
-GlassFish Server uses the database information and the enabled JDBC
-realm option in the configuration file. For digest authentication, a
-JDBC realm should be created with `jdbcDigestRealm` as the JAAS context.
-* `certificate` - Sets up the user identity in the GlassFish Server
-security context, and populates it with user data obtained from
-cryptographically verified client certificates.
-* `solaris` - Allows authentication using Solaris `username+password`
-data. This realm is only supported on the Solaris operating system,
-version 9 and above.
-
-For information about configuring realms, see link:#beabq[How to
-Configure a Realm].
-
-[[beabq]][[GSDVG00365]][[how-to-configure-a-realm]]
-
-How to Configure a Realm
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure a realm in one of these ways:
-
-* In the Administration Console, open the Security component under the
-relevant configuration and go to the Realms page. For details, click the
-Help button in the Administration Console.
-* Use the `asadmin create-auth-realm` command to configure realms on
-local servers. For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open
-Source Edition Reference Manual].
-
-[[beabr]][[GSDVG00366]][[how-to-set-a-realm-for-an-application-or-module]]
-
-How to Set a Realm for an Application or Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following deployment descriptor elements have optional `realm` or
-`realm-name` data subelements or attributes that override the domain's
-default realm:
-
-* `glassfish-application` element in `glassfish-application.xml`
-* `web-app` element in `web.xml`
-* `as-context` element in `glassfish-ejb-jar.xml`
-* `client-container` element in `sun-acc.xml`
-* `client-credential` element in `sun-acc.xml`
-
-If modules within an application specify realms, these are ignored. If
-present, the realm defined in `glassfish-application.xml` is used,
-otherwise the domain's default realm is used.
-
-For example, a realm is specified in `glassfish-application.xml` as
-follows:
-
-[source,oac_no_warn]
-----
-<glassfish-application>
-    ...
-    <realm>ldap</realm>
-</glassfish-application>
-----
-
-For more information about the deployment descriptor files and elements,
-see "link:../application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the GlassFish Server Deployment
-Descriptors]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-[[beabs]][[GSDVG00367]][[creating-a-custom-realm]]
-
-Creating a Custom Realm
-^^^^^^^^^^^^^^^^^^^^^^^
-
-You can create a custom realm by providing a custom Java Authentication
-and Authorization Service (JAAS) login module class and a custom realm
-class. Note that client-side JAAS login modules are not suitable for use
-with the GlassFish Server.
-
-To activate the custom login modules and realms, place the JAR files in
-the domain-dir`/lib` directory or the class files in the
-domain-dir`/lib/classes` directory. For more information about class
-loading in the GlassFish Server, see link:class-loaders.html#beade[Class
-Loaders].
-
-JAAS is a set of APIs that enable services to authenticate and enforce
-access controls upon users. JAAS provides a pluggable and extensible
-framework for programmatic user authentication and authorization. JAAS
-is a core API and an underlying technology for Java EE security
-mechanisms. For more information about JAAS, refer to the JAAS
-specification for Java SDK, available at
-`http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html`.
-
-For general information about realms and login modules, see the section
-about working with realms, users, groups, and roles in
-"https://javaee.github.io/tutorial/security-intro.html[Introduction to
-Security in the Java EE Platform]" in The Java EE 8 Tutorial.
-
-For Javadoc tool pages relevant to custom realms, see the
-`com.sun.appserv.security` package.
-
-Custom login modules must extend the
-`com.sun.appserv.security.AppservPasswordLoginModule` class. This class
-implements javax.security.auth.spi.LoginModule. Custom login modules
-must not implement LoginModule directly.
-
-Custom login modules must provide an implementation for one abstract
-method defined in `AppservPasswordLoginModule`:
-
-[source,oac_no_warn]
-----
-abstract protected void authenticateUser() throws LoginException
-----
-
-This method performs the actual authentication. The custom login module
-must not implement any of the other methods, such as `login`, `logout`,
-`abort`, `commit`, or `initialize`. Default implementations are provided
-in `AppservPasswordLoginModule` which hook into the GlassFish Server
-infrastructure.
-
-The custom login module can access the following protected object
-fields, which it inherits from `AppservPasswordLoginModule`. These
-contain the user name and password of the user to be authenticated:
-
-[source,oac_no_warn]
-----
-protected String _username;
-protected String _password;
-----
-
-The `authenticateUser` method must end with the following sequence:
-
-[source,oac_no_warn]
-----
-String[] grpList;
-// populate grpList with the set of groups to which
-// _username belongs in this realm, if any
-commitUserAuthentication(grpList);
-----
-
-Custom realms must extend the `com.sun.appserv.security.AppservRealm`
-class and implement the following methods:
-
-[source,oac_no_warn]
-----
-public void init(Properties props) throws BadRealmException, 
-    NoSuchRealmException
-----
-
-This method is invoked during server startup when the realm is initially
-loaded. The `props` argument contains the properties defined for this
-realm. The realm can do any initialization it needs in this method. If
-the method returns without throwing an exception, the GlassFish Server
-assumes that the realm is ready to service authentication requests. If
-an exception is thrown, the realm is disabled.
-
-[source,oac_no_warn]
-----
-public String getAuthType()
-----
-
-This method returns a descriptive string representing the type of
-authentication done by this realm.
-
-[source,oac_no_warn]
-----
-public abstract Enumeration getGroupNames(String username) throws 
-    InvalidOperationException, NoSuchUserException
-----
-
-This method returns an `Enumeration` (of `String` objects) enumerating
-the groups (if any) to which the given `username` belongs in this realm.
-
-Custom realms that manage users must implement the following additional
-methods:
-
-[source,oac_no_warn]
-----
-public abstract boolean supportsUserManagement();
-----
-
-This method returns `true` if the realm supports user management.
-
-[source,oac_no_warn]
-----
-public abstract Enumeration getGroupNames() throws BadRealmException;
-----
-
-This method returns an `Enumeration` of all group names.
-
-[source,oac_no_warn]
-----
-public abstract Enumeration getUserNames() throws BadRealmException;
-----
-
-This method returns an `Enumeration` of all user names.
-
-[source,oac_no_warn]
-----
-public abstract void refresh() throws BadRealmException;
-----
-
-This method refreshes the realm data so that new users and groups are
-visible.
-
-[source,oac_no_warn]
-----
-public abstract void persist() throws BadRealmException;
-----
-
-This method persists the realm data to permanent storage.
-
-[source,oac_no_warn]
-----
-public abstract User getUser(String name) throws NoSuchUserException, 
-BadRealmException;
-----
-
-This method returns the information recorded about a particular named
-user.
-
-[source,oac_no_warn]
-----
-public abstract void addUser(String name, String password, String[] groupList) throws 
-BadRealmException, IASSecurityException;
-----
-
-This method adds a new user, who cannot already exist.
-
-[source,oac_no_warn]
-----
-public abstract void removeUser(String name) throws NoSuchUserException, 
-BadRealmException;
-----
-
-This method removes a user, who must exist.
-
-[source,oac_no_warn]
-----
-public abstract void updateUser(String name, String newName, String password, 
-String[] groups) throws NoSuchUserException, BadRealmException, IASSecurityException;
-----
-
-This method updates data for a user, who must exist.
-
-
-[NOTE]
-=======================================================================
-
-The array passed to the `commitUseAuthentication` method should be newly
-created and otherwise unreferenced. This is because the group name array
-elements are set to null after authentication as part of cleanup. So the
-second time your custom realm executes it returns an array with null
-elements.
-
-Ideally, your custom realm should not return member variables from the
-`authenticate` method. It should return local variables as the default
-`JDBCRealm` does. Your custom realm can create a local `String` array in
-its `authenticate` method, copy the values from the member variables,
-and return the `String` array. Or it can use `clone` on the member
-variables.
-
-=======================================================================
-
-
-[[BACDEIHB]][[GSDVG563]][[java-ee-security-api-support]]
-
-Java EE Security API Support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-JSR-375 defines several authentication-related plugin SPIs, such as,
-`HttpAuthenticationMechanism` interface, the `IdentityStore` and
-`IdentityStoreHandler` interfaces:
-
-* `HttpAuthenticationMechanism`: An interface for modules that
-authenticate callers to a web application. An application can supply its
-own `HttpAuthenticationMechanism`, or use one of the default
-implementations provided by the container.
-* `IdentityStore`: This interface defines methods for validating a
-caller's credentials (such as user name and password) and returning
-group membership information. An application can provide its own
-IdentityStore, or use the built in LDAP or Database store.
-* `RememberMeIdentityStore`: This interface is a variation on the
-`IdentityStore` interface, intended to address cases where an
-authenticated user's identity should be remembered for an extended
-period of time, so that the caller can return to the application
-periodically without needing to present primary authentication
-credentials each time.
-
-In addition to these authentication plugin SPIs, the Java EE Security
-API specification defines the `SecurityContext` API for use by
-application code to query and interact with the current security
-context. The `SecurityContext` interface defines methods that allow an
-application to access security information about a caller, authenticate
-a caller, and authorize a caller. These methods include
-`getCallerPrincipal()`, `getPrincipalsByType()`, `isCallerInRole()`,
-`authenticate()`, and `hasAccessToWebResource()`.
-
-[[beabt]][[GSDVG00119]][[jacc-support]]
-
-JACC Support
-~~~~~~~~~~~~
-
-JACC (Java Authorization Contract for Containers) is part of the Java EE
-specification and defined by http://www.jcp.org/en/jsr/detail?id=115[JSR
-115] (`http://www.jcp.org/en/jsr/detail?id=115`). JACC defines an
-interface for pluggable authorization providers. Specifically, JACC is
-used to plug in the Java policy provider used by the container to
-perform Java EE caller access decisions. The Java policy provider
-performs Java policy decisions during application execution. This
-provides third parties with a mechanism to develop and plug in modules
-that are responsible for answering authorization decisions during Java
-EE application execution. The interfaces and rules used for developing
-JACC providers are defined in the JACC 1.0 specification.
-
-The GlassFish Server provides a simple file-based JACC-compliant
-authorization engine as a default JACC provider, named `default`. An
-alternate provider named `simple` is also provided. To configure an
-alternate provider using the Administration Console, open the Security
-component under the relevant configuration, and select the JACC
-Providers component. For details, click the Help button in the
-Administration Console.
-
-[[beabu]][[GSDVG00120]][[pluggable-audit-module-support]]
-
-Pluggable Audit Module Support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Audit modules collect and store information on incoming requests
-(servlets, EJB components) and outgoing responses. You can create a
-custom audit module.
-
-The following topics are addressed here:
-
-* link:#beabv[Configuring an Audit Module]
-* link:#beabw[The `AuditModule` Class]
-
-[[beabv]][[GSDVG00368]][[configuring-an-audit-module]]
-
-Configuring an Audit Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To configure an audit module, you can perform one of the following
-tasks:
-
-* To specify an audit module using the Administration Console, open the
-Security component under the relevant configuration, and select the
-Audit Modules component. For details, click the Help button in the
-Administration Console.
-* You can use the `asadmin create-audit-module` command to configure an
-audit module. For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open
-Source Edition Reference Manual].
-
-[[beabw]][[GSDVG00369]][[the-auditmodule-class]]
-
-The `AuditModule` Class
-^^^^^^^^^^^^^^^^^^^^^^^
-
-You can create a custom audit module by implementing a class that
-extends `com.sun.enterprise.security.audit.AuditModule`.
-
-For Javadoc tool pages relevant to audit modules, see the
-`com.sun.enterprise.security.audit` package.
-
-The `AuditModule` class provides default "no-op" implementations for
-each of the following methods, which your custom class can override.
-
-[source,oac_no_warn]
-----
-public void init(Properties props)
-----
-
-The preceding method is invoked during server startup when the audit
-module is initially loaded. The `props` argument contains the properties
-defined for this module. The module can do any initialization it needs
-in this method. If the method returns without throwing an exception, the
-GlassFish Server assumes the module realm is ready to service audit
-requests. If an exception is thrown, the module is disabled.
-
-[source,oac_no_warn]
-----
-public void authentication(String user, String realm, boolean success)
-----
-
-This method is invoked when an authentication request has been processed
-by a realm for the given user. The `success` flag indicates whether the
-authorization was granted or denied.
-
-[source,oac_no_warn]
-----
-public void webInvocation(String user, HttpServletRequest req, String type, boolean success)
-----
-
-This method is invoked when a web container call has been processed by
-authorization. The `success` flag indicates whether the authorization
-was granted or denied. The `req` object is the standard
-`HttpServletRequest` object for this request. The `type` string is one
-of `hasUserDataPermission` or `hasResourcePermission` (see
-http://www.jcp.org/en/jsr/detail?id=115[JSR 115]
-(`http://www.jcp.org/en/jsr/detail?id=115`)).
-
-[source,oac_no_warn]
-----
-public void ejbInvocation(String user, String ejb, String method, boolean success)
-----
-
-This method is invoked when an EJB container call has been processed by
-authorization. The `success` flag indicates whether the authorization
-was granted or denied. The `ejb` and `method` strings describe the EJB
-component and its method that is being invoked.
-
-[source,oac_no_warn]
-----
-public void webServiceInvocation(String uri, String endpoint, boolean success)
-----
-
-This method is invoked during validation of a web service request in
-which the endpoint is a servlet. The `uri` is the URL representation of
-the web service endpoint. The `endpoint` is the name of the endpoint
-representation. The `success` flag indicates whether the authorization
-was granted or denied.
-
-[source,oac_no_warn]
-----
-public void ejbAsWebServiceInvocation(String endpoint, boolean success)
-----
-
-This method is invoked during validation of a web service request in
-which the endpoint is a stateless session bean. The `endpoint` is the
-name of the endpoint representation. The `success` flag indicates
-whether the authorization was granted or denied.
-
-[[beabx]][[GSDVG00121]][[the-server.policy-file]]
-
-The `server.policy` File
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each GlassFish Server domain has its own global J2SE policy file,
-located in domain-dir`/config`. The file is named `server.policy`.
-
-The GlassFish Server is a Java EE compliant application server. As such,
-it follows the requirements of the Java EE specification, including the
-presence of the security manager (the Java component that enforces the
-policy) and a limited permission set for Java EE application code.
-
-The following topics are addressed here:
-
-* link:#beaby[Default Permissions]
-* link:#gilzz[System Properties]
-* link:#beabz[Changing Permissions for an Application]
-* link:#gbyah[Enabling and Disabling the Security Manager]
-
-[[beaby]][[GSDVG00370]][[default-permissions]]
-
-Default Permissions
-^^^^^^^^^^^^^^^^^^^
-
-Internal server code is granted all permissions. These are covered by
-the `AllPermission` grant blocks to various parts of the server
-infrastructure code. Do not modify these entries.
-
-Application permissions are granted in the default grant block. These
-permissions apply to all code not part of the internal server code
-listed previously. The GlassFish Server does not distinguish between EJB
-and web module permissions. All code is granted the minimal set of web
-component permissions (which is a superset of the EJB minimal set). Do
-not modify these entries.
-
-A few permissions above the minimal set are also granted in the default
-`server.policy` file. These are necessary due to various internal
-dependencies of the server implementation. Java EE application
-developers must not rely on these additional permissions. In some cases,
-deleting these permissions might be appropriate. For example, one
-additional permission is granted specifically for using connectors. If
-connectors are not used in a particular domain, you should remove this
-permission, because it is not otherwise necessary.
-
-[[gilzz]][[GSDVG00371]][[system-properties]]
-
-System Properties
-^^^^^^^^^^^^^^^^^
-
-The following predefined system properties, also called variables, are
-available for use in the `server.policy` file. The system property most
-frequently used in `server.policy` is `${com.sun.aas.instanceRoot}`. For
-more information about system properties, see the
-`asadmin create-system-properties` command in the link:../reference-manual/toc.html#GSRFM[GlassFish
-Server Open Source Edition Reference Manual].
-
-[[GSDVG533]][[sthref5]][[sthref6]]
-
-
-Table 4-1 Predefined System Properties
-
-[width="100%",cols="29%,17%,54%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`com.sun.aas.installRoot` |depends on operating system |Specifies the
-directory where the GlassFish Server is installed.
-
-|`com.sun.aas.instanceRoot` |depends on operating system |Specifies the
-top level directory for a server instance.
-
-|`com.sun.aas.hostName` |none |Specifies the name of the host (machine).
-
-|`com.sun.aas.javaRoot` |depends on operating system |Specifies the
-installation directory for the Java runtime.
-
-|`com.sun.aas.imqLib` |depends on operating system |Specifies the
-library directory for the Open Message Queue software.
-
-|`com.sun.aas.configName` |`server-config` |Specifies the name of the
-configuration used by a server instance.
-
-|`com.sun.aas.instanceName` |`server1` |Specifies the name of the server
-instance. This property is not used in the default configuration, but
-can be used to customize configuration.
-
-|`com.sun.aas.clusterName` |`cluster1` |Specifies the name of the
-cluster. This property is only set on clustered server instances. This
-property is not used in the default configuration, but can be used to
-customize configuration.
-
-|`com.sun.aas.domainName` |`domain1` |Specifies the name of the domain.
-This property is not used in the default configuration, but can be used
-to customize configuration.
-|=======================================================================
-
-
-[[beabz]][[GSDVG00372]][[changing-permissions-for-an-application]]
-
-Changing Permissions for an Application
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The default policy for each domain limits the permissions of Java EE
-deployed applications to the minimal set of permissions required for
-these applications to operate correctly. Do not add extra permissions to
-the default set (the grant block with no codebase, which applies to all
-code). Instead, add a new grant block with a codebase specific to the
-applications requiring the extra permissions, and only add the minimally
-necessary permissions in that block.
-
-If you develop multiple applications that require more than this default
-set of permissions, you can add the custom permissions that your
-applications need. The `com.sun.aas.instanceRoot` variable refers to the
-domain-dir. For example:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/applications/-" {
-...
-}
-----
-
-You can add permissions to stub code with the following grant block:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/generated/-" {
-...
-}
-----
-
-In general, you should add extra permissions only to the applications or
-modules that require them, not to all applications deployed to a domain.
-For example:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyApp/-" {
-...
-}
-----
-
-For a module:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyModule/-" {
-...
-}
-----
-
-
-[NOTE]
-===================================================================
-
-Deployment directories may change between GlassFish Server releases.
-
-===================================================================
-
-
-An alternative way to add permissions to a specific application or
-module is to edit the `granted.policy` file for that application or
-module. The `granted.policy` file is located in the
-domain-dir`/generated/policy/`app-or-module-name directory. In this
-case, you add permissions to the default grant block. Do not delete
-permissions from this file.
-
-When the GlassFish Server policy subsystem determines that a permission
-should not be granted, it logs a `server.policy` message specifying the
-permission that was not granted and the protection domains, with
-indicated code source and principals that failed the protection check.
-For example, here is the first part of a typical message:
-
-[source,oac_no_warn]
-----
-[#|2005-12-17T16:16:32.671-0200|INFO|sun-appserver-pe9.1|
-javax.enterprise.system.core.security|_ThreadID=14;_ThreadName=Thread-31;|
-JACC Policy Provider: PolicyWrapper.implies, context(null)- 
-permission((java.util.PropertyPermission java.security.manager write)) 
-domain that failed(ProtectionDomain
-(file:/E:/glassfish/domains/domain1/applications/cejug-clfds/ ... )
-...
-----
-
-Granting the following permission eliminates the message:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/applications/cejug-clfds/-" {
-    permission java.util.PropertyPermission "java.security.manager", "write";
-}
-----
-
-
-[NOTE]
-=======================================================================
-
-Do not add `java.security.AllPermission` to the `server.policy` file for
-application code. Doing so completely defeats the purpose of the
-security manager, yet you still get the performance overhead associated
-with it.
-
-=======================================================================
-
-
-As noted in the Java EE specification, an application should provide
-documentation of the additional permissions it needs. If an application
-requires extra permissions but does not document the set it needs,
-contact the application author for details.
-
-As a last resort, you can iteratively determine the permission set an
-application needs by observing `AccessControlException` occurrences in
-the server log.
-
-If this is not sufficient, you can add the
-`-Djava.security.debug=failure` JVM option to the domain. Use the
-following `asadmin create-jvm-options` command, then restart the server:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Djava.security.debug=failure
-----
-
-For more information about the `asadmin create-jvm-options` command, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-You can use the J2SE standard `policytool` or any text editor to edit
-the `server.policy` file. For more information, see
-`http://docs.oracle.com/javase/tutorial/security/tour2/index.html`.
-
-For detailed information about policy file syntax, see
-`http://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html`.
-
-For information about using system properties in the `server.policy`
-file, see
-`http://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html`.
-
-For detailed information about the permissions you can set in the
-`server.policy` file, see
-`http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html`.
-
-The Javadoc for the `Permission` class is at
-`http://docs.oracle.com/javase/8/docs/api/java/security/Permission.html`.
-
-[[gbyah]][[GSDVG00373]][[enabling-and-disabling-the-security-manager]]
-
-Enabling and Disabling the Security Manager
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The security manager is disabled by default.
-
-In a production environment, you may be able to safely disable the
-security manager if all of the following are true:
-
-* Performance is critical
-* Deployment to the production server is carefully controlled
-* Only trusted applications are deployed
-* Applications don't need policy enforcement
-
-Disabling the security manager may improve performance significantly for
-some types of applications.
-
-To enable the security manager, do one of the following:
-
-* To use the Administration Console, open the Security component under
-the relevant configuration, and check the Security Manager Enabled box.
-Then restart the server. For details, click the Help button in the
-Administration Console.
-* Use the following `asadmin create-jvm-options` command, then restart
-the server: +
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Djava.security.manager
-----
-
-To disable the security manager, uncheck the Security Manager Enabled
-box or use the corresponding `asadmin delete-jvm-options` command. For
-more information about `create-jvm-options` and `delete-jvm-options`,
-see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference
-Manual].
-
-If the security manager is enabled and you are using the Java
-Persistence API by calling `Persistence.createEMF()`, the EclipseLink
-persistence provider requires that you set the
-`eclipselink.security.usedoprivileged` JVM option to `true` as follows:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Declipselink.security.usedoprivileged=true
-----
-
-If the security manager is enabled and you are using the Java
-Persistence API by injecting or looking up an entity manager or entity
-manager factory, the EJB container sets this JVM option for you.
-
-You must grant additional permissions to CDI-enabled Java EE
-applications that are deployed in a GlassFish Server 5.0 domain or
-cluster for which security manager is enabled. These additional
-permissions are not required when security manager is disabled.
-
-To deploy CDI-enabled Java EE applications in a GlassFish Server 5.0
-domain or cluster for which security manager is enabled, add the
-following permissions to the applications:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/applications/[ApplicationName]" {
- permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
-};
-----
-
-For example, for a CDI application named `foo.war`, add the following
-permissions to the `server.policy` file, restart the domain or cluster,
-and then deploy and use the application.
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/applications/foo" {
- permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
-}; 
-----
-
-For more information about modifying application permissions, see
-link:#beabz[Changing Permissions for an Application].
-
-[[beaca]][[GSDVG00122]][[configuring-message-security-for-web-services]]
-
-Configuring Message Security for Web Services
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In message security, security information is applied at the message
-layer and travels along with the web services message. Web Services
-Security (WSS) is the use of XML Encryption and XML Digital Signatures
-to secure messages. WSS profiles the use of various security tokens
-including X.509 certificates, Security Assertion Markup Language (SAML)
-assertions, and username/password tokens to achieve this.
-
-Message layer security differs from transport layer security in that it
-can be used to decouple message protection from message transport so
-that messages remain protected after transmission, regardless of how
-many hops they travel.
-
-
-[NOTE]
-=======================================================================
-
-Message security (JSR 196) is supported only in the full GlassFish
-Server, not in the Web Profile.
-
-=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-In this release of the GlassFish Server, message layer annotations are
-not supported.
-
-=======================================================================
-
-
-For more information about web services, see
-link:webservices.html#gaszn[Developing Web Services].
-
-For more information about message security, see the following:
-
-* "https://javaee.github.io/tutorial/security-intro.html[Introduction to
-Security in the Java EE Platform]" in The Java EE 8 Tutorial
-* link:../security-guide/toc.html#GSSCG[GlassFish Server Open Source Edition Security Guide]
-* http://www.jcp.org/en/jsr/detail?id=196[JSR 196]
-(`http://www.jcp.org/en/jsr/detail?id=196`), Java Authentication Service
-Provider Interface for Containers
-* The Liberty Alliance Project specifications at
-`http://www.projectliberty.org/resources/specifications.php/?f=resources/specifications.php`
-* The Oasis Web Services Security (WSS) specification at
-`http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf`
-* The Web Services Interoperability Organization (WS-I) Basic Security
-Profile (BSP) specification at
-`http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html`
-* The XML and Web Services Security page at `http://xwss.java.net/`
-* The WSIT page at `http://wsit.java.net/`
-
-The following topics are addressed here:
-
-* link:#gbjxw[Message Security Providers]
-* link:#beacb[Message Security Responsibilities]
-* link:#beacf[Application-Specific Message Protection]
-* link:#beaci[Understanding and Running the Sample Application]
-
-[[gbjxw]][[GSDVG00374]][[message-security-providers]]
-
-Message Security Providers
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When you first install the GlassFish Server, the providers
-`XWS_ClientProvider` and `XWS_ServerProvider` are configured but
-disabled. You can enable them in one of the following ways:
-
-* To enable the message security providers using the Administration
-Console, open the Security component under the relevant configuration,
-select the Message Security component, and select SOAP. Then select
-`XWS_ServerProvider` from the Default Provider list and
-`XWS_ClientProvider` from the Default Client Provider list. For details,
-click the Help button in the Administration Console.
-* You can enable the message security providers using the following
-commands. +
-[source,oac_no_warn]
-----
-asadmin set 
-server-config.security-service.message-security-config.SOAP.default_provider=XWS_ServerProvider
-asadmin set 
-server-config.security-service.message-security-config.SOAP.default_client_provider=XWS_ClientProvider
-----
-For more information about the `asadmin set` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-The example described in link:#beaci[Understanding and Running the
-Sample Application] uses the `ClientProvider` and `ServerProvider`
-providers, which are enabled when the Ant targets are run. You don't
-need to enable these on the GlassFish Server prior to running the
-example.
-
-If you install the OpenSSO, you have these additional provider choices:
-
-* `AMClientProvider` and `AMServerProvider` - These providers secure web
-services and Simple Object Access Protocol (SOAP) messages using either
-WS-I BSP or Liberty ID-WSF tokens. These providers are used
-automatically if they are configured as the default providers. If you
-wish to override any provider settings, you can configure these
-providers in `message-security-binding` elements in the
-`glassfish-web.xml`, `glassfish-ejb-jar.xml`, and
-`glassfish-application-client.xml` deployment descriptor files.
-* `AMHttpProvider` - This provider handles the initial end user
-authentication for securing web services using Liberty ID-WSF tokens and
-redirects requests to the OpenSSO for single sign-on. To use this
-provider, specify it in the `httpservlet-security-provider` attribute of
-the `glassfish-web-app` element in the `glassfish-web.xml` file.
-
-Liberty specifications can be viewed at
-`http://www.projectliberty.org/resources/specifications.php/?f=resources/specifications.php`.
-The WS-I BSP specification can be viewed at
-`http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html`.
-
-For more information about the GlassFish Server deployment descriptor
-files, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide].
-
-For information about configuring these providers in the GlassFish
-Server, see the link:../security-guide/toc.html#GSSCG[GlassFish Server Open Source Edition
-Security Guide]. For additional information about overriding provider
-settings, see link:#beacf[Application-Specific Message Protection].
-
-You can create new message security providers in one of the following
-ways:
-
-* To create a message security provider using the Administration
-Console, open the Security component under the relevant configuration,
-and select the Message Security component. For details, click the Help
-button in the Administration Console.
-* You can use the `asadmin create-message-security-provider` command to
-create a message security provider. For details, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-In addition, you can set a few optional provider properties using the
-`asadmin set` command. For example:
-
-[source,oac_no_warn]
-----
-asadmin set server-config.security-service.message-security-config.provider-config.property.debug=true
-----
-
-The following table describes these message security provider
-properties.
-
-[[GSDVG534]][[sthref7]][[sthref8]]
-
-
-Table 4-2 Message Security Provider Properties
-
-[width="100%",cols="30%,24%,46%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`security.config` |domain-dir`/``config/``wss-server-``config-1.0.xml`
-a|
-Specifies the location of the message security configuration file. To
-point to a configuration file in the domain-dir`/config` directory, use
-the system property `${com.sun.aas.instanceRoot}/``config/`, for
-example:
-
-`${com.sun.aas.instanceRoot}/config/``wss-server-config-1.0.xml`
-
-See link:#gilzz[System Properties].
-
-|`debug` |`false` |If `true`, enables dumping of server provider debug
-messages to the server log.
-
-|`dynamic.username.password` |`false` |If `true`, signals the provider
-runtime to collect the user name and password from the `CallbackHandler`
-for each request. If `false`, the user name and password for
-`wsse:UsernameToken(s)` is collected once, during module initialization.
-This property is only applicable for a `ClientAuthModule`.
-
-|`encryption.key.alias` |`s1as` |Specifies the encryption key used by
-the provider. The key is identified by its `keystore` alias.
-
-|`signature.key.alias` |`s1as` |Specifies the signature key used by the
-provider. The key is identified by its `keystore` alias.
-|=======================================================================
-
-
-[[beacb]][[GSDVG00375]][[message-security-responsibilities]]
-
-Message Security Responsibilities
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In the GlassFish Server, the system administrator and application
-deployer roles are expected to take primary responsibility for
-configuring message security. In some situations, the application
-developer may also contribute, although in the typical case either of
-the other roles may secure an existing application without changing its
-implementation and without involving the developer.
-
-The following topics are addressed here:
-
-* link:#beacc[Application Developer Responsibilities]
-* link:#beacd[Application Deployer Responsibilities]
-* link:#beace[System Administrator Responsibilities]
-
-[[beacc]][[GSDVG00241]][[application-developer-responsibilities]]
-
-Application Developer Responsibilities
-++++++++++++++++++++++++++++++++++++++
-
-The application developer can turn on message security, but is not
-responsible for doing so. Message security can be set up by the system
-administrator so that all web services are secured, or set up by the
-application deployer when the provider or protection policy bound to the
-application must be different from that bound to the container.
-
-The application developer is responsible for the following:
-
-* Determining if an application-specific message protection policy is
-required by the application. If so, ensuring that the required policy is
-specified at application assembly which may be accomplished by
-communicating with the application deployer.
-* Determining if message security is necessary at the GlassFish Server
-level. If so, ensuring that this need is communicated to the system
-administrator, or taking care of implementing message security at the
-GlassFish Server level.
-
-[[beacd]][[GSDVG00242]][[application-deployer-responsibilities]]
-
-Application Deployer Responsibilities
-+++++++++++++++++++++++++++++++++++++
-
-The application deployer is responsible for the following:
-
-* Specifying (at application assembly) any required application-specific
-message protection policies if such policies have not already been
-specified by upstream roles (the developer or assembler)
-* Modifying GlassFish Server deployment descriptors to specify
-application-specific message protection policies information
-(message-security-binding elements) to web service endpoint and service
-references
-
-These security tasks are discussed in link:#beacf[Application-Specific
-Message Protection]. A sample application using message security is
-discussed in link:#beaci[Understanding and Running the Sample
-Application].
-
-[[beace]][[GSDVG00243]][[system-administrator-responsibilities]]
-
-System Administrator Responsibilities
-+++++++++++++++++++++++++++++++++++++
-
-The system administrator is responsible for the following:
-
-* Configuring message security providers on the GlassFish Server.
-* Managing user databases.
-* Managing keystore and truststore files.
-* Installing the sample. This is only done if the `xms` sample
-application is used to demonstrate the use of message layer web services
-security.
-
-A system administrator uses the Administration Console to manage server
-security settings and uses a command line tool to manage certificate
-databases. Certificates and private keys are stored in key stores and
-are managed with `keytool`. If Network Security Services (NSS) is
-installed, certificates and private keys are stored in an NSS database,
-where they are managed using `certutil`. System administrator tasks are
-discussed in the link:../security-guide/toc.html#GSSCG[GlassFish Server Open Source Edition
-Security Guide].
-
-[[beacf]][[GSDVG00376]][[application-specific-message-protection]]
-
-Application-Specific Message Protection
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When the GlassFish Server provided configuration is insufficient for
-your security needs, and you want to override the default protection,
-you can apply application-specific message security to a web service.
-
-Application-specific security is implemented by adding the message
-security binding to the web service endpoint, whether it is an EJB or
-servlet web service endpoint. Modify GlassFish Server XML files to add
-the message binding information.
-
-Message security can also be specified using a WSIT security policy in
-the WSDL file. For details, see the WSIT page at
-`http://wsit.java.net/`.
-
-For more information about message security providers, see
-link:#gbjxw[Message Security Providers].
-
-For more details on message security binding for EJB web services,
-servlet web services, and clients, see the XML file descriptions in
-"link:../application-deployment-guide/dd-elements.html#GSDPG00007[Elements of the GlassFish Server Deployment
-Descriptors]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-* For `glassfish-ejb-jar.xml`, see "link:../application-deployment-guide/dd-files.html#GSDPG00079[The
-glassfish-ejb-jar.xml File]" in GlassFish Server Open Source Edition
-Application Deployment Guide.
-* For `glassfish-web.xml`, see "link:../application-deployment-guide/dd-files.html#GSDPG00078[The glassfish-web.xml
-File]" in GlassFish Server Open Source Edition Application Deployment
-Guide.
-* For `glassfish-application-client.xml`, see "link:../application-deployment-guide/dd-files.html#GSDPG00081[The
-glassfish-application-client.xml file]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-The following topics are addressed here:
-
-* link:#beacg[Using a Signature to Enable Message Protection for All
-Methods]
-* link:#beach[Configuring Message Protection for a Specific Method Based
-on Digital Signatures]
-
-[[beacg]][[GSDVG00244]][[using-a-signature-to-enable-message-protection-for-all-methods]]
-
-Using a Signature to Enable Message Protection for All Methods
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-To enable message protection for all methods using digital signature,
-update the `message-security-binding` element for the EJB web service
-endpoint in the application's `glassfish-ejb-jar.xml` file. In this
-file, add `request-protection` and `response-protection` elements, which
-are analogous to the `request-policy` and `response-policy` elements
-discussed in the link:../security-guide/toc.html#GSSCG[GlassFish Server Open Source Edition
-Security Guide]. To apply the same protection mechanisms for all
-methods, leave the method-name element blank. link:#beach[Configuring
-Message Protection for a Specific Method Based on Digital Signatures]
-discusses listing specific methods or using wildcard characters.
-
-This section uses the sample application discussed in
-link:#beaci[Understanding and Running the Sample Application] to apply
-application-level message security to show only the differences
-necessary for protecting web services using various mechanisms.
-
-[[fvyag]][[GSDVG00052]][[to-enable-message-protection-for-all-methods-using-digital-signature]]
-
-To Enable Message Protection for All Methods Using Digital Signature
-
-Follow this procedure.
-
-1.  In a text editor, open the application's `glassfish-ejb-jar.xml`
-file. +
-For the `xms` example, this file is located in the directory
-app-dir`/xms-ejb/src/conf`, where app-dir is defined in link:#beacj[To
-Set Up the Sample Application].
-2.  Modify the `glassfish-ejb-jar.xml` file by adding the
-`message-security-binding` element as shown: +
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-  <enterprise-beans>
-    <unique-id>1</unique-id>
-    <ejb>
-      <ejb-name>HelloWorld</ejb-name>
-      <jndi-name>HelloWorld</jndi-name>
-      <webservice-endpoint>
-        <port-component-name>HelloIF</port-component-name>
-        <endpoint-address-uri>service/HelloWorld</endpoint-address-uri>
-        <message-security-binding auth-layer="SOAP">
-          <message-security>
-            <request-protection auth-source="content" />
-            <response-protection auth-source="content"/>
-          </message-security>
-        </message-security-binding>
-      </webservice-endpoint>
-    </ejb>
-  </enterprise-beans>
-</glassfish-ejb-jar>
-----
-3.  Compile, deploy, and run the application as described in
-link:#beack[To Run the Sample Application].
-
-[[beach]][[GSDVG00245]][[configuring-message-protection-for-a-specific-method-based-on-digital-signatures]]
-
-Configuring Message Protection for a Specific Method Based on Digital Signatures
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-To enable message protection for a specific method, or for a set of
-methods that can be identified using a wildcard value, follow these
-steps. As in the example discussed in link:#beacg[Using a Signature to
-Enable Message Protection for All Methods], to enable message protection
-for a specific method, update the `message-security-binding` element for
-the EJB web service endpoint in the application's
-`glassfish-ejb-jar.xml` file. To this file, add `request-protection` and
-`response-protection` elements, which are analogous to the
-`request-policy` and `response-policy` elements discussed in the
-link:../security-guide/toc.html#GSSCG[GlassFish Server Open Source Edition Security Guide]. The
-administration guide includes a table listing the set and order of
-security operations for different request and response policy
-configurations.
-
-This section uses the sample application discussed in
-link:#beaci[Understanding and Running the Sample Application] to apply
-application-level message security to show only the differences
-necessary for protecting web services using various mechanisms.
-
-[[fvybb]][[GSDVG00053]][[to-enable-message-protection-for-a-particular-method-or-set-of-methods-using-digital-signature]]
-
-To Enable Message Protection for a Particular Method or Set of Methods
-Using Digital Signature
-
-Follow this procedure.
-
-1.  In a text editor, open the application's `glassfish-ejb-jar.xml`
-file. +
-For the `xms` example, this file is located in the directory
-app-dir`/xms-ejb/src/conf`, where app-dir is defined in link:#beacj[To
-Set Up the Sample Application].
-2.  Modify the `glassfish-ejb-jar.xml` file by adding the
-`message-security-binding` element as shown: +
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-  <enterprise-beans>
-  <unique-id>1</unique-id>
-    <ejb>
-      <ejb-name>HelloWorld</ejb-name>
-      <jndi-name>HelloWorld</jndi-name>
-      <webservice-endpoint>
-        <port-component-name>HelloIF</port-component-name>
-        <endpoint-address-uri>service/HelloWorld</endpoint-address-uri>
-        <message-security-binding auth-layer="SOAP">
-          <message-security>
-            <message>
-              <java-method>
-                <method-name>ejbCreate</method-name>
-              </java-method>
-            </message>
-            <message>
-              <java-method>
-                <method-name>sayHello</method-name>
-              </java-method>
-            </message>
-            <request-protection auth-source="content" />
-            <response-protection auth-source="content"/>
-          </message-security>
-        </message-security-binding>
-      </webservice-endpoint>
-    </ejb>
-  </enterprise-beans>
-</glassfish-ejb-jar>
-----
-3.  Compile, deploy, and run the application as described in
-link:#beack[To Run the Sample Application].
-
-[[beaci]][[GSDVG00377]][[understanding-and-running-the-sample-application]]
-
-Understanding and Running the Sample Application
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section discusses the WSS sample application. This sample
-application is installed on your system only if you installed the J2EE
-1.4 samples. If you have not installed these samples, see link:#beacj[To
-Set Up the Sample Application].
-
-The objective of this sample application is to demonstrate how a web
-service can be secured with WSS. The web service in the `xms` example is
-a simple web service implemented using a Java EE EJB endpoint and a web
-service endpoint implemented using a servlet. In this example, a service
-endpoint interface is defined with one operation, `sayHello`, which
-takes a string then sends a response with `Hello` prefixed to the given
-string. You can view the WSDL file for the service endpoint interface at
-app-dir`/xms-ejb/src/``conf/HelloWorld.wsdl`, where app-dir is defined
-in link:#beacj[To Set Up the Sample Application].
-
-In this application, the client looks up the service using the JNDI name
-`java:comp/env/service/HelloWorld` and gets the port information using a
-static stub to invoke the operation using a given name. For the name
-Duke, the client gets the response `Hello Duke!`
-
-This example shows how to use message security for web services at the
-GlassFish Server level. For information about using message security at
-the application level, see link:#beacf[Application-Specific Message
-Protection]. The WSS message security mechanisms implement message-level
-authentication (for example, XML digital signature and encryption) of
-SOAP web services invocations using the X.509 and username/password
-profiles of the OASIS WS-Security standard, which can be viewed from the
-following URL:
-`http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf`.
-
-The following topics are addressed here:
-
-* link:#beacj[To Set Up the Sample Application]
-* link:#beack[To Run the Sample Application]
-
-[[beacj]][[GSDVG00054]][[to-set-up-the-sample-application]]
-
-To Set Up the Sample Application
-++++++++++++++++++++++++++++++++
-
-[[GSDVG535]]
-
-Before You Begin
-
-To have access to this sample application, you must have previously
-installed the J2EE 1.4 samples. If the samples are not installed, follow
-the steps in the following section.
-
-After you follow these steps, the sample application is located in the
-directory
-as-install`/j2ee14-samples/samples/webservices/security/ejb/apps/xms/`
-or in a directory of your choice. For easy reference throughout the rest
-of this section, this directory is referred to as simply app-dir.
-
-1.  Go to the
-http://www.oracle.com/technetwork/java/javaee/download-141771.html[J2EE
-1.4 download URL]
-(`http://www.oracle.com/technetwork/java/javaee/download-141771.html`)
-in your browser.
-2.  Click on the Download button for the Samples Bundle.
-3.  Click on Accept License Agreement.
-4.  Click on the J2EE SDK Samples link.
-5.  Choose a location for the `j2eesdk-1_4_03-samples.zip` file. +
-Saving the file to as-install is recommended.
-6.  Unzip the file. +
-Unzipping to the as-install`/j2ee14-samples` directory is recommended.
-For example, you can use the following command. +
-[source,oac_no_warn]
-----
-unzip j2eesdk-1_4_03-samples.zip -d j2ee14-samples
-----
-
-[[beack]][[GSDVG00055]][[to-run-the-sample-application]]
-
-To Run the Sample Application
-+++++++++++++++++++++++++++++
-
-1.  Make sure that the GlassFish Server is running. +
-Message security providers are set up when the Ant targets are run, so
-you do not need to configure these on the GlassFish Server prior to
-running this example.
-2.  If you are not running HTTP on the default port of 8080, change the
-WSDL file for the example to reflect the change, and change the
-`common.properties` file to reflect the change as well. +
-The WSDL file for this example is located at
-app-dir`/xms-ejb/``src/conf/HelloWorld.wsdl`. The port number is in the
-following section: +
-[source,oac_no_warn]
-----
-<service name="HelloWorld">
-  <port name="HelloIFPort" binding="tns:HelloIFBinding">
-    <soap:address location="http://localhost:8080/service/HelloWorld"/>
-  </port>
-</service>
-----
-Verify that the properties in the as-install`/samples/common.properties`
-file are set properly for your installation and environment. If you need
-a more detailed description of this file, refer to the "Configuration"
-section for the web services security applications at
-as-install`/j2ee14-samples/samples/webservices/security/docs/common.html#Logging`.
-3.  Change to the app-dir directory.
-4.  Run the following Ant targets to compile, deploy, and run the
-example application:
-1.  To compile samples: +
-`ant`
-2.  To deploy samples: +
-`ant deploy`
-3.  To run samples: +
-`ant run` +
-If the sample has compiled and deployed properly, you see the following
-response on your screen after the application has run: +
-`run:[echo] Running the xms program:[exec] Established message level security : Hello Duke!`
-5.  To undeploy the sample, run the following Ant target: +
-[source,oac_no_warn]
-----
-ant undeploy
-----
-All of the web services security examples use the same web service name
-(`HelloWorld`) and web service ports. These examples show only the
-differences necessary for protecting web services using various
-mechanisms. Make sure to undeploy an application when you have completed
-running it. If you do not, you receive an `Already in Use` error and
-deployment failures when you try to deploy another web services example
-application.
-
-[[beacm]][[GSDVG00123]][[programmatic-login-using-the-programmaticlogin-class]]
-
-Programmatic Login Using the ProgrammaticLogin Class
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Programmatic login allows a deployed Java EE application or module to
-invoke a login method. If the login is successful, a `SecurityContext`
-is established as if the client had authenticated using any of the
-conventional Java EE mechanisms. Programmatic login is supported for
-servlet and EJB components on the server side, and for stand-alone or
-application clients on the client side. Programmatic login is useful for
-an application having special needs that cannot be accommodated by any
-of the Java EE standard authentication mechanisms.
-
-This section describes a proprietary GlassFish mechanism, but see also
-the standard security APIs in the Java EE tutorial.
-
-
-[NOTE]
-=======================================================================
-
-The `com.sun.appserv.security.ProgrammaticLogin` class in GlassFish
-Server is not a Java EE API; therefore, it is not portable to other
-application servers.
-
-=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#beacn[Programmatic Login Precautions]
-* link:#beaco[Granting Programmatic Login Permission]
-* link:#beacp[The `ProgrammaticLogin` Class]
-
-[[beacn]][[GSDVG00378]][[programmatic-login-precautions]]
-
-Programmatic Login Precautions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server is not involved in how the login information
-(`user`, `password`) is obtained by the deployed application.
-Programmatic login places the burden on the application developer with
-respect to assuring that the resulting system meets security
-requirements. If the application code reads the authentication
-information across the network, the application determines whether to
-trust the user.
-
-Programmatic login allows the application developer to bypass the
-GlassFish Server-supported authentication mechanisms and feed
-authentication data directly to the security service. While flexible,
-this capability should not be used without some understanding of
-security issues.
-
-Since this mechanism bypasses the container-managed authentication
-process and sequence, the application developer must be very careful in
-making sure that authentication is established before accessing any
-restricted resources or methods. It is also the application developer's
-responsibility to verify the status of the login attempt and to alter
-the behavior of the application accordingly.
-
-The programmatic login state does not necessarily persist in sessions or
-participate in single sign-on.
-
-Lazy authentication is not supported for programmatic login. If an
-access check is reached and the deployed application has not properly
-authenticated using the programmatic login method, access is denied
-immediately and the application might fail if not coded to account for
-this occurrence. One way to account for this occurrence is to catch the
-access control or security exception, perform a programmatic login, and
-repeat the request.
-
-[[beaco]][[GSDVG00379]][[granting-programmatic-login-permission]]
-
-Granting Programmatic Login Permission
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `ProgrammaticLoginPermission` permission is required to invoke the
-programmatic login mechanism for an application if the security manager
-is enabled. For information about the security manager, see
-link:#beabx[The `server.policy` File]. This permission is not granted by
-default to deployed applications because this is not a standard Java EE
-mechanism.
-
-To grant the required permission to the application, add the following
-to the domain-dir`/config/server.policy` file:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:jar-file-path" {
-     permission com.sun.appserv.security.ProgrammaticLoginPermission
-     "login";
- };
-----
-
-The jar-file-path is the path to the application's JAR file.
-
-[[beacp]][[GSDVG00380]][[the-programmaticlogin-class]]
-
-The `ProgrammaticLogin` Class
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `com.sun.appserv.security.ProgrammaticLogin` class enables a user to
-perform login programmatically.
-
-For Javadoc tool pages relevant to programmatic login, see the
-`com.sun.appserv.security` package.
-
-The `ProgrammaticLogin` class has four `login` methods, two for servlets
-or JSP files and two for EJB components.
-
-The login methods for servlets or JSP files have the following
-signatures:
-
-[source,oac_no_warn]
-----
-public java.lang.Boolean login(String user, String password, 
-    javax.servlet.http.HttpServletRequest request, 
-    javax.servlet.http.HttpServletResponse response)
-
-public java.lang.Boolean login(String user, String password, 
-    String realm, javax.servlet.http.HttpServletRequest request, 
-    javax.servlet.http.HttpServletResponse response, boolean errors) 
-    throws java.lang.Exception
-----
-
-The login methods for EJB components have the following signatures:
-
-[source,oac_no_warn]
-----
-public java.lang.Boolean login(String user, String password)
-
-public java.lang.Boolean login(String user, String password, 
-    String realm, boolean errors) throws java.lang.Exception
-----
-
-All of these `login` methods accomplish the following:
-
-* Perform the authentication
-* Return `true` if login succeeded, `false` if login failed
-
-The login occurs on the realm specified unless it is null, in which case
-the domain's default realm is used. The methods with no realm parameter
-use the domain's default realm.
-
-If the errors flag is set to `true`, any exceptions encountered during
-the login are propagated to the caller. If set to `false`, exceptions
-are thrown.
-
-On the client side, realm and errors parameters are ignored and the
-actual login does not occur until a resource requiring a login is
-accessed. A `java.rmi.AccessException` with `COBRA NO_PERMISSION` occurs
-if the actual login fails.
-
-The logout methods for servlets or JSP files have the following
-signatures:
-
-[source,oac_no_warn]
-----
-public java.lang.Boolean logout(HttpServletRequest request, 
-    HttpServletResponse response)
-
-public java.lang.Boolean logout(HttpServletRequest request, 
-    HttpServletResponse response, boolean errors) 
-    throws java.lang.Exception
-----
-
-The logout methods for EJB components have the following signatures:
-
-[source,oac_no_warn]
-----
-public java.lang.Boolean logout()
-
-public java.lang.Boolean logout(boolean errors) 
-    throws java.lang.Exception
-----
-
-All of these `logout` methods return `true` if logout succeeded, `false`
-if logout failed.
-
-If the errors flag is set to `true`, any exceptions encountered during
-the logout are propagated to the caller. If set to `false`, exceptions
-are thrown.
-
-[[beacq]][[GSDVG00124]][[user-authentication-for-single-sign-on]]
-
-User Authentication for Single Sign-on
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The single sign-on feature of the GlassFish Server allows multiple web
-applications deployed to the same virtual server to share the user
-authentication state. With single sign-on enabled, users who log in to
-one web application become implicitly logged into other web applications
-on the same virtual server that require the same authentication
-information. Otherwise, users would have to log in separately to each
-web application whose protected resources they tried to access.
-
-A sample application using the single sign-on scenario could be a
-consolidated airline booking service that searches all airlines and
-provides links to different airline web sites. After the user signs on
-to the consolidated booking service, the user information can be used by
-each individual airline site without requiring another sign-on.
-
-Single sign-on operates according to the following rules:
-
-* Single sign-on applies to web applications configured for the same
-realm and virtual server. The realm is defined by the `realm-name`
-element in the `web.xml` file. For information about virtual servers,
-see "link:../administration-guide/http_https.html#GSADG00017[Administering Internet Connectivity]" in GlassFish
-Server Open Source Edition Administration Guide.
-* As long as users access only unprotected resources in any of the web
-applications on a virtual server, they are not challenged to
-authenticate themselves.
-* As soon as a user accesses a protected resource in any web application
-associated with a virtual server, the user is challenged to authenticate
-himself or herself, using the login method defined for the web
-application currently being accessed.
-* After authentication, the roles associated with this user are used for
-access control decisions across all associated web applications, without
-challenging the user to authenticate to each application individually.
-* When the user logs out of one web application (for example, by
-invalidating the corresponding session), the user's sessions in all web
-applications are invalidated. Any subsequent attempt to access a
-protected resource in any application requires the user to authenticate
-again.
-
-The single sign-on feature utilizes HTTP cookies to transmit a token
-that associates each request with the saved user identity, so it can
-only be used in client environments that support cookies.
-
-To configure single sign-on, set the following virtual server
-properties:
-
-* `sso-enabled` - If `false`, single sign-on is disabled for this
-virtual server, and users must authenticate separately to every
-application on the virtual server. The default is `false`.
-* `sso-max-inactive-seconds` - Specifies the time after which a user's
-single sign-on record becomes eligible for purging if no client activity
-is received. Since single sign-on applies across several applications on
-the same virtual server, access to any of the applications keeps the
-single sign-on record active. The default value is 5 minutes (`300`
-seconds). Higher values provide longer single sign-on persistence for
-the users at the expense of more memory use on the server.
-* `sso-reap-interval-seconds` - Specifies the interval between purges of
-expired single sign-on records. The default value is `60`.
-
-Here are example `asadmin set` commands with default values:
-
-[source,oac_no_warn]
-----
-asadmin set server-config.http-service.virtual-server.vsrv1.property.sso-enabled="true"
-asadmin set server-config.http-service.virtual-server.vsrv1.property.sso-max-inactive-seconds="300"
-asadmin set server-config.http-service.virtual-server.vsrv1.property.sso-reap-interval-seconds="60"
-----
-
-For more information about the `asadmin set` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[gizel]][[GSDVG00125]][[adding-authentication-mechanisms-to-the-servlet-container]]
-
-Adding Authentication Mechanisms to the Servlet Container
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can use JSR 196 in the web tier to facilitate the injection of
-pluggable authentication modules within the servlet constraint
-processing engine. The GlassFish Server includes implementations of a
-number of HTTP layer authentication mechanisms such as basic, form, and
-digest authentication. You can add alternative implementations of the
-included mechanisms or implementations of new mechanisms such as HTTP
-Negotiate/SPNEGO, OpenID, or CAS.
-
-The following topics are addressed here:
-
-* link:#BACCFGBF[The GlassFish Server and JSR-375]
-* link:#gizfz[The GlassFish Server and JSR 196]
-* link:#gizdx[Writing a Server Authentication Module]
-* link:#gizeb[Sample Server Authentication Module]
-* link:#gizfa[Compiling and Installing a Server Authentication Module]
-* link:#gizfe[Configuring a Server Authentication Module]
-* link:#gizfm[Binding a Server Authentication Module to Your
-Application]
-
-[[BACCFGBF]][[GSDVG564]][[the-glassfish-server-and-jsr-375]]
-
-The GlassFish Server and JSR-375
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Glassfish Server implements JSR-375 to provide built-in support for
-BASIC, FORM and Custom FORM authentication mechanisms. JSR-375 also
-defines plug-in interfaces for authentication and identity stores, that
-is, the `HttpAuthenticationMechanism` interface and the `IdentityStore`
-interface, respectively. Though `HttpAuthenticationMechanism`
-implementations can authenticate users in any manner they choose, the
-`IdentityStore` interface provides a convenient mechanism. A significant
-advantage of using `HttpAuthenticationMechanism` and `IdentityStore`
-over the declarative mechanisms defined by the Servlet specification is
-that it allows an application to control the identity stores that it
-authenticates against, in a standard, portable way. You can use the
-built-in implementations of these APIs, or define custom
-implementations.
-
-Java EE Security API defines several annotations, with names that end
-with Definition, which when used makes the corresponding built-in
-mechanism available as a CDI bean. Java EE Security API also supports
-the use of Expression Language 3.0 in these annotations to allow dynamic
-configuration.
-
-[[GSDVG565]][[sthref9]]
-
-
-[[built-in-authentication-mechanisms]]
-Built-in Authentication Mechanisms
-++++++++++++++++++++++++++++++++++
-
-An application packages its own `HttpAuthenticationMechanism` by
-including in a bean archive that is a part of the application.
-Alternatively, it may select and configure one of the container's
-built-in mechanisms using the corresponding annotation, as listed below:
-
-* `BasicAuthenticationMechanismDefintion`—implements BASIC
-authentication that conforms to the behavior of the servlet container
-when BASIC <auth-method> is declared in web.xml.
-* `CustomFormAuthenticationMechanismDefinition`—implements FORM
-authentication that conforms to the behavior of the servlet container
-when the FORM <auth-method> is declared in web.xml.
-* `FormAuthenticationMechanismDefinition`—implements a modified version
-of FORM authentication in which custom handling replaces the POST to
-j_security_check.
-
-In GlassFish Server, all built-in authentication mechanisms need to be
-authenticated using an identity store. The `IdentityStore` interface,
-included in the Java EE Security API, defines an SPI for interacting
-with identity stores, which are directories or databases containing user
-account information. The `IdentityStore` interface has four methods:
-`validate(Credential)`, `getCallerGroups(CredentialValidationResult)`,
-`validationTypes()` and `priority()`.Developers can provide their own
-implementation of this interface, or use one of the built-in Identity
-Stores. The `RememberMeIdentityStore` interface, which is a variation on
-the IdentityStore interface, can be used when an application wants to
-"remember" a user's authenticated session for an extended period, so
-that the caller can return to the application periodically without
-needing to present primary authentication credentials each time.
-
-There are two built-in implementations of `IdentityStore`: an LDAP
-identity store, and a Database identity store. The following snippet
-shows the usage of `DatabaseIdentityStoreDefinition`, which makes
-`DatabaseIdentityStore` available as CDI bean.
-
-[source,oac_no_warn]
-----
-@DatabaseIdentityStoreDefinition(
-    callerQuery = "#{'select password from caller where name = ?'}",
-    groupsQuery = "select group_name from caller_groups where caller_name = ?",
-    hashAlgorithm = Pbkdf2PasswordHash.class,
-    priorityExpression = "#{100}",
-    hashAlgorithmParameters = {
-        "Pbkdf2PasswordHash.Iterations=3072",
-        "${applicationConfig.dyna}"
-    }   
-)
-----
-
-Since Java EE Security API provides support for Expression Langauge 3.0,
-regular expressions can be used to set value of annotation attributes.
-
-The GlassFish Server provides out of the box implementation of
-`Pbkdf2PasswordHash` that supports PBKDF2 password hashing. It is
-suggested that you use `Pbkdf2PasswordHash` for generating and
-validating passwords, unless there are specific requirements which
-cannot be met any other way.
-
-[[GSDVG566]][[sthref10]]
-
-
-[[custom-authentication-mechanism]]
-Custom Authentication Mechanism
-+++++++++++++++++++++++++++++++
-
-An application provider can choose to provide its own custom
-authentication mechanism, apart from built-in authentication mechanism.
-
-A custom authentication mechanism implements the
-`HttpAuthenticationMechanism` interface, introduced in Java EE Security
-API. This interface defines the following three methods.
-
-[source,oac_no_warn]
-----
-AuthenticationStatus validateRequest(HttpServletRequest request,
-                                     HttpServletResponse response,
-                                     HttpMessageContext httpMessageContext
-                                    ) throws AuthenticationException;
- 
-AuthenticationStatus secureResponse(HttpServletRequest request,
-                                    HttpServletResponse response,
-                                    HttpMessageContext httpMessageContext
-                                    ) throws AuthenticationException;
- 
-void cleanSubject(HttpServletRequest request,
-                  HttpServletResponse response,
-                  HttpMessageContext   httpMessageContext);
-----
-
-`HttpAuthenticationMechanism` returns `AuthenticationStatus` to indicate
-the status of authentication request. Internally, it gets translated to
-corresponding JASPIC `AuthStatus` as shown below:
-
-* `AuthenticationStatus.NOT_DONE` to `AuthStatus.SUCCESS`
-* `AuthenticationStatus.SEND_CONTINUE` to `AuthStatus.SEND_CONTINUE`
-* `AuthenticationStatus.SUCCESS` to `AuthStatus.SUCCESS`
-* `AuthenticationStatus.SEND_FAILURE` to `AuthStatus.SEND_FAILURE`
-
-Each method of the `HttpAuthenticationMechanism` interface performs the
-same function as the corresponding `ServerAuth` methods. Unlike JASPIC,
-`HttpAuthenticationMechanism` is specified for the servlet container
-only. Only the `validateRequest()` must be implemented, for other two
-methods, default behaviors are specified.
-
-`validateRequest` allows a caller to authenticate. The request gets
-inspected inside `validateRequest` to read credential or any other
-information, or it can write to standard response with status of the
-authentication request or redirect the caller to an OAuth provider. Once
-the credential is validated, the result of the validation is
-communicated to the container using the `HttpMessageContext` parameter.
-
-[[GSDVG567]]
-
-Sample Http Authentication Mechanism
-
-The class `MyAuthenticationMechanism.java` is a sample
-`HttpAuthenticationMechanism` implementation. Note that only
-`validateRequest` method has been implemented, since Java EE Security
-API provides default implementation of other two methods. An application
-provider may choose to override the default implementation depending on
-the requirement.
-
-[source,oac_no_warn]
-----
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.security.enterprise.AuthenticationException;
-import javax.security.enterprise.AuthenticationStatus;
-import javax.security.enterprise.authentication.mechanism.http.HttpAuthenticationMechanism;
-import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext;
-import javax.security.enterprise.credential.UsernamePasswordCredential;
-import javax.security.enterprise.identitystore.CredentialValidationResult;
-import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
- 
-import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
- 
-@RequestScoped
-public class MyAuthenticationMechanism implements HttpAuthenticationMechanism {
- 
-    @Inject
-    private IdentityStoreHandler identityStoreHandler;
- 
-    @Override
-    public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException {
- 
-          // Get the (caller) name and password from the request 
-        // NOTE: This is for the smallest possible example only. In practice 
-        // putting the password in a request query parameter is highly 
-        // insecure and is discouraged. 
-        String name = request.getParameter("name");
-        String password = request.getParameter("password");
- 
-        if (name != null && password != null) {
- 
-            // Delegate the {credentials in -> identity data out} function to 
-            // the Identity Store 
-            CredentialValidationResult result = identityStoreHandler.validate(
-                new UsernamePasswordCredential(name, password));
- 
-            if (result.getStatus() == VALID) {
-                // Communicate the details of the authenticated user to the 
-                // container. 
-                response.addHeader("Authentication Mechanism", "MyAuthenticationMechanism");
-                return httpMessageContext.notifyContainerAboutLogin(
-                    result.getCallerPrincipal(), result.getCallerGroups());
-            } else {
-                return httpMessageContext.responseUnauthorized();
-            }
-        }
- 
-        return httpMessageContext.doNothing();
-    }
- 
-}
-----
-
-[[gizfz]][[GSDVG00381]][[the-glassfish-server-and-jsr-196]]
-
-The GlassFish Server and JSR 196
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server implements the Servlet Container Profile of JSR
-196, Java Authentication Service Provider Interface for Containers. JSR
-196 defines a standard service provider interface (SPI) that extends the
-concepts of the Java Authentication and Authorization Service (JAAS) to
-enable pluggability of message authentication modules in message
-processing runtimes. The JSR 196 standard defines profiles that
-establish contracts for the use of the SPI in specific contexts. The
-Servlet Container Profile of JSR 196 defines the use of the SPI by a
-Servlet container such that:
-
-* The resulting container can be configured with new authentication
-mechanisms.
-* The container employs the configured mechanisms in its enforcement of
-the declarative servlet security model (declared in a `web.xml` file
-using `security-constraint` elements).
-
-The JSR 196 specification defines a simple message processing model
-composed of four interaction points:
-
-1.  `secureRequest` on the client
-2.  `validateRequest` on the server
-3.  `secureResponse` on the server
-4.  `validateResponse` on the client
-
-A message processing runtime uses the SPI at these interaction points to
-delegate the corresponding message security processing to authentication
-providers, also called authentication modules, integrated into the
-runtime by way of the SPI.
-
-A compatible server-side message processing runtime, such as the
-GlassFish Server servlet container, supports the `validateRequest` and
-`secureResponse` interaction points of the message processing model. The
-servlet container uses the SPI at these interaction points to delegate
-the corresponding message security processing to a server authentication
-module (SAM), integrated by the SPI into the container.
-
-[[gizdx]][[GSDVG00382]][[writing-a-server-authentication-module]]
-
-Writing a Server Authentication Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A key step in adding an authentication mechanism to a compatible
-server-side message processing runtime such as the GlassFish Server
-servlet container is acquiring a SAM that implements the desired
-authentication mechanism. One way to do that is to write the SAM
-yourself.
-
-A SAM implements the javax.security.auth.message.module.ServerAuthModule
-interface as defined by JSR 196. A SAM is invoked indirectly by the
-message processing runtime at the `validateRequest` and `secureResponse`
-interaction points. A SAM must implement the five methods of the
-ServerAuthModule interface:
-
-* `getSupportedMessageTypes` — An array of `Class` objects where each
-element defines a message type supported by the SAM. For a SAM to be
-compatible with the Servlet Container Profile, the returned array must
-include the `HttpServletRequest.class` and `HttpServletResponse.class`
-objects.
-* `initialize(MessagePolicy requestPolicy, MessagePolicy responsePolicy, CallbackHandler Map options)`
-— The container calls this method to provide the SAM with configuration
-values and with a `CallbackHandler`. The configuration values are
-returned in the policy arguments and in the options `Map`. The SAM uses
-`CallbackHandler` to access services, such as password validation,
-provided by the container.
-* `AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, Subject serviceSubject)`
-— The container calls this method to process each received
-`HttpServletRequest`. The request and its associated
-`HttpServletResponse` are passed by the container to the SAM in the
-`messageInfo` argument. The SAM processes the request and may establish
-the response to be returned by the container. The SAM uses the provided
-`Subject` arguments to convey its authentication results. The SAM
-returns different status values to control the container's invocation
-processing. The status values and the circumstances under which they are
-returned are as follows:
-
-** `AuthStatus.SUCCESS` is returned when the application request message
-is successfully validated. The container responds to this status value
-by using the returned client `Subject` to invoke the target of the
-request. When this value is returned, the SAM (provided a custom
-`AuthConfigProvider` is not being used) must use its `CallbackHandler`
-to handle a `CallerPrincipalCallback` using the `clientSubject` as an
-argument to the callback.
-
-** `AuthStatus.SEND_CONTINUE` indicates that message validation is
-incomplete and that the SAM has established a preliminary response as
-the response message in `messageInfo`. The container responds to this
-status value by sending the response to the client.
-
-** `AuthStatus.SEND_FAILURE` indicates that message validation failed
-and that the SAM has established an appropriate failure response message
-in `messageInfo`. The container responds to this status value by sending
-the response to the client.
-
-** `AuthStatus.SEND_SUCCESS` is not typically returned. This status
-value indicates the end of a multi-message security dialog originating
-after the service interaction and during the processing of the
-application response. The container responds to this status value by
-sending the response to the client. +
-The `validateRequest` method may also throw an `AuthException` to
-indicate that the message processing by the SAM failed without
-establishing a failure response message in `messageInfo`.
-* `secureResponse(MessageInfo messageInfo, Subject serviceSubject)` —
-The container calls this method before sending a response, resulting
-from an application invocation, to the client. The response is passed to
-the SAM in the `messageInfo` argument. In most cases, this method should
-just return the `SEND_SUCCESS` status.
-* `cleanSubject(MessageInfo messageInfo, Subject subject)` — This method
-removes the mechanism-specific principals, credentials, or both from the
-subject. This method is not currently called by the container. A
-legitimate implementation could remove all the principals from the
-argument subject.
-
-See the Servlet Container Profile section in the JSR 196 specification
-for additional background and details.
-
-[[gizeb]][[GSDVG00383]][[sample-server-authentication-module]]
-
-Sample Server Authentication Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The class `MySam.java` is a sample SAM implementation. Notice that the
-sample implements the five methods of the ServerAuthModule interface.
-This SAM implements an approximation of HTTP basic authentication.
-
-[source,oac_no_warn]
-----
-package tip.sam;
-
-   import java.io.IOException;
-   import java.util.Map;
-   import javax.security.auth.Subject;
-   import javax.security.auth.callback.Callback;
-   import javax.security.auth.callback.CallbackHandler;
-   import javax.security.auth.callback.UnsupportedCallbackException;
-   import javax.security.auth.message.AuthException;
-   import javax.security.auth.message.AuthStatus;
-   import javax.security.auth.message.MessageInfo;
-   import javax.security.auth.message.MessagePolicy;
-   import javax.security.auth.message.callback.CallerPrincipalCallback;
-   import javax.security.auth.message.callback.GroupPrincipalCallback;
-   import javax.security.auth.message.callback.PasswordValidationCallback;
-   import javax.security.auth.message.module.ServerAuthModule;
-   import javax.servlet.http.HttpServletRequest;
-   import javax.servlet.http.HttpServletResponse;
-   import org.apache.catalina.util.Base64;
-
-   public class MySam implements ServerAuthModule {
-
-      protected static final Class[]
-        supportedMessageTypes = new Class[]{
-          HttpServletRequest.class,
-          HttpServletResponse.class
-      };
-
-      private MessagePolicy requestPolicy;
-      private MessagePolicy responsePolicy;
-      private CallbackHandler handler;
-      private Map options;
-      private String realmName = null;
-      private String defaultGroup[] = null;
-      privte static final String REALM_PROPERTY_NAME =
-          "realm.name";
-      private static final String GROUP_PROPERTY_NAME =
-          "group.name";
-      private static final String BASIC = "Basic";
-      static final String AUTHORIZATION_HEADER =
-          "authorization";
-      static final String AUTHENTICATION_HEADER =
-          "WWW-Authenticate";
-
-      public void initialize(MessagePolicy reqPolicy,
-              MessagePolicy resPolicy,
-              CallbackHandler cBH, Map opts)
-              throws AuthException {
-          requestPolicy = reqPolicy;
-          responsePolicy = resPolicy;
-          handler = cBH;
-          options = opts;
-          if (options != null) {
-              realmName = (String)
-                  options.get(REALM_PROPERTY_NAME);
-              if (options.containsKey(GROUP_PROPERTY_NAME)) {
-                  defaultGroup = new String[]{(String)
-                      options.get(GROUP_PROPERTY_NAME)};
-              }
-          }
-      }
-
-      public Class[] getSupportedMessageTypes() {
-          return supportedMessageTypes;
-      }
-
-      public AuthStatus validateRequest(
-              MessageInfo msgInfo, Subject client,
-              Subject server) throws AuthException {
-          try {
-
-              String username =
-                  processAuthorizationToken(msgInfo, client);
-              if (username ==
-                  null && requestPolicy.isMandatory()) {
-                  return sendAuthenticateChallenge(msgInfo);
-              }
-
-             setAuthenticationResult(
-                 username, client, msgInfo);
-             return AuthStatus.SUCCESS;
-
-          } catch (Exception e) {
-              AuthException ae = new AuthException();
-              ae.initCause(e);
-              throw ae;
-          }
-      }
-
-      private String processAuthorizationToken(
-              MessageInfo msgInfo, Subject s)
-              throws AuthException {
-
-          HttpServletRequest request =
-                  (HttpServletRequest)
-                  msgInfo.getRequestMessage();
-
-          String token =
-                  request.getHeader(AUTHORIZATION_HEADER);
-
-          if (token != null && token.startsWith(BASIC + " ")) {
-
-              token = token.substring(6).trim();
-
-              // Decode and parse the authorization token
-              String decoded =
-                  new String(Base64.decode(token.getBytes()));
-
-              int colon = decoded.indexOf(':');
-              if (colon <= 0 || colon == decoded.length() - 1) {
-                  return (null);
-              }
-
-              String username = decoded.substring(0, colon);
-
-             // use the callback to ask the container to
-             // validate the password
-            PasswordValidationCallback pVC =
-                    new PasswordValidationCallback(s, username,
-                    decoded.substring(colon + 1).toCharArray());
-            try {
-                handler.handle(new Callback[]{pVC});
-                pVC.clearPassword();
-            } catch (Exception e) {
-                AuthException ae = new AuthException();
-                ae.initCause(e);
-                throw ae;
-            }
-
-            if (pVC.getResult()) {
-                return username;
-            }
-      }
-      return null;
-   }
-
-   private AuthStatus sendAuthenticateChallenge(
-           MessageInfo msgInfo) {
-
-       String realm = realmName;
-         // if the realm property is set use it,
-         // otherwise use the name of the server
-         // as the realm name.
-         if (realm == null) {
-
-          HttpServletRequest request =
-                  (HttpServletRequest)
-                  msgInfo.getRequestMessage();
-
-          realm = request.getServerName();
-        }
-
-       HttpServletResponse response =
-               (HttpServletResponse)
-               msgInfo.getResponseMessage();
-
-       String header = BASIC + " realm=\"" + realm + "\"";
-       response.setHeader(AUTHENTICATION_HEADER, header);
-       response.setStatus(
-               HttpServletResponse.SC_UNAUTHORIZED);
-       return AuthStatus.SEND_CONTINUE;
-   }
-
-   public AuthStatus secureResponse(
-           MessageInfo msgInfo, Subject service)
-           throws AuthException {
-       return AuthStatus.SEND_SUCCESS;
-   }
-
-   public void cleanSubject(MessageInfo msgInfo,
-           Subject subject)
-           throws AuthException {
-      if (subject != null) {
-          subject.getPrincipals().clear();
-      }
-   }
-
-   private static final String AUTH_TYPE_INFO_KEY =
-           "javax.servlet.http.authType";
-
-   // distinguish the caller principal
-   // and assign default groups
-   private void setAuthenticationResult(String name,
-           Subject s, MessageInfo m)
-           throws IOException,
-           UnsupportedCallbackException {
-       handler.handle(new Callback[]{
-           new CallerPrincipalCallback(s, name)
-       });
-       if (name != null) {
-         // add the default group if the property is set
-           if (defaultGroup != null) {
-               handler.handle(new Callback[]{
-                   new GroupPrincipalCallback(s, defaultGroup)
-               });
-           }
-           m.getMap().put(AUTH_TYPE_INFO_KEY, ""MySAM");
-       }
-   }
-  }
-----
-
-Note that the `initialize` method looks for the `group.name` and
-`realm.name` properties. The `group.name` property configures the
-default group assigned as a result of any successful authentication. The
-`realm.name` property defines the realm value sent back to the browser
-in the `WWW-Authenticate` challenge.
-
-[[gizfa]][[GSDVG00384]][[compiling-and-installing-a-server-authentication-module]]
-
-Compiling and Installing a Server Authentication Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Before you can use the sample SAM, you need to compile, install, and
-configure it. Then you can bind it to an application.
-
-To compile the SAM, include the SPI in your classpath. When the
-GlassFish Server is installed, the JAR file containing the SPI,
-`jmac-api.jar`, is installed in the as-install`/lib` directory. After
-you compile the SAM, install it by copying a JAR file containing the
-compiled SAM to the as-install`/lib` directory.
-
-[[gizfe]][[GSDVG00385]][[configuring-a-server-authentication-module]]
-
-Configuring a Server Authentication Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure a SAM in one of these ways:
-
-* In the Administration Console, open the Security component under the
-relevant configuration and go to the Message Security page. Set the
-following options:
-
-** Authentication Layer — `HttpServlet`
-
-** Provider Type — `server` or `client-server`
-
-** Provider ID — Specify a unique name for the SAM, for example `MySAM`
-
-** Class Name — Specify the fully qualified class name, for example
-`tip.sam.MySam`
-
-** Additional Property — Name: `group-name` Value: `user`
-
-** Additional Property — Name: `realm-name` Value: `Sam` +
-For details, click the Help button in the Administration Console.
-* Use the `asadmin create-message-security-provider` command to
-configure a SAM. Set the following options:
-
-** `--layer HttpServlet`
-
-** `--providertype server` or `--providertype client-server`
-
-** `--classname tip.sam.MySam`
-
-** `--property group-name=user:realm-name=Sam`
-
-** Provider name operand — Specify a unique name for the SAM, for
-example `MySAM` +
-For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-[[gizfm]][[GSDVG00386]][[binding-a-server-authentication-module-to-your-application]]
-
-Binding a Server Authentication Module to Your Application
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-After you install and configure the SAM, you can bind it for use by the
-container on behalf of one or more of your applications. You have two
-options in how you bind the SAM, depending on whether you are willing to
-repackage and redeploy your application:
-
-* If you are willing to repackage and redeploy, you can bind the SAM
-using the `glassfish-web.xml` file. Set the value of the
-`httpservlet-security-provider` attribute of the `glassfish-web-app`
-element to the SAM's configured provider ID, for example, `MySAM`. For
-more information about the `glassfish-web.xml` file, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]. This option leverages the native `AuthConfigProvider`
-implementation that ships with the GlassFish Server.
-* Another approach is to develop your own `AuthConfigProvider` and
-register it with the GlassFish Server `AuthConfigFactory` for use on
-behalf of your applications. For example, a simple `AuthConfigProvider`
-can obtain, through its initialization properties, the classname of a
-SAM to configure on behalf of the applications for which the provider is
-registered. You can find a description of the functionality of an
-`AuthConfigProvider` and of the registration facilities provided by an
-`AuthConfigFactory` in the JSR 196 specification.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/setting-up-dev-env.adoc b/docs/application-development-guide/src/main/jbake/content/setting-up-dev-env.adoc
deleted file mode 100644
index 2364c49..0000000
--- a/docs/application-development-guide/src/main/jbake/content/setting-up-dev-env.adoc
+++ /dev/null
@@ -1,208 +0,0 @@
-type=page
-status=published
-title=Setting Up a Development Environment
-next=class-loaders.html
-prev=part-tasks-and-tools.html
-~~~~~~
-Setting Up a Development Environment
-====================================
-
-[[GSDVG00002]][[beaaq]]
-
-
-[[setting-up-a-development-environment]]
-1 Setting Up a Development Environment
---------------------------------------
-
-This chapter gives guidelines for setting up an application development
-environment in the Oracle GlassFish Server. Setting up an environment
-for creating, assembling, deploying, and debugging your code involves
-installing the mainstream version of the GlassFish Server and making use
-of development tools. In addition, sample applications are available.
-
-The following topics are addressed here:
-
-* link:#beaar[Installing and Preparing the Server for Development]
-* link:#beaas[High Availability Features]
-* link:#beaat[Development Tools]
-* link:#beabf[Sample Applications]
-
-[[beaar]][[GSDVG00090]][[installing-and-preparing-the-server-for-development]]
-
-Installing and Preparing the Server for Development
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For more information about GlassFish Server installation, see the
-link:../installation-guide/toc.html#GSING[GlassFish Server Open Source Edition Installation Guide].
-
-The following components are included in the full installation.
-
-* JDK
-* GlassFish Server core
-
-** Java Platform, Standard Edition (Java SE) 8
-
-** Java EE 8 compliant application server
-
-** Administration Console
-
-** `asadmin` utility
-
-** Other development and deployment tools
-
-** Open Message Queue software
-
-** Apache http://db.apache.org/derby/manuals[Derby database]
-
-** Load balancer plug-ins for web servers
-
-The NetBeans Integrated Development Environment (IDE) bundles the
-GlassFish edition of the GlassFish Server, so information about this IDE
-is provided as well.
-
-After you have installed GlassFish Server, you can further optimize the
-server for development in these ways:
-
-* Locate utility classes and libraries so they can be accessed by the
-proper class loaders. For more information, see
-link:class-loaders.html#beadj[Using the Common Class Loader].
-* Set up debugging. For more information, see
-link:debugging-apps.html#beafc[Debugging Applications].
-* Configure the Virtual Machine for the Java platform (JVM software).
-For more information, see "link:../administration-guide/jvm.html#GSADG00007[Administering the Virtual
-Machine for the Java Platform]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-[[beaas]][[GSDVG00091]][[high-availability-features]]
-
-High Availability Features
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-High availability features such as load balancing and session failover
-are discussed in detail in the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source
-Edition High Availability Administration Guide]. This book describes the
-following features in the following sections:
-
-* For information about HTTP session persistence, see
-link:webapps.html#beahe[Distributed Sessions and Persistence].
-* For information about checkpointing of the stateful session bean
-state, see link:ejb.html#beaib[Stateful Session Bean Failover].
-* For information about failover and load balancing for Java clients,
-see link:java-clients.html#beakt[Developing Java Clients].
-* For information about load balancing for message-driven beans, see
-link:jms.html#beaop[Load-Balanced Message Inflow].
-
-[[beaat]][[GSDVG00092]][[development-tools]]
-
-Development Tools
-~~~~~~~~~~~~~~~~~
-
-The following general tools are provided with the GlassFish Server:
-
-* link:#beaau[The `asadmin` Command]
-* link:#beaav[The Administration Console]
-
-The following development tools are provided with the GlassFish Server
-or downloadable from Oracle:
-
-* link:#beaba[The Migration Tool]
-* link:#beaaw[The NetBeans IDE]
-
-The following third-party tools might also be useful:
-
-* link:#beabb[Debugging Tools]
-* link:#beabc[Profiling Tools]
-
-[[beaau]][[GSDVG00333]][[the-asadmin-command]]
-
-The `asadmin` Command
-^^^^^^^^^^^^^^^^^^^^^
-
-The `asadmin` command allows you to configure a local or remote server
-and perform both administrative and development tasks at the command
-line. For general information about `asadmin`, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-The `asadmin` command is located in the as-install`/bin` directory. Type
-`asadmin help` for a list of subcommands.
-
-[[beaav]][[GSDVG00334]][[the-administration-console]]
-
-The Administration Console
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Administration Console lets you configure the server and perform
-both administrative and development tasks using a web browser. For
-general information about the Administration Console, click the Help
-button in the Administration Console. This displays the GlassFish Server
-online help.
-
-To access the Administration Console, type `http://`host`:4848` in your
-browser. The host is the name of the machine on which the GlassFish
-Server is running. By default, the host is `localhost`. For example:
-
-[source,oac_no_warn]
-----
-http://localhost:4848
-----
-
-[[beaba]][[GSDVG00337]][[the-migration-tool]]
-
-The Migration Tool
-^^^^^^^^^^^^^^^^^^
-
-The Migration Tool converts and reassembles Java EE applications and
-modules developed on other application servers. This tool also generates
-a report listing how many files are successfully and unsuccessfully
-migrated, with reasons for migration failure. For more information and
-to download the Migration Tool, see
-`http://java.sun.com/j2ee/tools/migration/index.html`.
-
-[[beaaw]][[GSDVG00338]][[the-netbeans-ide]]
-
-The NetBeans IDE
-^^^^^^^^^^^^^^^^
-
-The NetBeans IDE allows you to create, assemble, and debug code from a
-single, easy-to-use interface. The GlassFish edition of the GlassFish
-Server is bundled with the NetBeans 6.1 IDE. To download the NetBeans
-IDE, see `http://www.netbeans.org`. This site also provides
-documentation on how to use the NetBeans IDE with the bundled GlassFish
-edition of the GlassFish Server.
-
-You can also use the GlassFish Server with the Java Studio Enterprise
-software, which is built on the NetBeans IDE. For more information, see
-`http://developers.sun.com/jsenterprise/`.
-
-[[beabb]][[GSDVG00340]][[debugging-tools]]
-
-Debugging Tools
-^^^^^^^^^^^^^^^
-
-You can use several debugging tools with the GlassFish Server. For more
-information, see link:debugging-apps.html#beafc[Debugging Applications].
-
-[[beabc]][[GSDVG00341]][[profiling-tools]]
-
-Profiling Tools
-^^^^^^^^^^^^^^^
-
-You can use several profilers with the GlassFish Server. For more
-information, see link:debugging-apps.html#beafn[Profiling Tools].
-
-[[beabf]][[GSDVG00093]][[sample-applications]]
-
-Sample Applications
-~~~~~~~~~~~~~~~~~~~
-
-Sample applications that you can examine and deploy to the GlassFish
-Server are included as part of the Java EE 8 SDK bundle. The samples are
-also available from `https://github.com/javaee/glassfish-samples`.
-
-Most GlassFish Server samples have the following directory structure:
-
-* The `docs` directory contains instructions for how to use the sample.
-* The `pom.xml` file defines Maven targets for the sample.
-* The `src/` directory contains source code for the sample.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/title.adoc b/docs/application-development-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 5e9fbf4..0000000
--- a/docs/application-development-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,51 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Application Development Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Application Development Guide, Release 5.1
-===================================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Application Development Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This Application Development Guide describes how to create and run Java
-Platform, Enterprise Edition (Java EE platform) applications that follow
-the open Java standards model for Java EE components and APIs in the
-Eclipse GlassFish Server environment. Topics include
-developer tools, security, and debugging. This book is intended for use
-by software developers who create, assemble, and deploy Java EE
-applications using Oracle servers and software.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Application Development Guide,
-Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/application-development-guide/src/main/jbake/content/transaction-service.adoc b/docs/application-development-guide/src/main/jbake/content/transaction-service.adoc
deleted file mode 100644
index 98bc617..0000000
--- a/docs/application-development-guide/src/main/jbake/content/transaction-service.adoc
+++ /dev/null
@@ -1,405 +0,0 @@
-type=page
-status=published
-title=Using the Transaction Service
-next=jndi.html
-prev=jdbc.html
-~~~~~~
-Using the Transaction Service
-=============================
-
-[[GSDVG00018]][[beanm]]
-
-
-[[using-the-transaction-service]]
-15 Using the Transaction Service
---------------------------------
-
-The Java EE platform provides several abstractions that simplify
-development of dependable transaction processing for applications. This
-chapter discusses Java EE transactions and transaction support in the
-Oracle GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#giybi[Handling Transactions with Databases]
-* link:#beaje[Handling Transactions with Enterprise Beans]
-* link:#gknrh[Handling Transactions with the Java Message Service]
-* link:#gaxit[The Transaction Manager, the Transaction Synchronization
-Registry, and `UserTransaction`]
-
-For more information about the Java Transaction API (JTA) and Java
-Transaction Service (JTS), see "link:../administration-guide/transactions.html#GSADG00022[Administering
-Transactions]" in GlassFish Server Open Source Edition Administration
-Guide and the following sites:
-`http://www.oracle.com/technetwork/java/javaee/jta/index.html` and
-`http://www.oracle.com/technetwork/java/javaee/tech/index.html`.
-
-You might also want to read
-"https://javaee.github.io/tutorial/transactions.html[Transactions]" in
-The Java EE 8 Tutorial.
-
-[[giybi]][[GSDVG00188]][[handling-transactions-with-databases]]
-
-Handling Transactions with Databases
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#beamv[Using JDBC Transaction Isolation Levels]
-* link:#beamu[Using Non-Transactional Connections]
-
-[[beamv]][[GSDVG00511]][[using-jdbc-transaction-isolation-levels]]
-
-Using JDBC Transaction Isolation Levels
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Not all database vendors support all transaction isolation levels
-available in the JDBC API. The GlassFish Server permits specifying any
-isolation level your database supports. The following table defines
-transaction isolation levels.
-
-[[GSDVG559]][[sthref27]][[fvyoi]]
-
-
-Table 15-1 Transaction Isolation Levels
-
-[width="100%",cols="27%,28%,45%",options="header",]
-|=======================================================================
-|Transaction Isolation Level |`getTransactionIsolation` Return Value
-|Description
-|`read-uncommitted` |`1` |Dirty reads, non-repeatable reads, and phantom
-reads can occur.
-
-|`read-committed` |`2` |Dirty reads are prevented; non-repeatable reads
-and phantom reads can occur.
-
-|`repeatable-read` |`4` |Dirty reads and non-repeatable reads are
-prevented; phantom reads can occur.
-
-|`serializable` |`8` |Dirty reads, non-repeatable reads and phantom
-reads are prevented.
-|=======================================================================
-
-
-By default, the transaction isolation level is undefined (empty), and
-the JDBC driver's default isolation level is used. You can specify the
-transaction isolation level in the following ways:
-
-* Select the value from the Transaction Isolation drop-down list on the
-New JDBC Connection Pool or Edit Connection Pool page in the
-Administration Console. For more information, click the Help button in
-the Administration Console.
-* Specify the `--isolationlevel` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `transaction-isolation-level` option in the `asadmin set`
-command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.transaction-isolation-level=serializable
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-Note that you cannot call `setTransactionIsolation` during a
-transaction.
-
-You can set the default transaction isolation level for a JDBC
-connection pool. For details, see "link:../administration-guide/jdbc.html#GSADG00420[To Create a JDBC
-Connection Pool]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-To verify that a level is supported by your database management system,
-test your database programmatically using the
-`supportsTransactionIsolationLevel` method in
-`java.sql.DatabaseMetaData`, as shown in the following example:
-
-[source,oac_no_warn]
-----
-InitialContext ctx = new InitialContext();
-DataSource ds = (DataSource)
-ctx.lookup("jdbc/MyBase");
-Connection con = ds.getConnection();
-DatabaseMetaData dbmd = con.getMetaData();
-if (dbmd.supportsTransactionIsolationLevel(TRANSACTION_SERIALIZABLE)
-{ Connection.setTransactionIsolation(TRANSACTION_SERIALIZABLE); }
-----
-
-For more information about these isolation levels and what they mean,
-see the JDBC API specification.
-
-Setting or resetting the transaction isolation level for every
-`getConnection` call can degrade performance. So by default the
-isolation level is not guaranteed.
-
-Applications that change the transaction isolation level on a pooled
-connection programmatically risk polluting the JDBC connection pool,
-which can lead to errors. If an application changes the isolation level,
-enabling the `is-isolation-level-guaranteed` setting in the pool can
-minimize such errors.
-
-You can guarantee the transaction isolation level in the following ways:
-
-* Check the Isolation Level Guaranteed box on the New JDBC Connection
-Pool or Edit Connection Pool page in the Administration Console. For
-more information, click the Help button in the Administration Console.
-* Specify the `--isisolationguaranteed` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `is-isolation-level-guaranteed` option in the
-`asadmin set` command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.is-isolation-level-guaranteed=true
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-
-[[beamu]][[GSDVG00512]][[using-non-transactional-connections]]
-
-Using Non-Transactional Connections
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can specify a non-transactional database connection in any of these
-ways:
-
-* Check the Non-Transactional Connections box on the New JDBC Connection
-Pool or Edit Connection Pool page in the Administration Console. The
-default is unchecked. For more information, click the Help button in the
-Administration Console.
-* Specify the `--nontransactionalconnections` option in the
-`asadmin create-jdbc-connection-pool` command. For more information, see
-the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-* Specify the `non-transactional-connections` option in the
-`asadmin set` command. For example: +
-[source,oac_no_warn]
-----
-asadmin set domain1.resources.jdbc-connection-pool.DerbyPool.non-transactional-connections=true
-----
-For more information, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
-* Use the `DataSource` implementation in the GlassFish Server, which
-provides a `getNonTxConnection` method. This method retrieves a JDBC
-connection that is not in the scope of any transaction. There are two
-variants. +
-[source,oac_no_warn]
-----
-public java.sql.Connection getNonTxConnection() throws java.sql.SQLException
-
-public java.sql.Connection getNonTxConnection(String user, String password) 
-   throws java.sql.SQLException
-----
-* Create a resource with the JNDI name ending in `__nontx`. This forces
-all connections looked up using this resource to be non transactional.
-
-Typically, a connection is enlisted in the context of the transaction in
-which a `getConnection` call is invoked. However, a non-transactional
-connection is not enlisted in a transaction context even if a
-transaction is in progress.
-
-The main advantage of using non-transactional connections is that the
-overhead incurred in enlisting and delisting connections in transaction
-contexts is avoided. However, use such connections carefully. For
-example, if a non-transactional connection is used to query the database
-while a transaction is in progress that modifies the database, the query
-retrieves the unmodified data in the database. This is because the
-in-progress transaction hasn't committed. For another example, if a
-non-transactional connection modifies the database and a transaction
-that is running simultaneously rolls back, the changes made by the
-non-transactional connection are not rolled back.
-
-Here is a typical use case for a non-transactional connection: a
-component that is updating a database in a transaction context spanning
-over several iterations of a loop can refresh cached data by using a
-non-transactional connection to read data before the transaction
-commits.
-
-[[beaje]][[GSDVG00189]][[handling-transactions-with-enterprise-beans]]
-
-Handling Transactions with Enterprise Beans
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes the transaction support built into the Enterprise
-JavaBeans programming model for the GlassFish Server.
-
-As a developer, you can write an application that updates data in
-multiple databases distributed across multiple sites. The site might use
-EJB servers from different vendors.
-
-The following topics are addressed here:
-
-* link:#beajf[Flat Transactions]
-* link:#beajg[Global and Local Transactions]
-* link:#beajh[Commit Options]
-* link:#beaht[Bean-Level Container-Managed Transaction Timeouts]
-
-[[beajf]][[GSDVG00513]][[flat-transactions]]
-
-Flat Transactions
-^^^^^^^^^^^^^^^^^
-
-The Enterprise JavaBeans Specification, v3.0 requires support for flat
-(as opposed to nested) transactions. In a flat transaction, each
-transaction is decoupled from and independent of other transactions in
-the system. Another transaction cannot start in the same thread until
-the current transaction ends.
-
-Flat transactions are the most prevalent model and are supported by most
-commercial database systems. Although nested transactions offer a finer
-granularity of control over transactions, they are supported by far
-fewer commercial database systems.
-
-[[beajg]][[GSDVG00514]][[global-and-local-transactions]]
-
-Global and Local Transactions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Both local and global transactions are demarcated using the
-javax.transaction.UserTransaction interface, which the client must use.
-Local transactions bypass the XA commit protocol and are faster. For
-more information, see link:#gaxit[The Transaction Manager, the
-Transaction Synchronization Registry, and `UserTransaction`].
-
-[[beajh]][[GSDVG00515]][[commit-options]]
-
-Commit Options
-^^^^^^^^^^^^^^
-
-The EJB protocol is designed to give the container the flexibility to
-select the disposition of the instance state at the time a transaction
-is committed. This allows the container to best manage caching an entity
-object's state and associating an entity object identity with the EJB
-instances.
-
-There are three commit-time options:
-
-* Option A - The container caches a ready instance between transactions.
-The container ensures that the instance has exclusive access to the
-state of the object in persistent storage. +
-In this case, the container does not have to synchronize the instance's
-state from the persistent storage at the beginning of the next
-transaction. +
-
-[NOTE]
-==================================================================
-
-Commit option A is not supported for this GlassFish Server release.
-
-==================================================================
-
-* Option B - The container caches a ready instance between transactions,
-but the container does not ensure that the instance has exclusive access
-to the state of the object in persistent storage. This is the default. +
-In this case, the container must synchronize the instance's state by
-invoking `ejbLoad` from persistent storage at the beginning of the next
-transaction.
-* Option C - The container does not cache a ready instance between
-transactions, but instead returns the instance to the pool of available
-instances after a transaction has completed. +
-The life cycle for every business method invocation under commit option
-C looks like this. +
-[source,oac_no_warn]
-----
-ejbActivate   ejbLoad   business method   ejbStore   ejbPassivate
-----
-If there is more than one transactional client concurrently accessing
-the same entity, the first client gets the ready instance and subsequent
-concurrent clients get new instances from the pool.
-
-The `glassfish-ejb-jar.xml` deployment descriptor has an element,
-`commit-option`, that specifies the commit option to be used. Based on
-the specified commit option, the appropriate handler is instantiated.
-
-[[beaht]][[GSDVG00516]][[bean-level-container-managed-transaction-timeouts]]
-
-Bean-Level Container-Managed Transaction Timeouts
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The transaction timeout for the domain is specified using the
-Transaction Timeout setting of the Transaction Service. A transaction
-started by the container must commit (or rollback) within this time,
-regardless of whether the transaction is suspended (and resumed), or the
-transaction is marked for rollback. The default value, `0`, specifies
-that the server waits indefinitely for a transaction to complete.
-
-To override this timeout for an individual bean, use the optional
-`cmt-timeout-in-seconds` element in `glassfish-ejb-jar.xml`. The default
-value, `0`, specifies that the Transaction Service timeout is used. The
-value of `cmt-timeout-in-seconds` is used for all methods in the bean
-that start a new container-managed transaction. This value is not used
-if the bean joins a client transaction.
-
-[[gknrh]][[GSDVG00190]][[handling-transactions-with-the-java-message-service]]
-
-Handling Transactions with the Java Message Service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#beaoq[Transactions and Non-Persistent Messages]
-* link:#gdyya[Using the ConfigurableTransactionSupport Interface]
-
-[[beaoq]][[GSDVG00517]][[transactions-and-non-persistent-messages]]
-
-Transactions and Non-Persistent Messages
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-During transaction recovery, non-persistent messages might be lost. If
-the broker fails between the transaction manager's prepare and commit
-operations, any non-persistent message in the transaction is lost and
-cannot be delivered. A message that is not saved to a persistent store
-is not available for transaction recovery.
-
-[[gdyya]][[GSDVG00518]][[using-the-configurabletransactionsupport-interface]]
-
-Using the ConfigurableTransactionSupport Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Java EE Connector 1.6 specification allows a resource adapter to use
-the `transaction-support` attribute to specify the level of transaction
-support that the resource adapter handles. However, the resource adapter
-vendor does not have a mechanism to figure out the current transactional
-context in which a `ManagedConnectionFactory` is used.
-
-If a `ManagedConnectionFactory` implements an optional interface called
-com.sun.appserv.connectors.spi.ConfigurableTransactionSupport , the
-GlassFish Server notifies the `ManagedConnectionFactory` of the
-`transaction-support` configured for the connector connection pool when
-the `ManagedConnectionFactory` instance is created for the pool.
-Connections obtained from the pool can then be used with a transaction
-level at or lower than the configured value. For example, a connection
-obtained from a pool that is set to `XA_TRANSACTION` could be used as a
-LOCAL resource in a last-agent-optimized transaction or in a
-non-transactional context.
-
-[[gaxit]][[GSDVG00191]][[the-transaction-manager-the-transaction-synchronization-registry-and-usertransaction]]
-
-The Transaction Manager, the Transaction Synchronization Registry, and `UserTransaction`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To access a `UserTransaction` instance, you can either look it up using
-the `java:comp/``UserTransaction` JNDI name or inject it using the
-`@Resource` annotation.
-
-Accessing a `DataSource` using the `Synchronization.beforeCompletion()`
-method requires setting Allow Non Component Callers to `true`. The
-default is `false`. For more information about non-component callers,
-see link:jdbc.html#gavro[Allowing Non-Component Callers].
-
-If possible, you should use the
-javax.transaction.TransactionSynchronizationRegistry interface instead
-of javax.transaction.TransactionManager , for portability. You can look
-up the implementation of this interface by using the JNDI name
-`java:comp/``TransactionSynchronizationRegistry`. For details, see the
-https://javaee.github.io/javaee-spec/javadocs/[`TransactionSynchronizationRegistryInterface`]
-API documentation (`https://javaee.github.io/javaee-spec/javadocs/`) and
-http://www.jcp.org/en/jsr/detail?id=907[Java Specification Request (JSR)
-907] (`http://www.jcp.org/en/jsr/detail?id=907`).
-
-If accessing the javax.transaction.TransactionManager implementation is
-absolutely necessary, you can look up the GlassFish Server
-implementation of this interface using the JNDI name
-java:appserver/TransactionManager . This lookup should not be used by
-the application code.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/webapps.adoc b/docs/application-development-guide/src/main/jbake/content/webapps.adoc
deleted file mode 100644
index a5045b5..0000000
--- a/docs/application-development-guide/src/main/jbake/content/webapps.adoc
+++ /dev/null
@@ -1,2205 +0,0 @@
-type=page
-status=published
-title=Developing Web Applications
-next=ejb.html
-prev=jpa.html
-~~~~~~
-Developing Web Applications
-===========================
-
-[[GSDVG00009]][[beafs]]
-
-
-[[developing-web-applications]]
-7 Developing Web Applications
------------------------------
-
-This chapter describes how web applications are supported in the Oracle
-GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#beagj[Using Servlets]
-* link:#beagu[Using JavaServer Pages]
-* link:#beaha[Creating and Managing Sessions]
-* link:#ggrgt[Using Comet]
-* link:#beaft[Advanced Web Application Features]
-
-For general information about web applications, see
-"https://javaee.github.io/tutorial/partwebtier.html[The Web Tier]" in
-The Java EE 8 Tutorial.
-
-
-[NOTE]
-=======================================================================
-
-The Web Profile of the GlassFish Server supports the EJB 3.1 Lite
-specification, which allows enterprise beans within web applications,
-among other features. The full GlassFish Server supports the entire EJB
-3.1 specification. For details, see
-http://jcp.org/en/jsr/detail?id=318[JSR 318]
-(`http://jcp.org/en/jsr/detail?id=318`).
-
-=======================================================================
-
-
-[[beagj]][[GSDVG00140]][[using-servlets]]
-
-Using Servlets
-~~~~~~~~~~~~~~
-
-GlassFish Server supports the Java Servlet Specification version 4.0.
-
-
-[NOTE]
-=======================================================================
-
-Servlet API version 4.0 is fully backward compatible with versions 3.0,
-2.3, 2.4, and 2.5, so all existing servlets should work without
-modification or recompilation.
-
-=======================================================================
-
-
-To develop servlets, use the Java Servlet API. For information about
-using the Java Servlet API, see the documentation at
-`http://www.oracle.com/technetwork/java/javaee/servlet/index.html`.
-
-The GlassFish Server provides the `wscompile` and `wsdeploy` tools to
-help you implement a web service endpoint as a servlet. For more
-information about these tools, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open
-Source Edition Reference Manual].
-
-This section describes how to create effective servlets to control
-application interactions running on a GlassFish Server, including
-standard-based servlets. In addition, this section describes the
-GlassFish Server features to use to augment the standards.
-
-The following topics are addressed here:
-
-* link:#beagm[Caching Servlet Results]
-* link:#beagr[About the Servlet Engine]
-
-[[beagm]][[GSDVG00397]][[caching-servlet-results]]
-
-Caching Servlet Results
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server can cache the results of invoking a servlet, a JSP,
-or any URL pattern to make subsequent invocations of the same servlet,
-JSP, or URL pattern faster. The GlassFish Server caches the request
-results for a specific amount of time. In this way, if another data call
-occurs, the GlassFish Server can return the cached data instead of
-performing the operation again. For example, if your servlet returns a
-stock quote that updates every 5 minutes, you set the cache to expire
-after 300 seconds.
-
-Whether to cache results and how to cache them depends on the data
-involved. For example, it makes no sense to cache the results of a quiz
-submission, because the input to the servlet is different each time.
-However, it makes sense to cache a high level report showing demographic
-data taken from quiz results that is updated once an hour.
-
-To define how a GlassFish Server web application handles response
-caching, you edit specific fields in the `glassfish-web.xml` file.
-
-
-[NOTE]
-===========================================
-
-A servlet that uses caching is not portable.
-
-===========================================
-
-
-For Javadoc tool pages relevant to caching servlet results, see the
-`com.sun.appserv.web.cache` package.
-
-For information about JSP caching, see link:#beagw[JSP Caching].
-
-The following topics are addressed here:
-
-* link:#beagn[Caching Features]
-* link:#beago[Default Cache Configuration]
-* link:#beagp[Caching Example]
-* link:#beagq[The CacheKeyGenerator Interface]
-
-[[beagn]][[GSDVG00251]][[caching-features]]
-
-Caching Features
-++++++++++++++++
-
-The GlassFish Server has the following web application response caching
-capabilities:
-
-* Caching is configurable based on the servlet name or the URI.
-* When caching is based on the URI, this includes user specified
-parameters in the query string. For example, a response from
-`/garden/catalog?category=roses` is different from a response from
-`/garden/catalog?category=lilies`. These responses are stored under
-different keys in the cache.
-* Cache size, entry timeout, and other caching behaviors are
-configurable.
-* Entry timeout is measured from the time an entry is created or
-refreshed. To override this timeout for an individual cache mapping,
-specify the `cache-mapping` subelement `timeout`.
-* To determine caching criteria programmatically, write a class that
-implements the com.sun.appserv.web.cache.CacheHelper interface. For
-example, if only a servlet knows when a back end data source was last
-modified, you can write a helper class to retrieve the last modified
-timestamp from the data source and decide whether to cache the response
-based on that timestamp.
-* To determine cache key generation programmatically, write a class that
-implements the com.sun.appserv.web.cache.CacheKeyGenerator interface.
-See link:#beagq[The CacheKeyGenerator Interface].
-* All non-ASCII request parameter values specified in cache key elements
-must be URL encoded. The caching subsystem attempts to match the raw
-parameter values in the request query string.
-* Since newly updated classes impact what gets cached, the web container
-clears the cache during dynamic deployment or reloading of classes.
-* The following `HttpServletRequest` request attributes are exposed.
-
-** `com.sun.appserv.web.cachedServletName`, the cached servlet target
-
-** `com.sun.appserv.web.cachedURLPattern`, the URL pattern being cached
-* Results produced by resources that are the target of a
-`RequestDispatcher.include()` or `RequestDispatcher.forward()` call are
-cached if caching has been enabled for those resources. For details, see
-"link:../application-deployment-guide/dd-elements.html#GSDPG00101[cache-mapping]" in GlassFish Server Open Source
-Edition Application Deployment Guide and "link:../application-deployment-guide/dd-elements.html#GSDPG00140[dispatcher]"
-in GlassFish Server Open Source Edition Application Deployment Guide.
-These are elements in the `glassfish-web.xml` file.
-
-[[beago]][[GSDVG00252]][[default-cache-configuration]]
-
-Default Cache Configuration
-+++++++++++++++++++++++++++
-
-If you enable caching but do not provide any special configuration for a
-servlet or JSP, the default cache configuration is as follows:
-
-* The default cache timeout is 30 seconds.
-* Only the HTTP GET method is eligible for caching.
-* HTTP requests with cookies or sessions automatically disable caching.
-* No special consideration is given to `Pragma:`, `Cache-control:`, or
-`Vary:` headers.
-* The default key consists of the Servlet Path (minus `pathInfo` and the
-query string).
-* A "least recently used" list is maintained to evict cache entries if
-the maximum cache size is exceeded.
-* Key generation concatenates the servlet path with key field values, if
-any are specified.
-* Results produced by resources that are the target of a
-`RequestDispatcher.include()` or `RequestDispatcher.forward()` call are
-never cached.
-
-[[beagp]][[GSDVG00253]][[caching-example]]
-
-Caching Example
-+++++++++++++++
-
-Here is an example cache element in the `glassfish-web.xml` file:
-
-[source,oac_no_warn]
-----
-<cache max-capacity="8192" timeout="60">
-<cache-helper name="myHelper" class-name="MyCacheHelper"/>
-<cache-mapping>
-    <servlet-name>myservlet</servlet-name>
-    <timeout name="timefield">120</timeout>
-    <http-method>GET</http-method>
-    <http-method>POST</http-method>
-</cache-mapping>
-<cache-mapping>
-    <url-pattern> /catalog/* </url-pattern>
-    <!-- cache the best selling category; cache the responses to
-       -- this resource only when the given parameters exist. Cache
-       -- only when the catalog parameter has 'lilies' or 'roses'
-       -- but no other catalog varieties:
-      -- /orchard/catalog?best&category='lilies'
-      -- /orchard/catalog?best&category='roses'
-      -- but not the result of
-       -- /orchard/catalog?best&category='wild'
-    -->
-    <constraint-field name='best' scope='request.parameter'/>
-    <constraint-field name='category' scope='request.parameter'>
-        <value> roses </value>
-        <value> lilies </value>
-    </constraint-field>
-     <!-- Specify that a particular field is of given range but the
-       -- field doesn't need to be present in all the requests -->
-    <constraint-field name='SKUnum' scope='request.parameter'>
-        <value match-expr='in-range'> 1000 - 2000 </value>
-    </constraint-field>
-    <!-- cache when the category matches with any value other than
-       -- a specific value -->
-    <constraint-field name="category" scope="request.parameter>
-        <value match-expr="equals" cache-on-match-failure="true">
-       bogus
-        </value>
-    </constraint-field>
-</cache-mapping>
-<cache-mapping>
-    <servlet-name> InfoServlet </servlet-name>
-    <cache-helper-ref>myHelper</cache-helper-ref>
-</cache-mapping>
-</cache>
-----
-
-For more information about the `glassfish-web.xml` caching settings, see
-"link:../application-deployment-guide/dd-elements.html#GSDPG00097[cache]" in GlassFish Server Open Source Edition
-Application Deployment Guide.
-
-[[beagq]][[GSDVG00254]][[the-cachekeygenerator-interface]]
-
-The CacheKeyGenerator Interface
-+++++++++++++++++++++++++++++++
-
-The built-in default CacheHelper implementation allows web applications
-to customize the key generation. An application component (in a servlet
-or JSP) can set up a custom CacheKeyGenerator implementation as an
-attribute in the `ServletContext`.
-
-The name of the context attribute is configurable as the `value` of the
-`cacheKeyGeneratorAttrName` property in the `default-helper` element of
-the `glassfish-web.xml` deployment descriptor. For more information, see
-"link:../application-deployment-guide/dd-elements.html#GSDPG00136[default-helper]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-[[beagr]][[GSDVG00398]][[about-the-servlet-engine]]
-
-About the Servlet Engine
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Servlets exist in and are managed by the servlet engine in the GlassFish
-Server. The servlet engine is an internal object that handles all
-servlet meta functions. These functions include instantiation,
-initialization, destruction, access from other components, and
-configuration management.
-
-The following topics are addressed here:
-
-* link:#beags[Instantiating and Removing Servlets]
-* link:#beagt[Request Handling]
-
-[[beags]][[GSDVG00255]][[instantiating-and-removing-servlets]]
-
-Instantiating and Removing Servlets
-+++++++++++++++++++++++++++++++++++
-
-After the servlet engine instantiates the servlet, the servlet engine
-calls the servlet's `init` method to perform any necessary
-initialization. You can override this method to perform an
-initialization function for the servlet's life, such as initializing a
-counter.
-
-When a servlet is removed from service, the servlet engine calls the
-`destroy` method in the servlet so that the servlet can perform any
-final tasks and deallocate resources. You can override this method to
-write log messages or clean up any lingering connections that won't be
-caught in garbage collection.
-
-[[beagt]][[GSDVG00256]][[request-handling]]
-
-Request Handling
-++++++++++++++++
-
-When a request is made, the GlassFish Server hands the incoming data to
-the servlet engine. The servlet engine processes the request's input
-data, such as form data, cookies, session information, and URL
-name-value pairs, into an `HttpServletRequest` request object type.
-
-The servlet engine also creates an `HttpServletResponse` response object
-type. The engine then passes both as parameters to the servlet's
-`service` method.
-
-In an HTTP servlet, the default `service` method routes requests to
-another method based on the HTTP transfer method: `POST`, `GET`,
-`DELETE`, `HEAD`, `OPTIONS`, `PUT`, or `TRACE`. For example, HTTP `POST`
-requests are sent to the `doPost` method, HTTP `GET` requests are sent
-to the `doGet` method, and so on. This enables the servlet to process
-request data differently, depending on which transfer method is used.
-Since the routing takes place in the service method, you generally do
-not override `service` in an HTTP servlet. Instead, override `doGet`,
-`doPost`, and so on, depending on the request type you expect.
-
-To perform the tasks to answer a request, override the `service` method
-for generic servlets, and the `doGet` or `doPost` methods for HTTP
-servlets. Very often, this means accessing EJB components to perform
-business transactions, then collating the information in the request
-object or in a JDBC `ResultSet` object.
-
-[[beagu]][[GSDVG00141]][[using-javaserver-pages]]
-
-Using JavaServer Pages
-~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server supports the following JSP features:
-
-* JavaServer Pages (JSP) Specification
-* Precompilation of JSP files, which is especially useful for production
-servers
-* JSP tag libraries and standard portable tags
-
-For information about creating JSP files, see the JavaServer Pages web
-site at `http://www.oracle.com/technetwork/java/javaee/jsp/index.html`.
-
-For information about Java Beans, see the JavaBeans web page at
-`http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138795.html`.
-
-This section describes how to use JavaServer Pages (JSP files) as page
-templates in a GlassFish Server web application.
-
-The following topics are addressed here:
-
-* link:#beagv[JSP Tag Libraries and Standard Portable Tags]
-* link:#beagw[JSP Caching]
-* link:#beagz[Options for Compiling JSP Files]
-
-[[beagv]][[GSDVG00399]][[jsp-tag-libraries-and-standard-portable-tags]]
-
-JSP Tag Libraries and Standard Portable Tags
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server supports tag libraries and standard portable tags. For
-more information, see the JavaServer Pages Standard Tag Library (JSTL)
-page at `http://www.oracle.com/technetwork/java/index-jsp-135995.html`.
-
-Web applications don't need to bundle copies of the `jsf-impl.jar` or
-`appserv-jstl.jar` JSP tag libraries (in as-install`/lib`) to use
-JavaServer Faces technology or JSTL, respectively. These tag libraries
-are automatically available to all web applications.
-
-However, the as-install`/lib/jspcachtags.jar` tag library for JSP
-caching is not automatically available to web applications. See
-link:#beagw[JSP Caching], next.
-
-[[beagw]][[GSDVG00400]][[jsp-caching]]
-
-JSP Caching
-^^^^^^^^^^^
-
-JSP caching lets you cache tag invocation results within the Java
-engine. Each can be cached using different cache criteria. For example,
-suppose you have invocations to view stock quotes, weather information,
-and so on. The stock quote result can be cached for 10 minutes, the
-weather report result for 30 minutes, and so on.
-
-The following topics are addressed here:
-
-* link:#gaxbq[Enabling JSP Caching]
-* link:#gaxcr[Caching Scope]
-* link:#beagx[The `cache` Tag]
-* link:#beagy[The `flush` Tag]
-
-For more information about response caching as it pertains to servlets,
-see link:#beagm[Caching Servlet Results].
-
-[[gaxbq]][[GSDVG00257]][[enabling-jsp-caching]]
-
-Enabling JSP Caching
-++++++++++++++++++++
-
-To globally enable JSP caching, set the `jspCachingEnabled` property to
-`true`. The default is `false`. For example:
-
-[source,oac_no_warn]
-----
-asadmin set server-config.web-container.property.jspCachingEnabled="true"
-----
-
-For more information about the `asadmin set` command, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-To enable JSP caching for a single web application, follow these steps:
-
-1.  Extract the `META-INF/jspcachtags.tld` file from the
-as-install`/modules/web-glue.jar` file.
-2.  Create a new JAR file (for example, `jspcachtags.jar`) containing
-just the `META-INF/jspcachtags.tld` file previously extracted.
-3.  Bundle this new JAR file in the `WEB-INF/lib` directory of your web
-application.
-
-
-[NOTE]
-=======================================================================
-
-Web applications that use JSP caching without bundling the tag library
-are not portable.
-
-=======================================================================
-
-
-Refer to GlassFish Server tags in JSP files as follows:
-
-[source,oac_no_warn]
-----
-<%@ taglib prefix="prefix" uri="http://glassfish.org/taglibs/cache" %>
-----
-
-Subsequently, the cache tags are available as `<`prefix`:cache>` and
-`<`prefix`:flush>`. For example, if your prefix is `mypfx`, the cache
-tags are available as `<mypfx:cache>` and `<mypfx:flush>`.
-
-[[gaxcr]][[GSDVG00258]][[caching-scope]]
-
-Caching Scope
-+++++++++++++
-
-JSP caching is available in three different scopes: `request`,
-`session`, and `application`. The default is `application`. To use a
-cache in `request` scope, a web application must specify the
-`com.sun.appserv.web.taglibs.cache.CacheRequestListener` in its
-`web.xml` deployment descriptor, as follows:
-
-[source,oac_no_warn]
-----
-<listener>
-   <listener-class>
-      com.sun.appserv.web.taglibs.cache.CacheRequestListener
-   </listener-class>
-</listener>
-----
-
-Likewise, for a web application to utilize a cache in `session` scope,
-it must specify the
-`com.sun.appserv.web.taglibs.cache.CacheSessionListener` in its
-`web.xml` deployment descriptor, as follows:
-
-[source,oac_no_warn]
-----
-<listener>
-   <listener-class>
-      com.sun.appserv.web.taglibs.cache.CacheSessionListener
-   </listener-class>
-</listener>
-----
-
-To utilize a cache in `application` scope, a web application need not
-specify any listener. The
-`com.sun.appserv.web.taglibs.cache.CacheContextListener` is already
-specified in the `jspcachtags.tld` file.
-
-[[beagx]][[GSDVG00259]][[the-cache-tag]]
-
-The `cache` Tag
-+++++++++++++++
-
-The cache tag caches the body between the beginning and ending tags
-according to the attributes specified. The first time the tag is
-encountered, the body content is executed and cached. Each subsequent
-time it is run, the cached content is checked to see if it needs to be
-refreshed and if so, it is executed again, and the cached data is
-refreshed. Otherwise, the cached data is served.
-
-[[fvyfx]][[GSDVG00023]][[attributes-of-cache]]
-
-Attributes of `cache`
-
-The following table describes attributes for the `cache` tag.
-
-[[GSDVG541]][[sthref13]][[fvygg]]
-
-
-Table 7-1 The `cache` Attributes
-
-[width="100%",cols="10%,16%,74%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`key` |ServletPath`_`Suffix |(optional) The name used by the container
-to access the cached entry. The cache key is suffixed to the servlet
-path to generate a key to access the cached entry. If no key is
-specified, a number is generated according to the position of the tag in
-the page.
-
-|`timeout` |`60s` |(optional) The time in seconds after which the body
-of the tag is executed and the cache is refreshed. By default, this
-value is interpreted in seconds. To specify a different unit of time,
-add a suffix to the timeout value as follows: `s` for seconds, `m` for
-minutes, `h` for hours, `d` for days. For example, `2h` specifies two
-hours.
-
-|`nocache` |`false` |(optional) If set to `true`, the body content is
-executed and served as if there were no `cache` tag. This offers a way
-to programmatically decide whether the cached response is sent or
-whether the body has to be executed, though the response is not cached.
-
-|`refresh` |`false` |(optional) If set to `true`, the body content is
-executed and the response is cached again. This lets you
-programmatically refresh the cache immediately regardless of the
-`timeout` setting.
-
-|`scope` |`application` |(optional) The scope of the cache. Can be
-`request`, `session`, or `application`. See link:#gaxcr[Caching Scope].
-|=======================================================================
-
-
-[[fvyeh]][[GSDVG00024]][[example-of-cache]]
-
-Example of `cache`
-
-The following example represents a cached JSP file:
-
-[source,oac_no_warn]
-----
-<%@ taglib prefix="mypfx" uri="http://glassfish.org/taglibs/cache" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<mypfx:cache                 key="${sessionScope.loginId}"
-            nocache="${param.nocache}"
-            refresh="${param.refresh}"
-            timeout="10m">
-<c:choose>
-    <c:when test="${param.page == 'frontPage'}">
-        <%-- get headlines from database --%>
-    </c:when>
-    <c:otherwise>
-        ...
-    </c:otherwise>
-</c:choose>
-</mypfx:cache>
-<mypfx:cache timeout="1h">
-<h2> Local News </h2>
-    <%-- get the headline news and cache them --%>
-</mypfx:cache>
-----
-
-[[beagy]][[GSDVG00260]][[the-flush-tag]]
-
-The `flush` Tag
-+++++++++++++++
-
-Forces the cache to be flushed. If a `key` is specified, only the entry
-with that key is flushed. If no key is specified, the entire cache is
-flushed.
-
-[[fvykp]][[GSDVG00025]][[attributes-of-flush]]
-
-Attributes of `flush`
-
-The following table describes attributes for the `flush` tag.
-
-[[GSDVG542]][[sthref14]][[fvyep]]
-
-
-Table 7-2 The `flush` Attributes
-
-[width="100%",cols="11%,20%,69%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`key` |ServletPath`_`Suffix |(optional) The name used by the container
-to access the cached entry. The cache key is suffixed to the servlet
-path to generate a key to access the cached entry. If no key is
-specified, a number is generated according to the position of the tag in
-the page.
-
-|`scope` |`application` |(optional) The scope of the cache. Can be
-`request`, `session`, or `application`. See link:#gaxcr[Caching Scope].
-|=======================================================================
-
-
-[[fvyle]][[GSDVG00026]][[examples-of-flush]]
-
-Examples of `flush`
-
-To flush the entry with `key="foobar"`:
-
-[source,oac_no_warn]
-----
-<mypfx:flush key="foobar"/>
-----
-
-To flush the entire cache:
-
-[source,oac_no_warn]
-----
-<c:if test="${empty sessionScope.clearCache}">
-   <mypfx:flush />
-</c:if>
-----
-
-[[beagz]][[GSDVG00401]][[options-for-compiling-jsp-files]]
-
-Options for Compiling JSP Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server provides the following ways of compiling JSP source
-files into servlets:
-
-* JSP files are automatically compiled at runtime.
-* The `asadmin deploy` command has a `--precompilejsp` option. For
-details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-* The `jspc` command line tool allows you to precompile JSP files at the
-command line. For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open
-Source Edition Reference Manual].
-
-[[beaha]][[GSDVG00142]][[creating-and-managing-sessions]]
-
-Creating and Managing Sessions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to create and manage HTTP sessions that
-allows users and transaction information to persist between
-interactions.
-
-The following topics are addressed here:
-
-* link:#beahb[Configuring Sessions]
-* link:#beahf[Session Managers]
-
-[[beahb]][[GSDVG00402]][[configuring-sessions]]
-
-Configuring Sessions
-^^^^^^^^^^^^^^^^^^^^
-
-The following topics are addressed here:
-
-* link:#beahc[HTTP Sessions, Cookies, and URL Rewriting]
-* link:#beahd[Coordinating Session Access]
-* link:#ghmih[Saving Sessions During Redeployment]
-* link:#gixeb[Logging Session Attributes]
-* link:#beahe[Distributed Sessions and Persistence]
-
-[[beahc]][[GSDVG00261]][[http-sessions-cookies-and-url-rewriting]]
-
-HTTP Sessions, Cookies, and URL Rewriting
-+++++++++++++++++++++++++++++++++++++++++
-
-To configure whether and how HTTP sessions use cookies and URL
-rewriting, edit the `session-properties` and `cookie-properties`
-elements in the `glassfish-web.xml` file for an individual web
-application. For more about the properties you can configure, see
-"link:../application-deployment-guide/dd-elements.html#GSDPG00276[session-properties]" in GlassFish Server Open Source
-Edition Application Deployment Guide and
-"link:../application-deployment-guide/dd-elements.html#GSDPG00130[cookie-properties]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-For information about configuring default session properties for the
-entire web container, see link:#beagc[Using the `default-web.xml` File]
-and the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source Edition High
-Availability Administration Guide].
-
-[[beahd]][[GSDVG00262]][[coordinating-session-access]]
-
-Coordinating Session Access
-+++++++++++++++++++++++++++
-
-Make sure that multiple threads don't simultaneously modify the same
-session object in conflicting ways. If the persistence type is
-`replicated` (see link:#gdshu[The `replicated` Persistence Type]), the
-following message in the log file indicates that this might be
-happening:
-
-[source,oac_no_warn]
-----
-Primary Key Constraint violation while saving session session_id
-----
-
-This is especially likely to occur in web applications that use HTML
-frames where multiple servlets are executing simultaneously on behalf of
-the same client. A good solution is to ensure that one of the servlets
-modifies the session and the others have read-only access.
-
-[[ghmih]][[GSDVG00263]][[saving-sessions-during-redeployment]]
-
-Saving Sessions During Redeployment
-+++++++++++++++++++++++++++++++++++
-
-Whenever a redeployment is done, the sessions at that transit time
-become invalid unless you use the `--keepstate=true` option of the
-`asadmin redeploy` command. For example:
-
-[source,oac_no_warn]
-----
-asadmin redeploy --keepstate=true --name hello.war
-----
-
-For details, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual].
-
-The default for `--keepstate` is false. This option is supported only on
-the default server instance, named `server`. It is not supported and
-ignored for any other target.
-
-For web applications, this feature is applicable only if in the
-`glassfish-web-app.xml` file the `persistence-type` attribute of the
-`session-manager` element is `file`.
-
-If any active web session fails to be preserved or restored, none of the
-sessions will be available when the redeployment is complete. However,
-the redeployment continues and a warning is logged.
-
-The new class loader of the redeployed application is used to
-deserialize any sessions previously saved. The usual restrictions about
-serialization and deserialization apply. For example, any
-application-specific class referenced by a session attribute may evolve
-only in a backward-compatible fashion. For more information about class
-loaders, see link:class-loaders.html#beade[Class Loaders].
-
-[[gixeb]][[GSDVG00264]][[logging-session-attributes]]
-
-Logging Session Attributes
-++++++++++++++++++++++++++
-
-You can write session attribute values to an access log. The access log
-format token `%session.`name`%` logs one of the following:
-
-* The value of the session attribute with the name name
-* `NULL-SESSION-ATTRIBUTE-`name if the named attribute does not exist in
-the session
-* `NULL-SESSION` if no session exists
-
-For more information about access logging and format tokens, see online
-help for the Access Log tab of the HTTP Service page in the
-Administration Console.
-
-[[beahe]][[GSDVG00265]][[distributed-sessions-and-persistence]]
-
-Distributed Sessions and Persistence
-++++++++++++++++++++++++++++++++++++
-
-A distributed HTTP session can run in multiple GlassFish Server
-instances, provided the following criteria are met:
-
-* Each server instance has the same distributable web application
-deployed to it. The `web-app` element of the `web.xml` deployment
-descriptor file must have the `distributable` subelement specified.
-* The web application uses high-availability session persistence. If a
-non-distributable web application is configured to use high-availability
-session persistence, a warning is written to the server log, and the
-session persistence type reverts to `memory`. See link:#gdshu[The
-`replicated` Persistence Type].
-* All objects bound into a distributed session must be of the types
-listed in link:#fvyem[Table 7-3].
-* The web application must be deployed using the `deploy` or `deploydir`
-command with the `--availabilityenabled` option set to `true`. See the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-
-[NOTE]
-=======================================================================
-
-Contrary to the Servlet 5.0 specification, GlassFish Server does not
-throw an `IllegalArgumentException` if an object type not supported for
-failover is bound into a distributed session.
-
-Keep the distributed session size as small as possible. Session size has
-a direct impact on overall system throughput.
-
-=======================================================================
-
-
-In the event of an instance or hardware failure, another server instance
-can take over a distributed session, with the following limitations:
-
-* If a distributable web application references a Java EE component or
-resource, the reference might be lost. See link:#fvyem[Table 7-3] for a
-list of the types of references that `HTTPSession` failover supports.
-* References to open files or network connections are lost.
-
-For information about how to work around these limitations, see the
-link:../deployment-planning-guide/toc.html#GSPLG[GlassFish Server Open Source Edition Deployment Planning
-Guide].
-
-In the following table, No indicates that failover for the object type
-might not work in all cases and that no failover support is provided.
-However, failover might work in some cases for that object type. For
-example, failover might work because the class implementing that type is
-serializable.
-
-For more information about the `InitialContext`, see
-link:jndi.html#beans[Accessing the Naming Context]. For more information
-about transaction recovery, see link:transaction-service.html#beanm[Using
-the Transaction Service]. For more information about Administered
-Objects, see "link:../administration-guide/jms.html#GSADG00599[Administering JMS Physical Destinations]"
-in GlassFish Server Open Source Edition Administration Guide.
-
-[[GSDVG543]][[sthref15]][[fvyem]]
-
-
-Table 7-3 Object Types Supported for Java EE Web Application Session
-State Failover
-
-[width="100%",cols="45%,55%",options="header",]
-|=======================================================================
-|Java Object Type |Failover Support
-|Colocated or distributed stateless session, stateful session, or entity
-bean reference |Yes
-
-|JNDI context |Yes, `InitialContext` and `java:comp/env`
-
-|UserTransaction |Yes, but if the instance that fails is never
-restarted, any prepared global transactions are lost and might not be
-correctly rolled back or committed.
-
-|JDBC DataSource |No
-
-|Java Message Service (JMS) ConnectionFactory, Destination |No
-
-|JavaMail Session |No
-
-|Connection Factory |No
-
-|Administered Object |No
-
-|Web service reference |No
-
-|Serializable Java types |Yes
-
-|Extended persistence context |No
-|=======================================================================
-
-
-[[beahf]][[GSDVG00403]][[session-managers]]
-
-Session Managers
-^^^^^^^^^^^^^^^^
-
-A session manager automatically creates new session objects whenever a
-new session starts. In some circumstances, clients do not join the
-session, for example, if the session manager uses cookies and the client
-does not accept cookies.
-
-GlassFish Server offers these session management options, determined by
-the `session-manager` element's `persistence-type` attribute in the
-`glassfish-web.xml` file:
-
-* link:#beahg[The `memory` Persistence Type], the default
-* link:#beahh[The `file` Persistence Type], which uses a file to store
-session data
-* link:#gdshu[The `replicated` Persistence Type], which uses other
-servers in the cluster for session persistence
-
-
-[NOTE]
-=======================================================================
-
-If the session manager configuration contains an error, the error is
-written to the server log and the default (`memory`) configuration is
-used.
-
-=======================================================================
-
-
-For more information, see "link:../application-deployment-guide/dd-elements.html#GSDPG00275[session-manager]" in
-GlassFish Server Open Source Edition Application Deployment Guide.
-
-[[beahg]][[GSDVG00266]][[the-memory-persistence-type]]
-
-The `memory` Persistence Type
-+++++++++++++++++++++++++++++
-
-This persistence type is not designed for a production environment that
-requires session persistence. It provides no session persistence.
-However, you can configure it so that the session state in memory is
-written to the file system prior to server shutdown.
-
-To specify the `memory` persistence type for a specific web application,
-edit the `glassfish-web.xml` file as in the following example. The
-`persistence-type` attribute is optional, but must be set to `memory` if
-included. This overrides the web container availability settings for the
-web application.
-
-[source,oac_no_warn]
-----
-<glassfish-web-app>
-...
-
-<session-config>
-    <session-manager persistence-type="memory" />
-        <manager-properties>
-            <property name="sessionFilename" value="sessionstate" />
-        </manager-properties>
-    </session-manager>
-    ...
-</session-config>
-...
-</glassfish-web-app>
-----
-
-The only manager property that the `memory` persistence type supports is
-`sessionFilename`, which is listed under
-"link:../application-deployment-guide/dd-elements.html#GSDPG00192[manager-properties]" in GlassFish Server Open Source
-Edition Application Deployment Guide. The `sessionFilename` property
-specifies the name of the file where sessions are serialized and
-persisted if the web application or the server is stopped. To disable
-this behavior, specify an empty string as the value of
-`sessionFilename`. The default value is an empty string.
-
-For more information about the `glassfish-web.xml` file, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide].
-
-[[beahh]][[GSDVG00267]][[the-file-persistence-type]]
-
-The `file` Persistence Type
-+++++++++++++++++++++++++++
-
-This persistence type provides session persistence to the local file
-system, and allows a single server domain to recover the session state
-after a failure and restart. The session state is persisted in the
-background, and the rate at which this occurs is configurable. The store
-also provides passivation and activation of the session state to help
-control the amount of memory used. This option is not supported in a
-production environment. However, it is useful for a development system
-with a single server instance.
-
-
-[NOTE]
-=======================================================================
-
-Make sure the `delete` option is set in the `server.policy` file, or
-expired file-based sessions might not be deleted properly. For more
-information about `server.policy`, see link:securing-apps.html#beabx[The
-`server.policy` File].
-
-=======================================================================
-
-
-To specify the `file` persistence type for a specific web application,
-edit the `glassfish-web.xml` file as in the following example. Note that
-`persistence-type` must be set to `file`. This overrides the web
-container availability settings for the web application.
-
-[source,oac_no_warn]
-----
-<glassfish-web-app>
-...
-<session-config>
-    <session-manager persistence-type="file">
-        <store-properties>
-            <property name="directory" value="sessiondir" />
-        </store-properties>
-    </session-manager>
-    ...
-</session-config>
-...
-</glassfish-web-app>
-----
-
-The `file` persistence type supports all the manager properties listed
-under "link:../application-deployment-guide/dd-elements.html#GSDPG00192[manager-properties]" in GlassFish Server Open
-Source Edition Application Deployment Guide except `sessionFilename`,
-and supports the `directory` store property listed under
-"link:../application-deployment-guide/dd-elements.html#GSDPG00279[store-properties]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-For more information about the `glassfish-web.xml` file, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide].
-
-[[gdshu]][[GSDVG00268]][[the-replicated-persistence-type]]
-
-The `replicated` Persistence Type
-+++++++++++++++++++++++++++++++++
-
-The replicated persistence type uses other servers in the cluster for
-session persistence. Clustered server instances replicate session state.
-Each backup instance stores the replicated data in memory. This allows
-sessions to be distributed. For details, see link:#beahe[Distributed
-Sessions and Persistence]. In addition, you can configure the frequency
-and scope of session persistence. The other servers are also used as the
-passivation and activation store. Use this option in a production
-environment that requires session persistence.
-
-To use the replicated persistence type, you must enable availability.
-Select the Availability Service component under the relevant
-configuration in the Administration Console. Check the Availability
-Service box. To enable availability for the web container, select the
-Web Container Availability tab, then check the Availability Service box.
-All instances in an GlassFish Server cluster should have the same
-availability settings to ensure consistent behavior. For details, see
-the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source Edition High Availability
-Administration Guide].
-
-To change settings such as persistence frequency and persistence scope
-for the entire web container, use the Persistence Frequency and
-Persistence Scope drop-down lists on the Web Container Availability tab
-in the Administration Console, or use the `asadmin set` command. For
-example:
-
-[source,oac_no_warn]
-----
-asadmin set 
-server-config.availability-service.web-container-availability.persistence-frequency=time-based
-----
-
-For more information, see the description of the `asadmin set` command
-in the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference
-Manual].
-
-To specify the `replicated` persistence type for a specific web
-application, edit the `glassfish-web.xml` file as in the following
-example. Note that `persistence-type` must be set to `replicated`. This
-overrides the web container availability settings for the web
-application.
-
-[source,oac_no_warn]
-----
-<glassfish-web-app>
-...
-<session-config>
-    <session-manager persistence-type="replicated">
-        <manager-properties>
-            <property name="persistenceFrequency" value="web-method" />
-        </manager-properties>
-        <store-properties>
-            <property name="persistenceScope" value="session" />
-        </store-properties>
-    </session-manager>
-    ...
-</session-config>
-...
-</glassfish-web-app>
-----
-
-The `replicated` persistence type supports all the manager properties
-listed under "link:../application-deployment-guide/dd-elements.html#GSDPG00192[manager-properties]" in GlassFish Server
-Open Source Edition Application Deployment Guide except
-`sessionFilename`, and supports the `persistenceScope` store property
-listed under "link:../application-deployment-guide/dd-elements.html#GSDPG00279[store-properties]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-For more information about the `glassfish-web.xml` file, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide].
-
-To specify that web sessions for which high availability is enabled are
-first buffered and then replicated using a separate asynchronous thread,
-use the `--asyncreplication=true` option of the `asadmin deploy`
-command. For example:
-
-[source,oac_no_warn]
-----
-asadmin deploy --availabilityenabled=true --asyncreplication=true --name hello.war
-----
-
-If `--asyncreplication` is set to true (the default), performance is
-improved but availability is reduced. If the instance where states are
-buffered but not yet replicated fails, the states are lost. If set to
-false, performance is reduced but availability is guaranteed. States are
-not buffered but immediately transmitted to other instances in the
-cluster.
-
-[[ggrgt]][[GSDVG00143]][[using-comet]]
-
-Using Comet
-~~~~~~~~~~~
-
-This section explains the Comet programming technique and how to create
-and deploy a Comet-enabled application with the Oracle GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#ggrgy[Introduction to Comet]
-* link:#ghgxk[Grizzly Comet]
-* link:#ghgxn[Bayeux Protocol]
-
-[[ggrgy]][[GSDVG00404]][[introduction-to-comet]]
-
-Introduction to Comet
-^^^^^^^^^^^^^^^^^^^^^
-
-Comet is a programming technique that allows a web server to send
-updates to clients without requiring the clients to explicitly request
-them.
-
-This kind of programming technique is called server push, which means
-that the server pushes data to the client. The opposite style is client
-pull, which means that the client must pull the data from the server,
-usually through a user-initiated event, such as a button click.
-
-Web applications that use the Comet technique can deliver updates to
-clients in a more timely manner than those that use the client-pull
-style while avoiding the latency that results from clients frequently
-polling the server.
-
-One of the many use cases for Comet is a chat room application. When the
-server receives a message from one of the chat clients, it needs to send
-the message to the other clients without requiring them to ask for it.
-With Comet, the server can deliver messages to the clients as they are
-posted rather than expecting the clients to poll the server for new
-messages.
-
-To accomplish this scenario, a Comet application establishes a
-long-lived HTTP connection. This connection is suspended on the server
-side, waiting for an event to happen before resuming. This kind of
-connection remains open, allowing an application that uses the Comet
-technique to send updates to clients when they are available rather than
-expecting clients to reopen the connection to poll the server for
-updates.
-
-[[ggrib]][[GSDVG00270]][[the-grizzly-implementation-of-comet]]
-
-The Grizzly Implementation of Comet
-+++++++++++++++++++++++++++++++++++
-
-A limitation of the Comet technique is that you must use it with a web
-server that supports non-blocking connections to avoid poor performance.
-Non-blocking connections are those that do not need to allocate one
-thread for each request. If the web server were to use blocking
-connections then it might end up holding many thousands of threads,
-thereby hindering its scalability.
-
-The GlassFish server includes the Grizzly HTTP Engine, which enables
-asynchronous request processing (ARP) by avoiding blocking connections.
-Grizzly's ARP implementation accomplishes this by using the Java NIO
-API.
-
-With Java NIO, Grizzly enables greater performance and scalability by
-avoiding the limitations experienced by traditional web servers that
-must run a thread for each request. Instead, Grizzly's ARP mechanism
-makes efficient use of a thread pool system and also keeps the state of
-requests so that it can keep requests alive without holding a single
-thread for each of them.
-
-Grizzly supports two different implementations of Comet:
-
-* link:#ghgxk[Grizzly Comet] — Based on ARP, this includes a set of APIs
-that you use from a web component to enable Comet functionality in your
-web application. Grizzly Comet is specific to the Oracle GlassFish
-Server.
-* link:#ghgxn[Bayeux Protocol] — Often referred to as `Cometd`, it
-consists of the JSON-based Bayeux message protocol, a set of Dojo or
-Ajax libraries, and an event handler. The Bayeux protocol uses a
-publish/subscribe model for server/client communication. The Bayeux
-protocol is portable, but it is container dependent if you want to
-invoke it from an Enterprise Java Beans (EJB ) component. The Grizzly
-implementation of `Cometd` consists of a servlet that you reference from
-your web application.
-
-[[ggrim]][[GSDVG00271]][[client-technologies-to-use-with-comet]]
-
-Client Technologies to Use With Comet
-+++++++++++++++++++++++++++++++++++++
-
-In addition to creating a web component that uses the Comet APIs, you
-need to enable your client to accept asynchronous updates from the web
-component. To accomplish this, you can use JavaScript, IFrames, or a
-framework, such as http://dojotoolkit.org[Dojo]
-(`http://dojotoolkit.org`).
-
-An IFrame is an HTML element that allows you to include other content in
-an HTML page. As a result, the client can embed updated content in the
-IFrame without having to reload the page.
-
-The example in this tutorial employs a combination of JavaScript and
-IFrames to allow the client to accept asynchronous updates. A servlet
-included in the example writes out JavaScript code to one of the
-IFrames. The JavaScript code contains the updated content and invokes a
-function in the page that updates the appropriate elements in the page
-with the new content.
-
-The next section explains the two kinds of connections that you can make
-to the server. While you can use any of the client technologies listed
-in this section with either kind of connection, it is more difficult to
-use JavaScript with an HTTP-streaming connection.
-
-[[ggrgo]][[GSDVG00272]][[types-of-comet-connections]]
-
-Types of Comet Connections
-++++++++++++++++++++++++++
-
-When working with Comet, as implemented in Grizzly, you have two
-different ways to handle client connections to the server:
-
-* HTTP Streaming
-* Long Polling
-
-[[ggriu]][[GSDVG00027]][[http-streaming]]
-
-HTTP Streaming
-
-The HTTP Streaming technique keeps a connection open indefinitely. It
-never closes, even after the server pushes data to the client.
-
-In the case of HTTP streaming, the application sends a single request
-and receives responses as they come, reusing the same connection
-forever. This technique significantly reduces the network latency
-because the client and the server don't need to open and close the
-connection.
-
-The basic life cycle of an application using HTTP-streaming is:
-
-request > suspend > data available > write response > data available >
-write response
-
-The client makes an initial request and then suspends the request,
-meaning that it waits for a response. Whenever data is available, the
-server writes it to the response.
-
-[[ggrhv]][[GSDVG00028]][[long-polling]]
-
-Long Polling
-
-The long-polling technique is a combination of server-push and
-client-pull because the client needs to resume the connection after a
-certain amount of time or after the server pushes an update to the
-client.
-
-The basic life cycle of an application using long-polling is:
-
-request > suspend > data available > write response > resume
-
-The client makes an initial request and then suspends the request. When
-an update is available, the server writes it to the response. The
-connection closes, and the client optionally resumes the connection.
-
-[[ggtjb]][[GSDVG00029]][[how-to-choose-the-type-of-connection]]
-
-How to Choose the Type of Connection
-
-If you anticipate that your web application will need to send frequent
-updates to the client, you should use the HTTP-streaming connection so
-that the client does not have to frequently reestablish a connection. If
-you anticipate less frequent updates, you should use the long-polling
-connection so that the web server does not need to keep a connection
-open when no updates are occurring. One caveat to using the
-HTTP-streaming connection is that if you are streaming through a proxy,
-the proxy can buffer the response from the server. So, be sure to test
-your application if you plan to use HTTP-streaming behind a proxy.
-
-[[ghgxk]][[GSDVG00405]][[grizzly-comet]]
-
-Grizzly Comet
-^^^^^^^^^^^^^
-
-For details on using Grizzly Comet including a sample application, refer
-to the Grizzly Comet documentation on GitHub
-(`https://javaee.github.io/grizzly/comet.html`).
-
-Grizzly's support for Comet includes a small set of APIs that make it
-easy to add Comet functionality to your web applications. The Grizzly
-Comet APIs that developers use most often are the following:
-
-* `CometContext`: A Comet context, which is a shareable space to which
-applications subscribe to receive updates.
-* `CometEngine`: The entry point to any component using Comet.
-Components can be servlets, JavaServer Pages ( JSP), JavaServer Faces
-components, or pure Java classes.
-* `CometEvent`: Contains the state of the `CometContext` object
-* `CometHandler`: The interface an application implements to be part of
-one or more Comet contexts.
-
-The way a developer would use this API in a web component is to perform
-the following tasks:
-
-1.  Register the context path of the application with the `CometContext`
-object: +
-[source,oac_no_warn]
-----
-CometEngine cometEngine = 
-    CometEngine.getEngine();
-CometContext cometContext = 
-    cometEngine.register(contextPath) 
-----
-2.  Register the CometHandler implementation with the `CometContext`
-object: +
-[source,oac_no_warn]
-----
-cometContext.addCometHandler(handler)
-----
-3.  Notify one or more CometHandler implementations when an event
-happens: +
-[source,oac_no_warn]
-----
-cometContext.notify((Object)(handler))
-----
-
-[[ghgxn]][[GSDVG00406]][[bayeux-protocol]]
-
-Bayeux Protocol
-^^^^^^^^^^^^^^^
-
-The Bayeux protocol, often referred to as `Cometd`, greatly simplifies
-the use of Comet. No server-side coding is needed for servers such as
-GlassFish Server that support the Bayeux protocol. Just enable Comet and
-the Bayeux protocol, then write and deploy the client.
-
-The following topics are addressed here:
-
-* link:#ghhaw[Enabling Comet]
-* link:#ghhap[To Configure the `web.xml` File]
-* link:#ghhtv[To Write, Deploy, and Run the Client]
-
-[[ghhaw]][[GSDVG00280]][[enabling-comet]]
-
-Enabling Comet
-++++++++++++++
-
-Before running a Comet-enabled application, you need to enable Comet in
-the HTTP listener for your application by setting a special attribute in
-the associated protocol configuration. The following example shows the
-`asadmin set` command that adds this attribute:
-
-[source,oac_no_warn]
-----
-asadmin set server-config.network-config.protocols.protocol.http-1.http.comet-support-enabled="true"
-----
-
-Substitute the name of the protocol for `http-1`.
-
-[[ghhap]][[GSDVG00067]][[to-configure-the-web.xml-file]]
-
-To Configure the `web.xml` File
-+++++++++++++++++++++++++++++++
-
-To enable the Bayeux protocol on the GlassFish Server, you must
-reference the `CometdServlet` in your web application's `web.xml` file.
-In addition, if your web application includes a servlet, set the
-`load-on-startup` value for your servlet to `0` (zero) so that it will
-not load until the client makes a request to it.
-
-1.  Open the `web.xml` file for your web application in a text editor.
-2.  Add the following XML code to the `web.xml` file: +
-[source,oac_no_warn]
-----
-<servlet>
-   <servlet-name>Grizzly Cometd Servlet</servlet-name>
-   <servlet-class>
-      com.sun.grizzly.cometd.servlet.CometdServlet
-   </servlet-class>
-   <init-param>
-      <description>
-         expirationDelay is the long delay before a request is
-         resumed. -1 means never.
-      </description>
-      <param-name>expirationDelay</param-name>
-      <param-value>-1</param-value>
-   </init-param>
-   <load-on-startup>1</load-on-startup>
-</servlet>
-<servlet-mapping>
-   <servlet-name>Grizzly Cometd Servlet</servlet-name>
-   <url-pattern>/cometd/*</url-pattern>
-</servlet-mapping>
-----
-Note that the `load-on-startup` value for the `CometdServlet` is `1`.
-3.  If your web application includes a servlet, set the
-`load-on-startup` value to `0` for your servlet (not the
-`CometdServlet`) as follows: +
-[source,oac_no_warn]
-----
-<servlet>
-   ...
-   <load-on-startup>0</load-on-startup>
-</servlet>
-----
-4.  Save the `web.xml` file.
-
-[[ghhtv]][[GSDVG00068]][[to-write-deploy-and-run-the-client]]
-
-To Write, Deploy, and Run the Client
-++++++++++++++++++++++++++++++++++++
-
-1.  Add script tags to the HTML page. For example: +
-[source,oac_no_warn]
-----
-<script type="text/javascript" src="chat.js"></script>
-----
-2.  In the script, call the needed libraries. For example: +
-[source,oac_no_warn]
-----
-dojo.require("dojo.io.cometd");
-----
-3.  In the script, use `publish` and `subscribe` methods to send and
-receive messages. For example: +
-[source,oac_no_warn]
-----
-cometd.subscribe("/chat/demo", false, room, "_chat");
-cometd.publish("/chat/demo", { user: room._username, chat: text});
-----
-4.  Deploy the web application as you would any other web application.
-For example: +
-[source,oac_no_warn]
-----
-asadmin deploy cometd-example.war
-----
-5.  Run the application as you would any other web application. +
-The context root for the example chat application is `/cometd` and the
-HTML page is `index.html`. So the URL might look like this: +
-[source,oac_no_warn]
-----
-http://localhost:8080/cometd/index.html
-----
-
-[[GSDVG544]]
-
-See Also
-
-For more information about deployment in the GlassFish Server, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide].
-
-For more information about the Bayeux protocol, see
-https://docs.cometd.org/current/reference/#_bayeux[Bayeux Protocol]
-(`https://docs.cometd.org/current/reference/#_bayeux`).
-
-For more information about the Dojo toolkit, see
-`http://dojotoolkit.org/`.
-
-[[beaft]][[GSDVG00144]][[advanced-web-application-features]]
-
-Advanced Web Application Features
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#beafu[Internationalization Issues]
-* link:#gilyj[Virtual Server Properties]
-* link:#beagb[Class Loader Delegation]
-* link:#beagc[Using the `default-web.xml` File]
-* link:#beagd[Configuring Logging and Monitoring in the Web Container]
-* link:#beage[Configuring Idempotent URL Requests]
-* link:#beagi[Header Management]
-* link:#geqrh[Configuring Valves and Catalina Listeners]
-* link:#geqpl[Alternate Document Roots]
-* link:#geurd[Using a context.xml File]
-* link:#gezcx[Enabling WebDav]
-* link:#ghepd[Using SSI]
-* link:#ghepi[Using CGI]
-
-[[beafu]][[GSDVG00407]][[internationalization-issues]]
-
-Internationalization Issues
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following topics are addressed here:
-
-* link:#beafv[The Server's Default Locale]
-* link:#beafw[Servlet Character Encoding]
-
-[[beafv]][[GSDVG00281]][[the-servers-default-locale]]
-
-The Server's Default Locale
-+++++++++++++++++++++++++++
-
-To set the default locale of the entire GlassFish Server, which
-determines the locale of the Administration Console, the logs, and so
-on, use the Administration Console. Select the domain component. Then
-type a value in the Locale field. For details, click the Help button in
-the Administration Console.
-
-[[beafw]][[GSDVG00282]][[servlet-character-encoding]]
-
-Servlet Character Encoding
-++++++++++++++++++++++++++
-
-This section explains how the GlassFish Server determines the character
-encoding for the servlet request and the servlet response. For encodings
-you can use, see
-`http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html`.
-
-[[beafx]][[GSDVG00031]][[servlet-request]]
-
-Servlet Request
-
-When processing a servlet request, the server uses the following order
-of precedence, first to last, to determine the request character
-encoding:
-
-* The `getCharacterEncoding` method
-* A hidden field in the form, specified by the `form-hint-field`
-attribute of the `parameter-encoding` element in the `glassfish-web.xml`
-file
-* The `default-charset` attribute of the `parameter-encoding` element in
-the `glassfish-web.xml` file
-* The default, which is `ISO-8859-1`
-
-For details about the `parameter-encoding` element, see
-"link:../application-deployment-guide/dd-elements.html#GSDPG00218[parameter-encoding]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-[[beafy]][[GSDVG00032]][[servlet-response]]
-
-Servlet Response
-
-When processing a servlet response, the server uses the following order
-of precedence, first to last, to determine the response character
-encoding:
-
-* The `setCharacterEncoding` or `setContentType` method
-* The `setLocale` method
-* The default, which is `ISO-8859-1`
-
-[[gilyj]][[GSDVG00408]][[virtual-server-properties]]
-
-Virtual Server Properties
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can set virtual server properties in the following ways:
-
-* You can define virtual server properties using the
-`asadmin create-virtual-server` command. For example: +
-[source,oac_no_warn]
-----
-asadmin create-virtual-server --hosts localhost --property authRealm=ldap MyVS
-----
-For details and a complete list of virtual server properties, see
-link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)].
-* You can define virtual server properties using the `asadmin set`
-command. For example: +
-[source,oac_no_warn]
-----
-asadmin set server-config.http-service.virtual-server.MyVS.property.authRealm="ldap"
-----
-For details, see link:../reference-manual/set.html#GSRFM00226[`set`(1)].
-* You can define virtual server properties using the Administration
-Console. Select the HTTP Service component under the relevant
-configuration, select Virtual Servers, and select the desired virtual
-server. Select Add Property, enter the property name and value, check
-the enable box, and select Save. For details and a complete list of
-virtual server properties, click the Help button in the Administration
-Console.
-
-Some virtual server properties can be set for a specific web
-application. For details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in
-GlassFish Server Open Source Edition Application Deployment Guide.
-
-[[beagb]][[GSDVG00409]][[class-loader-delegation]]
-
-Class Loader Delegation
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The Servlet specification recommends that a web application class loader
-look in the local class loader before delegating to its parent. To make
-the web application class loader follow the delegation model in the
-Servlet specification, set `delegate="false"` in the `class-loader`
-element of the `glassfish-web.xml` file. It's safe to do this only for a
-web module that does not interact with any other modules.
-
-The default value is `delegate="true"`, which causes the web application
-class loader to delegate in the same manner as the other class loaders.
-Use `delegate="true"` for a web application that accesses EJB components
-or that acts as a web service client or endpoint. For details about
-`glassfish-web.xml`, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
-Edition Application Deployment Guide].
-
-For a number of packages, including `java.*` and `javax.*`, symbol
-resolution is always delegated to the parent class loader regardless of
-the `delegate` setting. This prevents applications from overriding core
-Java runtime classes or changing the API versions of specifications that
-are part of the Java EE platform.
-
-For general information about class loaders, see
-link:class-loaders.html#beade[Class Loaders].
-
-[[beagc]][[GSDVG00410]][[using-the-default-web.xml-file]]
-
-Using the `default-web.xml` File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can use the `default-web.xml` file to define features such as
-filters and security constraints that apply to all web applications.
-
-For example, directory listings are disabled by default for added
-security. To enable directory listings, in your domain's
-`default-web.xml` file, search for the definition of the servlet whose
-`servlet-name` is equal to `default`, and set the value of the
-`init-param` named `listings` to `true`. Then redeploy your web
-application if it has already been deployed, or restart the server.
-
-[source,oac_no_warn]
-----
-<init-param>
-   <param-name>listings</param-name>
-   <param-value>true</param-value>
-</init-param>
-----
-
-If `listings` is set to `true`, you can also determine how directory
-listings are sorted. Set the value of the `init-param` named `sortedBy`
-to `NAME`, `SIZE`, or `LAST_MODIFIED`. Then redeploy your web
-application if it has already been deployed, or restart the server.
-
-[source,oac_no_warn]
-----
-<init-param>
-   <param-name>sortedBy</param-name>
-   <param-value>LAST_MODIFIED</param-value>
-</init-param>
-----
-
-The `mime-mapping` elements in `default-web.xml` are global and
-inherited by all web applications. You can override these mappings or
-define your own using `mime-mapping` elements in your web application's
-`web.xml` file. For more information about `mime-mapping` elements, see
-the Servlet specification.
-
-You can use the Administration Console to edit the `default-web.xml`
-file. For details, click the Help button in the Administration Console.
-As an alternative, you can edit the file directly using the following
-steps.
-
-[[fvymc]][[GSDVG00069]][[to-use-the-default-web.xml-file]]
-
-To Use the `default-web.xml` File
-+++++++++++++++++++++++++++++++++
-
-1.  Place the JAR file for the filter, security constraint, or other
-feature in the domain-dir`/lib` directory.
-2.  Edit the domain-dir`/config/default-web.xml` file to refer to the
-JAR file.
-3.  Restart the server.
-
-[[beagd]][[GSDVG00411]][[configuring-logging-and-monitoring-in-the-web-container]]
-
-Configuring Logging and Monitoring in the Web Container
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For information about configuring logging and monitoring in the web
-container using the Administration Console, click the Help button in the
-Administration Console. Select Logger Settings under the relevant
-configuration, or select the Stand-Alone Instances component, select the
-instance from the table, and select the Monitor tab.
-
-[[beage]][[GSDVG00412]][[configuring-idempotent-url-requests]]
-
-Configuring Idempotent URL Requests
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An idempotent request is one that does not cause any change or
-inconsistency in an application when retried. To enhance the
-availability of your applications deployed on an GlassFish Server
-cluster, configure the load balancer to retry failed idempotent HTTP
-requests on all the GlassFish Server instances in a cluster. This option
-can be used for read-only requests, for example, to retry a search
-request.
-
-The following topics are addressed here:
-
-* link:#beagf[Specifying an Idempotent URL]
-* link:#beagg[Characteristics of an Idempotent URL]
-
-[[beagf]][[GSDVG00283]][[specifying-an-idempotent-url]]
-
-Specifying an Idempotent URL
-++++++++++++++++++++++++++++
-
-To configure idempotent URL response, specify the URLs that can be
-safely retried in `idempotent-url-pattern` elements in the
-`glassfish-web.xml` file. For example:
-
-[source,oac_no_warn]
-----
-<idempotent-url-pattern url-pattern="sun_java/*" no-of-retries="10"/>
-----
-
-For details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00164[idempotent-url-pattern]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-If none of the server instances can successfully serve the request, an
-error page is returned.
-
-[[beagg]][[GSDVG00284]][[characteristics-of-an-idempotent-url]]
-
-Characteristics of an Idempotent URL
-++++++++++++++++++++++++++++++++++++
-
-Since all requests for a given session are sent to the same application
-server instance, and if that GlassFish Server instance is unreachable,
-the load balancer returns an error message. Normally, the request is not
-retried on another GlassFish Server instance. However, if the URL
-pattern matches that specified in the `glassfish-web.xml` file, the
-request is implicitly retried on another GlassFish Server instance in
-the cluster.
-
-In HTTP, some methods (such as GET) are idempotent, while other methods
-(such as POST) are not. In effect, retrying an idempotent URL should not
-cause values to change on the server or in the database. The only
-difference should be a change in the response received by the user.
-
-Examples of idempotent requests include search engine queries and
-database queries. The underlying principle is that the retry does not
-cause an update or modification of data.
-
-A search engine, for example, sends HTTP requests with the same URL
-pattern to the load balancer. Specifying the URL pattern of the search
-request to the load balancer ensures that HTTP requests with the
-specified URL pattern are implicitly retried on another GlassFish Server
-instance.
-
-For example, if the request URL sent to the GlassFish Server is of the
-type `/search/`something`.html`, then the URL pattern can be specified
-as `/search/*`.
-
-Examples of non-idempotent requests include banking transactions and
-online shopping. If you retry such requests, money might be transferred
-twice from your account.
-
-[[beagi]][[GSDVG00413]][[header-management]]
-
-Header Management
-^^^^^^^^^^^^^^^^^
-
-In all Editions of the GlassFish Server, the `Enumeration` from
-`request.getHeaders()` contains multiple elements (one element per
-request header) instead of a single, aggregated value.
-
-The header names used in `HttpServletResponse.add`XXX`Header()` and
-`HttpServletResponse.set`XXX`Header()` are returned as they were
-created.
-
-[[geqrh]][[GSDVG00414]][[configuring-valves-and-catalina-listeners]]
-
-Configuring Valves and Catalina Listeners
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure custom valves and Catalina listeners for web modules
-or virtual servers by defining properties. A valve class must implement
-the org.apache.catalina.Valve interface from Tomcat or previous
-GlassFish Server releases, or the org.glassfish.web.valve.GlassFishValve
-interface from the current GlassFish Server release. A listener class
-for a virtual server must implement the
-org.apache.catalina.ContainerListener or
-org.apache.catalina.LifecycleListener interface. A listener class for a
-web module must implement the org.apache.catalina.ContainerListener ,
-org.apache.catalina.LifecycleListener, or
-org.apache.catalina.InstanceListener interface.
-
-In the `glassfish-web.xml` file, valve and listener properties for a web
-module look like this:
-
-[source,oac_no_warn]
-----
-<glassfish-web-app ...>
-   ...
-   <property name="valve_1" value="org.glassfish.extension.Valve"/>
-   <property name="listener_1" value="org.glassfish.extension.MyLifecycleListener"/>
-</glassfish-web-app>
-----
-
-You can define these same properties for a virtual server. For more
-information, see link:#gilyj[Virtual Server Properties].
-
-[[geqpl]][[GSDVG00415]][[alternate-document-roots]]
-
-Alternate Document Roots
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-An alternate document root (docroot) allows a web application to serve
-requests for certain resources from outside its own docroot, based on
-whether those requests match one (or more) of the URI patterns of the
-web application's alternate docroots.
-
-To specify an alternate docroot for a web application or a virtual
-server, use the `alternatedocroot_n` property, where n is a positive
-integer that allows specification of more than one. This property can be
-a subelement of a `glassfish-web-app` element in the `glassfish-web.xml`
-file or a virtual server property. For more information about these
-elements, see "link:../application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in GlassFish Server
-Open Source Edition Application Deployment Guide.
-
-A virtual server's alternate docroots are considered only if a request
-does not map to any of the web modules deployed on that virtual server.
-A web module's alternate docroots are considered only once a request has
-been mapped to that web module.
-
-If a request matches an alternate docroot's URI pattern, it is mapped to
-the alternate docroot by appending the request URI (minus the web
-application's context root) to the alternate docroot's physical location
-(directory). If a request matches multiple URI patterns, the alternate
-docroot is determined according to the following precedence order:
-
-* Exact match
-* Longest path match
-* Extension match
-
-For example, the following properties specify three `glassfish-web.xml`
-docroots. The URI pattern of the first alternate docroot uses an exact
-match, whereas the URI patterns of the second and third alternate
-docroots use extension and longest path prefix matches, respectively.
-
-[source,oac_no_warn]
-----
-<property name="alternatedocroot_1" value="from=/my.jpg dir=/srv/images/jpg"/>
-<property name="alternatedocroot_2" value="from=*.jpg dir=/srv/images/jpg"/>
-<property name="alternatedocroot_3" value="from=/jpg/* dir=/src/images"/>
-----
-
-The `value` of each alternate docroot has two components: The first
-component, `from`, specifies the alternate docroot's URI pattern, and
-the second component, `dir`, specifies the alternate docroot's physical
-location (directory).
-
-Suppose the above examples belong to a web application deployed at
-`http://company22.com/myapp`. The first alternate docroot maps any
-requests with this URL:
-
-[source,oac_no_warn]
-----
-http://company22.com/myapp/my.jpg
-----
-
-To this resource:
-
-[source,oac_no_warn]
-----
-/svr/images/jpg/my.jpg
-----
-
-The second alternate docroot maps any requests with a `*.jpg` suffix,
-such as:
-
-[source,oac_no_warn]
-----
-http://company22.com/myapp/*.jpg
-----
-
-To this physical location:
-
-[source,oac_no_warn]
-----
-/svr/images/jpg
-----
-
-The third alternate docroot maps any requests whose URI starts with
-`/myapp/jpg/`, such as:
-
-[source,oac_no_warn]
-----
-http://company22.com/myapp/jpg/*
-----
-
-To the same directory as the second alternate docroot.
-
-For example, the second alternate docroot maps this request:
-
-[source,oac_no_warn]
-----
-http://company22.com/myapp/abc/def/my.jpg
-----
-
-To:
-
-[source,oac_no_warn]
-----
-/srv/images/jpg/abc/def/my.jpg
-----
-
-The third alternate docroot maps:
-
-[source,oac_no_warn]
-----
-http://company22.com/myapp/jpg/abc/resource
-----
-
-To:
-
-[source,oac_no_warn]
-----
-/srv/images/jpg/abc/resource
-----
-
-If a request does not match any of the target web application's
-alternate docroots, or if the target web application does not specify
-any alternate docroots, the request is served from the web application's
-standard docroot, as usual.
-
-[[geurd]][[GSDVG00416]][[using-a-context.xml-file]]
-
-Using a context.xml File
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can define a `context.xml` file for all web applications, for web
-applications assigned to a specific virtual server, or for a specific
-web application.
-
-To define a global `context.xml` file, place the file in the
-domain-dir`/config` directory and name it `context.xml`.
-
-Use the `contextXmlDefault` property to specify the name and the
-location, relative to domain-dir, of the `context.xml` file for a
-specific virtual server. Specify this property in one of the following
-ways:
-
-* In the Administration Console, open the HTTP Service component under
-the relevant configuration. Open the Virtual Servers component and
-scroll down to the bottom of the page. Enter `contextXmlDefault` as the
-property name and the path and file name relative to domain-dir as the
-property value.
-* Use the `asadmin create-virtual-server` command. For example: +
-[source,oac_no_warn]
-----
-asadmin create-virtual-server --property contextXmlDefault=config/vs1ctx.xml vs1
-----
-* Use the `asadmin set` command for an existing virtual server. For
-example: +
-[source,oac_no_warn]
-----
-asadmin set server-config.http-service.virtual-server.vs1.property.contextXmlDefault=config/myctx.xml
-----
-
-To define a `context.xml` file for a specific web application, place the
-file in the `META-INF` directory and name it `context.xml`.
-
-For more information about virtual server properties, see
-link:#gilyj[Virtual Server Properties]. For more information about the
-`context.xml` file, see
-http://tomcat.apache.org/tomcat-5.5-doc/config/context.html[The Context
-Container]
-(`http://tomcat.apache.org/tomcat-5.5-doc/config/context.html`). Context
-parameters, environment entries, and resource definitions in
-`context.xml` are supported in the GlassFish Server.
-
-[[gezcx]][[GSDVG00417]][[enabling-webdav]]
-
-Enabling WebDav
-^^^^^^^^^^^^^^^
-
-To enable WebDav in the GlassFish Server, you edit the `web.xml` and
-`glassfish-web.xml` files as follows.
-
-First, enable the WebDav servlet in your `web.xml` file:
-
-[source,oac_no_warn]
-----
-<servlet>
-   <servlet-name>webdav</servlet-name>
-   <servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
-   <init-param>
-      <param-name>debug</param-name>
-      <param-value>0</param-value>
-   </init-param>
-   <init-param>
-      <param-name>listings</param-name>
-      <param-value>true</param-value>
-   </init-param>
-   <init-param>
-      <param-name>readonly</param-name>
-      <param-value>false</param-value>
-   </init-param>
-</servlet>
-----
-
-Then define the servlet mapping associated with your WebDav servlet in
-your `web.xml` file:
-
-[source,oac_no_warn]
-----
-<servlet-mapping>
-   <servlet-name>webdav</servlet-name>
-   <url-pattern>/webdav/*</url-pattern>
-</servlet-mapping>
-----
-
-To protect the WebDav servlet so other users can't modify it, add a
-security constraint in your `web.xml` file:
-
-[source,oac_no_warn]
-----
-<security-constraint>
-   <web-resource-collection>
-      <web-resource-name>Login Resources</web-resource-name>
-      <url-pattern>/webdav/*</url-pattern>
-   </web-resource-collection>
-   <auth-constraint>
-      <role-name>Admin</role-name>
-   </auth-constraint>
-   <user-data-constraint>
-      <transport-guarantee>NONE</transport-guarantee>
-   </user-data-constraint>
-   <login-config>
-      <auth-method>BASIC</auth-method>
-      <realm-name>default</realm-name>
-   </login-config>
-   <security-role>
-      <role-name>Admin</role-name>
-   </security-role>
-</security-constraint>
-----
-
-Then define a security role mapping in your `glassfish-web.xml` file:
-
-[source,oac_no_warn]
-----
-<security-role-mapping>
-   <role-name>Admin</role-name>
-   <group-name>Admin</group-name>
-</security-role-mapping>
-----
-
-If you are using the `file` realm, create a user and password. For
-example:
-
-[source,oac_no_warn]
-----
-asadmin create-file-user --groups Admin --authrealmname default admin
-----
-
-Enable the security manager as described in
-link:securing-apps.html#gbyah[Enabling and Disabling the Security
-Manager].
-
-You can now use any WebDav client by connecting to the WebDav servlet
-URL, which has this format:
-
-[source,oac_no_warn]
-----
-http://host:port/context-root/webdav/file
-----
-
-For example:
-
-[source,oac_no_warn]
-----
-http://localhost:80/glassfish-webdav/webdav/index.html
-----
-
-You can add the WebDav servlet to your `default-web.xml` file to enable
-it for all applications, but you can't set up a security role mapping to
-protect it.
-
-[[ghepd]][[GSDVG00418]][[using-ssi]]
-
-Using SSI
-^^^^^^^^^
-
-To enable SSI (server-side includes) processing for a specific web
-module, add the `SSIServlet` to your `web.xml` file as follows:
-
-[source,oac_no_warn]
-----
-<web-app>
-   <servlet>
-      <servlet-name>ssi</servlet-name>
-      <servlet-class>org.apache.catalina.ssi.SSIServlet</servlet-class>
-   </servlet>
-   ...
-   <servlet-mapping>
-      <servlet-name>ssi</servlet-name>
-      <url-pattern>*.shtml</url-pattern>
-   </servlet-mapping>
-   ...
-   <mime-mapping>
-      <extension>shtml</extension>
-      <mime-type>text/html</mime-type>
-   </mime-mapping>
-</web-app>
-----
-
-To enable SSI processing for all web modules, un-comment the
-corresponding sections in the `default-web.xml` file.
-
-If the `mime-mapping` is not specified in `web.xml`, GlassFish Server
-attempts to determine the MIME type from `default-web.xml` or the
-operating system default.
-
-You can configure the following `init-param` values for the
-`SSIServlet`.
-
-[[GSDVG545]][[sthref16]][[gheoy]]
-
-
-Table 7-4 `SSIServlet` `init-param` Values
-
-[width="100%",cols="28%,11%,20%,41%",options="header",]
-|=======================================================================
-|init-param |Type |Default |Description
-|buffered |`boolean` |`false` |Specifies whether the output should be
-buffered.
-
-|debug |`int` |`0` (for no debugging) |Specifies the debugging level.
-
-|expires |`Long` |`Expires` header in HTTP response not set |Specifies
-the expiration time in seconds.
-
-|inputEncoding |`String` |operating system encoding |Specifies encoding
-for the SSI input if there is no URL content encoding specified.
-
-|isVirtualWebappRelative |`boolean` |`false` (relative to the given SSI
-file) |Specifies whether the virtual path of the `#include` directive is
-relative to the `content-root`.
-
-|outputEncoding |`String` |UTF-8 |Specifies encoding for the SSI output.
-|=======================================================================
-
-
-For more information about SSI, see
-`http://httpd.apache.org/docs/2.2/mod/mod_include.html`.
-
-[[ghepi]][[GSDVG00419]][[using-cgi]]
-
-Using CGI
-^^^^^^^^^
-
-To enable CGI (common gateway interface) processing for a specific web
-module, add the `CGIServlet` to your `web.xml` file as follows:
-
-[source,oac_no_warn]
-----
-<web-app>
-   <servlet>
-      <servlet-name>cgi</servlet-name>
-      <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
-   </servlet>
-   ...
-   <servlet-mapping>
-      <servlet-name>cgi</servlet-name>
-      <url-pattern>/cgi-bin/*</url-pattern>
-   </servlet-mapping>
-</web-app>
-----
-
-To enable CGI processing for all web modules, un-comment the
-corresponding sections in the `default-web.xml` file.
-
-Package the CGI program under the `cgiPathPrefix`. The default
-`cgiPathPrefix` is `WEB-INF/cgi`. For security, it is highly recommended
-that the contents and binaries of CGI programs be prohibited from direct
-viewing or download. For information about hiding directory listings,
-see link:#beagc[Using the `default-web.xml` File].
-
-Invoke the CGI program using a URL of the following format:
-
-[source,oac_no_warn]
-----
-http://host:8080/context-root/cgi-bin/cgi-name
-----
-
-For example:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/mycontext/cgi-bin/hello
-----
-
-You can configure the following `init-param` values for the
-`CGIServlet`.
-
-[[GSDVG546]][[sthref17]][[ghern]]
-
-
-Table 7-5 `CGIServlet` `init-param` Values
-
-[width="100%",cols="25%,11%,27%,37%",options="header",]
-|=======================================================================
-|init-param |Type |Default |Description
-|cgiPathPrefix |`String` |`WEB-INF/cgi` |Specifies the subdirectory
-containing the CGI programs.
-
-|debug |`int` |`0` (for no debugging) |Specifies the debugging level.
-
-|executable |`String` |`perl` |Specifies the executable for running the
-CGI script.
-
-|parameterEncoding |`String` |`System.getProperty``("file.encoding",`
-`"UTF-8")` |Specifies the parameter's encoding.
-
-|passShellEnvironment |`boolean` |`false` |Specifies whether to pass
-shell environment properties to the CGI program.
-|=======================================================================
-
-
-To work with a native executable, do the following:
-
-1.  Set the value of the `init-param` named executable to an empty
-`String` in the `web.xml` file.
-2.  Make sure the executable has its executable bits set correctly.
-3.  Use directory deployment to deploy the web module. Do not deploy it
-as a WAR file, because the executable bit information is lost during the
-process of `jar` and `unjar`. For more information about directory
-deployment, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide].
-
-
diff --git a/docs/application-development-guide/src/main/jbake/content/webservices.adoc b/docs/application-development-guide/src/main/jbake/content/webservices.adoc
deleted file mode 100644
index 00a2aa1..0000000
--- a/docs/application-development-guide/src/main/jbake/content/webservices.adoc
+++ /dev/null
@@ -1,357 +0,0 @@
-type=page
-status=published
-title=Developing Web Services
-next=jpa.html
-prev=securing-apps.html
-~~~~~~
-Developing Web Services
-=======================
-
-[[GSDVG00007]][[gaszn]]
-
-
-[[developing-web-services]]
-5 Developing Web Services
--------------------------
-
-This chapter describes Oracle GlassFish Server support for web services.
-The following topics are addressed here:
-
-* link:#gbizi[Creating Portable Web Service Artifacts]
-* link:#gbixz[Deploying a Web Service]
-* link:#gbiyw[The Web Service URI, WSDL File, and Test Page]
-* link:#CHDEBBCH[The Databinding Provider]
-* link:#gcgzz[GlassFish Java EE Service Engine]
-
-
-[NOTE]
-=======================================================================
-
-If you installed the Web Profile, web services are not supported unless
-the optional Metro Web Services Stack add-on component is downloaded
-from the Update Tool. Without the Metro add-on component, a servlet or
-EJB component cannot be a web service endpoint, and the
-`glassfish-web.xml` and `glassfish-ejb-jar.xml` elements related to web
-services are ignored. For information about the Update Tool, see
-"olink:GSADG00701[Update Tool]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-In addition, the as-install`/modules/webservices-osgi.jar` and
-as-install`/modules/webservices-api-osgi.jar` files must be in
-the classpath of your web services application. IDEs such as NetBeans
-and Eclipse do this automatically.
-
-=======================================================================
-
-
-"https://javaee.github.io/tutorial/partwebsvcs.html[Web Services]" in
-The Java EE 8 Tutorial shows how to deploy simple web services to
-GlassFish Server.
-
-For additional information about JAXB (Java Architecture for XML
-Binding), see
-http://jcp.org/aboutJava/communityprocess/pfd/jsr222/index.html[Java
-Specification Request (JSR) 222] and link:#CHDEBBCH[The Databinding
-Provider].
-
-For additional information about JAX-WS (Java API for XML-Based Web
-Services), see
-http://jcp.org/aboutJava/communityprocess/pfd/jsr224/index.html[Java
-Specification Request (JSR) 224] and
-http://jcp.org/en/jsr/detail?id=109[Java Specification Request (JSR)
-109].
-
-For information about web services security, see
-link:securing-apps.html#beaca[Configuring Message Security for Web
-Services].
-
-The Fast Infoset standard specifies a binary format based on the XML
-Information Set. This format is an efficient alternative to XML. For
-information about using Fast Infoset, see the following links:
-
-* http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/ReleaseNotes.html[Java
-Web Services Developer Pack 1.6 Release Notes]
-* http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/jaxrpc/fastinfoset/manual.html[Fast
-Infoset in Java Web Services Developer Pack, Version 1.6]
-* https://javaee.github.io/metro-fi/[Fast Infoset Project]
-(`https://javaee.github.io/metro-fi/`
-
-[[gbizi]][[GSDVG00126]][[creating-portable-web-service-artifacts]]
-
-Creating Portable Web Service Artifacts
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For a tutorial that shows how to use the `wsimport` and `wsgen`
-commands, see "https://javaee.github.io/tutorial/partwebsvcs.html[Web
-Services]" in The Java EE 8 Tutorial.
-
-[[gbixz]][[GSDVG00127]][[deploying-a-web-service]]
-
-Deploying a Web Service
-~~~~~~~~~~~~~~~~~~~~~~~
-
-You deploy a web service endpoint to the GlassFish Server just as you
-would any servlet, stateless session bean (SLSB), or application.
-
-
-[NOTE]
-=======================================================================
-
-For complex services with dependent classes, user specified WSDL files,
-or other advanced features, autodeployment of an annotated file is not
-sufficient.
-
-=======================================================================
-
-
-The GlassFish Server deployment descriptor files `glassfish-web.xml` and
-`glassfish-ejb-jar.xml` provide optional web service enhancements in the
-`webservice-endpoint` and `webservice-description` elements, including a
-`debugging-enabled` subelement that enables the creation of a test page.
-The test page feature is enabled by default and described in
-link:#gbiyw[The Web Service URI, WSDL File, and Test Page].
-
-For more information about deployment, autodeployment, and deployment
-descriptors, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide]. For more information about the
-`asadmin deploy` command, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open
-Source Edition Reference Manual].
-
-[[gbiyw]][[GSDVG00128]][[the-web-service-uri-wsdl-file-and-test-page]]
-
-The Web Service URI, WSDL File, and Test Page
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Clients can run a deployed web service by accessing its service endpoint
-address URI, which has the following format:
-
-[source,oac_no_warn]
-----
-http://host:port/context-root/servlet-mapping-url-pattern
-----
-
-The context-root is defined in the `application.xml` or `web.xml` file,
-and can be overridden in the `glassfish-application.xml` or
-`glassfish-web.xml` file. The servlet-mapping-url-pattern is defined in
-the `web.xml` file.
-
-In the following example, the context-root is `my-ws` and the
-servlet-mapping-url-pattern is `/simple`:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/my-ws/simple
-----
-
-You can view the WSDL file of the deployed service in a browser by
-adding `?WSDL` to the end of the URI. For example:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/my-ws/simple?WSDL
-----
-
-For debugging, you can run a test page for the deployed service in a
-browser by adding `?Tester` to the end of the URL. For example:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/my-ws/simple?Tester
-----
-
-You can also test a service using the Administration Console. Open the
-Web Services component, select the web service in the listing on the
-General tab, and select Test. For details, click the Help button in the
-Administration Console.
-
-
-[NOTE]
-=======================================================================
-
-The test page works only for WS-I compliant web services. This means
-that the tester servlet does not work for services with WSDL files that
-use RPC/encoded binding.
-
-=======================================================================
-
-
-Generation of the test page is enabled by default. You can disable the
-test page for a web service by setting the value of the
-`debugging-enabled` element in the `glassfish-web.xml` and
-`glassfish-ejb-jar.xml` deployment descriptor to `false`. For more
-information, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide].
-
-[[CHDEBBCH]][[GSDVG536]][[the-databinding-provider]]
-
-The Databinding Provider
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The JAX-WS reference implementation (RI) used to be dependent on the
-JAXB RI for databinding. JAXB and JAX-WS implementations have been
-decoupled, and databinding is modular. JAXB and JAX-WS are no longer
-Java EE APIs.
-
-The EclipseLink JAXB implementation, plus EclipseLink extensions, is
-called MOXy. The `org.eclipse.persistence.moxy.jar` file is bundled with
-GlassFish Server, which supports the JAXB RI and MOXy as databinding
-providers.
-
-To specify the databinding provider for the JVM, set the
-`com.sun.xml.ws.spi.db.BindingContextFactory` JVM property to one of the
-following values:
-
-com.sun.xml.ws.db.glassfish.JAXBRIContextFactory::
-  Specifies the JAXB reference implementation. This is the default.
-com.sun.xml.ws.db.toplink.JAXBContextFactory::
-  Specifies Eclipselink MOXy JAXB binding.
-
-For example:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options -Dcom.sun.xml.ws.spi.db.BindingContextFactory=com.sun.xml.ws.db.toplink.JAXBContextFactory
-----
-
-To specify the databinding provider for a web service endpoint:
-
-* Set the `org.jvnet.ws.databinding.DatabindingModeFeature` feature
-during `WebServiceFeature` initialization or using the `add` method.
-Allowed values are as follows:::
-org.jvnet.ws.databinding.DatabindingModeFeature.GLASSFISH_JAXB::
-  Specifies the JAXB reference implementation. This is the default.
-com.sun.xml.ws.db.toplink.JAXBContextFactory.ECLIPSELINK_JAXB::
-  Specifies Eclipselink MOXy JAXB binding. +
-For example: +
-[source,oac_no_warn]
-----
-import jakarta.xml.ws.WebServiceFeature;
-import org.jvnet.ws.databinding.DatabindingModeFeature;
-import com.sun.xml.ws.db.toplink.JAXBContextFactory;
-...
-WebServiceFeature[] features = {new DatabindingModeFeature(JAXBContextFactory.ECLIPSELINK_JAXB)};
-...
-----
-* Set the `org.jvnet.ws.databinding.DatabindingModeFeature` feature
-using the `@DatabindingMode` annotation. For example: +
-[source,oac_no_warn]
-----
-import jakarta.jws.WebService;
-import org.jvnet.ws.databinding.DatabindingMode;
-import com.sun.xml.ws.db.toplink.JAXBContextFactory;
-...
-@WebService()
-@DatabindingMode(JAXBContextFactory.ECLIPSELINK_JAXB);
-...
-----
-* Set the `databinding` attribute of the `endpoint` element in the
-`sun-jaxws.xml` file. Allowed values are `glassfish.jaxb` or
-`eclipselink.jaxb`. For example: +
-[source,oac_no_warn]
-----
-<endpoint
-name='hello'
-implementation='hello.HelloImpl'
-url-pattern='/hello'
-databinding='eclipselink.jaxb'/>
-----
-
-The EclipseLink JAXB compiler is not included but can be used with
-GlassFish Server. Download the EclipseLink zip file at
-`http://www.eclipse.org/eclipselink/downloads/` and unzip it. The
-compiler files are located here:
-
-[source,oac_no_warn]
-----
-bin/jaxb-compiler.cmd
-bin/jaxb-compiler.sh
-----
-
-[[gcgzz]][[GSDVG00129]][[glassfish-java-ee-service-engine]]
-
-GlassFish Java EE Service Engine
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server 5.0 provides the GlassFish Java EE Service Engine, a
-JSR 208 compliant Java Business Integration (JBI) runtime component that
-connects Java EE web services to JBI components. The Java EE Service
-Engine is installed as an add-on component using the Update Tool. Look
-for the JBI component named Java EE Service Engine. A JBI runtime is not
-installed with or integrated into GlassFish Server 5.0 and must be
-obtained separately. For more information about using the Update Tool to
-obtain the Java EE Service Engine and other add-on components, see
-"link:../administration-guide/toc.html#GSADG00701[Update Tool]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-The Java EE Service Engine acts as a bridge between the Java EE and JBI
-runtime environments for web service providers and web service
-consumers. The Java EE Service Engine provides better performance than a
-SOAP over HTTP binding component due to in-process communication between
-components and additional protocols provided by JBI binding components
-such as JMS, SMTP, and File.
-
-The http://jcp.org/en/jsr/detail?id=208[JSR 208]
-(`http://jcp.org/en/jsr/detail?id=208`) specification allows
-transactions to be propagated to other components using a message
-exchange property specified in the `JTA_TRANSACTION_PROPERTY_NAME`
-field. The Java EE Service Engine uses this property to set and get a
-transaction object from the JBI message exchange. It then uses the
-transaction object to take part in a transaction. This means a Java EE
-application or module can take part in a transaction started by a JBI
-application. Conversely, a JBI application can take part in a
-transaction started by a Java EE application or module.
-
-Similarly, the JSR 208 specification allows a security subject to be
-propagated as a message exchange property named
-`javax.jbi.security.subject`. Thus a security subject can be propagated
-from a Java EE application or module to a JBI application or the
-reverse.
-
-To deploy a Java EE application or module as a JBI service unit, use the
-`asadmin deploy` command, or autodeployment. For more information about
-the `asadmin deploy` command, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open
-Source Edition Reference Manual]. For more information about
-autodeployment, see "link:../application-deployment-guide/deploying-applications.html#GSDPG00041[To Deploy an Application or Module
-Automatically]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-[[gelxr]][[GSDVG00387]][[using-the-jbi.xml-file]]
-
-Using the `jbi.xml` File
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Section 6.3.1 of the JSR 208 specification describes the `jbi.xml` file.
-This is a deployment descriptor, located in the `META-INF` directory. To
-deploy a Java EE application or module as a JBI service unit, you need
-only specify a small subset of elements in the `jbi.xml` file. Here is
-an example provider:
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<jbi version="1.0" xmlns="http://java.sun.com/xml/ns/jbi" xmlns:ns0="http://ejbws.jbi.misc/">
-  <services binding-component="false">
-    <provides endpoint-name="MiscPort" interface-name="ns0:Misc" service-name="ns0:MiscService"/>
-  </services>
-</jbi>
-----
-
-Here is an example consumer:
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<jbi version="1.0" xmlns="http://java.sun.com/xml/ns/jbi" xmlns:ns0="http://message.hello.jbi/">
-  <services binding-component="false">
-    <consumes endpoint-name="MsgPort" interface-name="ns0:Msg" service-name="ns0:MsgService"/>
-  </services>
-</jbi>
-----
-
-The Java EE Service Engine enables the endpoints described in the
-`provides` section of the `jbi.xml` file in the JBI runtime. Similarly,
-the Java EE Service Engine routes invocations of the endpoints described
-in the `consumes` section from the Java EE web service consumer to the
-JBI runtime.
-
-
diff --git a/docs/application-development-guide/src/main/jbake/jbake.properties b/docs/application-development-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/application-development-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/application-development-guide/src/main/jbake/templates/footer.ftl b/docs/application-development-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/application-development-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/application-development-guide/src/main/jbake/templates/header.ftl b/docs/application-development-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/application-development-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/application-development-guide/src/main/jbake/templates/menu.ftl b/docs/application-development-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/application-development-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/application-development-guide/src/main/jbake/templates/page.ftl b/docs/application-development-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/application-development-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/deployment-planning-guide/README.md b/docs/deployment-planning-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/deployment-planning-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/deployment-planning-guide/pom.xml b/docs/deployment-planning-guide/pom.xml
index 3c09b11..375e4a6 100644
--- a/docs/deployment-planning-guide/pom.xml
+++ b/docs/deployment-planning-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>deployment-planning-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Deployment Planning Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Deployment Planning Guide, Release 7</name>
 </project>
diff --git a/docs/deployment-planning-guide/src/main/asciidoc/checklist.adoc b/docs/deployment-planning-guide/src/main/asciidoc/checklist.adoc
new file mode 100644
index 0000000..4f4b04f
--- /dev/null
+++ b/docs/deployment-planning-guide/src/main/asciidoc/checklist.adoc
@@ -0,0 +1,165 @@
+type=page
+status=published
+title=Checklist for Deployment
+prev=planning.html
+~~~~~~
+
+= Checklist for Deployment
+
+[[GSPLG00003]][[abfeq]]
+
+
+[[checklist-for-deployment]]
+== 3 Checklist for Deployment
+
+This appendix provides a checklist to get started on evaluation and
+production with the {productName}.
+
+[[sthref7]][[checklist]]
+
+=== Checklist
+
+[[sthref8]][[sthref9]]
+
+Table 3-1 Checklist
+
+[width="100%",cols="<23%,<77%",options="header",]
+|===
+|Component/Feature |Description
+|Application
+a|Determine the following requirements for the application to be deployed.
+
+* Required/acceptable response time.
+* Peak load characteristics.
+* Necessary persistence scope and frequency.
+* Session timeout in `web.xml`.
+* Failover and availability requirements.
+
+For more information see the link:performance-tuning-guide.html#GSPTG[
+{productName} Performance Tuning Guide].
+
+|Hardware
+a|
+* Have necessary amounts of hard disk space and memory installed.
+* Use the sizing exercise to identify the requirements for deployment.
+
+For more information see the link:release-notes.html#GSRLN[{productName} Release Notes]
+
+|Operating System
+a|
+* Ensure that the product is installed on a supported platform.
+* Ensure that the patch levels are up-to-date and accurate.
+
+For more information see the link:release-notes.html#GSRLN[{productName} Release Notes]
+
+|Network Infrastructure
+a|
+* Identify single points of failures and address them.
+* Make sure that the NICs and other network components are correctly configured.
+* Run `ttcp` benchmark test to determine if the throughput meets the requirements/expected result.
+* Setup `ssh` based your preference.
+
+For more information see the link:installation-guide.html#GSING[{productName} Installation Guide].
+
+|Back-ends and other external data sources
+|Check with the domain expert or vendor to ensure that these data sources
+are configured appropriately.
+
+|System Changes/Configuration
+a|
+* Make sure that changes to `/etc/system` and its equivalent on Linux
+  are completed before running any performance/stress tests.
+* Make sure the changes to the TCP/IP settings are complete.
+* By default, the system comes with lots of services pre-configured. Not
+  all of them are required to be running. Turn off services that are not
+  needed to conserve system resources.
+* On Solaris, use `Setoolkit` to determine the behavior of the system.
+  Resolve any flags that show up.
+
+For more information see the link:performance-tuning-guide.html#GSPTG[{productName} Performance Tuning Guide].
+
+|Installation
+a|
+* Ensure that these servers are not installed on NFS mounted volumes.
+* Check for enough disk space and RAM when installing {productName}.
+
+|{productName} Configuration
+a|
+* Logging: Enable access log rotation.
+* Choose the right logging level. WARNING is usually appropriate.
+* Configure Jakarta EE containers using the Administration Console.
+* Configure HTTP listeners using the Administration Console.
+* Configure ORB threadpool using the Administration Console.
+* If using Type2 drivers or calls involving native code, ensure that
+  mtmalloc.so is specified in the LD_LIBRARY_PATH.
+* Ensure that the appropriate persistence scope and frequency are used
+  and they are not overridden underneath in the individual Web/EJB modules.
+* Ensure that only critical methods in the SFSB are checkpointed.
+
+For more information on tuning, see the link:performance-tuning-guide.html#GSPTG[{productName} Performance Tuning Guide].
+
+For more information on configuration, see the link:administration-guide.html#GSADG[{productName} Administration Guide].
+
+|Load balancer Configuration
+a|
+* Make sure the Web Server is installed.
+* Make sure the load balancer plug-in into the Web Server is installed.
+* Make sure patch checks is disabled.
+* Lower the value of the `KeepAliveQuery` parameter. The lower the
+  value, the lower the latency is on lightly loaded systems. The higher
+  the value, the higher the throughput is on highly loaded systems.
+
+|Java Virtual Machine Configuration
+a|
+* Initially set the minimum and maximum heap sizes to be the same, and
+  at least one GB for each instance.
+* See http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[
+  Java Hotspot VM Options]
+(`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`)
+  for more information.
+* When running multiple instances of {productName}, consider creating
+  a processor set and bind {productName} to it. This helps in cases
+  where the CMS collector is used to sweep the old generation.
+
+|Configuring time-outs in the load balancer
+a|
+* Response-time-out-in-seconds - How long the load balancer waits before
+  declaring a {productName} instance unhealthy. Set this value based on
+  the response time of the application. If set too high, the Web Server
+  and load balancer plug-in wait a long time before marking a {productName} instance as unhealthy. If set too low and {productName}'s
+  response time crosses this threshold, the instance will be incorrectly
+  marked as unhealthy.
+* Interval-in-seconds - Time in seconds after which unhealthy instances
+  are checked to find out if they have returned to a healthy state. Too
+  low a value generates extra traffic from the load balancer plug-in to
+  {productName} instances and too high a value delays the routing of
+  requests to the instance that has turned healthy.
+* Timeout-in-seconds - Duration for a response to be obtained for a
+  health check request. Adjust this value based on the traffic among the
+  systems in the cluster to ensure that the health check succeeds.
+
+|Configuring time-outs in {productName}
+a|
+* Max-wait-time-millis - Wait time to get a connection from the pool
+  before throwing an exception. Default is 6 s. Consider changing this
+  value for highly loaded systems where the size of the data being
+  persisted is greater than 50 KB.
+* Cache-idle-timeout-in-seconds - Time an EJB is allowed to be idle in
+  the cache before it gets passivated. Applies only to entity beans and
+  stateful session beans.
+* Removal-timeout-in-seconds - Time that an EJB remains passivated (idle
+  in the backup store). Default value is 60 minutes. Adjust this value
+  based on the need for SFSB failover.
+
+|Tune VM Garbage Collection (GC)
+a| Garbage collection pauses of four seconds or more can cause intermittent
+problems in persisting session state. To avoid this problem, tune the VM
+heap. In cases where even a single failure to persist data is
+unacceptable or when the system is not fully loaded, use the CMS
+collector or the throughput collector.
+
+These can be enabled by adding: +
+`<jvm-options>-XX:+UseConcMarkSweepGC</jvm-options>`
+
+This option may decrease throughput.
+|===
diff --git a/docs/deployment-planning-guide/src/main/asciidoc/concepts.adoc b/docs/deployment-planning-guide/src/main/asciidoc/concepts.adoc
new file mode 100644
index 0000000..57b9b66
--- /dev/null
+++ b/docs/deployment-planning-guide/src/main/asciidoc/concepts.adoc
@@ -0,0 +1,570 @@
+type=page
+status=published
+title=Product Concepts
+next=planning.html
+prev=preface.html
+~~~~~~
+
+= Product Concepts
+
+[[GSPLG00001]][[abfaq]]
+
+
+[[product-concepts]]
+== 1 Product Concepts
+
+{productName} provides a robust platform for the
+development, deployment, and management of Jakarta EE applications. Key
+features include scalable transaction management, web services
+performance, clustering, security, and integration capabilities.
+
+The following topics are addressed here:
+
+* link:#abfar[Jakarta EE Platform Overview]
+* link:#abfay[{productName} Components]
+* link:#abfca[Configuration Roadmap for High Availability of {productName}]
+
+[[abfar]][[GSPLG00016]][[java-ee-platform-overview]]
+
+=== Jakarta EE Platform Overview
+
+{productName} implements Java platform, Enterprise Edition (Jakarta EE)
+7 technology. The Jakarta EE platform is a set of standard specifications
+that describe application components, APIs, and the runtime containers
+and services of an application server.
+
+[[abfas]][[GSPLG00040]][[java-ee-applications]]
+
+==== Jakarta EE Applications
+
+Jakarta EE applications are made up of components such as JavaServer Pages
+(JSP), Java servlets, and Enterprise JavaBeans (EJB) modules. These
+components enable software developers to build large-scale, distributed
+applications. Developers package Jakarta EE applications in Java Archive
+(JAR) files (similar to zip files), which can be distributed to
+production sites. Administrators install Jakarta EE applications onto
+{productName} by deploying Jakarta EE JAR files onto one or more server
+instances (or clusters of instances).
+
+[[abfat]][[GSPLG00041]][[containers]]
+
+==== Containers
+
+Each server instance includes two containers: web and EJB. A container
+is a runtime environment that provides services such as security and
+transaction management to Jakarta EE components. Web components, such as
+Java Server Pages and servlets, run within the web container. Enterprise
+JavaBeans run within the EJB container.
+
+[[abfau]][[GSPLG00042]][[java-ee-services]]
+
+==== Jakarta EE Services
+
+The Jakarta EE platform provides services for applications, including:
+
+* Naming - A naming and directory service binds objects to names. A Java
+EE application can locate an object by looking up its Java Naming and
+Directory Interface (JNDI) name.
+* Security - The Java Authorization Contract for Containers (JACC) is a
+set of security contracts defined for the Jakarta EE containers. Based on
+the client's identity, containers can restrict access to the container's
+resources and services.
+* Transaction management - A transaction is an indivisible unit of work.
+For example, transferring funds between bank accounts is a transaction.
+A transaction management service ensures that a transaction is either
+completed, or is rolled back.
+* Message Service - Applications hosted on separate systems can
+communicate with each other by exchanging messages using the Java
+Message Service (JMS). JMS is an integral part of the Jakarta EE platform
+and simplifies the task of integrating heterogeneous enterprise
+applications.
+
+[[abfav]][[GSPLG00043]][[web-services]]
+
+==== Web Services
+
+Clients can access a Jakarta EE application as a remote web service in
+addition to accessing it through HTTP, RMI/IIOP, and JMS. Web services
+are implemented using the Java API for XML-based web services (JAX-WS).
+A Jakarta EE application can also act as a client to web services, which
+would be typical in network applications.
+
+Web Services Description Language (WSDL) is an XML format that describes
+web service interfaces. Web service consumers can dynamically parse a
+WSDL document to determine the operations a web service provides and how
+to execute them. {productName} distributes web services interface
+descriptions using a registry that other applications can access through
+the Java API for XML Registries (JAXR).
+
+[[abfaw]][[GSPLG00044]][[client-access]]
+
+==== Client Access
+
+Clients can access Jakarta EE applications in several ways. Browser clients
+access web applications using hypertext transfer protocol (HTTP). For
+secure communication, browsers use the HTTP secure (HTTPS) protocol that
+uses secure sockets layer (SSL).
+
+Rich client applications running in the Application Client Container can
+directly lookup and access Enterprise JavaBeans using an Object Request
+Broker (ORB), Remote Method Invocation (RMI) and the internet inter-ORB
+protocol (IIOP), or IIOP/SSL (secure IIOP). They can access applications
+and web services using HTTP/HTTPS, JMS, and JAX-WS. They can use JMS to
+send messages to and receive messages from applications and
+message-driven beans.
+
+Clients that conform to the Web Services-Interoperability (WS-I) Basic
+Profile can access Jakarta EE web services. WS-I is an integral part of the
+Jakarta EE standard and defines interoperable web services. It enables
+clients written in any supporting language to access web services
+deployed to {productName}.
+
+The best access mechanism depends on the specific application and the
+anticipated volume of traffic. {productName} supports separately
+configurable listeners for HTTP, HTTPS, JMS, IIOP, and IIOP/SSL. You can
+set up multiple listeners for each protocol for increased scalability
+and reliability.
+
+Jakarta EE applications can also act as clients of Jakarta EE components such
+as Enterprise JavaBeans modules deployed on other servers, and can use
+any of these access mechanisms.
+
+[[abfax]][[GSPLG00045]][[external-systems-and-resources]]
+
+==== External Systems and Resources
+
+On the Jakarta EE platform, an external system is called a resource. For
+example, a database management system is a JDBC resource. Each resource
+is uniquely identified and by its Java Naming and Directory Interface
+(JNDI) name. Applications access external systems through the following
+APIs and components:
+
+* Java Database Connectivity (JDBC) - A database management system
+(DBMS) provides facilities for storing, organizing, and retrieving data.
+Most business applications store data in relational databases, which
+applications access via JDBC. {productName} includes the Java DB
+database for use sample applications and application development and
+prototyping, though it is not suitable for deployment. {productName}
+provides certified JDBC drivers for connecting to major relational
+databases. These drivers are suitable for deployment.
+* Java Message Service - Messaging is a method of communication between
+software components or applications. A messaging client sends messages
+to, and receives messages from, any other client via a messaging
+provider that implements the Java Messaging Service (JMS) API. {productName} includes a high-performance JMS broker, Open Message Queue.
+* Jakarta EE Connectors - The Jakarta EE Connector architecture enables
+integrating Jakarta EE applications and existing Enterprise Information
+Systems (EIS). An application accesses an EIS through a portable Jakarta EE
+component called a connector or resource adapter, analogous to using
+JDBC driver to access an RDBMS. Resource adapters are distributed as
+standalone Resource Adapter Archive (RAR) modules or included in Jakarta EE
+application archives. As RARs, they are deployed like other Jakarta EE
+components. {productName} includes evaluation resource adapters that
+integrate with popular EIS.
+* JavaMail - Through the JavaMail API, applications can connect to a
+Simple Mail Transport Protocol (SMTP) server to send email and to an
+IMAP or POP3 server to receive email.
+
+[[abfay]][[GSPLG00017]][[glassfish-server-components]]
+
+=== {productName} Components
+
+This section describes the components in {productName}.
+
+The following topics are addressed here:
+
+* link:#abfaz[Server Instances]
+* link:#abfba[Administrative Domains]
+* link:#abfbc[Clusters]
+* link:#abfbe[Named Configurations]
+* link:#abfbf[HTTP Load Balancer Plug-in]
+* link:#abfbh[IIOP Load Balancing in a Cluster]
+* link:#abfbi[Message Queue and JMS Resources]
+
+The administration tools, such as the browser-based Administration
+Console, communicate with the domain administration server (DAS), which
+in turn communicates with the server instances.
+
+[[abfaz]][[GSPLG00046]][[server-instances]]
+
+==== Server Instances
+
+A server instance is a {productName} running in a single
+Java Virtual Machine (JVM) process.
+{productName} is certified with Java platform, Standard Edition (Java SE) 11.
+
+It is usually sufficient to create a single server instance on a
+machine, since {productName} and accompanying JVM are both designed
+to scale to multiple processors. However, it can be beneficial to create
+multiple instances on one machine for application isolation and rolling
+upgrades. In some cases, a large server with multiple instances can be
+used in more than one administrative domain. The administration tools
+makes it easy to create, delete, and manage server instances across
+multiple machines.
+
+[[abfba]][[GSPLG00047]][[administrative-domains]]
+
+==== Administrative Domains
+
+An administrative domain (or simply domain) is a group of server
+instances that are administered together. A server instance belongs to a
+single administrative domain. The instances in a domain can run on
+different physical hosts.
+
+You can create multiple domains from one installation of {productName}. By grouping server instances into domains, different
+organizations and administrators can share a single {productName}
+installation. Each domain has its own configuration, log files, and
+application deployment areas that are independent of other domains.
+Changing the configuration of one domain does not affect the
+configurations of other domains. Likewise, deploying an application on
+one domain does not deploy it or make it visible to any other domain.
+
+
+[NOTE]
+====
+All hosts in a domain on which the DAS and {productName} instances
+are running must have the same operating system.
+====
+
+
+[[abfbb]][[GSPLG00024]][[domain-administration-server-das]]
+
+===== Domain Administration Server (DAS)
+
+A domain has one Domain Administration Server (DAS), a specially
+designated {productName} instance that hosts the administrative
+applications. The DAS authenticates the administrator, accepts requests
+from administration tools, and communicates with server instances in the
+domain to carry out the requests.
+
+The administration tools are the `asadmin` command-line tool and the
+browser-based Administration Console. {productName} also provides a
+RESTful API for server administration. The administrator can view and
+manage a single domain at a time, thus enforcing secure separation.
+
+The DAS is also sometimes referred to as the admin server or default
+server. It is referred to as the default server because it is the
+default target for some administrative operations.
+
+Since the DAS is a {productName} instance, it can also host Jakarta EE
+applications for testing purposes. However, do not use it to host
+production applications. You might want to deploy applications to the
+DAS, for example, if the clusters and instances that will host the
+production application have not yet been created.
+
+The DAS keeps a repository containing the configuration of its domain
+and all the deployed applications. If the DAS is inactive or down, there
+is no impact on the performance or availability of active server
+instances, however administrative changes cannot be made. In certain
+cases, for security purposes, it may be useful to intentionally stop the
+DAS process, for example to reboot the host operating system to install
+a kernel patch or a hardware upgrade.
+
+Administrative commands are provided to backup and restore the domain
+configuration and applications. With the standard backup and restore
+procedures, you can quickly restore working configurations. If the DAS
+host fails, you must create a new DAS installation to restore the
+previous domain configuration. For instructions, see
+"link:administration-guide/domains.html#GSADG00006[Administering Domains]" in {productName} Administration Guide.
+
+[[abfbc]][[GSPLG00048]][[clusters]]
+
+==== Clusters
+
+A cluster is a named collection of server instances that share the same
+applications, resources, and configuration information. You can group
+server instances on different machines into one logical cluster and
+administer them as one unit. You can easily control the lifecycle of a
+multi-machine cluster with the DAS.
+
+Clusters enable horizontal scalability, load balancing, and failover
+protection. By definition, all the instances in a cluster have the same
+resource and application configuration. When a server instance or a
+machine in a cluster fails, the load balancer detects the failure,
+redirects traffic from the failed instance to other instances in the
+cluster, and recovers the user session state. Since the same
+applications and resources are on all instances in the cluster, an
+instance can failover to any other instance in the cluster.
+
+
+[NOTE]
+====
+All hosts in a cluster on which the DAS and {productName} instances
+are running must have the same operating system.
+====
+
+
+Clusters, domains, and instances are related as follows:
+
+* An administrative domain can have zero or more clusters.
+* A cluster has one or more server instances.
+* A cluster belongs to a single domain.
+
+[[abfbe]][[GSPLG00049]][[named-configurations]]
+
+==== Named Configurations
+
+A named configuration is an abstraction that encapsulates {productName} property settings. Clusters and stand-alone server instances
+reference a named configuration to get their property settings. With
+named configurations, Jakarta EE containers' configurations are independent
+of the physical machine on which they reside, except for particulars
+such as IP address, port number, and amount of heap memory. Using named
+configurations provides power and flexibility to {productName}
+administration.
+
+To apply configuration changes, you simply change the property settings
+of the named configuration, and all the clusters and stand-alone
+instances that reference it pick up the changes. You can only delete a
+named configuration when all references to it have been removed. A
+domain can contain multiple named configurations.
+
+{productName} comes with a default configuration, called
+default-config. The default configuration is optimized for developer
+productivity.
+
+You can create your own named configuration based on the default
+configuration that you can customize for your own purposes. Use the
+Administration Console and `asadmin` command line utility to create and
+manage named configurations.
+
+[[abfbf]][[GSPLG00050]][[http-load-balancer-plug-in]]
+
+==== HTTP Load Balancer Plug-in
+
+The load balancer distributes the workload among multiple physical
+machines, thereby increasing the overall throughput of the system. The
+{productName} includes the load balancer plug-ins for Oracle iPlanet
+Web Server, Oracle HTTP Server, Apache Web Server, and Microsoft
+Internet Information Server.
+
+The load balancer plug-in accepts HTTP and HTTPS requests and forwards
+them to one of the {productName} instances in the cluster. Should an
+instance fail, become unavailable (due to network faults), or become
+unresponsive, requests are redirected to existing, available machines.
+The load balancer can also recognize when a failed instance has
+recovered and redistribute the load accordingly.
+
+For simple stateless applications, a load-balanced cluster may be
+sufficient. However, for mission-critical applications with session
+state, use load balanced clusters with replicated session persistence.
+
+To setup a system with load balancing, in addition to {productName},
+you must install a web server and the load-balancer plug-in. Then you
+must:
+
+* Create {productName} clusters that you want to participate in load
+balancing.
+* Deploy applications to these load-balanced clusters.
+
+Server instances and clusters participating in load balancing have a
+homogenous environment. Usually that means that the server instances
+reference the same server configuration, can access the same physical
+resources, and have the same applications deployed to them. Homogeneity
+enables configuration consistency, and improves the ability to support a
+production deployment.
+
+Use the `asadmin` command-line tool to create a load balancer
+configuration, add references to clusters and server instances to it,
+enable the clusters for reference by the load balancer, enable
+applications for load balancing, optionally create a health checker,
+generate the load balancer configuration file, and finally copy the load
+balancer configuration file to your web server `config` directory. An
+administrator can create a script to automate this entire process.
+
+For more details and complete configuration instructions, see
+"link:ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in {productName} High Availability Administration Guide.
+
+[[abfbg]][[GSPLG00051]][[session-persistence]]
+
+==== Session Persistence
+
+Jakarta EE applications typically have significant amounts of session state
+data. A web shopping cart is the classic example of a session state.
+Also, an application can cache frequently-needed data in the session
+object. In fact, almost all applications with significant user
+interactions need to maintain a session state. Both HTTP sessions and
+stateful session beans (SFSBs) have session state data.
+
+While the session state is not as important as the transactional state
+stored in a database, preserving the session state across server
+failures can be important to end users. {productName} provides the
+capability to save, or persist, this session state in a repository. If
+the {productName} instance that is hosting the user session
+experiences a failure, the session state can be recovered. The session
+can continue without loss of information.
+
+{productName} supports the following session persistence types:
+
+* Memory
+* Replicated
+* File
+* Coherence
+* Web
+
+With memory persistence, the state is always kept in memory and does not
+survive failure. With replicated persistence, {productName} uses
+other server instances in the cluster as the persistence store for both
+HTTP and SFSB sessions. With file persistence, {productName}
+serializes session objects and stores them to the file system location
+specified by session manager properties. For SFSBs, if replicated
+persistence is not specified, {productName} stores state information
+in the session-store subdirectory of this location. For more information
+about Coherence*Web, see
+http://download.oracle.com/docs/cd/E18686_01/coh.37/e18690/glassfish.html[Using
+Coherence*Web with {productName}]
+(`http://docs.oracle.com/cd/E18686_01/coh.37/e18690/glassfish.html`).
+
+Checking an SFSB's state for changes that need to be saved is called
+checkpointing. When enabled, checkpointing generally occurs after any
+transaction involving the SFSB is completed, even if the transaction
+rolls back. For more information on developing stateful session beans,
+see "link:application-development-guide/ejb.html#GSDVG00147[Using Session Beans]" in {productName} Application Development Guide. For more information on
+enabling SFSB failover, see "link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00211[Stateful Session Bean
+Failover]" in {productName} High Availability
+Administration Guide.
+
+Apart from the number of requests being served by {productName}, the
+session persistence configuration settings also affect the session
+information in each request.
+
+For more information on configuring session persistence, see
+"link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session Persistence and
+Failover]" in {productName} High Availability
+Administration Guide.
+
+[[abfbh]][[GSPLG00052]][[iiop-load-balancing-in-a-cluster]]
+
+==== IIOP Load Balancing in a Cluster
+
+With IIOP load balancing, IIOP client requests are distributed to
+different server instances or name servers. The goal is to spread the
+load evenly across the cluster, thus providing scalability. IIOP load
+balancing combined with EJB clustering and availability features in
+{productName} provides not only load balancing but also EJB failover.
+
+There are two steps to IIOP failover and load balancing. The first step,
+bootstrapping, is the process by which the client sets up the initial
+naming context with one ORB in the cluster. The client attempts to
+connect to one of the IIOP endpoints. When launching an application
+client using the `appclient` script, you specify these endpoints using
+the `-targetserver` option on the command line or `target-server`
+elements in the `sun-acc.xml` configuration file. The client randomly
+chooses one of these endpoints and tries to connect to it, trying other
+endpoints if needed until one works.
+
+The second step concerns sending messages to a specific EJB. By default,
+all naming look-ups, and therefore all EJB accesses, use the cluster
+instance chosen during bootstrapping. The client exchanges messages with
+an EJB through the client ORB and server ORB. As this happens, the
+server ORB updates the client ORB as servers enter and leave the
+cluster. Later, if the client loses its connection to the server from
+the previous step, the client fails over to some other server using its
+list of currently active members. In particular, this cluster member
+might have joined the cluster after the client made the initial
+connection.
+
+When a client performs a JNDI lookup for an object, the Naming Service
+creates an `InitialContext` (IC) object associated with a particular
+server instance. From then on, all lookup requests made using that IC
+object are sent to the same server instance. All `EJBHome` objects
+looked up with that `InitialContext` are hosted on the same target
+server. Any bean references obtained henceforth are also created on the
+same target host. This effectively provides load balancing, since all
+clients randomize the list of live target servers when creating
+`InitialContext` objects. If the target server instance goes down, the
+lookup or EJB method invocation will failover to another server
+instance.
+
+Adding or deleting new instances to the cluster does not update the
+existing client's view of the cluster. You must manually update the
+endpoints list on the client side.
+
+[[abfbi]][[GSPLG00053]][[message-queue-and-jms-resources]]
+
+==== Message Queue and JMS Resources
+
+The Open Message Queue (Message Queue) provides reliable, asynchronous
+messaging for distributed applications. Message Queue is an enterprise
+messaging system that implements the Java Message Service (JMS)
+standard. Message Queue provides messaging for Jakarta EE application
+components such as message-driven beans (MDBs).
+
+{productName} implements the Java Message Service (JMS) API by
+integrating Message Queue into {productName}. {productName}
+includes the Enterprise version of Message Queue which has failover,
+clustering and load balancing features.
+
+For basic JMS administration tasks, use the {productName}
+Administration Console and `asadmin` command-line utility.
+
+For advanced tasks, including administering a Message Queue cluster, use
+the tools provided in the as-install``/mq/bin`` directory. For details
+about administering Message Queue, see the link:../openmq/mq-admin-guide.html#GMADG[Open Message
+Queue Administration Guide].
+
+For information on deploying JMS applications and Message Queue
+clustering for message failover, see link:planning.html#abfdn[Planning
+Message Queue Broker Deployment].
+
+[[abfca]][[GSPLG00018]][[configuration-roadmap-for-high-availability-of-glassfish-server]]
+
+=== Configuration Roadmap for High Availability of {productName}
+
+The following procedure lists the major tasks for configuring {productName} for high availability. The procedure also provides
+cross-references to detailed instructions for performing each task.
+
+[[sthref6]][[to-configure-glassfish-server-for-high-availability]]
+
+==== To Configure {productName} for High Availability
+
+1. Determine your requirements and goals for performance and QoS. +
+For more information, see the following documentation:
+* link:planning.html#abfcc[Establishing Performance Goals]
+* link:planning.html#abfcp[Planning the Network Configuration]
+* link:planning.html#abfcy[Planning for Availability]
+
+2. Size your system. +
+For more information, see link:planning.html#abfdg[Design Decisions].
+
+3. Install {productName} and related subcomponents such as a web server. +
+For more information, see the following documentation:
+* link:installation-guide.html#GSING[{productName} Installation Guide]
+* Installation guides for related subcomponents, for example, Oracle
+iPlanet Web Server 7.0.9 Installation and Migration Guide
+(`http://docs.oracle.com/cd/E19146-01/821-1832/index.html`)
+
+4. If you plan to administer your clusters centrally, set up secure
+shell (SSH) for centralized administration. +
+For more information, see "link:ha-administration-guide/ssh-setup.html#GSHAG00003[
+Setting Up SSH for Centralized Administration]" in {productName}
+High Availability Administration Guide.
+
+5. Configure domains, nodes, clusters, {productName} instances, and
+virtual servers as required. +
+For more information, see the following documentation:
+* "link:administration-guide/domains.html#GSADG00006[Administering Domains]" in {productName} Administration Guide
+* "link:ha-administration-guide/nodes.html#GSHAG00004[Administering {productName} Nodes]" in {productName} High Availability Administration Guide
+* "link:ha-administration-guide/clusters.html#GSHAG00005[Administering {productName} Clusters]" in
+{productName} High Availability Administration Guide
+* "link:ha-administration-guide/instances.html#GSHAG00006[Administering {productName} Instances]" in
+{productName} High Availability Administration Guide
+* "link:administration-guide/http_https.html#GSADG00589[Administering Virtual Servers]" in {productName} Administration Guide
+
+6. Configure your load balancer. +
+For more information, see "link:administration-guide/webapps.html#GSADG00552[Administering mod_jk]" in
+{productName} Administration Guide.
+
+7. Configure the web container and EJB container for replicated session persistence. +
+For more information, see "link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High
+Availability Session Persistence and Failover]" in {productName} High Availability Administration Guide.
+
+8. If you are using messaging extensively, configure Java Message
+Service (JMS) clusters for failover . +
+For more information, see the following documentation:
+* link:planning.html#abfdn[Planning Message Queue Broker Deployment]
+* "link:ha-administration-guide/jms.html#GSHAG00012[Configuring Java Message Service High Availability]"
+in {productName} High Availability Administration
+Guide
+* link:../openmq/mq-admin-guide.html#GMADG[Open Message Queue Administration Guide]
+
+9. Deploy applications and configure them for high availability and session failover. +
+For more information, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
diff --git a/docs/deployment-planning-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/deployment-planning-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/deployment-planning-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/deployment-planning-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/deployment-planning-guide/src/main/asciidoc/loe.adoc b/docs/deployment-planning-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..b66d3ce
--- /dev/null
+++ b/docs/deployment-planning-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,16 @@
+type=page
+status=published
+title=List of Examples
+next=lot.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:planning.html#fygam[2-1 Calculation of Response Time]
+* link:planning.html#fygaj[2-2 Calculation of Requests Per Second]
+* link:planning.html#fygad[2-3 Calculation of Bandwidth Required]
+* link:planning.html#fygai[2-4 Calculation of Peak Load]
diff --git a/docs/deployment-planning-guide/src/main/asciidoc/lot.adoc b/docs/deployment-planning-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..daf8bff
--- /dev/null
+++ b/docs/deployment-planning-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,13 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=loe.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:checklist.html#sthref9[3-1 Checklist]
diff --git a/docs/deployment-planning-guide/src/main/asciidoc/planning.adoc b/docs/deployment-planning-guide/src/main/asciidoc/planning.adoc
new file mode 100644
index 0000000..bf7a07b
--- /dev/null
+++ b/docs/deployment-planning-guide/src/main/asciidoc/planning.adoc
@@ -0,0 +1,897 @@
+type=page
+status=published
+title=Planning your Deployment
+next=checklist.html
+prev=concepts.html
+~~~~~~
+
+= Planning your Deployment
+
+[[GSPLG00002]][[abfcb]]
+
+
+[[planning-your-deployment]]
+== 2 Planning your Deployment
+
+Before deploying {productName}, first determine the performance and
+availability goals, and then make decisions about the hardware, network,
+and storage requirements accordingly.
+
+The following topics are addressed here:
+
+* link:#abfcc[Establishing Performance Goals]
+* link:#abfcp[Planning the Network Configuration]
+* link:#abfcy[Planning for Availability]
+* link:#abfdg[Design Decisions]
+* link:#abfdn[Planning Message Queue Broker Deployment]
+
+[[abfcc]][[GSPLG00019]][[establishing-performance-goals]]
+
+=== Establishing Performance Goals
+
+At its simplest, high performance means maximizing throughput and
+reducing response time. Beyond these basic goals, you can establish
+specific goals by determining the following:
+
+* What types of applications and services are deployed, and how do
+clients access them?
+* Which applications and services need to be highly available?
+* Do the applications have session state or are they stateless?
+* What request capacity or throughput must the system support?
+* How many concurrent users must the system support?
+* What is an acceptable average response time for user requests?
+* What is the average think time between requests?
+
+You can calculate some of these metrics using a remote browser emulator
+(RBE) tool, or web site performance and benchmarking software that
+simulates expected application activity. Typically, RBE and benchmarking
+products generate concurrent HTTP requests and then report the response
+time for a given number of requests per minute. You can then use these
+figures to calculate server activity.
+
+The results of the calculations described in this chapter are not
+absolute. Treat them as reference points to work against, as you
+fine-tune the performance of {productName} and your applications.
+
+The following topics are addressed here:
+
+* link:#abfcd[Estimating Throughput]
+* link:#abfce[Estimating Load on {productName} Instances]
+* link:#abfcq[Estimating Bandwidth Requirements]
+* link:#abfct[Estimating Peak Load]
+
+[[abfcd]][[GSPLG00054]][[estimating-throughput]]
+
+==== Estimating Throughput
+
+In broad terms, throughput measures the amount of work performed by
+{productName}. For {productName}, throughput can be defined as the
+number of requests processed per minute per server instance.
+
+As described in the next section, {productName} throughput is a
+function of many factors, including the nature and size of user
+requests, number of users, and performance of {productName} instances
+and back-end databases. You can estimate throughput on a single machine
+by benchmarking with simulated workloads.
+
+High availability applications incur additional overhead because they
+periodically save session data. The amount of overhead depends on the
+amount of data, how frequently it changes, and how often it is saved.
+The first two factors depend on the application in question; the latter
+is also affected by server settings.
+
+[[abfce]][[GSPLG00055]][[estimating-load-on-glassfish-server-instances]]
+
+==== Estimating Load on {productName} Instances
+
+Consider the following factors to estimate the load on {productName}
+instances.
+
+The following topics are addressed here:
+
+* link:#abfcf[Maximum Number of Concurrent Users]
+* link:#abfcg[Think Time]
+* link:#abfch[Average Response Time]
+* link:#abfcj[Requests Per Minute]
+
+[[abfcf]][[GSPLG00025]][[maximum-number-of-concurrent-users]]
+
+===== Maximum Number of Concurrent Users
+
+Users interact with an application through a client, such as a web
+browser or Java program. Based on the user's actions, the client
+periodically sends requests to the {productName}. A user is
+considered active as long as the user's session has neither expired nor
+been terminated. When estimating the number of concurrent users, include
+all active users.
+
+Initially, as the number of users increases, throughput increases
+correspondingly. However, as the number of concurrent requests
+increases, server performance begins to saturate, and throughput begins
+to decline.
+
+Identify the point at which adding concurrent users reduces the number
+of requests that can be processed per minute. This point indicates when
+optimal performance is reached and beyond which throughput start to
+degrade. Generally, strive to operate the system at optimal throughput
+as much as possible. You might need to add processing power to handle
+additional load and increase throughput.
+
+[[abfcg]][[GSPLG00026]][[think-time]]
+
+===== Think Time
+
+A user does not submit requests continuously. A user submits a request,
+the server receives and processes the request, and then returns a
+result, at which point the user spends some time before submitting a new
+request. The time between one request and the next is called think time.
+
+Think times are dependent on the type of users. For example,
+machine-to-machine interaction such as for a web service typically has a
+lower think time than that of a human user. You may have to consider a
+mix of machine and human interactions to estimate think time.
+
+Determining the average think time is important. You can use this
+duration to calculate the number of requests that need to be completed
+per minute, as well as the number of concurrent users the system can
+support.
+
+[[abfch]][[GSPLG00027]][[average-response-time]]
+
+===== Average Response Time
+
+Response time refers to the amount of time {productName} takes to
+return the results of a request to the user. The response time is
+affected by factors such as network bandwidth, number of users, number
+and type of requests submitted, and average think time.
+
+In this section, response time refers to the mean, or average, response
+time. Each type of request has its own minimal response time. However,
+when evaluating system performance, base the analysis on the average
+response time of all requests.
+
+The faster the response time, the more requests per minute are being
+processed. However, as the number of users on the system increases, the
+response time starts to increase as well, even though the number of
+requests per minute declines.
+
+A system performance graph indicates that after a certain point,
+requests per minute are inversely proportional to response time. The
+sharper the decline in requests per minute, the steeper the increase in
+response time.
+
+The point of the peak load is the point at which requests per minute
+start to decline. Prior to this point, response time calculations are
+not necessarily accurate because they do not use peak numbers in the
+formula. After this point, (because of the inversely proportional
+relationship between requests per minute and response time), the
+administrator can more accurately calculate response time using maximum
+number of users and requests per minute.
+
+Use the following formula to determine T~response~, the response time
+(in seconds) at peak load:
+
+T~response~ = n/r - T~think~
+
+where
+
+* n is the number of concurrent users
+* r is the number requests per second the server receives
+* T~think~ is the average think time (in seconds)
++
+To obtain an accurate response time result, always include think time in
+the equation.
+
+[[GSPLG00007]][[fygam]]
+Example 2-1 Calculation of Response Time
+
+If the following conditions exist:
+
+* Maximum number of concurrent users, n, that the system can support at
+peak load is 5,000.
+* Maximum number of requests, r, the system can process at peak load is
+1,000 per second.
+
+Average think time, T~think~, is three seconds per request.
+
+Thus, the calculation of response time is:
+
+T~response~ = n/r - T~think~ = (5000/ 1000) - 3 sec. = 5 - 3 sec.
+
+Therefore, the response time is two seconds.
+
+After the system's response time has been calculated, particularly at
+peak load, compare it to the acceptable response time for the
+application. Response time, along with throughput, is one of the main
+factors critical to {productName} performance.
+
+[[abfcj]][[GSPLG00028]][[requests-per-minute]]
+
+===== Requests Per Minute
+
+If you know the number of concurrent users at any given time, the
+response time of their requests, and the average user think time, then
+you can calculate the number of requests per minute. Typically, start by
+estimating the number of concurrent users that are on the system.
+
+For example, after running web site performance software, the
+administrator concludes that the average number of concurrent users
+submitting requests on an online banking web site is 3,000. This number
+depends on the number of users who have signed up to be members of the
+online bank, their banking transaction behavior, the time of the day or
+week they choose to submit requests, and so on.
+
+Therefore, knowing this information enables you to use the requests per
+minute formula described in this section to calculate how many requests
+per minute your system can handle for this user base. Since requests per
+minute and response time become inversely proportional at peak load,
+decide if fewer requests per minute is acceptable as a trade-off for
+better response time, or alternatively, if a slower response time is
+acceptable as a trade-off for more requests per minute.
+
+Experiment with the requests per minute and response time thresholds
+that are acceptable as a starting point for fine-tuning system
+performance. Thereafter, decide which areas of the system require
+adjustment.
+
+Solving for r in the equation in the previous section gives:
+
+r = n/(T~response~ + T~think~)
+
+[[GSPLG00008]][[fygaj]]
+Example 2-2 Calculation of Requests Per Second
+
+For the values:
+
+* n = 2,800 concurrent users
+* T~response~ = 1 (one second per request average response time)
+* T~think~ = 3, (three seconds average think time)
+
+The calculation for the number of requests per second is:
+
+[source]
+----
+r = 2800 / (1+3) = 700
+----
+
+Therefore, the number of requests per second is 700 and the number of
+requests per minute is 42000.
+
+[[abfcp]][[GSPLG00020]][[planning-the-network-configuration]]
+
+=== Planning the Network Configuration
+
+When planning how to integrate the {productName} into the network,
+estimate the bandwidth requirements and plan the network in such a way
+that it can meet users' performance requirements.
+
+The following topics are addressed here:
+
+* link:#gkvdm[Setting Up Traffic Separation]
+* link:#abfcq[Estimating Bandwidth Requirements]
+* link:#abfcr[Calculating Bandwidth Required]
+* link:#abfct[Estimating Peak Load]
+* link:#abfcw[Choosing Network Cards]
+* link:#abfdc[Identifying Failure Classes]
+
+[[gkvdm]][[GSPLG00056]][[setting-up-traffic-separation]]
+
+==== Setting Up Traffic Separation
+
+You can separate external traffic, such as client requests, from the
+internal traffic, such as session state failover, database transactions,
+and messaging. Traffic separation enables you to plan a network better
+and augment certain parts of the network, as required.
+
+To separate the traffic, run each server instance on a multi-homed
+machine. A multi-homed machine has two IP addresses belonging to
+different networks, an external IP and an internal IP. The objective is
+to expose only the external IP to user requests. The internal IP is used
+only by the cluster instances for internal communication. For details,
+see "link:ha-administration-guide/clusters.html#GSHAG00266[Using the Multi-Homing Feature With GMS]" in
+{productName} High Availability Administration
+Guide.
+
+To plan for traffic on both networks, see link:#abfcq[Estimating
+Bandwidth Requirements]. For external networks, follow the guidelines in
+link:#abfcr[Calculating Bandwidth Required] and link:#abfct[Estimating
+Peak Load]. To size the interfaces for internal networks, see
+link:#abfcw[Choosing Network Cards].
+
+[[abfcq]][[GSPLG00057]][[estimating-bandwidth-requirements]]
+
+==== Estimating Bandwidth Requirements
+
+To decide on the desired size and bandwidth of the network, first
+determine the network traffic and identify its peak. Check if there is a
+particular hour, day of the week, or day of the month when overall
+volume peaks, and then determine the duration of that peak.
+
+During peak load times, the number of packets in the network is at its
+highest level. In general, if you design for peak load, scale your
+system with the goal of handling 100 percent of peak volume. Bear in
+mind, however, that any network behaves unpredictably and that despite
+your scaling efforts, it might not always be able handle 100 percent of
+peak volume.
+
+For example, assume that at peak load, five percent of users
+occasionally do not have immediate network access when accessing
+applications deployed on {productName}. Of that five percent,
+estimate how many users retry access after the first attempt. Again, not
+all of those users might get through, and of that unsuccessful portion,
+another percentage will retry. As a result, the peak appears longer
+because peak use is spread out over time as users continue to attempt
+access.
+
+[[abfcr]][[GSPLG00058]][[calculating-bandwidth-required]]
+
+==== Calculating Bandwidth Required
+
+Based on the calculations made in link:#abfcc[Establishing Performance
+Goals], determine the additional bandwidth required for deploying
+{productName} at your site.
+
+Depending on the method of access (T-1 lines, ADSL, cable modem, and so
+on), calculate the amount of increased bandwidth required to handle your
+estimated load. For example, suppose your site uses T-1 or higher-speed
+T-3 lines. Given their bandwidth, estimate how many lines are needed on
+the network, based on the average number of requests generated per
+second at your site and the maximum peak load. Calculate these figures
+using a web site analysis and monitoring tool.
+
+[[GSPLG00009]][[fygad]]
+Example 2-3 Calculation of Bandwidth Required
+
+A single T-1 line can handle 1.544 Mbps. Therefore, a network of four
+T-1 lines can handle approximately 6 Mbps of data. Assuming that the
+average HTML page sent back to a client is 30 kilobytes (KB), this
+network of four T-1 lines can handle the following traffic per second:
+
+6,176,000 bits/10 bits = 772,000 bytes per second
+
+772,000 bytes per second/30 KB = approximately 25 concurrent response
+pages per second.
+
+With traffic of 25 pages per second, this system can handle 90,000 pages
+per hour (25 x 60 seconds x 60 minutes), and therefore 2,160,000 pages
+per day maximum, assuming an even load throughout the day. If the
+maximum peak load is greater than this, increase the bandwidth
+accordingly.
+
+[[abfct]][[GSPLG00059]][[estimating-peak-load]]
+
+==== Estimating Peak Load
+
+Having an even load throughout the day is probably not realistic. You
+need to determine when the peak load occurs, how long it lasts, and what
+percentage of the total load is the peak load.
+
+[[GSPLG00010]][[fygai]]
+Example 2-4 Calculation of Peak Load
+
+If the peak load lasts for two hours and takes up 30 percent of the
+total load of 2,160,000 pages, this implies that 648,000 pages must be
+carried over the T-1 lines during two hours of the day.
+
+Therefore, to accommodate peak load during those two hours, increase the
+number of T-1 lines according to the following calculations:
+
+648,000 pages/120 minutes = 5,400 pages per minute
+
+5,400 pages per minute/60 seconds = 90 pages per second
+
+If four lines can handle 25 pages per second, then approximately four
+times that many pages requires four times that many lines, in this case
+16 lines. The 16 lines are meant for handling the realistic maximum of a
+30 percent peak load. Obviously, the other 70 percent of the load can be
+handled throughout the rest of the day by these many lines.
+
+[[abfcw]][[GSPLG00060]][[choosing-network-cards]]
+
+==== Choosing Network Cards
+
+For greater bandwidth and optimal network performance, use at least 100
+Mbps Ethernet cards or, preferably, 1 Gbps Ethernet cards between
+servers hosting {productName}.
+
+[[abfcy]][[GSPLG00021]][[planning-for-availability]]
+
+=== Planning for Availability
+
+The following topics are addressed here:
+
+* link:#abfcz[Rightsizing Availability]
+* link:#abfda[Using Clusters to Improve Availability]
+* link:#abfdb[Adding Redundancy to the System]
+
+[[abfcz]][[GSPLG00061]][[rightsizing-availability]]
+
+==== Rightsizing Availability
+
+To plan availability of systems and applications, assess the
+availability needs of the user groups that access different
+applications. For example, external fee-paying users and business
+partners often have higher quality of service (QoS) expectations than
+internal users. Thus, it may be more acceptable to internal users for an
+application feature, application, or server to be unavailable than it
+would be for paying external customers.
+
+There is an increasing cost and complexity to mitigating against
+decreasingly probable events. At one end of the continuum, a simple
+load-balanced cluster can tolerate localized application, middleware,
+and hardware failures. At the other end of the scale, geographically
+distinct clusters can mitigate against major catastrophes affecting the
+entire data center.
+
+To realize a good return on investment, it often makes sense to identify
+availability requirements of features within an application. For
+example, it may not be acceptable for an insurance quotation system to
+be unavailable (potentially turning away new business), but brief
+unavailability of the account management function (where existing
+customers can view their current coverage) is unlikely to turn away
+existing customers.
+
+[[abfda]][[GSPLG00062]][[using-clusters-to-improve-availability]]
+
+==== Using Clusters to Improve Availability
+
+At the most basic level, a cluster is a group of {productName}
+instances—often hosted on multiple physical servers—that appear to
+clients as a single instance. This provides horizontal scalability as
+well as higher availability than a single instance on a single machine.
+This basic level of clustering works in conjunction with the HTTP load
+balancer plug-in, which accepts HTTP and HTTPS requests and forwards
+them to one of the instances in the cluster. The ORB and integrated JMS
+brokers also perform load balancing to {productName} clusters. If an
+instance fails, becomes unavailable (due to network faults), or becomes
+unresponsive, requests are redirected only to existing, available
+machines. The load balancer can also recognize when a failed instance
+has recovered and redistribute load accordingly.
+
+[[abfdb]][[GSPLG00063]][[adding-redundancy-to-the-system]]
+
+==== Adding Redundancy to the System
+
+One way to achieve high availability is to add hardware and software
+redundancy to the system. When one unit fails, the redundant unit takes
+over. This is also referred to as fault tolerance. In general, to
+maximize high availability, determine and remove every possible point of
+failure in the system.
+
+[[abfdc]][[GSPLG00029]][[identifying-failure-classes]]
+
+===== Identifying Failure Classes
+
+The level of redundancy is determined by the failure classes (types of
+failure) that the system needs to tolerate. Some examples of failure
+classes are:
+
+* System process
+* Machine
+* Power supply
+* Disk
+* Network failures
+* Building fires or other preventable disasters
+* Unpredictable natural catastrophes
+
+Duplicated system processes tolerate single system process failures, as
+well as single machine failures. Attaching the duplicated mirrored
+(paired) machines to different power supplies tolerates single power
+failures. By keeping the mirrored machines in separate buildings, a
+single-building fire can be tolerated. By keeping them in separate
+geographical locations, natural catastrophes like earthquakes can be
+tolerated.
+
+[[abfdf]][[GSPLG00030]][[planning-failover-capacity]]
+
+===== Planning Failover Capacity
+
+Failover capacity planning implies deciding how many additional servers
+and processes you need to add to the {productName} deployment so that
+in the event of a server or process failure, the system can seamlessly
+recover data and continue processing. If your system gets overloaded, a
+process or server failure might result, causing response time
+degradation or even total loss of service. Preparing for such an
+occurrence is critical to successful deployment.
+
+To maintain capacity, especially at peak loads, add spare machines
+running {productName} instances to the existing deployment.
+
+For example, consider a system with two machines running one {productName} instance each. Together, these machines handle a peak load of 300
+requests per second. If one of these machines becomes unavailable, the
+system will be able to handle only 150 requests, assuming an even load
+distribution between the machines. Therefore, half the requests during
+peak load will not be served.
+
+[[abfdg]][[GSPLG00022]][[design-decisions]]
+
+=== Design Decisions
+
+Design decisions include whether you are designing the system for peak
+or steady-state load, the number of machines in various roles and their
+sizes, and the size of the administration thread pool.
+
+The following topics are addressed here:
+
+* link:#abfdh[Designing for Peak or Steady State Load]
+* link:#abfdi[System Sizing]
+* link:#gkvcu[Sizing the Administration Thread Pool]
+
+[[abfdh]][[GSPLG00064]][[designing-for-peak-or-steady-state-load]]
+
+==== Designing for Peak or Steady State Load
+
+In a typical deployment, there is a difference between steady state and
+peak workloads:
+
+* If the system is designed to handle peak load, it can sustain the
+expected maximum load of users and requests without degrading response
+time. This implies that the system can handle extreme cases of expected
+system load. If the difference between peak load and steady state load
+is substantial, designing for peak loads can mean spending money on
+resources that are often idle.
+* If the system is designed to handle steady state load, it does not
+have all the resources required to handle the expected peak load. Thus,
+the system has a slower response time when peak load occurs.
+
+How often the system is expected to handle peak load will determine
+whether you want to design for peak load or for steady state.
+
+If peak load occurs often—say, several times per day—it may be
+worthwhile to expand capacity to handle it. If the system operates at
+steady state 90 percent of the time, and at peak only 10 percent of the
+time, then it may be preferable to deploy a system designed around
+steady state load. This implies that the system's response time will be
+slower only 10 percent of the time. Decide if the frequency or duration
+of time that the system operates at peak justifies the need to add
+resources to the system.
+
+[[abfdi]][[GSPLG00065]][[system-sizing]]
+
+==== System Sizing
+
+Based on the load on the {productName} instances and failover
+requirements, you can determine the number of applications server
+instances (hosts) needed. Evaluate your environment on the basis of the
+factors explained in link:#abfce[Estimating Load on {productName}
+Instances] to each {productName} instance, although each instance can
+use more than one Central Processing Unit (CPU).
+
+[[gkvcu]][[GSPLG00066]][[sizing-the-administration-thread-pool]]
+
+==== Sizing the Administration Thread Pool
+
+The default `admin-thread-pool` size of 50 should be adequate for most
+cluster deployments. If you have unusually large clusters, you may need
+to increase this thread pool size. In this case, set the
+`max-thread-pool-size` attribute to the number of instances in your
+largest cluster, but not larger than the number of incoming
+synchronization requests that the DAS can handle.
+
+[[abfdn]][[GSPLG00023]][[planning-message-queue-broker-deployment]]
+
+=== Planning Message Queue Broker Deployment
+
+The Java Message Service (JMS) API is a messaging standard that allows
+Jakarta EE applications and components to create, send, receive, and read
+messages. It enables distributed communication that is loosely coupled,
+reliable, and asynchronous. Message Queue, which implements JMS, is
+integrated with {productName}, enabling you to create components that
+send and receive JMS messages, including message-driven beans (MDBs).
+
+Message Queue is integrated with {productName} using a resource
+adapter also known as a connector module. A resource adapter is a Java
+EE component defined according to the Jakarta EE Connector Architecture
+(JCA) Specification. This specification defines a standardized way in
+which application servers such as {productName} can integrate with
+enterprise information systems such as JMS providers. {productName}
+includes a resource adapter that integrates with its own JMS provider,
+Message Queue. To use a different JMS provider, you must obtain and
+deploy a suitable resource adapter that is designed to integrate with
+it.
+
+Creating a JMS resource in {productName} using the Administration
+Console creates a preconfigured connector resource that uses the Message
+Queue resource adapter. To create JMS Resources that use any other
+resource adapter (including `GenericJMSRA`), you must create them under
+the Connectors node in the Administration Console.
+
+In addition to using resource adapter APIs, {productName} uses
+additional Message Queue APIs to provide better integration with Message
+Queue. This tight integration enables features such as connector
+failover, load balancing of outbound connections, and load balancing of
+inbound messages to MDBs. These features enable you to make messaging
+traffic fault-tolerant and highly available.
+
+The following topics are addressed here:
+
+* link:#abfdo[Multi-Broker Clusters]
+* link:#abfdq[Configuring {productName} to Use Message Queue Brokers]
+* link:#abfdx[Example Deployment Scenarios]
+
+[[abfdo]][[GSPLG00067]][[multi-broker-clusters]]
+
+==== Multi-Broker Clusters
+
+Message Queue supports using multiple interconnected broker instances
+known as a broker cluster. With broker clusters, client connections are
+distributed across all the brokers in the cluster. Clustering provides
+horizontal scalability and improves availability.
+
+A single message broker scales to about eight CPUs and provides
+sufficient throughput for typical applications. If a broker process
+fails, it is automatically restarted. However, as the number of clients
+connected to a broker increases, and as the number of messages being
+delivered increases, a broker will eventually exceed limitations such as
+number of file descriptors and memory.
+
+Having multiple brokers in a cluster rather than a single broker enables
+you to:
+
+* Provide messaging services despite hardware failures on a single machine.
+* Minimize downtime while performing system maintenance.
+* Accommodate workgroups having different user repositories.
+* Deal with firewall restrictions.
+
+Message Queue allows you to create conventional or enhanced broker
+clusters. Conventional broker clusters offer service availability.
+Enhanced broker clusters offer both service and data availability. For
+more information, see "link:../openmq/mq-admin-guide/broker-clusters.html#GMADG00041[Configuring and Managing Broker
+Clusters]" in Open Message Queue Administration Guide.
+
+In a conventional cluster, having multiple brokers does not ensure that
+transactions in progress at the time of a broker failure will continue
+on the alternate broker. Although Message Queue reestablishes a failed
+connection with a different broker in a cluster, transactions owned by
+the failed broker are not available until it restarts. Except for failed
+in-progress transactions, user applications can continue on the
+failed-over connection. Service failover is thus ensured.
+
+In an enhanced cluster, transactions and persistent messages owned by
+the failed broker are taken over by another running broker in the
+cluster and non-prepared transactions are rolled back. Data failover is
+ensured for prepared transactions and persisted messages.
+
+[[abfdp]][[GSPLG00031]][[master-broker-and-client-synchronization-for-conventional-clusters]]
+
+===== Master Broker and Client Synchronization for Conventional Clusters
+
+In a configuration for a conventional broker cluster, each destination
+is replicated on all of the brokers in a cluster. Each broker knows
+about message consumers that are registered for destinations on all
+other brokers. Each broker can therefore route messages from its own
+directly-connected message producers to remote message consumers, and
+deliver messages from remote producers to its own directly-connected consumers.
+
+In a cluster configuration, the broker to which each message producer is
+directly connected performs the routing for messages sent to it by that
+producer. Hence, a persistent message is both stored and routed by the
+message's home broker.
+
+Whenever an administrator creates or destroys a destination on a broker,
+this information is automatically propagated to all other brokers in a
+cluster. Similarly, whenever a message consumer is registered with its
+home broker, or whenever a consumer is disconnected from its home
+broker—either explicitly or because of a client or network failure, or
+because its home broker goes down—the relevant information about the
+consumer is propagated throughout the cluster. In a similar fashion,
+information about durable subscriptions is also propagated to all
+brokers in a cluster.
+
+A shared database of cluster change records can be configured as an
+alternative to using a master broker. For more information, see
+"link:../openmq/mq-admin-guide/broker-clusters.html#GMADG00041[Configuring and Managing Broker Clusters]" in Open
+Message Queue Administration Guide and "link:ha-administration-guide/jms.html#GSHAG00212[Using Message
+Queue Broker Clusters With {productName}]" in {productName} High Availability Administration Guide.
+
+[[abfdq]][[GSPLG00068]][[configuring-glassfish-server-to-use-message-queue-brokers]]
+
+==== Configuring {productName} to Use Message Queue Brokers
+
+By default, Message Queue brokers (JMS hosts) run in the same JVM as the
+{productName} process. However, Message Queue brokers (JMS hosts) can
+be configured to run in a separate JVM from the {productName}
+process. This allows multiple {productName} instances or clusters to
+share the same set of Message Queue brokers.
+
+The {productName}'s Java Message Service represents the connector
+module (resource adapter) for Message Queue. You can manage the Java
+Message Service through the Administration Console or the `asadmin`
+command-line utility.
+
+In {productName}, a JMS host refers to a Message Queue broker. The
+{productName}'s Java Message Service configuration contains a JMS
+Host List (also called AddressList) that contains all the JMS hosts that
+will be used.
+
+[[abfdt]][[GSPLG00032]][[java-message-service-type]]
+
+===== Java Message Service Type
+
+There are three types of integration between {productName} and
+Message Queue brokers: embedded, local, and remote. You can set this
+type attribute on the Administration Console's Java Message Service page.
+
+[[gktcw]][[GSPLG00004]][[embedded-java-message-service]]
+
+Embedded Java Message Service
+
+If the Type attribute is EMBEDDED, {productName} and the JMS broker
+are colocated in the same virtual machine. The JMS Service is started
+in-process and managed by {productName}. In EMBEDDED mode, JMS
+operations on stand-alone server instances bypass the networking stack,
+which leads to performance optimization. The EMBEDDED type is most
+suitable for stand-alone {productName} instances. EMBEDDED mode is
+not supported for enhanced broker clusters.
+
+With the EMBEDDED type, use the Start Arguments attribute to specify
+Message Queue broker startup parameters.
+
+With the EMBEDDED type, make sure the Java heap size is large enough to
+allow {productName} and Message Queue to run in the same virtual machine.
+
+[[abfdu]][[GSPLG00005]][[local-java-message-service]]
+
+Local Java Message Service
+
+If the Type attribute is LOCAL, {productName} starts and stops the
+Message Queue broker. When {productName} starts up, it starts the
+Message Queue broker specified as the Default JMS host. Likewise, when
+the {productName} instance shuts down, it shuts down the Message
+Queue broker. The LOCAL type is most suitable for use with enhanced
+broker clusters, and for other cases where the administrator prefers the
+use of separate JVMs.
+
+With the LOCAL type, use the Start Arguments attribute to specify
+Message Queue broker startup parameters.
+
+[[abfdv]][[GSPLG00006]][[remote-java-message-service]]
+
+Remote Java Message Service
+
+If the Type attribute is REMOTE, {productName} uses an externally
+configured broker or broker cluster. In this case, you must start and
+stop Message Queue brokers separately from {productName}, and use
+Message Queue tools to configure and tune the broker or broker cluster.
+The REMOTE type is most suitable for brokers running on different
+machines from the server instances (to share the load among more
+machines or for higher availability), or for using a different number of
+brokers and server instances.
+
+With the REMOTE type, you must specify Message Queue broker startup
+parameters using Message Queue tools. The Start Arguments attribute is ignored.
+
+[[abfdr]][[GSPLG00033]][[managing-jms-with-the-administration-console]]
+
+===== Managing JMS with the Administration Console
+
+In the Administration Console, you can set JMS properties using the Java
+Message Service node for a particular configuration. You can set
+properties such as Reconnect Interval and Reconnect Attempts. For more
+information, see "link:administration-guide/jms.html#GSADG00020[Administering the Java Message
+Service (JMS)]" in {productName} Administration
+Guide.
+
+The JMS Hosts node under the Java Message Service node contains a list
+of JMS hosts. You can add and remove hosts from the list. For each host,
+you can set the host name, port number, and the administration user name
+and password. By default, the JMS Hosts list contains one Message Queue
+broker, called "default_JMS_host," that represents the local Message
+Queue broker integrated with {productName}.
+
+In REMOTE mode, configure the JMS Hosts list to contain all the Message
+Queue brokers in the cluster. For example, to set up a cluster
+containing three Message Queue brokers, add a JMS host within the Java
+Message Service for each one. Message Queue clients use the
+configuration information in the Java Message Service to communicate
+with Message Queue broker.
+
+[[abfds]][[GSPLG00034]][[managing-jms-with-asadmin]]
+
+===== Managing JMS with asadmin
+
+In addition to the Administration Console, you can use the `asadmin`
+command-line utility to manage the Java Message Service and JMS hosts.
+Use the following `asadmin` commands:
+
+* Configuring Java Message Service attributes: `asadmin set`
+
+* Managing JMS hosts:
+** `asadmin create-jms-host`
+** `asadmin delete-jms-host`
+** `asadmin list-jms-hosts`
+
+* Managing JMS resources:
+** `asadmin create-jms-resource`
+** `asadmin delete-jms-resource`
+** `asadmin list-jms-resources`
+
++
+For more information on these commands, see the link:reference-manual.html#GSRFM[{productName} Reference Manual] or the corresponding man pages.
+
+[[abfdw]][[GSPLG00035]][[default-jms-host]]
+
+===== Default JMS Host
+
+You can specify the default JMS Host in the Administration Console Java
+Message Service page. If the Java Message Service type is LOCAL,
+{productName} starts the default JMS host when the {productName}
+instance starts. If the Java Message Service type is EMBEDDED, the
+default JMS host is started lazily when needed.
+
+In REMOTE mode, to use a Message Queue broker cluster, delete the
+default JMS host, then add all the Message Queue brokers in the cluster
+as JMS hosts. In this case, the default JMS host becomes the first JMS
+host in the JMS host list.
+
+You can also explicitly set the default JMS host to one of the JMS
+hosts. When the {productName} uses a Message Queue cluster, the
+default JMS host executes Message Queue-specific commands. For example,
+when a physical destination is created for a Message Queue broker
+cluster, the default JMS host executes the command to create the
+physical destinations, but all brokers in the cluster use the physical destination.
+
+[[abfdx]][[GSPLG00069]][[example-deployment-scenarios]]
+
+==== Example Deployment Scenarios
+
+To accommodate your messaging needs, modify the Java Message Service and
+JMS host list to suit your deployment, performance, and availability needs.
+The following sections describe some typical scenarios.
+
+For best availability, deploy Message Queue brokers and {productName}s on different machines, if messaging needs are not just with
+{productName}. Another option is to run a {productName} instance
+and a Message Queue broker instance on each machine until there is
+sufficient messaging capacity.
+
+[[abfdy]][[GSPLG00036]][[default-deployment]]
+
+===== Default Deployment
+
+Installing the {productName} automatically creates a domain
+administration server (DAS). By default, the Java Message Service type
+for the DAS is EMBEDDED. So, starting the DAS also starts its default
+Message Queue broker.
+
+Creating a new domain also creates a new broker. By default, when you
+add a stand-alone server instance or a cluster to the domain, its Java
+Message Service is configured as EMBEDDED and its default JMS host is
+the broker started by the DAS.
+
+[[abfdz]][[GSPLG00037]][[using-a-message-queue-broker-cluster-with-a-glassfish-server-cluster]]
+
+===== Using a Message Queue Broker Cluster with a {productName} Cluster
+
+In EMBEDDED or LOCAL mode, when a {productName} is configured, a
+Message Queue broker cluster is auto-configured with each {productName} instance associated with a Message Queue broker instance.
+
+In REMOTE mode, to configure a {productName} cluster to use a Message
+Queue broker cluster, add all the Message Queue brokers as JMS hosts in
+the {productName}'s Java Message Service. Any JMS connection
+factories created and MDBs deployed then uses the JMS configuration specified.
+
+[[abfeb]][[GSPLG00038]][[specifying-an-application-specific-message-queue-broker-cluster]]
+
+===== Specifying an Application-Specific Message Queue Broker Cluster
+
+In some cases, an application may need to use a different Message Queue
+broker cluster than the one used by the {productName} cluster. To do
+so, use the `AddressList` property of a JMS connection factory or the
+`activation-config` element in an MDB deployment descriptor to specify
+the Message Queue broker cluster.
+
+For more information about configuring connection factories, see
+"link:administration-guide/jms.html#GSADG00598[Administering JMS Connection Factories and
+Destinations]" in {productName} Administration
+Guide. For more information about MDBs, see "link:application-development-guide/ejb.html#GSDVG00149[Using
+Message-Driven Beans]" in {productName}
+Application Development Guide.
+
+[[abfec]][[GSPLG00039]][[application-clients]]
+
+===== Application Clients
+
+When an application client or standalone application accesses a JMS
+administered object for the first time, the client JVM retrieves the
+Java Message Service configuration from the server. Further changes to
+the JMS service will not be available to the client JVM until it is restarted.
diff --git a/docs/deployment-planning-guide/src/main/asciidoc/preface.adoc b/docs/deployment-planning-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..a6aaf26
--- /dev/null
+++ b/docs/deployment-planning-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,323 @@
+type=page
+status=published
+title=Preface
+next=concepts.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[sthref2]]
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+The Deployment Planning Guide explains how to build a production
+deployment of {productName}.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+[[sthref3]][[glassfish-server-documentation-set]]
+
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSPLG00011]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[GSPLG00013]][[fwbkx]]
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSPLG00014]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSPLG00012]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/deployment-planning-guide/src/main/asciidoc/title.adoc b/docs/deployment-planning-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..ae57f3c
--- /dev/null
+++ b/docs/deployment-planning-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,45 @@
+type=page
+status=published
+title={productName} Deployment Planning Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Deployment Planning Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Deployment Planning Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This book explains how to build a production deployment of {productName}.
+
+[[sthref1]]
+
+'''''
+
+{productName} Deployment Planning Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/deployment-planning-guide/src/main/jbake/assets/css/style.css b/docs/deployment-planning-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/deployment-planning-guide/src/main/jbake/content/checklist.adoc b/docs/deployment-planning-guide/src/main/jbake/content/checklist.adoc
deleted file mode 100644
index 387ff40..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/content/checklist.adoc
+++ /dev/null
@@ -1,161 +0,0 @@
-type=page
-status=published
-title=Checklist for Deployment
-prev=planning.html
-~~~~~~
-Checklist for Deployment
-========================
-
-[[GSPLG00003]][[abfeq]]
-
-
-[[checklist-for-deployment]]
-3 Checklist for Deployment
---------------------------
-
-This appendix provides a checklist to get started on evaluation and
-production with the GlassFish Server.
-
-[[sthref7]][[checklist]]
-
-Checklist
-~~~~~~~~~
-
-[[sthref8]][[sthref9]]
-
-Table 3-1 Checklist
-
-[width="100%",cols="<23%,<77%",options="header",]
-|=======================================================================
-|Component/Feature |Description
-|Application a|
-Determine the following requirements for the application to be deployed.
-
-* Required/acceptable response time.
-* Peak load characteristics.
-* Necessary persistence scope and frequency.
-* Session timeout in `web.xml`.
-* Failover and availability requirements. +
-For more information see the link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server Open Source
-Edition Performance Tuning Guide].
-
-|Hardware a|
-* Have necessary amounts of hard disk space and memory installed.
-* Use the sizing exercise to identify the requirements for deployment. +
-For more information see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source
-Edition Release Notes]
-
-|Operating System a|
-* Ensure that the product is installed on a supported platform.
-* Ensure that the patch levels are up-to-date and accurate. +
-For more information see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source
-Edition Release Notes]
-
-|Network Infrastructure a|
-* Identify single points of failures and address them.
-* Make sure that the NICs and other network components are correctly
-configured.
-* Run `ttcp` benchmark test to determine if the throughput meets the
-requirements/expected result.
-* Setup `ssh` based your preference. +
-For more information see the link:../installation-guide/toc.html#GSING[GlassFish Server Open Source
-Edition Installation Guide].
-
-|Back-ends and other external data sources |Check with the domain expert
-or vendor to ensure that these data sources are configured
-appropriately.
-
-|System Changes/Configuration a|
-* Make sure that changes to `/etc/system` and its equivalent on Linux
-are completed before running any performance/stress tests.
-* Make sure the changes to the TCP/IP settings are complete.
-* By default, the system comes with lots of services pre-configured. Not
-all of them are required to be running. Turn off services that are not
-needed to conserve system resources.
-* On Solaris, use `Setoolkit` to determine the behavior of the system.
-Resolve any flags that show up. +
-For more information see the link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server Open Source
-Edition Performance Tuning Guide].
-
-|Installation a|
-* Ensure that these servers are not installed on NFS mounted volumes.
-* Check for enough disk space and RAM when installing GlassFish Server.
-
-|GlassFish Server Configuration a|
-* Logging: Enable access log rotation.
-* Choose the right logging level. WARNING is usually appropriate.
-* Configure Java EE containers using the Administration Console.
-* Configure HTTP listeners using the Administration Console.
-* Configure ORB threadpool using the Administration Console.
-* If using Type2 drivers or calls involving native code, ensure that
-mtmalloc.so is specified in the LD_LIBRARY_PATH.
-* Ensure that the appropriate persistence scope and frequency are used
-and they are not overridden underneath in the individual Web/EJB
-modules.
-* Ensure that only critical methods in the SFSB are checkpointed. +
-For more information on tuning, see the link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server
-Open Source Edition Performance Tuning Guide]. +
-For more information on configuration, see the link:../administration-guide/toc.html#GSADG[GlassFish
-Server Open Source Edition Administration Guide].
-
-|Load balancer Configuration a|
-* Make sure the Web Server is installed.
-* Make sure the load balancer plug-in into the Web Server is installed.
-* Make sure patch checks is disabled.
-* Lower the value of the `KeepAliveQuery` parameter. The lower the
-value, the lower the latency is on lightly loaded systems. The higher
-the value, the higher the throughput is on highly loaded systems.
-
-|Java Virtual Machine Configuration a|
-* Initially set the minimum and maximum heap sizes to be the same, and
-at least one GB for each instance.
-* See
-http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[Java
-Hotspot VM Options]
-(`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`)
-for more information.
-* When running multiple instances of GlassFish Server, consider creating
-a processor set and bind GlassFish Server to it. This helps in cases
-where the CMS collector is used to sweep the old generation.
-
-|Configuring time-outs in the load balancer a|
-* Response-time-out-in-seconds - How long the load balancer waits before
-declaring a GlassFish Server instance unhealthy. Set this value based on
-the response time of the application. If set too high, the Web Server
-and load balancer plug-in wait a long time before marking a GlassFish
-Server instance as unhealthy. If set too low and GlassFish Server's
-response time crosses this threshold, the instance will be incorrectly
-marked as unhealthy.
-* Interval-in-seconds - Time in seconds after which unhealthy instances
-are checked to find out if they have returned to a healthy state. Too
-low a value generates extra traffic from the load balancer plug-in to
-GlassFish Server instances and too high a value delays the routing of
-requests to the instance that has turned healthy.
-* Timeout-in-seconds - Duration for a response to be obtained for a
-health check request. Adjust this value based on the traffic among the
-systems in the cluster to ensure that the health check succeeds.
-
-|Configuring time-outs in GlassFish Server a|
-* Max-wait-time-millis - Wait time to get a connection from the pool
-before throwing an exception. Default is 6 s. Consider changing this
-value for highly loaded systems where the size of the data being
-persisted is greater than 50 KB.
-* Cache-idle-timeout-in-seconds - Time an EJB is allowed to be idle in
-the cache before it gets passivated. Applies only to entity beans and
-stateful session beans.
-* Removal-timeout-in-seconds - Time that an EJB remains passivated (idle
-in the backup store). Default value is 60 minutes. Adjust this value
-based on the need for SFSB failover.
-
-|Tune VM Garbage Collection (GC) a|
-Garbage collection pauses of four seconds or more can cause intermittent
-problems in persisting session state. To avoid this problem, tune the VM
-heap. In cases where even a single failure to persist data is
-unacceptable or when the system is not fully loaded, use the CMS
-collector or the throughput collector.
-
-These can be enabled by adding:
-
-`<jvm-options>-XX:+UseConcMarkSweepGC</jvm-options>`
-
-This option may decrease throughput.
diff --git a/docs/deployment-planning-guide/src/main/jbake/content/concepts.adoc b/docs/deployment-planning-guide/src/main/jbake/content/concepts.adoc
deleted file mode 100644
index 45c15d5..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/content/concepts.adoc
+++ /dev/null
@@ -1,607 +0,0 @@
-type=page
-status=published
-title=Product Concepts
-next=planning.html
-prev=preface.html
-~~~~~~
-Product Concepts
-================
-
-[[GSPLG00001]][[abfaq]]
-
-
-[[product-concepts]]
-1 Product Concepts
-------------------
-
-GlassFish Server Open Source Edition provides a robust platform for the
-development, deployment, and management of Java EE applications. Key
-features include scalable transaction management, web services
-performance, clustering, security, and integration capabilities.
-
-The following topics are addressed here:
-
-* link:#abfar[Java EE Platform Overview]
-* link:#abfay[GlassFish Server Components]
-* link:#abfca[Configuration Roadmap for High Availability of GlassFish
-Server]
-
-[[abfar]][[GSPLG00016]][[java-ee-platform-overview]]
-
-Java EE Platform Overview
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server implements Java platform, Enterprise Edition (Java EE)
-7 technology. The Java EE platform is a set of standard specifications
-that describe application components, APIs, and the runtime containers
-and services of an application server.
-
-[[abfas]][[GSPLG00040]][[java-ee-applications]]
-
-Java EE Applications
-^^^^^^^^^^^^^^^^^^^^
-
-Java EE applications are made up of components such as JavaServer Pages
-(JSP), Java servlets, and Enterprise JavaBeans (EJB) modules. These
-components enable software developers to build large-scale, distributed
-applications. Developers package Java EE applications in Java Archive
-(JAR) files (similar to zip files), which can be distributed to
-production sites. Administrators install Java EE applications onto
-GlassFish Server by deploying Java EE JAR files onto one or more server
-instances (or clusters of instances).
-
-[[abfat]][[GSPLG00041]][[containers]]
-
-Containers
-^^^^^^^^^^
-
-Each server instance includes two containers: web and EJB. A container
-is a runtime environment that provides services such as security and
-transaction management to Java EE components. Web components, such as
-Java Server Pages and servlets, run within the web container. Enterprise
-JavaBeans run within the EJB container.
-
-[[abfau]][[GSPLG00042]][[java-ee-services]]
-
-Java EE Services
-^^^^^^^^^^^^^^^^
-
-The Java EE platform provides services for applications, including:
-
-* Naming - A naming and directory service binds objects to names. A Java
-EE application can locate an object by looking up its Java Naming and
-Directory Interface (JNDI) name.
-* Security - The Java Authorization Contract for Containers (JACC) is a
-set of security contracts defined for the Java EE containers. Based on
-the client's identity, containers can restrict access to the container's
-resources and services.
-* Transaction management - A transaction is an indivisible unit of work.
-For example, transferring funds between bank accounts is a transaction.
-A transaction management service ensures that a transaction is either
-completed, or is rolled back.
-* Message Service - Applications hosted on separate systems can
-communicate with each other by exchanging messages using the Java
-Message Service (JMS). JMS is an integral part of the Java EE platform
-and simplifies the task of integrating heterogeneous enterprise
-applications.
-
-[[abfav]][[GSPLG00043]][[web-services]]
-
-Web Services
-^^^^^^^^^^^^
-
-Clients can access a Java EE application as a remote web service in
-addition to accessing it through HTTP, RMI/IIOP, and JMS. Web services
-are implemented using the Java API for XML-based web services (JAX-WS).
-A Java EE application can also act as a client to web services, which
-would be typical in network applications.
-
-Web Services Description Language (WSDL) is an XML format that describes
-web service interfaces. Web service consumers can dynamically parse a
-WSDL document to determine the operations a web service provides and how
-to execute them. GlassFish Server distributes web services interface
-descriptions using a registry that other applications can access through
-the Java API for XML Registries (JAXR).
-
-[[abfaw]][[GSPLG00044]][[client-access]]
-
-Client Access
-^^^^^^^^^^^^^
-
-Clients can access Java EE applications in several ways. Browser clients
-access web applications using hypertext transfer protocol (HTTP). For
-secure communication, browsers use the HTTP secure (HTTPS) protocol that
-uses secure sockets layer (SSL).
-
-Rich client applications running in the Application Client Container can
-directly lookup and access Enterprise JavaBeans using an Object Request
-Broker (ORB), Remote Method Invocation (RMI) and the internet inter-ORB
-protocol (IIOP), or IIOP/SSL (secure IIOP). They can access applications
-and web services using HTTP/HTTPS, JMS, and JAX-WS. They can use JMS to
-send messages to and receive messages from applications and
-message-driven beans.
-
-Clients that conform to the Web Services-Interoperability (WS-I) Basic
-Profile can access Java EE web services. WS-I is an integral part of the
-Java EE standard and defines interoperable web services. It enables
-clients written in any supporting language to access web services
-deployed to GlassFish Server.
-
-The best access mechanism depends on the specific application and the
-anticipated volume of traffic. GlassFish Server supports separately
-configurable listeners for HTTP, HTTPS, JMS, IIOP, and IIOP/SSL. You can
-set up multiple listeners for each protocol for increased scalability
-and reliability.
-
-Java EE applications can also act as clients of Java EE components such
-as Enterprise JavaBeans modules deployed on other servers, and can use
-any of these access mechanisms.
-
-[[abfax]][[GSPLG00045]][[external-systems-and-resources]]
-
-External Systems and Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-On the Java EE platform, an external system is called a resource. For
-example, a database management system is a JDBC resource. Each resource
-is uniquely identified and by its Java Naming and Directory Interface
-(JNDI) name. Applications access external systems through the following
-APIs and components:
-
-* Java Database Connectivity (JDBC) - A database management system
-(DBMS) provides facilities for storing, organizing, and retrieving data.
-Most business applications store data in relational databases, which
-applications access via JDBC. GlassFish Server includes the Java DB
-database for use sample applications and application development and
-prototyping, though it is not suitable for deployment. GlassFish Server
-provides certified JDBC drivers for connecting to major relational
-databases. These drivers are suitable for deployment.
-* Java Message Service - Messaging is a method of communication between
-software components or applications. A messaging client sends messages
-to, and receives messages from, any other client via a messaging
-provider that implements the Java Messaging Service (JMS) API. GlassFish
-Server includes a high-performance JMS broker, Open Message Queue.
-* Java EE Connectors - The Java EE Connector architecture enables
-integrating Java EE applications and existing Enterprise Information
-Systems (EIS). An application accesses an EIS through a portable Java EE
-component called a connector or resource adapter, analogous to using
-JDBC driver to access an RDBMS. Resource adapters are distributed as
-standalone Resource Adapter Archive (RAR) modules or included in Java EE
-application archives. As RARs, they are deployed like other Java EE
-components. GlassFish Server includes evaluation resource adapters that
-integrate with popular EIS.
-* JavaMail - Through the JavaMail API, applications can connect to a
-Simple Mail Transport Protocol (SMTP) server to send email and to an
-IMAP or POP3 server to receive email.
-
-[[abfay]][[GSPLG00017]][[glassfish-server-components]]
-
-GlassFish Server Components
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes the components in GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#abfaz[Server Instances]
-* link:#abfba[Administrative Domains]
-* link:#abfbc[Clusters]
-* link:#abfbe[Named Configurations]
-* link:#abfbf[HTTP Load Balancer Plug-in]
-* link:#abfbh[IIOP Load Balancing in a Cluster]
-* link:#abfbi[Message Queue and JMS Resources]
-
-The administration tools, such as the browser-based Administration
-Console, communicate with the domain administration server (DAS), which
-in turn communicates with the server instances.
-
-[[abfaz]][[GSPLG00046]][[server-instances]]
-
-Server Instances
-^^^^^^^^^^^^^^^^
-
-A server instance is a GlassFish Server running in a single Java Virtual
-Machine (JVM) process. GlassFish Server is certified with Java platform,
-Standard Edition (Java SE) 7.
-
-It is usually sufficient to create a single server instance on a
-machine, since GlassFish Server and accompanying JVM are both designed
-to scale to multiple processors. However, it can be beneficial to create
-multiple instances on one machine for application isolation and rolling
-upgrades. In some cases, a large server with multiple instances can be
-used in more than one administrative domain. The administration tools
-makes it easy to create, delete, and manage server instances across
-multiple machines.
-
-[[abfba]][[GSPLG00047]][[administrative-domains]]
-
-Administrative Domains
-^^^^^^^^^^^^^^^^^^^^^^
-
-An administrative domain (or simply domain) is a group of server
-instances that are administered together. A server instance belongs to a
-single administrative domain. The instances in a domain can run on
-different physical hosts.
-
-You can create multiple domains from one installation of GlassFish
-Server. By grouping server instances into domains, different
-organizations and administrators can share a single GlassFish Server
-installation. Each domain has its own configuration, log files, and
-application deployment areas that are independent of other domains.
-Changing the configuration of one domain does not affect the
-configurations of other domains. Likewise, deploying an application on
-one domain does not deploy it or make it visible to any other domain.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-All hosts in a domain on which the DAS and GlassFish Server instances
-are running must have the same operating system.
-
-|=======================================================================
-
-
-[[abfbb]][[GSPLG00024]][[domain-administration-server-das]]
-
-Domain Administration Server (DAS)
-++++++++++++++++++++++++++++++++++
-
-A domain has one Domain Administration Server (DAS), a specially
-designated GlassFish Server instance that hosts the administrative
-applications. The DAS authenticates the administrator, accepts requests
-from administration tools, and communicates with server instances in the
-domain to carry out the requests.
-
-The administration tools are the `asadmin` command-line tool and the
-browser-based Administration Console. GlassFish Server also provides a
-RESTful API for server administration. The administrator can view and
-manage a single domain at a time, thus enforcing secure separation.
-
-The DAS is also sometimes referred to as the admin server or default
-server. It is referred to as the default server because it is the
-default target for some administrative operations.
-
-Since the DAS is a GlassFish Server instance, it can also host Java EE
-applications for testing purposes. However, do not use it to host
-production applications. You might want to deploy applications to the
-DAS, for example, if the clusters and instances that will host the
-production application have not yet been created.
-
-The DAS keeps a repository containing the configuration of its domain
-and all the deployed applications. If the DAS is inactive or down, there
-is no impact on the performance or availability of active server
-instances, however administrative changes cannot be made. In certain
-cases, for security purposes, it may be useful to intentionally stop the
-DAS process, for example to reboot the host operating system to install
-a kernel patch or a hardware upgrade.
-
-Administrative commands are provided to backup and restore the domain
-configuration and applications. With the standard backup and restore
-procedures, you can quickly restore working configurations. If the DAS
-host fails, you must create a new DAS installation to restore the
-previous domain configuration. For instructions, see
-"link:../administration-guide/domains.html#GSADG00006[Administering Domains]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[abfbc]][[GSPLG00048]][[clusters]]
-
-Clusters
-^^^^^^^^
-
-A cluster is a named collection of server instances that share the same
-applications, resources, and configuration information. You can group
-server instances on different machines into one logical cluster and
-administer them as one unit. You can easily control the lifecycle of a
-multi-machine cluster with the DAS.
-
-Clusters enable horizontal scalability, load balancing, and failover
-protection. By definition, all the instances in a cluster have the same
-resource and application configuration. When a server instance or a
-machine in a cluster fails, the load balancer detects the failure,
-redirects traffic from the failed instance to other instances in the
-cluster, and recovers the user session state. Since the same
-applications and resources are on all instances in the cluster, an
-instance can failover to any other instance in the cluster.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-All hosts in a cluster on which the DAS and GlassFish Server instances
-are running must have the same operating system.
-
-|=======================================================================
-
-
-Clusters, domains, and instances are related as follows:
-
-* An administrative domain can have zero or more clusters.
-* A cluster has one or more server instances.
-* A cluster belongs to a single domain.
-
-[[abfbe]][[GSPLG00049]][[named-configurations]]
-
-Named Configurations
-^^^^^^^^^^^^^^^^^^^^
-
-A named configuration is an abstraction that encapsulates GlassFish
-Server property settings. Clusters and stand-alone server instances
-reference a named configuration to get their property settings. With
-named configurations, Java EE containers' configurations are independent
-of the physical machine on which they reside, except for particulars
-such as IP address, port number, and amount of heap memory. Using named
-configurations provides power and flexibility to GlassFish Server
-administration.
-
-To apply configuration changes, you simply change the property settings
-of the named configuration, and all the clusters and stand-alone
-instances that reference it pick up the changes. You can only delete a
-named configuration when all references to it have been removed. A
-domain can contain multiple named configurations.
-
-GlassFish Server comes with a default configuration, called
-default-config. The default configuration is optimized for developer
-productivity.
-
-You can create your own named configuration based on the default
-configuration that you can customize for your own purposes. Use the
-Administration Console and `asadmin` command line utility to create and
-manage named configurations.
-
-[[abfbf]][[GSPLG00050]][[http-load-balancer-plug-in]]
-
-HTTP Load Balancer Plug-in
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The load balancer distributes the workload among multiple physical
-machines, thereby increasing the overall throughput of the system. The
-GlassFish Server includes the load balancer plug-ins for Oracle iPlanet
-Web Server, Oracle HTTP Server, Apache Web Server, and Microsoft
-Internet Information Server.
-
-The load balancer plug-in accepts HTTP and HTTPS requests and forwards
-them to one of the GlassFish Server instances in the cluster. Should an
-instance fail, become unavailable (due to network faults), or become
-unresponsive, requests are redirected to existing, available machines.
-The load balancer can also recognize when a failed instance has
-recovered and redistribute the load accordingly.
-
-For simple stateless applications, a load-balanced cluster may be
-sufficient. However, for mission-critical applications with session
-state, use load balanced clusters with replicated session persistence.
-
-To setup a system with load balancing, in addition to GlassFish Server,
-you must install a web server and the load-balancer plug-in. Then you
-must:
-
-* Create GlassFish Server clusters that you want to participate in load
-balancing.
-* Deploy applications to these load-balanced clusters.
-
-Server instances and clusters participating in load balancing have a
-homogenous environment. Usually that means that the server instances
-reference the same server configuration, can access the same physical
-resources, and have the same applications deployed to them. Homogeneity
-enables configuration consistency, and improves the ability to support a
-production deployment.
-
-Use the `asadmin` command-line tool to create a load balancer
-configuration, add references to clusters and server instances to it,
-enable the clusters for reference by the load balancer, enable
-applications for load balancing, optionally create a health checker,
-generate the load balancer configuration file, and finally copy the load
-balancer configuration file to your web server `config` directory. An
-administrator can create a script to automate this entire process.
-
-For more details and complete configuration instructions, see
-"link:../ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in GlassFish Server
-Open Source Edition High Availability Administration Guide.
-
-[[abfbg]][[GSPLG00051]][[session-persistence]]
-
-Session Persistence
-^^^^^^^^^^^^^^^^^^^
-
-Java EE applications typically have significant amounts of session state
-data. A web shopping cart is the classic example of a session state.
-Also, an application can cache frequently-needed data in the session
-object. In fact, almost all applications with significant user
-interactions need to maintain a session state. Both HTTP sessions and
-stateful session beans (SFSBs) have session state data.
-
-While the session state is not as important as the transactional state
-stored in a database, preserving the session state across server
-failures can be important to end users. GlassFish Server provides the
-capability to save, or persist, this session state in a repository. If
-the GlassFish Server instance that is hosting the user session
-experiences a failure, the session state can be recovered. The session
-can continue without loss of information.
-
-GlassFish Server supports the following session persistence types:
-
-* Memory
-* Replicated
-* File
-* Coherence*Web
-
-With memory persistence, the state is always kept in memory and does not
-survive failure. With replicated persistence, GlassFish Server uses
-other server instances in the cluster as the persistence store for both
-HTTP and SFSB sessions. With file persistence, GlassFish Server
-serializes session objects and stores them to the file system location
-specified by session manager properties. For SFSBs, if replicated
-persistence is not specified, GlassFish Server stores state information
-in the session-store subdirectory of this location. For more information
-about Coherence*Web, see
-http://download.oracle.com/docs/cd/E18686_01/coh.37/e18690/glassfish.html[Using
-Coherence*Web with GlassFish Server]
-(`http://docs.oracle.com/cd/E18686_01/coh.37/e18690/glassfish.html`).
-
-Checking an SFSB's state for changes that need to be saved is called
-checkpointing. When enabled, checkpointing generally occurs after any
-transaction involving the SFSB is completed, even if the transaction
-rolls back. For more information on developing stateful session beans,
-see "link:../application-development-guide/ejb.html#GSDVG00147[Using Session Beans]" in GlassFish Server Open
-Source Edition Application Development Guide. For more information on
-enabling SFSB failover, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00211[Stateful Session Bean
-Failover]" in GlassFish Server Open Source Edition High Availability
-Administration Guide.
-
-Apart from the number of requests being served by GlassFish Server, the
-session persistence configuration settings also affect the session
-information in each request.
-
-For more information on configuring session persistence, see
-"link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session Persistence and
-Failover]" in GlassFish Server Open Source Edition High Availability
-Administration Guide.
-
-[[abfbh]][[GSPLG00052]][[iiop-load-balancing-in-a-cluster]]
-
-IIOP Load Balancing in a Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-With IIOP load balancing, IIOP client requests are distributed to
-different server instances or name servers. The goal is to spread the
-load evenly across the cluster, thus providing scalability. IIOP load
-balancing combined with EJB clustering and availability features in
-GlassFish Server provides not only load balancing but also EJB failover.
-
-There are two steps to IIOP failover and load balancing. The first step,
-bootstrapping, is the process by which the client sets up the initial
-naming context with one ORB in the cluster. The client attempts to
-connect to one of the IIOP endpoints. When launching an application
-client using the `appclient` script, you specify these endpoints using
-the `-targetserver` option on the command line or `target-server`
-elements in the `sun-acc.xml` configuration file. The client randomly
-chooses one of these endpoints and tries to connect to it, trying other
-endpoints if needed until one works.
-
-The second step concerns sending messages to a specific EJB. By default,
-all naming look-ups, and therefore all EJB accesses, use the cluster
-instance chosen during bootstrapping. The client exchanges messages with
-an EJB through the client ORB and server ORB. As this happens, the
-server ORB updates the client ORB as servers enter and leave the
-cluster. Later, if the client loses its connection to the server from
-the previous step, the client fails over to some other server using its
-list of currently active members. In particular, this cluster member
-might have joined the cluster after the client made the initial
-connection.
-
-When a client performs a JNDI lookup for an object, the Naming Service
-creates an `InitialContext` (IC) object associated with a particular
-server instance. From then on, all lookup requests made using that IC
-object are sent to the same server instance. All `EJBHome` objects
-looked up with that `InitialContext` are hosted on the same target
-server. Any bean references obtained henceforth are also created on the
-same target host. This effectively provides load balancing, since all
-clients randomize the list of live target servers when creating
-`InitialContext` objects. If the target server instance goes down, the
-lookup or EJB method invocation will failover to another server
-instance.
-
-Adding or deleting new instances to the cluster does not update the
-existing client's view of the cluster. You must manually update the
-endpoints list on the client side.
-
-[[abfbi]][[GSPLG00053]][[message-queue-and-jms-resources]]
-
-Message Queue and JMS Resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Open Message Queue (Message Queue) provides reliable, asynchronous
-messaging for distributed applications. Message Queue is an enterprise
-messaging system that implements the Java Message Service (JMS)
-standard. Message Queue provides messaging for Java EE application
-components such as message-driven beans (MDBs).
-
-GlassFish Server implements the Java Message Service (JMS) API by
-integrating Message Queue into GlassFish Server. GlassFish Server
-includes the Enterprise version of Message Queue which has failover,
-clustering and load balancing features.
-
-For basic JMS administration tasks, use the GlassFish Server
-Administration Console and `asadmin` command-line utility.
-
-For advanced tasks, including administering a Message Queue cluster, use
-the tools provided in the as-install`/mq/bin` directory. For details
-about administering Message Queue, see the link:../../openmq/mq-admin-guide/toc.html#GMADG[Open Message
-Queue Administration Guide].
-
-For information on deploying JMS applications and Message Queue
-clustering for message failover, see link:planning.html#abfdn[Planning
-Message Queue Broker Deployment].
-
-[[abfca]][[GSPLG00018]][[configuration-roadmap-for-high-availability-of-glassfish-server]]
-
-Configuration Roadmap for High Availability of GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following procedure lists the major tasks for configuring GlassFish
-Server for high availability. The procedure also provides
-cross-references to detailed instructions for performing each task.
-
-[[sthref6]][[to-configure-glassfish-server-for-high-availability]]
-
-To Configure GlassFish Server for High Availability
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Determine your requirements and goals for performance and QoS. +
-For more information, see the following documentation:
-* link:planning.html#abfcc[Establishing Performance Goals]
-* link:planning.html#abfcp[Planning the Network Configuration]
-* link:planning.html#abfcy[Planning for Availability]
-2.  Size your system. +
-For more information, see link:planning.html#abfdg[Design Decisions].
-3.  Install GlassFish Server and related subcomponents such as a web
-server. +
-For more information, see the following documentation:
-* link:../installation-guide/toc.html#GSING[GlassFish Server Open Source Edition Installation Guide]
-* Installation guides for related subcomponents, for example, Oracle
-iPlanet Web Server 7.0.9 Installation and Migration Guide
-(`http://docs.oracle.com/cd/E19146-01/821-1832/index.html`)
-4.  If you plan to administer your clusters centrally, set up secure
-shell (SSH) for centralized administration. +
-For more information, see "link:../ha-administration-guide/ssh-setup.html#GSHAG00003[Setting Up SSH for
-Centralized Administration]" in GlassFish Server Open Source Edition
-High Availability Administration Guide.
-5.  Configure domains, nodes, clusters, GlassFish Server instances, and
-virtual servers as required. +
-For more information, see the following documentation:
-* "link:../administration-guide/domains.html#GSADG00006[Administering Domains]" in GlassFish Server Open
-Source Edition Administration Guide
-* "link:../ha-administration-guide/nodes.html#GSHAG00004[Administering GlassFish Server Nodes]" in GlassFish
-Server Open Source Edition High Availability Administration Guide
-* "link:../ha-administration-guide/clusters.html#GSHAG00005[Administering GlassFish Server Clusters]" in
-GlassFish Server Open Source Edition High Availability Administration
-Guide
-* "link:../ha-administration-guide/instances.html#GSHAG00006[Administering GlassFish Server Instances]" in
-GlassFish Server Open Source Edition High Availability Administration
-Guide
-* "link:../administration-guide/http_https.html#GSADG00589[Administering Virtual Servers]" in GlassFish Server
-Open Source Edition Administration Guide
-6.  Configure your load balancer. +
-For more information, see "link:../administration-guide/webapps.html#GSADG00552[Administering mod_jk]" in
-GlassFish Server Open Source Edition Administration Guide.
-7.  Configure the web container and EJB container for replicated session
-persistence. +
-For more information, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High
-Availability Session Persistence and Failover]" in GlassFish Server Open
-Source Edition High Availability Administration Guide.
-8.  If you are using messaging extensively, configure Java Message
-Service (JMS) clusters for failover . +
-For more information, see the following documentation:
-* link:planning.html#abfdn[Planning Message Queue Broker Deployment]
-* "link:../ha-administration-guide/jms.html#GSHAG00012[Configuring Java Message Service High Availability]"
-in GlassFish Server Open Source Edition High Availability Administration
-Guide
-* link:../../openmq/mq-admin-guide/toc.html#GMADG[Open Message Queue Administration Guide]
-9.  Deploy applications and configure them for high availability and
-session failover. +
-For more information, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
-Edition Application Deployment Guide].
diff --git a/docs/deployment-planning-guide/src/main/jbake/content/loe.adoc b/docs/deployment-planning-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index f876140..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lot.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:planning.html#fygam[2-1 Calculation of Response Time]
-* link:planning.html#fygaj[2-2 Calculation of Requests Per Second]
-* link:planning.html#fygad[2-3 Calculation of Bandwidth Required]
-* link:planning.html#fygai[2-4 Calculation of Peak Load]
diff --git a/docs/deployment-planning-guide/src/main/jbake/content/lot.adoc b/docs/deployment-planning-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index 656eabd..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=loe.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:checklist.html#sthref9[3-1 Checklist]
diff --git a/docs/deployment-planning-guide/src/main/jbake/content/planning.adoc b/docs/deployment-planning-guide/src/main/jbake/content/planning.adoc
deleted file mode 100644
index 4c8de00..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/content/planning.adoc
+++ /dev/null
@@ -1,957 +0,0 @@
-type=page
-status=published
-title=Planning your Deployment
-next=checklist.html
-prev=concepts.html
-~~~~~~
-Planning your Deployment
-========================
-
-[[GSPLG00002]][[abfcb]]
-
-
-[[planning-your-deployment]]
-2 Planning your Deployment
---------------------------
-
-Before deploying GlassFish Server, first determine the performance and
-availability goals, and then make decisions about the hardware, network,
-and storage requirements accordingly.
-
-The following topics are addressed here:
-
-* link:#abfcc[Establishing Performance Goals]
-* link:#abfcp[Planning the Network Configuration]
-* link:#abfcy[Planning for Availability]
-* link:#abfdg[Design Decisions]
-* link:#abfdn[Planning Message Queue Broker Deployment]
-
-[[abfcc]][[GSPLG00019]][[establishing-performance-goals]]
-
-Establishing Performance Goals
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-At its simplest, high performance means maximizing throughput and
-reducing response time. Beyond these basic goals, you can establish
-specific goals by determining the following:
-
-* What types of applications and services are deployed, and how do
-clients access them?
-* Which applications and services need to be highly available?
-* Do the applications have session state or are they stateless?
-* What request capacity or throughput must the system support?
-* How many concurrent users must the system support?
-* What is an acceptable average response time for user requests?
-* What is the average think time between requests?
-
-You can calculate some of these metrics using a remote browser emulator
-(RBE) tool, or web site performance and benchmarking software that
-simulates expected application activity. Typically, RBE and benchmarking
-products generate concurrent HTTP requests and then report the response
-time for a given number of requests per minute. You can then use these
-figures to calculate server activity.
-
-The results of the calculations described in this chapter are not
-absolute. Treat them as reference points to work against, as you
-fine-tune the performance of GlassFish Server and your applications.
-
-The following topics are addressed here:
-
-* link:#abfcd[Estimating Throughput]
-* link:#abfce[Estimating Load on GlassFish Server Instances]
-* link:#abfcq[Estimating Bandwidth Requirements]
-* link:#abfct[Estimating Peak Load]
-
-[[abfcd]][[GSPLG00054]][[estimating-throughput]]
-
-Estimating Throughput
-^^^^^^^^^^^^^^^^^^^^^
-
-In broad terms, throughput measures the amount of work performed by
-GlassFish Server. For GlassFish Server, throughput can be defined as the
-number of requests processed per minute per server instance.
-
-As described in the next section, GlassFish Server throughput is a
-function of many factors, including the nature and size of user
-requests, number of users, and performance of GlassFish Server instances
-and back-end databases. You can estimate throughput on a single machine
-by benchmarking with simulated workloads.
-
-High availability applications incur additional overhead because they
-periodically save session data. The amount of overhead depends on the
-amount of data, how frequently it changes, and how often it is saved.
-The first two factors depend on the application in question; the latter
-is also affected by server settings.
-
-[[abfce]][[GSPLG00055]][[estimating-load-on-glassfish-server-instances]]
-
-Estimating Load on GlassFish Server Instances
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Consider the following factors to estimate the load on GlassFish Server
-instances.
-
-The following topics are addressed here:
-
-* link:#abfcf[Maximum Number of Concurrent Users]
-* link:#abfcg[Think Time]
-* link:#abfch[Average Response Time]
-* link:#abfcj[Requests Per Minute]
-
-[[abfcf]][[GSPLG00025]][[maximum-number-of-concurrent-users]]
-
-Maximum Number of Concurrent Users
-++++++++++++++++++++++++++++++++++
-
-Users interact with an application through a client, such as a web
-browser or Java program. Based on the user's actions, the client
-periodically sends requests to the GlassFish Server. A user is
-considered active as long as the user's session has neither expired nor
-been terminated. When estimating the number of concurrent users, include
-all active users.
-
-Initially, as the number of users increases, throughput increases
-correspondingly. However, as the number of concurrent requests
-increases, server performance begins to saturate, and throughput begins
-to decline.
-
-Identify the point at which adding concurrent users reduces the number
-of requests that can be processed per minute. This point indicates when
-optimal performance is reached and beyond which throughput start to
-degrade. Generally, strive to operate the system at optimal throughput
-as much as possible. You might need to add processing power to handle
-additional load and increase throughput.
-
-[[abfcg]][[GSPLG00026]][[think-time]]
-
-Think Time
-++++++++++
-
-A user does not submit requests continuously. A user submits a request,
-the server receives and processes the request, and then returns a
-result, at which point the user spends some time before submitting a new
-request. The time between one request and the next is called think time.
-
-Think times are dependent on the type of users. For example,
-machine-to-machine interaction such as for a web service typically has a
-lower think time than that of a human user. You may have to consider a
-mix of machine and human interactions to estimate think time.
-
-Determining the average think time is important. You can use this
-duration to calculate the number of requests that need to be completed
-per minute, as well as the number of concurrent users the system can
-support.
-
-[[abfch]][[GSPLG00027]][[average-response-time]]
-
-Average Response Time
-+++++++++++++++++++++
-
-Response time refers to the amount of time GlassFish Server takes to
-return the results of a request to the user. The response time is
-affected by factors such as network bandwidth, number of users, number
-and type of requests submitted, and average think time.
-
-In this section, response time refers to the mean, or average, response
-time. Each type of request has its own minimal response time. However,
-when evaluating system performance, base the analysis on the average
-response time of all requests.
-
-The faster the response time, the more requests per minute are being
-processed. However, as the number of users on the system increases, the
-response time starts to increase as well, even though the number of
-requests per minute declines.
-
-A system performance graph indicates that after a certain point,
-requests per minute are inversely proportional to response time. The
-sharper the decline in requests per minute, the steeper the increase in
-response time.
-
-The point of the peak load is the point at which requests per minute
-start to decline. Prior to this point, response time calculations are
-not necessarily accurate because they do not use peak numbers in the
-formula. After this point, (because of the inversely proportional
-relationship between requests per minute and response time), the
-administrator can more accurately calculate response time using maximum
-number of users and requests per minute.
-
-Use the following formula to determine T~response~, the response time
-(in seconds) at peak load:
-
-T~response~ = n/r - T~think~
-
-where
-
-* n is the number of concurrent users
-* r is the number requests per second the server receives
-* T~think~ is the average think time (in seconds) +
-To obtain an accurate response time result, always include think time in
-the equation.
-
-[[GSPLG00007]][[fygam]]
-
-
-Example 2-1 Calculation of Response Time
-
-If the following conditions exist:
-
-* Maximum number of concurrent users, n, that the system can support at
-peak load is 5,000.
-* Maximum number of requests, r, the system can process at peak load is
-1,000 per second.
-
-Average think time, T~think~, is three seconds per request.
-
-Thus, the calculation of response time is:
-
-T~response~ = n/r - T~think~ = (5000/ 1000) - 3 sec. = 5 - 3 sec.
-
-Therefore, the response time is two seconds.
-
-After the system's response time has been calculated, particularly at
-peak load, compare it to the acceptable response time for the
-application. Response time, along with throughput, is one of the main
-factors critical to GlassFish Server performance.
-
-[[abfcj]][[GSPLG00028]][[requests-per-minute]]
-
-Requests Per Minute
-+++++++++++++++++++
-
-If you know the number of concurrent users at any given time, the
-response time of their requests, and the average user think time, then
-you can calculate the number of requests per minute. Typically, start by
-estimating the number of concurrent users that are on the system.
-
-For example, after running web site performance software, the
-administrator concludes that the average number of concurrent users
-submitting requests on an online banking web site is 3,000. This number
-depends on the number of users who have signed up to be members of the
-online bank, their banking transaction behavior, the time of the day or
-week they choose to submit requests, and so on.
-
-Therefore, knowing this information enables you to use the requests per
-minute formula described in this section to calculate how many requests
-per minute your system can handle for this user base. Since requests per
-minute and response time become inversely proportional at peak load,
-decide if fewer requests per minute is acceptable as a trade-off for
-better response time, or alternatively, if a slower response time is
-acceptable as a trade-off for more requests per minute.
-
-Experiment with the requests per minute and response time thresholds
-that are acceptable as a starting point for fine-tuning system
-performance. Thereafter, decide which areas of the system require
-adjustment.
-
-Solving for r in the equation in the previous section gives:
-
-r = n/(T~response~ + T~think~)
-
-[[GSPLG00008]][[fygaj]]
-
-
-Example 2-2 Calculation of Requests Per Second
-
-For the values:
-
-* n = 2,800 concurrent users
-* T~response~ = 1 (one second per request average response time)
-* T~think~ = 3, (three seconds average think time)
-
-The calculation for the number of requests per second is:
-
-[source,oac_no_warn]
-----
-r = 2800 / (1+3) = 700
-----
-
-Therefore, the number of requests per second is 700 and the number of
-requests per minute is 42000.
-
-[[abfcp]][[GSPLG00020]][[planning-the-network-configuration]]
-
-Planning the Network Configuration
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When planning how to integrate the GlassFish Server into the network,
-estimate the bandwidth requirements and plan the network in such a way
-that it can meet users' performance requirements.
-
-The following topics are addressed here:
-
-* link:#gkvdm[Setting Up Traffic Separation]
-* link:#abfcq[Estimating Bandwidth Requirements]
-* link:#abfcr[Calculating Bandwidth Required]
-* link:#abfct[Estimating Peak Load]
-* link:#abfcw[Choosing Network Cards]
-* link:#abfdc[Identifying Failure Classes]
-
-[[gkvdm]][[GSPLG00056]][[setting-up-traffic-separation]]
-
-Setting Up Traffic Separation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can separate external traffic, such as client requests, from the
-internal traffic, such as session state failover, database transactions,
-and messaging. Traffic separation enables you to plan a network better
-and augment certain parts of the network, as required.
-
-To separate the traffic, run each server instance on a multi-homed
-machine. A multi-homed machine has two IP addresses belonging to
-different networks, an external IP and an internal IP. The objective is
-to expose only the external IP to user requests. The internal IP is used
-only by the cluster instances for internal communication. For details,
-see "link:../ha-administration-guide/clusters.html#GSHAG00266[Using the Multi-Homing Feature With GMS]" in
-GlassFish Server Open Source Edition High Availability Administration
-Guide.
-
-To plan for traffic on both networks, see link:#abfcq[Estimating
-Bandwidth Requirements]. For external networks, follow the guidelines in
-link:#abfcr[Calculating Bandwidth Required] and link:#abfct[Estimating
-Peak Load]. To size the interfaces for internal networks, see
-link:#abfcw[Choosing Network Cards].
-
-[[abfcq]][[GSPLG00057]][[estimating-bandwidth-requirements]]
-
-Estimating Bandwidth Requirements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To decide on the desired size and bandwidth of the network, first
-determine the network traffic and identify its peak. Check if there is a
-particular hour, day of the week, or day of the month when overall
-volume peaks, and then determine the duration of that peak.
-
-During peak load times, the number of packets in the network is at its
-highest level. In general, if you design for peak load, scale your
-system with the goal of handling 100 percent of peak volume. Bear in
-mind, however, that any network behaves unpredictably and that despite
-your scaling efforts, it might not always be able handle 100 percent of
-peak volume.
-
-For example, assume that at peak load, five percent of users
-occasionally do not have immediate network access when accessing
-applications deployed on GlassFish Server. Of that five percent,
-estimate how many users retry access after the first attempt. Again, not
-all of those users might get through, and of that unsuccessful portion,
-another percentage will retry. As a result, the peak appears longer
-because peak use is spread out over time as users continue to attempt
-access.
-
-[[abfcr]][[GSPLG00058]][[calculating-bandwidth-required]]
-
-Calculating Bandwidth Required
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Based on the calculations made in link:#abfcc[Establishing Performance
-Goals], determine the additional bandwidth required for deploying
-GlassFish Server at your site.
-
-Depending on the method of access (T-1 lines, ADSL, cable modem, and so
-on), calculate the amount of increased bandwidth required to handle your
-estimated load. For example, suppose your site uses T-1 or higher-speed
-T-3 lines. Given their bandwidth, estimate how many lines are needed on
-the network, based on the average number of requests generated per
-second at your site and the maximum peak load. Calculate these figures
-using a web site analysis and monitoring tool.
-
-[[GSPLG00009]][[fygad]]
-
-
-Example 2-3 Calculation of Bandwidth Required
-
-A single T-1 line can handle 1.544 Mbps. Therefore, a network of four
-T-1 lines can handle approximately 6 Mbps of data. Assuming that the
-average HTML page sent back to a client is 30 kilobytes (KB), this
-network of four T-1 lines can handle the following traffic per second:
-
-6,176,000 bits/10 bits = 772,000 bytes per second
-
-772,000 bytes per second/30 KB = approximately 25 concurrent response
-pages per second.
-
-With traffic of 25 pages per second, this system can handle 90,000 pages
-per hour (25 x 60 seconds x 60 minutes), and therefore 2,160,000 pages
-per day maximum, assuming an even load throughout the day. If the
-maximum peak load is greater than this, increase the bandwidth
-accordingly.
-
-[[abfct]][[GSPLG00059]][[estimating-peak-load]]
-
-Estimating Peak Load
-^^^^^^^^^^^^^^^^^^^^
-
-Having an even load throughout the day is probably not realistic. You
-need to determine when the peak load occurs, how long it lasts, and what
-percentage of the total load is the peak load.
-
-[[GSPLG00010]][[fygai]]
-
-
-Example 2-4 Calculation of Peak Load
-
-If the peak load lasts for two hours and takes up 30 percent of the
-total load of 2,160,000 pages, this implies that 648,000 pages must be
-carried over the T-1 lines during two hours of the day.
-
-Therefore, to accommodate peak load during those two hours, increase the
-number of T-1 lines according to the following calculations:
-
-648,000 pages/120 minutes = 5,400 pages per minute
-
-5,400 pages per minute/60 seconds = 90 pages per second
-
-If four lines can handle 25 pages per second, then approximately four
-times that many pages requires four times that many lines, in this case
-16 lines. The 16 lines are meant for handling the realistic maximum of a
-30 percent peak load. Obviously, the other 70 percent of the load can be
-handled throughout the rest of the day by these many lines.
-
-[[abfcw]][[GSPLG00060]][[choosing-network-cards]]
-
-Choosing Network Cards
-^^^^^^^^^^^^^^^^^^^^^^
-
-For greater bandwidth and optimal network performance, use at least 100
-Mbps Ethernet cards or, preferably, 1 Gbps Ethernet cards between
-servers hosting GlassFish Server.
-
-[[abfcy]][[GSPLG00021]][[planning-for-availability]]
-
-Planning for Availability
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#abfcz[Rightsizing Availability]
-* link:#abfda[Using Clusters to Improve Availability]
-* link:#abfdb[Adding Redundancy to the System]
-
-[[abfcz]][[GSPLG00061]][[rightsizing-availability]]
-
-Rightsizing Availability
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-To plan availability of systems and applications, assess the
-availability needs of the user groups that access different
-applications. For example, external fee-paying users and business
-partners often have higher quality of service (QoS) expectations than
-internal users. Thus, it may be more acceptable to internal users for an
-application feature, application, or server to be unavailable than it
-would be for paying external customers.
-
-There is an increasing cost and complexity to mitigating against
-decreasingly probable events. At one end of the continuum, a simple
-load-balanced cluster can tolerate localized application, middleware,
-and hardware failures. At the other end of the scale, geographically
-distinct clusters can mitigate against major catastrophes affecting the
-entire data center.
-
-To realize a good return on investment, it often makes sense to identify
-availability requirements of features within an application. For
-example, it may not be acceptable for an insurance quotation system to
-be unavailable (potentially turning away new business), but brief
-unavailability of the account management function (where existing
-customers can view their current coverage) is unlikely to turn away
-existing customers.
-
-[[abfda]][[GSPLG00062]][[using-clusters-to-improve-availability]]
-
-Using Clusters to Improve Availability
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-At the most basic level, a cluster is a group of GlassFish Server
-instances—often hosted on multiple physical servers—that appear to
-clients as a single instance. This provides horizontal scalability as
-well as higher availability than a single instance on a single machine.
-This basic level of clustering works in conjunction with the HTTP load
-balancer plug-in, which accepts HTTP and HTTPS requests and forwards
-them to one of the instances in the cluster. The ORB and integrated JMS
-brokers also perform load balancing to GlassFish Server clusters. If an
-instance fails, becomes unavailable (due to network faults), or becomes
-unresponsive, requests are redirected only to existing, available
-machines. The load balancer can also recognize when a failed instance
-has recovered and redistribute load accordingly.
-
-[[abfdb]][[GSPLG00063]][[adding-redundancy-to-the-system]]
-
-Adding Redundancy to the System
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-One way to achieve high availability is to add hardware and software
-redundancy to the system. When one unit fails, the redundant unit takes
-over. This is also referred to as fault tolerance. In general, to
-maximize high availability, determine and remove every possible point of
-failure in the system.
-
-[[abfdc]][[GSPLG00029]][[identifying-failure-classes]]
-
-Identifying Failure Classes
-+++++++++++++++++++++++++++
-
-The level of redundancy is determined by the failure classes (types of
-failure) that the system needs to tolerate. Some examples of failure
-classes are:
-
-* System process
-* Machine
-* Power supply
-* Disk
-* Network failures
-* Building fires or other preventable disasters
-* Unpredictable natural catastrophes
-
-Duplicated system processes tolerate single system process failures, as
-well as single machine failures. Attaching the duplicated mirrored
-(paired) machines to different power supplies tolerates single power
-failures. By keeping the mirrored machines in separate buildings, a
-single-building fire can be tolerated. By keeping them in separate
-geographical locations, natural catastrophes like earthquakes can be
-tolerated.
-
-[[abfdf]][[GSPLG00030]][[planning-failover-capacity]]
-
-Planning Failover Capacity
-++++++++++++++++++++++++++
-
-Failover capacity planning implies deciding how many additional servers
-and processes you need to add to the GlassFish Server deployment so that
-in the event of a server or process failure, the system can seamlessly
-recover data and continue processing. If your system gets overloaded, a
-process or server failure might result, causing response time
-degradation or even total loss of service. Preparing for such an
-occurrence is critical to successful deployment.
-
-To maintain capacity, especially at peak loads, add spare machines
-running GlassFish Server instances to the existing deployment.
-
-For example, consider a system with two machines running one GlassFish
-Server instance each. Together, these machines handle a peak load of 300
-requests per second. If one of these machines becomes unavailable, the
-system will be able to handle only 150 requests, assuming an even load
-distribution between the machines. Therefore, half the requests during
-peak load will not be served.
-
-[[abfdg]][[GSPLG00022]][[design-decisions]]
-
-Design Decisions
-~~~~~~~~~~~~~~~~
-
-Design decisions include whether you are designing the system for peak
-or steady-state load, the number of machines in various roles and their
-sizes, and the size of the administration thread pool.
-
-The following topics are addressed here:
-
-* link:#abfdh[Designing for Peak or Steady State Load]
-* link:#abfdi[System Sizing]
-* link:#gkvcu[Sizing the Administration Thread Pool]
-
-[[abfdh]][[GSPLG00064]][[designing-for-peak-or-steady-state-load]]
-
-Designing for Peak or Steady State Load
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In a typical deployment, there is a difference between steady state and
-peak workloads:
-
-* If the system is designed to handle peak load, it can sustain the
-expected maximum load of users and requests without degrading response
-time. This implies that the system can handle extreme cases of expected
-system load. If the difference between peak load and steady state load
-is substantial, designing for peak loads can mean spending money on
-resources that are often idle.
-* If the system is designed to handle steady state load, it does not
-have all the resources required to handle the expected peak load. Thus,
-the system has a slower response time when peak load occurs.
-
-How often the system is expected to handle peak load will determine
-whether you want to design for peak load or for steady state.
-
-If peak load occurs often—say, several times per day—it may be
-worthwhile to expand capacity to handle it. If the system operates at
-steady state 90 percent of the time, and at peak only 10 percent of the
-time, then it may be preferable to deploy a system designed around
-steady state load. This implies that the system's response time will be
-slower only 10 percent of the time. Decide if the frequency or duration
-of time that the system operates at peak justifies the need to add
-resources to the system.
-
-[[abfdi]][[GSPLG00065]][[system-sizing]]
-
-System Sizing
-^^^^^^^^^^^^^
-
-Based on the load on the GlassFish Server instances and failover
-requirements, you can determine the number of applications server
-instances (hosts) needed. Evaluate your environment on the basis of the
-factors explained in link:#abfce[Estimating Load on GlassFish Server
-Instances] to each GlassFish Server instance, although each instance can
-use more than one Central Processing Unit (CPU).
-
-[[gkvcu]][[GSPLG00066]][[sizing-the-administration-thread-pool]]
-
-Sizing the Administration Thread Pool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The default `admin-thread-pool` size of 50 should be adequate for most
-cluster deployments. If you have unusually large clusters, you may need
-to increase this thread pool size. In this case, set the
-`max-thread-pool-size` attribute to the number of instances in your
-largest cluster, but not larger than the number of incoming
-synchronization requests that the DAS can handle.
-
-[[abfdn]][[GSPLG00023]][[planning-message-queue-broker-deployment]]
-
-Planning Message Queue Broker Deployment
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Java Message Service (JMS) API is a messaging standard that allows
-Java EE applications and components to create, send, receive, and read
-messages. It enables distributed communication that is loosely coupled,
-reliable, and asynchronous. Message Queue, which implements JMS, is
-integrated with GlassFish Server, enabling you to create components that
-send and receive JMS messages, including message-driven beans (MDBs).
-
-Message Queue is integrated with GlassFish Server using a resource
-adapter also known as a connector module. A resource adapter is a Java
-EE component defined according to the Java EE Connector Architecture
-(JCA) Specification. This specification defines a standardized way in
-which application servers such as GlassFish Server can integrate with
-enterprise information systems such as JMS providers. GlassFish Server
-includes a resource adapter that integrates with its own JMS provider,
-Message Queue. To use a different JMS provider, you must obtain and
-deploy a suitable resource adapter that is designed to integrate with
-it.
-
-Creating a JMS resource in GlassFish Server using the Administration
-Console creates a preconfigured connector resource that uses the Message
-Queue resource adapter. To create JMS Resources that use any other
-resource adapter (including `GenericJMSRA`), you must create them under
-the Connectors node in the Administration Console.
-
-In addition to using resource adapter APIs, GlassFish Server uses
-additional Message Queue APIs to provide better integration with Message
-Queue. This tight integration enables features such as connector
-failover, load balancing of outbound connections, and load balancing of
-inbound messages to MDBs. These features enable you to make messaging
-traffic fault-tolerant and highly available.
-
-The following topics are addressed here:
-
-* link:#abfdo[Multi-Broker Clusters]
-* link:#abfdq[Configuring GlassFish Server to Use Message Queue Brokers]
-* link:#abfdx[Example Deployment Scenarios]
-
-[[abfdo]][[GSPLG00067]][[multi-broker-clusters]]
-
-Multi-Broker Clusters
-^^^^^^^^^^^^^^^^^^^^^
-
-Message Queue supports using multiple interconnected broker instances
-known as a broker cluster. With broker clusters, client connections are
-distributed across all the brokers in the cluster. Clustering provides
-horizontal scalability and improves availability.
-
-A single message broker scales to about eight CPUs and provides
-sufficient throughput for typical applications. If a broker process
-fails, it is automatically restarted. However, as the number of clients
-connected to a broker increases, and as the number of messages being
-delivered increases, a broker will eventually exceed limitations such as
-number of file descriptors and memory.
-
-Having multiple brokers in a cluster rather than a single broker enables
-you to:
-
-* Provide messaging services despite hardware failures on a single
-machine.
-* Minimize downtime while performing system maintenance.
-* Accommodate workgroups having different user repositories.
-* Deal with firewall restrictions.
-
-Message Queue allows you to create conventional or enhanced broker
-clusters. Conventional broker clusters offer service availability.
-Enhanced broker clusters offer both service and data availability. For
-more information, see "link:../../openmq/mq-admin-guide/broker-clusters.html#GMADG00041[Configuring and Managing Broker
-Clusters]" in Open Message Queue Administration Guide.
-
-In a conventional cluster, having multiple brokers does not ensure that
-transactions in progress at the time of a broker failure will continue
-on the alternate broker. Although Message Queue reestablishes a failed
-connection with a different broker in a cluster, transactions owned by
-the failed broker are not available until it restarts. Except for failed
-in-progress transactions, user applications can continue on the
-failed-over connection. Service failover is thus ensured.
-
-In an enhanced cluster, transactions and persistent messages owned by
-the failed broker are taken over by another running broker in the
-cluster and non-prepared transactions are rolled back. Data failover is
-ensured for prepared transactions and persisted messages.
-
-[[abfdp]][[GSPLG00031]][[master-broker-and-client-synchronization-for-conventional-clusters]]
-
-Master Broker and Client Synchronization for Conventional Clusters
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In a configuration for a conventional broker cluster, each destination
-is replicated on all of the brokers in a cluster. Each broker knows
-about message consumers that are registered for destinations on all
-other brokers. Each broker can therefore route messages from its own
-directly-connected message producers to remote message consumers, and
-deliver messages from remote producers to its own directly-connected
-consumers.
-
-In a cluster configuration, the broker to which each message producer is
-directly connected performs the routing for messages sent to it by that
-producer. Hence, a persistent message is both stored and routed by the
-message's home broker.
-
-Whenever an administrator creates or destroys a destination on a broker,
-this information is automatically propagated to all other brokers in a
-cluster. Similarly, whenever a message consumer is registered with its
-home broker, or whenever a consumer is disconnected from its home
-broker—either explicitly or because of a client or network failure, or
-because its home broker goes down—the relevant information about the
-consumer is propagated throughout the cluster. In a similar fashion,
-information about durable subscriptions is also propagated to all
-brokers in a cluster.
-
-A shared database of cluster change records can be configured as an
-alternative to using a master broker. For more information, see
-"link:../../openmq/mq-admin-guide/broker-clusters.html#GMADG00041[Configuring and Managing Broker Clusters]" in Open
-Message Queue Administration Guide and "link:../ha-administration-guide/jms.html#GSHAG00212[Using Message
-Queue Broker Clusters With GlassFish Server]" in GlassFish Server Open
-Source Edition High Availability Administration Guide.
-
-[[abfdq]][[GSPLG00068]][[configuring-glassfish-server-to-use-message-queue-brokers]]
-
-Configuring GlassFish Server to Use Message Queue Brokers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, Message Queue brokers (JMS hosts) run in the same JVM as the
-GlassFish Server process. However, Message Queue brokers (JMS hosts) can
-be configured to run in a separate JVM from the GlassFish Server
-process. This allows multiple GlassFish Server instances or clusters to
-share the same set of Message Queue brokers.
-
-The GlassFish Server's Java Message Service represents the connector
-module (resource adapter) for Message Queue. You can manage the Java
-Message Service through the Administration Console or the `asadmin`
-command-line utility.
-
-In GlassFish Server, a JMS host refers to a Message Queue broker. The
-GlassFish Server's Java Message Service configuration contains a JMS
-Host List (also called AddressList) that contains all the JMS hosts that
-will be used.
-
-[[abfdt]][[GSPLG00032]][[java-message-service-type]]
-
-Java Message Service Type
-+++++++++++++++++++++++++
-
-There are three types of integration between GlassFish Server and
-Message Queue brokers: embedded, local, and remote. You can set this
-type attribute on the Administration Console's Java Message Service
-page.
-
-[[gktcw]][[GSPLG00004]][[embedded-java-message-service]]
-
-Embedded Java Message Service
-
-If the Type attribute is EMBEDDED, GlassFish Server and the JMS broker
-are colocated in the same virtual machine. The JMS Service is started
-in-process and managed by GlassFish Server. In EMBEDDED mode, JMS
-operations on stand-alone server instances bypass the networking stack,
-which leads to performance optimization. The EMBEDDED type is most
-suitable for stand-alone GlassFish Server instances. EMBEDDED mode is
-not supported for enhanced broker clusters.
-
-With the EMBEDDED type, use the Start Arguments attribute to specify
-Message Queue broker startup parameters.
-
-With the EMBEDDED type, make sure the Java heap size is large enough to
-allow GlassFish Server and Message Queue to run in the same virtual
-machine.
-
-[[abfdu]][[GSPLG00005]][[local-java-message-service]]
-
-Local Java Message Service
-
-If the Type attribute is LOCAL, GlassFish Server starts and stops the
-Message Queue broker. When GlassFish Server starts up, it starts the
-Message Queue broker specified as the Default JMS host. Likewise, when
-the GlassFish Server instance shuts down, it shuts down the Message
-Queue broker. The LOCAL type is most suitable for use with enhanced
-broker clusters, and for other cases where the administrator prefers the
-use of separate JVMs.
-
-With the LOCAL type, use the Start Arguments attribute to specify
-Message Queue broker startup parameters.
-
-[[abfdv]][[GSPLG00006]][[remote-java-message-service]]
-
-Remote Java Message Service
-
-If the Type attribute is REMOTE, GlassFish Server uses an externally
-configured broker or broker cluster. In this case, you must start and
-stop Message Queue brokers separately from GlassFish Server, and use
-Message Queue tools to configure and tune the broker or broker cluster.
-The REMOTE type is most suitable for brokers running on different
-machines from the server instances (to share the load among more
-machines or for higher availability), or for using a different number of
-brokers and server instances.
-
-With the REMOTE type, you must specify Message Queue broker startup
-parameters using Message Queue tools. The Start Arguments attribute is
-ignored.
-
-[[abfdr]][[GSPLG00033]][[managing-jms-with-the-administration-console]]
-
-Managing JMS with the Administration Console
-++++++++++++++++++++++++++++++++++++++++++++
-
-In the Administration Console, you can set JMS properties using the Java
-Message Service node for a particular configuration. You can set
-properties such as Reconnect Interval and Reconnect Attempts. For more
-information, see "link:../administration-guide/jms.html#GSADG00020[Administering the Java Message
-Service (JMS)]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-The JMS Hosts node under the Java Message Service node contains a list
-of JMS hosts. You can add and remove hosts from the list. For each host,
-you can set the host name, port number, and the administration user name
-and password. By default, the JMS Hosts list contains one Message Queue
-broker, called "default_JMS_host," that represents the local Message
-Queue broker integrated with GlassFish Server.
-
-In REMOTE mode, configure the JMS Hosts list to contain all the Message
-Queue brokers in the cluster. For example, to set up a cluster
-containing three Message Queue brokers, add a JMS host within the Java
-Message Service for each one. Message Queue clients use the
-configuration information in the Java Message Service to communicate
-with Message Queue broker.
-
-[[abfds]][[GSPLG00034]][[managing-jms-with-asadmin]]
-
-Managing JMS with asadmin
-+++++++++++++++++++++++++
-
-In addition to the Administration Console, you can use the `asadmin`
-command-line utility to manage the Java Message Service and JMS hosts.
-Use the following `asadmin` commands:
-
-* Configuring Java Message Service attributes: `asadmin set`
-* Managing JMS hosts:
-
-** `asadmin create-jms-host`
-
-** `asadmin delete-jms-host`
-
-** `asadmin list-jms-hosts`
-* Managing JMS resources:
-
-** `asadmin create-jms-resource`
-
-** `asadmin delete-jms-resource`
-
-** `asadmin list-jms-resources` +
-For more information on these commands, see the link:../reference-manual/toc.html#GSRFM[GlassFish
-Server Open Source Edition Reference Manual] or the corresponding man
-pages.
-
-[[abfdw]][[GSPLG00035]][[default-jms-host]]
-
-Default JMS Host
-++++++++++++++++
-
-You can specify the default JMS Host in the Administration Console Java
-Message Service page. If the Java Message Service type is LOCAL,
-GlassFish Server starts the default JMS host when the GlassFish Server
-instance starts. If the Java Message Service type is EMBEDDED, the
-default JMS host is started lazily when needed.
-
-In REMOTE mode, to use a Message Queue broker cluster, delete the
-default JMS host, then add all the Message Queue brokers in the cluster
-as JMS hosts. In this case, the default JMS host becomes the first JMS
-host in the JMS host list.
-
-You can also explicitly set the default JMS host to one of the JMS
-hosts. When the GlassFish Server uses a Message Queue cluster, the
-default JMS host executes Message Queue-specific commands. For example,
-when a physical destination is created for a Message Queue broker
-cluster, the default JMS host executes the command to create the
-physical destinations, but all brokers in the cluster use the physical
-destination.
-
-[[abfdx]][[GSPLG00069]][[example-deployment-scenarios]]
-
-Example Deployment Scenarios
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To accommodate your messaging needs, modify the Java Message Service and
-JMS host list to suit your deployment, performance, and availability
-needs. The following sections describe some typical scenarios.
-
-For best availability, deploy Message Queue brokers and GlassFish
-Servers on different machines, if messaging needs are not just with
-GlassFish Server. Another option is to run a GlassFish Server instance
-and a Message Queue broker instance on each machine until there is
-sufficient messaging capacity.
-
-[[abfdy]][[GSPLG00036]][[default-deployment]]
-
-Default Deployment
-++++++++++++++++++
-
-Installing the GlassFish Server automatically creates a domain
-administration server (DAS). By default, the Java Message Service type
-for the DAS is EMBEDDED. So, starting the DAS also starts its default
-Message Queue broker.
-
-Creating a new domain also creates a new broker. By default, when you
-add a stand-alone server instance or a cluster to the domain, its Java
-Message Service is configured as EMBEDDED and its default JMS host is
-the broker started by the DAS.
-
-[[abfdz]][[GSPLG00037]][[using-a-message-queue-broker-cluster-with-a-glassfish-server-cluster]]
-
-Using a Message Queue Broker Cluster with a GlassFish Server Cluster
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In EMBEDDED or LOCAL mode, when a GlassFish Server is configured, a
-Message Queue broker cluster is auto-configured with each GlassFish
-Server instance associated with a Message Queue broker instance.
-
-In REMOTE mode, to configure a GlassFish Server cluster to use a Message
-Queue broker cluster, add all the Message Queue brokers as JMS hosts in
-the GlassFish Server's Java Message Service. Any JMS connection
-factories created and MDBs deployed then uses the JMS configuration
-specified.
-
-[[abfeb]][[GSPLG00038]][[specifying-an-application-specific-message-queue-broker-cluster]]
-
-Specifying an Application-Specific Message Queue Broker Cluster
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In some cases, an application may need to use a different Message Queue
-broker cluster than the one used by the GlassFish Server cluster. To do
-so, use the `AddressList` property of a JMS connection factory or the
-`activation-config` element in an MDB deployment descriptor to specify
-the Message Queue broker cluster.
-
-For more information about configuring connection factories, see
-"link:../administration-guide/jms.html#GSADG00598[Administering JMS Connection Factories and
-Destinations]" in GlassFish Server Open Source Edition Administration
-Guide. For more information about MDBs, see "link:../application-development-guide/ejb.html#GSDVG00149[Using
-Message-Driven Beans]" in GlassFish Server Open Source Edition
-Application Development Guide.
-
-[[abfec]][[GSPLG00039]][[application-clients]]
-
-Application Clients
-+++++++++++++++++++
-
-When an application client or standalone application accesses a JMS
-administered object for the first time, the client JVM retrieves the
-Java Message Service configuration from the server. Further changes to
-the JMS service will not be available to the client JVM until it is
-restarted.
diff --git a/docs/deployment-planning-guide/src/main/jbake/content/preface.adoc b/docs/deployment-planning-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index a1ab707..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,331 +0,0 @@
-type=page
-status=published
-title=Preface
-next=concepts.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[sthref2]][[preface]]
-
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-The Deployment Planning Guide explains how to build a production
-deployment of GlassFish Server Open Source Edition.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 4.0 is developed through the GlassFish project
-open-source community at `http://glassfish.java.net/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-[[sthref3]][[glassfish-server-documentation-set]]
-
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="<30%,<70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSPLG00011]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* http://docs.oracle.com/javaee/7/firstcup/doc/home.html[Your First Cup:
-An Introduction to the Java EE Platform]
-(`http://docs.oracle.com/javaee/7/firstcup/doc/home.html`). For beginning
-Java EE programmers, this short tutorial explains the entire process for
-developing a simple enterprise application. The sample application is a
-web application that consists of a component that is based on the
-Enterprise JavaBeans specification, a JAX-RS web service, and a
-JavaServer Faces component for the web front end.
-* http://docs.oracle.com/javaee/7/tutorial/doc/home.html[The Java EE 7
-Tutorial] (`http://docs.oracle.com/javaee/7/tutorial/doc/home.html`).
-This comprehensive tutorial explains how to use Java EE 7 platform
-technologies and APIs to develop Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 7 of Java EE is located at
-`http://docs.oracle.com/javaee/7/api/`.
-* The API specification for GlassFish Server 4.0, including Java EE 7
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`http://glassfish.java.net/nonav/docs/v3/api/`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications]
-(`http://www.oracle.com/technetwork/java/javaee/tech/index.html`) might
-be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Java DB database for use with the GlassFish
-Server, see the
-http://www.oracle.com/technetwork/java/javadb/overview/index.html[Java
-DB product page]
-(`http://www.oracle.com/technetwork/java/javadb/overview/index.html`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the http://glassfish-samples.java.net/[Java EE Samples
-project page] (`http://glassfish-samples.java.net/`).
-
-[[GSPLG00013]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="<14%,<37%,<49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSPLG00014]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSPLG00012]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
diff --git a/docs/deployment-planning-guide/src/main/jbake/content/title.adoc b/docs/deployment-planning-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 29b0091..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,46 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Deployment Planning Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Deployment Planning Guide, Release 5.1
-===============================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Deployment Planning Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This book explains how to build a production deployment of GlassFish
-Server Open Source Edition.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Deployment Planning Guide, Release
-5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/deployment-planning-guide/src/main/jbake/jbake.properties b/docs/deployment-planning-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/deployment-planning-guide/src/main/jbake/templates/footer.ftl b/docs/deployment-planning-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/deployment-planning-guide/src/main/jbake/templates/header.ftl b/docs/deployment-planning-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/deployment-planning-guide/src/main/jbake/templates/menu.ftl b/docs/deployment-planning-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/deployment-planning-guide/src/main/jbake/templates/page.ftl b/docs/deployment-planning-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/deployment-planning-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/distribution/pom.xml b/docs/distribution/pom.xml
index a42e34b..6cc42a8 100644
--- a/docs/distribution/pom.xml
+++ b/docs/distribution/pom.xml
@@ -22,9 +22,8 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>docs</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>distribution</artifactId>
     <packaging>jar</packaging>
     <name>Eclipse GlassFish Documentation Distribution</name>
@@ -49,14 +48,10 @@
                             <goal>unpack-dependencies</goal>
                         </goals>
                         <configuration>
-                            <includeGroupIds>
-                                org.glassfish.docs
-                            </includeGroupIds>
+                            <includeGroupIds>org.glassfish.docs</includeGroupIds>
                             <includeTypes>jar</includeTypes>
                             <excludes>META-INF/**</excludes>
-                            <outputDirectory>
-                                ${project.build.directory}/classes
-                            </outputDirectory>
+                            <outputDirectory>${project.build.directory}/classes</outputDirectory>
                         </configuration>
                     </execution>
                     <execution>
@@ -66,13 +61,9 @@
                             <goal>copy-dependencies</goal>
                         </goals>
                         <configuration>
-                            <includeGroupIds>
-                                org.glassfish.docs
-                            </includeGroupIds>
+                            <includeGroupIds>org.glassfish.docs</includeGroupIds>
                             <includeTypes>pdf</includeTypes>
-                            <outputDirectory>
-                                ${project.build.directory}/classes
-                            </outputDirectory>
+                            <outputDirectory>${project.build.directory}/classes</outputDirectory>
                             <stripVersion>true</stripVersion>
                         </configuration>
                     </execution>
diff --git a/docs/embedded-server-guide/README.md b/docs/embedded-server-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/embedded-server-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/embedded-server-guide/pom.xml b/docs/embedded-server-guide/pom.xml
index e39a27a..7132bcf 100644
--- a/docs/embedded-server-guide/pom.xml
+++ b/docs/embedded-server-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>embedded-server-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Embedded Server Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Embedded Server Guide, Release 7</name>
 </project>
diff --git a/docs/embedded-server-guide/src/main/asciidoc/embedded-server-guide.adoc b/docs/embedded-server-guide/src/main/asciidoc/embedded-server-guide.adoc
new file mode 100644
index 0000000..679f1f5
--- /dev/null
+++ b/docs/embedded-server-guide/src/main/asciidoc/embedded-server-guide.adoc
@@ -0,0 +1,1988 @@
+type=page
+status=published
+title={productName} 7 Embedded Server Guide
+prev=preface.html
+~~~~~~
+
+= {productName} 7 Embedded Server Guide
+
+[[GSESG00001]][[gjldt]]
+
+
+[[glassfish-server-open-source-edition-embedded-server-guide]]
+== 1 {productName} 7 Embedded Server Guide
+
+This document explains how to run applications in embedded {productName} and to develop applications in which
+{productName} is embedded. This document is for software developers
+who are developing applications to run in embedded {productName}. The
+ability to program in the Java language is assumed.
+
+The following topics are addressed here:
+
+* link:#giidt[Introduction to Embedded {productName}]
+* link:#gkubb[Embedded {productName} File System]
+* link:#giijw[Including the {productName} Embedded Server API in Applications]
+* link:#gijhs[Testing Applications with the Maven Plug-in for Embedded {productName}]
+* link:#gjlde[Using the EJB 3.1 Embeddable API with Embedded {productName}]
+* link:#gjlfe[Changing Log Levels in Embedded {productName}]
+* link:#gksmw[Default Java Persistence Data Source for Embedded {productName}]
+* link:#gihxf[Restrictions for Embedded {productName}]
+
+[[giidt]][[GSESG00035]][[introduction-to-embedded-glassfish-server]]
+
+=== Introduction to Embedded {productName}
+
+Embedded {productName} enables you to use
+{productName} as a library. Embedded {productName} also enables
+you to run {productName} inside any Virtual Machine for the Java
+platform (Java Virtual Machine or JVMmachine).
+
+No installation or configuration of embedded {productName} is
+required. The ability to run {productName} inside applications
+without installation or configuration simplifies the process of bundling
+{productName} with applications.
+
+
+[NOTE]
+====
+Embedded {productName} does not run on the Java Platform, Micro Edition (Java ME platform).
+====
+
+You can use embedded {productName} in the following ways:
+
+* With the Embedded Server API (see link:#giijw[Including the {productName} Embedded Server API in Applications])
+* With the Maven Plug-in (see link:#gijhs[Testing Applications with the
+Maven Plug-in for Embedded {productName}])
+* With the EJB 3.1 Embeddable API (see link:#gjlde[Using the EJB 3.1
+Embeddable API with Embedded {productName}])
+
+Embedded {productName} provides a plug-in for
+http://maven.apache.org/[Apache Maven] (`http://maven.apache.org/`).
+This plug-in simplifies the testing of applications by enabling you to
+build an application and run it with {productName} on a single
+system. Testing and debugging are simplified because the need for an
+installed and configured {productName} is eliminated. Therefore, you
+can run unit tests automatically in every build.
+
+
+[NOTE]
+====
+For information on how to embed {productName} in an OSGi environment,
+see the link:add-on-component-development-guide.html#GSACG[{productName} Add-On
+Component Development Guide].
+====
+
+
+[[gkubb]][[GSESG00036]][[embedded-glassfish-server-file-system]]
+
+=== Embedded {productName} File System
+
+The following Embedded {productName} directories and files are
+important if you are referencing a nonembedded installation of {productName}:
+
+* link:#gikqf[Installation Root Directory]
+* link:#gikvf[Instance Root Directory]
+* link:#giiak[The `domain.xml` File]
+
+[[gikqf]][[GSESG00054]][[installation-root-directory]]
+
+==== Installation Root Directory
+
+The installation root directory, represented as as-install, is the
+parent of the directory that embedded {productName} uses for
+configuration files. This directory corresponds to the base directory
+for an installation of {productName}. Configuration files are
+contained in the following directories in the base directory for an
+installation of {productName}:
+
+* `domains`
+* `lib`
+
+Specify the installation root directory only if you have a valid
+nonembedded {productName} installation and are using
+`glassfish-embedded-static-shell.jar`.
+
+[[gikvf]][[GSESG00055]][[instance-root-directory]]
+
+==== Instance Root Directory
+
+The instance root directory, represented as domain-dir, is the parent
+directory of a server instance directory. Embedded {productName} uses the server instance directory for domain
+configuration files.
+
+Specify the instance root directory only if you have a valid nonembedded
+{productName} domain directory and are using
+`glassfish-embedded-static-shell.jar`.
+
+
+[NOTE]
+====
+If you have valid nonembedded {productName} as-install and domain-dir
+directories, specify both in the `BootstrapProperties` and
+`GlassFishProperties` classes respectively as described in
+link:#gihyr[Creating and Configuring an Embedded {productName}].
+====
+
+
+If domain-dir is not specified, {productName} creates a directory
+named ``gfembed``random-number``tmp`` in a temporary directory, where
+random-number is a randomly generated 19-digit number. {productName}
+then copies configuration files into this directory. The temporary
+directory is the value of the system property `java.io.tmpdir`. You can
+override this value by specifying the `glassfish.embedded.tmpdir`
+property in the `GlassFishProperties` class or as a system property.
+
+[[giiak]][[GSESG00056]][[the-domain.xml-file]]
+
+==== The `domain.xml` File
+
+Using an existing `domain.xml` file avoids the need to configure
+embedded {productName} programmatically in your application. Your
+application obtains domain configuration data from an existing
+`domain.xml` file. You can create this file by using the administrative
+interfaces of an installation of nonembedded {productName}. To
+specify an existing `domain.xml` file, invoke the `setConfigFileURI`
+method of the `GlassFishProperties` class as described in
+link:#gihyr[Creating and Configuring an Embedded {productName}].
+
+
+[NOTE]
+====
+The built-in `domain.xml` file used by default by Embedded {productName} can be downloaded from
+`http://embedded-glassfish.java.net/domain.xml`. You can customize this
+file and pass it in using the `setConfigFileURI` method while creating
+an Embedded {productName}.
+====
+
+
+[[giijw]][[GSESG00037]][[including-the-glassfish-server-embedded-server-api-in-applications]]
+
+=== Including the {productName} Embedded Server API in Applications
+
+{productName} provides an application programming
+interface (API) for developing applications in which {productName} is
+embedded. For details, see the `org.glassfish.embeddable` packages at
+`http://embedded-glassfish.java.net/nonav/apidocs/`.
+
+The following topics are addressed here:
+
+* link:#giide[Setting the Class Path]
+* link:#giiky[Creating, Starting, and Stopping Embedded {productName}]
+* link:#giigc[Deploying and Undeploying an Application in an Embedded
+{productName}]
+* link:#gjldy[Running `asadmin` Commands Using the {productName}
+Embedded Server API]
+* link:#gikrt[Sample Applications]
+
+[[giide]][[GSESG00057]][[setting-the-class-path]]
+
+==== Setting the Class Path
+
+To enable your applications to locate the class libraries for embedded
+{productName}, add one of the following JAR files to your class path:
+
+`glassfish-embedded-nucleus.jar`::
+  Corresponds to the nucleus distribution. Download this file from
+  `http://download.java.net/maven/glassfish/org/glassfish/extras/glassfish-embedded-nucleus/`.
+`glassfish-embedded-web.jar`::
+  Contains classes needed for deploying Jakarta EE web applications.
+  Download this file from
+  `http://download.java.net/maven/glassfish/org/glassfish/extras/glassfish-embedded-web/`.
+`glassfish-embedded-all.jar`::
+  Contains classes needed for deploying all Jakarta EE application types.
+  Download this file from
+  `http://download.java.net/maven/glassfish/org/glassfish/extras/glassfish-embedded-all/`.
+`glassfish-embedded-static-shell.jar`::
+  Contains references to classes needed for deploying all Jakarta EE
+  application types. Must be used with a nonembedded installation of
+  {productName}. Reference this file from the
+  as-install``/lib/embedded`` directory of a nonembedded {productName}
+  installation. Do not move this file or it will not work. For an
+  explanation of as-install, see link:#gikqf[Installation Root
+  Directory].
+
+
+[NOTE]
+====
+{productName} only supports use of the
+`glassfish-embedded-static-shell.jar` file. The other files are part of
+{productName} and are offered without official support.
+====
+
+
+In addition, add to the class path any other JAR files or classes upon
+which your applications depend. For example, if an application uses a
+database other than Java DB, include the Java DataBase Connectivity
+(JDBC) driver JAR files in the class path.
+
+[[giiky]][[GSESG00058]][[creating-starting-and-stopping-embedded-glassfish-server]]
+
+==== Creating, Starting, and Stopping Embedded {productName}
+
+Before you can run applications, you must set up and run the embedded
+{productName}.
+
+The following topics are addressed here:
+
+* link:#gihyr[Creating and Configuring an Embedded {productName}]
+* link:#gihyz[Running an Embedded {productName}]
+
+[[gihyr]][[GSESG00043]][[creating-and-configuring-an-embedded-glassfish-server]]
+
+===== Creating and Configuring an Embedded {productName}
+
+To create and configure an embedded {productName}, perform these
+tasks:
+
+1. Instantiate the `org.glassfish.embeddable.BootstrapProperties`
+class.
+2. Invoke any methods for configuration settings that you require. This
+is optional.
+3. Invoke the `GlassFishRuntime.bootstrap()` or
+`GlassFishRuntime.bootstrap(BootstrapProperties)` method to create a
+`GlassFishRuntime` object.
+4. Instantiate the `org.glassfish.embeddable.GlassFishProperties`
+class.
+5. Invoke any methods for configuration settings that you require. This
+is optional.
+6. Invoke the `glassfishRuntime.newGlassFish(GlassFishProperties)`
+method to create a `GlassFish` object.
+
+The methods of the `BootstrapProperties` class for setting the server
+configuration are listed in the following table. The default value of
+each configuration setting is also listed.
+
+[[sthref4]][[gksir]]
+
+Table 1-1 Methods of the `BootstrapProperties` Class
+
+[width="100%",cols="<29%,<33%,<38%",options="header",]
+|===
+|Purpose |Method |Default Value
+|References an existing link:#gikqf[Installation Root Directory], also called as-install
+a|[source]
+----
+setInstallRoot(String as-install)
+----
+
+|None. If `glassfish-embedded-static-shell.jar` is used, the
+link:#gikqf[Installation Root Directory] is automatically determined and
+need not be specified.
+|===
+
+
+The methods of the `GlassFishProperties` class for setting the server
+configuration are listed in the following table. The default value of
+each configuration setting is also listed.
+
+[[sthref5]][[gkskl]]
+
+Table 1-2 Methods of the `GlassFishProperties` Class
+
+[width="100%",cols="<24%,<37%,<39%",options="header",]
+|===
+|Purpose |Method |Default Value
+|References an existing link:#gikvf[Instance Root Directory], also
+called domain-dir
+a|
+[source]
+----
+setInstanceRoot(String domain-dir)
+----
+
+a|
+In order of precedence:
+
+* `glassfish.embedded.tmpdir` property value specified in `GlassFishProperties` object
+* `glassfish.embedded.tmpdir` system property value
+* `java.io.tmp` system property value
+* as-install``/domains/domain1`` if a nonembedded installation is referenced
+
+|Creates a new or references an existing configuration file
+a|
+[source]
+----
+setConfigFileURI(String configFileURI)
+----
+a|In order of precedence:
+
+* domain-dir``/config/domain.xml`` if domain-dir was set using `setInstanceRoot`
+* built-in embedded `domain.xml`
+
+|Specifies whether the configuration file is read-only
+a|
+[source]
+----
+setConfigFileReadOnly(boolean readOnly)
+----
+|`true`
+
+|Sets the port on which Embedded {productName} listens.
+|`setPort`(String networkListener, int port)
+|none
+|===
+
+[NOTE]
+====
+Do not use `setPort` if you are using `setInstanceRoot` or `setConfigFileURI`.
+====
+
+
+[[GSESG00005]][[gikmz]]
+Example 1-1 Creating an Embedded {productName}
+
+This example shows code for creating an Embedded {productName}.
+
+[source,java]
+----
+...
+import org.glassfish.embeddable.*;
+...
+    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish();
+    glassfish.start();
+...
+----
+
+[[GSESG00006]][[gksjo]]
+Example 1-2 Creating an Embedded {productName} with configuration
+customizations
+
+This example shows code for creating an Embedded {productName} using
+the existing domain-dir
+`C:\samples\test\applicationserver\domains\domain1`.
+
+[source,java]
+----
+// ...
+import org.glassfish.embeddable.*;
+    // ...
+    BootstrapProperties bootstrapProperties = new BootstrapProperties();
+    bootstrapProperties.setInstallRoot("C:\\samples\\test\\applicationserver");
+    GlassFishRuntime glassfishRuntime = GlassFishRuntime.bootstrap(bootstrapProperties);
+
+    GlassFishProperties glassfishProperties = new GlassFishProperties();
+    glassfishProperties.setInstanceRoot("C:\\samples\\test\\applicationserver\\domains\\domain1");
+    GlassFish glassfish = glassfishRuntime.newGlassFish(glassfishProperties);
+
+    glassfish.start();
+    // ...
+----
+
+[[gihyz]][[GSESG00044]][[running-an-embedded-glassfish-server]]
+
+===== Running an Embedded {productName}
+
+After you create an embedded {productName} as described in
+link:#gihyr[Creating and Configuring an Embedded {productName}], you
+can perform operations such as:
+
+* link:#gjkxx[Setting the Port of an Embedded {productName} From an Application]
+* link:#gihzg[Starting an Embedded {productName} From an Application]
+* link:#gihzy[Stopping an Embedded {productName} From an Application]
+
+[[gjkxx]][[GSESG00002]][[setting-the-port-of-an-embedded-glassfish-server-from-an-application]]
+
+Setting the Port of an Embedded {productName} From an Application
+
+You must set the server's HTTP or HTTPS port. If you do not set the
+port, your application fails to start and throws an exception. You can
+set the port directly or indirectly.
+
+[NOTE]
+====
+Do not use `setPort` if you are using `setInstanceRoot` or
+`setConfigFileURI`. These methods set the port indirectly.
+====
+
+
+* To set the port directly, invoke the `setPort` method of the
+`GlassFishProperties` object.
+* To set the port indirectly, use a `domain.xml` file that sets the
+port. For more information, see link:#giiak[The `domain.xml` File].
+
+[[GSESG00007]][[gjkxc]]
+Example 1-3 Setting the port of an Embedded {productName}
+
+This example shows code for setting the port of an embedded {productName}.
+
+[source,java]
+----
+...
+import org.glassfish.embeddable.*;
+...
+    GlassFishProperties glassfishProperties = new GlassFishProperties();
+    glassfishProperties.setPort("http-listener", 8080);
+    glassfishProperties.setPort("https-listener", 8181);
+...
+----
+
+[[gihzg]][[GSESG00003]][[starting-an-embedded-glassfish-server-from-an-application]]
+
+Starting an Embedded {productName} From an Application
+
+To start an embedded {productName}, invoke the `start` method of the
+`GlassFish` object.
+
+[[GSESG00008]][[gilry]]
+Example 1-4 Starting an Embedded {productName}
+
+This example shows code for setting the port and starting an embedded
+{productName}. This example also includes the code from
+link:#gikmz[Example 1-1] for creating a `GlassFish` object.
+
+[source,java]
+----
+...
+import org.glassfish.embeddable.*;
+...
+    GlassFishProperties glassfishProperties = new GlassFishProperties();
+    glassfishProperties.setPort("http-listener", 8080);
+    glassfishProperties.setPort("https-listener", 8181);
+    ...
+    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
+    glassfish.start();
+...
+----
+
+[[gihzy]][[GSESG00004]][[stopping-an-embedded-glassfish-server-from-an-application]]
+
+Stopping an Embedded {productName} From an Application
+
+The API for embedded {productName} provides a method for stopping an
+embedded server. Using this method enables your application to stop the
+server in an orderly fashion by performing any necessary cleanup steps
+before stopping the server, for example:
+
+* Undeploying deployed applications
+* Releasing any resources that your application uses
+
+To stop an embedded {productName}, invoke the `stop` method of an
+existing `GlassFish` object.
+
+[[GSESG00009]][[gilnz]]
+Example 1-5 Stopping an Embedded {productName}
+
+This example shows code for prompting the user to press the Enter key to
+stop an embedded {productName}. Code for creating a `GlassFish`
+object is not shown in this example. For an example of code for creating
+a `GlassFish` object, see link:#gikmz[Example 1-1].
+
+[source,java]
+----
+...
+import java.io.BufferedReader;
+...
+import org.glassfish.embeddable.*;
+...
+    System.out.println("Press Enter to stop server");
+        // wait for Enter
+    glassfish.stop(); // Stop Embedded GlassFish
+...
+----
+
+As an alternative, you can use the `dispose` method to stop an embedded
+{productName} and dispose of the temporary file system.
+
+[[giigc]][[GSESG00059]][[deploying-and-undeploying-an-application-in-an-embedded-glassfish-server]]
+
+==== Deploying and Undeploying an Application in an Embedded {productName}
+
+Deploying an application installs the files that comprise the
+application into Embedded {productName} and makes the application
+ready to run. By default, an application is enabled when it is deployed.
+
+The following topics are addressed here:
+
+* link:#gilrf[To Deploy an Application From an Archive File or a Directory]
+* link:#gilpm[Undeploying an Application]
+* link:#gjrcs[Creating a Scattered Archive]
+* link:#gkvgc[Creating a Scattered Enterprise Archive]
+
+For general information about deploying applications in {productName}, see the link:application-deployment-guide.html#GSDPG[{productName}
+Application Deployment Guide].
+
+[[gilrf]][[GSESG00021]][[to-deploy-an-application-from-an-archive-file-or-a-directory]]
+
+===== To Deploy an Application From an Archive File or a Directory
+
+An archive file contains the resources, deployment descriptor, and
+classes of an application. The content of the file must be organized in
+the directory structure that the Jakarta EE specifications define for the
+type of archive that the file contains. For more information, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00004[Deploying Applications]" in {productName} Application Deployment Guide.
+
+Deploying an application from a directory enables you to deploy an
+application without the need to package the application in an archive
+file. The contents of the directory must match the contents of the
+expanded Jakarta EE archive file as laid out by the {productName}. The
+directory must be accessible to the machine on which the deploying
+application runs. For more information about the requirements for
+deploying an application from a directory, see "link:application-deployment-guide/deploying-applications.html#GSDPG00043[To
+Deploy an Application or Module in a Directory Format]" in {productName} Application Deployment Guide.
+
+If some of the resources needed by an application are not under the
+application's directory, see link:#gjrcs[Creating a Scattered Archive].
+
+1. Instantiate the `java.io.File` class to represent the archive file or directory.
+
+2. Invoke the `getDeployer` method of the `GlassFish` object to get an
+instance of the `org.glassfish.embeddable.Deployer` class.
+
+3. Invoke the `deploy(File archive, String... params)` method of the
+instance of the `Deployer` object. +
+Specify the `java.io.File` class instance you created previously as the
+first method parameter. +
+For information about optional parameters you can set, see the
+descriptions of the
+link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)] subcommand parameters.
+Simply quote each parameter in the method, for example `"--force=true"`.
+
+[[GSESG00010]][[gioph]]
+Example 1-6 Deploying an Application From an Archive File
+
+This example shows code for deploying an application from the archive
+file `c:\samples\simple.war` and setting the name, contextroot, and
+force parameters. This example also includes the code from
+link:#gikmz[Example 1-1] for creating `GlassFishProperties` and
+`GlassFish` objects.
+
+[source,java]
+----
+...
+import java.io.File;
+...
+import org.glassfish.embeddable.*;
+...
+    GlassFishProperties glassfishProperties = new GlassFishProperties();
+    glassfishProperties.setPort("http-listener", 8080);
+    glassfishProperties.setPort("https-listener", 8181);
+    ...
+    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
+    glassfish.start();
+    File war = new File("c:\\samples\\simple.war");
+    Deployer deployer = glassfish.getDeployer();
+    deployer.deploy(war, "--name=simple", "--contextroot=simple", "--force=true");
+    // deployer.deploy(war) can be invoked instead. Other parameters are optional.
+...
+----
+
+[[gilpm]][[GSESG00045]][[undeploying-an-application]]
+
+===== Undeploying an Application
+
+Undeploy an application when the application is no longer required to
+run in {productName}. For example, before stopping {productName},
+undeploy all applications that are running in {productName}.
+
+
+[NOTE]
+====
+If you reference a nonembedded {productName} installation using the
+`glassfish-embedded-static-shell.jar` file and do not undeploy your
+applications in the same server life cycle in which you deployed them,
+expanded archives for these applications remain under the
+domain-dir``/applications`` directory.
+====
+
+
+To undeploy an application, invoke the `undeploy` method of an existing
+`Deployer` object. In the method invocation, pass the name of the
+application as a parameter. This name is specified when the application
+is deployed.
+
+For information about optional parameters you can set, see the
+descriptions of the
+link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)] command parameters.
+Simply quote each parameter in the method, for example
+`"--cascade=true"`.
+
+To undeploy all deployed applications, invoke the `undeployAll` method
+of an existing `EmbeddedDeployer` object. This method takes no
+parameters.
+
+[[GSESG00011]][[gilwu]]
+Example 1-7 Undeploying an Application
+
+This example shows code for undeploying the application that was
+deployed in link:#gioph[Example 1-6].
+
+[source,java]
+----
+...
+import org.glassfish.embeddable.*;
+...
+    deployer.undeploy(war, "--droptables=true", "--cascade=true");
+...
+----
+
+[[gjrcs]][[GSESG00046]][[creating-a-scattered-archive]]
+
+===== Creating a Scattered Archive
+
+Deploying a module from a scattered archive (WAR or JAR) enables you to
+deploy an unpackaged module whose resources, deployment descriptor, and
+classes are in any location. Deploying a module from a scattered archive
+simplifies the testing of a module during development, especially if all
+the items that the module requires are not available to be packaged.
+
+In a scattered archive, these items are not required to be organized in
+a specific directory structure. Therefore, you must specify the location
+of the module's resources, deployment descriptor, and classes when
+deploying the module.
+
+To create a scattered archive, perform these tasks:
+
+1. Instantiate the `org.glassfish.embeddable.archive.ScatteredArchive` class.
+2. Invoke the `addClassPath` and `addMetadata` methods if you require them.
+3. Invoke the `toURI` method to deploy the scattered archive.
+
+The methods of this class for setting the scattered archive
+configuration are listed in the following table. The default value of
+each configuration setting is also listed.
+
+[[sthref6]][[gjrdg]]
+
+Table 1-3 Constructors and Methods of the `ScatteredArchive` Class
+
+[width="100%",cols="<52%,<38%,<10%",options="header",]
+|===
+|Purpose |Method |Default Value
+|Creates and names a scattered archive
+a|[source,java]
+----
+ScatteredArchive(String name, ScatteredArchive.Type type)
+----
+
+|None
+
+|Creates and names a scattered archive based on a top-level directory.
+If the entire module is organized under the topDir, this is the only
+method necessary. The topDir can be null if other methods specify the
+remaining parts of the module.
+a|[source,java]
+----
+ScatteredArchive(String name, ScatteredArchive.Type type, File topDir)
+----
+
+|None
+
+|Adds a directory to the classes classpath
+a|[source,java]
+----
+addClassPath(File path)
+----
+
+|None
+
+|Adds a metadata locator
+a|[source,java]
+----
+addMetaData(File path)
+----
+
+|None
+
+|Adds and names a metadata locator
+a|[source,java]
+----
+addMetaData(File path, String name)
+----
+
+|None
+
+|Gets the deployable URI for this scattered archive a|
+[source,java]
+----
+toURI()
+----
+
+|None
+|===
+
+
+[[GSESG00012]][[gjrfq]]
+Example 1-8 Deploying an Application From a Scattered Archive
+
+This example shows code for creating a WAR file and using the
+`addClassPath` and `addMetadata` methods. This example also includes the
+code from link:#gioph[Example 1-6] for deploying an application from an
+archive file.
+
+[source,java]
+----
+...
+import java.io.File;
+...
+import org.glassfish.embeddable.*;
+...
+    GlassFishProperties glassfishProperties = new GlassFishProperties();
+    glassfishProperties.setPort("http-listener", 9090);
+    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
+    glassfish.start();
+    Deployer deployer = glassfish.getDeployer();
+    ScatteredArchive archive = new ScatteredArchive("testapp", ScatteredArchive.Type.WAR);
+    // target/classes directory contains complied servlets
+    archive.addClassPath(new File("target", "classes"));
+    // resources/sun-web.xml is the WEB-INF/sun-web.xml
+    archive.addMetadata(new File("resources", "sun-web.xml"));
+    // resources/web.xml is the WEB-INF/web.xml
+    archive.addMetadata(new File("resources", "web.xml"));
+    // Deploy the scattered web archive.
+    String appName = deployer.deploy(archive.toURI(), "--contextroot=hello");
+
+    deployer.undeploy(appName);
+    glassfish.stop();
+    glassfish.dispose();
+...
+----
+
+[[gkvgc]][[GSESG00047]][[creating-a-scattered-enterprise-archive]]
+
+===== Creating a Scattered Enterprise Archive
+
+Deploying an application from a scattered enterprise archive (EAR)
+enables you to deploy an unpackaged application whose resources,
+deployment descriptor, and classes are in any location. Deploying an
+application from a scattered archive simplifies the testing of an
+application during development, especially if all the items that the
+application requires are not available to be packaged.
+
+In a scattered archive, these items are not required to be organized in
+a specific directory structure. Therefore, you must specify the location
+of the application's resources, deployment descriptor, and classes when
+deploying the application.
+
+To create a scattered enterprise archive, perform these tasks:
+
+1. Instantiate the
+`org.glassfish.embeddable.archive.ScatteredEnterpriseArchive` class.
+2. Invoke the `addArchive` and `addMetadata` methods if you require
+them.
+3. Invoke the `toURI` method to deploy the scattered enterprise
+archive.
+
+The methods of this class for setting the scattered enterprise archive
+configuration are listed in the following table. The default value of
+each configuration setting is also listed.
+
+[[sthref7]][[gkvgb]]
+
+Table 1-4 Constructors and Methods of the `ScatteredEnterpriseArchive`
+Class
+
+[width="99%",cols="<42%,<48%,<10%",options="header",]
+|===
+|Purpose |Method |Default Value
+|Creates and names a scattered enterprise archive a|
+[source,java]
+----
+ScatteredEnterpriseArchive(String name)
+----
+
+ |None
+|Adds a module or library a|
+[source,java]
+----
+addArchive(File archive)
+----
+
+ |None
+|Adds a module or library a|
+[source,java]
+----
+addArchive(File archive, String name)
+----
+
+ |None
+|Adds a module or library a|
+[source,java]
+----
+addArchive(URI URI)
+----
+
+ |None
+|Adds a module or library a|
+[source,java]
+----
+addArchive(URI URI, String name)
+----
+
+ |None
+|Adds a metadata locator a|
+[source,java]
+----
+addMetaData(File path)
+----
+
+ |None
+|Adds and names a metadata locator a|
+[source,java]
+----
+addMetaData(File path, String name)
+----
+
+ |None
+|Gets the deployable URI for this scattered archive a|
+[source,java]
+----
+toURI()
+----
+
+ |None
+|===
+
+
+[[GSESG00013]][[gkvga]]
+Example 1-9 Deploying an Application From a Scattered Enterprise Archive
+
+This example shows code for creating an EAR file and using the
+`addArchive` and `addMetadata` methods. This example also includes code
+similar tolink:#gjrfq[Example 1-8] for creating a scattered archive.
+
+[source,java]
+----
+...
+import java.io.File;
+...
+import org.glassfish.embeddable.*;
+...
+    GlassFishProperties glassfishProperties = new GlassFishProperties();
+    glassfishProperties.setPort("http-listener", 9090);
+    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
+    glassfish.start();
+    Deployer deployer = glassfish.getDeployer();
+
+    // Create a scattered web application.
+    ScatteredArchive webmodule = new ScatteredArchive("testweb", ScatteredArchive.Type.WAR);
+    // target/classes directory contains my complied servlets
+    webmodule.addClassPath(new File("target", "classes"));
+    // resources/sun-web.xml is my WEB-INF/sun-web.xml
+    webmodule.addMetadata(new File("resources", "sun-web.xml"));
+
+    // Create a scattered enterprise archive.
+    ScatteredEnterpriseArchive archive = new ScatteredEnterpriseArchive("testapp");
+    // src/application.xml is my META-INF/application.xml
+    archive.addMetadata(new File("src", "application.xml"));
+    // Add scattered web module to the scattered enterprise archive.
+    // src/application.xml references Web module as "scattered.war".
+    //Hence specify the name while adding the archive.
+    archive.addArchive(webmodule.toURI(), "scattered.war");
+    // lib/mylibrary.jar is a library JAR file.
+    archive.addArchive(new File("lib", "mylibrary.jar"));
+    // target/ejbclasses contain my compiled EJB module.
+    // src/application.xml references EJB module as "ejb.jar".
+    //Hence specify the name while adding the archive.
+    archive.addArchive(new File("target", "ejbclasses"), "ejb.jar");
+
+    // Deploy the scattered enterprise archive.
+    String appName = deployer.deploy(archive.toURI());
+
+    deployer.undeploy(appName);
+    glassfish.stop();
+    glassfish.dispose();
+...
+----
+
+[[gjldy]][[GSESG00060]][[running-asadmin-commands-using-the-glassfish-server-embedded-server-api]]
+
+Running `asadmin` Commands Using the {productName} Embedded Server
+==== API
+
+Running link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] commands from an application enables
+the application to configure the embedded {productName} to suit the
+application's requirements. For example, an application can run the
+required `asadmin` commands to create a JDBC technology connection to a
+database.
+
+For more information about configuring embedded {productName}, see
+the link:administration-guide.html#GSADG[{productName} Administration
+Guide]. For detailed information about `asadmin` commands, see Section 1
+of the link:reference-manual.html#GSRFM[{productName} Reference
+Manual].
+
+
+[NOTE]
+====
+Ensure that your application has started an embedded {productName}
+before the application attempts to run `asadmin` commands. For more
+information, see link:#gihyz[Running an Embedded {productName}].
+====
+
+
+The `org.glassfish.embeddable` package contains classes that you can use
+to run `asadmin` commands. Use the following code examples as templates
+and change the command name, parameter names, and parameter values as
+needed.
+
+[[GSESG00014]][[gjldj]]
+Example 1-10 Running an `asadmin create-jdbc-resource` Command
+
+This example shows code for running an `asadmin create-jdbc-resource`
+command. Code for creating and starting the server is not shown in this
+example. For an example of code for creating and starting the server,
+see link:#gilry[Example 1-4].
+
+[source,java]
+----
+...
+import org.glassfish.embeddable.*;
+...
+    String command = "create-jdbc-resource";
+    String poolid = "--connectionpoolid=DerbyPool";
+    String dbname = "jdbc/DerbyPool";
+    CommandRunner commandRunner = glassfish.getCommandRunner();
+    CommandResult commandResult = commandRunner.run(command, poolid, dbname);
+...
+----
+
+[[GSESG00015]][[gjlfm]]
+Example 1-11 Running an `asadmin set-log-level` Command
+
+This example shows code for running an `asadmin set-log-level` command.
+Code for creating and starting the server is not shown in this example.
+For an example of code for creating and starting the server, see
+link:#gilry[Example 1-4].
+
+[source,java]
+----
+...
+import org.glassfish.embeddable.*;
+...
+    String command = "set-log-level";
+    String weblevel = "jakarta.enterprise.system.container.web=FINE";
+    CommandRunner commandRunner = glassfish.getCommandRunner();
+    CommandResult commandResult = commandRunner.run(command, weblevel);
+...
+----
+
+For another way to change log levels, see link:#gjlfe[Changing Log
+Levels in Embedded {productName}].
+
+[[gikrt]][[GSESG00061]][[sample-applications]]
+
+==== Sample Applications
+
+[[GSESG00016]][[gionq]]
+Example 1-12 Using an Existing `domain.xml` File and Deploying an
+Application From an Archive File
+
+This example shows code for the following:
+
+* Using the existing file
+`c:\myapp\embeddedserver\domains\domain1\config\domain.xml` and
+preserving this file when the application is stopped.
+* Deploying an application from the archive file
+`c:\samples\simple.war`.
+
+[source,java]
+----
+import java.io.File;
+import java.io.BufferedReader;
+import org.glassfish.embeddable.*;
+
+public class Main {
+
+     /**
+     * @param args the command line arguments
+     */
+    public static void main(String[] args) {
+        File configFile = new File ("c:\\myapp\\embeddedserver\\domains\\domain1\\config\\domain.xml");
+        File war = new File("c:\\samples\\simple.war");
+        try {
+            GlassFishRuntime glassfishRuntime = GlassFishRuntime.bootstrap();
+            ...
+            GlassFishProperties glassfishProperties = new GlassFishProperties();
+            glassfishProperties.setConfigFileURI(configFile.toURI());
+            glassfishProperties.setConfigFileReadOnly(false);
+            ...
+            GlassFish glassfish = glassfishRuntime.newGlassFish(glassfishProperties);
+            glassfish.start();
+
+            Deployer deployer = glassfish.getDeployer();
+            deployer.deploy(war, "--force=true");
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        System.out.println("Press Enter to stop server");
+        // wait for Enter
+        new BufferedReader(new java.io.InputStreamReader(System.in)).readLine();
+        try {
+            glassfish.dispose();
+            glassfishRuntime.shutdown();
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
+----
+
+[[gijhs]][[GSESG00038]][[testing-applications-with-the-maven-plug-in-for-embedded-glassfish-server]]
+
+=== Testing Applications with the Maven Plug-in for Embedded {productName}
+
+If you are using http://maven.apache.org/[Apache Maven]
+(`http://maven.apache.org/`), the plug-in for embedded {productName}
+simplifies the testing of applications. This plug-in enables you to
+build and start an unpackaged application with a single Maven goal.
+
+The following topics are addressed here:
+
+* link:#gihus[To Set Up Your Maven Environment]
+* link:#giivt[To Build and Start an Application From Maven]
+* link:#gijly[To Stop Embedded {productName}]
+* link:#gijjn[To Redeploy an Application That Was Built and Started From Maven]
+* link:#gjkps[Maven Goals for Embedded {productName}]
+
+Predefined Maven goals for embedded {productName} are described in
+link:#gjkps[Maven Goals for Embedded {productName}].
+
+To use Maven with Embedded {productName} and the EJB 3.1 Embeddable
+API, see link:#gjxff[Using Maven with the EJB 3.1 Embeddable API and
+Embedded {productName}].
+
+[[gihus]][[GSESG00022]][[to-set-up-your-maven-environment]]
+
+==== To Set Up Your Maven Environment
+
+Setting up your Maven environment enables Maven to download the required
+embedded {productName} distribution file when you build your project.
+Setting up your Maven environment also identifies the plug-in that
+enables you to build and start an unpackaged application with a single
+Maven goal.
+
+[[sthref8]]
+
+Before You Begin
+
+Ensure that http://maven.apache.org/[Apache Maven]
+(`http://maven.apache.org/`) is installed.
+
+1. Identify the Maven plug-in for embedded {productName}.
++
+Add the following `plugin` element to your POM file:
++
+[source,xml]
+----
+...
+        ...
+        <plugins>
+            ...
+            <plugin>
+                <groupId>org.glassfish</groupId>
+                <artifactId>maven-embedded-glassfish-plugin</artifactId>
+                <version>version</version>
+            </plugin>
+            ...
+        </plugins>
+...
+----
+version::
+  The version to use. The version of the final promoted build for this
+  release is `3.1.1`. The Maven plug-in is not bound to a specific version
+  of {productName}. You can specify the version you want to use. If
+  no version is specified, a default version is used.
+
+2. Configure the `embedded-glassfish` goal prefix, the application
+name, and other standard settings.
++
+Add the following `configuration` element to your POM file:
++
+[source,xml]
+----
+...
+        <plugins>
+            ...
+            <plugin>
+                ...
+                <configuration>
+                    <goalPrefix>embedded-glassfish</goalPrefix>
+                    ...
+                    <app>target/test.war</app>
+                    <port>8080</port>
+                    <contextRoot>test</contextRoot>
+                    <autoDelete>true</autoDelete>
+                    ...
+                </configuration>
+                ...
+            </plugin>
+            ...
+        </plugins>
+...
+----
+app::
+  In the app parameter, substitute the archive file or directory for your
+  application. The optional port, contextRoot, and autoDelete parameters
+  show example values. For details, see link:#gjkps[Maven Goals for
+  Embedded {productName}].
+
+3. Perform advanced plug-in configuration. This step is optional.
+Add the following `configuration` element to your POM file:
++
+[source,xml]
+----
+...
+        <plugins>
+            ...
+            <plugin>
+                ...
+                <configuration>
+                    <goalPrefix>embedded-glassfish</goalPrefix>
+                    <app>target/test.war</app>
+                    <name>test</name>
+                    <contextRoot>test</contextRoot>
+                    <ports>
+                        <http-listener>8080</http-listener>
+                        <https-listener>8181</https-listener>
+                    </ports>
+                    <bootstrapProperties>
+                        <property>test_key=test_value</property>
+                    </bootstrapProperties>
+                    <bootstrapPropertiesFile>bootstrap.properties</bootstrapPropertiesFile>
+                    <glassfishProperties>
+<property>embedded-glassfish-config.server.jms-service.jms-host.default_JMS_host.port=17676</property>
+                    </glassfishProperties>
+                    <glassfishPropertiesFile>glassfish.properties</glassfishPropertiesFile>
+                    <systemProperties>
+                        <property>ANTLR_USE_DIRECT_CLASS_LOADING=true</property>
+                    </systemProperties>
+                    <systemPropertiesFile>system.properties</systemPropertiesFile>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>start</goal>
+                            <goal>deploy</goal>
+                            <goal>undeploy</goal>
+                            <goal>stop</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            ...
+        </plugins>
+...
+----
+
+4. Configure Maven goals.
+Add `execution` elements to your POM file:
++
+[source,xml]
+----
+...
+        <plugins>
+            ...
+            <plugin>
+                ...
+                <executions>
+                    <execution>
+                        <phase>install</phase>
+                        <goals>
+                                <goal>goal</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                ...
+            </plugin>
+            ...
+        </plugins>
+...
+----
+goal::
+  The goal to use. See link:#gjkps[Maven Goals for Embedded {productName}].
+
+5. Configure the repository.
+Add the following `repository` element to your POM file:
++
+[source,xml]
+----
+<pluginRepositories>
+    <pluginRepository>
+        <id>maven2-repository.dev.java.net</id>
+        <name>Java.net Repository for Maven</name>
+        <url>http://download.java.net/maven/glassfish/</url>
+    </pluginRepository>
+</pluginRepositories>
+----
+
+[[GSESG00017]][[gjkod]]
+Example 1-13 POM File for Configuring Maven to Use Embedded {productName}
+
+This example shows a POM file for configuring Maven to use embedded {productName}.
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Line breaks in the following element are for readability purposes only
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.glassfish</groupId>
+  <artifactId>maven-glassfish-plugin-tester</artifactId>
+  <version>3.1</version>
+  <name>Maven test</name>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.glassfish</groupId>
+        <artifactId>maven-embedded-glassfish-plugin</artifactId>
+        <version>3.1</version>
+        <configuration>
+          <goalPrefix>embedded-glassfish</goalPrefix>
+          <app>target/test.war</app>
+          <port>8080</port>
+          <contextRoot>test</contextRoot>
+          <autoDelete>true</autoDelete>
+       </configuration>
+       <executions>
+          <execution>
+             <phase>install</phase>
+             <goals>
+                   <goal>run</goal>
+             </goals>
+          </execution>
+       </executions>
+     </plugin>
+    </plugins>
+  </build>
+  <pluginRepositories>
+      <pluginRepository>
+          <id>maven2-repository.dev.java.net</id>
+          <name>Java.net Repository for Maven</name>
+          <url>http://download.java.net/maven/glassfish/</url>
+      </pluginRepository>
+  </pluginRepositories>
+</project>
+----
+
+[[giivt]][[GSESG00023]][[to-build-and-start-an-application-from-maven]]
+
+==== To Build and Start an Application From Maven
+
+If you are using Maven to manage the development of your application,
+you can use a Maven goal to build and start the application in embedded
+{productName}.
+
+[[sthref9]]
+
+Before You Begin
+
+Ensure that your Maven environment is configured, as described in
+link:#gihus[To Set Up Your Maven Environment].
+
+1. Include the path to the Maven executable file `mvn` in your path
+statement.
+2. Ensure that the `JAVA_HOME` environment variable is defined.
+3. Create a directory for the Maven project for your application.
+4. Copy to your project directory the POM file that you created in
+link:#gihus[To Set Up Your Maven Environment].
+5. Run the following command in your project directory:
++
+[source]
+----
+mvn install
+----
+This command performs the following actions:
+* Installs the Maven repository in a directory named `.m2` under your
+home directory.
+* Starts Embedded {productName}.
+* Deploys your application.
++
+The application continues to run in Embedded {productName} until
+Embedded {productName} is stopped.
+
+[[gijly]][[GSESG00024]][[to-stop-embedded-glassfish-server]]
+
+==== To Stop Embedded {productName}
+
+1. Change to the root directory of the Maven project for your
+application.
+2. Run the Maven goal to stop the application in embedded {productName}.
++
+[source]
+----
+mvn embedded-glassfish:stop
+----
+This runs the `stop` method of the `GlassFish` object and any other
+methods that are required to shut down the server in an orderly fashion.
+See link:#gihzy[Stopping an Embedded {productName} From an
+Application].
+
+[[gijjn]][[GSESG00025]][[to-redeploy-an-application-that-was-built-and-started-from-maven]]
+
+==== To Redeploy an Application That Was Built and Started From Maven
+
+An application that was built and started from Maven continues to run in
+Embedded {productName} until Embedded {productName} is stopped.
+While the application is running, you can test changes to the
+application by redeploying it.
+
+To redeploy, in the window from where the application was built and
+started from Maven, press Enter.
+
+[[gjkps]][[GSESG00062]][[maven-goals-for-embedded-glassfish-server]]
+
+==== Maven Goals for Embedded {productName}
+
+You can use the following Maven goals to test your applications with
+embedded {productName}:
+
+* link:#gjkxo[`embedded-glassfish:run` Goal]
+* link:#gjkwy[`embedded-glassfish:start` Goal]
+* link:#gjkvc[`embedded-glassfish:deploy` Goal]
+* link:#gjkvg[`embedded-glassfish:undeploy` Goal]
+* link:#gjkyl[`embedded-glassfish:stop` Goal]
+* link:#gjkxq[`embedded-glassfish:admin` Goal]
+
+[[gjkxo]][[GSESG00048]][[embedded-glassfishrun-goal]]
+
+===== `embedded-glassfish:run` Goal
+
+This goal starts the server and deploys an application. You can redeploy
+if you change the application. The application can be a packaged archive
+or a directory that contains an exploded application. You can set the
+parameters described in the following table.
+
+[[sthref10]][[gjkws]]
+
+Table 1-5 `embedded-glassfish:run` Parameters
+
+[width="100%",cols="<18%,<42%,<40%",options="header",]
+|===
+|Parameter |Default |Description
+|app |None |The archive file or directory for the application to be deployed.
+
+|serverID |`maven` |(optional) The ID of the server to start.
+
+|containerType |`all` |(optional) The container to start: `web`, `ejb`, `jpa`, or `all`.
+
+|installRoot |None |(optional) The link:#gikqf[Installation Root Directory].
+
+|instanceRoot a|
+In order of precedence:
+
+* `glassfish.embedded.tmpdir` property value specified in `GlassFishProperties` object
+* `glassfish.embedded.tmpdir` system property value
+* `java.io.tmp` system property value
+* as-install``/domains/domain1`` if a nonembedded installation is referenced
+
+ |(optional) The link:#gikvf[Instance Root Directory]
+
+|configFile |domain-dir``/config/domain.xml`` |(optional) The
+configuration file.
+
+|port |None. Must be set explicitly or defined in the configuration
+file. |The HTTP or HTTPS port.
+
+|name a|
+In order of precedence:
+
+* The `application-name` or `module-name` in the deployment descriptor.
+* The name of the archive file without the extension or the directory name.
+
+For more information, see "link:application-deployment-guide/overview.html#GSDPG00323[Naming Standards]" in
+{productName} Application Deployment Guide.
+
+ |(optional) The name of the application.
+
+|contextRoot |The name of the application. |(optional) The context root
+of the application.
+
+|precompileJsp |`false` |(optional) If `true`, JSP pages are precompiled
+during deployment.
+
+|dbVendorName |None |(optional) The name of the database vendor for
+which tables can be created. Allowed values are `javadb`, `db2`,
+`mssql`, `mysql`, `oracle`, `postgresql`, `pointbase`, `derby` (also for
+CloudScape), and `sybase`, case-insensitive.
+
+|createTables |Value of the `create-tables-at-deploy` attribute in
+`sun-ejb-jar.xml`. |(optional) If `true`, creates database tables during
+deployment for beans that are automatically mapped by the EJB container.
+
+|dropTables |Value of the `drop-tables-at-undeploy` attribute in
+`sun-ejb-jar.xml`. a|
+(optional) If `true`, and deployment and undeployment occur in the same
+JVM session, database tables that were automatically created when the
+bean(s) were deployed are dropped when the bean(s) are undeployed.
+
+If `true`, the name parameter must be specified or tables may not be
+dropped.
+
+|autoDelete |`false` a|
+(optional) If `true`, deletes the contents of the link:#gikvf[Instance
+Root Directory] when the server is stopped.
+
+Caution: Do not set `autoDelete` to `true` if you are using
+`installRoot` to refer to a preexisting {productName} installation.
+
+|===
+
+
+[[gjkwy]][[GSESG00049]][[embedded-glassfishstart-goal]]
+
+===== `embedded-glassfish:start` Goal
+
+This goal starts the server. You can set the parameters described in the
+following table.
+
+[[sthref11]][[gjkye]]
+
+Table 1-6 `embedded-glassfish:start` Parameters
+
+[width="100%",cols="<17%,<38%,<45%",options="header",]
+|===
+|Parameter |Default |Description
+|serverID |`maven` |(optional) The ID of the server to start.
+
+|containerType |`all` |(optional) The container to start: `web`, `ejb`,
+`jpa`, or `all`.
+
+|installRoot |None |(optional) The link:#gikqf[Installation Root
+Directory].
+
+|instanceRoot a|
+In order of precedence:
+
+* `glassfish.embedded.tmpdir` system property value
+* `java.io.tmpdir` system property value
+* as-install``/domains/domain1``
+
+ |(optional) The link:#gikvf[Instance Root Directory]
+
+|configFile |domain-dir`/config/domain.xml` |(optional) The
+configuration file.
+
+|port |None. Must be set explicitly or defined in the configuration
+file. |The HTTP or HTTPS port.
+
+|autoDelete |`false` a|
+(optional) If `true`, deletes the contents of the link:#gikvf[Instance
+Root Directory] when the server is stopped.
+
+Caution: Do not set `autoDelete` to `true` if you are using
+`installRoot` to refer to a preexisting {productName} installation.
+
+|===
+
+
+[[gjkvc]][[GSESG00050]][[embedded-glassfishdeploy-goal]]
+
+===== `embedded-glassfish:deploy` Goal
+
+This goal deploys an application. You can redeploy if you change the
+application. The application can be a packaged archive or a directory
+that contains an exploded application. You can set the parameters
+described in the following table.
+
+[[sthref12]][[gjkvv]]
+
+Table 1-7 `embedded-glassfish:deploy` Parameters
+
+[width="100%",cols="<18%,<39%,<43%",options="header",]
+|===
+|Parameter |Default |Description
+|app |None |The archive file or directory for the application to be
+deployed.
+
+|serverID |`maven` |(optional) The ID of the server to start.
+
+|name a|
+In order of precedence:
+
+* The `application-name` or `module-name` in the deployment descriptor.
+* The name of the archive file without the extension or the directory
+name.
+
+For more information, see "link:application-deployment-guide/overview.html#GSDPG00323[Naming Standards]" in
+{productName} Application Deployment Guide.
+
+ |(optional) The name of the application.
+
+|contextRoot |The name of the application. |(optional) The context root
+of the application.
+
+|precompileJsp |`false` |(optional) If `true`, JSP pages are precompiled
+during deployment.
+
+|dbVendorName |None |(optional) The name of the database vendor for
+which tables can be created. Allowed values are `javadb`, `db2`,
+`mssql`, `oracle`, `postgresql`, `pointbase`, `derby` (also for
+CloudScape), and `sybase`, case-insensitive.
+
+|createTables |Value of the `create-tables-at-deploy` attribute in
+`sun-ejb-jar.xml`. |(optional) If `true`, creates database tables during
+deployment for beans that are automatically mapped by the EJB container.
+|===
+
+
+[[gjkvg]][[GSESG00051]][[embedded-glassfishundeploy-goal]]
+
+===== `embedded-glassfish:undeploy` Goal
+
+
+[NOTE]
+====
+If you reference a nonembedded {productName} installation using the
+`glassfish-embedded-static-shell.jar` file and do not undeploy your
+applications in the same server life cycle in which you deployed them,
+expanded archives for these applications remain under the
+domain-dir``/applications`` directory.
+====
+
+
+This goal undeploys an application. You can set the parameters described
+in the following table.
+
+[[sthref13]][[gjkxf]]
+
+Table 1-8 `embedded-glassfish:undeploy` Parameters
+
+[width="100%",cols="<14%,<34%,<52%",options="header",]
+|===
+|Parameter |Default |Description
+|name |If the name is omitted, all applications are undeployed. |The
+name of the application.
+
+|serverID |`maven` |(optional) The ID of the server to start.
+
+|dropTables |Value of the `drop-tables-at-undeploy` attribute in
+`sun-ejb-jar.xml`. a|
+(optional) If `true`, and deployment and undeployment occur in the same
+JVM session, database tables that were automatically created when the
+bean(s) were deployed are dropped when the bean(s) are undeployed.
+
+If `true`, the name parameter must be specified or tables may not be
+dropped.
+
+|cascade |`false` a|
+(optional) If `true`, deletes all connection pools and connector
+resources associated with the resource adapter being undeployed.
+
+If `false`, undeployment fails if any pools or resources are still
+associated with the resource adapter.
+
+This attribute is applicable to connectors (resource adapters) and
+applications with connector modules.
+
+|===
+
+
+[[gjkyl]][[GSESG00052]][[embedded-glassfishstop-goal]]
+
+===== `embedded-glassfish:stop` Goal
+
+This goal stops the server. You can set the parameters described in the
+following table.
+
+[[sthref14]][[gjkwm]]
+
+Table 1-9 `embedded-glassfish:stop` Parameters
+
+[width="100%",cols="<16%,<17%,<67%",options="header",]
+|===
+|Parameter |Default |Description
+|serverID |`maven` |(optional) The ID of the server to stop.
+|===
+
+
+[[gjkxq]][[GSESG00053]][[embedded-glassfishadmin-goal]]
+
+===== `embedded-glassfish:admin` Goal
+
+This goal runs a {productName} administration command. You must use
+either the command and commandParameters parameters in combination or
+the commandLine parameter. For more information about administration
+commands, see the link:reference-manual.html#GSRFM[{productName}
+Reference Manual]. You can set the parameters described in the following
+table.
+
+[[sthref15]][[gjkwe]]
+
+Table 1-10 `embedded-glassfish:start` Parameters
+
+[width="100%",cols="<24%,<10%,<66%",options="header",]
+|===
+|Parameter |Default |Description
+|serverID |`maven` |(optional) The ID of the server on which to run the
+command.
+
+|command |None |The name of the command, for example
+`createJdbcResource`.
+
+|commandParameters |None |A map of the command parameters. See the
+`org.glassfish.embeddable.admin.CommandParameters` class at
+`http://glassfish.java.net/nonav/docs/v3/api/`.
+
+|commandLine |None |The full `asadmin` syntax of the command.
+|===
+
+
+[[gjlde]][[GSESG00039]][[using-the-ejb-3.1-embeddable-api-with-embedded-glassfish-server]]
+
+=== Using the EJB 3.1 Embeddable API with Embedded {productName}
+
+The EJB 3.1 Embeddable API is designed for unit testing of EJB modules.
+You must use this API with a pre-installed, nonembedded {productName}
+instance. However, you can take advantage of Embedded {productName}'s
+ease of use by referencing the nonembedded {productName} instance
+with the `glassfish-embedded-static-shell.jar` file.
+
+Embedded {productName} is not related to the EJB 3.1 Embeddable API,
+but you can use these APIs together.
+
+The Maven plug-in does not apply to embeddable EJB applications.
+However, you can use Maven with the POM file shown in link:#gjxff[Using
+Maven with the EJB 3.1 Embeddable API and Embedded {productName}].
+
+The EJB 3.1 Embeddable API is described in
+http://jcp.org/en/jsr/detail?id=318[Java Specification Request (JSR)
+318] (`http://jcp.org/en/jsr/detail?id=318`). An `ejb-embedded` sample
+is included in the samples available at
+http://www.oracle.com/technetwork/java/javaee/downloads/index.html[Java
+EE 7 Downloads]
+(`http://www.oracle.com/technetwork/java/javaee/downloads/index.html`)
+or
+http://www.oracle.com/technetwork/java/javaee/documentation/index.html[Code
+Samples]
+(`http://www.oracle.com/technetwork/java/javaee/documentation/index.html`).
+
+The EJB 3.1 Embeddable API supports all EJB 3.1 Lite features with
+addition of the EJB timer service and testing of EJB modules packaged in
+a WAR file.
+
+For EJB modules in a WAR file (or an exploded directory), if a web
+application has one EJB module, and there are no other EJB modules in
+the classpath, those entries (libraries) are ignored. If there are other
+EJB modules, a temporary EAR file is created. For EJB modules in a WAR
+file to be tested, the client code must use EJB modules with interfaces
+or without annotations. Those EJB modules are not part of the classpath
+and can't be loaded by the client class loader.
+
+The following topics are addressed here:
+
+* link:#gjlcr[To Use the EJB 3.1 Embeddable API with Embedded {productName}]
+* link:#gksnv[EJB 3.1 Embeddable API Properties]
+* link:#gjxff[Using Maven with the EJB 3.1 Embeddable API and Embedded
+{productName}]
+
+[[gjlcr]][[GSESG00026]][[to-use-the-ejb-3.1-embeddable-api-with-embedded-glassfish-server]]
+
+==== To Use the EJB 3.1 Embeddable API with Embedded {productName}
+
+1. To specify {productName} as the Container Provider, include
+`glassfish-embedded-static-shell.jar` or `glassfish-embedded-all.jar` in
+the class path of your embeddable EJB application.
++
+Reference the `glassfish-embedded-static-shell.jar` file from the
+as-install``/lib/embedded`` directory of a {productName} installation.
+Do not move this file or it will not work.
++
+See link:#giide[Setting the Class Path] and Section 22.3.3 of the EJB
+3.1 Specification, Embeddable Container Bootstrapping.
+2. Configure any required resources.
++
+For more information about configuring resources, see the Administration
+Console Online Help or "link:administration-guide.html#GSADG00298[Resources and Services
+Administration]" in {productName} Administration
+Guide. The `jdbc/__default` Java DB database is preconfigured with all
+distributions of {productName}. However, if you are using
+`glassfish-embedded-static-shell.jar`, you must start the database
+manually.
++
+If your embeddable EJB application uses Java Persistence, you do not
+need to specify a JDBC resource. See link:#gksmw[Default Java
+Persistence Data Source for Embedded {productName}].
+3. Invoke one of the `createEJBContainer` methods.
++
+
+[NOTE]
+====
+Do not deploy your embeddable EJB application or any of its dependent
+Jakarta EE modules before invoking one of the `createEJBContainer` methods.
+These methods perform deployment in the background and do not load
+previously deployed applications or modules.
+====
+
+4. To change the link:#gikvf[Instance Root Directory], set the
+`org.glassfish.ejb.embedded.glassfish.instance.root` system property
+value by using the `createEJBContainer``(Map<?, ?> properties)` method.
++
+The default link:#gikvf[Instance Root Directory] location is
+as-install``/domains/domain1`` if a nonembedded installation is
+referenced. This system property applies only to embeddable EJB
+applications used with nonembedded {productName}.
+5. Close the EJB container properly to release all acquired resources
+and threads.
+
+[[gksnv]][[GSESG00063]][[ejb-3.1-embeddable-api-properties]]
+
+==== EJB 3.1 Embeddable API Properties
+
+Properties that can be passed to the
+`EJBContainer#createEJBContainer(Properties)` method are summarized in
+the following table. All properties are in the
+`org.glassfish.ejb.embedded.glassfish` package. For example, the full
+name of the `installation.root` property is
+`org.glassfish.ejb.embedded.glassfish.installation.root`.
+
+[[sthref16]][[gksop]]
+
+Table 1-11 EJB 3.1 Embeddable API Properties
+
+[width="100%",cols="<30%,<39%,<31%",options="header",]
+|===
+|Property |Default |Description
+|`installation.root` |{productName} installation location from which
+`glassfish-embedded-static-shell.jar` is referenced |The
+link:#gikqf[Installation Root Directory].
+
+|`instance.root` a|
+In order of precedence:
+
+* `glassfish.embedded.tmpdir` property value specified in
+`GlassFishProperties` object
+* `glassfish.embedded.tmpdir` system property value
+* `java.io.tmp` system property value
+* as-install``/domains/domain1`` if a nonembedded installation is referenced
+
+ |The link:#gikvf[Instance Root Directory].
+
+|`configuration.file` |domain-dir`/config/domain.xml` |The configuration
+file.
+
+|`keep-temporary-files` |`false` |If `true`, keeps temporary files
+(exploded EAR file and configuration file) created by the embedded EJB
+container when Embedded {productName} is stopped.
+
+|`web.http.port` |None |Enables the web container if set. Needed for
+testing web services in a WAR file. The value is ignored and can be an
+empty string.
+
+|`instance.reuse` |`false` |If `true`, no changes are made to the
+existing configuration file, and a temporary server instance is not
+created for the embedded run. Instead, execution happens against the
+existing server instance. Do not use this option if the reused server
+instance could be in use by the running nonembedded {productName}.
+
+|`skip-client-modules` |`false` |If `true`, omits modules from the
+classpath if they are not specified using `EJBContainer.MODULES` and
+have a manifest file with a `Main-Class` attribute.
+|===
+
+
+[[gjxff]][[GSESG00064]][[using-maven-with-the-ejb-3.1-embeddable-api-and-embedded-glassfish-server]]
+
+==== Using Maven with the EJB 3.1 Embeddable API and Embedded {productName}
+
+When using Maven with the EJB 3.1 Embeddable API and Embedded {productName}, you cannot use the features of the Maven plug-in. You must start
+and stop Embedded {productName} manually or programmatically outside
+of Maven.
+
+[[GSESG00018]][[gjxds]]
+Example 1-14 Maven POM File for Using the EJB 3.1 Embeddable API with
+Embedded {productName}
+
+This example shows a POM file for configuring Maven to use the EJB 3.1
+Embeddable API with Embedded {productName}.
+
+[source,xml]
+----
+<!--
+Line breaks in the following element are for readability purposes only
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.glassfish</groupId>
+    <artifactId>my-ejb-app-tester</artifactId>
+    <version>3.1</version>
+    <name>Maven test</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.extras</groupId>
+            <artifactId>glassfish-embedded-static-shell</artifactId>
+            <version>${project.version}</version>
+            <scope>system</scope>
+            <systemPath>
+                ${env.S1AS_HOME}/lib/embedded/glassfish-embedded-static-shell.jar
+            </systemPath>
+        </dependency>
+<!--
+        The javaee-api is stripped of any code and is just used to compile your
+        application. The scope provided in Maven means that it is used for compiling,
+        but is also available when testing. For this reason, the javaee-api needs to
+        be below the embedded Glassfish dependency. The javaee-api can actually be
+        omitted when the embedded Glassfish dependency is included, but to keep your
+        project Java-EE 6 rather than GlassFish 3, specification is important.
+-->
+        <dependency>
+            <groupId>javax</groupId>
+            <artifactId>javaee-api</artifactId>
+            <version>6.0</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+    <pluginRepositories>
+        <pluginRepository>
+            <id>maven2-repository.dev.java.net</id>
+            <name>Java.net Repository for Maven</name>
+            <url>http://download.java.net/maven/glassfish/</url>
+        </pluginRepository>
+    </pluginRepositories>
+</project>
+----
+
+If you are using `glassfish-embedded-static-shell.jar`, you can omit the
+`dependency` element with the `javaee-api` `artifactId` and the
+`pluginRepositories` element.
+
+Set the `S1AS_HOME` environment variable to the installation root
+directory before running the `mvn clean verify` command.
+
+[[gjlfe]][[GSESG00040]][[changing-log-levels-in-embedded-glassfish-server]]
+
+=== Changing Log Levels in Embedded {productName}
+
+To change log levels in Embedded {productName}, you can follow the
+steps in this section or you can use the Embedded Server API as shown in
+link:#gjlfm[Example 1-11]. For more information about {productName}
+logging, see "link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in
+{productName} Administration Guide.
+
+You can change log levels in Embedded {productName} in either of the
+following ways:
+
+* Using the {productName} Embedded Server API
+* Creating a custom logging configuration file
+
+Both these ways use logger names. For a list of logger names, use the
+link:reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] subcommand.
+
+[[GSESG00019]][[gkrhh]]
+Example 1-15 Using the {productName} Embedded Server API
+
+This example shows how to set log levels using the `getLogger` method in
+the API.
+
+[source,java]
+----
+import org.glassfish.embeddable.*;
+
+// Create Embedded GlassFish
+GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish();
+
+// Set the log levels. For example, set 'deployment' and 'server' log levels to FINEST
+Logger.getLogger("").getHandlers()[0].setLevel(Level.FINEST);
+Logger.getLogger("jakarta.enterprise.system.tools.deployment").setLevel(Level.FINEST);
+Logger.getLogger("jakarta.enterprise.system").setLevel(Level.FINEST);
+
+// Start Embedded GlassFish and deploy an application.
+// You will see all the FINEST logs printed on the console.
+glassfish.start();
+glassfish.getDeployer().deploy(new File("sample.war"));
+
+// Dispose Embedded GlassFish
+glassfish.dispose();
+----
+
+[[GSESG00020]][[gkrgw]]
+Example 1-16 Creating a Custom Logging Configuration File
+
+This example shows the contents of a custom logging configuration file,
+`customlogging.properties`.
+
+[source]
+----
+handlers= java.util.logging.ConsoleHandler
+java.util.logging.ConsoleHandler.level = FINEST
+jakarta.enterprise.system.tools.deployment.level = FINEST
+jakarta.enterprise.system.level = FINEST
+----
+
+Pass the name of this custom logging configuration file to the `java`
+command when you invoke Embedded {productName}. For example:
+
+[source]
+----
+java -Djava.util.logging.config.file=customlogging.properties MyEmbeddedGlassFish
+----
+
+[[gksmw]][[GSESG00041]][[default-java-persistence-data-source-for-embedded-glassfish-server]]
+
+=== Default Java Persistence Data Source for Embedded {productName}
+
+The `jdbc/__default` Java DB database is preconfigured with Embedded
+{productName}. It is used when an application is deployed in Embedded
+{productName} that uses Java Persistence but doesn't specify a data
+source. Embedded {productName} uses the embedded Java DB database
+created in a temporary domain that is destroyed when Embedded {productName} is stopped. You can use a Java DB database configured with
+nonembedded {productName} if you explicitly specify the instance root
+directory or the configuration file.
+
+By default, weaving is enabled when the {productName} Embedded Server
+API is used. To disable weaving, set the
+`org.glassfish.persistence.embedded.weaving.enabled` property to
+`false`.
+
+[[gihxf]][[GSESG00042]][[restrictions-for-embedded-glassfish-server]]
+
+=== Restrictions for Embedded {productName}
+
+The `glassfish-embedded-web.jar` file for embedded {productName}
+supports only these features of nonembedded {productName}:
+
+* The following web technologies of the Jakarta EE platform:
+
+** Java Servlet API
+
+** JavaServer Pages (JSP) technology
+
+** JavaServer Faces technology
+* JDBC-technology connection pooling
+* Java Persistence API
+* Java Transaction API
+* Java Transaction Service
+
+The `glassfish-embedded-all.jar` and
+`glassfish-embedded-static-shell.jar` files support all features of
+nonembedded {productName} with these exceptions:
+
+* Installers
+* Administration Console
+* Update Tool
+* Apache Felix OSGi framework
+* The Maven plug-in for embedded {productName} does not support
+application clients.
+* Applications that require ports for communication, such as remote EJB
+components, do not work with the EJB 3.1 Embeddable API running with
+embedded {productName} if a nonembedded {productName} is running
+in parallel.
+
+Embedded {productName} requires no installation or configuration. As
+a result, the following files and directories are absent from the file
+system until embedded {productName} is started:
+
+* `default-web.xml` file
+* `domain.xml` file
+* Applications directory
+* Instance root directory
+
+When embedded {productName} is started, the base installation
+directory that {productName} uses depends on the options with which
+{productName} is started. If necessary, embedded {productName}
+creates a base installation directory. Embedded {productName} then
+copies the following directories and their contents from the Java
+archive (JAR) file in which embedded {productName} is distributed:
+
+* `domains`
+* `lib`
+
+If necessary, {productName} also creates an instance root directory.
diff --git a/docs/embedded-server-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/embedded-server-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/embedded-server-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/embedded-server-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/embedded-server-guide/src/main/asciidoc/loe.adoc b/docs/embedded-server-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..ce9d2f7
--- /dev/null
+++ b/docs/embedded-server-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,43 @@
+type=page
+status=published
+title=List of Examples
+next=lot.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:embedded-server-guide.html#gikmz[1-1 Creating an Embedded
+{productName}]
+* link:embedded-server-guide.html#gksjo[1-2 Creating an Embedded
+{productName} with configuration customizations]
+* link:embedded-server-guide.html#gjkxc[1-3 Setting the port of an
+Embedded {productName}]
+* link:embedded-server-guide.html#gilry[1-4 Starting an Embedded
+{productName}]
+* link:embedded-server-guide.html#gilnz[1-5 Stopping an Embedded
+{productName}]
+* link:embedded-server-guide.html#gioph[1-6 Deploying an Application From
+an Archive File]
+* link:embedded-server-guide.html#gilwu[1-7 Undeploying an Application]
+* link:embedded-server-guide.html#gjrfq[1-8 Deploying an Application From
+a Scattered Archive]
+* link:embedded-server-guide.html#gkvga[1-9 Deploying an Application From
+a Scattered Enterprise Archive]
+* link:embedded-server-guide.html#gjldj[1-10 Running an asadmin
+create-jdbc-resource Command]
+* link:embedded-server-guide.html#gjlfm[1-11 Running an asadmin
+set-log-level Command]
+* link:embedded-server-guide.html#gionq[1-12 Using an Existing domain.xml
+File and Deploying an Application From an Archive File]
+* link:embedded-server-guide.html#gjkod[1-13 POM File for Configuring
+Maven to Use Embedded {productName}]
+* link:embedded-server-guide.html#gjxds[1-14 Maven POM File for Using the
+EJB 3.1 Embeddable API with Embedded {productName}]
+* link:embedded-server-guide.html#gkrhh[1-15 Using the {productName}
+Embedded Server API]
+* link:embedded-server-guide.html#gkrgw[1-16 Creating a Custom Logging
+Configuration File]
diff --git a/docs/embedded-server-guide/src/main/asciidoc/lot.adoc b/docs/embedded-server-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..103c307
--- /dev/null
+++ b/docs/embedded-server-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,34 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=loe.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:embedded-server-guide.html#gksir[1-1 Methods of the
+BootstrapProperties Class]
+* link:embedded-server-guide.html#gkskl[1-2 Methods of the
+GlassFishProperties Class]
+* link:embedded-server-guide.html#gjrdg[1-3 Constructors and Methods of
+the ScatteredArchive Class]
+* link:embedded-server-guide.html#gkvgb[1-4 Constructors and Methods of
+the ScatteredEnterpriseArchive Class]
+* link:embedded-server-guide.html#gjkws[1-5 embedded-glassfish:run
+Parameters]
+* link:embedded-server-guide.html#gjkye[1-6 embedded-glassfish:start
+Parameters]
+* link:embedded-server-guide.html#gjkvv[1-7 embedded-glassfish:deploy
+Parameters]
+* link:embedded-server-guide.html#gjkxf[1-8 embedded-glassfish:undeploy
+Parameters]
+* link:embedded-server-guide.html#gjkwm[1-9 embedded-glassfish:stop
+Parameters]
+* link:embedded-server-guide.html#gjkwe[1-10 embedded-glassfish:start
+Parameters]
+* link:embedded-server-guide.html#gksop[1-11 EJB 3.1 Embeddable API
+Properties]
diff --git a/docs/embedded-server-guide/src/main/asciidoc/preface.adoc b/docs/embedded-server-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..48bec14
--- /dev/null
+++ b/docs/embedded-server-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,335 @@
+type=page
+status=published
+title=Preface
+next=embedded-server-guide.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[sthref2]]
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This document explains how to run applications in embedded
+{productName} and to develop applications in which
+{productName} is embedded. This document is for software developers
+who are developing applications to run in embedded {productName}.
+The ability to program in the Java language is assumed.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSESG00027]][[ghpbz]]
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSESG00028]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[GSESG00029]][[fwbkx]]
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSESG00030]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSESG00031]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/embedded-server-guide/src/main/asciidoc/title.adoc b/docs/embedded-server-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..d1bde27
--- /dev/null
+++ b/docs/embedded-server-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,56 @@
+type=page
+status=published
+title={productName} Embedded Server Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Embedded Server Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Embedded Server Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This document explains how to run applications in embedded {productName} and to develop applications in which
+{productName} is embedded. This document is for software developers
+who are developing applications to run in embedded {productName}. The
+ability to program in the Java language is assumed.
+
+Note: The main thrust of the {productName} 7
+release is to provide an application server for developers to explore
+and begin exploiting the new and updated technologies in the Jakarta EE 10
+platform. Thus, the embedded server feature of {productName} was not
+a focus of this release. This feature is included in the release, but it
+may not function properly with some of the new features added in support
+of the Jakarta EE 10 platform.
+
+[[sthref1]]
+
+'''''
+
+{productName} Embedded Server Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/embedded-server-guide/src/main/jbake/assets/css/style.css b/docs/embedded-server-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/embedded-server-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/embedded-server-guide/src/main/jbake/content/embedded-server-guide.adoc b/docs/embedded-server-guide/src/main/jbake/content/embedded-server-guide.adoc
deleted file mode 100644
index 03c9ead..0000000
--- a/docs/embedded-server-guide/src/main/jbake/content/embedded-server-guide.adoc
+++ /dev/null
@@ -1,2131 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server 5.1 Embedded Server Guide
-prev=preface.html
-~~~~~~
-Eclipse GlassFish Server 5.1 Embedded Server Guide
-==================================================
-
-[[GSESG00001]][[gjldt]]
-
-
-[[glassfish-server-open-source-edition-4.0-embedded-server-guide]]
-1 Eclipse GlassFish Server 5.1 Embedded Server Guide
-----------------------------------------------------
-
-This document explains how to run applications in embedded GlassFish
-Server Open Source Edition and to develop applications in which
-GlassFish Server is embedded. This document is for software developers
-who are developing applications to run in embedded GlassFish Server. The
-ability to program in the Java language is assumed.
-
-The following topics are addressed here:
-
-* link:#giidt[Introduction to Embedded GlassFish Server]
-* link:#gkubb[Embedded GlassFish Server File System]
-* link:#giijw[Including the GlassFish Server Embedded Server API in
-Applications]
-* link:#gijhs[Testing Applications with the Maven Plug-in for Embedded
-GlassFish Server]
-* link:#gjlde[Using the EJB 3.1 Embeddable API with Embedded GlassFish
-Server]
-* link:#gjlfe[Changing Log Levels in Embedded GlassFish Server]
-* link:#gksmw[Default Java Persistence Data Source for Embedded
-GlassFish Server]
-* link:#gihxf[Restrictions for Embedded GlassFish Server]
-
-[[giidt]][[GSESG00035]][[introduction-to-embedded-glassfish-server]]
-
-Introduction to Embedded GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Embedded Eclipse GlassFish Server enables you to use
-GlassFish Server as a library. Embedded GlassFish Server also enables
-you to run GlassFish Server inside any Virtual Machine for the Java
-platform (Java Virtual Machine or JVMmachine).
-
-No installation or configuration of embedded GlassFish Server is
-required. The ability to run GlassFish Server inside applications
-without installation or configuration simplifies the process of bundling
-GlassFish Server with applications.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Embedded GlassFish Server does not run on the Java Platform, Micro
-Edition (Java ME platform).
-
-|=======================================================================
-
-
-You can use embedded GlassFish Server in the following ways:
-
-* With the Embedded Server API (see link:#giijw[Including the GlassFish
-Server Embedded Server API in Applications])
-* With the Maven Plug-in (see link:#gijhs[Testing Applications with the
-Maven Plug-in for Embedded GlassFish Server])
-* With the EJB 3.1 Embeddable API (see link:#gjlde[Using the EJB 3.1
-Embeddable API with Embedded GlassFish Server])
-
-Embedded GlassFish Server provides a plug-in for
-http://maven.apache.org/[Apache Maven] (`http://maven.apache.org/`).
-This plug-in simplifies the testing of applications by enabling you to
-build an application and run it with GlassFish Server on a single
-system. Testing and debugging are simplified because the need for an
-installed and configured GlassFish Server is eliminated. Therefore, you
-can run unit tests automatically in every build.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-For information on how to embed GlassFish Server in an OSGi environment,
-see the link:../add-on-component-development-guide/toc.html#GSACG[GlassFish Server Open Source Edition Add-On
-Component Development Guide].
-
-|=======================================================================
-
-
-[[gkubb]][[GSESG00036]][[embedded-glassfish-server-file-system]]
-
-Embedded GlassFish Server File System
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following Embedded GlassFish Server directories and files are
-important if you are referencing a nonembedded installation of GlassFish
-Server:
-
-* link:#gikqf[Installation Root Directory]
-* link:#gikvf[Instance Root Directory]
-* link:#giiak[The `domain.xml` File]
-
-[[gikqf]][[GSESG00054]][[installation-root-directory]]
-
-Installation Root Directory
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The installation root directory, represented as as-install, is the
-parent of the directory that embedded GlassFish Server uses for
-configuration files. This directory corresponds to the base directory
-for an installation of GlassFish Server. Configuration files are
-contained in the following directories in the base directory for an
-installation of GlassFish Server:
-
-* `domains`
-* `lib`
-
-Specify the installation root directory only if you have a valid
-nonembedded GlassFish Server installation and are using
-`glassfish-embedded-static-shell.jar`.
-
-[[gikvf]][[GSESG00055]][[instance-root-directory]]
-
-Instance Root Directory
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The instance root directory, represented as domain-dir, is the parent
-directory of a server instance directory. Embedded GlassFish Server Open
-Source Edition uses the server instance directory for domain
-configuration files.
-
-Specify the instance root directory only if you have a valid nonembedded
-GlassFish Server domain directory and are using
-`glassfish-embedded-static-shell.jar`.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you have valid nonembedded GlassFish Server as-install and domain-dir
-directories, specify both in the `BootstrapProperties` and
-`GlassFishProperties` classes respectively as described in
-link:#gihyr[Creating and Configuring an Embedded GlassFish Server].
-
-|=======================================================================
-
-
-If domain-dir is not specified, GlassFish Server creates a directory
-named `gfembed`random-number`tmp` in a temporary directory, where
-random-number is a randomly generated 19-digit number. GlassFish Server
-then copies configuration files into this directory. The temporary
-directory is the value of the system property `java.io.tmpdir`. You can
-override this value by specifying the `glassfish.embedded.tmpdir`
-property in the `GlassFishProperties` class or as a system property.
-
-[[giiak]][[GSESG00056]][[the-domain.xml-file]]
-
-The `domain.xml` File
-^^^^^^^^^^^^^^^^^^^^^
-
-Using an existing `domain.xml` file avoids the need to configure
-embedded GlassFish Server programmatically in your application. Your
-application obtains domain configuration data from an existing
-`domain.xml` file. You can create this file by using the administrative
-interfaces of an installation of nonembedded GlassFish Server. To
-specify an existing `domain.xml` file, invoke the `setConfigFileURI`
-method of the `GlassFishProperties` class as described in
-link:#gihyr[Creating and Configuring an Embedded GlassFish Server].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The built-in `domain.xml` file used by default by Embedded GlassFish
-Server can be downloaded from
-`http://embedded-glassfish.java.net/domain.xml`. You can customize this
-file and pass it in using the `setConfigFileURI` method while creating
-an Embedded GlassFish Server.
-
-|=======================================================================
-
-
-[[giijw]][[GSESG00037]][[including-the-glassfish-server-embedded-server-api-in-applications]]
-
-Including the GlassFish Server Embedded Server API in Applications
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Eclipse GlassFish Server provides an application programming
-interface (API) for developing applications in which GlassFish Server is
-embedded. For details, see the `org.glassfish.embeddable` packages at
-`http://embedded-glassfish.java.net/nonav/apidocs/`.
-
-The following topics are addressed here:
-
-* link:#giide[Setting the Class Path]
-* link:#giiky[Creating, Starting, and Stopping Embedded GlassFish
-Server]
-* link:#giigc[Deploying and Undeploying an Application in an Embedded
-GlassFish Server]
-* link:#gjldy[Running `asadmin` Commands Using the GlassFish Server
-Embedded Server API]
-* link:#gikrt[Sample Applications]
-
-[[giide]][[GSESG00057]][[setting-the-class-path]]
-
-Setting the Class Path
-^^^^^^^^^^^^^^^^^^^^^^
-
-To enable your applications to locate the class libraries for embedded
-GlassFish Server, add one of the following JAR files to your class path:
-
-`glassfish-embedded-nucleus.jar`::
-  Corresponds to the nucleus distribution. Download this file from
-  `http://download.java.net/maven/glassfish/org/glassfish/extras/glassfish-embedded-nucleus/`.
-`glassfish-embedded-web.jar`::
-  Contains classes needed for deploying Java EE web applications.
-  Download this file from
-  `http://download.java.net/maven/glassfish/org/glassfish/extras/glassfish-embedded-web/`.
-`glassfish-embedded-all.jar`::
-  Contains classes needed for deploying all Java EE application types.
-  Download this file from
-  `http://download.java.net/maven/glassfish/org/glassfish/extras/glassfish-embedded-all/`.
-`glassfish-embedded-static-shell.jar`::
-  Contains references to classes needed for deploying all Java EE
-  application types. Must be used with a nonembedded installation of
-  GlassFish Server. Reference this file from the
-  as-install`/lib/embedded` directory of a nonembedded GlassFish Server
-  installation. Do not move this file or it will not work. For an
-  explanation of as-install, see link:#gikqf[Installation Root
-  Directory].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Oracle GlassFish Server only supports use of the
-`glassfish-embedded-static-shell.jar` file. The other files are part of
-Eclipse GlassFish Server and are offered without official
-support.
-
-|=======================================================================
-
-
-In addition, add to the class path any other JAR files or classes upon
-which your applications depend. For example, if an application uses a
-database other than Java DB, include the Java DataBase Connectivity
-(JDBC) driver JAR files in the class path.
-
-[[giiky]][[GSESG00058]][[creating-starting-and-stopping-embedded-glassfish-server]]
-
-Creating, Starting, and Stopping Embedded GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Before you can run applications, you must set up and run the embedded
-GlassFish Server.
-
-The following topics are addressed here:
-
-* link:#gihyr[Creating and Configuring an Embedded GlassFish Server]
-* link:#gihyz[Running an Embedded GlassFish Server]
-
-[[gihyr]][[GSESG00043]][[creating-and-configuring-an-embedded-glassfish-server]]
-
-Creating and Configuring an Embedded GlassFish Server
-+++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-To create and configure an embedded GlassFish Server, perform these
-tasks:
-
-1.  Instantiate the `org.glassfish.embeddable.BootstrapProperties`
-class.
-2.  Invoke any methods for configuration settings that you require. This
-is optional.
-3.  Invoke the `GlassFishRuntime.bootstrap()` or
-`GlassFishRuntime.bootstrap(BootstrapProperties)` method to create a
-`GlassFishRuntime` object.
-4.  Instantiate the `org.glassfish.embeddable.GlassFishProperties`
-class.
-5.  Invoke any methods for configuration settings that you require. This
-is optional.
-6.  Invoke the `glassfishRuntime.newGlassFish(GlassFishProperties)`
-method to create a `GlassFish` object.
-
-The methods of the `BootstrapProperties` class for setting the server
-configuration are listed in the following table. The default value of
-each configuration setting is also listed.
-
-[[sthref4]][[gksir]]
-
-Table 1-1 Methods of the `BootstrapProperties` Class
-
-[width="100%",cols="<29%,<33%,<38%",options="header",]
-|=======================================================================
-|Purpose |Method |Default Value
-|References an existing link:#gikqf[Installation Root Directory], also
-called as-install a|
-[source,oac_no_warn]
-----
-setInstallRoot(String as-install)
-----
-
- |None. If `glassfish-embedded-static-shell.jar` is used, the
-link:#gikqf[Installation Root Directory] is automatically determined and
-need not be specified.
-|=======================================================================
-
-
-The methods of the `GlassFishProperties` class for setting the server
-configuration are listed in the following table. The default value of
-each configuration setting is also listed.
-
-[[sthref5]][[gkskl]]
-
-Table 1-2 Methods of the `GlassFishProperties` Class
-
-[width="100%",cols="<24%,<37%,<39%",options="header",]
-|=======================================================================
-|Purpose |Method |Default Value
-|References an existing link:#gikvf[Instance Root Directory], also
-called domain-dir a|
-[source,oac_no_warn]
-----
-setInstanceRoot(String domain-dir)
-----
-
- a|
-In order of precedence:
-
-* `glassfish.embedded.tmpdir` property value specified in
-`GlassFishProperties` object
-* `glassfish.embedded.tmpdir` system property value
-* `java.io.tmp` system property value
-* as-install`/domains/domain1` if a nonembedded installation is
-referenced
-
-|Creates a new or references an existing configuration file a|
-[source,oac_no_warn]
-----
-setConfigFileURI(String configFileURI)
-----
-
- a|
-In order of precedence:
-
-* domain-dir`/config/domain.xml` if domain-dir was set using
-`setInstanceRoot`
-* built-in embedded `domain.xml`
-
-|Specifies whether the configuration file is read-only a|
-[source,oac_no_warn]
-----
-setConfigFileReadOnly(boolean readOnly)
-----
-
- |`true`
-
-|Sets the port on which Embedded GlassFish Server listens.
-|`setPort`(String networkListener, int port) |none
-|=======================================================================
-
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Do not use `setPort` if you are using `setInstanceRoot` or
-`setConfigFileURI`.
-
-|=======================================================================
-
-
-[[GSESG00005]][[gikmz]]
-
-
-Example 1-1 Creating an Embedded GlassFish Server
-
-This example shows code for creating an Embedded GlassFish Server.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.embeddable.*;
-...
-    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish();
-    glassfish.start();
-...
-----
-
-[[GSESG00006]][[gksjo]]
-
-
-Example 1-2 Creating an Embedded GlassFish Server with configuration
-customizations
-
-This example shows code for creating an Embedded GlassFish Server using
-the existing domain-dir
-`C:\samples\test\applicationserver\domains\domain1`.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.embeddable.*;
-...
-    BootstrapProperties bootstrapProperties = new BootstrapProperties();
-    bootstrapProperties.setInstallRoot("C:\\samples\\test\\applicationserver");
-    GlassFishRuntime glassfishRuntime = GlassFishRuntime.bootstrap(bootstrapProperties);
-
-    GlassFishProperties glassfishProperties = new GlassFishProperties();
-    glassfishProperties.setInstanceRoot("C:\\samples\\test\\applicationserver\\domains\\domain1");
-    GlassFish glassfish = glassfishRuntime.newGlassFish(glassfishProperties);
-
-    glassfish.start();
-
-...
-----
-
-[[gihyz]][[GSESG00044]][[running-an-embedded-glassfish-server]]
-
-Running an Embedded GlassFish Server
-++++++++++++++++++++++++++++++++++++
-
-After you create an embedded GlassFish Server as described in
-link:#gihyr[Creating and Configuring an Embedded GlassFish Server], you
-can perform operations such as:
-
-* link:#gjkxx[Setting the Port of an Embedded GlassFish Server From an
-Application]
-* link:#gihzg[Starting an Embedded GlassFish Server From an Application]
-* link:#gihzy[Stopping an Embedded GlassFish Server From an Application]
-
-[[gjkxx]][[GSESG00002]][[setting-the-port-of-an-embedded-glassfish-server-from-an-application]]
-
-Setting the Port of an Embedded GlassFish Server From an Application
-
-You must set the server's HTTP or HTTPS port. If you do not set the
-port, your application fails to start and throws an exception. You can
-set the port directly or indirectly.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Do not use `setPort` if you are using `setInstanceRoot` or
-`setConfigFileURI`. These methods set the port indirectly.
-
-|=======================================================================
-
-
-* To set the port directly, invoke the `setPort` method of the
-`GlassFishProperties` object.
-* To set the port indirectly, use a `domain.xml` file that sets the
-port. For more information, see link:#giiak[The `domain.xml` File].
-
-[[GSESG00007]][[gjkxc]]
-
-
-Example 1-3 Setting the port of an Embedded GlassFish Server
-
-This example shows code for setting the port of an embedded GlassFish
-Server.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.embeddable.*;
-...
-    GlassFishProperties glassfishProperties = new GlassFishProperties();
-    glassfishProperties.setPort("http-listener", 8080);
-    glassfishProperties.setPort("https-listener", 8181);
-...
-----
-
-[[gihzg]][[GSESG00003]][[starting-an-embedded-glassfish-server-from-an-application]]
-
-Starting an Embedded GlassFish Server From an Application
-
-To start an embedded GlassFish Server, invoke the `start` method of the
-`GlassFish` object.
-
-[[GSESG00008]][[gilry]]
-
-
-Example 1-4 Starting an Embedded GlassFish Server
-
-This example shows code for setting the port and starting an embedded
-GlassFish Server. This example also includes the code from
-link:#gikmz[Example 1-1] for creating a `GlassFish` object.
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.embeddable.*;
-...
-    GlassFishProperties glassfishProperties = new GlassFishProperties();
-    glassfishProperties.setPort("http-listener", 8080);
-    glassfishProperties.setPort("https-listener", 8181);
-    ...
-    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
-    glassfish.start();
-...
-----
-
-[[gihzy]][[GSESG00004]][[stopping-an-embedded-glassfish-server-from-an-application]]
-
-Stopping an Embedded GlassFish Server From an Application
-
-The API for embedded GlassFish Server provides a method for stopping an
-embedded server. Using this method enables your application to stop the
-server in an orderly fashion by performing any necessary cleanup steps
-before stopping the server, for example:
-
-* Undeploying deployed applications
-* Releasing any resources that your application uses
-
-To stop an embedded GlassFish Server, invoke the `stop` method of an
-existing `GlassFish` object.
-
-[[GSESG00009]][[gilnz]]
-
-
-Example 1-5 Stopping an Embedded GlassFish Server
-
-This example shows code for prompting the user to press the Enter key to
-stop an embedded GlassFish Server. Code for creating a `GlassFish`
-object is not shown in this example. For an example of code for creating
-a `GlassFish` object, see link:#gikmz[Example 1-1].
-
-[source,oac_no_warn]
-----
-...
-import java.io.BufferedReader;
-...
-import org.glassfish.embeddable.*;
-...
-    System.out.println("Press Enter to stop server");
-        // wait for Enter
-    glassfish.stop(); // Stop Embedded GlassFish Server
-...
-----
-
-As an alternative, you can use the `dispose` method to stop an embedded
-GlassFish Server and dispose of the temporary file system.
-
-[[giigc]][[GSESG00059]][[deploying-and-undeploying-an-application-in-an-embedded-glassfish-server]]
-
-Deploying and Undeploying an Application in an Embedded GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Deploying an application installs the files that comprise the
-application into Embedded GlassFish Server and makes the application
-ready to run. By default, an application is enabled when it is deployed.
-
-The following topics are addressed here:
-
-* link:#gilrf[To Deploy an Application From an Archive File or a
-Directory]
-* link:#gilpm[Undeploying an Application]
-* link:#gjrcs[Creating a Scattered Archive]
-* link:#gkvgc[Creating a Scattered Enterprise Archive]
-
-For general information about deploying applications in GlassFish
-Server, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition
-Application Deployment Guide].
-
-[[gilrf]][[GSESG00021]][[to-deploy-an-application-from-an-archive-file-or-a-directory]]
-
-To Deploy an Application From an Archive File or a Directory
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-An archive file contains the resources, deployment descriptor, and
-classes of an application. The content of the file must be organized in
-the directory structure that the Java EE specifications define for the
-type of archive that the file contains. For more information, see
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00004[Deploying Applications]" in GlassFish Server Open
-Source Edition Application Deployment Guide.
-
-Deploying an application from a directory enables you to deploy an
-application without the need to package the application in an archive
-file. The contents of the directory must match the contents of the
-expanded Java EE archive file as laid out by the GlassFish Server. The
-directory must be accessible to the machine on which the deploying
-application runs. For more information about the requirements for
-deploying an application from a directory, see "link:../application-deployment-guide/deploying-applications.html#GSDPG00043[To
-Deploy an Application or Module in a Directory Format]" in GlassFish
-Server Open Source Edition Application Deployment Guide.
-
-If some of the resources needed by an application are not under the
-application's directory, see link:#gjrcs[Creating a Scattered Archive].
-
-1.  Instantiate the `java.io.File` class to represent the archive file
-or directory.
-2.  Invoke the `getDeployer` method of the `GlassFish` object to get an
-instance of the `org.glassfish.embeddable.Deployer` class.
-3.  Invoke the `deploy``(File` archive`,` params`)` method of the
-instance of the `Deployer` object. +
-Specify the `java.io.File` class instance you created previously as the
-first method parameter. +
-For information about optional parameters you can set, see the
-descriptions of the link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)] subcommand parameters.
-Simply quote each parameter in the method, for example `"--force=true"`.
-
-[[GSESG00010]][[gioph]]
-
-
-Example 1-6 Deploying an Application From an Archive File
-
-This example shows code for deploying an application from the archive
-file `c:\samples\simple.war` and setting the name, contextroot, and
-force parameters. This example also includes the code from
-link:#gikmz[Example 1-1] for creating `GlassFishProperties` and
-`GlassFish` objects.
-
-[source,oac_no_warn]
-----
-...
-import java.io.File;
-...
-import org.glassfish.embeddable.*;
-...
-    GlassFishProperties glassfishProperties = new GlassFishProperties();
-    glassfishProperties.setPort("http-listener", 8080);
-    glassfishProperties.setPort("https-listener", 8181);
-    ...
-    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
-    glassfish.start();
-    File war = new File("c:\\samples\\simple.war");
-    Deployer deployer = glassfish.getDeployer();
-    deployer.deploy(war, "--name=simple", "--contextroot=simple", "--force=true");
-    // deployer.deploy(war) can be invoked instead. Other parameters are optional.
-...
-----
-
-[[gilpm]][[GSESG00045]][[undeploying-an-application]]
-
-Undeploying an Application
-++++++++++++++++++++++++++
-
-Undeploy an application when the application is no longer required to
-run in GlassFish Server. For example, before stopping GlassFish Server,
-undeploy all applications that are running in GlassFish Server.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you reference a nonembedded GlassFish Server installation using the
-`glassfish-embedded-static-shell.jar` file and do not undeploy your
-applications in the same server life cycle in which you deployed them,
-expanded archives for these applications remain under the
-domain-dir`/applications` directory.
-
-|=======================================================================
-
-
-To undeploy an application, invoke the `undeploy` method of an existing
-`Deployer` object. In the method invocation, pass the name of the
-application as a parameter. This name is specified when the application
-is deployed.
-
-For information about optional parameters you can set, see the
-descriptions of the link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)] command parameters.
-Simply quote each parameter in the method, for example
-`"--cascade=true"`.
-
-To undeploy all deployed applications, invoke the `undeployAll` method
-of an existing `EmbeddedDeployer` object. This method takes no
-parameters.
-
-[[GSESG00011]][[gilwu]]
-
-
-Example 1-7 Undeploying an Application
-
-This example shows code for undeploying the application that was
-deployed in link:#gioph[Example 1-6].
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.embeddable.*;
-...
-    deployer.undeploy(war, "--droptables=true", "--cascade=true");
-...
-----
-
-[[gjrcs]][[GSESG00046]][[creating-a-scattered-archive]]
-
-Creating a Scattered Archive
-++++++++++++++++++++++++++++
-
-Deploying a module from a scattered archive (WAR or JAR) enables you to
-deploy an unpackaged module whose resources, deployment descriptor, and
-classes are in any location. Deploying a module from a scattered archive
-simplifies the testing of a module during development, especially if all
-the items that the module requires are not available to be packaged.
-
-In a scattered archive, these items are not required to be organized in
-a specific directory structure. Therefore, you must specify the location
-of the module's resources, deployment descriptor, and classes when
-deploying the module.
-
-To create a scattered archive, perform these tasks:
-
-1.  Instantiate the `org.glassfish.embeddable.archive.ScatteredArchive`
-class.
-2.  Invoke the `addClassPath` and `addMetadata` methods if you require
-them.
-3.  Invoke the `toURI` method to deploy the scattered archive.
-
-The methods of this class for setting the scattered archive
-configuration are listed in the following table. The default value of
-each configuration setting is also listed.
-
-[[sthref6]][[gjrdg]]
-
-Table 1-3 Constructors and Methods of the `ScatteredArchive` Class
-
-[width="100%",cols="<52%,<38%,<10%",options="header",]
-|=======================================================================
-|Purpose |Method |Default Value
-|Creates and names a scattered archive a|
-[source,oac_no_warn]
-----
-ScatteredArchive(String name,
-ScatteredArchive.Type type)
-----
-
- |None
-
-|Creates and names a scattered archive based on a top-level directory.
-If the entire module is organized under the topDir, this is the only
-method necessary. The topDir can be null if other methods specify the
-remaining parts of the module. a|
-[source,oac_no_warn]
-----
-ScatteredArchive(String name,
-ScatteredArchive.Type type,
-File topDir)
-----
-
- |None
-
-|Adds a directory to the classes classpath a|
-[source,oac_no_warn]
-----
-addClassPath(File path)
-----
-
- |None
-
-|Adds a metadata locator a|
-[source,oac_no_warn]
-----
-addMetaData(File path)
-----
-
- |None
-
-|Adds and names a metadata locator a|
-[source,oac_no_warn]
-----
-addMetaData(File path,
-String name)
-----
-
- |None
-
-|Gets the deployable URI for this scattered archive a|
-[source,oac_no_warn]
-----
-toURI()
-----
-
- |None
-|=======================================================================
-
-
-[[GSESG00012]][[gjrfq]]
-
-
-Example 1-8 Deploying an Application From a Scattered Archive
-
-This example shows code for creating a WAR file and using the
-`addClassPath` and `addMetadata` methods. This example also includes the
-code from link:#gioph[Example 1-6] for deploying an application from an
-archive file.
-
-[source,oac_no_warn]
-----
-...
-import java.io.File;
-...
-import org.glassfish.embeddable.*;
-...
-    GlassFishProperties glassfishProperties = new GlassFishProperties();
-    glassfishProperties.setPort("http-listener", 9090);
-    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
-    glassfish.start();
-    Deployer deployer = glassfish.getDeployer();
-    ScatteredArchive archive = new ScatteredArchive("testapp", ScatteredArchive.Type.WAR);
-    // target/classes directory contains complied servlets
-    archive.addClassPath(new File("target", "classes"));
-    // resources/sun-web.xml is the WEB-INF/sun-web.xml
-    archive.addMetadata(new File("resources", "sun-web.xml"));
-    // resources/web.xml is the WEB-INF/web.xml
-    archive.addMetadata(new File("resources", "web.xml"));
-    // Deploy the scattered web archive.
-    String appName = deployer.deploy(archive.toURI(), "--contextroot=hello");
-
-    deployer.undeploy(appName);
-    glassfish.stop();
-    glassfish.dispose();
-...
-----
-
-[[gkvgc]][[GSESG00047]][[creating-a-scattered-enterprise-archive]]
-
-Creating a Scattered Enterprise Archive
-+++++++++++++++++++++++++++++++++++++++
-
-Deploying an application from a scattered enterprise archive (EAR)
-enables you to deploy an unpackaged application whose resources,
-deployment descriptor, and classes are in any location. Deploying an
-application from a scattered archive simplifies the testing of an
-application during development, especially if all the items that the
-application requires are not available to be packaged.
-
-In a scattered archive, these items are not required to be organized in
-a specific directory structure. Therefore, you must specify the location
-of the application's resources, deployment descriptor, and classes when
-deploying the application.
-
-To create a scattered enterprise archive, perform these tasks:
-
-1.  Instantiate the
-`org.glassfish.embeddable.archive.ScatteredEnterpriseArchive` class.
-2.  Invoke the `addArchive` and `addMetadata` methods if you require
-them.
-3.  Invoke the `toURI` method to deploy the scattered enterprise
-archive.
-
-The methods of this class for setting the scattered enterprise archive
-configuration are listed in the following table. The default value of
-each configuration setting is also listed.
-
-[[sthref7]][[gkvgb]]
-
-Table 1-4 Constructors and Methods of the `ScatteredEnterpriseArchive`
-Class
-
-[width="99%",cols="<42%,<48%,<10%",options="header",]
-|=====================================================
-|Purpose |Method |Default Value
-|Creates and names a scattered enterprise archive a|
-[source,oac_no_warn]
-----
-ScatteredEnterpriseArchive(String name)
-----
-
- |None
-|Adds a module or library a|
-[source,oac_no_warn]
-----
-addArchive(File archive)
-----
-
- |None
-|Adds a module or library a|
-[source,oac_no_warn]
-----
-addArchive(File archive,
-String name)
-----
-
- |None
-|Adds a module or library a|
-[source,oac_no_warn]
-----
-addArchive(URI URI)
-----
-
- |None
-|Adds a module or library a|
-[source,oac_no_warn]
-----
-addArchive(URI URI,
-String name)
-----
-
- |None
-|Adds a metadata locator a|
-[source,oac_no_warn]
-----
-addMetaData(File path)
-----
-
- |None
-|Adds and names a metadata locator a|
-[source,oac_no_warn]
-----
-addMetaData(File path,
-String name)
-----
-
- |None
-|Gets the deployable URI for this scattered archive a|
-[source,oac_no_warn]
-----
-toURI()
-----
-
- |None
-|=====================================================
-
-
-[[GSESG00013]][[gkvga]]
-
-
-Example 1-9 Deploying an Application From a Scattered Enterprise Archive
-
-This example shows code for creating an EAR file and using the
-`addArchive` and `addMetadata` methods. This example also includes code
-similar tolink:#gjrfq[Example 1-8] for creating a scattered archive.
-
-[source,oac_no_warn]
-----
-...
-import java.io.File;
-...
-import org.glassfish.embeddable.*;
-...
-    GlassFishProperties glassfishProperties = new GlassFishProperties();
-    glassfishProperties.setPort("http-listener", 9090);
-    GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassfishProperties);
-    glassfish.start();
-    Deployer deployer = glassfish.getDeployer();
-
-    // Create a scattered web application.
-    ScatteredArchive webmodule = new ScatteredArchive("testweb", ScatteredArchive.Type.WAR);
-    // target/classes directory contains my complied servlets
-    webmodule.addClassPath(new File("target", "classes"));
-    // resources/sun-web.xml is my WEB-INF/sun-web.xml
-    webmodule.addMetadata(new File("resources", "sun-web.xml"));
-
-    // Create a scattered enterprise archive.
-    ScatteredEnterpriseArchive archive = new ScatteredEnterpriseArchive("testapp");
-    // src/application.xml is my META-INF/application.xml
-    archive.addMetadata(new File("src", "application.xml"));
-    // Add scattered web module to the scattered enterprise archive.
-    // src/application.xml references Web module as "scattered.war".
-    //Hence specify the name while adding the archive.
-    archive.addArchive(webmodule.toURI(), "scattered.war");
-    // lib/mylibrary.jar is a library JAR file.
-    archive.addArchive(new File("lib", "mylibrary.jar"));
-    // target/ejbclasses contain my compiled EJB module.
-    // src/application.xml references EJB module as "ejb.jar".
-    //Hence specify the name while adding the archive.
-    archive.addArchive(new File("target", "ejbclasses"), "ejb.jar");
-
-    // Deploy the scattered enterprise archive.
-    String appName = deployer.deploy(archive.toURI());
-
-    deployer.undeploy(appName);
-    glassfish.stop();
-    glassfish.dispose();
-...
-----
-
-[[gjldy]][[GSESG00060]][[running-asadmin-commands-using-the-glassfish-server-embedded-server-api]]
-
-Running `asadmin` Commands Using the GlassFish Server Embedded Server
-API
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Running link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] commands from an application enables
-the application to configure the embedded GlassFish Server to suit the
-application's requirements. For example, an application can run the
-required `asadmin` commands to create a JDBC technology connection to a
-database.
-
-For more information about configuring embedded GlassFish Server, see
-the link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration
-Guide]. For detailed information about `asadmin` commands, see Section 1
-of the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference
-Manual].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Ensure that your application has started an embedded GlassFish Server
-before the application attempts to run `asadmin` commands. For more
-information, see link:#gihyz[Running an Embedded GlassFish Server].
-
-|=======================================================================
-
-
-The `org.glassfish.embeddable` package contains classes that you can use
-to run `asadmin` commands. Use the following code examples as templates
-and change the command name, parameter names, and parameter values as
-needed.
-
-[[GSESG00014]][[gjldj]]
-
-
-Example 1-10 Running an `asadmin create-jdbc-resource` Command
-
-This example shows code for running an `asadmin create-jdbc-resource`
-command. Code for creating and starting the server is not shown in this
-example. For an example of code for creating and starting the server,
-see link:#gilry[Example 1-4].
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.embeddable.*;
-...
-    String command = "create-jdbc-resource";
-    String poolid = "--connectionpoolid=DerbyPool";
-    String dbname = "jdbc/DerbyPool";
-    CommandRunner commandRunner = glassfish.getCommandRunner();
-    CommandResult commandResult = commandRunner.run(command, poolid, dbname);
-...
-----
-
-[[GSESG00015]][[gjlfm]]
-
-
-Example 1-11 Running an `asadmin set-log-level` Command
-
-This example shows code for running an `asadmin set-log-level` command.
-Code for creating and starting the server is not shown in this example.
-For an example of code for creating and starting the server, see
-link:#gilry[Example 1-4].
-
-[source,oac_no_warn]
-----
-...
-import org.glassfish.embeddable.*;
-...
-    String command = "set-log-level";
-    String weblevel = "jakarta.enterprise.system.container.web=FINE";
-    CommandRunner commandRunner = glassfish.getCommandRunner();
-    CommandResult commandResult = commandRunner.run(command, weblevel);
-...
-----
-
-For another way to change log levels, see link:#gjlfe[Changing Log
-Levels in Embedded GlassFish Server].
-
-[[gikrt]][[GSESG00061]][[sample-applications]]
-
-Sample Applications
-^^^^^^^^^^^^^^^^^^^
-
-[[GSESG00016]][[gionq]]
-
-
-Example 1-12 Using an Existing `domain.xml` File and Deploying an
-Application From an Archive File
-
-This example shows code for the following:
-
-* Using the existing file
-`c:\myapp\embeddedserver\domains\domain1\config\domain.xml` and
-preserving this file when the application is stopped.
-* Deploying an application from the archive file
-`c:\samples\simple.war`.
-
-[source,oac_no_warn]
-----
-import java.io.File;
-import java.io.BufferedReader;
-import org.glassfish.embeddable.*;
-
-public class Main {
-
-     /**
-     * @param args the command line arguments
-     */
-
-    public static void main(String[] args) {
-        File configFile = new File ("c:\\myapp\\embeddedserver\\domains\\domain1\\config\\domain.xml");
-        File war = new File("c:\\samples\\simple.war");
-        try {
-            GlassFishRuntime glassfishRuntime = GlassFishRuntime.bootstrap();
-            ...
-            GlassFishProperties glassfishProperties = new GlassFishProperties();
-            glassfishProperties.setConfigFileURI(configFile.toURI());
-            glassfishProperties.setConfigFileReadOnly(false);
-            ...
-            GlassFish glassfish = glassfishRuntime.newGlassFish(glassfishProperties);
-            glassfish.start();
-
-            Deployer deployer = glassfish.getDeployer();
-            deployer.deploy(war, "--force=true");
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        System.out.println("Press Enter to stop server");
-        // wait for Enter
-        new BufferedReader(new java.io.InputStreamReader(System.in)).readLine();
-        try {
-            glassfish.dispose();
-            glassfishRuntime.shutdown();
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}
-----
-
-[[gijhs]][[GSESG00038]][[testing-applications-with-the-maven-plug-in-for-embedded-glassfish-server]]
-
-Testing Applications with the Maven Plug-in for Embedded GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you are using http://maven.apache.org/[Apache Maven]
-(`http://maven.apache.org/`), the plug-in for embedded GlassFish Server
-simplifies the testing of applications. This plug-in enables you to
-build and start an unpackaged application with a single Maven goal.
-
-The following topics are addressed here:
-
-* link:#gihus[To Set Up Your Maven Environment]
-* link:#giivt[To Build and Start an Application From Maven]
-* link:#gijly[To Stop Embedded GlassFish Server]
-* link:#gijjn[To Redeploy an Application That Was Built and Started From
-Maven]
-* link:#gjkps[Maven Goals for Embedded GlassFish Server]
-
-Predefined Maven goals for embedded GlassFish Server are described in
-link:#gjkps[Maven Goals for Embedded GlassFish Server].
-
-To use Maven with Embedded GlassFish Server and the EJB 3.1 Embeddable
-API, see link:#gjxff[Using Maven with the EJB 3.1 Embeddable API and
-Embedded GlassFish Server].
-
-[[gihus]][[GSESG00022]][[to-set-up-your-maven-environment]]
-
-To Set Up Your Maven Environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Setting up your Maven environment enables Maven to download the required
-embedded GlassFish Server distribution file when you build your project.
-Setting up your Maven environment also identifies the plug-in that
-enables you to build and start an unpackaged application with a single
-Maven goal.
-
-[[sthref8]]
-
-Before You Begin
-
-Ensure that http://maven.apache.org/[Apache Maven]
-(`http://maven.apache.org/`) is installed.
-
-1.  Identify the Maven plug-in for embedded GlassFish Server. +
-Add the following `plugin` element to your POM file: +
-[source,oac_no_warn]
-----
-...
-        ...
-        <plugins>
-            ...
-            <plugin>
-                <groupId>org.glassfish</groupId>
-                <artifactId>maven-embedded-glassfish-plugin</artifactId>
-                <version>version</version>
-            </plugin>
-            ...
-        </plugins>
-...
-----
-version::
-  The version to use. The version of the final promoted build for this
-  release is `3.1`. The Maven plug-in is not bound to a specific version
-  of GlassFish Server. You can specify the version you want to use. If
-  no version is specified, a default version, 3.1 for this release, is
-  used.
-2.  Configure the `embedded-glassfish` goal prefix, the application
-name, and other standard settings. +
-Add the following `configuration` element to your POM file: +
-[source,oac_no_warn]
-----
-...
-        <plugins>
-            ...
-            <plugin>
-                ...
-                <configuration>
-                    <goalPrefix>embedded-glassfish</goalPrefix>
-                    ...
-                    <app>target/test.war</app>
-                    <port>8080</port>
-                    <contextRoot>test</contextRoot>
-                    <autoDelete>true</autoDelete>
-                    ...
-                </configuration>
-                ...
-            </plugin>
-            ...
-        </plugins>
-...
-----
-In the app parameter, substitute the archive file or directory for your
-application. The optional port, contextRoot, and autoDelete parameters
-show example values. For details, see link:#gjkps[Maven Goals for
-Embedded GlassFish Server].
-3.  Perform advanced plug-in configuration. This step is optional. +
-Add the following `configuration` element to your POM file: +
-[source,oac_no_warn]
-----
-...
-        <plugins>
-            ...
-            <plugin>
-                ...
-                <configuration>
-                    <goalPrefix>embedded-glassfish</goalPrefix>
-                    <app>target/test.war</app>
-                    <name>test</name>
-                    <contextRoot>test</contextRoot>
-                    <ports>
-                        <http-listener>8080</http-listener>
-                        <https-listener>8181</https-listener>
-                    </ports>
-                    <bootstrapProperties>
-                        <property>test_key=test_value</property>
-                    </bootstrapProperties>
-                    <bootstrapPropertiesFile>bootstrap.properties</bootstrapPropertiesFile>
-                    <glassfishProperties>
-<property>embedded-glassfish-config.server.jms-service.jms-host.default_JMS_host.port=17676</property>
-                    </glassfishProperties>
-                    <glassfishPropertiesFile>glassfish.properties</glassfishPropertiesFile>
-                    <systemProperties>
-                        <property>ANTLR_USE_DIRECT_CLASS_LOADING=true</property>
-                    </systemProperties>
-                    <systemPropertiesFile>system.properties</systemPropertiesFile>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>start</goal>
-                            <goal>deploy</goal>
-                            <goal>undeploy</goal>
-                            <goal>stop</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            ...
-        </plugins>
-...
-----
-4.  Configure Maven goals. +
-Add `execution` elements to your POM file: +
-[source,oac_no_warn]
-----
-...
-        <plugins>
-            ...
-            <plugin>
-                ...
-                <executions>
-                    <execution>
-                        <phase>install</phase>
-                        <goals>
-                                <goal>goal</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                ...
-            </plugin>
-            ...
-        </plugins>
-...
-----
-goal::
-  The goal to use. See link:#gjkps[Maven Goals for Embedded GlassFish
-  Server].
-5.  Configure the repository. +
-Add the following `repository` element to your POM file: +
-[source,oac_no_warn]
-----
-<pluginRepositories>
-    <pluginRepository>
-        <id>maven2-repository.dev.java.net</id>
-        <name>Java.net Repository for Maven</name>
-        <url>http://download.java.net/maven/glassfish/</url>
-    </pluginRepository>
-</pluginRepositories>
-----
-
-[[GSESG00017]][[gjkod]]
-
-
-Example 1-13 POM File for Configuring Maven to Use Embedded GlassFish
-Server
-
-This example shows a POM file for configuring Maven to use embedded
-GlassFish Server.
-
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Line breaks in the following element are for readability purposes only
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.glassfish</groupId>
-  <artifactId>maven-glassfish-plugin-tester</artifactId>
-  <version>3.1</version>
-  <name>Maven test</name>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.glassfish</groupId>
-        <artifactId>maven-embedded-glassfish-plugin</artifactId>
-        <version>3.1</version>
-        <configuration>
-          <goalPrefix>embedded-glassfish</goalPrefix>
-          <app>target/test.war</app>
-          <port>8080</port>
-          <contextRoot>test</contextRoot>
-          <autoDelete>true</autoDelete>
-       </configuration>
-       <executions>
-          <execution>
-             <phase>install</phase>
-             <goals>
-                   <goal>run</goal>
-             </goals>
-          </execution>
-       </executions>
-     </plugin>
-    </plugins>
-  </build>
-  <pluginRepositories>
-      <pluginRepository>
-          <id>maven2-repository.dev.java.net</id>
-          <name>Java.net Repository for Maven</name>
-          <url>http://download.java.net/maven/glassfish/</url>
-      </pluginRepository>
-  </pluginRepositories>
-</project>
-----
-
-[[giivt]][[GSESG00023]][[to-build-and-start-an-application-from-maven]]
-
-To Build and Start an Application From Maven
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you are using Maven to manage the development of your application,
-you can use a Maven goal to build and start the application in embedded
-GlassFish Server.
-
-[[sthref9]]
-
-Before You Begin
-
-Ensure that your Maven environment is configured, as described in
-link:#gihus[To Set Up Your Maven Environment].
-
-1.  Include the path to the Maven executable file `mvn` in your path
-statement.
-2.  Ensure that the `JAVA_HOME` environment variable is defined.
-3.  Create a directory for the Maven project for your application.
-4.  Copy to your project directory the POM file that you created in
-link:#gihus[To Set Up Your Maven Environment].
-5.  Run the following command in your project directory: +
-[source,oac_no_warn]
-----
-mvn install
-----
-This command performs the following actions:
-* Installs the Maven repository in a directory named `.m2` under your
-home directory.
-* Starts Embedded GlassFish Server.
-* Deploys your application. +
-The application continues to run in Embedded GlassFish Server until
-Embedded GlassFish Server is stopped.
-
-[[gijly]][[GSESG00024]][[to-stop-embedded-glassfish-server]]
-
-To Stop Embedded GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Change to the root directory of the Maven project for your
-application.
-2.  Run the Maven goal to stop the application in embedded GlassFish
-Server. +
-[source,oac_no_warn]
-----
-mvn embedded-glassfish:stop
-----
-This runs the `stop` method of the `GlassFish` object and any other
-methods that are required to shut down the server in an orderly fashion.
-See link:#gihzy[Stopping an Embedded GlassFish Server From an
-Application].
-
-[[gijjn]][[GSESG00025]][[to-redeploy-an-application-that-was-built-and-started-from-maven]]
-
-To Redeploy an Application That Was Built and Started From Maven
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An application that was built and started from Maven continues to run in
-Embedded GlassFish Server until Embedded GlassFish Server is stopped.
-While the application is running, you can test changes to the
-application by redeploying it.
-
-To redeploy, in the window from where the application was built and
-started from Maven, press Enter.
-
-[[gjkps]][[GSESG00062]][[maven-goals-for-embedded-glassfish-server]]
-
-Maven Goals for Embedded GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can use the following Maven goals to test your applications with
-embedded GlassFish Server:
-
-* link:#gjkxo[`embedded-glassfish:run` Goal]
-* link:#gjkwy[`embedded-glassfish:start` Goal]
-* link:#gjkvc[`embedded-glassfish:deploy` Goal]
-* link:#gjkvg[`embedded-glassfish:undeploy` Goal]
-* link:#gjkyl[`embedded-glassfish:stop` Goal]
-* link:#gjkxq[`embedded-glassfish:admin` Goal]
-
-[[gjkxo]][[GSESG00048]][[embedded-glassfishrun-goal]]
-
-`embedded-glassfish:run` Goal
-+++++++++++++++++++++++++++++
-
-This goal starts the server and deploys an application. You can redeploy
-if you change the application. The application can be a packaged archive
-or a directory that contains an exploded application. You can set the
-parameters described in the following table.
-
-[[sthref10]][[gjkws]]
-
-Table 1-5 `embedded-glassfish:run` Parameters
-
-[width="100%",cols="<18%,<42%,<40%",options="header",]
-|=======================================================================
-|Parameter |Default |Description
-|app |None |The archive file or directory for the application to be
-deployed.
-
-|serverID |`maven` |(optional) The ID of the server to start.
-
-|containerType |`all` |(optional) The container to start: `web`, `ejb`,
-`jpa`, or `all`.
-
-|installRoot |None |(optional) The link:#gikqf[Installation Root
-Directory].
-
-|instanceRoot a|
-In order of precedence:
-
-* `glassfish.embedded.tmpdir` property value specified in
-`GlassFishProperties` object
-* `glassfish.embedded.tmpdir` system property value
-* `java.io.tmp` system property value
-* as-install`/domains/domain1` if a nonembedded installation is
-referenced
-
- |(optional) The link:#gikvf[Instance Root Directory]
-
-|configFile |domain-dir`/config/domain.xml` |(optional) The
-configuration file.
-
-|port |None. Must be set explicitly or defined in the configuration
-file. |The HTTP or HTTPS port.
-
-|name a|
-In order of precedence:
-
-* The `application-name` or `module-name` in the deployment descriptor.
-* The name of the archive file without the extension or the directory
-name.
-
-For more information, see "link:../application-deployment-guide/overview.html#GSDPG00323[Naming Standards]" in
-Eclipse GlassFish Server Application Deployment Guide.
-
- |(optional) The name of the application.
-
-|contextRoot |The name of the application. |(optional) The context root
-of the application.
-
-|precompileJsp |`false` |(optional) If `true`, JSP pages are precompiled
-during deployment.
-
-|dbVendorName |None |(optional) The name of the database vendor for
-which tables can be created. Allowed values are `javadb`, `db2`,
-`mssql`, `mysql`, `oracle`, `postgresql`, `pointbase`, `derby` (also for
-CloudScape), and `sybase`, case-insensitive.
-
-|createTables |Value of the `create-tables-at-deploy` attribute in
-`sun-ejb-jar.xml`. |(optional) If `true`, creates database tables during
-deployment for beans that are automatically mapped by the EJB container.
-
-|dropTables |Value of the `drop-tables-at-undeploy` attribute in
-`sun-ejb-jar.xml`. a|
-(optional) If `true`, and deployment and undeployment occur in the same
-JVM session, database tables that were automatically created when the
-bean(s) were deployed are dropped when the bean(s) are undeployed.
-
-If `true`, the name parameter must be specified or tables may not be
-dropped.
-
-|autoDelete |`false` a|
-(optional) If `true`, deletes the contents of the link:#gikvf[Instance
-Root Directory] when the server is stopped.
-
-Caution: Do not set `autoDelete` to `true` if you are using
-`installRoot` to refer to a preexisting GlassFish Server installation.
-
-|=======================================================================
-
-
-[[gjkwy]][[GSESG00049]][[embedded-glassfishstart-goal]]
-
-`embedded-glassfish:start` Goal
-+++++++++++++++++++++++++++++++
-
-This goal starts the server. You can set the parameters described in the
-following table.
-
-[[sthref11]][[gjkye]]
-
-Table 1-6 `embedded-glassfish:start` Parameters
-
-[width="100%",cols="<17%,<38%,<45%",options="header",]
-|=======================================================================
-|Parameter |Default |Description
-|serverID |`maven` |(optional) The ID of the server to start.
-
-|containerType |`all` |(optional) The container to start: `web`, `ejb`,
-`jpa`, or `all`.
-
-|installRoot |None |(optional) The link:#gikqf[Installation Root
-Directory].
-
-|instanceRoot a|
-In order of precedence:
-
-* `glassfish.embedded.tmpdir` system property value
-* `java.io.tmpdir` system property value
-* as-install`/domains/domain1`
-
- |(optional) The link:#gikvf[Instance Root Directory]
-
-|configFile |domain-dir`/config/domain.xml` |(optional) The
-configuration file.
-
-|port |None. Must be set explicitly or defined in the configuration
-file. |The HTTP or HTTPS port.
-
-|autoDelete |`false` a|
-(optional) If `true`, deletes the contents of the link:#gikvf[Instance
-Root Directory] when the server is stopped.
-
-Caution: Do not set `autoDelete` to `true` if you are using
-`installRoot` to refer to a preexisting GlassFish Server installation.
-
-|=======================================================================
-
-
-[[gjkvc]][[GSESG00050]][[embedded-glassfishdeploy-goal]]
-
-`embedded-glassfish:deploy` Goal
-++++++++++++++++++++++++++++++++
-
-This goal deploys an application. You can redeploy if you change the
-application. The application can be a packaged archive or a directory
-that contains an exploded application. You can set the parameters
-described in the following table.
-
-[[sthref12]][[gjkvv]]
-
-Table 1-7 `embedded-glassfish:deploy` Parameters
-
-[width="100%",cols="<18%,<39%,<43%",options="header",]
-|=======================================================================
-|Parameter |Default |Description
-|app |None |The archive file or directory for the application to be
-deployed.
-
-|serverID |`maven` |(optional) The ID of the server to start.
-
-|name a|
-In order of precedence:
-
-* The `application-name` or `module-name` in the deployment descriptor.
-* The name of the archive file without the extension or the directory
-name.
-
-For more information, see "link:../application-deployment-guide/overview.html#GSDPG00323[Naming Standards]" in
-Eclipse GlassFish Server Application Deployment Guide.
-
- |(optional) The name of the application.
-
-|contextRoot |The name of the application. |(optional) The context root
-of the application.
-
-|precompileJsp |`false` |(optional) If `true`, JSP pages are precompiled
-during deployment.
-
-|dbVendorName |None |(optional) The name of the database vendor for
-which tables can be created. Allowed values are `javadb`, `db2`,
-`mssql`, `oracle`, `postgresql`, `pointbase`, `derby` (also for
-CloudScape), and `sybase`, case-insensitive.
-
-|createTables |Value of the `create-tables-at-deploy` attribute in
-`sun-ejb-jar.xml`. |(optional) If `true`, creates database tables during
-deployment for beans that are automatically mapped by the EJB container.
-|=======================================================================
-
-
-[[gjkvg]][[GSESG00051]][[embedded-glassfishundeploy-goal]]
-
-`embedded-glassfish:undeploy` Goal
-++++++++++++++++++++++++++++++++++
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you reference a nonembedded GlassFish Server installation using the
-`glassfish-embedded-static-shell.jar` file and do not undeploy your
-applications in the same server life cycle in which you deployed them,
-expanded archives for these applications remain under the
-domain-dir`/applications` directory.
-
-|=======================================================================
-
-
-This goal undeploys an application. You can set the parameters described
-in the following table.
-
-[[sthref13]][[gjkxf]]
-
-Table 1-8 `embedded-glassfish:undeploy` Parameters
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Parameter |Default |Description
-|name |If the name is omitted, all applications are undeployed. |The
-name of the application.
-
-|serverID |`maven` |(optional) The ID of the server to start.
-
-|dropTables |Value of the `drop-tables-at-undeploy` attribute in
-`sun-ejb-jar.xml`. a|
-(optional) If `true`, and deployment and undeployment occur in the same
-JVM session, database tables that were automatically created when the
-bean(s) were deployed are dropped when the bean(s) are undeployed.
-
-If `true`, the name parameter must be specified or tables may not be
-dropped.
-
-|cascade |`false` a|
-(optional) If `true`, deletes all connection pools and connector
-resources associated with the resource adapter being undeployed.
-
-If `false`, undeployment fails if any pools or resources are still
-associated with the resource adapter.
-
-This attribute is applicable to connectors (resource adapters) and
-applications with connector modules.
-
-|=======================================================================
-
-
-[[gjkyl]][[GSESG00052]][[embedded-glassfishstop-goal]]
-
-`embedded-glassfish:stop` Goal
-++++++++++++++++++++++++++++++
-
-This goal stops the server. You can set the parameters described in the
-following table.
-
-[[sthref14]][[gjkwm]]
-
-Table 1-9 `embedded-glassfish:stop` Parameters
-
-[width="100%",cols="<16%,<17%,<67%",options="header",]
-|===========================================================
-|Parameter |Default |Description
-|serverID |`maven` |(optional) The ID of the server to stop.
-|===========================================================
-
-
-[[gjkxq]][[GSESG00053]][[embedded-glassfishadmin-goal]]
-
-`embedded-glassfish:admin` Goal
-+++++++++++++++++++++++++++++++
-
-This goal runs a GlassFish Server administration command. You must use
-either the command and commandParameters parameters in combination or
-the commandLine parameter. For more information about administration
-commands, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition
-Reference Manual]. You can set the parameters described in the following
-table.
-
-[[sthref15]][[gjkwe]]
-
-Table 1-10 `embedded-glassfish:start` Parameters
-
-[width="100%",cols="<24%,<10%,<66%",options="header",]
-|=======================================================================
-|Parameter |Default |Description
-|serverID |`maven` |(optional) The ID of the server on which to run the
-command.
-
-|command |None |The name of the command, for example
-`createJdbcResource`.
-
-|commandParameters |None |A map of the command parameters. See the
-`org.glassfish.embeddable.admin.CommandParameters` class at
-`http://glassfish.java.net/nonav/docs/v3/api/`.
-
-|commandLine |None |The full `asadmin` syntax of the command.
-|=======================================================================
-
-
-[[gjlde]][[GSESG00039]][[using-the-ejb-3.1-embeddable-api-with-embedded-glassfish-server]]
-
-Using the EJB 3.1 Embeddable API with Embedded GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The EJB 3.1 Embeddable API is designed for unit testing of EJB modules.
-You must use this API with a pre-installed, nonembedded GlassFish Server
-instance. However, you can take advantage of Embedded GlassFish Server's
-ease of use by referencing the nonembedded GlassFish Server instance
-with the `glassfish-embedded-static-shell.jar` file.
-
-Embedded GlassFish Server is not related to the EJB 3.1 Embeddable API,
-but you can use these APIs together.
-
-The Maven plug-in does not apply to embeddable EJB applications.
-However, you can use Maven with the POM file shown in link:#gjxff[Using
-Maven with the EJB 3.1 Embeddable API and Embedded GlassFish Server].
-
-The EJB 3.1 Embeddable API is described in
-http://jcp.org/en/jsr/detail?id=318[Java Specification Request (JSR)
-318] (`http://jcp.org/en/jsr/detail?id=318`). An `ejb-embedded` sample
-is included in the samples available at
-http://www.oracle.com/technetwork/java/javaee/downloads/index.html[Java
-EE 7 Downloads]
-(`http://www.oracle.com/technetwork/java/javaee/downloads/index.html`)
-or
-http://www.oracle.com/technetwork/java/javaee/documentation/index.html[Code
-Samples]
-(`http://www.oracle.com/technetwork/java/javaee/documentation/index.html`).
-
-The EJB 3.1 Embeddable API supports all EJB 3.1 Lite features with
-addition of the EJB timer service and testing of EJB modules packaged in
-a WAR file.
-
-For EJB modules in a WAR file (or an exploded directory), if a web
-application has one EJB module, and there are no other EJB modules in
-the classpath, those entries (libraries) are ignored. If there are other
-EJB modules, a temporary EAR file is created. For EJB modules in a WAR
-file to be tested, the client code must use EJB modules with interfaces
-or without annotations. Those EJB modules are not part of the classpath
-and can't be loaded by the client class loader.
-
-The following topics are addressed here:
-
-* link:#gjlcr[To Use the EJB 3.1 Embeddable API with Embedded GlassFish
-Server]
-* link:#gksnv[EJB 3.1 Embeddable API Properties]
-* link:#gjxff[Using Maven with the EJB 3.1 Embeddable API and Embedded
-GlassFish Server]
-
-[[gjlcr]][[GSESG00026]][[to-use-the-ejb-3.1-embeddable-api-with-embedded-glassfish-server]]
-
-To Use the EJB 3.1 Embeddable API with Embedded GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  To specify GlassFish Server as the Container Provider, include
-`glassfish-embedded-static-shell.jar` or `glassfish-embedded-all.jar` in
-the class path of your embeddable EJB application. +
-Reference the `glassfish-embedded-static-shell.jar` file from the
-as-install`/lib/embedded` directory of a GlassFish Server installation.
-Do not move this file or it will not work. +
-See link:#giide[Setting the Class Path] and Section 22.3.3 of the EJB
-3.1 Specification, Embeddable Container Bootstrapping.
-2.  Configure any required resources. +
-For more information about configuring resources, see the Administration
-Console Online Help or "link:../administration-guide/toc.html#GSADG00298[Resources and Services
-Administration]" in Eclipse GlassFish Server Administration
-Guide. The `jdbc/__default` Java DB database is preconfigured with all
-distributions of GlassFish Server. However, if you are using
-`glassfish-embedded-static-shell.jar`, you must start the database
-manually. +
-If your embeddable EJB application uses Java Persistence, you do not
-need to specify a JDBC resource. See link:#gksmw[Default Java
-Persistence Data Source for Embedded GlassFish Server].
-3.  Invoke one of the `createEJBContainer` methods. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Do not deploy your embeddable EJB application or any of its dependent
-Java EE modules before invoking one of the `createEJBContainer` methods.
-These methods perform deployment in the background and do not load
-previously deployed applications or modules.
-
-|=======================================================================
-
-4.  To change the link:#gikvf[Instance Root Directory], set the
-`org.glassfish.ejb.embedded.glassfish.instance.root` system property
-value by using the `createEJBContainer``(Map<?, ?> properties)` method. +
-The default link:#gikvf[Instance Root Directory] location is
-as-install`/domains/domain1` if a nonembedded installation is
-referenced. This system property applies only to embeddable EJB
-applications used with nonembedded GlassFish Server.
-5.  Close the EJB container properly to release all acquired resources
-and threads.
-
-[[gksnv]][[GSESG00063]][[ejb-3.1-embeddable-api-properties]]
-
-EJB 3.1 Embeddable API Properties
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Properties that can be passed to the
-`EJBContainer#createEJBContainer(Properties)` method are summarized in
-the following table. All properties are in the
-`org.glassfish.ejb.embedded.glassfish` package. For example, the full
-name of the `installation.root` property is
-`org.glassfish.ejb.embedded.glassfish.installation.root`.
-
-[[sthref16]][[gksop]]
-
-Table 1-11 EJB 3.1 Embeddable API Properties
-
-[width="100%",cols="<30%,<39%,<31%",options="header",]
-|=======================================================================
-|Property |Default |Description
-|`installation.root` |GlassFish Server installation location from which
-`glassfish-embedded-static-shell.jar` is referenced |The
-link:#gikqf[Installation Root Directory].
-
-|`instance.root` a|
-In order of precedence:
-
-* `glassfish.embedded.tmpdir` property value specified in
-`GlassFishProperties` object
-* `glassfish.embedded.tmpdir` system property value
-* `java.io.tmp` system property value
-* as-install`/domains/domain1` if a nonembedded installation is
-referenced
-
- |The link:#gikvf[Instance Root Directory].
-
-|`configuration.file` |domain-dir`/config/domain.xml` |The configuration
-file.
-
-|`keep-temporary-files` |`false` |If `true`, keeps temporary files
-(exploded EAR file and configuration file) created by the embedded EJB
-container when Embedded GlassFish Server is stopped.
-
-|`web.http.port` |None |Enables the web container if set. Needed for
-testing web services in a WAR file. The value is ignored and can be an
-empty string.
-
-|`instance.reuse` |`false` |If `true`, no changes are made to the
-existing configuration file, and a temporary server instance is not
-created for the embedded run. Instead, execution happens against the
-existing server instance. Do not use this option if the reused server
-instance could be in use by the running nonembedded GlassFish Server.
-
-|`skip-client-modules` |`false` |If `true`, omits modules from the
-classpath if they are not specified using `EJBContainer.MODULES` and
-have a manifest file with a `Main-Class` attribute.
-|=======================================================================
-
-
-[[gjxff]][[GSESG00064]][[using-maven-with-the-ejb-3.1-embeddable-api-and-embedded-glassfish-server]]
-
-Using Maven with the EJB 3.1 Embeddable API and Embedded GlassFish
-Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When using Maven with the EJB 3.1 Embeddable API and Embedded GlassFish
-Server, you cannot use the features of the Maven plug-in. You must start
-and stop Embedded GlassFish Server manually or programmatically outside
-of Maven.
-
-[[GSESG00018]][[gjxds]]
-
-
-Example 1-14 Maven POM File for Using the EJB 3.1 Embeddable API with
-Embedded GlassFish Server
-
-This example shows a POM file for configuring Maven to use the EJB 3.1
-Embeddable API with Embedded GlassFish Server.
-
-[source,oac_no_warn]
-----
-<!--
-Line breaks in the following element are for readability purposes only
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.glassfish</groupId>
-    <artifactId>my-ejb-app-tester</artifactId>
-    <version>3.1</version>
-    <name>Maven test</name>
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.extras</groupId>
-            <artifactId>glassfish-embedded-static-shell</artifactId>
-            <version>${project.version}</version>
-            <scope>system</scope>
-            <systemPath>
-                ${env.S1AS_HOME}/lib/embedded/glassfish-embedded-static-shell.jar
-            </systemPath>
-        </dependency>
-<!--
-        The javaee-api is stripped of any code and is just used to compile your
-        application. The scope provided in Maven means that it is used for compiling,
-        but is also available when testing. For this reason, the javaee-api needs to
-        be below the embedded Glassfish dependency. The javaee-api can actually be
-        omitted when the embedded Glassfish dependency is included, but to keep your
-        project Java-EE 6 rather than GlassFish 3, specification is important.
--->
-        <dependency>
-            <groupId>javax</groupId>
-            <artifactId>javaee-api</artifactId>
-            <version>6.0</version>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-    <pluginRepositories>
-        <pluginRepository>
-            <id>maven2-repository.dev.java.net</id>
-            <name>Java.net Repository for Maven</name>
-            <url>http://download.java.net/maven/glassfish/</url>
-        </pluginRepository>
-    </pluginRepositories>
-</project>
-----
-
-If you are using `glassfish-embedded-static-shell.jar`, you can omit the
-`dependency` element with the `javaee-api` `artifactId` and the
-`pluginRepositories` element.
-
-Set the `S1AS_HOME` environment variable to the installation root
-directory before running the `mvn clean verify` command.
-
-[[gjlfe]][[GSESG00040]][[changing-log-levels-in-embedded-glassfish-server]]
-
-Changing Log Levels in Embedded GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To change log levels in Embedded GlassFish Server, you can follow the
-steps in this section or you can use the Embedded Server API as shown in
-link:#gjlfm[Example 1-11]. For more information about GlassFish Server
-logging, see "link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in
-Eclipse GlassFish Server Administration Guide.
-
-You can change log levels in Embedded GlassFish Server in either of the
-following ways:
-
-* Using the GlassFish Server Embedded Server API
-* Creating a custom logging configuration file
-
-Both these ways use logger names. For a list of logger names, use the
-link:../reference-manual/list-log-levels.html#GSRFM00183[`list-log-levels`] subcommand.
-
-[[GSESG00019]][[gkrhh]]
-
-
-Example 1-15 Using the GlassFish Server Embedded Server API
-
-This example shows how to set log levels using the `getLogger` method in
-the API.
-
-[source,oac_no_warn]
-----
-import org.glassfish.embeddable.*;
-
-// Create Embedded GlassFish
-GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish();
-
-// Set the log levels. For example, set 'deployment' and 'server' log levels to FINEST
-Logger.getLogger("").getHandlers()[0].setLevel(Level.FINEST);
-Logger.getLogger("jakarta.enterprise.system.tools.deployment").setLevel(Level.FINEST);
-Logger.getLogger("jakarta.enterprise.system").setLevel(Level.FINEST);
-
-// Start Embedded GlassFish and deploy an application.
-// You will see all the FINEST logs printed on the console.
-glassfish.start();
-glassfish.getDeployer().deploy(new File("sample.war"));
-
-// Dispose Embedded GlassFish
-glassfish.dispose();
-----
-
-[[GSESG00020]][[gkrgw]]
-
-
-Example 1-16 Creating a Custom Logging Configuration File
-
-This example shows the contents of a custom logging configuration file,
-`customlogging.properties`.
-
-[source,oac_no_warn]
-----
-handlers= java.util.logging.ConsoleHandler
-java.util.logging.ConsoleHandler.level = FINEST
-jakarta.enterprise.system.tools.deployment.level = FINEST
-jakarta.enterprise.system.level = FINEST
-----
-
-Pass the name of this custom logging configuration file to the `java`
-command when you invoke Embedded GlassFish Server. For example:
-
-[source,oac_no_warn]
-----
-java -Djava.util.logging.config.file=customlogging.properties MyEmbeddedGlassFish
-----
-
-[[gksmw]][[GSESG00041]][[default-java-persistence-data-source-for-embedded-glassfish-server]]
-
-Default Java Persistence Data Source for Embedded GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `jdbc/__default` Java DB database is preconfigured with Embedded
-GlassFish Server. It is used when an application is deployed in Embedded
-GlassFish Server that uses Java Persistence but doesn't specify a data
-source. Embedded GlassFish Server uses the embedded Java DB database
-created in a temporary domain that is destroyed when Embedded GlassFish
-Server is stopped. You can use a Java DB database configured with
-nonembedded GlassFish Server if you explicitly specify the instance root
-directory or the configuration file.
-
-By default, weaving is enabled when the GlassFish Server Embedded Server
-API is used. To disable weaving, set the
-`org.glassfish.persistence.embedded.weaving.enabled` property to
-`false`.
-
-[[gihxf]][[GSESG00042]][[restrictions-for-embedded-glassfish-server]]
-
-Restrictions for Embedded GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The `glassfish-embedded-web.jar` file for embedded GlassFish Server
-supports only these features of nonembedded GlassFish Server:
-
-* The following web technologies of the Java EE platform:
-
-** Java Servlet API
-
-** JavaServer Pages (JSP) technology
-
-** JavaServer Faces technology
-* JDBC-technology connection pooling
-* Java Persistence API
-* Java Transaction API
-* Java Transaction Service
-
-The `glassfish-embedded-all.jar` and
-`glassfish-embedded-static-shell.jar` files support all features of
-nonembedded GlassFish Server with these exceptions:
-
-* Installers
-* Administration Console
-* Update Tool
-* Apache Felix OSGi framework
-* The Maven plug-in for embedded GlassFish Server does not support
-application clients.
-* Applications that require ports for communication, such as remote EJB
-components, do not work with the EJB 3.1 Embeddable API running with
-embedded GlassFish Server if a nonembedded GlassFish Server is running
-in parallel.
-
-Embedded GlassFish Server requires no installation or configuration. As
-a result, the following files and directories are absent from the file
-system until embedded GlassFish Server is started:
-
-* `default-web.xml` file
-* `domain.xml` file
-* Applications directory
-* Instance root directory
-
-When embedded GlassFish Server is started, the base installation
-directory that GlassFish Server uses depends on the options with which
-GlassFish Server is started. If necessary, embedded GlassFish Server
-creates a base installation directory. Embedded GlassFish Server then
-copies the following directories and their contents from the Java
-archive (JAR) file in which embedded GlassFish Server is distributed:
-
-* `domains`
-* `lib`
-
-If necessary, GlassFish Server also creates an instance root directory.
diff --git a/docs/embedded-server-guide/src/main/jbake/content/loe.adoc b/docs/embedded-server-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index 0006c91..0000000
--- a/docs/embedded-server-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,44 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lot.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:embedded-server-guide.html#gikmz[1-1 Creating an Embedded
-GlassFish Server]
-* link:embedded-server-guide.html#gksjo[1-2 Creating an Embedded
-GlassFish Server with configuration customizations]
-* link:embedded-server-guide.html#gjkxc[1-3 Setting the port of an
-Embedded GlassFish Server]
-* link:embedded-server-guide.html#gilry[1-4 Starting an Embedded
-GlassFish Server]
-* link:embedded-server-guide.html#gilnz[1-5 Stopping an Embedded
-GlassFish Server]
-* link:embedded-server-guide.html#gioph[1-6 Deploying an Application From
-an Archive File]
-* link:embedded-server-guide.html#gilwu[1-7 Undeploying an Application]
-* link:embedded-server-guide.html#gjrfq[1-8 Deploying an Application From
-a Scattered Archive]
-* link:embedded-server-guide.html#gkvga[1-9 Deploying an Application From
-a Scattered Enterprise Archive]
-* link:embedded-server-guide.html#gjldj[1-10 Running an asadmin
-create-jdbc-resource Command]
-* link:embedded-server-guide.html#gjlfm[1-11 Running an asadmin
-set-log-level Command]
-* link:embedded-server-guide.html#gionq[1-12 Using an Existing domain.xml
-File and Deploying an Application From an Archive File]
-* link:embedded-server-guide.html#gjkod[1-13 POM File for Configuring
-Maven to Use Embedded GlassFish Server]
-* link:embedded-server-guide.html#gjxds[1-14 Maven POM File for Using the
-EJB 3.1 Embeddable API with Embedded GlassFish Server]
-* link:embedded-server-guide.html#gkrhh[1-15 Using the GlassFish Server
-Embedded Server API]
-* link:embedded-server-guide.html#gkrgw[1-16 Creating a Custom Logging
-Configuration File]
diff --git a/docs/embedded-server-guide/src/main/jbake/content/lot.adoc b/docs/embedded-server-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index 4c31217..0000000
--- a/docs/embedded-server-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,35 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=loe.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:embedded-server-guide.html#gksir[1-1 Methods of the
-BootstrapProperties Class]
-* link:embedded-server-guide.html#gkskl[1-2 Methods of the
-GlassFishProperties Class]
-* link:embedded-server-guide.html#gjrdg[1-3 Constructors and Methods of
-the ScatteredArchive Class]
-* link:embedded-server-guide.html#gkvgb[1-4 Constructors and Methods of
-the ScatteredEnterpriseArchive Class]
-* link:embedded-server-guide.html#gjkws[1-5 embedded-glassfish:run
-Parameters]
-* link:embedded-server-guide.html#gjkye[1-6 embedded-glassfish:start
-Parameters]
-* link:embedded-server-guide.html#gjkvv[1-7 embedded-glassfish:deploy
-Parameters]
-* link:embedded-server-guide.html#gjkxf[1-8 embedded-glassfish:undeploy
-Parameters]
-* link:embedded-server-guide.html#gjkwm[1-9 embedded-glassfish:stop
-Parameters]
-* link:embedded-server-guide.html#gjkwe[1-10 embedded-glassfish:start
-Parameters]
-* link:embedded-server-guide.html#gksop[1-11 EJB 3.1 Embeddable API
-Properties]
diff --git a/docs/embedded-server-guide/src/main/jbake/content/preface.adoc b/docs/embedded-server-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 3388db6..0000000
--- a/docs/embedded-server-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,362 +0,0 @@
-type=page
-status=published
-title=Preface
-next=embedded-server-guide.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[sthref2]][[preface]]
-
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This document explains how to run applications in embedded GlassFish
-Server Open Source Edition and to develop applications in which
-GlassFish Server is embedded. This document is for software developers
-who are developing applications to run in embedded GlassFish Server. The
-ability to program in the Java language is assumed.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The main thrust of the GlassFish Server Open Source Edition 4.0 release
-is to provide an application server for developers to explore and begin
-exploiting the new and updated technologies in the Java EE 7 platform.
-Thus, the embedded server feature of GlassFish Server was not a focus of
-this release. This feature is included in the release, but it may not
-function properly with some of the new features added in support of the
-Java EE 7 platform.
-
-|=======================================================================
-
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 4.0 is developed through the GlassFish project
-open-source community at `http://glassfish.java.net/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[GSESG00027]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="<30%,<70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSESG00028]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* http://docs.oracle.com/javaee/7/firstcup/doc/home.html[Your First Cup:
-An Introduction to the Java EE Platform]
-(`http://docs.oracle.com/javaee/7/firstcup/doc/home.html`). For beginning
-Java EE programmers, this short tutorial explains the entire process for
-developing a simple enterprise application. The sample application is a
-web application that consists of a component that is based on the
-Enterprise JavaBeans specification, a JAX-RS web service, and a
-JavaServer Faces component for the web front end.
-* http://docs.oracle.com/javaee/7/tutorial/doc/home.html[The Java EE 7
-Tutorial] (`http://docs.oracle.com/javaee/7/tutorial/doc/home.html`).
-This comprehensive tutorial explains how to use Java EE 7 platform
-technologies and APIs to develop Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 7 of Java EE is located at
-`http://docs.oracle.com/javaee/7/api/`.
-* The API specification for GlassFish Server 4.0, including Java EE 7
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`http://glassfish.java.net/nonav/docs/v3/api/`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications]
-(`http://www.oracle.com/technetwork/java/javaee/tech/index.html`) might
-be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Java DB database for use with the GlassFish
-Server, see the
-http://www.oracle.com/technetwork/java/javadb/overview/index.html[Java
-DB product page]
-(`http://www.oracle.com/technetwork/java/javadb/overview/index.html`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the http://glassfish-samples.java.net/[Java EE Samples
-project page] (`http://glassfish-samples.java.net/`).
-
-[[GSESG00029]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="<14%,<37%,<49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSESG00030]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSESG00031]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
-
-
diff --git a/docs/embedded-server-guide/src/main/jbake/content/title.adoc b/docs/embedded-server-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index a6d97d1..0000000
--- a/docs/embedded-server-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,56 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Embedded Server Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Embedded Server Guide, Release 5.1
-===========================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Embedded Server Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This document explains how to run applications in embedded GlassFish
-Server Open Source Edition and to develop applications in which
-GlassFish Server is embedded. This document is for software developers
-who are developing applications to run in embedded GlassFish Server. The
-ability to program in the Java language is assumed.
-
-Note: The main thrust of the Eclipse GlassFish Server 5.1
-release is to provide an application server for developers to explore
-and begin exploiting the new and updated technologies in the Java EE 7
-platform. Thus, the embedded server feature of GlassFish Server was not
-a focus of this release. This feature is included in the release, but it
-may not function properly with some of the new features added in support
-of the Java EE 7 platform.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Embedded Server Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/embedded-server-guide/src/main/jbake/jbake.properties b/docs/embedded-server-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/embedded-server-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/embedded-server-guide/src/main/jbake/templates/footer.ftl b/docs/embedded-server-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/embedded-server-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/embedded-server-guide/src/main/jbake/templates/header.ftl b/docs/embedded-server-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/embedded-server-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/embedded-server-guide/src/main/jbake/templates/menu.ftl b/docs/embedded-server-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/embedded-server-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/embedded-server-guide/src/main/jbake/templates/page.ftl b/docs/embedded-server-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/embedded-server-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/error-messages-reference/README.md b/docs/error-messages-reference/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/error-messages-reference/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/error-messages-reference/pom.xml b/docs/error-messages-reference/pom.xml
index 058420d..2d0a349 100644
--- a/docs/error-messages-reference/pom.xml
+++ b/docs/error-messages-reference/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>error-messages-reference</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Error Message Reference, Release 5.1</name>
+    <name>Eclipse GlassFish Server Error Message Reference, Release 7</name>
 </project>
diff --git a/docs/error-messages-reference/src/main/asciidoc/error-messages.adoc b/docs/error-messages-reference/src/main/asciidoc/error-messages.adoc
new file mode 100644
index 0000000..38535ac
--- /dev/null
+++ b/docs/error-messages-reference/src/main/asciidoc/error-messages.adoc
@@ -0,0 +1,9998 @@
+type=page
+status=published
+title={productName} Error Messages
+prev=preface.html
+~~~~~~
+
+= {productName} Error Messages
+
+[[sthref2]][[glassfish-server-open-source-edition-error-messages]]
+
+== 1 {productName} Error Messages
+
+This chapter provides a compilation of error messages that you might
+encounter when using {productName}.
+
+Error messages provide information about events that occur during
+{productName} operation, such as configuration errors, security
+failures, or server malfunction. These messages often include diagnostic
+and troubleshooting information.
+
+Error messages can also be viewed in the Administration Console Log
+Viewer. For more information about logging, see
+”link:administration-guide/logging.html#GSADG00010[Administering the Logging Service”] in {productName} Administration Guide.
+
+For additional troubleshooting information, see the
+link:troubleshooting-guide.html#GSTSG[{productName} Troubleshooting Guide].
+
+Error messages in this chapter are listed in alphabetic and numeric
+order by message ID. The text is as it appears in the actual error
+message.
+
+[[sthref3]]AS-ACDEPL-00103 Java Web Start services started for the app client \{0} (contextRoot: \{1}) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref4]]AS-ACDEPL-00105 Error starting the adapter to serve static system-level content ::
+  Cause: An unexpected internal system error occurred
++
+  Action: Please consult the exception stack trace
+
+[[sthref5]]AS-ACDEPL-00108 Config file for client JNLP not found: \{0} ::
+  Cause: The config file does not exist.
++
+  Action: The file is part of the installation so this might be an
+  internal error. Make sure you have not accidentally removed or renamed
+  the config file. If not, please file an error with a reproducible test
+  case.
+
+[[sthref6]]AS-ACDEPL-00109 The config file for client JNLP \{0} exists but could not be read. ::
+  Cause: The config file might be protected from reading.
++
+  Action: Make sure the config file protection settings permit the
+  server to read it.
+
+[[sthref7]]AS-ACDEPL-00111 Client JNLP document \{0} refers to the static resource \{1} that does not exist or is not readable. ::
+  Cause: The developer-provided JNLP content refers to a file as if the
+  file is in the application but the server could not find the file.
++
+  Action: Make sure the file is packaged in the application and that the
+  reference to the file is correct. Then rebuild and redeploy the
+  application.
+
+[[sthref8]]AS-ACDEPL-00112 The following extensions or libraries are referenced from the manifest of \{0} but were not found where indicated: \{1}; ignoring and continuing ::
+  Cause: The server could not open the JAR file(s) or process the
+  extension(s) listed in its manifest.
++
+  Action: Make sure the manifest of the JAR file correctly lists the
+  relative paths of library JARs and the extensions on which the JAR
+  depends.
+
+[[sthref9]]AS-ACDEPL-00114 The ApplicationSignedJARManager for a nested app client deployer helper is unexpectedly null. ::
+  Cause: During deployment of nested app clients (those inside EARs),
+  the system should use an ApplicationSignedJARManager but it is null.
++
+  Action: This is a system error. Please report this as a bug.
+
+[[sthref10]]AS-ACDEPL-00115 Tbe custom JNLP document \{0} in a stand-alone app client incorrectly refers to a JAR \{1} ::
+  Cause: The app client includes a custom JNLP document which refers to
+  a JAR. Stand-alone app clients cannot refer to other JARs because they
+  are self-contained deployment units.
++
+  Action: Remove references to JAR from the custom JNLP document or
+  package the app client inside an EAR that also contains the referenced
+  JAR.
+
+[[sthref11]]AS_ACDEPL-00101 Java Web Start services not started for the app client \{0}; its developer has marked it as ineligible ::
+  Cause: The developer's glassfish-application-client.xml file marks the
+  app client as ineligible for Java Web Start support.
++
+  Action: If users should be able to launch this client using Java Web
+  Start, change the <java-web-start-support> 'enabled' attribute.
+
+[[sthref12]]AS_ACDEPL-00104 Java Web Start services stopped for the app client \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref13]]AS_ACDEPL_00102 Java Web Start services not started for the app client \{0}; the administrator has disabled Java Web Start support for it ::
+  Cause: The administrator disabled Java Web Start launches for the app
+  client, either using '--properties java-web-start-enabled=false'
+  during deployment or changing the properties afterwards.
++
+  Action: If users should be able to launch this client using Java Web
+  Start, either deploy the application again without --properties or
+  adjust the configuration using the admin console or the asadmin 'set'
+  command
+
+[[sthref14]]AS-NAMING-00001 Failed to load \{0} using CommonClassLoader ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref15]]AS-NAMING-00002 Exception during name lookup : \{0} ::
+  Cause: App Server may not be running at port intended, or possible
+  Network Error.
++
+  Action: Check to see if the AppServer is up and running on the port
+  intended. The problem could be because of incorrect port. Check to see
+  if you can access the host on which the AppServer running.
+
+[[sthref16]]AS-NAMING-00003 Exception occurred when instantiating LocalSerialContextProviderImpl: \{0} ::
+  Cause: java.rmi.RemoteException
++
+  Action: Check server.log for details
+
+[[sthref17]]AS-NAMING-00004 Error during CosNaming.unbind for name \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref18]]AS-NAMING-00005 Naming binding already exists for \{0} in namespace \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref19]]AS-NAMING-00006 Exception in NamingManagerImpl copyMutableObject(): \{0} ::
+  Cause: Problem with serializing or de serializing of the object
++
+  Action: Check the class hierarchy to see if all the classes are
+  serializable.
+
+[[sthref20]]AS-NAMING-00008 Fall back to INITIAL_CONTEXT_FACTORY \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref21]]AS-CONCURRENT-00001 Task [\{0}] has been running on thread [\{1}] for \{2} seconds, which is more than the configured hung task threshold of \{3} seconds in [\{4}]. ::
+  Cause: A task has been running for longer time than the configured
+  hung task threshold setting.
++
+  Action: Monitor the task to find out why it is running for a long
+  time. If this is normal, consider setting a higher hung task threshold
+  or setting the "Long-Running Tasks" configuration attribute to true.
+
+[[sthref22]]AS-CONCURRENT-00002 Unable to setup or reset runtime context for a task because an invalid context handle is being passed. ::
+  Cause: An invalid context handle is being passed.
++
+  Action: Contact GlassFish support.
+
+[[sthref23]]AS-CONCURRENT-00003 Unable to bind \{0} to JNDI location [\{1}]. ::
+  Cause: An unexpected exception occurred when trying to bind a managed
+  object to JNDI namespace
++
+  Action: Review the exception message to determine the cause of the
+  failure and take appropriate action.
+
+[[sthref24]]AS-CONCURRENT-00004 Unable to deploy \{0}. ::
+  Cause: No configuration information is provided when trying to deploy
+  a managed object.
++
+  Action: Contact GlassFish support.
+
+[[sthref25]]AS-RAR-05001 Failed to get the thread-pool [ \{0} ] for resource adapter [ \{1} ]. ::
+  Cause: Could not find a thread pool according to the pool ID.
++
+  Action: Check the thread-pool-id property in Resource Adapter Config.
+
+[[sthref26]]AS-RAR-05002 Failed to get the default thread-pool for resource adapter [ \{0} ]. ::
+  Cause: Could not find the default thread pool for resource adatper.
++
+  Action: Check the thread-pool-id property in Resource Adapter Config.
+
+[[sthref27]]AS-RAR-05003 An error occurred during instantiation of the Work Manager class [ \{0} ] for resource adapter [ \{1} ]. ::
+  Cause: Can not initiate the Work Manager class.
++
+  Action: Check the Work Manager class type.
+
+[[sthref28]]AS-RAR-05004 The Work named [ \{0} ], progress [ \{1} ]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref29]]AS-RAR-05005 Resource adapter association failed. ::
+  Cause: Resource Adapter throws exception during
+  ManagedConnectionFactory.setResourceAdapter().
++
+  Action: [1] If you are using third party resource adapter, contact
+  resource adapter vendor.[2] If you are a resource adapter developer,
+  please check the resource adapter code.
+
+[[sthref30]]AS-RAR-05006 Unable to load Work Context class \{0}. ::
+  Cause: Work Context class is not available to application server.
++
+  Action: Make sure that the Work Context class is available to server.
+
+[[sthref31]]AS-RAR-05007 Cannot specify both Execution Context [\{0}] as well Transaction Context [\{1}] for Work [\{2}] execution. Only one can be specified. ::
+  Cause: Submitted Work has Transaction Context as well it is a Work
+  Context Provider which is specification violation.
++
+  Action: Make sure that either Execution Context or Work Context
+  Provider with Transaction Context is passed, but not both.
+
+[[sthref32]]AS-RAR-05008 Duplicate Work Context for type [ \{0} ]. ::
+  Cause: Multiple Work Contexts of same type submitted.
++
+  Action: Make sure that same context type is not submitted multiple
+  times in the Work Context.
+
+[[sthref33]]AS-RAR-05009 Application server cannot handle the following Work Context : \{0}. ::
+  Cause: Work Context in question is not supported by application
+  server.
++
+  Action: Check the application server documentation for supported Work
+  Contexts.
+
+[[sthref34]]AS-RAR-05010 Setting custom Work Context class [ \{0} ] using most specific supportted Work Context class [ \{1} ]. ::
+  Cause: Requested Work Context is not supported, but a super type of
+  the context is supported.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref35]]AS-RAR-05011 Unable to set Security Context. ::
+  Cause: Unable to set Security Context.
++
+  Action: Check the server.log for exceptions
+
+[[sthref36]]AS-RAR-05012 Unsupported callback \{0} during credential mapping. ::
+  Cause: Resource adapter has used a callback that is not supported by
+  application server.
++
+  Action: Check whether the callback in question is supported by
+  application server.
+
+[[sthref37]]AS-CORE-JAVAEE-0001 Web Container not installed ::
+  Cause: The web container does not install properly.
++
+  Action: Please check the web container libraries are installed
+  properly.
+
+[[sthref38]]AS-CORE-JAVAEE-0002 Done with starting \{0} container. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref39]]AS-CORE-JAVAEE-0003 Unable to start container (no exception provided) ::
+  Cause: The web container does not start properly.
++
+  Action: Please check the web container libraries are installed
+  properly.
+
+[[sthref40]]AS-CORE-JAVAEE-0004 Unable to start container \{0} ::
+  Cause: The web container does not start properly. Most probably, there
+  is a class loading issue.
++
+  Action: Please resolve issues mentioned in the stack trace.
+
+[[sthref41]]AS-DEPLOYMENT-04017 Error in deleting file \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref42]]AS-DEPLOYMENT-04018 Deployment manager load failure. Unable to find \{0} ::
+  Cause: A deployment manager is not available.
++
+  Action: Correct the reference to the deployment manager.
+
+[[sthref43]]AS-DEPLOYMENT-04019 Deployment manager load failure. Unable to find \{0} ::
+  Cause: A deployment manager is not available.
++
+  Action: Correct the reference to the deployment manager.
+
+[[sthref44]]AS-DEPLOYMENT-00001 Ignore \{0} in archive \{1}, as WLS counterpart runtime xml \{2} is present in the same archive. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref45]]AS-DEPLOYMENT-00002 Exception caught: \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref46]]AS-DEPLOYMENT-00003 \{0} module [\{1}] contains characteristics of other module type: \{2}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref47]]AS-DEPLOYMENT-00004 Exception caught: \{0} for the subarchve indicated by the path: \{1}. ::
+  Cause: An exception was caught when the sub archive was opened because
+  the sub archive was not present.
++
+  Action: Correct the archive so that the sub archive is present.
+
+[[sthref48]]AS-DEPLOYMENT-00005 Exception caught during annotation scanning. ::
+  Cause: An exception was caught that indicates that the annotation is
+  incorrect.
++
+  Action: Correct the annotation.
+
+[[sthref49]]AS-DEPLOYMENT-00006 Adding \{0} since \{1} is annotated with \{2}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref50]]AS-DEPLOYMENT-00007 Adding \{0} since it is implementing \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref51]]AS-DEPLOYMENT-00008 Inconsistent type definition. \{0} is neither an annotation nor an interface. ::
+  Cause: The annotation is incorrect.
++
+  Action: Correct the annotation.
+
+[[sthref52]]AS-DEPLOYMENT-00009 The exception \{0} occurred while examining the jar at file path: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref53]]AS-DEPLOYMENT-00010 No classloader can be found to use ::
+  Cause: The archive being processed is not correct.
++
+  Action: Examine the archive to determine what is incorrect.
+
+[[sthref54]]AS-DEPLOYMENT-00011 Error in annotation processing: \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref55]]AS-DEPLOYMENT-00012 Cannot load \{0} reason : \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref56]]AS-DEPLOYMENT-00013 An exception was caught during library jar processing: \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref57]]AS-DEPLOYMENT-00014 Could not load \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref58]]AS-DEPLOYMENT-00015 Unsupported deployment descriptors element \{0} value \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref59]]AS-DEPLOYMENT-00016 Unknown port-component-name \{0} port, all sub elements will be ignored. ::
+  Cause: Used port-component-name does not exists.
++
+  Action: Use the name of existing web service endpoint
+
+[[sthref60]]AS-DEPLOYMENT-00017 DOLUtils: converting EJB to web bundle id \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref61]]AS-DEPLOYMENT-00020 Application validation failed for application: \{0}, jndi-name: \{1}, resource adapter name: \{2} is wrong. ::
+  Cause: For embedded resource adapter, its name should begin with '#'
+  symbol
++
+  Action: Remove application name before the '#' symbol in the resource
+  adapter name.
+
+[[sthref62]]AS-DEPLOYMENT-00022 For administered-object resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
+  Cause: For embedded resource adapter, its internal format of resource
+  adapter name should contains application name.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref63]]AS-DEPLOYMENT-00023 For connection-factory resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
+  Cause: For embedded resource adapter, its internal format of resource
+  adapter name should contains application name.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref64]]AS-DEPLOYMENT-00024 For jms-connection-factory resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
+  Cause: For embedded resource adapter, its internal format of resource
+  adapter name should contains application name.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref65]]AS-DEPLOYMENT-00025 For jms-destination resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
+  Cause: For embedded resource adapter, its internal format of resource
+  adapter name should contains application name.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref66]]AS-DEPLOYMENT-00026 JNDI lookup failed for the resource: Name: \{0}, Lookup: \{1}, Type: \{2}. ::
+  Cause: JNDI lookup for the specified resource failed.
++
+  Action: Configure the required resources before deploying the
+  application.
+
+[[sthref67]]AS-DEPLOYMENT-00027 Resource Adapter not present: RA Name: \{0}, Type: \{1}. ::
+  Cause: Resource adapter specified is invalid.
++
+  Action: Configure the required resource adapter.
+
+[[sthref68]]AS-DEPLOYMENT-00028 Skipping resource validation ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref69]]AS-DEPLOYMENT-02015 Skipped processing for module \{0} as its module type was not recognized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref70]]AS-DEPLOYMENT-02016 Error occurred ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref71]]AS-EJB-00001 [\{0}]: trimLru(), resetting head and tail ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref72]]AS-EJB-00002 [\{0}]: Exception in backingStore.remove([\{1}]) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref73]]AS-EJB-00003 [\{0}]: passivateEJB(), Exception caught -> ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref74]]AS-EJB-00004 [\{0}]: Cannot load from BACKUPSTORE FOR Key: [\{1}] ::
+  Cause: Didn't find the data related with the given session key.
++
+  Action: Check if the session bean already timed out.
+
+[[sthref75]]AS-EJB-00005 [\{0}]: Exception while loading from backup session: [\{1}] ::
+  Cause: Session store exception or de serialization exception happened.
++
+  Action: Check error message and exception stack.
+
+[[sthref76]]AS-EJB-00006 [\{0}]: Error while loading from backup session: [\{1}] ::
+  Cause: Session store error or de serialization error happened.
++
+  Action: Check error message and exception stack.
+
+[[sthref77]]AS-EJB-00007 [\{0}]: Exception during backingStore.passivateSave([\{1}]) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref78]]AS-EJB-00008 [\{0}]: Iterator(), resetting head.lPrev ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref79]]AS-EJB-00009 [\{0}]: Exiting TrimTimedoutBeans() because current cache state: [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref80]]AS-EJB-00010 [\{0}]: TrimTimedoutBeans(), resetting head.lPrev ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref81]]AS-EJB-00011 [\{0}]: Exiting TrimUnSortedTimedoutBeans() because current cache state: [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref82]]AS-EJB-00012 [SFSBContainer] Exception while initializing SessionSynchronization methods ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref83]]AS-EJB-00013 [SFSBContainer] Exception while loading checkpoint info ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref84]]AS-EJB-00014 Exception creating ejb object : [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref85]]AS-EJB-00015 Exception creating ejb local object [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref86]]AS-EJB-00016 Couldn't update timestamp for: [\{0}]; Exception: [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref87]]AS-EJB-00017 Cannot register bean for checkpointing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref88]]AS-EJB-00018 Error during checkpoint ([\{0}]. Key: [\{1}]) [\{2}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref89]]AS-EJB-00019 sfsb checkpoint error. Name: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref90]]AS-EJB-00020 sfsb checkpoint error. Key: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref91]]AS-EJB-00021 Exception in afterCompletion : [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref92]]AS-EJB-00022 1. passivateEJB() returning because containerState: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref93]]AS-EJB-00023 Extended EM not serializable. Exception: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref94]]AS-EJB-00024 Error during passivation: [\{0}]; [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref95]]AS-EJB-00025 Error during passivation of [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref96]]AS-EJB-00026 sfsb passivation error. Key: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref97]]AS-EJB-00028 Error during Stateful Session Bean activation for key [\{0}] ::
+  Cause: A problem occurred while the container was activating a
+  stateful session bean. One possible cause is that the bean code threw
+  a system exception from its ejbActivate method.
++
+  Action: Check the stack trace to see whether the exception was thrown
+  from the ejbActivate method and if so double-check the application
+  code to determine what caused the exception.
+
+[[sthref98]]AS-EJB-00029 [\{0}]: Error during backingStore.shutdown() ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref99]]AS-EJB-00030 [\{0}]: Error during onShutdown() ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref100]]AS-EJB-00031 [\{0}]: Error while undeploying ctx. Key: [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref101]]AS-EJB-00032 Cannot add idle bean cleanup task ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref102]]AS-EJB-00033 Got exception during removeExpiredSessions (but the reaper thread is still alive) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref103]]AS-EJB-00034 Error during checkpoint(, but session not destroyed) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref104]]AS-EJB-00035 Error during checkpoint ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref105]]AS-EJB-00036 TopLevel AvailabilityService.getAvailabilityEnabled: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref106]]AS-EJB-00037 TopLevel EjbAvailabilityService.getAvailabilityEnabled: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref107]]AS-EJB-00038 Global AvailabilityEnabled: [\{0}], application AvailabilityEnabled: [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref108]]AS-EJB-00039 Exception while trying to determine availability-enabled settings for this app ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref109]]AS-EJB-00040 StatefulContainerBuilder AvailabilityEnabled [\{0}] for this application ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref110]]AS-EJB-00041 StatefulContainerBuilder.buildStoreManager() storeName: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref111]]AS-EJB-00042 Could not instantiate backing store for type [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref112]]AS-EJB-00043 StatefulContainerbuilder instantiated store: \{0}, with ha-enabled [\{1}], and backing store configuration: \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref113]]AS-EJB-00044 Error while adding idle bean passivator task ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref114]]AS-EJB-00045 Error while adding idle bean removal task ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref115]]AS-EJB-00046 Error while removing idle beans for [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref116]]AS-EJB-00047 Error while removing expired beans for [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref117]]AS-EJB-00048 Passivation-capable value of stateful session bean [\{0}] is false, it should not have any PrePassivate nor PostActivate configuration, but you have configuration at [\{1}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref118]]AS-EJB-00049 Cannot find stateful session bean [\{0}] in memory, and will not read it from disk because current stateful session bean passivation-capable value is false ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref119]]AS-EJB-00050 Cache is shutting down, \{0} stateful session beans will not be restored after restarting since passivation is disabled ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref120]]AS-EJB-00051 Disabling high availability for the stateful session bean \{0}, as its marked non passivatable ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref121]]AS-EJB-00052 Internal Error ::
+  Cause: Error during invoke the ejb application
++
+  Action: Trying to invoke the ejb application
+
+[[sthref122]]AS-EJB-00053 The feature \{0} requires Full Jakarta EE Profile to be supported ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref123]]AS-EJB-00054 Portable JNDI names for EJB \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref124]]AS-EJB-00055 GlassFish-specific (Non-portable) JNDI names for EJB \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref125]]AS-EJB-00056 A system exception occurred during an invocation on EJB \{0}, method: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref126]]AS-EJB-00057 Error while creating enterprise bean context for \{0} during jacc callback ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref127]]AS-EJB-00058 Attempt to override reserved ejb interface method [\{0}] in [\{1}]. Override will be ignored. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref128]]AS-EJB-00059 Bean class for ejb [\{0}] does not define a method corresponding to [\{1}] interface method [\{2}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref129]]AS-EJB-00060 keepstate is true and will not create new auto timers during deployment. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref130]]AS-EJB-00061 Failed to initialize the interceptor ::
+  Cause: Error during initializing the interceptor
++
+  Action: Try to restart the server
+
+[[sthref131]]AS-EJB-00062 [**BaseContainer**] Could not create MonitorRegistryMediator. [\{0}] ::
+  Cause: Fail to create MonitorRegistryMediator
++
+  Action: Check the exception stack
+
+[[sthref132]]AS-EJB-00063 Exception in backingStore.size() ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref133]]AS-JMS-CORE-00001 JMS Service Connection URL is : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref134]]AS-JMS-CORE-00002 ADDRESSLIST in setJmsServiceProvider : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref135]]AS-JMS-CORE-00003 Addresslist : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref136]]AS-JMS-CORE-00004 End point determines destination name, Res name: \{0}, JNDI name: \{1} descriptor name : \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref137]]AS-JMS-CORE-00005 Successfully set Master broker on JMSRA to \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref138]]AS-JMS-CORE-00006 Failed to set Master broker on JMSRA to \{0} cause \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref139]]AS-JMS-CORE-00007 Successfully set Cluster brokerlist to \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref140]]AS-JMS-CORE-00008 Failed to set Cluster brokerlist to \{0} cause \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref141]]AS-JMS-CORE-00009 Failed to shut down Grizzly NetworkListener : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref142]]AS-JMS-CORE-00010 Error occurs when shutting down JMSRA : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref143]]AS-JMS-CORE-00011 Invalid RMI registry port ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref144]]AS-JMS-CORE-00012 No such method \{0} in the class \{1} ::
+  Cause: The method setProperty is not defined in the class
++
+  Action: Define the appropriate method
+
+[[sthref145]]AS-JMS-CORE-00013 Connector Resource could not be closed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref146]]AS-JMS-CORE-00014 rardeployment.mcfcreation_error \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref147]]AS-JMS-CORE-00015 Exception while getting configured RMI port : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref148]]AS-JMS-CORE-00016 Failed to start Grizlly proxy for MQ broker ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref149]]AS-JMS-CORE-00017 Failed to create addresslist due to the exception : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref150]]AS-JMS-CORE-00018 Error executing method \{0} of the class \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref151]]AS-JMS-CORE-00019 MDB destination not specified ::
+  Cause: Missing destination JNDI name
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref152]]AS-JMS-CORE-00020 Failed to validate endpoint ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref153]]AS-JMS-CORE-00021 Cannot obtain master broker ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref154]]AS-JMS-CORE-00022 Error while loading connector resources during recovery : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref155]]AS-JMS-CORE-00023 Exception in reading mdb-container configuration : [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref156]]AS-JMS-CORE-00024 MQ Resource adapter upgrade started. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref157]]AS-JMS-CORE-00025 MQ Resource adapter upgrade completed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref158]]AS-JMS-CORE-00026 Upgrading a MQ resource adapter failed : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref159]]AS-JMS-CORE-00027 Check for a new version of MQ installation failed : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref160]]AS-ORB-00001 Exception occurred when resolving \{0} ::
+  Cause: org.omg.CORBA.ORBPackage.InvalidName when trying to resolve
+  GroupInfoService
++
+  Action: Check server.log for details
+
+[[sthref161]]AS-ORB-00002 No Endpoints selected in com.sun.appserv.iiop.endpoints property. Using \{0}:\{1} instead ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref162]]AS-ORB-00003 Problem with membership change notification. Exception occurred : \{0} ::
+  Cause: check server.log for details
++
+  Action: check network configuration and cluster setup
+
+[[sthref163]]AS-ORB-00004 Could not find an endpoint to send request to. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref164]]AS-ORB-00005 Unknown host: \{0} Exception thrown : \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref165]]AS-ORB-00006 No Endpoints selected in com.sun.appserv.iiop.endpoints property. Using JNDI Provider URL \{0} instead ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref166]]AS-ORB-00007 Exception : \{0} thrown for bad provider URL String: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref167]]AS-WSSECURITY-00001 Request processing failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref168]]AS-WSSECURITY-00002 SEC2002: Container-auth: wss: Error validating request. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref169]]AS-WSSECURITY-00003 SEC2003: Container-auth: wss: Error securing response. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref170]]AS-WSSECURITY-00004 SEC2004: Container-auth: wss: Error securing request. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref171]]AS-WSSECURITY-00005 SEC2005: Container-auth: wss: Error validating response. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref172]]AS-WSSECURITY-00006 SEC2006: Container-auth: wss: Not a SOAP message context. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref173]]AS-WSSECURITY-00007 EJB Webservice security configuration Failure. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref174]]AS-WSSECURITY-00008 Servlet Webservice security configuration Failure ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref175]]AS-WSSECURITY-00009 BASIC AUTH username/password http header parsing error for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref176]]AS-WSSECURITY-00010 Servlet Webservice security configuration Failure ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref177]]AS-WSSECURITY-00011 Following exception was thrown: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref178]]AS-WEB-ADMIN-00001 Unable to register StatsProvider \{0} with Monitoring Infrastructure. No monitoring data will be collected for \{1} and \{2} ::
+  Cause: Current server config is null
++
+  Action: Verify if the server instance is started correctly
+
+[[sthref179]]AS-WEB-ADMIN-00002 Current server config is null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref180]]AS-WEB-ADMIN-00003 The acceptor threads must be at least 1 ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref181]]AS-WEB-ADMIN-00004 Listener \{0} could not be created, actual reason: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref182]]AS-WEB-ADMIN-00005 A default virtual server is required. Please use --default-virtual-server to specify this value. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref183]]AS-WEB-ADMIN-00006 --defaultVS and --default-virtual-server conflict. Please use only --default-virtual-server to specify this value. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref184]]AS-WEB-ADMIN-00007 Attribute value (default-virtual-server = \{0}) is not found in list of virtual servers defined in config. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref185]]AS-WEB-ADMIN-00008 Http Listener named \{0} already exists. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref186]]AS-WEB-ADMIN-00009 Port [\{0}] is already taken for address [\{1}], please choose another port. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref187]]AS-WEB-ADMIN-00010 Network Listener named \{0} already exists. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref188]]AS-WEB-ADMIN-00011 Protocol \{0} has neither a protocol nor a port-unification configured. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref189]]AS-WEB-ADMIN-00012 \{0} create failed: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref190]]AS-WEB-ADMIN-00013 The specified protocol \{0} is not yet configured. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref191]]AS-WEB-ADMIN-00014 Failed to create http-redirect for \{0}: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref192]]AS-WEB-ADMIN-00015 An http element for \{0} already exists. Cannot add duplicate http. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref193]]AS-WEB-ADMIN-00016 An http-redirect element for \{0} already exists. Cannot add duplicate http-redirect. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref194]]AS-WEB-ADMIN-00017 \{0} protocol already exists. Cannot add duplicate protocol. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref195]]AS-WEB-ADMIN-00018 Failed to create protocol \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref196]]AS-WEB-ADMIN-00019 \{0} create failed: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref197]]AS-WEB-ADMIN-00020 \{0} create failed. Given class is not a ProtocolFilter: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref198]]AS-WEB-ADMIN-00021 \{0} create failed. Given class is not a ProtocolFinder: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref199]]AS-WEB-ADMIN-00022 \{0} transport already exists. Cannot add duplicate transport. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref200]]AS-WEB-ADMIN-00023 Failed to create transport \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref201]]AS-WEB-ADMIN-00024 Please use only networklisteners. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref202]]AS-WEB-ADMIN-00025 Virtual Server named \{0} already exists. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref203]]AS-WEB-ADMIN-00026 \{0} create failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref204]]AS-WEB-ADMIN-00028 Specified http listener, \{0}, doesn''t exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref205]]AS-WEB-ADMIN-00029 \{0} delete failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref206]]AS-WEB-ADMIN-00030 \{0} Network Listener doesn't exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref207]]AS-WEB-ADMIN-00031 Deletion of NetworkListener \{0} failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref208]]AS-WEB-ADMIN-00032 \{0} http-redirect doesn't exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref209]]AS-WEB-ADMIN-00033 Deletion of http \{0} failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref210]]AS-WEB-ADMIN-00034 Deletion of http-redirect \{0} failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref211]]AS-WEB-ADMIN-00035 \{0} protocol doesn't exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref212]]AS-WEB-ADMIN-00036 \{0} protocol is being used in the network listener \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref213]]AS-WEB-ADMIN-00037 Deletion of Protocol \{0} failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref214]]AS-WEB-ADMIN-00038 \{0} delete failed: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref215]]AS-WEB-ADMIN-00039 No \{0} element found with the name \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref216]]AS-WEB-ADMIN-00040 \{0} transport is being used in the network listener \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref217]]AS-WEB-ADMIN-00041 Deletion of Transport \{0} failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref218]]AS-WEB-ADMIN-00042 \{0} transport doesn''t exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref219]]AS-WEB-ADMIN-00043 \{0} delete failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref220]]AS-WEB-ADMIN-00044 Specified virtual server, \{0}, doesn''t exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref221]]AS-WEB-ADMIN-00045 Specified virtual server, \{0}, can not be deleted because it is referenced from http listener, \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref222]]AS-WEB-ADMIN-00046 Monitoring Registry does not exist. Possible causes are 1) Monitoring is not turned on or at a lower level 2) The corresponding container (web, ejb, etc.) is not loaded yet ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref223]]AS-WEB-UTIL-00001 Resource ''\{0}'' is missing ::
+  Cause: A naming exception is encountered
++
+  Action: Check the list of resources
+
+[[sthref224]]AS-WEB-UTIL-00002 Failed tracking modifications of ''\{0}'' : \{1} ::
+  Cause: A ClassCastException is encountered
++
+  Action: Check if the object is an instance of the class
+
+[[sthref225]]AS-WEB-UTIL-00003 WebappClassLoader.findClassInternal(\{0}) security exception: \{1} ::
+  Cause: An AccessControlException is encountered
++
+  Action: Check if the resource is accessible
+
+[[sthref226]]AS-WEB-UTIL-00004 Security Violation, attempt to use Restricted Class: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref227]]AS-WEB-UTIL-00005 Class \{0} has unsupported major or minor version numbers, which are greater than those found in the Java Runtime Environment version \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref228]]AS-WEB-UTIL-00006 Unable to load class with name [\{0}], reason: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref229]]AS-WEB-UTIL-00007 The web application [\{0}] registered the
+JDBC driver [\{1}] but failed to unregister it when the web application
+was stopped. To prevent a memory leak, the JDBC Driver has been forcibly
+unregistered. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref230]]AS-WEB-UTIL-00008 JDBC driver de-registration failed for web application [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref231]]AS-WEB-UTIL-00009 Exception closing input stream during JDBC driver de-registration for web application [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref232]]AS-WEB-UTIL-00010 This web container has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref233]]AS-WEB-UTIL-00011 Failed to check for ThreadLocal references for web application [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref234]]AS-WEB-UTIL-00012 Unable to determine string representation of key of type [\{0}] ::
+  Cause: An Exception occurred
++
+  Action: Check the exception for error
+
+[[sthref235]]AS-WEB-UTIL-00013 Unknown ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref236]]AS-WEB-UTIL-00014 Unable to determine string representation of value of type [\{0}] ::
+  Cause: An Exception occurred
++
+  Action: Check the exception for error
+
+[[sthref237]]AS-WEB-UTIL-00015 The web application [\{0}] created a ThreadLocal with key of type [\{1}] (value [\{2}]). The ThreadLocal has been correctly set to null and the key will be removed by GC. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref238]]AS-WEB-UTIL-00016 The web application [\{0}] created a
+ThreadLocal with key of type [\{1}] (value [\{2}]) and a value of type
+[\{3}] (value [\{4}]) but failed to remove it when the web application
+was stopped. Threads are going to be renewed over time to try and avoid
+a probable memory leak. ::
+  Cause: Failed to remove a ThreadLocal when the web application was
+  stopped
++
+  Action: Threads are going to be renewed over time to try and avoid a
+  probable memory leak.
+
+[[sthref239]]AS-WEB-UTIL-00017 Failed to find class sun.rmi.transport.Target to clear context class loader for web application [\{0}]. This is expected on non-Sun JVMs. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref240]]AS-WEB-UTIL-00018 Failed to clear context class loader referenced from sun.rmi.transport.Target for web application [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref241]]AS-WEB-UTIL-00019 Removed [\{0}] ResourceBundle references from the cache for web application [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref242]]AS-WEB-UTIL-00020 Failed to clear ResourceBundle references for web application [\{0}] ::
+  Cause: An Exception occurred
++
+  Action: Check the exception for error
+
+[[sthref243]]AS-WEB-UTIL-00021 Illegal JAR entry detected with name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref244]]AS-WEB-UTIL-00022 Unable to validate JAR entry with name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref245]]AS-WEB-UTIL-00023 Unable to create \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref246]]AS-WEB-UTIL-00024 Unable to delete \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref247]]AS-WEB-UTIL-00025 Unable to read data for class with name [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref248]]AS-WEB-UTIL-00026 Unable to purge bean classes from BeanELResolver ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref249]]AS-WEB-UTIL-00027 extra-class-path component [\{0}] is not a valid pathname ::
+  Cause: A naming exception is encountered
++
+  Action: Check the list of resources
+
+[[sthref250]]AS-WEB-UTIL-00028 The clearReferencesStatic is not consistent in context.xml for virtual servers ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref251]]AS-WEB-UTIL-00029 class-loader attribute dynamic-reload-interval in sun-web.xml not supported ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref252]]AS-WEB-UTIL-00030 Property element in sun-web.xml has null 'name' or 'value' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref253]]AS-WEB-UTIL-00031 Ignoring invalid property [\{0}] = [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref254]]AS-WEB-UTIL-00032 The xml element should be [\{0}] rather than [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref255]]AS-WEB-UTIL-00033 This is an unexpected end of document ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref256]]AS-WEB-UTIL-00034 Unexpected type of ClassLoader. Expected: java.net.URLClassLoader, got: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref257]]AS-WEB-UTIL-00035 Unable to load class \{0}, reason: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref258]]AS-WEB-UTIL-00036 Invalid URLClassLoader path component: [\{0}] is neither a JAR file nor a directory ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref259]]AS-WEB-UTIL-00037 Error trying to scan the classes at \{0} for annotations in which a ServletContainerInitializer has expressed interest ::
+  Cause: An IOException is encountered
++
+  Action: Verify if the path is correct
+
+[[sthref260]]AS-WEB-UTIL-00038 Ignoring [\{0}] during Tag Library Descriptor (TLD) processing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref261]]AS-WEB-UTIL-00039 Unable to determine TLD resources for [\{0}] tag library, because class loader [\{1}] for [\{2}] is not an instance of java.net.URLClassLoader ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref262]]AS-WEB-CORE-00001 Configuration error: Must be attached to a Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref263]]AS-WEB-CORE-00002 Authenticator[\{0}]: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref264]]AS-WEB-CORE-00003 Exception getting debug value ::
+  Cause: Could not get the method or invoke underlying method
++
+  Action: Verify the existence of such method and access permission
+
+[[sthref265]]AS-WEB-CORE-00004 Unexpected error forwarding or redirecting to login page ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref266]]AS-WEB-CORE-00005 Started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref267]]AS-WEB-CORE-00006 Stopped ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref268]]AS-WEB-CORE-00007 Process session destroyed on \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref269]]AS-WEB-CORE-00008 Process request for ''\{0}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref270]]AS-WEB-CORE-00009 Principal \{0} has already been authenticated ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref271]]AS-WEB-CORE-00010 Checking for SSO cookie ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref272]]AS-WEB-CORE-00011 SSO cookie is not present ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref273]]AS-WEB-CORE-00012 Checking for cached principal for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref274]]AS-WEB-CORE-00013 Found cached principal \{0} with auth type \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref275]]AS-WEB-CORE-00014 No cached principal found, erasing SSO cookie ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref276]]AS-WEB-CORE-00015 Associate sso id \{0} with session \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref277]]AS-WEB-CORE-00016 Registering sso id \{0} for user \{1} with auth type \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref278]]AS-WEB-CORE-00017 Looking up certificates ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref279]]AS-WEB-CORE-00018 No certificates included with this request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref280]]AS-WEB-CORE-00019 No client certificate chain in this request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref281]]AS-WEB-CORE-00020 Cannot authenticate with the provided credentials ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref282]]AS-WEB-CORE-00021 Unable to determine target of zero-arg dispatcher ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref283]]AS-WEB-CORE-00022 Unable to acquire RequestDispatcher for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref284]]AS-WEB-CORE-00023 Unable to acquire RequestDispatcher for \{0} in servlet context \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref285]]AS-WEB-CORE-00024 Error invoking AsyncListener ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref286]]AS-WEB-CORE-00025 Asynchronous dispatch already in progress, must call ServletRequest.startAsync first ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref287]]AS-WEB-CORE-00026 Must not call AsyncContext.addListener after the container-initiated dispatch during which ServletRequest.startAsync was called has returned to the container ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref288]]AS-WEB-CORE-00027 Must not call AsyncContext.setTimeout after the container-initiated dispatch during which ServletRequest.startAsync was called has returned to the container ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref289]]AS-WEB-CORE-00028 The connector has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref290]]AS-WEB-CORE-00029 Error registering connector ::
+  Cause: Could not register connector
++
+  Action: Verify domain name and type
+
+[[sthref291]]AS-WEB-CORE-00030 Failed to instanciate HttpHandler ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref292]]AS-WEB-CORE-00031 mod_jk invalid Adapter implementation: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref293]]AS-WEB-CORE-00032 Protocol handler instantiation failed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref294]]AS-WEB-CORE-00033 The connector has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref295]]AS-WEB-CORE-00034 Protocol handler start failed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref296]]AS-WEB-CORE-00035 Coyote connector has not been started ::
+  Cause: Could not stop processing requests via this Connector
++
+  Action: Verify if the connector has not been started
+
+[[sthref297]]AS-WEB-CORE-00036 Protocol handler destroy failed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref298]]AS-WEB-CORE-00037 An exception or error occurred in the container during the request processing ::
+  Cause: Could not process the request in the container
++
+  Action: Verify certificate chain retrieved from the request header and
+  the correctness of request
+
+[[sthref299]]AS-WEB-CORE-00038 HTTP listener on port \{0} has been disabled ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref300]]AS-WEB-CORE-00039 Error parsing client cert chain into array of java.security.cert.X509Certificate instances ::
+  Cause: Could not get the SSL client certificate chain
++
+  Action: Verify certificate chain and the request
+
+[[sthref301]]AS-WEB-CORE-00040 No Host matches server name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref302]]AS-WEB-CORE-00041 Cannot use this object outside a servlet's service method or outside a filter's doFilter method ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref303]]AS-WEB-CORE-00042 Cannot set a null ReadListener object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref304]]AS-WEB-CORE-00043 Cannot set a null WriteListener object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref305]]AS-WEB-CORE-00044 Failed to skip \{0} characters in the underlying buffer of CoyoteReader on readLine(). ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref306]]AS-WEB-CORE-00045 Stream closed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref307]]AS-WEB-CORE-00046 Already set read listener ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref308]]AS-WEB-CORE-00047 Cannot set ReaderListener for non-async or non-upgrade request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref309]]AS-WEB-CORE-00048 Error in invoking ReadListener.onDataAvailable ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref310]]AS-WEB-CORE-00049 The WriteListener has already been set. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref311]]AS-WEB-CORE-00050 Cannot set WriteListener for non-async or non-upgrade request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref312]]AS-WEB-CORE-00051 Error in invoking WriteListener.onWritePossible ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref313]]AS-WEB-CORE-00052 getReader() has already been called for this request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref314]]AS-WEB-CORE-00053 getInputStream() has already been called for this request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref315]]AS-WEB-CORE-00054 Unable to determine client remote address from proxy (returns null) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref316]]AS-WEB-CORE-00055 Unable to resolve IP address \{0} into host name ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref317]]AS-WEB-CORE-00056 Exception thrown by attributes event listener ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref318]]AS-WEB-CORE-00057 Cannot call setAttribute with a null name ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref319]]AS-WEB-CORE-00058 Unable to determine canonical name of file [\{0}] specified for use with sendfile ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref320]]AS-WEB-CORE-00059 Unable to set request character encoding to \{0} from context \{1}, because request parameters have already been read, or ServletRequest.getReader() has already been called ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref321]]AS-WEB-CORE-00060 Attempt to re-login while the user identity already exists ::
+  Cause: Could not re-login
++
+  Action: Verify if user has already login
+
+[[sthref322]]AS-WEB-CORE-00061 changeSessionId has been called without a session ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref323]]AS-WEB-CORE-00062 Cannot create a session after the response has been committed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref324]]AS-WEB-CORE-00063 Invalid URI encoding; using HTTP default ::
+  Cause: Could not set URI converter
++
+  Action: Verify URI encoding, using HTTP default
+
+[[sthref325]]AS-WEB-CORE-00064 Invalid URI character encoding; trying ascii ::
+  Cause: Could not encode URI character
++
+  Action: Verify URI encoding, trying ascii
+
+[[sthref326]]AS-WEB-CORE-00065 Request is within the scope of a filter or servlet that does not support asynchronous operations ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref327]]AS-WEB-CORE-00066 ServletRequest.startAsync called again without any asynchronous dispatch, or called outside the scope of any such dispatch, or called again within the scope of the same dispatch ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref328]]AS-WEB-CORE-00067 Response already closed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref329]]AS-WEB-CORE-00068 ServletRequest.startAsync called outside the scope of an async dispatch ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref330]]AS-WEB-CORE-00069 The request has not been put into asynchronous mode, must call ServletRequest.startAsync first ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref331]]AS-WEB-CORE-00070 Request already released from asynchronous mode ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref332]]AS-WEB-CORE-00071 Unable to perform error dispatch ::
+  Cause: Could not perform post-request processing as required by this
+  Valve
++
+  Action: Verify if I/O exception or servlet exception occur
+
+[[sthref333]]AS-WEB-CORE-00072 Request.\{0} is called without multipart configuration. Either add a @MultipartConfig to the servlet, or a multipart-config element to web.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref334]]AS-WEB-CORE-00073 This should not happen-breaking background lock: sess = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref335]]AS-WEB-CORE-00074 Must not use request object outside the scope of a servlet's service or a filter's doFilter method ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref336]]AS-WEB-CORE-00075 Error during finishResponse ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref337]]AS-WEB-CORE-00076 getWriter() has already been called for this response ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref338]]AS-WEB-CORE-00077 getOutputStream() has already been called for this response ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref339]]AS-WEB-CORE-00078 Cannot reset buffer after response has been committed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref340]]AS-WEB-CORE-00079 Cannot change buffer size after data has been written ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref341]]AS-WEB-CORE-00080 Cannot call sendError() after the response has been committed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref342]]AS-WEB-CORE-00081 Cannot call sendRedirect() after the response has been committed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref343]]AS-WEB-CORE-00082 Null response object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref344]]AS-WEB-CORE-00083 Not allowed to call this
+javax.servlet.ServletContext method from a ServletContextListener that
+was neither declared in the application's deployment descriptor nor
+annotated with WebListener ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref345]]AS-WEB-CORE-00084 Exception thrown by attributes event listener ::
+  Cause: Could not modify attribute
++
+  Action: Verify name and value from Servlet Context
+
+[[sthref346]]AS-WEB-CORE-00085 Name cannot be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref347]]AS-WEB-CORE-00086 Cannot forward after response has been committed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref348]]AS-WEB-CORE-00087 Servlet \{0} is currently unavailable ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref349]]AS-WEB-CORE-00088 Allocate exception for servlet \{0} ::
+  Cause: Could not allocate servlet instance
++
+  Action: Verify the configuration of wrapper
+
+[[sthref350]]AS-WEB-CORE-00089 Exceeded maximum depth for nested request dispatches: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref351]]AS-WEB-CORE-00090 Servlet.service() for servlet \{0} threw exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref352]]AS-WEB-CORE-00091 Release filters exception for servlet \{0} ::
+  Cause: Could not release filter chain
++
+  Action: Verify the availability of current filter chain
+
+[[sthref353]]AS-WEB-CORE-00092 Deallocate exception for servlet \{0} ::
+  Cause: Could not deallocate the allocated servlet instance
++
+  Action: Verify the availability of servlet instance
+
+[[sthref354]]AS-WEB-CORE-00093 ApplicationDispatcher[\{0}]: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref355]]AS-WEB-CORE-00094 ApplicationDispatcher[\{0}]: \{1} ::
+  Cause: Could not get logger from parent context
++
+  Action: Verify if logger is null
+
+[[sthref356]]AS-WEB-CORE-00095 Exception processing \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref357]]AS-WEB-CORE-00096 Exception sending default error page ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref358]]AS-WEB-CORE-00097 Filter execution threw an exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref359]]AS-WEB-CORE-00098 ApplicationFilterConfig.doAsPrivilege ::
+  Cause: Could not release allocated filter instance
++
+  Action: Verify the privilege
+
+[[sthref360]]AS-WEB-CORE-00099 ContainerBase.setLoader: stop: ::
+  Cause: Could not stop previous loader
++
+  Action: Verify previous loader
+
+[[sthref361]]AS-WEB-CORE-00100 ContainerBase.setLoader: start: ::
+  Cause: Could not start new loader
++
+  Action: Verify the configuration of container
+
+[[sthref362]]AS-WEB-CORE-00101 ContainerBase.setLogger: stop: ::
+  Cause: Could not stop previous logger
++
+  Action: Verify previous logger
+
+[[sthref363]]AS-WEB-CORE-00102 ContainerBase.setLogger: start: ::
+  Cause: Could not start new logger
++
+  Action: Verify the configuration of container
+
+[[sthref364]]AS-WEB-CORE-00103 ContainerBase.setManager: stop: ::
+  Cause: Could not stop previous manager
++
+  Action: Verify previous manager
+
+[[sthref365]]AS-WEB-CORE-00104 ContainerBase.setManager: start: ::
+  Cause: Could not start new manager
++
+  Action: Verify the configuration of container
+
+[[sthref366]]AS-WEB-CORE-00105 ContainerBase.setRealm: stop: ::
+  Cause: Could not stop previous realm
++
+  Action: Verify previous realm
+
+[[sthref367]]AS-WEB-CORE-00106 ContainerBase.setRealm: start: ::
+  Cause: Could not start new realm
++
+  Action: Verify the configuration of container
+
+[[sthref368]]AS-WEB-CORE-00107 addChild: Child name \{0} is not unique ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref369]]AS-WEB-CORE-00108 ContainerBase.addChild: start: ::
+  Cause: Could not start new child container
++
+  Action: Verify the configuration of parent container
+
+[[sthref370]]AS-WEB-CORE-00109 ContainerBase.removeChild: stop: ::
+  Cause: Could not stop existing child container
++
+  Action: Verify existing child container
+
+[[sthref371]]AS-WEB-CORE-00110 Container \{0} has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref372]]AS-WEB-CORE-00111 Container \{0} has not been started ::
+  Cause: Current container has not been started
++
+  Action: Verify the current container
+
+[[sthref373]]AS-WEB-CORE-00112 Error stopping container \{0} ::
+  Cause: Could not stop child container
++
+  Action: Verify the existence of current child container
+
+[[sthref374]]AS-WEB-CORE-00113 Error unregistering ::
+  Cause: Could not unregister current container
++
+  Action: Verify if the container has been registered
+
+[[sthref375]]AS-WEB-CORE-00114 Exception invoking periodic operation: ::
+  Cause: Could not set the context ClassLoader
++
+  Action: Verify the security permission
+
+[[sthref376]]AS-WEB-CORE-00115 Unable to configure \{0} for filter \{1} of servlet context \{2}, because this servlet context has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref377]]AS-WEB-CORE-00116 Unable to configure \{0} for servlet \{1} of servlet context \{2}, because this servlet context has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref378]]AS-WEB-CORE-00117 Unable to configure \{0} for filter \{1} of servlet context \{2}, because this servlet context has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref379]]AS-WEB-CORE-00118 Unable to configure mapping for filter \{0} of servlet context \{1}, because servlet names are null or empty ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref380]]AS-WEB-CORE-00119 Unable to configure mapping for filter \{0} of servlet context \{1}, because URL patterns are null or empty ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref381]]AS-WEB-CORE-00120 Creation of the naming context failed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref382]]AS-WEB-CORE-00121 Failed to bind object: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref383]]AS-WEB-CORE-00122 Environment entry \{0} has an invalid type ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref384]]AS-WEB-CORE-00123 Environment entry \{0} has an invalid value ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref385]]AS-WEB-CORE-00124 Failed to unbind object: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref386]]AS-WEB-CORE-00125 Must not use request object outside the scope of a servlet's service or a filter's doFilter method ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref387]]AS-WEB-CORE-00126 Null response object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref388]]AS-WEB-CORE-00127 Unable to configure \{0} for servlet \{1} of servlet context \{2}, because this servlet context has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref389]]AS-WEB-CORE-00128 Unable to configure mapping for servlet \{0} of servlet context \{1}, because URL patterns are null or empty ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref390]]AS-WEB-CORE-00129 Unable to configure \{0} session tracking cookie property for servlet context \{1}, because this servlet context has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref391]]AS-WEB-CORE-00130 Missing alternate docbase URL pattern or directory location ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref392]]AS-WEB-CORE-00131 LoginConfig cannot be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref393]]AS-WEB-CORE-00132 Form login page \{0} must start with a ''/'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref394]]AS-WEB-CORE-00133 Form error page \{0} must start with a ''/'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref395]]AS-WEB-CORE-00134 Child of a Context must be a Wrapper ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref396]]AS-WEB-CORE-00135 JSP file \{0} must start with a ''/'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref397]]AS-WEB-CORE-00136 Invalid <url-pattern> \{0} in security constraint ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref398]]AS-WEB-CORE-00137 ErrorPage cannot be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref399]]AS-WEB-CORE-00138 Error page location \{0} must start with a ''/'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref400]]AS-WEB-CORE-00139 Invalid status code \{0} for error-page mapping. HTTP error codes are defined in the range from 400-600 ::
+  Cause: Invalid error page code
++
+  Action: Verify the error code
+
+[[sthref401]]AS-WEB-CORE-00140 Filter mapping specifies an unknown filter name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref402]]AS-WEB-CORE-00141 Filter mapping must specify either a <url-pattern> or a <servlet-name> ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref403]]AS-WEB-CORE-00142 Invalid <url-pattern> \{0} in filter mapping ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref404]]AS-WEB-CORE-00143 Unable to call method \{0} on servlet context \{1}, because this servlet context has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref405]]AS-WEB-CORE-00144 Filter name is null or an empty String ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref406]]AS-WEB-CORE-00145 Unable to set \{0} session tracking mode on servlet context \{1}, because it is not supported ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref407]]AS-WEB-CORE-00146 Unable to add listener of type: \{0},
+because it does not implement any of the required
+ServletContextListener, ServletContextAttributeListener,
+ServletRequestListener, ServletRequestAttributeListener,
+HttpSessionListener, or HttpSessionAttributeListener interfaces ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref408]]AS-WEB-CORE-00147 Both parameter name and parameter value are required, parameter name is \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref409]]AS-WEB-CORE-00148 Duplicate context initialization parameter \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref410]]AS-WEB-CORE-00149 Invalid <url-pattern> \{0} in servlet mapping ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref411]]AS-WEB-CORE-00150 Servlet mapping specifies an unknown servlet name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref412]]AS-WEB-CORE-00151 Unable to map Servlet [\{0}] to URL pattern [\{1}], because Servlet [\{2}] is already mapped to it ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref413]]AS-WEB-CORE-00152 Error creating instance listener \{0} ::
+  Cause: Could not create new instance
++
+  Action: Verify the configuration of Wrapper and InstanceListener
+
+[[sthref414]]AS-WEB-CORE-00153 Error creating lifecycle listener \{0} ::
+  Cause: Could not create new instance for life cycle listener
++
+  Action: Verify the permit of current class to access newInstance()
+
+[[sthref415]]AS-WEB-CORE-00154 Error creating container listener \{0} ::
+  Cause: Could not create new instance for container listener
++
+  Action: Verify the permit of current class to access newInstance()
+
+[[sthref416]]AS-WEB-CORE-00155 Reloading this Context has started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref417]]AS-WEB-CORE-00156 Error stopping context \{0} ::
+  Cause: Could not stop context component
++
+  Action: Verify stop() to guarantee the whole domain is being stopped
+  correctly
+
+[[sthref418]]AS-WEB-CORE-00157 Error starting context \{0} ::
+  Cause: Could not start context component
++
+  Action: Verify start() to guarantee the context component is being
+  started correctly
+
+[[sthref419]]AS-WEB-CORE-00158 Error invoking requestInitialized method on ServletRequestListener \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref420]]AS-WEB-CORE-00159 Error invoking requestDestroyed method on ServletRequestListener \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref421]]AS-WEB-CORE-00160 Exception starting filter \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref422]]AS-WEB-CORE-00161 Servlet with name \{0} does not have any servlet-class or jsp-file configured ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref423]]AS-WEB-CORE-00162 Filter with name \{0} does not have any class configured ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref424]]AS-WEB-CORE-00163 Exception sending context destroyed event to listener instance of class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref425]]AS-WEB-CORE-00164 Error starting resources in context \{0} ::
+  Cause: Could not get the proxy directory context
++
+  Action: Verify the existence of the context
+
+[[sthref426]]AS-WEB-CORE-00165 Error stopping static resources ::
+  Cause: Could not deallocate resource and destroy proxy
++
+  Action: Verify if a fatal error that prevents this component from
+  being used
+
+[[sthref427]]AS-WEB-CORE-00166 Current container has already been started with a DirContext object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref428]]AS-WEB-CORE-00167 Error starting resources in context \{0} with Exception message: \{1} ::
+  Cause: Could not get the proxy directory context
++
+  Action: Verify the existence of the context
+
+[[sthref429]]AS-WEB-CORE-00168 Form login page \{0} must start with a ''/'' in Servlet 2.4 ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref430]]AS-WEB-CORE-00169 Form error page \{0} must start with a ''/'' in Servlet 2.4 ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref431]]AS-WEB-CORE-00170 JSP file \{0} must start with a ''/'' in Servlet 2.4 ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref432]]AS-WEB-CORE-00171 Container \{0} has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref433]]AS-WEB-CORE-00172 Error initialzing resources\{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref434]]AS-WEB-CORE-00173 Error in dependency check for standard context \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref435]]AS-WEB-CORE-00174 Startup of context \{0} failed due to previous errors ::
+  Cause: Could not startup servlet
++
+  Action: Verify the initialization process
+
+[[sthref436]]AS-WEB-CORE-00175 Exception during cleanup after start failed ::
+  Cause: Stop staring up failed
++
+  Action: Verify configurations to stop starting up
+
+[[sthref437]]AS-WEB-CORE-00176 Error invoking ServletContainerInitializer \{0} ::
+  Cause: Could not instantiate servlet container initializer
++
+  Action: Verify the access permission of current class loader
+
+[[sthref438]]AS-WEB-CORE-00177 Error resetting context \{0} ::
+  Cause: Could not restore original state
++
+  Action: Verify if extend 'this' method, and make sure to clean up
+
+[[sthref439]]AS-WEB-CORE-00178 URL pattern \{0} must start with a ''/'' in Servlet 2.4 ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref440]]AS-WEB-CORE-00179 Failed to create work directory \{0} ::
+  Cause: Could not create work directory
++
+  Action: Verify the directory name, and access permission
+
+[[sthref441]]AS-WEB-CORE-00180 The URL pattern \{0} contains a CR or LF and so can never be matched ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref442]]AS-WEB-CORE-00181 Missing name attribute in \{0} ::
+  Cause: Could not get the attribute
++
+  Action: Verify the existence of the value associated with the key
+
+[[sthref443]]AS-WEB-CORE-00182 Malformed name \{0}, value of name attribute does not start with ''//'' ::
+  Cause: Illegal path name
++
+  Action: Verify path name
+
+[[sthref444]]AS-WEB-CORE-00183 Path \{0} does not start with ''/'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref445]]AS-WEB-CORE-00184 Path \{0} does not start with ''/'' and is not empty ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref446]]AS-WEB-CORE-00185 Error during mapping ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref447]]AS-WEB-CORE-00186 Unable to create custom ObjectInputStream ::
+  Cause: Could not create custom ObjectInputStream
++
+  Action: Verify input stream and class loader
+
+[[sthref448]]AS-WEB-CORE-00187 Error during bindThread ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref449]]AS-WEB-CORE-00188 Servlet \{0} threw load() exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref450]]AS-WEB-CORE-00189 Error updating ctx with jmx \{0} \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref451]]AS-WEB-CORE-00190 Error registering wrapper with jmx \{0} \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref452]]AS-WEB-CORE-00191 Null filter instance ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref453]]AS-WEB-CORE-00192 Servlet name is null or an empty String ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref454]]AS-WEB-CORE-00193 Null servlet instance ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref455]]AS-WEB-CORE-00194 Child of an Engine must be a Host ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref456]]AS-WEB-CORE-00195 Engine cannot have a parent Container ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref457]]AS-WEB-CORE-00196 Error registering ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref458]]AS-WEB-CORE-00197 No Host matches server name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref459]]AS-WEB-CORE-00198 Host name is required ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref460]]AS-WEB-CORE-00199 Child of a Host must be a Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref461]]AS-WEB-CORE-00200 MAPPING configuration error for request URI \{0} ::
+  Cause: No context has been selected
++
+  Action: Verify the uri or default context
+
+[[sthref462]]AS-WEB-CORE-00201 ErrorPage must not be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref463]]AS-WEB-CORE-00202 XML validation enabled ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref464]]AS-WEB-CORE-00203 Create Host deployer for direct deployment ( non-jmx ) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref465]]AS-WEB-CORE-00204 Error creating deployer ::
+  Cause: Could not instantiate deployer
++
+  Action: Verify access permission
+
+[[sthref466]]AS-WEB-CORE-00205 Error registering host \{0} ::
+  Cause: Initialization failed
++
+  Action: Verify domain and host name
+
+[[sthref467]]AS-WEB-CORE-00206 Couldn't load specified error report valve class: \{0} ::
+  Cause: Could not load instance of host valve
++
+  Action: Verify access permission
+
+[[sthref468]]AS-WEB-CORE-00207 Context path is required ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref469]]AS-WEB-CORE-00208 Invalid context path: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref470]]AS-WEB-CORE-00209 Context path \{0} is already in use ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref471]]AS-WEB-CORE-00210 URL to web application archive is required ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref472]]AS-WEB-CORE-00211 Installing web application at context path \{0} from URL \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref473]]AS-WEB-CORE-00212 Invalid URL for web application archive: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref474]]AS-WEB-CORE-00213 Only web applications in the Host web application directory can be installed, invalid URL: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref475]]AS-WEB-CORE-00214 Context path \{0} must match the directory or WAR file name: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref476]]AS-WEB-CORE-00215 Error installing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref477]]AS-WEB-CORE-00216 Error deploying application at context path \{0} ::
+  Cause: Could not initiate life cycle listener
++
+  Action: Verify the access permission
+
+[[sthref478]]AS-WEB-CORE-00217 URL to configuration file is required ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref479]]AS-WEB-CORE-00218 Use of configuration file is not allowed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref480]]AS-WEB-CORE-00219 Processing Context configuration file URL \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref481]]AS-WEB-CORE-00220 Installing web application from URL \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref482]]AS-WEB-CORE-00221 Context path \{0} is not currently in use ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref483]]AS-WEB-CORE-00222 Removing web application at context path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref484]]AS-WEB-CORE-00223 Error removing application at context path \{0} ::
+  Cause: Could not remove an existing child Container
++
+  Action: Verify if there are any I/O errors
+
+[[sthref485]]AS-WEB-CORE-00224 Starting web application at context path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref486]]AS-WEB-CORE-00225 Starting web application at context path \{0} failed ::
+  Cause: Could not start web application at current context path
++
+  Action: Verify if start() is called before any of the public methods
+  of this component are utilized, and it should send START_EVENT to any
+  registered listeners
+
+[[sthref487]]AS-WEB-CORE-00226 Stopping web application at context path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref488]]AS-WEB-CORE-00227 Stopping web application at context path \{0} failed ::
+  Cause: Could not terminate the active use of the public methods of
+  this component
++
+  Action: Verify if stop() is the last one called on a given instance of
+  this component, and it should send STOP_EVENT to any registered
+  listeners
+
+[[sthref489]]AS-WEB-CORE-00228 Failed to remove file \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref490]]AS-WEB-CORE-00229 Remote Client Aborted Request, IOException: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref491]]AS-WEB-CORE-00230 The error-page \{0} or \{1} does not exist ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref492]]AS-WEB-CORE-00231 No Context configured to process this request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref493]]AS-WEB-CORE-00232 Pipeline has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref494]]AS-WEB-CORE-00233 Pipeline has not been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref495]]AS-WEB-CORE-00234 Exception occurred when stopping GlassFishValve in StandardPipeline.setBasic ::
+  Cause: Could not terminate the active use of the public methods of
+  this component
++
+  Action: Verify if stop() is the last one called on a given instance of
+  this component, and it should send STOP_EVENT to any registered
+  listeners
+
+[[sthref496]]AS-WEB-CORE-00235 Exception occurred when starting GlassFishValve in StandardPipeline.setBasic ::
+  Cause: Could not prepare for the beginning of active use of the public
+  methods of this component
++
+  Action: Verify if start() is called before any of the public methods
+  of this component are utilized, and it should send START_EVENT to any
+  registered listeners
+
+[[sthref497]]AS-WEB-CORE-00236 Exception occurred when starting GlassFishValve in StandardPipline.addValve ::
+  Cause: Specific valve could not be associated with current container
++
+  Action: Verify the availability of current valve
+
+[[sthref498]]AS-WEB-CORE-00237 Unable to add valve \{0} ::
+  Cause: Could not add tomcat-style valve
++
+  Action: Verify if this is a GlassFish-style valve that was compiled
+  against the old org.apache.catalina.Valve interface
+
+[[sthref499]]AS-WEB-CORE-00238 No more Valves in the Pipeline processing this request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref500]]AS-WEB-CORE-00239 HttpUpgradeHandler handler cannot be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref501]]AS-WEB-CORE-00240 Exception occurred when stopping GlassFishValve in StandardPipeline.removeValve ::
+  Cause: Could not terminate the active use of the public methods of
+  this component
++
+  Action: Verify if stop() is the last one called on a given instance of
+  this component, and it should send STOP_EVENT to any registered
+  listeners
+
+[[sthref502]]AS-WEB-CORE-00241 StandardPipeline[\{0}]: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref503]]AS-WEB-CORE-00242 StandardPipeline[null]: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref504]]AS-WEB-CORE-00243 LifecycleException occurred during service initialization: \{0} ::
+  Cause: This service was already initialized
++
+  Action: Verify if the service is not already initialized
+
+[[sthref505]]AS-WEB-CORE-00244 Exception StandardServer.await: create[\{0}] ::
+  Cause: An I/O error occurred when opening the socket
++
+  Action: Verify the port number and try again
+
+[[sthref506]]AS-WEB-CORE-00245 StandardServer.accept security exception: \{0} ::
+  Cause: Could not get connection
++
+  Action: Verify the connection settings and try again
+
+[[sthref507]]AS-WEB-CORE-00246 StandardServer.await: accept: \{0} ::
+  Cause: Could not get input stream
++
+  Action: Verify the input stream and try again
+
+[[sthref508]]AS-WEB-CORE-00247 StandardServer.await: read: \{0} ::
+  Cause: Could not read from input stream
++
+  Action: Verify the input stream and try again
+
+[[sthref509]]AS-WEB-CORE-00248 StandardServer.await: Invalid command \{0} received ::
+  Cause: Invalid command
++
+  Action: Verify the command
+
+[[sthref510]]AS-WEB-CORE-00249 This service has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref511]]AS-WEB-CORE-00250 Error registering: \{0} ::
+  Cause: Could not register ObjectName: "Catalina:type=Server"
++
+  Action: Verify the configuration and try again
+
+[[sthref512]]AS-WEB-CORE-00251 This service has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref513]]AS-WEB-CORE-00252 Starting service \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref514]]AS-WEB-CORE-00253 Stopping service \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref515]]AS-WEB-CORE-00254 This service has already been initialized ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref516]]AS-WEB-CORE-00255 Error registering Service at domain \{0} ::
+  Cause: Could not register service
++
+  Action: Verify the domain name and service name
+
+[[sthref517]]AS-WEB-CORE-00256 Service initializing at \{0} failed ::
+  Cause: Could not pre-startup initialization
++
+  Action: Verify if server was already initialized
+
+[[sthref518]]AS-WEB-CORE-00257 Parent container of a Wrapper must be a Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref519]]AS-WEB-CORE-00258 Wrapper container may not have child containers ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref520]]AS-WEB-CORE-00259 Cannot allocate servlet \{0} because it is being unloaded ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref521]]AS-WEB-CORE-00260 Error allocating a servlet instance ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref522]]AS-WEB-CORE-00261 Class \{0} is not a Servlet ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref523]]AS-WEB-CORE-00262 Error instantiating servlet class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref524]]AS-WEB-CORE-00263 Servlet of class \{0} is privileged and cannot be loaded by this web application ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref525]]AS-WEB-CORE-00264 No servlet class has been specified for servlet \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref526]]AS-WEB-CORE-00265 Wrapper cannot find Loader for servlet \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref527]]AS-WEB-CORE-00266 Wrapper cannot find servlet class \{0} or a class it depends on ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref528]]AS-WEB-CORE-00267 Servlet.init() for servlet \{0} threw exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref529]]AS-WEB-CORE-00268 Servlet execution threw an exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref530]]AS-WEB-CORE-00269 Marking servlet \{0} as unavailable ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref531]]AS-WEB-CORE-00270 Waiting for \{0} instance(s) of \{1} to be deallocated ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref532]]AS-WEB-CORE-00271 Servlet.destroy() for servlet \{0} threw exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref533]]AS-WEB-CORE-00272 Servlet \{0} threw unload() exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref534]]AS-WEB-CORE-00273 Error loading \{0} \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref535]]AS-WEB-CORE-00274 This application is not currently available ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref536]]AS-WEB-CORE-00275 Servlet \{0} is currently unavailable ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref537]]AS-WEB-CORE-00276 Servlet \{0} is not available ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref538]]AS-WEB-CORE-00277 Allocate exception for servlet \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref539]]AS-WEB-CORE-00278 Exception for sending acknowledgment of a request: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref540]]AS-WEB-CORE-00280 Release filters exception for servlet \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref541]]AS-WEB-CORE-00281 Deallocate exception for servlet \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref542]]AS-WEB-CORE-00283 StandardWrapperValve[\{0}]: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref543]]AS-WEB-CORE-00284 Failed to skip \{0} bytes in the underlying buffer of MultipartStream on close(). ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref544]]AS-WEB-CORE-00285 file data is empty. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref545]]AS-WEB-CORE-00286 Unable to create Random source using class [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref546]]AS-WEB-CORE-00287 The property "\{0}" is not defined for filters of type "\{1}" ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref547]]AS-WEB-CORE-00288 Error registering loader ::
+  Cause: Could not register loader
++
+  Action: Verify Object name
+
+[[sthref548]]AS-WEB-CORE-00289 Error registering jndi stream handler ::
+  Cause: Could not register jndi stream handler
++
+  Action: Verify if the application has already set a factory, if a
+  security manager exists and itscheckSetFactory method does not allow
+  the operation
+
+[[sthref549]]AS-WEB-CORE-00290 Loader has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref550]]AS-WEB-CORE-00291 No resources for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref551]]AS-WEB-CORE-00292 LifecycleException ::
+  Cause: Could not construct a class loader
++
+  Action: Verify if there is any life cycle exception
+
+[[sthref552]]AS-WEB-CORE-00293 Loader has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref553]]AS-WEB-CORE-00294 Cannot set reloadable property to \{0} ::
+  Cause: Could not set reloadable property
++
+  Action: Verify the value for the property
+
+[[sthref554]]AS-WEB-CORE-00295 WebappLoader[\{0}]: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref555]]AS-WEB-CORE-00296 No work dir for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref556]]AS-WEB-CORE-00297 Failed to create destination directory to copy resources ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref557]]AS-WEB-CORE-00298 Failed to copy resources ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref558]]AS-WEB-CORE-00299 Failed to create work directory to \{0} ::
+  Cause: Could not create work directory
++
+  Action: Verify the PATH
+
+[[sthref559]]AS-WEB-CORE-00300 File Logger has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref560]]AS-WEB-CORE-00301 File Logger has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref561]]AS-WEB-CORE-00302 Unknown container \{0} ::
+  Cause: Unknown container for implementation of StandardEngine
+  interface
++
+  Action: Verify the current container
+
+[[sthref562]]AS-WEB-CORE-00303 Null engine !! \{0} ::
+  Cause: Could not get engine
++
+  Action: Verify current container
+
+[[sthref563]]AS-WEB-CORE-00304 Unable to create javax.management.ObjectName for Logger ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref564]]AS-WEB-CORE-00305 Can't register logger \{0} ::
+  Cause: Could not register logger
++
+  Action: Verify registration is called after configure()
+
+[[sthref565]]AS-WEB-CORE-00306 Setting JAAS app name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref566]]AS-WEB-CORE-00307 Login exception authenticating username \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref567]]AS-WEB-CORE-00308 Username \{0} NOT authenticated due to failed login ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref568]]AS-WEB-CORE-00309 Username \{0} NOT authenticated due to expired account ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref569]]AS-WEB-CORE-00310 Username \{0} NOT authenticated due to expired credential ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref570]]AS-WEB-CORE-00311 error ::
+  Cause: Could not authenticate by using the current username
++
+  Action: Verify the username and credential
+
+[[sthref571]]AS-WEB-CORE-00312 Illegal digestEncoding: \{0} ::
+  Cause: Could not convert the char array to byte array with respect to
+  given charset
++
+  Action: Verify the current charset
+
+[[sthref572]]AS-WEB-CORE-00313 Access to the requested resource has been denied ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref573]]AS-WEB-CORE-00314 Configuration error: Cannot perform access control without an authenticated principal ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref574]]AS-WEB-CORE-00315 Username \{0} has role \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref575]]AS-WEB-CORE-00316 Username \{0} does NOT have role \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref576]]AS-WEB-CORE-00317 This Realm has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref577]]AS-WEB-CORE-00318 Invalid message digest algorithm \{0} specified ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref578]]AS-WEB-CORE-00319 This Realm has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref579]]AS-WEB-CORE-00320 Error digesting user credentials ::
+  Cause: Could not digest user credentials
++
+  Action: Verify the current credential
+
+[[sthref580]]AS-WEB-CORE-00321 Couldn't get MD5 digest ::
+  Cause: Could not get instance of MessageDigest based on MD5
++
+  Action: Verify if it supports a MessageDigestSpi implementation for
+  the specified algorithm
+
+[[sthref581]]AS-WEB-CORE-00322 An exception occurs when running the PrivilegedExceptionAction block. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref582]]AS-WEB-CORE-00323 Only skipped [\{0}] bytes when [\{1}] were requested ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref583]]AS-WEB-CORE-00324 Directory Listing For \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref584]]AS-WEB-CORE-00325 Up To \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref585]]AS-WEB-CORE-00326 Filename ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref586]]AS-WEB-CORE-00327 Size ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref587]]AS-WEB-CORE-00328 Last Modified ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref588]]AS-WEB-CORE-00329 Container has not called setWrapper() for this servlet ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref589]]AS-WEB-CORE-00330 Cannot call invoker servlet with a named dispatcher ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref590]]AS-WEB-CORE-00331 No servlet name or class was specified in path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref591]]AS-WEB-CORE-00332 Cannot create servlet wrapper for path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref592]]AS-WEB-CORE-00333 Cannot allocate servlet instance for path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref593]]AS-WEB-CORE-00334 Cannot deallocate servlet instance for path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref594]]AS-WEB-CORE-00335 JAXP initialization failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref595]]AS-WEB-CORE-00336 Ignored external entity, publicID: \{0}, systemID: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref596]]AS-WEB-CORE-00337 setAttribute: Session attribute with name \{0} has value that is not of type String (required for cookie-based persistence) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref597]]AS-WEB-CORE-00338 Loading Session \{0} from file \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref598]]AS-WEB-CORE-00339 Removing Session \{0} at file \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref599]]AS-WEB-CORE-00340 Saving Session \{0} to file \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref600]]AS-WEB-CORE-00341 Unable to delete file [\{0}] which is preventing the creation of the session storage location ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref601]]AS-WEB-CORE-00342 Unable to create directory [\{0}] for the storage of session data ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref602]]AS-WEB-CORE-00343 SQL Error \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref603]]AS-WEB-CORE-00344 Loading Session \{0} from database \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref604]]AS-WEB-CORE-00345 Removing Session \{0} at database \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref605]]AS-WEB-CORE-00346 Saving Session \{0} to database \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref606]]AS-WEB-CORE-00347 The database connection is null or was found to be closed. Trying to re-open it. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref607]]AS-WEB-CORE-00348 The re-open on the database failed. The database could be down. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref608]]AS-WEB-CORE-00349 A SQL exception occurred \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref609]]AS-WEB-CORE-00350 JDBC driver class not found \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref610]]AS-WEB-CORE-00351 Exception initializing random number generator of class \{0} ::
+  Cause: Could not construct and seed a new random number generator
++
+  Action: Verify if the current random number generator class is
+
+[[sthref611]]AS-WEB-CORE-00352 Seeding random number generator class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref612]]AS-WEB-CORE-00353 Failed to close randomIS. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref613]]AS-WEB-CORE-00354 Error registering ::
+  Cause: Could not construct an object name
++
+  Action: Verify the format of domain, path, host. And make sure they
+  are no null
+
+[[sthref614]]AS-WEB-CORE-00355 setAttribute: Non-serializable attribute with name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref615]]AS-WEB-CORE-00356 Session not found \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref616]]AS-WEB-CORE-00357 Checking isLoaded for id, \{0}, \{1} ::
+  Cause: Could not find session associated with given ID
++
+  Action: Verify the session ID
+
+[[sthref617]]AS-WEB-CORE-00358 Exception clearing the Store ::
+  Cause: Could not instantiate PrivilegedStoreClear()
++
+  Action: Verify if specified action's run() could remove all sessions
+  from store
+
+[[sthref618]]AS-WEB-CORE-00359 createSession: Too many active sessions ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref619]]AS-WEB-CORE-00360 Exception in the Store during load ::
+  Cause: Could not instantiate PrivilegedStoreKeys()
++
+  Action: Verify if specified action's run() does not throw exception
+
+[[sthref620]]AS-WEB-CORE-00361 Loading \{0} persisted sessions ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref621]]AS-WEB-CORE-00362 Failed load session from store ::
+  Cause: Could not restore sessions from store to manager's list
++
+  Action: Verify if the sessions are valid
+
+[[sthref622]]AS-WEB-CORE-00363 Can't load sessions from store ::
+  Cause: Could not load sessions from store
++
+  Action: Verify if there is no exception to get the array containing
+  the session identifiers of all Sessions currently saved in this Store
+
+[[sthref623]]AS-WEB-CORE-00364 Exception in the Store during removeSession ::
+  Cause: Could not instantiate PrivilegedStoreRemove()
++
+  Action: Verify if the specified action's run() could remove the
+  session with the specified session identifier from this Store
+
+[[sthref624]]AS-WEB-CORE-00365 Exception removing session ::
+  Cause: Could not remove specified session identifier from store
++
+  Action: Verify if there is no I/O error occur
+
+[[sthref625]]AS-WEB-CORE-00366 Saving \{0} persisted sessions ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref626]]AS-WEB-CORE-00367 Exception in the Store during swapIn ::
+  Cause: Could not instantiate PrivilegedStoreLoad
++
+  Action: Verify if action's run() can load and return the Session
+  associated with the specified session identifier from this Store,
+  without removing it
+
+[[sthref627]]AS-WEB-CORE-00368 Error deserializing Session \{0}: \{1} ::
+  Cause: De serialization error occur, and could not load and return the
+  session associated with the specified session identifier from this
+  Store
++
+  Action: Verify if ClassNotFoundException occur
+
+[[sthref628]]AS-WEB-CORE-00369 Session swapped in is invalid or expired ::
+  Cause: Session swapped in is invalid or expired
++
+  Action: Verify if current session is valid
+
+[[sthref629]]AS-WEB-CORE-00370 Swapping session \{0} in from Store ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref630]]AS-WEB-CORE-00371 Exception in the Store during writeSession ::
+  Cause: Could not write the provided session to the Store
++
+  Action: Verify if there are any I/O errors occur
+
+[[sthref631]]AS-WEB-CORE-00372 Error serializing Session \{0}: \{1} ::
+  Cause: Could not save the specified Session into this Store
++
+  Action: Verify if there are any I/O errors occur
+
+[[sthref632]]AS-WEB-CORE-00373 Manager has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref633]]AS-WEB-CORE-00374 No Store configured, persistence disabled ::
+  Cause: Could not prepare for the beginning of active use of the public
+  methods of this component
++
+  Action: Verify if Store has been configured
+
+[[sthref634]]AS-WEB-CORE-00375 Manager has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref635]]AS-WEB-CORE-00376 Invalid session timeout setting \{0} ::
+  Cause: Could not set session timeout from given parameter
++
+  Action: Verify the number format for session timeout setting
+
+[[sthref636]]AS-WEB-CORE-00377 Swapping session \{0} to Store, idle for \{1} seconds ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref637]]AS-WEB-CORE-00378 Too many active sessions, \{0}, looking for idle sessions to swap out ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref638]]AS-WEB-CORE-00379 Swapping out session \{0}, idle for \{1} seconds too many sessions active ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref639]]AS-WEB-CORE-00380 Backing up session \{0} to Store, idle for \{1} seconds ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref640]]AS-WEB-CORE-00381 createSession: Too many active sessions ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref641]]AS-WEB-CORE-00382 Loading persisted sessions from \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref642]]AS-WEB-CORE-00383 IOException while loading persisted sessions: \{0} ::
+  Cause: Could not creates an ObjectInputStream
++
+  Action: Verify if there are IO exceptions
+
+[[sthref643]]AS-WEB-CORE-00384 ClassNotFoundException while loading persisted sessions: \{0} ::
+  Cause: Could not deserialize and create StandardSession instance
++
+  Action: Verify the class for an object being restored can be found
+
+[[sthref644]]AS-WEB-CORE-00385 Saving persisted sessions to \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref645]]AS-WEB-CORE-00386 IOException while saving persisted sessions: \{0} ::
+  Cause: Could not creates an ObjectOutputStream instance
++
+  Action: Verify if there are any I/O exceptions
+
+[[sthref646]]AS-WEB-CORE-00387 Exception loading sessions from persistent storage ::
+  Cause: Could not load any currently active sessions
++
+  Action: Verify if the serialized class is valid and if there are any
+  I/O exceptions
+
+[[sthref647]]AS-WEB-CORE-00388 Exception unloading sessions to persistent storage ::
+  Cause: Could not save any currently active sessions
++
+  Action: Verify if there are any I/O exceptions
+
+[[sthref648]]AS-WEB-CORE-00389 Session id change event listener threw exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref649]]AS-WEB-CORE-00390 Session event listener threw exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref650]]AS-WEB-CORE-00391 Session already invalidated ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref651]]AS-WEB-CORE-00392 Session attribute event listener threw exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref652]]AS-WEB-CORE-00393 setAttribute: name parameter cannot be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref653]]AS-WEB-CORE-00394 Session binding event listener threw exception ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref654]]AS-WEB-CORE-00395 Cannot serialize session attribute \{0} for session \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref655]]AS-WEB-CORE-00396 StoreBase has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref656]]AS-WEB-CORE-00397 StoreBase has not been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref657]]AS-WEB-CORE-00398 Class loader creation threw exception ::
+  Cause: Could not create class loader
++
+  Action: Verify the availability of current repository
+
+[[sthref658]]AS-WEB-CORE-00399 Error processing command line arguments ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref659]]AS-WEB-CORE-00400 Catalina.stop: ::
+  Cause: Could not stop server
++
+  Action: Verify if the input file exist or if there are any I/O
+  exceptions, parsing exceptions
+
+[[sthref660]]AS-WEB-CORE-00401 Can't load server.xml from \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref661]]AS-WEB-CORE-00402 Catalina.start: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref662]]AS-WEB-CORE-00403 Catalina.start: ::
+  Cause: Could not initialize the server
++
+  Action: Verify if the server has already been initialized
+
+[[sthref663]]AS-WEB-CORE-00404 Initialization processed in \{0} ms ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref664]]AS-WEB-CORE-00405 Error loading configuration ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref665]]AS-WEB-CORE-00406 Server startup in \{0} ms ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref666]]AS-WEB-CORE-00407 Failed to load catalina.properties ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref667]]AS-WEB-CORE-00408 Lifecycle event data object \{0} is not a Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref668]]AS-WEB-CORE-00409 alt-dd file \{0} not found ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref669]]AS-WEB-CORE-00410 Missing application web.xml, using defaults only \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref670]]AS-WEB-CORE-00411 Parse error in application web.xml at line \{0} and column \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref671]]AS-WEB-CORE-00412 Parse error in application web.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref672]]AS-WEB-CORE-00413 Error closing application web.xml ::
+  Cause: Could not close this input stream and releases any system
+  resources associated with the stream.
++
+  Action: Verify if any I/O errors occur
+
+[[sthref673]]AS-WEB-CORE-00414 No Realm has been configured to authenticate against ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref674]]AS-WEB-CORE-00415 Cannot configure an authenticator for method \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref675]]AS-WEB-CORE-00416 Cannot instantiate an authenticator of class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref676]]AS-WEB-CORE-00417 Configured an authenticator for method \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref677]]AS-WEB-CORE-00418 No default web.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref678]]AS-WEB-CORE-00419 Missing default web.xml, using application web.xml only \{0} \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref679]]AS-WEB-CORE-00420 Parse error in default web.xml at line \{0} and column \{1} ::
+  Cause: Could not parse the content of the specified input source using
+  this Digester
++
+  Action: Verify the input parameter, if any I/O errors occur
+
+[[sthref680]]AS-WEB-CORE-00421 Parse error in default web.xml ::
+  Cause: Could not parse the content of the specified input source using
+  this Digester
++
+  Action: Verify the input parameter, if any I/O errors occur
+
+[[sthref681]]AS-WEB-CORE-00422 Error closing default web.xml ::
+  Cause: Could not close this input stream and releases any system
+  resources associated with the stream.
++
+  Action: Verify if any I/O errors occur
+
+[[sthref682]]AS-WEB-CORE-00423 ContextConfig: Initializing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref683]]AS-WEB-CORE-00424 Exception fixing docBase ::
+  Cause: Could not adjust docBase
++
+  Action: Verify if any I/O errors occur
+
+[[sthref684]]AS-WEB-CORE-00425 ContextConfig: Processing START ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref685]]AS-WEB-CORE-00426 ContextConfig: Processing STOP ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref686]]AS-WEB-CORE-00427 Security role name \{0} used in an <auth-constraint> without being defined in a <security-role> in context [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref687]]AS-WEB-CORE-00428 Security role name \{0} used in a <run-as> without being defined in a <security-role> in context [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref688]]AS-WEB-CORE-00429 Security role name \{0} used in a <role-link> without being defined in a <security-role> in context [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref689]]AS-WEB-CORE-00430 No web.xml, using defaults \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref690]]AS-WEB-CORE-00431 No engines have been defined yet ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref691]]AS-WEB-CORE-00432 Engine.start exception ::
+  Cause: Could not prepare for the beginning of active use of the public
+  methods of this component.
++
+  Action: Verify if start() be called before any of the public methods
+  of this component are utilized
+
+[[sthref692]]AS-WEB-CORE-00433 Couldn't load SSL server socket factory. ::
+  Cause: Could not instantiate ServerSocketFactory
++
+  Action: Verify access permission to this class
+
+[[sthref693]]AS-WEB-CORE-00434 Couldn't create connector. ::
+  Cause: Could not instantiate connector
++
+  Action: Verify access permission to this class
+
+[[sthref694]]AS-WEB-CORE-00435 Connector.stop ::
+  Cause: Could not remove the specified Connector from the set
+  associated from this Service
++
+  Action: Verify if connector has already been stopped or removed
+
+[[sthref695]]AS-WEB-CORE-00436 Engine.stop exception ::
+  Cause: Could not terminate the active use of the public methods of
+  this component
++
+  Action: Verify if stop() is the last one called on a given instance of
+  this component
+
+[[sthref696]]AS-WEB-CORE-00437 Specified Authenticator is not a Valve ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref697]]AS-WEB-CORE-00438 Embedded service has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref698]]AS-WEB-CORE-00439 Embedded service has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref699]]AS-WEB-CORE-00440 Lifecycle event data object \{0} is not an Engine ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref700]]AS-WEB-CORE-00441 EngineConfig: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref701]]AS-WEB-CORE-00442 EngineConfig: Processing START ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref702]]AS-WEB-CORE-00443 EngineConfig: Processing STOP ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref703]]AS-WEB-CORE-00444 Application base directory \{0} does not exist ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref704]]AS-WEB-CORE-00445 Unable to create the directory [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref705]]AS-WEB-CORE-00446 The archive [\{0}] is malformed and will be ignored: an entry contains an illegal path [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref706]]AS-WEB-CORE-00447 Failed to set last-modified time of the file \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref707]]AS-WEB-CORE-00448 Error copying \{0} to \{1} ::
+  Cause: Could not copy file
++
+  Action: Verify if channel is not available for file transfer
+
+[[sthref708]]AS-WEB-CORE-00449 [\{0}] could not be completely deleted. The presence of the remaining files may cause problems ::
+  Cause: Could not completely delete specified directory
++
+  Action: Verify the access permission to specified directory
+
+[[sthref709]]AS-WEB-CORE-00450 Lifecycle event data object \{0} is not a Host ::
+  Cause: Could not process the START event for an associated Host
++
+  Action: Verify life cycle event data object
+
+[[sthref710]]AS-WEB-CORE-00451 Deploying configuration descriptor \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref711]]AS-WEB-CORE-00452 Error deploying configuration descriptor \{0} ::
+  Cause: Could not deploy configuration descriptor
++
+  Action: Verify the URL that points to context configuration file and
+  the context path
+
+[[sthref712]]AS-WEB-CORE-00453 The war name [\{0}] is invalid. The archive will be ignored. ::
+  Cause: Could not deploy war file
++
+  Action: Verify the name war file
+
+[[sthref713]]AS-WEB-CORE-00454 Expanding web application archive \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref714]]AS-WEB-CORE-00455 Exception while expanding web application archive \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref715]]AS-WEB-CORE-00456 Exception while expanding web application archive \{0} ::
+  Cause: Could not expand web application archive
++
+  Action: Verify the URL, and if any I/O errors orrur
+
+[[sthref716]]AS-WEB-CORE-00457 Deploying web application archive \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref717]]AS-WEB-CORE-00458 Error deploying web application archive \{0} ::
+  Cause: Could not deploy web application archive
++
+  Action: Verify the context path and if specified context path is
+  already attached to an existing web application
+
+[[sthref718]]AS-WEB-CORE-00459 Deploying web application directory \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref719]]AS-WEB-CORE-00460 Error deploying web application directory \{0} ::
+  Cause: Could not deploy web application directory
++
+  Action: Verify the context path and if specified context path is
+  already attached to an existing web application
+
+[[sthref720]]AS-WEB-CORE-00461 Error undeploying Jar file \{0} ::
+  Cause: Could not remove an existing web application, attached to the
+  specified context path
++
+  Action: Verify the context path of the application
+
+[[sthref721]]AS-WEB-CORE-00462 HostConfig: restartContext [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref722]]AS-WEB-CORE-00463 Error during context [\{0}] stop ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref723]]AS-WEB-CORE-00464 Error during context [\{0}] restart ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref724]]AS-WEB-CORE-00465 HostConfig: Processing START ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref725]]AS-WEB-CORE-00466 HostConfig: Processing STOP ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref726]]AS-WEB-CORE-00467 Undeploying deployed web applications ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref727]]AS-WEB-CORE-00468 Undeploying context [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref728]]AS-WEB-CORE-00469 Error undeploying web application at context path \{0} ::
+  Cause: Could not remove an existing web application, attached to the
+  specified context path
++
+  Action: Verify the context path of the application
+
+[[sthref729]]AS-WEB-CORE-00470 Must set 'catalina.home' system property ::
+  Cause: Did not set 'catalina.home'
++
+  Action: Verify that 'catalina.home' was passed
+
+[[sthref730]]AS-WEB-CORE-00472 Exception creating instance of \{0} ::
+  Cause: Could not load application class
++
+  Action: Verify the class name
+
+[[sthref731]]AS-WEB-CORE-00473 Exception locating main() method ::
+  Cause: Could not locate the static main() method of the application
+  class
++
+  Action: Verify the access permission
+
+[[sthref732]]AS-WEB-CORE-00474 Exception calling main() method ::
+  Cause: Could not invoke main() method
++
+  Action: Verify the underlying method is inaccessible, and parameter
+  values
+
+[[sthref733]]AS-WEB-CORE-00475 Usage: java org.apache.catalina.startup.Tool [<options>] <class> [<arguments>] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref734]]AS-WEB-CORE-00476 Deploying user web applications ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref735]]AS-WEB-CORE-00477 Exception loading user database ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref736]]AS-WEB-CORE-00478 Deploying web application for user \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref737]]AS-WEB-CORE-00479 Error deploying web application for user \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref738]]AS-WEB-CORE-00480 UserConfig[\{0}]: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref739]]AS-WEB-CORE-00481 UserConfig[null]: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref740]]AS-WEB-CORE-00482 UserConfig: Processing START ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref741]]AS-WEB-CORE-00483 UserConfig: Processing STOP ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref742]]AS-WEB-CORE-00484 Failed to load manifest resources \{0} ::
+  Cause: Could not find MANIFEST from JAR file
++
+  Action: Verify the JAR file
+
+[[sthref743]]AS-WEB-CORE-00485 ExtensionValidator[\{0}][\{1}]: Required extension "\{2}" not found. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref744]]AS-WEB-CORE-00486 ExtensionValidator[\{0}]: Failure to find \{1} required extension(s). ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref745]]AS-WEB-CORE-00487 Odd number of hexadecimal digits ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref746]]AS-WEB-CORE-00488 Bad hexadecimal digit ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref747]]AS-WEB-CORE-00489 Map is currently locked ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref748]]AS-WEB-CORE-00490 UTF8 not supported ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref749]]AS-WEB-CORE-00491 Could not create a new directory: \{0} ::
+  Cause: Could not create a new directory
++
+  Action: Verify if file is directory, and access permission
+
+[[sthref750]]AS-WEB-CORE-00492 status.setContentType ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref751]]AS-WEB-CORE-00493 Internal Error ::
+  Cause: Error during invoke the servlet application
++
+  Action: Trying to invoke the servlet application
+
+[[sthref752]]AS-WEB-CORE-00494 Failed to initialize the interceptor ::
+  Cause: Error in initializing the servlet application
++
+  Action: initialize the servlet interceptor
+
+[[sthref753]]AS-WEB-CORE-00503 Failed to rename log file to \{0} for rotate logs ::
+  Cause: Could not rename log file
++
+  Action: Verify access permission and new file name
+
+[[sthref754]]AS-WEB-CORE-00504 at least this wasn't swallowed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref755]]AS-WEB-CORE-00505 Failed to create directory \{0} ::
+  Cause: Could not create directory
++
+  Action: Verify access permission
+
+[[sthref756]]AS-WEB-CORE-00506 fields was just empty or whitespace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref757]]AS-WEB-CORE-00507 unable to decode with rest of chars being: \{0} ::
+  Cause: Could not decode rest of chars
++
+  Action: Verify the current pattern
+
+[[sthref758]]AS-WEB-CORE-00508 No closing ) found for in decode ::
+  Cause: could not find closing bracket
++
+  Action: Verify if the parameter includes closing bracket
+
+[[sthref759]]AS-WEB-CORE-00509 The next characters couldn't be decoded: \{0} ::
+  Cause: Could not decode characters
++
+  Action: Verify the pattern
+
+[[sthref760]]AS-WEB-CORE-00510 End of line reached before decoding x- param ::
+  Cause: Could not decode, since end of line reached
++
+  Action: Verify the String index
+
+[[sthref761]]AS-WEB-CORE-00511 x param in wrong format. Needs to be 'x-#(...)' read the docs! ::
+  Cause: Could not decode, since x param in wrong format
++
+  Action: Verify the format of parameter
+
+[[sthref762]]AS-WEB-CORE-00512 x param in wrong format. No closing ')'! ::
+  Cause: Could not decode, since x param has no closing bracket
++
+  Action: Verify the format of parameter
+
+[[sthref763]]AS-WEB-CORE-00513 x param for servlet request, couldn't decode value: \{0} ::
+  Cause: Could not decode value, since no x param type matched
++
+  Action: Verify the current field info
+
+[[sthref764]]AS-WEB-CORE-00514 No Context configured to process this request ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref765]]AS-WEB-CORE-00515 Syntax error in request filter pattern \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref766]]AS-WEB-CORE-00516 Cannot process the error page: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref767]]AS-WEB-CORE-00517 Digester.getParser: ::
+  Cause: Could not create new SAXParser
++
+  Action: Verify the parser configuration and if SAXParser is supported
+
+[[sthref768]]AS-WEB-CORE-00518 Cannot get XMLReader ::
+  Cause: Could not get XML Reader
++
+  Action: Verify if there are XML Readers can be instantiated
+
+[[sthref769]]AS-WEB-CORE-00519 Finish event threw exception ::
+  Cause: Rules could not remove data
++
+  Action: Verify if finish() is called after all parsing methods have
+  been called
+
+[[sthref770]]AS-WEB-CORE-00520 Finish event threw error ::
+  Cause: Rules could not remove data
++
+  Action: Verify if finish() is called after all parsing methods have
+  been called
+
+[[sthref771]]AS-WEB-CORE-00521 Body event threw exception ::
+  Cause: Could not fire body()
++
+  Action: Verify if the current rule has body
+
+[[sthref772]]AS-WEB-CORE-00522 Body event threw error ::
+  Cause: Could not fire body()
++
+  Action: Verify if the current rule has body
+
+[[sthref773]]AS-WEB-CORE-00523 No rules found matching \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref774]]AS-WEB-CORE-00524 End event threw exception ::
+  Cause: Could not call end()
++
+  Action: Verify if this method is called when the end of a matching XML
+  element is encountered
+
+[[sthref775]]AS-WEB-CORE-00525 End event threw error ::
+  Cause: Could not call end()
++
+  Action: Verify if this method is called when the end of a matching XML
+  element is encountered
+
+[[sthref776]]AS-WEB-CORE-00526 Begin event threw exception ::
+  Cause: Could not call begin()
++
+  Action: Verify if this method is called when the beginning of a
+  matching XML element is encountered
+
+[[sthref777]]AS-WEB-CORE-00527 Begin event threw error ::
+  Cause: Could not call begin()
++
+  Action: Verify if this method is called when the beginning of a
+  matching XML element is encountered
+
+[[sthref778]]AS-WEB-CORE-00528 Parse Error at line \{0} column \{1}: \{2} ::
+  Cause: Parsing error occurs
++
+  Action: Verify if there are any parsing errors occur
+
+[[sthref779]]AS-WEB-CORE-00529 Parse Fatal Error at line \{0} column \{1}: \{2} ::
+  Cause: Parsing error occurs
++
+  Action: Verify if there are any parsing errors occur
+
+[[sthref780]]AS-WEB-CORE-00530 Parse Warning Error at line \{0} column \{1}: \{2} ::
+  Cause: Parsing error occurs
++
+  Action: Verify if there are any parsing errors occur
+
+[[sthref781]]AS-WEB-CORE-00531 Empty stack (returning null) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref782]]AS-WEB-CORE-00532 No Locator! ::
+  Cause: There is no document locator
++
+  Action: Verify if document locator has been set
+
+[[sthref783]]AS-WEB-CORE-00533 [SetPropertiesRule]\{0} Setting property \{1} to \{2} did not find a matching property. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref784]]AS-WEB-CORE-00534 [SetPropertyRule]\{0} Setting property \{1} to \{2} did not find a matching property. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref785]]AS-WEB-CORE-00535 Login failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref786]]AS-WEB-CORE-00536 This is request has already been authenticated ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref787]]AS-WEB-CORE-00537 No authenticator ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref788]]AS-WEB-CORE-00538 Invalid call to login while pluggable authentication method is configured ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref789]]AS-WEB-CORE-00539 Internal logout error ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref790]]AS-WEB-CORE-00540 Blocked access to external entity with publicId [\{0}] and systemId [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref791]]AS-WEB-CORE-00541 Blocked access to external entity with name [\{0}], publicId [\{1}], baseURI [\{2}] and systemId [\{3}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref792]]AS-WEB-CORE-00542 Blocked access to external subset with name [\{0}] and baseURI [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref793]]AS-WEB-CORE-00543 Fail to read file [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref794]]AS-WEB-CORE-00544 Unable to find the underlying Coyote request object (which is required to create a push request) from the request of type [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref795]]AS-WEB-CORE-00545 It is illegal to call push() before setting a path ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref796]]AS-WEB-CORE-00546 The push method should not be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref797]]AS-WEB-CORE-00547 The push method should not be an empty String ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref798]]AS-WEB-CORE-00548 The push method ''\{0}'' is not cacheable or safe ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref799]]AS-WEB-CORE-00549 The repository '\{0}' is not a directory ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref800]]AS-WEB-CORE-00550 The repository '\{0}' contains a null character ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref801]]AS-WEB-GLUE-00001 Exception in creating cache ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref802]]AS-WEB-GLUE-00002 Exception initializing cache-helper \{0}; please check your helper class implementation ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref803]]AS-WEB-GLUE-00003 Illegal CacheKeyGenerator ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref804]]AS-WEB-GLUE-00004 DefaultCacheHelper: cannot find all the required key fields in the request \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref805]]AS-WEB-GLUE-00005 CachingFilter \{0} ready; isEnabled = \{1} manager = \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref806]]AS-WEB-GLUE-00006 CachingFilter \{0} request is cacheable; key \{1} index = \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref807]]AS-WEB-GLUE-00007 CachingFilter \{0} request needs a refresh; key \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref808]]AS-WEB-GLUE-00008 CachingFilter \{0} serving response from the cache \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref809]]AS-WEB-GLUE-00009 CachingFilter \{0} pass thru; isEnabled = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref810]]AS-WEB-GLUE-00010 CachingFilter \{0} received cacheManager enabled event ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref811]]AS-WEB-GLUE-00011 CachingFilter \{0} received cacheManager disabled event ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref812]]AS-WEB-GLUE-00012 The constraint field \{0} is not found in the scope \{1}; returning cache-on-match-failure: \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref813]]AS-WEB-GLUE-00013 The constraint field \{0} value = \{1} is found in scope \{2}; returning cache-on-match: \{3} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref814]]AS-WEB-GLUE-00014 The constraint field \{0} value = \{1} is found in scope \{2}; and matches with a value \{3}; returning cache-on-match: \{4} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref815]]AS-WEB-GLUE-00015 The constraint field \{0} value = \{1} is found in scope \{2}; but didn't match any of the value constraints; returning cache-on-match-failure = \{3} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref816]]AS-WEB-GLUE-00016 Incorrect scope value [\{0}] for web application cache field name [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref817]]AS-WEB-GLUE-00017 ''greater'' expression requires a numeric value; please check your value \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref818]]AS-WEB-GLUE-00018 ''lesser'' expression requires a numeric value; please check your value [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref819]]AS-WEB-GLUE-00019 illegal value [\{0}] expr [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref820]]AS-WEB-GLUE-00020 illegal in-range constraint; specify a valid range (xxx-yyy) value [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref821]]AS-WEB-GLUE-00021 missing separator in the ''in-range'' constraint; [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref822]]AS-WEB-GLUE-00022 ''in-range'' constraint requires numeric values for the lower bound [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref823]]AS-WEB-GLUE-00023 ''in-range'' constraint requires a value for the upper bound of the range; check your value [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref824]]AS-WEB-GLUE-00024 ''in-range'' constraint requires numeric values for the upper bound [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref825]]AS-WEB-GLUE-00025 CacheTag[\{0}]: Timeout = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref826]]AS-WEB-GLUE-00026 Cache not found in the specified scope ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref827]]AS-WEB-GLUE-00027 Illegal value ([\{0}]) for scope attribute of cache tag ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref828]]AS-WEB-GLUE-00028 FlushTag: clear [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref829]]AS-WEB-GLUE-00029 FlushTag: clear cache ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref830]]AS-WEB-GLUE-00030 Process session destroyed on \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref831]]AS-WEB-GLUE-00031 Process request for ''\{0}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref832]]AS-WEB-GLUE-00032 Principal ''\{0}'' has already been authenticated ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref833]]AS-WEB-GLUE-00033 Checking for SSO cookie ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref834]]AS-WEB-GLUE-00034 SSO cookie is not present ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref835]]AS-WEB-GLUE-00035 No realm configured for this application, SSO does not apply ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref836]]AS-WEB-GLUE-00036 This application uses realm ''\{0}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref837]]AS-WEB-GLUE-00037 Checking for cached principal for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref838]]AS-WEB-GLUE-00038 Found cached principal ''\{0}'' with auth type ''\{1}'' in realm ''\{2}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref839]]AS-WEB-GLUE-00039 Ignoring SSO entry which does not match application realm ''\{0}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref840]]AS-WEB-GLUE-00040 No cached principal found, erasing SSO cookie ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref841]]AS-WEB-GLUE-00041 Deregistering sso id ''\{0}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref842]]AS-WEB-GLUE-00042 SSO expiration started. Current entries: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref843]]AS-WEB-GLUE-00043 SSO cache will expire \{0} entries ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref844]]AS-WEB-GLUE-00044 SSO expiration removing entry: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref845]]AS-WEB-GLUE-00045 Caught exception during SingleSignOn expiration ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref846]]AS-WEB-GLUE-00046 Removing session \{0} from sso id \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref847]]AS-WEB-GLUE-00047 Illegal access log pattern [\{0}], is not a valid nickname and does not contain any ''%'' ::
+  Cause: The pattern is either null or does not contain '%'
++
+  Action: Check the pattern for validity
+
+[[sthref848]]AS-WEB-GLUE-00048 Missing end delimiter in access log pattern: \{0} ::
+  Cause: An end delimiter ismissing in the access log pattern
++
+  Action: Check the pattern for validity
+
+[[sthref849]]AS-WEB-GLUE-00049 Invalid component: \{0} in access log pattern: \{1} ::
+  Cause: Access log pattern containds invalid component
++
+  Action: Check the pattern for validity
+
+[[sthref850]]AS-WEB-GLUE-00050 Error processing request received on ad-hoc path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref851]]AS-WEB-GLUE-00051 No ad-hoc servlet configured to process ad-hoc path \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref852]]AS-WEB-GLUE-00052 mgr reapInterval set = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref853]]AS-WEB-GLUE-00053 no instance level value set for mgr reapInterval ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref854]]AS-WEB-GLUE-00054 maxSessions set = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref855]]AS-WEB-GLUE-00055 no instance level value set for maxSessions ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref856]]AS-WEB-GLUE-00056 sessionFilename set = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref857]]AS-WEB-GLUE-00057 sessionIdGeneratorClassname set = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref858]]AS-WEB-GLUE-00058 storeReapInterval set = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref859]]AS-WEB-GLUE-00059 directory set = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref860]]AS-WEB-GLUE-00060 sessionMaxInactiveInterval set = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref861]]AS-WEB-GLUE-00061 no instance level value set for sessionMaxInactiveInterval ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref862]]AS-WEB-GLUE-00062 Configuring cache for web application ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref863]]AS-WEB-GLUE-00063 Added a caching filter for servlet-name = \{0} url-pattern = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref864]]AS-WEB-GLUE-00064 Added a key-field : name = \{0} scope = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref865]]AS-WEB-GLUE-00065 Added a constraint: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref866]]AS-WEB-GLUE-00066 Added a constraint-field name = \{0} scope = \{1} cache-on-match = \{2} cache-on-match-failure = \{3} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref867]]AS-WEB-GLUE-00067 Invalid max-pending-count attribute value [\{0}], using default [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref868]]AS-WEB-GLUE-00068 Unable to parse proxy port component (\{0}) of server-name attribute of network-listener \{1} ::
+  Cause: The String does not contain a parsable integer
++
+  Action: Check the proxy port string
+
+[[sthref869]]AS-WEB-GLUE-00069 Unable to parse redirect-port (\{0}) attribute of network-listener \{1}, using default: \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref870]]AS-WEB-GLUE-00070 Unable to parse acceptor-threads attribute (\{0}) of network-listener \{1}, using default: \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref871]]AS-WEB-GLUE-00071 The jk properties configuration file is not defined ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref872]]AS-WEB-GLUE-00072 JK properties file \{0} does not exist ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref873]]AS-WEB-GLUE-00073 Loading glassfish-jk.properties from \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref874]]AS-WEB-GLUE-00074 Unable to configure JK properties \{0} for connector listening to \{1} ::
+  Cause: Failed to load JK properties file
++
+  Action: Check if the properties file exists and is readable
+
+[[sthref875]]AS-WEB-GLUE-00075 Invalid attribute [\{0}] in thread-pool configuration ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref876]]AS-WEB-GLUE-00076 Unable to load ProxyHandler implementation class \{0} ::
+  Cause: An exception occurred during creating a new instance
++
+  Action: Check the exception for the error
+
+[[sthref877]]AS-WEB-GLUE-00077 \{0} not an instance of com.sun.appserv.ProxyHandler ::
+  Cause: Invalid proxy handler
++
+  Action: Check to see if the proxy handler is an instance of
+  com.sun.appserv.ProxyHandler
+
+[[sthref878]]AS-WEB-GLUE-00078 All SSL protocol variants disabled for network-listener \{0}, using SSL implementation specific defaults ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref879]]AS-WEB-GLUE-00079 All SSL cipher suites disabled for network-listener(s) \{0}. Using SSL implementation specific defaults ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref880]]AS-WEB-GLUE-00080 Unrecognized cipher: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref881]]AS-WEB-GLUE-00081 Exception when initializing monitoring for network-listener [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref882]]AS-WEB-GLUE-00082 InvokeGrizzly method=\{0} objectName=\{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref883]]AS-WEB-GLUE-00083 Exception while invoking mebean server operation [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref884]]AS-WEB-GLUE-00084 Cannot find WebContainer implementation ::
+  Cause: Web container is null
++
+  Action: Check if the mapper listener is initialized correctly
+
+[[sthref885]]AS-WEB-GLUE-00085 Cannot find Engine implementation ::
+  Cause: Engine is null
++
+  Action: Check if the mapper listener is initialized correctly
+
+[[sthref886]]AS-WEB-GLUE-00086 Error registering contexts ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref887]]AS-WEB-GLUE-00087 HTTP listener with network listener name
+\{0} ignoring registration of host with object name \{1}, because none
+of the host's associated HTTP listeners matches this network listener
+name ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref888]]AS-WEB-GLUE-00088 Register Context \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref889]]AS-WEB-GLUE-00089 Unregister Context \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref890]]AS-WEB-GLUE-00090 Register Wrapper \{0} in Context \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref891]]AS-WEB-GLUE-00091 Unable to instantiate ContainerListener of type \{0} ::
+  Cause: An exception occurred during instantiation of ContainerListener
+  of type \{0}
++
+  Action: Check the Exception for error
+
+[[sthref892]]AS-WEB-GLUE-00092 Creating connector for address=''\{0}'' port=''\{1}'' protocol=''\{2}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref893]]AS-WEB-GLUE-00093 Enabling file-based persistence for web module [\{0}]''s sessions ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref894]]AS-WEB-GLUE-00094 Exception during invocation of PreDestroy-annotated method on JSP tag handler [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref895]]AS-WEB-GLUE-00095 ServerContext is null for ResourceInjector ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref896]]AS-WEB-GLUE-00096 Enabling no persistence for web module [\{0}]''s sessions: persistence-type = [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref897]]AS-WEB-GLUE-00097 Unable to load session uuid generator [\{0}] ::
+  Cause: An exception occurred during loading session uuid generator
++
+  Action: Check the Exception for the error
+
+[[sthref898]]AS-WEB-GLUE-00098 Unable to write access log file \{0} ::
+  Cause: An exception occurred writing to access log file
++
+  Action: Check the exception for the error
+
+[[sthref899]]AS-WEB-GLUE-00099 Setting accesslog directory for virtual server ''\{0}'' to \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref900]]AS-WEB-GLUE-00100 Invalid accessLogWriterInterval value [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref901]]AS-WEB-GLUE-00101 Invalid accessLogBufferSize value [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref902]]AS-WEB-GLUE-00102 Unable to parse max-history-files access log configuration [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref903]]AS-WEB-GLUE-00103 Unable to create \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref904]]AS-WEB-GLUE-00104 Unable to rename access log file \{0} to \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref905]]AS-WEB-GLUE-00105 Unable to remove access log file \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref906]]AS-WEB-GLUE-00106 Access logger has already been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref907]]AS-WEB-GLUE-00107 Access logger has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref908]]AS-WEB-GLUE-00108
+PersistenceStrategyBuilderFactory>>createPersistenceStrategyBuilder:
+resolvedPersistenceType = \{0}, resolvedPersistenceFrequency = \{1}
+resolvedPersistenceScope = \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref909]]AS-WEB-GLUE-00109 Could not find PersistentStrategyBuilder for persistenceType \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref910]]AS-WEB-GLUE-00110 PersistenceStrategyBuilderFactory>>createPersistenceStrategyBuilder: CandidateBuilderClassName = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref911]]AS-WEB-GLUE-00112 Unable to set request encoding [\{0}] determined from sun-web.xml deployment descriptor of web application [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref912]]AS-WEB-GLUE-00113 POST data too large ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref913]]AS-WEB-GLUE-00114 Web container config changed \{0} \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref914]]AS-WEB-GLUE-00115 Exception processing HttpService configuration change ::
+  Cause: An exception occurred during configuration change
++
+  Action: Check the exception for error
+
+[[sthref915]]AS-WEB-GLUE-00116 AvailabilityService was not defined - check domain.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref916]]AS-WEB-GLUE-00117 WebContainerAvailability not defined - check domain.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref917]]AS-WEB-GLUE-00118 globalAvailability = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref918]]AS-WEB-GLUE-00119 webContainerAvailability = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref919]]AS-WEB-GLUE-00120 webModuleAvailability = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref920]]AS-WEB-GLUE-00121 SERVER.XML persistenceType= \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref921]]AS-WEB-GLUE-00122 SERVER.XML persistenceType missing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref922]]AS-WEB-GLUE-00123 Web App Distributable \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref923]]AS-WEB-GLUE-00124 AvailabilityGloballyEnabled = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref924]]AS-WEB-GLUE-00125 instance-level persistence-type = \{0} instance-level persistenceFrequency = \{1} instance-level persistenceScope = \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref925]]AS-WEB-GLUE-00126 webAppLevelPersistenceType = \{0} webAppLevelPersistenceFrequency = \{1} webAppLevelPersistenceScope = \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref926]]AS-WEB-GLUE-00127 IN WebContainer>>ConfigureSessionManager
+after web level check AFTER_WEB_PERSISTENCE-TYPE IS = \{0}
+AFTER_WEB_PERSISTENCE_FREQUENCY IS = \{1} AFTER_WEB_PERSISTENCE_SCOPE IS
+= \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref927]]AS-WEB-GLUE-00128 Is \{0} a system app: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref928]]AS-WEB-GLUE-00129 SessionConfigurationHelper: Is AppDistributable \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref929]]AS-WEB-GLUE-00130 Invalid Session Management Configuration
+for non-distributable app [\{0}] - defaulting to memory:
+persistence-type = [\{1}] / persistenceFrequency = [\{2}] /
+persistenceScope = [\{3}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref930]]AS-WEB-GLUE-00131 IN WebContainer>>ConfigureSessionManager
+before builder factory FINAL_PERSISTENCE-TYPE IS = \{0}
+FINAL_PERSISTENCE_FREQUENCY IS = \{1} FINAL_PERSISTENCE_SCOPE IS = \{2}
+::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref931]]AS-WEB-GLUE-00132 Security role name \{0} used in an 'auth-constraint' without being defined in a 'security-role' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref932]]AS-WEB-GLUE-00133 Security role name \{0} used in a 'run-as' without being defined in a 'security-role' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref933]]AS-WEB-GLUE-00134 Security role name \{0} used in a 'role-link' without being defined in a 'security-role' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref934]]AS-WEB-GLUE-00135 The web module \{0} has been designated as the default-web-module for virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref935]]AS-WEB-GLUE-00136 Error looking up the configuration information of the default-web-module \{0} for virtual server \{1} ::
+  Cause: The web module specified is either not found or disabled or
+  does not specify this virtual server, or there was an error loading
+  its deployment descriptors
++
+  Action: Verify if the virtual server's default web module is valid
+
+[[sthref936]]AS-WEB-GLUE-00137 The default-web-module \{0} is either disabled or does not specify virtual server \{1} ::
+  Cause: The default web module is disabled or does not specify virtual
+  server
++
+  Action: Verify if the default web module is enabled and specify
+  virtual server
+
+[[sthref937]]AS-WEB-GLUE-00138 Virtual server \{0} has invalid authentication realm \{1} ::
+  Cause: The realm \{1} could not be found
++
+  Action: Verify if the realm \{1} exits for virtual server \{0}
+
+[[sthref938]]AS-WEB-GLUE-00139 Invalid sso-cookie-secure configuration \{0} for virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref939]]AS-WEB-GLUE-00140 Realm \{0} is not an instance of \{1}, and will be ignored ::
+  Cause: The realm \{0} is either NULL or is not an instance of \{1}
++
+  Action: Verify if the realm \{0} is an instance of \{1}
+
+[[sthref940]]AS-WEB-GLUE-00141 Virtual server \{0} has a property with missing name or value ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref941]]AS-WEB-GLUE-00142 Invalid redirect property value \{0} for virtual server \{1}: More than one \{2} component ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref942]]AS-WEB-GLUE-00143 Invalid redirect property value \{0} for virtual server \{1}: Missing url or url-prefix component ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref943]]AS-WEB-GLUE-00144 Invalid redirect property value \{0} for virtual server \{1}: Both url and url-prefix specified ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref944]]AS-WEB-GLUE-00145 Invalid redirect property value \{0} for virtual server \{1}: escape must be equal to yes or no ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref945]]AS-WEB-GLUE-00146 Invalid send-error property value \{0} for virtual server \{1}: More than one \{2} component ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref946]]AS-WEB-GLUE-00147 Invalid send-error property value \{0} for virtual server \{1}: Missing path component ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref947]]AS-WEB-GLUE-00148 Unable to add listener of type \{0} to virtual server \{1} ::
+  Cause: The listener is not an instance of ContainerListener or
+  LifecycleListener
++
+  Action: Verify if the listener type is supported
+
+[[sthref948]]AS-WEB-GLUE-00149 Unable to load extension class \{0} from web module \{1} ::
+  Cause: An exception occurred loading extension class
++
+  Action: Check the exception for the error
+
+[[sthref949]]AS-WEB-GLUE-00150 Object of type classname \{0} not an instance of Valve or GlassFishValve ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref950]]AS-WEB-GLUE-00151 Error adding HttpProbes. NetworkListener \{0}'s HttpCodecFilter is \{1} ::
+  Cause: HttpCodecFilter is either NULL or empty
++
+  Action: Verify the NetworkListener is valid
+
+[[sthref951]]AS-WEB-GLUE-00152 Error adding HttpProbes ::
+  Cause: An exception occurred adding HttpProbes
++
+  Action: Check the exception for the error
+
+[[sthref952]]AS-WEB-GLUE-00153 Disabling Single Sign On (SSO) for virtual server \{0} as configured ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref953]]AS-WEB-GLUE-00154 Enabling Single Sign On (SSO) for virtual server \{0} as configured ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref954]]AS-WEB-GLUE-00155 SSO entry max idle time set to \{0} for virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref955]]AS-WEB-GLUE-00156 SSO expire thread interval set to \{0} for virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref956]]AS-WEB-GLUE-00157 Allowing access to \{0} from \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref957]]AS-WEB-GLUE-00158 Denying access to \{0} from \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref958]]AS-WEB-GLUE-00159 Virtual server \{0} enabled context \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref959]]AS-WEB-GLUE-00160 Unable to delete \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref960]]AS-WEB-GLUE-00161 Unable to reconfigure access log valve ::
+  Cause: An exception occurred during access log valve reconfiguration
++
+  Action: Check the exception for error
+
+[[sthref961]]AS-WEB-GLUE-00162 Virtual server \{0} added context \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref962]]AS-WEB-GLUE-00163 Application \{0} is not found ::
+  Cause: The deployed application is not found
++
+  Action: Check if the application is valid
+
+[[sthref963]]AS-WEB-GLUE-00164 Cannot create context for undeployment ::
+  Cause: An IOException occurred during undeployment
++
+  Action: Check the exception for error
+
+[[sthref964]]AS-WEB-GLUE-00165 Successfully removed context \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref965]]AS-WEB-GLUE-00166 Modifying web.xml \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref966]]AS-WEB-GLUE-00167 Error adding HttpProbes. NetworkListener \{0}'s GrizzlyProxy is NULL ::
+  Cause: GrizzlyProxy is NULL
++
+  Action: Verify the NetworkListener is valid
+
+[[sthref967]]AS-WEB-GLUE-00168 Virtual server \{0} has been turned off ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref968]]AS-WEB-GLUE-00169 Virtual server \{0} has been disabled ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref969]]AS-WEB-GLUE-00170 Invalid redirect URL [\{0}]: Impossible to URL encode ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref970]]AS-WEB-GLUE-00171 Unknown error, loadWebModule returned null, file a bug ::
+  Cause: An exception occurred writing to access log file
++
+  Action: Check the exception for the error
+
+[[sthref971]]AS-WEB-GLUE-00172 Loading application [\{0}] at [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref972]]AS-WEB-GLUE-00173 App config customization specified to ignore descriptor's \{0} \{1} so it will not be present for the application ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref973]]AS-WEB-GLUE-00174 Overriding descriptor \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref974]]AS-WEB-GLUE-00175 Creating new \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref975]]AS-WEB-GLUE-00176 Exception during Coherence*Web shutdown for application [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref976]]AS-WEB-GLUE-00177 Loading web module \{0} in virtual server \{1} at \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref977]]AS-WEB-GLUE-00178 This web container has not yet been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref978]]AS-WEB-GLUE-00179 Property \{0} is not yet supported ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref979]]AS-WEB-GLUE-00180 Virtual server \{0} already has a web module \{1} loaded at \{2} therefore web module \{3} cannot be loaded at this context path on this virtual server ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref980]]AS-WEB-GLUE-00181 Unable to stop web container ::
+  Cause: Web container may not have been started
++
+  Action: Verify if web container is started
+
+[[sthref981]]AS-WEB-GLUE-00182 Unable to start web container ::
+  Cause: Web container may have already been started
++
+  Action: Verify if web container is not already started
+
+[[sthref982]]AS-WEB-GLUE-00183 Property element in sun-web.xml has null 'name' or 'value' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref983]]AS-WEB-GLUE-00184 Web module \{0} is not loaded in virtual server \{1} ::
+  Cause: Web module has failed to load
++
+  Action: Verify if web module is valid
+
+[[sthref984]]AS-WEB-GLUE-00185 Unable to deploy web module \{0} at root context of virtual server \{1}, because this virtual server declares a default-web-module ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref985]]AS-WEB-GLUE-00186 Unable to set default-web-module \{0} for virtual server \{1} ::
+  Cause: There is no web context deployed on the given virtual server
+  that matches the given default context path
++
+  Action: Verify if the default context path is deployed on the virtual
+  server
+
+[[sthref986]]AS-WEB-GLUE-00187 Unable to load web module \{0} at context root \{1}, because it is not correctly encoded ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref987]]AS-WEB-GLUE-00188 Unable to destroy web module deployed at context root \{0} on virtual server \{1} during undeployment ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref988]]AS-WEB-GLUE-00189 Exception setting the schemas/dtds location ::
+  Cause: A malformed URL has occurred. Either no legal protocol could be
+  found in a specification string or the string could not be parsed
++
+  Action: Verify if the schemes and dtds
+
+[[sthref989]]AS-WEB-GLUE-00191 Error loading web module \{0} ::
+  Cause: An error occurred during loading web module
++
+  Action: Check the Exception for the error
+
+[[sthref990]]AS-WEB-GLUE-00192 Undeployment failed for context \{0} ::
+  Cause: The context may not have been deployed
++
+  Action: Verify if the context is deployed on the virtual server
+
+[[sthref991]]AS-WEB-GLUE-00193 Exception processing HttpService configuration change ::
+  Cause: An error occurred during configuring http service
++
+  Action: Verify if the configurations are valid
+
+[[sthref992]]AS-WEB-GLUE-00194 Unable to set context root \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref993]]AS-WEB-GLUE-00195 Unable to disable web module at context root \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref994]]AS-WEB-GLUE-00196 Error during destruction of virtual server \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref995]]AS-WEB-GLUE-00197 Virtual server \{0} cannot be updated, because it does not exist ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref996]]AS-WEB-GLUE-00198 Created HTTP listener \{0} on host/port \{1}:\{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref997]]AS-WEB-GLUE-00199 Created JK listener \{0} on host/port \{1}:\{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref998]]AS-WEB-GLUE-00200 Created virtual server \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref999]]AS-WEB-GLUE-00201 Virtual server \{0} loaded default web module \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1000]]AS-WEB-GLUE-00202 Maximum depth for nested request dispatches set to \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1001]]AS-WEB-GLUE-00203 Unsupported http-service property \{0} is being ignored ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1002]]AS-WEB-GLUE-00204 The host name \{0} is shared by virtual servers \{1} and \{2}, which are both associated with the same HTTP listener \{3} ::
+  Cause: The host name is not unique
++
+  Action: Verify that the host name is unique
+
+[[sthref1003]]AS-WEB-GLUE-00205 Network listener \{0} referenced by virtual server \{1} does not exist ::
+  Cause: Network listener \{0} referenced by virtual server \{1} does
+  not exist
++
+  Action: Verify that the network listener is valid
+
+[[sthref1004]]AS-WEB-GLUE-00206 Web module \{0} not loaded to any virtual servers ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1005]]AS-WEB-GLUE-00207 Loading web module \{0} to virtual servers \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1006]]AS-WEB-GLUE-00208 Unloading web module \{0} from virtual servers \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1007]]AS-WEB-GLUE-00209 Context \{0} undeployed from virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1008]]AS-WEB-GLUE-00210 Context \{0} disabled from virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1009]]AS-WEB-GLUE-00211 Virtual server \{0}'s network listeners are updated from \{1} to \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1010]]AS-WEB-GLUE-00212 The class \{0} is annotated with an invalid scope ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1011]]AS-WEB-GLUE-00213 -DjvmRoute updated with \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1012]]AS-WEB-GLUE-00214 Unable to parse port number \{0} of network-listener \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1013]]AS-WEB-GLUE-00215 Virtual server \{0} set listener name \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1014]]AS-WEB-GLUE-00216 Must not disable network-listener \{0}, because it is associated with admin virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1015]]AS-WEB-GLUE-00217 Virtual server \{0} set jk listener name \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1016]]AS-WEB-GLUE-00218 virtual server \{0} has an invalid docroot \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1017]]AS-WEB-GLUE-00219 \{0} network listener is not included in \{1} and will be updated ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1018]]AS-WEB-GLUE-00220 Unable to load configuration of web module [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1019]]AS-WEB-GLUE-00221 Failed to precompile JSP pages of web module [\{0}] ::
+  Cause: An exception occurred precompiling JSP pages
++
+  Action: Check the exception for the error
+
+[[sthref1020]]AS-WEB-GLUE-00222 Unable to create custom ObjectInputStream ::
+  Cause: An exception occurred during creating ObjectInputStream
++
+  Action: Check the Exception for error
+
+[[sthref1021]]AS-WEB-GLUE-00223 Unable to create custom ObjectOutputStream ::
+  Cause: An exception occurred during creating ObjectOutputStream
++
+  Action: Check the Exception for error
+
+[[sthref1022]]AS-WEB-GLUE-00224 The default-locale attribute of locale-charset-info element is being ignored ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1023]]AS-WEB-GLUE-00226 Web module [\{0}] has a property with missing name or value ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1024]]AS-WEB-GLUE-00227 Object of type \{0} is not a valve ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1025]]AS-WEB-GLUE-00228 Unable to add valve to web module \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1026]]AS-WEB-GLUE-00229 Unable to add valve with name \{0} to web module \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1027]]AS-WEB-GLUE-00230 No method \{0}(java.lang.String) defined on valve \{1} of web module \{2} ::
+  Cause: A matching method is not found
++
+  Action: Check the method name
+
+[[sthref1028]]AS-WEB-GLUE-00231 Exception during execution of method \{0} on valve \{1} of web module \{2} ::
+  Cause: An exception occurred during method execution
++
+  Action: Check the Exception for error
+
+[[sthref1029]]AS-WEB-GLUE-00232 Valve \{0} of web module \{1} has a property without any name ::
+  Cause: The valve is missing property name
++
+  Action: Check the property name
+
+[[sthref1030]]AS-WEB-GLUE-00233 Unable to add listener of type \{0} to web module \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1031]]AS-WEB-GLUE-00234 Unable to load extension class \{0} from web module \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1032]]AS-WEB-GLUE-00235 Null property name or value for alternate docbase ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1033]]AS-WEB-GLUE-00236 Alternate docbase property value \{0} is missing a URL pattern or docbase ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1034]]AS-WEB-GLUE-00237 URL pattern \{0} for alternate docbase is invalid ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1035]]AS-WEB-GLUE-00238 Failed to parse sun-web.xml singleThreadedServletPoolSize property value (\{0}) of web module deployed at \{1}, using default (\{2}) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1036]]AS-WEB-GLUE-00239 Enabled session ID reuse for web module \{0} deployed on virtual server \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1037]]AS-WEB-GLUE-00240 Using alternate deployment descriptor \{0} for web module \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1038]]AS-WEB-GLUE-00241 Ignoring invalid property \{0} = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1039]]AS-WEB-GLUE-00242 Unable to save sessions for web module \{0} during redeployment ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1040]]AS-WEB-GLUE-00243 Unable to restore sessions for web module [\{0}] from previous deployment ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1041]]AS-WEB-GLUE-00244 Webservice based application, requires Metro to be installed. Run updatecenter client located in bin folder to install Metro ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1042]]AS-WEB-GLUE-00245 WebModule[\{0}]: Setting delegate to \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1043]]AS-WEB-GLUE-00246 WebModule[\{0}]: Adding \{1} to the classpath ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1044]]AS-WEB-GLUE-00247 extra-class-path component \{0} is not a valid pathname ::
+  Cause: A MalformedURLException occurred
++
+  Action: Check the extra-class-path component
+
+[[sthref1045]]AS-WEB-GLUE-00248 class-loader attribute dynamic-reload-interval in sun-web.xml not supported ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1046]]AS-WEB-GLUE-00249 IN WebContainer>>ConfigureSessionManager
+before builder factory FINAL_PERSISTENCE-TYPE IS = \{0}
+FINAL_PERSISTENCE_FREQUENCY IS = \{1} FINAL_PERSISTENCE_SCOPE IS = \{2}
+::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1047]]AS-WEB-GLUE-00250 PersistenceStrategyBuilder class = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1048]]AS-WEB-GLUE-00251 Property [\{0}] is not yet supported ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1049]]AS-WEB-GLUE-00252 WebModule[\{0}] configure cookie properties \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1050]]AS-WEB-GLUE-00253 Unable to add listener of type: \{0},
+because it does not implement any of the required
+ServletContextListener, ServletContextAttributeListener,
+ServletRequestListener, ServletRequestAttributeListener,
+HttpSessionListener, or HttpSessionAttributeListener interfaces ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1051]]AS-WEB-GLUE-00254 Configured an authenticator for method \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1052]]AS-WEB-GLUE-00255 [\{0}] failed to unbind namespace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1053]]AS-WEB-GLUE-00256 No Realm with name [\{0}] configured to authenticate against ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1054]]AS-WEB-GLUE-00257 Cannot configure an authenticator for method \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1055]]AS-WEB-GLUE-00258 Cannot instantiate an authenticator of class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1056]]AS-WEB-GLUE-00259 Lifecycle event data object [\{0}] is not a WebModule ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1057]]AS-WEB-GLUE-00260 jsp-config property for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1058]]AS-WEB-GLUE-00261 sysClasspath for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1059]]AS-WEB-GLUE-00262 Error creating cache manager and configuring the servlet caching subsystem ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1060]]AS-WEB-GLUE-00263 Cache Manager started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1061]]AS-WEB-GLUE-00264 Cache Manager stopped ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1062]]AS-WEB-GLUE-00265 *** InstanceEvent: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1063]]AS-WEB-GLUE-00266 Obtained securityContext implementation class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1064]]AS-WEB-GLUE-00267 Failed to obtain securityContext implementation class ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1065]]AS-WEB-GLUE-00268 Exception during processing of event of type \{0} for web module \{1} ::
+  Cause: An exception occurred during processing event type
++
+  Action: Check the exception for the error
+
+[[sthref1066]]AS-WEB-GLUE-00269 No ServerContext in WebModule [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1067]]AS-WEB-GLUE-00270 ContainerEvent: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1068]]AS-WEB-GLUE-00271 Exception during invocation of InjectionManager.destroyManagedObject on \{0} of web module \{1} ::
+  Cause: An exception occurred during destroyManagedObject
++
+  Action: Check the exception for the error
+
+[[sthref1069]]AS-WEB-GLUE-00272 Network Listener named \{0} does not exist. Creating or using the named protocol element instead. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1070]]AS-WEB-GLUE-00273 Network Listener named \{0} to which this ssl element is being added already has an ssl element. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1071]]AS-WEB-GLUE-00274 HTTP Listener named \{0} not found ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1072]]AS-WEB-GLUE-00275 Ssl element does not exist for Listener named \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1073]]AS-WEB-GLUE-00276 Error in parsing default-web.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1074]]AS-WEB-GLUE-00277 An authentication method was not defined in the web.xml descriptor. Using default BASIC for login configuration. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1075]]AS-WEB-GLUE-00278 [\{0}] is not a valid authentication method ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1076]]AS-WEB-GLUE-00279 Invalid URL Pattern: [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1077]]AS-WEB-GLUE-00280 Cannot load class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1078]]AS-WEB-GLUE-00281 Beginning JSP Precompile... ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1079]]AS-WEB-GLUE-00282 Finished JSP Precompile... ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1080]]AS-WEB-GLUE-00283 Cannot delete file: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1081]]AS-WEB-GLUE-00285 Exception getting Validator Factory from JNDI: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1082]]AS-WEB-HA-00001 Exception during removing synchronized from backing store ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1083]]AS-WEB-HA-00002 Exception during removing expired session from backing store ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1084]]AS-WEB-HA-00003 Error creating inputstream ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1085]]AS-WEB-HA-00004 Exception during deserializing the session ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1086]]AS-WEB-HA-00005 Exception occurred in getSession ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1087]]AS-WEB-HA-00006 Failed to remove session from backing store ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1088]]AS-WEB-HA-00007 Required version NumberFormatException ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1089]]AS-WEB-HA-00008 Could not create backing store ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1090]]AS-WEB-NAMING-00001 Canonical Pathname cannot be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1091]]AS-WEB-NAMING-00002 Outside webapp not allowed \{0} \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1092]]AS-WEB-NAMING-00003 Absolute Pathname cannot be null \{0} \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1093]]AS-WEB-NAMING-00004 Canonical pathname \{0} equals to absolute pathname \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1094]]AS-WEB-NAMING-00005 File cannot be read \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1095]]AS-WEB-NAMING-00006 Could not get dir listing for \{0} ::
+  Cause: Some IO error occurred such as bad file permissions
++
+  Action: Verify the file descriptors
+
+[[sthref1096]]AS-WEB-NAMING-00007 Document base \{0} does not exist or is not a readable directory ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1097]]AS-WEB-NAMING-00008 Document base cannot be null ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1098]]AS-WEB-NAMING-00009 Resource \{0} not found ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1099]]AS-WEB-NAMING-00010 Name \{0} is already bound in this Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1100]]AS-WEB-NAMING-00011 Bind failed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1101]]AS-WEB-NAMING-00012 Unbind failed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1102]]AS-WEB-NAMING-00013 Failed to rename [\{0}] to [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1103]]AS-WEB-NAMING-00014 Unknown context name : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1104]]AS-WEB-NAMING-00015 No naming context bound to this thread ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1105]]AS-WEB-NAMING-00016 No naming context bound to this class loader ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1106]]AS-WEB-NAMING-00017 Name is not bound to a Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1107]]AS-WEB-NAMING-00018 Name is not bound to a Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1108]]AS-WEB-NAMING-00019 Name is not bound to a Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1109]]AS-WEB-NAMING-00020 Context is read only ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1110]]AS-WEB-NAMING-00021 Name is not valid ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1111]]AS-WEB-NAMING-00022 Name \{0} is already bound in this Context ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1112]]AS-WEB-NAMING-00023 Can't generate an absolute name for this namespace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1113]]AS-WEB-NAMING-00024 Unable to restore original system properties ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1114]]AS-WEB-NAMING-00025 This context must be accessed through a java: URL ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1115]]AS-WEB-NAMING-00026 Exception closing WAR File \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1116]]AS-WEB-NAMING-00027 Doc base must point to a WAR file ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1117]]AS-WEB-NAMING-00028 Invalid or unreadable WAR file : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1118]]AS-CDI-00001 Setting Context Class Loader for \{0} to \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1119]]AS-CDI-00002 BeanDeploymentArchiveImpl::addBeanClass - adding \{0} to \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1120]]AS-CDI-00003 \{0} not added to beanClasses ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1121]]AS-CDI-00004 Processing \{0} as it has \{1} or \{2}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1122]]AS-CDI-00005 Error while trying to load Bean Class \{0} : \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1123]]AS-CDI-00006 Processing WEB-INF/lib in \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1124]]AS-CDI-00007 WEB-INF/lib: considering \{0} as a bean archive and hence added another BDA for it. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1125]]AS-CDI-00008 WEB-INF/lib: skipping \{0} as it doesn't have beans.xml. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1126]]AS-CDI-00009 JAR processing: \{0} as a Bean archive jar since it has META-INF/beans.xml. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1127]]AS-CDI-00010 Ensure \{0} is associated with \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1128]]AS-CDI-00011 Ensure web lib jar visibility. Updating \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1129]]AS-CDI-00012 Ensure web lib jar visibility. Updating \{0} to include \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1130]]AS-CDI-00013 Collecting jar info for \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1131]]AS-CDI-00014 Error reading archive. \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1132]]AS-CDI-00015 Collecting rar info for \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1133]]AS-CDI-00016 Using Context Class Loader. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1134]]AS-CDI-00017 Context Class Loader is null. Using DeploymentImpl's classloader. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1135]]AS-CDI-00018 Creating deployment for archive: \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1136]]AS-CDI-00019 getBeanDeploymentArchives returning \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1137]]AS-CDI-00020 loadBeanDeploymentArchive for beanClass \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1138]]AS-CDI-00021 loadBeanDeploymentArchive checking for \{0} in root BDA \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1139]]AS-CDI-00022 loadBeanDeploymentArchive An existing BDA has this class \{0}. Adding this class as a bean class it to existing bda: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1140]]AS-CDI-00023 loadBeanDeploymentArchive checking for \{0} in subBDA \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1141]]AS-CDI-00024 loadBeanDeploymentArchive beanClass \{0} not found in the BDAs of this deployment. Creating a new BDA. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1142]]AS-CDI-00025 loadBeanDeploymentArchive new BDA \{0} created. Adding new BDA to all root BDAs of this deployment. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1143]]AS-CDI-00026 loadBeanDeploymentArchive for beanClass \{0} returning the newly created BDA \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1144]]AS-CDI-00027 Exception thrown while scanning for library jars. \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1145]]AS-CDI-00028 Processing \{0} as it has one or more qualified CDI-annotated beans ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1146]]AS-CDI-00029 JAR processing: \{0} since it contains one or more classes with a scope annotation ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1147]]AS-CDI-00030 BDAImpl::ensureWebLibJarVisibility - \{0} being associated with \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1148]]AS-CDI-00031 BDAImpl::ensureWebLibJarVisibility - updating \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1149]]AS-CDI-00032 BDAImpl::ensureWebLibJarVisibility - updating \{0} to include \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1150]]AS-CDI-00033 Error reading archive : \{0} ::
+  Cause: MalformedURLException reading entry from the archive.
++
+  Action: Verify the archive is not corrupt.
+
+[[sthref1151]]AS-CDI-00034 TCL is null. Using DeploymentImpl's classloader ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1152]]AS-CDI-00035 Could not create WeldELContextListener instance. \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1153]]AS-CDI-00036 Exception in WeldBootstrap.shutdown. \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1154]]AS-CDI-00037 jakarta.jms.MessageListener Class available, so need to fire PIT events to MDBs ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1155]]AS-CDI-00038 \{0} is an MDB and so need to fire a PIT event to it. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1156]]AS-CDI-00039 WeldDeployer adding injectionServices \{0} for \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1157]]AS-CDI-00040 Unable to create URI for URL: \{0}. Exception: \{1} ::
+  Cause: URL for META-INF/services/faces-config.xml is invalid.
++
+  Action: Verify META-INF/services/faces-config.xml exists.
+
+[[sthref1158]]AS-CDI-00041 Trying to register interceptor: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1159]]AS-CDI-00042 Adding interceptor: \{0} for EJB: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1160]]AS-CDI-00043 getBDAForBeanClass -- search in \{0} for \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1161]]AS-CDI-00044 JCDIServiceImpl.getBDAForBeanClass: TopLevelBDA \{0} contains beanClassName: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1162]]AS-CDI-00045 JCDIServiceImpl.getBDAForBeanClass: subBDA \{0} contains beanClassName: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1163]]AS-JTA-00001 Encountered NamingException while attempting to acquire transaction manager for Transactional annotation interceptors \{0} ::
+  Cause: Transaction annotation processing for the Naming
++
+  Action: Fix the issue for the Naming exception
+
+[[sthref1164]]AS-JTA-00002 About to setRollbackOnly from @Transactional interceptor on transaction: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1165]]AS-JTA-00003 No ComponentInvocation present for @Transactional annotation processing. Restriction on use of UserTransaction will not be enforced. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1166]]AS-JTA-00004 In MANDATORY TransactionalInterceptor ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1167]]AS-JTA-00005 In NEVER TransactionalInterceptor ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1168]]AS-JTA-00006 In NOT_SUPPORTED TransactionalInterceptor ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1169]]AS-JTA-00007 Managed bean with Transactional annotation and TxType of NOT_SUPPORTED called inside a transaction context. Suspending transaction... ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1170]]AS-JTA-00008 Managed bean with Transactional annotation and TxType of NOT_SUPPORTED called inside a transaction context. Suspending transaction failed due to \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1171]]AS-JTA-00009 In REQUIRED TransactionalInterceptor ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1172]]AS-JTA-00010 Managed bean with Transactional annotation and TxType of REQUIRED called outside a transaction context. Beginning a transaction... ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1173]]AS-JTA-00011 Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during begin \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1174]]AS-JTA-00012 Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during commit \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1175]]AS-JTA-00013 In REQUIRES_NEW TransactionalInterceptor ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1176]]AS-JTA-00014 Managed bean with Transactional annotation and TxType of REQUIRES_NEW called inside a transaction context. Suspending before beginning a transaction... ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1177]]AS-JTA-00015 Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during begin \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1178]]AS-JTA-00016 Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during commit \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1179]]AS-JTA-00017 Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during resume \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1180]]AS-JTA-00018 In SUPPORTS TransactionalInterceptor ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1181]]AS-WSCONNECTOR-00046 Invalid Deployment Descriptors element \{0} value \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1182]]AS-WSCONNECTOR-00050 Following exception was thrown ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1183]]AS-WSCONNECTOR-00057 JAX-WS RI specific descriptor (\{1})
+is found in the archive \{0} and \nhence Enterprise Web Service (109)
+deployment is disabled for this archive to avoid duplication of
+services. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1184]]AS-WSCONNECTOR-00201 Handler class \{0} specified in deployment descriptor not found. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1185]]AS-WSCONNECTOR-00202 Handler class \{0} specified in handler file \{1} cannot be loaded. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1186]]AS-WSCONNECTOR-00203 Warning : Web service endpoint \{0} is not tied to a component. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1187]]AS-WSCONNECTOR-00204 Warning: Web service endpoint \{0} component link \{1} is not valid. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1188]]AS-WSCONNECTOR-00205 URL mapping for web service \{0} already exists. Is port-component-name in webservices.xml correct? ::
+  Cause: Invalid port-component-name value in webservices.xml.
++
+  Action: Fix port-component-name element in webservices.xml.
+
+[[sthref1189]]AS-WSJSR109IMPL-00001 Failed to load deployment descriptor, aborting. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1190]]AS-WSJSR109IMPL-00002 WebService wsdl file \{0} not found in archive \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1191]]AS-WSJSR109IMPL-00003 Exception while processing catalog \{0} Reason : \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1192]]AS-WSJSR109IMPL-00004 Unable to create new File \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1193]]AS-WSJSR109IMPL-00006 WebService \{0} has a JAXWS and a JAXRPC endpoint; this is not supported now. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1194]]AS-WSJSR109IMPL-00011 Runtime settings error. Cannot find servlet-impl-class for endpoint \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1195]]AS-WSJSR109IMPL-00012 Cannot proceed with JaxrpcCodegen. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1196]]AS-WSJSR109IMPL-00013 Parsing error line \{0}, uri \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1197]]AS-WSJSR109IMPL-00014 Error parsing WSDL \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1198]]AS-WSJSR109IMPL-00018 Webservice Endpoint deployed \{0}\n listening at address at \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1199]]AS-WSJSR109IMPL-00019 EJB Endpoint deployed \{0}\n listening at address at \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1200]]AS-WSJSR109IMPL-00020 File \{0} not found. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1201]]AS-WSJSR109IMPL-00021 MTOM is valid only for SOAP Bindings; Ignoring Enable-MTOM for port \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1202]]AS-WSJSR109IMPL-00033 Implicit mapping not supported; ignoring for now; Remove *. specified in the url-pattern. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1203]]AS-WSJSR109IMPL-00034 Two web services are being deployed with the same endpoint URL \{0}; The service that gets loaded last will always be the one that is active for this URL. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1204]]AS-WSJSR109IMPL-00043 Exception while tracing request: \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1205]]AS-WSJSR109IMPL-00044 Exception while tracing response: \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1206]]AS-WSJSR109IMPL-00047 JAXWS WebServiceDispatcher \{0} entering for \{1} and query string \{2}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1207]]AS-WSJSR109IMPL-00048 Ejb endpoint exception. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1208]]AS-WSJSR109IMPL-00049 Unable to find adapter for endpoint \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1209]]AS-WSJSR109IMPL-00050 Following exception was thrown: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1210]]AS-WSJSR109IMPL-00051 Client not authorized for invocation of \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1211]]AS-WSJSR109IMPL-00052 The following error was thrown by ServletPreHandler which is the first handler in the handler chain \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1212]]AS-WSJSR109IMPL-00053 The following error was thrown by ServletPostHandler which is the last handler in the handler chain \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1213]]AS-WSJSR109IMPL-00054 Error registering endpoint \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1214]]AS-WSJSR109IMPL-00055 Error unregistering endpoint \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1215]]AS-WSJSR109IMPL-00056 Deployment cannot proceed as the ejb has a null endpoint address uri. Potential cause may be webservice endpoints not supported in embedded ejb case. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1216]]AS-WSJSR109IMPL-00057 WebService \{0} type is declared as \{1} but should be either as a JAX-WS or JAX-RPC. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1217]]AS-WSJSR109IMPL-00070 Unsupported method request = [\{0}] for endpoint \{1} at \{2}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1218]]AS-WSJSR109IMPL-00071 invocation error on ejb endpoint \{0} at \{1} : \{2}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1219]]AS-WSJSR109IMPL-00072 Cannot initialize endpoint \{0} : error is : ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1220]]AS-WSJSR109IMPL-00073 Error In EjbRuntimeEndpointInfo ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1221]]AS-WSJSR109IMPL-00074 Missing internal monitoring info to trace \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1222]]AS-WSJSR109IMPL-00075 null message POSTed to ejb endpoint \{0} at \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1223]]AS-WSJSR109IMPL-00076 Invalid request scheme for Endpoint \{0}. Expected ''\{1}'', received ''\{2}''. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1224]]AS-WSJSR109IMPL-00077 authentication failed for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1225]]AS-WSJSR109IMPL-00078 Servlet web service endpoint ''\{0}'' failure ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1226]]AS-WSJSR109IMPL-00079 Error occured ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1227]]AS-WSJSR109IMPL-00080 Error invoking servlet impl ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1228]]AS-WSJSR109IMPL-00081 Servlet web service endpoint ''\{0}'' HTTP GET error ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1229]]AS-WSJSR109IMPL-00082 Deployment failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1230]]AS-WSJSR109IMPL-00083 Cannot load the wsdl from the aplication: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1231]]AS-WSJSR109IMPL-00084 Creating endpoint with packaged WSDL \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1232]]AS-WSJSR109IMPL-00085 Metadata documents: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1233]]AS-WSJSR109IMPL-00086 For endpoint \{0}, Ignoring configuration \{1} in weblogic-webservices.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1234]]AS-WSJSR109IMPL-00087 For endpoint \{0}, Unsupported configuration \{1} in weblogic-webservices.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1235]]AS-WSJSR109IMPL-00088 Unexpected error in EJB WebService endpoint post processing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1236]]AS-WSJSR109IMPL-00089 Error in resolving the catalog ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1237]]AS-WSJSR109IMPL-00090 In doWebServicesDeployment: using local web services. There are \{0}. The app has total of \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1238]]AS-WSJSR109IMPL-00091 In doWebServicesDeployment: using web services via extension \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1239]]AS-WSJSR109IMPL-00092 File already exists \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1240]]AS-WSJSR109IMPL-00093 Directory already exists \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1241]]AS-WSJSR109IMPL-00094 Received HTTP GET containing text/xml content for endpoint \{0} at \{1}. HTTP POST should be used instead. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1242]]AS-WSJSR109IMPL-00095 Serving up final wsdl \{0} for \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1243]]AS-WSJSR109IMPL-00096 Failure serving WSDL for web service \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1244]]AS-WSJSR109IMPL-00097 Invalid wsdl request for web service \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1245]]AS-WSJSR109IMPL-00098 Unable to load impl class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1246]]AS-WSJSR109IMPL-00099 Cannot write out a HTTP XML exception : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1247]]AS-WSJSR109IMPL-00100 cannot write SOAPFault to the HTTP response ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1248]]AS-WSJSR109IMPL-00101 Cannot create soap fault for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1249]]AS-WSJSR109IMPL-00102 Class \{0} not found during PreDestroy processing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1250]]AS-WSJSR109IMPL-00103 Handler class \{0} not found during PreDestroy processing ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1251]]AS-WSJSR109IMPL-00104 Failure while calling PostConstruct/PreDestroy method ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1252]]AS-WSJSR109IMPL-00105 Unable to load handler class \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1253]]AS-WSJSR109IMPL-00106 Handler \{0} instance injection failed: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1254]]AS-WSJSR109IMPL-00107 Cannot log SOAP Message \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1255]]AS-WSJSR109IMPL-00108 Exception in creating endpoint ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1256]]AS-WSJSR109IMPL-00109 deleting directory failed : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1257]]AS-WSJSR109IMPL-00110 creating directory failed : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1258]]AS-WSJSR109IMPL-00111 Invoking wsimport with \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1259]]AS-WSJSR109IMPL-00112 wsimport successful ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1260]]AS-WSJSR109IMPL-00113 wsimport failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1261]]AS-WSJSR109IMPL-00114 authentication succeeded for endpoint ''\{0}'' in \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1262]]AS-WSJSR109IMPL-00115 wsimport successful ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1263]]AS-WSJSR109IMPL-00116 missing implementation class for \{0} ::
+  Cause: No class defined in deployment descriptor
++
+  Action: add implementation class definition to deployment descriptor
+
+[[sthref1264]]AS-WSJSR109IMPL-00117 Web service endpoint \{0} component link \{1} is not valid ::
+  Cause: Component link in webservices.xml is invalid
++
+  Action: check port-component-name matches the name of service
+  implementation bean and check component link in webservices.xml
+
+[[sthref1265]]AS-WSJSR109IMPL-00120 destroyManagedObject failed for Handler \{0} for Service \{1} with error \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1266]]AS-WSJSR109IMPL-00121 Module type ''\{0}'' is not supported. ::
+  Cause: Deployed module is not a web application nor ejb module.
++
+  Action: Make sure web service is implemented in EJB module or Web
+  Application.
+
+[[sthref1267]]AS-WSJSR109IMPL-00122 \{0} does not support \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1268]]AS-WSJSR109IMPL-00123 Going to fetch ServletAdapter holding wsdl content for web service \{0} based on url: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1269]]AS-WSMETROGLUE-10001 Loading WS-TX Services. Please wait. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1270]]AS-WSMETROGLUE-10002 WS-TX Services successfully started. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1271]]AS-WSMETROGLUE-10003 WS-TX Services application was deployed explicitly. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1272]]AS-WSMETROGLUE-10004 Cannot deploy or load WS-TX Services: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1273]]AS-WSMETROGLUE-10010 Web service endpoint deployment events listener registered successfully. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1274]]AS-WSMETROGLUE-10011 Endpoint deployment even received. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1275]]AS-WSMETROGLUE-10012 Endpoint undeployment even received. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1276]]AS-WSMETROGLUE-10020 High availability environment configuration injected into Metro high availability provider. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1277]]AS-WSMETROGLUE-19998 Exception occurred retrieving port configuration for WSTX service. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1278]]AS-WSMETROGLUE-19999 Caught unexpected exception. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1279]]AS-WSSOAPTCP-00001 Initialize SOAP/TCP protocol for port: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1280]]AS-WSSOAPTCP-00002 Can not convert SOAP/TCP protocol id to byte array. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1281]]AS-WSSOAPTCP-00003 SOAP/TCP endpoint removed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1282]]AS-WSSOAPTCP-00004 SOAP/TCP endpoint added: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1283]]AS-WSSOAPTCP-00006 WSTCPAdapterRegistryImpl. Register adapter. Path: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1284]]AS-WSSOAPTCP-00007 WSTCPAdapterRegistryImpl. DeRegister adapter for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1285]]AS-WSSOAPTCP-00050 Following exception was thrown ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1286]]NCLS-CFGAPI-00001 No default config found, using config \{0} as the default config for the cluster \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1287]]NCLS-CFGAPI-00002 cluster property GMS_DISCOVERY_URI_LIST=\{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1288]]NCLS-CFGAPI-00003 cluster attribute gms broadcast=\{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1289]]NCLS-CFGAPI-00004 Cluster \{0} contains server instances \{1} and must not contain any instances ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1290]]NCLS-CFGAPI-00005 Unable to remove config \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1291]]NCLS-CFGAPI-00006 CopyConfig error caused by \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1292]]NCLS-CFGAPI-00007 Error when getting clusters on node dues to: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1293]]NCLS-CFGAPI-00008 Error when getting servers due to: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1294]]NCLS-CFGAPI-00009 Unable to create default Http service configuration ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1295]]NCLS-CFGAPI-00010 Cannot remove Node \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1296]]NCLS-CFGAPI-00011 Node \{0} referenced in server instance(s): \{1}. Remove instances before removing node. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1297]]NCLS-CFGAPI-00012 Can''t find the default config (an element named "default-config") in domain.xml. You may specify the name of an existing config element next time. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1298]]NCLS-CFGAPI-00013 Unable to remove server-ref \{0} from cluster \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1299]]NCLS-CFGAPI-00014 The default configuration template (named default-config) cannot be referenced by a server. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1300]]NCLS-CFGAPI-00015 The configuration of the Domain Administration Server cannot be changed from server-config. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1301]]NCLS-CFGAPI-00016 The configuration of the Domain Administration Server (named server-config) cannot be referenced by a server. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1302]]NCLS-CFGAPI-00017 The configuration of the Domain Administration Server (named server-config) cannot be referenced by a server. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1303]]NCLS-CFGAPI-00018 A configuration that doesn't exist cannot be referenced by a server. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1304]]NCLS-CFGAPI-00019 Port= \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1305]]NCLS-CFGAPI-00020 removing default instance index for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1306]]NCLS-CFGAPI-00021 adding default instance index for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1307]]NCLS-CFGAPI-00022 Existing default-config detected during upgrade. No need to create default-config. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1308]]NCLS-CFGAPI-00023 System Property com.sun.aas.installRoot is null. We could be running in unit tests.Exiting DefaultConfigUpgrade ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1309]]NCLS-CFGAPI-00024 default-config not detected during upgrade. Running DefaultConfigUpgrade to create default-config. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1310]]NCLS-CFGAPI-00025 Failure during upgrade - could not create default-config ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1311]]NCLS-CFGAPI-00027 Failure creating SecurityService Config ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1312]]NCLS-CFGAPI-00028 Problem parsing security-service ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1313]]NCLS-CFGAPI-00029 Failed to create HttpService VirtualService config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1314]]NCLS-CFGAPI-00030 Problem parsing http-service virtual-server in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1315]]NCLS-CFGAPI-00031 Failed to create AdminService Property config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1316]]NCLS-CFGAPI-00032 Problem parsing asadmin-service property element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1317]]NCLS-CFGAPI-00033 Failure creating LogService config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1318]]NCLS-CFGAPI-00034 Failure creating ModuleLogLevel config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1319]]NCLS-CFGAPI-00035 Problem parsing module-log-levels in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1320]]NCLS-CFGAPI-00036 Failure creating SecurityService config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1321]]NCLS-CFGAPI-00037 Failure creating AuthRealm ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1322]]NCLS-CFGAPI-00038 Problem parsing auth-realm ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1323]]NCLS-CFGAPI-00039 Create AuthRealm Property failed. Attr = \{0} and Val = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1324]]NCLS-CFGAPI-00040 Problem parsing auth-realm property ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1325]]NCLS-CFGAPI-00041 Failure creating JaccProvider ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1326]]NCLS-CFGAPI-00042 Problem parsing jacc-provider ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1327]]NCLS-CFGAPI-00043 Create JaccProvider Property failed. Attr = \{0} and Val = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1328]]NCLS-CFGAPI-00044 Problem parsing jacc-provider property ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1329]]NCLS-CFGAPI-00045 Failure creating AuditModule config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1330]]NCLS-CFGAPI-00046 Create AuditModule Property failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1331]]NCLS-CFGAPI-00047 Problem parsing audit-module property ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1332]]NCLS-CFGAPI-00048 Failure creating ProviderConfig ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1333]]NCLS-CFGAPI-00049 Problem parsing provider-config ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1334]]NCLS-CFGAPI-00050 Create ProviderConfig RequestPolicy failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1335]]NCLS-CFGAPI-00051 Problem parsing request-policy property ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1336]]NCLS-CFGAPI-00052 Create ProviderConfig Property failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1337]]NCLS-CFGAPI-00053 Problem parsing provider-config property ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1338]]NCLS-CFGAPI-00054 Failure creating JavaConfig config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1339]]NCLS-CFGAPI-00055 Problem parsing jvm-options ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1340]]NCLS-CFGAPI-00056 Failure creating AvailabilityService config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1341]]NCLS-CFGAPI-00057 Failure creating NetworkConfig config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1342]]NCLS-CFGAPI-00058 Failure creating Protocols config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1343]]NCLS-CFGAPI-00059 Problem parsing protocols element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1344]]NCLS-CFGAPI-00060 Failure creating Protocol config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1345]]NCLS-CFGAPI-00061 Failure creating Http config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1346]]NCLS-CFGAPI-00062 Failure creating FileCache config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1347]]NCLS-CFGAPI-00063 Problem parsing file-cache element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1348]]NCLS-CFGAPI-00064 Failure creating Ssl config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1349]]NCLS-CFGAPI-00065 Problem parsing ssl element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1350]]NCLS-CFGAPI-00066 Failure creating HttpRedirect config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1351]]NCLS-CFGAPI-00067 Failure creating PortUnification config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1352]]NCLS-CFGAPI-00068 Failure creating ProtocolFinder config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1353]]NCLS-CFGAPI-00069 Problem parsing protocol-finder element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1354]]NCLS-CFGAPI-00070 Failure creating NetworkListeners config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1355]]NCLS-CFGAPI-00071 Problem parsing network-listeners element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1356]]NCLS-CFGAPI-00072 Failure creating NetworkListener config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1357]]NCLS-CFGAPI-00073 Problem parsing network-listener element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1358]]NCLS-CFGAPI-00074 Failure creating Transports config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1359]]NCLS-CFGAPI-00075 Problem parsing transports element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1360]]NCLS-CFGAPI-00076 Failure creating Transport config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1361]]NCLS-CFGAPI-00077 Problem parsing transport element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1362]]NCLS-CFGAPI-00078 Failure to create ThreadPools config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1363]]NCLS-CFGAPI-00079 Failure creating ThreadPool config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1364]]NCLS-CFGAPI-00080 Problem parsing thread-pool element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1365]]NCLS-CFGAPI-00081 Failure creating SystemProperty config object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1366]]NCLS-CFGAPI-00082 Problem parsing system-property element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1367]]NCLS-CFGAPI-00083 Startup class : ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1368]]NCLS-CFGAPI-00084 Successful cleaned domain.xml with ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1369]]NCLS-CFGAPI-00085 cleaning domain.xml failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1370]]NCLS-CFGAPI-00086 Instance \{0} from environment not found in domain.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1371]]NCLS-CFGAPI-00087 Successful Upgrade domain.xml with ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1372]]NCLS-CFGAPI-00088 upgrading domain.xml failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1373]]NCLS-CFGAPI-00089 does not exist or is empty, will use backup ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1374]]NCLS-CFGAPI-00090 Problem parsing system-property element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1375]]NCLS-CFGAPI-00091 Problem parsing protocol element in domain.xml template ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1376]]NCLS-CFGAPI-00092 Total time to parse domain.xml: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1377]]NCLS-CFGAPI-00093 Exception while creating the command model for the generic command \{0} : \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1378]]NCLS-CFGAPI-00094 The CrudResolver \{0} could not find the configuration object of type \{1} where instances of \{2} should be added ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1379]]NCLS-CFGAPI-00095 A \{0} instance with a \{1} name already exist in the configuration ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1380]]NCLS-CFGAPI-00096 Exception while invoking \{0} method : \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1381]]NCLS-CFGAPI-00097 The CreationDecorator \{0} could not be found in the habitat, is it annotated with @Service? ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1382]]NCLS-CFGAPI-00098 Exception while adding the new configuration : \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1383]]NCLS-CFGAPI-00099 Exception while persisting domain.xml, changes will not be available on server restart. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1384]]NCLS-CFGAPI-00100 Exception while persisting domain.xml, file a bug at http://glassfish.java.net ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1385]]NCLS-CFGAPI-00101 config.getHttpService() null for config ''\{0}'' ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1386]]NCLS-CFGAPI-00102 Failure while upgrading domain.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1387]]NCLS-CFGAPI-00103 Cannot get default configuration for: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1388]]NCLS-CFGAPI-00104 Cannot parse default module configuration ::
+  Cause: Parsing for the default module configuration failed.
++
+  Action: Take appropriate action based on the exception stack trace in
+  the log message.
+
+[[sthref1389]]NCLS-CFGAPI-00105 Failed to find the suitable method in returnException: \{0} : \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1390]]NCLS-CFGAPI-00106 Cannot get parent config bean for: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1391]]NCLS-CFGAPI-00107 The provided path is not valid: \{0} resolved to component name: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1392]]NCLS-CFGAPI-00108 Cannot set config bean due to exception thrown. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1393]]NCLS-CFGAPI-00109 Cannot set config bean for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1394]]NCLS-CFGAPI-00110 Cannot remove config bean named \{0} as it does not exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1395]]NCLS-CFGAPI-00111 Cannot get extension type \{0} for \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1396]]NCLS-CFGAPI-00112 Failed to execute the command create-module-config ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1397]]NCLS-CFGAPI-00113 Failed to show all default configurations not merged with domain configuration under target \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1398]]NCLS-CFGAPI-00114 Failed to create all default configuration elements that are not present in the domain.xml under target \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1399]]NCLS-CFGAPI-00119 Failed to create module configuration for \{0} under the target \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1400]]NCLS-CFGAPI-00120 Failed to remove all configuration
+elements related to your service form domain.xml. You can use
+create-module-config --dryRun with your module name to see all relevant
+configurations and try removing the config elements. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1401]]NCLS-CFGAPI-00121 Failed to get active configuration for \{0} under the target \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1402]]NCLS-CFGAPI-00122 Failed to create a ClassLoader for modules directory. ::
+  Cause: The modules directory ClassLoader could not be created due to
+  an I/O error.
++
+  Action: Take appropriate action based on the error stack trace
+  reported.
+
+[[sthref1403]]NCLS-CFGAPI-00123 Cannot add new configuration extension to the extension point. ::
+  Cause: An I/O error occurred during configuration extension addition.
++
+  Action: Take appropriate action based on the error stack trace
+  reported.
+
+[[sthref1404]]NCLS-CFGAPI-00124 Can not read default configuration. ::
+  Cause: An I/O error occurred.
++
+  Action: Take appropriate action based on the error stack trace
+  reported.
+
+[[sthref1405]]NCLS-CFGAPI-00125 Exception while creating the command model for the generic command \{0}. ::
+  Cause: An error occurred.
++
+  Action: Take appropriate action based on the error details in the log.
+
+[[sthref1406]]NCLS-CFGAPI-00126 The Config Bean \{0} cannot be loaded by the generic command implementation. ::
+  Cause: The config bean class could not be loaded.
++
+  Action: Take appropriate action based on the error stack trace
+  reported.
+
+[[sthref1407]]NCLS-CFGAPI-00127 Invalid annotated type \{0} passed to InjectionResolver:getValue() ::
+  Cause: Invalid annotated type.
++
+  Action: Take appropriate action based on the error message details in
+  the log.
+
+[[sthref1408]]NCLS-CFGAPI-00128 Failure while getting List<?> values from component ::
+  Cause: Generic CRUD command invocation failure
++
+  Action: Take appropriate action based on the error message details in
+  the log.
+
+[[sthref1409]]NCLS-CFGAPI-00129 The List type returned by \{0} must be a generic type. ::
+  Cause: Generic CRUD command invocation failure
++
+  Action: Take appropriate action based on the error message details in
+  the log.
+
+[[sthref1410]]NCLS-CFGAPI-00130 The generic type \{0} is not supported, only List<? extends ConfigBeanProxy> is supported. ::
+  Cause: Generic CRUD command invocation failure
++
+  Action: Provide a supported generic type.
+
+[[sthref1411]]NCLS-CFGAPI-00131 Failure while instrospecting \{0} to find all getters and setters. ::
+  Cause: Generic CRUD command invocation failure
++
+  Action: Provide a supported generic type.
+
+[[sthref1412]]NCLS-CFGAPI-00132 Transaction exception while injecting \{1}. ::
+  Cause: Generic CRUD command invocation failure
++
+  Action: Take appropriate action based on the error message details in
+  the log.
+
+[[sthref1413]]NCLS-CFGAPI-00133 The CrudResolver \{0} could not find the configuration object of type \{1} where instances of \{2} should be removed. ::
+  Cause: Generic delete command invocation failure
++
+  Action: Take appropriate action based on the error message details in
+  the log.
+
+[[sthref1414]]NCLS-CFGAPI-00134 Exception while creating access checks for generic command \{0}. ::
+  Cause: An error occurred.
++
+  Action: Take appropriate action based on the error details in the log.
+
+[[sthref1415]]NCLS-CFGAPI-00135 Cannot identify getter method for ListingColumn ::
+  Cause: An error occurred.
++
+  Action: Take appropriate action based on the error details in the log.
+
+[[sthref1416]]NCLS-CFGAPI-00136 An error occurred while invoking getter \{0} on ConfigBeanProxy. ::
+  Cause: An error occurred.
++
+  Action: Take appropriate action based on the error details in the log.
+
+[[sthref1417]]NCLS-CFGAPI-00137 Failure while upgrading http-service properties. ::
+  Cause: An error occurred.
++
+  Action: Take appropriate action based on the error details in the log.
+
+[[sthref1418]]NCLS-GFLAUNCHER-00001 Single and double quote characters are not allowed in the CLASSPATH environmental variable. They were stripped out for you.\nBefore: \{0}\nAfter: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1419]]NCLS-GFLAUNCHER-00002 Error Launching: \{0} ::
+  Cause: As described in the message.
++
+  Action: Fix the CLASSPATH
+
+[[sthref1420]]NCLS-GFLAUNCHER-00003 Could not locate the flashlight agent here: \{0} ::
+  Cause: As described in the message.
++
+  Action: Find the agent file.
+
+[[sthref1421]]NCLS-GFLAUNCHER-00004 Will copy glassfish/lib/templates/server.policy file to domain before upgrading. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1422]]NCLS-GFLAUNCHER-00005 JVM invocation command line:\{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1423]]NCLS-MNTG-00000 Caught an Exception: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1424]]NCLS-MNTG-00001 Caught an Exception: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1425]]NCLS-MNTG-00005 Missing Module (\{0}) From Xml Probe Providers ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1426]]NCLS-MNTG-00104 Unable to load the ProbeProvider ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1427]]NCLS-MNTG-00105 Unable to load the ProbeProvider ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1428]]NCLS-MNTG-00109 mbean-enabled flag is turned on. Enabling all the MBeans ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1429]]NCLS-MNTG-00110 mbean-enabled flag is turned off. Disabling all the MBeans ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1430]]NCLS-MNTG-00111 dtrace-enabled flag is turned on/off. Enabling/Disabling DTrace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1431]]NCLS-MNTG-00112 monitoring-enabled flag is turned on. Enabling all the Probes and Stats ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1432]]NCLS-MNTG-00113 monitoring-enabled flag is turned off. Disabling all the Stats ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1433]]NCLS-MNTG-00201 Flashlight listener registration failed for listener class: \{0} , will retry later ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1434]]NCLS-MNTG-00202 Invalid statsProvider (very likely a duplicate request), cannot unregister: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1435]]NCLS-MNTG-00203 Cannot find node \{0} for statsProvider \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1436]]NCLS-MNTG-00204 \{0} is not a ManagedObject and will not be registered with Gmbal to create an MBean ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1437]]NCLS-MNTG-00205 Gmbal registration failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1438]]NCLS-MNTG-00206 Gmbal unregistration failed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1439]]NCLS-MNTG-00207 module-monitoring-level or container-monitoring config element for \{0} does not exist ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1440]]NCLS-MNTG-00208 Error unregistering the stats provider \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1441]]NCLS-MNTG-00209 Error resetting the stats provider: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1442]]NCLS-MNTG-00210 Unable to create container-monitoring for \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1443]]NCLS-RSTCN-00001 The REST connector has been started ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1444]]NCLS-RSCL-00001 An unsupported encoding was requested: \{0}. ::
+  Cause: The input supplied can not be encoded in the requested
+  encoding.
++
+  Action: Verify that the input is valid.
+
+[[sthref1445]]NCLS-RSCL-00002 An error occurred while processing an XML document. ::
+  Cause: The input provided could not be read as an XML document.
++
+  Action: Verify that the document provided is a valid XML document.
+
+[[sthref1446]]NCLS-RSCL-00003 An I/O exception occurred. ::
+  Cause: An error occured while closing an InputStream.
++
+  Action: The error is not recoverable.
+
+[[sthref1447]]NCLS-RSCL-00004 An error occurred while processing a JSON object. ::
+  Cause: An invalid JSON string was provided and could not be read.
++
+  Action: Verify that the JSON string is valid and retry the request.
+
+[[sthref1448]]NCLS-REST-00001 Listening to REST requests at context: \{0}/domain. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1449]]NCLS-REST-00002 Incorrectly formatted entry in \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1450]]NCLS-REST-00003 An error occurred while processing the request. Please see the server logs for details. ::
+  Cause: A runtime error occurred. Please see the log file for more
+  details
++
+  Action: See the log file for more details
+
+[[sthref1451]]NCLS-REST-00004 The class specified by generator does not implement DefaultsGenerator ::
+  Cause: The generator does not implement the DefaultsGenerator
+  interface
++
+  Action: Modify the generator to implement the DefaultsGenerator
+  interface
+
+[[sthref1452]]NCLS-REST-00005 Unsupported fixed value. Supported types are String, boolean, Boolean, int, Integer, long, Long, double, Double, float, and Float ::
+  Cause: The RestModel property has specified an unsupported data type
++
+  Action: Modify the model to use one of the supported types
+
+[[sthref1453]]NCLS-REST-00006 Fixed value type does not match the property type ::
+  Cause: The value for the given property can not be converted to the
+  property's type
++
+  Action: Check the input data
+
+[[sthref1454]]NCLS-REST-00007 Cannot marshal ::
+  Cause: The system is unable to generate XML for the given object
++
+  Action: Check the logs for more details
+
+[[sthref1455]]NCLS-REST-00008 Unexpected exception during command execution. \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1456]]NCLS-REST-00009 Unable to delete directory \{0}. Will attempt deletion again upon JVM exit. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1457]]NCLS-REST-00010 Unable to delete file %s. Will attempt deletion again upon JVM exit. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1458]]NCLS-REST-00011 \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1459]]NCLS-REST-00012 Compilation failed. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1460]]NCLS-REST-00013 File creation failed: \{0} ::
+  Cause: The system was unable to create the specified file.
++
+  Action: Verify that the filesystem is writable and has sufficient disk
+  space
+
+[[sthref1461]]NCLS-REST-00014 Directory creation failed: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1462]]NCLS-REST-00015 Unexpected exception during initilization. ::
+  Cause: The system is unable to init ReST interface
++
+  Action: Check the logs for more details
+
+[[sthref1463]]NCLS-REST-00016 I/O exception: \{0} ::
+  Cause: See server log for details
++
+  Action: See server log for details.
+
+[[sthref1464]]NCLS-SRVRMGMT-00000 Caught an Exception: \{0} ::
+  Cause: see Exception message
++
+  Action: see Exception message
+
+[[sthref1465]]NCLS-SRVRMGMT-00001 Error attemping to delete temporary certificate file: \{0} ::
+  Cause: As described in the message.
++
+  Action: Delete the file manually.
+
+[[sthref1466]]NCLS-SRVRMGMT-00002 Renaming \{0} to \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1467]]NCLS-SRVRMGMT-00003 Failed to rename \{0} to \{1} ::
+  Cause: As described in the message.
++
+  Action: Check the file system.
+
+[[sthref1468]]NCLS-SRVRMGMT-00004 Failure while upgrading jvm-options from V2 to V3 ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1469]]NCLS-SRVRMGMT-00005 JVM Monitoring ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1470]]NCLS-SRVRMGMT-00006 UpTime(ms) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1471]]NCLS-SRVRMGMT-00007 Heap and NonHeap Memory(bytes) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1472]]NCLS-SRVRMGMT-00008 Failure while upgrading log-service. Could not create logging.properties file. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1473]]NCLS-SRVRMGMT-00009 Failure while upgrading log-service. Could not update logging.properties file. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1474]]NCLS-SRVRMGMT-00010 Failure while upgrading log-service ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1475]]NCLS-SRVRMGMT-00011 Could not create directory \{0} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1476]]NCLS-SRVRMGMT-00012 Could not create domain info XML file \{0} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1477]]NCLS-SRVRMGMT-00013 Missing file : \{0} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1478]]NCLS-SRVRMGMT-00014 Default port \{1} for \{0} is in use. Using \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1479]]NCLS-SRVRMGMT-00015 Port for \{0} is not specified. Using \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1480]]NCLS-SRVRMGMT-00016 Invalid Port for \{0}, should be between 1 and 65535. Using \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1481]]NCLS-SRVRMGMT-00017 Port \{1} for \{0} is in use. Using \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1482]]NCLS-SRVRMGMT-00018 Using default port \{1} for \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1483]]NCLS-SRVRMGMT-00019 Using port \{1} for \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1484]]NCLS-SRVRMGMT-00020 On Unix platforms, port numbers below 1024 may require special privileges. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1485]]NCLS-SRVRMGMT-00021 Failed to update jar \{0} with the substitutable files ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1486]]NCLS-SRVRMGMT-00022 File \{0} not present inside archive \{1} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1487]]NCLS-SRVRMGMT-00023 Error occurred while closing the stream for file \{0} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1488]]NCLS-SRVRMGMT-00024 Could not rename temporary jar \{0} file to \{1} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1489]]NCLS-SRVRMGMT-00025 Could not locate file or resource \{0} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1490]]NCLS-SRVRMGMT-00026 No processing defined for \{0} mode ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1491]]NCLS-SRVRMGMT-00027 Component \{0} is not present. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1492]]NCLS-SRVRMGMT-00028 Group \{0} is not present. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1493]]NCLS-SRVRMGMT-00029 Change-Pair \{0} referred by group \{1} is not defined. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1494]]NCLS-SRVRMGMT-00030 Invalid Mode Type \{0}. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1495]]NCLS-SRVRMGMT-00031 Found an empty <change-pair/>. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1496]]NCLS-SRVRMGMT-00032 IO Error occurred while retrieving substitutable entries from archive \{0}. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1497]]NCLS-SRVRMGMT-00033 In-memory string substitution file size is not defined. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1498]]NCLS-SRVRMGMT-00034 Key already exist in tree, Current Value : \{0} New Value : \{1}. ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1499]]NCLS-SRVRMGMT-00035 Parent node: \{0} contains child node: \{1} whose key starts with same character as the key of given node: \{2} ::
+  Cause: As described in the message.
++
+  Action: Check documentation.
+
+[[sthref1500]]NCLS-ADMIN-00001 Could not find state of instance registered in the state service ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1501]]NCLS-ADMIN-00002 Error during command replication: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1502]]NCLS-ADMIN-00003 unable to read instance state file \{0}, recreating ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1503]]NCLS-ADMIN-00004 unable to create instance state file: \{0}, exception: \{1} ::
+  Cause: The instance state file is missing and the system is trying
+  torecreated it but and exception was raised.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1504]]NCLS-ADMIN-00005 error while adding new server state to instance state: \{0} ::
+  Cause: An attempt to add a new server to the instance state file
+  failed.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1505]]NCLS-ADMIN-00006 error while adding failed command to instance state: \{0} ::
+  Cause: An attempt to add a failed command to the instance state file
+  failed.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1506]]NCLS-ADMIN-00007 error while removing failed commands from instance state: \{0} ::
+  Cause: An attempt to remove a failed command from the instance state
+  file failed.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1507]]NCLS-ADMIN-00008 error while setting instance state: \{0} ::
+  Cause: An attempt to set the state of a server in the instance state
+  file failed.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1508]]NCLS-ADMIN-00009 error while removing instance: \{0} ::
+  Cause: An attempt to remove a server from the instance state file
+  failed.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1509]]NCLS-ADMIN-00010 It appears that server [\{0}:\{1}] does not accept secure connections. Retry with --secure=false. ::
+  Cause: An attempt to invoke a command on another server failed.
++
+  Action: Check that the server is configured to accept secure
+  connections.
+
+[[sthref1510]]NCLS-ADMIN-00011 An unexpected exception occurred. ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1511]]NCLS-ADMIN-00012 The server requires a valid admin password to be set before it can start. Please set a password using the change-admin-password command. ::
+  Cause: For security reason, the server requires a valid admin password
+  before it can start.
++
+  Action: Set a password using the change-admin-password command.
+
+[[sthref1512]]NCLS-ADMIN-00013 Can not put data to cache under key \{0} ::
+  Cause: While invoking a command on another server, this server is
+  unable to cache the meta data related to the command.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1513]]NCLS-ADMIN-00014 An admin request arrived from \{0} with the domain identifier \{1} which does not match the domain identifier \{2} configured for this server's domain; rejecting the request ::
+  Cause: There is a error in the cluster or network configuration.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1514]]NCLS-ADMIN-00015 Error searching for a default admin user ::
+  Cause: An unexpected exception occurred wihle searching for the
+  default admin user.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1515]]NCLS-ADMIN-00016 Cannot read admin cache file for \{0} ::
+  Cause: An error occured while reading the admin command model cache
+  file.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1516]]NCLS-ADMIN-00017 Cannot write data to cache file for \{0} ::
+  Cause: An error occured while writing the admin command model cache
+  file.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1517]]NCLS-ADMIN-00018 Unexpected exception from command event listener. ::
+  Cause: An error occured while calling registered listener.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1518]]NCLS-CLSTR-10101 no clustername to lookup ::
+  Cause: Required information was not passed into method.
++
+  Action: File issue with all relevant information.
+
+[[sthref1519]]NCLS-CLSTR-10102 Multiple gms-adapter service for cluster \{0} ::
+  Cause: GMs module is being initialized more than once for the same
+  cluster.
++
+  Action: File issue with all relevant information.
+
+[[sthref1520]]NCLS-CLSTR-10103 GMS cannot initialize with unknown cluster ::
+  Cause: No cluster was found with this name in the domain
+  configuration.
++
+  Action: Check that domain exists in domain.xml.
+
+[[sthref1521]]NCLS-CLSTR-10104 Started GMS for instance \{0} in group \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1522]]NCLS-CLSTR-10105 Member \{0} joined group \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1523]]NCLS-CLSTR-10107 AliveAndReady for signal: \{0} for member: \{1} of group: \{2} current:[\{3}] previous:[\{4}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1524]]NCLS-CLSTR-10108 GMSAdapter for member: \{0} group: \{1} received GlassFishEventType: \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1525]]NCLS-CLSTR-10109 An exception occurred while creating the HealthHistory object: \{0} ::
+  Cause: An unexpected exception occurred.
++
+  Action: See server log for more details.
+
+[[sthref1526]]NCLS-CLSTR-10110 An exception occurred while processing GMS configuration properties: \{0} ::
+  Cause: An unexpected exception occurred.
++
+  Action: See server log for more details.
+
+[[sthref1527]]NCLS-CLSTR-10111 Ignoring group-management-service property \{0} with value of \{1} due to \{2} ::
+  Cause: An illegal argument was passed into the Shoal GMS
+  implementation.
++
+  Action: Check the server log file for more information from Shoal-GMS.
+
+[[sthref1528]]NCLS-CLSTR-10112 Error processing cluster property:\{0} value:\{1} due to exception \{2} ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the server log file for more information from Shoal-GMS.
+
+[[sthref1529]]NCLS-CLSTR-10113 Exception in getting GMS module for group \{0}: \{1} ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the server log file for more information from Shoal-GMS.
+
+[[sthref1530]]NCLS-CLSTR-10114 An exception occurred while updating the instance health history table: \{0} ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the log file for more information from Shoal-GMS.
+
+[[sthref1531]]NCLS-CLSTR-10115 start failure recovery callback for component: \{0} failed member: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1532]]NCLS-CLSTR-10116 complete failure recovery callback for component: \{0} failed member: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1533]]NCLS-CLSTR-10117 GMS failed to start. See stack trace for additional information. ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the log file for more information
+
+[[sthref1534]]NCLS-CLSTR-10118 GMS failed to start due to a runtime exception. See stack trace for additional information. ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the log file for more information
+
+[[sthref1535]]NCLS-CLSTR-10119 GMS bind interface address \{0} is invalid. Will use default value instead. ::
+  Cause: The specified bind interface address is not an active local
+  address, so it cannot be used on this node.
++
+  Action: Check that you have specified the proper address. See server
+  log for more details from GMS subsystem.
+
+[[sthref1536]]NCLS-CLSTR-10120 GMS listener port is required for cluster \{0}. Will attempt to use default of \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1537]]NCLS-CLSTR-30001 GMSAnnounceAfterStartClusterCommand: exitCode:\{0} members \{1} clusterMembers:\{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1538]]NCLS-CLSTR-30002 An exception occurred while announcing GMS group startup: \{0} ::
+  Cause: An unexpected exception occurred in the GMS implementation.
++
+  Action: Check the server log file for more information from Shoal-GMS.
+
+[[sthref1539]]NCLS-CLSTR-30003 An exception occurred while announcing GMS group shutdown: \{0} ::
+  Cause: An unexpected exception occurred in the GMS implementation.
++
+  Action: Check the server log file for more information from Shoal-GMS.
+
+[[sthref1540]]NCLS-CLSTR-30004 An exception occurred while announcing GMS group startup: \{0} ::
+  Cause: An unexpected exception occurred in the GMS implementation.
++
+  Action: Check the server log file for more information from Shoal-GMS.
+
+[[sthref1541]]NCLS-CLSTR-30005 An exception occurred while announcing GMS group shutdown: \{0} ::
+  Cause: An unexpected exception occurred in the GMS implementation.
++
+  Action: Check the server log file for more information from Shoal-GMS.
+
+[[sthref1542]]NCLS-CLSTR-10001 Unable to load GMS classes. Group management service is not available. ::
+  Cause: GMS implementation classes are not present. See
+  https://glassfish.dev.java.net/issues/show_bug.cgi?id=12850.
++
+  Action: Check that shoal-gms-impl.jar file is present.
+
+[[sthref1543]]NCLS-CLSTR-20001 Adding instance \{0} to health history table. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1544]]NCLS-CLSTR-20002 Instance \{0} was not in map when deleted from health history table. ::
+  Cause: More than one call may have been made to remove this instance
+  from the cluster. This has no other effect on the health history
+  information.
++
+  Action: No action is necessary.
+
+[[sthref1545]]NCLS-CLSTR-20003 Deleting instance \{0} from health history table. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1546]]NCLS-CLSTR-20004 Duplicate instance \{0} ignored in health history. ::
+  Cause: There may be more than one instance in the cluster with the
+  same name.
++
+  Action: Check that instance names are unique within the cluster.
+
+[[sthref1547]]NCLS-CLSTR-20005 State already known for instance \{0}. Not adding to health history table. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1548]]NCLS-CLSTR-20006 New state \{0} added for unknown instance \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1549]]NCLS-COM-00002 AMX Startup Service Shutdown. MBeans have not been unregistered: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1550]]NCLS-COM-00004 Fatal error loading AMX \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1551]]NCLS-COM-00008 AMX Startup Service: AMXLoader failed to load \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1552]]NCLS-COM-00009 AMX Startup Service: AMX ready for use, DomainRoot \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1553]]NCLS-COM-00010 AMXLoader failed to unload: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1554]]NCLS-COM-00011 ConfigBean not processed, something wrong with it \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1555]]NCLS-COM-00012 In AMXConfigLoader : Loading \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1556]]NCLS-COM-00019 Can't unregister MBean: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1557]]NCLS-COM-00020 Non-singleton ConfigBean \{0} has empty key value (name), supplying \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1558]]NCLS-COM-00021 AMX ComplianceMonitor: ValidationLevel = \{0}, UnregisterNonCompliant = \{1}, LogInaccessibleAttributes = \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1559]]NCLS-COM-00022 AMX ComplianceMonitor thread has unexpectedly quit \{0} ::
+  Cause: A JMX validation thread has unexpectedly terminated due to an
+  exception.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1560]]NCLS-COM-00023 Validating MBean \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1561]]NCLS-COM-00024 Exception validating MBean \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1562]]NCLS-COM-00025 Register children for instance name \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1563]]NCLS-COM-00027 AMX Attribute Change Notification for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1564]]NCLS-COM-00030 Attribute \{0} not found for object \{1} ::
+  Cause: An attempt to resolve an attribute failed.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1565]]NCLS-COM-00031 Can't find child of type \{0} ::
+  Cause: While removing a child, the child was not found.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1566]]NCLS-COM-00032 MBeans exist in AMX domain prior to DomainRoot (violates Parent requirement): \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1567]]NCLS-COM-00033 Can't register config MBean: type=\{0}, name=\{1}, exception=\{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1568]]NCLS-COM-00034 Unexpected thread death of AMXConfigLoaderThread ::
+  Cause: The AMX configuration loader thread received an unexpected
+  exception.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1569]]NCLS-COM-00035 Can't create children ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1570]]NCLS-COM-00036 AMXConfigStartupService.preDestroy(): stopping AMX ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1571]]NCLS-COM-00037 Illegal non-string type for \{0}.\{1}(): \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1572]]NCLS-COM-00038 Can't get field value for \{0}: exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1573]]NCLS-COM-00039 Can't getTypesImplementing for \{0}: exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1574]]NCLS-COM-00040 Can't get childrenSet() from MBean: \{0}, exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1575]]NCLS-COM-00041 Problem with MBean: \{0}, exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1576]]NCLS-COM-00042 PathnamesImpl.getAllPathnames(): unexpected Throwable: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1577]]NCLS-COM-00043 Can't get path() for MBean: \{0}, exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1578]]NCLS-COM-00044 Can't instantiate realm: \{0}, exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1579]]NCLS-COM-00045 getRealmNames(): Can't get realm names, exception: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1580]]NCLS-COM-00046 Cannot find primordial com.sun.enterprise.osgi-adapter ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1581]]NCLS-COM-00047 Stopping server forcibly ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1582]]NCLS-COM-00048 Can't get cipher suites ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1583]]NCLS-COM-00049 MBeanInfoSupport: @ManagedAttribute cannot also be @ManagedOperation: \{0}.\{1}() ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1584]]NCLS-COM-00050 MBeanInfoSupport: @ManagedAttribute not a getter or setter: \{0}.\{1}() ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1585]]NCLS-COMUTIL-00001 Failed to process class \{0} with bytecode preprocessor \{1} ::
+  Cause: As described in the message.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1586]]NCLS-COMUTIL-00002 Class \{0} is being reset to its original state ::
+  Cause: As described in the message.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1587]]NCLS-COMUTIL-00003 Class \{0} is being reset to the last successful preprocessor ::
+  Cause: As described in the message.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1588]]NCLS-COMUTIL-00004 The supplied preprocessor class \{0} is not an instance of org.glassfish.api.BytecodePreprocessor ::
+  Cause: As described in the message.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1589]]NCLS-COMUTIL-00005 Bytecode preprocessor disabled ::
+  Cause: As described in the message.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1590]]NCLS-COMUTIL-00006 Initialization failed for bytecode preprocessor \{0} ::
+  Cause: As described in the message.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1591]]NCLS-COMUTIL-00007 Error setting up preprocessor ::
+  Cause: As described in the message.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1592]]NCLS-COMUTIL-00008 Illegal max-entries [\{0}]; please check your cache configuration. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1593]]NCLS-COMUTIL-00009 Illegal MaxSize value [\{0}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1594]]NCLS-COMUTIL-00010 Error closing zip file for class path entry \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1595]]NCLS-COMUTIL-00011 An error occurred while adding URL [\{0}] to the EJB class loader. Please check the content of this URL. ::
+  Cause: An unexpected exception occurred while processing a URL.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1596]]NCLS-COMUTIL-00012 The URL entry is missing while contructing the classpath. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1597]]NCLS-COMUTIL-00013 Error closing zip file for duplicate class path entry \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1598]]NCLS-COMUTIL-00014 Exception in ASURLClassLoader ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1599]]NCLS-COMUTIL-00015 ASURLClassLoader \{1} was requested to find resource \{0} after done was invoked from the following stack trace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1600]]NCLS-COMUTIL-00016 Error: Request made to load class or resource [\{0}] on an ASURLClassLoader instance that has already been shutdown. [\{1}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1601]]NCLS-COMUTIL-00017 \{0} actually got transformed ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1602]]NCLS-COMUTIL-00018 ASURLClassLoader \{1} was requested to find class \{0} after done was invoked from the following stack trace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1603]]NCLS-COMUTIL-00019 Illegal call to close() detected ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1604]]NCLS-COMUTIL-00020 Error processing file with path \{0} in \{1} ::
+  Cause: An unexpected exception occurred while processing a file.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1605]]NCLS-COMUTIL-00021 Error checking for existing of \{0} in \{1} ::
+  Cause: An unexpected exception occurred while checking for the
+  existence of a file.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1606]]NCLS-COMUTIL-00022 Error closing an open stream during loader clean-up ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1607]]NCLS-COMUTIL-00023 Input stream has been finalized or forced closed without being explicitly closed; stream instantiation reported in following stack trace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1608]]NCLS-COMUTIL-00024 Unable to create client data directory: \{0} ::
+  Cause: An unexpected failure occurred while creating the directory for
+  the file.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1609]]NCLS-COMUTIL-00025 Exception in invokeApplicationMain [\{0}]. ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1610]]NCLS-COMUTIL-00026 The main method signature is invalid. ::
+  Cause: While invoking a main class, an invalid method was found.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1611]]NCLS-COMUTIL-00027 Error while caching the local string manager - package name may be null. ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1612]]NCLS-COMUTIL-00028 Error while constructing the local string manager object. ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1613]]NCLS-COMUTIL-00029 Error in local string manager - resource bundle is probably missing. ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1614]]NCLS-COMUTIL-00030 Error while formating the local string. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1615]]NCLS-COMUTIL-00031 Some IOException occurred ::
+  Cause: An unexpected exception occurred.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1616]]NCLS-COMUTIL-00032 Attempt to delete \{0} failed; the file is reported as non-existent ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1617]]NCLS-COMUTIL-00033 Error attempting to delete \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1618]]NCLS-COMUTIL-00034 Performing gc to try to force file closures ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1619]]NCLS-COMUTIL-00035 Attempt to rename \{0} to \{1} succeeded after \{2} retries ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1620]]NCLS-COMUTIL-00036 Attempt to rename \{0} to \{1} succeeded without any retries ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1621]]NCLS-COMUTIL-00037 Attempt to rename \{0} to \{1} failed after \{2} retries ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1622]]NCLS-COMUTIL-00038 Failed to open jar file: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1623]]NCLS-COMUTIL-00039 Attempt to use non-existent auth token \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1624]]NCLS-COMUTIL-00040 File Lock not released on \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1625]]NCLS-COMUTIL-00041 Bad Network Configuration. DNS can not resolve the hostname: \n\{0} ::
+  Cause: The hostname can't be resolved.
++
+  Action: Set the hostname correctly.
+
+[[sthref1626]]NCLS-COMUTIL-00042 BundleTracker.removedBundle null bundleID for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1627]]NCLS-COM-01001 Exception \{0} resolving password alias \{1} in property \{2}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1628]]NCLS-COM-01002 Unknown property \{0} found unresolving \{1}. ::
+  Cause: No value was found for a property. This indicates a software
+  problem.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1629]]NCLS-COM-01003 System property reference missing trailing "'}'" at \{0} in domain.xml. ::
+  Cause: A system property reference in domain.xml is invalid.
++
+  Action: Check the domain.xml file for an invalid system property
+  reference.
+
+[[sthref1630]]NCLS-COM-01004 System property reference missing starting "$'\{'" at \{0} in domain.xml. ::
+  Cause: A system property reference in domain.xml is invalid.
++
+  Action: Check the domain.xml file for an invalid system property
+  reference.
+
+[[sthref1631]]NCLS-JMX--00008 Error while shutting down AMX ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1632]]NCLS-JMX-00001 JMXStartupService and JMXConnectors have been shut down. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1633]]NCLS-JMX-00002 JMXStartupService: Stopped JMXConnectorServer: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1634]]NCLS-JMX-00003 MBean Registration Exception thrown \{0} ::
+  Cause: JMX Connector Server MBean could not be unregistered.
++
+  Action: Take appropriate action based on the exception message.
+
+[[sthref1635]]NCLS-JMX-00004 Instance Not Found Exception thrown \{0} ::
+  Cause: JMX Connector Server MBean instance not found.
++
+  Action: Take appropriate action based on the exception message.
+
+[[sthref1636]]NCLS-JMX-00005 JMXStartupService has started JMXConnector on JMXService URL \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1637]]NCLS-JMX-00006 JMXStartupService has disabled JMXConnector \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1638]]NCLS-JMX-00007 Cannot start JMX connector \{0} due to exception \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1639]]NCLS-JMX-00008 Booting AMX Listener, connection made for \{0}, now booting AMX MBeans ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1640]]NCLS-JMX-00009 Security enabled ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1641]]NCLS-JMX-00010 Attempted access to method \{0} on object \{1} rejected; user was granted \{2} but the operation reports its impact as "\{3}" ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1642]]NCLS-JMX-00011 Error stopping RMIConnector ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1643]]NCLS-JMX-00012 MyRMIJRMPServerImpl: exported on address \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1644]]NCLS-JMX-00013 MyRMIJRMPServerImpl: makeClient on address = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1645]]NCLS-JMX-00014 Error preparing SSL context ::
+  Cause: As described in the message.
++
+  Action: Please refer to the stack trace
+
+[[sthref1646]]NCLS-JMX-00015 No Key store found for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1647]]NCLS-JMX-00016 No keystores defined ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1648]]NCLS-JMX-00017 Bad maxCertLength: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1649]]NCLS-JMX-00018 JSSE keystoreload failed for type = \{0} path = \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Please refer to the stack trace
+
+[[sthref1650]]NCLS-JMX-00019 All SSL protocol variants disabled for network-listener, using SSL implementation specific defaults ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1651]]NCLS-JMX-00020 All SSL cipher suites disabled for network-listener(s). Using SSL implementation specific defaults ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1652]]NCLS-JMX-00021 Unknown cipher error for cipher \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1653]]NCLS-JMX-00022 Creating a SecureRMIClientSocketFactory @ \{0}with ssl config = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1654]]NCLS-JMX-00023 Setting SSLParams @ \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1655]]NCLS-JMX-00024 Creating a SecureRMIServerSocketFactory @ \{0} with ssl config = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1656]]NCLS-JMX-00025 SSLServerSocket \{0} and \{1} created ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1657]]NCLS-JMX-00026 Binding RMI port to single IP address = \{0}, port \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1658]]NCLS-BOOTSTRAP-00001 GlassFish requires JDK \{0}, you are using JDK version \{1}. ::
+  Cause: Incorrect JDK version is used.
++
+  Action: Please use correct JDK version.
+
+[[sthref1659]]NCLS-BOOTSTRAP-00002 Using \{0} as the framework configuration file. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1660]]NCLS-BOOTSTRAP-00003 Could not extract archive \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1661]]NCLS-BOOTSTRAP-00004 Could not find RAR [\{0}] location [\{1}] after extraction. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1662]]NCLS-BOOTSTRAP-00005 Can not start bundle \{0} because it is not contained in the list of installed bundles. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1663]]NCLS-BOOTSTRAP-00006 Failed to start \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1664]]NCLS-BOOTSTRAP-00007 Can't uninstall bundle = \{0} as it's already uninstalled. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1665]]NCLS-BOOTSTRAP-00008 Uninstalled bundle \{0} installed from \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1666]]NCLS-BOOTSTRAP-00009 Can't update bundle = \{0} as it's already uninstalled. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1667]]NCLS-BOOTSTRAP-00010 Updated bundle \{0} from \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1668]]NCLS-BOOTSTRAP-00011 Failed to uninstall bundle \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1669]]NCLS-BOOTSTRAP-00012 Failed to update \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1670]]NCLS-BOOTSTRAP-00013 Failed to install \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1671]]NCLS-BOOTSTRAP-00014 Can not set the start level for \{0} to \{2} as it is already set to \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1672]]NCLS-BOOTSTRAP-00015 Skipping entry \{0} because it is not an absolute URI. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1673]]NCLS-BOOTSTRAP-00016 Skipping entry \{0} due to exception: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1674]]NCLS-BOOTSTRAP-00017 Starting BundleProvisioner. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1675]]NCLS-BOOTSTRAP-00018 Time taken to locate OSGi framework = \{0} ms. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1676]]NCLS-BOOTSTRAP-00020 Time taken to initialize OSGi framework = \{0} ms. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1677]]NCLS-BOOTSTRAP-00021 Time taken to finish installation of bundles = \{0} ms. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1678]]NCLS-BOOTSTRAP-00022 Time taken to finish starting bundles = \{0} ms. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1679]]NCLS-BOOTSTRAP-00023 Total time taken to start = \{0} ms. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1680]]NCLS-BOOTSTRAP-00024 Time taken to stop = \{0} ms. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1681]]NCLS-BOOTSTRAP-00025 Total time taken = \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1682]]NCLS-BOOTSTRAP-00026 Create bundle provisioner class = \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1683]]NCLS-BOOTSTRAP-00027 Registered \{0} as OSGi service registration: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1684]]NCLS-BOOTSTRAP-00028 Unregistered \{0} from service registry. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1685]]NCLS-BOOTSTRAP-00029 Exception while unregistering: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1686]]NCLS-BOOTSTRAP-00030 installLocations = \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1687]]NCLS-BOOTSTRAP-00031 Unable to determine if \{0} is a fragment or not due to ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1688]]NCLS-BOOTSTRAP-00032 Skipping starting of bundles bundles have been provisioned already. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1689]]NCLS-BOOTSTRAP-00033 \{0} : latest file in installation location = \{1} and latest installed bundle = \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1690]]NCLS-BOOTSTRAP-00034 Updating system bundle. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1691]]NCLS-BOOTSTRAP-00035 Provisioning options have changed, recreating the framework with a clean OSGi storage(aka cache). ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1692]]NCLS-BOOTSTRAP-00036 Unable to locate bundle \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1693]]NCLS-BOOTSTRAP-00037 Storage support not available in framework bundle, so can't store bundle ids. This may lead to slower start up time. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1694]]NCLS-BOOTSTRAP-00038 Storage support not available in framework bundle, so can't store provisioning options. This may lead to slower start up time. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1695]]NCLS-BOOTSTRAP-00039 Got an unexpected exception. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1696]]NCLS-CORE-00001 Cannot decode parameter \{0} = \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1697]]NCLS-CORE-00002 Cannot instantiate model for command \{0} ::
+  Cause: The service that implements the command could not be loaded.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1698]]NCLS-CORE-00003 Exception while running a command ::
+  Cause: An unexpected exception occurred while running a command.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1699]]NCLS-CORE-00004 Unable to get an instance of ClusterExecutor; Cannot dynamically reconfigure instances ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1700]]NCLS-CORE-00005 Can't delete local password file: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1701]]NCLS-CORE-00006 Can't create local password file: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1702]]NCLS-CORE-00007 Timeout occurred when processing Admin Console request. ::
+  Cause: A request for a lock timed out while processing an admin
+  console request.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1703]]NCLS-CORE-00008 Cannot process admin console request. ::
+  Cause: InterruptedException occurred while the service thread is
+  running.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1704]]NCLS-CORE-00009 Unable to serve resource: \{0}. Cause: \{1} ::
+  Cause: An I/O error occurred while serving a resource request.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1705]]NCLS-CORE-00010 Resource not found: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1706]]NCLS-CORE-00011 Console cannot be initialized due to an exception. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1707]]NCLS-CORE-00012 Cannot write property ''\{0} = \{1}'' for AdminService in domain.xml, exception: \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1708]]NCLS-CORE-00013 Shutdown procedure finished ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1709]]NCLS-CORE-00014 Shutdown required ::
+  Cause: An unexpected exception occurred while changing run levels. A
+  shutdown is required.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1710]]NCLS-CORE-00015 Shutdown requested ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1711]]NCLS-CORE-00016 Startup service failed to start ::
+  Cause: An unexpected exception occurred while starting the startup
+  service. A shutdown is required.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1712]]NCLS-CORE-00017 \{0} (\{1}) startup time : \{2} (\{3}ms), startup services(\{4}ms), total(\{5}ms) ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1713]]NCLS-CORE-00018 TOTAL TIME INCLUDING CLI: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1714]]NCLS-CORE-00019 Shutting down server due to startup exception ::
+  Cause: An unexpected exception occurred while starting the server. A
+  shutdown is required.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1715]]NCLS-CORE-00020 Timed out, ignoring some startup service status ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1716]]NCLS-CORE-00021 Unexpected exception during startup ::
+  Cause: An unexpected exception occurred while starting the server.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1717]]NCLS-CORE-00022 Loading application \{0} done in \{1} ms ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1718]]NCLS-CORE-00023 Enable of application \{0} completed with a warning: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1719]]NCLS-CORE-00024 Error during enabling ::
+  Cause: An unexpected exception occurred while enabling an application.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1720]]NCLS-CORE-00025 Error during disabling ::
+  Cause: An unexpected exception occurred while disabling an
+  application.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1721]]NCLS-CORE-00026 Exception during lifecycle processing ::
+  Cause: An unexpected exception occurred during lifecycle processing.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1722]]NCLS-CORE-00027 ApplicationMetaDataProvider \{0} requires \{1} but no other ApplicationMetaDataProvider provides it ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1723]]NCLS-CORE-00028 Inconsistent state - nothing is providing \{0} yet it passed validation ::
+  Cause: An unexpected condition during lifecycle processing.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1724]]NCLS-CORE-00029 Cannot start container \{0}, exception: \{1} ::
+  Cause: An unexpected condition during lifecycle processing.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1725]]NCLS-CORE-00030 Cannot release container \{0}, exception \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1726]]NCLS-CORE-00031 Error while closing deployable artifact \{0}, exception: \{1} ::
+  Cause: An unexpected exception occurred during lifecycle processing.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1727]]NCLS-CORE-00032 Error while expanding archive file ::
+  Cause: An unexpected exception occurred during lifecycle processing.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1728]]NCLS-CORE-00033 Cannot find sniffer for module type: \{0} ::
+  Cause: An unexpected condition occurred during lifecycle processing.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1729]]NCLS-CORE-00034 Cannot find any sniffer for deployed app: \{0} ::
+  Cause: An unexpected condition occurred during lifecycle processing.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1730]]NCLS-CORE-00035 Exception occurred while satisfying optional package dependencies ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1731]]NCLS-CORE-00036 Cannot delete created temporary file \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1732]]NCLS-CORE-00037 Source is not a directory, using temporary location \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1733]]NCLS-CORE-00038 Cannot find the application type for the artifact at: \{0}. Was the container or sniffer removed? ::
+  Cause: An unexpected condition occurred while loading an application.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1734]]NCLS-CORE-00039 Exception during application deployment ::
+  Cause: An unexpected exception occurred while deploying an
+  application.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1735]]NCLS-CORE-00040 Cannot determine original location for application: \{0} ::
+  Cause: A URL syntax error occurred.
++
+  Action: Check the application for proper syntax.
+
+[[sthref1736]]NCLS-CORE-00041 Application deployment failed: \{0} ::
+  Cause: The deployment command for an application failed as indicated
+  in the message.
++
+  Action: Check the application and redeploy.
+
+[[sthref1737]]NCLS-CORE-00042 IOException while opening deployed artifact ::
+  Cause: An unexpected exception occurred while deploying an
+  application.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1738]]NCLS-CORE-00043 Application previously deployed is not at its original location any more: \{0} ::
+  Cause: An unexpected exception occurred while loading an application.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1739]]NCLS-CORE-00044 System property called \{0} is null, is this intended? ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1740]]NCLS-CORE-00045 Invalid classpath entry for common class loader ignored: \{0}, exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1741]]NCLS-CORE-00046 Cannot find javadb client jar file, derby jdbc driver will not be available by default. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1742]]NCLS-CORE-00047 CommonClassLoaderServiceImpl is unable to process \{0} because of an exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1743]]NCLS-CORE-00048 Invalid InputStream returned for \{0} ::
+  Cause: Unable to retrieve an entry from the archive.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1744]]NCLS-CORE-00049 Exception while processing \{0} inside \{1} of size \{2}, exception: \{3} ::
+  Cause: An unexpected exception occurred while processing an archive.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1745]]NCLS-CORE-00050 Cannot open sub-archive \{0} from \{1} ::
+  Cause: An unexpected exception occurred while processing an archive.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1746]]NCLS-CORE-00051 Cannot close sub archive \{0}, exception: \{1} ::
+  Cause: An unexpected exception occurred while closing an archive.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1747]]NCLS-CORE-00052 Exception loading lifecycle module [\{0}]; [\{1}] ::
+  Cause: An unexpected exception occurred while loading a lifecycle
+  module.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1748]]NCLS-CORE-00053 Lifecycle module [\{0}] threw ServerLifecycleException, exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1749]]NCLS-CORE-00054 Lifecycle module [\{0}] threw an Exception; please check your lifecycle module. Exception: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1750]]NCLS-CORE-00055 GrizzlyService stop-proxy problem ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1751]]NCLS-CORE-00056 Unable to start the server. Closing all ports ::
+  Cause: An unexpected exception occurred while starting the grizzly
+  service.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1752]]NCLS-CORE-00057 Exception closing port: \{0}, exception: \{1} ::
+  Cause: An unexpected exception occurred while closing a port.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1753]]NCLS-CORE-00058 Network listener \{0} on port \{1} disabled per domain.xml ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1754]]NCLS-CORE-00059 GrizzlyService endpoint registration problem ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1755]]NCLS-CORE-00060 Skip registering endpoint with non existent virtual server: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1756]]NCLS-CORE-00061 Attempting to start the \{0} container. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1757]]NCLS-CORE-00062 Done with starting \{0} container in \{1} ms. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1758]]NCLS-CORE-00063 Could not start container, no exception provided. ::
+  Cause: The container could not be started.
++
+  Action: Ensure the libraries for the container are available.
+
+[[sthref1759]]NCLS-CORE-00064 Exception while starting container \{0}, exception: \{1} ::
+  Cause: An exception occurred while attempting to start the container.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1760]]NCLS-CORE-00065 Exception while mapping the request. ::
+  Cause: An exception occurred while mapping a request to the container.
++
+  Action: Please resolve issues mentioned in the stack trace.
+
+[[sthref1761]]NCLS-CORE-00066 Cannot add new configuration to the Config element ::
+  Cause: An exception occurred while adding the container configuration
+  to the domain.xml.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1762]]NCLS-CORE-00067 Exception while enabling or disabling the autodeployment of applications ::
+  Cause: An exception occurred while enabling or disabling the
+  autodeployment of applications.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1763]]NCLS-CORE-00068 Exception while sending an event. ::
+  Cause: An exception occurred while sending an event.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1764]]NCLS-CORE-00069 Exception while dispatching an event ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1765]]NCLS-CORE-00070 An exception occurred while stopping the server, continuing. ::
+  Cause: An exception occurred while stopping the server.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1766]]NCLS-CORE-00071 The ManagedJobConfig bean \{0} was changed by \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1767]]NCLS-CORE-00072 Cleaning Job \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1768]]NCLS-CORE-00073 Initializing Job Cleanup service ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1769]]NCLS-CORE-00074 Initializing Managed Config bean ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1770]]NCLS-CORE-00075 Scheduling Cleanup ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1771]]NCLS-CORE-00076 Exception when cleaning jobs caused ::
+  Cause: An exception occured when cleaning the managed jobs
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1772]]NCLS-CORE-00077 -passwordfile specified, but the actual file was not, ignoring ... ::
+  Cause: A software error is causing an incorrect argument sequence.
++
+  Action: No action necessary.
+
+[[sthref1773]]NCLS-CORE-00078 Invalid context root for the admin console application, using default: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1774]]NCLS-CORE-00079 Admin Console Adapter: context root: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1775]]NCLS-CORE-00080 Failed to configure the ManagedJobConfig bean ::
+  Cause: While running the configure-managed-jobs command, a write
+  transaction to the ManagedJobConfig bean failed.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1776]]NCLS-CORE-00081 Unable to get the ManagedJobConfig bean. ::
+  Cause: While running the configure-managed-jobs command, access to the
+  ManagedJobConfig bean failed.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1777]]NCLS-CORE-00082 Exiting after upgrade ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1778]]NCLS-CORE-00083 Exception while attempting to shutdown after upgrade ::
+  Cause: An exception occured when shutting down the server after an
+  upgrade.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1779]]NCLS-CORE-00084 Cannot find port information from domain.xml ::
+  Cause: No port value is available in the NetworkListener config bean
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1780]]NCLS-CORE-00085 Cannot parse port value: \{0}, using port 8080 ::
+  Cause: There is an invalid port value in the domain.xml file.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1781]]NCLS-CORE-00086 Unknown address \{0} ::
+  Cause: There is an invalid address value in the domain.xml file.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1782]]NCLS-CORE-00087 Grizzly Framework \{0} started in: \{1}ms - bound to [\{2}] ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1783]]NCLS-CORE-00088 Exception during postConstruct of DynamicReloadService ::
+  Cause: An unexpected exception occured.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1784]]NCLS-CORE-00089 Cannot determine host name, will use localhost exclusively ::
+  Cause: An unexpected exception occured.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1785]]NCLS-CORE-00090 Internal Server error: \{0} ::
+  Cause: An unexpected exception occured.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1786]]NCLS-CORE-00091 Unable to set customized error page ::
+  Cause: An unexpected exception occured.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1787]]NCLS-CORE-00092 Server shutdown initiated ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1788]]NCLS-CORE-00093 Problem while attempting to install admin console! ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1789]]NCLS-CORE-00094 Unable to load checkpoint ::
+  Cause: An unexpected exception occured.
++
+  Action: Check the system logs and contact Oracle support.
+
+[[sthref1790]]NCLS-CORE-00095 Resuming command \{0} from its last checkpoint. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1791]]NCLS-CORE-00096 Automatically resumed command \{0} finished with exit code \{1}. \nMessage: \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1792]]NCLS-LOGGING-00001 Cannot read logging configuration file. ::
+  Cause: An exception has occurred while reading the logging
+  configuration file.
++
+  Action: Take appropriate action based on the exception message.
+
+[[sthref1793]]NCLS-LOGGING-00002 Could not apply the logging configuration changes. ::
+  Cause: There was an exception thrown while applying the logging
+  configuration changes.
++
+  Action: Take appropriate action based on the exception message.
+
+[[sthref1794]]NCLS-LOGGING-00003 Updated logger levels successfully. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1795]]NCLS-LOGGING-00004 The logging configuration file \{0} has been deleted. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1796]]NCLS-LOGGING-00005 Error executing query to fetch log records. ::
+  Cause: There was an exception thrown while executing log query.
++
+  Action: Take appropriate action based on the exception message.
+
+[[sthref1797]]NCLS-LOGGING-00006 The syslog handler could not be initialized. ::
+  Cause: There was an exception thrown while initializing the syslog
+  handler.
++
+  Action: Take appropriate action based on the exception message.
+
+[[sthref1798]]NCLS-LOGGING-00007 There was an error sending a log message to syslog. ::
+  Cause: There was an exception thrown while sending a log message to
+  the syslog.
++
+  Action: Take appropriate action based on the exception message.
+
+[[sthref1799]]NCLS-LOGGING-00008 The log file \{0} for the instance does not exist. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1800]]NCLS-LOGGING-00009 Running GlassFish Version: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1801]]NCLS-LOGGING-00010 Server log file is using Formatter class: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1802]]NCLS-LOGGING-00011 Failed to parse the date: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1803]]NCLS-LOGGING-00012 An invalid value \{0} has been specified for the \{1} attribute in the logging configuration. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1804]]NCLS-LOGGING-00013 The formatter class \{0} could not be instantiated. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1805]]NCLS-DEPLOYMENT-00040 Error occurred: \{0} ::
+  Cause: An exception was caught when the operation was attempted
++
+  Action: See the exception to determine how to fix the error
+
+[[sthref1806]]NCLS-DEPLOYMENT-02025 Exception caught: \{0} ::
+  Cause: An exception was caught when the application was autodeployed.
++
+  Action: See the exception to determine how to fix the error
+
+[[sthref1807]]NCLS-DEPLOYMENT-02026 Autoundeploying application: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1808]]NCLS-DEPLOYMENT-02027 Selecting file \{0} for autodeployment ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1809]]NCLS-DEPLOYMENT-02028 Error parsing configured polling-interval-in-seconds \{0} as an integer; \{1} \{2} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1810]]NCLS-DEPLOYMENT-02029 Exception caught: \{0} ::
+  Cause: An exception was caught when the application was autodeployed.
++
+  Action: See the exception to determine how to fix the error
+
+[[sthref1811]]NCLS-DEPLOYMENT-02030 Error processing configuration change of \{0} from \{1} to \{2}; \{3} \{4} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1812]]NCLS-DEPLOYMENT-02031 Configured timeout value of \{0} second\{0,choice,0#seconds|1#second|1<seconds} will be used but seems very large ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1813]]NCLS-DEPLOYMENT-02032 Configured timeout value of \{0} second\{0,choice,0#seconds|1#second|1<seconds} is too small; using previous value of \{1}second \{1,choice,0#seconds|1#second|1<seconds} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1814]]NCLS-DEPLOYMENT-02033 Could not convert configured timeout value of "\{0}" to a number; using previous value of \{1} second\{1,choice,0#seconds|1#second|1<seconds ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1815]]NCLS-DEPLOYMENT-02034 Attempt to create file \{0} failed; no further information. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1816]]NCLS-DEPLOYMENT-02035 \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1817]]NCLS-DEPLOYMENT-02036 \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1818]]NCLS-DEPLOYMENT-02037 Error occurred: ::
+  Cause: An exception was caught when the operation was attempted
++
+  Action: See the exception to determine how to fix the error
+
+[[sthref1819]]NCLS-DEPLOYMENT-02038 Attempt to delete file \{0} failed; no further information. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1820]]NCLS-DEPLOYMENT-02039 Attempt to create file \{0} failed; no further information. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1821]]NCLS-DEPLOYMENT-02041 Attempt to create file \{0} failed; no further information. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1822]]NCLS-DEPLOYMENT-02042 Attempt to set last modified date/time of file \{0} failed; no further information. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1823]]NCLS-DEPLOYMENT-02043 Attempt to delete file \{0} failed; no further information. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1824]]NCLS-DEPLOYMENT-02044 Attempt to create directory \{0} failed; no further information. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1825]]NCLS-DEPLOYMENT-00001 Exception while scanning \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1826]]NCLS-DEPLOYMENT-00002 Error scan jar entry \{0} \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1827]]NCLS-DEPLOYMENT-00003 Failed to scan archive for annotations ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1828]]NCLS-DEPLOYMENT-00004 Exception caught: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1829]]NCLS-DEPLOYMENT-00005 Could not expand entry \{0} into destination \{1} ::
+  Cause: An exception was caught when the entry was expanded
++
+  Action: See the exception to determine how to fix the error
+
+[[sthref1830]]NCLS-DEPLOYMENT-00006 Cannot find archive \{0} referenced from archive \{1}, it will be ignored for annotation scanning ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1831]]NCLS-DEPLOYMENT-00007 Exception caught \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1832]]NCLS-DEPLOYMENT-00008 Error in jar entry \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1833]]NCLS-DEPLOYMENT-00009 Failed to scan archive for annotations: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1834]]NCLS-DEPLOYMENT-00010 Exception caught \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1835]]NCLS-DEPLOYMENT-00011 Optional package \{0} does not exist or its Specification-Version does not match. Unable to satisfy dependency for \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1836]]NCLS-DEPLOYMENT-00012 Optional package dependency satisfied for \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1837]]NCLS-DEPLOYMENT-00013 Error in opening optional package file \{0} due to exception: \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1838]]NCLS-DEPLOYMENT-00014 Exception occurred : \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1839]]NCLS-DEPLOYMENT-00015 Specification-Version for the
+optional package [ \{0} ] in the jarfile [ \{1} ] is not specified.
+Please provide a valid specification version for this optional package
+::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1840]]NCLS-DEPLOYMENT-00016 Skipping extension processing for \{0} due to error: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1841]]NCLS-DEPLOYMENT-00017 Exception: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1842]]NCLS-DEPLOYMENT-00018 unexpected error in getting urls ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1843]]NCLS-DEPLOYMENT-00019 file open failure; file = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1844]]NCLS-DEPLOYMENT-00020 exception message: \{0} -- invalid zip file: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1845]]NCLS-DEPLOYMENT-00021 Cannot find an archive implementation for \{0} ::
+  Cause: The type of archive being created is not supported.
++
+  Action: Determine the type of archive requested to see whether another
+  type can be used.
+
+[[sthref1846]]NCLS-DEPLOYMENT-00022 Attempt to list files in \{0} failed, perhaps because that is not a valid directory or because file permissions do not allow GlassFish to access it ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1847]]NCLS-DEPLOYMENT-00023 Ignoring \{0} because the containing archive \{1} recorded it as a pre-existing stale file ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1848]]NCLS-DEPLOYMENT-00024 Exception while getting manifest classpath: ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1849]]NCLS-DEPLOYMENT-00025 Artifact \{0} identified for inclusion in app clients after one or more app clients were generated. ::
+  Cause: The application might specify that modules are to be processed
+  in the order they appear in the application and an app client module
+  appears before a module that creates an artifact to be included in app
+  clients.
++
+  Action: Make sure, if the application specifies initialize-in-order as
+  true, that the app clients appear after other modules which generated
+  artifacts that should be accessible to app clients.
+
+[[sthref1850]]NCLS-DEPLOYMENT-00026 Artifact with relative path \{0} expected at \{1} but does not exist or cannot be read ::
+  Cause: The server is attempting to register an artifact to be included
+  in the generated client JAR but the artifact does not exist or cannot
+  be read
++
+  Action: This is an internal server error. Please file a bug report.
+
+[[sthref1851]]NCLS-DEPLOYMENT-00027 Artifact with relative path \{0} from \{1} collides with an existing artifact from file \{2} ::
+  Cause: The server has created more than one artifact with the same
+  relative path to be included in the generated client JAR file
++
+  Action: This is an internal server error. Please file a bug report.
+
+[[sthref1852]]NCLS-DEPLOYMENT-00045 Cannot convert classpath to URL \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1853]]NCLS-DEPLOYMENT-00046 invalidSpecVersion: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1854]]NCLS-DIAG-03000 Can not fulfill request to get diagnostics context. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1855]]NCLS-DIAG-03001 An exception has prevented a diagnostics context from being created. ::
+  Cause: (see underlying exception)
++
+  Action: (see underlying exception)
+
+[[sthref1856]]NCLS-MON-00301 Cannot process XML ProbeProvider, xml = \{0}, \nException: \{1} ::
+  Cause: Possible syntax error in the ProbeProvider XML
++
+  Action: Check the syntax of ProbeProvider XML
+
+[[sthref1857]]NCLS-MON-00302 Cannot resolve the paramTypes, unable to create this probe - \{0} ::
+  Cause: Unknown Java type for the param
++
+  Action: Try giving a fully qualified name for the type
+
+[[sthref1858]]NCLS-MON-00303 Cannot resolve the paramTypes of the probe - \{0}, ::
+  Cause: Unknown Java type for the param
++
+  Action: Try giving a fully qualified name for the type
+
+[[sthref1859]]NCLS-MON-00304 Can not match the Probe method (\{0}) with any method in the DTrace object ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1860]]NCLS-MON-00305 Invalid parameters for ProbeProvider, ignoring \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1861]]NCLS-MON-00306 No Probe Provider found in Probe Provider XML ::
+  Cause: Invalid Probe Provider XML
++
+  Action: Check Probe Provider XML syntax
+
+[[sthref1862]]NCLS-MON-00501 invalid pid, start flashlight-agent using asadmin enable-monitoring with --pid option, you may get pid using jps command ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1863]]NCLS-MON-00502 flashlight-agent.jar does not exist under \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1864]]NCLS-MON-00503 flashlight-agent.jar directory \{0} does not exist ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1865]]NCLS-MON-00504 Encountered exception during agent attach ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1866]]NCLS-MON-00505 Error transforming Probe: \{0} ::
+  Cause: Exception - see message
++
+  Action: Check probe syntax
+
+[[sthref1867]]NCLS-MON-00506 Error unregistering ProbeProvider ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1868]]NCLS-MON-00507 Error during re-transformation ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1869]]NCLS-MON-00508 Error during registration of FlashlightProbe ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1870]]NCLS-MON-00509 Error attempting to write the re-transformed class data ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1871]]NCLS-MON-00510 Monitoring is disabled because there is no Attach API from the JVM available ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1872]]NCLS-MON-00511 Error while getting Instrumentation object from ProbeAgentMain ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1873]]NCLS-MON-00512 DTrace is not available. ::
+  Cause: This is caused if following are missing: \n1. JDK 7 is required
+  to run DTrace\n2. glassfish-dtrace.jar value-add is required for
+  DTrace
++
+  Action: Run with JDK 7 and glassfish-dtrace.jar
+
+[[sthref1874]]NCLS-MON-00513 DTrace is not supported. ::
+  Cause: This is caused if: \n1. Operating System does not support
+  DTrace. Currently you must have Solaris 10 or higher for DTrace
+  support.
++
+  Action: Run with Solaris 10 or higher
+
+[[sthref1875]]NCLS-MON-00514 DTrace is connected and ready. ::
+  Cause: This is caused if: \n1. Operating System does not support
+  DTrace. Currently you must have Solaris 10 or higher for DTrace
+  support.
++
+  Action: Run with Solaris 10 or higher
+
+[[sthref1876]]NCLS-MON-00515 Unexpected exception invoking DTrace ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1877]]NCLS-OSGI-00001 Decorated url = \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1878]]NCLS-RESOURCE-00001 Unexpected exception in loading class [\{0}] by classloader. ::
+  Cause: Classpath is not properly set in the domain.xml or application
+  server process does not have read permissions on the directory that
+  holds the classes/jar.
++
+  Action: Check that the classpath attribute in the java-config includes
+  a reference to the jar/package directory for the class or you do not
+  have read permissions on the directory that holds the classes/jar.
+
+[[sthref1879]]NCLS-RESOURCE-00002 Unexpected exception in loading class by classloader [\{0}]. ::
+  Cause: Classpath is not properly set in the domain.xml or you do not
+  have read permissions on the directory that holds the classes/jar.
++
+  Action: Check that the classpath attribute in the java-config includes
+  a reference to the jar/package directory for the class or check that
+  the directory where the classes/jars reside have read permission for
+  the application server process
+
+[[sthref1880]]NCLS-RESOURCE-00003 Cannot bind resource [\{0}] to naming manager. Following exception occurred [\{1}]. ::
+  Cause: Please check the exception to get more details.
++
+  Action: Please check the exception to resolve the same.
+
+[[sthref1881]]NCLS-RESOURCE-00004 Unable to deploy resource [\{0}] due to following exception: [\{1}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1882]]NCLS-RESOURCE-00005 Unable to undeploy resource, no Resource Deployer for [\{0}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1883]]NCLS-RESOURCE-00006 Unable to undeploy resource [\{0}] due to following exception: [\{1}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1884]]NCLS-RESOURCE-00007 Error while handling Change event due to following exception: [\{0}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1885]]NCLS-RESOURCE-00008 Error while handling Remove event due to following exception: [\{0}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1886]]NCLS-RESOURCE-00009 Unable to find ResourceDeployer for [\{0}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1887]]NCLS-SECURITY-01000 Caught exception. ::
+  Cause: As described in the message.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1888]]NCLS-SECURITY-01001 Java security manager is enabled. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1889]]NCLS-SECURITY-01002 Java security manager is disabled. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1890]]NCLS-SECURITY-01004 An I/O error occurred during copying of server config files. ::
+  Cause: Copying server config files.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1891]]NCLS-SECURITY-01005 XML processing error occurred during copying of server config files. ::
+  Cause: The XML file(s) may not be well formed.
++
+  Action: Make sure the XML file(s) are well formed.
+
+[[sthref1892]]NCLS-SECURITY-01010 Entering Security Startup Service. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1893]]NCLS-SECURITY-01011 Security Service(s) started successfully. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1894]]NCLS-SECURITY-01012 Error obtaining keystore and truststore files for embedded server. ::
+  Cause: Saving the keystore and/or truststore to the temporary
+  directory.
++
+  Action: Check if the user.home directory is writable.
+
+[[sthref1895]]NCLS-SECURITY-01013 An I/O error occurred while copying the security config files. ::
+  Cause: Copying security files to instanceRoot/config.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1896]]NCLS-SECURITY-01014 An error occurred while upgrading the security config files. ::
+  Cause: Upgrade security config files from a previous version.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1897]]NCLS-SECURITY-01015 Upgrade from v2 EE to v3.1 requires manual steps. Please refer to the v3.1 Upgrade Guide for details. ::
+  Cause: Upgrade security config files from a previous version.
++
+  Action: Please refer to the v3.1 Upgrade Guide for details.
+
+[[sthref1898]]NCLS-SECURITY-01050 Certificate authentication requires certificate realm. ::
+  Cause: Unknown realm type.
++
+  Action: Check server configuration
+
+[[sthref1899]]NCLS-SECURITY-01100 Disabled realm [\{0}] due to errors. ::
+  Cause: No realms available.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1900]]NCLS-SECURITY-01101 No realms available. Authentication services disabled. ::
+  Cause: No realms available.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1901]]NCLS-SECURITY-01104 Error while obtaining private subject credentials: \{0} ::
+  Cause: Private Credentials of Subject not available.
++
+  Action: Please check if the private credentials are available.
+
+[[sthref1902]]NCLS-SECURITY-01105 A PasswordCredential was required but not provided. ::
+  Cause: PasswordCredential was required, but not supplied.
++
+  Action: Please check if the password is provided.
+
+[[sthref1903]]NCLS-SECURITY-01115 Realm [\{0}] of classtype [\{1}] successfully created. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1904]]NCLS-SECURITY-01117 Realm [\{0}] successfully updated. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1905]]NCLS-SECURITY-01119 Realm [\{0}] successfully deleted. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1906]]NCLS-SECURITY-01140 Policy provider configuration overridden by property \{0} with value \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1907]]NCLS-SECURITY-01141 Requested jacc-provider [\{0}] is not configured in domain.xml. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1908]]NCLS-SECURITY-01142 Error while reading policy-provider in domain.xml. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1909]]NCLS-SECURITY-01143 Loading policy provider \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1910]]NCLS-SECURITY-01144 Error while installing policy provider: \{0}. ::
+  Cause: Setting the system wide policy.
++
+  Action: Make sure there's sufficient permission to set the policy.
+
+[[sthref1911]]NCLS-SECURITY-01145 No policy provider defined. Will use the default JDK Policy implementation. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1912]]NCLS-SECURITY-01146 Policy configuration factory overridden by property \{0} with value \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1913]]NCLS-SECURITY-01147 Policy configuration factory not defined. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1914]]NCLS-SECURITY-01149 Policy provider configuration overridden by property \{0} with value \{1}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1915]]NCLS-SECURITY-01150 Failed to get the group names for user \{0} in realm \{1}: \{2}. ::
+  Cause: Operation now allowed
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1916]]NCLS-SECURITY-01151 Failed to get the group names for user \{0} in realm \{1}: \{2}. ::
+  Cause: Obtain the group names for a nonexistent user
++
+  Action: Make sure the user is valid
+
+[[sthref1917]]NCLS-SECURITY-05019 ERROR: Unknown credential provided. Class: [\{0}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1918]]NCLS-SECURITY-05036 Exception in getting security context. ::
+  Cause: There was an exception obtaining the default security context.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1919]]NCLS-SECURITY-05038 Default user login error. ::
+  Cause: There was an exception while authenticating the default caller
+  principal.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1920]]NCLS-SECURITY-05039 Exception entering name and password for security. ::
+  Cause: An exception occurred while processing username and password
+  for security.
++
+  Action: An exception occurred while processing username and password
+  for security.
+
+[[sthref1921]]NCLS-SECURITY-05043 Exception in security accesscontroller action. ::
+  Cause: Running a privileged action
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1922]]NCLS-SECURITY-05046 Audit: Authentication refused for [\{0}]. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1923]]NCLS-SECURITY-05048 doAsPrivileged AuthPermission required to set SecurityContext. ::
+  Cause: Setting the SecurityContext in the current thread
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1924]]NCLS-SECURITY-05049 Unexpected exception while attempting to set SecurityContext. ::
+  Cause: There was an unexpected exception while setting the security
+  context.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1925]]NCLS-SECURITY-05050 Could not change the SecurityContext. ::
+  Cause: Changing the current SecurityContext.
++
+  Action: Check the server logs and contact Oracle support
+
+[[sthref1926]]NCLS-SECURITY-05052 Subject is null. ::
+  Cause: null Subject used in SecurityContext construction.
++
+  Action: Make sure the Subject is not null
+
+[[sthref1927]]NCLS-SECURITY-05055 Role mapping conflicts found in application \{0}. Some roles may not be mapped. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1928]]NCLS-SECURITY-05056 Error converting certificate \{0}: \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1929]]NCLS-SECURITY-05101 Failed to instantiate the SecurityLifeCycle. ::
+  Cause: As described in the message.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1930]]NCLS-SECURITY-05200 Error enabling secure admin. ::
+  Cause: Enable secure admin.
++
+  Action: Check your command usage.
+
+[[sthref1931]]NCLS-SECURITY-05201 Error disabling secure admin. ::
+  Cause: Disable secure admin.
++
+  Action: Check your command usage.
+
+[[sthref1932]]NCLS-SECURITY-05300 IIOP Security - error importing a name: $\{0}. ::
+  Cause: Importing a name in IIOP.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1933]]NCLS-SECURITY-05301 IIOP Security - error creating an exported name: $\{0}. ::
+  Cause: Creating an exported name in IIOP.
++
+  Action: Check the server logs and contact Oracle support.
+
+[[sthref1934]]SEC-PROV-00100 Authorization Provider supplied an invalid resource: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1935]]SEC-PROV-00150 Role Mapping Provider supplied an invalid resource: \{0} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1936]]SEC-SVCS-00100 Authorization Service has successfully initialized. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1937]]SEC-SVCS-00101 Authorization Service initialization failed, exception \{0}, message \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1938]]SEC-SVCS-00102 Unable to decode URI: \{0}. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1939]]SEC-SVCS-00150 Role Mapping Service has successfully initialized. ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1940]]SEC-SVCS-00151 Role Mapping Service initialization failed, exception \{0}, message \{1} ::
+  Cause: As described in the message.
++
+  Action: Resolve the situation described in the message, if necessary.
+
+[[sthref1941]]NCLS-SECURITY-05054 The SSL certificate has expired: \{0} ::
+  Cause: Certificate expired.
++
+  Action: Check the expiration date of the certificate.
+
+
diff --git a/docs/error-messages-reference/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/error-messages-reference/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/error-messages-reference/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/error-messages-reference/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/error-messages-reference/src/main/asciidoc/preface.adoc b/docs/error-messages-reference/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..60b0ade
--- /dev/null
+++ b/docs/error-messages-reference/src/main/asciidoc/preface.adoc
@@ -0,0 +1,325 @@
+type=page
+status=published
+title=Preface
+next=error-messages.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSEMR00001]][[gkbbw]]
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This document describes error messages that you might encounter when
+using {productName}.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#BABJIEEB[{productName} Documentation Set]
+* link:#BABBDGAE[Related Documentation]
+* link:#BABGCFGH[Typographic Conventions]
+* link:#BABHAGID[Symbol Conventions]
+
+[[BABJIEEB]][[glassfish-server-documentation-set]]
+
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[BABBDGAE]][[related-documentation]]
+
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[BABGCFGH]][[typographic-conventions]]
+
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[BABHAGID]][[symbol-conventions]]
+
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[BABEACJI]][[default-paths-and-file-names]]
+
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
diff --git a/docs/error-messages-reference/src/main/asciidoc/title.adoc b/docs/error-messages-reference/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..22e04ff
--- /dev/null
+++ b/docs/error-messages-reference/src/main/asciidoc/title.adoc
@@ -0,0 +1,46 @@
+type=page
+status=published
+title={productName} Error Message Reference, Release 7
+next=preface.html
+prev=toc.html
+~~~~~~
+
+= {productName} Error Message Reference, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Error Message Reference
+
+Release 7
+
+Contributed 2018 - 2022
+
+This book describes error messages that you might encounter when using
+{productName} 7.
+
+[[sthref1]]
+
+'''''
+
+{productName} Error Message Reference, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/error-messages-reference/src/main/jbake/assets/css/style.css b/docs/error-messages-reference/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/error-messages-reference/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/error-messages-reference/src/main/jbake/content/error-messages.adoc b/docs/error-messages-reference/src/main/jbake/content/error-messages.adoc
deleted file mode 100644
index e7453f8..0000000
--- a/docs/error-messages-reference/src/main/jbake/content/error-messages.adoc
+++ /dev/null
@@ -1,8061 +0,0 @@
-type=page
-status=published
-title=GlassFish Server Open Source Edition Error Messages
-prev=preface.html
-~~~~~~
-GlassFish Server Open Source Edition Error Messages
-===================================================
-
-[[sthref2]][[glassfish-server-open-source-edition-error-messages]]
-
-1 GlassFish Server Open Source Edition Error Messages
------------------------------------------------------
-
-This chapter provides a compilation of error messages that you might
-encounter when using GlassFish Server Open Source Edition.
-
-Error messages provide information about events that occur during
-GlassFish Server operation, such as configuration errors, security
-failures, or server malfunction. These messages often include diagnostic
-and troubleshooting information.
-
-Error messages can also be viewed in the Administration Console Log
-Viewer. For more information about logging, see
-”link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service”] in GlassFish
-Server Open Source Edition Administration Guide.
-
-For additional troubleshooting information, see the
-link:../troubleshooting-guide/toc.html#GSTSG[GlassFish Server Open Source Edition Troubleshooting Guide].
-
-Error messages in this chapter are listed in alphabetic and numeric
-order by message ID. The text is as it appears in the actual error
-message.
-
-[[sthref3]]AS-ACDEPL-00103 Java Web Start services started for the app client \{0} (contextRoot: \{1}) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref4]]AS-ACDEPL-00105 Error starting the adapter to serve static system-level content ::
-  Cause: An unexpected internal system error occurred +
-  Action: Please consult the exception stack trace
-
-[[sthref5]]AS-ACDEPL-00108 Config file for client JNLP not found: \{0} ::
-  Cause: The config file does not exist. +
-  Action: The file is part of the installation so this might be an
-  internal error. Make sure you have not accidentally removed or renamed
-  the config file. If not, please file an error with a reproducible test
-  case.
-
-[[sthref6]]AS-ACDEPL-00109 The config file for client JNLP \{0} exists but could not be read. ::
-  Cause: The config file might be protected from reading. +
-  Action: Make sure the config file protection settings permit the
-  server to read it.
-
-[[sthref7]]AS-ACDEPL-00111 Client JNLP document \{0} refers to the static resource \{1} that does not exist or is not readable. ::
-  Cause: The developer-provided JNLP content refers to a file as if the
-  file is in the application but the server could not find the file. +
-  Action: Make sure the file is packaged in the application and that the
-  reference to the file is correct. Then rebuild and redeploy the
-  application.
-
-[[sthref8]]AS-ACDEPL-00112 The following extensions or libraries are referenced from the manifest of \{0} but were not found where indicated: \{1}; ignoring and continuing ::
-  Cause: The server could not open the JAR file(s) or process the
-  extension(s) listed in its manifest. +
-  Action: Make sure the manifest of the JAR file correctly lists the
-  relative paths of library JARs and the extensions on which the JAR
-  depends.
-
-[[sthref9]]AS-ACDEPL-00114 The ApplicationSignedJARManager for a nested app client deployer helper is unexpectedly null. ::
-  Cause: During deployment of nested app clients (those inside EARs),
-  the system should use an ApplicationSignedJARManager but it is null. +
-  Action: This is a system error. Please report this as a bug.
-
-[[sthref10]]AS-ACDEPL-00115 Tbe custom JNLP document \{0} in a stand-alone app client incorrectly refers to a JAR \{1} ::
-  Cause: The app client includes a custom JNLP document which refers to
-  a JAR. Stand-alone app clients cannot refer to other JARs because they
-  are self-contained deployment units. +
-  Action: Remove references to JAR from the custom JNLP document or
-  package the app client inside an EAR that also contains the referenced
-  JAR.
-
-[[sthref11]]AS_ACDEPL-00101 Java Web Start services not started for the app client \{0}; its developer has marked it as ineligible ::
-  Cause: The developer's glassfish-application-client.xml file marks the
-  app client as ineligible for Java Web Start support. +
-  Action: If users should be able to launch this client using Java Web
-  Start, change the <java-web-start-support> 'enabled' attribute.
-
-[[sthref12]]AS_ACDEPL-00104 Java Web Start services stopped for the app client \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref13]]AS_ACDEPL_00102 Java Web Start services not started for the app client \{0}; the administrator has disabled Java Web Start support for it ::
-  Cause: The administrator disabled Java Web Start launches for the app
-  client, either using '--properties java-web-start-enabled=false'
-  during deployment or changing the properties afterwards. +
-  Action: If users should be able to launch this client using Java Web
-  Start, either deploy the application again without --properties or
-  adjust the configuration using the admin console or the asadmin 'set'
-  command
-
-[[sthref14]]AS-NAMING-00001 Failed to load \{0} using CommonClassLoader ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref15]]AS-NAMING-00002 Exception during name lookup : \{0} ::
-  Cause: App Server may not be running at port intended, or possible
-  Network Error. +
-  Action: Check to see if the AppServer is up and running on the port
-  intended. The problem could be because of incorrect port. Check to see
-  if you can access the host on which the AppServer running.
-
-[[sthref16]]AS-NAMING-00003 Exception occurred when instantiating LocalSerialContextProviderImpl: \{0} ::
-  Cause: java.rmi.RemoteException +
-  Action: Check server.log for details
-
-[[sthref17]]AS-NAMING-00004 Error during CosNaming.unbind for name \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref18]]AS-NAMING-00005 Naming binding already exists for \{0} in namespace \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref19]]AS-NAMING-00006 Exception in NamingManagerImpl copyMutableObject(): \{0} ::
-  Cause: Problem with serializing or de serializing of the object +
-  Action: Check the class hierarchy to see if all the classes are
-  serializable.
-
-[[sthref20]]AS-NAMING-00008 Fall back to INITIAL_CONTEXT_FACTORY \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref21]]AS-CONCURRENT-00001 Task [\{0}] has been running on thread [\{1}] for \{2} seconds, which is more than the configured hung task threshold of \{3} seconds in [\{4}]. ::
-  Cause: A task has been running for longer time than the configured
-  hung task threshold setting. +
-  Action: Monitor the task to find out why it is running for a long
-  time. If this is normal, consider setting a higher hung task threshold
-  or setting the "Long-Running Tasks" configuration attribute to true.
-
-[[sthref22]]AS-CONCURRENT-00002 Unable to setup or reset runtime context for a task because an invalid context handle is being passed. ::
-  Cause: An invalid context handle is being passed. +
-  Action: Contact GlassFish support.
-
-[[sthref23]]AS-CONCURRENT-00003 Unable to bind \{0} to JNDI location [\{1}]. ::
-  Cause: An unexpected exception occurred when trying to bind a managed
-  object to JNDI namespace +
-  Action: Review the exception message to determine the cause of the
-  failure and take appropriate action.
-
-[[sthref24]]AS-CONCURRENT-00004 Unable to deploy \{0}. ::
-  Cause: No configuration information is provided when trying to deploy
-  a managed object. +
-  Action: Contact GlassFish support.
-
-[[sthref25]]AS-RAR-05001 Failed to get the thread-pool [ \{0} ] for resource adapter [ \{1} ]. ::
-  Cause: Could not find a thread pool according to the pool ID. +
-  Action: Check the thread-pool-id property in Resource Adapter Config.
-
-[[sthref26]]AS-RAR-05002 Failed to get the default thread-pool for resource adapter [ \{0} ]. ::
-  Cause: Could not find the default thread pool for resource adatper. +
-  Action: Check the thread-pool-id property in Resource Adapter Config.
-
-[[sthref27]]AS-RAR-05003 An error occurred during instantiation of the Work Manager class [ \{0} ] for resource adapter [ \{1} ]. ::
-  Cause: Can not initiate the Work Manager class. +
-  Action: Check the Work Manager class type.
-
-[[sthref28]]AS-RAR-05004 The Work named [ \{0} ], progress [ \{1} ]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref29]]AS-RAR-05005 Resource adapter association failed. ::
-  Cause: Resource Adapter throws exception during
-  ManagedConnectionFactory.setResourceAdapter(). +
-  Action: [1] If you are using third party resource adapter, contact
-  resource adapter vendor.[2] If you are a resource adapter developer,
-  please check the resource adapter code.
-
-[[sthref30]]AS-RAR-05006 Unable to load Work Context class \{0}. ::
-  Cause: Work Context class is not available to application server. +
-  Action: Make sure that the Work Context class is available to server.
-
-[[sthref31]]AS-RAR-05007 Cannot specify both Execution Context [\{0}] as well Transaction Context [\{1}] for Work [\{2}] execution. Only one can be specified. ::
-  Cause: Submitted Work has Transaction Context as well it is a Work
-  Context Provider which is specification violation. +
-  Action: Make sure that either Execution Context or Work Context
-  Provider with Transaction Context is passed, but not both.
-
-[[sthref32]]AS-RAR-05008 Duplicate Work Context for type [ \{0} ]. ::
-  Cause: Multiple Work Contexts of same type submitted. +
-  Action: Make sure that same context type is not submitted multiple
-  times in the Work Context.
-
-[[sthref33]]AS-RAR-05009 Application server cannot handle the following Work Context : \{0}. ::
-  Cause: Work Context in question is not supported by application
-  server. +
-  Action: Check the application server documentation for supported Work
-  Contexts.
-
-[[sthref34]]AS-RAR-05010 Setting custom Work Context class [ \{0} ] using most specific supportted Work Context class [ \{1} ]. ::
-  Cause: Requested Work Context is not supported, but a super type of
-  the context is supported. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref35]]AS-RAR-05011 Unable to set Security Context. ::
-  Cause: Unable to set Security Context. +
-  Action: Check the server.log for exceptions
-
-[[sthref36]]AS-RAR-05012 Unsupported callback \{0} during credential mapping. ::
-  Cause: Resource adapter has used a callback that is not supported by
-  application server. +
-  Action: Check whether the callback in question is supported by
-  application server.
-
-[[sthref37]]AS-CORE-JAVAEE-0001 Web Container not installed ::
-  Cause: The web container does not install properly. +
-  Action: Please check the web container libraries are installed
-  properly.
-
-[[sthref38]]AS-CORE-JAVAEE-0002 Done with starting \{0} container. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref39]]AS-CORE-JAVAEE-0003 Unable to start container (no exception provided) ::
-  Cause: The web container does not start properly. +
-  Action: Please check the web container libraries are installed
-  properly.
-
-[[sthref40]]AS-CORE-JAVAEE-0004 Unable to start container \{0} ::
-  Cause: The web container does not start properly. Most probably, there
-  is a class loading issue. +
-  Action: Please resolve issues mentioned in the stack trace.
-
-[[sthref41]]AS-DEPLOYMENT-04017 Error in deleting file \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref42]]AS-DEPLOYMENT-04018 Deployment manager load failure. Unable to find \{0} ::
-  Cause: A deployment manager is not available. +
-  Action: Correct the reference to the deployment manager.
-
-[[sthref43]]AS-DEPLOYMENT-04019 Deployment manager load failure. Unable to find \{0} ::
-  Cause: A deployment manager is not available. +
-  Action: Correct the reference to the deployment manager.
-
-[[sthref44]]AS-DEPLOYMENT-00001 Ignore \{0} in archive \{1}, as WLS counterpart runtime xml \{2} is present in the same archive. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref45]]AS-DEPLOYMENT-00002 Exception caught: \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref46]]AS-DEPLOYMENT-00003 \{0} module [\{1}] contains characteristics of other module type: \{2}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref47]]AS-DEPLOYMENT-00004 Exception caught: \{0} for the subarchve indicated by the path: \{1}. ::
-  Cause: An exception was caught when the sub archive was opened because
-  the sub archive was not present. +
-  Action: Correct the archive so that the sub archive is present.
-
-[[sthref48]]AS-DEPLOYMENT-00005 Exception caught during annotation scanning. ::
-  Cause: An exception was caught that indicates that the annotation is
-  incorrect. +
-  Action: Correct the annotation.
-
-[[sthref49]]AS-DEPLOYMENT-00006 Adding \{0} since \{1} is annotated with \{2}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref50]]AS-DEPLOYMENT-00007 Adding \{0} since it is implementing \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref51]]AS-DEPLOYMENT-00008 Inconsistent type definition. \{0} is neither an annotation nor an interface. ::
-  Cause: The annotation is incorrect. +
-  Action: Correct the annotation.
-
-[[sthref52]]AS-DEPLOYMENT-00009 The exception \{0} occurred while examining the jar at file path: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref53]]AS-DEPLOYMENT-00010 No classloader can be found to use ::
-  Cause: The archive being processed is not correct. +
-  Action: Examine the archive to determine what is incorrect.
-
-[[sthref54]]AS-DEPLOYMENT-00011 Error in annotation processing: \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref55]]AS-DEPLOYMENT-00012 Cannot load \{0} reason : \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref56]]AS-DEPLOYMENT-00013 An exception was caught during library jar processing: \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref57]]AS-DEPLOYMENT-00014 Could not load \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref58]]AS-DEPLOYMENT-00015 Unsupported deployment descriptors element \{0} value \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref59]]AS-DEPLOYMENT-00016 Unknown port-component-name \{0} port, all sub elements will be ignored. ::
-  Cause: Used port-component-name does not exists. +
-  Action: Use the name of existing web service endpoint
-
-[[sthref60]]AS-DEPLOYMENT-00017 DOLUtils: converting EJB to web bundle id \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref61]]AS-DEPLOYMENT-00020 Application validation failed for application: \{0}, jndi-name: \{1}, resource adapter name: \{2} is wrong. ::
-  Cause: For embedded resource adapter, its name should begin with '#'
-  symbol +
-  Action: Remove application name before the '#' symbol in the resource
-  adapter name.
-
-[[sthref62]]AS-DEPLOYMENT-00022 For administered-object resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
-  Cause: For embedded resource adapter, its internal format of resource
-  adapter name should contains application name. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref63]]AS-DEPLOYMENT-00023 For connection-factory resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
-  Cause: For embedded resource adapter, its internal format of resource
-  adapter name should contains application name. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref64]]AS-DEPLOYMENT-00024 For jms-connection-factory resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
-  Cause: For embedded resource adapter, its internal format of resource
-  adapter name should contains application name. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref65]]AS-DEPLOYMENT-00025 For jms-destination resource: \{0}, there is no application part in its resource adapter name: \{1}. ::
-  Cause: For embedded resource adapter, its internal format of resource
-  adapter name should contains application name. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref66]]AS-DEPLOYMENT-00026 JNDI lookup failed for the resource: Name: \{0}, Lookup: \{1}, Type: \{2}. ::
-  Cause: JNDI lookup for the specified resource failed. +
-  Action: Configure the required resources before deploying the
-  application.
-
-[[sthref67]]AS-DEPLOYMENT-00027 Resource Adapter not present: RA Name: \{0}, Type: \{1}. ::
-  Cause: Resource adapter specified is invalid. +
-  Action: Configure the required resource adapter.
-
-[[sthref68]]AS-DEPLOYMENT-00028 Skipping resource validation ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref69]]AS-DEPLOYMENT-02015 Skipped processing for module \{0} as its module type was not recognized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref70]]AS-DEPLOYMENT-02016 Error occurred ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref71]]AS-EJB-00001 [\{0}]: trimLru(), resetting head and tail ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref72]]AS-EJB-00002 [\{0}]: Exception in backingStore.remove([\{1}]) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref73]]AS-EJB-00003 [\{0}]: passivateEJB(), Exception caught -> ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref74]]AS-EJB-00004 [\{0}]: Cannot load from BACKUPSTORE FOR Key: [\{1}] ::
-  Cause: Didn't find the data related with the given session key. +
-  Action: Check if the session bean already timed out.
-
-[[sthref75]]AS-EJB-00005 [\{0}]: Exception while loading from backup session: [\{1}] ::
-  Cause: Session store exception or de serialization exception happened. +
-  Action: Check error message and exception stack.
-
-[[sthref76]]AS-EJB-00006 [\{0}]: Error while loading from backup session: [\{1}] ::
-  Cause: Session store error or de serialization error happened. +
-  Action: Check error message and exception stack.
-
-[[sthref77]]AS-EJB-00007 [\{0}]: Exception during backingStore.passivateSave([\{1}]) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref78]]AS-EJB-00008 [\{0}]: Iterator(), resetting head.lPrev ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref79]]AS-EJB-00009 [\{0}]: Exiting TrimTimedoutBeans() because current cache state: [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref80]]AS-EJB-00010 [\{0}]: TrimTimedoutBeans(), resetting head.lPrev ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref81]]AS-EJB-00011 [\{0}]: Exiting TrimUnSortedTimedoutBeans() because current cache state: [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref82]]AS-EJB-00012 [SFSBContainer] Exception while initializing SessionSynchronization methods ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref83]]AS-EJB-00013 [SFSBContainer] Exception while loading checkpoint info ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref84]]AS-EJB-00014 Exception creating ejb object : [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref85]]AS-EJB-00015 Exception creating ejb local object [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref86]]AS-EJB-00016 Couldn't update timestamp for: [\{0}]; Exception: [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref87]]AS-EJB-00017 Cannot register bean for checkpointing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref88]]AS-EJB-00018 Error during checkpoint ([\{0}]. Key: [\{1}]) [\{2}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref89]]AS-EJB-00019 sfsb checkpoint error. Name: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref90]]AS-EJB-00020 sfsb checkpoint error. Key: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref91]]AS-EJB-00021 Exception in afterCompletion : [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref92]]AS-EJB-00022 1. passivateEJB() returning because containerState: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref93]]AS-EJB-00023 Extended EM not serializable. Exception: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref94]]AS-EJB-00024 Error during passivation: [\{0}]; [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref95]]AS-EJB-00025 Error during passivation of [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref96]]AS-EJB-00026 sfsb passivation error. Key: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref97]]AS-EJB-00028 Error during Stateful Session Bean activation for key [\{0}] ::
-  Cause: A problem occurred while the container was activating a
-  stateful session bean. One possible cause is that the bean code threw
-  a system exception from its ejbActivate method. +
-  Action: Check the stack trace to see whether the exception was thrown
-  from the ejbActivate method and if so double-check the application
-  code to determine what caused the exception.
-
-[[sthref98]]AS-EJB-00029 [\{0}]: Error during backingStore.shutdown() ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref99]]AS-EJB-00030 [\{0}]: Error during onShutdown() ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref100]]AS-EJB-00031 [\{0}]: Error while undeploying ctx. Key: [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref101]]AS-EJB-00032 Cannot add idle bean cleanup task ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref102]]AS-EJB-00033 Got exception during removeExpiredSessions (but the reaper thread is still alive) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref103]]AS-EJB-00034 Error during checkpoint(, but session not destroyed) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref104]]AS-EJB-00035 Error during checkpoint ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref105]]AS-EJB-00036 TopLevel AvailabilityService.getAvailabilityEnabled: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref106]]AS-EJB-00037 TopLevel EjbAvailabilityService.getAvailabilityEnabled: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref107]]AS-EJB-00038 Global AvailabilityEnabled: [\{0}], application AvailabilityEnabled: [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref108]]AS-EJB-00039 Exception while trying to determine availability-enabled settings for this app ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref109]]AS-EJB-00040 StatefulContainerBuilder AvailabilityEnabled [\{0}] for this application ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref110]]AS-EJB-00041 StatefulContainerBuilder.buildStoreManager() storeName: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref111]]AS-EJB-00042 Could not instantiate backing store for type [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref112]]AS-EJB-00043 StatefulContainerbuilder instantiated store: \{0}, with ha-enabled [\{1}], and backing store configuration: \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref113]]AS-EJB-00044 Error while adding idle bean passivator task ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref114]]AS-EJB-00045 Error while adding idle bean removal task ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref115]]AS-EJB-00046 Error while removing idle beans for [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref116]]AS-EJB-00047 Error while removing expired beans for [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref117]]AS-EJB-00048 Passivation-capable value of stateful session bean [\{0}] is false, it should not have any PrePassivate nor PostActivate configuration, but you have configuration at [\{1}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref118]]AS-EJB-00049 Cannot find stateful session bean [\{0}] in memory, and will not read it from disk because current stateful session bean passivation-capable value is false ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref119]]AS-EJB-00050 Cache is shutting down, \{0} stateful session beans will not be restored after restarting since passivation is disabled ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref120]]AS-EJB-00051 Disabling high availability for the stateful session bean \{0}, as its marked non passivatable ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref121]]AS-EJB-00052 Internal Error ::
-  Cause: Error during invoke the ejb application +
-  Action: Trying to invoke the ejb application
-
-[[sthref122]]AS-EJB-00053 The feature \{0} requires Full Java EE Profile to be supported ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref123]]AS-EJB-00054 Portable JNDI names for EJB \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref124]]AS-EJB-00055 GlassFish-specific (Non-portable) JNDI names for EJB \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref125]]AS-EJB-00056 A system exception occurred during an invocation on EJB \{0}, method: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref126]]AS-EJB-00057 Error while creating enterprise bean context for \{0} during jacc callback ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref127]]AS-EJB-00058 Attempt to override reserved ejb interface method [\{0}] in [\{1}]. Override will be ignored. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref128]]AS-EJB-00059 Bean class for ejb [\{0}] does not define a method corresponding to [\{1}] interface method [\{2}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref129]]AS-EJB-00060 keepstate is true and will not create new auto timers during deployment. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref130]]AS-EJB-00061 Failed to initialize the interceptor ::
-  Cause: Error during initializing the interceptor +
-  Action: Try to restart the server
-
-[[sthref131]]AS-EJB-00062 [**BaseContainer**] Could not create MonitorRegistryMediator. [\{0}] ::
-  Cause: Fail to create MonitorRegistryMediator +
-  Action: Check the exception stack
-
-[[sthref132]]AS-EJB-00063 Exception in backingStore.size() ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref133]]AS-JMS-CORE-00001 JMS Service Connection URL is : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref134]]AS-JMS-CORE-00002 ADDRESSLIST in setJmsServiceProvider : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref135]]AS-JMS-CORE-00003 Addresslist : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref136]]AS-JMS-CORE-00004 End point determines destination name, Res name: \{0}, JNDI name: \{1} descriptor name : \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref137]]AS-JMS-CORE-00005 Successfully set Master broker on JMSRA to \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref138]]AS-JMS-CORE-00006 Failed to set Master broker on JMSRA to \{0} cause \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref139]]AS-JMS-CORE-00007 Successfully set Cluster brokerlist to \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref140]]AS-JMS-CORE-00008 Failed to set Cluster brokerlist to \{0} cause \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref141]]AS-JMS-CORE-00009 Failed to shut down Grizzly NetworkListener : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref142]]AS-JMS-CORE-00010 Error occurs when shutting down JMSRA : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref143]]AS-JMS-CORE-00011 Invalid RMI registry port ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref144]]AS-JMS-CORE-00012 No such method \{0} in the class \{1} ::
-  Cause: The method setProperty is not defined in the class +
-  Action: Define the appropriate method
-
-[[sthref145]]AS-JMS-CORE-00013 Connector Resource could not be closed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref146]]AS-JMS-CORE-00014 rardeployment.mcfcreation_error \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref147]]AS-JMS-CORE-00015 Exception while getting configured RMI port : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref148]]AS-JMS-CORE-00016 Failed to start Grizlly proxy for MQ broker ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref149]]AS-JMS-CORE-00017 Failed to create addresslist due to the exception : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref150]]AS-JMS-CORE-00018 Error executing method \{0} of the class \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref151]]AS-JMS-CORE-00019 MDB destination not specified ::
-  Cause: Missing destination JNDI name +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref152]]AS-JMS-CORE-00020 Failed to validate endpoint ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref153]]AS-JMS-CORE-00021 Cannot obtain master broker ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref154]]AS-JMS-CORE-00022 Error while loading connector resources during recovery : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref155]]AS-JMS-CORE-00023 Exception in reading mdb-container configuration : [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref156]]AS-JMS-CORE-00024 MQ Resource adapter upgrade started. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref157]]AS-JMS-CORE-00025 MQ Resource adapter upgrade completed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref158]]AS-JMS-CORE-00026 Upgrading a MQ resource adapter failed : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref159]]AS-JMS-CORE-00027 Check for a new version of MQ installation failed : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref160]]AS-ORB-00001 Exception occurred when resolving \{0} ::
-  Cause: org.omg.CORBA.ORBPackage.InvalidName when trying to resolve
-  GroupInfoService +
-  Action: Check server.log for details
-
-[[sthref161]]AS-ORB-00002 No Endpoints selected in com.sun.appserv.iiop.endpoints property. Using \{0}:\{1} instead ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref162]]AS-ORB-00003 Problem with membership change notification. Exception occurred : \{0} ::
-  Cause: check server.log for details +
-  Action: check network configuration and cluster setup
-
-[[sthref163]]AS-ORB-00004 Could not find an endpoint to send request to. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref164]]AS-ORB-00005 Unknown host: \{0} Exception thrown : \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref165]]AS-ORB-00006 No Endpoints selected in com.sun.appserv.iiop.endpoints property. Using JNDI Provider URL \{0} instead ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref166]]AS-ORB-00007 Exception : \{0} thrown for bad provider URL String: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref167]]AS-WSSECURITY-00001 Request processing failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref168]]AS-WSSECURITY-00002 SEC2002: Container-auth: wss: Error validating request. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref169]]AS-WSSECURITY-00003 SEC2003: Container-auth: wss: Error securing response. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref170]]AS-WSSECURITY-00004 SEC2004: Container-auth: wss: Error securing request. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref171]]AS-WSSECURITY-00005 SEC2005: Container-auth: wss: Error validating response. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref172]]AS-WSSECURITY-00006 SEC2006: Container-auth: wss: Not a SOAP message context. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref173]]AS-WSSECURITY-00007 EJB Webservice security configuration Failure. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref174]]AS-WSSECURITY-00008 Servlet Webservice security configuration Failure ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref175]]AS-WSSECURITY-00009 BASIC AUTH username/password http header parsing error for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref176]]AS-WSSECURITY-00010 Servlet Webservice security configuration Failure ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref177]]AS-WSSECURITY-00011 Following exception was thrown: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref178]]AS-WEB-ADMIN-00001 Unable to register StatsProvider \{0} with Monitoring Infrastructure. No monitoring data will be collected for \{1} and \{2} ::
-  Cause: Current server config is null +
-  Action: Verify if the server instance is started correctly
-
-[[sthref179]]AS-WEB-ADMIN-00002 Current server config is null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref180]]AS-WEB-ADMIN-00003 The acceptor threads must be at least 1 ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref181]]AS-WEB-ADMIN-00004 Listener \{0} could not be created, actual reason: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref182]]AS-WEB-ADMIN-00005 A default virtual server is required. Please use --default-virtual-server to specify this value. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref183]]AS-WEB-ADMIN-00006 --defaultVS and --default-virtual-server conflict. Please use only --default-virtual-server to specify this value. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref184]]AS-WEB-ADMIN-00007 Attribute value (default-virtual-server = \{0}) is not found in list of virtual servers defined in config. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref185]]AS-WEB-ADMIN-00008 Http Listener named \{0} already exists. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref186]]AS-WEB-ADMIN-00009 Port [\{0}] is already taken for address [\{1}], please choose another port. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref187]]AS-WEB-ADMIN-00010 Network Listener named \{0} already exists. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref188]]AS-WEB-ADMIN-00011 Protocol \{0} has neither a protocol nor a port-unification configured. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref189]]AS-WEB-ADMIN-00012 \{0} create failed: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref190]]AS-WEB-ADMIN-00013 The specified protocol \{0} is not yet configured. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref191]]AS-WEB-ADMIN-00014 Failed to create http-redirect for \{0}: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref192]]AS-WEB-ADMIN-00015 An http element for \{0} already exists. Cannot add duplicate http. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref193]]AS-WEB-ADMIN-00016 An http-redirect element for \{0} already exists. Cannot add duplicate http-redirect. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref194]]AS-WEB-ADMIN-00017 \{0} protocol already exists. Cannot add duplicate protocol. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref195]]AS-WEB-ADMIN-00018 Failed to create protocol \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref196]]AS-WEB-ADMIN-00019 \{0} create failed: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref197]]AS-WEB-ADMIN-00020 \{0} create failed. Given class is not a ProtocolFilter: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref198]]AS-WEB-ADMIN-00021 \{0} create failed. Given class is not a ProtocolFinder: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref199]]AS-WEB-ADMIN-00022 \{0} transport already exists. Cannot add duplicate transport. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref200]]AS-WEB-ADMIN-00023 Failed to create transport \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref201]]AS-WEB-ADMIN-00024 Please use only networklisteners. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref202]]AS-WEB-ADMIN-00025 Virtual Server named \{0} already exists. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref203]]AS-WEB-ADMIN-00026 \{0} create failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref204]]AS-WEB-ADMIN-00028 Specified http listener, \{0}, doesn''t exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref205]]AS-WEB-ADMIN-00029 \{0} delete failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref206]]AS-WEB-ADMIN-00030 \{0} Network Listener doesn't exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref207]]AS-WEB-ADMIN-00031 Deletion of NetworkListener \{0} failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref208]]AS-WEB-ADMIN-00032 \{0} http-redirect doesn't exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref209]]AS-WEB-ADMIN-00033 Deletion of http \{0} failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref210]]AS-WEB-ADMIN-00034 Deletion of http-redirect \{0} failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref211]]AS-WEB-ADMIN-00035 \{0} protocol doesn't exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref212]]AS-WEB-ADMIN-00036 \{0} protocol is being used in the network listener \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref213]]AS-WEB-ADMIN-00037 Deletion of Protocol \{0} failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref214]]AS-WEB-ADMIN-00038 \{0} delete failed: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref215]]AS-WEB-ADMIN-00039 No \{0} element found with the name \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref216]]AS-WEB-ADMIN-00040 \{0} transport is being used in the network listener \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref217]]AS-WEB-ADMIN-00041 Deletion of Transport \{0} failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref218]]AS-WEB-ADMIN-00042 \{0} transport doesn''t exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref219]]AS-WEB-ADMIN-00043 \{0} delete failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref220]]AS-WEB-ADMIN-00044 Specified virtual server, \{0}, doesn''t exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref221]]AS-WEB-ADMIN-00045 Specified virtual server, \{0}, can not be deleted because it is referenced from http listener, \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref222]]AS-WEB-ADMIN-00046 Monitoring Registry does not exist. Possible causes are 1) Monitoring is not turned on or at a lower level 2) The corresponding container (web, ejb, etc.) is not loaded yet ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref223]]AS-WEB-UTIL-00001 Resource ''\{0}'' is missing ::
-  Cause: A naming exception is encountered +
-  Action: Check the list of resources
-
-[[sthref224]]AS-WEB-UTIL-00002 Failed tracking modifications of ''\{0}'' : \{1} ::
-  Cause: A ClassCastException is encountered +
-  Action: Check if the object is an instance of the class
-
-[[sthref225]]AS-WEB-UTIL-00003 WebappClassLoader.findClassInternal(\{0}) security exception: \{1} ::
-  Cause: An AccessControlException is encountered +
-  Action: Check if the resource is accessible
-
-[[sthref226]]AS-WEB-UTIL-00004 Security Violation, attempt to use Restricted Class: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref227]]AS-WEB-UTIL-00005 Class \{0} has unsupported major or minor version numbers, which are greater than those found in the Java Runtime Environment version \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref228]]AS-WEB-UTIL-00006 Unable to load class with name [\{0}], reason: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref229]]AS-WEB-UTIL-00007 The web application [\{0}] registered the
-JDBC driver [\{1}] but failed to unregister it when the web application
-was stopped. To prevent a memory leak, the JDBC Driver has been forcibly
-unregistered. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref230]]AS-WEB-UTIL-00008 JDBC driver de-registration failed for web application [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref231]]AS-WEB-UTIL-00009 Exception closing input stream during JDBC driver de-registration for web application [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref232]]AS-WEB-UTIL-00010 This web container has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref233]]AS-WEB-UTIL-00011 Failed to check for ThreadLocal references for web application [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref234]]AS-WEB-UTIL-00012 Unable to determine string representation of key of type [\{0}] ::
-  Cause: An Exception occurred +
-  Action: Check the exception for error
-
-[[sthref235]]AS-WEB-UTIL-00013 Unknown ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref236]]AS-WEB-UTIL-00014 Unable to determine string representation of value of type [\{0}] ::
-  Cause: An Exception occurred +
-  Action: Check the exception for error
-
-[[sthref237]]AS-WEB-UTIL-00015 The web application [\{0}] created a ThreadLocal with key of type [\{1}] (value [\{2}]). The ThreadLocal has been correctly set to null and the key will be removed by GC. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref238]]AS-WEB-UTIL-00016 The web application [\{0}] created a
-ThreadLocal with key of type [\{1}] (value [\{2}]) and a value of type
-[\{3}] (value [\{4}]) but failed to remove it when the web application
-was stopped. Threads are going to be renewed over time to try and avoid
-a probable memory leak. ::
-  Cause: Failed to remove a ThreadLocal when the web application was
-  stopped +
-  Action: Threads are going to be renewed over time to try and avoid a
-  probable memory leak.
-
-[[sthref239]]AS-WEB-UTIL-00017 Failed to find class sun.rmi.transport.Target to clear context class loader for web application [\{0}]. This is expected on non-Sun JVMs. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref240]]AS-WEB-UTIL-00018 Failed to clear context class loader referenced from sun.rmi.transport.Target for web application [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref241]]AS-WEB-UTIL-00019 Removed [\{0}] ResourceBundle references from the cache for web application [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref242]]AS-WEB-UTIL-00020 Failed to clear ResourceBundle references for web application [\{0}] ::
-  Cause: An Exception occurred +
-  Action: Check the exception for error
-
-[[sthref243]]AS-WEB-UTIL-00021 Illegal JAR entry detected with name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref244]]AS-WEB-UTIL-00022 Unable to validate JAR entry with name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref245]]AS-WEB-UTIL-00023 Unable to create \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref246]]AS-WEB-UTIL-00024 Unable to delete \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref247]]AS-WEB-UTIL-00025 Unable to read data for class with name [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref248]]AS-WEB-UTIL-00026 Unable to purge bean classes from BeanELResolver ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref249]]AS-WEB-UTIL-00027 extra-class-path component [\{0}] is not a valid pathname ::
-  Cause: A naming exception is encountered +
-  Action: Check the list of resources
-
-[[sthref250]]AS-WEB-UTIL-00028 The clearReferencesStatic is not consistent in context.xml for virtual servers ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref251]]AS-WEB-UTIL-00029 class-loader attribute dynamic-reload-interval in sun-web.xml not supported ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref252]]AS-WEB-UTIL-00030 Property element in sun-web.xml has null 'name' or 'value' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref253]]AS-WEB-UTIL-00031 Ignoring invalid property [\{0}] = [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref254]]AS-WEB-UTIL-00032 The xml element should be [\{0}] rather than [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref255]]AS-WEB-UTIL-00033 This is an unexpected end of document ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref256]]AS-WEB-UTIL-00034 Unexpected type of ClassLoader. Expected: java.net.URLClassLoader, got: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref257]]AS-WEB-UTIL-00035 Unable to load class \{0}, reason: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref258]]AS-WEB-UTIL-00036 Invalid URLClassLoader path component: [\{0}] is neither a JAR file nor a directory ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref259]]AS-WEB-UTIL-00037 Error trying to scan the classes at \{0} for annotations in which a ServletContainerInitializer has expressed interest ::
-  Cause: An IOException is encountered +
-  Action: Verify if the path is correct
-
-[[sthref260]]AS-WEB-UTIL-00038 Ignoring [\{0}] during Tag Library Descriptor (TLD) processing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref261]]AS-WEB-UTIL-00039 Unable to determine TLD resources for [\{0}] tag library, because class loader [\{1}] for [\{2}] is not an instance of java.net.URLClassLoader ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref262]]AS-WEB-CORE-00001 Configuration error: Must be attached to a Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref263]]AS-WEB-CORE-00002 Authenticator[\{0}]: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref264]]AS-WEB-CORE-00003 Exception getting debug value ::
-  Cause: Could not get the method or invoke underlying method +
-  Action: Verify the existence of such method and access permission
-
-[[sthref265]]AS-WEB-CORE-00004 Unexpected error forwarding or redirecting to login page ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref266]]AS-WEB-CORE-00005 Started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref267]]AS-WEB-CORE-00006 Stopped ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref268]]AS-WEB-CORE-00007 Process session destroyed on \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref269]]AS-WEB-CORE-00008 Process request for ''\{0}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref270]]AS-WEB-CORE-00009 Principal \{0} has already been authenticated ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref271]]AS-WEB-CORE-00010 Checking for SSO cookie ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref272]]AS-WEB-CORE-00011 SSO cookie is not present ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref273]]AS-WEB-CORE-00012 Checking for cached principal for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref274]]AS-WEB-CORE-00013 Found cached principal \{0} with auth type \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref275]]AS-WEB-CORE-00014 No cached principal found, erasing SSO cookie ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref276]]AS-WEB-CORE-00015 Associate sso id \{0} with session \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref277]]AS-WEB-CORE-00016 Registering sso id \{0} for user \{1} with auth type \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref278]]AS-WEB-CORE-00017 Looking up certificates ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref279]]AS-WEB-CORE-00018 No certificates included with this request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref280]]AS-WEB-CORE-00019 No client certificate chain in this request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref281]]AS-WEB-CORE-00020 Cannot authenticate with the provided credentials ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref282]]AS-WEB-CORE-00021 Unable to determine target of zero-arg dispatcher ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref283]]AS-WEB-CORE-00022 Unable to acquire RequestDispatcher for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref284]]AS-WEB-CORE-00023 Unable to acquire RequestDispatcher for \{0} in servlet context \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref285]]AS-WEB-CORE-00024 Error invoking AsyncListener ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref286]]AS-WEB-CORE-00025 Asynchronous dispatch already in progress, must call ServletRequest.startAsync first ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref287]]AS-WEB-CORE-00026 Must not call AsyncContext.addListener after the container-initiated dispatch during which ServletRequest.startAsync was called has returned to the container ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref288]]AS-WEB-CORE-00027 Must not call AsyncContext.setTimeout after the container-initiated dispatch during which ServletRequest.startAsync was called has returned to the container ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref289]]AS-WEB-CORE-00028 The connector has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref290]]AS-WEB-CORE-00029 Error registering connector ::
-  Cause: Could not register connector +
-  Action: Verify domain name and type
-
-[[sthref291]]AS-WEB-CORE-00030 Failed to instanciate HttpHandler ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref292]]AS-WEB-CORE-00031 mod_jk invalid Adapter implementation: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref293]]AS-WEB-CORE-00032 Protocol handler instantiation failed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref294]]AS-WEB-CORE-00033 The connector has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref295]]AS-WEB-CORE-00034 Protocol handler start failed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref296]]AS-WEB-CORE-00035 Coyote connector has not been started ::
-  Cause: Could not stop processing requests via this Connector +
-  Action: Verify if the connector has not been started
-
-[[sthref297]]AS-WEB-CORE-00036 Protocol handler destroy failed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref298]]AS-WEB-CORE-00037 An exception or error occurred in the container during the request processing ::
-  Cause: Could not process the request in the container +
-  Action: Verify certificate chain retrieved from the request header and
-  the correctness of request
-
-[[sthref299]]AS-WEB-CORE-00038 HTTP listener on port \{0} has been disabled ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref300]]AS-WEB-CORE-00039 Error parsing client cert chain into array of java.security.cert.X509Certificate instances ::
-  Cause: Could not get the SSL client certificate chain +
-  Action: Verify certificate chain and the request
-
-[[sthref301]]AS-WEB-CORE-00040 No Host matches server name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref302]]AS-WEB-CORE-00041 Cannot use this object outside a servlet's service method or outside a filter's doFilter method ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref303]]AS-WEB-CORE-00042 Cannot set a null ReadListener object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref304]]AS-WEB-CORE-00043 Cannot set a null WriteListener object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref305]]AS-WEB-CORE-00044 Failed to skip \{0} characters in the underlying buffer of CoyoteReader on readLine(). ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref306]]AS-WEB-CORE-00045 Stream closed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref307]]AS-WEB-CORE-00046 Already set read listener ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref308]]AS-WEB-CORE-00047 Cannot set ReaderListener for non-async or non-upgrade request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref309]]AS-WEB-CORE-00048 Error in invoking ReadListener.onDataAvailable ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref310]]AS-WEB-CORE-00049 The WriteListener has already been set. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref311]]AS-WEB-CORE-00050 Cannot set WriteListener for non-async or non-upgrade request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref312]]AS-WEB-CORE-00051 Error in invoking WriteListener.onWritePossible ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref313]]AS-WEB-CORE-00052 getReader() has already been called for this request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref314]]AS-WEB-CORE-00053 getInputStream() has already been called for this request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref315]]AS-WEB-CORE-00054 Unable to determine client remote address from proxy (returns null) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref316]]AS-WEB-CORE-00055 Unable to resolve IP address \{0} into host name ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref317]]AS-WEB-CORE-00056 Exception thrown by attributes event listener ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref318]]AS-WEB-CORE-00057 Cannot call setAttribute with a null name ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref319]]AS-WEB-CORE-00058 Unable to determine canonical name of file [\{0}] specified for use with sendfile ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref320]]AS-WEB-CORE-00059 Unable to set request character encoding to \{0} from context \{1}, because request parameters have already been read, or ServletRequest.getReader() has already been called ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref321]]AS-WEB-CORE-00060 Attempt to re-login while the user identity already exists ::
-  Cause: Could not re-login +
-  Action: Verify if user has already login
-
-[[sthref322]]AS-WEB-CORE-00061 changeSessionId has been called without a session ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref323]]AS-WEB-CORE-00062 Cannot create a session after the response has been committed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref324]]AS-WEB-CORE-00063 Invalid URI encoding; using HTTP default ::
-  Cause: Could not set URI converter +
-  Action: Verify URI encoding, using HTTP default
-
-[[sthref325]]AS-WEB-CORE-00064 Invalid URI character encoding; trying ascii ::
-  Cause: Could not encode URI character +
-  Action: Verify URI encoding, trying ascii
-
-[[sthref326]]AS-WEB-CORE-00065 Request is within the scope of a filter or servlet that does not support asynchronous operations ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref327]]AS-WEB-CORE-00066 ServletRequest.startAsync called again without any asynchronous dispatch, or called outside the scope of any such dispatch, or called again within the scope of the same dispatch ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref328]]AS-WEB-CORE-00067 Response already closed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref329]]AS-WEB-CORE-00068 ServletRequest.startAsync called outside the scope of an async dispatch ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref330]]AS-WEB-CORE-00069 The request has not been put into asynchronous mode, must call ServletRequest.startAsync first ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref331]]AS-WEB-CORE-00070 Request already released from asynchronous mode ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref332]]AS-WEB-CORE-00071 Unable to perform error dispatch ::
-  Cause: Could not perform post-request processing as required by this
-  Valve +
-  Action: Verify if I/O exception or servlet exception occur
-
-[[sthref333]]AS-WEB-CORE-00072 Request.\{0} is called without multipart configuration. Either add a @MultipartConfig to the servlet, or a multipart-config element to web.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref334]]AS-WEB-CORE-00073 This should not happen-breaking background lock: sess = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref335]]AS-WEB-CORE-00074 Must not use request object outside the scope of a servlet's service or a filter's doFilter method ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref336]]AS-WEB-CORE-00075 Error during finishResponse ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref337]]AS-WEB-CORE-00076 getWriter() has already been called for this response ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref338]]AS-WEB-CORE-00077 getOutputStream() has already been called for this response ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref339]]AS-WEB-CORE-00078 Cannot reset buffer after response has been committed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref340]]AS-WEB-CORE-00079 Cannot change buffer size after data has been written ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref341]]AS-WEB-CORE-00080 Cannot call sendError() after the response has been committed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref342]]AS-WEB-CORE-00081 Cannot call sendRedirect() after the response has been committed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref343]]AS-WEB-CORE-00082 Null response object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref344]]AS-WEB-CORE-00083 Not allowed to call this
-javax.servlet.ServletContext method from a ServletContextListener that
-was neither declared in the application's deployment descriptor nor
-annotated with WebListener ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref345]]AS-WEB-CORE-00084 Exception thrown by attributes event listener ::
-  Cause: Could not modify attribute +
-  Action: Verify name and value from Servlet Context
-
-[[sthref346]]AS-WEB-CORE-00085 Name cannot be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref347]]AS-WEB-CORE-00086 Cannot forward after response has been committed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref348]]AS-WEB-CORE-00087 Servlet \{0} is currently unavailable ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref349]]AS-WEB-CORE-00088 Allocate exception for servlet \{0} ::
-  Cause: Could not allocate servlet instance +
-  Action: Verify the configuration of wrapper
-
-[[sthref350]]AS-WEB-CORE-00089 Exceeded maximum depth for nested request dispatches: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref351]]AS-WEB-CORE-00090 Servlet.service() for servlet \{0} threw exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref352]]AS-WEB-CORE-00091 Release filters exception for servlet \{0} ::
-  Cause: Could not release filter chain +
-  Action: Verify the availability of current filter chain
-
-[[sthref353]]AS-WEB-CORE-00092 Deallocate exception for servlet \{0} ::
-  Cause: Could not deallocate the allocated servlet instance +
-  Action: Verify the availability of servlet instance
-
-[[sthref354]]AS-WEB-CORE-00093 ApplicationDispatcher[\{0}]: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref355]]AS-WEB-CORE-00094 ApplicationDispatcher[\{0}]: \{1} ::
-  Cause: Could not get logger from parent context +
-  Action: Verify if logger is null
-
-[[sthref356]]AS-WEB-CORE-00095 Exception processing \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref357]]AS-WEB-CORE-00096 Exception sending default error page ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref358]]AS-WEB-CORE-00097 Filter execution threw an exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref359]]AS-WEB-CORE-00098 ApplicationFilterConfig.doAsPrivilege ::
-  Cause: Could not release allocated filter instance +
-  Action: Verify the privilege
-
-[[sthref360]]AS-WEB-CORE-00099 ContainerBase.setLoader: stop: ::
-  Cause: Could not stop previous loader +
-  Action: Verify previous loader
-
-[[sthref361]]AS-WEB-CORE-00100 ContainerBase.setLoader: start: ::
-  Cause: Could not start new loader +
-  Action: Verify the configuration of container
-
-[[sthref362]]AS-WEB-CORE-00101 ContainerBase.setLogger: stop: ::
-  Cause: Could not stop previous logger +
-  Action: Verify previous logger
-
-[[sthref363]]AS-WEB-CORE-00102 ContainerBase.setLogger: start: ::
-  Cause: Could not start new logger +
-  Action: Verify the configuration of container
-
-[[sthref364]]AS-WEB-CORE-00103 ContainerBase.setManager: stop: ::
-  Cause: Could not stop previous manager +
-  Action: Verify previous manager
-
-[[sthref365]]AS-WEB-CORE-00104 ContainerBase.setManager: start: ::
-  Cause: Could not start new manager +
-  Action: Verify the configuration of container
-
-[[sthref366]]AS-WEB-CORE-00105 ContainerBase.setRealm: stop: ::
-  Cause: Could not stop previous realm +
-  Action: Verify previous realm
-
-[[sthref367]]AS-WEB-CORE-00106 ContainerBase.setRealm: start: ::
-  Cause: Could not start new realm +
-  Action: Verify the configuration of container
-
-[[sthref368]]AS-WEB-CORE-00107 addChild: Child name \{0} is not unique ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref369]]AS-WEB-CORE-00108 ContainerBase.addChild: start: ::
-  Cause: Could not start new child container +
-  Action: Verify the configuration of parent container
-
-[[sthref370]]AS-WEB-CORE-00109 ContainerBase.removeChild: stop: ::
-  Cause: Could not stop existing child container +
-  Action: Verify existing child container
-
-[[sthref371]]AS-WEB-CORE-00110 Container \{0} has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref372]]AS-WEB-CORE-00111 Container \{0} has not been started ::
-  Cause: Current container has not been started +
-  Action: Verify the current container
-
-[[sthref373]]AS-WEB-CORE-00112 Error stopping container \{0} ::
-  Cause: Could not stop child container +
-  Action: Verify the existence of current child container
-
-[[sthref374]]AS-WEB-CORE-00113 Error unregistering ::
-  Cause: Could not unregister current container +
-  Action: Verify if the container has been registered
-
-[[sthref375]]AS-WEB-CORE-00114 Exception invoking periodic operation: ::
-  Cause: Could not set the context ClassLoader +
-  Action: Verify the security permission
-
-[[sthref376]]AS-WEB-CORE-00115 Unable to configure \{0} for filter \{1} of servlet context \{2}, because this servlet context has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref377]]AS-WEB-CORE-00116 Unable to configure \{0} for servlet \{1} of servlet context \{2}, because this servlet context has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref378]]AS-WEB-CORE-00117 Unable to configure \{0} for filter \{1} of servlet context \{2}, because this servlet context has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref379]]AS-WEB-CORE-00118 Unable to configure mapping for filter \{0} of servlet context \{1}, because servlet names are null or empty ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref380]]AS-WEB-CORE-00119 Unable to configure mapping for filter \{0} of servlet context \{1}, because URL patterns are null or empty ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref381]]AS-WEB-CORE-00120 Creation of the naming context failed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref382]]AS-WEB-CORE-00121 Failed to bind object: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref383]]AS-WEB-CORE-00122 Environment entry \{0} has an invalid type ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref384]]AS-WEB-CORE-00123 Environment entry \{0} has an invalid value ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref385]]AS-WEB-CORE-00124 Failed to unbind object: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref386]]AS-WEB-CORE-00125 Must not use request object outside the scope of a servlet's service or a filter's doFilter method ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref387]]AS-WEB-CORE-00126 Null response object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref388]]AS-WEB-CORE-00127 Unable to configure \{0} for servlet \{1} of servlet context \{2}, because this servlet context has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref389]]AS-WEB-CORE-00128 Unable to configure mapping for servlet \{0} of servlet context \{1}, because URL patterns are null or empty ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref390]]AS-WEB-CORE-00129 Unable to configure \{0} session tracking cookie property for servlet context \{1}, because this servlet context has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref391]]AS-WEB-CORE-00130 Missing alternate docbase URL pattern or directory location ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref392]]AS-WEB-CORE-00131 LoginConfig cannot be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref393]]AS-WEB-CORE-00132 Form login page \{0} must start with a ''/'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref394]]AS-WEB-CORE-00133 Form error page \{0} must start with a ''/'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref395]]AS-WEB-CORE-00134 Child of a Context must be a Wrapper ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref396]]AS-WEB-CORE-00135 JSP file \{0} must start with a ''/'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref397]]AS-WEB-CORE-00136 Invalid <url-pattern> \{0} in security constraint ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref398]]AS-WEB-CORE-00137 ErrorPage cannot be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref399]]AS-WEB-CORE-00138 Error page location \{0} must start with a ''/'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref400]]AS-WEB-CORE-00139 Invalid status code \{0} for error-page mapping. HTTP error codes are defined in the range from 400-600 ::
-  Cause: Invalid error page code +
-  Action: Verify the error code
-
-[[sthref401]]AS-WEB-CORE-00140 Filter mapping specifies an unknown filter name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref402]]AS-WEB-CORE-00141 Filter mapping must specify either a <url-pattern> or a <servlet-name> ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref403]]AS-WEB-CORE-00142 Invalid <url-pattern> \{0} in filter mapping ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref404]]AS-WEB-CORE-00143 Unable to call method \{0} on servlet context \{1}, because this servlet context has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref405]]AS-WEB-CORE-00144 Filter name is null or an empty String ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref406]]AS-WEB-CORE-00145 Unable to set \{0} session tracking mode on servlet context \{1}, because it is not supported ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref407]]AS-WEB-CORE-00146 Unable to add listener of type: \{0},
-because it does not implement any of the required
-ServletContextListener, ServletContextAttributeListener,
-ServletRequestListener, ServletRequestAttributeListener,
-HttpSessionListener, or HttpSessionAttributeListener interfaces ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref408]]AS-WEB-CORE-00147 Both parameter name and parameter value are required, parameter name is \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref409]]AS-WEB-CORE-00148 Duplicate context initialization parameter \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref410]]AS-WEB-CORE-00149 Invalid <url-pattern> \{0} in servlet mapping ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref411]]AS-WEB-CORE-00150 Servlet mapping specifies an unknown servlet name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref412]]AS-WEB-CORE-00151 Unable to map Servlet [\{0}] to URL pattern [\{1}], because Servlet [\{2}] is already mapped to it ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref413]]AS-WEB-CORE-00152 Error creating instance listener \{0} ::
-  Cause: Could not create new instance +
-  Action: Verify the configuration of Wrapper and InstanceListener
-
-[[sthref414]]AS-WEB-CORE-00153 Error creating lifecycle listener \{0} ::
-  Cause: Could not create new instance for life cycle listener +
-  Action: Verify the permit of current class to access newInstance()
-
-[[sthref415]]AS-WEB-CORE-00154 Error creating container listener \{0} ::
-  Cause: Could not create new instance for container listener +
-  Action: Verify the permit of current class to access newInstance()
-
-[[sthref416]]AS-WEB-CORE-00155 Reloading this Context has started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref417]]AS-WEB-CORE-00156 Error stopping context \{0} ::
-  Cause: Could not stop context component +
-  Action: Verify stop() to guarantee the whole domain is being stopped
-  correctly
-
-[[sthref418]]AS-WEB-CORE-00157 Error starting context \{0} ::
-  Cause: Could not start context component +
-  Action: Verify start() to guarantee the context component is being
-  started correctly
-
-[[sthref419]]AS-WEB-CORE-00158 Error invoking requestInitialized method on ServletRequestListener \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref420]]AS-WEB-CORE-00159 Error invoking requestDestroyed method on ServletRequestListener \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref421]]AS-WEB-CORE-00160 Exception starting filter \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref422]]AS-WEB-CORE-00161 Servlet with name \{0} does not have any servlet-class or jsp-file configured ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref423]]AS-WEB-CORE-00162 Filter with name \{0} does not have any class configured ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref424]]AS-WEB-CORE-00163 Exception sending context destroyed event to listener instance of class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref425]]AS-WEB-CORE-00164 Error starting resources in context \{0} ::
-  Cause: Could not get the proxy directory context +
-  Action: Verify the existence of the context
-
-[[sthref426]]AS-WEB-CORE-00165 Error stopping static resources ::
-  Cause: Could not deallocate resource and destroy proxy +
-  Action: Verify if a fatal error that prevents this component from
-  being used
-
-[[sthref427]]AS-WEB-CORE-00166 Current container has already been started with a DirContext object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref428]]AS-WEB-CORE-00167 Error starting resources in context \{0} with Exception message: \{1} ::
-  Cause: Could not get the proxy directory context +
-  Action: Verify the existence of the context
-
-[[sthref429]]AS-WEB-CORE-00168 Form login page \{0} must start with a ''/'' in Servlet 2.4 ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref430]]AS-WEB-CORE-00169 Form error page \{0} must start with a ''/'' in Servlet 2.4 ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref431]]AS-WEB-CORE-00170 JSP file \{0} must start with a ''/'' in Servlet 2.4 ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref432]]AS-WEB-CORE-00171 Container \{0} has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref433]]AS-WEB-CORE-00172 Error initialzing resources\{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref434]]AS-WEB-CORE-00173 Error in dependency check for standard context \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref435]]AS-WEB-CORE-00174 Startup of context \{0} failed due to previous errors ::
-  Cause: Could not startup servlet +
-  Action: Verify the initialization process
-
-[[sthref436]]AS-WEB-CORE-00175 Exception during cleanup after start failed ::
-  Cause: Stop staring up failed +
-  Action: Verify configurations to stop starting up
-
-[[sthref437]]AS-WEB-CORE-00176 Error invoking ServletContainerInitializer \{0} ::
-  Cause: Could not instantiate servlet container initializer +
-  Action: Verify the access permission of current class loader
-
-[[sthref438]]AS-WEB-CORE-00177 Error resetting context \{0} ::
-  Cause: Could not restore original state +
-  Action: Verify if extend 'this' method, and make sure to clean up
-
-[[sthref439]]AS-WEB-CORE-00178 URL pattern \{0} must start with a ''/'' in Servlet 2.4 ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref440]]AS-WEB-CORE-00179 Failed to create work directory \{0} ::
-  Cause: Could not create work directory +
-  Action: Verify the directory name, and access permission
-
-[[sthref441]]AS-WEB-CORE-00180 The URL pattern \{0} contains a CR or LF and so can never be matched ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref442]]AS-WEB-CORE-00181 Missing name attribute in \{0} ::
-  Cause: Could not get the attribute +
-  Action: Verify the existence of the value associated with the key
-
-[[sthref443]]AS-WEB-CORE-00182 Malformed name \{0}, value of name attribute does not start with ''//'' ::
-  Cause: Illegal path name +
-  Action: Verify path name
-
-[[sthref444]]AS-WEB-CORE-00183 Path \{0} does not start with ''/'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref445]]AS-WEB-CORE-00184 Path \{0} does not start with ''/'' and is not empty ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref446]]AS-WEB-CORE-00185 Error during mapping ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref447]]AS-WEB-CORE-00186 Unable to create custom ObjectInputStream ::
-  Cause: Could not create custom ObjectInputStream +
-  Action: Verify input stream and class loader
-
-[[sthref448]]AS-WEB-CORE-00187 Error during bindThread ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref449]]AS-WEB-CORE-00188 Servlet \{0} threw load() exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref450]]AS-WEB-CORE-00189 Error updating ctx with jmx \{0} \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref451]]AS-WEB-CORE-00190 Error registering wrapper with jmx \{0} \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref452]]AS-WEB-CORE-00191 Null filter instance ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref453]]AS-WEB-CORE-00192 Servlet name is null or an empty String ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref454]]AS-WEB-CORE-00193 Null servlet instance ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref455]]AS-WEB-CORE-00194 Child of an Engine must be a Host ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref456]]AS-WEB-CORE-00195 Engine cannot have a parent Container ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref457]]AS-WEB-CORE-00196 Error registering ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref458]]AS-WEB-CORE-00197 No Host matches server name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref459]]AS-WEB-CORE-00198 Host name is required ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref460]]AS-WEB-CORE-00199 Child of a Host must be a Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref461]]AS-WEB-CORE-00200 MAPPING configuration error for request URI \{0} ::
-  Cause: No context has been selected +
-  Action: Verify the uri or default context
-
-[[sthref462]]AS-WEB-CORE-00201 ErrorPage must not be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref463]]AS-WEB-CORE-00202 XML validation enabled ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref464]]AS-WEB-CORE-00203 Create Host deployer for direct deployment ( non-jmx ) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref465]]AS-WEB-CORE-00204 Error creating deployer ::
-  Cause: Could not instantiate deployer +
-  Action: Verify access permission
-
-[[sthref466]]AS-WEB-CORE-00205 Error registering host \{0} ::
-  Cause: Initialization failed +
-  Action: Verify domain and host name
-
-[[sthref467]]AS-WEB-CORE-00206 Couldn't load specified error report valve class: \{0} ::
-  Cause: Could not load instance of host valve +
-  Action: Verify access permission
-
-[[sthref468]]AS-WEB-CORE-00207 Context path is required ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref469]]AS-WEB-CORE-00208 Invalid context path: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref470]]AS-WEB-CORE-00209 Context path \{0} is already in use ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref471]]AS-WEB-CORE-00210 URL to web application archive is required ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref472]]AS-WEB-CORE-00211 Installing web application at context path \{0} from URL \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref473]]AS-WEB-CORE-00212 Invalid URL for web application archive: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref474]]AS-WEB-CORE-00213 Only web applications in the Host web application directory can be installed, invalid URL: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref475]]AS-WEB-CORE-00214 Context path \{0} must match the directory or WAR file name: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref476]]AS-WEB-CORE-00215 Error installing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref477]]AS-WEB-CORE-00216 Error deploying application at context path \{0} ::
-  Cause: Could not initiate life cycle listener +
-  Action: Verify the access permission
-
-[[sthref478]]AS-WEB-CORE-00217 URL to configuration file is required ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref479]]AS-WEB-CORE-00218 Use of configuration file is not allowed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref480]]AS-WEB-CORE-00219 Processing Context configuration file URL \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref481]]AS-WEB-CORE-00220 Installing web application from URL \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref482]]AS-WEB-CORE-00221 Context path \{0} is not currently in use ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref483]]AS-WEB-CORE-00222 Removing web application at context path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref484]]AS-WEB-CORE-00223 Error removing application at context path \{0} ::
-  Cause: Could not remove an existing child Container +
-  Action: Verify if there are any I/O errors
-
-[[sthref485]]AS-WEB-CORE-00224 Starting web application at context path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref486]]AS-WEB-CORE-00225 Starting web application at context path \{0} failed ::
-  Cause: Could not start web application at current context path +
-  Action: Verify if start() is called before any of the public methods
-  of this component are utilized, and it should send START_EVENT to any
-  registered listeners
-
-[[sthref487]]AS-WEB-CORE-00226 Stopping web application at context path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref488]]AS-WEB-CORE-00227 Stopping web application at context path \{0} failed ::
-  Cause: Could not terminate the active use of the public methods of
-  this component +
-  Action: Verify if stop() is the last one called on a given instance of
-  this component, and it should send STOP_EVENT to any registered
-  listeners
-
-[[sthref489]]AS-WEB-CORE-00228 Failed to remove file \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref490]]AS-WEB-CORE-00229 Remote Client Aborted Request, IOException: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref491]]AS-WEB-CORE-00230 The error-page \{0} or \{1} does not exist ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref492]]AS-WEB-CORE-00231 No Context configured to process this request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref493]]AS-WEB-CORE-00232 Pipeline has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref494]]AS-WEB-CORE-00233 Pipeline has not been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref495]]AS-WEB-CORE-00234 Exception occurred when stopping GlassFishValve in StandardPipeline.setBasic ::
-  Cause: Could not terminate the active use of the public methods of
-  this component +
-  Action: Verify if stop() is the last one called on a given instance of
-  this component, and it should send STOP_EVENT to any registered
-  listeners
-
-[[sthref496]]AS-WEB-CORE-00235 Exception occurred when starting GlassFishValve in StandardPipeline.setBasic ::
-  Cause: Could not prepare for the beginning of active use of the public
-  methods of this component +
-  Action: Verify if start() is called before any of the public methods
-  of this component are utilized, and it should send START_EVENT to any
-  registered listeners
-
-[[sthref497]]AS-WEB-CORE-00236 Exception occurred when starting GlassFishValve in StandardPipline.addValve ::
-  Cause: Specific valve could not be associated with current container +
-  Action: Verify the availability of current valve
-
-[[sthref498]]AS-WEB-CORE-00237 Unable to add valve \{0} ::
-  Cause: Could not add tomcat-style valve +
-  Action: Verify if this is a GlassFish-style valve that was compiled
-  against the old org.apache.catalina.Valve interface
-
-[[sthref499]]AS-WEB-CORE-00238 No more Valves in the Pipeline processing this request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref500]]AS-WEB-CORE-00239 HttpUpgradeHandler handler cannot be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref501]]AS-WEB-CORE-00240 Exception occurred when stopping GlassFishValve in StandardPipeline.removeValve ::
-  Cause: Could not terminate the active use of the public methods of
-  this component +
-  Action: Verify if stop() is the last one called on a given instance of
-  this component, and it should send STOP_EVENT to any registered
-  listeners
-
-[[sthref502]]AS-WEB-CORE-00241 StandardPipeline[\{0}]: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref503]]AS-WEB-CORE-00242 StandardPipeline[null]: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref504]]AS-WEB-CORE-00243 LifecycleException occurred during service initialization: \{0} ::
-  Cause: This service was already initialized +
-  Action: Verify if the service is not already initialized
-
-[[sthref505]]AS-WEB-CORE-00244 Exception StandardServer.await: create[\{0}] ::
-  Cause: An I/O error occurred when opening the socket +
-  Action: Verify the port number and try again
-
-[[sthref506]]AS-WEB-CORE-00245 StandardServer.accept security exception: \{0} ::
-  Cause: Could not get connection +
-  Action: Verify the connection settings and try again
-
-[[sthref507]]AS-WEB-CORE-00246 StandardServer.await: accept: \{0} ::
-  Cause: Could not get input stream +
-  Action: Verify the input stream and try again
-
-[[sthref508]]AS-WEB-CORE-00247 StandardServer.await: read: \{0} ::
-  Cause: Could not read from input stream +
-  Action: Verify the input stream and try again
-
-[[sthref509]]AS-WEB-CORE-00248 StandardServer.await: Invalid command \{0} received ::
-  Cause: Invalid command +
-  Action: Verify the command
-
-[[sthref510]]AS-WEB-CORE-00249 This service has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref511]]AS-WEB-CORE-00250 Error registering: \{0} ::
-  Cause: Could not register ObjectName: "Catalina:type=Server" +
-  Action: Verify the configuration and try again
-
-[[sthref512]]AS-WEB-CORE-00251 This service has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref513]]AS-WEB-CORE-00252 Starting service \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref514]]AS-WEB-CORE-00253 Stopping service \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref515]]AS-WEB-CORE-00254 This service has already been initialized ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref516]]AS-WEB-CORE-00255 Error registering Service at domain \{0} ::
-  Cause: Could not register service +
-  Action: Verify the domain name and service name
-
-[[sthref517]]AS-WEB-CORE-00256 Service initializing at \{0} failed ::
-  Cause: Could not pre-startup initialization +
-  Action: Verify if server was already initialized
-
-[[sthref518]]AS-WEB-CORE-00257 Parent container of a Wrapper must be a Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref519]]AS-WEB-CORE-00258 Wrapper container may not have child containers ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref520]]AS-WEB-CORE-00259 Cannot allocate servlet \{0} because it is being unloaded ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref521]]AS-WEB-CORE-00260 Error allocating a servlet instance ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref522]]AS-WEB-CORE-00261 Class \{0} is not a Servlet ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref523]]AS-WEB-CORE-00262 Error instantiating servlet class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref524]]AS-WEB-CORE-00263 Servlet of class \{0} is privileged and cannot be loaded by this web application ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref525]]AS-WEB-CORE-00264 No servlet class has been specified for servlet \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref526]]AS-WEB-CORE-00265 Wrapper cannot find Loader for servlet \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref527]]AS-WEB-CORE-00266 Wrapper cannot find servlet class \{0} or a class it depends on ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref528]]AS-WEB-CORE-00267 Servlet.init() for servlet \{0} threw exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref529]]AS-WEB-CORE-00268 Servlet execution threw an exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref530]]AS-WEB-CORE-00269 Marking servlet \{0} as unavailable ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref531]]AS-WEB-CORE-00270 Waiting for \{0} instance(s) of \{1} to be deallocated ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref532]]AS-WEB-CORE-00271 Servlet.destroy() for servlet \{0} threw exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref533]]AS-WEB-CORE-00272 Servlet \{0} threw unload() exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref534]]AS-WEB-CORE-00273 Error loading \{0} \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref535]]AS-WEB-CORE-00274 This application is not currently available ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref536]]AS-WEB-CORE-00275 Servlet \{0} is currently unavailable ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref537]]AS-WEB-CORE-00276 Servlet \{0} is not available ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref538]]AS-WEB-CORE-00277 Allocate exception for servlet \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref539]]AS-WEB-CORE-00278 Exception for sending acknowledgment of a request: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref540]]AS-WEB-CORE-00280 Release filters exception for servlet \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref541]]AS-WEB-CORE-00281 Deallocate exception for servlet \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref542]]AS-WEB-CORE-00283 StandardWrapperValve[\{0}]: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref543]]AS-WEB-CORE-00284 Failed to skip \{0} bytes in the underlying buffer of MultipartStream on close(). ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref544]]AS-WEB-CORE-00285 file data is empty. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref545]]AS-WEB-CORE-00286 Unable to create Random source using class [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref546]]AS-WEB-CORE-00287 The property "\{0}" is not defined for filters of type "\{1}" ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref547]]AS-WEB-CORE-00288 Error registering loader ::
-  Cause: Could not register loader +
-  Action: Verify Object name
-
-[[sthref548]]AS-WEB-CORE-00289 Error registering jndi stream handler ::
-  Cause: Could not register jndi stream handler +
-  Action: Verify if the application has already set a factory, if a
-  security manager exists and itscheckSetFactory method does not allow
-  the operation
-
-[[sthref549]]AS-WEB-CORE-00290 Loader has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref550]]AS-WEB-CORE-00291 No resources for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref551]]AS-WEB-CORE-00292 LifecycleException ::
-  Cause: Could not construct a class loader +
-  Action: Verify if there is any life cycle exception
-
-[[sthref552]]AS-WEB-CORE-00293 Loader has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref553]]AS-WEB-CORE-00294 Cannot set reloadable property to \{0} ::
-  Cause: Could not set reloadable property +
-  Action: Verify the value for the property
-
-[[sthref554]]AS-WEB-CORE-00295 WebappLoader[\{0}]: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref555]]AS-WEB-CORE-00296 No work dir for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref556]]AS-WEB-CORE-00297 Failed to create destination directory to copy resources ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref557]]AS-WEB-CORE-00298 Failed to copy resources ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref558]]AS-WEB-CORE-00299 Failed to create work directory to \{0} ::
-  Cause: Could not create work directory +
-  Action: Verify the PATH
-
-[[sthref559]]AS-WEB-CORE-00300 File Logger has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref560]]AS-WEB-CORE-00301 File Logger has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref561]]AS-WEB-CORE-00302 Unknown container \{0} ::
-  Cause: Unknown container for implementation of StandardEngine
-  interface +
-  Action: Verify the current container
-
-[[sthref562]]AS-WEB-CORE-00303 Null engine !! \{0} ::
-  Cause: Could not get engine +
-  Action: Verify current container
-
-[[sthref563]]AS-WEB-CORE-00304 Unable to create javax.management.ObjectName for Logger ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref564]]AS-WEB-CORE-00305 Can't register logger \{0} ::
-  Cause: Could not register logger +
-  Action: Verify registration is called after configure()
-
-[[sthref565]]AS-WEB-CORE-00306 Setting JAAS app name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref566]]AS-WEB-CORE-00307 Login exception authenticating username \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref567]]AS-WEB-CORE-00308 Username \{0} NOT authenticated due to failed login ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref568]]AS-WEB-CORE-00309 Username \{0} NOT authenticated due to expired account ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref569]]AS-WEB-CORE-00310 Username \{0} NOT authenticated due to expired credential ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref570]]AS-WEB-CORE-00311 error ::
-  Cause: Could not authenticate by using the current username +
-  Action: Verify the username and credential
-
-[[sthref571]]AS-WEB-CORE-00312 Illegal digestEncoding: \{0} ::
-  Cause: Could not convert the char array to byte array with respect to
-  given charset +
-  Action: Verify the current charset
-
-[[sthref572]]AS-WEB-CORE-00313 Access to the requested resource has been denied ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref573]]AS-WEB-CORE-00314 Configuration error: Cannot perform access control without an authenticated principal ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref574]]AS-WEB-CORE-00315 Username \{0} has role \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref575]]AS-WEB-CORE-00316 Username \{0} does NOT have role \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref576]]AS-WEB-CORE-00317 This Realm has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref577]]AS-WEB-CORE-00318 Invalid message digest algorithm \{0} specified ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref578]]AS-WEB-CORE-00319 This Realm has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref579]]AS-WEB-CORE-00320 Error digesting user credentials ::
-  Cause: Could not digest user credentials +
-  Action: Verify the current credential
-
-[[sthref580]]AS-WEB-CORE-00321 Couldn't get MD5 digest ::
-  Cause: Could not get instance of MessageDigest based on MD5 +
-  Action: Verify if it supports a MessageDigestSpi implementation for
-  the specified algorithm
-
-[[sthref581]]AS-WEB-CORE-00322 An exception occurs when running the PrivilegedExceptionAction block. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref582]]AS-WEB-CORE-00323 Only skipped [\{0}] bytes when [\{1}] were requested ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref583]]AS-WEB-CORE-00324 Directory Listing For \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref584]]AS-WEB-CORE-00325 Up To \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref585]]AS-WEB-CORE-00326 Filename ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref586]]AS-WEB-CORE-00327 Size ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref587]]AS-WEB-CORE-00328 Last Modified ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref588]]AS-WEB-CORE-00329 Container has not called setWrapper() for this servlet ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref589]]AS-WEB-CORE-00330 Cannot call invoker servlet with a named dispatcher ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref590]]AS-WEB-CORE-00331 No servlet name or class was specified in path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref591]]AS-WEB-CORE-00332 Cannot create servlet wrapper for path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref592]]AS-WEB-CORE-00333 Cannot allocate servlet instance for path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref593]]AS-WEB-CORE-00334 Cannot deallocate servlet instance for path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref594]]AS-WEB-CORE-00335 JAXP initialization failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref595]]AS-WEB-CORE-00336 Ignored external entity, publicID: \{0}, systemID: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref596]]AS-WEB-CORE-00337 setAttribute: Session attribute with name \{0} has value that is not of type String (required for cookie-based persistence) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref597]]AS-WEB-CORE-00338 Loading Session \{0} from file \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref598]]AS-WEB-CORE-00339 Removing Session \{0} at file \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref599]]AS-WEB-CORE-00340 Saving Session \{0} to file \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref600]]AS-WEB-CORE-00341 Unable to delete file [\{0}] which is preventing the creation of the session storage location ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref601]]AS-WEB-CORE-00342 Unable to create directory [\{0}] for the storage of session data ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref602]]AS-WEB-CORE-00343 SQL Error \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref603]]AS-WEB-CORE-00344 Loading Session \{0} from database \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref604]]AS-WEB-CORE-00345 Removing Session \{0} at database \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref605]]AS-WEB-CORE-00346 Saving Session \{0} to database \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref606]]AS-WEB-CORE-00347 The database connection is null or was found to be closed. Trying to re-open it. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref607]]AS-WEB-CORE-00348 The re-open on the database failed. The database could be down. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref608]]AS-WEB-CORE-00349 A SQL exception occurred \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref609]]AS-WEB-CORE-00350 JDBC driver class not found \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref610]]AS-WEB-CORE-00351 Exception initializing random number generator of class \{0} ::
-  Cause: Could not construct and seed a new random number generator +
-  Action: Verify if the current random number generator class is
-
-[[sthref611]]AS-WEB-CORE-00352 Seeding random number generator class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref612]]AS-WEB-CORE-00353 Failed to close randomIS. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref613]]AS-WEB-CORE-00354 Error registering ::
-  Cause: Could not construct an object name +
-  Action: Verify the format of domain, path, host. And make sure they
-  are no null
-
-[[sthref614]]AS-WEB-CORE-00355 setAttribute: Non-serializable attribute with name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref615]]AS-WEB-CORE-00356 Session not found \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref616]]AS-WEB-CORE-00357 Checking isLoaded for id, \{0}, \{1} ::
-  Cause: Could not find session associated with given ID +
-  Action: Verify the session ID
-
-[[sthref617]]AS-WEB-CORE-00358 Exception clearing the Store ::
-  Cause: Could not instantiate PrivilegedStoreClear() +
-  Action: Verify if specified action's run() could remove all sessions
-  from store
-
-[[sthref618]]AS-WEB-CORE-00359 createSession: Too many active sessions ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref619]]AS-WEB-CORE-00360 Exception in the Store during load ::
-  Cause: Could not instantiate PrivilegedStoreKeys() +
-  Action: Verify if specified action's run() does not throw exception
-
-[[sthref620]]AS-WEB-CORE-00361 Loading \{0} persisted sessions ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref621]]AS-WEB-CORE-00362 Failed load session from store ::
-  Cause: Could not restore sessions from store to manager's list +
-  Action: Verify if the sessions are valid
-
-[[sthref622]]AS-WEB-CORE-00363 Can't load sessions from store ::
-  Cause: Could not load sessions from store +
-  Action: Verify if there is no exception to get the array containing
-  the session identifiers of all Sessions currently saved in this Store
-
-[[sthref623]]AS-WEB-CORE-00364 Exception in the Store during removeSession ::
-  Cause: Could not instantiate PrivilegedStoreRemove() +
-  Action: Verify if the specified action's run() could remove the
-  session with the specified session identifier from this Store
-
-[[sthref624]]AS-WEB-CORE-00365 Exception removing session ::
-  Cause: Could not remove specified session identifier from store +
-  Action: Verify if there is no I/O error occur
-
-[[sthref625]]AS-WEB-CORE-00366 Saving \{0} persisted sessions ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref626]]AS-WEB-CORE-00367 Exception in the Store during swapIn ::
-  Cause: Could not instantiate PrivilegedStoreLoad +
-  Action: Verify if action's run() can load and return the Session
-  associated with the specified session identifier from this Store,
-  without removing it
-
-[[sthref627]]AS-WEB-CORE-00368 Error deserializing Session \{0}: \{1} ::
-  Cause: De serialization error occur, and could not load and return the
-  session associated with the specified session identifier from this
-  Store +
-  Action: Verify if ClassNotFoundException occur
-
-[[sthref628]]AS-WEB-CORE-00369 Session swapped in is invalid or expired ::
-  Cause: Session swapped in is invalid or expired +
-  Action: Verify if current session is valid
-
-[[sthref629]]AS-WEB-CORE-00370 Swapping session \{0} in from Store ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref630]]AS-WEB-CORE-00371 Exception in the Store during writeSession ::
-  Cause: Could not write the provided session to the Store +
-  Action: Verify if there are any I/O errors occur
-
-[[sthref631]]AS-WEB-CORE-00372 Error serializing Session \{0}: \{1} ::
-  Cause: Could not save the specified Session into this Store +
-  Action: Verify if there are any I/O errors occur
-
-[[sthref632]]AS-WEB-CORE-00373 Manager has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref633]]AS-WEB-CORE-00374 No Store configured, persistence disabled ::
-  Cause: Could not prepare for the beginning of active use of the public
-  methods of this component +
-  Action: Verify if Store has been configured
-
-[[sthref634]]AS-WEB-CORE-00375 Manager has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref635]]AS-WEB-CORE-00376 Invalid session timeout setting \{0} ::
-  Cause: Could not set session timeout from given parameter +
-  Action: Verify the number format for session timeout setting
-
-[[sthref636]]AS-WEB-CORE-00377 Swapping session \{0} to Store, idle for \{1} seconds ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref637]]AS-WEB-CORE-00378 Too many active sessions, \{0}, looking for idle sessions to swap out ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref638]]AS-WEB-CORE-00379 Swapping out session \{0}, idle for \{1} seconds too many sessions active ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref639]]AS-WEB-CORE-00380 Backing up session \{0} to Store, idle for \{1} seconds ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref640]]AS-WEB-CORE-00381 createSession: Too many active sessions ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref641]]AS-WEB-CORE-00382 Loading persisted sessions from \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref642]]AS-WEB-CORE-00383 IOException while loading persisted sessions: \{0} ::
-  Cause: Could not creates an ObjectInputStream +
-  Action: Verify if there are IO exceptions
-
-[[sthref643]]AS-WEB-CORE-00384 ClassNotFoundException while loading persisted sessions: \{0} ::
-  Cause: Could not deserialize and create StandardSession instance +
-  Action: Verify the class for an object being restored can be found
-
-[[sthref644]]AS-WEB-CORE-00385 Saving persisted sessions to \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref645]]AS-WEB-CORE-00386 IOException while saving persisted sessions: \{0} ::
-  Cause: Could not creates an ObjectOutputStream instance +
-  Action: Verify if there are any I/O exceptions
-
-[[sthref646]]AS-WEB-CORE-00387 Exception loading sessions from persistent storage ::
-  Cause: Could not load any currently active sessions +
-  Action: Verify if the serialized class is valid and if there are any
-  I/O exceptions
-
-[[sthref647]]AS-WEB-CORE-00388 Exception unloading sessions to persistent storage ::
-  Cause: Could not save any currently active sessions +
-  Action: Verify if there are any I/O exceptions
-
-[[sthref648]]AS-WEB-CORE-00389 Session id change event listener threw exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref649]]AS-WEB-CORE-00390 Session event listener threw exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref650]]AS-WEB-CORE-00391 Session already invalidated ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref651]]AS-WEB-CORE-00392 Session attribute event listener threw exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref652]]AS-WEB-CORE-00393 setAttribute: name parameter cannot be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref653]]AS-WEB-CORE-00394 Session binding event listener threw exception ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref654]]AS-WEB-CORE-00395 Cannot serialize session attribute \{0} for session \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref655]]AS-WEB-CORE-00396 StoreBase has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref656]]AS-WEB-CORE-00397 StoreBase has not been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref657]]AS-WEB-CORE-00398 Class loader creation threw exception ::
-  Cause: Could not create class loader +
-  Action: Verify the availability of current repository
-
-[[sthref658]]AS-WEB-CORE-00399 Error processing command line arguments ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref659]]AS-WEB-CORE-00400 Catalina.stop: ::
-  Cause: Could not stop server +
-  Action: Verify if the input file exist or if there are any I/O
-  exceptions, parsing exceptions
-
-[[sthref660]]AS-WEB-CORE-00401 Can't load server.xml from \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref661]]AS-WEB-CORE-00402 Catalina.start: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref662]]AS-WEB-CORE-00403 Catalina.start: ::
-  Cause: Could not initialize the server +
-  Action: Verify if the server has already been initialized
-
-[[sthref663]]AS-WEB-CORE-00404 Initialization processed in \{0} ms ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref664]]AS-WEB-CORE-00405 Error loading configuration ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref665]]AS-WEB-CORE-00406 Server startup in \{0} ms ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref666]]AS-WEB-CORE-00407 Failed to load catalina.properties ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref667]]AS-WEB-CORE-00408 Lifecycle event data object \{0} is not a Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref668]]AS-WEB-CORE-00409 alt-dd file \{0} not found ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref669]]AS-WEB-CORE-00410 Missing application web.xml, using defaults only \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref670]]AS-WEB-CORE-00411 Parse error in application web.xml at line \{0} and column \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref671]]AS-WEB-CORE-00412 Parse error in application web.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref672]]AS-WEB-CORE-00413 Error closing application web.xml ::
-  Cause: Could not close this input stream and releases any system
-  resources associated with the stream. +
-  Action: Verify if any I/O errors occur
-
-[[sthref673]]AS-WEB-CORE-00414 No Realm has been configured to authenticate against ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref674]]AS-WEB-CORE-00415 Cannot configure an authenticator for method \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref675]]AS-WEB-CORE-00416 Cannot instantiate an authenticator of class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref676]]AS-WEB-CORE-00417 Configured an authenticator for method \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref677]]AS-WEB-CORE-00418 No default web.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref678]]AS-WEB-CORE-00419 Missing default web.xml, using application web.xml only \{0} \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref679]]AS-WEB-CORE-00420 Parse error in default web.xml at line \{0} and column \{1} ::
-  Cause: Could not parse the content of the specified input source using
-  this Digester +
-  Action: Verify the input parameter, if any I/O errors occur
-
-[[sthref680]]AS-WEB-CORE-00421 Parse error in default web.xml ::
-  Cause: Could not parse the content of the specified input source using
-  this Digester +
-  Action: Verify the input parameter, if any I/O errors occur
-
-[[sthref681]]AS-WEB-CORE-00422 Error closing default web.xml ::
-  Cause: Could not close this input stream and releases any system
-  resources associated with the stream. +
-  Action: Verify if any I/O errors occur
-
-[[sthref682]]AS-WEB-CORE-00423 ContextConfig: Initializing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref683]]AS-WEB-CORE-00424 Exception fixing docBase ::
-  Cause: Could not adjust docBase +
-  Action: Verify if any I/O errors occur
-
-[[sthref684]]AS-WEB-CORE-00425 ContextConfig: Processing START ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref685]]AS-WEB-CORE-00426 ContextConfig: Processing STOP ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref686]]AS-WEB-CORE-00427 Security role name \{0} used in an <auth-constraint> without being defined in a <security-role> in context [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref687]]AS-WEB-CORE-00428 Security role name \{0} used in a <run-as> without being defined in a <security-role> in context [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref688]]AS-WEB-CORE-00429 Security role name \{0} used in a <role-link> without being defined in a <security-role> in context [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref689]]AS-WEB-CORE-00430 No web.xml, using defaults \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref690]]AS-WEB-CORE-00431 No engines have been defined yet ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref691]]AS-WEB-CORE-00432 Engine.start exception ::
-  Cause: Could not prepare for the beginning of active use of the public
-  methods of this component. +
-  Action: Verify if start() be called before any of the public methods
-  of this component are utilized
-
-[[sthref692]]AS-WEB-CORE-00433 Couldn't load SSL server socket factory. ::
-  Cause: Could not instantiate ServerSocketFactory +
-  Action: Verify access permission to this class
-
-[[sthref693]]AS-WEB-CORE-00434 Couldn't create connector. ::
-  Cause: Could not instantiate connector +
-  Action: Verify access permission to this class
-
-[[sthref694]]AS-WEB-CORE-00435 Connector.stop ::
-  Cause: Could not remove the specified Connector from the set
-  associated from this Service +
-  Action: Verify if connector has already been stopped or removed
-
-[[sthref695]]AS-WEB-CORE-00436 Engine.stop exception ::
-  Cause: Could not terminate the active use of the public methods of
-  this component +
-  Action: Verify if stop() is the last one called on a given instance of
-  this component
-
-[[sthref696]]AS-WEB-CORE-00437 Specified Authenticator is not a Valve ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref697]]AS-WEB-CORE-00438 Embedded service has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref698]]AS-WEB-CORE-00439 Embedded service has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref699]]AS-WEB-CORE-00440 Lifecycle event data object \{0} is not an Engine ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref700]]AS-WEB-CORE-00441 EngineConfig: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref701]]AS-WEB-CORE-00442 EngineConfig: Processing START ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref702]]AS-WEB-CORE-00443 EngineConfig: Processing STOP ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref703]]AS-WEB-CORE-00444 Application base directory \{0} does not exist ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref704]]AS-WEB-CORE-00445 Unable to create the directory [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref705]]AS-WEB-CORE-00446 The archive [\{0}] is malformed and will be ignored: an entry contains an illegal path [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref706]]AS-WEB-CORE-00447 Failed to set last-modified time of the file \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref707]]AS-WEB-CORE-00448 Error copying \{0} to \{1} ::
-  Cause: Could not copy file +
-  Action: Verify if channel is not available for file transfer
-
-[[sthref708]]AS-WEB-CORE-00449 [\{0}] could not be completely deleted. The presence of the remaining files may cause problems ::
-  Cause: Could not completely delete specified directory +
-  Action: Verify the access permission to specified directory
-
-[[sthref709]]AS-WEB-CORE-00450 Lifecycle event data object \{0} is not a Host ::
-  Cause: Could not process the START event for an associated Host +
-  Action: Verify life cycle event data object
-
-[[sthref710]]AS-WEB-CORE-00451 Deploying configuration descriptor \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref711]]AS-WEB-CORE-00452 Error deploying configuration descriptor \{0} ::
-  Cause: Could not deploy configuration descriptor +
-  Action: Verify the URL that points to context configuration file and
-  the context path
-
-[[sthref712]]AS-WEB-CORE-00453 The war name [\{0}] is invalid. The archive will be ignored. ::
-  Cause: Could not deploy war file +
-  Action: Verify the name war file
-
-[[sthref713]]AS-WEB-CORE-00454 Expanding web application archive \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref714]]AS-WEB-CORE-00455 Exception while expanding web application archive \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref715]]AS-WEB-CORE-00456 Exception while expanding web application archive \{0} ::
-  Cause: Could not expand web application archive +
-  Action: Verify the URL, and if any I/O errors orrur
-
-[[sthref716]]AS-WEB-CORE-00457 Deploying web application archive \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref717]]AS-WEB-CORE-00458 Error deploying web application archive \{0} ::
-  Cause: Could not deploy web application archive +
-  Action: Verify the context path and if specified context path is
-  already attached to an existing web application
-
-[[sthref718]]AS-WEB-CORE-00459 Deploying web application directory \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref719]]AS-WEB-CORE-00460 Error deploying web application directory \{0} ::
-  Cause: Could not deploy web application directory +
-  Action: Verify the context path and if specified context path is
-  already attached to an existing web application
-
-[[sthref720]]AS-WEB-CORE-00461 Error undeploying Jar file \{0} ::
-  Cause: Could not remove an existing web application, attached to the
-  specified context path +
-  Action: Verify the context path of the application
-
-[[sthref721]]AS-WEB-CORE-00462 HostConfig: restartContext [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref722]]AS-WEB-CORE-00463 Error during context [\{0}] stop ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref723]]AS-WEB-CORE-00464 Error during context [\{0}] restart ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref724]]AS-WEB-CORE-00465 HostConfig: Processing START ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref725]]AS-WEB-CORE-00466 HostConfig: Processing STOP ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref726]]AS-WEB-CORE-00467 Undeploying deployed web applications ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref727]]AS-WEB-CORE-00468 Undeploying context [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref728]]AS-WEB-CORE-00469 Error undeploying web application at context path \{0} ::
-  Cause: Could not remove an existing web application, attached to the
-  specified context path +
-  Action: Verify the context path of the application
-
-[[sthref729]]AS-WEB-CORE-00470 Must set 'catalina.home' system property ::
-  Cause: Did not set 'catalina.home' +
-  Action: Verify that 'catalina.home' was passed
-
-[[sthref730]]AS-WEB-CORE-00472 Exception creating instance of \{0} ::
-  Cause: Could not load application class +
-  Action: Verify the class name
-
-[[sthref731]]AS-WEB-CORE-00473 Exception locating main() method ::
-  Cause: Could not locate the static main() method of the application
-  class +
-  Action: Verify the access permission
-
-[[sthref732]]AS-WEB-CORE-00474 Exception calling main() method ::
-  Cause: Could not invoke main() method +
-  Action: Verify the underlying method is inaccessible, and parameter
-  values
-
-[[sthref733]]AS-WEB-CORE-00475 Usage: java org.apache.catalina.startup.Tool [<options>] <class> [<arguments>] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref734]]AS-WEB-CORE-00476 Deploying user web applications ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref735]]AS-WEB-CORE-00477 Exception loading user database ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref736]]AS-WEB-CORE-00478 Deploying web application for user \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref737]]AS-WEB-CORE-00479 Error deploying web application for user \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref738]]AS-WEB-CORE-00480 UserConfig[\{0}]: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref739]]AS-WEB-CORE-00481 UserConfig[null]: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref740]]AS-WEB-CORE-00482 UserConfig: Processing START ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref741]]AS-WEB-CORE-00483 UserConfig: Processing STOP ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref742]]AS-WEB-CORE-00484 Failed to load manifest resources \{0} ::
-  Cause: Could not find MANIFEST from JAR file +
-  Action: Verify the JAR file
-
-[[sthref743]]AS-WEB-CORE-00485 ExtensionValidator[\{0}][\{1}]: Required extension "\{2}" not found. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref744]]AS-WEB-CORE-00486 ExtensionValidator[\{0}]: Failure to find \{1} required extension(s). ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref745]]AS-WEB-CORE-00487 Odd number of hexadecimal digits ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref746]]AS-WEB-CORE-00488 Bad hexadecimal digit ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref747]]AS-WEB-CORE-00489 Map is currently locked ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref748]]AS-WEB-CORE-00490 UTF8 not supported ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref749]]AS-WEB-CORE-00491 Could not create a new directory: \{0} ::
-  Cause: Could not create a new directory +
-  Action: Verify if file is directory, and access permission
-
-[[sthref750]]AS-WEB-CORE-00492 status.setContentType ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref751]]AS-WEB-CORE-00493 Internal Error ::
-  Cause: Error during invoke the servlet application +
-  Action: Trying to invoke the servlet application
-
-[[sthref752]]AS-WEB-CORE-00494 Failed to initialize the interceptor ::
-  Cause: Error in initializing the servlet application +
-  Action: initialize the servlet interceptor
-
-[[sthref753]]AS-WEB-CORE-00503 Failed to rename log file to \{0} for rotate logs ::
-  Cause: Could not rename log file +
-  Action: Verify access permission and new file name
-
-[[sthref754]]AS-WEB-CORE-00504 at least this wasn't swallowed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref755]]AS-WEB-CORE-00505 Failed to create directory \{0} ::
-  Cause: Could not create directory +
-  Action: Verify access permission
-
-[[sthref756]]AS-WEB-CORE-00506 fields was just empty or whitespace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref757]]AS-WEB-CORE-00507 unable to decode with rest of chars being: \{0} ::
-  Cause: Could not decode rest of chars +
-  Action: Verify the current pattern
-
-[[sthref758]]AS-WEB-CORE-00508 No closing ) found for in decode ::
-  Cause: could not find closing bracket +
-  Action: Verify if the parameter includes closing bracket
-
-[[sthref759]]AS-WEB-CORE-00509 The next characters couldn't be decoded: \{0} ::
-  Cause: Could not decode characters +
-  Action: Verify the pattern
-
-[[sthref760]]AS-WEB-CORE-00510 End of line reached before decoding x- param ::
-  Cause: Could not decode, since end of line reached +
-  Action: Verify the String index
-
-[[sthref761]]AS-WEB-CORE-00511 x param in wrong format. Needs to be 'x-#(...)' read the docs! ::
-  Cause: Could not decode, since x param in wrong format +
-  Action: Verify the format of parameter
-
-[[sthref762]]AS-WEB-CORE-00512 x param in wrong format. No closing ')'! ::
-  Cause: Could not decode, since x param has no closing bracket +
-  Action: Verify the format of parameter
-
-[[sthref763]]AS-WEB-CORE-00513 x param for servlet request, couldn't decode value: \{0} ::
-  Cause: Could not decode value, since no x param type matched +
-  Action: Verify the current field info
-
-[[sthref764]]AS-WEB-CORE-00514 No Context configured to process this request ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref765]]AS-WEB-CORE-00515 Syntax error in request filter pattern \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref766]]AS-WEB-CORE-00516 Cannot process the error page: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref767]]AS-WEB-CORE-00517 Digester.getParser: ::
-  Cause: Could not create new SAXParser +
-  Action: Verify the parser configuration and if SAXParser is supported
-
-[[sthref768]]AS-WEB-CORE-00518 Cannot get XMLReader ::
-  Cause: Could not get XML Reader +
-  Action: Verify if there are XML Readers can be instantiated
-
-[[sthref769]]AS-WEB-CORE-00519 Finish event threw exception ::
-  Cause: Rules could not remove data +
-  Action: Verify if finish() is called after all parsing methods have
-  been called
-
-[[sthref770]]AS-WEB-CORE-00520 Finish event threw error ::
-  Cause: Rules could not remove data +
-  Action: Verify if finish() is called after all parsing methods have
-  been called
-
-[[sthref771]]AS-WEB-CORE-00521 Body event threw exception ::
-  Cause: Could not fire body() +
-  Action: Verify if the current rule has body
-
-[[sthref772]]AS-WEB-CORE-00522 Body event threw error ::
-  Cause: Could not fire body() +
-  Action: Verify if the current rule has body
-
-[[sthref773]]AS-WEB-CORE-00523 No rules found matching \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref774]]AS-WEB-CORE-00524 End event threw exception ::
-  Cause: Could not call end() +
-  Action: Verify if this method is called when the end of a matching XML
-  element is encountered
-
-[[sthref775]]AS-WEB-CORE-00525 End event threw error ::
-  Cause: Could not call end() +
-  Action: Verify if this method is called when the end of a matching XML
-  element is encountered
-
-[[sthref776]]AS-WEB-CORE-00526 Begin event threw exception ::
-  Cause: Could not call begin() +
-  Action: Verify if this method is called when the beginning of a
-  matching XML element is encountered
-
-[[sthref777]]AS-WEB-CORE-00527 Begin event threw error ::
-  Cause: Could not call begin() +
-  Action: Verify if this method is called when the beginning of a
-  matching XML element is encountered
-
-[[sthref778]]AS-WEB-CORE-00528 Parse Error at line \{0} column \{1}: \{2} ::
-  Cause: Parsing error occurs +
-  Action: Verify if there are any parsing errors occur
-
-[[sthref779]]AS-WEB-CORE-00529 Parse Fatal Error at line \{0} column \{1}: \{2} ::
-  Cause: Parsing error occurs +
-  Action: Verify if there are any parsing errors occur
-
-[[sthref780]]AS-WEB-CORE-00530 Parse Warning Error at line \{0} column \{1}: \{2} ::
-  Cause: Parsing error occurs +
-  Action: Verify if there are any parsing errors occur
-
-[[sthref781]]AS-WEB-CORE-00531 Empty stack (returning null) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref782]]AS-WEB-CORE-00532 No Locator! ::
-  Cause: There is no document locator +
-  Action: Verify if document locator has been set
-
-[[sthref783]]AS-WEB-CORE-00533 [SetPropertiesRule]\{0} Setting property \{1} to \{2} did not find a matching property. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref784]]AS-WEB-CORE-00534 [SetPropertyRule]\{0} Setting property \{1} to \{2} did not find a matching property. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref785]]AS-WEB-CORE-00535 Login failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref786]]AS-WEB-CORE-00536 This is request has already been authenticated ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref787]]AS-WEB-CORE-00537 No authenticator ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref788]]AS-WEB-CORE-00538 Invalid call to login while pluggable authentication method is configured ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref789]]AS-WEB-CORE-00539 Internal logout error ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref790]]AS-WEB-CORE-00540 Blocked access to external entity with publicId [\{0}] and systemId [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref791]]AS-WEB-CORE-00541 Blocked access to external entity with name [\{0}], publicId [\{1}], baseURI [\{2}] and systemId [\{3}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref792]]AS-WEB-CORE-00542 Blocked access to external subset with name [\{0}] and baseURI [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref793]]AS-WEB-CORE-00543 Fail to read file [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref794]]AS-WEB-CORE-00544 Unable to find the underlying Coyote request object (which is required to create a push request) from the request of type [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref795]]AS-WEB-CORE-00545 It is illegal to call push() before setting a path ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref796]]AS-WEB-CORE-00546 The push method should not be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref797]]AS-WEB-CORE-00547 The push method should not be an empty String ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref798]]AS-WEB-CORE-00548 The push method ''\{0}'' is not cacheable or safe ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref799]]AS-WEB-CORE-00549 The repository '\{0}' is not a directory ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref800]]AS-WEB-CORE-00550 The repository '\{0}' contains a null character ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref801]]AS-WEB-GLUE-00001 Exception in creating cache ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref802]]AS-WEB-GLUE-00002 Exception initializing cache-helper \{0}; please check your helper class implementation ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref803]]AS-WEB-GLUE-00003 Illegal CacheKeyGenerator ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref804]]AS-WEB-GLUE-00004 DefaultCacheHelper: cannot find all the required key fields in the request \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref805]]AS-WEB-GLUE-00005 CachingFilter \{0} ready; isEnabled = \{1} manager = \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref806]]AS-WEB-GLUE-00006 CachingFilter \{0} request is cacheable; key \{1} index = \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref807]]AS-WEB-GLUE-00007 CachingFilter \{0} request needs a refresh; key \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref808]]AS-WEB-GLUE-00008 CachingFilter \{0} serving response from the cache \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref809]]AS-WEB-GLUE-00009 CachingFilter \{0} pass thru; isEnabled = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref810]]AS-WEB-GLUE-00010 CachingFilter \{0} received cacheManager enabled event ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref811]]AS-WEB-GLUE-00011 CachingFilter \{0} received cacheManager disabled event ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref812]]AS-WEB-GLUE-00012 The constraint field \{0} is not found in the scope \{1}; returning cache-on-match-failure: \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref813]]AS-WEB-GLUE-00013 The constraint field \{0} value = \{1} is found in scope \{2}; returning cache-on-match: \{3} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref814]]AS-WEB-GLUE-00014 The constraint field \{0} value = \{1} is found in scope \{2}; and matches with a value \{3}; returning cache-on-match: \{4} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref815]]AS-WEB-GLUE-00015 The constraint field \{0} value = \{1} is found in scope \{2}; but didn't match any of the value constraints; returning cache-on-match-failure = \{3} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref816]]AS-WEB-GLUE-00016 Incorrect scope value [\{0}] for web application cache field name [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref817]]AS-WEB-GLUE-00017 ''greater'' expression requires a numeric value; please check your value \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref818]]AS-WEB-GLUE-00018 ''lesser'' expression requires a numeric value; please check your value [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref819]]AS-WEB-GLUE-00019 illegal value [\{0}] expr [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref820]]AS-WEB-GLUE-00020 illegal in-range constraint; specify a valid range (xxx-yyy) value [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref821]]AS-WEB-GLUE-00021 missing separator in the ''in-range'' constraint; [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref822]]AS-WEB-GLUE-00022 ''in-range'' constraint requires numeric values for the lower bound [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref823]]AS-WEB-GLUE-00023 ''in-range'' constraint requires a value for the upper bound of the range; check your value [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref824]]AS-WEB-GLUE-00024 ''in-range'' constraint requires numeric values for the upper bound [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref825]]AS-WEB-GLUE-00025 CacheTag[\{0}]: Timeout = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref826]]AS-WEB-GLUE-00026 Cache not found in the specified scope ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref827]]AS-WEB-GLUE-00027 Illegal value ([\{0}]) for scope attribute of cache tag ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref828]]AS-WEB-GLUE-00028 FlushTag: clear [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref829]]AS-WEB-GLUE-00029 FlushTag: clear cache ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref830]]AS-WEB-GLUE-00030 Process session destroyed on \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref831]]AS-WEB-GLUE-00031 Process request for ''\{0}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref832]]AS-WEB-GLUE-00032 Principal ''\{0}'' has already been authenticated ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref833]]AS-WEB-GLUE-00033 Checking for SSO cookie ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref834]]AS-WEB-GLUE-00034 SSO cookie is not present ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref835]]AS-WEB-GLUE-00035 No realm configured for this application, SSO does not apply ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref836]]AS-WEB-GLUE-00036 This application uses realm ''\{0}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref837]]AS-WEB-GLUE-00037 Checking for cached principal for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref838]]AS-WEB-GLUE-00038 Found cached principal ''\{0}'' with auth type ''\{1}'' in realm ''\{2}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref839]]AS-WEB-GLUE-00039 Ignoring SSO entry which does not match application realm ''\{0}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref840]]AS-WEB-GLUE-00040 No cached principal found, erasing SSO cookie ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref841]]AS-WEB-GLUE-00041 Deregistering sso id ''\{0}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref842]]AS-WEB-GLUE-00042 SSO expiration started. Current entries: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref843]]AS-WEB-GLUE-00043 SSO cache will expire \{0} entries ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref844]]AS-WEB-GLUE-00044 SSO expiration removing entry: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref845]]AS-WEB-GLUE-00045 Caught exception during SingleSignOn expiration ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref846]]AS-WEB-GLUE-00046 Removing session \{0} from sso id \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref847]]AS-WEB-GLUE-00047 Illegal access log pattern [\{0}], is not a valid nickname and does not contain any ''%'' ::
-  Cause: The pattern is either null or does not contain '%' +
-  Action: Check the pattern for validity
-
-[[sthref848]]AS-WEB-GLUE-00048 Missing end delimiter in access log pattern: \{0} ::
-  Cause: An end delimiter ismissing in the access log pattern +
-  Action: Check the pattern for validity
-
-[[sthref849]]AS-WEB-GLUE-00049 Invalid component: \{0} in access log pattern: \{1} ::
-  Cause: Access log pattern containds invalid component +
-  Action: Check the pattern for validity
-
-[[sthref850]]AS-WEB-GLUE-00050 Error processing request received on ad-hoc path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref851]]AS-WEB-GLUE-00051 No ad-hoc servlet configured to process ad-hoc path \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref852]]AS-WEB-GLUE-00052 mgr reapInterval set = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref853]]AS-WEB-GLUE-00053 no instance level value set for mgr reapInterval ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref854]]AS-WEB-GLUE-00054 maxSessions set = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref855]]AS-WEB-GLUE-00055 no instance level value set for maxSessions ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref856]]AS-WEB-GLUE-00056 sessionFilename set = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref857]]AS-WEB-GLUE-00057 sessionIdGeneratorClassname set = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref858]]AS-WEB-GLUE-00058 storeReapInterval set = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref859]]AS-WEB-GLUE-00059 directory set = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref860]]AS-WEB-GLUE-00060 sessionMaxInactiveInterval set = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref861]]AS-WEB-GLUE-00061 no instance level value set for sessionMaxInactiveInterval ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref862]]AS-WEB-GLUE-00062 Configuring cache for web application ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref863]]AS-WEB-GLUE-00063 Added a caching filter for servlet-name = \{0} url-pattern = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref864]]AS-WEB-GLUE-00064 Added a key-field : name = \{0} scope = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref865]]AS-WEB-GLUE-00065 Added a constraint: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref866]]AS-WEB-GLUE-00066 Added a constraint-field name = \{0} scope = \{1} cache-on-match = \{2} cache-on-match-failure = \{3} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref867]]AS-WEB-GLUE-00067 Invalid max-pending-count attribute value [\{0}], using default [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref868]]AS-WEB-GLUE-00068 Unable to parse proxy port component (\{0}) of server-name attribute of network-listener \{1} ::
-  Cause: The String does not contain a parsable integer +
-  Action: Check the proxy port string
-
-[[sthref869]]AS-WEB-GLUE-00069 Unable to parse redirect-port (\{0}) attribute of network-listener \{1}, using default: \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref870]]AS-WEB-GLUE-00070 Unable to parse acceptor-threads attribute (\{0}) of network-listener \{1}, using default: \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref871]]AS-WEB-GLUE-00071 The jk properties configuration file is not defined ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref872]]AS-WEB-GLUE-00072 JK properties file \{0} does not exist ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref873]]AS-WEB-GLUE-00073 Loading glassfish-jk.properties from \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref874]]AS-WEB-GLUE-00074 Unable to configure JK properties \{0} for connector listening to \{1} ::
-  Cause: Failed to load JK properties file +
-  Action: Check if the properties file exists and is readable
-
-[[sthref875]]AS-WEB-GLUE-00075 Invalid attribute [\{0}] in thread-pool configuration ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref876]]AS-WEB-GLUE-00076 Unable to load ProxyHandler implementation class \{0} ::
-  Cause: An exception occurred during creating a new instance +
-  Action: Check the exception for the error
-
-[[sthref877]]AS-WEB-GLUE-00077 \{0} not an instance of com.sun.appserv.ProxyHandler ::
-  Cause: Invalid proxy handler +
-  Action: Check to see if the proxy handler is an instance of
-  com.sun.appserv.ProxyHandler
-
-[[sthref878]]AS-WEB-GLUE-00078 All SSL protocol variants disabled for network-listener \{0}, using SSL implementation specific defaults ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref879]]AS-WEB-GLUE-00079 All SSL cipher suites disabled for network-listener(s) \{0}. Using SSL implementation specific defaults ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref880]]AS-WEB-GLUE-00080 Unrecognized cipher: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref881]]AS-WEB-GLUE-00081 Exception when initializing monitoring for network-listener [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref882]]AS-WEB-GLUE-00082 InvokeGrizzly method=\{0} objectName=\{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref883]]AS-WEB-GLUE-00083 Exception while invoking mebean server operation [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref884]]AS-WEB-GLUE-00084 Cannot find WebContainer implementation ::
-  Cause: Web container is null +
-  Action: Check if the mapper listener is initialized correctly
-
-[[sthref885]]AS-WEB-GLUE-00085 Cannot find Engine implementation ::
-  Cause: Engine is null +
-  Action: Check if the mapper listener is initialized correctly
-
-[[sthref886]]AS-WEB-GLUE-00086 Error registering contexts ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref887]]AS-WEB-GLUE-00087 HTTP listener with network listener name
-\{0} ignoring registration of host with object name \{1}, because none
-of the host's associated HTTP listeners matches this network listener
-name ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref888]]AS-WEB-GLUE-00088 Register Context \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref889]]AS-WEB-GLUE-00089 Unregister Context \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref890]]AS-WEB-GLUE-00090 Register Wrapper \{0} in Context \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref891]]AS-WEB-GLUE-00091 Unable to instantiate ContainerListener of type \{0} ::
-  Cause: An exception occurred during instantiation of ContainerListener
-  of type \{0} +
-  Action: Check the Exception for error
-
-[[sthref892]]AS-WEB-GLUE-00092 Creating connector for address=''\{0}'' port=''\{1}'' protocol=''\{2}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref893]]AS-WEB-GLUE-00093 Enabling file-based persistence for web module [\{0}]''s sessions ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref894]]AS-WEB-GLUE-00094 Exception during invocation of PreDestroy-annotated method on JSP tag handler [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref895]]AS-WEB-GLUE-00095 ServerContext is null for ResourceInjector ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref896]]AS-WEB-GLUE-00096 Enabling no persistence for web module [\{0}]''s sessions: persistence-type = [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref897]]AS-WEB-GLUE-00097 Unable to load session uuid generator [\{0}] ::
-  Cause: An exception occurred during loading session uuid generator +
-  Action: Check the Exception for the error
-
-[[sthref898]]AS-WEB-GLUE-00098 Unable to write access log file \{0} ::
-  Cause: An exception occurred writing to access log file +
-  Action: Check the exception for the error
-
-[[sthref899]]AS-WEB-GLUE-00099 Setting accesslog directory for virtual server ''\{0}'' to \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref900]]AS-WEB-GLUE-00100 Invalid accessLogWriterInterval value [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref901]]AS-WEB-GLUE-00101 Invalid accessLogBufferSize value [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref902]]AS-WEB-GLUE-00102 Unable to parse max-history-files access log configuration [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref903]]AS-WEB-GLUE-00103 Unable to create \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref904]]AS-WEB-GLUE-00104 Unable to rename access log file \{0} to \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref905]]AS-WEB-GLUE-00105 Unable to remove access log file \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref906]]AS-WEB-GLUE-00106 Access logger has already been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref907]]AS-WEB-GLUE-00107 Access logger has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref908]]AS-WEB-GLUE-00108
-PersistenceStrategyBuilderFactory>>createPersistenceStrategyBuilder:
-resolvedPersistenceType = \{0}, resolvedPersistenceFrequency = \{1}
-resolvedPersistenceScope = \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref909]]AS-WEB-GLUE-00109 Could not find PersistentStrategyBuilder for persistenceType \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref910]]AS-WEB-GLUE-00110 PersistenceStrategyBuilderFactory>>createPersistenceStrategyBuilder: CandidateBuilderClassName = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref911]]AS-WEB-GLUE-00112 Unable to set request encoding [\{0}] determined from sun-web.xml deployment descriptor of web application [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref912]]AS-WEB-GLUE-00113 POST data too large ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref913]]AS-WEB-GLUE-00114 Web container config changed \{0} \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref914]]AS-WEB-GLUE-00115 Exception processing HttpService configuration change ::
-  Cause: An exception occurred during configuration change +
-  Action: Check the exception for error
-
-[[sthref915]]AS-WEB-GLUE-00116 AvailabilityService was not defined - check domain.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref916]]AS-WEB-GLUE-00117 WebContainerAvailability not defined - check domain.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref917]]AS-WEB-GLUE-00118 globalAvailability = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref918]]AS-WEB-GLUE-00119 webContainerAvailability = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref919]]AS-WEB-GLUE-00120 webModuleAvailability = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref920]]AS-WEB-GLUE-00121 SERVER.XML persistenceType= \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref921]]AS-WEB-GLUE-00122 SERVER.XML persistenceType missing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref922]]AS-WEB-GLUE-00123 Web App Distributable \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref923]]AS-WEB-GLUE-00124 AvailabilityGloballyEnabled = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref924]]AS-WEB-GLUE-00125 instance-level persistence-type = \{0} instance-level persistenceFrequency = \{1} instance-level persistenceScope = \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref925]]AS-WEB-GLUE-00126 webAppLevelPersistenceType = \{0} webAppLevelPersistenceFrequency = \{1} webAppLevelPersistenceScope = \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref926]]AS-WEB-GLUE-00127 IN WebContainer>>ConfigureSessionManager
-after web level check AFTER_WEB_PERSISTENCE-TYPE IS = \{0}
-AFTER_WEB_PERSISTENCE_FREQUENCY IS = \{1} AFTER_WEB_PERSISTENCE_SCOPE IS
-= \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref927]]AS-WEB-GLUE-00128 Is \{0} a system app: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref928]]AS-WEB-GLUE-00129 SessionConfigurationHelper: Is AppDistributable \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref929]]AS-WEB-GLUE-00130 Invalid Session Management Configuration
-for non-distributable app [\{0}] - defaulting to memory:
-persistence-type = [\{1}] / persistenceFrequency = [\{2}] /
-persistenceScope = [\{3}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref930]]AS-WEB-GLUE-00131 IN WebContainer>>ConfigureSessionManager
-before builder factory FINAL_PERSISTENCE-TYPE IS = \{0}
-FINAL_PERSISTENCE_FREQUENCY IS = \{1} FINAL_PERSISTENCE_SCOPE IS = \{2}
-::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref931]]AS-WEB-GLUE-00132 Security role name \{0} used in an 'auth-constraint' without being defined in a 'security-role' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref932]]AS-WEB-GLUE-00133 Security role name \{0} used in a 'run-as' without being defined in a 'security-role' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref933]]AS-WEB-GLUE-00134 Security role name \{0} used in a 'role-link' without being defined in a 'security-role' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref934]]AS-WEB-GLUE-00135 The web module \{0} has been designated as the default-web-module for virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref935]]AS-WEB-GLUE-00136 Error looking up the configuration information of the default-web-module \{0} for virtual server \{1} ::
-  Cause: The web module specified is either not found or disabled or
-  does not specify this virtual server, or there was an error loading
-  its deployment descriptors +
-  Action: Verify if the virtual server's default web module is valid
-
-[[sthref936]]AS-WEB-GLUE-00137 The default-web-module \{0} is either disabled or does not specify virtual server \{1} ::
-  Cause: The default web module is disabled or does not specify virtual
-  server +
-  Action: Verify if the default web module is enabled and specify
-  virtual server
-
-[[sthref937]]AS-WEB-GLUE-00138 Virtual server \{0} has invalid authentication realm \{1} ::
-  Cause: The realm \{1} could not be found +
-  Action: Verify if the realm \{1} exits for virtual server \{0}
-
-[[sthref938]]AS-WEB-GLUE-00139 Invalid sso-cookie-secure configuration \{0} for virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref939]]AS-WEB-GLUE-00140 Realm \{0} is not an instance of \{1}, and will be ignored ::
-  Cause: The realm \{0} is either NULL or is not an instance of \{1} +
-  Action: Verify if the realm \{0} is an instance of \{1}
-
-[[sthref940]]AS-WEB-GLUE-00141 Virtual server \{0} has a property with missing name or value ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref941]]AS-WEB-GLUE-00142 Invalid redirect property value \{0} for virtual server \{1}: More than one \{2} component ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref942]]AS-WEB-GLUE-00143 Invalid redirect property value \{0} for virtual server \{1}: Missing url or url-prefix component ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref943]]AS-WEB-GLUE-00144 Invalid redirect property value \{0} for virtual server \{1}: Both url and url-prefix specified ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref944]]AS-WEB-GLUE-00145 Invalid redirect property value \{0} for virtual server \{1}: escape must be equal to yes or no ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref945]]AS-WEB-GLUE-00146 Invalid send-error property value \{0} for virtual server \{1}: More than one \{2} component ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref946]]AS-WEB-GLUE-00147 Invalid send-error property value \{0} for virtual server \{1}: Missing path component ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref947]]AS-WEB-GLUE-00148 Unable to add listener of type \{0} to virtual server \{1} ::
-  Cause: The listener is not an instance of ContainerListener or
-  LifecycleListener +
-  Action: Verify if the listener type is supported
-
-[[sthref948]]AS-WEB-GLUE-00149 Unable to load extension class \{0} from web module \{1} ::
-  Cause: An exception occurred loading extension class +
-  Action: Check the exception for the error
-
-[[sthref949]]AS-WEB-GLUE-00150 Object of type classname \{0} not an instance of Valve or GlassFishValve ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref950]]AS-WEB-GLUE-00151 Error adding HttpProbes. NetworkListener \{0}'s HttpCodecFilter is \{1} ::
-  Cause: HttpCodecFilter is either NULL or empty +
-  Action: Verify the NetworkListener is valid
-
-[[sthref951]]AS-WEB-GLUE-00152 Error adding HttpProbes ::
-  Cause: An exception occurred adding HttpProbes +
-  Action: Check the exception for the error
-
-[[sthref952]]AS-WEB-GLUE-00153 Disabling Single Sign On (SSO) for virtual server \{0} as configured ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref953]]AS-WEB-GLUE-00154 Enabling Single Sign On (SSO) for virtual server \{0} as configured ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref954]]AS-WEB-GLUE-00155 SSO entry max idle time set to \{0} for virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref955]]AS-WEB-GLUE-00156 SSO expire thread interval set to \{0} for virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref956]]AS-WEB-GLUE-00157 Allowing access to \{0} from \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref957]]AS-WEB-GLUE-00158 Denying access to \{0} from \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref958]]AS-WEB-GLUE-00159 Virtual server \{0} enabled context \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref959]]AS-WEB-GLUE-00160 Unable to delete \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref960]]AS-WEB-GLUE-00161 Unable to reconfigure access log valve ::
-  Cause: An exception occurred during access log valve reconfiguration +
-  Action: Check the exception for error
-
-[[sthref961]]AS-WEB-GLUE-00162 Virtual server \{0} added context \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref962]]AS-WEB-GLUE-00163 Application \{0} is not found ::
-  Cause: The deployed application is not found +
-  Action: Check if the application is valid
-
-[[sthref963]]AS-WEB-GLUE-00164 Cannot create context for undeployment ::
-  Cause: An IOException occurred during undeployment +
-  Action: Check the exception for error
-
-[[sthref964]]AS-WEB-GLUE-00165 Successfully removed context \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref965]]AS-WEB-GLUE-00166 Modifying web.xml \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref966]]AS-WEB-GLUE-00167 Error adding HttpProbes. NetworkListener \{0}'s GrizzlyProxy is NULL ::
-  Cause: GrizzlyProxy is NULL +
-  Action: Verify the NetworkListener is valid
-
-[[sthref967]]AS-WEB-GLUE-00168 Virtual server \{0} has been turned off ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref968]]AS-WEB-GLUE-00169 Virtual server \{0} has been disabled ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref969]]AS-WEB-GLUE-00170 Invalid redirect URL [\{0}]: Impossible to URL encode ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref970]]AS-WEB-GLUE-00171 Unknown error, loadWebModule returned null, file a bug ::
-  Cause: An exception occurred writing to access log file +
-  Action: Check the exception for the error
-
-[[sthref971]]AS-WEB-GLUE-00172 Loading application [\{0}] at [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref972]]AS-WEB-GLUE-00173 App config customization specified to ignore descriptor's \{0} \{1} so it will not be present for the application ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref973]]AS-WEB-GLUE-00174 Overriding descriptor \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref974]]AS-WEB-GLUE-00175 Creating new \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref975]]AS-WEB-GLUE-00176 Exception during Coherence*Web shutdown for application [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref976]]AS-WEB-GLUE-00177 Loading web module \{0} in virtual server \{1} at \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref977]]AS-WEB-GLUE-00178 This web container has not yet been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref978]]AS-WEB-GLUE-00179 Property \{0} is not yet supported ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref979]]AS-WEB-GLUE-00180 Virtual server \{0} already has a web module \{1} loaded at \{2} therefore web module \{3} cannot be loaded at this context path on this virtual server ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref980]]AS-WEB-GLUE-00181 Unable to stop web container ::
-  Cause: Web container may not have been started +
-  Action: Verify if web container is started
-
-[[sthref981]]AS-WEB-GLUE-00182 Unable to start web container ::
-  Cause: Web container may have already been started +
-  Action: Verify if web container is not already started
-
-[[sthref982]]AS-WEB-GLUE-00183 Property element in sun-web.xml has null 'name' or 'value' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref983]]AS-WEB-GLUE-00184 Web module \{0} is not loaded in virtual server \{1} ::
-  Cause: Web module has failed to load +
-  Action: Verify if web module is valid
-
-[[sthref984]]AS-WEB-GLUE-00185 Unable to deploy web module \{0} at root context of virtual server \{1}, because this virtual server declares a default-web-module ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref985]]AS-WEB-GLUE-00186 Unable to set default-web-module \{0} for virtual server \{1} ::
-  Cause: There is no web context deployed on the given virtual server
-  that matches the given default context path +
-  Action: Verify if the default context path is deployed on the virtual
-  server
-
-[[sthref986]]AS-WEB-GLUE-00187 Unable to load web module \{0} at context root \{1}, because it is not correctly encoded ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref987]]AS-WEB-GLUE-00188 Unable to destroy web module deployed at context root \{0} on virtual server \{1} during undeployment ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref988]]AS-WEB-GLUE-00189 Exception setting the schemas/dtds location ::
-  Cause: A malformed URL has occurred. Either no legal protocol could be
-  found in a specification string or the string could not be parsed +
-  Action: Verify if the schemes and dtds
-
-[[sthref989]]AS-WEB-GLUE-00191 Error loading web module \{0} ::
-  Cause: An error occurred during loading web module +
-  Action: Check the Exception for the error
-
-[[sthref990]]AS-WEB-GLUE-00192 Undeployment failed for context \{0} ::
-  Cause: The context may not have been deployed +
-  Action: Verify if the context is deployed on the virtual server
-
-[[sthref991]]AS-WEB-GLUE-00193 Exception processing HttpService configuration change ::
-  Cause: An error occurred during configuring http service +
-  Action: Verify if the configurations are valid
-
-[[sthref992]]AS-WEB-GLUE-00194 Unable to set context root \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref993]]AS-WEB-GLUE-00195 Unable to disable web module at context root \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref994]]AS-WEB-GLUE-00196 Error during destruction of virtual server \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref995]]AS-WEB-GLUE-00197 Virtual server \{0} cannot be updated, because it does not exist ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref996]]AS-WEB-GLUE-00198 Created HTTP listener \{0} on host/port \{1}:\{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref997]]AS-WEB-GLUE-00199 Created JK listener \{0} on host/port \{1}:\{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref998]]AS-WEB-GLUE-00200 Created virtual server \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref999]]AS-WEB-GLUE-00201 Virtual server \{0} loaded default web module \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1000]]AS-WEB-GLUE-00202 Maximum depth for nested request dispatches set to \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1001]]AS-WEB-GLUE-00203 Unsupported http-service property \{0} is being ignored ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1002]]AS-WEB-GLUE-00204 The host name \{0} is shared by virtual servers \{1} and \{2}, which are both associated with the same HTTP listener \{3} ::
-  Cause: The host name is not unique +
-  Action: Verify that the host name is unique
-
-[[sthref1003]]AS-WEB-GLUE-00205 Network listener \{0} referenced by virtual server \{1} does not exist ::
-  Cause: Network listener \{0} referenced by virtual server \{1} does
-  not exist +
-  Action: Verify that the network listener is valid
-
-[[sthref1004]]AS-WEB-GLUE-00206 Web module \{0} not loaded to any virtual servers ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1005]]AS-WEB-GLUE-00207 Loading web module \{0} to virtual servers \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1006]]AS-WEB-GLUE-00208 Unloading web module \{0} from virtual servers \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1007]]AS-WEB-GLUE-00209 Context \{0} undeployed from virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1008]]AS-WEB-GLUE-00210 Context \{0} disabled from virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1009]]AS-WEB-GLUE-00211 Virtual server \{0}'s network listeners are updated from \{1} to \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1010]]AS-WEB-GLUE-00212 The class \{0} is annotated with an invalid scope ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1011]]AS-WEB-GLUE-00213 -DjvmRoute updated with \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1012]]AS-WEB-GLUE-00214 Unable to parse port number \{0} of network-listener \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1013]]AS-WEB-GLUE-00215 Virtual server \{0} set listener name \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1014]]AS-WEB-GLUE-00216 Must not disable network-listener \{0}, because it is associated with admin virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1015]]AS-WEB-GLUE-00217 Virtual server \{0} set jk listener name \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1016]]AS-WEB-GLUE-00218 virtual server \{0} has an invalid docroot \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1017]]AS-WEB-GLUE-00219 \{0} network listener is not included in \{1} and will be updated ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1018]]AS-WEB-GLUE-00220 Unable to load configuration of web module [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1019]]AS-WEB-GLUE-00221 Failed to precompile JSP pages of web module [\{0}] ::
-  Cause: An exception occurred precompiling JSP pages +
-  Action: Check the exception for the error
-
-[[sthref1020]]AS-WEB-GLUE-00222 Unable to create custom ObjectInputStream ::
-  Cause: An exception occurred during creating ObjectInputStream +
-  Action: Check the Exception for error
-
-[[sthref1021]]AS-WEB-GLUE-00223 Unable to create custom ObjectOutputStream ::
-  Cause: An exception occurred during creating ObjectOutputStream +
-  Action: Check the Exception for error
-
-[[sthref1022]]AS-WEB-GLUE-00224 The default-locale attribute of locale-charset-info element is being ignored ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1023]]AS-WEB-GLUE-00226 Web module [\{0}] has a property with missing name or value ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1024]]AS-WEB-GLUE-00227 Object of type \{0} is not a valve ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1025]]AS-WEB-GLUE-00228 Unable to add valve to web module \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1026]]AS-WEB-GLUE-00229 Unable to add valve with name \{0} to web module \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1027]]AS-WEB-GLUE-00230 No method \{0}(java.lang.String) defined on valve \{1} of web module \{2} ::
-  Cause: A matching method is not found +
-  Action: Check the method name
-
-[[sthref1028]]AS-WEB-GLUE-00231 Exception during execution of method \{0} on valve \{1} of web module \{2} ::
-  Cause: An exception occurred during method execution +
-  Action: Check the Exception for error
-
-[[sthref1029]]AS-WEB-GLUE-00232 Valve \{0} of web module \{1} has a property without any name ::
-  Cause: The valve is missing property name +
-  Action: Check the property name
-
-[[sthref1030]]AS-WEB-GLUE-00233 Unable to add listener of type \{0} to web module \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1031]]AS-WEB-GLUE-00234 Unable to load extension class \{0} from web module \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1032]]AS-WEB-GLUE-00235 Null property name or value for alternate docbase ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1033]]AS-WEB-GLUE-00236 Alternate docbase property value \{0} is missing a URL pattern or docbase ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1034]]AS-WEB-GLUE-00237 URL pattern \{0} for alternate docbase is invalid ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1035]]AS-WEB-GLUE-00238 Failed to parse sun-web.xml singleThreadedServletPoolSize property value (\{0}) of web module deployed at \{1}, using default (\{2}) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1036]]AS-WEB-GLUE-00239 Enabled session ID reuse for web module \{0} deployed on virtual server \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1037]]AS-WEB-GLUE-00240 Using alternate deployment descriptor \{0} for web module \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1038]]AS-WEB-GLUE-00241 Ignoring invalid property \{0} = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1039]]AS-WEB-GLUE-00242 Unable to save sessions for web module \{0} during redeployment ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1040]]AS-WEB-GLUE-00243 Unable to restore sessions for web module [\{0}] from previous deployment ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1041]]AS-WEB-GLUE-00244 Webservice based application, requires Metro to be installed. Run updatecenter client located in bin folder to install Metro ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1042]]AS-WEB-GLUE-00245 WebModule[\{0}]: Setting delegate to \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1043]]AS-WEB-GLUE-00246 WebModule[\{0}]: Adding \{1} to the classpath ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1044]]AS-WEB-GLUE-00247 extra-class-path component \{0} is not a valid pathname ::
-  Cause: A MalformedURLException occurred +
-  Action: Check the extra-class-path component
-
-[[sthref1045]]AS-WEB-GLUE-00248 class-loader attribute dynamic-reload-interval in sun-web.xml not supported ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1046]]AS-WEB-GLUE-00249 IN WebContainer>>ConfigureSessionManager
-before builder factory FINAL_PERSISTENCE-TYPE IS = \{0}
-FINAL_PERSISTENCE_FREQUENCY IS = \{1} FINAL_PERSISTENCE_SCOPE IS = \{2}
-::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1047]]AS-WEB-GLUE-00250 PersistenceStrategyBuilder class = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1048]]AS-WEB-GLUE-00251 Property [\{0}] is not yet supported ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1049]]AS-WEB-GLUE-00252 WebModule[\{0}] configure cookie properties \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1050]]AS-WEB-GLUE-00253 Unable to add listener of type: \{0},
-because it does not implement any of the required
-ServletContextListener, ServletContextAttributeListener,
-ServletRequestListener, ServletRequestAttributeListener,
-HttpSessionListener, or HttpSessionAttributeListener interfaces ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1051]]AS-WEB-GLUE-00254 Configured an authenticator for method \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1052]]AS-WEB-GLUE-00255 [\{0}] failed to unbind namespace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1053]]AS-WEB-GLUE-00256 No Realm with name [\{0}] configured to authenticate against ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1054]]AS-WEB-GLUE-00257 Cannot configure an authenticator for method \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1055]]AS-WEB-GLUE-00258 Cannot instantiate an authenticator of class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1056]]AS-WEB-GLUE-00259 Lifecycle event data object [\{0}] is not a WebModule ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1057]]AS-WEB-GLUE-00260 jsp-config property for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1058]]AS-WEB-GLUE-00261 sysClasspath for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1059]]AS-WEB-GLUE-00262 Error creating cache manager and configuring the servlet caching subsystem ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1060]]AS-WEB-GLUE-00263 Cache Manager started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1061]]AS-WEB-GLUE-00264 Cache Manager stopped ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1062]]AS-WEB-GLUE-00265 *** InstanceEvent: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1063]]AS-WEB-GLUE-00266 Obtained securityContext implementation class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1064]]AS-WEB-GLUE-00267 Failed to obtain securityContext implementation class ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1065]]AS-WEB-GLUE-00268 Exception during processing of event of type \{0} for web module \{1} ::
-  Cause: An exception occurred during processing event type +
-  Action: Check the exception for the error
-
-[[sthref1066]]AS-WEB-GLUE-00269 No ServerContext in WebModule [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1067]]AS-WEB-GLUE-00270 ContainerEvent: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1068]]AS-WEB-GLUE-00271 Exception during invocation of InjectionManager.destroyManagedObject on \{0} of web module \{1} ::
-  Cause: An exception occurred during destroyManagedObject +
-  Action: Check the exception for the error
-
-[[sthref1069]]AS-WEB-GLUE-00272 Network Listener named \{0} does not exist. Creating or using the named protocol element instead. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1070]]AS-WEB-GLUE-00273 Network Listener named \{0} to which this ssl element is being added already has an ssl element. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1071]]AS-WEB-GLUE-00274 HTTP Listener named \{0} not found ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1072]]AS-WEB-GLUE-00275 Ssl element does not exist for Listener named \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1073]]AS-WEB-GLUE-00276 Error in parsing default-web.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1074]]AS-WEB-GLUE-00277 An authentication method was not defined in the web.xml descriptor. Using default BASIC for login configuration. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1075]]AS-WEB-GLUE-00278 [\{0}] is not a valid authentication method ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1076]]AS-WEB-GLUE-00279 Invalid URL Pattern: [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1077]]AS-WEB-GLUE-00280 Cannot load class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1078]]AS-WEB-GLUE-00281 Beginning JSP Precompile... ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1079]]AS-WEB-GLUE-00282 Finished JSP Precompile... ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1080]]AS-WEB-GLUE-00283 Cannot delete file: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1081]]AS-WEB-GLUE-00285 Exception getting Validator Factory from JNDI: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1082]]AS-WEB-HA-00001 Exception during removing synchronized from backing store ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1083]]AS-WEB-HA-00002 Exception during removing expired session from backing store ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1084]]AS-WEB-HA-00003 Error creating inputstream ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1085]]AS-WEB-HA-00004 Exception during deserializing the session ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1086]]AS-WEB-HA-00005 Exception occurred in getSession ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1087]]AS-WEB-HA-00006 Failed to remove session from backing store ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1088]]AS-WEB-HA-00007 Required version NumberFormatException ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1089]]AS-WEB-HA-00008 Could not create backing store ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1090]]AS-WEB-NAMING-00001 Canonical Pathname cannot be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1091]]AS-WEB-NAMING-00002 Outside webapp not allowed \{0} \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1092]]AS-WEB-NAMING-00003 Absolute Pathname cannot be null \{0} \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1093]]AS-WEB-NAMING-00004 Canonical pathname \{0} equals to absolute pathname \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1094]]AS-WEB-NAMING-00005 File cannot be read \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1095]]AS-WEB-NAMING-00006 Could not get dir listing for \{0} ::
-  Cause: Some IO error occurred such as bad file permissions +
-  Action: Verify the file descriptors
-
-[[sthref1096]]AS-WEB-NAMING-00007 Document base \{0} does not exist or is not a readable directory ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1097]]AS-WEB-NAMING-00008 Document base cannot be null ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1098]]AS-WEB-NAMING-00009 Resource \{0} not found ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1099]]AS-WEB-NAMING-00010 Name \{0} is already bound in this Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1100]]AS-WEB-NAMING-00011 Bind failed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1101]]AS-WEB-NAMING-00012 Unbind failed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1102]]AS-WEB-NAMING-00013 Failed to rename [\{0}] to [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1103]]AS-WEB-NAMING-00014 Unknown context name : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1104]]AS-WEB-NAMING-00015 No naming context bound to this thread ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1105]]AS-WEB-NAMING-00016 No naming context bound to this class loader ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1106]]AS-WEB-NAMING-00017 Name is not bound to a Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1107]]AS-WEB-NAMING-00018 Name is not bound to a Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1108]]AS-WEB-NAMING-00019 Name is not bound to a Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1109]]AS-WEB-NAMING-00020 Context is read only ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1110]]AS-WEB-NAMING-00021 Name is not valid ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1111]]AS-WEB-NAMING-00022 Name \{0} is already bound in this Context ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1112]]AS-WEB-NAMING-00023 Can't generate an absolute name for this namespace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1113]]AS-WEB-NAMING-00024 Unable to restore original system properties ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1114]]AS-WEB-NAMING-00025 This context must be accessed through a java: URL ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1115]]AS-WEB-NAMING-00026 Exception closing WAR File \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1116]]AS-WEB-NAMING-00027 Doc base must point to a WAR file ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1117]]AS-WEB-NAMING-00028 Invalid or unreadable WAR file : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1118]]AS-CDI-00001 Setting Context Class Loader for \{0} to \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1119]]AS-CDI-00002 BeanDeploymentArchiveImpl::addBeanClass - adding \{0} to \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1120]]AS-CDI-00003 \{0} not added to beanClasses ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1121]]AS-CDI-00004 Processing \{0} as it has \{1} or \{2}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1122]]AS-CDI-00005 Error while trying to load Bean Class \{0} : \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1123]]AS-CDI-00006 Processing WEB-INF/lib in \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1124]]AS-CDI-00007 WEB-INF/lib: considering \{0} as a bean archive and hence added another BDA for it. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1125]]AS-CDI-00008 WEB-INF/lib: skipping \{0} as it doesn't have beans.xml. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1126]]AS-CDI-00009 JAR processing: \{0} as a Bean archive jar since it has META-INF/beans.xml. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1127]]AS-CDI-00010 Ensure \{0} is associated with \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1128]]AS-CDI-00011 Ensure web lib jar visibility. Updating \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1129]]AS-CDI-00012 Ensure web lib jar visibility. Updating \{0} to include \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1130]]AS-CDI-00013 Collecting jar info for \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1131]]AS-CDI-00014 Error reading archive. \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1132]]AS-CDI-00015 Collecting rar info for \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1133]]AS-CDI-00016 Using Context Class Loader. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1134]]AS-CDI-00017 Context Class Loader is null. Using DeploymentImpl's classloader. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1135]]AS-CDI-00018 Creating deployment for archive: \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1136]]AS-CDI-00019 getBeanDeploymentArchives returning \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1137]]AS-CDI-00020 loadBeanDeploymentArchive for beanClass \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1138]]AS-CDI-00021 loadBeanDeploymentArchive checking for \{0} in root BDA \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1139]]AS-CDI-00022 loadBeanDeploymentArchive An existing BDA has this class \{0}. Adding this class as a bean class it to existing bda: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1140]]AS-CDI-00023 loadBeanDeploymentArchive checking for \{0} in subBDA \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1141]]AS-CDI-00024 loadBeanDeploymentArchive beanClass \{0} not found in the BDAs of this deployment. Creating a new BDA. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1142]]AS-CDI-00025 loadBeanDeploymentArchive new BDA \{0} created. Adding new BDA to all root BDAs of this deployment. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1143]]AS-CDI-00026 loadBeanDeploymentArchive for beanClass \{0} returning the newly created BDA \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1144]]AS-CDI-00027 Exception thrown while scanning for library jars. \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1145]]AS-CDI-00028 Processing \{0} as it has one or more qualified CDI-annotated beans ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1146]]AS-CDI-00029 JAR processing: \{0} since it contains one or more classes with a scope annotation ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1147]]AS-CDI-00030 BDAImpl::ensureWebLibJarVisibility - \{0} being associated with \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1148]]AS-CDI-00031 BDAImpl::ensureWebLibJarVisibility - updating \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1149]]AS-CDI-00032 BDAImpl::ensureWebLibJarVisibility - updating \{0} to include \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1150]]AS-CDI-00033 Error reading archive : \{0} ::
-  Cause: MalformedURLException reading entry from the archive. +
-  Action: Verify the archive is not corrupt.
-
-[[sthref1151]]AS-CDI-00034 TCL is null. Using DeploymentImpl's classloader ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1152]]AS-CDI-00035 Could not create WeldELContextListener instance. \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1153]]AS-CDI-00036 Exception in WeldBootstrap.shutdown. \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1154]]AS-CDI-00037 jakarta.jms.MessageListener Class available, so need to fire PIT events to MDBs ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1155]]AS-CDI-00038 \{0} is an MDB and so need to fire a PIT event to it. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1156]]AS-CDI-00039 WeldDeployer adding injectionServices \{0} for \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1157]]AS-CDI-00040 Unable to create URI for URL: \{0}. Exception: \{1} ::
-  Cause: URL for META-INF/services/faces-config.xml is invalid. +
-  Action: Verify META-INF/services/faces-config.xml exists.
-
-[[sthref1158]]AS-CDI-00041 Trying to register interceptor: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1159]]AS-CDI-00042 Adding interceptor: \{0} for EJB: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1160]]AS-CDI-00043 getBDAForBeanClass -- search in \{0} for \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1161]]AS-CDI-00044 JCDIServiceImpl.getBDAForBeanClass: TopLevelBDA \{0} contains beanClassName: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1162]]AS-CDI-00045 JCDIServiceImpl.getBDAForBeanClass: subBDA \{0} contains beanClassName: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1163]]AS-JTA-00001 Encountered NamingException while attempting to acquire transaction manager for Transactional annotation interceptors \{0} ::
-  Cause: Transaction annotation processing for the Naming +
-  Action: Fix the issue for the Naming exception
-
-[[sthref1164]]AS-JTA-00002 About to setRollbackOnly from @Transactional interceptor on transaction: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1165]]AS-JTA-00003 No ComponentInvocation present for @Transactional annotation processing. Restriction on use of UserTransaction will not be enforced. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1166]]AS-JTA-00004 In MANDATORY TransactionalInterceptor ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1167]]AS-JTA-00005 In NEVER TransactionalInterceptor ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1168]]AS-JTA-00006 In NOT_SUPPORTED TransactionalInterceptor ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1169]]AS-JTA-00007 Managed bean with Transactional annotation and TxType of NOT_SUPPORTED called inside a transaction context. Suspending transaction... ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1170]]AS-JTA-00008 Managed bean with Transactional annotation and TxType of NOT_SUPPORTED called inside a transaction context. Suspending transaction failed due to \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1171]]AS-JTA-00009 In REQUIRED TransactionalInterceptor ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1172]]AS-JTA-00010 Managed bean with Transactional annotation and TxType of REQUIRED called outside a transaction context. Beginning a transaction... ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1173]]AS-JTA-00011 Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during begin \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1174]]AS-JTA-00012 Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during commit \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1175]]AS-JTA-00013 In REQUIRES_NEW TransactionalInterceptor ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1176]]AS-JTA-00014 Managed bean with Transactional annotation and TxType of REQUIRES_NEW called inside a transaction context. Suspending before beginning a transaction... ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1177]]AS-JTA-00015 Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during begin \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1178]]AS-JTA-00016 Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during commit \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1179]]AS-JTA-00017 Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during resume \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1180]]AS-JTA-00018 In SUPPORTS TransactionalInterceptor ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1181]]AS-WSCONNECTOR-00046 Invalid Deployment Descriptors element \{0} value \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1182]]AS-WSCONNECTOR-00050 Following exception was thrown ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1183]]AS-WSCONNECTOR-00057 JAX-WS RI specific descriptor (\{1})
-is found in the archive \{0} and \nhence Enterprise Web Service (109)
-deployment is disabled for this archive to avoid duplication of
-services. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1184]]AS-WSCONNECTOR-00201 Handler class \{0} specified in deployment descriptor not found. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1185]]AS-WSCONNECTOR-00202 Handler class \{0} specified in handler file \{1} cannot be loaded. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1186]]AS-WSCONNECTOR-00203 Warning : Web service endpoint \{0} is not tied to a component. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1187]]AS-WSCONNECTOR-00204 Warning: Web service endpoint \{0} component link \{1} is not valid. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1188]]AS-WSCONNECTOR-00205 URL mapping for web service \{0} already exists. Is port-component-name in webservices.xml correct? ::
-  Cause: Invalid port-component-name value in webservices.xml. +
-  Action: Fix port-component-name element in webservices.xml.
-
-[[sthref1189]]AS-WSJSR109IMPL-00001 Failed to load deployment descriptor, aborting. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1190]]AS-WSJSR109IMPL-00002 WebService wsdl file \{0} not found in archive \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1191]]AS-WSJSR109IMPL-00003 Exception while processing catalog \{0} Reason : \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1192]]AS-WSJSR109IMPL-00004 Unable to create new File \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1193]]AS-WSJSR109IMPL-00006 WebService \{0} has a JAXWS and a JAXRPC endpoint; this is not supported now. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1194]]AS-WSJSR109IMPL-00011 Runtime settings error. Cannot find servlet-impl-class for endpoint \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1195]]AS-WSJSR109IMPL-00012 Cannot proceed with JaxrpcCodegen. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1196]]AS-WSJSR109IMPL-00013 Parsing error line \{0}, uri \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1197]]AS-WSJSR109IMPL-00014 Error parsing WSDL \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1198]]AS-WSJSR109IMPL-00018 Webservice Endpoint deployed \{0}\n listening at address at \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1199]]AS-WSJSR109IMPL-00019 EJB Endpoint deployed \{0}\n listening at address at \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1200]]AS-WSJSR109IMPL-00020 File \{0} not found. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1201]]AS-WSJSR109IMPL-00021 MTOM is valid only for SOAP Bindings; Ignoring Enable-MTOM for port \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1202]]AS-WSJSR109IMPL-00033 Implicit mapping not supported; ignoring for now; Remove *. specified in the url-pattern. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1203]]AS-WSJSR109IMPL-00034 Two web services are being deployed with the same endpoint URL \{0}; The service that gets loaded last will always be the one that is active for this URL. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1204]]AS-WSJSR109IMPL-00043 Exception while tracing request: \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1205]]AS-WSJSR109IMPL-00044 Exception while tracing response: \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1206]]AS-WSJSR109IMPL-00047 JAXWS WebServiceDispatcher \{0} entering for \{1} and query string \{2}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1207]]AS-WSJSR109IMPL-00048 Ejb endpoint exception. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1208]]AS-WSJSR109IMPL-00049 Unable to find adapter for endpoint \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1209]]AS-WSJSR109IMPL-00050 Following exception was thrown: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1210]]AS-WSJSR109IMPL-00051 Client not authorized for invocation of \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1211]]AS-WSJSR109IMPL-00052 The following error was thrown by ServletPreHandler which is the first handler in the handler chain \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1212]]AS-WSJSR109IMPL-00053 The following error was thrown by ServletPostHandler which is the last handler in the handler chain \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1213]]AS-WSJSR109IMPL-00054 Error registering endpoint \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1214]]AS-WSJSR109IMPL-00055 Error unregistering endpoint \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1215]]AS-WSJSR109IMPL-00056 Deployment cannot proceed as the ejb has a null endpoint address uri. Potential cause may be webservice endpoints not supported in embedded ejb case. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1216]]AS-WSJSR109IMPL-00057 WebService \{0} type is declared as \{1} but should be either as a JAX-WS or JAX-RPC. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1217]]AS-WSJSR109IMPL-00070 Unsupported method request = [\{0}] for endpoint \{1} at \{2}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1218]]AS-WSJSR109IMPL-00071 invocation error on ejb endpoint \{0} at \{1} : \{2}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1219]]AS-WSJSR109IMPL-00072 Cannot initialize endpoint \{0} : error is : ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1220]]AS-WSJSR109IMPL-00073 Error In EjbRuntimeEndpointInfo ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1221]]AS-WSJSR109IMPL-00074 Missing internal monitoring info to trace \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1222]]AS-WSJSR109IMPL-00075 null message POSTed to ejb endpoint \{0} at \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1223]]AS-WSJSR109IMPL-00076 Invalid request scheme for Endpoint \{0}. Expected ''\{1}'', received ''\{2}''. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1224]]AS-WSJSR109IMPL-00077 authentication failed for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1225]]AS-WSJSR109IMPL-00078 Servlet web service endpoint ''\{0}'' failure ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1226]]AS-WSJSR109IMPL-00079 Error occured ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1227]]AS-WSJSR109IMPL-00080 Error invoking servlet impl ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1228]]AS-WSJSR109IMPL-00081 Servlet web service endpoint ''\{0}'' HTTP GET error ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1229]]AS-WSJSR109IMPL-00082 Deployment failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1230]]AS-WSJSR109IMPL-00083 Cannot load the wsdl from the aplication: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1231]]AS-WSJSR109IMPL-00084 Creating endpoint with packaged WSDL \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1232]]AS-WSJSR109IMPL-00085 Metadata documents: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1233]]AS-WSJSR109IMPL-00086 For endpoint \{0}, Ignoring configuration \{1} in weblogic-webservices.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1234]]AS-WSJSR109IMPL-00087 For endpoint \{0}, Unsupported configuration \{1} in weblogic-webservices.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1235]]AS-WSJSR109IMPL-00088 Unexpected error in EJB WebService endpoint post processing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1236]]AS-WSJSR109IMPL-00089 Error in resolving the catalog ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1237]]AS-WSJSR109IMPL-00090 In doWebServicesDeployment: using local web services. There are \{0}. The app has total of \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1238]]AS-WSJSR109IMPL-00091 In doWebServicesDeployment: using web services via extension \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1239]]AS-WSJSR109IMPL-00092 File already exists \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1240]]AS-WSJSR109IMPL-00093 Directory already exists \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1241]]AS-WSJSR109IMPL-00094 Received HTTP GET containing text/xml content for endpoint \{0} at \{1}. HTTP POST should be used instead. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1242]]AS-WSJSR109IMPL-00095 Serving up final wsdl \{0} for \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1243]]AS-WSJSR109IMPL-00096 Failure serving WSDL for web service \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1244]]AS-WSJSR109IMPL-00097 Invalid wsdl request for web service \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1245]]AS-WSJSR109IMPL-00098 Unable to load impl class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1246]]AS-WSJSR109IMPL-00099 Cannot write out a HTTP XML exception : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1247]]AS-WSJSR109IMPL-00100 cannot write SOAPFault to the HTTP response ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1248]]AS-WSJSR109IMPL-00101 Cannot create soap fault for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1249]]AS-WSJSR109IMPL-00102 Class \{0} not found during PreDestroy processing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1250]]AS-WSJSR109IMPL-00103 Handler class \{0} not found during PreDestroy processing ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1251]]AS-WSJSR109IMPL-00104 Failure while calling PostConstruct/PreDestroy method ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1252]]AS-WSJSR109IMPL-00105 Unable to load handler class \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1253]]AS-WSJSR109IMPL-00106 Handler \{0} instance injection failed: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1254]]AS-WSJSR109IMPL-00107 Cannot log SOAP Message \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1255]]AS-WSJSR109IMPL-00108 Exception in creating endpoint ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1256]]AS-WSJSR109IMPL-00109 deleting directory failed : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1257]]AS-WSJSR109IMPL-00110 creating directory failed : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1258]]AS-WSJSR109IMPL-00111 Invoking wsimport with \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1259]]AS-WSJSR109IMPL-00112 wsimport successful ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1260]]AS-WSJSR109IMPL-00113 wsimport failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1261]]AS-WSJSR109IMPL-00114 authentication succeeded for endpoint ''\{0}'' in \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1262]]AS-WSJSR109IMPL-00115 wsimport successful ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1263]]AS-WSJSR109IMPL-00116 missing implementation class for \{0} ::
-  Cause: No class defined in deployment descriptor +
-  Action: add implementation class definition to deployment descriptor
-
-[[sthref1264]]AS-WSJSR109IMPL-00117 Web service endpoint \{0} component link \{1} is not valid ::
-  Cause: Component link in webservices.xml is invalid +
-  Action: check port-component-name matches the name of service
-  implementation bean and check component link in webservices.xml
-
-[[sthref1265]]AS-WSJSR109IMPL-00120 destroyManagedObject failed for Handler \{0} for Service \{1} with error \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1266]]AS-WSJSR109IMPL-00121 Module type ''\{0}'' is not supported. ::
-  Cause: Deployed module is not a web application nor ejb module. +
-  Action: Make sure web service is implemented in EJB module or Web
-  Application.
-
-[[sthref1267]]AS-WSJSR109IMPL-00122 \{0} does not support \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1268]]AS-WSJSR109IMPL-00123 Going to fetch ServletAdapter holding wsdl content for web service \{0} based on url: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1269]]AS-WSMETROGLUE-10001 Loading WS-TX Services. Please wait. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1270]]AS-WSMETROGLUE-10002 WS-TX Services successfully started. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1271]]AS-WSMETROGLUE-10003 WS-TX Services application was deployed explicitly. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1272]]AS-WSMETROGLUE-10004 Cannot deploy or load WS-TX Services: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1273]]AS-WSMETROGLUE-10010 Web service endpoint deployment events listener registered successfully. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1274]]AS-WSMETROGLUE-10011 Endpoint deployment even received. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1275]]AS-WSMETROGLUE-10012 Endpoint undeployment even received. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1276]]AS-WSMETROGLUE-10020 High availability environment configuration injected into Metro high availability provider. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1277]]AS-WSMETROGLUE-19998 Exception occurred retrieving port configuration for WSTX service. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1278]]AS-WSMETROGLUE-19999 Caught unexpected exception. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1279]]AS-WSSOAPTCP-00001 Initialize SOAP/TCP protocol for port: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1280]]AS-WSSOAPTCP-00002 Can not convert SOAP/TCP protocol id to byte array. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1281]]AS-WSSOAPTCP-00003 SOAP/TCP endpoint removed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1282]]AS-WSSOAPTCP-00004 SOAP/TCP endpoint added: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1283]]AS-WSSOAPTCP-00006 WSTCPAdapterRegistryImpl. Register adapter. Path: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1284]]AS-WSSOAPTCP-00007 WSTCPAdapterRegistryImpl. DeRegister adapter for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1285]]AS-WSSOAPTCP-00050 Following exception was thrown ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1286]]NCLS-CFGAPI-00001 No default config found, using config \{0} as the default config for the cluster \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1287]]NCLS-CFGAPI-00002 cluster property GMS_DISCOVERY_URI_LIST=\{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1288]]NCLS-CFGAPI-00003 cluster attribute gms broadcast=\{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1289]]NCLS-CFGAPI-00004 Cluster \{0} contains server instances \{1} and must not contain any instances ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1290]]NCLS-CFGAPI-00005 Unable to remove config \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1291]]NCLS-CFGAPI-00006 CopyConfig error caused by \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1292]]NCLS-CFGAPI-00007 Error when getting clusters on node dues to: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1293]]NCLS-CFGAPI-00008 Error when getting servers due to: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1294]]NCLS-CFGAPI-00009 Unable to create default Http service configuration ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1295]]NCLS-CFGAPI-00010 Cannot remove Node \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1296]]NCLS-CFGAPI-00011 Node \{0} referenced in server instance(s): \{1}. Remove instances before removing node. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1297]]NCLS-CFGAPI-00012 Can''t find the default config (an element named "default-config") in domain.xml. You may specify the name of an existing config element next time. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1298]]NCLS-CFGAPI-00013 Unable to remove server-ref \{0} from cluster \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1299]]NCLS-CFGAPI-00014 The default configuration template (named default-config) cannot be referenced by a server. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1300]]NCLS-CFGAPI-00015 The configuration of the Domain Administration Server cannot be changed from server-config. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1301]]NCLS-CFGAPI-00016 The configuration of the Domain Administration Server (named server-config) cannot be referenced by a server. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1302]]NCLS-CFGAPI-00017 The configuration of the Domain Administration Server (named server-config) cannot be referenced by a server. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1303]]NCLS-CFGAPI-00018 A configuration that doesn't exist cannot be referenced by a server. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1304]]NCLS-CFGAPI-00019 Port= \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1305]]NCLS-CFGAPI-00020 removing default instance index for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1306]]NCLS-CFGAPI-00021 adding default instance index for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1307]]NCLS-CFGAPI-00022 Existing default-config detected during upgrade. No need to create default-config. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1308]]NCLS-CFGAPI-00023 System Property com.sun.aas.installRoot is null. We could be running in unit tests.Exiting DefaultConfigUpgrade ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1309]]NCLS-CFGAPI-00024 default-config not detected during upgrade. Running DefaultConfigUpgrade to create default-config. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1310]]NCLS-CFGAPI-00025 Failure during upgrade - could not create default-config ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1311]]NCLS-CFGAPI-00027 Failure creating SecurityService Config ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1312]]NCLS-CFGAPI-00028 Problem parsing security-service ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1313]]NCLS-CFGAPI-00029 Failed to create HttpService VirtualService config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1314]]NCLS-CFGAPI-00030 Problem parsing http-service virtual-server in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1315]]NCLS-CFGAPI-00031 Failed to create AdminService Property config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1316]]NCLS-CFGAPI-00032 Problem parsing asadmin-service property element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1317]]NCLS-CFGAPI-00033 Failure creating LogService config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1318]]NCLS-CFGAPI-00034 Failure creating ModuleLogLevel config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1319]]NCLS-CFGAPI-00035 Problem parsing module-log-levels in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1320]]NCLS-CFGAPI-00036 Failure creating SecurityService config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1321]]NCLS-CFGAPI-00037 Failure creating AuthRealm ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1322]]NCLS-CFGAPI-00038 Problem parsing auth-realm ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1323]]NCLS-CFGAPI-00039 Create AuthRealm Property failed. Attr = \{0} and Val = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1324]]NCLS-CFGAPI-00040 Problem parsing auth-realm property ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1325]]NCLS-CFGAPI-00041 Failure creating JaccProvider ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1326]]NCLS-CFGAPI-00042 Problem parsing jacc-provider ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1327]]NCLS-CFGAPI-00043 Create JaccProvider Property failed. Attr = \{0} and Val = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1328]]NCLS-CFGAPI-00044 Problem parsing jacc-provider property ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1329]]NCLS-CFGAPI-00045 Failure creating AuditModule config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1330]]NCLS-CFGAPI-00046 Create AuditModule Property failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1331]]NCLS-CFGAPI-00047 Problem parsing audit-module property ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1332]]NCLS-CFGAPI-00048 Failure creating ProviderConfig ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1333]]NCLS-CFGAPI-00049 Problem parsing provider-config ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1334]]NCLS-CFGAPI-00050 Create ProviderConfig RequestPolicy failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1335]]NCLS-CFGAPI-00051 Problem parsing request-policy property ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1336]]NCLS-CFGAPI-00052 Create ProviderConfig Property failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1337]]NCLS-CFGAPI-00053 Problem parsing provider-config property ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1338]]NCLS-CFGAPI-00054 Failure creating JavaConfig config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1339]]NCLS-CFGAPI-00055 Problem parsing jvm-options ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1340]]NCLS-CFGAPI-00056 Failure creating AvailabilityService config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1341]]NCLS-CFGAPI-00057 Failure creating NetworkConfig config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1342]]NCLS-CFGAPI-00058 Failure creating Protocols config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1343]]NCLS-CFGAPI-00059 Problem parsing protocols element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1344]]NCLS-CFGAPI-00060 Failure creating Protocol config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1345]]NCLS-CFGAPI-00061 Failure creating Http config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1346]]NCLS-CFGAPI-00062 Failure creating FileCache config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1347]]NCLS-CFGAPI-00063 Problem parsing file-cache element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1348]]NCLS-CFGAPI-00064 Failure creating Ssl config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1349]]NCLS-CFGAPI-00065 Problem parsing ssl element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1350]]NCLS-CFGAPI-00066 Failure creating HttpRedirect config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1351]]NCLS-CFGAPI-00067 Failure creating PortUnification config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1352]]NCLS-CFGAPI-00068 Failure creating ProtocolFinder config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1353]]NCLS-CFGAPI-00069 Problem parsing protocol-finder element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1354]]NCLS-CFGAPI-00070 Failure creating NetworkListeners config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1355]]NCLS-CFGAPI-00071 Problem parsing network-listeners element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1356]]NCLS-CFGAPI-00072 Failure creating NetworkListener config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1357]]NCLS-CFGAPI-00073 Problem parsing network-listener element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1358]]NCLS-CFGAPI-00074 Failure creating Transports config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1359]]NCLS-CFGAPI-00075 Problem parsing transports element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1360]]NCLS-CFGAPI-00076 Failure creating Transport config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1361]]NCLS-CFGAPI-00077 Problem parsing transport element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1362]]NCLS-CFGAPI-00078 Failure to create ThreadPools config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1363]]NCLS-CFGAPI-00079 Failure creating ThreadPool config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1364]]NCLS-CFGAPI-00080 Problem parsing thread-pool element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1365]]NCLS-CFGAPI-00081 Failure creating SystemProperty config object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1366]]NCLS-CFGAPI-00082 Problem parsing system-property element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1367]]NCLS-CFGAPI-00083 Startup class : ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1368]]NCLS-CFGAPI-00084 Successful cleaned domain.xml with ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1369]]NCLS-CFGAPI-00085 cleaning domain.xml failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1370]]NCLS-CFGAPI-00086 Instance \{0} from environment not found in domain.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1371]]NCLS-CFGAPI-00087 Successful Upgrade domain.xml with ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1372]]NCLS-CFGAPI-00088 upgrading domain.xml failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1373]]NCLS-CFGAPI-00089 does not exist or is empty, will use backup ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1374]]NCLS-CFGAPI-00090 Problem parsing system-property element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1375]]NCLS-CFGAPI-00091 Problem parsing protocol element in domain.xml template ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1376]]NCLS-CFGAPI-00092 Total time to parse domain.xml: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1377]]NCLS-CFGAPI-00093 Exception while creating the command model for the generic command \{0} : \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1378]]NCLS-CFGAPI-00094 The CrudResolver \{0} could not find the configuration object of type \{1} where instances of \{2} should be added ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1379]]NCLS-CFGAPI-00095 A \{0} instance with a \{1} name already exist in the configuration ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1380]]NCLS-CFGAPI-00096 Exception while invoking \{0} method : \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1381]]NCLS-CFGAPI-00097 The CreationDecorator \{0} could not be found in the habitat, is it annotated with @Service? ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1382]]NCLS-CFGAPI-00098 Exception while adding the new configuration : \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1383]]NCLS-CFGAPI-00099 Exception while persisting domain.xml, changes will not be available on server restart. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1384]]NCLS-CFGAPI-00100 Exception while persisting domain.xml, file a bug at http://glassfish.java.net ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1385]]NCLS-CFGAPI-00101 config.getHttpService() null for config ''\{0}'' ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1386]]NCLS-CFGAPI-00102 Failure while upgrading domain.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1387]]NCLS-CFGAPI-00103 Cannot get default configuration for: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1388]]NCLS-CFGAPI-00104 Cannot parse default module configuration ::
-  Cause: Parsing for the default module configuration failed. +
-  Action: Take appropriate action based on the exception stack trace in
-  the log message.
-
-[[sthref1389]]NCLS-CFGAPI-00105 Failed to find the suitable method in returnException: \{0} : \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1390]]NCLS-CFGAPI-00106 Cannot get parent config bean for: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1391]]NCLS-CFGAPI-00107 The provided path is not valid: \{0} resolved to component name: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1392]]NCLS-CFGAPI-00108 Cannot set config bean due to exception thrown. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1393]]NCLS-CFGAPI-00109 Cannot set config bean for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1394]]NCLS-CFGAPI-00110 Cannot remove config bean named \{0} as it does not exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1395]]NCLS-CFGAPI-00111 Cannot get extension type \{0} for \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1396]]NCLS-CFGAPI-00112 Failed to execute the command create-module-config ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1397]]NCLS-CFGAPI-00113 Failed to show all default configurations not merged with domain configuration under target \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1398]]NCLS-CFGAPI-00114 Failed to create all default configuration elements that are not present in the domain.xml under target \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1399]]NCLS-CFGAPI-00119 Failed to create module configuration for \{0} under the target \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1400]]NCLS-CFGAPI-00120 Failed to remove all configuration
-elements related to your service form domain.xml. You can use
-create-module-config --dryRun with your module name to see all relevant
-configurations and try removing the config elements. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1401]]NCLS-CFGAPI-00121 Failed to get active configuration for \{0} under the target \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1402]]NCLS-CFGAPI-00122 Failed to create a ClassLoader for modules directory. ::
-  Cause: The modules directory ClassLoader could not be created due to
-  an I/O error. +
-  Action: Take appropriate action based on the error stack trace
-  reported.
-
-[[sthref1403]]NCLS-CFGAPI-00123 Cannot add new configuration extension to the extension point. ::
-  Cause: An I/O error occurred during configuration extension addition. +
-  Action: Take appropriate action based on the error stack trace
-  reported.
-
-[[sthref1404]]NCLS-CFGAPI-00124 Can not read default configuration. ::
-  Cause: An I/O error occurred. +
-  Action: Take appropriate action based on the error stack trace
-  reported.
-
-[[sthref1405]]NCLS-CFGAPI-00125 Exception while creating the command model for the generic command \{0}. ::
-  Cause: An error occurred. +
-  Action: Take appropriate action based on the error details in the log.
-
-[[sthref1406]]NCLS-CFGAPI-00126 The Config Bean \{0} cannot be loaded by the generic command implementation. ::
-  Cause: The config bean class could not be loaded. +
-  Action: Take appropriate action based on the error stack trace
-  reported.
-
-[[sthref1407]]NCLS-CFGAPI-00127 Invalid annotated type \{0} passed to InjectionResolver:getValue() ::
-  Cause: Invalid annotated type. +
-  Action: Take appropriate action based on the error message details in
-  the log.
-
-[[sthref1408]]NCLS-CFGAPI-00128 Failure while getting List<?> values from component ::
-  Cause: Generic CRUD command invocation failure +
-  Action: Take appropriate action based on the error message details in
-  the log.
-
-[[sthref1409]]NCLS-CFGAPI-00129 The List type returned by \{0} must be a generic type. ::
-  Cause: Generic CRUD command invocation failure +
-  Action: Take appropriate action based on the error message details in
-  the log.
-
-[[sthref1410]]NCLS-CFGAPI-00130 The generic type \{0} is not supported, only List<? extends ConfigBeanProxy> is supported. ::
-  Cause: Generic CRUD command invocation failure +
-  Action: Provide a supported generic type.
-
-[[sthref1411]]NCLS-CFGAPI-00131 Failure while instrospecting \{0} to find all getters and setters. ::
-  Cause: Generic CRUD command invocation failure +
-  Action: Provide a supported generic type.
-
-[[sthref1412]]NCLS-CFGAPI-00132 Transaction exception while injecting \{1}. ::
-  Cause: Generic CRUD command invocation failure +
-  Action: Take appropriate action based on the error message details in
-  the log.
-
-[[sthref1413]]NCLS-CFGAPI-00133 The CrudResolver \{0} could not find the configuration object of type \{1} where instances of \{2} should be removed. ::
-  Cause: Generic delete command invocation failure +
-  Action: Take appropriate action based on the error message details in
-  the log.
-
-[[sthref1414]]NCLS-CFGAPI-00134 Exception while creating access checks for generic command \{0}. ::
-  Cause: An error occurred. +
-  Action: Take appropriate action based on the error details in the log.
-
-[[sthref1415]]NCLS-CFGAPI-00135 Cannot identify getter method for ListingColumn ::
-  Cause: An error occurred. +
-  Action: Take appropriate action based on the error details in the log.
-
-[[sthref1416]]NCLS-CFGAPI-00136 An error occurred while invoking getter \{0} on ConfigBeanProxy. ::
-  Cause: An error occurred. +
-  Action: Take appropriate action based on the error details in the log.
-
-[[sthref1417]]NCLS-CFGAPI-00137 Failure while upgrading http-service properties. ::
-  Cause: An error occurred. +
-  Action: Take appropriate action based on the error details in the log.
-
-[[sthref1418]]NCLS-GFLAUNCHER-00001 Single and double quote characters are not allowed in the CLASSPATH environmental variable. They were stripped out for you.\nBefore: \{0}\nAfter: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1419]]NCLS-GFLAUNCHER-00002 Error Launching: \{0} ::
-  Cause: As described in the message. +
-  Action: Fix the CLASSPATH
-
-[[sthref1420]]NCLS-GFLAUNCHER-00003 Could not locate the flashlight agent here: \{0} ::
-  Cause: As described in the message. +
-  Action: Find the agent file.
-
-[[sthref1421]]NCLS-GFLAUNCHER-00004 Will copy glassfish/lib/templates/server.policy file to domain before upgrading. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1422]]NCLS-GFLAUNCHER-00005 JVM invocation command line:\{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1423]]NCLS-MNTG-00000 Caught an Exception: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1424]]NCLS-MNTG-00001 Caught an Exception: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1425]]NCLS-MNTG-00005 Missing Module (\{0}) From Xml Probe Providers ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1426]]NCLS-MNTG-00104 Unable to load the ProbeProvider ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1427]]NCLS-MNTG-00105 Unable to load the ProbeProvider ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1428]]NCLS-MNTG-00109 mbean-enabled flag is turned on. Enabling all the MBeans ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1429]]NCLS-MNTG-00110 mbean-enabled flag is turned off. Disabling all the MBeans ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1430]]NCLS-MNTG-00111 dtrace-enabled flag is turned on/off. Enabling/Disabling DTrace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1431]]NCLS-MNTG-00112 monitoring-enabled flag is turned on. Enabling all the Probes and Stats ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1432]]NCLS-MNTG-00113 monitoring-enabled flag is turned off. Disabling all the Stats ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1433]]NCLS-MNTG-00201 Flashlight listener registration failed for listener class: \{0} , will retry later ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1434]]NCLS-MNTG-00202 Invalid statsProvider (very likely a duplicate request), cannot unregister: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1435]]NCLS-MNTG-00203 Cannot find node \{0} for statsProvider \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1436]]NCLS-MNTG-00204 \{0} is not a ManagedObject and will not be registered with Gmbal to create an MBean ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1437]]NCLS-MNTG-00205 Gmbal registration failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1438]]NCLS-MNTG-00206 Gmbal unregistration failed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1439]]NCLS-MNTG-00207 module-monitoring-level or container-monitoring config element for \{0} does not exist ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1440]]NCLS-MNTG-00208 Error unregistering the stats provider \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1441]]NCLS-MNTG-00209 Error resetting the stats provider: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1442]]NCLS-MNTG-00210 Unable to create container-monitoring for \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1443]]NCLS-RSTCN-00001 The REST connector has been started ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1444]]NCLS-RSCL-00001 An unsupported encoding was requested: \{0}. ::
-  Cause: The input supplied can not be encoded in the requested
-  encoding. +
-  Action: Verify that the input is valid.
-
-[[sthref1445]]NCLS-RSCL-00002 An error occurred while processing an XML document. ::
-  Cause: The input provided could not be read as an XML document. +
-  Action: Verify that the document provided is a valid XML document.
-
-[[sthref1446]]NCLS-RSCL-00003 An I/O exception occurred. ::
-  Cause: An error occured while closing an InputStream. +
-  Action: The error is not recoverable.
-
-[[sthref1447]]NCLS-RSCL-00004 An error occurred while processing a JSON object. ::
-  Cause: An invalid JSON string was provided and could not be read. +
-  Action: Verify that the JSON string is valid and retry the request.
-
-[[sthref1448]]NCLS-REST-00001 Listening to REST requests at context: \{0}/domain. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1449]]NCLS-REST-00002 Incorrectly formatted entry in \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1450]]NCLS-REST-00003 An error occurred while processing the request. Please see the server logs for details. ::
-  Cause: A runtime error occurred. Please see the log file for more
-  details +
-  Action: See the log file for more details
-
-[[sthref1451]]NCLS-REST-00004 The class specified by generator does not implement DefaultsGenerator ::
-  Cause: The generator does not implement the DefaultsGenerator
-  interface +
-  Action: Modify the generator to implement the DefaultsGenerator
-  interface
-
-[[sthref1452]]NCLS-REST-00005 Unsupported fixed value. Supported types are String, boolean, Boolean, int, Integer, long, Long, double, Double, float, and Float ::
-  Cause: The RestModel property has specified an unsupported data type +
-  Action: Modify the model to use one of the supported types
-
-[[sthref1453]]NCLS-REST-00006 Fixed value type does not match the property type ::
-  Cause: The value for the given property can not be converted to the
-  property's type +
-  Action: Check the input data
-
-[[sthref1454]]NCLS-REST-00007 Cannot marshal ::
-  Cause: The system is unable to generate XML for the given object +
-  Action: Check the logs for more details
-
-[[sthref1455]]NCLS-REST-00008 Unexpected exception during command execution. \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1456]]NCLS-REST-00009 Unable to delete directory \{0}. Will attempt deletion again upon JVM exit. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1457]]NCLS-REST-00010 Unable to delete file %s. Will attempt deletion again upon JVM exit. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1458]]NCLS-REST-00011 \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1459]]NCLS-REST-00012 Compilation failed. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1460]]NCLS-REST-00013 File creation failed: \{0} ::
-  Cause: The system was unable to create the specified file. +
-  Action: Verify that the filesystem is writable and has sufficient disk
-  space
-
-[[sthref1461]]NCLS-REST-00014 Directory creation failed: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1462]]NCLS-REST-00015 Unexpected exception during initilization. ::
-  Cause: The system is unable to init ReST interface +
-  Action: Check the logs for more details
-
-[[sthref1463]]NCLS-REST-00016 I/O exception: \{0} ::
-  Cause: See server log for details +
-  Action: See server log for details.
-
-[[sthref1464]]NCLS-SRVRMGMT-00000 Caught an Exception: \{0} ::
-  Cause: see Exception message +
-  Action: see Exception message
-
-[[sthref1465]]NCLS-SRVRMGMT-00001 Error attemping to delete temporary certificate file: \{0} ::
-  Cause: As described in the message. +
-  Action: Delete the file manually.
-
-[[sthref1466]]NCLS-SRVRMGMT-00002 Renaming \{0} to \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1467]]NCLS-SRVRMGMT-00003 Failed to rename \{0} to \{1} ::
-  Cause: As described in the message. +
-  Action: Check the file system.
-
-[[sthref1468]]NCLS-SRVRMGMT-00004 Failure while upgrading jvm-options from V2 to V3 ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1469]]NCLS-SRVRMGMT-00005 JVM Monitoring ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1470]]NCLS-SRVRMGMT-00006 UpTime(ms) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1471]]NCLS-SRVRMGMT-00007 Heap and NonHeap Memory(bytes) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1472]]NCLS-SRVRMGMT-00008 Failure while upgrading log-service. Could not create logging.properties file. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1473]]NCLS-SRVRMGMT-00009 Failure while upgrading log-service. Could not update logging.properties file. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1474]]NCLS-SRVRMGMT-00010 Failure while upgrading log-service ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1475]]NCLS-SRVRMGMT-00011 Could not create directory \{0} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1476]]NCLS-SRVRMGMT-00012 Could not create domain info XML file \{0} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1477]]NCLS-SRVRMGMT-00013 Missing file : \{0} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1478]]NCLS-SRVRMGMT-00014 Default port \{1} for \{0} is in use. Using \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1479]]NCLS-SRVRMGMT-00015 Port for \{0} is not specified. Using \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1480]]NCLS-SRVRMGMT-00016 Invalid Port for \{0}, should be between 1 and 65535. Using \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1481]]NCLS-SRVRMGMT-00017 Port \{1} for \{0} is in use. Using \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1482]]NCLS-SRVRMGMT-00018 Using default port \{1} for \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1483]]NCLS-SRVRMGMT-00019 Using port \{1} for \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1484]]NCLS-SRVRMGMT-00020 On Unix platforms, port numbers below 1024 may require special privileges. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1485]]NCLS-SRVRMGMT-00021 Failed to update jar \{0} with the substitutable files ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1486]]NCLS-SRVRMGMT-00022 File \{0} not present inside archive \{1} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1487]]NCLS-SRVRMGMT-00023 Error occurred while closing the stream for file \{0} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1488]]NCLS-SRVRMGMT-00024 Could not rename temporary jar \{0} file to \{1} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1489]]NCLS-SRVRMGMT-00025 Could not locate file or resource \{0} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1490]]NCLS-SRVRMGMT-00026 No processing defined for \{0} mode ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1491]]NCLS-SRVRMGMT-00027 Component \{0} is not present. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1492]]NCLS-SRVRMGMT-00028 Group \{0} is not present. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1493]]NCLS-SRVRMGMT-00029 Change-Pair \{0} referred by group \{1} is not defined. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1494]]NCLS-SRVRMGMT-00030 Invalid Mode Type \{0}. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1495]]NCLS-SRVRMGMT-00031 Found an empty <change-pair/>. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1496]]NCLS-SRVRMGMT-00032 IO Error occurred while retrieving substitutable entries from archive \{0}. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1497]]NCLS-SRVRMGMT-00033 In-memory string substitution file size is not defined. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1498]]NCLS-SRVRMGMT-00034 Key already exist in tree, Current Value : \{0} New Value : \{1}. ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1499]]NCLS-SRVRMGMT-00035 Parent node: \{0} contains child node: \{1} whose key starts with same character as the key of given node: \{2} ::
-  Cause: As described in the message. +
-  Action: Check documentation.
-
-[[sthref1500]]NCLS-ADMIN-00001 Could not find state of instance registered in the state service ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1501]]NCLS-ADMIN-00002 Error during command replication: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1502]]NCLS-ADMIN-00003 unable to read instance state file \{0}, recreating ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1503]]NCLS-ADMIN-00004 unable to create instance state file: \{0}, exception: \{1} ::
-  Cause: The instance state file is missing and the system is trying
-  torecreated it but and exception was raised. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1504]]NCLS-ADMIN-00005 error while adding new server state to instance state: \{0} ::
-  Cause: An attempt to add a new server to the instance state file
-  failed. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1505]]NCLS-ADMIN-00006 error while adding failed command to instance state: \{0} ::
-  Cause: An attempt to add a failed command to the instance state file
-  failed. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1506]]NCLS-ADMIN-00007 error while removing failed commands from instance state: \{0} ::
-  Cause: An attempt to remove a failed command from the instance state
-  file failed. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1507]]NCLS-ADMIN-00008 error while setting instance state: \{0} ::
-  Cause: An attempt to set the state of a server in the instance state
-  file failed. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1508]]NCLS-ADMIN-00009 error while removing instance: \{0} ::
-  Cause: An attempt to remove a server from the instance state file
-  failed. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1509]]NCLS-ADMIN-00010 It appears that server [\{0}:\{1}] does not accept secure connections. Retry with --secure=false. ::
-  Cause: An attempt to invoke a command on another server failed. +
-  Action: Check that the server is configured to accept secure
-  connections.
-
-[[sthref1510]]NCLS-ADMIN-00011 An unexpected exception occurred. ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1511]]NCLS-ADMIN-00012 The server requires a valid admin password to be set before it can start. Please set a password using the change-admin-password command. ::
-  Cause: For security reason, the server requires a valid admin password
-  before it can start. +
-  Action: Set a password using the change-admin-password command.
-
-[[sthref1512]]NCLS-ADMIN-00013 Can not put data to cache under key \{0} ::
-  Cause: While invoking a command on another server, this server is
-  unable to cache the meta data related to the command. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1513]]NCLS-ADMIN-00014 An admin request arrived from \{0} with the domain identifier \{1} which does not match the domain identifier \{2} configured for this server's domain; rejecting the request ::
-  Cause: There is a error in the cluster or network configuration. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1514]]NCLS-ADMIN-00015 Error searching for a default admin user ::
-  Cause: An unexpected exception occurred wihle searching for the
-  default admin user. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1515]]NCLS-ADMIN-00016 Cannot read admin cache file for \{0} ::
-  Cause: An error occured while reading the admin command model cache
-  file. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1516]]NCLS-ADMIN-00017 Cannot write data to cache file for \{0} ::
-  Cause: An error occured while writing the admin command model cache
-  file. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1517]]NCLS-ADMIN-00018 Unexpected exception from command event listener. ::
-  Cause: An error occured while calling registered listener. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1518]]NCLS-CLSTR-10101 no clustername to lookup ::
-  Cause: Required information was not passed into method. +
-  Action: File issue with all relevant information.
-
-[[sthref1519]]NCLS-CLSTR-10102 Multiple gms-adapter service for cluster \{0} ::
-  Cause: GMs module is being initialized more than once for the same
-  cluster. +
-  Action: File issue with all relevant information.
-
-[[sthref1520]]NCLS-CLSTR-10103 GMS cannot initialize with unknown cluster ::
-  Cause: No cluster was found with this name in the domain
-  configuration. +
-  Action: Check that domain exists in domain.xml.
-
-[[sthref1521]]NCLS-CLSTR-10104 Started GMS for instance \{0} in group \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1522]]NCLS-CLSTR-10105 Member \{0} joined group \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1523]]NCLS-CLSTR-10107 AliveAndReady for signal: \{0} for member: \{1} of group: \{2} current:[\{3}] previous:[\{4}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1524]]NCLS-CLSTR-10108 GMSAdapter for member: \{0} group: \{1} received GlassFishEventType: \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1525]]NCLS-CLSTR-10109 An exception occurred while creating the HealthHistory object: \{0} ::
-  Cause: An unexpected exception occurred. +
-  Action: See server log for more details.
-
-[[sthref1526]]NCLS-CLSTR-10110 An exception occurred while processing GMS configuration properties: \{0} ::
-  Cause: An unexpected exception occurred. +
-  Action: See server log for more details.
-
-[[sthref1527]]NCLS-CLSTR-10111 Ignoring group-management-service property \{0} with value of \{1} due to \{2} ::
-  Cause: An illegal argument was passed into the Shoal GMS
-  implementation. +
-  Action: Check the server log file for more information from Shoal-GMS.
-
-[[sthref1528]]NCLS-CLSTR-10112 Error processing cluster property:\{0} value:\{1} due to exception \{2} ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the server log file for more information from Shoal-GMS.
-
-[[sthref1529]]NCLS-CLSTR-10113 Exception in getting GMS module for group \{0}: \{1} ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the server log file for more information from Shoal-GMS.
-
-[[sthref1530]]NCLS-CLSTR-10114 An exception occurred while updating the instance health history table: \{0} ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the log file for more information from Shoal-GMS.
-
-[[sthref1531]]NCLS-CLSTR-10115 start failure recovery callback for component: \{0} failed member: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1532]]NCLS-CLSTR-10116 complete failure recovery callback for component: \{0} failed member: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1533]]NCLS-CLSTR-10117 GMS failed to start. See stack trace for additional information. ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the log file for more information
-
-[[sthref1534]]NCLS-CLSTR-10118 GMS failed to start due to a runtime exception. See stack trace for additional information. ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the log file for more information
-
-[[sthref1535]]NCLS-CLSTR-10119 GMS bind interface address \{0} is invalid. Will use default value instead. ::
-  Cause: The specified bind interface address is not an active local
-  address, so it cannot be used on this node. +
-  Action: Check that you have specified the proper address. See server
-  log for more details from GMS subsystem.
-
-[[sthref1536]]NCLS-CLSTR-10120 GMS listener port is required for cluster \{0}. Will attempt to use default of \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1537]]NCLS-CLSTR-30001 GMSAnnounceAfterStartClusterCommand: exitCode:\{0} members \{1} clusterMembers:\{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1538]]NCLS-CLSTR-30002 An exception occurred while announcing GMS group startup: \{0} ::
-  Cause: An unexpected exception occurred in the GMS implementation. +
-  Action: Check the server log file for more information from Shoal-GMS.
-
-[[sthref1539]]NCLS-CLSTR-30003 An exception occurred while announcing GMS group shutdown: \{0} ::
-  Cause: An unexpected exception occurred in the GMS implementation. +
-  Action: Check the server log file for more information from Shoal-GMS.
-
-[[sthref1540]]NCLS-CLSTR-30004 An exception occurred while announcing GMS group startup: \{0} ::
-  Cause: An unexpected exception occurred in the GMS implementation. +
-  Action: Check the server log file for more information from Shoal-GMS.
-
-[[sthref1541]]NCLS-CLSTR-30005 An exception occurred while announcing GMS group shutdown: \{0} ::
-  Cause: An unexpected exception occurred in the GMS implementation. +
-  Action: Check the server log file for more information from Shoal-GMS.
-
-[[sthref1542]]NCLS-CLSTR-10001 Unable to load GMS classes. Group management service is not available. ::
-  Cause: GMS implementation classes are not present. See
-  https://glassfish.dev.java.net/issues/show_bug.cgi?id=12850. +
-  Action: Check that shoal-gms-impl.jar file is present.
-
-[[sthref1543]]NCLS-CLSTR-20001 Adding instance \{0} to health history table. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1544]]NCLS-CLSTR-20002 Instance \{0} was not in map when deleted from health history table. ::
-  Cause: More than one call may have been made to remove this instance
-  from the cluster. This has no other effect on the health history
-  information. +
-  Action: No action is necessary.
-
-[[sthref1545]]NCLS-CLSTR-20003 Deleting instance \{0} from health history table. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1546]]NCLS-CLSTR-20004 Duplicate instance \{0} ignored in health history. ::
-  Cause: There may be more than one instance in the cluster with the
-  same name. +
-  Action: Check that instance names are unique within the cluster.
-
-[[sthref1547]]NCLS-CLSTR-20005 State already known for instance \{0}. Not adding to health history table. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1548]]NCLS-CLSTR-20006 New state \{0} added for unknown instance \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1549]]NCLS-COM-00002 AMX Startup Service Shutdown. MBeans have not been unregistered: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1550]]NCLS-COM-00004 Fatal error loading AMX \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1551]]NCLS-COM-00008 AMX Startup Service: AMXLoader failed to load \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1552]]NCLS-COM-00009 AMX Startup Service: AMX ready for use, DomainRoot \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1553]]NCLS-COM-00010 AMXLoader failed to unload: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1554]]NCLS-COM-00011 ConfigBean not processed, something wrong with it \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1555]]NCLS-COM-00012 In AMXConfigLoader : Loading \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1556]]NCLS-COM-00019 Can't unregister MBean: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1557]]NCLS-COM-00020 Non-singleton ConfigBean \{0} has empty key value (name), supplying \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1558]]NCLS-COM-00021 AMX ComplianceMonitor: ValidationLevel = \{0}, UnregisterNonCompliant = \{1}, LogInaccessibleAttributes = \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1559]]NCLS-COM-00022 AMX ComplianceMonitor thread has unexpectedly quit \{0} ::
-  Cause: A JMX validation thread has unexpectedly terminated due to an
-  exception. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1560]]NCLS-COM-00023 Validating MBean \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1561]]NCLS-COM-00024 Exception validating MBean \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1562]]NCLS-COM-00025 Register children for instance name \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1563]]NCLS-COM-00027 AMX Attribute Change Notification for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1564]]NCLS-COM-00030 Attribute \{0} not found for object \{1} ::
-  Cause: An attempt to resolve an attribute failed. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1565]]NCLS-COM-00031 Can't find child of type \{0} ::
-  Cause: While removing a child, the child was not found. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1566]]NCLS-COM-00032 MBeans exist in AMX domain prior to DomainRoot (violates Parent requirement): \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1567]]NCLS-COM-00033 Can't register config MBean: type=\{0}, name=\{1}, exception=\{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1568]]NCLS-COM-00034 Unexpected thread death of AMXConfigLoaderThread ::
-  Cause: The AMX configuration loader thread received an unexpected
-  exception. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1569]]NCLS-COM-00035 Can't create children ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1570]]NCLS-COM-00036 AMXConfigStartupService.preDestroy(): stopping AMX ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1571]]NCLS-COM-00037 Illegal non-string type for \{0}.\{1}(): \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1572]]NCLS-COM-00038 Can't get field value for \{0}: exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1573]]NCLS-COM-00039 Can't getTypesImplementing for \{0}: exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1574]]NCLS-COM-00040 Can't get childrenSet() from MBean: \{0}, exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1575]]NCLS-COM-00041 Problem with MBean: \{0}, exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1576]]NCLS-COM-00042 PathnamesImpl.getAllPathnames(): unexpected Throwable: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1577]]NCLS-COM-00043 Can't get path() for MBean: \{0}, exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1578]]NCLS-COM-00044 Can't instantiate realm: \{0}, exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1579]]NCLS-COM-00045 getRealmNames(): Can't get realm names, exception: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1580]]NCLS-COM-00046 Cannot find primordial com.sun.enterprise.osgi-adapter ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1581]]NCLS-COM-00047 Stopping server forcibly ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1582]]NCLS-COM-00048 Can't get cipher suites ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1583]]NCLS-COM-00049 MBeanInfoSupport: @ManagedAttribute cannot also be @ManagedOperation: \{0}.\{1}() ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1584]]NCLS-COM-00050 MBeanInfoSupport: @ManagedAttribute not a getter or setter: \{0}.\{1}() ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1585]]NCLS-COMUTIL-00001 Failed to process class \{0} with bytecode preprocessor \{1} ::
-  Cause: As described in the message. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1586]]NCLS-COMUTIL-00002 Class \{0} is being reset to its original state ::
-  Cause: As described in the message. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1587]]NCLS-COMUTIL-00003 Class \{0} is being reset to the last successful preprocessor ::
-  Cause: As described in the message. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1588]]NCLS-COMUTIL-00004 The supplied preprocessor class \{0} is not an instance of org.glassfish.api.BytecodePreprocessor ::
-  Cause: As described in the message. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1589]]NCLS-COMUTIL-00005 Bytecode preprocessor disabled ::
-  Cause: As described in the message. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1590]]NCLS-COMUTIL-00006 Initialization failed for bytecode preprocessor \{0} ::
-  Cause: As described in the message. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1591]]NCLS-COMUTIL-00007 Error setting up preprocessor ::
-  Cause: As described in the message. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1592]]NCLS-COMUTIL-00008 Illegal max-entries [\{0}]; please check your cache configuration. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1593]]NCLS-COMUTIL-00009 Illegal MaxSize value [\{0}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1594]]NCLS-COMUTIL-00010 Error closing zip file for class path entry \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1595]]NCLS-COMUTIL-00011 An error occurred while adding URL [\{0}] to the EJB class loader. Please check the content of this URL. ::
-  Cause: An unexpected exception occurred while processing a URL. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1596]]NCLS-COMUTIL-00012 The URL entry is missing while contructing the classpath. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1597]]NCLS-COMUTIL-00013 Error closing zip file for duplicate class path entry \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1598]]NCLS-COMUTIL-00014 Exception in ASURLClassLoader ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1599]]NCLS-COMUTIL-00015 ASURLClassLoader \{1} was requested to find resource \{0} after done was invoked from the following stack trace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1600]]NCLS-COMUTIL-00016 Error: Request made to load class or resource [\{0}] on an ASURLClassLoader instance that has already been shutdown. [\{1}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1601]]NCLS-COMUTIL-00017 \{0} actually got transformed ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1602]]NCLS-COMUTIL-00018 ASURLClassLoader \{1} was requested to find class \{0} after done was invoked from the following stack trace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1603]]NCLS-COMUTIL-00019 Illegal call to close() detected ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1604]]NCLS-COMUTIL-00020 Error processing file with path \{0} in \{1} ::
-  Cause: An unexpected exception occurred while processing a file. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1605]]NCLS-COMUTIL-00021 Error checking for existing of \{0} in \{1} ::
-  Cause: An unexpected exception occurred while checking for the
-  existence of a file. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1606]]NCLS-COMUTIL-00022 Error closing an open stream during loader clean-up ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1607]]NCLS-COMUTIL-00023 Input stream has been finalized or forced closed without being explicitly closed; stream instantiation reported in following stack trace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1608]]NCLS-COMUTIL-00024 Unable to create client data directory: \{0} ::
-  Cause: An unexpected failure occurred while creating the directory for
-  the file. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1609]]NCLS-COMUTIL-00025 Exception in invokeApplicationMain [\{0}]. ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1610]]NCLS-COMUTIL-00026 The main method signature is invalid. ::
-  Cause: While invoking a main class, an invalid method was found. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1611]]NCLS-COMUTIL-00027 Error while caching the local string manager - package name may be null. ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1612]]NCLS-COMUTIL-00028 Error while constructing the local string manager object. ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1613]]NCLS-COMUTIL-00029 Error in local string manager - resource bundle is probably missing. ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1614]]NCLS-COMUTIL-00030 Error while formating the local string. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1615]]NCLS-COMUTIL-00031 Some IOException occurred ::
-  Cause: An unexpected exception occurred. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1616]]NCLS-COMUTIL-00032 Attempt to delete \{0} failed; the file is reported as non-existent ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1617]]NCLS-COMUTIL-00033 Error attempting to delete \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1618]]NCLS-COMUTIL-00034 Performing gc to try to force file closures ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1619]]NCLS-COMUTIL-00035 Attempt to rename \{0} to \{1} succeeded after \{2} retries ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1620]]NCLS-COMUTIL-00036 Attempt to rename \{0} to \{1} succeeded without any retries ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1621]]NCLS-COMUTIL-00037 Attempt to rename \{0} to \{1} failed after \{2} retries ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1622]]NCLS-COMUTIL-00038 Failed to open jar file: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1623]]NCLS-COMUTIL-00039 Attempt to use non-existent auth token \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1624]]NCLS-COMUTIL-00040 File Lock not released on \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1625]]NCLS-COMUTIL-00041 Bad Network Configuration. DNS can not resolve the hostname: \n\{0} ::
-  Cause: The hostname can't be resolved. +
-  Action: Set the hostname correctly.
-
-[[sthref1626]]NCLS-COMUTIL-00042 BundleTracker.removedBundle null bundleID for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1627]]NCLS-COM-01001 Exception \{0} resolving password alias \{1} in property \{2}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1628]]NCLS-COM-01002 Unknown property \{0} found unresolving \{1}. ::
-  Cause: No value was found for a property. This indicates a software
-  problem. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1629]]NCLS-COM-01003 System property reference missing trailing "'}'" at \{0} in domain.xml. ::
-  Cause: A system property reference in domain.xml is invalid. +
-  Action: Check the domain.xml file for an invalid system property
-  reference.
-
-[[sthref1630]]NCLS-COM-01004 System property reference missing starting "$'\{'" at \{0} in domain.xml. ::
-  Cause: A system property reference in domain.xml is invalid. +
-  Action: Check the domain.xml file for an invalid system property
-  reference.
-
-[[sthref1631]]NCLS-JMX--00008 Error while shutting down AMX ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1632]]NCLS-JMX-00001 JMXStartupService and JMXConnectors have been shut down. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1633]]NCLS-JMX-00002 JMXStartupService: Stopped JMXConnectorServer: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1634]]NCLS-JMX-00003 MBean Registration Exception thrown \{0} ::
-  Cause: JMX Connector Server MBean could not be unregistered. +
-  Action: Take appropriate action based on the exception message.
-
-[[sthref1635]]NCLS-JMX-00004 Instance Not Found Exception thrown \{0} ::
-  Cause: JMX Connector Server MBean instance not found. +
-  Action: Take appropriate action based on the exception message.
-
-[[sthref1636]]NCLS-JMX-00005 JMXStartupService has started JMXConnector on JMXService URL \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1637]]NCLS-JMX-00006 JMXStartupService has disabled JMXConnector \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1638]]NCLS-JMX-00007 Cannot start JMX connector \{0} due to exception \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1639]]NCLS-JMX-00008 Booting AMX Listener, connection made for \{0}, now booting AMX MBeans ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1640]]NCLS-JMX-00009 Security enabled ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1641]]NCLS-JMX-00010 Attempted access to method \{0} on object \{1} rejected; user was granted \{2} but the operation reports its impact as "\{3}" ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1642]]NCLS-JMX-00011 Error stopping RMIConnector ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1643]]NCLS-JMX-00012 MyRMIJRMPServerImpl: exported on address \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1644]]NCLS-JMX-00013 MyRMIJRMPServerImpl: makeClient on address = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1645]]NCLS-JMX-00014 Error preparing SSL context ::
-  Cause: As described in the message. +
-  Action: Please refer to the stack trace
-
-[[sthref1646]]NCLS-JMX-00015 No Key store found for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1647]]NCLS-JMX-00016 No keystores defined ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1648]]NCLS-JMX-00017 Bad maxCertLength: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1649]]NCLS-JMX-00018 JSSE keystoreload failed for type = \{0} path = \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Please refer to the stack trace
-
-[[sthref1650]]NCLS-JMX-00019 All SSL protocol variants disabled for network-listener, using SSL implementation specific defaults ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1651]]NCLS-JMX-00020 All SSL cipher suites disabled for network-listener(s). Using SSL implementation specific defaults ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1652]]NCLS-JMX-00021 Unknown cipher error for cipher \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1653]]NCLS-JMX-00022 Creating a SecureRMIClientSocketFactory @ \{0}with ssl config = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1654]]NCLS-JMX-00023 Setting SSLParams @ \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1655]]NCLS-JMX-00024 Creating a SecureRMIServerSocketFactory @ \{0} with ssl config = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1656]]NCLS-JMX-00025 SSLServerSocket \{0} and \{1} created ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1657]]NCLS-JMX-00026 Binding RMI port to single IP address = \{0}, port \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1658]]NCLS-BOOTSTRAP-00001 GlassFish requires JDK \{0}, you are using JDK version \{1}. ::
-  Cause: Incorrect JDK version is used. +
-  Action: Please use correct JDK version.
-
-[[sthref1659]]NCLS-BOOTSTRAP-00002 Using \{0} as the framework configuration file. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1660]]NCLS-BOOTSTRAP-00003 Could not extract archive \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1661]]NCLS-BOOTSTRAP-00004 Could not find RAR [\{0}] location [\{1}] after extraction. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1662]]NCLS-BOOTSTRAP-00005 Can not start bundle \{0} because it is not contained in the list of installed bundles. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1663]]NCLS-BOOTSTRAP-00006 Failed to start \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1664]]NCLS-BOOTSTRAP-00007 Can't uninstall bundle = \{0} as it's already uninstalled. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1665]]NCLS-BOOTSTRAP-00008 Uninstalled bundle \{0} installed from \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1666]]NCLS-BOOTSTRAP-00009 Can't update bundle = \{0} as it's already uninstalled. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1667]]NCLS-BOOTSTRAP-00010 Updated bundle \{0} from \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1668]]NCLS-BOOTSTRAP-00011 Failed to uninstall bundle \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1669]]NCLS-BOOTSTRAP-00012 Failed to update \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1670]]NCLS-BOOTSTRAP-00013 Failed to install \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1671]]NCLS-BOOTSTRAP-00014 Can not set the start level for \{0} to \{2} as it is already set to \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1672]]NCLS-BOOTSTRAP-00015 Skipping entry \{0} because it is not an absolute URI. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1673]]NCLS-BOOTSTRAP-00016 Skipping entry \{0} due to exception: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1674]]NCLS-BOOTSTRAP-00017 Starting BundleProvisioner. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1675]]NCLS-BOOTSTRAP-00018 Time taken to locate OSGi framework = \{0} ms. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1676]]NCLS-BOOTSTRAP-00020 Time taken to initialize OSGi framework = \{0} ms. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1677]]NCLS-BOOTSTRAP-00021 Time taken to finish installation of bundles = \{0} ms. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1678]]NCLS-BOOTSTRAP-00022 Time taken to finish starting bundles = \{0} ms. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1679]]NCLS-BOOTSTRAP-00023 Total time taken to start = \{0} ms. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1680]]NCLS-BOOTSTRAP-00024 Time taken to stop = \{0} ms. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1681]]NCLS-BOOTSTRAP-00025 Total time taken = \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1682]]NCLS-BOOTSTRAP-00026 Create bundle provisioner class = \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1683]]NCLS-BOOTSTRAP-00027 Registered \{0} as OSGi service registration: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1684]]NCLS-BOOTSTRAP-00028 Unregistered \{0} from service registry. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1685]]NCLS-BOOTSTRAP-00029 Exception while unregistering: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1686]]NCLS-BOOTSTRAP-00030 installLocations = \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1687]]NCLS-BOOTSTRAP-00031 Unable to determine if \{0} is a fragment or not due to ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1688]]NCLS-BOOTSTRAP-00032 Skipping starting of bundles bundles have been provisioned already. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1689]]NCLS-BOOTSTRAP-00033 \{0} : latest file in installation location = \{1} and latest installed bundle = \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1690]]NCLS-BOOTSTRAP-00034 Updating system bundle. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1691]]NCLS-BOOTSTRAP-00035 Provisioning options have changed, recreating the framework with a clean OSGi storage(aka cache). ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1692]]NCLS-BOOTSTRAP-00036 Unable to locate bundle \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1693]]NCLS-BOOTSTRAP-00037 Storage support not available in framework bundle, so can't store bundle ids. This may lead to slower start up time. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1694]]NCLS-BOOTSTRAP-00038 Storage support not available in framework bundle, so can't store provisioning options. This may lead to slower start up time. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1695]]NCLS-BOOTSTRAP-00039 Got an unexpected exception. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1696]]NCLS-CORE-00001 Cannot decode parameter \{0} = \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1697]]NCLS-CORE-00002 Cannot instantiate model for command \{0} ::
-  Cause: The service that implements the command could not be loaded. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1698]]NCLS-CORE-00003 Exception while running a command ::
-  Cause: An unexpected exception occurred while running a command. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1699]]NCLS-CORE-00004 Unable to get an instance of ClusterExecutor; Cannot dynamically reconfigure instances ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1700]]NCLS-CORE-00005 Can't delete local password file: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1701]]NCLS-CORE-00006 Can't create local password file: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1702]]NCLS-CORE-00007 Timeout occurred when processing Admin Console request. ::
-  Cause: A request for a lock timed out while processing an admin
-  console request. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1703]]NCLS-CORE-00008 Cannot process admin console request. ::
-  Cause: InterruptedException occurred while the service thread is
-  running. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1704]]NCLS-CORE-00009 Unable to serve resource: \{0}. Cause: \{1} ::
-  Cause: An I/O error occurred while serving a resource request. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1705]]NCLS-CORE-00010 Resource not found: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1706]]NCLS-CORE-00011 Console cannot be initialized due to an exception. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1707]]NCLS-CORE-00012 Cannot write property ''\{0} = \{1}'' for AdminService in domain.xml, exception: \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1708]]NCLS-CORE-00013 Shutdown procedure finished ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1709]]NCLS-CORE-00014 Shutdown required ::
-  Cause: An unexpected exception occurred while changing run levels. A
-  shutdown is required. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1710]]NCLS-CORE-00015 Shutdown requested ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1711]]NCLS-CORE-00016 Startup service failed to start ::
-  Cause: An unexpected exception occurred while starting the startup
-  service. A shutdown is required. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1712]]NCLS-CORE-00017 \{0} (\{1}) startup time : \{2} (\{3}ms), startup services(\{4}ms), total(\{5}ms) ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1713]]NCLS-CORE-00018 TOTAL TIME INCLUDING CLI: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1714]]NCLS-CORE-00019 Shutting down server due to startup exception ::
-  Cause: An unexpected exception occurred while starting the server. A
-  shutdown is required. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1715]]NCLS-CORE-00020 Timed out, ignoring some startup service status ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1716]]NCLS-CORE-00021 Unexpected exception during startup ::
-  Cause: An unexpected exception occurred while starting the server. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1717]]NCLS-CORE-00022 Loading application \{0} done in \{1} ms ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1718]]NCLS-CORE-00023 Enable of application \{0} completed with a warning: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1719]]NCLS-CORE-00024 Error during enabling ::
-  Cause: An unexpected exception occurred while enabling an application. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1720]]NCLS-CORE-00025 Error during disabling ::
-  Cause: An unexpected exception occurred while disabling an
-  application. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1721]]NCLS-CORE-00026 Exception during lifecycle processing ::
-  Cause: An unexpected exception occurred during lifecycle processing. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1722]]NCLS-CORE-00027 ApplicationMetaDataProvider \{0} requires \{1} but no other ApplicationMetaDataProvider provides it ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1723]]NCLS-CORE-00028 Inconsistent state - nothing is providing \{0} yet it passed validation ::
-  Cause: An unexpected condition during lifecycle processing. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1724]]NCLS-CORE-00029 Cannot start container \{0}, exception: \{1} ::
-  Cause: An unexpected condition during lifecycle processing. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1725]]NCLS-CORE-00030 Cannot release container \{0}, exception \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1726]]NCLS-CORE-00031 Error while closing deployable artifact \{0}, exception: \{1} ::
-  Cause: An unexpected exception occurred during lifecycle processing. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1727]]NCLS-CORE-00032 Error while expanding archive file ::
-  Cause: An unexpected exception occurred during lifecycle processing. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1728]]NCLS-CORE-00033 Cannot find sniffer for module type: \{0} ::
-  Cause: An unexpected condition occurred during lifecycle processing. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1729]]NCLS-CORE-00034 Cannot find any sniffer for deployed app: \{0} ::
-  Cause: An unexpected condition occurred during lifecycle processing. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1730]]NCLS-CORE-00035 Exception occurred while satisfying optional package dependencies ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1731]]NCLS-CORE-00036 Cannot delete created temporary file \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1732]]NCLS-CORE-00037 Source is not a directory, using temporary location \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1733]]NCLS-CORE-00038 Cannot find the application type for the artifact at: \{0}. Was the container or sniffer removed? ::
-  Cause: An unexpected condition occurred while loading an application. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1734]]NCLS-CORE-00039 Exception during application deployment ::
-  Cause: An unexpected exception occurred while deploying an
-  application. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1735]]NCLS-CORE-00040 Cannot determine original location for application: \{0} ::
-  Cause: A URL syntax error occurred. +
-  Action: Check the application for proper syntax.
-
-[[sthref1736]]NCLS-CORE-00041 Application deployment failed: \{0} ::
-  Cause: The deployment command for an application failed as indicated
-  in the message. +
-  Action: Check the application and redeploy.
-
-[[sthref1737]]NCLS-CORE-00042 IOException while opening deployed artifact ::
-  Cause: An unexpected exception occurred while deploying an
-  application. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1738]]NCLS-CORE-00043 Application previously deployed is not at its original location any more: \{0} ::
-  Cause: An unexpected exception occurred while loading an application. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1739]]NCLS-CORE-00044 System property called \{0} is null, is this intended? ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1740]]NCLS-CORE-00045 Invalid classpath entry for common class loader ignored: \{0}, exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1741]]NCLS-CORE-00046 Cannot find javadb client jar file, derby jdbc driver will not be available by default. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1742]]NCLS-CORE-00047 CommonClassLoaderServiceImpl is unable to process \{0} because of an exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1743]]NCLS-CORE-00048 Invalid InputStream returned for \{0} ::
-  Cause: Unable to retrieve an entry from the archive. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1744]]NCLS-CORE-00049 Exception while processing \{0} inside \{1} of size \{2}, exception: \{3} ::
-  Cause: An unexpected exception occurred while processing an archive. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1745]]NCLS-CORE-00050 Cannot open sub-archive \{0} from \{1} ::
-  Cause: An unexpected exception occurred while processing an archive. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1746]]NCLS-CORE-00051 Cannot close sub archive \{0}, exception: \{1} ::
-  Cause: An unexpected exception occurred while closing an archive. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1747]]NCLS-CORE-00052 Exception loading lifecycle module [\{0}]; [\{1}] ::
-  Cause: An unexpected exception occurred while loading a lifecycle
-  module. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1748]]NCLS-CORE-00053 Lifecycle module [\{0}] threw ServerLifecycleException, exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1749]]NCLS-CORE-00054 Lifecycle module [\{0}] threw an Exception; please check your lifecycle module. Exception: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1750]]NCLS-CORE-00055 GrizzlyService stop-proxy problem ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1751]]NCLS-CORE-00056 Unable to start the server. Closing all ports ::
-  Cause: An unexpected exception occurred while starting the grizzly
-  service. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1752]]NCLS-CORE-00057 Exception closing port: \{0}, exception: \{1} ::
-  Cause: An unexpected exception occurred while closing a port. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1753]]NCLS-CORE-00058 Network listener \{0} on port \{1} disabled per domain.xml ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1754]]NCLS-CORE-00059 GrizzlyService endpoint registration problem ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1755]]NCLS-CORE-00060 Skip registering endpoint with non existent virtual server: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1756]]NCLS-CORE-00061 Attempting to start the \{0} container. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1757]]NCLS-CORE-00062 Done with starting \{0} container in \{1} ms. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1758]]NCLS-CORE-00063 Could not start container, no exception provided. ::
-  Cause: The container could not be started. +
-  Action: Ensure the libraries for the container are available.
-
-[[sthref1759]]NCLS-CORE-00064 Exception while starting container \{0}, exception: \{1} ::
-  Cause: An exception occurred while attempting to start the container. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1760]]NCLS-CORE-00065 Exception while mapping the request. ::
-  Cause: An exception occurred while mapping a request to the container. +
-  Action: Please resolve issues mentioned in the stack trace.
-
-[[sthref1761]]NCLS-CORE-00066 Cannot add new configuration to the Config element ::
-  Cause: An exception occurred while adding the container configuration
-  to the domain.xml. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1762]]NCLS-CORE-00067 Exception while enabling or disabling the autodeployment of applications ::
-  Cause: An exception occurred while enabling or disabling the
-  autodeployment of applications. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1763]]NCLS-CORE-00068 Exception while sending an event. ::
-  Cause: An exception occurred while sending an event. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1764]]NCLS-CORE-00069 Exception while dispatching an event ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1765]]NCLS-CORE-00070 An exception occurred while stopping the server, continuing. ::
-  Cause: An exception occurred while stopping the server. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1766]]NCLS-CORE-00071 The ManagedJobConfig bean \{0} was changed by \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1767]]NCLS-CORE-00072 Cleaning Job \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1768]]NCLS-CORE-00073 Initializing Job Cleanup service ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1769]]NCLS-CORE-00074 Initializing Managed Config bean ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1770]]NCLS-CORE-00075 Scheduling Cleanup ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1771]]NCLS-CORE-00076 Exception when cleaning jobs caused ::
-  Cause: An exception occured when cleaning the managed jobs +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1772]]NCLS-CORE-00077 -passwordfile specified, but the actual file was not, ignoring ... ::
-  Cause: A software error is causing an incorrect argument sequence. +
-  Action: No action necessary.
-
-[[sthref1773]]NCLS-CORE-00078 Invalid context root for the admin console application, using default: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1774]]NCLS-CORE-00079 Admin Console Adapter: context root: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1775]]NCLS-CORE-00080 Failed to configure the ManagedJobConfig bean ::
-  Cause: While running the configure-managed-jobs command, a write
-  transaction to the ManagedJobConfig bean failed. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1776]]NCLS-CORE-00081 Unable to get the ManagedJobConfig bean. ::
-  Cause: While running the configure-managed-jobs command, access to the
-  ManagedJobConfig bean failed. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1777]]NCLS-CORE-00082 Exiting after upgrade ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1778]]NCLS-CORE-00083 Exception while attempting to shutdown after upgrade ::
-  Cause: An exception occured when shutting down the server after an
-  upgrade. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1779]]NCLS-CORE-00084 Cannot find port information from domain.xml ::
-  Cause: No port value is available in the NetworkListener config bean +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1780]]NCLS-CORE-00085 Cannot parse port value: \{0}, using port 8080 ::
-  Cause: There is an invalid port value in the domain.xml file. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1781]]NCLS-CORE-00086 Unknown address \{0} ::
-  Cause: There is an invalid address value in the domain.xml file. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1782]]NCLS-CORE-00087 Grizzly Framework \{0} started in: \{1}ms - bound to [\{2}] ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1783]]NCLS-CORE-00088 Exception during postConstruct of DynamicReloadService ::
-  Cause: An unexpected exception occured. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1784]]NCLS-CORE-00089 Cannot determine host name, will use localhost exclusively ::
-  Cause: An unexpected exception occured. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1785]]NCLS-CORE-00090 Internal Server error: \{0} ::
-  Cause: An unexpected exception occured. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1786]]NCLS-CORE-00091 Unable to set customized error page ::
-  Cause: An unexpected exception occured. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1787]]NCLS-CORE-00092 Server shutdown initiated ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1788]]NCLS-CORE-00093 Problem while attempting to install admin console! ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1789]]NCLS-CORE-00094 Unable to load checkpoint ::
-  Cause: An unexpected exception occured. +
-  Action: Check the system logs and contact Oracle support.
-
-[[sthref1790]]NCLS-CORE-00095 Resuming command \{0} from its last checkpoint. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1791]]NCLS-CORE-00096 Automatically resumed command \{0} finished with exit code \{1}. \nMessage: \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1792]]NCLS-LOGGING-00001 Cannot read logging configuration file. ::
-  Cause: An exception has occurred while reading the logging
-  configuration file. +
-  Action: Take appropriate action based on the exception message.
-
-[[sthref1793]]NCLS-LOGGING-00002 Could not apply the logging configuration changes. ::
-  Cause: There was an exception thrown while applying the logging
-  configuration changes. +
-  Action: Take appropriate action based on the exception message.
-
-[[sthref1794]]NCLS-LOGGING-00003 Updated logger levels successfully. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1795]]NCLS-LOGGING-00004 The logging configuration file \{0} has been deleted. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1796]]NCLS-LOGGING-00005 Error executing query to fetch log records. ::
-  Cause: There was an exception thrown while executing log query. +
-  Action: Take appropriate action based on the exception message.
-
-[[sthref1797]]NCLS-LOGGING-00006 The syslog handler could not be initialized. ::
-  Cause: There was an exception thrown while initializing the syslog
-  handler. +
-  Action: Take appropriate action based on the exception message.
-
-[[sthref1798]]NCLS-LOGGING-00007 There was an error sending a log message to syslog. ::
-  Cause: There was an exception thrown while sending a log message to
-  the syslog. +
-  Action: Take appropriate action based on the exception message.
-
-[[sthref1799]]NCLS-LOGGING-00008 The log file \{0} for the instance does not exist. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1800]]NCLS-LOGGING-00009 Running GlassFish Version: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1801]]NCLS-LOGGING-00010 Server log file is using Formatter class: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1802]]NCLS-LOGGING-00011 Failed to parse the date: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1803]]NCLS-LOGGING-00012 An invalid value \{0} has been specified for the \{1} attribute in the logging configuration. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1804]]NCLS-LOGGING-00013 The formatter class \{0} could not be instantiated. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1805]]NCLS-DEPLOYMENT-00040 Error occurred: \{0} ::
-  Cause: An exception was caught when the operation was attempted +
-  Action: See the exception to determine how to fix the error
-
-[[sthref1806]]NCLS-DEPLOYMENT-02025 Exception caught: \{0} ::
-  Cause: An exception was caught when the application was autodeployed. +
-  Action: See the exception to determine how to fix the error
-
-[[sthref1807]]NCLS-DEPLOYMENT-02026 Autoundeploying application: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1808]]NCLS-DEPLOYMENT-02027 Selecting file \{0} for autodeployment ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1809]]NCLS-DEPLOYMENT-02028 Error parsing configured polling-interval-in-seconds \{0} as an integer; \{1} \{2} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1810]]NCLS-DEPLOYMENT-02029 Exception caught: \{0} ::
-  Cause: An exception was caught when the application was autodeployed. +
-  Action: See the exception to determine how to fix the error
-
-[[sthref1811]]NCLS-DEPLOYMENT-02030 Error processing configuration change of \{0} from \{1} to \{2}; \{3} \{4} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1812]]NCLS-DEPLOYMENT-02031 Configured timeout value of \{0} second\{0,choice,0#seconds|1#second|1<seconds} will be used but seems very large ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1813]]NCLS-DEPLOYMENT-02032 Configured timeout value of \{0} second\{0,choice,0#seconds|1#second|1<seconds} is too small; using previous value of \{1}second \{1,choice,0#seconds|1#second|1<seconds} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1814]]NCLS-DEPLOYMENT-02033 Could not convert configured timeout value of "\{0}" to a number; using previous value of \{1} second\{1,choice,0#seconds|1#second|1<seconds ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1815]]NCLS-DEPLOYMENT-02034 Attempt to create file \{0} failed; no further information. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1816]]NCLS-DEPLOYMENT-02035 \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1817]]NCLS-DEPLOYMENT-02036 \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1818]]NCLS-DEPLOYMENT-02037 Error occurred: ::
-  Cause: An exception was caught when the operation was attempted +
-  Action: See the exception to determine how to fix the error
-
-[[sthref1819]]NCLS-DEPLOYMENT-02038 Attempt to delete file \{0} failed; no further information. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1820]]NCLS-DEPLOYMENT-02039 Attempt to create file \{0} failed; no further information. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1821]]NCLS-DEPLOYMENT-02041 Attempt to create file \{0} failed; no further information. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1822]]NCLS-DEPLOYMENT-02042 Attempt to set last modified date/time of file \{0} failed; no further information. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1823]]NCLS-DEPLOYMENT-02043 Attempt to delete file \{0} failed; no further information. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1824]]NCLS-DEPLOYMENT-02044 Attempt to create directory \{0} failed; no further information. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1825]]NCLS-DEPLOYMENT-00001 Exception while scanning \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1826]]NCLS-DEPLOYMENT-00002 Error scan jar entry \{0} \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1827]]NCLS-DEPLOYMENT-00003 Failed to scan archive for annotations ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1828]]NCLS-DEPLOYMENT-00004 Exception caught: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1829]]NCLS-DEPLOYMENT-00005 Could not expand entry \{0} into destination \{1} ::
-  Cause: An exception was caught when the entry was expanded +
-  Action: See the exception to determine how to fix the error
-
-[[sthref1830]]NCLS-DEPLOYMENT-00006 Cannot find archive \{0} referenced from archive \{1}, it will be ignored for annotation scanning ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1831]]NCLS-DEPLOYMENT-00007 Exception caught \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1832]]NCLS-DEPLOYMENT-00008 Error in jar entry \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1833]]NCLS-DEPLOYMENT-00009 Failed to scan archive for annotations: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1834]]NCLS-DEPLOYMENT-00010 Exception caught \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1835]]NCLS-DEPLOYMENT-00011 Optional package \{0} does not exist or its Specification-Version does not match. Unable to satisfy dependency for \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1836]]NCLS-DEPLOYMENT-00012 Optional package dependency satisfied for \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1837]]NCLS-DEPLOYMENT-00013 Error in opening optional package file \{0} due to exception: \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1838]]NCLS-DEPLOYMENT-00014 Exception occurred : \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1839]]NCLS-DEPLOYMENT-00015 Specification-Version for the
-optional package [ \{0} ] in the jarfile [ \{1} ] is not specified.
-Please provide a valid specification version for this optional package
-::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1840]]NCLS-DEPLOYMENT-00016 Skipping extension processing for \{0} due to error: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1841]]NCLS-DEPLOYMENT-00017 Exception: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1842]]NCLS-DEPLOYMENT-00018 unexpected error in getting urls ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1843]]NCLS-DEPLOYMENT-00019 file open failure; file = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1844]]NCLS-DEPLOYMENT-00020 exception message: \{0} -- invalid zip file: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1845]]NCLS-DEPLOYMENT-00021 Cannot find an archive implementation for \{0} ::
-  Cause: The type of archive being created is not supported. +
-  Action: Determine the type of archive requested to see whether another
-  type can be used.
-
-[[sthref1846]]NCLS-DEPLOYMENT-00022 Attempt to list files in \{0} failed, perhaps because that is not a valid directory or because file permissions do not allow GlassFish to access it ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1847]]NCLS-DEPLOYMENT-00023 Ignoring \{0} because the containing archive \{1} recorded it as a pre-existing stale file ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1848]]NCLS-DEPLOYMENT-00024 Exception while getting manifest classpath: ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1849]]NCLS-DEPLOYMENT-00025 Artifact \{0} identified for inclusion in app clients after one or more app clients were generated. ::
-  Cause: The application might specify that modules are to be processed
-  in the order they appear in the application and an app client module
-  appears before a module that creates an artifact to be included in app
-  clients. +
-  Action: Make sure, if the application specifies initialize-in-order as
-  true, that the app clients appear after other modules which generated
-  artifacts that should be accessible to app clients.
-
-[[sthref1850]]NCLS-DEPLOYMENT-00026 Artifact with relative path \{0} expected at \{1} but does not exist or cannot be read ::
-  Cause: The server is attempting to register an artifact to be included
-  in the generated client JAR but the artifact does not exist or cannot
-  be read +
-  Action: This is an internal server error. Please file a bug report.
-
-[[sthref1851]]NCLS-DEPLOYMENT-00027 Artifact with relative path \{0} from \{1} collides with an existing artifact from file \{2} ::
-  Cause: The server has created more than one artifact with the same
-  relative path to be included in the generated client JAR file +
-  Action: This is an internal server error. Please file a bug report.
-
-[[sthref1852]]NCLS-DEPLOYMENT-00045 Cannot convert classpath to URL \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1853]]NCLS-DEPLOYMENT-00046 invalidSpecVersion: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1854]]NCLS-DIAG-03000 Can not fulfill request to get diagnostics context. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1855]]NCLS-DIAG-03001 An exception has prevented a diagnostics context from being created. ::
-  Cause: (see underlying exception) +
-  Action: (see underlying exception)
-
-[[sthref1856]]NCLS-MON-00301 Cannot process XML ProbeProvider, xml = \{0}, \nException: \{1} ::
-  Cause: Possible syntax error in the ProbeProvider XML +
-  Action: Check the syntax of ProbeProvider XML
-
-[[sthref1857]]NCLS-MON-00302 Cannot resolve the paramTypes, unable to create this probe - \{0} ::
-  Cause: Unknown Java type for the param +
-  Action: Try giving a fully qualified name for the type
-
-[[sthref1858]]NCLS-MON-00303 Cannot resolve the paramTypes of the probe - \{0}, ::
-  Cause: Unknown Java type for the param +
-  Action: Try giving a fully qualified name for the type
-
-[[sthref1859]]NCLS-MON-00304 Can not match the Probe method (\{0}) with any method in the DTrace object ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1860]]NCLS-MON-00305 Invalid parameters for ProbeProvider, ignoring \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1861]]NCLS-MON-00306 No Probe Provider found in Probe Provider XML ::
-  Cause: Invalid Probe Provider XML +
-  Action: Check Probe Provider XML syntax
-
-[[sthref1862]]NCLS-MON-00501 invalid pid, start flashlight-agent using asadmin enable-monitoring with --pid option, you may get pid using jps command ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1863]]NCLS-MON-00502 flashlight-agent.jar does not exist under \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1864]]NCLS-MON-00503 flashlight-agent.jar directory \{0} does not exist ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1865]]NCLS-MON-00504 Encountered exception during agent attach ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1866]]NCLS-MON-00505 Error transforming Probe: \{0} ::
-  Cause: Exception - see message +
-  Action: Check probe syntax
-
-[[sthref1867]]NCLS-MON-00506 Error unregistering ProbeProvider ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1868]]NCLS-MON-00507 Error during re-transformation ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1869]]NCLS-MON-00508 Error during registration of FlashlightProbe ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1870]]NCLS-MON-00509 Error attempting to write the re-transformed class data ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1871]]NCLS-MON-00510 Monitoring is disabled because there is no Attach API from the JVM available ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1872]]NCLS-MON-00511 Error while getting Instrumentation object from ProbeAgentMain ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1873]]NCLS-MON-00512 DTrace is not available. ::
-  Cause: This is caused if following are missing: \n1. JDK 7 is required
-  to run DTrace\n2. glassfish-dtrace.jar value-add is required for
-  DTrace +
-  Action: Run with JDK 7 and glassfish-dtrace.jar
-
-[[sthref1874]]NCLS-MON-00513 DTrace is not supported. ::
-  Cause: This is caused if: \n1. Operating System does not support
-  DTrace. Currently you must have Solaris 10 or higher for DTrace
-  support. +
-  Action: Run with Solaris 10 or higher
-
-[[sthref1875]]NCLS-MON-00514 DTrace is connected and ready. ::
-  Cause: This is caused if: \n1. Operating System does not support
-  DTrace. Currently you must have Solaris 10 or higher for DTrace
-  support. +
-  Action: Run with Solaris 10 or higher
-
-[[sthref1876]]NCLS-MON-00515 Unexpected exception invoking DTrace ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1877]]NCLS-OSGI-00001 Decorated url = \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1878]]NCLS-RESOURCE-00001 Unexpected exception in loading class [\{0}] by classloader. ::
-  Cause: Classpath is not properly set in the domain.xml or application
-  server process does not have read permissions on the directory that
-  holds the classes/jar. +
-  Action: Check that the classpath attribute in the java-config includes
-  a reference to the jar/package directory for the class or you do not
-  have read permissions on the directory that holds the classes/jar.
-
-[[sthref1879]]NCLS-RESOURCE-00002 Unexpected exception in loading class by classloader [\{0}]. ::
-  Cause: Classpath is not properly set in the domain.xml or you do not
-  have read permissions on the directory that holds the classes/jar. +
-  Action: Check that the classpath attribute in the java-config includes
-  a reference to the jar/package directory for the class or check that
-  the directory where the classes/jars reside have read permission for
-  the application server process
-
-[[sthref1880]]NCLS-RESOURCE-00003 Cannot bind resource [\{0}] to naming manager. Following exception occurred [\{1}]. ::
-  Cause: Please check the exception to get more details. +
-  Action: Please check the exception to resolve the same.
-
-[[sthref1881]]NCLS-RESOURCE-00004 Unable to deploy resource [\{0}] due to following exception: [\{1}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1882]]NCLS-RESOURCE-00005 Unable to undeploy resource, no Resource Deployer for [\{0}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1883]]NCLS-RESOURCE-00006 Unable to undeploy resource [\{0}] due to following exception: [\{1}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1884]]NCLS-RESOURCE-00007 Error while handling Change event due to following exception: [\{0}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1885]]NCLS-RESOURCE-00008 Error while handling Remove event due to following exception: [\{0}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1886]]NCLS-RESOURCE-00009 Unable to find ResourceDeployer for [\{0}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1887]]NCLS-SECURITY-01000 Caught exception. ::
-  Cause: As described in the message. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1888]]NCLS-SECURITY-01001 Java security manager is enabled. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1889]]NCLS-SECURITY-01002 Java security manager is disabled. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1890]]NCLS-SECURITY-01004 An I/O error occurred during copying of server config files. ::
-  Cause: Copying server config files. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1891]]NCLS-SECURITY-01005 XML processing error occurred during copying of server config files. ::
-  Cause: The XML file(s) may not be well formed. +
-  Action: Make sure the XML file(s) are well formed.
-
-[[sthref1892]]NCLS-SECURITY-01010 Entering Security Startup Service. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1893]]NCLS-SECURITY-01011 Security Service(s) started successfully. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1894]]NCLS-SECURITY-01012 Error obtaining keystore and truststore files for embedded server. ::
-  Cause: Saving the keystore and/or truststore to the temporary
-  directory. +
-  Action: Check if the user.home directory is writable.
-
-[[sthref1895]]NCLS-SECURITY-01013 An I/O error occurred while copying the security config files. ::
-  Cause: Copying security files to instanceRoot/config. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1896]]NCLS-SECURITY-01014 An error occurred while upgrading the security config files. ::
-  Cause: Upgrade security config files from a previous version. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1897]]NCLS-SECURITY-01015 Upgrade from v2 EE to v3.1 requires manual steps. Please refer to the v3.1 Upgrade Guide for details. ::
-  Cause: Upgrade security config files from a previous version. +
-  Action: Please refer to the v3.1 Upgrade Guide for details.
-
-[[sthref1898]]NCLS-SECURITY-01050 Certificate authentication requires certificate realm. ::
-  Cause: Unknown realm type. +
-  Action: Check server configuration
-
-[[sthref1899]]NCLS-SECURITY-01100 Disabled realm [\{0}] due to errors. ::
-  Cause: No realms available. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1900]]NCLS-SECURITY-01101 No realms available. Authentication services disabled. ::
-  Cause: No realms available. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1901]]NCLS-SECURITY-01104 Error while obtaining private subject credentials: \{0} ::
-  Cause: Private Credentials of Subject not available. +
-  Action: Please check if the private credentials are available.
-
-[[sthref1902]]NCLS-SECURITY-01105 A PasswordCredential was required but not provided. ::
-  Cause: PasswordCredential was required, but not supplied. +
-  Action: Please check if the password is provided.
-
-[[sthref1903]]NCLS-SECURITY-01115 Realm [\{0}] of classtype [\{1}] successfully created. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1904]]NCLS-SECURITY-01117 Realm [\{0}] successfully updated. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1905]]NCLS-SECURITY-01119 Realm [\{0}] successfully deleted. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1906]]NCLS-SECURITY-01140 Policy provider configuration overridden by property \{0} with value \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1907]]NCLS-SECURITY-01141 Requested jacc-provider [\{0}] is not configured in domain.xml. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1908]]NCLS-SECURITY-01142 Error while reading policy-provider in domain.xml. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1909]]NCLS-SECURITY-01143 Loading policy provider \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1910]]NCLS-SECURITY-01144 Error while installing policy provider: \{0}. ::
-  Cause: Setting the system wide policy. +
-  Action: Make sure there's sufficient permission to set the policy.
-
-[[sthref1911]]NCLS-SECURITY-01145 No policy provider defined. Will use the default JDK Policy implementation. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1912]]NCLS-SECURITY-01146 Policy configuration factory overridden by property \{0} with value \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1913]]NCLS-SECURITY-01147 Policy configuration factory not defined. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1914]]NCLS-SECURITY-01149 Policy provider configuration overridden by property \{0} with value \{1}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1915]]NCLS-SECURITY-01150 Failed to get the group names for user \{0} in realm \{1}: \{2}. ::
-  Cause: Operation now allowed +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1916]]NCLS-SECURITY-01151 Failed to get the group names for user \{0} in realm \{1}: \{2}. ::
-  Cause: Obtain the group names for a nonexistent user +
-  Action: Make sure the user is valid
-
-[[sthref1917]]NCLS-SECURITY-05019 ERROR: Unknown credential provided. Class: [\{0}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1918]]NCLS-SECURITY-05036 Exception in getting security context. ::
-  Cause: There was an exception obtaining the default security context. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1919]]NCLS-SECURITY-05038 Default user login error. ::
-  Cause: There was an exception while authenticating the default caller
-  principal. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1920]]NCLS-SECURITY-05039 Exception entering name and password for security. ::
-  Cause: An exception occurred while processing username and password
-  for security. +
-  Action: An exception occurred while processing username and password
-  for security.
-
-[[sthref1921]]NCLS-SECURITY-05043 Exception in security accesscontroller action. ::
-  Cause: Running a privileged action +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1922]]NCLS-SECURITY-05046 Audit: Authentication refused for [\{0}]. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1923]]NCLS-SECURITY-05048 doAsPrivileged AuthPermission required to set SecurityContext. ::
-  Cause: Setting the SecurityContext in the current thread +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1924]]NCLS-SECURITY-05049 Unexpected exception while attempting to set SecurityContext. ::
-  Cause: There was an unexpected exception while setting the security
-  context. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1925]]NCLS-SECURITY-05050 Could not change the SecurityContext. ::
-  Cause: Changing the current SecurityContext. +
-  Action: Check the server logs and contact Oracle support
-
-[[sthref1926]]NCLS-SECURITY-05052 Subject is null. ::
-  Cause: null Subject used in SecurityContext construction. +
-  Action: Make sure the Subject is not null
-
-[[sthref1927]]NCLS-SECURITY-05055 Role mapping conflicts found in application \{0}. Some roles may not be mapped. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1928]]NCLS-SECURITY-05056 Error converting certificate \{0}: \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1929]]NCLS-SECURITY-05101 Failed to instantiate the SecurityLifeCycle. ::
-  Cause: As described in the message. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1930]]NCLS-SECURITY-05200 Error enabling secure admin. ::
-  Cause: Enable secure admin. +
-  Action: Check your command usage.
-
-[[sthref1931]]NCLS-SECURITY-05201 Error disabling secure admin. ::
-  Cause: Disable secure admin. +
-  Action: Check your command usage.
-
-[[sthref1932]]NCLS-SECURITY-05300 IIOP Security - error importing a name: $\{0}. ::
-  Cause: Importing a name in IIOP. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1933]]NCLS-SECURITY-05301 IIOP Security - error creating an exported name: $\{0}. ::
-  Cause: Creating an exported name in IIOP. +
-  Action: Check the server logs and contact Oracle support.
-
-[[sthref1934]]SEC-PROV-00100 Authorization Provider supplied an invalid resource: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1935]]SEC-PROV-00150 Role Mapping Provider supplied an invalid resource: \{0} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1936]]SEC-SVCS-00100 Authorization Service has successfully initialized. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1937]]SEC-SVCS-00101 Authorization Service initialization failed, exception \{0}, message \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1938]]SEC-SVCS-00102 Unable to decode URI: \{0}. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1939]]SEC-SVCS-00150 Role Mapping Service has successfully initialized. ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1940]]SEC-SVCS-00151 Role Mapping Service initialization failed, exception \{0}, message \{1} ::
-  Cause: As described in the message. +
-  Action: Resolve the situation described in the message, if necessary.
-
-[[sthref1941]]NCLS-SECURITY-05054 The SSL certificate has expired: \{0} ::
-  Cause: Certificate expired. +
-  Action: Check the expiration date of the certificate.
-
-
diff --git a/docs/error-messages-reference/src/main/jbake/content/preface.adoc b/docs/error-messages-reference/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 4ddfa07..0000000
--- a/docs/error-messages-reference/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,318 +0,0 @@
-type=page
-status=published
-title=Preface
-next=error-messages.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSEMR00001]][[gkbbw]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This document describes error messages that you might encounter when
-using Sun GlassFish Server 5.0.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server is developed through the GlassFish project open-source
-community at `https://javaee.github.io/glassfish/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#BABJIEEB[GlassFish Server Documentation Set]
-* link:#BABBDGAE[Related Documentation]
-* link:#BABGCFGH[Typographic Conventions]
-* link:#BABHAGID[Symbol Conventions]
-
-[[BABJIEEB]][[glassfish-server-documentation-set]]
-
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[BABBDGAE]][[related-documentation]]
-
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* https://javaee.github.io/firstcup/[Your First Cup: An Introduction to
-the Java EE Platform] (`https://javaee.github.io/firstcup/`). For
-beginning Java EE programmers, this short tutorial explains the entire
-process for developing a simple enterprise application. The sample
-application is a web application that consists of a component that is
-based on the Enterprise JavaBeans specification, a JAX-RS web service,
-and a JavaServer Faces component for the web front end.
-* https://javaee.github.io/tutorial/[The Java EE 8 Tutorial]
-(`https://javaee.github.io/tutorial/`). This comprehensive tutorial
-explains how to use Java EE 7 platform technologies and APIs to develop
-Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 8 of Java EE is located at
-`https://javaee.github.io/javaee-spec/javadocs/`.
-* The API specification for GlassFish Server 5.0, including Java EE 8
-platform packages and non-platform packages that are specific to the
-GlassFish Server product, is located at
-`https://javaee.github.io/javaee-spec/javadocs/`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications] (`https://javaee.github.io/javaee-spec/Specifications`)
-might be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Apache Derby database for use with the
-GlassFish Server, see the https://db.apache.org/derby/manuals/[Apache
-Derby product page] (`https://db.apache.org/derby/manuals/`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the https://github.com/javaee/glassfish-samples[Java EE
-Samples project page] (`https://github.com/javaee/glassfish-samples`).
-
-[[BABGCFGH]][[typographic-conventions]]
-
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[BABHAGID]][[symbol-conventions]]
-
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[BABEACJI]][[default-paths-and-file-names]]
-
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="14%,34%,52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + |Represents the base installation directory for GlassFish
-Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish6/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish6`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + |Represents the directory in which a domain's
-configuration is stored. |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
diff --git a/docs/error-messages-reference/src/main/jbake/content/title.adoc b/docs/error-messages-reference/src/main/jbake/content/title.adoc
deleted file mode 100644
index f4c2034..0000000
--- a/docs/error-messages-reference/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,46 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Error Message Reference, Release 5.1
-next=preface.html
-prev=toc.html
-~~~~~~
-Eclipse GlassFish Server Error Message Reference, Release 5.1
-=============================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Error Message Reference
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This book describes error messages that you might encounter when using
-GlassFish Server 5.1.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Error Message Reference, Release
-5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/error-messages-reference/src/main/jbake/jbake.properties b/docs/error-messages-reference/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/error-messages-reference/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/error-messages-reference/src/main/jbake/templates/footer.ftl b/docs/error-messages-reference/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/error-messages-reference/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/error-messages-reference/src/main/jbake/templates/header.ftl b/docs/error-messages-reference/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/error-messages-reference/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/error-messages-reference/src/main/jbake/templates/menu.ftl b/docs/error-messages-reference/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/error-messages-reference/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/error-messages-reference/src/main/jbake/templates/page.ftl b/docs/error-messages-reference/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/error-messages-reference/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/ha-administration-guide/README.md b/docs/ha-administration-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/ha-administration-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/ha-administration-guide/pom.xml b/docs/ha-administration-guide/pom.xml
index 7286d46..245aceb 100644
--- a/docs/ha-administration-guide/pom.xml
+++ b/docs/ha-administration-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>ha-administration-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server High Availability Administration Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server High Availability Administration Guide, Release 7</name>
 </project>
diff --git a/docs/ha-administration-guide/src/main/asciidoc/clusters.adoc b/docs/ha-administration-guide/src/main/asciidoc/clusters.adoc
new file mode 100644
index 0000000..a5ec99a
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/clusters.adoc
@@ -0,0 +1,1313 @@
+type=page
+status=published
+title=Administering {productName} Clusters
+next=instances.html
+prev=nodes.html
+~~~~~~
+
+= Administering {productName} Clusters
+
+[[GSHAG00005]][[gjfom]]
+
+
+[[administering-glassfish-server-clusters]]
+== 4 Administering {productName} Clusters
+
+A cluster is a collection of {productName} instances that work
+together as one logical entity. A cluster provides a runtime environment
+for one or more Java Platform, Enterprise Edition (Jakarta EE)
+applications. A cluster provides high availability through failure
+protection, scalability, and load balancing.
+
+The Group Management Service (GMS) enables instances to participate in a
+cluster by detecting changes in cluster membership and notifying
+instances of the changes. To ensure that GMS can detect changes in
+cluster membership, a cluster's GMS settings must be configured
+correctly.
+
+The following topics are addressed here:
+
+* link:#gjfqp[About {productName} Clusters]
+* link:#gjfnl[Group Management Service]
+* link:#gkqdy[Creating, Listing, and Deleting Clusters]
+
+[[gjfqp]][[GSHAG00183]][[about-glassfish-server-clusters]]
+
+=== About {productName} Clusters
+
+A cluster is a named collection of {productName} instances that share
+the same applications, resources, and configuration information. For
+information about {productName} instances, see
+link:instances.html#gkrbv[Administering {productName} Instances].
+
+{productName} enables you to administer all the instances in a
+cluster as a single unit from a single host, regardless of whether the
+instances reside on the same host or different hosts. You can perform
+the same operations on a cluster that you can perform on an unclustered
+instance, for example, deploying applications and creating resources.
+
+A cluster provides high availability through failure protection,
+scalability, and load balancing.
+
+* Failure protection. If an instance or a host in a cluster fails,
+{productName} detects the failure and recovers the user session
+state. If a load balancer is configured for the cluster, the load
+balancer redirects requests from the failed instance to other instances
+in the cluster. Because the same applications and resources are on all
+instances in the cluster, an instance can fail over to any other
+instance in the cluster.
++
+To enable the user session state to be recovered, each instance in a
+cluster sends in-memory state data to another instance. As state data is
+updated in any instance, the data is replicated.
+* Scalability. If increased capacity is required, you can add instances
+to a cluster with no disruption in service. When an instance is added or
+removed, the changes are handled automatically.
+* Load balancing. If instances in a cluster are distributed among
+different hosts, the workload can be distributed among the hosts to
+increase overall system throughput.
+
+[[gjfnl]][[GSHAG00184]][[group-management-service]]
+
+=== Group Management Service
+
+The Group Management Service (GMS) is an infrastructure component that
+is enabled for the instances in a cluster. When GMS is enabled, if a
+clustered instance fails, the cluster and the Domain Administration
+Server (DAS) are aware of the failure and can take action when failure
+occurs. Many features of {productName} depend upon GMS. For example,
+GMS is used by the in-memory session replication, transaction service,
+and timer service features.
+
+GMS is a core service of the Shoal framework. For more information about
+Shoal, visit the http://shoal.dev.java.net/[Project Shoal home page]
+(`https://shoal.dev.java.net/`).
+
+The following topics are addressed here:
+
+* link:#CHDFEGAG[Protocols and Transports for GMS]
+* link:#gjfpd[GMS Configuration Settings]
+* link:#gjfog[Dotted Names for GMS Settings]
+* link:#gkoac[To Preconfigure Nondefault GMS Configuration Settings]
+* link:#gkqqo[To Change GMS Settings After Cluster Creation]
+* link:#gklhl[To Check the Health of Instances in a Cluster]
+* link:#gklhd[To Validate That Multicast Transport Is Available for a Cluster]
+* link:#CHDGAIBJ[Discovering a Cluster When Multicast Transport Is Unavailable]
+* link:#gjdlw[Using the Multi-Homing Feature With GMS]
+
+[[CHDFEGAG]][[GSHAG485]][[protocols-and-transports-for-gms]]
+
+==== Protocols and Transports for GMS
+
+You can specify that GMS should use one of the following combinations of
+protocol and transport for broadcasting messages:
+
+* User Datagram Protocol (UDP) multicast
+* Transmission Control Protocol (TCP) without multicast
+
+Even if GMS should use UDP multicast for broadcasting messages, you must
+ensure that TCP is enabled. On Windows systems, enabling TCP involves
+enabling a protocol and port for security when a firewall is enabled.
+
+If GMS should use UDP multicast for broadcasting messages and if
+{productName} instances in a cluster are located on different hosts,
+the following conditions must be met:
+
+* The DAS host and all hosts for the instances must be on the same subnet.
+* UDP multicast must be enabled for the network.
+To test whether multicast is enabled, use the
+link:reference-manual/validate-multicast.html#GSRFM00259[`validate-multicast`(1)]
+subcommand.
+
+If GMS should use TCP without multicast, you must configure GMS to
+locate the instances to use for discovering the cluster. For more
+information, see link:#CHDGAIBJ[Discovering a Cluster When Multicast
+Transport Is Unavailable].
+
+[NOTE]
+====
+If you do not configure GMS to locate the instances to use for
+discovering a cluster, GMS uses UDP multicast by default.
+====
+
+
+[[gjfpd]][[GSHAG00264]][[gms-configuration-settings]]
+
+==== GMS Configuration Settings
+
+{productName} has the following types of GMS settings:
+
+* GMS cluster settings — These are determined during cluster creation.
+For more information about these settings, see link:#gkqdm[To Create a Cluster].
+* GMS configuration settings — These are determined during configuration
+creation and are explained here.
+
+The following GMS configuration settings are used in GMS for group
+discovery and failure detection:
+
+`group-discovery-timeout-in-millis`::
+  Indicates the amount of time (in milliseconds) an instance's GMS
+  module will wait during instance startup for discovering other members
+  of the group.
++
+  The `group-discovery-timeout-in-millis` timeout value should be set to
+  the default or higher. The default is 5000.
+`max-missed-heartbeats`::
+  Indicates the maximum number of missed heartbeats that the health
+  monitor counts before the instance can be marked as a suspected
+  failure. GMS also tries to make a peer-to-peer connection with the
+  suspected member. If the maximum number of missed heartbeats is
+  exceeded and peer-to-peer connection fails, the member is marked as a
+  suspected failure. The default is 3.
+`heartbeat-frequency-in-millis`::
+  Indicates the frequency (in milliseconds) at which a heartbeat is sent
+  by each server instance to the cluster. +
+  The failure detection interval is the `max-missed-heartbeats`
+  multiplied by the `heartbeat-frequency-in-millis`. Therefore, the
+  combination of defaults, 3 multiplied by 2000 milliseconds, results in
+  a failure detection interval of 6 seconds. +
+  Lowering the value of `heartbeat-frequency-in-millis` below the
+  default would result in more frequent heartbeat messages being sent
+  out from each member. This could potentially result in more heartbeat
+  messages in the network than a system needs for triggering failure
+  detection protocols. The effect of this varies depending on how
+  quickly the deployment environment needs to have failure detection
+  performed. That is, the (lower) number of retries with a lower
+  heartbeat interval would make it quicker to detect failures. +
+  However, lowering this value could result in false positives because
+  you could potentially detect a member as failed when, in fact, the
+  member's heartbeat is reflecting the network load from other parts of
+  the server. Conversely, a higher timeout interval results in fewer
+  heartbeats in the system because the time interval between heartbeats
+  is longer. As a result, failure detection would take a longer. In
+  addition, a startup by a failed member during this time results in a
+  new join notification but no failure notification, because failure
+  detection and verification were not completed. +
+  The default is 2000.
+`verify-failure-waittime-in-millis`::
+  Indicates the verify suspect protocol's timeout used by the health
+  monitor. After a member is marked as suspect based on missed
+  heartbeats and a failed peer-to-peer connection check, the verify
+  suspect protocol is activated and waits for the specified timeout to
+  check for any further health state messages received in that time, and
+  to see if a peer-to-peer connection can be made with the suspect
+  member. If not, then the member is marked as failed and a failure
+  notification is sent. The default is 1500.
+`verify-failure-connect-timeout-in-millis`::
+  Indicates the time it takes for the GMS to detect a hardware or
+  network failure of a server instance. Be careful not to set this value
+  too low. The smaller this timeout value is, the greater the chance of
+  detecting false failures. That is, the instance has not failed but
+  doesn't respond within the short window of time. The default is 10000.
+
+The heartbeat frequency, maximum missed heartbeats, peer-to-peer
+connection-based failure detection, and the verify timeouts are all
+needed to ensure that failure detection is robust and reliable in
+{productName}.
+
+For the dotted names for each of these GMS configuration settings, see
+link:#gjfog[Dotted Names for GMS Settings]. For the steps to specify
+these settings, see link:#gkoac[To Preconfigure Nondefault GMS
+Configuration Settings].
+
+[[gjfog]][[GSHAG00265]][[dotted-names-for-gms-settings]]
+
+==== Dotted Names for GMS Settings
+
+Below are sample link:reference-manual/get.html#GSRFM00139[`get`] subcommands to get all the GMS
+configuration settings (attributes associated with the referenced
+`mycfg` configuration) and GMS cluster settings (attributes and
+properties associated with a cluster named `mycluster`).
+
+[source]
+----
+asadmin> get "configs.config.mycfg.group-management-service.*"
+configs.config.mycfg.group-management-service.failure-detection.heartbeat-frequency-in-millis=2000
+configs.config.mycfg.group-management-service.failure-detection.max-missed-heartbeats=3
+configs.config.mycfg.group-management-service.failure-detection.verify-failure-connect-timeout-in-millis=10000
+configs.config.mycfg.group-management-service.failure-detection.verify-failure-waittime-in-millis=1500
+configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=5000
+
+asadmin> get clusters.cluster.mycluster
+clusters.cluster.mycluster.config-ref=mycfg
+clusters.cluster.mycluster.gms-bind-interface-address=${GMS-BIND-INTERFACE-ADDRESS-mycluster}
+clusters.cluster.mycluster.gms-enabled=true
+clusters.cluster.mycluster.gms-multicast-address=228.9.245.47
+clusters.cluster.mycluster.gms-multicast-port=9833
+clusters.cluster.mycluster.name=mycluster
+
+asadmin> get "clusters.cluster.mycluster.property.*"
+clusters.cluster.mycluster.property.GMS_LISTENER_PORT=${GMS_LISTENER_PORT-mycluster}
+clusters.cluster.mycluster.property.GMS_MULTICAST_TIME_TO_LIVE=4
+clusters.cluster.mycluster.property.GMS_LOOPBACK=false
+clusters.cluster.mycluster.property.GMS_TCPSTARTPORT=9090
+clusters.cluster.mycluster.property.GMS_TCPENDPORT=9200
+----
+
+The last `get` subcommand displays only the properties that have been
+explicitly set.
+
+For the steps to specify these settings, see link:#gkoac[To Preconfigure
+Nondefault GMS Configuration Settings] and link:#gkqqo[To Change GMS
+Settings After Cluster Creation].
+
+[[gkoac]][[GSHAG00098]][[to-preconfigure-nondefault-gms-configuration-settings]]
+
+==== To Preconfigure Nondefault GMS Configuration Settings
+
+You can preconfigure GMS with values different than the defaults without
+requiring a restart of the DAS and the cluster.
+
+1. Create a configuration using the link:reference-manual/copy-config.html#GSRFM00011[`copy-config`]
+subcommand.
++
+For example:
++
+[source]
+----
+asadmin> copy-config default-config mycfg
+----
+For more information, see link:named-configurations.html#abdjr[To Create
+a Named Configuration].
+2. Set the values for the new configuration's GMS configuration
+settings.
++
+For example:
++
+[source]
+----
+asadmin> set configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=8000
+asadmin> set configs.config.mycfg.group-management-service.failure-detection.max-missed-heartbeats=5
+----
+For a complete list of the dotted names for these settings, see
+link:#gjfog[Dotted Names for GMS Settings].
+3. Create the cluster so it uses the previously created configuration.
++
+For example:
++
+[source]
+----
+asadmin> create-cluster --config mycfg mycluster
+----
+You can also set GMS cluster settings during this step. For more
+information, see link:#gkqdm[To Create a Cluster].
+4. Create server instances for the cluster.
++
+For example:
++
+[source]
+----
+asadmin> create-instance --node localhost --cluster mycluster instance01
+
+asadmin> create-instance --node localhost --cluster mycluster instance02
+----
+5. Start the cluster.
++
+For example:
++
+[source]
+----
+asadmin> start-cluster mycluster
+----
+
+[[GSHAG367]]
+
+See Also
+
+You can also view the full syntax and options of a subcommand by typing
+`asadmin help` subcommand at the command line.
+
+[[gkqqo]][[GSHAG00099]][[to-change-gms-settings-after-cluster-creation]]
+
+==== To Change GMS Settings After Cluster Creation
+
+To avoid the need to restart the DAS and the cluster, configure GMS
+configuration settings before cluster creation as explained in
+link:#gkoac[To Preconfigure Nondefault GMS Configuration Settings].
+
+To avoid the need to restart the DAS and the cluster, configure the GMS
+cluster settings during cluster creation as explained in link:#gkqdm[To
+Create a Cluster].
+
+Changing any GMS settings using the `set` subcommand after cluster
+creation requires a domain administration server (DAS) and cluster
+restart as explained here.
+
+1. Ensure that the DAS and cluster are running.
++
+Remote subcommands require a running server.
+2. Use the link:reference-manual/get.html#GSRFM00139[`get`] subcommand to determine the settings
+to change.
++
+For example:
++
+[source]
+----
+asadmin> get "configs.config.mycfg.group-management-service.*"
+configs.config.mycfg.group-management-service.failure-detection.heartbeat-frequency-in-millis=2000
+configs.config.mycfg.group-management-service.failure-detection.max-missed-heartbeats=3
+configs.config.mycfg.group-management-service.failure-detection.verify-failure-connect-timeout-in-millis=10000
+configs.config.mycfg.group-management-service.failure-detection.verify-failure-waittime-in-millis=1500
+configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=5000
+----
+For a complete list of the dotted names for these settings, see
+link:#gjfog[Dotted Names for GMS Settings].
+3. Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to change the settings.
++
+For example:
++
+[source]
+----
+asadmin> set configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=6000
+----
+4. Use the `get` subcommand again to confirm that the changes were
+made.
++
+For example:
++
+[source]
+----
+asadmin> get configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis
+----
+5. Restart the DAS.
++
+For example:
++
+[source]
+----
+asadmin> stop-domain domain1
+
+asadmin> start-domain domain1
+----
+6. Restart the cluster.
++
+For example:
++
+[source]
+----
+asadmin> stop-cluster mycluster
+
+asadmin> start-cluster mycluster
+----
+
+[[GSHAG368]]
+
+See Also
+
+You can also view the full syntax and options of a subcommand by typing
+`asadmin help` subcommand at the command line.
+
+[[gklhl]][[GSHAG00100]][[to-check-the-health-of-instances-in-a-cluster]]
+
+==== To Check the Health of Instances in a Cluster
+
+The `get-health` subcommand only works when GMS is enabled. This is the
+quickest way to evaluate the health of a cluster and to detect if
+cluster is properly operating; that is, all members of the cluster are
+running and visible to DAS.
+
+If multicast is not enabled for the network, all instances could be
+running (as shown by the link:reference-manual/list-instances.html#GSRFM00170[`list-instances`] subcommand),
+yet isolated from each other. The `get-health` subcommand does not show
+the instances if they are running but cannot discover each other due to
+multicast not being configured properly. See link:#gklhd[To Validate
+That Multicast Transport Is Available for a Cluster].
+
+1. Ensure that the DAS and cluster are running.
++
+Remote subcommands require a running server.
+2. Check whether server instances in a cluster are running by using the
+link:reference-manual/get-health.html#GSRFM00141[`get-health`] subcommand.
+
+[[GSHAG00032]][[gklgw]]
+Example 4-1 Checking the Health of Instances in a Cluster
+
+This example checks the health of a cluster named `cluster1`.
+
+[source]
+----
+asadmin> get-health cluster1
+instance1 started since Wed Sep 29 16:32:46 EDT 2010
+instance2 started since Wed Sep 29 16:32:45 EDT 2010
+Command get-health executed successfully.
+----
+
+[[GSHAG369]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help get-health` at the command line.
+
+[[gklhd]][[GSHAG00101]][[to-validate-that-multicast-transport-is-available-for-a-cluster]]
+
+==== To Validate That Multicast Transport Is Available for a Cluster
+
+[[GSHAG370]]
+
+Before You Begin
+
+To test a specific multicast address, multicast port, or bind interface
+address, get this information beforehand using the `get` subcommand. Use
+the following subcommand to get the multicast address and port for a
+cluster named `c1`:
+
+[source]
+----
+asadmin> get clusters.cluster.c1
+clusters.cluster.c1.config-ref=mycfg
+clusters.cluster.c1.gms-bind-interface-address=${GMS-BIND-INTERFACE-ADDRESS-c1}
+clusters.cluster.c1.gms-enabled=true
+clusters.cluster.c1.gms-multicast-address=228.9.174.162
+clusters.cluster.c1.gms-multicast-port=5383
+clusters.cluster.c1.name=c1
+----
+
+Use the following subcommand to get the bind interface address of a
+server instance named `i1` that belongs to a cluster named `c1`, if this
+system property has been set:
+
+[source]
+----
+asadmin> get servers.server.i1.system-property.GMS-BIND-INTERFACE-ADDRESS-c1
+servers.server.i1.system-property.GMS-BIND-INTERFACE-ADDRESS-c1.name=GMS-BIND-INTERFACE-ADDRESS-c1
+servers.server.i1.system-property.GMS-BIND-INTERFACE-ADDRESS-c1.value=10.12.152.30
+----
+
+For information on how to set this system property, see
+link:#gjdlw[Using the Multi-Homing Feature With GMS].
+
+
+[NOTE]
+====
+Do not run the `validate-multicast` subcommand using the DAS and
+cluster's multicast address and port values while the DAS and cluster
+are running. Doing so results in an error.
+
+The `validate-multicast` subcommand must be run at the same time on two
+or more machines to validate whether multicast messages are being
+received between the machines.
+====
+
+
+Check whether multicast transport is available for a cluster by using
+the link:reference-manual/validate-multicast.html#GSRFM00259[`validate-multicast`] subcommand.
+
+[[GSHAG00033]][[gklhv]]
+Example 4-2 Validating That Multicast Transport Is Available for a
+Cluster
+
+This example checks whether multicast transport is available for a
+cluster named `c1`.
+
+Run from host `sr1`:
+
+[source]
+----
+asadmin> validate-multicast
+Will use port 2048
+Will use address 228.9.3.1
+Will use bind interface null
+Will use wait period 2,000 (in milliseconds)
+
+Listening for data...
+Sending message with content "sr1" every 2,000 milliseconds
+Received data from sr1 (loopback)
+Received data from sr2
+Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
+Command validate-multicast executed successfully.
+----
+
+Run from host `sr2`:
+
+[source]
+----
+asadmin> validate-multicast
+Will use port 2048
+Will use address 228.9.3.1
+Will use bind interface null
+Will use wait period 2,000 (in milliseconds)
+
+Listening for data...
+Sending message with content "sr2" every 2,000 milliseconds
+Received data from sr2 (loopback)
+Received data from sr1
+Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
+Command validate-multicast executed successfully.
+----
+
+[[GSHAG371]]
+
+Next Steps
+
+As long as all machines see each other, multicast is validated to be
+working properly across the machines. If the machines are not seeing
+each other, set the `--bindaddress` option explicitly to ensure that all
+machines are using interface on same subnet, or increase the
+`--timetolive` option from the default of `4`. If these changes fail to
+resolve the multicast issues, ask the network administrator to verify
+that the network is configured so the multicast messages can be seen
+between all the machines used to run the cluster.
+
+[[GSHAG372]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help get-health` at the command line.
+
+[[CHDGAIBJ]][[GSHAG00373]][[discovering-a-cluster-when-multicast-transport-is-unavailable]]
+
+==== Discovering a Cluster When Multicast Transport Is Unavailable
+
+When multicast transport is unavailable, {productName} instances that
+are joining a cluster cannot rely on broadcast messages from GMS to
+discover the cluster. Instead, an instance that is joining a cluster
+uses a running instance or the DAS in the cluster to discover the
+cluster.
+
+Therefore, when multicast transport is unavailable, you must provide the
+locations of instances in the cluster to use for discovering the
+cluster. You are not required to provide the locations of all instances
+in the cluster. However, for an instance to discover the cluster, at
+least one instance whose location you provide must be running. To
+increase the probability of finding a running instance, provide the
+locations of several instances.
+
+If the DAS will be left running after the cluster is started, provide
+the location of the DAS first in the list of instances. When a cluster
+is started, the DAS is running before any of the instances in the
+cluster are started.
+
+The locations of the instances to use for discovering a cluster are part
+of the configuration data that you provide when creating the cluster.
+How to provide this data depends on how instances are distributed, as
+explained in the following subsections:
+
+* link:#CHDCGIFF[To Discover a Cluster When Multiple Instances in a
+Cluster are Running on a Host]
+* link:#CHDIGFCG[To Discover a Cluster When Each Instance in a Cluster
+Is Running on a Different Host]
+
+[[CHDCGIFF]][[GSHAG486]][[to-discover-a-cluster-when-multiple-instances-in-a-cluster-are-running-on-a-host]]
+
+===== To Discover a Cluster When Multiple Instances in a Cluster are Running on a Host
+
+If multiple instances in the same cluster are running on a host, you
+must provide a list of uniform resource indicators (URIs). Each URI must
+locate a {productName} instance or the DAS in the cluster.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Create a system property to represent the port number of the port on
+which the DAS listens for messages from GMS for the cluster.
++
+Use the link:reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`] subcommand for this
+purpose.
++
+[source]
+----
+asadmin> create-system-properties GMS_LISTENER_PORT-cluster-name=gms-port
+----
+cluster-name::
+  The name of the cluster to which the messages from GMS apply.
+gms-port::
+  The port number of the port on which the DAS listens for messages from
+  GMS.
+
+3. Restart the DAS.
+
+4. When creating the cluster, set the `GMS_DISCOVERY_URI_LIST` property
+to a comma-separated list of URIs that locate instances to use for
+discovering the cluster.
++
+[source]
+----
+asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=uri-list cluster-name
+----
+uri-list::
+  A comma-separated list of URIs that locate a {productName} instance
+  or the DAS in the cluster. +
+  The format of each URI in the list is as follows: +
+  scheme``://``host-name-or -IP-address``:``port
+
+  * scheme is the URI scheme, which is `tcp`.
+  * host-name-or -IP-address is the host name or IP address of the host
+  on which the instance is running.
+  * port is the port number of the port on which the instance will
+  listen for messages from GMS.
+cluster-name::
+  The name of the cluster that you are creating.
++
+[NOTE]
+====
+For complete instructions for creating a cluster, see link:#gkqdm[To Create a Cluster].
+====
+
+5. When you add each instance to the cluster, set the system property
+``GMS_LISTENER_PORT-``clustername for the instance.
+* To create the instance centrally, run the following command:
++
+[source]
+----
+asadmin> create-instance --node node-name
+--systemproperties GMS_LISTENER_PORT-cluster-name=gms-port --cluster  cluster-name instance-name
+----
+* To create the instance locally, run the following command:
++
+[source]
+----
+asadmin> create-local-instance
+--systemproperties GMS_LISTENER_PORT-cluster-name=gms-port --cluster  cluster-name instance-name
+----
+node-name::
+  The name of an existing {productName} node on which the instance is
+  to reside. For more information about nodes, see
+  link:nodes.html#gkrle[Administering {productName} Nodes].
+cluster-name::
+  The name of the cluster to which the you are adding the instance.
+gms-port::
+  The port number of the port on which the instance listens for messages
+  from GMS.
+instance-name::
+  The name of the instance that you are creating.
++
+[NOTE]
+====
+For full instructions for adding an instance to a cluster, see the
+following sections:
+
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+====
+
+
+[[GSHAG487]][[sthref19]]
+Example 4-3 Discovering a Cluster When Multiple Instances are Running on a Host
+
+This example creates a cluster that is named `tcpcluster` for which GMS
+is not using multicast for broadcasting messages.
+
+The cluster contains the instances `instance101` and `instance102`.
+These instances reside on the host whose IP address is `10.152.23.224`
+and listen for GMS events on ports 9091 and 9092. The DAS is also
+running on this host and listens for GMS events on port 9090.
+
+Instances that are joining the cluster will use the DAS and the
+instances `instance101` and `instance102` to discover the cluster.
+
+[source]
+----
+asadmin> create-system-properties GMS_LISTENER_PORT-tcpcluster=9090
+Command create-system-properties executed successfully.
+asadmin> restart-domain
+Successfully restarted the domain
+Command restart-domain executed successfully.
+asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=
+tcp'\\:'//10.152.23.224'\\:'9090,
+tcp'\\:'//10.152.23.224'\\:'9091,
+tcp'\\:'//10.152.23.224'\\:'9092 tcpcluster
+Command create-cluster executed successfully.
+asadmin> create-local-instance
+--systemproperties GMS_LISTENER_PORT-tcpcluster=9091 --cluster tcpcluster
+instance101
+Rendezvoused with DAS on localhost:4848.
+Port Assignments for server instance instance101:
+JMX_SYSTEM_CONNECTOR_PORT=28686
+JMS_PROVIDER_PORT=27676
+HTTP_LISTENER_PORT=28080
+ASADMIN_LISTENER_PORT=24848
+JAVA_DEBUGGER_PORT=29009
+IIOP_SSL_LISTENER_PORT=23820
+IIOP_LISTENER_PORT=23700
+OSGI_SHELL_TELNET_PORT=26666
+HTTP_SSL_LISTENER_PORT=28181
+IIOP_SSL_MUTUALAUTH_PORT=23920
+Command create-local-instance executed successfully.
+asadmin> create-local-instance
+--systemproperties GMS_LISTENER_PORT-tcpcluster=9092 --cluster tcpcluster
+instance102
+Rendezvoused with DAS on localhost:4848.
+Using DAS host localhost and port 4848 from existing das.properties for node
+localhost-domain1. To use a different DAS, create a new node using
+create-node-ssh or create-node-config. Create the instance with the new node and
+correct host and port:
+asadmin --host das_host --port das_port create-local-instance --node node_name
+instance_name.
+Port Assignments for server instance instance102:
+JMX_SYSTEM_CONNECTOR_PORT=28687
+JMS_PROVIDER_PORT=27677
+HTTP_LISTENER_PORT=28081
+ASADMIN_LISTENER_PORT=24849
+JAVA_DEBUGGER_PORT=29010
+IIOP_SSL_LISTENER_PORT=23821
+IIOP_LISTENER_PORT=23701
+OSGI_SHELL_TELNET_PORT=26667
+HTTP_SSL_LISTENER_PORT=28182
+IIOP_SSL_MUTUALAUTH_PORT=23921
+Command create-local-instance executed successfully.
+----
+
+[[GSHAG488]]
+
+See Also
+
+* link:reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`(1)]
+* link:#gkqdm[To Create a Cluster]
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+
+[[CHDIGFCG]][[GSHAG489]][[to-discover-a-cluster-when-each-instance-in-a-cluster-is-running-on-a-different-host]]
+
+===== To Discover a Cluster When Each Instance in a Cluster Is Running on a Different Host
+
+If all instances in a cluster and the DAS are running on different
+hosts, you can specify the locations of instances to use for discovering
+the cluster as follows:
+
+* By specifying a list of host names or Internet Protocol (IP)
+addresses. Each host name or IP address must locate a host on which the
+DAS or a {productName} instance in the cluster is running. Instances
+that are joining the cluster will use the DAS or the instances to
+discover the cluster.
+* By generating the list of locations automatically. The generated list
+contains the locations of the DAS and all instances in the cluster.
+
+Multiple instances on the same host cannot be members of the same
+cluster.
+
+1. Ensure that the DAS is running.
++
+Remote subcommands require a running server.
+2. When creating the cluster, set the properties of the cluster as
+follows:
+* Set the `GMS_DISCOVERY_URI_LIST` property to one of the following
+values:
+
+** A comma-separated list of IP addresses or host names on which the DAS
+or the instances to use for discovering the cluster are running.
++
+The list can contain a mixture of IP addresses and host names.
+
+** The keyword `generate`.
+* Set the `GMS_LISTENER_PORT` property to a port number that is unique
+for the cluster in the domain.
++
+If you are specifying a list of IP addresses or host names, type the
+following command:
++
+[source]
+----
+asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=host-list:
+GMS_LISTENER_PORT=gms-port cluster-name
+----
+If you are specifying the keyword `generate`, type the following
+command:
++
+[source]
+----
+asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=generate:
+GMS_LISTENER_PORT=gms-port cluster-name
+----
+host-list::
+  A comma-separated list of IP addresses or host names on which the DAS
+  or the instances to use for discovering the cluster are running.
+gms-port::
+  The port number of the port on which the cluster listens for messages
+  from GMS.
+cluster-name::
+  The name of the cluster that you are creating.
++
+
+[NOTE]
+====
+For complete instructions for creating a cluster, see link:#gkqdm[To Create a Cluster].
+====
+
+
+[[GSHAG490]][[sthref20]]
+Example 4-4 Discovering a Cluster by Specifying a List of IP Addresses
+
+This example creates a cluster that is named `ipcluster` for which GMS
+is not using multicast for broadcasting messages. The instances to use
+for discovering the cluster are located through a list of IP addresses.
+In this example, one instance in the cluster is running on each host and
+the DAS is running on a separate host. The cluster listens for messages
+from GMS on port 9090.
+
+[source]
+----
+asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=
+10.152.23.225,10.152.23.226,10.152.23.227,10.152.23.228:
+GMS_LISTENER_PORT=9090' ipcluster
+Command create-cluster executed successfully.
+----
+
+[[GSHAG491]][[sthref21]]
+Example 4-5 Discovering a Cluster by Generating a List of Locations of
+Instances
+
+This example creates a cluster that is named `gencluster` for which GMS
+is not using multicast for broadcasting messages. The list of locations
+of instances to use for discovering the cluster is generated
+automatically. In this example, one instance in the cluster is running
+on each host and the DAS is running on a separate host. The cluster
+listens for messages from GMS on port 9090.
+
+[source]
+----
+asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=generate:
+GMS_LISTENER_PORT=9090' gencluster
+Command create-cluster executed successfully.
+----
+
+[[GSHAG492]]
+
+Next Steps
+
+After creating the cluster, add instances to the cluster as explained in
+the following sections:
+
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+
+[[GSHAG493]]
+
+See Also
+
+* link:#gkqdm[To Create a Cluster]
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+
+[[gjdlw]][[GSHAG00266]][[using-the-multi-homing-feature-with-gms]]
+
+==== Using the Multi-Homing Feature With GMS
+
+Multi-homing enables {productName} clusters to be used in an
+environment that uses multiple Network Interface Cards (NICs). A
+multi-homed host has multiple network connections, of which the
+connections may or may not be the on same network. Multi-homing provides
+the following benefits:
+
+* Provides redundant network connections within the same subnet. Having
+multiple NICs ensures that one or more network connections are available
+for communication.
+* Supports communication across two or more different subnets. The DAS
+and all server instances in the same cluster must be on the same subnet
+for GMS communication, however.
+* Binds to a specific IPv4 address and receives GMS messages in a system
+that has multiple IP addresses configured. The responses for GMS
+messages received on a particular interface will also go out through
+that interface.
+* Supports separation of external and internal traffic.
+
+[[gjdoo]][[GSHAG00224]][[traffic-separation-using-multi-homing]]
+
+===== Traffic Separation Using Multi-Homing
+
+You can separate the internal traffic resulting from GMS from the
+external traffic. Traffic separation enables you plan a network better
+and augment certain parts of the network, as required.
+
+Consider a simple cluster, `c1`, with three instances, `i101`, `i102`,
+and `i103`. Each instance runs on a different machine. In order to
+separate the traffic, the multi-homed machine should have at least two
+IP addresses belonging to different networks. The first IP as the
+external IP and the second one as internal IP. The objective is to
+expose the external IP to user requests, so that all the traffic from
+the user requests would be through them. The internal IP is used only by
+the cluster instances for internal communication through GMS. The
+following procedure describes how to set up traffic separation.
+
+To configure multi-homed machines for GMS without traffic separation,
+skip the steps or commands that configure the `EXTERNAL-ADDR` system
+property, but perform the others.
+
+To avoid having to restart the DAS or cluster, perform the following
+steps in the specified order.
+
+To set up traffic separation, follow these steps:
+
+1. Create the system properties `EXTERNAL-ADDR` and
+`GMS-BIND-INTERFACE-ADDRESS-c1` for the DAS.
+* `asadmin create-system-properties` `target`
+`server EXTERNAL-ADDR=192.155.35.4`
+* `asadmin create-system-properties` `target`
+`server GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.20`
+2. Create the cluster with the default settings.
++
+Use the following command:
++
+[source]
+----
+asadmin create-cluster c1
+----
+A reference to a system property for GMS traffic is already set up by
+default in the `gms-bind-interface-address` cluster setting. The default
+value of this setting is ``${GMS-BIND-INTERFACE-ADDRESS-``cluster-name``}``.
+3. When creating the clustered instances, configure the external and
+GMS IP addresses.
++
+Use the following commands:
+* `asadmin create-instance` `node` `localhost` `cluster` `c1`
+`systemproperties`
+`EXTERNAL-ADDR=192.155.35.5:GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.30 i101`
+* `asadmin create-instance` `node` `localhost` `cluster` `c1`
+`systemproperties`
+`EXTERNAL-ADDR=192.155.35.6:GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.40 i102`
+* `asadmin create-instance` `node` `localhost` `cluster` `c1`
+`systemproperties`
+`EXTERNAL-ADDR=192.155.35.7:GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.50 i103`
+4. Set the address attribute of HTTP listeners to refer to the
+`EXTERNAL-ADDR` system properties.
++
+Use the following commands:
++
+[source]
+----
+asadmin set c1-config.network-config.network-listeners.network-listener.http-1.address=\${EXTERNAL-ADDR}
+asadmin set c1-config.network-config.network-listeners.network-listener.http-2.address=\${EXTERNAL-ADDR}
+----
+
+[[gkqdy]][[GSHAG00185]][[creating-listing-and-deleting-clusters]]
+
+=== Creating, Listing, and Deleting Clusters
+
+{productName} enables you to create clusters, obtain information
+about clusters, and delete clusters that are no longer required.
+
+The following topics are addressed here:
+
+* link:#gkqdm[To Create a Cluster]
+* link:#gkqdn[To List All Clusters in a Domain]
+* link:#gkqcp[To Delete a Cluster]
+
+[[gkqdm]][[GSHAG00103]][[to-create-a-cluster]]
+
+==== To Create a Cluster
+
+Use the `create-cluster` subcommand in remote mode to create a cluster.
+
+To ensure that the GMS can detect changes in cluster membership, a
+cluster's GMS settings must be configured correctly. To avoid the need
+to restart the DAS and the cluster, configure a cluster's GMS settings
+when you create the cluster. If you change GMS settings for an existing
+cluster, the DAS and the cluster must be restarted to apply the changes.
+
+When you create a cluster, {productName} automatically creates a
+Message Queue cluster for the {productName} cluster. For more
+information about Message Queue clusters, see link:jms.html#abdbx[Using
+Message Queue Broker Clusters With {productName}].
+
+[[GSHAG374]]
+
+Before You Begin
+
+If the cluster is to reference an existing named configuration, ensure
+that the configuration exists. For more information, see
+link:named-configurations.html#abdjr[To Create a Named Configuration]. If
+you are using a named configuration to preconfigure GMS settings, ensure
+that these settings have the required values in the named configuration.
+For more information, see link:#gkoac[To Preconfigure Nondefault GMS
+Configuration Settings].
+
+If you are configuring the cluster's GMS settings when you create the
+cluster, ensure that you have the following information:
+
+* The address on which GMS listens for group events
+* The port number of the communication port on which GMS listens for
+group events
+* The maximum number of iterations or transmissions that a multicast
+message for GMS events can experience before the message is discarded
+* The lowest port number in the range of ports from which GMS selects a
+TCP port on which to listen
+* The highest port number in the range of ports from which GMS selects a
+TCP port on which to listen
+
+If the DAS is running on a multihome host, ensure that you have the
+Internet Protocol (IP) address of the network interface on the DAS host
+to which GMS binds.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. [[gkrco]]
+Run the `create-cluster` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for configuring the
+cluster, see the link:reference-manual/create-cluster.html#GSRFM00017[`create-cluster`(1)] help page.
+====
+* If multicast transport is available, run the `create-cluster`
+subcommand as follows:
++
+[source]
+----
+asadmin> create-cluster --config configuration
+--multicastaddress multicast-address --multicastport multicast-port
+--properties GMS_MULTICAST_TIME_TO_LIVE=max-iterations:
+GMS_TCPSTARTPORT=start-port:GMS_TCPENDPORT=end-port cluster-name
+----
+* If multicast transport is not available, run the `create-cluster`
+subcommand as follows:
++
+[source]
+----
+asadmin> create-cluster --config configuration
+--properties GMS_DISCOVERY_URI_LIST=discovery-instances:
+GMS_LISTENER_PORT=gms-port
+cluster-name
+----
+
+configuration::
+  An existing named configuration that the cluster is to reference.
+multicast-address::
+  The address on which GMS listens for group events.
+multicast-port::
+  The port number of the communication port on which GMS listens for
+  group events.
+max-iterations::
+  The maximum number of iterations or transmissions that a multicast
+  message for GMS events can experience before the message is discarded.
+discovery-instances::
+  Instances to use for discovering the cluster. For more information,
+  see link:#CHDGAIBJ[Discovering a Cluster When Multicast Transport Is
+  Unavailable].
+gms-port::
+  The port number of the port on which the cluster listens for messages
+  from GMS.
+start-port::
+  The lowest port number in the range of ports from which GMS selects a
+  TCP port on which to listen. The default is 9090.
+end-port::
+  The highest port number in the range of ports from which GMS selects a
+  TCP port on which to listen. The default is 9200.
+cluster-name::
+  Your choice of name for the cluster that you are creating.
+3. If necessary, create a system property to represent the IP address
+of the network interface on the DAS host to which GMS binds.
++
+This step is necessary only if the DAS is running on a multihome host.
++
+[source]
+----
+asadmin> create-system-properties
+GMS-BIND-INTERFACE-ADDRESS-cluster-name=das-bind-address
+----
+cluster-name::
+  The name that you assigned to the cluster in Step link:#gkrco[2].
+das-bind-address::
+  The IP address of the network interface on the DAS host to which GMS
+  binds.
+
+[[GSHAG00034]][[gkqaz]]
+Example 4-6 Creating a Cluster for a Network in Which Multicast
+Transport Is Available
+
+This example creates a cluster that is named `ltscluster` for which port
+1169 is to be used for secure IIOP connections. Because the `--config`
+option is not specified, the cluster references a copy of the named
+configuration `default-config` that is named `ltscluster-config`. This
+example assumes that multicast transport is available.
+
+[source]
+----
+asadmin> create-cluster
+--systemproperties IIOP_SSL_LISTENER_PORT=1169
+ltscluster
+Command create-cluster executed successfully.
+----
+
+[[GSHAG00035]][[gkqiq]]
+Example 4-7 Creating a Cluster and Setting GMS Options for a Network in
+Which Multicast Transport Is Available
+
+This example creates a cluster that is named `pmdcluster`, which
+references the existing configuration `clusterpresets` and for which the
+cluster's GMS settings are configured as follows:
+
+* GMS listens for group events on address 228.9.3.1 and port 2048.
+* A multicast message for GMS events is discarded after 3 iterations or
+transmissions.
+* GMS selects a TCP port on which to listen from ports in the range
+10000-10100.
+
+This example assumes that multicast transport is available.
+
+[source]
+----
+asadmin> create-cluster --config clusterpresets
+--multicastaddress 228.9.3.1 --multicastport 2048
+--properties GMS_MULTICAST_TIME_TO_LIVE=3:
+GMS_TCPSTARTPORT=10000:GMS_TCPENDPORT=10100 pmdcluster
+Command create-cluster executed successfully.
+----
+
+[[GSHAG375]]
+
+Next Steps
+
+After creating a cluster, you can add {productName} instances to the
+cluster as explained in the following sections:
+
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+
+[[GSHAG376]]
+
+See Also
+
+* link:named-configurations.html#abdjr[To Create a Named Configuration]
+* link:#gkoac[To Preconfigure Nondefault GMS Configuration Settings]
+* link:jms.html#abdbx[Using Message Queue Broker Clusters With {productName}]
+* link:reference-manual/create-cluster.html#GSRFM00017[`create-cluster`(1)]
+* link:reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help create-cluster`
+* `asadmin help create-system-properties`
+
+[[gkqdn]][[GSHAG00104]][[to-list-all-clusters-in-a-domain]]
+
+==== To List All Clusters in a Domain
+
+Use the `list-clusters` subcommand in remote mode to obtain information
+about existing clusters in a domain.
+
+1. Ensure that the DAS is running.
++
+Remote subcommands require a running server.
+2. Run the link:reference-manual/list-clusters.html#GSRFM00153[`list-clusters`] subcommand.
++
+[source]
+----
+asadmin> list-clusters
+----
+
+[[GSHAG00036]][[gksfc]]
+Example 4-8 Listing All Clusters in a Domain
+
+This example lists all clusters in the current domain.
+
+[source]
+----
+asadmin> list-clusters
+pmdclust not running
+ymlclust not running
+Command list-clusters executed successfully.
+----
+
+[[GSHAG00037]][[gkhsp]]
+Example 4-9 Listing All Clusters That Are Associated With a Node
+
+This example lists the clusters that contain an instance that resides on
+the node `sj01`.
+
+[source]
+----
+asadmin> list-clusters sj01
+ymlclust not running
+Command list-clusters executed successfully.
+----
+
+[[GSHAG377]]
+
+See Also
+
+link:reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-clusters` at the command line.
+
+[[gkqcp]][[GSHAG00105]][[to-delete-a-cluster]]
+
+==== To Delete a Cluster
+
+Use the `delete-cluster` subcommand in remote mode to remove a cluster
+from the DAS configuration.
+
+If the cluster's named configuration was created automatically for the
+cluster and no other clusters or unclustered instances refer to the
+configuration, the configuration is deleted when the cluster is deleted.
+
+[[GSHAG378]]
+
+Before You Begin
+
+Ensure that following prerequisites are met:
+
+* The cluster that you are deleting is stopped. For information about
+how to stop a cluster, see link:instances.html#gkqcl[To Stop a Cluster].
+* The cluster that you are deleting contains no {productName}
+instances. For information about how to remove instances from a cluster,
+see the following sections:
+
+** link:instances.html#gkqcw[To Delete an Instance Centrally]
+
+** link:instances.html#gkqed[To Delete an Instance Locally]
+
+1. Ensure that the DAS is running.
++
+Remote subcommands require a running server.
+2. Confirm that the cluster is stopped.
++
+[source]
+----
+asadmin> list-clusters cluster-name
+----
+cluster-name::
+  The name of the cluster that you are deleting.
+3. Confirm that the cluster contains no instances.
++
+[source]
+----
+asadmin> list-instances cluster-name
+----
+cluster-name::
+  The name of the cluster that you are deleting.
+4. Run the link:reference-manual/delete-cluster.html#GSRFM00068[`delete-cluster`] subcommand.
++
+[source]
+----
+asadmin> delete-cluster cluster-name
+----
+cluster-name::
+  The name of the cluster that you are deleting.
+
+[[GSHAG00038]][[gkqkr]]
+Example 4-10 Deleting a Cluster
+
+This example confirms that the cluster `adccluster` is stopped and
+contains no instances and deletes the cluster `adccluster`.
+
+[source]
+----
+asadmin> list-clusters adccluster
+adccluster not running
+Command list-clusters executed successfully.
+asadmin> list-instances adccluster
+Nothing to list.
+Command list-instances executed successfully.
+asadmin> delete-cluster adccluster
+Command delete-cluster executed successfully.
+----
+
+[[GSHAG379]]
+
+See Also
+
+* link:instances.html#gkqcl[To Stop a Cluster]
+* link:instances.html#gkqcw[To Delete an Instance Centrally]
+* link:instances.html#gkqed[To Delete an Instance Locally]
+* link:reference-manual/delete-cluster.html#GSRFM00068[`delete-cluster`(1)]
+* link:reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
+* link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help delete-cluster`
+* `asadmin help list-clusters`
+* `asadmin help list-instances`
diff --git a/docs/ha-administration-guide/src/main/asciidoc/http-load-balancing.adoc b/docs/ha-administration-guide/src/main/asciidoc/http-load-balancing.adoc
new file mode 100644
index 0000000..ff67c3c
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/http-load-balancing.adoc
@@ -0,0 +1,314 @@
+type=page
+status=published
+title=Configuring HTTP Load Balancing
+next=rolling-upgrade.html
+prev=named-configurations.html
+~~~~~~
+
+= Configuring HTTP Load Balancing
+
+[[GSHAG00009]][[abdgs]]
+
+
+[[configuring-http-load-balancing]]
+== 7 Configuring HTTP Load Balancing
+
+This chapter describes how to configure HTTP load balancing on {productName} 7.
+
+The following topics are addressed here:
+
+* link:#abdgx[Setting Up HTTP Load Balancing]
+
+For information on other types of load balancing, see
+link:jms.html#abdbk[Configuring Java Message Service High Availability]
+and link:rmi-iiop.html#fxxqs[RMI-IIOP Load Balancing and Failover].
+
+[[abdgx]][[GSHAG00202]][[setting-up-http-load-balancing]]
+
+=== Setting Up HTTP Load Balancing
+
+This section describes how to set up load balancing for {productName}.
+
+The following topics are addressed here:
+
+* link:#abdgy[Prerequisites for Setting Up HTTP Load Balancing]
+* link:#gksdt[Configuring {productName} with Apache HTTP Server and `mod_jk`]
+* link:#CHDCCGDC[Configuring {productName} with Apache HTTP Server and `mod_proxy_ajp`]
+* link:#abdgz[HTTP Load Balancer Deployments]
+
+[[abdgy]][[GSHAG00281]][[prerequisites-for-setting-up-http-load-balancing]]
+
+==== Prerequisites for Setting Up HTTP Load Balancing
+
+Before configuring your load balancer, you must:
+
+* Install a supported web server and configure it. If using the `mod_jk`
+or `mod_proxy_ajp` modules, the only supported web server is Apache HTTP Server 2.2.x.
+
+* Configure the `mod_jk` connector module, as described in
+link:#gksdt[Configuring {productName} with Apache HTTP Server and `mod_jk`],
+or configure the `mod_proxy_ajp` connector module, as
+described in link:#CHDCCGDC[Configuring {productName} with Apache
+HTTP Server and `mod_proxy_ajp`].
+
+* Create {productName} clusters or server instances to participate in load balancing.
+
+* Deploy applications to these clusters or instances.
+
+[[gksdt]][[GSHAG00282]][[configuring-glassfish-server-with-apache-http-server-and-mod_jk]]
+
+==== Configuring {productName} with Apache HTTP Server and `mod_jk`
+
+{productName} 7 can be configured for load balancing with Apache
+HTTP Server as a front end by enabling the Apache `mod_jk` connector
+module. To enable the `mod_jk` module in {productName}, set the
+{productName} `jk-enabled` `network-listener` attribute. You can also
+create `jk-connectors` under different virtual-servers using the
+`jk-enabled` `network-listener` attribute.
+
+[[gksde]][[GSHAG00143]][[to-configure-the-mod_jk-connector-module]]
+
+===== To Configure the `mod_jk` Connector Module
+
+1. Install http://httpd.apache.org/docs/2.2/install.html[Apache HTTP Server]
+(`http://httpd.apache.org/docs/2.2/install.html`) and
+http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html[mod_jk]
+(`http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html`).
+
+2. Configure `workers.properties` and `httpd.conf`. For example:
+
+* `apache2/config/workers.properties`
++
+[source]
+----
+# Define 1 real worker using ajp13
+worker.list=worker1
+# Set properties for worker1 (ajp13)
+worker.worker1.type=ajp13
+worker.worker1.host=localhost
+worker.worker1.port=8009
+----
+
+* `apache2/conf/httpd.conf`
++
+[source]
+----
+LoadModule jk_module /Users/Amy/apache2/modules/mod_jk-1.2.25-httpd-2.2.4.so
+JkWorkersFile /Users/Amy/apache2/conf/worker.properties
+# Where to put jk logs
+JkLogFile /Users/Amy/apache2/logs/mod_jk.log
+# Set the jk log level [debug/error/info]
+JkLogLevel debug
+# Select the log format
+JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+# JkOptions indicate to send SSL KEY SIZE,
+JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
+# JkRequestLogFormat set the request format
+JkRequestLogFormat "%w %V %T"
+# Send everything for context /examples to worker named worker1 (ajp13)
+JkMount /examples/* worker1
+----
+3. Start Apache HTTP Server.
+
+4. Create a jk-enabled network listener by using the
+link:reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand.
++
+[source]
+----
+asadmin> create-network-listener --protocol http-listener-1 \
+--listenerport 8009 --jkenabled true jk-connector
+----
+
+5. If you are using the `glassfish-jk.properties` file, set the
+`jk-configuration-file` property of the network listener to the
+fully-qualified file name of the `glassfish-jk.properties` file.
++
+[source]
+----
+asadmin> set server-config.network-config.network-listeners.network-listener.\
+jk-connector.jk-configuration-file=domain-dir/config/glassfish-jk.properties
+----
+
+6. If you expect to need more than five threads for the listener,
+increase the maximum threads in the `http-thread-pool` pool:
++
+[source]
+----
+asadmin> set configs.config.server-config.thread-pools.thread-pool.\
+http-thread-pool.max-thread-pool-size=value
+----
+
+7. Restart {productName}.
+
+[[GSHAG00065]][[gktpu]]
+Example 7-1 `httpd.conf` File for Load Balancing
+
+This example shows an `httpd.conf` file that is set for load balancing.
+
+[source]
+----
+LoadModule jk_module /usr/lib/httpd/modules/mod_jk.so
+JkWorkersFile /etc/httpd/conf/worker.properties
+# Where to put jk logs
+JkLogFile /var/log/httpd/mod_jk.log
+# Set the jk log level [debug/error/info]
+JkLogLevel debug
+# Select the log format
+JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+# JkOptions indicate to send SSL KEY SIZE,
+JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
+# JkRequestLogFormat set the request format
+JkRequestLogFormat "%w %V %T"
+# Send all jsp requests to GlassFish
+JkMount /*.jsp worker1
+# Send all glassfish-test requests to GlassFish
+JkMount /glassfish-test/* loadbalancer
+----
+
+[[GSHAG00066]][[gktpe]]
+Example 7-2 `workers.properties` File for Load Balancing
+
+This example shows a `workers.properties` or `glassfish-jk.properties`
+file that is set for load balancing. The `worker.worker*.port` should
+match with JK ports you created.
+
+[source]
+----
+worker.list=worker1,worker2,loadbalancer
+worker.worker1.type=ajp13
+worker.worker1.host=localhost
+worker.worker1.port=8009
+worker.worker1.lbfactor=1
+worker.worker1.socket_keepalive=1
+worker.worker1.socket_timeout=300
+worker.worker2.type=ajp13
+worker.worker2.host=localhost
+worker.worker2.port=8010
+worker.worker2.lbfactor=1
+worker.worker2.socket_keepalive=1
+worker.worker2.socket_timeout=300
+worker.loadbalancer.type=lb
+worker.loadbalancer.balance_workers=worker1,worker2
+----
+
+[[CHDCCGDC]][[GSHAG494]][[configuring-glassfish-server-with-apache-http-server-and-mod_proxy_ajp]]
+
+==== Configuring {productName} with Apache HTTP Server and `mod_proxy_ajp`
+
+{productName} 7 can be configured for load balancing with Apache
+HTTP Server as a front end by enabling the Apache `mod_proxy_ajp`
+connector module. To enable the `mod_proxy_ajp` module in {productName}, set the {productName} `jk-enabled` `network-listener`
+attribute. You can also create `jk-connectors` under different
+virtual-servers using the `jk-enabled` `network-listener` attribute.
+
+[[GSHAG495]][[sthref22]]
+
+
+[[to-configure-the-mod_proxy_ajp-connector-module]]
+===== To Configure the `mod_proxy_ajp` Connector Module
+
+1. Install http://httpd.apache.org/docs/2.2/install.html[Apache HTTP Server]
+(`http://httpd.apache.org/docs/2.2/install.html`).
+
+2. Configure `httpd.conf`. For example:
++
+[source]
+----
+LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
+LoadModule proxy_ajp_module /usr/lib/httpd/modules/mod_proxy_ajp.so
+
+Listen 1979
+NameVirtualHost *:1979
+<VirtualHost *:1979>
+   ServerName localhost
+   ErrorLog /var/log/apache2/ajp.error.log
+   CustomLog /var/log/apache2/ajp.log combined
+
+   <Proxy *>
+     AddDefaultCharset Off
+     Order deny,allow
+     Allow from all
+   </Proxy>
+
+   ProxyPass / ajp://localhost:8009/
+   ProxyPassReverse / ajp://localhost:8009/
+</VirtualHost>
+----
+
+3. Start Apache HTTP Server.
+
+4. Create a jk-enabled network listener by using the `create-network-listener` subcommand.
++
+[source]
+----
+asadmin> create-network-listener --protocol http-listener-1 \
+--listenerport 8009 --jkenabled true jk-connector
+----
+
+5. If you expect to need more than five threads for the listener,
+increase the maximum threads in the `http-thread-pool` pool:
++
+[source]
+----
+asadmin> set configs.config.server-config.thread-pools.thread-pool.\
+http-thread-pool.max-thread-pool-size=value
+----
+
+6. Restart {productName}.
+
+[[abdgz]][[GSHAG00284]][[http-load-balancer-deployments]]
+
+==== HTTP Load Balancer Deployments
+
+You can configure your load balancer in different ways, depending on
+your goals and environment, as described in the following sections:
+
+* link:#abdha[Using Clustered Server Instances]
+* link:#abdhc[Using Multiple Standalone Instances]
+
+[[abdha]][[GSHAG00232]][[using-clustered-server-instances]]
+
+===== Using Clustered Server Instances
+
+The most common way to deploy the load balancer is with a cluster or
+clusters of server instances. By default all the instances in a cluster
+have the same configuration and the same applications deployed to them.
+The load balancer distributes the workload between the server instances
+and requests fail over from an unhealthy instance to a healthy one. If
+you've configured HTTP session persistence, session information persists
+when the request is failed over.
+
+If you have multiple clusters, requests can be load balanced across
+clusters but are only failed over between the instances in a single
+cluster. Use multiple clusters in a load balancer to easily enable
+rolling upgrades of applications. For more information, see
+link:rolling-upgrade.html#abdik[Upgrading Applications Without Loss of Availability].
+
+
+[NOTE]
+====
+Requests cannot be load balanced across clusters and standalone instances.
+====
+
+
+[[abdhc]][[GSHAG00233]][[using-multiple-standalone-instances]]
+
+===== Using Multiple Standalone Instances
+
+It is also possible to configure your load balancer to use multiple
+standalone instances, and load balance and failover requests between
+them. However, in this configuration, you must manually ensure that the
+standalone instances have homogenous environments and the same
+applications deployed to them. Because clusters automatically maintain a
+homogenous environment, for most situations it is better and easier to
+use clusters.
+
+
+[TIP]
+====
+Load balancing across multiple standalone instances only provides
+failover for requests, and any associated HTTP session data will not be
+failed over. This is another reason why using a cluster, which can
+provide session failover, is a more desirable load balancing
+configuration.
+====
diff --git a/docs/ha-administration-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/ha-administration-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/ha-administration-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/ha-administration-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/ha-administration-guide/src/main/asciidoc/instances.adoc b/docs/ha-administration-guide/src/main/asciidoc/instances.adoc
new file mode 100644
index 0000000..425f58e
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/instances.adoc
@@ -0,0 +1,2053 @@
+type=page
+status=published
+title=Administering {productName} Instances
+next=named-configurations.html
+prev=clusters.html
+~~~~~~
+
+= Administering {productName} Instances
+
+[[GSHAG00006]][[gkrbv]]
+
+[[administering-glassfish-server-instances]]
+== 5 Administering {productName} Instances
+
+A {productName} instance is a single Virtual Machine for the Java
+platform (Java Virtual Machine or JVM machine) on a single node in which
+{productName} is running. A node defines the host where the {productName} instance resides. The JVM machine must be compatible with the
+Java Platform, Enterprise Edition (Jakarta EE).
+
+{productName} instances form the basis of an application deployment.
+An instance is a building block in the clustering, load balancing, and
+session persistence features of {productName}. Each instance belongs
+to a single domain and has its own directory structure, configuration,
+and deployed applications. Every instance contains a reference to a node
+that defines the host where the instance resides.
+
+The following topics are addressed here:
+
+* link:#gkrbn[Types of {productName} Instances]
+* link:#gkqal[Administering {productName} Instances Centrally]
+* link:#gkqdw[Administering {productName} Instances Locally]
+* link:#gkrdd[Resynchronizing {productName} Instances and the DAS]
+* link:#gkqcr[Migrating EJB Timers]
+
+[[gkrbn]][[GSHAG00186]][[types-of-glassfish-server-instances]]
+
+=== Types of {productName} Instances
+
+Each {productName} instance is one of the following types of
+instance:
+
+Standalone instance::
+  A standalone instance does not share its configuration with any other
+  instances or clusters. A standalone instance is created if either of
+  the following conditions is met:
++
+--
+  * No configuration or cluster is specified in the command to create   the instance.
+  * A configuration that is not referenced by any other instances or
+    clusters is specified in the command to create the instance.
+--
+  When no configuration or cluster is specified, a copy of the
+  `default-config` configuration is created for the instance. The name
+  of this configuration is instance-name`-config`, where instance-name
+  represents the name of an unclustered server instance.
+Shared instance::
+  A shared instance shares its configuration with other instances or
+  clusters. A shared instance is created if a configuration that is
+  referenced by other instances or clusters is specified in the command
+  to create the instance.
+Clustered instance::
+  A clustered instance inherits its configuration from the cluster to
+  which the instance belongs and shares its configuration with other
+  instances in the cluster. A clustered instance is created if a cluster
+  is specified in the command to create the instance. +
+  Any instance that is not part of a cluster is considered an
+  unclustered server instance. Therefore, standalone instances and
+  shared instances are unclustered server instances.
+
+[[gkqal]][[GSHAG00187]][[administering-glassfish-server-instances-centrally]]
+
+=== Administering {productName} Instances Centrally
+
+Centralized administration requires the Distributed Component Object
+Model (DCOM) remote protocol or secure shell (SSH) to be set up. If DCOM
+or SSH is set up, you can administer clustered instances without the
+need to log in to hosts where remote instances reside. For information
+about setting up DCOM and SSH, see link:ssh-setup.html#gkshg[Enabling
+Centralized Administration of {productName} Instances].
+
+Administering {productName} instances centrally involves the
+following tasks:
+
+* link:#gkqch[To Create an Instance Centrally]
+* link:#gkrcb[To List All Instances in a Domain]
+* link:#gkqcw[To Delete an Instance Centrally]
+* link:#gkqcj[To Start a Cluster]
+* link:#gkqcl[To Stop a Cluster]
+* link:#gkqaw[To Start an Individual Instance Centrally]
+* link:#gkqaj[To Stop an Individual Instance Centrally]
+* link:#gkqcc[To Restart an Individual Instance Centrally]
+
+[[gkqch]][[GSHAG00106]][[to-create-an-instance-centrally]]
+
+==== To Create an Instance Centrally
+
+Use the `create-instance` subcommand in remote mode to create a
+{productName} instance centrally. Creating an instance adds the
+instance to the DAS configuration and creates the instance's files on
+the host where the instance resides.
+
+If the instance is a clustered instance that is managed by GMS, system
+properties for the instance that relate to GMS must be configured
+correctly. To avoid the need to restart the DAS and the instance,
+configure an instance's system properties that relate to GMS when you
+create the instance. If you change GMS-related system properties for an
+existing instance, the DAS and the instance must be restarted to apply
+the changes. For information about GMS, see
+link:clusters.html#gjfnl[Group Management Service].
+
+[[GSHAG380]]
+
+Before You Begin
+
+Ensure that following prerequisites are met:
+
+* The node where the instance is to reside exists.
+* The node where the instance is to reside is either enabled for remote
+communication or represents the host on which the DAS is running. For
+information about how to create a node that is enabled for remote
+communication, see the following sections:
+
+** link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
+** link:nodes.html#gkrnf[To Create an `SSH` Node]
+
+* The user of the DAS can use DCOM or SSH to log in to the host for the
+node where the instance is to reside.
+
+If any of these prerequisites is not met, create the instance locally as
+explained in link:#gkqbl[To Create an Instance Locally].
+
+If you are adding the instance to a cluster, ensure that the cluster to
+which you are adding the instance exists. For information about how to
+create a cluster, see link:clusters.html#gkqdm[To Create a Cluster].
+
+If the instance is to reference an existing named configuration, ensure
+that the configuration exists. For more information, see
+link:named-configurations.html#abdjr[To Create a Named Configuration].
+
+The instance might be a clustered instance that is managed by GMS and
+resides on a node that represents a multihome host. In this situation,
+ensure that you have the Internet Protocol (IP) address of the network
+interface to which GMS binds.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the `create-instance` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for configuring the
+instance, see the link:reference-manual/create-instance.html#GSRFM00033[`create-instance`(1)] help page.
+====
+* If you are creating a standalone instance, do not specify a cluster.
++
+If the instance is to reference an existing configuration, specify a
+configuration that no other cluster or instance references.
++
+[source]
+----
+asadmin> create-instance --node node-name
+[--config configuration-name]instance-name
+----
+node-name::
+  The node on which the instance is to reside.
+configuration-name::
+  The name of the existing named configuration that the instance will reference. +
+  If you do not require the instance to reference an existing
+  configuration, omit this option. A copy of the `default-config`
+  configuration is created for the instance. The name of this
+  configuration is instance-name`-config`, where instance-name is the
+  name of the server instance.
+instance-name::
+  Your choice of name for the instance that you are creating. +
+  If you are creating a shared instance, specify the configuration that
+  the instance will share with other clusters or instances. +
+  Do not specify a cluster.
++
+[source]
+----
+asadmin> create-instance --node node-name
+--config configuration-name instance-name
+----
+node-name::
+  The node on which the instance is to reside.
+configuration-name::
+  The name of the existing named configuration that the instance will
+  reference.
+instance-name::
+  Your choice of name for the instance that you are creating.
+* If you are creating a clustered instance, specify the cluster to which
+  the instance will belong. +
+  If the instance is managed by GMS and resides on a node that represents
+  a multihome host, specify the `GMS-BIND-INTERFACE-ADDRESS-`cluster-name
+  system property.
++
+[source]
+----
+asadmin> create-instance --cluster cluster-name --node node-name
+[--systemproperties GMS-BIND-INTERFACE-ADDRESS-cluster-name=bind-address]instance-name
+----
+cluster-name::
+  The name of the cluster to which you are adding the instance.
+node-name::
+  The node on which the instance is to reside.
+bind-address::
+  The IP address of the network interface to which GMS binds. Specify
+  this option only if the instance is managed by GMS and resides on a
+  node that represents a multihome host.
+instance-name::
+  Your choice of name for the instance that you are creating.
+
+[[GSHAG00039]][[gkqmv]]
+Example 5-1 Creating a Clustered Instance Centrally
+
+This example adds the instance `pmd-i1` to the cluster `pmdclust` in the
+domain `domain1`. The instance resides on the node `sj01`, which
+represents the host `sj01.example.com`.
+
+[source]
+----
+asadmin> create-instance --cluster pmdclust --node sj01 pmd-i1
+Port Assignments for server instance pmd-i1:
+JMX_SYSTEM_CONNECTOR_PORT=28686
+JMS_PROVIDER_PORT=27676
+HTTP_LISTENER_PORT=28080
+ASADMIN_LISTENER_PORT=24848
+IIOP_SSL_LISTENER_PORT=23820
+IIOP_LISTENER_PORT=23700
+HTTP_SSL_LISTENER_PORT=28181
+IIOP_SSL_MUTUALAUTH_PORT=23920
+The instance, pmd-i1, was created on host sj01.example.com
+Command create-instance executed successfully.
+----
+
+[[GSHAG381]]
+
+See Also
+
+* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
+* link:nodes.html#gkrnf[To Create an `SSH` Node]
+* link:#gkqbl[To Create an Instance Locally]
+* link:reference-manual/create-instance.html#GSRFM00033[`create-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-instance` at the command line.
+
+[[GSHAG382]]
+
+Next Steps
+
+After creating an instance, you can start the instance as explained in
+the following sections:
+
+* link:#gkqaw[To Start an Individual Instance Centrally]
+* link:#gkqci[To Stop an Individual Instance Locally]
+
+[[gkrcb]][[GSHAG00107]][[to-list-all-instances-in-a-domain]]
+
+==== To List All Instances in a Domain
+
+Use the `list-instances` subcommand in remote mode to obtain information
+about existing instances in a domain.
+
+1. Ensure that the DAS is running.
++
+Remote subcommands require a running server.
+2. Run the link:reference-manual/list-instances.html#GSRFM00170[`list-instances`] subcommand.
++
+[source]
+----
+asadmin> list-instances
+----
+
+[[GSHAG00040]][[gksfe]]
+Example 5-2 Listing Basic Information About All {productName}
+Instances in a Domain
+
+This example lists the name and status of all {productName} instances
+in the current domain.
+
+[source]
+----
+asadmin> list-instances
+pmd-i2 running
+yml-i2 running
+pmd-i1 running
+yml-i1 running
+pmdsa1 not running
+Command list-instances executed successfully.
+----
+
+[[GSHAG00041]][[gkabz]]
+Example 5-3 Listing Detailed Information About All {productName}
+Instances in a Domain
+
+This example lists detailed information about all {productName}
+instances in the current domain.
+
+[source]
+----
+asadmin> list-instances --long=true
+NAME    HOST              PORT   PID    CLUSTER     STATE
+pmd-i1  sj01.example.com  24848  31310  pmdcluster   running
+yml-i1  sj01.example.com  24849  25355  ymlcluster   running
+pmdsa1  localhost         24848  -1     ---          not running
+pmd-i2  sj02.example.com  24848  22498  pmdcluster   running
+yml-i2  sj02.example.com  24849  20476  ymlcluster   running
+ymlsa1  localhost         24849  -1     ---          not running
+Command list-instances executed successfully.
+----
+
+[[GSHAG383]]
+
+See Also
+
+link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-instances` at the command line.
+
+[[gkqcw]][[GSHAG00108]][[to-delete-an-instance-centrally]]
+
+==== To Delete an Instance Centrally
+
+Use the `delete-instance` subcommand in remote mode to delete a
+{productName} instance centrally.
+
+
+[CAUTION]
+====
+If you are using a Java Message Service (JMS) cluster with a master
+broker, do not delete the instance that is associated with the master
+broker. If this instance must be deleted, use the
+link:reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`] subcommand to assign the master
+broker to a different instance.
+====
+
+
+Deleting an instance involves the following:
+
+* Removing the instance from the configuration of the DAS
+* Deleting the instance's files from file system
+
+[[GSHAG384]]
+
+Before You Begin
+
+Ensure that the instance that you are deleting is not running. For
+information about how to stop an instance, see the following sections:
+
+* link:#gkqaj[To Stop an Individual Instance Centrally]
+* link:#gkqci[To Stop an Individual Instance Locally]
+
+1. Ensure that the DAS is running.
++
+Remote subcommands require a running server.
+2. Confirm that the instance is not running.
++
+[source]
+----
+asadmin> list-instances instance-name
+----
+instance-name::
+  The name of the instance that you are deleting.
+3. Run the link:reference-manual/delete-instance.html#GSRFM00085[`delete-instance`] subcommand.
++
+[source]
+----
+asadmin> delete-instance instance-name
+----
+instance-name::
+  The name of the instance that you are deleting.
+
+[[GSHAG00042]][[gkqms]]
+Example 5-4 Deleting an Instance Centrally
+
+This example confirms that the instance `pmd-i1` is not running and
+deletes the instance.
+
+[source]
+----
+asadmin> list-instances pmd-i1
+pmd-i1   not running
+Command list-instances executed successfully.
+asadmin> delete-instance pmd-i1
+Command _delete-instance-filesystem executed successfully.
+The instance, pmd-i1, was deleted from host sj01.example.com
+Command delete-instance executed successfully.
+----
+
+[[GSHAG385]]
+
+See Also
+
+* link:#gkqaj[To Stop an Individual Instance Centrally]
+* link:#gkqci[To Stop an Individual Instance Locally]
+* link:reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`(1)]
+* link:reference-manual/delete-instance.html#GSRFM00085[`delete-instance`(1)]
+* link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help delete-instance`
+* `asadmin help list-instances`
+
+[[gkqcj]][[GSHAG00109]][[to-start-a-cluster]]
+
+==== To Start a Cluster
+
+Use the `start-cluster` subcommand in remote mode to start a cluster.
+
+Starting a cluster starts all instances in the cluster that are not
+already running.
+
+[[GSHAG386]]
+
+Before You Begin
+
+Ensure that following prerequisites are met:
+
+* Each node where an instance in the cluster resides is either enabled
+for remote communication or represents the host on which the DAS is
+running.
+* The user of the DAS can use DCOM or SSH to log in to the host for any
+node where instances in the cluster reside.
+
+If any of these prerequisites is not met, start the cluster by starting
+each instance locally as explained in link:#gkqak[To Start an Individual
+Instance Locally].
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the link:reference-manual/start-cluster.html#GSRFM00233[`start-cluster`] subcommand.
++
+[source]
+----
+asadmin> start-cluster cluster-name
+----
+cluster-name::
+  The name of the cluster that you are starting.
+
+[[GSHAG00043]][[gkqml]]
+Example 5-5 Starting a Cluster
+
+This example starts the cluster `pmdcluster`.
+
+[source]
+----
+asadmin> start-cluster pmdcluster
+Command start-cluster executed successfully.
+----
+
+[[GSHAG387]]
+
+See Also
+
+* link:#gkqak[To Start an Individual Instance Locally]
+* link:reference-manual/start-cluster.html#GSRFM00233[`start-cluster`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help start-cluster` at the command line.
+
+[[GSHAG388]]
+
+Next Steps
+
+After starting a cluster, you can deploy applications to the cluster.
+For more information, see link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+[[gkqcl]][[GSHAG00110]][[to-stop-a-cluster]]
+
+==== To Stop a Cluster
+
+Use the `stop-cluster` subcommand in remote mode to stop a cluster.
+
+Stopping a cluster stops all running instances in the cluster.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the link:reference-manual/stop-cluster.html#GSRFM00238[`stop-cluster`] subcommand.
++
+[source]
+----
+asadmin> stop-cluster cluster-name
+----
+cluster-name::
+  The name of the cluster that you are stopping.
+
+[[GSHAG00044]][[gkqmn]]
+Example 5-6 Stopping a Cluster
+
+This example stops the cluster `pmdcluster`.
+
+[source]
+----
+asadmin> stop-cluster pmdcluster
+Command stop-cluster executed successfully.
+----
+
+[[GSHAG389]]
+
+See Also
+
+link:reference-manual/stop-cluster.html#GSRFM00238[`stop-cluster`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help stop-cluster` at the command line.
+
+[[GSHAG390]]
+
+Troubleshooting
+
+If instances in the cluster have become unresponsive and fail to stop,
+run the subcommand again with the `--kill` option set to `true`. When
+this option is `true`, the subcommand uses functionality of the
+operating system to kill the process for each running instance in the
+cluster.
+
+[[gkqaw]][[GSHAG00111]][[to-start-an-individual-instance-centrally]]
+
+==== To Start an Individual Instance Centrally
+
+Use the `start-instance` subcommand in remote mode to start an
+individual instance centrally.
+
+[[GSHAG391]]
+
+Before You Begin
+
+Ensure that following prerequisites are met:
+
+* The node where the instance resides is either enabled for remote
+communication or represents the host on which the DAS is running.
+* The user of the DAS can use DCOM or SSH to log in to the host for the
+node where the instance resides.
+
+If any of these prerequisites is not met, start the instance locally as
+explained in link:#gkqak[To Start an Individual Instance Locally].
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the `start-instance` subcommand.
++
+[source]
+----
+asadmin> start-instance instance-name
+----
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for controlling the
+behavior of the instance, see the link:reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
+help page.
+====
+
+instance-name::
+  The name of the instance that you are starting.
+
+[[GSHAG00045]][[gkqoa]]
+Example 5-7 Starting an Individual Instance Centrally
+
+This example starts the instance `pmd-i2`, which resides on the node
+`sj02`. This node represents the host `sj02.example.com`. The
+configuration of the instance on this node already matched the
+configuration of the instance in the DAS when the instance was started.
+
+[source]
+----
+asadmin> start-instance pmd-i2
+CLI801 Instance is already synchronized
+Waiting for pmd-i2 to start ............
+Successfully started the instance: pmd-i2
+instance Location: /export/glassfish7/glassfish/nodes/sj02/pmd-i2
+Log File: /export/glassfish7/glassfish/nodes/sj02/pmd-i2/logs/server.log
+Admin Port: 24851
+Command start-local-instance executed successfully.
+The instance, pmd-i2, was started on host sj02.example.com
+Command start-instance executed successfully.
+----
+
+[[GSHAG392]]
+
+See Also
+
+link:reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help start-instance` at the command line.
+
+[[GSHAG393]]
+
+Next Steps
+
+After starting an instance, you can deploy applications to the instance.
+For more information, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+[[gkqaj]][[GSHAG00112]][[to-stop-an-individual-instance-centrally]]
+
+==== To Stop an Individual Instance Centrally
+
+Use the `stop-instance` subcommand in remote mode to stop an individual
+instance centrally.
+
+When an instance is stopped, the instance stops accepting new requests
+and waits for all outstanding requests to be completed.
+
+1. Ensure that the DAS is running.
++
+Remote subcommands require a running server.
+2. Run the link:reference-manual/stop-instance.html#GSRFM00241[`stop-instance`] subcommand.
+
+[[GSHAG00046]][[gkqpy]]
+Example 5-8 Stopping an Individual Instance Centrally
+
+This example stops the instance `pmd-i2`.
+
+[source]
+----
+asadmin> stop-instance pmd-i2
+The instance, pmd-i2, is stopped.
+Command stop-instance executed successfully.
+----
+
+[[GSHAG394]]
+
+See Also
+
+link:reference-manual/stop-instance.html#GSRFM00241[`stop-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help stop-instance` at the command line.
+
+[[GSHAG395]]
+
+Troubleshooting
+
+If the instance has become unresponsive and fails to stop, run the
+subcommand again with the `--kill` option set to `true`. When this
+option is `true`, the subcommand uses functionality of the operating
+system to kill the instance process.
+
+[[gkqcc]][[GSHAG00113]][[to-restart-an-individual-instance-centrally]]
+
+==== To Restart an Individual Instance Centrally
+
+Use the `restart-instance` subcommand in remote mode to start an
+individual instance centrally.
+
+When this subcommand restarts an instance, the DAS synchronizes the
+instance with changes since the last synchronization as described in
+link:#gksbo[Default Synchronization for Files and Directories].
+
+If you require different synchronization behavior, stop and start the
+instance as explained in link:#gksak[To Resynchronize an Instance and
+the DAS Online].
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the link:reference-manual/restart-instance.html#GSRFM00219[`restart-instance`] subcommand.
++
+[source]
+----
+asadmin> restart-instance instance-name
+----
+instance-name::
+  The name of the instance that you are restarting.
+
+[[GSHAG00047]][[gkqqt]]
+Example 5-9 Restarting an Individual Instance Centrally
+
+This example restarts the instance `pmd-i2`.
+
+[source]
+----
+asadmin> restart-instance pmd-i2
+pmd-i2 was restarted.
+Command restart-instance executed successfully.
+----
+
+[[GSHAG396]]
+
+See Also
+
+* link:#gkqaj[To Stop an Individual Instance Centrally]
+* link:#gkqaw[To Start an Individual Instance Centrally]
+* link:reference-manual/restart-instance.html#GSRFM00219[`restart-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help restart-instance` at the command line.
+
+[[GSHAG397]]
+
+Troubleshooting
+
+If the instance has become unresponsive and fails to stop, run the
+subcommand again with the `--kill` option set to `true`. When this
+option is `true`, the subcommand uses functionality of the operating
+system to kill the instance process before restarting the instance.
+
+[[gkqdw]][[GSHAG00188]][[administering-glassfish-server-instances-locally]]
+
+=== Administering {productName} Instances Locally
+
+Local administration does not require DCOM or SSH to be set up. If
+neither DCOM nor SSH is set up, you must log in to each host where
+remote instances reside and administer the instances individually.
+
+Administering {productName} instances locally involves the following
+tasks:
+
+* link:#gkqbl[To Create an Instance Locally]
+* link:#gkqed[To Delete an Instance Locally]
+* link:#gkqak[To Start an Individual Instance Locally]
+* link:#gkqci[To Stop an Individual Instance Locally]
+* link:#gkqef[To Restart an Individual Instance Locally]
+
+
+[NOTE]
+====
+Even if neither DCOM nor SSH is set up, you can obtain information about
+instances in a domain without logging in to each host where remote
+instances reside. For instructions, see link:#gkrcb[To List All
+Instances in a Domain].
+====
+
+
+[[gkqbl]][[GSHAG00114]][[to-create-an-instance-locally]]
+
+==== To Create an Instance Locally
+
+Use the `create-local-instance` subcommand in remote mode to create a
+{productName} instance locally. Creating an instance adds the
+instance to the DAS configuration and creates the instance's files on
+the host where the instance resides.
+
+If the instance is a clustered instance that is managed by GMS, system
+properties for the instance that relate to GMS must be configured
+correctly. To avoid the need to restart the DAS and the instance,
+configure an instance's system properties that relate to GMS when you
+create the instance. If you change GMS-related system properties for an
+existing instance, the DAS and the instance must be restarted to apply
+the changes. For information about GMS, see
+link:clusters.html#gjfnl[Group Management Service].
+
+[[GSHAG398]]
+
+Before You Begin
+
+If you plan to specify the node on which the instance is to reside,
+ensure that the node exists.
+
+
+[NOTE]
+====
+If you create the instance on a host for which no nodes are defined, you
+can create the instance without creating a node beforehand. In this
+situation, {productName} creates a `CONFIG` node for you. The name of
+the node is the unqualified name of the host.
+====
+
+
+For information about how to create a node, see the following sections:
+
+* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
+* link:nodes.html#gkrnf[To Create an `SSH` Node]
+* link:nodes.html#gkrll[To Create a `CONFIG` Node]
+
+If you are adding the instance to a cluster, ensure that the cluster to
+which you are adding the instance exists. For information about how to
+create a cluster, see link:clusters.html#gkqdm[To Create a Cluster].
+
+If the instance is to reference an existing named configuration, ensure
+that the configuration exists. For more information, see
+link:named-configurations.html#abdjr[To Create a Named Configuration].
+
+The instance might be a clustered instance that is managed by GMS and
+resides on a node that represents a multihome host. In this situation,
+ensure that you have the Internet Protocol (IP) address of the network
+interface to which GMS binds.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Log in to the host that is represented by the node where the
+instance is to reside.
+
+3. Run the `create-local-instance` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in this step.
+For information about all the options for configuring the instance, see the
+link:reference-manual/create-local-instance.html#GSRFM00044[`create-local-instance`(1)] help page.
+====
+* If you are creating a standalone instance, do not specify a cluster.
++
+If the instance is to reference an existing configuration, specify a
+configuration that no other cluster or instance references.
++
+[source]
+----
+$ asadmin --host das-host [--port admin-port]
+create-local-instance [--node node-name] [--config configuration-name]instance-name
+----
+das-host::
+  The name of the host where the DAS is running.
+admin-port::
+  The HTTP or HTTPS port on which the DAS listens for administration
+  requests. If the DAS listens on the default port for administration
+  requests, you may omit this option.
+node-name::
+  The node on which the instance is to reside. +
+  If you are creating the instance on a host for which fewer than two
+  nodes are defined, you may omit this option. +
+  If no nodes are defined for the host, {productName} creates a
+  CONFIG node for you. The name of the node is the unqualified name of the host. +
+  If one node is defined for the host, the instance is created on that node.
+configuration-name::
+  The name of the existing named configuration that the instance will reference. +
+  If you do not require the instance to reference an existing
+  configuration, omit this option. A copy of the `default-config`
+  configuration is created for the instance. The name of this
+  configuration is instance-name`-config`, where instance-name is the
+  name of the server instance.
+instance-name::
+  Your choice of name for the instance that you are creating.
+
+* If you are creating a shared instance, specify the configuration that
+the instance will share with other clusters or instances. +
+Do not specify a cluster.
++
+[source]
+----
+$ asadmin --host das-host [--port admin-port]
+create-local-instance [--node node-name] --config configuration-name instance-name
+----
+das-host::
+  The name of the host where the DAS is running.
+admin-port::
+  The HTTP or HTTPS port on which the DAS listens for administration
+  requests. If the DAS listens on the default port for administration
+  requests, you may omit this option.
+node-name::
+  The node on which the instance is to reside. +
+  If you are creating the instance on a host for which fewer than two
+  nodes are defined, you may omit this option. +
+  If no nodes are defined for the host, {productName} creates a
+  `CONFIG` node for you. The name of the node is the unqualified name of the host. +
+  If one node is defined for the host, the instance is created on that node.
+configuration-name::
+  The name of the existing named configuration that the instance will
+  reference.
+instance-name::
+  Your choice of name for the instance that you are creating.
+
+* If you are creating a clustered instance, specify the cluster to which
+the instance will belong. +
+If the instance is managed by GMS and resides on a node that represents
+a multihome host, specify the `GMS-BIND-INTERFACE-ADDRESS-`cluster-name
+system property.
++
+[source]
+----
+$ asadmin --host das-host [--port admin-port]
+create-local-instance --cluster cluster-name [--node node-name]
+[--systemproperties GMS-BIND-INTERFACE-ADDRESS-cluster-name=bind-address]instance-name
+----
+das-host::
+  The name of the host where the DAS is running.
+admin-port::
+  The HTTP or HTTPS port on which the DAS listens for administration
+  requests. If the DAS listens on the default port for administration
+  requests, you may omit this option.
+cluster-name::
+  The name of the cluster to which you are adding the instance.
+node-name::
+  The node on which the instance is to reside. +
+  If you are creating the instance on a host for which fewer than two
+  nodes are defined, you may omit this option. +
+  If no nodes are defined for the host, {productName} creates a
+  `CONFIG` node for you. The name of the node is the unqualified name of the host. +
+  If one node is defined for the host, the instance is created on that node.
+bind-address::
+  The IP address of the network interface to which GMS binds. Specify
+  this option only if the instance is managed by GMS and resides on a
+  node that represents a multihome host.
+instance-name::
+  Your choice of name for the instance that you are creating.
+
+[[GSHAG00048]][[gktfa]]
+Example 5-10 Creating a Clustered Instance Locally Without Specifying a Node
+
+This example adds the instance `kui-i1` to the cluster `kuicluster`
+locally. The `CONFIG` node `xk01` is created automatically to represent
+the host `xk01.example.com`, on which this example is run. The DAS is
+running on the host `dashost.example.com` and listens for administration
+requests on the default port.
+
+The commands to list the nodes in the domain are included in this
+example only to demonstrate the creation of the node `xk01`.
+These commands are not required to create the instance.
+
+[source]
+----
+$ asadmin --host dashost.example.com list-nodes --long
+NODE NAME          TYPE    NODE HOST         INSTALL DIRECTORY   REFERENCED BY
+localhost-domain1  CONFIG  localhost         /export/glassfish7
+Command list-nodes executed successfully.
+$ asadmin --host dashost.example.com
+create-local-instance --cluster kuicluster kui-i1
+Rendezvoused with DAS on dashost.example.com:4848.
+Port Assignments for server instance kui-i1:
+JMX_SYSTEM_CONNECTOR_PORT=28687
+JMS_PROVIDER_PORT=27677
+HTTP_LISTENER_PORT=28081
+ASADMIN_LISTENER_PORT=24849
+JAVA_DEBUGGER_PORT=29009
+IIOP_SSL_LISTENER_PORT=23820
+IIOP_LISTENER_PORT=23700
+OSGI_SHELL_TELNET_PORT=26666
+HTTP_SSL_LISTENER_PORT=28182
+IIOP_SSL_MUTUALAUTH_PORT=23920
+Command create-local-instance executed successfully.
+$ asadmin --host dashost.example.com list-nodes --long
+NODE NAME          TYPE    NODE HOST         INSTALL DIRECTORY   REFERENCED BY
+localhost-domain1  CONFIG  localhost         /export/glassfish7
+xk01               CONFIG  xk01.example.com  /export/glassfish7  kui-i1
+Command list-nodes executed successfully.
+----
+
+[[GSHAG00049]][[gkqps]]
+Example 5-11 Creating a Clustered Instance Locally
+
+This example adds the instance `yml-i1` to the cluster `ymlcluster`
+locally. The instance resides on the node `sj01`. The DAS is running on
+the host `das1.example.com` and listens for administration requests on
+the default port.
+
+[source]
+----
+$ asadmin --host das1.example.com
+create-local-instance --cluster ymlcluster --node sj01 yml-i1
+Rendezvoused with DAS on das1.example.com:4848.
+Port Assignments for server instance yml-i1:
+JMX_SYSTEM_CONNECTOR_PORT=28687
+JMS_PROVIDER_PORT=27677
+HTTP_LISTENER_PORT=28081
+ASADMIN_LISTENER_PORT=24849
+JAVA_DEBUGGER_PORT=29009
+IIOP_SSL_LISTENER_PORT=23820
+IIOP_LISTENER_PORT=23700
+OSGI_SHELL_TELNET_PORT=26666
+HTTP_SSL_LISTENER_PORT=28182
+IIOP_SSL_MUTUALAUTH_PORT=23920
+Command create-local-instance executed successfully.
+----
+
+[[GSHAG399]]
+
+See Also
+
+* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
+* link:nodes.html#gkrnf[To Create an `SSH` Node]
+* link:nodes.html#gkrll[To Create a `CONFIG` Node]
+* link:reference-manual/create-local-instance.html#GSRFM00044[`create-local-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-local-instance` at the command line.
+
+[[GSHAG400]]
+
+Next Steps
+
+After creating an instance, you can start the instance as explained in
+the following sections:
+
+* link:#gkqaw[To Start an Individual Instance Centrally]
+* link:#gkqci[To Stop an Individual Instance Locally]
+
+[[gkqed]][[GSHAG00115]][[to-delete-an-instance-locally]]
+
+==== To Delete an Instance Locally
+
+Use the `delete-local-instance` subcommand in remote mode to delete a
+{productName} instance locally.
+
+[CAUTION]
+====
+If you are using a Java Message Service (JMS) cluster with a master
+broker, do not delete the instance that is associated with the master
+broker. If this instance must be deleted, use the
+link:reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`] subcommand to assign the master
+broker to a different instance.
+====
+
+Deleting an instance involves the following:
+
+* Removing the instance from the configuration of the DAS
+* Deleting the instance's files from file system
+
+[[GSHAG401]]
+
+Before You Begin
+
+Ensure that the instance that you are deleting is not running. For
+information about how to stop an instance, see the following sections:
+
+* link:#gkqaj[To Stop an Individual Instance Centrally]
+* link:#gkqci[To Stop an Individual Instance Locally]
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Log in to the host that is represented by the node where the instance resides.
+3. Confirm that the instance is not running.
++
+[source]
+----
+$ asadmin --host das-host [--port admin-port]
+list-instances instance-name
+----
+das-host::
+  The name of the host where the DAS is running.
+admin-port::
+  The HTTP or HTTPS port on which the DAS listens for administration
+  requests. If the DAS listens on the default port for administration
+  requests, you may omit this option.
+instance-name::
+  The name of the instance that you are deleting.
+4. Run the link:reference-manual/delete-local-instance.html#GSRFM00096[`delete-local-instance`] subcommand.
++
+[source]
+----
+$ asadmin --host das-host [--port admin-port]
+delete-local-instance [--node node-name]instance-name
+----
+das-host::
+  The name of the host where the DAS is running.
+admin-port::
+  The HTTP or HTTPS port on which the DAS listens for administration
+  requests. If the DAS listens on the default port for administration
+  requests, you may omit this option.
+node-name::
+  The node on which the instance resides. If only one node is defined
+  for the {productName} installation that you are running on the
+  node's host, you may omit this option.
+instance-name::
+  The name of the instance that you are deleting.
+
+[[GSHAG00050]][[gkqqu]]
+Example 5-12 Deleting an Instance Locally
+
+This example confirms that the instance `yml-i1` is not running and
+deletes the instance.
+
+[source]
+----
+$ asadmin --host das1.example.com list-instances yml-i1
+yml-i1   not running
+Command list-instances executed successfully.
+$ asadmin --host das1.example.com delete-local-instance --node sj01 yml-i1
+Command delete-local-instance executed successfully.
+----
+
+[[GSHAG402]]
+
+See Also
+
+* link:#gkqaj[To Stop an Individual Instance Centrally]
+* link:#gkqci[To Stop an Individual Instance Locally]
+* link:reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`(1)]
+* link:reference-manual/delete-local-instance.html#GSRFM00096[`delete-local-instance`(1)]
+* link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help delete-local-instance`
+* `asadmin help list-instances`
+
+[[gkqak]][[GSHAG00116]][[to-start-an-individual-instance-locally]]
+
+==== To Start an Individual Instance Locally
+
+Use the `start-local-instance` subcommand in local mode to start an
+individual instance locally.
+
+1. Log in to the host that is represented by the node where the instance resides.
+2. Run the `start-local-instance` subcommand.
++
+[source]
+----
+$ asadmin start-local-instance [--node node-name]instance-name
+----
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for controlling the
+behavior of the instance, see the
+link:reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)] help page.
+====
+
+node-name::
+  The node on which the instance resides. If only one node is defined
+  for the {productName} installation that you are running on the
+  node's host, you may omit this option.
+instance-name::
+  The name of the instance that you are starting.
+
+[[GSHAG00051]][[gkqpu]]
+Example 5-13 Starting an Individual Instance Locally
+
+This example starts the instance `yml-i1` locally. The instance resides
+on the node `sj01`.
+
+[source]
+----
+$ asadmin start-local-instance --node sj01 yml-i1
+Waiting for yml-i1 to start ...............
+Successfully started the instance: yml-i1
+instance Location: /export/glassfish7/glassfish/nodes/sj01/yml-i1
+Log File: /export/glassfish7/glassfish/nodes/sj01/yml-i1/logs/server.log
+Admin Port: 24849
+Command start-local-instance executed successfully.
+----
+
+[[GSHAG403]]
+
+See Also
+
+link:reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help start-local-instance` at the command line.
+
+[[GSHAG404]]
+
+Next Steps
+
+After starting an instance, you can deploy applications to the instance.
+For more information, see the link:application-deployment-guide.html#GSDPG[{productName} Application Deployment Guide].
+
+[[gkqci]][[GSHAG00117]][[to-stop-an-individual-instance-locally]]
+
+==== To Stop an Individual Instance Locally
+
+Use the `stop-local-instance` subcommand in local mode to stop an
+individual instance locally.
+
+When an instance is stopped, the instance stops accepting new requests
+and waits for all outstanding requests to be completed.
+
+1. Log in to the host that is represented by the node where the
+instance resides.
+2. Run the link:reference-manual/stop-local-instance.html#GSRFM00242[`stop-local-instance`] subcommand.
++
+[source]
+----
+$ asadmin stop-local-instance [--node node-name]instance-name
+----
+node-name::
+  The node on which the instance resides. If only one node is defined
+  for the {productName} installation that you are running on the
+  node's host, you may omit this option.
+instance-name::
+  The name of the instance that you are stopping.
+
+[[GSHAG00052]][[gkqoo]]
+Example 5-14 Stopping an Individual Instance Locally
+
+This example stops the instance `yml-i1` locally. The instance resides
+on the node `sj01`.
+
+[source]
+----
+$ asadmin stop-local-instance --node sj01 yml-i1
+Waiting for the instance to stop ....
+Command stop-local-instance executed successfully.
+----
+
+[[GSHAG405]]
+
+See Also
+
+link:reference-manual/stop-local-instance.html#GSRFM00242[`stop-local-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help stop-local-instance` at the command line.
+
+[[GSHAG406]]
+
+Troubleshooting
+
+If the instance has become unresponsive and fails to stop, run the
+subcommand again with the `--kill` option set to `true`. When this
+option is `true`, the subcommand uses functionality of the operating
+system to kill the instance process.
+
+[[gkqef]][[GSHAG00118]][[to-restart-an-individual-instance-locally]]
+
+==== To Restart an Individual Instance Locally
+
+Use the `restart-local-instance` subcommand in local mode to restart an
+individual instance locally.
+
+When this subcommand restarts an instance, the DAS synchronizes the
+instance with changes since the last synchronization as described in
+link:#gksbo[Default Synchronization for Files and Directories].
+
+If you require different synchronization behavior, stop and start the
+instance as explained in link:#gksak[To Resynchronize an Instance and
+the DAS Online].
+
+1. Log in to the host that is represented by the node where the instance resides.
+2. Run the `restart-local-instance` subcommand.
++
+[source]
+----
+$ asadmin restart-local-instance [--node node-name]instance-name
+----
+node-name::
+  The node on which the instance resides. If only one node is defined
+  for the {productName} installation that you are running on the
+  node's host, you may omit this option.
+instance-name::
+  The name of the instance that you are restarting.
+
+[[GSHAG00053]][[gkqnt]]
+Example 5-15 Restarting an Individual Instance Locally
+
+This example restarts the instance `yml-i1` locally. The instance
+resides on the node `sj01`.
+
+[source]
+----
+$ asadmin restart-local-instance --node sj01 yml-i1
+Command restart-local-instance executed successfully.
+----
+
+[[GSHAG407]]
+
+See Also
+
+link:reference-manual/restart-local-instance.html#GSRFM00220[`restart-local-instance`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help restart-local-instance` at the command line.
+
+[[GSHAG408]]
+
+Troubleshooting
+
+If the instance has become unresponsive and fails to stop, run the
+subcommand again with the `--kill` option set to `true`. When this
+option is `true`, the subcommand uses functionality of the operating
+system to kill the instance process before restarting the instance.
+
+[[gkrdd]][[GSHAG00189]][[resynchronizing-glassfish-server-instances-and-the-das]]
+
+=== Resynchronizing {productName} Instances and the DAS
+
+Configuration data for a {productName} instance is stored as follows:
+
+* In the repository of the domain administration server (DAS)
+* In a cache on the host that is local to the instance
+
+The configuration data in these locations must be synchronized. The
+cache is synchronized in the following circumstances:
+
+* Whenever an `asadmin` subcommand is run. For more information, see
+"link:administration-guide/overview.html#GSADG00697[Impact of Configuration Changes]" in {productName} Administration Guide.
+* When a user uses the administration tools to start or restart an instance.
+
+[[gksbo]][[GSHAG00267]][[default-synchronization-for-files-and-directories]]
+
+==== Default Synchronization for Files and Directories
+
+The `--sync` option of the subcommands for starting an instance controls
+the type of synchronization between the DAS and the instance's files
+when the instance is started. You can use this option to override the
+default synchronization behavior for the files and directories of an
+instance. For more information, see link:#gksak[To Resynchronize an
+Instance and the DAS Online].
+
+On the DAS, the files and directories of an instance are stored in the
+domain-dir directory, where domain-dir is the directory in which a
+domain's configuration is stored. The default synchronization behavior
+for the files and directories of an instance is as follows:
+
+`applications`::
+  This directory contains a subdirectory for each application that is
+  deployed to the instance. +
+  By default, only a change to an application's top-level directory
+  within the application directory causes the DAS to synchronize that
+  application's directory. When the DAS resynchronizes the
+  `applications` directory, all the application's files and all
+  generated content that is related to the application are copied to the instance. +
+  If a file below a top-level subdirectory is changed without a change
+  to a file in the top-level subdirectory, full synchronization is
+  required. In normal operation, files below the top-level
+  subdirectories of these directories are not changed and such files
+  should not be changed by users. If an application is deployed and
+  undeployed, full synchronization is not necessary to update the
+  instance with the change.
+`config`::
+  This directory contains configuration files for the entire domain. +
+  By default, the DAS resynchronizes files that have been modified since
+  the last resynchronization only if the `domain.xml` file in this
+  directory has been modified.
++
+[NOTE]
+====
+If you add a file to the `config` directory of an instance, the file
+is deleted when the instance is resynchronized with the DAS. However,
+any file that you add to the `config` directory of the DAS is not
+deleted when instances and the DAS are resynchronized.
+By default, any file that you add to the `config` directory of the DAS
+is not resynchronized.
+If you require any additional configuration files to be resynchronized,
+you must specify the files explicitly.
+For more information, see link:#gksaz[To Resynchronize Additional Configuration Files].
+====
+
+``config/``config-name::
+  This directory contains files that are to be shared by all instances
+  that reference the named configuration config-name. A config-name
+  directory exists for each named configuration in the configuration of the DAS. +
+  Because the config-name directory contains the subdirectories `lib`
+  and `docroot`, this directory might be very large. Therefore, by
+  default, only a change to a file or a top-level subdirectory of
+  config-name causes the DAS to resynchronize the config-name directory.
+`config/domain.xml`::
+  This file contains the DAS configuration for the domain to which the
+  instance belongs. +
+  By default, the DAS resynchronizes this file if it has been modified
+  since the last resynchronization.
++
+[NOTE]
+====
+A change to the `config/domain.xml` file is required to cause the DAS
+to resynchronize an instance's files. If the `config/domain.xml` file
+has not changed since the last resynchronization, none of the
+instance's files is resynchronized, even if some of these files are
+out of date in the cache.
+====
+
+`docroot`::
+  This directory is the HTTP document root directory. By default, all
+  instances in a domain use the same document root directory. To enable
+  instances to use a different document root directory, a virtual server
+  must be created in which the `docroot` property is set. For more
+  information, see the link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)]
+  help page. +
+  The `docroot` directory might be very large. Therefore, by default,
+  only a change to a file or a subdirectory in the top level of the
+  `docroot` directory causes the DAS to resynchronize the `docroot`
+  directory. The DAS checks files in the top level of the `docroot`
+  directory to ensure that changes to the `index.html` file are
+  detected. +
+  When the DAS resynchronizes the `docroot` directory, all modified
+  files and subdirectories at any level are copied to the instance. +
+  If a file below a top-level subdirectory is changed without a change
+  to a file in the top-level subdirectory, full synchronization is required.
+`generated`::
+  This directory contains generated files for Jakarta EE applications and
+  modules, for example, EJB stubs, compiled JSP classes, and security
+  policy files. Do not modify the contents of this directory. +
+  This directory is resynchronized when the `applications` directory is
+  resynchronized. Therefore, only directories for applications that are
+  deployed to the instance are resynchronized.
+`java-web-start`::
+  This directory is not resynchronized. It is created and populated as
+  required on each instance.
+`lib`::
+`lib/classes`::
+  These directories contain common Java class files or JAR archives and
+  ZIP archives for use by applications that are deployed to the entire
+  domain. Typically, these directories contain common JDBC drivers and
+  other utility libraries that are shared by all applications in the domain. +
+  The contents of these directories are loaded by the common class
+  loader. For more information, see "link:application-development-guide/class-loaders.html#GSDVG00342[
+  Using the Common Class Loader]" in {productName} Application
+  Development Guide.
+  The class loader loads the contents of these directories in the following order:
++
+--
+  1. `lib/classes`
+  2. `lib/*.jar`
+  3. `lib/*.zip`
+--
+  The `lib` directory also contains the following subdirectories:
++
+--
+  `applibs`;;
+    This directory contains application-specific Java class files or JAR
+    archives and ZIP archives for use by applications that are deployed
+    to the entire domain.
+  `ext`;;
+    This directory contains optional packages in JAR archives and ZIP
+    archives for use by applications that are deployed to the entire
+    domain. These archive files are loaded by using Java extension
+    mechanism. For more information, see
+    http://download.oracle.com/javase/6/docs/technotes/guides/extensions/extensions.html[Optional
+    Packages - An Overview]
+    (`http://docs.oracle.com/javase/7/docs/technotes/guides/extensions/extensions.html`).
++
+[NOTE]
+====
+Optional packages were formerly known as standard extensions or extensions.
+====
+--
+  The `lib` directory and its subdirectories typically contain only a
+  small number of files. Therefore, by default, a change to any file in
+  these directories causes the DAS to resynchronize the file that
+  changed.
+
+[[gksak]][[GSHAG00119]][[to-resynchronize-an-instance-and-the-das-online]]
+
+==== To Resynchronize an Instance and the DAS Online
+
+Resynchronizing an instance and the DAS updates the instance with
+changes to the instance's configuration files on the DAS. An instance is
+resynchronized with the DAS when the instance is started or restarted.
+
+[NOTE]
+====
+Resynchronization of an instance is only required if the instance is
+stopped. A running instance does not require resynchronization.
+====
+
+1. Ensure that the DAS is running.
+
+2. Determine whether the instance is stopped.
++
+[source]
+----
+asadmin> list-instances instance-name
+----
+instance-name::
+  The name of the instance that you are resynchronizing with the DAS. +
+If the instance is stopped, the `list-instances` subcommand indicates
+that the instance is not running.
+
+3. If the instance is stopped, start the instance. +
+If the instance is running, no further action is required.
+* If DCOM or SSH is set up, start the instance centrally.
++
+If you require full synchronization, set the `--sync` option of the
+`start-instance` subcommand to `full`. If default synchronization is
+sufficient, omit this option.
++
+[source]
+----
+asadmin> start-instance [--sync full] instance-name
+----
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for controlling the
+behavior of the instance, see the link:reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
+help page.
+====
+
+instance-name::
+  The name of the instance that you are starting.
+* If neither DCOM nor SSH is set up, start the instance locally from the
+host where the instance resides.
++
+If you require full synchronization, set the `--sync` option of the
+`start-local-instance` subcommand to `full`. If default synchronization
+is sufficient, omit this option.
++
+[source]
+----
+$ asadmin start-local-instance [--node node-name] [--sync full] instance-name
+----
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for controlling the
+behavior of the instance, see the
+link:reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)] help page.
+====
+
+node-name::
+  The node on which the instance resides. If only one node is defined
+  for the {productName} installation that you are running on the
+  node's host, you may omit this option.
+instance-name::
+  The name of the instance that you are starting.
+
+[[GSHAG00054]][[gksfu]]
+Example 5-16 Resynchronizing an Instance and the DAS Online
+
+This example determines that the instance `yml-i1` is stopped and fully
+resynchronizes the instance with the DAS. Because neither DCOM nor SSH
+is set up, the instance is started locally on the host where the
+instance resides. In this example, multiple nodes are defined for the
+{productName} installation that is running on the node's host.
+
+To determine whether the instance is stopped, the following command is
+run in multimode on the DAS host:
+
+[source]
+----
+asadmin> list-instances yml-i1
+yml-i1   not running
+Command list-instances executed successfully.
+----
+
+To start the instance, the following command is run in single mode on
+the host where the instance resides:
+
+[source]
+----
+$ asadmin start-local-instance --node sj01 --sync full yml-i1
+Removing all cached state for instance yml-i1.
+Waiting for yml-i1 to start ...............
+Successfully started the instance: yml-i1
+instance Location: /export/glassfish7/glassfish/nodes/sj01/yml-i1
+Log File: /export/glassfish7/glassfish/nodes/sj01/yml-i1/logs/server.log
+Admin Port: 24849
+Command start-local-instance executed successfully.
+----
+
+[[GSHAG409]]
+
+See Also
+
+* link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+* link:reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
+* link:reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line.
+
+`asadmin help list-instances`
+`asadmin help start-instance`
+`asadmin help start-local-instance`
+
+[[gksav]][[GSHAG00120]][[to-resynchronize-library-files]]
+
+==== To Resynchronize Library Files
+
+To ensure that library files are resynchronized correctly, you must
+ensure that each library file is placed in the correct directory for the
+type of file.
+
+1. Place each library file in the correct location for the type of
+library file as shown in the following table.
++
+[width="100%",cols="<53%,<47%",options="header",]
+|===
+|Type of Library Files |Location
+|Common JAR archives and ZIP archives for all applications in a domain.
+|domain-dir``/lib``
+
+|Common Java class files for a domain for all applications in a domain.
+|domain-dir``/lib/classes``
+
+|Application-specific libraries. |domain-dir``/lib/applibs``
+
+|Optional packages for all applications in a domain.
+|domain-dir``/lib/ext``
+
+|Library files for all applications that are deployed to a specific
+cluster or standalone instance. |domain-dir``/config/``config-name``/lib``
+
+|Optional packages for all applications that are deployed to a specific
+cluster or standalone instance.
+|domain-dir``/config/``config-name``/lib/ext``
+|===
+
+domain-dir::
+  The directory in which the domain's configuration is stored.
+config-name::
+  For a standalone instance: the named configuration that the instance references. +
+  For a clustered instance: the named configuration that the cluster to
+  which the instance belongs references.
+
+2. When you deploy an application that depends on these library files,
+use the `--libraries` option of the deploy subcommand to specify these dependencies. +
+For library files in the domain-dir`/lib/applib` directory, only the JAR
+file name is required, for example:
++
+[source]
+----
+asadmin> deploy --libraries commons-coll.jar,X1.jar app.ear
+----
+For other types of library file, the full path is required.
+
+[[GSHAG411]]
+
+See Also
+
+link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the command `asadmin help deploy` at the command line.
+
+[[gksco]][[GSHAG00121]][[to-resynchronize-custom-configuration-files-for-an-instance]]
+
+==== To Resynchronize Custom Configuration Files for an Instance
+
+Configuration files in the domain-dir``/config`` directory that are
+resynchronized are resynchronized for the entire domain. If you create a
+custom configuration file for an instance or a cluster, the custom file
+is resynchronized only for the instance or cluster.
+
+1. Place the custom configuration file in the
+domain-dir``/config/``config-name directory.::
+domain-dir::
+  The directory in which the domain's configuration is stored.
+config-name::
+  The named configuration that the instance references.
+2. If the instance locates the file through an option of the Java
+application launcher, update the option.
+[arabic]
+.. Delete the option.
++
+[source]
+----
+asadmin> delete-jvm-options --target instance-name
+option-name=current-value
+----
+instance-name::
+  The name of the instance for which the custom configuration file is
+  created.
+option-name::
+  The name of the option for locating the file.
+current-value::
+  The current value of the option for locating the file.
+
+.. Re-create the option that you deleted in the previous step.
++
+[source]
+----
+asadmin> create-jvm-options --target instance-name
+option-name=new-value
+----
+instance-name::
+  The name of the instance for which the custom configuration file is
+  created.
+option-name::
+  The name of the option for locating the file.
+new-value::
+  The new value of the option for locating the file.
+
+[[GSHAG00055]][[gksfr]]
+Example 5-17 Updating the Option for Locating a Configuration File
+
+This example updates the option for locating the `server.policy` file to
+specify a custom file for the instance `pmd`.
+
+[source]
+----
+asadmin> delete-jvm-options --target pmd
+-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy
+Deleted 1 option(s)
+Command delete-jvm-options executed successfully.
+asadmin> create-jvm-options --target pmd
+-Djava.security.policy=${com.sun.aas.instanceRoot}/config/pmd-config/server.policy
+Created 1 option(s)
+Command create-jvm-options executed successfully.
+----
+
+[[GSHAG412]]
+
+See Also
+
+* link:reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`(1)]
+* link:reference-manual/delete-jvm-options.html#GSRFM00094[`delete-jvm-options`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line.
+
+`asadmin help create-jvm-options`
+
+`asadmin help delete-jvm-options`
+
+[[gkscp]][[GSHAG00122]][[to-resynchronize-users-changes-to-files]]
+
+==== To Resynchronize Users' Changes to Files
+
+A change to the `config/domain.xml` file is required to cause the DAS to
+resynchronize instances' files. If other files in the domain directory
+are changed without a change to the `config/domain.xml` file, instances
+are not resynchronized with these changes.
+
+The following changes are examples of changes to the domain directory
+without a change to the `config/domain.xml` file:
+
+* Adding files to the `lib` directory
+* Adding certificates to the key store by using the `keytool` command
+
+1. Change the last modified time of the `config/domain.xml` file. +
+Exactly how to change the last modified time depends on the operating
+system. For example, on UNIX and Linux systems, you can use the
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1touch-1[`touch`(1)] command.
+
+2. Resynchronize each instance in the domain with the DAS. +
+For instructions, see link:#gksak[To Resynchronize an Instance and the DAS Online].
+
+[[GSHAG413]]
+
+See Also
+
+* link:#gksak[To Resynchronize an Instance and the DAS Online]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1touch-1[`touch`(1)]
+
+[[gksaz]][[GSHAG00123]][[to-resynchronize-additional-configuration-files]]
+
+==== To Resynchronize Additional Configuration Files
+
+By default, {productName} synchronizes only the following
+configuration files:
+
+* `admin-keyfile`
+* `cacerts.jks`
+* `default-web.xml`
+* `domain.xml`
+* `domain-passwords`
+* `keyfile`
+* `keystore.jks`
+* `server.policy`
+* `sun-acc.xml`
+* `wss-server-config-1.0`
+* `xml wss-server-config-2.0.xml`
+
+If you require instances in a domain to be resynchronized with
+additional configuration files for the domain, you can specify a list of
+files to resynchronize.
+
+
+[CAUTION]
+====
+If you specify a list of files to resynchronize, you must specify all
+the files that the instances require, including the files that {productName} resynchronizes by default. Any file in the instance's cache that
+is not in the list is deleted when the instance is resynchronized with
+the DAS.
+====
+
+In the `config` directory of the domain, create a plain text file that
+is named `config-files` that lists the files to resynchronize.
+
+In the `config-files` file, list each file name on a separate line.
+
+[[GSHAG00056]][[gksgl]]
+Example 5-18 `config-files` File
+
+This example shows the content of a `config-files` file. This file
+specifies that the `some-other-info` file is to be resynchronized in
+addition to the files that {productName} resynchronizes by default:
+
+[source]
+----
+admin-keyfile
+cacerts.jks
+default-web.xml
+domain.xml
+domain-passwords
+keyfile
+keystore.jks
+server.policy
+sun-acc.xml
+wss-server-config-1.0.xml
+wss-server-config-2.0.xml
+some-other-info
+----
+
+[[gksdj]][[GSHAG00124]][[to-prevent-deletion-of-application-generated-files]]
+
+==== To Prevent Deletion of Application-Generated Files
+
+When the DAS resynchronizes an instance's files, the DAS deletes from
+the instance's cache any files that are not listed for
+resynchronization. If an application creates files in a directory that
+the DAS resynchronizes, these files are deleted when the DAS
+resynchronizes an instance with the DAS.
+
+Put the files in a subdirectory under the domain directory that is not
+defined by {productName}, for example,
+`/export/glassfish7/glassfish/domains/domain1/myapp/myfile`.
+
+[[gksdy]][[GSHAG00125]][[to-resynchronize-an-instance-and-the-das-offline]]
+
+==== To Resynchronize an Instance and the DAS Offline
+
+Resynchronizing an instance and the DAS offline updates the instance's
+cache without the need for the instance to be able to communicate with
+the DAS. Offline resynchronization is typically required for the
+following reasons:
+
+* To reestablish the instance after an upgrade
+* To synchronize the instance manually with the DAS when the instance cannot contact the DAS
+
+1. Ensure that the DAS is running.
+
+2. [[gktio]]
+Export the configuration data that you are resynchronizing to an archive file.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for exporting the
+configuration data, see the
+link:reference-manual/export-sync-bundle.html#GSRFM00134[`export-sync-bundle`(1)]
+help page.
+====
++
+How to export the data depends on the host from where you run the
+`export-sync-bundle` subcommand.
++
+--
+* From the DAS host, run the `export-sync-bundle` subcommand as follows:
++
+[source]
+----
+asadmin> export-sync-bundle --target target
+----
+target::
+  The cluster or standalone instance for which to export configuration data. +
+  Do not specify a clustered instance. If you specify a clustered
+  instance, an error occurs. To export configuration data for a
+  clustered instance, specify the name of the cluster of which the
+  instance is a member, not the instance.
++
+The file is created on the DAS host.
+
+* From the host where the instance resides, run the `export-sync-bundle`
+subcommand as follows:
++
+[source]
+----
+$ asadmin --host das-host [--port admin-port]
+export-sync-bundle [--retrieve=true] --target target
+----
+das-host::
+  The name of the host where the DAS is running.
+admin-port::
+  The HTTP or HTTPS port on which the DAS listens for administration
+  requests. If the DAS listens on the default port for administration
+  requests, you may omit this option.
+target::
+  The cluster or standalone instance for which to export configuration data. +
+  Do not specify a clustered instance. If you specify a clustered
+  instance, an error occurs. To export configuration data for a
+  clustered instance, specify the name of the cluster of which the
+  instance is a member, not the instance.
++
+[NOTE]
+====
+To create the archive file on the host where the instance resides, set
+the `--retrieve` option to `true`. If you omit this option, the archive
+file is created on the DAS host.
+====
+--
+3. If necessary, copy the archive file that you created in
+Step link:#gktio[2] from the DAS host to the host where the instance resides.
+
+4. From the host where the instance resides, import the instance's
+configuration data from the archive file that you created in
+Step link:#gktio[2].
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for importing the
+configuration data, see the link:reference-manual/import-sync-bundle.html#GSRFM00142[`import-sync-bundle`(1)]
+help page.
+====
++
+[source]
+----
+$ asadmin import-sync-bundle [--node node-name] --instance instance-name archive-file
+----
+node-name::
+  The node on which the instance resides. If you omit this option, the
+  subcommand determines the node from the DAS configuration in the
+  archive file.
+instance-name::
+  The name of the instance that you are resynchronizing.
+archive-file::
+  The name of the file, including the path, that contains the archive
+  file to import.
+
+[[GSHAG00057]][[gksgg]]
+Example 5-19 Resynchronizing an Instance and the DAS Offline
+
+This example resynchronizes the clustered instance `yml-i1` and the DAS
+offline. The instance is a member of the cluster `ymlcluster`. The
+archive file that contains the instance's configuration data is created
+on the host where the instance resides.
+
+[source]
+----
+$ asadmin --host dashost.example.com
+export-sync-bundle --retrieve=true --target ymlcluster
+Command export-sync-bundle executed successfully.
+$ asadmin import-sync-bundle --node sj01
+--instance yml-i1 ymlcluster-sync-bundle.zip
+Command import-sync-bundle executed successfully.
+----
+
+[[GSHAG414]]
+
+See Also
+
+* link:reference-manual/export-sync-bundle.html#GSRFM00134[`export-sync-bundle`(1)]
+* link:reference-manual/import-sync-bundle.html#GSRFM00142[`import-sync-bundle`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line.
+
+`asadmin help export-sync-bundle`
+
+`asadmin help import-sync-bundle`
+
+[[gkqcr]][[GSHAG00190]][[migrating-ejb-timers]]
+
+=== Migrating EJB Timers
+
+If a {productName} server instance stops or fails abnormally, it may
+be desirable to migrate the EJB timers defined for that stopped server
+instance to another running server instance.
+
+Automatic timer migration is enabled by default for clustered server
+instances that are stopped normally. Automatic timer migration can also
+be enabled to handle clustered server instance crashes. In addition,
+timers can be migrated manually for stopped or crashed server instances.
+
+* link:#gkvwo[To Enable Automatic EJB Timer Migration for Failed Clustered Instances]
+* link:#abdji[To Migrate EJB Timers Manually]
+
+[[gkvwo]][[GSHAG00126]][[to-enable-automatic-ejb-timer-migration-for-failed-clustered-instances]]
+
+==== To Enable Automatic EJB Timer Migration for Failed Clustered Instances
+
+Automatic migration of EJB timers is enabled by default for clustered
+server instances that are stopped normally. If the Group Management
+Service (GMS) is enabled and a clustered instance is stopped normally,
+no further action is required for timer migration to occur. The
+procedure in this section is only necessary if you want to enable
+automatic timer migration for clustered server instances that have
+stopped abnormally.
+
+
+[NOTE]
+====
+If the GMS is enabled, the default automatic timer migration cannot be
+disabled. To disable automatic timer migration, you must first disable
+the GMS. For information about the GMS, see
+link:clusters.html#gjfnl[Group Management Service].
+====
+
+
+[[GSHAG415]]
+
+Before You Begin
+
+Automatic EJB timer migration can only be configured for clustered
+server instances. Automatic timer migration is not possible for
+standalone server instances.
+
+Enable delegated transaction recovery for the cluster.
+
+This enables automatic timer migration for failed server instances in
+the cluster.
+
+For instructions on enabling delegated transaction recovery, see
+"link:administration-guide/transactions.html#GSADG00022[Administering Transactions]" in {productName} Administration Guide.
+
+[[abdji]][[GSHAG00127]][[to-migrate-ejb-timers-manually]]
+
+==== To Migrate EJB Timers Manually
+
+EJB timers can be migrated manually from a stopped source instance to a
+specified target instance in the same cluster if GMS notification is not
+enabled. If no target instance is specified, the DAS will attempt to
+find a suitable server instance. A migration notification will then be
+sent to the selected target server instance.
+
+Note the following restrictions:
+
+* If the source instance is part of a cluster, then the target instance
+must also be part of that same cluster.
+* It is not possible to migrate timers from a standalone instance to a
+clustered instance, or from one cluster to another cluster.
+* It is not possible to migrate timers from one standalone instance to
+another standalone instance.
+* All EJB timers defined for a given instance are migrated with this
+procedure. It is not possible to migrate individual timers.
+
+[[GSHAG416]]
+
+Before You Begin
+
+The server instance from which the EJB timers are to be migrated should
+not be active during the migration process.
+
+1. Verify that the source clustered server instance from which the EJB
+timers are to be migrated is not currently running.
++
+[source]
+----
+asadmin> list-instances source-instance
+----
+
+2. Stop the instance from which the timers are to be migrated, if that
+instance is still running.
++
+[source]
+----
+asadmin> stop-instance source-instance
+----
++
+[NOTE]
+====
+The target instance to which the timers will be migrated should be running.
+====
+
+3. List the currently defined EJB timers on the source instance, if desired.
++
+[source]
+----
+asadmin> list-timers source-cluster
+----
+
+4. Migrate the timers from the stopped source instance to the target instance.
++
+[source]
+----
+asadmin> migrate-timers --target target-instance source-instance
+----
+
+[[GSHAG00058]][[gkmgw]]
+Example 5-20 Migrating an EJB Timer
+
+The following example show how to migrate timers from a clustered source
+instance named `football` to a clustered target instance named `soccer`.
+
+[source]
+----
+asadmin> migrate-timers --target soccer football
+----
+
+[[GSHAG417]]
+
+See Also
+
+link:reference-manual/list-timers.html#GSRFM00205[`list-timers`(1)],
+link:reference-manual/migrate-timers.html#GSRFM00211[`migrate-timers`(1)],
+link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)],
+link:reference-manual/stop-instance.html#GSRFM00241[`stop-instance`(1)]
diff --git a/docs/ha-administration-guide/src/main/asciidoc/jms.adoc b/docs/ha-administration-guide/src/main/asciidoc/jms.adoc
new file mode 100644
index 0000000..f65d8cc
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/jms.adoc
@@ -0,0 +1,540 @@
+type=page
+status=published
+title=Configuring Java Message Service High Availability
+next=rmi-iiop.html
+prev=session-persistence-and-failover.html
+~~~~~~
+
+= Configuring Java Message Service High Availability
+
+[[GSHAG00012]][[abdbk]]
+
+
+[[configuring-java-message-service-high-availability]]
+== 10 Configuring Java Message Service High Availability
+
+This chapter describes how to configure the high availability features
+of the Java Message Service (JMS). It covers how to configure Message
+Queue broker clusters and how to use them to provide connection failover
+and load balancing, as described in the following topics:
+
+* link:#abdbx[Using Message Queue Broker Clusters With {productName}]
+* link:#abdbv[Connection Failover]
+* link:#abdbw[Load-Balanced Delivery to MDBs]
+
+[[abdbx]][[GSHAG00212]][[using-message-queue-broker-clusters-with-glassfish-server]]
+
+=== Using Message Queue Broker Clusters With {productName}
+
+This section describes how the JMS service uses Message Queue broker
+clusters to support high-availability JMS messaging in {productName}
+clusters. It describes the different cluster and broker types that are
+supported and how to configure them.
+
+The following topics are addressed here:
+
+* link:#gktgs[About Message Queue Broker Clusters]
+* link:#gktft[Configuring GlassFish Clusters to Use Message Queue Broker
+Clusters]
+* link:#gktge[To Configure a GlassFish Cluster to Use an Embedded or
+Local Conventional Broker Cluster With Master Broker]
+* link:#gktfr[To Configure a GlassFish Cluster to Use an Embedded or
+Local Conventional Broker Cluster of Peer Brokers]
+* link:#gkthc[To Change the Master Broker in an Embedded or Local Broker
+Cluster]
+* link:#gktgj[To Migrate Between Types of Embedded or Local Conventional
+Broker Clusters]
+* link:#gktfl[To Configure a GlassFish Cluster to Use a Local Enhanced
+Broker Cluster]
+* link:#abdby[To Configure a GlassFish Cluster to Use a Remote Broker
+Cluster]
+
+[[gktgs]][[GSHAG00311]][[about-message-queue-broker-clusters]]
+
+==== About Message Queue Broker Clusters
+
+The following discussion provides a brief overview of Message Queue
+broker clusters. For complete information, see "link:../openmq/mq-tech-over/broker-clusters.html#GMTOV00028[Broker
+Clusters]" in Open Message Queue Technical Overview.
+
+Message Queue supports two clustering models both of which provide a
+scalable message service, but with each providing a different level of
+message service availability:
+
+* Conventional broker clusters. A conventional broker cluster provides
+for service availability. When a broker fails, clients connected to the
+failed broker reconnect to another broker in the cluster. However,
+messages and state information stored in the failed broker cannot be
+recovered until the failed broker is brought back online. The broker
+failure can therefore result in a significant delay and in JMS message
+order semantics not being preserved.
++
+Message Queue supports two types of conventional cluster, based on where
+the cluster configuration change record is stored:
+
+** Conventional cluster with master broker. In a conventional cluster
+with a master broker, one of the brokers, designated as the master
+broker, stores and maintains the cluster configuration change record.
+The other brokers in the cluster must communicate with the master broker
+to keep abreast of changes to the cluster configuration. This is the
+simplest broker cluster to configure, and is the type of broker cluster
+that {productName} uses by default to support GlassFish clusters.
+
+** Conventional cluster of peer brokers. In a conventional cluster of
+peer brokers, the cluster configuration change record is stored in a
+JDBC data store accessible to all the brokers. Thus, brokers can access
+cluster configuration information whether any other brokers in the
+cluster are running or not.
+* Enhanced broker clusters. An enhanced broker cluster provides for data
+availability in addition to service availability. When a broker fails,
+another broker takes over the pending work of the failed broker. The
+failover broker has access to the failed broker's messages and state
+information. Clients connected to the failed broker reconnect to the
+failover broker. In an enhanced cluster, as compared to a conventional
+cluster, messages owned by the failed broker are delivered by the
+failover broker as soon as it takes over, and JMS message order
+semantics are preserved.
++
+By its very nature, an enhanced broker cluster is a cluster of peer
+brokers.
+
+
+[NOTE]
+====
+Despite the message service availability offered by both conventional
+and enhanced broker clusters, they do not provide a guarantee against
+failure and the possibility that certain failures, for example in the
+middle of a transaction, could require that some operations be repeated.
+It is the responsibility of the messaging application (both producers
+and consumers) to respond to JMS exceptions appropriately.
+For information about the kinds of exceptions that can occur and how to
+respond to them,
+see "link:../openmq/mq-dev-guide-java/client-design-and-features.html#GMJVG00229[Handling Exceptions When Failover Occurs]"
+in Open Message Queue Developer's Guide for Java Clients.
+====
+
+
+[[gktft]][[GSHAG00312]][[configuring-glassfish-clusters-to-use-message-queue-broker-clusters]]
+
+==== Configuring GlassFish Clusters to Use Message Queue Broker Clusters
+
+When a {productName} cluster is created, the JMS service
+automatically configures a Message Queue conventional broker cluster
+with master broker for the cluster, provided that the JMS host type in
+the {productName} cluster's configuration is Embedded or Local. The
+JMS service configures one Message Queue broker for each instance in the
+{productName} cluster, and designates as master broker the broker
+associated with the first instance created in the cluster. In the case
+of Local JMS hosts, the JMS service configures each broker to run on the
+same host as the instance with which it is associated. In the case of
+Embedded JMS hosts, the each broker inherently runs on the same host as
+the instance with which it is associated because it runs in the same JVM
+as the instance.
+
+The JMS service manages the lifecycle of Embedded and Local JMS hosts,
+and this management extends to the management of Message Queue broker
+clusters as Embedded and Local JMS hosts. For a GlassFish cluster whose
+configuration specifies Embedded or Local JMS host type, the JMS
+service:
+
+* Creates and manages one Message Queue broker for each instance in the
+GlassFish cluster, using this broker as the primary JMS host for the
+instance.
+* Maintains the JMS host list for each instance in the GlassFish cluster
+such that its primary JMS host appears first in its JMS host list.
+
+The JMS service supports the following types of Message Queue broker
+clusters with {productName} clusters, based on the JMS host type:
+
+Embedded::
+  * Conventional broker cluster with master broker (default)
+  * Conventional broker cluster of peer brokers
+Local::
+  * Conventional broker cluster with master broker (default)
+  * Conventional broker cluster of peer brokers
+  * Enhanced broker cluster
+Remote::
+  * Conventional broker cluster with master broker; brokers can differ
+  in number from GlassFish instances and can be located on other hosts
+  * Conventional broker cluster of peer brokers; brokers can differ in
+  number from GlassFish instances and can be located on other hosts
+  * Enhanced broker cluster; brokers can differ in number from GlassFish
+  instances and can be located on other hosts
+
+The following topics provide instructions for configuring broker
+clusters in all these contexts.
+
+[[gktge]][[GSHAG00155]][[to-configure-a-glassfish-cluster-to-use-an-embedded-or-local-conventional-broker-cluster-with-master-broker]]
+
+==== To Configure a GlassFish Cluster to Use an Embedded or Local Conventional Broker Cluster With Master Broker
+
+Use the `configure-jms-cluster` subcommand in remote `asadmin` mode to
+configure a conventional broker cluster with master broker to service a
+{productName} cluster that uses either Embedded or Local JMS hosts.
+
+Note that this configuration, with Embedded brokers, is the default for
+{productName} clusters.
+
+[[GSHAG431]]
+
+Before You Begin
+
+Perform the following steps after you have created the {productName}
+cluster, but before you have added instances to the cluster or started
+the cluster.
+
+
+[CAUTION]
+====
+Before using this procedure to reconfigure an existing cluster, you must
+follow the special procedures to migrate to another type of broker
+cluster, as described in link:#gktgj[To Migrate Between Types of
+Embedded or Local Conventional Broker Clusters]. Failing to perform
+these special procedures could lead to data loss or corruption and even
+render your setup unusable, depending on the JMS operations performed on
+the existing cluster.
+====
+
+1. Ensure that the server is running.
+Remote `asadmin` subcommands require a running server.
+
+2. Configure the {productName} cluster to use a Message Queue
+conventional broker cluster with master broker by using the
+link:reference-manual/configure-jms-cluster.html#GSRFM00008[`configure-jms-cluster`]
+subcommand:
++
+[source]
+----
+> asadmin configure-jms-cluster --clustertype=conventional
+--configstoretype=masterbroker glassfish-cluster-name
+----
+
+[[GSHAG432]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help configure-jms-cluster` at the command line.
+
+[[gktfr]][[GSHAG00156]][[to-configure-a-glassfish-cluster-to-use-an-embedded-or-local-conventional-broker-cluster-of-peer-brokers]]
+
+==== To Configure a GlassFish Cluster to Use an Embedded or Local Conventional Broker Cluster of Peer Brokers
+
+Use the `configure-jms-cluster` subcommand in remote `asadmin` mode to
+configure a conventional broker cluster of peer brokers to service a
+{productName} cluster that uses Embedded or Local JMS hosts.
+
+[[GSHAG433]]
+
+Before You Begin
+
+Perform the following steps after you have created the {productName}
+cluster, but before you have added instances to the cluster or started
+the cluster.
+
+
+[CAUTION]
+====
+Before using this procedure to reconfigure an existing cluster, you must
+follow the special procedures to migrate to another type of broker
+cluster, as described in link:#gktgj[To Migrate Between Types of
+Embedded or Local Conventional Broker Clusters]. Failing to perform
+these special procedures could lead to data loss or corruption and even
+render your setup unusable, depending on the JMS operations performed on
+the existing cluster.
+====
+
+
+1. Ensure that the server is running.
+Remote `asadmin` subcommands require a running server.
+
+2. Create a password file with the entry `AS_ADMIN_JMSDBPASSWORD`
+specifying the password of the database user. +
+For information about password file entries, see the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
+
+3. Place a copy of, or a link to, the database's JDBC driver `.jar`
+file in the appropriate directory, depending on the JMS host type, on
+each host where a {productName} cluster instance is to run:
+* Embedded: as-install-parent``/glassfish/lib/install/applications/jmsra``
+* Local: as-install-parent``/mq/lib/ext``
+
+4. Configure the {productName} cluster to use a Message Queue
+conventional broker cluster with master broker by using the
+link:reference-manual/configure-jms-cluster.html#GSRFM00008[`configure-jms-cluster`]
+subcommand:
++
+[source]
+----
+> asadmin --passwordfile password-file configure-jms-cluster --clustertype=conventional
+--configstoretype=shareddb --dbvendor database-vendor-name --dbuser database-user-name
+--dburl database-url --property list-of-database-specific-properties glassfish-cluster-name
+----
+
+[[GSHAG434]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help configure-jms-cluster` at the command line.
+
+[[gkthc]][[GSHAG00157]][[to-change-the-master-broker-in-an-embedded-or-local-broker-cluster]]
+
+==== To Change the Master Broker in an Embedded or Local Broker Cluster
+
+Use the `change-master-broker` subcommand in remote `asadmin` mode to
+change the master broker to a different broker in a conventional broker
+cluster with master broker serving a {productName} cluster that uses
+Embedded or Local JMS hosts.
+
+Follow this procedure, for example, before you remove from a GlassFish
+cluster the instance associated with the current master broker.
+
+[[GSHAG435]]
+
+Before You Begin
+
+Although not an absolute requirement, you should make sure all GlassFish
+instances and Message Queue brokers in the cluster are running before
+using the `change-master-broker` command in order to avoid later
+internal configuration synchronization of any unavailable instance or
+broker.
+
+1. Ensure that the server is running.
+Remote `asadmin` subcommands require a running server.
+
+2. Change the master broker by using the
+link:reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`]
+subcommand:
++
+[source]
+----
+> asadmin change-master-broker glassfish-clustered-instance-name
+----
+
+[[GSHAG436]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help change-master-broker` at the command line.
+
+[[gktgj]][[GSHAG00158]][[to-migrate-between-types-of-embedded-or-local-conventional-broker-clusters]]
+
+==== To Migrate Between Types of Embedded or Local Conventional Broker Clusters
+
+If the need arises to convert from a conventional broker cluster with
+master broker to a conventional broker cluster of peer brokers, or the
+reverse, follow the instructions in "link:../openmq/mq-admin-guide/broker-clusters.html#GMADG00563[Managing
+Conventional Clusters]" in Open Message Queue Administration Guide.
+
+[[gktfl]][[GSHAG00159]][[to-configure-a-glassfish-cluster-to-use-a-local-enhanced-broker-cluster]]
+
+==== To Configure a GlassFish Cluster to Use a Local Enhanced Broker Cluster
+
+Use the `configure-jms-cluster` subcommand in remote `asadmin` mode to
+configure an enhanced broker cluster to service a {productName}
+cluster that uses Local JMS hosts.
+
+[[GSHAG437]]
+
+Before You Begin
+
+Perform the following steps after you have created the {productName}
+cluster, but before you have added instances to the cluster or started
+the cluster.
+
+[CAUTION]
+====
+Before using this procedure to reconfigure an existing cluster, you must
+follow the special procedures to migrate from a conventional broker
+cluster to an enhanced broker cluster, as described in
+"link:../openmq/mq-admin-guide/broker-clusters.html#GMADG00565[Converting a Conventional Cluster to an Enhanced
+Cluster]" in Open Message Queue Administration Guide. Failing to perform
+these special procedures could lead to data loss or corruption and even
+render your setup unusable, depending on the JMS operations performed on
+the existing cluster.
+====
+
+1. Ensure that the server is running.
+Remote `asadmin` subcommands require a running server.
+
+2. Create a password file with the entry `AS_ADMIN_JMSDBPASSWORD`
+specifying the password of the database user. +
+For information about password file entries, see the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
+
+3. Place a copy of, or a link to, the database's JDBC driver `.jar`
+file in the as-install-parent``/mq/lib/ext`` directory on each host where
+a {productName} cluster instance is to run.
+
+4. Configure the {productName} cluster to use a Message Queue
+enhanced broker cluster by using the
+link:reference-manual/configure-jms-cluster.html#GSRFM00008[`configure-jms-cluster`]
+subcommand:
++
+[source]
+----
+> asadmin --passwordfile password-file configure-jms-cluster --clustertype=enhanced
+--configstoretype=shareddb --messagestoretype=jdbc
+--dbvendor database-vendor-name --dbuser database-user-name --dburl database-url
+--property list-of-database-specific-properties glassfish-cluster-name
+----
+
+[[GSHAG438]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help configure-jms-cluster` at the command line.
+
+[[abdby]][[GSHAG00160]][[to-configure-a-glassfish-cluster-to-use-a-remote-broker-cluster]]
+
+==== To Configure a GlassFish Cluster to Use a Remote Broker Cluster
+
+[[GSHAG439]]
+
+Before You Begin
+
+Perform the following steps after you have:
+
+* Used Message Queue to create a broker cluster.
+* Created the {productName} cluster, but not yet created instances
+for the cluster.
+
+1. Ensure that the server is running.
+The remote subcommands used in this procedure require a running server.
+
+2. Delete the `default_JMS_host` JMS host by using the
+link:reference-manual/delete-jms-host.html#GSRFM00091[`delete-jms-host`] subcommand:
++
+[source]
+----
+> asadmin delete-jms-host --target glassfish-cluster-name default_JMS_host
+----
+
+3. Create a JMS host for each broker in the broker cluster by using the
+link:reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`] subcommand. +
+For each broker, use an `asadmin create-jms-host` of the form:
++
+[source]
+----
+> asadmin create-jms-host --target glassfish-cluster-name --mqhost broker-host
+--mqport broker-port --mquser mq-user --mqpassword mq-user-password
+jms-host-name-for-broker
+----
+
+4. Start the brokers in the cluster by using the Message Queue
+`imqbrokerd` command, as described in
+"link:../openmq/mq-admin-guide/broker-clusters.html#GMADG00254[Managing Broker Clusters]"
+in Open Message Queue Administration Guide.
+
+5. Create instances in the {productName} cluster, as described in
+link:instances.html#gkqch[To Create an Instance Centrally] and
+link:instances.html#gkqbl[To Create an Instance Locally].
+
+[[abdbv]][[GSHAG00213]][[connection-failover]]
+
+=== Connection Failover
+
+The use of Message Queue broker clusters provides JMS connection
+failover, including several options that control how connection failures
+are handled.
+
+Use the Administration Console's Java Message Service page to configure
+these options. To display this page, click the configuration for the
+GlassFish cluster or instance in the navigation pane, and then click the
+Java Message Service link on the Configuration page.
+
+The way in which connection failover operates depends on whether the
+broker cluster is configured to be conventional or enhanced:
+
+* In a conventional cluster, when a broker fails, clients may reconnect
+to any other broker in the cluster. The Reconnect field specifies
+whether reconnection should take place, and the Address List Behavior
+and Address List Iterations fields specify how the client chooses what
+broker to fail over to.
+* In an enhanced cluster, when a broker fails, another broker
+automatically takes over its messages and clients. Clients automatically
+fail over to the appropriate broker. The Reconnect, Address List
+Behavior and Address List Iterations fields are ignored.
+
+For more information on connection failover, including how failover on
+conventional clusters differs from failover on enhanced clusters, see
+"link:../openmq/mq-admin-guide/administered-objects.html#GMADG00087[Automatic Reconnection]" in Open Message Queue
+Administration Guide.
+
+Reconnect::
+  Applies only to conventional clusters. Enables reconnection and
+  connection failover. When disabled, the Java Message Service does not
+  attempt to reconnect if a connection fails.
+Reconnect Interval::
+  Specifies the number of seconds between reconnection attempts. If it
+  is too short, this time interval does not give a broker time to
+  recover. If it is too long, the wait time might represent an
+  unacceptable delay. The default value is 5 seconds.
+Reconnect Attempts::
+  Specifies the number of attempts to connect (or reconnect) to a
+  particular JMS host before trying another host in the JMS host list.
+  The host list is also known as the Address List. Hosts are chosen from
+  the address list either in order or randomly, depending on the setting
+  of Address List Behavior.
+Address List Behavior::
+  For conventional clusters, this field specifies how the Java Message
+  Service selects which JMS host in the JMS hosts list to initially
+  connect to, and if the broker fails, how the Java Message Service
+  selects which JMS host in the JMS hosts list to fail over to. +
+  For enhanced clusters, this field specifies how the Java Message
+  Service selects which JMS host in the JMS hosts list to initially
+  connect to. +
+  When performing initial connection or, for conventional clusters only,
+  when performing failover, then if this attribute is set to Priority,
+  the Java Message Service tries to connect to the first JMS host
+  specified in the JMS hosts list and uses another one only if the first
+  one is not available. If this attribute is set to Random, the Java
+  Message Service selects the JMS host randomly from the JMS hosts list.
+  If that host is not available, another one is chosen randomly. +
+  The default for Embedded and Local JMS host types is Priority, and the
+  default for the Remote JMS host type is Random. +
+  For Embedded and Local JMS host types, the Java Message Service
+  ensures that the Message Queue broker servicing a clustered instance
+  appears first in that instance's JMS host list. +
+  Thus, having Priority as the default Address List Behavior ensures
+  that an application deployed to a clustered instance will always try
+  to create its initial connection to that instance's co-located broker. +
+  If there are many clients attempting a connection using the same
+  connection factory, use the Random setting to prevent them from all
+  attempting to create their initial connection to the same JMS host.
+Address List Iterations::
+  For conventional clusters, this field specifies the number of times
+  the Java Message Service iterates through the JMS hosts list in an
+  effort to establish its initial connection. If the broker fails, this
+  field specifies the number of times the Java Message Service iterates
+  through the JMS hosts list in an effort to fail over to another
+  broker. +
+  For enhanced clusters, this field specifies the number of times the
+  Java Message Service iterates through the JMS hosts list in an effort
+  to establish its initial connection. If the broker fails, this field
+  is not used when performing reconnection.
+
+You can override these settings using JMS connection factory settings.
+For details, see "link:administration-guide/jms.html#GSADG00598[Administering JMS Connection
+Factories and Destinations]" in {productName}
+Administration Guide.
+
+[[abdbw]][[GSHAG00214]][[load-balanced-delivery-to-mdbs]]
+
+=== Load-Balanced Delivery to MDBs
+
+When a message-driven bean (MDB) application is deployed to a GlassFish
+cluster, incoming messages are delivered randomly to MDBs without regard
+to the cluster instances in which they are running.
+
+If the MDB is configured to receive messages from a durable or
+non-durable subscription on a topic, then only one MDB instance across
+the whole GlassFish cluster will receive each message.
+
+For more information about these features, see
+"link:../openmq/mq-admin-guide/jmsra-properties.html#GMADG00300[
+About Shared Topic Subscriptions for Clustered Containers]"
+in Open Message Queue Administration Guide.
diff --git a/docs/ha-administration-guide/src/main/asciidoc/loe.adoc b/docs/ha-administration-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..c5f4913
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,130 @@
+type=page
+status=published
+title=List of Examples
+next=title.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:ssh-setup.html#sthref7[2-1 Creating an Alias for the Windows
+User's Password]
+* link:ssh-setup.html#sthref8[2-2 Testing the Connection Over DCOM to a
+Remote Host]
+* link:ssh-setup.html#gksnj[2-3 Setting the Home Directory for the MKS
+Toolkit User]
+* link:ssh-setup.html#gkspo[2-4 Determining if the sshd Daemon Is Running
+on an Oracle Solaris System]
+* link:ssh-setup.html#gkssf[2-5 Determining if the sshd Daemon Is Running
+on a Linux System]
+* link:ssh-setup.html#gktat[2-6 Setting Up Public Key Authentication
+Without Encryption]
+* link:ssh-setup.html#gktav[2-7 Setting Up Encrypted Public Key
+Authentication]
+* link:ssh-setup.html#gktba[2-8 Creating an Alias for the SSH User's
+Password]
+* link:ssh-setup.html#sthref9[2-9 Copying a {productName} Installation
+to Multiple DCOM-Enabled Hosts]
+* link:ssh-setup.html#sthref10[2-10 Copying a {productName}
+Installation to Multiple SSH-Enabled Hosts]
+* link:ssh-setup.html#sthref11[2-11 Removing {productName} Software
+From Multiple DCO\M-Enabled Hosts]
+* link:ssh-setup.html#sthref12[2-12 Removing {productName} Software
+From Multiple SSH-Enabled Hosts]
+* link:nodes.html#sthref13[3-1 Creating a DCOM Node]
+* link:nodes.html#sthref14[3-2 Listing Basic Information About All DCOM
+Nodes in a Domain]
+* link:nodes.html#sthref15[3-3 Listing Detailed Information About All
+DCOM Nodes in a Domain]
+* link:nodes.html#sthref16[3-4 Testing if a DCOM Node Is Reachable]
+* link:nodes.html#sthref17[3-5 Deleting a DCOM Node]
+* link:nodes.html#gksih[3-6 Creating an SSH Node]
+* link:nodes.html#gkskt[3-7 Listing Basic Information About All SSH Nodes
+in a Domain]
+* link:nodes.html#gkske[3-8 Listing Detailed Information About All SSH
+Nodes in a Domain]
+* link:nodes.html#gkshk[3-9 Testing if an SSH Node Is Reachable]
+* link:nodes.html#gksjg[3-10 Deleting an SSH Node]
+* link:nodes.html#gkshu[3-11 Creating a CONFIG Node]
+* link:nodes.html#gkskp[3-12 Listing Basic Information About All CONFIG
+Nodes in a Domain]
+* link:nodes.html#gksjs[3-13 Listing Detailed Information About All
+CONFIG Nodes in a Domain]
+* link:nodes.html#gksla[3-14 Deleting a CONFIG Node]
+* link:nodes.html#sthref18[3-15 Updating a DCOM Node]
+* link:nodes.html#gkslc[3-16 Updating an SSH Node]
+* link:nodes.html#gkskc[3-17 Updating a CONFIG Node]
+* link:nodes.html#gkshw[3-18 Changing a CONFIG Node to an SSH Node]
+* link:clusters.html#gklgw[4-1 Checking the Health of Instances in a
+Cluster]
+* link:clusters.html#gklhv[4-2 Validating That Multicast Transport Is
+Available for a Cluster]
+* link:clusters.html#sthref19[4-3 Discovering a Cluster When Multiple
+Instances are Running on a Host]
+* link:clusters.html#sthref20[4-4 Discovering a Cluster by Specifying a
+List of IP Addresses]
+* link:clusters.html#sthref21[4-5 Discovering a Cluster by Generating a
+List of Locations of Instances]
+* link:clusters.html#gkqaz[4-6 Creating a Cluster for a Network in Which
+Multicast Transport Is Available]
+* link:clusters.html#gkqiq[4-7 Creating a Cluster and Setting GMS Options
+for a Network in Which Multicast Transport Is Available]
+* link:clusters.html#gksfc[4-8 Listing All Clusters in a Domain]
+* link:clusters.html#gkhsp[4-9 Listing All Clusters That Are Associated
+With a Node]
+* link:clusters.html#gkqkr[4-10 Deleting a Cluster]
+* link:instances.html#gkqmv[5-1 Creating a Clustered Instance Centrally]
+* link:instances.html#gksfe[5-2 Listing Basic Information About All
+{productName} Instances in a Domain]
+* link:instances.html#gkabz[5-3 Listing Detailed Information About All
+{productName} Instances in a Domain]
+* link:instances.html#gkqms[5-4 Deleting an Instance Centrally]
+* link:instances.html#gkqml[5-5 Starting a Cluster]
+* link:instances.html#gkqmn[5-6 Stopping a Cluster]
+* link:instances.html#gkqoa[5-7 Starting an Individual Instance
+Centrally]
+* link:instances.html#gkqpy[5-8 Stopping an Individual Instance
+Centrally]
+* link:instances.html#gkqqt[5-9 Restarting an Individual Instance
+Centrally]
+* link:instances.html#gktfa[5-10 Creating a Clustered Instance Locally
+Without Specifying a Node]
+* link:instances.html#gkqps[5-11 Creating a Clustered Instance Locally]
+* link:instances.html#gkqqu[5-12 Deleting an Instance Locally]
+* link:instances.html#gkqpu[5-13 Starting an Individual Instance Locally]
+* link:instances.html#gkqoo[5-14 Stopping an Individual Instance Locally]
+* link:instances.html#gkqnt[5-15 Restarting an Individual Instance
+Locally]
+* link:instances.html#gksfu[5-16 Resynchronizing an Instance and the DAS
+Online]
+* link:instances.html#gksfr[5-17 Updating the Option for Locating a
+Configuration File]
+* link:instances.html#gksgl[5-18 config-files File]
+* link:instances.html#gksgg[5-19 Resynchronizing an Instance and the DAS
+Offline]
+* link:instances.html#gkmgw[5-20 Migrating an EJB Timer]
+* link:named-configurations.html#gkrhn[6-1 Creating a Named
+Configuration]
+* link:named-configurations.html#gkrhp[6-2 Listing All Named
+Configurations in a Domain]
+* link:named-configurations.html#gkrfz[6-3 Listing the Targets of a Named
+Configuration]
+* link:named-configurations.html#gkrgs[6-4 Deleting a Named
+Configuration]
+* link:named-configurations.html#gkrky[6-5 Modifying a Property of a
+Named Configuration]
+* link:named-configurations.html#gkrma[6-6 Modifying a Port Number for an
+Instance]
+* link:http-load-balancing.html#gktpu[7-1 httpd.conf File for Load
+Balancing]
+* link:http-load-balancing.html#gktpe[7-2 workers.properties File for
+Load Balancing]
+* link:session-persistence-and-failover.html#fxjqx[9-1 Example of an EJB
+Deployment Descriptor With Availability Enabled]
+* link:session-persistence-and-failover.html#fxjqg[9-2 Example of EJB
+Deployment Descriptor Specifying Methods Checkpointing]
+* link:rmi-iiop.html#gfohj[11-1 Setting Load-Balancing Weights for
+RMI-IIOP Weighted Round-Robin Load Balancing]
diff --git a/docs/ha-administration-guide/src/main/asciidoc/named-configurations.adoc b/docs/ha-administration-guide/src/main/asciidoc/named-configurations.adoc
new file mode 100644
index 0000000..9d86605
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/named-configurations.adoc
@@ -0,0 +1,673 @@
+type=page
+status=published
+title=Administering Named Configurations
+next=http-load-balancing.html
+prev=instances.html
+~~~~~~
+
+= Administering Named Configurations
+
+[[GSHAG00007]][[abdjk]]
+
+[[administering-named-configurations]]
+== 6 Administering Named Configurations
+
+A named configuration is a set of configuration information for
+{productName} instances and clusters. A configuration sets port
+numbers for listeners that an instance or a cluster uses and defines
+settings for items such as the EJB container, security, logging, and
+monitoring. Applications and resources are not defined in named configurations.
+
+{productName} enables you to create configurations for use by
+clusters and instances. {productName} creates configurations
+automatically for clusters and instances that do not reference an
+existing configuration. You can modify any existing named configuration
+regardless of how the configuration was created.
+
+The following topics are addressed here:
+
+* link:#abdjl[About Named Configurations]
+* link:#abdjq[Creating, Listing, and Deleting Named Configurations]
+* link:#gkrgf[Modifying Properties for Named Configurations and Instances]
+
+[[abdjl]][[GSHAG00191]][[about-named-configurations]]
+
+=== About Named Configurations
+
+Configurations exist in a domain. Multiple {productName} instances or
+clusters in the domain can reference the same configuration, or they can
+have separate configurations. To ensure that the environment in a
+cluster's instances is homogenous, all instances in the cluster inherit
+the cluster's configuration.
+
+[[abdjm]][[GSHAG00268]][[types-of-named-configurations]]
+
+==== Types of Named Configurations
+
+Each named configuration is one of the following types of configuration:
+
+Standalone configuration::
+  A standalone configuration is referenced by only one instance or
+  cluster and is not shared with any other instances or clusters.
++
+[NOTE]
+====
+A configuration that is referenced by only one cluster is a standalone
+configuration, even if the cluster contains multiple instances.
+====
+
+Shared configuration::
+  A shared configuration is referenced by multiple instances or clusters.
+
+The type of an unclustered instance is determined by the type of the
+configuration that the instance references. For more information, see
+link:instances.html#gkrbn[Types of {productName} Instances].
+
+[[abdjn]][[GSHAG00269]][[the-default-config-configuration]]
+
+==== The `default-config` Configuration
+
+The `default-config` configuration is a special configuration that acts
+as a template for creating named configurations. Clusters and instances
+cannot refer to the `default-config` configuration. The `default-config`
+configuration can only be copied to create configurations.
+
+[[abdjo]][[GSHAG00270]][[automatically-created-configurations]]
+
+==== Automatically Created Configurations
+
+When you create a cluster or an instance, you can choose whether to
+specify an existing configuration that the new cluster or instance will
+reference. If you choose to create a cluster or an instance without
+specifying an existing configuration, {productName} automatically
+creates a configuration for the cluster or instance. For more
+information, see the following sections:
+
+* link:clusters.html#gkqdm[To Create a Cluster]
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+
+{productName} automatically creates a configuration by copying the
+`default-config` configuration. If you require an instance or cluster to
+reference a copy of a different configuration, copy the configuration
+and specify the copy when you create the instance or cluster. For
+information about how to copy a configuration, see link:#abdjr[To Create
+a Named Configuration].
+
+{productName} assigns the name cluster-or-instance`-config` to an
+automatically created configuration. cluster-or-instance is the name of
+the cluster or instance for which the configuration is created. The
+`server-config` configuration is automatically created for the domain
+administration server (DAS) when the domain is created.
+
+[[gdgca]][[GSHAG00271]][[directory-for-configuration-synchronization]]
+
+==== Directory for Configuration Synchronization
+
+When a named configuration is created, {productName} creates a
+configuration directory on the domain administration server (DAS) at
+domain-dir``/config/``config-name.
+
+domain-dir::
+  The directory in which the domain's configuration is stored.
+config-name::
+  The name that was assigned to the configuration when the configuration was created.
+
+This contents of this directory are synchronized to all instances that
+inherit or reference the configuration.
+
+[[abdjq]][[GSHAG00192]][[creating-listing-and-deleting-named-configurations]]
+
+=== Creating, Listing, and Deleting Named Configurations
+
+{productName} enables you to create configurations for use by
+clusters and instances, obtain information about configurations, and
+delete configurations that are no longer required.
+
+The following topics are addressed here:
+
+* link:#abdjr[To Create a Named Configuration]
+* link:#gkrgg[To List the Named Configurations in a Domain]
+* link:#abdju[To List the Targets of a Named Configuration]
+* link:#abdjv[To Delete a Named Configuration]
+
+[[abdjr]][[GSHAG00128]][[to-create-a-named-configuration]]
+
+==== To Create a Named Configuration
+
+Use the `copy-config` subcommand in remote mode to create a named
+configuration by copying an existing configuration.
+
+{productName} requires you to create a configuration by copying a
+configuration because a configuration contains many required settings.
+The newly created configuration is identical to the configuration that
+you copy until you change its configuration settings.
+
+
+[TIP]
+====
+Create a named configuration only if you plan to share the configuration
+among multiple unclustered instances or clusters, or if you are using a
+configuration to preconfigure GMS settings. Otherwise, create clusters
+and instances without specifying an existing configuration.
+If no configuration is specified, {productName} creates a copy of the
+default configuration for the cluster or instance.
+
+For more information, see the following sections:
+
+* link:clusters.html#gkoac[To Preconfigure Nondefault GMS Configuration Settings]
+* link:clusters.html#gkqdm[To Create a Cluster]
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+====
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the `copy-config` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for configuring the
+named configuration, see the link:reference-manual/copy-config.html#GSRFM00011[`copy-config`(1)]
+help page.
+====
++
+[source]
+----
+asadmin> copy-config source-config-name destination-config-name
+----
+source-config-name::
+  The name of the configuration that you are copying. You must specify a
+  configuration to copy even if you are copying the default
+  configuration. The configuration must already exist.
+destination-config-name::
+  Your choice of name for the configuration that you are creating by
+  copying the source configuration.
+
+[[GSHAG00059]][[gkrhn]]
+Example 6-1 Creating a Named Configuration
+
+This example creates the named configuration `clusterpresets-config` by
+copying the default configuration.
+
+[source]
+----
+asadmin> copy-config default-config clusterpresets-config
+Command copy-config executed successfully.
+----
+
+[[GSHAG418]]
+
+See Also
+
+* link:clusters.html#gkoac[To Preconfigure Nondefault GMS Configuration Settings]
+* link:clusters.html#gkqdm[To Create a Cluster]
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+* link:reference-manual/copy-config.html#GSRFM00011[`copy-config`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help copy-config` at the command line.
+
+[[gkrgg]][[GSHAG00129]][[to-list-the-named-configurations-in-a-domain]]
+
+==== To List the Named Configurations in a Domain
+
+Use the `list-configs` subcommand in remote mode to list existing named
+configurations in a domain.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the link:reference-manual/list-configs.html#GSRFM00156[`list-configs`] subcommand.
++
+[source]
+----
+asadmin> list-configs
+----
+
+[[GSHAG00060]][[gkrhp]]
+Example 6-2 Listing All Named Configurations in a Domain
+
+This example lists all named configurations in the current domain.
+
+[source]
+----
+asadmin> list-configs
+server-config
+default-config
+ymlcluster-config
+clusterpresets-config
+Command list-configs executed successfully.
+----
+
+[[GSHAG419]]
+
+See Also
+
+link:reference-manual/list-configs.html#GSRFM00156[`list-configs`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-configs` at the command line.
+
+[[abdju]][[GSHAG00130]][[to-list-the-targets-of-a-named-configuration]]
+
+==== To List the Targets of a Named Configuration
+
+Use the `list-clusters` subcommand and the `list-instances` subcommand
+in remote mode to list the targets of a named configuration.
+
+The targets of a named configuration are the clusters and {productName} instances that reference the configuration.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. List the clusters that refer to the configuration.
++
+[source]
+----
+asadmin> list-clusters config-name
+----
+config-name::
+  The name of the configuration whose targets you are listing.
+
+3. List the instances that refer to the configuration.
++
+[source]
+----
+asadmin> list-instances config-name
+----
+config-name::
+  The name of the configuration whose targets you are listing.
+
+[[GSHAG00061]][[gkrfz]]
+Example 6-3 Listing the Targets of a Named Configuration
+
+This example shows that the cluster `ymlcluster` and the instances
+`yml-i1` and `yml-i2` reference the named configuration
+`ymlcluster-config`.
+
+[source]
+----
+asadmin> list-clusters ymlcluster-config
+ymlcluster partially running
+Command list-clusters executed successfully.
+asadmin> list-instances ymlcluster-config
+yml-i1   running
+yml-i2   not running
+Command list-instances executed successfully.
+----
+
+[[GSHAG420]]
+
+See Also
+
+* link:reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
+* link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help list-clusters`
+* `asadmin help list-instances`
+
+[[abdjv]][[GSHAG00131]][[to-delete-a-named-configuration]]
+
+==== To Delete a Named Configuration
+
+Use the `delete-config` subcommand in remote mode to delete an existing
+named configuration from the configuration of the DAS.
+
+You cannot delete the `default-config` configuration.
+
+
+[NOTE]
+====
+A standalone configuration that was created automatically for a cluster
+or a {productName} instance is deleted when the cluster or instance is deleted.
+====
+
+
+[[GSHAG421]]
+
+Before You Begin
+
+Ensure that no clusters or instances refer to the configuration. If a
+cluster or instance refers to the configuration and is no longer
+required, delete the cluster or instance. For information about how to
+delete an instance and how to delete a cluster, see the following
+sections:
+
+* link:instances.html#gkqcw[To Delete an Instance Centrally]
+* link:instances.html#gkqed[To Delete an Instance Locally]
+* link:clusters.html#gkqcp[To Delete a Cluster]
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Confirm that no clusters refer to the configuration that you are deleting.
++
+[source]
+----
+asadmin> list-clusters config-name
+----
+config-name::
+  The name of the configuration that you are deleting.
+
+3. Confirm that no instances refer to the configuration that you are
+deleting.
++
+[source]
+----
+asadmin> list-instances config-name
+----
+config-name::
+  The name of the configuration that you are deleting.
+
+4. Run the link:reference-manual/delete-config.html#GSRFM00069[`delete-config`] subcommand.
++
+[source]
+----
+asadmin> delete-config config-name
+----
+config-name::
+  The name of the configuration that you are deleting.
+
+[[GSHAG00062]][[gkrgs]]
+Example 6-4 Deleting a Named Configuration
+
+This example confirms that no clusters or instances refer to the
+configuration `clusterpresets-config` and then deletes the
+configuration.
+
+[source]
+----
+asadmin> list-clusters clusterpresets-config
+Nothing to list
+Command list-clusters executed successfully.
+asadmin> list-instances clusterpresets-config
+Nothing to list.
+Command list-instances executed successfully.
+asadmin> delete-config clusterpresets-config
+Command delete-config executed successfully.
+----
+
+[[GSHAG422]]
+
+See Also
+
+* link:instances.html#gkqcw[To Delete an Instance Centrally]
+* link:instances.html#gkqed[To Delete an Instance Locally]
+* link:clusters.html#gkqcp[To Delete a Cluster]
+* link:reference-manual/delete-config.html#GSRFM00069[`delete-config`(1)]
+* link:reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
+* link:reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help delete-config`
+* `asadmin help list-clusters`
+* `asadmin help list-instances`
+
+[[gkrgf]][[GSHAG00193]][[modifying-properties-for-named-configurations-and-instances]]
+
+=== Modifying Properties for Named Configurations and Instances
+
+The properties in a named configuration define port numbers for
+unclustered instances that reference the configuration or clustered
+instances that inherit the configuration. An instance initially obtains
+port numbers from the configuration that the instance references or
+inherits. To avoid port conflicts, edit the properties of named
+configurations and instances.
+
+The following topics are addressed here:
+
+* link:#gkrls[Properties for Port Numbers in a Named Configuration]
+* link:#fxxvk[To Modify a Named Configuration's Properties]
+* link:#abdjt[To Modify Port Numbers of an Instance]
+
+[[gkrls]][[GSHAG00272]][[properties-for-port-numbers-in-a-named-configuration]]
+
+==== Properties for Port Numbers in a Named Configuration
+
+The default configuration `default-config` contains properties that
+define the initial values of port numbers in a configuration that is
+copied from `default-config`. When an instance or a cluster that
+references the configuration is created, these properties are set for
+the instance.
+
+You can create additional system properties for a configuration either
+by specifying the `--systemproperties` option of the
+link:reference-manual/copy-config.html#GSRFM00011[`copy-config`] subcommand or by using the
+link:reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`] subcommand. To reference a
+system property from the configuration, use the `${`prop-name`}`
+notation, where prop-name is the name of the system property.
+
+For example, if a configuration defines additional HTTP listeners, use
+system properties to define the ports for those listeners. However,
+these properties are not set automatically when an instance or a cluster
+that references the configuration is created. You must set these
+properties explicitly when you create the instance or cluster.
+
+The properties in a named configuration that define port numbers are as
+follows:
+
+`ASADMIN_LISTENER_PORT`::
+  This property specifies the port number of the HTTP port or HTTPS port
+  through which the DAS connects to the instance to manage the instance.
+  Valid values are 1-65535. On UNIX, creating sockets that listen on
+  ports 1-1024 requires superuser privileges.
+`HTTP_LISTENER_PORT`::
+  This property specifies the port number of the port that is used to
+  listen for HTTP requests. Valid values are 1-65535. On UNIX, creating
+  sockets that listen on ports 1-1024 requires superuser privileges.
+`HTTP_SSL_LISTENER_PORT`::
+  This property specifies the port number of the port that is used to
+  listen for HTTPS requests. Valid values are 1-65535. On UNIX, creating
+  sockets that listen on ports 1-1024 requires superuser privileges.
+`IIOP_LISTENER_PORT`::
+  This property specifies the port number of the port that is used for
+  IIOP connections. Valid values are 1-65535. On UNIX, creating sockets
+  that listen on ports 1-1024 requires superuser privileges.
+`IIOP_SSL_LISTENER_PORT`::
+  This property specifies the port number of the port that is used for
+  secure IIOP connections. Valid values are 1-65535. On UNIX, creating
+  sockets that listen on ports 1-1024 requires superuser privileges.
+`IIOP_SSL_MUTUALAUTH_PORT`::
+  This property specifies the port number of the port that is used for
+  secure IIOP connections with client authentication. Valid values are
+  1-65535. On UNIX, creating sockets that listen on ports 1-1024
+  requires superuser privileges.
+`JAVA_DEBUGGER_PORT`::
+  This property specifies the port number of the port that is used for
+  connections to the
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture (JPDA)]
+  (`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`)
+  debugger. Valid values are 1-65535. On UNIX, creating sockets that
+  listen on ports 1-1024 requires superuser privileges.
+`JMS_PROVIDER_PORT`::
+  This property specifies the port number for the Java Message Service
+  provider. Valid values are 1-65535. On UNIX, creating sockets that
+  listen on ports 1-1024 requires superuser privileges.
+`JMX_SYSTEM_CONNECTOR_PORT`::
+  This property specifies the port number on which the JMX connector
+  listens. Valid values are 1-65535. On UNIX, creating sockets that
+  listen on ports 1-1024 requires superuser privileges.
+`OSGI_SHELL_TELNET_PORT`::
+  This property specifies the port number of the port that is used for
+  connections to the
+  http://felix.apache.org/site/apache-felix-remote-shell.html[Apache
+  Felix Remote Shell]
+  (`http://felix.apache.org/site/apache-felix-remote-shell.html`). This
+  shell uses the Felix shell service to interact with the OSGi module
+  management subsystem. Valid values are 1-65535. On UNIX, creating
+  sockets that listen on ports 1-1024 requires superuser privileges.
+
+[[fxxvk]][[GSHAG00132]][[to-modify-a-named-configurations-properties]]
+
+==== To Modify a Named Configuration's Properties
+
+Use the `get` subcommand and the `set` subcommand in remote mode to
+modify a named configuration's properties.
+
+You might copy a configuration for use by instances that reside on the
+same host as instances that refer to the original configuration. In this
+situation, edit the properties of one of the configurations to ensure
+that instances that will refer to the configuration have the correct
+initial settings.
+
+If you change the port number in a configuration, the port number is
+changed for any instance that references or inherits the configuration.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. For each property that you are modifying, determine the current
+value and set the new value.
+[arabic]
+.. Determine the current value of the property.
++
+[source]
+----
+asadmin> get configs.config.config-name.system-property.property-name.value
+----
+config-name::
+  The name of the configuration whose properties you are modifying.
+property-name::
+  The name of the property that you are modifying. For a list of
+  available properties, see link:#gkrls[Properties for Port Numbers in a
+  Named Configuration].
+
+.. Set the property to its new value.
++
+[source]
+----
+asadmin> set
+configs.config.config-name.system-property.property-name.value=new-value
+----
+config-name::
+  The name of the configuration whose properties you are modifying.
+property-name::
+  The name of the property that you are modifying. For a list of
+  available properties, see link:#gkrls[Properties for Port Numbers in a
+  Named Configuration].
+new-value::
+  The value to which you are setting the property.
+
+[[GSHAG00063]][[gkrky]]
+Example 6-5 Modifying a Property of a Named Configuration
+
+This example changes the value of the `JMS_PROVIDER_PORT` property in
+the `clusterpresets-config` configuration from 27676 to 27678.
+
+[source]
+----
+asadmin> get
+configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value
+configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value=27676
+Command get executed successfully.
+asadmin> set
+configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value=27678
+configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value=27678
+Command set executed successfully.
+----
+
+[[GSHAG423]]
+
+See Also
+
+* link:reference-manual/get.html#GSRFM00139[`get`(1)]
+* link:reference-manual/set.html#GSRFM00226[`set`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help get`
+* `asadmin help set`
+
+[[abdjt]][[GSHAG00133]][[to-modify-port-numbers-of-an-instance]]
+
+==== To Modify Port Numbers of an Instance
+
+Use the `get` subcommand and the `set` subcommand in remote mode to
+modify the port numbers of an instance.
+
+The port numbers of a instance are initially set in the configuration
+that the instance references or inherits from its parent cluster.
+Multiple instances that reside on the same host must each listen on a
+unique port number. Therefore, if multiple instances that reference or
+inherit the same configuration reside on the same host, a port conflict
+prevents all except one of the instances from starting. To avoid port
+conflicts, modify the port numbers on which individual instances listen.
+
+If you modify an instance's port number and later modify the port number
+in the instance's configuration, the instance's port number remains
+unchanged.
+
+The port numbers of an instance are stored as Java system properties.
+When {productName} is started, it treats these properties in the same
+way as properties that are passed through the `-D` option of the Java
+application launcher.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. For each port number that you are modifying, determine the current
+value and set the new value.
+[arabic]
+.. Determine the current value of the port number.
++
+[source]
+----
+asadmin> get
+servers.server.instance-name.system-property.port-property.value
+----
+instance-name::
+  The name of the instance whose port numbers you are modifying.
+port-property::
+  The name of the property that corresponds to the port number that you
+  are modifying. For a list of available properties, see
+  link:#gkrls[Properties for Port Numbers in a Named Configuration].
+
+.. Set the port number to its new value.
++
+[source]
+----
+asadmin> get
+servers.server.instance-name.system-property.port-property.value=new-value
+----
+instance-name::
+  The name of the instance whose port numbers you are modifying.
+port-property::
+  The name of the property that corresponds to the port number that you
+  are modifying. For a list of available properties, see
+  link:#gkrls[Properties for Port Numbers in a Named Configuration].
+new-value::
+  The value to which you are setting the port number.
+
+[[GSHAG00064]][[gkrma]]
+Example 6-6 Modifying a Port Number for an Instance
+
+This example changes the port number of the HTTP port or the HTTPS port
+for administration of the `pmdsainst` instance from 24849 to 24859.
+
+[source]
+----
+asadmin> get
+servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value
+servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value=24849
+Command get executed successfully.
+asadmin> set
+servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value=24859
+servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value=24859
+Command set executed successfully.
+----
+
+[[GSHAG424]]
+
+See Also
+
+* link:reference-manual/get.html#GSRFM00139[`get`(1)]
+* link:reference-manual/set.html#GSRFM00226[`set`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help get`
+* `asadmin help set`
diff --git a/docs/ha-administration-guide/src/main/asciidoc/nodes.adoc b/docs/ha-administration-guide/src/main/asciidoc/nodes.adoc
new file mode 100644
index 0000000..e2ce365
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/nodes.adoc
@@ -0,0 +1,1216 @@
+type=page
+status=published
+title=Administering {productName} Nodes
+next=clusters.html
+prev=ssh-setup.html
+~~~~~~
+
+= Administering {productName} Nodes
+
+[[GSHAG00004]][[gkrle]]
+
+
+[[administering-glassfish-server-nodes]]
+== 3 Administering {productName} Nodes
+
+A node represents a host on which the {productName} software is
+installed. A node must exist for every host on which {productName}
+instances reside. A node's configuration contains information about the
+host such as the name of the host and the location where the {productName} is installed on the host.
+
+The following topics are addressed here:
+
+* link:#gksgh[Types of {productName} Nodes]
+* link:#CHDBIHFJ[Creating, Listing, Testing, and Deleting `DCOM` Nodes]
+* link:#gkrkn[Creating, Listing, Testing, and Deleting `SSH` Nodes]
+* link:#gkrnp[Creating, Listing, and Deleting `CONFIG` Nodes]
+* link:#gksjd[Updating and Changing the Type of a Node]
+
+[[gksgh]][[GSHAG00179]][[types-of-glassfish-server-nodes]]
+
+=== Types of {productName} Nodes
+
+Each {productName} node is one of the following types of node:
+
+`DCOM`::
+  A `DCOM` node supports communication over the Distributed Component
+  Object Model (DCOM) remote protocol. The DCOM remote protocol is
+  available only on Windows systems. If DCOM is set up and you plan to
+  administer your {productName} instances centrally, the instances
+  must reside on `DCOM` nodes. +
+  A `DCOM` node's configuration contains the information that is
+  required to connect to the host through DCOM. This information
+  includes, for example, the user name of the Windows user and the port
+  number for DCOM connections to the host.
+`SSH`::
+  An `SSH` node supports communication over secure shell (SSH). If SSH
+  is set up and you plan to administer your {productName} instances
+  centrally, the instances must reside on `SSH` nodes. +
+  An `SSH` node's configuration contains the information that is
+  required to connect to the host through SSH. This information
+  includes, for example, the user name of the SSH user and the port
+  number for SSH connections to the host.
+`CONFIG`::
+  A `CONFIG` node does not support remote communication. If neither DCOM
+  nor SSH is set up and you plan to administer your instances locally,
+  the instances can reside on `CONFIG` nodes. You cannot use `CONFIG`
+  nodes for instances that you plan to administer centrally. +
+  Each domain contains a predefined `CONFIG` node that is named
+  ``localhost-``domain, where domain is the name of the domain. On the
+  host where the domain administration server (DAS) is running, this
+  node represents the local host.
+
+[[CHDBIHFJ]][[GSHAG463]][[creating-listing-testing-and-deleting-dcom-nodes]]
+
+=== Creating, Listing, Testing, and Deleting `DCOM` Nodes
+
+A `DCOM` node supports communication over DCOM. If DCOM is set up and
+you plan to administer your {productName} instances centrally, the
+instances must reside on `DCOM` nodes. For information about setting up
+DCOM, see link:ssh-setup.html#gkshg[Enabling Centralized Administration
+of {productName} Instances].
+
+{productName} enables you to create `DCOM` nodes for use by
+instances, obtain information about `DCOM` nodes, test if `DCOM` nodes
+are reachable, and delete `DCOM` nodes that are no longer required.
+
+The following topics are addressed here:
+
+* link:#CHDIGBJB[To Create a `DCOM` Node]
+* link:#CHDDCBEG[To List `DCOM` Nodes in a Domain]
+* link:#CHDIFJCC[To Test if a `DCOM` Node is Reachable]
+* link:#CHDCFHBA[To Delete a `DCOM` Node]
+
+[[CHDIGBJB]][[GSHAG464]][[to-create-a-dcom-node]]
+
+==== To Create a `DCOM` Node
+
+Use the `create-node-dcom` subcommand in remote mode to create a `DCOM` node.
+
+[[GSHAG465]]
+
+Before You Begin
+
+Ensure that the Windows user can use DCOM to connect to the host that
+the node will represent. By default, the `create-node-dcom` subcommand
+validates the node's parameters and the DCOM connection to the host.
+If the Windows user cannot use DCOM to connect to the host, the validation fails.
+
+
+[NOTE]
+====
+For information about how to determine whether the Windows user can use
+DCOM to connect to the host, see link:ssh-setup.html#CEGJFADH[To Test the
+Connection Over DCOM to a Remote Host].
+====
+
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the `create-node-dcom` subcommand. +
+Specify the file that contains the alias for the Windows user's password
+through the `--passwordfile` option of the `asadmin` utility. For more
+information about this file, see link:ssh-setup.html#CEGCDCEF[To Set Up
+Password Authentication for the Windows User].
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for configuring the
+node, see the link:reference-manual/create-node-dcom.html#GSRFM510[`create-node-dcom`(1)] help page.
+====
++
+[source]
+----
+C:\> asadmin --passwordfile filename create-node-dcom
+--nodehost node-host [--installdir install-dir ]
+node-name
+----
+filname::
+  The name of the file that contains the alias for the Windows user's
+  password.
+node-host::
+  The name of the host that the node represents. The name of the host
+  must be specified. Otherwise, an error occurs.
+install-dir::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example, `C:\glassfish7`.
+  If the {productName} software is installed in the same directory on
+  the node's host and the DAS host, you can omit this option.
+node-name::
+  Your choice of name for the node that you are creating.
+
+[[GSHAG466]][[sthref13]]
+Example 3-1 Creating a `DCOM` Node
+
+This example creates the `DCOM` node `wpmdl1` to represent the host
+`wpmdl1.example.com`. The {productName} software is installed in the
+same directory on the DAS host and on the host `wpmdl1.example.com`.
+
+[source]
+----
+C:\> asadmin --passwordfile aspwalias.txt create-node-dcom
+--nodehost wpmdl1.example.com wpmdl1
+Command create-node-dcom executed successfully.
+----
+
+[[GSHAG467]]
+
+See Also
+
+* link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
+* link:reference-manual/create-node-dcom.html#GSRFM510[`create-node-dcom`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-node-dcom` at the command line.
+
+[[GSHAG468]]
+
+Next Steps
+
+After creating a node, you can create instances on the node as explained
+in the following sections:
+
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+
+[[CHDDCBEG]][[GSHAG469]][[to-list-dcom-nodes-in-a-domain]]
+
+==== To List `DCOM` Nodes in a Domain
+
+Use the `list-nodes-dcom` subcommand in remote mode to obtain
+information about existing `DCOM` nodes in a domain.
+
+
+[NOTE]
+====
+To obtain information about all existing nodes in a domain, use the
+link:reference-manual/list-nodes.html#GSRFM00187[`list-nodes`] subcommand.
+====
+
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the link:reference-manual/list-nodes-dcom.html#GSRFM693[`list-nodes-dcom`] subcommand.
++
+[source]
+----
+asadmin> list-nodes-dcom
+----
+
+[[GSHAG470]][[sthref14]]
+Example 3-2 Listing Basic Information About All `DCOM` Nodes in a Domain
+
+This example lists the name, type, and host of all `DCOM` nodes in the
+current domain.
+
+[source]
+----
+asadmin> list-nodes-dcom
+xkyd  DCOM  xkyd.example.com
+wpmdl2  DCOM  wpmdl2.example.com
+wpmdl1  DCOM  wpmdl1.example.com
+Command list-nodes-dcom executed successfully.
+----
+
+[[GSHAG471]][[sthref15]]
+Example 3-3 Listing Detailed Information About All `DCOM` Nodes in a
+Domain
+
+This example lists detailed information about all `DCOM` nodes in the
+current domain.
+
+[source]
+----
+asadmin> list-nodes-dcom --long=true
+NODE NAME    TYPE   NODE HOST            INSTALL DIRECTORY   REFERENCED BY
+xkyd         DCOM   xkyd.example.com     C:\glassfish7
+wpmdl2       DCOM   wpmdl2.example.com   C:\glassfish7       wdi2
+wpmdl1       DCOM   wpmdl1.example.com   C:\glassfish7       wdi1
+Command list-nodes-dcom executed successfully.
+----
+
+[[GSHAG472]]
+
+See Also
+
+* link:reference-manual/list-nodes.html#GSRFM00187[`list-nodes`(1)]
+* link:reference-manual/list-nodes-dcom.html#GSRFM693[`list-nodes-dcom`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help list-nodes`
+* `asadmin help list-nodes-dcom`
+
+[[CHDIFJCC]][[GSHAG473]][[to-test-if-a-dcom-node-is-reachable]]
+
+==== To Test if a `DCOM` Node is Reachable
+
+Use the `ping-node-dcom` subcommand in remote mode to test if a `DCOM`
+node is reachable.
+
+[[GSHAG474]]
+
+Before You Begin
+
+Ensure that DCOM is configured on the host where the DAS is running and
+on the host that the node represents.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the `ping-node-dcom` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for testing the node,
+see the link:reference-manual/ping-node-dcom.html#GSRFM728[`ping-node-dcom`(1)] help page.
+====
++
+[source]
+----
+asadmin> ping-node-dcom node-name
+----
+node-name::
+  The name of the node to test.
+
+[[GSHAG475]][[sthref16]]
+Example 3-4 Testing if a `DCOM` Node Is Reachable
+
+This example tests if the `DCOM` node `wpmdl2` is reachable.
+
+[source]
+----
+asadmin> ping-node-dcom wpmdl2
+Successfully made DCOM connection to node wpmdl2 (wpmdl2.example.com)
+Command ping-node-dcom executed successfully.
+----
+
+[[GSHAG476]]
+
+See Also
+
+link:reference-manual/ping-node-dcom.html#GSRFM728[`ping-node-dcom`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help ping-node-dcom` at the command line.
+
+[[CHDCFHBA]][[GSHAG477]][[to-delete-a-dcom-node]]
+
+==== To Delete a `DCOM` Node
+
+Use the `delete-node-dcom` subcommand in remote mode to delete a `DCOM` node.
+
+Deleting a node removes the node from the configuration of the DAS. The
+node's directories and files are deleted when the last {productName}
+instance that resides on the node is deleted.
+
+[[GSHAG478]]
+
+Before You Begin
+
+Ensure that no {productName} instances reside on the node that you
+are deleting. For information about how to delete an instance, see the
+following sections.
+
+* link:instances.html#gkqcw[To Delete an Instance Centrally]
+* link:instances.html#gkqed[To Delete an Instance Locally]
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Confirm that no instances reside on the node that you are deleting.
++
+[source]
+----
+asadmin> list-nodes-dcom --long=true
+----
+3. Run the olink:GSRFM00100[`delete-node-dcom`] subcommand.
++
+[source]
+----
+asadmin> delete-node-dcom node-name
+----
+node-name::
+  The name of the node that you are deleting.
+
+[[GSHAG479]][[sthref17]]
+Example 3-5 Deleting a `DCOM` Node
+
+This example confirms that no instances reside on the `DCOM` node `xkyd`
+and deletes the node `xkyd`.
+
+[source]
+----
+asadmin> list-nodes-dcom --long=true
+NODE NAME    TYPE   NODE HOST            INSTALL DIRECTORY   REFERENCED BY
+xkyd         DCOM   xkyd.example.com     C:\glassfish7
+wpmdl2       DCOM   wpmdl2.example.com   C:\glassfish7       wdi2
+wpmdl1       DCOM   wpmdl1.example.com   C:\glassfish7       wdi1
+Command list-nodes-dcom executed successfully.
+asadmin> delete-node-dcom xkyd
+Command delete-node-dcom executed successfully.
+----
+
+[[GSHAG480]]
+
+See Also
+
+* link:instances.html#gkqcw[To Delete an Instance Centrally]
+* link:instances.html#gkqed[To Delete an Instance Locally]
+* link:reference-manual/delete-node-dcom.html#GSRFM569[`delete-node-dcom`(1)]
+* link:reference-manual/list-nodes-dcom.html#GSRFM693[`list-nodes-dcom`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help delete-node-dcom`
+* `asadmin help list-nodes-dcom`
+
+[[gkrkn]][[GSHAG00180]][[creating-listing-testing-and-deleting-ssh-nodes]]
+
+=== Creating, Listing, Testing, and Deleting `SSH` Nodes
+
+An `SSH` node supports communication over SSH. If SSH is set up and you
+plan to administer your {productName} instances centrally, the
+instances must reside on `SSH` nodes. For information about setting up
+SSH, see link:ssh-setup.html#gkshg[Enabling Centralized Administration of
+{productName} Instances].
+
+
+[NOTE]
+====
+Windows systems also support communications over DCOM as an alternative to SSH.
+====
+
+
+{productName} enables you to create `SSH` nodes for use by instances,
+obtain information about `SSH` nodes, test if `SSH` nodes are reachable,
+and delete `SSH` nodes that are no longer required.
+
+The following topics are addressed here:
+
+* link:#gkrnf[To Create an `SSH` Node]
+* link:#gkrme[To List `SSH` Nodes in a Domain]
+* link:#gksig[To Test if an `SSH` Node is Reachable]
+* link:#gkrlz[To Delete an `SSH` Node]
+
+[[gkrnf]][[GSHAG00088]][[to-create-an-ssh-node]]
+
+==== To Create an `SSH` Node
+
+Use the `create-node-ssh` subcommand in remote mode to create an `SSH`
+node.
+
+[[GSHAG347]]
+
+Before You Begin
+
+Ensure that the SSH user can use SSH to log in to the host that the node
+will represent. By default, the `create-node-ssh` subcommand validates
+the node's parameters and the SSH connection to the host. If the SSH
+user cannot use SSH to log in to the host, the validation fails.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the `create-node-ssh` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for configuring the
+node, see the link:reference-manual/create-node-ssh.html#GSRFM00048[`create-node-ssh`(1)] help page.
+
+If you are using password authentication for the SSH user, you must
+specify a password file through the `--passwordfile` option of the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. For more information about SSH user
+authentication, see link:ssh-setup.html#gkshh[Setting Up SSH User
+Authentication].
+====
++
+[source]
+----
+asadmin> create-node-ssh --nodehost node-host [--installdir install-dir ]
+node-name
+----
+node-host::
+  The name of the host that the node represents. The name of the host
+  must be specified. Otherwise, an error occurs.
+install-dir::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,
+  `/export/glassfish7/`. If the {productName} software is installed
+  in the same directory on the node's host and the DAS host, you can
+  omit this option.
+node-name::
+  Your choice of name for the node that you are creating.
+
+[[GSHAG00020]][[gksih]]
+Example 3-6 Creating an `SSH` Node
+
+This example creates the `SSH` node `sj01` to represent the host
+`sj01.example.com`. The {productName} software is installed in the
+same directory on the DAS host and on the host `sj01.example.com`.
+
+[source]
+----
+asadmin> create-node-ssh --nodehost sj01.example.com sj01
+Command create-node-ssh executed successfully.
+----
+
+[[GSHAG348]]
+
+Troubleshooting
+
+The `create-node-ssh` subcommand might fail to create the node and
+report the error `Illegal sftp packet len`. If this error occurs, ensure
+that no the startup file on the remote host displays text for
+noninteractive shells. Examples of startup files are `.bashrc`,
+`.cshrc`, `.login`, and `.profile`.
+
+The SSH session interprets any text message that is displayed during
+login as a file-transfer protocol packet. Therefore, any statement in a
+startup file that displays text messages corrupts the SSH session,
+causing this error.
+
+[[GSHAG349]]
+
+See Also
+
+link:reference-manual/create-node-ssh.html#GSRFM00048[`create-node-ssh`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-node-ssh` at the command line.
+
+[[GSHAG350]]
+
+Next Steps
+
+After creating a node, you can create instances on the node as explained
+in the following sections:
+
+* link:instances.html#gkqch[To Create an Instance Centrally]
+* link:instances.html#gkqbl[To Create an Instance Locally]
+
+[[gkrme]][[GSHAG00089]][[to-list-ssh-nodes-in-a-domain]]
+
+==== To List `SSH` Nodes in a Domain
+
+Use the `list-nodes-ssh` subcommand in remote mode to obtain information
+about existing `SSH` nodes in a domain.
+
+
+[NOTE]
+====
+To obtain information about all existing nodes in a domain, use the
+link:reference-manual/list-nodes.html#GSRFM00187[`list-nodes`] subcommand.
+====
+
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the link:reference-manual/list-nodes-ssh.html#GSRFM00189[`list-nodes-ssh`] subcommand.
++
+[source]
+----
+asadmin> list-nodes-ssh
+----
+
+[[GSHAG00021]][[gkskt]]
+Example 3-7 Listing Basic Information About All `SSH` Nodes in a Domain
+
+This example lists the name, type, and host of all `SSH` nodes in the
+current domain.
+
+[source]
+----
+asadmin> list-nodes-ssh
+sj01  SSH  sj01.example.com
+sj02  SSH  sj02.example.com
+Command list-nodes-ssh executed successfully.
+----
+
+[[GSHAG00022]][[gkske]]
+Example 3-8 Listing Detailed Information About All `SSH` Nodes in a
+Domain
+
+This example lists detailed information about all `SSH` nodes in the
+current domain.
+
+[source]
+----
+asadmin> list-nodes-ssh --long=true
+NODE NAME   TYPE   NODE HOST          INSTALL DIRECTORY    REFERENCED BY
+sj01        SSH    sj01.example.com   /export/glassfish7   pmd-i1
+sj02        SSH    sj02.example.com   /export/glassfish7   pmd-i2
+Command list-nodes-ssh executed successfully.
+----
+
+[[GSHAG351]]
+
+See Also
+
+* link:reference-manual/list-nodes.html#GSRFM00187[`list-nodes`(1)]
+* link:reference-manual/list-nodes-ssh.html#GSRFM00189[`list-nodes-ssh`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help list-nodes`
+* `asadmin help list-nodes-ssh`
+
+[[gksig]][[GSHAG00090]][[to-test-if-an-ssh-node-is-reachable]]
+
+==== To Test if an `SSH` Node is Reachable
+
+Use the `ping-node-ssh` subcommand in remote mode to test if an `SSH`
+node is reachable.
+
+[[GSHAG352]]
+
+Before You Begin
+
+Ensure that SSH is configured on the host where the DAS is running and
+on the host that the node represents.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the `ping-node-ssh` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for testing the node,
+see the link:reference-manual/ping-node-ssh.html#GSRFM00215[`ping-node-ssh`(1)] help page.
+====
++
+[source]
+----
+asadmin> ping-node-ssh node-name
+----
+node-name::
+  The name of the node to test.
+
+[[GSHAG00023]][[gkshk]]
+Example 3-9 Testing if an `SSH` Node Is Reachable
+
+This example tests if the `SSH` node `sj01` is reachable.
+
+[source]
+----
+asadmin> ping-node-ssh sj01
+Successfully made SSH connection to node sj01 (sj01.example.com)
+Command ping-node-ssh executed successfully.
+----
+
+[[GSHAG353]]
+
+See Also
+
+link:reference-manual/ping-node-ssh.html#GSRFM00215[`ping-node-ssh`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help ping-node-ssh` at the command line.
+
+[[gkrlz]][[GSHAG00091]][[to-delete-an-ssh-node]]
+
+==== To Delete an `SSH` Node
+
+Use the `delete-node-ssh` subcommand in remote mode to delete an `SSH`
+node.
+
+Deleting a node removes the node from the configuration of the DAS. The
+node's directories and files are deleted when the last {productName}
+instance that resides on the node is deleted.
+
+[[GSHAG354]]
+
+Before You Begin
+
+Ensure that no {productName} instances reside on the node that you
+are deleting. For information about how to delete an instance, see the
+following sections.
+
+* link:instances.html#gkqcw[To Delete an Instance Centrally]
+* link:instances.html#gkqed[To Delete an Instance Locally]
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Confirm that no instances reside on the node that you are deleting.
++
+[source]
+----
+asadmin> list-nodes-ssh --long=true
+----
+3. Run the olink:GSRFM00100[`delete-node-ssh`] subcommand.
++
+[source]
+----
+asadmin> delete-node-ssh node-name
+----
+node-name::
+  The name of the node that you are deleting.
+
+[[GSHAG00024]][[gksjg]]
+Example 3-10 Deleting an `SSH` Node
+
+This example confirms that no instances reside on the `SSH` node `sj01`
+and deletes the node `sj01`.
+
+[source]
+----
+asadmin> list-nodes-ssh --long=true
+NODE NAME   TYPE   NODE HOST          INSTALL DIRECTORY    REFERENCED BY
+sj01        SSH    sj01.example.com   /export/glassfish7
+sj02        SSH    sj02.example.com   /export/glassfish7   pmd-i2
+Command list-nodes-ssh executed successfully.
+asadmin> delete-node-ssh sj01
+Command delete-node-ssh executed successfully.
+----
+
+[[GSHAG355]]
+
+See Also
+
+* link:instances.html#gkqcw[To Delete an Instance Centrally]
+* link:instances.html#gkqed[To Delete an Instance Locally]
+* link:reference-manual/delete-node-ssh.html#GSRFM00100[`delete-node-ssh`(1)]
+* link:reference-manual/list-nodes-ssh.html#GSRFM00189[`list-nodes-ssh`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help delete-node-ssh`
+* `asadmin help list-nodes-ssh`
+
+[[gkrnp]][[GSHAG00181]][[creating-listing-and-deleting-config-nodes]]
+
+=== Creating, Listing, and Deleting `CONFIG` Nodes
+
+A `CONFIG` node does not support remote communication. If neither DCOM
+nor SSH is set up and you plan to administer your instances locally, the
+instances can reside on `CONFIG` nodes. You cannot use `CONFIG` nodes
+for instances that you plan to administer centrally.
+
+{productName} enables you to create `CONFIG` nodes for use by
+instances, obtain information about `CONFIG` nodes, and delete `CONFIG`
+nodes that are no longer required.
+
+The following topics are addressed here:
+
+* link:#gkrll[To Create a `CONFIG` Node]
+* link:#gkrjr[To List `CONFIG` Nodes in a Domain]
+* link:#gkrms[To Delete a `CONFIG` Node]
+
+[[gkrll]][[GSHAG00092]][[to-create-a-config-node]]
+
+==== To Create a `CONFIG` Node
+
+Use the `create-node-config` command in remote mode to create a `CONFIG` node.
+
+[NOTE]
+====
+If you create an instance locally on a host for which no nodes are
+defined, you can create the instance without creating a node beforehand.
+In this situation, {productName} creates a `CONFIG` node for you. The
+name of the node is the unqualified name of the host. For more
+information, see link:instances.html#gkqbl[To Create an Instance Locally].
+====
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the `create-node-config` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for configuring the
+node, see the link:reference-manual/create-node-config.html#GSRFM00047[`create-node-config`(1)] help page.
+====
++
+[source]
+----
+asadmin> create-node-config [--nodehost node-host] [--installdir install-dir ]
+node-name
+----
+node-host::
+  The name of the host that the node represents. You may omit this
+  option. The name of the host can be determined when instances that
+  reside on the node are created.
+install-dir::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,
+  `/export/glassfish7/`. You may omit this option. The installation
+  directory can be determined when instances that reside on the node are
+  created.
+node-name::
+  Your choice of name for the node that you are creating.
+
+[[GSHAG00025]][[gkshu]]
+Example 3-11 Creating a `CONFIG` Node
+
+This example creates the `CONFIG` node `cfg01`. The host that the node
+represents and the installation directory of the {productName}
+software on the host are to be determined when instances are added to
+the node.
+
+[source]
+----
+asadmin> create-node-config cfg01
+Command create-node-config executed successfully.
+----
+
+[[GSHAG356]]
+
+See Also
+
+link:reference-manual/create-node-config.html#GSRFM00047[`create-node-config`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-node-config` at the command line.
+
+[[GSHAG357]]
+
+Next Steps
+
+After creating a node, you can create instances on the node as explained
+in link:instances.html#gkqbl[To Create an Instance Locally].
+
+[[gkrjr]][[GSHAG00093]][[to-list-config-nodes-in-a-domain]]
+
+==== To List `CONFIG` Nodes in a Domain
+
+Use the `list-nodes-config` subcommand in remote mode to obtain
+information about existing `CONFIG` nodes in a domain.
+
+
+[NOTE]
+====
+To obtain information about all existing nodes in a domain, use the
+link:reference-manual/list-nodes.html#GSRFM00187[`list-nodes`] subcommand.
+====
+
+
+1. Ensure that the DAS is running.
++
+Remote subcommands require a running server.
+2. Run the link:reference-manual/list-nodes-config.html#GSRFM00188[`list-nodes-config`] subcommand.
++
+[source]
+----
+asadmin> list-nodes-config
+----
+
+[[GSHAG00026]][[gkskp]]
+Example 3-12 Listing Basic Information About All `CONFIG` Nodes in a
+Domain
+
+This example lists the name, type, and host of all `CONFIG` nodes in the
+current domain.
+
+[source]
+----
+asadmin> list-nodes-config
+localhost-domain1  CONFIG  localhost
+cfg01  CONFIG  cfg01.example.com
+cfg02  CONFIG  cfg02.example.com
+Command list-nodes-config executed successfully.
+----
+
+[[GSHAG00027]][[gksjs]]
+Example 3-13 Listing Detailed Information About All `CONFIG` Nodes in a
+Domain
+
+This example lists detailed information about all `CONFIG` nodes in the
+current domain.
+
+[source]
+----
+asadmin> list-nodes-config --long=true
+NODE NAME           TYPE     NODE HOST            INSTALL DIRECTORY    REFERENCED BY
+localhost-domain1   CONFIG   localhost            /export/glassfish7
+cfg01               CONFIG   cfg01.example.com    /export/glassfish7   yml-i1
+cfg02               CONFIG   cfg02.example.com    /export/glassfish7   yml-i2
+Command list-nodes-config executed successfully.
+----
+
+[[GSHAG358]]
+
+See Also
+
+* link:reference-manual/list-nodes.html#GSRFM00187[`list-nodes`(1)]
+* link:reference-manual/list-nodes-config.html#GSRFM00188[`list-nodes-config`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help list-nodes`
+* `asadmin help list-nodes-config`
+
+[[gkrms]][[GSHAG00094]][[to-delete-a-config-node]]
+
+==== To Delete a `CONFIG` Node
+
+Use the `delete-node-config` subcommand in remote mode to delete a
+`CONFIG` node.
+
+Deleting a node removes the node from the configuration of the DAS. The
+node's directories and files are deleted when the last {productName}
+instance that resides on the node is deleted.
+
+[[GSHAG359]]
+
+Before You Begin
+
+Ensure that no {productName} instances reside on the node that you
+are deleting. For information about how to delete an instance that
+resides on a `CONFIG` node, see link:instances.html#gkqed[To Delete an
+Instance Locally].
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Confirm that no instances reside on the node that you are deleting.
++
+[source]
+----
+asadmin> list-nodes-config --long=true
+----
+3. Run the olink:GSRFM00099[`delete-node-config`] subcommand.
++
+[source]
+----
+asadmin> delete-node-config node-name
+----
+node-name::
+  The name of the node that you are deleting.
+
+[[GSHAG00028]][[gksla]]
+Example 3-14 Deleting a `CONFIG` Node
+
+This example confirms that no instances reside on the `CONFIG` node
+`cfg01` and deletes the node `cfg01`.
+
+[source]
+----
+asadmin> list-nodes-config --long=true
+NODE NAME           TYPE     NODE HOST           INSTALL DIRECTORY    REFERENCED BY
+localhost-domain1   CONFIG   localhost           /export/glassfish7
+cfg01               CONFIG   cfg01.example.com   /export/glassfish7
+cfg02               CONFIG   cfg02.example.com   /export/glassfish7   yml-i2
+Command list-nodes-config executed successfully.
+asadmin> delete-node-config cfg01
+Command delete-node-config executed successfully.
+----
+
+[[GSHAG360]]
+
+See Also
+
+* link:instances.html#gkqed[To Delete an Instance Locally]
+* link:reference-manual/delete-node-config.html#GSRFM00099[`delete-node-config`(1)]
+* link:reference-manual/list-nodes-config.html#GSRFM00188[`list-nodes-config`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help delete-node-config`
+* `asadmin help list-nodes-config`
+
+[[gksjd]][[GSHAG00182]][[updating-and-changing-the-type-of-a-node]]
+
+=== Updating and Changing the Type of a Node
+
+{productName} enables you to update the configuration data of any
+node and to change the type of a node.
+
+The following topics are addressed here:
+
+* link:#CHDHHAAE[To Update a `DCOM` Node]
+* link:#gksjq[To Update an `SSH` Node]
+* link:#gksjv[To Update a `CONFIG` Node]
+* link:#gkski[To Change the Type of a Node]
+
+[[CHDHHAAE]][[GSHAG481]][[to-update-a-dcom-node]]
+
+==== To Update a `DCOM` Node
+
+Use the `update-node-dcom` subcommand in remote mode to update a `DCOM` node.
+
+Options of this subcommand specify the new values of the node's configuration data.
+If you omit an option, the existing value is unchanged.
+
+[[GSHAG482]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* DCOM is configured on the host where the DAS is running and on the
+host that the node represents.
+* The node that you are updating exists.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+2. Run the `update-node-dcom` subcommand.
++
+[source]
+----
+asadmin> update-node-dcom options node-name
+----
+options::
+  Options of the `update-node-dcom` subcommand for changing the node's
+  configuration data. For information about these options, see the
+  link:reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)] help page.
+node-name::
+  The name of the `DCOM` node to update.
+
+[[GSHAG483]][[sthref18]]
+Example 3-15 Updating a `DCOM` Node
+
+This example updates the host that the node `wpmdl1` represents to `wj01`.
+
+[source]
+----
+asadmin> update-node-dcom --nodehost wj01 wpmdl1
+Command update-node-dcom executed successfully.
+----
+
+[[GSHAG484]]
+
+See Also
+
+link:reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help update-node-dcom` at the command line.
+
+[[gksjq]][[GSHAG00095]][[to-update-an-ssh-node]]
+
+==== To Update an `SSH` Node
+
+Use the `update-node-ssh` subcommand in remote mode to update an `SSH` node.
+
+Options of this subcommand specify the new values of the node's
+configuration data. If you omit an option, the existing value is unchanged.
+
+[[GSHAG361]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* SSH is configured on the host where the DAS is running and on the host
+that the node represents.
+* The node that you are updating exists.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the `update-node-ssh` subcommand.
++
+[source]
+----
+asadmin> update-node-ssh options node-name
+----
+options::
+  Options of the `update-node-ssh` subcommand for changing the node's
+  configuration data. For information about these options, see the
+  link:reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)] help page.
+node-name::
+  The name of the `SSH` node to update.
+
+[[GSHAG00029]][[gkslc]]
+Example 3-16 Updating an `SSH` Node
+
+This example updates the host that the node `sj01` represents to
+`adc01.example.com`.
+
+[source]
+----
+asadmin> update-node-ssh --nodehost adc01.example.com sj01
+Command update-node-ssh executed successfully.
+----
+
+[[GSHAG362]]
+
+See Also
+
+link:reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help update-node-ssh` at the command line.
+
+[[gksjv]][[GSHAG00096]][[to-update-a-config-node]]
+
+==== To Update a `CONFIG` Node
+
+Use the `update-node-config` subcommand in remote mode to update a
+`CONFIG` node.
+
+Options of this subcommand specify the new values of the node's
+configuration data. If you omit an option, the existing value is
+unchanged.
+
+[[GSHAG363]]
+
+Before You Begin
+
+Ensure that the node that you are updating exists.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the `update-node-config` subcommand.
++
+[source]
+----
+asadmin> uupdate-node-config options node-name
+----
+options::
+  Options of the `update-node-config` subcommand for changing the node's
+  configuration data. For information about these options, see the
+  link:reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)] help page.
+node-name::
+  The name of the `CONFIG` node to update.
+
+[[GSHAG00030]][[gkskc]]
+Example 3-17 Updating a `CONFIG` Node
+
+This example updates the host that the node `cfg02` represents to
+`adc02.example.com`.
+
+[source]
+----
+asadmin> update-node-config --nodehost adc02.example.com cfg02
+Command update-node-config executed successfully.
+----
+
+[[GSHAG364]]
+
+See Also
+
+link:reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help update-node-config` at the command line.
+
+[[gkski]][[GSHAG00097]][[to-change-the-type-of-a-node]]
+
+==== To Change the Type of a Node
+
+The subcommands for updating a node can also be used to change the type
+of a node.
+
+Changing the type of a `CONFIG` node enables remote communication for
+the node. The type of the node after the change determines the protocol
+over which the node is enabled for remote communication:
+
+* A `DCOM` node is enabled for communication over DCOM.
+* An `SSH` node is enabled for communication over SSH.
+
+As part of the process of changing the type of a node, you can also
+change other configuration data for the node.
+
+Options of the subcommands for updating a node specify the new values of
+the node's configuration data. For most options, if you omit the option,
+the existing value is unchanged. However, default values are applied in
+the following situations:
+
+* Any of the following options of the `update-node-dcom` subcommand is
+omitted:
+
+** `--windowsuser`
+** `--windowsdomain`
+
+* Any of the following options of the `update-node-ssh` subcommand is omitted:
+
+** `--sshport`
+** `--sshuser`
+** `--sshkeyfile`
+
+
+[CAUTION]
+====
+Changing a `DCOM` node or an `SSH` node to a `CONFIG` node disables
+remote communication for the node.
+====
+
+
+[[GSHAG365]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* SSH or DCOM is configured on the host where the DAS is running and on
+the host that the node represents.
+* The node the type of which you are changing exists.
+
+1. Ensure that the DAS is running. Remote subcommands require a running server.
+
+2. Run the appropriate subcommand for updating a node, depending on the
+type of the node after the change.
+
+** To change the type of a node to `DCOM`, run the `update-node-dcom`
+subcommand on the node.
++
+[source]
+----
+asadmin> update-node-dcom [options] config-or-ssh-node-name
+----
+options::
+  Options of the `update-node-dcom` subcommand for changing the node's
+  configuration data. For information about these options, see the
+  link:reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)] help page.
+config-or-ssh-node-name::
+  The name of the `CONFIG` node or the `SSH` node to change.
+
+** To change the type of a node to `SSH`, run the `update-node-ssh`
+subcommand on the node.
++
+[source]
+----
+asadmin> update-node-ssh [options] config-or-dcom-node-name
+----
+options::
+  Options of the `update-node-ssh` subcommand for changing the node's
+  configuration data. For information about these options, see the
+  link:reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)] help page.
+config-or-dcom-node-name::
+  The name of the `CONFIG` node or the `DCOM` node to change.
+
+** To change the type of a node to `CONFIG`, run the `update-node-config`
+subcommand on the node.
++
+[source]
+----
+asadmin> update-node-config [options] dcom-or-ssh-node-name
+----
+options::
+  Options of the `update-node-config` subcommand for changing the node's
+  configuration data. For information about these options, see the
+  link:reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)] help page.
+dcom-or-ssh-node-name::
+  The name of the `DCOM` node or the `SSH` node to change.
+
+[[GSHAG00031]][[gkshw]]
+Example 3-18 Changing a `CONFIG` Node to an `SSH` Node
+
+This example changes the `CONFIG` node `cfg02` to an `SSH` node.
+
+[source]
+----
+asadmin> update-node-ssh cfg02
+Command update-node-ssh executed successfully.
+----
+
+[[GSHAG366]]
+
+See Also
+
+* link:reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)]
+* link:reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)]
+* link:reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing the following commands at the command line.
+
+* `asadmin help update-node-config`
+* `asadmin help update-node-dcom`
+* `asadmin help update-node-ssh`
diff --git a/docs/ha-administration-guide/src/main/asciidoc/overview.adoc b/docs/ha-administration-guide/src/main/asciidoc/overview.adoc
new file mode 100644
index 0000000..c4600ad
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/overview.adoc
@@ -0,0 +1,436 @@
+type=page
+status=published
+title=High Availability in {productName}
+next=ssh-setup.html
+prev=preface.html
+~~~~~~
+
+= High Availability in {productName}
+
+[[GSHAG00002]][[abdaq]]
+
+
+[[high-availability-in-glassfish-server]]
+== 1 High Availability in {productName}
+
+This chapter describes the high availability features in {productName} 7.
+
+The following topics are addressed here:
+
+* link:#abdar[Overview of High Availability]
+* link:#gaymr[How {productName} Provides High Availability]
+* link:#gbcot[Recovering from Failures]
+* link:#abdaz[More Information]
+
+[[abdar]][[GSHAG00168]][[overview-of-high-availability]]
+
+=== Overview of High Availability
+
+High availability applications and services provide their functionality
+continuously, regardless of hardware and software failures. To make such
+reliability possible, {productName} provides mechanisms for
+maintaining application state data between clustered {productName}
+instances. Application state data, such as HTTP session data, stateful
+EJB sessions, and dynamic cache information, is replicated in real time
+across server instances. If any one server instance goes down, the
+session state is available to the next failover server, resulting in
+minimum application downtime and enhanced transactional security.
+
+{productName} provides the following high availability features:
+
+* link:#gksdm[Load Balancing With the Apache `mod_jk` or `mod_proxy_ajp` Module]
+* link:#gaynn[High Availability Session Persistence]
+* link:#gayna[High Availability Java Message Service]
+* link:#gaymz[RMI-IIOP Load Balancing and Failover]
+
+[[gksdm]][[GSHAG00252]][[load-balancing-with-the-apache-mod_jk-or-mod_proxy_ajp-module]]
+
+==== Load Balancing With the Apache `mod_jk` or `mod_proxy_ajp` Module
+
+A common load balancing configuration for {productName} 7 is to use
+the Apache HTTP Server as the web server front-end, and the Apache
+`mod_jk` or `mod_proxy_ajp` module as the connector between the web
+server and {productName}. See
+link:http-load-balancing.html#gksdt[Configuring {productName} with
+Apache HTTP Server and `mod_jk`] and
+link:http-load-balancing.html#CHDCCGDC[Configuring {productName} with
+Apache HTTP Server and `mod_proxy_ajp`] for more information.
+
+[[gaynn]][[GSHAG00253]][[high-availability-session-persistence]]
+
+==== High Availability Session Persistence
+
+{productName} provides high availability of HTTP requests and session
+data (both HTTP session data and stateful session bean data).
+
+Jakarta EE applications typically have significant amounts of session state
+data. A web shopping cart is the classic example of a session state.
+Also, an application can cache frequently-needed data in the session
+object. In fact, almost all applications with significant user
+interactions need to maintain session state. Both HTTP sessions and
+stateful session beans (SFSBs) have session state data.
+
+Preserving session state across server failures can be important to end
+users. If the {productName} instance hosting the user session
+experiences a failure, the session state can be recovered, and the
+session can continue without loss of information. High availability is
+implemented in {productName} by means of in-memory session
+replication on {productName} instances running in a cluster.
+
+For more information about in-memory session replication in {productName}, see link:#gaymr[How {productName} Provides High
+Availability]. For detailed instructions on configuring high
+availability session persistence, see
+link:session-persistence-and-failover.html#abdkz[Configuring High
+Availability Session Persistence and Failover].
+
+[[gayna]][[GSHAG00254]][[high-availability-java-message-service]]
+
+==== High Availability Java Message Service
+
+{productName} supports the Java Message Service (JMS) API and JMS
+messaging through its built-in jmsra resource adapter communicating with
+Open Message Queue as the JMS provider. This combination is often called
+the JMS Service.
+
+The JMS service makes JMS messaging highly available as follows:
+
+Message Queue Broker Clusters::
+  By default, when a GlassFish cluster is created, the JMS service
+  automatically configures a Message Queue broker cluster to provide JMS
+  messaging services, with one clustered broker assigned to each cluster
+  instance. This automatically created broker cluster is configurable to
+  take advantage of the two types of broker clusters, conventional and
+  enhanced, supported by Message Queue. +
+  Additionally, Message Queue broker clusters created and managed using
+  Message Queue itself can be used as external, or remote, JMS hosts.
+  Using external broker clusters provides additional deployment options,
+  such as deploying Message Queue brokers on different hosts from the
+  GlassFish instances they service, or deploying different numbers of
+  Message Queue brokers and GlassFish instances. +
+  For more information about Message Queue clustering, see
+  link:jms.html#abdbx[Using Message Queue Broker Clusters With {productName}].
+Connection Failover::
+  The use of Message Queue broker clusters allows connection failover in
+  the event of a broker failure. If the primary JMS host (Message Queue
+  broker) in use by a GlassFish instance fails, connections to the
+  failed JMS host will automatically fail over to another host in the
+  JMS host list, allowing messaging operations to continue and
+  maintaining JMS messaging semantics. +
+  For more information about JMS connection failover, see
+  link:jms.html#abdbv[Connection Failover].
+
+[[gaymz]][[GSHAG00255]][[rmi-iiop-load-balancing-and-failover]]
+
+==== RMI-IIOP Load Balancing and Failover
+
+With RMI-IIOP load balancing, IIOP client requests are distributed to
+different server instances or name servers, which spreads the load
+evenly across the cluster, providing scalability. IIOP load balancing
+combined with EJB clustering and availability also provides EJB
+failover.
+
+When a client performs a JNDI lookup for an object, the Naming Service
+essentially binds the request to a particular server instance. From then
+on, all lookup requests made from that client are sent to the same
+server instance, and thus all `EJBHome` objects will be hosted on the
+same target server. Any bean references obtained henceforth are also
+created on the same target host. This effectively provides load
+balancing, since all clients randomize the list of target servers when
+performing JNDI lookups. If the target server instance goes down, the
+lookup or EJB method invocation will failover to another server
+instance.
+
+IIOP Load balancing and failover happens transparently. No special steps
+are needed during application deployment. If the {productName}
+instance on which the application client is deployed participates in a
+cluster, the {productName} finds all currently active IIOP endpoints
+in the cluster automatically. However, a client should have at least two
+endpoints specified for bootstrapping purposes, in case one of the
+endpoints has failed.
+
+For more information on RMI-IIOP load balancing and failover, see
+link:rmi-iiop.html#fxxqs[RMI-IIOP Load Balancing and Failover].
+
+[[gaymr]][[GSHAG00169]][[how-glassfish-server-provides-high-availability]]
+
+=== How {productName} Provides High Availability
+
+{productName} provides high availability through the following
+subcomponents and features:
+
+* link:#gjghv[Storage for Session State Data]
+* link:#abdax[Highly Available Clusters]
+
+[[gjghv]][[GSHAG00256]][[storage-for-session-state-data]]
+
+==== Storage for Session State Data
+
+Storing session state data enables the session state to be recovered
+after the failover of a server instance in a cluster. Recovering the
+session state enables the session to continue without loss of
+information. {productName} supports in-memory session replication on
+other servers in the cluster for maintaining HTTP session and stateful
+session bean data.
+
+In-memory session replication is implemented in {productName} 7 as
+an OSGi module. Internally, the replication module uses a consistent
+hash algorithm to pick a replica server instance within a cluster of
+instances. This allows the replication module to easily locate the
+replica or replicated data when a container needs to retrieve the data.
+
+The use of in-memory replication requires the Group Management Service
+(GMS) to be enabled. For more information about GMS, see
+link:clusters.html#gjfnl[Group Management Service].
+
+If server instances in a cluster are located on different hosts, ensure
+that the following prerequisites are met:
+
+* To ensure that GMS and in-memory replication function correctly, the
+hosts must be on the same subnet.
+* To ensure that in-memory replication functions correctly, the system
+clocks on all hosts in the cluster must be synchronized as closely as
+possible.
+
+[[abdax]][[GSHAG00257]][[highly-available-clusters]]
+
+==== Highly Available Clusters
+
+A highly available cluster integrates a state replication service with
+clusters and load balancer.
+
+
+[NOTE]
+====
+When implementing a highly available cluster, use a load balancer that
+includes session-based stickiness as part of its load-balancing
+algorithm. Otherwise, session data can be misdirected or lost.
+An example of a load balancer that includes session-based stickiness is the
+Loadbalancer Plug-In available in {productName}.
+====
+
+
+[[abday]][[GSHAG00218]][[clusters-instances-sessions-and-load-balancing]]
+
+===== Clusters, Instances, Sessions, and Load Balancing
+
+Clusters, server instances, load balancers, and sessions are related as
+follows:
+
+* A server instance is not required to be part of a cluster. However, an
+instance that is not part of a cluster cannot take advantage of high
+availability through transfer of session state from one instance to
+other instances.
+* The server instances within a cluster can be hosted on one or multiple
+hosts. You can group server instances across different hosts into a
+cluster.
+* A particular load balancer can forward requests to server instances on
+multiple clusters. You can use this ability of the load balancer to
+perform an online upgrade without loss of service. For more information,
+see link:rolling-upgrade.html#abdin[Upgrading in Multiple Clusters].
+* A single cluster can receive requests from multiple load balancers. If
+a cluster is served by more than one load balancer, you must configure
+the cluster in exactly the same way on each load balancer.
+* Each session is tied to a particular cluster. Therefore, although you
+can deploy an application on multiple clusters, session failover will
+occur only within a single cluster.
+
+The cluster thus acts as a safe boundary for session failover for the
+server instances within the cluster. You can use the load balancer and
+upgrade components within the {productName} without loss of service.
+
+[[gktax]][[GSHAG00219]][[protocols-for-centralized-cluster-administration]]
+
+===== Protocols for Centralized Cluster Administration
+
+{productName} uses the Distributed Component Object Model (DCOM)
+remote protocol or secure shell (SSH) to ensure that clusters that span
+multiple hosts can be administered centrally. To perform administrative
+operations on {productName} instances that are remote from the domain
+administration server (DAS), the DAS must be able to communicate with
+those instances. If an instance is running, the DAS connects to the
+running instance directly. For example, when you deploy an application
+to an instance, the DAS connects to the instance and deploys the
+application to the instance.
+
+However, the DAS cannot connect to an instance to perform operations on
+an instance that is not running, such as creating or starting the
+instance. For these operations, the DAS uses DCOM or SSH to contact a
+remote host and administer instances there. DCOM or SSH provides
+confidentiality and security for data that is exchanged between the DAS
+and remote hosts.
+
+
+[NOTE]
+====
+The use of DCOM or SSH to enable centralized administration of remote
+instances is optional. If the use of DCOM SSH is not feasible in your
+environment, you can administer remote instances locally.
+====
+
+
+For more information, see link:ssh-setup.html#gkshg[Enabling Centralized
+Administration of {productName} Instances].
+
+[[gbcot]][[GSHAG00170]][[recovering-from-failures]]
+
+=== Recovering from Failures
+
+You can use various techniques to manually recover individual
+subcomponents after hardware failures such as disk crashes.
+
+The following topics are addressed here:
+
+* link:#gcmkp[Recovering the Domain Administration Server]
+* link:#gcmkc[Recovering {productName} Instances]
+* link:#gcmjs[Recovering the HTTP Load Balancer and Web Server]
+* link:#gcmjr[Recovering Message Queue]
+
+[[gcmkp]][[GSHAG00258]][[recovering-the-domain-administration-server]]
+
+==== Recovering the Domain Administration Server
+
+Loss of the Domain Administration Server (DAS) affects only
+administration. {productName} clusters and standalone instances, and
+the applications deployed to them, continue to run as before, even if
+the DAS is not reachable
+
+Use any of the following methods to recover the DAS:
+
+* Back up the domain periodically, so you have periodic snapshots. After
+a hardware failure, re-create the DAS on a new host, as described in
+"link:administration-guide/domains.html#GSADG00542[Re-Creating the Domain Administration Server (DAS)]"
+in {productName} Administration Guide.
+* Put the domain installation and configuration on a shared and robust
+file system (NFS for example). If the primary DAS host fails, a second
+host is brought up with the same IP address and will take over with
+manual intervention or user supplied automation.
+* Zip the {productName} installation and domain root directory.
+Restore it on the new host, assigning it the same network identity.
+
+[[gcmkc]][[GSHAG00259]][[recovering-glassfish-server-instances]]
+
+==== Recovering {productName} Instances
+
+{productName} provide tools for backing up and restoring {productName} instances. For more information, see link:instances.html#gksdy[To
+Resynchronize an Instance and the DAS Offline].
+
+[[gcmjs]][[GSHAG00260]][[recovering-the-http-load-balancer-and-web-server]]
+
+==== Recovering the HTTP Load Balancer and Web Server
+
+There are no explicit commands to back up only a web server
+configuration. Simply zip the web server installation directory. After
+failure, unzip the saved backup on a new host with the same network
+identity. If the new host has a different IP address, update the DNS
+server or the routers.
+
+
+[NOTE]
+====
+This assumes that the web server is either reinstalled or restored from
+an image first.
+====
+
+
+The Load Balancer Plug-In (`plugins` directory) and configurations are
+in the web server installation directory, typically `/opt/SUNWwbsvr`.
+The web-install``/``web-instance``/config`` directory contains the
+`loadbalancer.xml` file.
+
+[[gcmjr]][[GSHAG00261]][[recovering-message-queue]]
+
+==== Recovering Message Queue
+
+When a Message Queue broker becomes unavailable, the method you use to
+restore the broker to operation depends on the nature of the failure
+that caused the broker to become unavailable:
+
+* Power failure or failure other than disk storage
+* Failure of disk storage
+
+Additionally, the urgency of restoring an unavailable broker to
+operation depends on the type of the broker:
+
+* Standalone Broker. When a standalone broker becomes unavailable, both
+service availability and data availability are interrupted. Restore the
+broker to operation as soon as possible to restore availability.
+* Broker in a Conventional Cluster. When a broker in a conventional
+cluster becomes unavailable, service availability continues to be
+provided by the other brokers in the cluster. However, data availability
+of the persistent data stored by the unavailable broker is interrupted.
+Restore the broker to operation to restore availability of its
+persistent data.
+* Broker in an Enhanced Cluster. When a broker in an enhanced cluster
+becomes unavailable, service availability and data availability continue
+to be provided by the other brokers in the cluster. Restore the broker
+to operation to return the cluster to its previous capacity.
+
+[[glaiv]][[GSHAG00220]][[recovering-from-power-failure-and-failures-other-than-disk-storage]]
+
+===== Recovering From Power Failure and Failures Other Than Disk Storage
+
+When a host is affected by a power failure or failure of a non-disk
+component such as memory, processor or network card, restore Message
+Queue brokers on the affected host by starting the brokers after the
+failure has been remedied.
+
+To start brokers serving as Embedded or Local JMS hosts, start the
+GlassFish instances the brokers are servicing. To start brokers serving
+as Remote JMS hosts, use the `imqbrokerd` Message Queue utility.
+
+[[glaiu]][[GSHAG00221]][[recovering-from-failure-of-disk-storage]]
+
+===== Recovering from Failure of Disk Storage
+
+Message Queue uses disk storage for software, configuration files and
+persistent data stores. In a default GlassFish installation, all three
+of these are generally stored on the same disk: the Message Queue
+software in as-install-parent``/mq``, and broker configuration files and
+persistent data stores (except for the persistent data stores of
+enhanced clusters, which are housed in highly available databases) in
+domain-dir``/imq``. If this disk fails, restoring brokers to operation is
+impossible unless you have previously created a backup of these items.
+To create such a backup, use a utility such as `zip`, `gzip` or `tar` to
+create archives of these directories and all their content. When
+creating the backup, you should first quiesce all brokers and physical
+destinations, as described in "link:../openmq/mq-admin-guide/broker-management.html#GMADG00522[Quiescing a Broker]" and
+"link:../openmq/mq-admin-guide/message-delivery.html#GMADG00533[Pausing and Resuming a Physical Destination]" in Open
+Message Queue Administration Guide, respectively. Then, after the failed
+disk is replaced and put into service, expand the backup archive into
+the same location.
+
+Restoring the Persistent Data Store From Backup. For many messaging
+applications, restoring a persistent data store from backup does not
+produce the desired results because the backed up store does not
+represent the content of the store when the disk failure occurred. In
+some applications, the persistent data changes rapidly enough to make
+backups obsolete as soon as they are created. To avoid issues in
+restoring a persistent data store, consider using a RAID or SAN data
+storage solution that is fault tolerant, especially for data stores in
+production environments.
+
+[[abdaz]][[GSHAG00171]][[more-information]]
+
+=== More Information
+
+For information about planning a high-availability deployment, including
+assessing hardware requirements, planning network configuration, and
+selecting a topology, see the link:deployment-planning-guide.html#GSPLG[{productName} Deployment Planning Guide]. This manual also provides a
+high-level introduction to concepts such as:
+
+* {productName} components such as node agents, domains, and clusters
+* IIOP load balancing in a cluster
+* Message queue failover
+
+For more information about developing applications that take advantage
+of high availability features, see the link:application-development-guide.html#GSDVG[{productName} Application Development Guide].
+
+For information on how to configure and tune applications and {productName} for best performance with high availability, see the
+link:performance-tuning-guide.html#GSPTG[{productName} Performance Tuning
+Guide], which discusses topics such as:
+
+* Tuning persistence frequency and persistence scope
+* Checkpointing stateful session beans
+* Configuring the JDBC connection pool
+* Session size
+* Configuring load balancers for best performance
diff --git a/docs/ha-administration-guide/src/main/asciidoc/preface.adoc b/docs/ha-administration-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..2602884
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,284 @@
+type=page
+status=published
+title=Preface
+next=overview.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSHAG00001]][[pref]]
+
+
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This book describes the high-availability features in {productName},
+including converged load balancing, HTTP load balancing, clusters,
+session persistence and failover.
+
+
+[NOTE]
+====
+The main thrust of the {productName} 7 release
+is to provide an application server for developers to explore and begin
+exploiting the new and updated technologies in the Jakarta EE 10 platform.
+Thus, the clustering, standalone instance and high availability features
+of {productName} were not a focus of this release. These features are
+included in the release, but they may not function properly with some of
+the new features added in support of the Jakarta EE 10 platform.
+====
+
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation
+set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at `http://glassfish.java.net/`. The GlassFish
+project provides a structured process for developing the {productName} platform that makes the new features of the Jakarta EE platform
+available faster, while maintaining the most important feature of Java
+EE: compatibility. It enables Java developers to access the {productName} source code and to contribute to the development of the {productName}. The GlassFish project is designed to encourage communication
+between Oracle engineers and the community.
+
+[[GSHAG00163]][[gksfg]]
+
+
+[[oracle-glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide] |Explains how to get started with the
+{productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide] |Explains how to install the software
+and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
+version of {productName}. This guide also describes differences
+between adjacent product releases and configuration options that can
+result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide] |Explains how to build a
+production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide] |Explains how to configure, monitor,
+and manage {productName} subsystems and components from the command
+line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
+performing these tasks from the Administration Console are provided in
+the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide] |Provides instructions for configuring and
+administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
+deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide] |Explains how to create and
+implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}. These
+applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs). This guide provides
+information about developer tools, security, and debugging.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide] |Explains how to run applications in
+embedded {productName} and to develop applications in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide] |Explains how to
+configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
+performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
+might encounter when using {productName} and explains how to solve
+them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference] |Describes error messages that you
+might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual] |Provides reference information in man
+page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes] |Describes new features,
+compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
+to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide] |Explains how to set up
+and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
+the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
+information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
+programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue
+messages.
+|===
+
+
+[[GSHAG00165]][[fwbkx]]
+
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+|`AaBbCc123` |The names of commands, files, and directories, and
+onscreen computer output a|
+Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
+`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123 |A placeholder to be replaced with a real name or value |The
+command to remove a file is `rm` filename.
+
+|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
+that some emphasized items appear bold online) a|
+Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+
+|===
+
+
+[[GSHAG00166]][[fquvc]]
+
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
+`-l` option is not required.
+
+|`{ \| }` |Contains a set of choices for a required command option.
+|`-d {y\|n}` |The `-d` option requires that you use either the `y`
+argument or the `n` argument.
+
+|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
+Control key while you press the A key.
+
+|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
+Control key, release it, and then press the subsequent keys.
+
+|> |Indicates menu item selection in a graphical user interface. |File >
+New > Templates |From the File menu, choose New. From the New submenu,
+choose Templates.
+|===
+
+
+[[GSHAG00164]][[ghpfg]]
+
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[width="100%",cols="<14%,<34%,<52%",options="header",]
+|===
+|Placeholder |Description |Default Value
+|as-install
+a|Represents the base installation directory for {productName}.
+
+In configuration files, as-install is represented as follows:
+
+`${com.sun.aas.installRoot}`
+
+a|Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
+
+user's-home-directory``/glassfish7/glassfish``
+
+Installations on the Windows operating system:
+
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
+
+user's-home-directory``/glassfish7``
+
+Installations on the Windows operating system:
+
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+a|Represents the directory in which a domain's configuration is stored.
+
+In configuration files, domain-dir is represented as follows:
+
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir``/``domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir``/``instance-name
+|===
diff --git a/docs/ha-administration-guide/src/main/asciidoc/rmi-iiop.adoc b/docs/ha-administration-guide/src/main/asciidoc/rmi-iiop.adoc
new file mode 100644
index 0000000..f2bef4a
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/rmi-iiop.adoc
@@ -0,0 +1,482 @@
+type=page
+status=published
+title=RMI-IIOP Load Balancing and Failover
+prev=jms.html
+~~~~~~
+
+= RMI-IIOP Load Balancing and Failover
+
+[[GSHAG00013]][[fxxqs]]
+
+[[rmi-iiop-load-balancing-and-failover]]
+== 11 RMI-IIOP Load Balancing and Failover
+
+This chapter describes using high-availability features for remote EJB
+references and JNDI objects over RMI-IIOP in {productName}.
+
+* link:#abdbe[Overview]
+* link:#gknqo[`InitialContext` Load Balancing]
+* link:#gknpv[Per-Request Load Balancing (PRLB)]
+
+[[abdbe]][[GSHAG00215]][[overview]]
+
+=== Overview
+
+With RMI-IIOP load balancing, IIOP client requests are distributed to
+different server instances or name servers. The goal is to spread the
+load evenly across the cluster, thus providing scalability. IIOP load
+balancing combined with EJB clustering and availability also provides
+EJB failover.
+
+The following topics are addressed here:
+
+* link:#abdbf[General Requirements for Configuring Load Balancing]
+* link:#gknpk[Load Balancing Models]
+
+[[abdbf]][[GSHAG00313]][[general-requirements-for-configuring-load-balancing]]
+
+==== General Requirements for Configuring Load Balancing
+
+{productName} provides high availability of remote EJB
+references and `NameService` objects over RMI-IIOP, provided all the
+following apply:
+
+* Your deployment has a cluster of at least two instances.
+* Jakarta EE applications are deployed to all instances and clusters that
+participate in load balancing.
+* RMI-IIOP client applications are enabled for load balancing.
+
+{productName} supports load balancing for Java applications executing
+in the Application Client Container (ACC). See link:#abdbd[Enabling
+RMI-IIOP Hardware Load Balancing and Failover].
+
+
+[NOTE]
+====
+{productName} does not support RMI-IIOP load balancing and failover
+over secure sockets layer (SSL).
+====
+
+
+[[gknpk]][[GSHAG00314]][[load-balancing-models]]
+
+==== Load Balancing Models
+
+{productName} supports two general models for load balancing:
+
+link:#gknqo[`InitialContext` Load Balancing]::
+  When a client performs a JNDI lookup for an object, the Naming Service
+  creates a `InitialContext` (IC) object associated with a particular
+  server instance. From then on, all lookup requests made using that IC
+  object are sent to the same server instance. `InitialContext` load
+  balancing can be configured automatically across an entire cluster.
+link:#gknpv[Per-Request Load Balancing (PRLB)]::
+  Per Request Load Balancing (PRLB) is a method for load balancing
+  stateless EJBs that enables load-balancing for each request to an EJB
+  instance. PRLB chooses the first node in a cluster to use on each
+  request. PRLB is configured on a per-EJB basis.
+
+[[gknqo]][[GSHAG00216]][[initialcontext-load-balancing]]
+
+=== `InitialContext` Load Balancing
+
+The following topics are addressed here:
+
+* link:#gknpn[`InitialContext` Summary]
+* link:#abdbg[`InitialContext` Algorithm]
+* link:#abdbd[Enabling RMI-IIOP Hardware Load Balancing and Failover]
+
+[[gknpn]][[GSHAG00315]][[initialcontext-summary]]
+
+==== `InitialContext` Summary
+
+When `InitialContext` load balancing is used, the client calls the
+`InitialContext()` method to create a new `InitialContext` (IC) object
+that is associated with a particular server instance. JNDI lookups are
+then performed on that IC object, and all lookup requests made using
+that IC object are sent to the same server instance. All `EJBHome`
+objects looked up with that `InitialContext` are hosted on the same
+target server. Any bean references obtained henceforth are also created
+on the same target host. This effectively provides load balancing, since
+all clients randomize the list of live target servers when creating
+`InitialContext` objects. If the target server instance goes down, the
+lookup or EJB method invocation will failover to another server
+instance. All objects derived from same `InitialContext` will failover
+to the same server instance.
+
+IIOP load balancing and failover happens transparently. No special steps
+are needed during application deployment. IIOP load balancing and
+failover for the {productName} supports dynamically reconfigured
+clusters. If the {productName} instance on which the application
+client is deployed participates in a cluster, the {productName} finds
+all currently active IIOP endpoints in the cluster automatically.
+Therefore, you are not required to manually update the list of endpoints
+if a new instance is added to the cluster or deleted from the cluster.
+However, a client should have at least two endpoints specified for
+bootstrapping purposes, in case one of the endpoints has failed.
+
+[[abdbg]][[GSHAG00316]][[initialcontext-algorithm]]
+
+==== `InitialContext` Algorithm
+
+{productName} uses a randomization and round-robin algorithm for
+RMI-IIOP load balancing and failover.
+
+When an RMI-IIOP client first creates a new `InitialContext` object, the
+list of available {productName} IIOP endpoints is randomized for that
+client. For that `InitialContext` object, the load balancer directs
+lookup requests and other `InitialContext` operations to an endpoint on
+the randomized list. If that endpoint is not available then a different
+random endpoint in the list is used.
+
+Each time the client subsequently creates a new `InitialContext` object,
+the endpoint list is rotated so that a different IIOP endpoint is used
+for `InitialContext` operations. The rotation is randomized, so the
+rotation is not to the next endpoint in the list, but instead to a
+random endpoint in the list.
+
+When you obtain or create beans from references obtained by an
+`InitialContext` object, those beans are created on the {productName}
+instance serving the IIOP endpoint assigned to the `InitialContext`
+object. The references to those beans contain the IIOP endpoint
+addresses of all {productName} instances in the cluster.
+
+The primary endpoint is the bean endpoint corresponding to the
+`InitialContext` endpoint used to look up or create the bean. The other
+IIOP endpoints in the cluster are designated as alternate endpoints. If
+the bean's primary endpoint becomes unavailable, further requests on
+that bean fail over to one of the alternate endpoints.
+
+You can configure RMI-IIOP load balancing and failover to work with
+applications running in the ACC.
+
+[[abdbd]][[GSHAG00317]][[enabling-rmi-iiop-hardware-load-balancing-and-failover]]
+
+==== Enabling RMI-IIOP Hardware Load Balancing and Failover
+
+You can enable RMI-IIOP load balancing and failover for applications
+running in the application client container (ACC). Weighted round-robin
+load balancing is also supported.
+
+[[abdbi]][[GSHAG00161]][[to-enable-rmi-iiop-hardware-load-balancing-for-the-application-client-container]]
+
+===== To Enable RMI-IIOP Hardware Load Balancing for the Application Client Container
+
+This procedure provides an overview of the steps necessary to enable
+RMI-IIOP load balancing and failover with the application client
+container (ACC). For additional information on the ACC, see
+"link:application-development-guide/java-clients.html#GSDVG00160[Developing Clients Using the ACC]" in {productName} Application Development Guide.
+
+[[GSHAG440]]
+
+Before You Begin
+
+The first five steps in this procedure are only necessary if you are
+enabling RMI-IIOP load balancing on a system other than the DAS. This is
+common in production environment, but less common in a development
+environment. For example, a developer who wants to experiment with a
+cluster and load balancing might create two instances on the same system
+on which the DAS is running. In such cases, these steps are unnecessary.
+
+1. Go to the install_dir ``/bin`` directory.
+
+2. Run `package-appclient`. +
+This utility produces an `appclient.jar` file. For more information on
+`package-appclient`, see link:reference-manual/package-appclient.html#GSRFM00264[`package-appclient`(1M)].
+
+3. Copy the `appclient.jar` file to the machine where you want your
+client and extract it.
+
+4. Edit the `asenv.conf` or `asenv.bat` path variables to refer to the
+correct directory values on that machine.
++
+The file is at appclient-install-dir `/config/`.
++
+For a list of the path variables to update, see
+link:reference-manual/package-appclient.html#GSRFM00264[`package-appclient`(1M)].
+
+5. If required, make the `appclient` script executable.
++
+For example, on UNIX use `chmod 700`.
+
+6. [[gevjb]]
+Find the IIOP listener port number for at least two instances in the cluster.
++
+You specify the IIOP listeners as endpoints in link:#gevkc[Add at least
+two `target-server` elements in the `sun-acc.xml` file.].
++
+For each instance, obtain the IIOP listener ports as follows:
+[arabic]
+.. Verify that the instances for which you want to determine the IIOP
+listener port numbers are running.
++
+[source]
+----
+asadmin> list-instances
+----
+A list of instances and their status (running, not running) is displayed.
++
+The instances for which you want to display the IIOP listener ports must be running.
+
+.. For each instance, enter the following command to list the various
+port numbers used by the instance.
++
+[source]
+----
+asadmin> get servers.server.instance-name.system-property.*.value
+----
+For example, for an instance name `in1`, you would enter the following
+command:
++
+[source]
+----
+asadmin> get servers.server.in1.system-property.*.value
+----
+
+7. [[gevkc]]
+Add at least two `target-server` elements in the `sun-acc.xml` file.
++
+Use the endpoints that you obtained in link:#gevjb[Find the IIOP
+listener port number for at least two instances in the cluster.].
++
+If the {productName} instance on which the application client is
+deployed participates in a cluster, the ACC finds all currently active
+IIOP endpoints in the cluster automatically. However, a client should
+have at least two endpoints specified for bootstrapping purposes, in
+case one of the endpoints has failed.
++
+The `target-server` element specifies one or more IIOP endpoints used
+for load balancing. The `address` attribute is an IPv4 address or host
+name, and the `port` attribute specifies the port number. See
+"link:application-deployment-guide/dd-elements.html#GSDPG00111[client-container]" in {productName} Application Deployment Guide.
++
+As an alternative to using `target-server` elements, you can use the
+`endpoints` property as follows:
++
+[source]
+----
+jvmarg value = "-Dcom.sun.appserv.iiop.endpoints=host1:port1,host2:port2,..."
+----
+
+8. If you require weighted round-robin load balancing, perform the following steps:
+[arabic]
+.. Set the load-balancing weight of each server instance.
++
+[source]
+----
+asadmin set instance-name.lb-weight=weight
+----
+.. In the `sun-acc.xml`, set the
+`com.sun.appserv.iiop.loadbalancingpolicy` property of the ACC to `ic-based-weighted`.
++
+[source,xml]
+----
+…
+<client-container send-password="true">
+  <property name="com.sun.appserv.iiop.loadbalancingpolicy" \
+     value="ic-based-weighed"/>
+…
+----
+
+9. Deploy your client application with the `--retrieve` option to get the client jar file.
++
+Keep the client jar file on the client machine.
++
+For example:
++
+[source]
+----
+asadmin  --user admin --passwordfile pw.txt deploy --target cluster1 \
+--retrieve my_dir myapp.ear
+----
+10. Run the application client as follows:
++
+[source]
+----
+appclient --client my_dir/myapp.jar
+----
+
+[[GSHAG00070]][[gfohj]]
+Example 11-1 Setting Load-Balancing Weights for RMI-IIOP Weighted
+Round-Robin Load Balancing
+
+In this example, the load-balancing weights in a cluster of three
+instances are to be set as shown in the following table.
+
+[width="100%",cols="<44%,<56%",options="header",]
+|===
+|Instance Name |Load-Balancing Weight
+|`i1` |100
+|`i2` |200
+|`i3` |300
+|===
+
+
+The sequence of commands to set these load balancing weights is as
+follows:
+
+[source]
+----
+asadmin set i1.lb-weight=100
+asadmin set i2.lb-weight=200
+asadmin set i3.lb-weight=300
+----
+
+[[GSHAG441]]
+
+Next Steps
+
+To test failover, stop one instance in the cluster and see that the
+application functions normally. You can also have breakpoints (or
+sleeps) in your client application.
+
+To test load balancing, use multiple clients and see how the load gets
+distributed among all endpoints.
+
+[[GSHAG442]]
+
+See Also
+
+See link:session-persistence-and-failover.html#abdle[Enabling the High
+Availability Session Persistence Service] for instructions on enabling
+the session availability service for a cluster or for a Web, EJB, or JMS
+container running in a cluster.
+
+[[gknpv]][[GSHAG00217]][[per-request-load-balancing-prlb]]
+
+=== Per-Request Load Balancing (PRLB)
+
+The following topics are addressed here:
+
+* link:#gksgt[PRLB Summary]
+* link:#gksgy[Enabling Per-Request Load Balancing]
+
+[[gksgt]][[GSHAG00318]][[prlb-summary]]
+
+==== PRLB Summary
+
+Per Request Load Balancing (PRLB) is a method for load balancing
+stateless EJBs that enables load-balancing for each request to an EJB
+instance. PRLB chooses the first node in a cluster to use on each
+request. By contrast, `InitialContext` (hardware) load balancing chooses
+the first node to use when the `InitialContext` is created, and each
+request thereafter uses the same node unless a failure occurred.
+
+PRLB is enabled by means of the boolean `per-request-load-balancing`
+property in the `glassfish-ejb-jar.xml` deployment descriptor file for
+the EJB. If this property is not set, the original load balancing
+behavior is preserved.
+
+
+[NOTE]
+====
+PRLB is only supported for stateless session beans. Using PRLB with any
+other bean types will result in a deployment error.
+====
+
+
+[[gksgy]][[GSHAG00319]][[enabling-per-request-load-balancing]]
+
+==== Enabling Per-Request Load Balancing
+
+You can enable Per-Request Load Balancing (PRLB) by setting the boolean
+`per-request-load-balancing` property to `true` in the
+`glassfish-ejb-jar.xml` deployment descriptor file for the EJB. On the
+client side, the `initContext.lookup` method is used to access the
+stateless EJB.
+
+[[gksgo]][[GSHAG00162]][[to-enable-rmi-iiop-per-request-load-balancing-for-a-stateless-ejb]]
+
+===== To Enable RMI-IIOP Per-Request Load Balancing for a Stateless EJB
+
+This procedure describes how to enable PRLB for a stateless EJB that is
+deployed to clustered {productName} instances. This procedure also
+provides an client-side example for accessing a stateless EJB that uses
+PRLB.
+
+1. Choose or assemble the EJB that you want to deploy.
++
+In this example, an EJB named `TheGreeter` is used.
++
+For instructions on developing and assembling an EJB for deployment to
+{productName}, refer to the following documentation:
+
+* "link:application-development-guide/ejb.html#GSDVG00010[Using Enterprise JavaBeans Technology]" in {productName} Application Development Guide
+* "link:application-deployment-guide/deploying-applications.html#GSDPG00068[EJB Module Deployment Guidelines]" in {productName} Application Deployment Guide
+* "link:application-deployment-guide/deploying-applications.html#GSDPG00070[Assembling and Deploying an Application Client
+Module]" in {productName} Application Deployment Guide
+
+2. Set the `per-request-load-balancing` property to `true` in the
+`glassfish-ejb-jar.xml` deployment descriptor file for the EJB.
++
+For more information about the `glassfish-ejb-jar.xml` deployment
+descriptor file, refer to
+"link:application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml File]"
+in {productName} Application Deployment Guide
++
+For example, the `glassfish-ejb-jar.xml` file for a sample EJB named
+`TheGreeter` is listed below.
++
+[source,xml]
+----
+<glassfish-ejb-jar>
+  <enterprise-beans>
+    <unique-id>1</unique-id>
+    <ejb>
+      <ejb-name>TheGreeter</ejb-name>
+    <jndi-name>greeter</jndi-name>
+    <per-request-load-balancing>true</per-request-load-balancing>
+    </ejb>
+  </enterprise-beans>
+</glassfish-ejb-jar>
+----
+3. Deploy the EJB.
++
+If the EJB was previously deployed, it must be redployed.
++
+For instructions on deploying EJBs, refer to the following documentation:
+
+* "link:application-deployment-guide/deploying-applications.html#GSDPG00033[To Deploy an Application or Module]" in {productName} Application Deployment Guide
+* "link:application-deployment-guide/deploying-applications.html#GSDPG00036[To Redeploy an Application or Module]" in {productName} Application Deployment Guide
+
+4. Verify the PRLB configuration by looking for the following `FINE`
+message in the CORBA log file:
++
+[source]
+----
+Setting per-request-load-balancing policyfor EJB EJB-name
+----
+5. Configure a client application to access the PRLB-enabled EJB.
++
+For example:
++
+[source,java]
+----
+public class EJBClient {
+  public static void main(String args[]) {
+  // ...
+  try {
+    // only one lookup
+    Object objref = initContext.lookup("test.cluster.loadbalancing.ejb.TestSessionBeanRemote");
+    myGreeterRemote = (TestSessionBeanRemote)PortableRemoteObject.narrow(objref, TestSessionBeanRemote.class);
+  } catch (Exception e) {
+    // ...
+  }
+
+  for (int i=0; i < 10; i++ ) {
+    // method calls in a loop.
+    String theMessage = myGreeterRemote.sayHello(Integer.toString(i));
+    System.out.println("got"+": " + theMessage);
+  }
+  }
+}
+----
+
+[[GSHAG443]]
+
+See Also
+
+See link:session-persistence-and-failover.html#abdle[Enabling the High
+Availability Session Persistence Service] for instructions on enabling
+the session availability service for a cluster or for a Web, EJB, or JMS
+container running in a cluster.
diff --git a/docs/ha-administration-guide/src/main/asciidoc/rolling-upgrade.adoc b/docs/ha-administration-guide/src/main/asciidoc/rolling-upgrade.adoc
new file mode 100644
index 0000000..b925b1d
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/rolling-upgrade.adoc
@@ -0,0 +1,265 @@
+type=page
+status=published
+title=Upgrading Applications Without Loss of Availability
+next=session-persistence-and-failover.html
+prev=http-load-balancing.html
+~~~~~~
+
+= Upgrading Applications Without Loss of Availability
+
+[[GSHAG00010]][[abdik]]
+
+
+[[upgrading-applications-without-loss-of-availability]]
+== 8 Upgrading Applications Without Loss of Availability
+
+Upgrading an application to a new version without loss of availability
+to users is called a rolling upgrade. Carefully managing the two
+versions of the application across the upgrade ensures that current
+users of the application complete their tasks without interruption,
+while new users transparently get the new version of the application.
+With a rolling upgrade, users are unaware that the upgrade occurs.
+
+For more information about application versions and how they are
+identified, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
+{productName} Application Deployment Guide.
+
+In a clustered environment, a rolling upgrade redeploys an application
+with a minimal loss of service and sessions. A session is any artifact
+that can be replicated, for example:
+
+* `HttpSession`
+* `SingleSignOn`
+* `ServletTimer`
+* `DialogFragment`
+* Stateful session bean
+
+A rolling upgrade can take place under light to moderate loads. The
+procedure requires about 10-15 minutes for each {productName}
+instance.
+
+
+[CAUTION]
+====
+To prevent the risk of version mismatch when a session fails over,
+upgrade all instances in a cluster at the same time. Otherwise a session
+might fail over to an instance where different versions of components
+are running.
+====
+
+
+Perform this task on each cluster separately. A cluster acts as a safe
+boundary for session failover for instances in the cluster. Sessions in
+one cluster can never fail over to sessions in another cluster.
+Therefore, the risk of version mismatch is avoided.
+
+[[abdil]][[GSHAG00205]][[application-compatibility]]
+
+=== Application Compatibility
+
+Rolling upgrades pose varying degrees of difficulty depending on the
+magnitude of changes between the two application versions.
+
+If the changes are superficial, for example, changes to static text and
+images, the two versions of the application are compatible and can both
+run at once in the same cluster.
+
+Compatible applications must:
+
+* Use the same session information
+* Use compatible database schemas
+* Have generally compatible application-level business logic
+* Use the same physical data source
+
+You can perform a rolling upgrade of a compatible application in either
+a single cluster or multiple clusters. For more information, see
+link:#abdim[Upgrading In a Single Cluster].
+
+If the two versions of an application do not meet all the above
+criteria, then the applications are considered incompatible. Executing
+incompatible versions of an application in one cluster can corrupt
+application data and cause session failover to not function correctly.
+The problems depend on the type and extent of the incompatibility. It is
+good practice to upgrade an incompatible application by creating a
+"shadow cluster" to which to deploy the new version and slowly quiesce
+the old cluster and application. For more information, see
+link:#abdio[Upgrading Incompatible Applications].
+
+The application developer and administrator are the best people to
+determine whether application versions are compatible. If in doubt,
+assume that the versions are incompatible, since this is the safest
+approach.
+
+[[abdim]][[GSHAG00206]][[upgrading-in-a-single-cluster]]
+
+=== Upgrading In a Single Cluster
+
+You can perform a rolling upgrade of an application deployed to a single
+cluster, providing the cluster's configuration is not shared with any
+other cluster.
+
+[[fxxvd]][[GSHAG00151]][[to-upgrade-an-application-in-a-single-cluster]]
+
+==== To Upgrade an Application in a Single Cluster
+
+1. Deploy the upgraded application to the cluster in a disabled state
+and with a new version identifier. For example:
++
+[source]
+----
+asadmin> asadmin deploy --enabled=false --target myCluster myApp:1.1
+----
+
+2. Perform the following steps for each server instance in the cluster.
+[arabic]
+.. Quiesce one server instance in the cluster from the load balancer.
+   Follow these steps:
+... Disable the server instance using `asadmin disable-http-lb-server.`
+... Export the load balancer configuration file using
+    `asadmin export-http-lb-config`.
+... Copy the exported configuration file to the web server instance's
+    configuration directory. +
+    For example, for Sun Java System Web Server, the location is
+    web-server-install-dir``/https-``host-name``/config/loadbalancer.xml``.
+... Wait until the timeout has expired. +
+    Monitor the load balancer's log file.
+.. Enable the upgraded application version on the quiesced server instance. +
+   For example:
++
+[source]
+----
+asadmin> asadmin enable --target instance01 myApp:1.1
+----
+Enabling the upgraded application version automatically disables the previous version.
+.. Test the upgraded application on the server instance to make sure it runs correctly.
+.. Re-enable the server instance in load balancer. Follow these steps:
+... Enable the server instance using `asadmin enable-http-lb-server.`
+... Export the load balancer configuration file using
+    `asadmin export-http-lb-config`.
+... Copy the configuration file to the web server's configuration directory.
+
+[[abdin]][[GSHAG00207]][[upgrading-in-multiple-clusters]]
+
+=== Upgrading in Multiple Clusters
+
+[[fxxvb]][[GSHAG00152]][[to-upgrade-a-compatible-application-in-two-or-more-clusters]]
+
+==== To Upgrade a Compatible Application in Two or More Clusters
+
+Repeat the following procedure for each cluster.
+
+1. Deploy the upgraded application to one cluster in a disabled state
+and with a new version identifier. For example:
++
+[source]
+----
+asadmin> asadmin deploy --enabled=false --target myCluster myApp:1.1
+----
+
+2. Quiesce the cluster with the upgraded application from the load balancer.
+[arabic]
+.. Disable the cluster using `asadmin disable-http-lb-server`.
+.. Export the load balancer configuration file using
+`asadmin export-http-lb-config`.
+.. Copy the exported configuration file to the web server instance's configuration directory. +
+   For example, for Sun Java System Web Server, the location is
+   web-server-install-dir``/https-``host-name``/config/loadbalancer.xml``.
+.. Wait until the timeout has expired. +
+   Monitor the load balancer's log file.
+
+3. Enable the upgraded application version on the quiesced cluster. For example:
++
+[source]
+----
+asadmin> asadmin enable --target myCluster myApp:1.1
+----
+Enabling the upgraded application version automatically disables the
+previous version.
+
+4. Test the upgraded application on the cluster to make sure it runs correctly.
+
+5. Enable the cluster in the load balancer:
+[arabic]
+.. Enable the cluster using `asadmin enable-http-lb-server.`
+.. Export the load balancer configuration file using
+   `asadmin export-http-lb-config`.
+.. Copy the configuration file to the web server's configuration directory.
+
+[[abdio]][[GSHAG00208]][[upgrading-incompatible-applications]]
+
+=== Upgrading Incompatible Applications
+
+If the new version of the application is incompatible with the old
+version, use the following procedure. For information on what makes
+applications compatible, see link:#abdil[Application Compatibility].
+Also, you must upgrade incompatible application in two or more clusters.
+If you have only one cluster, create a "shadow cluster" for the upgrade,
+as described below.
+
+When upgrading an incompatible application:
+
+* Give the new version of the application a different version identifier
+from the old version of the application. The steps below assume that the
+application has a new version identifier.
+* If the data schemas are incompatible, use different physical data
+sources after planning for data migration.
+* Deploy the new version to a different cluster from the cluster where
+the old version is deployed.
+* Set an appropriately long timeout for the cluster running the old
+application before you take it offline, because the requests for the
+application won't fail over to the new cluster. These user sessions will
+simply fail.
+
+[[abdip]][[GSHAG00153]][[to-upgrade-an-incompatible-application-by-creating-a-second-cluster]]
+
+==== To Upgrade an Incompatible Application by Creating a Second Cluster
+
+1. Create a "shadow cluster" on the same or a different set of machines
+as the existing cluster. If you already have a second cluster, skip this
+step.
+[arabic]
+.. Use the Administration Console to create the new cluster and
+   reference the existing cluster's named configuration. +
+   Customize the ports for the new instances on each machine to avoid
+   conflict with existing active ports.
+.. For all resources associated with the cluster, add a resource
+   reference to the newly created cluster using
+   `asadmin create-resource-ref`.
+.. Create a reference to all other applications deployed to the cluster
+   (except the current upgraded application) from the newly created cluster
+   using `asadmin create-application-ref`.
+.. Configure the cluster to be highly available using
+   `asadmin configure-ha-cluster`.
+.. Create reference to the newly-created cluster in the load balancer
+   configuration file using `asadmin create-http-lb-ref.`
+
+2. Give the new version of the application a different version
+identifier from the old version.
+
+3. Deploy the new application version with the new cluster as the
+target. Use a different context root or roots.
+
+4. Start the new cluster while the other cluster is still running. +
+The start causes the cluster to synchronize with the domain and be
+updated with the new application.
+
+5. Test the application on the new cluster to make sure it runs correctly.
+
+6. Disable the old cluster from the load balancer using
+`asadmin disable-http-lb-server`.
+
+7. Set a timeout for how long lingering sessions survive.
+
+8. Enable the new cluster from the load balancer using
+`asadmin enable-http-lb-server`.
+
+9. Export the load balancer configuration file using
+`asadmin export-http-lb-config`.
+
+10. Copy the exported configuration file to the web server instance's configuration directory. +
+For example, for Sun Java System Web Server, the location is
+web-server-install-dir``/https-``host-name``/config/loadbalancer.xml``.
+
+11. After the timeout period expires or after all users of the old
+application have exited, stop the old cluster and undeploy the old
+application version.
diff --git a/docs/ha-administration-guide/src/main/asciidoc/session-persistence-and-failover.adoc b/docs/ha-administration-guide/src/main/asciidoc/session-persistence-and-failover.adoc
new file mode 100644
index 0000000..5770224
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/session-persistence-and-failover.adoc
@@ -0,0 +1,680 @@
+type=page
+status=published
+title=Configuring High Availability Session Persistence and Failover
+next=jms.html
+prev=rolling-upgrade.html
+~~~~~~
+
+= Configuring High Availability Session Persistence and Failover
+
+[[GSHAG00011]][[abdkz]]
+
+[[configuring-high-availability-session-persistence-and-failover]]
+== 9 Configuring High Availability Session Persistence and Failover
+
+This chapter explains how to enable and configure high availability
+session persistence.
+
+* link:#abdla[Overview of Session Persistence and Failover]
+* link:#abdle[Enabling the High Availability Session Persistence Service]
+* link:#abdlp[Stateful Session Bean Failover]
+
+[[abdla]][[GSHAG00209]][[overview-of-session-persistence-and-failover]]
+
+=== Overview of Session Persistence and Failover
+
+{productName} provides high availability session persistence through
+failover of HTTP session data and stateful session bean (SFSB) session
+data. Failover means that in the event of an server instance or hardware
+failure, another server instance in a cluster takes over a distributed session.
+
+For example, Jakarta EE applications typically have significant amounts of
+session state data. A web shopping cart is the classic example of
+session state. Also, an application can cache frequently-needed data in
+the session object. In fact, almost all applications with significant
+user interactions need to maintain session state.
+
+[NOTE]
+====
+When using high availability session persistence together with a load
+balancer, use a load balancer that includes session-based stickiness as
+part of its load-balancing algorithm. Otherwise, session data can be
+misdirected or lost. An example of a load balancer that includes
+session-based stickiness is the Loadbalancer Plug-In available in {productName}.
+====
+
+The following topics are addressed here:
+
+* link:#abdlb[Requirements]
+* link:#abdlc[Restrictions]
+* link:#gksoq[Scope]
+
+[[abdlb]][[GSHAG00300]][[requirements]]
+
+==== Requirements
+
+A distributed session can run in multiple {productName}
+instances, if:
+
+* Each server instance has access to the same session state data.
+{productName} supports in-memory session replication on other servers
+in the cluster for maintaining HTTP session and stateful session bean
+data. In-memory session replication is enabled by default for {productName} clustered environments if the Group Management Service is enabled.
++
+The use of in-memory replication requires the Group Management Service
+(GMS) to be enabled. For more information about GMS, see
+link:clusters.html#gjfnl[Group Management Service].
++
+If server instances in a cluster are located on different hosts, ensure
+that the following prerequisites are met:
+
+** To ensure that GMS and in-memory replication function correctly, the
+hosts must be on the same subnet.
+
+** To ensure that in-memory replication functions correctly, the system
+clocks on all hosts in the cluster must be synchronized as closely as
+possible.
++
+[NOTE]
+====
+{productName} 7 does not support High Availability Database (HADB)
+configurations. Instead, use in-memory replication, as described in
+link:overview.html#gaynn[High Availability Session Persistence].
+====
+
+* Each server instance has the same distributable web application
+deployed to it. The `web-app` element of the `web.xml` deployment
+descriptor file must contain the `distributable` element.
+
+* The web application uses high-availability session persistence. If a
+non-distributable web application is configured to use high-availability
+session persistence, the server writes an error to the log file.
+
+* The web application must be deployed using the `deploy` or `deploydir`
+subcommand with the `--availabilityenabled` option set to `true`. For
+more information on these subcommands, see link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)]
+and link:reference-manual/deploydir.html#GSRFM00115[`deploydir`(1)].
+
+[[abdlc]][[GSHAG00301]][[restrictions]]
+
+==== Restrictions
+
+When configuring session persistence and failover, note the following restrictions:
+
+* When a session fails over, any references to open files or network
+connections are lost. Applications must be coded with this restriction in mind.
+
+* EJB Singletons are created for each server instance in a cluster, and
+not once per cluster.
+
+* The high availability session persistence service is not compatible
+with dynamic deployment, dynamic reloading, and autodeployment. These
+features are for development, not production environments, so you must
+disable them before enabling the session persistence service.
+For information about how to disable these features, see the
+link:application-deployment-guide.html#GSDPG[
+{productName} Application Deployment Guide].
+
+* {productName} 7 does not support High Availability Database
+(HADB) configurations. Instead, use in-memory replication, as described
+in link:overview.html#gaynn[High Availability Session Persistence].
+
+* You can only bind certain objects to distributed sessions that support
+failover. Contrary to the Servlet 2.4 specification, {productName} 7 does not throw an `IllegalArgumentException` if an object type not
+supported for failover is bound into a distributed session.
++
+You can bind the following objects into a distributed session that
+supports failover:
+
+** Local home and object references for all EJB components.
+** Colocated stateless session, stateful session, or entity bean reference .
+** Distributed stateless session, stateful session, or entity bean reference.
+** JNDI Context for `InitialContext` and `java:comp/env`.
+** `UserTransaction` objects. However, if the instance that fails is
+never restarted, any prepared global transactions are lost and might not
+be correctly rolled back or committed.
+** Serializable Java types.
+
+* You cannot bind the following object types into sessions that support failover:
+
+** JDBC DataSource
+** Java Message Service (JMS) `ConnectionFactory` and `Destination` objects
+** JavaMail Session
+** Connection Factory
+** Administered Objects
+** Web service reference +
+In general, for these objects, failover will not work. However, failover
+might work in some cases, if for example the object is serializable.
+
+[[gksoq]][[GSHAG00302]][[scope]]
+
+Scope
+^^^^^
+
+The availability service can be enabled for the following scopes,
+ranging from highest to lowest:
+
+* Cluster
+* Standalone server instance (not part of a cluster)
+* Web, EJB, or JMS container in a cluster
+* Application
+* Standalone Web, EJB, or JMS module
+* Individual Stateful Session Bean (SFSB)
+
+In general, enabling or disabling availability session persistence for a
+cluster or container involves setting the boolean `availability-service`
+property to `true` or `false` by means of the `asadmin set` subcommand.
+The availability service is enabled by default for {productName}
+clusters and all Web, EJB, and JMS containers running in a cluster.
+
+The value set for the `availability-service` property is inherited by
+all child objects running in a given cluster or container unless the
+value is explicitly overridden at the individual module or application
+level. For example, if the `availability-service` property is set to
+`true` for an EJB container, the availability service will be enabled by
+default for all EJB modules running in that container.
+
+Conversely, to enable availability at a given scope, you must enable it
+at all higher levels as well. For example, to enable availability at the
+application level, you must also enable it at the cluster or server
+instance and container levels.
+
+[[abdle]][[GSHAG00210]][[enabling-the-high-availability-session-persistence-service]]
+
+=== Enabling the High Availability Session Persistence Service
+
+This section explains how to configure and enable the high availability
+session persistence service.
+
+* link:#abdlf[To Enable Availability for a Cluster, Standalone Instance or Container]
+* link:#abdll[Configuring Availability for Individual Web Applications]
+* link:#gkwqu[Configuring Replication and Multi-Threaded Concurrent Access to `HttpSessions`]
+* link:#abdln[Using Single Sign-on with Session Failover]
+* link:#gkyyl[Using Coherence*Web for HTTP Session Persistence]
+
+[[abdlf]][[GSHAG00154]][[to-enable-availability-for-a-cluster-standalone-instance-or-container]]
+
+==== To Enable Availability for a Cluster, Standalone Instance or Container
+
+This procedure explains how to enable high availability for a cluster as
+a whole, or for Web, EJB, or JMS containers that run in a cluster, or
+for a standalone server instance that is not part of a cluster.
+
+1. Create a {productName} cluster.
++
+For more information, see link:clusters.html#gkqdm[To Create a Cluster].
+
+2. Set up load balancing for the cluster.
++
+For instructions, see link:http-load-balancing.html#abdgx[Setting Up HTTP Load Balancing].
+
+3. Verify that the cluster and all instances within the cluster for
+which you want to enable availability is running.
++
+These steps are also necessary when enabling availability for a Web,
+EJB, or JMS container running in a cluster. The cluster and all
+instances in the cluster for which you want to enable availability must be running.
+[arabic]
+.. Verify that the cluster is running.
++
+[source]
+----
+asadmin> list-clusters
+----
+A list of clusters and their status (running, not running) is displayed.
+If the cluster for which you want to enable availability is not running,
+you can start it with the following command:
++
+[source]
+----
+asadmin> start-cluster cluster-name
+----
+.. Verify that all instances in the cluster are running.
++
+[source]
+----
+asadmin> list-instances
+----
+A list of instances and their status is displayed. If the instances for
+which you want to enable availability are not running, you can start
+them by using the following command for each instance:
++
+[source]
+----
+asadmin> start-instance instance-name
+----
+
+4. Use one of the following `asadmin` olink:GSRFM00226[`set`]
+subcommands to enable availability for a specific cluster, or for a
+specific Web, EJB, or JMS container.
+* For a cluster as a whole
++
+[source]
+----
+asadmin> set cluster-name-config.availability-service.availability-enabled=true
+----
+For example, for a cluster named `c1`:
++
+[source]
+----
+asadmin> set c1-config.availability-service.availability-enabled=true
+----
+* For the Web container in a cluster
++
+[source]
+----
+asadmin> set cluster-name-config.availability-service \
+.web-container-availability.availability-enabled=true
+----
+* For the EJB container in a cluster
++
+[source]
+----
+asadmin> set cluster-name-config.availability-service \
+.ejb-container-availability.availability-enabled=true
+----
+* For the JMS container in a cluster
++
+[source]
+----
+asadmin> set cluster-name-config.availability-service \
+.jms-availability.availability-enabled=true
+----
+* For a standalone server instance (not part of a cluster)
++
+[source]
+----
+asadmin> set instance-name-config.availability-service.availability-enabled=true
+----
+
+5. Restart the standalone server instance or each server instance in the cluster.
+
+6. Enable availability for any SFSB that requires it.
++
+Select methods for which checkpointing the session state is necessary.
+For more information, see link:#abdlu[Configuring Availability for an Individual Bean].
+
+7. Make each web module distributable if you want it to be highly available.
++
+For more information, see "link:application-deployment-guide/deploying-applications.html#GSDPG00067[Web Module Deployment
+Guidelines]" in {productName} Application Deployment Guide.
+
+8. Enable availability for individual applications, web modules, or EJB
+modules during deployment.
++
+See the links below for instructions.
+
+[[GSHAG430]]
+
+See Also
+
+* link:#abdll[Configuring Availability for Individual Web Applications]
+* link:#abdln[Using Single Sign-on with Session Failover]
+
+[[abdll]][[GSHAG00303]][[configuring-availability-for-individual-web-applications]]
+
+==== Configuring Availability for Individual Web Applications
+
+To enable and configure availability for an individual web application,
+edit the application deployment descriptor file, `glassfish-web.xml`.
+The settings in an application's deployment descriptor override the web
+container's availability settings.
+
+The `session-manager` element's `persistence-type` attribute determines
+the type of session persistence an application uses. It must be set to
+`replicated` to enable high availability session persistence.
+
+[[abdlm]][[GSHAG00247]][[example]]
+
+===== Example
+
+[source,xml]
+----
+<glassfish-web-app> ...
+  <session-config>
+    <session-manager persistence-type="replicated">
+      <manager-properties>
+        <property name="persistenceFrequency" value="web-method" />
+      </manager-properties>
+      <store-properties>
+        <property name="persistenceScope" value="session" />
+      </store-properties>
+    </session-manager> ...
+</session-config> ...
+----
+
+[[gkwqu]][[GSHAG00304]][[configuring-replication-and-multi-threaded-concurrent-access-to-httpsessions]]
+
+==== Configuring Replication and Multi-Threaded Concurrent Access to `HttpSessions`
+
+If you are using Memory Replication and your web application involves
+multiple client threads concurrently accessing the same session ID, then
+you may experience session loss even without any instance failure. The
+problem is that the {productName} 7 memory replication framework
+makes use of session versioning. This feature was designed with the more
+traditional HTTP request/response communication model in mind.
+
+However, for some types of applications, the traditional
+request/response model does not work. Examples include many Ajax-related
+frameworks and the use of Frames. Another example is when a page
+includes many static resources, such as JPG files. In these situations,
+most browsers will optimize the loading of these resources by using
+multiple parallel connections, each of which is handled by a separate
+request processing thread. If the application has already established a
+session, then this will also involve more than one thread at a time
+accessing a single `HttpSession`.
+
+The solution in such cases is to use the `relaxVersionSemantics`
+property in the `glassfish-web.xml` deployment descriptor file for the
+application. This enables the web container to return for each
+requesting thread whatever version of the session that is in the active
+cache regardless of the version number. This is critical when multiple
+threads are interacting in an essentially non-deterministic fashion with
+the container.
+
+[[gkwrj]][[GSHAG00248]][[example-1]]
+
+===== Example
+
+The following is an example snippet from a `glassfish-web.xml` file that
+illustrates where to add the `relaxVersionSemantics` property.
+
+[source,xml]
+----
+<glassfish-web-app>
+  <session-config>
+    <session-manager persistence-type="replicated">
+      <manager-properties>
+    <property name="relaxCacheVersionSemantics" value="true"/>
+      </manager-properties>
+    </session-manager>
+  </session-config>
+
+.....
+</glassfish-web-app>
+----
+
+[[abdln]][[GSHAG00305]][[using-single-sign-on-with-session-failover]]
+
+==== Using Single Sign-on with Session Failover
+
+In a single application server instance, once a user is authenticated by
+an application, the user is not required to re-authenticate individually
+to other applications running on the same instance. This is called
+single sign-on.
+
+For this feature to continue to work even when an HTTP session fails
+over to another instance in a cluster, single sign-on information must
+be persisted using in-memory replication. To persist single sign-on
+information, first, enable availability for the server instance and the
+web container, then enable single-sign-on state failover.
+
+You can enable single sign-on state failover by using the `asadmin set`
+command to set the configuration's
+`availability-service.web-container-availability.sso-failover-enabled`
+property to true.
+
+For example, use the `set` command as follows, where `config1` is the
+configuration name:
+
+[source]
+----
+asadmin> set config1.availability-service.web-container-availability. \
+sso-failover-enabled="true"
+----
+
+[[abdlo]][[GSHAG00249]][[single-sign-on-groups]]
+
+===== Single Sign-On Groups
+
+Applications that can be accessed through a single name and password
+combination constitute a single sign-on group. For HTTP sessions
+corresponding to applications that are part of a single sign-on group,
+if one of the sessions times out, other sessions are not invalidated and
+continue to be available. This is because time out of one session should
+not affect the availability of other sessions.
+
+As a corollary of this behavior, if a session times out and you try to
+access the corresponding application from the same browser window that
+was running the session, you are not required to authenticate again.
+However, a new session is created.
+
+Take the example of a shopping cart application that is a part of a
+single sign-on group with two other applications. Assume that the
+session time out value for the other two applications is higher than the
+session time out value for the shopping cart application. If your
+session for the shopping cart application times out and you try to run
+the shopping cart application from the same browser window that was
+running the session, you are not required to authenticate again.
+However, the previous shopping cart is lost, and you have to create a
+new shopping cart. The other two applications continue to run as usual
+even though the session running the shopping cart application has timed
+out.
+
+Similarly, suppose a session corresponding to any of the other two
+applications times out. You are not required to authenticate again while
+connecting to the application from the same browser window in which you
+were running the session.
+
+
+[NOTE]
+====
+This behavior applies only to cases where the session times out. If
+single sign-on is enabled and you invalidate one of the sessions using
+`HttpSession.invalidate()`, the sessions for all applications belonging
+to the single sign-on group are invalidated. If you try to access any
+application belonging to the single sign-on group, you are required to
+authenticate again, and a new session is created for the client
+accessing the application.
+====
+
+
+[[gkyyl]][[GSHAG00306]][[using-coherenceweb-for-http-session-persistence]]
+
+==== Using Coherence*Web for HTTP Session Persistence
+
+Built on top of Oracle Coherence, Coherence*Web is an HTTP session
+management module dedicated to managing session state in clustered
+environments. Starting with Coherence 3.7 and {productName} 7,
+there is a new feature of Coherence*Web called ActiveCache for
+GlassFish. ActiveCache for GlassFish provides Coherence*Web
+functionality in web applications deployed on {productName}s. Within
+{productName}, Coherence*Web functions as an additional web container
+persistence type, named `coherence-web`.
+
+For information about how to configure and deploy Coherence*Web on
+{productName}, see
+http://download.oracle.com/docs/cd/E18686_01/coh.37/e18690/glassfish.html[Using
+Coherence*Web with {productName}]
+(`http://docs.oracle.com/cd/E18686_01/coh.37/e18690/glassfish.html`).
+
+[[abdlp]][[GSHAG00211]][[stateful-session-bean-failover]]
+
+=== Stateful Session Bean Failover
+
+Stateful session beans (SFSBs) contain client-specific state. There is a
+one-to-one relationship between clients and the stateful session beans.
+At creation, the EJB container gives each SFSB a unique session ID that
+binds it to a client.
+
+An SFSB's state can be saved in a persistent store in case a server
+instance fails. The state of an SFSB is saved to the persistent store at
+predefined points in its life cycle. This is called
+
+checkpointing. If enabled, checkpointing generally occurs after the bean
+completes any transaction, even if the transaction rolls back.
+
+However, if an SFSB participates in a bean-managed transaction, the
+transaction might be committed in the middle of the execution of a bean
+method. Since the bean's state might be undergoing transition as a
+result of the method invocation, this is not an appropriate time to
+checkpoint the bean's state. In this case, the EJB container checkpoints
+the bean's state at the end of the corresponding method, provided the
+bean is not in the scope of another transaction when that method ends.
+If a bean-managed transaction spans across multiple methods,
+checkpointing is delayed until there is no active transaction at the end
+of a subsequent method.
+
+The state of an SFSB is not necessarily transactional and might be
+significantly modified as a result of non-transactional business
+methods. If this is the case for an SFSB, you can specify a list of
+checkpointed methods, as described in link:#abdlw[Specifying Methods to
+Be Checkpointed]
+
+If a distributable web application references an SFSB, and the web
+application's session fails over, the EJB reference is also failed over.
+
+If an SFSB that uses session persistence is undeployed while the
+{productName} instance is stopped, the session data in the
+persistence store might not be cleared. To prevent this, undeploy the
+SFSB while the {productName} instance is running.
+
+[[abdlq]][[GSHAG00307]][[configuring-availability-for-the-ejb-container]]
+
+==== Configuring Availability for the EJB Container
+
+To enable availability for the EJB container use the `asadmin set`
+command to set the following three properties for the configuration:
+
+* `availability-service.ejb-container-availability.availability-enabled`
+* `availability-service.ejb-container-availability.sfsb-persistence-type`
+* `availability-service.ejb-container-availability.sfsb-ha-persistence-type`
+
+For example, if `config1` is the configuration name, use the following
+commands:
+
+[source]
+----
+asadmin> set --user admin --passwordfile password.txt
+--host localhost
+--port 4849
+config1.availability-service.
+ejb-container-availability.availability-enabled="true"
+
+asadmin> set --user admin --passwordfile password.txt --host localhost --port
+4849
+config1.availability-service.
+ejb-container-availability.sfsb-persistence-type="file"
+asadmin> set --user admin --passwordfile password.txt
+--host localhost
+--port 4849
+config1.availability-service.
+ejb-container-availability.sfsb-ha-persistence-type="replicated"
+----
+
+[[abdls]][[GSHAG00250]][[configuring-the-sfsb-session-store-when-availability-is-disabled]]
+
+===== Configuring the SFSB Session Store When Availability Is Disabled
+
+If availability is disabled, the local file system is used for SFSB
+state passivation, but not persistence. To change where the SFSB state
+is stored, change the Session Store Location setting in the EJB
+container. For information about configuring store properties, see the
+Administration Console online help.
+
+[[abdlt]][[GSHAG00308]][[configuring-availability-for-an-individual-application-or-ejb-module]]
+
+==== Configuring Availability for an Individual Application or EJB Module
+
+You can enable SFSB availability for an individual application or EJB
+module during deployment:
+
+* If you are deploying with the Administration Console, check the
+Availability Enabled checkbox.
+* If you are deploying using use the `asadmin deploy` or
+`asadmin deploydir` commands, set the `--availabilityenabled` option to
+`true`. For more information, see link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)] and
+link:reference-manual/deploydir.html#GSRFM00115[`deploydir`(1)].
+
+[[abdlu]][[GSHAG00309]][[configuring-availability-for-an-individual-bean]]
+
+==== Configuring Availability for an Individual Bean
+
+To enable availability and select methods to be checkpointed for an
+individual SFSB, use the `glassfish-ejb-jar.xml` deployment descriptor
+file.
+
+To enable high availability session persistence, set
+`availability-enabled="true"` in the `ejb` element.
+
+[[GSHAG00068]][[fxjqx]]
+Example 9-1 Example of an EJB Deployment Descriptor With Availability
+Enabled
+
+[source,xml]
+----
+<glassfish-ejb-jar>
+    ...
+    <enterprise-beans>
+        ...
+        <ejb availability-enabled="true">
+            <ejb-name>MySFSB</ejb-name>
+        </ejb>
+        ...
+    </enterprise-beans>
+</glassfish-ejb-jar>
+----
+
+[[abdlw]][[GSHAG00310]][[specifying-methods-to-be-checkpointed]]
+
+==== Specifying Methods to Be Checkpointed
+
+If enabled, checkpointing generally occurs after the bean completes any
+transaction, even if the transaction rolls back. To specify additional
+optional checkpointing of SFSBs at the end of non-transactional business
+methods that cause important modifications to the bean's state, use the
+`checkpoint-at-end-of-method` element in the `ejb` element of the
+`glassfish-ejb-jar.xml` deployment descriptor file.
+
+The non-transactional methods in the `checkpoint-at-end-of-method`
+element can be:
+
+* `create()` methods defined in the home interface of the SFSB, if you
+want to checkpoint the initial state of the SFSB immediately after
+creation
+* For SFSBs using container managed transactions only, methods in the
+remote interface of the bean marked with the transaction attribute
+`TX_NOT_SUPPORTED` or `TX_NEVER`
+* For SFSBs using bean managed transactions only, methods in which a
+bean managed transaction is neither started nor committed
++
+Any other methods mentioned in this list are ignored. At the end of
+invocation of each of these methods, the EJB container saves the state
+of the SFSB to persistent store.
+
+
+[NOTE]
+====
+If an SFSB does not participate in any transaction, and if none of its
+methods are explicitly specified in the `checkpoint-at-end-of-method`
+element, the bean's state is not checkpointed at all even if
+`availability-enabled="true"` for this bean.
+
+For better performance, specify a small subset of methods. The methods
+should accomplish a significant amount of work or result in important
+modification to the bean's state.
+====
+
+
+[[GSHAG00069]][[fxjqg]]
+Example 9-2 Example of EJB Deployment Descriptor Specifying Methods
+Checkpointing
+
+[source,xml]
+----
+<glassfish-ejb-jar>
+    ...
+    <enterprise-beans>
+        ...
+        <ejb availability-enabled="true">
+            <ejb-name>ShoppingCartEJB</ejb-name>
+            <checkpoint-at-end-of-method>
+                <method>
+                    <method-name>addToCart</method-name>
+                </method>
+            </checkpoint-at-end-of-method>
+        </ejb>
+        ...
+    </enterprise-beans>
+</glassfish-ejb-jar>
+----
diff --git a/docs/ha-administration-guide/src/main/asciidoc/ssh-setup.adoc b/docs/ha-administration-guide/src/main/asciidoc/ssh-setup.adoc
new file mode 100644
index 0000000..5cc64ad
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/ssh-setup.adoc
@@ -0,0 +1,1950 @@
+type=page
+status=published
+title=Enabling Centralized Administration of {productName} Instances
+next=nodes.html
+prev=overview.html
+~~~~~~
+
+= Enabling Centralized Administration of {productName} Instances
+
+[[GSHAG00003]][[gkshg]]
+
+
+[[enabling-centralized-administration-of-glassfish-server-instances]]
+== 2 Enabling Centralized Administration of {productName} Instances
+
+{productName} uses the Distributed Component Object Model (DCOM)
+remote protocol or secure shell (SSH) to ensure that clusters that span
+multiple hosts can be administered centrally. To perform administrative
+operations on {productName} instances that are remote from the domain
+administration server (DAS), the DAS must be able to communicate with
+those instances. If an instance is running, the DAS connects to the
+running instance directly. For example, when you deploy an application
+to an instance, the DAS connects to the instance and deploys the
+application to the instance.
+
+However, the DAS cannot connect to an instance to perform operations on
+an instance that is not running, such as creating or starting the
+instance. For these operations, the DAS uses DCOM or SSH to contact a
+remote host and administer instances there. DCOM or SSH provides
+confidentiality and security for data that is exchanged between the DAS
+and remote hosts.
+
+
+[NOTE]
+====
+The use of DCOM or SSH to enable centralized administration of remote
+instances is optional. If the use of DCOM or SSH is not feasible in your
+environment, you can administer remote instances locally.
+====
+
+
+The following topics are addressed here:
+
+* link:#gkshz[About Centralized Administration of {productName} Instances]
+* link:#CEGIFJJF[Setting Up DCOM and Testing the DCOM Set Up]
+* link:#gksiy[Setting Up Cygwin SSH on Windows]
+* link:#gkskf[Setting Up the MKS Toolkit on Windows]
+* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
+* link:#gkslw[Testing the SSH Setup on a Host]
+* link:#gkshh[Setting Up SSH User Authentication]
+* link:#gkshn[Installing and Removing {productName} Software on Multiple Hosts]
+
+[[gkshz]][[GSHAG00172]][[about-centralized-administration-of-glassfish-server-instances]]
+
+=== About Centralized Administration of {productName} Instances
+
+The use of DCOM or SSH to enable centralized administration of remote
+instances is optional and is required only for specific operations.
+Instances local to the DAS can be administered without DCOM or SSH. If
+DCOM or SSH is not practicable in your environment, you can administer
+remote instances locally.
+
+[[GSHAG446]][[sthref4]]
+
+
+[[determining-whether-to-enable-centralized-administration]]
+==== Determining Whether to Enable Centralized Administration
+
+Before setting up a {productName} cluster, use the following
+considerations to determine whether to enable centralized administration
+of remote instances:
+
+* If you are planning a large cluster of many instances, consider
+enabling centralized administration of instances in the cluster.
+Centralized administration of instances simplifies the administration of
+the cluster by enabling you to perform all administrative operations on
+the cluster and its instances from the DAS.
+* If you are planning a small cluster of few instances, consider whether
+enabling centralized administration requires more effort than logging in
+to individual hosts to administer remote instances locally.
+
+How you administer instances and the nodes on which they resides varies
+depending on whether and how centralized administration is enabled. The
+following table provides cross-references to instructions for
+administering nodes and instances depending on the protocol that is used
+for enabling centralized administration, if any.
+
+[width="100%",cols="<15%,<42%,<43%",options="header",]
+|===
+|Protocol |Node Administration Instructions |Instance Administration Instructions
+
+|DCOM
+|link:nodes.html#CHDBIHFJ[Creating, Listing, Testing, and Deleting `DCOM` Nodes]
+|link:instances.html#gkqal[Administering {productName} Instances Centrally]
+
+|SSH
+|link:nodes.html#gkrkn[Creating, Listing, Testing, and Deleting `SSH` Nodes]
+|link:instances.html#gkqal[Administering {productName} Instances Centrally]
+
+|None
+|link:nodes.html#gkrnp[Creating, Listing, and Deleting `CONFIG` Nodes]
+|link:instances.html#gkqdw[Administering {productName} Instances Locally]
+|===
+
+
+[[GSHAG447]][[sthref5]]
+
+
+[[considerations-for-using-dcom-for-centralized-administration]]
+==== Considerations for Using DCOM for Centralized Administration
+
+DCOM enables communications between Windows hosts. In a typical
+{productName} deployment, the DAS acts as a DCOM client, and hosts
+where instances reside act as DCOM servers. To create or start an
+instance on a remote host, the DAS instructs the DCOM server on the host
+to start the `asadmin` utility of {productName}. The `asadmin`
+utility then performs the required operation on the host to create or
+start the instance.
+
+The DCOM service must be running on hosts where instances reside, but is
+not required to be running on the DAS host. The DAS uses its own DCOM
+client for communicating with hosts where instances reside. On Windows
+hosts, the DCOM server is typically running by default as a Windows Service.
+
+DCOM is available only with the Windows operating system. Because DCOM
+is typically installed and preconfigured, minimal additional setup is
+required to use DCOM with {productName}.
+
+Before setting up DCOM, decide which Windows user {productName} will
+use when connecting to remote hosts. For the following reasons,
+administration is simplest if the Windows user is the user that starts the DAS:
+
+* Remote instances are started as the Windows user.
+* By default, the DAS assumes that the Windows user is the user that is running the DAS.
+
+[[GSHAG320]][[sthref6]]
+
+
+[[considerations-for-using-ssh-for-centralized-administration]]
+==== Considerations for Using SSH for Centralized Administration
+
+In a typical {productName} deployment, the DAS acts as the SSH
+client, and hosts where instances reside act as SSH servers. The SSH
+Server Daemon `sshd` must be running on hosts where instances reside,
+but is not required to be running on the DAS host. The DAS uses its own
+SSH client for communicating with hosts where instances reside. However,
+to generate keys and test SSH setup, a native SSH client must be
+installed on the DAS host.
+
+The requirements for SSH configuration and user management are different
+for each operating system on which {productName} is supported.
+Therefore, the use of SSH for centralized administration involves using
+SSH tools to configure SSH on the operating system that you are using.
+
+On UNIX and Linux systems, SSH is typically installed and preconfigured,
+and requires minimal additional setup. On Windows systems, additional
+setup is required to install and configure an SSH provider.
+
+[[gksmt]][[GSHAG00262]][[obtaining-ssh-software]]
+
+===== Obtaining SSH Software
+
+On UNIX and Linux systems, SSH software is typically installed as part
+of the base operating system.
+
+However, on Windows systems, you must install one of the following SSH providers:
+
+* http://www.cygwin.com/[Cygwin] (`http://www.cygwin.com/`) release 1.7.6
+* http://www.mkssoftware.com[MKS Toolkit for Developers]
+ (`http://www.mkssoftware.com`) release 9.2
+
+[[gkshj]][[GSHAG00263]][[determining-the-ssh-user]]
+
+===== Determining the SSH User
+
+Before setting up SSH, decide which SSH user {productName} will use
+when connecting to remote hosts. For the following reasons,
+administration is simplest if the SSH user is the user that starts the
+DAS:
+
+* For public key authentication, the user that starts the DAS must be
+able to read the SSH user's private key file.
+* Remote instances are started as the SSH user.
+* By default, the DAS assumes that the SSH user is the user that is
+running the DAS.
+
+[[glghe]][[GSHAG00222]][[requirements-for-the-ssh-users-environment]]
+
+===== Requirements for the SSH User's Environment
+
+The environment of the SSH user on any remote host to which the user
+will connect must meet the requirements that are stated in
+"link:release-notes/release-notes.html#GSRLN00252[Paths and Environment Settings for the JDK Software]"
+in {productName} Release Notes.
+
+The SSH user's environment on a host is set by the environment set-up
+files that are run when the user uses SSH to run a command on the host.
+You must ensure that these files set up the SSH user's environment
+correctly.
+
+The files that are run when the user uses SSH to run a command are
+different than the files that are run when the user logs in to a host.
+For example, in the bash shell, `.profile` and `.bashrc` are run when
+the user logs in, but only `.bashrc` is run when the user runs a
+command. Therefore, in the bash shell, you must ensure that `.bashrc`
+contains the required environment settings for the SSH user.
+
+[[glgfy]][[GSHAG00223]][[file-access-permissions-on-uac-enabled-windows-systems]]
+
+===== File Access Permissions on UAC-Enabled Windows Systems
+
+
+[NOTE]
+====
+The http://technet.microsoft.com/en-us/library/cc709691%28WS.10%29.aspx[User
+Account Control (UAC)](`http://technet.microsoft.com/en-us/library/cc709691%28WS.10%29.aspx`)
+feature is available only on some versions of the Windows operating
+system, for example, Windows 7, Windows Vista, and Windows 2008.
+====
+
+
+You might be using a UAC-enabled Windows system and choose to store
+files for {productName} instances in a directory other than the SSH
+user's home directory. In this situation, the SSH user must have native
+(that is, nonvirtual) read and write access to the file system where the
+instances are to be stored. The OS-level administrator has such access
+by default. You can also configure the system to grant such access to
+other users. For more information, see the documentation for the Windows
+operating system.
+
+[[CEGIFJJF]][[GSHAG448]][[setting-up-dcom-and-testing-the-dcom-set-up]]
+
+=== Setting Up DCOM and Testing the DCOM Set Up
+
+Setting up DCOM on a host involves the following tasks:
+
+* Verifying Windows operating system settings for the host
+* Enabling the Windows user to run scripts on the host
+* Setting up password authentication for the Windows user on the host
+
+Set up DCOM on all hosts where instances in your cluster will reside.
+
+After setting up DCOM on a host, test the connection over DCOM to the
+host.
+
+[[CEGDAFHD]][[GSHAG449]][[windows-operating-system-settings]]
+
+==== Windows Operating System Settings
+
+To enable access to a host over DCOM, ensure that the following items in
+the Windows operating system are set as follows on the host:
+
+* The following services are in the started state and are set to start automatically:
+
+** Server
+** Remote Registry
+
+* Network Access: Sharing security model for local accounts is set to Classic.
+* The following ports are open:
+
+** DCOM port 135 or 139
+** Windows Shares port 445
+
+[[CEGCJGCF]][[GSHAG450]][[to-enable-the-windows-user-to-run-scripts-on-a-remote-host]]
+
+==== To Enable the Windows User to Run Scripts on a Remote Host
+
+To run scripts on a remote host, full control over the following Windows
+registry keys must be allowed for the Windows user or the group that
+contains the Windows user:
+
+* One of the following keys, depending on the processor architecture of the host:
+
+** 32-bit architecture: +
+   HKEY_LOCAl_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\\{76A64158-CB41-11D1-8B02-00600806D9B6}
+** 64-bit architecture: +
+   HKEY_LOCAl_MACHINE\SOFTWARE\Classes\CLSID\\{76A64158-CB41-11D1-8B02-00600806D9B6}
+
+* HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\\{72C24DD5-D70A-438B-8A42-98424B88AFB8}
+
+In some versions of Windows, only the user `NT SERVICE\TrustedInstaller`
+has full control over these Windows registry keys. If your version of
+Windows is configured in this way, you must modify these keys to allow
+full control over them for the Windows user or the group that contains
+the Windows user.
+
+
+[NOTE]
+====
+Only the operating-system-level administrator user can edit the Windows registry.
+====
+
+
+Perform this procedure for each Windows registry key that you are
+modifying on each host where instances in your cluster will reside.
+
+1. If necessary, start the Registry Editor.
++
+[source]
+----
+regedit.exe
+----
+The Registry Editor window opens.
+
+2. In the Registry Editor window, navigate to the registry key that you are modifying.
+
+3. Select the key, click mouse button 3, and from the pop-up menu that
+opens, select Permissions.
++
+The Permissions window for the key opens.
+
+4. Determine whether full control is allowed for the Windows user or
+the group that contains the Windows user.
+* If full control is allowed, no further action is required.
+* If full control is not allowed, allow full control as follows:
+[arabic]
+.. In the Permissions window, click Advanced. +
+The Advanced Security Settings window for the key opens.
+.. In the Advanced Security Settings window, select the Owner tab.
+.. From the Change owner to list, select the Windows user or the group
+that contains the Windows user.
+.. Ensure that the Replace owner on subcontainer and objects option is selected.
+.. Click Apply, then OK. +
+The Advanced Security Settings window closes. The Permissions window
+shows that full control is allowed for the Windows user or the group
+that contains the Windows user.
+
+.. In the Permissions window, click OK. The Permissions window closes.
+
+5. After modifying all the Windows registry keys over which full
+control is required, quit the Registry Editor.
+
+[[GSHAG451]]
+
+Next Steps
+
+Set up password authentication for the Windows user as explained in
+link:#CEGCDCEF[To Set Up Password Authentication for the Windows User].
+
+[[CEGCDCEF]][[GSHAG452]][[to-set-up-password-authentication-for-the-windows-user]]
+
+==== To Set Up Password Authentication for the Windows User
+
+When a {productName} subcommand uses DCOM to log in to a remote host,
+{productName} requires the Windows user's password to authenticate
+the Windows user. To provide this password securely to {productName},
+create a {productName} password alias to represent the password and
+store this alias in a password file that is passed to the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility.
+
+[[GSHAG453]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* The Windows user is a valid user on the host to which you are testing
+the connection over DCOM.
+* Items in the Windows operating system are set on the host as described
+in link:#CEGDAFHD[Windows Operating System Settings].
+* The Windows user is able to run scripts on the host. For more
+information, see link:#CEGCJGCF[To Enable the Windows User to Run
+Scripts on a Remote Host].
+
+1. Ensure that the DAS is running. +
+Remote subcommands require a running server.
+
+2. [[CEGGAHFH]]
+Create an alias for the Windows user's password.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for creating a password
+alias, see the link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] help page.
+====
++
+[source]
+----
+asadmin> create-password-alias alias-name
+----
++
+alias-name::
+  Your choice of name for the alias that you are creating.
++
+The `create-password-alias` subcommand prompts you to type the password
+for which you are creating an alias.
+
+3. In response to the prompt, type the Windows user's password. +
+The `create-password-alias` subcommand prompts you to type the password again.
+
+4. In response to the prompt, type the Windows user's password again.
+
+5. Create a plain text file that contains the following entry for the
+password alias:
++
+[source]
+----
+AS_ADMIN_WINDOWSPASSWORD=${ALIAS=alias-name}
+----
+alias-name::
+  The alias name that you specified in Step link:#CEGGAHFH[2].
++
+
+[NOTE]
+====
+When you create a `DCOM` node, pass this file as the `--passwordfile`
+option of the `asadmin` utility. For more information, see
+link:nodes.html#CHDIGBJB[To Create a `DCOM` Node].
+====
+
+
+[[GSHAG454]][[sthref7]]
+Example 2-1 Creating an Alias for the Windows User's Password
+
+This example creates an alias that is named `winuser-password` for the
+Windows user's password.
+
+[source]
+----
+$ asadmin create-password-alias winuser-password
+Enter the alias password>
+Enter the alias password again>
+Command create-password-alias executed successfully.
+----
+
+The entry in the password file for the `winuser-password` alias is as
+follows:
+
+[source]
+----
+AS_ADMIN_WINDOWSPASSWORD=${ALIAS=winuser-password}
+----
+
+[[GSHAG455]]
+
+See Also
+
+* link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
+* link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-password-alias` at the command line.
+
+[[GSHAG456]]
+
+Next Steps
+
+Test the DCOM setup as explained in link:#CEGJFADH[To Test the
+Connection Over DCOM to a Remote Host].
+
+[[CEGJFADH]][[GSHAG457]][[to-test-the-connection-over-dcom-to-a-remote-host]]
+
+==== To Test the Connection Over DCOM to a Remote Host
+
+Testing the connection over DCOM to a remote host verifies that the
+required Windows services are running, the required ports are open, and
+the Windows user has a valid user account on the host.
+
+Before attempting to perform any task that the requires the DAS contact
+the DCOM server on a remote host, test the connection over DCOM to the
+host. If this test fails, any attempt to perform a task that the
+requires the DAS contact the DCOM server on the host will also fail.
+Examples of such tasks are creating a DCOM node to represent the host or
+creating an instance that resides on the host. For more information, see
+link:nodes.html#CHDIGBJB[To Create a `DCOM` Node] and
+link:instances.html#gkqch[To Create an Instance Centrally].
+
+If you cannot connect to the host over DCOM, troubleshoot the DCOM setup
+before proceeding.
+
+[[GSHAG458]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* The Windows user is a valid user on the host to which you are testing
+the connection over DCOM.
+* Items in the Windows operating system are set on the host as described
+in link:#CEGDAFHD[Windows Operating System Settings].
+* The Windows user is able to run scripts on the host. For more
+information, see link:#CEGCJGCF[To Enable the Windows User to Run
+Scripts on a Remote Host].
+* Password authentication is set up for the windows user as explained in
+link:#CEGCDCEF[To Set Up Password Authentication for the Windows User].
+
+1. Ensure that the DAS is running. +
+Remote subcommands require a running server.
+
+2. Run the `validate-dcom` subcommand. +
+Specify the file that contains the alias for the Windows user's password
+through the `--passwordfile` option of the `asadmin` utility. For more
+information about this file, see link:#CEGCDCEF[To Set Up Password
+Authentication for the Windows User].
+
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for configuring the
+node, see the link:reference-manual/validate-dcom.html#GSRFM796[`validate-dcom`(1)] help page.
+====
+
+[source]
+----
+C:\>asadmin --passwordfile filename validate-dcom host-name
+----
+filname::
+  The name of the file that contains the alias for the Windows user's
+  password.
+host-name::
+  The name of the host to which you are testing the connection over
+  DCOM.
+
+[[GSHAG459]][[sthref8]]
+Example 2-2 Testing the Connection Over DCOM to a Remote Host
+
+This example tests the connection over DCOM to the host `wpmdl2`.
+
+[source]
+----
+C:\> asadmin --passwordfile aspwalias.txt validate-dcom wpmdl2
+Command validate-dcom executed successfully.
+----
+
+[[GSHAG460]]
+
+See Also
+
+* link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
+* link:reference-manual/validate-dcom.html#GSRFM796[`validate-dcom`(1)]
+* link:#CEGDAFHD[Windows Operating System Settings]
+* link:#CEGCJGCF[To Enable the Windows User to Run Scripts on a Remote Host]
+* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
+* link:instances.html#gkqch[To Create an Instance Centrally]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help validate-dcom` at the command line.
+
+[[gksiy]][[GSHAG00173]][[setting-up-cygwin-ssh-on-windows]]
+
+=== Setting Up Cygwin SSH on Windows
+
+Set up Cygwin SSH on the DAS host and on all hosts where instances in
+your cluster will reside.
+
+The following topics are addressed here:
+
+* link:#gksjn[To Download and Install Cygwin]
+* link:#gksin[To Set the Path for Windows and for the Cygwin Shell]
+* link:#gksov[To Set the Home Directory for the Cygwin SSH User]
+* link:#gkskx[To Configure and Start the Cygwin SSH Server Daemon
+`sshd`]
+
+[[gksjn]][[GSHAG00071]][[to-download-and-install-cygwin]]
+
+==== To Download and Install Cygwin
+
+For centralized {productName} administration, a basic Cygwin
+installation that includes the SSH client and the SSH server daemon
+`sshd` is sufficient. The default installation options are sufficient to
+create such a basic installation.
+
+1. Log in as a user with Administrator privileges.
+
+2. Create the folder `C:\cygwin`.
+
+3. From the http://www.cygwin.com/[Cygwin home page]
+(`http://www.cygwin.com/`), download and save the `setup.exe` file to your desktop.
+
+4. Run the `setup.exe` file.
+
+5. Select the default for the following options:
+* Install from Internet
+* Install Root Directory: `C:\cygwin`
+* Install for All Users
+
+6. Specify a folder for the local package directory that is not the
+Cygwin root folder, for example, `C:\cygwin\packages`.
+
+7. Specify the connection method. +
+For example, if the host is connected to the Internet through a proxy
+server, specify the proxy server.
+
+8. Select the mirror site from which to download the software.
+
+9. Select the `openssh` package for installation.
+[arabic]
+.. Under the Net category, search for `openssh`.
+.. Locate the `openssh` package and click Skip. +
+The package is selected.
+.. Click Next. +
+Any unsatisfied dependencies are listed.
+
+10. Leave the Select Required Packages option selected and click Next +
+The packages are installed.
+
+11. Click Finish.
+
+[[GSHAG321]]
+
+See Also
+
+For detailed information about installing Cygwin, see
+"http://cygwin.com/cygwin-ug-net/setup-net.html#internet-setup[Internet
+Setup]" in Cygwin User's Guide
+(`http://cygwin.com/cygwin-ug-net/setup-net.html#internet-setup`).
+
+[[gksin]][[GSHAG00072]][[to-set-the-path-for-windows-and-for-the-cygwin-shell]]
+
+==== To Set the Path for Windows and for the Cygwin Shell
+
+To enable {productName} tools to find commands for SSH, each user's
+path for Windows and for the Cygwin shell must contain the following directories:
+--
+* The Cygwin `bin` directory, for example `C:\cygwin\bin`
+* The `bin` directory of the JDK software
+--
+
+1. Log in as a user with Administrator privileges.
+Logging in as a user with Administrator privileges ensures that the
+change applies to all users.
+
+2. In the System Information control panel, click Advanced>Environment Variables.
+
+3. Add the following directories to the Path environment variable:
+
+* The Cygwin `bin` directory, for example `C:\cygwin\bin`
+* The `bin` directory of the JDK software
+
+[[gksov]][[GSHAG00073]][[to-set-the-home-directory-for-the-cygwin-ssh-user]]
+
+==== To Set the Home Directory for the Cygwin SSH User
+
+The SSH Server Daemon `sshd` locates a user's home directory from the
+configuration in the user database, not from environment variables such
+as `HOME`. To ensure that all {productName} commands can run without
+errors, each SSH user must be configured to have a home directory.
+
+Each user on a Windows host where SSH is set up potentially has two home
+directories:
+
+* Windows home directory. {productName} commands, which are run in a
+Windows command window, use the Windows home directory.
+* SSH home directory. SSH commands, which are run in a shell such as
+`bash` or `ksh`, use the SSH home directory.
+
+If these home directories are different, {productName} and SSH each
+locate a user's `.ssh` directory in different directories. To simplify
+the set up of SSH, configure each user's home directory for SSH and
+Windows to be the same directory. A disadvantage of this approach is
+that the SSH home directory has spaces in its path name. Spaces in path
+names are cumbersome in the UNIX environment.
+
+1. Log in as a user with Administrator privileges.
+2. In the `c:\cygwin\etc\passwd` file, edit the home directory setting
+for the SSH user to specify the user's home directory for Windows.
+
+[[gkskx]][[GSHAG00074]][[to-configure-and-start-the-cygwin-ssh-server-daemon-sshd]]
+
+==== To Configure and Start the Cygwin SSH Server Daemon `sshd`
+
+[[GSHAG322]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* A user account is created for each user that will log in to the host through SSH.
+* A password is set for each user account.
+
+The SSH server daemon `sshd` disallows authentication of any user for
+whose account a password is not set.
+
+1. Double-click the Cygwin icon. A Cygwin terminal is started.
+
+2. If necessary, set the password for your user account.
+[arabic]
+.. Run the `passwd` command as follows:
++
+[source]
+----
+$ passwd user-name
+----
+user-name::
+  The user name for your account.
+.. Type a password. The password for your Windows account is also set.
+
+3. Configure SSH on the host.
+[arabic]
+.. Run the `ssh-host-config` command.
++
+[source]
+----
+$ ssh-host-config
+----
++
+[TIP]
+====
+If you are using Windows XP, specify the `-y` option of
+`ssh-host-config` to answer `yes` to all prompts. If you run
+`ssh-host-config` with the `-y` option, omit Step link:#gkuat[b].
+====
++
+.. [[gkuat]]
+Ensure that the `StrictModes` and `PubkeyAuthentication` options are set
+to `yes` in the file `/etc/ssh_config`. +
+The file `/etc/ssh_config` can also be accessed as `/cygdrive/c/cygwin/etc/sshd_config`.
+
+4. Start the SSH server daemon `sshd`.
++
+[source]
+----
+$ net start sshd
+----
+5. Confirm that the SSH server daemon `sshd` is running.
++
+[source]
+----
+$ cygrunsrv --query sshd
+ Service             : sshd
+ Display name        : CYGWIN sshd
+ Current State       : Running
+ Controls Accepted   : Stop
+ Command             : /usr/sbin/sshd -D
+----
+
+[[GSHAG323]]
+
+Next Steps
+
+After you have completed the setup of SSH on a host, test the setup on
+the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
+
+[[gkskf]][[GSHAG00174]][[setting-up-the-mks-toolkit-on-windows]]
+
+=== Setting Up the MKS Toolkit on Windows
+
+Set up the MKS Toolkit on the DAS host and on all hosts where instances
+in your cluster will reside.
+
+The following topics are addressed here:
+
+* link:#gksmq[To Install the MKS Toolkit]
+* link:#gksmu[To Set the Path for Windows and for the MKS Toolkit Shell]
+* link:#gksox[To Set the Home Directory for the MKS Toolkit SSH User]
+* link:#gksnx[To Configure and Start the MKS Toolkit SSH Server Daemon
+`sshd`]
+
+[[gksmq]][[GSHAG00075]][[to-install-the-mks-toolkit]]
+
+==== To Install the MKS Toolkit
+
+For centralized {productName} administration, the default
+installation of the MKS Toolkit is sufficient.
+
+Follow the instructions in the MKS Toolkit product documentation to
+install OpenSSH from the MKS Toolkit with default installation options.
+
+[[GSHAG324]]
+
+See Also
+
+For detailed information about installing MKS Toolkit, see
+"http://www.mkssoftware.com/docs/rn/relnotes_tk94.asp#install[Installing
+MKS Toolkit]" in MKS Toolkit v9.4 Release Notes
+(`http://www.mkssoftware.com/docs/rn/relnotes_tk94.asp#install`).
+
+[[gksmu]][[GSHAG00076]][[to-set-the-path-for-windows-and-for-the-mks-toolkit-shell]]
+
+==== To Set the Path for Windows and for the MKS Toolkit Shell
+
+To enable {productName} tools to find commands for SSH, each user's
+path for Windows and for the MKS Toolkit shell must contain the
+following directories:
+
+* The MKS Toolkit `bin` directory, for example
+`C:\Program Files\MKS Toolkit\mksnt`
+* The `bin` directory of the JDK software
+
+The MKS Toolkit installer automatically adds the MKS Toolkit `bin`
+directory to the path. However, you must add the `bin` directory of the
+JDK software to the path yourself.
+
+1. Log in as a user with Administrator privileges.
++
+Logging in as a user with Administrator privileges ensures that the
+change applies to all users.
+2. In the System Information control panel, click Advanced>Environment
+Variables.
+3. Add the `bin` directory of the JDK software to the Path environment
+variable.
+
+[[gksox]][[GSHAG00077]][[to-set-the-home-directory-for-the-mks-toolkit-ssh-user]]
+
+==== To Set the Home Directory for the MKS Toolkit SSH User
+
+The SSH Server Daemon `sshd` locates a user's home directory from the
+configuration in the user database, not from environment variables such
+as `HOME`. To ensure that all {productName} commands can run without
+errors, each SSH user must be configured to have a home directory.
+
+Each user on a Windows host where SSH is set up potentially has two home
+directories:
+
+* Windows home directory. {productName} commands, which are run in a
+Windows command window, use the Windows home directory.
+* SSH home directory. SSH commands, which are run in a shell such as
+`bash` or `ksh`, use the SSH home directory.
+
+If these home directories are different, {productName} and SSH each
+locate a user's `.ssh` directory in different directories. To simplify
+the set up of SSH, configure each user's home directory for SSH and
+Windows to be the same directory. A disadvantage of this approach is
+that the SSH home directory has spaces in its path name. Spaces in path
+names are cumbersome in the UNIX environment.
+
+1. [[gkslo]]
+Compare the pairs of settings for Windows and the MKS Toolkit that are
+listed in the following table.
++
+[width="100%",cols="<50%,<50%",options="header",]
+|===
+|Windows Environment Variable |MKS Toolkit Field
+|`HOMEPATH` |Home Directory
+|`HOMEDRIVE` |Home Directory Drive
+|===
+[arabic]
+.. In a Windows command window, determine the values of the `HOMEPATH`
+and `HOMEDRIVE` environment variables.
+.. In an MKS Toolkit shell, determine the current settings of the Home
+Directory and Home Directory Drive fields for the user.
++
+[source]
+----
+$ userinfo user-name
+----
+user-name::
+  The user name for the user whose home directory you are setting, for
+  example `Administrator`.
+
++
+2. If the settings do not match, update setting of each MKS Toolkit
+field to match its corresponding Windows environment variable. +
+If the settings match, no further action is required. +
+To update the settings, run the following command in an MKS Toolkit shell:
++
+[source]
+----
+$ userinfo -u -fHomeDirDrive:"drive" -fHomeDir:"path" user-name
+----
+drive::
+  The drive identifier of the disk drive on which the user's Windows
+  home directory resides, for example, `C:`.
+path::
+  The path to the user's Windows home directory, for example,
+  `\Documents and Settings\Administrator`.
+user-name::
+  The user name for the user whose home directory you are setting, for
+  example `Administrator`.
++
+[NOTE]
+====
+Do not set the `HOME` environment variable explicitly. If Home Directory
+and Home Directory Drive are set correctly, the `HOME` environment
+variable specifies the correct path by default.
+====
+
+3. In an MKS Toolkit shell, confirm that the settings were updated.
++
+[source]
+----
+$ userinfo user-name
+----
+user-name::
+  The user name for the user whose home directory you are setting, for
+  example `Administrator`.
+
+4. Log out of the host and log in to the host again.
+
+5. Confirm that the home directories are the same as explained in
+Step link:#gkslo[1].
+
+[[GSHAG00014]][[gksnj]]
+Example 2-3 Setting the Home Directory for the MKS Toolkit User
+
+This example sets the home directory for the MKS Toolkit user
+`Administrator` to `C:\Documents and Settings\Administrator`.
+
+[source]
+----
+$ userinfo -u -fHomeDirDrive:"C:"
+-fHomeDir:"\Documents and Settings\Administrator" Administrator
+----
+
+[[gksnx]][[GSHAG00078]][[to-configure-and-start-the-mks-toolkit-ssh-server-daemon-sshd]]
+
+==== To Configure and Start the MKS Toolkit SSH Server Daemon `sshd`
+
+
+[NOTE]
+====
+Do not set the command shell to `cmd.exe`. The use of SSH for
+centralized {productName} administration requires a shell in the
+style of a UNIX shell.
+====
+
+
+1. From the Programs menu, choose MKS Toolkit>Configuration>Configuration Information.
+
+2. Enable password authentication and strict modes.
+[arabic]
+.. Click the Secure Shell Service tab.
+.. Select the Password Authentication option.
+.. Click Advanced settings.
+.. Click the Login tab.
+.. Deselect the Strict Modes option.
+
+3. If you are using SSH key-file authentication, enable `MKSAUTH` password authentication.
+[arabic]
+.. Click the Authentication tab.
+.. Under Enable/Disable Password using MKSAUTH, type the user's password and click the Enable.
+
+4. Start the SSH server daemon `sshd`.
+
+5. Confirm that the SSH server daemon `sshd` is running.
++
+[source]
+----
+$ service query MKSSecureSH
+Name:           MKS Secure Shell Service
+Service Type:   WIN32_OWN_PROCESS
+Current State:  RUNNING
+Controls Accepted:      ACCEPT_STOP
+Check Point:    0
+Wait Hint:      0
+Start Type:     AUTO_START
+Error Control:  IGNORE
+Path:           "C:\Program Files\MKS Toolkit\bin\secshd.exe"
+Dependency:     NuTCRACKERService
+Dependency:     tcpip
+Service Start Name:     LocalSystem
+----
+
+[[GSHAG325]]
+
+Next Steps
+
+After you have completed the setup of SSH on a host, test the setup on
+the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
+
+[[gksja]][[GSHAG00175]][[setting-up-ssh-on-unix-and-linux-systems]]
+
+=== Setting Up SSH on UNIX and Linux Systems
+
+Setting up SSH on UNIX and Linux systems involves verifying that the SSH
+server daemon `sshd` is running and, if necessary, starting this daemon.
+Set up SSH on the DAS host and on all hosts where instances in your
+cluster will reside.
+
+On UNIX and Linux systems, SSH software is typically installed as part
+of the base operating system. If SSH is not installed, download and
+install the appropriate http://www.openssh.com/[OpenSSH]
+(`http://www.openssh.com/`) SSH package for your operating system.
+
+How to set up SSH on UNIX and Linux systems depends on the flavor of the
+operating system that you are running, as explained in the following
+sections:
+
+* link:#gksjx[To Set Up SSH on Oracle Solaris Systems]
+* link:#gkspz[To Set Up SSH on MacOS Systems]
+* link:#gksrd[To Set Up SSH on Linux systems]
+
+[[gksjx]][[GSHAG00079]][[to-set-up-ssh-on-oracle-solaris-systems]]
+
+==== To Set Up SSH on Oracle Solaris Systems
+
+1. Ensure that the following options in the configuration file
+`/etc/ssh/sshd_config` are set to `yes`:
+* `StrictModes`
+* `PubkeyAuthentication`
+2. Determine if the SSH server daemon `sshd` is running.
++
+[source]
+----
+$ /usr/bin/svcs ssh
+----
+3. If the SSH server daemon `sshd` is not running, start this daemon.
++
+If the daemon is running, no further action is required.
++
+[source]
+----
+$ /usr/sbin/svcadm enable ssh
+----
+
+[[GSHAG00015]][[gkspo]]
+Example 2-4 Determining if the `sshd` Daemon Is Running on an Oracle
+Solaris System
+
+This example confirms that the SSH server daemon `sshd` is running on an
+Oracle Solaris system.
+
+[source]
+----
+$ /usr/bin/svcs ssh
+STATE          STIME    FMRI
+online         Jul_06   svc:/network/ssh:default
+----
+
+[[GSHAG326]]
+
+See Also
+
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)]
+
+[[GSHAG327]]
+
+Next Steps
+
+After you have completed the setup of SSH on a host, test the setup on
+the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
+
+[[gkspz]][[GSHAG00080]][[to-set-up-ssh-on-macos-systems]]
+
+==== To Set Up SSH on MacOS Systems
+
+1. Open System Preferences and click Sharing. +
+The Sharing window opens.
+
+2. Ensure that Remote Login is selected in the Service list.
+
+3. Ensure that either of the following is allowed access:
+
+* All Users
+* The user that running the DAS or instance
+
+4. (MacOS 10.6 systems only) Ensure that the SSH server daemon `sshd`
+allows password authentication. +
+On MacOS 10.5 systems, the SSH server daemon `sshd` allows password
+authentication by default. However, on MacOS 10.6 systems, the SSH
+server daemon `sshd` disallows password authentication by default.
+[arabic]
+.. Edit the configuration file `/etc/sshd_config` to set the `PasswordAuthentication` option to `yes`.
+.. Stop the SSH server daemon `sshd`.
++
+[source]
+----
+$ sudo launchctl stop com.openssh.sshd
+----
+.. Start the SSH server daemon `sshd`.
++
+[source]
+----
+$ sudo launchctl start com.openssh.sshd
+----
+
+[[GSHAG328]]
+
+Next Steps
+
+After you have completed the setup of SSH on a host, test the setup on
+the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
+
+[[gksrd]][[GSHAG00081]][[to-set-up-ssh-on-linux-systems]]
+
+==== To Set Up SSH on Linux systems
+
+1. Ensure that the following options in the configuration file
+`/etc/ssh/sshd_config` are set to `yes`:
+* `StrictModes`
+* `PubkeyAuthentication`
+2. Determine if the SSH server daemon `sshd` is running.
++
+[source]
+----
+$ /sbin/service sshd status
+----
+3. If the SSH server daemon `sshd` is not running, start this daemon.
++
+If the daemon is running, no further action is required.
++
+[source]
+----
+$ /sbin/service sshd start
+----
+
+[[GSHAG00016]][[gkssf]]
+Example 2-5 Determining if the `sshd` Daemon Is Running on a Linux
+System
+
+This example confirms that the SSH server daemon `sshd` is running on a
+Linux system.
+
+[source]
+----
+$ /sbin/service sshd status
+openssh-daemon (pid  2373) is running...
+----
+
+[[GSHAG329]]
+
+Next Steps
+
+After you have completed the setup of SSH on a host, test the setup on
+the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
+
+[[gkslw]][[GSHAG00176]][[testing-the-ssh-setup-on-a-host]]
+
+=== Testing the SSH Setup on a Host
+
+After setting up SSH on a host, test the setup to ensure that you can
+use SSH to contact the host from another host. Testing the SSH setup on
+a host verifies that the SSH server daemon `sshd` is running and that
+the SSH user has a valid user account on the host.
+
+If you cannot use SSH to contact the host, troubleshoot the SSH setup
+before setting up SSH user authentication.
+
+[[gkskk]][[GSHAG00082]][[to-test-the-ssh-setup-on-a-host]]
+
+==== To Test the SSH Setup on a Host
+
+1. From another host, use SSH to log in into the host that you are
+testing as the SSH user.
++
+[source]
+----
+$ ssh -l user-name host-name
+----
+user-name::
+  The user name for the SSH user's account on the host.
+host-name::
+  The host name of the host that you are logging in to.
+2. In response to the prompt, type your password.
++
+If this step succeeds, your setup of SSH is complete.
++
+The first time that you connect to a host, you might be warned that the
+authenticity cannot be established and be asked if you want to continue
+connection. If you trust the host, answer `yes` to connect to the host.
+
+[[GSHAG330]]
+
+Troubleshooting
+
+To obtain diagnostic information, use the `-v` option of the
+command-line SSH client and the `-d` option of the SSH server daemon
+`sshd`. How to start the SSH server daemon `sshd` manually depends on
+the operating system and SSH provider that you are using.
+
+If the SSH server daemon `sshd` is set up on a host that has a firewall,
+ensure that a rule is defined to allow inbound traffic on the SSH port.
+The default SSH port is port 22.
+
+If your connection is refused, the SSH server daemon `sshd` is not
+running and you must start the daemon. For instructions, see the
+following sections:
+
+* link:#gkskx[To Configure and Start the Cygwin SSH Server Daemon `sshd`]
+* link:#gksnx[To Configure and Start the MKS Toolkit SSH Server Daemon `sshd`]
+* link:#gksjx[To Set Up SSH on Oracle Solaris Systems]
+
+If your connection is accepted, but you cannot log in, ensure that the
+SSH user has a valid user account on the host.
+
+[[GSHAG331]]
+
+Next Steps
+
+After testing the SSH setup, set up SSH user authentication to enable
+SSH to authenticate users without prompting for a password. For more
+information, see link:#gkshh[Setting Up SSH User Authentication].
+
+[[gkshh]][[GSHAG00177]][[setting-up-ssh-user-authentication]]
+
+=== Setting Up SSH User Authentication
+
+When a {productName} subcommand uses SSH to log in to a remote host,
+{productName} must be able to authenticate the SSH user. Setting up
+SSH user authentication ensures that this requirement is met.
+
+Before setting up SSH user authentication, determine the authentication
+scheme to use. If SSH is already deployed at your site, the
+authentication scheme to use might already be chosen for you.
+
+The following table lists the authentication schemes that {productName} supports. The table also lists the advantages and disadvantages
+of each authentication scheme.
+
+[width="100%",cols="<34%,<33%,<33%",options="header",]
+|===
+|Authentication Scheme |Advantages |Disadvantages
+|Public key without encryption |{productName} provides tools to
+simplify set up. |SSH must be configured to locate users' key files in
+the correct location. File access permissions for key files and the
+directory that contains the key files must be set correctly.
+
+|Public key with passphrase-protected encryption |This scheme is more
+secure than public key authentication without encryption. |SSH must be
+configured to locate users' key files in the correct location. File
+access permissions for key files and the directory that contains the key
+files must be set correctly. For each SSH user, {productName}
+password aliases are required for the encryption passphrase.
+
+|Password |No SSH configuration is required to locate key files or to
+ensure that file access permissions are correct. |For each SSH user,
+{productName} password aliases are required for the SSH password.
+|===
+
+
+The following topics are addressed here:
+
+* link:#gksqe[To Set Up Public Key Authentication Without Encryption]
+* link:#gktaq[To Set Up Encrypted Public Key Authentication]
+* link:#gktbd[To Set Up Password Authentication]
+
+[[gksqe]][[GSHAG00083]][[to-set-up-public-key-authentication-without-encryption]]
+
+==== To Set Up Public Key Authentication Without Encryption
+
+Use the `setup-ssh` subcommand in local mode to set up public key
+authentication without encryption. This subcommand enables you to set up
+public key authentication on multiple hosts in a single operation.
+
+The `setup-ssh` subcommand generates a key pair and distributes the
+public key file to specified hosts. The private key file and the public
+key file are protected only by the file system's file access
+permissions. If you require additional security, set up public key
+authentication with passphrase-protected encryption as explained in
+link:#gktaq[To Set Up Encrypted Public Key Authentication].
+
+[[GSHAG332]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* SSH is set up on each host where you are setting up public key
+authentication. For more information, see the following sections:
+
+** link:#gksiy[Setting Up Cygwin SSH on Windows]
+** link:#gkskf[Setting Up the MKS Toolkit on Windows]
+** link:#gksja[Setting Up SSH on UNIX and Linux Systems]
+
+* Only the SSH user has write access to the following files and
+directories on each host where you are setting up public key
+authentication:
+
+** The SSH user's home directory
+** The `~/.ssh` directory
+** The `authorized_key` file
++
+If other users can write to these files and directories, the secure
+service might not trust the `authorized_key` file and might disallow
+public key authentication.
+
+
+1. Generate an SSH key pair and distribute the public key file to the
+hosts where you are setting up public key authentication.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for setting up an SSH
+key, see the link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)] help page.
+====
++
+[source]
+----
+asadmin> setup-ssh [--sshuser sshuser] host-list
+----
+sshuser::
+  The SSH user for which you are generating the SSH key pair. If you are
+  running the subcommand as the SSH user, you may omit this option.
+host-list::
+  A space-separated list of the names of the hosts where the SSH public
+  key is to be distributed.
++
+2. After generating the SSH key pair, the subcommand uses SSH to log in to
+each host in host-list as the SSH user to distribute the public key.
+Each time a password is required to log in to a host, you are prompted
+for the SSH user's password.
++
+In response to each prompt for a password, type the SSH user's password.
+
+[[GSHAG00017]][[gktat]]
+Example 2-6 Setting Up Public Key Authentication Without Encryption
+
+This example generates and sets up an SSH key for the user `gfuser` on
+the hosts `sua01` and `sua02`. The command is run by the user `gfuser`.
+
+[source]
+----
+asadmin> setup-ssh --generatekey=true sua01 sua02
+Enter SSH password for gfuser@sua01>
+Created directory /home/gfuser/.ssh
+/usr/bin/ssh-keygen successfully generated the identification /home/gfuser/.ssh/id_rsa
+Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua01
+Successfully connected to gfuser@sua01 using keyfile /home/gfuser/.ssh/id_rsa
+Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua02
+Successfully connected to gfuser@sua02 using keyfile /home/gfuser/.ssh/id_rsa
+Command setup-ssh executed successfully.
+----
+
+[[GSHAG333]]
+
+Next Steps
+
+After setting up public key authentication, test the setup by using
+`ssh` to log in as the SSH user to each host where the public key was
+distributed. For each host, log in first with the unqualified host name
+and then with the fully qualified name. If SSH does not prompt for
+password, public key authentication is set up correctly on the host.
+
+If you are prompted for a password, verify that the public key file was
+copied correctly to the SSH user's `authorized_keys` file.
+
+[[GSHAG334]]
+
+Troubleshooting
+
+Setup might fail because file access permissions in the SSH user's home
+directory are too permissive. In this situation, ensure that the file
+access permissions in the SSH user's home directory meet the
+requirements for performing this procedure.
+
+If you have set the file access permissions in the SSH user's home
+directory correctly, setup might still fail if you are using the MKS
+Toolkit. In this situation, correct the problem in one of the following
+ways:
+
+* On each remote host, copy the public key file to the SSH user's
+`~/.ssh` directory and import the file. To import the file, select the
+Secure Service tab in the MKS configuration GUI and click Passwordless.
+* Disable strict modes.
+
+[[GSHAG335]]
+
+See Also
+
+* link:#gksiy[Setting Up Cygwin SSH on Windows]
+* link:#gkskf[Setting Up the MKS Toolkit on Windows]
+* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
+* link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help setup-ssh` at the command line.
+
+[[gktaq]][[GSHAG00084]][[to-set-up-encrypted-public-key-authentication]]
+
+==== To Set Up Encrypted Public Key Authentication
+
+Encrypted key file authentication uses an encrypted private key file
+that is protected with a passphrase. This passphrase must be provided to
+use the private key to unlock the public key. If you require encrypted
+public key authentication, you must use the SSH utility `ssh-keygen` to
+generate an SSH key pair with an encrypted private key. You can then use
+the `setup-ssh` subcommand to distribute the public key file to
+specified hosts.
+
+To use the encrypted key file, {productName} requires the passphrase
+with which the key file was encrypted. To provide this passphrase
+securely to {productName}, create a {productName} password alias
+to represent the passphrase and store this alias in a password file that
+is passed to the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility.
+
+
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+each step. For information about all the options for the commands and
+subcommands in this task, see their help pages or man pages.
+====
+
+
+[[GSHAG336]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* SSH is set up on each host where you are setting up public key
+authentication. For more information, see the following sections:
+
+** link:#gksiy[Setting Up Cygwin SSH on Windows]
+** link:#gkskf[Setting Up the MKS Toolkit on Windows]
+** link:#gksja[Setting Up SSH on UNIX and Linux Systems]
+
+* Only the SSH user has write access to the following files and
+directories on each host where you are setting up public key
+authentication:
+
+** The SSH user's home directory
+** The `~/.ssh` directory
+** The `authorized_key` file
++
+If other users can write to these files and directories, the secure
+service might not trust the `authorized_key` file and might disallow
+public key authentication.
+
+1. Generate an SSH key pair with an encrypted private key file.
++
+Use the SSH utility
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`]
+for this purpose.
++
+[source]
+----
+$ ssh-keygen -t type
+----
+type::
+  The algorithm that is to be used for the key and which must be `rsa`,
+  `dsa`, or `rsa1`.
++
+The `ssh-keygen` utility prompts you for a file in which to save the key.
+
+2. To simplify the distribution of the key file, accept the default file.
++
+The `ssh-keygen` utility prompts you for a passphrase.
+
+3. [[gktbh]]
+In response to the prompt, type your choice of passphrase for encrypting
+the private key file.
+4. The `ssh-keygen` utility prompts you to type the passphrase again.
++
+In response to the prompt, type the passphrase that you set in Step link:#gktbh[3].
+
+5. Distribute the public key file to the hosts where you are setting up
+public key authentication.
++
+Use the link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`]
+`asadmin` subcommand for this purpose.
++
+[source]
+----
+$ asadmin setup-ssh --generatekey=false host-list
+----
+host-list::
+  A space-separated list of the names of the hosts where the SSH public
+  key is to be distributed.
++
+The subcommand uses SSH to log in to each host in host-list as the SSH
+user to distribute the public key. Each time a passphrase or a password
+is required to log in to a host, you are prompted for the passphrase or
+the SSH user's password.
+
+6. In response to each prompt, type the requested information.
++
+--
+* In response to each prompt for a passphrase, type the passphrase that
+  you set in Step link:#gktbh[3].
+* In response to each prompt for a password, type the SSH user's password.
+--
++
+7. [[gktbm]]
+Create a {productName} password alias for the passphrase that you set
+in Step link:#gktbh[3].
+[arabic]
+.. Ensure that the DAS is running. +
+Remote subcommands require a running server.
+.. Run the link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`]
+`asadmin` subcommand.
++
+[source]
+----
+$ asadmin create-password-alias alias-name
+----
+alias-name::
+  Your choice of name for the alias that you are creating.
++
+The `create-password-alias` subcommand prompts you to type the
+passphrase for which you are creating an alias.
+.. In response to the prompt, type the passphrase that you set in
+Step link:#gktbh[3].
++
+The `create-password-alias` subcommand prompts you to type the passphrase again.
+.. In response to the prompt, type the passphrase that you set in
+Step link:#gktbh[3] again.
+
+8. Create a plain text file that contains the following entry for the passphrase alias:
++
+[source]
+----
+AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=alias-name}
+----
+alias-name::
+  The alias name that you specified in Step link:#gktbm[7].
++
+[NOTE]
+====
+When you create an `SSH` node, pass this file as the `--passwordfile`
+option of the `asadmin` utility. For more information, see
+link:nodes.html#gkrnf[To Create an `SSH` Node].
+====
+
+
+[[GSHAG00018]][[gktav]]
+Example 2-7 Setting Up Encrypted Public Key Authentication
+
+This example generates an SSH key pair with an encrypted private key for
+the user `gfadmin` and distributes the public key to the hosts `sj01`
+and `ja02`. The example also creates an alias that is named
+`ssh-key-passphrase` for the private key's passphrase.
+
+[source]
+----
+$ ssh-keygen -t rsa
+Generating public/private rsa key pair.
+Enter file in which to save the key (/home/gfadmin/.ssh/id_rsa):
+Enter passphrase (empty for no passphrase):
+Enter same passphrase again:
+Your identification has been saved in /home/gfadmin/.ssh/id_rsa.
+Your public key has been saved in /home/gfadmin/.ssh/id_rsa.pub.
+The key fingerprint is:
+db:b5:f6:0d:fe:16:33:91:20:64:90:1a:84:66:f5:d0 gfadmin@dashost
+$ asadmin setup-ssh --generatekey=false sj01 sj02
+Key /home/gfadmin/.ssh/id_rsa is encrypted
+Enter key passphrase>
+Enter SSH password for gfadmin@sj01>
+Copied keyfile /home/gfadmin/.ssh/id_rsa.pub to gfadmin@sj01
+Successfully connected to gfadmin@sj01 using keyfile /home/gfadmin/.ssh/id_rsa
+Successfully connected to gfadmin@sj02 using keyfile /home/gfadmin/.ssh/id_rsa
+SSH public key authentication is already configured for gfadmin@sj02
+Command setup-ssh executed successfully.
+$ asadmin create-password-alias ssh-key-passphrase
+Enter the alias password>
+Enter the alias password again>
+Command create-password-alias executed successfully.
+----
+
+The entry in the password file for the `ssh-key-passphrase` alias is as
+follows:
+
+[source]
+----
+AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=ssh-key-passphrase}
+----
+
+[[GSHAG337]]
+
+Troubleshooting
+
+Setup might fail because file access permissions in the SSH user's home
+directory are too permissive. In this situation, ensure that the file
+access permissions in the SSH user's home directory meet the
+requirements for performing this procedure.
+
+If you have set the file access permissions in the SSH user's home
+directory correctly, setup might still fail if you are using the MKS
+Toolkit. In this situation, correct the problem in one of the following
+ways:
+
+* On each remote host, copy the public key file to the SSH user's
+`~/.ssh` directory and import the file. To import the file, select the
+Secure Service tab in the MKS configuration GUI and click Passwordless.
+* Disable strict modes.
+
+[[GSHAG338]]
+
+See Also
+
+* link:#gksiy[Setting Up Cygwin SSH on Windows]
+* link:#gkskf[Setting Up the MKS Toolkit on Windows]
+* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
+* link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
+* link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)]
+* link:reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)]
+* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help create-password-alias`
+* `asadmin help setup-ssh`
+
+[[gktbd]][[GSHAG00085]][[to-set-up-password-authentication]]
+
+==== To Set Up Password Authentication
+
+To use SSH to log in to a remote host, {productName} requires the SSH
+user's password. To provide this password securely to {productName},
+create a {productName} password alias to represent the password and
+store this alias in a password file that is passed to the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility.
+
+[[GSHAG339]]
+
+Before You Begin
+
+Ensure that SSH is set up on each host where you are setting up password
+authentication. For more information, see the following sections:
+
+* link:#gksiy[Setting Up Cygwin SSH on Windows]
+* link:#gkskf[Setting Up the MKS Toolkit on Windows]
+* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
+
+1. Ensure that the DAS is running. +
+Remote subcommands require a running server.
+
+2. [[gktbb]]
+Create an alias for the SSH user's password.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for creating a password
+alias, see the link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] help page.
+====
++
+[source]
+----
+asadmin> create-password-alias alias-name
+----
+alias-name::
+  Your choice of name for the alias that you are creating.
+
+3. The `create-password-alias` subcommand prompts you to type the password
+for which you are creating an alias. +
+In response to the prompt, type the SSH user's password. +
+The `create-password-alias` subcommand prompts you to type the password again.
+
+4. In response to the prompt, type the SSH user's password again.
+
+5. Create a plain text file that contains the following entry for the password alias:
++
+[source]
+----
+AS_ADMIN_SSHPASSWORD=${ALIAS=alias-name}
+----
+alias-name::
+  The alias name that you specified in Step link:#gktbb[2].
+
+[NOTE]
+====
+When you create an `SSH` node, pass this file as the `--passwordfile`
+option of the `asadmin` utility. For more information, see
+link:nodes.html#gkrnf[To Create an `SSH` Node].
+====
+
+
+[[GSHAG00019]][[gktba]]
+Example 2-8 Creating an Alias for the SSH User's Password
+
+This example creates an alias that is named `ssh-password` for the SSH user's password.
+
+[source]
+----
+$ asadmin create-password-alias ssh-password
+Enter the alias password>
+Enter the alias password again>
+Command create-password-alias executed successfully.
+----
+
+The entry in the password file for the `ssh-password` alias is as follows:
+
+[source]
+----
+AS_ADMIN_SSHPASSWORD=${ALIAS=ssh-password}
+----
+
+[[GSHAG340]]
+
+See Also
+
+* link:#gksiy[Setting Up Cygwin SSH on Windows]
+* link:#gkskf[Setting Up the MKS Toolkit on Windows]
+* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
+* link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
+* link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)]
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-password-alias` at the command line.
+
+[[gkshn]][[GSHAG00178]][[installing-and-removing-glassfish-server-software-on-multiple-hosts]]
+
+=== Installing and Removing {productName} Software on Multiple Hosts
+
+{productName} software must be installed on all hosts where {productName} will run. How to install {productName} software on multiple
+hosts depends on the degree of control that you require over the
+installation on each host.
+
+* If you require complete control over the installation on each host,
+install the software from a {productName} distribution on each host
+individually. For more information, see link:installation-guide.html#GSING[{productName} Installation Guide].
+* If the same set up on each host is acceptable, copy an existing
+{productName} installation to the hosts. For more information, see
+link:#gksil[To Copy a {productName} Installation to Multiple Hosts].
+
+{productName} also enables you to remove {productName} software
+from multiple hosts in a single operation. For more information, see
+link:#gktaw[To Remove {productName} Software From Multiple Hosts].
+
+The following topics are addressed here:
+
+* link:#gksil[To Copy a {productName} Installation to Multiple Hosts]
+* link:#gktaw[To Remove {productName} Software From Multiple Hosts]
+
+[[gksil]][[GSHAG00086]][[to-copy-a-glassfish-server-installation-to-multiple-hosts]]
+
+==== To Copy a {productName} Installation to Multiple Hosts
+
+Use the `install-node-dcom` subcommand or the `install-node-ssh`
+subcommand in local mode to copy an installation of {productName}
+software to multiple hosts.
+
+[[GSHAG341]]
+
+Before You Begin
+
+Ensure that DCOM or SSH is set up on the host where you are running the
+subcommand and on each host where you are copying the {productName}
+software.
+
+Run the appropriate subcommand for the protocol that is set up for
+communication between the hosts.
+
+* If DCOM is set up for communication between the hosts, run the
+`install-node-dcom` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for copying an
+installation of {productName} software, see the
+link:reference-manual/install-node-dcom.html#GSRFM626[`install-node-dcom`(1)] help page.
+====
++
+[source]
+----
+asadmin> install-node-dcom host-list
+----
+host-list::
+  A space-separated list of the names of the hosts where you are copying
+  the installation of {productName} software.
+* If SSH is set up for communication between the hosts, run the
+`install-node-ssh` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for copying an
+installation of {productName} software, see the
+link:reference-manual/install-node-ssh.html#GSRFM628[`install-node-ssh`(1)] help page.
+====
++
+[source]
+----
+asadmin> install-node-ssh host-list
+----
+host-list::
+  A space-separated list of the names of the hosts where you are copying
+  the installation of {productName} software.
+
+[[GSHAG461]][[sthref9]]
+Example 2-9 Copying a {productName} Installation to Multiple
+DCOM-Enabled Hosts
+
+This example copies the {productName} software on the host where the
+subcommand is run to the default location on the DCOM-enabled hosts
+`wpmdl1.example.com` and `wpmdl2.example.com`.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> install-node-dcom wpmdl1.example.com wpmdl2.example.com
+Created installation zip C:\glassfish8107276692860773166.zip
+Copying 85760199 bytes..........................................................
+....................................
+WROTE FILE TO REMOTE SYSTEM: C:/glassfish7/glassfish_install.zip and C:/glassfish7/unpack.bat
+Output from Windows Unpacker:
+
+C:\Windows\system32>C:
+
+C:\Windows\system32>cd "C:\glassfish7"
+
+C:\glassfish7>jar xvf glassfish_install.zip
+ inflated: bin/asadmin
+ inflated: bin/asadmin.bat
+ inflated: glassfish/bin/appclient
+ inflated: glassfish/bin/appclient.bat
+ inflated: glassfish/bin/appclient.js
+ inflated: glassfish/bin/asadmin
+ inflated: glassfish/bin/asadmin.bat
+...
+ inflated: mq/lib/props/broker/default.properties
+ inflated: mq/lib/props/broker/install.properties
+
+Command install-node-dcom executed successfully.
+----
+
+[[GSHAG342]][[sthref10]]
+Example 2-10 Copying a {productName} Installation to Multiple
+SSH-Enabled Hosts
+
+This example copies the {productName} software on the host where the
+subcommand is run to the default location on the SSH-enabled hosts
+`sj03.example.com` and `sj04.example.com`.
+
+[source]
+----
+asadmin> install-node-ssh sj03.example.com sj04.example.com
+Created installation zip /home/gfuser/glassfish2339538623689073993.zip
+Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
+sj03.example.com:/export/glassfish7
+Installing glassfish2339538623689073993.zip into sj03.example.com:/export/glassfish7
+Removing sj03.example.com:/export/glassfish7/glassfish2339538623689073993.zip
+Fixing file permissions of all files under sj03.example.com:/export/glassfish7/bin
+Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
+sj04.example.com:/export/glassfish7
+Installing glassfish2339538623689073993.zip into sj04.example.com:/export/glassfish7
+Removing sj04.example.com:/export/glassfish7/glassfish2339538623689073993.zip
+Fixing file permissions of all files under sj04.example.com:/export/glassfish7/bin
+Command install-node-ssh executed successfully
+----
+
+[[GSHAG343]]
+
+See Also
+
+* link:reference-manual/install-node-dcom.html#GSRFM626[`install-node-dcom`(1)]
+* link:reference-manual/install-node-ssh.html#GSRFM628[`install-node-ssh`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help install-node-dcom`
+* `asadmin help install-node-ssh`
+
+[[gktaw]][[GSHAG00087]][[to-remove-glassfish-server-software-from-multiple-hosts]]
+
+==== To Remove {productName} Software From Multiple Hosts
+
+Use the `uninstall-node-dcom` subcommand or the `uninstall-node-ssh`
+subcommand in local mode to remove {productName} software from
+multiple hosts.
+
+[[GSHAG344]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* DCOM or SSH is set up on the host where you are running the subcommand
+and on each host from which you are removing the {productName} software.
+
+* No process is accessing the parent of the base installation directory
+for the {productName} software or any subdirectory of this directory.
+
+* The parent of the base installation directory for the {productName}
+software is the same on each host from which you are removing the
+{productName} software.
+
+* For hosts that use DCOM for remote communication, the configuration of
+the following items is the same on each host:
+
+** Windows Domain
+** Windows User
+
+* For hosts that use SSH for remote communication, the configuration of
+the following items is the same on each host:
+
+** SSH port
+** SSH user
+** SSH key file
+
+Run the appropriate subcommand for the protocol that is set up for
+communication between the hosts.
+
+* If DCOM is set up for communication between the hosts, run the
+`uninstall-node-dcom` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in this step.
+For information about all the options for removing {productName} software, see the
+link:reference-manual/uninstall-node-dcom.html#GSRFM775[`uninstall-node-dcom`(1)] help page.
+====
++
+[source]
+----
+asadmin> uninstall-node-dcom host-list
+----
+host-list::
+  A space-separated list of the names of the hosts from which you are
+  removing {productName} software.
+* If SSH is set up for communication between the hosts, run the
+`uninstall-node-ssh` subcommand.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in this step.
+For information about all the options for removing {productName} software, see the
+link:reference-manual/uninstall-node-ssh.html#GSRFM778[`uninstall-node-ssh`(1)] help page.
+====
++
+[source]
+----
+asadmin> uninstall-node-ssh host-list
+----
+host-list::
+  A space-separated list of the names of the hosts from which you are
+  removing {productName} software.
+
+[[GSHAG462]][[sthref11]]
+Example 2-11 Removing {productName} Software From Multiple
+DCO\M-Enabled Hosts
+
+This example removes {productName} software on the DCOM-enabled hosts
+`wpmdl1.example.com` and `wpmdl2.example.com` from the default location.
+
+[source]
+----
+asadmin> uninstall-node-dcom wpmdl1 wpmdl2
+Command uninstall-node-dcom executed successfully.
+----
+
+[[GSHAG345]][[sthref12]]
+Example 2-12 Removing {productName} Software From Multiple
+SSH-Enabled Hosts
+
+This example removes {productName} software on the SSH-enabled hosts
+`sj03.example.com` and `sj04.example.com` from the default location.
+
+[source]
+----
+asadmin> uninstall-node-ssh sj03 sj04
+Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Command uninstall-node-ssh executed successfully.
+----
+
+[[GSHAG346]]
+
+See Also
+
+* link:reference-manual/uninstall-node-dcom.html#GSRFM775[`uninstall-node-dcom`(1)]
+* link:reference-manual/uninstall-node-ssh.html#GSRFM778[`uninstall-node-ssh`(1)]
+
+You can also view the full syntax and options of the subcommands by
+typing the following commands at the command line:
+
+* `asadmin help uninstall-node-dcom`
+* `asadmin help uninstall-node-ssh`
diff --git a/docs/ha-administration-guide/src/main/asciidoc/title.adoc b/docs/ha-administration-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..49754a1
--- /dev/null
+++ b/docs/ha-administration-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,57 @@
+type=page
+status=published
+title={productName} High Availability Administration Guide, Release 7
+next=preface.html
+prev=loe.html
+~~~~~~
+
+= {productName} High Availability Administration Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+High Availability Administration Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This book describes thehigh-availability features in {productName},
+including converged load balancing, HTTP load balancing, clusters,
+session persistence and failover.
+
+Note: The main thrust of the {productName} 7
+release is to provide an application server for developers to explore
+and begin exploiting the new and updated technologies in the Jakarta EE 10
+platform. Thus, the clustering, standalone instance and high
+availability features of {productName} were not a focus of this
+release. These features are included in the release, but they may not
+function properly with some of the new features added in support of the
+Jakarta EE 10 platform.
+
+[[sthref1]]
+
+'''''
+
+{productName} High Availability Administration
+Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/ha-administration-guide/src/main/jbake/assets/css/style.css b/docs/ha-administration-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/ha-administration-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/ha-administration-guide/src/main/jbake/content/clusters.adoc b/docs/ha-administration-guide/src/main/jbake/content/clusters.adoc
deleted file mode 100644
index 094991b..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/clusters.adoc
+++ /dev/null
@@ -1,1335 +0,0 @@
-type=page
-status=published
-title=Administering GlassFish Server Clusters
-next=instances.html
-prev=nodes.html
-~~~~~~
-Administering GlassFish Server Clusters
-=======================================
-
-[[GSHAG00005]][[gjfom]]
-
-
-[[administering-glassfish-server-clusters]]
-4 Administering GlassFish Server Clusters
------------------------------------------
-
-A cluster is a collection of GlassFish Server instances that work
-together as one logical entity. A cluster provides a runtime environment
-for one or more Java Platform, Enterprise Edition (Java EE)
-applications. A cluster provides high availability through failure
-protection, scalability, and load balancing.
-
-The Group Management Service (GMS) enables instances to participate in a
-cluster by detecting changes in cluster membership and notifying
-instances of the changes. To ensure that GMS can detect changes in
-cluster membership, a cluster's GMS settings must be configured
-correctly.
-
-The following topics are addressed here:
-
-* link:#gjfqp[About GlassFish Server Clusters]
-* link:#gjfnl[Group Management Service]
-* link:#gkqdy[Creating, Listing, and Deleting Clusters]
-
-[[gjfqp]][[GSHAG00183]][[about-glassfish-server-clusters]]
-
-About GlassFish Server Clusters
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A cluster is a named collection of GlassFish Server instances that share
-the same applications, resources, and configuration information. For
-information about GlassFish Server instances, see
-link:instances.html#gkrbv[Administering GlassFish Server Instances].
-
-GlassFish Server enables you to administer all the instances in a
-cluster as a single unit from a single host, regardless of whether the
-instances reside on the same host or different hosts. You can perform
-the same operations on a cluster that you can perform on an unclustered
-instance, for example, deploying applications and creating resources.
-
-A cluster provides high availability through failure protection,
-scalability, and load balancing.
-
-* Failure protection. If an instance or a host in a cluster fails,
-GlassFish Server detects the failure and recovers the user session
-state. If a load balancer is configured for the cluster, the load
-balancer redirects requests from the failed instance to other instances
-in the cluster. Because the same applications and resources are on all
-instances in the cluster, an instance can fail over to any other
-instance in the cluster. +
-To enable the user session state to be recovered, each instance in a
-cluster sends in-memory state data to another instance. As state data is
-updated in any instance, the data is replicated.
-* Scalability. If increased capacity is required, you can add instances
-to a cluster with no disruption in service. When an instance is added or
-removed, the changes are handled automatically.
-* Load balancing. If instances in a cluster are distributed among
-different hosts, the workload can be distributed among the hosts to
-increase overall system throughput.
-
-[[gjfnl]][[GSHAG00184]][[group-management-service]]
-
-Group Management Service
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Group Management Service (GMS) is an infrastructure component that
-is enabled for the instances in a cluster. When GMS is enabled, if a
-clustered instance fails, the cluster and the Domain Administration
-Server (DAS) are aware of the failure and can take action when failure
-occurs. Many features of GlassFish Server depend upon GMS. For example,
-GMS is used by the in-memory session replication, transaction service,
-and timer service features.
-
-GMS is a core service of the Shoal framework. For more information about
-Shoal, visit the http://shoal.dev.java.net/[Project Shoal home page]
-(`https://shoal.dev.java.net/`).
-
-The following topics are addressed here:
-
-* link:#CHDFEGAG[Protocols and Transports for GMS]
-* link:#gjfpd[GMS Configuration Settings]
-* link:#gjfog[Dotted Names for GMS Settings]
-* link:#gkoac[To Preconfigure Nondefault GMS Configuration Settings]
-* link:#gkqqo[To Change GMS Settings After Cluster Creation]
-* link:#gklhl[To Check the Health of Instances in a Cluster]
-* link:#gklhd[To Validate That Multicast Transport Is Available for a
-Cluster]
-* link:#CHDGAIBJ[Discovering a Cluster When Multicast Transport Is
-Unavailable]
-* link:#gjdlw[Using the Multi-Homing Feature With GMS]
-
-[[CHDFEGAG]][[GSHAG485]][[protocols-and-transports-for-gms]]
-
-Protocols and Transports for GMS
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can specify that GMS should use one of the following combinations of
-protocol and transport for broadcasting messages:
-
-* User Datagram Protocol (UDP) multicast
-* Transmission Control Protocol (TCP) without multicast
-
-Even if GMS should use UDP multicast for broadcasting messages, you must
-ensure that TCP is enabled. On Windows systems, enabling TCP involves
-enabling a protocol and port for security when a firewall is enabled.
-
-If GMS should use UDP multicast for broadcasting messages and if
-GlassFish Server instances in a cluster are located on different hosts,
-the following conditions must be met:
-
-* The DAS host and all hosts for the instances must be on the same
-subnet.
-* UDP multicast must be enabled for the network. To test whether
-multicast is enabled, use the link:../reference-manual/validate-multicast.html#GSRFM00259[`validate-multicast`(1)]
-subcommand.
-
-If GMS should use TCP without multicast, you must configure GMS to
-locate the instances to use for discovering the cluster. For more
-information, see link:#CHDGAIBJ[Discovering a Cluster When Multicast
-Transport Is Unavailable].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you do not configure GMS to locate the instances to use for
-discovering a cluster, GMS uses UDP multicast by default.
-
-|=======================================================================
-
-
-[[gjfpd]][[GSHAG00264]][[gms-configuration-settings]]
-
-GMS Configuration Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server has the following types of GMS settings:
-
-* GMS cluster settings — These are determined during cluster creation.
-For more information about these settings, see link:#gkqdm[To Create a
-Cluster].
-* GMS configuration settings — These are determined during configuration
-creation and are explained here.
-
-The following GMS configuration settings are used in GMS for group
-discovery and failure detection:
-
-`group-discovery-timeout-in-millis`::
-  Indicates the amount of time (in milliseconds) an instance's GMS
-  module will wait during instance startup for discovering other members
-  of the group. +
-  The `group-discovery-timeout-in-millis` timeout value should be set to
-  the default or higher. The default is 5000.
-`max-missed-heartbeats`::
-  Indicates the maximum number of missed heartbeats that the health
-  monitor counts before the instance can be marked as a suspected
-  failure. GMS also tries to make a peer-to-peer connection with the
-  suspected member. If the maximum number of missed heartbeats is
-  exceeded and peer-to-peer connection fails, the member is marked as a
-  suspected failure. The default is 3.
-`heartbeat-frequency-in-millis`::
-  Indicates the frequency (in milliseconds) at which a heartbeat is sent
-  by each server instance to the cluster. +
-  The failure detection interval is the `max-missed-heartbeats`
-  multiplied by the `heartbeat-frequency-in-millis`. Therefore, the
-  combination of defaults, 3 multiplied by 2000 milliseconds, results in
-  a failure detection interval of 6 seconds. +
-  Lowering the value of `heartbeat-frequency-in-millis` below the
-  default would result in more frequent heartbeat messages being sent
-  out from each member. This could potentially result in more heartbeat
-  messages in the network than a system needs for triggering failure
-  detection protocols. The effect of this varies depending on how
-  quickly the deployment environment needs to have failure detection
-  performed. That is, the (lower) number of retries with a lower
-  heartbeat interval would make it quicker to detect failures. +
-  However, lowering this value could result in false positives because
-  you could potentially detect a member as failed when, in fact, the
-  member's heartbeat is reflecting the network load from other parts of
-  the server. Conversely, a higher timeout interval results in fewer
-  heartbeats in the system because the time interval between heartbeats
-  is longer. As a result, failure detection would take a longer. In
-  addition, a startup by a failed member during this time results in a
-  new join notification but no failure notification, because failure
-  detection and verification were not completed. +
-  The default is 2000.
-`verify-failure-waittime-in-millis`::
-  Indicates the verify suspect protocol's timeout used by the health
-  monitor. After a member is marked as suspect based on missed
-  heartbeats and a failed peer-to-peer connection check, the verify
-  suspect protocol is activated and waits for the specified timeout to
-  check for any further health state messages received in that time, and
-  to see if a peer-to-peer connection can be made with the suspect
-  member. If not, then the member is marked as failed and a failure
-  notification is sent. The default is 1500.
-`verify-failure-connect-timeout-in-millis`::
-  Indicates the time it takes for the GMS to detect a hardware or
-  network failure of a server instance. Be careful not to set this value
-  too low. The smaller this timeout value is, the greater the chance of
-  detecting false failures. That is, the instance has not failed but
-  doesn't respond within the short window of time. The default is 10000.
-
-The heartbeat frequency, maximum missed heartbeats, peer-to-peer
-connection-based failure detection, and the verify timeouts are all
-needed to ensure that failure detection is robust and reliable in
-GlassFish Server.
-
-For the dotted names for each of these GMS configuration settings, see
-link:#gjfog[Dotted Names for GMS Settings]. For the steps to specify
-these settings, see link:#gkoac[To Preconfigure Nondefault GMS
-Configuration Settings].
-
-[[gjfog]][[GSHAG00265]][[dotted-names-for-gms-settings]]
-
-Dotted Names for GMS Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Below are sample link:../reference-manual/get.html#GSRFM00139[`get`] subcommands to get all the GMS
-configuration settings (attributes associated with the referenced
-`mycfg` configuration) and GMS cluster settings (attributes and
-properties associated with a cluster named `mycluster`).
-
-[source,oac_no_warn]
-----
-asadmin> get "configs.config.mycfg.group-management-service.*"
-configs.config.mycfg.group-management-service.failure-detection.heartbeat-frequency-in-millis=2000
-configs.config.mycfg.group-management-service.failure-detection.max-missed-heartbeats=3
-configs.config.mycfg.group-management-service.failure-detection.verify-failure-connect-timeout-in-millis=10000
-configs.config.mycfg.group-management-service.failure-detection.verify-failure-waittime-in-millis=1500
-configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=5000
-
-asadmin> get clusters.cluster.mycluster
-clusters.cluster.mycluster.config-ref=mycfg
-clusters.cluster.mycluster.gms-bind-interface-address=${GMS-BIND-INTERFACE-ADDRESS-mycluster}
-clusters.cluster.mycluster.gms-enabled=true
-clusters.cluster.mycluster.gms-multicast-address=228.9.245.47
-clusters.cluster.mycluster.gms-multicast-port=9833
-clusters.cluster.mycluster.name=mycluster
-
-asadmin> get "clusters.cluster.mycluster.property.*"
-clusters.cluster.mycluster.property.GMS_LISTENER_PORT=${GMS_LISTENER_PORT-mycluster}
-clusters.cluster.mycluster.property.GMS_MULTICAST_TIME_TO_LIVE=4
-clusters.cluster.mycluster.property.GMS_LOOPBACK=false
-clusters.cluster.mycluster.property.GMS_TCPSTARTPORT=9090
-clusters.cluster.mycluster.property.GMS_TCPENDPORT=9200
-----
-
-The last `get` subcommand displays only the properties that have been
-explicitly set.
-
-For the steps to specify these settings, see link:#gkoac[To Preconfigure
-Nondefault GMS Configuration Settings] and link:#gkqqo[To Change GMS
-Settings After Cluster Creation].
-
-[[gkoac]][[GSHAG00098]][[to-preconfigure-nondefault-gms-configuration-settings]]
-
-To Preconfigure Nondefault GMS Configuration Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can preconfigure GMS with values different than the defaults without
-requiring a restart of the DAS and the cluster.
-
-1.  Create a configuration using the link:../reference-manual/copy-config.html#GSRFM00011[`copy-config`]
-subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> copy-config default-config mycfg
-----
-For more information, see link:named-configurations.html#abdjr[To Create
-a Named Configuration].
-2.  Set the values for the new configuration's GMS configuration
-settings. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=8000
-asadmin> set configs.config.mycfg.group-management-service.failure-detection.max-missed-heartbeats=5
-----
-For a complete list of the dotted names for these settings, see
-link:#gjfog[Dotted Names for GMS Settings].
-3.  Create the cluster so it uses the previously created configuration. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> create-cluster --config mycfg mycluster
-----
-You can also set GMS cluster settings during this step. For more
-information, see link:#gkqdm[To Create a Cluster].
-4.  Create server instances for the cluster. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> create-instance --node localhost --cluster mycluster instance01
-
-asadmin> create-instance --node localhost --cluster mycluster instance02
-----
-5.  Start the cluster. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> start-cluster mycluster
-----
-
-[[GSHAG367]]
-
-See Also
-
-You can also view the full syntax and options of a subcommand by typing
-`asadmin help` subcommand at the command line.
-
-[[gkqqo]][[GSHAG00099]][[to-change-gms-settings-after-cluster-creation]]
-
-To Change GMS Settings After Cluster Creation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To avoid the need to restart the DAS and the cluster, configure GMS
-configuration settings before cluster creation as explained in
-link:#gkoac[To Preconfigure Nondefault GMS Configuration Settings].
-
-To avoid the need to restart the DAS and the cluster, configure the GMS
-cluster settings during cluster creation as explained in link:#gkqdm[To
-Create a Cluster].
-
-Changing any GMS settings using the `set` subcommand after cluster
-creation requires a domain administration server (DAS) and cluster
-restart as explained here.
-
-1.  Ensure that the DAS and cluster are running. +
-Remote subcommands require a running server.
-2.  Use the link:../reference-manual/get.html#GSRFM00139[`get`] subcommand to determine the settings
-to change. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> get "configs.config.mycfg.group-management-service.*"
-configs.config.mycfg.group-management-service.failure-detection.heartbeat-frequency-in-millis=2000
-configs.config.mycfg.group-management-service.failure-detection.max-missed-heartbeats=3
-configs.config.mycfg.group-management-service.failure-detection.verify-failure-connect-timeout-in-millis=10000
-configs.config.mycfg.group-management-service.failure-detection.verify-failure-waittime-in-millis=1500
-configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=5000
-----
-For a complete list of the dotted names for these settings, see
-link:#gjfog[Dotted Names for GMS Settings].
-3.  Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to change the settings. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis=6000
-----
-4.  Use the `get` subcommand again to confirm that the changes were
-made. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> get configs.config.mycfg.group-management-service.group-discovery-timeout-in-millis
-----
-5.  Restart the DAS. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> stop-domain domain1
-
-asadmin> start-domain domain1
-----
-6.  Restart the cluster. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> stop-cluster mycluster
-
-asadmin> start-cluster mycluster
-----
-
-[[GSHAG368]]
-
-See Also
-
-You can also view the full syntax and options of a subcommand by typing
-`asadmin help` subcommand at the command line.
-
-[[gklhl]][[GSHAG00100]][[to-check-the-health-of-instances-in-a-cluster]]
-
-To Check the Health of Instances in a Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `get-health` subcommand only works when GMS is enabled. This is the
-quickest way to evaluate the health of a cluster and to detect if
-cluster is properly operating; that is, all members of the cluster are
-running and visible to DAS.
-
-If multicast is not enabled for the network, all instances could be
-running (as shown by the link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`] subcommand),
-yet isolated from each other. The `get-health` subcommand does not show
-the instances if they are running but cannot discover each other due to
-multicast not being configured properly. See link:#gklhd[To Validate
-That Multicast Transport Is Available for a Cluster].
-
-1.  Ensure that the DAS and cluster are running. +
-Remote subcommands require a running server.
-2.  Check whether server instances in a cluster are running by using the
-link:../reference-manual/get-health.html#GSRFM00141[`get-health`] subcommand.
-
-[[GSHAG00032]][[gklgw]]
-
-
-Example 4-1 Checking the Health of Instances in a Cluster
-
-This example checks the health of a cluster named `cluster1`.
-
-[source,oac_no_warn]
-----
-asadmin> get-health cluster1
-instance1 started since Wed Sep 29 16:32:46 EDT 2010
-instance2 started since Wed Sep 29 16:32:45 EDT 2010
-Command get-health executed successfully.
-----
-
-[[GSHAG369]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help get-health` at the command line.
-
-[[gklhd]][[GSHAG00101]][[to-validate-that-multicast-transport-is-available-for-a-cluster]]
-
-To Validate That Multicast Transport Is Available for a Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[GSHAG370]]
-
-Before You Begin
-
-To test a specific multicast address, multicast port, or bind interface
-address, get this information beforehand using the `get` subcommand. Use
-the following subcommand to get the multicast address and port for a
-cluster named `c1`:
-
-[source,oac_no_warn]
-----
-asadmin> get clusters.cluster.c1
-clusters.cluster.c1.config-ref=mycfg
-clusters.cluster.c1.gms-bind-interface-address=${GMS-BIND-INTERFACE-ADDRESS-c1}
-clusters.cluster.c1.gms-enabled=true
-clusters.cluster.c1.gms-multicast-address=228.9.174.162
-clusters.cluster.c1.gms-multicast-port=5383
-clusters.cluster.c1.name=c1
-----
-
-Use the following subcommand to get the bind interface address of a
-server instance named `i1`that belongs to a cluster named `c1`, if this
-system property has been set:
-
-[source,oac_no_warn]
-----
-asadmin> get servers.server.i1.system-property.GMS-BIND-INTERFACE-ADDRESS-c1
-servers.server.i1.system-property.GMS-BIND-INTERFACE-ADDRESS-c1.name=GMS-BIND-INTERFACE-ADDRESS-c1
-servers.server.i1.system-property.GMS-BIND-INTERFACE-ADDRESS-c1.value=10.12.152.30
-----
-
-For information on how to set this system property, see
-link:#gjdlw[Using the Multi-Homing Feature With GMS].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Do not run the `validate-multicast` subcommand using the DAS and
-cluster's multicast address and port values while the DAS and cluster
-are running. Doing so results in an error.
-
-The `validate-multicast` subcommand must be run at the same time on two
-or more machines to validate whether multicast messages are being
-received between the machines.
-
-|=======================================================================
-
-
-Check whether multicast transport is available for a cluster by using
-the link:../reference-manual/validate-multicast.html#GSRFM00259[`validate-multicast`] subcommand.
-
-[[GSHAG00033]][[gklhv]]
-
-
-Example 4-2 Validating That Multicast Transport Is Available for a
-Cluster
-
-This example checks whether multicast transport is available for a
-cluster named `c1`.
-
-Run from host `sr1`:
-
-[source,oac_no_warn]
-----
-asadmin> validate-multicast
-Will use port 2048
-Will use address 228.9.3.1
-Will use bind interface null
-Will use wait period 2,000 (in milliseconds)
-
-Listening for data...
-Sending message with content "sr1" every 2,000 milliseconds
-Received data from sr1 (loopback)
-Received data from sr2
-Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
-Command validate-multicast executed successfully.
-----
-
-Run from host `sr2`:
-
-[source,oac_no_warn]
-----
-asadmin> validate-multicast
-Will use port 2048
-Will use address 228.9.3.1
-Will use bind interface null
-Will use wait period 2,000 (in milliseconds)
-
-Listening for data...
-Sending message with content "sr2" every 2,000 milliseconds
-Received data from sr2 (loopback)
-Received data from sr1
-Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
-Command validate-multicast executed successfully.
-----
-
-[[GSHAG371]]
-
-Next Steps
-
-As long as all machines see each other, multicast is validated to be
-working properly across the machines. If the machines are not seeing
-each other, set the `--bindaddress` option explicitly to ensure that all
-machines are using interface on same subnet, or increase the
-`--timetolive` option from the default of `4`. If these changes fail to
-resolve the multicast issues, ask the network administrator to verify
-that the network is configured so the multicast messages can be seen
-between all the machines used to run the cluster.
-
-[[GSHAG372]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help get-health` at the command line.
-
-[[CHDGAIBJ]][[GSHAG00373]][[discovering-a-cluster-when-multicast-transport-is-unavailable]]
-
-Discovering a Cluster When Multicast Transport Is Unavailable
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When multicast transport is unavailable, GlassFish Server instances that
-are joining a cluster cannot rely on broadcast messages from GMS to
-discover the cluster. Instead, an instance that is joining a cluster
-uses a running instance or the DAS in the cluster to discover the
-cluster.
-
-Therefore, when multicast transport is unavailable, you must provide the
-locations of instances in the cluster to use for discovering the
-cluster. You are not required to provide the locations of all instances
-in the cluster. However, for an instance to discover the cluster, at
-least one instance whose location you provide must be running. To
-increase the probability of finding a running instance, provide the
-locations of several instances.
-
-If the DAS will be left running after the cluster is started, provide
-the location of the DAS first in the list of instances. When a cluster
-is started, the DAS is running before any of the instances in the
-cluster are started.
-
-The locations of the instances to use for discovering a cluster are part
-of the configuration data that you provide when creating the cluster.
-How to provide this data depends on how instances are distributed, as
-explained in the following subsections:
-
-* link:#CHDCGIFF[To Discover a Cluster When Multiple Instances in a
-Cluster are Running on a Host]
-* link:#CHDIGFCG[To Discover a Cluster When Each Instance in a Cluster
-Is Running on a Different Host]
-
-[[CHDCGIFF]][[GSHAG486]][[to-discover-a-cluster-when-multiple-instances-in-a-cluster-are-running-on-a-host]]
-
-To Discover a Cluster When Multiple Instances in a Cluster are Running on a Host
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-If multiple instances in the same cluster are running on a host, you
-must provide a list of uniform resource indicators (URIs). Each URI must
-locate a GlassFish Server instance or the DAS in the cluster.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Create a system property to represent the port number of the port on
-which the DAS listens for messages from GMS for the cluster. +
-Use the link:../reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`] subcommand for this
-purpose. +
-[source,oac_no_warn]
-----
-asadmin> create-system-properties GMS_LISTENER_PORT-cluster-name=gms-port
-----
-cluster-name::
-  The name of the cluster to which the messages from GMS apply.
-gms-port::
-  The port number of the port on which the DAS listens for messages from
-  GMS.
-3.  Restart the DAS.
-4.  When creating the cluster, set the `GMS_DISCOVERY_URI_LIST` property
-to a comma-separated list of URIs that locate instances to use for
-discovering the cluster. +
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=uri-list cluster-name
-----
-uri-list::
-  A comma-separated list of URIs that locate a GlassFish Server instance
-  or the DAS in the cluster. +
-  The format of each URI in the list is as follows: +
-  scheme`://`host-name-or -IP-address`:`port +
-  * scheme is the URI scheme, which is `tcp`.
-  * host-name-or -IP-address is the host name or IP address of the host
-  on which the instance is running.
-  * port is the port number of the port on which the instance will
-  listen for messages from GMS.
-cluster-name::
-  The name of the cluster that you are creating. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-For complete instructions for creating a cluster, see link:#gkqdm[To
-Create a Cluster].
-
-|=======================================================================
-
-5.  When you add each instance to the cluster, set the system property
-`GMS_LISTENER_PORT-`clustername for the instance.
-* To create the instance centrally, run the following command: +
-[source,oac_no_warn]
-----
-asadmin> create-instance --node node-name
---systemproperties GMS_LISTENER_PORT-cluster-name=gms-port --cluster  cluster-name instance-name
-----
-* To create the instance locally, run the following command: +
-[source,oac_no_warn]
-----
-asadmin> create-local-instance
---systemproperties GMS_LISTENER_PORT-cluster-name=gms-port --cluster  cluster-name instance-name
-----
-node-name::
-  The name of an existing GlassFish Server node on which the instance is
-  to reside. For more information about nodes, see
-  link:nodes.html#gkrle[Administering GlassFish Server Nodes].
-cluster-name::
-  The name of the cluster to which the you are adding the instance.
-gms-port::
-  The port number of the port on which the instance listens for messages
-  from GMS.
-instance-name::
-  The name of the instance that you are creating. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-For full instructions for adding an instance to a cluster, see the
-following sections:
-
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-|=======================================================================
-
-
-[[GSHAG487]][[sthref19]]
-
-
-Example 4-3 Discovering a Cluster When Multiple Instances are Running on
-a Host
-
-This example creates a cluster that is named `tcpcluster` for which GMS
-is not using multicast for broadcasting messages.
-
-The cluster contains the instances `instance101` and `instance102`.
-These instances reside on the host whose IP address is `10.152.23.224`
-and listen for GMS events on ports 9091 and 9092. The DAS is also
-running on this host and listens for GMS events on port 9090.
-
-Instances that are joining the cluster will use the DAS and the
-instances `instance101` and `instance102` to discover the cluster.
-
-[source,oac_no_warn]
-----
-asadmin> create-system-properties GMS_LISTENER_PORT-tcpcluster=9090
-Command create-system-properties executed successfully.
-asadmin> restart-domain
-Successfully restarted the domain
-Command restart-domain executed successfully.
-asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=
-tcp'\\:'//10.152.23.224'\\:'9090,
-tcp'\\:'//10.152.23.224'\\:'9091,
-tcp'\\:'//10.152.23.224'\\:'9092 tcpcluster
-Command create-cluster executed successfully.
-asadmin> create-local-instance
---systemproperties GMS_LISTENER_PORT-tcpcluster=9091 --cluster tcpcluster
-instance101
-Rendezvoused with DAS on localhost:4848.
-Port Assignments for server instance instance101:
-JMX_SYSTEM_CONNECTOR_PORT=28686
-JMS_PROVIDER_PORT=27676
-HTTP_LISTENER_PORT=28080
-ASADMIN_LISTENER_PORT=24848
-JAVA_DEBUGGER_PORT=29009
-IIOP_SSL_LISTENER_PORT=23820
-IIOP_LISTENER_PORT=23700
-OSGI_SHELL_TELNET_PORT=26666
-HTTP_SSL_LISTENER_PORT=28181
-IIOP_SSL_MUTUALAUTH_PORT=23920
-Command create-local-instance executed successfully.
-asadmin> create-local-instance
---systemproperties GMS_LISTENER_PORT-tcpcluster=9092 --cluster tcpcluster
-instance102
-Rendezvoused with DAS on localhost:4848.
-Using DAS host localhost and port 4848 from existing das.properties for node
-localhost-domain1. To use a different DAS, create a new node using
-create-node-ssh or create-node-config. Create the instance with the new node and
-correct host and port:
-asadmin --host das_host --port das_port create-local-instance --node node_name
-instance_name.
-Port Assignments for server instance instance102:
-JMX_SYSTEM_CONNECTOR_PORT=28687
-JMS_PROVIDER_PORT=27677
-HTTP_LISTENER_PORT=28081
-ASADMIN_LISTENER_PORT=24849
-JAVA_DEBUGGER_PORT=29010
-IIOP_SSL_LISTENER_PORT=23821
-IIOP_LISTENER_PORT=23701
-OSGI_SHELL_TELNET_PORT=26667
-HTTP_SSL_LISTENER_PORT=28182
-IIOP_SSL_MUTUALAUTH_PORT=23921
-Command create-local-instance executed successfully.
-----
-
-[[GSHAG488]]
-
-See Also
-
-* link:../reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`(1)]
-* link:#gkqdm[To Create a Cluster]
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-[[CHDIGFCG]][[GSHAG489]][[to-discover-a-cluster-when-each-instance-in-a-cluster-is-running-on-a-different-host]]
-
-To Discover a Cluster When Each Instance in a Cluster Is Running on a Different Host
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-If all instances in a cluster and the DAS are running on different
-hosts, you can specify the locations of instances to use for discovering
-the cluster as follows:
-
-* By specifying a list of host names or Internet Protocol (IP)
-addresses. Each host name or IP address must locate a host on which the
-DAS or a GlassFish Server instance in the cluster is running. Instances
-that are joining the cluster will use the DAS or the instances to
-discover the cluster.
-* By generating the list of locations automatically. The generated list
-contains the locations of the DAS and all instances in the cluster.
-
-Multiple instances on the same host cannot be members of the same
-cluster.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  When creating the cluster, set the properties of the cluster as
-follows:
-* Set the `GMS_DISCOVERY_URI_LIST` property to one of the following
-values:
-
-** A comma-separated list of IP addresses or host names on which the DAS
-or the instances to use for discovering the cluster are running. +
-The list can contain a mixture of IP addresses and host names.
-
-** The keyword `generate`.
-* Set the `GMS_LISTENER_PORT` property to a port number that is unique
-for the cluster in the domain. +
-If you are specifying a list of IP addresses or host names, type the
-following command: +
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=host-list:
-GMS_LISTENER_PORT=gms-port cluster-name
-----
-If you are specifying the keyword `generate`, type the following
-command: +
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=generate:
-GMS_LISTENER_PORT=gms-port cluster-name
-----
-host-list::
-  A comma-separated list of IP addresses or host names on which the DAS
-  or the instances to use for discovering the cluster are running.
-gms-port::
-  The port number of the port on which the cluster listens for messages
-  from GMS.
-cluster-name::
-  The name of the cluster that you are creating. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-For complete instructions for creating a cluster, see link:#gkqdm[To
-Create a Cluster].
-
-|=======================================================================
-
-
-[[GSHAG490]][[sthref20]]
-
-
-Example 4-4 Discovering a Cluster by Specifying a List of IP Addresses
-
-This example creates a cluster that is named `ipcluster` for which GMS
-is not using multicast for broadcasting messages. The instances to use
-for discovering the cluster are located through a list of IP addresses.
-In this example, one instance in the cluster is running on each host and
-the DAS is running on a separate host. The cluster listens for messages
-from GMS on port 9090.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=
-10.152.23.225,10.152.23.226,10.152.23.227,10.152.23.228:
-GMS_LISTENER_PORT=9090' ipcluster
-Command create-cluster executed successfully.
-----
-
-[[GSHAG491]][[sthref21]]
-
-
-Example 4-5 Discovering a Cluster by Generating a List of Locations of
-Instances
-
-This example creates a cluster that is named `gencluster` for which GMS
-is not using multicast for broadcasting messages. The list of locations
-of instances to use for discovering the cluster is generated
-automatically. In this example, one instance in the cluster is running
-on each host and the DAS is running on a separate host. The cluster
-listens for messages from GMS on port 9090.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=generate:
-GMS_LISTENER_PORT=9090' gencluster
-Command create-cluster executed successfully.
-----
-
-[[GSHAG492]]
-
-Next Steps
-
-After creating the cluster, add instances to the cluster as explained in
-the following sections:
-
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-[[GSHAG493]]
-
-See Also
-
-* link:#gkqdm[To Create a Cluster]
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-[[gjdlw]][[GSHAG00266]][[using-the-multi-homing-feature-with-gms]]
-
-Using the Multi-Homing Feature With GMS
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Multi-homing enables GlassFish Server clusters to be used in an
-environment that uses multiple Network Interface Cards (NICs). A
-multi-homed host has multiple network connections, of which the
-connections may or may not be the on same network. Multi-homing provides
-the following benefits:
-
-* Provides redundant network connections within the same subnet. Having
-multiple NICs ensures that one or more network connections are available
-for communication.
-* Supports communication across two or more different subnets. The DAS
-and all server instances in the same cluster must be on the same subnet
-for GMS communication, however.
-* Binds to a specific IPv4 address and receives GMS messages in a system
-that has multiple IP addresses configured. The responses for GMS
-messages received on a particular interface will also go out through
-that interface.
-* Supports separation of external and internal traffic.
-
-[[gjdoo]][[GSHAG00224]][[traffic-separation-using-multi-homing]]
-
-Traffic Separation Using Multi-Homing
-+++++++++++++++++++++++++++++++++++++
-
-You can separate the internal traffic resulting from GMS from the
-external traffic. Traffic separation enables you plan a network better
-and augment certain parts of the network, as required.
-
-Consider a simple cluster, `c1`, with three instances, `i101`, `i102`,
-and `i103`. Each instance runs on a different machine. In order to
-separate the traffic, the multi-homed machine should have at least two
-IP addresses belonging to different networks. The first IP as the
-external IP and the second one as internal IP. The objective is to
-expose the external IP to user requests, so that all the traffic from
-the user requests would be through them. The internal IP is used only by
-the cluster instances for internal communication through GMS. The
-following procedure describes how to set up traffic separation.
-
-To configure multi-homed machines for GMS without traffic separation,
-skip the steps or commands that configure the `EXTERNAL-ADDR` system
-property, but perform the others.
-
-To avoid having to restart the DAS or cluster, perform the following
-steps in the specified order.
-
-To set up traffic separation, follow these steps:
-
-1.  Create the system properties `EXTERNAL-ADDR` and
-`GMS-BIND-INTERFACE-ADDRESS-c1` for the DAS.
-* `asadmin create-system-properties` `target`
-`server EXTERNAL-ADDR=192.155.35.4`
-* `asadmin create-system-properties` `target`
-`server GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.20`
-2.  Create the cluster with the default settings. +
-Use the following command: +
-[source,oac_no_warn]
-----
-asadmin create-cluster c1
-----
-A reference to a system property for GMS traffic is already set up by
-default in the `gms-bind-interface-address` cluster setting. The default
-value of this setting is `${GMS-BIND-INTERFACE-ADDRESS-`cluster-name`}`.
-3.  When creating the clustered instances, configure the external and
-GMS IP addresses. +
-Use the following commands:
-* `asadmin create-instance` `node` `localhost` `cluster` `c1`
-`systemproperties`
-`EXTERNAL-ADDR=192.155.35.5:GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.30 i101`
-* `asadmin create-instance` `node` `localhost` `cluster` `c1`
-`systemproperties`
-`EXTERNAL-ADDR=192.155.35.6:GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.40 i102`
-* `asadmin create-instance` `node` `localhost` `cluster` `c1`
-`systemproperties`
-`EXTERNAL-ADDR=192.155.35.7:GMS-BIND-INTERFACE-ADDRESS-c1=10.12.152.50 i103`
-4.  Set the address attribute of HTTP listeners to refer to the
-`EXTERNAL-ADDR` system properties. +
-Use the following commands: +
-[source,oac_no_warn]
-----
-asadmin set c1-config.network-config.network-listeners.network-listener.http-1.address=\${EXTERNAL-ADDR}
-asadmin set c1-config.network-config.network-listeners.network-listener.http-2.address=\${EXTERNAL-ADDR}
-----
-
-[[gkqdy]][[GSHAG00185]][[creating-listing-and-deleting-clusters]]
-
-Creating, Listing, and Deleting Clusters
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server enables you to create clusters, obtain information
-about clusters, and delete clusters that are no longer required.
-
-The following topics are addressed here:
-
-* link:#gkqdm[To Create a Cluster]
-* link:#gkqdn[To List All Clusters in a Domain]
-* link:#gkqcp[To Delete a Cluster]
-
-[[gkqdm]][[GSHAG00103]][[to-create-a-cluster]]
-
-To Create a Cluster
-^^^^^^^^^^^^^^^^^^^
-
-Use the `create-cluster` subcommand in remote mode to create a cluster.
-
-To ensure that the GMS can detect changes in cluster membership, a
-cluster's GMS settings must be configured correctly. To avoid the need
-to restart the DAS and the cluster, configure a cluster's GMS settings
-when you create the cluster. If you change GMS settings for an existing
-cluster, the DAS and the cluster must be restarted to apply the changes.
-
-When you create a cluster, GlassFish Server automatically creates a
-Message Queue cluster for the GlassFish Server cluster. For more
-information about Message Queue clusters, see link:jms.html#abdbx[Using
-Message Queue Broker Clusters With GlassFish Server].
-
-[[GSHAG374]]
-
-Before You Begin
-
-If the cluster is to reference an existing named configuration, ensure
-that the configuration exists. For more information, see
-link:named-configurations.html#abdjr[To Create a Named Configuration]. If
-you are using a named configuration to preconfigure GMS settings, ensure
-that these settings have the required values in the named configuration.
-For more information, see link:#gkoac[To Preconfigure Nondefault GMS
-Configuration Settings].
-
-If you are configuring the cluster's GMS settings when you create the
-cluster, ensure that you have the following information:
-
-* The address on which GMS listens for group events
-* The port number of the communication port on which GMS listens for
-group events
-* The maximum number of iterations or transmissions that a multicast
-message for GMS events can experience before the message is discarded
-* The lowest port number in the range of ports from which GMS selects a
-TCP port on which to listen
-* The highest port number in the range of ports from which GMS selects a
-TCP port on which to listen
-
-If the DAS is running on a multihome host, ensure that you have the
-Internet Protocol (IP) address of the network interface on the DAS host
-to which GMS binds.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  [[gkrco]]
-Run the `create-cluster` subcommand.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-cluster, see the link:../reference-manual/create-cluster.html#GSRFM00017[`create-cluster`(1)] help page.
-
-|=======================================================================
-
-
-* If multicast transport is available, run the `create-cluster`
-subcommand as follows: +
-[source,oac_no_warn]
-----
-asadmin> create-cluster --config configuration
---multicastaddress multicast-address --multicastport multicast-port
---properties GMS_MULTICAST_TIME_TO_LIVE=max-iterations:
-GMS_TCPSTARTPORT=start-port:GMS_TCPENDPORT=end-port cluster-name
-----
-* If multicast transport is not available, run the `create-cluster`
-subcommand as follows: +
-[source,oac_no_warn]
-----
-asadmin> create-cluster --config configuration
---properties GMS_DISCOVERY_URI_LIST=discovery-instances:
-GMS_LISTENER_PORT=gms-port
-cluster-name
-----
-
-configuration::
-  An existing named configuration that the cluster is to reference.
-multicast-address::
-  The address on which GMS listens for group events.
-multicast-port::
-  The port number of the communication port on which GMS listens for
-  group events.
-max-iterations::
-  The maximum number of iterations or transmissions that a multicast
-  message for GMS events can experience before the message is discarded.
-discovery-instances::
-  Instances to use for discovering the cluster. For more information,
-  see link:#CHDGAIBJ[Discovering a Cluster When Multicast Transport Is
-  Unavailable].
-gms-port::
-  The port number of the port on which the cluster listens for messages
-  from GMS.
-start-port::
-  The lowest port number in the range of ports from which GMS selects a
-  TCP port on which to listen. The default is 9090.
-end-port::
-  The highest port number in the range of ports from which GMS selects a
-  TCP port on which to listen. The default is 9200.
-cluster-name::
-  Your choice of name for the cluster that you are creating.
-3.  If necessary, create a system property to represent the IP address
-of the network interface on the DAS host to which GMS binds. +
-This step is necessary only if the DAS is running on a multihome host. +
-[source,oac_no_warn]
-----
-asadmin> create-system-properties
-GMS-BIND-INTERFACE-ADDRESS-cluster-name=das-bind-address
-----
-cluster-name::
-  The name that you assigned to the cluster in Step link:#gkrco[2].
-das-bind-address::
-  The IP address of the network interface on the DAS host to which GMS
-  binds.
-
-[[GSHAG00034]][[gkqaz]]
-
-
-Example 4-6 Creating a Cluster for a Network in Which Multicast
-Transport Is Available
-
-This example creates a cluster that is named `ltscluster` for which port
-1169 is to be used for secure IIOP connections. Because the `--config`
-option is not specified, the cluster references a copy of the named
-configuration `default-config` that is named `ltscluster-config`. This
-example assumes that multicast transport is available.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster
---systemproperties IIOP_SSL_LISTENER_PORT=1169
-ltscluster
-Command create-cluster executed successfully.
-----
-
-[[GSHAG00035]][[gkqiq]]
-
-
-Example 4-7 Creating a Cluster and Setting GMS Options for a Network in
-Which Multicast Transport Is Available
-
-This example creates a cluster that is named `pmdcluster`, which
-references the existing configuration `clusterpresets` and for which the
-cluster's GMS settings are configured as follows:
-
-* GMS listens for group events on address 228.9.3.1 and port 2048.
-* A multicast message for GMS events is discarded after 3 iterations or
-transmissions.
-* GMS selects a TCP port on which to listen from ports in the range
-10000-10100.
-
-This example assumes that multicast transport is available.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster --config clusterpresets
---multicastaddress 228.9.3.1 --multicastport 2048
---properties GMS_MULTICAST_TIME_TO_LIVE=3:
-GMS_TCPSTARTPORT=10000:GMS_TCPENDPORT=10100 pmdcluster
-Command create-cluster executed successfully.
-----
-
-[[GSHAG375]]
-
-Next Steps
-
-After creating a cluster, you can add GlassFish Server instances to the
-cluster as explained in the following sections:
-
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-[[GSHAG376]]
-
-See Also
-
-* link:named-configurations.html#abdjr[To Create a Named Configuration]
-* link:#gkoac[To Preconfigure Nondefault GMS Configuration Settings]
-* link:jms.html#abdbx[Using Message Queue Broker Clusters With GlassFish
-Server]
-* link:../reference-manual/create-cluster.html#GSRFM00017[`create-cluster`(1)]
-* link:../reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help create-cluster`
-* `asadmin help create-system-properties`
-
-[[gkqdn]][[GSHAG00104]][[to-list-all-clusters-in-a-domain]]
-
-To List All Clusters in a Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-clusters` subcommand in remote mode to obtain information
-about existing clusters in a domain.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/list-clusters.html#GSRFM00153[`list-clusters`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> list-clusters
-----
-
-[[GSHAG00036]][[gksfc]]
-
-
-Example 4-8 Listing All Clusters in a Domain
-
-This example lists all clusters in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters
-pmdclust not running
-ymlclust not running
-Command list-clusters executed successfully.
-----
-
-[[GSHAG00037]][[gkhsp]]
-
-
-Example 4-9 Listing All Clusters That Are Associated With a Node
-
-This example lists the clusters that contain an instance that resides on
-the node `sj01`.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters sj01
-ymlclust not running
-Command list-clusters executed successfully.
-----
-
-[[GSHAG377]]
-
-See Also
-
-link:../reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-clusters` at the command line.
-
-[[gkqcp]][[GSHAG00105]][[to-delete-a-cluster]]
-
-To Delete a Cluster
-^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-cluster` subcommand in remote mode to remove a cluster
-from the DAS configuration.
-
-If the cluster's named configuration was created automatically for the
-cluster and no other clusters or unclustered instances refer to the
-configuration, the configuration is deleted when the cluster is deleted.
-
-[[GSHAG378]]
-
-Before You Begin
-
-Ensure that following prerequisites are met:
-
-* The cluster that you are deleting is stopped. For information about
-how to stop a cluster, see link:instances.html#gkqcl[To Stop a Cluster].
-* The cluster that you are deleting contains no GlassFish Server
-instances. For information about how to remove instances from a cluster,
-see the following sections:
-
-** link:instances.html#gkqcw[To Delete an Instance Centrally]
-
-** link:instances.html#gkqed[To Delete an Instance Locally]
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Confirm that the cluster is stopped. +
-[source,oac_no_warn]
-----
-asadmin> list-clusters cluster-name
-----
-cluster-name::
-  The name of the cluster that you are deleting.
-3.  Confirm that the cluster contains no instances. +
-[source,oac_no_warn]
-----
-asadmin> list-instances cluster-name
-----
-cluster-name::
-  The name of the cluster that you are deleting.
-4.  Run the link:../reference-manual/delete-cluster.html#GSRFM00068[`delete-cluster`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> delete-cluster cluster-name
-----
-cluster-name::
-  The name of the cluster that you are deleting.
-
-[[GSHAG00038]][[gkqkr]]
-
-
-Example 4-10 Deleting a Cluster
-
-This example confirms that the cluster `adccluster` is stopped and
-contains no instances and deletes the cluster `adccluster`.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters adccluster
-adccluster not running
-Command list-clusters executed successfully.
-asadmin> list-instances adccluster
-Nothing to list.
-Command list-instances executed successfully.
-asadmin> delete-cluster adccluster
-Command delete-cluster executed successfully.
-----
-
-[[GSHAG379]]
-
-See Also
-
-* link:instances.html#gkqcl[To Stop a Cluster]
-* link:instances.html#gkqcw[To Delete an Instance Centrally]
-* link:instances.html#gkqed[To Delete an Instance Locally]
-* link:../reference-manual/delete-cluster.html#GSRFM00068[`delete-cluster`(1)]
-* link:../reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
-* link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help delete-cluster`
-* `asadmin help list-clusters`
-* `asadmin help list-instances`
diff --git a/docs/ha-administration-guide/src/main/jbake/content/http-load-balancing.adoc b/docs/ha-administration-guide/src/main/jbake/content/http-load-balancing.adoc
deleted file mode 100644
index 54dedd9..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/http-load-balancing.adoc
+++ /dev/null
@@ -1,325 +0,0 @@
-type=page
-status=published
-title=Configuring HTTP Load Balancing
-next=rolling-upgrade.html
-prev=named-configurations.html
-~~~~~~
-Configuring HTTP Load Balancing
-===============================
-
-[[GSHAG00009]][[abdgs]]
-
-
-[[configuring-http-load-balancing]]
-7 Configuring HTTP Load Balancing
----------------------------------
-
-This chapter describes how to configure HTTP load balancing on GlassFish
-Server 4.0.
-
-The following topics are addressed here:
-
-* link:#abdgx[Setting Up HTTP Load Balancing]
-
-For information on other types of load balancing, see
-link:jms.html#abdbk[Configuring Java Message Service High Availability]
-and link:rmi-iiop.html#fxxqs[RMI-IIOP Load Balancing and Failover].
-
-[[abdgx]][[GSHAG00202]][[setting-up-http-load-balancing]]
-
-Setting Up HTTP Load Balancing
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to set up load balancing for GlassFish
-Server.
-
-The following topics are addressed here:
-
-* link:#abdgy[Prerequisites for Setting Up HTTP Load Balancing]
-* link:#gksdt[Configuring GlassFish Server with Apache HTTP Server and
-`mod_jk`]
-* link:#CHDCCGDC[Configuring GlassFish Server with Apache HTTP Server
-and `mod_proxy_ajp`]
-* link:#abdgz[HTTP Load Balancer Deployments]
-
-[[abdgy]][[GSHAG00281]][[prerequisites-for-setting-up-http-load-balancing]]
-
-Prerequisites for Setting Up HTTP Load Balancing
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Before configuring your load balancer, you must:
-
-* Install a supported web server and configure it. If using the `mod_jk`
-or `mod_proxy_ajp` modules, the only supported web server is Apache HTTP
-Server 2.2.x.
-* Configure the `mod_jk` connector module, as described in
-link:#gksdt[Configuring GlassFish Server with Apache HTTP Server and
-`mod_jk`], or configure the `mod_proxy_ajp` connector module, as
-described in link:#CHDCCGDC[Configuring GlassFish Server with Apache
-HTTP Server and `mod_proxy_ajp`].
-* Create GlassFish Server clusters or server instances to participate in
-load balancing.
-* Deploy applications to these clusters or instances.
-
-[[gksdt]][[GSHAG00282]][[configuring-glassfish-server-with-apache-http-server-and-mod_jk]]
-
-Configuring GlassFish Server with Apache HTTP Server and `mod_jk`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server4.0 can be configured for load balancing with Apache
-HTTP Server as a front end by enabling the Apache `mod_jk` connector
-module. To enable the `mod_jk` module in GlassFish Server, set the
-GlassFish Server `jk-enabled` `network-listener` attribute. You can also
-create `jk-connectors` under different virtual-servers using the
-`jk-enabled` `network-listener` attribute.
-
-[[gksde]][[GSHAG00143]][[to-configure-the-mod_jk-connector-module]]
-
-To Configure the `mod_jk` Connector Module
-++++++++++++++++++++++++++++++++++++++++++
-
-1.  Install http://httpd.apache.org/docs/2.2/install.html[Apache HTTP
-Server] (`http://httpd.apache.org/docs/2.2/install.html`) and
-http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html[mod_jk]
-(`http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html`).
-2.  Configure `workers.properties` and `httpd.conf`. +
-For example:
-* `apache2/config/workers.properties` +
-[source,oac_no_warn]
-----
-# Define 1 real worker using ajp13
-worker.list=worker1
-# Set properties for worker1 (ajp13)
-worker.worker1.type=ajp13
-worker.worker1.host=localhost
-worker.worker1.port=8009
-----
-* `apache2/conf/httpd.conf` +
-[source,oac_no_warn]
-----
-LoadModule jk_module /Users/Amy/apache2/modules/mod_jk-1.2.25-httpd-2.2.4.so
-JkWorkersFile /Users/Amy/apache2/conf/worker.properties
-# Where to put jk logs
-JkLogFile /Users/Amy/apache2/logs/mod_jk.log
-# Set the jk log level [debug/error/info]
-JkLogLevel debug
-# Select the log format
-JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
-# JkOptions indicate to send SSL KEY SIZE,
-JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
-# JkRequestLogFormat set the request format
-JkRequestLogFormat "%w %V %T"
-# Send everything for context /examples to worker named worker1 (ajp13)
-JkMount /examples/* worker1
-----
-3.  Start Apache HTTP Server.
-4.  Create a jk-enabled network listener by using the
-link:../reference-manual/create-network-listener.html#GSRFM00046[`create-network-listener`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> create-network-listener --protocol http-listener-1 \
---listenerport 8009 --jkenabled true jk-connector
-----
-5.  If you are using the `glassfish-jk.properties` file, set the
-`jk-configuration-file` property of the network listener to the
-fully-qualified file name of the `glassfish-jk.properties` file. +
-[source,oac_no_warn]
-----
-asadmin> set server-config.network-config.network-listeners.network-listener.\
-jk-connector.jk-configuration-file=domain-dir/config/glassfish-jk.properties
-----
-6.  If you expect to need more than five threads for the listener,
-increase the maximum threads in the `http-thread-pool` pool: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.server-config.thread-pools.thread-pool.\
-http-thread-pool.max-thread-pool-size=value
-----
-7.  Restart GlassFish Server.
-
-[[GSHAG00065]][[gktpu]]
-
-
-Example 7-1 `httpd.conf` File for Load Balancing
-
-This example shows an `httpd.conf` file that is set for load balancing.
-
-[source,oac_no_warn]
-----
-LoadModule jk_module /usr/lib/httpd/modules/mod_jk.so
-JkWorkersFile /etc/httpd/conf/worker.properties
-# Where to put jk logs
-JkLogFile /var/log/httpd/mod_jk.log
-# Set the jk log level [debug/error/info]
-JkLogLevel debug
-# Select the log format
-JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
-# JkOptions indicate to send SSL KEY SIZE,
-JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
-# JkRequestLogFormat set the request format
-JkRequestLogFormat "%w %V %T"
-# Send all jsp requests to GlassFish
-JkMount /*.jsp worker1
-# Send all glassfish-test requests to GlassFish
-JkMount /glassfish-test/* loadbalancer
-----
-
-[[GSHAG00066]][[gktpe]]
-
-
-Example 7-2 `workers.properties` File for Load Balancing
-
-This example shows a `workers.properties` or `glassfish-jk.properties`
-file that is set for load balancing. The `worker.worker*.port` should
-match with JK ports you created.
-
-[source,oac_no_warn]
-----
-worker.list=worker1,worker2,loadbalancer
-worker.worker1.type=ajp13
-worker.worker1.host=localhost
-worker.worker1.port=8009
-worker.worker1.lbfactor=1
-worker.worker1.socket_keepalive=1
-worker.worker1.socket_timeout=300
-worker.worker2.type=ajp13
-worker.worker2.host=localhost
-worker.worker2.port=8010
-worker.worker2.lbfactor=1
-worker.worker2.socket_keepalive=1
-worker.worker2.socket_timeout=300
-worker.loadbalancer.type=lb
-worker.loadbalancer.balance_workers=worker1,worker2
-----
-
-[[CHDCCGDC]][[GSHAG494]][[configuring-glassfish-server-with-apache-http-server-and-mod_proxy_ajp]]
-
-Configuring GlassFish Server with Apache HTTP Server and `mod_proxy_ajp`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server4.0 can be configured for load balancing with Apache
-HTTP Server as a front end by enabling the Apache `mod_proxy_ajp`
-connector module. To enable the `mod_proxy_ajp` module in GlassFish
-Server, set the GlassFish Server `jk-enabled` `network-listener`
-attribute. You can also create `jk-connectors` under different
-virtual-servers using the `jk-enabled` `network-listener` attribute.
-
-[[GSHAG495]][[sthref22]]
-
-
-[[to-configure-the-mod_proxy_ajp-connector-module]]
-To Configure the `mod_proxy_ajp` Connector Module
-+++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Install http://httpd.apache.org/docs/2.2/install.html[Apache HTTP
-Server] (`http://httpd.apache.org/docs/2.2/install.html`).
-2.  Configure `httpd.conf`. +
-For example: +
-[source,oac_no_warn]
-----
-LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
-LoadModule proxy_ajp_module /usr/lib/httpd/modules/mod_proxy_ajp.so
-
-Listen 1979
-NameVirtualHost *:1979
-<VirtualHost *:1979>
-   ServerName localhost
-   ErrorLog /var/log/apache2/ajp.error.log
-   CustomLog /var/log/apache2/ajp.log combined
-
-   <Proxy *>
-     AddDefaultCharset Off
-     Order deny,allow
-     Allow from all
-   </Proxy>
-
-   ProxyPass / ajp://localhost:8009/
-   ProxyPassReverse / ajp://localhost:8009/
-</VirtualHost>
-----
-3.  Start Apache HTTP Server.
-4.  Create a jk-enabled network listener by using the
-`create-network-listener` subcommand. +
-[source,oac_no_warn]
-----
-asadmin> create-network-listener --protocol http-listener-1 \
---listenerport 8009 --jkenabled true jk-connector
-----
-5.  If you expect to need more than five threads for the listener,
-increase the maximum threads in the `http-thread-pool` pool: +
-[source,oac_no_warn]
-----
-asadmin> set configs.config.server-config.thread-pools.thread-pool.\
-http-thread-pool.max-thread-pool-size=value
-----
-6.  Restart GlassFish Server.
-
-[[abdgz]][[GSHAG00284]][[http-load-balancer-deployments]]
-
-HTTP Load Balancer Deployments
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can configure your load balancer in different ways, depending on
-your goals and environment, as described in the following sections:
-
-* link:#abdha[Using Clustered Server Instances]
-* link:#abdhc[Using Multiple Standalone Instances]
-
-[[abdha]][[GSHAG00232]][[using-clustered-server-instances]]
-
-Using Clustered Server Instances
-++++++++++++++++++++++++++++++++
-
-The most common way to deploy the load balancer is with a cluster or
-clusters of server instances. By default all the instances in a cluster
-have the same configuration and the same applications deployed to them.
-The load balancer distributes the workload between the server instances
-and requests fail over from an unhealthy instance to a healthy one. If
-you've configured HTTP session persistence, session information persists
-when the request is failed over.
-
-If you have multiple clusters, requests can be load balanced across
-clusters but are only failed over between the instances in a single
-cluster. Use multiple clusters in a load balancer to easily enable
-rolling upgrades of applications. For more information, see
-link:rolling-upgrade.html#abdik[Upgrading Applications Without Loss of
-Availability].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Requests cannot be load balanced across clusters and standalone
-instances.
-
-|=======================================================================
-
-
-[[abdhc]][[GSHAG00233]][[using-multiple-standalone-instances]]
-
-Using Multiple Standalone Instances
-+++++++++++++++++++++++++++++++++++
-
-It is also possible to configure your load balancer to use multiple
-standalone instances, and load balance and failover requests between
-them. However, in this configuration, you must manually ensure that the
-standalone instances have homogenous environments and the same
-applications deployed to them. Because clusters automatically maintain a
-homogenous environment, for most situations it is better and easier to
-use clusters.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Tip:
-
-Load balancing across multiple standalone instances only provides
-failover for requests, and any associated HTTP session data will not be
-failed over. This is another reason why using a cluster, which can
-provide session failover, is a more desirable load balancing
-configuration.
-
-|=======================================================================
diff --git a/docs/ha-administration-guide/src/main/jbake/content/instances.adoc b/docs/ha-administration-guide/src/main/jbake/content/instances.adoc
deleted file mode 100644
index 3f67700..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/instances.adoc
+++ /dev/null
@@ -1,2203 +0,0 @@
-type=page
-status=published
-title=Administering GlassFish Server Instances
-next=named-configurations.html
-prev=clusters.html
-~~~~~~
-Administering GlassFish Server Instances
-========================================
-
-[[GSHAG00006]][[gkrbv]]
-
-
-[[administering-glassfish-server-instances]]
-5 Administering GlassFish Server Instances
-------------------------------------------
-
-A GlassFish Server instance is a single Virtual Machine for the Java
-platform (Java Virtual Machine or JVM machine) on a single node in which
-GlassFish Server is running. A node defines the host where the GlassFish
-Server instance resides. The JVM machine must be compatible with the
-Java Platform, Enterprise Edition (Java EE).
-
-GlassFish Server instances form the basis of an application deployment.
-An instance is a building block in the clustering, load balancing, and
-session persistence features of GlassFish Server. Each instance belongs
-to a single domain and has its own directory structure, configuration,
-and deployed applications. Every instance contains a reference to a node
-that defines the host where the instance resides.
-
-The following topics are addressed here:
-
-* link:#gkrbn[Types of GlassFish Server Instances]
-* link:#gkqal[Administering GlassFish Server Instances Centrally]
-* link:#gkqdw[Administering GlassFish Server Instances Locally]
-* link:#gkrdd[Resynchronizing GlassFish Server Instances and the DAS]
-* link:#gkqcr[Migrating EJB Timers]
-
-[[gkrbn]][[GSHAG00186]][[types-of-glassfish-server-instances]]
-
-Types of GlassFish Server Instances
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each GlassFish Server instance is one of the following types of
-instance:
-
-Standalone instance::
-  A standalone instance does not share its configuration with any other
-  instances or clusters. A standalone instance is created if either of
-  the following conditions is met: +
-  * No configuration or cluster is specified in the command to create
-  the instance.
-  * A configuration that is not referenced by any other instances or
-  clusters is specified in the command to create the instance. +
-  When no configuration or cluster is specified, a copy of the
-  `default-config` configuration is created for the instance. The name
-  of this configuration is instance-name`-config`, where instance-name
-  represents the name of an unclustered server instance.
-Shared instance::
-  A shared instance shares its configuration with other instances or
-  clusters. A shared instance is created if a configuration that is
-  referenced by other instances or clusters is specified in the command
-  to create the instance.
-Clustered instance::
-  A clustered instance inherits its configuration from the cluster to
-  which the instance belongs and shares its configuration with other
-  instances in the cluster. A clustered instance is created if a cluster
-  is specified in the command to create the instance. +
-  Any instance that is not part of a cluster is considered an
-  unclustered server instance. Therefore, standalone instances and
-  shared instances are unclustered server instances.
-
-[[gkqal]][[GSHAG00187]][[administering-glassfish-server-instances-centrally]]
-
-Administering GlassFish Server Instances Centrally
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Centralized administration requires the Distributed Component Object
-Model (DCOM) remote protocol or secure shell (SSH) to be set up. If DCOM
-or SSH is set up, you can administer clustered instances without the
-need to log in to hosts where remote instances reside. For information
-about setting up DCOM and SSH, see link:ssh-setup.html#gkshg[Enabling
-Centralized Administration of GlassFish Server Instances].
-
-Administering GlassFish Server instances centrally involves the
-following tasks:
-
-* link:#gkqch[To Create an Instance Centrally]
-* link:#gkrcb[To List All Instances in a Domain]
-* link:#gkqcw[To Delete an Instance Centrally]
-* link:#gkqcj[To Start a Cluster]
-* link:#gkqcl[To Stop a Cluster]
-* link:#gkqaw[To Start an Individual Instance Centrally]
-* link:#gkqaj[To Stop an Individual Instance Centrally]
-* link:#gkqcc[To Restart an Individual Instance Centrally]
-
-[[gkqch]][[GSHAG00106]][[to-create-an-instance-centrally]]
-
-To Create an Instance Centrally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-instance` subcommand in remote mode to create a
-GlassFish Server instance centrally. Creating an instance adds the
-instance to the DAS configuration and creates the instance's files on
-the host where the instance resides.
-
-If the instance is a clustered instance that is managed by GMS, system
-properties for the instance that relate to GMS must be configured
-correctly. To avoid the need to restart the DAS and the instance,
-configure an instance's system properties that relate to GMS when you
-create the instance. If you change GMS-related system properties for an
-existing instance, the DAS and the instance must be restarted to apply
-the changes. For information about GMS, see
-link:clusters.html#gjfnl[Group Management Service].
-
-[[GSHAG380]]
-
-Before You Begin
-
-Ensure that following prerequisites are met:
-
-* The node where the instance is to reside exists.
-* The node where the instance is to reside is either enabled for remote
-communication or represents the host on which the DAS is running. For
-information about how to create a node that is enabled for remote
-communication, see the following sections:
-
-** link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
-
-** link:nodes.html#gkrnf[To Create an `SSH` Node]
-* The user of the DAS can use DCOM or SSH to log in to the host for the
-node where the instance is to reside.
-
-If any of these prerequisites is not met, create the instance locally as
-explained in link:#gkqbl[To Create an Instance Locally].
-
-If you are adding the instance to a cluster, ensure that the cluster to
-which you are adding the instance exists. For information about how to
-create a cluster, see link:clusters.html#gkqdm[To Create a Cluster].
-
-If the instance is to reference an existing named configuration, ensure
-that the configuration exists. For more information, see
-link:named-configurations.html#abdjr[To Create a Named Configuration].
-
-The instance might be a clustered instance that is managed by GMS and
-resides on a node that represents a multihome host. In this situation,
-ensure that you have the Internet Protocol (IP) address of the network
-interface to which GMS binds.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `create-instance` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-instance, see the link:../reference-manual/create-instance.html#GSRFM00033[`create-instance`(1)] help page.
-
-|=======================================================================
-
-* If you are creating a standalone instance, do not specify a cluster. +
-If the instance is to reference an existing configuration, specify a
-configuration that no other cluster or instance references. +
-[source,oac_no_warn]
-----
-asadmin> create-instance --node node-name
-[--config configuration-name]instance-name
-----
-node-name::
-  The node on which the instance is to reside.
-configuration-name::
-  The name of the existing named configuration that the instance will
-  reference. +
-  If you do not require the instance to reference an existing
-  configuration, omit this option. A copy of the `default-config`
-  configuration is created for the instance. The name of this
-  configuration is instance-name`-config`, where instance-name is the
-  name of the server instance.
-instance-name::
-  Your choice of name for the instance that you are creating.
-* If you are creating a shared instance, specify the configuration that
-the instance will share with other clusters or instances. +
-Do not specify a cluster. +
-[source,oac_no_warn]
-----
-asadmin> create-instance --node node-name
---config configuration-name instance-name
-----
-node-name::
-  The node on which the instance is to reside.
-configuration-name::
-  The name of the existing named configuration that the instance will
-  reference.
-instance-name::
-  Your choice of name for the instance that you are creating.
-* If you are creating a clustered instance, specify the cluster to which
-the instance will belong. +
-If the instance is managed by GMS and resides on a node that represents
-a multihome host, specify the `GMS-BIND-INTERFACE-ADDRESS-`cluster-name
-system property. +
-[source,oac_no_warn]
-----
-asadmin> create-instance --cluster cluster-name --node node-name
-[--systemproperties GMS-BIND-INTERFACE-ADDRESS-cluster-name=bind-address]instance-name
-----
-cluster-name::
-  The name of the cluster to which you are adding the instance.
-node-name::
-  The node on which the instance is to reside.
-bind-address::
-  The IP address of the network interface to which GMS binds. Specify
-  this option only if the instance is managed by GMS and resides on a
-  node that represents a multihome host.
-instance-name::
-  Your choice of name for the instance that you are creating.
-
-[[GSHAG00039]][[gkqmv]]
-
-
-Example 5-1 Creating a Clustered Instance Centrally
-
-This example adds the instance `pmd-i1` to the cluster `pmdclust` in the
-domain `domain1`. The instance resides on the node `sj01`, which
-represents the host `sj01.example.com`.
-
-[source,oac_no_warn]
-----
-asadmin> create-instance --cluster pmdclust --node sj01 pmd-i1
-Port Assignments for server instance pmd-i1:
-JMX_SYSTEM_CONNECTOR_PORT=28686
-JMS_PROVIDER_PORT=27676
-HTTP_LISTENER_PORT=28080
-ASADMIN_LISTENER_PORT=24848
-IIOP_SSL_LISTENER_PORT=23820
-IIOP_LISTENER_PORT=23700
-HTTP_SSL_LISTENER_PORT=28181
-IIOP_SSL_MUTUALAUTH_PORT=23920
-The instance, pmd-i1, was created on host sj01.example.com
-Command create-instance executed successfully.
-----
-
-[[GSHAG381]]
-
-See Also
-
-* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
-* link:nodes.html#gkrnf[To Create an `SSH` Node]
-* link:#gkqbl[To Create an Instance Locally]
-* link:../reference-manual/create-instance.html#GSRFM00033[`create-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-instance` at the command line.
-
-[[GSHAG382]]
-
-Next Steps
-
-After creating an instance, you can start the instance as explained in
-the following sections:
-
-* link:#gkqaw[To Start an Individual Instance Centrally]
-* link:#gkqci[To Stop an Individual Instance Locally]
-
-[[gkrcb]][[GSHAG00107]][[to-list-all-instances-in-a-domain]]
-
-To List All Instances in a Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-instances` subcommand in remote mode to obtain information
-about existing instances in a domain.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> list-instances
-----
-
-[[GSHAG00040]][[gksfe]]
-
-
-Example 5-2 Listing Basic Information About All GlassFish Server
-Instances in a Domain
-
-This example lists the name and status of all GlassFish Server instances
-in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances
-pmd-i2 running
-yml-i2 running
-pmd-i1 running
-yml-i1 running
-pmdsa1 not running
-Command list-instances executed successfully.
-----
-
-[[GSHAG00041]][[gkabz]]
-
-
-Example 5-3 Listing Detailed Information About All GlassFish Server
-Instances in a Domain
-
-This example lists detailed information about all GlassFish Server
-instances in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances --long=true
-NAME    HOST              PORT   PID    CLUSTER     STATE
-pmd-i1  sj01.example.com  24848  31310  pmdcluster   running
-yml-i1  sj01.example.com  24849  25355  ymlcluster   running
-pmdsa1  localhost         24848  -1     ---          not running
-pmd-i2  sj02.example.com  24848  22498  pmdcluster   running
-yml-i2  sj02.example.com  24849  20476  ymlcluster   running
-ymlsa1  localhost         24849  -1     ---          not running
-Command list-instances executed successfully.
-----
-
-[[GSHAG383]]
-
-See Also
-
-link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-instances` at the command line.
-
-[[gkqcw]][[GSHAG00108]][[to-delete-an-instance-centrally]]
-
-To Delete an Instance Centrally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-instance` subcommand in remote mode to delete a
-GlassFish Server instance centrally.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-If you are using a Java Message Service (JMS) cluster with a master
-broker, do not delete the instance that is associated with the master
-broker. If this instance must be deleted, use the
-link:../reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`] subcommand to assign the master
-broker to a different instance.
-
-|=======================================================================
-
-
-Deleting an instance involves the following:
-
-* Removing the instance from the configuration of the DAS
-* Deleting the instance's files from file system
-
-[[GSHAG384]]
-
-Before You Begin
-
-Ensure that the instance that you are deleting is not running. For
-information about how to stop an instance, see the following sections:
-
-* link:#gkqaj[To Stop an Individual Instance Centrally]
-* link:#gkqci[To Stop an Individual Instance Locally]
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Confirm that the instance is not running. +
-[source,oac_no_warn]
-----
-asadmin> list-instances instance-name
-----
-instance-name::
-  The name of the instance that you are deleting.
-3.  Run the link:../reference-manual/delete-instance.html#GSRFM00085[`delete-instance`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> delete-instance instance-name
-----
-instance-name::
-  The name of the instance that you are deleting.
-
-[[GSHAG00042]][[gkqms]]
-
-
-Example 5-4 Deleting an Instance Centrally
-
-This example confirms that the instance `pmd-i1` is not running and
-deletes the instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances pmd-i1
-pmd-i1   not running
-Command list-instances executed successfully.
-asadmin> delete-instance pmd-i1
-Command _delete-instance-filesystem executed successfully.
-The instance, pmd-i1, was deleted from host sj01.example.com
-Command delete-instance executed successfully.
-----
-
-[[GSHAG385]]
-
-See Also
-
-* link:#gkqaj[To Stop an Individual Instance Centrally]
-* link:#gkqci[To Stop an Individual Instance Locally]
-* link:../reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`(1)]
-* link:../reference-manual/delete-instance.html#GSRFM00085[`delete-instance`(1)]
-* link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help delete-instance`
-* `asadmin help list-instances`
-
-[[gkqcj]][[GSHAG00109]][[to-start-a-cluster]]
-
-To Start a Cluster
-^^^^^^^^^^^^^^^^^^
-
-Use the `start-cluster` subcommand in remote mode to start a cluster.
-
-Starting a cluster starts all instances in the cluster that are not
-already running.
-
-[[GSHAG386]]
-
-Before You Begin
-
-Ensure that following prerequisites are met:
-
-* Each node where an instance in the cluster resides is either enabled
-for remote communication or represents the host on which the DAS is
-running.
-* The user of the DAS can use DCOM or SSH to log in to the host for any
-node where instances in the cluster reside.
-
-If any of these prerequisites is not met, start the cluster by starting
-each instance locally as explained in link:#gkqak[To Start an Individual
-Instance Locally].
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/start-cluster.html#GSRFM00233[`start-cluster`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> start-cluster cluster-name
-----
-cluster-name::
-  The name of the cluster that you are starting.
-
-[[GSHAG00043]][[gkqml]]
-
-
-Example 5-5 Starting a Cluster
-
-This example starts the cluster `pmdcluster`.
-
-[source,oac_no_warn]
-----
-asadmin> start-cluster pmdcluster
-Command start-cluster executed successfully.
-----
-
-[[GSHAG387]]
-
-See Also
-
-* link:#gkqak[To Start an Individual Instance Locally]
-* link:../reference-manual/start-cluster.html#GSRFM00233[`start-cluster`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help start-cluster` at the command line.
-
-[[GSHAG388]]
-
-Next Steps
-
-After starting a cluster, you can deploy applications to the cluster.
-For more information, see link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
-Edition Application Deployment Guide].
-
-[[gkqcl]][[GSHAG00110]][[to-stop-a-cluster]]
-
-To Stop a Cluster
-^^^^^^^^^^^^^^^^^
-
-Use the `stop-cluster` subcommand in remote mode to stop a cluster.
-
-Stopping a cluster stops all running instances in the cluster.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/stop-cluster.html#GSRFM00238[`stop-cluster`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> stop-cluster cluster-name
-----
-cluster-name::
-  The name of the cluster that you are stopping.
-
-[[GSHAG00044]][[gkqmn]]
-
-
-Example 5-6 Stopping a Cluster
-
-This example stops the cluster `pmdcluster`.
-
-[source,oac_no_warn]
-----
-asadmin> stop-cluster pmdcluster
-Command stop-cluster executed successfully.
-----
-
-[[GSHAG389]]
-
-See Also
-
-link:../reference-manual/stop-cluster.html#GSRFM00238[`stop-cluster`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help stop-cluster` at the command line.
-
-[[GSHAG390]]
-
-Troubleshooting
-
-If instances in the cluster have become unresponsive and fail to stop,
-run the subcommand again with the `--kill` option set to `true`. When
-this option is `true`, the subcommand uses functionality of the
-operating system to kill the process for each running instance in the
-cluster.
-
-[[gkqaw]][[GSHAG00111]][[to-start-an-individual-instance-centrally]]
-
-To Start an Individual Instance Centrally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `start-instance` subcommand in remote mode to start an
-individual instance centrally.
-
-[[GSHAG391]]
-
-Before You Begin
-
-Ensure that following prerequisites are met:
-
-* The node where the instance resides is either enabled for remote
-communication or represents the host on which the DAS is running.
-* The user of the DAS can use DCOM or SSH to log in to the host for the
-node where the instance resides.
-
-If any of these prerequisites is not met, start the instance locally as
-explained in link:#gkqak[To Start an Individual Instance Locally].
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `start-instance` subcommand. +
-[source,oac_no_warn]
-----
-asadmin> start-instance instance-name
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for controlling the
-behavior of the instance, see the link:../reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
-help page.
-
-|=======================================================================
-
-instance-name::
-  The name of the instance that you are starting.
-
-[[GSHAG00045]][[gkqoa]]
-
-
-Example 5-7 Starting an Individual Instance Centrally
-
-This example starts the instance `pmd-i2`, which resides on the node
-`sj02`. This node represents the host `sj02.example.com`. The
-configuration of the instance on this node already matched the
-configuration of the instance in the DAS when the instance was started.
-
-[source,oac_no_warn]
-----
-asadmin> start-instance pmd-i2
-CLI801 Instance is already synchronized
-Waiting for pmd-i2 to start ............
-Successfully started the instance: pmd-i2
-instance Location: /export/glassfish3/glassfish/nodes/sj02/pmd-i2
-Log File: /export/glassfish3/glassfish/nodes/sj02/pmd-i2/logs/server.log
-Admin Port: 24851
-Command start-local-instance executed successfully.
-The instance, pmd-i2, was started on host sj02.example.com
-Command start-instance executed successfully.
-----
-
-[[GSHAG392]]
-
-See Also
-
-link:../reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help start-instance` at the command line.
-
-[[GSHAG393]]
-
-Next Steps
-
-After starting an instance, you can deploy applications to the instance.
-For more information, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
-Edition Application Deployment Guide].
-
-[[gkqaj]][[GSHAG00112]][[to-stop-an-individual-instance-centrally]]
-
-To Stop an Individual Instance Centrally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `stop-instance` subcommand in remote mode to stop an individual
-instance centrally.
-
-When an instance is stopped, the instance stops accepting new requests
-and waits for all outstanding requests to be completed.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/stop-instance.html#GSRFM00241[`stop-instance`] subcommand.
-
-[[GSHAG00046]][[gkqpy]]
-
-
-Example 5-8 Stopping an Individual Instance Centrally
-
-This example stops the instance `pmd-i2`.
-
-[source,oac_no_warn]
-----
-asadmin> stop-instance pmd-i2
-The instance, pmd-i2, is stopped.
-Command stop-instance executed successfully.
-----
-
-[[GSHAG394]]
-
-See Also
-
-link:../reference-manual/stop-instance.html#GSRFM00241[`stop-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help stop-instance` at the command line.
-
-[[GSHAG395]]
-
-Troubleshooting
-
-If the instance has become unresponsive and fails to stop, run the
-subcommand again with the `--kill` option set to `true`. When this
-option is `true`, the subcommand uses functionality of the operating
-system to kill the instance process.
-
-[[gkqcc]][[GSHAG00113]][[to-restart-an-individual-instance-centrally]]
-
-To Restart an Individual Instance Centrally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `restart-instance` subcommand in remote mode to start an
-individual instance centrally.
-
-When this subcommand restarts an instance, the DAS synchronizes the
-instance with changes since the last synchronization as described in
-link:#gksbo[Default Synchronization for Files and Directories].
-
-If you require different synchronization behavior, stop and start the
-instance as explained in link:#gksak[To Resynchronize an Instance and
-the DAS Online].
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/restart-instance.html#GSRFM00219[`restart-instance`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> restart-instance instance-name
-----
-instance-name::
-  The name of the instance that you are restarting.
-
-[[GSHAG00047]][[gkqqt]]
-
-
-Example 5-9 Restarting an Individual Instance Centrally
-
-This example restarts the instance `pmd-i2`.
-
-[source,oac_no_warn]
-----
-asadmin> restart-instance pmd-i2
-pmd-i2 was restarted.
-Command restart-instance executed successfully.
-----
-
-[[GSHAG396]]
-
-See Also
-
-* link:#gkqaj[To Stop an Individual Instance Centrally]
-* link:#gkqaw[To Start an Individual Instance Centrally]
-* link:../reference-manual/restart-instance.html#GSRFM00219[`restart-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help restart-instance` at the command line.
-
-[[GSHAG397]]
-
-Troubleshooting
-
-If the instance has become unresponsive and fails to stop, run the
-subcommand again with the `--kill` option set to `true`. When this
-option is `true`, the subcommand uses functionality of the operating
-system to kill the instance process before restarting the instance.
-
-[[gkqdw]][[GSHAG00188]][[administering-glassfish-server-instances-locally]]
-
-Administering GlassFish Server Instances Locally
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Local administration does not require DCOM or SSH to be set up. If
-neither DCOM nor SSH is set up, you must log in to each host where
-remote instances reside and administer the instances individually.
-
-Administering GlassFish Server instances locally involves the following
-tasks:
-
-* link:#gkqbl[To Create an Instance Locally]
-* link:#gkqed[To Delete an Instance Locally]
-* link:#gkqak[To Start an Individual Instance Locally]
-* link:#gkqci[To Stop an Individual Instance Locally]
-* link:#gkqef[To Restart an Individual Instance Locally]
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Even if neither DCOM nor SSH is set up, you can obtain information about
-instances in a domain without logging in to each host where remote
-instances reside. For instructions, see link:#gkrcb[To List All
-Instances in a Domain].
-
-|=======================================================================
-
-
-[[gkqbl]][[GSHAG00114]][[to-create-an-instance-locally]]
-
-To Create an Instance Locally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-local-instance` subcommand in remote mode to create a
-GlassFish Server instance locally. Creating an instance adds the
-instance to the DAS configuration and creates the instance's files on
-the host where the instance resides.
-
-If the instance is a clustered instance that is managed by GMS, system
-properties for the instance that relate to GMS must be configured
-correctly. To avoid the need to restart the DAS and the instance,
-configure an instance's system properties that relate to GMS when you
-create the instance. If you change GMS-related system properties for an
-existing instance, the DAS and the instance must be restarted to apply
-the changes. For information about GMS, see
-link:clusters.html#gjfnl[Group Management Service].
-
-[[GSHAG398]]
-
-Before You Begin
-
-If you plan to specify the node on which the instance is to reside,
-ensure that the node exists.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you create the instance on a host for which no nodes are defined, you
-can create the instance without creating a node beforehand. In this
-situation, GlassFish Server creates a `CONFIG` node for you. The name of
-the node is the unqualified name of the host.
-
-|=======================================================================
-
-
-For information about how to create a node, see the following sections:
-
-* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
-* link:nodes.html#gkrnf[To Create an `SSH` Node]
-* link:nodes.html#gkrll[To Create a `CONFIG` Node]
-
-If you are adding the instance to a cluster, ensure that the cluster to
-which you are adding the instance exists. For information about how to
-create a cluster, see link:clusters.html#gkqdm[To Create a Cluster].
-
-If the instance is to reference an existing named configuration, ensure
-that the configuration exists. For more information, see
-link:named-configurations.html#abdjr[To Create a Named Configuration].
-
-The instance might be a clustered instance that is managed by GMS and
-resides on a node that represents a multihome host. In this situation,
-ensure that you have the Internet Protocol (IP) address of the network
-interface to which GMS binds.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Log in to the host that is represented by the node where the
-instance is to reside.
-3.  Run the `create-local-instance` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-instance, see the link:../reference-manual/create-local-instance.html#GSRFM00044[`create-local-instance`(1)] help
-page.
-
-|=======================================================================
-
-* If you are creating a standalone instance, do not specify a cluster. +
-If the instance is to reference an existing configuration, specify a
-configuration that no other cluster or instance references. +
-[source,oac_no_warn]
-----
-$ asadmin --host das-host [--port admin-port]
-create-local-instance [--node node-name] [--config configuration-name]instance-name
-----
-das-host::
-  The name of the host where the DAS is running.
-admin-port::
-  The HTTP or HTTPS port on which the DAS listens for administration
-  requests. If the DAS listens on the default port for administration
-  requests, you may omit this option.
-node-name::
-  The node on which the instance is to reside. +
-  If you are creating the instance on a host for which fewer than two
-  nodes are defined, you may omit this option. +
-  If no nodes are defined for the host, GlassFish Server creates a
-  CONFIG node for you. The name of the node is the unqualified name of
-  the host. +
-  If one node is defined for the host, the instance is created on that
-  node.
-configuration-name::
-  The name of the existing named configuration that the instance will
-  reference. +
-  If you do not require the instance to reference an existing
-  configuration, omit this option. A copy of the `default-config`
-  configuration is created for the instance. The name of this
-  configuration is instance-name`-config`, where instance-name is the
-  name of the server instance.
-instance-name::
-  Your choice of name for the instance that you are creating.
-* If you are creating a shared instance, specify the configuration that
-the instance will share with other clusters or instances. +
-Do not specify a cluster. +
-[source,oac_no_warn]
-----
-$ asadmin --host das-host [--port admin-port]
-create-local-instance [--node node-name] --config configuration-name instance-name
-----
-das-host::
-  The name of the host where the DAS is running.
-admin-port::
-  The HTTP or HTTPS port on which the DAS listens for administration
-  requests. If the DAS listens on the default port for administration
-  requests, you may omit this option.
-node-name::
-  The node on which the instance is to reside. +
-  If you are creating the instance on a host for which fewer than two
-  nodes are defined, you may omit this option. +
-  If no nodes are defined for the host, GlassFish Server creates a
-  `CONFIG` node for you. The name of the node is the unqualified name of
-  the host. +
-  If one node is defined for the host, the instance is created on that
-  node.
-configuration-name::
-  The name of the existing named configuration that the instance will
-  reference.
-instance-name::
-  Your choice of name for the instance that you are creating.
-* If you are creating a clustered instance, specify the cluster to which
-the instance will belong. +
-If the instance is managed by GMS and resides on a node that represents
-a multihome host, specify the `GMS-BIND-INTERFACE-ADDRESS-`cluster-name
-system property. +
-[source,oac_no_warn]
-----
-$ asadmin --host das-host [--port admin-port]
-create-local-instance --cluster cluster-name [--node node-name]
-[--systemproperties GMS-BIND-INTERFACE-ADDRESS-cluster-name=bind-address]instance-name
-----
-das-host::
-  The name of the host where the DAS is running.
-admin-port::
-  The HTTP or HTTPS port on which the DAS listens for administration
-  requests. If the DAS listens on the default port for administration
-  requests, you may omit this option.
-cluster-name::
-  The name of the cluster to which you are adding the instance.
-node-name::
-  The node on which the instance is to reside. +
-  If you are creating the instance on a host for which fewer than two
-  nodes are defined, you may omit this option. +
-  If no nodes are defined for the host, GlassFish Server creates a
-  `CONFIG` node for you. The name of the node is the unqualified name of
-  the host. +
-  If one node is defined for the host, the instance is created on that
-  node.
-bind-address::
-  The IP address of the network interface to which GMS binds. Specify
-  this option only if the instance is managed by GMS and resides on a
-  node that represents a multihome host.
-instance-name::
-  Your choice of name for the instance that you are creating.
-
-[[GSHAG00048]][[gktfa]]
-
-
-Example 5-10 Creating a Clustered Instance Locally Without Specifying a
-Node
-
-This example adds the instance `kui-i1` to the cluster `kuicluster`
-locally. The `CONFIG` node `xk01` is created automatically to represent
-the host `xk01.example.com`, on which this example is run. The DAS is
-running on the host `dashost.example.com` and listens for administration
-requests on the default port.
-
-The commands to list the nodes in the domain are included in this
-example only to demonstrate the creation of the node `xk01`. These
-commands are not required to create the instance.
-
-[source,oac_no_warn]
-----
-$ asadmin --host dashost.example.com list-nodes --long
-NODE NAME          TYPE    NODE HOST         INSTALL DIRECTORY   REFERENCED BY
-localhost-domain1  CONFIG  localhost         /export/glassfish3
-Command list-nodes executed successfully.
-$ asadmin --host dashost.example.com
-create-local-instance --cluster kuicluster kui-i1
-Rendezvoused with DAS on dashost.example.com:4848.
-Port Assignments for server instance kui-i1:
-JMX_SYSTEM_CONNECTOR_PORT=28687
-JMS_PROVIDER_PORT=27677
-HTTP_LISTENER_PORT=28081
-ASADMIN_LISTENER_PORT=24849
-JAVA_DEBUGGER_PORT=29009
-IIOP_SSL_LISTENER_PORT=23820
-IIOP_LISTENER_PORT=23700
-OSGI_SHELL_TELNET_PORT=26666
-HTTP_SSL_LISTENER_PORT=28182
-IIOP_SSL_MUTUALAUTH_PORT=23920
-Command create-local-instance executed successfully.
-$ asadmin --host dashost.example.com list-nodes --long
-NODE NAME          TYPE    NODE HOST         INSTALL DIRECTORY   REFERENCED BY
-localhost-domain1  CONFIG  localhost         /export/glassfish3
-xk01               CONFIG  xk01.example.com  /export/glassfish3  kui-i1
-Command list-nodes executed successfully.
-----
-
-[[GSHAG00049]][[gkqps]]
-
-
-Example 5-11 Creating a Clustered Instance Locally
-
-This example adds the instance `yml-i1` to the cluster `ymlcluster`
-locally. The instance resides on the node `sj01`. The DAS is running on
-the host `das1.example.com` and listens for administration requests on
-the default port.
-
-[source,oac_no_warn]
-----
-$ asadmin --host das1.example.com
-create-local-instance --cluster ymlcluster --node sj01 yml-i1
-Rendezvoused with DAS on das1.example.com:4848.
-Port Assignments for server instance yml-i1:
-JMX_SYSTEM_CONNECTOR_PORT=28687
-JMS_PROVIDER_PORT=27677
-HTTP_LISTENER_PORT=28081
-ASADMIN_LISTENER_PORT=24849
-JAVA_DEBUGGER_PORT=29009
-IIOP_SSL_LISTENER_PORT=23820
-IIOP_LISTENER_PORT=23700
-OSGI_SHELL_TELNET_PORT=26666
-HTTP_SSL_LISTENER_PORT=28182
-IIOP_SSL_MUTUALAUTH_PORT=23920
-Command create-local-instance executed successfully.
-----
-
-[[GSHAG399]]
-
-See Also
-
-* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
-* link:nodes.html#gkrnf[To Create an `SSH` Node]
-* link:nodes.html#gkrll[To Create a `CONFIG` Node]
-* link:../reference-manual/create-local-instance.html#GSRFM00044[`create-local-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-local-instance` at the command line.
-
-[[GSHAG400]]
-
-Next Steps
-
-After creating an instance, you can start the instance as explained in
-the following sections:
-
-* link:#gkqaw[To Start an Individual Instance Centrally]
-* link:#gkqci[To Stop an Individual Instance Locally]
-
-[[gkqed]][[GSHAG00115]][[to-delete-an-instance-locally]]
-
-To Delete an Instance Locally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-local-instance` subcommand in remote mode to delete a
-GlassFish Server instance locally.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-If you are using a Java Message Service (JMS) cluster with a master
-broker, do not delete the instance that is associated with the master
-broker. If this instance must be deleted, use the
-link:../reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`] subcommand to assign the master
-broker to a different instance.
-
-|=======================================================================
-
-
-Deleting an instance involves the following:
-
-* Removing the instance from the configuration of the DAS
-* Deleting the instance's files from file system
-
-[[GSHAG401]]
-
-Before You Begin
-
-Ensure that the instance that you are deleting is not running. For
-information about how to stop an instance, see the following sections:
-
-* link:#gkqaj[To Stop an Individual Instance Centrally]
-* link:#gkqci[To Stop an Individual Instance Locally]
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Log in to the host that is represented by the node where the
-instance resides.
-3.  Confirm that the instance is not running. +
-[source,oac_no_warn]
-----
-$ asadmin --host das-host [--port admin-port]
-list-instances instance-name
-----
-das-host::
-  The name of the host where the DAS is running.
-admin-port::
-  The HTTP or HTTPS port on which the DAS listens for administration
-  requests. If the DAS listens on the default port for administration
-  requests, you may omit this option.
-instance-name::
-  The name of the instance that you are deleting.
-4.  Run the link:../reference-manual/delete-local-instance.html#GSRFM00096[`delete-local-instance`] subcommand. +
-[source,oac_no_warn]
-----
-$ asadmin --host das-host [--port admin-port]
-delete-local-instance [--node node-name]instance-name
-----
-das-host::
-  The name of the host where the DAS is running.
-admin-port::
-  The HTTP or HTTPS port on which the DAS listens for administration
-  requests. If the DAS listens on the default port for administration
-  requests, you may omit this option.
-node-name::
-  The node on which the instance resides. If only one node is defined
-  for the GlassFish Server installation that you are running on the
-  node's host, you may omit this option.
-instance-name::
-  The name of the instance that you are deleting.
-
-[[GSHAG00050]][[gkqqu]]
-
-
-Example 5-12 Deleting an Instance Locally
-
-This example confirms that the instance `yml-i1` is not running and
-deletes the instance.
-
-[source,oac_no_warn]
-----
-$ asadmin --host das1.example.com list-instances yml-i1
-yml-i1   not running
-Command list-instances executed successfully.
-$ asadmin --host das1.example.com delete-local-instance --node sj01 yml-i1
-Command delete-local-instance executed successfully.
-----
-
-[[GSHAG402]]
-
-See Also
-
-* link:#gkqaj[To Stop an Individual Instance Centrally]
-* link:#gkqci[To Stop an Individual Instance Locally]
-* link:../reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`(1)]
-* link:../reference-manual/delete-local-instance.html#GSRFM00096[`delete-local-instance`(1)]
-* link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help delete-local-instance`
-* `asadmin help list-instances`
-
-[[gkqak]][[GSHAG00116]][[to-start-an-individual-instance-locally]]
-
-To Start an Individual Instance Locally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `start-local-instance` subcommand in local mode to start an
-individual instance locally.
-
-1.  Log in to the host that is represented by the node where the
-instance resides.
-2.  Run the `start-local-instance` subcommand. +
-[source,oac_no_warn]
-----
-$ asadmin start-local-instance [--node node-name]instance-name
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for controlling the
-behavior of the instance, see the
-link:../reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)] help page.
-
-|=======================================================================
-
-node-name::
-  The node on which the instance resides. If only one node is defined
-  for the GlassFish Server installation that you are running on the
-  node's host, you may omit this option.
-instance-name::
-  The name of the instance that you are starting.
-
-[[GSHAG00051]][[gkqpu]]
-
-
-Example 5-13 Starting an Individual Instance Locally
-
-This example starts the instance `yml-i1` locally. The instance resides
-on the node `sj01`.
-
-[source,oac_no_warn]
-----
-$ asadmin start-local-instance --node sj01 yml-i1
-Waiting for yml-i1 to start ...............
-Successfully started the instance: yml-i1
-instance Location: /export/glassfish3/glassfish/nodes/sj01/yml-i1
-Log File: /export/glassfish3/glassfish/nodes/sj01/yml-i1/logs/server.log
-Admin Port: 24849
-Command start-local-instance executed successfully.
-----
-
-[[GSHAG403]]
-
-See Also
-
-link:../reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help start-local-instance` at the command line.
-
-[[GSHAG404]]
-
-Next Steps
-
-After starting an instance, you can deploy applications to the instance.
-For more information, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
-Edition Application Deployment Guide].
-
-[[gkqci]][[GSHAG00117]][[to-stop-an-individual-instance-locally]]
-
-To Stop an Individual Instance Locally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `stop-local-instance` subcommand in local mode to stop an
-individual instance locally.
-
-When an instance is stopped, the instance stops accepting new requests
-and waits for all outstanding requests to be completed.
-
-1.  Log in to the host that is represented by the node where the
-instance resides.
-2.  Run the link:../reference-manual/stop-local-instance.html#GSRFM00242[`stop-local-instance`] subcommand. +
-[source,oac_no_warn]
-----
-$ asadmin stop-local-instance [--node node-name]instance-name
-----
-node-name::
-  The node on which the instance resides. If only one node is defined
-  for the GlassFish Server installation that you are running on the
-  node's host, you may omit this option.
-instance-name::
-  The name of the instance that you are stopping.
-
-[[GSHAG00052]][[gkqoo]]
-
-
-Example 5-14 Stopping an Individual Instance Locally
-
-This example stops the instance `yml-i1` locally. The instance resides
-on the node `sj01`.
-
-[source,oac_no_warn]
-----
-$ asadmin stop-local-instance --node sj01 yml-i1
-Waiting for the instance to stop ....
-Command stop-local-instance executed successfully.
-----
-
-[[GSHAG405]]
-
-See Also
-
-link:../reference-manual/stop-local-instance.html#GSRFM00242[`stop-local-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help stop-local-instance` at the command line.
-
-[[GSHAG406]]
-
-Troubleshooting
-
-If the instance has become unresponsive and fails to stop, run the
-subcommand again with the `--kill` option set to `true`. When this
-option is `true`, the subcommand uses functionality of the operating
-system to kill the instance process.
-
-[[gkqef]][[GSHAG00118]][[to-restart-an-individual-instance-locally]]
-
-To Restart an Individual Instance Locally
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `restart-local-instance` subcommand in local mode to restart an
-individual instance locally.
-
-When this subcommand restarts an instance, the DAS synchronizes the
-instance with changes since the last synchronization as described in
-link:#gksbo[Default Synchronization for Files and Directories].
-
-If you require different synchronization behavior, stop and start the
-instance as explained in link:#gksak[To Resynchronize an Instance and
-the DAS Online].
-
-1.  Log in to the host that is represented by the node where the
-instance resides.
-2.  Run the `restart-local-instance` subcommand. +
-[source,oac_no_warn]
-----
-$ asadmin restart-local-instance [--node node-name]instance-name
-----
-node-name::
-  The node on which the instance resides. If only one node is defined
-  for the GlassFish Server installation that you are running on the
-  node's host, you may omit this option.
-instance-name::
-  The name of the instance that you are restarting.
-
-[[GSHAG00053]][[gkqnt]]
-
-
-Example 5-15 Restarting an Individual Instance Locally
-
-This example restarts the instance `yml-i1` locally. The instance
-resides on the node `sj01`.
-
-[source,oac_no_warn]
-----
-$ asadmin restart-local-instance --node sj01 yml-i1
-Command restart-local-instance executed successfully.
-----
-
-[[GSHAG407]]
-
-See Also
-
-link:../reference-manual/restart-local-instance.html#GSRFM00220[`restart-local-instance`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help restart-local-instance` at the command line.
-
-[[GSHAG408]]
-
-Troubleshooting
-
-If the instance has become unresponsive and fails to stop, run the
-subcommand again with the `--kill` option set to `true`. When this
-option is `true`, the subcommand uses functionality of the operating
-system to kill the instance process before restarting the instance.
-
-[[gkrdd]][[GSHAG00189]][[resynchronizing-glassfish-server-instances-and-the-das]]
-
-Resynchronizing GlassFish Server Instances and the DAS
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Configuration data for a GlassFish Server instance is stored as follows:
-
-* In the repository of the domain administration server (DAS)
-* In a cache on the host that is local to the instance
-
-The configuration data in these locations must be synchronized. The
-cache is synchronized in the following circumstances:
-
-* Whenever an `asadmin` subcommand is run. For more information, see
-"link:../administration-guide/overview.html#GSADG00697[Impact of Configuration Changes]" in GlassFish Server
-Open Source Edition Administration Guide.
-* When a user uses the administration tools to start or restart an
-instance.
-
-[[gksbo]][[GSHAG00267]][[default-synchronization-for-files-and-directories]]
-
-Default Synchronization for Files and Directories
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `--sync` option of the subcommands for starting an instance controls
-the type of synchronization between the DAS and the instance's files
-when the instance is started. You can use this option to override the
-default synchronization behavior for the files and directories of an
-instance. For more information, see link:#gksak[To Resynchronize an
-Instance and the DAS Online].
-
-On the DAS, the files and directories of an instance are stored in the
-domain-dir directory, where domain-dir is the directory in which a
-domain's configuration is stored. The default synchronization behavior
-for the files and directories of an instance is as follows:
-
-`applications`::
-  This directory contains a subdirectory for each application that is
-  deployed to the instance. +
-  By default, only a change to an application's top-level directory
-  within the application directory causes the DAS to synchronize that
-  application's directory. When the DAS resynchronizes the
-  `applications` directory, all the application's files and all
-  generated content that is related to the application are copied to the
-  instance. +
-  If a file below a top-level subdirectory is changed without a change
-  to a file in the top-level subdirectory, full synchronization is
-  required. In normal operation, files below the top-level
-  subdirectories of these directories are not changed and such files
-  should not be changed by users. If an application is deployed and
-  undeployed, full synchronization is not necessary to update the
-  instance with the change.
-`config`::
-  This directory contains configuration files for the entire domain. +
-  By default, the DAS resynchronizes files that have been modified since
-  the last resynchronization only if the `domain.xml` file in this
-  directory has been modified. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you add a file to the `config` directory of an instance, the file
-is deleted when the instance is resynchronized with the DAS. However,
-any file that you add to the `config` directory of the DAS is not
-deleted when instances and the DAS are resynchronized. By default, any
-file that you add to the `config` directory of the DAS is not
-resynchronized. If you require any additional configuration files to
-be resynchronized, you must specify the files explicitly. For more
-information, see link:#gksaz[To Resynchronize Additional Configuration
-Files].
-
-|=======================================================================
-
-`config`::
-`config/`config-name::
-  This directory contains files that are to be shared by all instances
-  that reference the named configuration config-name. A config-name
-  directory exists for each named configuration in the configuration of
-  the DAS. +
-  Because the config-name directory contains the subdirectories `lib`
-  and `docroot`, this directory might be very large. Therefore, by
-  default, only a change to a file or a top-level subdirectory of
-  config-name causes the DAS to resynchronize the config-name directory.
-`config/domain.xml`::
-  This file contains the DAS configuration for the domain to which the
-  instance belongs. +
-  By default, the DAS resynchronizes this file if it has been modified
-  since the last resynchronization. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-A change to the `config/domain.xml` file is required to cause the DAS
-to resynchronize an instance's files. If the `config/domain.xml` file
-has not changed since the last resynchronization, none of the
-instance's files is resynchronized, even if some of these files are
-out of date in the cache.
-
-|=======================================================================
-
-`docroot`::
-  This directory is the HTTP document root directory. By default, all
-  instances in a domain use the same document root directory. To enable
-  instances to use a different document root directory, a virtual server
-  must be created in which the `docroot` property is set. For more
-  information, see the link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`(1)] help
-  page. +
-  The `docroot` directory might be very large. Therefore, by default,
-  only a change to a file or a subdirectory in the top level of the
-  `docroot` directory causes the DAS to resynchronize the `docroot`
-  directory. The DAS checks files in the top level of the `docroot`
-  directory to ensure that changes to the `index.html` file are
-  detected. +
-  When the DAS resynchronizes the `docroot` directory, all modified
-  files and subdirectories at any level are copied to the instance. +
-  If a file below a top-level subdirectory is changed without a change
-  to a file in the top-level subdirectory, full synchronization is
-  required.
-`generated`::
-  This directory contains generated files for Java EE applications and
-  modules, for example, EJB stubs, compiled JSP classes, and security
-  policy files. Do not modify the contents of this directory. +
-  This directory is resynchronized when the `applications` directory is
-  resynchronized. Therefore, only directories for applications that are
-  deployed to the instance are resynchronized.
-`java-web-start`::
-  This directory is not resynchronized. It is created and populated as
-  required on each instance.
-`lib`::
-`lib/classes`::
-  These directories contain common Java class files or JAR archives and
-  ZIP archives for use by applications that are deployed to the entire
-  domain. Typically, these directories contain common JDBC drivers and
-  other utility libraries that are shared by all applications in the
-  domain. +
-  The contents of these directories are loaded by the common class
-  loader. For more information, see "link:../application-development-guide/class-loaders.html#GSDVG00342[Using the Common
-  Class Loader]" in GlassFish Server Open Source Edition Application
-  Development Guide. The class loader loads the contents of these
-  directories in the following order: +
-  1.  `lib/classes`
-  2.  `lib/*.jar`
-  3.  `lib/*.zip` +
-  The `lib` directory also contains the following subdirectories: +
-  `applibs`;;
-    This directory contains application-specific Java class files or JAR
-    archives and ZIP archives for use by applications that are deployed
-    to the entire domain.
-  `ext`;;
-    This directory contains optional packages in JAR archives and ZIP
-    archives for use by applications that are deployed to the entire
-    domain. These archive files are loaded by using Java extension
-    mechanism. For more information, see
-    http://download.oracle.com/javase/6/docs/technotes/guides/extensions/extensions.html[Optional
-    Packages - An Overview]
-    (`http://docs.oracle.com/javase/7/docs/technotes/guides/extensions/extensions.html`). +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Optional packages were formerly known as standard extensions or
-extensions.
-
-|=======================================================================
-
-  The `lib` directory and its subdirectories typically contain only a
-  small number of files. Therefore, by default, a change to any file in
-  these directories causes the DAS to resynchronize the file that
-  changed.
-
-[[gksak]][[GSHAG00119]][[to-resynchronize-an-instance-and-the-das-online]]
-
-To Resynchronize an Instance and the DAS Online
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Resynchronizing an instance and the DAS updates the instance with
-changes to the instance's configuration files on the DAS. An instance is
-resynchronized with the DAS when the instance is started or restarted.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Resynchronization of an instance is only required if the instance is
-stopped. A running instance does not require resynchronization.
-
-|=======================================================================
-
-
-1.  Ensure that the DAS is running.
-2.  Determine whether the instance is stopped. +
-[source,oac_no_warn]
-----
-asadmin> list-instances instance-name
-----
-instance-name::
-  The name of the instance that you are resynchronizing with the DAS. +
-If the instance is stopped, the `list-instances` subcommand indicates
-that the instance is not running.
-3.  If the instance is stopped, start the instance. +
-If the instance is running, no further action is required.
-* If DCOM or SSH is set up, start the instance centrally. +
-If you require full synchronization, set the `--sync` option of the
-`start-instance` subcommand to `full`. If default synchronization is
-sufficient, omit this option. +
-[source,oac_no_warn]
-----
-asadmin> start-instance [--sync full] instance-name
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for controlling the
-behavior of the instance, see the link:../reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
-help page.
-
-|=======================================================================
-
-instance-name::
-  The name of the instance that you are starting.
-* If neither DCOM nor SSH is set up, start the instance locally from the
-host where the instance resides. +
-If you require full synchronization, set the `--sync` option of the
-`start-local-instance` subcommand to `full`. If default synchronization
-is sufficient, omit this option. +
-[source,oac_no_warn]
-----
-$ asadmin start-local-instance [--node node-name] [--sync full] instance-name
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for controlling the
-behavior of the instance, see the
-link:../reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)] help page.
-
-|=======================================================================
-
-node-name::
-  The node on which the instance resides. If only one node is defined
-  for the GlassFish Server installation that you are running on the
-  node's host, you may omit this option.
-instance-name::
-  The name of the instance that you are starting.
-
-[[GSHAG00054]][[gksfu]]
-
-
-Example 5-16 Resynchronizing an Instance and the DAS Online
-
-This example determines that the instance `yml-i1` is stopped and fully
-resynchronizes the instance with the DAS. Because neither DCOM nor SSH
-is set up, the instance is started locally on the host where the
-instance resides. In this example, multiple nodes are defined for the
-GlassFish Server installation that is running on the node's host.
-
-To determine whether the instance is stopped, the following command is
-run in multimode on the DAS host:
-
-[source,oac_no_warn]
-----
-asadmin> list-instances yml-i1
-yml-i1   not running
-Command list-instances executed successfully.
-----
-
-To start the instance, the following command is run in single mode on
-the host where the instance resides:
-
-[source,oac_no_warn]
-----
-$ asadmin start-local-instance --node sj01 --sync full yml-i1
-Removing all cached state for instance yml-i1.
-Waiting for yml-i1 to start ...............
-Successfully started the instance: yml-i1
-instance Location: /export/glassfish3/glassfish/nodes/sj01/yml-i1
-Log File: /export/glassfish3/glassfish/nodes/sj01/yml-i1/logs/server.log
-Admin Port: 24849
-Command start-local-instance executed successfully.
-----
-
-[[GSHAG409]]
-
-See Also
-
-* link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-* link:../reference-manual/start-instance.html#GSRFM00236[`start-instance`(1)]
-* link:../reference-manual/start-local-instance.html#GSRFM00237[`start-local-instance`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line.
-
-`asadmin help list-instances`
-
-`asadmin help start-instance`
-
-`asadmin help start-local-instance`
-
-[[gksav]][[GSHAG00120]][[to-resynchronize-library-files]]
-
-To Resynchronize Library Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To ensure that library files are resynchronized correctly, you must
-ensure that each library file is placed in the correct directory for the
-type of file.
-
-1.  Place each library file in the correct location for the type of
-library file as shown in the following table. +
-[width="100%",cols="<53%,<47%",options="header",]
-|=======================================================================
-|Type of Library Files |Location
-|Common JAR archives and ZIP archives for all applications in a domain.
-|domain-dir`/lib`
-
-|Common Java class files for a domain for all applications in a domain.
-|domain-dir`/lib/classes`
-
-|Application-specific libraries. |domain-dir`/lib/applibs`
-
-|Optional packages for all applications in a domain.
-|domain-dir`/lib/ext`
-
-|Library files for all applications that are deployed to a specific
-cluster or standalone instance. |domain-dir`/config/`config-name`/lib`
-
-|Optional packages for all applications that are deployed to a specific
-cluster or standalone instance.
-|domain-dir`/config/`config-name`/lib/ext`
-|=======================================================================
-
-domain-dir::
-  The directory in which the domain's configuration is stored.
-config-name::
-  For a standalone instance: the named configuration that the instance
-  references. +
-  For a clustered instance: the named configuration that the cluster to
-  which the instance belongs references.
-2.  When you deploy an application that depends on these library files,
-use the `--libraries` option of the deploy subcommand to specify these
-dependencies. +
-For library files in the domain-dir`/lib/applib` directory, only the JAR
-file name is required, for example: +
-[source,oac_no_warn]
-----
-asadmin> deploy --libraries commons-coll.jar,X1.jar app.ear
-----
-For other types of library file, the full path is required.
-
-[[GSHAG411]]
-
-See Also
-
-link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the command `asadmin help deploy` at the command line.
-
-[[gksco]][[GSHAG00121]][[to-resynchronize-custom-configuration-files-for-an-instance]]
-
-To Resynchronize Custom Configuration Files for an Instance
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Configuration files in the domain-dir`/config` directory that are
-resynchronized are resynchronized for the entire domain. If you create a
-custom configuration file for an instance or a cluster, the custom file
-is resynchronized only for the instance or cluster.
-
-1.  Place the custom configuration file in the
-domain-dir`/config/`config-name directory.::
-domain-dir::
-  The directory in which the domain's configuration is stored.
-config-name::
-  The named configuration that the instance references.
-2.  If the instance locates the file through an option of the Java
-application launcher, update the option.
-1.  Delete the option. +
-[source,oac_no_warn]
-----
-asadmin> delete-jvm-options --target instance-name
-option-name=current-value
-----
-instance-name::
-  The name of the instance for which the custom configuration file is
-  created.
-option-name::
-  The name of the option for locating the file.
-current-value::
-  The current value of the option for locating the file.
-2.  Re-create the option that you deleted in the previous step. +
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options --target instance-name
-option-name=new-value
-----
-instance-name::
-  The name of the instance for which the custom configuration file is
-  created.
-option-name::
-  The name of the option for locating the file.
-new-value::
-  The new value of the option for locating the file.
-
-[[GSHAG00055]][[gksfr]]
-
-
-Example 5-17 Updating the Option for Locating a Configuration File
-
-This example updates the option for locating the `server.policy` file to
-specify a custom file for the instance `pmd`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jvm-options --target pmd
--Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy
-Deleted 1 option(s)
-Command delete-jvm-options executed successfully.
-asadmin> create-jvm-options --target pmd
--Djava.security.policy=${com.sun.aas.instanceRoot}/config/pmd-config/server.policy
-Created 1 option(s)
-Command create-jvm-options executed successfully.
-----
-
-[[GSHAG412]]
-
-See Also
-
-* link:../reference-manual/create-jvm-options.html#GSRFM00042[`create-jvm-options`(1)]
-* link:../reference-manual/delete-jvm-options.html#GSRFM00094[`delete-jvm-options`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line.
-
-`asadmin help create-jvm-options`
-
-`asadmin help delete-jvm-options`
-
-[[gkscp]][[GSHAG00122]][[to-resynchronize-users-changes-to-files]]
-
-To Resynchronize Users' Changes to Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A change to the `config/domain.xml` file is required to cause the DAS to
-resynchronize instances' files. If other files in the domain directory
-are changed without a change to the `config/domain.xml` file, instances
-are not resynchronized with these changes.
-
-The following changes are examples of changes to the domain directory
-without a change to the `config/domain.xml` file:
-
-* Adding files to the `lib` directory
-* Adding certificates to the key store by using the `keytool` command
-
-1.  Change the last modified time of the `config/domain.xml` file. +
-Exactly how to change the last modified time depends on the operating
-system. For example, on UNIX and Linux systems, you can use the
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1touch-1[`touch`(1)]
-command.
-2.  Resynchronize each instance in the domain with the DAS. +
-For instructions, see link:#gksak[To Resynchronize an Instance and the
-DAS Online].
-
-[[GSHAG413]]
-
-See Also
-
-* link:#gksak[To Resynchronize an Instance and the DAS Online]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1touch-1[`touch`(1)]
-
-[[gksaz]][[GSHAG00123]][[to-resynchronize-additional-configuration-files]]
-
-To Resynchronize Additional Configuration Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, GlassFish Server synchronizes only the following
-configuration files:
-
-* `admin-keyfile`
-* `cacerts.jks`
-* `default-web.xml`
-* `domain.xml`
-* `domain-passwords`
-* `keyfile`
-* `keystore.jks`
-* `server.policy`
-* `sun-acc.xml`
-* `wss-server-config-1.0`
-* `xml wss-server-config-2.0.xml`
-
-If you require instances in a domain to be resynchronized with
-additional configuration files for the domain, you can specify a list of
-files to resynchronize.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-If you specify a list of files to resynchronize, you must specify all
-the files that the instances require, including the files that GlassFish
-Server resynchronizes by default. Any file in the instance's cache that
-is not in the list is deleted when the instance is resynchronized with
-the DAS.
-
-|=======================================================================
-
-
-In the `config` directory of the domain, create a plain text file that
-is named `config-files` that lists the files to resynchronize.
-
-In the `config-files` file, list each file name on a separate line.
-
-[[GSHAG00056]][[gksgl]]
-
-
-Example 5-18 `config-files` File
-
-This example shows the content of a `config-files` file. This file
-specifies that the `some-other-info` file is to be resynchronized in
-addition to the files that GlassFish Server resynchronizes by default:
-
-[source,oac_no_warn]
-----
-admin-keyfile
-cacerts.jks
-default-web.xml
-domain.xml
-domain-passwords
-keyfile
-keystore.jks
-server.policy
-sun-acc.xml
-wss-server-config-1.0.xml
-wss-server-config-2.0.xml
-some-other-info
-----
-
-[[gksdj]][[GSHAG00124]][[to-prevent-deletion-of-application-generated-files]]
-
-To Prevent Deletion of Application-Generated Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When the DAS resynchronizes an instance's files, the DAS deletes from
-the instance's cache any files that are not listed for
-resynchronization. If an application creates files in a directory that
-the DAS resynchronizes, these files are deleted when the DAS
-resynchronizes an instance with the DAS.
-
-Put the files in a subdirectory under the domain directory that is not
-defined by GlassFish Server, for example,
-`/export/glassfish3/glassfish/domains/domain1/myapp/myfile`.
-
-[[gksdy]][[GSHAG00125]][[to-resynchronize-an-instance-and-the-das-offline]]
-
-To Resynchronize an Instance and the DAS Offline
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Resynchronizing an instance and the DAS offline updates the instance's
-cache without the need for the instance to be able to communicate with
-the DAS. Offline resynchronization is typically required for the
-following reasons:
-
-* To reestablish the instance after an upgrade
-* To synchronize the instance manually with the DAS when the instance
-cannot contact the DAS
-
-1.  Ensure that the DAS is running.
-2.  [[gktio]]
-Export the configuration data that you are resynchronizing to an archive
-file.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for exporting the
-configuration data, see the link:../reference-manual/export-sync-bundle.html#GSRFM00134[`export-sync-bundle`(1)]
-help page.
-
-|=======================================================================
-
-
-How to export the data depends on the host from where you run the
-`export-sync-bundle` subcommand.
-
-* From the DAS host, run the `export-sync-bundle` subcommand as follows: +
-[source,oac_no_warn]
-----
-asadmin> export-sync-bundle --target target
-----
-target::
-  The cluster or standalone instance for which to export configuration
-  data. +
-  Do not specify a clustered instance. If you specify a clustered
-  instance, an error occurs. To export configuration data for a
-  clustered instance, specify the name of the cluster of which the
-  instance is a member, not the instance. +
-The file is created on the DAS host.
-* From the host where the instance resides, run the `export-sync-bundle`
-subcommand as follows: +
-[source,oac_no_warn]
-----
-$ asadmin --host das-host [--port admin-port]
-export-sync-bundle [--retrieve=true] --target target
-----
-das-host::
-  The name of the host where the DAS is running.
-admin-port::
-  The HTTP or HTTPS port on which the DAS listens for administration
-  requests. If the DAS listens on the default port for administration
-  requests, you may omit this option.
-target::
-  The cluster or standalone instance for which to export configuration
-  data. +
-  Do not specify a clustered instance. If you specify a clustered
-  instance, an error occurs. To export configuration data for a
-  clustered instance, specify the name of the cluster of which the
-  instance is a member, not the instance. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To create the archive file on the host where the instance resides, set
-the `--retrieve` option to `true`. If you omit this option, the archive
-file is created on the DAS host.
-
-|=======================================================================
-
-3.  If necessary, copy the archive file that you created in
-Step link:#gktio[2] from the DAS host to the host where the instance
-resides.
-4.  From the host where the instance resides, import the instance's
-configuration data from the archive file that you created in
-Step link:#gktio[2]. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for importing the
-configuration data, see the link:../reference-manual/import-sync-bundle.html#GSRFM00142[`import-sync-bundle`(1)]
-help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-$ asadmin import-sync-bundle [--node node-name] --instance instance-name archive-file
-----
-node-name::
-  The node on which the instance resides. If you omit this option, the
-  subcommand determines the node from the DAS configuration in the
-  archive file.
-instance-name::
-  The name of the instance that you are resynchronizing.
-archive-file::
-  The name of the file, including the path, that contains the archive
-  file to import.
-
-[[GSHAG00057]][[gksgg]]
-
-
-Example 5-19 Resynchronizing an Instance and the DAS Offline
-
-This example resynchronizes the clustered instance `yml-i1` and the DAS
-offline. The instance is a member of the cluster `ymlcluster`. The
-archive file that contains the instance's configuration data is created
-on the host where the instance resides.
-
-[source,oac_no_warn]
-----
-$ asadmin --host dashost.example.com
-export-sync-bundle --retrieve=true --target ymlcluster
-Command export-sync-bundle executed successfully.
-$ asadmin import-sync-bundle --node sj01
---instance yml-i1 ymlcluster-sync-bundle.zip
-Command import-sync-bundle executed successfully.
-----
-
-[[GSHAG414]]
-
-See Also
-
-* link:../reference-manual/export-sync-bundle.html#GSRFM00134[`export-sync-bundle`(1)]
-* link:../reference-manual/import-sync-bundle.html#GSRFM00142[`import-sync-bundle`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line.
-
-`asadmin help export-sync-bundle`
-
-`asadmin help import-sync-bundle`
-
-[[gkqcr]][[GSHAG00190]][[migrating-ejb-timers]]
-
-Migrating EJB Timers
-~~~~~~~~~~~~~~~~~~~~
-
-If a GlassFish Server server instance stops or fails abnormally, it may
-be desirable to migrate the EJB timers defined for that stopped server
-instance to another running server instance.
-
-Automatic timer migration is enabled by default for clustered server
-instances that are stopped normally. Automatic timer migration can also
-be enabled to handle clustered server instance crashes. In addition,
-timers can be migrated manually for stopped or crashed server instances.
-
-* link:#gkvwo[To Enable Automatic EJB Timer Migration for Failed
-Clustered Instances]
-* link:#abdji[To Migrate EJB Timers Manually]
-
-[[gkvwo]][[GSHAG00126]][[to-enable-automatic-ejb-timer-migration-for-failed-clustered-instances]]
-
-To Enable Automatic EJB Timer Migration for Failed Clustered Instances
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Automatic migration of EJB timers is enabled by default for clustered
-server instances that are stopped normally. If the Group Management
-Service (GMS) is enabled and a clustered instance is stopped normally,
-no further action is required for timer migration to occur. The
-procedure in this section is only necessary if you want to enable
-automatic timer migration for clustered server instances that have
-stopped abnormally.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If the GMS is enabled, the default automatic timer migration cannot be
-disabled. To disable automatic timer migration, you must first disable
-the GMS. For information about the GMS, see
-link:clusters.html#gjfnl[Group Management Service].
-
-|=======================================================================
-
-
-[[GSHAG415]]
-
-Before You Begin
-
-Automatic EJB timer migration can only be configured for clustered
-server instances. Automatic timer migration is not possible for
-standalone server instances.
-
-Enable delegated transaction recovery for the cluster.
-
-This enables automatic timer migration for failed server instances in
-the cluster.
-
-For instructions on enabling delegated transaction recovery, see
-"link:../administration-guide/transactions.html#GSADG00022[Administering Transactions]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[abdji]][[GSHAG00127]][[to-migrate-ejb-timers-manually]]
-
-To Migrate EJB Timers Manually
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-EJB timers can be migrated manually from a stopped source instance to a
-specified target instance in the same cluster if GMS notification is not
-enabled. If no target instance is specified, the DAS will attempt to
-find a suitable server instance. A migration notification will then be
-sent to the selected target server instance.
-
-Note the following restrictions:
-
-* If the source instance is part of a cluster, then the target instance
-must also be part of that same cluster.
-* It is not possible to migrate timers from a standalone instance to a
-clustered instance, or from one cluster to another cluster.
-* It is not possible to migrate timers from one standalone instance to
-another standalone instance.
-* All EJB timers defined for a given instance are migrated with this
-procedure. It is not possible to migrate individual timers.
-
-[[GSHAG416]]
-
-Before You Begin
-
-The server instance from which the EJB timers are to be migrated should
-not be active during the migration process.
-
-1.  Verify that the source clustered server instance from which the EJB
-timers are to be migrated is not currently running. +
-[source,oac_no_warn]
-----
-asadmin> list-instances source-instance
-----
-2.  Stop the instance from which the timers are to be migrated, if that
-instance is still running. +
-[source,oac_no_warn]
-----
-asadmin> stop-instance source-instance
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The target instance to which the timers will be migrated should be
-running.
-
-|=======================================================================
-
-3.  List the currently defined EJB timers on the source instance, if
-desired. +
-[source,oac_no_warn]
-----
-asadmin> list-timers source-cluster
-----
-4.  Migrate the timers from the stopped source instance to the target
-instance. +
-[source,oac_no_warn]
-----
-asadmin> migrate-timers --target target-instance source-instance
-----
-
-[[GSHAG00058]][[gkmgw]]
-
-
-Example 5-20 Migrating an EJB Timer
-
-The following example show how to migrate timers from a clustered source
-instance named `football` to a clustered target instance named `soccer`.
-
-[source,oac_no_warn]
-----
-asadmin> migrate-timers --target soccer football
-----
-
-[[GSHAG417]]
-
-See Also
-
-link:../reference-manual/list-timers.html#GSRFM00205[`list-timers`(1)],
-link:../reference-manual/migrate-timers.html#GSRFM00211[`migrate-timers`(1)],
-link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)],
-link:../reference-manual/stop-instance.html#GSRFM00241[`stop-instance`(1)]
diff --git a/docs/ha-administration-guide/src/main/jbake/content/jms.adoc b/docs/ha-administration-guide/src/main/jbake/content/jms.adoc
deleted file mode 100644
index 0f04751..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/jms.adoc
+++ /dev/null
@@ -1,547 +0,0 @@
-type=page
-status=published
-title=Configuring Java Message Service High Availability
-next=rmi-iiop.html
-prev=session-persistence-and-failover.html
-~~~~~~
-Configuring Java Message Service High Availability
-==================================================
-
-[[GSHAG00012]][[abdbk]]
-
-
-[[configuring-java-message-service-high-availability]]
-10 Configuring Java Message Service High Availability
------------------------------------------------------
-
-This chapter describes how to configure the high availability features
-of the Java Message Service (JMS). It covers how to configure Message
-Queue broker clusters and how to use them to provide connection failover
-and load balancing, as described in the following topics:
-
-* link:#abdbx[Using Message Queue Broker Clusters With GlassFish Server]
-* link:#abdbv[Connection Failover]
-* link:#abdbw[Load-Balanced Delivery to MDBs]
-
-[[abdbx]][[GSHAG00212]][[using-message-queue-broker-clusters-with-glassfish-server]]
-
-Using Message Queue Broker Clusters With GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how the JMS service uses Message Queue broker
-clusters to support high-availability JMS messaging in GlassFish Server
-clusters. It describes the different cluster and broker types that are
-supported and how to configure them.
-
-The following topics are addressed here:
-
-* link:#gktgs[About Message Queue Broker Clusters]
-* link:#gktft[Configuring GlassFish Clusters to Use Message Queue Broker
-Clusters]
-* link:#gktge[To Configure a GlassFish Cluster to Use an Embedded or
-Local Conventional Broker Cluster With Master Broker]
-* link:#gktfr[To Configure a GlassFish Cluster to Use an Embedded or
-Local Conventional Broker Cluster of Peer Brokers]
-* link:#gkthc[To Change the Master Broker in an Embedded or Local Broker
-Cluster]
-* link:#gktgj[To Migrate Between Types of Embedded or Local Conventional
-Broker Clusters]
-* link:#gktfl[To Configure a GlassFish Cluster to Use a Local Enhanced
-Broker Cluster]
-* link:#abdby[To Configure a GlassFish Cluster to Use a Remote Broker
-Cluster]
-
-[[gktgs]][[GSHAG00311]][[about-message-queue-broker-clusters]]
-
-About Message Queue Broker Clusters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following discussion provides a brief overview of Message Queue
-broker clusters. For complete information, see "link:../../openmq/mq-tech-over/broker-clusters.html#GMTOV00028[Broker
-Clusters]" in Open Message Queue Technical Overview.
-
-Message Queue supports two clustering models both of which provide a
-scalable message service, but with each providing a different level of
-message service availability:
-
-* Conventional broker clusters. A conventional broker cluster provides
-for service availability. When a broker fails, clients connected to the
-failed broker reconnect to another broker in the cluster. However,
-messages and state information stored in the failed broker cannot be
-recovered until the failed broker is brought back online. The broker
-failure can therefore result in a significant delay and in JMS message
-order semantics not being preserved. +
-Message Queue supports two types of conventional cluster, based on where
-the cluster configuration change record is stored:
-
-** Conventional cluster with master broker. In a conventional cluster
-with a master broker, one of the brokers, designated as the master
-broker, stores and maintains the cluster configuration change record.
-The other brokers in the cluster must communicate with the master broker
-to keep abreast of changes to the cluster configuration. This is the
-simplest broker cluster to configure, and is the type of broker cluster
-that GlassFish Server uses by default to support GlassFish clusters.
-
-** Conventional cluster of peer brokers. In a conventional cluster of
-peer brokers, the cluster configuration change record is stored in a
-JDBC data store accessible to all the brokers. Thus, brokers can access
-cluster configuration information whether any other brokers in the
-cluster are running or not.
-* Enhanced broker clusters. An enhanced broker cluster provides for data
-availability in addition to service availability. When a broker fails,
-another broker takes over the pending work of the failed broker. The
-failover broker has access to the failed broker's messages and state
-information. Clients connected to the failed broker reconnect to the
-failover broker. In an enhanced cluster, as compared to a conventional
-cluster, messages owned by the failed broker are delivered by the
-failover broker as soon as it takes over, and JMS message order
-semantics are preserved. +
-By its very nature, an enhanced broker cluster is a cluster of peer
-brokers.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Despite the message service availability offered by both conventional
-and enhanced broker clusters, they do not provide a guarantee against
-failure and the possibility that certain failures, for example in the
-middle of a transaction, could require that some operations be repeated.
-It is the responsibility of the messaging application (both producers
-and consumers) to respond to JMS exceptions appropriately. For
-information about the kinds of exceptions that can occur and how to
-respond to them, see "link:../../openmq/mq-dev-guide-java/client-design-and-features.html#GMJVG00229[Handling Exceptions When Failover
-Occurs]" in Open Message Queue Developer's Guide for Java Clients.
-
-|=======================================================================
-
-
-[[gktft]][[GSHAG00312]][[configuring-glassfish-clusters-to-use-message-queue-broker-clusters]]
-
-Configuring GlassFish Clusters to Use Message Queue Broker Clusters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When a GlassFish Server cluster is created, the JMS service
-automatically configures a Message Queue conventional broker cluster
-with master broker for the cluster, provided that the JMS host type in
-the GlassFish Server cluster's configuration is Embedded or Local. The
-JMS service configures one Message Queue broker for each instance in the
-GlassFish Server cluster, and designates as master broker the broker
-associated with the first instance created in the cluster. In the case
-of Local JMS hosts, the JMS service configures each broker to run on the
-same host as the instance with which it is associated. In the case of
-Embedded JMS hosts, the each broker inherently runs on the same host as
-the instance with which it is associated because it runs in the same JVM
-as the instance.
-
-The JMS service manages the lifecycle of Embedded and Local JMS hosts,
-and this management extends to the management of Message Queue broker
-clusters as Embedded and Local JMS hosts. For a GlassFish cluster whose
-configuration specifies Embedded or Local JMS host type, the JMS
-service:
-
-* Creates and manages one Message Queue broker for each instance in the
-GlassFish cluster, using this broker as the primary JMS host for the
-instance.
-* Maintains the JMS host list for each instance in the GlassFish cluster
-such that its primary JMS host appears first in its JMS host list.
-
-The JMS service supports the following types of Message Queue broker
-clusters with GlassFish Server clusters, based on the JMS host type:
-
-Embedded::
-  * Conventional broker cluster with master broker (default)
-  * Conventional broker cluster of peer brokers
-Local::
-  * Conventional broker cluster with master broker (default)
-  * Conventional broker cluster of peer brokers
-  * Enhanced broker cluster
-Remote::
-  * Conventional broker cluster with master broker; brokers can differ
-  in number from GlassFish instances and can be located on other hosts
-  * Conventional broker cluster of peer brokers; brokers can differ in
-  number from GlassFish instances and can be located on other hosts
-  * Enhanced broker cluster; brokers can differ in number from GlassFish
-  instances and can be located on other hosts
-
-The following topics provide instructions for configuring broker
-clusters in all these contexts.
-
-[[gktge]][[GSHAG00155]][[to-configure-a-glassfish-cluster-to-use-an-embedded-or-local-conventional-broker-cluster-with-master-broker]]
-
-To Configure a GlassFish Cluster to Use an Embedded or Local
-Conventional Broker Cluster With Master Broker
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `configure-jms-cluster` subcommand in remote `asadmin` mode to
-configure a conventional broker cluster with master broker to service a
-GlassFish Server cluster that uses either Embedded or Local JMS hosts.
-
-Note that this configuration, with Embedded brokers, is the default for
-GlassFish Server clusters.
-
-[[GSHAG431]]
-
-Before You Begin
-
-Perform the following steps after you have created the GlassFish Server
-cluster, but before you have added instances to the cluster or started
-the cluster.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-Before using this procedure to reconfigure an existing cluster, you must
-follow the special procedures to migrate to another type of broker
-cluster, as described in link:#gktgj[To Migrate Between Types of
-Embedded or Local Conventional Broker Clusters]. Failing to perform
-these special procedures could lead to data loss or corruption and even
-render your setup unusable, depending on the JMS operations performed on
-the existing cluster.
-
-|=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Configure the GlassFish Server cluster to use a Message Queue
-conventional broker cluster with master broker by using the
-link:../reference-manual/configure-jms-cluster.html#GSRFM00008[`configure-jms-cluster`] subcommand: +
-[source,oac_no_warn]
-----
-> asadmin configure-jms-cluster --clustertype=conventional
---configstoretype=masterbroker glassfish-cluster-name
-----
-
-[[GSHAG432]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help configure-jms-cluster` at the command line.
-
-[[gktfr]][[GSHAG00156]][[to-configure-a-glassfish-cluster-to-use-an-embedded-or-local-conventional-broker-cluster-of-peer-brokers]]
-
-To Configure a GlassFish Cluster to Use an Embedded or Local
-Conventional Broker Cluster of Peer Brokers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `configure-jms-cluster` subcommand in remote `asadmin` mode to
-configure a conventional broker cluster of peer brokers to service a
-GlassFish Server cluster that uses Embedded or Local JMS hosts.
-
-[[GSHAG433]]
-
-Before You Begin
-
-Perform the following steps after you have created the GlassFish Server
-cluster, but before you have added instances to the cluster or started
-the cluster.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-Before using this procedure to reconfigure an existing cluster, you must
-follow the special procedures to migrate to another type of broker
-cluster, as described in link:#gktgj[To Migrate Between Types of
-Embedded or Local Conventional Broker Clusters]. Failing to perform
-these special procedures could lead to data loss or corruption and even
-render your setup unusable, depending on the JMS operations performed on
-the existing cluster.
-
-|=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Create a password file with the entry `AS_ADMIN_JMSDBPASSWORD`
-specifying the password of the database user. +
-For information about password file entries, see the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
-3.  Place a copy of, or a link to, the database's JDBC driver `.jar`
-file in the appropriate directory, depending on the JMS host type, on
-each host where a GlassFish Server cluster instance is to run:
-* Embedded: as-install-parent`/glassfish/lib/install/applications/jmsra`
-* Local: as-install-parent`/mq/lib/ext`
-4.  Configure the GlassFish Server cluster to use a Message Queue
-conventional broker cluster with master broker by using the
-link:../reference-manual/configure-jms-cluster.html#GSRFM00008[`configure-jms-cluster`] subcommand: +
-[source,oac_no_warn]
-----
-> asadmin --passwordfile password-file configure-jms-cluster --clustertype=conventional
---configstoretype=shareddb --dbvendor database-vendor-name --dbuser database-user-name
---dburl database-url --property list-of-database-specific-properties glassfish-cluster-name
-----
-
-[[GSHAG434]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help configure-jms-cluster` at the command line.
-
-[[gkthc]][[GSHAG00157]][[to-change-the-master-broker-in-an-embedded-or-local-broker-cluster]]
-
-To Change the Master Broker in an Embedded or Local Broker Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `change-master-broker` subcommand in remote `asadmin` mode to
-change the master broker to a different broker in a conventional broker
-cluster with master broker serving a GlassFish Server cluster that uses
-Embedded or Local JMS hosts.
-
-Follow this procedure, for example, before you remove from a GlassFish
-cluster the instance associated with the current master broker.
-
-[[GSHAG435]]
-
-Before You Begin
-
-Although not an absolute requirement, you should make sure all GlassFish
-instances and Message Queue brokers in the cluster are running before
-using the `change-master-broker` command in order to avoid later
-internal configuration synchronization of any unavailable instance or
-broker.
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Change the master broker by using the
-link:../reference-manual/change-master-broker.html#GSRFM00005[`change-master-broker`] subcommand: +
-[source,oac_no_warn]
-----
-> asadmin change-master-broker glassfish-clustered-instance-name
-----
-
-[[GSHAG436]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help change-master-broker` at the command line.
-
-[[gktgj]][[GSHAG00158]][[to-migrate-between-types-of-embedded-or-local-conventional-broker-clusters]]
-
-To Migrate Between Types of Embedded or Local Conventional Broker
-Clusters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If the need arises to convert from a conventional broker cluster with
-master broker to a conventional broker cluster of peer brokers, or the
-reverse, follow the instructions in "link:../../openmq/mq-admin-guide/broker-clusters.html#GMADG00563[Managing
-Conventional Clusters]" in Open Message Queue Administration Guide.
-
-[[gktfl]][[GSHAG00159]][[to-configure-a-glassfish-cluster-to-use-a-local-enhanced-broker-cluster]]
-
-To Configure a GlassFish Cluster to Use a Local Enhanced Broker Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `configure-jms-cluster` subcommand in remote `asadmin` mode to
-configure an enhanced broker cluster to service a GlassFish Server
-cluster that uses Local JMS hosts.
-
-[[GSHAG437]]
-
-Before You Begin
-
-Perform the following steps after you have created the GlassFish Server
-cluster, but before you have added instances to the cluster or started
-the cluster.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-Before using this procedure to reconfigure an existing cluster, you must
-follow the special procedures to migrate from a conventional broker
-cluster to an enhanced broker cluster, as described in
-"link:../../openmq/mq-admin-guide/broker-clusters.html#GMADG00565[Converting a Conventional Cluster to an Enhanced
-Cluster]" in Open Message Queue Administration Guide. Failing to perform
-these special procedures could lead to data loss or corruption and even
-render your setup unusable, depending on the JMS operations performed on
-the existing cluster.
-
-|=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote `asadmin` subcommands require a running server.
-2.  Create a password file with the entry `AS_ADMIN_JMSDBPASSWORD`
-specifying the password of the database user. +
-For information about password file entries, see the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
-3.  Place a copy of, or a link to, the database's JDBC driver `.jar`
-file in the as-install-parent`/mq/lib/ext` directory on each host where
-a GlassFish Server cluster instance is to run.
-4.  Configure the GlassFish Server cluster to use a Message Queue
-enhanced broker cluster by using the
-link:../reference-manual/configure-jms-cluster.html#GSRFM00008[`configure-jms-cluster`] subcommand: +
-[source,oac_no_warn]
-----
-> asadmin --passwordfile password-file configure-jms-cluster --clustertype=enhanced
---configstoretype=shareddb --messagestoretype=jdbc
---dbvendor database-vendor-name --dbuser database-user-name --dburl database-url
---property list-of-database-specific-properties glassfish-cluster-name
-----
-
-[[GSHAG438]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help configure-jms-cluster` at the command line.
-
-[[abdby]][[GSHAG00160]][[to-configure-a-glassfish-cluster-to-use-a-remote-broker-cluster]]
-
-To Configure a GlassFish Cluster to Use a Remote Broker Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[GSHAG439]]
-
-Before You Begin
-
-Perform the following steps after you have:
-
-* Used Message Queue to create a broker cluster.
-* Created the GlassFish Server cluster, but not yet created instances
-for the cluster.
-
-1.  Ensure that the server is running. +
-The remote subcommands used in this procedure require a running server.
-2.  Delete the `default_JMS_host` JMS host by using the
-link:../reference-manual/delete-jms-host.html#GSRFM00091[`delete-jms-host`] subcommand: +
-[source,oac_no_warn]
-----
-> asadmin delete-jms-host --target glassfish-cluster-name default_JMS_host
-----
-3.  Create a JMS host for each broker in the broker cluster by using the
-link:../reference-manual/create-jms-host.html#GSRFM00039[`create-jms-host`] subcommand. +
-For each broker, use an `asadmin create-jms-host` of the form: +
-[source,oac_no_warn]
-----
-> asadmin create-jms-host --target glassfish-cluster-name --mqhost broker-host
---mqport broker-port --mquser mq-user --mqpassword mq-user-password
-jms-host-name-for-broker
-----
-4.  Start the brokers in the cluster by using the Message Queue
-`imqbrokerd` command, as described in "link:../../openmq/mq-admin-guide/broker-clusters.html#GMADG00254[Managing Broker
-Clusters]" in Open Message Queue Administration Guide.
-5.  Create instances in the GlassFish Server cluster, as described in
-link:instances.html#gkqch[To Create an Instance Centrally] and
-link:instances.html#gkqbl[To Create an Instance Locally].
-
-[[abdbv]][[GSHAG00213]][[connection-failover]]
-
-Connection Failover
-~~~~~~~~~~~~~~~~~~~
-
-The use of Message Queue broker clusters provides JMS connection
-failover, including several options that control how connection failures
-are handled.
-
-Use the Administration Console's Java Message Service page to configure
-these options. To display this page, click the configuration for the
-GlassFish cluster or instance in the navigation pane, and then click the
-Java Message Service link on the Configuration page.
-
-The way in which connection failover operates depends on whether the
-broker cluster is configured to be conventional or enhanced:
-
-* In a conventional cluster, when a broker fails, clients may reconnect
-to any other broker in the cluster. The Reconnect field specifies
-whether reconnection should take place, and the Address List Behavior
-and Address List Iterations fields specify how the client chooses what
-broker to fail over to.
-* In an enhanced cluster, when a broker fails, another broker
-automatically takes over its messages and clients. Clients automatically
-fail over to the appropriate broker. The Reconnect, Address List
-Behavior and Address List Iterations fields are ignored.
-
-For more information on connection failover, including how failover on
-conventional clusters differs from failover on enhanced clusters, see
-"link:../../openmq/mq-admin-guide/administered-objects.html#GMADG00087[Automatic Reconnection]" in Open Message Queue
-Administration Guide.
-
-Reconnect::
-  Applies only to conventional clusters. Enables reconnection and
-  connection failover. When disabled, the Java Message Service does not
-  attempt to reconnect if a connection fails.
-Reconnect Interval::
-  Specifies the number of seconds between reconnection attempts. If it
-  is too short, this time interval does not give a broker time to
-  recover. If it is too long, the wait time might represent an
-  unacceptable delay. The default value is 5 seconds.
-Reconnect Attempts::
-  Specifies the number of attempts to connect (or reconnect) to a
-  particular JMS host before trying another host in the JMS host list.
-  The host list is also known as the Address List. Hosts are chosen from
-  the address list either in order or randomly, depending on the setting
-  of Address List Behavior.
-Address List Behavior::
-  For conventional clusters, this field specifies how the Java Message
-  Service selects which JMS host in the JMS hosts list to initially
-  connect to, and if the broker fails, how the Java Message Service
-  selects which JMS host in the JMS hosts list to fail over to. +
-  For enhanced clusters, this field specifies how the Java Message
-  Service selects which JMS host in the JMS hosts list to initially
-  connect to. +
-  When performing initial connection or, for conventional clusters only,
-  when performing failover, then if this attribute is set to Priority,
-  the Java Message Service tries to connect to the first JMS host
-  specified in the JMS hosts list and uses another one only if the first
-  one is not available. If this attribute is set to Random, the Java
-  Message Service selects the JMS host randomly from the JMS hosts list.
-  If that host is not available, another one is chosen randomly. +
-  The default for Embedded and Local JMS host types is Priority, and the
-  default for the Remote JMS host type is Random. +
-  For Embedded and Local JMS host types, the Java Message Service
-  ensures that the Message Queue broker servicing a clustered instance
-  appears first in that instance's JMS host list. +
-  Thus, having Priority as the default Address List Behavior ensures
-  that an application deployed to a clustered instance will always try
-  to create its initial connection to that instance's co-located broker. +
-  If there are many clients attempting a connection using the same
-  connection factory, use the Random setting to prevent them from all
-  attempting to create their initial connection to the same JMS host.
-Address List Iterations::
-  For conventional clusters, this field specifies the number of times
-  the Java Message Service iterates through the JMS hosts list in an
-  effort to establish its initial connection. If the broker fails, this
-  field specifies the number of times the Java Message Service iterates
-  through the JMS hosts list in an effort to fail over to another
-  broker. +
-  For enhanced clusters, this field specifies the number of times the
-  Java Message Service iterates through the JMS hosts list in an effort
-  to establish its initial connection. If the broker fails, this field
-  is not used when performing reconnection.
-
-You can override these settings using JMS connection factory settings.
-For details, see "link:../administration-guide/jms.html#GSADG00598[Administering JMS Connection
-Factories and Destinations]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-[[abdbw]][[GSHAG00214]][[load-balanced-delivery-to-mdbs]]
-
-Load-Balanced Delivery to MDBs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When a message-driven bean (MDB) application is deployed to a GlassFish
-cluster, incoming messages are delivered randomly to MDBs without regard
-to the cluster instances in which they are running.
-
-If the MDB is configured to receive messages from a durable or
-non-durable subscription on a topic, then only one MDB instance across
-the whole GlassFish cluster will receive each message.
-
-For more information about these features, see "link:../../openmq/mq-admin-guide/jmsra-properties.html#GMADG00300[About
-Shared Topic Subscriptions for Clustered Containers]" in Open Message
-Queue Administration Guide.
diff --git a/docs/ha-administration-guide/src/main/jbake/content/loe.adoc b/docs/ha-administration-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index a3fc408..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,131 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=title.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:ssh-setup.html#sthref7[2-1 Creating an Alias for the Windows
-User's Password]
-* link:ssh-setup.html#sthref8[2-2 Testing the Connection Over DCOM to a
-Remote Host]
-* link:ssh-setup.html#gksnj[2-3 Setting the Home Directory for the MKS
-Toolkit User]
-* link:ssh-setup.html#gkspo[2-4 Determining if the sshd Daemon Is Running
-on an Oracle Solaris System]
-* link:ssh-setup.html#gkssf[2-5 Determining if the sshd Daemon Is Running
-on a Linux System]
-* link:ssh-setup.html#gktat[2-6 Setting Up Public Key Authentication
-Without Encryption]
-* link:ssh-setup.html#gktav[2-7 Setting Up Encrypted Public Key
-Authentication]
-* link:ssh-setup.html#gktba[2-8 Creating an Alias for the SSH User's
-Password]
-* link:ssh-setup.html#sthref9[2-9 Copying a GlassFish Server Installation
-to Multiple DCOM-Enabled Hosts]
-* link:ssh-setup.html#sthref10[2-10 Copying a GlassFish Server
-Installation to Multiple SSH-Enabled Hosts]
-* link:ssh-setup.html#sthref11[2-11 Removing GlassFish Server Software
-From Multiple DCO\M-Enabled Hosts]
-* link:ssh-setup.html#sthref12[2-12 Removing GlassFish Server Software
-From Multiple SSH-Enabled Hosts]
-* link:nodes.html#sthref13[3-1 Creating a DCOM Node]
-* link:nodes.html#sthref14[3-2 Listing Basic Information About All DCOM
-Nodes in a Domain]
-* link:nodes.html#sthref15[3-3 Listing Detailed Information About All
-DCOM Nodes in a Domain]
-* link:nodes.html#sthref16[3-4 Testing if a DCOM Node Is Reachable]
-* link:nodes.html#sthref17[3-5 Deleting a DCOM Node]
-* link:nodes.html#gksih[3-6 Creating an SSH Node]
-* link:nodes.html#gkskt[3-7 Listing Basic Information About All SSH Nodes
-in a Domain]
-* link:nodes.html#gkske[3-8 Listing Detailed Information About All SSH
-Nodes in a Domain]
-* link:nodes.html#gkshk[3-9 Testing if an SSH Node Is Reachable]
-* link:nodes.html#gksjg[3-10 Deleting an SSH Node]
-* link:nodes.html#gkshu[3-11 Creating a CONFIG Node]
-* link:nodes.html#gkskp[3-12 Listing Basic Information About All CONFIG
-Nodes in a Domain]
-* link:nodes.html#gksjs[3-13 Listing Detailed Information About All
-CONFIG Nodes in a Domain]
-* link:nodes.html#gksla[3-14 Deleting a CONFIG Node]
-* link:nodes.html#sthref18[3-15 Updating a DCOM Node]
-* link:nodes.html#gkslc[3-16 Updating an SSH Node]
-* link:nodes.html#gkskc[3-17 Updating a CONFIG Node]
-* link:nodes.html#gkshw[3-18 Changing a CONFIG Node to an SSH Node]
-* link:clusters.html#gklgw[4-1 Checking the Health of Instances in a
-Cluster]
-* link:clusters.html#gklhv[4-2 Validating That Multicast Transport Is
-Available for a Cluster]
-* link:clusters.html#sthref19[4-3 Discovering a Cluster When Multiple
-Instances are Running on a Host]
-* link:clusters.html#sthref20[4-4 Discovering a Cluster by Specifying a
-List of IP Addresses]
-* link:clusters.html#sthref21[4-5 Discovering a Cluster by Generating a
-List of Locations of Instances]
-* link:clusters.html#gkqaz[4-6 Creating a Cluster for a Network in Which
-Multicast Transport Is Available]
-* link:clusters.html#gkqiq[4-7 Creating a Cluster and Setting GMS Options
-for a Network in Which Multicast Transport Is Available]
-* link:clusters.html#gksfc[4-8 Listing All Clusters in a Domain]
-* link:clusters.html#gkhsp[4-9 Listing All Clusters That Are Associated
-With a Node]
-* link:clusters.html#gkqkr[4-10 Deleting a Cluster]
-* link:instances.html#gkqmv[5-1 Creating a Clustered Instance Centrally]
-* link:instances.html#gksfe[5-2 Listing Basic Information About All
-GlassFish Server Instances in a Domain]
-* link:instances.html#gkabz[5-3 Listing Detailed Information About All
-GlassFish Server Instances in a Domain]
-* link:instances.html#gkqms[5-4 Deleting an Instance Centrally]
-* link:instances.html#gkqml[5-5 Starting a Cluster]
-* link:instances.html#gkqmn[5-6 Stopping a Cluster]
-* link:instances.html#gkqoa[5-7 Starting an Individual Instance
-Centrally]
-* link:instances.html#gkqpy[5-8 Stopping an Individual Instance
-Centrally]
-* link:instances.html#gkqqt[5-9 Restarting an Individual Instance
-Centrally]
-* link:instances.html#gktfa[5-10 Creating a Clustered Instance Locally
-Without Specifying a Node]
-* link:instances.html#gkqps[5-11 Creating a Clustered Instance Locally]
-* link:instances.html#gkqqu[5-12 Deleting an Instance Locally]
-* link:instances.html#gkqpu[5-13 Starting an Individual Instance Locally]
-* link:instances.html#gkqoo[5-14 Stopping an Individual Instance Locally]
-* link:instances.html#gkqnt[5-15 Restarting an Individual Instance
-Locally]
-* link:instances.html#gksfu[5-16 Resynchronizing an Instance and the DAS
-Online]
-* link:instances.html#gksfr[5-17 Updating the Option for Locating a
-Configuration File]
-* link:instances.html#gksgl[5-18 config-files File]
-* link:instances.html#gksgg[5-19 Resynchronizing an Instance and the DAS
-Offline]
-* link:instances.html#gkmgw[5-20 Migrating an EJB Timer]
-* link:named-configurations.html#gkrhn[6-1 Creating a Named
-Configuration]
-* link:named-configurations.html#gkrhp[6-2 Listing All Named
-Configurations in a Domain]
-* link:named-configurations.html#gkrfz[6-3 Listing the Targets of a Named
-Configuration]
-* link:named-configurations.html#gkrgs[6-4 Deleting a Named
-Configuration]
-* link:named-configurations.html#gkrky[6-5 Modifying a Property of a
-Named Configuration]
-* link:named-configurations.html#gkrma[6-6 Modifying a Port Number for an
-Instance]
-* link:http-load-balancing.html#gktpu[7-1 httpd.conf File for Load
-Balancing]
-* link:http-load-balancing.html#gktpe[7-2 workers.properties File for
-Load Balancing]
-* link:session-persistence-and-failover.html#fxjqx[9-1 Example of an EJB
-Deployment Descriptor With Availability Enabled]
-* link:session-persistence-and-failover.html#fxjqg[9-2 Example of EJB
-Deployment Descriptor Specifying Methods Checkpointing]
-* link:rmi-iiop.html#gfohj[11-1 Setting Load-Balancing Weights for
-RMI-IIOP Weighted Round-Robin Load Balancing]
diff --git a/docs/ha-administration-guide/src/main/jbake/content/named-configurations.adoc b/docs/ha-administration-guide/src/main/jbake/content/named-configurations.adoc
deleted file mode 100644
index 76e8912..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/named-configurations.adoc
+++ /dev/null
@@ -1,712 +0,0 @@
-type=page
-status=published
-title=Administering Named Configurations
-next=http-load-balancing.html
-prev=instances.html
-~~~~~~
-Administering Named Configurations
-==================================
-
-[[GSHAG00007]][[abdjk]]
-
-
-[[administering-named-configurations]]
-6 Administering Named Configurations
-------------------------------------
-
-A named configuration is a set of configuration information for
-GlassFish Server instances and clusters. A configuration sets port
-numbers for listeners that an instance or a cluster uses and defines
-settings for items such as the EJB container, security, logging, and
-monitoring. Applications and resources are not defined in named
-configurations.
-
-GlassFish Server enables you to create configurations for use by
-clusters and instances. GlassFish Server creates configurations
-automatically for clusters and instances that do not reference an
-existing configuration. You can modify any existing named configuration
-regardless of how the configuration was created.
-
-The following topics are addressed here:
-
-* link:#abdjl[About Named Configurations]
-* link:#abdjq[Creating, Listing, and Deleting Named Configurations]
-* link:#gkrgf[Modifying Properties for Named Configurations and
-Instances]
-
-[[abdjl]][[GSHAG00191]][[about-named-configurations]]
-
-About Named Configurations
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Configurations exist in a domain. Multiple GlassFish Server instances or
-clusters in the domain can reference the same configuration, or they can
-have separate configurations. To ensure that the environment in a
-cluster's instances is homogenous, all instances in the cluster inherit
-the cluster's configuration.
-
-[[abdjm]][[GSHAG00268]][[types-of-named-configurations]]
-
-Types of Named Configurations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Each named configuration is one of the following types of configuration:
-
-Standalone configuration::
-  A standalone configuration is referenced by only one instance or
-  cluster and is not shared with any other instances or clusters. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-A configuration that is referenced by only one cluster is a standalone
-configuration, even if the cluster contains multiple instances.
-
-|=======================================================================
-
-Shared configuration::
-  A shared configuration is referenced by multiple instances or
-  clusters.
-
-The type of an unclustered instance is determined by the type of the
-configuration that the instance references. For more information, see
-link:instances.html#gkrbn[Types of GlassFish Server Instances].
-
-[[abdjn]][[GSHAG00269]][[the-default-config-configuration]]
-
-The `default-config` Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `default-config` configuration is a special configuration that acts
-as a template for creating named configurations. Clusters and instances
-cannot refer to the `default-config` configuration. The `default-config`
-configuration can only be copied to create configurations.
-
-[[abdjo]][[GSHAG00270]][[automatically-created-configurations]]
-
-Automatically Created Configurations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When you create a cluster or an instance, you can choose whether to
-specify an existing configuration that the new cluster or instance will
-reference. If you choose to create a cluster or an instance without
-specifying an existing configuration, GlassFish Server automatically
-creates a configuration for the cluster or instance. For more
-information, see the following sections:
-
-* link:clusters.html#gkqdm[To Create a Cluster]
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-GlassFish Server automatically creates a configuration by copying the
-`default-config` configuration. If you require an instance or cluster to
-reference a copy of a different configuration, copy the configuration
-and specify the copy when you create the instance or cluster. For
-information about how to copy a configuration, see link:#abdjr[To Create
-a Named Configuration].
-
-GlassFish Server assigns the name cluster-or-instance`-config` to an
-automatically created configuration. cluster-or-instance is the name of
-the cluster or instance for which the configuration is created. The
-`server-config` configuration is automatically created for the domain
-administration server (DAS) when the domain is created.
-
-[[gdgca]][[GSHAG00271]][[directory-for-configuration-synchronization]]
-
-Directory for Configuration Synchronization
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When a named configuration is created, GlassFish Server creates a
-configuration directory on the domain administration server (DAS) at
-domain-dir`/config/`config-name.
-
-domain-dir::
-  The directory in which the domain's configuration is stored.
-config-name::
-  The name that was assigned to the configuration when the configuration
-  was created.
-
-This contents of this directory are synchronized to all instances that
-inherit or reference the configuration.
-
-[[abdjq]][[GSHAG00192]][[creating-listing-and-deleting-named-configurations]]
-
-Creating, Listing, and Deleting Named Configurations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server enables you to create configurations for use by
-clusters and instances, obtain information about configurations, and
-delete configurations that are no longer required.
-
-The following topics are addressed here:
-
-* link:#abdjr[To Create a Named Configuration]
-* link:#gkrgg[To List the Named Configurations in a Domain]
-* link:#abdju[To List the Targets of a Named Configuration]
-* link:#abdjv[To Delete a Named Configuration]
-
-[[abdjr]][[GSHAG00128]][[to-create-a-named-configuration]]
-
-To Create a Named Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `copy-config` subcommand in remote mode to create a named
-configuration by copying an existing configuration.
-
-GlassFish Server requires you to create a configuration by copying a
-configuration because a configuration contains many required settings.
-The newly created configuration is identical to the configuration that
-you copy until you change its configuration settings.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Tip:
-
-Create a named configuration only if you plan to share the configuration
-among multiple unclustered instances or clusters, or if you are using a
-configuration to preconfigure GMS settings. Otherwise, create clusters
-and instances without specifying an existing configuration. If no
-configuration is specified, GlassFish Server creates a copy of the
-default configuration for the cluster or instance.
-
-For more information, see the following sections:
-
-* link:clusters.html#gkoac[To Preconfigure Nondefault GMS Configuration
-Settings]
-* link:clusters.html#gkqdm[To Create a Cluster]
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-|=======================================================================
-
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `copy-config` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-named configuration, see the link:../reference-manual/copy-config.html#GSRFM00011[`copy-config`(1)] help
-page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> copy-config source-config-name destination-config-name
-----
-source-config-name::
-  The name of the configuration that you are copying. You must specify a
-  configuration to copy even if you are copying the default
-  configuration. The configuration must already exist.
-destination-config-name::
-  Your choice of name for the configuration that you are creating by
-  copying the source configuration.
-
-[[GSHAG00059]][[gkrhn]]
-
-
-Example 6-1 Creating a Named Configuration
-
-This example creates the named configuration `clusterpresets-config` by
-copying the default configuration.
-
-[source,oac_no_warn]
-----
-asadmin> copy-config default-config clusterpresets-config
-Command copy-config executed successfully.
-----
-
-[[GSHAG418]]
-
-See Also
-
-* link:clusters.html#gkoac[To Preconfigure Nondefault GMS Configuration
-Settings]
-* link:clusters.html#gkqdm[To Create a Cluster]
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-* link:../reference-manual/copy-config.html#GSRFM00011[`copy-config`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help copy-config` at the command line.
-
-[[gkrgg]][[GSHAG00129]][[to-list-the-named-configurations-in-a-domain]]
-
-To List the Named Configurations in a Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-configs` subcommand in remote mode to list existing named
-configurations in a domain.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/list-configs.html#GSRFM00156[`list-configs`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> list-configs
-----
-
-[[GSHAG00060]][[gkrhp]]
-
-
-Example 6-2 Listing All Named Configurations in a Domain
-
-This example lists all named configurations in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-configs
-server-config
-default-config
-ymlcluster-config
-clusterpresets-config
-Command list-configs executed successfully.
-----
-
-[[GSHAG419]]
-
-See Also
-
-link:../reference-manual/list-configs.html#GSRFM00156[`list-configs`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-configs` at the command line.
-
-[[abdju]][[GSHAG00130]][[to-list-the-targets-of-a-named-configuration]]
-
-To List the Targets of a Named Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-clusters` subcommand and the `list-instances` subcommand
-in remote mode to list the targets of a named configuration.
-
-The targets of a named configuration are the clusters and GlassFish
-Server instances that reference the configuration.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  List the clusters that refer to the configuration. +
-[source,oac_no_warn]
-----
-asadmin> list-clusters config-name
-----
-config-name::
-  The name of the configuration whose targets you are listing.
-3.  List the instances that refer to the configuration. +
-[source,oac_no_warn]
-----
-asadmin> list-instances config-name
-----
-config-name::
-  The name of the configuration whose targets you are listing.
-
-[[GSHAG00061]][[gkrfz]]
-
-
-Example 6-3 Listing the Targets of a Named Configuration
-
-This example shows that the cluster `ymlcluster` and the instances
-`yml-i1` and `yml-i2` reference the named configuration
-`ymlcluster-config`.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters ymlcluster-config
-ymlcluster partially running
-Command list-clusters executed successfully.
-asadmin> list-instances ymlcluster-config
-yml-i1   running
-yml-i2   not running
-Command list-instances executed successfully.
-----
-
-[[GSHAG420]]
-
-See Also
-
-* link:../reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
-* link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help list-clusters`
-* `asadmin help list-instances`
-
-[[abdjv]][[GSHAG00131]][[to-delete-a-named-configuration]]
-
-To Delete a Named Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-config` subcommand in remote mode to delete an existing
-named configuration from the configuration of the DAS.
-
-You cannot delete the `default-config` configuration.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-A standalone configuration that was created automatically for a cluster
-or a GlassFish Server instance is deleted when the cluster or instance
-is deleted.
-
-|=======================================================================
-
-
-[[GSHAG421]]
-
-Before You Begin
-
-Ensure that no clusters or instances refer to the configuration. If a
-cluster or instance refers to the configuration and is no longer
-required, delete the cluster or instance. For information about how to
-delete an instance and how to delete a cluster, see the following
-sections:
-
-* link:instances.html#gkqcw[To Delete an Instance Centrally]
-* link:instances.html#gkqed[To Delete an Instance Locally]
-* link:clusters.html#gkqcp[To Delete a Cluster]
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Confirm that no clusters refer to the configuration that you are
-deleting. +
-[source,oac_no_warn]
-----
-asadmin> list-clusters config-name
-----
-config-name::
-  The name of the configuration that you are deleting.
-3.  Confirm that no instances refer to the configuration that you are
-deleting. +
-[source,oac_no_warn]
-----
-asadmin> list-instances config-name
-----
-config-name::
-  The name of the configuration that you are deleting.
-4.  Run the link:../reference-manual/delete-config.html#GSRFM00069[`delete-config`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> delete-config config-name
-----
-config-name::
-  The name of the configuration that you are deleting.
-
-[[GSHAG00062]][[gkrgs]]
-
-
-Example 6-4 Deleting a Named Configuration
-
-This example confirms that no clusters or instances refer to the
-configuration `clusterpresets-config` and then deletes the
-configuration.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters clusterpresets-config
-Nothing to list
-Command list-clusters executed successfully.
-asadmin> list-instances clusterpresets-config
-Nothing to list.
-Command list-instances executed successfully.
-asadmin> delete-config clusterpresets-config
-Command delete-config executed successfully.
-----
-
-[[GSHAG422]]
-
-See Also
-
-* link:instances.html#gkqcw[To Delete an Instance Centrally]
-* link:instances.html#gkqed[To Delete an Instance Locally]
-* link:clusters.html#gkqcp[To Delete a Cluster]
-* link:../reference-manual/delete-config.html#GSRFM00069[`delete-config`(1)]
-* link:../reference-manual/list-clusters.html#GSRFM00153[`list-clusters`(1)]
-* link:../reference-manual/list-instances.html#GSRFM00170[`list-instances`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help delete-config`
-* `asadmin help list-clusters`
-* `asadmin help list-instances`
-
-[[gkrgf]][[GSHAG00193]][[modifying-properties-for-named-configurations-and-instances]]
-
-Modifying Properties for Named Configurations and Instances
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The properties in a named configuration define port numbers for
-unclustered instances that reference the configuration or clustered
-instances that inherit the configuration. An instance initially obtains
-port numbers from the configuration that the instance references or
-inherits. To avoid port conflicts, edit the properties of named
-configurations and instances.
-
-The following topics are addressed here:
-
-* link:#gkrls[Properties for Port Numbers in a Named Configuration]
-* link:#fxxvk[To Modify a Named Configuration's Properties]
-* link:#abdjt[To Modify Port Numbers of an Instance]
-
-[[gkrls]][[GSHAG00272]][[properties-for-port-numbers-in-a-named-configuration]]
-
-Properties for Port Numbers in a Named Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The default configuration `default-config` contains properties that
-define the initial values of port numbers in a configuration that is
-copied from `default-config`. When an instance or a cluster that
-references the configuration is created, these properties are set for
-the instance.
-
-You can create additional system properties for a configuration either
-by specifying the `--systemproperties` option of the
-link:../reference-manual/copy-config.html#GSRFM00011[`copy-config`] subcommand or by using the
-link:../reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`] subcommand. To reference a
-system property from the configuration, use the `${`prop-name`}`
-notation, where prop-name is the name of the system property.
-
-For example, if a configuration defines additional HTTP listeners, use
-system properties to define the ports for those listeners. However,
-these properties are not set automatically when an instance or a cluster
-that references the configuration is created. You must set these
-properties explicitly when you create the instance or cluster.
-
-The properties in a named configuration that define port numbers are as
-follows:
-
-`ASADMIN_LISTENER_PORT`::
-  This property specifies the port number of the HTTP port or HTTPS port
-  through which the DAS connects to the instance to manage the instance.
-  Valid values are 1-65535. On UNIX, creating sockets that listen on
-  ports 1-1024 requires superuser privileges.
-`HTTP_LISTENER_PORT`::
-  This property specifies the port number of the port that is used to
-  listen for HTTP requests. Valid values are 1-65535. On UNIX, creating
-  sockets that listen on ports 1-1024 requires superuser privileges.
-`HTTP_SSL_LISTENER_PORT`::
-  This property specifies the port number of the port that is used to
-  listen for HTTPS requests. Valid values are 1-65535. On UNIX, creating
-  sockets that listen on ports 1-1024 requires superuser privileges.
-`IIOP_LISTENER_PORT`::
-  This property specifies the port number of the port that is used for
-  IIOP connections. Valid values are 1-65535. On UNIX, creating sockets
-  that listen on ports 1-1024 requires superuser privileges.
-`IIOP_SSL_LISTENER_PORT`::
-  This property specifies the port number of the port that is used for
-  secure IIOP connections. Valid values are 1-65535. On UNIX, creating
-  sockets that listen on ports 1-1024 requires superuser privileges.
-`IIOP_SSL_MUTUALAUTH_PORT`::
-  This property specifies the port number of the port that is used for
-  secure IIOP connections with client authentication. Valid values are
-  1-65535. On UNIX, creating sockets that listen on ports 1-1024
-  requires superuser privileges.
-`JAVA_DEBUGGER_PORT`::
-  This property specifies the port number of the port that is used for
-  connections to the
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture (JPDA)]
-  (`http://java.sun.com/javase/technologies/core/toolsapis/jpda/`)
-  debugger. Valid values are 1-65535. On UNIX, creating sockets that
-  listen on ports 1-1024 requires superuser privileges.
-`JMS_PROVIDER_PORT`::
-  This property specifies the port number for the Java Message Service
-  provider. Valid values are 1-65535. On UNIX, creating sockets that
-  listen on ports 1-1024 requires superuser privileges.
-`JMX_SYSTEM_CONNECTOR_PORT`::
-  This property specifies the port number on which the JMX connector
-  listens. Valid values are 1-65535. On UNIX, creating sockets that
-  listen on ports 1-1024 requires superuser privileges.
-`OSGI_SHELL_TELNET_PORT`::
-  This property specifies the port number of the port that is used for
-  connections to the
-  http://felix.apache.org/site/apache-felix-remote-shell.html[Apache
-  Felix Remote Shell]
-  (`http://felix.apache.org/site/apache-felix-remote-shell.html`). This
-  shell uses the Felix shell service to interact with the OSGi module
-  management subsystem. Valid values are 1-65535. On UNIX, creating
-  sockets that listen on ports 1-1024 requires superuser privileges.
-
-[[fxxvk]][[GSHAG00132]][[to-modify-a-named-configurations-properties]]
-
-To Modify a Named Configuration's Properties
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `get` subcommand and the `set` subcommand in remote mode to
-modify a named configuration's properties.
-
-You might copy a configuration for use by instances that reside on the
-same host as instances that refer to the original configuration. In this
-situation, edit the properties of one of the configurations to ensure
-that instances that will refer to the configuration have the correct
-initial settings.
-
-If you change the port number in a configuration, the port number is
-changed for any instance that references or inherits the configuration.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  For each property that you are modifying, determine the current
-value and set the new value.
-1.  Determine the current value of the property. +
-[source,oac_no_warn]
-----
-asadmin> get configs.config.config-name.system-property.property-name.value
-----
-config-name::
-  The name of the configuration whose properties you are modifying.
-property-name::
-  The name of the property that you are modifying. For a list of
-  available properties, see link:#gkrls[Properties for Port Numbers in a
-  Named Configuration].
-2.  Set the property to its new value. +
-[source,oac_no_warn]
-----
-asadmin> set
-configs.config.config-name.system-property.property-name.value=new-value
-----
-config-name::
-  The name of the configuration whose properties you are modifying.
-property-name::
-  The name of the property that you are modifying. For a list of
-  available properties, see link:#gkrls[Properties for Port Numbers in a
-  Named Configuration].
-new-value::
-  The value to which you are setting the property.
-
-[[GSHAG00063]][[gkrky]]
-
-
-Example 6-5 Modifying a Property of a Named Configuration
-
-This example changes the value of the `JMS_PROVIDER_PORT` property in
-the `clusterpresets-config` configuration from 27676 to 27678.
-
-[source,oac_no_warn]
-----
-asadmin> get
-configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value
-configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value=27676
-Command get executed successfully.
-asadmin> set
-configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value=27678
-configs.config.clusterpresets-config.system-property.JMS_PROVIDER_PORT.value=27678
-Command set executed successfully.
-----
-
-[[GSHAG423]]
-
-See Also
-
-* link:../reference-manual/get.html#GSRFM00139[`get`(1)]
-* link:../reference-manual/set.html#GSRFM00226[`set`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help get`
-* `asadmin help set`
-
-[[abdjt]][[GSHAG00133]][[to-modify-port-numbers-of-an-instance]]
-
-To Modify Port Numbers of an Instance
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `get` subcommand and the `set` subcommand in remote mode to
-modify the port numbers of an instance.
-
-The port numbers of a instance are initially set in the configuration
-that the instance references or inherits from its parent cluster.
-Multiple instances that reside on the same host must each listen on a
-unique port number. Therefore, if multiple instances that reference or
-inherit the same configuration reside on the same host, a port conflict
-prevents all except one of the instances from starting. To avoid port
-conflicts, modify the port numbers on which individual instances listen.
-
-If you modify an instance's port number and later modify the port number
-in the instance's configuration, the instance's port number remains
-unchanged.
-
-The port numbers of an instance are stored as Java system properties.
-When GlassFish Server is started, it treats these properties in the same
-way as properties that are passed through the `-D` option of the Java
-application launcher.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  For each port number that you are modifying, determine the current
-value and set the new value.
-1.  Determine the current value of the port number. +
-[source,oac_no_warn]
-----
-asadmin> get
-servers.server.instance-name.system-property.port-property.value
-----
-instance-name::
-  The name of the instance whose port numbers you are modifying.
-port-property::
-  The name of the property that corresponds to the port number that you
-  are modifying. For a list of available properties, see
-  link:#gkrls[Properties for Port Numbers in a Named Configuration].
-2.  Set the port number to its new value. +
-[source,oac_no_warn]
-----
-asadmin> get
-servers.server.instance-name.system-property.port-property.value=new-value
-----
-instance-name::
-  The name of the instance whose port numbers you are modifying.
-port-property::
-  The name of the property that corresponds to the port number that you
-  are modifying. For a list of available properties, see
-  link:#gkrls[Properties for Port Numbers in a Named Configuration].
-new-value::
-  The value to which you are setting the port number.
-
-[[GSHAG00064]][[gkrma]]
-
-
-Example 6-6 Modifying a Port Number for an Instance
-
-This example changes the port number of the HTTP port or the HTTPS port
-for administration of the `pmdsainst` instance from 24849 to 24859.
-
-[source,oac_no_warn]
-----
-asadmin> get
-servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value
-servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value=24849
-Command get executed successfully.
-asadmin> set
-servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value=24859
-servers.server.pmdsainst.system-property.ASADMIN_LISTENER_PORT.value=24859
-Command set executed successfully.
-----
-
-[[GSHAG424]]
-
-See Also
-
-* link:../reference-manual/get.html#GSRFM00139[`get`(1)]
-* link:../reference-manual/set.html#GSRFM00226[`set`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help get`
-* `asadmin help set`
diff --git a/docs/ha-administration-guide/src/main/jbake/content/nodes.adoc b/docs/ha-administration-guide/src/main/jbake/content/nodes.adoc
deleted file mode 100644
index e5c8f7e..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/nodes.adoc
+++ /dev/null
@@ -1,1321 +0,0 @@
-type=page
-status=published
-title=Administering GlassFish Server Nodes
-next=clusters.html
-prev=ssh-setup.html
-~~~~~~
-Administering GlassFish Server Nodes
-====================================
-
-[[GSHAG00004]][[gkrle]]
-
-
-[[administering-glassfish-server-nodes]]
-3 Administering GlassFish Server Nodes
---------------------------------------
-
-A node represents a host on which the GlassFish Server software is
-installed. A node must exist for every host on which GlassFish Server
-instances reside. A node's configuration contains information about the
-host such as the name of the host and the location where the GlassFish
-Server is installed on the host.
-
-The following topics are addressed here:
-
-* link:#gksgh[Types of GlassFish Server Nodes]
-* link:#CHDBIHFJ[Creating, Listing, Testing, and Deleting `DCOM` Nodes]
-* link:#gkrkn[Creating, Listing, Testing, and Deleting `SSH` Nodes]
-* link:#gkrnp[Creating, Listing, and Deleting `CONFIG` Nodes]
-* link:#gksjd[Updating and Changing the Type of a Node]
-
-[[gksgh]][[GSHAG00179]][[types-of-glassfish-server-nodes]]
-
-Types of GlassFish Server Nodes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each GlassFish Server node is one of the following types of node:
-
-`DCOM`::
-  A `DCOM` node supports communication over the Distributed Component
-  Object Model (DCOM) remote protocol. The DCOM remote protocol is
-  available only on Windows systems. If DCOM is set up and you plan to
-  administer your GlassFish Server instances centrally, the instances
-  must reside on `DCOM` nodes. +
-  A `DCOM` node's configuration contains the information that is
-  required to connect to the host through DCOM. This information
-  includes, for example, the user name of the Windows user and the port
-  number for DCOM connections to the host.
-`SSH`::
-  An `SSH` node supports communication over secure shell (SSH). If SSH
-  is set up and you plan to administer your GlassFish Server instances
-  centrally, the instances must reside on `SSH` nodes. +
-  An `SSH` node's configuration contains the information that is
-  required to connect to the host through SSH. This information
-  includes, for example, the user name of the SSH user and the port
-  number for SSH connections to the host.
-`CONFIG`::
-  A `CONFIG` node does not support remote communication. If neither DCOM
-  nor SSH is set up and you plan to administer your instances locally,
-  the instances can reside on `CONFIG` nodes. You cannot use `CONFIG`
-  nodes for instances that you plan to administer centrally. +
-  Each domain contains a predefined `CONFIG` node that is named
-  `localhost-`domain, where domain is the name of the domain. On the
-  host where the domain administration server (DAS) is running, this
-  node represents the local host.
-
-[[CHDBIHFJ]][[GSHAG463]][[creating-listing-testing-and-deleting-dcom-nodes]]
-
-Creating, Listing, Testing, and Deleting `DCOM` Nodes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A `DCOM` node supports communication over DCOM. If DCOM is set up and
-you plan to administer your GlassFish Server instances centrally, the
-instances must reside on `DCOM` nodes. For information about setting up
-DCOM, see link:ssh-setup.html#gkshg[Enabling Centralized Administration
-of GlassFish Server Instances].
-
-GlassFish Server enables you to create `DCOM` nodes for use by
-instances, obtain information about `DCOM` nodes, test if `DCOM` nodes
-are reachable, and delete `DCOM` nodes that are no longer required.
-
-The following topics are addressed here:
-
-* link:#CHDIGBJB[To Create a `DCOM` Node]
-* link:#CHDDCBEG[To List `DCOM` Nodes in a Domain]
-* link:#CHDIFJCC[To Test if a `DCOM` Node is Reachable]
-* link:#CHDCFHBA[To Delete a `DCOM` Node]
-
-[[CHDIGBJB]][[GSHAG464]][[to-create-a-dcom-node]]
-
-To Create a `DCOM` Node
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-node-dcom` subcommand in remote mode to create a `DCOM`
-node.
-
-[[GSHAG465]]
-
-Before You Begin
-
-Ensure that the Windows user can use DCOM to connect to the host that
-the node will represent. By default, the `create-node-dcom` subcommand
-validates the node's parameters and the DCOM connection to the host. If
-the Windows user cannot use DCOM to connect to the host, the validation
-fails.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-For information about how to determine whether the Windows user can use
-DCOM to connect to the host, see link:ssh-setup.html#CEGJFADH[To Test the
-Connection Over DCOM to a Remote Host].
-
-|=======================================================================
-
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `create-node-dcom` subcommand. +
-Specify the file that contains the alias for the Windows user's password
-through the `--passwordfile` option of the `asadmin` utility. For more
-information about this file, see link:ssh-setup.html#CEGCDCEF[To Set Up
-Password Authentication for the Windows User]. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-node, see the link:../reference-manual/create-node-dcom.html#GSRFM510[`create-node-dcom`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-C:\> asadmin --passwordfile filename create-node-dcom
---nodehost node-host [--installdir install-dir ]
-node-name
-----
-filname::
-  The name of the file that contains the alias for the Windows user's
-  password.
-node-host::
-  The name of the host that the node represents. The name of the host
-  must be specified. Otherwise, an error occurs.
-install-dir::
-  The full path to the parent of the base installation directory of the
-  GlassFish Server software on the host, for example, `C:\glassfish3`.
-  If the GlassFish Server software is installed in the same directory on
-  the node's host and the DAS host, you can omit this option.
-node-name::
-  Your choice of name for the node that you are creating.
-
-[[GSHAG466]][[sthref13]]
-
-
-Example 3-1 Creating a `DCOM` Node
-
-This example creates the `DCOM` node `wpmdl1` to represent the host
-`wpmdl1.example.com`. The GlassFish Server software is installed in the
-same directory on the DAS host and on the host `wpmdl1.example.com`.
-
-[source,oac_no_warn]
-----
-C:\> asadmin --passwordfile aspwalias.txt create-node-dcom
---nodehost wpmdl1.example.com wpmdl1
-Command create-node-dcom executed successfully.
-----
-
-[[GSHAG467]]
-
-See Also
-
-* link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
-* link:../reference-manual/create-node-dcom.html#GSRFM510[`create-node-dcom`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-node-dcom` at the command line.
-
-[[GSHAG468]]
-
-Next Steps
-
-After creating a node, you can create instances on the node as explained
-in the following sections:
-
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-[[CHDDCBEG]][[GSHAG469]][[to-list-dcom-nodes-in-a-domain]]
-
-To List `DCOM` Nodes in a Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-nodes-dcom` subcommand in remote mode to obtain
-information about existing `DCOM` nodes in a domain.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To obtain information about all existing nodes in a domain, use the
-link:../reference-manual/list-nodes.html#GSRFM00187[`list-nodes`] subcommand.
-
-|=======================================================================
-
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/list-nodes-dcom.html#GSRFM693[`list-nodes-dcom`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom
-----
-
-[[GSHAG470]][[sthref14]]
-
-
-Example 3-2 Listing Basic Information About All `DCOM` Nodes in a Domain
-
-This example lists the name, type, and host of all `DCOM` nodes in the
-current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom
-xkyd  DCOM  xkyd.example.com
-wpmdl2  DCOM  wpmdl2.example.com
-wpmdl1  DCOM  wpmdl1.example.com
-Command list-nodes-dcom executed successfully.
-----
-
-[[GSHAG471]][[sthref15]]
-
-
-Example 3-3 Listing Detailed Information About All `DCOM` Nodes in a
-Domain
-
-This example lists detailed information about all `DCOM` nodes in the
-current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom --long=true
-NODE NAME    TYPE   NODE HOST            INSTALL DIRECTORY   REFERENCED BY
-xkyd         DCOM   xkyd.example.com     C:\glassfish3
-wpmdl2       DCOM   wpmdl2.example.com   C:\glassfish3       wdi2
-wpmdl1       DCOM   wpmdl1.example.com   C:\glassfish3       wdi1
-Command list-nodes-dcom executed successfully.
-----
-
-[[GSHAG472]]
-
-See Also
-
-* link:../reference-manual/list-nodes.html#GSRFM00187[`list-nodes`(1)]
-* link:../reference-manual/list-nodes-dcom.html#GSRFM693[`list-nodes-dcom`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help list-nodes`
-* `asadmin help list-nodes-dcom`
-
-[[CHDIFJCC]][[GSHAG473]][[to-test-if-a-dcom-node-is-reachable]]
-
-To Test if a `DCOM` Node is Reachable
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `ping-node-dcom` subcommand in remote mode to test if a `DCOM`
-node is reachable.
-
-[[GSHAG474]]
-
-Before You Begin
-
-Ensure that DCOM is configured on the host where the DAS is running and
-on the host that the node represents.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `ping-node-dcom` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for testing the node,
-see the link:../reference-manual/ping-node-dcom.html#GSRFM728[`ping-node-dcom`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-dcom node-name
-----
-node-name::
-  The name of the node to test.
-
-[[GSHAG475]][[sthref16]]
-
-
-Example 3-4 Testing if a `DCOM` Node Is Reachable
-
-This example tests if the `DCOM` node `wpmdl2` is reachable.
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-dcom wpmdl2
-Successfully made DCOM connection to node wpmdl2 (wpmdl2.example.com)
-Command ping-node-dcom executed successfully.
-----
-
-[[GSHAG476]]
-
-See Also
-
-link:../reference-manual/ping-node-dcom.html#GSRFM728[`ping-node-dcom`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help ping-node-dcom` at the command line.
-
-[[CHDCFHBA]][[GSHAG477]][[to-delete-a-dcom-node]]
-
-To Delete a `DCOM` Node
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-node-dcom` subcommand in remote mode to delete a `DCOM`
-node.
-
-Deleting a node removes the node from the configuration of the DAS. The
-node's directories and files are deleted when the last GlassFish Server
-instance that resides on the node is deleted.
-
-[[GSHAG478]]
-
-Before You Begin
-
-Ensure that no GlassFish Server instances reside on the node that you
-are deleting. For information about how to delete an instance, see the
-following sections.
-
-* link:instances.html#gkqcw[To Delete an Instance Centrally]
-* link:instances.html#gkqed[To Delete an Instance Locally]
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Confirm that no instances reside on the node that you are deleting. +
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom --long=true
-----
-3.  Run the olink:GSRFM00100[`delete-node-dcom`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> delete-node-dcom node-name
-----
-node-name::
-  The name of the node that you are deleting.
-
-[[GSHAG479]][[sthref17]]
-
-
-Example 3-5 Deleting a `DCOM` Node
-
-This example confirms that no instances reside on the `DCOM` node `xkyd`
-and deletes the node `xkyd`.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom --long=true
-NODE NAME    TYPE   NODE HOST            INSTALL DIRECTORY   REFERENCED BY
-xkyd         DCOM   xkyd.example.com     C:\glassfish3
-wpmdl2       DCOM   wpmdl2.example.com   C:\glassfish3       wdi2
-wpmdl1       DCOM   wpmdl1.example.com   C:\glassfish3       wdi1
-Command list-nodes-dcom executed successfully.
-asadmin> delete-node-dcom xkyd
-Command delete-node-dcom executed successfully.
-----
-
-[[GSHAG480]]
-
-See Also
-
-* link:instances.html#gkqcw[To Delete an Instance Centrally]
-* link:instances.html#gkqed[To Delete an Instance Locally]
-* link:../reference-manual/delete-node-dcom.html#GSRFM569[`delete-node-dcom`(1)]
-* link:../reference-manual/list-nodes-dcom.html#GSRFM693[`list-nodes-dcom`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help delete-node-dcom`
-* `asadmin help list-nodes-dcom`
-
-[[gkrkn]][[GSHAG00180]][[creating-listing-testing-and-deleting-ssh-nodes]]
-
-Creating, Listing, Testing, and Deleting `SSH` Nodes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-An `SSH` node supports communication over SSH. If SSH is set up and you
-plan to administer your GlassFish Server instances centrally, the
-instances must reside on `SSH` nodes. For information about setting up
-SSH, see link:ssh-setup.html#gkshg[Enabling Centralized Administration of
-GlassFish Server Instances].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Windows systems also support communications over DCOM as an alternative
-to SSH.
-
-|=======================================================================
-
-
-GlassFish Server enables you to create `SSH` nodes for use by instances,
-obtain information about `SSH` nodes, test if `SSH` nodes are reachable,
-and delete `SSH` nodes that are no longer required.
-
-The following topics are addressed here:
-
-* link:#gkrnf[To Create an `SSH` Node]
-* link:#gkrme[To List `SSH` Nodes in a Domain]
-* link:#gksig[To Test if an `SSH` Node is Reachable]
-* link:#gkrlz[To Delete an `SSH` Node]
-
-[[gkrnf]][[GSHAG00088]][[to-create-an-ssh-node]]
-
-To Create an `SSH` Node
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-node-ssh` subcommand in remote mode to create an `SSH`
-node.
-
-[[GSHAG347]]
-
-Before You Begin
-
-Ensure that the SSH user can use SSH to log in to the host that the node
-will represent. By default, the `create-node-ssh` subcommand validates
-the node's parameters and the SSH connection to the host. If the SSH
-user cannot use SSH to log in to the host, the validation fails.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `create-node-ssh` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-node, see the link:../reference-manual/create-node-ssh.html#GSRFM00048[`create-node-ssh`(1)] help page.
-
-If you are using password authentication for the SSH user, you must
-specify a password file through the `--passwordfile` option of the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. For more information about SSH user
-authentication, see link:ssh-setup.html#gkshh[Setting Up SSH User
-Authentication].
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> create-node-ssh --nodehost node-host [--installdir install-dir ]
-node-name
-----
-node-host::
-  The name of the host that the node represents. The name of the host
-  must be specified. Otherwise, an error occurs.
-install-dir::
-  The full path to the parent of the base installation directory of the
-  GlassFish Server software on the host, for example,
-  `/export/glassfish3/`. If the GlassFish Server software is installed
-  in the same directory on the node's host and the DAS host, you can
-  omit this option.
-node-name::
-  Your choice of name for the node that you are creating.
-
-[[GSHAG00020]][[gksih]]
-
-
-Example 3-6 Creating an `SSH` Node
-
-This example creates the `SSH` node `sj01` to represent the host
-`sj01.example.com`. The GlassFish Server software is installed in the
-same directory on the DAS host and on the host `sj01.example.com`.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-ssh --nodehost sj01.example.com sj01
-Command create-node-ssh executed successfully.
-----
-
-[[GSHAG348]]
-
-Troubleshooting
-
-The `create-node-ssh` subcommand might fail to create the node and
-report the error `Illegal sftp packet len`. If this error occurs, ensure
-that no the startup file on the remote host displays text for
-noninteractive shells. Examples of startup files are `.bashrc`,
-`.cshrc`, `.login`, and `.profile`.
-
-The SSH session interprets any text message that is displayed during
-login as a file-transfer protocol packet. Therefore, any statement in a
-startup file that displays text messages corrupts the SSH session,
-causing this error.
-
-[[GSHAG349]]
-
-See Also
-
-link:../reference-manual/create-node-ssh.html#GSRFM00048[`create-node-ssh`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-node-ssh` at the command line.
-
-[[GSHAG350]]
-
-Next Steps
-
-After creating a node, you can create instances on the node as explained
-in the following sections:
-
-* link:instances.html#gkqch[To Create an Instance Centrally]
-* link:instances.html#gkqbl[To Create an Instance Locally]
-
-[[gkrme]][[GSHAG00089]][[to-list-ssh-nodes-in-a-domain]]
-
-To List `SSH` Nodes in a Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-nodes-ssh` subcommand in remote mode to obtain information
-about existing `SSH` nodes in a domain.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To obtain information about all existing nodes in a domain, use the
-link:../reference-manual/list-nodes.html#GSRFM00187[`list-nodes`] subcommand.
-
-|=======================================================================
-
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/list-nodes-ssh.html#GSRFM00189[`list-nodes-ssh`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh
-----
-
-[[GSHAG00021]][[gkskt]]
-
-
-Example 3-7 Listing Basic Information About All `SSH` Nodes in a Domain
-
-This example lists the name, type, and host of all `SSH` nodes in the
-current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh
-sj01  SSH  sj01.example.com
-sj02  SSH  sj02.example.com
-Command list-nodes-ssh executed successfully.
-----
-
-[[GSHAG00022]][[gkske]]
-
-
-Example 3-8 Listing Detailed Information About All `SSH` Nodes in a
-Domain
-
-This example lists detailed information about all `SSH` nodes in the
-current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh --long=true
-NODE NAME   TYPE   NODE HOST          INSTALL DIRECTORY    REFERENCED BY
-sj01        SSH    sj01.example.com   /export/glassfish3   pmd-i1
-sj02        SSH    sj02.example.com   /export/glassfish3   pmd-i2
-Command list-nodes-ssh executed successfully.
-----
-
-[[GSHAG351]]
-
-See Also
-
-* link:../reference-manual/list-nodes.html#GSRFM00187[`list-nodes`(1)]
-* link:../reference-manual/list-nodes-ssh.html#GSRFM00189[`list-nodes-ssh`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help list-nodes`
-* `asadmin help list-nodes-ssh`
-
-[[gksig]][[GSHAG00090]][[to-test-if-an-ssh-node-is-reachable]]
-
-To Test if an `SSH` Node is Reachable
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `ping-node-ssh` subcommand in remote mode to test if an `SSH`
-node is reachable.
-
-[[GSHAG352]]
-
-Before You Begin
-
-Ensure that SSH is configured on the host where the DAS is running and
-on the host that the node represents.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `ping-node-ssh` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for testing the node,
-see the link:../reference-manual/ping-node-ssh.html#GSRFM00215[`ping-node-ssh`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-ssh node-name
-----
-node-name::
-  The name of the node to test.
-
-[[GSHAG00023]][[gkshk]]
-
-
-Example 3-9 Testing if an `SSH` Node Is Reachable
-
-This example tests if the `SSH` node `sj01` is reachable.
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-ssh sj01
-Successfully made SSH connection to node sj01 (sj01.example.com)
-Command ping-node-ssh executed successfully.
-----
-
-[[GSHAG353]]
-
-See Also
-
-link:../reference-manual/ping-node-ssh.html#GSRFM00215[`ping-node-ssh`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help ping-node-ssh` at the command line.
-
-[[gkrlz]][[GSHAG00091]][[to-delete-an-ssh-node]]
-
-To Delete an `SSH` Node
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-node-ssh` subcommand in remote mode to delete an `SSH`
-node.
-
-Deleting a node removes the node from the configuration of the DAS. The
-node's directories and files are deleted when the last GlassFish Server
-instance that resides on the node is deleted.
-
-[[GSHAG354]]
-
-Before You Begin
-
-Ensure that no GlassFish Server instances reside on the node that you
-are deleting. For information about how to delete an instance, see the
-following sections.
-
-* link:instances.html#gkqcw[To Delete an Instance Centrally]
-* link:instances.html#gkqed[To Delete an Instance Locally]
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Confirm that no instances reside on the node that you are deleting. +
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh --long=true
-----
-3.  Run the olink:GSRFM00100[`delete-node-ssh`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> delete-node-ssh node-name
-----
-node-name::
-  The name of the node that you are deleting.
-
-[[GSHAG00024]][[gksjg]]
-
-
-Example 3-10 Deleting an `SSH` Node
-
-This example confirms that no instances reside on the `SSH` node `sj01`
-and deletes the node `sj01`.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh --long=true
-NODE NAME   TYPE   NODE HOST          INSTALL DIRECTORY    REFERENCED BY
-sj01        SSH    sj01.example.com   /export/glassfish3
-sj02        SSH    sj02.example.com   /export/glassfish3   pmd-i2
-Command list-nodes-ssh executed successfully.
-asadmin> delete-node-ssh sj01
-Command delete-node-ssh executed successfully.
-----
-
-[[GSHAG355]]
-
-See Also
-
-* link:instances.html#gkqcw[To Delete an Instance Centrally]
-* link:instances.html#gkqed[To Delete an Instance Locally]
-* link:../reference-manual/delete-node-ssh.html#GSRFM00100[`delete-node-ssh`(1)]
-* link:../reference-manual/list-nodes-ssh.html#GSRFM00189[`list-nodes-ssh`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help delete-node-ssh`
-* `asadmin help list-nodes-ssh`
-
-[[gkrnp]][[GSHAG00181]][[creating-listing-and-deleting-config-nodes]]
-
-Creating, Listing, and Deleting `CONFIG` Nodes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A `CONFIG` node does not support remote communication. If neither DCOM
-nor SSH is set up and you plan to administer your instances locally, the
-instances can reside on `CONFIG` nodes. You cannot use `CONFIG` nodes
-for instances that you plan to administer centrally.
-
-GlassFish Server enables you to create `CONFIG` nodes for use by
-instances, obtain information about `CONFIG` nodes, and delete `CONFIG`
-nodes that are no longer required.
-
-The following topics are addressed here:
-
-* link:#gkrll[To Create a `CONFIG` Node]
-* link:#gkrjr[To List `CONFIG` Nodes in a Domain]
-* link:#gkrms[To Delete a `CONFIG` Node]
-
-[[gkrll]][[GSHAG00092]][[to-create-a-config-node]]
-
-To Create a `CONFIG` Node
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-node-config` command in remote mode to create a `CONFIG`
-node.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you create an instance locally on a host for which no nodes are
-defined, you can create the instance without creating a node beforehand.
-In this situation, GlassFish Server creates a `CONFIG` node for you. The
-name of the node is the unqualified name of the host. For more
-information, see link:instances.html#gkqbl[To Create an Instance
-Locally].
-
-|=======================================================================
-
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `create-node-config` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-node, see the link:../reference-manual/create-node-config.html#GSRFM00047[`create-node-config`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> create-node-config [--nodehost node-host] [--installdir install-dir ]
-node-name
-----
-node-host::
-  The name of the host that the node represents. You may omit this
-  option. The name of the host can be determined when instances that
-  reside on the node are created.
-install-dir::
-  The full path to the parent of the base installation directory of the
-  GlassFish Server software on the host, for example,
-  `/export/glassfish3/`. You may omit this option. The installation
-  directory can be determined when instances that reside on the node are
-  created.
-node-name::
-  Your choice of name for the node that you are creating.
-
-[[GSHAG00025]][[gkshu]]
-
-
-Example 3-11 Creating a `CONFIG` Node
-
-This example creates the `CONFIG` node `cfg01`. The host that the node
-represents and the installation directory of the GlassFish Server
-software on the host are to be determined when instances are added to
-the node.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-config cfg01
-Command create-node-config executed successfully.
-----
-
-[[GSHAG356]]
-
-See Also
-
-link:../reference-manual/create-node-config.html#GSRFM00047[`create-node-config`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-node-config` at the command line.
-
-[[GSHAG357]]
-
-Next Steps
-
-After creating a node, you can create instances on the node as explained
-in link:instances.html#gkqbl[To Create an Instance Locally].
-
-[[gkrjr]][[GSHAG00093]][[to-list-config-nodes-in-a-domain]]
-
-To List `CONFIG` Nodes in a Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-nodes-config` subcommand in remote mode to obtain
-information about existing `CONFIG` nodes in a domain.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To obtain information about all existing nodes in a domain, use the
-link:../reference-manual/list-nodes.html#GSRFM00187[`list-nodes`] subcommand.
-
-|=======================================================================
-
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/list-nodes-config.html#GSRFM00188[`list-nodes-config`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config
-----
-
-[[GSHAG00026]][[gkskp]]
-
-
-Example 3-12 Listing Basic Information About All `CONFIG` Nodes in a
-Domain
-
-This example lists the name, type, and host of all `CONFIG` nodes in the
-current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config
-localhost-domain1  CONFIG  localhost
-cfg01  CONFIG  cfg01.example.com
-cfg02  CONFIG  cfg02.example.com
-Command list-nodes-config executed successfully.
-----
-
-[[GSHAG00027]][[gksjs]]
-
-
-Example 3-13 Listing Detailed Information About All `CONFIG` Nodes in a
-Domain
-
-This example lists detailed information about all `CONFIG` nodes in the
-current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config --long=true
-NODE NAME           TYPE     NODE HOST            INSTALL DIRECTORY    REFERENCED BY
-localhost-domain1   CONFIG   localhost            /export/glassfish3
-cfg01               CONFIG   cfg01.example.com    /export/glassfish3   yml-i1
-cfg02               CONFIG   cfg02.example.com    /export/glassfish3   yml-i2
-Command list-nodes-config executed successfully.
-----
-
-[[GSHAG358]]
-
-See Also
-
-* link:../reference-manual/list-nodes.html#GSRFM00187[`list-nodes`(1)]
-* link:../reference-manual/list-nodes-config.html#GSRFM00188[`list-nodes-config`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help list-nodes`
-* `asadmin help list-nodes-config`
-
-[[gkrms]][[GSHAG00094]][[to-delete-a-config-node]]
-
-To Delete a `CONFIG` Node
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-node-config` subcommand in remote mode to delete a
-`CONFIG` node.
-
-Deleting a node removes the node from the configuration of the DAS. The
-node's directories and files are deleted when the last GlassFish Server
-instance that resides on the node is deleted.
-
-[[GSHAG359]]
-
-Before You Begin
-
-Ensure that no GlassFish Server instances reside on the node that you
-are deleting. For information about how to delete an instance that
-resides on a `CONFIG` node, see link:instances.html#gkqed[To Delete an
-Instance Locally].
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Confirm that no instances reside on the node that you are deleting. +
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config --long=true
-----
-3.  Run the olink:GSRFM00099[`delete-node-config`] subcommand. +
-[source,oac_no_warn]
-----
-asadmin> delete-node-config node-name
-----
-node-name::
-  The name of the node that you are deleting.
-
-[[GSHAG00028]][[gksla]]
-
-
-Example 3-14 Deleting a `CONFIG` Node
-
-This example confirms that no instances reside on the `CONFIG` node
-`cfg01` and deletes the node `cfg01`.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config --long=true
-NODE NAME           TYPE     NODE HOST           INSTALL DIRECTORY    REFERENCED BY
-localhost-domain1   CONFIG   localhost           /export/glassfish3
-cfg01               CONFIG   cfg01.example.com   /export/glassfish3
-cfg02               CONFIG   cfg02.example.com   /export/glassfish3   yml-i2
-Command list-nodes-config executed successfully.
-asadmin> delete-node-config cfg01
-Command delete-node-config executed successfully.
-----
-
-[[GSHAG360]]
-
-See Also
-
-* link:instances.html#gkqed[To Delete an Instance Locally]
-* link:../reference-manual/delete-node-config.html#GSRFM00099[`delete-node-config`(1)]
-* link:../reference-manual/list-nodes-config.html#GSRFM00188[`list-nodes-config`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help delete-node-config`
-* `asadmin help list-nodes-config`
-
-[[gksjd]][[GSHAG00182]][[updating-and-changing-the-type-of-a-node]]
-
-Updating and Changing the Type of a Node
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server enables you to update the configuration data of any
-node and to change the type of a node.
-
-The following topics are addressed here:
-
-* link:#CHDHHAAE[To Update a `DCOM` Node]
-* link:#gksjq[To Update an `SSH` Node]
-* link:#gksjv[To Update a `CONFIG` Node]
-* link:#gkski[To Change the Type of a Node]
-
-[[CHDHHAAE]][[GSHAG481]][[to-update-a-dcom-node]]
-
-To Update a `DCOM` Node
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `update-node-dcom` subcommand in remote mode to update a `DCOM`
-node.
-
-Options of this subcommand specify the new values of the node's
-configuration data. If you omit an option, the existing value is
-unchanged.
-
-[[GSHAG482]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* DCOM is configured on the host where the DAS is running and on the
-host that the node represents.
-* The node that you are updating exists.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `update-node-dcom` subcommand. +
-[source,oac_no_warn]
-----
-asadmin> update-node-dcom options node-name
-----
-options::
-  Options of the `update-node-dcom` subcommand for changing the node's
-  configuration data. For information about these options, see the
-  link:../reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)] help page.
-node-name::
-  The name of the `DCOM` node to update.
-
-[[GSHAG483]][[sthref18]]
-
-
-Example 3-15 Updating a `DCOM` Node
-
-This example updates the host that the node `wpmdl1` represents to
-`wj01`.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-dcom --nodehost wj01 wpmdl1
-Command update-node-dcom executed successfully.
-----
-
-[[GSHAG484]]
-
-See Also
-
-link:../reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help update-node-dcom` at the command line.
-
-[[gksjq]][[GSHAG00095]][[to-update-an-ssh-node]]
-
-To Update an `SSH` Node
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `update-node-ssh` subcommand in remote mode to update an `SSH`
-node.
-
-Options of this subcommand specify the new values of the node's
-configuration data. If you omit an option, the existing value is
-unchanged.
-
-[[GSHAG361]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* SSH is configured on the host where the DAS is running and on the host
-that the node represents.
-* The node that you are updating exists.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `update-node-ssh` subcommand. +
-[source,oac_no_warn]
-----
-asadmin> update-node-ssh options node-name
-----
-options::
-  Options of the `update-node-ssh` subcommand for changing the node's
-  configuration data. For information about these options, see the
-  link:../reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)] help page.
-node-name::
-  The name of the `SSH` node to update.
-
-[[GSHAG00029]][[gkslc]]
-
-
-Example 3-16 Updating an `SSH` Node
-
-This example updates the host that the node `sj01` represents to
-`adc01.example.com`.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-ssh --nodehost adc01.example.com sj01
-Command update-node-ssh executed successfully.
-----
-
-[[GSHAG362]]
-
-See Also
-
-link:../reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help update-node-ssh` at the command line.
-
-[[gksjv]][[GSHAG00096]][[to-update-a-config-node]]
-
-To Update a `CONFIG` Node
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `update-node-config` subcommand in remote mode to update a
-`CONFIG` node.
-
-Options of this subcommand specify the new values of the node's
-configuration data. If you omit an option, the existing value is
-unchanged.
-
-[[GSHAG363]]
-
-Before You Begin
-
-Ensure that the node that you are updating exists.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `update-node-config` subcommand. +
-[source,oac_no_warn]
-----
-asadmin> uupdate-node-config options node-name
-----
-options::
-  Options of the `update-node-config` subcommand for changing the node's
-  configuration data. For information about these options, see the
-  link:../reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)] help page.
-node-name::
-  The name of the `CONFIG` node to update.
-
-[[GSHAG00030]][[gkskc]]
-
-
-Example 3-17 Updating a `CONFIG` Node
-
-This example updates the host that the node `cfg02` represents to
-`adc02.example.com`.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-config --nodehost adc02.example.com cfg02
-Command update-node-config executed successfully.
-----
-
-[[GSHAG364]]
-
-See Also
-
-link:../reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help update-node-config` at the command line.
-
-[[gkski]][[GSHAG00097]][[to-change-the-type-of-a-node]]
-
-To Change the Type of a Node
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The subcommands for updating a node can also be used to change the type
-of a node.
-
-Changing the type of a `CONFIG` node enables remote communication for
-the node. The type of the node after the change determines the protocol
-over which the node is enabled for remote communication:
-
-* A `DCOM` node is enabled for communication over DCOM.
-* An `SSH` node is enabled for communication over SSH.
-
-As part of the process of changing the type of a node, you can also
-change other configuration data for the node.
-
-Options of the subcommands for updating a node specify the new values of
-the node's configuration data. For most options, if you omit the option,
-the existing value is unchanged. However, default values are applied in
-the following situations:
-
-* Any of the following options of the `update-node-dcom` subcommand is
-omitted:
-
-** `--windowsuser`
-
-** `--windowsdomain`
-* Any of the following options of the `update-node-ssh` subcommand is
-omitted:
-
-** `--sshport`
-
-** `--sshuser`
-
-** `--sshkeyfile`
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-Changing a `DCOM` node or an `SSH` node to a `CONFIG` node disables
-remote communication for the node.
-
-|=======================================================================
-
-
-[[GSHAG365]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* SSH or DCOM is configured on the host where the DAS is running and on
-the host that the node represents.
-* The node the type of which you are changing exists.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the appropriate subcommand for updating a node, depending on the
-type of the node after the change.
-* To change the type of a node to `DCOM`, run the `update-node-dcom`
-subcommand on the node. +
-[source,oac_no_warn]
-----
-asadmin> update-node-dcom [options] config-or-ssh-node-name
-----
-options::
-  Options of the `update-node-dcom` subcommand for changing the node's
-  configuration data. For information about these options, see the
-  link:../reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)] help page.
-config-or-ssh-node-name::
-  The name of the `CONFIG` node or the `SSH` node to change.
-* To change the type of a node to `SSH`, run the `update-node-ssh`
-subcommand on the node. +
-[source,oac_no_warn]
-----
-asadmin> update-node-ssh [options] config-or-dcom-node-name
-----
-options::
-  Options of the `update-node-ssh` subcommand for changing the node's
-  configuration data. For information about these options, see the
-  link:../reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)] help page.
-config-or-dcom-node-name::
-  The name of the `CONFIG` node or the `DCOM` node to change.
-* To change the type of a node to `CONFIG`, run the `update-node-config`
-subcommand on the node. +
-[source,oac_no_warn]
-----
-asadmin> update-node-config [options] dcom-or-ssh-node-name
-----
-options::
-  Options of the `update-node-config` subcommand for changing the node's
-  configuration data. For information about these options, see the
-  link:../reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)] help page.
-dcom-or-ssh-node-name::
-  The name of the `DCOM` node or the `SSH` node to change.
-
-[[GSHAG00031]][[gkshw]]
-
-
-Example 3-18 Changing a `CONFIG` Node to an `SSH` Node
-
-This example changes the `CONFIG` node `cfg02` to an `SSH` node.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-ssh cfg02
-Command update-node-ssh executed successfully.
-----
-
-[[GSHAG366]]
-
-See Also
-
-* link:../reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)]
-* link:../reference-manual/update-node-ssh.html#GSRFM789[`update-node-dcom`(1)]
-* link:../reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing the following commands at the command line.
-
-* `asadmin help update-node-config`
-* `asadmin help update-node-dcom`
-* `asadmin help update-node-ssh`
diff --git a/docs/ha-administration-guide/src/main/jbake/content/overview.adoc b/docs/ha-administration-guide/src/main/jbake/content/overview.adoc
deleted file mode 100644
index f74955e..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/overview.adoc
+++ /dev/null
@@ -1,475 +0,0 @@
-type=page
-status=published
-title=High Availability in GlassFish Server
-next=ssh-setup.html
-prev=preface.html
-~~~~~~
-High Availability in GlassFish Server
-=====================================
-
-[[GSHAG00002]][[abdaq]]
-
-
-[[high-availability-in-glassfish-server]]
-1 High Availability in GlassFish Server
----------------------------------------
-
-This chapter describes the high availability features in Eclipse GlassFish
-Server 5.1.
-
-The following topics are addressed here:
-
-* link:#abdar[Overview of High Availability]
-* link:#gaymr[How GlassFish Server Provides High Availability]
-* link:#gbcot[Recovering from Failures]
-* link:#abdaz[More Information]
-
-[[abdar]][[GSHAG00168]][[overview-of-high-availability]]
-
-Overview of High Availability
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-High availability applications and services provide their functionality
-continuously, regardless of hardware and software failures. To make such
-reliability possible, GlassFish Server provides mechanisms for
-maintaining application state data between clustered GlassFish Server
-instances. Application state data, such as HTTP session data, stateful
-EJB sessions, and dynamic cache information, is replicated in real time
-across server instances. If any one server instance goes down, the
-session state is available to the next failover server, resulting in
-minimum application downtime and enhanced transactional security.
-
-GlassFish Server provides the following high availability features:
-
-* link:#gksdm[Load Balancing With the Apache `mod_jk` or `mod_proxy_ajp`
-Module]
-* link:#gaynn[High Availability Session Persistence]
-* link:#gayna[High Availability Java Message Service]
-* link:#gaymz[RMI-IIOP Load Balancing and Failover]
-
-[[gksdm]][[GSHAG00252]][[load-balancing-with-the-apache-mod_jk-or-mod_proxy_ajp-module]]
-
-Load Balancing With the Apache `mod_jk` or `mod_proxy_ajp` Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A common load balancing configuration for GlassFish Server 4.0 is to use
-the Apache HTTP Server as the web server front-end, and the Apache
-`mod_jk` or `mod_proxy_ajp` module as the connector between the web
-server and GlassFish Server. See
-link:http-load-balancing.html#gksdt[Configuring GlassFish Server with
-Apache HTTP Server and `mod_jk`] and
-link:http-load-balancing.html#CHDCCGDC[Configuring GlassFish Server with
-Apache HTTP Server and `mod_proxy_ajp`] for more information.
-
-[[gaynn]][[GSHAG00253]][[high-availability-session-persistence]]
-
-High Availability Session Persistence
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server provides high availability of HTTP requests and session
-data (both HTTP session data and stateful session bean data).
-
-Java EE applications typically have significant amounts of session state
-data. A web shopping cart is the classic example of a session state.
-Also, an application can cache frequently-needed data in the session
-object. In fact, almost all applications with significant user
-interactions need to maintain session state. Both HTTP sessions and
-stateful session beans (SFSBs) have session state data.
-
-Preserving session state across server failures can be important to end
-users. If the GlassFish Server instance hosting the user session
-experiences a failure, the session state can be recovered, and the
-session can continue without loss of information. High availability is
-implemented in GlassFish Server by means of in-memory session
-replication on GlassFish Server instances running in a cluster.
-
-For more information about in-memory session replication in GlassFish
-Server, see link:#gaymr[How GlassFish Server Provides High
-Availability]. For detailed instructions on configuring high
-availability session persistence, see
-link:session-persistence-and-failover.html#abdkz[Configuring High
-Availability Session Persistence and Failover].
-
-[[gayna]][[GSHAG00254]][[high-availability-java-message-service]]
-
-High Availability Java Message Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server supports the Java Message Service (JMS) API and JMS
-messaging through its built-in jmsra resource adapter communicating with
-Open Message Queue as the JMS provider. This combination is often called
-the JMS Service.
-
-The JMS service makes JMS messaging highly available as follows:
-
-Message Queue Broker Clusters::
-  By default, when a GlassFish cluster is created, the JMS service
-  automatically configures a Message Queue broker cluster to provide JMS
-  messaging services, with one clustered broker assigned to each cluster
-  instance. This automatically created broker cluster is configurable to
-  take advantage of the two types of broker clusters, conventional and
-  enhanced, supported by Message Queue. +
-  Additionally, Message Queue broker clusters created and managed using
-  Message Queue itself can be used as external, or remote, JMS hosts.
-  Using external broker clusters provides additional deployment options,
-  such as deploying Message Queue brokers on different hosts from the
-  GlassFish instances they service, or deploying different numbers of
-  Message Queue brokers and GlassFish instances. +
-  For more information about Message Queue clustering, see
-  link:jms.html#abdbx[Using Message Queue Broker Clusters With GlassFish
-  Server].
-Connection Failover::
-  The use of Message Queue broker clusters allows connection failover in
-  the event of a broker failure. If the primary JMS host (Message Queue
-  broker) in use by a GlassFish instance fails, connections to the
-  failed JMS host will automatically fail over to another host in the
-  JMS host list, allowing messaging operations to continue and
-  maintaining JMS messaging semantics. +
-  For more information about JMS connection failover, see
-  link:jms.html#abdbv[Connection Failover].
-
-[[gaymz]][[GSHAG00255]][[rmi-iiop-load-balancing-and-failover]]
-
-RMI-IIOP Load Balancing and Failover
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-With RMI-IIOP load balancing, IIOP client requests are distributed to
-different server instances or name servers, which spreads the load
-evenly across the cluster, providing scalability. IIOP load balancing
-combined with EJB clustering and availability also provides EJB
-failover.
-
-When a client performs a JNDI lookup for an object, the Naming Service
-essentially binds the request to a particular server instance. From then
-on, all lookup requests made from that client are sent to the same
-server instance, and thus all `EJBHome` objects will be hosted on the
-same target server. Any bean references obtained henceforth are also
-created on the same target host. This effectively provides load
-balancing, since all clients randomize the list of target servers when
-performing JNDI lookups. If the target server instance goes down, the
-lookup or EJB method invocation will failover to another server
-instance.
-
-IIOP Load balancing and failover happens transparently. No special steps
-are needed during application deployment. If the GlassFish Server
-instance on which the application client is deployed participates in a
-cluster, the GlassFish Server finds all currently active IIOP endpoints
-in the cluster automatically. However, a client should have at least two
-endpoints specified for bootstrapping purposes, in case one of the
-endpoints has failed.
-
-For more information on RMI-IIOP load balancing and failover, see
-link:rmi-iiop.html#fxxqs[RMI-IIOP Load Balancing and Failover].
-
-[[gaymr]][[GSHAG00169]][[how-glassfish-server-provides-high-availability]]
-
-How GlassFish Server Provides High Availability
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server provides high availability through the following
-subcomponents and features:
-
-* link:#gjghv[Storage for Session State Data]
-* link:#abdax[Highly Available Clusters]
-
-[[gjghv]][[GSHAG00256]][[storage-for-session-state-data]]
-
-Storage for Session State Data
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Storing session state data enables the session state to be recovered
-after the failover of a server instance in a cluster. Recovering the
-session state enables the session to continue without loss of
-information. GlassFish Server supports in-memory session replication on
-other servers in the cluster for maintaining HTTP session and stateful
-session bean data.
-
-In-memory session replication is implemented in GlassFish Server 4.0 as
-an OSGi module. Internally, the replication module uses a consistent
-hash algorithm to pick a replica server instance within a cluster of
-instances. This allows the replication module to easily locate the
-replica or replicated data when a container needs to retrieve the data.
-
-The use of in-memory replication requires the Group Management Service
-(GMS) to be enabled. For more information about GMS, see
-link:clusters.html#gjfnl[Group Management Service].
-
-If server instances in a cluster are located on different hosts, ensure
-that the following prerequisites are met:
-
-* To ensure that GMS and in-memory replication function correctly, the
-hosts must be on the same subnet.
-* To ensure that in-memory replication functions correctly, the system
-clocks on all hosts in the cluster must be synchronized as closely as
-possible.
-
-[[abdax]][[GSHAG00257]][[highly-available-clusters]]
-
-Highly Available Clusters
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A highly available cluster integrates a state replication service with
-clusters and load balancer.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-When implementing a highly available cluster, use a load balancer that
-includes session-based stickiness as part of its load-balancing
-algorithm. Otherwise, session data can be misdirected or lost. An
-example of a load balancer that includes session-based stickiness is the
-Loadbalancer Plug-In available in Oracle GlassFish Server.
-
-|=======================================================================
-
-
-[[abday]][[GSHAG00218]][[clusters-instances-sessions-and-load-balancing]]
-
-Clusters, Instances, Sessions, and Load Balancing
-+++++++++++++++++++++++++++++++++++++++++++++++++
-
-Clusters, server instances, load balancers, and sessions are related as
-follows:
-
-* A server instance is not required to be part of a cluster. However, an
-instance that is not part of a cluster cannot take advantage of high
-availability through transfer of session state from one instance to
-other instances.
-* The server instances within a cluster can be hosted on one or multiple
-hosts. You can group server instances across different hosts into a
-cluster.
-* A particular load balancer can forward requests to server instances on
-multiple clusters. You can use this ability of the load balancer to
-perform an online upgrade without loss of service. For more information,
-see link:rolling-upgrade.html#abdin[Upgrading in Multiple Clusters].
-* A single cluster can receive requests from multiple load balancers. If
-a cluster is served by more than one load balancer, you must configure
-the cluster in exactly the same way on each load balancer.
-* Each session is tied to a particular cluster. Therefore, although you
-can deploy an application on multiple clusters, session failover will
-occur only within a single cluster.
-
-The cluster thus acts as a safe boundary for session failover for the
-server instances within the cluster. You can use the load balancer and
-upgrade components within the GlassFish Server without loss of service.
-
-[[gktax]][[GSHAG00219]][[protocols-for-centralized-cluster-administration]]
-
-Protocols for Centralized Cluster Administration
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-GlassFish Server uses the Distributed Component Object Model (DCOM)
-remote protocol or secure shell (SSH) to ensure that clusters that span
-multiple hosts can be administered centrally. To perform administrative
-operations on GlassFish Server instances that are remote from the domain
-administration server (DAS), the DAS must be able to communicate with
-those instances. If an instance is running, the DAS connects to the
-running instance directly. For example, when you deploy an application
-to an instance, the DAS connects to the instance and deploys the
-application to the instance.
-
-However, the DAS cannot connect to an instance to perform operations on
-an instance that is not running, such as creating or starting the
-instance. For these operations, the DAS uses DCOM or SSH to contact a
-remote host and administer instances there. DCOM or SSH provides
-confidentiality and security for data that is exchanged between the DAS
-and remote hosts.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The use of DCOM or SSH to enable centralized administration of remote
-instances is optional. If the use of DCOM SSH is not feasible in your
-environment, you can administer remote instances locally.
-
-|=======================================================================
-
-
-For more information, see link:ssh-setup.html#gkshg[Enabling Centralized
-Administration of GlassFish Server Instances].
-
-[[gbcot]][[GSHAG00170]][[recovering-from-failures]]
-
-Recovering from Failures
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can use various techniques to manually recover individual
-subcomponents after hardware failures such as disk crashes.
-
-The following topics are addressed here:
-
-* link:#gcmkp[Recovering the Domain Administration Server]
-* link:#gcmkc[Recovering GlassFish Server Instances]
-* link:#gcmjs[Recovering the HTTP Load Balancer and Web Server]
-* link:#gcmjr[Recovering Message Queue]
-
-[[gcmkp]][[GSHAG00258]][[recovering-the-domain-administration-server]]
-
-Recovering the Domain Administration Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Loss of the Domain Administration Server (DAS) affects only
-administration. GlassFish Server clusters and standalone instances, and
-the applications deployed to them, continue to run as before, even if
-the DAS is not reachable
-
-Use any of the following methods to recover the DAS:
-
-* Back up the domain periodically, so you have periodic snapshots. After
-a hardware failure, re-create the DAS on a new host, as described in
-"link:../administration-guide/domains.html#GSADG00542[Re-Creating the Domain Administration Server (DAS)]"
-in Eclipse GlassFish Server Administration Guide.
-* Put the domain installation and configuration on a shared and robust
-file system (NFS for example). If the primary DAS host fails, a second
-host is brought up with the same IP address and will take over with
-manual intervention or user supplied automation.
-* Zip the GlassFish Server installation and domain root directory.
-Restore it on the new host, assigning it the same network identity.
-
-[[gcmkc]][[GSHAG00259]][[recovering-glassfish-server-instances]]
-
-Recovering GlassFish Server Instances
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server provide tools for backing up and restoring GlassFish
-Server instances. For more information, see link:instances.html#gksdy[To
-Resynchronize an Instance and the DAS Offline].
-
-[[gcmjs]][[GSHAG00260]][[recovering-the-http-load-balancer-and-web-server]]
-
-Recovering the HTTP Load Balancer and Web Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There are no explicit commands to back up only a web server
-configuration. Simply zip the web server installation directory. After
-failure, unzip the saved backup on a new host with the same network
-identity. If the new host has a different IP address, update the DNS
-server or the routers.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-This assumes that the web server is either reinstalled or restored from
-an image first.
-
-|=======================================================================
-
-
-The Load Balancer Plug-In (`plugins` directory) and configurations are
-in the web server installation directory, typically `/opt/SUNWwbsvr`.
-The web-install`/`web-instance`/config` directory contains the
-`loadbalancer.xml` file.
-
-[[gcmjr]][[GSHAG00261]][[recovering-message-queue]]
-
-Recovering Message Queue
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-When a Message Queue broker becomes unavailable, the method you use to
-restore the broker to operation depends on the nature of the failure
-that caused the broker to become unavailable:
-
-* Power failure or failure other than disk storage
-* Failure of disk storage
-
-Additionally, the urgency of restoring an unavailable broker to
-operation depends on the type of the broker:
-
-* Standalone Broker. When a standalone broker becomes unavailable, both
-service availability and data availability are interrupted. Restore the
-broker to operation as soon as possible to restore availability.
-* Broker in a Conventional Cluster. When a broker in a conventional
-cluster becomes unavailable, service availability continues to be
-provided by the other brokers in the cluster. However, data availability
-of the persistent data stored by the unavailable broker is interrupted.
-Restore the broker to operation to restore availability of its
-persistent data.
-* Broker in an Enhanced Cluster. When a broker in an enhanced cluster
-becomes unavailable, service availability and data availability continue
-to be provided by the other brokers in the cluster. Restore the broker
-to operation to return the cluster to its previous capacity.
-
-[[glaiv]][[GSHAG00220]][[recovering-from-power-failure-and-failures-other-than-disk-storage]]
-
-Recovering From Power Failure and Failures Other Than Disk Storage
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-When a host is affected by a power failure or failure of a non-disk
-component such as memory, processor or network card, restore Message
-Queue brokers on the affected host by starting the brokers after the
-failure has been remedied.
-
-To start brokers serving as Embedded or Local JMS hosts, start the
-GlassFish instances the brokers are servicing. To start brokers serving
-as Remote JMS hosts, use the `imqbrokerd` Message Queue utility.
-
-[[glaiu]][[GSHAG00221]][[recovering-from-failure-of-disk-storage]]
-
-Recovering from Failure of Disk Storage
-+++++++++++++++++++++++++++++++++++++++
-
-Message Queue uses disk storage for software, configuration files and
-persistent data stores. In a default GlassFish installation, all three
-of these are generally stored on the same disk: the Message Queue
-software in as-install-parent`/mq`, and broker configuration files and
-persistent data stores (except for the persistent data stores of
-enhanced clusters, which are housed in highly available databases) in
-domain-dir`/imq`. If this disk fails, restoring brokers to operation is
-impossible unless you have previously created a backup of these items.
-To create such a backup, use a utility such as `zip`, `gzip` or `tar` to
-create archives of these directories and all their content. When
-creating the backup, you should first quiesce all brokers and physical
-destinations, as described in "link:../../openmq/mq-admin-guide/broker-management.html#GMADG00522[Quiescing a Broker]" and
-"link:../../openmq/mq-admin-guide/message-delivery.html#GMADG00533[Pausing and Resuming a Physical Destination]" in Open
-Message Queue Administration Guide, respectively. Then, after the failed
-disk is replaced and put into service, expand the backup archive into
-the same location.
-
-Restoring the Persistent Data Store From Backup. For many messaging
-applications, restoring a persistent data store from backup does not
-produce the desired results because the backed up store does not
-represent the content of the store when the disk failure occurred. In
-some applications, the persistent data changes rapidly enough to make
-backups obsolete as soon as they are created. To avoid issues in
-restoring a persistent data store, consider using a RAID or SAN data
-storage solution that is fault tolerant, especially for data stores in
-production environments.
-
-[[abdaz]][[GSHAG00171]][[more-information]]
-
-More Information
-~~~~~~~~~~~~~~~~
-
-For information about planning a high-availability deployment, including
-assessing hardware requirements, planning network configuration, and
-selecting a topology, see the link:../deployment-planning-guide/toc.html#GSPLG[GlassFish Server Open Source
-Edition Deployment Planning Guide]. This manual also provides a
-high-level introduction to concepts such as:
-
-* GlassFish Server components such as node agents, domains, and clusters
-* IIOP load balancing in a cluster
-* Message queue failover
-
-For more information about developing applications that take advantage
-of high availability features, see the link:../application-development-guide/toc.html#GSDVG[GlassFish Server Open
-Source Edition Application Development Guide].
-
-For information on how to configure and tune applications and GlassFish
-Server for best performance with high availability, see the
-link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server Open Source Edition Performance Tuning
-Guide], which discusses topics such as:
-
-* Tuning persistence frequency and persistence scope
-* Checkpointing stateful session beans
-* Configuring the JDBC connection pool
-* Session size
-* Configuring load balancers for best performance
diff --git a/docs/ha-administration-guide/src/main/jbake/content/preface.adoc b/docs/ha-administration-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 920e079..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,298 +0,0 @@
-type=page
-status=published
-title=Preface
-next=overview.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSHAG00001]][[pref]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This book describes the high-availability features in GlassFish Server,
-including converged load balancing, HTTP load balancing, clusters,
-session persistence and failover.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The main thrust of the GlassFish Server Open Source Edition 4.0 release
-is to provide an application server for developers to explore and begin
-exploiting the new and updated technologies in the Java EE 7 platform.
-Thus, the clustering, standalone instance and high availability features
-of GlassFish Server were not a focus of this release. These features are
-included in the release, but they may not function properly with some of
-the new features added in support of the Java EE 7 platform.
-
-|=======================================================================
-
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 4.0 is developed through the GlassFish project
-open-source community at `http://glassfish.java.net/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-[[GSHAG00163]][[gksfg]]
-
-
-[[oracle-glassfish-server-documentation-set]]
-Oracle GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="<30%,<70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSHAG00165]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="<14%,<37%,<49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSHAG00166]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSHAG00164]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
diff --git a/docs/ha-administration-guide/src/main/jbake/content/rmi-iiop.adoc b/docs/ha-administration-guide/src/main/jbake/content/rmi-iiop.adoc
deleted file mode 100644
index c79e18b..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/rmi-iiop.adoc
+++ /dev/null
@@ -1,490 +0,0 @@
-type=page
-status=published
-title=RMI-IIOP Load Balancing and Failover
-prev=jms.html
-~~~~~~
-RMI-IIOP Load Balancing and Failover
-====================================
-
-[[GSHAG00013]][[fxxqs]]
-
-
-[[rmi-iiop-load-balancing-and-failover]]
-11 RMI-IIOP Load Balancing and Failover
----------------------------------------
-
-This chapter describes using high-availability features for remote EJB
-references and JNDI objects over RMI-IIOP in GlassFish Server.
-
-* link:#abdbe[Overview]
-* link:#gknqo[`InitialContext` Load Balancing]
-* link:#gknpv[Per-Request Load Balancing (PRLB)]
-
-[[abdbe]][[GSHAG00215]][[overview]]
-
-Overview
-~~~~~~~~
-
-With RMI-IIOP load balancing, IIOP client requests are distributed to
-different server instances or name servers. The goal is to spread the
-load evenly across the cluster, thus providing scalability. IIOP load
-balancing combined with EJB clustering and availability also provides
-EJB failover.
-
-The following topics are addressed here:
-
-* link:#abdbf[General Requirements for Configuring Load Balancing]
-* link:#gknpk[Load Balancing Models]
-
-[[abdbf]][[GSHAG00313]][[general-requirements-for-configuring-load-balancing]]
-
-General Requirements for Configuring Load Balancing
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Oracle GlassFish Server provides high availability of remote EJB
-references and `NameService` objects over RMI-IIOP, provided all the
-following apply:
-
-* Your deployment has a cluster of at least two instances.
-* Java EE applications are deployed to all instances and clusters that
-participate in load balancing.
-* RMI-IIOP client applications are enabled for load balancing.
-
-GlassFish Server supports load balancing for Java applications executing
-in the Application Client Container (ACC). See link:#abdbd[Enabling
-RMI-IIOP Hardware Load Balancing and Failover].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-GlassFish Server does not support RMI-IIOP load balancing and failover
-over secure sockets layer (SSL).
-
-|=======================================================================
-
-
-[[gknpk]][[GSHAG00314]][[load-balancing-models]]
-
-Load Balancing Models
-^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server supports two general models for load balancing:
-
-link:#gknqo[`InitialContext` Load Balancing]::
-  When a client performs a JNDI lookup for an object, the Naming Service
-  creates a `InitialContext` (IC) object associated with a particular
-  server instance. From then on, all lookup requests made using that IC
-  object are sent to the same server instance. `InitialContext` load
-  balancing can be configured automatically across an entire cluster.
-link:#gknpv[Per-Request Load Balancing (PRLB)]::
-  Per Request Load Balancing (PRLB) is a method for load balancing
-  stateless EJBs that enables load-balancing for each request to an EJB
-  instance. PRLB chooses the first node in a cluster to use on each
-  request. PRLB is configured on a per-EJB basis.
-
-[[gknqo]][[GSHAG00216]][[initialcontext-load-balancing]]
-
-`InitialContext` Load Balancing
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#gknpn[`InitialContext` Summary]
-* link:#abdbg[`InitialContext` Algorithm]
-* link:#abdbd[Enabling RMI-IIOP Hardware Load Balancing and Failover]
-
-[[gknpn]][[GSHAG00315]][[initialcontext-summary]]
-
-`InitialContext` Summary
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-When `InitialContext` load balancing is used, the client calls the
-`InitialContext()` method to create a new `InitialContext` (IC) object
-that is associated with a particular server instance. JNDI lookups are
-then performed on that IC object, and all lookup requests made using
-that IC object are sent to the same server instance. All `EJBHome`
-objects looked up with that `InitialContext` are hosted on the same
-target server. Any bean references obtained henceforth are also created
-on the same target host. This effectively provides load balancing, since
-all clients randomize the list of live target servers when creating
-`InitialContext` objects. If the target server instance goes down, the
-lookup or EJB method invocation will failover to another server
-instance. All objects derived from same `InitialContext` will failover
-to the same server instance.
-
-IIOP load balancing and failover happens transparently. No special steps
-are needed during application deployment. IIOP load balancing and
-failover for the GlassFish Server supports dynamically reconfigured
-clusters. If the GlassFish Server instance on which the application
-client is deployed participates in a cluster, the GlassFish Server finds
-all currently active IIOP endpoints in the cluster automatically.
-Therefore, you are not required to manually update the list of endpoints
-if a new instance is added to the cluster or deleted from the cluster.
-However, a client should have at least two endpoints specified for
-bootstrapping purposes, in case one of the endpoints has failed.
-
-[[abdbg]][[GSHAG00316]][[initialcontext-algorithm]]
-
-`InitialContext` Algorithm
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server uses a randomization and round-robin algorithm for
-RMI-IIOP load balancing and failover.
-
-When an RMI-IIOP client first creates a new `InitialContext` object, the
-list of available GlassFish Server IIOP endpoints is randomized for that
-client. For that `InitialContext` object, the load balancer directs
-lookup requests and other `InitialContext` operations to an endpoint on
-the randomized list. If that endpoint is not available then a different
-random endpoint in the list is used.
-
-Each time the client subsequently creates a new `InitialContext` object,
-the endpoint list is rotated so that a different IIOP endpoint is used
-for `InitialContext` operations. The rotation is randomized, so the
-rotation is not to the next endpoint in the list, but instead to a
-random endpoint in the list.
-
-When you obtain or create beans from references obtained by an
-`InitialContext` object, those beans are created on the GlassFish Server
-instance serving the IIOP endpoint assigned to the `InitialContext`
-object. The references to those beans contain the IIOP endpoint
-addresses of all GlassFish Server instances in the cluster.
-
-The primary endpoint is the bean endpoint corresponding to the
-`InitialContext` endpoint used to look up or create the bean. The other
-IIOP endpoints in the cluster are designated as alternate endpoints. If
-the bean's primary endpoint becomes unavailable, further requests on
-that bean fail over to one of the alternate endpoints.
-
-You can configure RMI-IIOP load balancing and failover to work with
-applications running in the ACC.
-
-[[abdbd]][[GSHAG00317]][[enabling-rmi-iiop-hardware-load-balancing-and-failover]]
-
-Enabling RMI-IIOP Hardware Load Balancing and Failover
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can enable RMI-IIOP load balancing and failover for applications
-running in the application client container (ACC). Weighted round-robin
-load balancing is also supported.
-
-[[abdbi]][[GSHAG00161]][[to-enable-rmi-iiop-hardware-load-balancing-for-the-application-client-container]]
-
-To Enable RMI-IIOP Hardware Load Balancing for the Application Client Container
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-This procedure provides an overview of the steps necessary to enable
-RMI-IIOP load balancing and failover with the application client
-container (ACC). For additional information on the ACC, see
-"link:../application-development-guide/java-clients.html#GSDVG00160[Developing Clients Using the ACC]" in GlassFish Server
-Open Source Edition Application Development Guide.
-
-[[GSHAG440]]
-
-Before You Begin
-
-The first five steps in this procedure are only necessary if you are
-enabling RMI-IIOP load balancing on a system other than the DAS. This is
-common in production environment, but less common in a development
-environment. For example, a developer who wants to experiment with a
-cluster and load balancing might create two instances on the same system
-on which the DAS is running. In such cases, these steps are unnecessary.
-
-1.  Go to the install_dir `/bin` directory.
-2.  Run `package-appclient`. +
-This utility produces an `appclient.jar` file. For more information on
-`package-appclient`, see link:../reference-manual/package-appclient.html#GSRFM00264[`package-appclient`(1M)].
-3.  Copy the `appclient.jar` file to the machine where you want your
-client and extract it.
-4.  Edit the `asenv.conf` or `asenv.bat` path variables to refer to the
-correct directory values on that machine. +
-The file is at appclient-install-dir `/config/`. +
-For a list of the path variables to update, see
-link:../reference-manual/package-appclient.html#GSRFM00264[`package-appclient`(1M)].
-5.  If required, make the `appclient` script executable. +
-For example, on UNIX use `chmod 700`.
-6.  [[gevjb]]
-Find the IIOP listener port number for at least two instances in the
-cluster.
-
-You specify the IIOP listeners as endpoints in link:#gevkc[Add at least
-two `target-server` elements in the `sun-acc.xml` file.].
-
-For each instance, obtain the IIOP listener ports as follows:
-
-1.  Verify that the instances for which you want to determine the IIOP
-listener port numbers are running. +
-[source,oac_no_warn]
-----
-asadmin> list-instances
-----
-A list of instances and their status (running, not running) is
-displayed. +
-The instances for which you want to display the IIOP listener ports must
-be running.
-2.  For each instance, enter the following command to list the various
-port numbers used by the instance. +
-[source,oac_no_warn]
-----
-asadmin> get servers.server.instance-name.system-property.*.value
-----
-For example, for an instance name `in1`, you would enter the following
-command: +
-[source,oac_no_warn]
-----
-asadmin> get servers.server.in1.system-property.*.value
-----
-7.  [[gevkc]]
-Add at least two `target-server` elements in the `sun-acc.xml` file.
-
-Use the endpoints that you obtained in link:#gevjb[Find the IIOP
-listener port number for at least two instances in the cluster.].
-
-If the GlassFish Server instance on which the application client is
-deployed participates in a cluster, the ACC finds all currently active
-IIOP endpoints in the cluster automatically. However, a client should
-have at least two endpoints specified for bootstrapping purposes, in
-case one of the endpoints has failed.
-
-The `target-server` element specifies one or more IIOP endpoints used
-for load balancing. The `address` attribute is an IPv4 address or host
-name, and the `port` attribute specifies the port number. See
-"link:../application-deployment-guide/dd-elements.html#GSDPG00111[client-container]" in GlassFish Server Open Source
-Edition Application Deployment Guide.
-
-As an alternative to using `target-server` elements, you can use the
-`endpoints` property as follows:
-
-[source,oac_no_warn]
-----
-jvmarg value = "-Dcom.sun.appserv.iiop.endpoints=host1:port1,host2:port2,..."
-----
-8.  If you require weighted round-robin load balancing, perform the
-following steps:
-1.  Set the load-balancing weight of each server instance. +
-[source,oac_no_warn]
-----
-asadmin set instance-name.lb-weight=weight
-----
-2.  In the `sun-acc.xml`, set the
-`com.sun.appserv.iiop.loadbalancingpolicy` property of the ACC to
-`ic-based-weighted`. +
-[source,oac_no_warn]
-----
-…
-<client-container send-password="true">
-  <property name="com.sun.appserv.iiop.loadbalancingpolicy" \
-     value="ic-based-weighed"/>
-…
-----
-9.  Deploy your client application with the `--retrieve` option to get
-the client jar file. +
-Keep the client jar file on the client machine. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin  --user admin --passwordfile pw.txt deploy --target cluster1 \
---retrieve my_dir myapp.ear
-----
-10. Run the application client as follows: +
-[source,oac_no_warn]
-----
-appclient --client my_dir/myapp.jar
-----
-
-[[GSHAG00070]][[gfohj]]
-
-
-Example 11-1 Setting Load-Balancing Weights for RMI-IIOP Weighted
-Round-Robin Load Balancing
-
-In this example, the load-balancing weights in a cluster of three
-instances are to be set as shown in the following table.
-
-[width="100%",cols="<44%,<56%",options="header",]
-|====================================
-|Instance Name |Load-Balancing Weight
-|`i1` |100
-|`i2` |200
-|`i3` |300
-|====================================
-
-
-The sequence of commands to set these load balancing weights is as
-follows:
-
-[source,oac_no_warn]
-----
-asadmin set i1.lb-weight=100
-asadmin set i2.lb-weight=200
-asadmin set i3.lb-weight=300
-----
-
-[[GSHAG441]]
-
-Next Steps
-
-To test failover, stop one instance in the cluster and see that the
-application functions normally. You can also have breakpoints (or
-sleeps) in your client application.
-
-To test load balancing, use multiple clients and see how the load gets
-distributed among all endpoints.
-
-[[GSHAG442]]
-
-See Also
-
-See link:session-persistence-and-failover.html#abdle[Enabling the High
-Availability Session Persistence Service] for instructions on enabling
-the session availability service for a cluster or for a Web, EJB, or JMS
-container running in a cluster.
-
-[[gknpv]][[GSHAG00217]][[per-request-load-balancing-prlb]]
-
-Per-Request Load Balancing (PRLB)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#gksgt[PRLB Summary]
-* link:#gksgy[Enabling Per-Request Load Balancing]
-
-[[gksgt]][[GSHAG00318]][[prlb-summary]]
-
-PRLB Summary
-^^^^^^^^^^^^
-
-Per Request Load Balancing (PRLB) is a method for load balancing
-stateless EJBs that enables load-balancing for each request to an EJB
-instance. PRLB chooses the first node in a cluster to use on each
-request. By contrast, `InitialContext` (hardware) load balancing chooses
-the first node to use when the `InitialContext` is created, and each
-request thereafter uses the same node unless a failure occurred.
-
-PRLB is enabled by means of the boolean `per-request-load-balancing`
-property in the `glassfish-ejb-jar.xml` deployment descriptor file for
-the EJB. If this property is not set, the original load balancing
-behavior is preserved.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-PRLB is only supported for stateless session beans. Using PRLB with any
-other bean types will result in a deployment error.
-
-|=======================================================================
-
-
-[[gksgy]][[GSHAG00319]][[enabling-per-request-load-balancing]]
-
-Enabling Per-Request Load Balancing
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can enable Per-Request Load Balancing (PRLB) by setting the boolean
-`per-request-load-balancing` property to `true` in the
-`glassfish-ejb-jar.xml` deployment descriptor file for the EJB. On the
-client side, the `initContext.lookup` method is used to access the
-stateless EJB.
-
-[[gksgo]][[GSHAG00162]][[to-enable-rmi-iiop-per-request-load-balancing-for-a-stateless-ejb]]
-
-To Enable RMI-IIOP Per-Request Load Balancing for a Stateless EJB
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-This procedure describes how to enable PRLB for a stateless EJB that is
-deployed to clustered GlassFish Server instances. This procedure also
-provides an client-side example for accessing a stateless EJB that uses
-PRLB.
-
-1.  Choose or assemble the EJB that you want to deploy. +
-In this example, an EJB named `TheGreeter` is used. +
-For instructions on developing and assembling an EJB for deployment to
-GlassFish Server, refer to the following documentation:
-* "link:../application-development-guide/ejb.html#GSDVG00010[Using Enterprise JavaBeans Technology]" in GlassFish
-Server Open Source Edition Application Development Guide
-* "link:../application-deployment-guide/deploying-applications.html#GSDPG00068[EJB Module Deployment Guidelines]" in GlassFish
-Server Open Source Edition Application Deployment Guide
-* "link:../application-deployment-guide/deploying-applications.html#GSDPG00070[Assembling and Deploying an Application Client
-Module]" in GlassFish Server Open Source Edition Application Deployment
-Guide
-2.  Set the `per-request-load-balancing` property to `true` in the
-`glassfish-ejb-jar.xml` deployment descriptor file for the EJB. +
-For more information about the `glassfish-ejb-jar.xml` deployment
-descriptor file, refer to "link:../application-deployment-guide/dd-files.html#GSDPG00079[The glassfish-ejb-jar.xml
-File]" in GlassFish Server Open Source Edition Application Deployment
-Guide +
-For example, the `glassfish-ejb-jar.xml` file for a sample EJB named
-`TheGreeter` is listed below. +
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-  <enterprise-beans>
-    <unique-id>1</unique-id>
-    <ejb>
-      <ejb-name>TheGreeter</ejb-name>
-    <jndi-name>greeter</jndi-name>
-    <per-request-load-balancing>true</per-request-load-balancing>
-    </ejb>
-  </enterprise-beans>
-</glassfish-ejb-jar>
-----
-3.  Deploy the EJB. +
-If the EJB was previously deployed, it must be redployed. +
-For instructions on deploying EJBs, refer to the following
-documentation:
-* "link:../application-deployment-guide/deploying-applications.html#GSDPG00033[To Deploy an Application or Module]" in GlassFish
-Server Open Source Edition Application Deployment Guide
-* "link:../application-deployment-guide/deploying-applications.html#GSDPG00036[To Redeploy an Application or Module]" in GlassFish
-Server Open Source Edition Application Deployment Guide
-4.  Verify the PRLB configuration by looking for the following `FINE`
-message in the CORBA log file: +
-[source,oac_no_warn]
-----
-Setting per-request-load-balancing policyfor EJB EJB-name
-----
-5.  Configure a client application to access the PRLB-enabled EJB. +
-For example: +
-[source,oac_no_warn]
-----
-public class EJBClient {
-    public static void main(String args[]) {
-    :
-    :
-    :
-    try {
-    // only one lookup
-
-    Object objref = initContext.lookup("test.cluster.loadbalancing.ejb.\
-      TestSessionBeanRemote");
-        myGreeterRemote = (TestSessionBeanRemote)PortableRemoteObject.narrow\
-          (objref,
-                                            TestSessionBeanRemote.class);
-
-    } catch (Exception e) {
-    :
-    }
-
-    for (int i=0; i < 10; i++ ) {
-    // method calls in a loop.
-        String theMessage = myGreeterRemote.sayHello(Integer.toString(i));
-        System.out.println("got"+": " + theMessage);
-        }
-    }
-}
-----
-
-[[GSHAG443]]
-
-See Also
-
-See link:session-persistence-and-failover.html#abdle[Enabling the High
-Availability Session Persistence Service] for instructions on enabling
-the session availability service for a cluster or for a Web, EJB, or JMS
-container running in a cluster.
diff --git a/docs/ha-administration-guide/src/main/jbake/content/rolling-upgrade.adoc b/docs/ha-administration-guide/src/main/jbake/content/rolling-upgrade.adoc
deleted file mode 100644
index 6546063..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/rolling-upgrade.adoc
+++ /dev/null
@@ -1,268 +0,0 @@
-type=page
-status=published
-title=Upgrading Applications Without Loss of Availability
-next=session-persistence-and-failover.html
-prev=http-load-balancing.html
-~~~~~~
-Upgrading Applications Without Loss of Availability
-===================================================
-
-[[GSHAG00010]][[abdik]]
-
-
-[[upgrading-applications-without-loss-of-availability]]
-8 Upgrading Applications Without Loss of Availability
------------------------------------------------------
-
-Upgrading an application to a new version without loss of availability
-to users is called a rolling upgrade. Carefully managing the two
-versions of the application across the upgrade ensures that current
-users of the application complete their tasks without interruption,
-while new users transparently get the new version of the application.
-With a rolling upgrade, users are unaware that the upgrade occurs.
-
-For more information about application versions and how they are
-identified, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-GlassFish Server Open Source Edition Application Deployment Guide.
-
-In a clustered environment, a rolling upgrade redeploys an application
-with a minimal loss of service and sessions. A session is any artifact
-that can be replicated, for example:
-
-* `HttpSession`
-* `SingleSignOn`
-* `ServletTimer`
-* `DialogFragment`
-* Stateful session bean
-
-A rolling upgrade can take place under light to moderate loads. The
-procedure requires about 10-15 minutes for each GlassFish Server
-instance.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Caution:
-
-To prevent the risk of version mismatch when a session fails over,
-upgrade all instances in a cluster at the same time. Otherwise a session
-might fail over to an instance where different versions of components
-are running.
-
-|=======================================================================
-
-
-Perform this task on each cluster separately. A cluster acts as a safe
-boundary for session failover for instances in the cluster. Sessions in
-one cluster can never fail over to sessions in another cluster.
-Therefore, the risk of version mismatch is avoided.
-
-[[abdil]][[GSHAG00205]][[application-compatibility]]
-
-Application Compatibility
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Rolling upgrades pose varying degrees of difficulty depending on the
-magnitude of changes between the two application versions.
-
-If the changes are superficial, for example, changes to static text and
-images, the two versions of the application are compatible and can both
-run at once in the same cluster.
-
-Compatible applications must:
-
-* Use the same session information
-* Use compatible database schemas
-* Have generally compatible application-level business logic
-* Use the same physical data source
-
-You can perform a rolling upgrade of a compatible application in either
-a single cluster or multiple clusters. For more information, see
-link:#abdim[Upgrading In a Single Cluster].
-
-If the two versions of an application do not meet all the above
-criteria, then the applications are considered incompatible. Executing
-incompatible versions of an application in one cluster can corrupt
-application data and cause session failover to not function correctly.
-The problems depend on the type and extent of the incompatibility. It is
-good practice to upgrade an incompatible application by creating a
-"shadow cluster" to which to deploy the new version and slowly quiesce
-the old cluster and application. For more information, see
-link:#abdio[Upgrading Incompatible Applications].
-
-The application developer and administrator are the best people to
-determine whether application versions are compatible. If in doubt,
-assume that the versions are incompatible, since this is the safest
-approach.
-
-[[abdim]][[GSHAG00206]][[upgrading-in-a-single-cluster]]
-
-Upgrading In a Single Cluster
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can perform a rolling upgrade of an application deployed to a single
-cluster, providing the cluster's configuration is not shared with any
-other cluster.
-
-[[fxxvd]][[GSHAG00151]][[to-upgrade-an-application-in-a-single-cluster]]
-
-To Upgrade an Application in a Single Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Deploy the upgraded application to the cluster in a disabled state
-and with a new version identifier. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> asadmin deploy --enabled=false --target myCluster myApp:1.1
-----
-2.  Perform the following steps for each server instance in the cluster.
-1.  Quiesce one server instance in the cluster from the load balancer. +
-Follow these steps:
-1.  Disable the server instance using `asadmin disable-http-lb-server.`
-2.  Export the load balancer configuration file using
-`asadmin export-http-lb-config`.
-3.  Copy the exported configuration file to the web server instance's
-configuration directory. +
-For example, for Sun Java System Web Server, the location is
-web-server-install-dir`/``https-`host-name`/config/loadbalancer.xml`.
-4.  Wait until the timeout has expired. +
-Monitor the load balancer's log file.
-2.  Enable the upgraded application version on the quiesced server
-instance. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> asadmin enable --target instance01 myApp:1.1
-----
-Enabling the upgraded application version automatically disables the
-previous version.
-3.  Test the upgraded application on the server instance to make sure it
-runs correctly.
-4.  Re-enable the server instance in load balancer. +
-Follow these steps:
-1.  Enable the server instance using `asadmin enable-http-lb-server.`
-2.  Export the load balancer configuration file using
-`asadmin export-http-lb-config`.
-3.  Copy the configuration file to the web server's configuration
-directory.
-
-[[abdin]][[GSHAG00207]][[upgrading-in-multiple-clusters]]
-
-Upgrading in Multiple Clusters
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[fxxvb]][[GSHAG00152]][[to-upgrade-a-compatible-application-in-two-or-more-clusters]]
-
-To Upgrade a Compatible Application in Two or More Clusters
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Repeat the following procedure for each cluster.
-
-1.  Deploy the upgraded application to one cluster in a disabled state
-and with a new version identifier. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> asadmin deploy --enabled=false --target myCluster myApp:1.1
-----
-2.  Quiesce the cluster with the upgraded application from the load
-balancer.
-1.  Disable the cluster using `asadmin disable-http-lb-server`.
-2.  Export the load balancer configuration file using
-`asadmin export-http-lb-config`.
-3.  Copy the exported configuration file to the web server instance's
-configuration directory. +
-For example, for Sun Java System Web Server, the location is
-web-server-install-dir/`https-`host-name`/config/loadbalancer.xml`.
-4.  Wait until the timeout has expired. +
-Monitor the load balancer's log file.
-3.  Enable the upgraded application version on the quiesced cluster. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> asadmin enable --target myCluster myApp:1.1
-----
-Enabling the upgraded application version automatically disables the
-previous version.
-4.  Test the upgraded application on the cluster to make sure it runs
-correctly.
-5.  Enable the cluster in the load balancer:
-1.  Enable the cluster using `asadmin enable-http-lb-server.`
-2.  Export the load balancer configuration file using
-`asadmin export-http-lb-config`.
-3.  Copy the configuration file to the web server's configuration
-directory.
-
-[[abdio]][[GSHAG00208]][[upgrading-incompatible-applications]]
-
-Upgrading Incompatible Applications
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If the new version of the application is incompatible with the old
-version, use the following procedure. For information on what makes
-applications compatible, see link:#abdil[Application Compatibility].
-Also, you must upgrade incompatible application in two or more clusters.
-If you have only one cluster, create a "shadow cluster" for the upgrade,
-as described below.
-
-When upgrading an incompatible application:
-
-* Give the new version of the application a different version identifier
-from the old version of the application. The steps below assume that the
-application has a new version identifier.
-* If the data schemas are incompatible, use different physical data
-sources after planning for data migration.
-* Deploy the new version to a different cluster from the cluster where
-the old version is deployed.
-* Set an appropriately long timeout for the cluster running the old
-application before you take it offline, because the requests for the
-application won't fail over to the new cluster. These user sessions will
-simply fail.
-
-[[abdip]][[GSHAG00153]][[to-upgrade-an-incompatible-application-by-creating-a-second-cluster]]
-
-To Upgrade an Incompatible Application by Creating a Second Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Create a "shadow cluster" on the same or a different set of machines
-as the existing cluster. If you already have a second cluster, skip this
-step.
-1.  Use the Administration Console to create the new cluster and
-reference the existing cluster's named configuration. +
-Customize the ports for the new instances on each machine to avoid
-conflict with existing active ports.
-2.  For all resources associated with the cluster, add a resource
-reference to the newly created cluster using
-`asadmin create-resource-ref`.
-3.  Create a reference to all other applications deployed to the cluster
-(except the current upgraded application) from the newly created cluster
-using `asadmin create-application-ref`.
-4.  Configure the cluster to be highly available using
-`asadmin configure-ha-cluster`.
-5.  Create reference to the newly-created cluster in the load balancer
-configuration file using `asadmin create-http-lb-ref.`
-2.  Give the new version of the application a different version
-identifier from the old version.
-3.  Deploy the new application version with the new cluster as the
-target. Use a different context root or roots.
-4.  Start the new cluster while the other cluster is still running. +
-The start causes the cluster to synchronize with the domain and be
-updated with the new application.
-5.  Test the application on the new cluster to make sure it runs
-correctly.
-6.  Disable the old cluster from the load balancer using
-`asadmin disable-http-lb-server`.
-7.  Set a timeout for how long lingering sessions survive.
-8.  Enable the new cluster from the load balancer using
-`asadmin enable-http-lb-server`.
-9.  Export the load balancer configuration file using
-`asadmin export-http-lb-config`.
-10. Copy the exported configuration file to the web server instance's
-configuration directory. +
-For example, for Sun Java System Web Server, the location is
-web-server-install-dir/`https-`host-name`/config/loadbalancer.xml`.
-11. After the timeout period expires or after all users of the old
-application have exited, stop the old cluster and undeploy the old
-application version.
diff --git a/docs/ha-administration-guide/src/main/jbake/content/session-persistence-and-failover.adoc b/docs/ha-administration-guide/src/main/jbake/content/session-persistence-and-failover.adoc
deleted file mode 100644
index 3a0a311..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/session-persistence-and-failover.adoc
+++ /dev/null
@@ -1,718 +0,0 @@
-type=page
-status=published
-title=Configuring High Availability Session Persistence and Failover
-next=jms.html
-prev=rolling-upgrade.html
-~~~~~~
-Configuring High Availability Session Persistence and Failover
-==============================================================
-
-[[GSHAG00011]][[abdkz]]
-
-
-[[configuring-high-availability-session-persistence-and-failover]]
-9 Configuring High Availability Session Persistence and Failover
-----------------------------------------------------------------
-
-This chapter explains how to enable and configure high availability
-session persistence.
-
-* link:#abdla[Overview of Session Persistence and Failover]
-* link:#abdle[Enabling the High Availability Session Persistence
-Service]
-* link:#abdlp[Stateful Session Bean Failover]
-
-[[abdla]][[GSHAG00209]][[overview-of-session-persistence-and-failover]]
-
-Overview of Session Persistence and Failover
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server provides high availability session persistence through
-failover of HTTP session data and stateful session bean (SFSB) session
-data. Failover means that in the event of an server instance or hardware
-failure, another server instance in a cluster takes over a distributed
-session.
-
-For example, Java EE applications typically have significant amounts of
-session state data. A web shopping cart is the classic example of
-session state. Also, an application can cache frequently-needed data in
-the session object. In fact, almost all applications with significant
-user interactions need to maintain session state.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-When using high availability session persistence together with a load
-balancer, use a load balancer that includes session-based stickiness as
-part of its load-balancing algorithm. Otherwise, session data can be
-misdirected or lost. An example of a load balancer that includes
-session-based stickiness is the Loadbalancer Plug-In available in Oracle
-GlassFish Server.
-
-|=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#abdlb[Requirements]
-* link:#abdlc[Restrictions]
-* link:#gksoq[Scope]
-
-[[abdlb]][[GSHAG00300]][[requirements]]
-
-Requirements
-^^^^^^^^^^^^
-
-A distributed session can run in multiple Oracle GlassFish Server
-instances, if:
-
-* Each server instance has access to the same session state data.
-GlassFish Server supports in-memory session replication on other servers
-in the cluster for maintaining HTTP session and stateful session bean
-data. In-memory session replication is enabled by default for GlassFish
-Server clustered environments if the Group Management Service is
-enabled. +
-The use of in-memory replication requires the Group Management Service
-(GMS) to be enabled. For more information about GMS, see
-link:clusters.html#gjfnl[Group Management Service]. +
-If server instances in a cluster are located on different hosts, ensure
-that the following prerequisites are met:
-
-** To ensure that GMS and in-memory replication function correctly, the
-hosts must be on the same subnet.
-
-** To ensure that in-memory replication functions correctly, the system
-clocks on all hosts in the cluster must be synchronized as closely as
-possible. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-GlassFish Server 4.0 does not support High Availability Database (HADB)
-configurations. Instead, use in-memory replication, as described in
-link:overview.html#gaynn[High Availability Session Persistence].
-
-|=======================================================================
-
-* Each server instance has the same distributable web application
-deployed to it. The `web-app` element of the `web.xml` deployment
-descriptor file must contain the `distributable` element.
-* The web application uses high-availability session persistence. If a
-non-distributable web application is configured to use high-availability
-session persistence, the server writes an error to the log file.
-* The web application must be deployed using the `deploy` or `deploydir`
-subcommand with the `--availabilityenabled` option set to `true`. For
-more information on these subcommands, see link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)]
-and link:../reference-manual/deploydir.html#GSRFM00115[`deploydir`(1)].
-
-[[abdlc]][[GSHAG00301]][[restrictions]]
-
-Restrictions
-^^^^^^^^^^^^
-
-When configuring session persistence and failover, note the following
-restrictions:
-
-* When a session fails over, any references to open files or network
-connections are lost. Applications must be coded with this restriction
-in mind.
-* EJB Singletons are created for each server instance in a cluster, and
-not once per cluster.
-* The high availability session persistence service is not compatible
-with dynamic deployment, dynamic reloading, and autodeployment. These
-features are for development, not production environments, so you must
-disable them before enabling the session persistence service. For
-information about how to disable these features, see the
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide].
-* GlassFish Server 4.0 does not support High Availability Database
-(HADB) configurations. Instead, use in-memory replication, as described
-in link:overview.html#gaynn[High Availability Session Persistence].
-* You can only bind certain objects to distributed sessions that support
-failover. Contrary to the Servlet 2.4 specification, GlassFish Server
-4.0 does not throw an `IllegalArgumentException` if an object type not
-supported for failover is bound into a distributed session. +
-You can bind the following objects into a distributed session that
-supports failover:
-
-** Local home and object references for all EJB components.
-
-** Colocated stateless session, stateful session, or entity bean
-reference .
-
-** Distributed stateless session, stateful session, or entity bean
-reference.
-
-** JNDI Context for `InitialContext` and `java:comp/env`.
-
-** `UserTransaction` objects. However, if the instance that fails is
-never restarted, any prepared global transactions are lost and might not
-be correctly rolled back or committed.
-
-** Serializable Java types.
-* You cannot bind the following object types into sessions that support
-failover:
-
-** JDBC DataSource
-
-** Java Message Service (JMS) `ConnectionFactory` and `Destination`
-objects
-
-** JavaMail Session
-
-** Connection Factory
-
-** Administered Objects
-
-** Web service reference +
-In general, for these objects, failover will not work. However, failover
-might work in some cases, if for example the object is serializable.
-
-[[gksoq]][[GSHAG00302]][[scope]]
-
-Scope
-^^^^^
-
-The availability service can be enabled for the following scopes,
-ranging from highest to lowest:
-
-* Cluster
-* Standalone server instance (not part of a cluster)
-* Web, EJB, or JMS container in a cluster
-* Application
-* Standalone Web, EJB, or JMS module
-* Individual Stateful Session Bean (SFSB)
-
-In general, enabling or disabling availability session persistence for a
-cluster or container involves setting the boolean `availability-service`
-property to `true` or `false` by means of the `asadmin set` subcommand.
-The availability service is enabled by default for GlassFish Server
-clusters and all Web, EJB, and JMS containers running in a cluster.
-
-The value set for the `availability-service` property is inherited by
-all child objects running in a given cluster or container unless the
-value is explicitly overridden at the individual module or application
-level. For example, if the `availability-service` property is set to
-`true` for an EJB container, the availability service will be enabled by
-default for all EJB modules running in that container.
-
-Conversely, to enable availability at a given scope, you must enable it
-at all higher levels as well. For example, to enable availability at the
-application level, you must also enable it at the cluster or server
-instance and container levels.
-
-[[abdle]][[GSHAG00210]][[enabling-the-high-availability-session-persistence-service]]
-
-Enabling the High Availability Session Persistence Service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section explains how to configure and enable the high availability
-session persistence service.
-
-* link:#abdlf[To Enable Availability for a Cluster, Standalone Instance
-or Container]
-* link:#abdll[Configuring Availability for Individual Web Applications]
-* link:#gkwqu[Configuring Replication and Multi-Threaded Concurrent
-Access to `HttpSessions`]
-* link:#abdln[Using Single Sign-on with Session Failover]
-* link:#gkyyl[Using Coherence*Web for HTTP Session Persistence]
-
-[[abdlf]][[GSHAG00154]][[to-enable-availability-for-a-cluster-standalone-instance-or-container]]
-
-To Enable Availability for a Cluster, Standalone Instance or Container
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to enable high availability for a cluster as
-a whole, or for Web, EJB, or JMS containers that run in a cluster, or
-for a standalone server instance that is not part of a cluster.
-
-1.  Create a GlassFish Server cluster. +
-For more information, see link:clusters.html#gkqdm[To Create a Cluster].
-2.  Set up load balancing for the cluster. +
-For instructions, see link:http-load-balancing.html#abdgx[Setting Up HTTP
-Load Balancing].
-3.  Verify that the cluster and all instances within the cluster for
-which you want to enable availability is running. +
-These steps are also necessary when enabling availability for a Web,
-EJB, or JMS container running in a cluster. The cluster and all
-instances in the cluster for which you want to enable availability must
-be running.
-1.  Verify that the cluster is running. +
-[source,oac_no_warn]
-----
-asadmin> list-clusters
-----
-A list of clusters and their status (running, not running) is displayed.
-If the cluster for which you want to enable availability is not running,
-you can start it with the following command: +
-[source,oac_no_warn]
-----
-asadmin> start-cluster cluster-name
-----
-2.  Verify that all instances in the cluster are running. +
-[source,oac_no_warn]
-----
-asadmin> list-instances
-----
-A list of instances and their status is displayed. If the instances for
-which you want to enable availability are not running, you can start
-them by using the following command for each instance: +
-[source,oac_no_warn]
-----
-asadmin> start-instance instance-name
-----
-4.  Use one of the following `asadmin` olink:GSRFM00226[`set`]
-subcommands to enable availability for a specific cluster, or for a
-specific Web, EJB, or JMS container.
-* For a cluster as a whole +
-[source,oac_no_warn]
-----
-asadmin> set cluster-name-config.availability-service.availability-enabled=true
-----
-For example, for a cluster named `c1`: +
-[source,oac_no_warn]
-----
-asadmin> set c1-config.availability-service.availability-enabled=true
-----
-* For the Web container in a cluster +
-[source,oac_no_warn]
-----
-asadmin> set cluster-name-config.availability-service \
-.web-container-availability.availability-enabled=true
-----
-* For the EJB container in a cluster +
-[source,oac_no_warn]
-----
-asadmin> set cluster-name-config.availability-service \
-.ejb-container-availability.availability-enabled=true
-----
-* For the JMS container in a cluster +
-[source,oac_no_warn]
-----
-asadmin> set cluster-name-config.availability-service \
-.jms-availability.availability-enabled=true
-----
-* For a standalone server instance (not part of a cluster) +
-[source,oac_no_warn]
-----
-asadmin> set instance-name-config.availability-service.availability-enabled=true
-----
-5.  Restart the standalone server instance or each server instance in
-the cluster.
-6.  Enable availability for any SFSB that requires it. +
-Select methods for which checkpointing the session state is necessary.
-For more information, see link:#abdlu[Configuring Availability for an
-Individual Bean].
-7.  Make each web module distributable if you want it to be highly
-available. +
-For more information, see "link:../application-deployment-guide/deploying-applications.html#GSDPG00067[Web Module Deployment
-Guidelines]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-8.  Enable availability for individual applications, web modules, or EJB
-modules during deployment. +
-See the links below for instructions.
-
-[[GSHAG430]]
-
-See Also
-
-* link:#abdll[Configuring Availability for Individual Web Applications]
-* link:#abdln[Using Single Sign-on with Session Failover]
-
-[[abdll]][[GSHAG00303]][[configuring-availability-for-individual-web-applications]]
-
-Configuring Availability for Individual Web Applications
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable and configure availability for an individual web application,
-edit the application deployment descriptor file, `glassfish-web.xml`.
-The settings in an application's deployment descriptor override the web
-container's availability settings.
-
-The `session-manager` element's `persistence-type` attribute determines
-the type of session persistence an application uses. It must be set to
-`replicated` to enable high availability session persistence.
-
-[[abdlm]][[GSHAG00247]][[example]]
-
-Example
-+++++++
-
-[source,oac_no_warn]
-----
-<glassfish-web-app> ...
-  <session-config>
-    <session-manager persistence-type="replicated">
-      <manager-properties>
-        <property name="persistenceFrequency" value="web-method" />
-      </manager-properties>
-      <store-properties>
-        <property name="persistenceScope" value="session" />
-      </store-properties>
-    </session-manager> ...
-</session-config> ...
-----
-
-[[gkwqu]][[GSHAG00304]][[configuring-replication-and-multi-threaded-concurrent-access-to-httpsessions]]
-
-Configuring Replication and Multi-Threaded Concurrent Access to
-`HttpSessions`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you are using Memory Replication and your web application involves
-multiple client threads concurrently accessing the same session ID, then
-you may experience session loss even without any instance failure. The
-problem is that the GlassFish Server 4.0 memory replication framework
-makes use of session versioning. This feature was designed with the more
-traditional HTTP request/response communication model in mind.
-
-However, for some types of applications, the traditional
-request/response model does not work. Examples include many Ajax-related
-frameworks and the use of Frames. Another example is when a page
-includes many static resources, such as JPG files. In these situations,
-most browsers will optimize the loading of these resources by using
-multiple parallel connections, each of which is handled by a separate
-request processing thread. If the application has already established a
-session, then this will also involve more than one thread at a time
-accessing a single `HttpSession`.
-
-The solution in such cases is to use the `relaxVersionSemantics`
-property in the `glassfish-web.xml` deployment descriptor file for the
-application. This enables the web container to return for each
-requesting thread whatever version of the session that is in the active
-cache regardless of the version number. This is critical when multiple
-threads are interacting in an essentially non-deterministic fashion with
-the container.
-
-[[gkwrj]][[GSHAG00248]][[example-1]]
-
-Example
-+++++++
-
-The following is an example snippet from a `glassfish-web.xml` file that
-illustrates where to add the `relaxVersionSemantics` property.
-
-[source,oac_no_warn]
-----
-<glassfish-web-app>
-  <session-config>
-    <session-manager persistence-type="replicated">
-      <manager-properties>
-    <property name="relaxCacheVersionSemantics" value="true"/>
-      </manager-properties>
-    </session-manager>
-  </session-config>
-
-.....
-</glassfish-web-app>
-----
-
-[[abdln]][[GSHAG00305]][[using-single-sign-on-with-session-failover]]
-
-Using Single Sign-on with Session Failover
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In a single application server instance, once a user is authenticated by
-an application, the user is not required to re-authenticate individually
-to other applications running on the same instance. This is called
-single sign-on.
-
-For this feature to continue to work even when an HTTP session fails
-over to another instance in a cluster, single sign-on information must
-be persisted using in-memory replication. To persist single sign-on
-information, first, enable availability for the server instance and the
-web container, then enable single-sign-on state failover.
-
-You can enable single sign-on state failover by using the `asadmin set`
-command to set the configuration's
-`availability-service.web-container-availability.sso-failover-enabled`
-property to true.
-
-For example, use the `set` command as follows, where `config1` is the
-configuration name:
-
-[source,oac_no_warn]
-----
-asadmin> set config1.availability-service.web-container-availability. \
-sso-failover-enabled="true"
-----
-
-[[abdlo]][[GSHAG00249]][[single-sign-on-groups]]
-
-Single Sign-On Groups
-+++++++++++++++++++++
-
-Applications that can be accessed through a single name and password
-combination constitute a single sign-on group. For HTTP sessions
-corresponding to applications that are part of a single sign-on group,
-if one of the sessions times out, other sessions are not invalidated and
-continue to be available. This is because time out of one session should
-not affect the availability of other sessions.
-
-As a corollary of this behavior, if a session times out and you try to
-access the corresponding application from the same browser window that
-was running the session, you are not required to authenticate again.
-However, a new session is created.
-
-Take the example of a shopping cart application that is a part of a
-single sign-on group with two other applications. Assume that the
-session time out value for the other two applications is higher than the
-session time out value for the shopping cart application. If your
-session for the shopping cart application times out and you try to run
-the shopping cart application from the same browser window that was
-running the session, you are not required to authenticate again.
-However, the previous shopping cart is lost, and you have to create a
-new shopping cart. The other two applications continue to run as usual
-even though the session running the shopping cart application has timed
-out.
-
-Similarly, suppose a session corresponding to any of the other two
-applications times out. You are not required to authenticate again while
-connecting to the application from the same browser window in which you
-were running the session.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-This behavior applies only to cases where the session times out. If
-single sign-on is enabled and you invalidate one of the sessions using
-`HttpSession.invalidate()`, the sessions for all applications belonging
-to the single sign-on group are invalidated. If you try to access any
-application belonging to the single sign-on group, you are required to
-authenticate again, and a new session is created for the client
-accessing the application.
-
-|=======================================================================
-
-
-[[gkyyl]][[GSHAG00306]][[using-coherenceweb-for-http-session-persistence]]
-
-Using Coherence*Web for HTTP Session Persistence
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Built on top of Oracle Coherence, Coherence*Web is an HTTP session
-management module dedicated to managing session state in clustered
-environments. Starting with Coherence 3.7 and GlassFish Server 4.0,
-there is a new feature of Coherence*Web called ActiveCache for
-GlassFish. ActiveCache for GlassFish provides Coherence*Web
-functionality in web applications deployed on GlassFish Servers. Within
-GlassFish Server, Coherence*Web functions as an additional web container
-persistence type, named `coherence-web`.
-
-For information about how to configure and deploy Coherence*Web on
-GlassFish Server, see
-http://download.oracle.com/docs/cd/E18686_01/coh.37/e18690/glassfish.html[Using
-Coherence*Web with GlassFish Server]
-(`http://docs.oracle.com/cd/E18686_01/coh.37/e18690/glassfish.html`).
-
-[[abdlp]][[GSHAG00211]][[stateful-session-bean-failover]]
-
-Stateful Session Bean Failover
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Stateful session beans (SFSBs) contain client-specific state. There is a
-one-to-one relationship between clients and the stateful session beans.
-At creation, the EJB container gives each SFSB a unique session ID that
-binds it to a client.
-
-An SFSB's state can be saved in a persistent store in case a server
-instance fails. The state of an SFSB is saved to the persistent store at
-predefined points in its life cycle. This is called
-
-checkpointing. If enabled, checkpointing generally occurs after the bean
-completes any transaction, even if the transaction rolls back.
-
-However, if an SFSB participates in a bean-managed transaction, the
-transaction might be committed in the middle of the execution of a bean
-method. Since the bean's state might be undergoing transition as a
-result of the method invocation, this is not an appropriate time to
-checkpoint the bean's state. In this case, the EJB container checkpoints
-the bean's state at the end of the corresponding method, provided the
-bean is not in the scope of another transaction when that method ends.
-If a bean-managed transaction spans across multiple methods,
-checkpointing is delayed until there is no active transaction at the end
-of a subsequent method.
-
-The state of an SFSB is not necessarily transactional and might be
-significantly modified as a result of non-transactional business
-methods. If this is the case for an SFSB, you can specify a list of
-checkpointed methods, as described in link:#abdlw[Specifying Methods to
-Be Checkpointed]
-
-If a distributable web application references an SFSB, and the web
-application's session fails over, the EJB reference is also failed over.
-
-If an SFSB that uses session persistence is undeployed while the
-GlassFish Server instance is stopped, the session data in the
-persistence store might not be cleared. To prevent this, undeploy the
-SFSB while the GlassFish Server instance is running.
-
-[[abdlq]][[GSHAG00307]][[configuring-availability-for-the-ejb-container]]
-
-Configuring Availability for the EJB Container
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable availability for the EJB container use the `asadmin set`
-command to set the following three properties for the configuration:
-
-* `availability-service.ejb-container-availability.availability-enabled`
-* `availability-service.ejb-container-availability.sfsb-persistence-type`
-* `availability-service.ejb-container-availability.sfsb-ha-persistence-type`
-
-For example, if `config1` is the configuration name, use the following
-commands:
-
-[source,oac_no_warn]
-----
-asadmin> set --user admin --passwordfile password.txt
---host localhost
---port 4849
-config1.availability-service.
-ejb-container-availability.availability-enabled="true"
-
-asadmin> set --user admin --passwordfile password.txt --host localhost --port
-4849
-config1.availability-service.
-ejb-container-availability.sfsb-persistence-type="file"
-asadmin> set --user admin --passwordfile password.txt
---host localhost
---port 4849
-config1.availability-service.
-ejb-container-availability.sfsb-ha-persistence-type="replicated"
-----
-
-[[abdls]][[GSHAG00250]][[configuring-the-sfsb-session-store-when-availability-is-disabled]]
-
-Configuring the SFSB Session Store When Availability Is Disabled
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-If availability is disabled, the local file system is used for SFSB
-state passivation, but not persistence. To change where the SFSB state
-is stored, change the Session Store Location setting in the EJB
-container. For information about configuring store properties, see the
-Administration Console online help.
-
-[[abdlt]][[GSHAG00308]][[configuring-availability-for-an-individual-application-or-ejb-module]]
-
-Configuring Availability for an Individual Application or EJB Module
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You can enable SFSB availability for an individual application or EJB
-module during deployment:
-
-* If you are deploying with the Administration Console, check the
-Availability Enabled checkbox.
-* If you are deploying using use the `asadmin deploy` or
-`asadmin deploydir` commands, set the `--availabilityenabled` option to
-`true`. For more information, see link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)] and
-link:../reference-manual/deploydir.html#GSRFM00115[`deploydir`(1)].
-
-[[abdlu]][[GSHAG00309]][[configuring-availability-for-an-individual-bean]]
-
-Configuring Availability for an Individual Bean
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable availability and select methods to be checkpointed for an
-individual SFSB, use the `glassfish-ejb-jar.xml` deployment descriptor
-file.
-
-To enable high availability session persistence, set
-`availability-enabled="true"` in the `ejb` element.
-
-[[GSHAG00068]][[fxjqx]]
-
-
-Example 9-1 Example of an EJB Deployment Descriptor With Availability
-Enabled
-
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-    ...
-    <enterprise-beans>
-        ...
-        <ejb availability-enabled="true">
-            <ejb-name>MySFSB</ejb-name>
-        </ejb>
-        ...
-    </enterprise-beans>
-</glassfish-ejb-jar>
-----
-
-[[abdlw]][[GSHAG00310]][[specifying-methods-to-be-checkpointed]]
-
-Specifying Methods to Be Checkpointed
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If enabled, checkpointing generally occurs after the bean completes any
-transaction, even if the transaction rolls back. To specify additional
-optional checkpointing of SFSBs at the end of non-transactional business
-methods that cause important modifications to the bean's state, use the
-`checkpoint-at-end-of-method` element in the `ejb` element of the
-`glassfish-ejb-jar.xml` deployment descriptor file.
-
-The non-transactional methods in the `checkpoint-at-end-of-method`
-element can be:
-
-* `create()` methods defined in the home interface of the SFSB, if you
-want to checkpoint the initial state of the SFSB immediately after
-creation
-* For SFSBs using container managed transactions only, methods in the
-remote interface of the bean marked with the transaction attribute
-`TX_NOT_SUPPORTED` or `TX_NEVER`
-* For SFSBs using bean managed transactions only, methods in which a
-bean managed transaction is neither started nor committed +
-Any other methods mentioned in this list are ignored. At the end of
-invocation of each of these methods, the EJB container saves the state
-of the SFSB to persistent store.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If an SFSB does not participate in any transaction, and if none of its
-methods are explicitly specified in the `checkpoint-at-end-of-method`
-element, the bean's state is not checkpointed at all even if
-`availability-enabled="true"` for this bean.
-
-For better performance, specify a small subset of methods. The methods
-should accomplish a significant amount of work or result in important
-modification to the bean's state.
-
-|=======================================================================
-
-
-[[GSHAG00069]][[fxjqg]]
-
-
-Example 9-2 Example of EJB Deployment Descriptor Specifying Methods
-Checkpointing
-
-[source,oac_no_warn]
-----
-<glassfish-ejb-jar>
-    ...
-    <enterprise-beans>
-        ...
-        <ejb availability-enabled="true">
-            <ejb-name>ShoppingCartEJB</ejb-name>
-            <checkpoint-at-end-of-method>
-                <method>
-                    <method-name>addToCart</method-name>
-                </method>
-            </checkpoint-at-end-of-method>
-        </ejb>
-        ...
-    </enterprise-beans>
-</glassfish-ejb-jar>
-----
diff --git a/docs/ha-administration-guide/src/main/jbake/content/ssh-setup.adoc b/docs/ha-administration-guide/src/main/jbake/content/ssh-setup.adoc
deleted file mode 100644
index f659cce..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/ssh-setup.adoc
+++ /dev/null
@@ -1,2046 +0,0 @@
-type=page
-status=published
-title=Enabling Centralized Administration of GlassFish Server Instances
-next=nodes.html
-prev=overview.html
-~~~~~~
-Enabling Centralized Administration of GlassFish Server Instances
-=================================================================
-
-[[GSHAG00003]][[gkshg]]
-
-
-[[enabling-centralized-administration-of-glassfish-server-instances]]
-2 Enabling Centralized Administration of GlassFish Server Instances
--------------------------------------------------------------------
-
-GlassFish Server uses the Distributed Component Object Model (DCOM)
-remote protocol or secure shell (SSH) to ensure that clusters that span
-multiple hosts can be administered centrally. To perform administrative
-operations on GlassFish Server instances that are remote from the domain
-administration server (DAS), the DAS must be able to communicate with
-those instances. If an instance is running, the DAS connects to the
-running instance directly. For example, when you deploy an application
-to an instance, the DAS connects to the instance and deploys the
-application to the instance.
-
-However, the DAS cannot connect to an instance to perform operations on
-an instance that is not running, such as creating or starting the
-instance. For these operations, the DAS uses DCOM or SSH to contact a
-remote host and administer instances there. DCOM or SSH provides
-confidentiality and security for data that is exchanged between the DAS
-and remote hosts.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The use of DCOM or SSH to enable centralized administration of remote
-instances is optional. If the use of DCOM or SSH is not feasible in your
-environment, you can administer remote instances locally.
-
-|=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#gkshz[About Centralized Administration of GlassFish Server
-Instances]
-* link:#CEGIFJJF[Setting Up DCOM and Testing the DCOM Set Up]
-* link:#gksiy[Setting Up Cygwin SSH on Windows]
-* link:#gkskf[Setting Up the MKS Toolkit on Windows]
-* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
-* link:#gkslw[Testing the SSH Setup on a Host]
-* link:#gkshh[Setting Up SSH User Authentication]
-* link:#gkshn[Installing and Removing GlassFish Server Software on
-Multiple Hosts]
-
-[[gkshz]][[GSHAG00172]][[about-centralized-administration-of-glassfish-server-instances]]
-
-About Centralized Administration of GlassFish Server Instances
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The use of DCOM or SSH to enable centralized administration of remote
-instances is optional and is required only for specific operations.
-Instances local to the DAS can be administered without DCOM or SSH. If
-DCOM or SSH is not practicable in your environment, you can administer
-remote instances locally.
-
-[[GSHAG446]][[sthref4]]
-
-
-[[determining-whether-to-enable-centralized-administration]]
-Determining Whether to Enable Centralized Administration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Before setting up a GlassFish Server cluster, use the following
-considerations to determine whether to enable centralized administration
-of remote instances:
-
-* If you are planning a large cluster of many instances, consider
-enabling centralized administration of instances in the cluster.
-Centralized administration of instances simplifies the administration of
-the cluster by enabling you to perform all administrative operations on
-the cluster and its instances from the DAS.
-* If you are planning a small cluster of few instances, consider whether
-enabling centralized administration requires more effort than logging in
-to individual hosts to administer remote instances locally.
-
-How you administer instances and the nodes on which they resides varies
-depending on whether and how centralized administration is enabled. The
-following table provides cross-references to instructions for
-administering nodes and instances depending on the protocol that is used
-for enabling centralized administration, if any.
-
-[width="100%",cols="<15%,<42%,<43%",options="header",]
-|=======================================================================
-|Protocol |Node Administration Instructions |Instance Administration
-Instructions
-|DCOM |link:nodes.html#CHDBIHFJ[Creating, Listing, Testing, and Deleting
-`DCOM` Nodes] + |link:instances.html#gkqal[Administering GlassFish Server
-Instances Centrally] +
-
-|SSH |link:nodes.html#gkrkn[Creating, Listing, Testing, and Deleting
-`SSH` Nodes] + |link:instances.html#gkqal[Administering GlassFish Server
-Instances Centrally] +
-
-|None |link:nodes.html#gkrnp[Creating, Listing, and Deleting `CONFIG`
-Nodes] + |link:instances.html#gkqdw[Administering GlassFish Server
-Instances Locally] +
-|=======================================================================
-
-
-[[GSHAG447]][[sthref5]]
-
-
-[[considerations-for-using-dcom-for-centralized-administration]]
-Considerations for Using DCOM for Centralized Administration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-DCOM enables communications between Windows hosts. In a typical
-GlassFish Server deployment, the DAS acts as a DCOM client, and hosts
-where instances reside act as DCOM servers. To create or start an
-instance on a remote host, the DAS instructs the DCOM server on the host
-to start the `asadmin` utility of GlassFish Server. The `asadmin`
-utility then performs the required operation on the host to create or
-start the instance.
-
-The DCOM service must be running on hosts where instances reside, but is
-not required to be running on the DAS host. The DAS uses its own DCOM
-client for communicating with hosts where instances reside. On Windows
-hosts, the DCOM server is typically running by default as a Windows
-Service.
-
-DCOM is available only with the Windows operating system. Because DCOM
-is typically installed and preconfigured, minimal additional setup is
-required to use DCOM with GlassFish Server.
-
-Before setting up DCOM, decide which Windows user GlassFish Server will
-use when connecting to remote hosts. For the following reasons,
-administration is simplest if the Windows user is the user that starts
-the DAS:
-
-* Remote instances are started as the Windows user.
-* By default, the DAS assumes that the Windows user is the user that is
-running the DAS.
-
-[[GSHAG320]][[sthref6]]
-
-
-[[considerations-for-using-ssh-for-centralized-administration]]
-Considerations for Using SSH for Centralized Administration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In a typical GlassFish Server deployment, the DAS acts as the SSH
-client, and hosts where instances reside act as SSH servers. The SSH
-Server Daemon `sshd` must be running on hosts where instances reside,
-but is not required to be running on the DAS host. The DAS uses its own
-SSH client for communicating with hosts where instances reside. However,
-to generate keys and test SSH setup, a native SSH client must be
-installed on the DAS host.
-
-The requirements for SSH configuration and user management are different
-for each operating system on which GlassFish Server is supported.
-Therefore, the use of SSH for centralized administration involves using
-SSH tools to configure SSH on the operating system that you are using.
-
-On UNIX and Linux systems, SSH is typically installed and preconfigured,
-and requires minimal additional setup. On Windows systems, additional
-setup is required to install and configure an SSH provider.
-
-[[gksmt]][[GSHAG00262]][[obtaining-ssh-software]]
-
-Obtaining SSH Software
-++++++++++++++++++++++
-
-On UNIX and Linux systems, SSH software is typically installed as part
-of the base operating system.
-
-However, on Windows systems, you must install one of the following SSH
-providers:
-
-* http://www.cygwin.com/[Cygwin] (`http://www.cygwin.com/`) release
-1.7.6
-* http://www.mkssoftware.com[MKS Toolkit for Developers]
-(`http://www.mkssoftware.com`) release 9.2
-
-[[gkshj]][[GSHAG00263]][[determining-the-ssh-user]]
-
-Determining the SSH User
-++++++++++++++++++++++++
-
-Before setting up SSH, decide which SSH user GlassFish Server will use
-when connecting to remote hosts. For the following reasons,
-administration is simplest if the SSH user is the user that starts the
-DAS:
-
-* For public key authentication, the user that starts the DAS must be
-able to read the SSH user's private key file.
-* Remote instances are started as the SSH user.
-* By default, the DAS assumes that the SSH user is the user that is
-running the DAS.
-
-[[glghe]][[GSHAG00222]][[requirements-for-the-ssh-users-environment]]
-
-Requirements for the SSH User's Environment
-+++++++++++++++++++++++++++++++++++++++++++
-
-The environment of the SSH user on any remote host to which the user
-will connect must meet the requirements that are stated in
-"link:../release-notes/release-notes.html#GSRLN00252[Paths and Environment Settings for the JDK Software]"
-in GlassFish Server Open Source Edition Release Notes.
-
-The SSH user's environment on a host is set by the environment set-up
-files that are run when the user uses SSH to run a command on the host.
-You must ensure that these files set up the SSH user's environment
-correctly.
-
-The files that are run when the user uses SSH to run a command are
-different than the files that are run when the user logs in to a host.
-For example, in the bash shell, `.profile` and `.bashrc` are run when
-the user logs in, but only `.bashrc` is run when the user runs a
-command. Therefore, in the bash shell, you must ensure that `.bashrc`
-contains the required environment settings for the SSH user.
-
-[[glgfy]][[GSHAG00223]][[file-access-permissions-on-uac-enabled-windows-systems]]
-
-File Access Permissions on UAC-Enabled Windows Systems
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The
-http://technet.microsoft.com/en-us/library/cc709691%28WS.10%29.aspx[User
-Account Control (UAC)]
-(`http://technet.microsoft.com/en-us/library/cc709691%28WS.10%29.aspx`)
-feature is available only on some versions of the Windows operating
-system, for example, Windows 7, Windows Vista, and Windows 2008.
-
-|=======================================================================
-
-
-You might be using a UAC-enabled Windows system and choose to store
-files for GlassFish Server instances in a directory other than the SSH
-user's home directory. In this situation, the SSH user must have native
-(that is, nonvirtual) read and write access to the file system where the
-instances are to be stored. The OS-level administrator has such access
-by default. You can also configure the system to grant such access to
-other users. For more information, see the documentation for the Windows
-operating system.
-
-[[CEGIFJJF]][[GSHAG448]][[setting-up-dcom-and-testing-the-dcom-set-up]]
-
-Setting Up DCOM and Testing the DCOM Set Up
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Setting up DCOM on a host involves the following tasks:
-
-* Verifying Windows operating system settings for the host
-* Enabling the Windows user to run scripts on the host
-* Setting up password authentication for the Windows user on the host
-
-Set up DCOM on all hosts where instances in your cluster will reside.
-
-After setting up DCOM on a host, test the connection over DCOM to the
-host.
-
-[[CEGDAFHD]][[GSHAG449]][[windows-operating-system-settings]]
-
-Windows Operating System Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable access to a host over DCOM, ensure that the following items in
-the Windows operating system are set as follows on the host:
-
-* The following services are in the started state and are set to start
-automatically:
-
-** Server
-
-** Remote Registry
-* Network Access: Sharing security model for local accounts is set to
-Classic.
-* The following ports are open:
-
-** DCOM port 135 or 139
-
-** Windows Shares port 445
-
-[[CEGCJGCF]][[GSHAG450]][[to-enable-the-windows-user-to-run-scripts-on-a-remote-host]]
-
-To Enable the Windows User to Run Scripts on a Remote Host
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To run scripts on a remote host, full control over the following Windows
-registry keys must be allowed for the Windows user or the group that
-contains the Windows user:
-
-* One of the following keys, depending on the processor architecture of
-the host:
-
-** 32-bit architecture:
-HKEY_LOCAl_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\\{76A64158-CB41-11D1-8B02-00600806D9B6}
-
-** 64-bit architecture:
-HKEY_LOCAl_MACHINE\SOFTWARE\Classes\CLSID\\{76A64158-CB41-11D1-8B02-00600806D9B6}
-* HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\\{72C24DD5-D70A-438B-8A42-98424B88AFB8}
-
-In some versions of Windows, only the user `NT SERVICE\TrustedInstaller`
-has full control over these Windows registry keys. If your version of
-Windows is configured in this way, you must modify these keys to allow
-full control over them for the Windows user or the group that contains
-the Windows user.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the operating-system-level administrator user can edit the Windows
-registry.
-
-|=======================================================================
-
-
-Perform this procedure for each Windows registry key that you are
-modifying on each host where instances in your cluster will reside.
-
-1.  If necessary, start the Registry Editor. +
-[source,oac_no_warn]
-----
-regedit.exe
-----
-The Registry Editor window opens.
-2.  In the Registry Editor window, navigate to the registry key that you
-are modifying.
-3.  Select the key, click mouse button 3, and from the pop-up menu that
-opens, select Permissions. +
-The Permissions window for the key opens.
-4.  Determine whether full control is allowed for the Windows user or
-the group that contains the Windows user.
-* If full control is allowed, no further action is required.
-* If full control is not allowed, allow full control as follows:
-1.  In the Permissions window, click Advanced. +
-The Advanced Security Settings window for the key opens.
-2.  In the Advanced Security Settings window, select the Owner tab.
-3.  From the Change owner to list, select the Windows user or the group
-that contains the Windows user.
-4.  Ensure that the Replace owner on subcontainer and objects option is
-selected.
-5.  Click Apply, then OK. +
-The Advanced Security Settings window closes. The Permissions window
-shows that full control is allowed for the Windows user or the group
-that contains the Windows user.
-6.  In the Permissions window, click OK. +
-The Permissions window closes.
-5.  After modifying all the Windows registry keys over which full
-control is required, quit the Registry Editor.
-
-[[GSHAG451]]
-
-Next Steps
-
-Set up password authentication for the Windows user as explained in
-link:#CEGCDCEF[To Set Up Password Authentication for the Windows User].
-
-[[CEGCDCEF]][[GSHAG452]][[to-set-up-password-authentication-for-the-windows-user]]
-
-To Set Up Password Authentication for the Windows User
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When a GlassFish Server subcommand uses DCOM to log in to a remote host,
-GlassFish Server requires the Windows user's password to authenticate
-the Windows user. To provide this password securely to GlassFish Server,
-create a GlassFish Server password alias to represent the password and
-store this alias in a password file that is passed to the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility.
-
-[[GSHAG453]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* The Windows user is a valid user on the host to which you are testing
-the connection over DCOM.
-* Items in the Windows operating system are set on the host as described
-in link:#CEGDAFHD[Windows Operating System Settings].
-* The Windows user is able to run scripts on the host. For more
-information, see link:#CEGCJGCF[To Enable the Windows User to Run
-Scripts on a Remote Host].
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  [[CEGGAHFH]]
-Create an alias for the Windows user's password.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for creating a password
-alias, see the link:../reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] help page.
-
-|=======================================================================
-
-
-[source,oac_no_warn]
-----
-asadmin> create-password-alias alias-name
-----
-
-alias-name::
-  Your choice of name for the alias that you are creating.
-
-The `create-password-alias` subcommand prompts you to type the password
-for which you are creating an alias.
-3.  In response to the prompt, type the Windows user's password. +
-The `create-password-alias` subcommand prompts you to type the password
-again.
-4.  In response to the prompt, type the Windows user's password again.
-5.  Create a plain text file that contains the following entry for the
-password alias: +
-[source,oac_no_warn]
-----
-AS_ADMIN_WINDOWSPASSWORD=${ALIAS=alias-name}
-----
-alias-name::
-  The alias name that you specified in Step link:#CEGGAHFH[2]. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-When you create a `DCOM` node, pass this file as the `--passwordfile`
-option of the `asadmin` utility. For more information, see
-link:nodes.html#CHDIGBJB[To Create a `DCOM` Node].
-
-|=======================================================================
-
-
-[[GSHAG454]][[sthref7]]
-
-
-Example 2-1 Creating an Alias for the Windows User's Password
-
-This example creates an alias that is named `winuser-password` for the
-Windows user's password.
-
-[source,oac_no_warn]
-----
-$ asadmin create-password-alias winuser-password
-Enter the alias password>
-Enter the alias password again>
-Command create-password-alias executed successfully.
-----
-
-The entry in the password file for the `winuser-password` alias is as
-follows:
-
-[source,oac_no_warn]
-----
-AS_ADMIN_WINDOWSPASSWORD=${ALIAS=winuser-password}
-----
-
-[[GSHAG455]]
-
-See Also
-
-* link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
-* link:../reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-password-alias` at the command line.
-
-[[GSHAG456]]
-
-Next Steps
-
-Test the DCOM setup as explained in link:#CEGJFADH[To Test the
-Connection Over DCOM to a Remote Host].
-
-[[CEGJFADH]][[GSHAG457]][[to-test-the-connection-over-dcom-to-a-remote-host]]
-
-To Test the Connection Over DCOM to a Remote Host
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Testing the connection over DCOM to a remote host verifies that the
-required Windows services are running, the required ports are open, and
-the Windows user has a valid user account on the host.
-
-Before attempting to perform any task that the requires the DAS contact
-the DCOM server on a remote host, test the connection over DCOM to the
-host. If this test fails, any attempt to perform a task that the
-requires the DAS contact the DCOM server on the host will also fail.
-Examples of such tasks are creating a DCOM node to represent the host or
-creating an instance that resides on the host. For more information, see
-link:nodes.html#CHDIGBJB[To Create a `DCOM` Node] and
-link:instances.html#gkqch[To Create an Instance Centrally].
-
-If you cannot connect to the host over DCOM, troubleshoot the DCOM setup
-before proceeding.
-
-[[GSHAG458]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* The Windows user is a valid user on the host to which you are testing
-the connection over DCOM.
-* Items in the Windows operating system are set on the host as described
-in link:#CEGDAFHD[Windows Operating System Settings].
-* The Windows user is able to run scripts on the host. For more
-information, see link:#CEGCJGCF[To Enable the Windows User to Run
-Scripts on a Remote Host].
-* Password authentication is set up for the windows user as explained in
-link:#CEGCDCEF[To Set Up Password Authentication for the Windows User].
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the `validate-dcom` subcommand. +
-Specify the file that contains the alias for the Windows user's password
-through the `--passwordfile` option of the `asadmin` utility. For more
-information about this file, see link:#CEGCDCEF[To Set Up Password
-Authentication for the Windows User]. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for configuring the
-node, see the link:../reference-manual/validate-dcom.html#GSRFM796[`validate-dcom`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-C:\>asadmin --passwordfile filename validate-dcom host-name
-----
-filname::
-  The name of the file that contains the alias for the Windows user's
-  password.
-host-name::
-  The name of the host to which you are testing the connection over
-  DCOM.
-
-[[GSHAG459]][[sthref8]]
-
-
-Example 2-2 Testing the Connection Over DCOM to a Remote Host
-
-This example tests the connection over DCOM to the host `wpmdl2`.
-
-[source,oac_no_warn]
-----
-C:\> asadmin --passwordfile aspwalias.txt validate-dcom wpmdl2
-Command validate-dcom executed successfully.
-----
-
-[[GSHAG460]]
-
-See Also
-
-* link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
-* link:../reference-manual/validate-dcom.html#GSRFM796[`validate-dcom`(1)]
-* link:#CEGDAFHD[Windows Operating System Settings]
-* link:#CEGCJGCF[To Enable the Windows User to Run Scripts on a Remote
-Host]
-* link:nodes.html#CHDIGBJB[To Create a `DCOM` Node]
-* link:instances.html#gkqch[To Create an Instance Centrally]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help validate-dcom` at the command line.
-
-[[gksiy]][[GSHAG00173]][[setting-up-cygwin-ssh-on-windows]]
-
-Setting Up Cygwin SSH on Windows
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Set up Cygwin SSH on the DAS host and on all hosts where instances in
-your cluster will reside.
-
-The following topics are addressed here:
-
-* link:#gksjn[To Download and Install Cygwin]
-* link:#gksin[To Set the Path for Windows and for the Cygwin Shell]
-* link:#gksov[To Set the Home Directory for the Cygwin SSH User]
-* link:#gkskx[To Configure and Start the Cygwin SSH Server Daemon
-`sshd`]
-
-[[gksjn]][[GSHAG00071]][[to-download-and-install-cygwin]]
-
-To Download and Install Cygwin
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For centralized GlassFish Server administration, a basic Cygwin
-installation that includes the SSH client and the SSH server daemon
-`sshd` is sufficient. The default installation options are sufficient to
-create such a basic installation.
-
-1.  Log in as a user with Administrator privileges.
-2.  Create the folder `C:\cygwin`.
-3.  From the http://www.cygwin.com/[Cygwin home page]
-(`http://www.cygwin.com/`), download and save the `setup.exe` file to
-your desktop.
-4.  Run the `setup.exe` file.
-5.  Select the default for the following options:
-* Install from Internet
-* Install Root Directory: `C:\cygwin`
-* Install for All Users
-6.  Specify a folder for the local package directory that is not the
-Cygwin root folder, for example, `C:\cygwin\packages`.
-7.  Specify the connection method. +
-For example, if the host is connected to the Internet through a proxy
-server, specify the proxy server.
-8.  Select the mirror site from which to download the software.
-9.  Select the `openssh` package for installation.
-1.  Under the Net category, search for `openssh`.
-2.  Locate the `openssh` package and click Skip. +
-The package is selected.
-3.  Click Next. +
-Any unsatisfied dependencies are listed.
-10. Leave the Select Required Packages option selected and click Next +
-The packages are installed.
-11. Click Finish.
-
-[[GSHAG321]]
-
-See Also
-
-For detailed information about installing Cygwin, see
-"http://cygwin.com/cygwin-ug-net/setup-net.html#internet-setup[Internet
-Setup]" in Cygwin User's Guide
-(`http://cygwin.com/cygwin-ug-net/setup-net.html#internet-setup`).
-
-[[gksin]][[GSHAG00072]][[to-set-the-path-for-windows-and-for-the-cygwin-shell]]
-
-To Set the Path for Windows and for the Cygwin Shell
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable GlassFish Server tools to find commands for SSH, each user's
-path for Windows and for the Cygwin shell must contain the following
-directories:
-
-* The Cygwin `bin` directory, for example `C:\cygwin\bin`
-* The `bin` directory of the JDK software
-
-1.  Log in as a user with Administrator privileges. +
-Logging in as a user with Administrator privileges ensures that the
-change applies to all users.
-2.  In the System Information control panel, click Advanced>Environment
-Variables.
-3.  Add the following directories to the Path environment variable:
-* The Cygwin `bin` directory, for example `C:\cygwin\bin`
-* The `bin` directory of the JDK software
-
-[[gksov]][[GSHAG00073]][[to-set-the-home-directory-for-the-cygwin-ssh-user]]
-
-To Set the Home Directory for the Cygwin SSH User
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The SSH Server Daemon `sshd` locates a user's home directory from the
-configuration in the user database, not from environment variables such
-as `HOME`. To ensure that all GlassFish Server commands can run without
-errors, each SSH user must be configured to have a home directory.
-
-Each user on a Windows host where SSH is set up potentially has two home
-directories:
-
-* Windows home directory. GlassFish Server commands, which are run in a
-Windows command window, use the Windows home directory.
-* SSH home directory. SSH commands, which are run in a shell such as
-`bash` or `ksh`, use the SSH home directory.
-
-If these home directories are different, GlassFish Server and SSH each
-locate a user's `.ssh` directory in different directories. To simplify
-the set up of SSH, configure each user's home directory for SSH and
-Windows to be the same directory. A disadvantage of this approach is
-that the SSH home directory has spaces in its path name. Spaces in path
-names are cumbersome in the UNIX environment.
-
-1.  Log in as a user with Administrator privileges.
-2.  In the `c:\cygwin\etc\passwd` file, edit the home directory setting
-for the SSH user to specify the user's home directory for Windows.
-
-[[gkskx]][[GSHAG00074]][[to-configure-and-start-the-cygwin-ssh-server-daemon-sshd]]
-
-To Configure and Start the Cygwin SSH Server Daemon `sshd`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[GSHAG322]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* A user account is created for each user that will log in to the host
-through SSH.
-* A password is set for each user account. +
-The SSH server daemon `sshd` disallows authentication of any user for
-whose account a password is not set.
-
-1.  Double-click the Cygwin icon. +
-A Cygwin terminal is started.
-2.  If necessary, set the password for your user account.
-1.  Run the `passwd` command as follows: +
-[source,oac_no_warn]
-----
-$ passwd user-name
-----
-user-name::
-  The user name for your account.
-2.  Type a password. +
-The password for your Windows account is also set.
-3.  Configure SSH on the host.
-1.  Run the `ssh-host-config` command. +
-[source,oac_no_warn]
-----
-$ ssh-host-config
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Tip:
-
-If you are using Windows XP, specify the `-y` option of
-`ssh-host-config` to answer `yes` to all prompts. If you run
-`ssh-host-config` with the `-y` option, omit Step link:#gkuat[b].
-
-|=======================================================================
-
-2.  [[gkuat]]
-Ensure that the `StrictModes` and `PubkeyAuthentication` options are set
-to `yes` in the file `/etc/ssh_config`.
-
-The file `/etc/ssh_config` can also be accessed as
-`/cygdrive/c/cygwin/etc/sshd_config`.
-4.  Start the SSH server daemon `sshd`. +
-[source,oac_no_warn]
-----
-$ net start sshd
-----
-5.  Confirm that the SSH server daemon `sshd` is running. +
-[source,oac_no_warn]
-----
-$ cygrunsrv --query sshd
- Service             : sshd
- Display name        : CYGWIN sshd
- Current State       : Running
- Controls Accepted   : Stop
- Command             : /usr/sbin/sshd -D
-----
-
-[[GSHAG323]]
-
-Next Steps
-
-After you have completed the setup of SSH on a host, test the setup on
-the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
-
-[[gkskf]][[GSHAG00174]][[setting-up-the-mks-toolkit-on-windows]]
-
-Setting Up the MKS Toolkit on Windows
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Set up the MKS Toolkit on the DAS host and on all hosts where instances
-in your cluster will reside.
-
-The following topics are addressed here:
-
-* link:#gksmq[To Install the MKS Toolkit]
-* link:#gksmu[To Set the Path for Windows and for the MKS Toolkit Shell]
-* link:#gksox[To Set the Home Directory for the MKS Toolkit SSH User]
-* link:#gksnx[To Configure and Start the MKS Toolkit SSH Server Daemon
-`sshd`]
-
-[[gksmq]][[GSHAG00075]][[to-install-the-mks-toolkit]]
-
-To Install the MKS Toolkit
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For centralized GlassFish Server administration, the default
-installation of the MKS Toolkit is sufficient.
-
-Follow the instructions in the MKS Toolkit product documentation to
-install OpenSSH from the MKS Toolkit with default installation options.
-
-[[GSHAG324]]
-
-See Also
-
-For detailed information about installing MKS Toolkit, see
-"http://www.mkssoftware.com/docs/rn/relnotes_tk94.asp#install[Installing
-MKS Toolkit]" in MKS Toolkit v9.4 Release Notes
-(`http://www.mkssoftware.com/docs/rn/relnotes_tk94.asp#install`).
-
-[[gksmu]][[GSHAG00076]][[to-set-the-path-for-windows-and-for-the-mks-toolkit-shell]]
-
-To Set the Path for Windows and for the MKS Toolkit Shell
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable GlassFish Server tools to find commands for SSH, each user's
-path for Windows and for the MKS Toolkit shell must contain the
-following directories:
-
-* The MKS Toolkit `bin` directory, for example
-`C:\Program Files\MKS Toolkit\mksnt`
-* The `bin` directory of the JDK software
-
-The MKS Toolkit installer automatically adds the MKS Toolkit `bin`
-directory to the path. However, you must add the `bin` directory of the
-JDK software to the path yourself.
-
-1.  Log in as a user with Administrator privileges. +
-Logging in as a user with Administrator privileges ensures that the
-change applies to all users.
-2.  In the System Information control panel, click Advanced>Environment
-Variables.
-3.  Add the `bin` directory of the JDK software to the Path environment
-variable.
-
-[[gksox]][[GSHAG00077]][[to-set-the-home-directory-for-the-mks-toolkit-ssh-user]]
-
-To Set the Home Directory for the MKS Toolkit SSH User
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The SSH Server Daemon `sshd` locates a user's home directory from the
-configuration in the user database, not from environment variables such
-as `HOME`. To ensure that all GlassFish Server commands can run without
-errors, each SSH user must be configured to have a home directory.
-
-Each user on a Windows host where SSH is set up potentially has two home
-directories:
-
-* Windows home directory. GlassFish Server commands, which are run in a
-Windows command window, use the Windows home directory.
-* SSH home directory. SSH commands, which are run in a shell such as
-`bash` or `ksh`, use the SSH home directory.
-
-If these home directories are different, GlassFish Server and SSH each
-locate a user's `.ssh` directory in different directories. To simplify
-the set up of SSH, configure each user's home directory for SSH and
-Windows to be the same directory. A disadvantage of this approach is
-that the SSH home directory has spaces in its path name. Spaces in path
-names are cumbersome in the UNIX environment.
-
-1.  [[gkslo]]
-Compare the pairs of settings for Windows and the MKS Toolkit that are
-listed in the following table.
-
-[width="100%",cols="<50%,<50%",options="header",]
-|===============================================
-|Windows Environment Variable |MKS Toolkit Field
-|`HOMEPATH` |Home Directory
-|`HOMEDRIVE` |Home Directory Drive
-|===============================================
-
-
-1.  In a Windows command window, determine the values of the `HOMEPATH`
-and `HOMEDRIVE` environment variables.
-2.  In an MKS Toolkit shell, determine the current settings of the Home
-Directory and Home Directory Drive fields for the user. +
-[source,oac_no_warn]
-----
-$ userinfo user-name
-----
-user-name::
-  The user name for the user whose home directory you are setting, for
-  example `Administrator`.
-2.  If the settings do not match, update setting of each MKS Toolkit
-field to match its corresponding Windows environment variable. +
-If the settings match, no further action is required. +
-To update the settings, run the following command in an MKS Toolkit
-shell: +
-[source,oac_no_warn]
-----
-$ userinfo -u -fHomeDirDrive:"drive" -fHomeDir:"path" user-name
-----
-drive::
-  The drive identifier of the disk drive on which the user's Windows
-  home directory resides, for example, `C:`.
-path::
-  The path to the user's Windows home directory, for example,
-  `\Documents and Settings\Administrator`.
-user-name::
-  The user name for the user whose home directory you are setting, for
-  example `Administrator`. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Do not set the `HOME` environment variable explicitly. If Home Directory
-and Home Directory Drive are set correctly, the `HOME` environment
-variable specifies the correct path by default.
-
-|=======================================================================
-
-3.  In an MKS Toolkit shell, confirm that the settings were updated. +
-[source,oac_no_warn]
-----
-$ userinfo user-name
-----
-user-name::
-  The user name for the user whose home directory you are setting, for
-  example `Administrator`.
-4.  Log out of the host and log in to the host again.
-5.  Confirm that the home directories are the same as explained in
-Step link:#gkslo[1].
-
-[[GSHAG00014]][[gksnj]]
-
-
-Example 2-3 Setting the Home Directory for the MKS Toolkit User
-
-This example sets the home directory for the MKS Toolkit user
-`Administrator` to `C:\Documents and Settings\Administrator`.
-
-[source,oac_no_warn]
-----
-$ userinfo -u -fHomeDirDrive:"C:"
--fHomeDir:"\Documents and Settings\Administrator" Administrator
-----
-
-[[gksnx]][[GSHAG00078]][[to-configure-and-start-the-mks-toolkit-ssh-server-daemon-sshd]]
-
-To Configure and Start the MKS Toolkit SSH Server Daemon `sshd`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Do not set the command shell to `cmd.exe`. The use of SSH for
-centralized GlassFish Server administration requires a shell in the
-style of a UNIX shell.
-
-|=======================================================================
-
-
-1.  From the Programs menu, choose MKS
-Toolkit>Configuration>Configuration Information.
-2.  Enable password authentication and strict modes.
-1.  Click the Secure Shell Service tab.
-2.  Select the Password Authentication option.
-3.  Click Advanced settings.
-4.  Click the Login tab.
-5.  Deselect the Strict Modes option.
-3.  If you are using SSH key-file authentication, enable `MKSAUTH`
-password authentication.
-1.  Click the Authentication tab.
-2.  Under Enable/Disable Password using MKSAUTH, type the user's
-password and click the Enable.
-4.  Start the SSH server daemon `sshd`.
-5.  Confirm that the SSH server daemon `sshd` is running. +
-[source,oac_no_warn]
-----
-$ service query MKSSecureSH
-Name:           MKS Secure Shell Service
-Service Type:   WIN32_OWN_PROCESS
-Current State:  RUNNING
-Controls Accepted:      ACCEPT_STOP
-Check Point:    0
-Wait Hint:      0
-Start Type:     AUTO_START
-Error Control:  IGNORE
-Path:           "C:\Program Files\MKS Toolkit\bin\secshd.exe"
-Dependency:     NuTCRACKERService
-Dependency:     tcpip
-Service Start Name:     LocalSystem
-----
-
-[[GSHAG325]]
-
-Next Steps
-
-After you have completed the setup of SSH on a host, test the setup on
-the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
-
-[[gksja]][[GSHAG00175]][[setting-up-ssh-on-unix-and-linux-systems]]
-
-Setting Up SSH on UNIX and Linux Systems
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Setting up SSH on UNIX and Linux systems involves verifying that the SSH
-server daemon `sshd` is running and, if necessary, starting this daemon.
-Set up SSH on the DAS host and on all hosts where instances in your
-cluster will reside.
-
-On UNIX and Linux systems, SSH software is typically installed as part
-of the base operating system. If SSH is not installed, download and
-install the appropriate http://www.openssh.com/[OpenSSH]
-(`http://www.openssh.com/`) SSH package for your operating system.
-
-How to set up SSH on UNIX and Linux systems depends on the flavor of the
-operating system that you are running, as explained in the following
-sections:
-
-* link:#gksjx[To Set Up SSH on Oracle Solaris Systems]
-* link:#gkspz[To Set Up SSH on MacOS Systems]
-* link:#gksrd[To Set Up SSH on Linux systems]
-
-[[gksjx]][[GSHAG00079]][[to-set-up-ssh-on-oracle-solaris-systems]]
-
-To Set Up SSH on Oracle Solaris Systems
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Ensure that the following options in the configuration file
-`/etc/ssh/sshd_config` are set to `yes`:
-* `StrictModes`
-* `PubkeyAuthentication`
-2.  Determine if the SSH server daemon `sshd` is running. +
-[source,oac_no_warn]
-----
-$ /usr/bin/svcs ssh
-----
-3.  If the SSH server daemon `sshd` is not running, start this daemon. +
-If the daemon is running, no further action is required. +
-[source,oac_no_warn]
-----
-$ /usr/sbin/svcadm enable ssh
-----
-
-[[GSHAG00015]][[gkspo]]
-
-
-Example 2-4 Determining if the `sshd` Daemon Is Running on an Oracle
-Solaris System
-
-This example confirms that the SSH server daemon `sshd` is running on an
-Oracle Solaris system.
-
-[source,oac_no_warn]
-----
-$ /usr/bin/svcs ssh
-STATE          STIME    FMRI
-online         Jul_06   svc:/network/ssh:default
-----
-
-[[GSHAG326]]
-
-See Also
-
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)]
-
-[[GSHAG327]]
-
-Next Steps
-
-After you have completed the setup of SSH on a host, test the setup on
-the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
-
-[[gkspz]][[GSHAG00080]][[to-set-up-ssh-on-macos-systems]]
-
-To Set Up SSH on MacOS Systems
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Open System Preferences and click Sharing. +
-The Sharing window opens.
-2.  Ensure that Remote Login is selected in the Service list.
-3.  Ensure that either of the following is allowed access:
-* All Users
-* The user that running the DAS or instance
-4.  (MacOS 10.6 systems only) Ensure that the SSH server daemon `sshd`
-allows password authentication. +
-On MacOS 10.5 systems, the SSH server daemon `sshd` allows password
-authentication by default. However, on MacOS 10.6 systems, the SSH
-server daemon `sshd` disallows password authentication by default.
-1.  Edit the configuration file `/etc/sshd_config` to set the
-`PasswordAuthentication` option to `yes`.
-2.  Stop the SSH server daemon `sshd`. +
-[source,oac_no_warn]
-----
-$ sudo launchctl stop com.openssh.sshd
-----
-3.  Start the SSH server daemon `sshd`. +
-[source,oac_no_warn]
-----
-$ sudo launchctl start com.openssh.sshd
-----
-
-[[GSHAG328]]
-
-Next Steps
-
-After you have completed the setup of SSH on a host, test the setup on
-the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
-
-[[gksrd]][[GSHAG00081]][[to-set-up-ssh-on-linux-systems]]
-
-To Set Up SSH on Linux systems
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Ensure that the following options in the configuration file
-`/etc/ssh/sshd_config` are set to `yes`:
-* `StrictModes`
-* `PubkeyAuthentication`
-2.  Determine if the SSH server daemon `sshd` is running. +
-[source,oac_no_warn]
-----
-$ /sbin/service sshd status
-----
-3.  If the SSH server daemon `sshd` is not running, start this daemon. +
-If the daemon is running, no further action is required. +
-[source,oac_no_warn]
-----
-$ /sbin/service sshd start
-----
-
-[[GSHAG00016]][[gkssf]]
-
-
-Example 2-5 Determining if the `sshd` Daemon Is Running on a Linux
-System
-
-This example confirms that the SSH server daemon `sshd` is running on a
-Linux system.
-
-[source,oac_no_warn]
-----
-$ /sbin/service sshd status
-openssh-daemon (pid  2373) is running...
-----
-
-[[GSHAG329]]
-
-Next Steps
-
-After you have completed the setup of SSH on a host, test the setup on
-the host as explained in link:#gkslw[Testing the SSH Setup on a Host].
-
-[[gkslw]][[GSHAG00176]][[testing-the-ssh-setup-on-a-host]]
-
-Testing the SSH Setup on a Host
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-After setting up SSH on a host, test the setup to ensure that you can
-use SSH to contact the host from another host. Testing the SSH setup on
-a host verifies that the SSH server daemon `sshd` is running and that
-the SSH user has a valid user account on the host.
-
-If you cannot use SSH to contact the host, troubleshoot the SSH setup
-before setting up SSH user authentication.
-
-[[gkskk]][[GSHAG00082]][[to-test-the-ssh-setup-on-a-host]]
-
-To Test the SSH Setup on a Host
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  From another host, use SSH to log in into the host that you are
-testing as the SSH user. +
-[source,oac_no_warn]
-----
-$ ssh -l user-name host-name
-----
-user-name::
-  The user name for the SSH user's account on the host.
-host-name::
-  The host name of the host that you are logging in to.
-2.  In response to the prompt, type your password. +
-If this step succeeds, your setup of SSH is complete. +
-The first time that you connect to a host, you might be warned that the
-authenticity cannot be established and be asked if you want to continue
-connection. If you trust the host, answer `yes` to connect to the host.
-
-[[GSHAG330]]
-
-Troubleshooting
-
-To obtain diagnostic information, use the `-v` option of the
-command-line SSH client and the `-d` option of the SSH server daemon
-`sshd`. How to start the SSH server daemon `sshd` manually depends on
-the operating system and SSH provider that you are using.
-
-If the SSH server daemon `sshd` is set up on a host that has a firewall,
-ensure that a rule is defined to allow inbound traffic on the SSH port.
-The default SSH port is port 22.
-
-If your connection is refused, the SSH server daemon `sshd` is not
-running and you must start the daemon. For instructions, see the
-following sections:
-
-* link:#gkskx[To Configure and Start the Cygwin SSH Server Daemon
-`sshd`]
-* link:#gksnx[To Configure and Start the MKS Toolkit SSH Server Daemon
-`sshd`]
-* link:#gksjx[To Set Up SSH on Oracle Solaris Systems]
-
-If your connection is accepted, but you cannot log in, ensure that the
-SSH user has a valid user account on the host.
-
-[[GSHAG331]]
-
-Next Steps
-
-After testing the SSH setup, set up SSH user authentication to enable
-SSH to authenticate users without prompting for a password. For more
-information, see link:#gkshh[Setting Up SSH User Authentication].
-
-[[gkshh]][[GSHAG00177]][[setting-up-ssh-user-authentication]]
-
-Setting Up SSH User Authentication
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When a GlassFish Server subcommand uses SSH to log in to a remote host,
-GlassFish Server must be able to authenticate the SSH user. Setting up
-SSH user authentication ensures that this requirement is met.
-
-Before setting up SSH user authentication, determine the authentication
-scheme to use. If SSH is already deployed at your site, the
-authentication scheme to use might already be chosen for you.
-
-The following table lists the authentication schemes that GlassFish
-Server supports. The table also lists the advantages and disadvantages
-of each authentication scheme.
-
-[width="100%",cols="<34%,<33%,<33%",options="header",]
-|=======================================================================
-|Authentication Scheme |Advantages |Disadvantages
-|Public key without encryption |GlassFish Server provides tools to
-simplify set up. |SSH must be configured to locate users' key files in
-the correct location. File access permissions for key files and the
-directory that contains the key files must be set correctly.
-
-|Public key with passphrase-protected encryption |This scheme is more
-secure than public key authentication without encryption. |SSH must be
-configured to locate users' key files in the correct location. File
-access permissions for key files and the directory that contains the key
-files must be set correctly. For each SSH user, GlassFish Server
-password aliases are required for the encryption passphrase.
-
-|Password |No SSH configuration is required to locate key files or to
-ensure that file access permissions are correct. |For each SSH user,
-GlassFish Server password aliases are required for the SSH password.
-|=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#gksqe[To Set Up Public Key Authentication Without Encryption]
-* link:#gktaq[To Set Up Encrypted Public Key Authentication]
-* link:#gktbd[To Set Up Password Authentication]
-
-[[gksqe]][[GSHAG00083]][[to-set-up-public-key-authentication-without-encryption]]
-
-To Set Up Public Key Authentication Without Encryption
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `setup-ssh` subcommand in local mode to set up public key
-authentication without encryption. This subcommand enables you to set up
-public key authentication on multiple hosts in a single operation.
-
-The `setup-ssh` subcommand generates a key pair and distributes the
-public key file to specified hosts. The private key file and the public
-key file are protected only by the file system's file access
-permissions. If you require additional security, set up public key
-authentication with passphrase-protected encryption as explained in
-link:#gktaq[To Set Up Encrypted Public Key Authentication].
-
-[[GSHAG332]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* SSH is set up on each host where you are setting up public key
-authentication. For more information, see the following sections:
-
-** link:#gksiy[Setting Up Cygwin SSH on Windows]
-
-** link:#gkskf[Setting Up the MKS Toolkit on Windows]
-
-** link:#gksja[Setting Up SSH on UNIX and Linux Systems]
-* Only the SSH user has write access to the following files and
-directories on each host where you are setting up public key
-authentication:
-
-** The SSH user's home directory
-
-** The `~/.ssh` directory
-
-** The `authorized_key` file +
-If other users can write to these files and directories, the secure
-service might not trust the `authorized_key` file and might disallow
-public key authentication.
-
-1.  Generate an SSH key pair and distribute the public key file to the
-hosts where you are setting up public key authentication. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for setting up an SSH
-key, see the link:../reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> setup-ssh [--sshuser sshuser] host-list
-----
-sshuser::
-  The SSH user for which you are generating the SSH key pair. If you are
-  running the subcommand as the SSH user, you may omit this option.
-host-list::
-  A space-separated list of the names of the hosts where the SSH public
-  key is to be distributed. +
-After generating the SSH key pair, the subcommand uses SSH to log in to
-each host in host-list as the SSH user to distribute the public key.
-Each time a password is required to log in to a host, you are prompted
-for the SSH user's password.
-2.  In response to each prompt for a password, type the SSH user's
-password.
-
-[[GSHAG00017]][[gktat]]
-
-
-Example 2-6 Setting Up Public Key Authentication Without Encryption
-
-This example generates and sets up an SSH key for the user `gfuser` on
-the hosts `sua01` and `sua02`. The command is run by the user `gfuser`.
-
-[source,oac_no_warn]
-----
-asadmin> setup-ssh --generatekey=true sua01 sua02
-Enter SSH password for gfuser@sua01>
-Created directory /home/gfuser/.ssh
-/usr/bin/ssh-keygen successfully generated the identification /home/gfuser/.ssh/id_rsa
-Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua01
-Successfully connected to gfuser@sua01 using keyfile /home/gfuser/.ssh/id_rsa
-Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua02
-Successfully connected to gfuser@sua02 using keyfile /home/gfuser/.ssh/id_rsa
-Command setup-ssh executed successfully.
-----
-
-[[GSHAG333]]
-
-Next Steps
-
-After setting up public key authentication, test the setup by using
-`ssh` to log in as the SSH user to each host where the public key was
-distributed. For each host, log in first with the unqualified host name
-and then with the fully qualified name. If SSH does not prompt for
-password, public key authentication is set up correctly on the host.
-
-If you are prompted for a password, verify that the public key file was
-copied correctly to the SSH user's `authorized_keys` file.
-
-[[GSHAG334]]
-
-Troubleshooting
-
-Setup might fail because file access permissions in the SSH user's home
-directory are too permissive. In this situation, ensure that the file
-access permissions in the SSH user's home directory meet the
-requirements for performing this procedure.
-
-If you have set the file access permissions in the SSH user's home
-directory correctly, setup might still fail if you are using the MKS
-Toolkit. In this situation, correct the problem in one of the following
-ways:
-
-* On each remote host, copy the public key file to the SSH user's
-`~/.ssh` directory and import the file. To import the file, select the
-Secure Service tab in the MKS configuration GUI and click Passwordless.
-* Disable strict modes.
-
-[[GSHAG335]]
-
-See Also
-
-* link:#gksiy[Setting Up Cygwin SSH on Windows]
-* link:#gkskf[Setting Up the MKS Toolkit on Windows]
-* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
-* link:../reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help setup-ssh` at the command line.
-
-[[gktaq]][[GSHAG00084]][[to-set-up-encrypted-public-key-authentication]]
-
-To Set Up Encrypted Public Key Authentication
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Encrypted key file authentication uses an encrypted private key file
-that is protected with a passphrase. This passphrase must be provided to
-use the private key to unlock the public key. If you require encrypted
-public key authentication, you must use the SSH utility `ssh-keygen` to
-generate an SSH key pair with an encrypted private key. You can then use
-the `setup-ssh` subcommand to distribute the public key file to
-specified hosts.
-
-To use the encrypted key file, GlassFish Server requires the passphrase
-with which the key file was encrypted. To provide this passphrase
-securely to GlassFish Server, create a GlassFish Server password alias
-to represent the passphrase and store this alias in a password file that
-is passed to the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-each step. For information about all the options for the commands and
-subcommands in this task, see their help pages or man pages.
-
-|=======================================================================
-
-
-[[GSHAG336]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* SSH is set up on each host where you are setting up public key
-authentication. For more information, see the following sections:
-
-** link:#gksiy[Setting Up Cygwin SSH on Windows]
-
-** link:#gkskf[Setting Up the MKS Toolkit on Windows]
-
-** link:#gksja[Setting Up SSH on UNIX and Linux Systems]
-* Only the SSH user has write access to the following files and
-directories on each host where you are setting up public key
-authentication:
-
-** The SSH user's home directory
-
-** The `~/.ssh` directory
-
-** The `authorized_key` file +
-If other users can write to these files and directories, the secure
-service might not trust the `authorized_key` file and might disallow
-public key authentication.
-
-1.  Generate an SSH key pair with an encrypted private key file. +
-Use the SSH utility
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`]
-for this purpose. +
-[source,oac_no_warn]
-----
-$ ssh-keygen -t type
-----
-type::
-  The algorithm that is to be used for the key and which must be `rsa`,
-  `dsa`, or `rsa1`. +
-The `ssh-keygen` utility prompts you for a file in which to save the
-key.
-2.  To simplify the distribution of the key file, accept the default
-file. +
-The `ssh-keygen` utility prompts you for a passphrase.
-3.  [[gktbh]]
-In response to the prompt, type your choice of passphrase for encrypting
-the private key file.
-
-The `ssh-keygen` utility prompts you to type the passphrase again.
-4.  In response to the prompt, type the passphrase that you set in
-Step link:#gktbh[3].
-5.  Distribute the public key file to the hosts where you are setting up
-public key authentication. +
-Use the link:../reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`] `asadmin` subcommand for this
-purpose. +
-[source,oac_no_warn]
-----
-$ asadmin setup-ssh --generatekey=false host-list
-----
-host-list::
-  A space-separated list of the names of the hosts where the SSH public
-  key is to be distributed. +
-The subcommand uses SSH to log in to each host in host-list as the SSH
-user to distribute the public key. Each time a passphrase or a password
-is required to log in to a host, you are prompted for the passphrase or
-the SSH user's password.
-6.  In response to each prompt, type the requested information.
-* In response to each prompt for a passphrase, type the passphrase that
-you set in Step link:#gktbh[3].
-* In response to each prompt for a password, type the SSH user's
-password.
-7.  [[gktbm]]
-Create a GlassFish Server password alias for the passphrase that you set
-in Step link:#gktbh[3].
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Run the link:../reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`] `asadmin`
-subcommand. +
-[source,oac_no_warn]
-----
-$ asadmin create-password-alias alias-name
-----
-alias-name::
-  Your choice of name for the alias that you are creating. +
-The `create-password-alias` subcommand prompts you to type the
-passphrase for which you are creating an alias.
-3.  In response to the prompt, type the passphrase that you set in
-Step link:#gktbh[3]. +
-The `create-password-alias` subcommand prompts you to type the
-passphrase again.
-4.  In response to the prompt, type the passphrase that you set in
-Step link:#gktbh[3] again.
-8.  Create a plain text file that contains the following entry for the
-passphrase alias: +
-[source,oac_no_warn]
-----
-AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=alias-name}
-----
-alias-name::
-  The alias name that you specified in Step link:#gktbm[7]. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-When you create an `SSH` node, pass this file as the `--passwordfile`
-option of the `asadmin` utility. For more information, see
-link:nodes.html#gkrnf[To Create an `SSH` Node].
-
-|=======================================================================
-
-
-[[GSHAG00018]][[gktav]]
-
-
-Example 2-7 Setting Up Encrypted Public Key Authentication
-
-This example generates an SSH key pair with an encrypted private key for
-the user `gfadmin` and distributes the public key to the hosts `sj01`
-and `ja02`. The example also creates an alias that is named
-`ssh-key-passphrase` for the private key's passphrase.
-
-[source,oac_no_warn]
-----
-$ ssh-keygen -t rsa
-Generating public/private rsa key pair.
-Enter file in which to save the key (/home/gfadmin/.ssh/id_rsa):
-Enter passphrase (empty for no passphrase):
-Enter same passphrase again:
-Your identification has been saved in /home/gfadmin/.ssh/id_rsa.
-Your public key has been saved in /home/gfadmin/.ssh/id_rsa.pub.
-The key fingerprint is:
-db:b5:f6:0d:fe:16:33:91:20:64:90:1a:84:66:f5:d0 gfadmin@dashost
-$ asadmin setup-ssh --generatekey=false sj01 sj02
-Key /home/gfadmin/.ssh/id_rsa is encrypted
-Enter key passphrase>
-Enter SSH password for gfadmin@sj01>
-Copied keyfile /home/gfadmin/.ssh/id_rsa.pub to gfadmin@sj01
-Successfully connected to gfadmin@sj01 using keyfile /home/gfadmin/.ssh/id_rsa
-Successfully connected to gfadmin@sj02 using keyfile /home/gfadmin/.ssh/id_rsa
-SSH public key authentication is already configured for gfadmin@sj02
-Command setup-ssh executed successfully.
-$ asadmin create-password-alias ssh-key-passphrase
-Enter the alias password>
-Enter the alias password again>
-Command create-password-alias executed successfully.
-----
-
-The entry in the password file for the `ssh-key-passphrase` alias is as
-follows:
-
-[source,oac_no_warn]
-----
-AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=ssh-key-passphrase}
-----
-
-[[GSHAG337]]
-
-Troubleshooting
-
-Setup might fail because file access permissions in the SSH user's home
-directory are too permissive. In this situation, ensure that the file
-access permissions in the SSH user's home directory meet the
-requirements for performing this procedure.
-
-If you have set the file access permissions in the SSH user's home
-directory correctly, setup might still fail if you are using the MKS
-Toolkit. In this situation, correct the problem in one of the following
-ways:
-
-* On each remote host, copy the public key file to the SSH user's
-`~/.ssh` directory and import the file. To import the file, select the
-Secure Service tab in the MKS configuration GUI and click Passwordless.
-* Disable strict modes.
-
-[[GSHAG338]]
-
-See Also
-
-* link:#gksiy[Setting Up Cygwin SSH on Windows]
-* link:#gkskf[Setting Up the MKS Toolkit on Windows]
-* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
-* link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
-* link:../reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)]
-* link:../reference-manual/setup-ssh.html#GSRFM00229[`setup-ssh`(1)]
-* http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help create-password-alias`
-* `asadmin help setup-ssh`
-
-[[gktbd]][[GSHAG00085]][[to-set-up-password-authentication]]
-
-To Set Up Password Authentication
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To use SSH to log in to a remote host, GlassFish Server requires the SSH
-user's password. To provide this password securely to GlassFish Server,
-create a GlassFish Server password alias to represent the password and
-store this alias in a password file that is passed to the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility.
-
-[[GSHAG339]]
-
-Before You Begin
-
-Ensure that SSH is set up on each host where you are setting up password
-authentication. For more information, see the following sections:
-
-* link:#gksiy[Setting Up Cygwin SSH on Windows]
-* link:#gkskf[Setting Up the MKS Toolkit on Windows]
-* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  [[gktbb]]
-Create an alias for the SSH user's password.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for creating a password
-alias, see the link:../reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)] help page.
-
-|=======================================================================
-
-
-[source,oac_no_warn]
-----
-asadmin> create-password-alias alias-name
-----
-
-alias-name::
-  Your choice of name for the alias that you are creating.
-
-The `create-password-alias` subcommand prompts you to type the password
-for which you are creating an alias.
-3.  In response to the prompt, type the SSH user's password. +
-The `create-password-alias` subcommand prompts you to type the password
-again.
-4.  In response to the prompt, type the SSH user's password again.
-5.  Create a plain text file that contains the following entry for the
-password alias: +
-[source,oac_no_warn]
-----
-AS_ADMIN_SSHPASSWORD=${ALIAS=alias-name}
-----
-alias-name::
-  The alias name that you specified in Step link:#gktbb[2]. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-When you create an `SSH` node, pass this file as the `--passwordfile`
-option of the `asadmin` utility. For more information, see
-link:nodes.html#gkrnf[To Create an `SSH` Node].
-
-|=======================================================================
-
-
-[[GSHAG00019]][[gktba]]
-
-
-Example 2-8 Creating an Alias for the SSH User's Password
-
-This example creates an alias that is named `ssh-password` for the SSH
-user's password.
-
-[source,oac_no_warn]
-----
-$ asadmin create-password-alias ssh-password
-Enter the alias password>
-Enter the alias password again>
-Command create-password-alias executed successfully.
-----
-
-The entry in the password file for the `ssh-password` alias is as
-follows:
-
-[source,oac_no_warn]
-----
-AS_ADMIN_SSHPASSWORD=${ALIAS=ssh-password}
-----
-
-[[GSHAG340]]
-
-See Also
-
-* link:#gksiy[Setting Up Cygwin SSH on Windows]
-* link:#gkskf[Setting Up the MKS Toolkit on Windows]
-* link:#gksja[Setting Up SSH on UNIX and Linux Systems]
-* link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)]
-* link:../reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`(1)]
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-password-alias` at the command line.
-
-[[gkshn]][[GSHAG00178]][[installing-and-removing-glassfish-server-software-on-multiple-hosts]]
-
-Installing and Removing GlassFish Server Software on Multiple Hosts
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server software must be installed on all hosts where GlassFish
-Server will run. How to install GlassFish Server software on multiple
-hosts depends on the degree of control that you require over the
-installation on each host.
-
-* If you require complete control over the installation on each host,
-install the software from a GlassFish Server distribution on each host
-individually. For more information, see link:../installation-guide/toc.html#GSING[GlassFish Server
-Open Source Edition Installation Guide].
-* If the same set up on each host is acceptable, copy an existing
-GlassFish Server installation to the hosts. For more information, see
-link:#gksil[To Copy a GlassFish Server Installation to Multiple Hosts].
-
-GlassFish Server also enables you to remove GlassFish Server software
-from multiple hosts in a single operation. For more information, see
-link:#gktaw[To Remove GlassFish Server Software From Multiple Hosts].
-
-The following topics are addressed here:
-
-* link:#gksil[To Copy a GlassFish Server Installation to Multiple Hosts]
-* link:#gktaw[To Remove GlassFish Server Software From Multiple Hosts]
-
-[[gksil]][[GSHAG00086]][[to-copy-a-glassfish-server-installation-to-multiple-hosts]]
-
-To Copy a GlassFish Server Installation to Multiple Hosts
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `install-node-dcom` subcommand or the `install-node-ssh`
-subcommand in local mode to copy an installation of GlassFish Server
-software to multiple hosts.
-
-[[GSHAG341]]
-
-Before You Begin
-
-Ensure that DCOM or SSH is set up on the host where you are running the
-subcommand and on each host where you are copying the GlassFish Server
-software.
-
-Run the appropriate subcommand for the protocol that is set up for
-communication between the hosts.
-
-* If DCOM is set up for communication between the hosts, run the
-`install-node-dcom` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for copying an
-installation of GlassFish Server software, see the
-link:../reference-manual/install-node-dcom.html#GSRFM626[`install-node-dcom`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> install-node-dcom host-list
-----
-host-list::
-  A space-separated list of the names of the hosts where you are copying
-  the installation of GlassFish Server software.
-* If SSH is set up for communication between the hosts, run the
-`install-node-ssh` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for copying an
-installation of GlassFish Server software, see the
-link:../reference-manual/install-node-ssh.html#GSRFM628[`install-node-ssh`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> install-node-ssh host-list
-----
-host-list::
-  A space-separated list of the names of the hosts where you are copying
-  the installation of GlassFish Server software.
-
-[[GSHAG461]][[sthref9]]
-
-
-Example 2-9 Copying a GlassFish Server Installation to Multiple
-DCOM-Enabled Hosts
-
-This example copies the GlassFish Server software on the host where the
-subcommand is run to the default location on the DCOM-enabled hosts
-`wpmdl1.example.com` and `wpmdl2.example.com`.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> install-node-dcom wpmdl1.example.com wpmdl2.example.com
-Created installation zip C:\glassfish8107276692860773166.zip
-Copying 85760199 bytes..........................................................
-....................................
-WROTE FILE TO REMOTE SYSTEM: C:/glassfish3/glassfish_install.zip and C:/glassfish3/unpack.bat
-Output from Windows Unpacker:
-
-C:\Windows\system32>C:
-
-C:\Windows\system32>cd "C:\glassfish3"
-
-C:\glassfish3>jar xvf glassfish_install.zip
- inflated: bin/asadmin
- inflated: bin/asadmin.bat
- inflated: glassfish/bin/appclient
- inflated: glassfish/bin/appclient.bat
- inflated: glassfish/bin/appclient.js
- inflated: glassfish/bin/asadmin
- inflated: glassfish/bin/asadmin.bat
-...
- inflated: mq/lib/props/broker/default.properties
- inflated: mq/lib/props/broker/install.properties
-
-Command install-node-dcom executed successfully.
-----
-
-[[GSHAG342]][[sthref10]]
-
-
-Example 2-10 Copying a GlassFish Server Installation to Multiple
-SSH-Enabled Hosts
-
-This example copies the GlassFish Server software on the host where the
-subcommand is run to the default location on the SSH-enabled hosts
-`sj03.example.com` and `sj04.example.com`.
-
-[source,oac_no_warn]
-----
-asadmin> install-node-ssh sj03.example.com sj04.example.com
-Created installation zip /home/gfuser/glassfish2339538623689073993.zip
-Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
-sj03.example.com:/export/glassfish3
-Installing glassfish2339538623689073993.zip into sj03.example.com:/export/glassfish3
-Removing sj03.example.com:/export/glassfish3/glassfish2339538623689073993.zip
-Fixing file permissions of all files under sj03.example.com:/export/glassfish3/bin
-Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
-sj04.example.com:/export/glassfish3
-Installing glassfish2339538623689073993.zip into sj04.example.com:/export/glassfish3
-Removing sj04.example.com:/export/glassfish3/glassfish2339538623689073993.zip
-Fixing file permissions of all files under sj04.example.com:/export/glassfish3/bin
-Command install-node-ssh executed successfully
-----
-
-[[GSHAG343]]
-
-See Also
-
-* link:../reference-manual/install-node-dcom.html#GSRFM626[`install-node-dcom`(1)]
-* link:../reference-manual/install-node-ssh.html#GSRFM628[`install-node-ssh`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help install-node-dcom`
-* `asadmin help install-node-ssh`
-
-[[gktaw]][[GSHAG00087]][[to-remove-glassfish-server-software-from-multiple-hosts]]
-
-To Remove GlassFish Server Software From Multiple Hosts
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `uninstall-node-dcom` subcommand or the `uninstall-node-ssh`
-subcommand in local mode to remove GlassFish Server software from
-multiple hosts.
-
-[[GSHAG344]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* DCOM or SSH is set up on the host where you are running the subcommand
-and on each host from which you are removing the GlassFish Server
-software.
-* No process is accessing the parent of the base installation directory
-for the GlassFish Server software or any subdirectory of this directory.
-* The parent of the base installation directory for the GlassFish Server
-software is the same on each host from which you are removing the
-GlassFish Server software.
-* For hosts that use DCOM for remote communication, the configuration of
-the following items is the same on each host:
-
-** Windows Domain
-
-** Windows User
-* For hosts that use SSH for remote communication, the configuration of
-the following items is the same on each host:
-
-** SSH port
-
-** SSH user
-
-** SSH key file
-
-Run the appropriate subcommand for the protocol that is set up for
-communication between the hosts.
-
-* If DCOM is set up for communication between the hosts, run the
-`uninstall-node-dcom` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for removing GlassFish
-Server software, see the link:../reference-manual/uninstall-node-dcom.html#GSRFM775[`uninstall-node-dcom`(1)] help
-page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-dcom host-list
-----
-host-list::
-  A space-separated list of the names of the hosts from which you are
-  removing GlassFish Server software.
-* If SSH is set up for communication between the hosts, run the
-`uninstall-node-ssh` subcommand. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for removing GlassFish
-Server software, see the link:../reference-manual/uninstall-node-ssh.html#GSRFM778[`uninstall-node-ssh`(1)] help
-page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-ssh host-list
-----
-host-list::
-  A space-separated list of the names of the hosts from which you are
-  removing GlassFish Server software.
-
-[[GSHAG462]][[sthref11]]
-
-
-Example 2-11 Removing GlassFish Server Software From Multiple
-DCO\M-Enabled Hosts
-
-This example removes GlassFish Server software on the DCOM-enabled hosts
-`wpmdl1.example.com` and `wpmdl2.example.com` from the default location.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-dcom wpmdl1 wpmdl2
-Command uninstall-node-dcom executed successfully.
-----
-
-[[GSHAG345]][[sthref12]]
-
-
-Example 2-12 Removing GlassFish Server Software From Multiple
-SSH-Enabled Hosts
-
-This example removes GlassFish Server software on the SSH-enabled hosts
-`sj03.example.com` and `sj04.example.com` from the default location.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-ssh sj03 sj04
-Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Command uninstall-node-ssh executed successfully.
-----
-
-[[GSHAG346]]
-
-See Also
-
-* link:../reference-manual/uninstall-node-dcom.html#GSRFM775[`uninstall-node-dcom`(1)]
-* link:../reference-manual/uninstall-node-ssh.html#GSRFM778[`uninstall-node-ssh`(1)]
-
-You can also view the full syntax and options of the subcommands by
-typing the following commands at the command line:
-
-* `asadmin help uninstall-node-dcom`
-* `asadmin help uninstall-node-ssh`
diff --git a/docs/ha-administration-guide/src/main/jbake/content/title.adoc b/docs/ha-administration-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 8705a95..0000000
--- a/docs/ha-administration-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,56 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server High Availability Administration Guide, Release 5.1
-next=preface.html
-prev=loe.html
-~~~~~~
-Eclipse GlassFish Server High Availability Administration Guide, Release 5.1
-============================================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-High Availability Administration Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This book describes thehigh-availability features in GlassFish Server,
-including converged load balancing, HTTP load balancing, clusters,
-session persistence and failover.
-
-Note: The main thrust of the Eclipse GlassFish Server 5.1
-release is to provide an application server for developers to explore
-and begin exploiting the new and updated technologies in the Java EE 7
-platform. Thus, the clustering, standalone instance and high
-availability features of GlassFish Server were not a focus of this
-release. These features are included in the release, but they may not
-function properly with some of the new features added in support of the
-Java EE 7 platform.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server High Availability Administration
-Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/ha-administration-guide/src/main/jbake/jbake.properties b/docs/ha-administration-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/ha-administration-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/ha-administration-guide/src/main/jbake/templates/footer.ftl b/docs/ha-administration-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/ha-administration-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/ha-administration-guide/src/main/jbake/templates/header.ftl b/docs/ha-administration-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/ha-administration-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/ha-administration-guide/src/main/jbake/templates/menu.ftl b/docs/ha-administration-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/ha-administration-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/ha-administration-guide/src/main/jbake/templates/page.ftl b/docs/ha-administration-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/ha-administration-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/installation-guide/README.md b/docs/installation-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/installation-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/installation-guide/pom.xml b/docs/installation-guide/pom.xml
index 98881c2..8827aa1 100644
--- a/docs/installation-guide/pom.xml
+++ b/docs/installation-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>installation-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Installation Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Installation Guide, Release 7</name>
 </project>
diff --git a/docs/quick-start-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/installation-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
copy from docs/quick-start-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
copy to docs/installation-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/installation-guide/src/main/asciidoc/installing.adoc b/docs/installation-guide/src/main/asciidoc/installing.adoc
new file mode 100644
index 0000000..a3f6689
--- /dev/null
+++ b/docs/installation-guide/src/main/asciidoc/installing.adoc
@@ -0,0 +1,849 @@
+type=page
+status=published
+title=Installing {productName} 7
+next=uninstalling.html
+prev=preface.html
+~~~~~~
+
+= Installing {productName} 7
+
+[[GSING00002]][[ggssq]]
+
+
+[[installing-glassfish-server-5.0]]
+== 1 Installing {productName} 7
+
+This chapter provides instructions for installing {productName} 7
+software on Solaris, Linux, Mac OS X, and Windows systems.
+
+The following topics are addressed here:
+
+* link:#gjiaz[Installation Requirements]
+* link:#ggrlg[Installation Files for {productName} 7]
+* link:#ghmxb[Installing {productName} From a ZIP File]
+
+[[gjiaz]][[GSING00022]][[installation-requirements]]
+
+=== Installation Requirements
+
+Before installing {productName} 7, ensure that
+your system meets the requirements listed in "link:release-notes/release-notes.html#GSRLN00131[Hardware
+and Software Requirements]" in {productName}
+Release Notes. If necessary, download and install the required JDK
+software. Problems are likely to arise if you attempt to install on a
+platform that is not supported or on a system that in some other way
+does not meet release requirements. Also see "link:release-notes/release-notes.html#GSRLN00253[Known
+Issues]" in {productName} Release Notes for known
+issues related to installation.
+
+* On Solaris, Linux, macOS and Windows systems, JDK software is available from the
+http://www.oracle.com/technetwork/java/javase/downloads/index.html[Java SE downloads page].
+
+[[gkxfw]][[javassist-library-license-notice]]
+
+==== Javassist Library License Notice
+
+You are receiving a copy of the Javassist (Java Programming Assistant)
+Library in source form at
+`https://github.com/jboss-javassist/javassist/archive/rel_3_22_0_cr2.zip`
+and in object code form in the jar file
+`glassfish7/glassfish/modules/javassist.jar` included with the
+distribution. The terms of the Oracle license do NOT apply to the
+Javassist (Java Programming Assistant) program; it is licensed under the
+following license, separately from the Oracle programs you receive. If
+you do not wish to install this program, you may choose to not proceed
+with the installation of {productName}.
+
+"The contents of this file are subject to the Mozilla Public License
+Version 1.1 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+`http://www.mozilla.org/MPL/`
+
+Software distributed under the License is distributed on an "AS
+IS"basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License. The Original Code is Javassist 3.14.0.GA. The Initial
+Developer of the Original Code is Shigeru Chiba. Portions created by
+Shigeru Chiba are Copyright (C) 1999-2010. All Rights Reserved.
+
+Alternatively, the contents of this file may be used under the terms of
+GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in
+which case the provisions of the LGPL License are applicable instead of
+those above. If you wish to allow use of your version of this file only
+under the terms of the LGPL License and not to allow others to use your
+version of this file under the MPL, indicate your decision by deleting
+the provisions above and replace them with the notice and other
+provisions required by the LGPL License. If you do not delete the
+provisions above, a recipient may use your version of this file under
+either the MPL or the LGPL License."
+
+[subs="none"]
+----
+MOZILLA PUBLIC LICENSE
+
+Version 1.1
+
+1. Definitions.
+
+1.0.1. "Commercial Use" means distribution or otherwise making the
+Covered Code available to a third party.
+
+1.1. "Contributor" means each entity that creates or contributes to
+the creation of Modifications.
+
+1.2. "Contributor Version" means the combination of the Original Code,
+prior Modifications used by a Contributor, and the Modifications made by
+that particular Contributor.
+
+1.3. "Covered Code" means the Original Code or Modifications or the
+combination of the Original Code and Modifications, in each case
+including portions thereof.
+
+1.4. "Electronic Distribution Mechanism" means a mechanism generally
+accepted in the software development community for the electronic
+transfer of data.
+
+1.5. "Executable" means Covered Code in any form other than Source
+Code.
+
+1.6. "Initial Developer" means the individual or entity identified as
+the Initial Developer in the Source Code notice required by Exhibit A.
+
+1.7. "Larger Work" means a work which combines Covered Code or
+portions thereof with code not governed by the terms of this License.
+
+1.8. "License" means this document.
+
+1.8.1. "Licensable" means having the right to grant, to the maximum
+extent possible, whether at the time of the initial grant or
+subsequently acquired, any and all of the rights conveyed herein.
+
+1.9. "Modifications" means any addition to or deletion from the
+substance or structure of either the Original Code or any previous
+Modifications. When Covered Code is released as a series of files, a
+Modification is:
+
+A. Any addition to or deletion from the contents of a file containing
+Original Code or previous Modifications.
+
+B. Any new file that contains any part of the Original Code or previous
+Modifications.
+
+1.10. "Original Code" means Source Code of computer software code
+which is described in the Source Code notice required by Exhibit A as
+Original Code, and which, at the time of its release under this License
+is not already Covered Code governed by this License.
+
+1.10.1. "Patent Claims" means any patent claim(s), now owned or
+hereafter acquired, including without limitation, method, process, and
+apparatus claims, in any patent Licensable by grantor.
+
+1.11. "Source Code" means the preferred form of the Covered Code for
+making modifications to it, including all modules it contains, plus any
+associated interface definition files, scripts used to control
+compilation and installation of an Executable, or source code
+differential comparisons against either the Original Code or another
+well known, available Covered Code of the Contributor's choice. The
+Source Code can be in a compressed or archival form, provided the
+appropriate decompression or de-archiving software is widely available
+for no charge.
+
+1.12. "You" (or "Your") means an individual or a legal entity
+exercising rights under, and complying with all of the terms of, this
+License or a future version of this License issued under Section 6.1.
+For legal entities, "You" includes any entity which controls, is
+controlled by, or is under common control with You. For purposes of this
+definition, "control" means (a) the power, direct or indirect, to cause
+the direction or management of such entity, whether by contract or
+otherwise, or (b) ownership of more than fifty percent (50%) of the
+outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+2.1. The Initial Developer Grant.
+
+The Initial Developer hereby grants You a world-wide, royalty-free,
+non-exclusive license, subject to third party intellectual property
+claims:
+
+(a) under intellectual property rights (other than patent or trademark)
+Licensable by Initial Developer to use, reproduce, modify, display,
+perform, sublicense and distribute the Original Code (or portions
+thereof) with or without Modifications, and/or as part of a Larger Work;
+and
+
+(b) under Patents Claims infringed by the making, using or selling of
+Original Code, to make, have made, use, practice, sell, and offer for
+sale, and/or otherwise dispose of the Original Code (or portions
+thereof).
+
+(c) the licenses granted in this Section 2.1(a) and (b) are effective
+on the date Initial Developer first distributes Original Code under the
+terms of this License.
+
+(d) Notwithstanding Section 2.1(b) above, no patent license is granted:
+1) for code that You delete from the Original Code; 2) separate from the
+Original Code; or 3) for infringements caused by: i) the modification of
+the Original Code or ii) the combination of the Original Code with other
+software or devices.
+
+2.2. Contributor Grant.
+
+Subject to third party intellectual property claims, each Contributor
+hereby grants You a world-wide,
+
+royalty-free, non-exclusive license
+
+(a) under intellectual property rights (other than patent or trademark)
+Licensable by Contributor, to use, reproduce, modify, display, perform,
+sublicense and distribute the Modifications created by such Contributor
+(or portions thereof) either on an unmodified basis, with other
+Modifications, as Covered Code and/or as part of a Larger Work; and
+
+(b) under Patent Claims infringed by the making, using, or selling of
+Modifications made by that Contributor either alone and/or in
+combination with its Contributor Version (or portions of such
+combination), to make, use, sell, offer for sale, have made, and/or
+otherwise dispose of: 1)Modifications made by that Contributor (or
+portions thereof); and 2) the combination of Modifications made by that
+Contributor with its Contributor Version (or portions of such
+combination).
+
+(c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on
+the date Contributor first makes Commercial Use of the Covered Code.
+
+(d) Notwithstanding Section 2.2(b) above, no patent license is granted:
+1) for any code that Contributor has deleted from the Contributor
+Version; 2) separate from the Contributor Version; 3)for infringements
+caused by: i) third party modifications of Contributor Version or ii)
+the combination
+
+of Modifications made by that Contributor with other software (except as
+part of the Contributor
+
+Version) or other devices; or 4) under Patent Claims infringed by
+Covered Code in the absence of
+
+Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Application of License.
+
+The Modifications which You create or to which You contribute are
+governed by the terms of this License, including without limitation
+Section 2.2. The Source Code version of Covered Code may be distributed
+only under the terms of this License or a future version of this License
+released under Section 6.1, and You must include a copy of this License
+with every copy of the Source Code You distribute. You may not offer or
+impose any terms on any Source Code version that alters or restricts the
+applicable version of this License or the recipients' rights hereunder.
+However, You may include an additional document offering the additional
+rights described in Section 3.5.
+
+3.2. Availability of Source Code.
+
+Any Modification which You create or to which You contribute must be
+made available in Source Code form under the terms of this License
+either on the same media as an Executable version or via an accepted
+Electronic Distribution Mechanism to anyone to whom you made an
+Executable version available; and if made available via Electronic
+Distribution Mechanism, must remain available for at least twelve (12)
+months after the date it initially became available, or at least six (6)
+months after a subsequent version of that particular Modification has
+been made available to such recipients. You are responsible for ensuring
+that the Source Code version remains available even if the Electronic
+Distribution Mechanism is maintained by a third party.
+
+3.3. Description of Modifications.
+
+You must cause all Covered Code to which You contribute to contain a
+file documenting the changes You made to create that Covered Code and
+the date of any change. You must include a prominent statement that the
+Modification is derived, directly or indirectly, from Original Code
+provided by the Initial Developer and including the name of the Initial
+Developer in (a) the Source Code, and (b) in any notice in an Executable
+version or related documentation in which You describe the origin or
+ownership of the Covered Code.
+
+3.4. Intellectual Property Matters
+
+(a) Third Party Claims.
+
+If Contributor has knowledge that a license under a third party's
+intellectual property rights is required to exercise the rights granted
+by such Contributor under Sections 2.1 or 2.2, Contributor must include
+a text file with the Source Code distribution titled "LEGAL" which
+describes the claim and the party making the claim in sufficient detail
+that a recipient will know whom to contact. If Contributor obtains such
+knowledge after the Modification is made available as described in
+Section 3.2, Contributor shall promptly modify the LEGAL file in all
+copies Contributor makes available thereafter and shall take other steps
+(such as notifying appropriate mailing lists or newsgroups) reasonably
+calculated to inform those who received the Covered Code that new
+knowledge has been obtained.
+
+(b) Contributor APIs.
+
+If Contributor's Modifications include an application programming
+interface and Contributor has knowledge of patent licenses which are
+reasonably necessary to implement that API, Contributor must also
+include this information in the LEGAL file.
+
+(c) Representations.
+
+Contributor represents that, except as disclosed pursuant to Section
+3.4(a) above, Contributor believes that Contributor's Modifications are
+Contributor's original creation(s) and/or Contributor has sufficient
+rights to grant the rights conveyed by this License.
+
+3.5. Required Notices.
+
+You must duplicate the notice in Exhibit A in each file of the Source
+Code. If it is not possible to put such notice in a particular Source
+Code file due to its structure, then You must include such notice in a
+location (such as a relevant directory) where a user would be likely to
+look for such a notice. If You created one or more Modification(s) You
+may add your name as a Contributor to the notice described in Exhibit A.
+You must also duplicate this License in any documentation for the Source
+Code where You describe recipients' rights or ownership rights relating
+to Covered Code. You may choose to offer, and to charge a fee for,
+warranty, support, indemnity or liability obligations to one or more
+recipients of Covered Code. However, You may do so only on Your own
+behalf, and not on behalf of the Initial Developer or any Contributor.
+You must make it absolutely clear than any such warranty, support,
+indemnity or liability obligation is offered by You alone, and You
+hereby agree to indemnify the Initial Developer and every Contributor
+for any liability incurred by the Initial Developer or such Contributor
+as a result of warranty, support, indemnity or liability terms You
+offer.
+
+3.6. Distribution of Executable Versions.
+
+You may distribute Covered Code in Executable form only if the
+requirements of Section 3.1-3.5 have been met for that Covered Code, and
+if You include a notice stating that the Source Code version of the
+Covered Code is available under the terms of this License, including a
+description of how and where You have fulfilled the obligations of
+Section 3.2. The notice must be conspicuously included in any notice in
+an Executable version, related documentation or collateral in which You
+describe recipients' rights relating to the Covered Code. You may
+distribute the Executable version of Covered Code or ownership rights
+under a license of Your choice, which may contain terms different from
+this License, provided that You are in compliance with the terms of this
+License and that the license for the Executable version does not attempt
+to limit or alter the recipient's rights in the Source Code version from
+the rights set forth in this License. If You distribute the Executable
+version under a different license You must make it absolutely clear that
+any terms which differ from this License are offered by You alone, not
+by the Initial Developer or any Contributor. You hereby agree to
+indemnify the Initial Developer and every Contributor for any liability
+incurred by the Initial Developer or such Contributor as a result of any
+such terms You offer.
+
+3.7. Larger Works.
+
+You may create a Larger Work by combining Covered Code with other code
+not governed by the terms of this License and distribute the Larger Work
+as a single product. In such a case, You must make sure the requirements
+of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Code due to statute,
+judicial order, or regulation then You must: (a) comply with the terms
+of this License to the maximum extent possible; and (b) describe the
+limitations and the code they affect. Such description must be included
+in the LEGAL file described in Section 3.4 and must be included with all
+distributions of the Source Code. Except to the extent prohibited by
+statute or regulation, such description must be sufficiently detailed
+for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+
+This License applies to code to which the Initial Developer has attached
+the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+6.1. New Versions.
+
+Netscape Communications Corporation ("Netscape") may publish revised
+and/or new versions of the License from time to time. Each version will
+be given a distinguishing version number.
+
+6.2. Effect of New Versions.
+
+Once Covered Code has been published under a particular version of the
+License, You may always continue to use it under the terms of that
+version. You may also choose to use such Covered Code under the terms of
+any subsequent version of the License published by Netscape. No one
+other than Netscape has the right to modify the terms applicable to
+Covered Code created under this License.
+
+6.3. Derivative Works.
+
+If You create or use a modified version of this License (which you may
+only do in order to apply it to code which is not already Covered Code
+governed by this License), You must (a) rename Your license so that the
+phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL",
+"NPL" or any confusingly similar phrase do not appear in your license
+(except to note that your license differs from this License) and (b)
+otherwise make it clear that Your version of the license contains terms
+which differ from the Mozilla Public License and Netscape Public
+License. (Filling in the name of the Initial Developer, Original Code or
+Contributor in the notice described in Exhibit A shall not of themselves
+be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS,
+MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU.
+SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
+NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
+CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.NO USE OF ANY COVERED CODE
+IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+8.1. This License and the rights granted hereunder will terminate
+automatically if You fail to comply with terms herein and fail to cure
+such breach within 30 days of becoming aware of the breach. All
+sublicenses to the Covered Code which are properly granted shall survive
+any termination of this License. Provisions which, by their nature, must
+remain in effect beyond the termination of this License shall survive.
+
+8.2. If You initiate litigation by asserting a patent infringement claim
+(excluding declatory judgment actions) against Initial Developer or a
+Contributor (the Initial Developer or Contributor against whom You file
+such action is referred to as "Participant") alleging that:
+
+(a) such Participant's Contributor Version directly or indirectly
+infringes any patent, then any and all rights granted by such
+Participant to You under Sections 2.1 and/or 2.2 of this License shall,
+upon 60 days notice from Participant terminate prospectively, unless if
+within 60 days after receipt of notice You either: agree in writing to
+pay Participant a mutually agreeable reasonable royalty for Your past
+and future use of Modifications made by such Participant, or (ii)
+withdraw Your litigation claim with respect to the Contributor Version
+against such Participant. If within 60 days of notice, a reasonable
+royalty and payment arrangement are not mutually agreed upon in writing
+by the parties or the litigation claim is not withdrawn, the rights
+granted by Participant to You under Sections 2.1 and/or 2.2
+automatically terminate at the expiration of the 60 day notice period
+specified above.
+
+(b) any software, hardware, or device, other than such Participant's
+Contributor Version, directly or indirectly infringes any patent, then
+any rights granted to You by such Participant under Sections 2.1(b) and
+2.2(b) are revoked effective as of the date You first made, used, sold,
+distributed, or had made, Modifications made by that Participant.
+
+8.3. If You assert a patent infringement claim against Participant
+alleging that such Participant's Contributor Version directly or
+indirectly infringes any patent where such claim is resolved (such as by
+license or settlement) prior to the initiation of patent infringement
+litigation, then the reasonable value of the licenses granted by such
+Participant under Sections 2.1 or 2.2 shall be taken into account in
+determining the amount or value of any payment or license.
+
+8.4. In the event of termination under Sections 8.1 or 8.2 above, all
+end user license agreement (excluding distributors and resellers) which
+have been validly granted by You or any distributor hereunder prior to
+termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY
+
+DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+CONSEQUENTIAL DAMAGES OF ANY CHARACTER
+
+INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
+STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH
+
+PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
+LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
+PERSONAL INJURY RESULTING FROM SUCH
+
+PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
+LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION
+OF INCIDENTAL OR CONSEQUENTIAL
+
+DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a "commercial item," as that term is defined in 48
+C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software"
+and "commercial computer software documentation," as such terms are
+used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212
+and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S.
+Government End Users acquire Covered Code with only those rights set
+forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning subject matter
+hereof. If any provision of this License is held to be unenforceable,
+such provision shall be reformed only to the extent necessary to make it
+enforceable. This License shall be governed by California law provisions
+(except to the extent applicable law, if any, provides otherwise),
+excluding its conflict-of-law provisions. With respect to disputes in
+which at least one party is a citizen of, or an entity chartered or
+registered to do business in the United States of America, any
+litigation relating to this License shall be subject to the jurisdiction
+of the Federal Courts of the Northern District of California, with venue
+lying in Santa Clara County, California, with the losing party
+responsible for costs, including without limitation, court costs and
+reasonable attorneys' fees and expenses. The application of the United
+Nations Convention on
+
+Contracts for the International Sale of Goods is expressly excluded. Any
+law or regulation which provides that the language of a contract shall
+be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is
+responsible for claims and damages arising, directly or indirectly, out
+of its utilization of rights under this License and You agree to work
+with Initial Developer and Contributors to distribute such
+responsibility on an equitable basis. Nothing herein is intended or
+shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+Initial Developer may designate portions of the Covered Code as
+"Multiple-Licensed?. "Multiple-Licensed? means that the Initial
+Developer permits you to utilize portions of the Covered Code under Your
+choice of the MPL or the alternative licenses, if any, specified by the
+Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A -Mozilla Public License.
+
+The contents of this file are subject to the Mozilla Public License
+Version 1.1 (the "License"); you may not use this file except in
+compliance with the License. You may obtain a copy of the License at
+http://www.mozilla.org/MPL/. Software distributed under the License is
+distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
+express or implied. See the License for the specific language governing
+rights and limitations under the License.
+
+The Original Code is Javassist.
+
+The Initial Developer of the Original Code is Shigeru Chiba. Portions
+created by the Initial Developer are
+
+Copyright (C) 1999-2016 Shigeru Chiba. All Rights Reserved.
+
+Contributor(s): ______________________________________.
+
+----
+Alternatively, the contents of this file may be used under the terms of
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the LGPL are applicable instead of those
+above. If you wish to allow use of your version of this file only under
+the terms of the LGPL, and not to allow others to use your version of
+this file under the terms of the MPL, indicate your decision by deleting
+the provisions above and replace them with the notice and other
+provisions required by the LGPL. If you do not delete the provisions
+above, a recipient may use your version of this file under the terms of
+either the MPL or the LGPL.
+
+[[ggrlg]][[GSING00023]][[installation-files-for-glassfish-server-5.0]]
+
+=== Installation Files for {productName} 7
+
+The following topics are addressed here:
+
+* link:#gkbaj[{productName} Download Locations]
+* link:#gkbby[{productName} Installation Methods]
+* link:#gkudi[Choosing an Installation Method]
+* link:#gkbbb[{productName} ZIP Files]
+
+[[gkbaj]][[GSING00035]][[glassfish-server-download-locations]]
+
+==== {productName} Download Locations
+
+Installation files for {productName} 7 are
+available by download from the
+https://github.com/eclipse-ee4j/glassfishdownload[{productName} Downloads]
+page.
+
+{productName} 7 is also part of the Jakarta EE SDK
+distributions. The SDK distributions are available from the
+http://www.oracle.com/technetwork/java/javaee/downloads/index.html[Java
+EE downloads page] and are not described in this document.
+
+[[gkbby]][[GSING00036]][[glassfish-server-installation-methods]]
+
+==== {productName} Installation Methods
+
+link:#ghtqe[Table 1-1] lists the various {productName} installation methods. The table also provides links to
+installation instructions for each method.
+
+
+[NOTE]
+====
+Before performing any {productName} installation, ensure that your
+environment adheres to the JDK guidelines in
+"https://github.com/eclipse-ee4j/glassfishdoc/5.0/release-notes.pdf[Paths and
+Environment Settings for the JDK Software]" in {productName} Release Notes.
+====
+
+
+[[GSING103]][[sthref3]][[ghtqe]]
+
+
+Table 1-1 {productName} 7 Installation Methods
+
+[width="100%",cols="39%,61%",options="header",]
+|===
+|Installation Method |Installation Instructions
+|Multi-platform ZIP file |link:#ghmxb[Installing {productName} From a ZIP File].
+|===
+
+
+Each of the installation methods listed in link:#ghtqe[Table 1-1] also
+let you choose between installing the Full Platform or the Web Profile.
+These two distributions are explained in the next section.
+
+[[gkudi]][[GSING00037]][[choosing-an-installation-method]]
+
+==== Choosing an Installation Method
+
+There are two general sets of questions you should consider when
+deciding which {productName} 7 installation method to use.
+
+* link:#gkuau[ZIP Package]
+* link:#gkudp[Full Platform or Web Profile Distribution]
+
+[[gkuau]][[GSING00029]][[zip-package]]
+
+===== ZIP Package
+
+The relative features and strengths of the {productName} ZIP packages
+are listed below.
+
+* ZIP Package
+
+** Is simpler to install, but provides no configuration options during
+the installation
+** Any additional configurations must be performed manually, after installation
+** If uninstallation is desired, product must be uninstalled manually
+
+[[gkudp]][[GSING00030]][[full-platform-or-web-profile-distribution]]
+
+===== Full Platform or Web Profile Distribution
+
+Each of the installation methods listed in link:#ghtqe[Table 1-1] also
+let you choose to install either the {productName} Full Platform or
+Web Profile distribution. link:#gkuap[Table 1-2] lists the features
+available in each of these two distributions. Note that some of these
+features are value-adds, and are not required by the Jakarta EE specification.
+
+[[GSING104]][[sthref4]][[gkuap]]
+
+Table 1-2 {productName} Full Profile and Web Profile Features
+
+[width="100%",cols="69%,16%,15%",options="header",]
+|===
+|Feature |Full Platform |Web Profile
+
+|Java Platform, Enterprise Edition 8 |X |X
+
+|Jakarta EE Security API |X |X
+
+|Java API for JSON Processing 1.1 |X |X
+
+|Java API for JSON Binding 1.0 |X |X
+
+|EJB 3.2 Lite (Support for Local Container only) |X |X
+
+|JTA 1.2 |X |X
+
+|OSGi-based microkernel |X |X
+
+|Java Web Technologies (Servlet 4.0, JSP 2.2, JSF 2.3, JSTL 1.2, EL 3.0) |X |X
+
+|Grizzly/Comet |X |X
+
+|JPA 2.2, (EclipseLink), JDBC Connection Pooling |X |X
+
+|JDBC 4.0 |X |X
+
+|Apache Derby 10.13.1.1 |X |X
+
+|Web Administration Console and CLI |X |X
+
+|Rapid Redeployment (Maintain session state on application redeploy) |X |X
+
+|OMG CORBA APIs 3.0 |X |X
+
+|Debugging Support for Other Languages 1.0 |X |X
+
+|Common Annotations for Java 1.3 |X |X
+
+|Dependency Injection for Java 1.0 |X |X
+
+|Managed Beans 1.0 |X |X
+
+|Interceptors 1.2 |X |X
+
+|Contexts and Dependency Injection for Java 2.0 (CDI, ex-Web Beans) |X |X
+
+|Bean Validation 2.0 |X |X
+
+|JAX-RS 2.1 (Jersey) |X |X
+
+|EJB 3.2 Full API (Support for Remote Container) |X |-
+
+|Jakarta EE Connector Architecture 1.7 |X |-
+
+|JAX-WS 2.3 |X |-
+
+|JAXB 2.2 |X |-
+
+|Implementing Java Web Services 1.4 |X |-
+
+|Web Services Metadata for the Java Platform 2.1 |X |-
+
+|JMS 2.0 |X |-
+
+|JavaMail 1.6 |X |-
+
+|JACC 1.5 |X |-
+
+|Java Authentication Service Provider Interface for Containers 1.1 |X |-
+
+|Jakarta EE Application Deployment 1.2 |X |-
+
+|J2EE Management 1.1 |X |-
+
+|JAX-RPC 1.1 |X |-
+
+|JAXR 1.0 |X |-
+
+|CORBA 3.0.0 |X a|*
+
+|Metro |X |-
+|===
+
+
+* The Full Jakarta EE Platform contains the complete CORBA package. The OMG
+CORBA v3.0 APIs are available in the Jakarta EE Web Profile.
+
+** Transaction propagation not supported.
+
+[[gkbbb]][[GSING00038]][[glassfish-server-zip-files]]
+
+==== {productName} ZIP Files
+
+The {productName} 7 multi-platform ZIP files
+are compatible with Solaris, Linux, Mac OS, UNIX, and Windows operating
+systems. See link:#gkbaj[{productName} Download Locations] for a list
+of download locations.
+
+link:#gkbac[Table 1-3] lists the available ZIP file downloads.
+
+[[GSING105]][[sthref5]][[gkbac]]
+
+
+Table 1-3 {productName} Downloadable ZIP Files
+
+[width="100%",cols="31%,69%",options="header",]
+|===
+|ZIP File |Description
+a|
+[source]
+----
+glassfish-7.0.0.zip
+----
+|Full Platform distribution of {productName}
+
+a|
+[source]
+----
+glassfish-7.0.0-web.zip
+----
+
+|Web Profile distribution {productName}
+|===
+
+
+[[ghmxb]][[GSING00024]][[installing-glassfish-server-from-a-zip-file]]
+
+=== Installing {productName} From a ZIP File
+
+This section describes how to install {productName} 7 using the multi-platform ZIP file. {productName} is
+installed by unzipping the file in the installation directory of your
+choice.
+
+
+[NOTE]
+====
+It is not possible to specify any {productName} configuration options
+during a ZIP file installation. Any configuration changes, such as
+creating domains, clusters, and server instances, must be made manually
+after installation.
+====
+
+
+[[ggrks]][[GSING00006]][[to-install-glassfish-server-using-the-zip-file]]
+
+==== To Install {productName} Using the ZIP File
+
+Before You Begin
+
+Ensure that your system meets the requirements listed in
+"link:release-notes/release-notes.html#GSRLN00131[Hardware and Software Requirements]"
+in {productName} Release Notes.
+
+Also see "link:release-notes/release-notes.html#GSRLN00253[Known Issues]" in {productName} Release Notes for known issues related to installation.
+
+1. Download the desired {productName} 7 ZIP file. +
+See link:#gkbaj[{productName} Download Locations] for a list of
+download locations. See link:#gkbac[Table 1-3] for a list of available ZIP files.
+
+2. Change to the directory where you downloaded the ZIP file.
+
+3. Unzip the file.
+* Solaris, Linux, and Mac OS X systems:
++
+[source]
+----
+unzip zip-file-name
+----
+zip-file-name is the name of the file that you downloaded.
++
+For example:
++
+[source]
+----
+glassfish-5.0.zip
+----
+* Windows systems:
++
+Unzip using your favorite file compression utility.
++
+{productName} 7 is extracted into a new `glassfish7` directory
+under your current directory. This `glassfish7` directory is referred to
+throughout the {productName} documentation set as as-install-parent.
+
+4. Start {productName} using the instructions in the
+link:quick-start-guide.html#GSQSG[{productName} Quick Start Guide].
++
+The guide explains how to perform basic tasks such as starting the
+server, accessing the Administration Console, and deploying a sample application.
+
diff --git a/docs/installation-guide/src/main/asciidoc/lot.adoc b/docs/installation-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..98ab21e
--- /dev/null
+++ b/docs/installation-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,19 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=toc.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:installing.html#ghtqe[1-1 {productName} 7 Installation
+Methods]
+* link:installing.html#gkuap[1-2 {productName} Full Profile and Web
+Profile Features]
+* link:installing.html#gkbac[1-3 {productName} Downloadable ZIP Files]
+
+
diff --git a/docs/installation-guide/src/main/asciidoc/preface.adoc b/docs/installation-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..c18f43b
--- /dev/null
+++ b/docs/installation-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,332 @@
+type=page
+status=published
+title=Preface
+next=installing.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSING00001]][[gjxfa]]
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This document contains instructions for installing and uninstalling
+{productName}.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSING00014]][[ghpbz]]
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSING00015]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[GSING00016]][[fwbkx]]
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSING00017]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSING00018]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/installation-guide/src/main/asciidoc/title.adoc b/docs/installation-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..f880a4d
--- /dev/null
+++ b/docs/installation-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,46 @@
+type=page
+status=published
+title={productName} Installation Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Installation Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Installation Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This book contains instructions for installing and uninstalling
+{productName} software.
+
+[[sthref1]]
+
+'''''
+
+{productName} Installation Guide, Release 7
+
+Copyright © 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/installation-guide/src/main/asciidoc/uninstalling.adoc b/docs/installation-guide/src/main/asciidoc/uninstalling.adoc
new file mode 100644
index 0000000..0ec42d4
--- /dev/null
+++ b/docs/installation-guide/src/main/asciidoc/uninstalling.adoc
@@ -0,0 +1,50 @@
+type=page
+status=published
+title=Uninstalling {productName} 7
+prev=installing.html
+~~~~~~
+
+= Uninstalling GlassFish
+
+[[GSING00003]][[ghmlt]]
+
+
+[[uninstalling-glassfish]]
+== 2 Uninstalling GlassFish
+
+This chapter describes how to uninstall {productName}.
+
+[[gjxfv]][[GSING00028]][[removing-a-glassfish-server-installation]]
+
+=== Removing a {productName} Installation
+
+This procedure describes how to uninstall {productName} software that
+was installed using a ZIP file, as described in
+link:installing.html#ghmxb[Installing {productName} From a ZIP File].
+
+Before You Begin
+
+Stop all domains and other related processes, including command prompts
+using the installation directory or its subdirectories and any
+applications using Java SE files.
+
+To stop domains, use the `asadmin stop-domain` command. For more
+information about stopping a domain, see
+"link:administration-guide/domains.html#GSADG00336[To Stop a Domain]"
+in {productName} Administration Guide.
+
+If orphaned processes remain, identify and terminate the processes as follows:
+
+* Solaris, Linux, and Mac OS X systems:
++
+Use the `ps -ef` command and terminate the processes using the `kill` command.
+* Windows systems:
++
+Use the Task Manager and terminate the processes.
+
+Also see "link:release-notes/release-notes.html#GSRLN00253[Known Issues]"
+in {productName} Release Notes for known issues related to uninstallation.
+
+1. Save any files in the installation directory that you may want to keep.
+2. Manually delete installation directory and all its contents.
+
diff --git a/docs/installation-guide/src/main/jbake/assets/css/style.css b/docs/installation-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/installation-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/installation-guide/src/main/jbake/content/installing.adoc b/docs/installation-guide/src/main/jbake/content/installing.adoc
deleted file mode 100644
index 0de48d8..0000000
--- a/docs/installation-guide/src/main/jbake/content/installing.adoc
+++ /dev/null
@@ -1,881 +0,0 @@
-type=page
-status=published
-title=Installing Eclipse GlassFish Server 5.1
-next=uninstalling.html
-prev=preface.html
-~~~~~~
-Installing Eclipse GlassFish Server 5.1
-=======================================
-
-[[GSING00002]][[ggssq]]
-
-
-[[installing-glassfish-server-5.0]]
-1 Installing Eclipse GlassFish Server 5.1
------------------------------------------
-
-This chapter provides instructions for installing Eclipse GlassFish Server
-5.1 software on Solaris, Linux, Mac OS X, and Windows
-systems.
-
-The following topics are addressed here:
-
-* link:#gjiaz[Installation Requirements]
-* link:#ggrlg[Installation Files for GlassFish Server 5.0]
-* link:#ghmxb[Installing GlassFish Server From a ZIP File]
-
-[[gjiaz]][[GSING00022]][[installation-requirements]]
-
-Installation Requirements
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Before installing Eclipse GlassFish Server 5.1, ensure that
-your system meets the requirements listed in "link:../release-notes/release-notes.html#GSRLN00131[Hardware
-and Software Requirements]" in Eclipse GlassFish Server
-Release Notes. If necessary, download and install the required JDK
-software. Problems are likely to arise if you attempt to install on a
-platform that is not supported or on a system that in some other way
-does not meet release requirements. Also see "link:../release-notes/release-notes.html#GSRLN00253[Known
-Issues]" in Eclipse GlassFish Server Release Notes for known
-issues related to installation.
-
-* On Solaris, Linux, and Windows systems, JDK software is available from
-the
-http://www.oracle.com/technetwork/java/javase/downloads/index.html[Java
-SE downloads page]
-(`http://www.oracle.com/technetwork/java/javase/downloads/index.html`).
-* For Mac OS X systems, GlassFish Server uses the JDK that is part of
-the Macintosh operating system. If necessary, obtain the required JDK
-version from the http://support.apple.com/downloads/[Mac OS X Updates
-site] (`http://support.apple.com/downloads/`).
-
-[[gkxfw]][[javassist-library-license-notice]]
-
-Javassist Library License Notice
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You are receiving a copy of the Javassist (Java Programming Assistant)
-Library in source form at
-`https://github.com/jboss-javassist/javassist/archive/rel_3_22_0_cr2.zip`
-and in object code form in the jar file
-`glassfish6/glassfish/modules/javassist.jar` included with the
-distribution. The terms of the Oracle license do NOT apply to the
-Javassist (Java Programming Assistant) program; it is licensed under the
-following license, separately from the Oracle programs you receive. If
-you do not wish to install this program, you may choose to not proceed
-with the installation of Oracle GlassFish Server.
-
-"The contents of this file are subject to the Mozilla Public License
-
-Version 1.1 (the "License"); you may not use this file except in
-
-compliance with the License. You may obtain a copy of the License at
-`http://www.mozilla.org/MPL/`
-
-Software distributed under the License is distributed on an "AS
-IS"basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-the License for the specific language governing rights and limitations
-under the License. The Original Code is Javassist 3.14.0.GA. The Initial
-Developer of the Original Code is Shigeru Chiba. Portions created by
-Shigeru Chiba are Copyright (C) 1999-2010. All Rights Reserved.
-
-Alternatively, the contents of this file may be used under the terms of
-GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in
-which case the provisions of the LGPL License are applicable instead of
-those above. If you wish to allow use of your version of this file only
-under the terms of the LGPL License and not to allow others to use your
-version of this file under the MPL, indicate your decision by deleting
-the provisions above and replace them with the notice and other
-provisions required by the LGPL License. If you do not delete the
-provisions above, a recipient may use your version of this file under
-either the MPL or the LGPL License."
-
-MOZILLA PUBLIC LICENSE
-
-Version 1.1
-
-\1. Definitions.
-
-1.0.1. "Commercial Use" means distribution or otherwise making the
-Covered Code available to a third party.
-
-1.1. ''Contributor'' means each entity that creates or contributes to
-the creation of Modifications.
-
-1.2. ''Contributor Version'' means the combination of the Original Code,
-prior Modifications used by a Contributor, and the Modifications made by
-that particular Contributor.
-
-1.3. ''Covered Code'' means the Original Code or Modifications or the
-combination of the Original Code and Modifications, in each case
-including portions thereof.
-
-1.4. ''Electronic Distribution Mechanism'' means a mechanism generally
-accepted in the software development community for the electronic
-transfer of data.
-
-1.5. ''Executable'' means Covered Code in any form other than Source
-Code.
-
-1.6. ''Initial Developer'' means the individual or entity identified as
-the Initial Developer in the Source Code notice required by Exhibit A.
-
-1.7. ''Larger Work'' means a work which combines Covered Code or
-portions thereof with code not governed by the terms of this License.
-
-1.8. ''License'' means this document.
-
-1.8.1. "Licensable" means having the right to grant, to the maximum
-extent possible, whether at the time of the initial grant or
-subsequently acquired, any and all of the rights conveyed herein.
-
-1.9. ''Modifications'' means any addition to or deletion from the
-substance or structure of either the Original Code or any previous
-Modifications. When Covered Code is released as a series of files, a
-Modification is:
-
-A. Any addition to or deletion from the contents of a file containing
-Original Code or previous Modifications.
-
-B. Any new file that contains any part of the Original Code or previous
-Modifications.
-
-1.10. ''Original Code'' means Source Code of computer software code
-which is described in the Source Code notice required by Exhibit A as
-Original Code, and which, at the time of its release under this License
-is not already Covered Code governed by this License.
-
-1.10.1. "Patent Claims" means any patent claim(s), now owned or
-hereafter acquired, including without limitation, method, process, and
-apparatus claims, in any patent Licensable by grantor.
-
-1.11. ''Source Code'' means the preferred form of the Covered Code for
-making modifications to it, including all modules it contains, plus any
-associated interface definition files, scripts used to control
-compilation and installation of an Executable, or source code
-differential comparisons against either the Original Code or another
-well known, available Covered Code of the Contributor's choice. The
-Source Code can be in a compressed or archival form, provided the
-appropriate decompression or de-archiving software is widely available
-for no charge.
-
-1.12. "You'' (or "Your") means an individual or a legal entity
-exercising rights under, and complying with all of the terms of, this
-License or a future version of this License issued under Section 6.1.
-For legal entities, "You'' includes any entity which controls, is
-controlled by, or is under common control with You. For purposes of this
-definition, "control'' means (a) the power, direct or indirect, to cause
-the direction or management of such entity, whether by contract or
-otherwise, or (b) ownership of more than fifty percent (50%) of the
-outstanding shares or beneficial ownership of such entity.
-
-\2. Source Code License.
-
-2.1. The Initial Developer Grant.
-
-The Initial Developer hereby grants You a world-wide, royalty-free,
-non-exclusive license, subject to third party intellectual property
-claims:
-
-\(a) under intellectual property rights (other than patent or trademark)
-Licensable by Initial Developer to use, reproduce, modify, display,
-perform, sublicense and distribute the Original Code (or portions
-thereof) with or without Modifications, and/or as part of a Larger Work;
-and
-
-\(b) under Patents Claims infringed by the making, using or selling of
-Original Code, to make, have made, use, practice, sell, and offer for
-sale, and/or otherwise dispose of the Original Code (or portions
-thereof).
-
-\(c) the licenses granted in this Section 2.1(a) and (b) are effective
-on the date Initial Developer first distributes Original Code under the
-terms of this License.
-
-\(d) Notwithstanding Section 2.1(b) above, no patent license is granted:
-1) for code that You delete from the Original Code; 2) separate from the
-Original Code; or 3) for infringements caused by: i) the modification of
-the Original Code or ii) the combination of the Original Code with other
-software or devices.
-
-2.2. Contributor Grant.
-
-Subject to third party intellectual property claims, each Contributor
-hereby grants You a world-wide,
-
-royalty-free, non-exclusive license
-
-\(a) under intellectual property rights (other than patent or trademark)
-Licensable by Contributor, to use, reproduce, modify, display, perform,
-sublicense and distribute the Modifications created by such Contributor
-(or portions thereof) either on an unmodified basis, with other
-Modifications, as Covered Code and/or as part of a Larger Work; and
-
-\(b) under Patent Claims infringed by the making, using, or selling of
-Modifications made by that Contributor either alone and/or in
-combination with its Contributor Version (or portions of such
-combination), to make, use, sell, offer for sale, have made, and/or
-otherwise dispose of: 1)Modifications made by that Contributor (or
-portions thereof); and 2) the combination of Modifications made by that
-Contributor with its Contributor Version (or portions of such
-combination).
-
-\(c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on
-the date Contributor first makes Commercial Use of the Covered Code.
-
-\(d) Notwithstanding Section 2.2(b) above, no patent license is granted:
-1) for any code that Contributor has deleted from the Contributor
-Version; 2) separate from the Contributor Version; 3)for infringements
-caused by: i) third party modifications of Contributor Version or ii)
-the combination
-
-of Modifications made by that Contributor with other software (except as
-part of the Contributor
-
-Version) or other devices; or 4) under Patent Claims infringed by
-Covered Code in the absence of
-
-Modifications made by that Contributor.
-
-\3. Distribution Obligations.
-
-3.1. Application of License.
-
-The Modifications which You create or to which You contribute are
-governed by the terms of this License, including without limitation
-Section 2.2. The Source Code version of Covered Code may be distributed
-only under the terms of this License or a future version of this License
-released under Section 6.1, and You must include a copy of this License
-with every copy of the Source Code You distribute. You may not offer or
-impose any terms on any Source Code version that alters or restricts the
-applicable version of this License or the recipients' rights hereunder.
-However, You may include an additional document offering the additional
-rights described in Section 3.5.
-
-3.2. Availability of Source Code.
-
-Any Modification which You create or to which You contribute must be
-made available in Source Code form under the terms of this License
-either on the same media as an Executable version or via an accepted
-Electronic Distribution Mechanism to anyone to whom you made an
-Executable version available; and if made available via Electronic
-Distribution Mechanism, must remain available for at least twelve (12)
-months after the date it initially became available, or at least six (6)
-months after a subsequent version of that particular Modification has
-been made available to such recipients. You are responsible for ensuring
-that the Source Code version remains available even if the Electronic
-Distribution Mechanism is maintained by a third party.
-
-3.3. Description of Modifications.
-
-You must cause all Covered Code to which You contribute to contain a
-file documenting the changes You made to create that Covered Code and
-the date of any change. You must include a prominent statement that the
-Modification is derived, directly or indirectly, from Original Code
-provided by the Initial Developer and including the name of the Initial
-Developer in (a) the Source Code, and (b) in any notice in an Executable
-version or related documentation in which You describe the origin or
-ownership of the Covered Code.
-
-3.4. Intellectual Property Matters
-
-\(a) Third Party Claims.
-
-If Contributor has knowledge that a license under a third party's
-intellectual property rights is required to exercise the rights granted
-by such Contributor under Sections 2.1 or 2.2, Contributor must include
-a text file with the Source Code distribution titled "LEGAL'' which
-describes the claim and the party making the claim in sufficient detail
-that a recipient will know whom to contact. If Contributor obtains such
-knowledge after the Modification is made available as described in
-Section 3.2, Contributor shall promptly modify the LEGAL file in all
-copies Contributor makes available thereafter and shall take other steps
-(such as notifying appropriate mailing lists or newsgroups) reasonably
-calculated to inform those who received the Covered Code that new
-knowledge has been obtained.
-
-\(b) Contributor APIs.
-
-If Contributor's Modifications include an application programming
-interface and Contributor has knowledge of patent licenses which are
-reasonably necessary to implement that API, Contributor must also
-include this information in the LEGAL file.
-
-\(c) Representations.
-
-Contributor represents that, except as disclosed pursuant to Section
-3.4(a) above, Contributor believes that Contributor's Modifications are
-Contributor's original creation(s) and/or Contributor has sufficient
-rights to grant the rights conveyed by this License.
-
-3.5. Required Notices.
-
-You must duplicate the notice in Exhibit A in each file of the Source
-Code. If it is not possible to put such notice in a particular Source
-Code file due to its structure, then You must include such notice in a
-location (such as a relevant directory) where a user would be likely to
-look for such a notice. If You created one or more Modification(s) You
-may add your name as a Contributor to the notice described in Exhibit A.
-You must also duplicate this License in any documentation for the Source
-Code where You describe recipients' rights or ownership rights relating
-to Covered Code. You may choose to offer, and to charge a fee for,
-warranty, support, indemnity or liability obligations to one or more
-recipients of Covered Code. However, You may do so only on Your own
-behalf, and not on behalf of the Initial Developer or any Contributor.
-You must make it absolutely clear than any such warranty, support,
-indemnity or liability obligation is offered by You alone, and You
-hereby agree to indemnify the Initial Developer and every Contributor
-for any liability incurred by the Initial Developer or such Contributor
-as a result of warranty, support, indemnity or liability terms You
-offer.
-
-3.6. Distribution of Executable Versions.
-
-You may distribute Covered Code in Executable form only if the
-requirements of Section 3.1-3.5 have been met for that Covered Code, and
-if You include a notice stating that the Source Code version of the
-Covered Code is available under the terms of this License, including a
-description of how and where You have fulfilled the obligations of
-Section 3.2. The notice must be conspicuously included in any notice in
-an Executable version, related documentation or collateral in which You
-describe recipients' rights relating to the Covered Code. You may
-distribute the Executable version of Covered Code or ownership rights
-under a license of Your choice, which may contain terms different from
-this License, provided that You are in compliance with the terms of this
-License and that the license for the Executable version does not attempt
-to limit or alter the recipient's rights in the Source Code version from
-the rights set forth in this License. If You distribute the Executable
-version under a different license You must make it absolutely clear that
-any terms which differ from this License are offered by You alone, not
-by the Initial Developer or any Contributor. You hereby agree to
-indemnify the Initial Developer and every Contributor for any liability
-incurred by the Initial Developer or such Contributor as a result of any
-such terms You offer.
-
-3.7. Larger Works.
-
-You may create a Larger Work by combining Covered Code with other code
-not governed by the terms of this License and distribute the Larger Work
-as a single product. In such a case, You must make sure the requirements
-of this License are fulfilled for the Covered Code.
-
-\4. Inability to Comply Due to Statute or Regulation.
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Code due to statute,
-judicial order, or regulation then You must: (a) comply with the terms
-of this License to the maximum extent possible; and (b) describe the
-limitations and the code they affect. Such description must be included
-in the LEGAL file described in Section 3.4 and must be included with all
-distributions of the Source Code. Except to the extent prohibited by
-statute or regulation, such description must be sufficiently detailed
-for a recipient of ordinary skill to be able to understand it.
-
-\5. Application of this License.
-
-This License applies to code to which the Initial Developer has attached
-the notice in Exhibit A and to related Covered Code.
-
-\6. Versions of the License.
-
-6.1. New Versions.
-
-Netscape Communications Corporation (''Netscape'') may publish revised
-and/or new versions of the License from time to time. Each version will
-be given a distinguishing version number.
-
-6.2. Effect of New Versions.
-
-Once Covered Code has been published under a particular version of the
-License, You may always continue to use it under the terms of that
-version. You may also choose to use such Covered Code under the terms of
-any subsequent version of the License published by Netscape. No one
-other than Netscape has the right to modify the terms applicable to
-Covered Code created under this License.
-
-6.3. Derivative Works.
-
-If You create or use a modified version of this License (which you may
-only do in order to apply it to code which is not already Covered Code
-governed by this License), You must (a) rename Your license so that the
-phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL",
-''NPL'' or any confusingly similar phrase do not appear in your license
-(except to note that your license differs from this License) and (b)
-otherwise make it clear that Your version of the license contains terms
-which differ from the Mozilla Public License and Netscape Public
-License. (Filling in the name of the Initial Developer, Original Code or
-Contributor in the notice described in Exhibit A shall not of themselves
-be deemed to be modifications of this License.)
-
-\7. DISCLAIMER OF WARRANTY.
-
-COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS,
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS,
-MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU.
-SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
-INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
-NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
-CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.NO USE OF ANY COVERED CODE
-IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-\8. TERMINATION.
-
-8.1. This License and the rights granted hereunder will terminate
-automatically if You fail to comply with terms herein and fail to cure
-such breach within 30 days of becoming aware of the breach. All
-sublicenses to the Covered Code which are properly granted shall survive
-any termination of this License. Provisions which, by their nature, must
-remain in effect beyond the termination of this License shall survive.
-
-8.2. If You initiate litigation by asserting a patent infringement claim
-(excluding declatory judgment actions) against Initial Developer or a
-Contributor (the Initial Developer or Contributor against whom You file
-such action is referred to as "Participant") alleging that:
-
-\(a) such Participant's Contributor Version directly or indirectly
-infringes any patent, then any and all rights granted by such
-Participant to You under Sections 2.1 and/or 2.2 of this License shall,
-upon 60 days notice from Participant terminate prospectively, unless if
-within 60 days after receipt of notice You either: agree in writing to
-pay Participant a mutually agreeable reasonable royalty for Your past
-and future use of Modifications made by such Participant, or (ii)
-withdraw Your litigation claim with respect to the Contributor Version
-against such Participant. If within 60 days of notice, a reasonable
-royalty and payment arrangement are not mutually agreed upon in writing
-by the parties or the litigation claim is not withdrawn, the rights
-granted by Participant to You under Sections 2.1 and/or 2.2
-automatically terminate at the expiration of the 60 day notice period
-specified above.
-
-\(b) any software, hardware, or device, other than such Participant's
-Contributor Version, directly or indirectly infringes any patent, then
-any rights granted to You by such Participant under Sections 2.1(b) and
-2.2(b) are revoked effective as of the date You first made, used, sold,
-distributed, or had made, Modifications made by that Participant.
-
-8.3. If You assert a patent infringement claim against Participant
-alleging that such Participant's Contributor Version directly or
-indirectly infringes any patent where such claim is resolved (such as by
-license or settlement) prior to the initiation of patent infringement
-litigation, then the reasonable value of the licenses granted by such
-Participant under Sections 2.1 or 2.2 shall be taken into account in
-determining the amount or value of any payment or license.
-
-8.4. In the event of termination under Sections 8.1 or 8.2 above, all
-end user license agreement (excluding distributors and resellers) which
-have been validly granted by You or any distributor hereunder prior to
-termination shall survive termination.
-
-\9. LIMITATION OF LIABILITY.
-
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY
-
-DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
-LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
-CONSEQUENTIAL DAMAGES OF ANY CHARACTER
-
-INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH
-
-PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
-LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
-PERSONAL INJURY RESULTING FROM SUCH
-
-PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
-LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION
-OF INCIDENTAL OR CONSEQUENTIAL
-
-DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-\10. U.S. GOVERNMENT END USERS.
-
-The Covered Code is a ''commercial item,'' as that term is defined in 48
-C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software''
-and ''commercial computer software documentation,'' as such terms are
-used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212
-and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S.
-Government End Users acquire Covered Code with only those rights set
-forth herein.
-
-\11. MISCELLANEOUS.
-
-This License represents the complete agreement concerning subject matter
-hereof. If any provision of this License is held to be unenforceable,
-such provision shall be reformed only to the extent necessary to make it
-enforceable. This License shall be governed by California law provisions
-(except to the extent applicable law, if any, provides otherwise),
-excluding its conflict-of-law provisions. With respect to disputes in
-which at least one party is a citizen of, or an entity chartered or
-registered to do business in the United States of America, any
-litigation relating to this License shall be subject to the jurisdiction
-of the Federal Courts of the Northern District of California, with venue
-lying in Santa Clara County, California, with the losing party
-responsible for costs, including without limitation, court costs and
-reasonable attorneys' fees and expenses. The application of the United
-Nations Convention on
-
-Contracts for the International Sale of Goods is expressly excluded. Any
-law or regulation which provides that the language of a contract shall
-be construed against the drafter shall not apply to this License.
-
-\12. RESPONSIBILITY FOR CLAIMS.
-
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or indirectly, out
-of its utilization of rights under this License and You agree to work
-with Initial Developer and Contributors to distribute such
-responsibility on an equitable basis. Nothing herein is intended or
-shall be deemed to constitute any admission of liability.
-
-\13. MULTIPLE-LICENSED CODE.
-
-Initial Developer may designate portions of the Covered Code as
-"Multiple-Licensed?. "Multiple-Licensed? means that the Initial
-Developer permits you to utilize portions of the Covered Code under Your
-choice of the MPL or the alternative licenses, if any, specified by the
-Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
-The contents of this file are subject to the Mozilla Public License
-Version 1.1 (the "License"); you may not use this file except in
-compliance with the License. You may obtain a copy of the License at
-http://www.mozilla.org/MPL/. Software distributed under the License is
-distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
-express or implied. See the License for the specific language governing
-rights and limitations under the License.
-
-The Original Code is Javassist.
-
-The Initial Developer of the Original Code is Shigeru Chiba. Portions
-created by the Initial Developer are
-
-Copyright (C) 1999-2016 Shigeru Chiba. All Rights Reserved.
-
-Contributor(s): ______________________________________.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-in which case the provisions of the LGPL are applicable instead of those
-above. If you wish to allow use of your version of this file only under
-the terms of the LGPL, and not to allow others to use your version of
-this file under the terms of the MPL, indicate your decision by deleting
-the provisions above and replace them with the notice and other
-provisions required by the LGPL. If you do not delete the provisions
-above, a recipient may use your version of this file under the terms of
-either the MPL or the LGPL.
-
-[[ggrlg]][[GSING00023]][[installation-files-for-glassfish-server-5.0]]
-
-Installation Files for GlassFish Server 5.1
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#gkbaj[GlassFish Server Download Locations]
-* link:#gkbby[GlassFish Server Installation Methods]
-* link:#gkudi[Choosing an Installation Method]
-* link:#gkbbb[GlassFish Server ZIP Files]
-
-[[gkbaj]][[GSING00035]][[glassfish-server-download-locations]]
-
-GlassFish Server Download Locations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Installation files for Eclipse GlassFish Server 5.1 are
-available by download from the
-https://javaee.github.io/glassfish/download[GlassFish Server Downloads]
-page.
-
-Eclipse GlassFish Server 5.1 is also part of the Java EE SDK
-distributions. The SDK distributions are available from the
-http://www.oracle.com/technetwork/java/javaee/downloads/index.html[Java
-EE downloads page] and are not described in this document.
-
-[[gkbby]][[GSING00036]][[glassfish-server-installation-methods]]
-
-GlassFish Server Installation Methods
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-link:#ghtqe[Table 1-1] lists the various GlassFish Server Open Source
-Edition installation methods. The table also provides links to
-installation instructions for each method.
-
-
-[NOTE]
-=======================================================================
-
-Before performing any GlassFish Server installation, ensure that your
-environment adheres to the JDK guidelines in
-"https://javaee.github.io/glassfish/doc/5.0/release-notes.pdf[Paths and
-Environment Settings for the JDK Software]" in GlassFish Server Open
-Source Edition Release Notes.
-
-=======================================================================
-
-
-[[GSING103]][[sthref3]][[ghtqe]]
-
-
-Table 1-1 GlassFish Server 5.1 Installation Methods
-
-[width="100%",cols="39%,61%",options="header",]
-|=======================================================================
-|Installation Method |Installation Instructions
-|Multi-platform ZIP file |link:#ghmxb[Installing GlassFish Server From a
-ZIP File].
-|=======================================================================
-
-
-Each of the installation methods listed in link:#ghtqe[Table 1-1] also
-let you choose between installing the Full Platform or the Web Profile.
-These two distributions are explained in the next section.
-
-[[gkudi]][[GSING00037]][[choosing-an-installation-method]]
-
-Choosing an Installation Method
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There are two general sets of questions you should consider when
-deciding which GlassFish Server 5.1 installation method to use.
-
-* link:#gkuau[ZIP Package]
-* link:#gkudp[Full Platform or Web Profile Distribution]
-
-[[gkuau]][[GSING00029]][[zip-package]]
-
-ZIP Package
-+++++++++++
-
-The relative features and strengths of the GlassFish Server ZIP packages
-are listed below.
-
-* ZIP Package
-
-** Is simpler to install, but provides no configuration options during
-the installation
-
-** Any additional configurations must be performed manually, after
-installation
-
-** If uninstallation is desired, product must be uninstalled manually
-
-[[gkudp]][[GSING00030]][[full-platform-or-web-profile-distribution]]
-
-Full Platform or Web Profile Distribution
-+++++++++++++++++++++++++++++++++++++++++
-
-Each of the installation methods listed in link:#ghtqe[Table 1-1] also
-let you choose to install either the GlassFish Server Full Platform or
-Web Profile distribution. link:#gkuap[Table 1-2] lists the features
-available in each of these two distributions. Note that some of these
-features are value-adds, and are not required by the Java EE
-specification.
-
-[[GSING104]][[sthref4]][[gkuap]]
-
-
-Table 1-2 GlassFish Server Full Profile and Web Profile Features
-
-[width="100%",cols="69%,16%,15%",options="header",]
-|=======================================================================
-|Feature |Full Platform |Web Profile
-|Java Platform, Enterprise Edition 8 |X |X
-
-|Java EE Security API |X |X
-
-|Java API for JSON Processing 1.1 |X |X
-
-|Java API for JSON Binding 1.0 |X |X
-
-|EJB 3.2 Lite (Support for Local Container only) |X |X
-
-|JTA 1.2 |X |X
-
-|OSGi-based microkernel |X |X
-
-|Java Web Technologies (Servlet 4.0, JSP 2.2, JSF 2.3, JSTL 1.2, EL 3.0)
-|X |X
-
-|Grizzly/Comet |X |X
-
-|JPA 2.2, (EclipseLink), JDBC Connection Pooling |X |X
-
-|JDBC 4.0 |X |X
-
-|Apache Derby 10.13.1.1 |X |X
-
-|Web Administration Console and CLI |X |X
-
-|Rapid Redeployment (Maintain session state on application redeploy) |X
-|X
-
-|OMG CORBA APIs 3.0 |X |X
-
-|Debugging Support for Other Languages 1.0 |X |X
-
-|Common Annotations for Java 1.3 |X |X
-
-|Dependency Injection for Java 1.0 |X |X
-
-|Managed Beans 1.0 |X |X
-
-|Interceptors 1.2 |X |X
-
-|Contexts and Dependency Injection for Java 2.0 (CDI, ex-Web Beans) |X
-|X
-
-|Bean Validation 2.0 |X |X
-
-|JAX-RS 2.1 (Jersey) |X |X
-
-|EJB 3.2 Full API (Support for Remote Container) |X |-
-
-|Java EE Connector Architecture 1.7 |X |-
-
-|JAX-WS 2.3 |X |-
-
-|JAXB 2.2 |X |-
-
-|Implementing Java Web Services 1.4 |X |-
-
-|Web Services Metadata for the Java Platform 2.1 |X |-
-
-|JMS 2.0 |X |-
-
-|JavaMail 1.6 |X |-
-
-|JACC 1.5 |X |-
-
-|Java Authentication Service Provider Interface for Containers 1.1 |X |-
-
-|Java EE Application Deployment 1.2 |X |-
-
-|J2EE Management 1.1 |X |-
-
-|JAX-RPC 1.1 |X |-
-
-|JAXR 1.0 |X |-
-
-|CORBA 3.0.0 |X a|
-*
-
-
-|Metro |X |-
-|=======================================================================
-
-
-* The Full Java EE Platform contains the complete CORBA package. The OMG
-CORBA v3.0 APIs are available in the Java EE Web Profile.
-
-** Transaction propagation not supported.
-
-[[gkbbb]][[GSING00038]][[glassfish-server-zip-files]]
-
-GlassFish Server ZIP Files
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Eclipse GlassFish Server 5.1 multi-platform ZIP files
-are compatible with Solaris, Linux, Mac OS, UNIX, and Windows operating
-systems. See link:#gkbaj[GlassFish Server Download Locations] for a list
-of download locations.
-
-link:#gkbac[Table 1-3] lists the available ZIP file downloads.
-
-[[GSING105]][[sthref5]][[gkbac]]
-
-
-Table 1-3 GlassFish Server Downloadable ZIP Files
-
-[width="100%",cols="31%,69%",options="header",]
-|===================================================================
-|ZIP File |Description
-| |
-| |
-a|
-[source,oac_no_warn]
-----
-glassfish-5.0.zip
-----
-
- |Full Platform distribution of Eclipse GlassFish Server
-a|
-[source,oac_no_warn]
-----
-glassfish-5.0-web.zip
-----
-
- |Web Profile distribution Eclipse GlassFish Server
-|===================================================================
-
-
-[[ghmxb]][[GSING00024]][[installing-glassfish-server-from-a-zip-file]]
-
-Installing GlassFish Server From a ZIP File
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to install GlassFish Server Open Source
-Edition 5.1 using the multi-platform ZIP file. GlassFish Server is
-installed by unzipping the file in the installation directory of your
-choice.
-
-
-[NOTE]
-=======================================================================
-
-It is not possible to specify any GlassFish Server configuration options
-during a ZIP file installation. Any configuration changes, such as
-creating domains, clusters, and server instances, must be made manually
-after installation.
-
-=======================================================================
-
-
-[[ggrks]][[GSING00006]][[to-install-glassfish-server-using-the-zip-file]]
-
-To Install GlassFish Server Using the ZIP File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Before You Begin
-
-Ensure that your system meets the requirements listed in
-"link:../release-notes/release-notes.html#GSRLN00131[Hardware and Software Requirements]" in GlassFish
-Server Open Source Edition Release Notes.
-
-Also see "link:../release-notes/release-notes.html#GSRLN00253[Known Issues]" in GlassFish Server Open
-Source Edition Release Notes for known issues related to installation.
-
-1.  Download the desired GlassFish Server 5.1 ZIP file. +
-See link:#gkbaj[GlassFish Server Download Locations] for a list of
-download locations. See link:#gkbac[Table 1-3] for a list of available
-ZIP files.
-2.  Change to the directory where you downloaded the ZIP file.
-3.  Unzip the file.
-* Solaris, Linux, and Mac OS X systems: +
-[source,oac_no_warn]
-----
-unzip zip-file-name
-----
-zip-file-name is the name of the file that you downloaded. +
-For example: +
-[source,oac_no_warn]
-----
-glassfish-5.0.zip
-----
-* Windows systems: +
-Unzip using your favorite file compression utility. +
-Eclipse GlassFish Server 5.1 is extracted into a new `glassfish6` directory
-under your current directory. This `glassfish6` directory is referred to
-throughout the GlassFish Server documentation set as as-install-parent.
-4.  Start GlassFish Server using the instructions in the
-link:../quick-start-guide/toc.html#GSQSG[GlassFish Server Open Source Edition Quick Start Guide]. +
-The guide explains how to perform basic tasks such as starting the
-server, accessing the Administration Console, and deploying a sample
-application.
-
-
diff --git a/docs/installation-guide/src/main/jbake/content/lot.adoc b/docs/installation-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index b44eae2..0000000
--- a/docs/installation-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=toc.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:installing.html#ghtqe[1-1 GlassFish Server 5.0 Installation
-Methods]
-* link:installing.html#gkuap[1-2 GlassFish Server Full Profile and Web
-Profile Features]
-* link:installing.html#gkbac[1-3 GlassFish Server Downloadable ZIP Files]
-
-
diff --git a/docs/installation-guide/src/main/jbake/content/preface.adoc b/docs/installation-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 5d3fe8c..0000000
--- a/docs/installation-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,341 +0,0 @@
-type=page
-status=published
-title=Preface
-next=installing.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSING00001]][[gjxfa]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This document contains instructions for installing and uninstalling
-GlassFish Server Open Source Edition 5.0 software.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 5.0 is developed through the GlassFish project
-open-source community at `https://javaee.github.io/glassfish/`. The
-GlassFish project provides a structured process for developing the
-GlassFish Server platform that makes the new features of the Java EE
-platform available faster, while maintaining the most important feature
-of Java EE: compatibility. It enables Java developers to access the
-GlassFish Server source code and to contribute to the development of the
-GlassFish Server. The GlassFish project is designed to encourage
-communication between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[GSING00014]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSING00015]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* https://javaee.github.io/firstcup/[Your First Cup: An Introduction to
-the Java EE Platform] (`https://javaee.github.io/firstcup/`). For
-beginning Java EE programmers, this short tutorial explains the entire
-process for developing a simple enterprise application. The sample
-application is a web application that consists of a component that is
-based on the Enterprise JavaBeans specification, a JAX-RS web service,
-and a JavaServer Faces component for the web front end.
-* https://javaee.github.io/tutorial/[The Java EE Tutorial]
-(`https://javaee.github.io/tutorial/`). This comprehensive tutorial
-explains how to use Java EE 8 platform technologies and APIs to develop
-Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows:
-
-* The API specification of Java EE is located at
-`https://javaee.github.io/javaee-spec/javadocs/`.
-* The API specification for GlassFish Server 5.0, including Java EE
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`https://javaee.github.io/javaee-spec/javadocs/`.
-
-Additionally, the
-https://javaee.github.io/javaee-spec/Specifications[Java EE
-Specifications] might be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page].
-
-For information about the Apache Derby for use with the GlassFish
-Server, see the
-https://db.apache.org/derby/[`Apache Derby product page`].
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the https://javaee.github.io/glassfish-samples/[Java EE
-Samples project page].
-
-[[GSING00016]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSING00017]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSING00018]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="14%,34%,52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish6/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish6`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
diff --git a/docs/installation-guide/src/main/jbake/content/title.adoc b/docs/installation-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 4146613..0000000
--- a/docs/installation-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Installation Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Installation Guide, Release 5.1
-========================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Installation Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This book contains instructions for installing and uninstalling
-Eclipse GlassFish Server software.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Installation Guide, Release 5.1
-
-Copyright © 2010, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/installation-guide/src/main/jbake/content/uninstalling.adoc b/docs/installation-guide/src/main/jbake/content/uninstalling.adoc
deleted file mode 100644
index d3f8d45..0000000
--- a/docs/installation-guide/src/main/jbake/content/uninstalling.adoc
+++ /dev/null
@@ -1,67 +0,0 @@
-type=page
-status=published
-title=Uninstalling GlassFish Server 5.0
-prev=installing.html
-~~~~~~
-Uninstalling GlassFish Server 5.0
-=================================
-
-[[GSING00003]][[ghmlt]]
-
-
-[[uninstalling-glassfish-server-5.0]]
-2 Uninstalling GlassFish Server 5.0
------------------------------------
-
-This chapter describes how to uninstall GlassFish Server Open Source
-Edition 5.0 software.
-
-[[gjxfv]][[GSING00028]][[removing-a-glassfish-server-installation]]
-
-Removing a GlassFish Server Installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to remove GlassFish Server Open Source
-Edition 5.0 software.
-
-The following topics are addressed here:
-
-* link:#gkrfi[To Uninstall GlassFish Server Software After a ZIP File
-Installation]
-
-[[gkrfi]][[GSING00012]][[to-uninstall-glassfish-server-software-after-a-zip-file-installation]]
-
-To Uninstall GlassFish Server Software After a ZIP File Installation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure describes how to uninstall GlassFish Server software that
-was installed using a ZIP file, as described in
-link:installing.html#ghmxb[Installing GlassFish Server From a ZIP File].
-
-Before You Begin
-
-Stop all domains and other related processes, including command prompts
-using the installation directory or its subdirectories and any
-applications using Java SE files.
-
-To stop domains, use the `asadmin stop-domain` command. For more
-information about stopping a domain, see "link:../administration-guide/domains.html#GSADG00336[To Stop a
-Domain]" in GlassFish Server Open Source Edition Administration Guide.
-
-If orphaned processes remain, identify and terminate the processes as
-follows:
-
-* Solaris, Linux, and Mac OS X systems: +
-Use the `ps -ef` command and terminate the processes using the `kill`
-command.
-* Windows systems: +
-Use the Task Manager and terminate the processes.
-
-Also see "link:../release-notes/release-notes.html#GSRLN00253[Known Issues]" in GlassFish Server Open
-Source Edition Release Notes for known issues related to uninstallation.
-
-1.  Save any files in the installation directory that you may want to
-keep.
-2.  Manually delete installation directory and all its contents.
-
-
diff --git a/docs/installation-guide/src/main/jbake/jbake.properties b/docs/installation-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/installation-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/installation-guide/src/main/jbake/templates/footer.ftl b/docs/installation-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/installation-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/installation-guide/src/main/jbake/templates/header.ftl b/docs/installation-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/installation-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/installation-guide/src/main/jbake/templates/menu.ftl b/docs/installation-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/installation-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/installation-guide/src/main/jbake/templates/page.ftl b/docs/installation-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/installation-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/parent/pom.xml b/docs/parent/pom.xml
index 39e75c9..f2cae75 100644
--- a/docs/parent/pom.xml
+++ b/docs/parent/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>docs</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.docs</groupId>
     <artifactId>parent</artifactId>
@@ -30,17 +30,18 @@
     <name>Eclipse GlassFish Documentation parent pom</name>
 
     <properties>
-        <site.output.dir>${project.build.directory}/staging/${project.artifactId}</site.output.dir>
         <maven.site.skip>true</maven.site.skip>
         <maven.deploy.skip>true</maven.deploy.skip>
-        <asciidoctor.maven.plugin.version>1.5.7.1</asciidoctor.maven.plugin.version>
-        <!-- XXX - jbake needs an older version than this -->
-        <asciidoctorj.version>1.6.2</asciidoctorj.version>
-        <asciidoctorj.pdf.version>1.5.0-alpha.16</asciidoctorj.pdf.version>
-        <jruby.version>9.2.6.0</jruby.version>
+        <asciidoctor.maven.plugin.version>2.2.1</asciidoctor.maven.plugin.version>
+        <asciidoctorj.version>2.5.2</asciidoctorj.version>
+        <asciidoctorj.pdf.version>1.6.0</asciidoctorj.pdf.version>
+        <jruby.version>9.3.2.0</jruby.version>
         <!-- status: DRAFT, BETA, etc., or blank for final -->
         <status>DRAFT</status>
-        <doc.pdf>${project.artifactId}.pdf</doc.pdf>
+        <pdf.fileName>${project.artifactId}.pdf</pdf.fileName>
+        <pdf.toclevels>2</pdf.toclevels>
+        <productName>Eclipse GlassFish</productName>
+        <bookDirectory>${project.build.directory}/book</bookDirectory>
     </properties>
 
     <build>
@@ -48,20 +49,11 @@
             <plugin>
                 <groupId>org.glassfish.doc</groupId>
                 <artifactId>glassfish-doc-maven-plugin</artifactId>
+                <configuration>
+                    <sourceDirectory>src/main/asciidoc</sourceDirectory>
+                </configuration>
                 <executions>
-                    <execution>
-                        <id>generate-toc</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>toc</goal>
-                        </goals>
-                        <configuration>
-                            <chapterPatterns>
-                                [0-9]+\s.*,Preface.*,Part\s.*
-                            </chapterPatterns>
-                            <ignoreTagPatterns>JEET.*</ignoreTagPatterns>
-                        </configuration>
-                    </execution>
+                    <!-- Filtering - uses properties directly -->
                     <execution>
                         <id>generate-book</id>
                         <phase>generate-resources</phase>
@@ -71,38 +63,7 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>com.blazebit</groupId>
-                <artifactId>jbake-maven-plugin</artifactId>
-                <version>1.0.0</version>
-                <configuration>
-                    <outputDirectory>${site.output.dir}</outputDirectory>
-                    <properties>
-                        <status>${status}</status>
-                    </properties>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>build-site</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>build</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.asciidoctor</groupId>
-                        <artifactId>asciidoctorj</artifactId>
-                        <version>1.5.5</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.asciidoctor</groupId>
-                        <artifactId>asciidoctorj-diagram</artifactId>
-                        <version>1.5.4</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
+
             <plugin>
                 <groupId>org.asciidoctor</groupId>
                 <artifactId>asciidoctor-maven-plugin</artifactId>
@@ -125,40 +86,67 @@
                     </dependency>
                 </dependencies>
                 <configuration>
-                    <sourceDirectory>${project.build.directory}/book</sourceDirectory>
-                    <sourceDocumentName>book.adoc</sourceDocumentName>
-                    <!-- XXX - below depends on running jbake first -->
-                    <imagesDir>${project.build.directory}/staging/${project.artifactId}/</imagesDir>
-                    <backend>pdf</backend>
-                    <outputFile>${doc.pdf}</outputFile>
                     <attributes>
-                        <!-- XXX - a kludge to allow theme to be shared -->
-                        <pdf-stylesdir>${project.basedir}/../parent/src/theme</pdf-stylesdir>
-                        <pdf-style>glassfish</pdf-style>
-                        <doctype>book</doctype>
                         <status>${status}</status>
                         <data-uri />
                         <icons>font</icons>
+                        <source-highlighter>coderay</source-highlighter>
                         <pagenums />
-                        <toc />
-                        <icons>font</icons>
                         <sectanchors>true</sectanchors>
                         <idprefix />
                         <idseparator>-</idseparator>
                         <docinfo1>true</docinfo1>
-                        <embedAssets>true</embedAssets>
+                        <imagesDir>${basedir}/src/main/asciidoc</imagesDir>
+                        <productName>${productName}</productName>
                     </attributes>
                 </configuration>
                 <executions>
                     <execution>
-                        <id>generate-pdf-doc</id>
-                        <phase>generate-resources</phase>
+                        <id>generate-html-doc</id>
+                        <phase>compile</phase>
                         <goals>
-                                <goal>process-asciidoc</goal>
+                            <goal>process-asciidoc</goal>
                         </goals>
+                        <configuration>
+                            <backend>html</backend>
+                            <sourceDirectory>${bookDirectory}</sourceDirectory>
+                            <sourceDocumentName>book.adoc</sourceDocumentName>
+                            <outputDirectory>${project.build.directory}/html</outputDirectory>
+                            <outputFile>${project.artifactId}.html</outputFile>
+                            <attributes>
+                                <linkcss>true</linkcss>
+                                <toc>left</toc>
+                                <toclevels>1</toclevels>
+                                <embedAssets>false</embedAssets>
+                            </attributes>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-pdf-doc</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>process-asciidoc</goal>
+                        </goals>
+                        <configuration>
+                            <backend>pdf</backend>
+                            <sourceDirectory>${bookDirectory}</sourceDirectory>
+                            <sourceDocumentName>book.adoc</sourceDocumentName>
+                            <outputDirectory>${project.build.directory}/pdf</outputDirectory>
+                            <outputFile>${pdf.fileName}</outputFile>
+                            <attributes>
+                                 <!-- TODO - sharing themes and other files should be done as a dependency -->
+                                <pdf-stylesdir>${project.basedir}/../parent/src/theme</pdf-stylesdir>
+                                <pdf-style>glassfish</pdf-style>
+                                <doctype>book</doctype>
+                                <toc>preamble</toc>
+                                <toclevels>${pdf.toclevels}</toclevels>
+                                <embedAssets>true</embedAssets>
+                            </attributes>
+                        </configuration>
                     </execution>
                 </executions>
             </plugin>
+
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>build-helper-maven-plugin</artifactId>
@@ -172,7 +160,7 @@
                         <configuration>
                             <artifacts>
                                 <artifact>
-                                    <file>${project.build.directory}/generated-docs/${doc.pdf}</file>
+                                    <file>${project.build.directory}/pdf/${pdf.fileName}</file>
                                     <type>pdf</type>
                                 </artifact>
                             </artifacts>
@@ -183,8 +171,7 @@
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
-                    <finalName>${project.artifactId}</finalName>
-                    <classesDirectory>${project.build.directory}/staging</classesDirectory>
+                    <classesDirectory>${project.build.directory}/html</classesDirectory>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/docs/parent/src/main/jbake/content/title.adoc b/docs/parent/src/main/asciidoc/title.adoc
similarity index 100%
rename from docs/parent/src/main/jbake/content/title.adoc
rename to docs/parent/src/main/asciidoc/title.adoc
diff --git a/docs/parent/src/main/jbake/jbake.properties b/docs/parent/src/main/jbake/jbake.properties
deleted file mode 100644
index 04823fb..0000000
--- a/docs/parent/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
\ No newline at end of file
diff --git a/docs/parent/src/main/jbake/templates/page.ftl b/docs/parent/src/main/jbake/templates/page.ftl
deleted file mode 100644
index e69de29..0000000
--- a/docs/parent/src/main/jbake/templates/page.ftl
+++ /dev/null
diff --git a/docs/performance-tuning-guide/README.md b/docs/performance-tuning-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/performance-tuning-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/performance-tuning-guide/pom.xml b/docs/performance-tuning-guide/pom.xml
index 5c5a9b6..63e0c92 100644
--- a/docs/performance-tuning-guide/pom.xml
+++ b/docs/performance-tuning-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>performance-tuning-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Performance Tuning Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Performance Tuning Guide, Release 7</name>
 </project>
diff --git a/docs/performance-tuning-guide/src/main/jbake/assets/img/appmodel.png b/docs/performance-tuning-guide/src/main/asciidoc/img/appmodel.png
similarity index 100%
rename from docs/performance-tuning-guide/src/main/jbake/assets/img/appmodel.png
rename to docs/performance-tuning-guide/src/main/asciidoc/img/appmodel.png
Binary files differ
diff --git a/docs/performance-tuning-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/performance-tuning-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/performance-tuning-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/performance-tuning-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/loe.adoc b/docs/performance-tuning-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..7cd4a63
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,17 @@
+type=page
+status=published
+title=List of Examples
+next=lof.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:tuning-java.html#fxxpw[4-1 Heap Configuration on Solaris]
+* link:tuning-java.html#fxxpz[4-2 Heap Configuration on Windows]
+* link:tuning-os.html#sthref14[5-1 Setting the UDP Buffer Size in the
+/etc/sysctl.conf File]
+* link:tuning-os.html#glgjp[5-2 Setting the UDP Buffer Size at Runtime]
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/lof.adoc b/docs/performance-tuning-guide/src/main/asciidoc/lof.adoc
new file mode 100644
index 0000000..fec358d
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/lof.adoc
@@ -0,0 +1,13 @@
+type=page
+status=published
+title=List of Figures
+next=lot.html
+prev=loe.html
+~~~~~~
+
+= List of Figures
+
+[[list-of-figures]]
+== List of Figures
+
+* link:overview.html#gacmj[1-1 Jakarta EE Application Model]
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/lot.adoc b/docs/performance-tuning-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..3196ffa
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,21 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=lof.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:overview.html#gacmh[1-1 Performance Tuning Roadmap]
+* link:overview.html#gacmp[1-2 Factors That Affect Performance]
+* link:tuning-glassfish.html#gacmo[3-1 Bean Type Pooling or Caching]
+* link:tuning-glassfish.html#gacma[3-2 Tunable ORB Parameters]
+* link:tuning-glassfish.html#gacmi[3-3 Connection Pool Sizing]
+* link:tuning-java.html#gacna[4-1 Maximum Address Space Per Process]
+* link:tuning-os.html#gacmm[5-1 Tuning Parameters for Solaris]
+* link:tuning-os.html#gkuaa[5-2 Tuning 64-bit Systems for Performance
+Benchmarking]
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/overview.adoc b/docs/performance-tuning-guide/src/main/asciidoc/overview.adoc
new file mode 100644
index 0000000..82f746d
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/overview.adoc
@@ -0,0 +1,535 @@
+type=page
+status=published
+title=Overview of {productName} Performance Tuning
+next=tuning-apps.html
+prev=preface.html
+~~~~~~
+
+= Overview of {productName} Performance Tuning
+
+[[GSPTG00003]][[giekg]]
+
+
+[[overview-of-glassfish-server-performance-tuning]]
+== 1 Overview of {productName} Performance Tuning
+
+You can significantly improve performance of the {productName}
+and of applications deployed to it by adjusting a few deployment and
+server configuration settings. However, it is important to understand
+the environment and performance goals. An optimal configuration for a
+production environment might not be optimal for a development
+environment.
+
+The following topics are addressed here:
+
+* link:#abear[Process Overview]
+* link:#abeat[Understanding Operational Requirements]
+* link:#abeba[General Tuning Concepts]
+* link:#abebd[Further Information]
+
+[[abear]][[GSPTG00048]][[process-overview]]
+
+=== Process Overview
+
+The following table outlines the overall {productName} 7
+administration process, and shows where performance tuning fits in the
+sequence.
+
+[[sthref4]][[gacmh]]
+
+Table 1-1 Performance Tuning Roadmap
+
+[options="header",]
+|===
+|Step |Description of Task |Location of Instructions
+|1
+|Design: Decide on the high-availability topology and set up {productName}.
+a|link:deployment-planning-guide.html#GSPLG[
+{productName} Deployment Planning Guide]
+
+|2
+|Capacity Planning: Make sure the systems have sufficient resources to perform well.
+a|link:deployment-planning-guide.html#GSPLG[
+{productName} Deployment Planning Guide]
+
+|3
+|Installation: Configure your DAS, clusters, and clustered server instances.
+a|link:installation-guide.html#GSING[
+{productName} Installation Guide]
+
+|4
+|Deployment: Install and run your applications.
+Familiarize yourself with how to configure and administer the {productName}.
+a|The following books:
+
+* link:application-deployment-guide.html#GSDPG[
+{productName} Application Deployment Guide]
+* link:administration-guide.html#GSADG[
+{productName} Administration Guide]
+
+|5
+|High Availability Configuration: Configuring your DAS, clusters, and
+clustered server instances for high availability and failover
+a|link:ha-administration-guide.html#GSHAG[
+{productName} High Availability Administration Guide]
+
+|6
+a|Performance Tuning: Tune the following items:
+
+* Applications
+* {productName}
+* Java Runtime System
+* Operating system and platform
+
+a|The following chapters:
+
+* link:tuning-apps.html#abebe[Tuning Your Application]
+* link:tuning-glassfish.html#abedn[Tuning the {productName}]
+* link:tuning-java.html#abeia[Tuning the Java Runtime System]
+* link:tuning-os.html#abeir[Tuning the Operating System and Platform]
+|===
+
+
+[[abeas]][[GSPTG00035]][[performance-tuning-sequence]]
+
+==== Performance Tuning Sequence
+
+Application developers should tune applications prior to production use.
+Tuning applications often produces dramatic performance improvements.
+System administrators perform the remaining steps in the following list
+after tuning the application, or when application tuning has to wait and
+you want to improve performance as much as possible in the meantime.
+
+Ideally, follow this sequence of steps when you are tuning performance:
+
+1. Tune your application, described in
+link:tuning-apps.html#abebe[Tuning Your Application].
+2. Tune the server, described in link:tuning-glassfish.html#abedn[Tuning
+the {productName}].
+3. Tune the Java runtime system, described in
+link:tuning-java.html#abeia[Tuning the Java Runtime System].
+4. Tune the operating system, described in
+link:tuning-os.html#abeir[Tuning the Operating System and Platform].
+
+[[abeat]][[GSPTG00049]][[understanding-operational-requirements]]
+
+=== Understanding Operational Requirements
+
+Before you begin to deploy and tune your application on the {productName}, it is important to clearly define the operational environment.
+The operational environment is determined by high-level constraints and
+requirements such as:
+
+* link:#abeau[Application Architecture]
+* link:#abeav[Security Requirements]
+* link:#gkvjf[High Availability Clustering, Load Balancing, and Failover]
+* link:#abeay[Hardware Resources]
+* link:#abeaz[Administration]
+
+[[abeau]][[GSPTG00154]][[application-architecture]]
+
+==== Application Architecture
+
+The Jakarta EE Application model, as shown in the following figure, is very
+flexible; allowing the application architect to split application logic
+functionally into many tiers. The presentation layer is typically
+implemented using servlets and JSP technology and executes in the web
+container.
+
+[[GSPTG00001]][[gacmj]]
+
+
+.*Figure 1-1 Jakarta EE Application Model*
+image:img/appmodel.png["Jakarta EE Application Mode"]
+
+
+Moderately complex enterprise applications can be developed entirely
+using servlets and JSP technology. More complex business applications
+often use Enterprise JavaBeans (EJB) components. The {productName}
+integrates the Web and EJB containers in a single process. Local access
+to EJB components from servlets is very efficient. However, some
+application deployments may require EJB components to execute in a
+separate process; and be accessible from standalone client applications
+as well as servlets. Based on the application architecture, the server
+administrator can employ the {productName} in multiple tiers, or
+simply host both the presentation and business logic on a single tier.
+
+It is important to understand the application architecture before
+designing a new {productName} deployment, and when deploying a new
+business application to an existing application server deployment.
+
+[[abeav]][[GSPTG00155]][[security-requirements]]
+
+==== Security Requirements
+
+Most business applications require security. This section discusses
+security considerations and decisions.
+
+[[abeaw]][[GSPTG00080]][[user-authentication-and-authorization]]
+
+===== User Authentication and Authorization
+
+Application users must be authenticated. The {productName} provides a
+number of choices for user authentication, including file-based,
+administration, LDAP, certificate, JDBC, digest, PAM, Solaris, and
+custom realms.
+
+The default file based security realm is suitable for developer
+environments, where new applications are developed and tested. At
+deployment time, the server administrator can choose between the
+Lighweight Directory Access Protocol (LDAP) or Solaris security realms.
+Many large enterprises use LDAP-based directory servers to maintain
+employee and customer profiles. Small to medium enterprises that do not
+already use a directory server may find it advantageous to leverage
+investment in Solaris security infrastructure.
+
+For more information on security realms, see
+"link:security-guide/user-security.html#GSSCG00151[Administering Authentication Realms]" in {productName} Security Guide.
+
+The type of authentication mechanism chosen may require additional
+hardware for the deployment. Typically a directory server executes on a
+separate server, and may also require a backup for replication and high
+availability. Refer to the
+http://www.oracle.com/us/products/middleware/identity-management/oracle-directory-services/index.html[Oracle
+Java System Directory Server]
+(`http://www.oracle.com/us/products/middleware/identity-management/oracle-directory-services/index.html`)
+documentation for more information on deployment, sizing, and
+availability guidelines.
+
+An authenticated user's access to application functions may also need
+authorization checks. If the application uses the role-based Jakarta EE
+authorization checks, the application server performs some additional
+checking, which incurs additional overheads. When you perform capacity
+planning, you must take this additional overhead into account.
+
+[[abeax]][[GSPTG00081]][[encryption]]
+
+===== Encryption
+
+For security reasons, sensitive user inputs and application output must
+be encrypted. Most business-oriented web applications encrypt all or
+some of the communication flow between the browser and {productName}.
+Online shopping applications encrypt traffic when the user is completing
+a purchase or supplying private data. Portal applications such as news
+and media typically do not employ encryption. Secure Sockets Layer (SSL)
+is the most common security framework, and is supported by many browsers
+and application servers.
+
+The {productName} supports SSL 2.0 and 3.0 and contains software
+support for various cipher suites. It also supports integration of
+hardware encryption cards for even higher performance. Security
+considerations, particularly when using the integrated software
+encryption, will impact hardware sizing and capacity planning.
+
+Consider the following when assessing the encryption needs for a deployment:
+
+* What is the nature of the applications with respect to security? Do
+they encrypt all or only a part of the application inputs and output?
+What percentage of the information needs to be securely transmitted?
+* Are the applications going to be deployed on an application server
+that is directly connected to the Internet? Will a web server exist in a
+demilitarized zone (DMZ) separate from the application server tier and
+backend enterprise systems?
++
+A DMZ-style deployment is recommended for high security. It is also
+useful when the application has a significant amount of static text and
+image content and some business logic that executes on the {productName}, behind the most secure firewall. {productName} provides
+secure reverse proxy plugins to enable integration with popular web
+servers. The {productName} can also be deployed and used as a web
+server in DMZ.
+
+* Is encryption required between the web servers in the DMZ and
+application servers in the next tier? The reverse proxy plugins supplied
+with {productName} support SSL encryption between the web server and
+application server tier. If SSL is enabled, hardware capacity planning
+must be take into account the encryption policy and mechanisms.
+
+* If software encryption is to be employed:
+
+** What is the expected performance overhead for every tier in the
+system, given the security requirements?
+
+** What are the performance and throughput characteristics of various
+choices?
+
+For information on how to encrypt the communication between web servers
+and {productName}, see "link:security-guide/message-security.html#GSSCG00037[Administering Message
+Security]" in {productName} Security Guide.
+
+[[gkvjf]][[GSPTG00156]][[high-availability-clustering-load-balancing-and-failover]]
+
+==== High Availability Clustering, Load Balancing, and Failover
+
+{productName} 7 enables multiple {productName} instances to be
+clustered to provide high availability through failure protection,
+scalability, and load balancing.
+
+High availability applications and services provide their functionality
+continuously, regardless of hardware and software failures. To make such
+reliability possible, {productName} 7 provides mechanisms for
+maintaining application state data between clustered {productName}
+instances. Application state data, such as HTTP session data, stateful
+EJB sessions, and dynamic cache information, is replicated in real time
+across server instances. If any one server instance goes down, the
+session state is available to the next failover server, resulting in
+minimum application downtime and enhanced transactional security.
+
+{productName} provides the following high availability features:
+
+* High Availability Session Persistence
+* High Availability Java Message Service
+* RMI-IIOP Load Balancing and Failover
+
+See link:tuning-java.html#glaat[Tuning High Availability Persistence] for
+high availability persistence tuning recommendations.
+
+See the link:ha-administration-guide.html#GSHAG[{productName} High
+Availability Administration Guide] for complete information about
+configuring high availability clustering, load balancing, and failover
+features in {productName} 7.
+
+[[abeay]][[GSPTG00157]][[hardware-resources]]
+
+==== Hardware Resources
+
+The type and quantity of hardware resources available greatly influence
+performance tuning and site planning.
+
+{productName} provides excellent vertical scalability. It can scale
+to efficiently utilize multiple high-performance CPUs, using just one
+application server process. A smaller number of application server
+instances makes maintenance easier and administration less expensive.
+Also, deploying several related applications on fewer application
+servers can improve performance, due to better data locality, and reuse
+of cached data between co-located applications. Such servers must also
+contain large amounts of memory, disk space, and network capacity to
+cope with increased load.
+
+{productName} can also be deployed on large "farms" of relatively
+modest hardware units. Business applications can be partitioned across
+various server instances. Using one or more external load balancers can
+efficiently spread user access across all the application server
+instances. A horizontal scaling approach may improve availability, lower
+hardware costs and is suitable for some types of applications. However,
+this approach requires administration of more application server
+instances and hardware nodes.
+
+[[abeaz]][[GSPTG00158]][[administration]]
+
+==== Administration
+
+A single {productName} installation on a server can encompass
+multiple instances. A group of one or more instances that are
+administered by a single Administration Server is called a domain.
+Grouping server instances into domains permits different people to
+independently administer the groups.
+
+You can use a single-instance domain to create a "sandbox" for a
+particular developer and environment. In this scenario, each developer
+administers his or her own application server, without interfering with
+other application server domains. A small development group may choose
+to create multiple instances in a shared administrative domain for
+collaborative development.
+
+In a deployment environment, an administrator can create domains based
+on application and business function. For example, internal Human
+Resources applications may be hosted on one or more servers in one
+Administrative domain, while external customer applications are hosted
+on several administrative domains in a server farm.
+
+{productName} supports virtual server capability for web
+applications. For example, a web application hosting service provider
+can host different URL domains on a single {productName} process for
+efficient administration.
+
+For detailed information on administration, see the
+link:administration-guide.html#GSADG[{productName} Administration Guide].
+
+[[abeba]][[GSPTG00050]][[general-tuning-concepts]]
+
+=== General Tuning Concepts
+
+Some key concepts that affect performance tuning are:
+
+* User load
+* Application scalability
+* Margins of safety
+
+The following table describes these concepts, and how they are measured
+in practice. The left most column describes the general concept, the
+second column gives the practical ramifications of the concept, the
+third column describes the measurements, and the right most column
+describes the value sources.
+
+[[sthref6]][[gacmp]]
+
+Table 1-2 Factors That Affect Performance
+
+[width="100%",cols="<14%,<13%,<26%,<47%",options="header",]
+|===
+|Concept |In practice |Measurement |Value sources
+
+|User Load
+|Concurrent sessions at peak load
+a|Transactions Per Minute (TPM)
+
+Web Interactions Per Second (WIPS)
+
+a|(Max. number of concurrent users) * (expected response time) / (time
+between clicks)
+
+Example:
+
+(100 users * 2 sec) / 10 sec = 20
+
+|Application Scalability
+|Transaction rate measured on one CPU
+|TPM or WIPS
+|Measured from workload benchmark. Perform at each tier.
+
+|Vertical scalability
+|Increase in performance from additional CPUs
+|Percentage gain per additional CPU
+|Based on curve fitting from benchmark.
+Perform tests while gradually increasing the number of CPUs.
+Identify the "knee" of the curve, where additional CPUs are providing
+uneconomical gains in performance. Requires tuning as described in this
+guide. Perform at each tier and iterate if necessary. Stop here if this
+meets performance requirements.
+
+|Horizontal scalability
+|Increase in performance from additional servers
+|Percentage gain per additional server process and/or hardware node.
+|Use a well-tuned single application server instance, as in previous step.
+Measure how much each additional server instance and hardware node
+improves performance.
+
+|Safety Margins
+|High availability requirements
+|If the system must cope with failures, size the system to meet
+performance requirements assuming that one or more application server
+instances are non functional
+|Different equations used if high availability is required.
+
+| +
+|Excess capacity for unexpected peaks
+|It is desirable to operate a
+server at less than its benchmarked peak, for some safety margin
+|80% system capacity utilization at peak loads may work for most installations.
+Measure your deployment under real and simulated peak loads.
+|===
+
+
+[[abebb]][[GSPTG00159]][[capacity-planning]]
+
+==== Capacity Planning
+
+The previous discussion guides you towards defining a deployment
+architecture. However, you determine the actual size of the deployment
+by a process called capacity planning. Capacity planning enables you to
+predict:
+
+* The performance capacity of a particular hardware configuration.
+* The hardware resources required to sustain specified application load
+and performance.
+
+You can estimate these values through careful performance benchmarking,
+using an application with realistic data sets and workloads.
+
+[[gacmz]][[GSPTG00036]][[to-determine-capacity]]
+
+===== To Determine Capacity
+
+1. Determine performance on a single CPU.
++
+First determine the largest load that a single processor can sustain.
+You can obtain this figure by measuring the performance of the
+application on a single-processor machine. Either leverage the
+performance numbers of an existing application with similar processing
+characteristics or, ideally, use the actual application and workload in
+a testing environment. Make sure that the application and data resources
+are tiered exactly as they would be in the final deployment.
+2. [[CEGHGCGI]]
+Determine vertical scalability.
+
+Determine how much additional performance you gain when you add
+processors. That is, you are indirectly measuring the amount of shared
+resource contention that occurs on the server for a specific workload.
+Either obtain this information based on additional load testing of the
+application on a multiprocessor system, or leverage existing information
+from a similar application that has already been load tested.
+
+Running a series of performance tests on one to eight CPUs, in
+incremental steps, generally provides a sense of the vertical
+scalability characteristics of the system. Be sure to properly tune the
+application, {productName}, backend database resources, and operating
+system so that they do not skew the results.
+3. Determine horizontal scalability.
++
+If sufficiently powerful hardware resources are available, a single
+hardware node may meet the performance requirements. However for better
+availability, you can cluster two or more systems. Employing external
+load balancers and workload simulation, determine the performance
+benefits of replicating one well-tuned application server node, as
+determined in step link:#CEGHGCGI[2].
+
+[[abebc]][[GSPTG00160]][[user-expectations]]
+
+==== User Expectations
+
+Application end-users generally have some performance expectations.
+Often you can numerically quantify them. To ensure that customer needs
+are met, you must understand these expectations clearly, and use them in
+capacity planning.
+
+Consider the following questions regarding performance expectations:
+
+* What do users expect the average response times to be for various
+interactions with the application? What are the most frequent
+interactions? Are there any extremely time-critical interactions? What
+is the length of each transaction, including think time? In many cases,
+you may need to perform empirical user studies to get good estimates.
+* What are the anticipated steady-state and peak user loads? Are there
+are any particular times of the day, week, or year when you observe or
+expect to observe load peaks? While there may be several million
+registered customers for an online business, at any one time only a
+fraction of them are logged in and performing business transactions. A
+common mistake during capacity planning is to use the total size of
+customer population as the basis and not the average and peak numbers
+for concurrent users. The number of concurrent users also may exhibit
+patterns over time.
+* What is the average and peak amount of data transferred per request?
+This value is also application-specific. Good estimates for content
+size, combined with other usage patterns, will help you anticipate
+network capacity needs.
+* What is the expected growth in user load over the next year? Planning
+ahead for the future will help avoid crisis situations and system
+downtimes for upgrades.
+
+[[abebd]][[GSPTG00051]][[further-information]]
+
+=== Further Information
+
+* For more information on Java performance, see
+http://java.sun.com/docs/performance[Java Performance Documentation]
+(`http://java.sun.com/docs/performance`) and
+http://java.sun.com/blueprints/performance/index.html[Java Performance
+BluePrints] (`http://java.sun.com/blueprints/performance/index.html`).
+* For more information about performance tuning for high availability
+configurations, see the link:ha-administration-guide.html#GSHAG[{productName}
+High Availability Administration Guide].
+* For complete information about using the Performance Tuning features
+available through the {productName} Administration Console, refer to
+the Administration Console online help.
+* For details on optimizing EJB components, see
+http://java.sun.com/developer/technicalArticles/ebeans/sevenrules/[Seven
+Rules for Optimizing Entity Beans]
+(`http://java.sun.com/developer/technicalArticles/ebeans/sevenrules/`)
+* For details on profiling,
+see "link:application-development-guide/setting-up-dev-env.html#GSDVG00341[
+Profiling Tools]" in {productName} Application Development Guide.
+* To view a demonstration video showing how to use the {productName} Performance Tuner,
+see the http://www.youtube.com/watch?v=FavsE2pzAjc[
+Oracle GlassFish 3.1 - Performance Tuner demo].
+* To find additional Performance Tuning development information, see the
+http://blogs.oracle.com/jenblog/entry/performance_tuner_in_oracle_glassfish[
+Performance Tuner in Oracle GlassFish 3.1] blog.
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/preface.adoc b/docs/performance-tuning-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..5f39972
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,280 @@
+type=page
+status=published
+title=Preface
+next=overview.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSPTG00002]][[pref]]
+
+
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+The Performance Tuning Guide describes how to get the best performance
+with {productName} 7.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at `http://glassfish.java.net/`. The GlassFish
+project provides a structured process for developing the {productName} platform that makes the new features of the Jakarta EE platform
+available faster, while maintaining the most important feature of Java
+EE: compatibility. It enables Java developers to access the {productName} source code and to contribute to the development of the {productName}. The GlassFish project is designed to encourage communication
+between Oracle engineers and the community.
+
+[[GSPTG00043]][[gksfg]]
+
+
+[[oracle-glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide] |Explains how to get started with the
+{productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide] |Explains how to install the software
+and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
+version of {productName}. This guide also describes differences
+between adjacent product releases and configuration options that can
+result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide] |Explains how to build a
+production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide] |Explains how to configure, monitor,
+and manage {productName} subsystems and components from the command
+line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
+performing these tasks from the Administration Console are provided in
+the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide] |Provides instructions for configuring and
+administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
+deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide] |Explains how to create and
+implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}. These
+applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs). This guide provides
+information about developer tools, security, and debugging.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide] |Explains how to run applications in
+embedded {productName} and to develop applications in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide] |Explains how to
+configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
+performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
+might encounter when using {productName} and explains how to solve
+them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference] |Describes error messages that you
+might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual] |Provides reference information in man
+page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes] |Describes new features,
+compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
+to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide] |Explains how to set up
+and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
+the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
+information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
+programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue
+messages.
+|===
+
+
+[[GSPTG00045]][[fwbkx]]
+
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+a|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+a|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized
+(note that some emphasized items appear bold online)
+a|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSPTG00046]][[fquvc]]
+
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y`
+argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|-
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|+
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|>
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSPTG00044]][[ghpfg]]
+
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[width="100%",cols="<14%,<34%,<52%",options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+
+In configuration files, as-install is represented as follows:
+
+`${com.sun.aas.installRoot}`
+a|Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
+
+user's-home-directory``/glassfish7/glassfish``
+
+Installations on the Windows operating system:
+
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
+
+user's-home-directory``/glassfish7``
+
+Installations on the Windows operating system:
+
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+a|Represents the directory in which a domain's configuration is stored.
+
+In configuration files, domain-dir is represented as follows:
+
+`${com.sun.aas.instanceRoot}`
+
+|domain-root-dir``/``domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir``/``instance-name
+|===
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/title.adoc b/docs/performance-tuning-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..0514b66
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,45 @@
+type=page
+status=published
+title={productName} Performance Tuning Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Performance Tuning Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Performance Tuning Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This book describes how to get the best performance with {productName} 7.
+
+[[sthref1]]
+
+'''''
+
+{productName} Performance Tuning Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/tuning-apps.adoc b/docs/performance-tuning-guide/src/main/asciidoc/tuning-apps.adoc
new file mode 100644
index 0000000..548e810
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/tuning-apps.adoc
@@ -0,0 +1,1394 @@
+type=page
+status=published
+title=Tuning Your Application
+next=tuning-glassfish.html
+prev=overview.html
+~~~~~~
+
+= Tuning Your Application
+
+[[GSPTG00004]][[abebe]]
+
+
+[[tuning-your-application]]
+== 2 Tuning Your Application
+
+This chapter provides information on tuning applications for maximum
+performance. A complete guide to writing high performance Java and Java
+EE applications is beyond the scope of this document.
+
+The following topics are addressed here:
+
+* link:#abebf[Java Programming Guidelines]
+* link:#abebp[Java Server Page and Servlet Tuning]
+* link:#abebw[EJB Performance Tuning]
+
+[[abebf]][[GSPTG00052]][[java-programming-guidelines]]
+
+=== Java Programming Guidelines
+
+This section covers issues related to Java coding and performance. The
+guidelines outlined are not specific to {productName}, but are
+general rules that are useful in many situations. For a complete
+discussion of Java coding best practices, see the
+http://www.oracle.com/technetwork/java/javaee/blueprints/index.html[Java
+Blueprints]
+(`http://www.oracle.com/technetwork/java/javaee/blueprints/index.html`).
+
+The following topics are addressed here:
+
+* link:#abebg[Avoid Serialization and Deserialization]
+* link:#abebh[Use `StringBuilder` to Concatenate Strings]
+* link:#abebi[Assign null to Variables That Are No Longer Needed]
+* link:#abebj[Declare Methods as final Only If Necessary]
+* link:#abebk[Declare Constants as static final]
+* link:#abebl[Avoid Finalizers]
+* link:#abebm[Declare Method Arguments final]
+* link:#abebn[Synchronize Only When Necessary]
+* link:#abebo[Use DataHandlers for SOAP Attachments]
+
+[[abebg]][[GSPTG00161]][[avoid-serialization-and-deserialization]]
+
+==== Avoid Serialization and Deserialization
+
+Serialization and deserialization of objects is a CPU-intensive
+procedure and is likely to slow down your application. Use the
+`transient` keyword to reduce the amount of data serialized.
+Additionally, customized `readObject()` and `writeObject()` methods may
+be beneficial in some cases.
+
+[[abebh]][[GSPTG00162]][[use-stringbuilder-to-concatenate-strings]]
+
+==== Use `StringBuilder` to Concatenate Strings
+
+To improve performance, instead of using string concatenation, use
+`StringBuilder.append()`.
+
+String objects are immutable - that is, they never change after
+creation. For example, consider the following code:
+
+[source,java]
+----
+String str = "testing";
+str = str + "abc";
+str = str + "def";
+----
+
+The compiler translates this code as:
+
+[source,java]
+----
+String str = "testing";
+StringBuilder tmp = new StringBuilder(str);
+tmp.append("abc");
+str = tmp.toString();
+StringBulder tmp = new StringBuilder(str);
+tmp.append("def");
+str = tmp.toString();
+----
+
+This copying is inherently expensive and overusing it can reduce
+performance significantly. You are far better off writing:
+
+[source,java]
+----
+StringBuilder tmp = new StringBuilder(16);
+tmp.append("testing");
+tmp.append("abc");
+tmp.append("def");
+String str = tmp.toString();
+----
+
+[[abebi]][[GSPTG00163]][[assign-null-to-variables-that-are-no-longer-needed]]
+
+==== Assign null to Variables That Are No Longer Needed
+
+Explicitly assigning a null value to variables that are no longer needed
+helps the garbage collector to identify the parts of memory that can be
+safely reclaimed. Although Java provides memory management, it does not
+prevent memory leaks or using excessive amounts of memory.
+
+An application may induce memory leaks by not releasing object
+references. Doing so prevents the Java garbage collector from reclaiming
+those objects, and results in increasing amounts of memory being used.
+Explicitly nullifying references to variables after their use allows the
+garbage collector to reclaim memory.
+
+One way to detect memory leaks is to employ profiling tools and take
+memory snapshots after each transaction. A leak-free application in
+steady state will show a steady active heap memory after garbage
+collections.
+
+[[abebj]][[GSPTG00164]][[declare-methods-as-final-only-if-necessary]]
+
+==== Declare Methods as final Only If Necessary
+
+Modern optimizing dynamic compilers can perform inlining and other
+inter-procedural optimizations, even if Java methods are not declared
+`final`. Use the keyword `final` as it was originally intended: for
+program architecture reasons and maintainability.
+
+Only if you are absolutely certain that a method must not be overridden,
+use the `final` keyword.
+
+[[abebk]][[GSPTG00165]][[declare-constants-as-static-final]]
+
+==== Declare Constants as static final
+
+The dynamic compiler can perform some constant folding optimizations
+easily, when you declare constants as `static final` variables.
+
+[[abebl]][[GSPTG00166]][[avoid-finalizers]]
+
+==== Avoid Finalizers
+
+Adding finalizers to code makes the garbage collector more expensive and
+unpredictable. The virtual machine does not guarantee the time at which
+finalizers are run. Finalizers may not always be executed, before the
+program exits. Releasing critical resources in `finalize()` methods may
+lead to unpredictable application behavior.
+
+[[abebm]][[GSPTG00167]][[declare-method-arguments-final]]
+
+==== Declare Method Arguments final
+
+Declare method arguments `final` if they are not modified in the method.
+In general, declare all variables `final` if they are not modified after
+being initialized or set to some value.
+
+[[abebn]][[GSPTG00168]][[synchronize-only-when-necessary]]
+
+==== Synchronize Only When Necessary
+
+Do not synchronize code blocks or methods unless synchronization is
+required. Keep synchronized blocks or methods as short as possible to
+avoid scalability bottlenecks. Use the Java Collections Framework for
+unsynchronized data structures instead of more expensive alternatives
+such as `java.util.HashTable`.
+
+[[abebo]][[GSPTG00169]][[use-datahandlers-for-soap-attachments]]
+
+==== Use DataHandlers for SOAP Attachments
+
+Using a `javax.activation.DataHandler` for a SOAP attachment will
+improve performance.
+
+JAX-RPC specifies:
+
+* A mapping of certain MIME types to Java types.
+* Any MIME type is mappable to a `javax.activation.DataHandler` .
+
+As a result, send an attachment (`.gif` or XML document) as a SOAP
+attachment to an RPC style web service by utilizing the Java type
+mappings. When passing in any of the mandated Java type mappings
+(appropriate for the attachment's MIME type) as an argument for the web
+service, the JAX-RPC runtime handles these as SOAP attachments.
+
+For example, to send out an `image/gif` attachment, use
+`java.awt.Image`, or create a `DataHandler` wrapper over your image. The
+advantages of using the wrapper are:
+
+* Reduced coding: You can reuse generic attachment code to handle the
+attachments because the `DataHandler` determines the content type of the
+contained data automatically. This feature is especially useful when
+using a document style service. Since the content is known at runtime,
+there is no need to make calls to
+`attachment.setContent(stringContent, "image/gif")`, for example.
+* Improved Performance: Informal tests have shown that using
+`DataHandler` wrappers doubles throughput for `image/gif` MIME types,
+and multiplies throughput by approximately 1.5 for `text/xml` or
+`java.awt.Image` for `image/*` types.
+
+[[abebp]][[GSPTG00053]][[java-server-page-and-servlet-tuning]]
+
+=== Java Server Page and Servlet Tuning
+
+Many applications running on the {productName} use servlets or
+JavaServer Pages (JSP) technology in the presentation tier. This section
+describes how to improve performance of such applications, both through
+coding practices and through deployment and configuration settings.
+
+[[abebq]][[GSPTG00170]][[suggested-coding-practices]]
+
+==== Suggested Coding Practices
+
+This section provides some tips on coding practices that improve servlet
+and JSP application performance.
+
+The following topics are addressed here:
+
+* link:#abebr[General Guidelines]
+* link:#abebs[Avoid Shared Modified Class Variables]
+* link:#abebt[HTTP Session Handling]
+* link:#abebu[Configuration and Deployment Tips]
+
+[[abebr]][[GSPTG00082]][[general-guidelines]]
+
+===== General Guidelines
+
+Follow these general guidelines to increase performance of the
+presentation tier:
+
+* Minimize Java synchronization in servlets.
+* Do not use the single thread model for servlets.
+* Use the servlet's `init()` method to perform expensive one-time
+initialization.
+* Avoid using `System.out.println()` calls.
+
+[[abebs]][[GSPTG00083]][[avoid-shared-modified-class-variables]]
+
+===== Avoid Shared Modified Class Variables
+
+In the servlet multithread model (the default), a single instance of a
+servlet is created for each application server instance. All requests
+for a servlet on that application instance share the same servlet
+instance. This can lead to thread contention if there are
+synchronization blocks in the servlet code. Therefore, avoid using
+shared modified class variables because they create the need for synchronization.
+
+[[abebt]][[GSPTG00084]][[http-session-handling]]
+
+===== HTTP Session Handling
+
+Follow these guidelines when using HTTP sessions:
+
+* Create sessions sparingly. Session creation is not free. If a session
+is not required, do not create one.
+* Use `javax.servlet.http.HttpSession.invalidate()` to release sessions
+when they are no longer needed.
+* Keep session size small, to reduce response times. If possible, keep
+session size below 7 kilobytes.
+* Use the directive `<%page session="false"%>` in JSP files to prevent
+the {productName} from automatically creating sessions when they are
+not necessary.
+* Avoid large object graphs in an `HttpSession`. They force
+serialization and add computational overhead. Generally, do not store
+large objects as `HttpSession` variables.
+* Do not cache transaction data in an `HttpSession`. Access to data in
+an `HttpSession` is not transactional. Do not use it as a cache of
+transactional data, which is better kept in the database and accessed
+using entity beans. Transactions will rollback upon failures to their
+original state. However, stale and inaccurate data may remain in
+`HttpSession` objects. {productName} provides "read-only"
+bean-managed persistence entity beans for cached access to read-only data.
+
+[[abebu]][[GSPTG00085]][[configuration-and-deployment-tips]]
+
+===== Configuration and Deployment Tips
+
+Follow these configuration tips to improve performance. These tips are
+intended for production environments, not development environments.
+
+* To improve class loading time, avoid having excessive directories in
+the server `CLASSPATH`. Put application-related classes into JAR files.
+* HTTP response times are dependent on how the keep-alive subsystem and
+the HTTP server is tuned in general. For more information, see
+link:tuning-glassfish.html#abeet[HTTP Service Settings].
+* Cache servlet results when possible. For more information, see
+"link:application-development-guide/webapps.html#GSDVG00009[Developing Web Applications]" in {productName} Application Development Guide.
+* If an application does not contain any EJB components, deploy the
+application as a WAR file, not an EAR file.
+
+[[gfqnu]][[GSPTG00009]][[optimize-ssl]]
+
+Optimize SSL
+
+Optimize SSL by using routines in the appropriate operating system
+library for concurrent access to heap space. The library to use depends
+on the version of the Solaris Operating System (SolarisOS) that you are
+using. To ensure that you use the correct library, set the `LD_PRELOAD`
+environment variable to specify the correct library file. For more
+information, refer to the following table.
+
+[width="100%",cols="<23%,<23%,<54%",options="header",]
+|===
+|Solaris OS Version |Library |Setting of `LD_PRELOAD` Environment
+Variable
+|10 |`libumem3LIB` |`/usr/lib/libumem.so`
+
+|9 |`libmtmalloc3LIB` |`/usr/lib/libmtmalloc.so`
+|===
+
+
+To set the `LD_PRELOAD` environment variable, edit the entry for this
+environment variable in the `startserv` script. The `startserv` script
+is located is located in the `bin/startserv` directory of your domain.
+
+The exact syntax to define an environment variable depends on the shell
+that you are using.
+
+[[abebv]][[GSPTG00010]][[disable-security-manager]]
+
+Disable Security Manager
+
+The security manager is expensive because calls to required resources
+must call the `doPrivileged()` method and must also check the resource
+with the `server.policy` file. If you are sure that no malicious code
+will be run on the server and you do not use authentication within your
+application, then you can disable the security manager.
+
+See "link:application-development-guide/securing-apps.html#GSDVG00373[Enabling and Disabling the Security Manager]" in
+{productName} Application Development Guide for
+instructions on enabling or disabling the security manager. If using the
+{productName} Administration Console, navigate to the
+Configurations>configuration-name>Security node and check or uncheck the
+Security Manager option as desired. Refer to the Administration Console
+online help for more information.
+
+[[abebw]][[GSPTG00054]][[ejb-performance-tuning]]
+
+=== EJB Performance Tuning
+
+The {productName}'s high-performance EJB container has numerous
+parameters that affect performance. Individual EJB components also have
+parameters that affect performance. The value of individual EJB
+component's parameter overrides the value of the same parameter for the
+EJB container. The default values are designed for a single-processor
+computer system. Modify these values as appropriate to optimize for
+other system configurations.
+
+The following topics are addressed here:
+
+* link:#abebx[Goals]
+* link:#abeby[Monitoring EJB Components]
+* link:#abeca[General Guidelines]
+* link:#abecg[Using Local and Remote Interfaces]
+* link:#abecj[Improving Performance of EJB Transactions]
+* link:#abecs[Using Special Techniques]
+* link:#abecv[Tuning Tips for Specific Types of EJB Components]
+* link:#abedd[JDBC and Database Access]
+* link:#abedi[Tuning Message-Driven Beans]
+
+[[abebx]][[GSPTG00171]][[goals]]
+
+Goals
+^^^^^
+
+The goals of EJB performance tuning are:
+
+* Increased speed: Cache as many beans in the EJB caches as possible to
+increase speed (equivalently, decrease response time). Caching
+eliminates CPU-intensive operations. However, since memory is finite, as
+the caches become larger, housekeeping for them (including garbage
+collection) takes longer.
+* Decreased memory consumption: Beans in the pools or caches consume
+memory from the Java virtual machine heap. Very large pools and caches
+degrade performance because they require longer and more frequent
+garbage collection cycles.
+* Improved functional properties: Functional properties such as user
+timeout, commit options, security, and transaction options, are mostly
+related to the functionality and configuration of the application.
+Generally, they do not compromise functionality for performance. In some
+cases, you might be forced to make a "trade-off" decision between
+functionality and performance. This section offers suggestions in such
+cases.
+
+[[abeby]][[GSPTG00172]][[monitoring-ejb-components]]
+
+==== Monitoring EJB Components
+
+When the EJB container has monitoring enabled, you can examine
+statistics for individual beans based on the bean pool and cache
+settings.
+
+For example, the monitoring command below returns the Bean Cache
+statistics for a stateful session bean.
+
+[source]
+----
+asadmin get --user admin --host e4800-241-a --port 4848
+-m specjcmp.application.SPECjAppServer.ejb-module.
+   supplier_jar.stateful-session-bean.BuyerSes.bean-cache.*
+----
+
+The following is a sample of the monitoring output:
+
+[source]
+----
+resize-quantity = -1
+ cache-misses = 0
+ idle-timeout-in-seconds = 0
+ num-passivations = 0
+ cache-hits = 59
+ num-passivation-errors = 0
+ total-beans-in-cache = 59
+ num-expired-sessions-removed = 0
+ max-beans-in-cache = 4096
+ num-passivation-success = 0
+----
+
+The monitoring command below gives the bean pool statistics for an
+entity bean:
+
+[source]
+----
+asadmin get --user admin --host e4800-241-a --port 4848
+-m specjcmp.application.SPECjAppServer.ejb-module.
+   supplier_jar.stateful-entity-bean.ItemEnt.bean-pool.*
+idle-timeout-in-seconds = 0
+steady-pool-size = 0
+total-beans-destroyed = 0
+num-threads-waiting = 0
+num-beans-in-pool = 54
+max-pool-size = 2147483647
+pool-resize-quantity = 0
+total-beans-created = 255
+----
+
+The monitoring command below gives the bean pool statistics for a
+stateless bean.
+
+[source]
+----
+asadmin get --user admin --host e4800-241-a --port 4848
+-m test.application.testEjbMon.ejb-module.slsb.stateless-session-bean.slsb.bean-pool.*
+idle-timeout-in-seconds = 200
+steady-pool-size = 32
+total-beans-destroyed = 12
+num-threads-waiting = 0
+num-beans-in-pool = 4
+max-pool-size = 1024
+pool-resize-quantity = 12
+total-beans-created = 42
+----
+
+Tuning the bean involves charting the behavior of the cache and pool for
+the bean in question over a period of time.
+
+If too many passivations are happening and the JVM heap remains fairly
+small, then the `max-cache-size` or the `cache-idle-timeout-in-seconds`
+can be increased. If garbage collection is happening too frequently, and
+the pool size is growing, but the cache hit rate is small, then the
+`pool-idle-timeout-in-seconds` can be reduced to destroy the instances.
+
+
+[NOTE]
+====
+Specifying a `max-pool-size` of zero (0) means that the pool is
+unbounded. The pooled beans remain in memory unless they are removed by
+specifying a small interval for `pool-idle-timeout-in-seconds`. For
+production systems, specifying the pool as unbounded is NOT recommended.
+====
+
+
+[[abebz]][[GSPTG00086]][[monitoring-individual-ejb-components]]
+
+===== Monitoring Individual EJB Components
+
+To gather method invocation statistics for all methods in a bean, use
+the following command:
+
+[source]
+----
+asadmin get -m monitorableObject.*
+----
+
+where monitorableObject is a fully-qualified identifier from the
+hierarchy of objects that can be monitored, shown below.
+
+[source]
+----
+serverInstance.application.applicationName.ejb-module.moduleName
+----
+
+where moduleName is `x_jar` for module `x.jar`.
+
+* `.stateless-session-bean.beanName .bean-pool .bean-method.methodName`
+* `.stateful-session-bean.beanName .bean-cache .bean-method.methodName`
+* `.entity-bean.beanName .bean-cache .bean-pool .bean-method.methodName`
+* `.message-driven-bean.beanName .bean-pool .bean-method.methodName (methodName = onMessage)`
+
+For standalone beans, use this pattern:
+
+[source]
+----
+serverInstance.application.applicationName.standalone-ejb-module.moduleName
+----
+
+The possible identifiers are the same as for `ejb-module`.
+
+For example, to get statistics for a method in an entity bean, use this
+command:
+
+[source]
+----
+asadmin get -m serverInstance.application.appName.ejb-module.moduleName
+.entity-bean.beanName.bean-method.methodName.*
+----
+
+For more information about administering the monitoring service in
+general, see "link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
+{productName} Administration Guide. For
+information about viewing comprehensive EJB monitoring statistics, see
+"link:administration-guide/monitoring.html#GSADG00651[EJB Statistics]" in {productName} Administration Guide.
+
+To configure EJB monitoring using the {productName} Administration
+Console, navigate to the Configurations>configuration-name>Monitoring
+node. After configuring monitoring, you can view monitoring statistics
+by navigating to the server (Admin Server) node and then selecting the
+Monitor tab. Refer to the Administration Console online help for
+instructions on each of these procedures.
+
+Alternatively, to list EJB statistics, use the `asadmin list`
+subcommand. For more information, see link:reference-manual/list.html#GSRFM00145[`list`(1)].
+
+For statistics on stateful session bean passivations, use this command:
+
+[source]
+----
+asadmin get -m serverInstance.application.appName.ejb-module.moduleName
+.stateful-session-bean.beanName.bean-cache.*
+----
+
+From the attribute values that are returned, use this command:
+
+`num-passivationsnum-passivation-errorsnum-passivation-success`
+
+[[abeca]][[GSPTG00173]][[general-guidelines-1]]
+
+==== General Guidelines
+
+The following guidelines can improve performance of EJB components. Keep
+in mind that decomposing an application into many EJB components creates
+overhead and can degrade performance. EJB components are not simply Java
+objects. They are components with semantics for remote call interfaces,
+security, and transactions, as well as properties and methods.
+
+[[abecb]][[GSPTG00087]][[use-high-performance-beans]]
+
+===== Use High Performance Beans
+
+Use high-performance beans as much as possible to improve the overall
+performance of your application. For more information, see
+link:#abecv[Tuning Tips for Specific Types of EJB Components].
+
+The types of EJB components are listed below, from the highest
+performance to the lowest:
+
+1. Stateless Session Beans and Message Driven Beans
+2. Stateful Session Beans
+3. Container Managed Persistence (CMP) entity beans configured as
+read-only
+4. Bean Managed Persistence (BMP) entity beans configured as read-only
+5. CMP beans
+6. BMP beans
+
+For more information about configuring high availability session
+persistence, see "link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session
+Persistence and Failover]" in {productName} High
+Availability Administration Guide. To configure EJB beans using the
+{productName} Administration Console, navigate to the
+Configurations>configuration-name>EJB Container node and then refer to
+the Administration Console online help for detailed instructions.
+
+[[abecc]][[GSPTG00088]][[use-caching]]
+
+===== Use Caching
+
+Caching can greatly improve performance when used wisely. For example:
+
+* Cache EJB references: To avoid a JNDI lookup for every request, cache
+EJB references in servlets.
+* Cache home interfaces: Since repeated lookups to a home interface can
+be expensive, cache references to `EJBHomes` in the `init()` methods of
+servlets.
+* Cache EJB resources: Use `setSessionContext()` or `ejbCreate()` to
+cache bean resources. This is again an example of using bean lifecycle
+methods to perform application actions only once where possible.
+Remember to release acquired resources in the `ejbRemove()` method.
+
+[[abecd]][[GSPTG00089]][[use-the-appropriate-stubs]]
+
+===== Use the Appropriate Stubs
+
+The stub classes needed by EJB applications are generated dynamically at
+runtime when an EJB client needs them. This means that it is not
+necessary to generate the stubs or retrieve the client JAR file when
+deploying an application with remote EJB components. When deploying an
+application, it is no longer necessary to specify the `--retrieve`
+option, which can speed up deployment.
+
+If you have a legacy rich-client application that directly uses the
+CosNaming service (not a recommended configuration), then you must
+generate the stubs for your application explicitly using RMIC. For more
+information, see the link:troubleshooting-guide.html#GSTSG[{productName}
+Troubleshooting Guide] for more details.
+
+[[abece]][[GSPTG00090]][[remove-unneeded-stateful-session-beans]]
+
+===== Remove Unneeded Stateful Session Beans
+
+Removing unneeded stateful session beans avoids passivating them, which
+requires disk operations.
+
+[[abecf]][[GSPTG00091]][[cache-and-pool-tuning-tips]]
+
+===== Cache and Pool Tuning Tips
+
+Follow these tips when using the EJB cache and pools to improve
+performance:
+
+* Explicitly call `remove()`: Allow stateful session EJB components to
+be removed from the container cache by explicitly calling of the
+`remove()` method in the client.
+* Tune the entity EJB component's pool size: Entity Beans use both the
+EJB pool and cache settings. Tune the entity EJB component's pool size
+to minimize the creation and destruction of beans. Populating the pool
+with a non-zero steady size before hand is useful for getting better
+response for initial requests.
+* Cache bean-specific resources: Use the `setEntityContext()` method to
+cache bean specific resources and release them using the
+`unSetEntityContext()` method.
+* Load related data efficiently for container-managed relationships
+(CMRs). For more information, see link:#abedc[Pre-Fetching Container
+Managed Relationship (CMR) Beans].
+* Identify read-only beans: Configure read-only entity beans for read
+only operations. For more information, see link:#abeda[Read-Only Entity
+Beans].
+
+[[abecg]][[GSPTG00174]][[using-local-and-remote-interfaces]]
+
+==== Using Local and Remote Interfaces
+
+This section describes some considerations when EJB components are used
+by local and remote clients.
+
+[[abech]][[GSPTG00092]][[prefer-local-interfaces]]
+
+===== Prefer Local Interfaces
+
+An EJB component can have remote and local interfaces. Clients not
+located in the same application server instance as the bean (remote
+clients) use the remote interface to access the bean. Calls to the
+remote interface require marshalling arguments, transportation of the
+marshalled data over the network, un-marshaling the arguments, and
+dispatch at the receiving end. Thus, using the remote interface entails
+significant overhead.
+
+If an EJB component has a local interface, then local clients in the
+same application server instance can use it instead of the remote
+interface. Using the local interface is more efficient, since it does
+not require argument marshalling, transportation, and un-marshalling.
+
+If a bean is to be used only by local clients then it makes sense to
+provide only the local interface. If, on the other hand, the bean is to
+be location-independent, then you should provide both the remote and
+local interfaces so that remote clients use the remote interface and
+local clients can use the local interface for efficiency.
+
+[[abeci]][[GSPTG00093]][[using-pass-by-reference-semantics]]
+
+===== Using Pass-By-Reference Semantics
+
+By default, the {productName} uses pass-by-value semantics for
+calling the remote interface of a bean, even if it is co-located. This
+can be expensive, since clients using pass-by-value semantics must copy
+arguments before passing them to the EJB component.
+
+However, local clients can use pass-by-reference semantics and thus the
+local and remote interfaces can share the passed objects. But this means
+that the argument objects must be implemented properly, so that they are
+shareable. In general, it is more efficient to use pass-by-reference
+semantics when possible.
+
+Using the remote and local interfaces appropriately means that clients
+can access EJB components efficiently. That is, local clients use the
+local interface with pass-by-reference semantics, while remote clients
+use the remote interface with pass-by-value semantics.
+
+However, in some instances it might not be possible to use the local
+interface, for example when:
+
+* The application predates the EJB 2.0 specification and was written
+without any local interfaces.
+* There are bean-to-bean calls and the client beans are written without
+making any co-location assumptions about the called beans.
+
+For these cases, the {productName} provides a pass-by-reference
+option that clients can use to pass arguments by reference to the remote
+interface of a co-located EJB component.
+
+You can specify the pass-by-reference option for an entire application
+or a single EJB component. When specified at the application level, all
+beans in the application use pass-by-reference semantics when passing
+arguments to their remote interfaces. When specified at the bean level,
+all calls to the remote interface of the bean use pass-by-reference
+semantics. See "link:application-development-guide/ejb.html#GSDVG00145[Value Added Features]" in {productName} Application Development Guide for more
+details about the pass-by-reference flag.
+
+To specify that an EJB component will use pass by reference semantics,
+use the following tag in the `sun-ejb-jar.xml` deployment descriptor:
+
+[source,xml]
+----
+<pass-by-reference>true</pass-by-reference>
+----
+
+This avoids copying arguments when the EJB component's methods are
+invoked and avoids copying results when methods return. However,
+problems will arise if the data is modified by another source during the
+invocation.
+
+[[abecj]][[GSPTG00175]][[improving-performance-of-ejb-transactions]]
+
+==== Improving Performance of EJB Transactions
+
+This section provides some tips to improve performance when using
+transactions.
+
+The following topics are addressed here:
+
+* link:#abeck[Use Container-Managed Transactions]
+* link:#abecl[Do Not Encompass User Input Time]
+* link:#abecm[Identify Non-Transactional Methods]
+* link:#abecn[Use `TX_REQUIRED` for Long Transaction Chains]
+* link:#abeco[Use Lowest Cost Database Locking]
+* link:#abecp[Use XA-Capable Data Sources Only When Needed]
+* link:#abecq[Configure JDBC Resources as One-Phase Commit Resources]
+* link:#abecr[Use the Least Expensive Transaction Attribute]
+
+[[abeck]][[GSPTG00094]][[use-container-managed-transactions]]
+
+===== Use Container-Managed Transactions
+
+Container-managed transactions are preferred for consistency, and
+provide better performance.
+
+[[abecl]][[GSPTG00095]][[do-not-encompass-user-input-time]]
+
+===== Do Not Encompass User Input Time
+
+To avoid resources being held unnecessarily for long periods, a
+transaction should not encompass user input or user think time.
+
+[[abecm]][[GSPTG00096]][[identify-non-transactional-methods]]
+
+===== Identify Non-Transactional Methods
+
+Declare non-transactional methods of session EJB components with
+`NotSupported` or `Never` transaction attributes. These attributes can
+be found in the `ejb-jar.xml` deployment descriptor file. Transactions
+should span the minimum time possible since they lock database rows.
+
+[[abecn]][[GSPTG00097]][[use-tx_required-for-long-transaction-chains]]
+
+===== Use `TX_REQUIRED` for Long Transaction Chains
+
+For very large transaction chains, use the transaction attribute
+`TX_REQUIRED.` To ensure EJB methods in a call chain, use the same
+transaction.
+
+[[abeco]][[GSPTG00098]][[use-lowest-cost-database-locking]]
+
+===== Use Lowest Cost Database Locking
+
+Use the lowest cost locking available from the database that is
+consistent with any transaction. Commit the data after the transaction
+completes rather than after each method call.
+
+[[abecp]][[GSPTG00099]][[use-xa-capable-data-sources-only-when-needed]]
+
+===== Use XA-Capable Data Sources Only When Needed
+
+When multiple database resources, connector resources or JMS resources
+are involved in one transaction, a distributed or global transaction
+needs to be performed. This requires XA capable resource managers and
+data sources. Use XA capable data sources, only when two or more data
+source are going to be involved in a transaction. If a database
+participates in some distributed transactions, but mostly in local or
+single database transactions, it is advisable to register two separate
+JDBC resources and use the appropriate resource in the application.
+
+[[abecq]][[GSPTG00100]][[configure-jdbc-resources-as-one-phase-commit-resources]]
+
+===== Configure JDBC Resources as One-Phase Commit Resources
+
+To improve performance of transactions involving multiple resources, the
+{productName} uses last agent optimization (LAO), which allows the
+configuration of one of the resources in a distributed transaction as a
+one-phase commit (1PC) resource. Since the overhead of multiple-resource
+transactions is much higher for a JDBC resource than a message queue,
+LAO substantially improves performance of distributed transactions
+involving one JDBC resource and one or more message queues. To take
+advantage of LAO, configure a JDBC resource as a 1PC resource. Nothing
+special needs to be done to configure JMS resources.
+
+In global transactions involving multiple JDBC resources, LAO will still
+improve performance, however, not as much as for one JDBC resource. In
+this situation, one of the JDBC resources should be configured as 1PC,
+and all others should be configured as XA.
+
+[[abecr]][[GSPTG00101]][[use-the-least-expensive-transaction-attribute]]
+
+===== Use the Least Expensive Transaction Attribute
+
+Set the following transaction attributes in the EJB deployment
+descriptor file (`ejb-jar.xml`). Options are listed from best
+performance to worst. To improve performance, choose the least expensive
+attribute that will provide the functionality your application needs:
+
+1. `NEVER`
+2. `TX_NOTSUPPORTED`
+3. `TX_MANDATORY`
+4. `TX_SUPPORTS`
+5. `TX_REQUIRED`
+6. `TX_REQUIRESNEW`
+
+[[abecs]][[GSPTG00176]][[using-special-techniques]]
+
+==== Using Special Techniques
+
+Special performance-enhancing techniques are discussed in the following
+sections:
+
+* link:#abect[Version Consistency]
+* link:#abecu[Request Partitioning]
+
+[[abect]][[GSPTG00102]][[version-consistency]]
+
+===== Version Consistency
+
+
+[NOTE]
+====
+The technique in section applies only to the EJB 2.1 architecture. In
+the EJB 3.0 architecture, use the Java Persistence API (JPA).
+====
+
+
+Use version consistency to improve performance while protecting the
+integrity of data in the database. Since the application server can use
+multiple copies of an EJB component simultaneously, an EJB component's
+state can potentially become corrupted through simultaneous access.
+
+The standard way of preventing corruption is to lock the database row
+associated with a particular bean. This prevents the bean from being
+accessed by two simultaneous transactions and thus protects data.
+However, it also decreases performance, since it effectively serializes
+all EJB access.
+
+Version consistency is another approach to protecting EJB data
+integrity. To use version consistency, you specify a column in the
+database to use as a version number. The EJB lifecycle then proceeds
+like this:
+
+* The first time the bean is used, the `ejbLoad()` method loads the bean
+as normal, including loading the version number from the database.
+* The `ejbStore()` method checks the version number in the database
+versus its value when the EJB component was loaded.
+
+** If the version number has been modified, it means that there has been
+simultaneous access to the EJB component and `ejbStore()` throws a
+`ConcurrentModificationException`.
+
+** Otherwise, `ejbStore()` stores the data and completes as normal.
++
+The `ejbStore()` method performs this validation at the end of the
+transaction regardless of whether any data in the bean was modified.
+
+Subsequent uses of the bean behave similarly, except that the
+`ejbLoad()` method loads its initial data (including the version number)
+from an internal cache. This saves a trip to the database. When the
+`ejbStore()` method is called, the version number is checked to ensure
+that the correct data was used in the transaction.
+
+Version consistency is advantageous when you have EJB components that
+are rarely modified, because it allows two transactions to use the same
+EJB component at the same time. Because neither transaction modifies the
+data, the version number is unchanged at the end of both transactions,
+and both succeed. But now the transactions can run in parallel. If two
+transactions occasionally modify the same EJB component, one will
+succeed and one will fail and can be retried using the new values—which
+can still be faster than serializing all access to the EJB component if
+the retries are infrequent enough (though now your application logic has
+to be prepared to perform the retry operation).
+
+To use version consistency, the database schema for a particular table
+must include a column where the version can be stored. You then specify
+that table in the `sun-cmp-mapping.xml` deployment descriptor for a
+particular bean:
+
+[source,xml]
+----
+<entity-mapping>
+    <cmp-field-mapping>
+        ...
+    </cmp-field-mapping>
+    <consistency>
+        <check-version-of-accessed-instances>
+            <column-name>OrderTable.VC_VERSION_NUMBER</column-name>
+        </check-version-of-accessed-instances>
+    </consistency>
+</entity-mapping>
+----
+
+In addition, you must establish a trigger on the database to
+automatically update the version column when data in the specified table
+is modified. The {productName} requires such a trigger to use version
+consistency. Having such a trigger also ensures that external
+applications that modify the EJB data will not conflict with EJB
+transactions in progress.
+
+For example, the following DDL illustrates how to create a trigger for
+the `Order` table:
+
+[source,sql]
+----
+CREATE TRIGGER OrderTrigger
+  BEFORE UPDATE ON OrderTable
+  FOR EACH ROW
+  WHEN (new.VC_VERSION_NUMBER = old.VC_VERSION_NUMBER)
+  DECLARE
+  BEGIN
+    :NEW.VC_VERSION_NUMBER := :OLD.VC_VERSION_NUMBER + 1;
+  END;
+----
+
+[[abecu]][[GSPTG00103]][[request-partitioning]]
+
+===== Request Partitioning
+
+Request partitioning enables you to assign a request priority to an EJB
+component. This gives you the flexibility to make certain EJB components
+execute with higher priorities than others.
+
+An EJB component which has a request priority assigned to it will have
+its requests (services) executed within an assigned threadpool. By
+assigning a threadpool to its execution, the EJB component can execute
+independently of other pending requests. In short, request partitioning
+enables you to meet service-level agreements that have differing levels
+of priority assigned to different services.
+
+Request partitioning applies only to remote EJB components (those that
+implement a remote interface). Local EJB components are executed in
+their calling thread (for example, when a servlet calls a local bean,
+the local bean invocation occurs on the servlet's thread).
+
+[[gacmw]][[GSPTG00037]][[to-enable-request-partitioning]]
+
+To Enable Request Partitioning
+
+Follow this procedure.
+
+1. Configure additional threadpools for EJB execution.
++
+Using the {productName} Administration Console, navigate to the
+Configurations>configuration-name>Thread Pools node.
+Refer to the Administration Console online help for more information.
+Alternatively, you can follow the instructions in
+"link:administration-guide/threadpools.html#GSADG00008[
+Administering Thread Pools]" in {productName} Administration Guide.
++
+Configure the threadpools as follows:
+[arabic]
+.. Add the additional threadpool IDs to the {productName}'s ORB.
++
+This can be done on the Configurations>configuration-name>ORB node in
+the Administration Console.
++
+For example, enable threadpools named `priority-1` and `priority-2` to
+the `<orb>` element as follows:
++
+[source,xml]
+----
+<orb max-connections="1024" message-fragment-size="1024"
+    use-thread-pool-ids="thread-pool-1,priority-1,priority-2">
+----
+
+.. Include the threadpool ID in the `use-thread-pool-id` element of the
+EJB component's `sun-ejb-jar.xml` deployment descriptor.
++
+For example, the following `sun-ejb-jar.xml` deployment descriptor for
+an EJB component named "`TheGreeter`" is assigned to a thread pool named `priority-2`:
++
+[source,xml]
+----
+<sun-ejb-jar>
+  <enterprise-beans>
+    <unique-id>1</unique-id>
+    <ejb>
+      <ejb-name>TheGreeter</ejb-name>
+      <jndi-name>greeter</jndi-name>
+      <use-thread-pool-id>priority-1</use-thread-pool-id>
+    </ejb>
+  </enterprise-beans>
+</sun-ejb-jar>
+----
+
+2. Restart the {productName}.
+
+[[abecv]][[GSPTG00177]][[tuning-tips-for-specific-types-of-ejb-components]]
+
+==== Tuning Tips for Specific Types of EJB Components
+
+This section provides tips for tuning various specific types of EJB components:
+
+* link:#abecw[Entity Beans]
+* link:#abecx[Stateful Session Beans]
+* link:#abecz[Stateless Session Beans]
+* link:#abeda[Read-Only Entity Beans]
+* link:#abedc[Pre-Fetching Container Managed Relationship (CMR) Beans]
+
+These components can all be configured in the {productName}
+Administration Console from the Configurations>configuration-name>EJB
+Container node. Alternatively, you can perform these configurations by
+following the instructions in "link:ha-administration-guide/rmi-iiop.html#GSHAG00013[
+RMI-IIOP Load Balancing and Failover]"
+in {productName} High Availability Administration Guide.
+
+[[abecw]][[GSPTG00104]][[entity-beans]]
+
+===== Entity Beans
+
+Depending on the usage of a particular entity bean, one should tune
+`max-cache-size` so that the beans that are used less frequently (for
+example, an order that is created and never used after the transaction
+is over) are cached less, and beans that are used frequently (for
+example, an item in the inventory that gets referenced very often), are
+cached more.
+
+[[abecx]][[GSPTG00105]][[stateful-session-beans]]
+
+===== Stateful Session Beans
+
+When a stateful bean represents a user, a reasonable `max-cache-size` of
+beans is the expected number of concurrent users on the application
+server process. If this value is too low (in relation to the steady load
+of users), beans would be frequently passivated and activated, causing a
+negative impact on the response times, due to CPU intensive
+serialization and deserialization as well as disk I/O.
+
+Another important variable for tuning is `cache-idle-timeout-in-seconds`
+where at periodic intervals of `cache-idle-timeout-in-seconds`, all the
+beans in the cache that have not been accessed for more than
+`cache-idle-timeout-in-seconds` time, are passivated. Similar to an HTTP
+session timeout, the bean is removed after it has not been accessed for
+`removal-timeout-in-seconds`. Passivated beans are stored on disk in
+serialized form. A large number of passivated beans could not only mean
+many files on the disk system, but also slower response time as the
+session state has to be de-serialized before the invocation.
+
+[[abecy]][[GSPTG00011]][[checkpoint-only-when-needed]]
+
+Checkpoint only when needed
+
+In high availability mode, when using stateful session beans, consider
+checkpointing only those methods that alter the state of the bean
+significantly. This reduces the number of times the bean state has to be
+checkpointed into the persistent store.
+
+[[abecz]][[GSPTG00106]][[stateless-session-beans]]
+
+===== Stateless Session Beans
+
+Stateless session beans are more readily pooled than entity or the
+stateful session beans. Valid values for `steady-pool-size`,
+`pool-resize-quantity` and `max-pool-size` are the best tunables for
+these type of beans. Set the `steady-pool-size` to greater than zero if
+you want to pre-populate the pool. This way, when the container comes
+up, it creates a pool with `steady-pool-size` number of beans. By
+pre-populating the pool it is possible to avoid the object creation time
+during method invocations.
+
+Setting the `steady-pool size` to a very large value can cause unwanted
+memory growth and can result in large garbage collection times.
+`pool-resize-quantity` determines the rate of growth as well as the rate
+of decay of the pool. Setting it to a small value is better as the decay
+behaves like an exponential decay. Setting a small `max-pool-size` can
+cause excessive object destruction (and as a result excessive object
+creation) as instances are destroyed from the pool if the current pool
+size exceeds `max-pool-size`.
+
+[[abeda]][[GSPTG00107]][[read-only-entity-beans]]
+
+===== Read-Only Entity Beans
+
+Read-only entity beans cache data from the database. {productName}
+supports read-only beans that use both bean-managed persistence (BMP)
+and container-managed persistence (CMP). Of the two types, CMP read-only
+beans provide significantly better performance. In the EJB lifecycle,
+the EJB container calls the `ejbLoad()` method of a read-only bean once.
+The container makes multiple copies of the EJB component from that data,
+and since the beans do not update the database, the container never
+calls the `ejbStore()` method. This greatly reduces database traffic for
+these beans.
+
+If there is a bean that never updates the database, use a read-only bean
+in its place to improve performance. A read-only bean is appropriate if
+either:
+
+* Database rows represented by the bean do not change.
+* The application can tolerate using out-of-date values for the bean.
+
+For example, an application might use a read-only bean to represent a
+list of best-seller books. Although the list might change occasionally
+in the database (say, from another bean entirely), the change need not
+be reflected immediately in an application.
+
+The `ejbLoad()` method of a read-only bean is handled differently for
+CMP and BMP beans. For CMP beans, the EJB container calls `ejbLoad()`
+only once to load the data from the database; subsequent uses of the
+bean just copy that data. For BMP beans, the EJB container calls
+`ejbLoad()` the first time a bean is used in a transaction. Subsequent
+uses of that bean within the transaction use the same values. The
+container calls `ejbLoad()` for a BMP bean that doesn't run within a
+transaction every time the bean is used. Therefore, read-only BMP beans
+still make a number of calls to the database.
+
+To create a read-only bean, add the following to the EJB deployment
+descriptor `sun-ejb-jar.xml`:
+
+[source,xml]
+----
+<is-read-only-bean>true</is-read-only-bean>
+<refresh-period-in-seconds>600</refresh-period-in-seconds>
+----
+
+[[abedb]][[GSPTG00012]][[refresh-period]]
+
+Refresh Period
+
+An important parameter for tuning read-only beans is the refresh period,
+represented by the deployment descriptor entity
+`refresh-period-in-seconds`. For CMP beans, the first access to a bean
+loads the bean's state. The first access after the refresh period
+reloads the data from the database. All subsequent uses of the bean uses
+the newly refreshed data (until another refresh period elapses). For BMP
+beans, an `ejbLoad()` method within an existing transaction uses the
+cached data unless the refresh period has expired (in which case, the
+container calls `ejbLoad()` again).
+
+This parameter enables the EJB component to periodically refresh its
+"snapshot" of the database values it represents. If the refresh period
+is less than or equal to 0, the bean is never refreshed from the
+database (the default behavior if no refresh period is given).
+
+[[abedc]][[GSPTG00108]][[pre-fetching-container-managed-relationship-cmr-beans]]
+
+===== Pre-Fetching Container Managed Relationship (CMR) Beans
+
+If a container-managed relationship (CMR) exists in your application,
+loading one bean will load all its related beans. The canonical example
+of CMR is an order-orderline relationship where you have one `Order` EJB
+component that has related `OrderLine` EJB components. In previous
+releases of the application server, to use all those beans would require
+multiple database queries: one for the `Order` bean and one for each of
+the `OrderLine` beans in the relationship.
+
+In general, if a bean has n relationships, using all the data of the
+bean would require n+1 database accesses. Use CMR pre-fetching to
+retrieve all the data for the bean and all its related beans in one
+database access.
+
+For example, you have this relationship defined in the `ejb-jar.xml`
+file:
+
+[source,xml]
+----
+<relationships>
+    <ejb-relation>
+        <description>Order-OrderLine</description>
+        <ejb-relation-name>Order-OrderLine</ejb-relation-name>
+        <ejb-relationship-role>
+            <ejb-relationship-role-name>
+                Order-has-N-OrderLines
+            </ejb-relationship-role-name>
+            <multiplicity>One</multiplicity>
+            <relationship-role-source>
+                <ejb-name>OrderEJB</ejb-name>
+            </relationship-role-source>
+            <cmr-field>
+                <cmr-field-name>orderLines</cmr-field-name>
+                <cmr-field-type>java.util.Collection</cmr-field-type>
+            </cmr-field>
+        </ejb-relationship-role>
+    </ejb-relation>
+</relationships>
+----
+
+When a particular `Order` is loaded, you can load its related
+`OrderLines` by adding this to the `sun-cmp-mapping.xml` file for the
+application:
+
+[source,xml]
+----
+<entity-mapping>
+    <ejb-name>Order</ejb-name>
+    <table-name>...</table-name>
+    <cmp-field-mapping>...</cmp-field-mapping>
+    <cmr-field-mapping>
+        <cmr-field-name>orderLines</cmr-field-name>
+        <column-pair>
+            <column-name>OrderTable.OrderID</column-name>
+            <column-name>OrderLineTable.OrderLine_OrderID</column-name>
+        </column-pair>
+        <fetched-with>
+            <default>
+        </fetched-with>
+    </cmr-field-mapping>
+</entity-mappping>
+----
+
+Now when an `Order` is retrieved, the CMP engine issues SQL to retrieve
+all related `OrderLines` with a `SELECT` statement that has the
+following `WHERE` clause:
+
+[source,sql]
+----
+OrderTable.OrderID = OrderLineTable.OrderLine_OrderID
+----
+
+This clause indicates an outer join. These `OrderLines` are pre-fetched.
+
+Pre-fetching generally improves performance because it reduces the
+number of database accesses. However, if the business logic often uses
+`Orders` without referencing their `OrderLines`, then this can have a
+performance penalty, that is, the system has spent the effort to
+pre-fetch the `OrderLines` that are not actually needed.
+
+Avoid pre-fetching for specific finder methods; this can often avoid
+that penalty. For example, consider an order bean has two finder
+methods: a `findByPrimaryKey` method that uses the `Orderlines`, and a
+`findByCustomerId` method that returns only order information and
+therefore does not use the `Orderlines`. If you have enabled CMR
+pre-fetching for the `Orderlines`, both finder methods will pre-fetch
+the `Orderlines`. However, you can prevent pre-fetching for the
+`findByCustomerId` method by including this information in the
+`sun-ejb-jar.xml` descriptor:
+
+[source,xml]
+----
+<ejb>
+    <ejb-name>OrderBean</ejb-name>
+    ...
+    <cmp>
+        <prefetch-disabled>
+            <query-method>
+                <method-name>findByCustomerId</method-name>
+            </query-method>
+        </prefetch-disabled>
+     </cmp>
+</ejb>
+----
+
+[[abedd]][[GSPTG00178]][[jdbc-and-database-access]]
+
+==== JDBC and Database Access
+
+The following are some tips to improve the performance of database
+access:
+
+* link:#abede[Use JDBC Directly]
+* link:#abedf[Encapsulate Business Logic in Entity EJB Components]
+* link:#abedg[Close Connections]
+* link:#abedh[Minimize the Database Transaction Isolation Level]
+
+[[abede]][[GSPTG00109]][[use-jdbc-directly]]
+
+===== Use JDBC Directly
+
+When dealing with large amounts of data, such as searching a large
+database, use JDBC directly rather than using Entity EJB components.
+
+[[abedf]][[GSPTG00110]][[encapsulate-business-logic-in-entity-ejb-components]]
+
+===== Encapsulate Business Logic in Entity EJB Components
+
+Combine business logic with the Entity EJB component that holds the data
+needed for that logic to process.
+
+[[abedg]][[GSPTG00111]][[close-connections]]
+
+===== Close Connections
+
+To ensure that connections are returned to the pool, always close the
+connections after use.
+
+[[abedh]][[GSPTG00112]][[minimize-the-database-transaction-isolation-level]]
+
+===== Minimize the Database Transaction Isolation Level
+
+Use the default isolation level provided by the JDBC driver rather than
+calling `setTransactionIsolationLevel()`, unless you are certain that
+your application behaves correctly and performs better at a different
+isolation level.
+
+Reduce the database transaction isolation level when appropriate.
+Reduced isolation levels reduce work in the database tier, and could
+lead to better application performance. However, this must be done after
+carefully analyzing the database table usage patterns.
+
+To set the database transaction isolation level using the {productName} Administration Console, navigate to the Resources>JDBC>JDBC
+Connection Pools>pool-name node. Refer to the Administration Console
+online help for complete instructions. Alternatively, follow the
+instructions in "link:administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]"
+in {productName} Administration Guide. For more
+information on tuning JDBC connection pools, see
+link:tuning-glassfish.html#abehq[JDBC Connection Pool Settings].
+
+[[abedi]][[GSPTG00179]][[tuning-message-driven-beans]]
+
+==== Tuning Message-Driven Beans
+
+This section provides some tips to improve performance when using JMS
+with message-driven beans (MDBs).
+
+[[abedj]][[GSPTG00113]][[use-getconnection]]
+
+===== Use `getConnection()`
+
+JMS connections are served from a connection pool. This means that
+calling `getConnection()` on a Queue connection factory is fast.
+
+[[abedk]][[GSPTG00114]][[tune-the-message-driven-beans-pool-size]]
+
+===== Tune the Message-Driven Bean's Pool Size
+
+The container for message-driven beans (MDB) is different than the
+containers for entity and session beans. In the MDB container, sessions
+and threads are attached to the beans in the MDB pool. This design makes
+it possible to pool the threads for executing message-driven requests in
+the container.
+
+Tune the Message-Driven bean's pool size to optimize the concurrent
+processing of messages. Set the size of the MDB pool to, based on all
+the parameters of the server (taking other applications into account).
+For example, a value greater than 500 is generally too large.
+
+To configure MDB pool settings in the {productName} Administration
+Console, navigate to the Configurations>configuration-name>EJB Container
+node and then select the MDB Settings tab. Refer to the Administration
+Console online help for more information. Alternatively, you can set the
+MDB pool size by using the following `asadmin set` subcommand:
+
+[source]
+----
+asadmin set server.mdb-container.max-pool-size = value
+----
+
+[[abedl]][[GSPTG00115]][[cache-bean-specific-resources]]
+
+===== Cache Bean-Specific Resources
+
+Use the `setMessageDrivenContext()` or `ejbCreate()` method to cache
+bean specific resources, and release those resources from the
+`ejbRemove()` method.
+
+[[abedm]][[GSPTG00116]][[limit-use-of-jms-connections]]
+
+===== Limit Use of JMS Connections
+
+When designing an application that uses JMS connections make sure you
+use a methodology that sparingly uses connections, by either pooling
+them or using the same connection for multiple sessions.
+
+The JMS connection uses two threads and the sessions use one thread
+each. Since these threads are not taken from a pool and the resultant
+objects aren't pooled, you could run out of memory during periods of
+heavy usage.
+
+One workaround is to move `createTopicConnection` into the `init` of the
+servlet.
+
+Make sure to specifically close the session, or it will stay open, which
+ties up resources.
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/tuning-glassfish.adoc b/docs/performance-tuning-guide/src/main/asciidoc/tuning-glassfish.adoc
new file mode 100644
index 0000000..92ea382
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/tuning-glassfish.adoc
@@ -0,0 +1,1904 @@
+type=page
+status=published
+title=Tuning the {productName}
+next=tuning-java.html
+prev=tuning-apps.html
+~~~~~~
+
+= Tuning the {productName}
+
+[[GSPTG00005]][[abedn]]
+
+
+[[tuning-the-glassfish-server]]
+== 3 Tuning the {productName}
+
+This chapter describes some ways to tune your {productName}
+installation for optimum performance.
+
+Note that while this chapter describes numerous interactions with both
+the {productName} Administration Console and the command-line
+interface, it is not intended to provide exhaustive descriptions of
+either. For complete information about using the Administration Console,
+refer to the Administration Console online help. For complete
+information about using the {productName} command-line interface,
+refer to the other titles in the {productName} documentation set at
+`http://docs.oracle.com/docs/cd/E18930_01/index.html`.
+
+The following topics are addressed here:
+
+* link:#gkxwm[Using the {productName} Performance Tuner]
+* link:#abedo[Deployment Settings]
+* link:#abeds[Logger Settings]
+* link:#abedw[Web Container Settings]
+* link:#abeea[EJB Container Settings]
+* link:#abeel[Java Message Service Settings]
+* link:#abeem[Transaction Service Settings]
+* link:#abeet[HTTP Service Settings]
+* link:#abegk[Network Listener Settings]
+* link:#gkxjt[Transport Settings]
+* link:#abehk[Thread Pool Settings]
+* link:#abegt[ORB Settings]
+* link:#abehp[Resource Settings]
+* link:#gkxvd[Load Balancer Settings]
+
+[[gkxwm]][[GSPTG00055]][[using-the-glassfish-server-performance-tuner]]
+
+=== Using the {productName} Performance Tuner
+
+You can significantly improve the performance of {productName} and
+the applications deployed on it by adjusting a few deployment and server
+configuration settings. These changes can be made manually, as described
+in this chapter, or by using the built-in Performance Tuner in the
+{productName} Administration Console.
+
+The Performance Tuner recommends server settings to suit the needs of
+your {productName} deployment. It helps you reach an optimal
+configuration, although finer tuning might be needed in case of specific
+requirements. You can configure performance tuning for the entire
+domain, or for individual {productName} instances or clusters. The
+Tuner performs a static analysis of {productName} resources and
+throughput requirements. Note that no dynamic inspection of the system
+is performed.
+
+For complete information about using the Performance Tuning features
+available through the {productName} Administration Console, refer to
+the Administration Console online help. You may also want to refer to
+the following resources for additional information:
+
+* To view a demonstration video showing how to use the {productName}
+Performance Tuner, see the
+http://www.youtube.com/watch?v=FavsE2pzAjc[{productName} 3.1 -
+Performance Tuner demo] (`http://www.youtube.com/watch?v=FavsE2pzAjc`).
+* To find additional Performance Tuning development information, see the
+http://blogs.oracle.com/jenblog/entry/performance_tuner_in_oracle_glassfish[Performance
+Tuner in {productName} 3.1]
+(`http://blogs.oracle.com/jenblog/entry/performance_tuner_in_oracle_glassfish`)
+blog.
+
+[[abedo]][[GSPTG00056]][[deployment-settings]]
+
+=== Deployment Settings
+
+Deployment settings can have significant impact on performance. Follow
+these guidelines when configuring deployment settings for best
+performance:
+
+* link:#abedp[Disable Auto-Deployment]
+* link:#abedq[Use Pre-compiled JavaServer Pages]
+* link:#abedr[Disable Dynamic Application Reloading]
+
+[[abedp]][[GSPTG00180]][[disable-auto-deployment]]
+
+==== Disable Auto-Deployment
+
+Enabling auto-deployment will adversely affect deployment, though it is
+a convenience in a development environment. For a production system,
+disable auto-deploy to optimize performance. If auto-deployment is
+enabled, then the Reload Poll Interval setting can have a significant
+performance impact.
+
+To enable or disable auto-deployment from the {productName}
+Administration Console, navigate to the Domain node and then click the
+Applications Configuration tab. Refer to the Administration Console for
+further instructions. Alternatively, refer to "link:application-deployment-guide/deploying-applications.html#GSDPG00041[To
+Deploy an Application or Module Automatically]" in {productName} Application Deployment Guide for instructions on enabling
+or disabling auto-deployment.
+
+[[abedq]][[GSPTG00181]][[use-pre-compiled-javaserver-pages]]
+
+==== Use Pre-compiled JavaServer Pages
+
+Compiling JSP files is resource intensive and time consuming.
+Pre-compiling JSP files before deploying applications on the server will
+improve application performance. When you do so, only the resulting
+servlet class files will be deployed.
+
+You can specify to precompile JSP files when you deploy an application
+through the Administration Console or `deploy` subcommand. You can also
+specify to pre-compile JSP files for a deployed application with the
+Administration Console. Navigate to the Domain node and then click the
+Applications Configuration tab. Refer to the Administration Console for
+further instructions.
+
+[[abedr]][[GSPTG00182]][[disable-dynamic-application-reloading]]
+
+==== Disable Dynamic Application Reloading
+
+If dynamic reloading is enabled, the server periodically checks for
+changes in deployed applications and automatically reloads the
+application with the changes. Dynamic reloading is intended for
+development environments and is also incompatible with session
+persistence. To improve performance, disable dynamic class reloading.
+
+You can use the Administration Console to disable dynamic class
+reloading for an application that is already deployed. Navigate to the
+Domain node and then click the Applications Configuration tab. Refer to
+the Administration Console for further instructions.
+
+[[abeds]][[GSPTG00057]][[logger-settings]]
+
+=== Logger Settings
+
+The {productName} produces writes log messages and exception stack
+trace output to the log file in the logs directory of the instance,
+domain-dir``/logs``. The volume of log activity can impact server
+performance; particularly in benchmarking situations.
+
+[[abedt]][[GSPTG00183]][[general-settings]]
+
+==== General Settings
+
+In general, writing to the system log slows down performance slightly;
+and increased disk access (increasing the log level, decreasing the file
+rotation limit or time limit) also slows down the application.
+
+Also, make sure that any custom log handler does not log to a slow
+device like a network file system since this can adversely affect
+performance.
+
+[[abedu]][[GSPTG00184]][[log-levels]]
+
+==== Log Levels
+
+Set the log level for the server and its subsystems in the {productName} Administration Console. Navigate to the
+Configurations>configuration-name>Logger Settings page, and follow the
+instructions in the online help. Alternatively, you can configure
+logging by following the instructions in "link:administration-guide/logging.html#GSADG00010[Administering
+the Logging Service]" in {productName}
+Administration Guide.
+
+[[abedw]][[GSPTG00058]][[web-container-settings]]
+
+=== Web Container Settings
+
+Set Web container settings in the {productName} Administration
+Console by navigating to the Configurations>configuration-name>Web
+Container node. Follow the instructions in the online help for more
+information. Alternatively, you can configure Web container settings by
+following the instructions in "link:administration-guide/webapps.html#GSADG00009[Administering Web
+Applications]" in {productName} Administration
+Guide.
+
+* link:#abedx[Session Properties: Session Timeout]
+* link:#abedy[Manager Properties: Reap Interval]
+* link:#abedz[Disable Dynamic JSP Reloading]
+
+[[abedx]][[GSPTG00185]][[session-properties-session-timeout]]
+
+==== Session Properties: Session Timeout
+
+Session timeout determines how long the server maintains a session if a
+user does not explicitly invalidate the session. The default value is 30
+minutes. Tune this value according to your application requirements.
+Setting a very large value for session timeout can degrade performance
+by causing the server to maintain too many sessions in the session
+store. However, setting a very small value can cause the server to
+reclaim sessions too soon.
+
+[[abedy]][[GSPTG00186]][[manager-properties-reap-interval]]
+
+==== Manager Properties: Reap Interval
+
+Modifying the reap interval can improve performance, but setting it
+without considering the nature of your sessions and business logic can
+cause data inconsistency, especially for time-based
+persistence-frequency.
+
+For example, if you set the reap interval to 60 seconds, the value of
+session data will be recorded every 60 seconds. But if a client accesses
+a servlet to update a value at 20 second increments, then
+inconsistencies will result.
+
+For example, consider the following online auction scenario:
+
+* Bidding starts at $5, in 60 seconds the value recorded will be $8
+(three 20 second intervals).
+* During the next 40 seconds, the client starts incrementing the price.
+The value the client sees is $10.
+* During the client's 20 second rest, the {productName} stops and
+starts in 10 seconds. As a result, the latest value recorded at the 60
+second interval ($8) is be loaded into the session.
+* The client clicks again expecting to see $11; but instead sees is $9,
+which is incorrect.
+* So, to avoid data inconsistencies, take into the account the expected
+behavior of the application when adjusting the reap interval.
+
+[[abedz]][[GSPTG00187]][[disable-dynamic-jsp-reloading]]
+
+==== Disable Dynamic JSP Reloading
+
+On a production system, improve web container performance by disabling
+dynamic JSP reloading. To do so, edit the `default-web.xml` file in the
+`config` directory for each instance. Change the servlet definition for
+a JSP file to look like this:
+
+[source,xml]
+----
+<servlet>
+  <servlet-name>jsp</servlet-name>
+  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+  <init-param>
+    <param-name>development</param-name>
+    <param-value>false</param-value>
+  </init-param>
+  <init-param>
+    <param-name>xpoweredBy</param-name>
+    <param-value>true</param-value>
+  </init-param>
+  <init-param>
+    <param-name>genStrAsCharArray</param-name>
+    <param-value>true</param-value>
+  </init-param>  <load-on-startup>3</load-on-startup>
+</servlet>
+----
+
+[[abeea]][[GSPTG00059]][[ejb-container-settings]]
+
+=== EJB Container Settings
+
+The EJB Container has many settings that affect performance. As with
+other areas, use monitor the EJB Container to track its execution and
+performance.
+
+You can configure most EJB container settings from the {productName}
+Administration Console by navigating to the
+Configurations>configuration-name>EJB Container node and then following
+the instructions in the online help.
+
+[[abeeb]][[GSPTG00188]][[monitoring-the-ejb-container]]
+
+==== Monitoring the EJB Container
+
+Monitoring the EJB container is disabled by default. You can enable EJB
+monitoring through the {productName} Administration Console by
+navagating to the the Configurations>configuration-name>Monitoring node
+and then following the instructions in the online help. Set the
+monitoring level to LOW for to monitor all deployed EJB components, EJB
+pools, and EJB caches. Set the monitoring level to HIGH to also monitor
+EJB business methods.
+
+[[abeec]][[GSPTG00189]][[tuning-the-ejb-container]]
+
+==== Tuning the EJB Container
+
+The EJB container caches and pools EJB components for better
+performance. Tuning the cache and pool properties can provide
+significant performance benefits to the EJB container.
+
+The pool settings are valid for stateless session and entity beans while
+the cache settings are valid for stateful session and entity beans.
+
+The following topics are addressed here:
+
+* link:#abeed[Overview of EJB Pooling and Caching]
+* link:#abeee[Tuning the EJB Pool]
+* link:#abeeg[Tuning the EJB Cache]
+* link:#abeei[Pool and Cache Settings for Individual EJB Components]
+* link:#abeej[Commit Option]
+
+[[abeed]][[GSPTG00117]][[overview-of-ejb-pooling-and-caching]]
+
+===== Overview of EJB Pooling and Caching
+
+Both stateless session beans and entity beans can be pooled to improve
+server performance. In addition, both stateful session beans and entity
+beans can be cached to improve performance.
+
+[[sthref7]][[gacmo]]
+
+Table 3-1 Bean Type Pooling or Caching
+
+[width="100%",cols="<34%,<33%,<33%",options="header",]
+|===
+|Bean Type |Pooled |Cached
+|Stateless Session |Yes |No
+|Stateful Session |No |Yes
+|Entity |Yes |Yes
+|===
+
+
+The difference between a pooled bean and a cached bean is that pooled
+beans are all equivalent and indistinguishable from one another. Cached
+beans, on the contrary, contain conversational state in the case of
+stateful session beans, and are associated with a primary key in the
+case of entity beans. Entity beans are removed from the pool and added
+to the cache on `ejbActivate()` and removed from the cache and added to
+the pool on `ejbPassivate()`. `ejbActivate()` is called by the container
+when a needed entity bean is not in the cache. `ejbPassivate()` is
+called by the container when the cache grows beyond its configured
+limits.
+
+
+[NOTE]
+====
+If you develop and deploy your EJB components using Oracle Java Studio,
+then you need to edit the individual bean descriptor settings for bean
+pool and bean cache. These settings might not be suitable for
+production-level deployment.
+====
+
+
+[[abeee]][[GSPTG00118]][[tuning-the-ejb-pool]]
+
+===== Tuning the EJB Pool
+
+A bean in the pool represents the pooled state in the EJB lifecycle.
+This means that the bean does not have an identity. The advantage of
+having beans in the pool is that the time to create a bean can be saved
+for a request. The container has mechanisms that create pool objects in
+the background, to save the time of bean creation on the request path.
+
+Stateless session beans and entity beans use the EJB pool. Keeping in
+mind how you use stateless session beans and the amount of traffic your
+server handles, tune the pool size to prevent excessive creation and
+deletion of beans.
+
+[[abeef]][[GSPTG00013]][[ejb-pool-settings]]
+
+EJB Pool Settings
+
+An individual EJB component can specify cache settings that override
+those of the EJB container in the `<bean-pool>` element of the EJB
+component's `sun-ejb-jar.xml` deployment descriptor.
+
+The EJB pool settings are:
+
+* Initial and Minimum Pool Size: the initial and minimum number of beans
+maintained in the pool. Valid values are from 0 to `MAX_INTEGER,` and
+the default value is 8. The corresponding EJB deployment descriptor
+attribute is `steady-pool-size.`
++
+Set this property to a number greater than zero for a moderately loaded
+system. Having a value greater than zero ensures that there is always a
+pooled instance to process an incoming request.
+* Maximum Pool Size: the maximum number of connections that can be
+created to satisfy client requests. Valid values are from zero to
+`MAX_INTEGER`., and the default is 32. A value of zero means that the
+size of the pool is unbounded. The potential implication is that the JVM
+heap will be filled with objects in the pool. The corresponding EJB
+deployment descriptor attribute is `max-pool-size`.
++
+Set this property to be representative of the anticipated high load of
+the system. An very large pool wastes memory and can slow down the
+system. A very small pool is also inefficient due to contention.
+* Pool Resize Quantity: the number of beans to be created or deleted
+when the cache is being serviced by the server. Valid values are from
+zero to `MAX_INTEGER` and default is 16. The corresponding EJB
+deployment descriptor attribute is `resize-quantity`.
++
+Be sure to re-calibrate the pool resize quantity when you change the
+maximum pool size, to maintain an equilibrium. Generally, a larger
+maximum pool size should have a larger pool resize quantity.
+* Pool Idle Timeout: the maximum time that a stateless session bean,
+entity bean, or message-driven bean is allowed to be idle in the pool.
+After this time, the bean is destroyed if the bean in case is a
+stateless session bean or a message driver bean. This is a hint to
+server. The default value is 600 seconds. The corresponding EJB
+deployment descriptor attribute is `pool-idle-timeout-in-seconds`.
++
+If there are more beans in the pool than the maximum pool size, the pool
+drains back to initial and minimum pool size, in steps of pool resize
+quantity at an interval specified by the pool idle timeout. If the
+resize quantity is too small and the idle timeout large, you will not
+see the pool draining back to steady size quickly enough.
+
+[[abeeg]][[GSPTG00119]][[tuning-the-ejb-cache]]
+
+===== Tuning the EJB Cache
+
+A bean in the cache represents the ready state in the EJB lifecycle.
+This means that the bean has an identity (for example, a primary key or
+session ID) associated with it.
+
+Beans moving out of the cache have to be passivated or destroyed
+according to the EJB lifecycle. Once passivated, a bean has to be
+activated to come back into the cache. Entity beans are generally stored
+in databases and use some form of query language semantics to load and
+store data. Session beans have to be serialized when storing them upon
+passivation onto the disk or a database; and similarly have to be
+deserialized upon activation.
+
+Any incoming request using these "ready" beans from the cache avoids the
+overhead of creation, setting identity, and potentially activation. So,
+theoretically, it is good to cache as many beans as possible. However,
+there are drawbacks to caching:
+
+* Memory consumed by all the beans affects the heap available in the
+Virtual Machine.
+* Increasing objects and memory taken by cache means longer, and
+possibly more frequent, garbage collection.
+* The application server might run out of memory unless the heap is
+carefully tuned for peak loads.
+
+Keeping in mind how your application uses stateful session beans and
+entity beans, and the amount of traffic your server handles, tune the
+EJB cache size and timeout settings to minimize the number of
+activations and passivations.
+
+[[abeeh]][[GSPTG00014]][[ejb-cache-settings]]
+
+EJB Cache Settings
+
+An individual EJB component can specify cache settings that override
+those of the EJB container in the `<bean-cache>` element of the EJB
+component's `sun-ejb-jar.xml` deployment descriptor.
+
+The EJB cache settings are:
+
+* Max Cache Size: Maximum number of beans in the cache. Make this
+setting greater than one. The default value is 512. A value of zero
+indicates the cache is unbounded, which means the size of the cache is
+governed by Cache Idle Timeout and Cache Resize Quantity. The
+corresponding EJB deployment descriptor attribute is `max-cache-size`.
+* Cache Resize Quantity: Number of beans to be created or deleted when
+the cache is serviced by the server. Valid values are from zero to
+MAX_INTEGER, and the default is 16. The corresponding EJB deployment
+descriptor attribute is `resize-quantity`.
+* Removal Timeout: Amount of time that a stateful session bean remains
+passivated (idle in the backup store). If a bean was not accessed after
+this interval of time, then it is removed from the backup store and will
+not be accessible to the client. The default value is 60 minutes. The
+corresponding EJB deployment descriptor attribute is
+`removal-timeout-in-seconds`.
+* Removal Selection Policy: Algorithm used to remove objects from the
+cache. The corresponding EJB deployment descriptor attribute is
+`victim-selection-policy`. Choices are:
+
+** NRU (not recently used). This is the default, and is actually
+pseudo-random selection policy.
+
+** FIFO (first in, first out)
+
+** LRU (least recently used)
+* Cache Idle Timeout: Maximum time that a stateful session bean or
+entity bean is allowed to be idle in the cache. After this time, the
+bean is passivated to the backup store. The default value is 600
+seconds. The corresponding EJB deployment descriptor attribute is
+`cache-idle-timeout-in-seconds`.
+* Refresh period: Rate at which a read-only-bean is refreshed from the
+data source. Zero (0) means that the bean is never refreshed. The
+default is 600 seconds. The corresponding EJB deployment descriptor
+attribute is `refresh-period-in-seconds`. Note: this setting does not
+have a custom field in the Admin Console. To set it, use the Add
+Property button in the Additional Properties section.
+
+[[abeei]][[GSPTG00120]][[pool-and-cache-settings-for-individual-ejb-components]]
+
+===== Pool and Cache Settings for Individual EJB Components
+
+Individual EJB pool and cache settings in the `sun-ejb-jar.xml`
+deployment descriptor override those of the EJB container. The following
+table lists the cache and pool settings for each type of EJB component.
+
+[width="100%",cols="<35%,<13%,<13%,<13%,<13%,<13%",options="header",]
+|===
+|Cache or Pool Setting |Stateful Session Bean |Stateless Session Bean
+|Entity Bean |Entity Read-Only Bean |Message Driven Bean
+|`cache-resize-quantity` |X |+ |X |X |+
+
+|`max-cache-size` |X |+ |X |X |+
+
+|`cache-idle-timeout-in-seconds` |X |+ |X |X |+
+
+|`removal-timeout-in-seconds` |X |+ |X |X |+
+
+|`victim-selection-policy` |X |+ |X |X |+
+
+|`refresh-period-in-seconds` |+ |+ |+ |X |+
+
+|`steady-pool-size` |+ |X |X |X |+
+
+|`pool-resize-quantity` |+ |X |X |X |X
+
+|`max-pool-size` |+ |X |X |X |X
+
+|`pool-idle-timeout-in-seconds` |+ |X |X |X |X
+|===
+
+
+[[abeej]][[GSPTG00121]][[commit-option]]
+
+===== Commit Option
+
+The commit option controls the action taken by the EJB container when an
+EJB component completes a transaction. The commit option has a
+significant impact on performance.
+
+The following are the possible values for the commit option:
+
+* Commit option B: When a transaction completes, the bean is kept in the
+cache and retains its identity. The next invocation for the same primary
+key can use the cached instance. The EJB container will call the bean's
+`ejbLoad()` method before the method invocation to synchronize with the database.
+
+* Commit option C: When a transaction completes, the EJB container calls
+the bean's `ejbPassivate()` method, the bean is disassociated from its
+primary key and returned to the free pool. The next invocation for the
+same primary key will have to get a free bean from the pool, set the
+`PrimaryKey` on this instance, and then call `ejbActivate()` on the
+instance. Again, the EJB container will call the bean's `ejbLoad()`
+before the method invocation to synchronize with the database.
+
+Option B avoids `ejbAcivate()` and `ejbPassivate()` calls. So, in most
+cases it performs better than option C since it avoids some overhead in
+acquiring and releasing objects back to pool.
+
+However, there are some cases where option C can provide better
+performance. If the beans in the cache are rarely reused and if beans
+are constantly added to the cache, then it makes no sense to cache
+beans. With option C is used, the container puts beans back into the
+pool (instead of caching them) after method invocation or on transaction
+completion. This option reuses instances better and reduces the number
+of live objects in the JVM, speeding garbage collection.
+
+[[abeek]][[GSPTG00015]][[determining-the-best-commit-option]]
+
+Determining the Best Commit Option
+
+To determine whether to use commit option B or commit option C, first
+take a look at the cache-hits value using the monitoring command for the
+bean. If the cache hits are much higher than cache misses, then option B
+is an appropriate choice. You might still have to change the
+`max-cache-size` and `cache-resize-quantity` to get the best result.
+
+If the cache hits are too low and cache misses are very high, then the
+application is not reusing the bean instances and hence increasing the
+cache size (using `max-cache-size`) will not help (assuming that the
+access pattern remains the same). In this case you might use commit
+option C. If there is no great difference between cache-hits and
+cache-misses then tune `max-cache-size`, and probably
+`cache-idle-timeout-in-seconds`.
+
+[[abeel]][[GSPTG00060]][[java-message-service-settings]]
+
+=== Java Message Service Settings
+
+The Type attribute that determines whether the Java Message Service
+(JMS) is on local or remote system affects performance. Local JMS
+performance is better than remote JMS performance. However, a remote
+cluster can provide failover capabilities and can be administrated
+together, so there may be other advantages of using remote JMS. For more
+information on using JMS, see "link:administration-guide/jms.html#GSADG00020[Administering the Java
+Message Service (JMS)]" in {productName}
+Administration Guide.
+
+[[abeem]][[GSPTG00061]][[transaction-service-settings]]
+
+=== Transaction Service Settings
+
+The transaction manager makes it possible to commit and roll back
+distributed transactions.
+
+A distributed transactional system writes transactional activity into
+transaction logs so that they can be recovered later. But writing
+transactional logs has some performance penalty.
+
+The following topics are addressed here:
+
+* link:#abeen[Monitoring the Transaction Service]
+* link:#abeep[Tuning the Transaction Service]
+
+[[abeen]][[GSPTG00190]][[monitoring-the-transaction-service]]
+
+==== Monitoring the Transaction Service
+
+Transaction Manager monitoring is disabled by default. Enable monitoring
+of the transaction service through the {productName} Administration
+Console by navigating to the
+Configurations>configuration-name>Monitoring node. Refer to the
+Administration Console for complete instructions.
+
+You can also enable monitoring with these commands:
+
+[source]
+----
+set serverInstance.transaction-service.monitoringEnabled=true
+reconfig serverInstance
+----
+
+[[abeeo]][[GSPTG00122]][[viewing-monitoring-information]]
+
+===== Viewing Monitoring Information
+
+To view monitoring information for the transaction service in the
+{productName} Administration Console, navigate to the server (Admin
+Server) node and then select the Monitor tab.
+
+The following statistics are gathered on the transaction service:
+
+* `total-tx-completed` Completed transactions.
+* `total-tx-rolled-back` Total rolled back transactions.
+* `total-tx-inflight` Total inflight (active) transactions.
+* `isFrozen` Whether transaction system is frozen (true or false)
+* `inflight-tx` List of inflight (active) transactions.
+
+[[abeep]][[GSPTG00191]][[tuning-the-transaction-service]]
+
+==== Tuning the Transaction Service
+
+This property can be used to disable the transaction logging, where the
+performance is of utmost importance more than the recovery. This
+property, by default, won't exist in the server configuration.
+
+Most Transaction Service tuning tasks can be performed through the
+{productName} Administration Console by navigating to the
+Configurations>configuration-name>Transaction Service node and then
+following the instructions in the online help. Alternatively, you can
+follow the instructions in "link:administration-guide/transactions.html#GSADG00022[Administering
+Transactions]" in {productName} Administration
+Guide.
+
+[[abeeq]][[GSPTG00123]][[disable-distributed-transaction-logging]]
+
+===== Disable Distributed Transaction Logging
+
+You can disable transaction logging through the Administration Console
+or by using the following `asadmin set` subcommand:
+
+[source]
+----
+asadmin set
+server1.transaction-service.disable-distributed-transaction-logging=true
+----
+
+Disabling transaction logging can improve performance. Setting it to
+false (the default), makes the transaction service write transactional
+activity to transaction logs so that transactions can be recovered. If
+Recover on Restart is checked, this property is ignored.
+
+Set this property to true only if performance is more important than
+transaction recovery.
+
+[[abeer]][[GSPTG00124]][[recover-on-restart-automatic-recovery]]
+
+===== Recover On Restart (Automatic Recovery)
+
+You can set the Recover on Restart attribute through the Administration
+Console or by entering the following `asadmin set` subcommand:
+
+[source]
+----
+asadmin set server1.transaction-service.automatic-recovery=false
+----
+
+When Recover on Restart is true, the server will always perform
+transaction logging, regardless of the Disable Distributed Transaction
+Logging attribute.
+
+If Recover on Restart is false, then:
+
+* If Disable Distributed Transaction Logging is false (the default),
+then the server will write transaction logs.
+* If Disable Distributed Transaction Logging is true, then the server
+will not write transaction logs.
++
+Not writing transaction logs will give approximately twenty percent
+improvement in performance, but at the cost of not being able to recover
+from any interrupted transactions. The performance benefit applies to
+transaction-intensive tests. Gains in real applications may be less.
+
+[[abees]][[GSPTG00125]][[keypoint-interval]]
+
+===== Keypoint Interval
+
+The keypoint interval determines how often entries for completed
+transactions are removed from the log file. Keypointing prevents a
+process log from growing indefinitely.
+
+Frequent keypointing is detrimental to performance. The default value of
+the Keypoint Interval is 2048, which is sufficient in most cases.
+
+[[abeet]][[GSPTG00062]][[http-service-settings]]
+
+=== HTTP Service Settings
+
+Tuning the monitoring and access logging settings for the HTTP server
+instances that handle client requests are important parts of ensuring
+peak {productName} performance.
+
+The following topics are addressed here:
+
+* link:#abeeu[Monitoring the HTTP Service]
+* link:#abefk[HTTP Service Access Logging]
+
+[[abeeu]][[GSPTG00192]][[monitoring-the-http-service]]
+
+==== Monitoring the HTTP Service
+
+Disabling the collection of monitoring statistics can increase overall
+{productName} performance. You can enable or disable monitoring
+statistics collection for the HTTP service using either the
+Administration Console or `asadmin` subcommands.
+
+Refer to "link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
+{productName} Administration Guide for complete
+instructions on configuring the monitoring service using `asadmin`
+subcommands.
+
+If using the Administration Console, click the
+Configurations>configuration-name>Monitoring node for the configuration
+for which you want to enable or disable monitoring for selected
+components. Refer to the Administration Console online help for complete
+instructions.
+
+For instructions on viewing comprehensive monitoring statistics using
+`asadmin` subcommands, see "link:administration-guide/monitoring.html#GSADG00560[Viewing Comprehensive
+Monitoring Data]" in {productName} Administration
+Guide. If using the Administration Console, you can view monitoring
+statistics by navigating to the server (Admin Server) node, and then
+clicking the Monitor tab. Refer to the online help for configuring
+different views of the available monitoring statistics.
+
+When viewing monitoring statistics, some key performance-related
+information to review includes the following:
+
+* link:#abeew[DNS Cache Information (dns)]
+* link:#abefh[File Cache Information (file-cache)]
+* link:#abefi[Keep Alive (keep-alive)]
+* link:#abefg[Connection Queue]
+
+[[abeew]][[GSPTG00126]][[dns-cache-information-dns]]
+
+===== DNS Cache Information (dns)
+
+The DNS cache caches IP addresses and DNS names. The DNS cache is
+disabled by default. In the DNS Statistics for Process ID All page under
+Monitor in the web-based Administration interface the following
+statistics are displayed:
+
+* link:#abeex[Enabled]
+* link:#abeey[CacheEntries (CurrentCacheEntries / MaxCacheEntries)]
+* link:#abeez[HitRatio]
+* link:#abefa[Caching DNS Entries]
+* link:#abefb[Limit DNS Lookups to Asynchronous]
+* link:#abefc[Enabled]
+* link:#abefd[NameLookups]
+* link:#abefe[AddrLookups]
+* link:#abeff[LookupsInProgress]
+
+[[abeex]][[GSPTG00016]][[enabled]]
+
+Enabled
+
+If the DNS cache is disabled, the rest of this section is not displayed.
+
+By default, the DNS cache is off. Enable DNS caching in the
+Administration Console by clicking the
+Configurations>configuration-name>Network Config>http-listener-name
+node. Click the HTTP tab and enable the DNS Lookup option.
+
+[[abeey]][[GSPTG00017]][[cacheentries-currentcacheentries-maxcacheentries]]
+
+CacheEntries (CurrentCacheEntries / MaxCacheEntries)
+
+The number of current cache entries and the maximum number of cache
+entries. A single cache entry represents a single IP address or DNS name
+lookup. Make the cache as large as the maximum number of clients that
+access your web site concurrently. Note that setting the cache size too
+high is a waste of memory and degrades performance.
+
+Set the maximum size of the DNS cache by entering or changing the value
+in the in the Administration Console by clicking the
+Configurations>configuration-name>Network Config>http-listener-name
+node. Click the File tab and set the desired options.
+
+[[abeez]][[GSPTG00018]][[hitratio]]
+
+HitRatio
+
+The hit ratio is the number of cache hits divided by the number of cache
+lookups.
+
+This setting is not tunable.
+
+
+[NOTE]
+====
+If you turn off DNS lookups on your server, host name restrictions will
+not work and IP addresses will appear instead of host names in log
+files.
+====
+
+
+[[abefa]][[GSPTG00019]][[caching-dns-entries]]
+
+Caching DNS Entries
+
+It is possible to also specify whether to cache the DNS entries. If you
+enable the DNS cache, the server can store hostname information after
+receiving it. If the server needs information about the client in the
+future, the information is cached and available without further
+querying. specify the size of the DNS cache and an expiration time for
+DNS cache entries. The DNS cache can contain 32 to 32768 entries; the
+default value is 1024. Values for the time it takes for a cache entry to
+expire can range from 1 second to 1 year specified in seconds; the
+default value is 1200 seconds (20 minutes).
+
+[[abefb]][[GSPTG00020]][[limit-dns-lookups-to-asynchronous]]
+
+Limit DNS Lookups to Asynchronous
+
+Do not use DNS lookups in server processes because they are
+resource-intensive. If you must include DNS lookups, make them
+asynchronous.
+
+[[abefc]][[GSPTG00021]][[enabled-1]]
+
+Enabled
+
+If asynchronous DNS is disabled, the rest of this section will not be
+displayed.
+
+[[abefd]][[GSPTG00022]][[namelookups]]
+
+NameLookups
+
+The number of name lookups (DNS name to IP address) that have been done
+since the server was started. This setting is not tunable.
+
+[[abefe]][[GSPTG00023]][[addrlookups]]
+
+AddrLookups
+
+The number of address loops (IP address to DNS name) that have been done
+since the server was started. This setting is not tunable.
+
+[[abeff]][[GSPTG00024]][[lookupsinprogress]]
+
+LookupsInProgress
+
+The current number of lookups in progress.
+
+[[abefh]][[GSPTG00127]][[file-cache-information-file-cache]]
+
+===== File Cache Information (file-cache)
+
+The file cache caches static content so that the server handles requests
+for static content quickly. The file-cache section provides statistics
+on how your file cache is being used.
+
+For information about tuning the file cache, see link:#gkxit[File Cache
+Settings].
+
+The Monitoring page lists the following file cache statistics:
+
+* Number of Hits on Cached File Content
+* Number of Cache Entries
+* Number of Hits on Cached File Info
+* Heap Space Used for Cache
+* Number of Misses on Cached File Content
+* Cache Lookup Misses
+* Number of Misses on Cached File Content
+* Max Age of a Cache Entry
+* Max Number of Cache Entries
+* Max Number of Open Entries
+* Is File Cached Enabled?
+* Maximum Memory Map to be Used for Cache
+* Memory Map Used for cache
+* Cache Lookup Hits
+* Open Cache Entries: The number of current cache entries and the
+maximum number of cache entries are both displayed. A single cache entry
+represents a single URI. This is a tunable setting.
+* Maximum Heap Space to be Used for Cache
+
+[[abefi]][[GSPTG00128]][[keep-alive-keep-alive]]
+
+===== Keep Alive (keep-alive)
+
+The following are statistics related to the Keep Alive system. The most
+important settings you can tune here relate to HTTP Timeout. See
+link:#abefu[Timeout] for more information.
+
+* Connections Terminated Due to Client Connection Timed Out
+* Max Connection Allowed in Keep-alive
+* Number of Hits
+* Connections in Keep-alive Mode
+* Connections not Handed to Keep-alive Thread Due to too Many Persistent
+Connections
+* The Time in Seconds Before Idle Connections are Closed
+* Connections Closed Due to Max Keep-alive Being Exceeded
+
+[[abefg]][[GSPTG00129]][[connection-queue]]
+
+===== Connection Queue
+
+* Total Connections Queued: Total connections queued is the total number
+of times a connection has been queued. This includes newly accepted
+connections and connections from the keep-alive system.
+* Average Queuing Delay: Average queueing delay is the average amount of
+time a connection spends in the connection queue. This represents the
+delay between when a request connection is accepted by the server, and a
+request processing thread (also known as a session) begins servicing the
+request.
+
+[[abefk]][[GSPTG00193]][[http-service-access-logging]]
+
+==== HTTP Service Access Logging
+
+Accessing Logging can be tuned using several `asadmin` subcommands.
+Refer to "link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
+{productName} Administration Guide for
+information about using these subcommands.
+
+If using the Administration Console, Access Logging is configured from
+the Configurations>configuration-name>HTTP Service page. Refer to the
+Administration Console online help for complete instructions about the
+options on this page.
+
+To enable or disable access logging, check or uncheck the Access Logging
+Enabled checkbox. Access Logging is disabled by default.
+
+When performing benchmarking, ensure that Access Logging is disabled. If
+Access Logging is enabled, it is recommended that you also enable
+Rotation to ensure that the logs do not run out of disk space.
+
+[[abegk]][[GSPTG00063]][[network-listener-settings]]
+
+=== Network Listener Settings
+
+You can tune Network Listener settings from the command line by using
+the instructions in "link:administration-guide/http_https.html#GSADG00588[Administering HTTP Network
+Listeners]" in {productName} Administration
+Guide.
+
+If using the Administration Console, navigate to the Configurations
+>configuration-name>Network Config>Network Listeners>listener-name node,
+and then click the tab for the desired configuration page. Refer to the
+online help for complete instructions about the options on these tabs.
+
+{productName} Network Listener performance can be enhanced by
+modifying settings on the following Edit Network Listener tabs in the
+Administration Console:
+
+* link:#abegl[General Settings]
+* link:#gkxjd[HTTP Settings]
+* link:#gkxit[File Cache Settings]
+
+[[abegl]][[GSPTG00194]][[general-settings-1]]
+
+==== General Settings
+
+For machines with only one network interface card (NIC), set the network
+address to the IP address of the machine (for example, 192.18.80.23
+instead of default 0.0.0.0). If you specify an IP address other than
+0.0.0.0, the server will make one less system call per connection.
+Specify an IP address other than 0.0.0.0 for best possible performance.
+If the server has multiple NIC cards then create multiple listeners for
+each NIC.
+
+[[gkxjd]][[GSPTG00195]][[http-settings]]
+
+==== HTTP Settings
+
+The following settings on the HTTP tab can significantly affect
+performance:
+
+* link:#abeft[Max Connections]
+* link:#abegd[DNS Lookup Enabled]
+* link:#abefu[Timeout]
+* link:#abefq[Header Buffer Length]
+
+[[abeft]][[GSPTG00130]][[max-connections]]
+
+===== Max Connections
+
+Max Connections controls the number of requests that a particular client
+can make over a keep-alive connection. The range is any positive
+integer, and the default is 256.
+
+Adjust this value based on the number of requests a typical client makes
+in your application. For best performance specify quite a large number,
+allowing clients to make many requests.
+
+The number of connections specified by Max Connections is divided
+equally among the keep alive threads. If Max Connections is not equally
+divisible by Thread Count, the server can allow slightly more than Max
+Connections simultaneous keep alive connections.
+
+[[abegd]][[GSPTG00131]][[dns-lookup-enabled]]
+
+===== DNS Lookup Enabled
+
+This setting specifies whether the server performs DNS (domain name
+service) lookups on clients that access the server. When DNS lookup is
+not enabled, when a client connects, the server knows the client's IP
+address but not its host name (for example, it knows the client as
+198.95.251.30, rather than `www.xyz.com`). When DNS lookup is enabled,
+the server will resolve the client's IP address into a host name for
+operations like access control, common gateway interface (CGI) programs,
+error reporting, and access logging.
+
+If the server responds to many requests per day, reduce the load on the
+DNS or NIS (Network Information System) server by disabling DNS lookup.
+Enabling DNS lookup will increase the latency and load on the system, so
+modify this setting with caution.
+
+[[abefu]][[GSPTG00132]][[timeout]]
+
+===== Timeout
+
+Timeout determines the maximum time (in seconds) that the server holds
+open an HTTP keep alive connection. A client can keep a connection to
+the server open so that multiple requests to one server can be serviced
+by a single network connection. Since the number of open connections
+that the server can handle is limited, a high number of open connections
+will prevent new clients from connecting.
+
+The default time out value is 30 seconds. Thus, by default, the server
+will close the connection if idle for more than 30 seconds. The maximum
+value for this parameter is 300 seconds (5 minutes).
+
+The proper value for this parameter depends upon how much time is
+expected to elapse between requests from a given client. For example, if
+clients are expected to make requests frequently then, set the parameter
+to a high value; likewise, if clients are expected to make requests
+rarely, then set it to a low value.
+
+Both HTTP 1.0 and HTTP 1.1 support the ability to send multiple requests
+across a single HTTP session. A server can receive hundreds of new HTTP
+requests per second. If every request was allowed to keep the connection
+open indefinitely, the server could become overloaded with connections.
+On Unix/Linux systems, this could easily lead to a file table overflow.
+
+The {productName}'s Keep Alive system, which is affected by the
+Timeout setting, addresses this problem. A waiting keep alive connection
+has completed processing the previous request, and is waiting for a new
+request to arrive on the same connection. The server maintains a counter
+for the maximum number of waiting keep-alive connections. If the server
+has more than the maximum waiting connections open when a new connection
+waits for a keep-alive request, the server closes the oldest connection.
+This algorithm limits the number of open waiting keep-alive connections.
+
+If your system has extra CPU cycles, incrementally increase the keep
+alive settings and monitor performance after each increase. When
+performance saturates (stops improving), then stop increasing the
+settings.
+
+[[abefq]][[GSPTG00133]][[header-buffer-length]]
+
+===== Header Buffer Length
+
+The size (in bytes) of the buffer used by each of the request processing
+threads for reading the request data from the client.
+
+Adjust the value based on the actual request size and observe the impact
+on performance. In most cases the default should suffice. If the request
+size is large, increase this parameter.
+
+[[gkxit]][[GSPTG00196]][[file-cache-settings]]
+
+==== File Cache Settings
+
+The {productName} uses a file cache to serve static information
+faster. The file cache contains information about static files such as
+HTML, CSS, image, or text files. Enabling the HTTP file cache will
+improve performance of applications that contain static files.
+
+The following settings on the File Cache tab can significantly affect
+performance:
+
+* link:#abegf[Max File Count]
+* link:#abegh[Max Age]
+
+[[abegf]][[GSPTG00134]][[max-file-count]]
+
+===== Max File Count
+
+Max File Count determines how many files are in the cache. If the value
+is too big, the server caches little-needed files, which wastes memory.
+If the value is too small, the benefit of caching is lost. Try different
+values of this attribute to find the optimal solution for specific
+applications—generally, the effects will not be great.
+
+[[abegh]][[GSPTG00135]][[max-age]]
+
+===== Max Age
+
+This parameter controls how long cached information is used after a file
+has been cached. An entry older than the maximum age is replaced by a
+new entry for the same file.
+
+If your Web site's content changes infrequently, increase this value for
+improved performance. Set the maximum age by entering or changing the
+value in the Maximum Age field of the File Cache Configuration page in
+the web-based Admin Console for the HTTP server node and selecting the
+File Caching Tab.
+
+Set the maximum age based on whether the content is updated (existing
+files are modified) on a regular schedule or not. For example, if
+content is updated four times a day at regular intervals, you could set
+the maximum age to 21600 seconds (6 hours). Otherwise, consider setting
+the maximum age to the longest time you are willing to serve the
+previous version of a content file after the file has been modified.
+
+[[gkxjt]][[GSPTG00064]][[transport-settings]]
+
+=== Transport Settings
+
+The Acceptor Threads property for the Transport service specifies how
+many threads you want in accept mode on a listen socket at any time. It
+is a good practice to set this to less than or equal to the number of
+CPUs in your system.
+
+In the {productName}, acceptor threads on an HTTP Listener accept
+connections and put them onto a connection queue. Session threads then
+pick up connections from the queue and service the requests. The server
+posts more session threads if required at the end of the request.
+
+See "link:administration-guide/http_https.html#GSADG00771[Administering HTTP Network Listeners]" in
+{productName} Administration Guide for
+instructions on modifying the Acceptor Threads property. If using the
+Administration Console, the Acceptor Threads property is available on
+the Configurations>configuration-name>Network Config>Transports>tcp
+page.
+
+[[abehk]][[GSPTG00065]][[thread-pool-settings]]
+
+=== Thread Pool Settings
+
+You can tune thread pool settings by following the instructions in
+"link:administration-guide/threadpools.html#GSADG00008[Administering Thread Pools]" in {productName} Administration Guide. If using the Administration Console
+Thread Pool settings are available on the
+Configurations>configuration-name>Thread Pools>thread-pool-name page.
+
+The following thread pool settings can have significant effects on
+{productName} performance:
+
+* link:#abefn[Max Thread Pool Size]
+* link:#abefo[Min Thread Pool Size]
+
+[[abefn]][[GSPTG00197]][[max-thread-pool-size]]
+
+==== Max Thread Pool Size
+
+The Max Thread Pool Size parameter specifies the maximum number of
+simultaneous requests the server can handle. The default value is 5.
+When the server has reached the limit or request threads, it defers
+processing new requests until the number of active requests drops below
+the maximum amount. Increasing this value will reduce HTTP response
+latency times.
+
+In practice, clients frequently connect to the server and then do not
+complete their requests. In these cases, the server waits a length of
+time specified by the Timeout parameter.
+
+Also, some sites do heavyweight transactions that take minutes to
+complete. Both of these factors add to the maximum simultaneous requests
+that are required. If your site is processing many requests that take
+many seconds, you might need to increase the number of maximum
+simultaneous requests.
+
+Adjust the thread count value based on your load and the length of time
+for an average request. In general, increase this number if you have
+idle CPU time and requests that are pending; decrease it if the CPU
+becomes overloaded. If you have many HTTP 1.0 clients (or HTTP 1.1
+clients that disconnect frequently), adjust the timeout value to reduce
+the time a connection is kept open.
+
+Suitable Request Max Thread Pool Size values range from 100 to 500,
+depending on the load. If your system has extra CPU cycles, keep
+incrementally increasing thread count and monitor performance after each
+incremental increase. When performance saturates (stops improving), then
+stop increasing thread count.
+
+[[abefo]][[GSPTG00198]][[min-thread-pool-size]]
+
+==== Min Thread Pool Size
+
+The Min Thread Pool Size property specifies the minimum number of
+threads the server initiates upon startup. The default value is 2. Min
+Thread Pool Size represents a hard limit for the maximum number of
+active threads that can run simultaneously, which can become a
+bottleneck for performance.
+
+Specifying the same value for minimum and maximum threads allows
+{productName} to use a slightly more optimized thread pool. This
+configuration should be considered unless the load on the server varies
+quite significantly.
+
+[[abegt]][[GSPTG00066]][[orb-settings]]
+
+=== ORB Settings
+
+The {productName} includes a high performance and scalable CORBA
+Object Request Broker (ORB). The ORB is the foundation of the EJB
+Container on the server.
+
+For complete instructions on configuring ORB settings, refer to
+"link:administration-guide/orb.html#GSADG00018[Administering the Object Request Broker (ORB)]" in
+{productName} Administration Guide. Also refer to
+"link:ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing and Failover]" in {productName} High Availability Administration Guide. You
+can also configure most ORB settings through the {productName}
+Administration Console by navigating to the
+Configurations>configuration-name> ORB node and then following the
+instructions in the Administration Console online help.
+
+The following topics are addressed here:
+
+* link:#abegu[Overview]
+* link:#abegv[How a Client Connects to the ORB]
+* link:#abegw[Monitoring the ORB]
+* link:#abegz[Tuning the ORB]
+
+[[abegu]][[GSPTG00199]][[overview]]
+
+==== Overview
+
+The ORB is primarily used by EJB components via:
+
+* RMI/IIOP path from an application client (or rich client) using the
+application client container.
+* RMI/IIOP path from another {productName} instance ORB.
+* RMI/IIOP path from another vendor's ORB.
+* In-process path from the Web Container or MDB (message driven beans)
+container.
+
+When a server instance makes a connection to another server instance
+ORB, the first instance acts as a client ORB. SSL over IIOP uses a fast
+optimized transport with high-performance native implementations of
+cryptography algorithms.
+
+It is important to remember that EJB local interfaces do not use the
+ORB. Using a local interface passes all arguments by reference and does
+not require copying any objects.
+
+[[abegv]][[GSPTG00200]][[how-a-client-connects-to-the-orb]]
+
+==== How a Client Connects to the ORB
+
+A rich client Java program performs a new `initialContext()` call which
+creates a client side ORB instance. This in turn creates a socket
+connection to the {productName} IIOP port. The reader thread is
+started on the server ORB to service IIOP requests from this client.
+Using the `initialContext`, the client code does a lookup of an EJB
+deployed on the server. An IOR which is a remote reference to the
+deployed EJB on the server is returned to the client. Using this object
+reference, the client code invokes remote methods on the EJB.
+
+`InitialContext` lookup for the bean and the method invocations
+translate the marshalling application request data in Java into IIOP
+message(s) that are sent on the socket connection that was created
+earlier on to the server ORB. The server then creates a response and
+sends it back on the same connection. This data in the response is then
+un-marshalled by the client ORB and given back to the client code for
+processing. The Client ORB shuts down and closes the connection when the
+rich client application exits.
+
+[[abegw]][[GSPTG00201]][[monitoring-the-orb]]
+
+==== Monitoring the ORB
+
+ORB statistics are disabled by default. To gather ORB statistics, enable
+monitoring with the following `asadmin` command:
+
+[source]
+----
+set serverInstance.iiop-service.orb.system.monitoringEnabled=true
+reconfig serverInstance
+----
+
+If using the Administration Console, you can enable ORB monitoring on
+the Configurations>configuration-name>Monitoring page. To view ORB
+monitoring statistics through the Administration Console, navigate to
+the server (Admin Server) page and click the Monitor tab. Refer to the
+Administration Console online help for complete instructions.
+
+The following statistics are of particular interest when tuning the ORB:
+
+* link:#abegx[Connection Statistics]
+* link:#abegy[Thread Pools]
+
+[[abegx]][[GSPTG00136]][[connection-statistics]]
+
+===== Connection Statistics
+
+The following statistics are gathered on ORB connections:
+
+* `total-inbound-connections`: Total inbound connections to ORB.
+* `total-outbound-connections`: Total outbound connections from ORB.
+
+Use the following command to get ORB connection statistics:
+
+[source]
+----
+asadmin get --monitor
+    serverInstance.iiop-service.orb.system.orb-connection.*
+----
+
+[[abegy]][[GSPTG00137]][[thread-pools]]
+
+===== Thread Pools
+
+The following statistics are gathered on ORB thread pools:
+
+* `thread-pool-size`: Number of threads in ORB thread pool.
+* `waiting-thread-count`: Number of thread pool threads waiting for work to arrive.
+
+Use the following command to display ORB thread pool statistics:
+
+[source]
+----
+asadmin get --monitor
+    serverInstance.iiop-service.orb.system.orb-thread-pool.*
+----
+
+[[abegz]][[GSPTG00202]][[tuning-the-orb]]
+
+==== Tuning the ORB
+
+Tune ORB performance by setting ORB parameters and ORB thread pool
+parameters. You can often decrease response time by leveraging
+load-balancing, multiple shared connections, thread pool and message
+fragment size. You can improve scalability by load balancing between
+multiple ORB servers from the client, and tuning the number of
+connection between the client and the server.
+
+The following topics are addressed here:
+
+* link:#abeha[Tunable ORB Parameters]
+* link:#abehb[ORB Thread Pool Parameters]
+* link:#abehc[Client ORB Properties]
+* link:#abehg[Thread Pool Sizing]
+* link:#abehh[Examining IIOP Messages]
+
+[[abeha]][[GSPTG00138]][[tunable-orb-parameters]]
+
+===== Tunable ORB Parameters
+
+You can tune ORB parameters using the instructions in
+"link:administration-guide/orb.html#GSADG00018[Administering the Object Request Broker (ORB)]" in
+{productName} Administration Guide. If using the
+Administration Console, navigate to the
+Configurations>configuration-name>ORB node and refer to the online help.
+
+The following table summarizes the tunable ORB parameters.
+
+[[sthref8]][[gacma]]
+
+Table 3-2 Tunable ORB Parameters
+
+[width="100%",cols="<33%,<27%,<40%",options="header",]
+|===
+|Path |ORB Modules |Server Settings
+|RMI/ IIOP from application client to application server |communication
+infrastructure, thread pool |steady-thread-pool-size,
+max-thread-pool-size, idle-thread-timeout-in-seconds
+
+|RMI/ IIOP from ORB to {productName} |communication infrastructure,
+thread pool |steady-thread-pool-size, max-thread-pool-size,
+idle-thread-timeout-in-seconds
+
+|RMI/ IIOP from a vendor ORB |parts of communication infrastructure,
+thread pool |steady-thread-pool-size, max-thread-pool-size,
+idle-thread-timeout-in-seconds
+
+|In-process |thread pool |steady-thread-pool-size, max-thread-pool-size,
+idle-thread-timeout-in-seconds
+|===
+
+
+[[abehb]][[GSPTG00139]][[orb-thread-pool-parameters]]
+
+===== ORB Thread Pool Parameters
+
+The ORB thread pool contains a task queue and a pool of threads. Tasks
+or jobs are inserted into the task queue and free threads pick tasks
+from this queue for execution. Do not set a thread pool size such that
+the task queue is always empty. It is normal for a large application's
+Max Pool Size to be ten times the size of the current task queue.
+
+The {productName} uses the ORB thread pool to:
+
+* Execute every ORB request
+* Trim EJB pools and caches
+* Execute MDB requests
+
+Thus, even when one is not using ORB for remote-calls (via RMI/ IIOP),
+set the size of the threadpool to facilitate cleaning up the EJB pools
+and caches.
+
+You can set ORB thread pool attributes using the instructions in
+"link:administration-guide/threadpools.html#GSADG00008[Administering Thread Pools]" in {productName} Administration Guide. If using the Administration
+Console, navigate to Configurations>configuration-name> Thread
+Pools>thread-pool-name, where thread-pool-name is the thread pool ID
+selected for the ORB. Thread pools have the following attributes that
+affect performance.
+
+* Minimum Pool Size: The minimum number of threads in the ORB thread
+pool. Set to the average number of threads needed at a steady (RMI/IIOP) load.
+* Maximum Pool Size: The maximum number of threads in the ORB thread pool.
+* Idle Timeout: Number of seconds to wait before removing an idle thread from pool.
+Allows shrinking of the thread pool.
+* Number of Work Queues
+
+In particular, the maximum pool size is important to performance. For
+more information, see link:#abehg[Thread Pool Sizing].
+
+[[abehc]][[GSPTG00140]][[client-orb-properties]]
+
+===== Client ORB Properties
+
+Specify the following properties as command-line arguments when
+launching the client program. You do this by using the following syntax
+when starting the Java VM:
+
+[source]
+----
+-Dproperty=value
+----
+
+The following topics are addressed here:
+
+* link:#abehd[Controlling Connections Between Client and Server ORB]
+* link:#CEGDGBBG[Limiting the Maximum Number of Client Connections]
+* link:#abehf[Load Balancing]
+
+[[abehd]][[GSPTG00025]][[controlling-connections-between-client-and-server-orb]]
+
+Controlling Connections Between Client and Server ORB
+
+When using the default JDK ORB on the client, a connection is
+established from the client ORB to the application server ORB every time
+an initial context is created. To pool or share these connections when
+they are opened from the same process by adding to the configuration on
+the client ORB.
+
+[source]
+----
+-Djava.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
+----
+
+[[CEGDGBBG]][[limiting-the-maximum-number-of-client-connections]]
+
+Limiting the Maximum Number of Client Connections
+
+You can specify the total maximum number of client connections on all
+ORB listener ports (TCP, SSL and SSL with mutual authentication). When
+open client connections exceed the maximum value you specify, the ORB
+rejects any new incoming client connections.
+
+Set this value to support the expected number of simultaneous client
+connections, but not to exceed the VM or system file descriptor limits.
+If the value is set too high, the ORB will continue accepting new client
+connections, resulting in a "too many open files" error if the VM runs
+out of file descriptors.
+
+To specify the maximum number of client connections, set the
+`configs.config.``config-name.``iiop-service.orb.max-connections`
+attribute to the number that you require:
+
+[source]
+----
+asadmin> set configs.config.config-name.iiop-service.orb.max-connections=max-connections
+----
+
+config-name::
+  The name of the configuration in which the IIOP service is defined.
+  For example, `server-config` is the name for the configuration of the
+  domain administration server (DAS).
+max-connections::
+  An integer that specifies the maximum number of client connections.
+
+For updates to this value to take effect, restart {productName}.
+
+The following example shows how to set the maximum number of client
+connections for the ORB in the DAS to `512`:
+
+[source]
+----
+asadmin> set configs.config.server-config.iiop-service.orb.max-connections=512
+configs.config.server-config.iiop-service.orb.max-connections=512
+Command set executed successfully.
+----
+
+[[abehf]][[GSPTG00026]][[load-balancing]]
+
+Load Balancing
+
+For information on how to configure HTTP load balancing, see
+"link:ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in {productName} High Availability Administration Guide.
+
+For information on how to configure RMI/IIOP for multiple application
+server instances in a cluster, "link:ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing
+and Failover]" in {productName} High Availability
+Administration Guide.
+
+When tuning the client ORB for load-balancing and connections, consider
+the number of connections opened on the server ORB. Start from a low
+number of connections and then increase it to observe any performance
+benefits. A connection to the server translates to an ORB thread reading
+actively from the connection (these threads are not pooled, but exist
+currently for the lifetime of the connection).
+
+[[abehg]][[GSPTG00141]][[thread-pool-sizing]]
+
+===== Thread Pool Sizing
+
+After examining the number of inbound and outbound connections as
+explained above, tune the size of the thread pool appropriately. This
+can affect performance and response times significantly.
+
+The size computation takes into account the number of client requests to
+be processed concurrently, the resource (number of CPUs and amount of
+memory) available on the machine and the response times required for
+processing the client requests.
+
+Setting the size to a very small value can affect the ability of the
+server to process requests concurrently, thus affecting the response
+times since requests will sit longer in the task queue. On the other
+hand, having a large number of worker threads to service requests can
+also be detrimental because they consume system resources, which
+increases concurrency. This can mean that threads take longer to acquire
+shared structures in the EJB container, thus affecting response times.
+
+The worker thread pool is also used for the EJB container's housekeeping
+activity such as trimming the pools and caches. This activity needs to
+be accounted for also when determining the size. Having too many ORB
+worker threads is detrimental for performance since the server has to
+maintain all these threads. The idle threads are destroyed after the
+idle thread timeout period.
+
+[[abehh]][[GSPTG00142]][[examining-iiop-messages]]
+
+===== Examining IIOP Messages
+
+It is sometimes useful to examine the IIOP messages passed by the
+{productName}. To make the server save IIOP messages to the
+`server.log` file, set the JVM option `-Dcom.sun.CORBA.ORBDebug=giop`.
+Use the same option on the client ORB.
+
+The following is an example of IIOP messages saved to the server log.
+Note: in the actual output, each line is preceded by the timestamp, such
+as `[29/Aug/2002:22:41:43] INFO (27179): CORE3282: stdout`.
+
+[source]
+----
+ ++++++++++++++++++++++++++++++
+ Message(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
+createFromStream: type is 4 <
+ MessageBase(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
+Message GIOP version: 1.2
+ MessageBase(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
+ORB Max GIOP Version: 1.2
+ Message(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
+createFromStream: message construction complete.
+ com.sun.corba.ee.internal.iiop.MessageMediator
+(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]): Received message:
+ ----- Input Buffer -----
+ Current index: 0
+ Total length : 340
+ 47 49 4f 50 01 02 00 04 0 0 00 01 48 00 00 00 05 GIOP.......H....
+----
+
+
+[NOTE]
+====
+The flag `-Dcom.sun.CORBA.ORBdebug=giop` generates many debug messages
+in the logs. This is used only when you suspect message fragmentation.
+====
+
+
+In this sample output above, the `createFromStream` type is shown as
+`4`. This implies that the message is a fragment of a bigger message. To
+avoid fragmented messages, increase the fragment size. Larger fragments
+mean that messages are sent as one unit and not as fragments, saving the
+overhead of multiple messages and corresponding processing at the
+receiving end to piece the messages together.
+
+If most messages being sent in the application are fragmented,
+increasing the fragment size is likely to improve efficiency. On the
+other hand, if only a few messages are fragmented, it might be more
+efficient to have a lower fragment size that requires smaller buffers
+for writing messages.
+
+[[abehp]][[GSPTG00067]][[resource-settings]]
+
+=== Resource Settings
+
+Tuning JDBC and connector resources can significantly improve {productName} performance.
+
+The following topics are addressed here:
+
+* link:#abehq[JDBC Connection Pool Settings]
+* link:#abehy[Connector Connection Pool Settings]
+
+[[abehq]][[GSPTG00203]][[jdbc-connection-pool-settings]]
+
+==== JDBC Connection Pool Settings
+
+For optimum performance of database-intensive applications, tune the
+JDBC Connection Pools managed by the {productName}. These connection
+pools maintain numerous live database connections that can be reused to
+reduce the overhead of opening and closing database connections. This
+section describes how to tune JDBC Connection Pools to improve
+performance.
+
+J2EE applications use JDBC Resources to obtain connections that are
+maintained by the JDBC Connection Pool. More than one JDBC Resource is
+allowed to refer to the same JDBC Connection Pool. In such a case, the
+physical connection pool is shared by all the resources.
+
+Refer to "link:administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in
+{productName} Administration Guide for more
+information about managing JDBC connection pools.
+
+The following topics are addressed here:
+
+* link:#abehr[Monitoring JDBC Connection Pools]
+* link:#abehs[Tuning JDBC Connection Pools]
+
+[[abehr]][[GSPTG00143]][[monitoring-jdbc-connection-pools]]
+
+===== Monitoring JDBC Connection Pools
+
+Statistics-gathering is disabled by default for JDBC Connection Pools.
+Refer to for instructions on enabling JDBC monitoring in
+"link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in {productName} Administration Guide. If using the
+Administration Console, JDBC monitoring can be enabled on the
+Configurations>configuration-name>Monitoring page.
+
+The following attributes are monitored:
+
+* `numConnFailedValidation (count)` Number of connections that failed
+validation.
+* `numConnUsed (range)` Number of connections that have been used.
+* `numConnFree (count)` Number of free connections in the pool.
+* `numConnTimedOut (bounded range)` Number of connections in the pool
+that have timed out.
+
+To get JDBC monitoring statistics, use the following commands:
+
+[source]
+----
+asadmin get --monitor=true
+serverInstance.resources.jdbc-connection-pool.*asadmin get
+--monitor=true serverInstance.resources.jdbc-connection-pool. poolName.* *
+----
+
+To view JDBC monitoring statistics through the Administration Console,
+navigate to the server (Admin Server) page and click the Monitor tab.
+Refer to the Administration Console online help for complete
+instructions.
+
+[[abehs]][[GSPTG00144]][[tuning-jdbc-connection-pools]]
+
+===== Tuning JDBC Connection Pools
+
+Refer to "link:administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in
+{productName} Administration Guide for
+instructions on configuring JDBC connection pools. If using the
+{productName} Administration Console by navigating to the
+Resources>JDBC>JDBC Connection Pools>jdbc-pool-name page and then
+clicking the desired tab.
+
+The following JDBC properites affect {productName} performance:
+
+* link:#abeht[Pool Size Settings]
+* link:#abehu[Timeout Settings]
+* link:#abehv[Isolation Level Settings]
+* link:#abehw[Connection Validation Settings]
+
+[[abeht]][[GSPTG00027]][[pool-size-settings]]
+
+Pool Size Settings
+
+Pool Size settings can be configured in the Pool Settings section on the
+General tab in the Edit JDBC Connection Pool page.
+
+The following settings control the size of the connection pool:
+
+* Initial and Mimimum Pool Size: Size of the pool when created, and its
+minimum allowable size.
+* Maximum Pool Size: Upper limit of size of the pool.
+* Pool Resize Quantity: Number of connections to be removed when the
+idle timeout expires. Connections that have idled for longer than the
+timeout are candidates for removal. When the pool size reaches the
+initial and minimum pool size, removal of connections stops.
+
+The following table summarizes advantages and disadvantages to consider
+when sizing connection pools.
+
+[[sthref9]][[gacmi]]
+
+Table 3-3 Connection Pool Sizing
+
+[width="100%",cols="<21%,<38%,<41%",options="header",]
+|===
+|Connection Pool |Advantages |Disadvantages
+|Small Connection pool |Faster access on the connection table. a|
+May not have enough connections to satisfy requests.
+
+Requests may spend more time in the queue.
+
+|Large Connection pool a|
+More connections to fulfill requests.
+
+Requests will spend less (or no) time in the queue
+
+ |Slower access on the connection table.
+|===
+
+
+[[abehu]][[GSPTG00028]][[timeout-settings]]
+
+Timeout Settings
+
+The following JDBC timeout settings can be configured on the in the Pool
+Settings section on the General tab in the Edit JDBC Connection Pool
+page.
+
+* Max Wait Time: Amount of time the caller (the code requesting a
+connection) will wait before getting a connection timeout. The default
+is 60 seconds. A value of zero forces caller to wait indefinitely.
++
+To improve performance set Max Wait Time to zero (0). This essentially
+blocks the caller thread until a connection becomes available. Also,
+this allows the server to alleviate the task of tracking the elapsed
+wait time for each request and increases performance.
+* Idle Timeout: Maximum time in seconds that a connection can remain
+idle in the pool. After this time, the pool can close this connection.
+This property does not control connection timeouts on the database
+server.
++
+Keep this timeout shorter than the database server timeout (if such
+timeouts are configured on the database), to prevent accumulation of
+unusable connection in {productName}.
++
+For best performance, set Idle Timeout to zero (0) seconds, so that idle
+connections will not be removed. This ensures that there is normally no
+penalty in creating new connections and disables the idle monitor
+thread. However, there is a risk that the database server will reset a
+connection that is unused for too long.
+
+[[abehv]][[GSPTG00029]][[isolation-level-settings]]
+
+Isolation Level Settings
+
+The following JDBC Isolation Level settings can be configured in the
+Transaction section on the General tab in the Edit JDBC Connection Pool
+page.
+
+* Transaction Isolation: Specifies the transaction isolation level of
+the pooled database connections. If this parameter is unspecified, the
+pool uses the default isolation level provided by the JDBC Driver.
+* Isolation Level Guaranteed: Guarantees that every connection obtained
+from the pool has the isolation specified for the Transaction Isolation
+level. Applicable only when the Transaction Isolation level is
+specified. The default value is Guaranteed.
++
+This setting can have some performance impact on some JDBC drivers. Set
+to false when certain that the application does not change the isolation
+level before returning the connection.
+
+Avoid specifying the Transaction Isolation level. If that is not
+possible, consider disabling the Isolation Level Guaranteed option and
+then make sure applications do not programmatically alter the
+connections; isolation level.
+
+If you must specify a Transaction Isolation level, specify the
+best-performing level possible. The isolation levels listed from best
+performance to worst are:
+
+1. `READ_UNCOMMITTED`
+2. `READ_COMMITTED`
+3. `REPEATABLE_READ`
+4. `SERIALIZABLE`
+
+Choose the isolation level that provides the best performance, yet still
+meets the concurrency and consistency needs of the application.
+
+[[abehw]][[GSPTG00030]][[connection-validation-settings]]
+
+Connection Validation Settings
+
+JDBC Connection Validation settings can be configured in the Connection
+Validation section on the Advanced tab in the Edit JDBC Connection Pool
+page.
+
+* Connection Validation Required: If enabled, the pool validates
+connections (checks to find out if they are usable) before providing
+them to an application.
++
+If possible, keep this option disabled. Requiring connection validation
+forces the server to apply the validation algorithm every time the pool
+returns a connection, which adds overhead to the latency of
+`getConnection()`. If the database connectivity is reliable, you can
+omit validation.
+* Validation Method: Specifies the type of connection validation to
+perform. Must be one of the following:
+
+** `auto-commit`: Attempt to perform an auto-commit on the connection.
+
+** `metadata`: Attempt to get metadata from the connection.
+
+** `table`: Performing the query on a specified table. If this option is
+selected, Table Name must also be set. Choosing this option may be
+necessary if the JDBC driver caches calls to `setAutoCommit()` and
+`getMetaData()`.
+
+** `custom-validation`: Define a custom validation method.
+* Table Name: Name of the table to query when the Validation Method is
+set to `table`.
+* Close All Connections On Any Failure: Specify whether all connections
+in the pool should be closed if a single validation check fails. This
+option is disabled by default. One attempt will be made to re-establish
+failed connections.
+
+[[abehy]][[GSPTG00204]][[connector-connection-pool-settings]]
+
+==== Connector Connection Pool Settings
+
+From a performance standpoint, connector connection pools are similar to
+JDBC connection pools. Follow all the recommendations in the previous
+section, link:#abehs[Tuning JDBC Connection Pools].
+
+[[abehz]][[GSPTG00145]][[transaction-support]]
+
+===== Transaction Support
+
+You may be able to improve performance by overriding the default
+transaction support specified for each connector connection pool.
+
+For example, consider a case where an Enterprise Information System
+(EIS) has a connection factory that supports local transactions with
+better performance than global transactions. If a resource from this EIS
+needs to be mixed with a resource coming from another resource manager,
+the default behavior forces the use of XA transactions, leading to lower
+performance. However, by changing the EIS's connector connection pool to
+use LocalTransaction transaction support and leveraging the Last Agent
+Optimization feature previously described, you could leverage the
+better-performing EIS LocalTransaction implementation. For more
+information on LAO, see link:tuning-apps.html#abecq[Configure JDBC
+Resources as One-Phase Commit Resources].
+
+You can specify transaction support when you create or edit a connector
+connection pool.
+
+Also set transaction support using `asadmin`. For example, the following
+`asadmin` command could be used to create a connector connection pool
+`TESTPOOL` with `transaction-support` set to `LOCAL`.
+
+[source]
+----
+asadmin> create-connector-connection-pool --raname jdbcra
+--connectiondefinition javax.sql.DataSource
+-transactionsupport LocalTransaction
+TESTPOOL
+----
+
+[[gkxvd]][[GSPTG00068]][[load-balancer-settings]]
+
+=== Load Balancer Settings
+
+{productName} is compatible with the Apache HTTP
+server `mod_jk` module for load balancing.
+
+{productName} load balancing configurations can vary widely depending
+on the needs of your enterprise and are beyond the scope of this
+Performance Tuning Guide. For complete information about configuring
+load balancing in {productName}, refer to the following
+documentation:
+
+* "link:ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in {productName} High Availability Administration Guide
+* "link:ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing and Failover]" in {productName} High Availability Administration Guide
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/tuning-java.adoc b/docs/performance-tuning-guide/src/main/asciidoc/tuning-java.adoc
new file mode 100644
index 0000000..18851f2
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/tuning-java.adoc
@@ -0,0 +1,516 @@
+type=page
+status=published
+title=Tuning the Java Runtime System
+next=tuning-os.html
+prev=tuning-glassfish.html
+~~~~~~
+
+= Tuning the Java Runtime System
+
+[[GSPTG00006]][[abeia]]
+
+
+[[tuning-the-java-runtime-system]]
+== 4 Tuning the Java Runtime System
+
+The following topics are addressed here:
+
+* link:#abeib[Java Virtual Machine Settings]
+* link:#gfpzy[Start Options]
+* link:#glaat[Tuning High Availability Persistence]
+* link:#abeic[Managing Memory and Garbage Collection]
+* link:#abeiq[Further Information]
+
+[[abeib]][[GSPTG00069]][[java-virtual-machine-settings]]
+
+=== Java Virtual Machine Settings
+
+Each JDK have own set of JVM options useful for tuning.
+The easiest way is to run the following command and then consult the JDK's
+documentation to understand all consequences.
+
+[source]
+----
+JAVA_HOME/bin/java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
+----
+
+[[gfpzy]][[GSPTG00070]][[start-options]]
+
+In some situations, performance can be improved by using large page sizes.
+For Ultrasparc CMT systems, include the `-XX:+UseLargePages` and
+`-XX:LargePageSizeInBytes=256m` arguments with your JVM tuning.
+
+[[glaat]][[GSPTG00071]][[tuning-high-availability-persistence]]
+
+=== Tuning High Availability Persistence
+
+If session `s1` and `s2` need to be replicated to an instance (backup
+server), the replication module batches the replication messages to be
+sent to that instance instead of sending separate replication messages.
+This improves performance. In configurations in which a lot of session
+replication is performed, you may find better performance by tuning the
+`org.shoal.cache.transmitter.max.batch.size` system property. This
+property determines the number of replication messages that constitute
+one batch.
+
+The default value for this property is `20`. You can try setting it as
+high as `90`, depending on system loads. Like all system properties,
+this property is set with the `-D` flag in your Java arguments.
+
+[[abeic]][[GSPTG00072]][[managing-memory-and-garbage-collection]]
+
+=== Managing Memory and Garbage Collection
+
+The efficiency of any application depends on how well memory and garbage
+collection are managed. The following sections provide information on
+optimizing memory and allocation functions:
+
+* link:#abeid[Tuning the Garbage Collector]
+* link:#abeig[Tracing Garbage Collection]
+* link:#abeih[Other Garbage Collector Settings]
+* link:#abeii[Tuning the Java Heap]
+* link:#abeio[Rebasing DLLs on Windows]
+
+[[abeid]][[GSPTG00205]][[tuning-the-garbage-collector]]
+
+==== Tuning the Garbage Collector
+
+Garbage collection (GC) reclaims the heap space previously allocated to
+objects no longer needed. The process of locating and removing the dead
+objects can stall any application and consume as much as 25 percent
+throughput.
+
+Almost all Java Runtime Environments come with a generational object
+memory system and sophisticated GC algorithms. A generational memory
+system divides the heap into a few carefully sized partitions called
+generations. The efficiency of a generational memory system is based on
+the observation that most of the objects are short lived. As these
+objects accumulate, a low memory condition occurs forcing GC to take
+place.
+
+The heap space is divided into the old and the new generation. The new
+generation includes the new object space (eden), and two survivor
+spaces. The JVM allocates new objects in the eden space, and moves
+longer lived objects from the new generation to the old generation.
+
+The young generation uses a fast copying garbage collector which employs
+two semi-spaces (survivor spaces) in the eden, copying surviving objects
+from one survivor space to the second. Objects that survive multiple
+young space collections are tenured, meaning they are copied to the
+tenured generation. The tenured generation is larger and fills up less
+quickly. So, it is garbage collected less frequently; and each
+collection takes longer than a young space only collection. Collecting
+the tenured space is also referred to as doing a full generation
+collection.
+
+The frequent young space collections are quick (a few milliseconds),
+while the full generation collection takes a longer (tens of
+milliseconds to a few seconds, depending upon the heap size).
+
+Other GC algorithms, such as the Concurrent Mark Sweep (CMS) algorithm,
+are incremental. They divide the full GC into several incremental
+pieces. This provides a high probability of small pauses. This process
+comes with an overhead and is not required for enterprise web
+applications.
+
+When the new generation fills up, it triggers a minor collection in
+which the surviving objects are moved to the old generation. When the
+old generation fills up, it triggers a major collection which involves
+the entire object heap.
+
+Both HotSpot and Solaris JDK use thread local object allocation pools
+for lock-free, fast, and scalable object allocation. So, custom object
+pooling is not often required. Consider pooling only if object
+construction cost is high and significantly affects execution profiles.
+
+[[abeie]][[GSPTG00146]][[choosing-the-garbage-collection-algorithm]]
+
+===== Choosing the Garbage Collection Algorithm
+
+The default collector for Java server class machines will optimize for
+throughput but be tolerant of somewhat long pause times. If you would
+prefer to have minimal pause times at the expense of some throughput and
+increased CPU usage, consider using the CMS collector.
+
+[[gaclx]][[GSPTG00038]][[to-use-the-cms-collector]]
+
+To use the CMS collector
+
+Follow this procedure.
+
+1. Make sure that the system is not using 100 percent of its CPU.
+2. Configure the CMS collector in the server instance.
++
+To do this, add the following JVM options:
+
+* `-XX:+UseConcMarkSweepGC`
+* `-XX:SoftRefLRUPolicyMSPerMB=1`
+
+[[abeif]][[GSPTG00147]][[additional-information]]
+
+===== Additional Information
+
+Use the `jvmstat` utility to monitor HotSpot garbage collection. (See
+link:#abeiq[Further Information].)
+
+For detailed information on tuning the garbage collector, see
+http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html[Java
+SE 6 HotSpot Virtual Machine Garbage Collection Tuning]
+(`http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html`).
+
+[[abeig]][[GSPTG00206]][[tracing-garbage-collection]]
+
+==== Tracing Garbage Collection
+
+The two primary measures of garbage collection performance are
+throughput and pauses. Throughput is the percentage of the total time
+spent on other activities apart from GC. Pauses are times when an
+application appears unresponsive due to GC.
+
+Two other considerations are footprint and promptness. Footprint is the
+working size of the JVM process, measured in pages and cache lines.
+Promptness is the time between when an object becomes dead, and when the
+memory becomes available. This is an important consideration for
+distributed systems.
+
+A particular generation size makes a trade-off between these four
+metrics. For example, a large young generation likely maximizes
+throughput, but at the cost of footprint and promptness. Conversely,
+using a small young generation and incremental GC will minimize pauses,
+and thus increase promptness, but decrease throughput.
+
+JVM diagnostic output will display information on pauses due to garbage
+collection. If you start the server in verbose mode (use the command
+`asadmin start-domain --verbose` domain), then the command line argument
+`-verbose:gc` prints information for every collection. Here is an
+example of output of the information generated with this JVM flag:
+
+[source]
+----
+[GC 50650K->21808K(76868K), 0.0478645 secs]
+ [GC 51197K->22305K(76868K), 0.0478645 secs]
+ [GC 52293K->23867K(76868K), 0.0478645 secs]
+ [Full GC 52970K->1690K(76868K), 0.54789968 secs]
+----
+
+On each line, the first number is the combined size of live objects
+before GC, the second number is the size of live objects after GC, the
+number in parenthesis is the total available space, which is the total
+heap minus one of the survivor spaces. The final figure is the amount of
+time that the GC took. This example shows three minor collections and
+one major collection. In the first GC, 50650 KB of objects existed
+before collection and 21808 KB of objects after collection. This means
+that 28842 KB of objects were dead and collected. The total heap size is
+76868 KB. The collection process required 0.0478645 seconds.
+
+Other useful monitoring options include:
+
+* `-XX:+PrintGCDetails` for more detailed logging information
+* `-Xloggc:file` to save the information in a log file
+
+[[abeih]][[GSPTG00207]][[other-garbage-collector-settings]]
+
+==== Other Garbage Collector Settings
+
+To specify the attributes for the Java virtual machine, use the
+Administration Console and set the property under config-name > JVM
+settings (JVM options).
+
+[[glgkm]][[GSPTG00148]][[setting-the-maximum-permanent-generation]]
+
+===== Setting the Maximum Permanent Generation
+
+For applications that do not dynamically generate and load classes, the
+size of the permanent generation does not affect GC performance. For
+applications that dynamically generate and load classes (for example,
+JSP applications), the size of the permanent generation does affect GC
+performance, since filling the permanent generation can trigger a Full
+GC. Tune the maximum permanent generation with the `-XX:MaxPermSize`
+option.
+
+[[glglk]][[GSPTG00149]][[disabling-explicit-garbage-collection]]
+
+===== Disabling Explicit Garbage Collection
+
+Although applications can explicitly invoke GC with the `System.gc()`
+method, doing so is a bad idea since this forces major collections, and
+inhibits scalability on large systems. It is best to disable explicit GC
+by using the flag `-XX:+DisableExplicitGC`.
+
+
+[NOTE]
+====
+On Windows systems, setting the `-XX:+DisableExplicitGC` option might
+prevent the renaming or removal of open application files. As a result,
+deployment, redeployment, or other operations that attempt to rename or
+delete files might fail.
+
+Application files can remain open because the files have been used by
+class loaders to find classes or resources, or have been opened
+explicitly by {productName} or application code but never explicitly
+closed. On Windows systems, open files cannot be renamed or deleted. To
+overcome this limitation, {productName} uses the `System.gc()` method
+to garbage collect the Java object that corresponds to an open file.
+When the Java object that corresponds to an open file is garbage
+collected, the object's `finalize` method closes the open channel to the
+file. {productName} can then delete or rename the file.
+====
+
+
+[[glglr]][[GSPTG00150]][[setting-the-frequency-of-full-garbage-collection]]
+
+===== Setting the Frequency of Full Garbage Collection
+
+{productName} uses RMI in the Administration module for monitoring.
+Garbage cannot be collected in RMI-based distributed applications
+without occasional local collections, so RMI forces a periodic full
+collection. Control the frequency of these collections with the property
+`-sun.rmi.dgc.client.gcInterval`. For example,
+`- java -Dsun.rmi.dgc.client.gcInterval=3600000` specifies explicit
+collection once per hour instead of the default rate of once per minute.
+
+[[abeii]][[GSPTG00208]][[tuning-the-java-heap]]
+
+==== Tuning the Java Heap
+
+This section discusses topics related to tuning the Java Heap for
+performance.
+
+* link:#abeij[Guidelines for Java Heap Sizing]
+* link:#abeik[Heap Tuning Parameters]
+
+[[abeij]][[GSPTG00151]][[guidelines-for-java-heap-sizing]]
+
+===== Guidelines for Java Heap Sizing
+
+Maximum heap size depends on maximum address space per process. The
+following table shows the maximum per-process address values for various
+platforms:
+
+[[sthref10]][[gacna]]
+
+Table 4-1 Maximum Address Space Per Process
+
+[width="100%",cols="<62%,<38%",options="header",]
+|===
+|Operating System |Maximum Address Space Per Process
+|Oracle/Redhat/Ubuntu Linux 32-bit |4 GB
+|Oracle/Redhat/Ubuntu Linux 64-bit |Terabytes
+|Windows XP/2008/7 |2 GB
+|Solaris x86 (32-bit) |4 GB
+|Solaris 32-bit |4 GB
+|Solaris 64-bit |Terabytes
+|===
+
+
+Maximum heap space is always smaller than maximum address space per
+process, because the process also needs space for stack, libraries, and
+so on. To determine the maximum heap space that can be allocated, use a
+profiling tool to examine the way memory is used. Gauge the maximum
+stack space the process uses and the amount of memory taken up libraries
+and other memory structures. The difference between the maximum address
+space and the total of those values is the amount of memory that can be
+allocated to the heap.
+
+You can improve performance by increasing your heap size or using a
+different garbage collector. In general, for long-running server
+applications, use the Java SE throughput collector on machines with
+multiple processors (`-XX:+AggressiveHeap`) and as large a heap as you
+can fit in the free memory of your machine.
+
+[[abeik]][[GSPTG00152]][[heap-tuning-parameters]]
+
+===== Heap Tuning Parameters
+
+You can control the heap size with the following JVM parameters:
+
+* ``-Xms``value
+* ``-Xmx``value
+* ``-XX:MinHeapFreeRatio=``minimum
+* ``-XX:MaxHeapFreeRatio=``maximum
+* ``-XX:NewRatio=``ratio
+* ``-XX:NewSize=``size
+* ``-XX:MaxNewSize=``size
+* `-XX:+AggressiveHeap`
+
+The `-Xms` and `-Xmx` parameters define the minimum and maximum heap
+sizes, respectively. Since GC occurs when the generations fill up,
+throughput is inversely proportional to the amount of the memory
+available. By default, the JVM grows or shrinks the heap at each GC to
+try to keep the proportion of free space to the living objects at each
+collection within a specific range. This range is set as a percentage by
+the parameters `-XX:MinHeapFreeRatio=`minimum and
+`-XX:MaxHeapFreeRatio=`maximum; and the total size bounded by `-Xms` and
+`-Xmx`.
+
+Set the values of `-Xms` and `-Xmx` equal to each other for a fixed heap
+size. When the heap grows or shrinks, the JVM must recalculate the old
+and new generation sizes to maintain a predefined `NewRatio`.
+
+The `NewSize` and `MaxNewSize` parameters control the new generation's
+minimum and maximum size. Regulate the new generation size by setting
+these parameters equal. The bigger the younger generation, the less
+often minor collections occur. The size of the young generation relative
+to the old generation is controlled by `NewRatio`. For example, setting
+`-XX:NewRatio=3` means that the ratio between the old and young
+generation is 1:3, the combined size of eden and the survivor spaces
+will be fourth of the heap.
+
+By default, the {productName} is invoked with the Java HotSpot Server
+JVM. The default `NewRatio` for the Server JVM is 2: the old generation
+occupies 2/3 of the heap while the new generation occupies 1/3. The
+larger new generation can accommodate many more short-lived objects,
+decreasing the need for slow major collections. The old generation is
+still sufficiently large enough to hold many long-lived objects.
+
+To size the Java heap:
+
+* Decide the total amount of memory you can afford for the JVM.
+Accordingly, graph your own performance metric against young generation
+sizes to find the best setting.
+* Make plenty of memory available to the young generation. The default
+is calculated from `NewRatio` and the `-Xmx` setting.
+* Larger eden or younger generation spaces increase the spacing between
+full GCs. But young space collections could take a proportionally longer
+time. In general, keep the eden size between one fourth and one third
+the maximum heap size. The old generation must be larger than the new
+generation.
+
+For up-to-date defaults, see
+http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[Java
+HotSpot VM Options]
+(`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`).
+
+[[GSPTG00032]][[fxxpw]]
+Example 4-1 Heap Configuration on Solaris
+
+This is an exmple heap configuration used by {productName} on Solaris
+for large applications:
+
+[source]
+----
+-Xms3584m
+-Xmx3584m
+-verbose:gc
+-Dsun.rmi.dgc.client.gcInterval=3600000
+----
+
+[[abeil]][[GSPTG00031]][[survivor-ratio-sizing]]
+
+Survivor Ratio Sizing
+
+The `SurvivorRatio` parameter controls the size of the two survivor
+spaces. For example, `-XX:SurvivorRatio=6` sets the ratio between each
+survivor space and eden to be 1:6, each survivor space will be one
+eighth of the young generation. The default for Solaris is 32. If
+survivor spaces are too small, copying collection overflows directly
+into the old generation. If survivor spaces are too large, they will be
+empty. At each GC, the JVM determines the number of times an object can
+be copied before it is tenured, called the tenure threshold. This
+threshold is chosen to keep the survivor space half full.
+
+Use the option `-XX:+PrintTenuringDistribution` to show the threshold
+and ages of the objects in the new generation. It is useful for
+observing the lifetime distribution of an application.
+
+[[abeio]][[GSPTG00209]][[rebasing-dlls-on-windows]]
+
+==== Rebasing DLLs on Windows
+
+When the JVM initializes, it tries to allocate its heap using the `-Xms`
+setting. The base addresses of {productName} DLLs can restrict the
+amount of contiguous address space available, causing JVM initialization
+to fail. The amount of contiguous address space available for Java
+memory varies depending on the base addresses assigned to the DLLs. You
+can increase the amount of contiguous address space available by
+rebasing the {productName} DLLs.
+
+To prevent load address collisions, set preferred base addresses with
+the rebase utilty that comes with Visual Studio and the Platform SDK.
+Use the rebase utility to reassign the base addresses of the {productName} DLLs to prevent relocations at load time and increase the
+available process memory for the Java heap.
+
+There are a few {productName} DLLs that have non-default base
+addresses that can cause collisions. For example:
+
+* The `nspr` libraries have a preferred address of 0x30000000.
+* The `icu` libraries have the address of 0x4A?00000.
+
+Move these libraries near the system DLLs (`msvcrt.dll` is at
+`0x78000000`) to increase the available maximum contiguous address space
+substantially. Since rebasing can be done on any DLL, rebase to the DLLs
+after installing the {productName}.
+
+[[gacmt]][[GSPTG00039]][[to-rebase-the-glassfish-servers-dlls]]
+
+===== To rebase the {productName}'s DLLs
+
+[[sthref11]]
+
+Before You Begin
+
+To perform rebasing, you need:
+
+* Windows 2000
+* Visual Studio and the Microsoft Framework SDK rebase utility
+
+1. Make as-install\ `bin` the default directory.
++
+[source]
+----
+cd as-install\bin
+----
+
+2. Enter this command:
++
+[source]
+----
+rebase -b 0x6000000 *.dll
+----
+
+3. Use the `dependencywalker` utility to make sure the DLLs were
+rebased correctly.
++
+For more information, see the http://www.dependencywalker.com[Dependency
+Walker website] (`http://www.dependencywalker.com`).
+
+4. Increase the size for the Java heap, and set the JVM Option
+accordingly on the JVM Settings page in the Admin Console.
+
+5. Restart the {productName}.
+
+[[GSPTG00033]][[fxxpz]]
+Example 4-2 Heap Configuration on Windows
+
+This is an example heap configuration used by {productName}
+for heavy server-centric applications, on Windows, as set in the
+`domain.xml` file.
+
+[source,xml]
+----
+<jvm-options> -Xms1400m </jvm-options>
+<jvm-options> -Xmx1400m </jvm-options>
+----
+
+[[sthref12]]
+
+See Also
+
+For more information on rebasing, see
+http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/rebase.asp[MSDN
+documentation for rebase utility]
+(`http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/rebase.asp`).
+
+[[abeiq]][[GSPTG00073]][[further-information]]
+
+=== Further Information
+
+For more information on tuning the JVM, see:
+
+* http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[
+Java HotSpot VM Options]
+(`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`)
+* http://www.oracle.com/technetwork/java/hotspotfaq-138619.html[
+Frequently Asked Questions About the Java HotSpot Virtual Machine]
+(`http://www.oracle.com/technetwork/java/hotspotfaq-138619.html`)
+* http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html[
diff --git a/docs/performance-tuning-guide/src/main/asciidoc/tuning-os.adoc b/docs/performance-tuning-guide/src/main/asciidoc/tuning-os.adoc
new file mode 100644
index 0000000..05a6f0a
--- /dev/null
+++ b/docs/performance-tuning-guide/src/main/asciidoc/tuning-os.adoc
@@ -0,0 +1,1032 @@
+type=page
+status=published
+title=Tuning the Operating System and Platform
+prev=tuning-java.html
+~~~~~~
+
+= Tuning the Operating System and Platform
+
+[[GSPTG00007]][[abeir]]
+
+
+[[tuning-the-operating-system-and-platform]]
+== 5 Tuning the Operating System and Platform
+
+This chapter discusses tuning the operating system (OS) for optimum
+performance. It discusses the following topics:
+
+* link:#abeis[Server Scaling]
+* link:#gfpzp[Solaris 10 Platform-Specific Tuning Information]
+* link:#abeix[Tuning for the Solaris OS]
+* link:#abeje[Tuning for Solaris on x86]
+* link:#abeji[Tuning for Linux platforms]
+* link:#gfpzh[Tuning UltraSPARC CMT-Based Systems]
+
+[[abeis]][[GSPTG00074]][[server-scaling]]
+
+=== Server Scaling
+
+This section provides recommendations for optimal performance scaling
+server for the following server subsystems:
+
+* link:#abeit[Processors]
+* link:#abeiu[Memory]
+* link:#abeiv[Disk Space]
+* link:#abeiw[Networking]
+* link:#glglf[UDP Buffer Sizes]
+
+[[abeit]][[GSPTG00210]][[processors]]
+
+==== Processors
+
+The {productName} automatically takes advantage of multiple CPUs. In
+general, the effectiveness of multiple CPUs varies with the operating
+system and the workload, but more processors will generally improve
+dynamic content performance.
+
+Static content involves mostly input/output (I/O) rather than CPU
+activity. If the server is tuned properly, increasing primary memory
+will increase its content caching and thus increase the relative amount
+of time it spends in I/O versus CPU activity. Studies have shown that
+doubling the number of CPUs increases servlet performance by 50 to 80
+percent.
+
+[[abeiu]][[GSPTG00211]][[memory]]
+
+==== Memory
+
+See the section Hardware and Software Requirements in the {productName} Release Notes for specific memory recommendations for each
+supported operating system.
+
+[[abeiv]][[GSPTG00212]][[disk-space]]
+
+==== Disk Space
+
+It is best to have enough disk space for the OS, document tree, and log
+files. In most cases 2GB total is sufficient.
+
+Put the OS, swap/paging file, {productName} logs, and document tree
+each on separate hard drives. This way, if the log files fill up the log
+drive, the OS does not suffer. Also, its easy to tell if the OS paging
+file is causing drive activity, for example.
+
+OS vendors generally provide specific recommendations for how much swap
+or paging space to allocate. Based on Oracle testing, {productName}
+performs best with swap space equal to RAM, plus enough to map the
+document tree.
+
+[[abeiw]][[GSPTG00213]][[networking]]
+
+==== Networking
+
+To determine the bandwidth the application needs, determine the
+following values:
+
+* The number of peak concurrent users (N ~peak~) the server needs to
+handle.
+* The average request size on your site, r. The average request can
+include multiple documents. When in doubt, use the home page and all its
+associated files and graphics.
+* Decide how long, t, the average user will be willing to wait for a
+document at peak utilization.
+
+Then, the bandwidth required is:
+
+N~peak~r / t
+
+For example, to support a peak of 50 users with an average document size
+of 24 Kbytes, and transferring each document in an average of 5 seconds,
+requires 240 Kbytes (1920 Kbit/s). So the site needs two T1 lines (each
+1544 Kbit/s). This bandwidth also allows some overhead for growth.
+
+The server's network interface card must support more than the WAN to
+which it is connected. For example, if you have up to three T1 lines,
+you can get by with a 10BaseT interface. Up to a T3 line (45 Mbit/s),
+you can use 100BaseT. But if you have more than 50 Mbit/s of WAN
+bandwidth, consider configuring multiple 100BaseT interfaces, or look at
+Gigabit Ethernet technology.
+
+[[glglf]][[GSPTG00214]][[udp-buffer-sizes]]
+
+==== UDP Buffer Sizes
+
+{productName} uses User Datagram Protocol (UDP) for the transmission
+of multicast messages to {productName} instances in a cluster. For
+peak performance from a {productName} cluster that uses UDP
+multicast, limit the need to retransmit UDP messages. To limit the need
+to retransmit UDP messages, set the size of the UDP buffer to avoid
+excessive UDP datagram loss.
+
+[[sthref13]][[to-determine-an-optimal-udp-buffer-size]]
+
+===== To Determine an Optimal UDP Buffer Size
+
+The size of UDP buffer that is required to prevent excessive UDP
+datagram loss depends on many factors, such as:
+
+* The number of instances in the cluster
+* The number of instances on each host
+* The number of processors
+* The amount of memory
+* The speed of the hard disk for virtual memory
+
+If only one instance is running on each host in your cluster, the
+default UDP buffer size should suffice. If several instances are running
+on each host, determine whether the UDP buffer is large enough by
+testing for the loss of UDP packets.
+
+
+[NOTE]
+====
+On Linux systems, the default UDP buffer size might be insufficient even
+if only one instance is running on each host. In this situation, set the
+UDP buffer size as explained in link:#glglz[To Set the UDP Buffer Size
+on Linux Systems].
+====
+
+
+[[glgiw]]
+
+1. Ensure that no {productName} clusters are running.
++
+If necessary, stop any running clusters as explained in
+"link:ha-administration-guide/instances.html#GSHAG00110[To Stop a Cluster]"
+in {productName} High Availability Administration Guide.
+
+2. Determine the absolute number of lost UDP packets when no clusters
+are running.
++
+How you determine the number of lost packets depends on the operating
+system. For example:
+
+* On Linux systems, use the `netstat -su` command and look for the
+`packet receive errors` count in the `Udp` section.
+* On AIX systems, use the `netstat -s` command and look for the
+`fragments dropped (dup or out of space)` count in the `ip` section.
+
+3. Start all the clusters that are configured for your installation of
+{productName}.
++
+Start each cluster as explained in "link:ha-administration-guide/instances.html#GSHAG00109[To Start a
+Cluster]" in {productName} High Availability
+Administration Guide.
+
+4. Determine the absolute number of lost UDP packets after the clusters are started.
+
+5. If the difference in the number of lost packets is significant,
+increase the size of the UDP buffer.
+
+[[glglz]][[GSPTG00040]][[to-set-the-udp-buffer-size-on-linux-systems]]
+
+===== To Set the UDP Buffer Size on Linux Systems
+
+On Linux systems, a default UDP buffer size is set for the client, but
+not for the server. Therefore, on Linux systems, the UDP buffer size
+might have to be increased. Setting the UDP buffer size involves setting
+the following kernel parameters:
+
+* `net.core.rmem_max`
+* `net.core.wmem_max`
+* `net.core.rmem_default`
+* `net.core.wmem_default`
+
+Set the kernel parameters in the `/etc/sysctl.conf` file or at runtime.
+
+If you set the parameters in the `/etc/sysctl.conf` file, the settings
+are preserved when the system is rebooted. If you set the parameters at
+runtime, the settings are not preserved when the system is rebooted.
+
+* To set the parameters in the `/etc/sysctl.conf` file, add or edit the
+following lines in the file:
++
+[source]
+----
+net.core.rmem_max=rmem-max
+net.core.wmem_max=wmem-max
+net.core.rmem_default=rmem-default
+net.core.wmem_default=wmem-default
+----
+* To set the parameters at runtime, use the sysctl command.
++
+[source]
+----
+$ /sbin/sysctl -w net.core.rmem_max=rmem-max \
+net.core.wmem_max=wmem-max \
+net.core.rmem_default=rmem-default \
+net.core.wmem_default=wmem-default
+----
+
+[[sthref14]]
+
+Example 5-1 Setting the UDP Buffer Size in the `/etc/sysctl.conf` File
+
+This example shows the lines in the `/etc/sysctl.conf` file for setting
+the kernel parameters for controlling the UDP buffer size to 524288.
+
+[source]
+----
+net.core.rmem_max=524288
+net.core.wmem_max=524288
+net.core.rmem_default=524288
+net.core.wmem_default=524288
+----
+
+[[GSPTG00034]][[glgjp]]
+Example 5-2 Setting the UDP Buffer Size at Runtime
+
+This example sets the kernel parameters for controlling the UDP buffer
+size to 524288 at runtime.
+
+[source]
+----
+$ /sbin/sysctl -w net.core.rmem_max=524288 \
+net.core.wmem_max=52428 \
+net.core.rmem_default=52428 \
+net.core.wmem_default=524288
+net.core.rmem_max = 524288
+net.core.wmem_max = 52428
+net.core.rmem_default = 52428
+net.core.wmem_default = 524288
+----
+
+[[gfpzp]][[GSPTG00075]][[solaris-10-platform-specific-tuning-information]]
+
+=== Solaris 10 Platform-Specific Tuning Information
+
+Solaris Dynamic Tracing (DTrace) is a comprehensive dynamic tracing
+framework for the Solaris Operating System (OS). You can use the DTrace
+Toolkit to monitor the system. The DTrace Toolkit is available through
+the OpenSolaris project from the
+http://hub.opensolaris.org/bin/view/Community+Group+dtrace/dtracetoolkit[DTraceToolkit
+page]
+(`http://hub.opensolaris.org/bin/view/Community+Group+dtrace/dtracetoolkit`).
+
+[[abeix]][[GSPTG00076]][[tuning-for-the-solaris-os]]
+
+=== Tuning for the Solaris OS
+
+* link:#abeiy[Tuning Parameters]
+* link:#abeja[File Descriptor Setting]
+
+[[abeiy]][[GSPTG00215]][[tuning-parameters]]
+
+==== Tuning Parameters
+
+Tuning Solaris TCP/IP settings benefits programs that open and close
+many sockets. Since the {productName} operates with a small fixed set
+of connections, the performance gain might not be significant.
+
+The following table shows Solaris tuning parameters that affect
+performance and scalability benchmarking. These values are examples of
+how to tune your system for best performance.
+
+[[sthref15]][[gacmm]]
+
+Table 5-1 Tuning Parameters for Solaris
+
+[width="100%",cols="<25%,<16%,<10%,<10%,<30%",options="header",]
+|===
+|Parameter |Scope |Default |Tuned |Comments
+|`rlim_fd_max`
+|`/etc/system`
+|65536
+|65536
+|Limit of process open file descriptors.
+Set to account for expected load (for associated sockets, files, and pipes if any).
+
+|`rlim_fd_cur`
+|`/etc/system`
+|1024
+|8192
+|
+
+
+|
+`sq_max_size`
+|`/etc/system`
+|2
+|0
+|Controls streams driver queue size;
+setting to 0 makes it infinite so the performance runs won't be hit by
+lack of buffer space. Set on clients too. Note that setting
+`sq_max_size` to 0 might not be optimal for production systems with high
+network traffic.
+
+|`tcp_close_wait_interval`
+|`ndd /dev/tcp`
+|240000
+|60000
+|Set on clients too.
+
+|`tcp_time_wait_interval`
+|`ndd /dev/tcp`
+|240000
+|60000
+|Set on clients too.
+
+|`tcp_conn_req_max_q`
+|`ndd /dev/tcp`
+|128
+|1024
+|
+
+|`tcp_conn_req_max_q0`
+|`ndd /dev/tcp`
+|1024
+|4096
+|
+
+|`tcp_ip_abort_interval`
+|`ndd /dev/tcp`
+|480000
+|60000
+|
+
+|`tcp_keepalive_interval`
+|`ndd /dev/tcp`
+|7200000
+|900000
+|For high traffic web sites, lower this value.
+
+|`tcp_rexmit_interval_initial`
+|`ndd /dev/tcp`
+|3000
+|3000
+|If retransmission is greater than 30-40%, you should increase this value.
+
+|`tcp_rexmit_interval_max`
+|`ndd /dev/tcp`
+|240000
+|10000
+|
+
+|`tcp_rexmit_interval_min`
+|`ndd /dev/tcp`
+|200
+|3000
+|
+
+|`tcp_smallest_anon_port`
+|`ndd /dev/tcp`
+|32768
+|1024
+|Set on clients too.
+
+|`tcp_slow_start_initial`
+|`ndd /dev/tcp`
+|1
+|2
+|Slightly faster transmission of small amounts of data.
+
+|`tcp_xmit_hiwat`
+|`ndd /dev/tcp`
+|8129
+|32768
+|Size of transmit buffer.
+
+|`tcp_recv_hiwat`
+|`ndd /dev/tcp`
+|8129
+|32768
+|Size of receive buffer.
+
+|`tcp_conn_hash_size`
+|`ndd /dev/tcp`
+|512
+|8192
+|Size of connection hash table. See link:#abeiz[Sizing the Connection Hash Table].
+|===
+
+
+[[abeiz]][[GSPTG00153]][[sizing-the-connection-hash-table]]
+
+===== Sizing the Connection Hash Table
+
+The connection hash table keeps all the information for active TCP
+connections. Use the following command to get the size of the connection
+hash table:
+
+[source]
+----
+ndd -get /dev/tcp tcp_conn_hash
+----
+
+This value does not limit the number of connections, but it can cause
+connection hashing to take longer. The default size is 512.
+
+To make lookups more efficient, set the value to half of the number of
+concurrent TCP connections that are expected on the server. You can set
+this value only in `/etc/system`, and it becomes effective at boot time.
+
+Use the following command to get the current number of TCP connections.
+
+[source]
+----
+netstat -nP tcp|wc -l
+----
+
+[[abeja]][[GSPTG00216]][[file-descriptor-setting]]
+
+==== File Descriptor Setting
+
+On the Solaris OS, setting the maximum number of open files property
+using `ulimit` has the biggest impact on efforts to support the maximum
+number of RMI/IIOP clients.
+
+To increase the hard limit, add the following command to `/etc/system`
+and reboot it once:
+
+[source]
+----
+set rlim_fd_max = 8192
+----
+
+Verify this hard limit by using the following command:
+
+[source]
+----
+ulimit -a -H
+----
+
+Once the above hard limit is set, increase the value of this property
+explicitly (up to this limit) using the following command:
+
+[source]
+----
+ulimit -n 8192
+----
+
+Verify this limit by using the following command:
+
+[source]
+----
+ulimit -a
+----
+
+For example, with the default `ulimit` of 64, a simple test driver can
+support only 25 concurrent clients, but with `ulimit` set to 8192, the
+same test driver can support 120 concurrent clients. The test driver
+spawned multiple threads, each of which performed a JNDI lookup and
+repeatedly called the same business method with a think (delay) time of
+500 ms between business method calls, exchanging data of about 100 KB.
+These settings apply to RMI/IIOP clients on the Solaris OS.
+
+[[abeje]][[GSPTG00077]][[tuning-for-solaris-on-x86]]
+
+=== Tuning for Solaris on x86
+
+The following are some options to consider when tuning Solaris on x86
+for {productName}:
+
+* link:#abejg[File Descriptors]
+* link:#abejh[IP Stack Settings]
+
+Some of the values depend on the system resources available. After
+making any changes to `/etc/system`, reboot the machines.
+
+[[abejg]][[GSPTG00217]][[file-descriptors]]
+
+==== File Descriptors
+
+Add (or edit) the following lines in the `/etc/system` file:
+
+[source]
+----
+set rlim_fd_max=65536
+set rlim_fd_cur=65536
+set sq_max_size=0
+set tcp:tcp_conn_hash_size=8192
+set autoup=60
+set pcisch:pci_stream_buf_enable=0
+----
+
+These settings affect the file descriptors.
+
+[[abejh]][[GSPTG00218]][[ip-stack-settings]]
+
+==== IP Stack Settings
+
+Add (or edit) the following lines in the `/etc/system` file:
+
+[source]
+----
+set ip:tcp_squeue_wput=1
+set ip:tcp_squeue_close=1
+set ip:ip_squeue_bind=1
+set ip:ip_squeue_worker_wait=10
+set ip:ip_squeue_profile=0
+----
+
+These settings tune the IP stack.
+
+To preserve the changes to the file between system reboots, place the
+following changes to the default TCP variables in a startup script that
+gets executed when the system reboots:
+
+[source]
+----
+ndd -set /dev/tcp tcp_time_wait_interval 60000
+ndd -set /dev/tcp tcp_conn_req_max_q 16384
+ndd -set /dev/tcp tcp_conn_req_max_q0 16384
+ndd -set /dev/tcp tcp_ip_abort_interval 60000
+ndd -set /dev/tcp tcp_keepalive_interval 7200000
+ndd -set /dev/tcp tcp_rexmit_interval_initial 4000
+ndd -set /dev/tcp tcp_rexmit_interval_min 3000
+ndd -set /dev/tcp tcp_rexmit_interval_max 10000
+ndd -set /dev/tcp tcp_smallest_anon_port 32768
+ndd -set /dev/tcp tcp_slow_start_initial 2
+ndd -set /dev/tcp tcp_xmit_hiwat 32768
+ndd -set /dev/tcp tcp_recv_hiwat 32768
+----
+
+[[abeji]][[GSPTG00078]][[tuning-for-linux-platforms]]
+
+=== Tuning for Linux platforms
+
+To tune for maximum performance on Linux, you need to make adjustments
+to the following:
+
+* link:#gkvjl[Startup Files]
+* link:#abejj[File Descriptors]
+* link:#abejk[Virtual Memory]
+* link:#abejl[Network Interface]
+* link:#abejm[Disk I/O Settings]
+* link:#abejn[TCP/IP Settings]
+
+[[gkvjl]][[GSPTG00219]][[startup-files]]
+
+==== Startup Files
+
+The following parameters must be added to the `/etc/rc.d/rc.local` file
+that gets executed during system startup.
+
+[source]
+----
+<-- begin
+#max file count updated ~256 descriptors per 4Mb.
+Specify number of file descriptors based on the amount of system RAM.
+echo "6553"> /proc/sys/fs/file-max
+#inode-max 3-4 times the file-max
+#file not present!!!!!
+#echo"262144"> /proc/sys/fs/inode-max
+#make more local ports available
+echo 1024 25000> /proc/sys/net/ipv4/ip_local_port_range
+#increase the memory available with socket buffers
+echo 2621143> /proc/sys/net/core/rmem_max
+echo 262143> /proc/sys/net/core/rmem_default
+#above configuration for 2.4.X kernels
+echo 4096 131072 262143> /proc/sys/net/ipv4/tcp_rmem
+echo 4096 13107262143> /proc/sys/net/ipv4/tcp_wmem
+#disable "RFC2018 TCP Selective Acknowledgements," and
+"RFC1323 TCP timestamps" echo 0> /proc/sys/net/ipv4/tcp_sack
+echo 0> /proc/sys/net/ipv4/tcp_timestamps
+#double maximum amount of memory allocated to shm at runtime
+echo "67108864"> /proc/sys/kernel/shmmax
+#improve virtual memory VM subsystem of the Linux
+echo "100 1200 128 512 15 5000 500 1884 2"> /proc/sys/vm/bdflush
+#we also do a sysctl
+sysctl -p /etc/sysctl.conf
+-- end -->
+----
+
+Additionally, create an `/etc/sysctl.conf` file and append it with the
+following values:
+
+[source]
+----
+<-- begin
+#Disables packet forwarding
+net.ipv4.ip_forward = 0
+#Enables source route verification
+net.ipv4.conf.default.rp_filter = 1
+#Disables the magic-sysrq key
+kernel.sysrq = 0
+fs.file-max=65536
+vm.bdflush = 100 1200 128 512 15 5000 500 1884 2
+net.ipv4.ip_local_port_range = 1024 65000
+net.core.rmem_max= 262143
+net.core.rmem_default = 262143
+net.ipv4.tcp_rmem = 4096 131072 262143
+net.ipv4.tcp_wmem = 4096 131072 262143
+net.ipv4.tcp_sack = 0
+net.ipv4.tcp_timestamps = 0
+kernel.shmmax = 67108864
+----
+
+[[abejj]][[GSPTG00220]][[file-descriptors-1]]
+
+==== File Descriptors
+
+You may need to increase the number of file descriptors from the
+default. Having a higher number of file descriptors ensures that the
+server can open sockets under high load and not abort requests coming in
+from clients.
+
+Start by checking system limits for file descriptors with this command:
+
+[source]
+----
+cat /proc/sys/fs/file-max
+8192
+----
+
+The current limit shown is 8192. To increase it to 65535, use the
+following command (as root):
+
+[source]
+----
+echo "65535"> /proc/sys/fs/file-max
+----
+
+To make this value to survive a system reboot, add it to
+`/etc/sysctl.conf` and specify the maximum number of open files
+permitted:
+
+[source]
+----
+fs.file-max = 65535
+----
+
+Note that the parameter is not `proc.sys.fs.file-max`, as one might
+expect.
+
+To list the available parameters that can be modified using `sysctl`:
+
+[source]
+----
+sysctl -a
+----
+
+To load new values from the `sysctl.conf` file:
+
+[source]
+----
+sysctl -p /etc/sysctl.conf
+----
+
+To check and modify limits per shell, use the following command:
+
+[source]
+----
+limit
+----
+
+The output will look something like this:
+
+[source]
+----
+cputime         unlimited
+filesize        unlimited
+datasize        unlimited
+stacksize       8192 kbytes
+coredumpsize    0 kbytes
+memoryuse       unlimited
+descriptors     1024
+memorylocked    unlimited
+maxproc         8146
+openfiles       1024
+----
+
+The `openfiles` and `descriptors` show a limit of 1024. To increase the
+limit to 65535 for all users, edit `/etc/security/limits.conf` as root,
+and modify or add the `nofile` setting (number of file) entries:
+
+[source]
+----
+*         soft    nofile                     65535
+*         hard    nofile                     65535
+----
+
+The character "`*`" is a wildcard that identifies all users. You could
+also specify a user ID instead.
+
+Then edit `/etc/pam.d/login` and add the line:
+
+[source]
+----
+session required /lib/security/pam_limits.so
+----
+
+On Red Hat, you also need to edit `/etc/pam.d/sshd` and add the
+following line:
+
+[source]
+----
+session required /lib/security/pam_limits.so
+----
+
+On many systems, this procedure will be sufficient. Log in as a regular
+user and try it before doing the remaining steps. The remaining steps
+might not be required, depending on how pluggable authentication modules
+(PAM) and secure shell (SSH) are configured.
+
+[[abejk]][[GSPTG00221]][[virtual-memory]]
+
+==== Virtual Memory
+
+To change virtual memory settings, add the following to `/etc/rc.local`:
+
+[source]
+----
+echo 100 1200 128 512 15 5000 500 1884 2> /proc/sys/vm/bdflush
+----
+
+For more information, view the man pages for `bdflush`.
+
+[[abejl]][[GSPTG00222]][[network-interface]]
+
+==== Network Interface
+
+To ensure that the network interface is operating in full duplex mode,
+add the following entry into `/etc/rc.local`:
+
+[source]
+----
+mii-tool -F 100baseTx-FD eth0
+----
+
+where eth0 is the name of the network interface card (NIC).
+
+[[abejm]][[GSPTG00223]][[disk-io-settings]]
+
+==== Disk I/O Settings
+

+
+[[gaclw]][[GSPTG00041]][[to-tune-disk-io-performance-for-non-scsi-disks]]
+
+===== To tune disk I/O performance for non SCSI disks
+
+1. Test the disk speed.
++
+Use this command:
++
+[source]
+----
+/sbin/hdparm -t /dev/hdX
+----
+
+2. Enable direct memory access (DMA).
++
+Use this command:
++
+[source]
+----
+/sbin/hdparm -d1 /dev/hdX
+----
+
+3. Check the speed again using the `hdparm` command.
++
+Given that DMA is not enabled by default, the transfer rate might have
+improved considerably. In order to do this at every reboot, add the
+`/sbin/hdparm -d1 /dev/hdX` line to `/etc/conf.d/local.start`,
+`/etc/init.d/rc.local`, or whatever the startup script is called.
++
+For information on SCSI disks, see:
+http://people.redhat.com/alikins/system_tuning.html#scsi[System Tuning
+for Linux Servers — SCSI]
+(`http://people.redhat.com/alikins/system_tuning.html#scsi`).
+
+[[abejn]][[GSPTG00224]][[tcpip-settings]]
+
+==== TCP/IP Settings
+

+
+[[gacmd]][[GSPTG00042]][[to-tune-the-tcpip-settings]]
+
+===== To tune the TCP/IP settings
+
+1. Add the following entry to `/etc/rc.local`
++
+[source]
+----
+echo 30> /proc/sys/net/ipv4/tcp_fin_timeout
+echo 60000> /proc/sys/net/ipv4/tcp_keepalive_time
+echo 15000> /proc/sys/net/ipv4/tcp_keepalive_intvl
+echo 0> /proc/sys/net/ipv4/tcp_window_scaling
+----
+
+2. Add the following to `/etc/sysctl.conf`
++
+[source]
+----
+# Disables packet forwarding
+net.ipv4.ip_forward = 0
+# Enables source route verification
+net.ipv4.conf.default.rp_filter = 1
+# Disables the magic-sysrq key
+kernel.sysrq = 0
+net.ipv4.ip_local_port_range = 1204 65000
+net.core.rmem_max = 262140
+net.core.rmem_default = 262140
+net.ipv4.tcp_rmem = 4096 131072 262140
+net.ipv4.tcp_wmem = 4096 131072 262140
+net.ipv4.tcp_sack = 0
+net.ipv4.tcp_timestamps = 0
+net.ipv4.tcp_window_scaling = 0
+net.ipv4.tcp_keepalive_time = 60000
+net.ipv4.tcp_keepalive_intvl = 15000
+net.ipv4.tcp_fin_timeout = 30
+----
+
+3. Add the following as the last entry in `/etc/rc.local`
++
+[source]
+----
+sysctl -p /etc/sysctl.conf
+----
+
+4. Reboot the system.
+5. Use this command to increase the size of the transmit buffer:
++
+[source]
+----
+tcp_recv_hiwat ndd /dev/tcp 8129 32768
+----
+
+[[gfpzh]][[GSPTG00079]][[tuning-ultrasparc-cmt-based-systems]]
+
+=== Tuning UltraSPARC CMT-Based Systems
+
+Use a combination of tunable parameters and other parameters to tune
+UltraSPARC CMT-based systems. These values are an example of how you
+might tune your system to achieve the desired result.
+
+[[gfpzv]][[GSPTG00225]][[tuning-operating-system-and-tcp-settings]]
+
+==== Tuning Operating System and TCP Settings
+
+The following table shows the operating system tuning for Solaris 10
+used when benchmarking for performance and scalability on UtraSPARC
+CMT-based systems (64-bit systems).
+
+[[sthref16]][[gkuaa]]
+
+Table 5-2 Tuning 64-bit Systems for Performance Benchmarking
+
+[width="100%",cols="<25%,<20%,<10%,<10%,<30%",options="header",]
+|===
+|Parameter |Scope |Default |Tuned |Comments
+
+|`rlim_fd_max`
+|`/etc/system`
+|65536
+|260000
+|Process open file descriptors limit;
+should account for the expected load
+(for the associated sockets, files, pipes if any).
+
+|`hires_tick`
+|`/etc/system`
+|
+|1
+|
+
+|`sq_max_size`
+|`/etc/system`
+|2
+|0
+|Controls streams driver queue size;
+setting to 0 makes it infinite so the performance runs won't be hit by
+lack of buffer space. Set on clients too. Note that setting
+`sq_max_size` to 0 might not be optimal for production systems with high
+network traffic.
+
+|`ip:ip_squeue_bind`
+|
+|
+|0
+|
+
+|`ip:ip_squeue_fanout`
+|
+|
+|1
+|
+
+|`ipge:ipge_taskq_disable`
+|`/etc/system`
+|
+|0
+|
+
+|`ipge:ipge_tx_ring_size`
+|`/etc/system`
+|
+|2048
+|
+
+|`ipge:ipge_srv_fifo_depth`
+|`/etc/system`
+|
+|2048
+|
+
+|`ipge:ipge_bcopy_thresh`
+|`/etc/system`
+|
+|384
+|
+
+|`ipge:ipge_dvma_thresh`
+|`/etc/system`
+|
+|384
+|
+
+|`ipge:ipge_tx_syncq`
+|`/etc/system`
+|
+|1
+|
+
+|`tcp_conn_req_max_q`
+|`ndd /dev/tcp`
+|128
+|3000
+|
+
+|`tcp_conn_req_max_q0`
+|`ndd /dev/tcp`
+|1024
+|3000
+|
+
+|`tcp_max_buf`
+|`ndd /dev/tcp`
+|
+|4194304
+|
+
+|`tcp_cwnd_max`
+|`ndd/dev/tcp`
+|
+|2097152
+|
+
+|`tcp_xmit_hiwat`
+|`ndd /dev/tcp`
+|8129
+|400000
+|To increase the transmit buffer.
+
+|`tcp_recv_hiwat`
+|`ndd /dev/tcp`
+|8129
+|400000
+|To increase the receive buffer.
+|===
+
+
+Note that the IPGE driver version is 1.25.25.
+
+[[gfpzm]][[GSPTG00226]][[disk-configuration]]
+
+==== Disk Configuration
+
+If HTTP access is logged, follow these guidelines for the disk:
+
+* Write access logs on faster disks or attached storage.
+* If running multiple instances, move the logs for each instance onto
+separate disks as much as possible.
+* Enable the disk read/write cache. Note that if you enable write cache
+on the disk, some writes might be lost if the disk fails.
+* Consider mounting the disks with the following options, which might
+yield better disk performance: `nologging`, `directio`, `noatime`.
+
+[[gfpzk]][[GSPTG00227]][[network-configuration]]
+
+==== Network Configuration
+
+If more than one network interface card is used, make sure the network
+interrupts are not all going to the same core. Run the following script
+to disable interrupts:
+
+[source]
+----
+allpsr=`/usr/sbin/psrinfo | grep -v off-line | awk '{ print $1 }'`
+   set $allpsr
+   numpsr=$#
+   while [ $numpsr -gt 0 ];
+   do
+       shift
+       numpsr=`expr $numpsr - 1`
+       tmp=1
+       while [ $tmp -ne 4 ];
+       do
+           /usr/sbin/psradm -i $1
+           shift
+           numpsr=`expr $numpsr - 1`
+           tmp=`expr $tmp + 1`
+       done
+   done
+----
+
+Put all network interfaces into a single group. For example:
+
+[source]
+----
+$ifconfig ipge0 group webserver
+$ifconfig ipge1 group webserver
+----
diff --git a/docs/performance-tuning-guide/src/main/jbake/assets/css/style.css b/docs/performance-tuning-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/loe.adoc b/docs/performance-tuning-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index a32c9da..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lof.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:tuning-java.html#fxxpw[4-1 Heap Configuration on Solaris]
-* link:tuning-java.html#fxxpz[4-2 Heap Configuration on Windows]
-* link:tuning-os.html#sthref14[5-1 Setting the UDP Buffer Size in the
-/etc/sysctl.conf File]
-* link:tuning-os.html#glgjp[5-2 Setting the UDP Buffer Size at Runtime]
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/lof.adoc b/docs/performance-tuning-guide/src/main/jbake/content/lof.adoc
deleted file mode 100644
index 0d5fdb0..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/lof.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-type=page
-status=published
-title=List of Figures
-next=lot.html
-prev=loe.html
-~~~~~~
-List of Figures
-===============
-
-[[list-of-figures]]
-List of Figures
----------------
-
-* link:overview.html#gacmj[1-1 Java EE Application Model]
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/lot.adoc b/docs/performance-tuning-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index c821870..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,22 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=lof.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:overview.html#gacmh[1-1 Performance Tuning Roadmap]
-* link:overview.html#gacmp[1-2 Factors That Affect Performance]
-* link:tuning-glassfish.html#gacmo[3-1 Bean Type Pooling or Caching]
-* link:tuning-glassfish.html#gacma[3-2 Tunable ORB Parameters]
-* link:tuning-glassfish.html#gacmi[3-3 Connection Pool Sizing]
-* link:tuning-java.html#gacna[4-1 Maximum Address Space Per Process]
-* link:tuning-os.html#gacmm[5-1 Tuning Parameters for Solaris]
-* link:tuning-os.html#gkuaa[5-2 Tuning 64-bit Systems for Performance
-Benchmarking]
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/overview.adoc b/docs/performance-tuning-guide/src/main/jbake/content/overview.adoc
deleted file mode 100644
index 2e9f993..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/overview.adoc
+++ /dev/null
@@ -1,547 +0,0 @@
-type=page
-status=published
-title=Overview of GlassFish Server Performance Tuning
-next=tuning-apps.html
-prev=preface.html
-~~~~~~
-Overview of GlassFish Server Performance Tuning
-===============================================
-
-[[GSPTG00003]][[giekg]]
-
-
-[[overview-of-glassfish-server-performance-tuning]]
-1 Overview of GlassFish Server Performance Tuning
--------------------------------------------------
-
-You can significantly improve performance of the Oracle GlassFish Server
-and of applications deployed to it by adjusting a few deployment and
-server configuration settings. However, it is important to understand
-the environment and performance goals. An optimal configuration for a
-production environment might not be optimal for a development
-environment.
-
-The following topics are addressed here:
-
-* link:#abear[Process Overview]
-* link:#abeat[Understanding Operational Requirements]
-* link:#abeba[General Tuning Concepts]
-* link:#abebd[Further Information]
-
-[[abear]][[GSPTG00048]][[process-overview]]
-
-Process Overview
-~~~~~~~~~~~~~~~~
-
-The following table outlines the overall GlassFish Server 4.0
-administration process, and shows where performance tuning fits in the
-sequence.
-
-[[sthref4]][[gacmh]]
-
-Table 1-1 Performance Tuning Roadmap
-
-[width="154%",cols="<40%,<28%,<32%",options="header",]
-|=======================================================================
-|Step |Description of Task |Location of Instructions
-|1 |Design: Decide on the high-availability topology and set up
-GlassFish Server. a|
-link:../deployment-planning-guide/toc.html#GSPLG[GlassFish Server Open Source Edition Deployment Planning
-Guide]
-
-
-|2 |Capacity Planning: Make sure the systems have sufficient resources
-to perform well. a|
-link:../deployment-planning-guide/toc.html#GSPLG[GlassFish Server Open Source Edition Deployment Planning
-Guide]
-
-
-|3 |Installation: Configure your DAS, clusters, and clustered server
-instances. a|
-link:../installation-guide/toc.html#GSING[GlassFish Server Open Source Edition Installation Guide]
-
-
-|4 |Deployment: Install and run your applications. Familiarize yourself
-with how to configure and administer the GlassFish Server. a|
-The following books:
-
-* link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application
-Deployment Guide]
-* link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide]
-
-|5 |High Availability Configuration: Configuring your DAS, clusters, and
-clustered server instances for high availability and failover a|
-link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source Edition High Availability
-Administration Guide]
-
-
-|6 a|
-Performance Tuning: Tune the following items:
-
-* Applications
-* GlassFish Server
-* Java Runtime System
-* Operating system and platform
-
- a|
-The following chapters:
-
-* link:tuning-apps.html#abebe[Tuning Your Application]
-* link:tuning-glassfish.html#abedn[Tuning the GlassFish Server]
-* link:tuning-java.html#abeia[Tuning the Java Runtime System]
-* link:tuning-os.html#abeir[Tuning the Operating System and Platform]
-
-|=======================================================================
-
-
-[[abeas]][[GSPTG00035]][[performance-tuning-sequence]]
-
-Performance Tuning Sequence
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Application developers should tune applications prior to production use.
-Tuning applications often produces dramatic performance improvements.
-System administrators perform the remaining steps in the following list
-after tuning the application, or when application tuning has to wait and
-you want to improve performance as much as possible in the meantime.
-
-Ideally, follow this sequence of steps when you are tuning performance:
-
-1.  Tune your application, described in
-link:tuning-apps.html#abebe[Tuning Your Application].
-2.  Tune the server, described in link:tuning-glassfish.html#abedn[Tuning
-the GlassFish Server].
-3.  Tune the Java runtime system, described in
-link:tuning-java.html#abeia[Tuning the Java Runtime System].
-4.  Tune the operating system, described in
-link:tuning-os.html#abeir[Tuning the Operating System and Platform].
-
-[[abeat]][[GSPTG00049]][[understanding-operational-requirements]]
-
-Understanding Operational Requirements
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Before you begin to deploy and tune your application on the GlassFish
-Server, it is important to clearly define the operational environment.
-The operational environment is determined by high-level constraints and
-requirements such as:
-
-* link:#abeau[Application Architecture]
-* link:#abeav[Security Requirements]
-* link:#gkvjf[High Availability Clustering, Load Balancing, and
-Failover]
-* link:#abeay[Hardware Resources]
-* link:#abeaz[Administration]
-
-[[abeau]][[GSPTG00154]][[application-architecture]]
-
-Application Architecture
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Java EE Application model, as shown in the following figure, is very
-flexible; allowing the application architect to split application logic
-functionally into many tiers. The presentation layer is typically
-implemented using servlets and JSP technology and executes in the web
-container.
-
-[[GSPTG00001]][[gacmj]]
-
-
-.*Figure 1-1 Java EE Application Model*
-image:img/appmodel.png[
-"Java EE Application Mode"]
-
-
-Moderately complex enterprise applications can be developed entirely
-using servlets and JSP technology. More complex business applications
-often use Enterprise JavaBeans (EJB) components. The GlassFish Server
-integrates the Web and EJB containers in a single process. Local access
-to EJB components from servlets is very efficient. However, some
-application deployments may require EJB components to execute in a
-separate process; and be accessible from standalone client applications
-as well as servlets. Based on the application architecture, the server
-administrator can employ the GlassFish Server in multiple tiers, or
-simply host both the presentation and business logic on a single tier.
-
-It is important to understand the application architecture before
-designing a new GlassFish Server deployment, and when deploying a new
-business application to an existing application server deployment.
-
-[[abeav]][[GSPTG00155]][[security-requirements]]
-
-Security Requirements
-^^^^^^^^^^^^^^^^^^^^^
-
-Most business applications require security. This section discusses
-security considerations and decisions.
-
-[[abeaw]][[GSPTG00080]][[user-authentication-and-authorization]]
-
-User Authentication and Authorization
-+++++++++++++++++++++++++++++++++++++
-
-Application users must be authenticated. The GlassFish Server provides a
-number of choices for user authentication, including file-based,
-administration, LDAP, certificate, JDBC, digest, PAM, Solaris, and
-custom realms.
-
-The default file based security realm is suitable for developer
-environments, where new applications are developed and tested. At
-deployment time, the server administrator can choose between the
-Lighweight Directory Access Protocol (LDAP) or Solaris security realms.
-Many large enterprises use LDAP-based directory servers to maintain
-employee and customer profiles. Small to medium enterprises that do not
-already use a directory server may find it advantageous to leverage
-investment in Solaris security infrastructure.
-
-For more information on security realms, see
-"link:../security-guide/user-security.html#GSSCG00151[Administering Authentication Realms]" in GlassFish
-Server Open Source Edition Security Guide.
-
-The type of authentication mechanism chosen may require additional
-hardware for the deployment. Typically a directory server executes on a
-separate server, and may also require a backup for replication and high
-availability. Refer to the
-http://www.oracle.com/us/products/middleware/identity-management/oracle-directory-services/index.html[Oracle
-Java System Directory Server]
-(`http://www.oracle.com/us/products/middleware/identity-management/oracle-directory-services/index.html`)
-documentation for more information on deployment, sizing, and
-availability guidelines.
-
-An authenticated user's access to application functions may also need
-authorization checks. If the application uses the role-based Java EE
-authorization checks, the application server performs some additional
-checking, which incurs additional overheads. When you perform capacity
-planning, you must take this additional overhead into account.
-
-[[abeax]][[GSPTG00081]][[encryption]]
-
-Encryption
-++++++++++
-
-For security reasons, sensitive user inputs and application output must
-be encrypted. Most business-oriented web applications encrypt all or
-some of the communication flow between the browser and GlassFish Server.
-Online shopping applications encrypt traffic when the user is completing
-a purchase or supplying private data. Portal applications such as news
-and media typically do not employ encryption. Secure Sockets Layer (SSL)
-is the most common security framework, and is supported by many browsers
-and application servers.
-
-The GlassFish Server supports SSL 2.0 and 3.0 and contains software
-support for various cipher suites. It also supports integration of
-hardware encryption cards for even higher performance. Security
-considerations, particularly when using the integrated software
-encryption, will impact hardware sizing and capacity planning.
-
-Consider the following when assessing the encryption needs for a
-deployment:
-
-* What is the nature of the applications with respect to security? Do
-they encrypt all or only a part of the application inputs and output?
-What percentage of the information needs to be securely transmitted?
-* Are the applications going to be deployed on an application server
-that is directly connected to the Internet? Will a web server exist in a
-demilitarized zone (DMZ) separate from the application server tier and
-backend enterprise systems? +
-A DMZ-style deployment is recommended for high security. It is also
-useful when the application has a significant amount of static text and
-image content and some business logic that executes on the GlassFish
-Server, behind the most secure firewall. GlassFish Server provides
-secure reverse proxy plugins to enable integration with popular web
-servers. The GlassFish Server can also be deployed and used as a web
-server in DMZ.
-* Is encryption required between the web servers in the DMZ and
-application servers in the next tier? The reverse proxy plugins supplied
-with GlassFish Server support SSL encryption between the web server and
-application server tier. If SSL is enabled, hardware capacity planning
-must be take into account the encryption policy and mechanisms.
-* If software encryption is to be employed:
-
-** What is the expected performance overhead for every tier in the
-system, given the security requirements?
-
-** What are the performance and throughput characteristics of various
-choices?
-
-For information on how to encrypt the communication between web servers
-and GlassFish Server, see "link:../security-guide/message-security.html#GSSCG00037[Administering Message
-Security]" in GlassFish Server Open Source Edition Security Guide.
-
-[[gkvjf]][[GSPTG00156]][[high-availability-clustering-load-balancing-and-failover]]
-
-High Availability Clustering, Load Balancing, and Failover
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server 4.0 enables multiple GlassFish Server instances to be
-clustered to provide high availability through failure protection,
-scalability, and load balancing.
-
-High availability applications and services provide their functionality
-continuously, regardless of hardware and software failures. To make such
-reliability possible, GlassFish Server 4.0 provides mechanisms for
-maintaining application state data between clustered GlassFish Server
-instances. Application state data, such as HTTP session data, stateful
-EJB sessions, and dynamic cache information, is replicated in real time
-across server instances. If any one server instance goes down, the
-session state is available to the next failover server, resulting in
-minimum application downtime and enhanced transactional security.
-
-GlassFish Server provides the following high availability features:
-
-* High Availability Session Persistence
-* High Availability Java Message Service
-* RMI-IIOP Load Balancing and Failover
-
-See link:tuning-java.html#glaat[Tuning High Availability Persistence] for
-high availability persistence tuning recommendations.
-
-See the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source Edition High
-Availability Administration Guide] for complete information about
-configuring high availability clustering, load balancing, and failover
-features in GlassFish Server 4.0.
-
-[[abeay]][[GSPTG00157]][[hardware-resources]]
-
-Hardware Resources
-^^^^^^^^^^^^^^^^^^
-
-The type and quantity of hardware resources available greatly influence
-performance tuning and site planning.
-
-GlassFish Server provides excellent vertical scalability. It can scale
-to efficiently utilize multiple high-performance CPUs, using just one
-application server process. A smaller number of application server
-instances makes maintenance easier and administration less expensive.
-Also, deploying several related applications on fewer application
-servers can improve performance, due to better data locality, and reuse
-of cached data between co-located applications. Such servers must also
-contain large amounts of memory, disk space, and network capacity to
-cope with increased load.
-
-GlassFish Server can also be deployed on large "farms" of relatively
-modest hardware units. Business applications can be partitioned across
-various server instances. Using one or more external load balancers can
-efficiently spread user access across all the application server
-instances. A horizontal scaling approach may improve availability, lower
-hardware costs and is suitable for some types of applications. However,
-this approach requires administration of more application server
-instances and hardware nodes.
-
-[[abeaz]][[GSPTG00158]][[administration]]
-
-Administration
-^^^^^^^^^^^^^^
-
-A single GlassFish Server installation on a server can encompass
-multiple instances. A group of one or more instances that are
-administered by a single Administration Server is called a domain.
-Grouping server instances into domains permits different people to
-independently administer the groups.
-
-You can use a single-instance domain to create a "sandbox" for a
-particular developer and environment. In this scenario, each developer
-administers his or her own application server, without interfering with
-other application server domains. A small development group may choose
-to create multiple instances in a shared administrative domain for
-collaborative development.
-
-In a deployment environment, an administrator can create domains based
-on application and business function. For example, internal Human
-Resources applications may be hosted on one or more servers in one
-Administrative domain, while external customer applications are hosted
-on several administrative domains in a server farm.
-
-GlassFish Server supports virtual server capability for web
-applications. For example, a web application hosting service provider
-can host different URL domains on a single GlassFish Server process for
-efficient administration.
-
-For detailed information on administration, see the
-link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide].
-
-[[abeba]][[GSPTG00050]][[general-tuning-concepts]]
-
-General Tuning Concepts
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Some key concepts that affect performance tuning are:
-
-* User load
-* Application scalability
-* Margins of safety
-
-The following table describes these concepts, and how they are measured
-in practice. The left most column describes the general concept, the
-second column gives the practical ramifications of the concept, the
-third column describes the measurements, and the right most column
-describes the value sources.
-
-[[sthref6]][[gacmp]]
-
-Table 1-2 Factors That Affect Performance
-
-[width="100%",cols="<14%,<13%,<26%,<47%",options="header",]
-|=======================================================================
-|Concept |In practice |Measurement |Value sources
-|User Load |Concurrent sessions at peak load a|
-Transactions Per Minute (TPM)
-
-Web Interactions Per Second (WIPS)
-
- a|
-(Max. number of concurrent users) * (expected response time) / (time
-between clicks)
-
-Example:
-
-(100 users * 2 sec) / 10 sec = 20
-
-|Application Scalability |Transaction rate measured on one CPU |TPM or
-WIPS |Measured from workload benchmark. Perform at each tier.
-
-|Vertical scalability |Increase in performance from additional CPUs
-|Percentage gain per additional CPU |Based on curve fitting from
-benchmark. Perform tests while gradually increasing the number of CPUs.
-Identify the "knee" of the curve, where additional CPUs are providing
-uneconomical gains in performance. Requires tuning as described in this
-guide. Perform at each tier and iterate if necessary. Stop here if this
-meets performance requirements.
-
-|Horizontal scalability |Increase in performance from additional servers
-|Percentage gain per additional server process and/or hardware node.
-|Use a well-tuned single application server instance, as in previous
-step. Measure how much each additional server instance and hardware node
-improves performance.
-
-|Safety Margins |High availability requirements |If the system must cope
-with failures, size the system to meet performance requirements assuming
-that one or more application server instances are non functional
-|Different equations used if high availability is required.
-
-| + |Excess capacity for unexpected peaks |It is desirable to operate a
-server at less than its benchmarked peak, for some safety margin |80%
-system capacity utilization at peak loads may work for most
-installations. Measure your deployment under real and simulated peak
-loads.
-|=======================================================================
-
-
-[[abebb]][[GSPTG00159]][[capacity-planning]]
-
-Capacity Planning
-^^^^^^^^^^^^^^^^^
-
-The previous discussion guides you towards defining a deployment
-architecture. However, you determine the actual size of the deployment
-by a process called capacity planning. Capacity planning enables you to
-predict:
-
-* The performance capacity of a particular hardware configuration.
-* The hardware resources required to sustain specified application load
-and performance.
-
-You can estimate these values through careful performance benchmarking,
-using an application with realistic data sets and workloads.
-
-[[gacmz]][[GSPTG00036]][[to-determine-capacity]]
-
-To Determine Capacity
-+++++++++++++++++++++
-
-1.  Determine performance on a single CPU. +
-First determine the largest load that a single processor can sustain.
-You can obtain this figure by measuring the performance of the
-application on a single-processor machine. Either leverage the
-performance numbers of an existing application with similar processing
-characteristics or, ideally, use the actual application and workload in
-a testing environment. Make sure that the application and data resources
-are tiered exactly as they would be in the final deployment.
-2.  [[CEGHGCGI]]
-Determine vertical scalability.
-
-Determine how much additional performance you gain when you add
-processors. That is, you are indirectly measuring the amount of shared
-resource contention that occurs on the server for a specific workload.
-Either obtain this information based on additional load testing of the
-application on a multiprocessor system, or leverage existing information
-from a similar application that has already been load tested.
-
-Running a series of performance tests on one to eight CPUs, in
-incremental steps, generally provides a sense of the vertical
-scalability characteristics of the system. Be sure to properly tune the
-application, GlassFish Server, backend database resources, and operating
-system so that they do not skew the results.
-3.  Determine horizontal scalability. +
-If sufficiently powerful hardware resources are available, a single
-hardware node may meet the performance requirements. However for better
-availability, you can cluster two or more systems. Employing external
-load balancers and workload simulation, determine the performance
-benefits of replicating one well-tuned application server node, as
-determined in step link:#CEGHGCGI[2].
-
-[[abebc]][[GSPTG00160]][[user-expectations]]
-
-User Expectations
-^^^^^^^^^^^^^^^^^
-
-Application end-users generally have some performance expectations.
-Often you can numerically quantify them. To ensure that customer needs
-are met, you must understand these expectations clearly, and use them in
-capacity planning.
-
-Consider the following questions regarding performance expectations:
-
-* What do users expect the average response times to be for various
-interactions with the application? What are the most frequent
-interactions? Are there any extremely time-critical interactions? What
-is the length of each transaction, including think time? In many cases,
-you may need to perform empirical user studies to get good estimates.
-* What are the anticipated steady-state and peak user loads? Are there
-are any particular times of the day, week, or year when you observe or
-expect to observe load peaks? While there may be several million
-registered customers for an online business, at any one time only a
-fraction of them are logged in and performing business transactions. A
-common mistake during capacity planning is to use the total size of
-customer population as the basis and not the average and peak numbers
-for concurrent users. The number of concurrent users also may exhibit
-patterns over time.
-* What is the average and peak amount of data transferred per request?
-This value is also application-specific. Good estimates for content
-size, combined with other usage patterns, will help you anticipate
-network capacity needs.
-* What is the expected growth in user load over the next year? Planning
-ahead for the future will help avoid crisis situations and system
-downtimes for upgrades.
-
-[[abebd]][[GSPTG00051]][[further-information]]
-
-Further Information
-~~~~~~~~~~~~~~~~~~~
-
-* For more information on Java performance, see
-http://java.sun.com/docs/performance[Java Performance Documentation]
-(`http://java.sun.com/docs/performance`) and
-http://java.sun.com/blueprints/performance/index.html[Java Performance
-BluePrints] (`http://java.sun.com/blueprints/performance/index.html`).
-* For more information about performance tuning for high availability
-configurations, see the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source Edition
-High Availability Administration Guide].
-* For complete information about using the Performance Tuning features
-available through the GlassFish Server Administration Console, refer to
-the Administration Console online help.
-* For details on optimizing EJB components, see
-http://java.sun.com/developer/technicalArticles/ebeans/sevenrules/[Seven
-Rules for Optimizing Entity Beans]
-(`http://java.sun.com/developer/technicalArticles/ebeans/sevenrules/`)
-* For details on profiling, see "link:../application-development-guide/setting-up-dev-env.html#GSDVG00341[Profiling Tools]" in
-GlassFish Server Open Source Edition Application Development Guide.
-* To view a demonstration video showing how to use the GlassFish Server
-Performance Tuner, see the
-http://www.youtube.com/watch?v=FavsE2pzAjc[Oracle GlassFish Server 3.1 -
-Performance Tuner demo] (`http://www.youtube.com/watch?v=FavsE2pzAjc`).
-* To find additional Performance Tuning development information, see the
-http://blogs.oracle.com/jenblog/entry/performance_tuner_in_oracle_glassfish[Performance
-Tuner in Oracle GlassFish Server 3.1]
-(`http://blogs.oracle.com/jenblog/entry/performance_tuner_in_oracle_glassfish`)
-blog.
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/preface.adoc b/docs/performance-tuning-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index cdc98b1..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,276 +0,0 @@
-type=page
-status=published
-title=Preface
-next=overview.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSPTG00002]][[pref]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-The Performance Tuning Guide describes how to get the best performance
-with GlassFish Server 5.1.
-
-This preface contains information about and conventions for the entire
-Eclipse GlassFish Server (GlassFish Server) documentation
-set.
-
-GlassFish Server 5.1 is developed through the GlassFish project
-open-source community at `http://glassfish.java.net/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-[[GSPTG00043]][[gksfg]]
-
-
-[[oracle-glassfish-server-documentation-set]]
-Oracle GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[width="100%",cols="<30%,<70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSPTG00045]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="<14%,<37%,<49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSPTG00046]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSPTG00044]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/title.adoc b/docs/performance-tuning-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index f0c902b..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Performance Tuning Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Performance Tuning Guide, Release 5.1
-==============================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Performance Tuning Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This book describes how to get the best performance with GlassFish
-Server 5.1.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Performance Tuning Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/tuning-apps.adoc b/docs/performance-tuning-guide/src/main/jbake/content/tuning-apps.adoc
deleted file mode 100644
index 88d2610..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/tuning-apps.adoc
+++ /dev/null
@@ -1,1455 +0,0 @@
-type=page
-status=published
-title=Tuning Your Application
-next=tuning-glassfish.html
-prev=overview.html
-~~~~~~
-Tuning Your Application
-=======================
-
-[[GSPTG00004]][[abebe]]
-
-
-[[tuning-your-application]]
-2 Tuning Your Application
--------------------------
-
-This chapter provides information on tuning applications for maximum
-performance. A complete guide to writing high performance Java and Java
-EE applications is beyond the scope of this document.
-
-The following topics are addressed here:
-
-* link:#abebf[Java Programming Guidelines]
-* link:#abebp[Java Server Page and Servlet Tuning]
-* link:#abebw[EJB Performance Tuning]
-
-[[abebf]][[GSPTG00052]][[java-programming-guidelines]]
-
-Java Programming Guidelines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section covers issues related to Java coding and performance. The
-guidelines outlined are not specific to GlassFish Server, but are
-general rules that are useful in many situations. For a complete
-discussion of Java coding best practices, see the
-http://www.oracle.com/technetwork/java/javaee/blueprints/index.html[Java
-Blueprints]
-(`http://www.oracle.com/technetwork/java/javaee/blueprints/index.html`).
-
-The following topics are addressed here:
-
-* link:#abebg[Avoid Serialization and Deserialization]
-* link:#abebh[Use `StringBuilder` to Concatenate Strings]
-* link:#abebi[Assign null to Variables That Are No Longer Needed]
-* link:#abebj[Declare Methods as final Only If Necessary]
-* link:#abebk[Declare Constants as static final]
-* link:#abebl[Avoid Finalizers]
-* link:#abebm[Declare Method Arguments final]
-* link:#abebn[Synchronize Only When Necessary]
-* link:#abebo[Use DataHandlers for SOAP Attachments]
-
-[[abebg]][[GSPTG00161]][[avoid-serialization-and-deserialization]]
-
-Avoid Serialization and Deserialization
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Serialization and deserialization of objects is a CPU-intensive
-procedure and is likely to slow down your application. Use the
-`transient` keyword to reduce the amount of data serialized.
-Additionally, customized `readObject()` and `writeObject()` methods may
-be beneficial in some cases.
-
-[[abebh]][[GSPTG00162]][[use-stringbuilder-to-concatenate-strings]]
-
-Use `StringBuilder` to Concatenate Strings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To improve performance, instead of using string concatenation, use
-`StringBuilder.append()`.
-
-String objects are immutable - that is, they never change after
-creation. For example, consider the following code:
-
-[source,oac_no_warn]
-----
-String str = "testing";
-str = str + "abc";
-str = str + "def";
-----
-
-The compiler translates this code as:
-
-[source,oac_no_warn]
-----
-String str = "testing";
-StringBuilder tmp = new StringBuilder(str);
-tmp.append("abc");
-str = tmp.toString();
-StringBulder tmp = new StringBuilder(str);
-tmp.append("def");
-str = tmp.toString();
-----
-
-This copying is inherently expensive and overusing it can reduce
-performance significantly. You are far better off writing:
-
-[source,oac_no_warn]
-----
-StringBuilder tmp = new StringBuilder("testing");
-tmp.append("abc");
-tmp.append("def");
-String str = tmp.toString();
-----
-
-[[abebi]][[GSPTG00163]][[assign-null-to-variables-that-are-no-longer-needed]]
-
-Assign null to Variables That Are No Longer Needed
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Explicitly assigning a null value to variables that are no longer needed
-helps the garbage collector to identify the parts of memory that can be
-safely reclaimed. Although Java provides memory management, it does not
-prevent memory leaks or using excessive amounts of memory.
-
-An application may induce memory leaks by not releasing object
-references. Doing so prevents the Java garbage collector from reclaiming
-those objects, and results in increasing amounts of memory being used.
-Explicitly nullifying references to variables after their use allows the
-garbage collector to reclaim memory.
-
-One way to detect memory leaks is to employ profiling tools and take
-memory snapshots after each transaction. A leak-free application in
-steady state will show a steady active heap memory after garbage
-collections.
-
-[[abebj]][[GSPTG00164]][[declare-methods-as-final-only-if-necessary]]
-
-Declare Methods as final Only If Necessary
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Modern optimizing dynamic compilers can perform inlining and other
-inter-procedural optimizations, even if Java methods are not declared
-`final`. Use the keyword `final` as it was originally intended: for
-program architecture reasons and maintainability.
-
-Only if you are absolutely certain that a method must not be overridden,
-use the `final` keyword.
-
-[[abebk]][[GSPTG00165]][[declare-constants-as-static-final]]
-
-Declare Constants as static final
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The dynamic compiler can perform some constant folding optimizations
-easily, when you declare constants as `static final` variables.
-
-[[abebl]][[GSPTG00166]][[avoid-finalizers]]
-
-Avoid Finalizers
-^^^^^^^^^^^^^^^^
-
-Adding finalizers to code makes the garbage collector more expensive and
-unpredictable. The virtual machine does not guarantee the time at which
-finalizers are run. Finalizers may not always be executed, before the
-program exits. Releasing critical resources in `finalize()` methods may
-lead to unpredictable application behavior.
-
-[[abebm]][[GSPTG00167]][[declare-method-arguments-final]]
-
-Declare Method Arguments final
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Declare method arguments `final` if they are not modified in the method.
-In general, declare all variables `final` if they are not modified after
-being initialized or set to some value.
-
-[[abebn]][[GSPTG00168]][[synchronize-only-when-necessary]]
-
-Synchronize Only When Necessary
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Do not synchronize code blocks or methods unless synchronization is
-required. Keep synchronized blocks or methods as short as possible to
-avoid scalability bottlenecks. Use the Java Collections Framework for
-unsynchronized data structures instead of more expensive alternatives
-such as`java.util.HashTable`.
-
-[[abebo]][[GSPTG00169]][[use-datahandlers-for-soap-attachments]]
-
-Use DataHandlers for SOAP Attachments
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Using a `javax.activation.DataHandler` for a SOAP attachment will
-improve performance.
-
-JAX-RPC specifies:
-
-* A mapping of certain MIME types to Java types.
-* Any MIME type is mappable to a `javax.activation.DataHandler` .
-
-As a result, send an attachment (`.gif` or XML document) as a SOAP
-attachment to an RPC style web service by utilizing the Java type
-mappings. When passing in any of the mandated Java type mappings
-(appropriate for the attachment's MIME type) as an argument for the web
-service, the JAX-RPC runtime handles these as SOAP attachments.
-
-For example, to send out an `image/gif` attachment, use
-`java.awt.Image`, or create a `DataHandler` wrapper over your image. The
-advantages of using the wrapper are:
-
-* Reduced coding: You can reuse generic attachment code to handle the
-attachments because the `DataHandler` determines the content type of the
-contained data automatically. This feature is especially useful when
-using a document style service. Since the content is known at runtime,
-there is no need to make calls to
-`attachment.setContent(stringContent, "image/gif")`, for example.
-* Improved Performance: Informal tests have shown that using
-`DataHandler` wrappers doubles throughput for `image/gif` MIME types,
-and multiplies throughput by approximately 1.5 for `text/xml` or
-`java.awt.Image` for `image/*` types.
-
-[[abebp]][[GSPTG00053]][[java-server-page-and-servlet-tuning]]
-
-Java Server Page and Servlet Tuning
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Many applications running on the GlassFish Server use servlets or
-JavaServer Pages (JSP) technology in the presentation tier. This section
-describes how to improve performance of such applications, both through
-coding practices and through deployment and configuration settings.
-
-[[abebq]][[GSPTG00170]][[suggested-coding-practices]]
-
-Suggested Coding Practices
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section provides some tips on coding practices that improve servlet
-and JSP application performance.
-
-The following topics are addressed here:
-
-* link:#abebr[General Guidelines]
-* link:#abebs[Avoid Shared Modified Class Variables]
-* link:#abebt[HTTP Session Handling]
-* link:#abebu[Configuration and Deployment Tips]
-
-[[abebr]][[GSPTG00082]][[general-guidelines]]
-
-General Guidelines
-++++++++++++++++++
-
-Follow these general guidelines to increase performance of the
-presentation tier:
-
-* Minimize Java synchronization in servlets.
-* Do not use the single thread model for servlets.
-* Use the servlet's `init()` method to perform expensive one-time
-initialization.
-* Avoid using `System.out.println()` calls.
-
-[[abebs]][[GSPTG00083]][[avoid-shared-modified-class-variables]]
-
-Avoid Shared Modified Class Variables
-+++++++++++++++++++++++++++++++++++++
-
-In the servlet multithread model (the default), a single instance of a
-servlet is created for each application server instance. All requests
-for a servlet on that application instance share the same servlet
-instance. This can lead to thread contention if there are
-synchronization blocks in the servlet code. Therefore, avoid using
-shared modified class variables because they create the need for
-synchronization.
-
-[[abebt]][[GSPTG00084]][[http-session-handling]]
-
-HTTP Session Handling
-+++++++++++++++++++++
-
-Follow these guidelines when using HTTP sessions:
-
-* Create sessions sparingly. Session creation is not free. If a session
-is not required, do not create one.
-* Use `javax.servlet.http.HttpSession.invalidate()` to release sessions
-when they are no longer needed.
-* Keep session size small, to reduce response times. If possible, keep
-session size below 7 kilobytes.
-* Use the directive `<%page session="false"%>` in JSP files to prevent
-the GlassFish Server from automatically creating sessions when they are
-not necessary.
-* Avoid large object graphs in an `HttpSession`. They force
-serialization and add computational overhead. Generally, do not store
-large objects as `HttpSession` variables.
-* Do not cache transaction data in an `HttpSession`. Access to data in
-an `HttpSession` is not transactional. Do not use it as a cache of
-transactional data, which is better kept in the database and accessed
-using entity beans. Transactions will rollback upon failures to their
-original state. However, stale and inaccurate data may remain in
-`HttpSession` objects. GlassFish Server provides "read-only"
-bean-managed persistence entity beans for cached access to read-only
-data.
-
-[[abebu]][[GSPTG00085]][[configuration-and-deployment-tips]]
-
-Configuration and Deployment Tips
-+++++++++++++++++++++++++++++++++
-
-Follow these configuration tips to improve performance. These tips are
-intended for production environments, not development environments.
-
-* To improve class loading time, avoid having excessive directories in
-the server `CLASSPATH`. Put application-related classes into JAR files.
-* HTTP response times are dependent on how the keep-alive subsystem and
-the HTTP server is tuned in general. For more information, see
-link:tuning-glassfish.html#abeet[HTTP Service Settings].
-* Cache servlet results when possible. For more information, see
-"link:../application-development-guide/webapps.html#GSDVG00009[Developing Web Applications]" in GlassFish Server Open
-Source Edition Application Development Guide.
-* If an application does not contain any EJB components, deploy the
-application as a WAR file, not an EAR file.
-
-[[gfqnu]][[GSPTG00009]][[optimize-ssl]]
-
-Optimize SSL
-
-Optimize SSL by using routines in the appropriate operating system
-library for concurrent access to heap space. The library to use depends
-on the version of the Solaris Operating System (SolarisOS) that you are
-using. To ensure that you use the correct library, set the `LD_PRELOAD`
-environment variable to specify the correct library file. For more
-information, refer to the following table.
-
-[width="100%",cols="<23%,<23%,<54%",options="header",]
-|=======================================================================
-|Solaris OS Version |Library |Setting of `LD_PRELOAD` Environment
-Variable
-|10 |`libumem3LIB` |`/usr/lib/libumem.so`
-
-|9 |`libmtmalloc3LIB` |`/usr/lib/libmtmalloc.so`
-|=======================================================================
-
-
-To set the `LD_PRELOAD` environment variable, edit the entry for this
-environment variable in the `startserv` script. The `startserv` script
-is located is located in the `bin/startserv` directory of your domain.
-
-The exact syntax to define an environment variable depends on the shell
-that you are using.
-
-[[abebv]][[GSPTG00010]][[disable-security-manager]]
-
-Disable Security Manager
-
-The security manager is expensive because calls to required resources
-must call the `doPrivileged()` method and must also check the resource
-with the `server.policy` file. If you are sure that no malicious code
-will be run on the server and you do not use authentication within your
-application, then you can disable the security manager.
-
-See "link:../application-development-guide/securing-apps.html#GSDVG00373[Enabling and Disabling the Security Manager]" in
-GlassFish Server Open Source Edition Application Development Guide for
-instructions on enabling or disabling the security manager. If using the
-GlassFish Server Administration Console, navigate to the
-Configurations>configuration-name>Security node and check or uncheck the
-Security Manager option as desired. Refer to the Administration Console
-online help for more information.
-
-[[abebw]][[GSPTG00054]][[ejb-performance-tuning]]
-
-EJB Performance Tuning
-~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server's high-performance EJB container has numerous
-parameters that affect performance. Individual EJB components also have
-parameters that affect performance. The value of individual EJB
-component's parameter overrides the value of the same parameter for the
-EJB container. The default values are designed for a single-processor
-computer system. Modify these values as appropriate to optimize for
-other system configurations.
-
-The following topics are addressed here:
-
-* link:#abebx[Goals]
-* link:#abeby[Monitoring EJB Components]
-* link:#abeca[General Guidelines]
-* link:#abecg[Using Local and Remote Interfaces]
-* link:#abecj[Improving Performance of EJB Transactions]
-* link:#abecs[Using Special Techniques]
-* link:#abecv[Tuning Tips for Specific Types of EJB Components]
-* link:#abedd[JDBC and Database Access]
-* link:#abedi[Tuning Message-Driven Beans]
-
-[[abebx]][[GSPTG00171]][[goals]]
-
-Goals
-^^^^^
-
-The goals of EJB performance tuning are:
-
-* Increased speed: Cache as many beans in the EJB caches as possible to
-increase speed (equivalently, decrease response time). Caching
-eliminates CPU-intensive operations. However, since memory is finite, as
-the caches become larger, housekeeping for them (including garbage
-collection) takes longer.
-* Decreased memory consumption: Beans in the pools or caches consume
-memory from the Java virtual machine heap. Very large pools and caches
-degrade performance because they require longer and more frequent
-garbage collection cycles.
-* Improved functional properties: Functional properties such as user
-timeout, commit options, security, and transaction options, are mostly
-related to the functionality and configuration of the application.
-Generally, they do not compromise functionality for performance. In some
-cases, you might be forced to make a "trade-off" decision between
-functionality and performance. This section offers suggestions in such
-cases.
-
-[[abeby]][[GSPTG00172]][[monitoring-ejb-components]]
-
-Monitoring EJB Components
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When the EJB container has monitoring enabled, you can examine
-statistics for individual beans based on the bean pool and cache
-settings.
-
-For example, the monitoring command below returns the Bean Cache
-statistics for a stateful session bean.
-
-[source,oac_no_warn]
-----
-asadmin get --user admin --host e4800-241-a --port 4848
--m specjcmp.application.SPECjAppServer.ejb-module.
-   supplier_jar.stateful-session-bean.BuyerSes.bean-cache.*
-----
-
-The following is a sample of the monitoring output:
-
-[source,oac_no_warn]
-----
-resize-quantity = -1
- cache-misses = 0
- idle-timeout-in-seconds = 0
- num-passivations = 0
- cache-hits = 59
- num-passivation-errors = 0
- total-beans-in-cache = 59
- num-expired-sessions-removed = 0
- max-beans-in-cache = 4096
- num-passivation-success = 0
-----
-
-The monitoring command below gives the bean pool statistics for an
-entity bean:
-
-[source,oac_no_warn]
-----
-asadmin get --user admin --host e4800-241-a --port 4848
--m specjcmp.application.SPECjAppServer.ejb-module.
-   supplier_jar.stateful-entity-bean.ItemEnt.bean-pool.*
-idle-timeout-in-seconds = 0
-steady-pool-size = 0
-total-beans-destroyed = 0
-num-threads-waiting = 0
-num-beans-in-pool = 54
-max-pool-size = 2147483647
-pool-resize-quantity = 0
-total-beans-created = 255
-----
-
-The monitoring command below gives the bean pool statistics for a
-stateless bean.
-
-[source,oac_no_warn]
-----
-asadmin get --user admin --host e4800-241-a --port 4848
--m test.application.testEjbMon.ejb-module.slsb.stateless-session-bean.slsb.bean-pool.*
-idle-timeout-in-seconds = 200
-steady-pool-size = 32
-total-beans-destroyed = 12
-num-threads-waiting = 0
-num-beans-in-pool = 4
-max-pool-size = 1024
-pool-resize-quantity = 12
-total-beans-created = 42
-----
-
-Tuning the bean involves charting the behavior of the cache and pool for
-the bean in question over a period of time.
-
-If too many passivations are happening and the JVM heap remains fairly
-small, then the `max-cache-size` or the `cache-idle-timeout-in-seconds`
-can be increased. If garbage collection is happening too frequently, and
-the pool size is growing, but the cache hit rate is small, then the
-`pool-idle-timeout-in-seconds` can be reduced to destroy the instances.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Specifying a `max-pool-size` of zero (0) means that the pool is
-unbounded. The pooled beans remain in memory unless they are removed by
-specifying a small interval for `pool-idle-timeout-in-seconds`. For
-production systems, specifying the pool as unbounded is NOT recommended.
-
-|=======================================================================
-
-
-[[abebz]][[GSPTG00086]][[monitoring-individual-ejb-components]]
-
-Monitoring Individual EJB Components
-++++++++++++++++++++++++++++++++++++
-
-To gather method invocation statistics for all methods in a bean, use
-the following command:
-
-[source,oac_no_warn]
-----
-asadmin get -m monitorableObject.*
-----
-
-where monitorableObject is a fully-qualified identifier from the
-hierarchy of objects that can be monitored, shown below.
-
-[source,oac_no_warn]
-----
-serverInstance.application.applicationName.ejb-module.moduleName
-----
-
-where moduleName is `x_jar` for module `x.jar`.
-
-* `.stateless-session-bean.beanName .bean-pool .bean-method.methodName`
-* `.stateful-session-bean.beanName .bean-cache .bean-method.methodName`
-* `.entity-bean.beanName .bean-cache .bean-pool .bean-method.methodName`
-* `.message-driven-bean.beanName .bean-pool .bean-method.methodName (methodName = onMessage)`
-
-For standalone beans, use this pattern:
-
-[source,oac_no_warn]
-----
-serverInstance.application.applicationName.standalone-ejb-module.moduleName
-----
-
-The possible identifiers are the same as for `ejb-module`.
-
-For example, to get statistics for a method in an entity bean, use this
-command:
-
-[source,oac_no_warn]
-----
-asadmin get -m serverInstance.application.appName.ejb-module.moduleName
-.entity-bean.beanName.bean-method.methodName.*
-----
-
-For more information about administering the monitoring service in
-general, see "link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
-GlassFish Server Open Source Edition Administration Guide. For
-information about viewing comprehensive EJB monitoring statistics, see
-"link:../administration-guide/monitoring.html#GSADG00651[EJB Statistics]" in GlassFish Server Open Source
-Edition Administration Guide.
-
-To configure EJB monitoring using the GlassFish Server Administration
-Console, navigate to the Configurations>configuration-name>Monitoring
-node. After configuring monitoring, you can view monitoring statistics
-by navigating to the server (Admin Server) node and then selecting the
-Monitor tab. Refer to the Administration Console online help for
-instructions on each of these procedures.
-
-Alternatively, to list EJB statistics, use the `asadmin list`
-subcommand. For more information, see link:../reference-manual/list.html#GSRFM00145[`list`(1)].
-
-For statistics on stateful session bean passivations, use this command:
-
-[source,oac_no_warn]
-----
-asadmin get -m serverInstance.application.appName.ejb-module.moduleName
-.stateful-session-bean.beanName.bean-cache.*
-----
-
-From the attribute values that are returned, use this command:
-
-`num-passivationsnum-passivation-errorsnum-passivation-success`
-
-[[abeca]][[GSPTG00173]][[general-guidelines-1]]
-
-General Guidelines
-^^^^^^^^^^^^^^^^^^
-
-The following guidelines can improve performance of EJB components. Keep
-in mind that decomposing an application into many EJB components creates
-overhead and can degrade performance. EJB components are not simply Java
-objects. They are components with semantics for remote call interfaces,
-security, and transactions, as well as properties and methods.
-
-[[abecb]][[GSPTG00087]][[use-high-performance-beans]]
-
-Use High Performance Beans
-++++++++++++++++++++++++++
-
-Use high-performance beans as much as possible to improve the overall
-performance of your application. For more information, see
-link:#abecv[Tuning Tips for Specific Types of EJB Components].
-
-The types of EJB components are listed below, from the highest
-performance to the lowest:
-
-1.  Stateless Session Beans and Message Driven Beans
-2.  Stateful Session Beans
-3.  Container Managed Persistence (CMP) entity beans configured as
-read-only
-4.  Bean Managed Persistence (BMP) entity beans configured as read-only
-5.  CMP beans
-6.  BMP beans
-
-For more information about configuring high availability session
-persistence, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session
-Persistence and Failover]" in GlassFish Server Open Source Edition High
-Availability Administration Guide. To configure EJB beans using the
-GlassFish Server Administration Console, navigate to the
-Configurations>configuration-name>EJB Container node and then refer to
-the Administration Console online help for detailed instructions.
-
-[[abecc]][[GSPTG00088]][[use-caching]]
-
-Use Caching
-+++++++++++
-
-Caching can greatly improve performance when used wisely. For example:
-
-* Cache EJB references: To avoid a JNDI lookup for every request, cache
-EJB references in servlets.
-* Cache home interfaces: Since repeated lookups to a home interface can
-be expensive, cache references to `EJBHomes` in the `init()` methods of
-servlets.
-* Cache EJB resources: Use `setSessionContext()` or `ejbCreate()` to
-cache bean resources. This is again an example of using bean lifecycle
-methods to perform application actions only once where possible.
-Remember to release acquired resources in the `ejbRemove()` method.
-
-[[abecd]][[GSPTG00089]][[use-the-appropriate-stubs]]
-
-Use the Appropriate Stubs
-+++++++++++++++++++++++++
-
-The stub classes needed by EJB applications are generated dynamically at
-runtime when an EJB client needs them. This means that it is not
-necessary to generate the stubs or retrieve the client JAR file when
-deploying an application with remote EJB components. When deploying an
-application, it is no longer necessary to specify the `--retrieve`
-option, which can speed up deployment.
-
-If you have a legacy rich-client application that directly uses the
-CosNaming service (not a recommended configuration), then you must
-generate the stubs for your application explicitly using RMIC. For more
-information, see the link:../troubleshooting-guide/toc.html#GSTSG[GlassFish Server Open Source Edition
-Troubleshooting Guide] for more details.
-
-[[abece]][[GSPTG00090]][[remove-unneeded-stateful-session-beans]]
-
-Remove Unneeded Stateful Session Beans
-++++++++++++++++++++++++++++++++++++++
-
-Removing unneeded stateful session beans avoids passivating them, which
-requires disk operations.
-
-[[abecf]][[GSPTG00091]][[cache-and-pool-tuning-tips]]
-
-Cache and Pool Tuning Tips
-++++++++++++++++++++++++++
-
-Follow these tips when using the EJB cache and pools to improve
-performance:
-
-* Explicitly call `remove()`: Allow stateful session EJB components to
-be removed from the container cache by explicitly calling of the
-`remove()` method in the client.
-* Tune the entity EJB component's pool size: Entity Beans use both the
-EJB pool and cache settings. Tune the entity EJB component's pool size
-to minimize the creation and destruction of beans. Populating the pool
-with a non-zero steady size before hand is useful for getting better
-response for initial requests.
-* Cache bean-specific resources: Use the `setEntityContext()` method to
-cache bean specific resources and release them using the
-`unSetEntityContext()` method.
-* Load related data efficiently for container-managed relationships
-(CMRs). For more information, see link:#abedc[Pre-Fetching Container
-Managed Relationship (CMR) Beans].
-* Identify read-only beans: Configure read-only entity beans for read
-only operations. For more information, see link:#abeda[Read-Only Entity
-Beans].
-
-[[abecg]][[GSPTG00174]][[using-local-and-remote-interfaces]]
-
-Using Local and Remote Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section describes some considerations when EJB components are used
-by local and remote clients.
-
-[[abech]][[GSPTG00092]][[prefer-local-interfaces]]
-
-Prefer Local Interfaces
-+++++++++++++++++++++++
-
-An EJB component can have remote and local interfaces. Clients not
-located in the same application server instance as the bean (remote
-clients) use the remote interface to access the bean. Calls to the
-remote interface require marshalling arguments, transportation of the
-marshalled data over the network, un-marshaling the arguments, and
-dispatch at the receiving end. Thus, using the remote interface entails
-significant overhead.
-
-If an EJB component has a local interface, then local clients in the
-same application server instance can use it instead of the remote
-interface. Using the local interface is more efficient, since it does
-not require argument marshalling, transportation, and un-marshalling.
-
-If a bean is to be used only by local clients then it makes sense to
-provide only the local interface. If, on the other hand, the bean is to
-be location-independent, then you should provide both the remote and
-local interfaces so that remote clients use the remote interface and
-local clients can use the local interface for efficiency.
-
-[[abeci]][[GSPTG00093]][[using-pass-by-reference-semantics]]
-
-Using Pass-By-Reference Semantics
-+++++++++++++++++++++++++++++++++
-
-By default, the GlassFish Server uses pass-by-value semantics for
-calling the remote interface of a bean, even if it is co-located. This
-can be expensive, since clients using pass-by-value semantics must copy
-arguments before passing them to the EJB component.
-
-However, local clients can use pass-by-reference semantics and thus the
-local and remote interfaces can share the passed objects. But this means
-that the argument objects must be implemented properly, so that they are
-shareable. In general, it is more efficient to use pass-by-reference
-semantics when possible.
-
-Using the remote and local interfaces appropriately means that clients
-can access EJB components efficiently. That is, local clients use the
-local interface with pass-by-reference semantics, while remote clients
-use the remote interface with pass-by-value semantics.
-
-However, in some instances it might not be possible to use the local
-interface, for example when:
-
-* The application predates the EJB 2.0 specification and was written
-without any local interfaces.
-* There are bean-to-bean calls and the client beans are written without
-making any co-location assumptions about the called beans.
-
-For these cases, the GlassFish Server provides a pass-by-reference
-option that clients can use to pass arguments by reference to the remote
-interface of a co-located EJB component.
-
-You can specify the pass-by-reference option for an entire application
-or a single EJB component. When specified at the application level, all
-beans in the application use pass-by-reference semantics when passing
-arguments to their remote interfaces. When specified at the bean level,
-all calls to the remote interface of the bean use pass-by-reference
-semantics. See "link:../application-development-guide/ejb.html#GSDVG00145[Value Added Features]" in GlassFish
-Server Open Source Edition Application Development Guide for more
-details about the pass-by-reference flag.
-
-To specify that an EJB component will use pass by reference semantics,
-use the following tag in the `sun-ejb-jar.xml` deployment descriptor:
-
-[source,oac_no_warn]
-----
-<pass-by-reference>true</pass-by-reference>
-----
-
-This avoids copying arguments when the EJB component's methods are
-invoked and avoids copying results when methods return. However,
-problems will arise if the data is modified by another source during the
-invocation.
-
-[[abecj]][[GSPTG00175]][[improving-performance-of-ejb-transactions]]
-
-Improving Performance of EJB Transactions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section provides some tips to improve performance when using
-transactions.
-
-The following topics are addressed here:
-
-* link:#abeck[Use Container-Managed Transactions]
-* link:#abecl[Do Not Encompass User Input Time]
-* link:#abecm[Identify Non-Transactional Methods]
-* link:#abecn[Use `TX_REQUIRED` for Long Transaction Chains]
-* link:#abeco[Use Lowest Cost Database Locking]
-* link:#abecp[Use XA-Capable Data Sources Only When Needed]
-* link:#abecq[Configure JDBC Resources as One-Phase Commit Resources]
-* link:#abecr[Use the Least Expensive Transaction Attribute]
-
-[[abeck]][[GSPTG00094]][[use-container-managed-transactions]]
-
-Use Container-Managed Transactions
-++++++++++++++++++++++++++++++++++
-
-Container-managed transactions are preferred for consistency, and
-provide better performance.
-
-[[abecl]][[GSPTG00095]][[do-not-encompass-user-input-time]]
-
-Do Not Encompass User Input Time
-++++++++++++++++++++++++++++++++
-
-To avoid resources being held unnecessarily for long periods, a
-transaction should not encompass user input or user think time.
-
-[[abecm]][[GSPTG00096]][[identify-non-transactional-methods]]
-
-Identify Non-Transactional Methods
-++++++++++++++++++++++++++++++++++
-
-Declare non-transactional methods of session EJB components with
-`NotSupported` or `Never` transaction attributes. These attributes can
-be found in the `ejb-jar.xml` deployment descriptor file. Transactions
-should span the minimum time possible since they lock database rows.
-
-[[abecn]][[GSPTG00097]][[use-tx_required-for-long-transaction-chains]]
-
-Use `TX_REQUIRED` for Long Transaction Chains
-+++++++++++++++++++++++++++++++++++++++++++++
-
-For very large transaction chains, use the transaction attribute
-`TX_REQUIRED.` To ensure EJB methods in a call chain, use the same
-transaction.
-
-[[abeco]][[GSPTG00098]][[use-lowest-cost-database-locking]]
-
-Use Lowest Cost Database Locking
-++++++++++++++++++++++++++++++++
-
-Use the lowest cost locking available from the database that is
-consistent with any transaction. Commit the data after the transaction
-completes rather than after each method call.
-
-[[abecp]][[GSPTG00099]][[use-xa-capable-data-sources-only-when-needed]]
-
-Use XA-Capable Data Sources Only When Needed
-++++++++++++++++++++++++++++++++++++++++++++
-
-When multiple database resources, connector resources or JMS resources
-are involved in one transaction, a distributed or global transaction
-needs to be performed. This requires XA capable resource managers and
-data sources. Use XA capable data sources, only when two or more data
-source are going to be involved in a transaction. If a database
-participates in some distributed transactions, but mostly in local or
-single database transactions, it is advisable to register two separate
-JDBC resources and use the appropriate resource in the application.
-
-[[abecq]][[GSPTG00100]][[configure-jdbc-resources-as-one-phase-commit-resources]]
-
-Configure JDBC Resources as One-Phase Commit Resources
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-To improve performance of transactions involving multiple resources, the
-GlassFish Server uses last agent optimization (LAO), which allows the
-configuration of one of the resources in a distributed transaction as a
-one-phase commit (1PC) resource. Since the overhead of multiple-resource
-transactions is much higher for a JDBC resource than a message queue,
-LAO substantially improves performance of distributed transactions
-involving one JDBC resource and one or more message queues. To take
-advantage of LAO, configure a JDBC resource as a 1PC resource. Nothing
-special needs to be done to configure JMS resources.
-
-In global transactions involving multiple JDBC resources, LAO will still
-improve performance, however, not as much as for one JDBC resource. In
-this situation, one of the JDBC resources should be configured as 1PC,
-and all others should be configured as XA.
-
-[[abecr]][[GSPTG00101]][[use-the-least-expensive-transaction-attribute]]
-
-Use the Least Expensive Transaction Attribute
-+++++++++++++++++++++++++++++++++++++++++++++
-
-Set the following transaction attributes in the EJB deployment
-descriptor file (`ejb-jar.xml`). Options are listed from best
-performance to worst. To improve performance, choose the least expensive
-attribute that will provide the functionality your application needs:
-
-1.  `NEVER`
-2.  `TX_NOTSUPPORTED`
-3.  `TX_MANDATORY`
-4.  `TX_SUPPORTS`
-5.  `TX_REQUIRED`
-6.  `TX_REQUIRESNEW`
-
-[[abecs]][[GSPTG00176]][[using-special-techniques]]
-
-Using Special Techniques
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Special performance-enhancing techniques are discussed in the following
-sections:
-
-* link:#abect[Version Consistency]
-* link:#abecu[Request Partitioning]
-
-[[abect]][[GSPTG00102]][[version-consistency]]
-
-Version Consistency
-+++++++++++++++++++
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The technique in section applies only to the EJB 2.1 architecture. In
-the EJB 3.0 architecture, use the Java Persistence API (JPA).
-
-|=======================================================================
-
-
-Use version consistency to improve performance while protecting the
-integrity of data in the database. Since the application server can use
-multiple copies of an EJB component simultaneously, an EJB component's
-state can potentially become corrupted through simultaneous access.
-
-The standard way of preventing corruption is to lock the database row
-associated with a particular bean. This prevents the bean from being
-accessed by two simultaneous transactions and thus protects data.
-However, it also decreases performance, since it effectively serializes
-all EJB access.
-
-Version consistency is another approach to protecting EJB data
-integrity. To use version consistency, you specify a column in the
-database to use as a version number. The EJB lifecycle then proceeds
-like this:
-
-* The first time the bean is used, the `ejbLoad()` method loads the bean
-as normal, including loading the version number from the database.
-* The `ejbStore()` method checks the version number in the database
-versus its value when the EJB component was loaded.
-
-** If the version number has been modified, it means that there has been
-simultaneous access to the EJB component and `ejbStore()` throws a
-`ConcurrentModificationException`.
-
-** Otherwise, `ejbStore()` stores the data and completes as normal. +
-The `ejbStore()` method performs this validation at the end of the
-transaction regardless of whether any data in the bean was modified.
-
-Subsequent uses of the bean behave similarly, except that the
-`ejbLoad()` method loads its initial data (including the version number)
-from an internal cache. This saves a trip to the database. When the
-`ejbStore()` method is called, the version number is checked to ensure
-that the correct data was used in the transaction.
-
-Version consistency is advantageous when you have EJB components that
-are rarely modified, because it allows two transactions to use the same
-EJB component at the same time. Because neither transaction modifies the
-data, the version number is unchanged at the end of both transactions,
-and both succeed. But now the transactions can run in parallel. If two
-transactions occasionally modify the same EJB component, one will
-succeed and one will fail and can be retried using the new values—which
-can still be faster than serializing all access to the EJB component if
-the retries are infrequent enough (though now your application logic has
-to be prepared to perform the retry operation).
-
-To use version consistency, the database schema for a particular table
-must include a column where the version can be stored. You then specify
-that table in the `sun-cmp-mapping.xml` deployment descriptor for a
-particular bean:
-
-[source,oac_no_warn]
-----
-<entity-mapping>
-    <cmp-field-mapping>
-        ...
-    </cmp-field-mapping>
-    <consistency>
-        <check-version-of-accessed-instances>
-            <column-name>OrderTable.VC_VERSION_NUMBER</column-name>
-        </check-version-of-accessed-instances>
-    </consistency>
-</entity-mapping>
-----
-
-In addition, you must establish a trigger on the database to
-automatically update the version column when data in the specified table
-is modified. The GlassFish Server requires such a trigger to use version
-consistency. Having such a trigger also ensures that external
-applications that modify the EJB data will not conflict with EJB
-transactions in progress.
-
-For example, the following DDL illustrates how to create a trigger for
-the `Order` table:
-
-[source,oac_no_warn]
-----
-CREATE TRIGGER OrderTrigger
-  BEFORE UPDATE ON OrderTable
-  FOR EACH ROW
-  WHEN (new.VC_VERSION_NUMBER = old.VC_VERSION_NUMBER)
-  DECLARE
-  BEGIN
-    :NEW.VC_VERSION_NUMBER := :OLD.VC_VERSION_NUMBER + 1;
-  END;
-----
-
-[[abecu]][[GSPTG00103]][[request-partitioning]]
-
-Request Partitioning
-++++++++++++++++++++
-
-Request partitioning enables you to assign a request priority to an EJB
-component. This gives you the flexibility to make certain EJB components
-execute with higher priorities than others.
-
-An EJB component which has a request priority assigned to it will have
-its requests (services) executed within an assigned threadpool. By
-assigning a threadpool to its execution, the EJB component can execute
-independently of other pending requests. In short, request partitioning
-enables you to meet service-level agreements that have differing levels
-of priority assigned to different services.
-
-Request partitioning applies only to remote EJB components (those that
-implement a remote interface). Local EJB components are executed in
-their calling thread (for example, when a servlet calls a local bean,
-the local bean invocation occurs on the servlet's thread).
-
-[[gacmw]][[GSPTG00037]][[to-enable-request-partitioning]]
-
-To Enable Request Partitioning
-
-Follow this procedure.
-
-1.  Configure additional threadpools for EJB execution. +
-Using the GlassFish Server Administration Console, navigate to the
-Configurations>configuration-name>Thread Pools node. Refer to the
-Administration Console online help for more information. Alternatively,
-you can follow the instructions in "link:../administration-guide/threadpools.html#GSADG00008[Administering
-Thread Pools]" in GlassFish Server Open Source Edition Administration
-Guide. +
-Configure the threadpools as follows:
-1.  Add the additional threadpool IDs to the GlassFish Server's ORB. +
-This can be done on the Configurations>configuration-name>ORB node in
-the Administration Console. +
-For example, enable threadpools named `priority-1` and `priority-2` to
-the `<orb>` element as follows: +
-[source,oac_no_warn]
-----
-<orb max-connections="1024" message-fragment-size="1024"
-    use-thread-pool-ids="thread-pool-1,priority-1,priority-2">
-----
-2.  Include the threadpool ID in the `use-thread-pool-id` element of the
-EJB component's `sun-ejb-jar.xml` deployment descriptor. +
-For example, the following `sun-ejb-jar.xml` deployment descriptor for
-an EJB component named "`TheGreeter`" is assigned to a thread pool named
-`priority-2`: +
-[source,oac_no_warn]
-----
-<sun-ejb-jar>
-  <enterprise-beans>
-    <unique-id>1</unique-id>
-    <ejb>
-      <ejb-name>TheGreeter</ejb-name>
-      <jndi-name>greeter</jndi-name>
-      <use-thread-pool-id>priority-1</use-thread-pool-id>
-    </ejb>
-  </enterprise-beans>
-</sun-ejb-jar>
-----
-2.  Restart the GlassFish Server.
-
-[[abecv]][[GSPTG00177]][[tuning-tips-for-specific-types-of-ejb-components]]
-
-Tuning Tips for Specific Types of EJB Components
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section provides tips for tuning various specific types of EJB
-components:
-
-* link:#abecw[Entity Beans]
-* link:#abecx[Stateful Session Beans]
-* link:#abecz[Stateless Session Beans]
-* link:#abeda[Read-Only Entity Beans]
-* link:#abedc[Pre-Fetching Container Managed Relationship (CMR) Beans]
-
-These components can all be configured in the GlassFish Server
-Administration Console from the Configurations>configuration-name>EJB
-Container node. Alternatively, you can perform these configurations by
-following the instructions in "link:../ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing
-and Failover]" in GlassFish Server Open Source Edition High Availability
-Administration Guide.
-
-[[abecw]][[GSPTG00104]][[entity-beans]]
-
-Entity Beans
-++++++++++++
-
-Depending on the usage of a particular entity bean, one should tune
-`max-cache-size` so that the beans that are used less frequently (for
-example, an order that is created and never used after the transaction
-is over) are cached less, and beans that are used frequently (for
-example, an item in the inventory that gets referenced very often), are
-cached more.
-
-[[abecx]][[GSPTG00105]][[stateful-session-beans]]
-
-Stateful Session Beans
-++++++++++++++++++++++
-
-When a stateful bean represents a user, a reasonable `max-cache-size` of
-beans is the expected number of concurrent users on the application
-server process. If this value is too low (in relation to the steady load
-of users), beans would be frequently passivated and activated, causing a
-negative impact on the response times, due to CPU intensive
-serialization and deserialization as well as disk I/O.
-
-Another important variable for tuning is `cache-idle-timeout-in-seconds`
-where at periodic intervals of `cache-idle-timeout-in-seconds`, all the
-beans in the cache that have not been accessed for more than
-`cache-idle-timeout-in-seconds` time, are passivated. Similar to an HTTP
-session timeout, the bean is removed after it has not been accessed for
-`removal-timeout-in-seconds`. Passivated beans are stored on disk in
-serialized form. A large number of passivated beans could not only mean
-many files on the disk system, but also slower response time as the
-session state has to be de-serialized before the invocation.
-
-[[abecy]][[GSPTG00011]][[checkpoint-only-when-needed]]
-
-Checkpoint only when needed
-
-In high availability mode, when using stateful session beans, consider
-checkpointing only those methods that alter the state of the bean
-significantly. This reduces the number of times the bean state has to be
-checkpointed into the persistent store.
-
-[[abecz]][[GSPTG00106]][[stateless-session-beans]]
-
-Stateless Session Beans
-+++++++++++++++++++++++
-
-Stateless session beans are more readily pooled than entity or the
-stateful session beans. Valid values for `steady-pool-size`,
-`pool-resize-quantity` and `max-pool-size` are the best tunables for
-these type of beans. Set the `steady-pool-size` to greater than zero if
-you want to pre-populate the pool. This way, when the container comes
-up, it creates a pool with `steady-pool-size` number of beans. By
-pre-populating the pool it is possible to avoid the object creation time
-during method invocations.
-
-Setting the `steady-pool size` to a very large value can cause unwanted
-memory growth and can result in large garbage collection times.
-`pool-resize-quantity` determines the rate of growth as well as the rate
-of decay of the pool. Setting it to a small value is better as the decay
-behaves like an exponential decay. Setting a small `max-pool-size` can
-cause excessive object destruction (and as a result excessive object
-creation) as instances are destroyed from the pool if the current pool
-size exceeds `max-pool-size`.
-
-[[abeda]][[GSPTG00107]][[read-only-entity-beans]]
-
-Read-Only Entity Beans
-++++++++++++++++++++++
-
-Read-only entity beans cache data from the database. GlassFish Server
-supports read-only beans that use both bean-managed persistence (BMP)
-and container-managed persistence (CMP). Of the two types, CMP read-only
-beans provide significantly better performance. In the EJB lifecycle,
-the EJB container calls the `ejbLoad()` method of a read-only bean once.
-The container makes multiple copies of the EJB component from that data,
-and since the beans do not update the database, the container never
-calls the `ejbStore()` method. This greatly reduces database traffic for
-these beans.
-
-If there is a bean that never updates the database, use a read-only bean
-in its place to improve performance. A read-only bean is appropriate if
-either:
-
-* Database rows represented by the bean do not change.
-* The application can tolerate using out-of-date values for the bean.
-
-For example, an application might use a read-only bean to represent a
-list of best-seller books. Although the list might change occasionally
-in the database (say, from another bean entirely), the change need not
-be reflected immediately in an application.
-
-The `ejbLoad()` method of a read-only bean is handled differently for
-CMP and BMP beans. For CMP beans, the EJB container calls `ejbLoad()`
-only once to load the data from the database; subsequent uses of the
-bean just copy that data. For BMP beans, the EJB container calls
-`ejbLoad()` the first time a bean is used in a transaction. Subsequent
-uses of that bean within the transaction use the same values. The
-container calls `ejbLoad()` for a BMP bean that doesn't run within a
-transaction every time the bean is used. Therefore, read-only BMP beans
-still make a number of calls to the database.
-
-To create a read-only bean, add the following to the EJB deployment
-descriptor `sun-ejb-jar.xml`:
-
-[source,oac_no_warn]
-----
-<is-read-only-bean>true</is-read-only-bean>
-<refresh-period-in-seconds>600</refresh-period-in-seconds>
-----
-
-[[abedb]][[GSPTG00012]][[refresh-period]]
-
-Refresh Period
-
-An important parameter for tuning read-only beans is the refresh period,
-represented by the deployment descriptor entity
-`refresh-period-in-seconds`. For CMP beans, the first access to a bean
-loads the bean's state. The first access after the refresh period
-reloads the data from the database. All subsequent uses of the bean uses
-the newly refreshed data (until another refresh period elapses). For BMP
-beans, an `ejbLoad()` method within an existing transaction uses the
-cached data unless the refresh period has expired (in which case, the
-container calls `ejbLoad()` again).
-
-This parameter enables the EJB component to periodically refresh its
-"snapshot" of the database values it represents. If the refresh period
-is less than or equal to 0, the bean is never refreshed from the
-database (the default behavior if no refresh period is given).
-
-[[abedc]][[GSPTG00108]][[pre-fetching-container-managed-relationship-cmr-beans]]
-
-Pre-Fetching Container Managed Relationship (CMR) Beans
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-If a container-managed relationship (CMR) exists in your application,
-loading one bean will load all its related beans. The canonical example
-of CMR is an order-orderline relationship where you have one `Order` EJB
-component that has related `OrderLine` EJB components. In previous
-releases of the application server, to use all those beans would require
-multiple database queries: one for the `Order` bean and one for each of
-the `OrderLine` beans in the relationship.
-
-In general, if a bean has n relationships, using all the data of the
-bean would require n+1 database accesses. Use CMR pre-fetching to
-retrieve all the data for the bean and all its related beans in one
-database access.
-
-For example, you have this relationship defined in the `ejb-jar.xml`
-file:
-
-[source,oac_no_warn]
-----
-<relationships>
-    <ejb-relation>
-        <description>Order-OrderLine</description>
-        <ejb-relation-name>Order-OrderLine</ejb-relation-name>
-        <ejb-relationship-role>
-            <ejb-relationship-role-name>
-                Order-has-N-OrderLines
-            </ejb-relationship-role-name>
-            <multiplicity>One</multiplicity>
-            <relationship-role-source>
-                <ejb-name>OrderEJB</ejb-name>
-            </relationship-role-source>
-            <cmr-field>
-                <cmr-field-name>orderLines</cmr-field-name>
-                <cmr-field-type>java.util.Collection</cmr-field-type>
-            </cmr-field>
-        </ejb-relationship-role>
-    </ejb-relation>
-</relationships>
-----
-
-When a particular `Order` is loaded, you can load its related
-`OrderLines` by adding this to the `sun-cmp-mapping.xml` file for the
-application:
-
-[source,oac_no_warn]
-----
-<entity-mapping>
-    <ejb-name>Order</ejb-name>
-    <table-name>...</table-name>
-    <cmp-field-mapping>...</cmp-field-mapping>
-    <cmr-field-mapping>
-        <cmr-field-name>orderLines</cmr-field-name>
-        <column-pair>
-            <column-name>OrderTable.OrderID</column-name>
-            <column-name>OrderLineTable.OrderLine_OrderID</column-name>
-        </column-pair>
-        <fetched-with>
-            <default>
-        </fetched-with>
-    </cmr-field-mapping>
-</entity-mappping>
-----
-
-Now when an `Order` is retrieved, the CMP engine issues SQL to retrieve
-all related `OrderLines` with a `SELECT` statement that has the
-following `WHERE` clause:
-
-[source,oac_no_warn]
-----
-OrderTable.OrderID = OrderLineTable.OrderLine_OrderID
-----
-
-This clause indicates an outer join. These `OrderLines` are pre-fetched.
-
-Pre-fetching generally improves performance because it reduces the
-number of database accesses. However, if the business logic often uses
-`Orders` without referencing their `OrderLines`, then this can have a
-performance penalty, that is, the system has spent the effort to
-pre-fetch the `OrderLines` that are not actually needed.
-
-Avoid pre-fetching for specific finder methods; this can often avoid
-that penalty. For example, consider an order bean has two finder
-methods: a `findByPrimaryKey` method that uses the `Orderlines`, and a
-`findByCustomerId` method that returns only order information and
-therefore does not use the `Orderlines`. If you have enabled CMR
-pre-fetching for the `Orderlines`, both finder methods will pre-fetch
-the `Orderlines`. However, you can prevent pre-fetching for the
-`findByCustomerId` method by including this information in the
-`sun-ejb-jar.xml` descriptor:
-
-[source,oac_no_warn]
-----
-<ejb>
-    <ejb-name>OrderBean</ejb-name>
-    ...
-    <cmp>
-        <prefetch-disabled>
-            <query-method>
-                <method-name>findByCustomerId</method-name>
-            </query-method>
-        </prefetch-disabled>
-     </cmp>
-</ejb>
-----
-
-[[abedd]][[GSPTG00178]][[jdbc-and-database-access]]
-
-JDBC and Database Access
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following are some tips to improve the performance of database
-access:
-
-* link:#abede[Use JDBC Directly]
-* link:#abedf[Encapsulate Business Logic in Entity EJB Components]
-* link:#abedg[Close Connections]
-* link:#abedh[Minimize the Database Transaction Isolation Level]
-
-[[abede]][[GSPTG00109]][[use-jdbc-directly]]
-
-Use JDBC Directly
-+++++++++++++++++
-
-When dealing with large amounts of data, such as searching a large
-database, use JDBC directly rather than using Entity EJB components.
-
-[[abedf]][[GSPTG00110]][[encapsulate-business-logic-in-entity-ejb-components]]
-
-Encapsulate Business Logic in Entity EJB Components
-+++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Combine business logic with the Entity EJB component that holds the data
-needed for that logic to process.
-
-[[abedg]][[GSPTG00111]][[close-connections]]
-
-Close Connections
-+++++++++++++++++
-
-To ensure that connections are returned to the pool, always close the
-connections after use.
-
-[[abedh]][[GSPTG00112]][[minimize-the-database-transaction-isolation-level]]
-
-Minimize the Database Transaction Isolation Level
-+++++++++++++++++++++++++++++++++++++++++++++++++
-
-Use the default isolation level provided by the JDBC driver rather than
-calling `setTransactionIsolationLevel()`, unless you are certain that
-your application behaves correctly and performs better at a different
-isolation level.
-
-Reduce the database transaction isolation level when appropriate.
-Reduced isolation levels reduce work in the database tier, and could
-lead to better application performance. However, this must be done after
-carefully analyzing the database table usage patterns.
-
-To set the database transaction isolation level using the GlassFish
-Server Administration Console, navigate to the Resources>JDBC>JDBC
-Connection Pools>pool-name node. Refer to the Administration Console
-online help for complete instructions. Alternatively, follow the
-instructions in "link:../administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]"
-in GlassFish Server Open Source Edition Administration Guide. For more
-information on tuning JDBC connection pools, see
-link:tuning-glassfish.html#abehq[JDBC Connection Pool Settings].
-
-[[abedi]][[GSPTG00179]][[tuning-message-driven-beans]]
-
-Tuning Message-Driven Beans
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This section provides some tips to improve performance when using JMS
-with message-driven beans (MDBs).
-
-[[abedj]][[GSPTG00113]][[use-getconnection]]
-
-Use `getConnection()`
-+++++++++++++++++++++
-
-JMS connections are served from a connection pool. This means that
-calling `getConnection()` on a Queue connection factory is fast.
-
-[[abedk]][[GSPTG00114]][[tune-the-message-driven-beans-pool-size]]
-
-Tune the Message-Driven Bean's Pool Size
-++++++++++++++++++++++++++++++++++++++++
-
-The container for message-driven beans (MDB) is different than the
-containers for entity and session beans. In the MDB container, sessions
-and threads are attached to the beans in the MDB pool. This design makes
-it possible to pool the threads for executing message-driven requests in
-the container.
-
-Tune the Message-Driven bean's pool size to optimize the concurrent
-processing of messages. Set the size of the MDB pool to, based on all
-the parameters of the server (taking other applications into account).
-For example, a value greater than 500 is generally too large.
-
-To configure MDB pool settings in the GlassFish Server Administration
-Console, navigate to the Configurations>configuration-name>EJB Container
-node and then select the MDB Settings tab. Refer to the Administration
-Console online help for more information. Alternatively, you can set the
-MDB pool size by using the following `asadmin set` subcommand:
-
-[source,oac_no_warn]
-----
-asadmin set server.mdb-container.max-pool-size = value
-----
-
-[[abedl]][[GSPTG00115]][[cache-bean-specific-resources]]
-
-Cache Bean-Specific Resources
-+++++++++++++++++++++++++++++
-
-Use the `setMessageDrivenContext()` or `ejbCreate()` method to cache
-bean specific resources, and release those resources from the
-`ejbRemove()` method.
-
-[[abedm]][[GSPTG00116]][[limit-use-of-jms-connections]]
-
-Limit Use of JMS Connections
-++++++++++++++++++++++++++++
-
-When designing an application that uses JMS connections make sure you
-use a methodology that sparingly uses connections, by either pooling
-them or using the same connection for multiple sessions.
-
-The JMS connection uses two threads and the sessions use one thread
-each. Since these threads are not taken from a pool and the resultant
-objects aren't pooled, you could run out of memory during periods of
-heavy usage.
-
-One workaround is to move `createTopicConnection` into the `init` of the
-servlet.
-
-Make sure to specifically close the session, or it will stay open, which
-ties up resources.
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/tuning-glassfish.adoc b/docs/performance-tuning-guide/src/main/jbake/content/tuning-glassfish.adoc
deleted file mode 100644
index 37073d3..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/tuning-glassfish.adoc
+++ /dev/null
@@ -1,1988 +0,0 @@
-type=page
-status=published
-title=Tuning the GlassFish Server
-next=tuning-java.html
-prev=tuning-apps.html
-~~~~~~
-Tuning the GlassFish Server
-===========================
-
-[[GSPTG00005]][[abedn]]
-
-
-[[tuning-the-glassfish-server]]
-3 Tuning the GlassFish Server
------------------------------
-
-This chapter describes some ways to tune your GlassFish Server
-installation for optimum performance.
-
-Note that while this chapter describes numerous interactions with both
-the GlassFish Server Administration Console and the command-line
-interface, it is not intended to provide exhaustive descriptions of
-either. For complete information about using the Administration Console,
-refer to the Administration Console online help. For complete
-information about using the GlassFish Server command-line interface,
-refer to the other titles in the GlassFish Server documentation set at
-`http://docs.oracle.com/docs/cd/E18930_01/index.html`.
-
-The following topics are addressed here:
-
-* link:#gkxwm[Using the GlassFish Server Performance Tuner]
-* link:#abedo[Deployment Settings]
-* link:#abeds[Logger Settings]
-* link:#abedw[Web Container Settings]
-* link:#abeea[EJB Container Settings]
-* link:#abeel[Java Message Service Settings]
-* link:#abeem[Transaction Service Settings]
-* link:#abeet[HTTP Service Settings]
-* link:#abegk[Network Listener Settings]
-* link:#gkxjt[Transport Settings]
-* link:#abehk[Thread Pool Settings]
-* link:#abegt[ORB Settings]
-* link:#abehp[Resource Settings]
-* link:#gkxvd[Load Balancer Settings]
-
-[[gkxwm]][[GSPTG00055]][[using-the-glassfish-server-performance-tuner]]
-
-Using the GlassFish Server Performance Tuner
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can significantly improve the performance of GlassFish Server and
-the applications deployed on it by adjusting a few deployment and server
-configuration settings. These changes can be made manually, as described
-in this chapter, or by using the built-in Performance Tuner in the
-GlassFish Server Administration Console.
-
-The Performance Tuner recommends server settings to suit the needs of
-your GlassFish Server deployment. It helps you reach an optimal
-configuration, although finer tuning might be needed in case of specific
-requirements. You can configure performance tuning for the entire
-domain, or for individual GlassFish Server instances or clusters. The
-Tuner performs a static analysis of GlassFish Server resources and
-throughput requirements. Note that no dynamic inspection of the system
-is performed.
-
-For complete information about using the Performance Tuning features
-available through the GlassFish Server Administration Console, refer to
-the Administration Console online help. You may also want to refer to
-the following resources for additional information:
-
-* To view a demonstration video showing how to use the GlassFish Server
-Performance Tuner, see the
-http://www.youtube.com/watch?v=FavsE2pzAjc[Oracle GlassFish Server 3.1 -
-Performance Tuner demo] (`http://www.youtube.com/watch?v=FavsE2pzAjc`).
-* To find additional Performance Tuning development information, see the
-http://blogs.oracle.com/jenblog/entry/performance_tuner_in_oracle_glassfish[Performance
-Tuner in Oracle GlassFish Server 3.1]
-(`http://blogs.oracle.com/jenblog/entry/performance_tuner_in_oracle_glassfish`)
-blog.
-
-[[abedo]][[GSPTG00056]][[deployment-settings]]
-
-Deployment Settings
-~~~~~~~~~~~~~~~~~~~
-
-Deployment settings can have significant impact on performance. Follow
-these guidelines when configuring deployment settings for best
-performance:
-
-* link:#abedp[Disable Auto-Deployment]
-* link:#abedq[Use Pre-compiled JavaServer Pages]
-* link:#abedr[Disable Dynamic Application Reloading]
-
-[[abedp]][[GSPTG00180]][[disable-auto-deployment]]
-
-Disable Auto-Deployment
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Enabling auto-deployment will adversely affect deployment, though it is
-a convenience in a development environment. For a production system,
-disable auto-deploy to optimize performance. If auto-deployment is
-enabled, then the Reload Poll Interval setting can have a significant
-performance impact.
-
-To enable or disable auto-deployment from the GlassFish Server
-Administration Console, navigate to the Domain node and then click the
-Applications Configuration tab. Refer to the Administration Console for
-further instructions. Alternatively, refer to "link:../application-deployment-guide/deploying-applications.html#GSDPG00041[To
-Deploy an Application or Module Automatically]" in GlassFish Server Open
-Source Edition Application Deployment Guide for instructions on enabling
-or disabling auto-deployment.
-
-[[abedq]][[GSPTG00181]][[use-pre-compiled-javaserver-pages]]
-
-Use Pre-compiled JavaServer Pages
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Compiling JSP files is resource intensive and time consuming.
-Pre-compiling JSP files before deploying applications on the server will
-improve application performance. When you do so, only the resulting
-servlet class files will be deployed.
-
-You can specify to precompile JSP files when you deploy an application
-through the Administration Console or `deploy` subcommand. You can also
-specify to pre-compile JSP files for a deployed application with the
-Administration Console. Navigate to the Domain node and then click the
-Applications Configuration tab. Refer to the Administration Console for
-further instructions.
-
-[[abedr]][[GSPTG00182]][[disable-dynamic-application-reloading]]
-
-Disable Dynamic Application Reloading
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If dynamic reloading is enabled, the server periodically checks for
-changes in deployed applications and automatically reloads the
-application with the changes. Dynamic reloading is intended for
-development environments and is also incompatible with session
-persistence. To improve performance, disable dynamic class reloading.
-
-You can use the Administration Console to disable dynamic class
-reloading for an application that is already deployed. Navigate to the
-Domain node and then click the Applications Configuration tab. Refer to
-the Administration Console for further instructions.
-
-[[abeds]][[GSPTG00057]][[logger-settings]]
-
-Logger Settings
-~~~~~~~~~~~~~~~
-
-The GlassFish Server produces writes log messages and exception stack
-trace output to the log file in the logs directory of the instance,
-domain-dir`/logs`. The volume of log activity can impact server
-performance; particularly in benchmarking situations.
-
-[[abedt]][[GSPTG00183]][[general-settings]]
-
-General Settings
-^^^^^^^^^^^^^^^^
-
-In general, writing to the system log slows down performance slightly;
-and increased disk access (increasing the log level, decreasing the file
-rotation limit or time limit) also slows down the application.
-
-Also, make sure that any custom log handler does not log to a slow
-device like a network file system since this can adversely affect
-performance.
-
-[[abedu]][[GSPTG00184]][[log-levels]]
-
-Log Levels
-^^^^^^^^^^
-
-Set the log level for the server and its subsystems in the GlassFish
-Server Administration Console. Navigate to the
-Configurations>configuration-name>Logger Settings page, and follow the
-instructions in the online help. Alternatively, you can configure
-logging by following the instructions in "link:../administration-guide/logging.html#GSADG00010[Administering
-the Logging Service]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-[[abedw]][[GSPTG00058]][[web-container-settings]]
-
-Web Container Settings
-~~~~~~~~~~~~~~~~~~~~~~
-
-Set Web container settings in the GlassFish Server Administration
-Console by navigating to the Configurations>configuration-name>Web
-Container node. Follow the instructions in the online help for more
-information. Alternatively, you can configure Web container settings by
-following the instructions in "link:../administration-guide/webapps.html#GSADG00009[Administering Web
-Applications]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-* link:#abedx[Session Properties: Session Timeout]
-* link:#abedy[Manager Properties: Reap Interval]
-* link:#abedz[Disable Dynamic JSP Reloading]
-
-[[abedx]][[GSPTG00185]][[session-properties-session-timeout]]
-
-Session Properties: Session Timeout
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Session timeout determines how long the server maintains a session if a
-user does not explicitly invalidate the session. The default value is 30
-minutes. Tune this value according to your application requirements.
-Setting a very large value for session timeout can degrade performance
-by causing the server to maintain too many sessions in the session
-store. However, setting a very small value can cause the server to
-reclaim sessions too soon.
-
-[[abedy]][[GSPTG00186]][[manager-properties-reap-interval]]
-
-Manager Properties: Reap Interval
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Modifying the reap interval can improve performance, but setting it
-without considering the nature of your sessions and business logic can
-cause data inconsistency, especially for time-based
-persistence-frequency.
-
-For example, if you set the reap interval to 60 seconds, the value of
-session data will be recorded every 60 seconds. But if a client accesses
-a servlet to update a value at 20 second increments, then
-inconsistencies will result.
-
-For example, consider the following online auction scenario:
-
-* Bidding starts at $5, in 60 seconds the value recorded will be $8
-(three 20 second intervals).
-* During the next 40 seconds, the client starts incrementing the price.
-The value the client sees is $10.
-* During the client's 20 second rest, the GlassFish Server stops and
-starts in 10 seconds. As a result, the latest value recorded at the 60
-second interval ($8) is be loaded into the session.
-* The client clicks again expecting to see $11; but instead sees is $9,
-which is incorrect.
-* So, to avoid data inconsistencies, take into the account the expected
-behavior of the application when adjusting the reap interval.
-
-[[abedz]][[GSPTG00187]][[disable-dynamic-jsp-reloading]]
-
-Disable Dynamic JSP Reloading
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-On a production system, improve web container performance by disabling
-dynamic JSP reloading. To do so, edit the `default-web.xml` file in the
-`config` directory for each instance. Change the servlet definition for
-a JSP file to look like this:
-
-[source,oac_no_warn]
-----
-<servlet>
-  <servlet-name>jsp</servlet-name>
-  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
-  <init-param>
-    <param-name>development</param-name>
-    <param-value>false</param-value>
-  </init-param>
-  <init-param>
-    <param-name>xpoweredBy</param-name>
-    <param-value>true</param-value>
-  </init-param>
-  <init-param>
-    <param-name>genStrAsCharArray</param-name>
-    <param-value>true</param-value>
-  </init-param>  <load-on-startup>3</load-on-startup>
-</servlet>
-----
-
-[[abeea]][[GSPTG00059]][[ejb-container-settings]]
-
-EJB Container Settings
-~~~~~~~~~~~~~~~~~~~~~~
-
-The EJB Container has many settings that affect performance. As with
-other areas, use monitor the EJB Container to track its execution and
-performance.
-
-You can configure most EJB container settings from the GlassFish Server
-Administration Console by navigating to the
-Configurations>configuration-name>EJB Container node and then following
-the instructions in the online help.
-
-[[abeeb]][[GSPTG00188]][[monitoring-the-ejb-container]]
-
-Monitoring the EJB Container
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Monitoring the EJB container is disabled by default. You can enable EJB
-monitoring through the GlassFish Server Administration Console by
-navagating to the the Configurations>configuration-name>Monitoring node
-and then following the instructions in the online help. Set the
-monitoring level to LOW for to monitor all deployed EJB components, EJB
-pools, and EJB caches. Set the monitoring level to HIGH to also monitor
-EJB business methods.
-
-[[abeec]][[GSPTG00189]][[tuning-the-ejb-container]]
-
-Tuning the EJB Container
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The EJB container caches and pools EJB components for better
-performance. Tuning the cache and pool properties can provide
-significant performance benefits to the EJB container.
-
-The pool settings are valid for stateless session and entity beans while
-the cache settings are valid for stateful session and entity beans.
-
-The following topics are addressed here:
-
-* link:#abeed[Overview of EJB Pooling and Caching]
-* link:#abeee[Tuning the EJB Pool]
-* link:#abeeg[Tuning the EJB Cache]
-* link:#abeei[Pool and Cache Settings for Individual EJB Components]
-* link:#abeej[Commit Option]
-
-[[abeed]][[GSPTG00117]][[overview-of-ejb-pooling-and-caching]]
-
-Overview of EJB Pooling and Caching
-+++++++++++++++++++++++++++++++++++
-
-Both stateless session beans and entity beans can be pooled to improve
-server performance. In addition, both stateful session beans and entity
-beans can be cached to improve performance.
-
-[[sthref7]][[gacmo]]
-
-Table 3-1 Bean Type Pooling or Caching
-
-[width="100%",cols="<34%,<33%,<33%",options="header",]
-|==========================
-|Bean Type |Pooled |Cached
-|Stateless Session |Yes |No
-|Stateful Session |No |Yes
-|Entity |Yes |Yes
-|==========================
-
-
-The difference between a pooled bean and a cached bean is that pooled
-beans are all equivalent and indistinguishable from one another. Cached
-beans, on the contrary, contain conversational state in the case of
-stateful session beans, and are associated with a primary key in the
-case of entity beans. Entity beans are removed from the pool and added
-to the cache on `ejbActivate()` and removed from the cache and added to
-the pool on `ejbPassivate()`. `ejbActivate()` is called by the container
-when a needed entity bean is not in the cache. `ejbPassivate()` is
-called by the container when the cache grows beyond its configured
-limits.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you develop and deploy your EJB components using Oracle Java Studio,
-then you need to edit the individual bean descriptor settings for bean
-pool and bean cache. These settings might not be suitable for
-production-level deployment.
-
-|=======================================================================
-
-
-[[abeee]][[GSPTG00118]][[tuning-the-ejb-pool]]
-
-Tuning the EJB Pool
-+++++++++++++++++++
-
-A bean in the pool represents the pooled state in the EJB lifecycle.
-This means that the bean does not have an identity. The advantage of
-having beans in the pool is that the time to create a bean can be saved
-for a request. The container has mechanisms that create pool objects in
-the background, to save the time of bean creation on the request path.
-
-Stateless session beans and entity beans use the EJB pool. Keeping in
-mind how you use stateless session beans and the amount of traffic your
-server handles, tune the pool size to prevent excessive creation and
-deletion of beans.
-
-[[abeef]][[GSPTG00013]][[ejb-pool-settings]]
-
-EJB Pool Settings
-
-An individual EJB component can specify cache settings that override
-those of the EJB container in the `<bean-pool>` element of the EJB
-component's `sun-ejb-jar.xml` deployment descriptor.
-
-The EJB pool settings are:
-
-* Initial and Minimum Pool Size: the initial and minimum number of beans
-maintained in the pool. Valid values are from 0 to `MAX_INTEGER,` and
-the default value is 8. The corresponding EJB deployment descriptor
-attribute is `steady-pool-size.` +
-Set this property to a number greater than zero for a moderately loaded
-system. Having a value greater than zero ensures that there is always a
-pooled instance to process an incoming request.
-* Maximum Pool Size: the maximum number of connections that can be
-created to satisfy client requests. Valid values are from zero to
-`MAX_INTEGER`., and the default is 32. A value of zero means that the
-size of the pool is unbounded. The potential implication is that the JVM
-heap will be filled with objects in the pool. The corresponding EJB
-deployment descriptor attribute is `max-pool-size`. +
-Set this property to be representative of the anticipated high load of
-the system. An very large pool wastes memory and can slow down the
-system. A very small pool is also inefficient due to contention.
-* Pool Resize Quantity: the number of beans to be created or deleted
-when the cache is being serviced by the server. Valid values are from
-zero to `MAX_INTEGER` and default is 16. The corresponding EJB
-deployment descriptor attribute is `resize-quantity`. +
-Be sure to re-calibrate the pool resize quantity when you change the
-maximum pool size, to maintain an equilibrium. Generally, a larger
-maximum pool size should have a larger pool resize quantity.
-* Pool Idle Timeout: the maximum time that a stateless session bean,
-entity bean, or message-driven bean is allowed to be idle in the pool.
-After this time, the bean is destroyed if the bean in case is a
-stateless session bean or a message driver bean. This is a hint to
-server. The default value is 600 seconds. The corresponding EJB
-deployment descriptor attribute is `pool-idle-timeout-in-seconds`. +
-If there are more beans in the pool than the maximum pool size, the pool
-drains back to initial and minimum pool size, in steps of pool resize
-quantity at an interval specified by the pool idle timeout. If the
-resize quantity is too small and the idle timeout large, you will not
-see the pool draining back to steady size quickly enough.
-
-[[abeeg]][[GSPTG00119]][[tuning-the-ejb-cache]]
-
-Tuning the EJB Cache
-++++++++++++++++++++
-
-A bean in the cache represents the ready state in the EJB lifecycle.
-This means that the bean has an identity (for example, a primary key or
-session ID) associated with it.
-
-Beans moving out of the cache have to be passivated or destroyed
-according to the EJB lifecycle. Once passivated, a bean has to be
-activated to come back into the cache. Entity beans are generally stored
-in databases and use some form of query language semantics to load and
-store data. Session beans have to be serialized when storing them upon
-passivation onto the disk or a database; and similarly have to be
-deserialized upon activation.
-
-Any incoming request using these "ready" beans from the cache avoids the
-overhead of creation, setting identity, and potentially activation. So,
-theoretically, it is good to cache as many beans as possible. However,
-there are drawbacks to caching:
-
-* Memory consumed by all the beans affects the heap available in the
-Virtual Machine.
-* Increasing objects and memory taken by cache means longer, and
-possibly more frequent, garbage collection.
-* The application server might run out of memory unless the heap is
-carefully tuned for peak loads.
-
-Keeping in mind how your application uses stateful session beans and
-entity beans, and the amount of traffic your server handles, tune the
-EJB cache size and timeout settings to minimize the number of
-activations and passivations.
-
-[[abeeh]][[GSPTG00014]][[ejb-cache-settings]]
-
-EJB Cache Settings
-
-An individual EJB component can specify cache settings that override
-those of the EJB container in the `<bean-cache>` element of the EJB
-component's `sun-ejb-jar.xml` deployment descriptor.
-
-The EJB cache settings are:
-
-* Max Cache Size: Maximum number of beans in the cache. Make this
-setting greater than one. The default value is 512. A value of zero
-indicates the cache is unbounded, which means the size of the cache is
-governed by Cache Idle Timeout and Cache Resize Quantity. The
-corresponding EJB deployment descriptor attribute is `max-cache-size`.
-* Cache Resize Quantity: Number of beans to be created or deleted when
-the cache is serviced by the server. Valid values are from zero to
-MAX_INTEGER, and the default is 16. The corresponding EJB deployment
-descriptor attribute is `resize-quantity`.
-* Removal Timeout: Amount of time that a stateful session bean remains
-passivated (idle in the backup store). If a bean was not accessed after
-this interval of time, then it is removed from the backup store and will
-not be accessible to the client. The default value is 60 minutes. The
-corresponding EJB deployment descriptor attribute is
-`removal-timeout-in-seconds`.
-* Removal Selection Policy: Algorithm used to remove objects from the
-cache. The corresponding EJB deployment descriptor attribute is
-`victim-selection-policy`. Choices are:
-
-** NRU (not recently used). This is the default, and is actually
-pseudo-random selection policy.
-
-** FIFO (first in, first out)
-
-** LRU (least recently used)
-* Cache Idle Timeout: Maximum time that a stateful session bean or
-entity bean is allowed to be idle in the cache. After this time, the
-bean is passivated to the backup store. The default value is 600
-seconds. The corresponding EJB deployment descriptor attribute is
-`cache-idle-timeout-in-seconds`.
-* Refresh period: Rate at which a read-only-bean is refreshed from the
-data source. Zero (0) means that the bean is never refreshed. The
-default is 600 seconds. The corresponding EJB deployment descriptor
-attribute is `refresh-period-in-seconds`. Note: this setting does not
-have a custom field in the Admin Console. To set it, use the Add
-Property button in the Additional Properties section.
-
-[[abeei]][[GSPTG00120]][[pool-and-cache-settings-for-individual-ejb-components]]
-
-Pool and Cache Settings for Individual EJB Components
-+++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Individual EJB pool and cache settings in the `sun-ejb-jar.xml`
-deployment descriptor override those of the EJB container. The following
-table lists the cache and pool settings for each type of EJB component.
-
-[width="100%",cols="<35%,<13%,<13%,<13%,<13%,<13%",options="header",]
-|=======================================================================
-|Cache or Pool Setting |Stateful Session Bean |Stateless Session Bean
-|Entity Bean |Entity Read-Only Bean |Message Driven Bean
-|`cache-resize-quantity` |X | + |X |X | +
-
-|`max-cache-size` |X | + |X |X | +
-
-|`cache-idle-timeout-in-seconds` |X | + |X |X | +
-
-|`removal-timeout-in-seconds` |X | + |X |X | +
-
-|`victim-selection-policy` |X | + |X |X | +
-
-|`refresh-period-in-seconds` | + | + | + |X | +
-
-|`steady-pool-size` | + |X |X |X | +
-
-|`pool-resize-quantity` | + |X |X |X |X
-
-|`max-pool-size` | + |X |X |X |X
-
-|`pool-idle-timeout-in-seconds` | + |X |X |X |X
-|=======================================================================
-
-
-[[abeej]][[GSPTG00121]][[commit-option]]
-
-Commit Option
-+++++++++++++
-
-The commit option controls the action taken by the EJB container when an
-EJB component completes a transaction. The commit option has a
-significant impact on performance.
-
-The following are the possible values for the commit option:
-
-* Commit option B: When a transaction completes, the bean is kept in the
-cache and retains its identity. The next invocation for the same primary
-key can use the cached instance. The EJB container will call the bean's
-`ejbLoad()` method before the method invocation to synchronize with the
-database.
-* Commit option C: When a transaction completes, the EJB container calls
-the bean's `ejbPassivate()` method, the bean is disassociated from its
-primary key and returned to the free pool. The next invocation for the
-same primary key will have to get a free bean from the pool, set the
-`PrimaryKey` on this instance, and then call `ejbActivate()` on the
-instance. Again, the EJB container will call the bean's `ejbLoad()`
-before the method invocation to synchronize with the database.
-
-Option B avoids `ejbAcivate()` and `ejbPassivate()` calls. So, in most
-cases it performs better than option C since it avoids some overhead in
-acquiring and releasing objects back to pool.
-
-However, there are some cases where option C can provide better
-performance. If the beans in the cache are rarely reused and if beans
-are constantly added to the cache, then it makes no sense to cache
-beans. With option C is used, the container puts beans back into the
-pool (instead of caching them) after method invocation or on transaction
-completion. This option reuses instances better and reduces the number
-of live objects in the JVM, speeding garbage collection.
-
-[[abeek]][[GSPTG00015]][[determining-the-best-commit-option]]
-
-Determining the Best Commit Option
-
-To determine whether to use commit option B or commit option C, first
-take a look at the cache-hits value using the monitoring command for the
-bean. If the cache hits are much higher than cache misses, then option B
-is an appropriate choice. You might still have to change the
-`max-cache-size` and `cache-resize-quantity` to get the best result.
-
-If the cache hits are too low and cache misses are very high, then the
-application is not reusing the bean instances and hence increasing the
-cache size (using `max-cache-size`) will not help (assuming that the
-access pattern remains the same). In this case you might use commit
-option C. If there is no great difference between cache-hits and
-cache-misses then tune `max-cache-size`, and probably
-`cache-idle-timeout-in-seconds`.
-
-[[abeel]][[GSPTG00060]][[java-message-service-settings]]
-
-Java Message Service Settings
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Type attribute that determines whether the Java Message Service
-(JMS) is on local or remote system affects performance. Local JMS
-performance is better than remote JMS performance. However, a remote
-cluster can provide failover capabilities and can be administrated
-together, so there may be other advantages of using remote JMS. For more
-information on using JMS, see "link:../administration-guide/jms.html#GSADG00020[Administering the Java
-Message Service (JMS)]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-[[abeem]][[GSPTG00061]][[transaction-service-settings]]
-
-Transaction Service Settings
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The transaction manager makes it possible to commit and roll back
-distributed transactions.
-
-A distributed transactional system writes transactional activity into
-transaction logs so that they can be recovered later. But writing
-transactional logs has some performance penalty.
-
-The following topics are addressed here:
-
-* link:#abeen[Monitoring the Transaction Service]
-* link:#abeep[Tuning the Transaction Service]
-
-[[abeen]][[GSPTG00190]][[monitoring-the-transaction-service]]
-
-Monitoring the Transaction Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Transaction Manager monitoring is disabled by default. Enable monitoring
-of the transaction service through the GlassFish Server Administration
-Console by navigating to the
-Configurations>configuration-name>Monitoring node. Refer to the
-Administration Console for complete instructions.
-
-You can also enable monitoring with these commands:
-
-[source,oac_no_warn]
-----
-set serverInstance.transaction-service.monitoringEnabled=true
-reconfig serverInstance
-----
-
-[[abeeo]][[GSPTG00122]][[viewing-monitoring-information]]
-
-Viewing Monitoring Information
-++++++++++++++++++++++++++++++
-
-To view monitoring information for the transaction service in the
-GlassFish Server Administration Console, navigate to the server (Admin
-Server) node and then select the Monitor tab.
-
-The following statistics are gathered on the transaction service:
-
-* `total-tx-completed` Completed transactions.
-* `total-tx-rolled-back` Total rolled back transactions.
-* `total-tx-inflight` Total inflight (active) transactions.
-* `isFrozen` Whether transaction system is frozen (true or false)
-* `inflight-tx` List of inflight (active) transactions.
-
-[[abeep]][[GSPTG00191]][[tuning-the-transaction-service]]
-
-Tuning the Transaction Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This property can be used to disable the transaction logging, where the
-performance is of utmost importance more than the recovery. This
-property, by default, won't exist in the server configuration.
-
-Most Transaction Service tuning tasks can be performed through the
-GlassFish Server Administration Console by navigating to the
-Configurations>configuration-name>Transaction Service node and then
-following the instructions in the online help. Alternatively, you can
-follow the instructions in "link:../administration-guide/transactions.html#GSADG00022[Administering
-Transactions]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-[[abeeq]][[GSPTG00123]][[disable-distributed-transaction-logging]]
-
-Disable Distributed Transaction Logging
-+++++++++++++++++++++++++++++++++++++++
-
-You can disable transaction logging through the Administration Console
-or by using the following `asadmin set` subcommand:
-
-[source,oac_no_warn]
-----
-asadmin set
-server1.transaction-service.disable-distributed-transaction-logging=true
-----
-
-Disabling transaction logging can improve performance. Setting it to
-false (the default), makes the transaction service write transactional
-activity to transaction logs so that transactions can be recovered. If
-Recover on Restart is checked, this property is ignored.
-
-Set this property to true only if performance is more important than
-transaction recovery.
-
-[[abeer]][[GSPTG00124]][[recover-on-restart-automatic-recovery]]
-
-Recover On Restart (Automatic Recovery)
-+++++++++++++++++++++++++++++++++++++++
-
-You can set the Recover on Restart attribute through the Administration
-Console or by entering the following `asadmin set` subcommand:
-
-[source,oac_no_warn]
-----
-asadmin set server1.transaction-service.automatic-recovery=false
-----
-
-When Recover on Restart is true, the server will always perform
-transaction logging, regardless of the Disable Distributed Transaction
-Logging attribute.
-
-If Recover on Restart is false, then:
-
-* If Disable Distributed Transaction Logging is false (the default),
-then the server will write transaction logs.
-* If Disable Distributed Transaction Logging is true, then the server
-will not write transaction logs. +
-Not writing transaction logs will give approximately twenty percent
-improvement in performance, but at the cost of not being able to recover
-from any interrupted transactions. The performance benefit applies to
-transaction-intensive tests. Gains in real applications may be less.
-
-[[abees]][[GSPTG00125]][[keypoint-interval]]
-
-Keypoint Interval
-+++++++++++++++++
-
-The keypoint interval determines how often entries for completed
-transactions are removed from the log file. Keypointing prevents a
-process log from growing indefinitely.
-
-Frequent keypointing is detrimental to performance. The default value of
-the Keypoint Interval is 2048, which is sufficient in most cases.
-
-[[abeet]][[GSPTG00062]][[http-service-settings]]
-
-HTTP Service Settings
-~~~~~~~~~~~~~~~~~~~~~
-
-Tuning the monitoring and access logging settings for the HTTP server
-instances that handle client requests are important parts of ensuring
-peak GlassFish Server performance.
-
-The following topics are addressed here:
-
-* link:#abeeu[Monitoring the HTTP Service]
-* link:#abefk[HTTP Service Access Logging]
-
-[[abeeu]][[GSPTG00192]][[monitoring-the-http-service]]
-
-Monitoring the HTTP Service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Disabling the collection of monitoring statistics can increase overall
-GlassFish Server performance. You can enable or disable monitoring
-statistics collection for the HTTP service using either the
-Administration Console or `asadmin` subcommands.
-
-Refer to "link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
-GlassFish Server Open Source Edition Administration Guide for complete
-instructions on configuring the monitoring service using `asadmin`
-subcommands.
-
-If using the Administration Console, click the
-Configurations>configuration-name>Monitoring node for the configuration
-for which you want to enable or disable monitoring for selected
-components. Refer to the Administration Console online help for complete
-instructions.
-
-For instructions on viewing comprehensive monitoring statistics using
-`asadmin` subcommands, see "link:../administration-guide/monitoring.html#GSADG00560[Viewing Comprehensive
-Monitoring Data]" in GlassFish Server Open Source Edition Administration
-Guide. If using the Administration Console, you can view monitoring
-statistics by navigating to the server (Admin Server) node, and then
-clicking the Monitor tab. Refer to the online help for configuring
-different views of the available monitoring statistics.
-
-When viewing monitoring statistics, some key performance-related
-information to review includes the following:
-
-* link:#abeew[DNS Cache Information (dns)]
-* link:#abefh[File Cache Information (file-cache)]
-* link:#abefi[Keep Alive (keep-alive)]
-* link:#abefg[Connection Queue]
-
-[[abeew]][[GSPTG00126]][[dns-cache-information-dns]]
-
-DNS Cache Information (dns)
-+++++++++++++++++++++++++++
-
-The DNS cache caches IP addresses and DNS names. The DNS cache is
-disabled by default. In the DNS Statistics for Process ID All page under
-Monitor in the web-based Administration interface the following
-statistics are displayed:
-
-* link:#abeex[Enabled]
-* link:#abeey[CacheEntries (CurrentCacheEntries / MaxCacheEntries)]
-* link:#abeez[HitRatio]
-* link:#abefa[Caching DNS Entries]
-* link:#abefb[Limit DNS Lookups to Asynchronous]
-* link:#abefc[Enabled]
-* link:#abefd[NameLookups]
-* link:#abefe[AddrLookups]
-* link:#abeff[LookupsInProgress]
-
-[[abeex]][[GSPTG00016]][[enabled]]
-
-Enabled
-
-If the DNS cache is disabled, the rest of this section is not displayed.
-
-By default, the DNS cache is off. Enable DNS caching in the
-Administration Console by clicking the
-Configurations>configuration-name>Network Config>http-listener-name
-node. Click the HTTP tab and enable the DNS Lookup option.
-
-[[abeey]][[GSPTG00017]][[cacheentries-currentcacheentries-maxcacheentries]]
-
-CacheEntries (CurrentCacheEntries / MaxCacheEntries)
-
-The number of current cache entries and the maximum number of cache
-entries. A single cache entry represents a single IP address or DNS name
-lookup. Make the cache as large as the maximum number of clients that
-access your web site concurrently. Note that setting the cache size too
-high is a waste of memory and degrades performance.
-
-Set the maximum size of the DNS cache by entering or changing the value
-in the in the Administration Console by clicking the
-Configurations>configuration-name>Network Config>http-listener-name
-node. Click the File tab and set the desired options.
-
-[[abeez]][[GSPTG00018]][[hitratio]]
-
-HitRatio
-
-The hit ratio is the number of cache hits divided by the number of cache
-lookups.
-
-This setting is not tunable.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-If you turn off DNS lookups on your server, host name restrictions will
-not work and IP addresses will appear instead of host names in log
-files.
-
-|=======================================================================
-
-
-[[abefa]][[GSPTG00019]][[caching-dns-entries]]
-
-Caching DNS Entries
-
-It is possible to also specify whether to cache the DNS entries. If you
-enable the DNS cache, the server can store hostname information after
-receiving it. If the server needs information about the client in the
-future, the information is cached and available without further
-querying. specify the size of the DNS cache and an expiration time for
-DNS cache entries. The DNS cache can contain 32 to 32768 entries; the
-default value is 1024. Values for the time it takes for a cache entry to
-expire can range from 1 second to 1 year specified in seconds; the
-default value is 1200 seconds (20 minutes).
-
-[[abefb]][[GSPTG00020]][[limit-dns-lookups-to-asynchronous]]
-
-Limit DNS Lookups to Asynchronous
-
-Do not use DNS lookups in server processes because they are
-resource-intensive. If you must include DNS lookups, make them
-asynchronous.
-
-[[abefc]][[GSPTG00021]][[enabled-1]]
-
-Enabled
-
-If asynchronous DNS is disabled, the rest of this section will not be
-displayed.
-
-[[abefd]][[GSPTG00022]][[namelookups]]
-
-NameLookups
-
-The number of name lookups (DNS name to IP address) that have been done
-since the server was started. This setting is not tunable.
-
-[[abefe]][[GSPTG00023]][[addrlookups]]
-
-AddrLookups
-
-The number of address loops (IP address to DNS name) that have been done
-since the server was started. This setting is not tunable.
-
-[[abeff]][[GSPTG00024]][[lookupsinprogress]]
-
-LookupsInProgress
-
-The current number of lookups in progress.
-
-[[abefh]][[GSPTG00127]][[file-cache-information-file-cache]]
-
-File Cache Information (file-cache)
-+++++++++++++++++++++++++++++++++++
-
-The file cache caches static content so that the server handles requests
-for static content quickly. The file-cache section provides statistics
-on how your file cache is being used.
-
-For information about tuning the file cache, see link:#gkxit[File Cache
-Settings].
-
-The Monitoring page lists the following file cache statistics:
-
-* Number of Hits on Cached File Content
-* Number of Cache Entries
-* Number of Hits on Cached File Info
-* Heap Space Used for Cache
-* Number of Misses on Cached File Content
-* Cache Lookup Misses
-* Number of Misses on Cached File Content
-* Max Age of a Cache Entry
-* Max Number of Cache Entries
-* Max Number of Open Entries
-* Is File Cached Enabled?
-* Maximum Memory Map to be Used for Cache
-* Memory Map Used for cache
-* Cache Lookup Hits
-* Open Cache Entries: The number of current cache entries and the
-maximum number of cache entries are both displayed. A single cache entry
-represents a single URI. This is a tunable setting.
-* Maximum Heap Space to be Used for Cache
-
-[[abefi]][[GSPTG00128]][[keep-alive-keep-alive]]
-
-Keep Alive (keep-alive)
-+++++++++++++++++++++++
-
-The following are statistics related to the Keep Alive system. The most
-important settings you can tune here relate to HTTP Timeout. See
-link:#abefu[Timeout] for more information.
-
-* Connections Terminated Due to Client Connection Timed Out
-* Max Connection Allowed in Keep-alive
-* Number of Hits
-* Connections in Keep-alive Mode
-* Connections not Handed to Keep-alive Thread Due to too Many Persistent
-Connections
-* The Time in Seconds Before Idle Connections are Closed
-* Connections Closed Due to Max Keep-alive Being Exceeded
-
-[[abefg]][[GSPTG00129]][[connection-queue]]
-
-Connection Queue
-++++++++++++++++
-
-* Total Connections Queued: Total connections queued is the total number
-of times a connection has been queued. This includes newly accepted
-connections and connections from the keep-alive system.
-* Average Queuing Delay: Average queueing delay is the average amount of
-time a connection spends in the connection queue. This represents the
-delay between when a request connection is accepted by the server, and a
-request processing thread (also known as a session) begins servicing the
-request.
-
-[[abefk]][[GSPTG00193]][[http-service-access-logging]]
-
-HTTP Service Access Logging
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Accessing Logging can be tuned using several `asadmin` subcommands.
-Refer to "link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in
-GlassFish Server Open Source Edition Administration Guide for
-information about using these subcommands.
-
-If using the Administration Console, Access Logging is configured from
-the Configurations>configuration-name>HTTP Service page. Refer to the
-Administration Console online help for complete instructions about the
-options on this page.
-
-To enable or disable access logging, check or uncheck the Access Logging
-Enabled checkbox. Access Logging is disabled by default.
-
-When performing benchmarking, ensure that Access Logging is disabled. If
-Access Logging is enabled, it is recommended that you also enable
-Rotation to ensure that the logs do not run out of disk space.
-
-[[abegk]][[GSPTG00063]][[network-listener-settings]]
-
-Network Listener Settings
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You can tune Network Listener settings from the command line by using
-the instructions in "link:../administration-guide/http_https.html#GSADG00588[Administering HTTP Network
-Listeners]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-If using the Administration Console, navigate to the Configurations
->configuration-name>Network Config>Network Listeners>listener-name node,
-and then click the tab for the desired configuration page. Refer to the
-online help for complete instructions about the options on these tabs.
-
-GlassFish Server Network Listener performance can be enhanced by
-modifying settings on the following Edit Network Listener tabs in the
-Administration Console:
-
-* link:#abegl[General Settings]
-* link:#gkxjd[HTTP Settings]
-* link:#gkxit[File Cache Settings]
-
-[[abegl]][[GSPTG00194]][[general-settings-1]]
-
-General Settings
-^^^^^^^^^^^^^^^^
-
-For machines with only one network interface card (NIC), set the network
-address to the IP address of the machine (for example, 192.18.80.23
-instead of default 0.0.0.0). If you specify an IP address other than
-0.0.0.0, the server will make one less system call per connection.
-Specify an IP address other than 0.0.0.0 for best possible performance.
-If the server has multiple NIC cards then create multiple listeners for
-each NIC.
-
-[[gkxjd]][[GSPTG00195]][[http-settings]]
-
-HTTP Settings
-^^^^^^^^^^^^^
-
-The following settings on the HTTP tab can significantly affect
-performance:
-
-* link:#abeft[Max Connections]
-* link:#abegd[DNS Lookup Enabled]
-* link:#abefu[Timeout]
-* link:#abefq[Header Buffer Length]
-
-[[abeft]][[GSPTG00130]][[max-connections]]
-
-Max Connections
-+++++++++++++++
-
-Max Connections controls the number of requests that a particular client
-can make over a keep-alive connection. The range is any positive
-integer, and the default is 256.
-
-Adjust this value based on the number of requests a typical client makes
-in your application. For best performance specify quite a large number,
-allowing clients to make many requests.
-
-The number of connections specified by Max Connections is divided
-equally among the keep alive threads. If Max Connections is not equally
-divisible by Thread Count, the server can allow slightly more than Max
-Connections simultaneous keep alive connections.
-
-[[abegd]][[GSPTG00131]][[dns-lookup-enabled]]
-
-DNS Lookup Enabled
-++++++++++++++++++
-
-This setting specifies whether the server performs DNS (domain name
-service) lookups on clients that access the server. When DNS lookup is
-not enabled, when a client connects, the server knows the client's IP
-address but not its host name (for example, it knows the client as
-198.95.251.30, rather than `www.xyz.com`). When DNS lookup is enabled,
-the server will resolve the client's IP address into a host name for
-operations like access control, common gateway interface (CGI) programs,
-error reporting, and access logging.
-
-If the server responds to many requests per day, reduce the load on the
-DNS or NIS (Network Information System) server by disabling DNS lookup.
-Enabling DNS lookup will increase the latency and load on the system, so
-modify this setting with caution.
-
-[[abefu]][[GSPTG00132]][[timeout]]
-
-Timeout
-+++++++
-
-Timeout determines the maximum time (in seconds) that the server holds
-open an HTTP keep alive connection. A client can keep a connection to
-the server open so that multiple requests to one server can be serviced
-by a single network connection. Since the number of open connections
-that the server can handle is limited, a high number of open connections
-will prevent new clients from connecting.
-
-The default time out value is 30 seconds. Thus, by default, the server
-will close the connection if idle for more than 30 seconds. The maximum
-value for this parameter is 300 seconds (5 minutes).
-
-The proper value for this parameter depends upon how much time is
-expected to elapse between requests from a given client. For example, if
-clients are expected to make requests frequently then, set the parameter
-to a high value; likewise, if clients are expected to make requests
-rarely, then set it to a low value.
-
-Both HTTP 1.0 and HTTP 1.1 support the ability to send multiple requests
-across a single HTTP session. A server can receive hundreds of new HTTP
-requests per second. If every request was allowed to keep the connection
-open indefinitely, the server could become overloaded with connections.
-On Unix/Linux systems, this could easily lead to a file table overflow.
-
-The GlassFish Server's Keep Alive system, which is affected by the
-Timeout setting, addresses this problem. A waiting keep alive connection
-has completed processing the previous request, and is waiting for a new
-request to arrive on the same connection. The server maintains a counter
-for the maximum number of waiting keep-alive connections. If the server
-has more than the maximum waiting connections open when a new connection
-waits for a keep-alive request, the server closes the oldest connection.
-This algorithm limits the number of open waiting keep-alive connections.
-
-If your system has extra CPU cycles, incrementally increase the keep
-alive settings and monitor performance after each increase. When
-performance saturates (stops improving), then stop increasing the
-settings.
-
-[[abefq]][[GSPTG00133]][[header-buffer-length]]
-
-Header Buffer Length
-++++++++++++++++++++
-
-The size (in bytes) of the buffer used by each of the request processing
-threads for reading the request data from the client.
-
-Adjust the value based on the actual request size and observe the impact
-on performance. In most cases the default should suffice. If the request
-size is large, increase this parameter.
-
-[[gkxit]][[GSPTG00196]][[file-cache-settings]]
-
-File Cache Settings
-^^^^^^^^^^^^^^^^^^^
-
-The GlassFish Server uses a file cache to serve static information
-faster. The file cache contains information about static files such as
-HTML, CSS, image, or text files. Enabling the HTTP file cache will
-improve performance of applications that contain static files.
-
-The following settings on the File Cache tab can significantly affect
-performance:
-
-* link:#abegf[Max File Count]
-* link:#abegh[Max Age]
-
-[[abegf]][[GSPTG00134]][[max-file-count]]
-
-Max File Count
-++++++++++++++
-
-Max File Count determines how many files are in the cache. If the value
-is too big, the server caches little-needed files, which wastes memory.
-If the value is too small, the benefit of caching is lost. Try different
-values of this attribute to find the optimal solution for specific
-applications—generally, the effects will not be great.
-
-[[abegh]][[GSPTG00135]][[max-age]]
-
-Max Age
-+++++++
-
-This parameter controls how long cached information is used after a file
-has been cached. An entry older than the maximum age is replaced by a
-new entry for the same file.
-
-If your Web site's content changes infrequently, increase this value for
-improved performance. Set the maximum age by entering or changing the
-value in the Maximum Age field of the File Cache Configuration page in
-the web-based Admin Console for the HTTP server node and selecting the
-File Caching Tab.
-
-Set the maximum age based on whether the content is updated (existing
-files are modified) on a regular schedule or not. For example, if
-content is updated four times a day at regular intervals, you could set
-the maximum age to 21600 seconds (6 hours). Otherwise, consider setting
-the maximum age to the longest time you are willing to serve the
-previous version of a content file after the file has been modified.
-
-[[gkxjt]][[GSPTG00064]][[transport-settings]]
-
-Transport Settings
-~~~~~~~~~~~~~~~~~~
-
-The Acceptor Threads property for the Transport service specifies how
-many threads you want in accept mode on a listen socket at any time. It
-is a good practice to set this to less than or equal to the number of
-CPUs in your system.
-
-In the GlassFish Server, acceptor threads on an HTTP Listener accept
-connections and put them onto a connection queue. Session threads then
-pick up connections from the queue and service the requests. The server
-posts more session threads if required at the end of the request.
-
-See "link:../administration-guide/http_https.html#GSADG00771[Administering HTTP Network Listeners]" in
-GlassFish Server Open Source Edition Administration Guide for
-instructions on modifying the Acceptor Threads property. If using the
-Administration Console, the Acceptor Threads property is available on
-the Configurations>configuration-name>Network Config>Transports>tcp
-page.
-
-[[abehk]][[GSPTG00065]][[thread-pool-settings]]
-
-Thread Pool Settings
-~~~~~~~~~~~~~~~~~~~~
-
-You can tune thread pool settings by following the instructions in
-"link:../administration-guide/threadpools.html#GSADG00008[Administering Thread Pools]" in GlassFish Server Open
-Source Edition Administration Guide. If using the Administration Console
-Thread Pool settings are available on the
-Configurations>configuration-name>Thread Pools>thread-pool-name page.
-
-The following thread pool settings can have significant effects on
-GlassFish Server performance:
-
-* link:#abefn[Max Thread Pool Size]
-* link:#abefo[Min Thread Pool Size]
-
-[[abefn]][[GSPTG00197]][[max-thread-pool-size]]
-
-Max Thread Pool Size
-^^^^^^^^^^^^^^^^^^^^
-
-The Max Thread Pool Size parameter specifies the maximum number of
-simultaneous requests the server can handle. The default value is 5.
-When the server has reached the limit or request threads, it defers
-processing new requests until the number of active requests drops below
-the maximum amount. Increasing this value will reduce HTTP response
-latency times.
-
-In practice, clients frequently connect to the server and then do not
-complete their requests. In these cases, the server waits a length of
-time specified by the Timeout parameter.
-
-Also, some sites do heavyweight transactions that take minutes to
-complete. Both of these factors add to the maximum simultaneous requests
-that are required. If your site is processing many requests that take
-many seconds, you might need to increase the number of maximum
-simultaneous requests.
-
-Adjust the thread count value based on your load and the length of time
-for an average request. In general, increase this number if you have
-idle CPU time and requests that are pending; decrease it if the CPU
-becomes overloaded. If you have many HTTP 1.0 clients (or HTTP 1.1
-clients that disconnect frequently), adjust the timeout value to reduce
-the time a connection is kept open.
-
-Suitable Request Max Thread Pool Size values range from 100 to 500,
-depending on the load. If your system has extra CPU cycles, keep
-incrementally increasing thread count and monitor performance after each
-incremental increase. When performance saturates (stops improving), then
-stop increasing thread count.
-
-[[abefo]][[GSPTG00198]][[min-thread-pool-size]]
-
-Min Thread Pool Size
-^^^^^^^^^^^^^^^^^^^^
-
-The Min Thread Pool Size property specifies the minimum number of
-threads the server initiates upon startup. The default value is 2. Min
-Thread Pool Size represents a hard limit for the maximum number of
-active threads that can run simultaneously, which can become a
-bottleneck for performance.
-
-Specifying the same value for minimum and maximum threads allows
-GlassFish Server to use a slightly more optimized thread pool. This
-configuration should be considered unless the load on the server varies
-quite significantly.
-
-[[abegt]][[GSPTG00066]][[orb-settings]]
-
-ORB Settings
-~~~~~~~~~~~~
-
-The GlassFish Server includes a high performance and scalable CORBA
-Object Request Broker (ORB). The ORB is the foundation of the EJB
-Container on the server.
-
-For complete instructions on configuring ORB settings, refer to
-"link:../administration-guide/orb.html#GSADG00018[Administering the Object Request Broker (ORB)]" in
-GlassFish Server Open Source Edition Administration Guide. Also refer to
-"link:../ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing and Failover]" in GlassFish
-Server Open Source Edition High Availability Administration Guide. You
-can also configure most ORB settings through the GlassFish Server
-Administration Console by navigating to the
-Configurations>configuration-name> ORB node and then following the
-instructions in the Administration Console online help.
-
-The following topics are addressed here:
-
-* link:#abegu[Overview]
-* link:#abegv[How a Client Connects to the ORB]
-* link:#abegw[Monitoring the ORB]
-* link:#abegz[Tuning the ORB]
-
-[[abegu]][[GSPTG00199]][[overview]]
-
-Overview
-^^^^^^^^
-
-The ORB is primarily used by EJB components via:
-
-* RMI/IIOP path from an application client (or rich client) using the
-application client container.
-* RMI/IIOP path from another GlassFish Server instance ORB.
-* RMI/IIOP path from another vendor's ORB.
-* In-process path from the Web Container or MDB (message driven beans)
-container.
-
-When a server instance makes a connection to another server instance
-ORB, the first instance acts as a client ORB. SSL over IIOP uses a fast
-optimized transport with high-performance native implementations of
-cryptography algorithms.
-
-It is important to remember that EJB local interfaces do not use the
-ORB. Using a local interface passes all arguments by reference and does
-not require copying any objects.
-
-[[abegv]][[GSPTG00200]][[how-a-client-connects-to-the-orb]]
-
-How a Client Connects to the ORB
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A rich client Java program performs a new `initialContext()` call which
-creates a client side ORB instance. This in turn creates a socket
-connection to the GlassFish Server IIOP port. The reader thread is
-started on the server ORB to service IIOP requests from this client.
-Using the `initialContext`, the client code does a lookup of an EJB
-deployed on the server. An IOR which is a remote reference to the
-deployed EJB on the server is returned to the client. Using this object
-reference, the client code invokes remote methods on the EJB.
-
-`InitialContext` lookup for the bean and the method invocations
-translate the marshalling application request data in Java into IIOP
-message(s) that are sent on the socket connection that was created
-earlier on to the server ORB. The server then creates a response and
-sends it back on the same connection. This data in the response is then
-un-marshalled by the client ORB and given back to the client code for
-processing. The Client ORB shuts down and closes the connection when the
-rich client application exits.
-
-[[abegw]][[GSPTG00201]][[monitoring-the-orb]]
-
-Monitoring the ORB
-^^^^^^^^^^^^^^^^^^
-
-ORB statistics are disabled by default. To gather ORB statistics, enable
-monitoring with the following `asadmin` command:
-
-[source,oac_no_warn]
-----
-set serverInstance.iiop-service.orb.system.monitoringEnabled=true
-reconfig serverInstance
-----
-
-If using the Administration Console, you can enable ORB monitoring on
-the Configurations>configuration-name>Monitoring page. To view ORB
-monitoring statistics through the Administration Console, navigate to
-the server (Admin Server) page and click the Monitor tab. Refer to the
-Administration Console online help for complete instructions.
-
-The following statistics are of particular interest when tuning the ORB:
-
-* link:#abegx[Connection Statistics]
-* link:#abegy[Thread Pools]
-
-[[abegx]][[GSPTG00136]][[connection-statistics]]
-
-Connection Statistics
-+++++++++++++++++++++
-
-The following statistics are gathered on ORB connections:
-
-* `total-inbound-connections`: Total inbound connections to ORB.
-* `total-outbound-connections`: Total outbound connections from ORB.
-
-Use the following command to get ORB connection statistics:
-
-[source,oac_no_warn]
-----
-asadmin get --monitor
-    serverInstance.iiop-service.orb.system.orb-connection.*
-----
-
-[[abegy]][[GSPTG00137]][[thread-pools]]
-
-Thread Pools
-++++++++++++
-
-The following statistics are gathered on ORB thread pools:
-
-* `thread-pool-size`: Number of threads in ORB thread pool.
-* `waiting-thread-count`: Number of thread pool threads waiting for work
-to arrive.
-
-Use the following command to display ORB thread pool statistics:
-
-[source,oac_no_warn]
-----
-asadmin get --monitor
-    serverInstance.iiop-service.orb.system.orb-thread-pool.*
-----
-
-[[abegz]][[GSPTG00202]][[tuning-the-orb]]
-
-Tuning the ORB
-^^^^^^^^^^^^^^
-
-Tune ORB performance by setting ORB parameters and ORB thread pool
-parameters. You can often decrease response time by leveraging
-load-balancing, multiple shared connections, thread pool and message
-fragment size. You can improve scalability by load balancing between
-multiple ORB servers from the client, and tuning the number of
-connection between the client and the server.
-
-The following topics are addressed here:
-
-* link:#abeha[Tunable ORB Parameters]
-* link:#abehb[ORB Thread Pool Parameters]
-* link:#abehc[Client ORB Properties]
-* link:#abehg[Thread Pool Sizing]
-* link:#abehh[Examining IIOP Messages]
-
-[[abeha]][[GSPTG00138]][[tunable-orb-parameters]]
-
-Tunable ORB Parameters
-++++++++++++++++++++++
-
-You can tune ORB parameters using the instructions in
-"link:../administration-guide/orb.html#GSADG00018[Administering the Object Request Broker (ORB)]" in
-GlassFish Server Open Source Edition Administration Guide. If using the
-Administration Console, navigate to the
-Configurations>configuration-name>ORB node and refer to the online help.
-
-The following table summarizes the tunable ORB parameters.
-
-[[sthref8]][[gacma]]
-
-Table 3-2 Tunable ORB Parameters
-
-[width="100%",cols="<33%,<27%,<40%",options="header",]
-|=======================================================================
-|Path |ORB Modules |Server Settings
-|RMI/ IIOP from application client to application server |communication
-infrastructure, thread pool |steady-thread-pool-size,
-max-thread-pool-size, idle-thread-timeout-in-seconds
-
-|RMI/ IIOP from ORB to GlassFish Server |communication infrastructure,
-thread pool |steady-thread-pool-size, max-thread-pool-size,
-idle-thread-timeout-in-seconds
-
-|RMI/ IIOP from a vendor ORB |parts of communication infrastructure,
-thread pool |steady-thread-pool-size, max-thread-pool-size,
-idle-thread-timeout-in-seconds
-
-|In-process |thread pool |steady-thread-pool-size, max-thread-pool-size,
-idle-thread-timeout-in-seconds
-|=======================================================================
-
-
-[[abehb]][[GSPTG00139]][[orb-thread-pool-parameters]]
-
-ORB Thread Pool Parameters
-++++++++++++++++++++++++++
-
-The ORB thread pool contains a task queue and a pool of threads. Tasks
-or jobs are inserted into the task queue and free threads pick tasks
-from this queue for execution. Do not set a thread pool size such that
-the task queue is always empty. It is normal for a large application's
-Max Pool Size to be ten times the size of the current task queue.
-
-The GlassFish Server uses the ORB thread pool to:
-
-* Execute every ORB request
-* Trim EJB pools and caches
-* Execute MDB requests
-
-Thus, even when one is not using ORB for remote-calls (via RMI/ IIOP),
-set the size of the threadpool to facilitate cleaning up the EJB pools
-and caches.
-
-You can set ORB thread pool attributes using the instructions in
-"link:../administration-guide/threadpools.html#GSADG00008[Administering Thread Pools]" in GlassFish Server Open
-Source Edition Administration Guide. If using the Administration
-Console, navigate to Configurations>configuration-name> Thread
-Pools>thread-pool-name, where thread-pool-name is the thread pool ID
-selected for the ORB. Thread pools have the following attributes that
-affect performance.
-
-* Minimum Pool Size: The minimum number of threads in the ORB thread
-pool. Set to the average number of threads needed at a steady (RMI/
-IIOP) load.
-* Maximum Pool Size: The maximum number of threads in the ORB thread
-pool.
-* Idle Timeout: Number of seconds to wait before removing an idle thread
-from pool. Allows shrinking of the thread pool.
-* Number of Work Queues
-
-In particular, the maximum pool size is important to performance. For
-more information, see link:#abehg[Thread Pool Sizing].
-
-[[abehc]][[GSPTG00140]][[client-orb-properties]]
-
-Client ORB Properties
-+++++++++++++++++++++
-
-Specify the following properties as command-line arguments when
-launching the client program. You do this by using the following syntax
-when starting the Java VM:
-
-[source,oac_no_warn]
-----
--Dproperty=value
-----
-
-The following topics are addressed here:
-
-* link:#abehd[Controlling Connections Between Client and Server ORB]
-* link:#CEGDGBBG[Limiting the Maximum Number of Client Connections]
-* link:#abehf[Load Balancing]
-
-[[abehd]][[GSPTG00025]][[controlling-connections-between-client-and-server-orb]]
-
-Controlling Connections Between Client and Server ORB
-
-When using the default JDK ORB on the client, a connection is
-established from the client ORB to the application server ORB every time
-an initial context is created. To pool or share these connections when
-they are opened from the same process by adding to the configuration on
-the client ORB.
-
-[source,oac_no_warn]
-----
--Djava.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
-----
-
-[[CEGDGBBG]][[limiting-the-maximum-number-of-client-connections]]
-
-Limiting the Maximum Number of Client Connections
-
-You can specify the total maximum number of client connections on all
-ORB listener ports (TCP, SSL and SSL with mutual authentication). When
-open client connections exceed the maximum value you specify, the ORB
-rejects any new incoming client connections.
-
-Set this value to support the expected number of simultaneous client
-connections, but not to exceed the VM or system file descriptor limits.
-If the value is set too high, the ORB will continue accepting new client
-connections, resulting in a "too many open files" error if the VM runs
-out of file descriptors.
-
-To specify the maximum number of client connections, set the
-`configs.config.``config-name.``iiop-service.orb.max-connections`
-attribute to the number that you require:
-
-[source,oac_no_warn]
-----
-asadmin> set configs.config.config-name.iiop-service.orb.max-connections=max-connections
-----
-
-config-name::
-  The name of the configuration in which the IIOP service is defined.
-  For example, `server-config` is the name for the configuration of the
-  domain administration server (DAS).
-max-connections::
-  An integer that specifies the maximum number of client connections.
-
-For updates to this value to take effect, restart GlassFish Server.
-
-The following example shows how to set the maximum number of client
-connections for the ORB in the DAS to `512`:
-
-[source,oac_no_warn]
-----
-asadmin> set configs.config.server-config.iiop-service.orb.max-connections=512
-configs.config.server-config.iiop-service.orb.max-connections=512
-Command set executed successfully.
-----
-
-[[abehf]][[GSPTG00026]][[load-balancing]]
-
-Load Balancing
-
-For information on how to configure HTTP load balancing, see
-"link:../ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in GlassFish Server
-Open Source Edition High Availability Administration Guide.
-
-For information on how to configure RMI/IIOP for multiple application
-server instances in a cluster, "link:../ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing
-and Failover]" in GlassFish Server Open Source Edition High Availability
-Administration Guide.
-
-When tuning the client ORB for load-balancing and connections, consider
-the number of connections opened on the server ORB. Start from a low
-number of connections and then increase it to observe any performance
-benefits. A connection to the server translates to an ORB thread reading
-actively from the connection (these threads are not pooled, but exist
-currently for the lifetime of the connection).
-
-[[abehg]][[GSPTG00141]][[thread-pool-sizing]]
-
-Thread Pool Sizing
-++++++++++++++++++
-
-After examining the number of inbound and outbound connections as
-explained above, tune the size of the thread pool appropriately. This
-can affect performance and response times significantly.
-
-The size computation takes into account the number of client requests to
-be processed concurrently, the resource (number of CPUs and amount of
-memory) available on the machine and the response times required for
-processing the client requests.
-
-Setting the size to a very small value can affect the ability of the
-server to process requests concurrently, thus affecting the response
-times since requests will sit longer in the task queue. On the other
-hand, having a large number of worker threads to service requests can
-also be detrimental because they consume system resources, which
-increases concurrency. This can mean that threads take longer to acquire
-shared structures in the EJB container, thus affecting response times.
-
-The worker thread pool is also used for the EJB container's housekeeping
-activity such as trimming the pools and caches. This activity needs to
-be accounted for also when determining the size. Having too many ORB
-worker threads is detrimental for performance since the server has to
-maintain all these threads. The idle threads are destroyed after the
-idle thread timeout period.
-
-[[abehh]][[GSPTG00142]][[examining-iiop-messages]]
-
-Examining IIOP Messages
-+++++++++++++++++++++++
-
-It is sometimes useful to examine the IIOP messages passed by the
-GlassFish Server. To make the server save IIOP messages to the
-`server.log` file, set the JVM option `-Dcom.sun.CORBA.ORBDebug=giop`.
-Use the same option on the client ORB.
-
-The following is an example of IIOP messages saved to the server log.
-Note: in the actual output, each line is preceded by the timestamp, such
-as `[29/Aug/2002:22:41:43] INFO (27179): CORE3282: stdout`.
-
-[source,oac_no_warn]
-----
- ++++++++++++++++++++++++++++++
- Message(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
-createFromStream: type is 4 <
- MessageBase(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
-Message GIOP version: 1.2
- MessageBase(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
-ORB Max GIOP Version: 1.2
- Message(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
-createFromStream: message construction complete.
- com.sun.corba.ee.internal.iiop.MessageMediator
-(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]): Received message:
- ----- Input Buffer -----
- Current index: 0
- Total length : 340
- 47 49 4f 50 01 02 00 04 0 0 00 01 48 00 00 00 05 GIOP.......H....
-----
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The flag `-Dcom.sun.CORBA.ORBdebug=giop` generates many debug messages
-in the logs. This is used only when you suspect message fragmentation.
-
-|=======================================================================
-
-
-In this sample output above, the `createFromStream` type is shown as
-`4`. This implies that the message is a fragment of a bigger message. To
-avoid fragmented messages, increase the fragment size. Larger fragments
-mean that messages are sent as one unit and not as fragments, saving the
-overhead of multiple messages and corresponding processing at the
-receiving end to piece the messages together.
-
-If most messages being sent in the application are fragmented,
-increasing the fragment size is likely to improve efficiency. On the
-other hand, if only a few messages are fragmented, it might be more
-efficient to have a lower fragment size that requires smaller buffers
-for writing messages.
-
-[[abehp]][[GSPTG00067]][[resource-settings]]
-
-Resource Settings
-~~~~~~~~~~~~~~~~~
-
-Tuning JDBC and connector resources can significantly improve GlassFish
-Server performance.
-
-The following topics are addressed here:
-
-* link:#abehq[JDBC Connection Pool Settings]
-* link:#abehy[Connector Connection Pool Settings]
-
-[[abehq]][[GSPTG00203]][[jdbc-connection-pool-settings]]
-
-JDBC Connection Pool Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For optimum performance of database-intensive applications, tune the
-JDBC Connection Pools managed by the GlassFish Server. These connection
-pools maintain numerous live database connections that can be reused to
-reduce the overhead of opening and closing database connections. This
-section describes how to tune JDBC Connection Pools to improve
-performance.
-
-J2EE applications use JDBC Resources to obtain connections that are
-maintained by the JDBC Connection Pool. More than one JDBC Resource is
-allowed to refer to the same JDBC Connection Pool. In such a case, the
-physical connection pool is shared by all the resources.
-
-Refer to "link:../administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in
-GlassFish Server Open Source Edition Administration Guide for more
-information about managing JDBC connection pools.
-
-The following topics are addressed here:
-
-* link:#abehr[Monitoring JDBC Connection Pools]
-* link:#abehs[Tuning JDBC Connection Pools]
-
-[[abehr]][[GSPTG00143]][[monitoring-jdbc-connection-pools]]
-
-Monitoring JDBC Connection Pools
-++++++++++++++++++++++++++++++++
-
-Statistics-gathering is disabled by default for JDBC Connection Pools.
-Refer to for instructions on enabling JDBC monitoring in
-"link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in GlassFish
-Server Open Source Edition Administration Guide. If using the
-Administration Console, JDBC monitoring can be enabled on the
-Configurations>configuration-name>Monitoring page.
-
-The following attributes are monitored:
-
-* `numConnFailedValidation (count)` Number of connections that failed
-validation.
-* `numConnUsed (range)` Number of connections that have been used.
-* `numConnFree (count)` Number of free connections in the pool.
-* `numConnTimedOut (bounded range)` Number of connections in the pool
-that have timed out.
-
-To get JDBC monitoring statistics, use the following commands:
-
-[source,oac_no_warn]
-----
-asadmin get --monitor=true
-serverInstance.resources.jdbc-connection-pool.*asadmin get
---monitor=true serverInstance.resources.jdbc-connection-pool. poolName.* *
-----
-
-To view JDBC monitoring statistics through the Administration Console,
-navigate to the server (Admin Server) page and click the Monitor tab.
-Refer to the Administration Console online help for complete
-instructions.
-
-[[abehs]][[GSPTG00144]][[tuning-jdbc-connection-pools]]
-
-Tuning JDBC Connection Pools
-++++++++++++++++++++++++++++
-
-Refer to "link:../administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in
-GlassFish Server Open Source Edition Administration Guide for
-instructions on configuring JDBC connection pools. If using the
-GlassFish Server Administration Console by navigating to the
-Resources>JDBC>JDBC Connection Pools>jdbc-pool-name page and then
-clicking the desired tab.
-
-The following JDBC properites affect GlassFish Server performance:
-
-* link:#abeht[Pool Size Settings]
-* link:#abehu[Timeout Settings]
-* link:#abehv[Isolation Level Settings]
-* link:#abehw[Connection Validation Settings]
-
-[[abeht]][[GSPTG00027]][[pool-size-settings]]
-
-Pool Size Settings
-
-Pool Size settings can be configured in the Pool Settings section on the
-General tab in the Edit JDBC Connection Pool page.
-
-The following settings control the size of the connection pool:
-
-* Initial and Mimimum Pool Size: Size of the pool when created, and its
-minimum allowable size.
-* Maximum Pool Size: Upper limit of size of the pool.
-* Pool Resize Quantity: Number of connections to be removed when the
-idle timeout expires. Connections that have idled for longer than the
-timeout are candidates for removal. When the pool size reaches the
-initial and minimum pool size, removal of connections stops.
-
-The following table summarizes advantages and disadvantages to consider
-when sizing connection pools.
-
-[[sthref9]][[gacmi]]
-
-Table 3-3 Connection Pool Sizing
-
-[width="100%",cols="<21%,<38%,<41%",options="header",]
-|================================================================
-|Connection Pool |Advantages |Disadvantages
-|Small Connection pool |Faster access on the connection table. a|
-May not have enough connections to satisfy requests.
-
-Requests may spend more time in the queue.
-
-|Large Connection pool a|
-More connections to fulfill requests.
-
-Requests will spend less (or no) time in the queue
-
- |Slower access on the connection table.
-|================================================================
-
-
-[[abehu]][[GSPTG00028]][[timeout-settings]]
-
-Timeout Settings
-
-The following JDBC timeout settings can be configured on the in the Pool
-Settings section on the General tab in the Edit JDBC Connection Pool
-page.
-
-* Max Wait Time: Amount of time the caller (the code requesting a
-connection) will wait before getting a connection timeout. The default
-is 60 seconds. A value of zero forces caller to wait indefinitely. +
-To improve performance set Max Wait Time to zero (0). This essentially
-blocks the caller thread until a connection becomes available. Also,
-this allows the server to alleviate the task of tracking the elapsed
-wait time for each request and increases performance.
-* Idle Timeout: Maximum time in seconds that a connection can remain
-idle in the pool. After this time, the pool can close this connection.
-This property does not control connection timeouts on the database
-server. +
-Keep this timeout shorter than the database server timeout (if such
-timeouts are configured on the database), to prevent accumulation of
-unusable connection in GlassFish Server. +
-For best performance, set Idle Timeout to zero (0) seconds, so that idle
-connections will not be removed. This ensures that there is normally no
-penalty in creating new connections and disables the idle monitor
-thread. However, there is a risk that the database server will reset a
-connection that is unused for too long.
-
-[[abehv]][[GSPTG00029]][[isolation-level-settings]]
-
-Isolation Level Settings
-
-The following JDBC Isolation Level settings can be configured in the
-Transaction section on the General tab in the Edit JDBC Connection Pool
-page.
-
-* Transaction Isolation: Specifies the transaction isolation level of
-the pooled database connections. If this parameter is unspecified, the
-pool uses the default isolation level provided by the JDBC Driver.
-* Isolation Level Guaranteed: Guarantees that every connection obtained
-from the pool has the isolation specified for the Transaction Isolation
-level. Applicable only when the Transaction Isolation level is
-specified. The default value is Guaranteed. +
-This setting can have some performance impact on some JDBC drivers. Set
-to false when certain that the application does not change the isolation
-level before returning the connection.
-
-Avoid specifying the Transaction Isolation level. If that is not
-possible, consider disabling the Isolation Level Guaranteed option and
-then make sure applications do not programmatically alter the
-connections; isolation level.
-
-If you must specify a Transaction Isolation level, specify the
-best-performing level possible. The isolation levels listed from best
-performance to worst are:
-
-1.  `READ_UNCOMMITTED`
-2.  `READ_COMMITTED`
-3.  `REPEATABLE_READ`
-4.  `SERIALIZABLE`
-
-Choose the isolation level that provides the best performance, yet still
-meets the concurrency and consistency needs of the application.
-
-[[abehw]][[GSPTG00030]][[connection-validation-settings]]
-
-Connection Validation Settings
-
-JDBC Connection Validation settings can be configured in the Connection
-Validation section on the Advanced tab in the Edit JDBC Connection Pool
-page.
-
-* Connection Validation Required: If enabled, the pool validates
-connections (checks to find out if they are usable) before providing
-them to an application. +
-If possible, keep this option disabled. Requiring connection validation
-forces the server to apply the validation algorithm every time the pool
-returns a connection, which adds overhead to the latency of
-`getConnection()`. If the database connectivity is reliable, you can
-omit validation.
-* Validation Method: Specifies the type of connection validation to
-perform. Must be one of the following:
-
-** `auto-commit`: Attempt to perform an auto-commit on the connection.
-
-** `metadata`: Attempt to get metadata from the connection.
-
-** `table`: Performing the query on a specified table. If this option is
-selected, Table Name must also be set. Choosing this option may be
-necessary if the JDBC driver caches calls to `setAutoCommit()` and
-`getMetaData()`.
-
-** `custom-validation`: Define a custom validation method.
-* Table Name: Name of the table to query when the Validation Method is
-set to `table`.
-* Close All Connections On Any Failure: Specify whether all connections
-in the pool should be closed if a single validation check fails. This
-option is disabled by default. One attempt will be made to re-establish
-failed connections.
-
-[[abehy]][[GSPTG00204]][[connector-connection-pool-settings]]
-
-Connector Connection Pool Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-From a performance standpoint, connector connection pools are similar to
-JDBC connection pools. Follow all the recommendations in the previous
-section, link:#abehs[Tuning JDBC Connection Pools].
-
-[[abehz]][[GSPTG00145]][[transaction-support]]
-
-Transaction Support
-+++++++++++++++++++
-
-You may be able to improve performance by overriding the default
-transaction support specified for each connector connection pool.
-
-For example, consider a case where an Enterprise Information System
-(EIS) has a connection factory that supports local transactions with
-better performance than global transactions. If a resource from this EIS
-needs to be mixed with a resource coming from another resource manager,
-the default behavior forces the use of XA transactions, leading to lower
-performance. However, by changing the EIS's connector connection pool to
-use LocalTransaction transaction support and leveraging the Last Agent
-Optimization feature previously described, you could leverage the
-better-performing EIS LocalTransaction implementation. For more
-information on LAO, see link:tuning-apps.html#abecq[Configure JDBC
-Resources as One-Phase Commit Resources].
-
-You can specify transaction support when you create or edit a connector
-connection pool.
-
-Also set transaction support using `asadmin`. For example, the following
-`asadmin` command could be used to create a connector connection pool
-`TESTPOOL` with `transaction-support` set to `LOCAL`.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-connection-pool --raname jdbcra
---connectiondefinition javax.sql.DataSource
--transactionsupport LocalTransaction
-TESTPOOL
-----
-
-[[gkxvd]][[GSPTG00068]][[load-balancer-settings]]
-
-Load Balancer Settings
-~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server Open Source Edition is compatible with the Apache HTTP
-server `mod_jk` module for load balancing.
-
-GlassFish Server load balancing configurations can vary widely depending
-on the needs of your enterprise and are beyond the scope of this
-Performance Tuning Guide. For complete information about configuring
-load balancing in GlassFish Server, refer to the following
-documentation:
-
-* "link:../ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in GlassFish
-Server Open Source Edition High Availability Administration Guide
-* "link:../ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing and Failover]" in GlassFish
-Server Open Source Edition High Availability Administration Guide
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/tuning-java.adoc b/docs/performance-tuning-guide/src/main/jbake/content/tuning-java.adoc
deleted file mode 100644
index e7e0bd4..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/tuning-java.adoc
+++ /dev/null
@@ -1,571 +0,0 @@
-type=page
-status=published
-title=Tuning the Java Runtime System
-next=tuning-os.html
-prev=tuning-glassfish.html
-~~~~~~
-Tuning the Java Runtime System
-==============================
-
-[[GSPTG00006]][[abeia]]
-
-
-[[tuning-the-java-runtime-system]]
-4 Tuning the Java Runtime System
---------------------------------
-
-The following topics are addressed here:
-
-* link:#abeib[Java Virtual Machine Settings]
-* link:#gfpzy[Start Options]
-* link:#glaat[Tuning High Availability Persistence]
-* link:#abeic[Managing Memory and Garbage Collection]
-* link:#abeiq[Further Information]
-
-[[abeib]][[GSPTG00069]][[java-virtual-machine-settings]]
-
-Java Virtual Machine Settings
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Java SE 7 provides two implementations of the HotSpot Java virtual
-machine (JVM):
-
-* The client VM is tuned for reducing startup time and memory footprint.
-Invoke it by using the `-client` JVM command-line option.
-* The server VM is designed for maximum program execution speed. Invoke
-it by using the `-server` JVM command-line option.
-
-By default, the GlassFish Server uses the JVM setting appropriate to the
-purpose:
-
-* Developer Profile, targeted at application developers, uses the
-`-client` JVM flag to optimize startup performance and conserve memory
-resources.
-* Enterprise Profile, targeted at production deployments, uses the
-`-server` JVM flag to maximize program execution speed.
-
-You can override the default JVM options by following the instructions
-in "link:../administration-guide/jvm.html#GSADG00544[Administering JVM Options]" in GlassFish Server
-Open Source Edition Administration Guide. If using the Administration
-Console, navigate to the Configurations>configuration-name>JVM Settings
-node, and then click the JVM Options tab. Refer to the online help for
-complete information about the settings on this page.
-
-For more information on server-class machine detection in Java SE 7, see
-http://download.oracle.com/javase/6/docs/technotes/guides/vm/server-class.html[Server-Class
-Machine Detection]
-(`http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server-class.html`).
-
-For more information on JVMs, see
-http://download.oracle.com/javase/6/docs/[Java Virtual Machines]
-(`http://docs.oracle.com/javase/7/docs/`).
-
-[[gfpzy]][[GSPTG00070]][[start-options]]
-
-Start Options
-~~~~~~~~~~~~~
-
-In some situations, performance can be improved by using large page
-sizes. For Ultrasparc CMT systems, include the `-XX:+UseLargePages` and
-`-XX:LargePageSizeInBytes=256m` arguments with your JVM tuning.
-
-[[glaat]][[GSPTG00071]][[tuning-high-availability-persistence]]
-
-Tuning High Availability Persistence
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If session `s1` and `s2` need to be replicated to an instance (backup
-server), the replication module batches the replication messages to be
-sent to that instance instead of sending separate replication messages.
-This improves performance. In configurations in which a lot of session
-replication is performed, you may find better performance by tuning the
-`org.shoal.cache.transmitter.max.batch.size` system property. This
-property determines the number of replication messages that constitute
-one batch.
-
-The default value for this property is `20`. You can try setting it as
-high as `90`, depending on system loads. Like all system properties,
-this property is set with the `-D` flag in your Java arguments.
-
-[[abeic]][[GSPTG00072]][[managing-memory-and-garbage-collection]]
-
-Managing Memory and Garbage Collection
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The efficiency of any application depends on how well memory and garbage
-collection are managed. The following sections provide information on
-optimizing memory and allocation functions:
-
-* link:#abeid[Tuning the Garbage Collector]
-* link:#abeig[Tracing Garbage Collection]
-* link:#abeih[Other Garbage Collector Settings]
-* link:#abeii[Tuning the Java Heap]
-* link:#abeio[Rebasing DLLs on Windows]
-
-[[abeid]][[GSPTG00205]][[tuning-the-garbage-collector]]
-
-Tuning the Garbage Collector
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Garbage collection (GC) reclaims the heap space previously allocated to
-objects no longer needed. The process of locating and removing the dead
-objects can stall any application and consume as much as 25 percent
-throughput.
-
-Almost all Java Runtime Environments come with a generational object
-memory system and sophisticated GC algorithms. A generational memory
-system divides the heap into a few carefully sized partitions called
-generations. The efficiency of a generational memory system is based on
-the observation that most of the objects are short lived. As these
-objects accumulate, a low memory condition occurs forcing GC to take
-place.
-
-The heap space is divided into the old and the new generation. The new
-generation includes the new object space (eden), and two survivor
-spaces. The JVM allocates new objects in the eden space, and moves
-longer lived objects from the new generation to the old generation.
-
-The young generation uses a fast copying garbage collector which employs
-two semi-spaces (survivor spaces) in the eden, copying surviving objects
-from one survivor space to the second. Objects that survive multiple
-young space collections are tenured, meaning they are copied to the
-tenured generation. The tenured generation is larger and fills up less
-quickly. So, it is garbage collected less frequently; and each
-collection takes longer than a young space only collection. Collecting
-the tenured space is also referred to as doing a full generation
-collection.
-
-The frequent young space collections are quick (a few milliseconds),
-while the full generation collection takes a longer (tens of
-milliseconds to a few seconds, depending upon the heap size).
-
-Other GC algorithms, such as the Concurrent Mark Sweep (CMS) algorithm,
-are incremental. They divide the full GC into several incremental
-pieces. This provides a high probability of small pauses. This process
-comes with an overhead and is not required for enterprise web
-applications.
-
-When the new generation fills up, it triggers a minor collection in
-which the surviving objects are moved to the old generation. When the
-old generation fills up, it triggers a major collection which involves
-the entire object heap.
-
-Both HotSpot and Solaris JDK use thread local object allocation pools
-for lock-free, fast, and scalable object allocation. So, custom object
-pooling is not often required. Consider pooling only if object
-construction cost is high and significantly affects execution profiles.
-
-[[abeie]][[GSPTG00146]][[choosing-the-garbage-collection-algorithm]]
-
-Choosing the Garbage Collection Algorithm
-+++++++++++++++++++++++++++++++++++++++++
-
-The default collector for Java server class machines will optimize for
-throughput but be tolerant of somewhat long pause times. If you would
-prefer to have minimal pause times at the expense of some throughput and
-increased CPU usage, consider using the CMS collector.
-
-[[gaclx]][[GSPTG00038]][[to-use-the-cms-collector]]
-
-To use the CMS collector
-
-Follow this procedure.
-
-1.  Make sure that the system is not using 100 percent of its CPU.
-2.  Configure the CMS collector in the server instance. +
-To do this, add the following JVM options:
-* `-XX:+UseConcMarkSweepGC`
-* `-XX:SoftRefLRUPolicyMSPerMB=1`
-
-[[abeif]][[GSPTG00147]][[additional-information]]
-
-Additional Information
-++++++++++++++++++++++
-
-Use the `jvmstat` utility to monitor HotSpot garbage collection. (See
-link:#abeiq[Further Information].)
-
-For detailed information on tuning the garbage collector, see
-http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html[Java
-SE 6 HotSpot Virtual Machine Garbage Collection Tuning]
-(`http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html`).
-
-[[abeig]][[GSPTG00206]][[tracing-garbage-collection]]
-
-Tracing Garbage Collection
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The two primary measures of garbage collection performance are
-throughput and pauses. Throughput is the percentage of the total time
-spent on other activities apart from GC. Pauses are times when an
-application appears unresponsive due to GC.
-
-Two other considerations are footprint and promptness. Footprint is the
-working size of the JVM process, measured in pages and cache lines.
-Promptness is the time between when an object becomes dead, and when the
-memory becomes available. This is an important consideration for
-distributed systems.
-
-A particular generation size makes a trade-off between these four
-metrics. For example, a large young generation likely maximizes
-throughput, but at the cost of footprint and promptness. Conversely,
-using a small young generation and incremental GC will minimize pauses,
-and thus increase promptness, but decrease throughput.
-
-JVM diagnostic output will display information on pauses due to garbage
-collection. If you start the server in verbose mode (use the command
-`asadmin start-domain --verbose` domain), then the command line argument
-`-verbose:gc` prints information for every collection. Here is an
-example of output of the information generated with this JVM flag:
-
-[source,oac_no_warn]
-----
-[GC 50650K->21808K(76868K), 0.0478645 secs]
- [GC 51197K->22305K(76868K), 0.0478645 secs]
- [GC 52293K->23867K(76868K), 0.0478645 secs]
- [Full GC 52970K->1690K(76868K), 0.54789968 secs]
-----
-
-On each line, the first number is the combined size of live objects
-before GC, the second number is the size of live objects after GC, the
-number in parenthesis is the total available space, which is the total
-heap minus one of the survivor spaces. The final figure is the amount of
-time that the GC took. This example shows three minor collections and
-one major collection. In the first GC, 50650 KB of objects existed
-before collection and 21808 KB of objects after collection. This means
-that 28842 KB of objects were dead and collected. The total heap size is
-76868 KB. The collection process required 0.0478645 seconds.
-
-Other useful monitoring options include:
-
-* `-XX:+PrintGCDetails` for more detailed logging information
-* `-Xloggc:file` to save the information in a log file
-
-[[abeih]][[GSPTG00207]][[other-garbage-collector-settings]]
-
-Other Garbage Collector Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To specify the attributes for the Java virtual machine, use the
-Administration Console and set the property under config-name > JVM
-settings (JVM options).
-
-[[glgkm]][[GSPTG00148]][[setting-the-maximum-permanent-generation]]
-
-Setting the Maximum Permanent Generation
-++++++++++++++++++++++++++++++++++++++++
-
-For applications that do not dynamically generate and load classes, the
-size of the permanent generation does not affect GC performance. For
-applications that dynamically generate and load classes (for example,
-JSP applications), the size of the permanent generation does affect GC
-performance, since filling the permanent generation can trigger a Full
-GC. Tune the maximum permanent generation with the `-XX:MaxPermSize`
-option.
-
-[[glglk]][[GSPTG00149]][[disabling-explicit-garbage-collection]]
-
-Disabling Explicit Garbage Collection
-+++++++++++++++++++++++++++++++++++++
-
-Although applications can explicitly invoke GC with the `System.gc()`
-method, doing so is a bad idea since this forces major collections, and
-inhibits scalability on large systems. It is best to disable explicit GC
-by using the flag `-XX:+DisableExplicitGC`.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-On Windows systems, setting the `-XX:+DisableExplicitGC` option might
-prevent the renaming or removal of open application files. As a result,
-deployment, redeployment, or other operations that attempt to rename or
-delete files might fail.
-
-Application files can remain open because the files have been used by
-class loaders to find classes or resources, or have been opened
-explicitly by GlassFish Server or application code but never explicitly
-closed. On Windows systems, open files cannot be renamed or deleted. To
-overcome this limitation, GlassFish Server uses the `System.gc()` method
-to garbage collect the Java object that corresponds to an open file.
-When the Java object that corresponds to an open file is garbage
-collected, the object's `finalize` method closes the open channel to the
-file. GlassFish Server can then delete or rename the file.
-
-|=======================================================================
-
-
-[[glglr]][[GSPTG00150]][[setting-the-frequency-of-full-garbage-collection]]
-
-Setting the Frequency of Full Garbage Collection
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-GlassFish Server uses RMI in the Administration module for monitoring.
-Garbage cannot be collected in RMI-based distributed applications
-without occasional local collections, so RMI forces a periodic full
-collection. Control the frequency of these collections with the property
-`-sun.rmi.dgc.client.gcInterval`. For example,
-`- java -Dsun.rmi.dgc.client.gcInterval=3600000` specifies explicit
-collection once per hour instead of the default rate of once per minute.
-
-[[abeii]][[GSPTG00208]][[tuning-the-java-heap]]
-
-Tuning the Java Heap
-^^^^^^^^^^^^^^^^^^^^
-
-This section discusses topics related to tuning the Java Heap for
-performance.
-
-* link:#abeij[Guidelines for Java Heap Sizing]
-* link:#abeik[Heap Tuning Parameters]
-
-[[abeij]][[GSPTG00151]][[guidelines-for-java-heap-sizing]]
-
-Guidelines for Java Heap Sizing
-+++++++++++++++++++++++++++++++
-
-Maximum heap size depends on maximum address space per process. The
-following table shows the maximum per-process address values for various
-platforms:
-
-[[sthref10]][[gacna]]
-
-Table 4-1 Maximum Address Space Per Process
-
-[width="100%",cols="<62%,<38%",options="header",]
-|===================================================
-|Operating System |Maximum Address Space Per Process
-|Oracle/Redhat/Ubuntu Linux 32-bit |4 GB
-|Oracle/Redhat/Ubuntu Linux 64-bit |Terabytes
-|Windows XP/2008/7 |2 GB
-|Solaris x86 (32-bit) |4 GB
-|Solaris 32-bit |4 GB
-|Solaris 64-bit |Terabytes
-|===================================================
-
-
-Maximum heap space is always smaller than maximum address space per
-process, because the process also needs space for stack, libraries, and
-so on. To determine the maximum heap space that can be allocated, use a
-profiling tool to examine the way memory is used. Gauge the maximum
-stack space the process uses and the amount of memory taken up libraries
-and other memory structures. The difference between the maximum address
-space and the total of those values is the amount of memory that can be
-allocated to the heap.
-
-You can improve performance by increasing your heap size or using a
-different garbage collector. In general, for long-running server
-applications, use the Java SE throughput collector on machines with
-multiple processors (`-XX:+AggressiveHeap`) and as large a heap as you
-can fit in the free memory of your machine.
-
-[[abeik]][[GSPTG00152]][[heap-tuning-parameters]]
-
-Heap Tuning Parameters
-++++++++++++++++++++++
-
-You can control the heap size with the following JVM parameters:
-
-* `-Xms`value
-* `-Xmx`value
-* `-XX:MinHeapFreeRatio=`minimum
-* `-XX:MaxHeapFreeRatio=`maximum
-* `-XX:NewRatio=`ratio
-* `-XX:NewSize=`size
-* `-XX:MaxNewSize=`size
-* `-XX:+AggressiveHeap`
-
-The `-Xms` and `-Xmx` parameters define the minimum and maximum heap
-sizes, respectively. Since GC occurs when the generations fill up,
-throughput is inversely proportional to the amount of the memory
-available. By default, the JVM grows or shrinks the heap at each GC to
-try to keep the proportion of free space to the living objects at each
-collection within a specific range. This range is set as a percentage by
-the parameters `-XX:MinHeapFreeRatio=`minimum and
-`-XX:MaxHeapFreeRatio=`maximum; and the total size bounded by `-Xms` and
-`-Xmx`.
-
-Set the values of `-Xms` and `-Xmx` equal to each other for a fixed heap
-size. When the heap grows or shrinks, the JVM must recalculate the old
-and new generation sizes to maintain a predefined `NewRatio`.
-
-The `NewSize` and `MaxNewSize` parameters control the new generation's
-minimum and maximum size. Regulate the new generation size by setting
-these parameters equal. The bigger the younger generation, the less
-often minor collections occur. The size of the young generation relative
-to the old generation is controlled by `NewRatio`. For example, setting
-`-XX:NewRatio=3` means that the ratio between the old and young
-generation is 1:3, the combined size of eden and the survivor spaces
-will be fourth of the heap.
-
-By default, the GlassFish Server is invoked with the Java HotSpot Server
-JVM. The default `NewRatio` for the Server JVM is 2: the old generation
-occupies 2/3 of the heap while the new generation occupies 1/3. The
-larger new generation can accommodate many more short-lived objects,
-decreasing the need for slow major collections. The old generation is
-still sufficiently large enough to hold many long-lived objects.
-
-To size the Java heap:
-
-* Decide the total amount of memory you can afford for the JVM.
-Accordingly, graph your own performance metric against young generation
-sizes to find the best setting.
-* Make plenty of memory available to the young generation. The default
-is calculated from `NewRatio` and the `-Xmx` setting.
-* Larger eden or younger generation spaces increase the spacing between
-full GCs. But young space collections could take a proportionally longer
-time. In general, keep the eden size between one fourth and one third
-the maximum heap size. The old generation must be larger than the new
-generation.
-
-For up-to-date defaults, see
-http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[Java
-HotSpot VM Options]
-(`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`).
-
-[[GSPTG00032]][[fxxpw]]
-
-
-Example 4-1 Heap Configuration on Solaris
-
-This is an exmple heap configuration used by GlassFish Server on Solaris
-for large applications:
-
-[source,oac_no_warn]
-----
--Xms3584m
- -Xmx3584m
- -verbose:gc
- -Dsun.rmi.dgc.client.gcInterval=3600000
-----
-
-[[abeil]][[GSPTG00031]][[survivor-ratio-sizing]]
-
-Survivor Ratio Sizing
-
-The `SurvivorRatio` parameter controls the size of the two survivor
-spaces. For example, `-XX:SurvivorRatio=6` sets the ratio between each
-survivor space and eden to be 1:6, each survivor space will be one
-eighth of the young generation. The default for Solaris is 32. If
-survivor spaces are too small, copying collection overflows directly
-into the old generation. If survivor spaces are too large, they will be
-empty. At each GC, the JVM determines the number of times an object can
-be copied before it is tenured, called the tenure threshold. This
-threshold is chosen to keep the survivor space half full.
-
-Use the option `-XX:+PrintTenuringDistribution` to show the threshold
-and ages of the objects in the new generation. It is useful for
-observing the lifetime distribution of an application.
-
-[[abeio]][[GSPTG00209]][[rebasing-dlls-on-windows]]
-
-Rebasing DLLs on Windows
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-When the JVM initializes, it tries to allocate its heap using the `-Xms`
-setting. The base addresses of GlassFish Server DLLs can restrict the
-amount of contiguous address space available, causing JVM initialization
-to fail. The amount of contiguous address space available for Java
-memory varies depending on the base addresses assigned to the DLLs. You
-can increase the amount of contiguous address space available by
-rebasing the GlassFish Server DLLs.
-
-To prevent load address collisions, set preferred base addresses with
-the rebase utilty that comes with Visual Studio and the Platform SDK.
-Use the rebase utility to reassign the base addresses of the GlassFish
-Server DLLs to prevent relocations at load time and increase the
-available process memory for the Java heap.
-
-There are a few GlassFish Server DLLs that have non-default base
-addresses that can cause collisions. For example:
-
-* The `nspr` libraries have a preferred address of 0x30000000.
-* The `icu` libraries have the address of 0x4A?00000.
-
-Move these libraries near the system DLLs (`msvcrt.dll` is at
-`0x78000000`) to increase the available maximum contiguous address space
-substantially. Since rebasing can be done on any DLL, rebase to the DLLs
-after installing the GlassFish Server.
-
-[[gacmt]][[GSPTG00039]][[to-rebase-the-glassfish-servers-dlls]]
-
-To rebase the GlassFish Server's DLLs
-+++++++++++++++++++++++++++++++++++++
-
-[[sthref11]]
-
-Before You Begin
-
-To perform rebasing, you need:
-
-* Windows 2000
-* Visual Studio and the Microsoft Framework SDK rebase utility
-
-1.  Make as-install\ `bin` the default directory. +
-[source,oac_no_warn]
-----
-cd as-install\bin
-----
-2.  Enter this command: +
-[source,oac_no_warn]
-----
-rebase -b 0x6000000 *.dll
-----
-3.  Use the `dependencywalker` utility to make sure the DLLs were
-rebased correctly. +
-For more information, see the http://www.dependencywalker.com[Dependency
-Walker website] (`http://www.dependencywalker.com`).
-4.  Increase the size for the Java heap, and set the JVM Option
-accordingly on the JVM Settings page in the Admin Console.
-5.  Restart the GlassFish Server.
-
-[[GSPTG00033]][[fxxpz]]
-
-
-Example 4-2 Heap Configuration on Windows
-
-This is an example heap configuration used by Oracle GlassFish Server
-for heavy server-centric applications, on Windows, as set in the
-`domain.xml` file.
-
-[source,oac_no_warn]
-----
-<jvm-options> -Xms1400m </jvm-options>
-<jvm-options> -Xmx1400m </jvm-options>
-----
-
-[[sthref12]]
-
-See Also
-
-For more information on rebasing, see
-http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/rebase.asp[MSDN
-documentation for rebase utility]
-(`http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/rebase.asp`).
-
-[[abeiq]][[GSPTG00073]][[further-information]]
-
-Further Information
-~~~~~~~~~~~~~~~~~~~
-
-For more information on tuning the JVM, see:
-
-* http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[Java
-HotSpot VM Options]
-(`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`)
-* http://www.oracle.com/technetwork/java/hotspotfaq-138619.html[Frequently
-Asked Questions About the Java HotSpot Virtual Machine]
-(`http://www.oracle.com/technetwork/java/hotspotfaq-138619.html`)
-* http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html[Performance
-Documentation for the Java HotSpot VM]
-(`http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html`)
-* http://java.sun.com/javase/technologies/performance.jsp[Java
-performance web page]
-(`http://java.sun.com/javase/technologies/performance.jsp`)
-* http://java.sun.com/developer/technicalArticles/J2SE/monitoring/[Monitoring
-and Managing Java SE 6 Platform Applications]
-(`http://java.sun.com/developer/technicalArticles/J2SE/monitoring/`)
-* The http://java.sun.com/performance/jvmstat/[jvmstat monitoring
-utility] (`http://java.sun.com/performance/jvmstat/`)
diff --git a/docs/performance-tuning-guide/src/main/jbake/content/tuning-os.adoc b/docs/performance-tuning-guide/src/main/jbake/content/tuning-os.adoc
deleted file mode 100644
index 252319f..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/content/tuning-os.adoc
+++ /dev/null
@@ -1,916 +0,0 @@
-type=page
-status=published
-title=Tuning the Operating System and Platform
-prev=tuning-java.html
-~~~~~~
-Tuning the Operating System and Platform
-========================================
-
-[[GSPTG00007]][[abeir]]
-
-
-[[tuning-the-operating-system-and-platform]]
-5 Tuning the Operating System and Platform
-------------------------------------------
-
-This chapter discusses tuning the operating system (OS) for optimum
-performance. It discusses the following topics:
-
-* link:#abeis[Server Scaling]
-* link:#gfpzp[Solaris 10 Platform-Specific Tuning Information]
-* link:#abeix[Tuning for the Solaris OS]
-* link:#abeje[Tuning for Solaris on x86]
-* link:#abeji[Tuning for Linux platforms]
-* link:#gfpzh[Tuning UltraSPARC CMT-Based Systems]
-
-[[abeis]][[GSPTG00074]][[server-scaling]]
-
-Server Scaling
-~~~~~~~~~~~~~~
-
-This section provides recommendations for optimal performance scaling
-server for the following server subsystems:
-
-* link:#abeit[Processors]
-* link:#abeiu[Memory]
-* link:#abeiv[Disk Space]
-* link:#abeiw[Networking]
-* link:#glglf[UDP Buffer Sizes]
-
-[[abeit]][[GSPTG00210]][[processors]]
-
-Processors
-^^^^^^^^^^
-
-The GlassFish Server automatically takes advantage of multiple CPUs. In
-general, the effectiveness of multiple CPUs varies with the operating
-system and the workload, but more processors will generally improve
-dynamic content performance.
-
-Static content involves mostly input/output (I/O) rather than CPU
-activity. If the server is tuned properly, increasing primary memory
-will increase its content caching and thus increase the relative amount
-of time it spends in I/O versus CPU activity. Studies have shown that
-doubling the number of CPUs increases servlet performance by 50 to 80
-percent.
-
-[[abeiu]][[GSPTG00211]][[memory]]
-
-Memory
-^^^^^^
-
-See the section Hardware and Software Requirements in the GlassFish
-Server Release Notes for specific memory recommendations for each
-supported operating system.
-
-[[abeiv]][[GSPTG00212]][[disk-space]]
-
-Disk Space
-^^^^^^^^^^
-
-It is best to have enough disk space for the OS, document tree, and log
-files. In most cases 2GB total is sufficient.
-
-Put the OS, swap/paging file, GlassFish Server logs, and document tree
-each on separate hard drives. This way, if the log files fill up the log
-drive, the OS does not suffer. Also, its easy to tell if the OS paging
-file is causing drive activity, for example.
-
-OS vendors generally provide specific recommendations for how much swap
-or paging space to allocate. Based on Oracle testing, GlassFish Server
-performs best with swap space equal to RAM, plus enough to map the
-document tree.
-
-[[abeiw]][[GSPTG00213]][[networking]]
-
-Networking
-^^^^^^^^^^
-
-To determine the bandwidth the application needs, determine the
-following values:
-
-* The number of peak concurrent users (N ~peak~) the server needs to
-handle.
-* The average request size on your site, r. The average request can
-include multiple documents. When in doubt, use the home page and all its
-associated files and graphics.
-* Decide how long, t, the average user will be willing to wait for a
-document at peak utilization.
-
-Then, the bandwidth required is:
-
-N~peak~r / t
-
-For example, to support a peak of 50 users with an average document size
-of 24 Kbytes, and transferring each document in an average of 5 seconds,
-requires 240 Kbytes (1920 Kbit/s). So the site needs two T1 lines (each
-1544 Kbit/s). This bandwidth also allows some overhead for growth.
-
-The server's network interface card must support more than the WAN to
-which it is connected. For example, if you have up to three T1 lines,
-you can get by with a 10BaseT interface. Up to a T3 line (45 Mbit/s),
-you can use 100BaseT. But if you have more than 50 Mbit/s of WAN
-bandwidth, consider configuring multiple 100BaseT interfaces, or look at
-Gigabit Ethernet technology.
-
-[[glglf]][[GSPTG00214]][[udp-buffer-sizes]]
-
-UDP Buffer Sizes
-^^^^^^^^^^^^^^^^
-
-GlassFish Server uses User Datagram Protocol (UDP) for the transmission
-of multicast messages to GlassFish Server instances in a cluster. For
-peak performance from a GlassFish Server cluster that uses UDP
-multicast, limit the need to retransmit UDP messages. To limit the need
-to retransmit UDP messages, set the size of the UDP buffer to avoid
-excessive UDP datagram loss.
-
-[[sthref13]][[to-determine-an-optimal-udp-buffer-size]]
-
-To Determine an Optimal UDP Buffer Size
-+++++++++++++++++++++++++++++++++++++++
-
-The size of UDP buffer that is required to prevent excessive UDP
-datagram loss depends on many factors, such as:
-
-* The number of instances in the cluster
-* The number of instances on each host
-* The number of processors
-* The amount of memory
-* The speed of the hard disk for virtual memory
-
-If only one instance is running on each host in your cluster, the
-default UDP buffer size should suffice. If several instances are running
-on each host, determine whether the UDP buffer is large enough by
-testing for the loss of UDP packets.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-On Linux systems, the default UDP buffer size might be insufficient even
-if only one instance is running on each host. In this situation, set the
-UDP buffer size as explained in link:#glglz[To Set the UDP Buffer Size
-on Linux Systems].
-
-|=======================================================================
-
-
-[[glgiw]]
-
-1.  Ensure that no GlassFish Server clusters are running. +
-If necessary, stop any running clusters as explained in
-"link:../ha-administration-guide/instances.html#GSHAG00110[To Stop a Cluster]" in GlassFish Server Open Source
-Edition High Availability Administration Guide.
-2.  Determine the absolute number of lost UDP packets when no clusters
-are running. +
-How you determine the number of lost packets depends on the operating
-system. For example:
-* On Linux systems, use the `netstat -su` command and look for the
-`packet receive errors` count in the `Udp` section.
-* On AIX systems, use the `netstat -s` command and look for the
-`fragments dropped (dup or out of space)` count in the `ip` section.
-3.  Start all the clusters that are configured for your installation of
-GlassFish Server. +
-Start each cluster as explained in "link:../ha-administration-guide/instances.html#GSHAG00109[To Start a
-Cluster]" in GlassFish Server Open Source Edition High Availability
-Administration Guide.
-4.  Determine the absolute number of lost UDP packets after the clusters
-are started.
-5.  If the difference in the number of lost packets is significant,
-increase the size of the UDP buffer.
-
-[[glglz]][[GSPTG00040]][[to-set-the-udp-buffer-size-on-linux-systems]]
-
-To Set the UDP Buffer Size on Linux Systems
-+++++++++++++++++++++++++++++++++++++++++++
-
-On Linux systems, a default UDP buffer size is set for the client, but
-not for the server. Therefore, on Linux systems, the UDP buffer size
-might have to be increased. Setting the UDP buffer size involves setting
-the following kernel parameters:
-
-* `net.core.rmem_max`
-* `net.core.wmem_max`
-* `net.core.rmem_default`
-* `net.core.wmem_default`
-
-Set the kernel parameters in the `/etc/sysctl.conf` file or at runtime.
-
-If you set the parameters in the `/etc/sysctl.conf` file, the settings
-are preserved when the system is rebooted. If you set the parameters at
-runtime, the settings are not preserved when the system is rebooted.
-
-* To set the parameters in the `/etc/sysctl.conf` file, add or edit the
-following lines in the file: +
-[source,oac_no_warn]
-----
-net.core.rmem_max=rmem-max
-net.core.wmem_max=wmem-max
-net.core.rmem_default=rmem-default
-net.core.wmem_default=wmem-default
-----
-* To set the parameters at runtime, use the sysctl command. +
-[source,oac_no_warn]
-----
-$ /sbin/sysctl -w net.core.rmem_max=rmem-max \
-net.core.wmem_max=wmem-max \
-net.core.rmem_default=rmem-default \
-net.core.wmem_default=wmem-default
-----
-
-[[sthref14]]
-
-Example 5-1 Setting the UDP Buffer Size in the `/etc/sysctl.conf` File
-
-This example shows the lines in the `/etc/sysctl.conf` file for setting
-the kernel parameters for controlling the UDP buffer size to 524288.
-
-[source,oac_no_warn]
-----
-net.core.rmem_max=524288
-net.core.wmem_max=524288
-net.core.rmem_default=524288
-net.core.wmem_default=524288
-----
-
-[[GSPTG00034]][[glgjp]]
-
-
-Example 5-2 Setting the UDP Buffer Size at Runtime
-
-This example sets the kernel parameters for controlling the UDP buffer
-size to 524288 at runtime.
-
-[source,oac_no_warn]
-----
-$ /sbin/sysctl -w net.core.rmem_max=524288 \
-net.core.wmem_max=52428 \
-net.core.rmem_default=52428 \
-net.core.wmem_default=524288
-net.core.rmem_max = 524288
-net.core.wmem_max = 52428
-net.core.rmem_default = 52428
-net.core.wmem_default = 524288
-----
-
-[[gfpzp]][[GSPTG00075]][[solaris-10-platform-specific-tuning-information]]
-
-Solaris 10 Platform-Specific Tuning Information
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Solaris Dynamic Tracing (DTrace) is a comprehensive dynamic tracing
-framework for the Solaris Operating System (OS). You can use the DTrace
-Toolkit to monitor the system. The DTrace Toolkit is available through
-the OpenSolaris project from the
-http://hub.opensolaris.org/bin/view/Community+Group+dtrace/dtracetoolkit[DTraceToolkit
-page]
-(`http://hub.opensolaris.org/bin/view/Community+Group+dtrace/dtracetoolkit`).
-
-[[abeix]][[GSPTG00076]][[tuning-for-the-solaris-os]]
-
-Tuning for the Solaris OS
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-* link:#abeiy[Tuning Parameters]
-* link:#abeja[File Descriptor Setting]
-
-[[abeiy]][[GSPTG00215]][[tuning-parameters]]
-
-Tuning Parameters
-^^^^^^^^^^^^^^^^^
-
-Tuning Solaris TCP/IP settings benefits programs that open and close
-many sockets. Since the GlassFish Server operates with a small fixed set
-of connections, the performance gain might not be significant.
-
-The following table shows Solaris tuning parameters that affect
-performance and scalability benchmarking. These values are examples of
-how to tune your system for best performance.
-
-[[sthref15]][[gacmm]]
-
-Table 5-1 Tuning Parameters for Solaris
-
-[width="235%",cols="<14%,<6%,<34%,<29%,<17%",options="header",]
-|=======================================================================
-|Parameter |Scope |Default |Tuned Value |Comments
-|`rlim_fd_max` |`/etc/system` |65536 |65536 |Limit of process open file
-descriptors. Set to account for expected load (for associated sockets,
-files, and pipes if any).
-
-|`rlim_fd_cur` |`/etc/system` |1024 |8192 | +
-
-|`sq_max_size` |`/etc/system` |2 |0 |Controls streams driver queue size;
-setting to 0 makes it infinite so the performance runs won't be hit by
-lack of buffer space. Set on clients too. Note that setting
-`sq_max_size` to 0 might not be optimal for production systems with high
-network traffic.
-
-|`tcp_close_wait_interval` |`ndd /dev/tcp` |240000 |60000 |Set on
-clients too.
-
-|`tcp_time_wait_interval` |`ndd /dev/tcp` |240000 |60000 |Set on clients
-too.
-
-|`tcp_conn_req_max_q` |`ndd /dev/tcp` |128 |1024 | +
-
-|`tcp_conn_req_max_q0` |`ndd /dev/tcp` |1024 |4096 | +
-
-|`tcp_ip_abort_interval` |`ndd /dev/tcp` |480000 |60000 | +
-
-|`tcp_keepalive_interval` |`ndd /dev/tcp` |7200000 |900000 |For high
-traffic web sites, lower this value.
-
-|`tcp_rexmit_interval_initial` |`ndd /dev/tcp` |3000 |3000 |If
-retransmission is greater than 30-40%, you should increase this value.
-
-|`tcp_rexmit_interval_max` |`ndd /dev/tcp` |240000 |10000 | +
-
-|`tcp_rexmit_interval_min` |`ndd /dev/tcp` |200 |3000 | +
-
-|`tcp_smallest_anon_port` |`ndd /dev/tcp` |32768 |1024 |Set on clients
-too.
-
-|`tcp_slow_start_initial` |`ndd /dev/tcp` |1 |2 |Slightly faster
-transmission of small amounts of data.
-
-|`tcp_xmit_hiwat` |`ndd /dev/tcp` |8129 |32768 |Size of transmit buffer.
-
-|`tcp_recv_hiwat` |`ndd /dev/tcp` |8129 |32768 |Size of receive buffer.
-
-|`tcp_conn_hash_size` |`ndd /dev/tcp` |512 |8192 |Size of connection
-hash table. See link:#abeiz[Sizing the Connection Hash Table].
-|=======================================================================
-
-
-[[abeiz]][[GSPTG00153]][[sizing-the-connection-hash-table]]
-
-Sizing the Connection Hash Table
-++++++++++++++++++++++++++++++++
-
-The connection hash table keeps all the information for active TCP
-connections. Use the following command to get the size of the connection
-hash table:
-
-[source,oac_no_warn]
-----
-ndd -get /dev/tcp tcp_conn_hash
-----
-
-This value does not limit the number of connections, but it can cause
-connection hashing to take longer. The default size is 512.
-
-To make lookups more efficient, set the value to half of the number of
-concurrent TCP connections that are expected on the server. You can set
-this value only in `/etc/system`, and it becomes effective at boot time.
-
-Use the following command to get the current number of TCP connections.
-
-[source,oac_no_warn]
-----
-netstat -nP tcp|wc -l
-----
-
-[[abeja]][[GSPTG00216]][[file-descriptor-setting]]
-
-File Descriptor Setting
-^^^^^^^^^^^^^^^^^^^^^^^
-
-On the Solaris OS, setting the maximum number of open files property
-using `ulimit` has the biggest impact on efforts to support the maximum
-number of RMI/IIOP clients.
-
-To increase the hard limit, add the following command to `/etc/system`
-and reboot it once:
-
-[source,oac_no_warn]
-----
-set rlim_fd_max = 8192
-----
-
-Verify this hard limit by using the following command:
-
-[source,oac_no_warn]
-----
-ulimit -a -H
-----
-
-Once the above hard limit is set, increase the value of this property
-explicitly (up to this limit) using the following command:
-
-[source,oac_no_warn]
-----
-ulimit -n 8192
-----
-
-Verify this limit by using the following command:
-
-[source,oac_no_warn]
-----
-ulimit -a
-----
-
-For example, with the default `ulimit` of 64, a simple test driver can
-support only 25 concurrent clients, but with `ulimit` set to 8192, the
-same test driver can support 120 concurrent clients. The test driver
-spawned multiple threads, each of which performed a JNDI lookup and
-repeatedly called the same business method with a think (delay) time of
-500 ms between business method calls, exchanging data of about 100 KB.
-These settings apply to RMI/IIOP clients on the Solaris OS.
-
-[[abeje]][[GSPTG00077]][[tuning-for-solaris-on-x86]]
-
-Tuning for Solaris on x86
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following are some options to consider when tuning Solaris on x86
-for GlassFish Server:
-
-* link:#abejg[File Descriptors]
-* link:#abejh[IP Stack Settings]
-
-Some of the values depend on the system resources available. After
-making any changes to `/etc/system`, reboot the machines.
-
-[[abejg]][[GSPTG00217]][[file-descriptors]]
-
-File Descriptors
-^^^^^^^^^^^^^^^^
-
-Add (or edit) the following lines in the `/etc/system` file:
-
-[source,oac_no_warn]
-----
-set rlim_fd_max=65536
-set rlim_fd_cur=65536
-set sq_max_size=0
-set tcp:tcp_conn_hash_size=8192
-set autoup=60
-set pcisch:pci_stream_buf_enable=0
-----
-
-These settings affect the file descriptors.
-
-[[abejh]][[GSPTG00218]][[ip-stack-settings]]
-
-IP Stack Settings
-^^^^^^^^^^^^^^^^^
-
-Add (or edit) the following lines in the `/etc/system` file:
-
-[source,oac_no_warn]
-----
-set ip:tcp_squeue_wput=1
-set ip:tcp_squeue_close=1
-set ip:ip_squeue_bind=1
-set ip:ip_squeue_worker_wait=10
-set ip:ip_squeue_profile=0
-----
-
-These settings tune the IP stack.
-
-To preserve the changes to the file between system reboots, place the
-following changes to the default TCP variables in a startup script that
-gets executed when the system reboots:
-
-[source,oac_no_warn]
-----
-ndd -set /dev/tcp tcp_time_wait_interval 60000
-ndd -set /dev/tcp tcp_conn_req_max_q 16384
-ndd -set /dev/tcp tcp_conn_req_max_q0 16384
-ndd -set /dev/tcp tcp_ip_abort_interval 60000
-ndd -set /dev/tcp tcp_keepalive_interval 7200000
-ndd -set /dev/tcp tcp_rexmit_interval_initial 4000
-ndd -set /dev/tcp tcp_rexmit_interval_min 3000
-ndd -set /dev/tcp tcp_rexmit_interval_max 10000
-ndd -set /dev/tcp tcp_smallest_anon_port 32768
-ndd -set /dev/tcp tcp_slow_start_initial 2
-ndd -set /dev/tcp tcp_xmit_hiwat 32768
-ndd -set /dev/tcp tcp_recv_hiwat 32768
-----
-
-[[abeji]][[GSPTG00078]][[tuning-for-linux-platforms]]
-
-Tuning for Linux platforms
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To tune for maximum performance on Linux, you need to make adjustments
-to the following:
-
-* link:#gkvjl[Startup Files]
-* link:#abejj[File Descriptors]
-* link:#abejk[Virtual Memory]
-* link:#abejl[Network Interface]
-* link:#abejm[Disk I/O Settings]
-* link:#abejn[TCP/IP Settings]
-
-[[gkvjl]][[GSPTG00219]][[startup-files]]
-
-Startup Files
-^^^^^^^^^^^^^
-
-The following parameters must be added to the `/etc/rc.d/rc.local` file
-that gets executed during system startup.
-
-[source,oac_no_warn]
-----
-<-- begin
-#max file count updated ~256 descriptors per 4Mb.
-Specify number of file descriptors based on the amount of system RAM.
-echo "6553"> /proc/sys/fs/file-max
-#inode-max 3-4 times the file-max
-#file not present!!!!!
-#echo"262144"> /proc/sys/fs/inode-max
-#make more local ports available
-echo 1024 25000> /proc/sys/net/ipv4/ip_local_port_range
-#increase the memory available with socket buffers
-echo 2621143> /proc/sys/net/core/rmem_max
-echo 262143> /proc/sys/net/core/rmem_default
-#above configuration for 2.4.X kernels
-echo 4096 131072 262143> /proc/sys/net/ipv4/tcp_rmem
-echo 4096 13107262143> /proc/sys/net/ipv4/tcp_wmem
-#disable "RFC2018 TCP Selective Acknowledgements," and
-"RFC1323 TCP timestamps" echo 0> /proc/sys/net/ipv4/tcp_sack
-echo 0> /proc/sys/net/ipv4/tcp_timestamps
-#double maximum amount of memory allocated to shm at runtime
-echo "67108864"> /proc/sys/kernel/shmmax
-#improve virtual memory VM subsystem of the Linux
-echo "100 1200 128 512 15 5000 500 1884 2"> /proc/sys/vm/bdflush
-#we also do a sysctl
-sysctl -p /etc/sysctl.conf
--- end -->
-----
-
-Additionally, create an `/etc/sysctl.conf` file and append it with the
-following values:
-
-[source,oac_no_warn]
-----
-<-- begin
- #Disables packet forwarding
-net.ipv4.ip_forward = 0
-#Enables source route verification
-net.ipv4.conf.default.rp_filter = 1
-#Disables the magic-sysrq key
-kernel.sysrq = 0
-fs.file-max=65536
-vm.bdflush = 100 1200 128 512 15 5000 500 1884 2
-net.ipv4.ip_local_port_range = 1024 65000
-net.core.rmem_max= 262143
-net.core.rmem_default = 262143
-net.ipv4.tcp_rmem = 4096 131072 262143
-net.ipv4.tcp_wmem = 4096 131072 262143
-net.ipv4.tcp_sack = 0
-net.ipv4.tcp_timestamps = 0
-kernel.shmmax = 67108864
-----
-
-[[abejj]][[GSPTG00220]][[file-descriptors-1]]
-
-File Descriptors
-^^^^^^^^^^^^^^^^
-
-You may need to increase the number of file descriptors from the
-default. Having a higher number of file descriptors ensures that the
-server can open sockets under high load and not abort requests coming in
-from clients.
-
-Start by checking system limits for file descriptors with this command:
-
-[source,oac_no_warn]
-----
-cat /proc/sys/fs/file-max
-8192
-----
-
-The current limit shown is 8192. To increase it to 65535, use the
-following command (as root):
-
-[source,oac_no_warn]
-----
-echo "65535"> /proc/sys/fs/file-max
-----
-
-To make this value to survive a system reboot, add it to
-`/etc/sysctl.conf` and specify the maximum number of open files
-permitted:
-
-[source,oac_no_warn]
-----
-fs.file-max = 65535
-----
-
-Note that the parameter is not `proc.sys.fs.file-max`, as one might
-expect.
-
-To list the available parameters that can be modified using `sysctl`:
-
-[source,oac_no_warn]
-----
-sysctl -a
-----
-
-To load new values from the `sysctl.conf` file:
-
-[source,oac_no_warn]
-----
-sysctl -p /etc/sysctl.conf
-----
-
-To check and modify limits per shell, use the following command:
-
-[source,oac_no_warn]
-----
-limit
-----
-
-The output will look something like this:
-
-[source,oac_no_warn]
-----
-cputime         unlimited
-filesize        unlimited
-datasize        unlimited
-stacksize       8192 kbytes
-coredumpsize    0 kbytes
-memoryuse       unlimited
-descriptors     1024
-memorylocked    unlimited
-maxproc         8146
-openfiles       1024
-----
-
-The `openfiles` and `descriptors` show a limit of 1024. To increase the
-limit to 65535 for all users, edit `/etc/security/limits.conf` as root,
-and modify or add the `nofile` setting (number of file) entries:
-
-[source,oac_no_warn]
-----
-*         soft    nofile                     65535
-*         hard    nofile                     65535
-----
-
-The character "`*`" is a wildcard that identifies all users. You could
-also specify a user ID instead.
-
-Then edit `/etc/pam.d/login` and add the line:
-
-[source,oac_no_warn]
-----
-session required /lib/security/pam_limits.so
-----
-
-On Red Hat, you also need to edit `/etc/pam.d/sshd` and add the
-following line:
-
-[source,oac_no_warn]
-----
-session required /lib/security/pam_limits.so
-----
-
-On many systems, this procedure will be sufficient. Log in as a regular
-user and try it before doing the remaining steps. The remaining steps
-might not be required, depending on how pluggable authentication modules
-(PAM) and secure shell (SSH) are configured.
-
-[[abejk]][[GSPTG00221]][[virtual-memory]]
-
-Virtual Memory
-^^^^^^^^^^^^^^
-
-To change virtual memory settings, add the following to `/etc/rc.local`:
-
-[source,oac_no_warn]
-----
-echo 100 1200 128 512 15 5000 500 1884 2> /proc/sys/vm/bdflush
-----
-
-For more information, view the man pages for `bdflush`.
-
-[[abejl]][[GSPTG00222]][[network-interface]]
-
-Network Interface
-^^^^^^^^^^^^^^^^^
-
-To ensure that the network interface is operating in full duplex mode,
-add the following entry into `/etc/rc.local`:
-
-[source,oac_no_warn]
-----
-mii-tool -F 100baseTx-FD eth0
-----
-
-where eth0 is the name of the network interface card (NIC).
-
-[[abejm]][[GSPTG00223]][[disk-io-settings]]
-
-Disk I/O Settings
-^^^^^^^^^^^^^^^^^
-

-
-[[gaclw]][[GSPTG00041]][[to-tune-disk-io-performance-for-non-scsi-disks]]
-
-To tune disk I/O performance for non SCSI disks
-+++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Test the disk speed. +
-Use this command: +
-[source,oac_no_warn]
-----
-/sbin/hdparm -t /dev/hdX
-----
-2.  Enable direct memory access (DMA). +
-Use this command: +
-[source,oac_no_warn]
-----
-/sbin/hdparm -d1 /dev/hdX
-----
-3.  Check the speed again using the `hdparm` command. +
-Given that DMA is not enabled by default, the transfer rate might have
-improved considerably. In order to do this at every reboot, add the
-`/sbin/hdparm -d1 /dev/hdX` line to `/etc/conf.d/local.start`,
-`/etc/init.d/rc.local`, or whatever the startup script is called. +
-For information on SCSI disks, see:
-http://people.redhat.com/alikins/system_tuning.html#scsi[System Tuning
-for Linux Servers — SCSI]
-(`http://people.redhat.com/alikins/system_tuning.html#scsi`).
-
-[[abejn]][[GSPTG00224]][[tcpip-settings]]
-
-TCP/IP Settings
-^^^^^^^^^^^^^^^
-

-
-[[gacmd]][[GSPTG00042]][[to-tune-the-tcpip-settings]]
-
-To tune the TCP/IP settings
-+++++++++++++++++++++++++++
-
-1.  Add the following entry to `/etc/rc.local` +
-[source,oac_no_warn]
-----
-echo 30> /proc/sys/net/ipv4/tcp_fin_timeout
-echo 60000> /proc/sys/net/ipv4/tcp_keepalive_time
-echo 15000> /proc/sys/net/ipv4/tcp_keepalive_intvl
-echo 0> /proc/sys/net/ipv4/tcp_window_scaling
-----
-2.  Add the following to `/etc/sysctl.conf` +
-[source,oac_no_warn]
-----
-# Disables packet forwarding
-net.ipv4.ip_forward = 0
-# Enables source route verification
-net.ipv4.conf.default.rp_filter = 1
-# Disables the magic-sysrq key
-kernel.sysrq = 0
-net.ipv4.ip_local_port_range = 1204 65000
-net.core.rmem_max = 262140
-net.core.rmem_default = 262140
-net.ipv4.tcp_rmem = 4096 131072 262140
-net.ipv4.tcp_wmem = 4096 131072 262140
-net.ipv4.tcp_sack = 0
-net.ipv4.tcp_timestamps = 0
-net.ipv4.tcp_window_scaling = 0
-net.ipv4.tcp_keepalive_time = 60000
-net.ipv4.tcp_keepalive_intvl = 15000
-net.ipv4.tcp_fin_timeout = 30
-----
-3.  Add the following as the last entry in `/etc/rc.local` +
-[source,oac_no_warn]
-----
-sysctl -p /etc/sysctl.conf
-----
-4.  Reboot the system.
-5.  Use this command to increase the size of the transmit buffer: +
-[source,oac_no_warn]
-----
-tcp_recv_hiwat ndd /dev/tcp 8129 32768
-----
-
-[[gfpzh]][[GSPTG00079]][[tuning-ultrasparc-cmt-based-systems]]
-
-Tuning UltraSPARC CMT-Based Systems
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use a combination of tunable parameters and other parameters to tune
-UltraSPARC CMT-based systems. These values are an example of how you
-might tune your system to achieve the desired result.
-
-[[gfpzv]][[GSPTG00225]][[tuning-operating-system-and-tcp-settings]]
-
-Tuning Operating System and TCP Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following table shows the operating system tuning for Solaris 10
-used when benchmarking for performance and scalability on UtraSPARC
-CMT-based systems (64-bit systems).
-
-[[sthref16]][[gkuaa]]
-
-Table 5-2 Tuning 64-bit Systems for Performance Benchmarking
-
-[width="244%",cols="<14%,<6%,<32%,<32%,<16%",options="header",]
-|=======================================================================
-|Parameter |Scope |Default Value |Tuned Value |Comments
-|`rlim_fd_max` |`/etc/system` |65536 |260000 |Process open file
-descriptors limit; should account for the expected load (for the
-associated sockets, files, pipes if any).
-
-|`hires_tick` |`/etc/system` | + |1 | +
-
-|`sq_max_size` |`/etc/system` |2 |0 |Controls streams driver queue size;
-setting to 0 makes it infinite so the performance runs won't be hit by
-lack of buffer space. Set on clients too. Note that setting
-`sq_max_size` to 0 might not be optimal for production systems with high
-network traffic.
-
-|`ip:ip_squeue_bind` | + | + |0 | +
-
-|`ip:ip_squeue_fanout` | + | + |1 | +
-
-|`ipge:ipge_taskq_disable` |`/etc/system` | + |0 | +
-
-|`ipge:ipge_tx_ring_size` |`/etc/system` | + |2048 | +
-
-|`ipge:ipge_srv_fifo_depth` |`/etc/system` | + |2048 | +
-
-|`ipge:ipge_bcopy_thresh` |`/etc/system` | + |384 | +
-
-|`ipge:ipge_dvma_thresh` |`/etc/system` | + |384 | +
-
-|`ipge:ipge_tx_syncq` |`/etc/system` | + |1 | +
-
-|`tcp_conn_req_max_q` |`ndd /dev/tcp` |128 |3000 | +
-
-|`tcp_conn_req_max_q0` |`ndd /dev/tcp` |1024 |3000 | +
-
-|`tcp_max_buf` |`ndd /dev/tcp` | + |4194304 | +
-
-|`tcp_cwnd_max` |`ndd/dev/tcp` | + |2097152 | +
-
-|`tcp_xmit_hiwat` |`ndd /dev/tcp` |8129 |400000 |To increase the
-transmit buffer.
-
-|`tcp_recv_hiwat` |`ndd /dev/tcp` |8129 |400000 |To increase the receive
-buffer.
-|=======================================================================
-
-
-Note that the IPGE driver version is 1.25.25.
-
-[[gfpzm]][[GSPTG00226]][[disk-configuration]]
-
-Disk Configuration
-^^^^^^^^^^^^^^^^^^
-
-If HTTP access is logged, follow these guidelines for the disk:
-
-* Write access logs on faster disks or attached storage.
-* If running multiple instances, move the logs for each instance onto
-separate disks as much as possible.
-* Enable the disk read/write cache. Note that if you enable write cache
-on the disk, some writes might be lost if the disk fails.
-* Consider mounting the disks with the following options, which might
-yield better disk performance: `nologging`, `directio`, `noatime`.
-
-[[gfpzk]][[GSPTG00227]][[network-configuration]]
-
-Network Configuration
-^^^^^^^^^^^^^^^^^^^^^
-
-If more than one network interface card is used, make sure the network
-interrupts are not all going to the same core. Run the following script
-to disable interrupts:
-
-[source,oac_no_warn]
-----
-allpsr=`/usr/sbin/psrinfo | grep -v off-line | awk '{ print $1 }'`
-   set $allpsr
-   numpsr=$#
-   while [ $numpsr -gt 0 ];
-   do
-       shift
-       numpsr=`expr $numpsr - 1`
-       tmp=1
-       while [ $tmp -ne 4 ];
-       do
-           /usr/sbin/psradm -i $1
-           shift
-           numpsr=`expr $numpsr - 1`
-           tmp=`expr $tmp + 1`
-       done
-   done
-----
-
-Put all network interfaces into a single group. For example:
-
-[source,oac_no_warn]
-----
-$ifconfig ipge0 group webserver
-$ifconfig ipge1 group webserver
-----
diff --git a/docs/performance-tuning-guide/src/main/jbake/jbake.properties b/docs/performance-tuning-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/performance-tuning-guide/src/main/jbake/templates/footer.ftl b/docs/performance-tuning-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/performance-tuning-guide/src/main/jbake/templates/header.ftl b/docs/performance-tuning-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/performance-tuning-guide/src/main/jbake/templates/menu.ftl b/docs/performance-tuning-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/performance-tuning-guide/src/main/jbake/templates/page.ftl b/docs/performance-tuning-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/performance-tuning-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/pom.xml b/docs/pom.xml
index 134f9e3..dc50857 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -20,11 +20,12 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>org.glassfish.main</groupId>
-        <artifactId>nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
-        <relativePath>../nucleus/parent</relativePath>
+        <groupId>org.eclipse.ee4j</groupId>
+        <artifactId>project</artifactId>
+        <version>1.0.6</version>
+        <relativePath />
     </parent>
+    <version>7.0.0-SNAPSHOT</version>
     <groupId>org.glassfish.docs</groupId>
     <artifactId>docs</artifactId>
     <packaging>pom</packaging>
@@ -93,13 +94,22 @@
             <plugins>
                 <plugin>
                     <artifactId>maven-scm-publish-plugin</artifactId>
-                    <version>3.0.0</version>
+                    <version>3.1.0</version>
                 </plugin>
                 <plugin>
                     <groupId>org.glassfish.doc</groupId>
                     <artifactId>glassfish-doc-maven-plugin</artifactId>
                     <version>1.2</version>
                 </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>build-helper-maven-plugin</artifactId>
+                    <version>3.2.0</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>3.2.0</version>
+                </plugin>
             </plugins>
         </pluginManagement>
     </build>
diff --git a/docs/publish/pom.xml b/docs/publish/pom.xml
index 0a79a88..8949c61 100644
--- a/docs/publish/pom.xml
+++ b/docs/publish/pom.xml
@@ -22,9 +22,8 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>docs</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>publish</artifactId>
     <packaging>jar</packaging>
     <name>Publish the Eclipse GlassFish Website</name>
@@ -43,7 +42,7 @@
         <!-- add a new property for each new release -->
         <dir.510>${site.output.dir}/docs/5.1.0</dir.510>
         <!-- the "latest" version; update when a new release is done -->
-        <docs.version>5.1.0</docs.version>
+        <docs.version>7.0.0</docs.version>
     </properties>
 
     <!--
@@ -192,6 +191,9 @@
                                     <scmBranch>gh-pages</scmBranch>
                                     <skipDeletedFiles>false</skipDeletedFiles>
                                     <checkinComment>Update docs</checkinComment>
+                                    <ignorePathsToDelete>
+                                        <ignorePathsToDelete>latest</ignorePathsToDelete>
+                                    </ignorePathsToDelete>
                                 </configuration>
                             </execution>
                         </executions>
diff --git a/docs/quick-start-guide/README.md b/docs/quick-start-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/quick-start-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/quick-start-guide/pom.xml b/docs/quick-start-guide/pom.xml
index 939fc46..116ae4b 100644
--- a/docs/quick-start-guide/pom.xml
+++ b/docs/quick-start-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>quick-start-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Quick Start Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Quick Start Guide, Release 7</name>
 </project>
diff --git a/docs/quick-start-guide/src/main/asciidoc/basic-features.adoc b/docs/quick-start-guide/src/main/asciidoc/basic-features.adoc
new file mode 100644
index 0000000..9e74a01
--- /dev/null
+++ b/docs/quick-start-guide/src/main/asciidoc/basic-features.adoc
@@ -0,0 +1,781 @@
+type=page
+status=published
+title=Quick Start for Basic Features
+prev=preface.html
+~~~~~~
+
+= Quick Start for Basic Features
+
+[[GSQSG00003]][[aboaa]]
+
+
+[[quick-start-for-basic-features]]
+== 1 Quick Start for Basic Features
+
+{productName} provides a server for the
+development and deployment of Java Platform, Enterprise Edition (Jakarta EE
+platform) applications and web technologies based on Java technology.
+{productName} 7 provides the following:
+
+* A lightweight and extensible core based on OSGi Alliance standards
+* A web container
+* An easy-to-use Administration Console for configuration and management
+* Update Tool connectivity for updates and add-on components
+* Support for high availability clustering and load balancing
+
+The following topics are addressed here:
+
+* link:#ghgpe[About This Quick Start Guide]
+* link:#ghpfg[Default Paths and File Names]
+* link:#gixue[Default Administration Values]
+* link:#gglog[Starting and Stopping the Default Domain]
+* link:#gglmh[Starting and Stopping the Database Server]
+* link:#ggllq[Starting the Administration Console]
+* link:#geyvr[Deploying and Undeploying Applications]
+* link:#gktqx[High Availability Clustering and Load Balancing]
+* link:#ggkzh[For More Information]
+
+[[ghgpe]][[GSQSG00030]][[about-this-quick-start-guide]]
+
+=== About This Quick Start Guide
+
+{productName} 7 Quick Start Guide demonstrates
+key features of the {productName} product and enables you to quickly
+learn the basics. Step-by-step procedures introduce you to product
+features and enable you to use them immediately.
+
+This guide assumes that you have already obtained and installed the
+{productName} 7 software. For more information about installing
+{productName} 7, see the
+https://github.com/eclipse-ee4j/glassfishdocumentation[{productName} Installation Guide].
+
+Instructions and examples in this guide that apply to all supported
+operating systems use the forward slash character (`/`) as path
+separators in all file names and commands. Ensure that you use the
+correct character for the system on which {productName} is installed.
+For example:
+
+* UNIX, Linux, or Mac OS X systems: as-install``/bin/asadmin``
+* Windows systems: as-install``\bin\asadmin``
+
+This guide provides basic information only. For comprehensive
+information about {productName} and other entities mentioned in this
+guide, see link:#ggkzh[For More Information].
+
+To review additional details about this release before you begin using
+the software, see the link:release-notes.html#GSRLN[{productName}
+Release Notes]. The Release Notes provide important information about
+the {productName} 7 release, including details about new features,
+information about known issues and possible workarounds, and tips for
+installing and working with {productName} 7 software.
+
+[[ghpfg]][[GSQSG00031]][[default-paths-and-file-names]]
+
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[[sthref3]][[sthref4]]
+
+Table 1-1 Default Paths and File Names
+
+[width="100%",cols="14%,35%,51%",options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+|Represents the base installation directory for {productName}.
+a|Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
+
+user's-home-directory``/glassfish7/glassfish``
+
+Installations on the Windows operating system:
+
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
+
+user's-home-directory``/glassfish7``
+
+Installations on the Windows operating system:
+
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+|domain-root-dir``/``domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir``/``instance-name
+|===
+
+
+[[gixue]][[GSQSG00032]][[default-administration-values]]
+
+=== Default Administration Values
+
+The following table lists default administration values for {productName}. See link:#ghpfg[Default Paths and File Names] for more
+information about the as-install and domain-dir placeholders.
+
+[[sthref5]][[gixxy]]
+
+Table 1-2 Default Administration Values
+
+[width="100%",cols="50%,50%",options="header",]
+|===
+|Item |Default Value or Location
+|Domain name |`domain1`
+
+|Master password |`changeit`
+
+|https://github.com/eclipse-ee4j/glassfishdoc/5.0/reference-manual.pdf[
+`asadmin`(1M)] command-line utility
+|as-install``/bin``
+
+|Configuration files |domain-dir``/config``
+
+|Log files |domain-dir``/logs``
+
+|Administration server port |`4848`
+
+|HTTP port |`8080`
+
+|HTTPS port |`8181`
+
+|Pure JMX clients port |`8686`
+
+|Message Queue port |`7676`
+
+|IIOP port |`3700`
+
+|IIOP/SSL port |`3820`
+
+|IIOP/SSL port with mutual authentication |`3920`
+|===
+
+
+[[gglog]][[GSQSG00033]][[starting-and-stopping-the-default-domain]]
+
+=== Starting and Stopping the Default Domain
+
+When you install {productName}, a default domain named `domain1` is
+created. The following procedures describe how to start and stop
+`domain1` when it is the only domain. For information about starting and
+stopping a domain when there are multiple domains, see
+"link:administration-guide/domains.html#GSADG00006[Administering Domains]" in {productName} Administration Guide.
+
+[[ggmpd]][[GSQSG00005]][[to-start-the-default-domain]]
+
+==== To Start the Default Domain
+
+[[sthref6]]
+
+Before You Begin
+
+{productName} software must be installed before you start the domain.
+
+Run the `asadmin start-domain` command without an operand:
+
+[source]
+----
+as-install/bin/asadmin start-domain
+----
+
+The command starts the default domain, `domain1`.
+
+[[ggmsx]][[GSQSG00006]][[to-stop-the-default-domain]]
+
+==== To Stop the Default Domain
+
+Run the `asadmin stop-domain` command without an operand:
+
+[source]
+----
+as-install/bin/asadmin stop-domain
+----
+
+The command stops the default domain, `domain1`.
+
+
+[TIP]
+====
+To determine whether a domain is running, use the `asadmin list-domains`
+command:
+
+[source]
+----
+as-install/bin/asadmin list-domains
+----
+====
+
+
+[[gglmh]][[GSQSG00034]][[starting-and-stopping-the-database-server]]
+
+=== Starting and Stopping the Database Server
+
+A database server is not started by default when you start the {productName} domain. If your applications require a database back end, you
+must start and stop the database server manually.
+
+The following procedures describe how to start and stop the Apache Derby
+server that is bundled with {productName}. For information about
+starting and stopping other database servers, see the documentation for
+your specific product.
+
+For the list of database products supported in this release, see the
+https://github.com/eclipse-ee4j/glassfishdocumentation[{productName} Release Notes].
+
+For more information about database connectivity, see
+"https://github.com/eclipse-ee4j/glassfishdocumentation[Administering Database
+Connectivity]" in {productName} Administration Guide.
+
+[[ggncr]][[GSQSG00007]][[to-start-the-apache-derby-server]]
+
+==== To Start the Apache Derby Server
+
+[[sthref7]]
+
+Before You Begin
+
+At least one {productName} domain must be started before you start
+the database server.
+
+Run the `asadmin start-database` command.
+
+The general form for the command is as follows:
+
+[source]
+----
+as-install/bin/asadmin start-database --dbhome directory-path
+----
+
+For example, to start the Apache Derby server from its default location:
+
+[source]
+----
+as-install/bin/asadmin start-database --dbhome as-install-parent/javadb
+----
+
+[[ggnez]][[GSQSG00008]][[to-stop-the-apache-derby-server]]
+
+==== To Stop the Apache Derby Server
+
+Run the `asadmin stop-database` command:
+
+[source]
+----
+as-install/bin/asadmin stop-database
+----
+
+[[ggllq]][[GSQSG00035]][[starting-the-administration-console]]
+
+=== Starting the Administration Console
+
+The {productName} Administration Console provides a browser interface
+for configuring, administering, and monitoring {productName}.
+
+[[ggnbp]][[GSQSG00009]][[to-start-the-administration-console]]
+
+==== To Start the Administration Console
+
+[[sthref8]]
+
+Before You Begin
+
+At least one {productName} domain must be started.
+
+1. Type the URL in your browser.
++
+The default URL for the Administration Console on the local host is as follows:
++
+[source]
+----
+http://localhost:4848
+----
+
+2. If prompted, log in to the Administration Console.
++
+You will be prompted to log in if you chose to require an administration
+password at the time {productName} was installed.
+
+[[sthref9]]
+
+See Also
+
+For more information, see the Administration Console online help.
+
+[[geyvr]][[GSQSG00036]][[deploying-and-undeploying-applications]]
+
+=== Deploying and Undeploying Applications
+
+The process of configuring and enabling applications to run within the
+{productName} framework is referred to as deployment.
+
+This section explains how to deploy, list, and undeploy applications.
+The procedures in this section use the `hello.war` sample application.
+The following topics are addressed here:
+
+* link:#ghgis[To Obtain the Sample Application]
+* link:#gkpao[Deploying and Undeploying the Sample Application From the Command Line]
+* link:#gkpau[Deploying and Undeploying Applications by Using the Administration Console]
+* link:#gkpaa[Deploying and Undeploying the Sample Application Automatically]
+
+[[ghgis]][[GSQSG00010]][[to-obtain-the-sample-application]]
+
+==== To Obtain the Sample Application
+
+1. Download a copy of the `hello.war` sample application from
+`https://github.com/eclipse-ee4j/glassfishdownloads/quickstart/hello.war`.
+
+2. Save the `hello.war` file in the directory of your choice.
++
+This directory is referred to as sample-dir.
+
+[[gkpao]][[GSQSG00044]][[deploying-and-undeploying-the-sample-application-from-the-command-line]]
+
+==== Deploying and Undeploying the Sample Application From the Command Line
+
+{productName} provides `asadmin` subcommands for performing the
+following deployment-related tasks:
+
+* link:#ggndq[To Deploy the Sample Application From the Command Line]
+* link:#ggnco[To List Deployed Applications From the Command Line]
+* link:#ggnbm[To Undeploy the Sample Application From the Command Line]
+
+[[ggndq]][[GSQSG00011]][[to-deploy-the-sample-application-from-the-command-line]]
+
+===== To Deploy the Sample Application From the Command Line
+
+[[sthref10]]
+
+Before You Begin
+
+The sample application must be available before you start this task. To
+download the sample, see link:#ghgis[To Obtain the Sample Application].
+At least one {productName} domain must be started before you deploy
+the sample application.
+
+1. Run the `asadmin deploy` command.
++
+The general form for the command is as follows:
++
+[source]
+----
+as-install/bin/asadmin deploy war-name
+----
+To deploy the `hello.war` sample, the command is as follows:
++
+[source]
+----
+as-install/bin/asadmin deploy sample-dir/hello.war
+----
+
+2. Access the `hello` application by typing the following URL in your
+browser:
++
+[source]
+----
+http://localhost:8080/hello
+----
+The application's start page is displayed, and you are prompted to type
+your name.
++
+[source]
+----
+Hi, my name is Duke. What's yours?
+----
+
+3. Type your name and click Submit.
++
+The application displays a customized response, giving you a personal
+`Hello`.
+
+[[sthref11]]
+
+See Also
+
+For more information about the `deploy` subcommand, see
+link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)].
+
+For more information about deploying applications from the command line,
+see the link:application-deployment-guide.html#GSDPG[{productName} Application
+Deployment Guide].
+
+[[ggnco]][[GSQSG00012]][[to-list-deployed-applications-from-the-command-line]]
+
+===== To List Deployed Applications From the Command Line
+
+Run the `asadmin list-applications` command:
+
+[source]
+----
+as-install/bin/asadmin list-applications
+----
+
+[[ggnbm]][[GSQSG00013]][[to-undeploy-the-sample-application-from-the-command-line]]
+
+===== To Undeploy the Sample Application From the Command Line
+
+Run the `asadmin undeploy` command.
+
+The general form for the command is as follows:
+
+[source]
+----
+as-install/bin/asadmin undeploy war-name
+----
+
+For war-name, use the literal `hello`, not the full `hello.war` name.
+
+For the `hello.war` example, the command is as follows:
+
+[source]
+----
+as-install/bin/asadmin undeploy hello
+----
+
+[[sthref12]]
+
+See Also
+
+For more information about the `undeploy` subcommand, see
+link:reference-manual/undeploy.html#GSRFM00244[`undeploy`(1)].
+
+[[gkpau]][[GSQSG00045]][[deploying-and-undeploying-applications-by-using-the-administration-console]]
+
+==== Deploying and Undeploying Applications by Using the Administration Console
+
+The graphical Administration Console of {productName} enables you to
+perform the following deployment-related tasks:
+
+* link:#ggnbn[To Deploy the Sample Application by Using the Administration Console]
+* link:#ggncd[To View Deployed Applications in the Administration Console]
+* link:#ggneh[To Undeploy the Sample Application by Using the Administration Console]
+
+[[ggnbn]][[GSQSG00014]][[to-deploy-the-sample-application-by-using-the-administration-console]]
+
+===== To Deploy the Sample Application by Using the Administration Console
+
+[[sthref13]]
+
+Before You Begin
+
+The sample application must be available before you start this task.
+To download the sample, see link:#ghgis[To Obtain the Sample Application].
+At least one {productName} domain must be started before you deploy
+the sample application.
+
+1. Launch the Administration Console by typing the following URL in
+your browser:
++
+[source]
+----
+http://localhost:4848
+----
+
+2. Click the Applications node in the tree on the left.
++
+The Applications page is displayed.
+
+3. Click the Deploy button.
++
+The Deploy Applications or Modules page is displayed.
+
+4. Select Packaged File to be Uploaded to the Server, and click Browse.
+
+5. Navigate to the location in which you saved the `hello.war` sample,
+select the file, and click Open.
++
+You are returned to the Deploy Applications or Modules page.
+
+6. Specify a description in the Description field, for example:
++
+`hello`
+
+7. Accept the other default settings, and click OK.
++
+You are returned to the Applications page.
+
+8. Select the check box next to the `hello` application and click the
+Launch link to run the application.
++
+The default URL for the application is as follows:
++
+[source]
+----
+http://localhost:8080/hello/
+----
+
+[[sthref14]]
+
+See Also
+
+For more information, see the Administration Console online help.
+
+[[ggncd]][[GSQSG00015]][[to-view-deployed-applications-in-the-administration-console]]
+
+===== To View Deployed Applications in the Administration Console
+
+1. Launch the Administration Console by typing the following URL in
+your browser:
++
+[source]
+----
+http://localhost:4848
+----
+
+2. Click the Applications node in the tree on the left.
++
+Expand the node to list deployed applications. Deployed applications are
+also listed in the table on the Applications page.
+
+[[ggneh]][[GSQSG00016]][[to-undeploy-the-sample-application-by-using-the-administration-console]]
+
+===== To Undeploy the Sample Application by Using the Administration Console
+
+1. Launch the Administration Console by typing the following URL in your browser:
++
+[source]
+----
+http://localhost:4848
+----
+
+2. Click the Applications node in the tree on the left.
++
+The Applications page is displayed.
+
+3. Select the check box next to the `hello` sample application.
+
+4. Remove or disable the application.
+* To remove the application, click the Undeploy button.
+* To disable the application, click the Disable button.
+
+[[sthref15]]
+
+See Also
+
+For more information, see the Administration Console online help.
+
+[[gkpaa]][[GSQSG00046]][[deploying-and-undeploying-the-sample-application-automatically]]
+
+==== Deploying and Undeploying the Sample Application Automatically
+
+{productName} enables you to performing the following
+deployment-related tasks automatically:
+
+* link:#geyvj[To Deploy the Sample Application Automatically]
+* link:#ggncw[To Undeploy the Sample Application Automatically]
+
+[[geyvj]][[GSQSG00017]][[to-deploy-the-sample-application-automatically]]
+
+===== To Deploy the Sample Application Automatically
+
+You can deploy applications automatically by placing them in the
+domain-dir``/autodeploy`` directory, where domain-dir is the directory of
+the domain for which you want to configure automatic deployment. For
+this example, use the default domain, `domain1`, in the default
+domain-root-dir, which is as-install``/domains``:
+
+[source]
+----
+as-install/domains/domain1/autodeploy
+----
+
+[[sthref16]]
+
+Before You Begin
+
+The sample application must be available before you start this task. To
+download the sample, see link:#ghgis[To Obtain the Sample Application].
+
+Copy the application WAR file to the domain-dir``/autodeploy`` directory.
+
+* On UNIX, Linux, and Mac OS X systems, type this command:
++
+[source]
+----
+cp sample-dir/hello.war as-install/domains/domain-dir/autodeploy
+----
+* On Windows systems, type this command:
++
+[source]
+----
+copy sample-dir\hello.war as-install\domains\domain-dir\autodeploy
+----
+
+{productName} automatically discovers and deploys the application.
+The default URL for the application is as follows:
+
+[source]
+----
+http://localhost:8080/hello/
+----
+
+[[ggncw]][[GSQSG00018]][[to-undeploy-the-sample-application-automatically]]
+
+===== To Undeploy the Sample Application Automatically
+
+1. Change to the domain's `autodeploy` directory.
++
+[source]
+----
+cd as-install\domains\domain-dir\autodeploy
+----
+
+2. Delete the sample application's WAR file to undeploy and remove the application.
+* On UNIX, Linux, and Mac OS X systems, type this command:
++
+[source]
+----
+rm hello.war
+----
+* On Windows systems, type this command:
++
+[source]
+----
+del hello.war
+----
+
+[[gktqx]][[GSQSG00037]][[high-availability-clustering-and-load-balancing]]
+
+=== High Availability Clustering and Load Balancing
+
+{productName} enables multiple {productName} instances to be
+clustered to provide high availability through failure protection,
+scalability, and load balancing. The subsections that follow provide an
+overview of high availability clustering and load balancing for
+{productName}.
+
+[[gktob]][[GSQSG00047]][[clusters-of-glassfish-server-instances]]
+
+==== Clusters of {productName} Instances
+
+A cluster is a collection of {productName} instances that work
+together as one logical entity. A cluster provides a runtime environment
+for one or more Java Platform, Enterprise Edition (Jakarta EE)
+applications. A cluster provides high availability through failure
+protection, scalability, and load balancing.
+
+A {productName} instance is a single Virtual Machine for the Java
+platform (Java Virtual Machine or JVM machine) on a single node in which
+{productName} is running. A node defines the host where the {productName} instance resides. The JVM machine must be compatible with the
+Java Platform, Enterprise Edition (Jakarta EE).
+
+{productName} instances form the basis of an application deployment.
+An instance is a building block in the clustering, load balancing, and
+session persistence features of {productName}. Each instance belongs
+to a single domain and has its own directory structure, configuration,
+and deployed applications. Every instance contains a reference to a node
+that defines the host where the instance resides.
+
+For more information, see the following documentation:
+
+* "link:ha-administration-guide/nodes.html#GSHAG00004[Administering {productName} Nodes]" in {productName} High Availability Administration Guide
+* "link:ha-administration-guide/clusters.html#GSHAG00005[Administering {productName} Clusters]" in
+{productName} High Availability Administration Guide
+* "link:ha-administration-guide/instances.html#GSHAG00006[Administering {productName} Instances]" in
+{productName} High Availability Administration Guide
+
+[[gktpt]][[GSQSG00048]][[session-persistence-and-failover]]
+
+==== Session Persistence and Failover
+
+Storing session state data enables the session state to be recovered
+after the failover of an instance in a cluster. Recovering the session
+state enables the session to continue without loss of information.
+{productName} supports in-memory session replication on other servers
+in the cluster for maintaining HTTP session and stateful session bean data.
+
+For more information, see "link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High
+Availability Session Persistence and Failover]" in {productName} High Availability Administration Guide.
+
+[[gksbz]][[GSQSG00049]][[load-balancing-for-clustered-configurations]]
+
+==== Load Balancing for Clustered Configurations
+
+{productName} supports web server and hardware-based load balancing
+for clustered configurations. A load balancer is deployed with a
+cluster, and provides the following features:
+
+* Allows an application or service to be scaled horizontally across
+multiple physical (or logical) hosts yet still present the user with a single URL
+* Insulates the user from host failures or server crashes when used with
+session persistence
+* Enhances security by hiding the internal network from the user
+
+{productName} is compatible with the Apache HTTP
+server `mod_jk` module for load balancing.
+
+{productName} load balancing configurations can vary widely depending
+on the needs of your enterprise. For complete information about
+configuring load balancing in {productName}, see the following
+documentation:
+
+* "link:ha-administration-guide/http-load-balancing.html#GSHAG00009[
+Configuring HTTP Load Balancing]" in
+{productName} High Availability Administration Guide
+* "link:ha-administration-guide/rmi-iiop.html#GSHAG00013[
+RMI-IIOP Load Balancing and Failover]" in
+{productName} High Availability Administration Guide
+
+[[ggkzh]][[GSQSG00040]][[for-more-information]]
+
+=== For More Information
+
+Additional resources are available to help you learn more about
+{productName} 7 and related technologies.
+
+The following resources are described here:
+
+* link:#ghhir[Product Documentation]
+* link:#giyjo[Tutorials]
+* link:#gintm[Jakarta EE Examples]
+
+[[ghhir]][[GSQSG00050]][[product-documentation]]
+
+==== Product Documentation
+
+Comprehensive product documentation is available and includes the
+following.
+
+* link:release-notes.html#GSRLN[{productName} Release Notes]:
+Latest details about new features, known issues, and tips for installing
+and working with {productName} software.
+* https://glassfish.org/docs/[{productName}]
+
+[[giyjo]][[GSQSG00052]][[tutorials]]
+
+==== Tutorials
+
+The following tutorials provide working examples and detailed
+instructions for creating enterprise applications for the Jakarta EE platform.
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[Your First Cup: An
+Introduction to the Jakarta EE Platform]. For beginning Jakarta EE
+programmers, this short tutorial explains the entire process for
+developing a simple enterprise application. The sample application is a
+web application that consists of a component that is based on the
+Enterprise JavaBeans specification, a JAX-RS web service, and a
+JavaServer Faces component for the web front end.
+* https://eclipse-ee4j.github.io/jakartaee-tutorial/[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+[[gintm]][[GSQSG00053]][[jakarta-ee-examples]]
+
+==== Jakarta EE Examples
+
+https://github.com/eclipse-ee4j/jakartaee-examples[Jakarta EE Examples] -
+The example applications demonstrate Jakarta EE technologies.
+
+
+
diff --git a/docs/quick-start-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/quick-start-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/quick-start-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/quick-start-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/quick-start-guide/src/main/jbake/assets/img/oracle-db-config.png b/docs/quick-start-guide/src/main/asciidoc/img/oracle-db-config.png
similarity index 100%
rename from docs/quick-start-guide/src/main/jbake/assets/img/oracle-db-config.png
rename to docs/quick-start-guide/src/main/asciidoc/img/oracle-db-config.png
Binary files differ
diff --git a/docs/quick-start-guide/src/main/jbake/assets/img/two-instance-cluster-config.png b/docs/quick-start-guide/src/main/asciidoc/img/two-instance-cluster-config.png
similarity index 100%
rename from docs/quick-start-guide/src/main/jbake/assets/img/two-instance-cluster-config.png
rename to docs/quick-start-guide/src/main/asciidoc/img/two-instance-cluster-config.png
Binary files differ
diff --git a/docs/quick-start-guide/src/main/asciidoc/preface.adoc b/docs/quick-start-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..9e6f6c5
--- /dev/null
+++ b/docs/quick-start-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,219 @@
+type=page
+status=published
+title=Preface
+next=basic-features.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[gkamj]][[preface]]
+
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This book demonstrates key features of the {productName} product and
+enables you to quickly learn the basics. Step-by-step procedures
+introduce you to product features and enable you to use them
+immediately.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation
+set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at `https://github.com/eclipse-ee4j/glassfish`. The
+GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}. The GlassFish project is designed to encourage
+communication between Oracle engineers and the community.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+
+[[ghpbz]][[glassfish-server-documentation-set]]
+
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="30%,70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide] |Explains how to get started with the
+{productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide] |Explains how to install the software
+and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
+version of {productName}. This guide also describes differences
+between adjacent product releases and configuration options that can
+result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide] |Explains how to build a
+production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide] |Explains how to configure, monitor,
+and manage {productName} subsystems and components from the command
+line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
+performing these tasks from the Administration Console are provided in
+the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide] |Provides instructions for configuring and
+administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
+deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide] |Explains how to create and
+implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}. These
+applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs). This guide provides
+information about developer tools, security, and debugging.
+
+| |
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide] |Explains how to run applications in
+embedded {productName} and to develop applications in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide] |Explains how to
+configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
+performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
+might encounter when using {productName} and explains how to solve
+them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference] |Describes error messages that you
+might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual] |Provides reference information in man
+page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes] |Describes new features,
+compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
+to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide] |Explains how to set up
+and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
+the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
+information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
+programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue
+messages.
+|===
+
+
+[[fwbkx]][[typographic-conventions]]
+
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="14%,37%,49%",options="header",]
+|===
+|Typeface |Meaning |Example
+|`AaBbCc123` |The names of commands, files, and directories, and
+onscreen computer output a|
+Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
+`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123 |A placeholder to be replaced with a real name or value |The
+command to remove a file is `rm` filename.
+
+|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
+that some emphasized items appear bold online) a|
+Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+
+|===
+
+
+[[fquvc]][[symbol-conventions]]
+
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="10%,26%,28%,36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
+`-l` option is not required.
+
+|`{ \| }` |Contains a set of choices for a required command option.
+|`-d {y\|n}` |The `-d` option requires that you use either the `y`
+argument or the `n` argument.
+
+|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
+Control key while you press the A key.
+
+|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
+Control key, release it, and then press the subsequent keys.
+
+|> |Indicates menu item selection in a graphical user interface. |File >
+New > Templates |From the File menu, choose New. From the New submenu,
+choose Templates.
+|===
+
diff --git a/docs/quick-start-guide/src/main/asciidoc/title.adoc b/docs/quick-start-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..8dd09a6
--- /dev/null
+++ b/docs/quick-start-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,48 @@
+type=page
+status=published
+title={productName} Quick Start Guide, Release 7
+next=preface.html
+prev=toc.html
+~~~~~~
+
+= {productName} Quick Start Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Quick Start Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This book demonstrates key features of the {productName} product and
+enables you to quickly learn the basics. Step-by-step procedures
+introduce you to product features and {productName} 7 Quick Start Guide {productName} 7
+Quick Start Guide you to use them immediately.
+
+[[sthref1]]
+
+'''''
+
+{productName} Quick Start Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/quick-start-guide/src/main/jbake/assets/css/style.css b/docs/quick-start-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 29b6b1d..0000000
--- a/docs/quick-start-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,314 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/quick-start-guide/src/main/jbake/content/basic-features.adoc b/docs/quick-start-guide/src/main/jbake/content/basic-features.adoc
deleted file mode 100644
index 4773bd2..0000000
--- a/docs/quick-start-guide/src/main/jbake/content/basic-features.adoc
+++ /dev/null
@@ -1,841 +0,0 @@
-type=page
-status=published
-title=Quick Start for Basic Features
-prev=preface.html
-~~~~~~
-Quick Start for Basic Features
-==============================
-
-[[GSQSG00003]][[aboaa]]
-
-
-[[quick-start-for-basic-features]]
-1 Quick Start for Basic Features
---------------------------------
-
-Eclipse GlassFish Server provides a server for the
-development and deployment of Java Platform, Enterprise Edition (Java EE
-platform) applications and web technologies based on Java technology.
-GlassFish Server 5.1 provides the following:
-
-* A lightweight and extensible core based on OSGi Alliance standards
-* A web container
-* An easy-to-use Administration Console for configuration and management
-* Update Tool connectivity for updates and add-on components
-* Support for high availability clustering and load balancing
-
-The following topics are addressed here:
-
-* link:#ghgpe[About This Quick Start Guide]
-* link:#ghpfg[Default Paths and File Names]
-* link:#gixue[Default Administration Values]
-* link:#gglog[Starting and Stopping the Default Domain]
-* link:#gglmh[Starting and Stopping the Database Server]
-* link:#ggllq[Starting the Administration Console]
-* link:#geyvr[Deploying and Undeploying Applications]
-* link:#gktqx[High Availability Clustering and Load Balancing]
-* link:#ggkzh[For More Information]
-
-[[ghgpe]][[GSQSG00030]][[about-this-quick-start-guide]]
-
-About This Quick Start Guide
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Eclipse GlassFish Server 5.1 Quick Start Guide demonstrates
-key features of the GlassFish Server product and enables you to quickly
-learn the basics. Step-by-step procedures introduce you to product
-features and enable you to use them immediately.
-
-This guide assumes that you have already obtained and installed the
-GlassFish Server 5.1 software. For more information about installing
-GlassFish Server 5.1, see the
-https://javaee.github.io/glassfish/documentation[GlassFish Server Open
-Source Edition Installation Guide].
-
-Instructions and examples in this guide that apply to all supported
-operating systems use the forward slash character (`/`) as path
-separators in all file names and commands. Ensure that you use the
-correct character for the system on which GlassFish Server is installed.
-For example:
-
-* UNIX, Linux, or Mac OS X systems: as-install`/bin/asadmin`
-* Windows systems: as-install`\bin\asadmin`
-
-This guide provides basic information only. For comprehensive
-information about GlassFish Server and other entities mentioned in this
-guide, see link:#ggkzh[For More Information].
-
-To review additional details about this release before you begin using
-the software, see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition
-Release Notes]. The Release Notes provide important information about
-the GlassFish Server 5.1 release, including details about new features,
-information about known issues and possible workarounds, and tips for
-installing and working with GlassFish Server 5.1 software.
-
-[[ghpfg]][[GSQSG00031]][[default-paths-and-file-names]]
-
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[[sthref3]][[sthref4]]
-
-Table 1-1 Default Paths and File Names
-
-[width="100%",cols="14%,35%,51%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-a|
-as-install
-
-
- |Represents the base installation directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish6/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6\glassfish`
-
-a|
-as-install-parent
-
-
- |Represents the parent of the base installation directory for GlassFish
-Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish6`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6`
-
-a|
-domain-root-dir
-
-
- |Represents the directory in which a domain is created by default.
-|as-install`/domains/`
-
-a|
-domain-dir
-
-
- |Represents the directory in which a domain's configuration is stored.
-|domain-root-dir`/`domain-name
-
-a|
-instance-dir
-
-
- |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
-
-[[gixue]][[GSQSG00032]][[default-administration-values]]
-
-Default Administration Values
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table lists default administration values for GlassFish
-Server. See link:#ghpfg[Default Paths and File Names] for more
-information about the as-install and domain-dir placeholders.
-
-[[sthref5]][[gixxy]]
-
-Table 1-2 Default Administration Values
-
-[width="100%",cols="50%,50%",options="header",]
-|=======================================================================
-|Item |Default Value or Location
-|Domain name |`domain1`
-
-|Master password |`changeit`
-
-|https://javaee.github.io/glassfish/doc/5.0/reference-manual.pdf[`asadmin`(1M)]
-command-line utility |as-install`/bin`
-
-|Configuration files |domain-dir`/config`
-
-|Log files |domain-dir`/logs`
-
-|Administration server port |`4848`
-
-|HTTP port |`8080`
-
-|HTTPS port |`8181`
-
-|Pure JMX clients port |`8686`
-
-|Message Queue port |`7676`
-
-|IIOP port |`3700`
-
-|IIOP/SSL port |`3820`
-
-|IIOP/SSL port with mutual authentication |`3920`
-|=======================================================================
-
-
-[[gglog]][[GSQSG00033]][[starting-and-stopping-the-default-domain]]
-
-Starting and Stopping the Default Domain
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When you install GlassFish Server, a default domain named `domain1` is
-created. The following procedures describe how to start and stop
-`domain1` when it is the only domain. For information about starting and
-stopping a domain when there are multiple domains, see
-"link:../administration-guide/domains.html#GSADG00006[Administering Domains]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[ggmpd]][[GSQSG00005]][[to-start-the-default-domain]]
-
-To Start the Default Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref6]]
-
-Before You Begin
-
-GlassFish Server software must be installed before you start the domain.
-
-Run the `asadmin start-domain` command without an operand:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain
-----
-
-The command starts the default domain, `domain1`.
-
-[[ggmsx]][[GSQSG00006]][[to-stop-the-default-domain]]
-
-To Stop the Default Domain
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Run the `asadmin stop-domain` command without an operand:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin stop-domain
-----
-
-The command stops the default domain, `domain1`.
-
-
-[TIP]
-=======================================================================
-
-To determine whether a domain is running, use the `asadmin list-domains`
-command:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin list-domains
-----
-
-=======================================================================
-
-
-[[gglmh]][[GSQSG00034]][[starting-and-stopping-the-database-server]]
-
-Starting and Stopping the Database Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A database server is not started by default when you start the GlassFish
-Server domain. If your applications require a database back end, you
-must start and stop the database server manually.
-
-The following procedures describe how to start and stop the Apache Derby
-server that is bundled with GlassFish Server. For information about
-starting and stopping other database servers, see the documentation for
-your specific product.
-
-For the list of database products supported in this release, see the
-https://javaee.github.io/glassfish/documentation[GlassFish Server Open
-Source Edition Release Notes].
-
-For more information about database connectivity, see
-"https://javaee.github.io/glassfish/documentation[Administering Database
-Connectivity]" in Eclipse GlassFish Server Administration
-Guide.
-
-[[ggncr]][[GSQSG00007]][[to-start-the-apache-derby-server]]
-
-To Start the Apache Derby Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref7]]
-
-Before You Begin
-
-At least one GlassFish Server domain must be started before you start
-the database server.
-
-Run the `asadmin start-database` command.
-
-The general form for the command is as follows:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-database --dbhome directory-path
-----
-
-For example, to start the Apache Derby server from its default location:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-database --dbhome as-install-parent/javadb
-----
-
-[[ggnez]][[GSQSG00008]][[to-stop-the-apache-derby-server]]
-
-To Stop the Apache Derby Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Run the `asadmin stop-database` command:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin stop-database
-----
-
-[[ggllq]][[GSQSG00035]][[starting-the-administration-console]]
-
-Starting the Administration Console
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server Administration Console provides a browser interface
-for configuring, administering, and monitoring GlassFish Server.
-
-[[ggnbp]][[GSQSG00009]][[to-start-the-administration-console]]
-
-To Start the Administration Console
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref8]]
-
-Before You Begin
-
-At least one GlassFish Server domain must be started.
-
-1.  Type the URL in your browser. +
-The default URL for the Administration Console on the local host is as
-follows: +
-[source,oac_no_warn]
-----
-http://localhost:4848
-----
-2.  If prompted, log in to the Administration Console. +
-You will be prompted to log in if you chose to require an administration
-password at the time GlassFish Server was installed.
-
-[[sthref9]]
-
-See Also
-
-For more information, see the Administration Console online help.
-
-[[geyvr]][[GSQSG00036]][[deploying-and-undeploying-applications]]
-
-Deploying and Undeploying Applications
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The process of configuring and enabling applications to run within the
-GlassFish Server framework is referred to as deployment.
-
-This section explains how to deploy, list, and undeploy applications.
-The procedures in this section use the `hello.war` sample application.
-The following topics are addressed here:
-
-* link:#ghgis[To Obtain the Sample Application]
-* link:#gkpao[Deploying and Undeploying the Sample Application From the
-Command Line]
-* link:#gkpau[Deploying and Undeploying Applications by Using the
-Administration Console]
-* link:#gkpaa[Deploying and Undeploying the Sample Application
-Automatically]
-
-[[ghgis]][[GSQSG00010]][[to-obtain-the-sample-application]]
-
-To Obtain the Sample Application
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Download a copy of the `hello.war` sample application from
-`https://javaee.github.io/glassfish/downloads/quickstart/hello.war`.
-2.  Save the `hello.war` file in the directory of your choice. +
-This directory is referred to as sample-dir.
-
-[[gkpao]][[GSQSG00044]][[deploying-and-undeploying-the-sample-application-from-the-command-line]]
-
-Deploying and Undeploying the Sample Application From the Command Line
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server provides `asadmin` subcommands for performing the
-following deployment-related tasks:
-
-* link:#ggndq[To Deploy the Sample Application From the Command Line]
-* link:#ggnco[To List Deployed Applications From the Command Line]
-* link:#ggnbm[To Undeploy the Sample Application From the Command Line]
-
-[[ggndq]][[GSQSG00011]][[to-deploy-the-sample-application-from-the-command-line]]
-
-To Deploy the Sample Application From the Command Line
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-[[sthref10]]
-
-Before You Begin
-
-The sample application must be available before you start this task. To
-download the sample, see link:#ghgis[To Obtain the Sample Application].
-At least one GlassFish Server domain must be started before you deploy
-the sample application.
-
-1.  Run the `asadmin deploy` command. +
-The general form for the command is as follows: +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin deploy war-name
-----
-To deploy the `hello.war` sample, the command is as follows: +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin deploy sample-dir/hello.war
-----
-2.  Access the `hello` application by typing the following URL in your
-browser: +
-[source,oac_no_warn]
-----
-http://localhost:8080/hello
-----
-The application's start page is displayed, and you are prompted to type
-your name. +
-[source,oac_no_warn]
-----
-Hi, my name is Duke. What's yours?
-----
-3.  Type your name and click Submit. +
-The application displays a customized response, giving you a personal
-`Hello`.
-
-[[sthref11]]
-
-See Also
-
-For more information about the `deploy` subcommand, see
-link:../reference-manual/deploy.html#GSRFM00114[`deploy`(1)].
-
-For more information about deploying applications from the command line,
-see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application
-Deployment Guide].
-
-[[ggnco]][[GSQSG00012]][[to-list-deployed-applications-from-the-command-line]]
-
-To List Deployed Applications From the Command Line
-+++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Run the `asadmin list-applications` command:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin list-applications
-----
-
-[[ggnbm]][[GSQSG00013]][[to-undeploy-the-sample-application-from-the-command-line]]
-
-To Undeploy the Sample Application From the Command Line
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Run the `asadmin undeploy` command.
-
-The general form for the command is as follows:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin undeploy war-name
-----
-
-For war-name, use the literal `hello`, not the full `hello.war` name.
-
-For the `hello.war` example, the command is as follows:
-
-[source,oac_no_warn]
-----
-as-install/bin/asadmin undeploy hello
-----
-
-[[sthref12]]
-
-See Also
-
-For more information about the `undeploy` subcommand, see
-link:../reference-manual/undeploy.html#GSRFM00244[`undeploy`(1)].
-
-[[gkpau]][[GSQSG00045]][[deploying-and-undeploying-applications-by-using-the-administration-console]]
-
-Deploying and Undeploying Applications by Using the Administration
-Console
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The graphical Administration Console of GlassFish Server enables you to
-perform the following deployment-related tasks:
-
-* link:#ggnbn[To Deploy the Sample Application by Using the
-Administration Console]
-* link:#ggncd[To View Deployed Applications in the Administration
-Console]
-* link:#ggneh[To Undeploy the Sample Application by Using the
-Administration Console]
-
-[[ggnbn]][[GSQSG00014]][[to-deploy-the-sample-application-by-using-the-administration-console]]
-
-To Deploy the Sample Application by Using the Administration Console
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-[[sthref13]]
-
-Before You Begin
-
-The sample application must be available before you start this task. To
-download the sample, see link:#ghgis[To Obtain the Sample Application].
-At least one GlassFish Server domain must be started before you deploy
-the sample application.
-
-1.  Launch the Administration Console by typing the following URL in
-your browser: +
-[source,oac_no_warn]
-----
-http://localhost:4848
-----
-2.  Click the Applications node in the tree on the left. +
-The Applications page is displayed.
-3.  Click the Deploy button. +
-The Deploy Applications or Modules page is displayed.
-4.  Select Packaged File to be Uploaded to the Server, and click Browse.
-5.  Navigate to the location in which you saved the `hello.war` sample,
-select the file, and click Open. +
-You are returned to the Deploy Applications or Modules page.
-6.  Specify a description in the Description field, for example: +
-`hello`
-7.  Accept the other default settings, and click OK. +
-You are returned to the Applications page.
-8.  Select the check box next to the `hello` application and click the
-Launch link to run the application. +
-The default URL for the application is as follows: +
-[source,oac_no_warn]
-----
-http://localhost:8080/hello/
-----
-
-[[sthref14]]
-
-See Also
-
-For more information, see the Administration Console online help.
-
-[[ggncd]][[GSQSG00015]][[to-view-deployed-applications-in-the-administration-console]]
-
-To View Deployed Applications in the Administration Console
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Launch the Administration Console by typing the following URL in
-your browser: +
-[source,oac_no_warn]
-----
-http://localhost:4848
-----
-2.  Click the Applications node in the tree on the left. +
-Expand the node to list deployed applications. Deployed applications are
-also listed in the table on the Applications page.
-
-[[ggneh]][[GSQSG00016]][[to-undeploy-the-sample-application-by-using-the-administration-console]]
-
-To Undeploy the Sample Application by Using the Administration Console
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Launch the Administration Console by typing the following URL in
-your browser: +
-[source,oac_no_warn]
-----
-http://localhost:4848
-----
-2.  Click the Applications node in the tree on the left. +
-The Applications page is displayed.
-3.  Select the check box next to the `hello` sample application.
-4.  Remove or disable the application.
-* To remove the application, click the Undeploy button.
-* To disable the application, click the Disable button.
-
-[[sthref15]]
-
-See Also
-
-For more information, see the Administration Console online help.
-
-[[gkpaa]][[GSQSG00046]][[deploying-and-undeploying-the-sample-application-automatically]]
-
-Deploying and Undeploying the Sample Application Automatically
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server enables you to performing the following
-deployment-related tasks automatically:
-
-* link:#geyvj[To Deploy the Sample Application Automatically]
-* link:#ggncw[To Undeploy the Sample Application Automatically]
-
-[[geyvj]][[GSQSG00017]][[to-deploy-the-sample-application-automatically]]
-
-To Deploy the Sample Application Automatically
-++++++++++++++++++++++++++++++++++++++++++++++
-
-You can deploy applications automatically by placing them in the
-domain-dir`/autodeploy` directory, where domain-dir is the directory of
-the domain for which you want to configure automatic deployment. For
-this example, use the default domain, `domain1`, in the default
-domain-root-dir, which is as-install`/domains`:
-
-[source,oac_no_warn]
-----
-as-install/domains/domain1/autodeploy
-----
-
-[[sthref16]]
-
-Before You Begin
-
-The sample application must be available before you start this task. To
-download the sample, see link:#ghgis[To Obtain the Sample Application].
-
-Copy the application WAR file to the domain-dir`/autodeploy` directory.
-
-* On UNIX, Linux, and Mac OS X systems, type this command: +
-[source,oac_no_warn]
-----
-cp sample-dir/hello.war as-install/domains/domain-dir/autodeploy
-----
-* On Windows systems, type this command: +
-[source,oac_no_warn]
-----
-copy sample-dir\hello.war as-install\domains\domain-dir\autodeploy
-----
-
-GlassFish Server automatically discovers and deploys the application.
-The default URL for the application is as follows:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/hello/
-----
-
-[[ggncw]][[GSQSG00018]][[to-undeploy-the-sample-application-automatically]]
-
-To Undeploy the Sample Application Automatically
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-1.  Change to the domain's `autodeploy` directory. +
-[source,oac_no_warn]
-----
-cd as-install\domains\domain-dir\autodeploy
-----
-2.  Delete the sample application's WAR file to undeploy and remove the
-application.
-* On UNIX, Linux, and Mac OS X systems, type this command: +
-[source,oac_no_warn]
-----
-rm hello.war
-----
-* On Windows systems, type this command: +
-[source,oac_no_warn]
-----
-del hello.war
-----
-
-[[gktqx]][[GSQSG00037]][[high-availability-clustering-and-load-balancing]]
-
-High Availability Clustering and Load Balancing
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server enables multiple GlassFish Server instances to be
-clustered to provide high availability through failure protection,
-scalability, and load balancing. The subsections that follow provide an
-overview of high availability clustering and load balancing for
-GlassFish Server.
-
-[[gktob]][[GSQSG00047]][[clusters-of-glassfish-server-instances]]
-
-Clusters of GlassFish Server Instances
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A cluster is a collection of GlassFish Server instances that work
-together as one logical entity. A cluster provides a runtime environment
-for one or more Java Platform, Enterprise Edition (Java EE)
-applications. A cluster provides high availability through failure
-protection, scalability, and load balancing.
-
-A GlassFish Server instance is a single Virtual Machine for the Java
-platform (Java Virtual Machine or JVM machine) on a single node in which
-GlassFish Server is running. A node defines the host where the GlassFish
-Server instance resides. The JVM machine must be compatible with the
-Java Platform, Enterprise Edition (Java EE).
-
-GlassFish Server instances form the basis of an application deployment.
-An instance is a building block in the clustering, load balancing, and
-session persistence features of GlassFish Server. Each instance belongs
-to a single domain and has its own directory structure, configuration,
-and deployed applications. Every instance contains a reference to a node
-that defines the host where the instance resides.
-
-For more information, see the following documentation:
-
-* "link:../ha-administration-guide/nodes.html#GSHAG00004[Administering GlassFish Server Nodes]" in GlassFish
-Server Open Source Edition High Availability Administration Guide
-* "link:../ha-administration-guide/clusters.html#GSHAG00005[Administering GlassFish Server Clusters]" in
-Eclipse GlassFish Server High Availability Administration
-Guide
-* "link:../ha-administration-guide/instances.html#GSHAG00006[Administering GlassFish Server Instances]" in
-Eclipse GlassFish Server High Availability Administration
-Guide
-
-[[gktpt]][[GSQSG00048]][[session-persistence-and-failover]]
-
-Session Persistence and Failover
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Storing session state data enables the session state to be recovered
-after the failover of an instance in a cluster. Recovering the session
-state enables the session to continue without loss of information.
-GlassFish Server supports in-memory session replication on other servers
-in the cluster for maintaining HTTP session and stateful session bean
-data.
-
-For more information, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High
-Availability Session Persistence and Failover]" in GlassFish Server Open
-Source Edition High Availability Administration Guide.
-
-[[gksbz]][[GSQSG00049]][[load-balancing-for-clustered-configurations]]
-
-Load Balancing for Clustered Configurations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server supports web server and hardware-based load balancing
-for clustered configurations. A load balancer is deployed with a
-cluster, and provides the following features:
-
-* Allows an application or service to be scaled horizontally across
-multiple physical (or logical) hosts yet still present the user with a
-single URL
-* Insulates the user from host failures or server crashes when used with
-session persistence
-* Enhances security by hiding the internal network from the user
-
-Eclipse GlassFish Server is compatible with the Apache HTTP
-server `mod_jk` module for load balancing.
-
-GlassFish Server load balancing configurations can vary widely depending
-on the needs of your enterprise. For complete information about
-configuring load balancing in GlassFish Server, see the following
-documentation:
-
-* "link:../ha-administration-guide/http-load-balancing.html#GSHAG00009[Configuring HTTP Load Balancing]" in GlassFish
-Server Open Source Edition High Availability Administration Guide
-* "link:../ha-administration-guide/rmi-iiop.html#GSHAG00013[RMI-IIOP Load Balancing and Failover]" in GlassFish
-Server Open Source Edition High Availability Administration Guide
-
-[[ggkzh]][[GSQSG00040]][[for-more-information]]
-
-For More Information
-~~~~~~~~~~~~~~~~~~~~
-
-Additional resources are available to help you learn more about
-GlassFish Server 5.1 and related technologies.
-
-The following resources are described here:
-
-* link:#ghhir[Product Documentation]
-* link:#ghhis[GlassFish Communities]
-* link:#giyjo[Tutorials]
-* link:#gintm[Java EE 8 Samples]
-
-[[ghhir]][[GSQSG00050]][[product-documentation]]
-
-Product Documentation
-^^^^^^^^^^^^^^^^^^^^^
-
-Comprehensive product documentation is available and includes the
-following.
-
-* link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source Edition Release Notes]:
-Latest details about new features, known issues, and tips for installing
-and working with GlassFish Server software.
-* http://docs.oracle.com/cd/E26576_01/index.html[Oracle GlassFish Server
-Documentation Library]
-(`http://docs.oracle.com/cd/E26576_01/index.html`): Collection of guides
-that document Oracle GlassFish Server features and functions.
-* https://javaee.github.io/glassfish/documentation[GlassFish Server Open
-Source Edition Product Documentation page]
-(`https://javaee.github.io/glassfish/documentation`): Collection of
-guides that document Eclipse GlassFish Server features and
-functions.
-
-[[ghhis]][[GSQSG00051]][[glassfish-communities]]
-
-GlassFish Communities
-^^^^^^^^^^^^^^^^^^^^^
-
-The following resources will help you connect with other users, learn
-more about GlassFish Server, and get help if needed.
-
-* https://javaee.groups.io/g/javaee[GlassFish Forum]
-(`https://javaee.groups.io/g/javaee`): +
-Public online discussion forum that provides community support and tips
-for working with GlassFish Server.
-* https://javaee.github.io/glassfish/documentation[GlassFish
-Documentation Project]
-(`https://javaee.github.io/glassfish/documentation`): Documentation
-community site that provides details about GlassFish Server
-documentation and how you can participate.
-
-[[giyjo]][[GSQSG00052]][[tutorials]]
-
-Tutorials
-^^^^^^^^^
-
-The following tutorials provide working examples and detailed
-instructions for creating enterprise applications for the Java EE 8
-platform.
-
-* http://docs.oracle.com/javaee/7/firstcup/doc/[Your First Cup: An
-Introduction to the Java EE Platform]
-(`https://javaee.github.io/firstcup/`). For beginning Java EE
-programmers, this short tutorial explains the entire process for
-developing a simple enterprise application. The sample application is a
-web application that consists of a component that is based on the
-Enterprise JavaBeans specification, a JAX-RS web service, and a
-JavaServer Faces component for the web front end.
-* http://docs.oracle.com/javaee/7/tutorial/doc/[The Java EE 8 Tutorial]
-(`https://javaee.github.io/tutorial/`). This comprehensive tutorial
-explains how to use Java EE 8 platform technologies and APIs to develop
-Java EE applications.
-
-[[gintm]][[GSQSG00053]][[java-ee-8-samples]]
-
-Java EE 8 Samples
-^^^^^^^^^^^^^^^^^
-
-The sample applications demonstrate Java EE technologies. The samples
-are available as part of the Java EE SDK distributions. The SDK
-distributions are available from the
-http://www.oracle.com/technetwork/java/javaee/downloads/index.html[Java
-EE SDK downloads page]
-(`http://www.oracle.com/technetwork/java/javaee/downloads/index.html`).
-
-
diff --git a/docs/quick-start-guide/src/main/jbake/content/preface.adoc b/docs/quick-start-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index a5d6502..0000000
--- a/docs/quick-start-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,225 +0,0 @@
-type=page
-status=published
-title=Preface
-next=basic-features.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[gkamj]][[preface]]
-
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This book demonstrates key features of the GlassFish Server product and
-enables you to quickly learn the basics. Step-by-step procedures
-introduce you to product features and enable you to use them
-immediately.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 5.0 is developed through the GlassFish project
-open-source community at `https://javaee.github.io/glassfish/`. The
-GlassFish project provides a structured process for developing the
-GlassFish Server platform that makes the new features of the Java EE
-platform available faster, while maintaining the most important feature
-of Java EE: compatibility. It enables Java developers to access the
-GlassFish Server source code and to contribute to the development of the
-GlassFish Server. The GlassFish project is designed to encourage
-communication between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-
-[[ghpbz]][[glassfish-server-documentation-set]]
-
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[fwbkx]][[typographic-conventions]]
-
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[fquvc]][[symbol-conventions]]
-
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
diff --git a/docs/quick-start-guide/src/main/jbake/content/title.adoc b/docs/quick-start-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 95dc697..0000000
--- a/docs/quick-start-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,48 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Quick Start Guide, Release 5.1
-next=preface.html
-prev=toc.html
-~~~~~~
-Eclipse GlassFish Server Quick Start Guide, Release 5.1
-=======================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Quick Start Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This book demonstrates key features of the GlassFish Server product and
-enables you to quickly learn the basics. Step-by-step procedures
-introduce you to product features and GlassFish Server Open Source
-Edition 5.1 Quick Start Guide Eclipse GlassFish Server 5.1
-Quick Start Guide you to use them immediately.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Quick Start Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/quick-start-guide/src/main/jbake/jbake.properties b/docs/quick-start-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/quick-start-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/quick-start-guide/src/main/jbake/templates/footer.ftl b/docs/quick-start-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/quick-start-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/quick-start-guide/src/main/jbake/templates/header.ftl b/docs/quick-start-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/quick-start-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/quick-start-guide/src/main/jbake/templates/menu.ftl b/docs/quick-start-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/quick-start-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/quick-start-guide/src/main/jbake/templates/page.ftl b/docs/quick-start-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/quick-start-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/reference-manual/README.md b/docs/reference-manual/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/reference-manual/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/reference-manual/pom.xml b/docs/reference-manual/pom.xml
index a9bb9a6..6b2eb45 100644
--- a/docs/reference-manual/pom.xml
+++ b/docs/reference-manual/pom.xml
@@ -22,11 +22,14 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>reference-manual</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Reference Manual, Release 5.1</name>
+    <name>Eclipse GlassFish Server Reference Manual, Release 7</name>
+
+    <properties>
+      <pdf.toclevels>1</pdf.toclevels>
+    </properties>
 </project>
diff --git a/docs/reference-manual/src/main/asciidoc/add-library.adoc b/docs/reference-manual/src/main/asciidoc/add-library.adoc
new file mode 100644
index 0000000..f841dbb
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/add-library.adoc
@@ -0,0 +1,154 @@
+type=page
+status=published
+title=add-library
+next=add-resources.html
+prev=manvol1.html
+~~~~~~
+
+= add-library
+
+[[add-library-1]][[GSRFM00818]][[add-library]]
+
+== add-library
+
+Adds one or more library JAR files to {productName}
+
+[[sthref7]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] add-library [--help]
+[--type={common|ext|app}] [--upload={false|true}]
+library-file-path [library-file-path ... ]
+----
+
+[[sthref8]]
+
+=== Description
+
+The `add-library` subcommand adds one or more library archive files to
+{productName}.
+
+The `--type` option specifies the library type and the {productName}
+directory to which the library is added.
+
+The library-file-path operand is the path to the JAR file that contains
+the library to be added. To specify multiple libraries, specify multiple
+paths separated by spaces.
+
+[NOTE]
+====
+The library archive file is added to the DAS. For common and extension
+libraries, you must restart the DAS so the libraries are picked up by
+the server runtime. To add the libraries to other server instances,
+synchronize the instances with the DAS by restarting them.
+====
+
+This subcommand is supported in remote mode only.
+
+[[sthref9]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+
+`--help`::
+
+`-?`::
+  Displays the help text for the subcommand.
+
+`--type`::
+  Specifies the library type and the {productName} directory to
+  which the library is added. Valid values are as follows:
+  `common`;;
+    Adds the library files to the Common class loader directory,
+    domain-dir``/lib``. This is the default.
+  `ext`;;
+    Adds the library files to the Java optional package directory,
+    domain-dir``/lib/ext``.
+  `app`;;
+    Adds the library files to the application-specific class loader
+    directory, domain-dir``/lib/applibs``.
+
++
+For more information about these directories, see
+"link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]"
+in {productName} Application Development Guide.
+
+`--upload`::
+  Specifies whether the subcommand uploads the file to the DAS. In most
+  situations, this option can be omitted.
+  Valid values are as follows:
+  `false`;;
+    The subcommand does not upload the file and attempts to access the
+    file through the specified file name. If the DAS cannot access the
+    file, the subcommand fails. +
+    For example, the DAS might be running as a different user than the
+    administration user and does not have read access to the file. In
+    this situation, the subcommand fails if the `--upload` option is `false`.
+  `true`;;
+    The subcommand uploads the file to the DAS over the network connection.
+
++
+The default value depends on whether the DAS is on the host where the
+subcommand is run or is on a remote host.
+
+* If the DAS is on the host where the subcommand is run, the default is `false`.
+* If the DAS is on a remote host, the default is `true`.
++
+If a directory filepath is specified, this option is ignored.
+
+[[sthref10]]
+
+=== Operands
+
+library-file-path::
+  The paths to the archive files that contain the libraries that are to
+  be added. You can specify an absolute path or a relative path. +
+  If the `--upload` option is set to `true`, this is the path to the
+  file on the local client machine. If the `--upload` option is set to
+  `false`, this is the path to the file on the server machine.
+
+[[sthref11]]
+
+=== Examples
+
+[[GSRFM824]][[sthref12]]
+
+==== Example 1   Adding Libraries
+
+This example adds the library in the archive file `mylib.jar` to the
+application-specific class loader directory on the default server
+instance.
+
+[source]
+----
+asadmin> add-library --type app /tmp/mylib.jar
+Command add-library executed successfully.
+----
+
+[[sthref13]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref14]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-libraries.html#list-libraries-1[`list-libraries`(1)],
+link:remove-library.html#remove-library-1[`remove-library`(1)]
+
+"link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in {productName} Application Development Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/add-resources.adoc b/docs/reference-manual/src/main/asciidoc/add-resources.adoc
new file mode 100644
index 0000000..bcc8401
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/add-resources.adoc
@@ -0,0 +1,189 @@
+type=page
+status=published
+title=add-resources
+next=apply-http-lb-changes.html
+prev=add-library.html
+~~~~~~
+
+= add-resources
+
+[[add-resources-1]][[GSRFM00001]][[add-resources]]
+
+== add-resources
+
+Creates the resources specified in an XML file
+
+[[sthref15]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] add-resources [--help]
+[--target target]
+[--upload={false|true}] xml-file-name
+----
+
+[[sthref16]]
+
+=== Description
+
+The `add-resources` subcommand creates the resources named in the
+specified XML file. The resources that can be created with this
+subcommand are listed in See Also in this help page.
+
+The `--target` option specifies the target for which you are creating
+the resources. If this option specifies the domain, the resources are
+added only to the configuration of the domain administration server
+(DAS). If this option specifies any other target, the resources are
+added to the configuration of the DAS and references are added to the
+resources from the specified target.
+
+The xml-file-name operand is the path to the XML file that contains the
+resources to be created. The `DOCTYPE` must be specified as
+`http://glassfish.org/dtds/glassfish-resources_1_5.dtd` in the
+`resources.xml` file.
+
+This subcommand is supported in remote mode only.
+
+[[sthref17]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you are creating the resources. +
+  Valid values are as follows:
+
+  `server`;;
+    Creates the resources for the default server instance `server` and
+    is the default value.
+  `domain`;;
+    Creates the resources for the domain.
+  cluster-name;;
+    Creates the resources for every server instance in the cluster.
+  instance-name;;
+    Creates the resources for a particular {productName} instance.
+
+`--upload`::
+  Specifies whether the subcommand uploads the file to the DAS. In most
+  situations, this option can be omitted. Valid values are as follows:
+
+  `false`;;
+    The subcommand does not upload the file and attempts to access the
+    file through the specified file name. If the DAS cannot access the
+    file, the subcommand fails. +
+    For example, the DAS might be running as a different user than the
+    administration user and does not have read access to the file. In
+    this situation, the subcommand fails if the `--upload` option is
+    `false`.
+  `true`;;
+    The subcommand uploads the file to the DAS over the network
+    connection.
+
++
+The default value depends on whether the DAS is on the host where the
+  subcommand is run or is on a remote host.
+
+  * If the DAS is on the host where the subcommand is run, the default is `false`.
+  * If the DAS is on a remote host, the default is `true`.
+
+[[sthref18]]
+
+=== Operands
+
+xml-file-name::
+  The path to the XML file that contains the resources that are to be
+  created. You can specify an absolute path, only the file name, or a
+  relative path.
++
+  * If you specify an absolute path, the XML file can be anywhere.
+  * If you specify only the file name, the XML file must reside in the
+  domain-dir``/config`` directory on the DAS host. This requirement must
+  be met even if you run the subcommand from another host.
+  * If you specify a relative path, the XML file must be in the relative   directory.
+
++
+An example XML file follows.
++
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE resources PUBLIC
+   "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions //EN"
+   "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
+<resources>
+ <jdbc-connection-pool name="SPECjPool" steady-pool-size="100"
+   max-pool-size="150" max-wait-time-in-millis="60000"
+   pool-resize-quantity="2" idle-timeout-in-seconds="300"
+   is-isolation-level-guaranteed="true"
+   is-connection-validation-required="false"
+   connection-validation-method="auto-commit"
+   fail-all-connections="false"
+   datasource-classname="oracle.jdbc.pool.OracleDataSource">
+  <property name="URL"
+    value="jdbc:oracle:thin:@iasperfsol12:1521:specdb"/>
+  <property name="User" value="spec"/>
+  <property name="Password" value="spec"/>
+  <property name="MaxStatements" value="200"/>
+  <property name="ImplicitCachingEnabled" value="true"/>
+ </jdbc-connection-pool>
+ <jdbc-resource enabled="true" pool-name="SPECjPool"
+   jndi-name="jdbc/SPECjDB"/>
+</resources>
+----
+
+[[sthref19]]
+
+=== Examples
+
+[[GSRFM445]][[sthref20]]
+
+==== Example 1   Adding Resources
+
+This example creates resources using the contents of the XML file
+`resource.xml`.
+
+[source]
+----
+asadmin> add-resources resource.xml
+Command : Connector connection pool jms/testQFactoryPool created.
+Command : Administered object jms/testQ created.
+Command : Connector resource jms/testQFactory created.
+Command : Resource adapter config myResAdapterConfig created successfully
+Command : JDBC connection pool DerbyPoolA created successfully.
+Command : JDBC resource jdbc/__defaultA created successfully.
+Command add-resources executed successfully.
+----
+
+[[sthref21]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref22]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
+link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
+link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
+link:create-javamail-resource.html#create-javamail-resource-1[`create-javamail-resource`(1)],
+link:create-custom-resource.html#create-custom-resource-1[`create-custom-resource`(1)],
+link:create-connector-resource.html#create-connector-resource-1[`create-connector-resource`(1)],
+link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
+link:create-admin-object.html#create-admin-object-1[`create-admin-object`(1)],
+link:create-resource-adapter-config.html#create-resource-adapter-config-1[`create-resource-adapter-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/appclient.adoc b/docs/reference-manual/src/main/asciidoc/appclient.adoc
new file mode 100644
index 0000000..273b4dd
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/appclient.adoc
@@ -0,0 +1,217 @@
+type=page
+status=published
+title=appclient
+next=asadmin.html
+prev=manvol1m.html
+~~~~~~
+
+= appclient
+
+[[appclient-1m]][[GSRFM00262]][[appclient]]
+
+== appclient
+
+Launches the Application Client Container and invokes the client
+application typically packaged in the application JAR file
+
+[[sthref2357]]
+
+=== Synopsis
+
+[source]
+----
+appclient [client_application_classfile | -client client_application_jar]
+[-mainclass main_class_name | -name display_name]
+[-xml sun-acc.xml file] [-textauth]
+[-targetserver host[:port][,host[:port]...]]
+[-user username] [-passwordfile password_file]
+[application-options]
+
+appclient [jvm-options]
+[-mainclass main_class_name | -name display_name]
+[-xml client_config_xml_file] [-textauth]
+[-targetserver host[:port][,host[:port]...]]
+[-user username] [-passwordfile password_file]
+class-selector [application-options]
+----
+
+[[sthref2358]]
+
+=== Description
+
+Use the `appclient` command to launch the Application Client Container
+and invoke a client application that is typically packaged in an
+application JAR file. The application client JAR file is specified and
+created during deployment by the Administration Console or the
+`asadmin deploy` command with the `--retrieve` option. You can also
+retrieve the client JAR file using the `asadmin get-client-stubs`
+command.
+
+The Application Client Container is a set of Java classes, libraries,
+and other files that are required to execute a first-tier application
+client program on a Virtual Machine for the Java platform (JVM machine).
+The Application Client Container communicates with the server using
+RMI-IIOP.
+
+The client JAR file that is retrieved after deploying an application
+should be passed with the `-client` or `-jar` option when running the
+`appclient` utility. The client JAR file name is of the form
+app-name`Client.jar`. For multiple application clients in an EAR file,
+you must use the `-mainclass` or `-name` option to specify which client
+to invoke.
+
+If the application client is a stand-alone module or the only client in
+an EAR file, the Application Client Container can find the client
+without using the `-mainclass` or `-name` options. If you provide a
+`-mainclass` or `-name` value that does not match what is in the client,
+the Application Client Container launches the client anyway but issues a
+warning that the selection did not match the information in the client.
+The warning also displays what the actual main class and name values are
+for the client.
+
+[[sthref2359]]
+
+=== Options
+
+jvm-options::
+  optional; you can set JVM options for the client application. These
+  can be any valid `java` command options except `-client` or `-jar`.
+  JVM options can be intermixed with other `appclient` command options
+  as long as both types of options appear before the class-selector.
+client_application_classfile::
+  optional; the file system pathname of the client application `.class`
+  file. A relative pathname must be relative to the current directory.
+  This class file must contain the `main()` method to be invoked by the
+  Application Client Container. +
+  If you use client_application_classfile and the class is dependent on
+  other user classes, you must also set the classpath. You can either
+  use the `-classpath` JVM option in the `appclient` command or set the
+  `CLASSPATH` environment variable. For more information about setting a
+  classpath, see Setting the Class Path, Oracle Solaris Version
+  (`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html`)
+  or Setting the Class Path, Windows Version
+  (`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html`).
+`-client`::
+  optional; the name and location for the client JAR file.
+`-mainclass`::
+  optional; the full classname of the main client application as
+  specified in the `Main-Class` entry in the `MANIFEST.MF` file. Used
+  for a multiple client applications. By default, uses the class
+  specified in the `client jar`. For example,
+  `com.example.test.AppClient`.
+`-name`::
+  optional; the display name for the client application. Used for
+  multiple client applications. By default, the display name is
+  specified in the client jar `application-client.xml` file which is
+  identified by the `display-name` attribute.
+`-xml`::
+  optional if using the default domain, instance, and name
+  (`sun-acc.xml`), otherwise it is required; identifies the name and
+  location of the client configuration XML file. If not specified,
+  defaults to the `sun-acc.xml` file in the domain-dir``/config``
+  directory.
+`-textauth`::
+  optional; used to specify using text format authentication when
+  authentication is needed.
+`-targetserver`::
+  optional; a comma-separated list of one or more server specifications
+  for ORB endpoints. Each server specification must include at least the
+  host. Optionally, a server specification can include the port as well.
+  If the port is omitted from a server specification, the default value,
+  `3700`, is used for that host.
+`-user`::
+  optional; the application user who is authorized to have access to
+  particular guarded components in the application, such as EJB
+  components.
+`-passwordfile`::
+  optional; specifies the name, including the full path, of a file that
+  contains the password for application clients in the following format:
++
+[source]
+----
+PASSWORD=appclient-password
+----
+  If this option is omitted, the password is specified interactively at
+  the command prompt.
++
+[CAUTION]
+====
+Avoid specifying a password interactively at the command prompt. Such
+a password can be seen by users who can run commands to display
+running processes and the commands to start them, such as `ps`.
+====
++
+For security reasons, a password that is specified as an environment
+variable is not read by the `appclient` utility.
+class-selector::
+  required; you must specify the client application class using one of
+  the following class selectors.
+
+  `-jar` jar-file;;
+    the name and location of the client JAR file. The application client
+    JAR file is specified and created during deployment by the
+    `asadmin deploy` command. If specified, the `-classpath` setting is
+    ignored in deference to the `Class-Path` setting in the client JAR
+    file's manifest.
+  class-name;;
+    the fully qualified name of the application client's main class. The
+    Application Client Container invokes the `main` method of this class
+    to start the client. For example, `com.example.test.AppClient`. +
+    If you use class-name as the class selector, you must also set the
+    classpath. You can either use the `-classpath` JVM option in the
+    `appclient` command or set the `CLASSPATH` environment variable. For
+    more information about setting a classpath, see Setting the Class
+    Path, Oracle Solaris Version
+    (`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html`)
+    or Setting the Class Path, Windows Version
+    (`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html`).
+
+application-options::
+  optional; you can set client application arguments.
+
+[[sthref2360]]
+
+=== Examples
+
+[[GSRFM804]][[sthref2361]]
+
+==== Example 1   Using the `appclient` command
+
+[source]
+----
+appclient -xml sun-acc.xml -jar myclientapp.jar scott sample
+----
+
+Where: `sun-acc.xml` is the name of the client configuration XML file,
+`myclientapp.jar` is the client application `.jar` file, and `scott` and
+`sample` are arguments to pass to the application. If `sun-acc.xml` and
+`myclientapp.jar` are not in the current directory, you must give the
+absolute path locations; otherwise the relative paths are used. The
+relative path is relative to the directory where the command is being
+executed.
+
+[[sthref2362]]
+
+=== Attributes
+
+See
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
+for descriptions of the following attributes:
+
+[width="100%",cols="50%,50%",options="header",]
+|===
+|ATTRIBUTE TYPE |ATTRIBUTE VALUE
+|Interface Stability |Unstable
+|===
+
+
+[[sthref2363]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get-client-stubs.html#get-client-stubs-1[`get-client-stubs`(1)],
+link:package-appclient.html#package-appclient-1m[`package-appclient`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/application.adoc b/docs/reference-manual/src/main/asciidoc/application.adoc
new file mode 100644
index 0000000..d212e1c
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/application.adoc
@@ -0,0 +1,37 @@
+type=page
+status=published
+title=application
+next=configuration.html
+prev=manvol5asc.html
+~~~~~~
+
+= application
+
+[[application-5asc]][[GSRFM00265]][[application]]
+
+== application
+
+Server-side Java applications and web services
+
+[[sthref2392]]
+
+=== Description
+
+The Jakarta EE platform enables applications to access systems that are
+outside of the application server. Applications connect to these systems
+through resources. The {productName} infrastructure supports the
+deployment of many types of distributed applications and is an ideal
+foundation for building applications based on Service Oriented
+Architectures (SOA). SOA is a design methodology aimed at maximizing the
+reuse of application services. These features enable you to run scalable
+and highly available Jakarta EE applications.
+
+[[sthref2393]]
+
+=== See Also
+
+link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
+link:deploy.html#deploy-1[`deploy`(1)],
+link:list-applications.html#list-applications-1[`list-applications`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/apply-http-lb-changes.adoc b/docs/reference-manual/src/main/asciidoc/apply-http-lb-changes.adoc
new file mode 100644
index 0000000..b7fd206
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/apply-http-lb-changes.adoc
@@ -0,0 +1,116 @@
+type=page
+status=published
+title=apply-http-lb-changes
+next=attach.html
+prev=add-resources.html
+~~~~~~
+
+= apply-http-lb-changes
+
+[[apply-http-lb-changes-1]][[GSRFM00002]][[apply-http-lb-changes]]
+
+== apply-http-lb-changes
+
+Applies load balancer configuration changes to the load balancer
+
+[[sthref23]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] apply-http-lb-changes [--help]
+lb-name
+----
+
+[[sthref24]]
+
+=== Description
+
+Use the `apply-http-lb-changes` subcommand to apply the changes in
+the load balancer configuration to the physical load balancer. The load
+balancer must already exist. To create a physical load balancer, use the
+`create-http-lb` subcommand.
+
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+
+[[sthref25]]
+
+Context
+
+The Load Balancer distributes the workload among multiple {productName} instances , increasing the overall throughput of the
+system. The Load Balancer also enables requests to failover from one
+server instance to another. For HTTP session information to persist,
+configure HTTP session persistence.
+
+
+[NOTE]
+====
+The Load Balancer Plugin is only available with {productName},
+and is not available with {productName}. For
+{productName}, it is possible to use the `mod_jk`
+module to configure load balancing on the Apache HTTP server.
+====
+
+
+For more information about configuring load balancing with
+{productName}, refer to the online help in the {productName}
+Administration Console.
+
+[[sthref26]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref27]]
+
+=== Operands
+
+lb-name::
+  The name of the load balancer to which changes are applied. The load
+  balancer must already exist. You can create it with the
+  `create-http-lb` subcommand.
+
+[[sthref28]]
+
+=== Examples
+
+[[GSRFM446]][[sthref29]]
+
+==== Example 1   Using the `apply-http-lb-changes` subcommand
+
+This example applies configuration changes to a load balancer named
+`mylb`.
+
+[source]
+----
+asadmin> apply-http-lb-changes mylb
+Command apply-http-lb-changes executed successfully.
+----
+
+[[sthref30]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref31]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
+link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/asadmin.adoc b/docs/reference-manual/src/main/asciidoc/asadmin.adoc
new file mode 100644
index 0000000..47817f3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/asadmin.adoc
@@ -0,0 +1,841 @@
+type=page
+status=published
+title=asadmin
+next=debug-asadmin.html
+prev=appclient.html
+~~~~~~
+
+= asadmin
+
+The script content on this page is for navigation purposes only and does
+not alter the content in any way.
+
+[[asadmin-1m]][[GSRFM00263]][[asadmin]]
+
+== asadmin
+
+Utility for performing administrative tasks for {productName}
+
+[[sthref2364]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [--host host]
+[--port port]
+[--user admin-user]
+[--passwordfile filename]
+[--terse={true|false}]
+[--secure={false|true}]
+[--echo={true|false}]
+[--interactive={true|false}]
+[--detach={true|false}]
+[--help]
+[subcommand [options] [operands]]
+----
+
+[[sthref2365]]
+
+=== Description
+
+Use the `asadmin` utility to perform administrative tasks for {productName}. You can use this utility instead of the Administration
+Console interface.
+
+=== 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.
+
+=== asadmin Utility Options and Subcommand Options
+
+Options control the behavior of the `asadmin` utility and its
+subcommands. Options are also 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 "Options" section
+of this help information.
+
+* 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
+help information for the subcommand.
+
+A subcommand option may have the same name as an `asadmin` utility
+option, but the effects of the two options are different.
+
+The `asadmin` utility options and some subcommand options have a long
+form and a short form.
+
+* The long form of an option has two dashes (`--`) followed by an option word.
+* The short form of an option has a single dash (`-`) followed by a
+single character.
+
+For example, the long form and the short form of the option for
+specifying terse output are as follows:
+
+* Long form: `--terse`
+* Short form: `-t`
+
+Most options require argument values, except Boolean options, which
+toggle to enable or disable a feature.
+
+==== Operands of asadmin 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.
+
+Escape Characters in Options for the asadmin Utility
+
+Escape characters are required in options of the `asadmin` utility for
+the following types of characters:
+
+* Meta characters in the UNIX operating system. These characters have
+special meaning in a shell. Meta characters in the UNIX operating system
+include: `\/,.!$%^&*|{}[]"'\`~;`.
++
+To disable these characters, use the backslash (`\`) escape character or
+enclose the entire command-line argument in single quote (`'`)
+characters.
++
+The following examples illustrate the effect of escape characters on the
+`*` character. In these examples, the current working directory is the
+domains directory.
+
+** The following command, without the escape character, echoes all files
+in the current directory:
++
+[source]
+----
+prompt% echo *
+domain1 domain2
+----
+
+** The following command, in which the backslash (`\`) escape character
+precedes the `*` character, echoes the `*` character:
++
+[source]
+----
+prompt% echo \*
+*
+----
+
+** The following command, in which the `*` character is enclosed in
+single quote (`'`) characters, echoes the `*` character:
++
+[source]
+----
+prompt% echo '*'
+*
+----
+The escape character is also a special character in the UNIX operating
+system and in the Java language. Therefore, in the UNIX operating system
+and in multimode, you must apply an additional escape character to every
+escape character in the command line. This requirement does not apply to
+the Windows operating system.
++
+For example, the backslash (`\`) UNIX operating system meta character in
+the option argument `Test\Escape\Character` is specified on UNIX and
+Windows systems as follows:
+
+** On UNIX systems, each backslash must be escaped with a second backslash:
++
+[source]
+----
+Test\\Escape\\Character
+----
+
+** On Windows systems, no escape character is required:
++
+[source]
+----
+Test\Escape\Character
+----
+
++
+[NOTE]
+====
+In contexts where meta characters in the UNIX operating system are
+unambiguous, these characters do not require escape characters. For
+example, in the link:set.html#set-1[`set`(1)] subcommand, the value that
+is to be set is specified as name`=`value. Because name can never
+include an equals sign, no escape character is required to disable the
+equals sign. Therefore, everything after the equals sign is an
+uninterpreted string that the `set` subcommand uses unchanged.
+====
+
+* Spaces. The space is the separator in the command-line interface.
+To distinguish a space in a command-line argument from the separator in the
+command-line interface, the space must be escaped as follows:
+
+** For the UNIX operating system in single mode and multimode, and for
+all operating systems in multimode, use the backslash (`\`) escape
+character or enclose the entire command-line argument in single quote
+(`'`) characters or double quote (") characters.
+
+** For the Windows operating system in single mode, enclose the entire
+command-line argument in double quote (") characters.
+
+* Option delimiters. The `asadmin` utility uses the colon character
+(`:`) as a delimiter for some options. The backslash (`\`) escape
+character is required if the colon is part of any of the following items:
+
+** A property
+
+** An option of the Virtual Machine for the Java platform (Java Virtual
+Machine or JVM machine)link:#sthref2366[^Foot 1 ^]
++
+For example, the operand of the subcommand
+link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)]
+specifies JVM machine options in the following format:
++
+[source]
+----
+(jvm-option-name[=jvm-option-value])
+[:jvm-option-name[=jvm-option-value]]*
+----
+Multiple JVM machine options in the operand of the `create-jvm-options`
+subcommand are separated by the colon (`:`) delimiter. If
+jvm-option-name or jvm-option-value contains a colon, the backslash
+(`\`) escape character is required before the colon.
++
+The backslash (`\`) escape character is also required before a single
+quote (`'`) character or a double quote (") character in an option that
+uses the colon as a delimiter.
++
+When used without single quote (') characters, the escape character
+disables the option delimiter in the command-line interface.
++
+For the UNIX operating system in single mode and multimode, and for all
+operating systems in multimode, the colon character and the backslash
+character in an option that uses the colon as a delimiter must be
+specified as follows:
+
+** To pass a literal backslash to a subcommand, two backslashes are
+required. Therefore, the colon (`:`) must be escaped by two backslashes
+(`\\`).
+
+** To prevent a subcommand from treating the backslash as a special
+character, the backslash must be escaped. As a result, two literal
+backslashes (`\\`) must be passed to the subcommand. To prevent the
+shell from interpreting these backslashes as special characters, each
+backslash must be escaped. Therefore, the backslash must be specified by
+a total of four backslashes (`\\\\`).
++
+For the Windows operating system in single mode, a backslash (`\`) is
+required to escape the colon (`:`) and the backslash (`\`) in an option
+that uses the colon as a delimiter.
+
+Instead of using the backslash (`\`) escape character, you can use the
+double quote (") character or single quote (') character. The effects of
+the different types of quote characters on the backslash (`\`) character
+are as follows:
+
+* Between double quote (") characters, the backslash (`\`) character is
+a special character.
+* Between single quote (') characters, the backslash (`\`) character is
+not a special character.
+
+==== Requirements for Using the --secure Option
+
+The requirements for using the `--secure` option are as follows:
+
+* The domain that you are administering must be configured for security.
+* The `security-enabled` attribute of the `http-listener` element in the
+  DAS configuration must be set to `true`.
+
+To set this attribute, use the `set` subcommand.
+
+===== Server Restart After Creation or Deletion
+
+When you use the `asadmin` subcommands to create or delete a
+configuration item, you must restart the DAS for the change to take
+effect. To restart the DAS, use the
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)] subcommand.
+
+==== Help Information for Subcommands and the asadmin Utility
+
+To obtain help information for an `asadmin` utility subcommand, specify
+the subcommand of interest as the operand of the `help` subcommand. For
+example, to obtain help information for the
+link:start-domain.html#start-domain-1[`start-domain`(1)] subcommand,
+type:
+
+[source]
+----
+asadmin help start-domain
+----
+
+If you run the `help` subcommand without an operand, this help
+information for the `asadmin` utility is displayed.
+
+To obtain a listing of available `asadmin` subcommands, use the
+link:list-commands.html#list-commands-1[`list-commands`(1)] subcommand.
+
+[[sthref2367]]
+
+=== Options
+
+`--host`::
+`-H`::
+  The machine name where the DAS is running. The default value is
+  `localhost`.
+`--port`::
+`-p`::
+  The HTTP port or HTTPS port for administration. This port is the port
+  in the URL that you specify in your web browser to manage the domain.
+  For example, in the URL `http://localhost:4949`, the port is 4949. +
+  The default port number for administration is 4848.
+`--user`::
+`-u`::
+  The user name of the authorized administrative user of the DAS. +
+  If you have authenticated to a domain by using the `asadmin login`
+  command, you need not specify the `--user` option for subsequent
+  operations on the domain.
+`--passwordfile`::
+`-W`::
+  Specifies the name, including the full path, of a file that contains
+  password entries in a specific format. +
+  Note that any password file created to pass as an argument by using
+  the `--passwordfile` option should be protected with file system
+  permissions. Additionally, any password file being used for a
+  transient purpose, such as setting up SSH among nodes, should be
+  deleted after it has served its purpose. +
+  The entry for a password must have the `AS_ADMIN_` prefix followed by
+  the password name in uppercase letters, an equals sign, and the password. +
+  The entries in the file that are read by the `asadmin` utility are as follows:
++
+--
+  * ``AS_ADMIN_PASSWORD=``administration-password
+  * ``AS_ADMIN_MASTERPASSWORD=``master-password
+--
+
++
+The entries in this file that are read by subcommands are as follows:
++
+--
+  * ``AS_ADMIN_NEWPASSWORD=``new-administration-password (read by the
+  link:start-domain.html#start-domain-1[``start-domain``(1)] subcommand)
+  * ``AS_ADMIN_USERPASSWORD=``user-password (read by the
+  link:create-file-user.html#create-file-user-1[``create-file-user``(1)]
+  subcommand)
+  * ``AS_ADMIN_ALIASPASSWORD=``alias-password (read by the
+  link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)]
+  subcommand)
+  * ``AS_ADMIN_MAPPEDPASSWORD=``mapped-password (read by the
+  link:create-connector-security-map.html#create-connector-security-map-1[``create-connector-security-map``(1)]
+  subcommand)
+  * ``AS_ADMIN_WINDOWSPASSWORD=``windows-password (read by the
+  link:create-node-dcom.html#create-node-dcom-1[``create-node-dcom``(1)],
+  link:install-node-dcom.html#install-node-dcom-1[``install-node-dcom``(1)],
+  and link:update-node-ssh.html#update-node-dcom-1[``update-node-dcom``(1)]
+  subcommands)
+  * ``AS_ADMIN_SSHPASSWORD=``sshd-password (read by the
+  link:create-node-ssh.html#create-node-ssh-1[``create-node-ssh``(1)],
+  link:install-node.html#install-node-1[``install-node``(1)],
+  link:install-node-ssh.html#install-node-ssh-1[``install-node-ssh``(1)],
+  and
+  link:update-node-ssh001.html#update-node-ssh-1[``update-node-ssh``(1)]
+  subcommands)
+  * ``AS_ADMIN_SSHKEYPASSPHRASE=``sshd-passphrase (read by the
+  link:create-node-ssh.html#create-node-ssh-1[``create-node-ssh``(1)],
+  link:install-node.html#install-node-1[``install-node``(1)],
+  link:install-node-ssh.html#install-node-ssh-1[``install-node-ssh``(1)],
+  and
+  link:update-node-ssh001.html#update-node-ssh-1[``update-node-ssh``(1)]
+  subcommands)
+  * ``AS_ADMIN_JMSDBPASSWORD=`` jdbc-user-password (read by the
+  link:configure-jms-cluster.html#configure-jms-cluster-1[``configure-jms-cluster``(1)]
+  subcommand)
+--
+
++
+These password entries are stored in clear text in the password file.
+  To provide additional security, the ``create-password-alias`` subcommand
+  can be used to create aliases for passwords that are used by remote
+  subcommands. The password for which the alias is created is stored in
+  an encrypted form. If an alias exists for a password, the alias is
+  specified in the entry for the password as follows:
+
++
+[source]
+----
+AS_ADMIN_password-name=${ALIAS=password-alias-name}
+----
++
+For example:
++
+[source]
+----
+AS_ADMIN_SSHPASSWORD=${ALIAS=ssh-password-alias}
+AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=ssh-key-passphrase-alias}
+----
++
+In domains that do not allow unauthenticated login, all remote
+  subcommands must specify the administration password to authenticate
+  to the DAS. The password can be specified by one of the following means:
+
+  * Through the `--passwordfile` option
+  * Through the link:login.html#login-1[`login`(1)] subcommand
+  * Interactively at the command prompt
+
++
+The `login` subcommand can be used to specify only the administration
+  password. For other passwords that remote subcommands require, use the
+  `--passwordfile` option or specify them at the command prompt. +
+After authenticating to a domain by using the `asadmin login` command,
+  you need not specify the administration password through the
+  `--passwordfile` option for subsequent operations on the domain.
+  However, only the `AS_ADMIN_PASSWORD` option is not required. You
+  still must provide the other passwords, for example,
+  `AS_ADMIN_USERPASSWORD`, when required by individual subcommands, such
+  as
+  link:update-file-user.html#update-file-user-1[`update-file-user`(1)]. +
+For security reasons, a password that is specified as an environment
+  variable is not read by the `asadmin` utility. +
+The master password is not propagated on the command line or an
+  environment variable, but can be specified in the file that the
+  `--passwordfile` option specifies. +
+The default value for `AS_ADMIN_MASTERPASSWORD` is `changeit`.
+
+`--terse`::
+`-t`::
+  If true, output data is very concise and in a format that is optimized
+  for use in scripts instead of for reading by humans. Typically,
+  descriptive text and detailed status messages are also omitted from
+  the output data. Default is false.
+`--secure`::
+`-s`::
+  If set to true, uses SSL/TLS to communicate with the DAS. +
+  The default is false.
+`--echo`::
+`-e`::
+  If set to true, the command-line statement is echoed on the standard
+  output. Default is false.
+`--interactive`::
+`-I`::
+  If set to true, only the required options are prompted. +
+  The default depends on how the `asadmin` utility is run:
+
+  * If the `asadmin` utility is run from a console window, the default
+  is `true`.
+  * If the `asadmin` utility is run without a console window, for
+  example, from within a script, the default is `false`.
+`--detach`::
+  If set to `true`, the specified `asadmin` subcommand is detached and
+  executed in the background in detach mode. The default value is `false`. +
+  The `--detach` option is useful for long-running subcommands and
+  enables you to execute several independent subcommands from one
+  console or script. +
+  The `--detach` option is specified before the subcommand. For example,
+  in single mode, `asadmin --detach` subcommand. +
+  Job IDs are assigned to subcommands that are started using
+  `asadmin --detach`. You can use the
+  link:list-jobs.html#list-jobs-1[`list-jobs`(1)] subcommand to view the
+  jobs and their job IDs, the link:attach.html#attach-1[`attach`(1)]
+  subcommand to reattach to the job and view its status and output, and the
+  link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)]
+  subcommand to configure how long information about the jobs is kept.
+`--help`::
+`-?`::
+  Displays the help text for the `asadmin` utility.
+
+[[sthref2368]]
+
+=== Examples
+
+[[GSRFM805]][[sthref2369]]
+
+==== Example 1   Running an `asadmin` Utility Subcommand in Single Mode
+
+This example runs the
+link:list-applications.html#list-applications-1[`list-applications`(1)]
+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.
+----
+
+[[GSRFM806]][[sthref2370]]
+
+==== Example 2   Specifying an `asadmin` Utility Option With a Subcommand
+
+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.
+----
+
+[[GSRFM807]][[sthref2371]]
+
+==== Example 3   Specifying an `asadmin` Utility Option and a Subcommand Option
+
+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.
+----
+
+[[GSRFM808]][[sthref2372]]
+
+==== Example 4   Escaping a Command-Line Argument With Single Quote Characters
+
+The commands in this example specify the backslash (`\`) UNIX operating
+system meta character and the colon (:) option delimiter in the property
+value `c:\extras\pmdapp`.
+
+For the UNIX operating system in single mode and multimode, and for all
+operating systems in multimode, the backslash (`\`) is required to
+escape the backslash (`\`) meta character and the colon (:) option
+delimiter:
+
+[source]
+----
+asadmin deploy --property extras.home='c\:\\extras\\pmdapp' pmdapp.war
+Application deployed with name pmdapp.
+Command deploy executed successfully
+----
+
+For the Windows operating system in single mode, the single quote (`'`)
+characters eliminate the need for other escape characters:
+
+[source]
+----
+asadmin deploy --property extras.home='c:\extras\pmdapp' pmdapp.war
+Application deployed with name pmdapp.
+Command deploy executed successfully
+----
+
+[[GSRFM809]][[sthref2373]]
+
+==== Example 5   Specifying a UNIX Operating System Meta Character in an Option
+
+The commands in this example specify the backslash (`\`) UNIX operating
+system meta character in the option argument `Test\Escape\Character`.
+
+For the UNIX operating system in single mode and multimode, and for all
+operating systems in multimode, the backslash (`\`) is required to
+escape the backslash (`\`) meta character:
+
+[source]
+----
+asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
+--datasourceclassname sampleClassName
+--description Test\\Escape\\Character
+sampleJDBCConnectionPool
+----
+
+For the Windows operating system in single mode, no escape character is
+required:
+
+[source]
+----
+asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
+--datasourceclassname sampleClassName
+--description Test\Escape\Character
+sampleJDBCConnectionPool
+----
+
+[[GSRFM835]][[sthref2374]]
+
+==== Example 6   Specifying a Command-Line Argument That Contains a Space
+
+The commands in this example specify spaces in the operand
+`C:\Documents and Settings\gfuser\apps\hello.war`.
+
+For all operating systems in single mode or multimode, the entire
+operand can be enclosed in double quote (`"`) characters:
+
+[source]
+----
+asadmin deploy "C:\Documents and Settings\gfuser\apps\hello.war"
+Application deployed with name hello.
+Command deploy executed successfully.
+----
+
+For the UNIX operating system in single mode and multimode, and for all
+operating systems in multimode, the entire command-line argument can be
+enclosed in single quote (`'`) characters:
+
+[source]
+----
+asadmin> deploy 'C:\Documents and Settings\gfuser\apps\hello.war'
+Application deployed with name hello.
+Command deploy executed successfully.
+----
+
+Alternatively, for the UNIX operating system in single mode and
+multimode, and for all operating systems in multimode, the backslash
+(`\`) escape character can be used before each space in the operand. In
+this situation, the backslash (`\`) escape character is required before
+each backslash in the operand:
+
+[source]
+----
+asadmin> deploy C:\\Documents\ and\ Settings\\gfuser\\apps\\hello.war
+Application deployed with name hello.
+Command deploy executed successfully.
+----
+
+[[GSRFM810]][[sthref2375]]
+
+==== Example 7   Specifying a Meta Character and an Option Delimiter Character in a Property
+
+The commands in this example specify the backslash (`\`) UNIX operating
+system meta character and the colon (:) option delimiter character in
+the `--property` option of the
+link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)]
+subcommand.
+
+The name and value pairs for the `--property` option are as follows:
+
+[source]
+----
+user=dbuser
+passwordfile=dbpasswordfile
+DatabaseName=jdbc:derby
+server=http://localhost:9092
+----
+
+For the UNIX operating system in single mode and multimode, and for all
+operating systems in multimode, a backslash (`\`) is required to escape
+the colon (`:`) and the backslash (`\`):
+
+[source]
+----
+asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
+--datasourceclassname com.derby.jdbc.jdbcDataSource
+--property user=dbuser:passwordfile=dbpasswordfile:
+DatabaseName=jdbc\\:derby:server=http\\://localhost\\:9092 javadb-pool
+----
+
+Alternatively, the entire argument to the `--property` option can be
+enclosed in single quote (') characters:
+
+[source]
+----
+asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
+--datasourceclassname com.derby.jdbc.jdbcDataSource
+--property 'user=dbuser:passwordfile=dbpasswordfile:
+DatabaseName="jdbc:derby":server="http://localhost:9092"' javadb-pool
+----
+
+For the Windows operating system in single mode, a backslash (`\`) is
+required to escape only the colon (`:`), but not the backslash (`\`):
+
+[source]
+----
+asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
+--datasourceclassname com.derby.jdbc.jdbcDataSource
+--property user-dbuser:passwordfile-dbpasswordfile:
+DatabaseName=jdbc\:derby:server=http\://localhost\:9092 javadb-pool
+----
+
+For all operating systems, the need to escape the colon (`:`) in a value
+can be avoided by enclosing the value in double quote characters or
+single quote characters:
+
+[source]
+----
+asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
+--datasourceclassname com.derby.jdbc.jdbcDataSource
+--property user=dbuser:passwordfile=dbpasswordfile:
+DatabaseName=\"jdbc:derby\":server=\"http://localhost:9092\" javadb-pool
+----
+
+[[GSRFM811]][[sthref2376]]
+
+==== Example 8   Specifying an Option Delimiter and an Escape Character in a JVM Option
+
+The commands in this example specify the following characters in the
+`-Dlocation=c:\sun\appserver` JVM machine option:
+
+* The colon (`:`) option delimiter
+* The backslash (`\`) escape character
+
+For the UNIX operating system in single mode and multimode, and for all
+operating systems in multimode, these characters must be specified as follows:
+
+* To pass a literal backslash to a subcommand, two backslashes are
+required. Therefore, the colon (`:`) must be escaped by two backslashes
+(`\\`).
+* To prevent the subcommand from treating the backslash as a special
+character, the backslash must be escaped. As a result, two literal
+backslashes (`\\`) must be passed to the subcommand. To prevent the
+shell from interpreting these backslashes as special characters, each
+backslash must be escaped. Therefore, the backslash must be specified by
+a total of four backslashes (`\\\\`).
+
+The resulting command is as follows:
+
+[source]
+----
+asadmin create-jvm-options --target test-server
+-e -Dlocation=c\\:\\\\sun\\\\appserver
+----
+
+For the Windows operating system in single mode, a backslash (`\`) is
+required to escape the colon (`:`) and the backslash (`\`):
+
+[source]
+----
+asadmin create-jvm-options --target test-server
+-e -Dlocation=c\:\\sun\\appserver
+----
+
+[[GSRFM812]][[sthref2377]]
+
+==== Example 9   Specifying an Option That Contains an Escape Character
+
+The commands in this example specify the backslash (`\`) character and
+the double quote (`"`) characters in the `"Hello\App"\authentication`
+option argument.
+
+For the UNIX operating system in single mode and multimode, and for all
+operating systems in multimode, a backslash (`\`) is required to escape
+the double quote character (`"`) and the backslash (`\`):
+
+[source]
+----
+asadmin set-web-env-entry --name="Hello User" --type=java.lang.String
+--value=techscribe --description=\"Hello\\App\"\\authentication hello
+----
+
+For the Windows operating system in single mode, a backslash (`\`) is
+required to escape only the double quote (`"`), but not the backslash
+(`\`):
+
+[source]
+----
+asadmin set-web-env-entry --name="Hello User" --type=java.lang.String
+--value=techscribe --description=\"Hello\App\"\authentication hello
+----
+
+[[sthref2378]]
+
+=== Environment Variables
+
+Environment variables modify the default values of `asadmin` utility
+options as shown in the following table.
+
+[width="100%",cols="44%,56%",options="header",]
+|===
+|Environment Variable |`asadmin` Utility Option
+|`AS_ADMIN_TERSE` |`--terse`
+|`AS_ADMIN_ECHO` |`--echo`
+|`AS_ADMIN_INTERACTIVE` |`--interactive`
+|`AS_ADMIN_HOST` |`--host`
+|`AS_ADMIN_PORT` |`--port`
+|`AS_ADMIN_SECURE` |`--secure`
+|`AS_ADMIN_USER` |`--user`
+|`AS_ADMIN_PASSWORDFILE` |`--passwordfile`
+|`AS_ADMIN_HELP` |`--help`
+|===
+
+
+[[sthref2379]]
+
+=== Attributes
+
+See
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
+for descriptions of the following attributes:
+
+[width="100%",cols="50%,50%",options="header",]
+|===
+|ATTRIBUTE TYPE |ATTRIBUTE VALUE
+|Interface Stability |Unstable
+|===
+
+
+[[sthref2380]]
+
+=== See Also
+
+link:attach.html#attach-1[`attach`(1)],
+link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)],
+link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)],
+link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
+link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],
+link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
+link:deploy.html#deploy-1[`deploy`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:list-commands.html#list-commands-1[`list-commands`(1)],
+link:list-jobs.html#list-jobs-1[`list-jobs`(1)],
+link:login.html#login-1[`login`(1)],
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)],
+link:set.html#set-1[`set`(1)],
+link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:update-file-user.html#update-file-user-1[`update-file-user`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
+
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
+
+'''''
+
+
+Footnote Legend
+
+Footnote 1: The terms "Java Virtual Machine" and "JVM" mean a Virtual
+Machine for the Java platform.
++
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/attach.adoc b/docs/reference-manual/src/main/asciidoc/attach.adoc
new file mode 100644
index 0000000..21f2694
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/attach.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=attach
+next=backup-domain.html
+prev=apply-http-lb-changes.html
+~~~~~~
+
+= attach
+
+[[attach-1]][[GSRFM825]][[attach]]
+
+== attach
+
+Attaches to subcommands that were started using `asadmin --detach` or
+that contain progress information
+
+[[sthref32]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] attach [--help]
+job_id
+----
+
+[[sthref33]]
+
+=== Description
+
+The `attach` subcommand attaches to subcommands that were started using
+the `asadmin` utility option `--detach` or that contain progress
+information. The `--detach` option detaches long-running subcommands and
+executes them in the background in detach mode.
+
+Job IDs are assigned to the subcommands (jobs), and can be used to view
+the status of a job and its output. Use the
+link:list-jobs.html#list-jobs-1[`list-jobs`(1)] subcommand to view the
+jobs and their job IDs, and the
+link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)]
+subcommand to configure how long information about the jobs is kept.
+
+This subcommand is supported in remote mode only.
+
+[[sthref34]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref35]]
+
+=== Operands
+
+job_id::
+  The ID of the job for which you want to view status and output.
+
+[[sthref36]]
+
+=== Examples
+
+[[GSRFM826]][[CBHDFEGB]]
+
+==== Example 1   Attaching to a Subcommand and Checking Its Status
+
+This example attaches to the `deploy` subcommand with a job ID of `20`
+and shows that the job is finished. If a subcommand is still in
+progress, the output displays the current status, for example,
+`64%: Uploading bits`.
+
+[source]
+----
+asadmin> attach 20
+Finished execution of deploy
+Command attach executed successfully.
+----
+
+[[sthref37]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref38]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)],
+link:list-jobs.html#list-jobs-1[`list-jobs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/backup-domain.adoc b/docs/reference-manual/src/main/asciidoc/backup-domain.adoc
new file mode 100644
index 0000000..375bb10
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/backup-domain.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=backup-domain
+next=change-admin-password.html
+prev=attach.html
+~~~~~~
+
+= backup-domain
+
+[[backup-domain-1]][[GSRFM00003]][[backup-domain]]
+
+== backup-domain
+
+Performs a backup on the domain
+
+[[sthref39]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] backup-domain [--help]
+[--long[={false|true}]]
+[--description description-text]
+[--domaindir domain-root-dir]
+[--backupdir backup-directory]
+[--backupconfig backup-config-name]
+[domain_name]
+----
+
+[[sthref40]]
+
+=== Description
+
+The `backup-domain` subcommand backs up files under the named domain.
+
+This subcommand is supported in local mode only in {productName}, and is supported in local mode and remote mode in {productName}.
+
+In {productName}, the domain to be backed up must
+be stopped.
+
+In {productName}, the domain to be backed up must be stopped
+or be suspended using the `suspend-domain`(1) subcommand.
+
+[[sthref41]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Displays detailed information about the backup operation.
++
+  The default value is `false`.
+`--description`::
+  Specifies a description to store in the backup file. The description
+  is displayed as part of the information about a backup file. +
+  The default value has this form:
++
+[source]
+----
+domain-name backup created on YYYY_MM_DD by user user-name
+----
+`--domaindir`::
+  Specifies the domain root directory, the parent directory of the
+  domain to back up. +
+  The default value is as-install``/domains``.
+`--backupdir`::
+  Specifies the directory under which the backup file is to be stored. +
+  The default value is as-install``/domains/``domain-dir``/backups``.
+  If the domain is not in the default location, the location is
+  domain-dir``/backups``.
+`--backupconfig`::
+  (Supported only in {productName}.) The name of the domain
+  backup configuration in the backup directory under which the backup
+  file is to be stored.
+
+[[sthref42]]
+
+=== Operands
+
+domain-name::
+  Specifies the name of the domain to be backed up. +
+  This operand is optional if only one domain exists in the {productName} installation.
+
+[[sthref43]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref44]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-backups.html#list-backups-1[`list-backups`(1)],
+link:restore-domain.html#restore-domain-1[`restore-domain`(1)],
+`resume-domain`(1), `suspend-domain`(1)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/capture-schema.adoc b/docs/reference-manual/src/main/asciidoc/capture-schema.adoc
new file mode 100644
index 0000000..2e86d21
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/capture-schema.adoc
@@ -0,0 +1,103 @@
+type=page
+status=published
+title=capture-schema
+next=package-appclient.html
+prev=asadmin.html
+~~~~~~
+
+= capture-schema
+
+[[capture-schema-1m]][[GSRFM00821]][[capture-schema]]
+
+== capture-schema
+
+Stores the database metadata (schema) in a file for use in mapping and execution
+
+[[sthref2381]]
+
+=== Synopsis
+
+[source]
+----
+capture-schema -username name -password password
+[-dburl url] [-driver jdbc_driver_classname]
+[-schemaname schemaname] [-table tablename]
+-out filename]
+----
+
+[[sthref2382]]
+
+=== Description
+
+Stores the database metadata (schema) in a file.
+
+Run `capture-schema` as the same database user that owns the table(s),
+and use that same username with the `-username` option (and
+`-schemaname`, if required).
+
+When running `capture-schema` against an Oracle database, you should
+grant the database user running the `capture-schema` command the
+`ANALYZE ANY TABLE` privilege.
+
+[[sthref2383]]
+
+=== Options
+
+`-username`::
+  user name for authenticating access to a database.
+`-password`::
+  password for accessing the selected database.
+`-dburl`::
+  JDBC URL required by the driver for accessing a database.
+`-driver`::
+  JDBC driver classname in your `CLASSPATH`.
+`-schemaname`::
+  name of the user schema being captured. If not specified, the default
+  will capture metadata for all tables from all the schemas accessible
+  to this user. +
+  Specifying this parameter is highly recommended. Without this option,
+  if more than one schema is accessible to this user, more than one
+  table with the same name may be captured, which will cause problems
+  when mapping CMP fields to tables. +
+  The specified schema name must be uppercase.
+`-table`::
+  name of a table; multiple table names can be specified. If no table is
+  specified, all the tables in the database or named schema are captured. +
+  The specified table name or names are case sensitive. Be sure to match
+  the case of the previously created table names.
+`-out`::
+  name of the output file. This option is required. If the specified
+  output file does not contain the .dbschema suffix, it will be appended
+  to the filename.
+
+[[sthref2384]]
+
+=== Examples
+
+[[GSRFM813]][[sthref2385]]
+
+==== Example 1   Using the `capture-schema` command
+
+[source]
+----
+capture-schema -username cantiflas -password enigma
+-dburl jdbc:oracle:thin:@sadbuttrue:1521:ora817
+-driver oracle.jdbc.driver.OracleDriver
+-schemaname CANTIFLAS -out cantiflas.dbschema
+----
+
+Where: `sun-acc.xml` is the name of the client configuration XML file,
+`myclientapp.jar` is the client application `.jar` file, and `scott` and
+`sample` are arguments to pass to the application. If `sun-acc.xml` and
+`myclientapp.jar` are not in the current directory, you must give the
+absolute path locations; otherwise the relative paths are used. The
+relative path is relative to the directory where the command is being
+executed.
+
+[[sthref2386]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/change-admin-password.adoc b/docs/reference-manual/src/main/asciidoc/change-admin-password.adoc
new file mode 100644
index 0000000..7354e61
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/change-admin-password.adoc
@@ -0,0 +1,133 @@
+type=page
+status=published
+title=change-admin-password
+next=change-master-broker.html
+prev=backup-domain.html
+~~~~~~
+
+= change-admin-password
+
+[[change-admin-password-1]][[GSRFM00004]][[change-admin-password]]
+
+== change-admin-password
+
+Changes the administrator password
+
+[[sthref45]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] change-admin-password [--help]
+[--domaindir domain-root-dir [--domain_name domain-name]]
+----
+
+[[sthref46]]
+
+=== Description
+
+The `change-admin-password` subcommand modifies the administrator
+password. The `change-admin-password` subcommand is interactive because
+the subcommand prompts the user for the old administrator password, for
+the new administrator password, and for confirmation of the new
+administrator password. The new password must contain at least 8
+characters.
+
+If the only user is an anonymous user without a password, this
+subcommand fails.
+
+If a blank password is provided, this subcommand fails if secure
+administration is enabled.
+
+For security purposes, create a password-protected user account with
+administrator privileges. To create this account, use the
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)] or
+the Administration Console. After creating this user account, remove the
+anonymous user to restrict access to {productName} settings.
+
+If more than one administrator is configured for {productName}, you
+must run the `asadmin` command with the `--user` option to change the
+password for that user. For more information, see the examples in this
+help page.
+
+This subcommand is supported in local mode and remote mode. If the
+`--domaindir` or `--domain_name` option is specified, the
+`change-admin-password` subcommand operates in local mode. If neither
+option is specified, the `change-admin-password` subcommand first
+attempts to operate in remote mode. If neither option is specified and
+the DAS is not running, the `change-admin-password` subcommand operates
+in local mode, using the default values for the `--domaindir` and
+`--domain_name` options.
+
+[[sthref47]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--domaindir`::
+  Specifies the parent directory of the domain specified in the
+  `--domain_name` option. When this option is used, the
+  `change-admin-password` subcommand operates in local mode.
+`--domain_name`::
+  Specifies the domain of the admin user. +
+  This option is not required if the directory specified by the
+  `--domaindir` option contains only one domain.
+
+[[sthref48]]
+
+=== Examples
+
+[[GSRFM447]][[sthref49]]
+
+==== Example 1   Changing the Administrator Password For a Single User in Multimode
+
+[source]
+----
+asadmin --user admin
+asadmin> change-admin-password
+Please enter the old admin password>
+Please enter the new admin password>
+Please enter the new admin password again>
+Command change-admin-password executed successfully.
+----
+
+[[GSRFM448]][[sthref50]]
+
+==== Example 2   Changing the Administrator Password For a Single User in Single Mode
+
+[source]
+----
+asadmin --user admin change-admin-password
+Please enter the old admin password>
+Please enter the new admin password>
+Please enter the new admin password again>
+Command change-admin-password executed successfully.
+----
+
+[[sthref51]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  command failed
+
+[[sthref52]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
+link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
+link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
+link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/change-master-broker.adoc b/docs/reference-manual/src/main/asciidoc/change-master-broker.adoc
new file mode 100644
index 0000000..11bd4b3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/change-master-broker.adoc
@@ -0,0 +1,91 @@
+type=page
+status=published
+title=change-master-broker
+next=change-master-password.html
+prev=change-admin-password.html
+~~~~~~
+
+= change-master-broker
+
+[[change-master-broker-1]][[GSRFM00005]][[change-master-broker]]
+
+== change-master-broker
+
+Changes the master broker in a Message Queue cluster providing JMS
+services for a {productName} cluster.
+
+[[sthref53]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] change-master-broker [--help]
+clustered-instance-name
+----
+
+[[sthref54]]
+
+=== Description
+
+The `change-master-broker` subcommand changes the master broker in a
+Message Queue cluster that is the JMS provider for a {productName}
+cluster. By default, the master broker is the one associated with the
+first instance configured in the {productName} cluster.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref55]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref56]]
+
+=== Operands
+
+clustered-instance-name::
+  The name of the server instance whose Message Queue broker is to
+  become the master broker of the Message Queue cluster. This server
+  instance must be an instance in a {productName} cluster.
+
+[[sthref57]]
+
+=== Examples
+
+[[GSRFM449]][[sthref58]]
+
+==== Example 1   Changing the master broker
+
+The following subcommand changes the Message Queue master broker to the
+one for the `clustinst3` clustered instance.
+
+[source]
+----
+asadmin> change-master-broker clustinst3
+Command change-master-broker executed successfully.
+----
+
+[[sthref59]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref60]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/change-master-password.adoc b/docs/reference-manual/src/main/asciidoc/change-master-password.adoc
new file mode 100644
index 0000000..f45cb97
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/change-master-password.adoc
@@ -0,0 +1,121 @@
+type=page
+status=published
+title=change-master-password
+next=collect-log-files.html
+prev=change-master-broker.html
+~~~~~~
+
+= change-master-password
+
+[[change-master-password-1]][[GSRFM00006]][[change-master-password]]
+
+== change-master-password
+
+Changes the master password
+
+[[sthref61]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] change-master-password [--help]
+[--nodedir node-dir] [--domaindir domain-dir]
+[--savemasterpassword={false|true}] [domain-name|node-name]
+----
+
+[[sthref62]]
+
+=== Description
+
+The `change-master-password` subcommand is used to modify the master
+password. The `change-master-password` subcommand is interactive in that
+the user is prompted for the old master password, as well as the new
+master password. This subcommand will not work unless the server is
+stopped. In a distributed environment, this command must run on each
+machine in the domain.
+
+[[sthref63]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodedir`::
+  The name of the directory containing the node instance for which the
+  password will be changed. If this option is omitted, the change is
+  applied to the entire domain.
+`--domaindir`::
+  The name of the domain directory used for this operation. By default,
+  the `--domaindir` option is `$AS_DEF_DOMAINS_PATH`, which is an
+  environment variable defined in the file `asenv.bat` or `asenv.conf`.
+`--savemasterpassword`::
+  This option indicates whether the master password should be written to
+  the file system. This is necessary so that the
+  link:start-domain.html#start-domain-1[`start-domain`(1)] command can
+  start the server without having to prompt the user. +
+  The default is `false`.
++
+[CAUTION]
+====
+Saving the master password on disk is extremely insecure and should be avoided.
+====
++
+[NOTE]
+====
+If the `--savemasterpassword` option is not set, the master password
+file, if it exists, will be deleted.
+====
+
+[[sthref64]]
+
+=== Operands
+
+domain-name|node-name::
+  This name of the domain or node for which the password will be
+  changed. If there is only a single domain, this is optional.
+
+[[sthref65]]
+
+=== Examples
+
+[[GSRFM450]][[sthref66]]
+
+==== Example 1   Changing the Master Password
+
+This example shows how to changed the master password for the
+`domain44ps` domain.
+
+[source]
+----
+asadmin>change-master-password domain44ps
+Please enter the new master password>
+Please enter the new master password again>
+Master password changed for domain44ps
+----
+
+[[sthref67]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref68]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
+link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/collect-log-files.adoc b/docs/reference-manual/src/main/asciidoc/collect-log-files.adoc
new file mode 100644
index 0000000..bce18ec
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/collect-log-files.adoc
@@ -0,0 +1,168 @@
+type=page
+status=published
+title=collect-log-files
+next=configure-jms-cluster.html
+prev=change-master-password.html
+~~~~~~
+
+= collect-log-files
+
+[[collect-log-files-1]][[GSRFM00007]][[collect-log-files]]
+
+== collect-log-files
+
+Creates a ZIP archive of all available log files
+
+[[sthref69]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] collect-log-files [--help]
+[--target target]
+[--retrieve={false|true}] [retrievefilepath]]
+----
+
+[[sthref70]]
+
+=== Description
+
+The `collect-log-files` subcommand collects all available log files for
+the domain administration server (DAS), the specified cluster, or the
+specified {productName} instance and creates a single ZIP archive of
+the log files. If a cluster is specified, the ZIP archive also contains
+the log file for the DAS.
+
+This subcommand is supported in remote mode only.
+
+[[sthref71]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--retrieve`::
+  Specifies whether the ZIP archive is created in a directory other than
+  the default directory. +
+  By default the ZIP archive is created in the
+  domain-dir`/collected-logs` directory. The ZIP file names are
+  constructed from the specified target and timestamp, as follows:
++
+[source]
+----
+log_yyyy-mm-dd_hh-min-sec.zip
+----
++
+Possible values are as follows:
++
+  `false`;;
+    The ZIP archive will be created in the default directory. If
+    omitted, the `--retrieve` option defaults to `false`.
+  `true`;;
+    The ZIP archive will be created in the directory that the
+    retrievefilepath operand specifies. If retrievefilepath is omitted,
+    the ZIP archive will be created in the default directory.
+`--target`::
+  Specifies the target for which log files will be collected. +
+  Possible values are as follows:
+
+  `server`;;
+    The log files will be collected for the DAS (default).
+  instance-name;;
+    The log files will be collected for the specified {productName} instance.
+  cluster-name;;
+    The log files will be collected for the specified cluster and the DAS.
+
+[[sthref72]]
+
+=== Operands
+
+retrievefilepath::
+  The name of the directory in which the ZIP archive will be created. If
+  this operand is omitted, the ZIP archive will be created in the
+  default directory. If the `--retrieve` option is `false`, this operand
+  is ignored.
+
+[[sthref73]]
+
+=== Examples
+
+[[GSRFM451]][[sthref74]]
+
+==== Example 1   Collecting Log Files for the Default Server
+
+This example generates a ZIP archive from the log files for the default
+server.
+
+[source]
+----
+asadmin> collect-log-files
+Created Zip file under /space/gf/glassfish7/glassfish/domains/domain1/\
+collected-logs/log_2021-12-15_15-46-23.zip.
+Command collect-log-files executed successfully.
+----
+
+[[GSRFM452]][[sthref75]]
+
+==== Example 2   Collecting Log Files for a Cluster
+
+This example generates a ZIP archive from the log files for a cluster
+named `cluster1` and the two server instances running in the cluster.
+
+[source]
+----
+asadmin> collect-log-files --target cluster1
+Log files are downloaded for instance1.
+Log files are downloaded for instance2.
+Created Zip file under /space/gfv/glassfish7/glassfish/domains/domain1/\
+collected-logs/log_2021-12-15_15-54-06.zip.
+Command collect-log-files executed successfully.
+----
+
+[[GSRFM453]][[sthref76]]
+
+==== Example 3   Collecting Log Files in a Directory Other Than the Default
+for a Cluster
+
+This example generates a ZIP archive from the log files for a cluster
+named `cluster1` and its two server instances, and saves the archive in
+a directory named `/space/output`.
+
+[source]
+----
+asadmin> collect-log-files --target cluster1 --retrieve true /space/output
+Log files are downloaded for instance1.
+Log files are downloaded for instance2.
+Created Zip file under /space/output/log_2010-12-15_15-55-54.zip.
+Command collect-log-files executed successfully.
+----
+
+[[sthref77]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref78]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
+link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
+link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
+link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
+link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/configuration.adoc b/docs/reference-manual/src/main/asciidoc/configuration.adoc
new file mode 100644
index 0000000..754d4a2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/configuration.adoc
@@ -0,0 +1,60 @@
+type=page
+status=published
+title=configuration
+next=domain.html
+prev=application.html
+~~~~~~
+
+= configuration
+
+[[configuration-5asc]][[GSRFM00266]][[configuration]]
+
+== configuration
+
+The data set that determines how {productName} operates
+
+[[sthref2394]]
+
+=== Description
+
+The configuration of {productName} is the data set that determines
+how it operates. Parts of this configuration determine the operation of
+specific parts of {productName}, such as the following:
+
+* Services, such as the transaction service
+* Resources, such as databases
+* Deployed applications or modules, such as web applications
+* Clusters and server instances
+
+The term configuration is also used to describe a part of the overall
+configuration, such as the transaction service configuration or the
+configuration of a database. In clustered environments, clusters or
+server instances can share configurations.
+
+Examples of configuration data are port numbers, flags that enable or
+disable processes, application names, and so on. Most of these data
+points are name/value pairs, either hard-coded attributes or more
+flexibly defined properties.
+
+The hierarchical structure of the configuration is explained in the
+dotted names page. You can view and change most of the {productName}
+configuration using either the Administration Console or the `asadmin`
+utility and its subcommands. To list the structure of all or part of the
+configuration, use the `list` subcommand. To view the value of one or
+more attributes or properties, use the `get` subcommand. To change the
+value of an attribute or property, use the `set` subcommand.
+
+[[sthref2395]]
+
+=== See Also
+
+link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
+link:set.html#set-1[`set`(1)]
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
+
+"link:administration-guide/overview.html#GSADG00527[Configuration Tasks]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/configure-jms-cluster.adoc b/docs/reference-manual/src/main/asciidoc/configure-jms-cluster.adoc
new file mode 100644
index 0000000..4a4b65a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/configure-jms-cluster.adoc
@@ -0,0 +1,149 @@
+type=page
+status=published
+title=configure-jms-cluster
+next=configure-lb-weight.html
+prev=collect-log-files.html
+~~~~~~
+
+= configure-jms-cluster
+
+[[configure-jms-cluster-1]][[GSRFM00008]][[configure-jms-cluster]]
+
+== configure-jms-cluster
+
+Configures the Message Queue cluster providing JMS services to a
+{productName} cluster
+
+[[sthref79]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] configure-jms-cluster [--help]
+[--clustertype={conventional|enhanced}]
+[--configstoretype={masterbroker|shareddb}]
+[--messagestoretype={file|jdbc}]
+[--dbvendor database-vendor]
+[--dbuser database-user]
+[--dburl database-url]
+[--property (name=value)[:name=value]*]
+cluster-name
+----
+
+[[sthref80]]
+
+=== Description
+
+The `configure-jms-cluster` configures the Message Queue cluster
+providing JMS services to a {productName} cluster.
+
+This subcommand should be used before the {productName} cluster is
+started for the first time. Otherwise, follow the instructions in
+"link:administration-guide/jms.html#GSADG00020[Administering the Java Message Service (JMS)]" in
+{productName} Administration Guide.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref81]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--clustertype`::
+  The type of Message Queue cluster to configure. The value
+  `conventional` specifies a conventional cluster, and the value
+  `enhanced` specifies an enhanced, high-availability cluster. For
+  information about these cluster types of Message Queue clusters, see
+  "link:../openmq/mq-tech-over/broker-clusters.html#GMTOV00028[Broker Clusters]"
+  in Open Message Queue Technical Overview. +
+  The default value is `conventional`. +
+  If `enhanced` is specified, the `configstoretype` and
+  `messagestoretype` options are ignored.
+`--configstoretype`::
+  The type of data store for configuration data in a conventional
+  cluster. The value `masterbroker` specifies the use of a master broker
+  to store and manage the configuration data. The value `shareddb`
+  specifies the use of a shared database to store the configuration
+  data. +
+  The default value is `masterbroker`. +
+  This option is ignored if `clustertype` is set to `enhanced`.
+`--messagestoretype`::
+  The type of data store for message data in brokers in a conventional
+  cluster. The value `file` specifies a file store. The value `jdbc`
+  specifies a JDBC store. +
+  The default value is `file`. +
+  This option is ignored if `clustertype` is set to `enhanced`.
+`--dbvendor`::
+`--dbuser`::
+`--dburl`::
+  The database vendor, user, and access url of the JDBC database to use
+  in any of these situations:
++
+--
+  * When `clustertype` is set to `enhanced`
+  * When `configstoretype` is set to `shareddb`
+  * When `messagestoretype` is set to `jdbc`
+--
+  For information about supported vendors and the formats of access urls
+  for each vendor, see "link:../openmq/mq-admin-guide/persistence-services.html#GMADG00244[JDBC-Based Persistence]" in
+  Open Message Queue Administration Guide.
++
+[NOTE]
+====
+To specify the password of the JDBC database user, use the `--passwordfile` utility option
+of the link:asadmin.html#asadmin-1m[`asadmin`(1M)] command after adding the entry
+`AS_ADMIN_JMSDBPASSWORD` to the password file.
+====
+
+`--property`::
+  A list of additional database-vendor-specific properties to configure
+  the JDBC database for use by the Message Queue cluster. Specify
+  properties as a colon (`:`) separated list of property names and
+  values in the form:
++
+[source]
+----
+prop1name=prop1value:prop2name=prop2value
+----
+
+[[sthref82]]
+
+=== Operands
+
+cluster-name::
+  The name of the {productName} cluster for which the Message Queue
+  cluster is to provide JMS services. +
+  Because {productName} uses the cluster name to uniquely identify
+  database tables the Message Queue cluster might require, the length of
+  the name is restricted in the following situations:
+
+  * If `clustertype` is set to `enhanced`, the name can be no longer
+  than n–21 characters, where n is the maximum table name length allowed
+  by the database.
+  * If `configstoretype` is set to `shareddb`, the name can be no longer
+  than n–19 characters, where n is the maximum table name length allowed
+  by the database.
+
+[[sthref83]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref84]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/configure-lb-weight.adoc b/docs/reference-manual/src/main/asciidoc/configure-lb-weight.adoc
new file mode 100644
index 0000000..9c62b50
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/configure-lb-weight.adoc
@@ -0,0 +1,111 @@
+type=page
+status=published
+title=configure-lb-weight
+next=configure-ldap-for-admin.html
+prev=configure-jms-cluster.html
+~~~~~~
+
+= configure-lb-weight
+
+[[configure-lb-weight-1]][[GSRFM00009]][[configure-lb-weight]]
+
+== configure-lb-weight
+
+Sets load balancing weights for clustered instances
+
+[[sthref85]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] configure-lb-weight [--help]
+--cluster cluster_name
+instance-name=weight[:instance-name=weight]
+----
+
+[[sthref86]]
+
+=== Description
+
+The `configure-lb-weight` subcommand assigns weight to the server
+instances in a cluster. Weights can be used for HTTP, RMI/IIOP and JMS
+load balancing. For the HTTP load balancer, the weights are used only if
+the load balancer's policy is set to `weighted-round-robin`. The load
+balancer policy is set in the `create-http-lb-ref` subcommand or `set`
+subcommand.
+
+Use the weight to vary the load going to different instances in the
+cluster. For example, if an instance is on a machine with more capacity,
+give it a higher weight so that more requests are sent to that instance
+by the load balancer. The default weight is 100. If all instances have
+the default weight, the load balancer performs simple round robin load
+balancing.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref87]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--cluster`::
+  The name of the cluster.
+
+[[sthref88]]
+
+=== Operands
+
+instance-name=weight::
+  The name of the instance and the weight you are assigning it. The
+  weight must be an integer. The pairs of instances and weights are
+  separated by colons. For example `instance1=1:instance2=4` means that
+  for every five requests, one goes to instance1 and four go to
+  instance2. A weight of 1 is the default.
+
+[[sthref89]]
+
+=== Examples
+
+[[GSRFM454]][[sthref90]]
+
+==== Example 1   Assigning Load Balancer Weights to Cluster Instances
+
+The following subcommand assigns weights of `1`, `1`, and `2` to
+instances `i1`, `i2`, and `i3` in the `cluster1` cluster.
+
+[source]
+----
+asadmin> configure-lb-weight --cluster cluster1 i1=1:i2=1:i3=2
+Command configure-lb-weight executed successfully.
+----
+
+[[sthref91]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref92]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)]link:create-cluster.html#create-cluster-1[`create-cluster`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/configure-ldap-for-admin.adoc b/docs/reference-manual/src/main/asciidoc/configure-ldap-for-admin.adoc
new file mode 100644
index 0000000..6204cc0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/configure-ldap-for-admin.adoc
@@ -0,0 +1,83 @@
+type=page
+status=published
+title=configure-ldap-for-admin
+next=configure-managed-jobs.html
+prev=configure-lb-weight.html
+~~~~~~
+
+= configure-ldap-for-admin
+
+[[configure-ldap-for-admin-1]][[GSRFM00010]][[configure-ldap-for-admin]]
+
+== configure-ldap-for-admin
+
+Configures the authentication realm named admin-realm for the given LDAP
+
+[[sthref93]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] configure-ldap-for-admin [--help]
+----
+
+[[sthref94]]
+
+=== Description
+
+The `configure-ldap-for-admin` subcommand configures the authentication
+realm named `admin-realm` for the given LDAP. The
+`configure-ldap-for-admin` subcommand is interactive. The subcommand
+prompts the user for the `basedn` and `ldap-group` options.
+
+This command is supported in remote mode only.
+
+[[sthref95]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref96]]
+
+=== Examples
+
+[[GSRFM455]][[sthref97]]
+
+==== Example 1    Configuring the LDAP Authentication Realm
+
+[source]
+----
+asadmin> configure-ldap-for-admin
+Enter the value for the basedn option>
+Enter the value for the ldap-group option>
+The LDAP Auth Realm admin-realm was configured correctly
+in admin server's configuration.
+----
+
+[[sthref98]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref99]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:change-admin-password.html#change-admin-password-1[`change-admin-password`(1)],
+link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)]link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
+link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/configure-managed-jobs.adoc b/docs/reference-manual/src/main/asciidoc/configure-managed-jobs.adoc
new file mode 100644
index 0000000..c4397b4
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/configure-managed-jobs.adoc
@@ -0,0 +1,99 @@
+type=page
+status=published
+title=configure-managed-jobs
+next=copy-config.html
+prev=configure-ldap-for-admin.html
+~~~~~~
+
+= configure-managed-jobs
+
+[[configure-managed-jobs-1]][[GSRFM836]][[configure-managed-jobs]]
+
+== configure-managed-jobs
+
+Configures how long information about subcommands that were started
+using `asadmin --detach` or that contain progress information is kept
+
+[[sthref100]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] configure-managed-jobs [--help]
+[--in-memory-retention-period in-memory-retention-period]
+[--job-retention-period job-retention-period]
+[--cleanup-initial-delay cleanup-initial-delay]
+[--cleanup-poll-interval cleanup-poll-interval]
+----
+
+[[sthref101]]
+
+=== Description
+
+The `configure-managed-jobs` subcommand configures how long information
+about subcommands (jobs) that were started using the `asadmin` utility
+option `--detach` or that contain progress information is kept. The
+`--detach` option detaches long-running subcommands and executes them in
+the background in detach mode. Job information includes subcommand
+progress and status.
+
+This subcommand is supported in remote mode only.
+
+[[sthref102]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--in-memory-retention-period`::
+  Specifies how long a completed job is kept in memory after the job is
+  finished. The default value is 1 hour.
+`--job-retention-period`::
+  Specifies how long a job is stored. The default value is 24 hours.
+`--cleanup-initial-delay`::
+  After server startup, specifies the initial delay after which the
+  cleanup service starts purging jobs. The default value is 5 minutes.
+`--cleanup-poll-interval`::
+  Specifies the time interval after which the cleanup service polls for
+  expired jobs. The default value is 20 minutes.
+
+[[sthref103]]
+
+=== Examples
+
+[[GSRFM837]][[sthref104]]
+
+==== Example 1   Configuring the Job Retention Period
+
+This example sets 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.
+----
+
+[[sthref105]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref106]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-jobs.html#list-jobs-1[`list-jobs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/copy-config.adoc b/docs/reference-manual/src/main/asciidoc/copy-config.adoc
new file mode 100644
index 0000000..f68f052
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/copy-config.adoc
@@ -0,0 +1,178 @@
+type=page
+status=published
+title=copy-config
+next=create-admin-object.html
+prev=configure-managed-jobs.html
+~~~~~~
+
+= copy-config
+
+[[copy-config-1]][[GSRFM00011]][[copy-config]]
+
+== copy-config
+
+Copies an existing named configuration to create another configuration
+
+[[sthref107]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] copy-config [--help]
+[--systemproperties (name=value)[:name=value]*]
+source-configuration-name destination-configuration-name
+----
+
+[[sthref108]]
+
+=== Description
+
+The `copy-config` subcommand creates a named configuration in the
+configuration of the domain administration server (DAS) by copying an
+existing configuration. The new configuration is identical to the copied
+configuration, except for any properties that you specify in the
+`--systemproperties` option.
+
+The `default-config` configuration is copied when a standalone sever
+instance or standalone cluster is created.
+
+This subcommand is supported in remote mode only.
+
+[[sthref109]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--systemproperties`::
+  Optional attribute name-value pairs for the configuration. These
+  properties override port settings in the configuration.
++
+  The following properties are available:
++
+  `ASADMIN_LISTENER_PORT`;;
+    This property specifies the port number of the HTTP port or HTTPS
+    port through which the DAS connects to the instance to manage the
+    instance. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `HTTP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTP requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `HTTP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `IIOP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_MUTUALAUTH_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections with client authentication. Valid values are
+    1-65535. On UNIX, creating sockets that listen on ports 1-1024
+    requires superuser privileges.
+  `JAVA_DEBUGGER_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the Java Platform Debugger Architecture (JPDA)
+    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+    debugger. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMS_PROVIDER_PORT`;;
+    This property specifies the port number for the Java Message Service
+    provider. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMX_SYSTEM_CONNECTOR_PORT`;;
+    This property specifies the port number on which the JMX connector
+    listens. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `OSGI_SHELL_TELNET_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the Apache Felix Remote Shell
+    (`http://felix.apache.org/site/apache-felix-remote-shell.html`).
+    This shell uses the Felix shell service to interact with the OSGi
+    module management subsystem. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+
+[[sthref110]]
+
+=== Operands
+
+source-configuration-name::
+  The name of the configuration that you are copying.
+destination-configuration-name::
+  The name of the configuration that you are creating by copying the
+  source configuration.
++
+  The name must meet the following requirements:
++
+  * The name may contain only ASCII characters.
+  * The name must start with a letter, a number, or an underscore.
+  * The name may contain only the following characters:
+  ** Lowercase letters
+  ** Uppercase letters
+  ** Numbers
+  ** Hyphen
+  ** Period
+  ** Underscore
+  * The name must be unique in the domain and must not be the name of a
+  another named configuration, a cluster, a {productName} instance ,
+  or a node.
+  * The name must not be `domain`, `server`, or any other keyword that
+  is reserved by {productName}.
+
+[[sthref111]]
+
+=== Examples
+
+[[GSRFM456]][[sthref112]]
+
+==== Example 1   Copying a Configuration
+
+This example copies the `default-config` configuration to the
+`pmdsaconfig` configuration, overriding the settings for the following
+ports:
+
+* HTTP listener port
+* HTTPS listener port
+
+[source]
+----
+asadmin> copy-config
+--systemproperties HTTP_LISTENER_PORT=2000:HTTP_SSL_LISTENER_PORT=3000
+default-config pmdsaconfig
+
+Command copy-config executed successfully.
+----
+
+[[sthref113]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref114]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-config.html#delete-config-1[`delete-config`(1)],
+link:list-configs.html#list-configs-1[`list-configs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-admin-object.adoc b/docs/reference-manual/src/main/asciidoc/create-admin-object.adoc
new file mode 100644
index 0000000..c9dd51a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-admin-object.adoc
@@ -0,0 +1,143 @@
+type=page
+status=published
+title=create-admin-object
+next=create-application-ref.html
+prev=copy-config.html
+~~~~~~
+
+= create-admin-object
+
+[[create-admin-object-1]][[GSRFM00012]][[create-admin-object]]
+
+== create-admin-object
+
+Adds the administered object with the specified JNDI name for a resource adapter
+
+[[sthref115]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-admin-object [--help]
+[--target target]
+--restype restype
+[--classname classname]
+--raname raname
+[--enabled={true|false}]
+[--description description]
+[--property name=value[:name=value]*]
+jndi_name
+----
+
+[[sthref116]]
+
+=== Description
+
+The `create-admin-object` subcommand creates the administered object
+with the specified JNDI name and the interface definition for a resource adapter.
+
+This subcommand is supported in remote mode only.
+
+[[sthref117]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which you are creating the administered
+  object. Valid values are as follows:
+
+  `server`;;
+    Creates the administered object for the default server instance
+    `server` and is the default value.
+  configuration_name;;
+    Creates the administered object for the named configuration.
+  cluster_name;;
+    Creates the administered object for every server instance in the
+    cluster.
+  instance_name;;
+    Creates the administered object for a particular server instance.
+
++
+[NOTE]
+====
+The resource is always created for the domain as a whole, but the
+`resource-ref` for the resource is only created for the specified
+`--target`. This means that although the resource is defined at the
+domain level, it is only available at the specified target level. Use
+the `create-resource-ref` subcommand to refer to the resource in
+multiple targets if needed.
+====
+
+`--restype`::
+  Specifies the interface definition for the administered object. The
+  resource type must be an interface definition that is specified in the
+  `ra.xml` file of the resource adapter.
+`--classname`::
+  Specifies the class name of the administered object. Required if
+  multiple administered objects use the same interface definition.
+`--raname`::
+  Specifies the name of the resource adapter associated with this
+  administered object.
+`--enabled`::
+  Specifies if this object is enabled. Default is true.
+`--description`::
+  Text string describing the administered object.
+`--property`::
+  Description of the name/values pairs for configuring the resource.
+  Dependent on the resource adapter. For JMS properties, see
+  link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)]
+  for JMS destination resources.
+
+[[sthref118]]
+
+=== Operands
+
+jndi_name::
+  JNDI name of the administered object to be created.
+
+[[sthref119]]
+
+=== Examples
+
+[[GSRFM457]][[sthref120]]
+
+==== Example 1   Creating an Administered Object
+
+In this example, `jmsra` is a system resource adapter with the admin
+object interfaces, `jakarta.jms.Queue` and `jakarta.jms.Topic`.
+
+[source]
+----
+asadmin> create-admin-object --restype jakarta.jms.Queue
+--raname jmsra --description "sample administered object"
+--property Name=sample_jmsqueue jms/samplequeue
+Command create-admin-object executed successfully
+----
+
+[[sthref121]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref122]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
+link:delete-admin-object.html#delete-admin-object-1[`delete-admin-object`(1)],
+link:list-admin-objects.html#list-admin-objects-1[`list-admin-objects`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-application-ref.adoc b/docs/reference-manual/src/main/asciidoc/create-application-ref.adoc
new file mode 100644
index 0000000..e865336
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-application-ref.adoc
@@ -0,0 +1,139 @@
+type=page
+status=published
+title=create-application-ref
+next=create-audit-module.html
+prev=create-admin-object.html
+~~~~~~
+
+= create-application-ref
+
+[[create-application-ref-1]][[GSRFM00013]][[create-application-ref]]
+
+== create-application-ref
+
+Creates a reference to an application
+
+[[sthref123]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-application-ref [--help]
+[--target target]
+[--virtualservers virtual_servers] [--enabled=true]
+[--lbenabled=true] reference_name
+----
+
+[[sthref124]]
+
+=== Description
+
+The `create-application-ref` subcommand creates a reference from a
+cluster or an unclustered server instance to a previously deployed
+application element (for example, a Jakarta EE application, a Web module,
+or an enterprise bean module). This effectively results in the
+application element being deployed and made available on the targeted
+instance or cluster.
+
+The target instance or instances making up the cluster need not be
+running or available for this subcommand to succeed. If one or more
+instances are not available, they will receive the new application
+element the next time they start.
+
+This subcommand is supported in remote mode only.
+
+[[sthref125]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you are creating the application
+  reference. Valid values are
++
+  * `server`- Specifies the default server instance as the target for
+  creating the application reference. `server` is the name of the
+  default server instance and is the default value for this option.
+  * cluster_name- Specifies a particular cluster as the target for
+  creating the application reference.
+  * instance_name- Specifies a particular stand-alone server instance as
+  the target for creating the application reference.
+`--virtualservers`::
+  Specifies a comma-separated list of virtual server IDs on which to
+  deploy. This option applies only to Web modules (either standalone or
+  in a Jakarta EE application). If this option is not specified, the
+  application is deployed to all virtual servers except the
+  administrative server, `__asadmin`.
+`--enabled`::
+  Indicates whether the application should be enabled (that is, loaded).
+  This value will take effect only if the application is enabled at the
+  global level. The default is `true`.
+`--lbenabled`::
+  Controls whether the deployed application is available for load
+  balancing. The default is true.
+
+[[sthref126]]
+
+=== Operands
+
+reference_name::
+  The name of the application or module, which can be a Jakarta EE
+  application, Web module, EJB module, connector module, application
+  client module, or lifecycle module. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. If the `--enabled` option is set to false, you can
+  create references to multiple disabled versions by using an asterisk
+  (`*`) as a wildcard character. For more information about module and
+  application versions, see
+  "link:application-deployment-guide/overview.html#GSDPG00324[
+  Module and Application Versions]"
+  in {productName} Application Deployment Guide.
+
+[[sthref127]]
+
+=== Examples
+
+[[GSRFM458]][[sthref128]]
+
+==== Example 1   Creating an Application Reference
+
+The following example creates a reference to the Web module `MyWebApp`
+on the unclustered server instance `NewServer`.
+
+[source]
+----
+asadmin> create-application-ref --target NewServer MyWebApp
+Command create-application-ref executed successfully.
+----
+
+[[sthref129]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref130]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-application-ref.html#delete-application-ref-1[`delete-application-ref`(1)],
+link:list-application-refs.html#list-application-refs-1[`list-application-refs`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-audit-module.adoc b/docs/reference-manual/src/main/asciidoc/create-audit-module.adoc
new file mode 100644
index 0000000..a85523c
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-audit-module.adoc
@@ -0,0 +1,122 @@
+type=page
+status=published
+title=create-audit-module
+next=create-auth-realm.html
+prev=create-application-ref.html
+~~~~~~
+
+= create-audit-module
+
+[[create-audit-module-1]][[GSRFM00014]][[create-audit-module]]
+
+== create-audit-module
+
+Adds an audit module
+
+[[sthref131]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-audit-module [--help]
+--classname classname
+[--property(name=value)[:name=value]*]
+[--target target]
+audit_module_name
+----
+
+[[sthref132]]
+
+=== Description
+
+The `create-audit-module` subcommand adds the named audit module for the
+Java class that implements the audit capabilities. Audit modules collect
+and store information on incoming requests (from, for example, servlets
+and EJB components) and outgoing responses.
+
+This subcommand is supported in remote mode only.
+
+[[sthref133]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--classname`::
+  The name of the Java class that implements this audit module. If not
+  specified, this option defaults to
+  `com.sun.enterprise.security.Audit`.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--property`::
+  Optional keyword-value pairs that specify additional properties for
+  the audit module. +
+  Audit module properties that are defined by {productName} are as
+  follows:
+
+  `auditOn`;;
+    If `true`, specifies that the audit module is loaded and called by
+    the {productName} audit library at audit points.
+
++
+Other available properties are determined by the implementation of the
+  audit module.
+`--target`::
+  Specifies the target on which you are creating the audit module. Valid
+  values are as follows:
+
+  `server`;;
+    Creates the audit module for the default server instance `server`
+    and is the default value.
+  configuration_name;;
+    Creates the audit module for the named configuration.
+  cluster_name;;
+    Creates the audit module for every server instance in the cluster.
+  instance_name;;
+    Creates the audit module for a particular server instance.
+
+[[sthref134]]
+
+=== Operands
+
+audit_module_name::
+  The name of this audit module.
+
+[[sthref135]]
+
+=== Examples
+
+[[GSRFM459]][[sthref136]]
+
+==== Example 1   Creating an audit module
+
+[source]
+----
+asadmin> create-audit-module
+--classname com.sun.appserv.auditmodule
+--property defaultuser=admin:Password=admin sampleAuditModule
+Command create-audit-module executed successfully
+----
+
+[[sthref137]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref138]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-audit-module.html#delete-audit-module-1[`delete-audit-module`(1)],
+link:list-audit-modules.html#list-audit-modules-1[`list-audit-modules`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-auth-realm.adoc b/docs/reference-manual/src/main/asciidoc/create-auth-realm.adoc
new file mode 100644
index 0000000..9577d29
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-auth-realm.adoc
@@ -0,0 +1,257 @@
+type=page
+status=published
+title=create-auth-realm
+next=create-cluster.html
+prev=create-audit-module.html
+~~~~~~
+
+= create-auth-realm
+
+[[create-auth-realm-1]][[GSRFM00015]][[create-auth-realm]]
+
+== create-auth-realm
+
+Adds the named authentication realm
+
+[[sthref139]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-auth-realm [--help]
+--classname realm_class [--property(name=value)[:name=value]*]
+[--target target_name] auth_realm_name
+----
+
+[[sthref140]]
+
+=== Description
+
+The `create-auth-realm` subcommand adds the named authentication realm.
+
+This subcommand is supported in remote mode only.
+
+[[sthref141]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which you are creating the realm. Valid values are
+
+  `server`;;
+    Creates the realm on the default server instance. This is the
+    default value.
+  configuration_name;;
+    Creates the realm in the specified configuration.
+  cluster_name;;
+    Creates the realm on all server instances in the specified cluster.
+  instance_name;;
+    Creates the realm on a specified server instance.
+
+`--classname`::
+  Java class which implements this realm. These include
+  `com.sun.enterprise.security.auth.realm.file.FileRealm`,
+  `com.sun.enterprise.security.auth.realm.certificate.CertificateRealm`,
+  `com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm`,
+  `com.sun.enterprise.security.auth.realm.ldap.LDAPRealm`,
+  `com.sun.enterprise.security.auth.realm.ldap.PamRealm`, and
+  `com.sun.enterprise.security.auth.realm.solaris.SolarisRealm`, or a
+  custom realm.
+`--property`::
+  Optional attribute name-value pairs for configuring the authentication
+  realm. Authentication realms require provider-specific properties,
+  which vary based on implementation. +
+  The following properties are common to all of the supported realms,
+  which include `FileRealm`, `CertificateRealm`, `JDBCRealm`,
+  `LDAPRealm`, PamRealm, and `SolarisRealm`.
++
+--
+  `jaas-context`;;
+    Specifies the Java Authentication and Authorization Service (JAAS)
+    context.
+  `assign-groups`;;
+    (Optional) If this property is set, its value is taken to be a
+    comma-separated list of group names. All clients who present valid
+    certificates are assigned membership to these groups for the
+    purposes of authorization decisions in the web and EJB containers.
+--
+  Specific to each realm, you can specify the following properties.
+
+  * You can specify the following properties for `FileRealm`:
+
+  `file`;;
+    Specifies the file that stores user names, passwords, and group
+    names. The default is domain-dir``/config/keyfile``.
+
+  * You can specify the following properties for `CertificateRealm`:
+
+  `LoginModule`;;
+    Specifies the name of a JAAS `LoginModule` to use for performing
+    authentication. To use a JAAS `LoginModule`, you must first create
+    an implementation of the javax.security.auth.spi.LoginModule
+    interface, and then plug the module into a `jaas-context`. For more
+    information, see "link:security-guide/system-security.html#GSSCG00196[Custom Authentication of Client
+    Certificate in SSL Mutual Authentication]" in {productName} Security Guide.
+
+  * You can specify the following properties for `JDBCRealm`:
+
+  `datasource-jndi`;;
+    Specifies the `jndi-name` of the `jdbc-resource` for the database.
+  `user-table`;;
+    Specifies the name of the user table in the database.
+  `user-name-column`;;
+    Specifies the name of the user name column in the database's user
+    table.
+  `password-column`;;
+    Specifies the name of the password column in the database's user
+    table.
+  `group-table`;;
+    Specifies the name of the group table in the database.
+  `group-table`;;
+    Specify the group table for an authentication realm of class
+    `JDBCRealm`.
+  `group-name-column`;;
+    Specifies the name of the group name column in the database's group
+    table.
+  `db-user`;;
+    (Optional) Allows you to specify the database user name in the realm
+    instead of the `jdbc-connection-pool`. This prevents other
+    applications from looking up the database, getting a connection, and
+    browsing the user table. By default, the `jdbc-connection-pool`
+    configuration is used.
+  `db-password`;;
+    (Optional) Allows you to specify the database password in the realm
+    instead of the `jdbc-connection-pool`. This prevents other
+    applications from looking up the database, getting a connection, and
+    browsing the user table. By default, the `jdbc-connection-pool`
+    configuration is used.
+  `group-table`;;
+    Specifies the name of the group table in the database.
+  `digest-algorithm`;;
+    (Optional) Specifies the digest algorithm. The default is `SHA-256`.
+    You can use any algorithm supported in the JDK, or none.
++
+[NOTE]
+====
+In versions of {productName} prior to 5.0, the default algorithm
+was `MD5`. If you have applications that depend on the `MD5`
+algorithm, you can override the default `SHA-25` algorithm by using
+the `asadmin set` subcommand:
+[source]
+----
+asadmin> set server.security-service.property.default-digest-algorithm=MD5
+----
+You can use the `asadmin get` subcommand to determine what algorithm
+is currently being used:
+[source]
+----
+asadmin> get server.security-service.property.default-digest-algorithm
+----
+Also note that, to maintain backward compatibility, if an upgrade is
+performed from {productName} v2.x or v3.0.x to {productName}
+5.0, the default algorithm is automatically set to `MD5` in cases
+where the digest algorithm had not been explicitly set in the older
+{productName} version.
+====
++
+  `digestrealm-password-enc-algorithm`;;
+    (Optional) Specifies the algorithm for encrypting passwords stored
+    in the database.
++
+[NOTE]
+====
+It is a security risk not to specify a password encryption algorithm.
+====
+
+  `encoding`;;
+    (Optional) Specifies the encoding. Allowed values are `Hex` and
+    `Base64`. If digest-algorithm is specified, the default is `Hex`. If
+    `digest-algorithm` is not specified, by default no encoding is
+    specified.
+  `charset`;;
+    (Optional) Specifies the `charset` for the digest algorithm.
+  * You can specify the following properties for `LDAPRealm`:
+  `directory`;;
+    Specifies the LDAP URL to your server.
+  `base-dn`;;
+    Specifies the LDAP base DN for the location of user data. This base
+    DN can be at any level above the user data, since a tree scope
+    search is performed. The smaller the search tree, the better the
+    performance.
+  `search-filter`;;
+    (Optional) Specifies the search filter to use to find the user. The
+    default is `uid=%s` (`%s` expands to the subject name).
+  `group-base-dn`;;
+    (Optional) Specifies the base DN for the location of groups data. By
+    default, it is same as the `base-dn`, but it can be tuned, if
+    necessary.
+  `group-search-filter`;;
+    (Optional) Specifies the search filter to find group memberships for
+    the user. The default is `uniquemember=%d` (`%d` expands to the user
+    `elementDN`).
+  `group-target`;;
+    (Optional) Specifies the LDAP attribute name that contains group
+    name entries. The default is `CN`.
+  `search-bind-dn`;;
+    (Optional) Specifies an optional DN used to authenticate to the
+    directory for performing the search-filter lookup. Only required for
+    directories that do not allow anonymous search.
+  `search-bind-password`;;
+    (Optional) Specifies the LDAP password for the DN given in
+    `search-bind-dn`.
+
+[[sthref142]]
+
+=== Operands
+
+auth_realm_name::
+  A short name for the realm. This name is used to refer to the realm
+  from, for example, `web.xml`.
+
+[[sthref143]]
+
+=== Examples
+
+[[GSRFM460]][[sthref144]]
+
+==== Example 1   Creating a New Authentication Realm
+
+This example creates a new file realm.
+
+[source]
+----
+asadmin> create-auth-realm
+--classname com.sun.enterprise.security.auth.realm.file.FileRealm
+--property file=${com.sun.aas.instanceRoot}/config/
+admin-keyfile:jaas-context=fileRealm file
+Command create-auth-realm executed successfully
+----
+
+Where `file` is the authentication realm created.
+
+[[sthref145]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref146]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-auth-realm.html#delete-auth-realm-1[`delete-auth-realm`(1)],
+link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-cluster.adoc b/docs/reference-manual/src/main/asciidoc/create-cluster.adoc
new file mode 100644
index 0000000..3eb8050
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-cluster.adoc
@@ -0,0 +1,518 @@
+type=page
+status=published
+title=create-cluster
+next=create-connector-connection-pool.html
+prev=create-auth-realm.html
+~~~~~~
+
+= create-cluster
+
+[[create-cluster-1]][[GSRFM00017]][[create-cluster]]
+
+== create-cluster
+
+Creates a {productName} cluster
+
+[[sthref147]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-cluster [--help]
+[--config config-name]
+[--systemproperties (name=value)[:name=value]*]
+[--properties (name=value)[:name=value]*]
+[--gmsenabled={true|false}]
+[--multicastport multicast-port]
+[--multicastaddress multicast-address]
+[--bindaddress bind-address]
+[--hosts hadb-host-list]
+[--haagentport port-number]
+[--haadminpassword password]
+[--haadminpasswordfile file-name] [--devicesize devicesize ]
+[--haproperty (name=value)[:name=value]*]
+[--autohadb=false] [--portbase port-number]
+cluster-name
+----
+
+[[sthref148]]
+
+=== Description
+
+The `create-cluster` subcommand creates a {productName} cluster.
+Initially the cluster contains no {productName} instances,
+applications, or resources.
+
+A cluster requires a reference to the named configuration that defines
+the configuration of all instances that are added to the cluster. The
+configuration can be specified in the command to create the cluster, but
+is not required. If no configuration is specified, the subcommand
+creates a configuration that is named cluster-name`-config` for the
+cluster. The cluster that is created is a standalone cluster because the
+cluster's configuration is not shared with any other clusters or
+standalone instances.
+
+To add instances to the cluster, set the `--cluster` option to the name
+of the cluster when using either of the following subcommands:
+
+* link:create-instance.html#create-instance-1[`create-instance`(1)]
+* link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
+
+To delete server instances from the cluster at any time, use one of the
+following subcommands:
+
+* link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
+* link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
+
+To associate applications and resources with all instances in the
+cluster, set the `--target` option to the name of the cluster when
+performing the following operations:
+
+* Deploying applications by using the
+link:deploy.html#deploy-1[`deploy`(1)] subcommand
+* Creating resources by using subcommands such as
+link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)]
+* Creating references to applications that are already deployed in other
+targets by using the
+link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)]
+subcommand
+* Creating references to resources that are already created in other
+targets by using the
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]
+subcommand
+
+This subcommand is supported in remote mode only.
+
+[[sthref149]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--config`::
+  Specifies the named configuration that the cluster references. The
+  configuration must exist and must not be named `default-config` or
+  `server-config`. Specifying the `--config` option creates a shared
+  cluster. If this option is omitted, a standalone cluster is created.
+`--systemproperties`::
+  Defines system properties for the configuration that is created for
+  the cluster. These properties override the property values in the
+  `default-config` configuration. The following properties are
+  available:
++
+  `ASADMIN_LISTENER_PORT`;;
+    This property specifies the port number of the HTTP port or HTTPS
+    port through which the DAS connects to the instance to manage the
+    instance. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `HTTP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTP requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `HTTP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `IIOP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_MUTUALAUTH_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections with client authentication. Valid values are
+    1-65535. On UNIX, creating sockets that listen on ports 1-1024
+    requires superuser privileges.
+  `JAVA_DEBUGGER_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the
+    http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+    Platform Debugger Architecture (JPDA)]
+    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+    debugger. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMS_PROVIDER_PORT`;;
+    This property specifies the port number for the Java Message Service
+    provider. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMX_SYSTEM_CONNECTOR_PORT`;;
+    This property specifies the port number on which the JMX connector
+    listens. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `OSGI_SHELL_TELNET_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the
+    http://felix.apache.org/site/apache-felix-remote-shell.html[Apache
+    Felix Remote Shell]
+    (http://felix.apache.org/site/apache-felix-remote-shell.html). This
+    shell uses the Felix shell service to interact with the OSGi module
+    management subsystem. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+`--properties`::
+  Defines properties for the cluster. The following properties are
+  available:
+
+  `GMS_DISCOVERY_URI_LIST`;;
+    The locations of {productName} instances in the cluster to use
+    for discovering the cluster. This property is required only if the
+    Group Management Service (GMS) is not using multicast for
+    broadcasting messages. +
+    Valid values for this property are as follows:
+
+    * A comma-separated list of uniform resource identifiers (URIs).
+    Each URI must locate a {productName} instance or the DAS. This
+    format is required if multiple {productName} instances are
+    running on the same host. +
+    The format of each URI in the list is as follows: +
+    scheme``://``host-name-or -IP-address``:``port
+    ** scheme is the URI scheme, which is `tcp`.
+    ** host-name-or -IP-address is the host name or IP address of the
+    host on which the instance is running.
+    ** port is the port number of the port on which the instance listens
+    for messages from GMS. The system property
+    ``GMS_LISTENER_PORT-``clustername must be set for the instance. For
+    information about how to set this system property for an instance,
+    see "link:ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport
+    Is Unavailable]" in {productName} High
+    Availability Administration Guide.
+
+    * A comma-separated list of IP addresses or host names on which the
+    DAS or the instances are running. The list can contain a mixture of
+    IP addresses and host names. This format can be used only if one
+    clustered instance is running on each host. The value of the
+    `GMS_LISTENER_PORT` property must be unique for each cluster in a domain.
+
+    * The keyword `generate`. This format can be used only if one
+    instance in a cluster is running on each host and the DAS is running
+    on a separate host. Multiple instances on the same host cannot be
+    members of the same cluster. The value of the `GMS_LISTENER_PORT`
+    property must be unique for each cluster in a domain.
+  `GMS_LISTENER_PORT`;;
+    The port number of the port on which the cluster listens for
+    messages from GMS. +
+    The default value is a reference to the
+    ``GMS_LISTENER_PORT-``cluster-name system property. By default, this
+    system property is not set. In this situation, GMS selects a free
+    port from the range that is defined by the properties
+    `GMS_TCPSTARTPORT` and `GMS_TCPENDPORT`. By default, this range is
+    9090-9200. In most situations, the default behavior should suffice. +
+    However, if GMS is not using multicast for broadcasting messages,
+    the `GMS_LISTENER_PORT` property must specify a port number that is
+    valid for all {productName} instances in the cluster. To use the
+    default value to meet this requirement, use a system property to set
+    the port number individually for each instance. +
+    For example, use the `create-system-properties` subcommand to create
+    the system property ``GMS_LISTENER_PORT-``cluster-name for the DAS.
+    Then, for each instance in the cluster, set the
+    ``GMS_LISTENER_PORT-``cluster-name system property to the port number
+    on which the instance listens for messages from GMS. The default
+    value of the `GMS_LISTENER_PORT` property for the cluster references
+    this system property.
+  `GMS_LOOPBACK`;;
+    Specifies whether an instance may receive from itself
+    application-level messages that the instance broadcasts to the
+    cluster. Possible values are as follows:
++
+--
+    * `false`
+      The instance may not receive messages from itself (default).
+    * `true`
+      The instance may receive messages from itself. Use this setting
+      for testing an instance when the instance is the only instance in
+      a cluster.
+--
+  `GMS_MULTICAST_TIME_TO_LIVE`;;
+    The maximum number of iterations or transmissions that a multicast
+    message for the following types of events can experience before the
+    message is discarded:
+
+    * Group discovery
+    * Member heartbeats
+    * Membership changes
++
+To match the configuration of the network on which the DAS and
+    clustered instances are deployed, set this value as low as possible.
+    To determine the lowest possible value for your system, use the
+    link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
+    subcommand.
+
+    ** A value of 0 ensures that multicast messages never leave the host
+    from which they are broadcast.
+
+    ** A value of 1 might prevent the broadcast of messages between hosts
+    on same subnet that are connected by a switch or a router.
+
+    ** The default is 4, which ensures that messages are successfully
+    broadcast to all cluster members in networks where hosts are
+    connected by switches or routers.
+
+  `GMS_TCPENDPORT`;;
+    The highest port number in the range from which GMS selects a free
+    port if the ``GMS_LISTENER_PORT-``cluster-name system property is not
+    set. The default is 9200.
+  `GMS_TCPSTARTPORT`;;
+    The lowest port number in the range from which GMS selects a free
+    port if the ``GMS_LISTENER_PORT-``cluster-name system property is not
+    set. The default is 9090.
+
+`--gmsenabled`::
+  Specifies whether GMS is enabled for the cluster. Possible values are as follows:
+
+  `true`;;
+    GMS is enabled for the cluster (default).
+    When GMS is enabled for a cluster, GMS is started in each server
+    instance in the cluster and in the DAS. The DAS participates in each
+    cluster for which this option is set to `true`.
+  `false`;;
+    GMS is disabled for the cluster.
+
+`--multicastaddress`::
+  The address on which GMS listens for group events. This option must
+  specify a multicast address in the range 224.0.0.0 through
+  239.255.255.255. The default is 228.9.XX.YY, where XX and YY are
+  automatically generated independent values between 0 and 255.
+`--multicastport`::
+  The port number of communication port on which GMS listens for group
+  events. This option must specify a valid port number in the range
+  2048-49151. The default is an automatically generated value in this
+  range.
+`--bindaddress`::
+  The Internet Protocol (IP) address of the network interface to which
+  GMS binds. This option must specify the IP address of a local network
+  interface. The default is all public network interface addresses. +
+  On a multihome machine, this option configures the network interface
+  that is used for the GMS. A multihome machine possesses two or more
+  network interfaces. +
+  To specify an address that is valid for all {productName}
+  instances in the cluster, use a system property to set the address
+  individually for each instance. +
+  For example, use the `create-system-properties` subcommand to create
+  the system property ``GMS-BIND-INTERFACE-ADDRESS-``cluster-name. Then
+  set the `--bindaddress` option of this subcommand to
+  ``${GMS-BIND-INTERFACE-ADDRESS-``cluster-name`}` to specify the system
+  property. Finally, for each instance in the cluster, set the
+  ``GMS-BIND-INTERFACE-ADDRESS-``cluster-name system property to the
+  required network interface address on the instance's machine.
+`--hosts`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--haagentport`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--haadminpassword`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--haadminpasswordfile`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--devicesize`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--haproperty`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--autohadb`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--portbase`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref150]]
+
+=== Operands
+
+cluster-name::
+  The name of the cluster. +
+  The name must meet the following requirements:
+
+  * The name may contain only ASCII characters.
+  * The name must start with a letter, a number, or an underscore.
+  * The name may contain only the following characters:
+  ** Lowercase letters
+  ** Uppercase letters
+  ** Numbers
+  ** Hyphen
+  ** Period
+  ** Underscore
+  * The name must be unique in the domain and must not be the name of
+  another cluster, a named configuration, a {productName} instance,
+  or a node.
+  * The name must not be `domain`, `server`, or any other keyword that
+  is reserved by {productName}. +
+  If the
+  link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
+  subcommand is to be used to configure a Message Queue cluster to
+  provide JMS services to the {productName} cluster, the length of
+  the {productName} cluster name is might be restricted: +
+  * If `clustertype` is set to `enhanced` in the
+  link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
+  subcommand, the name can be no longer than n–21 characters, where n is
+  the maximum table name length allowed by the database.
+  * If `configstoretype` is set to `shareddb` in the
+  link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
+  subcommand, the name can be no longer than n–19 characters, where n is
+  the maximum table name length allowed by the database.
+
+[[sthref151]]
+
+=== Examples
+
+[[GSRFM462]][[sthref152]]
+
+==== Example 1   Creating a Cluster
+
+This example creates a cluster that is named `ltscluster` for which port
+1169 is to be used for secure IIOP connections. Because the `--config`
+option is not specified, the cluster references a copy of the named
+configuration `default-config` that is named `ltscluster-config`.
+
+[source]
+----
+asadmin> create-cluster
+--systemproperties IIOP_SSL_LISTENER_PORT=1169
+ltscluster
+Command create-cluster executed successfully.
+----
+
+[[GSRFM463]][[sthref153]]
+
+==== Example 2   Creating a Cluster With a List of URIs for Discovering the
+Cluster
+
+This example creates a cluster that is named `tcpcluster`. In this
+example, GMS is not using multicast for broadcasting messages and
+multiple instances reside on the same host. Therefore, the
+`GMS_DISCOVERY_URI_LIST` property is set to the locations of the
+{productName} instances to use for discovering the cluster. These
+instances reside on the host whose IP address is `10.152.23.224` and
+listen for GMS events on ports 9090, 9091, and 9092.
+
+To distinguish colon (`:`) characters in URIs from separators in a
+property list, colons in URIs are escaped with single quote characters
+(`'`) and backslash (`\`) characters. For more information about escape
+characters in options for the `asadmin` utility, see the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+
+This example assumes that the port on which each instance listens for
+GMS messages is set independently for the instance through the
+`GMS_LISTENER_PORT-tcpcluster` system property. For information about
+how to set the port on which an instance listens for GMS messages, see
+"link:ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport Is
+Unavailable]" in {productName} High Availability
+Administration Guide.
+
+[source]
+----
+asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=
+tcp'\\:'//10.152.23.224'\\:'9090,
+tcp'\\:'//10.152.23.224'\\:'9091,
+tcp'\\:'//10.152.23.224'\\:'9092 tcpcluster
+Command create-cluster executed successfully.
+----
+
+[[GSRFM827]][[sthref154]]
+
+==== Example 3   Creating a Cluster With a List of IP Addresses for
+Discovering the Cluster
+
+This example creates a cluster that is named `ipcluster`. In this
+example, GMS is not using multicast for broadcasting messages and only
+one clustered instance resides on each host. Therefore, the
+`GMS_DISCOVERY_URI_LIST` property is set to the IP addresses of the
+hosts where instances to use for discovering the cluster are running.
+The cluster listens for messages from GMS on port 9090.
+
+[source]
+----
+asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=
+10.152.23.225,10.152.23.226,10.152.23.227,10.152.23.228:
+GMS_LISTENER_PORT=9090' ipcluster
+Command create-cluster executed successfully.
+----
+
+[[GSRFM828]][[sthref155]]
+
+==== Example 4   Creating a Cluster With a Generated List of Instances for
+Discovering the Cluster
+
+This example creates a cluster that is named `gencluster`. In this
+example, GMS is not using multicast for broadcasting messages, one
+instance in the cluster is running on each host and the DAS is running
+on a separate host. Therefore, the `GMS_DISCOVERY_URI_LIST` property is
+set to the keyword `generate` to generate a list of instances to use for
+discovering the cluster. The cluster listens for messages from GMS on
+port 9090.
+
+[source]
+----
+asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=generate:
+GMS_LISTENER_PORT=9090' gencluster
+Command create-cluster executed successfully.
+----
+
+[[sthref156]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref157]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
+link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:deploy.html#deploy-1[`deploy`(1)],
+link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
+link:start-cluster.html#start-cluster-1[`start-cluster`(1)],
+link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)],
+link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
+
+"link:ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport Is
+Unavailable]" in {productName} High Availability
+Administration Guide
+
+Apache Felix Remote Shell
+(http://felix.apache.org/site/apache-felix-remote-shell.html), Java
+Platform Debugger Architecture (JPDA)
+(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-connector-connection-pool.adoc b/docs/reference-manual/src/main/asciidoc/create-connector-connection-pool.adoc
new file mode 100644
index 0000000..a1434cb
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-connector-connection-pool.adoc
@@ -0,0 +1,273 @@
+type=page
+status=published
+title=create-connector-connection-pool
+next=create-connector-resource.html
+prev=create-cluster.html
+~~~~~~
+
+= create-connector-connection-pool
+
+[[create-connector-connection-pool-1]][[GSRFM00018]][[create-connector-connection-pool]]
+
+== create-connector-connection-pool
+
+Adds a connection pool with the specified connection pool name
+
+[[sthref158]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-connector-connection-pool [--help]
+[--target=target]
+--raname raname
+--connectiondefinition connectiondefinitionname
+[--steadypoolsize steadypoolsize]
+[--maxpoolsize maxpoolsize]
+[--maxwait maxwait]
+[--poolresize poolresize]
+[--idletimeout idletimeout]
+[--isconnectvalidatereq={false|true}]
+[--failconnection={false|true}]
+[--leaktimeout=timeout]
+[--leakreclaim={false|true}]
+[--creationretryattempts=attempts]
+[--creationretryinterval=interval]
+[--lazyconnectionenlistment={false|true}]
+[--lazyconnectionassociation={false|true}]
+[--associatewiththread={false|true}]
+[--matchconnections={true|false}]
+[--maxconnectionusagecount=count]
+[--validateatmostonceperiod=interval]
+[--transactionsupport transactionsupport]
+[--descrip[tion description]
+[--ping {false|true}]
+[--pooling {true|false}]
+[--property (name=value)[:name=value]*]
+poolname
+----
+
+[[sthref159]]
+
+=== Description
+
+The `create-connector-connection-pool` subcommand defines a pool of
+connections to an enterprise information system (EIS). The named pool
+can be referred to by multiple connector resources. Each defined pool is
+instantiated at server startup, and is populated when accessed for the
+first time. If two or more connector resources point to the same
+connector connection pool, they are using the same pool of connections
+at run time. There can be more than one pool for a connection definition
+in a single resource adapter.
+
+A connector connection pool with authentication can be created either by
+using a `--property` option to specify user, password, or other
+connection information, or by specifying the connection information in
+the XML descriptor file.
+
+This subcommand is supported in remote mode only.
+
+[[sthref160]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--associatewiththread`::
+  Specifies whether a connection is associated with the thread to enable
+  the thread to reuse the connection. If a connection is not associated
+  with the thread, the thread must obtain a connection from the pool
+  each time that the thread requires a connection. Possible values are
+  as follows:
++
+  `false`;;
+    A connection is not associated with the thread (default).
+  `true`;;
+    A connection is associated with the thread.
+`--connectiondefinition`::
+  The name of the connection definition.
+`--creationretryattempts`::
+  Specifies the maximum number of times that the server retries to
+  create a connection if the initial attempt fails. +
+  Default value is 0, which specifies that the server does not retry to
+  create the connection.
+`--creationretryinterval`::
+  Specifies the interval, in seconds, between successive attempts to
+  create a connection. +
+  If `--creationretryattempts` is 0, the `--creationretryinterval`
+  option is ignored. Default value is 10.
+`--description`::
+  Text providing descriptive details about the connector connection
+  pool.
+`--failconnection`::
+  If set to true, all connections in the pool are closed if a single
+  validation check fails. This parameter is mandatory if the
+  `--isconnectvalidatereq` option is set to true. Default value is false.
+`--idletimeout`::
+  The maximum time that a connection can remain idle in the pool. After
+  this amount of time, the pool can close this connection. Default value is 300.
+`--isconnectvalidatereq`::
+  If the value is set to true, the connections will be checked to see if
+  they are usable, before they are given out to the application. Default
+  value is false.
+`--lazyconnectionenlistment`::
+  Specifies whether a resource to a transaction is enlisted only when a
+  method actually uses the resource. Default value is false.
+`--lazyconnectionassociation`::
+  Specifies whether a physical connection should be associated with the
+  logical connection only when the physical connection is used, and
+  disassociated when the transaction is completed. Such association and
+  dissociation enable the reuse of physical connections. Possible values
+  are as follows:
++
+  `false`;;
+    A physical connection is associated with the logical connection even
+    before the physical connection is used, and is not disassociated
+    when the transaction is completed (default).
+  `true`;;
+    A physical connection is associated with the logical connection only
+    when the physical connection is used, and disassociated when the
+    transaction is completed. The `--lazyconnectionenlistment` option
+    must also be set to `true`.
+`--leakreclaim`::
+  Specifies whether leaked connections are restored to the connection
+  pool after leak connection tracing is complete. Possible values are as
+  follows:
++
+  `false`;;
+    Leaked connections are not restored to the connection pool
+    (default).
+  `true`;;
+    Leaked connections are restored to the connection pool.
+`--leaktimeout`::
+  Specifies the amount of time, in seconds, for which connection leaks
+  in a connection pool are to be traced. +
+  If connection leak tracing is enabled, you can use the Administration
+  Console to enable monitoring of the JDBC connection pool to get
+  statistics on the number of connection leaks. Default value is 0,
+  which disables connection leak tracing.
+`--matchconnections`::
+  Specifies whether a connection that is selected from the pool should
+  be matched with the resource adaptor. If all connections in the pool
+  are identical, matching between connections and resource adapters is
+  not required. Possible values are as follows:
++
+  `true`;;
+    A connection should be matched with the resource adaptor (default).
+  `false`;;
+    A connection should not be matched with the resource adaptor.
+`--maxconnectionusagecount`::
+  Specifies the maximum number of times that a connection can be reused. +
+  When this limit is reached, the connection is closed. Default value is
+  0, which specifies no limit on the number of times that a connection
+  can be reused.
+`--maxpoolsize`::
+  The maximum number of connections that can be created to satisfy
+  client requests. Default value is 32.
+`--maxwait`::
+  The amount of time, in milliseconds, that a caller must wait before a
+  connection is created, if a connection is not available. If set to 0,
+  the caller is blocked indefinitely until a resource is available or
+  until an error occurs. Default value is 60000.
+`--ping`::
+  A pool with this attribute set to true is contacted during creation
+  (or reconfiguration) to identify and warn of any erroneous values for
+  its attributes. Default value is false.
+`--pooling`::
+  When set to false, this attribute disables connection pooling. Default
+  value is true.
+`--poolresize`::
+  Quantity by which the pool will scale up or scale down the number of
+  connections. Scale up: When the pool has no free connections, pool
+  will scale up by this quantity. Scale down: All the invalid and idle
+  connections are removed, sometimes resulting in removing connections
+  of quantity greater than this value. The number of connections that is
+  specified by `--steadypoolsize` will be ensured. Possible values are
+  from 0 to `MAX_INTEGER`. Default value is 2.
+`--property`::
+  Optional attribute name/value pairs for configuring the pool.
++
+  `LazyConnectionEnlistment`;;
+    Deprecated. Use the equivalent option. Default value is false.
+  `LazyConnectionAssociation`;;
+    Deprecated. Use the equivalent option. Default value is false.
+  `AssociateWithThread`;;
+    Deprecated. Use the equivalent option. Default value is false.
+  `MatchConnections`;;
+    Deprecated. Use the equivalent option. Default value is false.
+`--raname`::
+  The name of the resource adapter.
+`--steadypoolsize`::
+  The minimum and initial number of connections maintained in the pool.
+  Default value is 8.
+`--target`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--transactionsupport`::
+  Indicates the level of transaction support that this pool will have.
+  Possible values are `XATransaction`, `LocalTransaction` and
+  `NoTransaction`. This attribute can have a value lower than or equal
+  to but not higher than the resource adapter's transaction support
+  attribute. The resource adapter's transaction support attribute has an
+  order of values, where `XATransaction` is the highest, and
+  `NoTransaction` the lowest.
+`--validateatmostonceperiod`::
+  Specifies the time interval in seconds between successive requests to
+  validate a connection at most once. Setting this attribute to an
+  appropriate value minimizes the number of validation requests by a
+  connection. Default value is 0, which means that the attribute is not
+  enabled.
+
+[[sthref161]]
+
+=== Operands
+
+poolname::
+  The name of the connection pool to be created.
+
+[[sthref162]]
+
+=== Examples
+
+[[GSRFM464]][[sthref163]]
+
+==== Example 1   Creating a Connector Connection Pool
+
+This example creates a new connector connection pool named
+`jms/qConnPool`.
+
+[source]
+----
+asadmin> create-connector-connection-pool --raname jmsra
+--connectiondefinition jakarta.jms.QueueConnectionFactory --steadypoolsize 20
+--maxpoolsize 100 --poolresize 2 --maxwait 60000 jms/qConnPool
+Command create-connector-connection-pool executed successfully
+----
+
+[[sthref164]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref165]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-connector-connection-pool.html#delete-connector-connection-pool-1[`delete-connector-connection-pool`(1)],
+link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
+link:ping-connection-pool.html#ping-connection-pool-1[`ping-connection-pool`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-connector-resource.adoc b/docs/reference-manual/src/main/asciidoc/create-connector-resource.adoc
new file mode 100644
index 0000000..0c48c18
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-connector-resource.adoc
@@ -0,0 +1,160 @@
+type=page
+status=published
+title=create-connector-resource
+next=create-connector-security-map.html
+prev=create-connector-connection-pool.html
+~~~~~~
+
+= create-connector-resource
+
+[[create-connector-resource-1]][[GSRFM00019]][[create-connector-resource]]
+
+== create-connector-resource
+
+Registers the connector resource with the specified JNDI name
+
+[[sthref166]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-connector-resource [--help]
+--poolname connectorConnectionPoolName
+[--enabled={true|false}]
+[--description description]
+[--objecttype ovjecttype]
+[--property (name=value)[:name=value]*]
+[--target target]
+jndi_name
+----
+
+[[sthref167]]
+
+=== Description
+
+The `create-connector-resource` subcommand registers the connector
+resource with the specified JNDI name.
+
+This subcommand is supported in remote mode only.
+
+[[sthref168]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--poolname`::
+  The name of the connection pool. When two or more resource elements
+  point to the same connection pool element, they use the same pool
+  connections at runtime.
+`--enabled`::
+  This option determines whether the resource is enabled at runtime. The
+  default value is true.
+`--objecttype`::
+  Defines the type of the connector resource. Default is user. Allowed
+  values are:
++
+  `system-all`;;
+    A system resource for all server instances and the domain
+    administration server (DAS).
+  `system-admin`;;
+    A system resource only for the DAS.
+  `system-instance`;;
+    A system resource for all server instances only.
+  `user`;;
+    A user resource.
+`--description`::
+  Text providing details about the connector resource.
+`--property`::
+  Optional attribute name value pairs for configuring the resource.
+`--target`::
+  This option specifies the ending location of the connector resources.
+  Valid targets are:
++
+  `server`;;
+    Creates the connector resource in the default server instance. This
+    is the default value.
+  `domain`;;
+    Creates the connector resource in the domain.
+  cluster_name;;
+    Creates the connector resource in every server instance in the
+    cluster.
+  instance_name;;
+    Creates the connector resource in the specified server instance.
++
+
+[NOTE]
+====
+The resource is always created for the domain as a whole, but the
+`resource-ref` for the resource is only created for the specified
+`--target`. This means that although the resource is defined at the
+domain level, it is only available at the specified target level. Use
+the `create-resource-ref` subcommand to refer to the resource in
+multiple targets if needed.
+====
+
+[[sthref169]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of this connector resource.
+
+[[sthref170]]
+
+=== Examples
+
+[[GSRFM465]][[sthref171]]
+
+==== Example 1   Creating a Connector Resource
+
+This example creates a connector resource named `jms/qConnFactory`.
+
+[source]
+----
+asadmin> create-connector-resource --poolname jms/qConnPool
+--description "sample connector resource" jms/qConnFactory
+Command create-connector-resource executed successfully
+----
+
+[[GSRFM466]][[sthref172]]
+
+==== Example 2   Using the create-connector-resource subcommand
+
+This example shows the usage of this subcommand.
+
+[source]
+----
+asadmin> create-connector-resource --target server --poolname jms/qConnPool
+--description "sample connector resource" jms/qConnFactory
+Command create-connector-resource executed successfully
+----
+
+Where `jms/qConnFactory` is the sample connector resource that is
+created.
+
+[[sthref173]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref174]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-connector-resource.html#delete-connector-resource-1[`delete-connector-resource`(1)],
+link:list-connector-resources.html#list-connector-resources-1[`list-connector-resources`(1)],
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-connector-security-map.adoc b/docs/reference-manual/src/main/asciidoc/create-connector-security-map.adoc
new file mode 100644
index 0000000..9c6e376
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-connector-security-map.adoc
@@ -0,0 +1,131 @@
+type=page
+status=published
+title=create-connector-security-map
+next=create-connector-work-security-map.html
+prev=create-connector-resource.html
+~~~~~~
+
+= create-connector-security-map
+
+[[create-connector-security-map-1]][[GSRFM00020]][[create-connector-security-map]]
+
+== create-connector-security-map
+
+Creates a security map for the specified connector connection pool
+
+[[sthref175]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-connector-security-map [--help]
+--poolname connector_connection_pool_name
+[--principals principal-name1[,principal-name2]*]
+[--usergroups user-group1[,user-group2]*]
+[--mappedusername user-name]
+[--target target]
+mapname
+----
+
+[[sthref176]]
+
+=== Description
+
+The `create-connector-security-map` subcommand creates a security map
+for the specified connector connection pool. If the security map is not
+present, a new one is created. This subcommand can also map the caller
+identity of the application (principal or user group) to a suitable
+enterprise information system (EIS) principal in container-managed
+authentication scenarios. The EIS is any system that holds the data of
+an organization. It can be a mainframe, a messaging system, a database
+system, or an application. One or more named security maps can be
+associated with a connector connection pool. The connector security map
+configuration supports the use of the wild card asterisk (`*`) to
+indicate all users or all user groups.
+
+To specify the EIS password, you can add the `AS_ADMIN_MAPPEDPASSWORD`
+entry to the password file, then specify the file by using the
+`--passwordfile` `asadmin` utility option.
+
+For this subcommand to succeed, you must have first created a connector
+connection pool using the `create-connector-connection-pool` subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref177]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--poolname`::
+  Specifies the name of the connector connection pool to which the
+  security map belongs.
+`--principals`::
+  Specifies a list of backend EIS principals. More than one principal
+  can be specified using a comma-separated list. Use either the
+  `--principals` or `--usergroups` options, but not both in the same
+  command.
+`--usergroups`::
+  Specifies a list of backend EIS user group. More than one user groups
+  can be specified using a comma separated list. Use either the
+  `--principals` or `--usergroups` options, but not both in the same
+  command.
+`--mappedusername`::
+  Specifies the EIS username.
+`--target`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref178]]
+
+=== Operands
+
+mapname::
+  The name of the security map to be created.
+
+[[sthref179]]
+
+=== Examples
+
+[[GSRFM467]][[sthref180]]
+
+==== Example 1   Creating a Connector Security Map
+
+This example creates `securityMap1` for the existing connection pool
+named `connector-pool1`.
+
+[source]
+----
+asadmin> create-connector-security-map --poolname connector-pool1
+--principals principal1,principal2 --mappedusername backend-username securityMap1
+Command create-connector-security-map executed successfully
+----
+
+[[sthref181]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref182]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
+link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)],
+link:update-connector-security-map.html#update-connector-security-map-1[`update-connector-security-map`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-connector-work-security-map.adoc b/docs/reference-manual/src/main/asciidoc/create-connector-work-security-map.adoc
new file mode 100644
index 0000000..dc842ec
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-connector-work-security-map.adoc
@@ -0,0 +1,136 @@
+type=page
+status=published
+title=create-connector-work-security-map
+next=create-context-service.html
+prev=create-connector-security-map.html
+~~~~~~
+
+= create-connector-work-security-map
+
+[[create-connector-work-security-map-1]][[GSRFM00021]][[create-connector-work-security-map]]
+
+== create-connector-work-security-map
+
+Creates a work security map for the specified resource adapter
+
+[[sthref183]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-connector-work-security-map [--help]
+--raname raname
+[--principalsmap eis-principal1=principal_name1[, eis-principal2=principal_name2]*
+|--groupsmap eis-group1=server-group1[, eis-group2=server-group2]*}
+[--description description]
+mapname
+----
+
+[[sthref184]]
+
+=== Description
+
+The `create-connector-work-security-map` subcommand maps the caller
+identity of the work submitted by the resource adapter EIS principal or
+EIS user group to a suitable principal or user group in the
+{productName} security domain. One or more work security maps may be
+associated with a resource adapter. The connector work security map
+configuration supports the use of the wild card asterisk (`*`) to
+indicate all users or all user groups.
+
+The enterprise information system (EIS) is any system that holds the
+data of an organization. It can be a mainframe, a messaging system, a
+database system, or an application.
+
+This subcommand is supported in remote mode only.
+
+[[sthref185]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--description`::
+  Text providing descriptive details about the connector work security
+  map.
+`--groupsmap`::
+  Specifies a map of the backend EIS user group to the {productName}
+  user group. Use a comma-separated list to specify more than one
+  mapping. Use either the `--principalsmap` option or the `--groupsmap`
+  option, but not both.
+`--principalsmap`::
+  Specifies a map of the backend EIS principal to the {productName}
+  principal. Use a comma-separated list to specify more than one
+  mapping. Use either the `--principalsmap` option or the `--groupsmap`
+  option, but not both.
+`--raname`::
+  Indicates the connector module name, which is the name of the resource
+  adapter.
+
+[[sthref186]]
+
+=== Operands
+
+mapname::
+  The name of the work security map to be created.
+
+[[sthref187]]
+
+=== Examples
+
+[[GSRFM468]][[sthref188]]
+
+==== Example 1   Creating a Connector Work Security Map (Principal)
+
+This example creates connector work security map `workSecurityMap1` that
+maps the backend EIS principal to the {productName} principal.
+
+[source]
+----
+asadmin create-connector-work-security-map --raname my-resource-adapter
+--principalsmap eis-principal-1=server-principal-1,eis-principal-2
+=server-principal-2,eis-principal-3=server-principal-1
+workSecurityMap1
+Command create-connector-work-security-map executed successfully.
+----
+
+[[GSRFM469]][[sthref189]]
+
+==== Example 2   Creating a Connector Work Security Map (Group)
+
+This example creates connector work security map `workSecurityMap2` that
+maps the backend EIS user group to the {productName} user group.
+
+[source]
+----
+asadmin create-connector-work-security-map --raname my-resource-adapter
+--groupsmap eis-group-1=server-group-1,eis-group-2=server-group-2,
+eis-group-3=server-group-1 workSecurityMap2
+Command create-connector-work-security-map executed successfully.
+----
+
+[[sthref190]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref191]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-connector-work-security-map.html#delete-connector-work-security-map-1[`delete-connector-work-security-map`(1)],
+link:list-connector-work-security-maps.html#list-connector-work-security-maps-1[`list-connector-work-security-maps`(1)],
+link:update-connector-work-security-map.html#update-connector-work-security-map-1[`update-connector-work-security-map`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-context-service.adoc b/docs/reference-manual/src/main/asciidoc/create-context-service.adoc
new file mode 100644
index 0000000..35bb175
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-context-service.adoc
@@ -0,0 +1,128 @@
+type=page
+status=published
+title=create-context-service
+next=create-custom-resource.html
+prev=create-connector-work-security-map.html
+~~~~~~
+
+= create-context-service
+
+[[create-context-service-1]][[GSRFM838]][[create-context-service]]
+
+== create-context-service
+
+Creates a context service resource
+
+[[sthref192]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-context-service [--help]
+[--enabled={false|true}]
+[--contextinfoenabled={false|true}]
+[--contextinfo={Classloader|JNDI|Security|WorkArea}]]
+[--description description]
+[--property property]
+[--target target]
+jndi_name
+----
+
+[[sthref193]]
+
+=== Description
+
+The `create-context-service` subcommand creates a context service
+resource.
+
+This subcommand is supported in remote mode only.
+
+[[sthref194]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--enabled`::
+  Determines whether the resource is enabled at runtime. The default
+  value is `true`.
+`--contextinfoenabled`::
+  Determines whether container contexts are propagated to threads. If
+  set to `true`, the contexts specified in the `--contextinfo` option
+  are propagated. If set to `false`, no contexts are propagated and the
+  `--contextinfo` option is ignored. The default value is `true`.
+`--contextinfo`::
+  Specifies individual container contexts to propagate to threads. Valid
+  values are Classloader, JNDI, Security, and WorkArea. Values are
+  specified in a comma-separated list and are case-insensitive. All
+  contexts are propagated by default.
+`--description`::
+  Descriptive details about the resource.
+`--property`::
+  Optional attribute name/value pairs for configuring the resource. +
+  {productName} does not define any additional properties for this
+  resource. Moreover, this resource does not currently use any
+  additional properties.
+`--target`::
+  Specifies the target for which you are creating the resource. Valid
+  targets are:
+  `server`;;
+    Creates the resource for the default server instance. This is the
+    default value.
+  `domain`;;
+    Creates the resource for the domain.
+  cluster_name;;
+    Creates the resource for every server instance in the specified
+    cluster.
+  instance_name;;
+    Creates the resource for the specified server instance.
+
+[[sthref195]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of this resource.
+
+[[sthref196]]
+
+=== Examples
+
+[[GSRFM839]][[sthref197]]
+
+==== Example 1   Creating a Context Service Resource
+
+This example creates a context service resource named
+`concurrent/myContextService`.
+
+[source]
+----
+asadmin> create-context-service concurrent/myContextService
+Context service concurrent/myContextService created successfully.
+Command create-context-service executed successfully.
+----
+
+[[sthref198]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref199]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-context-service.html#delete-context-service-1[`delete-context-service`(1)],
+link:list-context-services.html#list-context-services-1[`list-context-services`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-custom-resource.adoc b/docs/reference-manual/src/main/asciidoc/create-custom-resource.adoc
new file mode 100644
index 0000000..0b74049
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-custom-resource.adoc
@@ -0,0 +1,135 @@
+type=page
+status=published
+title=create-custom-resource
+next=create-domain.html
+prev=create-context-service.html
+~~~~~~
+
+= create-custom-resource
+
+[[create-custom-resource-1]][[GSRFM00022]][[create-custom-resource]]
+
+== create-custom-resource
+
+Creates a custom resource
+
+[[sthref200]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-custom-resource [--help]
+--restype type --factoryclass classname
+[--enabled={true|false}] [--description text]
+[--property (name=value)[:name=value]*] jndi-name
+[--target target]
+----
+
+[[sthref201]]
+
+=== Description
+
+The `create-custom-resource` subcommand creates a custom resource. A
+custom resource specifies a custom server-wide resource object factory
+that implements the `javax.naming.spi.ObjectFactory` interface.
+
+This subcommand is supported in remote mode only.
+
+[[sthref202]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  The target on which the custom resource you are creating will be
+  available. Valid values are:
++
+  `server`;;
+    The resource will be available on the default server instance and
+    all domains hosted on the instance. This is the default value.
+  `domain`;;
+    The resource will be available on the specified domain only.
+  cluster_name;;
+    The resource will be available on every server instance in the
+    cluster.
+  instance_name;;
+    The resource will be available on the specified server instance
+    only.
++
+
+[NOTE]
+====
+The resource is always created for the domain as a whole, but the
+`resource-ref` for the resource is only created for the specified
+`--target`. This means that although the resource is defined at the
+domain level, it is only available at the specified target level. Use
+the `create-resource-ref` subcommand to refer to the resource in
+multiple targets if needed.
+====
+
+`--restype`::
+  The type of custom resource to be created. Specify a fully qualified
+  type definition, for example `javax.naming.spi.ObjectFactory`. The
+  resource type definition follows the format, xxx`.`xxx.
+`--factoryclass`::
+  Factory class name for the custom resource. This class implements the
+  `javax.naming.spi.ObjectFactory` interface.
+`--enabled`::
+  Determines whether the custom resource is enable at runtime. Default
+  is true.
+`--description`::
+  Text providing details about the custom resource. This description is
+  a string value and can include a maximum of 250 characters.
+`--property`::
+  Optional attribute name/value pairs for configuring the resource.
+
+[[sthref203]]
+
+=== Operands
+
+jndi-name::
+  The JNDI name of this resource.
+
+[[sthref204]]
+
+=== Examples
+
+[[GSRFM470]][[sthref205]]
+
+==== Example 1   Creating a Custom Resource
+
+This example creates a custom resource.
+
+[source]
+----
+asadmin> create-custom-resource --restype topic
+--factoryclass com.imq.topic mycustomresource
+Command create-custom-resource executed successfully.
+----
+
+[[sthref206]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref207]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-custom-resource.html#delete-custom-resource-1[`delete-custom-resource`(1)],
+link:list-custom-resources.html#list-custom-resources-1[`list-custom-resources`(1)],
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-domain.adoc b/docs/reference-manual/src/main/asciidoc/create-domain.adoc
new file mode 100644
index 0000000..5021696
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-domain.adoc
@@ -0,0 +1,460 @@
+type=page
+status=published
+title=create-domain
+next=create-file-user.html
+prev=create-custom-resource.html
+~~~~~~
+
+= create-domain
+
+[[create-domain-1]][[GSRFM00023]][[create-domain]]
+
+== create-domain
+
+Creates a domain
+
+[[sthref208]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-domain [--help]
+[--adminport adminport]
+[--instanceport instanceport]
+[--portbase portbase]
+[--profile profile-name]
+[--template template-name]
+[--domaindir domaindir]
+[--savemasterpassword={false|true}]
+[--usemasterpassword={false|true}]
+[--domainproperties (name=value)[:name=value]*]
+[--keytooloptions (name=value)[:name=value]*]
+[--savelogin={false|true}]
+[--checkports={true|false}]
+[--nopassword={false|true}]
+domain-name
+----
+
+[[sthref209]]
+
+=== Description
+
+The `create-domain` subcommand creates a {productName} domain. A
+domain in {productName} is an administrative namespace that complies
+with the Java Platform, Enterprise Edition (Jakarta EE) standard. Every
+domain has a configuration, which is stored in a set of files. Any
+number of domains, each of which has a distinct administrative identity,
+can be created in a given installation of {productName}. A domain
+can exist independently of other domains.
+
+Any user who has access to the `asadmin` utility on a given system can
+create a domain and store its configuration in a folder of the user's
+choosing. By default, the domain configuration is created in the default
+directory for domains. You can override this location to store the
+configuration elsewhere.
+
+If domain customizers are found in JAR files in the as-install``/modules``
+directory when the `create-domain` subcommand is run, the customizers
+are processed. A domain customizer is a class that implements the
+`DomainInitializer` interface.
+
+The `create-domain` subcommand creates a domain with a single
+administrative user specified by the `asadmin` utility option `--user`.
+If the `--user` option is not specified, and the `--nopassword` option
+is set to true, the default administrative user, `admin`, is used. If
+the `--nopassword` option is set to false (the default), a username is
+required. In this case, if you have not specified the user name by using
+the `--user` option, you are prompted to do so.
+
+You choose an appropriate profile for the domain, depending on the
+applications that you want to run on your new domain. You can choose the
+developer, cluster, or enterprise profile for the domain you create.
+
+This subcommand is supported in local mode only.
+
+[[sthref210]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--adminport`::
+  The HTTP port or the HTTPS port for administration. This port is the
+  port in the URL that you specify in your web browser to manage the
+  domain, for example, `http://localhost:4949`. The `--adminport` option
+  cannot be used with the `--portbase` option. The default value is 4848. +
+  The `--adminport` option overrides the `domain.adminPort` property of
+  the `--domainproperties` option.
+`--instanceport`::
+  The domain provides services so that applications can run when
+  deployed. This HTTP port specifies where the web application context
+  roots are available for a web browser to connect to. This port is a
+  positive integer and must be available at the time of domain creation.
+  The `--instanceport` option cannot be used with the `--portbase`
+  option. The default value is 8080. +
+  The `--instanceport` option overrides the `domain.instancePort`
+  property of the `--domainproperties` option.
+`--portbase`::
+  Determines the number with which port assignments should start. A
+  domain uses a certain number of ports that are statically assigned.
+  The portbase value determines where the assignment should start. The
+  values for the ports are calculated as follows:
+
+  * Administration port: portbase + 48
+  * HTTP listener port: portbase + 80
+  * HTTPS listener port: portbase + 81
+  * JMS port: portbase + 76
+  * IIOP listener port: portbase + 37
+  * Secure IIOP listener port: portbase + 38
+  * Secure IIOP with mutual authentication port: portbase + 39
+  * JMX port: portbase + 86
+  * JPDA debugger port: portbase + 9
+  * Felix shell service port for OSGi module management: portbase + 66
+
++
+When the `--portbase` option is specified, the output of this
+  subcommand includes a complete list of used ports. +
+  The `--portbase` option cannot be used with the `--adminport`,
+  `--instanceport`, or the `--domainproperties` option.
+`--profile`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--template`::
+  The file name, including a relative or absolute path, of a domain
+  configuration template to use for creating the domain. If a relative
+  path is specified, the subcommand appends the path to the
+  as-install``/lib/templates`` directory to locate the file. If it is an
+  absolute pathname, the subcommand locates the file in the specified
+  path. +
+  This option enables domains of different types to be created and
+  custom domain templates to be defined.
+`--domaindir`::
+  The directory where the domain is to be created. If specified, the
+  path must be accessible in the filesystem. If not specified, the
+  domain is created in the default domain directory,
+  as-install``/domains``.
+`--savemasterpassword`::
+  Setting this option to `true` allows the master password to be written
+  to the file system. If this option is `true`, the
+  `--usemasterpassword` option is also true, regardless of the value
+  that is specified on the command line. The default value is `false`. +
+  A master password is really a password for the secure key store. A
+  domain is designed to keep its own certificate (created at the time of
+  domain creation) in a safe place in the configuration location. This
+  certificate is called the domain's SSL server certificate. When the
+  domain is contacted by a web browser over a secure channel (HTTPS),
+  this certificate is presented by the domain. The master password is
+  supposed to protect the store (a file) that contains this certificate.
+  This file is called `keystore.jks` and is created in the configuration
+  directory of the domain created. If however, this option is chosen,
+  the master password is saved on the disk in the domain's configuration
+  location. The master password is stored in a file called
+  `master-password`, which is a Java JCEKS type keystore. The reason for
+  using the `--savemasterpassword` option is for unattended system
+  boots. In this case, the master password is not prompted for when the
+  domain starts because the password will be extracted from this file. +
+  It is best to create a master password when creating a domain, because
+  the master password is used by the `start-domain` subcommand. For
+  security purposes, the default setting should be false, because saving
+  the master password on the disk is an insecure practice, unless file
+  system permissions are properly set. If the master password is saved,
+  then `start-domain` does not prompt for it. The master password gives
+  an extra level of security to the environment.
+`--usemasterpassword`::
+  Specifies whether the key store is encrypted with a master password
+  that is built into the system or a user-defined master password. +
+  If `false` (default), the keystore is encrypted with a well-known
+  password that is built into the system. Encrypting the keystore with a
+  password that is built into the system provides no additional
+  security. +
+  If `true`, the subcommand obtains the master password from the
+  `AS_ADMIN_MASTERPASSWORD` entry in the password file or prompts for
+  the master password. The password file is specified in the
+  `--passwordfile` option of the
+  link:asadmin.html#asadmin-1m[`asadmin`(1M)]utility. +
+  If the `--savemasterpassword` option is `true`, this option is also
+  true, regardless of the value that is specified on the command line.
+`--domainproperties`::
+  Setting the optional name/value pairs overrides the default values for
+  the properties of the domain to be created. The list must be separated
+  by the colon (:) character. The `--portbase` options cannot be used
+  with the `--domainproperties` option. The following properties are
+  available:
+
+  `domain.adminPort`;;
+    This property specifies the port number of the HTTP port or the
+    HTTPS port for administration. This port is the port in the URL that
+    you specify in your web browser to manage the instance, for example,
+    `http://localhost:4949`. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges. +
+    The `domain.adminPort` property is overridden by the `--adminport`
+    option.
+  `domain.instancePort`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTP requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges. +
+    The `domain.instancePort` property is overridden by `--instanceport`
+    option.
+  `domain.jmxPort`;;
+    This property specifies the port number on which the JMX connector
+    listens. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `http.ssl.port`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `java.debugger.port`;;
+    This property specifies the port number of the port that is used for
+    connections to the
+    http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+    Platform Debugger Architecture (JPDA)]
+    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+    debugger. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `jms.port`;;
+    This property specifies the port number for the Java Message Service
+    provider. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `orb.listener.port`;;
+    This property specifies the port number of the port that is used for
+    IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `orb.mutualauth.port`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections with client authentication. Valid values are
+    1-65535. On UNIX, creating sockets that listen on ports 1-1024
+    requires superuser privileges.
+  `orb.ssl.port`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `osgi.shell.telnet.port`;;
+    This property specifies the port number of the port that is used for
+    connections to the
+    http://felix.apache.org/site/apache-felix-remote-shell.html[Apache
+    Felix Remote Shell]
+    (http://felix.apache.org/site/apache-felix-remote-shell.html). This
+    shell uses the Felix shell service to interact with the OSGi module
+    management subsystem. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+
+`--keytooloptions`::
+  Specifies an optional list of name-value pairs of keytool options for
+  a self-signed server certificate. The certificate is generated during
+  the creation of the domain. Each pair in the list must be separated by
+  the colon (:) character. +
+  Allowed options are as follows:
+
+  `CN`;;
+    Specifies the common name of the host that is to be used for the
+    self-signed certificate. This option name is case insensitive. +
+    By default, the name is the fully-qualified name of the host where
+    the `create-domain` subcommand is run.
+
+`--savelogin`::
+  If set to true, this option saves the administration user name and
+  password. Default value is false. The username and password are stored
+  in the `.asadminpass` file in user's home directory. A domain can only
+  be created locally. Therefore, when using the `--savelogin` option,
+  the host name saved in `.asadminpass` is always `localhost`. If the
+  user has specified default administration port while creating the
+  domain, there is no need to specify `--user`, `--passwordfile`,
+  `--host`, or `--port` on any of the subsequent `asadmin` remote
+  commands. These values will be obtained automatically.
++
+
+[NOTE]
+====
+When the same user creates multiple domains that have the same
+administration port number on the same or different host (where the
+home directory is NFS mounted), the subcommand does not ask if the
+password should be overwritten. The password will always be
+overwritten.
+====
+`--checkports`::
+  Specifies whether to check for the availability of the administration,
+  HTTP, JMS, JMX, and IIOP ports. The default value is true.
+`--nopassword`::
+  Specifies whether the administrative user will have a password. If
+  false (the default), the password is specified by the
+  `AS_ADMIN_PASSWORD` entry in the `asadmin` password file (set by using
+  the `--passwordfile` option). If false and the `AS_ADMIN_PASSWORD` is
+  not set, you are prompted for the password. +
+  If true, the administrative user is created without a password. If a
+  user name for the domain is not specified by using the `--user`
+  option, and the `--nopassword` option is set to true, the default user
+  name, `admin`, is used.
+
+[[sthref211]]
+
+=== Operands
+
+domain-name::
+  The name of the domain to be created. The name may contain only ASCII
+  characters and must be a valid directory name for the operating system
+  on the host where the domain is created.
+
+[[sthref212]]
+
+=== Examples
+
+[[GSRFM471]][[sthref213]]
+
+==== Example 1   Creating a Domain
+
+This example creates a domain named `domain4`.
+
+[source]
+----
+asadmin>create-domain --adminport 4848 domain4
+Enter admin user name [Enter to accept default "admin" / no password]>
+Using port 4848 for Admin.
+Using default port 8080 for HTTP Instance.
+Using default port 7676 for JMS.
+Using default port 3700 for IIOP.
+Using default port 8181 for HTTP_SSL.
+Using default port 3820 for IIOP_SSL.
+Using default port 3920 for IIOP_MUTUALAUTH.
+Using default port 8686 for JMX_ADMIN.
+Using default port 6666 for OSGI_SHELL.
+Distinguished Name of the self-signed X.509 Server Certificate is:
+[CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
+No domain initializers found, bypassing customization step
+Domain domain4 created.
+Domain domain4 admin port is 4848.
+Domain domain4 allows admin login as user "admin" with no password.
+Command create-domain executed successfully.
+----
+
+[[GSRFM472]][[sthref214]]
+
+==== Example 2   Creating a Domain in an Alternate Directory
+
+This example creates a domain named `sampleDomain` in the
+`/home/someuser/domains` directory.
+
+[source]
+----
+asadmin> create-domain --domaindir /home/someuser/domains --adminport 7070
+--instanceport 7071 sampleDomain
+Enter admin user name [Enter to accept default "admin" / no password]>
+Using port 7070 for Admin.
+Using port 7071 for HTTP Instance.
+Using default port 7676 for JMS.
+Using default port 3700 for IIOP.
+Using default port 8181 for HTTP_SSL.
+Using default port 3820 for IIOP_SSL.
+Using default port 3920 for IIOP_MUTUALAUTH.
+Using default port 8686 for JMX_ADMIN.
+Using default port 6666 for OSGI_SHELL.
+Enterprise ServiceDistinguished Name of the self-signed X.509 Server Certificate is:
+[CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
+No domain initializers found, bypassing customization step
+Domain sampleDomain created.
+Domain sampleDomain admin port is 7070.
+Domain sampleDomain allows admin login as user "admin" with no password.
+Command create-domain executed successfully.
+----
+
+[[GSRFM473]][[sthref215]]
+
+==== Example 3   Creating a Domain and Saving the Administration User Name and Password
+
+This example creates a domain named `myDomain` and saves the
+administration username and password.
+
+[source]
+----
+asadmin> create-domain --adminport 8282 --savelogin=true myDomain
+Enter the admin password [Enter to accept default of no password]>
+Enter the master password [Enter to accept default password "changeit"]>
+Using port 8282 for Admin.
+Using default port 8080 for HTTP Instance.
+Using default port 7676 for JMS.
+Using default port 3700 for IIOP.
+Using default port 8181 for HTTP_SSL.
+Using default port 3820 for IIOP_SSL.
+Using default port 3920 for IIOP_MUTUALAUTH.
+Using default port 8686 for JMX_ADMIN.
+Using default port 6666 for OSGI_SHELL.
+Enterprise ServiceDistinguished Name of the self-signed X.509 Server Certificate is:
+[CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
+No domain initializers found, bypassing customization step
+Domain myDomain created.
+Domain myDomain admin port is 8282.
+Domain myDomain allows admin login as user "admin" with no password.
+Login information relevant to admin user name [admin]
+for this domain [myDomain] stored at
+[/home/someuser/.asadminpass] successfully.
+Make sure that this file remains protected.
+Information stored in this file will be used by
+asadmin commands to manage this domain.
+Command create-domain executed successfully.
+----
+
+[[GSRFM474]][[sthref216]]
+
+==== Example 4   Creating a Domain and Designating the Certificate Host
+
+This example creates a domain named `domain5`. The common name of the
+host that is to be used for the self-signed certificate is `trio`.
+
+[source]
+----
+asadmin> create-domain --adminport 9898 --keytooloptions CN=trio domain5
+Enter the admin password [Enter to accept default of no password]>
+Enter the master password [Enter to accept default password "changeit"]>
+Using port 9898 for Admin.
+Using default port 8080 for HTTP Instance.
+Using default port 7676 for JMS.
+Using default port 3700 for IIOP.
+Using default port 8181 for HTTP_SSL.
+Using default port 3820 for IIOP_SSL.
+Using default port 3920 for IIOP_MUTUALAUTH.
+Using default port 8686 for JMX_ADMIN.
+Using default port 6666 for OSGI_SHELL.
+Distinguished Name of the self-signed X.509 Server Certificate is:
+[CN=trio,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
+No domain initializers found, bypassing customization step
+Domain domain5 created.
+Domain domain5 admin port is 9898.
+Domain domain5 allows admin login as user "admin" with no password.
+Command create-domain executed successfully.
+----
+
+[[sthref217]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref218]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
+link:list-domains.html#list-domains-1[`list-domains`(1)],
+link:login.html#login-1[`login`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
+
+Apache Felix Remote Shell
+(`http://felix.apache.org/site/apache-felix-remote-shell.html`), Java
+Platform Debugger Architecture (JPDA)
+(`http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-file-user.adoc b/docs/reference-manual/src/main/asciidoc/create-file-user.adoc
new file mode 100644
index 0000000..7ea76ea
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-file-user.adoc
@@ -0,0 +1,118 @@
+type=page
+status=published
+title=create-file-user
+next=create-http.html
+prev=create-domain.html
+~~~~~~
+
+= create-file-user
+
+[[create-file-user-1]][[GSRFM00024]][[create-file-user]]
+
+== create-file-user
+
+Creates a new file user
+
+[[sthref219]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-file-user [--help]
+[--authrealmnameauth_realm_name]
+[--target target
+[--groups user_groups[:user_groups]*] user_name
+----
+
+[[sthref220]]
+
+=== Description
+
+The `create-file-user` subcommand creates an entry in the keyfile with
+the specified username, password, and groups. Multiple groups can be
+created by separating them with a colon (`:`). If auth_realm_name is not
+specified, an entry is created in the keyfile for the default realm. If
+auth_realm_name is specified, an entry is created in the keyfile using
+the `auth_realm_name`.
+
+You can use the `--passwordfile` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] command to specify the
+password for the user. The password file entry must be of the form
+`AS_ADMIN_USERPASSWORD=`user-password.
+
+If a password is not provided, this subcommand fails if secure
+administration is enabled and the user being created is an
+administrative user.
+
+This subcommand is supported in remote mode only.
+
+[[sthref221]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This is the name of the target on which the command operates. The
+  valid targets are config, instance, cluster, or server. By default,
+  the target is the server.
+`--groups`::
+  This is the group associated with this file user.
+`--authrealmname`::
+  The name of the realm in which the new user is created. If you do not
+  specify this option, the user is created in the "file" realm.
+
+[[sthref222]]
+
+=== Operands
+
+user_name::
+  This is the name of file user to be created.
+
+[[sthref223]]
+
+=== Examples
+
+[[GSRFM475]][[sthref224]]
+
+==== Example 1   Creating a User in the File Realm
+
+This example creates a file realm user named `sample_user`. It is
+assumed that an authentication realm has already been created using the
+`create-auth-realm` subcommand.
+
+[source]
+----
+asadmin> create-file-user
+--groups staff:manager
+--authrealmname auth-realm1 sample_user
+Command create-file-user executed successfully
+----
+
+[[sthref225]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref226]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
+link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
+link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
+link:list-file-users.html#list-file-users-1[`list-file-users`(1)],
+link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-http-health-checker.adoc b/docs/reference-manual/src/main/asciidoc/create-http-health-checker.adoc
new file mode 100644
index 0000000..09cdfe2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-http-health-checker.adoc
@@ -0,0 +1,117 @@
+type=page
+status=published
+title=create-http-health-checker
+next=create-http-lb.html
+prev=create-http.html
+~~~~~~
+
+= create-http-health-checker
+
+[[create-http-health-checker-1]][[GSRFM00026]][[create-http-health-checker]]
+
+== create-http-health-checker
+
+Creates a health-checker for a specified load balancer configuration
+
+[[sthref235]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-http-health-checker [--help]
+[--url "/"]
+[--interval 30] [--timeout 10]
+[--config config_name] target
+----
+
+[[sthref236]]
+
+=== Description
+
+The `create-http-health-checker` subcommand creates a health checker for
+a specified load balancer configuration. A health checker is unique for
+the combination of target and load balancer configuration.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref237]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--url`::
+  The URL to ping to determine whether the instance is healthy.
+`--interval`::
+  The interval in seconds the health checker waits between checks of an
+  unhealthy instance to see whether it has become healthy. The default
+  value is 30 seconds. A value of 0 disables the health checker.
+`--timeout`::
+  The interval in seconds the health checker waits to receive a response
+  from an instance. If the health checker has not received a response in
+  this interval, the instance is considered unhealthy.
+`--config`::
+  The load balancer configuration for which you create the
+  health-checker. If you do not specify a configuration, the subcommand
+  creates a health checker for every load balancer configuration
+  associated with the target. If no configuration references the target,
+  the subcommand fails.
+
+[[sthref238]]
+
+=== Operands
+
+target::
+  Specifies the target to which the health checker applies. +
+  Valid values are:
+
+  * cluster_name- The name of a target cluster.
+  * instance_name- The name of a target server instance.
+
+[[sthref239]]
+
+=== Examples
+
+[[GSRFM477]][[sthref240]]
+
+==== Example 1   Creating a Health Checker for a Load Balancer Configuration
+
+This example creates a health checker for a load balancer configuration
+named `mycluster-http-lb-config` on a cluster named `mycluster`.
+
+[source]
+----
+asadmin> create-http-health-checker --config mycluster-http-lb-config mycluster
+
+Command create-http-health-checker executed successfully.
+----
+
+[[sthref241]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref242]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-http-health-checker.html#delete-http-health-checker-1[`delete-http-health-checker`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-http-lb-config.adoc b/docs/reference-manual/src/main/asciidoc/create-http-lb-config.adoc
new file mode 100644
index 0000000..020df7a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-http-lb-config.adoc
@@ -0,0 +1,145 @@
+type=page
+status=published
+title=create-http-lb-config
+next=create-http-lb-ref.html
+prev=create-http-lb.html
+~~~~~~
+
+= create-http-lb-config
+
+[[create-http-lb-config-1]][[GSRFM00028]][[create-http-lb-config]]
+
+== create-http-lb-config
+
+Creates a configuration for the load balancer
+
+[[sthref251]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-http-lb-config [--help]
+[--responsetimeout 60]
+[httpsrouting=false] [--reloadinterval 60]
+[--monitor=false] [--property (name=value)[:name=value]*]
+--target target | config_name
+----
+
+[[sthref252]]
+
+=== Description
+
+Use the `create-http-lb-config` subcommand to create a load balancer
+configuration. This configuration applies to load balancing in the HTTP
+path. After using this subcommand to create the load balancer
+configuration file, create the load balancer by running `create-http-lb`.
+
+You must specify either a target or a configuration name, or both. If
+you do not specify a target, the configuration is created without a
+target and you add one later using `create-http-lb-ref`. If you don't
+specify a configuration name, a name is created based on the target
+name. If you specify both, the configuration is created with the
+specified name, referencing the specified target.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref253]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--responsetimeout`::
+  The time in seconds within which a server instance must return a
+  response. If no response is received within the time period, the
+  server is considered unhealthy. If set to a positive number, and the
+  request is idempotent, the request is retried. If the request is not
+  idempotent, an error page is returned. If set to 0 no timeout is used.
+  The default is 60.
+`--httpsrouting`::
+  If set to `true`, HTTPS requests to the load balancer result in HTTPS
+  requests to the server instance. If set to `false`, HTTPS requests to
+  the load balancer result in HTTP requests to the server instance. The
+  default is `false`.
+`--reloadinterval`::
+  The interval between checks for changes to the load balancer
+  configuration file `loadbalancer.xml`. When the check detects changes,
+  the configuration file is reloaded. A value of `0` disables reloading.
+`--monitor`::
+  Specifies whether monitoring is enabled. The default is `false`.
+`--routecookie`::
+  This option is deprecated. The value is always `true`.
+`--property`::
+  Optional attribute name/value pairs for configuring the load balancer.
+`--target`::
+  Specifies the target to which the load balancer configuration applies.
+  If you don't specify a target, the load balancer configuration is
+  created without a target. You can specify targets later using the
+  subcommand `create-http-lb-ref`. +
+  Valid values are:
+
+  * cluster_name- Specifies that requests for this cluster will be
+  handled by the load balancer.
+  * stand-alone_instance_name- Specifies that requests for this
+  standalone instance will be handled by the load balancer.
+
+[[sthref254]]
+
+=== Operands
+
+config_name::
+  The name of the new load balancer configuration. This name must not
+  conflict with any other load balancer groups, agents, configurations,
+  clusters, or sever instances in the domain. If you don't specify a
+  name, the load balancer configuration name is based on the target
+  name, target_name`-http-lb-config`.
+
+[[sthref255]]
+
+=== Examples
+
+[[GSRFM479]][[sthref256]]
+
+==== Example 1   Creating a Load Balancer Configuration
+
+This example creates a load balancer configuration on a target named
+`mycluster` and load balancer configuration named `mylbconfigname`.
+
+[source]
+----
+asadmin> create-http-lb-config --target mycluster mylbconfigname
+
+Command create-http-lb-config executed successfully.
+----
+
+[[sthref257]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref258]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-http-lb-config.html#delete-http-lb-config-1[`delete-http-lb-config`(1)],
+link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)],
+link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-http-lb-ref.adoc b/docs/reference-manual/src/main/asciidoc/create-http-lb-ref.adoc
new file mode 100644
index 0000000..c607127
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-http-lb-ref.adoc
@@ -0,0 +1,212 @@
+type=page
+status=published
+title=create-http-lb-ref
+next=create-http-listener.html
+prev=create-http-lb-config.html
+~~~~~~
+
+= create-http-lb-ref
+
+[[create-http-lb-ref-1]][[GSRFM00029]][[create-http-lb-ref]]
+
+== create-http-lb-ref
+
+Adds an existing cluster or server instance to an existing load balancer
+configuration or load balancer
+
+[[sthref259]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-http-lb-ref [--help]
+--config config_name | --lbname load_balancer_name
+[--lbpolicy round-robin] [--lbpolicymodule lb_policy_module]
+[--healthcheckerurl url] [--healthcheckerinterval 10]
+[--healthcheckertimeout 10] [--lbenableallinstances=true]
+[--lbenableallapplications=true] [--lbweight instance=weight[:instance=weight]*]
+target
+----
+
+[[sthref260]]
+
+=== Description
+
+Use the `create-http-lb-ref` subcommand to:
+
+* Add an existing cluster or server instance to an existing load
+balancer configuration or load balancer. The load balancer forwards the
+requests to the clustered and standalone instances it references.
+* Set the load balancing policy to round-robin, weighted round-robin, or
+to a user-defined policy.
+* Configure a health checker for the load balancer. Any health checker
+settings defined here apply only to the target. If you do not create a
+health checker with this subcommand, use `create-http-health-checker`.
+* Enable all instances in the target cluster for load balancing, or use
+`enable-http-lb-server` to enable them individually.
+* Enable all applications deployed to the target for load balancing, or
+use `enable-http-lb-application` to enable them individually.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref261]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--config`::
+  Specifies which load balancer configuration to which to add clusters
+  and server instances. Specify either a load balancer configuration or
+  a load balancer. Specifying both results in an error.
+`--lbname`::
+  Specifies the load balancer to which to add clusters and server
+  instances. Specify either a load balancer configuration or a load
+  balancer. Specifying both results in an error.
+`--lbpolicy`::
+  The policy the load balancer follows. Valid values are `round-robin`,
+  `weighted-round-robin`, and `user-defined`. If you choose
+  user-defined, specify a load balancer policy module with the
+  `lbpolicymodule` option. If you choose `weighted-round-robin` assign
+  weights to the server instances using the `configure-lb-weight`
+  subcommand. The default is `round-robin`.
+`--lbpolicymodule`::
+  If your load balancer policy is `user-defined`, use this option to
+  specify the full path and name of the shared library of your load
+  balancing policy module. The shared library needs to be in a location
+  accessible by the web server.
+`--healthcheckerurl`::
+  The URL to ping to determine whether the instance is healthy.
+`--healthcheckerinterval`::
+  The interval in seconds the health checker waits between checks of an
+  unhealthy instance to see whether it has become healthy. The default
+  value is 30 seconds. A value of 0 disables the health checker.
+`--healthcheckertimeout`::
+  The interval in seconds the health checker waits to receive a response
+  from an instance. If the health checker has not received a response in
+  this interval, the instance is considered unhealthy. The default is
+  10.
+`--lbenableallinstances`::
+  Enables all instances in the target cluster for load balancing. If the
+  target is a server instance, enables that instance for load balancing.
+  The default value is true.
+`--lbenableallapplications`::
+  Enables all applications deployed to the target cluster or instance
+  for load balancing. The default value is true.
+`--lbweight`::
+  The name of the instance and the weight you are assigning it. The
+  weight must be an integer. The pairs of instances and weights are
+  separated by colons. For example `instance1=1:instance2=4` means that
+  for every five requests, one goes to instance1 and four go to
+  instance2. A weight of 1 is the default.
+
+[[sthref262]]
+
+=== Operands
+
+target::
+  Specifies which cluster or instance to add to the load balancer. Valid
+  values are:
++
+  * cluster_name- Specifies that requests for this cluster will be
+  handled by the load balancer.
+  * stand-alone_instance_name- Specifies that requests for this
+  standalone instance will be handled by the load balancer.
+
+[[sthref263]]
+
+=== Examples
+
+[[GSRFM480]][[sthref264]]
+
+==== Example 1   Adding a Cluster Reference to a Load Balancer Configuration
+
+This example adds a reference to a cluster named `cluster2` to a load
+balancer configuration named `mylbconfig`.
+
+[source]
+----
+asadmin> create-http-lb-ref --config mylbconfig cluster2
+
+Command create-http-lb-ref executed successfully.
+----
+
+[[GSRFM481]][[sthref265]]
+
+==== Example 2   Adding a Cluster Reference to a Load Balancer
+
+This example adds a reference to a cluster named `cluster2` to a load
+balancer named `mylb`.
+
+[source]
+----
+asadmin> create-http-lb-ref --lbname mylb cluster2
+
+Command create-http-lb-ref executed successfully.
+----
+
+[[GSRFM482]][[sthref266]]
+
+==== Example 3   Configuring a Health Checker and Load Balancer Policy
+
+This example configures a health checker and load balancing policy, and
+enables the load balancer for instances and applications.
+
+[source]
+----
+asadmin> create-http-lb-ref --config mylbconfig --lbpolicy weighted-round-robin
+--healthcheckerinterval 40 --healthcheckertimeout 20
+--lbenableallinstances=true --lbenableallapplications=true cluster2
+
+Command create-http-lb-ref executed successfully.
+----
+
+[[GSRFM483]][[sthref267]]
+
+==== Example 4   Setting a User-Defined Load Balancing Policy
+
+This example sets a user-defined load balancing policy.
+
+[source]
+----
+asadmin> create-http-lb-ref --lbpolicy user-defined --lbpolicymodule /user/modules/module.so
+--config mylbconfig cluster2
+
+Command create-http-lb-ref executed successfully.
+----
+
+[[sthref268]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref269]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:configure-lb-weight.html#configure-lb-weight-1[`configure-lb-weight`(1)],
+link:create-http-health-checker.html#create-http-health-checker-1[`create-http-health-checker`(1)],
+link:delete-http-lb-ref.html#delete-http-lb-ref-1[`delete-http-lb-ref`(1)],
+link:enable-http-lb-application.html#enable-http-lb-application-1[`enable-http-lb-application`(1)],
+link:enable-http-lb-server.html#enable-http-lb-server-1[`enable-http-lb-server`(1)],
+link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)],
+link:list-http-lbs.html#list-http-lbs-1[`list-http-lbs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-http-lb.adoc b/docs/reference-manual/src/main/asciidoc/create-http-lb.adoc
new file mode 100644
index 0000000..7d64221
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-http-lb.adoc
@@ -0,0 +1,188 @@
+type=page
+status=published
+title=create-http-lb
+next=create-http-lb-config.html
+prev=create-http-health-checker.html
+~~~~~~
+
+= create-http-lb
+
+[[create-http-lb-1]][[GSRFM00027]][[create-http-lb]]
+
+== create-http-lb
+
+Creates a load balancer
+
+[[sthref243]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-http-lb [--help]
+--devicehost device_host_or_IP_address --deviceport device_port
+[--sslproxyhost proxy_host]
+[--sslproxyport proxy_port] [--target target] [--lbpolicy lbpolicy] [--lbpolicymodule lb_policy_module] [--healthcheckerurl url]
+[--healthcheckerinterval 10] [--healthcheckertimeout 10]
+[--lbenableallinstances=true] [--lbenableallapplications=true] [--lbweight instance=weight[:instance=weight]*] [--responsetimeout 60] [--httpsrouting=false] [--reloadinterval60][--monitor=false][--routecookie=true]
+[--property (name=value)[:name=value]*
+] load_balancer_name
+----
+
+[[sthref244]]
+
+=== Description
+
+Use the `create-http-lb` subcommand to create a load balancer, including
+the load balancer configuration, target reference, and health checker. A
+load balancer is a representation of the actual load balancer device,
+defined by its device host and port information. Once you've created the
+load balancer, you can automatically apply changes made to the load
+balancer configuration without running `export-http-lb-config` and
+manually copying the generated load balancer configuration file to the
+web server instance.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref245]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--devicehost`::
+  The device host or the IP address of the load balancing device. This
+  host or IP is where the physical load balancer will reside.
+`--deviceport`::
+  The port used to communicate with the load balancing device. It must
+  be SSL enabled.
+`--sslproxyhost`::
+  The proxy host used for outbound HTTP.
+`--sslproxyport`::
+  The proxy port used for outbound HTTP.
+`--target`::
+  Specifies the target to which the load balancer applies. +
+  Valid values are:
+
+  * cluster_name - Specifies that requests for this cluster will be
+  handled by the load balancer.
+  * stand-alone_instance_name - Specifies that requests for this
+  stand-alone instance will be handled by the load balancer.
+
+`--lbpolicy`::
+  The policy the load balancer follows to distribute load to the server
+  instances in a cluster. Valid values are `round-robin`,
+  `weighted-round-robin`, and `user-defined`. If you choose
+  `user-defined`, specify a load balancer policy module with the
+  `lbpolicymodule` option. If you choose `weighted-round-robin`, assign
+  weights to the server instances using the `configure-lb-weight`
+  subcommand. The default is `round-robin`.
+`--lbpolicymodule`::
+  If your target is a cluster and the load balancer policy is
+  `user-defined`, use this option to specify the full path and name of
+  the shared library of your load balancing policy module. The shared
+  library needs to be in a location accessible by the web server.
+`--healthcheckerurl`::
+  The URL to ping to determine whether the instance is healthy.
+`--healthcheckerinterval`::
+  The interval in seconds the health checker waits between checks of an
+  unhealthy instance to see whether it has become healthy. The default
+  value is 10 seconds. A value of 0 disables the health checker.
+`--healthcheckertimeout`::
+  The interval in seconds the health checker waits to receive a response
+  from an instance. If the health checker has not received a response in
+  this interval, the instance is considered unhealthy. The default value
+  is 10 seconds.
+`--lbenableallinstances`::
+  Enables all instances in the target cluster for load balancing. If the
+  target is a server instance, enables that instance for load balancing.
+`--lbenableallapplications`::
+  Enables all applications deployed to the target cluster or instance
+  for load balancing.
+`--lbweight`::
+  The name of the instance and the weight you are assigning it. The
+  weight must be an integer. The pairs of instances and weights are
+  separated by colons. For example `instance1=1:instance2=4` means that
+  for every five requests, one goes to instance1 and four go to
+  instance2. A weight of 1 is the default.
+`--responsetimeout`::
+  The time in seconds within which a server instance must return a
+  response. If no response is received within the time period, the
+  server is considered unhealthy. If set to a positive number, and the
+  request is idempotent, the request is retried. If the request is not
+  idempotent, an error page is returned. If set to 0 no timeout is used.
+  The default is 60.
+`--httpsrouting`::
+  If set to `true`, HTTPS requests to the load balancer result in HTTPS
+  requests to the server instance. If set to `false`, HTTPS requests to
+  the load balancer result in HTTP requests to the server instance. The
+  default is `false`.
+`--reloadinterval`::
+  The time, in seconds, that the load balancer takes to check for an
+  updated configuration. When detected, the configuration file is
+  reloaded. The default value is 60 seconds. A value of 0 disables
+  reloading.
+`--monitor`::
+  If set to `true`, monitoring of the load balancer is switched on. The
+  default value is `false`.
+`--routecookie`::
+  This option is deprecated. The value is always true.
+`--property`::
+  Optional attribute name/value pairs for configuring the load balancer.
+
+[[sthref246]]
+
+=== Operands
+
+lb_name::
+  The name of the new load balancer. This name must not conflict with
+  any other load balancers in the domain.
+
+[[sthref247]]
+
+=== Examples
+
+[[GSRFM478]][[sthref248]]
+
+==== Example 1   Creating a Load Balancer
+
+This example creates a load balancer named `mylb`.
+
+[source]
+----
+asadmin> create-http-lb
+--devicehost host1 --deviceport 5555 mylb
+
+Command create-http-lb executed successfully.
+----
+
+[[sthref249]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref250]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-http-lb.html#delete-http-lb-1[`delete-http-lb`(1)],
+link:list-http-lbs.html#list-http-lbs-1[`list-http-lbs`(1)],
+link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-http-listener.adoc b/docs/reference-manual/src/main/asciidoc/create-http-listener.adoc
new file mode 100644
index 0000000..2f8f4d1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-http-listener.adoc
@@ -0,0 +1,180 @@
+type=page
+status=published
+title=create-http-listener
+next=create-http-redirect.html
+prev=create-http-lb-ref.html
+~~~~~~
+
+= create-http-listener
+
+[[create-http-listener-1]][[GSRFM00030]][[create-http-listener]]
+
+== create-http-listener
+
+Adds a new HTTP network listener socket
+
+[[sthref270]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-http-listener [--help]
+--listeneraddress address
+--listenerport listener-port
+{--default-virtual-server | --defaultvs} virtual-server
+[--servername server-name]
+[--acceptorthreads acceptor-threads]
+[--xpowered={true|false}]
+[--redirectport redirect-port]
+[--securityenabled={false|true}]
+[--enabled={true|false}]
+[--target target]
+listener-id
+----
+
+[[sthref271]]
+
+=== Description
+
+The `create-http-listener` subcommand creates an HTTP network listener.
+This subcommand is supported in remote mode only.
+
+
+[NOTE]
+====
+If you edit the special HTTP network listener named `admin-listener`,
+you must restart the server for the changes to take effect. The
+Administration Console does not tell you that a restart is required in
+this case.
+====
+
+[NOTE]
+====
+This subcommand is provided for backward compatibility and as a shortcut
+for creating network listeners that use the HTTP protocol. Behind the
+scenes, this subcommand creates a network listener and its associated
+protocol, transport, and HTTP configuration.
+====
+
+
+[[sthref272]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--listeneraddress`::
+  The IP address or the hostname (resolvable by DNS).
+`--listenerport`::
+  The port number to create the listen socket on. Legal values are
+  1-65535. On UNIX, creating sockets that listen on ports 1-1024
+  requires superuser privileges. Configuring an SSL listen socket to
+  listen on port 443 is recommended.
+`--default-virtual-server`::
+`--defaultvs`::
+  The ID attribute of the default virtual server for this listener. The
+  `--defaultvs` option is deprecated.
+`--servername`::
+  Tells the server what to put in the host name section of any URLs it
+  sends to the client. This affects URLs the server automatically
+  generates; it doesn't affect the URLs for directories and files stored
+  in the server. This name should be the alias name if your server uses
+  an alias. If a colon and port number are appended, that port will be
+  used in URLs that the server sends to the client.
+`--acceptorthreads`::
+  The number of acceptor threads for the listener socket. The
+  recommended value is the number of processors in the machine. The
+  default value is 1.
+`--xpowered`::
+  If set to `true`, adds the `X-Powered-By: Servlet/3.0` and
+  `X-Powered-By: JSP/2.0` headers to the appropriate responses. The
+  Servlet 3.0 specification defines the `X-Powered-By: Servlet/3.0`
+  header, which containers may add to servlet-generated responses.
+  Similarly, the JSP 2.0 specification defines the
+  `X-Powered-By: JSP/2.0` header, which containers may add to responses
+  that use JSP technology. The goal of these headers is to aid in
+  gathering statistical data about the use of Servlet and JSP
+  technology. The default value is `true`.
+`--redirectport`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--securityenabled`::
+  If set to true, the HTTP listener runs SSL. You can turn SSL2 or SSL3
+  ON or OFF and set ciphers using an SSL element. The security setting
+  globally enables or disables SSL by making certificates available to
+  the server instance. The default value is `false`.
+`--enabled`::
+  If set to true, the listener is enabled at runtime. The default value
+  is `true`.
+`--target`::
+  Creates the HTTP listener only on the specified target. Valid values
+  are as follows:
++
+  `server`;;
+    Creates the HTTP listener on the default server instance. This is
+    the default value.
+  configuration-name;;
+    Creates the HTTP listener in the specified configuration.
+  cluster-name;;
+    Creates the HTTP listener on all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Creates the HTTP listener on the specified standalone server
+    instance.
+
+[[sthref273]]
+
+=== Operands
+
+listener-id::
+  The listener ID of the HTTP network listener.
+
+[[sthref274]]
+
+=== Examples
+
+[[GSRFM484]][[sthref275]]
+
+==== Example 1   Creating an HTTP Network Listener
+
+The following command creates an HTTP network listener named
+`sampleListener` that uses a nondefault number of acceptor threads and
+is not enabled at runtime:
+
+[source]
+----
+asadmin> create-http-listener --listeneraddress 0.0.0.0 --listenerport 7272
+--defaultvs server --servername host1.sun.com --acceptorthreads 100
+--securityenabled=false --enabled=false sampleListener
+Command create-http-listener executed successfully.
+----
+
+[[sthref276]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref277]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-ssl.html#create-ssl-1[`create-ssl`(1)],
+link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
+link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
+link:delete-http-listener.html#delete-http-listener-1[`delete-http-listener`(1)],
+link:list-http-listeners.html#list-http-listeners-1[`list-http-listeners`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-http-redirect.adoc b/docs/reference-manual/src/main/asciidoc/create-http-redirect.adoc
new file mode 100644
index 0000000..acb3587
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-http-redirect.adoc
@@ -0,0 +1,94 @@
+type=page
+status=published
+title=create-http-redirect
+next=create-iiop-listener.html
+prev=create-http-listener.html
+~~~~~~
+
+= create-http-redirect
+
+[[create-http-redirect-1]][[GSRFM00031]][[create-http-redirect]]
+
+== create-http-redirect
+
+Adds a new HTTP redirect
+
+[[sthref278]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-http-redirect [--help]
+[--redirect-port redirect-port]
+[--secure-redirect={false|true}]
+[--target target]
+protocol-name
+----
+
+[[sthref279]]
+
+=== Description
+
+The `create-http-redirect` subcommand creates an HTTP redirect. This
+subcommand is supported in remote mode only.
+
+[[sthref280]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--redirect-port`::
+  Port number for redirects. If the HTTP listener is supporting non-SSL
+  requests, and a request is received for which a matching
+  security-constraint requires SSL transport, {productName}
+  automatically redirects the request to this port number.
+`--secure-redirect`::
+  If set to true, the HTTP redirect runs SSL. The default value is
+  `false`.
+`--target`::
+  Creates the HTTP redirect only on the specified target. Valid values
+  are as follows:
++
+  `server`;;
+    Creates the HTTP redirect on the default server instance. This is
+    the default value.
+  configuration-name;;
+    Creates the HTTP redirect in the specified configuration.
+  cluster-name;;
+    Creates the HTTP redirect on all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Creates the HTTP redirect on the specified standalone server
+    instance.
+
+[[sthref281]]
+
+=== Operands
+
+protocol-name::
+  The name of the protocol to which to apply the redirect.
+
+[[sthref282]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref283]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-http-redirect.html#delete-http-redirect-1[`delete-http-redirect`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-http.adoc b/docs/reference-manual/src/main/asciidoc/create-http.adoc
new file mode 100644
index 0000000..bdb294f
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-http.adoc
@@ -0,0 +1,136 @@
+type=page
+status=published
+title=create-http
+next=create-http-health-checker.html
+prev=create-file-user.html
+~~~~~~
+
+= create-http
+
+[[create-http-1]][[GSRFM00025]][[create-http]]
+
+== create-http
+
+Sets HTTP parameters for a protocol
+
+[[sthref227]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-http [--help]
+--default-virtual-server virtual-server
+[--request-timeout-seconds timeout]
+[--timeout-seconds timeout]
+[--max-connection max-keepalive]
+[--dns-lookup-enabled={false|true}]
+[--servername server-name]
+[--target target]
+protocol-name
+----
+
+[[sthref228]]
+
+=== Description
+
+The `create-http` subcommand creates a set of HTTP parameters for a
+protocol, which in turn configures one or more network listeners. This
+subcommand is supported in remote mode only.
+
+[[sthref229]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--default-virtual-server`::
+  The ID attribute of the default virtual server for the associated
+  network listeners.
+`--request-timeout-seconds`::
+  The time in seconds at which the request times out. If you do not set
+  this option, the request times out in 30 seconds.
+`--timeout-seconds`::
+  The maximum time in seconds for which a keep alive connection is kept
+  open. A value of `0` or less means keep alive connections are kept
+  open indefinitely. The default is `30`.
+`--max-connection`::
+  The maximum number of HTTP requests that can be pipelined until the
+  connection is closed by the server. Set this property to `1` to
+  disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and
+  pipelining. The default is `256`.
+`--dns-lookup-enabled`::
+  If set to `true`, looks up the DNS entry for the client. The default
+  is `false`.
+`--servername`::
+  Tells the server what to put in the host name section of any URLs it
+  sends to the client. This affects URLs the server automatically
+  generates; it doesn't affect the URLs for directories and files stored
+  in the server. This name should be the alias name if your server uses
+  an alias. If a colon and port number are appended, that port will be
+  used in URLs that the server sends to the client.
+`--target`::
+  Creates the set of HTTP parameters only on the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Creates the set of HTTP parameters on the default server instance.
+    This is the default value.
+  configuration-name;;
+    Creates the set of HTTP parameters in the specified configuration.
+  cluster-name;;
+    Creates the set of HTTP parameters on all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Creates the set of HTTP parameters on the specified standalone
+    server instance.
+
+[[sthref230]]
+
+=== Operands
+
+protocol-name::
+  The name of the protocol to which this HTTP parameter set applies.
+
+[[sthref231]]
+
+=== Examples
+
+[[GSRFM476]][[sthref232]]
+
+==== Example 1   Using the `create-http` Subcommand
+
+The following command creates an HTTP parameter set for the protocol
+named `http-1`:
+
+[source]
+----
+asadmin> create-http --timeout-seconds 60 --default-virtual-server server http-1
+Command create-http executed successfully.
+----
+
+[[sthref233]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref234]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
+link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
+link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
+link:delete-http.html#delete-http-1[`delete-http`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-iiop-listener.adoc b/docs/reference-manual/src/main/asciidoc/create-iiop-listener.adoc
new file mode 100644
index 0000000..e0aa371
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-iiop-listener.adoc
@@ -0,0 +1,132 @@
+type=page
+status=published
+title=create-iiop-listener
+next=create-instance.html
+prev=create-http-redirect.html
+~~~~~~
+
+= create-iiop-listener
+
+[[create-iiop-listener-1]][[GSRFM00032]][[create-iiop-listener]]
+
+== create-iiop-listener
+
+Adds an IIOP listener
+
+[[sthref284]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-iiop-listener [--help]
+--listeneraddress address
+[--iiopport iiop-port-number] [--securityenabled={false|true}] [--enabled={true|false}]
+[--property (name=value)[:name=value]*]
+[--target target] listener_id
+----
+
+[[sthref285]]
+
+=== Description
+
+The `create-iiop-listener` subcommand creates an IIOP listener. This
+subcommand is supported in remote mode only.
+
+[[sthref286]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--listeneraddress`::
+  Either the IP address or the hostname (resolvable by DNS).
+`--iiopport`::
+  The IIOP port number. The default value is 1072.
+`--securityenabled`::
+  If set to true, the IIOP listener runs SSL. You can turn SSL2 or SSL3
+  ON or OFF and set ciphers using an SSL element. The security setting
+  globally enables or disables SSL by making certificates available to
+  the server instance. The default value is `false`.
+`--enabled`::
+  If set to true, the IIOP listener is enabled at runtime. The default
+  value is `true`.
+`--property`::
+  Optional attribute name/value pairs for configuring the IIOP listener.
+`--target`::
+  Specifies the target for which you are creating the IIOP listener.
+  Valid values are
++
+  `server`;;
+    Creates the listener for the default server instance `server` and is
+    the default value.
+  configuration_name;;
+    Creates the listener for the named configuration.
+  cluster_name;;
+    Creates the listener for every server instance in the cluster.
+  stand-alone_instance_name;;
+    Creates the listener for a particular standalone server instance.
+
+[[sthref287]]
+
+=== Operands
+
+listener_id::
+  A unique identifier for the IIOP listener to be created.
+
+[[sthref288]]
+
+=== Examples
+
+[[GSRFM485]][[sthref289]]
+
+==== Example 1   Creating an IIOP Listener
+
+The following command creates an IIOP listener named
+`sample_iiop_listener`:
+
+[source]
+----
+asadmin> create-iiop-listener --listeneraddress 192.168.1.100
+--iiopport 1400 sample_iiop_listener
+Command create-iiop-listener executed successfully.
+----
+
+[[GSRFM486]][[sthref290]]
+
+==== Example 2   Creating an IIOP Listener with a Target Cluster
+
+The following command creates an IIOP listener named `iiop_listener_2`
+for the cluster `mycluster`. It uses the target option.
+
+[source]
+----
+asadmin> create-iiop-listener --listeneraddress 0.0.0.0 --iiopport 1401
+--target mycluster iiop_listener_2
+Command create-iiop-listener executed successfully.
+----
+
+[[sthref291]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref292]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-ssl.html#create-ssl-1[`create-ssl`(1)],
+link:delete-iiop-listener.html#delete-iiop-listener-1[`delete-iiop-listener`(1)],
+link:list-iiop-listeners.html#list-iiop-listeners-1[`list-iiop-listeners`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-instance.adoc b/docs/reference-manual/src/main/asciidoc/create-instance.adoc
new file mode 100644
index 0000000..e71f6bf
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-instance.adoc
@@ -0,0 +1,401 @@
+type=page
+status=published
+title=create-instance
+next=create-jacc-provider.html
+prev=create-iiop-listener.html
+~~~~~~
+
+= create-instance
+
+[[create-instance-1]][[GSRFM00033]][[create-instance]]
+
+== create-instance
+
+Creates a {productName} instance
+
+[[sthref293]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-instance [--help]
+--node node-name
+[--config config-name | --cluster cluster-name]
+[--lbenabled={true|false}]
+[--portbase=port-number] [--checkports={true|false}]
+[--systemproperties (name=value)[:name=value]* ]
+instance-name
+----
+
+[[sthref294]]
+
+=== Description
+
+The `create-instance` subcommand creates a {productName} instance.
+This subcommand requires the Distributed Component Object Model (DCOM)
+remote protocol or secure shell (SSH) to be configured on the host where
+the domain administration server (DAS) is running and on the host that
+is represented by the node where the instance is to reside.
+
+
+[NOTE]
+====
+DCOM or SSH is not required if the instance is to reside on a node of
+type `CONFIG` that represents the local host. A node of type `CONFIG` is
+not enabled for remote communication over DCOM or SSH.
+====
+
+
+You may run this command from any host that can contact the DAS.
+
+A {productName} instance is a single Virtual Machine for the Java
+platform (Java Virtual Machine or JVM machine) on a single node in which
+{productName} is running. A node defines the host where the
+{productName} instance resides. The JVM machine must be compatible
+with the Java Platform, Enterprise Edition (Jakarta EE).
+
+A {productName} instance requires a reference to the following
+items:
+
+* The node that defines the host where the instance resides. The node
+must be specified in the command to create the instance.
+* The named configuration that defines the configuration of the
+instance. The configuration can be specified in the command to create
+the instance, but is not required. If no configuration is specified for
+an instance that is not joining a cluster, the subcommand creates a
+configuration for the instance. An instance that is joining a cluster
+receives its configuration from its parent cluster.
+
+Each {productName} instance is one of the following types of instance:
+
+Standalone instance::
+  A standalone instance does not share its configuration with any other
+  instances or clusters. A standalone instance is created if either of
+  the following conditions is met:
++
+--
+  * No configuration or cluster is specified in the command to create
+  the instance.
+  * A configuration that is not referenced by any other instances or
+  clusters is specified in the command to create the instance.
+--
++
+When no configuration or cluster is specified, a copy of the
+  `default-config` configuration is created for the instance.
+  The name of this configuration is instance-name``-config``, where instance-name
+  represents the name of an unclustered server instance.
+
+Shared instance::
+  A shared instance shares its configuration with other instances or
+  clusters. A shared instance is created if a configuration that is
+  referenced by other instances or clusters is specified in the command
+  to create the instance.
+Clustered instance::
+  A clustered instance inherits its configuration from the cluster to
+  which the instance belongs and shares its configuration with other
+  instances in the cluster. A clustered instance is created if a cluster
+  is specified in the command to create the instance. +
+  Any instance that is not part of a cluster is considered an
+  unclustered server instance. Therefore, standalone instances and
+  shared instances are unclustered server instances.
+
+By default, this subcommand attempts to resolve possible port conflicts
+for the instance that is being created. The subcommand also assigns
+ports that are currently not in use and not already assigned to other
+instances on the same node. The subcommand assigns these ports on the
+basis of an algorithm that is internal to the subcommand. Use the
+`--systemproperties` option to resolve port conflicts for additional
+instances on the same node. System properties of an instance can be
+manipulated by using the
+link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)]
+subcommand and the
+link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)]
+subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref295]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--node`::
+  The name of the node that defines the host where the instance is to be
+  created. The node must already exist. If the instance is to be created
+  on the host where the domain administration server (DAS) is running,
+  use the predefined node ``localhost-``domain.
+`--config`::
+  Specifies the named configuration that the instance references. The
+  configuration must exist and must not be named `default-config` or
+  `server-config`. Specifying the `--config` option creates a shared
+  instance. +
+  The `--config` option and the `--cluster` option are mutually
+  exclusive. If both options are omitted, a standalone instance is
+  created.
+`--cluster`::
+  Specifies the cluster from which the instance inherits its
+  configuration. Specifying the `--cluster` option creates a clustered
+  instance. +
+  The `--config` option and the `--cluster` option are mutually
+  exclusive. If both options are omitted, a standalone instance is
+  created.
+`--lbenabled`::
+  Specifies whether the instance is enabled for load balancing. Possible
+  values are as follows:
+
+  `true`;;
+    The instance is enabled for load balancing (default). +
+    When an instance is enabled for load balancing, a load balancer
+    sends requests to the instance.
+  `false`;;
+    The instance is disabled for load balancing. +
+    When an instance is disabled for load balancing, a load balancer
+    does not send requests to the instance.
+
+`--portbase`::
+  Determines the number with which the port assignment should start. An
+  instance uses a certain number of ports that are statically assigned.
+  The portbase value determines where the assignment should start.
+  The values for the ports are calculated as follows:
++
+  * Administration port: portbase + 48
+  * HTTP listener port: portbase + 80
+  * HTTPS listener port: portbase + 81
+  * JMS port: portbase + 76
+  * IIOP listener port: portbase + 37
+  * Secure IIOP listener port: portbase + 38
+  * Secure IIOP with mutual authentication port: portbase + 39
+  * JMX port: portbase + 86
+  * JPA debugger port: portbase + 9
+  * Felix shell service port for OSGi module management: portbase + 66
++
+When the `--portbase` option is specified, the output of this
+  subcommand includes a complete list of used ports.
+`--checkports`::
+  Specifies whether to check for the availability of the administration,
+  HTTP, JMS, JMX, and IIOP ports. The default value is `true`.
+`--systemproperties`::
+  Defines system properties for the instance. These properties override
+  property definitions for port settings in the instance's
+  configuration. Predefined port settings must be overridden if, for
+  example, two clustered instances reside on the same host. In this
+  situation, port settings for one instance must be overridden because
+  both instances share the same configuration. +
+  The following properties are available:
+
+  `ASADMIN_LISTENER_PORT`;;
+    This property specifies the port number of the HTTP port or HTTPS
+    port through which the DAS connects to the instance to manage the
+    instance. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `HTTP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTP requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `HTTP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `IIOP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_MUTUALAUTH_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections with client authentication. Valid values are
+    1-65535. On UNIX, creating sockets that listen on ports 1-1024
+    requires superuser privileges.
+  `JAVA_DEBUGGER_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the Java Platform Debugger Architecture (JPDA)
+    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+    debugger. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMS_PROVIDER_PORT`;;
+    This property specifies the port number for the Java Message Service
+    provider. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMX_SYSTEM_CONNECTOR_PORT`;;
+    This property specifies the port number on which the JMX connector
+    listens. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `OSGI_SHELL_TELNET_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the Apache Felix Remote Shell
+    (`http://felix.apache.org/site/apache-felix-remote-shell.html`).
+    This shell uses the Felix shell service to interact with the OSGi
+    module management subsystem. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+
+[[sthref296]]
+
+=== Operands
+
+instance-name::
+  The name of the instance that is being created. +
+  The name must meet the following requirements:
+
+  * The name may contain only ASCII characters.
+  * The name must start with a letter, a number, or an underscore.
+  * The name may contain only the following characters:
+  ** Lowercase letters
+  ** Uppercase letters
+  ** Numbers
+  ** Hyphen
+  ** Period
+  ** Underscore
+  * The name must be unique in the domain and must not be the name of
+  another {productName} instance, a cluster, a named configuration,
+  or a node.
+  * The name must not be `domain`, `server`, or any other keyword that
+  is reserved by {productName}.
+
+[[sthref297]]
+
+=== Examples
+
+[[GSRFM487]][[sthref298]]
+
+==== Example 1   Creating a Standalone {productName} Instance
+
+This example creates the standalone {productName} instance
+`pmdsainst` in the domain `domain1` on the local host.
+
+[source]
+----
+asadmin> create-instance --node localhost-domain1 pmdsainst
+Port Assignments for server instance pmdsainst:
+JMX_SYSTEM_CONNECTOR_PORT=28688
+JMS_PROVIDER_PORT=27678
+ASADMIN_LISTENER_PORT=24850
+HTTP_LISTENER_PORT=28082
+IIOP_LISTENER_PORT=23702
+IIOP_SSL_LISTENER_PORT=23822
+HTTP_SSL_LISTENER_PORT=28183
+IIOP_SSL_MUTUALAUTH_PORT=23922
+
+Command create-instance executed successfully.
+----
+
+[[GSRFM488]][[sthref299]]
+
+==== Example 2   Creating a Standalone {productName} Instance With Custom
+Port Assignments
+
+This example creates the standalone {productName} instance
+`pmdcpinst` in the domain `domain1` on the local host. Custom port
+numbers are assigned to the following ports:
+
+* HTTP listener port
+* HTTPS listener port
+* IIOP connections port
+* Secure IIOP connections port
+* Secure IIOP connections port with mutual authentication
+* JMX connector port
+
+[source]
+----
+asadmin> create-instance --node localhost-domain1
+--systemproperties HTTP_LISTENER_PORT=58294:
+HTTP_SSL_LISTENER_PORT=58297:
+IIOP_LISTENER_PORT=58300:
+IIOP_SSL_LISTENER_PORT=58303:
+IIOP_SSL_MUTUALAUTH_PORT=58306:
+JMX_SYSTEM_CONNECTOR_PORT=58309 pmdcpinst
+Port Assignments for server instance pmdcpinst:
+JMS_PROVIDER_PORT=27679
+ASADMIN_LISTENER_PORT=24851
+
+Command create-instance executed successfully.
+----
+
+[[GSRFM489]][[sthref300]]
+
+==== Example 3   Creating a Shared {productName} Instance
+
+This example creates the shared {productName} instance
+`pmdsharedinst1` in the domain `domain1` on the local host. The shared
+configuration of this instance is `pmdsharedconfig`.
+
+[source]
+----
+asadmin create-instance --node localhost-domain1 --config pmdsharedconfig
+pmdsharedinst1
+Port Assignments for server instance pmdsharedinst1:
+JMX_SYSTEM_CONNECTOR_PORT=28687
+JMS_PROVIDER_PORT=27677
+ASADMIN_LISTENER_PORT=24849
+HTTP_LISTENER_PORT=28081
+IIOP_LISTENER_PORT=23701
+IIOP_SSL_LISTENER_PORT=23821
+HTTP_SSL_LISTENER_PORT=28182
+IIOP_SSL_MUTUALAUTH_PORT=23921
+
+Command create-instance executed successfully.
+----
+
+[[GSRFM490]][[sthref301]]
+
+==== Example 4   Creating a Clustered {productName} Instance
+
+This example creates the clustered {productName} instance `pmdinst1`
+in the domain `domain1` on the local host. The instance is a member of
+the cluster `pmdclust1`.
+
+[source]
+----
+asadmin> create-instance --node localhost-domain1 --cluster pmdclust pmdinst1
+Port Assignments for server instance pmdinst1:
+JMX_SYSTEM_CONNECTOR_PORT=28686
+JMS_PROVIDER_PORT=27676
+HTTP_LISTENER_PORT=28080
+ASADMIN_LISTENER_PORT=24848
+IIOP_SSL_LISTENER_PORT=23820
+IIOP_LISTENER_PORT=23700
+HTTP_SSL_LISTENER_PORT=28181
+IIOP_SSL_MUTUALAUTH_PORT=23920
+
+Command create-instance executed successfully.
+----
+
+[[sthref302]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref303]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)],
+link:list-instances.html#list-instances-1[`list-instances`(1)],
+link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jacc-provider.adoc b/docs/reference-manual/src/main/asciidoc/create-jacc-provider.adoc
new file mode 100644
index 0000000..baca7e9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jacc-provider.adoc
@@ -0,0 +1,153 @@
+type=page
+status=published
+title=create-jacc-provider
+next=create-javamail-resource.html
+prev=create-instance.html
+~~~~~~
+
+= create-jacc-provider
+
+[[create-jacc-provider-1]][[GSRFM00034]][[create-jacc-provider]]
+
+== create-jacc-provider
+
+Enables administrators to create a JACC provider that can be used by
+third-party authorization modules for applications running in
+{productName}
+
+[[sthref304]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jacc-provider [--help]
+[--policyproviderclass pol-provider-class]
+[--policyconfigfactoryclass pc-factory-class]
+[--property name=value)[:name=value]*]
+[--target target] jacc-provider-name
+----
+
+[[sthref305]]
+
+=== Description
+
+The `create-jacc-provider` subcommand creates a JSR-115—compliant Java
+Authorization Contract for Containers (JACC) provider that can be used
+for authorization of applications running in {productName}. The JACC
+provider is created as a `jacc-provider` element within the
+`security-service` element in the domain's `domain.xml` file.
+
+The default {productName} installation includes two JACC providers,
+named `default` and `simple`. Any JACC providers created with the
+`create-jacc-provider` subcommand are in addition to these two default
+providers. The default {productName} JACC providers implement a
+simple, file-based authorization engine that complies with the JACC
+specification. The `create-jacc-provider` subcommand makes it possible
+to specify additional third-party JACC providers.
+
+You can create any number of JACC providers within the
+`security-service` element, but the {productName} runtime uses only
+one of them at any given time. The `jacc-provider` element in the
+`security-service` element points to the name of the provider that is
+currently in use by {productName}. If you change this element to
+point to a different JACC provider, restart {productName}.
+
+This command is supported in remote mode only.
+
+[[sthref306]]
+
+=== Options
+
+If an option has a short option name, then the short option precedes the
+long option name. Short options have one dash whereas long options have
+two dashes.
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--policyproviderclass`::
+  Specifies the fully qualified class name for the
+  `javax.security.jacc.policy.provider` that implements the
+  `java.security.Policy`.
+`--policyconfigfactoryclass`::
+  Specifies the fully qualified class name for the
+  `javax.security.jacc.PolicyConfigurationFactory.provider` that
+  implements the provider-specific
+  `javax.security.jacc.PolicyConfigurationFactory`.
+`--property`::
+  Optional attribute name/value pairs for configuring the JACC provider.
+  The following properties are available:
+
+  `repository`;;
+    The directory containing the JACC policy file. For the `default`
+    {productName} JACC provider, the default directory is
+    `${com.sun.aas.instanceRoot}/generated/policy`. This property is not
+    defined by default for the `simple` {productName} JACC provider.
+
+`--target`::
+  Specifies the target for which you are creating the JACC provider. The
+  following values are valid:
+
+  `server`;;
+    Creates the JACC provider on the default server instance. This is
+    the default value.
+  configuration_name;;
+    Creates the JACC provider in the specified configuration.
+  cluster_name;;
+    Creates the JACC provider on all server instances in the specified
+    cluster.
+  instance_name;;
+    Creates the JACC provider on a specified server instance.
+
+[[sthref307]]
+
+=== Operands
+
+jacc-provider-name::
+  The name of the provider used to reference the `jacc-provider` element
+  in `domain.xml`.
+
+[[sthref308]]
+
+=== Examples
+
+[[GSRFM491]][[sthref309]]
+
+==== Example 1   Creating a JACC Provider
+
+The following example shows how to create a JACC provider named
+`testJACC` on the default `server` target.
+
+[source]
+----
+asadmin> create-jacc-provider
+--policyproviderclass org.glassfish.exousia.modules.locked.SimplePolicyProvider
+--policyconfigfactoryclass org.glassfish.exousia.modules.locked.SimplePolicyConfigurationFactory
+testJACC
+
+Command create-jacc-provider executed successfully.
+----
+
+[[sthref310]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref311]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-jacc-provider.html#delete-jacc-provider-1[`delete-jacc-provider`(1)],
+link:list-jacc-providers.html#list-jacc-providers-1[`list-jacc-providers`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-javamail-resource.adoc b/docs/reference-manual/src/main/asciidoc/create-javamail-resource.adoc
new file mode 100644
index 0000000..4c3abe9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-javamail-resource.adoc
@@ -0,0 +1,154 @@
+type=page
+status=published
+title=create-javamail-resource
+next=create-jdbc-connection-pool.html
+prev=create-jacc-provider.html
+~~~~~~
+
+= create-javamail-resource
+
+[[create-javamail-resource-1]][[GSRFM00035]][[create-javamail-resource]]
+
+== create-javamail-resource
+
+Creates a JavaMail session resource
+
+[[sthref312]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-javamail-resource [--help]
+[--target target] --mailhost hostname
+--mailuser username --fromaddress address [--storeprotocol storeprotocol]
+[--storeprotocolclass storeprotocolclass] [--transprotocol transprotocol]
+[--transprotocolclass transprotocolclass] [--debug={false|true}] [--enabled={true|false}]
+[--description resource-description] [--property (name=value)[:name=value]*] jndi-name
+----
+
+[[sthref313]]
+
+=== Description
+
+The `create-javamail-resource` subcommand creates a JavaMail session
+resource.
+
+This subcommand is supported in remote mode only.
+
+[[sthref314]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target for which you are creating the
+  JavaMail session resource. Valid values are:
++
+  `server`;;
+    Creates the resource for the default server instance. This is the
+    default value.
+  `domain`;;
+    Creates the resource for the domain.
+  cluster_name;;
+    Creates the resource for every server instance in the cluster.
+  instance_name;;
+    Creates the resource for a particular server instance.
+`--mailhost`::
+  The DNS name of the default mail server. The connect methods of the
+  Store and Transport objects use this value if a protocol-specific host
+  property is not supplied. The name must be resolvable to an actual
+  host name.
+`--mailuser`::
+  The name of the mail account user provided when connecting to a mail
+  server. The connect methods of the Store and Transport objects use
+  this value if a protocol-specific username property is not supplied.
+`--fromaddress`::
+  The email address of the default user, in the form
+  username`@`host`.`domain.
+`--storeprotocol`::
+  The mail server store protocol. The default is `imap`. Change this
+  value only if you have reconfigured the {productName}'s mail
+  provider to use a non-default store protocol.
+`--storeprotocolclass`::
+  The mail server store protocol class name. The default is
+  `com.sun.mail.imap.IMAPStore`. Change this value only if you have
+  reconfigured the {productName}'s mail provider to use a nondefault
+  store protocol.
+`--transprotocol`::
+  The mail server transport protocol. The default is `smtp`. Change this
+  value only if you have reconfigured the {productName}'s mail
+  provider to use a nondefault transport protocol.
+`--transprotocolclass`::
+  The mail server transport protocol class name. The default is
+  `com.sun.mail.smtp.SMTPTransport`. Change this value only if you have
+  reconfigured the {productName}'s mail provider to use a nondefault
+  transport protocol.
+`--debug`::
+  If set to true, the server starts up in debug mode for this resource.
+  If the JavaMail log level is set to `FINE` or `FINER`, the debugging
+  output will be generated and will be included in the server log file.
+  The default value is false.
+`--enabled`::
+  If set to true, the resource is enabled at runtime. The default value
+  is true.
+`--description`::
+  Text providing some details of the JavaMail resource.
+`--property`::
+  Optional attribute name/value pairs for configuring the JavaMail
+  resource. The {productName}-specific ``mail-`` prefix is converted
+  to the standard mail prefix. The JavaMail API documentation lists the
+  properties you might want to set.
+
+[[sthref315]]
+
+=== Operands
+
+jndi-name::
+  The JNDI name of the JavaMail resource to be created. It is a
+  recommended practice to use the naming subcontext prefix `mail/` for
+  JavaMail resources.
+
+[[sthref316]]
+
+=== Examples
+
+[[GSRFM492]][[sthref317]]
+
+==== Example 1   Creating a JavaMail Resource
+
+This example creates a JavaMail resource named `mail/MyMailSession`. The
+JNDI name for a JavaMail session resource customarily includes the
+`mail/` naming subcontext.
+
+[source]
+----
+asadmin> create-javamail-resource --mailhost localhost
+--mailuser sample --fromaddress sample@sun.com mail/MyMailSession
+Command create-javamail-resource executed successfully.
+----
+
+[[sthref318]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref319]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-javamail-resource.html#delete-javamail-resource-1[`delete-javamail-resource`(1)],
+link:list-javamail-resources.html#list-javamail-resources-1[`list-javamail-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jdbc-connection-pool.adoc b/docs/reference-manual/src/main/asciidoc/create-jdbc-connection-pool.adoc
new file mode 100644
index 0000000..ff10f2d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jdbc-connection-pool.adoc
@@ -0,0 +1,506 @@
+type=page
+status=published
+title=create-jdbc-connection-pool
+next=create-jdbc-resource.html
+prev=create-javamail-resource.html
+~~~~~~
+
+= create-jdbc-connection-pool
+
+[[create-jdbc-connection-pool-1]][[GSRFM00036]][[create-jdbc-connection-pool]]
+
+== create-jdbc-connection-pool
+
+Registers a JDBC connection pool
+
+[[sthref320]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jdbc-connection-pool [--help]
+[--datasourceclassname=datasourceclassname]
+[--restype=resourcetype]
+[--steadypoolsize=poolsize]
+[--maxpoolsize=maxpoolsize]
+[--maxwait=maxwaittime]
+[--poolresize=poolresizelimit]
+[--idletimeout=idletimeout]
+[--initsql=initsqlstring]
+[--isolationlevel=isolationlevel]
+[--isisolationguaranteed={true|false}]
+[--isconnectvalidatereq={false|true}]
+[--validationmethod=validationmethod]
+[--validationtable=validationtable]
+[--failconnection={false|true}]
+[--allownoncomponentcallers={false|true}]
+[--nontransactionalconnections={false|true}]
+[--validateatmostonceperiod=validationinterval]
+[--leaktimeout=leaktimeout]
+[--leakreclaim={false|true}]
+[--statementleaktimeout=satementleaktimeout]
+[--statmentleakreclaim={false|true}]
+[--creationretryattempts=creationretryattempts]
+[--creationretryinterval=creationretryinterval]
+[--sqltracelisteners=sqltracelisteners[,sqltracelisteners]]
+[--statementtimeout=statementtimeout]
+[--lazyconnectionenlistment={false|true}]
+[--lazyconnectionassociation={false|true}]
+[--associatewiththread={false|true}]
+[--driverclassname=jdbcdriverclassname]
+[--matchconnections={false|true}]
+[--maxconnectionusagecount=maxconnectionusagecount]
+[--ping={false|true}]
+[--pooling={false|true}]
+[--statementcachesize=statementcachesize]
+[--validationclassname=validationclassname]
+[--wrapjdbcobjects={false|true}]
+[--description description]
+[--property name=value)[:name=value]*]
+[--target=target]
+connectionpoolid
+----
+
+[[sthref321]]
+
+=== Description
+
+The `create-jdbc-connection-pool` subcommand registers a new Java
+Database Connectivity ("JDBC") software connection pool with the
+specified JDBC connection pool name.
+
+A JDBC connection pool with authentication can be created either by
+using a `--property` option to specify user, password, or other
+connection information, or by specifying the connection information in
+the XML descriptor file.
+
+This subcommand is supported in remote mode only.
+
+[[sthref322]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--datasourceclassname`::
+  The name of the vendor-supplied JDBC datasource resource manager. An
+  XA or global transactions capable datasource class will implement the
+  `javax.sql.XADatasource` interface. Non-XA or exclusively local
+  transaction datasources will implement the `javax.sql.Datasource`
+  interface.
+`--restype`
++
+Required when a datasource class implements two or more interfaces
+(`javax.sql.DataSource`, `javax.sql.XADataSource`, or
+`javax.sql.ConnectionPoolDataSource`), or when a driver classname must
+be provided.::
+  * If `--restype` = `java.sql.Driver`, then the `--driverclassname`
+  option is required.
+  * If `--restype` = `javax.sql.DataSource`, `javax.sql.XADataSource`,
+  or `javax.sql.ConnectionPoolDataSource`, then the
+  `--datasourceclassname` option is required.
+  * If `--restype` is not specified, then either the `--driverclassname`
+  or `--datasourceclassname` option must be specified, but not both.
+`--steadypoolsize`::
+  The minimum and initial number of connections maintained in the pool.
+  The default value is 8.
+`--maxpoolsize`::
+  The maximum number of connections that can be created. The default
+  value is 32.
+`--maxwait`::
+  The amount of time, in milliseconds, that a caller will wait before a
+  connection timeout is sent. The default is 60000 (60 seconds). A value
+  of 0 forces the caller to wait indefinitely.
+`--poolresize`::
+  Number of connections to be removed when `idle-timeout-in-seconds`
+  timer expires. This is the quantity by which the pool will scale up or
+  scale down the number of connections. Scale up: When the pool has no
+  free connections, pool will scale up by this quantity. Scale down: All
+  the invalid and idle connections are removed, sometimes resulting in
+  removing connections of quantity greater than this value. Connections
+  that have been idle for longer than the timeout are candidates for
+  removal. Steadypoolsize will be ensured. Possible values are from 0 to
+  `MAX_INTEGER`. The default value is 2.
+`--idletimeout`::
+  The maximum time, in seconds, that a connection can remain idle in the
+  pool. After this time, the implementation can close this connection.
+  This timeout value must be kept shorter than the database server side
+  timeout value to prevent the accumulation of unusable connections in
+  the application. The default value is 300.
+`--initsql`::
+  An SQL string that is executed whenever a connection is created from
+  the pool. If an existing connection is reused, this string is not
+  executed. Connections that have idled for longer than the timeout are
+  candidates for removal. This option has no default value.
+`--isolationlevel`::
+  The transaction-isolation-level on the pooled database connections.
+  This option does not have a default value. If not specified, the pool
+  operates with the default isolation level that the JDBC driver
+  provides. You can set a desired isolation level using one of the
+  standard transaction isolation levels: `read-uncommitted`,
+  `read-committed`, `repeatable-read`, `serializable`. Applications that
+  change the isolation level on a pooled connection programmatically
+  risk polluting the pool. This could lead to program errors.
+`--isisolationguaranteed`::
+  This is applicable only when a particular isolation level is specified
+  for transaction-isolation-level. The default value is true. +
+  This option assures that every time a connection is obtained from the
+  pool, isolation level is set to the desired value. This could have
+  some performance impact on some JDBC drivers. Administrators can set
+  this to false when the application does not change `--isolationlevel`
+  before returning the connection.
+`--isconnectvalidatereq`::
+  If set to true, connections are validated or checked to see if they
+  are usable before giving out to the application. The default value is
+  false.
+`--validationmethod`::
+  Type of validation to be performed when
+  `is-connection-validation-required` is true. Valid settings are:
+  `auto-commit`, `meta-data`, `table`, or `custom-validation`. The
+  default value is `table`.
+`--validationtable`::
+  The name of the validation table used to perform a query to validate a
+  connection. If `is-connection-validation-required` is set to true and
+  connection-validation-type set to table, this option is mandatory.
+`--failconnection`::
+  If set to true, all connections in the pool must be closed when a
+  single validation check fails. The default value is false. One attempt
+  is made to reestablish failed connections.
+`--allownoncomponentcallers`::
+  A pool with this property set to true can be used by non-Jakarta EE
+  components, that is, components other than EJBs or Servlets. The
+  returned connection is enlisted automatically with the transaction
+  context obtained from the transaction manager. Connections obtained by
+  non-component callers are not automatically cleaned by the container
+  at the end of a transaction. These connections need to be explicitly
+  closed by the caller.
+`--nontransactionalconnections`::
+  A pool with this property set to true returns non-transactional
+  connections. This connection does not get automatically enlisted with
+  the transaction manager.
+`--validateatmostonceperiod`::
+  Specifies the time interval in seconds between successive requests to
+  validate a connection at most once. Setting this attribute to an
+  appropriate value minimizes the number of validation requests by a
+  connection. Default value is 0, which means that the attribute is not
+  enabled.
+`--leaktimeout`::
+  Specifies the amount of time, in seconds, for which connection leaks
+  in a connection pool are to be traced. When a connection is not
+  returned to the pool by the application within the specified period,
+  it is assumed to be a potential leak, and stack trace of the caller
+  will be logged. This option only detects if there is a connection
+  leak. The connection can be reclaimed only if
+  `connection-leak-reclaim` is set to true. +
+  If connection leak tracing is enabled, you can use the Administration
+  Console to enable monitoring of the JDBC connection pool to get
+  statistics on the number of connection leaks. The default value is 0,
+  which disables connection leak tracing.
+`--leakreclaim`::
+  Specifies whether leaked connections are restored to the connection
+  pool after leak connection tracing is complete. Possible values are as
+  follows:
+
+  `false`;;
+    Leaked connections are not restored to the connection pool
+    (default).
+  `true`;;
+    Leaked connections are restored to the connection pool.
+
+`--statementleaktimeout`::
+  Specifies the amount of time, in seconds, after which any statements
+  that have not been closed by an application are to be detected.
+  Applications can run out of cursors if statement objects are not
+  properly closed. This option only detects if there is a statement
+  leak. The statement can be reclaimed only if `statement-leak-reclaim`
+  is set to true. The leaked statement is closed when it is reclaimed. +
+  The stack trace of the caller that creates the statement will be
+  logged when a statement leak is detected. If statement leak tracing is
+  enabled, you can use the Administration Console to enable monitoring
+  of the JDBC connection pool to get statistics on the number of
+  statement leaks. The default value is 0, which disables statement leak tracing. +
+  The following limitations apply to the statement leak timeout value:
+
+  * The value must be less than the value set for the connection `leak-timeout`.
+  * The value must be greater than the value set for `statement-timeout`.
+
+`--statementleakreclaim`::
+  Specifies whether leaked statements are reclaimed after the statements
+  leak. Possible values are as follows:
+
+  `false`;;
+    Leaked statements are not reclaimed (default).
+  `true`;;
+    Leaked statements are reclaimed.
+
+`--creationretryattempts`::
+  Specifies the maximum number of times that {productName} retries
+  to create a connection if the initial attempt fails. The default value
+  is 0, which specifies that {productName} does not retry to create
+  the connection.
+`--creationretryinterval`::
+  Specifies the interval, in seconds, between successive attempts to
+  create a connection. +
+  If `--creationretryattempts` is 0, the `--creationretryinterval`
+  option is ignored. The default value is 10.
+`--sqltracelisteners`::
+  A list of one or more custom modules that provide custom logging of
+  database activities. Each module must implement the
+  `org.glassfish.api.jdbc.SQLTraceListener` public interface. When set
+  to an appropriate value, SQL statements executed by applications are
+  traced. This option has no default value.
+`--statementtimeout`::
+  Specifies the length of time in seconds after which a query that is
+  not completed is terminated. +
+  A query that remains incomplete for a long period of time might cause
+  the application that submitted the query to hang. To prevent this
+  occurrence, use this option set a timeout for all statements that will
+  be created from the connection pool that you are creating. When
+  creating a statement, {productName} sets the `QueryTimeout`
+  property on the statement to the length of time that is specified. The
+  default value is -1, which specifies that incomplete queries are never
+  terminated.
+`--lazyconnectionenlistment`::
+  Specifies whether a resource to a transaction is enlisted only when a
+  method actually uses the resource. Possible values are as follows:
+
+  `false`;;
+    Resources to a transaction are always enlisted and not only when a
+    method actually uses the resource (default).
+  `true`;;
+    Resources to a transaction are enlisted only when a method actually
+    uses the resource.
+
+`--lazyconnectionassociation`::
+  Specifies whether a physical connection should be associated with the
+  logical connection only when the physical connection is used, and
+  disassociated when the transaction is completed. Such association and
+  dissociation enable the reuse of physical connections. Possible values
+  are as follows:
+
+  `false`;;
+    A physical connection is associated with the logical connection even
+    before the physical connection is used, and is not disassociated
+    when the transaction is completed (default).
+  `true`;;
+    A physical connection is associated with the logical connection only
+    when the physical connection is used, and disassociated when the
+    transaction is completed. The `--lazyconnectionenlistment` option
+    must also be set to `true`.
+
+`--associatewiththread`::
+  Specifies whether a connection is associated with the thread to enable
+  the thread to reuse the connection. If a connection is not associated
+  with the thread, the thread must obtain a connection from the pool
+  each time that the thread requires a connection. Possible values are
+  as follows:
+
+  `false`;;
+    A connection is not associated with the thread (default).
+  `true`;;
+    A connection is associated with the thread.
+
+`--driverclassname`::
+  The name of the vendor-supplied JDBC driver class. This driver should
+  implement the `java.sql.Driver` interface.
+`--matchconnections`::
+  Specifies whether a connection that is selected from the pool should
+  be matched by the resource adaptor. If all the connections in the pool
+  are homogenous, a connection picked from the pool need not be matched
+  by the resource adapter, which means that this option can be set to
+  false. Possible values are as follows:
++
+  `false`;;
+    A connection should not be matched by the resource adaptor
+    (default).
+  `true`;;
+    A connection should be matched by the resource adaptor.
+`--maxconnectionusagecount`::
+  Specifies the maximum number of times that a connection can be reused.
+  When this limit is reached, the connection is closed. By limiting the
+  maximum number of times that a connection can be reused, you can avoid
+  statement leaks. +
+  The default value is 0, which specifies no limit on the number of
+  times that a connection can be reused.
+`--ping`::
+  Specifies if the pool is pinged during pool creation or
+  reconfiguration to identify and warn of any erroneous values for its
+  attributes. Default value is false.
+`--pooling`::
+  Specifies if connection pooling is enabled for the pool. The default
+  value is true.
+`--statementcachesize`::
+  The number of SQL statements to be cached using the default caching
+  mechanism (Least Recently Used). The default value is 0, which
+  indicates that statement caching is not enabled.
+`--validationclassname`::
+  The name of the class that provides custom validation when the value
+  of `validationmethod` is `custom-validation`. This class must
+  implement the `org.glassfish.api.jdbc.ConnectionValidation` interface,
+  and it must be accessible to {productName}. This option is
+  mandatory if the connection validation type is set to custom
+  validation.
+`--wrapjdbcobjects`::
+  Specifies whether the pooling infrastructure provides wrapped JDBC
+  objects to applications. By providing wrapped JDBC objects, the
+  pooling infrastructure prevents connection leaks by ensuring that
+  applications use logical connections from the connection pool, not
+  physical connections. The use of logical connections ensures that the
+  connections are returned to the connection pool when they are closed.
+  However, the provision of wrapped JDBC objects can impair the
+  performance of applications. The default value is true. +
+  The pooling infrastructure provides wrapped objects for
+  implementations of the following interfaces in the JDBC API:
+
+  * `java.sql.CallableStatement`
+  * `java.sql.DatabaseMetaData`
+  * `java.sql.PreparedStatement`
+  * `java.sql.ResultSet`
+  * `java.sql.Statement`
+
++
+Possible values of `--wrapjdbcobjects` are as follows:
+
+  `false`;;
+    The pooling infrastructure does not provide wrapped JDBC objects to
+    applications. (default).
+  `true`;;
+    The pooling infrastructure provides wrapped JDBC objects to
+    applications.
+
+`--description`::
+  Text providing details about the specified JDBC connection pool.
+`--property`::
+  Optional attribute name/value pairs for configuring the pool. The
+  following properties are available:
+
+  `user`;;
+    Specifies the user name for connecting to the database.
+  `password`;;
+    Specifies the password for connecting to the database.
+  `databaseName`;;
+    Specifies the database for this connection pool.
+  `serverName`;;
+    Specifies the database server for this connection pool.
+  `port`;;
+    Specifies the port on which the database server listens for
+    requests.
+  `networkProtocol`;;
+    Specifies the communication protocol.
+  `roleName`;;
+    Specifies the initial SQL role name.
+  `datasourceName`;;
+    Specifies an underlying `XADataSource`, or a
+    `ConnectionPoolDataSource` if connection pooling is done.
+  `description`;;
+    Specifies a text description.
+  `url`;;
+    Specifies the URL for this connection pool. Although this is not a
+    standard property, it is commonly used.
+  `dynamic-reconfiguration-wait-timeout-in-seconds`;;
+    Used to enable dynamic reconfiguration of the connection pool
+    transparently to the applications that are using the pool, so that
+    applications need not be re-enabled for the attribute or property
+    changes to the pool to take effect. Any in-flight transaction's
+    connection requests will be allowed to complete with the old pool
+    configuration as long as the connection requests are within the
+    timeout period, so as to complete the transaction. New connection
+    requests will wait for the pool reconfiguration to complete and
+    connections will be acquired using the modified pool configuration.
+  `LazyConnectionEnlistment`;;
+    Deprecated. Use the equivalent attribute. The default value is
+    false.
+  `LazyConnectionAssociation`;;
+    Deprecated. Use the equivalent attribute. The default value is
+    false.
+  `AssociateWithThread`;;
+    Deprecated. Use the equivalent attribute. The default value is
+    false.
+  `MatchConnections`;;
+    Deprecated. Use the equivalent attribute. The default value is true.
+  `Prefer-Validate-Over-Recreate`;;
+    Specifies whether pool resizer should validate idle connections
+    before destroying and recreating them. The default value is true.
+  `time-to-keep-queries-in-minutes`;;
+    Specifies the number of minutes that will be cached for use in
+    calculating frequently used queries. Takes effect when SQL tracing
+    and monitoring are enabled for the JDBC connection pool. The default
+    value is 5 minutes.
+  `number-of-top-queries-to-report`;;
+    Specifies the number of queries to list when reporting the top and
+    most frequently used queries. Takes effect when SQL tracing and
+    monitoring are enabled for the JDBC connection pool. The default
+    value is 10 queries.
+
++
+[NOTE]
+====
+If an attribute name or attribute value contains a colon, the
+backslash (`\`) must be used to escape the colon in the name or value.
+Other characters might also require an escape character. For more
+information about escape characters in command options, see the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] man page.
+====
+
+`--target`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref323]]
+
+=== Operands
+
+connectionpoolid::
+  The name of the JDBC connection pool to be created.
+
+[[sthref324]]
+
+=== Examples
+
+[[GSRFM493]][[sthref325]]
+
+==== Example 1   Creating a JDBC Connection Pool
+
+This example creates a JDBC connection pool named `sample_derby_pool`.
+
+[source]
+----
+asadmin> create-jdbc-connection-pool
+--datasourceclassname org.apache.derby.jdbc.ClientDataSource
+--restype javax.sql.XADataSource
+--property portNumber=1527:password=APP:user=APP:serverName=
+localhost:databaseName=sun-appserv-samples:connectionAttributes=\;
+create\\=true sample_derby_pool
+Command create-jdbc-connection-pool executed successfully
+----
+
+The escape character backslash (`\`) is used in the `--property` option
+to distinguish the semicolon (`;`). Two backslashes (`\\`) are used to
+distinguish the equal sign (`=`).
+
+[[sthref326]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref327]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-jdbc-connection-pool.html#delete-jdbc-connection-pool-1[`delete-jdbc-connection-pool`(1)],
+link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jdbc-resource.adoc b/docs/reference-manual/src/main/asciidoc/create-jdbc-resource.adoc
new file mode 100644
index 0000000..0f6c2b3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jdbc-resource.adoc
@@ -0,0 +1,128 @@
+type=page
+status=published
+title=create-jdbc-resource
+next=create-jmsdest.html
+prev=create-jdbc-connection-pool.html
+~~~~~~
+
+= create-jdbc-resource
+
+[[create-jdbc-resource-1]][[GSRFM00037]][[create-jdbc-resource]]
+
+== create-jdbc-resource
+
+Creates a JDBC resource with the specified JNDI name
+
+[[sthref328]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jdbc-resource [--help]
+--connectionpoolid connectionpoolid
+[--enabled={false|true}]
+[--description description]
+[--property (property=value)[:name=value]*]
+[--target target]
+jndi_name
+----
+
+[[sthref329]]
+
+=== Description
+
+The `create-jdbc-resource` subcommand creates a new JDBC resource.
+
+This subcommand is supported in remote mode only.
+
+[[sthref330]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--connectionpoolid`::
+  The name of the JDBC connection pool. If two or more JDBC resource
+  elements point to the same connection pool element, they use the same
+  pool connection at runtime.
+`--enabled`::
+  Determines whether the JDBC resource is enabled at runtime. The
+  default value is true.
+`--description`::
+  Text providing descriptive details about the JDBC resource.
+`--property`::
+  Optional attribute name/value pairs for configuring the resource.
+`--target`::
+  This option helps specify the target to which you are deploying. Valid
+  values are:
+
+  `server`;;
+    Deploys the component to the default server instance. This is the
+    default value.
+  `domain`;;
+    Deploys the component to the domain.
+  cluster_name;;
+    Deploys the component to every server instance in the cluster.
+  instance_name;;
+    Deploys the component to a particular server instance.
+
+[NOTE]
+====
+The resource is always created for the domain as a whole, but the
+`resource-ref` for the resource is only created for the specified
+`--target`. This means that although the resource is defined at the
+domain level, it is only available at the specified target level. Use
+the `create-resource-ref` subcommand to refer to the resource in
+multiple targets if needed.
+====
+
+
+[[sthref331]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of this JDBC resource.
+
+[[sthref332]]
+
+=== Examples
+
+[[GSRFM494]][[sthref333]]
+
+==== Example 1   Creating a JDBC Resource
+
+This example creates a JDBC resource named `jdbc/DerbyPool`.
+
+[source]
+----
+asadmin> create-jdbc-resource
+--connectionpoolid sample_derby_pool jdbc/DerbyPool
+Command create-jdbc-resource executed successfully.
+----
+
+[[sthref334]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref335]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
+link:delete-jdbc-resource.html#delete-jdbc-resource-1[`delete-jdbc-resource`(1)],
+link:list-jdbc-resources.html#list-jdbc-resources-1[`list-jdbc-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jms-host.adoc b/docs/reference-manual/src/main/asciidoc/create-jms-host.adoc
new file mode 100644
index 0000000..696d0fe
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jms-host.adoc
@@ -0,0 +1,121 @@
+type=page
+status=published
+title=create-jms-host
+next=create-jms-resource.html
+prev=create-jmsdest.html
+~~~~~~
+
+= create-jms-host
+
+[[create-jms-host-1]][[GSRFM00039]][[create-jms-host]]
+
+== create-jms-host
+
+Creates a JMS host
+
+[[sthref344]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jms-host [--help]
+--mqhost mq-host --mqport mq-port
+--mquser mq-user --mqpassword mq-password
+[--target target]
+[--force={false|true}]
+jms_host_name
+----
+
+[[sthref345]]
+
+=== Description
+
+Creates a Java Message Service (JMS) host within the JMS service.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref346]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--mqhost`::
+  The host name for the JMS service.
+`--mqport`::
+  The port number used by the JMS service.
+`--mquser`::
+  The user name for the JMS service.
+`--mqpassword`::
+  The password for the JMS service.
+`--target`::
+  Creates the JMS host only for the specified target. Valid values are
+  as follows:
+
+  `server`;;
+    Creates the JMS host for the default server instance. This is the
+    default value.
+  configuration-name;;
+    Creates the JMS host in the specified configuration.
+  cluster-name;;
+    Creates the JMS host for every server instance in the specified
+    cluster.
+  instance-name;;
+    Creates the JMS host for the specified server instance.
+
+`--force`::
+  Specifies whether the subcommand overwrites the existing JMS host of
+  the same name. The default value is `false`.
+
+[[sthref347]]
+
+=== Operands
+
+jms_host_name::
+  A unique identifier for the JMS host to be created.
+
+[[sthref348]]
+
+=== Examples
+
+[[GSRFM496]][[sthref349]]
+
+==== Example 1   Creating a JMS host using a non-default port
+
+The following command creates a JMS host named `MyNewHost` on the system
+`pigeon`.
+
+[source]
+----
+asadmin> create-jms-host --mqhost pigeon.example.com --mqport 7677
+--mquser admin --mqpassword admin MyNewHost
+Jms Host MyNewHost created.
+Command create-jms-host executed successfully.
+----
+
+[[sthref350]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref351]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-jms-host.html#delete-jms-host-1[`delete-jms-host`(1)],
+link:jms-ping.html#jms-ping-1[`jms-ping`(1)],
+link:list-jms-hosts.html#list-jms-hosts-1[`list-jms-hosts`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jms-resource.adoc b/docs/reference-manual/src/main/asciidoc/create-jms-resource.adoc
new file mode 100644
index 0000000..ed30510
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jms-resource.adoc
@@ -0,0 +1,230 @@
+type=page
+status=published
+title=create-jms-resource
+next=create-jndi-resource.html
+prev=create-jms-host.html
+~~~~~~
+
+= create-jms-resource
+
+[[create-jms-resource-1]][[GSRFM00040]][[create-jms-resource]]
+
+== create-jms-resource
+
+Creates a JMS resource
+
+[[sthref352]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jms-resource [--help]
+--restype type
+[--target target]
+[--enabled={true|false}]
+[--description text]
+[--property (name=value)[:name=value]*]
+[--force={false|true}]
+jndi_name
+----
+
+[[sthref353]]
+
+=== Description
+
+The `create-jms-resource` subcommand creates a Java Message Service
+(JMS) connection factory resource or a JMS destination resource.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref354]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--restype`::
+  The JMS resource type, which can be `jakarta.jms.Topic`,
+  `jakarta.jms.Queue`, `jakarta.jms.ConnectionFactory`,
+  `jakarta.jms.TopicConnectionFactory`, or
+  `jakarta.jms.QueueConnectionFactory`.
+`--target`::
+  Creates the JMS resource only for the specified target. Valid values
+  are as follows:
++
+[NOTE]
+====
+The resource is always created for the domain as a whole, but the
+`<resource-ref>` element for the resource is only created for the
+specified `--target`. This means that although the resource is defined
+at the domain level, it is only active at the specified `--target`.
+====
+
+  `server`;;
+    Creates the JMS resource for the default server instance. This is
+    the default value.
+  `domain`;;
+    Creates the JMS resource for the domain.
+  cluster-name;;
+    Creates the JMS resource for every server instance in the specified
+    cluster.
+  instance-name;;
+    Creates the JMS resource for the specified server instance.
+
+`--enabled`::
+  If set to true (the default), the resource is enabled at runtime.
+`--description`::
+  Text providing details about the JMS resource.
+`--property`::
+  Optional attribute name/value pairs for configuring the JMS resource. +
+  You can specify the following properties for a connection factory
+  resource:
+
+  `ClientId`;;
+    A client ID for a connection factory that will be used by a durable
+    subscriber.
+  `AddressList`;;
+    A comma-separated list of message queue addresses that specify the
+    host names (and, optionally, port numbers) of a message broker
+    instance or instances with which your application will communicate.
+    For example, the value could be `earth` or `earth:7677`. Specify the
+    port number if the message broker is running on a port other than
+    the default (7676). The default value is an address list composed
+    from the JMS hosts defined in the server's JMS service
+    configuration. The default value is `localhost` and the default port
+    number is 7676. The client will attempt a connection to a broker on
+    port 7676 of the local host.
+  `UserName`;;
+    The user name for the connection factory. The default value is
+    `guest`.
+  `Password`;;
+    The password for the connection factory. The default value is
+    `guest`.
+  `ReconnectEnabled`;;
+    A value of `true` indicates that the client runtime attempts to
+    reconnect to a message server (or the list of addresses in the
+    `AddressList`) when a connection is lost. The default value is
+    `false`.
+  `ReconnectAttempts`;;
+    The number of attempts to connect (or reconnect) for each address in
+    the `AddressList` before the client runtime tries the next address
+    in the list. A value of -1 indicates that the number of reconnect
+    attempts is unlimited (the client runtime attempts to connect to the
+    first address until it succeeds). The default value is 6.
+  `ReconnectInterval`;;
+    The interval in milliseconds between reconnect attempts. This
+    applies to attempts on each address in the `AddressList` and for
+    successive addresses in the list. If the interval is too short, the
+    broker does not have time to recover. If it is too long, the
+    reconnect might represent an unacceptable delay. The default value
+    is 30,000 milliseconds.
+  `AddressListBehavior`;;
+    Specifies whether connection attempts are in the order of addresses
+    in the `AddressList` (`PRIORITY`) or in a random order (`RANDOM`).
+    `PRIORITY` means that the reconnect will always try to connect to
+    the first server address in the `AddressList` and will use another
+    one only if the first broker is not available. If you have many
+    clients attempting a connection using the same connection factory,
+    specify `RANDOM` to prevent them from all being connected to the
+    same address. The default value is the `AddressListBehavior` value
+    of the server's JMS service configuration.
+  `AddressListIterations`;;
+    The number of times the client runtime iterates through the
+    `AddressList` in an effort to establish (or re-establish) a
+    connection). A value of -1 indicates that the number of attempts is
+    unlimited. The default value is -1.
+
++
+Additionally, you can specify `connector-connection-pool` attributes
+  as connector resource properties. For a list of these attributes, see
+  "link:application-deployment-guide/dd-elements.html#GSDPG00124[connector-connection-pool]" in {productName} Application Deployment Guide. +
+  You can specify the following properties for a destination resource:
+
+  `Name`;;
+    The name of the physical destination to which the resource will
+    refer. The physical destination is created automatically when you
+    run an application that uses the destination resource. You can also
+    create a physical destination with the `create-jmsdest` subcommand.
+    If you do not specify this property, the JMS service creates a
+    physical destination with the same name as the destination resource
+    (replacing any forward slash in the JNDI name with an underscore).
+  `Description`;;
+    A description of the physical destination.
+
+`--force`::
+  Specifies whether the subcommand overwrites the existing JMS resource
+  of the same name. The default value is `false`.
+
+[[sthref355]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of the JMS resource to be created.
+
+[[sthref356]]
+
+=== Examples
+
+[[GSRFM497]][[sthref357]]
+
+==== Example 1   Creating a JMS connection factory resource for durable
+subscriptions
+
+The following subcommand creates a connection factory resource of type
+`jakarta.jms.ConnectionFactory` whose JNDI name is
+`jms/DurableConnectionFactory`. The `ClientId` property sets a client ID
+on the connection factory so that it can be used for durable
+subscriptions. The JNDI name for a JMS resource customarily includes the
+`jms/` naming subcontext.
+
+[source]
+----
+asadmin> create-jms-resource --restype jakarta.jms.ConnectionFactory
+--description "connection factory for durable subscriptions"
+--property ClientId=MyID jms/DurableConnectionFactory
+Connector resource jms/DurableConnectionFactory created.
+Command create-jms-resource executed successfully.
+----
+
+[[GSRFM498]][[sthref358]]
+
+==== Example 2   Creating a JMS destination resource
+
+The following subcommand creates a destination resource whose JNDI name
+is `jms/MyQueue`. The `Name` property specifies the physical destination
+to which the resource refers.
+
+[source]
+----
+asadmin> create-jms-resource --restype jakarta.jms.Queue
+--property Name=PhysicalQueue jms/MyQueue
+Administered object jms/MyQueue created.
+Command create-jms-resource executed successfully.
+----
+
+[[sthref359]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref360]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-jms-resource.html#delete-jms-resource-1[`delete-jms-resource`(1)],
+link:list-jms-resources.html#list-jms-resources-1[`list-jms-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jmsdest.adoc b/docs/reference-manual/src/main/asciidoc/create-jmsdest.adoc
new file mode 100644
index 0000000..f9b3743
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jmsdest.adoc
@@ -0,0 +1,233 @@
+type=page
+status=published
+title=create-jmsdest
+next=create-jms-host.html
+prev=create-jdbc-resource.html
+~~~~~~
+
+= create-jmsdest
+
+[[create-jmsdest-1]][[GSRFM00038]][[create-jmsdest]]
+
+== create-jmsdest
+
+Creates a JMS physical destination
+
+[[sthref336]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jmsdest [--help]
+--desttype dest_type
+[--property (name=value)[:name=value]*]
+[--target target]
+[--force={false|true}]
+dest_name
+----
+
+[[sthref337]]
+
+=== Description
+
+The `create-jmsdest` subcommand creates a Java Message Service (JMS)
+physical destination. Typically, you use the `create-jms-resource`
+subcommand to create a JMS destination resource that has a `Name`
+property that specifies the physical destination. The physical
+destination is created automatically when you run an application that
+uses the destination resource. Use the `create-jmsdest` subcommand if
+you want to create a physical destination with non-default property
+settings.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref338]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--desttype`::
+  The type of the JMS destination. Valid values are `topic` and `queue`.
+`--property`::
+  Optional attribute name/value pairs for configuring the physical
+  destination. You can specify the following properties for a physical
+  destination.
+
+  `MaxNumMsgs`;;
+    The maximum number of unconsumed messages permitted for the
+    destination. A value of -1 denotes an unlimited number of messages.
+    The default value is -1. For the dead message queue, the default
+    value is 1000. +
+    If the `limitBehavior` property is set to `FLOW_CONTROL`, it is
+    possible for the specified message limit to be exceeded because the
+    broker cannot react quickly enough to stop the flow of incoming
+    messages. In such cases, the value specified for `maxNumMsgs` serves
+    as merely a hint for the broker rather than a strictly enforced limit.
+  `MaxBytesPerMsg`;;
+    The maximum size, in bytes, of any single message. Rejection of a
+    persistent message is reported to the producing client with an
+    exception; no notification is sent for non-persistent messages. +
+    The value may be expressed in bytes, kilobytes, or megabytes, using
+    the following suffixes:
+    `b`:::
+      Bytes
+    `k`:::
+      Kilobytes (1024 bytes)
+    `m`:::
+      Megabytes (1024 x 1024 = 1,048,576 bytes)
++
+A value with no suffix is expressed in bytes; a value of -1 denotes
+    an unlimited message size. The default value is -1.
+  `MaxTotalMsgBytes`;;
+    The maximum total memory, in bytes, for unconsumed messages. The
+    default value is -1. The syntax is the same as for `maxBytesPerMsg`.
+    For the dead message queue, the default value is `10m`.
+  `LimitBehavior`;;
+    The behavior of the message queue broker when the memory-limit
+    threshold is reached. Valid values are as follows:
+    `REJECT_NEWEST`:::
+      Reject newest messages and notify the producing client with an
+      exception only if the message is persistent. This is the default
+      value.
+    `FLOW_CONTROL`:::
+      Slow the rate at which message producers send messages.
+    `REMOVE_OLDEST`:::
+      Throw out the oldest messages.
+    `REMOVE_LOW_PRIORITY`:::
+      Throw out the lowest-priority messages according to age, with no
+      notification to the producing client.
++
+If the value is `REMOVE_OLDEST` or `REMOVE_LOW_PRIORITY` and the
+    `useDMQ` property is set to `true`, excess messages are moved to the
+    dead message queue. For the dead message queue itself, the default
+    limit behavior is `REMOVE_OLDEST`, and the value cannot be set to
+    `FLOW_CONTROL`.
+  `MaxNumProducers`;;
+    The maximum number of message producers for the destination.
+    When this limit is reached, no new producers can be created.
+    A value of -1 denotes an unlimited number of producers.
+    The default value is 100.
+    This property does not apply to the dead message queue.
+  `ConsumerFlowLimit`;;
+    The maximum number of messages that can be delivered to a consumer
+    in a single batch. A value of -1 denotes an unlimited number of
+    messages. The default value is 1000. The client runtime can override
+    this limit by specifying a lower value on the connection factory
+    object. +
+    In load-balanced queue delivery, this is the initial number of
+    queued messages routed to active consumers before load balancing
+    begins.
+  `UseDMQ`;;
+    If set to `true`, dead messages go to the dead message queue. If set
+    to `false`, dead messages are discarded. The default value is `true`.
+  `ValidateXMLSchemaEnabled`;;
+    If set to `true`, XML schema validation is enabled for the
+    destination. The default value is `false`. +
+    When XML validation is enabled, the Message Queue client runtime
+    will attempt to validate an XML message against the specified XSDs
+    (or against the DTD, if no XSD is specified) before sending it to
+    the broker. If the specified schema cannot be located or the message
+    cannot be validated, the message is not sent, and an exception is
+    thrown. +
+    This property should be set when a destination is inactive: that is,
+    when it has no consumers or producers and when there are no messages
+    in the destination. Otherwise the producer must reconnect.
+  `XMLSchemaURIList`;;
+    A space-separated list of XML schema document (XSD) URI strings. The
+    URIs point to the location of one or more XSDs to use for XML schema
+    validation, if `validateXMLSchemaEnabled` is set to `true`.
+    The default value is `null`. +
+    Use double quotes around this value if multiple URIs are specified,
+    as in the following example:
++
+[source]
+----
+"http://foo/flap.xsd http://test.com/test.xsd"
+----
++
+If this property is not set or `null` and XML validation is enabled,
+    XML validation is performed using a DTD specified in the XML
+    document. If an XSD is changed as a result of changing application
+    requirements, all client applications that produce XML messages
+    based on the changed XSD must reconnect to the broker.
+
++
+To modify the value of these properties, you can use the
+  as-install``/mq/bin/imqcmd`` command. See "link:../openmq/mq-admin-guide/physical-destination-properties.html#GMADG00049[Physical
+  Destination Property Reference]" in Open Message Queue Administration
+  Guide for more information.
+`--target`::
+  Creates the physical destination only for the specified target.
+  Although the `create-jmsdest` subcommand is related to resources, a
+  physical destination is created using the JMS Service (JMS Broker),
+  which is part of the configuration. A JMS Broker is configured in the
+  config section of `domain.xml`. Valid values are as follows:
+
+  `server`;;
+    Creates the physical destination for the default server instance.
+    This is the default value.
+  configuration-name;;
+    Creates the physical destination in the specified configuration.
+  cluster-name;;
+    Creates the physical destination for every server instance in the
+    specified cluster.
+  instance-name;;
+    Creates the physical destination for the specified server instance.
+
+`--force`::
+  Specifies whether the subcommand overwrites the existing JMS physical
+  destination of the same name. The default value is `false`.
+
+[[sthref339]]
+
+=== Operands
+
+dest_name::
+  A unique identifier for the JMS destination to be created.
+
+[[sthref340]]
+
+=== Examples
+
+[[GSRFM495]][[sthref341]]
+
+==== Example 1   Creating a JMS physical destination
+
+The following subcommand creates a JMS physical queue named
+`PhysicalQueue` with non-default property values.
+
+[source]
+----
+asadmin> create-jmsdest --desttype queue
+--property maxNumMsgs=1000:maxBytesPerMsg=5k PhysicalQueue
+Command create-jmsdest executed successfully.
+----
+
+[[sthref342]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref343]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
+link:delete-jmsdest.html#delete-jmsdest-1[`delete-jmsdest`(1)],
+link:flush-jmsdest.html#flush-jmsdest-1[`flush-jmsdest`(1)],
+link:list-jmsdest.html#list-jmsdest-1[`list-jmsdest`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jndi-resource.adoc b/docs/reference-manual/src/main/asciidoc/create-jndi-resource.adoc
new file mode 100644
index 0000000..94ce5b6
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jndi-resource.adoc
@@ -0,0 +1,140 @@
+type=page
+status=published
+title=create-jndi-resource
+next=create-jvm-options.html
+prev=create-jms-resource.html
+~~~~~~
+
+= create-jndi-resource
+
+[[create-jndi-resource-1]][[GSRFM00041]][[create-jndi-resource]]
+
+== create-jndi-resource
+
+Registers a JNDI resource
+
+[[sthref361]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jndi-resource [--help]
+[--target target]
+--restype restype --factoryclass factoryclass
+--jndilookupname jndilookupname [--enabled={true|false}]
+[--description description]
+[--property (name=value)[:name=value]*]
+jndi-name
+----
+
+[[sthref362]]
+
+=== Description
+
+The `create-jndi-resource` subcommand registers a JNDI resource.
+
+This subcommand is supported in remote mode only.
+
+[[sthref363]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target for which you are registering a JNDI
+  resource. Valid values for target are described below.
++
+[NOTE]
+====
+The resource is always created for the domain as a whole, but the
+`resource-ref` for the resource is only created for the specified
+`--target`. This means that although the resource is defined at the
+domain level, it is only available at the specified target level. Use
+the `create-resource-ref` subcommand to refer to the resource in
+multiple targets if needed.
+====
+
+  `server`;;
+    Creates the resource for the default server instance. This value is
+    the default.
+  `domain`;;
+    Creates the resource for the domain
+  cluster-name;;
+    Creates the resource for every server instance in the cluster
+  instance-name;;
+    Creates the resource for a particular server instance
+
+`--restype`::
+  The JNDI resource type. Valid values are `topic` or `queue`.
+`--factoryclass`::
+  The class that creates the JNDI resource.
+`--jndilookupname`::
+  The lookup name that the external container uses.
+`--enabled`::
+  Determines whether the resource is enabled at runtime. Default is
+  true.
+`--description`::
+  The text that provides details about the JNDI resource.
+`--property`::
+  Optional properties for configuring the resource. Each property is
+  specified as a name-value pair. +
+  The available properties are specific to the implementation that is
+  specified by the `--factoryclass` option and are used by that
+  implementation. {productName} itself does not define any
+  properties for configuring a JNDI resource.
+
+[[sthref364]]
+
+=== Operands
+
+jndi-name::
+  The unique name of the JNDI resource to be created.
+
+[[sthref365]]
+
+=== Examples
+
+[[GSRFM499]][[sthref366]]
+
+==== Example 1   Creating a JNDI Resource
+
+This example creates the JNDI resource `my-jndi-resource` for the
+default server instance.
+
+[source]
+----
+asadmin> create-jndi-resource
+--restype com.example.jndi.MyResourceType
+--factoryclass com.example.jndi.MyInitialContextFactoryClass
+--jndilookupname remote-jndi-name
+--description "sample JNDI resource" my-jndi-resource
+JNDI resource my-jndi-resource created.
+Command create-jndi-resource executed successfully.
+----
+
+[[sthref367]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref368]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
+link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)],
+link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-jvm-options.adoc b/docs/reference-manual/src/main/asciidoc/create-jvm-options.adoc
new file mode 100644
index 0000000..dcc076d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-jvm-options.adoc
@@ -0,0 +1,270 @@
+type=page
+status=published
+title=create-jvm-options
+next=create-lifecycle-module.html
+prev=create-jndi-resource.html
+~~~~~~
+
+= create-jvm-options
+
+[[create-jvm-options-1]][[GSRFM00042]][[create-jvm-options]]
+
+== create-jvm-options
+
+Creates options for the Java application launcher
+
+[[sthref369]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-jvm-options [--help]
+[--target target] [--profiler={true|false}]
+(jvm-option-name=jvm-option-value) [:jvm-option-name=jvm-option-value*]
+----
+
+[[sthref370]]
+
+=== Description
+
+The `create-jvm-options` subcommand creates command-line options that
+are passed to the Java application launcher when {productName} is
+started. The options that this subcommand creates are in addition to the
+options that are preset with {productName}. Java application
+launcher options are stored in the Java configuration `java—config`
+element or the profiler `profiler` element of the `domain.xml` file. The
+options are sent to the command line in the order they appear in the
+`java—config` element or the profiler `profiler` element in the
+`domain.xml` file.
+
+Profiler options are used to record the settings that are required to
+start a particular profiler. The profiler must already exist. If
+necessary, use the
+link:create-profiler.html#create-profiler-1[`create-profiler`(1)]
+subcommand to create the profiler.
+
+This subcommand can be used to create the following types of options:
+
+* Java system properties. These options are set through the `-D` option
+of the Java application launcher. For example:
++
+`-Djava.security.manager`
++
+`-Denvironment=Production`
+
+* Startup parameters for the Java application launcher. These options
+are preceded by the dash character (`-`). For example:
++
+``--XX:PermSize=``size
++
+`-Xmx1024m`
++
+`-d64`
+
+If the subcommand specifies an option that already exists, the command
+does not re-create the option.
+
+
+[NOTE]
+====
+Ensure that any option that you create is valid. The subcommand might
+allow you to create an invalid option, but such an invalid option can
+cause startup to fail.
+====
+
+
+An option can be verified by examining the server log after
+{productName} starts. Options for the Java application launcher are
+written to the `server.log` file before any other information when
+{productName} starts.
+
+The addition of some options requires a server restart for changes to
+become effective. Other options are set immediately in the environment
+of the domain administration server (DAS) and do not require a restart.
+Whether a restart is required depends on the type of option.
+
+* Restart is not required for Java system properties whose names do not
+start with `-Djava.` or `-Djavax.` (including the trailing period). For
+example, restart is not required for the following Java system property:
++
+`-Denvironment=Production`
+
+* Restart is required for the following options:
+
+** Java system properties whose names start with `-Djava.` or `-Djavax.`
+(including the trailing period). For example:
++
+`-Djava.security.manager`
+
+** Startup parameters for the Java application launcher. For example:
++
+`-client`
++
+`-Xmx1024m`
++
+`-d64`
+
+To restart the DAS, use the
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)] command.
+
+This subcommand is supported in remote mode only.
+
+[[sthref371]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which you are creating Java application
+  launcher options. +
+  Valid values are as follows:
+
+  `server`;;
+    Specifies the DAS (default).
+  instance-name;;
+    Specifies a {productName} instance.
+  cluster-name;;
+    Specifies a cluster.
+  configuration-name;;
+    Specifies a named configuration.
+
+`--profiler`::
+  Indicates whether the Java application launcher options are for the
+  profiler. The profiler must exist for this option to be true. Default
+  is false.
+
+[[sthref372]]
+
+=== Operands
+
+jvm-option-name::
+  One or more options delimited by a colon (:). The format of an option
+  depends on the following:
+
+  * If the option has a name and a value, the format is option-name=value.
+  * If the option has only a name, the format is option-name.
+    For example, `-Xmx2048m`.
+  * If the first option name could be misinterpreted as one or more
+    `asadmin` short options, the format is `--` option-name. For example,
+    `-server` in the following command could be misinterpreted as `-se`,
+    the `asadmin` short forms for `--secure` and `--echo`:
++
+[source]
+----
+create-jvm-options -server
+----
++
+To create the JVM option `-server`, instead use the command:
++
+[source]
+----
+create-jvm-options -- -server
+----
++
+[NOTE]
+====
+If an option name or option value contains a colon, the backslash
+(`\`) must be used to escape the colon in the name or value. Other
+characters might also require an escape character. For more
+information about escape characters in subcommand options, see the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] man page.
+====
+
+[[sthref373]]
+
+=== Examples
+
+[[GSRFM500]][[sthref374]]
+
+==== Example 1   Setting Java System Properties
+
+This example sets multiple Java system properties.
+
+[source]
+----
+asadmin> create-jvm-options -Dunixlocation=/root/example:
+-Dvariable=\$HOME:-Dwindowslocation=d\:\\sun\\appserver:-Doption1=-value1
+created 4 option(s)
+Command create-jvm-options executed successfully.
+----
+
+[[GSRFM501]][[sthref375]]
+
+==== Example 2   Setting a Startup Parameter for the Java Application
+Launcher
+
+This example sets the maximum available heap size to 1024.
+
+[source]
+----
+asadmin> create-jvm-options -Xmx1024m
+created 1 option(s)
+Command create-jvm-options executed successfully.
+----
+
+[[GSRFM502]][[sthref376]]
+
+==== Example 3   Setting Multiple Startup Parameters for the Java Application
+Launcher
+
+This example sets the maximum available heap size to 1024 and requests
+details about garbage collection.
+
+[source]
+----
+asadmin> create-jvm-options "-Xmx1024m:-XX\:+PrintGCDetails"
+created 1 option(s)
+Command create-jvm-options executed successfully.
+----
+
+In this case, one of the two parameters already exists, so the
+subcommand reports that only one option was set.
+
+[[GSRFM503]][[sthref377]]
+
+==== Example 4   Setting a JVM Startup Parameter for the Profiler
+
+This example sets a JVM startup parameter for the profiler.
+
+[source]
+----
+asadmin> create-jvm-options --profiler=true -XX\:MaxPermSize=192m
+created 1 option(s)
+Command create-jvm-options executed successfully.
+----
+
+[[sthref378]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref379]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-profiler.html#create-profiler-1[`create-profiler`(1)],
+link:delete-jvm-options.html#delete-jvm-options-1[`delete-jvm-options`(1)],
+link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)],
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)]
+
+For more information about the Java application launcher, see the
+reference page for the operating system that you are using:
+
+* Oracle Solaris and Linux: java - the Java application launcher
+(`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/java.html`)
+* Windows: java - the Java application launcher
+(`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-lifecycle-module.adoc b/docs/reference-manual/src/main/asciidoc/create-lifecycle-module.adoc
new file mode 100644
index 0000000..c2fd295
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-lifecycle-module.adoc
@@ -0,0 +1,141 @@
+type=page
+status=published
+title=create-lifecycle-module
+next=create-local-instance.html
+prev=create-jvm-options.html
+~~~~~~
+
+= create-lifecycle-module
+
+[[create-lifecycle-module-1]][[GSRFM00043]][[create-lifecycle-module]]
+
+== create-lifecycle-module
+
+Creates a lifecycle module
+
+[[sthref380]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-lifecycle-module [--help]
+--classname classname
+[--enabled={true|false}] [--target target]
+[--classpath classpath] [--loadorder loadorder]
+[--failurefatal={false|true} ] [--description description]
+[--property (name=value)[:name=value]*]
+module_name
+----
+
+[[sthref381]]
+
+=== Description
+
+The `create-lifecycle-module` subcommand creates a lifecycle module. A
+lifecycle module provides a means of running a short or long duration
+Java-based task at a specific stage in the server life cycle. This
+subcommand is supported in remote mode only.
+
+[[sthref382]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--classname`::
+  This is the fully qualified name of the startup class.
+`--target`::
+  Indicates the location where the lifecycle module is to be created.
+  Valid values are
+
+  * `server`- Specifies the default server instance as the target for
+  creating the lifecycle module. `server` is the name of the default
+  server instance and is the default value for this option.
+  * cluster_name- Specifies a particular cluster as the target for
+  creating the lifecycle module.
+  * instance_name- Specifies a particular stand-alone server instance as
+  the target for creating the lifecycle module.
+
+`--classpath`::
+  This option indicates where the lifecycle module is located. It is a
+  classpath with the standard format: either colon-separated (Unix) or
+  semicolon-separated (Windows) JAR files and directories. The
+  referenced JAR files and directories are not uploaded to the server
+  instance.
+`--loadorder`::
+  This option represents an integer value that can be used to force the
+  order in which deployed lifecycle modules are loaded at server
+  startup. Smaller numbered modules are loaded sooner. Order is
+  unspecified if two or more lifecycle modules have the same load-order
+  value. The default is `Integer.MAX_VALUE`, which means the lifecycle
+  module is loaded last.
+`--failurefatal`::
+  This option tells the system what to do if the lifecycle module does
+  not load correctly. When this option is set to true, the system aborts
+  the server startup if this module does not load properly. The default
+  value is false.
+`--enabled`::
+  This option determines whether the lifecycle module is enabled at
+  runtime. The default value is true.
+`--description`::
+  This is the text description of the lifecycle module.
+`--property`::
+  This is an optional attribute containing name/value pairs used to
+  configure the lifecycle module.
+
+[[sthref383]]
+
+=== Operands
+
+module_name::
+  This operand is a unique identifier for the deployed server lifecycle
+  event listener module.
+
+[[sthref384]]
+
+=== Examples
+
+[[GSRFM504]][[sthref385]]
+
+==== Example 1   Creating a Lifecycle Module
+
+The following example creates a lifecycle module named `customSetup`.
+
+[source]
+----
+asadmin> create-lifecycle-module --classname "com.acme.CustomSetup"
+--classpath "/export/customSetup" --loadorder 1 --failurefatal=true
+--description "this is a sample customSetup"
+--property rmi="Server\=acme1\:7070":timeout=30 customSetup
+Command create-lifecycle-module executed successfully
+----
+
+The escape character `\` is used in the property option to specify that
+the equal sign (=) and colon (:) are part of the `rmi` property value.
+
+[[sthref386]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref387]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-lifecycle-module.html#delete-lifecycle-module-1[`delete-lifecycle-module`(1)],
+link:list-lifecycle-modules.html#list-lifecycle-modules-1[`list-lifecycle-modules`(1)]
+
+"link:application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing Lifecycle Listeners]" in {productName} Application Development Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-local-instance.adoc b/docs/reference-manual/src/main/asciidoc/create-local-instance.adoc
new file mode 100644
index 0000000..4a159b8
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-local-instance.adoc
@@ -0,0 +1,407 @@
+type=page
+status=published
+title=create-local-instance
+next=create-managed-executor-service.html
+prev=create-lifecycle-module.html
+~~~~~~
+
+= create-local-instance
+
+[[create-local-instance-1]][[GSRFM00044]][[create-local-instance]]
+
+== create-local-instance
+
+Creates a {productName} instance on the host where the subcommand is
+run
+
+[[sthref388]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-local-instance [--help]
+[--node node-name] [--nodedir node-dir]
+[--config config-name | --cluster cluster-name]
+[--lbenabled={true|false}]
+[--portbase port-number] [--checkports={true|false}]
+[--savemasterpassword={false|true}]
+[--usemasterpassword={false|true}]
+[--systemproperties (name=value)[:name=value]* ]
+instance-name
+----
+
+[[sthref389]]
+
+=== Description
+
+The `create-local-instance` subcommand creates a {productName}
+instance on the node that represents the host where the subcommand is
+run. This subcommand does not require the Distributed Component Object
+Model (DCOM) remote protocol or secure shell (SSH) to be configured.
+
+You must run this subcommand from the host that is represented by the
+node where the instance is to reside. To contact the domain
+administration server (DAS), this subcommand requires the name of the
+host where the DAS is running. If a nondefault port is used for
+administration, this subcommand also requires the port number. If you
+are adding the first instance to a node, you must provide this
+information through the `--host` option and the `--port` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility. For the second and
+later instances, this information is obtained from the DAS properties of
+the node.
+
+A {productName} instance is a single Virtual Machine for the Java
+platform (Java Virtual Machine or JVM machine) on a single node in which
+{productName} is running. A node defines the host where the
+{productName} instance resides. The JVM machine must be compatible
+with the Java Platform, Enterprise Edition (Jakarta EE).
+
+A {productName} instance requires a reference to the following items:
+
+* The node that defines the host where the instance resides. The node
+can be specified in the command to create the instance, but is required
+only if more than one node exists in the directory where files for nodes
+are stored. If no node is specified, the behavior of the subcommand
+depends on the number of existing nodes in the directory where nodes are
+stored:
+
+** If no nodes exist, the subcommand creates a node for the instance.
+The name of the node is the name of the host on which the subcommand is run.
+** If only one node exists, the subcommand creates a reference to the
+existing node for the instance.
+** If two or more nodes exist, an error occurs.
+
+* The named configuration that defines the configuration of the
+instance. The configuration can be specified in the command to create
+the instance, but is not required. If no configuration is specified for
+an instance that is not joining a cluster, the subcommand creates a
+configuration for the instance. An instance that is joining a cluster
+receives its configuration from its parent cluster.
+
+Each {productName} instance is one of the following types of
+instance:
+
+Standalone instance::
+  A standalone instance does not share its configuration with any other
+  instances or clusters. A standalone instance is created if either of
+  the following conditions is met:
+
+  * No configuration or cluster is specified in the command to create
+  the instance.
+  * A configuration that is not referenced by any other instances or
+  clusters is specified in the command to create the instance.
+
++
+When no configuration or cluster is specified, a copy of the
+  `default-config` configuration is created for the instance. The name
+  of this configuration is instance-name`-config`, where instance-name
+  represents the name of an unclustered server instance.
+
+Shared instance::
+  A shared instance shares its configuration with other instances or
+  clusters. A shared instance is created if a configuration that is
+  referenced by other instances or clusters is specified in the command
+  to create the instance.
+
+Clustered instance::
+  A clustered instance inherits its configuration from the cluster to
+  which the instance belongs and shares its configuration with other
+  instances in the cluster. A clustered instance is created if a cluster
+  is specified in the command to create the instance. +
+  Any instance that is not part of a cluster is considered an
+  unclustered server instance. Therefore, standalone instances and
+  shared instances are unclustered server instances.
+
+By default, this subcommand attempts to resolve possible port conflicts
+for the instance that is being created. The subcommand also assigns
+ports that are currently not in use and not already assigned to other
+instances on the same node. The subcommand assigns these ports on the
+basis of an algorithm that is internal to the subcommand. Use the
+`--systemproperties` option to resolve port conflicts for additional
+instances on the same node. System properties of an instance can be
+manipulated by using the
+link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)]
+subcommand and the
+link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)]
+subcommand.
+
+When creating an instance, the subcommand retrieves the files that are
+required for secure synchronization with the domain administration
+server (DAS). The instance is synchronized with the DAS when the
+instance is started
+
+[[sthref390]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--node`::
+  The name of the node that defines the host where the instance is to be
+  created. The node must be specified only if more than one node exists
+  in the directory where nodes are stored. Otherwise, the node may be
+  omitted. If a node is specified, the node must exist. +
+  If no node is specified, the behavior of the subcommand depends on the
+  number of existing nodes in the directory where nodes are stored:
+
+  * If no nodes exist, the subcommand creates a node for the instance.
+  The name of the node is the name of the host on which the subcommand
+  is run.
+  * If only one node exists, the subcommand creates a reference to the
+  existing node for the instance.
+  * If two or more nodes exist, an error occurs.
+
+`--nodedir`::
+  The path to the directory in which the files for instance's node is to
+  be stored. The default is as-install``/nodes``.
+`--config`::
+  Specifies the named configuration that the instance references.
+  The configuration must exist and must not be named `default-config` or
+  `server-config`. Specifying the `--config` option creates a shared instance. +
+  The `--config` option and the `--cluster` option are mutually
+  exclusive. If both options are omitted, a standalone instance is created.
+`--cluster`::
+  Specifies the cluster from which the instance inherits its configuration.
+  Specifying the `--cluster` option creates a clustered instance. +
+  The `--config` option and the `--cluster` option are mutually
+  exclusive. If both options are omitted, a standalone instance is
+  created.
+`--lbenabled`::
+  Specifies whether the instance is enabled for load balancing. Possible
+  values are as follows:
+
+  `true`;;
+    The instance is enabled for load balancing (default). +
+    When an instance is enabled for load balancing, a load balancer
+    sends requests to the instance.
+  `false`;;
+    The instance is disabled for load balancing.
+
++
+When an instance is disabled for load balancing, a load balancer
+    does not send requests to the instance.
+
+`--portbase`::
+  Determines the number with which the port assignment should start. An
+  instance uses a certain number of ports that are statically assigned.
+  The portbase value determines where the assignment should start. The
+  values for the ports are calculated as follows:
+
+  * Administration port: portbase + 48
+  * HTTP listener port: portbase + 80
+  * HTTPS listener port: portbase + 81
+  * JMS port: portbase + 76
+  * IIOP listener port: portbase + 37
+  * Secure IIOP listener port: portbase + 38
+  * Secure IIOP with mutual authentication port: portbase + 39
+  * JMX port: portbase + 86
+  * JPA debugger port: portbase + 9
+  * Felix shell service port for OSGi module management: portbase + 66
+
++
+When the `--portbase` option is specified, the output of this
+  subcommand includes a complete list of used ports.
+`--checkports`::
+  Specifies whether to check for the availability of the administration,
+  HTTP, JMS, JMX, and IIOP ports. The default value is `true`.
+`--savemasterpassword`::
+  Setting this option to `true` allows the master password to be written
+  to the file system. If the master password is written to the file
+  system, the instance can be started without the need to prompt for the
+  password. If this option is `true`, the `--usemasterpassword` option
+  is also true, regardless of the value that is specified on the command
+  line. Because writing the master password to the file system is an
+  insecure practice, the default is `false`. +
+  The master-password file for an instance is saved in the node
+  directory, not the domain directory. Therefore, this option is
+  required only for the first instance that is created for each node in a domain.
+`--usemasterpassword`::
+  Specifies whether the key store is encrypted with a master password
+  that is built into the system or a user-defined master password. +
+  If `false` (default), the keystore is encrypted with a well-known
+  password that is built into the system. Encrypting the keystore with a
+  password that is built into the system provides no additional security. +
+  If `true`, the subcommand obtains the master password from the
+  `AS_ADMIN_MASTERPASSWORD` entry in the password file or prompts for
+  the master password. The password file is specified in the
+  `--passwordfile` option of the
+  link:asadmin.html#asadmin-1m[`asadmin`(1M)]utility. +
+  If the `--savemasterpassword` option is `true`, this option is also
+  true, regardless of the value that is specified on the command line. +
+  The master password must be the same for all instances in a domain.
+`--systemproperties`::
+  Defines system properties for the instance. These properties override
+  property definitions for port settings in the instance's
+  configuration. Predefined port settings must be overridden if, for
+  example, two clustered instances reside on the same host. In this
+  situation, port settings for one instance must be overridden because
+  both instances share the same configuration. +
+  The following properties are available:
+
+  `ASADMIN_LISTENER_PORT`;;
+    This property specifies the port number of the HTTP port or HTTPS
+    port through which the DAS connects to the instance to manage the
+    instance. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `HTTP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTP requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `HTTP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used to
+    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+  `IIOP_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_LISTENER_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
+    sockets that listen on ports 1-1024 requires superuser privileges.
+  `IIOP_SSL_MUTUALAUTH_PORT`;;
+    This property specifies the port number of the port that is used for
+    secure IIOP connections with client authentication. Valid values are
+    1-65535. On UNIX, creating sockets that listen on ports 1-1024
+    requires superuser privileges.
+  `JAVA_DEBUGGER_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the Java Platform Debugger Architecture (JPDA)
+    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+    debugger. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMS_PROVIDER_PORT`;;
+    This property specifies the port number for the Java Message Service
+    provider. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `JMX_SYSTEM_CONNECTOR_PORT`;;
+    This property specifies the port number on which the JMX connector
+    listens. Valid values are 1-65535. On UNIX, creating sockets that
+    listen on ports 1-1024 requires superuser privileges.
+  `OSGI_SHELL_TELNET_PORT`;;
+    This property specifies the port number of the port that is used for
+    connections to the Apache Felix Remote Shell
+    (`http://felix.apache.org/site/apache-felix-remote-shell.html`).
+    This shell uses the Felix shell service to interact with the OSGi
+    module management subsystem. Valid values are 1-65535. On UNIX,
+    creating sockets that listen on ports 1-1024 requires superuser
+    privileges.
+
+[[sthref391]]
+
+=== Operands
+
+instance-name::
+  The name of the instance that is being created. +
+  The name must meet the following requirements:
+
+  * The name may contain only ASCII characters.
+  * The name must start with a letter, a number, or an underscore.
+  * The name may contain only the following characters:
+  ** Lowercase letters
+  ** Uppercase letters
+  ** Numbers
+  ** Hyphen
+  ** Period
+  ** Underscore
+  * The name must be unique in the domain and must not be the name of
+  another {productName} instance, a cluster, a named configuration,
+  or a node.
+  * The name must not be `domain`, `server`, or any other keyword that
+  is reserved by {productName}.
+
+[[sthref392]]
+
+=== Examples
+
+[[GSRFM505]][[sthref393]]
+
+==== Example 1   Creating a Standalone {productName} Instance
+
+This example creates the standalone instance `il3` on the host where the
+command is run. The DAS is running on the same host. The instance
+references the only existing node.
+
+[source]
+----
+asadmin> create-local-instance il3
+Rendezvoused with DAS on localhost:4848.
+Port Assignments for server instance il3:
+JMX_SYSTEM_CONNECTOR_PORT=28686
+JMS_PROVIDER_PORT=27676
+HTTP_LISTENER_PORT=28080
+ASADMIN_LISTENER_PORT=24848
+JAVA_DEBUGGER_PORT=29009
+IIOP_SSL_LISTENER_PORT=23820
+IIOP_LISTENER_PORT=23700
+OSGI_SHELL_TELNET_PORT=26666
+HTTP_SSL_LISTENER_PORT=28181
+IIOP_SSL_MUTUALAUTH_PORT=23920
+Command create-local-instance executed successfully.
+----
+
+[[GSRFM506]][[sthref394]]
+
+==== Example 2   Creating a Clustered {productName} Instance on a Specific Node
+
+This example creates the clustered instance `ymli2` on node `sj02`. The
+instance is a member of the cluster `ymlclust`.
+
+The command is run on the host `sj02`, which is the host that the node
+`sj02` represents. The DAS is running on the host `sr04` and uses the
+default HTTP port for administration. Because no instances exist on the
+node, the host on which the DAS is running is provided through the
+`--host` option of the `asadmin` utility.
+
+[source]
+----
+sj02# asadmin --host sr04 create-local-instance --cluster ymlclust --node sj02 ymli2
+Rendezvoused with DAS on sr04:4848.
+Port Assignments for server instance ymli2:
+JMX_SYSTEM_CONNECTOR_PORT=28686
+JMS_PROVIDER_PORT=27676
+HTTP_LISTENER_PORT=28080
+ASADMIN_LISTENER_PORT=24848
+JAVA_DEBUGGER_PORT=29009
+IIOP_SSL_LISTENER_PORT=23820
+IIOP_LISTENER_PORT=23700
+OSGI_SHELL_TELNET_PORT=26666
+HTTP_SSL_LISTENER_PORT=28181
+IIOP_SSL_MUTUALAUTH_PORT=23920
+Command create-local-instance executed successfully.
+----
+
+[[sthref395]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref396]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)],
+link:list-instances.html#list-instances-1[`list-instances`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-managed-thread-factory.adoc b/docs/reference-manual/src/main/asciidoc/create-managed-thread-factory.adoc
new file mode 100644
index 0000000..7544c8a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-managed-thread-factory.adoc
@@ -0,0 +1,133 @@
+type=page
+status=published
+title=create-managed-thread-factory
+next=create-message-security-provider.html
+prev=create-managed-scheduled-executor-service.html
+~~~~~~
+
+= create-managed-thread-factory
+
+[[create-managed-thread-factory-1]][[GSRFM842]][[create-managed-thread-factory]]
+
+== create-managed-thread-factory
+
+Creates a managed thread factory resource
+
+[[sthref413]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-managed-thread-factory [--help]
+[--enabled={false|true}]
+[--contextinfoenabled={false|true}]
+[--contextinfo={Classloader|JNDI|Security|WorkArea}]
+[--threadpriority threadpriority]
+[--description description]
+[--property property]
+[--target target]
+jndi_name
+----
+
+[[sthref414]]
+
+=== Description
+
+The `create-managed-thread-factory` subcommand creates a managed thread
+factory resource.
+
+This subcommand is supported in remote mode only.
+
+[[sthref415]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--enabled`::
+  Determines whether the managed thread factory is enabled at runtime.
+  The default value is `true`.
+`--contextinfoenabled`::
+  Determines whether container contexts are propagated to threads. If
+  set to `true`, the contexts specified in the `--contextinfo` option
+  are propagated. If set to `false`, no contexts are propagated and the
+  `--contextinfo` option is ignored. The default value is `true`.
+`--contextinfo`::
+  Specifies individual container contexts to propagate to threads. Valid
+  values are Classloader, JNDI, Security, and WorkArea. Values are
+  specified in a comma-separated list and are case-insensitive. All
+  contexts are propagated by default.
+`--threadpriority`::
+  Specifies the priority to assign to created threads. The default value
+  is 5.
+`--description`::
+  Descriptive details about the resource.
+`--property`::
+  Optional attribute name/value pairs for configuring the resource. +
+  {productName} does not define any additional properties for this
+  resource. Moreover, this resource does not currently use any
+  additional properties.
+`--target`::
+  Specifies the target for which you are creating the resource. Valid
+  targets are:
+
+  `server`;;
+    Creates the resource for the default server instance. This is the
+    default value.
+  `domain`;;
+    Creates the resource for the domain.
+  cluster_name;;
+    Creates the resource for every server instance in the specified
+    cluster.
+  instance_name;;
+    Creates the resource for the specified server instance.
+
+[[sthref416]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of this resource.
+
+[[sthref417]]
+
+=== Examples
+
+[[GSRFM843]][[sthref418]]
+
+==== Example 1   Creating a Managed Thread Factory Resource
+
+This example creates a managed thread factory resource named
+`concurrent/myThreadFactory`.
+
+[source]
+----
+asadmin> create-managed-thread-factory concurrent/myThreadFactory
+Managed thread factory concurrent/myThreadFactory created successfully.
+Command create-managed-thread-factory executed successfully.
+----
+
+[[sthref419]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref420]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-managed-thread-factory.html#delete-managed-thread-factory-1[`delete-managed-thread-factory`(1)],
+link:list-managed-thread-factories.html#list-managed-thread-factories-1[`list-managed-thread-factories`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-message-security-provider.adoc b/docs/reference-manual/src/main/asciidoc/create-message-security-provider.adoc
new file mode 100644
index 0000000..8e85076
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-message-security-provider.adoc
@@ -0,0 +1,193 @@
+type=page
+status=published
+title=create-message-security-provider
+next=create-module-config.html
+prev=create-managed-thread-factory.html
+~~~~~~
+
+= create-message-security-provider
+
+[[create-message-security-provider-1]][[GSRFM00045]][[create-message-security-provider]]
+
+== create-message-security-provider
+
+Enables administrators to create a message security provider, which
+specifies how SOAP messages will be secured.
+
+[[sthref421]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-message-security-provider [--help]
+[--target target]
+--classname provider_class
+[--layer message_layer] [--providertype provider_type]
+[--requestauthsource request_auth_source ]
+[--requestauthrecipient request_auth_recipient ]
+[--responseauthsource response_auth_source ]
+[--responseauthrecipient response_auth_recipient ]
+[--isdefaultprovider] [--property name=value[:name=value]*]
+provider_name
+----
+
+[[sthref422]]
+
+=== Description
+
+The `create-message-security-provider` subcommand enables the
+administrator to create a message security provider for the security
+service which specifies how SOAP messages will be secured.
+
+This command is supported in remote mode only.
+
+[[sthref423]]
+
+=== Options
+
+If an option has a short option name, then the short option precedes the
+long option name. Short options have one dash whereas long options have
+two dashes.
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you are creating the message security
+  provider. The following values are valid:
+
+  `server`;;
+    Creates the provider for the default server instance `server` and is
+    the default value.
+  `domain`;;
+    Creates the provider for the domain.
+  cluster_name;;
+    Creates the provider for every server instance in the cluster.
+  instance_name;;
+    Creates the provider for a particular sever instance.
+
+`--classname`::
+  Defines the Java implementation class of the provider. Client
+  authentication providers must implement the
+  `com.sun.enterprise. security.jauth.ClientAuthModule` interface.
+  Server-side providers must implement the
+  `com.sun.enterprise.security jauth.ServerAuthModule` interface. A
+  provider may implement both interfaces, but it must implement the
+  interface corresponding to its provider type.
+`--layer`::
+  The message-layer entity used to define the value of the `auth-layer`
+  attribute of `message-security-config` elements. The default is
+  `HttpServlet`. Another option is `SOAP`.
+`--providertype`::
+  Establishes whether the provider is to be used as client
+  authentication provider, server authentication provider, or both.
+  Valid options for this property include `client`, `server`, or
+  `client-server`.
+`--requestauthsource`::
+  The `auth-source` attribute defines a requirement for message-layer
+  sender authentication (e.g. username password) or content
+  authentication (e.g. digital signature) to be applied to request
+  messages. Possible values are `sender` or `content`. When this
+  argument is not specified, source authentication of the request is not
+  required.
+`--requestauthrecipient`::
+  The `auth-recipient` attribute defines a requirement for message-layer
+  authentication of the receiver of a message to its sender (e.g. by XML
+  encryption). Possible values are `before-content` or `after-content`.
+  The default value is `after-content`.
+`--responseauthsource`::
+  The `auth-source` attribute defines a requirement for message-layer
+  sender authentication (e.g. username password) or content
+  authentication (e.g. digital signature) to be applied to response
+  messages. Possible values are `sender` or `content`. When this option
+  is not specified, source authentication of the response is not
+  required.
+`--responseauthrecipient`::
+  The `auth-recipient` attribute defines a requirement for message-layer
+  authentication of the receiver of the response message to its sender
+  (e.g. by XML encryption). Possible values are `before-content` or
+  `after-content`. The default value is `after-content`.
+`--isdefaultprovider`::
+  The `default-provider` attribute is used to designate the provider as
+  the default provider (at the layer) of the type or types identified by
+  the `providertype` argument. There is no default associated with this
+  option.
+`--property`::
+  Use this property to pass provider-specific property values to the
+  provider when it is initialized. Properties passed in this way might
+  include key aliases to be used by the provider to get keys from
+  keystores, signing, canonicalization, encryption algorithms, etc. +
+  The following properties may be set:
+
+  `security.config`;;
+    Specifies the location of the message security configuration file.
+    To point to a configuration file in the domain-dir``/config``
+    directory, use the system property
+    `${com.sun.aas.instanceRoot}/config/`, for example:
+    `${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml`. The
+    default is domain-dir`/config/ wss-serverconfig-1.0.xml`.
+  `debug`;;
+    If `true`, enables dumping of server provider debug messages to the
+    server log. The default is `false`.
+  `dynamic.username. password`;;
+    If `true`, signals the provider runtime to collect the user name and
+    password from the `CallbackHandler` for each request. If `false`,
+    the user name and password for `wsse:UsernameToken`(s) is collected
+    once, during module initialization. This property is only applicable
+    for a `ClientAuthModule`. The default is `false`.
+  `encryption.key.alias`;;
+    Specifies the encryption key used by the provider. The key is
+    identified by its keystore alias. The default value is `s1as`.
+  `signature.key.alias`;;
+    Specifies the signature key used by the provider. The key is
+    identified by its keystore alias. The default value is `s1as`.
+
+[[sthref424]]
+
+=== Operands
+
+provider_name::
+  The name of the provider used to reference the `provider-config`
+  element.
+
+[[sthref425]]
+
+=== Examples
+
+[[GSRFM507]][[sthref426]]
+
+==== Example 1   Creating a Message Security Provider
+
+The following example shows how to create a message security provider
+for a client.
+
+[source]
+----
+asadmin> create-message-security-provider
+--classname com.sun.enterprise.security.jauth.ClientAuthModule
+--providertype client mySecurityProvider
+----
+
+[[sthref427]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref428]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)],
+link:list-message-security-providers.html#list-message-security-providers-1[`list-message-security-providers`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-module-config.adoc b/docs/reference-manual/src/main/asciidoc/create-module-config.adoc
new file mode 100644
index 0000000..962bc28
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-module-config.adoc
@@ -0,0 +1,113 @@
+type=page
+status=published
+title=create-module-config
+next=create-network-listener.html
+prev=create-message-security-provider.html
+~~~~~~
+
+= create-module-config
+
+[[create-module-config-1]][[GSRFM844]][[create-module-config]]
+
+== create-module-config
+
+Adds the default configuration of a module to `domain.xml`
+
+[[sthref429]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-module-config [--help]
+[--dryrun={false|true}]
+[--all={false|true}]
+[--target target]
+[service_name]
+----
+
+[[sthref430]]
+
+=== Description
+
+The `create-module-config` subcommand adds the default configuration of
+a module to `domain.xml`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref431]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--dryrun`::
+  Displays the default configuration of a module but does not add it to
+  `domain.xml`. The default value is `false`.
+`--all`::
+  Adds all default configurations of modules to `domain.xml` if they are
+  not already in it. The default value is `false`.
+`--target`::
+  Specifies the target to which the default configuration is being added.
+  Possible values are as follows:
+
+  `server`;;
+    Adds the default configuration to the default server instance. This
+    is the default value.
+  `domain`;;
+    Adds the default configuration to the default domain.
+  cluster-name;;
+    Adds the default configuration to every server instance in the
+    specified cluster.
+  instance-name;;
+    Adds the default configuration to the specified instance.
+
+[[sthref432]]
+
+=== Operands
+
+service_name::
+  The name of the module for which the default configuration is to be
+  added.
+
+[[sthref433]]
+
+=== Examples
+
+[[GSRFM845]][[sthref434]]
+
+==== Example 1   Adding a Default 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.
+----
+
+[[sthref435]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref436]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-module-config.html#delete-module-config-1[`delete-module-config`(1)],
+link:get-active-module-config.html#get-active-module-config-1[`get-active-module-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-network-listener.adoc b/docs/reference-manual/src/main/asciidoc/create-network-listener.adoc
new file mode 100644
index 0000000..90e1ff5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-network-listener.adoc
@@ -0,0 +1,155 @@
+type=page
+status=published
+title=create-network-listener
+next=create-node-config.html
+prev=create-module-config.html
+~~~~~~
+
+= create-network-listener
+
+[[create-network-listener-1]][[GSRFM00046]][[create-network-listener]]
+
+== create-network-listener
+
+Adds a new network listener socket
+
+[[sthref437]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-network-listener [--help]
+[--address address]
+--listenerport listener-port
+[--threadpool thread-pool]
+--protocol protocol
+[--transport transport]
+[--enabled={true|false}]
+[--jkenabled={false|true}]
+[--target target]
+listener-name
+----
+
+[[sthref438]]
+
+=== Description
+
+The `create-network-listener` subcommand creates a network listener.
+This subcommand is supported in remote mode only.
+
+
+[NOTE]
+====
+If you edit the special network listener named `admin-listener`, you
+must restart the server for the changes to take effect. The
+Administration Console does not tell you that a restart is required in
+this case.
+====
+
+
+
+[NOTE]
+====
+You can use the `create-http-listener` subcommand to create a network
+listener that uses the HTTP protocol without having to first create a
+protocol, transport, or HTTP configuration. This subcommand is a
+convenient shortcut, but it gives access to only a limited number of
+options.
+====
+
+
+[[sthref439]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--address`::
+  The IP address or the hostname (resolvable by DNS).
+`--listenerport`::
+  The port number to create the listen socket on. Legal values are
+  1-65535. On UNIX, creating sockets that listen on ports 1-1024
+  requires superuser privileges. Configuring an SSL listen socket to
+  listen on port 443 is standard.
+`--threadpool`::
+  The name of the thread pool for this listener. Specifying a thread
+  pool is optional. The default is `http-thread-pool`.
+`--protocol`::
+  The name of the protocol for this listener.
+`--transport`::
+  The name of the transport for this listener. Specifying a transport is
+  optional. The default is `tcp`.
+`--enabled`::
+  If set to `true`, the default, the listener is enabled at runtime.
+`--jkenabled`::
+  If set to `true`, `mod_jk` is enabled for this listener. The default
+  is false.
+`--target`::
+  Creates the network listener only on the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Creates the network listener on the default server instance. This is
+    the default value.
+  configuration-name;;
+    Creates the network listener in the specified configuration.
+  cluster-name;;
+    Creates the network listener on all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Creates the network listener on the specified standalone server
+    instance.
+
+[[sthref440]]
+
+=== Operands
+
+listener-name::
+  The name of the network listener.
+
+[[sthref441]]
+
+=== Examples
+
+[[GSRFM508]][[sthref442]]
+
+==== Example 1   Creating a Network Listener
+
+The following command creates a network listener named `sampleListener`
+that is not enabled at runtime:
+
+[source]
+----
+asadmin> create-network-listener --listenerport 7272 protocol http-1
+--enabled=false sampleListener
+Command create-network-listener executed successfully.
+----
+
+[[sthref443]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref444]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
+link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
+link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
+link:create-transport.html#create-transport-1[`create-transport`(1)],
+link:delete-network-listener.html#delete-network-listener-1[`delete-network-listener`(1)],
+link:list-network-listeners.html#list-network-listeners-1[`list-network-listeners`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-node-config.adoc b/docs/reference-manual/src/main/asciidoc/create-node-config.adoc
new file mode 100644
index 0000000..1957e4d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-node-config.adoc
@@ -0,0 +1,167 @@
+type=page
+status=published
+title=create-node-config
+next=create-node-dcom.html
+prev=create-network-listener.html
+~~~~~~
+
+= create-node-config
+
+[[create-node-config-1]][[GSRFM00047]][[create-node-config]]
+
+== create-node-config
+
+Creates a node that is not enabled for remote communication
+
+[[sthref445]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-node-config [--help]
+[--nodehost node-host]
+[--installdir as-install-parent] [--nodedir node-dir] node-name
+----
+
+[[sthref446]]
+
+=== Description
+
+The `create-node-config` subcommand creates a node that is not enabled
+for remote communication. The `create-node-config` subcommand does not
+require the Distributed Component Object Model (DCOM) remote protocol or
+secure shell (SSH) to be configured to create the node.
+
+A node represents a host on which the {productName} software is
+installed. A node must exist for every host on which {productName}
+instances reside.
+
+
+[NOTE]
+====
+To represent the host where the DAS is running, {productName}
+provides the predefined node ``localhost-``domain. The predefined node
+``localhost-``domain is not enabled for remote communication.
+====
+
+
+All administration of instances on a node that is not enabled for remote
+communication must be performed on the host that the node represents.
+The domain administration server (DAS) on a remote host cannot contact
+the node. To administer instances on a node that represents a host that
+is remote from the DAS, you must use the following subcommands:
+
+* link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
+* link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
+* link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]
+
+However, you may use
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+or link:stop-instance.html#stop-instance-1[`stop-instance`(1)] to stop
+the instances.
+
+This subcommand is supported in remote mode only.
+
+[[sthref447]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodehost`::
+  The name of the host that the node represents. If this option is
+  omitted, no host is specified for the node.
+`--installdir`::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,
+  `/export/glassfish7/`. If this option is omitted, no parent of the
+  base installation directory of the {productName} software is
+  specified for the node.
+`--nodedir`::
+  The path to the directory that is to contain {productName}
+  instances that are created on the node. If a relative path is
+  specified, the path is relative to the as-install directory. If this
+  option is omitted, no directory for instances is specified for the
+  node.
+
+[[sthref448]]
+
+=== Operands
+
+node-name::
+  The name of the node. +
+  The name must meet the following requirements:
+
+  * The name may contain only ASCII characters.
+  * The name must start with a letter, a number, or an underscore.
+  * The name may contain only the following characters:
+  ** Lowercase letters
+  ** Uppercase letters
+  ** Numbers
+  ** Hyphen
+  ** Period
+  ** Underscore
+  * The name must be unique in the domain and must not be the name of
+  another node, a cluster, a named configuration, or a {productName}
+  instance.
+  * The name must not be `domain`, `server`, or any other keyword that
+  is reserved by {productName}.
+
+[[sthref449]]
+
+=== Examples
+
+[[GSRFM509]][[sthref450]]
+
+==== Example 1   Creating a Node That Is Not Enabled for Remote Communication
+
+This example creates the node `sj03` for host `sj03.example.com`. The
+node is not enabled for remote communication.
+
+[source]
+----
+asadmin> create-node-config --nodehost sj03.example.com sj03
+
+Command create-node-config executed successfully.
+----
+
+[[sthref451]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref452]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
+link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-node-dcom.adoc b/docs/reference-manual/src/main/asciidoc/create-node-dcom.adoc
new file mode 100644
index 0000000..5bf221b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-node-dcom.adoc
@@ -0,0 +1,229 @@
+type=page
+status=published
+title=create-node-dcom
+next=create-node-ssh.html
+prev=create-node-config.html
+~~~~~~
+
+= create-node-dcom
+
+[[create-node-dcom-1]][[GSRFM510]][[create-node-dcom]]
+
+== create-node-dcom
+
+Creates a node that is enabled for communication over DCOM
+
+[[sthref453]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-node-dcom [--help]
+--nodehost node-host
+[--installdir as-install-parent] [--nodedir node-dir]
+[--windowsuser windows-user] [--windowsdomain windows-domain]
+[--force={false|true}]
+[--install={false|true}] [--archive archive]
+node-name
+----
+
+[[sthref454]]
+
+=== Description
+
+The `create-node-dcom` subcommand creates a node that is enabled for
+communication over the Distributed Component Object Model (DCOM) remote
+protocol. The DCOM protocol is available only on Windows systems.
+
+A node represents a host on which the {productName} software is
+installed. A node must exist for every host on which {productName}
+instances reside.
+
+In a DCOM-enabled network, the domain administration server (DAS)
+contacts a node's host through the DCOM connector to manage
+{productName} instances that reside on the node. DCOM is used only
+for communications between hosts. DCOM is never used for communications
+within a single host.
+
+By default, the subcommand fails and the node is not created if the DAS
+cannot contact the node's host through DCOM. To force the node to be
+created in the DAS configuration even if the host cannot be contacted
+through DCOM, set the `--force` option to `true`.
+
+The `create-node-dcom` subcommand cannot create a node that represents
+the local host, that is, the host on which the subcommand is run. The
+subcommand fails regardless of how the local host is specified, for
+example, by using the keyword `localhost`, the Internet Protocol (IP)
+address of the host, or the host name.
+
+This subcommand is supported in remote mode only.
+
+[[sthref455]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodehost`::
+  The name of the host that the node represents. The name of the host
+  must be specified. Otherwise, an error occurs.
+`--installdir`::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example, `C:\glassfish7`.
+  The default is the parent of the default base installation directory
+  of the {productName} software for the DAS. This default is useful
+  only if {productName} is installed in the same location on all
+  hosts.
+`--nodedir`::
+  The path to the directory that is to contain {productName}
+  instances that are created on the node. The default is
+  as-install`\nodes`, where as-install is the base installation
+  directory of the {productName} software on the host. If a relative
+  path is specified, the path is relative to the as-install directory.
+`--windowsuser`::
+`-w`::
+  The user on this node's host that is to run the process for connecting
+  to the host through DCOM. The default is the user that is running the
+  DAS process. If the `--nodehost` option is set to ``localhost-``domain,
+  the `--windowsuser` option is ignored
+`--windowsdomain`::
+`-d`::
+  The name of the Windows domain that contains the user that the
+  `--windowsuser` option specifies. The default is the name of the host
+  on which the subcommand is run.
+`--force`::
+  Specifies whether the node is created in the DAS configuration even if
+  validation of the node's parameters fails. To validate a node's
+  parameters, the DAS must be able to contact the node's host through
+  DCOM. Possible values are as follows:
+
+  `false`;;
+    The node is not created if validation of the node's parameters fails
+    (default).
+  `true`;;
+    The node is created even if validation of the node's parameters
+    fails.
+
+`--install`::
+  Specifies whether the subcommand shall install the {productName}
+  software on the host that the node represents. +
+  Possible values are as follows:
+
+  `false`;;
+    The subcommand shall not install the {productName} software on
+    the host (default).
+  `true`;;
+    The subcommand shall install the {productName} software on the host.
+
+`--archive`::
+  The absolute path to the archive file of the {productName}
+  software that is to be installed. If this option is omitted and the
+  `--install` is `true`, the subcommand creates a ZIP archive of the
+  {productName} software from the installation where this subcommand
+  is run. The archive does not contain the `domains` directory or the
+  `nodes` directory.
+
+[[sthref456]]
+
+=== Operands
+
+node-name::
+  The name of the node. +
+  The name must meet the following requirements:
+
+  * The name may contain only ASCII characters.
+  * The name must start with a letter, a number, or an underscore.
+  * The name may contain only the following characters:
+  ** Lowercase letters
+  ** Uppercase letters
+  ** Numbers
+  ** Hyphen
+  ** Period
+  ** Underscore
+  * The name must be unique in the domain and must not be the name of
+  another node, a cluster, a named configuration, or a {productName}
+  instance.
+  * The name must not be `domain`, `server`, or any other keyword that
+  is reserved by {productName}.
+
+[[sthref457]]
+
+=== Examples
+
+[[GSRFM511]][[sthref458]]
+
+==== Example 1   Creating a Node
+
+This example creates the node `wpmdl1` for the host
+`wpmdl1.example.com`. By default, the parent of the base installation
+directory of the {productName} software is `C:\glassfish7`.
+
+[source]
+----
+asadmin> create-node-dcom
+--nodehost wpmdl1.example.com wpmdl1
+Command create-node-dcom executed successfully.
+----
+
+[[GSRFM829]][[sthref459]]
+
+==== Example 2   Creating a Node With a Specific Installation Directory
+
+This example creates the node `wyml1` for the host `wyml1.example.com`.
+The parent of the base installation directory of the {productName}
+software on this host is `C:\middleware\glassfish7`.
+
+[source]
+----
+asadmin> create-node-dcom --installdir C:\middleware\glassfish7
+--nodehost wyml1.example.com wyml1
+Command create-node-dcom executed successfully.
+----
+
+[[GSRFM512]][[sthref460]]
+
+==== Example 3   Forcing the Creation of a Node
+
+This example forces the creation of node `xkyd` for the host
+`xkyd.example.com`. The node is created despite the failure of the DAS
+to contact the host `xkyd.example.com` to validate the node's
+parameters.
+
+[source]
+----
+asadmin> create-node-dcom --force --nodehost xkyd.example.com xkyd
+Warning: some parameters appear to be invalid.
+com.sun.enterprise.universal.process.WindowsException: Connection in error
+Continuing with node creation due to use of --force.
+Command create-node-dcom executed successfully.
+----
+
+[[sthref461]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref462]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-node-ssh.adoc b/docs/reference-manual/src/main/asciidoc/create-node-ssh.adoc
new file mode 100644
index 0000000..09af4a1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-node-ssh.adoc
@@ -0,0 +1,243 @@
+type=page
+status=published
+title=create-node-ssh
+next=create-password-alias.html
+prev=create-node-dcom.html
+~~~~~~
+
+= create-node-ssh
+
+[[create-node-ssh-1]][[GSRFM00048]][[create-node-ssh]]
+
+== create-node-ssh
+
+Creates a node that is enabled for communication over SSH
+
+[[sthref463]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-node-ssh [--help]
+--nodehost node-host
+[--installdir as-install-parent] [--nodedir node-dir]
+[--sshport ssh-port] [--sshuser ssh-user]
+[--sshkeyfile ssh-keyfile]
+[--force={false|true}]
+[--install={false|true}] [--archive archive]
+node-name
+----
+
+[[sthref464]]
+
+=== Description
+
+The `create-node-ssh` subcommand creates a node that is enabled for
+communication over secure shell (SSH).
+
+A node represents a host on which the {productName} software is
+installed. A node must exist for every host on which {productName}
+instances reside.
+
+The domain administration server (DAS) contacts an SSH node's host
+through the SSH connector to manage {productName} instances that
+reside on the node. However, the DAS does not use the SSH connector to
+contact the host where the DAS is running because the DAS can run all
+`asadmin` subcommands locally.
+
+By default, the subcommand fails and the node is not created if the DAS
+cannot contact the node's host through SSH. To force the node to be
+created in the DAS configuration even if the host cannot be contacted
+through SSH, set the `--force` option to `true`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref465]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodehost`::
+  The name of the host that the node represents. The name of the host
+  must be specified. Otherwise, an error occurs.
+`--installdir`::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,
+  `/export/glassfish7/`. The default is the parent of the default base
+  installation directory of the {productName} software for the DAS.
+  This default is useful only if {productName} is installed in the
+  same location on all hosts.
+`--nodedir`::
+  The path to the directory that is to contain {productName}
+  instances that are created on the node. The default is
+  as-install``/nodes``, where as-install is the base installation
+  directory of the {productName} software on the host. If a relative
+  path is specified, the path is relative to the as-install directory.
+`--sshport`::
+  The port to use for SSH connections to this node's host. The default
+  is 22. If the `--nodehost` option is set to ``localhost-``domain, the
+  `--sshport` option is ignored.
+`--sshuser`::
+  The user on this node's host that is to run the process for connecting
+  to the host through SSH. The default is the user that is running the
+  DAS process. To ensure that the DAS can read this user's SSH private
+  key file, specify the user that is running the DAS process. If the
+  `--nodehost` option is set to ``localhost-``domain, the `--sshuser`
+  option is ignored.
+`--sshkeyfile`::
+  The absolute path to the SSH private key file for user that the
+  `--sshuser` option specifies. This file is used for authentication to
+  the `sshd` daemon on the node's host.
++
+[NOTE]
+====
+{productName} also supports password authentication through the
+`AS_ADMIN_SSHPASSWORD` entry in the password file. The password file
+is specified in the `--paswordfile` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility.
+====
++
+If the SSH private key file is protected by a passphrase, the password
+  file must contain the `AS_ADMIN_SSHKEYPASSPHRASE` entry. +
+  The path to the key file must be reachable by the DAS and the key file
+  must be readable by the DAS. +
+  The default is the a key file in the user's `.ssh` directory. If
+  multiple key files are found, the subcommand uses the following order
+  of preference:
+
+  1.  `id_rsa`
+  2.  `id_dsa`
+  3.  `identity`
+
+`--force`::
+  Specifies whether the node is created in the DAS configuration even if
+  validation of the node's parameters fails. To validate a node's
+  parameters, the DAS must be able to contact the node's host through
+  SSH. Possible values are as follows:
+
+  `false`;;
+    The node is not created if validation of the node's parameters fails
+    (default).
+  `true`;;
+    The node is created even if validation of the node's parameters
+    fails.
+
+`--install`::
+  Specifies whether the subcommand shall install the {productName}
+  software on the host that the node represents. +
+  Possible values are as follows:
+
+  `false`;;
+    The subcommand shall not install the {productName} software on
+    the host (default).
+  `true`;;
+    The subcommand shall install the {productName} software on the
+    host.
+
+`--archive`::
+  The absolute path to the archive file of the {productName}
+  software that is to be installed. If this option is omitted and the
+  `--install` is `true`, the subcommand creates a ZIP archive of the
+  {productName} software from the installation where this subcommand
+  is run. The archive does not contain the `domains` directory or the
+  `nodes` directory.
+
+[[sthref466]]
+
+=== Operands
+
+node-name::
+  The name of the node. +
+  The name must meet the following requirements:
+
+  * The name may contain only ASCII characters.
+  * The name must start with a letter, a number, or an underscore.
+  * The name may contain only the following characters:
+  ** Lowercase letters
+  ** Uppercase letters
+  ** Numbers
+  ** Hyphen
+  ** Period
+  ** Underscore
+  * The name must be unique in the domain and must not be the name of
+  another node, a cluster, a named configuration, or a {productName}
+  instance.
+  * The name must not be `domain`, `server`, or any other keyword that
+  is reserved by {productName}.
+
+[[sthref467]]
+
+=== Examples
+
+[[GSRFM513]][[sthref468]]
+
+==== Example 1   Creating a Node
+
+This example creates the node `adc` for the host `adc.example.com`. By
+default, the parent of the base installation directory of the
+{productName} software is `/export/glassfish7`.
+
+[source]
+----
+asadmin> create-node-ssh
+--nodehost adc.example.com
+--installdir /export/glassfish7 adc
+
+Command create-node-ssh executed successfully.
+----
+
+[[GSRFM514]][[sthref469]]
+
+==== Example 2   Forcing the Creation of a Node
+
+This example forces the creation of node `eg1` for the host
+`eghost.example.com`. The node is created despite the failure of the DAS
+to contact the host `eghost.example.com` to validate the node's
+parameters.
+
+[source]
+----
+asadmin> create-node-ssh --force --nodehost eghost.example.com eg1
+Warning: some parameters appear to be invalid.
+Could not connect to host eghost.example.com using SSH.
+There was a problem while connecting to eghost.example.com:22
+eghost.example.com
+Continuing with node creation due to use of --force.
+
+Command create-node-ssh executed successfully.
+----
+
+[[sthref470]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref471]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)],
+link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-password-alias.adoc b/docs/reference-manual/src/main/asciidoc/create-password-alias.adoc
new file mode 100644
index 0000000..8ee8b86
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-password-alias.adoc
@@ -0,0 +1,125 @@
+type=page
+status=published
+title=create-password-alias
+next=create-profiler.html
+prev=create-node-ssh.html
+~~~~~~
+
+= create-password-alias
+
+[[create-password-alias-1]][[GSRFM00049]][[create-password-alias]]
+
+== create-password-alias
+
+Creates a password alias
+
+[[sthref472]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-password-alias [--help]
+aliasname
+----
+
+[[sthref473]]
+
+=== Description
+
+The `create-password-alias` subcommand creates an alias for a password.
+An alias is a token of the form `${ALIAS=aliasname}`. The password that
+corresponds to the alias name is stored in an encrypted form.
+
+The `create-password-alias` subcommand can be run interactively or
+noninteractively.
+
+* When run interactively, the subcommand prompts the user for the alias
+password and to confirm the alias password.
+* When run noninteractively, the subcommand reads the alias password
+from a file that is passed through the `--passwordfile` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility. The file must
+contain an entry of the form `{cprefix}ALIASPASSWORD=`alias-password,
+where alias-password is the alias password. The noninteractive form of
+this command is suitable for use in scripts.
+
+This subcommand is supported in remote mode only.
+
+[[sthref474]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref475]]
+
+=== Operands
+
+aliasname::
+  Your choice of name for the password alias.
+
+[[sthref476]]
+
+=== Examples
+
+[[GSRFM515]][[sthref477]]
+
+==== Example 1   Creating a Password Alias Interactively
+
+This example creates the password alias `jmspassword-alias`
+interactively.
+
+[source]
+----
+asadmin> create-password-alias jmspassword-alias
+Enter the alias password>
+Enter the alias password again>
+Command create-password-alias executed successfully.
+----
+
+[[GSRFM830]][[sthref478]]
+
+==== Example 2   Creating a Password Alias Noninteractively
+
+This example uses the `--passwordfile` option of the `asadmin` utility
+to create the password alias `winuser` noninteractively.
+
+[source]
+----
+$ asadmin --passwordfile aspwfile.txt create-password-alias winuser
+Command create-password-alias executed successfully.
+----
+
+The file `aspwfile.txt` contains the following entry to specify the
+alias password:
+
+[source]
+----
+AS_ADMIN_ALIASPASSWORD=sp@rky
+----
+
+[[sthref479]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref480]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
+link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
+link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-profiler.adoc b/docs/reference-manual/src/main/asciidoc/create-profiler.adoc
new file mode 100644
index 0000000..a8007c5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-profiler.adoc
@@ -0,0 +1,121 @@
+type=page
+status=published
+title=create-profiler
+next=create-protocol.html
+prev=create-password-alias.html
+~~~~~~
+
+= create-profiler
+
+[[create-profiler-1]][[GSRFM00050]][[create-profiler]]
+
+== create-profiler
+
+Creates the profiler element
+
+[[sthref481]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-profiler [--help]
+[--target target_name]
+[--classpath classpath] [--nativelibpath native_library_path] [--enabled=true]
+[--property(name=value)[:name=value]*] profiler_name
+----
+
+[[sthref482]]
+
+=== Description
+
+The `create-profiler` subcommand creates the profiler element. A server
+instance is tied to the profiler by the profiler element in the Java
+configuration. Only one profiler exists at a time. If you attempt to
+create a profiler while one already exists, an error message is
+displayed.
+
+For changes to take effect, the server must restarted.
+
+This subcommand is supported in remote mode only.
+
+[[sthref483]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are creating a profiler.
+  Valid values are
+
+  `server`;;
+    Creates the profiler for the default server instance. This is the
+    default value.
+  configuration_name;;
+    Creates the profiler for the named configuration
+  cluster_name;;
+    Creates the profiler for every server instance in the cluster
+  instance_name;;
+    Creates the profiler for a particular server instance
+
+`--classpath`::
+  Java classpath string that specifies the classes needed by the profiler.
+`--nativelibpath`::
+  This path is automatically constructed to be a concatenation of the
+  {productName} installation relative path for its native shared
+  libraries, standard JRE native library path, the shell environment
+  setting (`LD_LIBRARY_PATH` on UNIX) and any path that may be specified
+  in the profile element.
+`--enabled`::
+  Profiler is enabled by default.
+`--property`::
+  Name/value pairs of provider-specific attributes.
+
+[[sthref484]]
+
+=== Operands
+
+profiler_name::
+  Name of the profiler.
+
+[[sthref485]]
+
+=== Examples
+
+[[GSRFM516]][[sthref486]]
+
+==== Example 1   Creating a Profiler
+
+This example creates a profiler named `sample_profiler`.
+
+[source]
+----
+asadmin> create-profiler --classpath /home/appserver/
+--nativelibpath /u/home/lib --enabled=false
+--property defaultuser=admin:password=adminadmin sample_profiler
+Created Profiler with id = sample_profiler
+----
+
+[[sthref487]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref488]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-profiler.html#delete-profiler-1[`delete-profiler`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-protocol-filter.adoc b/docs/reference-manual/src/main/asciidoc/create-protocol-filter.adoc
new file mode 100644
index 0000000..7fff332
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-protocol-filter.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=create-protocol-filter
+next=create-protocol-finder.html
+prev=create-protocol.html
+~~~~~~
+
+= create-protocol-filter
+
+[[create-protocol-filter-1]][[GSRFM00052]][[create-protocol-filter]]
+
+== create-protocol-filter
+
+Adds a new protocol filter
+
+[[sthref497]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-protocol-filter [--help]
+--protocol protocol-name
+--classname class-name
+[--target server]
+protocol-filter-name
+----
+
+[[sthref498]]
+
+=== Description
+
+The `create-protocol-filter` subcommand creates a protocol filter for a
+protocol. This subcommand is supported in remote mode only.
+
+[[sthref499]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--protocol`::
+  The name of the associated protocol.
+`--classname`::
+  The fully qualified name of the Java class that implements the
+  protocol filter.
+`--target`::
+  Creates the protocol filter only on the specified target. Valid values
+  are as follows:
+
+  `server`;;
+    Creates the protocol filter on the default server instance. This is
+    the default value.
+  configuration-name;;
+    Creates the protocol filter in the specified configuration.
+  cluster-name;;
+    Creates the protocol filter on all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Creates the protocol filter on the specified standalone server
+    instance.
+
+[[sthref500]]
+
+=== Operands
+
+protocol-filter-name::
+  The name of the protocol filter.
+
+[[sthref501]]
+
+=== Examples
+
+[[GSRFM518]][[sthref502]]
+
+==== Example 1   Creating a Protocol Filter
+
+The following command creates a protocol filter named `http1-filter`:
+
+[source]
+----
+asadmin> create-protocol-filter --protocol http1
+--classname com.company22.MyProtocolFilter http1-filter
+Command create-protocol-filter executed successfully.
+----
+
+[[sthref503]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref504]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
+link:delete-protocol-filter.html#delete-protocol-filter-1[`delete-protocol-filter`(1)],
+link:list-protocol-filters.html#list-protocol-filters-1[`list-protocol-filters`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-protocol-finder.adoc b/docs/reference-manual/src/main/asciidoc/create-protocol-finder.adoc
new file mode 100644
index 0000000..1f5b06f
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-protocol-finder.adoc
@@ -0,0 +1,95 @@
+type=page
+status=published
+title=create-protocol-finder
+next=create-resource-adapter-config.html
+prev=create-protocol-filter.html
+~~~~~~
+
+= create-protocol-finder
+
+[[create-protocol-finder-1]][[GSRFM00053]][[create-protocol-finder]]
+
+== create-protocol-finder
+
+Adds a new protocol finder
+
+[[sthref505]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-protocol-finder [--help]
+--protocol protocol-name
+--targetprotocol target-protocol-name
+--classname class-name
+[--target server]
+protocol-finder-name
+----
+
+[[sthref506]]
+
+=== Description
+
+The `create-protocol-finder` subcommand creates a protocol finder for a
+protocol. This subcommand is supported in remote mode only.
+
+[[sthref507]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--protocol`::
+  The name of the associated protocol.
+`--targetprotocol`::
+  The name of the target protocol.
+`--classname`::
+  The fully qualified name of the Java class that implements the
+  protocol finder.
+`--target`::
+  Creates the protocol finder only on the specified target. Valid values
+  are as follows:
+
+  `server`;;
+    Creates the protocol finder on the default server instance. This is
+    the default value.
+  configuration-name;;
+    Creates the protocol finder in the specified configuration.
+  cluster-name;;
+    Creates the protocol finder on all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Creates the protocol finder on the specified standalone server
+    instance.
+
+[[sthref508]]
+
+=== Operands
+
+protocol-finder-name::
+  The name of the protocol finder.
+
+[[sthref509]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref510]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-protocol-finder.html#delete-protocol-finder-1[`delete-protocol-finder`(1)],
+link:list-protocol-finders.html#list-protocol-finders-1[`list-protocol-finders`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-protocol.adoc b/docs/reference-manual/src/main/asciidoc/create-protocol.adoc
new file mode 100644
index 0000000..e840e46
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-protocol.adoc
@@ -0,0 +1,108 @@
+type=page
+status=published
+title=create-protocol
+next=create-protocol-filter.html
+prev=create-profiler.html
+~~~~~~
+
+= create-protocol
+
+[[create-protocol-1]][[GSRFM00051]][[create-protocol]]
+
+== create-protocol
+
+Adds a new protocol
+
+[[sthref489]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-protocol [--help]
+[--securityenabled={false|true}]
+[--target target]
+protocol-name
+----
+
+[[sthref490]]
+
+=== Description
+
+The `create-protocol` subcommand creates a protocol. This subcommand is
+supported in remote mode only.
+
+[[sthref491]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--securityenabled`::
+  If set to `true`, the protocol runs SSL. You can turn SSL2 or SSL3 ON
+  or OFF and set ciphers using an `ssl` element. The security setting
+  globally enables or disables SSL by making certificates available to
+  the server instance. The default value is `false`.
+`--target`::
+  Creates the protocol only on the specified target. Valid values are as
+  follows:
+
+  `server`;;
+    Creates the protocol on the default server instance. This is the
+    default value.
+  configuration-name;;
+    Creates the protocol in the specified configuration.
+  cluster-name;;
+    Creates the protocol on all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Creates the protocol on the specified standalone server instance.
+
+[[sthref492]]
+
+=== Operands
+
+protocol-name::
+  The name of the protocol.
+
+[[sthref493]]
+
+=== Examples
+
+[[GSRFM517]][[sthref494]]
+
+==== Example 1   Creating a Protocol
+
+The following command creates a protocol named `http-1` with security
+enabled:
+
+[source]
+----
+asadmin> create-protocol --securityenabled=true http-1
+Command create-protocol executed successfully.
+----
+
+[[sthref495]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref496]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-protocol.html#delete-protocol-1[`delete-protocol`(1)],
+link:list-protocols.html#list-protocols-1[`list-protocols`(1)],
+link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-resource-adapter-config.adoc b/docs/reference-manual/src/main/asciidoc/create-resource-adapter-config.adoc
new file mode 100644
index 0000000..9afc2ba
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-resource-adapter-config.adoc
@@ -0,0 +1,113 @@
+type=page
+status=published
+title=create-resource-adapter-config
+next=create-resource-ref.html
+prev=create-protocol-finder.html
+~~~~~~
+
+= create-resource-adapter-config
+
+[[create-resource-adapter-config-1]][[GSRFM00054]][[create-resource-adapter-config]]
+
+== create-resource-adapter-config
+
+Creates the configuration information for the connector module
+
+[[sthref511]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-resource-adapter-config [--help]
+[--threadpoolid threadpool]
+[--objecttype object-type]
+[--property (property-name=value)[:name=value]*]
+raname
+----
+
+[[sthref512]]
+
+=== Description
+
+The `create-resource-adapter-config` subcommand creates configuration
+information for the connector module. This subcommand can be run before
+deploying a resource adapter, so that the configuration information is
+available at the time of deployment. The resource adapter configuration
+can also be created after the resource adapter is deployed. In this
+case, the resource adapter is restarted with the new configuration. You
+must first create a thread pool, using the `create-threadpool`
+subcommand, and then identify that thread pool value as the ID in the
+`--threadpoolid` option.
+
+This subcommand is supported in remote mode only.
+
+[[sthref513]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option has been deprecated.
+`--threadpoolid`::
+  The thread pool ID from which the work manager gets the thread. This
+  option takes only one thread pool ID.
+`--objecttype`::
+  The default is `user`.
+`--property`::
+  Keyword-value pairs that specify additional configuration properties
+  of the resource adapter Java bean. The keyword-value pairs are
+  separated by a colon (`:`). The properties are the names of setter
+  methods of the class that is referenced by the `resourceadapter-class`
+  element in the `ra.xml` file.
+
+[[sthref514]]
+
+=== Operands
+
+raname::
+  Indicates the connector module name. It is the value of the
+  `resource-adapter-name` in the `domain.xml` file.
+
+[[sthref515]]
+
+=== Examples
+
+[[GSRFM519]][[sthref516]]
+
+==== Example 1   Creating a Resource Adapter Con figuration
+
+This example creates a resource adapter configuration for `ra1`.
+
+[source]
+----
+asadmin> create-resource-adapter-config --property foo=bar --threadpoolid
+mycustomerthreadpool ra1
+Command create-resource-adapter-config executed successfully
+----
+
+[[sthref517]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref518]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
+link:delete-resource-adapter-config.html#delete-resource-adapter-config-1[`delete-resource-adapter-config`(1)],
+link:list-resource-adapter-configs.html#list-resource-adapter-configs-1[`list-resource-adapter-configs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-resource-ref.adoc b/docs/reference-manual/src/main/asciidoc/create-resource-ref.adoc
new file mode 100644
index 0000000..10b550d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-resource-ref.adoc
@@ -0,0 +1,127 @@
+type=page
+status=published
+title=create-resource-ref
+next=create-service.html
+prev=create-resource-adapter-config.html
+~~~~~~
+
+= create-resource-ref
+
+[[create-resource-ref-1]][[GSRFM00055]][[create-resource-ref]]
+
+== create-resource-ref
+
+Creates a reference to a resource
+
+[[sthref519]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-resource-ref [--help]
+[--target target]
+[--enabled={false|true}] reference_name
+----
+
+[[sthref520]]
+
+=== Description
+
+The `create-resource-ref` subcommand creates a reference from a cluster
+or an unclustered server instance to a previously created resource, for
+example, a JDBC resource created by using the `create-jdbc-resource`
+subcommand. This effectively results in the resource being made
+available in the JNDI tree of the instance or cluster.
+
+The target instance or instances making up the cluster need not be
+running or available for this subcommand to succeed. If one or more
+instances are not available, they will receive the new resource the next
+time they start.
+
+
+[NOTE]
+====
+A `resource-ref` can only be created for bindable resources, such as a
+`jdbc-resource`, `connector-resource`, `admin-object-resource`,
+`mail-resource`, `custom-resource`, or `jndi-resource`.
+
+A `jdbc-connection-pool` or a `connector-connection-pool` are not
+referred to directly by applications. Instead, they are referred to
+through a `jdbc-resource` or `connector-resource`, respectively.
+====
+
+
+This subcommand is supported in remote mode only.
+
+[[sthref521]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you are creating the resource
+  reference. Valid targets are as follows:
+
+  `server`;;
+    Creates the resource reference for the default server instance.
+    This is the default target.
+  cluster_name;;
+    Creates the resource reference for every server instance in the cluster.
+  instance_name;;
+    Creates the resource reference for the named unclustered server instance.
+
+`--enabled`::
+  Indicates whether the resource should be enabled. This value will take
+  effect only if the resource is enabled at the global level. The
+  default is `true`.
+
+[[sthref522]]
+
+=== Operands
+
+reference_name::
+  The name or JNDI name of the resource.
+
+[[sthref523]]
+
+=== Examples
+
+[[GSRFM520]][[sthref524]]
+
+==== Example 1   Creating a Reference to a JMS Destination Resource
+
+This example creates a reference to the JMS destination resource
+`jms/Topic` on the cluster `Cluster1`.
+
+[source]
+----
+asadmin> create-resource-ref --target Cluster1 jms/Topic
+resource-ref jms/Topic created successfully.
+Command create-resource-ref executed successfully.
+----
+
+[[sthref525]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref526]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-resource-ref.html#delete-resource-ref-1[`delete-resource-ref`(1)],
+link:list-resource-refs.html#list-resource-refs-1[`list-resource-refs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-service.adoc b/docs/reference-manual/src/main/asciidoc/create-service.adoc
new file mode 100644
index 0000000..0a32756
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-service.adoc
@@ -0,0 +1,339 @@
+type=page
+status=published
+title=create-service
+next=create-ssl.html
+prev=create-resource-ref.html
+~~~~~~
+
+= create-service
+
+[[create-service-1]][[GSRFM00057]][[create-service]]
+
+== create-service
+
+Configures the starting of a DAS or a {productName} instance on an
+unattended boot
+
+[[sthref527]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-service [--help]
+[--name service-name]
+[--serviceproperties service-properties]
+[--dry-run={false|true}] [--force={false|true}]
+[--serviceuser service-user]
+[--domaindir domain-dir]
+[--nodedir node-dir] [--node node]
+[domain-or-instance-name]
+----
+
+[[sthref528]]
+
+=== Description
+
+The `create-service` subcommand configures the starting of a domain
+administration server (DAS) or a {productName} instance on an
+unattended boot on Windows, Linux, and Oracle Solaris systems.
+
+If no operand is specified and the domains directory contains only one
+domain, the subcommand configures the starting of the DAS for the
+default domain. If no operand is specified and the domains directory
+contains multiple domains, an error occurs.
+
+If the operand specifies an instance, the `create-service` subcommand
+does not contact the domain administration server (DAS) to determine the
+node on which the instance resides. To determine the node on which the
+instance resides, the subcommand searches the directory that contains
+the node directories. If multiple node directories exist, the node must
+be specified as an option of the subcommand.
+
+The subcommand contains internal logic to determine whether the supplied
+operand is a DAS or an instance.
+
+This subcommand is supported in local mode only.
+
+Behavior of `create-service` on Windows Systems
+
+On Windows systems, the `create-service` subcommand creates a Windows
+service to represent the DAS or instance. The service is created in the
+disabled state. After this subcommand creates the service, you must use
+the Windows Services Manager or the Windows Services Wrapper to start,
+stop, uninstall, or install the service.
+
+On Windows systems, this subcommand must be run as the OS-level
+administrator user.
+
+The subcommand creates the following Windows Services Wrapper files for
+the service in the domain-dir`\bin` directory or the instance-dir``\bin``
+directory:
+
+* Configuration file: service-name``Service.xml``
+* Executable file: service-name``Service.exe``
+
+On Windows systems, this subcommand requires the
+http://www.microsoft.com/net/[Microsoft .NET Framework]
+(http://www.microsoft.com/net/). Otherwise, the subcommand fails.
+
+Behavior of `create-service` on Linux Systems
+
+On Linux systems, the `create-service` subcommand creates a
+System-V-style initialization script
+`/etc/init.d/GlassFish_`domain-or-instance-name and installs a link to
+this script in the `/etc/rc?.d` directories. After this subcommand
+creates the script, you must use this script to start, stop, or restart
+the domain or instance.
+
+On Linux systems, this subcommand must be run as the OS-level root user.
+
+Behavior of `create-service` on Oracle Solaris Systems
+
+On Oracle Solaris systems, the `create-service` subcommand creates a
+Service Management Facility (SMF) service to represent the DAS or
+instance. The service is created in the disabled state. After this
+subcommand creates the service, you must use SMF commands to start,
+enable, disable, delete, or stop the service. For more information about
+SMF, see the following documentation for the Oracle Solaris operating
+system:
+
+* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1hbrunlevels-25516[
+Managing Services (Overview)]" in System Administration Guide: Basic Administration
+* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1faauf[
+Managing Services (Tasks)]" in System Administration Guide: Basic Administration
+
+On Oracle Solaris systems, this subcommand must be run as the OS-level
+user with superuser privileges. The configuration file for the DAS or
+instance must be stored in a directory to which the superuser has access
+and cannot be stored on a network file system. The service that is
+created is controlled by the OS-level user who owns the directory where
+the configuration of the DAS or instance resides.
+
+On Oracle Solaris systems, the manifest file is created in the following
+directory by default:
+
+[source]
+----
+/var/svc/manifest/application/GlassFish/domain-or-instance-name_domain-or-instance-root-dir
+----
+
+To run this subcommand, you must have `solaris.smf.*` authorization. For
+information about how to grant authorizations to users, see the
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)]
+and
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
+man pages.
+
+To run these commands as non-root user, the system administrator must be
+contacted so that the relevant authorizations are granted. You must also
+ensure that the following conditions are met:
+
+* Oracle Solaris 10 administration commands such as
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`(1M)],
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)],
+and
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`(1)]
+are available through the `PATH` statement, so that these commands can
+be executed. A simple test to do so is to run the command `which svccfg`
+in the shell.
+* You must have write permission for the path
+`/var/svc/manifest/application/GlassFish`. Usually, the superuser has
+write permission to this path.
+
+If you delete a service that you created by using the `create-service`
+subcommand, you must delete the directory that contains the manifest
+file and the entire contents of the directory. Otherwise, an attempt to
+re-create the service by using the `create-service` subcommand fails.
+The Oracle Solaris command `svccfg` does not delete this directory.
+
+[[sthref529]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  (Windows and Oracle Solaris systems only) The name of the service that
+  you will use when administering the service through Oracle Solaris SMF
+  commands or the service management features of the Windows operating
+  system. The default is the name of the domain or instance that is
+  specified as the operand of this subcommand.
+`--serviceproperties`::
+  Specifies a colon(:)-separated list of various properties that are
+  specific to the service. +
+  To customize the display name of the service in the Windows Service
+  list, set the `DISPLAY_NAME` property to the required name. +
+  For Oracle Solaris 10 systems, if you specify `net_privaddr`, the
+  service's processes will be able to bind to the privileged ports
+  (<1024) on the platform. You can bind to ports< 1024 only if the owner
+  of the service is superuser, otherwise, this is not allowed.
+`--dry-run`::
+`-n`::
+  Previews your attempt to create a service. Indicates issues and the
+  outcome that will occur if you run the command without using the
+  `--dry-run` option. Nothing is actually configured. Default is false.
+`--force`::
+  Specifies whether the service is created even if validation of the
+  service fails. +
+  Possible values are as follows:
+
+  `true`;;
+    The service is created even if validation of the service fails.
+  `false`;;
+    The service is not created (default).
+
+`--serviceuser`::
+  (Linux systems only) The user that is to run the {productName}
+  software when the service is started. The default is the user that is
+  running the subcommand. Specify this option if the {productName}
+  software is to be run by a user other than the root user.
+`--domaindir`::
+  The absolute path of the directory on the disk that contains the
+  configuration of the domain. If this option is specified, the operand
+  must specify a domain.
+`--nodedir`::
+  Specifies the directory that contains the instance's node directory.
+  The instance's files are stored in the instance's node directory. The
+  default is as-install``/nodes``. If this option is specified, the
+  operand must specify an instance.
+`--node`::
+  Specifies the node on which the instance resides. This option may be
+  omitted only if the directory that the `--nodedir` option specifies
+  contains only one node directory. Otherwise, this option is required.
+  If this option is specified, the operand must specify an instance.
+
+[[sthref530]]
+
+=== Operands
+
+domain-or-instance-name::
+  The name of the domain or instance to configure. If no operand is
+  specified, the default domain is used.
+
+[[sthref531]]
+
+=== Examples
+
+[[GSRFM522]][[sthref532]]
+
+==== Example 1   Creating a Service on a Windows System
+
+This example creates a service for the default domain on a system that
+is running Windows.
+
+[source]
+----
+asadmin> create-service
+Found the Windows Service and successfully uninstalled it.
+The Windows Service was created successfully.  It is ready to be started.  Here are
+the details:
+ID of the service: domain1
+Display Name of the service:domain1 Eclipse GlassFish
+Domain Directory: C:\glassfish7\glassfish\domains\domain1
+Configuration file for Windows Services Wrapper: C:\glassfish7\glassfish\domains\
+domain1\bin\domain1Service.xml
+The service can be controlled using the Windows Services Manager or you can use the
+Windows Services Wrapper instead:
+Start Command:  C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe  start
+Stop Command:   C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe  stop
+Uninstall Command:  C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe
+uninstall
+Install Command:  C:\glassfish7\glassfish\domains\domain1\bin\domain1Service.exe
+install
+
+This message is also available in a file named PlatformServices.log in the domain's
+root directory
+Command create-service executed successfully.
+----
+
+[[GSRFM523]][[sthref533]]
+
+==== Example 2   Creating a Service on a Linux System
+
+This example creates a service for the default domain on a system that
+is running Linux.
+
+[source]
+----
+asadmin> create-service
+Found the Linux Service and successfully uninstalled it.
+The Service was created successfully. Here are the details:
+Name of the service:domain1
+Type of the service:Domain
+Configuration location of the service:/etc/init.d/GlassFish_domain1
+User account that will run the service: root
+You have created the service but you need to start it yourself.
+Here are the most typical Linux commands of interest:
+
+* /etc/init.d/GlassFish_domain1 start
+* /etc/init.d/GlassFish_domain1 stop
+* /etc/init.d/GlassFish_domain1 restart
+
+For your convenience this message has also been saved to this file:
+/export/glassfish7/glassfish/domains/domain1/PlatformServices.log
+Command create-service executed successfully.
+----
+
+[[GSRFM524]][[sthref534]]
+
+==== Example 3   Creating a Service on an Oracle Solaris System
+
+This example creates a service for the default domain on a system that
+is running Oracle Solaris.
+
+[source]
+----
+asadmin> create-service
+The Service was created successfully. Here are the details:
+Name of the service:application/GlassFish/domain1
+Type of the service:Domain
+Configuration location of the service:/home/gfuser/glassfish-installations
+/glassfish7/glassfish/domains
+Manifest file location on the system:/var/svc/manifest/application
+/GlassFish/domain1_home_gfuser_glassfish-installations_glassfish7
+_glassfish_domains/Domain-service-smf.xml.
+You have created the service but you need to start it yourself.
+Here are the most typical Solaris commands of interest:
+* /usr/bin/svcs -a | grep domain1 // status
+* /usr/sbin/svcadm enable domain1 // start
+* /usr/sbin/svcadm disable domain1 // stop
+* /usr/sbin/svccfg delete domain1 // uninstall
+Command create-service executed successfully.
+----
+
+[[sthref535]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref536]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`(1)],
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)]
+
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`(1M)],
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)],
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
+
+"http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1hbrunlevels-25516[Managing
+Services (Overview)]" in System Administration Guide: Basic
+Administration,
+"http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1faauf[Managing
+Services (Tasks)]" in System Administration Guide: Basic Administration
+
+Microsoft .NET Framework (`http://www.microsoft.com/net/`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-ssl.adoc b/docs/reference-manual/src/main/asciidoc/create-ssl.adoc
new file mode 100644
index 0000000..705d547
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-ssl.adoc
@@ -0,0 +1,192 @@
+type=page
+status=published
+title=create-ssl
+next=create-system-properties.html
+prev=create-service.html
+~~~~~~
+
+= create-ssl
+
+[[create-ssl-1]][[GSRFM00058]][[create-ssl]]
+
+== create-ssl
+
+Creates and configures the SSL element in the selected HTTP listener,
+IIOP listener, or IIOP service
+
+[[sthref537]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-ssl [--help]
+[--target target]
+--type listener_or_service_type
+--certname cert_name
+[--ssl2enabled={false|true}] [--ssl2ciphers ss12ciphers]
+[--ssl3enabled={true|false}] [--tlsenabled={true|false}]
+[--ssl3tlsciphers ssl3tlsciphers]
+[--tlsrollbackenabled={true|false}]
+[--clientauthenabled={false|true}]
+[listener_id]
+----
+
+[[sthref538]]
+
+=== Description
+
+The `create-ssl` subcommand creates and configures the SSL element in
+the selected HTTP listener, IIOP listener, or IIOP service to enable
+secure communication on that listener/service.
+
+This subcommand is supported in remote mode only.
+
+[[sthref539]]
+
+=== Options
+
+If an option has a short option name, then the short option precedes the
+long option name. Short options have one dash whereas long options have
+two dashes.
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which you are configuring the ssl element. The
+  following values are valid:
+
+  `server`;;
+    Specifies the server in which the iiop-service or HTTP/IIOP listener
+    is to be configured for SSL.
+  config;;
+    Specifies the configuration that contains the HTTP/IIOP listener or
+    iiop-service for which SSL is to be configured.
+  cluster;;
+    Specifies the cluster in which the HTTP/IIOP listener or
+    iiop-service is to be configured for SSL. All the server instances
+    in the cluster will get the SSL configuration for the respective
+    listener or iiop-service.
+  instance;;
+    Specifies the instance in which the HTTP/IIOP listener or
+    iiop-service is to be configured for SSL.
+
+`--type`::
+  The type of service or listener for which the SSL is created. The type
+  can be:
+
+  * `network-listener`
+  * `http-listener`
+  * `iiop-listener`
+  * `iiop-service`
+  * `jmx-connector`
+
++
+When the type is `iiop-service`, the `ssl-client-config` along with
+  the embedded `ssl` element is created in `domain.xml`.
+`--certname`::
+  The nickname of the server certificate in the certificate database or
+  the PKCS#11 token. The format of the name in the certificate is
+  tokenname:nickname. For this property, the tokenname: is optional.
+`--ssl2enabled`::
+  Set this property to `true` to enable SSL2. The default value is
+  `false`. If both SSL2 and SSL3 are enabled for a virtual server, the
+  server tries SSL3 encryption first. In the event SSL3 encryption
+  fails, the server then tries SSL2 encryption.
+`--ssl2ciphers`::
+  A comma-separated list of the SSL2 ciphers to be used. Ciphers not
+  explicitly listed will be disabled for the target, even if those
+  ciphers are available in the particular cipher suite you are using. If
+  this option is not used, all supported ciphers are assumed to be
+  enabled. Allowed values are:
+
+  * `rc4`
+  * `rc4export`
+  * `rc2`
+  * `rc2export`
+  * `idea`
+  * `des`
+  * `desede3`
+
+`--ssl3enabled`::
+  Set this property to `false` to disable SSL3. The default value is
+  `true`. If both SSL2 and SSL3 are enabled for a virtual server, the
+  server tries SSL3 encryption first. In the event SSL3 encryption
+  fails, the server then tries SSL2 encryption.
+`--tlsenabled`::
+  Set this property to `false` to disable TLS. The default value is
+  `true` It is good practice to enable TLS, which is a more secure
+  version of SSL.
+`--ssl3tlsciphers`::
+  A comma-separated list of the SSL3 and/or TLS ciphers to be used.
+  Ciphers not explicitly listed will be disabled for the target, even if
+  those ciphers are available in the particular cipher suite you are
+  using. If this option is not used, all supported ciphers are assumed
+  to be enabled. Allowed values are:
+
+  * `SSL_RSA_WITH_RC4_128_MD5`
+  * `SSL_RSA_WITH_3DES_EDE_CBC_SHA`
+  * `SSL_RSA_WITH_DES_CBC_SHA`
+  * `SSL_RSA_EXPORT_WITH_RC4_40_MD5`
+  * `SSL_RSA_WITH_NULL_MD5`
+  * `SSL_RSA_WITH_RC4_128_SHA`
+  * `SSL_RSA_WITH_NULL_SHA`
+
+`--tlsrollbackenabled`::
+  Set to `true` (default) to enable TLS rollback. TLS rollback should be
+  enabled for Microsoft Internet Explorer 5.0 and 5.5. This option is
+  only valid when `-tlsenabled=true`.
+`--clientauthenabled`::
+  Set to `true` if you want SSL3 client authentication performed on
+  every request independent of ACL-based access control. Default value
+  is `false`.
+
+[[sthref540]]
+
+=== Operands
+
+listener_id::
+  The ID of the HTTP or IIOP listener for which the SSL element is to be
+  created. The listener_id is not required if the `--type` is `iiop-service`.
+
+[[sthref541]]
+
+=== Examples
+
+[[GSRFM525]][[sthref542]]
+
+==== Example 1   Creating an SSL element for an HTTP listener
+
+The following example shows how to create an SSL element for an HTTP
+listener named `http-listener-1`.
+
+[source]
+----
+asadmin> create-ssl
+--type http-listener
+--certname sampleCert http-listener-1
+Command create-ssl executed successfully.
+----
+
+[[sthref543]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref544]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-ssl.html#delete-ssl-1[`delete-ssl`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-system-properties.adoc b/docs/reference-manual/src/main/asciidoc/create-system-properties.adoc
new file mode 100644
index 0000000..bb7a5af
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-system-properties.adoc
@@ -0,0 +1,126 @@
+type=page
+status=published
+title=create-system-properties
+next=create-threadpool.html
+prev=create-ssl.html
+~~~~~~
+
+= create-system-properties
+
+[[create-system-properties-1]][[GSRFM00059]][[create-system-properties]]
+
+== create-system-properties
+
+Adds one or more system property elements that can be referenced
+elsewhere in the configuration.
+
+[[sthref545]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-system-properties [--help]
+[--target target]
+[name=value)[:name=value]*]
+----
+
+[[sthref546]]
+
+=== Description
+
+The `create-system-properties` subcommand adds or updates system
+properties that can be referenced elsewhere on the server.
+
+{productName} provides hooks where tokens (system properties) can be
+specified. Because {productName} does not have multiple server
+elements, you can specify a particular token at any level. When a domain
+supports multiple servers, the override potential can be exploited. When
+a domain is started or restarted, all `<system-property>` elements are
+resolved and available to the Java Virtual Machine by using the
+`System.setProperty()` call on each of them (with its name and value
+derived from the corresponding attributes of the element). This is
+analogous to sending the elements as `-D` parameters on the Java command
+line.
+
+This subcommand is supported in remote mode only.
+
+[[sthref547]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  The target on which you are creating the system properties.
+
+[[sthref548]]
+
+=== Operands
+
+target::
+  The valid targets for this subcommand are instance, cluster,
+  configuration, domain, and server. Server is the default option. Valid
+  values are:
+
+  `server`;;
+    Creates the properties on the default server instance. This is the
+    default value.
+  `domain`;;
+    Creates the properties for all server instances in the default
+    domain.
+  configuration_name;;
+    Creates the properties in the specified configuration.
+  cluster_name;;
+    Creates the properties on all server instances in the specified
+    cluster.
+  instance_name;;
+    Creates the properties on a specified server instance.
+
+name=value::
+  The name value pairs of the system properties to add to the specified
+  target. Multiple system properties must be separated by a `:` (colon).
+  If a `:` (colon) appears in the name or value of a system property, it
+  must be escaped with a `\` (blackslash). If any system properties were
+  previously defined, they are updated with the new values.
+
+[[sthref549]]
+
+=== Examples
+
+[[GSRFM526]][[sthref550]]
+
+==== Example 1   Creating System Properties
+
+This example creates a system property associated with an HTTP listener
+on a server instance named `myserver`.
+
+[source]
+----
+asadmin> create-system-properties --target myserver http-listener-port=1088
+Command create-system-properties executed successfully.
+----
+
+[[sthref551]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref552]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)],
+link:list-system-properties.html#list-system-properties-1[`list-system-properties`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-threadpool.adoc b/docs/reference-manual/src/main/asciidoc/create-threadpool.adoc
new file mode 100644
index 0000000..2f906f1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-threadpool.adoc
@@ -0,0 +1,127 @@
+type=page
+status=published
+title=create-threadpool
+next=create-transport.html
+prev=create-system-properties.html
+~~~~~~
+
+= create-threadpool
+
+[[create-threadpool-1]][[GSRFM00060]][[create-threadpool]]
+
+== create-threadpool
+
+Adds a thread pool
+
+[[sthref553]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-threadpool [--help]
+[--target target]
+[--maxthreadpoolsize maxthreadpoolsize]
+[--minthreadpoolsize minthreadpoolsize]
+[--idletimeout idletimeout] [--maxqueuesize maxqueuesize]
+[--workqueues workqueues] threadpool-id
+----
+
+[[sthref554]]
+
+=== Description
+
+The `create-threadpool` subcommand creates a thread pool with the
+specified name. You can specify maximum and minimum number of threads in
+the pool, the quantity of messages, and the idle timeout of a thread.
+The created thread pool can be used for servicing IIOP requests and for
+resource adapters to service work management requests. A thread pool can
+be used in multiple resource adapters.
+
+This subcommand is supported in remote mode only.
+
+[[sthref555]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are creating the thread pool.
+  Valid values are as follows:
+
+  `server`;;
+    Creates the thread pool for the default {productName} instance
+    `server` and is the default value
+  configuration-name;;
+    Creates the thread pool for the named configuration.
+  cluster-name;;
+    Creates the thread pool for every instance in the cluster.
+  instance-name;;
+    Creates the thread pool for a particular instance.
+
+`--maxthreadpoolsize`::
+  Specifies the maximum number of threads the pool can contain. Default is 5.
+`--minthreadpoolsize`::
+  Specifies the minimum number of threads in the pool. These are created
+  when the thread pool is instantiated. Default is 2.
+`--idletimeout`::
+  Specifies the amount of time in seconds after which idle threads are
+  removed from the pool. Default is 900.
+`--maxqueuesize`::
+  Specifies the maximum number of messages that can be queued until
+  threads are available to process them for a network listener or IIOP
+  listener. A value of -1 specifies no limit. Default is 4096.
+`--workqueues`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref556]]
+
+=== Operands
+
+threadpool-id::
+  An ID for the work queue, for example, `threadpool-1`.
+
+[[sthref557]]
+
+=== Examples
+
+[[GSRFM527]][[sthref558]]
+
+==== Example 1   Creating a Thread Pool
+
+This command creates a new thread pool called `threadpool-l`.
+
+[source]
+----
+asadmin> create-threadpool --maxthreadpoolsize 100
+--minthreadpoolsize 20 --idletimeout 2 threadpool-1
+Command create-threadpool executed successfully
+----
+
+[[sthref559]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref560]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-threadpool.html#delete-threadpool-1[`delete-threadpool`(1)],
+link:list-threadpools.html#list-threadpools-1[`list-threadpools`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-transport.adoc b/docs/reference-manual/src/main/asciidoc/create-transport.adoc
new file mode 100644
index 0000000..63cf813
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-transport.adoc
@@ -0,0 +1,157 @@
+type=page
+status=published
+title=create-transport
+next=create-virtual-server.html
+prev=create-threadpool.html
+~~~~~~
+
+= create-transport
+
+[[create-transport-1]][[GSRFM00061]][[create-transport]]
+
+== create-transport
+
+Adds a new transport
+
+[[sthref561]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-transport [--help]
+[--acceptorthreads acceptor-threads]
+[--buffersizebytes buffer-size]
+[--bytebuffertype byte-buffer-type]
+[--classname class-name]
+[--displayconfiguration={false|true}]
+[--enablesnoop={false|true}]
+[--idlekeytimeoutseconds idle-key-timeout]
+[--maxconnectionscount max-connections]
+[--readtimeoutmillis read-timeout]
+[--writetimeoutmillis write-timeout]
+[--selectionkeyhandler selection-key-handler]
+[--selectorpolltimeoutmillis selector-poll-timeout]
+[--tcpnodelay={false|true}]
+[--target target]
+transport-name
+----
+
+[[sthref562]]
+
+=== Description
+
+The `create-transport` subcommand creates a transport for a network
+listener. This subcommand is supported in remote mode only.
+
+[[sthref563]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--acceptorthreads`::
+  The number of acceptor threads for the transport. The recommended
+  value is the number of processors in the machine. The default value is `1`.
+`--buffersizebytes`::
+  The size, in bytes, of the buffer to be provided for input streams
+  created by the network listener that references this transport. The
+  default value is `8192`.
+`--bytebuffertype`::
+  The type of the buffer to be provided for input streams created by a
+  network-listener. Allowed values are `HEAP` and `DIRECT`. The default
+  value is `HEAP`.
+`--classname`::
+  The fully qualified name of the Java class that implements the
+  transport. The default is `org.glassfish.grizzly.TCPSelectorHandler`.
+`--displayconfiguration`::
+  If `true`, flushes the internal network configuration to the server
+  log. Useful for debugging, but reduces performance. The default is `false`.
+`--enablesnoop`::
+  If `true`, writes request/response information to the server log.
+  Useful for debugging, but reduces performance. The default is `false`.
+`--idlekeytimeoutseconds`::
+  The idle key timeout. The default is `30` seconds.
+`--maxconnectionscount`::
+  The maximum number of connections for the network listener that
+  references this transport. A value of `-1` specifies no limit. The
+  default value is `4096`.
+`--readtimeoutmillis`::
+  The amount of time the server waits during the header and body parsing
+  phase. The default is `30000` milliseconds, or 30 seconds.
+`--writetimeoutmillis`::
+  The amount of time the server waits before considering the remote
+  client disconnected when writing the response. The default is `30000`
+  milliseconds, or 30 seconds.
+`--selectionkeyhandler`::
+  The name of the selection key handler associated with this transport.
+  There is no default.
+`--selectorpolltimeoutmillis`::
+  The number of milliseconds a NIO Selector blocks waiting for events
+  (user requests). The default value is `1000` milliseconds.
+`--tcpnodelay`::
+  If `true`, the default, enables `TCP_NODELAY` (also called Nagle's
+  algorithm). The default is `false`.
+`--target`::
+  Creates the transport only on the specified target. Valid values are
+  as follows:
+
+  `server`;;
+    Creates the transport on the default server instance. This is the
+    default value.
+  configuration-name;;
+    Creates the transport in the specified configuration.
+  cluster-name;;
+    Creates the transport on all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Creates the transport on the specified standalone server instance.
+
+[[sthref564]]
+
+=== Operands
+
+transport-name::
+  The name of the transport.
+
+[[sthref565]]
+
+=== Examples
+
+[[GSRFM528]][[sthref566]]
+
+==== Example 1   Creating a Transport
+
+The following command creates a transport named `http1-trans` that uses
+a non-default number of acceptor threads:
+
+[source]
+----
+asadmin> create-transport --acceptorthreads 100 http1-trans
+Command create-transport executed successfully.
+----
+
+[[sthref567]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref568]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
+link:delete-transport.html#delete-transport-1[`delete-transport`(1)],
+link:list-transports.html#list-transports-1[`list-transports`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/create-virtual-server.adoc b/docs/reference-manual/src/main/asciidoc/create-virtual-server.adoc
new file mode 100644
index 0000000..723a4a2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/create-virtual-server.adoc
@@ -0,0 +1,395 @@
+type=page
+status=published
+title=create-virtual-server
+next=delete-admin-object.html
+prev=create-transport.html
+~~~~~~
+
+= create-virtual-server
+
+[[create-virtual-server-1]][[GSRFM00062]][[create-virtual-server]]
+
+== create-virtual-server
+
+Creates the named virtual server
+
+[[sthref569]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] create-virtual-server [--help]
+--hosts hosts
+[--httplisteners http-listeners]
+[--networklisteners network-listeners]
+[--defaultwebmodule default-web-module]
+[--state={on|off}]
+[--logfile log-file]
+[--property (name=value)[:name=value]*]
+[--target target]
+virtual-server-id
+----
+
+[[sthref570]]
+
+=== Description
+
+The `create-virtual-server` subcommand creates the named virtual server.
+Virtualization in the {productName} allows multiple URL domains to
+be served by a single HTTP server process that is listening on multiple
+host addresses. If the application is available at two virtual servers,
+they still share the same physical resource pools.
+
+This subcommand is supported in remote mode only.
+
+[[sthref571]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--hosts`::
+  A comma-separated (,) list of values allowed in the host request
+  header to select the current virtual server. Each virtual server that
+  is configured to the same connection group must have a unique host for
+  that group.
+`--httplisteners`::
+  A comma-separated (,) list of HTTP listener IDs. Required only for a
+  virtual server that is not the default virtual server. HTTP listeners
+  are converted to network listeners. This option is deprecated but
+  maintained for backward compatibility. Use `--networklisteners`
+  instead. If `--networklisteners` is used, this option is ignored.
+`--networklisteners`::
+  A comma-separated (,) list of network listener IDs. Required only for
+  a virtual server that is not the default virtual server.
+`--defaultwebmodule`::
+  The standalone web module associated with this virtual server by
+  default.
+`--state`::
+  Determines whether a virtual server is active (`on`) or inactive
+  (`off` or disabled). Default is `on`. When inactive, the virtual
+  server does not service requests.
+`--logfile`::
+  Name of the file where log entries for this virtual server are to be
+  written. By default, this is the server log. The file and directory in
+  which the access log is kept must be writable by the user account
+  under which the server runs.
+`--property`::
+  Optional property name/value pairs for configuring the virtual server.
+  The following properties are available:
+
+  `sso-max-inactive-seconds`;;
+    Specifies the number of seconds after which a user's single sign-on
+    record becomes eligible for purging if no client activity is
+    received. Since single sign-on applies across several applications
+    on the same virtual server, access to any of the applications keeps
+    the single sign-on record active. The default value is 300 seconds
+    (5 minutes). Higher values provide longer single sign-on persistence
+    for users, but at the expense of more memory use on the server.
+  `sso-reap-interval-seconds`;;
+    Specifies the number of seconds between purges of expired single
+    sign-on records. The default value is 60.
+  `setCacheControl`;;
+    Specifies a comma-separated list of `Cache-Control` response
+    directives. For a list of valid directives, see section 14.9 of the
+    document at http://www.ietf.org/rfc/rfc2616.txt
+    (`http://www.ietf.org/rfc/rfc2616.txt`).
+  `allowLinking`;;
+    If the value of this property is `true`, resources that are symbolic
+    links will be served for all web applications deployed on this
+    virtual server. Individual web applications may override this
+    setting by using the property `allowLinking` under the `sun-web-app`
+    element in the `sun-web.xml` file:
++
+[source,xml]
+----
+<sun-web-app>
+<property name="allowLinking" value="[true|false]"/>
+</sun-web-app>
+----
++
+The default value is `true`.
+  `accessLogWriteInterval`;;
+    Indicates the number of seconds before the log will be written to
+    the disk. The access log is written when the buffer is full or when
+    the interval expires. If the value is 0 (zero), then the buffer is
+    always written even if it is not full. This means that each time the
+    server is accessed, the log message is stored directly to the file.
+  `accessLogBufferSize`;;
+    Specifies the size, in bytes, of the buffer where access log calls
+    are stored.
+  `allowRemoteAddress`;;
+    This is a comma-separated list of regular expression patterns to
+    which the remote client's IP address is compared. If this property
+    is specified, the remote address must match for this request to be
+    accepted. If this property is not specified, all requests will be
+    accepted unless the remote address matches a `denyRemoteAddress`
+    pattern. The default value for this property is null.
+  `denyRemoteAddress`;;
+    This is a comma-separated list of regular expression patterns to
+    which the remote client's IP address is compared. If this property
+    is specified, the remote address must not match for this request to
+    be accepted. If this property is not specified, request acceptance
+    is governed solely by the `allowRemoteAddress` property. The default
+    value for this property is null.
+  `allowRemoteHost`;;
+    This is a comma-separated list of regular expression patterns to
+    which the remote client's host name (as returned by
+    `java.net.Socket.getInetAddress().getHostName()`) is compared. If
+    this property is specified, the remote host name must match for this
+    request to be accepted. If this property is not specified, all
+    requests will be accepted unless the remote host name matches a
+    denyRemoteHost pattern. The default value for this property is null.
+  `denyRemoteHost`;;
+    This is a comma-separated list of regular expression patterns to
+    which the remote client's host name (as returned by
+    `java.net.Socket.getInetAddress().getHostName()`) is compared. If
+    this property is specified, the remote host name must not match for
+    this request to be accepted. If this property is not specified,
+    request acceptance is governed solely by the `allowRemoteHost`
+    property. The default value for this property is null.
+  `authRealm`;;
+    Specifies the `name` attribute of an `auth-realm`, which overrides
+    the server instance's default realm for standalone web applications
+    deployed to this virtual server. A realm defined in a standalone web
+    application's `web.xml` file overrides the virtual server's realm.
+  `securePagesWithPragma`;;
+    Set this property to `false` to ensure that for all web applications
+    on this virtual server file downloads using SSL work properly in
+    Internet Explorer. +
+    You can set this property for a specific web application. For
+    details, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in {productName} Application Deployment Guide.
+  `contextXmlDefault`;;
+    Specifies the location, relative to domain-dir, of the `context.xml`
+    file for this virtual server, if one is used. For more information
+    about the `context.xml` file, see "link:application-development-guide/webapps.html#GSDVG00416[Using a
+    context.xml File]" in {productName}
+    Application Development Guide and The Context Container
+    (`http://tomcat.apache.org/tomcat-5.5-doc/config/context.html`).
+    Context parameters, environment entries, and resource definitions in
+    `context.xml` are supported in the {productName}.
+  `alternatedocroot_n`;;
+    Specifies an alternate document root (docroot), where n is a
+    positive integer that allows specification of more than one.
+    Alternate docroots allow web applications to serve requests for
+    certain resources from outside their own docroot, based on whether
+    those requests match one (or more) of the URI patterns of the web
+    application's alternate docroots. +
+    If a request matches an alternate docroot's URI pattern, it is
+    mapped to the alternate docroot by appending the request URI (minus
+    the web application's context root) to the alternate docroot's
+    physical location (directory). If a request matches multiple URI
+    patterns, the alternate docroot is determined according to the
+    following precedence order:
++
+--
+    * Exact match
+    * Longest path match
+    * Extension match
+--
++
+For example, the following properties specify three alternate
+    docroots. The URI pattern of the first alternate docroot uses an
+    exact match, whereas the URI patterns of the second and third
+    alternate docroots use extension and longest path prefix matches, respectively.
++
+[source,xml]
+----
+<property name="alternatedocroot_1"
+   value="from=/my.jpg dir=/srv/images/jpg"/>
+<property name="alternatedocroot_2"
+   value="from=*.jpg dir=/srv/images/jpg"/>
+<property name="alternatedocroot_3"
+   value="from=/jpg/* dir=/src/images"/>
+----
++
+The `value` of each alternate docroot has two components: The first
+    component, `from`, specifies the alternate docroot's URI pattern,
+    and the second component, `dir`, specifies the alternate docroot's
+    physical location (directory). Spaces are allowed in the `dir`
+    component. +
+    You can set this property for a specific web application. For
+    details, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in {productName} Application Deployment Guide.
+  `send-error_n`;;
+    Specifies custom error page mappings for the virtual server, which
+    are inherited by all web applications deployed on the virtual
+    server. A web application can override these custom error page
+    mappings in its `web.xml` deployment descriptor. The value of each
+    `send-error_n` property has three components, which may be specified
+    in any order:
++
+--
+    * The first component, `code`, specifies the three-digit HTTP response
+    status code for which the custom error page should be returned in
+    the response.
+    * The second component, `path`, specifies the absolute or relative
+    file system path of the custom error page. A relative file system
+    path is interpreted as relative to the domain-dir``/config``
+    directory.
+    * The third component, `reason`, is optional and specifies the text of
+    the reason string (such as `Unauthorized` or `Forbidden`) to be
+    returned.
+--
+For example:
++
+[source,xml]
+----
+<property name="send-error_1"
+   value="code=401 path=/myhost/401.html reason=MY-401-REASON"/>
+----
+    This example property definition causes the contents of
+    `/myhost/401.html` to be returned with 401 responses, along with
+    this response line:
++
+[source]
+----
+HTTP/1.1 401 MY-401-REASON
+----
+
+  ``redirect_``n;;
+    Specifies that a request for an old URL is treated as a request for
+    a new URL. These properties are inherited by all web applications
+    deployed on the virtual server. The value of each `redirect_n`
+    property has two components, which may be specified in any order:
++
+--
+    * The first component, `from`, specifies the prefix of the requested URI to match.
+    * The second component, `url-prefix`, specifies the new URL prefix to
+      return to the client. The from prefix is simply replaced by this URL prefix.
+--
++
+For example:
++
+[source,xml]
+----
+<property name="redirect_1" value="from=/dummy url-prefix=http://etude"/>
+----
+
+  ``valve_``n;;
+    Specifies a fully qualified class name of a custom valve, where n is
+    a positive integer that allows specification of more than one.
+    The valve class must implement the `org.apache.catalina.Valve` interface
+    from Tomcat or previous {productName} releases, or the
+    `org.glassfish.web.valve.GlassFishValve` interface from the current
+    {productName} release. For example:
++
+[source,xml]
+----
+<property name="valve_1" value="org.glassfish.extension.Valve"/>
+----
++
+You can set this property for a specific web application. For
+    details, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in {productName} Application Deployment Guide.
+  ``listener_n``;;
+    Specifies a fully qualified class name of a custom Catalina
+    listener, where n is a positive integer that allows specification of
+    more than one. The listener class must implement the
+    `org.apache.catalina.ContainerListener` or
+    `org.apache.catalina.LifecycleListener` interface. For example:
++
+[source,xml]
+----
+<property name="listener_1"
+   value="org.glassfish.extension.MyLifecycleListener"/>
+----
++
+You can set this property for a specific web application. For
+    details, see "link:application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in {productName} Application Deployment Guide.
+  `docroot`;;
+    Absolute path to root document directory for server. Deprecated.
+    Replaced with a `virtual-server` attribute, `docroot`, that is
+    accessible using the `get`, `set`, and `list` subcommands.
+  `accesslog`;;
+    Absolute path to server access logs. Deprecated. Replaced with a
+    `virtual-server` attribute , `access-log`, that is accessible using
+    the `get`, `set`, and `list` subcommands.
+  `accessLoggingEnabled`;;
+    If `true`, access logging is enabled for this virtual server.
+    Deprecated. Replaced with a `virtual-server` attribute,
+    `access-logging-enabled`, that is accessible using the `get`, `set`,
+    and `list` subcommands.
+  `sso-enabled`;;
+    If `true`, single sign-on is enabled for web applications on this
+    virtual server that are configured for the same realm. Deprecated.
+    Replaced with a `virtual-server` attribute, `sso-enabled`, that is
+    accessible using the `get`, `set`, and `list` subcommands.
+  `ssoCookieSecure`;;
+    Sets the `Secure` attribute of any `JSESSIONIDSSO` cookies
+    associated with the web applications deployed to this virtual
+    server. Deprecated. Replaced with a `virtual-server` attribute,
+    `sso-cookie-secure`, that is accessible using the `get`, `set`, and
+    `list` subcommands.
+  `errorReportValve`;;
+    Specifies a fully qualified class name of a custom valve that
+    produces default error pages for applications on this virtual
+    server. Specify an empty string to disable the default error page
+    mechanism for this virtual server.
+
+`--target`::
+  Creates the virtual server only on the specified target. Valid values
+  are as follows:
+
+  `server`;;
+    Creates the virtual server on the default server instance.
+    This is the default value.
+  configuration-name;;
+    Creates the virtual server in the specified configuration.
+  cluster-name;;
+    Creates the virtual server on all server instances in the specified cluster.
+  standalone-instance-name;;
+    Creates the virtual server on the specified standalone server instance.
+
+[[sthref572]]
+
+=== Operands
+
+virtual-server-id::
+  Identifies the unique ID for the virtual server to be created. This ID
+  cannot begin with a number.
+
+[[sthref573]]
+
+=== Examples
+
+[[GSRFM529]][[sthref574]]
+
+==== Example 1   Creating a Virtual Server
+
+The following command creates a virtual server named `sampleServer`:
+
+[source]
+----
+asadmin> create-virtual-server --hosts pigeon,localhost
+--property authRealm=ldap sampleServer
+Command create-virtual-server executed successfully.
+----
+
+[[sthref575]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref576]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-virtual-server.html#delete-virtual-server-1[`delete-virtual-server`(1)],
+link:list-virtual-servers.html#list-virtual-servers-1[`list-virtual-servers`(1)],
+link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
+link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)]
+
+link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
+link:set.html#set-1[`set`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/debug-asadmin.adoc b/docs/reference-manual/src/main/asciidoc/debug-asadmin.adoc
new file mode 100644
index 0000000..0d93707
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/debug-asadmin.adoc
@@ -0,0 +1,49 @@
+type=page
+status=published
+title=debug-asadmin
+next=capture-schema.html
+prev=asadmin.html
+~~~~~~
+
+= debug-asadmin
+
+The script content on this page is for navigation purposes only and does
+not alter the content in any way.
+
+[[debug-asadmin-1m]][[GSRFM00263]][[debug-asadmin]]
+
+== debug-asadmin
+
+Variant of the `asadmin` utility for performing administrative tasks for {productName}. This variant
+is useful for debugging local admin commands the launching of {productName}. It suspends immediately
+waiting for a debug connection to port 9008.
+
+[[sthref2364]]
+
+=== Synopsis
+
+[source]
+----
+debug-asadmin [--host host]
+[--port port]
+[--user admin-user]
+[--passwordfile filename]
+[--terse={true|false}]
+[--secure={false|true}]
+[--echo={true|false}]
+[--interactive={true|false}]
+[--detach={true|false}]
+[--help]
+[subcommand [options] [operands]]
+----
+
+[[sthref2365]]
+
+=== Description
+
+Use the `debug-asadmin` utility to debug local admin commands and the launching of the {productName}. See the `asadmin` command for full documentation.
+
+
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
+
+'''''
diff --git a/docs/reference-manual/src/main/asciidoc/delete-admin-object.adoc b/docs/reference-manual/src/main/asciidoc/delete-admin-object.adoc
new file mode 100644
index 0000000..50a46a9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-admin-object.adoc
@@ -0,0 +1,111 @@
+type=page
+status=published
+title=delete-admin-object
+next=delete-application-ref.html
+prev=create-virtual-server.html
+~~~~~~
+
+= delete-admin-object
+
+[[delete-admin-object-1]][[GSRFM00063]][[delete-admin-object]]
+
+== delete-admin-object
+
+Removes the administered object with the specified JNDI name.
+
+[[sthref577]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-admin-object [--help]
+[--target target] jndi_name
+----
+
+[[sthref578]]
+
+=== Description
+
+The `delete-admin-object` subcommand removes an administered object with
+the specified JNDI name.
+
+This subcommand is supported in remote mote only.
+
+[[sthref579]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This is the name of the targets for which the administered object is
+  to be deleted. Valid values are:
++
+[NOTE]
+====
+Resources are always created for a domain as a whole but are only
+active for targets for which a `<resource-ref>` has been created using
+the `--target` option when the resource was created. This means that
+deleting a resource only deletes the `<resource-ref>` element for the
+specified `--target`, and does not delete the resource from the domain
+as a whole unless `domain` is specified as the `--target` for the
+deletion.
+====
+
+  `server`;;
+    Deletes the administered object for the default server instance
+    `server` and is the default value.
+  configuration_name;;
+    Deletes the administered object for the specified configuration.
+  cluster_name;;
+    Deletes the administered object for the specified cluster.
+  instance_name;;
+    Deletes the administered object for a particular server instance.
+
+[[sthref580]]
+
+=== Operands
+
+jndi_name::
+  JNDI name of the administered object to be deleted.
+
+[[sthref581]]
+
+=== Examples
+
+[[GSRFM530]][[sthref582]]
+
+==== Example 1   Deleting an Administered Object
+
+This example deletes the administered object named `jms/samplelqueue`.
+
+[source]
+----
+asadmin> delete-admin-object jms/samplequeue
+Command delete-admin-object executed successfully
+----
+
+[[sthref583]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref584]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-admin-object.html#create-admin-object-1[`create-admin-object`(1)],
+link:list-admin-objects.html#list-admin-objects-1[`list-admin-objects`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-application-ref.adoc b/docs/reference-manual/src/main/asciidoc/delete-application-ref.adoc
new file mode 100644
index 0000000..d1d2dcb
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-application-ref.adoc
@@ -0,0 +1,128 @@
+type=page
+status=published
+title=delete-application-ref
+next=delete-audit-module.html
+prev=delete-admin-object.html
+~~~~~~
+
+= delete-application-ref
+
+[[delete-application-ref-1]][[GSRFM00064]][[delete-application-ref]]
+
+== delete-application-ref
+
+Removes a reference to an application
+
+[[sthref585]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-application-ref [--help]
+[--target target]
+[--cascade=false] reference_name
+----
+
+[[sthref586]]
+
+=== Description
+
+The `delete-application-ref` subcommand removes a reference from a
+cluster or an unclustered server instance to an application. This
+effectively results in the application element being undeployed and no
+longer available on the targeted instance or cluster.
+
+The target instance or instances making up the cluster need not be
+running or available for this subcommand to succeed. If one or more
+instances are not available, they will no longer load the application
+the next time they start.
+
+Removal of the reference does not result in removal of the application
+from the domain. The bits are removed only by the `undeploy` subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref587]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are removing the application
+  reference. Valid values are
+
+  * `server` - Specifies the default server instance as the target. +
+  `server` is the name of the default server instance and is the default value.
+  * cluster_name - Specifies a certain cluster as the target.
+  * instance_name - Specifies a certain stand-alone server instance as
+  the target.
+`--cascade`::
+  For a connector module, indicates whether the resources dependent on
+  the module should also be recursively deleted. The default is `false`.
+  The connector module can be either a stand-alone RAR file or a module
+  within an EAR file.
+
+[[sthref588]]
+
+=== Operands
+
+reference_name::
+  The name of the application or module, which can be a Jakarta EE
+  application module, Web module, EJB module, connector module,
+  application client module, or lifecycle module. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. To delete references to multiple versions, you can
+  use an asterisk (`*`) as a wildcard character. For more information
+  about module and application versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module
+  and Application Versions]" in {productName}
+  Application Deployment Guide.
+
+[[sthref589]]
+
+=== Examples
+
+[[GSRFM531]][[sthref590]]
+
+==== Example 1   Deleting an Application Reference
+
+The following example removes a reference to the Web module `MyWebApp`
+from the unclustered server instance `NewServer`.
+
+[source]
+----
+asadmin> delete-application-ref --target NewServer MyWebApp
+Command delete-application-ref executed successfully.
+----
+
+[[sthref591]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref592]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
+link:list-application-refs.html#list-application-refs-1[`list-application-refs`(1)],
+link:undeploy.html#undeploy-1[`undeploy`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-audit-module.adoc b/docs/reference-manual/src/main/asciidoc/delete-audit-module.adoc
new file mode 100644
index 0000000..c25f7f4
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-audit-module.adoc
@@ -0,0 +1,97 @@
+type=page
+status=published
+title=delete-audit-module
+next=delete-auth-realm.html
+prev=delete-application-ref.html
+~~~~~~
+
+= delete-audit-module
+
+[[delete-audit-module-1]][[GSRFM00065]][[delete-audit-module]]
+
+== delete-audit-module
+
+Removes the named audit-module
+
+[[sthref593]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-audit-module [--help]
+[--target target]
+audit_module_name
+----
+
+[[sthref594]]
+
+=== Description
+
+This subcommand removes the named audit module. This subcommand is
+supported in remote mode only.
+
+[[sthref595]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which you are deleting the audit module. Valid
+  values are as follows:
+
+  `server`;;
+    Deletes the audit module for the default server instance `server`
+    and is the default value.
+  configuration_name;;
+    Deletes the audit module for the named configuration.
+  cluster_name;;
+    Deletes the audit module for every server instance in the cluster.
+  instance_name;;
+    Deletes the audit module for a particular server instance.
+
+[[sthref596]]
+
+=== Operands
+
+audit_module_name::
+  The name of the audit module to be deleted.
+
+[[sthref597]]
+
+=== Examples
+
+[[GSRFM532]][[sthref598]]
+
+==== Example 1   Deleting an audit module
+
+[source]
+----
+asadmin> delete-audit-module sampleAuditModule
+Command delete-audit-module executed successfully
+----
+
+[[sthref599]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref600]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-audit-module.html#create-audit-module-1[`create-audit-module`(1)],
+link:list-audit-modules.html#list-audit-modules-1[`list-audit-modules`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-auth-realm.adoc b/docs/reference-manual/src/main/asciidoc/delete-auth-realm.adoc
new file mode 100644
index 0000000..64c9108
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-auth-realm.adoc
@@ -0,0 +1,99 @@
+type=page
+status=published
+title=delete-auth-realm
+next=delete-cluster.html
+prev=delete-audit-module.html
+~~~~~~
+
+= delete-auth-realm
+
+[[delete-auth-realm-1]][[GSRFM00066]][[delete-auth-realm]]
+
+== delete-auth-realm
+
+Removes the named authentication realm
+
+[[sthref601]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-auth-realm [--help]
+[--target target]
+auth_realm-name
+----
+
+[[sthref602]]
+
+=== Description
+
+The `delete-auth-realm` subcommand removes the named authentication
+realm. This subcommand is supported in remote mode only.
+
+[[sthref603]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which you are deleting the authentication
+  realm. Valid values are
+
+  `server`;;
+    Deletes the realm for the default server instance `server` and is
+    the default value.
+  configuration_name;;
+    Deletes the realm for the named configuration.
+  cluster_name;;
+    Deletes the realm for every server instance in the cluster.
+  instance_name;;
+    Deletes the realm for a particular server instance.
+
+[[sthref604]]
+
+=== Operands
+
+auth_realm_name::
+  Name of the realm to be deleted.
+
+[[sthref605]]
+
+=== Examples
+
+[[GSRFM533]][[sthref606]]
+
+==== Example 1   Deleting an Authentication Realm
+
+This example deletes the authentication realm `db`.
+
+[source]
+----
+asadmin> delete-auth-realm db
+Command delete-auth-realm executed successfully
+----
+
+[[sthref607]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref608]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
+link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-cluster.adoc b/docs/reference-manual/src/main/asciidoc/delete-cluster.adoc
new file mode 100644
index 0000000..5678bf5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-cluster.adoc
@@ -0,0 +1,112 @@
+type=page
+status=published
+title=delete-cluster
+next=delete-config.html
+prev=delete-auth-realm.html
+~~~~~~
+
+= delete-cluster
+
+[[delete-cluster-1]][[GSRFM00068]][[delete-cluster]]
+
+== delete-cluster
+
+Deletes a {productName} cluster
+
+[[sthref609]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-cluster [--help]
+[--autohadboverride={true|false}] [--node-agent=node-agent--name]
+cluster-name
+----
+
+[[sthref610]]
+
+=== Description
+
+The `delete-cluster` subcommand deletes a {productName} cluster.
+A cluster can be deleted only if the cluster contains no {productName}
+instances. If a cluster that you are deleting contains any instances,
+stop and delete the instances before deleting the cluster.
+
+If the cluster's named configuration was created automatically for the
+cluster and no other clusters or unclustered instances refer to the
+configuration, the configuration is deleted when the cluster is deleted.
+A configuration that is created automatically for a cluster is named
+cluster-name`-config`, where cluster-name is the name of the cluster.
+
+This command is supported in remote mode only.
+
+[[sthref611]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--autohadboverride`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--nodeagent`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref612]]
+
+=== Operands
+
+cluster-name::
+  The name of the cluster to delete.
+
+[[sthref613]]
+
+=== Examples
+
+[[GSRFM535]][[sthref614]]
+
+==== Example 1   Deleting a {productName} Cluster
+
+This example deletes the {productName} cluster `adccluster`.
+
+[source]
+----
+asadmin> delete-cluster adccluster
+Command delete-cluster executed successfully.
+----
+
+[[sthref615]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref616]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
+link:start-cluster.html#start-cluster-1[`start-cluster`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
+link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-config.adoc b/docs/reference-manual/src/main/asciidoc/delete-config.adoc
new file mode 100644
index 0000000..a6530de
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-config.adoc
@@ -0,0 +1,95 @@
+type=page
+status=published
+title=delete-config
+next=delete-connector-connection-pool.html
+prev=delete-cluster.html
+~~~~~~
+
+= delete-config
+
+[[delete-config-1]][[GSRFM00069]][[delete-config]]
+
+== delete-config
+
+Deletes an existing named configuration
+
+[[sthref617]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-config [--help]
+configuration-name
+----
+
+[[sthref618]]
+
+=== Description
+
+The `delete-config` subcommand deletes an existing named configuration
+from the configuration of the domain administration server (DAS). You
+can delete a configuration only if no {productName} instances or
+clusters refer to the configuration. A standalone configuration is
+automatically deleted when the instance or cluster that refers to it is
+deleted. You cannot delete the `default-config` configuration that is
+copied to create standalone configurations.
+
+This subcommand is supported in remote mode only.
+
+[[sthref619]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref620]]
+
+=== Operands
+
+configuration-name::
+  The name of the configuration that you are deleting.
+
+[[sthref621]]
+
+=== Examples
+
+[[GSRFM536]][[sthref622]]
+
+==== Example 1   Deleting a Named Configuration
+
+This example deletes the named configuration `pmdconfig`.
+
+[source]
+----
+asadmin> delete-config pmdconfig
+
+Command delete-config executed successfully.
+----
+
+[[sthref623]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref624]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:copy-config.html#copy-config-1[`copy-config`(1)],
+link:list-configs.html#list-configs-1[`list-configs`(1)]
+
+link:configuration.html#configuration-5asc[`configuration`(5ASC)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-connector-connection-pool.adoc b/docs/reference-manual/src/main/asciidoc/delete-connector-connection-pool.adoc
new file mode 100644
index 0000000..f9ee992
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-connector-connection-pool.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=delete-connector-connection-pool
+next=delete-connector-resource.html
+prev=delete-config.html
+~~~~~~
+
+= delete-connector-connection-pool
+
+[[delete-connector-connection-pool-1]][[GSRFM00070]][[delete-connector-connection-pool]]
+
+== delete-connector-connection-pool
+
+Removes the specified connector connection pool
+
+[[sthref625]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-connector-connection-pool [--help]
+[--target target]
+[--cascade={false|true}] poolname
+----
+
+[[sthref626]]
+
+=== Description
+
+The `delete-connector-connection-pool` subcommand removes the specified
+connector connection pool.
+
+This subcommand is supported in remote mode only.
+
+[[sthref627]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--cascade`::
+  When set to true, all connector resources associated with the pool,
+  and the pool itself, are deleted. When set to false, the deletion of
+  pool fails if any resources are associated with the pool. The resource
+  must be deleted explicitly or the option must be set to true. Default
+  is false.
+
+[[sthref628]]
+
+=== Operands
+
+poolname::
+  The name of the connection pool to be removed.
+
+[[sthref629]]
+
+=== Examples
+
+[[GSRFM537]][[sthref630]]
+
+==== Example 1   Deleting a Connector Connection Pool
+
+This example deletes the connector connection pool named
+`jms/qConnPool`.
+
+[source]
+----
+asadmin> delete-connector-connection-pool
+--cascade=false jms/qConnPool
+Command delete-connector-connection-pool executed successfully
+----
+
+[[sthref631]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref632]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-connection-pool.html#create-connector-connection-pool-1[`create-connector-connection-pool`(1)],
+link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
+link:ping-connection-pool.html#ping-connection-pool-1[`ping-connection-pool`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-connector-resource.adoc b/docs/reference-manual/src/main/asciidoc/delete-connector-resource.adoc
new file mode 100644
index 0000000..4a3a3bb
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-connector-resource.adoc
@@ -0,0 +1,126 @@
+type=page
+status=published
+title=delete-connector-resource
+next=delete-connector-security-map.html
+prev=delete-connector-connection-pool.html
+~~~~~~
+
+= delete-connector-resource
+
+[[delete-connector-resource-1]][[GSRFM00071]][[delete-connector-resource]]
+
+== delete-connector-resource
+
+Removes the connector resource with the specified JNDI name
+
+[[sthref633]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-connector-resource [--help]
+[--target target] jndi_name
+----
+
+[[sthref634]]
+
+=== Description
+
+The `delete-connector-resource` subcommand removes the connector
+resource with the specified JNDI name.
+
+This subcommand is supported in remote mode only.
+
+[[sthref635]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target from which you want to remove the
+  connector resource. Valid targets are:
++
+[NOTE]
+====
+Resources are always created for a domain as a whole but are only
+active for targets for which a `<resource-ref>` has been created using
+the `--target` option when the resource was created. This means that
+deleting a resource only deletes the `<resource-ref>` element for the
+specified `--target`, and does not delete the resource from the domain
+as a whole unless `domain` is specified as the `--target` for the
+deletion.
+====
+
+  `server`;;
+    Deletes the connector resource from the default server instance.
+    This is the default value.
+  `domain`;;
+    Deletes the connector resource from the domain.
+  cluster_name;;
+    Deletes the connector resource from every server instance in the
+    cluster.
+  instance_name;;
+    Deletes the connector resource from a specified server instance.
+
+[[sthref636]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of this connector resource.
+
+[[sthref637]]
+
+=== Examples
+
+[[GSRFM538]][[sthref638]]
+
+==== Example 1   Deleting a Connector Resource
+
+This example deletes a connector resource named `jms/qConnFactory`.
+
+[source]
+----
+asadmin> delete-connector-resource jms/qConnFactory
+Command delete-connector-resource executed successfully
+----
+
+[[GSRFM539]][[sthref639]]
+
+==== Example 2   Using the delete-connector-resource subcommand
+
+This example shows the usage of this subcommand.
+
+[source]
+----
+asadmin> delete-connector-resource jms/qConnFactory
+Command delete-connector-resource executed successfully
+----
+
+Where `jms/qConnFactory` is the connector resource that is removed.
+
+[[sthref640]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref641]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-resource.html#create-connector-resource-1[`create-connector-resource`(1)],
+link:list-connector-resources.html#list-connector-resources-1[`list-connector-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-connector-security-map.adoc b/docs/reference-manual/src/main/asciidoc/delete-connector-security-map.adoc
new file mode 100644
index 0000000..c174d91
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-connector-security-map.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=delete-connector-security-map
+next=delete-connector-work-security-map.html
+prev=delete-connector-resource.html
+~~~~~~
+
+= delete-connector-security-map
+
+[[delete-connector-security-map-1]][[GSRFM00072]][[delete-connector-security-map]]
+
+== delete-connector-security-map
+
+Deletes a security map for the specified connector connection pool
+
+[[sthref642]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-connector-security-map [--help]
+--poolname connector_connection_pool_name [--target target] mapname
+----
+
+[[sthref643]]
+
+=== Description
+
+The `delete-connector-security-map` subcommand deletes a security map
+for the specified connector connection pool.
+
+For this subcommand to succeed, you must have first created a connector
+connection pool using the `create-connector-connection-pool` subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref644]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--poolname`::
+  Specifies the name of the connector connection pool to which the
+  security map that is to be deleted belongs.
+`--target`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref645]]
+
+=== Operands
+
+mapname::
+  Name of the security map to be deleted.
+
+[[sthref646]]
+
+=== Examples
+
+[[GSRFM540]][[sthref647]]
+
+==== Example 1   Deleting a Connector Security Map
+
+This example deletes `securityMap1` for the existing connection pool
+named `connector-pool1`.
+
+[source]
+----
+asadmin> delete-connector-security-map
+--poolname connector-pool1 securityMap1
+Command delete-connector-security-map executed successfully
+----
+
+[[sthref648]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref649]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
+link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)],
+link:update-connector-security-map.html#update-connector-security-map-1[`update-connector-security-map`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-connector-work-security-map.adoc b/docs/reference-manual/src/main/asciidoc/delete-connector-work-security-map.adoc
new file mode 100644
index 0000000..7b1d009
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-connector-work-security-map.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=delete-connector-work-security-map
+next=delete-context-service.html
+prev=delete-connector-security-map.html
+~~~~~~
+
+= delete-connector-work-security-map
+
+[[delete-connector-work-security-map-1]][[GSRFM00073]][[delete-connector-work-security-map]]
+
+== delete-connector-work-security-map
+
+Deletes a work security map for the specified resource adapter
+
+[[sthref650]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-connector-work-security-map [--help]
+--raname raname
+mapname
+----
+
+[[sthref651]]
+
+=== Description
+
+The `delete-connector-work-security-map` subcommand deletes a security
+map associated with the specified resource adapter. For this subcommand
+to succeed, you must have first created and deployed the specified
+resource adapter.
+
+The enterprise information system (EIS) is any system that holds the
+data of an organization. It can be a mainframe, a messaging system, a
+database system, or an application.
+
+This subcommand is supported in remote mode only.
+
+[[sthref652]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--raname`::
+  Indicates the connector module name with which the work security map
+  is associated.
+
+[[sthref653]]
+
+=== Operands
+
+mapname::
+  The name of the work security map to be deleted.
+
+[[sthref654]]
+
+=== Examples
+
+[[GSRFM541]][[sthref655]]
+
+==== Example 1   Deleting a Connector Work Security Map
+
+This example deletes the work security map named
+`work_security_map_name` for the resource adapter named `ra_name`.
+
+[source]
+----
+asadmin delete-connector-work-security-map
+--raname ra_name work_security_map_name
+Command delete-connector-work-security-map executed successfully.
+----
+
+[[sthref656]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref657]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
+link:list-connector-work-security-maps.html#list-connector-work-security-maps-1[`list-connector-work-security-maps`(1)],
+link:update-connector-work-security-map.html#update-connector-work-security-map-1[`update-connector-work-security-map`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-context-service.adoc b/docs/reference-manual/src/main/asciidoc/delete-context-service.adoc
new file mode 100644
index 0000000..7a9ff97
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-context-service.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=delete-context-service
+next=delete-custom-resource.html
+prev=delete-connector-work-security-map.html
+~~~~~~
+
+= delete-context-service
+
+[[delete-context-service-1]][[GSRFM846]][[delete-context-service]]
+
+== delete-context-service
+
+Removes a context service resource with the specified JNDI name
+
+[[sthref658]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-context-service [--help]
+[--target target]
+context-service-name
+----
+
+[[sthref659]]
+
+=== Description
+
+The `delete-context-service` subcommand removes a context service
+resource with the specified JNDI name.
+
+This subcommand is supported in remote mode only.
+
+[[sthref660]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are deleting the resource.
+  Valid targets are:
+
+  `server`;;
+    Deletes the resource from the default server instance. This is the
+    default value.
+  `domain`;;
+    Deletes the resource from the domain.
+  cluster-name;;
+    Deletes the resource from every server instance in the specified
+    cluster.
+  instance-name;;
+    Deletes the resource from the specified server instance.
+
+[[sthref661]]
+
+=== Operands
+
+context-service-name::
+  The JNDI name of the resource to be deleted.
+
+[[sthref662]]
+
+=== Examples
+
+[[GSRFM847]][[sthref663]]
+
+==== Example 1   Deleting a Context Service Resource
+
+This example deletes the context service resource named
+`concurrent/myContextService`.
+
+[source]
+----
+asadmin> delete-context-service concurrent/myContextService
+Context service concurrent/myContextService deleted successfully.
+Command delete-context-service executed successfully.
+----
+
+[[sthref664]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref665]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-context-service.html#create-context-service-1[`create-context-service`(1)],
+link:list-context-services.html#list-context-services-1[`list-context-services`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-custom-resource.adoc b/docs/reference-manual/src/main/asciidoc/delete-custom-resource.adoc
new file mode 100644
index 0000000..d93fdd5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-custom-resource.adoc
@@ -0,0 +1,111 @@
+type=page
+status=published
+title=delete-custom-resource
+next=delete-domain.html
+prev=delete-context-service.html
+~~~~~~
+
+= delete-custom-resource
+
+[[delete-custom-resource-1]][[GSRFM00074]][[delete-custom-resource]]
+
+== delete-custom-resource
+
+Removes a custom resource
+
+[[sthref666]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-custom-resource [--help]
+[--target target] jndi-name
+----
+
+[[sthref667]]
+
+=== Description
+
+The `delete-custom-resource` subcommand removes a custom resource.
+
+This subcommand is supported in remote mode only.
+
+[[sthref668]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option helps specify the location of the custom resources that
+  you are deleting. Valid targets are server, domain, cluster, and
+  instance. The default is server.
++
+[NOTE]
+====
+Resources are always created for a domain as a whole but are only
+active for targets for which a `<resource-ref>` has been created using
+the `--target` option when the resource was created. This means that
+deleting a resource only deletes the `<resource-ref>` element for the
+specified `--target`, and does not delete the resource from the domain
+as a whole unless `domain` is specified as the `--target` for the
+deletion.
+====
+
+  `server`;;
+    Deletes the resource for the default server instance. This is the
+    default value.
+  `domain`;;
+    Deletes the resource for the domain.
+  cluster_name;;
+    Deletes the resource for every server instance in the cluster.
+  instance_name;;
+    Deletes the resource for a particular server instance.
+
+[[sthref669]]
+
+=== Operands
+
+jndi-name::
+  The JNDI name of this resource.
+
+[[sthref670]]
+
+=== Examples
+
+[[GSRFM542]][[sthref671]]
+
+==== Example 1   Deleting a Custom Resource
+
+This example deletes a custom resource named `mycustomresource`.
+
+[source]
+----
+asadmin> delete-custom-resource mycustomresource
+Command delete-custom-resource executed successfully.
+----
+
+[[sthref672]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref673]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-custom-resource.html#create-custom-resource-1[`create-custom-resource`(1)],
+link:list-custom-resources.html#list-custom-resources-1[`list-custom-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-domain.adoc b/docs/reference-manual/src/main/asciidoc/delete-domain.adoc
new file mode 100644
index 0000000..fc816a6
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-domain.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=delete-domain
+next=delete-file-user.html
+prev=delete-custom-resource.html
+~~~~~~
+
+= delete-domain
+
+[[delete-domain-1]][[GSRFM00075]][[delete-domain]]
+
+== delete-domain
+
+Deletes a domain
+
+[[sthref674]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-domain [--help]
+[--domaindir domaindir] domain-name
+----
+
+[[sthref675]]
+
+=== Description
+
+The `delete-domain` subcommand deletes the specified domain. The domain
+must already exist and must be stopped.
+
+This subcommand is supported in local mode only.
+
+[[sthref676]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--domaindir`::
+  The directory where the domain to be deleted is located. If specified,
+  the path must be accessible in the file system. If not specified, the
+  domain under the domain root directory, which defaults to
+  as-install``/domains``, is deleted.
+
+[[sthref677]]
+
+=== Operands
+
+domain-name::
+  The unique name of the domain you want to delete.
+
+[[sthref678]]
+
+=== Examples
+
+[[GSRFM543]][[sthref679]]
+
+==== Example 1   Deleting a Domain
+
+This example deletes a domain named `mydomain4` from the default domains
+directory.
+
+[source]
+----
+asadmin> delete-domain mydomain4
+Domain mydomain4 deleted.
+Command delete-domain executed successfully.
+----
+
+[[GSRFM544]][[sthref680]]
+
+==== Example 2   deleting a Domain From an Alternate Location
+
+This example deletes a domain named `sampleDomain` from the
+`/home/someuser/domains` directory.
+
+[source]
+----
+asadmin> delete-domain --domaindir /home/someuser/domains sampleDomain
+Domain sampleDomain deleted
+Command delete-domain executed successfully.
+----
+
+[[sthref681]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref682]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-domain.html#create-domain-1[`create-domain`(1)],
+link:list-domains.html#list-domains-1[`list-domains`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-file-user.adoc b/docs/reference-manual/src/main/asciidoc/delete-file-user.adoc
new file mode 100644
index 0000000..23fe546
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-file-user.adoc
@@ -0,0 +1,106 @@
+type=page
+status=published
+title=delete-file-user
+next=delete-http.html
+prev=delete-domain.html
+~~~~~~
+
+= delete-file-user
+
+[[delete-file-user-1]][[GSRFM00076]][[delete-file-user]]
+
+== delete-file-user
+
+Removes the named file user
+
+[[sthref683]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-file-user [--help]
+[--authrealmname auth_realm_name]
+[--target target]
+username
+----
+
+[[sthref684]]
+
+=== Description
+
+The `delete-file-user` subcommand deletes the entry in the keyfile for
+the specified username.
+
+[[sthref685]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--authrealmname`::
+  The name of the authentication realm with which the user was created.
+`--target`::
+  This is the name of the target on which the command operates. The
+  valid targets are:
+
+  `server`;;
+    Deletes the file user on the default server instance. This is the
+    default value
+  `domain`;;
+    Deletes the file user in the domain.
+  cluster_name;;
+    Deletes the file user from every server instance in the cluster.
+  instance_name;;
+    Deletes the file user from a particular server instance.
+
+[[sthref686]]
+
+=== Operands
+
+username::
+  This is the name of file user to be deleted.
+
+[[sthref687]]
+
+=== Examples
+
+[[GSRFM545]][[sthref688]]
+
+==== Example 1   Deleting a User From a File Realm
+
+The following example shows how to delete user named `sample_user` from
+a file realm.
+
+[source]
+----
+asadmin> delete-file-user
+sample_user
+Command delete-file-user executed successfully
+----
+
+[[sthref689]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref690]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
+link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
+link:list-file-users.html#list-file-users-1[`list-file-users`(1)],
+link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-http-health-checker.adoc b/docs/reference-manual/src/main/asciidoc/delete-http-health-checker.adoc
new file mode 100644
index 0000000..ab6d934
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-http-health-checker.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=delete-http-health-checker
+next=delete-http-lb.html
+prev=delete-http.html
+~~~~~~
+
+= delete-http-health-checker
+
+[[delete-http-health-checker-1]][[GSRFM00078]][[delete-http-health-checker]]
+
+== delete-http-health-checker
+
+Deletes the health-checker for a specified load balancer configuration
+
+[[sthref699]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-http-health-checker [--help]
+[--config config_name]
+ target
+----
+
+[[sthref700]]
+
+=== Description
+
+The `delete-http-health-checker` subcommand deletes the health checker
+from a load balancer configuration. A health checker is unique for the
+combination of target and load balancer configuration.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref701]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--config`::
+  The load balancer configuration from which you delete the
+  health-checker.
+
+[[sthref702]]
+
+=== Operands
+
+target::
+  Specifies the target from which you are deleting the health checker. +
+  Valid values are:
+
+  * cluster_name - The name of a target cluster.
+  * instance_name - The name of a target server instance.
+
+[[sthref703]]
+
+=== Examples
+
+[[GSRFM547]][[sthref704]]
+
+==== Example 1   Deleting a Health Checker from a Load Balancer Configuration
+
+This example deletes the health checker for load balancer configuration
+named `mycluster-http-lb-config` on a cluster named `mycluster`.
+
+[source]
+----
+asadmin> delete-http-health-checker --user admin
+--passwordfile password.txt --config mycluster-http-lb-config mycluster
+
+Command delete-http-health-checker executed successfully.
+----
+
+[[sthref705]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref706]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-health-checker.html#create-http-health-checker-1[`create-http-health-checker`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-http-lb-config.adoc b/docs/reference-manual/src/main/asciidoc/delete-http-lb-config.adoc
new file mode 100644
index 0000000..3bb43d7
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-http-lb-config.adoc
@@ -0,0 +1,96 @@
+type=page
+status=published
+title=delete-http-lb-config
+next=delete-http-lb-ref.html
+prev=delete-http-lb.html
+~~~~~~
+
+= delete-http-lb-config
+
+[[delete-http-lb-config-1]][[GSRFM00080]][[delete-http-lb-config]]
+
+== delete-http-lb-config
+
+Deletes a load balancer configuration
+
+[[sthref715]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-http-lb-config [--help]
+config_name
+----
+
+[[sthref716]]
+
+=== Description
+
+Use the `delete-http-lb-config` subcommand to delete a load balancer
+configuration. The load balancer configuration must not reference any
+clusters or server instances enabled for load balancing. In addition,
+the load balancer configuration must not be referenced by any physical
+load balancers.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref717]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref718]]
+
+=== Operands
+
+config_name::
+  The name of the load balancer configuration to delete. The
+  configuration must not reference any clusters or server instances
+  enabled for load balancing, or be used by any physical load balancers.
+
+[[sthref719]]
+
+=== Examples
+
+[[GSRFM549]][[sthref720]]
+
+==== Example 1   Deleting a Load Balancer Configuration
+
+This example deletes a load balancer configuration named `mylbconfig`
+
+[source]
+----
+asadmin> delete-http-lb-config mylbconfig
+Command delete-http-lb-config executed successfully.
+----
+
+[[sthref721]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref722]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)],
+link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-http-lb-ref.adoc b/docs/reference-manual/src/main/asciidoc/delete-http-lb-ref.adoc
new file mode 100644
index 0000000..9a2b8af
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-http-lb-ref.adoc
@@ -0,0 +1,118 @@
+type=page
+status=published
+title=delete-http-lb-ref
+next=delete-http-listener.html
+prev=delete-http-lb-config.html
+~~~~~~
+
+= delete-http-lb-ref
+
+[[delete-http-lb-ref-1]][[GSRFM00081]][[delete-http-lb-ref]]
+
+== delete-http-lb-ref
+
+Deletes the cluster or server instance from a load balancer
+
+[[sthref723]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-http-lb-ref [--help]
+--config config_name | --lbname load_balancer_name
+[--force=false] target
+----
+
+[[sthref724]]
+
+=== Description
+
+Use the `delete-http-lb-ref` subcommand to remove a reference to a
+cluster or standalone server instance from a load balancer configuration
+or load balancer. So that you do not interrupt user requests, make sure
+the standalone server instance or all server instances in the cluster
+are disabled before you remove them from the load balancer
+configuration. If the `force` option is set to true, the references are
+deleted even if server instances or clusters are enabled.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref725]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--config`::
+  Specifies which load balancer configuration to delete cluster and
+  server instance references from. +
+  Specify either a load balancer configuration or a load balancer.
+  Specifying both results in an error.
+`--lbname`::
+  Specifies the load balancer to delete cluster and server instance
+  references from. +
+  Specify either a load balancer configuration or a load balancer.
+  Specifying both results in an error.
+`--force`::
+  If `force` is set to true, then the references are deleted even if
+  there are currently enabled applications or instances. The default is
+  false.
+
+[[sthref726]]
+
+=== Operands
+
+target::
+  Specifies which cluster or instance to remove from the load balancer.
+  Valid values are:
+
+  * cluster_name- The name of a target cluster.
+  * instance_name- The name of a target server instance.
+
+[[sthref727]]
+
+=== Examples
+
+[[GSRFM550]][[sthref728]]
+
+==== Example 1   Deleting a Cluster Reference from a Load Balancer
+Configuration
+
+This example deletes the reference to cluster named `cluster2` from a
+load balancer configuration named `mycluster-http-lb-config`.
+
+[source]
+----
+asadmin> delete-http-lb-ref --config mycluster-http-lb-config cluster2
+
+Command delete-http-lb-ref executed successfully.
+----
+
+[[sthref729]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref730]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)],
+link:disable-http-lb-server.html#disable-http-lb-server-1[`disable-http-lb-server`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-http-lb.adoc b/docs/reference-manual/src/main/asciidoc/delete-http-lb.adoc
new file mode 100644
index 0000000..7969343
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-http-lb.adoc
@@ -0,0 +1,91 @@
+type=page
+status=published
+title=delete-http-lb
+next=delete-http-lb-config.html
+prev=delete-http-health-checker.html
+~~~~~~
+
+= delete-http-lb
+
+[[delete-http-lb-1]][[GSRFM00079]][[delete-http-lb]]
+
+== delete-http-lb
+
+Deletes a load balancer
+
+[[sthref707]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-http-lb [--help]
+load_balancer_name
+----
+
+[[sthref708]]
+
+=== Description
+
+Use the `delete-http-lb` subcommand to delete a physical load balancer.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref709]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref710]]
+
+=== Operands
+
+load_balancer_name::
+  The name of the load balancer to be deleted.
+
+[[sthref711]]
+
+=== Examples
+
+[[GSRFM548]][[sthref712]]
+
+==== Example 1   Deleting a Load Balancer Configuration
+
+This example deletes the load balancer configuration named `mylb`.
+
+[source]
+----
+asadmin> delete-http-lb mylb
+
+Command delete-http-lb executed successfully.
+----
+
+[[sthref713]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref714]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
+link:list-http-lbs.html#list-http-lbs-1[`list-http-lbs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-http-listener.adoc b/docs/reference-manual/src/main/asciidoc/delete-http-listener.adoc
new file mode 100644
index 0000000..e5f860f
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-http-listener.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=delete-http-listener
+next=delete-http-redirect.html
+prev=delete-http-lb-ref.html
+~~~~~~
+
+= delete-http-listener
+
+[[delete-http-listener-1]][[GSRFM00082]][[delete-http-listener]]
+
+== delete-http-listener
+
+Removes a network listener
+
+[[sthref731]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-http-listener [--help]
+[--target target]
+listener-id
+----
+
+[[sthref732]]
+
+=== Description
+
+The `delete-http-listener` subcommand removes the specified network
+listener.
+
+This subcommand is supported in remote mode only.
+
+[[sthref733]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the network listener only from the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Deletes the network listener from the default server instance. This
+    is the default value.
+  configuration-name;;
+    Deletes the network listener from the specified configuration.
+  cluster-name;;
+    Deletes the network listener from all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Deletes the network listener from the specified standalone server
+    instance.
+
+[[sthref734]]
+
+=== Operands
+
+listener-id::
+  The unique identifier for the network listener to be deleted.
+
+[[sthref735]]
+
+=== Examples
+
+[[GSRFM551]][[sthref736]]
+
+==== Example 1   Using the delete-http-listener subcommand
+
+The following command deletes the network listener named
+`sampleListener`:
+
+[source]
+----
+asadmin> delete-http-listener sampleListener
+Command delete-http-listener executed successfully.
+----
+
+[[sthref737]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref738]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
+link:list-http-listeners.html#list-http-listeners-1[`list-http-listeners`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-http-redirect.adoc b/docs/reference-manual/src/main/asciidoc/delete-http-redirect.adoc
new file mode 100644
index 0000000..bbb3ec3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-http-redirect.adoc
@@ -0,0 +1,84 @@
+type=page
+status=published
+title=delete-http-redirect
+next=delete-iiop-listener.html
+prev=delete-http-listener.html
+~~~~~~
+
+= delete-http-redirect
+
+[[delete-http-redirect-1]][[GSRFM00083]][[delete-http-redirect]]
+
+== delete-http-redirect
+
+Removes an HTTP redirect
+
+[[sthref739]]
+
+=== Synopsis
+
+[source]
+----
+delete-http-redirect [--help]
+[--target target]
+protocol-name
+----
+
+[[sthref740]]
+
+=== Description
+
+The `delete-http-redirect` subcommand removes the specified HTTP
+redirect. This subcommand is supported in remote mode only.
+
+[[sthref741]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the HTTP redirect only from the specified target. Valid values
+  are as follows:
+
+  `server`;;
+    Deletes the HTTP redirect from the default server instance. This is
+    the default value.
+  configuration-name;;
+    Deletes the HTTP redirect from the specified configuration.
+  cluster-name;;
+    Deletes the HTTP redirect from all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Deletes the HTTP redirect from the specified standalone server
+    instance.
+
+[[sthref742]]
+
+=== Operands
+
+protocol-name::
+  The name of the associated protocol.
+
+[[sthref743]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref744]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-redirect.html#create-http-redirect-1[`create-http-redirect`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-http.adoc b/docs/reference-manual/src/main/asciidoc/delete-http.adoc
new file mode 100644
index 0000000..f92940b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-http.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=delete-http
+next=delete-http-health-checker.html
+prev=delete-file-user.html
+~~~~~~
+
+= delete-http
+
+[[delete-http-1]][[GSRFM00077]][[delete-http]]
+
+== delete-http
+
+Removes HTTP parameters from a protocol
+
+[[sthref691]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-http [--help]
+[--target target]
+protocol-name
+----
+
+[[sthref692]]
+
+=== Description
+
+The `delete-http` subcommand removes the specified HTTP parameter set
+from a protocol. This subcommand is supported in remote mode only.
+
+[[sthref693]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the HTTP parameter set only from the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Deletes the HTTP parameter set from the default server instance.
+    This is the default value.
+  configuration-name;;
+    Deletes the HTTP parameter set from the specified configuration.
+  cluster-name;;
+    Deletes the HTTP parameter set from all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Deletes the HTTP parameter set from the specified standalone server
+    instance.
+
+[[sthref694]]
+
+=== Operands
+
+protocol-name::
+  The name of the protocol from which to delete the HTTP parameter set.
+
+[[sthref695]]
+
+=== Examples
+
+[[GSRFM546]][[sthref696]]
+
+==== Example 1   Deleting an HTTP Parameter Set
+
+The following command deletes the HTTP parameter set from a protocol
+named `http-1`:
+
+[source]
+----
+asadmin> delete-http http-1
+Command delete-http executed successfully.
+----
+
+[[sthref697]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref698]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http.html#create-http-1[`create-http`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-iiop-listener.adoc b/docs/reference-manual/src/main/asciidoc/delete-iiop-listener.adoc
new file mode 100644
index 0000000..ffe2d4b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-iiop-listener.adoc
@@ -0,0 +1,98 @@
+type=page
+status=published
+title=delete-iiop-listener
+next=delete-instance.html
+prev=delete-http-redirect.html
+~~~~~~
+
+= delete-iiop-listener
+
+[[delete-iiop-listener-1]][[GSRFM00084]][[delete-iiop-listener]]
+
+== delete-iiop-listener
+
+Removes an IIOP listener
+
+[[sthref745]]
+
+=== Synopsis
+
+[source]
+----
+delete-iiop-listener [--help] [--target target] listener_id
+----
+
+[[sthref746]]
+
+=== Description
+
+The `delete-iiop-listener` subcommand removes the specified IIOP
+listener. This subcommand is supported in remote mode only.
+
+[[sthref747]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are deleting the IIOP listener.
+  Valid values are
+
+  `server`;;
+    Deletes the listener from the default server instance `server` and
+    is the default value.
+  configuration_name;;
+    Deletes the listener from the named configuration.
+  cluster_name;;
+    Deletes the listener from every server instance in the cluster.
+  instance_name;;
+    Deletes the listener from a particular server instance.
+
+[[sthref748]]
+
+=== Operands
+
+listener_id::
+  The unique identifier for the IIOP listener to be deleted.
+
+[[sthref749]]
+
+=== Examples
+
+[[GSRFM552]][[sthref750]]
+
+==== Example 1   Deleting an IIOP Listener
+
+The following command deletes the IIOP listener named
+`sample_iiop_listener`:
+
+[source]
+----
+asadmin> delete-iiop-listener sample_iiop_listener
+Command delete-iiop-listener executed successfully.
+----
+
+[[sthref751]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref752]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-iiop-listener.html#create-iiop-listener-1[`create-iiop-listener`(1)],
+link:list-iiop-listeners.html#list-iiop-listeners-1[`list-iiop-listeners`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-instance.adoc b/docs/reference-manual/src/main/asciidoc/delete-instance.adoc
new file mode 100644
index 0000000..672bcc1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-instance.adoc
@@ -0,0 +1,130 @@
+type=page
+status=published
+title=delete-instance
+next=delete-jacc-provider.html
+prev=delete-iiop-listener.html
+~~~~~~
+
+= delete-instance
+
+[[delete-instance-1]][[GSRFM00085]][[delete-instance]]
+
+== delete-instance
+
+Deletes a {productName} instance
+
+[[sthref753]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-instance [--help]
+instance-name
+----
+
+[[sthref754]]
+
+=== Description
+
+The `delete-instance` subcommand deletes a {productName} instance.
+This subcommand requires the Distributed Component Object Model (DCOM)
+remote protocol or secure shell (SSH) to be configured on the host where
+the domain administration server (DAS) is running and on the host that
+is represented by the node where the instance resides.
+
+[NOTE]
+====
+DCOM or SSH is not required if the instance resides on a node of type
+`CONFIG` that represents the local host. A node of type `CONFIG` is not
+enabled for remote communication over DCOM or SSH.
+====
+
+You may run this subcommand from any host that can contact the DAS.
+
+The subcommand can delete any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can delete an
+instance that was created by using the
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
+subcommand.
+
+The instance that is being deleted must not be running. Otherwise, an
+error occurs.
+
+The subcommand deletes an instance by performing the following actions:
+
+* Removing the instance from the configuration of the domain
+  administration server (DAS)
+* Deleting the instance's files from file system
+
+If the instance that is being deleted is the only instance that is using
+the node directory, that directory is also removed.
+
+If a standalone instance is deleted, the instance's standalone
+configuration is also deleted. A standalone instance refers to a
+configuration that is named instance-name`-config` to which no other
+clusters or unclustered instances refer.
+
+This subcommand is supported in remote mode only.
+
+[[sthref755]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref756]]
+
+=== Operands
+
+instance-name::
+  The name of the instance to delete.
+
+[[sthref757]]
+
+=== Examples
+
+[[GSRFM553]][[sthref758]]
+
+==== Example 1   Deleting a {productName} Instance
+
+This example deletes the {productName} instance `pmdsainst`.
+
+[source]
+----
+asadmin> delete-instance pmdsainst
+
+Command delete-instance executed successfully.
+----
+
+[[sthref759]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref760]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
+link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jacc-provider.adoc b/docs/reference-manual/src/main/asciidoc/delete-jacc-provider.adoc
new file mode 100644
index 0000000..26d778e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jacc-provider.adoc
@@ -0,0 +1,124 @@
+type=page
+status=published
+title=delete-jacc-provider
+next=delete-javamail-resource.html
+prev=delete-instance.html
+~~~~~~
+
+= delete-jacc-provider
+
+[[delete-jacc-provider-1]][[GSRFM00086]][[delete-jacc-provider]]
+
+== delete-jacc-provider
+
+Enables administrators to delete JACC providers defined for a domain
+
+[[sthref761]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jacc-provider [--help]
+[--target target] jacc-provider-name
+----
+
+[[sthref762]]
+
+=== Description
+
+The `delete-jacc-provider` subcommand enables administrators to delete
+JACC providers defined for a domain. JACC providers are defined as
+`jacc-provider` elements in the `security-service` element in the
+domain's `domain.xml` file. JACC providers can be created using the
+{productName} Admin Console or the `create-jacc-provider`
+subcommand.
+
+The default {productName} installation includes two JACC providers,
+named `default` and `simple`. These default providers should not be
+deleted.
+
+The JACC provider used by{productName} for authorization is
+identified by the `jacc-provider` element of `security-service` in
+`domain.xml`. Therefore, if you delete the `jacc-provider` provider,
+make sure you change `jacc-provider` to the name of some other JACC
+provider that exists under `security-service`.
+
+If you change the `jacc-provider` element to point to a different JACC
+provider, you must restart {productName}.
+
+This subcommand is supported in remote mode only.
+
+[[sthref763]]
+
+=== Options
+
+If an option has a short option name, then the short option precedes the
+long option name. Short options have one dash whereas long options have
+two dashes.
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are deleting the JACC provider.
+  The following values are valid:
+
+  `server`;;
+    Deletes the JACC provider on the default server instance. This is
+    the default value.
+  configuration_name;;
+    Deletes the JACC provider in the specified configuration.
+  cluster_name;;
+    Deletes the JACC provider on all server instances in the specified
+    cluster.
+  instance_name;;
+    Deletes the JACC provider on a specified server instance.
+
+[[sthref764]]
+
+=== Operands
+
+jacc-provider-name::
+  The name of the JACC provider to be deleted.
+
+[[sthref765]]
+
+=== Examples
+
+[[GSRFM554]][[sthref766]]
+
+==== Example 1   Deleting a JACC provider
+
+The following example shows how to delete a JACC provider named
+`testJACC` from the default domain.
+
+[source]
+----
+asadmin> delete-jacc-provider testJACC
+
+Command delete-jacc-provider executed successfully.
+----
+
+[[sthref767]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref768]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jacc-provider.html#create-jacc-provider-1[`create-jacc-provider`(1)],
+link:list-jacc-providers.html#list-jacc-providers-1[`list-jacc-providers`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-javamail-resource.adoc b/docs/reference-manual/src/main/asciidoc/delete-javamail-resource.adoc
new file mode 100644
index 0000000..5c6c4c6
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-javamail-resource.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=delete-javamail-resource
+next=delete-jdbc-connection-pool.html
+prev=delete-jacc-provider.html
+~~~~~~
+
+= delete-javamail-resource
+
+[[delete-javamail-resource-1]][[GSRFM00087]][[delete-javamail-resource]]
+
+== delete-javamail-resource
+
+Removes a JavaMail session resource
+
+[[sthref769]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-javamail-resource [--help]
+[--target target] jndi_name
+----
+
+[[sthref770]]
+
+=== Description
+
+The `delete-javamail-resource` subcommand removes the specified JavaMail
+session resource. Ensure that you remove all references to this resource
+before running this subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref771]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target from which you are deleting the
+  JavaMail session resource. Valid values are:
+
+  `server`;;
+    Deletes the resource from the default server instance. This is the
+    default value.
+  `domain`;;
+    Deletes the resource from the domain.
+  cluster_name;;
+    Deletes the resource from every server instance in the cluster.
+  instance_name;;
+    Deletes the resource from a particular server instance.
+
+[[sthref772]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of the JavaMail session resource to be deleted.
+
+[[sthref773]]
+
+=== Examples
+
+[[GSRFM555]][[sthref774]]
+
+==== Example 1   Deleting a JavaMail Resource
+
+This example deletes the JavaMail session resource named
+`mail/MyMailSession`.
+
+[source]
+----
+asadmin> delete-javamail-resource mail/MyMailSession
+Command delete-javamail-resource executed successfully.
+----
+
+[[sthref775]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref776]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-javamail-resource.html#create-javamail-resource-1[`create-javamail-resource`(1)],
+link:list-javamail-resources.html#list-javamail-resources-1[`list-javamail-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jdbc-connection-pool.adoc b/docs/reference-manual/src/main/asciidoc/delete-jdbc-connection-pool.adoc
new file mode 100644
index 0000000..e2df718
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jdbc-connection-pool.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=delete-jdbc-connection-pool
+next=delete-jdbc-resource.html
+prev=delete-javamail-resource.html
+~~~~~~
+
+= delete-jdbc-connection-pool
+
+[[delete-jdbc-connection-pool-1]][[GSRFM00088]][[delete-jdbc-connection-pool]]
+
+== delete-jdbc-connection-pool
+
+Removes the specified JDBC connection pool
+
+[[sthref777]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jdbc-connection-pool [--help]
+[--cascade={false|true}]
+[--target target]
+jdbc_connection_pool_id
+----
+
+[[sthref778]]
+
+=== Description
+
+The `delete-jdbc-connection-pool` subcommand deletes a JDBC connection
+pool. Before running this subcommand, all associations to the JDBC
+connection pool must be removed.
+
+This subcommand is supported in remote mode only.
+
+[[sthref779]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--cascade`::
+  If the option is set to true, all the JDBC resources associated with
+  the pool, apart from the pool itself, are deleted. When set to false,
+  the deletion of pool fails if any resources are associated with the
+  pool. Resources must be deleted explicitly or the option must be set
+  to true. The default value is false.
+`--target`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref780]]
+
+=== Operands
+
+jdbc_connection_pool_id::
+  The name of the JDBC resource to be removed.
+
+[[sthref781]]
+
+=== Examples
+
+[[GSRFM556]][[sthref782]]
+
+==== Example 1   Deleting a JDBC Connection Pool
+
+This example deletes the `sample_derby_pool` JDBC connection pool.
+
+[source]
+----
+asadmin> delete-jdbc-connection-pool --cascade=false sample_derby_pool
+Command delete-jdbc-connection-pool executed correctly.
+----
+
+[[sthref783]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref784]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jdbc-resource.adoc b/docs/reference-manual/src/main/asciidoc/delete-jdbc-resource.adoc
new file mode 100644
index 0000000..faa128e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jdbc-resource.adoc
@@ -0,0 +1,114 @@
+type=page
+status=published
+title=delete-jdbc-resource
+next=delete-jmsdest.html
+prev=delete-jdbc-connection-pool.html
+~~~~~~
+
+= delete-jdbc-resource
+
+[[delete-jdbc-resource-1]][[GSRFM00089]][[delete-jdbc-resource]]
+
+== delete-jdbc-resource
+
+Removes a JDBC resource with the specified JNDI name
+
+[[sthref785]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jdbc-resource [--help]
+[--target target] jndi_name
+----
+
+[[sthref786]]
+
+=== Description
+
+The `delete-jdbc-resource` subcommand removes a JDBC resource. Ensure
+that all associations to the JDBC resource are removed before running
+this subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref787]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option helps specify the target from which you are removing the
+  JDBC resource. Valid targets are:
+
+  `server`;;
+    Removes the resource from the default server instance. This is the
+    default value.
+  `domain`;;
+    Removes the resource from the domain.
+  cluster_name;;
+    Removes the resource from every server instance in the cluster.
+  instance_name;;
+    Removes the resource from a particular server instance.
+
+
+[NOTE]
+====
+Resources are always created for a domain as a whole but are only active
+for targets for which a `<resource-ref>` has been created using the
+`--target` option when the resource was created. This means that
+deleting a resource only deletes the `<resource-ref>` element for the
+specified `--target`, and does not delete the resource from the domain
+as a whole unless `domain` is specified as the `--target` for the
+deletion.
+====
+
+
+[[sthref788]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of this JDBC resource to be removed.
+
+[[sthref789]]
+
+=== Examples
+
+[[GSRFM557]][[sthref790]]
+
+==== Example 1   Deleting a JDBC Resource
+
+The following example deletes the JDBC resource named `jdbc/DerbyPool`.
+
+[source]
+----
+asadmin> delete-jdbc-resource jdbc/DerbyPool
+Command delete-jdbc-resource executed successfully.
+----
+
+[[sthref791]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref792]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
+link:list-jdbc-resources.html#list-jdbc-resources-1[`list-jdbc-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jms-host.adoc b/docs/reference-manual/src/main/asciidoc/delete-jms-host.adoc
new file mode 100644
index 0000000..b2d22fa
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jms-host.adoc
@@ -0,0 +1,106 @@
+type=page
+status=published
+title=delete-jms-host
+next=delete-jms-resource.html
+prev=delete-jmsdest.html
+~~~~~~
+
+= delete-jms-host
+
+[[delete-jms-host-1]][[GSRFM00091]][[delete-jms-host]]
+
+== delete-jms-host
+
+Removes a JMS host
+
+[[sthref801]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jms-host [--help]
+[--target target]
+jms_host_name
+----
+
+[[sthref802]]
+
+=== Description
+
+The `delete-jms-host` subcommand removes the specified Java Message
+Service (JMS) host.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+Deleting the default JMS host, named `default_JMS_host`, is not recommended.
+
+[[sthref803]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the JMS host only from the specified target. Valid values are
+  as follows:
+
+  `server`;;
+    Deletes the JMS host from the default server instance. This is the
+    default value.
+  configuration-name;;
+    Deletes the JMS host from the specified configuration.
+  cluster-name;;
+    Deletes the JMS host from every server instance in the specified
+    cluster.
+  instance-name;;
+    Deletes the JMS host from the specified server instance.
+
+[[sthref804]]
+
+=== Operands
+
+jms_host_name::
+  The name of the host to be deleted.
+
+[[sthref805]]
+
+=== Examples
+
+[[GSRFM559]][[sthref806]]
+
+==== Example 1   Deleting a JMS host
+
+The following subcommand deletes the JMS host named `MyNewHost`.
+
+[source]
+----
+asadmin> delete-jms-host MyNewHost
+Command delete-jms-host executed successfully.
+----
+
+[[sthref807]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref808]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jms-host.html#create-jms-host-1[`create-jms-host`(1)],
+link:jms-ping.html#jms-ping-1[`jms-ping`(1)],
+link:list-jms-hosts.html#list-jms-hosts-1[`list-jms-hosts`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jms-resource.adoc b/docs/reference-manual/src/main/asciidoc/delete-jms-resource.adoc
new file mode 100644
index 0000000..430a7c0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jms-resource.adoc
@@ -0,0 +1,117 @@
+type=page
+status=published
+title=delete-jms-resource
+next=delete-jndi-resource.html
+prev=delete-jms-host.html
+~~~~~~
+
+= delete-jms-resource
+
+[[delete-jms-resource-1]][[GSRFM00092]][[delete-jms-resource]]
+
+== delete-jms-resource
+
+Removes a JMS resource
+
+[[sthref809]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jms-resource [--help]
+[--target target]
+jndi_name
+----
+
+[[sthref810]]
+
+=== Description
+
+The `delete-jms-resource` subcommand removes the specified Java Message
+Service (JMS) resource. Ensure that you remove all references to this
+resource before executing this subcommand.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref811]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the JMS resource only from the specified target. Valid values
+  are as follows:
++
+[NOTE]
+====
+Resources are always created for a domain as a whole but are only
+active for targets for which a `<resource-ref>` has been created using
+the `--target` option when the resource was created. This means that
+deleting a resource only deletes the `<resource-ref>` element for the
+specified `--target`, and does not delete the resource from the domain
+as a whole unless `domain` is specified as the `--target` for the
+deletion.
+====
+
+  `server`;;
+    Deletes the JMS resource from the default server instance. This is
+    the default value.
+  `domain`;;
+    Deletes the JMS resource from the domain.
+  cluster-name;;
+    Deletes the JMS resource from every server instance in the specified
+    cluster.
+  instance-name;;
+    Deletes the JMS resource from the specified server instance.
+
+[[sthref812]]
+
+=== Operands
+
+jndi_name::
+  The JNDI name of the JMS resource to be deleted.
+
+[[sthref813]]
+
+=== Examples
+
+[[GSRFM560]][[sthref814]]
+
+==== Example 1   Deleting a JMS destination resource
+
+The following subcommand deletes the JMS destination resource named
+`jms/MyQueue`.
+
+[source]
+----
+asadmin> delete-jms-resource jms/MyQueue
+Administered object jms/MyQueue deleted.
+Command delete-jms-resource executed successfully.
+----
+
+[[sthref815]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref816]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
+link:list-jms-resources.html#list-jms-resources-1[`list-jms-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jmsdest.adoc b/docs/reference-manual/src/main/asciidoc/delete-jmsdest.adoc
new file mode 100644
index 0000000..a83d400
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jmsdest.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=delete-jmsdest
+next=delete-jms-host.html
+prev=delete-jdbc-resource.html
+~~~~~~
+
+= delete-jmsdest
+
+[[delete-jmsdest-1]][[GSRFM00090]][[delete-jmsdest]]
+
+== delete-jmsdest
+
+Removes a JMS physical destination
+
+[[sthref793]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jmsdest [--help]
+--desttype type
+[--target target]
+dest_name
+----
+
+[[sthref794]]
+
+=== Description
+
+The `delete-jmsdest` subcommand removes the specified Java Message
+Service (JMS) physical destination.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref795]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--desttype`::
+  The type of the JMS destination. Valid values are `topic` and `queue`.
+`--target`::
+  Deletes the physical destination only from the specified target.
+  Although the `delete-jmsdest` subcommand is related to resources, a
+  physical destination is deleted using the JMS Service (JMS Broker),
+  which is part of the configuration. A JMS Broker is configured in the
+  config section of `domain.xml`. Valid values are as follows:
+
+  `server`;;
+    Deletes the physical destination from the default server instance.
+    This is the default value.
+  configuration-name;;
+    Deletes the physical destination from the specified configuration.
+  cluster-name;;
+    Deletes the physical destination from every server instance in the
+    specified cluster.
+  instance-name;;
+    Creates the physical destination from the specified server instance.
+
+[[sthref796]]
+
+=== Operands
+
+dest_name::
+  The unique identifier of the JMS destination to be deleted.
+
+[[sthref797]]
+
+=== Examples
+
+[[GSRFM558]][[sthref798]]
+
+==== Example 1   Deleting a physical destination
+
+The following subcommand deletes the queue named `PhysicalQueue`.
+
+[source]
+----
+asadmin> delete-jmsdest --desttype queue PhysicalQueue
+Command delete-jmsdest executed successfully.
+----
+
+[[sthref799]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref800]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jmsdest.html#create-jmsdest-1[`create-jmsdest`(1)],
+link:flush-jmsdest.html#flush-jmsdest-1[`flush-jmsdest`(1)],
+link:list-jmsdest.html#list-jmsdest-1[`list-jmsdest`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jndi-resource.adoc b/docs/reference-manual/src/main/asciidoc/delete-jndi-resource.adoc
new file mode 100644
index 0000000..2cda1d5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jndi-resource.adoc
@@ -0,0 +1,112 @@
+type=page
+status=published
+title=delete-jndi-resource
+next=delete-jvm-options.html
+prev=delete-jms-resource.html
+~~~~~~
+
+= delete-jndi-resource
+
+[[delete-jndi-resource-1]][[GSRFM00093]][[delete-jndi-resource]]
+
+== delete-jndi-resource
+
+Removes a JNDI resource
+
+[[sthref817]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jndi-resource [--help]
+[--target target] jndi_name
+----
+
+[[sthref818]]
+
+=== Description
+
+The `delete-jndi-resource` subcommand removes the specified JNDI
+resource. You must remove all associations to the JNDI resource before
+running this subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref819]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Valid targets are described below.
++
+[NOTE]
+====
+Resources are always created for a domain as a whole but are only
+active for targets for which a `<resource-ref>` has been created using
+the `--target` option when the resource was created. This means that
+deleting a resource only deletes the `<resource-ref>` element for the
+specified `--target`, and does not delete the resource from the domain
+as a whole unless `domain` is specified as the `--target` for the
+deletion.
+====
+
+  `server`;;
+    Deletes the resource from the default server instance. This is the
+    default value
+  `domain`;;
+    Deletes the resource from the domain
+  cluster_name;;
+    Deletes the resource for every server instance in the cluster
+  instance_name;;
+    Deletes the resource from the specified server instance
+
+[[sthref820]]
+
+=== Operands
+
+jndi_name::
+  The name of the JNDI resource to be removed.
+
+[[sthref821]]
+
+=== Examples
+
+[[GSRFM561]][[sthref822]]
+
+==== Example 1   Deleting a JNDI Resource
+
+This example removes an existing JNDI resource named
+`sample_jndi_resource`.
+
+[source]
+----
+asadmin> delete-jndi-resource sample_jndi_resource
+Command delete-jndi-resource executed successfully.
+----
+
+[[sthref823]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref824]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
+link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-jvm-options.adoc b/docs/reference-manual/src/main/asciidoc/delete-jvm-options.adoc
new file mode 100644
index 0000000..3ab2c99
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-jvm-options.adoc
@@ -0,0 +1,179 @@
+type=page
+status=published
+title=delete-jvm-options
+next=delete-lifecycle-module.html
+prev=delete-jndi-resource.html
+~~~~~~
+
+= delete-jvm-options
+
+[[delete-jvm-options-1]][[GSRFM00094]][[delete-jvm-options]]
+
+== delete-jvm-options
+
+Removes one or more options for the Java application launcher
+
+[[sthref825]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-jvm-options [--help]
+[--target target] [--profiler={true|false}]
+(jvm-option-name[=jvm-option-value]) [:jvm-option-name[=jvm-option-name]]*
+----
+
+[[sthref826]]
+
+=== Description
+
+The `delete-jvm-options` subcommand removes one or more command-line
+options for the Java application launcher. These options are removed
+from the Java configuration `java—config` element or the profiler
+`profiler` element of the `domain.xml` file. To see the Java application
+launcher options that can be deleted, use the
+link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)]
+subcommand.
+
+The deletion of some options requires a server restart for changes to
+become effective. Other options are set immediately in the environment
+of the domain administration server (DAS) and do not require a restart.
+
+Whether a restart is required depends on the type of option.
+
+* Restart is not required for Java system properties whose names do not
+start with `-Djava.` or `-Djavax.` (including the trailing period). For
+example, restart is not required for the following Java system property:
++
+`-Denvironment=Production`
+* Restart is required for the following options:
+
+** Java system properties whose names start with `-Djava.` or `-Djavax.`
+(including the trailing period). For example:
++
+`-Djava.security.manager`
+
+** Startup parameters for the Java application launcher. For example:
++
+`-client`
++
+`-Xmx1024m`
++
+`-d64`
+
+To restart the DAS, use the
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)] command.
+
+This subcommand is supported in remote mode only.
+
+[[sthref827]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are removing Java application
+  launcher options. Valid values are as follows:
+
+  `server`;;
+    Specifies the DAS (default).
+  instance-name;;
+    Specifies a {productName} instance.
+  cluster-name;;
+    Specifies a cluster.
+  configuration-name;;
+    Specifies a named configuration.
+
+`--profiler`::
+  Indicates whether the Java application launcher options are for the
+  profiler. The option must have been set for a profiler for this option
+  to be true.
+
+[[sthref828]]
+
+=== Operands
+
+jvm-option-name::
+  One or more options delimited by a colon (:). The format of the
+  operand depends on the following:
+
+  * If the option has a name and a value, the format is
+  option-name=value.
+  * If the option has only a name, the format is option-name. For
+  example, `-Xmx2048m`.
+
++
+[NOTE]
+====
+If an option name or option value contains a colon, the backslash
+(`\`) must be used to escape the colon in the name or value. Other
+characters might also require an escape character. For more
+information about escape characters in subcommand options, see the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] man page.
+====
+
+
+[[sthref829]]
+
+=== Examples
+
+[[GSRFM562]][[sthref830]]
+
+==== Example 1   Deleting Java Application Launcher Options
+
+This example removes multiple Java application launcher options.
+
+[source]
+----
+asadmin> delete-jvm-options -Doption1=value1
+"-Doption1=value1:-Doption2=value2"
+Command delete-jvm-options executed successfully
+----
+
+[[GSRFM563]][[sthref831]]
+
+==== Example 2   Deleting a Java Application Launcher Option From the Profiler
+
+This example removes a Java application launcher startup parameter for
+the profiler.
+
+[source]
+----
+asadmin> delete-jvm-options --profiler=true -XX:MaxPermSize=192m
+Command delete-jvm-options executed successfully.
+----
+
+[[sthref832]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref833]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
+link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)],
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)]
+
+For more information about the Java application launcher, see the
+reference page for the operating system that you are using:
+
+* Oracle Solaris and Linux: java - the Java application launcher
+(`http://java.sun.com/javase/7/docs/technotes/tools/solaris/java.html`)
+* Windows: java - the Java application launcher
+(`http://java.sun.com/javase/7/docs/technotes/tools/windows/java.html`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-lifecycle-module.adoc b/docs/reference-manual/src/main/asciidoc/delete-lifecycle-module.adoc
new file mode 100644
index 0000000..6bfed2e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-lifecycle-module.adoc
@@ -0,0 +1,99 @@
+type=page
+status=published
+title=delete-lifecycle-module
+next=delete-local-instance.html
+prev=delete-jvm-options.html
+~~~~~~
+
+= delete-lifecycle-module
+
+[[delete-lifecycle-module-1]][[GSRFM00095]][[delete-lifecycle-module]]
+
+== delete-lifecycle-module
+
+Removes the lifecycle module
+
+[[sthref834]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-lifecycle-module [--help]
+[--target target] module_name
+----
+
+[[sthref835]]
+
+=== Description
+
+The `delete-lifecycle-module` subcommand removes a lifecycle module. A
+lifecycle module provides a means of running a short or long duration
+Java-based task at a specific stage in the server life cycle. This
+subcommand is supported in remote mode only.
+
+[[sthref836]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Indicates the location where the lifecycle module is to be deleted.
+  Valid values are
+
+  * `server`- Specifies the default server instance as the target for
+  deleting the lifecycle module. `server` is the name of the default
+  server instance and is the default value for this option.
+  * cluster_name- Specifies a particular cluster as the target for
+  deleting the lifecycle module.
+  * instance_name- Specifies a particular server instance as the target
+  for deleting the lifecycle module.
+
+[[sthref837]]
+
+=== Operands
+
+module_name::
+  This operand is a unique identifier for the deployed server lifecycle
+  event listener module.
+
+[[sthref838]]
+
+=== Examples
+
+[[GSRFM564]][[sthref839]]
+
+==== Example 1   Deleting a Lifecycle Module
+
+The following example deletes a lifecycle module named `customSetup`.
+
+[source]
+----
+asadmin> delete-lifecycle-module customSetup
+Command delete-lifecycle-module executed successfully
+----
+
+[[sthref840]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref841]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-lifecycle-module.html#create-lifecycle-module-1[`create-lifecycle-module`(1)],
+link:list-lifecycle-modules.html#list-lifecycle-modules-1[`list-lifecycle-modules`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-local-instance.adoc b/docs/reference-manual/src/main/asciidoc/delete-local-instance.adoc
new file mode 100644
index 0000000..f8554e5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-local-instance.adoc
@@ -0,0 +1,140 @@
+type=page
+status=published
+title=delete-local-instance
+next=delete-managed-executor-service.html
+prev=delete-lifecycle-module.html
+~~~~~~
+
+= delete-local-instance
+
+[[delete-local-instance-1]][[GSRFM00096]][[delete-local-instance]]
+
+== delete-local-instance
+
+Deletes a {productName} instance on the machine where the subcommand is run
+
+[[sthref842]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-local-instance [--help]
+[--nodedir node-dir] [--node node-name]
+[instance-name]
+----
+
+[[sthref843]]
+
+=== Description
+
+The `delete-local-instance` subcommand deletes a {productName}
+instance on the machine where the subcommand is run. This subcommand
+does not require the Distributed Component Object Model (DCOM) remote
+protocol or secure shell (SSH) to be configured. You must run this
+command from the machine where the instance resides.
+
+The subcommand can delete any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can delete an
+instance that was created by using the
+link:create-instance.html#create-instance-1[`create-instance`(1)]
+subcommand.
+
+The instance that is being deleted must not be running. Otherwise, an
+error occurs.
+
+The subcommand deletes an instance by performing the following actions:
+
+* Removing the instance from the configuration of the domain
+  administration server (DAS)
+* Deleting the instance's files from file system
+
+If the instance that is being deleted is the only instance that is using
+the node directory, that directory is also removed.
+
+If a standalone instance is deleted, the instance's standalone
+configuration is also deleted. A standalone instance refers to a
+configuration that is named instance-name`-config` to which no other
+clusters or unclustered instances refer.
+
+The `delete-local-instance` subcommand does not contact the DAS to
+determine the node on which the instance resides. To determine the node
+on which the instance resides, the subcommand searches the directory
+that contains the node directories. If multiple node directories exist,
+the node must be specified as an option of the subcommand.
+
+If no operand is specified and only one instance resides on the
+specified node, the subcommand deletes the instance. If no operand is
+specified and multiple instances reside on the node, an error occurs.
+
+This subcommand is supported in remote mode only.
+
+[[sthref844]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodedir`::
+  Specifies the directory that contains the instance's node directory.
+  The instance's files are stored in the instance's node directory. The
+  default is as-install``/nodes``.
+`--node`::
+  Specifies the node on which the instance resides. This option may be
+  omitted only if the directory that the `--nodedir` option specifies
+  contains only one node directory. Otherwise, this option is required.
+
+[[sthref845]]
+
+=== Operands
+
+instance-name::
+  The name of the instance to delete. This operand may be omitted if
+  only one instance resides on the specified node. Otherwise, this
+  operand is required.
+
+[[sthref846]]
+
+=== Examples
+
+[[GSRFM565]][[sthref847]]
+
+==== Example 1   Deleting an Instance
+
+This example deletes the instance `pmdsainst`.
+
+[source]
+----
+asadmin> delete-local-instance pmdsainst
+
+Command delete-local-instance executed successfully.
+----
+
+[[sthref848]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref849]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-managed-executor-service.adoc b/docs/reference-manual/src/main/asciidoc/delete-managed-executor-service.adoc
new file mode 100644
index 0000000..488dced
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-managed-executor-service.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=delete-managed-executor-service
+next=delete-managed-scheduled-executor-service.html
+prev=delete-local-instance.html
+~~~~~~
+
+= delete-managed-executor-service
+
+[[delete-managed-executor-service-1]][[GSRFM848]][[delete-managed-executor-service]]
+
+== delete-managed-executor-service
+
+Removes a managed executor service resource with the specified JNDI name
+
+[[sthref850]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-managed-executor-service [--help]
+[--target target]
+managed_executor_service_name
+----
+
+[[sthref851]]
+
+=== Description
+
+The `delete-managed-executor-service` subcommand removes a managed
+executor service resource with the specified JNDI name.
+
+This subcommand is supported in remote mode only.
+
+[[sthref852]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are deleting the resource. Valid
+  targets are:
+
+  `server`;;
+    Deletes the resource from the default server instance. This is the
+    default value.
+  `domain`;;
+    Deletes the resource from the domain.
+  cluster_name;;
+    Deletes the resource from every server instance in the specified
+    cluster.
+  instance_name;;
+    Deletes the resource from the specified server instance.
+
+[[sthref853]]
+
+=== Operands
+
+managed_executor_service_name::
+  The JNDI name of the resource to be deleted.
+
+[[sthref854]]
+
+=== Examples
+
+[[GSRFM849]][[sthref855]]
+
+==== Example 1   Deleting a Managed Executor Service Resource
+
+This example deletes the managed executor service resource named
+`concurrent/myExecutor`.
+
+[source]
+----
+asadmin> delete-managed-executor-service concurrent/myExecutor
+Managed executor service concurrent/myExecutor deleted successfully.
+Command delete-managed-executor-service executed successfully.
+----
+
+[[sthref856]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref857]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-managed-executor-service.html#create-managed-executor-service-1[`create-managed-executor-service`(1)],
+link:list-managed-executor-services.html#list-managed-executor-services-1[`list-managed-executor-services`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-managed-scheduled-executor-service.adoc b/docs/reference-manual/src/main/asciidoc/delete-managed-scheduled-executor-service.adoc
new file mode 100644
index 0000000..4a45426
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-managed-scheduled-executor-service.adoc
@@ -0,0 +1,106 @@
+type=page
+status=published
+title=delete-managed-scheduled-executor-service
+next=delete-managed-thread-factory.html
+prev=delete-managed-executor-service.html
+~~~~~~
+
+= delete-managed-scheduled-executor-service
+
+[[delete-managed-scheduled-executor-service-1]][[GSRFM850]][[delete-managed-scheduled-executor-service]]
+
+== delete-managed-scheduled-executor-service
+
+Removes a managed scheduled executor service resource with the specified
+JNDI name
+
+[[sthref858]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-managed-scheduled-executor-service [--help]
+[--target target]
+managed_scheduled_executor_service_name
+----
+
+[[sthref859]]
+
+=== Description
+
+The `delete-managed-scheduled-executor-service` subcommand removes a
+managed scheduled executor service resource with the specified JNDI
+name.
+
+This subcommand is supported in remote mode only.
+
+[[sthref860]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are deleting the resource. Valid
+  targets are:
+
+  `server`;;
+    Deletes the resource from the default server instance. This is the
+    default value.
+  `domain`;;
+    Deletes the resource from the domain.
+  cluster_name;;
+    Deletes the resource from every server instance in the specified
+    cluster.
+  instance_name;;
+    Deletes the resource from the specified server instance.
+
+[[sthref861]]
+
+=== Operands
+
+managed_scheduled_executor_service_name::
+  The JNDI name of the resource to be deleted.
+
+[[sthref862]]
+
+=== Examples
+
+[[GSRFM851]][[sthref863]]
+
+==== Example 1   Deleting a Managed Scheduled Executor Service Resource
+
+This example deletes the managed scheduled executor service resource
+named `concurrent/myScheduledExecutor`.
+
+[source]
+----
+asadmin> delete-managed-scheduled-executor-service concurrent/myScheduledExecutor
+Managed scheduled executor service concurrent/myScheduledExecutor deleted successfully.
+Command delete-managed-scheduled-executor-service executed successfully.
+----
+
+[[sthref864]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref865]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-managed-scheduled-executor-service.html#create-managed-scheduled-executor-service-1[`create-managed-scheduled-executor-service`(1)],
+link:list-managed-scheduled-executor-services.html#list-managed-scheduled-executor-services-1[`list-managed-scheduled-executor-services`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-managed-thread-factory.adoc b/docs/reference-manual/src/main/asciidoc/delete-managed-thread-factory.adoc
new file mode 100644
index 0000000..b42d02a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-managed-thread-factory.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=delete-managed-thread-factory
+next=delete-message-security-provider.html
+prev=delete-managed-scheduled-executor-service.html
+~~~~~~
+
+= delete-managed-thread-factory
+
+[[delete-managed-thread-factory-1]][[GSRFM852]][[delete-managed-thread-factory]]
+
+== delete-managed-thread-factory
+
+Removes a managed thread factory resource with the specified JNDI name
+
+[[sthref866]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-managed-thread-factory [--help]
+[--target target]
+managed_thread_factory_name
+----
+
+[[sthref867]]
+
+=== Description
+
+The `delete-managed-thread-factory` subcommand removes a managed thread
+factory resource with the specified JNDI name.
+
+This subcommand is supported in remote mode only.
+
+[[sthref868]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are deleting the resource. Valid
+  targets are:
+
+  `server`;;
+    Deletes the resource from the default server instance. This is the
+    default value.
+  `domain`;;
+    Deletes the resource from the domain.
+  cluster_name;;
+    Deletes the resource from every server instance in the specified
+    cluster.
+  instance_name;;
+    Deletes the resource from the specified server instance.
+
+[[sthref869]]
+
+=== Operands
+
+managed_thread_factory_name::
+  The JNDI name of the resource to be deleted.
+
+[[sthref870]]
+
+=== Examples
+
+[[GSRFM853]][[sthref871]]
+
+==== Example 1   Deleting a Managed Thread Factory Resource
+
+This example deletes the managed thread factory resource named
+`concurrent/myThreadFactory`.
+
+[source]
+----
+asadmin> delete-managed-thread-factory concurrent/myThreadFactory
+Managed thread factory concurrent/myThreadFactory deleted successfully.
+Command delete-managed-thread-factory executed successfully.
+----
+
+[[sthref872]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref873]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-managed-thread-factory.html#create-managed-thread-factory-1[`create-managed-thread-factory`(1)],
+link:list-managed-thread-factories.html#list-managed-thread-factories-1[`list-managed-thread-factories`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-message-security-provider.adoc b/docs/reference-manual/src/main/asciidoc/delete-message-security-provider.adoc
new file mode 100644
index 0000000..6631aec
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-message-security-provider.adoc
@@ -0,0 +1,124 @@
+type=page
+status=published
+title=delete-message-security-provider
+next=delete-module-config.html
+prev=delete-managed-thread-factory.html
+~~~~~~
+
+= delete-message-security-provider
+
+[[delete-message-security-provider-1]][[GSRFM00097]][[delete-message-security-provider]]
+
+== delete-message-security-provider
+
+Enables administrators to delete a message security provider
+
+[[sthref874]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-message-security-provider [--help]
+[--target target]
+--layer message_layer
+provider_name
+----
+
+[[sthref875]]
+
+=== Description
+
+The `delete-message-security-provider` subcommand enables administrators
+to delete a message security provider.
+
+In terms of what happens when this subcommand is run, the
+`provider-config` sub-element for the given message layer
+(`message-security-config` element of `domain.xml` is deleted. The
+`domain.xml` file specifies parameters and properties to the
+{productName}). The options specified in the list below apply to
+attributes within the `message-security-config` and `provider-config`
+sub-elements of the `domain.xml` file.
+
+If the message-layer (`message-security-config` attribute) does not
+exist, it is created, and then the `provider-config` is created under
+it.
+
+This command is supported in remote mode only.
+
+[[sthref876]]
+
+=== Options
+
+If an option has a short option name, then the short option precedes the
+long option name. Short options have one dash whereas long options have
+two dashes.
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are deleting the message security
+  provider. Valid values are
+
+  `server`;;
+    Deletes the message security provider from the default server
+    instance `server` and is the default value
+  `domain`;;
+    Deletes the message security provider from the domain.
+  cluster_name;;
+    Deletes the message security provider from every server instance in the cluster.
+  instance_name;;
+    Deletes the message security provider from a particular sever instance.
+
+`--layer`::
+  The message-layer from which the provider has to be deleted. The
+  default value is `HttpServlet`.
+
+[[sthref877]]
+
+=== Operands
+
+provider_name::
+  The name of the provider used to reference the `provider-config`
+  element.
+
+[[sthref878]]
+
+=== Examples
+
+[[GSRFM566]][[sthref879]]
+
+==== Example 1   Deleting a message security provider
+
+The following example shows how to delete a message security provider
+for a client.
+
+[source]
+----
+asadmin> delete-message-security-provider
+--layer SOAP mySecurityProvider
+----
+
+[[sthref880]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref881]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-message-security-provider.html#create-message-security-provider-1[`create-message-security-provider`(1)],
+link:list-message-security-providers.html#list-message-security-providers-1[`list-message-security-providers`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-module-config.adoc b/docs/reference-manual/src/main/asciidoc/delete-module-config.adoc
new file mode 100644
index 0000000..79edbbf
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-module-config.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=delete-module-config
+next=delete-network-listener.html
+prev=delete-message-security-provider.html
+~~~~~~
+
+= delete-module-config
+
+[[delete-module-config-1]][[GSRFM854]][[delete-module-config]]
+
+== delete-module-config
+
+Removes the configuration of a module from `domain.xml`
+
+[[sthref882]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-module-config [--help]
+[--target target]
+service_name
+----
+
+[[sthref883]]
+
+=== Description
+
+The `delete-module-config` subcommand removes the configuration of a
+module from `domain.xml` and causes the module to use the default
+configuration included in the module.
+
+This subcommand is supported in remote mode only.
+
+[[sthref884]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which the configuration is to be deleted.
+  Possible values are as follows:
+
+  `server`;;
+    Deletes the configuration from the default server instance. This is
+    the default value.
+  `domain`;;
+    Deletes the configuration from the default domain.
+  cluster-name;;
+    Deletes the configuration from every server instance in the
+    specified cluster.
+  instance-name;;
+    Deletes the configuration from the specified instance.
+
+[[sthref885]]
+
+=== Operands
+
+service_name::
+  The name of the module for which configuration is to be removed.
+
+[[sthref886]]
+
+=== Examples
+
+[[GSRFM855]][[sthref887]]
+
+==== Example 1   Deleting a Default 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.
+----
+
+[[sthref888]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref889]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-module-config.html#create-module-config-1[`create-module-config`(1)],
+link:get-active-module-config.html#get-active-module-config-1[`get-active-module-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-network-listener.adoc b/docs/reference-manual/src/main/asciidoc/delete-network-listener.adoc
new file mode 100644
index 0000000..593cec9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-network-listener.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=delete-network-listener
+next=delete-node-config.html
+prev=delete-module-config.html
+~~~~~~
+
+= delete-network-listener
+
+[[delete-network-listener-1]][[GSRFM00098]][[delete-network-listener]]
+
+== delete-network-listener
+
+Removes a network listener
+
+[[sthref890]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-network-listener [--help]
+[--target target]
+listener-name
+----
+
+[[sthref891]]
+
+=== Description
+
+The `delete-network-listener` subcommand removes the specified network
+listener. This subcommand is supported in remote mode only.
+
+[[sthref892]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the network listener only from the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Deletes the network listener from the default server instance. This
+    is the default value.
+  configuration-name;;
+    Deletes the network listener from the specified configuration.
+  cluster-name;;
+    Deletes the network listener from all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Deletes the network listener from the specified standalone server
+    instance.
+
+[[sthref893]]
+
+=== Operands
+
+listener-name::
+  The name of the network listener to be deleted.
+
+[[sthref894]]
+
+=== Examples
+
+[[GSRFM567]][[sthref895]]
+
+==== Example 1   Deleting a Network Listener
+
+The following command deletes the network listener named
+`sampleListener`:
+
+[source]
+----
+asadmin> delete-network-listener sampleListener
+Command delete-network-listener executed successfully.
+----
+
+[[sthref896]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref897]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
+link:list-network-listeners.html#list-network-listeners-1[`list-network-listeners`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-node-config.adoc b/docs/reference-manual/src/main/asciidoc/delete-node-config.adoc
new file mode 100644
index 0000000..d7df10b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-node-config.adoc
@@ -0,0 +1,133 @@
+type=page
+status=published
+title=delete-node-config
+next=delete-node-dcom.html
+prev=delete-network-listener.html
+~~~~~~
+
+= delete-node-config
+
+[[delete-node-config-1]][[GSRFM00099]][[delete-node-config]]
+
+== delete-node-config
+
+Deletes a node that is not enabled for remote communication
+
+[[sthref898]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-node-config [--help]
+node-name
+----
+
+[[sthref899]]
+
+=== Description
+
+The `delete-node-config` subcommand deletes a node that is not enabled
+for remote communication from the domain. This subcommand does not
+require the Distributed Component Object Model (DCOM) remote protocol or
+secure shell (SSH) to be configured.
+
+This subcommand can delete only a node that is not enabled for remote
+communication.
+The subcommand for deleting other types of nodes depends
+on the type of the node:
+
+* A node that is enabled for remote communication over DCOM must be
+  deleted by using the
+  link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)] subcommand.
+
+* A node that is enabled for remote communication over SSH must be
+  deleted by using the
+  link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)] subcommand.
+
+To determine whether a node is enabled for remote communication, use the
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+
+No {productName} instances must reside on the node that is being deleted.
+Otherwise, the subcommand fails. Before running this
+subcommand, delete any instances that reside on the node by using, for
+example, the link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
+subcommand or the
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)] subcommand.
+
+[NOTE]
+====
+The predefined node ``localhost-``domain cannot be deleted.
+====
+
+This subcommand is supported in remote mode only.
+
+[[sthref900]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref901]]
+
+=== Operands
+
+node-name::
+  The name of the node to delete. The node must not be enabled for
+  communication over DCOM or SSH. Otherwise, an error occurs.
+
+[[sthref902]]
+
+=== Examples
+
+[[GSRFM568]][[sthref903]]
+
+==== Example 1   Deleting a Node That Is Not Enabled for Remote Communication
+
+This example deletes the node `sj03`, which is not enabled for remote
+communication.
+
+[source]
+----
+asadmin> delete-node-config sj03
+
+Command delete-node-config executed successfully.
+----
+
+[[sthref904]]
+
+=== Exit Status
+
+`0`::
+  command executed successfully
+`1`::
+  error in executing the command
+
+[[sthref905]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
+link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-node-dcom.adoc b/docs/reference-manual/src/main/asciidoc/delete-node-dcom.adoc
new file mode 100644
index 0000000..8056baf
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-node-dcom.adoc
@@ -0,0 +1,153 @@
+type=page
+status=published
+title=delete-node-dcom
+next=delete-node-ssh.html
+prev=delete-node-config.html
+~~~~~~
+
+= delete-node-dcom
+
+[[delete-node-dcom-1]][[GSRFM569]][[delete-node-dcom]]
+
+== delete-node-dcom
+
+Deletes a node that is enabled for communication over DCOM
+
+[[sthref906]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-node-dcom [--help]
+[--uninstall={false|true}] [--force={false|true}]
+node-name
+----
+
+[[sthref907]]
+
+=== Description
+
+The `delete-node-dcom` subcommand deletes a node that is enabled for
+communication over the Distributed Component Object Model (DCOM) remote
+protocol from the domain. The DCOM protocol is available only on Windows
+systems. This subcommand does not require DCOM to be configured.
+
+This subcommand can delete only a node that is enabled for communication
+over DCOM. The subcommand for deleting other types of nodes depends on
+the type of the node:
+
+* A node that is enabled for communication over secure shell (SSH) must
+be deleted by using the
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)] subcommand.
+* A node that is not enabled for communication must be deleted by using the
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)] subcommand.
+
+To determine whether a node is enabled for communication over DCOM, use
+the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+
+No {productName} instances must reside on the node that is being
+deleted. Otherwise, the subcommand fails. Before running this
+subcommand, delete any instances that reside on the node by using, for
+example, the
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
+subcommand or the
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)] subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref908]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--uninstall`::
+  Specifies whether the {productName} software is uninstalled from
+  host that the node represents. Possible values are as follows:
+
+  `false`;;
+    The {productName} software is not uninstalled from the host
+    (default).
+  `true`;;
+    The {productName} software is uninstalled from the host. By
+    default, if any node except the predefined node ``localhost-``domain
+    resides on any host from which {productName} software is being
+    uninstalled, the subcommand fails. +
+    To uninstall the {productName} software from a host on which
+    user-defined nodes reside, set the `--force` option to `true`. +
+    If the `--force` option is `true`, the subcommand removes
+    the entire content of the parent of the base installation directory.
+
+`--force`::
+  If `--uninstall` is true, specifies whether the subcommand uninstalls
+  the {productName} software from a host even if a user-defined node
+  resides on the host. Possible values are as follows:
+
+  `false`;;
+    If a user-defined node resides on a host, the software is not
+    uninstalled and the subcommand fails (default). +
+    If the `--force` option is `false`, the subcommand removes only the
+    {productName} software files. Other content if the parent of the
+    base installation directory, such as configuration files, are not removed.
+  `true`;;
+    The subcommand uninstalls the {productName} software from the
+    host even if a user-defined node resides on the host. +
+    If the `--force` option is `true`, the subcommand removes the entire
+    content of the parent of the base installation directory.
+
+[[sthref909]]
+
+=== Operands
+
+node-name::
+  The name of the node to delete. The node must enabled for
+  communication over DCOM. Otherwise, an error occurs.
+
+[[sthref910]]
+
+=== Examples
+
+[[GSRFM570]][[sthref911]]
+
+==== Example 1   Deleting a Node That Is Enabled for Communication Over DCOM
+
+This example deletes the node `xkyd`, which is enabled for communication
+over DCOM.
+
+[source]
+----
+asadmin> delete-node-dcom xkyd
+Command delete-node-dcom executed successfully.
+----
+
+[[sthref912]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref913]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-node-ssh.adoc b/docs/reference-manual/src/main/asciidoc/delete-node-ssh.adoc
new file mode 100644
index 0000000..e9c3020
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-node-ssh.adoc
@@ -0,0 +1,161 @@
+type=page
+status=published
+title=delete-node-ssh
+next=delete-password-alias.html
+prev=delete-node-dcom.html
+~~~~~~
+
+= delete-node-ssh
+
+[[delete-node-ssh-1]][[GSRFM00100]][[delete-node-ssh]]
+
+== delete-node-ssh
+
+Deletes a node that is enabled for communication over SSH
+
+[[sthref914]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-node-ssh [--help]
+[--uninstall={false|true}] [--force={false|true}]
+node-name
+----
+
+[[sthref915]]
+
+=== Description
+
+The `delete-node-ssh` subcommand deletes a node that is enabled for
+communication over secure shell (SSH) from the domain. This subcommand
+does not require SSH to be configured.
+
+This subcommand can delete only a node that is enabled for communication
+over SSH. The subcommand for deleting other types of nodes depends on
+the type of the node:
+
+* A node that is enabled for communication over the Distributed
+Component Object Model (DCOM) remote protocol must be deleted by using
+the link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)]
+subcommand.
+* A node that is not enabled for remote communication must be deleted by
+using the
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)]
+subcommand.
+
+To determine whether a node is enabled for communication over SSH, use
+the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+
+No {productName} instances must reside on the node that is being
+deleted. Otherwise, the subcommand fails. Before running this
+subcommand, delete any instances that reside on the node by using, for
+example, the
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
+subcommand or the
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
+subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref916]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--uninstall`::
+  Specifies whether the {productName} software is uninstalled from
+  host that the node represents. Possible values are as follows:
+
+  `false`;;
+    The {productName} software is not uninstalled from the host (default).
+  `true`;;
+    The {productName} software is uninstalled from the host. By
+    default, if any node except the predefined node ``localhost-``domain
+    resides on any host from which {productName} software is being
+    uninstalled, the subcommand fails. To uninstall the
+    {productName} software from a host on which user-defined nodes
+    reside, set the `--force` option to `true`. If the `--force` option
+    is `true`, the subcommand removes the entire content of the parent
+    of the base installation directory.
+
+`--force`::
+  If `--uninstall` is true, specifies whether the subcommand uninstalls
+  the {productName} software from a host even if a user-defined node
+  resides on the host. Possible values are as follows:
+
+  `false`;;
+    If a user-defined node resides on a host, the software is not
+    uninstalled and the subcommand fails (default). +
+    If the `--force` option is `false`, the subcommand removes only the
+    {productName} software files. Other content if the parent of the
+    base installation directory, such as configuration files, are not removed.
+  `true`;;
+    The subcommand uninstalls the {productName} software from the
+    host even if a user-defined node resides on the host. +
+    If the `--force` option is `true`, the subcommand removes the entire
+    content of the parent of the base installation directory.
+
+[[sthref917]]
+
+=== Operands
+
+node-name::
+  The name of the node to delete. The node must enabled for
+  communication over SSH. Otherwise, an error occurs.
+
+[[sthref918]]
+
+=== Examples
+
+[[GSRFM571]][[sthref919]]
+
+==== Example 1   Deleting a Node That Is Enabled for Communication Over SSH
+
+This example deletes the node `eg1`, which is enabled for communication
+over SSH.
+
+[source]
+----
+asadmin> delete-node-ssh eg1
+Command delete-node-ssh executed successfully.
+----
+
+[[sthref920]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref921]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-password-alias.adoc b/docs/reference-manual/src/main/asciidoc/delete-password-alias.adoc
new file mode 100644
index 0000000..ee75600
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-password-alias.adoc
@@ -0,0 +1,86 @@
+type=page
+status=published
+title=delete-password-alias
+next=delete-profiler.html
+prev=delete-node-ssh.html
+~~~~~~
+
+= delete-password-alias
+
+[[delete-password-alias-1]][[GSRFM00101]][[delete-password-alias]]
+
+== delete-password-alias
+
+Deletes a password alias
+
+[[sthref922]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-password-alias [--help]
+aliasname
+----
+
+[[sthref923]]
+
+=== Description
+
+This subcommand deletes a password alias.
+
+[[sthref924]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref925]]
+
+=== Operands
+
+aliasname::
+  This is the name of the substitute password as it appears in
+  `domain.xml`.
+
+[[sthref926]]
+
+=== Examples
+
+[[GSRFM572]][[sthref927]]
+
+==== Example 1   Deleting a Password Alias
+
+[source]
+----
+asadmin>delete-password-alias
+jmspassword-alias
+----
+
+Command delete-password-alias executed successfully
+
+[[sthref928]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref929]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
+link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
+link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-profiler.adoc b/docs/reference-manual/src/main/asciidoc/delete-profiler.adoc
new file mode 100644
index 0000000..a220eb2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-profiler.adoc
@@ -0,0 +1,97 @@
+type=page
+status=published
+title=delete-profiler
+next=delete-protocol.html
+prev=delete-password-alias.html
+~~~~~~
+
+= delete-profiler
+
+[[delete-profiler-1]][[GSRFM00102]][[delete-profiler]]
+
+== delete-profiler
+
+Removes the profiler element
+
+[[sthref930]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-profiler [--help]
+[--target target_name]
+----
+
+[[sthref931]]
+
+=== Description
+
+The `delete-profiler` subcommand deletes the profiler element in the
+Java configuration. Only one profiler can exist at a time. If you
+attempt to create a profiler while one already exists, an error message
+is displayed and the existing profiler must be deleted.
+
+For changes to take effect, the server must restarted.
+
+This command is supported in remote mode only.
+
+[[sthref932]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target profiler element which you are
+  deleting. Valid values are
+
+  `server`;;
+    Deletes the profiler element for the default server instance
+    `server` and is the default value.
+  configuration_name;;
+    Deletes the profiler element for the named configuration.
+  cluster_name;;
+    Deletes the profiler element for every server instance in the
+    cluster.
+  instance_name;;
+    Deletes the profiler element for a particular server instance.
+
+[[sthref933]]
+
+=== Examples
+
+[[GSRFM573]][[sthref934]]
+
+==== Example 1   Deleting a Profile
+
+This example deletes the profiler named `sample_profiler`.
+
+[source]
+----
+asadmin> delete-profiler sample_profiler
+Command delete-profiler executed successfully
+----
+
+[[sthref935]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref936]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-profiler.html#create-profiler-1[`create-profiler`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-protocol-filter.adoc b/docs/reference-manual/src/main/asciidoc/delete-protocol-filter.adoc
new file mode 100644
index 0000000..ef11c25
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-protocol-filter.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=delete-protocol-filter
+next=delete-protocol-finder.html
+prev=delete-protocol.html
+~~~~~~
+
+= delete-protocol-filter
+
+[[delete-protocol-filter-1]][[GSRFM00104]][[delete-protocol-filter]]
+
+== delete-protocol-filter
+
+Removes a protocol filter
+
+[[sthref945]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-protocol-filter [--help]
+--protocol protocol-name
+[--target server]
+protocol-filter-name
+----
+
+[[sthref946]]
+
+=== Description
+
+The `delete-protocol-filter` subcommand removes the specified protocol
+filter. This subcommand is supported in remote mode only.
+
+[[sthref947]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--protocol-name`::
+  The name of the associated protocol.
+`--target`::
+  Deletes the protocol filter only from the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Deletes the protocol filter from the default server instance. This
+    is the default value.
+  configuration-name;;
+    Deletes the protocol filter from the specified configuration.
+  cluster-name;;
+    Deletes the protocol filter from all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Deletes the protocol filter from the specified standalone server
+    instance.
+
+[[sthref948]]
+
+=== Operands
+
+protocol-filter-name::
+  The name of the protocol filter to be deleted.
+
+[[sthref949]]
+
+=== Examples
+
+[[GSRFM575]][[sthref950]]
+
+==== Example 1   Deleting a Protocol Filter
+
+The following command deletes the protocol filter named `http1-filter`:
+
+[source]
+----
+asadmin> delete-protocol-filter --protocol http1 http1-filter
+Command delete-protocol-filter executed successfully.
+----
+
+[[sthref951]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref952]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-protocol-filter.html#create-protocol-filter-1[`create-protocol-filter`(1)],
+link:list-protocol-filters.html#list-protocol-filters-1[`list-protocol-filters`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-protocol-finder.adoc b/docs/reference-manual/src/main/asciidoc/delete-protocol-finder.adoc
new file mode 100644
index 0000000..48ecb61
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-protocol-finder.adoc
@@ -0,0 +1,88 @@
+type=page
+status=published
+title=delete-protocol-finder
+next=delete-resource-adapter-config.html
+prev=delete-protocol-filter.html
+~~~~~~
+
+= delete-protocol-finder
+
+[[delete-protocol-finder-1]][[GSRFM00105]][[delete-protocol-finder]]
+
+== delete-protocol-finder
+
+Removes a protocol finder
+
+[[sthref953]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-protocol-finder [--help]
+--protocol protocol-name
+[--target server]
+protocol-finder-name
+----
+
+[[sthref954]]
+
+=== Description
+
+The `delete-protocol-finder` subcommand removes the specified protocol
+finder. This subcommand is supported in remote mode only.
+
+[[sthref955]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--protocol-name`::
+  The name of the associated protocol.
+`--target`::
+  Deletes the protocol finder only from the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Deletes the protocol finder from the default server instance. This
+    is the default value.
+  configuration-name;;
+    Deletes the protocol finder from the specified configuration.
+  cluster-name;;
+    Deletes the protocol finder from all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Deletes the protocol finder from the specified standalone server
+    instance.
+
+[[sthref956]]
+
+=== Operands
+
+protocol-finder-name::
+  The name of the protocol finder to be deleted.
+
+[[sthref957]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref958]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-protocol-finder.html#create-protocol-finder-1[`create-protocol-finder`(1)],
+link:list-protocol-finders.html#list-protocol-finders-1[`list-protocol-finders`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-protocol.adoc b/docs/reference-manual/src/main/asciidoc/delete-protocol.adoc
new file mode 100644
index 0000000..e429423
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-protocol.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=delete-protocol
+next=delete-protocol-filter.html
+prev=delete-profiler.html
+~~~~~~
+
+= delete-protocol
+
+[[delete-protocol-1]][[GSRFM00103]][[delete-protocol]]
+
+== delete-protocol
+
+Removes a protocol
+
+[[sthref937]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-protocol [--help]
+[--target target]
+protocol-name
+----
+
+[[sthref938]]
+
+=== Description
+
+The `delete-protocol` subcommand removes the specified protocol. This
+subcommand is supported in remote mode only.
+
+[[sthref939]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the protocol only from the specified target. Valid values are
+  as follows:
+
+  `server`;;
+    Deletes the protocol from the default server instance. This is the
+    default value.
+  configuration-name;;
+    Deletes the protocol from the specified configuration.
+  cluster-name;;
+    Deletes the protocol from all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Deletes the protocol from the specified standalone server instance.
+
+[[sthref940]]
+
+=== Operands
+
+protocol-name::
+  The name of the protocol to be deleted.
+
+[[sthref941]]
+
+=== Examples
+
+[[GSRFM574]][[sthref942]]
+
+==== Example 1   Deleting a Protocol
+
+The following command deletes the protocol named `http-1`:
+
+[source]
+----
+asadmin> delete-protocol http-1
+Command delete-protocol executed successfully.
+----
+
+[[sthref943]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref944]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
+link:list-protocols.html#list-protocols-1[`list-protocols`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-resource-adapter-config.adoc b/docs/reference-manual/src/main/asciidoc/delete-resource-adapter-config.adoc
new file mode 100644
index 0000000..c48da2a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-resource-adapter-config.adoc
@@ -0,0 +1,89 @@
+type=page
+status=published
+title=delete-resource-adapter-config
+next=delete-resource-ref.html
+prev=delete-protocol-finder.html
+~~~~~~
+
+= delete-resource-adapter-config
+
+[[delete-resource-adapter-config-1]][[GSRFM00106]][[delete-resource-adapter-config]]
+
+== delete-resource-adapter-config
+
+Deletes the resource adapter configuration
+
+[[sthref959]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-resource-adapter-config [--help]
+raname
+----
+
+[[sthref960]]
+
+=== Description
+
+The `delete-resource-adapter-config` subcommand deletes the
+configuration information for the connector module.
+
+This command is supported in remote mode only.
+
+[[sthref961]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option is deprecated.
+
+[[sthref962]]
+
+=== Operands
+
+raname::
+  Specifies the connector module name.
+
+[[sthref963]]
+
+=== Examples
+
+[[GSRFM576]][[sthref964]]
+
+==== Example 1   Deleting a Resource Adapter Configuration
+
+This example deletes the configuration information for `ra1`.
+
+[source]
+----
+asadmin> delete-resource-adapter-config ra1
+Command delete-resource-adapter-config executed successfully
+----
+
+[[sthref965]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref966]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-resource-adapter-config.html#create-resource-adapter-config-1[`create-resource-adapter-config`(1)],
+link:list-resource-adapter-configs.html#list-resource-adapter-configs-1[`list-resource-adapter-configs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-resource-ref.adoc b/docs/reference-manual/src/main/asciidoc/delete-resource-ref.adoc
new file mode 100644
index 0000000..99004c3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-resource-ref.adoc
@@ -0,0 +1,113 @@
+type=page
+status=published
+title=delete-resource-ref
+next=delete-ssl.html
+prev=delete-resource-adapter-config.html
+~~~~~~
+
+= delete-resource-ref
+
+[[delete-resource-ref-1]][[GSRFM00107]][[delete-resource-ref]]
+
+== delete-resource-ref
+
+Removes a reference to a resource
+
+[[sthref967]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-resource-ref [--help]
+[--target target] reference_name
+----
+
+[[sthref968]]
+
+=== Description
+
+The `delete-resource-ref` subcommand removes from a cluster or an
+unclustered server instance a reference to a resource (for example, a
+JDBC resource). This effectively results in the removal of the resource
+from the JNDI tree of the targeted instance or cluster.
+
+The target instance or instances making up the cluster need not be
+running or available for this subcommand to succeed. If one or more
+instances are not available, they will no longer load the resource in
+the JNDI tree the next time they start.
+
+Removal of the reference does not result in removal of the resource from
+the domain. The resource is removed only by the `delete` subcommand for
+that resource (for example, `delete-jdbc-resource`).
+
+This subcommand is supported in remote mode only.
+
+[[sthref969]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target from which you are removing the resource
+  reference. Valid values are
+
+  `server`;;
+    Removes the resource reference from the default server instance
+    `server` and is the default value.
+  cluster_name;;
+    Removes the resource reference from every server instance in the
+    cluster.
+  instance_name;;
+    Removes the resource reference from the named unclustered server
+    instance.
+
+[[sthref970]]
+
+=== Operands
+
+reference_name::
+  The name or JNDI name of the resource.
+
+[[sthref971]]
+
+=== Examples
+
+[[GSRFM577]][[sthref972]]
+
+==== Example 1   Removing a Reference to a Resource
+
+This example removes a reference to the JMS destination resource
+`jms/Topic` on the cluster `cluster1`.
+
+[source]
+----
+asadmin> delete-resource-ref --target cluster1 jms/Topic
+resource-ref jms/Topic deleted successfully.
+Command delete-resource-ref executed successfully.
+----
+
+[[sthref973]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref974]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
+link:list-resource-refs.html#list-resource-refs-1[`list-resource-refs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-ssl.adoc b/docs/reference-manual/src/main/asciidoc/delete-ssl.adoc
new file mode 100644
index 0000000..bd71904
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-ssl.adoc
@@ -0,0 +1,124 @@
+type=page
+status=published
+title=delete-ssl
+next=delete-system-property.html
+prev=delete-resource-ref.html
+~~~~~~
+
+= delete-ssl
+
+[[delete-ssl-1]][[GSRFM00109]][[delete-ssl]]
+
+== delete-ssl
+
+Deletes the SSL element in the selected HTTP listener, IIOP listener, or
+IIOP service
+
+[[sthref975]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-ssl [--help]
+[--target target]
+--type listener_or_service_type
+listener_id
+----
+
+[[sthref976]]
+
+=== Description
+
+The `delete-ssl` subcommand deletes the SSL element in the selected HTTP
+listener, IIOP listener, or IIOP service.
+
+The listener_id is not required if the `--type` is `iiop-service`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref977]]
+
+=== Options
+
+If an option has a short option name, then the short option precedes the
+long option name. Short options have one dash whereas long options have
+two dashes.
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which you are configuring the ssl element. The
+  following values are valid:
+
+  `server`;;
+    Specifies the server in which the iiop-service or HTTP/IIOP listener
+    is to be unconfigured for SSL.
+  config;;
+    Specifies the configuration that contains the HTTP/IIOP listener or
+    iiop-service for which SSL is to be unconfigured.
+  cluster;;
+    Specifies the cluster in which the HTTP/IIOP listener or
+    iiop-service is to be unconfigured for SSL. All the server instances
+    in the cluster will get SSL unconfigured for the respective listener
+    or iiop-service.
+  instance;;
+    Specifies the instance in which the HTTP/IIOP listener or
+    iiop-service is to be unconfigured for SSL.
+
+`--type`::
+  The type of service or listener for which the SSL is deleted. The type
+  must be one of the following types:
+
+  * `http-listener`
+  * `iiop-listener`
+  * `iiop-service`
+
+[[sthref978]]
+
+=== Operands
+
+listener_id::
+  The ID of the listener from which the SSL element is to be deleted. +
+  The listener_id operand is not required if the `--type` is `iiop-service`.
+
+[[sthref979]]
+
+=== Examples
+
+[[GSRFM579]][[sthref980]]
+
+==== Example 1   Deleting an SSL element from an HTTP listener
+
+The following example shows how to delete an SSL element from an HTTP
+listener named `http-listener-1`.
+
+[source]
+----
+asadmin> delete-ssl
+--type http-listener http-listener-1
+Command delete-ssl executed successfully.
+----
+
+[[sthref981]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref982]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-ssl.html#create-ssl-1[`create-ssl`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-system-property.adoc b/docs/reference-manual/src/main/asciidoc/delete-system-property.adoc
new file mode 100644
index 0000000..ff68a3b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-system-property.adoc
@@ -0,0 +1,95 @@
+type=page
+status=published
+title=delete-system-property
+next=delete-threadpool.html
+prev=delete-ssl.html
+~~~~~~
+
+= delete-system-property
+
+[[delete-system-property-1]][[GSRFM00110]][[delete-system-property]]
+
+== delete-system-property
+
+Removes a system property of the domain, configuration, cluster, or
+server instance, one at a time
+
+[[sthref983]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-system-property [--help]
+[--target target_name ]
+[property_name]
+----
+
+[[sthref984]]
+
+=== Description
+
+The `delete-system-property` subcommand deletes a system property of a
+domain, configuration, cluster, or server instance. Make sure that the
+system property is not referenced elsewhere in the configuration before
+deleting it.
+
+This subcommand is supported in remote mode only.
+
+[[sthref985]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are deleting the system
+  properties. The valid targets for this subcommand are instance,
+  cluster, configuration, domain, and server. Server is the default option.
+
+[[sthref986]]
+
+=== Operands
+
+property_name::
+  The name of the system property to remove.
+
+[[sthref987]]
+
+=== Examples
+
+[[GSRFM580]][[sthref988]]
+
+==== Example 1   Deleting a System Property
+
+This example deletes the system property named `http-listener-port`.
+
+[source]
+----
+asadmin> delete-system-property http-listener-port
+Command delete-system-property executed successfully.
+----
+
+[[sthref989]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref990]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
+link:list-system-properties.html#list-system-properties-1[`list-system-properties`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-threadpool.adoc b/docs/reference-manual/src/main/asciidoc/delete-threadpool.adoc
new file mode 100644
index 0000000..b512bed
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-threadpool.adoc
@@ -0,0 +1,99 @@
+type=page
+status=published
+title=delete-threadpool
+next=delete-transport.html
+prev=delete-system-property.html
+~~~~~~
+
+= delete-threadpool
+
+[[delete-threadpool-1]][[GSRFM00111]][[delete-threadpool]]
+
+== delete-threadpool
+
+Removes a thread pool
+
+[[sthref991]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-threadpool [--help]
+[--target target] threadpool-id
+----
+
+[[sthref992]]
+
+=== Description
+
+Removes the thread pool with the specified ID. This subcommand is
+supported in remote mode only.
+
+[[sthref993]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target from which you are removing the
+  thread pool. Valid values are as follows:
+
+  `server`;;
+    Deletes the thread pool for the default {productName} instance
+    `server` and is the default value.
+  configuration-name;;
+    Deletes the thread pool for the named configuration.
+  cluster-name;;
+    Deletes the thread pool for every instance in the cluster.
+  instance-name;;
+    Deletes the thread pool for a particular instance.
+
+[[sthref994]]
+
+=== Operands
+
+threadpool-id::
+  An ID for the work queue, for example, `thread-pool1`, `threadpool-2`,
+  and so forth.
+
+[[sthref995]]
+
+=== Examples
+
+[[GSRFM581]][[sthref996]]
+
+==== Example 1   Deleting a Thread Pool
+
+This example deletes `threadpool-l`.
+
+[source]
+----
+asadmin> delete-threadpool threadpool-1
+Command delete-threadpool executed successfully
+----
+
+[[sthref997]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref998]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
+link:list-threadpools.html#list-threadpools-1[`list-threadpools`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-transport.adoc b/docs/reference-manual/src/main/asciidoc/delete-transport.adoc
new file mode 100644
index 0000000..c0ce1c7
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-transport.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=delete-transport
+next=delete-virtual-server.html
+prev=delete-threadpool.html
+~~~~~~
+
+= delete-transport
+
+[[delete-transport-1]][[GSRFM00112]][[delete-transport]]
+
+== delete-transport
+
+Removes a transport
+
+[[sthref999]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-transport [--help]
+[--target target]
+transport-name
+----
+
+[[sthref1000]]
+
+=== Description
+
+The `delete-transport` subcommand removes the specified transport. This
+subcommand is supported in remote mode only.
+
+[[sthref1001]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the transport only from the specified target. Valid values are
+  as follows:
+
+  `server`;;
+    Deletes the transport from the default server instance. This is the
+    default value.
+  configuration-name;;
+    Deletes the transport from the specified configuration.
+  cluster-name;;
+    Deletes the transport from all server instances in the specified
+    cluster.
+  standalone-instance-name;;
+    Deletes the transport from the specified standalone server instance.
+
+[[sthref1002]]
+
+=== Operands
+
+transport-name::
+  The name of the transport to be deleted.
+
+[[sthref1003]]
+
+=== Examples
+
+[[GSRFM582]][[sthref1004]]
+
+==== Example 1   Deleting a Transport
+
+The following command deletes the transport named `http1-trans`:
+
+[source]
+----
+asadmin> delete-transport http1-trans
+Command delete-transport executed successfully.
+----
+
+[[sthref1005]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1006]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-transport.html#create-transport-1[`create-transport`(1)],
+link:list-transports.html#list-transports-1[`list-transports`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/delete-virtual-server.adoc b/docs/reference-manual/src/main/asciidoc/delete-virtual-server.adoc
new file mode 100644
index 0000000..62d6d5d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/delete-virtual-server.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=delete-virtual-server
+next=deploy.html
+prev=delete-transport.html
+~~~~~~
+
+= delete-virtual-server
+
+[[delete-virtual-server-1]][[GSRFM00113]][[delete-virtual-server]]
+
+== delete-virtual-server
+
+Removes a virtual server
+
+[[sthref1007]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] delete-virtual-server [--help]
+[--target target] virtual-server-id
+----
+
+[[sthref1008]]
+
+=== Description
+
+The `delete-virtual-server` subcommand removes the virtual server with
+the specified virtual server ID. This subcommand is supported in remote
+mode only.
+
+[[sthref1009]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Deletes the virtual server only from the specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Deletes the virtual server from the default server instance. This is
+    the default value.
+  configuration-name;;
+    Deletes the virtual server from the specified configuration.
+  cluster-name;;
+    Deletes the virtual server from all server instances in the
+    specified cluster.
+  standalone-instance-name;;
+    Deletes the virtual server from the specified standalone server
+    instance.
+
+[[sthref1010]]
+
+=== Operands
+
+virtual-server-id::
+  The unique identifier for the virtual server to be deleted.
+
+[[sthref1011]]
+
+=== Examples
+
+[[GSRFM583]][[sthref1012]]
+
+==== Example 1   Deleting a Virtual Server
+
+The following command deletes the virtual server named `sample_vs1`:
+
+[source]
+----
+asadmin> delete-virtual-server sample_vs1
+Command delete-virtual-server executed successfully.
+----
+
+[[sthref1013]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1014]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
+link:list-virtual-servers.html#list-virtual-servers-1[`list-virtual-servers`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/deploy.adoc b/docs/reference-manual/src/main/asciidoc/deploy.adoc
new file mode 100644
index 0000000..849d1e1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/deploy.adoc
@@ -0,0 +1,594 @@
+type=page
+status=published
+title=deploy
+next=deploydir.html
+prev=delete-virtual-server.html
+~~~~~~
+
+= deploy
+
+[[deploy-1]][[GSRFM00114]][[deploy]]
+
+== deploy
+
+Deploys the specified component
+
+[[sthref1015]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] deploy [--help]
+[--force={false|true}]
+[--virtualservers virtual_servers]
+[--contextroot context_root]
+[--precompilejsp={false|true}]
+[--verify={false|true}]
+[--name component_name]
+[--upload={true|false}]
+[--retrieve local_dirpath]
+[--dbvendorname dbvendorname]
+[--createtables={true|false}|--dropandcreatetables={true|false}]
+[--uniquetablenames={true|false}]
+[--deploymentplan deployment_plan]
+[--altdd alternate_deploymentdescriptor]
+[--runtimealtdd runtime_alternate_deploymentdescriptor]
+[--deploymentorder deployment_order]
+[--enabled={true|false}]
+[--generatermistubs={false|true}]
+[--availabilityenabled={false|true}]
+[--asyncreplication={true|false}]
+[--lbenabled={true|false}]
+[--keepstate={false|true}]
+[--libraries jar_file[,jar_file]*]
+[--target target]
+[--type pkg-type]
+[--properties(name=value)[:name=value]*]
+[file_archive|filepath]
+----
+
+[[sthref1016]]
+
+=== Description
+
+The `deploy` subcommand deploys applications to the server. Applications
+can be enterprise applications, web applications, Enterprise JavaBeans
+(EJB) modules, connector modules, and application client modules.
+If the component is already deployed or already exists, it is forcibly
+redeployed if the `--force` option is set to `true` (default is `false`).
+
+The `--createtables` and `--dropandcreatetables` options are boolean
+flags and therefore can take the values of true or false. These options
+are only used during deployment of CMP beans that have not been mapped
+to a database (that is, no `sun-cmp-mappings.xml` descriptor is provided
+in the module's `META-INF` directory). They are ignored otherwise.
+
+The `--createtables` and `--dropandcreatetables` options are mutually
+exclusive; only one should be used. If drop and/or create tables fails,
+the deployment does not fail; a warning message is provided in the log file.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1017]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--force`::
+  If set to `true`, redeploys the component even if the specified
+  component has already been deployed or already exists. Default is
+  `false`.
+`--virtualservers`::
+  One or more virtual server IDs. Multiple IDs are separated by commas.
+`--contextroot`::
+  Valid only if the archive is a web module. It is ignored for other
+  archive types; it will be the value specified by default-context-path
+  in web.xml, if specified; defaults to filename without extension.
+`--precompilejsp`::
+  By default this option does not allow the JSP to be precompiled during
+  deployment. Instead, JSPs are compiled during runtime. Default is
+  `false`.
+`--verify`::
+  If set to true and the required verifier packages are installed from
+  the Update Tool, the syntax and semantics of the deployment descriptor
+  is verified. Default is `false`.
+`--name`::
+  Name of the deployable component. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. For more information about module and application
+  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
+  {productName} Application Deployment Guide.
+`--upload`::
+  Specifies whether the subcommand uploads the file to the DAS. In most
+  situations, this option can be omitted. +
+  Valid values are as follows:
+
+  `false`;;
+    The subcommand does not upload the file and attempts to access the
+    file through the specified file name. If the DAS cannot access the
+    file, the subcommand fails. +
+    For example, the DAS might be running as a different user than the
+    administration user and does not have read access to the file. In
+    this situation, the subcommand fails if the `--upload` option is
+    `false`.
+  `true`;;
+    The subcommand uploads the file to the DAS over the network connection.
+
++
+The default value depends on whether the DAS is on the host where the
+  subcommand is run or is on a remote host.
+
+  * If the DAS is on the host where the subcommand is run, the default is `false`.
+  * If the DAS is on a remote host, the default is `true`.
+
++
+If a directory filepath is specified, this option is ignored.
+
+`--retrieve`::
+  Retrieves the client stub JAR file from the server machine to the
+  local directory.
+`--dbvendorname`::
+  Specifies the name of the database vendor for which tables are
+  created. Supported values include `db2`, `mssql`, `mysql`, `oracle`,
+  `derby`, `javadb`, `postgresql`, and `sybase`. These values are
+  case-insensitive. If not specified, the value of the
+  `database-vendor-name` attribute in `glassfish-ejb-jar.xml` is used.
+  If no value is specified, a connection is made to the resource
+  specified by the `jndi-name` subelement of the `cmp-resource` element
+  in the `glassfish-ejb-jar.xml` file, and the database vendor name is
+  read. If the connection cannot be established, or if the value is not
+  recognized, SQL-92 compliance is presumed.
+`--createtables`::
+  If specified as true, creates tables at deployment of an application
+  with unmapped CMP beans. If specified as false, tables are not
+  created. If not specified, the value of the `create-tables-at-deploy`
+  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
+  file determines whether or not tables are created. No unique
+  constraints are created for the tables.
+`--dropandcreatetables`::
+  If specified as true when the component is redeployed, the tables
+  created by the previous deployment are dropped before creating the new
+  tables. Applies to deployed applications with unmapped CMP beans.
+  Preexisting tables will not be dropped on the initial deployment of an
+  application or on a deployment that follows an explicit undeploy. If
+  specified as false, tables are neither dropped nor created. If not
+  specified, the tables are dropped if the `drop-tables-at-undeploy`
+  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
+  file is set to true, and the new tables are created if the
+  `create-tables-at-deploy` entry in the `cmp-resource` element of the
+  `glassfish-ejb-jar.xml` file is set to true.
+`--uniquetablenames`::
+  Guarantees unique table names for all the beans and results in a hash
+  code added to the table names. This is useful if you have an
+  application with case-sensitive bean names. Applies to applications
+  with unmapped CMP beans.
+`--deploymentplan`::
+  Deploys the deployment plan, which is a JAR file that contains
+  {productName} descriptors. Specify this option when deploying a
+  pure EAR file. A pure EAR file is an EAR without {productName}
+  descriptors.
+`--altdd`::
+  Deploys the application using a Jakarta EE standard deployment descriptor
+  that resides outside of the application archive. Specify an absolute
+  path or a relative path to the alternate deployment descriptor file.
+  The alternate deployment descriptor overrides the top-level deployment
+  descriptor packaged in the archive. For example, for an EAR, the
+  `--altdd` option overrides `application.xml`. For a standalone module,
+  the `--altdd` option overrides the top-level module descriptor such as `web.xml`.
+`--runtimealtdd`::
+  Deploys the application using a {productName} runtime deployment
+  descriptor that resides outside of the application archive. Specify an
+  absolute path or a relative path to the alternate deployment
+  descriptor file. The alternate deployment descriptor overrides the
+  top-level deployment descriptor packaged in the archive. For example,
+  for an EAR, the `--runtimealtdd` option overrides
+  `glassfish-application.xml`. For a standalone module, the
+  `--runtimealtdd` option overrides the top-level module descriptor such
+  as `glassfish-web.xml`. Applies to {productName} deployment
+  descriptors only (`glassfish-\*.xml`); the name of the alternate
+  deployment descriptor file must begin with `glassfish-`. Does not
+  apply to `sun-*.xml` deployment descriptors, which are deprecated.
+`--deploymentorder`::
+  Specifies the deployment order of the application. This is useful if
+  the application has dependencies and must be loaded in a certain order
+  at server startup. The deployment order is specified as an integer.
+  The default value is 100. Applications with lower numbers are loaded
+  before applications with higher numbers. For example, an application
+  with a deployment order of 102 is loaded before an application with a
+  deployment order of 110. If a deployment order is not specified, the
+  default value of 100 is assigned. If two applications have the same
+  deployment order, the first application to be deployed is the first
+  application to be loaded at server startup. +
+  The deployment order is typically specified when the application is
+  first deployed but can also be specified or changed after initial
+  deployment using the `set` subcommand. You can view the deployment
+  order of an application using the `get` subcommand.
+`--enabled`::
+  Allows users to access the application. If set to `false`, users will
+  not be able to access the application. This option enables the
+  application on the specified target instance or cluster. If you deploy
+  to the target `domain`, this option is ignored, since deploying to the
+  domain doesn't deploy to a specific instance or cluster. The default is `true`.
+`--generatermistubs`::
+  If set to `true`, static RMI-IIOP stubs are generated and put into the
+  `client.jar`. If set to `false`, the stubs are not generated. Default is `false`.
+`--availabilityenabled`::
+  This option controls whether high-availability is enabled for web
+  sessions and for stateful session bean (SFSB) checkpointing and
+  potentially passivation. If set to false (default) all web session
+  saving and SFSB checkpointing is disabled for the specified
+  application, web application, or EJB module. If set to true, the
+  specified application or module is enabled for high-availability. Set
+  this option to true only if high availability is configured and
+  enabled at higher levels, such as the server and container levels.
+`--asyncreplication`::
+  This option controls whether web session and SFSB states for which
+  high availability is enabled are first buffered and then replicated
+  using a separate asynchronous thread. If set to true (default),
+  performance is improved but availability is reduced. If the instance
+  where states are buffered but not yet replicated fails, the states are
+  lost. If set to false, performance is reduced but availability is
+  guaranteed. States are not buffered but immediately transmitted to
+  other instances in the cluster.
+`--lbenabled`::
+  This option controls whether the deployed application is available for
+  load balancing. The default is true.
+`--keepstate`::
+  This option controls whether web sessions, SFSB instances, and
+  persistently created EJB timers are retained between redeployments. +
+  The default is false. This option is supported only on the default
+  server instance, named `server`. It is not supported and ignored for
+  any other target. +
+  Some changes to an application between redeployments prevent this
+  feature from working properly. For example, do not change the set of
+  instance variables in the SFSB bean class. +
+  For web applications, this feature is applicable only if in the
+  `glassfish-web-app.xml` file the `persistence-type` attribute of the
+  `session-manager` element is `file`. +
+  For stateful session bean instances, the persistence type without high
+  availability is set in the server (the `sfsb-persistence-type`
+  attribute) and must be set to `file`, which is the default and
+  recommended value. +
+  If any active web session, SFSB instance, or EJB timer fails to be
+  preserved or restored, none of these will be available when the
+  redeployment is complete. However, the redeployment continues and a
+  warning is logged. +
+  To preserve active state data, {productName} serializes the data
+  and saves it in memory. To restore the data, the class loader of the
+  newly redeployed application deserializes the data that was previously
+  saved.
+`--libraries`::
+  A comma-separated list of library JAR files. Specify the library JAR
+  files by their relative or absolute paths. Specify relative paths
+  relative to domain-dir`/lib/applibs`. The libraries are made available
+  to the application in the order specified.
+`--target`::
+  Specifies the target to which you are deploying. Valid values are:
+
+  `server`;;
+    Deploys the component to the default server instance `server` and is
+    the default value.
+  `domain`;;
+    Deploys the component to the domain. If `domain` is the target for
+    an initial deployment, the application is deployed to the domain,
+    but no server instances or clusters reference the application. If
+    `domain` is the target for a redeployment (the `--force` option is
+    set to true), and dynamic reconfiguration is enabled for the
+    clusters or server instances that reference the application, the
+    referencing clusters or server instances automatically get the new
+    version of the application. If redeploying, and dynamic
+    configuration is disabled, the referencing clusters or server
+    instances do not get the new version of the application until the
+    clustered or standalone server instances are restarted.
+  cluster_name;;
+    Deploys the component to every server instance in the cluster.
+  instance_name;;
+    Deploys the component to a particular stand-alone sever instance.
+
+`--type`::
+  The packaging archive type of the component that is being deployed.
+  Possible values are as follows:
+
+  `car`;;
+    The component is packaged as a CAR file.
+  `ear`;;
+    The component is packaged as an EAR file.
+  `ejb`;;
+    The component is an EJB packaged as a JAR file.
+  `osgi`;;
+    The component is packaged as an OSGi bundle.
+  `rar`;;
+    The component is packaged as a RAR file.
+  `war`;;
+    The component is packaged as a WAR file.
+
+`--properties` or `--property`::
+  Optional keyword-value pairs that specify additional properties for
+  the deployment. The available properties are determined by the
+  implementation of the component that is being deployed or redeployed.
+  The `--properties` option and the `--property` option are equivalent.
+  You can use either option regardless of the number of properties that
+  you specify. +
+  You can specify the following properties for a deployment:
+
+  `jar-signing-alias`;;
+    Specifies the alias for the security certificate with which the
+    application client container JAR file is signed. Java Web Start will
+    not run code that requires elevated permissions unless it resides in
+    a JAR file signed with a certificate that the user's system trusts.
+    For your convenience, {productName} signs the JAR file
+    automatically using the certificate with this alias from the
+    domain's keystore. Java Web Start then asks the user whether to
+    trust the code and displays the {productName} certificate
+    information. To sign this JAR file with a different certificate, add
+    the certificate to the domain keystore, then use this property. For
+    example, you can use a certificate from a trusted authority, which
+    avoids the Java Web Start prompt, or from your own company, which
+    users know they can trust. Default is `s1as`, the alias for the
+    self-signed certificate created for every domain.
+  `java-web-start-enabled`;;
+    Specifies whether Java Web Start access is permitted for an
+    application client module. Default is true.
+  `compatibility`;;
+    Specifies the {productName} release with which to be backward
+    compatible in terms of JAR visibility requirements for applications.
+    The only allowed value is `v2`, which refers to Sun GlassFish
+    Enterprise Server version 2 or Sun Java System Application Server
+    version 9.1 or 9.1.1.Beginning in Jakarta EE 6, the Jakarta EE platform
+    specification imposed stricter requirements than Jakarta EE 5 did on
+    which JAR files can be visible to various modules within an EAR
+    file. In particular, application clients must not have access to EJB
+    JAR files or other JAR files in the EAR file unless references use
+    the standard Java SE mechanisms (extensions, for example) or the
+    Jakarta EE library-directory mechanism. Setting this property to `v2`
+    removes these restrictions.
+  `keepSessions={false|true}`;;
+    Superseded by the `--keepstate` option. +
+    If the `--force` option is set to `true`, this property can by used
+    to specify whether active sessions of the application that is being
+    redeployed are preserved and then restored when the redeployment is
+    complete. Applies to HTTP sessions in a web container.
+    Default is `false`.
++
+--
+    `false`::
+      Active sessions of the application are not preserved and restored
+      (default).
+    `true`::
+      Active sessions of the application are preserved and restored. +
+      If any active session of the application fails to be preserved or
+      restored, none of the sessions will be available when the
+      redeployment is complete. However, the redeployment continues and
+      a warning is logged. +
+      To preserve active sessions, {productName} serializes the
+      sessions and saves them in memory. To restore the sessions, the
+      class loader of the newly redeployed application deserializes any
+      sessions that were previously saved.
+--
+  `preserveAppScopedResources`;;
+    If set to `true`, preserves any application-scoped resources and
+    restores them during redeployment. Default is `false`.
+
++
+Other available properties are determined by the implementation of the
+  component that is being redeployed. +
+For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
+  subcommand accepts properties arguments to wrap a WAR file as a WAB
+  (Web Application Bundle) at the time of deployment. The subcommand
+  looks for a key named `UriScheme` and, if present, uses the key as a
+  URL stream handler to decorate the input stream. Other properties are
+  used in the decoration process. For example, the {productName}
+  OSGi web container registers a URL stream handler named `webbundle`,
+  which is used to wrap a plain WAR file as a WAB. For more information
+  about usage, see the example in this help page.
+
+[[sthref1018]]
+
+=== Operands
+
+file_archive|filepath::
+  The path to the archive that contains the application that is being
+  deployed. This path can be a relative path or an absolute path. +
+  The archive can be in either of the following formats:
+
+  * An archive file, for example, `/export/JEE_apps/hello.war`. +
+  If the `--upload` option is set to `true`, this is the path to the
+  deployable file on the local client machine. If the `--upload` option
+  is set to `false`, this is the path to the file on the server machine.
+  * A directory that contains the exploded format of the deployable
+  archive. This is the path to the directory on the server machine.
+
++
+If you specify a directory, the `--upload` option is ignored.
+
+[[sthref1019]]
+
+=== Examples
+
+[[GSRFM584]][[sthref1020]]
+
+==== Example 1   Deploying an Enterprise Application
+
+This example deploys the enterprise application packaged in the
+`Cart.ear` file to the default server instance `server`. You can use the
+`--target` option to deploy to a different server instance or to a
+cluster.
+
+[source]
+----
+asadmin> deploy Cart.ear
+Application deployed successfully with name Cart.
+Command deploy executed successfully
+----
+
+[[GSRFM585]][[sthref1021]]
+
+==== Example 2   Deploying a Web Application With the Default Context Root
+
+This example deploys the web application in the `hello.war` file to the
+default server instance `server`. You can use the `--target` option to
+deploy to a different server instance or to a cluster.
+
+[source]
+----
+asadmin> deploy hello.war
+Application deployed successfully with name hello.
+Command deploy executed successfully
+----
+
+[[GSRFM586]][[sthref1022]]
+
+==== Example 3   Forcibly Deploying a Web Application With a Specific Context Root
+
+This example forcibly deploys the web application in the `hello.war`
+file. The context root of the deployed web application is `greetings`.
+If the application has already been deployed, it is redeployed.
+
+[source]
+----
+asadmin> deploy --force=true --contextroot greetings hello.war
+Application deployed successfully with name hello.
+Command deploy executed successfully
+----
+
+[[GSRFM587]][[sthref1023]]
+
+==== Example 4   Deploying an Enterprise Bean
+
+This example deploys a component based on the EJB specification
+(enterprise bean) with CMP and creates the database tables used by the
+bean.
+
+This example uses the `--target` option. The target in this example is
+an existing cluster, `cluster1`.
+
+[source]
+----
+asadmin> deploy --createtables=true --target cluster1 EmployeeEJB.jar
+Application deployed successfully with name EmployeeEJB.
+Command deploy executed successfully
+----
+
+[[GSRFM588]][[sthref1024]]
+
+==== Example 5   Deploying a Connector Module
+
+This example deploys a connector module that is packaged in a RAR file.
+
+This example uses the `--target` option. The target in this example is
+an existing standalone server instance that does not belong to a
+cluster.
+
+[source]
+----
+asadmin> deploy --target myinstance jdbcra.rar
+Application deployed successfully with name jdbcra.
+Command deploy executed successfully
+----
+
+[[GSRFM856]][[sthref1025]]
+
+==== Example 6   Specifying the Deployment Order for an Application
+
+This example specifies the deployment order for two applications. The
+`cart` application is loaded before the `horse` application at server
+startup.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> deploy --deploymentorder 102 --name cart cart.war
+...
+asadmin> deploy --deploymentorder 110 --name horse horse.war
+...
+----
+
+[[GSRFM857]][[sthref1026]]
+
+==== Example 7   Deploying an Application Using an Alternate Jakarta EE Deployment Descriptor File
+
+This example deploys an application using a Jakarta EE standard deployment
+descriptor file that resides outside of the application archive.
+
+[source]
+----
+asadmin> deploy --altdd path_to_alternate_descriptor cart.ear
+Application deployed successfully with name cart.
+Command deploy executed successfully
+----
+
+[[GSRFM858]][[sthref1027]]
+
+==== Example 8   Deploying an Application Using an Alternate
+{productName} Deployment Descriptor File
+
+This example deploys an application using a {productName} runtime
+deployment descriptor file that resides outside of the application
+archive.
+
+[source]
+----
+asadmin> deploy --runtimealtdd path_to_alternate_runtime_descriptor horse.ear
+Application deployed successfully with name horse.
+Command deploy executed successfully
+----
+
+[[GSRFM883]][[sthref1028]]
+
+==== Example 9   Wrapping a WAR File as a WAB
+
+This example wraps a plain WAR file as a WAB when an OSGi bundle is
+deployed, and is specific to components packaged as OSGi bundles.
+
+The backslash (\) character is used to escape characters in the command.
+For more information about escape characters in options for the
+`asadmin` utility, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+help page.
+
+[source]
+----
+asadmin deploy --type osgi \
+--properties "UriScheme=webbundle:Bundle-SymbolicName=bar:\
+Import-Package=javax.servlet;javax.servlet.http;
+%20version\\=3.0;resolution\\:
+=mandatory:Web-ContextPath=/foo" \
+/tmp/test_sample1.war
+Application deployed successfully with name sample1.
+Command deploy executed successfully
+----
+
+[[sthref1029]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1030]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get.html#get-1[`get`(1)],
+link:list-components.html#list-components-1[`list-components`(1)],
+link:redeploy.html#redeploy-1[`redeploy`(1)],
+link:set.html#set-1[`set`(1)],
+link:undeploy.html#undeploy-1[`undeploy`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/deploydir.adoc b/docs/reference-manual/src/main/asciidoc/deploydir.adoc
new file mode 100644
index 0000000..21bea2a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/deploydir.adoc
@@ -0,0 +1,433 @@
+type=page
+status=published
+title=deploydir
+next=disable.html
+prev=deploy.html
+~~~~~~
+
+= deploydir
+
+[[deploydir-1]][[GSRFM00115]][[deploydir]]
+
+== deploydir
+
+Deploys an exploded format of application archive
+
+[[sthref1031]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] deploydir [--help]
+[--force={false|true}]
+[--virtualservers virtual_servers]
+[--contextroot context_root]
+[--verify={false|true}]
+[--precompilejsp={false|true}]
+[--name component-name]
+[--retrieve local_dirpath]
+[--uniquetablenames={true|false}]
+[--dbvendorname dbvendorname]
+[--createtables={false|true}|--dropandcreatetables={false|true}]
+[--deploymentplan deployment_plan]
+[--altdd alternate_deploymentdescriptor]
+[--runtimealtdd runtime_alternate_deploymentdescriptor]
+[--deploymentorder deployment_order]
+[--enabled={true|false}]
+[--generatermistubs={false|true}]
+[--availabilityenabled={false|true}]
+[--asyncreplication={true|false}]
+[--lbenabled={true|false}]
+[--keepstate={false|true}]
+[--libraries jar_file[,jar_file]*]
+[--target target]
+[--type pkg-type]
+[--properties(name=value)[:name=value]*]
+dirpath
+----
+
+[[sthref1032]]
+
+=== Description
+
+[NOTE]
+====
+The `deploydir` subcommand is deprecated. Use the `deploy` subcommand
+instead.
+====
+
+The `deploydir` subcommand deploys an application directly from a
+development directory. The appropriate directory hierarchy and
+deployment descriptors conforming to the Jakarta EE specification must
+exist in the deployment directory.
+
+Directory deployment is for advanced developers only. Do not use
+`deploydir` in production environments. Instead, use the `deploy`
+subcommand. Directory deployment is only supported on localhost, that
+is, the client and server must reside on the same machine. For this
+reason, the only values for the `--host` option are:
+
+* `localhost`
+* The value of the `$HOSTNAME` environment variable
+* The IP address of the machine
+
+If the `--uniquetablenames`, `--createtables`, and
+`--dropandcreatetables` options are not specified, the entries in the
+deployment descriptors are used.
+
+The `--force` option makes sure the component is forcefully (re)deployed
+even if the specified component has already been deployed or already
+exists. Set the `--force` option to false for an initial deployment. If
+the specified application is running and the `--force` option is set to
+false, the subcommand fails.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1033]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--force`::
+  If set to `true`, redeploys the component even if the specified
+  component has already been deployed or already exists. Default is
+  `false`.
+`--virtualservers`::
+  One or more virtual server IDs. Multiple IDs are separated by commas.
+`--contextroot`::
+  Valid only if the archive is a web module. It is ignored for other
+  archive types; it will be the value specified by default-context-path
+  in web.xml, if specified; defaults to filename without extension.
+`--precompilejsp`::
+  By default this option does not allow the JSP to be precompiled during
+  deployment. Instead, JSPs are compiled during runtime. Default is
+  `false`.
+`--verify`::
+  If set to true and the required verifier packages are installed from
+  the Update Tool, the syntax and semantics of the deployment descriptor
+  is verified. Default is `false`.
+`--name`::
+  Name of the deployable component. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. For more information about module and application
+  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[
+  Module and Application Versions]" in
+  {productName} Application Deployment Guide.
+`--retrieve`::
+  Retrieves the client stub JAR file from the server machine to the
+  local directory.
+`--dbvendorname`::
+  Specifies the name of the database vendor for which tables are
+  created. Supported values include `db2`, `mssql`, `mysql`, `oracle`,
+  `derby`, `javadb`, `postgresql`, and `sybase`. These values are
+  case-insensitive. If not specified, the value of the
+  `database-vendor-name` attribute in `glassfish-ejb-jar.xml` is used.
+  If no value is specified, a connection is made to the resource
+  specified by the `jndi-name` subelement of the `cmp-resource` element
+  in the `glassfish-ejb-jar.xml` file, and the database vendor name is
+  read. If the connection cannot be established, or if the value is not
+  recognized, SQL-92 compliance is presumed.
+`--createtables`::
+  If specified as true, creates tables at deployment of an application
+  with unmapped CMP beans. If specified as false, tables are not
+  created. If not specified, the value of the `create-tables-at-deploy`
+  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
+  file determines whether or not tables are created. No unique
+  constraints are created for the tables.
+`--dropandcreatetables`::
+  If specified as true when the component is redeployed, the tables
+  created by the previous deployment are dropped before creating the new
+  tables. Applies to deployed applications with unmapped CMP beans.
+  Preexisting tables will not be dropped on the initial deployment of an
+  application or on a deployment that follows an explicit undeploy. If
+  specified as false, tables are neither dropped nor created. If not
+  specified, the tables are dropped if the `drop-tables-at-undeploy`
+  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
+  file is set to true, and the new tables are created if the
+  `create-tables-at-deploy` entry in the `cmp-resource` element of the
+  `glassfish-ejb-jar.xml` file is set to true.
+`--uniquetablenames`::
+  Guarantees unique table names for all the beans and results in a hash
+  code added to the table names. This is useful if you have an
+  application with case-sensitive bean names. Applies to applications
+  with unmapped CMP beans.
+`--deploymentplan`::
+  Deploys the deployment plan, which is a JAR file that contains
+  {productName} descriptors. Specify this option when deploying a
+  pure EAR file. A pure EAR file is an EAR without {productName}
+  descriptors.
+`--altdd`::
+  Deploys the application using a Jakarta EE standard deployment descriptor
+  that resides outside of the application archive. Specify an absolute
+  path or a relative path to the alternate deployment descriptor file.
+  The alternate deployment descriptor overrides the top-level deployment
+  descriptor packaged in the archive. For example, for an EAR, the
+  `--altdd` option overrides `application.xml`. For a standalone module,
+  the `--altdd` option overrides the top-level module descriptor such as
+  `web.xml`.
+`--runtimealtdd`::
+  Deploys the application using a {productName} runtime deployment
+  descriptor that resides outside of the application archive. Specify an
+  absolute path or a relative path to the alternate deployment
+  descriptor file. The alternate deployment descriptor overrides the
+  top-level deployment descriptor packaged in the archive. For example,
+  for an EAR, the `--runtimealtdd` option overrides
+  `glassfish-application.xml`. For a standalone module, the
+  `--runtimealtdd` option overrides the top-level module descriptor such
+  as `glassfish-web.xml`. Applies to {productName} deployment
+  descriptors only (`glassfish-*.xml`); the name of the alternate
+  deployment descriptor file must begin with `glassfish-`. Does not
+  apply to `sun-*.xml` deployment descriptors, which are deprecated.
+`--deploymentorder`::
+  Specifies the deployment order of the application. This is useful if
+  the application has dependencies and must be loaded in a certain order
+  at server startup. The deployment order is specified as an integer.
+  The default value is 100. Applications with lower numbers are loaded
+  before applications with higher numbers. For example, an application
+  with a deployment order of 102 is loaded before an application with a
+  deployment order of 110. If a deployment order is not specified, the
+  default value of 100 is assigned. If two applications have the same
+  deployment order, the first application to be deployed is the first
+  application to be loaded at server startup. +
+  The deployment order is typically specified when the application is
+  first deployed but can also be specified or changed after initial
+  deployment using the `set` subcommand. You can view the deployment
+  order of an application using the `get` subcommand
+`--enabled`::
+  Allows users to access the application. If set to `false`, users will
+  not be able to access the application. This option enables the
+  application on the specified target instance or cluster. If you deploy
+  to the target `domain`, this option is ignored, since deploying to the
+  domain doesn't deploy to a specific instance or cluster. The default
+  is `true`.
+`--generatermistubs`::
+  If set to `true`, static RMI-IIOP stubs are generated and put into the
+  `client.jar`. If set to `false`, the stubs are not generated.
+  Default is `false`.
+`--availabilityenabled`::
+  This option controls whether high-availability is enabled for web
+  sessions and for stateful session bean (SFSB) checkpointing and
+  potentially passivation. If set to false (default) all web session
+  saving and SFSB checkpointing is disabled for the specified
+  application, web application, or EJB module. If set to true, the
+  specified application or module is enabled for high-availability. Set
+  this option to true only if high availability is configured and
+  enabled at higher levels, such as the server and container levels.
+`--asyncreplication`::
+  This option controls whether web session and SFSB states for which
+  high availability is enabled are first buffered and then replicated
+  using a separate asynchronous thread. If set to true (default),
+  performance is improved but availability is reduced. If the instance
+  where states are buffered but not yet replicated fails, the states are
+  lost. If set to false, performance is reduced but availability is
+  guaranteed. States are not buffered but immediately transmitted to
+  other instances in the cluster.
+`--lbenabled`::
+  This option controls whether the deployed application is available for
+  load balancing. The default is true.
+`--keepstate`::
+  - This option controls whether web sessions, SFSB instances, and
+  persistently created EJB timers are retained between redeployments. +
+  The default is false. This option is supported only on the default
+  server instance, named `server`. It is not supported and ignored for
+  any other target.
+  - Some changes to an application between redeployments prevent this
+  feature from working properly. For example, do not change the set of
+  instance variables in the SFSB bean class. +
+  For web applications, this feature is applicable only if in the
+  `glassfish-web-app.xml` file the `persistence-type` attribute of the
+  `session-manager` element is `file`.
+  - For stateful session bean instances, the persistence type without high
+  availability is set in the server (the `sfsb-persistence-type`
+  attribute) and must be set to `file`, which is the default and
+  recommended value.
+  - If any active web session, SFSB instance, or EJB timer fails to be
+  preserved or restored, none of these will be available when the
+  redeployment is complete. However, the redeployment continues and a
+  warning is logged.
+  - To preserve active state data, {productName} serializes the data
+  and saves it in memory. To restore the data, the class loader of the
+  newly redeployed application deserializes the data that was previously saved.
+`--libraries`::
+  A comma-separated list of library JAR files. Specify the library JAR
+  files by their relative or absolute paths. Specify relative paths
+  relative to domain-dir`/lib/applibs`. The libraries are made available
+  to the application in the order specified.
+`--target`::
+  Specifies the target to which you are deploying. Valid values are:
++
+  `server`;;
+    Deploys the component to the default server instance `server` and is
+    the default value.
+  `domain`;;
+    Deploys the component to the domain. If `domain` is the target for
+    an initial deployment, the application is deployed to the domain,
+    but no server instances or clusters reference the application. If
+    `domain` is the target for a redeployment (the `--force` option is
+    set to true), and dynamic reconfiguration is enabled for the
+    clusters or server instances that reference the application, the
+    referencing clusters or server instances automatically get the new
+    version of the application. If redeploying, and dynamic
+    configuration is disabled, the referencing clusters or server
+    instances do not get the new version of the application until the
+    clustered or standalone server instances are restarted.
+  cluster_name;;
+    Deploys the component to every server instance in the cluster.
+  instance_name;;
+    Deploys the component to a particular stand-alone server instance.
+`--type`::
+  The packaging archive type of the component that is being deployed.
+  Possible values are as follows:
+
+  `car`;;
+    The component is packaged as a CAR file.
+  `ear`;;
+    The component is packaged as an EAR file.
+  `ejb`;;
+    The component is an EJB packaged as a JAR file.
+  `osgi`;;
+    The component is packaged as an OSGi bundle.
+  `rar`;;
+    The component is packaged as a RAR file.
+  `war`;;
+    The component is packaged as a WAR file.
+
+`--properties` or `--property`::
+  Optional keyword-value pairs that specify additional properties for
+  the deployment. The available properties are determined by the
+  implementation of the component that is being deployed or redeployed.
+  The `--properties` option and the `--property` option are equivalent.
+  You can use either option regardless of the number of properties that
+  you specify. +
+  You can specify the following properties for a deployment:
+
+  `jar-signing-alias`;;
+    Specifies the alias for the security certificate with which the
+    application client container JAR file is signed. Java Web Start will
+    not run code that requires elevated permissions unless it resides in
+    a JAR file signed with a certificate that the user's system trusts.
+    For your convenience, {productName} signs the JAR file
+    automatically using the certificate with this alias from the
+    domain's keystore. Java Web Start then asks the user whether to
+    trust the code and displays the {productName} certificate
+    information. To sign this JAR file with a different certificate, add
+    the certificate to the domain keystore, then use this property. For
+    example, you can use a certificate from a trusted authority, which
+    avoids the Java Web Start prompt, or from your own company, which
+    users know they can trust. Default is `s1as`, the alias for the
+    self-signed certificate created for every domain.
+  `java-web-start-enabled`;;
+    Specifies whether Java Web Start access is permitted for an
+    application client module. Default is true.
+  `compatibility`;;
+    Specifies the {productName} release with which to be backward
+    compatible in terms of JAR visibility requirements for applications.
+    The only allowed value is `v2`, which refers to Sun GlassFish
+    Enterprise Server version 2 or Sun Java System Application Server
+    version 9.1 or 9.1.1. Beginning in Jakarta EE 6, the Jakarta EE platform
+    specification imposed stricter requirements than Jakarta EE 5 did on
+    which JAR files can be visible to various modules within an EAR
+    file. In particular, application clients must not have access to EJB
+    JAR files or other JAR files in the EAR file unless references use
+    the standard Java SE mechanisms (extensions, for example) or the
+    Jakarta EE library-directory mechanism. Setting this property to `v2`
+    removes these restrictions.
+  `keepSessions={false|true}`;;
+    Superseded by the `--keepstate` option. +
+    If the `--force` option is set to `true`, this property can by used
+    to specify whether active sessions of the application that is being
+    redeployed are preserved and then restored when the redeployment is
+    complete. Applies to HTTP sessions in a web container. Default is
+    `false`.::
+    `false`::
+      Active sessions of the application are not preserved and restored
+      (default).
+    `true`::
+      Active sessions of the application are preserved and restored. +
+      If any active session of the application fails to be preserved or
+      restored, none of the sessions will be available when the
+      redeployment is complete. However, the redeployment continues and
+      a warning is logged. +
+      To preserve active sessions, {productName} serializes the
+      sessions and saves them in memory. To restore the sessions, the
+      class loader of the newly redeployed application deserializes any
+      sessions that were previously saved.
+  `preserveAppScopedResources`;;
+    If set to `true`, preserves any application-scoped resources and
+    restores them during redeployment. Default is `false`.
+
++
+Other available properties are determined by the implementation of the
+  component that is being redeployed. +
+  For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
+  subcommand accepts properties arguments that can be used to wrap a WAR
+  file as a WAB (Web Application Bundle). The subcommand looks for a key
+  named `UriScheme` and, if present, uses the key as a URL stream
+  handler to decorate the input stream. Other properties are used in the
+  decoration process. The {productName} OSGi web container registers
+  a URL stream handler named `webbundle`, which is used to wrap a plain
+  WAR file as a WAB. For more information about usage, see the related
+  example in the link:deploy.html#deploy-1[`deploy`(1)] help page.
+
+[[sthref1034]]
+
+=== Operands
+
+dirpath::
+  Path to the directory containing the exploded format of the deployable
+  archive. This is the path to the directory on the server machine.
+
+[[sthref1035]]
+
+=== Examples
+
+[[GSRFM589]][[sthref1036]]
+
+==== Example 1   Deploying an Application From a Directory
+
+In this example, the exploded application to be deployed is in the
+`/home/temp/sampleApp` directory. Because the `--force` option is set to
+true, if an application of that name already exists, the application is
+redeployed.
+
+[source]
+----
+asadmin> deploydir --force=true --precompilejsp=true /home/temp/sampleApp
+Application deployed successfully with name sampleApp.
+WARNING : deploydir command deprecated. Please use deploy command instead.
+Command deploydir executed successfully
+----
+
+[[sthref1037]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1038]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get.html#get-1[`get`(1)], link:deploy.html#deploy-1[`deploy`(1)],
+link:redeploy.html#redeploy-1[`redeploy`(1)],
+link:set.html#set-1[`set`(1)],
+link:undeploy.html#undeploy-1[`undeploy`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/disable-http-lb-application.adoc b/docs/reference-manual/src/main/asciidoc/disable-http-lb-application.adoc
new file mode 100644
index 0000000..99fba7b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/disable-http-lb-application.adoc
@@ -0,0 +1,122 @@
+type=page
+status=published
+title=disable-http-lb-application
+next=disable-http-lb-server.html
+prev=disable.html
+~~~~~~
+
+= disable-http-lb-application
+
+[[disable-http-lb-application-1]][[GSRFM00118]][[disable-http-lb-application]]
+
+== disable-http-lb-application
+
+Disables an application managed by a load balancer
+
+[[sthref1047]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] disable-http-lb-application [--help]
+[--timeout 30]
+--name application_name target
+----
+
+[[sthref1048]]
+
+=== Description
+
+The disable `disable-http-lb-application` subcommand disables an
+application for load balancing. The disabled application goes offline
+for load balancing with minimal impact to users. Disabling an
+application gives a finer granularity of control than disabling a server
+instance and is most useful when a cluster is hosting multiple
+independent applications.
+
+Once the application is disabled and the changes have been applied to
+the load balancer, new requests for the application are not forwarded to
+the target. Existing sessions continue to access the application until
+the timeout is reached. This process is known as quiescing.
+
+If an application is deployed across multiple clusters, use this
+subcommand to disable it in one cluster while leaving it enabled in
+others.
+
+If an application is deployed to a single server instance, use this
+subcommand to disable it in that instance while leaving the instance
+itself enabled.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref1049]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--timeout`::
+  The timeout (in minutes) to wait before disabling the specified
+  application. This time allows for the graceful shutdown (quiescing) of
+  the specified application. The default value is 30 minutes. The
+  minimum value is 1 minute.
+`--name`::
+  The name of the application to be disabled.
+
+[[sthref1050]]
+
+=== Operands
+
+target::
+  This operand specifies the server instance or cluster on which to
+  disable the application. Valid values are:
+
+  * cluster_name- The name of a target cluster.
+  * instance_name- The name of a target server instance.
+
+[[sthref1051]]
+
+=== Examples
+
+[[GSRFM592]][[sthref1052]]
+
+==== Example 1   Disabling an Application for Load Balancing
+
+This example, disables an application for load balancing
+
+[source]
+----
+asadmin> disable-http-lb-application --name webapps-simple mycluster
+
+Command disable-http-lb-application executed successfully.
+----
+
+[[sthref1053]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1054]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:enable-http-lb-application.html#enable-http-lb-application-1[`enable-http-lb-application`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/disable-http-lb-server.adoc b/docs/reference-manual/src/main/asciidoc/disable-http-lb-server.adoc
new file mode 100644
index 0000000..1bbe4f9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/disable-http-lb-server.adoc
@@ -0,0 +1,115 @@
+type=page
+status=published
+title=disable-http-lb-server
+next=disable-monitoring.html
+prev=disable-http-lb-application.html
+~~~~~~
+
+= disable-http-lb-server
+
+[[disable-http-lb-server-1]][[GSRFM00119]][[disable-http-lb-server]]
+
+== disable-http-lb-server
+
+Disables a sever or cluster managed by a load balancer
+
+[[sthref1055]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] disable-http-lb-server [--help]
+[--timeout 30]
+target
+----
+
+[[sthref1056]]
+
+=== Description
+
+The `disable-http-lb-server` subcommand disables a standalone server or
+cluster of servers for load balancing. The disabled server instance or
+cluster goes offline for load balancing with a minimum impact to users.
+
+Once the target has been disabled and the changes have been applied to
+the load balancer, the load balancer stops assigning new requests to the
+target. Session requests with sessions created before disabling the
+target continue to be assigned to that target until the timeout is
+reached. This process is known as quiescing.
+
+Changes are applied the load balancer automatically. You can also
+manually export the configuration using `export-http-lb-config` and copy
+it to the load balancer.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref1057]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--timeout`::
+  The timeout (in minutes) to wait before disabling the specified
+  target. This time allows for the graceful shutdown (quiescing) of the
+  specified target. The default value is 30 minutes. The minimum value
+  is 1 minute.
+
+[[sthref1058]]
+
+=== Operands
+
+target::
+  This operand specifies which server instances and clusters to disable.
+  Valid values are:
+
+  * cluster_name- The name of a target cluster.
+  * instance_name- The name of a target server instance.
+
+[[sthref1059]]
+
+=== Examples
+
+[[GSRFM593]][[sthref1060]]
+
+==== Example 1   Disabling a Cluster for Load Balancing
+
+This example disables load balancing for a cluster named `mycluster`.
+
+[source]
+----
+asadmin> disable-http-lb-server mycluster
+
+Command disable-http-lb-server executed successfully.
+----
+
+[[sthref1061]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1062]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)],
+link:enable-http-lb-server.html#enable-http-lb-server-1[`enable-http-lb-server`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/disable-monitoring.adoc b/docs/reference-manual/src/main/asciidoc/disable-monitoring.adoc
new file mode 100644
index 0000000..25d19b2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/disable-monitoring.adoc
@@ -0,0 +1,129 @@
+type=page
+status=published
+title=disable-monitoring
+next=disable-secure-admin.html
+prev=disable-http-lb-server.html
+~~~~~~
+
+= disable-monitoring
+
+[[disable-monitoring-1]][[GSRFM00120]][[disable-monitoring]]
+
+== disable-monitoring
+
+Disables monitoring for the server or for specific monitorable modules
+
+[[sthref1063]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] disable-monitoring [--help]
+[--modules module-name][:module-name]*
+----
+
+[[sthref1064]]
+
+=== Description
+
+The `disable-monitoring` subcommand is used to turn off monitoring for
+{productName} or for particular modules during runtime. Changes are
+dynamic, that is, server restart is not required.
+
+Running the `disable-monitoring` subcommand without the `--module`
+option disables the monitoring service by setting the
+`monitoring-enabled` attribute of the `monitoring-service` element to
+`false`. The individual modules retain their monitoring levels, but no
+monitoring data is generated because the entire monitoring service is
+disabled.
+
+This subcommand used with the `--modules` option disables monitoring for
+a module by setting the monitoring level to OFF. The status of the
+monitoring service is not affected. For a list of monitorable modules,
+see the `--modules` option in this help page.
+
+An alternative method for disabling monitoring is to use the `set`
+subcommand. In this case, the server must be restarted for changes to
+take effect.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1065]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--modules`::
+  Disables the specified module or modules by setting the monitoring
+  level to OFF. Multiple modules are separated by : (colon). Monitorable
+  modules include `connector-connection-pool`, `connector-service`,
+  `ejb-container`, `http-service`, `jdbc-connection-pool`, `jersey`,
+  `jpa`, `jms-service`, `jvm`, `security`, `thread-pool`,
+  `transaction-service`, `web-container`, and `web-services-container`.
+  Additional modules can be listed by using the `get` subcommand.
+
+[[sthref1066]]
+
+=== Operands
+
+[[sthref1067]]
+
+=== Examples
+
+[[GSRFM594]][[sthref1068]]
+
+==== Example 1   Disabling the Monitoring Service for {productName}
+
+This example disables monitoring for {productName} in general by
+setting the `enable-monitoring` flag to `false` (default is `true`).
+
+[source]
+----
+asadmin> disable-monitoring
+Command disable-monitoring executed successfully
+----
+
+[[GSRFM595]][[sthref1069]]
+
+==== Example 2   Disabling Monitoring for the Web and EJB Containers
+
+This example disables monitoring for specific containers. Their
+monitoring levels will be set to OFF.
+
+[source]
+----
+asadmin> disable-monitoring --modules web-container:ejb-container
+Command disable-monitoring executed successfully
+----
+
+[[sthref1070]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1071]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get.html#get-1[`get`(1)],
+link:enable-monitoring.html#enable-monitoring-1[`enable-monitoring`(1)],
+link:list.html#list-1[`list`(1)],
+link:monitor.html#monitor-1[`monitor`(1)], link:set.html#set-1[`set`(1)]
+
+link:monitoring.html#monitoring-5asc[`monitoring`(5ASC)]
+
+"link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/disable-secure-admin-internal-user.adoc b/docs/reference-manual/src/main/asciidoc/disable-secure-admin-internal-user.adoc
new file mode 100644
index 0000000..8be647a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/disable-secure-admin-internal-user.adoc
@@ -0,0 +1,94 @@
+type=page
+status=published
+title=disable-secure-admin-internal-user
+next=disable-secure-admin-principal.html
+prev=disable-secure-admin.html
+~~~~~~
+
+= disable-secure-admin-internal-user
+
+[[disable-secure-admin-internal-user-1]][[GSRFM00122]][[disable-secure-admin-internal-user]]
+
+== disable-secure-admin-internal-user
+
+Instructs the {productName} DAS and instances to not use the
+specified admin user to authenticate with each other and to authorize
+admin operations.
+
+[[sthref1079]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] disable-secure-admin-internal-user [--help]
+admin-username
+----
+
+[[sthref1080]]
+
+=== Description
+
+The `disable-secure-admin-internal-user` subcommand disables secure
+admin from using the username (instead of SSL certificates) to
+authenticate the DAS and instances with each other and to authorize
+admin operations.
+
+[[sthref1081]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1082]]
+
+=== Operands
+
+admin-username::
+  The admin user name that {productName} should not use to
+  authenticate the DAS and instances with each other and to authorize
+  admin operations.
+
+[[sthref1083]]
+
+=== Examples
+
+[[GSRFM597]][[sthref1084]]
+
+==== Example 1   Disabling a user name for secure admin
+
+The following example disables secure admin from using username tester
+to authenticate the DAS and instances with each other and to authorize
+admin operations.
+
+[source]
+----
+asadmin> disable-secure-admin-internal-user tester
+
+Command disable-secure-admin-internal-user executed successfully.
+----
+
+[[sthref1085]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1086]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
+link:enable-secure-admin-internal-user.html#enable-secure-admin-internal-user-1[`enable-secure-admin-internal-user`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/disable-secure-admin-principal.adoc b/docs/reference-manual/src/main/asciidoc/disable-secure-admin-principal.adoc
new file mode 100644
index 0000000..400bb67
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/disable-secure-admin-principal.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=disable-secure-admin-principal
+next=enable.html
+prev=disable-secure-admin-internal-user.html
+~~~~~~
+
+= disable-secure-admin-principal
+
+[[disable-secure-admin-principal-1]][[GSRFM00123]][[disable-secure-admin-principal]]
+
+== disable-secure-admin-principal
+
+Disables the certificate for authorizing access in secure
+administration.
+
+[[sthref1087]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] disable-secure-admin-principal [--help]
+--alias aliasname | DN
+----
+
+[[sthref1088]]
+
+=== Description
+
+The `disable-secure-admin-principal` subcommand disables the certificate
+as being valid for authorizing access as part of secure administration.
+
+You must specify either the `--alias` option, or the DN.
+
+[[sthref1089]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--alias`::
+  The alias name of the certificate in the truststore. {productName}
+  looks up the certificate in the truststore using that alias and, if
+  found, disables the corresponding DN as being valid for secure
+  administration. Because alias-name must be an alias associated with a
+  certificate currently in the truststore, you may find it most useful
+  for self-signed certificates.
+
+[[sthref1090]]
+
+=== Operands
+
+DN::
+  The distinguished name of the certificate, specified as a
+  comma-separated list in quotes. For example,
+  `"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`
+  .
+
+[[sthref1091]]
+
+=== Examples
+
+[[GSRFM598]][[sthref1092]]
+
+==== Example 1   Disables trust of a DN for secure administration
+
+The following example shows how to disable trust of a DN for authorizing
+access in secure administration.
+
+[source]
+----
+asadmin> disable-secure-admin-principal
+"CN=system.amer.oracle.com,OU=GlassFish,
+O=Oracle Corporation,L=Santa Clara,ST=California,C=US"
+
+Command disable-secure-admin-principal executed successfully.
+----
+
+[[sthref1093]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1094]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
+link:enable-secure-admin-principal.html#enable-secure-admin-principal-1[`enable-secure-admin-principal`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/disable-secure-admin.adoc b/docs/reference-manual/src/main/asciidoc/disable-secure-admin.adoc
new file mode 100644
index 0000000..b58236a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/disable-secure-admin.adoc
@@ -0,0 +1,87 @@
+type=page
+status=published
+title=disable-secure-admin
+next=disable-secure-admin-internal-user.html
+prev=disable-monitoring.html
+~~~~~~
+
+= disable-secure-admin
+
+[[disable-secure-admin-1]][[GSRFM00121]][[disable-secure-admin]]
+
+== disable-secure-admin
+
+Disables secure admin if it is already enabled.
+
+[[sthref1072]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] disable-secure-admin [--help]
+----
+
+[[sthref1073]]
+
+=== Description
+
+The `disable-secure-admin` subcommand disables secure admin if it is
+already enabled.
+
+[NOTE]
+====
+You must restart any running servers in the domain after you enable or
+disable secure admin. It is simpler to enable or disable secure admin
+with only the DAS running, then restart the DAS, and then start any
+other instances.
+====
+
+[[sthref1074]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1075]]
+
+=== Examples
+
+[[GSRFM596]][[sthref1076]]
+
+==== Example 1   Disabling `secure admin` for a domain
+
+The following example shows how to disable `secure admin` for a domain.
+
+[source]
+----
+asadmin> disable-secure-admin
+server-config
+default-config
+
+Command disable-secure-admin executed successfully.
+----
+
+[[sthref1077]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1078]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/disable.adoc b/docs/reference-manual/src/main/asciidoc/disable.adoc
new file mode 100644
index 0000000..6ee7ca1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/disable.adoc
@@ -0,0 +1,115 @@
+type=page
+status=published
+title=disable
+next=disable-http-lb-application.html
+prev=deploydir.html
+~~~~~~
+
+= disable
+
+[[disable-1]][[GSRFM00116]][[disable]]
+
+== disable
+
+Disables the component
+
+[[sthref1039]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] disable [--help]
+[--target target_name] component_name
+----
+
+[[sthref1040]]
+
+=== Description
+
+The `disable` subcommand immediately disables the specified deployed
+component. If the component has not been deployed, an error message is
+returned.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1041]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are disabling the
+  component. Valid values are:
+
+  `server`;;
+    Disables the component on the default server instance `server` and
+    is the default value.
+  domain_name;;
+    Disables the component on the named domain.
+  cluster_name;;
+    Disables the component on every server instance in the cluster.
+  instance_name;;
+    Disables the component on a particular clustered or stand-alone
+    server instance.
+
+[[sthref1042]]
+
+=== Operands
+
+component_name::
+  name of the component to be disabled. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. To disable multiple versions, you can use an
+  asterisk (`*`) as a wildcard character. For more information about
+  module and application versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and
+  Application Versions]" in {productName}
+  Application Deployment Guide.
+
+[[sthref1043]]
+
+=== Examples
+
+[[GSRFM590]][[sthref1044]]
+
+==== Example 1   Disabling a Component
+
+This example disables the deployed component `sampleApp`.
+
+[source]
+----
+asadmin> disable sampleApp
+Command disable executed successfully
+----
+
+[[sthref1045]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1046]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:deploy.html#deploy-1[`deploy`(1)],
+link:enable.html#enable-1[`enable`(1)],
+link:undeploy.html#undeploy-1[`undeploy`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/domain.adoc b/docs/reference-manual/src/main/asciidoc/domain.adoc
new file mode 100644
index 0000000..829aa60
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/domain.adoc
@@ -0,0 +1,32 @@
+type=page
+status=published
+title=domain
+next=dotted-names.html
+prev=configuration.html
+~~~~~~
+
+= domain
+
+[[domain-5asc]][[GSRFM00267]][[domain]]
+
+== domain
+
+Domains have their own configurations.
+
+[[sthref2396]]
+
+=== Description
+
+A domain provides a common authentication and administration point for a
+collection of zero or more server instances. The administration domain
+encompasses several manageable resources, including instances, clusters,
+and their individual resources. A manageable resource, such as a server
+instance, may belong to only one domain.
+
+[[sthref2397]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/dotted-names.adoc b/docs/reference-manual/src/main/asciidoc/dotted-names.adoc
new file mode 100644
index 0000000..41da17a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/dotted-names.adoc
@@ -0,0 +1,235 @@
+type=page
+status=published
+title=dotted-names
+next=instance.html
+prev=domain.html
+~~~~~~
+
+= dotted-names
+
+[[dotted-names-5asc]][[GSRFM00268]][[dotted-names]]
+
+== dotted-names
+
+Syntax for using periods to separate name elements
+
+[[sthref2398]]
+
+=== Description
+
+A dotted name is an identifier for a particular {productName}
+element, such as a configurable or a monitorable object. A dotted name
+uses the period (.), known as dot, as a delimiter to separate the parts
+of an element name. The period in a dotted name is similar to the slash
+(/) character that delimits the levels in the absolute path name of a
+file in the UNIX file system.
+
+The subcommands of the `asadmin` utility use dotted names as follows:
+
+* The `list` subcommand provides the fully qualified dotted names of the
+management components' attributes.
+* The `get` subcommand provides access to the attributes.
+* The `set` subcommand enables you to modify configurable attributes and
+set properties.
+
+The configuration hierarchy is loosely based on the domain's schema
+document, and the attributes are modifiable. The attributes of the
+monitoring hierarchy are read-only.
+
+The following format is used for configuration dotted names (italic
+indicates replaceable):
+
+config-name`.`config-element-name`.`primary-key`.`attribute-name `|`
+instance-name`.`config-element-name`.`primary-key`.`attribute-name
+
+The following format is used for resource dotted names (italic indicates
+replaceable):
+
+server-name`.`resource-name`.`primary-key`.`attribute-name
+`| domain.resources.`resource-name`.`primary-key`.`attribute-name
+
+The following rules apply to forming dotted names:
+
+* The top-level is configuration, server, or domain name. For example,
+`server-config` (default configuration), `server` (default server), or
+`domain1` (default domain).
+* A dot (.) always separates two sequential parts of the name.
+* A part of the name usually identifies a server subsystem or its
+specific instance. For example, `web-container`, `log-service`,
+`thread-pool-1`.
+* If any part of the name itself contains a dot (.), then the dot must
+be escaped with a leading `\` (backslash) so that the `.` (dot) does not
+act like a delimiter. For further information on escape characters, see
+the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+* An `\*` (asterisk) character can be used anywhere in the dotted name
+and acts like the wildcard character in regular expressions.
+Additionally, an `*` can collapse all the parts of the dotted name. For
+example, a long dotted name such as `this.is.really.long.hierarchy` can
+be abbreviated to `th*.hierarchy`. The `.` (dot) always delimits the
+parts of the dotted name.
++
+[NOTE]
+====
+Characters that have special meaning to the shell or command
+interpreter, such as * (asterisk), should be quoted or escaped as
+appropriate to the shell, for example, by enclosing the argument in
+quotes. In multimode, quotes are needed only for arguments that include
+spaces, quotes, or backslash.
+====
+
+* The `--monitor` option of the `get` and `list` subcommands selects the
+monitoring or configuration hierarchy. If the subcommand specifies
+`--monitor``=false` (the default), the configuration hierarchy is
+selected. If the subcommand specifies `--monitor``=true`, the monitoring
+hierarchy is selected.
+* If you know the complete dotted name and do not need to use a
+wildcard, the `list`, `get`, and `set` subcommands treat the name
+differently:
+
+** The `list` subcommand treats a complete dotted name as the name of a
+parent node in the abstract hierarchy. When you specify this name to the
+`list` subcommand, the names of the immediate children at that level are
+returned. For example, the following command lists all the web modules
+deployed to the domain or the default server:
++
+[source]
+----
+asadmin> list server.applications.web-module
+----
+
+** The `get` and `set` subcommands treat a complete dotted name as the
+fully qualified name of the attribute of a node (whose dotted name
+itself is the name that you get when you remove the last part of this
+dotted name). When you specify this name to the `get` or `set`
+subcommand, the subcommand acts on the value of that attribute, if such
+an attribute exists. You will never start with this case because in
+order to find out the names of attributes of a particular node in the
+hierarchy, you must use the * wildcard character . For example, the
+following dotted name returns the context root of the web application
+deployed to the domain or default server:
++
+[source]
+----
+server.applications.web-module.JSPWiki.context-root
+----
+
+[[sthref2399]]
+
+=== Examples
+
+[[GSRFM815]][[sthref2400]]
+
+==== Example 1   Listing All Configurable Elements
+
+This example lists all the configurable elements.
+
+[source]
+----
+asadmin> list *
+----
+
+Output similar to the following is displayed:
+
+[source]
+----
+applications
+configs
+configs.config.server-config
+configs.config.server-config.admin-service
+configs.config.server-config.admin-service.das-config
+configs.config.server-config.admin-service.jmx-connector.system
+configs.config.server-config.admin-service.property.adminConsoleContextRoot
+configs.config.server-config.admin-service.property.adminConsoleDownloadLocation
+configs.config.server-config.admin-service.property.ipsRoot
+configs.config.server-config.ejb-container
+configs.config.server-config.ejb-container.ejb-timer-service
+configs.config.server-config.http-service
+configs.config.server-config.http-service.access-log
+configs.config.server-config.http-service.virtual-server.__asadmin
+configs.config.server-config.http-service.virtual-server.server
+configs.config.server-config.iiop-service
+configs.config.server-config.iiop-service.iiop-listener.SSL
+configs.config.server-config.iiop-service.iiop-listener.SSL.ssl
+configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH
+configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH.ssl
+configs.config.server-config.iiop-service.iiop-listener.orb-listener-1
+configs.config.server-config.iiop-service.orb
+configs.config.server-config.java-config
+configs.config.server-config.jms-service
+configs.config.server-config.jms-service.jms-host.default_JMS_host
+configs.config.server-config.mdb-container
+configs.config.server-config.monitoring-service
+configs.config.server-config.monitoring-service.module-monitoring-levels
+...
+property.administrative.domain.name
+resources
+resources.jdbc-connection-pool.DerbyPool
+resources.jdbc-connection-pool.DerbyPool.property.DatabaseName
+resources.jdbc-connection-pool.DerbyPool.property.Password
+resources.jdbc-connection-pool.DerbyPool.property.PortNumber
+resources.jdbc-connection-pool.DerbyPool.property.User
+resources.jdbc-connection-pool.DerbyPool.property.connectionAttributes
+resources.jdbc-connection-pool.DerbyPool.property.serverName
+resources.jdbc-connection-pool.__TimerPool
+resources.jdbc-connection-pool.__TimerPool.property.connectionAttributes
+resources.jdbc-connection-pool.__TimerPool.property.databaseName
+resources.jdbc-resource.jdbc/__TimerPool
+resources.jdbc-resource.jdbc/__default
+servers
+servers.server.server
+servers.server.server.resource-ref.jdbc/__TimerPool
+servers.server.server.resource-ref.jdbc/__default
+system-applications
+Command list executed successfully.
+----
+
+[[GSRFM816]][[sthref2401]]
+
+==== Example 2   Listing All the Monitorable Objects
+
+The following example lists all the monitorable objects.
+
+[source]
+----
+asadmin> list --monitor *
+----
+
+Output similar to the following is displayed:
+
+[source]
+----
+server
+server.jvm
+server.jvm.class-loading-system
+server.jvm.compilation-system
+server.jvm.garbage-collectors
+server.jvm.garbage-collectors.Copy
+server.jvm.garbage-collectors.MarkSweepCompact
+server.jvm.memory
+server.jvm.operating-system
+server.jvm.runtime
+server.network
+server.network.admin-listener
+server.network.admin-listener.connections
+server.network.admin-listener.file-cache
+server.network.admin-listener.keep-alive
+server.network.admin-listener.thread-pool
+server.network.http-listener-1
+server.network.http-listener-1.connections
+server.network.http-listener-1.file-cache
+server.network.http-listener-1.keep-alive
+server.network.http-listener-1.thread-pool
+server.transaction-service
+Command list executed successfully.
+----
+
+[[sthref2402]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
+link:set.html#set-1[`set`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/enable-http-lb-application.adoc b/docs/reference-manual/src/main/asciidoc/enable-http-lb-application.adoc
new file mode 100644
index 0000000..57b5246
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/enable-http-lb-application.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=enable-http-lb-application
+next=enable-http-lb-server.html
+prev=enable.html
+~~~~~~
+
+= enable-http-lb-application
+
+[[enable-http-lb-application-1]][[GSRFM00126]][[enable-http-lb-application]]
+
+== enable-http-lb-application
+
+Enables a previously-disabled application managed by a load balancer
+
+[[sthref1103]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] enable-http-lb-application [--help]
+--name application_name target
+----
+
+[[sthref1104]]
+
+=== Description
+
+The `enable-http-lb-application` subcommand enables load balancing for
+applications deployed on a standalone instance or cluster. You can
+enable load balancing for an application on all instances in a cluster,
+or on a single standalone server instance. By default, load balancing is
+enabled for applications.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref1105]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  The name of the application to be enabled.
+
+[[sthref1106]]
+
+=== Operands
+
+target::
+  This operand specifies on which server instance or cluster to enable
+  the application. Valid values are:
++
+  * cluster_name- The name of a target cluster.
+  * instance_name- The name of a target server instance.
+
+[[sthref1107]]
+
+=== Examples
+
+[[GSRFM601]][[sthref1108]]
+
+==== Example 1   Enabling Load Balancing for an Application
+
+This example enables an application named `webapps-simple` to use load
+balancing on a cluster named `mycluster`.
+
+[source]
+----
+asadmin> enable-http-lb-application --name webapps-simple mycluster
+
+Command enable-http-lb-application executed successfully.
+----
+
+[[sthref1109]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1110]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:disable-http-lb-application.html#disable-http-lb-application-1[`disable-http-lb-application`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/enable-http-lb-server.adoc b/docs/reference-manual/src/main/asciidoc/enable-http-lb-server.adoc
new file mode 100644
index 0000000..2e4a261
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/enable-http-lb-server.adoc
@@ -0,0 +1,98 @@
+type=page
+status=published
+title=enable-http-lb-server
+next=enable-monitoring.html
+prev=enable-http-lb-application.html
+~~~~~~
+
+= enable-http-lb-server
+
+[[enable-http-lb-server-1]][[GSRFM00127]][[enable-http-lb-server]]
+
+== enable-http-lb-server
+
+Enables a previously disabled sever or cluster managed by a load
+balancer
+
+[[sthref1111]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] enable-http-lb-server [--help]
+target
+----
+
+[[sthref1112]]
+
+=== Description
+
+The `enable-http-lb-server` subcommand enables a standalone server
+instance or cluster for load balancing. By default, load balancing is
+enabled for instances and clusters.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref1113]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1114]]
+
+=== Operands
+
+target::
+  This operand specifies which server instances and clusters to enable.
+  Valid values are:
+
+  * cluster_name- The name of a target cluster.
+  * instance_name- The name of a target server instance.
+
+[[sthref1115]]
+
+=== Examples
+
+[[GSRFM602]][[sthref1116]]
+
+==== Example 1   Enabling a Cluster for Load Balancing
+
+This example enables load balancing for a cluster named `mycluster`.
+
+[source]
+----
+asadmin> enable-http-lb-server mycluster
+
+Command enable-http-lb-server executed successfully.
+----
+
+[[sthref1117]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1118]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)],
+link:disable-http-lb-server.html#disable-http-lb-server-1[`disable-http-lb-server`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/enable-monitoring.adoc b/docs/reference-manual/src/main/asciidoc/enable-monitoring.adoc
new file mode 100644
index 0000000..ded1862
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/enable-monitoring.adoc
@@ -0,0 +1,173 @@
+type=page
+status=published
+title=enable-monitoring
+next=enable-secure-admin.html
+prev=enable-http-lb-server.html
+~~~~~~
+
+= enable-monitoring
+
+[[enable-monitoring-1]][[GSRFM00128]][[enable-monitoring]]
+
+== enable-monitoring
+
+Enables monitoring for the server or for specific monitorable modules
+
+[[sthref1119]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] enable-monitoring [--help]
+[--target target]
+[--mbean={false|true}]
+[--dtrace={true|false}]
+[--modules modules[=level][:module[=level]]*
+[--pid pid]
+[--options options]]
+----
+
+[[sthref1120]]
+
+=== Description
+
+The `enable-monitoring` subcommand is used to turn on monitoring for
+{productName} or for particular modules during runtime. Changes are
+dynamic, that is, server restart is not required.
+
+By default, the monitoring service is enabled, that is, the
+`monitoring-enabled` attribute of the `monitoring-service` element is
+`true`. However, the default monitoring level for individual modules is
+`OFF`. This subcommand used with the `--modules` option can enable
+monitoring for a given module by setting the monitoring level to HIGH or
+LOW. If level is not specified when running the subcommand, the level
+defaults to HIGH.
+
+The specific meanings of HIGH or LOW are determined by the individual
+containers. For a list of monitorable modules, see the `--modules`
+option in this help page.
+
+An alternative method for enabling monitoring is to use the `set`
+subcommand. In this case, the server must be restarted for changes to
+take effect.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1121]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target on which to enabling monitoring. Valid values are
+  as follows:
+
+  `server`;;
+    Enables monitoring for the default server instance `server` and is
+    the default value.
+  configuration-name;;
+    Enables monitoring for the named configuration.
+  cluster-name;;
+    Enables monitoring for every server instance in the cluster.
+  instance-name;;
+    Enables monitoring for a particular server instance.
+
+`--mbean`::
+  Enables Mbean monitoring. Default value is false.
+`--dtrace`::
+  Only usable if the DTrace Monitoring module is present. Enables Oracle
+  Solaris DTrace monitoring. Default value is false.
+`--modules`::
+  Enables specified module or modules by indicating monitoring level.
+  Valid levels are OFF, HIGH, LOW. If level is not specified, the
+  default setting is HIGH. Multiple modules are separated by : (colon).
+  Monitorable modules include `connector-connection-pool`,
+  `connector-service`, `ejb-container`, `http-service`,
+  `jdbc-connection-pool`, `jersey`, `jpa`, `jms-service`, `jvm`,
+  `security`, `thread-pool`, `transaction-service`, `web-container`, and
+  `web-services-container`. Additional modules can be listed by using
+  the `get` subcommand.
+`--pid`::
+  Specifies the {productName} JVM process identifier (PID). When
+  monitoring is enabled, the `btrace-agent` is attached, based on the
+  specified PID. Need to specify only in exceptional cases when the
+  system cannot determine the PID. In this situation, the subcommand
+  prompts for the PID of the corresponding {productName}process.
+`--options`::
+  Sets the following `btrace-agent` options:
+
+  `debug`;;
+    Enables debugging for BTrace. Default value is false.
+
+[[sthref1122]]
+
+=== Examples
+
+[[GSRFM603]][[sthref1123]]
+
+==== Example 1   Enabling the Monitoring Service for {productName}
+
+This example enables monitoring for {productName} in general by
+setting the `enable-monitoring` flag to `true` (default is `true`).
+
+[source]
+----
+asadmin> enable-monitoring
+Command enable-monitoring executed successfully
+----
+
+[[GSRFM604]][[sthref1124]]
+
+==== Example 2   Enabling Monitoring for the Web and EJB Containers
+
+This example enables monitoring for specific containers by setting their
+monitoring levels.
+
+[source]
+----
+asadmin> enable-monitoring --modules web-container=LOW:ejb-container=HIGH
+Command enable-monitoring executed successfully
+----
+
+[[GSRFM605]][[sthref1125]]
+
+==== Example 3   Turning on Debugging for Monitoring
+
+This example turns on debugging.
+
+[source]
+----
+asadmin> enable-monitoring --options debug=true
+Command enable-monitoring executed successfully
+----
+
+[[sthref1126]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1127]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:disable-monitoring.html#disable-monitoring-1[`disable-monitoring`(1)],
+link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
+link:monitor.html#monitor-1[`monitor`(1)], link:set.html#set-1[`set`(1)]
+
+link:monitoring.html#monitoring-5asc[`monitoring`(5ASC)]
+
+"link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/enable-secure-admin-internal-user.adoc b/docs/reference-manual/src/main/asciidoc/enable-secure-admin-internal-user.adoc
new file mode 100644
index 0000000..af9d96b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/enable-secure-admin-internal-user.adoc
@@ -0,0 +1,141 @@
+type=page
+status=published
+title=enable-secure-admin-internal-user
+next=enable-secure-admin-principal.html
+prev=enable-secure-admin.html
+~~~~~~
+
+= enable-secure-admin-internal-user
+
+[[enable-secure-admin-internal-user-1]][[GSRFM00130]][[enable-secure-admin-internal-user]]
+
+== enable-secure-admin-internal-user
+
+Instructs the {productName} DAS and instances to use the specified
+admin user and the password associated with the password alias to
+authenticate with each other and to authorize admin operations.
+
+[[sthref1135]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] enable-secure-admin-internal-user [--help]
+[--passwordalias pwdaliasname]
+admin-username
+----
+
+[[sthref1136]]
+
+=== Description
+
+The `enable-secure-admin-internal-user` subcommand instructs all servers
+in the domain to authenticate to each other, and to authorize admin
+operations submitted to each other, using an existing admin username and
+password rather than SSL certificates. This generally means that you
+must:
+
+1. Create a valid admin user.
++
+[source]
+----
+asadmin> create-file-user --authrealmname admin-realm --groups
+asadmin newAdminUsername
+----
+2. Create a password alias for the just-created password.
++
+[source]
+----
+asadmin> create-password-alias passwordAliasName
+----
+3. Use that user name and password for inter-process authentication and
+admin authorization.
++
+[source]
+----
+asadmin> enable-secure-admin-internal-user
+--passwordalias passwordAliasName
+newAdminUsername
+----
+
+If {productName} finds at least one secure admin internal user, then
+if secure admin is enabled {productName} processes will not use SSL
+authentication and authorization with each other and will instead use
+username password pairs.
+
+If secure admin is enabled, all {productName} processes continue to
+use SSL encryption to secure the content of the admin messages,
+regardless of how they authenticate to each other.
+
+Most users who use this subcommand will need to set up only one secure
+admin internal user. As a general practice, you should not use the same
+user name and password pair for internal admin communication and for
+admin user login.
+
+If you set up more than one secure admin internal user, you should not
+make any assumptions about which user name and password pair
+{productName} will choose to use for any given admin request.
+
+[[sthref1137]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--passwordalias`::
+  The password alias for the user that {productName} should use for
+  internally authenticating and authorizing the DAS to instances and the
+  instances to the DAS.
+
+[[sthref1138]]
+
+=== Operands
+
+admin-username::
+  The admin user name that {productName} should use for internally
+  authenticating and authorizing the DAS to instances and the instances
+  to the DAS.
+
+[[sthref1139]]
+
+=== Examples
+
+[[GSRFM607]][[sthref1140]]
+
+==== Example 1   Specifying a user name and password for secure admin
+
+The following example allows secure admin to use a user name and
+password alias for authentication and authorization between the DAS and
+instances, instead of certificates.
+
+[source]
+----
+asadmin> enable-secure-admin-internal-user
+--passwordalias passwordAliasName
+newAdminUsername
+----
+
+[[sthref1141]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1142]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:disable-secure-admin-internal-user.html#disable-secure-admin-internal-user-1[`disable-secure-admin-internal-user`(1)],
+link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/enable-secure-admin-principal.adoc b/docs/reference-manual/src/main/asciidoc/enable-secure-admin-principal.adoc
new file mode 100644
index 0000000..ff23bd5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/enable-secure-admin-principal.adoc
@@ -0,0 +1,119 @@
+type=page
+status=published
+title=enable-secure-admin-principal
+next=export.html
+prev=enable-secure-admin-internal-user.html
+~~~~~~
+
+= enable-secure-admin-principal
+
+[[enable-secure-admin-principal-1]][[GSRFM00131]][[enable-secure-admin-principal]]
+
+== enable-secure-admin-principal
+
+Instructs {productName}, when secure admin is enabled, to accept
+admin requests from clients identified by the specified SSL certificate.
+
+[[sthref1143]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] enable-secure-admin-principal [--help]
+--alias aliasname | DN
+----
+
+[[sthref1144]]
+
+=== Description
+
+The `enable-secure-admin-principal` subcommand instructs
+{productName} to accept admin requests when accompanied by an SSL
+certificate with the specified distinguished name (DN). If you use the
+"`--alias` aliasname" form, then {productName} looks in its
+truststore for a certificate with the specified alias and uses the DN
+associated with that certificate. Otherwise, {productName} records
+the value you specify as the DN.
+
+You must specify either the `--alias` option, or the DN.
+
+You can run `enable-secure-admin-principal` multiple times so that
+{productName} accepts admin requests from a client sending a
+certificate with any of the DNs you specify.
+
+When you run `enable-secure-admin`, {productName} automatically
+records the DNs for the admin alias and the instance alias, whether you
+specify those values or use the defaults. You do not need to run
+`enable-secure-admin-principal` yourself for those certificates. Other
+than these certificates, you must run `enable-secure-admin-principal`
+for any other DN that {productName} should authorize to send admin
+requests. This includes DNs corresponding to trusted certificates (those
+with a certificate chain to a trusted authority.)
+
+[[sthref1145]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--alias`::
+  The alias name of the certificate in the trust store.
+  {productName} looks up certificate in the trust store using that
+  alias and, if found, stores the corresponding DN as being valid for
+  secure administration. Because alias-name must be an alias associated
+  with a certificate currently in the trust store, you may find it most
+  useful for self-signed certificates.
+
+[[sthref1146]]
+
+=== Operands
+
+DN::
+  The distinguished name of the certificate, specified as a
+  comma-separated list in quotes. For example,
+  `"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`.
+
+[[sthref1147]]
+
+=== Examples
+
+[[GSRFM608]][[sthref1148]]
+
+==== Example 1   Trusting a DN for secure administration
+
+The following example shows how to specify a DN for authorizing access
+in secure administration.
+
+[source]
+----
+asadmin> enable-secure-admin-principal
+"CN=system.amer.oracle.com,OU=GlassFish,
+O=Oracle Corporation,L=Santa Clara,ST=California,C=US"
+
+Command enable-secure-admin-principal executed successfully.
+----
+
+[[sthref1149]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1150]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:disable-secure-admin-principal.html#disable-secure-admin-principal-1[`disable-secure-admin-principal`(1)],
+link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/enable-secure-admin.adoc b/docs/reference-manual/src/main/asciidoc/enable-secure-admin.adoc
new file mode 100644
index 0000000..105f098
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/enable-secure-admin.adoc
@@ -0,0 +1,122 @@
+type=page
+status=published
+title=enable-secure-admin
+next=enable-secure-admin-internal-user.html
+prev=enable-monitoring.html
+~~~~~~
+
+= enable-secure-admin
+
+[[enable-secure-admin-1]][[GSRFM00129]][[enable-secure-admin]]
+
+== enable-secure-admin
+
+Enables secure admin (if it is not already enabled), optionally changing
+the alias used for DAS-to-instance admin messages or the alias used for
+instance-to-DAS admin messages.
+
+[[sthref1128]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] enable-secure-admin [--help]
+[--adminalias=alias]
+[--instancealias=alias]
+----
+
+[[sthref1129]]
+
+=== Description
+
+The `enable-secure-admin` subcommand causes the DAS and the instances in
+the domain to use SSL certificates for encrypting the messages they send
+to each other. This subcommand also allows the DAS to accept
+administration messages from remote admin clients such as the asadmin
+utility and IDEs.
+
+
+[NOTE]
+====
+You must restart any running servers in the domain after you enable or
+disable secure admin. It is simpler to enable or disable secure admin
+with only the DAS running, then restart the DAS, and then start any
+other instances.
+====
+
+
+By default, when secure admin is enabled the DAS and the instances use
+these SSL certificates to authenticate to each other as security
+"principals" and to authorize admin access. The `--asadminalias` value
+indicates to the DAS which SSL certificate it should use to identify
+itself to the instances. The `--instancealias` value determines for
+instances which SSL certificate they should use to identify themselves
+to the DAS.
+
+The `enable-secure-admin` subcommand fails if any administrative user in
+the domain has a blank password.
+
+Alternatively, you can use the `enable-secure-admin-internal-user`
+subcommand to cause the servers to identify themselves using a secure
+admin user name and password.
+
+[[sthref1130]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--adminalias`::
+  The alias that refers to the SSL/TLS certificate on the DAS. This
+  alias is used by the DAS to identify itself to instances. The default
+  value is `s1as`.
+`--instancealias`::
+  The alias that refers to the SSL/TLS certificate on the instances.
+  This alias is used by the instances to identify themselves to the DAS.
+  The default value is `glassfish-instance`.
+
+[[sthref1131]]
+
+=== Examples
+
+[[GSRFM606]][[sthref1132]]
+
+==== Example 1   Enabling `secure admin` for a domain
+
+The following example shows how to enable `secure admin` for a domain
+using an admin alias `adtest` and an instance alias `intest`
+
+[source]
+----
+asadmin> enable-secure-admin --adminalias adtest --instancealias intest
+server-config
+default-config
+
+Command enable-secure-admin executed successfully.
+----
+
+[[sthref1133]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1134]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:disable-secure-admin.html#disable-secure-admin-1[`disable-secure-admin`(1)],
+link:enable-secure-admin-principal.html#enable-secure-admin-principal-1[`enable-secure-admin-principal`(1)],
+link:enable-secure-admin-internal-user.html#enable-secure-admin-internal-user-1[`enable-secure-admin-internal-user`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/enable.adoc b/docs/reference-manual/src/main/asciidoc/enable.adoc
new file mode 100644
index 0000000..0a75462
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/enable.adoc
@@ -0,0 +1,116 @@
+type=page
+status=published
+title=enable
+next=enable-http-lb-application.html
+prev=disable-secure-admin-principal.html
+~~~~~~
+
+= enable
+
+[[enable-1]][[GSRFM00124]][[enable]]
+
+== enable
+
+Enables the component
+
+[[sthref1095]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] enable [--help]
+[--target target_name] component_name
+----
+
+[[sthref1096]]
+
+=== Description
+
+The `enable` subcommand enables the specified deployed component. If the
+component is already enabled, then it is re-enabled. If it has not been
+deployed, then an error message is returned.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1097]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are enabling the
+  component. Valid values are:
+
+  `server`;;
+    Enables the default server instance `server` and is the default
+    value.
+  domain_name;;
+    Enables the named domain.
+  cluster_name;;
+    Enables every server instance in the cluster.
+  instance_name;;
+    Enables a particular clustered or stand-alone server instance.
+
+[[sthref1098]]
+
+=== Operands
+
+component_name::
+  name of the component to be enabled. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. For more information about module and application
+  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[
+  Module and Application Versions]" in
+  {productName} Application Deployment Guide. +
+  At most one version of a module or application can be enabled on a
+  server instance. All other versions are disabled. Enabling one version
+  automatically disables all others.
+
+[[sthref1099]]
+
+=== Examples
+
+[[GSRFM599]][[sthref1100]]
+
+==== Example 1   Enabling a Component
+
+This example enables the disabled component, `sampleApp`.
+
+[source]
+----
+asadmin> enable sampleApp
+Command enable executed successfully
+----
+
+[[sthref1101]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1102]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:deploy.html#deploy-1[`deploy`(1)],
+link:disable.html#disable-1[`disable`(1)],
+link:undeploy.html#undeploy-1[`undeploy`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/export-http-lb-config.adoc b/docs/reference-manual/src/main/asciidoc/export-http-lb-config.adoc
new file mode 100644
index 0000000..03280e0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/export-http-lb-config.adoc
@@ -0,0 +1,156 @@
+type=page
+status=published
+title=export-http-lb-config
+next=export-sync-bundle.html
+prev=export.html
+~~~~~~
+
+= export-http-lb-config
+
+[[export-http-lb-config-1]][[GSRFM00133]][[export-http-lb-config]]
+
+== export-http-lb-config
+
+Exports the load balancer configuration or load balancer to a file
+
+[[sthref1161]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] export-http-lb-config [--help]
+--config config_name | --lbname load_balancer_name
+[--target target] [--retrievefile=false] [file_name]
+----
+
+[[sthref1162]]
+
+=== Description
+
+The `export-http-lb-config` subcommand exports a load balancer
+configuration or load balancer into a file that the load balancer
+plug-in can use. The default file name is `loadbalancer.xml`, but you
+can specify a different name. Once exported, you manually copy the
+exported file to the load balancer plug-in location before configuration
+changes are applied. The `--target` option makes it possible to generate
+a `loadbalancer.xml` for clusters or standalone instances without having
+to manually create `lb-config` or `load-balancer` elements in the
+target's `domain.xml`.
+
+To apply changes to the load balancer without manually copying the
+configuration file, configure the load balancer to automatically apply
+changes with `create-http-lb`. If you use the `create-http-lb`
+subcommand, you do not need to use `export-http-lb-config`.
+
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+
+[[sthref1163]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--config`::
+  Specifies which load balancer configuration to export. +
+  Specify either a load balancer configuration or a load balancer.
+  Specifying both results in an error.
+`--lbname`::
+  Specifies the load balancer to export. +
+  Specify either a load balancer configuration or a load balancer.
+  Specifying both results in an error.
+`--retrievefile`::
+  If set to `true`, retrieves the `loadbalancer.xml` file from the
+  remote machine. The default is `false`.
+`--target`::
+  Specifies the target to which the load balancer configuration will be
+  exported. If a target is not specified, the load balancer
+  configuration is exported to the location specified with file_name.
+
+[[sthref1164]]
+
+=== Operands
+
+file_name::
+  Specifies the file name and location of the exported configuration.
+
+  * If you specify a directory (relative or absolute) but not a file
+  name, the file named `loadbalancer.xml.`load_balancer_config_name is
+  created in the specified directory. On Microsoft Windows systems the
+  path must be in quotes.
+  * If you specify a file name in a relative or absolute path, the file
+  is created with the name you specify in the directory you specify.
+  * If you specify a file name but do not specify a directory, the file
+  is created with that name in the current working directory.
+  * If you do not specify this operand, the default value is a file
+  named `loadbalancer.xml.`load_balancer_config_name created in the
+  domain-dir``/generated`` directory.
+target::
+  Specifies the target to which the configuration will be exported. +
+  Valid values are:
+
+  * cluster_name- Specifies a cluster and its server instances.
+  * stand-alone_instance_name- Specifies a specific server instance.
+
+[[sthref1165]]
+
+=== Examples
+
+[[GSRFM612]][[sthref1166]]
+
+==== Example 1   Exporting a Load Balancer Configuration on UNIX
+
+The following example exports a load balancing configuration named
+`mycluster-http-lb-config` to a file named `loadbalancer.xml` in the
+`/Sun/AppServer` directory .
+
+[source]
+----
+asadmin> export-http-lb-config --config mycluster-http-lb-config /Sun/AppServer/loadbalancer.xml
+Command export-http-lb-config executed successfully.
+----
+
+[[GSRFM613]][[sthref1167]]
+
+==== Example 2   Exporting a Load Balancer Configuration on Windows
+
+The following example exports a load balancing configuration named
+`mycluster-http-lb-config` to a file named `loadbalancer.xml` in the
+`C:\Sun\AppServer` directory on a Microsoft Windows system.
+
+[source]
+----
+asadmin> export-http-lb-config --config mycluster-http-lb-config "C:\Sun\AppServer\loadbalancer.xml"
+Command export-http-lb-config executed successfully.
+----
+
+[[sthref1168]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1169]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
+link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)],
+link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/export-sync-bundle.adoc b/docs/reference-manual/src/main/asciidoc/export-sync-bundle.adoc
new file mode 100644
index 0000000..1f7bfb1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/export-sync-bundle.adoc
@@ -0,0 +1,157 @@
+type=page
+status=published
+title=export-sync-bundle
+next=flush-connection-pool.html
+prev=export-http-lb-config.html
+~~~~~~
+
+= export-sync-bundle
+
+[[export-sync-bundle-1]][[GSRFM00134]][[export-sync-bundle]]
+
+== export-sync-bundle
+
+Exports the configuration data of a cluster or standalone instance to an
+archive file
+
+[[sthref1170]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] export-sync-bundle [--help]
+--target target
+[--retrieve={false|true}]
+[file-name]
+----
+
+[[sthref1171]]
+
+=== Description
+
+The `export-sync-bundle` subcommand exports the configuration data of a
+cluster or standalone instance to an archive file. The archive file can
+then be used with the
+link:import-sync-bundle.html#import-sync-bundle-1[`import-sync-bundle`(1)]
+subcommand to restore the configuration data.
+
+Importing an instance's configuration data transfers the data to a host
+for an instance without the need for the instance to be able to
+communicate with the domain administration server (DAS). Importing an
+instance's configuration data is typically required for the following
+reasons:
+
+* To reestablish the instance after an upgrade
+* To synchronize the instance manually with the DAS when the instance
+cannot contact the DAS
+
+The subcommand creates an archive that contains the following files and
+directories in the current domain directory:
+
+* All the files in the following directories:
+** `config`
+** `docroot`
+
+* The entire contents of the following directories and their subdirectories:
+** `applications`
+** ``config/``target, where target is the cluster or standalone instance
+for which configuration data is being exported
+** `generated`
+** `lib`
+
+This subcommand is supported in remote mode only.
+
+[[sthref1172]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  The cluster or standalone instance for which to export configuration
+  data. The `--target` option is required. +
+  This option must not specify a clustered {productName} instance.
+  If this option specifies a clustered instance, an error occurs. To
+  export configuration data for a clustered instance, specify the name
+  of the cluster of which the instance is a member, not the instance.
+`--retrieve`::
+  Specifies whether the archive file is downloaded from the DAS host to
+  the host where the subcommand is run.
+  Possible values are as follows:
+
+  `true`;;
+    The archive file is downloaded to the host where the subcommand is
+    run.
+  `false`;;
+    The archive file is not downloaded and remains on the DAS host
+    (default).
+
+[[sthref1173]]
+
+=== Operands
+
+file-name::
+  The file name and location of the archive file to which to export the data.
+  The default depends on the setting of the `--retrieve` option:
+
+  * If `--retrieve` is `false`, the default is
+  `sync/`target`-sync-bundle.zip` in the current domain directory.
+  * If `--retrieve` is `true`, the default is target``-sync-bundle.zip``
+  in the current working directory. +
+  target is the cluster or standalone instance that the `--target`
+  option specifies. +
+  If a relative path is specified, the directory to which the path is
+  appended depends on the setting of the `--retrieve` option:
+
+  * If `--retrieve` is `false`, the path is appended to the `config`
+  subdirectory of the current domain directory.
+  * If `--retrieve` is `true`, the path is appended to the current
+  working directory.
+
++
+If an existing directory is specified without a filename, the file
+  name of the archive file is target``-sync-bundle.zip``, where target is
+  the cluster or standalone instance that the `--target` option specifies.
+
+[[sthref1174]]
+
+=== Examples
+
+[[GSRFM614]][[sthref1175]]
+
+==== Example 1   Exporting the Configuration Data of a Cluster
+
+This example exports the configuration data of the cluster `pmdcluster`.
+
+[source]
+----
+asadmin> export-sync-bundle --target=pmdcluster
+Sync bundle: /export/glassfish7/glassfish/domains/domain1/sync/
+pmdcluster-sync-bundle.zip
+
+Command export-sync-bundle executed successfully.
+----
+
+[[sthref1176]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1177]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:import-sync-bundle.html#import-sync-bundle-1[`import-sync-bundle`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/export.adoc b/docs/reference-manual/src/main/asciidoc/export.adoc
new file mode 100644
index 0000000..84f5735
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/export.adoc
@@ -0,0 +1,129 @@
+type=page
+status=published
+title=export
+next=export-http-lb-config.html
+prev=enable-secure-admin-principal.html
+~~~~~~
+
+= export
+
+[[export-1]][[GSRFM00132]][[export]]
+
+== export
+
+Marks a variable name for automatic export to the environment of
+subsequent commands in multimode
+
+[[sthref1151]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] export [--help]
+[variable-name=value [variable-name=value]*]
+----
+
+[[sthref1152]]
+
+=== Description
+
+In multimode, the `export` subcommand marks an environment variable for
+automatic export to the environment of subsequent commands. All
+subsequent commands use the variable name value as specified unless you
+exit multimode, or use the `unset` subcommand to unset the variable. If
+only the variable name is specified, the current value of that variable
+name is displayed.
+
+If the `export` subcommand is used without any arguments, a list of all
+the exported variables and their values is displayed. Exported shell
+environment variables set prior to invoking the `asadmin` utility are
+imported automatically and set as exported variables within `asadmin`.
+Environment variables that are not exported cannot be read by the
+`asadmin` utility.
+
+This subcommand is supported in local mode only.
+
+[[sthref1153]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1154]]
+
+=== Operands
+
+variable-name=value::
+  Variable name and value for automatic export to the environment to be
+  used by subsequent commands.
+
+[[sthref1155]]
+
+=== Examples
+
+[[GSRFM609]][[sthref1156]]
+
+==== Example 1   Listing the Environment Variables That Are Set
+
+This example lists the environment variables that have been set.
+
+[source]
+----
+asadmin> export
+AS_ADMIN_USER = admin
+AS_ADMIN_HOST = bluestar
+AS_ADMIN_PREFIX = server1.jms-service
+AS_ADMIN_PORT = 8000
+Command export executed successfully
+----
+
+[[GSRFM610]][[sthref1157]]
+
+==== Example 2   Setting an Environment Variable
+
+This example sets the `AS_ADMIN_HOST` environment variable to `bluestar`.
+
+[source]
+----
+asadmin> export AS_ADMIN_HOST=bluestar
+Command export executed successfully
+----
+
+[[GSRFM611]][[sthref1158]]
+
+==== Example 3   Setting Multiple Environment Variables
+
+This example sets a number of environment variables for the multimode environment.
+
+[source]
+----
+asadmin> export AS_ADMIN_HOST=bluestar AS_ADMIN_PORT=8000
+AS_ADMIN_USER=admin AS_ADMIN_PREFIX=server1.jms-service
+Command export executed successfully
+----
+
+[[sthref1159]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1160]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:multimode.html#multimode-1[`multimode`(1)],
+link:unset.html#unset-1[`unset`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/flush-connection-pool.adoc b/docs/reference-manual/src/main/asciidoc/flush-connection-pool.adoc
new file mode 100644
index 0000000..652e0ce
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/flush-connection-pool.adoc
@@ -0,0 +1,112 @@
+type=page
+status=published
+title=flush-connection-pool
+next=flush-jmsdest.html
+prev=export-sync-bundle.html
+~~~~~~
+
+= flush-connection-pool
+
+[[flush-connection-pool-1]][[GSRFM00135]][[flush-connection-pool]]
+
+== flush-connection-pool
+
+Reintializes all connections established in the specified connection
+pool
+
+[[sthref1178]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] flush-connection-pool [--help]
+[--appname application [--modulename module]
+pool_name
+----
+
+[[sthref1179]]
+
+=== Description
+
+The `flush-connection-pool` subcommand resets a JDBC connection pool or
+a connector connection pool to its initial state. Any existing live
+connections are destroyed, which means that the transactions associated
+with these connections are lost. The subcommand then recreates the
+initial connections for the pool, and restores the pool to its steady
+pool size.
+
+This subcommand is supported in remote mode only.
+
+Application Scoped Resources
+
+The `flush-connection-pool` subcommand can target resources that are
+scoped to a specific application or module, as defined in the
+`glassfish-resources.xml` for the GlassFish domain.
+
+* To reference the `jndi-name` for an application scoped resource,
+perform the lookup using the `java:app` prefix.
+* To reference the `jndi-name` for a module scoped resource, perform the
+lookup using the `java:module` prefix.
+
+The `jndi-name` for application-scoped-resources or
+module-scoped-resources are specified using the format
+``java:app/``jdbc/myDataSource or
+``java:module/``jdbc/myModuleLevelDataSource. This naming scope is defined
+in the Jakarta EE Specification
+(`https://jakarta.ee/specifications/platform/10/`).
+
+[[sthref1180]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--appname`::
+  Name of the application in which the application scoped resource is
+  defined.
+`--modulename`::
+  Name of the module in which the module scoped resource is defined.
+
+[[sthref1181]]
+
+=== Operands
+
+pool_name::
+  Name of the connection pool to be reinitialized.
+
+[[sthref1182]]
+
+Flushing a Connection Pool
+
+This example reinitializes the JDBC connection pool named `__TimerPool`.
+
+[source]
+----
+asadmin> flush-connection-pool __TimerPool
+Command flush-connection-pool executed successfully.
+----
+
+[[sthref1183]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1184]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
+link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/flush-jmsdest.adoc b/docs/reference-manual/src/main/asciidoc/flush-jmsdest.adoc
new file mode 100644
index 0000000..1ff8d33
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/flush-jmsdest.adoc
@@ -0,0 +1,111 @@
+type=page
+status=published
+title=flush-jmsdest
+next=freeze-transaction-service.html
+prev=flush-connection-pool.html
+~~~~~~
+
+= flush-jmsdest
+
+[[flush-jmsdest-1]][[GSRFM00136]][[flush-jmsdest]]
+
+== flush-jmsdest
+
+Purges messages in a JMS destination.
+
+[[sthref1185]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] flush-jmsdest [--help]
+--desttype {topic|queue}
+[--target target]
+destname
+----
+
+[[sthref1186]]
+
+=== Description
+
+The `flush-jmsdest` subcommand purges the messages from a physical
+destination in the server's Java Message Service (JMS) configuration.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref1187]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--desttype`::
+  This option indicates the type of physical destination from which you
+  want to purge messages. The supported destination types are `topic`
+  and `queue`.
+`--target`::
+  Purges messages from the physical destination only for the specified
+  target. Valid values are as follows:
+
+  `server`;;
+    Purges messages from the physical destination for the default server
+    instance. This is the default value.
+  configuration-name;;
+    Purges messages from the physical destination in the specified
+    configuration.
+  cluster-name;;
+    Purges messages from the physical destination for every server
+    instance in the specified cluster.
+  instance-name;;
+    Purges messages from the physical destination for the specified
+    server instance.
+
+[[sthref1188]]
+
+=== Operands
+
+dest_name::
+  The unique identifier of the JMS destination to be purged.
+
+[[sthref1189]]
+
+=== Examples
+
+[[GSRFM615]][[sthref1190]]
+
+==== Example 1   Purging messages from a physical destination
+
+The following subcommand purges messages from the queue named
+`PhysicalQueue`.
+
+[source]
+----
+asadmin> flush-jmsdest --desttype queue PhysicalQueue
+Command flush-jmsdest executed successfully.
+----
+
+[[sthref1191]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1192]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jmsdest.html#create-jmsdest-1[`create-jmsdest`(1)],
+link:list-jmsdest.html#list-jmsdest-1[`list-jmsdest`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/freeze-transaction-service.adoc b/docs/reference-manual/src/main/asciidoc/freeze-transaction-service.adoc
new file mode 100644
index 0000000..144c490
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/freeze-transaction-service.adoc
@@ -0,0 +1,103 @@
+type=page
+status=published
+title=freeze-transaction-service
+next=generate-jvm-report.html
+prev=flush-jmsdest.html
+~~~~~~
+
+= freeze-transaction-service
+
+[[freeze-transaction-service-1]][[GSRFM00137]][[freeze-transaction-service]]
+
+== freeze-transaction-service
+
+Freezes the transaction subsystem
+
+[[sthref1193]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] freeze-transaction-service [--help]
+[--target target]
+----
+
+[[sthref1194]]
+
+=== Description
+
+The `freeze-transaction-service` subcommand freezes the transaction
+subsystem, preventing the transaction manager from starting, completing,
+or changing the state of all in-flight transactions. Invoke this command
+before rolling back any in-flight transactions. Invoking this subcommand
+on an already frozen transaction subsystem has no effect. Restarting the
+server unfreezes the transaction subsystem. This subcommand is supported
+in remote mode only.
+
+[[sthref1195]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are freezing the
+  transaction service. Valid values are:
+
+  `server`;;
+    Freezes the transaction service for the default server instance
+    `server` and is the default value.
+  configuration_name;;
+    Freezes the transaction service for all server instances that use
+    the named configuration.
+  cluster_name;;
+    Freezes the transaction service for every server instance in the
+    cluster.
+  instance_name;;
+    Freezes the transaction service for a particular server instance.
+
+[[sthref1196]]
+
+=== Examples
+
+[[GSRFM616]][[sthref1197]]
+
+==== Example 1   Using freeze-transaction-service
+
+[source]
+----
+% asadmin freeze-transaction-service
+Command freeze-transaction-service executed successfully
+----
+
+[[sthref1198]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1199]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:recover-transactions.html#recover-transactions-1[`recover-transactions`(1)],
+link:rollback-transaction.html#rollback-transaction-1[`rollback-transaction`(1)],
+link:unfreeze-transaction-service.html#unfreeze-transaction-service-1[`unfreeze-transaction-service`(1)]
+
+link:administration-guide/transactions.html#GSADG00022[Administering Transactions]
+in {productName} Administration Guide
+
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#transactions[Transactions]
+in The Jakarta EE Tutorial
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/generate-jvm-report.adoc b/docs/reference-manual/src/main/asciidoc/generate-jvm-report.adoc
new file mode 100644
index 0000000..aa2a005
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/generate-jvm-report.adoc
@@ -0,0 +1,188 @@
+type=page
+status=published
+title=generate-jvm-report
+next=get.html
+prev=freeze-transaction-service.html
+~~~~~~
+
+= generate-jvm-report
+
+The script content on this page is for navigation purposes only and does
+not alter the content in any way.
+
+[[generate-jvm-report-1]][[GSRFM00138]][[generate-jvm-report]]
+
+== generate-jvm-report
+
+Shows the JVM machine statistics for a given target instance
+
+[[sthref1200]]
+
+=== Synopsis
+
+[source]
+----
+generate-jvm-report [--help] [--type=jvm-statistic-type] [--target target]
+----
+
+[[sthref1201]]
+
+=== Description
+
+The `generate-jvm-report` subcommand creates a report that shows the
+threads (dump of stack trace), classes, memory, or loggers for a given
+target instance, including the domain administration server (DAS). If a
+type is not specified, a summary report is generated. This subcommand
+only provides statistics for the {productName} instance processes.
+This subcommand provides an alternative to sending Ctrl+Break or
+`kill -3` signals to {productName} processes to obtain a stack trace
+for processes that are hanging.
+
+The information in the report is obtained from managed beans (MBeans)
+and MXBeans that are provided in the Java Platform, Standard Edition
+(Java SE) or JDK software with which {productName} is being used.
+
+If {productName} is running in the Java Runtime Environment (JRE)
+software from JDK release 11 or Java SE 11, additional information is
+provided. For example:
+
+* System load on the available processors
+* Object monitors that are currently held or requested by a thread
+* Lock objects that a thread is holding, for example, `ReentrantLock`
+objects and `ReentrantReadWriteLock` objects
+
+If the JRE software cannot provide this information, the report contains
+the text `NOT_AVAILABLE`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1202]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you are showing JVM machine statistics.
+  Valid values are as follows:
+
+  `server`;;
+    Specifies the DAS (default).
+  instance-name;;
+    Specifies a {productName} instance.
+  cluster-name;;
+    Specifies a cluster.
+  configuration-name;;
+    Specifies a named configuration.
+`--type`::
+  The type of report that is to be generated. Default is `summary`.
+
+  `summary`;;
+    Displays summary information about the threads, classes, and memory
+    (default).
+  `memory`;;
+    Provides information about heap and non-heap memory consumption,
+    memory pools, and garbage collection statistics for a given target
+    instance.
+  `class`;;
+    Provides information about the class loader for a given target
+    instance.
+  `thread`;;
+    Provides information about threads running and the thread dump
+    (stack trace) for a given target instance.
+  `log`;;
+    Provides information about the loggers that are registered in the
+    Virtual Machine for the Java platform (Java Virtual Machine or JVM
+    machine).link:#sthref1203[^Foot 1 ^]
+
+[[sthref1204]]
+
+=== Examples
+
+[[GSRFM617]][[sthref1205]]
+
+==== Example 1   Obtaining Summary Information for the JVM Machine
+
+This example shows a partial listing of a report that is generated if no
+type is specified. This same report is generated if the `summary` type
+is specified.
+
+[source]
+----
+asadmin> generate-jvm-report
+Operating System Information:
+Name of the Operating System: SunOS
+Binary Architecture name of the Operating System: sparc, Version: 5.10
+Number of processors available on the Operating System: 32
+System load on the available processors for the last minute: 7.921875.
+(Sum of running and queued runnable entities per minute)
+General Java Runtime Environment Information for the VM: 64097@sr1-usca-22
+...
+sun.desktop = gnome
+sun.io.unicode.encoding = UnicodeBig
+sun.java.launcher = SUN_STANDARD
+sun.jnu.encoding = ISO646-US
+sun.management.compiler = HotSpot Client Compiler
+sun.os.patch.level = unknown
+user.dir = /home/thisuser/GlassFish/glassfish7/glassfish/domains/mydomain4/config
+user.home = /home/thisuser
+user.language = en
+user.name = thisuser
+user.timezone = US/Pacific
+Command generate-jvm-report executed successfully
+----
+
+[[GSRFM618]][[sthref1206]]
+
+==== Example 2   Obtaining Information for a Particular JVM Machine Type
+
+This example generates a report that shows information on the class
+loader.
+
+[source]
+----
+asadmin> generate-jvm-report --type=class
+Class loading and unloading in the Java Virtual Machine:
+Number of classes currently loaded in the Java Virtual Machine: 3,781
+Number of classes loaded in the Java Virtual Machine since the startup: 3,868
+Number of classes unloaded from the Java Virtual Machine: 87
+Just-in-time (JIT) compilation information in the Java Virtual Machine:
+Java Virtual Machine compilation monitoring allowed: true
+Name of the Just-in-time (JIT) compiler: HotSpot Client Compiler
+Total time spent in compilation: 0 Hours 0 Minutes 4 Seconds
+Command generate-jvm-report executed successfully.
+----
+
+[[sthref1207]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1208]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
+link:delete-jvm-options.html#delete-jvm-options-1[`delete-jvm-options`(1)],
+link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)]
+
+'''''
+
+
+Footnote Legend
+
+Footnote 1: The terms "Java Virtual Machine" and "JVM" mean a Virtual
+Machine for the Java platform.
++
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/get-active-module-config.adoc b/docs/reference-manual/src/main/asciidoc/get-active-module-config.adoc
new file mode 100644
index 0000000..106d43a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/get-active-module-config.adoc
@@ -0,0 +1,114 @@
+type=page
+status=published
+title=get-active-module-config
+next=get-client-stubs.html
+prev=get.html
+~~~~~~
+
+= get-active-module-config
+
+[[get-active-module-config-1]][[GSRFM859]][[get-active-module-config]]
+
+== get-active-module-config
+
+Displays the current active configuration of a service or instance
+
+[[sthref1219]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] get-active-module-config [--help]
+[--target target]
+[--all={false|true}]
+[service_name]
+----
+
+[[sthref1220]]
+
+=== Description
+
+The `get-active-module-config` subcommand displays the current active
+configuration of a service or instance.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1221]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you want to view the current active
+  configuration of a specific service or an entire instance. +
+  Possible values are as follows:
+
+  `server`;;
+    Displays the current active configuration for the default server
+    instance. This is the default value.
+  `domain`;;
+    Displays the current active configuration for the default domain.
+  cluster-name;;
+    Displays the current active configuration for every server instance
+    in the specified cluster.
+  instance-name;;
+    Displays the current active configuration for the specified
+    instance.
+`--all`::
+  Displays all current active configurations. +
+  The default value is `false`.
+
+[[sthref1222]]
+
+=== Operands
+
+service_name::
+  The name of the module for which you want to display the current
+  active configuration.
+
+[[sthref1223]]
+
+=== Examples
+
+[[GSRFM860]][[sthref1224]]
+
+==== Example 1   Displaying the Current Active Configuration
+
+This example displays the current active configuration for the JMS
+service in `server-config` (the default configuration).
+
+[source]
+----
+asadmin> get-active-module-config jms-service
+At location: domain/configs/config[server-config]
+<jms-service default-jms-host="default_JMS_host" type="EMBEDDED"
+  <jms-host port="7676" host="localhost" name="default_JMS_host"/>
+</jms-service>
+Command get-active-module-config executed successfully.
+----
+
+[[sthref1225]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1226]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-module-config.html#create-module-config-1[`create-module-config`(1)],
+link:delete-module-config.html#delete-module-config-1[`delete-module-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/get-client-stubs.adoc b/docs/reference-manual/src/main/asciidoc/get-client-stubs.adoc
new file mode 100644
index 0000000..c816153
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/get-client-stubs.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=get-client-stubs
+next=get-health.html
+prev=get-active-module-config.html
+~~~~~~
+
+= get-client-stubs
+
+[[get-client-stubs-1]][[GSRFM00140]][[get-client-stubs]]
+
+== get-client-stubs
+
+Retrieves the application JAR files needed to launch the application
+client.
+
+[[sthref1227]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] get-client-stubs [--help]
+--appname application_name
+local_directory_path
+----
+
+[[sthref1228]]
+
+=== Description
+
+The `get-client-stubs` subcommand copies the required JAR files for an
+`AppClient` standalone module or each `AppClient` module in an
+application from the server machine to the local directory. Each
+client's generated JAR file is retrieved, along with any required
+supporting JAR files . The client JAR file name is of the form
+app-name`Client.jar`. Before executing the `get-client-stubs`
+subcommand, you must deploy the application or module. The generated
+client JAR file is useful for running the application using the
+`appclient` utility. This subcommand is supported in remote mode only.
+
+[[sthref1229]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--appname`::
+  The name of the application or stand-alone client module. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. For more information about module and application
+  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[
+  Module and Application Versions]" in
+  {productName} Application Deployment Guide.
+
+[[sthref1230]]
+
+=== Operands
+
+local_directory_path::
+  The path to the local directory where the client stub JAR file should
+  be stored.
+
+[[sthref1231]]
+
+=== Examples
+
+[[GSRFM622]][[sthref1232]]
+
+==== Example 1   Using get-client-stubs
+
+[source]
+----
+asadmin> get-client-stubs --appname myapplication /sample/example
+Command get-client-stubs executed successfully
+----
+
+[[sthref1233]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1234]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:deploy.html#deploy-1[`deploy`(1)],
+link:redeploy.html#redeploy-1[`redeploy`(1)],
+link:undeploy.html#undeploy-1[`undeploy`(1)]
+
+link:appclient.html#appclient-1m[`appclient`(1M)],
+link:package-appclient.html#package-appclient-1m[`package-appclient`(1M)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/get-health.adoc b/docs/reference-manual/src/main/asciidoc/get-health.adoc
new file mode 100644
index 0000000..ffeed0e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/get-health.adoc
@@ -0,0 +1,90 @@
+type=page
+status=published
+title=get-health
+next=import-sync-bundle.html
+prev=get-client-stubs.html
+~~~~~~
+
+= get-health
+
+[[get-health-1]][[GSRFM00141]][[get-health]]
+
+== get-health
+
+Provides information on the cluster health
+
+[[sthref1235]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] get-health [--help]
+cluster_name
+----
+
+[[sthref1236]]
+
+=== Description
+
+The `get-health` subcommand gets information about the health of the
+cluster. Note that if the group management service (GMS) is not enabled,
+the basic information about whether the server instances in this cluster
+are running or not running is not returned. For each server instance,
+one of the following states is reported: `not started`, `started`,
+`stopped`, `rejoined`, or `failed`. This subcommand is available in
+remote mode only.
+
+[[sthref1237]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1238]]
+
+=== Operands
+
+cluster_name::
+  The name of the cluster for which you want the health information.
+  This subcommand prompts you for the cluster name if you don't specify it.
+
+[[sthref1239]]
+
+=== Examples
+
+[[GSRFM623]][[sthref1240]]
+
+==== Example 1   Checking the health of server instances in a cluster
+
+[source]
+----
+asadmin> get-health cluster1
+instance1 started since Wed Sep 29 16:32:46 EDT 2010
+instance2 started since Wed Sep 29 16:32:45 EDT 2010
+Command get-health executed successfully.
+----
+
+[[sthref1241]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1242]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/get.adoc b/docs/reference-manual/src/main/asciidoc/get.adoc
new file mode 100644
index 0000000..4d0b275
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/get.adoc
@@ -0,0 +1,208 @@
+type=page
+status=published
+title=get
+next=get-active-module-config.html
+prev=generate-jvm-report.html
+~~~~~~
+
+get
+===
+
+[[get-1]][[GSRFM00139]][[get]]
+
+get
+---
+
+gets the values of configurable or monitorable attributes
+
+[[sthref1209]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] get [--help]
+[--monitor={true|false}]
+[--aggregatedataonly={true|false}]
+(dotted-attribute--name)+
+----
+
+[[sthref1210]]
+
+=== Description
+
+The `get` subcommand uses dotted names to get the names and values of
+configurable or monitorable attributes for {productName} elements.
+
+You can use the link:list.html#list-1[`list`(1)] subcommand to display
+the dotted names that represent individual server components and
+subsystems. For example, a dotted name might be
+`server.applications.web-module`. Attributes from the monitoring
+hierarchy are read-only, but configuration attributes can be modified
+using the link:set.html#set-1[`set`(1)] subcommand. For more detailed
+information on dotted names, see the
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)] help page.
+
+
+[NOTE]
+====
+Characters that have special meaning to the shell or command
+interpreter, such as `*` (asterisk), should be quoted or escaped as
+appropriate to the shell, for example, by enclosing the argument in
+quotes. In multimode, quotes are needed only for arguments that include
+spaces, quotes, or backslash.
+====
+
+
+The following list shows common usage of the `get` subcommand with the `*`
+(asterisk):
+
+`get \*` or `get *.*`::
+  Gets all values on all dotted name prefixes.
+`get domain\*` or `get domain*.*`::
+  Gets all values on the dotted names that begin with `domain`.
+`get \*config*.\*.*`::
+  Gets all values on the dotted names that match `\*config*.\*.*`.
+`get domain.j2ee-applications.\*.ejb-module.*.*`::
+  Gets all values on all EJB modules of all applications.
+`get \*web-modules.*.*`::
+  Gets all values on all web modules whether in an application or
+  standalone.
+`get \*.*.\*.*`::
+  Gets all values on all dotted names that have four parts.
+
+[[sthref1211]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--monitor`::
+`-m`::
+  Defaults to `false`. If set to false, the configurable attribute
+  values are returned. If set to `true`, the monitorable attribute
+  values are returned.
+`--aggregatedataonly`::
+`-c`::
+  Aggregates monitoring data for all {productName} instances in a
+  cluster. The default value is `false`.
+
+[[sthref1212]]
+
+=== Operands
+
+dotted-attribute-name::
+  Identifies the attribute name in the dotted notation. At least one
+  dotted name attribute is required. The dotted notation is the syntax
+  used to access attributes of configurable entities.
+
+[[sthref1213]]
+
+=== Examples
+
+[[GSRFM619]][[sthref1214]]
+
+==== Example 1   Getting the Attributes of a Configurable Element
+
+This example gets the attributes of `listener.http-listener-1`.
+
+[source]
+----
+asadmin> get server.http-service.http-listener.http-listener-1.*
+server.http-service.http-listener.http-listener-1.acceptor-threads = 1
+server.http-service.http-listener.http-listener-1.address = 0.0.0.0
+server.http-service.http-listener.http-listener-1.blocking-enabled = false
+server.http-service.http-listener.http-listener-1.default-virtual-server = server
+server.http-service.http-listener.http-listener-1.enabled = true
+server.http-service.http-listener.http-listener-1.external-port =
+server.http-service.http-listener.http-listener-1.family = inet
+server.http-service.http-listener.http-listener-1.id = http-listener-1
+server.http-service.http-listener.http-listener-1.port = 8080
+server.http-service.http-listener.http-listener-1.redirect-port =
+server.http-service.http-listener.http-listener-1.security-enabled = false
+server.http-service.http-listener.http-listener-1.server-name =
+server.http-service.http-listener.http-listener-1.xpowered-by = true
+Command get executed successfully.
+----
+
+[[GSRFM620]][[sthref1215]]
+
+==== Example 2   Getting Monitorable Objects
+
+This example gets the configuration attributes for setting the
+monitoring level and shows whether they are enabled (LOW or HIGH) or
+disabled (OFF). The `jvm` component is enabled for monitoring.
+
+[source]
+----
+asadmin> get server.monitoring-service.module-monitoring-levels.*
+server.monitoring-service.module-monitoring-levels.connector-connection-pool=OFF
+server.monitoring-service.module-monitoring-levels.connector-service=OFF
+server.monitoring-service.module-monitoring-levels.d-trace=OFF
+server.monitoring-service.module-monitoring-levels.ejb-container=OFF
+server.monitoring-service.module-monitoring-levels.http-service=OFF
+server.monitoring-service.module-monitoring-levels.jdbc-connection-pool=OFF
+server.monitoring-service.module-monitoring-levels.jms-service=OFF
+server.monitoring-service.module-monitoring-levels.jvm=HIGH
+server.monitoring-service.module-monitoring-levels.orb=OFF
+server.monitoring-service.module-monitoring-levels.thread-pool=OFF
+server.monitoring-service.module-monitoring-levels.transaction-service=OFF
+server.monitoring-service.module-monitoring-levels.web-container=OFF
+Command get executed successfully.
+----
+
+[[GSRFM621]][[sthref1216]]
+
+==== Example 3   Getting Attributes and Values for a Monitorable Object
+
+This example gets all attributes and values of the `jvm` monitorable
+object.
+
+[source]
+----
+asadmin> get --monitor server.jvm.*
+server.jvm.HeapSize_Current = 45490176
+server.jvm.HeapSize_Description = Describes JvmHeapSize
+server.jvm.HeapSize_HighWaterMark = 45490176
+server.jvm.HeapSize_LastSampleTime = 1063217002433
+server.jvm.HeapSize_LowWaterMark = 0
+server.jvm.HeapSize_LowerBound = 0
+server.jvm.HeapSize_Name = JvmHeapSize
+server.jvm.HeapSize_StartTime = 1063238840055
+server.jvm.HeapSize_Unit = bytes
+server.jvm.HeapSize_UpperBound = 531628032
+server.jvm.UpTime_Count = 1063238840100
+server.jvm.UpTime_Description = Describes JvmUpTime
+server.jvm.UpTime_LastSampleTime = 1-63238840070
+server.jvm.UpTime_Name = JvmUpTime
+server.jvm.UpTime_StartTime = 1063217002430
+server.jvm.UpTime_Unit = milliseconds
+Command get executed successfully.
+----
+
+[[sthref1217]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1218]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list.html#list-1[`list`(1)], link:set.html#set-1[`set`(1)]
+
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
+
+link:administration-guide.html#GSADG[{productName} Administration Guide]
+
+
diff --git a/docs/reference-manual/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/reference-manual/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/reference-manual/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/reference-manual/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/reference-manual/src/main/asciidoc/import-sync-bundle.adoc b/docs/reference-manual/src/main/asciidoc/import-sync-bundle.adoc
new file mode 100644
index 0000000..1c73153
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/import-sync-bundle.adoc
@@ -0,0 +1,146 @@
+type=page
+status=published
+title=import-sync-bundle
+next=install-node.html
+prev=get-health.html
+~~~~~~
+
+= import-sync-bundle
+
+[[import-sync-bundle-1]][[GSRFM00142]][[import-sync-bundle]]
+
+== import-sync-bundle
+
+Imports the configuration data of a clustered instance or standalone
+instance from an archive file
+
+[[sthref1243]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] import-sync-bundle [--help]
+--instance instance-name
+[--nodedir node-dir] [--node node-name]
+file-name
+----
+
+[[sthref1244]]
+
+=== Description
+
+The `import-sync-bundle` subcommand imports the configuration data of a
+clustered instance or standalone instance from an archive file that was
+created by the
+link:export-sync-bundle.html#export-sync-bundle-1[`export-sync-bundle`(1)]
+subcommand.
+
+You must run this subcommand on the host where the instance resides. To
+contact the domain administration server (DAS), this subcommand requires
+the name of the host where the DAS is running. If a nondefault port is
+used for administration, this subcommand also requires the port number.
+You must provide this information through the `--host` option and the
+`--port` option of the link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+utility.
+
+Importing an instance's configuration data transfers the data to a host
+for an instance without the need for the instance to be able to
+communicate with the DAS. Importing an instance's configuration data is
+typically required for the following reasons:
+
+* To reestablish the instance after an upgrade
+* To synchronize the instance manually with the domain administration
+server (DAS) when the instance cannot contact the DAS
+
+The subcommand imports an instance's configuration data by performing
+the following operations:
+
+* Creating or updating the instance's files and directories
+* Attempting to register the instance with the DAS
+
+If the attempt to register the instance with the DAS fails, the
+subcommand does not fail. Instead, the subcommand displays a warning
+that the attempt failed. The warning contains the command to run to
+register the instance with the DAS.
+
+The `import-sync-bundle` subcommand does not contact the DAS to
+determine the node on which the instance resides. If the node is not
+specified as an option of the subcommand, the subcommand determines the
+node from the DAS configuration in the archive file.
+
+This subcommand is supported in local mode only.
+
+[[sthref1245]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--instance`::
+  The instance for which configuration data is being imported. The
+  instance must already exist in the DAS configuration. The archive file
+  from which the data is being imported must contain data for the
+  specified instance.
+`--nodedir`::
+  The directory that contains the instance's node directory. The
+  instance's files are stored in the instance's node directory. The
+  default is as-install``/nodes``.
+`--node`::
+  The node on which the instance resides. If this option is omitted, the
+  subcommand determines the node from the DAS configuration in the
+  archive file.
+
+[[sthref1246]]
+
+=== Operands
+
+file-name::
+  The name of the file, including the path, that contains the archive
+  file to import. This operand is required.
+
+[[sthref1247]]
+
+=== Examples
+
+[[GSRFM624]][[sthref1248]]
+
+==== Example 1   Importing Configuration Data for a Clustered Instance
+
+This example imports the configuration for the clustered instance
+`ymli2` on the node `sj02` from the archive file
+`/export/glassfish7/glassfish/domains/domain1/sync/ymlcluster-sync-bundle.zip`.
+
+The command is run on the host `sj02`, which is the host that the node
+`sj02` represents. The DAS is running on the host `sr04` and uses the
+default HTTP port for administration.
+
+[source]
+----
+sj02# asadmin --host sr04 import-sync-bundle --node sj02 --instance ymli2
+/export/glassfish7/glassfish/domains/domain1/sync/ymlcluster-sync-bundle.zip
+Command import-sync-bundle executed successfully.
+----
+
+[[sthref1249]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1250]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:export-sync-bundle.html#export-sync-bundle-1[`export-sync-bundle`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/install-node-dcom.adoc b/docs/reference-manual/src/main/asciidoc/install-node-dcom.adoc
new file mode 100644
index 0000000..64aed31
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/install-node-dcom.adoc
@@ -0,0 +1,220 @@
+type=page
+status=published
+title=install-node-dcom
+next=install-node-ssh.html
+prev=install-node.html
+~~~~~~
+
+= install-node-dcom
+
+[[install-node-dcom-1]][[GSRFM626]][[install-node-dcom]]
+
+== install-node-dcom
+
+Installs {productName} software on specified DCOM-enabled hosts
+
+[[sthref1259]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] install-node-dcom [--help]
+[--archive archive]
+[--create={false|true}] [--save[={false|true}]
+[--installdir as-install-parent]
+[--windowsuser windows-user] [--windowsdomain windows-domain]
+[--force={false|true}]
+host-list
+----
+
+[[sthref1260]]
+
+=== Description
+
+The `install-node-dcom` subcommand installs {productName} software
+on the hosts that are specified as the operand of the subcommand. This
+subcommand requires the Distributed Component Object Model (DCOM) remote
+protocol to be configured on the host where the subcommand is run and on
+each host where the {productName} software is being installed. The
+DCOM protocol is available only on Windows systems.
+
+[NOTE]
+====
+To install {productName} software on hosts that use secure shell
+(SSH), use the
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)]
+subcommand.
+====
+
+If necessary, the subcommand creates a ZIP archive of the
+{productName} software from the installation where this subcommand
+is run. The archive does not contain the `domains` directory or the
+`nodes` directory. These directories are synchronized from the domain
+administration server (DAS) when instances on nodes that represent the
+hosts are created and started. The subcommand does not delete the
+archive after installing the {productName} software from the archive
+on the specified hosts.
+
+If multiple hosts are specified, the configuration of the following
+items is the same on all hosts:
+
+* Base installation directory
+* Windows user
+* Windows domain
+
+By default, the subcommand runs interactively and prompts for a password
+to authenticate the Windows user on each host where the
+{productName} software is being installed. To enable the subcommand
+to run noninteractively, the following conditions must be met:
+
+* The `--interactive` option of the
+  link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility must be `false`.
+* The `--passwordfile` option of the `asadmin` utility must specify a
+  password file.
+* The password file must contain the `AS_ADMIN_WINDOWSPASSWORD` entry.
+
+The subcommand does not modify the configuration of the DAS.
+
+This subcommand is supported in local mode only.
+
+[[sthref1261]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--archive`::
+  The absolute path to the archive file of the {productName}
+  software that is to be installed. If no archive file is specified, the
+  subcommand creates an archive from the installation of
+  {productName} software from which the subcommand is run. This
+  archive is created in the home directory of the user that is running
+  the command.
+`--create`::
+  Specifies whether the subcommand should create an archive file of the
+  {productName} software to install.
+
+  `false`;;
+    No archive file is created. The subcommand installs the software
+    from the existing archive file that the `--archive` option specifies
+    (default).
+  `true`;;
+    The subcommand creates an archive file from the installation of
+    {productName} software from which the subcommand is run.
+
+`--save`::
+  Specifies whether the archive file from which the software is
+  installed is saved after installation.
+
+  `false`;;
+    The archive file is not saved. The subcommand deletes the file after
+    installing the software (default).
+  `true`;;
+    The archive file is saved.
+
+`--installdir`::
+  The absolute path to the parent of the base installation directory
+  where the {productName} software is to be installed on each host,
+  for example, `C:\glassfish7`. If the directory does not exist, the
+  subcommand creates the directory. +
+  The user that is running this subcommand must have write access to the
+  specified directory. Otherwise, an error occurs. +
+  To overwrite an existing an installation of the {productName}
+  software, set the `--force` option to `true`. If the directory already
+  contains an installation and the `--force` option is `false`, an error occurs. +
+  The default is the parent of the base installation directory of the
+  {productName} software on the host where this subcommand is run.
+`--windowsuser`::
+`-w`::
+  The user on the host where the {productName} software is to be
+  installed that is to run the process for connecting through DCOM to
+  the host. The default is the user that is running this subcommand.
+`--windowsdomain`::
+`-d`::
+  The name of the Windows domain that contains the user that the
+  `--windowsuser` option specifies. The default is the name of the host
+  on which the subcommand is run.
+`--force`::
+  Specifies whether the subcommand overwrites an existing installation
+  of the {productName} software in the directory that the
+  `--installdir` option specifies. Possible values are as follows:
+
+  `false`;;
+    The existing installation is not overwritten (default).
+  `true`;;
+    The existing installation is overwritten.
+
+[[sthref1262]]
+
+=== Operands
+
+host-list::
+  A space-separated list of the names of the hosts where the
+  {productName} software is to be installed.
+
+[[sthref1263]]
+
+=== Examples
+
+[[GSRFM627]][[sthref1264]]
+
+==== Example 1   Installing {productName} Software at the Default
+Location
+
+This example installs {productName} software on the hosts
+`wpmdl1.example.com` and `wpmdl2.example.com` at the default location.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> install-node-dcom wpmdl1.example.com wpmdl2.example.com
+Created installation zip C:\glassfish8107276692860773166.zip
+Copying 85760199 bytes..........................................................
+....................................
+WROTE FILE TO REMOTE SYSTEM: C:/glassfish7/glassfish_install.zip and C:/glassfish7/unpack.bat
+Output from Windows Unpacker:
+
+C:\Windows\system32>C:
+
+C:\Windows\system32>cd "C:\glassfish7"
+
+C:\glassfish7>jar xvf glassfish_install.zip
+ inflated: bin/asadmin
+ inflated: bin/asadmin.bat
+ inflated: glassfish/bin/appclient
+ inflated: glassfish/bin/appclient.bat
+ inflated: glassfish/bin/appclient.js
+ inflated: glassfish/bin/asadmin
+ inflated: glassfish/bin/asadmin.bat
+...
+ inflated: mq/lib/props/broker/default.properties
+ inflated: mq/lib/props/broker/install.properties
+
+Command install-node-dcom executed successfully.
+----
+
+[[sthref1265]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1266]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/install-node-ssh.adoc b/docs/reference-manual/src/main/asciidoc/install-node-ssh.adoc
new file mode 100644
index 0000000..6f2b2b3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/install-node-ssh.adoc
@@ -0,0 +1,229 @@
+type=page
+status=published
+title=install-node-ssh
+next=jms-ping.html
+prev=install-node-dcom.html
+~~~~~~
+
+= install-node-ssh
+
+[[install-node-ssh-1]][[GSRFM628]][[install-node-ssh]]
+
+== install-node-ssh
+
+Installs {productName} software on specified SSH-enabled hosts
+
+[[sthref1267]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] install-node-ssh [--help]
+[--archive archive]
+[--create={false|true}] [--save[={false|true}]
+[--installdir as-install-parent]
+[--sshport ssh-port] [--sshuser ssh-user]
+[--sshkeyfile ssh-keyfile]
+[--force={false|true}]
+host-list
+----
+
+[[sthref1268]]
+
+=== Description
+
+The `install-node-ssh` subcommand installs {productName} software on
+the hosts that are specified as the operand of the subcommand. This
+subcommand requires secure shell (SSH) to be configured on the host
+where the subcommand is run and on each host where the {productName}
+software is being installed.
+
+[NOTE]
+====
+This subcommand is equivalent to the
+link:install-node.html#install-node-1[`install-node`(1)] subcommand. To
+install {productName} software on hosts that use the Distributed
+Component Object Model (DCOM) remote protocol, use the
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)]
+subcommand.
+====
+
+If necessary, the subcommand creates a ZIP archive of the
+{productName} software from the installation where this subcommand
+is run. The archive does not contain the `domains` directory or the
+`nodes` directory. These directories are synchronized from the domain
+administration server (DAS) when instances on nodes that represent the
+hosts are created and started. The subcommand does not delete the
+archive after installing the {productName} software from the archive
+on the specified hosts.
+
+If multiple hosts are specified, the configuration of the following
+items is the same on all hosts:
+
+* Base installation directory
+* SSH port
+* SSH user
+* SSH key file
+
+If the SSH key file does not exist on a host where the {productName}
+software is to be installed, the subcommand runs interactively and
+prompts for a password. To enable the subcommand to run
+noninteractively, the following conditions must be met:
+
+* The `--interactive` option of the
+  link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility must be `false`.
+* The `--passwordfile` option of the `asadmin` utility must specify a
+  password file.
+* The password file must contain the `AS_ADMIN_SSHPASSWORD` entry.
+
+The subcommand does not modify the configuration of the DAS.
+
+This subcommand is supported in local mode only.
+
+[[sthref1269]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--archive`::
+  The absolute path to the archive file of the {productName}
+  software that is to be installed. If no archive file is specified, the
+  subcommand creates an archive from the installation of
+  {productName} software from which the subcommand is run. This
+  archive is created in the home directory of the user that is running
+  the command.
+`--create`::
+  Specifies whether the subcommand should create an archive file of the
+  {productName} software to install.
+
+  `false`;;
+    No archive file is created. The subcommand installs the software
+    from the existing archive file that the `--archive` option specifies
+    (default).
+  `true`;;
+    The subcommand creates an archive file from the installation of
+    {productName} software from which the subcommand is run.
+
+`--save`::
+  Specifies whether the archive file from which the software is
+  installed is saved after installation.
+
+  `false`;;
+    The archive file is not saved. The subcommand deletes the file after
+    installing the software (default).
+  `true`;;
+    The archive file is saved.
+
+`--installdir`::
+  The absolute path to the parent of the base installation directory
+  where the {productName} software is to be installed on each host,
+  for example, `/export/glassfish7/`. If the directory does not exist,
+  the subcommand creates the directory. +
+  The user that is running this subcommand must have write access to the
+  specified directory. Otherwise, an error occurs. +
+  To overwrite an existing an installation of the {productName}
+  software, set the `--force` option to `true`. If the directory already
+  contains an installation and the `--force` option is `false`, an error occurs. +
+  The default is the parent of the base installation directory of the
+  {productName} software on the host where this subcommand is run.
+`--sshport`::
+  The port to use for SSH connections to the host where the
+  {productName} software is to be installed. The default is 22.
+`--sshuser`::
+  The user on the host where the {productName} software is to be
+  installed that is to run the process for connecting through SSH to the
+  host. The default is the user that is running this subcommand. To
+  ensure that the DAS can read this user's SSH private key file, specify
+  the user that is running the DAS process.
+`--sshkeyfile`::
+  The absolute path to the SSH private key file for user that the
+  `--sshuser` option specifies. This file is used for authentication to
+  the `sshd` daemon on the host. +
+  The user that is running this subcommand must be able to reach the
+  path to the key file and read the key file. +
+  The default is a key file in the user's `.ssh` directory. If multiple
+  key files are found, the subcommand uses the following order of
+  preference:
+
+  1. `id_rsa`
+  2. `id_dsa`
+  3. `identity`
+
+`--force`::
+  Specifies whether the subcommand overwrites an existing installation
+  of the {productName} software in the directory that the
+  `--installdir` option specifies. Possible values are as follows:
+
+  `false`;;
+    The existing installation is not overwritten (default).
+  `true`;;
+    The existing installation is overwritten.
+
+[[sthref1270]]
+
+=== Operands
+
+host-list::
+  A space-separated list of the names of the hosts where the
+  {productName} software is to be installed.
+
+[[sthref1271]]
+
+=== Examples
+
+[[GSRFM629]][[sthref1272]]
+
+==== Example 1   Installing {productName} Software at the Default
+Location
+
+This example installs {productName} software on the hosts
+`sj03.example.com` and `sj04.example.com` at the default location.
+
+[source]
+----
+asadmin> install-node-ssh sj03.example.com sj04.example.com
+Created installation zip /home/gfuser/glassfish2339538623689073993.zip
+Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
+sj03.example.com:/export/glassfish7
+Installing glassfish2339538623689073993.zip into sj03.example.com:/export/glassfish7
+Removing sj03.example.com:/export/glassfish7/glassfish2339538623689073993.zip
+Fixing file permissions of all files under sj03.example.com:/export/glassfish7/bin
+Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
+sj04.example.com:/export/glassfish7
+Installing glassfish2339538623689073993.zip into sj04.example.com:/export/glassfish7
+Removing sj04.example.com:/export/glassfish7/glassfish2339538623689073993.zip
+Fixing file permissions of all files under sj04.example.com:/export/glassfish7/bin
+Command install-node-ssh executed successfully
+----
+
+[[sthref1273]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1274]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/install-node.adoc b/docs/reference-manual/src/main/asciidoc/install-node.adoc
new file mode 100644
index 0000000..08655b9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/install-node.adoc
@@ -0,0 +1,227 @@
+type=page
+status=published
+title=install-node
+next=install-node-dcom.html
+prev=import-sync-bundle.html
+~~~~~~
+
+= install-node
+
+[[install-node-1]][[GSRFM00143]][[install-node]]
+
+== install-node
+
+Installs {productName} software on specified SSH-enabled hosts
+
+[[sthref1251]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] install-node [--help]
+[--archive archive]
+[--create={false|true}] [--save[={false|true}]
+[--installdir as-install-parent]
+[--sshport ssh-port] [--sshuser ssh-user]
+[--sshkeyfile ssh-keyfile]
+[--force={false|true}]
+host-list
+----
+
+[[sthref1252]]
+
+=== Description
+
+The `install-node` subcommand installs {productName} software on the
+hosts that are specified as the operand of the subcommand. This
+subcommand requires secure shell (SSH) to be configured on the host
+where the subcommand is run and on each host where the {productName}
+software is being installed.
+
+[NOTE]
+====
+This subcommand is equivalent to the
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)]
+subcommand. To install {productName} software on hosts that use the
+Distributed Component Object Model (DCOM) remote protocol, use the
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)]
+subcommand.
+====
+
+If necessary, the subcommand creates a ZIP archive of the
+{productName} software from the installation where this subcommand
+is run. The archive does not contain the `domains` directory or the
+`nodes` directory. These directories are synchronized from the domain
+administration server (DAS) when instances on nodes that represent the
+hosts are created and started. The subcommand does not delete the
+archive after installing the {productName} software from the archive
+on the specified hosts. +
+If multiple hosts are specified, the configuration of the following
+items is the same on all hosts:
+
+* Base installation directory
+* SSH port
+* SSH user
+* SSH key file
++
+If the SSH key file does not exist on a host where the {productName}
+software is to be installed, the subcommand runs interactively and
+prompts for a password. To enable the subcommand to run
+noninteractively, the following conditions must be met:
+
+* The `--interactive` option of the
+  link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility must be `false`.
+* The `--passwordfile` option of the `asadmin` utility must specify a
+  password file.
+* The password file must contain the `AS_ADMIN_SSHPASSWORD` entry.
+
+The subcommand does not modify the configuration of the DAS.
+
+This subcommand is supported in local mode only.
+
+[[sthref1253]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--archive`::
+  The absolute path to the archive file of the {productName}
+  software that is to be installed. If no archive file is specified, the
+  subcommand creates an archive from the installation of
+  {productName} software from which the subcommand is run. This
+  archive is created in the home directory of the user that is running
+  the command.
+`--create`::
+  Specifies whether the subcommand should create an archive file of the
+  {productName} software to install.
++
+  `false`;;
+    No archive file is created. The subcommand installs the software
+    from the existing archive file that the `--archive` option specifies
+    (default).
+  `true`;;
+    The subcommand creates an archive file from the installation of
+    {productName} software from which the subcommand is run.
+`--save`::
+  Specifies whether the archive file from which the software is
+  installed is saved after installation.
++
+  `false`;;
+    The archive file is not saved. The subcommand deletes the file after
+    installing the software (default).
+  `true`;;
+    The archive file is saved.
+`--installdir`::
+  The absolute path to the parent of the base installation directory
+  where the {productName} software is to be installed on each host,
+  for example, `/export/glassfish7/`. If the directory does not exist,
+  the subcommand creates the directory. +
+  The user that is running this subcommand must have write access to the
+  specified directory. Otherwise, an error occurs. +
+  To overwrite an existing an installation of the {productName}
+  software, set the `--force` option to `true`. If the directory already
+  contains an installation and the `--force` option is `false`, an error occurs. +
+  The default is the parent of the base installation directory of the
+  {productName} software on the host where this subcommand is run.
+`--sshport`::
+  The port to use for SSH connections to the host where the
+  {productName} software is to be installed. The default is 22.
+`--sshuser`::
+  The user on the host where the {productName} software is to be
+  installed that is to run the process for connecting through SSH to the
+  host. The default is the user that is running this subcommand. To
+  ensure that the DAS can read this user's SSH private key file, specify
+  the user that is running the DAS process.
+`--sshkeyfile`::
+  The absolute path to the SSH private key file for user that the
+  `--sshuser` option specifies. This file is used for authentication to
+  the `sshd` daemon on the host. +
+  The user that is running this subcommand must be able to reach the
+  path to the key file and read the key file. +
+  The default is a key file in the user's `.ssh` directory. If multiple
+  key files are found, the subcommand uses the following order of
+  preference:
+
+  1. `id_rsa`
+  2. `id_dsa`
+  3. `identity`
+
+`--force`::
+  Specifies whether the subcommand overwrites an existing installation
+  of the {productName} software in the directory that the
+  `--installdir` option specifies. Possible values are as follows:
+
+  `false`;;
+    The existing installation is not overwritten (default).
+  `true`;;
+    The existing installation is overwritten.
+
+[[sthref1254]]
+
+=== Operands
+
+host-list::
+  A space-separated list of the names of the hosts where the
+  {productName} software is to be installed.
+
+[[sthref1255]]
+
+=== Examples
+
+[[GSRFM625]][[sthref1256]]
+
+==== Example 1   Installing {productName} Software at the Default
+Location
+
+This example installs {productName} software on the hosts
+`sj03.example.com` and `sj04.example.com` at the default location.
+
+[source]
+----
+asadmin> install-node sj03.example.com sj04.example.com
+Created installation zip /home/gfuser/glassfish2339538623689073993.zip
+Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
+sj03.example.com:/export/glassfish7
+Installing glassfish2339538623689073993.zip into sj03.example.com:/export/glassfish7
+Removing sj03.example.com:/export/glassfish7/glassfish2339538623689073993.zip
+Fixing file permissions of all files under sj03.example.com:/export/glassfish7/bin
+Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to
+sj04.example.com:/export/glassfish7
+Installing glassfish2339538623689073993.zip into sj04.example.com:/export/glassfish7
+Removing sj04.example.com:/export/glassfish7/glassfish2339538623689073993.zip
+Fixing file permissions of all files under sj04.example.com:/export/glassfish7/bin
+Command install-node executed successfully
+----
+
+[[sthref1257]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1258]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/instance.adoc b/docs/reference-manual/src/main/asciidoc/instance.adoc
new file mode 100644
index 0000000..ebfb624
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/instance.adoc
@@ -0,0 +1,35 @@
+type=page
+status=published
+title=instance
+next=logging.html
+prev=dotted-names.html
+~~~~~~
+
+= instance
+
+[[instance-5asc]][[GSRFM00269]][[instance]]
+
+== instance
+
+An instance in {productName} has its own Jakarta EE configuration, Java
+EE resources, application deployment areas, and server configuration
+settings
+
+[[sthref2403]]
+
+=== Description
+
+{productName} creates one server instance, called `server` at the
+time of installation. You can delete the server instance and create a
+new instance with a different name.
+
+For many users, one server instance meets their needs. However,
+depending upon your environment, you might want to create additional
+server instances. For example, in a development environment you can use
+different server instances to test different {productName}
+configurations, or to compare and test different application
+deployments. Because you can easily add or delete a server instance, you
+can use them to create temporary "sandbox" areas to experiment with
+while developing.
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/jms-ping.adoc b/docs/reference-manual/src/main/asciidoc/jms-ping.adoc
new file mode 100644
index 0000000..11d37af
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/jms-ping.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=jms-ping
+next=list.html
+prev=install-node-ssh.html
+~~~~~~
+
+= jms-ping
+
+[[jms-ping-1]][[GSRFM00144]][[jms-ping]]
+
+== jms-ping
+
+Checks if the JMS service is up and running
+
+[[sthref1275]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] jms-ping [--help]
+[-- target target]
+----
+
+[[sthref1276]]
+
+=== Description
+
+The `jms-ping` subcommand checks if the Java Message Service (JMS)
+service (also known as the JMS provider) is up and running. When you
+start the {productName}, the JMS service starts by default.
+
+The `jms-ping` subcommand pings only the default JMS host within the JMS
+service. It displays an error message when it is unable to ping a
+built-in JMS service.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref1277]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which the operation is to be performed. Valid
+  values are as follows:
+
+  `server`;;
+    Pings the JMS service for the default server instance. This is the
+    default value
+  configuration-name;;
+    Pings the JMS service for all clusters using the specified
+    configuration.
+  cluster-name;;
+    Pings the JMS service for the specified cluster.
+  instance-name;;
+    Pings the JMS service for the specified server instance.
+
+[[sthref1278]]
+
+=== Examples
+
+[[GSRFM630]][[sthref1279]]
+
+==== Example 1   Verifying that the JMS service is running
+
+The following subcommand checks to see if the JMS service is running on
+the default server.
+
+[source]
+----
+asadmin> jms-ping
+JMS-ping command executed successfully
+Connector resoure test_jms_adapter created.
+Command jms-ping executed successfully.
+----
+
+[[sthref1280]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1281]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jms-host.html#create-jms-host-1[`create-jms-host`(1)],
+link:delete-jms-host.html#delete-jms-host-1[`delete-jms-host`(1)],
+link:list-jms-hosts.html#list-jms-hosts-1[`list-jms-hosts`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-admin-objects.adoc b/docs/reference-manual/src/main/asciidoc/list-admin-objects.adoc
new file mode 100644
index 0000000..0389e80
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-admin-objects.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=list-admin-objects
+next=list-application-refs.html
+prev=list.html
+~~~~~~
+
+= list-admin-objects
+
+[[list-admin-objects-1]][[GSRFM00146]][[list-admin-objects]]
+
+== list-admin-objects
+
+Gets all the administered objects
+
+[[sthref1292]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-admin-objects [--help]
+[target]
+----
+
+[[sthref1293]]
+
+=== Description
+
+The `list-admin-objects` subcommand lists all the administered objects.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1294]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1295]]
+
+=== Operands
+
+target::
+  The target for which administered objects are to be listed. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the administered objects on the default server instance. This
+    is the default value.
+  configuration-name;;
+    Lists the administered objects in the specified configuration.
+  cluster-name;;
+    Lists the administered objects on all server instances in the
+    specified cluster.
+  instance-name;;
+    Lists the administered objects on a specified server instance.
+
+[[sthref1296]]
+
+=== Examples
+
+[[GSRFM634]][[sthref1297]]
+
+==== Example 1   Listing Administered Objects
+
+This example lists all the administered objects.
+
+[source]
+----
+asadmin> list-admin-objects
+jms/samplequeue
+jms/anotherqueue
+Command list-admin-objects executed successfully
+----
+
+[[sthref1298]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1299]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-admin-object.html#create-admin-object-1[`create-admin-object`(1)],
+link:delete-admin-object.html#delete-admin-object-1[`delete-admin-object`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-application-refs.adoc b/docs/reference-manual/src/main/asciidoc/list-application-refs.adoc
new file mode 100644
index 0000000..bc75e40
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-application-refs.adoc
@@ -0,0 +1,115 @@
+type=page
+status=published
+title=list-application-refs
+next=list-applications.html
+prev=list-admin-objects.html
+~~~~~~
+
+= list-application-refs
+
+[[list-application-refs-1]][[GSRFM00147]][[list-application-refs]]
+
+== list-application-refs
+
+Lists the existing application references
+
+[[sthref1300]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-application-refs [--help]
+[--long={false|true}] [target]
+----
+
+[[sthref1301]]
+
+=== Description
+
+The `list-application-refs` subcommand lists all application references
+in a cluster or an unclustered server instance. This effectively lists
+all the modules deployed on the specified target (for example, J2EE
+applications, Web modules, and enterprise bean modules).
+
+If multiple versions of a module or application are deployed, this
+subcommand lists all versions. To list which version is enabled, set the
+`--long` option to `true`. For more information about module and
+application versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application
+Versions]" in {productName} Application
+Deployment Guide.
+
+The target instance or instances making up the cluster need not be
+running or available for this subcommand to succeed.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1302]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+  If `true`, displays whether each module or application listed is
+  enabled. The default is `false`.
+
+[[sthref1303]]
+
+=== Operands
+
+target::
+  The target for which you are listing the application references. Valid
+  values are
+
+  * `server`- Specifies the default server instance as the target.
+  `server` is the name of the default server instance and is the default value.
+  * cluster_name- Specifies a certain cluster as the target.
+  * instance_name- Specifies a certain server instance as the target.
+
+[[sthref1304]]
+
+=== Examples
+
+[[GSRFM635]][[sthref1305]]
+
+==== Example 1   Listing Application References
+
+The following example lists the application references for the
+unclustered server instance `NewServer`.
+
+[source]
+----
+asadmin> list-application-refs NewServer
+ClientSessionMDBApp
+MEjbApp
+__ejb_container_timer_app
+Command list-application-refs executed successfully.
+----
+
+[[sthref1306]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1307]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
+link:delete-application-ref.html#delete-application-ref-1[`delete-application-ref`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-applications.adoc b/docs/reference-manual/src/main/asciidoc/list-applications.adoc
new file mode 100644
index 0000000..7805354
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-applications.adoc
@@ -0,0 +1,138 @@
+type=page
+status=published
+title=list-applications
+next=list-audit-modules.html
+prev=list-application-refs.html
+~~~~~~
+
+= list-applications
+
+[[list-applications-1]][[GSRFM00148]][[list-applications]]
+
+== list-applications
+
+Lists deployed applications
+
+[[sthref1308]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-applications [--help]
+[--long={false|true}] [--resources] [--subcomponents]
+[--type type] [target]
+----
+
+[[sthref1309]]
+
+=== Description
+
+The `list-applications` subcommand lists deployed Jakarta EE applications
+and the type of each application that is listed.
+
+If the `--type` option is not specified, all applications are listed. If
+the type option is specified, you must specify a type. The possible
+types are listed in the Options section of this help page.
+
+If multiple versions of a module or application are deployed, this
+subcommand lists all versions. To list which version is enabled, set the
+`--long` option to `true`. For more information about module and
+application versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application
+Versions]" in {productName} Application
+Deployment Guide.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1310]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+  If `true`, displays whether each module or application listed is
+  enabled. The default is `false`.
+`--resources`::
+  Lists the application-scoped resources for each application. If the
+  `--subcomponents` option is also used, lists the application-scoped
+  resources for each component within the application.
+`--subcomponents`::
+  Lists the subcomponents of each application. The subcomponents listed
+  depend on the application type. For example, for a Jakarta EE application
+  (EAR file), modules are listed. For a web application, servlets and
+  JSP pages are listed. For an EJB module, EJB subcomponents are listed.
+`--type`::
+  Specifies the type of the applications that are to be listed. The
+  options are as follows:
+
+  * `application`
+  * `appclient`
+  * `connector`
+  * `ejb`
+  * `web`
+  * `webservice`
+
++
+If no type is specified, all applications are listed.
+
+[[sthref1311]]
+
+=== Operands
+
+`--target`::
+  This is the name of the target upon which the subcommand operates. The
+  valid values are as follows:
++
+  `server`;;
+    Lists the applications for the default server instance `server` and
+    is the default value.
+  `domain`;;
+    Lists the applications for the domain.
+  cluster_name;;
+    Lists the applications for the cluster.
+  instance_name;;
+    Lists the applications for a particular stand-alone server instance.
+
+[[sthref1312]]
+
+=== Examples
+
+[[GSRFM636]][[sthref1313]]
+
+==== Example 1   Listing the Web Applications
+
+[source]
+----
+asadmin> list-applications --type web
+hellojsp <web>
+Command list-applications executed successfully
+----
+
+[[sthref1314]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1315]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-components.html#list-components-1[`list-components`(1)],
+link:list-sub-components.html#list-sub-components-1[`list-sub-components`(1)],
+link:show-component-status.html#show-component-status-1[`show-component-status`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-audit-modules.adoc b/docs/reference-manual/src/main/asciidoc/list-audit-modules.adoc
new file mode 100644
index 0000000..99eb57a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-audit-modules.adoc
@@ -0,0 +1,96 @@
+type=page
+status=published
+title=list-audit-modules
+next=list-auth-realms.html
+prev=list-applications.html
+~~~~~~
+
+= list-audit-modules
+
+[[list-audit-modules-1]][[GSRFM00149]][[list-audit-modules]]
+
+== list-audit-modules
+
+Gets all audit modules and displays them
+
+[[sthref1316]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-audit-modules [--help]
+[target]
+----
+
+[[sthref1317]]
+
+=== Description
+
+The `list-audit-modules` subcommand lists all the audit modules. This
+subcommand is supported in remote mode only.
+
+[[sthref1318]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1319]]
+
+=== Operands
+
+target::
+  Specifies the target on which you are listing the audit modules. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the audit modules for the default server instance `server` and
+    is the default value.
+  configuration_name;;
+    Lists the audit modules for the named configuration.
+  cluster_name;;
+    Lists the audit modules for every server instance in the cluster.
+  instance_name;;
+    Lists the audit modules for a particular server instance.
+
+[[sthref1320]]
+
+=== Examples
+
+[[GSRFM637]][[sthref1321]]
+
+==== Example 1   Listing Audit Modules
+
+[source]
+----
+asadmin> list-audit-modules
+sampleAuditModule1
+sampleAuditModule2
+Command list-audit-modules executed successfully
+----
+
+[[sthref1322]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1323]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-audit-module.html#create-audit-module-1[`create-audit-module`(1)],
+link:delete-audit-module.html#delete-audit-module-1[`delete-audit-module`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-auth-realms.adoc b/docs/reference-manual/src/main/asciidoc/list-auth-realms.adoc
new file mode 100644
index 0000000..1b08ff2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-auth-realms.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=list-auth-realms
+next=list-backups.html
+prev=list-audit-modules.html
+~~~~~~
+
+= list-auth-realms
+
+[[list-auth-realms-1]][[GSRFM00150]][[list-auth-realms]]
+
+== list-auth-realms
+
+Lists the authentication realms
+
+[[sthref1324]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-auth-realms [--help]
+[target]
+----
+
+[[sthref1325]]
+
+=== Description
+
+The `list-auth-realms` subcommand lists the authentication realms. This
+subcommand is supported in remote mode only.
+
+[[sthref1326]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1327]]
+
+=== Operands
+
+target::
+  The name of the target for which you want to list the authentication
+  realms.
+
+  `server`;;
+    Lists the realms for the default server instance `server` and is the
+    default value.
+  configuration_name;;
+    Lists the realms for the named configuration.
+  cluster_name;;
+    Lists the realms for every server instance in the cluster.
+  instance_name;;
+    Lists the realms for a particular server instance.
+
+[[sthref1328]]
+
+=== Examples
+
+[[GSRFM638]][[sthref1329]]
+
+==== Example 1   Listing authentication realms
+
+[source]
+----
+asadmin> list-auth-realms
+file
+ldap
+certificate
+db
+Command list-auth-realms executed successfully
+----
+
+Where file, ldap, certificate, and db are the available authentication realms.
+
+[[sthref1330]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1331]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
+link:delete-auth-realm.html#delete-auth-realm-1[`delete-auth-realm`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-backups.adoc b/docs/reference-manual/src/main/asciidoc/list-backups.adoc
new file mode 100644
index 0000000..8c94ef4
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-backups.adoc
@@ -0,0 +1,131 @@
+type=page
+status=published
+title=list-backups
+next=list-batch-job-executions.html
+prev=list-auth-realms.html
+~~~~~~
+
+= list-backups
+
+[[list-backups-1]][[GSRFM00152]][[list-backups]]
+
+== list-backups
+
+Lists all backups
+
+[[sthref1332]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-backups [--help]
+[--long[={false|true}]]
+[--domaindir domain-root-dir]
+[--backupdir backup-directory]
+[--backupconfig backup-config-name]
+[domain-name]
+----
+
+[[sthref1333]]
+
+=== Description
+
+The `list-backups` subcommand displays information about domain backups.
+
+This subcommand is supported in local mode only in {productName}, and is support in local mode and remote mode in {productName}.
+
+[[sthref1334]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Displays detailed information about each backup. +
+  The default value is `false`.
+`--domaindir`::
+  Specifies the domain root directory, the parent directory of the
+  domain upon which the command will operate. +
+  The default value is as-install``/domains``.
+`--backupdir`::
+  Specifies the directory under which backup files are stored. +
+  The default value is as-install``/domains/``domain-dir``/backups``. If the
+  domain is not in the default location, the location is
+  domain-dir``/backups``.
+`--backupconfig`::
+  (Supported only in {productName}.) Restricts the listing of
+  backup files in the backup directory to those for the specified domain
+  backup configuration.
+
+[[sthref1335]]
+
+=== Operands
+
+domain-name::
+  Specifies the domain for which backups are listed. +
+  This operand is optional if only one domain exists in the
+  {productName} installation.
+
+[[sthref1336]]
+
+=== Examples
+
+[[GSRFM640]][[sthref1337]]
+
+==== Example 1   Listing Domain Backups
+
+This example provides detailed information about backups in the default domain.
+
+[source]
+----
+asadmin> list-backups --long
+
+Description               : domain1 backup created on 2021_12_20 by user dmatej
+GlassFish Version         : Eclipse GlassFish  7.0.0  (build 2021-12-10T19:08:14+0100)
+Backup User               : admin
+Backup Date               : Mon Dec 20 19:24:17 CET 2021
+Domain Name               : domain1
+Backup Type               : full
+Backup Config Name        :
+Backup Filename (origin)  : /glassfish7/glassfish/domains/domain1/backups/domain1_2021_12_20_v00001.zip
+Domain Directory          : /glassfish7/glassfish/domains/domain1
+
+Description               : domain1 backup created on 2021_12_20 by user dmatej
+GlassFish Version         : Eclipse GlassFish  7.0.0  (build 2021-12-10T19:08:14+0100)
+Backup User               : admin
+Backup Date               : Mon Dec 20 19:24:20 CET 2021
+Domain Name               : domain1
+Backup Type               : full
+Backup Config Name        :
+Backup Filename (origin)  : /glassfish7/glassfish/domains/domain1/backups/domain1_2021_12_20_v00002.zip
+Domain Directory          : /glassfish7/glassfish/domains/domain1
+
+
+Command list-backups executed successfully.
+----
+
+[[sthref1338]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1339]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:backup-domain.html#backup-domain-1[`backup-domain`(1)],
+link:restore-domain.html#restore-domain-1[`restore-domain`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-batch-job-executions.adoc b/docs/reference-manual/src/main/asciidoc/list-batch-job-executions.adoc
new file mode 100644
index 0000000..81890b0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-batch-job-executions.adoc
@@ -0,0 +1,151 @@
+type=page
+status=published
+title=list-batch-job-executions
+next=list-batch-jobs.html
+prev=list-backups.html
+~~~~~~
+
+= list-batch-job-executions
+
+[[list-batch-job-executions-1]][[GSRFM884]][[list-batch-job-executions]]
+
+== list-batch-job-executions
+
+Lists batch job executions and execution details
+
+[[sthref1340]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-batch-job-executions [--help]
+[--target target]
+[--executionid execution-id]
+[--long={false|true}]
+[--output output]
+[--header={false|true}]
+[instance_ID]
+----
+
+[[sthref1341]]
+
+=== Description
+
+The `list-batch-job-executions` subcommand lists batch job executions
+and execution details.
+
+[[sthref1342]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which to list batch job executions and
+  execution details. Valid values are as follows:
+
+  `server`;;
+    Lists executions for the default server instance `server` and is the
+    default value.
+  cluster-name;;
+    Lists executions for every server instance in the cluster.
+  instance-name;;
+    Lists executions for a particular server instance.
+
+`--executionid`::
+`-x`::
+  Specifies the execution ID of a specific batch job execution.
+`--long`::
+`-l`::
+  Displays detailed information about batch job executions. The default
+  value is `false`.
+`--output`::
+`-o`::
+  Displays specific details about batch job executions. Use a
+  comma-separated list to specify the details to display and their
+  order. The values are case-insensitive. A subset of all possible
+  headings is displayed by default. +
+  Possible values are as follows:
+
+  `jobname`;;
+    Displays the name of the job.
+  `executionid`;;
+    Displays the ID assigned to the execution of the batch job. A new
+    execution is created the first time a job is started and every time
+    the existing execution is restarted.
+  `starttime`;;
+    Displays the start time of the execution.
+  `endtime`;;
+    Displays the finish time of the execution.
+  `batchstatus`;;
+    Displays the status of the execution as set by the batch runtime.
+  `exitstatus`;;
+    Displays the status of the execution as set by the Job XML for the
+    job or by the batch application. By default, the exit status and the
+    batch status are the same unless the exit status is explicitly
+    overridden.
+  `jobparameters`;;
+    Displays the properties passed to the batch runtime for the batch
+    job execution, listed as name/value pairs.
+  `stepcount`;;
+    Displays the number of steps in the batch job execution.
+
+`--header`::
+`-h`::
+  Specifies whether column headings are displayed when the `--long`
+  option is used. The default value is `true`. To suppress the headings,
+  set the `--header` option to `false`.
+
+[[sthref1343]]
+
+=== Operands
+
+instance_id::
+  The ID of the job instance for which to list execution details.
+
+[[sthref1344]]
+
+=== Examples
+
+[[GSRFM885]][[sthref1345]]
+
+==== Example 1   Listing Batch Job Executions
+
+This example lists batch job executions for the default server instance
+and displays specific details.
+
+[source]
+----
+asadmin> list-batch-job-executions -o=jobname,executionid,batchstatus,exitstatus
+JOBNAME  EXECUTIONID  BATCHSTATUS  EXITSTATUS
+payroll  9            COMPLETED    COMPLETED
+bonus    6            FAILED       FAILED
+Command list-batch-job-executions executed successfully.
+----
+
+[[sthref1346]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1347]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
+link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)],
+link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)],
+link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-batch-job-steps.adoc b/docs/reference-manual/src/main/asciidoc/list-batch-job-steps.adoc
new file mode 100644
index 0000000..5311502
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-batch-job-steps.adoc
@@ -0,0 +1,153 @@
+type=page
+status=published
+title=list-batch-job-steps
+next=list-batch-runtime-configuration.html
+prev=list-batch-jobs.html
+~~~~~~
+
+= list-batch-job-steps
+
+[[list-batch-job-steps-1]][[GSRFM895]][[list-batch-job-steps]]
+
+== list-batch-job-steps
+
+Lists steps for a specific batch job execution
+
+[[sthref1356]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-batch-job-steps [--help]
+[--long={false|true}]
+[--target target]
+[--output output]
+[--header={false|true}]
+execution_id
+----
+
+[[sthref1357]]
+
+=== Description
+
+The `list-batch-job-steps` subcommand lists steps for a specific batch
+job execution.
+
+[[sthref1358]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which to list batch job steps. Valid values
+  are as follows:
+
+  `server`;;
+    Lists steps for the default server instance `server` and is the
+    default value.
+  cluster-name;;
+    Lists steps for every server instance in the cluster.
+  instance-name;;
+    Lists steps for a particular server instance.
+
+`--long`::
+`-l`::
+  Displays detailed information about batch job steps. The default value
+  is `false`.
+`--output`::
+`-o`::
+  Displays specific details about batch job steps. Use a comma-separated
+  list to specify the details to display and their order. The values are
+  case-insensitive. A subset of all possible headings is displayed by
+  default. Possible values are as follows:
+
+  `stepname`;;
+    Displays the name of the step.
+  `stepid`;;
+    Displays the step ID.
+  `starttime`;;
+    Displays the start time of the step.
+  `endtime`;;
+    Displays the finish time of the step.
+  `batchstatus`;;
+    Displays the status of the step as set by the batch runtime.
+  `exitstatus`;;
+    Displays the status of the step as set by the Job XML for the job or
+    by the batch application. By default, the exit status and the batch
+    status are the same unless the exit status is explicitly overridden.
+  `stepmetrics`;;
+    Displays metrics for the step.
+  `value`;;
+    Displays a value for each step metric. The value represents the
+    number of items read, written, committed, and so on.
+
+`--header`::
+`-h`::
+  Specifies whether column headings are displayed when the `--long`
+  option is used. The default value is `true`. To suppress the headings,
+  set the `--header` option to `false`.
+
+[[sthref1359]]
+
+=== Operands
+
+execution_id::
+  The ID of the execution for which to list batch job steps and details.
+
+[[sthref1360]]
+
+=== Examples
+
+[[GSRFM896]][[sthref1361]]
+
+==== Example 1   Listing Batch Job Steps
+
+This example lists batch job steps and specific step details for a job
+execution with the execution ID of `7`. The target is the default server
+instance.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> list-batch-job-steps o=stepname,stepid,batchstatus,stepmetrics 7
+STEPNAME   STEPID   BATCHSTATUS   STEPMETRICS
+prepare    7        COMPLETED     METRICNAME          VALUE
+                                  READ_COUNT          8
+                                  WRITE_COUNT         8
+                                  PROCESS_SKIP_COUNT  0
+process    8        COMPLETED     METRICNAME          VALUE
+                                  READ_COUNT          8
+                                  WRITE_COUNT         8
+                                  PROCESS_SKIP_COUNT  0
+...
+Command list-batch-job-steps executed successfully.
+----
+
+[[sthref1362]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1363]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
+link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
+link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)],
+link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-batch-jobs.adoc b/docs/reference-manual/src/main/asciidoc/list-batch-jobs.adoc
new file mode 100644
index 0000000..3eb9b8d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-batch-jobs.adoc
@@ -0,0 +1,144 @@
+type=page
+status=published
+title=list-batch-jobs
+next=list-batch-job-steps.html
+prev=list-batch-job-executions.html
+~~~~~~
+
+= list-batch-jobs
+
+[[list-batch-jobs-1]][[GSRFM861]][[list-batch-jobs]]
+
+== list-batch-jobs
+
+Lists batch jobs
+
+[[sthref1348]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-batch-jobs [--help]
+[--target target]
+[--long={false|true}]
+[--output output]
+[--header={false|true}]
+[job_name]
+----
+
+[[sthref1349]]
+
+=== Description
+
+The `list-batch-jobs` subcommand lists batch jobs and job details.
+
+[[sthref1350]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which to list batch jobs and job details.
+  Valid values are as follows:
+
+  `server`;;
+    Lists batch jobs for the default server instance `server` and is the
+    default value.
+  cluster-name;;
+    Lists batch jobs for every server instance in the cluster.
+  instance-name;;
+    Lists batch jobs for a particular server instance.
+
+`--long`::
+`-l`::
+  Displays detailed information about batch jobs. The default value is `false`.
+`--output`::
+`-o`::
+  Displays specific details about batch jobs. Use a comma-separated list
+  to specify the details to display and their order. The values are
+  case-insensitive. The `jobname` and `instancecount` column headings
+  are displayed by default. +
+  Possible values are as follows:
+
+  `jobname`;;
+    Displays the name of the job.
+  `appname`;;
+    Displays the name of the application.
+  `instancecount`;;
+    Displays the number of job instances.
+  `instanceid`;;
+    Displays the ID assigned to the job instance.
+  `executionid`;;
+    Displays the ID assigned to the execution of the batch job. A new
+    execution is created the first time a job is started and every time
+    the existing execution is restarted.
+  `batchstatus`;;
+    Displays the status of the job as set by the batch runtime.
+  `starttime`;;
+    Displays the start time of the job.
+  `endtime`;;
+    Displays the finish time of the job.
+  `exitstatus`;;
+    Displays the status of the job as set by the Job XML for the job or
+    by the batch application. By default, the exit status and the batch
+    status are the same unless the exit status is explicitly overridden.
+
+`--header`::
+`-h`::
+  Specifies whether column headings are displayed when the `--long`
+  option is used. The default value is `true`. To suppress the headings,
+  set the `--header` option to `false`.
+
+[[sthref1351]]
+
+=== Operands
+
+job_name::
+  The name of the job for which to list details.
+
+[[sthref1352]]
+
+=== Examples
+
+[[GSRFM862]][[sthref1353]]
+
+==== Example 1   Listing Batch Jobs
+
+This example lists batch jobs for the default server instance.
+
+[source]
+----
+asadmin> list-batch-jobs
+JOBNAME  INSTANCECOUNT
+payroll  9
+bonus    6
+Command list-batch-jobs executed successfully.
+----
+
+[[sthref1354]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1355]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
+link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)],
+link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)],
+link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-batch-runtime-configuration.adoc b/docs/reference-manual/src/main/asciidoc/list-batch-runtime-configuration.adoc
new file mode 100644
index 0000000..419eb53
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-batch-runtime-configuration.adoc
@@ -0,0 +1,122 @@
+type=page
+status=published
+title=list-batch-runtime-configuration
+next=list-clusters.html
+prev=list-batch-job-steps.html
+~~~~~~
+
+= list-batch-runtime-configuration
+
+[[list-batch-runtime-configuration-1]][[GSRFM863]][[list-batch-runtime-configuration]]
+
+== list-batch-runtime-configuration
+
+Displays the configuration of the batch runtime
+
+[[sthref1364]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-batch-runtime-configuration [--help]
+[--target target]
+[--output output]
+[--header={false|true}]
+----
+
+[[sthref1365]]
+
+=== Description
+
+The `list-batch-runtime-configuration` subcommand displays the
+configuration of the batch runtime. Batch runtime configuration data is
+stored in the `config` element in `domain.xml`.
+
+[[sthref1366]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which to list the batch runtime
+  configuration. Valid values are as follows:
+
+  `server`;;
+    Lists the batch runtime configuration for the default server
+    instance `server` and is the default value.
+  cluster-name;;
+    Lists the batch runtime configuration for every server instance in
+    the cluster.
+  instance-name;;
+    Lists the batch runtime configuration for a particular server
+    instance.
+
+`--output`::
+`-o`::
+  Displays specific details about the batch runtime configuration. Use a
+  comma-separated list to specify the details to display and their
+  order. The values are case-insensitive. The `datasourcelookupname` and
+  `executorservicelookupname` column headings are displayed by default. +
+  Possible values are as follows:
+
+  `datasourcelookupname`;;
+    The JNDI lookup name of the data source used to store job
+    information. By default, the batch runtime uses the default data
+    source `jdbc/__TimerPool`.
+  `executorservicelookupname`;;
+    The JNDI lookup name of the managed executor service used to provide
+    threads to jobs. By default, the batch runtime uses the default
+    managed executor service `concurrent/__defaultManagedExecutorService`.
+
+`--header`::
+`-h`::
+  Specifies whether column headings are displayed when the `--long`
+  option is used. The default value is `true`. To suppress the headings,
+  set the `--header` option to `false`.
+
+[[sthref1367]]
+
+=== Examples
+
+[[GSRFM864]][[sthref1368]]
+
+==== Example 1   Listing Batch Runtime Configuration
+
+The following example lists the configuration of the batch runtime for
+the default server instance.
+
+[source]
+----
+asadmin> list-batch-runtime-configuration
+DATASOURCELOOKUPNAME     EXECUTORSERVICELOOKUPNAME
+jdbc/_default            concurrent/__defaultManagedExecutorService
+Command list-batch-runtime-configuration executed successfully.
+----
+
+[[sthref1369]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1370]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)],
+link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
+link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
+link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-clusters.adoc b/docs/reference-manual/src/main/asciidoc/list-clusters.adoc
new file mode 100644
index 0000000..4d40ca5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-clusters.adoc
@@ -0,0 +1,140 @@
+type=page
+status=published
+title=list-clusters
+next=list-commands.html
+prev=list-batch-runtime-configuration.html
+~~~~~~
+
+= list-clusters
+
+[[list-clusters-1]][[GSRFM00153]][[list-clusters]]
+
+== list-clusters
+
+Lists existing clusters in a domain
+
+[[sthref1371]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-clusters [--help]
+[target]
+----
+
+[[sthref1372]]
+
+=== Description
+
+The `list-clusters` subcommand lists existing clusters in a domain. The
+list can be filtered by cluster, instance, node, or configuration. For
+each cluster that is listed, the subcommand indicates whether the
+cluster is running.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1373]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1374]]
+
+=== Operands
+
+target::
+  Filters the list of clusters by specifying the target for which the
+  clusters are to be listed. Valid values are as follows:
+
+  `domain`;;
+    Lists all clusters in the domain (default).
+  cluster-name;;
+    Lists only the specified cluster.
+  instance-name;;
+    Lists the cluster of which the specified instance is a member.
+  node-name;;
+    Lists the clusters that contain an instance that resides on the
+    specified node. For example, if instance `pmdi1` in cluster `pmdc`
+    and instance `ymli1` in cluster `ymlc` reside on node `n1`, `pmdc`
+    and `ymlc` are listed.
+  configuration-name;;
+    Lists all clusters that contain instances whose configuration is
+    defined by the named configuration.
+
+[[sthref1375]]
+
+=== Examples
+
+[[GSRFM641]][[sthref1376]]
+
+==== Example 1   Listing All Clusters in a Domain
+
+This example lists all clusters in the current domain.
+
+[source]
+----
+asadmin> list-clusters
+pmdclust not running
+ymlclust not running
+
+Command list-clusters executed successfully.
+----
+
+[[GSRFM642]][[sthref1377]]
+
+==== Example 2   Displaying the Status of a Cluster
+
+This example displays status of the cluster `ymlclust`, which is not
+running.
+
+[source]
+----
+asadmin> list-clusters ymlclust
+ymlclust not running
+
+Command list-clusters executed successfully.
+----
+
+[[GSRFM643]][[sthref1378]]
+
+==== Example 3   Listing All Clusters That Are Associated With a Node
+
+This example lists the clusters that contain an instance that resides on
+the node `sj02`.
+
+[source]
+----
+asadmin> list-clusters sj02
+ymlclust not running
+
+Command list-clusters executed successfully.
+----
+
+[[sthref1379]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1380]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
+link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
+link:start-cluster.html#start-cluster-1[`start-cluster`(1)],
+link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-commands.adoc b/docs/reference-manual/src/main/asciidoc/list-commands.adoc
new file mode 100644
index 0000000..a1b8806
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-commands.adoc
@@ -0,0 +1,225 @@
+type=page
+status=published
+title=list-commands
+next=list-components.html
+prev=list-clusters.html
+~~~~~~
+
+= list-commands
+
+[[list-commands-1]][[GSRFM00154]][[list-commands]]
+
+== list-commands
+
+Lists available commands
+
+[[sthref1381]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-commands [--help]
+[--localonly={false|true}] [--remoteonly={false|true}]
+
+pattern-list
+----
+
+[[sthref1382]]
+
+=== Description
+
+The `list-commands` subcommand lists the `asadmin` subcommands.
+
+By default, the `list-commands` subcommand displays a list of local
+subcommands followed by a list of remote subcommands. You can specify
+that only remote subcommands or only local subcommands are listed and
+that only subcommands whose names contain a specified text string are
+listed.
+
+This subcommand is supported in local mode and remote mode.
+
+[[sthref1383]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--localonly`::
+  If this option is set to true, only local commands are listed. Default
+  is false. +
+  If this option is set to true, the `--remoteonly` option must be set
+  to false. Otherwise, an error occurs.
+`--remoteonly`::
+  If this option is set to true, only remote commands are listed.
+  Default is false. +
+  If this option is set to true, the `--localonly` option must be set to
+  false. Otherwise, an error occurs.
+
+[[sthref1384]]
+
+=== Operands
+
+pattern-list::
+  A space-separated list of text strings on which to filter the list of
+  subcommands. Only the subcommands that contain any one of the
+  specified text strings is listed.
+
+[[sthref1385]]
+
+=== Examples
+
+[[GSRFM644]][[sthref1386]]
+
+==== Example 1   Listing the Local Subcommands
+
+This example lists only the local subcommands.
+
+[source]
+----
+asadmin> list-commands --localonly=true
+********** Local Commands **********
+change-admin-password
+change-master-password
+create-domain
+create-service
+delete-domain
+export
+help
+list-commands
+list-domains
+login
+monitor
+multimode
+restart-domain
+start-database
+start-domain
+stop-database
+stop-domain
+unset
+verify-domain-xml
+version
+Command list-commands executed successfully.
+----
+
+[[GSRFM645]][[sthref1387]]
+
+==== Example 2   Filtering the Subcommands That Are Listed
+
+This example lists only the subcomands whose names contain the text
+`configure` or `set`.
+
+[source]
+----
+asadmin> list-commands configure set
+********** Local Commands **********
+setup-ssh
+unset
+
+********** Remote Commands **********
+configure-jms-cluster                   set-log-levels
+configure-lb-weight                     set-web-context-param
+configure-ldap-for-admin                set-web-env-entry
+set                                     unset-web-context-param
+set-log-attributes                      unset-web-env-entry
+
+Command list-commands executed successfully.
+----
+
+[[GSRFM646]][[sthref1388]]
+
+==== Example 3   Listing All Subcommands
+
+This example first displays a list of the local subcommands, followed by
+a partial list of the remote subcommands.
+
+[source]
+----
+asadmin> list-commands
+********** Local Commands **********
+change-admin-password
+change-master-password
+create-domain
+create-service
+delete-domain
+export
+help
+list-commands
+list-domains
+login
+monitor
+multimode
+restart-domain
+start-database
+start-domain
+stop-database
+stop-domain
+unset
+verify-domain-xml
+version
+********** Remote Commands **********
+__locations                             enable
+add-resources                           enable-monitoring
+configure-ldap-for-admin                flush-jmsdest
+create-admin-object                     freeze-transaction-service
+create-audit-module                     generate-jvm-report
+create-auth-realm                       get
+create-connector-connection-pool        get-client-stubs
+create-connector-resource               get-host-and-port
+create-connector-security-map           jms-ping
+create-connector-work-security-map      list
+create-custom-resource                  list-admin-objects
+create-file-user                        list-app-refs
+create-http                             list-applications
+create-http-listener                    list-audit-modules
+create-iiop-listener                    list-auth-realms
+create-javamail-resource                list-components
+create-jdbc-connection-pool             list-connector-connection-pools
+create-jdbc-resource                    list-connector-resources
+create-jms-host                         list-connector-security-maps
+create-jms-resource                     list-connector-work-security-maps
+create-jmsdest                          list-containers
+create-jndi-resource                    list-custom-resources
+create-jvm-options                      list-file-groups
+create-lifecycle-module                 list-file-users
+create-message-security-provider        list-http-listeners
+create-network-listener                 list-iiop-listeners
+create-password-alias                   list-javamail-resources
+create-profiler                         list-jdbc-connection-pools
+create-protocol                         list-jdbc-resources
+create-resource-adapter-config          list-jms-hosts
+create-resource-ref                     list-jms-resources
+create-ssl                              list-jmsdest
+create-system-properties                list-jndi-entries
+create-threadpool                       list-jndi-resources
+create-transport                        list-jvm-options
+create-virtual-server                   list-lifecycle-modules
+delete-admin-object                     list-logger-levels
+delete-audit-module                     list-message-security-providers
+...
+----
+
+[[sthref1389]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1390]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-components.html#list-components-1[`list-components`(1)],
+link:list-containers.html#list-containers-1[`list-containers`(1)],
+link:list-modules.html#list-modules-1[`list-modules`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-components.adoc b/docs/reference-manual/src/main/asciidoc/list-components.adoc
new file mode 100644
index 0000000..f57e61e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-components.adoc
@@ -0,0 +1,145 @@
+type=page
+status=published
+title=list-components
+next=list-configs.html
+prev=list-commands.html
+~~~~~~
+
+= list-components
+
+[[list-components-1]][[GSRFM00155]][[list-components]]
+
+== list-components
+
+Lists deployed components
+
+[[sthref1391]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-components [--help]
+[--long={false|true}] [--resources] [--subcomponents]
+[--type type] [target]
+----
+
+[[sthref1392]]
+
+=== Description
+
+[NOTE]
+====
+The `list-components` subcommand is deprecated. Use the
+`list-applications` subcommand instead.
+====
+
+The `list-components` subcommand lists all deployed Jakarta EE components.
+
+If the `--type` option is not specified, all components are listed. If
+the type option is specified, you must specify a type. The possible
+types are listed in the Options section in this help page.
+
+If multiple versions of a module or application are deployed, this
+subcommand lists all versions. To list which version is enabled, set the
+`--long` option to `true`. For more information about module and
+application versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application
+Versions]" in {productName} Application
+Deployment Guide.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1393]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+  If `true`, displays whether each module or application listed is
+  enabled. The default is `false`.
+`--resources`::
+  Lists the application-scoped resources for each component. If the
+  `--subcomponents` option is also used, lists the application-scoped
+  resources for each component within an application.
+`--subcomponents`::
+  Lists the subcomponents of each component. The subcomponents listed
+  depend on the component type. For example, for a Jakarta EE application
+  (EAR file), modules are listed. For a web application, servlets and
+  JSP pages are listed. For an EJB module, EJB subcomponents are listed.
+`--type`::
+  Specifies the type of the components that are to be listed. The
+  options are as follows:
+
+  * `application`
+  * `appclient`
+  * `connector`
+  * `ejb`
+  * `web`
+  * `webservice`
+
++
+If no type is specified, all components are listed.
+
+[[sthref1394]]
+
+=== Operands
+
+target::
+  This is the name of the target upon which the subcommand operates. The
+  valid values are:
++
+  `server`;;
+    Lists the components for the default server instance `server` and is
+    the default value.
+  `domain`;;
+    Lists the components for the domain.
+  cluster_name;;
+    Lists the components for the cluster.
+  instance_name;;
+    Lists the components for a particular stand-alone server instance.
+
+[[sthref1395]]
+
+=== Examples
+
+[[GSRFM647]][[sthref1396]]
+
+==== Example 1   Listing Components
+
+This example lists the connector components. (`cciblackbox-tx.rar` was
+deployed.)
+
+[source]
+----
+asadmin> list-components --type connector
+cciblackbox-tx <connector>
+Command list-components executed successfully
+----
+
+[[sthref1397]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1398]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:show-component-status.html#show-component-status-1[`show-component-status`(1)]
+
+link:application-deployment-guide.html#GSDPG[
+{productName} Application Deployment Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-configs.adoc b/docs/reference-manual/src/main/asciidoc/list-configs.adoc
new file mode 100644
index 0000000..062379a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-configs.adoc
@@ -0,0 +1,111 @@
+type=page
+status=published
+title=list-configs
+next=list-connector-connection-pools.html
+prev=list-components.html
+~~~~~~
+
+= list-configs
+
+[[list-configs-1]][[GSRFM00156]][[list-configs]]
+
+== list-configs
+
+Lists named configurations
+
+[[sthref1399]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-configs [--help]
+[target]
+----
+
+[[sthref1400]]
+
+=== Description
+
+The `list—configs` subcommand lists named configurations in the
+configuration of the domain administration server (DAS). The list can be
+filtered by cluster, instance, or named configuration.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1401]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1402]]
+
+=== Operands
+
+target::
+  Filters the list of configurations. Valid values are as follows:
+
+  `domain`;;
+    Lists all named configurations in the current domain.
+  cluster-name;;
+    Lists the named configuration that defines the configuration of
+    instances in the specified cluster.
+  instance-name;;
+    Lists the named configuration that defines the configuration of the
+    specified instance.
+  configuration-name;;
+    Lists the specified named configuration. Use this option to
+    determine whether a named configuration exits.
+
+[[sthref1403]]
+
+=== Examples
+
+[[GSRFM648]][[sthref1404]]
+
+==== Example 1   Listing All Named Configurations in a Domain
+
+This example lists all named configurations in the current domain.
+
+[source]
+----
+asadmin> list-configs
+server-config
+default-config
+pmdclust-config
+pmdsharedconfig
+pmdcpinst-config
+ymlclust-config
+il1-config
+il2-config
+
+Command list-configs executed successfully.
+----
+
+[[sthref1405]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1406]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:copy-config.html#copy-config-1[`copy-config`(1)],
+link:delete-config.html#delete-config-1[`delete-config`(1)]
+
+link:configuration.html#configuration-5asc[`configuration`(5ASC)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-connector-connection-pools.adoc b/docs/reference-manual/src/main/asciidoc/list-connector-connection-pools.adoc
new file mode 100644
index 0000000..ba78cf0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-connector-connection-pools.adoc
@@ -0,0 +1,81 @@
+type=page
+status=published
+title=list-connector-connection-pools
+next=list-connector-resources.html
+prev=list-configs.html
+~~~~~~
+
+= list-connector-connection-pools
+
+[[list-connector-connection-pools-1]][[GSRFM00157]][[list-connector-connection-pools]]
+
+== list-connector-connection-pools
+
+Lists the existing connector connection pools
+
+[[sthref1407]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-connector-connection-pools [--help]
+----
+
+[[sthref1408]]
+
+=== Description
+
+The `list-connector-connection-pools` subcommand list connector
+connection pools that have been created.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1409]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1410]]
+
+=== Examples
+
+[[GSRFM649]][[sthref1411]]
+
+==== Example 1   Listing the Connector Connection Pools
+
+This example lists the existing connector connection pools.
+
+[source]
+----
+asadmin> list-connector-connection-pools
+jms/qConnPool
+Command list-connector-connection-pools executed successfully
+----
+
+[[sthref1412]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1413]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-connection-pool.html#create-connector-connection-pool-1[`create-connector-connection-pool`(1)],
+link:delete-connector-connection-pool.html#delete-connector-connection-pool-1[`delete-connector-connection-pool`(1)],
+link:ping-connection-pool.html#ping-connection-pool-1[`ping-connection-pool`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-connector-resources.adoc b/docs/reference-manual/src/main/asciidoc/list-connector-resources.adoc
new file mode 100644
index 0000000..11e6fd0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-connector-resources.adoc
@@ -0,0 +1,99 @@
+type=page
+status=published
+title=list-connector-resources
+next=list-connector-security-maps.html
+prev=list-connector-connection-pools.html
+~~~~~~
+
+= list-connector-resources
+
+[[list-connector-resources-1]][[GSRFM00158]][[list-connector-resources]]
+
+== list-connector-resources
+
+Lists all connector resources
+
+[[sthref1414]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-connector-resources [--help]
+[target]
+----
+
+[[sthref1415]]
+
+=== Description
+
+The `list-connector-resources` subcommand lists all connector resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1416]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1417]]
+
+=== Operands
+
+target::
+  The target for which the connector resources are to be listed. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the connector resources on the default server instance. This
+    is the default value.
+  `domain`;;
+    Lists the connector resources for the domain.
+  cluster-name;;
+    Lists the connector resources on all server instances in the
+    specified cluster.
+  instance-name;;
+    Lists the connector resources on a specified server instance.
+
+[[sthref1418]]
+
+=== Examples
+
+[[GSRFM650]][[sthref1419]]
+
+==== Example 1   Listing Connector Resources
+
+This example lists all existing connector resources.
+
+[source]
+----
+asadmin> list-connector-resources
+jms/qConnFactory
+Command list-connector-resources executed successfully.
+----
+
+[[sthref1420]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1421]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-resource.html#create-connector-resource-1[`create-connector-resource`(1)],
+link:delete-connector-resource.html#delete-connector-resource-1[`delete-connector-resource`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-connector-security-maps.adoc b/docs/reference-manual/src/main/asciidoc/list-connector-security-maps.adoc
new file mode 100644
index 0000000..6692599
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-connector-security-maps.adoc
@@ -0,0 +1,108 @@
+type=page
+status=published
+title=list-connector-security-maps
+next=list-connector-work-security-maps.html
+prev=list-connector-resources.html
+~~~~~~
+
+= list-connector-security-maps
+
+[[list-connector-security-maps-1]][[GSRFM00159]][[list-connector-security-maps]]
+
+== list-connector-security-maps
+
+Lists the security maps belonging to the specified connector connection pool
+
+[[sthref1422]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-connector-security-maps [--help]
+[--securitymap securitymap]
+[--verbose={false|true}] [--target target]
+pool-name
+----
+
+[[sthref1423]]
+
+=== Description
+
+The `list-connector-security-maps` subcommand lists the security maps
+belonging to the specified connector connection pool.
+
+For this subcommand to succeed, you must have first created a connector
+connection pool using the `create-connector-connection-pool` subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1424]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--securitymap`::
+  Specifies the name of the security map contained within the connector
+  connection pool from which the identity and principals should be
+  listed. With this option, `--verbose` is redundant.
+`--verbose`::
+  If set to `true`, returns a list including the identity, principals,
+  and security name. The default is `false`.
+`--target`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref1425]]
+
+=== Operands
+
+pool-name::
+  Name of the connector connection pool for which you want to list
+  security maps.
+
+[[sthref1426]]
+
+=== Examples
+
+[[GSRFM651]][[sthref1427]]
+
+==== Example 1   Listing the Connector Security Maps
+
+This example lists the existing connector security maps for the pool
+named `connector-Pool1`.
+
+[source]
+----
+asadmin> list-connector-security-maps connector-Pool1
+securityMap1
+Command list-connector-security-maps executed successfully.
+----
+
+[[sthref1428]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1429]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
+link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
+link:update-connector-security-map.html#update-connector-security-map-1[`update-connector-security-map`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-connector-work-security-maps.adoc b/docs/reference-manual/src/main/asciidoc/list-connector-work-security-maps.adoc
new file mode 100644
index 0000000..59d31fc
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-connector-work-security-maps.adoc
@@ -0,0 +1,98 @@
+type=page
+status=published
+title=list-connector-work-security-maps
+next=list-containers.html
+prev=list-connector-security-maps.html
+~~~~~~
+
+= list-connector-work-security-maps
+
+[[list-connector-work-security-maps-1]][[GSRFM00160]][[list-connector-work-security-maps]]
+
+== list-connector-work-security-maps
+
+Lists the work security maps belonging to the specified resource adapter
+
+[[sthref1430]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-connector-work-security-maps [--help]
+[--securitymap securitymap]
+resource_adapter_name
+----
+
+[[sthref1431]]
+
+=== Description
+
+The `list-connector-work-security-maps` subcommand lists the work
+security maps belonging to the specified resource adapter.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1432]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--securitymap`::
+  Specifies the name of the security map contained within the resource
+  adapter from which the identity and principals should be listed.
+
+[[sthref1433]]
+
+=== Operands
+
+resource_adapter_name::
+  The name of the resource adapter for which you want to list security
+  maps.
+
+[[sthref1434]]
+
+=== Examples
+
+[[GSRFM652]][[sthref1435]]
+
+==== Example 1   Listing Connector Work Security Maps
+
+This example lists the current connector work security maps for the
+resource adapter named `my_resource_adapter`.
+
+[source]
+----
+asadmin> list-connector-work-security-maps my_resource_adapter
+workSecurityMap1: EIS principal=eis-principal-2, mapped principal=server-principal-2
+workSecurityMap1: EIS principal=eis-principal-1, mapped principal=server-principal-1
+workSecurityMap2: EIS principal=eis-principal-2, mapped principal=server-principal-2
+workSecurityMap2: EIS principal=eis-principal-1, mapped principal=server-principal-1
+Command list-connector-work-security-maps executed successfully.
+----
+
+[[sthref1436]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1437]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
+link:delete-connector-work-security-map.html#delete-connector-work-security-map-1[`delete-connector-work-security-map`(1)],
+link:update-connector-work-security-map.html#update-connector-work-security-map-1[`update-connector-work-security-map`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-containers.adoc b/docs/reference-manual/src/main/asciidoc/list-containers.adoc
new file mode 100644
index 0000000..beace68
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-containers.adoc
@@ -0,0 +1,93 @@
+type=page
+status=published
+title=list-containers
+next=list-context-services.html
+prev=list-connector-work-security-maps.html
+~~~~~~
+
+= list-containers
+
+[[list-containers-1]][[GSRFM00161]][[list-containers]]
+
+== list-containers
+
+Lists application containers
+
+[[sthref1438]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-containers [--help]
+----
+
+[[sthref1439]]
+
+=== Description
+
+The `list-containers` subcommand displays a list of application
+containers.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1440]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1441]]
+
+=== Examples
+
+[[GSRFM653]][[sthref1442]]
+
+==== Example 1   Listing the Application Containers
+
+This example lists the current application containers.
+
+[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 : osgi
+Container : security
+Container : webbeans
+
+Command list-containers executed successfully.
+----
+
+[[sthref1443]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1444]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-commands.html#list-commands-1[`list-commands`(1)],
+link:list-components.html#list-components-1[`list-components`(1)],
+link:list-modules.html#list-modules-1[`list-modules`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-context-services.adoc b/docs/reference-manual/src/main/asciidoc/list-context-services.adoc
new file mode 100644
index 0000000..ca7ecd0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-context-services.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=list-context-services
+next=list-custom-resources.html
+prev=list-containers.html
+~~~~~~
+
+= list-context-services
+
+[[list-context-services-1]][[GSRFM865]][[list-context-services]]
+
+== list-context-services
+
+Lists context service resources
+
+[[sthref1445]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-context-services [--help]
+[target]
+----
+
+[[sthref1446]]
+
+=== Description
+
+The `list-context-services` subcommand lists context service resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1447]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1448]]
+
+=== Operands
+
+target::
+  Specifies the target for which context service resources are to be
+  listed. Valid targets are:
+
+  `server`;;
+    Lists the resources on the default server instance. This is the
+    default value.
+  `domain`;;
+    Lists the resources for the domain.
+  cluster-name;;
+    Lists the resources on all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the resources on a specified server instance.
+
+[[sthref1449]]
+
+=== Examples
+
+[[GSRFM866]][[sthref1450]]
+
+==== Example 1   Listing Context Service Resources
+
+This example lists context service resources on the default server
+instance.
+
+[source]
+----
+asadmin> list-context-services
+concurrent/__defaultContextService
+concurrent/myContextService1
+concurrent/myContextService2
+Command list-context-services executed successfully.
+----
+
+[[sthref1451]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1452]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-context-service.html#create-context-service-1[`create-context-service`(1)],
+link:delete-context-service.html#delete-context-service-1[`delete-context-service`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-custom-resources.adoc b/docs/reference-manual/src/main/asciidoc/list-custom-resources.adoc
new file mode 100644
index 0000000..48326e2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-custom-resources.adoc
@@ -0,0 +1,114 @@
+type=page
+status=published
+title=list-custom-resources
+next=list-domains.html
+prev=list-context-services.html
+~~~~~~
+
+= list-custom-resources
+
+[[list-custom-resources-1]][[GSRFM00162]][[list-custom-resources]]
+
+== list-custom-resources
+
+Gets all custom resources
+
+[[sthref1453]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-custom-resources [--help]
+[target]
+----
+
+[[sthref1454]]
+
+=== Description
+
+The `list-custom-resources` subcommand lists the custom resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1455]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1456]]
+
+=== Operands
+
+target::
+  This operand specifies the location of the custom resources. Valid
+  targets are:
+
+  `server`;;
+    Lists the resources on the default server instance. This is the
+    default value
+  `domain`;;
+    Lists the resources in the domain.
+  cluster_name;;
+    Lists the resources for every server instance in the cluster.
+  instance_name;;
+    Lists the resources for a particular server instance.
+
+[[sthref1457]]
+
+=== Examples
+
+[[GSRFM654]][[sthref1458]]
+
+==== Example 1   Listing Custom Resources
+
+This example lists the current custom resources.
+
+[source]
+----
+asadmin> list-custom-resources
+sample_custom_resource01
+sample_custom_resource02
+Command list-custom-resources executed successfully.
+----
+
+[[GSRFM655]][[sthref1459]]
+
+==== Example 2   Using the list-custom-resources command with a target
+
+The following example displays the usage of this command.
+
+[source]
+----
+asadmin> list-custom-resources --user admin --passwordfile
+passwords.txt --host plum --port 4848 target6
+
+sample_custom_resource03
+sample_custom_resource04
+Command list-custom-resources executed successfully.
+----
+
+[[sthref1460]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1461]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-custom-resource.html#create-custom-resource-1[`create-custom-resource`(1)],link:delete-custom-resource.html#delete-custom-resource-1[`delete-custom-resource`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-domains.adoc b/docs/reference-manual/src/main/asciidoc/list-domains.adoc
new file mode 100644
index 0000000..93500e6
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-domains.adoc
@@ -0,0 +1,105 @@
+type=page
+status=published
+title=list-domains
+next=list-file-groups.html
+prev=list-custom-resources.html
+~~~~~~
+
+= list-domains
+
+[[list-domains-1]][[GSRFM00163]][[list-domains]]
+
+== list-domains
+
+Lists the domains in the specified directory
+
+[[sthref1462]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-domains [--help]
+[--domaindir domaindir]
+[--long={false|true}]
+[--header={false|true}]
+----
+
+[[sthref1463]]
+
+=== Description
+
+The `list-domains` subcommand lists the domains in the specified domains
+directory. If the domains directory is not specified, the domains in the
+default directory are listed. If there is more that one domains
+directory, the `--domaindir` option must be specified. The status of
+each domain is included.
+
+This subcommand is supported in local mode only.
+
+[[sthref1464]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--domaindir`::
+  The directory where the domains are to be listed. If specified, the
+  path must be accessible in the files stem. If not specified, the
+  domains in the domain root directory are listed. The default location
+  of the domain root directory is as-install``/domains``.
+`--long`::
+`-l`::
+  Displays detailed information about the administration servers in the
+  listed domains, including host names and port numbers. The default
+  value is `false`.
+`--header`::
+`-h`::
+  Specifies whether a header is displayed when the `--long` option is
+  used. The default value is `true`. To suppress the header, set the
+  `--header` option to `false`.
+
+[[sthref1465]]
+
+=== Examples
+
+[[GSRFM656]][[sthref1466]]
+
+==== Example 1   Listing Domains
+
+This example lists the domains in the default directory.
+
+[source]
+----
+asadmin> list-domains
+Name: domain1 Status: Running
+Name: domain2 Status: Not running
+Name: domain4 Status: Running, restart required to apply configuration changes
+Command list-domains executed successfully
+----
+
+[[sthref1467]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1468]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-domain.html#create-domain-1[`create-domain`(1)],
+link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-file-groups.adoc b/docs/reference-manual/src/main/asciidoc/list-file-groups.adoc
new file mode 100644
index 0000000..96ce651
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-file-groups.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=list-file-groups
+next=list-file-users.html
+prev=list-domains.html
+~~~~~~
+
+= list-file-groups
+
+[[list-file-groups-1]][[GSRFM00164]][[list-file-groups]]
+
+== list-file-groups
+
+Lists file groups
+
+[[sthref1469]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-file-groups [--help]
+[--name username] [--authrealmname auth_realm_name]
+[--target target]
+----
+
+[[sthref1470]]
+
+=== Description
+
+The `list-file-groups` subcommand lists the file users and groups
+supported by the file realm authentication. This subcommand lists
+available groups in the file user. If the `--name` option is not
+specified, all groups are listed.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1471]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  Identifies the name of the file user for whom the groups will be
+  listed.
+`--authrealmname`::
+  The name of the authentication realm for which to list available
+  groups.
+`--target`::
+  This option specifies which configurations you can list. Valid targets
+  are:
+
+  `server`;;
+    Lists the file groups in the current server. This is the default
+    value.
+  cluster_name;;
+    Lists the file groups in a cluster.
+  instance_name;;
+    Lists the file groups for a particular instance.
+
+[[sthref1472]]
+
+=== Examples
+
+[[GSRFM657]][[sthref1473]]
+
+==== Example 1   Listing Groups in all File Realms
+
+This example list all file realm groups defined for the server.
+
+[source]
+----
+asadmin> list-file-groups
+staff
+manager
+Command list-file-groups executed successfully
+----
+
+[[sthref1474]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1475]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
+link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
+link:list-file-users.html#list-file-users-1[`list-file-users`(1)],
+link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-file-users.adoc b/docs/reference-manual/src/main/asciidoc/list-file-users.adoc
new file mode 100644
index 0000000..380e9b5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-file-users.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=list-file-users
+next=list-http-lb-configs.html
+prev=list-file-groups.html
+~~~~~~
+
+= list-file-users
+
+[[list-file-users-1]][[GSRFM00165]][[list-file-users]]
+
+== list-file-users
+
+Lists the file users
+
+[[sthref1476]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-file-users [--help]
+[--authrealmname auth_realm_name] [target]
+----
+
+[[sthref1477]]
+
+=== Description
+
+The `list-file-users` subcommand displays a list of file users supported
+by file realm authentication.
+
+[[sthref1478]]
+
+=== Options
+
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--authrealmname`::
+  Lists only the users in the specified authentication realm.
+
+[[sthref1479]]
+
+=== Operands
+
+target::
+  Specifies the target for which you want to list file users. The
+  following values are valid:
+
+  `server`;;
+    Lists the file users on the default server instance. This is the
+    default value.
+  configuration_name;;
+    Lists the file users in the specified configuration.
+  cluster_name;;
+    Lists the file users on all server instances in the specified
+    cluster.
+  instance_name;;
+    Lists the file users on a specified server instance.
+
+[[sthref1480]]
+
+=== Examples
+
+[[GSRFM658]][[sthref1481]]
+
+==== Example 1   Listing Users in a Specific File Realm
+
+The following example lists the users in the file realm named
+`sample_file_realm`.
+
+[source]
+----
+asadmin> list-file-users --authrealmname sample_file_realm
+sample_user05
+sample_user08
+sample_user12
+Command list-file-users executed successfully
+----
+
+[[sthref1482]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1483]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
+link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
+link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
+link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-http-lb-configs.adoc b/docs/reference-manual/src/main/asciidoc/list-http-lb-configs.adoc
new file mode 100644
index 0000000..8fdd107
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-http-lb-configs.adoc
@@ -0,0 +1,114 @@
+type=page
+status=published
+title=list-http-lb-configs
+next=list-http-lbs.html
+prev=list-file-users.html
+~~~~~~
+
+= list-http-lb-configs
+
+[[list-http-lb-configs-1]][[GSRFM00166]][[list-http-lb-configs]]
+
+== list-http-lb-configs
+
+Lists load balancer configurations
+
+[[sthref1484]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-http-lb-configs [--help]
+[target]
+----
+
+[[sthref1485]]
+
+=== Description
+
+The `list-http-lb-configs` subcommand lists the load balancer
+configurations. List them all or list them by the cluster or server
+instance they reference.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref1486]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1487]]
+
+=== Operands
+
+target::
+  Lists the load balancers by target. Valid values are:
+
+  * cluster_name- The name of a target cluster.
+  * instance_name- The name of a target server instance.
+
+[[sthref1488]]
+
+=== Examples
+
+[[GSRFM659]][[sthref1489]]
+
+==== Example 1   Listing Load Balancer Configurations Without a Target
+
+This example lists all load balancer configurations defined for all
+{productName} clusters and instances.
+
+[source]
+----
+asadmin> list-http-lb-configs
+
+mycluster-http-lb-config
+serverinstlb
+Command list-http-lb-configs executed successfully.
+----
+
+[[GSRFM660]][[sthref1490]]
+
+==== Example 2   Listing Load Balancer Configurations for a Specific Target
+
+This example lists the load balancer configuration defined for a cluster
+named `mycluster`.
+
+[source]
+----
+asadmin> list-http-lb-configs mycluster
+
+mycluster-http-lb-config
+Command list-http-lb-configs executed successfully.
+----
+
+[[sthref1491]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1492]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)],
+link:delete-http-lb-config.html#delete-http-lb-config-1[`delete-http-lb-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-http-lbs.adoc b/docs/reference-manual/src/main/asciidoc/list-http-lbs.adoc
new file mode 100644
index 0000000..6fa9ad2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-http-lbs.adoc
@@ -0,0 +1,126 @@
+type=page
+status=published
+title=list-http-lbs
+next=list-http-listeners.html
+prev=list-http-lb-configs.html
+~~~~~~
+
+= list-http-lbs
+
+[[list-http-lbs-1]][[GSRFM00167]][[list-http-lbs]]
+
+== list-http-lbs
+
+Lists load balancers
+
+[[sthref1493]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-http-lbs [--help]
+[--long={false|true}]
+[--output output]
+[--header={false|true}]
+[name]
+----
+
+[[sthref1494]]
+
+=== Description
+
+Use the `list-http-lbs` subcommand to list physical load balancers.
+
+[NOTE]
+====
+This subcommand is only applicable to {productName}. This
+subcommand is not applicable to {productName}.
+====
+
+[[sthref1495]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Displays detailed information about each load balancer. The default
+  value is `false.`
+`--output`::
+`-o`::
+  Displays specific details about each load balancer. Use a
+  comma-separated list to specify the details you want to display and
+  their order. For example,
+  `list-http-lbs --output name,device-host,device-port`. The values are
+  case-insensitive. +
+  Possible values are as follows:
+
+  `device-host`;;
+    Displays the device host or the IP address of the load balancing
+    device. This host or IP is where the physical load balancer resides.
+  `name`;;
+    Displays the name of the load balancer.
+  `auto-apply-enabled`;;
+    Displays whether the Auto Apply feature is enabled.
+  `lb-config-name`;;
+    Displays the name of the load balancer configuration.
+  `device-port`;;
+    Displays the port used to communicate with the load balancing device.
+
+`--header`::
+`-h`::
+  Specifies whether column headings are displayed when the `--long`
+  option is used. The default value is `true`. To suppress the headings,
+  set the `--header` option to `false`.
+
+[[sthref1496]]
+
+=== Operands
+
+name::
+  The name of the load balancer for which you want to display details.
+
+[[sthref1497]]
+
+=== Examples
+
+[[GSRFM661]][[sthref1498]]
+
+==== Example 1   Listing Physical Load Balancers for a Domain
+
+This example lists all physical load balancers defined for a domain.
+
+[source]
+----
+asadmin> list-http-lbs
+
+lb1
+lb2
+Command list-http-lbs executed successfully.
+----
+
+[[sthref1499]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1500]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
+link:delete-http-lb.html#delete-http-lb-1[`delete-http-lb`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-http-listeners.adoc b/docs/reference-manual/src/main/asciidoc/list-http-listeners.adoc
new file mode 100644
index 0000000..aa216b8
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-http-listeners.adoc
@@ -0,0 +1,102 @@
+type=page
+status=published
+title=list-http-listeners
+next=list-iiop-listeners.html
+prev=list-http-lbs.html
+~~~~~~
+
+= list-http-listeners
+
+[[list-http-listeners-1]][[GSRFM00168]][[list-http-listeners]]
+
+== list-http-listeners
+
+Lists the existing network listeners
+
+[[sthref1501]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-http-listeners [--help]
+[target]
+----
+
+[[sthref1502]]
+
+=== Description
+
+The `list-http-listeners` subcommand lists the existing network listeners.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1503]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1504]]
+
+=== Operands
+
+target::
+  Restricts the listing to network listeners for a specified target.
+  Valid values are as follows:
+
+  `server`;;
+    Lists the netowork listeners for the default server instance. This
+    is the default value.
+  configuration-name;;
+    Lists the network listeners for the specified configuration.
+  cluster-name;;
+    Lists the network listeners for all server instances in the
+    specified cluster.
+  instance-name;;
+    Lists the network listeners for the specified server instance.
+
+[[sthref1505]]
+
+=== Examples
+
+[[GSRFM662]][[sthref1506]]
+
+==== Example 1   Listing Network Listeners
+
+The following command lists all the network listeners for the server
+instance:
+
+[source]
+----
+asadmin> list-http-listeners
+http-listener-1
+http-listener-2
+admin-listener
+Command list-http-listeners executed successfully.
+----
+
+[[sthref1507]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1508]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
+link:delete-http-listener.html#delete-http-listener-1[`delete-http-listener`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-iiop-listeners.adoc b/docs/reference-manual/src/main/asciidoc/list-iiop-listeners.adoc
new file mode 100644
index 0000000..c762267
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-iiop-listeners.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=list-iiop-listeners
+next=list-instances.html
+prev=list-http-listeners.html
+~~~~~~
+
+= list-iiop-listeners
+
+[[list-iiop-listeners-1]][[GSRFM00169]][[list-iiop-listeners]]
+
+== list-iiop-listeners
+
+Lists the existing IIOP listeners
+
+[[sthref1509]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-iiop-listeners [--help]
+[target]
+----
+
+[[sthref1510]]
+
+=== Description
+
+The `list-iiop-listeners` subcommand lists the existing IIOP listeners.
+This subcommand is supported in remote mode only.
+
+[[sthref1511]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1512]]
+
+=== Operands
+
+target::
+  This operand specifies the target for which the IIOP listeners are to
+  be listed. Valid values are:
+
+  `server`;;
+    Lists the listeners in the default server instance `server` and is
+    the default value.
+  configuration_name;;
+    Lists the listeners in the specified configuration.
+  cluster_name;;
+    Lists the listeners in the specified cluster.
+  instance_name;;
+    Lists the listeners in a particular server instance.
+
+[[sthref1513]]
+
+=== Examples
+
+[[GSRFM663]][[sthref1514]]
+
+==== Example 1   Using the list-iiop-listeners subcommand
+
+The following command lists all the IIOP listeners for the server
+instance:
+
+[source]
+----
+asadmin> list-iiop-listeners
+orb-listener-1
+SSL
+SSL_MUTUALAUTH
+sample_iiop_listener
+Command list-iiop-listeners executed successfully.
+----
+
+[[sthref1515]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1516]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-iiop-listener.html#create-iiop-listener-1[`create-iiop-listener`(1)],
+link:delete-iiop-listener.html#delete-iiop-listener-1[`delete-iiop-listener`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-instances.adoc b/docs/reference-manual/src/main/asciidoc/list-instances.adoc
new file mode 100644
index 0000000..4d95139
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-instances.adoc
@@ -0,0 +1,231 @@
+type=page
+status=published
+title=list-instances
+next=list-jacc-providers.html
+prev=list-iiop-listeners.html
+~~~~~~
+
+= list-instances
+
+[[list-instances-1]][[GSRFM00170]][[list-instances]]
+
+== list-instances
+
+Lists {productName} instances in a domain
+
+[[sthref1517]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-instances [--help]
+[--timeoutmsec timeout]
+[--long={false|true} | --nostatus={false|true}]
+[--standaloneonly={false|true} | target]
+----
+
+[[sthref1518]]
+
+=== Description
+
+The `list-instances` subcommand lists {productName} instances in a
+domain. The list can be filtered by cluster, instance, node, or
+configuration.
+
+The subcommand displays every {productName} instance in the
+specified target, regardless of how each instance was created. For
+example, this subcommand lists instances that were created by using the
+link:create-instance.html#create-instance-1[`create-instance`(1)]
+subcommand and by using the
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
+subcommand.
+
+By default, the subcommand indicates whether each instance that is
+listed is running. Options of this subcommand control the information
+that is displayed for each instance.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1519]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--timeoutmsec`::
+  The time limit in milliseconds for determining the status of
+  instances. The default is 2,000, which is equivalent to 2 seconds.
+`--long`::
+`-l`::
+  Specifies whether detailed information is displayed for each instance
+  that is listed. +
+  The `--long` option and `--nostatus` option are mutually exclusive. If
+  both options are specified in the same command, an error occurs. +
+  Valid values are as follows:
+
+  `true`;;
+    The following details are displayed for each instance that is listed:
++
+--
+    * The name of the instance
+    * The name of the host where the instance's node resides
+    * The HTTP port on which the instance listens for administration requests
+    * The process identifier (PID) of the instance process or -1 if the
+      instance is not running
+    * The name of the cluster of which the instance is a member, if any
+    * The state of the instance, which is `running` or `not running`
+--
++
+When an instance is listed, some configuration changes in the domain
+    administration server (DAS) for the instance might not have been
+    applied to the instance itself. In this situation, the commands that
+    are required to apply the changes are listed adjacent to the state
+    of the instance. The maximum number of commands that are listed for
+    an instance is 10.
+  `false`;;
+    Only the name of the instance and an indication of whether the
+    instance is running are displayed (default). The length of time that
+    the instance has been running is not displayed.
+
+`--nostatus`::
+  Specifies whether information about whether instances are running is suppressed. +
+  The `--long` option and `--nostatus` option are mutually exclusive. If
+  both options are specified in the same command, an error occurs. +
+  Valid values are as follows:
+
+  `true`;;
+    Information about whether instances are running is suppressed. Only
+    the name of each instance is displayed.
+  `false`;;
+    Information about whether instances are running is displayed
+    (default).
+
+`--standaloneonly`::
+  Specifies whether only standalone instances are listed. +
+  The `--standaloneonly` option and the target operand and are mutually
+  exclusive. If both the `--standaloneonly` option and the target
+  operand are specified in the same command, an error occurs. +
+  Valid values are as follows:
+
+  `true`;;
+    Only standalone instances are listed.
+  `false`;;
+    All instances in the specified target are listed (default).
+
+[[sthref1520]]
+
+=== Operands
+
+target::
+  Filters the list of {productName} instances by specifying the
+  target for which instances are listed. +
+  The target operand and the `--standaloneonly` option are mutually
+  exclusive. If both the target operand and the `--standaloneonly`
+  option are specified in the same command, an error occurs. +
+  Valid values are as follows:
+
+  `domain`;;
+    Lists all instances in the domain (default).
+  cluster-name;;
+    Lists the instances that are members of the specified cluster.
+  instance-name;;
+    Lists only the specified instance.
+  node-name;;
+    Lists the instances that reside on the specified node.
+  configuration-name;;
+    Lists all instances whose configuration is defined by the specified
+    named configuration.
+
+[[sthref1521]]
+
+=== Examples
+
+[[GSRFM664]][[sthref1522]]
+
+==== Example 1   Listing Basic Information About All {productName} Instances in a Domain
+
+This example lists the name and status of all {productName}
+instances in the current domain.
+
+[source]
+----
+asadmin> list-instances
+pmd-i-sj02 running
+yml-i-sj02 running
+pmd-i-sj01 running
+yml-i-sj01 running
+pmdsa1 not running
+
+Command list-instances executed successfully.
+----
+
+[[GSRFM665]][[sthref1523]]
+
+==== Example 2   Listing Detailed Information About All {productName} Instances in a Domain
+
+This example lists detailed information about all {productName}
+instances in the current domain.
+
+[source]
+----
+asadmin> list-instances --long=true
+NAME        HOST       PORT   PID    CLUSTER     STATE
+pmd-i-sj01  sj01       24848  31310  pmdcluster   running
+yml-i-sj01  sj01       24849  25355  ymlcluster   running
+pmdsa1      localhost  24848  -1     ---          not running
+pmd-i-sj02  sj02       24848  22498  pmdcluster   running
+yml-i-sj02  sj02       24849  20476  ymlcluster   running
+ymlsa1      localhost  24849  -1     ---          not running
+Command list-instances executed successfully.
+----
+
+[[GSRFM666]][[sthref1524]]
+
+==== Example 3   Displaying the Status of an Instance
+
+This example displays status of the instance `pmd-i-sj01`, which is running.
+
+[source]
+----
+asadmin> list-instances pmd-i-sj01
+pmd-i-sj01 running
+Command list-instances executed successfully.
+----
+
+[[GSRFM667]][[sthref1525]]
+
+==== Example 4   Listing Only Standalone Instances in a Domain
+
+This example lists only the standalone instances in the current domain.
+
+[source]
+----
+asadmin> list-instances --standaloneonly=true
+pmdsa1 not running
+Command list-instances executed successfully.
+----
+
+[[sthref1526]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1527]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jacc-providers.adoc b/docs/reference-manual/src/main/asciidoc/list-jacc-providers.adoc
new file mode 100644
index 0000000..c5b2fe6
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jacc-providers.adoc
@@ -0,0 +1,106 @@
+type=page
+status=published
+title=list-jacc-providers
+next=list-javamail-resources.html
+prev=list-instances.html
+~~~~~~
+
+= list-jacc-providers
+
+[[list-jacc-providers-1]][[GSRFM00171]][[list-jacc-providers]]
+
+== list-jacc-providers
+
+Enables administrators to list JACC providers defined for a domain
+
+[[sthref1528]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jacc-providers [--help]
+[target]
+----
+
+[[sthref1529]]
+
+=== Description
+
+The `list-jacc-providers` subcommand enables administrators to list the
+JACC providers defined for a domain. JACC providers are defined as
+`jacc-provider` elements in the `security-service` element in the
+domain's `domain.xml` file. JACC providers can be created using the
+{productName} Admin Console or the `create-jacc-provider` subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1530]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1531]]
+
+=== Operands
+
+target::
+  Specifies the target for which you want to list JACC providers. The
+  following values are valid:
+
+  `server`;;
+    Lists the JACC providers on the default server instance. This is the
+    default value.
+  configuration_name;;
+    Lists the JACC providers in the specified configuration.
+  cluster_name;;
+    Lists the JACC providers on all server instances in the specified
+    cluster.
+  instance_name;;
+    Lists the JACC providers on a specified server instance.
+
+[[sthref1532]]
+
+=== Examples
+
+[[GSRFM668]][[sthref1533]]
+
+==== Example 1   Listing JACC providers
+
+The following example shows how to list JACC providers for the default domain.
+
+[source]
+----
+asadmin> list-jacc-providers
+default
+simple
+testJACC
+
+Command list-jacc-providers executed successfully.
+----
+
+[[sthref1534]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1535]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jacc-provider.html#create-jacc-provider-1[`create-jacc-provider`(1)],
+link:delete-jacc-provider.html#delete-jacc-provider-1[`delete-jacc-provider`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-javamail-resources.adoc b/docs/reference-manual/src/main/asciidoc/list-javamail-resources.adoc
new file mode 100644
index 0000000..661ba76
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-javamail-resources.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=list-javamail-resources
+next=list-jdbc-connection-pools.html
+prev=list-jacc-providers.html
+~~~~~~
+
+= list-javamail-resources
+
+[[list-javamail-resources-1]][[GSRFM00172]][[list-javamail-resources]]
+
+== list-javamail-resources
+
+Lists the existing JavaMail session resources
+
+[[sthref1536]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-javamail-resources [--help]
+[target]
+----
+
+[[sthref1537]]
+
+=== Description
+
+The `list-javamail-resources` subcommand lists the existing JavaMail
+session resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1538]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1539]]
+
+=== Operands
+
+target::
+  This operand specifies the target for which the JavaMail session
+  resources are to be listed. Valid values are:
+
+  `server`;;
+    Lists the resources for the default server instance. This is the
+    default value.
+  `domain`;;
+    Lists the resources for the domain.
+  cluster_name;;
+    Lists the resources for the specified cluster.
+  instance_name;;
+    Lists the resources for a particular server instance.
+
+[[sthref1540]]
+
+=== Examples
+
+[[GSRFM669]][[sthref1541]]
+
+==== Example 1   Listing JavaMail Resources
+
+This example lists the JavaMail session resources for the server
+instance.
+
+[source]
+----
+asadmin> list-javamail-resources
+mail/MyMailSession
+Command list-javamail-resources executed successfuly.
+----
+
+[[sthref1542]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1543]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-javamail-resource.html#create-javamail-resource-1[`create-javamail-resource`(1)],
+link:delete-javamail-resource.html#delete-javamail-resource-1[`delete-javamail-resource`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jdbc-connection-pools.adoc b/docs/reference-manual/src/main/asciidoc/list-jdbc-connection-pools.adoc
new file mode 100644
index 0000000..5bfef3a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jdbc-connection-pools.adoc
@@ -0,0 +1,81 @@
+type=page
+status=published
+title=list-jdbc-connection-pools
+next=list-jdbc-resources.html
+prev=list-javamail-resources.html
+~~~~~~
+
+= list-jdbc-connection-pools
+
+[[list-jdbc-connection-pools-1]][[GSRFM00173]][[list-jdbc-connection-pools]]
+
+== list-jdbc-connection-pools
+
+Lists all JDBC connection pools
+
+[[sthref1544]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jdbc-connection-pools [--help]
+----
+
+[[sthref1545]]
+
+=== Description
+
+The `list-jdbc-connection-pools` subcommand lists the current JDBC
+connection pools.
+
+This subcommand is supported in the remote mode only.
+
+[[sthref1546]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1547]]
+
+=== Examples
+
+[[GSRFM670]][[sthref1548]]
+
+==== Example 1   Listing the JDBC Connection Pools
+
+This example lists the existing JDBC connection pools.
+
+[source]
+----
+asadmin> list-jdbc-connection-pools
+sample_derby_pool
+__TimerPool
+Command list-jdbc-connection-pools executed successfully.
+----
+
+[[sthref1549]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1550]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],
+link:delete-jdbc-connection-pool.html#delete-jdbc-connection-pool-1[`delete-jdbc-connection-pool`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jdbc-resources.adoc b/docs/reference-manual/src/main/asciidoc/list-jdbc-resources.adoc
new file mode 100644
index 0000000..e3e473d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jdbc-resources.adoc
@@ -0,0 +1,98 @@
+type=page
+status=published
+title=list-jdbc-resources
+next=list-jmsdest.html
+prev=list-jdbc-connection-pools.html
+~~~~~~
+
+= list-jdbc-resources
+
+[[list-jdbc-resources-1]][[GSRFM00174]][[list-jdbc-resources]]
+
+== list-jdbc-resources
+
+Lists all JDBC resources
+
+[[sthref1551]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jdbc-resources [--help]
+[target target]
+----
+
+[[sthref1552]]
+
+=== Description
+
+The `list-jdbc-resources` subcommand displays a list of the existing
+JDBC resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1553]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1554]]
+
+=== Operands
+
+`--target`::
+  This operand specifies which JDBC resources you can list. Usage of
+  this operand is optional. Valid values are:
+
+  `server`;;
+    Lists the JDBC resources in the current server and is the default.
+  `domain`;;
+    Lists the JDBC resources in the current domain.
+  cluster_name;;
+    Lists the JDBC resources in a cluster.
+  instance_name;;
+    Lists the JDBC resources for a particular instance.
+
+[[sthref1555]]
+
+=== Examples
+
+[[GSRFM671]][[sthref1556]]
+
+==== Example 1   Listing the JDBC Resources
+
+This example lists the current JDBC resources.
+
+[source]
+----
+asadmin> list-jdbc-resources
+jdbc/DerbyPool
+Command list-jdbc-resources executed successfully.
+----
+
+[[sthref1557]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1558]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
+link:delete-jdbc-resource.html#delete-jdbc-resource-1[`delete-jdbc-resource`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jms-hosts.adoc b/docs/reference-manual/src/main/asciidoc/list-jms-hosts.adoc
new file mode 100644
index 0000000..055ce1f
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jms-hosts.adoc
@@ -0,0 +1,98 @@
+type=page
+status=published
+title=list-jms-hosts
+next=list-jms-resources.html
+prev=list-jmsdest.html
+~~~~~~
+
+= list-jms-hosts
+
+[[list-jms-hosts-1]][[GSRFM00176]][[list-jms-hosts]]
+
+== list-jms-hosts
+
+Lists the existing JMS hosts
+
+[[sthref1568]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jms-hosts [--help]
+[--target target]
+----
+
+[[sthref1569]]
+
+=== Description
+
+The `list-jms-hosts` subcommand lists the existing Java Message Service
+(JMS) hosts for the JMS service.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref1570]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Restricts the listing to JMS hosts for a specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the JMS hosts for the default server instance. This is the
+    default value.
+  configuration-name;;
+    Lists the JMS hosts for the specified configuration.
+  cluster-name;;
+    Lists the JMS hosts for all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the JMS hosts for the specified server instance.
+
+[[sthref1571]]
+
+=== Examples
+
+[[GSRFM674]][[sthref1572]]
+
+==== Example 1   Listing all JMS hosts
+
+The following subcommand lists the JMS hosts for the JMS service.
+
+[source]
+----
+asadmin> list-jms-hosts server-config
+default_JMS_host
+MyNewHost
+Command list-jms-hosts executed successfully.
+----
+
+[[sthref1573]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1574]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jms-host.html#create-jms-host-1[`create-jms-host`(1)],
+link:delete-jms-host.html#delete-jms-host-1[`delete-jms-host`(1)],
+link:jms-ping.html#jms-ping-1[`jms-ping`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jms-resources.adoc b/docs/reference-manual/src/main/asciidoc/list-jms-resources.adoc
new file mode 100644
index 0000000..120ff3e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jms-resources.adoc
@@ -0,0 +1,124 @@
+type=page
+status=published
+title=list-jms-resources
+next=list-jndi-entries.html
+prev=list-jms-hosts.html
+~~~~~~
+
+= list-jms-resources
+
+[[list-jms-resources-1]][[GSRFM00177]][[list-jms-resources]]
+
+== list-jms-resources
+
+Lists the JMS resources
+
+[[sthref1575]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jms-resources [--help]
+[--restype type]
+[target]
+----
+
+[[sthref1576]]
+
+=== Description
+
+The `list-jms-resources` subcommand lists the existing Java Message
+Service (JMS) resources (destination and connection factory resources).
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref1577]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--restype`::
+  The JMS resource type can be `jakarta.jms.Topic`, `jakarta.jms.Queue`,
+  `jakarta.jms.ConnectionFactory`, `jakarta.jms.TopicConnectionFactory`, or
+  `jakarta.jms.QueueConnectionFactory`.
+
+[[sthref1578]]
+
+=== Operands
+
+target::
+  Restricts the listing to resources for a specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the resources for the default server instance. This is the
+    default value.
+  `domain`;;
+    Lists the resources for the domain.
+  cluster-name;;
+    Lists the resources for every server instance in the specified
+    cluster.
+  instance-name;;
+    Lists the resources for the specified server instance.
+
+[[sthref1579]]
+
+=== Examples
+
+[[GSRFM675]][[sthref1580]]
+
+==== Example 1   Listing all JMS resources
+
+The following subcommand lists all JMS resources.
+
+[source]
+----
+asadmin> list-jms-resources
+jms/Queue
+jms/ConnectionFactory
+jms/DurableConnectionFactory
+jms/Topic
+Command list-jms-resources executed successfully.
+----
+
+[[GSRFM676]][[sthref1581]]
+
+==== Example 2   Listing JMS resources of a specified type
+
+The following subcommand lists all `jakarta.jms.ConnectionFactory`
+resources.
+
+[source]
+----
+asadmin> list-jms-resources --restype jakarta.jms.ConnectionFactory
+jms/ConnectionFactory
+jms/DurableConnectionFactory
+Command list-jms-resources executed successfully.
+----
+
+[[sthref1582]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1583]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
+link:delete-jms-resource.html#delete-jms-resource-1[`delete-jms-resource`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jmsdest.adoc b/docs/reference-manual/src/main/asciidoc/list-jmsdest.adoc
new file mode 100644
index 0000000..42a5461
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jmsdest.adoc
@@ -0,0 +1,120 @@
+type=page
+status=published
+title=list-jmsdest
+next=list-jms-hosts.html
+prev=list-jdbc-resources.html
+~~~~~~
+
+= list-jmsdest
+
+[[list-jmsdest-1]][[GSRFM00175]][[list-jmsdest]]
+
+== list-jmsdest
+
+Lists the existing JMS physical destinations
+
+[[sthref1559]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jmsdest [--help]
+[--desttype type]
+[target]
+----
+
+[[sthref1560]]
+
+=== Description
+
+The `list-jmsdest` subcommand lists the Java Message Service (JMS)
+physical destinations.
+
+This subcommand is supported in remote mode only. Remote `asadmin`
+subcommands require a running domain administration server (DAS).
+
+[[sthref1561]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--desttype`::
+  The type of JMS destination to be listed. Valid values are `topic` and
+  `queue`.
+
+[[sthref1562]]
+
+=== Operands
+
+target::
+  Restricts the listing to physical destinations for a specified target.
+  Valid values are as follows:
+
+  `server`;;
+    Lists the physical destinations for the default server instance.
+    This is the default value.
+  configuration-name;;
+    Lists the physical destinations in the specified configuration.
+  cluster-name;;
+    Lists the physical destinations for every server instance in the
+    specified cluster.
+  instance-name;;
+    Lists the physical destinations for the specified server instance.
+
+[[sthref1563]]
+
+=== Examples
+
+[[GSRFM672]][[sthref1564]]
+
+==== Example 1   Listing all physical destinations
+
+The following subcommand lists all the physical destinations.
+
+[source]
+----
+asadmin> list-jmsdest
+PhysicalQueue
+PhysicalTopic
+Command list-jmsdest executed successfully.
+----
+
+[[GSRFM673]][[sthref1565]]
+
+==== Example 2   Listing all physical destinations of a specified type
+
+The following subcommand lists all physical topics.
+
+[source]
+----
+asadmin> list-jmsdest --desttype topic
+PhysicalTopic
+Command list-jmsdest executed successfully.
+----
+
+[[sthref1566]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1567]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jmsdest.html#create-jmsdest-1[`create-jmsdest`(1)],
+link:delete-jmsdest.html#delete-jmsdest-1[`delete-jmsdest`(1)],
+link:flush-jmsdest.html#flush-jmsdest-1[`flush-jmsdest`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jndi-entries.adoc b/docs/reference-manual/src/main/asciidoc/list-jndi-entries.adoc
new file mode 100644
index 0000000..25b94e4
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jndi-entries.adoc
@@ -0,0 +1,111 @@
+type=page
+status=published
+title=list-jndi-entries
+next=list-jndi-resources.html
+prev=list-jms-resources.html
+~~~~~~
+
+= list-jndi-entries
+
+[[list-jndi-entries-1]][[GSRFM00178]][[list-jndi-entries]]
+
+== list-jndi-entries
+
+Browses and queries the JNDI tree
+
+[[sthref1584]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jndi-entries [--help]
+[--context context_name]
+[target]
+----
+
+[[sthref1585]]
+
+=== Description
+
+Use this subcommand to browse and query the JNDI tree.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1586]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--context`::
+  The name of the JNDI context or subcontext. If context is not
+  specified, all entries in the naming service are returned. If context
+  (such as `ejb`) is specified, all those entries are returned.
+
+[[sthref1587]]
+
+=== Operands
+
+target::
+  This operand specifies the JNDI tree to browse.
+  Possible values are as follows:
+
+  `server`;;
+    Browses the JNDI tree for the default {productName} instance
+    (default). The default instance is the domain administration server
+    (DAS).
+  `domain`;;
+    Browses the JNDI tree for the current domain.
+  cluster-name;;
+    Browses the JNDI tree for the specified cluster.
+  instance-name;;
+    Browses the JNDI tree for the specified {productName} instance.
+
+[[sthref1588]]
+
+=== Examples
+
+[[GSRFM677]][[sthref1589]]
+
+==== Example 1   Browsing the JNDI Tree
+
+This example browses the JNDI tree for the default {productName}
+instance.
+
+[source]
+----
+asadmin> list-jndi-entries
+java:global: com.sun.enterprise.naming.impl.TransientContext
+jdbc: com.sun.enterprise.naming.impl.TransientContext
+ejb: com.sun.enterprise.naming.impl.TransientContext
+com.sun.enterprise.container.common.spi.util.InjectionManager:
+com.sun.enterprise.container.common.impl.util.InjectionManagerImpl
+
+Command list-jndi-entries executed successfully.
+----
+
+[[sthref1590]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1591]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
+link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)],
+link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jndi-resources.adoc b/docs/reference-manual/src/main/asciidoc/list-jndi-resources.adoc
new file mode 100644
index 0000000..3fa2658
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jndi-resources.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=list-jndi-resources
+next=list-jobs.html
+prev=list-jndi-entries.html
+~~~~~~
+
+= list-jndi-resources
+
+[[list-jndi-resources-1]][[GSRFM00179]][[list-jndi-resources]]
+
+== list-jndi-resources
+
+Lists all existing JNDI resources
+
+[[sthref1592]]
+
+=== Synopsis
+
+[source]
+----
+list-jndi-resources [--help] [target]
+----
+
+[[sthref1593]]
+
+=== Description
+
+The `list-jndi-resources` subcommand identifies all existing JNDI resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1594]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1595]]
+
+=== Operands
+
+target::
+  The target for which the JNDI resources are to be listed. Valid values
+  are as follows:
+
+  `server`;;
+    Lists the JNDI resources on the default server instance. This is the
+    default value.
+  configuration-name;;
+    Lists the JNDI resources for the specified configuration.
+  cluster-name;;
+    Lists the JNDI resources on all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the JNDI resources on a specified server instance.
+
+[[sthref1596]]
+
+=== Examples
+
+[[GSRFM678]][[sthref1597]]
+
+==== Example 1   Listing JNDI Resources
+
+This example lists the JNDI resources on the default server instance.
+
+[source]
+----
+asadmin> list-jndi-resources
+jndi_resource1
+jndi_resource2
+jndi_resource3
+Command list-jndi-resources executed successfully
+----
+
+[[sthref1598]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1599]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
+link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jobs.adoc b/docs/reference-manual/src/main/asciidoc/list-jobs.adoc
new file mode 100644
index 0000000..c6da9f4
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jobs.adoc
@@ -0,0 +1,94 @@
+type=page
+status=published
+title=list-jobs
+next=list-jvm-options.html
+prev=list-jndi-resources.html
+~~~~~~
+
+= list-jobs
+
+[[list-jobs-1]][[GSRFM867]][[list-jobs]]
+
+== list-jobs
+
+Lists information about subcommands that were started using
+`asadmin --detach` or that contain progress information
+
+[[sthref1600]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jobs [--help]
+[job_id]
+----
+
+[[sthref1601]]
+
+=== Description
+
+The `list-jobs` subcommand lists information about subcommands that were
+started using the `asadmin` utility option `--detach` or that contain
+progress information. The `--detach` option detaches long-running
+subcommands and executes them in the background in detach mode.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1602]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1603]]
+
+=== Operands
+
+job_id::
+  The ID of the job for which you want to list information.
+
+[[sthref1604]]
+
+=== Examples
+
+[[GSRFM868]][[sthref1605]]
+
+==== Example 1   Checking Job Status
+
+This example provides information about subcommands that were started
+using `asadmin --detach` or that contain progress 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
+----
+
+[[sthref1606]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1607]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:attach.html#attach-1[`attach`(1)],
+link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-jvm-options.adoc b/docs/reference-manual/src/main/asciidoc/list-jvm-options.adoc
new file mode 100644
index 0000000..33e4a06
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-jvm-options.adoc
@@ -0,0 +1,130 @@
+type=page
+status=published
+title=list-jvm-options
+next=list-libraries.html
+prev=list-jobs.html
+~~~~~~
+
+= list-jvm-options
+
+[[list-jvm-options-1]][[GSRFM00180]][[list-jvm-options]]
+
+== list-jvm-options
+
+Lists options for the Java application launcher
+
+[[sthref1608]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-jvm-options [--help]
+[--target target]
+[--profiler={false|true}]
+----
+
+[[sthref1609]]
+
+=== Description
+
+The `list-jvm-options` subcommand displays a list of command-line
+options that are passed to the Java application launcher when
+{productName} is started.
+
+The options are managed by using the JVM Options page of the
+Administration Console or by using the `create-jvm-options` and
+`delete-jvm-options` subcommands.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1610]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you are listing Java application
+  launcher options. Valid values are as follows:
+
+  `server`;;
+    Specifies the DAS (default).
+  instance-name;;
+    Specifies a {productName} instance.
+  cluster-name;;
+    Specifies a cluster.
+  configuration-name;;
+    Specifies a named configuration.
+
+`--profiler`::
+  Specifies whether the Java application launcher options to list are
+  for the profiler. Set this option to true only if a profiler has been
+  configured. If this option is set to true and no profiler is
+  configured, an error occurs. The default is false.
+
+[[sthref1611]]
+
+=== Examples
+
+[[GSRFM679]][[sthref1612]]
+
+==== Example 1   Listing the Java Application Launcher Options
+
+This example lists the options that are used by the Java application launcher.
+
+[source]
+----
+asadmin> list-jvm-options
+-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf
+-XX: LogVMOutput
+-XX: UnlockDiagnosticVMOptions
+-Dcom.sun.enterprise.config.config_environment_factory_class=
+com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
+-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks
+-XX:NewRatio=2
+-DANTLR_USE_DIRECT_CLASS_LOADING=true
+-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy
+-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
+-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks
+-client
+-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${
+com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}
+/lib/ext${path.separator}${com.sun.aas.derbyRoot}/lib
+-Xmx512m
+-XX:MaxPermSize=192m
+-XX:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log
+Command list-jvm-options executed successfully.
+----
+
+[[sthref1613]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1614]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
+link:delete-jvm-options.html#delete-jvm-options-1[`delete-jvm-options`(1)]
+
+For more information about the Java application launcher, see the
+reference page for the operating system that you are using:
+
+* Oracle Solaris and Linux: java - the Java application launcher
+(``http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/java.html)
+* Windows: java - the Java application launcher
+(``http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-libraries.adoc b/docs/reference-manual/src/main/asciidoc/list-libraries.adoc
new file mode 100644
index 0000000..3b14686
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-libraries.adoc
@@ -0,0 +1,108 @@
+type=page
+status=published
+title=list-libraries
+next=list-lifecycle-modules.html
+prev=list-jvm-options.html
+~~~~~~
+
+= list-libraries
+
+[[list-libraries-1]][[GSRFM00819]][[list-libraries]]
+
+== list-libraries
+
+Lists library JAR files on {productName}
+
+[[sthref1615]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-libraries [--help]
+[--type={common|ext|app}]
+----
+
+[[sthref1616]]
+
+=== Description
+
+The `list-libraries` subcommand lists library archive files on
+{productName}.
+
+The `--type` option specifies the library type and the {productName}
+directory for which libraries are to be listed.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1617]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--type`::
+  Specifies the library type and the {productName} directory for
+  which libraries are listed. Valid values are as follows:
++
+--
+  `common`;;
+    Lists the library files for the Common class loader directory,
+    domain-dir``/lib``. This is the default.
+  `ext`;;
+    Lists the library files for the Java optional package directory,
+    domain-dir``/lib/ext``.
+  `app`;;
+    Lists the library files for the application-specific class loader
+    directory, domain-dir``/lib/applibs``.
+--
++
+For more information about these directories, see
+  "link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in {productName} Application Development Guide.
+
+[[sthref1618]]
+
+=== Examples
+
+[[GSRFM831]][[sthref1619]]
+
+==== Example 1   Listing Libraries
+
+This example lists the libraries in the application-specific class
+loader directory on the default server instance.
+
+[source]
+----
+asadmin> list-libraries --type app
+mylib.jar
+xlib.jar
+ylib.jar
+zlib.jar
+Command list-libraries executed successfully.
+----
+
+[[sthref1620]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1621]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:add-library.html#add-library-1[`add-library`(1)],
+link:remove-library.html#remove-library-1[`remove-library`(1)]
+
+"link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in {productName} Application Development Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-lifecycle-modules.adoc b/docs/reference-manual/src/main/asciidoc/list-lifecycle-modules.adoc
new file mode 100644
index 0000000..99bac82
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-lifecycle-modules.adoc
@@ -0,0 +1,98 @@
+type=page
+status=published
+title=list-lifecycle-modules
+next=list-log-attributes.html
+prev=list-libraries.html
+~~~~~~
+
+= list-lifecycle-modules
+
+[[list-lifecycle-modules-1]][[GSRFM00181]][[list-lifecycle-modules]]
+
+== list-lifecycle-modules
+
+Lists the lifecycle modules
+
+[[sthref1622]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-lifecycle-modules [--help]
+[target]
+----
+
+[[sthref1623]]
+
+=== Description
+
+The `list-lifecycle-modules` subcommand lists lifecycle modules. A
+lifecycle module provides a means of running a short or long duration
+Java-based task at a specific stage in the server life cycle. This
+subcommand is supported in remote mode only.
+
+[[sthref1624]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1625]]
+
+=== Operands
+
+target::
+  Indicates the location where lifecycle modules are to be listed. Valid
+  values are
+
+  * `server`- Specifies the default server instance as the target for
+  listing lifecycle modules. `server` is the name of the default server
+  instance and is the default value for this operand.
+  * cluster_name - Specifies a particular cluster as the target for
+  listing lifecycle modules.
+  * instance_name - Specifies a particular server instance as the target
+  for listing lifecycle modules.
+
+[[sthref1626]]
+
+=== Examples
+
+[[GSRFM681]][[sthref1627]]
+
+==== Example 1   Listing Lifecycle Modules
+
+[source]
+----
+asadmin> list-lifecycle-modules
+WSTCPConnectorLCModule
+Command list-lifecycle-modules executed successfully
+----
+
+`WSTCPConnectorLCModule` is the only lifecycle module listed for the
+default target, `server`.
+
+[[sthref1628]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1629]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-lifecycle-module.html#create-lifecycle-module-1[`create-lifecycle-module`(1)],
+link:delete-lifecycle-module.html#delete-lifecycle-module-1[`delete-lifecycle-module`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-log-attributes.adoc b/docs/reference-manual/src/main/asciidoc/list-log-attributes.adoc
new file mode 100644
index 0000000..d177c0c
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-log-attributes.adoc
@@ -0,0 +1,119 @@
+type=page
+status=published
+title=list-log-attributes
+next=list-loggers.html
+prev=list-lifecycle-modules.html
+~~~~~~
+
+= list-log-attributes
+
+[[list-log-attributes-1]][[GSRFM00182]][[list-log-attributes]]
+
+== list-log-attributes
+
+Lists all logging attributes defined for a specified target in a domain
+
+[[sthref1630]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-log-attributes [--help]
+[target]
+----
+
+[[sthref1631]]
+
+=== Description
+
+The `list-log-attributes` subcommand lists all logging attributes
+currently defined for the specified {productName} domain or target
+within a domain. The values listed correspond to the values in the
+`logging.properties` file for the domain.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1632]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1633]]
+
+=== Operands
+
+target::
+  Valid values are:
+  * `server` - The default server instance. This is the default value.
+  * configuration_name - The name of a specific configuration.
+  * cluster_name - The name of a target cluster.
+  * instance_name - The name of a target server instance.
+
+[[sthref1634]]
+
+=== Examples
+
+[[GSRFM682]][[sthref1635]]
+
+==== Example 1   Listing the Logger Attributes for a Domain
+
+This example lists all loggers attributes for the default domain.
+
+[source,subs="none"]
+----
+asadmin> list-log-attributes
+com.sun.enterprise.server.logging.GFFileHandler.alarms <false>
+com.sun.enterprise.server.logging.GFFileHandler.file \
+<${com.sun.aas.instanceRoot}/logs/server.log>
+com.sun.enterprise.server.logging.GFFileHandler.flushFrequency <1>
+com.sun.enterprise.server.logging.GFFileHandler.formatter \
+<com.sun.enterprise.server.logging.UniformLogFormatter>
+com.sun.enterprise.server.logging.GFFileHandler.logtoConsole <false>
+com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles <0>
+com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours <0>
+com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes <2000000>
+com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes <0>
+com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging <false>
+handlers <java.util.logging.ConsoleHandler>
+java.util.logging.ConsoleHandler.formatter \
+<com.sun.enterprise.server.logging.UniformLogFormatter>
+java.util.logging.FileHandler.count <1>
+java.util.logging.FileHandler.formatter <java.util.logging.XMLFormatter>
+java.util.logging.FileHandler.limit <50000>
+java.util.logging.FileHandler.pattern <%h/java%u.log>
+log4j.logger.org.hibernate.validator.util.Version <warn>
+
+Command list-log-attributes executed successfully.
+----
+
+[[sthref1636]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1637]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
+link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
+link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
+link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
+link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-log-levels.adoc b/docs/reference-manual/src/main/asciidoc/list-log-levels.adoc
new file mode 100644
index 0000000..e4f79c4
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-log-levels.adoc
@@ -0,0 +1,147 @@
+type=page
+status=published
+title=list-log-levels
+next=list-managed-executor-services.html
+prev=list-loggers.html
+~~~~~~
+
+= list-log-levels
+
+[[list-log-levels-1]][[GSRFM00183]][[list-log-levels]]
+
+== list-log-levels
+
+Lists the loggers and their log levels
+
+[[sthref1645]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-log-levels [--help]
+[--target target]
+----
+
+[[sthref1646]]
+
+=== Description
+
+The `list-log-levels` subcommand lists the current {productName}
+loggers and their log levels. This subcommand reports on all the loggers
+that are listed in the `logging.properties` file. In some cases, loggers
+that have not been created by the respective containers will appear in
+the list.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1647]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  The server, cluster or server instance for which log levels will be listed.
+
+[[sthref1648]]
+
+=== Operands
+
+target::
+  Valid values are:
+
+  * server_name - Default target is `server`. If no target is specified
+  then log levels are listed for the server.
+  * cluster_name - The name of a target cluster.
+  * instance_name - The name of a target server instance.
+
+[[sthref1649]]
+
+=== Examples
+
+[[GSRFM683]][[sthref1650]]
+
+==== Example 1   Listing the Log Levels
+
+This example lists the existing loggers and indicates how their log
+levels are set.
+
+[source]
+----
+asadmin> list-log-levels
+java.util.logging.ConsoleHandler        <FINEST>
+jakarta.enterprise.resource.corba <INFO>
+jakarta.enterprise.resource.javamail      <INFO>
+jakarta.enterprise.resource.jdo   <INFO>
+jakarta.enterprise.resource.jms   <INFO>
+jakarta.enterprise.resource.jta   <INFO>
+jakarta.enterprise.resource.resourceadapter       <INFO>
+jakarta.enterprise.resource.sqltrace      <FINE>
+jakarta.enterprise.resource.webcontainer.jsf.application  <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.config       <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.context      <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.facelets     <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.lifecycle    <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.managedbean  <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.renderkit    <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.resource     <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.taglib       <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.timing       <INFO>
+jakarta.enterprise.system.container.cmp   <INFO>
+jakarta.enterprise.system.container.ejb   <INFO>
+jakarta.enterprise.system.container.ejb.mdb       <INFO>
+jakarta.enterprise.system.container.web   <INFO>
+jakarta.enterprise.system.core.classloading       <INFO>
+jakarta.enterprise.system.core.config     <INFO>
+jakarta.enterprise.system.core    <INFO>
+jakarta.enterprise.system.core.naming     <INFO>
+jakarta.enterprise.system.core.security   <INFO>
+jakarta.enterprise.system.core.selfmanagement     <INFO>
+jakarta.enterprise.system.core.transaction        <INFO>
+jakarta.enterprise.system <INFO>
+jakarta.enterprise.system.tools.admin     <INFO>
+jakarta.enterprise.system.tools.backup    <INFO>
+jakarta.enterprise.system.tools.deployment        <INFO>
+jakarta.enterprise.system.util    <INFO>
+jakarta.enterprise.system.webservices.registry    <INFO>
+jakarta.enterprise.system.webservices.rpc <INFO>
+jakarta.enterprise.system.webservices.saaj        <INFO>
+javax   <INFO>
+javax.org.glassfish.persistence <INFO>
+org.apache.catalina     <INFO>
+org.apache.coyote       <INFO>
+org.apache.jasper       <INFO>
+org.glassfish.admingui  <INFO>
+org.jvnet.hk2.osgiadapter       <INFO>
+Command list-log-levels executed successfully.
+----
+
+[[sthref1651]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1652]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
+link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
+link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
+link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
+link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-loggers.adoc b/docs/reference-manual/src/main/asciidoc/list-loggers.adoc
new file mode 100644
index 0000000..f8ec3f9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-loggers.adoc
@@ -0,0 +1,88 @@
+type=page
+status=published
+title=list-loggers
+next=list-log-levels.html
+prev=list-log-attributes.html
+~~~~~~
+
+= list-loggers
+
+[[list-loggers-1]][[GSRFM869]][[list-loggers]]
+
+== list-loggers
+
+Lists existing loggers
+
+[[sthref1638]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-loggers [--help]
+----
+
+[[sthref1639]]
+
+=== Description
+
+The `list-loggers` subcommand lists the existing {productName}
+loggers. Internal loggers are not listed. The `list-loggers` subcommand
+lists the logger name, subsystem, and description.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1640]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1641]]
+
+=== Examples
+
+[[GSRFM870]][[sthref1642]]
+
+==== Example 1   Listing the Loggers
+
+This example lists the logger name, subsystem, and description for each
+logger. Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> list-loggers
+Logger Name                            Subsystem         Logger Description
+...
+jakarta.enterprise.monitoring            Monitoring        Monitoring Logger
+jakarta.enterprise.system.core.ee        AS-CORE           Jakarta EE Core Kernel
+jakarta.enterprise.system.jmx            JMX               JMX System Logger
+jakarta.enterprise.system.tools.admin    ADMIN             Administration Services
+...
+Command list-loggers executed successfully.
+----
+
+[[sthref1643]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1644]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
+link:set-log-file-format.html#set-log-file-format-1[`set-log-file-format`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-managed-executor-services.adoc b/docs/reference-manual/src/main/asciidoc/list-managed-executor-services.adoc
new file mode 100644
index 0000000..aa56fa9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-managed-executor-services.adoc
@@ -0,0 +1,103 @@
+type=page
+status=published
+title=list-managed-executor-services
+next=list-managed-scheduled-executor-services.html
+prev=list-log-levels.html
+~~~~~~
+
+= list-managed-executor-services
+
+[[list-managed-executor-services-1]][[GSRFM871]][[list-managed-executor-services]]
+
+== list-managed-executor-services
+
+Lists managed executor service resources
+
+[[sthref1653]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-managed-executor-services [--help]
+[target]
+----
+
+[[sthref1654]]
+
+=== Description
+
+The `list-managed-executor-services` subcommand lists managed executor
+service resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1655]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1656]]
+
+=== Operands
+
+target::
+  Specifies the target for which managed executor service resources are
+  to be listed. Valid targets are:
+
+  `server`;;
+    Lists the resources on the default server instance. This is the
+    default value.
+  `domain`;;
+    Lists the resources for the domain.
+  cluster-name;;
+    Lists the resources on all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the resources on a specified server instance.
+
+[[sthref1657]]
+
+=== Examples
+
+[[GSRFM872]][[sthref1658]]
+
+==== Example 1   Listing Managed Executor Service Resources
+
+This example lists managed executor service resources on the default
+server instance.
+
+[source]
+----
+asadmin> list-managed-executor-services
+concurrent/__defaultManagedExecutorService
+concurrent/myExecutor1
+concurrent/myExecutor2
+Command list-managed-executor-services executed successfully.
+----
+
+[[sthref1659]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1660]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-managed-executor-service.html#create-managed-executor-service-1[`create-managed-executor-service`(1)],
+link:delete-managed-executor-service.html#delete-managed-executor-service-1[`delete-managed-executor-service`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-managed-scheduled-executor-services.adoc b/docs/reference-manual/src/main/asciidoc/list-managed-scheduled-executor-services.adoc
new file mode 100644
index 0000000..dd379e5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-managed-scheduled-executor-services.adoc
@@ -0,0 +1,103 @@
+type=page
+status=published
+title=list-managed-scheduled-executor-services
+next=list-managed-thread-factories.html
+prev=list-managed-executor-services.html
+~~~~~~
+
+= list-managed-scheduled-executor-services
+
+[[list-managed-scheduled-executor-services-1]][[GSRFM873]][[list-managed-scheduled-executor-services]]
+
+== list-managed-scheduled-executor-services
+
+Lists managed scheduled executor service resources
+
+[[sthref1661]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-managed-scheduled-executor-services [--help]
+[target]
+----
+
+[[sthref1662]]
+
+=== Description
+
+The `list-managed-scheduled-executor-services` subcommand lists managed
+scheduled executor service resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1663]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1664]]
+
+=== Operands
+
+target::
+  Specifies the target for which managed scheduled executor service
+  resources are to be listed. Valid targets are:
+
+  `server`;;
+    Lists the resources on the default server instance. This is the
+    default value.
+  `domain`;;
+    Lists the resources for the domain.
+  cluster-name;;
+    Lists the resources on all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the resources on a specified server instance.
+
+[[sthref1665]]
+
+=== Examples
+
+[[GSRFM874]][[sthref1666]]
+
+==== Example 1   Listing Managed Scheduled Executor Service Resources
+
+This example lists managed scheduled executor service resources on the
+default server instance.
+
+[source]
+----
+asadmin> list-managed-scheduled-executor-services
+concurrent/__defaultManagedScheduledExecutorService
+concurrent/myScheduledExecutor1
+concurrent/myScheduledExecutor2
+Command list-managed-scheduled-executor-services executed successfully.
+----
+
+[[sthref1667]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1668]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-managed-scheduled-executor-service.html#create-managed-scheduled-executor-service-1[`create-managed-scheduled-executor-service`(1)],
+link:delete-managed-scheduled-executor-service.html#delete-managed-scheduled-executor-service-1[`delete-managed-scheduled-executor-service`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-managed-thread-factories.adoc b/docs/reference-manual/src/main/asciidoc/list-managed-thread-factories.adoc
new file mode 100644
index 0000000..1ab7425
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-managed-thread-factories.adoc
@@ -0,0 +1,103 @@
+type=page
+status=published
+title=list-managed-thread-factories
+next=list-message-security-providers.html
+prev=list-managed-scheduled-executor-services.html
+~~~~~~
+
+= list-managed-thread-factories
+
+[[list-managed-thread-factories-1]][[GSRFM875]][[list-managed-thread-factories]]
+
+== list-managed-thread-factories
+
+Lists managed thread factory resources
+
+[[sthref1669]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-managed-thread-factories [--help]
+[target]
+----
+
+[[sthref1670]]
+
+=== Description
+
+The `list-managed-thread-factories` subcommand lists managed thread
+factory resources.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1671]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1672]]
+
+=== Operands
+
+target::
+  Specifies the target for which managed thread factory resources are to
+  be listed. Valid targets are:
+
+  `server`;;
+    Lists the resources on the default server instance. This is the
+    default value.
+  `domain`;;
+    Lists the resources for the domain.
+  cluster-name;;
+    Lists the resources on all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the resources on a specified server instance.
+
+[[sthref1673]]
+
+=== Examples
+
+[[GSRFM876]][[sthref1674]]
+
+==== Example 1   Listing Managed Thread Factory Resources
+
+This example lists managed thread factory resources on the default
+server instance.
+
+[source]
+----
+asadmin> list-managed-thread-factories
+concurrent/__defaultManagedThreadFactory
+concurrent/myThreadFactory1
+concurrent/myThreadFactory2
+Command list-managed-thread-factories executed successfully.
+----
+
+[[sthref1675]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1676]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-managed-thread-factory.html#create-managed-thread-factory-1[`create-managed-thread-factory`(1)],
+link:delete-managed-thread-factory.html#delete-managed-thread-factory-1[`delete-managed-thread-factory`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-message-security-providers.adoc b/docs/reference-manual/src/main/asciidoc/list-message-security-providers.adoc
new file mode 100644
index 0000000..0668ce9
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-message-security-providers.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=list-message-security-providers
+next=list-modules.html
+prev=list-managed-thread-factories.html
+~~~~~~
+
+= list-message-security-providers
+
+[[list-message-security-providers-1]][[GSRFM00184]][[list-message-security-providers]]
+
+== list-message-security-providers
+
+Lists all security message providers for the given message layer
+
+[[sthref1677]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-message-security-providers [--help]
+--layer message_layer
+[target]
+----
+
+[[sthref1678]]
+
+=== Description
+
+The `list-message-security-providers` subcommand enables administrators
+to list all security message providers (`provider-config` sub-elements)
+for the given message layer (`message-security-config` element of
+`domain.xml`).
+
+This subcommand is supported in remote mode only.
+
+[[sthref1679]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--layer`::
+  The message-layer for which the provider has to be listed. The default
+  value is `HttpServlet`.
+
+[[sthref1680]]
+
+=== Operands
+
+target::
+  Restricts the listing to message security providers for a specific
+  target. Valid values include:
+
+  `server`;;
+    Lists providers for the default server instance `server` and is the
+    default value.
+  `domain`;;
+    Lists providers for the domain.
+  cluster;;
+    Lists providers for the server instances in the cluster.
+  instance;;
+    Lists providers for a particular server instance.
+
+[[sthref1681]]
+
+=== Examples
+
+[[GSRFM684]][[sthref1682]]
+
+==== Example 1   Listing message security providers
+
+The following example shows how to list message security providers for a
+message layer.
+
+[source]
+----
+asadmin> list-message-security-providers
+--layer SOAP
+XWS_ClientProvider
+ClientProvider
+XWS_ServerProvider
+ServerProvider
+Command list-message-security-providers executed successfully.
+----
+
+[[sthref1683]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1684]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-message-security-provider.html#create-message-security-provider-1[`create-message-security-provider`(1)],
+link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-modules.adoc b/docs/reference-manual/src/main/asciidoc/list-modules.adoc
new file mode 100644
index 0000000..a5a2dfc
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-modules.adoc
@@ -0,0 +1,105 @@
+type=page
+status=published
+title=list-modules
+next=list-network-listeners.html
+prev=list-message-security-providers.html
+~~~~~~
+
+= list-modules
+
+[[list-modules-1]][[GSRFM00185]][[list-modules]]
+
+== list-modules
+
+Lists {productName} modules
+
+[[sthref1685]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-modules [--help]
+----
+
+[[sthref1686]]
+
+=== Description
+
+The `list-modules` subcommand displays a list of modules that are
+accessible to the {productName} module subsystem. The version of
+each module is shown.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1687]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1688]]
+
+=== Examples
+
+[[GSRFM685]][[sthref1689]]
+
+==== Example 1   Listing {productName} Modules
+
+This example provides a partial listing of modules that are accessible
+to the {productName} module subsystem
+
+[source]
+----
+asadmin> list-modules
+List Of Modules
+
+Module : org.glassfish.transaction.jts:3.0.0.b66
+    Module Characteristics : List of Jars implementing the module
+        Jar : file:/home/gfuser/GlassFish/glassfish7/glassfish/modules/jts.jar
+    Module Characteristics : Provides to following services
+    Module Characteristics : List of imported modules
+        Imports : org.glassfish.transaction.jts:3.0.0.b66
+Module : com.sun.enterprise.tiger-types-osgi:0.3.96
+Module : org.glassfish.bean-validator:3.0.0.JBoss-400Beta3A
+Module : org.glassfish.core.kernel:3.0.0.b66
+    Module Characteristics : Provides to following services
+    Module Characteristics : List of imported modules
+        Imports : org.glassfish.core.kernel:3.0.0.b66
+    Module Characteristics : List of Jars implementing the module
+        Jar : file:/home/gfuser/GlassFish/glassfish7/glassfish/modules/kernel.jar
+Module : org.glassfish.common.util:3.0.0.b66
+    Module Characteristics : List of Jars implementing the module
+        Jar : file:/home/gfuser/GlassFish/glassfish7/glassfish/modules/common-util.jar
+    Module Characteristics : Provides to following services
+    Module Characteristics : List of imported modules
+        Imports : org.glassfish.common.util:3.0.0.b66
+...
+Command list-modules executed successfully
+----
+
+[[sthref1690]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1691]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-commands.html#list-commands-1[`list-commands`(1)],
+link:list-components.html#list-components-1[`list-components`(1)],
+link:list-containers.html#list-containers-1[`list-containers`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-network-listeners.adoc b/docs/reference-manual/src/main/asciidoc/list-network-listeners.adoc
new file mode 100644
index 0000000..4ef1fc2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-network-listeners.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=list-network-listeners
+next=list-nodes.html
+prev=list-modules.html
+~~~~~~
+
+= list-network-listeners
+
+[[list-network-listeners-1]][[GSRFM00186]][[list-network-listeners]]
+
+== list-network-listeners
+
+Lists the existing network listeners
+
+[[sthref1692]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-network-listeners [--help]
+[target]
+----
+
+[[sthref1693]]
+
+=== Description
+
+The `list-network-listeners` subcommand lists the existing network
+listeners. This subcommand is supported in remote mode only.
+
+[[sthref1694]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1695]]
+
+=== Operands
+
+target::
+  Restricts the listing to network listeners for a specified target.
+  Valid values are as follows:
+
+  `server`;;
+    Lists the network listeners for the default server instance. This is
+    the default value.
+  configuration-name;;
+    Lists the network listeners for the specified configuration.
+  cluster-name;;
+    Lists the network listeners for all server instances in the
+    specified cluster.
+  instance-name;;
+    Lists the network listeners for the specified server instance.
+
+[[sthref1696]]
+
+=== Examples
+
+[[GSRFM686]][[sthref1697]]
+
+==== Example 1   Listing Network Listeners
+
+The following command lists all the network listeners for the server instance:
+
+[source]
+----
+asadmin> list-network-listeners
+admin-listener
+http-listener-1
+https-listener-2
+Command list-network-listeners executed successfully.
+----
+
+[[sthref1698]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1699]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
+link:delete-network-listener.html#delete-network-listener-1[`delete-network-listener`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-nodes-config.adoc b/docs/reference-manual/src/main/asciidoc/list-nodes-config.adoc
new file mode 100644
index 0000000..2052211
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-nodes-config.adoc
@@ -0,0 +1,158 @@
+type=page
+status=published
+title=list-nodes-config
+next=list-nodes-dcom.html
+prev=list-nodes.html
+~~~~~~
+
+= list-nodes-config
+
+[[list-nodes-config-1]][[GSRFM00188]][[list-nodes-config]]
+
+== list-nodes-config
+
+Lists all {productName} nodes that do not support remote
+communication in a domain
+
+[[sthref1709]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-nodes-config [--help]
+[--long={false|true}]
+----
+
+[[sthref1710]]
+
+=== Description
+
+The `list-nodes-config` subcommand lists all {productName} nodes
+that do not support remote communication in a domain.
+
+[NOTE]
+====
+To list all nodes in a domain regardless of the type of the node, run
+the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+====
+
+By default, the subcommand displays the following information for each
+node that is listed:
+
+* The name of the node
+* The type of the node, which is `CONFIG`
+* The name of the host that the node represents
+
+The `--long` option of the subcommand specifies whether the nodes are
+listed in long format. In long format, the following additional
+information about each node is displayed:
+
+* The path to the parent of the base installation directory of
+{productName} on the host that the node represents
+* A comma-separated list of the names of the {productName} instances
+that reside on the node
+
+If the `--terse` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
+`--long` option of the subcommand is `false`, the subcommand lists only
+the name of each node.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1711]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Specifies whether the nodes are listed in long format. +
+  Possible values are as follows:
+
+  `true`;;
+    The nodes are listed in long format.
+  `false`;;
+    The nodes are listed in short format (default).
+
+[[sthref1712]]
+
+=== Examples
+
+[[GSRFM690]][[sthref1713]]
+
+==== Example 1   Listing {productName} Nodes
+
+This example displays the name, type, and host for all {productName}
+nodes that do not support remote communication in the domain `domain1`.
+
+[source]
+----
+asadmin> list-nodes-config
+localhost-domain1  CONFIG  localhost
+devnode  CONFIG  localhost
+Command list-nodes-config executed successfully.
+----
+
+[[GSRFM691]][[sthref1714]]
+
+==== Example 2   Listing Only the Names of {productName} Nodes
+
+This example uses the `--terse` option of the `asadmin` utility to list
+only the names of the {productName} nodes that do not support remote
+communication in the domain `domain1`.
+
+[source]
+----
+asadmin> list-nodes-config --terse=true
+localhost-domain1
+devnode
+----
+
+[[GSRFM692]][[sthref1715]]
+
+==== Example 3   Listing {productName} Nodes in Long Format
+
+This example lists the {productName} nodes that do not support
+remote communication in the domain `domain1` in long format.
+
+[source]
+----
+asadmin> list-nodes-config --long=true
+NODE NAME           TYPE     NODE HOST   INSTALL DIRECTORY    REFERENCED BY
+localhost-domain1   CONFIG   localhost   /export/glassfish7
+devnode             CONFIG   localhost   /export/glassfish7   pmdsa1
+Command list-nodes-config executed successfully.
+----
+
+[[sthref1716]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1717]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:list-nodes-dcom.html#list-nodes-dcom-1[`list-nodes-dcom`(1)],
+link:list-nodes-ssh.html#list-nodes-ssh-1[`list-nodes-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-nodes-dcom.adoc b/docs/reference-manual/src/main/asciidoc/list-nodes-dcom.adoc
new file mode 100644
index 0000000..b25c0d6
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-nodes-dcom.adoc
@@ -0,0 +1,162 @@
+type=page
+status=published
+title=list-nodes-dcom
+next=list-nodes-ssh.html
+prev=list-nodes-config.html
+~~~~~~
+
+= list-nodes-dcom
+
+[[list-nodes-dcom-1]][[GSRFM693]][[list-nodes-dcom]]
+
+== list-nodes-dcom
+
+Lists all {productName} nodes that support communication over DCOM
+in a domain
+
+[[sthref1718]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-nodes-dcom [--help]
+[--long={false|true}]
+----
+
+[[sthref1719]]
+
+=== Description
+
+The `list-nodes-dcom` subcommand lists all {productName} nodes that
+support communication over the Distributed Component Object Model (DCOM)
+remote protocol. The DCOM protocol is available only on Windows systems.
+
+[NOTE]
+====
+To list all nodes in a domain regardless of the type of the node, run
+the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+====
+
+By default, the subcommand displays the following information for each
+node that is listed:
+
+* The name of the node
+* The type of the node, which is `DCOM`
+* The name of the host that the node represents
+
+The `--long` option of the subcommand specifies whether the nodes are
+listed in long format. In long format, the following additional
+information about each node is displayed:
+
+* The path to the parent of the base installation directory of
+{productName} on the host that the node represents
+* A comma-separated list of the names of the {productName} instances
+that reside on the node
+
+If the `--terse` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
+`--long` option of the subcommand is `false`, the subcommand lists only
+the name of each node.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1720]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Specifies whether the nodes are listed in long format. +
+  Possible values are as follows:
+
+  `true`;;
+    The nodes are listed in long format.
+  `false`;;
+    The nodes are listed in short format (default).
+
+[[sthref1721]]
+
+=== Examples
+
+[[GSRFM694]][[sthref1722]]
+
+==== Example 1   Listing {productName} Nodes
+
+This example displays the name, type, and host for all {productName}
+nodes that support communication over DCOM in a domain.
+
+[source]
+----
+asadmin> list-nodes-dcom
+xkyd  DCOM  xkyd.example.com
+wpmdl2  DCOM  wpmdl2.example.com
+wpmdl1  DCOM  wpmdl1.example.com
+Command list-nodes-dcom executed successfully.
+----
+
+[[GSRFM695]][[sthref1723]]
+
+==== Example 2   Listing Only the Names of {productName} Nodes
+
+This example uses the `--terse` option of the `asadmin` utility to list
+only the names of the {productName} nodes that support communication
+over DCOM in a domain.
+
+[source]
+----
+asadmin> list-nodes-dcom --terse=true
+xkyd
+wpmdl2
+wpmdl1
+----
+
+[[GSRFM696]][[sthref1724]]
+
+==== Example 3   Listing {productName} Nodes in Long Format
+
+This example lists the {productName} nodes that support
+communication over DCOM in a domain in long format.
+
+[source]
+----
+asadmin> list-nodes-dcom --long=true
+NODE NAME    TYPE   NODE HOST            INSTALL DIRECTORY   REFERENCED BY
+xkyd         DCOM   xkyd.example.com     C:\glassfish7
+wpmdl2       DCOM   wpmdl2.example.com   C:\glassfish7       wdi2
+wpmdl1       DCOM   wpmdl1.example.com   C:\glassfish7       wdi1
+Command list-nodes-dcom executed successfully.
+----
+
+[[sthref1725]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1726]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:list-nodes-config.html#list-nodes-config-1[`list-nodes-config`(1)],
+link:#list-nodes-dcom-1[`list-nodes-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-nodes-ssh.adoc b/docs/reference-manual/src/main/asciidoc/list-nodes-ssh.adoc
new file mode 100644
index 0000000..8117949
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-nodes-ssh.adoc
@@ -0,0 +1,157 @@
+type=page
+status=published
+title=list-nodes-ssh
+next=list-password-aliases.html
+prev=list-nodes-dcom.html
+~~~~~~
+
+= list-nodes-ssh
+
+[[list-nodes-ssh-1]][[GSRFM00189]][[list-nodes-ssh]]
+
+== list-nodes-ssh
+
+Lists all {productName} nodes that support communication over SSH in a domain
+
+[[sthref1727]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-nodes-ssh [--help]
+[--long={false|true}]
+----
+
+[[sthref1728]]
+
+=== Description
+
+The `list-nodes-ssh` subcommand lists all {productName} nodes that
+support communication over secure shell (SSH) in a domain.
+
+[NOTE]
+====
+To list all nodes in a domain regardless of the type of the node, run
+the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+====
+
+By default, the subcommand displays the following information for each
+node that is listed:
+
+* The name of the node
+* The type of the node, which is `SSH`
+* The name of the host that the node represents
+
+The `--long` option of the subcommand specifies whether the nodes are
+listed in long format. In long format, the following additional
+information about each node is displayed:
+
+* The path to the parent of the base installation directory of
+{productName} on the host that the node represents
+* A comma-separated list of the names of the {productName} instances
+that reside on the node
+
+If the `--terse` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
+`--long` option of the subcommand is `false`, the subcommand lists only
+the name of each node.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1729]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Specifies whether the nodes are listed in long format.
+  Possible values are as follows:
+
+  `true`;;
+    The nodes are listed in long format.
+  `false`;;
+    The nodes are listed in short format (default).
+
+[[sthref1730]]
+
+=== Examples
+
+[[GSRFM697]][[sthref1731]]
+
+==== Example 1   Listing {productName} Nodes
+
+This example displays the name, type, and host for all {productName}
+nodes that support communication over SSH in a domain.
+
+[source]
+----
+asadmin> list-nodes-ssh
+sj02  SSH  sj02.example.com
+sj01  SSH  sj01.example.com
+Command list-nodes-ssh executed successfully.
+----
+
+[[GSRFM698]][[sthref1732]]
+
+==== Example 2   Listing Only the Names of {productName} Nodes
+
+This example uses the `--terse` option of the `asadmin` utility to list
+only the names of the {productName} nodes that support communication
+over SSH in a domain.
+
+[source]
+----
+asadmin> list-nodes-ssh --terse=true
+sj02
+sj01
+----
+
+[[GSRFM699]][[sthref1733]]
+
+==== Example 3   Listing {productName} Nodes in Long Format
+
+This example lists the {productName} nodes that support
+communication over SSH in a domain in long format.
+
+[source]
+----
+asadmin> list-nodes-ssh --long=true
+NODE NAME   TYPE   NODE HOST          INSTALL DIRECTORY    REFERENCED BY
+sj02        SSH    sj02.example.com   /export/glassfish7   pmd-i-sj02, yml-i-sj02
+sj01        SSH    sj01.example.com   /export/glassfish7   pmd-i-sj01, yml-i-sj01
+Command list-nodes-ssh executed successfully.
+----
+
+[[sthref1734]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1735]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:list-nodes-config.html#list-nodes-config-1[`list-nodes-config`(1)],
+link:list-nodes-dcom.html#list-nodes-dcom-1[`list-nodes-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-nodes.adoc b/docs/reference-manual/src/main/asciidoc/list-nodes.adoc
new file mode 100644
index 0000000..0a8be38
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-nodes.adoc
@@ -0,0 +1,166 @@
+type=page
+status=published
+title=list-nodes
+next=list-nodes-config.html
+prev=list-network-listeners.html
+~~~~~~
+
+= list-nodes
+
+[[list-nodes-1]][[GSRFM00187]][[list-nodes]]
+
+== list-nodes
+
+Lists all {productName} nodes in a domain
+
+[[sthref1700]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-nodes [--help]
+[--long={false|true}]
+----
+
+[[sthref1701]]
+
+=== Description
+
+The `list-nodes` subcommand lists all {productName} nodes in a
+domain.
+
+By default, the subcommand displays the following information for each
+node that is listed:
+
+* The name of the node
+
+* The type of the node, which is one of the following types:::
+`CONFIG`::
+  The node does not support remote communication.
+`DCOM`::
+  The node supports communication over the Distributed Component Object
+  Model (DCOM) remote protocol.
+`SSH`::
+  The node supports communication over secure shell (SSH).
+
+* The name of the host that the node represents
+
+The `--long` option of the subcommand specifies whether the nodes are
+listed in long format. In long format, the following additional
+information about each node is displayed:
+
+* The path to the parent of the base installation directory of
+{productName} on the host that the node represents
+
+* A comma-separated list of the names of the {productName} instances
+that reside on the node
+
+If the `--terse` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
+`--long` option of the subcommand is `false`, the subcommand lists only
+the name of each node.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1702]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Specifies whether the nodes are listed in long format. +
+  Possible values are as follows:
+
+  `true`;;
+    The nodes are listed in long format.
+  `false`;;
+    The nodes are listed in short format (default).
+
+[[sthref1703]]
+
+=== Examples
+
+[[GSRFM687]][[sthref1704]]
+
+==== Example 1   Listing {productName} Nodes
+
+This example displays the name, type, and host for all {productName}
+nodes in the domain `domain1`.
+
+[source]
+----
+asadmin> list-nodes
+localhost-domain1  CONFIG  localhost
+sj02  SSH  sj02.example.com
+sj01  SSH  sj01.example.com
+devnode  CONFIG  localhost
+Command list-nodes executed successfully.
+----
+
+[[GSRFM688]][[sthref1705]]
+
+==== Example 2   Listing Only the Names of {productName} Nodes
+
+This example uses the `--terse` option of the `asadmin` utility to list
+only the names of the {productName} nodes in the domain `domain1`.
+
+[source]
+----
+asadmin> list-nodes --terse=true
+localhost-domain1
+sj02
+sj01
+devnode
+----
+
+[[GSRFM689]][[sthref1706]]
+
+==== Example 3   Listing {productName} Nodes in Long Format
+
+This example lists the {productName} nodes in the domain `domain1`
+in long format.
+
+[source]
+----
+asadmin> list-nodes --long=true
+NODE NAME           TYPE     NODE HOST          INSTALL DIRECTORY     REFERENCED BY
+localhost-domain1   CONFIG   localhost          /export/glassfish7
+sj02                SSH      sj02.example.com   /export/glassfish7    pmd-i2, yml-i2
+sj01                SSH      sj01.example.com   /export/glassfish7    pmd-i1, yml-i1
+devnode             CONFIG   localhost          /export/glassfish7    pmdsa1
+Command list-nodes executed successfully.
+----
+
+[[sthref1707]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1708]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:list-nodes-config.html#list-nodes-config-1[`list-nodes-config`(1)],
+link:list-nodes-dcom.html#list-nodes-dcom-1[`list-nodes-dcom`(1)],
+link:list-nodes-ssh.html#list-nodes-ssh-1[`list-nodes-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-password-aliases.adoc b/docs/reference-manual/src/main/asciidoc/list-password-aliases.adoc
new file mode 100644
index 0000000..92aca6e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-password-aliases.adoc
@@ -0,0 +1,76 @@
+type=page
+status=published
+title=list-password-aliases
+next=list-persistence-types.html
+prev=list-nodes-ssh.html
+~~~~~~
+
+= list-password-aliases
+
+[[list-password-aliases-1]][[GSRFM00190]][[list-password-aliases]]
+
+== list-password-aliases
+
+Lists all password aliases
+
+[[sthref1736]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-password-aliases [--help]
+----
+
+[[sthref1737]]
+
+=== Description
+
+This subcommand lists all of the password aliases.
+
+[[sthref1738]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1739]]
+
+=== Examples
+
+[[GSRFM700]][[sthref1740]]
+
+==== Example 1   Listing all password aliases
+
+[source]
+----
+asadmin> list-password-aliases
+jmspassword-alias
+Command list-password-aliases executed successfully
+----
+
+[[sthref1741]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1742]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
+link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
+link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-persistence-types.adoc b/docs/reference-manual/src/main/asciidoc/list-persistence-types.adoc
new file mode 100644
index 0000000..6b7ccfe
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-persistence-types.adoc
@@ -0,0 +1,125 @@
+type=page
+status=published
+title=list-persistence-types
+next=list-protocol-filters.html
+prev=list-password-aliases.html
+~~~~~~
+
+= list-persistence-types
+
+[[list-persistence-types-1]][[GSRFM00191]][[list-persistence-types]]
+
+== list-persistence-types
+
+Lists registered persistence types for HTTP sessions and SFSB instances
+
+[[sthref1743]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-persistence-types [--help]
+--type={web|ejb}
+----
+
+[[sthref1744]]
+
+=== Description
+
+The `list-persistence-types` subcommand lists registered persistence
+types for HTTP sessions and stateful session bean (SFSB) instances. The
+built-in persistence types are `memory`, `file`, and `replicated`. The
+`memory` type does not apply to SFSB instances.
+
+Other persistence types can be added using the `StrategyBuilder` class.
+For more information, see the link:add-on-component-development-guide.html#GSACG[{productName} Add-On Component Development Guide].
+
+To set the persistence type for HTTP sessions, use the `set` subcommand
+to set the `persistence-type` attribute. For example:
+
+[source]
+----
+asadmin> set c1-config.availability-service.web-container-availability.persistence-type=file
+----
+
+To set the persistence type for SFSB instances without availability
+enabled, use the `set` subcommand to set the `sfsb-persistence-type`
+attribute. For example:
+
+[source]
+----
+asadmin> set c1-config.availability-service.ejb-container-availability.sfsb-persistence-type=file
+----
+
+To set the persistence type for SFSB instances with availability
+enabled, use the `set` subcommand to set the `sfsb-ha-persistence-type`
+attribute. For example:
+
+[source]
+----
+asadmin> set
+c1-config.availability-service.ejb-container-availability.sfsb-ha-persistence-type=replicated
+----
+
+This subcommand is supported in remote mode only.
+
+[[sthref1745]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--type`::
+  Specifies the type of sessions for which persistence types are listed.
+  Allowed values are as follows:
+
+  * `web` — Lists persistence types for HTTP sessions.
+  * `ejb` — Lists persistence types for SFSB instances.
+
+[[sthref1746]]
+
+=== Examples
+
+[[GSRFM701]][[sthref1747]]
+
+==== Example 1   Listing Persistence Types for HTTP Sessions
+
+This example lists persistence types for HTTP sessions.
+
+[source]
+----
+asadmin> list-persistence-types --type=web
+memory
+file
+replicated
+
+Command list-persistence-types executed successfully.
+----
+
+[[sthref1748]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1749]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
+link:set.html#set-1[`set`(1)]
+
+link:add-on-component-development-guide.html#GSACG[{productName} Add-On Component
+Development Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-protocol-filters.adoc b/docs/reference-manual/src/main/asciidoc/list-protocol-filters.adoc
new file mode 100644
index 0000000..57106bc
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-protocol-filters.adoc
@@ -0,0 +1,103 @@
+type=page
+status=published
+title=list-protocol-filters
+next=list-protocol-finders.html
+prev=list-persistence-types.html
+~~~~~~
+
+= list-protocol-filters
+
+[[list-protocol-filters-1]][[GSRFM00193]][[list-protocol-filters]]
+
+== list-protocol-filters
+
+Lists the existing protocol filters
+
+[[sthref1750]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-protocol-filters [--help]
+[--target server]
+protocol-name
+----
+
+[[sthref1751]]
+
+=== Description
+
+The `list-protocol-filters` subcommand lists the existing protocol
+filters. This subcommand is supported in remote mode only.
+
+[[sthref1752]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+target::
+  Restricts the listing to protocol filters for a specified target.
+  Valid values are as follows:
+
+  `server`;;
+    Lists the protocol filters for the default server instance. This is
+    the default value.
+  configuration-name;;
+    Lists the protocol filters for the specified configuration.
+  cluster-name;;
+    Lists the protocol filters for all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the protocol filters for the specified server instance.
+
+[[sthref1753]]
+
+=== Operands
+
+protocol-name::
+  The name of the protocol for which to list protocol filters.
+
+[[sthref1754]]
+
+=== Examples
+
+[[GSRFM704]][[sthref1755]]
+
+==== Example 1   Listing Protocol Filters
+
+The following command lists all the protocol filters for the server
+instance:
+
+[source]
+----
+asadmin> list-protocol-filters http1
+http1-filter
+https1-filter
+Command list-protocol-filters executed successfully.
+----
+
+[[sthref1756]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1757]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-protocol-filter.html#create-protocol-filter-1[`create-protocol-filter`(1)],
+link:delete-protocol-filter.html#delete-protocol-filter-1[`delete-protocol-filter`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-protocol-finders.adoc b/docs/reference-manual/src/main/asciidoc/list-protocol-finders.adoc
new file mode 100644
index 0000000..8026d9b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-protocol-finders.adoc
@@ -0,0 +1,84 @@
+type=page
+status=published
+title=list-protocol-finders
+next=list-protocols.html
+prev=list-protocol-filters.html
+~~~~~~
+
+= list-protocol-finders
+
+[[list-protocol-finders-1]][[GSRFM00194]][[list-protocol-finders]]
+
+== list-protocol-finders
+
+Lists the existing protocol finders
+
+[[sthref1758]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-protocol-finders [--help]
+[--target server]
+protocol-name
+----
+
+[[sthref1759]]
+
+=== Description
+
+The `list-protocol-finders` subcommand lists the existing protocol
+finders. This subcommand is supported in remote mode only.
+
+[[sthref1760]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+target::
+  Restricts the listing to protocol finders for a specified target.
+  Valid values are as follows:
+
+  `server`;;
+    Lists the protocol finders for the default server instance. This is
+    the default value.
+  configuration-name;;
+    Lists the protocol finders for the specified configuration.
+  cluster-name;;
+    Lists the protocol finders for all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the protocol finders for the specified server instance.
+
+[[sthref1761]]
+
+=== Operands
+
+protocol-name::
+  The name of the protocol for which to list protocol finders.
+
+[[sthref1762]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1763]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-protocol-finder.html#create-protocol-finder-1[`create-protocol-finder`(1)],
+link:delete-protocol-finder.html#delete-protocol-finder-1[`delete-protocol-finder`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-protocols.adoc b/docs/reference-manual/src/main/asciidoc/list-protocols.adoc
new file mode 100644
index 0000000..5ad43cb
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-protocols.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=list-protocols
+next=list-resource-adapter-configs.html
+prev=list-protocol-finders.html
+~~~~~~
+
+= list-protocols
+
+[[list-protocols-1]][[GSRFM00195]][[list-protocols]]
+
+== list-protocols
+
+Lists the existing protocols
+
+[[sthref1764]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-protocols [--help]
+[target]
+----
+
+[[sthref1765]]
+
+=== Description
+
+The `list-protocols` subcommand lists the existing protocols. This
+subcommand is supported in remote mode only.
+
+[[sthref1766]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1767]]
+
+=== Operands
+
+target::
+  Restricts the listing to protocols for a specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the protocols for the default server instance. This is the
+    default value.
+  configuration-name;;
+    Lists the protocols for the specified configuration.
+  cluster-name;;
+    Lists the protocols for all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the protocols for the specified server instance.
+
+[[sthref1768]]
+
+=== Examples
+
+[[GSRFM705]][[sthref1769]]
+
+==== Example 1   Listing Protocols
+
+The following command lists all the protocols for the server instance:
+
+[source]
+----
+asadmin> list-protocols
+admin-listener
+http-1
+http-listener-1
+http-listener-2
+Command list-protocols executed successfully.
+----
+
+[[sthref1770]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1771]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
+link:delete-protocol.html#delete-protocol-1[`delete-protocol`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-resource-adapter-configs.adoc b/docs/reference-manual/src/main/asciidoc/list-resource-adapter-configs.adoc
new file mode 100644
index 0000000..dd853eb
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-resource-adapter-configs.adoc
@@ -0,0 +1,89 @@
+type=page
+status=published
+title=list-resource-adapter-configs
+next=list-resource-refs.html
+prev=list-protocols.html
+~~~~~~
+
+= list-resource-adapter-configs
+
+[[list-resource-adapter-configs-1]][[GSRFM00196]][[list-resource-adapter-configs]]
+
+== list-resource-adapter-configs
+
+Lists the names of the current resource adapter configurations
+
+[[sthref1772]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-resource-adapter-configs [--help]
+[--raname raname] [--verbose {false|true}]
+----
+
+[[sthref1773]]
+
+=== Description
+
+This command lists the configuration information in the `domain.xml` for
+the connector module. It lists an entry called `resource-adapter-config`
+in the `domain.xml` file. If the `--raname` option is specified, only
+the resource adapter configurations for the specified connector module
+are listed.
+
+This command is supported in remote mode only.
+
+[[sthref1774]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--raname`::
+  Specifies the connector module name.
+`--verbose`::
+  Lists the properties that are configured. Default value is false.
+
+[[sthref1775]]
+
+=== Examples
+
+[[GSRFM706]][[sthref1776]]
+
+==== Example 1   Listing the Resource Adapter Configurations
+
+This example lists the current resource adapter configurations.
+
+[source]
+----
+asadmin> list-resource-adapter-configs
+ra1
+ra2
+Command list-resource-adapter-configs executed successfully
+----
+
+[[sthref1777]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1778]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-resource-adapter-config.html#create-resource-adapter-config-1[`create-resource-adapter-config`(1)],
+link:delete-resource-adapter-config.html#delete-resource-adapter-config-1[`delete-resource-adapter-config`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-resource-refs.adoc b/docs/reference-manual/src/main/asciidoc/list-resource-refs.adoc
new file mode 100644
index 0000000..5fe8b52
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-resource-refs.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=list-resource-refs
+next=list-secure-admin-internal-users.html
+prev=list-resource-adapter-configs.html
+~~~~~~
+
+= list-resource-refs
+
+[[list-resource-refs-1]][[GSRFM00197]][[list-resource-refs]]
+
+== list-resource-refs
+
+Lists existing resource references
+
+[[sthref1779]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-resource-refs [--help]
+[target]
+----
+
+[[sthref1780]]
+
+=== Description
+
+The `list-resource-refs` subcommand lists all resource references in a
+cluster or an unclustered server instance. This effectively lists all
+the resources (for example, JDBC resources) available in the JNDI tree
+of the specified target.
+
+The target instance or instances in the cluster need not be running or
+available for this subcommand to succeed.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1781]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1782]]
+
+=== Operands
+
+target::
+  The target for which you are listing the resource references. Valid
+  targets are as follows:
+
+  `server`;;
+    Lists the resource references for the default server instance and is
+    the default target.
+  cluster_name;;
+    Lists the resource references for every server instance in the
+    cluster.
+  instance_name;;
+    Lists the resource references for the named unclustered server
+    instance.
+
+[[sthref1783]]
+
+=== Examples
+
+[[GSRFM707]][[sthref1784]]
+
+==== Example 1   Listing Resource References for a Cluster
+
+This example lists resource references for the cluster `cluster1`.
+
+[source]
+----
+asadmin> list-resource-refs cluster1
+jms/Topic
+Command list-resource-refs executed successfully.
+----
+
+[[sthref1785]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1786]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
+link:delete-resource-ref.html#delete-resource-ref-1[`delete-resource-ref`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-secure-admin-internal-users.adoc b/docs/reference-manual/src/main/asciidoc/list-secure-admin-internal-users.adoc
new file mode 100644
index 0000000..0a35b53
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-secure-admin-internal-users.adoc
@@ -0,0 +1,115 @@
+type=page
+status=published
+title=list-secure-admin-internal-users
+next=list-secure-admin-principals.html
+prev=list-resource-refs.html
+~~~~~~
+
+= list-secure-admin-internal-users
+
+[[list-secure-admin-internal-users-1]][[GSRFM00199]][[list-secure-admin-internal-users]]
+
+== list-secure-admin-internal-users
+
+Lists the user names that the {productName} DAS and instances use to
+authenticate with each other and to authorize admin operations.
+
+[[sthref1787]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-secure-admin-internal-users [--help]
+[--long={false|true}]
+[--output output]
+[--header={false|true}]
+[name]
+----
+
+[[sthref1788]]
+
+=== Description
+
+The `list-secure-admin-internal-users` subcommand lists the user names
+that the {productName} DAS and instances use to authenticate with
+each other and to authorize admin operations.
+
+[[sthref1789]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Displays detailed information about each internal user. The default
+  value is `false.`
+`--output`::
+`-o`::
+  Displays specific details about each internal user. Use a
+  comma-separated list to specify the details you want to display and
+  their order. The values are case-insensitive.
+  Possible values are as follows:
+
+  `username`;;
+    Displays the user name for the internal user.
+  `password-alias`;;
+    Displays the password alias for the internal user.
+
+`--header`::
+`-h`::
+  Specifies whether column headings are displayed when the `--long`
+  option is used. The default value is `true`. To suppress the headings,
+  set the `--header` option to `false`.
+
+[[sthref1790]]
+
+=== Operands
+
+name::
+  The user name for the internal user for which you want to display
+  details.
+
+[[sthref1791]]
+
+=== Examples
+
+[[GSRFM709]][[sthref1792]]
+
+==== Example 1   Listing the User Name for Secure Admin
+
+This example lists the user names that the {productName} DAS and
+instances use to authenticate with each other and to authorize admin
+operations.
+
+[source]
+----
+asadmin> list-secure-admin-internal-users
+
+Command list-secure-admin-internal-users executed successfully.
+----
+
+[[sthref1793]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1794]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
+link:enable-secure-admin-internal-user.html#enable-secure-admin-internal-user-1[`enable-secure-admin-internal-user`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-secure-admin-principals.adoc b/docs/reference-manual/src/main/asciidoc/list-secure-admin-principals.adoc
new file mode 100644
index 0000000..a26f433
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-secure-admin-principals.adoc
@@ -0,0 +1,115 @@
+type=page
+status=published
+title=list-secure-admin-principals
+next=list-sub-components.html
+prev=list-secure-admin-internal-users.html
+~~~~~~
+
+= list-secure-admin-principals
+
+[[list-secure-admin-principals-1]][[GSRFM00200]][[list-secure-admin-principals]]
+
+== list-secure-admin-principals
+
+Lists the certificates for which {productName} accepts admin
+requests from clients.
+
+[[sthref1795]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-secure-admin-principals [--help]
+[--long={false|true}]
+[--output output]
+[--header={false|true}]
+[name]
+----
+
+[[sthref1796]]
+
+=== Description
+
+The `list-secure-admin-principals` subcommand lists the certificates for
+which {productName} accepts admin requests from clients.
+
+[[sthref1797]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Displays detailed information about the certificates for which
+  {productName} accepts admin requests from clients. The default
+  value is `false`.
+`--output`::
+`-o`::
+  Displays specific details about the certificates for which
+  {productName} accepts admin requests from clients. Use a
+  comma-separated list to specify the details you want to display and
+  their order. The values are case-insensitive.
+  Possible values are as follows:
+
+  `DN`;;
+    Displays the distinguished name (DN) of each certificate.
+
+`--header`::
+`-h`::
+  Specifies whether column headings are displayed when the `--long`
+  option is used. The default value is `true`. To suppress the headings,
+  set the `--header` option to `false`.
+
+[[sthref1798]]
+
+=== Operands
+
+name::
+  The distinguished name of the certificate, specified as a
+  comma-separated list in quotes. For example:
+  `"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`.
+
+[[sthref1799]]
+
+=== Examples
+
+[[GSRFM710]][[sthref1800]]
+
+==== Example 1   Listing the Certificates
+
+This example lists the certificates for which {productName} accepts
+admin requests from clients.
+
+[source]
+----
+asadmin> list-secure-admin-principals
+CN=localhost,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US
+CN=localhost-instance,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US
+Command list-secure-admin-principals executed successfully.
+----
+
+[[sthref1801]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1802]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
+link:enable-secure-admin-principal.html#enable-secure-admin-principal-1[`enable-secure-admin-principal`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-sub-components.adoc b/docs/reference-manual/src/main/asciidoc/list-sub-components.adoc
new file mode 100644
index 0000000..03dec2a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-sub-components.adoc
@@ -0,0 +1,125 @@
+type=page
+status=published
+title=list-sub-components
+next=list-supported-cipher-suites.html
+prev=list-secure-admin-principals.html
+~~~~~~
+
+= list-sub-components
+
+[[list-sub-components-1]][[GSRFM00201]][[list-sub-components]]
+
+== list-sub-components
+
+Lists EJB or servlet components in a deployed module or module of a
+deployed application
+
+[[sthref1803]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-sub-components [--help]
+[--type type]
+[--appname appname] [--resources]
+modulename
+----
+
+[[sthref1804]]
+
+=== Description
+
+The `list-sub-components` subcommand lists EJB or servlet components in
+a deployed module or in a module of a deployed application. If a module
+is not specified, all modules are listed. The `--appname` option
+functions only when the specified module is stand-alone. To display a
+specific module in an application, you must specify the module name with
+the `--appname` option.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1805]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--type`::
+  Specifies the type of component to be listed. The options are `ejbs`
+  and `servlets`. If nothing is specified, then all of the components
+  are listed.
+`--appname`::
+  Identifies the name of the application. This option is required when
+  the desired output is the subcomponents of an embedded module of a
+  deployed application. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. For more information about module and application
+  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[
+  Module and Application Versions]" in
+  {productName} Application Deployment Guide.
+`--resources`::
+  Lists the application-scoped resources for each subcomponent.
+
+[[sthref1806]]
+
+=== Operands
+
+modulename::
+  Specifies the name of the module containing the subcomponent. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. For more information about module and application
+  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
+  {productName} Application Deployment Guide.
+
+[[sthref1807]]
+
+=== Examples
+
+[[GSRFM711]][[sthref1808]]
+
+==== Example 1   Listing Subcomponents
+
+This example lists the subcomponents of the `MEjbApp` application within
+the `mejb.jar` module.
+
+[source]
+----
+asadmin> list-sub-components --appname MEjbApp mejb.jar
+MEJBBean <StatelessSessionBean>
+Command list-sub-components executed successfully.
+----
+
+[[sthref1809]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1810]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:disable.html#disable-1[`disable`(1)],
+link:enable.html#enable-1[`enable`(1)],
+link:list-components.html#list-components-1[`list-components`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-supported-cipher-suites.adoc b/docs/reference-manual/src/main/asciidoc/list-supported-cipher-suites.adoc
new file mode 100644
index 0000000..3520129
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-supported-cipher-suites.adoc
@@ -0,0 +1,121 @@
+type=page
+status=published
+title=list-supported-cipher-suites
+next=list-system-properties.html
+prev=list-sub-components.html
+~~~~~~
+
+= list-supported-cipher-suites
+
+[[list-supported-cipher-suites-1]][[GSRFM00202]][[list-supported-cipher-suites]]
+
+== list-supported-cipher-suites
+
+Enables administrators to list the cipher suites that are supported and
+available to a specified {productName} target
+
+[[sthref1811]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-supported-cipher-suites [--help]
+[--target target]
+----
+
+[[sthref1812]]
+
+=== Description
+
+The `list-supported-cipher-suites` subcommand enables administrators to
+list the cipher suites that are supported and available to a specified
+{productName} target. The cipher suites that may be available in
+addition to the default SSL/TLS providers that are bundled with
+{productName} packages will vary depending on the third-party
+provider.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1813]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which you want to list cipher suites. The
+  following values are valid:
+
+  `server`;;
+    Lists the cipher suites for the default server instance. This is the
+    default value.
+  configuration_name;;
+    Lists the cipher suites for the specified configuration.
+  cluster_name;;
+    Lists the cipher suites for all server instances in the specified
+    cluster.
+  instance_name;;
+    Lists the cipher suites for a specified server instance.
+
+[[sthref1814]]
+
+=== Examples
+
+[[GSRFM712]][[sthref1815]]
+
+==== Example 1   Listing cipher suites
+
+The following example shows how to list cipher suites for the default
+domain.
+
+[source]
+----
+asadmin> list-supported-cipher-suites
+SSL_RSA_WITH_RC4_128_MD5
+SSL_RSA_WITH_RC4_128_SHA
+TLS_RSA_WITH_AES_128_CBC_SHA
+TLS_DHE_RSA_WITH_AES_128_CBC_SHA
+TLS_DHE_DSS_WITH_AES_128_CBC_SHA
+SSL_RSA_WITH_3DES_EDE_CBC_SHA
+SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
+SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
+SSL_RSA_WITH_DES_CBC_SHA
+SSL_DHE_RSA_WITH_DES_CBC_SHA
+SSL_DHE_DSS_WITH_DES_CBC_SHA
+SSL_RSA_EXPORT_WITH_RC4_40_MD5
+SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
+SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
+SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
+SSL_RSA_WITH_NULL_MD5
+SSL_RSA_WITH_NULL_SHA
+SSL_DH_anon_WITH_RC4_128_MD5
+TLS_DH_anon_WITH_AES_128_CBC_SHA
+SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
+SSL_DH_anon_WITH_DES_CBC_SHA
+SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
+SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
+
+Command list-supported-cipher-suites executed successfully.
+----
+
+[[sthref1816]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1817]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-system-properties.adoc b/docs/reference-manual/src/main/asciidoc/list-system-properties.adoc
new file mode 100644
index 0000000..769b873
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-system-properties.adoc
@@ -0,0 +1,107 @@
+type=page
+status=published
+title=list-system-properties
+next=list-threadpools.html
+prev=list-supported-cipher-suites.html
+~~~~~~
+
+= list-system-properties
+
+[[list-system-properties-1]][[GSRFM00203]][[list-system-properties]]
+
+== list-system-properties
+
+Lists the system properties of the domain, configuration, cluster, or
+server instance
+
+[[sthref1818]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-system-properties [--help]
+[target]
+----
+
+[[sthref1819]]
+
+=== Description
+
+Shared or clustered server instances will often need to override
+attributes defined in their referenced configuration. Any configuration
+attribute in a server instance can be overridden through a system
+property of the corresponding name. This list-system-properties
+subcommand lists the system properties of a domain, configuration,
+cluster, or server instance.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1820]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1821]]
+
+=== Operands
+
+target::
+  This restricts the listing to system properties for a specific target.
+  Valid values are:
+
+  domain;;
+    Lists the system properties defined for the domain.
+  configuration_name;;
+    Lists the system properties for the named configuration as well as
+    those the cluster inherits from the domain.
+  cluster_name;;
+    Lists the system properties defined for the named cluster as well as
+    those the cluster. inherits from its configuration and the domain.
+  instance_name;;
+    Lists the system properties defined for the named server instance as
+    well as those the server inherits from its cluster (if the instance
+    is clustered), its configuration, and the domain.
+
+[[sthref1822]]
+
+=== Examples
+
+[[GSRFM713]][[sthref1823]]
+
+==== Example 1   Listing System Properties
+
+This example lists the system properties on `localhost`.
+
+[source]
+----
+asadmin> list-system-properties
+http-listener-port=1088
+Command list-system-properties executed successfully.
+----
+
+[[sthref1824]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1825]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
+link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-threadpools.adoc b/docs/reference-manual/src/main/asciidoc/list-threadpools.adoc
new file mode 100644
index 0000000..0b30176
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-threadpools.adoc
@@ -0,0 +1,101 @@
+type=page
+status=published
+title=list-threadpools
+next=list-timers.html
+prev=list-system-properties.html
+~~~~~~
+
+= list-threadpools
+
+[[list-threadpools-1]][[GSRFM00204]][[list-threadpools]]
+
+== list-threadpools
+
+Lists all the thread pools
+
+[[sthref1826]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-threadpools [--help]
+target
+----
+
+[[sthref1827]]
+
+=== Description
+
+The `list-threadpools` subcommand lists the {productName} thread pools.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1828]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1829]]
+
+=== Operands
+
+target::
+  This operand specifies the target for which you are listing thread
+  pools. This operand is required.
+  Valid values are as follows:
+
+  `server`;;
+    Lists the thread pools for the default {productName} instance
+    `server`.
+  configuration-name;;
+    Lists the thread pools for the named configuration.
+  cluster-name;;
+    Lists the thread pools for every instance in the cluster.
+  instance-name;;
+    Lists the thread pools for a particular instance.
+
+[[sthref1830]]
+
+=== Examples
+
+[[GSRFM714]][[sthref1831]]
+
+==== Example 1   Listing Thread Pools
+
+This example lists the current thread pools for the default instance `server`.
+
+[source]
+----
+asadmin> list-threadpools server
+admin-thread-pool
+http-thread-pool
+thread-pool-1
+Command list-threadpools executed successfully.
+----
+
+[[sthref1832]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1833]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
+link:delete-threadpool.html#delete-threadpool-1[`delete-threadpool`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-timers.adoc b/docs/reference-manual/src/main/asciidoc/list-timers.adoc
new file mode 100644
index 0000000..9658d04
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-timers.adoc
@@ -0,0 +1,98 @@
+type=page
+status=published
+title=list-timers
+next=list-transports.html
+prev=list-threadpools.html
+~~~~~~
+
+= list-timers
+
+[[list-timers-1]][[GSRFM00205]][[list-timers]]
+
+== list-timers
+
+Lists all of the persistent timers owned by server instance(s)
+
+[[sthref1834]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-timers [--help]
+[target]
+----
+
+[[sthref1835]]
+
+=== Description
+
+The `list-timers` subcommand lists the persistent timers owned by a
+specific server instance or a cluster of server instances. This command
+is supported in remote mode only.
+
+[[sthref1836]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1837]]
+
+=== Operands
+
+target::
+  The target is either a standalone server instance or a cluster. If the
+  target is the stand-alone instance, then the number of timers owned by
+  the instance is listed. If the target is a cluster, then the number of
+  timers owned by each instance in the cluster is listed. The default
+  target is `server`, the default server instance.
+
+[[sthref1838]]
+
+=== Examples
+
+[[GSRFM715]][[sthref1839]]
+
+==== Example 1   Listing Current Timers in a Server Instance
+
+This example lists persistent 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.
+----
+
+[[sthref1840]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1841]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:migrate-timers.html#migrate-timers-1[`migrate-timers`(1)]
+
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#using-the-timer-service[
+Using the Timer Service] in The Jakarta EE Tutorial
+
+"link:application-development-guide/ejb.html#GSDVG00146[EJB Timer Service]"
+in {productName} Application Development Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-transports.adoc b/docs/reference-manual/src/main/asciidoc/list-transports.adoc
new file mode 100644
index 0000000..9ded1e3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-transports.adoc
@@ -0,0 +1,99 @@
+type=page
+status=published
+title=list-transports
+next=list-virtual-servers.html
+prev=list-timers.html
+~~~~~~
+
+= list-transports
+
+[[list-transports-1]][[GSRFM00206]][[list-transports]]
+
+== list-transports
+
+Lists the existing transports
+
+[[sthref1842]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-transports [--help]
+[target]
+----
+
+[[sthref1843]]
+
+=== Description
+
+The `list-transports` subcommand lists the existing transports. This
+subcommand is supported in remote mode only.
+
+[[sthref1844]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1845]]
+
+=== Operands
+
+target::
+  Restricts the listing to transports for a specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the transports for the default server instance. This is the
+    default value.
+  configuration-name;;
+    Lists the transports for the specified configuration.
+  cluster-name;;
+    Lists the transports for all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the transports for the specified server instance.
+
+[[sthref1846]]
+
+=== Examples
+
+[[GSRFM716]][[sthref1847]]
+
+==== Example 1   Listing Transports
+
+The following command lists all the transports for the server instance:
+
+[source]
+----
+asadmin> list-transports
+http1-trans
+tcp
+Command list-transports executed successfully.
+----
+
+[[sthref1848]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1849]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-transport.html#create-transport-1[`create-transport`(1)],
+link:delete-transport.html#delete-transport-1[`delete-transport`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-virtual-servers.adoc b/docs/reference-manual/src/main/asciidoc/list-virtual-servers.adoc
new file mode 100644
index 0000000..63bfe31
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-virtual-servers.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=list-virtual-servers
+next=list-web-context-param.html
+prev=list-transports.html
+~~~~~~
+
+= list-virtual-servers
+
+[[list-virtual-servers-1]][[GSRFM00207]][[list-virtual-servers]]
+
+== list-virtual-servers
+
+Lists the existing virtual servers
+
+[[sthref1850]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-virtual-servers [--help]
+[target]
+----
+
+[[sthref1851]]
+
+=== Description
+
+The `list-virtual-servers` subcommand lists the existing virtual
+servers. This subcommand is supported in remote mode only.
+
+[[sthref1852]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1853]]
+
+=== Operands
+
+target::
+  Restricts the listing to virtual servers for a specified target. Valid
+  values are as follows:
+
+  `server`;;
+    Lists the virtual servers for the default server instance. This is
+    the default value.
+  configuration-name;;
+    Lists the virtual servers for the specified configuration.
+  cluster-name;;
+    Lists the virtual servers for all server instances in the specified
+    cluster.
+  instance-name;;
+    Lists the virtual servers for the specified server instance.
+
+[[sthref1854]]
+
+=== Examples
+
+[[GSRFM717]][[sthref1855]]
+
+==== Example 1   Listing Virtual Servers
+
+The following command lists all the virtual servers for the server
+instance:
+
+[source]
+----
+asadmin> list-virtual-servers
+server
+__asadmin
+Command list-virtual-servers executed successfully.
+----
+
+[[sthref1856]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1857]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
+link:delete-virtual-server.html#delete-virtual-server-1[`delete-virtual-server`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-web-context-param.adoc b/docs/reference-manual/src/main/asciidoc/list-web-context-param.adoc
new file mode 100644
index 0000000..e75f19e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-web-context-param.adoc
@@ -0,0 +1,143 @@
+type=page
+status=published
+title=list-web-context-param
+next=list-web-env-entry.html
+prev=list-virtual-servers.html
+~~~~~~
+
+= list-web-context-param
+
+[[list-web-context-param-1]][[GSRFM00208]][[list-web-context-param]]
+
+== list-web-context-param
+
+Lists servlet context-initialization parameters of a deployed web
+application or module
+
+[[sthref1858]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-web-context-param [--help]
+[--name=context-param-name] application-name[/module]
+----
+
+[[sthref1859]]
+
+=== Description
+
+The `list-web-context-param` subcommand lists the servlet
+context-initialization parameters of one of the following items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE) application
+
+The application must already be deployed. Otherwise, an error occurs.
+
+The `list-web-context-param` subcommand lists only parameters that have
+previously been set by using the
+link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)]
+subcommand. The subcommand does not list parameters that are set only in
+the application's deployment descriptor.
+
+For each parameter, the following information is displayed:
+
+* The name of the parameter
+* The value to which the parameter is set
+* The value of the `--ignoreDescriptorItem` option of the
+  `set-web-context-param` subcommand that was specified when the parameter was set
+* The description of the parameter or `null` if no description was
+  specified when the parameter was set
+
+[[sthref1860]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  The name of the servlet context-initialization parameter that is to be
+  listed. If this option is omitted, all parameters of the application
+  that have previously been set are listed.
+
+[[sthref1861]]
+
+=== Operands
+
+application-name::
+  The name of the application. This name can be obtained from the
+  Administration Console or by using the
+  link:list-applications.html#list-applications-1[`list-applications`(1)] subcommand. +
+  The application must already be deployed. Otherwise, an error occurs.
+module::
+  The relative path to the module within the application's enterprise
+  archive (EAR) file. The path to the module is specified in the
+  `module` element of the application's `application.xml` file. +
+  module is required only if the servlet context-initialization
+  parameter applies to a web module of a Jakarta EE application. If
+  specified, module must follow application-name, separated by a slash (`/`). +
+  For example, the `application.xml` file for the `myApp` application
+  might specify the following web module:
++
+[source,xml]
+----
+<module>
+    <web>
+        <web-uri>myWebModule.war</web-uri>
+    </web>
+</module>
+----
++
+The module would be specified as the operand of this command as `myApp/myWebModule.war`.
+
+[[sthref1862]]
+
+=== Examples
+
+[[GSRFM718]][[sthref1863]]
+
+==== Example 1   Listing Servlet Context-Initialization Parameters for a Web
+Application
+
+This example lists all servlet context-initialization parameters of the
+web application `basic-ezcomp` that have been set by using the
+`set-web-context-param` subcommand. Because no description was specified
+when the `javax.faces.PROJECT_STAGE` parameter was set, `null` is
+displayed instead of a description for this parameter.
+
+[source]
+----
+asadmin> list-web-context-param basic-ezcomp
+javax.faces.STATE_SAVING_METHOD = client ignoreDescriptorItem=false
+//The location where the application's state is preserved
+javax.faces.PROJECT_STAGE = null ignoreDescriptorItem=true //null
+
+Command list-web-context-param executed successfully.
+----
+
+[[sthref1864]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1865]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)],
+link:unset-web-context-param.html#unset-web-context-param-1[`unset-web-context-param`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list-web-env-entry.adoc b/docs/reference-manual/src/main/asciidoc/list-web-env-entry.adoc
new file mode 100644
index 0000000..3a6696b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list-web-env-entry.adoc
@@ -0,0 +1,146 @@
+type=page
+status=published
+title=list-web-env-entry
+next=login.html
+prev=list-web-context-param.html
+~~~~~~
+
+= list-web-env-entry
+
+[[list-web-env-entry-1]][[GSRFM00209]][[list-web-env-entry]]
+
+== list-web-env-entry
+
+Lists environment entries for a deployed web application or module
+
+[[sthref1866]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list-web-env-entry [--help]
+[--name=env-entry-name] application-name[/module]
+----
+
+[[sthref1867]]
+
+=== Description
+
+The `list-web-env-entry` subcommand lists the environment entries for
+one of the following items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE)
+application
+
+The application must already be deployed. Otherwise, an error occurs.
+
+The `list-web-env-entry` subcommand lists only entries that have
+previously been set by using the
+link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)]
+subcommand. The subcommand does not list environment entries that are
+set only in the application's deployment descriptor.
+
+For each entry, the following information is displayed:
+
+* The name of the entry
+* The Java type of the entry
+* The value to which the entry is set
+* The value of the `--ignoreDescriptorItem` option of the
+  `set-web-env-entry` subcommand that was specified when the entry was set
+* The description of the entry or `null` if no description was specified
+  when the entry was set
+
+[[sthref1868]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  The name of the environment entry that is to be listed. The name is a
+  JNDI name relative to the `java:comp/env` context. The name must be
+  unique within a deployment component. If this option is omitted, all
+  environment entries that have previously been set for the application
+  are listed.
+
+[[sthref1869]]
+
+=== Operands
+
+application-name::
+  The name of the application. This name can be obtained from the
+  Administration Console or by using the
+  link:list-applications.html#list-applications-1[`list-applications`(1)] subcommand. +
+  The application must already be deployed. Otherwise, an error occurs.
+module::
+  The relative path to the module within the application's enterprise
+  archive (EAR) file. The path to the module is specified in the
+  `module` element of the application's `application.xml` file. +
+  module is required only if the environment entry applies to a web
+  module of a Jakarta EE application. If specified, module must follow
+  application-name, separated by a slash (`/`). +
+  For example, the `application.xml` file for the `myApp` application
+  might specify the following web module:
++
+[source,xml]
+----
+<module>
+    <web>
+        <web-uri>myWebModule.war</web-uri>
+    </web>
+</module>
+----
+::
+  The module would be specified as the operand of this command as
+  `myApp/myWebModule.war`.
+
+[[sthref1870]]
+
+=== Examples
+
+[[GSRFM719]][[sthref1871]]
+
+==== Example 1   Listing Environment Entries for a Web Application
+
+This example lists all environment entries that have been set for the
+web application `hello` by using the `set-web-env-entry` subcommand.
+Because no description was specified when the `Hello Port` environment
+entry was set, `null` is displayed instead of a description for this
+entry.
+
+[source]
+----
+asadmin> list-web-env-entry hello
+Hello User (java.lang.String) = techscribe ignoreDescriptorItem=false
+ //User authentication for Hello appplication
+Hello Port (java.lang.Integer) = null ignoreDescriptorItem=true //null
+
+Command list-web-env-entry executed successfully.
+----
+
+[[sthref1872]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1873]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)],
+link:unset-web-env-entry.html#unset-web-env-entry-1[`unset-web-env-entry`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/list.adoc b/docs/reference-manual/src/main/asciidoc/list.adoc
new file mode 100644
index 0000000..ef97371
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/list.adoc
@@ -0,0 +1,231 @@
+type=page
+status=published
+title=list
+next=list-admin-objects.html
+prev=jms-ping.html
+~~~~~~
+
+= list
+
+[[list-1]][[GSRFM00145]][[list]]
+
+== list
+
+Lists configurable or monitorable elements
+
+[[sthref1282]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] list [--help]
+[--monitor={false|true}]
+[dotted-parent-attribute-name]
+----
+
+[[sthref1283]]
+
+=== Description
+
+The `list` subcommand lists configurable and monitorable attributes of
+{productName}.
+
+The output of the `list` subcommand is a list of the dotted names that
+represent individual server components and subsystems. For example,
+`server.applications.web-module`. After you know the particular
+component or subsystem, you can then use the `get` subcommand to access
+any attributes, and the `set` subcommand to modify configurable
+attributes.
+
+The following rules apply to dotted names in a `list` subcommand:
+
+[NOTE]
+====
+Characters that have special meaning to the shell or command
+interpreter, such as * (asterisk), should be quoted or escaped as
+appropriate to the shell, for example, by enclosing the argument in
+quotes. In multimode, quotes are needed only for arguments that include
+spaces, quotes, or backslash.
+====
+
+* Any `list` subcommand that has a dotted name that is not followed by a
+wildcard (*) lists the current node's immediate children. For example,
+the following command lists all immediate children belonging to the
+server node:
++
+[source]
+----
+asadmin> list server
+----
+* Any `list` subcommand that has a dotted name followed by a wildcard(*)
+lists a hierarchical tree of child nodes from the current node. For
+example, the following command lists all child nodes of applications and
+their subsequent child nodes, and so on:
++
+[source]
+----
+asadmin> list server.applications.*
+----
+* Any `list` subcommand that has a dotted name preceded or followed by a
+wildcard (`*`) of the form dotted name or dottedname lists all nodes and
+their child nodes that match the regular expression created by the
+provided matching pattern.
+
+For detailed information about dotted names, see the
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)] help page.
+
+[[sthref1284]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--monitor`::
+`-m`::
+  Defaults to false. If set to false, the configurable attribute values
+  are returned. If set to true, the monitorable attribute values are
+  returned.
+
+[[sthref1285]]
+
+=== Operands
+
+dotted-parent-element-name::
+  Configurable or monitorable element name
+
+[[sthref1286]]
+
+=== Examples
+
+[[GSRFM631]][[sthref1287]]
+
+==== Example 1   Listing Dotted Names of Configurable Elements
+
+This example lists the elements that can be configured.
+
+[source]
+----
+asadmin> list *
+applications
+configs
+configs.config.server-config
+configs.config.server-config.admin-service
+configs.config.server-config.admin-service.das-config
+configs.config.server-config.admin-service.jmx-connector.system
+configs.config.server-config.admin-service.property.adminConsoleContextRoot
+configs.config.server-config.admin-service.property.adminConsoleDownloadLocation
+configs.config.server-config.admin-service.property.ipsRoot
+configs.config.server-config.ejb-container
+configs.config.server-config.ejb-container.ejb-timer-service
+configs.config.server-config.http-service
+configs.config.server-config.http-service.access-log
+configs.config.server-config.http-service.virtual-server.__asadmin
+configs.config.server-config.http-service.virtual-server.server
+configs.config.server-config.iiop-service
+configs.config.server-config.iiop-service.iiop-listener.SSL
+configs.config.server-config.iiop-service.iiop-listener.SSL.ssl
+configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH
+configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH.ssl
+configs.config.server-config.iiop-service.iiop-listener.orb-listener-1
+configs.config.server-config.iiop-service.orb
+configs.config.server-config.java-config
+configs.config.server-config.jms-service
+configs.config.server-config.jms-service.jms-host.default_JMS_host
+...
+property.administrative.domain.name
+resources
+resources.jdbc-connection-pool.DerbyPool
+resources.jdbc-connection-pool.DerbyPool.property.DatabaseName
+resources.jdbc-connection-pool.DerbyPool.property.Password
+resources.jdbc-connection-pool.DerbyPool.property.PortNumber
+resources.jdbc-connection-pool.DerbyPool.property.User
+resources.jdbc-connection-pool.DerbyPool.property.connectionAttributes
+resources.jdbc-connection-pool.DerbyPool.property.serverName
+resources.jdbc-connection-pool.__TimerPool
+resources.jdbc-connection-pool.__TimerPool.property.connectionAttributes
+resources.jdbc-connection-pool.__TimerPool.property.databaseName
+resources.jdbc-resource.jdbc/__TimerPool
+resources.jdbc-resource.jdbc/__default
+servers
+servers.server.server
+servers.server.server.resource-ref.jdbc/__TimerPool
+servers.server.server.resource-ref.jdbc/__default
+system-applications
+Command list executed successfully.
+----
+
+[[GSRFM632]][[sthref1288]]
+
+==== Example 2   Listing Attributes of a Configurable Element
+
+This example lists the attributes of the web container.
+
+[source]
+----
+asadmin> list configs.config.server-config.web-container
+configs.config.server-config.web-container
+configs.config.server-config.web-container.session-config
+Command list executed successfully.
+----
+
+[[GSRFM633]][[sthref1289]]
+
+==== Example 3   Listing Dotted Names of Monitorable Objects
+
+This example lists the names of the monitorable objects that are enabled
+for monitoring.
+
+[source]
+----
+asadmin> list --monitor *
+server.jvm
+server.jvm.class-loading-system
+server.jvm.compilation-system
+server.jvm.garbage-collectors
+server.jvm.garbage-collectors.Copy
+server.jvm.garbage-collectors.MarkSweepCompact
+server.jvm.memory
+server.jvm.operating-system
+server.jvm.runtime
+server.network
+server.network.admin-listener
+server.network.admin-listener.connections
+server.network.admin-listener.file-cache
+server.network.admin-listener.keep-alive
+server.network.admin-listener.thread-pool
+server.network.http-listener-1
+server.network.http-listener-1.connections
+server.network.http-listener-1.file-cache
+server.network.http-listener-1.keep-alive
+server.network.http-listener-1.thread-pool
+server.transaction-service
+Command list executed successfully.
+----
+
+[[sthref1290]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1291]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get.html#get-1[`get`(1)], link:set.html#set-1[`set`(1)]
+
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
+
+link:administration-guide.html#GSADG[{productName} Administration Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/logging.adoc b/docs/reference-manual/src/main/asciidoc/logging.adoc
new file mode 100644
index 0000000..b34b941
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/logging.adoc
@@ -0,0 +1,59 @@
+type=page
+status=published
+title=logging
+next=monitoring.html
+prev=instance.html
+~~~~~~
+
+= logging
+
+[[logging-5asc]][[GSRFM00270]][[logging]]
+
+== logging
+
+Capturing information on {productName} runtime events
+
+[[sthref2404]]
+
+=== Description
+
+Logging is the process by which {productName} captures data about
+events that occur during {productName} operation. {productName}
+components and application components generate logging data, which is
+saved in the server log, typically domain-dir`/logs/server.log`. The
+server log is the first source of information if {productName}
+problems occur.
+
+The server log is rotated when the file reaches the specified size in
+bytes, or the specified time has elapsed. The file can also be rotated
+manually by using the `rotate-log` subcommand.
+
+In addition to the server log, the domain-dir``/logs`` directory contains
+two other kinds of logs:
+
+* HTTP service access logs, located in the `/access` subdirectory
+* Transaction service logs, located in the `/tx` subdirectory
+
+Logging levels can be configured by using the Administration Console or
+the `set-log-levels` subcommand. Additional properties can be set by
+using the Administration Console or by editing the `logging.properties`
+file. The default `logging.properties` file is typically located in
+domain-dir``/config``.
+
+Although application components can use the Apache Commons Logging
+Library to record messages, the platform standard JSR 047 API is
+recommended for better log configuration.
+
+[[sthref2405]]
+
+=== See Also
+
+link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
+link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
+link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/login.adoc b/docs/reference-manual/src/main/asciidoc/login.adoc
new file mode 100644
index 0000000..7f92676
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/login.adoc
@@ -0,0 +1,141 @@
+type=page
+status=published
+title=login
+next=migrate-timers.html
+prev=list-web-env-entry.html
+~~~~~~
+
+login
+=====
+
+[[login-1]][[GSRFM00210]][[login]]
+
+login
+-----
+
+Logs you into a domain
+
+[[sthref1874]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] login [--help]
+----
+
+[[sthref1875]]
+
+=== Description
+
+The purpose of the `login` subcommand is to ease domain administration
+by letting you log into a particular domain. If {productName}
+domains are created on various machines (locally), you can run the
+`asadmin` utility from any of these machines and manage domains located
+elsewhere (remotely). This is especially useful when a particular
+machine is chosen as an administration client that manages multiple
+domains and servers.
+
+The `login` subcommand prompts you for the administrator user name and
+password. After successful login, the `.asadminpass` file is created in
+your home directory. (This is the same file that is modified when you
+run the `create-domain` subcommand with the `--savelogin` option.) The
+literal host name is stored, and no resolution with the DNS is
+attempted. If a domain is being administered from other machines, it is
+sufficient to run the `login` subcommand once. You do not need to
+specify the `asadmin` utility options `--user` and `--passwordfile` when
+you run additional remote subcommands on that domain. After you have
+logged into a domain, you still need to provide the host and port for
+any subsequent remote subcommands unless you chose the default values
+for `--host` (localhost) and `--port` (4848) options.
+
+Subsequent use of same subcommand with the same parameters will result
+in overwriting the contents of the `.asadminpass` file for the given
+administration host and port. You can decide to overwrite the file or to
+reject such a login.
+
+Login information is saved permanently and can be used across multiple
+domain restarts.
+
+There is no `logout` subcommand. If you want to log in to another
+domain, run the `login` subcommand and specify new values for the
+`asadmin` utility options `--host` and `--port`.
+
+[[sthref1876]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref1877]]
+
+=== Examples
+
+[[GSRFM720]][[sthref1878]]
+
+==== Example 1   Logging Into a Domain on a Remote Machine
+
+This example logs into a domain located on another machine. Options are
+specified before the `login` subcommand.
+
+[source]
+----
+asadmin --host foo --port 8282 login
+Please enter the admin user name>admin
+Please enter the admin password>
+
+Trying to authenticate for administration of server at host [foo]
+and port [8282] ...
+Login information relevant to admin user name [admin] for host [foo]
+and admin port [8282] stored at [/.asadminpass] successfully.
+Make sure that this file remains protected. Information stored in this
+file will be used by asadmin commands to manage associated domain.
+----
+
+[[GSRFM721]][[sthref1879]]
+
+==== Example 2   Logging Into a Domain on the Default Port of Localhost
+
+This example logs into a domain on `mylhost` on the default port.
+Options are specified before the `login` subcommand.
+
+[source]
+----
+asadmin --host myhost login
+Please enter the admin user name>admin
+Please enter the admin password>
+Trying to authenticate for administration of server
+at host [myhost] and port [4848] ...
+An entry for login exists for host [myhost] and port [4848], probably
+from an earlier login operation.
+Do you want to overwrite this entry (y/n)?y
+Login information relevant to admin user name [admin] for host [myhost]
+and admin port [4848] stored at [/home/joe/.asadminpass] successfully.
+Make sure that this file remains protected. Information stored in this
+file will be used by asadmin commands to manage associated domain.
+----
+
+[[sthref1880]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1881]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-domain.html#create-domain-1[`create-domain`(1)],
+link:delete-domain.html#delete-domain-1[`delete-domain`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/manvol1.adoc b/docs/reference-manual/src/main/asciidoc/manvol1.adoc
new file mode 100644
index 0000000..0e5ef16
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/manvol1.adoc
@@ -0,0 +1,19 @@
+type=page
+status=published
+title={productName} 7 asadmin Utility Subcommands
+next=add-library.html
+prev=preface.html
+~~~~~~
+
+= {productName} 7 asadmin Utility Subcommands
+
+[[GSRFM443]][[sthref6]]
+
+
+[[glassfish-server-open-source-edition-5.0-asadmin-utility-subcommands]]
+== 1 {productName} 7 asadmin Utility Subcommands
+
+This section describes, in alphabetical order, the subcommands of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility.
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/manvol1m.adoc b/docs/reference-manual/src/main/asciidoc/manvol1m.adoc
new file mode 100644
index 0000000..04d616b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/manvol1m.adoc
@@ -0,0 +1,18 @@
+type=page
+status=published
+title={productName} 7 Utility Commands
+next=appclient.html
+prev=version.html
+~~~~~~
+
+= {productName} 7 Utility Commands
+
+[[GSRFM803]][[sthref2356]]
+
+
+[[glassfish-server-open-source-edition-5.0-utility-commands]]
+== 2 {productName} 7 Utility Commands
+
+This section describes {productName} utility commands.
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/manvol5asc.adoc b/docs/reference-manual/src/main/asciidoc/manvol5asc.adoc
new file mode 100644
index 0000000..c8afd08
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/manvol5asc.adoc
@@ -0,0 +1,19 @@
+type=page
+status=published
+title={productName} 7 {productName} Concepts
+next=application.html
+prev=package-appclient.html
+~~~~~~
+
+= {productName} 7 {productName} Concepts
+
+[[GSRFM814]][[sthref2391]]
+
+
+[[glassfish-server-open-source-edition-5.0-glassfish-server-concepts]]
+== 3 {productName} 7 {productName} Concepts
+
+This section describes concepts that are related to {productName}
+administration.
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/migrate-timers.adoc b/docs/reference-manual/src/main/asciidoc/migrate-timers.adoc
new file mode 100644
index 0000000..ec3dede
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/migrate-timers.adoc
@@ -0,0 +1,97 @@
+type=page
+status=published
+title=migrate-timers
+next=monitor.html
+prev=login.html
+~~~~~~
+
+= migrate-timers
+
+[[migrate-timers-1]][[GSRFM00211]][[migrate-timers]]
+
+== migrate-timers
+
+Moves EJB timers when a clustered instance was stopped or has crashed
+
+[[sthref1882]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] migrate-timers [--help]
+[--target target_server_name]
+server_name
+----
+
+[[sthref1883]]
+
+=== Description
+
+The `migrate-timers` subcommand moves EJB timers to a specified server
+when a server instance stops or crashes, if automatic timer migration is
+not enabled in the cluster configuration. This subcommand is supported
+in remote mode only.
+
+[[sthref1884]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This is the target server instance. If this option is not specified,
+  then DAS will find a server instance or multiple server instances. A
+  migration notification will be sent to the selected server instances.
+`--destination`::
+  This option is deprecated. It works exactly as the `--target` option
+  does.
+
+[[sthref1885]]
+
+=== Operands
+
+server_name::
+  This is the server instance on which the timers are currently located.
+  This server instance should not be running during the migration
+  process.
+
+[[sthref1886]]
+
+=== Examples
+
+[[GSRFM722]][[sthref1887]]
+
+==== Example 1   Migrating Timers
+
+This example shows how to migrate timers from the server named
+`instance1` to a server named `instance2`.
+
+[source]
+----
+asadmin>migrate-timers --target instance2 instance1
+This command was successfully executed.
+----
+
+[[sthref1888]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1889]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-timers.html#list-timers-1[`list-timers`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/monitor.adoc b/docs/reference-manual/src/main/asciidoc/monitor.adoc
new file mode 100644
index 0000000..00810fc
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/monitor.adoc
@@ -0,0 +1,274 @@
+type=page
+status=published
+title=monitor
+next=multimode.html
+prev=migrate-timers.html
+~~~~~~
+
+= monitor
+
+The script content on this page is for navigation purposes only and does
+not alter the content in any way.
+
+[[monitor-1]][[GSRFM00212]][[monitor]]
+
+== monitor
+
+Displays monitoring data for commonly used components and services
+
+[[sthref1890]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] monitor [--help]
+--type type
+[--filename filename]
+[--interval interval]
+[--filter filter]
+instance-name
+----
+
+[[sthref1891]]
+
+=== Description
+
+The `monitor` subcommand displays statistics for commonly monitored
+{productName} components and services. The `--type` option must be
+used to specify the object for which statistics are to be displayed.
+Data is displayed continuously in a tabular form, or the data can be
+displayed at a particular time interval by using the `--interval` option.
+
+Before a given component or service can be monitored, monitoring must be
+enabled (set to HIGH or LOW) for the component or service by using the
+Administration Console, the enable-monitoring subcommand, or the set subcommand.
+
+The monitor subcommand has options for filtering the results and
+capturing the output in a Comma Separated Values (CSV) file. The output
+appears in a table format. To view the legend of the table header, type `h`.
+
+This subcommand is supported in local mode only.
+
+[[sthref1892]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--type`::
+  The component or service to monitor. This option is required. No
+  default value is defined.
+
+  `httplistener`;;
+    For this type, the attribute
+    `server.monitoring-service.module-monitoring-levels.http-service`
+    must be set to LOW or HIGH. +
+    Displays the following statistics for the HTTP listener service:
++
+--
+    `ec`::
+      The total number errors in the processing of HTTP requests.
+    `mt`::
+      The longest response time (in milliseconds) for the processing of
+      a single HTTP request.
+    `pt`::
+      The total amount of time (in milliseconds) that the HTTP listener
+      service has spent in processing HTTP requests.
+    `rc`::
+      The total number of requests that the HTTP listener service has
+      processed.
+--
+  `jvm`;;
+    For this type, the attribute
+    `server.server-config.monitoring-service.module-monitoring-levels.jvm`
+    must be set to LOW or HIGH. +
+    Displays the following statistics for the Virtual Machine for the
+    Java platform (Java Virtual Machine or JVM machine):link:#sthref1893[^Footnote 1^]
++
+--
+    `UpTime`::
+      The number of milliseconds that the JVM machine has been running
+      since it was last started.
+    `min`::
+      The initial amount of memory (in bytes) that the JVM machine
+      requests from the operating system for memory management during
+      startup.
+    `max`::
+      The maximum amount of memory that can be used for memory
+      management.
+    `low`::
+      Retained for compatibility with other releases.
+    `high`::
+      Retained for compatibility with other releases.
+    `count`::
+      The amount of memory (in bytes) that is guaranteed to be available
+      for use by the JVM machine.
+--
+  `webmodule`;;
+    For this type, the attribute
+    `server.server-config.monitoring-service.module-monitoring-levels.web-container`
+    must be set to LOW or HIGH. +
+    Displays the following statistics for all deployed web modules:
++
+--
+    `asc`::
+      The number of currently active sessions.
+    `ast`::
+      The total number of sessions that are currently active or have
+      been active previously.
+    `rst`::
+      The total number of rejected sessions.
+    `st`::
+      The total number of sessions that have been created.
+    `ajlc`::
+      The number of currently active JavaServer Pages ( JSP) technology
+      pages that are loaded.
+    `mjlc`::
+      The maximum number of JSP technology pages that were active at any
+      time simultaneously.
+    `tjlc`::
+      Total number of JSP technology pages that have been loaded.
+    `aslc`::
+      The number of currently active Java servlets that are loaded.
+    `mslc`::
+      The maximum number of Java servlets that were active at any time
+      simultaneously.
+    `tslc`::
+      The total number of Java servlets that have been loaded.
+--
+
+`--filename`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--interval`::
+  The interval in seconds before capturing monitoring attributes. The
+  interval must be greater than 0. The monitoring attributes are
+  displayed on `stdout` until you type Control-C or `q`. The default
+  value is 30.
+`--filter`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref1894]]
+
+=== Operands
+
+instance-name::
+  The server instance for which to view monitoring data. The default
+  value is `server`.
+
+[[sthref1895]]
+
+=== Examples
+
+[[GSRFM723]][[sthref1896]]
+
+==== Example 1   Displaying Monitoring Statistics by Interval
+
+This example displays monitoring data for the JVM machine every 2000
+seconds.
+
+[source]
+----
+asadmin> monitor --type=jvm --interval 2000 server
+                               JVM Monitoring
+UpTime(ms)                          Heap and NonHeap Memory(bytes)
+current                   min        max        low        high       count
+957843                    29523968   188284928  0          0          60370944
+
+q
+Command monitor executed successfully.
+----
+
+[[GSRFM724]][[sthref1897]]
+
+==== Example 2   Filtering the Monitoring Data
+
+This example uses the filter option to show `http-listener-1`
+statistics.
+
+[source]
+----
+asadmin> monitor --type httplistener --filter http-listener-1 server
+
+                   HTTP Listener Monitoring: http-listener-1
+br   bs   c200 c2xx c302 c304 c3xx c400 c401 c403 c404 c4xx c503 c5xx coc  co
+ctc  ctb  ec   moc  mst  mt   mtm  mst  pt   rc
+0    0    0    0    0    3    3    0    0    0    0    0    0    0    0    0
+2    0    0    1    20   20   2    2    6    3
+----
+
+To see the legend for the table headings, type `h`.
+
+[source]
+----
+******************************************************************************************
+* br   = Cumulative value of the Bytes received by each of the Request Processors        *
+* bs   = Cumulative value of the Bytes sent by each of the Request Processors            *
+* c200 = Number of responses with a status code equal to 200                             *
+* c2xx = Number of responses with a status code in the 2xx range                         *
+* c302 = Number of responses with a status code equal to 302                             *
+* c304 = Number of responses with a status code equal to 304                             *
+* c3xx = Number of responses with a status code in the 3xx range                         *
+* c400 = Number of responses with a status code equal to 400                             *
+* c401 = Number of responses with a status code equal to 401                             *
+* c403 = Number of responses with a status code equal to 403                             *
+* c404 = Number of responses with a status code equal to 404                             *
+* c4xx = Number of responses with a status code equal to 4xx                             *
+* c504 = Number of responses with a status code equal to 504                             *
+* c5xx = Number of responses with a status code equal to 5xx                             *
+* coc  = Number of open connections                                                      *
+* co   = Number of responses with a status code outside the 2xx, 3xx, 4xx, and 5xx range *
+* ctc  = Number of request processing threads currently in the listener thread pool      *
+* ctb  = Number of request processing threads currently in use in the listener thread    *
+*        pool serving requests                                                           *
+* ec   = Number of responses with a status code equal to 400                             *
+* moc  = Maximum number of open connections                                              *
+* mst  = Minimum number of request processing threads that will be created at listener   *
+*        startup time and maintained as spare threads above the current thread count     *
+* mt   = Maximum number of request processing threads that are created by the listener   *
+* mtm  = Provides the longest response time for a request - not a cumulative value, but  *
+*        the largest response time from among the response times                         *
+* pt   = Cumulative value of the times taken to process each request. The processing     *
+*        time is the average of request processing times over the request count          *
+* rc   = Cumulative number of the requests processed so far                              *
+******************************************************************************************
+----
+
+[[sthref1898]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1899]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:enable-monitoring.html#enable-monitoring-1[`enable-monitoring`(1)],
+link:disable-monitoring.html#disable-monitoring-1[`disable-monitoring`(1)],
+link:set.html#set-1[`set`(1)]
+
+link:monitoring.html#monitoring-5asc[`monitoring`(5ASC)]
+
+"link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in {productName} Administration Guide
+
+'''''
+
+=== Footnote Legend
+[[sthref1893]]
+Footnote 1: The terms "Java Virtual Machine" and "JVM" mean a Virtual Machine for the Java platform.
diff --git a/docs/reference-manual/src/main/asciidoc/monitoring.adoc b/docs/reference-manual/src/main/asciidoc/monitoring.adoc
new file mode 100644
index 0000000..fe1c929
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/monitoring.adoc
@@ -0,0 +1,73 @@
+type=page
+status=published
+title=monitoring
+next=passwords.html
+prev=logging.html
+~~~~~~
+
+= monitoring
+
+[[monitoring-5asc]][[GSRFM00271]][[monitoring]]
+
+== monitoring
+
+Reviewing the runtime state of components and services deployed in {productName}
+
+[[sthref2406]]
+
+=== Description
+
+Monitoring is the process of reviewing the statistics of a system to
+improve performance or solve problems. By monitoring the state of
+various components and services deployed in {productName},
+performance bottlenecks can be identified, failures can be anticipated,
+and runtime standards can be established and observed. Data gathered by
+monitoring can also be useful in performance tuning and capacity
+planning.
+
+The {productName} monitoring service is enabled by default, that is,
+the `monitoring-enabled` attribute of the `monitoring-service` element
+is set to true. Once the monitoring service is enabled, a deployed
+module can then be enabled for monitoring by setting its monitoring
+level to HIGH or LOW (default is OFF). Monitoring can be configured
+dynamically by using the Administration Console or the
+`enable-monitoring` and the `disable-monitoring` subcommands. The `set`
+subcommand can also be used with dotted names to enable or disable
+monitoring. However, a server restart is required for changes made by
+using the `set` subcommand to take affect.
+
+Monitoring data can be viewed by using the Administration Console or by
+using the subcommands of the `asadmin` utility.
+
+* The `monitor` subcommand displays monitoring data for a given type,
+similar to the UNIX `top` command. The data is presented at given
+intervals.
+* The `list` and `get` subcommands display comprehensive data. Both use
+dotted names to specify monitorable objects.
+
+Alternate tools for monitoring {productName} components and services
+include JConsole and the REST interface.
+
+The Monitoring Scripting Client or DTrace Monitoring can be used to
+start the available monitoring probes. Using these tools is helpful in
+identifying performance issues during runtime. Monitoring Scripting
+Client or DTrace Monitoring are only usable if their modules are
+present.
+
+[[sthref2407]]
+
+=== See Also
+
+link:monitor.html#monitor-1[`monitor`(1)],
+link:enable-monitoring.html#enable-monitoring-1[`enable-monitoring`(1)],
+link:disable-monitoring.html#disable-monitoring-1[`disable-monitoring`(1)],
+link:list.html#list-1[`list`(1)], link:get.html#get-1[`get`(1)],
+link:set.html#set-1[`set`(1)]
+
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+"link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/multimode.adoc b/docs/reference-manual/src/main/asciidoc/multimode.adoc
new file mode 100644
index 0000000..5adf377
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/multimode.adoc
@@ -0,0 +1,129 @@
+type=page
+status=published
+title=multimode
+next=osgi.html
+prev=monitor.html
+~~~~~~
+
+= multimode
+
+[[multimode-1]][[GSRFM00213]][[multimode]]
+
+== multimode
+
+Allows multiple subcommands to be run while preserving environment
+settings and remaining in the asadmin utility
+
+[[sthref1900]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] multimode [--help]
+[--file filename]
+[--printprompt={true|false}] [--encoding encode]
+----
+
+[[sthref1901]]
+
+=== Description
+
+The `multimode` subcommand processes `asadmin` subcommands sequentially
+in a single session. The command-line interface prompts for a
+subcommand, runs that subcommand, displays the results of that
+subcommand, and then prompts for the next subcommand. All the `asadmin`
+options set in multimode apply to subsequent commands until the
+multimode session is exited. You exit `multimode` by typing `exit`,
+`quit`, or Ctrl-D.
+
+You can use the `export` subcommand to set your environment, or use the
+`unset` subcommand to remove environment variables from the multimode
+environment.
+
+You can also provide subcommands by passing a previously prepared list
+of subcommands from a file or standard input (pipe). When you use a
+file, you can include comment lines in the file by entering the hash
+symbol (`#`) as the first character of the line.
+
+You can invoke `multimode` from within a multimode session. When you
+exit the second multimode environment, you return to your original
+multimode environment.
+
+All the remote `asadmin` utility options can be supplied when invoking
+the `multimode` subcommand. The settings will apply as defaults for all
+subcommands that are run within the multimode session. For a list of the
+`asadmin` utility options, see the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+
+[[sthref1902]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--file`::
+`-f`::
+  Reads the subcommands in the specified file.
+`--printprompt`::
+  Controls printing of the `asadmin` prompt. By default, this option is
+  set to the same value as the `--interactive` `asadmin` utility option.
+  Normally you will not need to specify this option. Default is true.
+`--encoding`::
+  Specifies the character set for the file to be decoded. By default,
+  the system character set is used.
+
+[[sthref1903]]
+
+=== Examples
+
+[[GSRFM725]][[sthref1904]]
+
+==== Example 1   Starting a Multimode Session
+
+This example starts a multimode session where: `%` is the system prompt.
+
+[source]
+----
+% asadmin multimode
+asadmin>
+----
+
+You can also start a multimode session by typing `asadmin` without
+options or subcommands at the system prompt.
+
+[[GSRFM726]][[sthref1905]]
+
+==== Example 2   Running Multiple Commands From a File
+
+This example runs a sequence of subcommands from the `commands_file.txt`
+file.
+
+[source]
+----
+% asadmin multimode --file commands_file.txt
+----
+
+[[sthref1906]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1907]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:export.html#export-1[`export`(1)],
+link:unset.html#unset-1[`unset`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/osgi-shell.adoc b/docs/reference-manual/src/main/asciidoc/osgi-shell.adoc
new file mode 100644
index 0000000..b6d548e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/osgi-shell.adoc
@@ -0,0 +1,152 @@
+type=page
+status=published
+title=osgi-shell
+next=ping-connection-pool.html
+prev=osgi.html
+~~~~~~
+
+= osgi-shell
+
+[[osgi-shell-1]][[GSRFM890]][[osgi-shell]]
+
+== osgi-shell
+
+Provides interactive access to the Apache Felix Gogo remote shell for
+the execution of OSGi shell commands
+
+[[sthref1918]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] osgi-shell [--help]
+[--file file]
+[--printprompt={false|true}]
+[--encoding encoding]
+----
+
+[[sthref1919]]
+
+=== Description
+
+The `osgi-shell` subcommand provides interactive access to the Apache
+Felix Gogo remote shell for the execution of OSGi shell commands. The
+remote shell is provided with {productName} and used to administer
+and inspect the OSGi runtime.
+
+OSGi shell commands are executed on the server and results are printed
+on the client. Because the shell is interactive, no operands are
+accepted. Scripting is supported, which means that multiple commands can
+be executed in sequence from a text file.
+
+A related subcommand is the `osgi` subcommand, which passes a single
+command to the remote shell for execution. Results are returned by the
+`asadmin` utility. For more information about the `osgi` subcommand, see
+the link:osgi.html#osgi-1[`osgi`(1)] help page.
+
+This subcommand is supported in local mode only. Unlike other local
+subcommands, however, the domain administration server (DAS) and the
+server instance whose shell is being accessed must be running.
+
+[[sthref1920]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--file`::
+`-f`::
+  Reads the commands in the specified file.
+`--printprompt`::
+  Controls printing of the shell prompt. The default value is `true`,
+  which means the shell prompt is displayed.
+`--encoding`::
+  Specifies the character set for the file to be decoded. By default,
+  the system character set is used.
+
+[[sthref1921]]
+
+=== Examples
+
+[[GSRFM891]][[sthref1922]]
+
+==== Example 1   Listing Apache Felix Gogo Remote Shell Commands
+
+This example lists Apache Felix Gogo remote shell commands.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> osgi-shell
+Use "exit" to exit and "help" for online help.
+gogo$ help
+felix:bundlelevel
+felix:cd
+felix:frameworklevel
+felix:headers
+felix:help
+felix:inspect
+felix:install
+felix:lb
+felix:log
+felix:ls
+...
+gogo:cat
+gogo:each
+gogo:echo
+gogo:format
+gogo:getopt
+gogo:gosh
+gogo:grep
+...
+gogo$
+----
+
+[[GSRFM892]][[sthref1923]]
+
+==== Example 2   Running a Remote Shell Command
+
+This example runs the Felix Remote Shell Command `lb` without any
+arguments to list all installed OSGi bundles.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> osgi-shell
+Use "exit" to exit and "help" for online help.
+gogo$ lb
+START LEVEL 2
+ID|State      |Level|Name
+ 0|Active     |    0|System Bundle
+ 1|Active     |    1|Metro Web Services API OSGi Bundle
+ 2|Active     |    1|jakarta.annotation API
+ 3|Active     |    1|jaxb-api
+...
+gogo$
+----
+
+[[sthref1924]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1925]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:osgi.html#osgi-1[`osgi`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/osgi.adoc b/docs/reference-manual/src/main/asciidoc/osgi.adoc
new file mode 100644
index 0000000..816707a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/osgi.adoc
@@ -0,0 +1,197 @@
+type=page
+status=published
+title=osgi
+next=osgi-shell.html
+prev=multimode.html
+~~~~~~
+
+= osgi
+
+[[osgi-1]][[GSRFM877]][[osgi]]
+
+== osgi
+
+Delegates the command line to the Apache Felix Gogo remote shell for the
+execution of OSGi shell commands
+
+[[sthref1908]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] osgi [--help]
+[--session session]
+[--session-id session-id]
+[--instance instance]
+[command_line]
+----
+
+[[sthref1909]]
+
+=== Description
+
+The `osgi` subcommand delegates the command line to the Apache Felix
+Gogo remote shell for the execution of OSGi shell commands. Commands are
+executed by the remote shell and results are returned by the `asadmin`
+utility. The remote shell is provided with {productName} and used to
+administer and inspect the OSGi runtime.
+
+Multiple command-line sessions can be created. Use the `--session` and
+`--session-id` options to run commands in a specific command-line
+session. If no session is specified, a new session is created to run
+commands and closed when execution completes.
+
+A related subcommand is the `osgi-shell` subcommand, which enables you
+to run multiple commands from a file or run commands interactively. For
+more information about the `osgi-shell` subcommand, see the
+link:osgi-shell.html#osgi-shell-1[`osgi-shell`(1)] help page.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1910]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the `osgi` subcommand.
+`--session`::
+  Performs command-line session operations. Valid values are:
+
+  `new`;;
+    Creates a new session and returns a session ID.
+  `stop`;;
+    Stops the session with the specified session ID.
+  `list`;;
+    Lists all active sessions.
+  `execute`;;
+    Runs a command in the session with the specified session ID.
+
+`--session-id`::
+  Specifies the session ID for command-line session operations.
+`--instance`::
+  Specifies the server instance to which the command is being delegated. +
+  The default is the domain administration server (DAS). The DAS must be
+  running to run a command on another instance.
+
+[[sthref1911]]
+
+=== Operands
+
+command_line::
+  The complete command-line syntax as provided for commands in the
+  Apache Felix Gogo remote shell.
+
+[[sthref1912]]
+
+=== Examples
+
+[[GSRFM888]][[sthref1913]]
+
+==== Example 1   Listing Apache Felix Gogo Remote Shell Commands
+
+This example lists the Apache Felix Gogo remote shell commands that can
+be used with the `osgi` subcommand.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> osgi help
+felix:bundlelevel
+felix:cd
+felix:frameworklevel
+felix:headers
+felix:help
+felix:inspect
+felix:install
+felix:lb
+felix:log
+felix:ls
+felix:refresh
+felix:resolve
+...
+gogo:cat
+gogo:each
+gogo:echo
+gogo:format
+gogo:getopt
+gogo:gosh
+gogo:grep
+...
+Command osgi executed successfully.
+----
+
+[[GSRFM878]][[sthref1914]]
+
+==== Example 2   Running a Remote Shell Command
+
+This example runs the Felix Remote Shell Command `lb` without any
+arguments to list all installed OSGi bundles.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> osgi lb
+START LEVEL 2
+ID|State      |Level|Name
+ 0|Active     |    0|System Bundle
+ 1|Active     |    1|Metro Web Services API OSGi Bundle
+ 2|Active     |    1|jakarta.annotation API
+ 3|Active     |    1|jaxb-api
+...
+Command osgi executed successfully.
+----
+
+[[GSRFM889]][[sthref1915]]
+
+==== Example 3   Running Commands That Create and Target a Specific Command-Line Session
+
+This example runs commands that create and target a specific
+command-line session.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> osgi --session new
+9537e570-0def-4f2e-9c19-bc8f51a8082f
+...
+asadmin> osgi --session list
+9537e570-0def-4f2e-9c19-bc8f51a8082f
+...
+asadmin> osgi --session execute --session-id 9537e570-0def-4f2e-9c19-bc8f51a8082f lb
+START LEVEL 2
+ID|State      |Level|Name
+ 0|Active     |    0|System Bundle
+ 1|Active     |    1|Metro Web Services API OSGi Bundle
+ 2|Active     |    1|jakarta.annotation API
+ 3|Active     |    1|jaxb-api
+...
+asadmin> osgi --session stop --session-id 9537e570-0def-4f2e-9c19-bc8f51a8082f
+Command osgi executed successfully.
+----
+
+[[sthref1916]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1917]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:osgi-shell.html#osgi-shell-1[`osgi-shell`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/package-appclient.adoc b/docs/reference-manual/src/main/asciidoc/package-appclient.adoc
new file mode 100644
index 0000000..630f74e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/package-appclient.adoc
@@ -0,0 +1,88 @@
+type=page
+status=published
+title=package-appclient
+next=manvol5asc.html
+prev=capture-schema.html
+~~~~~~
+
+= package-appclient
+
+[[package-appclient-1m]][[GSRFM00264]][[package-appclient]]
+
+== package-appclient
+
+Packs the application client container libraries and jar files
+
+[[sthref2387]]
+
+=== Synopsis
+
+[source]
+----
+package-appclient
+----
+
+[[sthref2388]]
+
+=== Description
+
+Use the `package-appclient` command to pack the application client
+container libraries and jar files into an `appclient.jar` file, which is
+created in the as-install``/lib`` directory on the machine on which
+{productName} is installed. The `appclient.jar` file provides an
+application client container package targeted at remote hosts that do
+not contain a server installation.
+
+After copying the `appclient.jar` file to a remote location, unjar or
+unzip it to get a set of libraries and jar files in the `appclient`
+directory under the current directory.
+
+After unjarring on the client machine, modify
+`appclient/glassfish/config/asenv.conf` (`asenv.bat` for Windows) as follows:
+
+* set `AS_WEBSERVICES_LIB` to path-to-appclient`/appclient/lib`
+* set `AS_IMQ_LIB` to path-to-appclient`/appclient/mq/lib`
+* set `AS_INSTALL` to path-to-appclient``/appclient``
+* set `AS_JAVA` to your JDK 7 or JRE 7 home directory
+* set `AS_ACC_CONFIG` to
+path-to-appclient``/appclient/glassfish/domains/domain1/config/sun-acc.xml``
+
+Modify `appclient/glassfish/domains/domain1/config/sun-acc.xml` as follows:
+
+* Ensure the `DOCTYPE` file references
+  path-to-appclient``/appclient/glassfish/lib/dtds``
+* Ensure that `target-server` address attribute references the server machine.
+* Ensure that `target-server` port attribute references the ORB port on
+  the remote machine.
+* Ensure that `log-service` references a log file; if the user wants to
+  put log messages to a log file.
+
+To use the newly installed application client container, you must do the
+following:
+
+* Obtain the application client files for your target application,
+  including the generated yourAppClient.jar file.
+* Execute the `appclient` utility: ``appclient -``client yourAppClient.jar
+
+[[sthref2389]]
+
+=== Attributes
+
+See
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
+for descriptions of the following attributes:
+
+[width="100%",cols="50%,50%",options="header",]
+|===
+|ATTRIBUTE TYPE |ATTRIBUTE VALUE
+|Interface Stability |Unstable
+|===
+
+
+[[sthref2390]]
+
+=== See Also
+
+link:appclient.html#appclient-1m[`appclient`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/passwords.adoc b/docs/reference-manual/src/main/asciidoc/passwords.adoc
new file mode 100644
index 0000000..8613979
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/passwords.adoc
@@ -0,0 +1,38 @@
+type=page
+status=published
+title=passwords
+next=resource.html
+prev=monitoring.html
+~~~~~~
+
+= passwords
+
+[[passwords-5asc]][[GSRFM00272]][[passwords]]
+
+== passwords
+
+Securing and managing {productName}
+
+[[sthref2408]]
+
+=== Description
+
+An administrator of {productName} manages one or more domains, each
+of which can have distinct administrative credentials. By managing a
+domain, an administrator effectively manages various resources like
+server instances, server clusters, libraries etc. that are required by
+the enterprise Java applications.
+
+[[sthref2409]]
+
+=== See Also
+
+link:change-admin-password.html#change-admin-password-1[`change-admin-password`(1)],
+link:change-master-password.html#change-master-password-1[`change-master-password`(1)],
+link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
+link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
+link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)]
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/ping-connection-pool.adoc b/docs/reference-manual/src/main/asciidoc/ping-connection-pool.adoc
new file mode 100644
index 0000000..6dae88b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/ping-connection-pool.adoc
@@ -0,0 +1,123 @@
+type=page
+status=published
+title=ping-connection-pool
+next=ping-node-dcom.html
+prev=osgi-shell.html
+~~~~~~
+
+= ping-connection-pool
+
+[[ping-connection-pool-1]][[GSRFM00214]][[ping-connection-pool]]
+
+== ping-connection-pool
+
+Tests if a connection pool is usable
+
+[[sthref1926]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] ping-connection-pool [--help]
+pool_name
+[--appname application [--modulename module]
+----
+
+[[sthref1927]]
+
+=== Description
+
+The `ping-connection-pool` subcommand tests if an existing JDBC or
+connector connection pool is usable . For example, if you create a new
+JDBC connection pool for an application that is expected to be deployed
+later, the JDBC pool is tested with this subcommand before deploying the
+application.
+
+Before testing availability of a connection pool, you must create the
+connection pool with authentication and ensure that the server or
+database is started.
+
+This subcommand is supported in remote mode only.
+
+Application Scoped Resources
+
+The `ping-connection-pool` subcommand can target resources that are
+scoped to a specific application or module, as defined in the
+`glassfish-resources.xml` for the GlassFish domain.
+
+* To reference the `jndi-name` for an application scoped resource,
+perform the lookup using the `java:app` prefix.
+* To reference the `jndi-name` for a module scoped resource, perform the
+lookup using the `java:module` prefix.
+
+The `jndi-name` for application-scoped-resources or
+module-scoped-resources are specified using the format
+``java:app/``jdbc/myDataSource or
+``java:module/``jdbc/myModuleLevelDataSource.
+This naming scope is defined in the Jakarta EE 6 Specification
+(`http://download.oracle.com/javaee/6/api/`).
+
+[[sthref1928]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--appname`::
+  Name of the application in which the application scoped resource is
+  defined.
+`--modulename`::
+  Name of the module in which the module scoped resource is defined.
+
+[[sthref1929]]
+
+=== Operands
+
+pool_name::
+  Name of the connection pool to be reinitialized.
+
+[[sthref1930]]
+
+=== Examples
+
+[[GSRFM727]][[sthref1931]]
+
+==== Example 1   Contacting a Connection Pool
+
+This example tests to see if the connection pool named `DerbyPool` is
+usable.
+
+[source]
+----
+asadmin> ping-connection-pool DerbyPool
+Command ping-connection-pool executed successfully
+----
+
+[[sthref1932]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1933]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-connection-pool.html#create-connector-connection-pool-1[`create-connector-connection-pool`(1)],
+link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],
+link:delete-connector-connection-pool.html#delete-connector-connection-pool-1[`delete-connector-connection-pool`(1)],
+link:delete-jdbc-connection-pool.html#delete-jdbc-connection-pool-1[`delete-jdbc-connection-pool`(1)],
+link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
+link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/ping-node-dcom.adoc b/docs/reference-manual/src/main/asciidoc/ping-node-dcom.adoc
new file mode 100644
index 0000000..ce1f1fd
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/ping-node-dcom.adoc
@@ -0,0 +1,150 @@
+type=page
+status=published
+title=ping-node-dcom
+next=ping-node-ssh.html
+prev=ping-connection-pool.html
+~~~~~~
+
+= ping-node-dcom
+
+[[ping-node-dcom-1]][[GSRFM728]][[ping-node-dcom]]
+
+== ping-node-dcom
+
+Tests if a node that is enabled for communication over DCOM is usable
+
+[[sthref1934]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] ping-node-dcom [--help]
+[--validate={false|true}] node-name
+----
+
+[[sthref1935]]
+
+=== Description
+
+The `ping-node-dcom` subcommand tests if a node that is enabled for
+communication over the Distributed Component Object Model (DCOM) remote
+protocol is usable. The DCOM protocol is available only on Windows
+systems. This subcommand requires DCOM to be configured on the machine
+where the domain administration server (DAS) is running and on the
+machine where the node resides. You may run this command from any
+machine that can contact the DAS.
+
+If the node is usable, the subcommand displays a confirmation that the
+subcommand could connect to the node through DCOM. This confirmation
+includes the name of the host that the node represents.
+
+Optionally, the subcommand can also validate the node to determine if
+the link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility can run on the
+host that the node represents. To validate a node, the subcommand runs
+the link:version.html#version-1[`version`(1)] subcommand. If the node is
+valid, the subcommand displays the version that the `version` subcommand
+returns.
+
+The node that is specified as the operand of this subcommand must be
+enabled for communication over DCOM. If the node is not enabled for
+communication over DCOM, an error occurs. To determine whether a node is
+enabled for communication over DCOM, use the
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+
+
+[NOTE]
+====
+To test whether a node that is enabled for communication over secure
+shell (SSH) is usable, use the
+link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)] subcommand.
+====
+
+
+This subcommand is supported in remote mode only.
+
+[[sthref1936]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--validate`::
+  Specifies whether the subcommand validates the node.
+  Possible values are as follows:
+
+  `true`;;
+    The node is validated.
+  `false`;;
+    The node is not validated (default).
+
+[[sthref1937]]
+
+=== Operands
+
+node-name::
+  The name of the node to test. The node must be enabled for
+  communication over DCOM. Otherwise, an error occurs.
+
+[[sthref1938]]
+
+=== Examples
+
+[[GSRFM729]][[sthref1939]]
+
+==== Example 1   Testing if a DCOM-Enabled Node Is Usable
+
+This example tests if the DCOM-enabled node `wpmd2` is usable.
+
+[source]
+----
+asadmin> ping-node-dcom wpmdl2
+Successfully made DCOM connection to node wpmdl2 (wpmdl2.example.com)
+Command ping-node-dcom executed successfully.
+----
+
+[[GSRFM730]][[sthref1940]]
+
+==== Example 2   Validating a DCOM-Enabled Node
+
+This example validates the DCOM-enabled node `adc-node`.
+
+[source]
+----
+asadmin> ping-node-dcom --validate=true adc-node
+Successfully made DCOM connection to node adc-node (adc-node.example.com)
+GlassFish version found at C:\glassfish7:
+Using locally retrieved version string from version class.
+Version = Eclipse GlassFish 7.0.0 (build 18)
+Command version executed successfully.
+Command ping-node-dcom executed successfully.
+----
+
+[[sthref1941]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1942]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
+link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)],
+link:version.html#version-1[`version`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/ping-node-ssh.adoc b/docs/reference-manual/src/main/asciidoc/ping-node-ssh.adoc
new file mode 100644
index 0000000..7685efb
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/ping-node-ssh.adoc
@@ -0,0 +1,148 @@
+type=page
+status=published
+title=ping-node-ssh
+next=recover-transactions.html
+prev=ping-node-dcom.html
+~~~~~~
+
+= ping-node-ssh
+
+[[ping-node-ssh-1]][[GSRFM00215]][[ping-node-ssh]]
+
+== ping-node-ssh
+
+Tests if a node that is enabled for communication over SSH is usable
+
+[[sthref1943]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] ping-node-ssh [--help]
+[--validate={false|true}] node-name
+----
+
+[[sthref1944]]
+
+=== Description
+
+The `ping-node-ssh` subcommand tests if a node that is enabled for
+communication over secure shell (SSH) is usable. This subcommand
+requires secure shell (SSH) to be configured on the machine where the
+domain administration server (DAS) is running and on the machine where
+the node resides. You may run this command from any machine that can
+contact the DAS.
+
+If the node is usable, the subcommand displays a confirmation that the
+subcommand could connect to the node through SSH. This confirmation
+includes the name of the host that the node represents.
+
+Optionally, the subcommand can also validate the node to determine if
+the link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility can run on the
+host that the node represents. To validate a node, the subcommand runs
+the link:version.html#version-1[`version`(1)] subcommand. If the node is
+valid, the subcommand displays the version that the `version` subcommand
+returns.
+
+The node that is specified as the operand of this subcommand must be
+enabled for communication over SSH. If the node is not enabled for
+communication over SSH, an error occurs. To determine whether a node is
+enabled for communication over SSH, use the
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
+
+[NOTE]
+====
+To test whether a node that is enabled for communication over the
+Distributed Component Object Model (DCOM) remote protocol is usable, use
+the link:ping-node-dcom.html#ping-node-dcom-1[`ping-node-dcom`(1)]
+subcommand.
+====
+
+This subcommand is supported in remote mode only.
+
+[[sthref1945]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--validate`::
+  Specifies whether the subcommand validates the node.
+  Possible values are as follows:
+
+  `true`;;
+    The node is validated.
+  `false`;;
+    The node is not validated (default).
+
+[[sthref1946]]
+
+=== Operands
+
+node-name::
+  The name of the node to test. The node must be enabled for
+  communication over SSH. Otherwise, an error occurs.
+
+[[sthref1947]]
+
+=== Examples
+
+[[GSRFM731]][[sthref1948]]
+
+==== Example 1   Testing if an SSH-Enabled Node Is Usable
+
+This example tests if the SSH-enabled node `sj03-node` is usable.
+
+[source]
+----
+asadmin> ping-node-ssh sj03-node
+Successfully made SSH connection to node sj03-node (sj03.example.com)
+Command ping-node-ssh executed successfully.
+----
+
+[[GSRFM732]][[sthref1949]]
+
+==== Example 2   Validating an SSH-Enabled Node
+
+This example validates the SSH-enabled node `adc-node`.
+
+[source]
+----
+asadmin> ping-node-ssh --validate=true adc-node
+Successfully made SSH connection to node adcnode (adc.example.com)
+GlassFish version found at /export/glassfish7:
+Using locally retrieved version string from version class.
+Version = Eclipse GlassFish 7.0.0 (build 2021-12-10T19:08:14+0100)
+Command version executed successfully.
+Command ping-node-ssh executed successfully.
+----
+
+[[sthref1950]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1951]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:ping-node-dcom.html#ping-node-dcom-1[`ping-node-dcom`(1)],
+link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)],
+link:version.html#version-1[`version`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/preface.adoc b/docs/reference-manual/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..2da3a24
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/preface.adoc
@@ -0,0 +1,100 @@
+type=page
+status=published
+title=Preface
+next=manvol1.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSRFM441]][[sthref2]]
+
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+Both novice users and those familiar with {productName} can use online man pages to obtain information about the product
+and its features. A man page is intended to answer concisely the
+question "What does it do?" The man pages in general comprise a
+reference manual. They are not intended to be a tutorial.
+
+[[GSRFM442]][[sthref3]]
+
+
+[[overview]]
+=== Overview
+
+The following contains a brief description of each man page section and
+the information it references:
+
+* Section 1 describes, in alphabetical order, the `asadmin` utility subcommands.
+* Section 1M describes {productName} utility commands.
+* Section 5ASC describes concepts that are related to {productName} administration.
+
+Below is a generic format for man pages. The man pages of each manual
+section generally follow this order, but include only needed headings.
+For example, if there are no bugs to report, there is no Bugs section.
+
+Name::
+  This section gives the names of the commands or functions documented,
+  followed by a brief description of what they do.
+Synopsis::
+  This section shows the syntax of commands or functions.
+  The following special characters are used in this section:
+
+  [ ];;
+    Brackets. The option or argument enclosed in these brackets is
+    optional. If the brackets are omitted, the argument must be
+    specified.
+  |;;
+    Separator. Only one of the arguments separated by this character can
+    be specified at a time.
+
+Description::
+  This section defines the functionality and behavior of the service.
+  Thus it describes concisely what the command does. It does not discuss
+  options or cite examples.
+Options::
+  This section lists the command options with a concise summary of what
+  each option does. The options are listed literally and in the order
+  they appear in the Synopsis section. Possible arguments to options are
+  discussed under the option, and where appropriate, default values are
+  supplied.
+Operands::
+  This section lists the command operands and describes how they affect
+  the actions of the command.
+Examples::
+  This section provides examples of usage or of how to use a command or
+  function. Wherever possible a complete example including command-line
+  entry and machine response is shown. Examples are followed by
+  explanations, variable substitution rules, or returned values. Most
+  examples illustrate concepts from the Synopsis, Description, Options,
+  and Usage sections.
+Exit Status::
+  This section lists the values the command returns to the calling
+  program or shell and the conditions that cause these values to be
+  returned. Usually, zero is returned for successful completion, and
+  values other than zero for various error conditions.
+See Also::
+  This section lists references to other man pages, in-house
+  documentation, and outside publications.
+Notes::
+  This section lists additional information that does not belong
+  anywhere else on the page. It takes the form of an aside to the user,
+  covering points of special interest. Critical information is never
+  covered here.
+Bugs::
+  This section describes known bugs and, wherever possible, suggests workarounds.
+
diff --git a/docs/reference-manual/src/main/asciidoc/recover-transactions.adoc b/docs/reference-manual/src/main/asciidoc/recover-transactions.adoc
new file mode 100644
index 0000000..ea8ef64
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/recover-transactions.adoc
@@ -0,0 +1,142 @@
+type=page
+status=published
+title=recover-transactions
+next=redeploy.html
+prev=ping-node-ssh.html
+~~~~~~
+
+= recover-transactions
+
+[[recover-transactions-1]][[GSRFM00216]][[recover-transactions]]
+
+== recover-transactions
+
+Manually recovers pending transactions
+
+[[sthref1952]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] recover-transactions [--help]
+[--transactionlogdir transaction_log_dir]
+[--target target_server_name] server_name
+----
+
+[[sthref1953]]
+
+=== Description
+
+The `recover-transactions` subcommand manually recovers pending
+transactions.
+
+For an installation of multiple server instances, you can run the
+`recover-transactions` subcommand from a surviving server instance to
+recover transactions after a server failure. To use this subcommand in
+this way, the following conditions must be met:
+
+* Delegated transaction recovery is disabled.
+* Transaction logs are stored on a shared file system or in a database
+that is accessible to all server instances.
+
+For a stand-alone server, do not use this subcommand to recover
+transactions after a server failure. For a stand-alone server, the
+`recover-transactions` subcommand can recover transactions only when a
+resource fails, but the server is still running. If a stand-alone server
+fails, only the full startup recovery process can recover transactions
+that were pending when the server failed.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1954]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--transactionlogdir`::
+  The location of the transaction logs for a server for which
+  transaction recovery is requested. This option applies only if
+  transaction logs are stored on a shared file system.
+`--target`::
+  The target server that performs the recovery for the server that is
+  specified by the server_name operand. The target server should be
+  running.
+`--destination`::
+  This option is deprecated. It works exactly as the `--target` option
+  does.
+
+[[sthref1955]]
+
+=== Operands
+
+server_name::
+  For a stand-alone server, the value of this operand is typically
+  `server`. Transactions are recovered only if a resource fails, but the
+  server is still running.
+
++
+For an installation of multiple server instances, the value of this
+  operand is the name of the server for which the recovery is required.
+  The in-flight transactions on this server will be recovered. If this
+  server is running, recovery is performed by the same server. In this
+  situation, the `--transactionlogdir` and `--target` options should be
+  omitted. If the server is not running, the `--target` option is
+  required, and the `--transactionlogdir` option is also required if
+  transaction logs are stored on a shared file system.
+
+[[sthref1956]]
+
+=== Examples
+
+[[GSRFM733]][[sthref1957]]
+
+==== Example 1   Recovering transactions on a running server
+
+[source]
+----
+% asadmin recover-transactions server1
+Transaction recovered.
+----
+
+[[GSRFM734]][[sthref1958]]
+
+==== Example 2   Recovering transactions for a server that is not running
+
+[source]
+----
+% asadmin recover-transactions --transactionlogdir /logs/tx --target server1 server2
+Transaction recovered.
+----
+
+[[sthref1959]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1960]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:freeze-transaction-service.html#freeze-transaction-service-1[`freeze-transaction-service`(1)],
+link:rollback-transaction.html#rollback-transaction-1[`rollback-transaction`(1)],
+link:unfreeze-transaction-service.html#unfreeze-transaction-service-1[`unfreeze-transaction-service`(1)]
+
+"link:administration-guide/transactions.html#GSADG00022[Administering Transactions]"
+in {productName} Administration Guide
+
+"https://eclipse-ee4j.github.io/jakartaee-tutorial/#transactions[Transactions]"
+in The Jakarta EE Tutorial
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/redeploy.adoc b/docs/reference-manual/src/main/asciidoc/redeploy.adoc
new file mode 100644
index 0000000..8e3f32b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/redeploy.adoc
@@ -0,0 +1,466 @@
+type=page
+status=published
+title=redeploy
+next=remove-library.html
+prev=recover-transactions.html
+~~~~~~
+
+= redeploy
+
+[[redeploy-1]][[GSRFM00217]][[redeploy]]
+
+== redeploy
+
+Redeploys the specified component
+
+[[sthref1961]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] redeploy [--help]
+--name component_name
+[--upload={true|false}]
+[--retrieve local_dirpath]
+[--dbvendorname dbvendorname]
+[--createtables={true|false}|--dropandcreatetables={true|false}]
+[--uniquetablenames={true|false}]
+[--deploymentplan deployment_plan]
+[--altdd alternate_deploymentdescriptor]
+[--runtimealtdd runtime_alternate_deploymentdescriptor]
+[--deploymentorder deployment_order]
+[--enabled={true|false}]
+[--generatermistubs={false|true}]
+[--contextroot context_root]
+[--precompilejsp={true|false}]
+[--verify={false|true}]
+[--virtualservers virtual_servers]
+[--availabilityenabled={false|true}]
+[--asyncreplication={true|false}]
+[--lbenabled={true|false}]
+[--keepstate={false|true}]
+[--libraries jar_file[,jar_file]*]
+[--target target]
+[--type pkg-type]
+[--properties(name=value)[:name=value]*]
+[file_archive|filepath]
+----
+
+[[sthref1962]]
+
+=== Description
+
+The `redeploy` subcommand redeploys an enterprise application, web
+application, module based on the Enterprise JavaBeans (EJB)
+specification (EJB module), connector module, or application client
+module that is already deployed or already exists. The `redeploy`
+subcommand preserves the settings and other options with which the
+application was originally deployed. The application must already be
+deployed. Otherwise, an error occurs.
+
+This subcommand is supported in remote mode only.
+
+[[sthref1963]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--virtualservers`::
+  One or more virtual server IDs. Multiple IDs are separated by commas.
+`--contextroot`::
+  Valid only if the archive is a web module. It is ignored for other
+  archive types; it will be the value specified by default-context-path
+  in web.xml, if specified; defaults to filename without extension.
+`--precompilejsp`::
+  By default this option does not allow the JSP to be precompiled during
+  deployment. Instead, JSPs are compiled during runtime. Default is
+  `false`.
+`--verify`::
+  If set to true and the required verifier packages are installed from
+  the Update Tool, the syntax and semantics of the deployment descriptor
+  is verified. Default is `false`.
+`--name`::
+  Name of the deployable component. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. For more information about module and application
+  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
+  {productName} Application Deployment Guide.
+`--upload`::
+  Specifies whether the subcommand uploads the file to the DAS. In most
+  situations, this option can be omitted.
+  Valid values are as follows:
++
+--
+  `false`;;
+    The subcommand does not upload the file and attempts to access the
+    file through the specified file name. If the DAS cannot access the
+    file, the subcommand fails. +
+    For example, the DAS might be running as a different user than the
+    administration user and does not have read access to the file. In
+    this situation, the subcommand fails if the `--upload` option is `false`.
+  `true`;;
+    The subcommand uploads the file to the DAS over the network
+    connection.
+--
++
+The default value depends on whether the DAS is on the host where the
+  subcommand is run or is on a remote host.
++
+--
+  * If the DAS is on the host where the subcommand is run, the default
+    is `false`.
+  * If the DAS is on a remote host, the default is `true`.
++
+--
+If a directory filepath is specified, this option is ignored.
+`--retrieve`::
+  Retrieves the client stub JAR file from the server machine to the
+  local directory.
+`--dbvendorname`::
+  Specifies the name of the database vendor for which tables are
+  created. Supported values include `db2`, `mssql`, `oracle`, `derby`,
+  `javadb`, `postgresql`, and `sybase`, case-insensitive. If not
+  specified, the value of the `database-vendor-name` attribute in
+  `glassfish-ejb-jar.xml` is used. If no value is specified, a
+  connection is made to the resource specified by the `jndi-name`
+  subelement of the `cmp-resource` element in the
+  `glassfish-ejb-jar.xml` file, and the database vendor name is read. If
+  the connection cannot be established, or if the value is not
+  recognized, SQL-92 compliance is presumed.
+`--createtables`::
+  If specified as true, creates tables at deployment of an application
+  with unmapped CMP beans. If specified as false, tables are not
+  created. If not specified, the value of the `create-tables-at-deploy`
+  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
+  file determines whether or not tables are created. No unique
+  constraints are created for the tables.
+`--dropandcreatetables`::
+  If specified as true when the component is redeployed, the tables
+  created by the previous deployment are dropped before creating the new
+  tables. Applies to deployed applications with unmapped CMP beans. If
+  specified as false, tables are neither dropped nor created. If not
+  specified, the tables are dropped if the `drop-tables-at-undeploy`
+  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
+  file is set to true, and the new tables are created if the
+  `create-tables-at-deploy` entry in the `cmp-resource` element of the
+  `glassfish-ejb-jar.xml` file is set to true.
+`--uniquetablenames`::
+  Guarantees unique table names for all the beans and results in a hash
+  code added to the table names. This is useful if you have an
+  application with case-sensitive bean names. Applies to applications
+  with unmapped CMP beans.
+`--deploymentplan`::
+  Deploys the deployment plan, which is a JAR file that contains
+  {productName} descriptors. Specify this option when deploying a
+  pure EAR file. A pure EAR file is an EAR without {productName}
+  descriptors.
+`--altdd`::
+  Deploys the application using a Jakarta EE standard deployment descriptor
+  that resides outside of the application archive. Specify an absolute
+  path or a relative path to the alternate deployment descriptor file.
+  The alternate deployment descriptor overrides the top-level deployment
+  descriptor packaged in the archive. For example, for an EAR, the
+  `--altdd` option overrides `application.xml`. For a standalone module,
+  the `--altdd` option overrides the top-level module descriptor such as
+  `web.xml`.
+`--runtimealtdd`::
+  Deploys the application using a {productName} runtime deployment
+  descriptor that resides outside of the application archive. Specify an
+  absolute path or a relative path to the alternate deployment
+  descriptor file. The alternate deployment descriptor overrides the
+  top-level deployment descriptor packaged in the archive. For example,
+  for an EAR, the `--runtimealtdd` option overrides
+  `glassfish-application.xml`. For a standalone module, the
+  `--runtimealtdd` option overrides the top-level module descriptor such
+  as `glassfish-web.xml`. Applies to {productName} deployment
+  descriptors only (`glassfish-\*.xml`); the name of the alternate
+  deployment descriptor file must begin with `glassfish-`. Does not
+  apply to `sun-*.xml` deployment descriptors, which are deprecated.
+`--deploymentorder`::
+  Specifies the deployment order of the application. This is useful if
+  the application has dependencies and must be loaded in a certain order
+  at server startup. The deployment order is specified as an integer.
+  The default value is 100. Applications with lower numbers are loaded
+  before applications with higher numbers. For example, an application
+  with a deployment order of 102 is loaded before an application with a
+  deployment order of 110. If a deployment order is not specified, the
+  default value of 100 is assigned. If two applications have the same
+  deployment order, the first application to be deployed is the first
+  application to be loaded at server startup. +
+  The deployment order is typically specified when the application is
+  first deployed but can also be specified or changed after initial
+  deployment using the `set` subcommand. You can view the deployment
+  order of an application using the `get` subcommand.
+`--enabled`::
+  Allows users to access the application. If set to `false`, users will
+  not be able to access the application. This option enables the
+  application on the specified target instance or cluster. If you deploy
+  to the target `domain`, this option is ignored, since deploying to the
+  domain doesn't deploy to a specific instance or cluster. The default
+  is `true`.
+`--generatermistubs`::
+  If set to `true`, static RMI-IIOP stubs are generated and put into the
+  `client.jar`. If set to `false`, the stubs are not generated. Default
+  is `false`.
+`--availabilityenabled`::
+  This option controls whether high-availability is enabled for web
+  sessions and for stateful session bean (SFSB) checkpointing and
+  potentially passivation. If set to false (default) all web session
+  saving and SFSB checkpointing is disabled for the specified
+  application, web application, or EJB module. If set to true, the
+  specified application or module is enabled for high-availability. Set
+  this option to true only if high availability is configured and
+  enabled at higher levels, such as the server and container levels.
+`--asyncreplication`::
+  This option controls whether web session and SFSB states for which
+  high availability is enabled are first buffered and then replicated
+  using a separate asynchronous thread. If set to true (default),
+  performance is improved but availability is reduced. If the instance
+  where states are buffered but not yet replicated fails, the states are
+  lost. If set to false, performance is reduced but availability is
+  guaranteed. States are not buffered but immediately transmitted to
+  other instances in the cluster.
+`--lbenabled`::
+  This option controls whether the deployed application is available for
+  load balancing. The default is true.
+`--keepstate`::
+  This option controls whether web sessions, SFSB instances, and
+  persistently created EJB timers are retained between redeployments. +
+  The default is false. This option is supported only on the default
+  server instance, named `server`. It is not supported and ignored for
+  any other target. +
+  Some changes to an application between redeployments prevent this
+  feature from working properly. For example, do not change the set of
+  instance variables in the SFSB bean class. +
+  For web applications, this feature is applicable only if in the
+  `glassfish-web-app.xml` file the `persistence-type` attribute of the
+  `session-manager` element is `file`. +
+  For stateful session bean instances, the persistence type without high
+  availability is set in the server (the `sfsb-persistence-type`
+  attribute) and must be set to `file`, which is the default and
+  recommended value. +
+  If any active web session, SFSB instance, or EJB timer fails to be
+  preserved or restored, none of these will be available when the
+  redeployment is complete. However, the redeployment continues and a
+  warning is logged. +
+  To preserve active state data, {productName} serializes the data
+  and saves it in memory. To restore the data, the class loader of the
+  newly redeployed application deserializes the data that was previously
+  saved.
+`--libraries`::
+  A comma-separated list of library JAR files. Specify the library JAR
+  files by their relative or absolute paths. Specify relative paths
+  relative to domain-dir`/lib/applibs`. The libraries are made available
+  to the application in the order specified.
+`--target`::
+  Specifies the target to which you are deploying. Valid values are:
+
+  `server`;;
+    Deploys the component to the default server instance `server` and is
+    the default value.
+  `domain`;;
+    Deploys the component to the domain. If `domain` is the target for
+    an initial deployment, the application is deployed to the domain,
+    but no server instances or clusters reference the application. If
+    `domain` is the target for a redeployment, and dynamic
+    reconfiguration is enabled for the clusters or server instances that
+    reference the application, the referencing clusters or server
+    instances automatically get the new version of the application. If
+    redeploying, and dynamic configuration is disabled, the referencing
+    clusters or server instances do not get the new version of the
+    application until the clustered or standalone server instances are
+    restarted.
+  cluster_name;;
+    Deploys the component to every server instance in the cluster.
+  instance_name;;
+    Deploys the component to a particular stand-alone server instance.
+
+`--type`::
+  The packaging archive type of the component that is being deployed.
+  Possible values are as follows:
+
+  `car`;;
+    The component is packaged as a CAR file.
+  `ear`;;
+    The component is packaged as an EAR file.
+  `ejb`;;
+    The component is an EJB packaged as a JAR file.
+  `osgi`;;
+    The component is packaged as an OSGi bundle.
+  `rar`;;
+    The component is packaged as a RAR file.
+  `war`;;
+    The component is packaged as a WAR file.
+
+`--properties` or `--property`::
+  Optional keyword-value pairs that specify additional properties for
+  the deployment. The available properties are determined by the
+  implementation of the component that is being deployed or redeployed.
+  The `--properties` option and the `--property` option are equivalent.
+  You can use either option regardless of the number of properties that
+  you specify. +
+  You can specify the following properties for a deployment:
+
+  `jar-signing-alias`;;
+    Specifies the alias for the security certificate with which the
+    application client container JAR file is signed. Java Web Start will
+    not run code that requires elevated permissions unless it resides in
+    a JAR file signed with a certificate that the user's system trusts.
+    For your convenience, {productName} signs the JAR file
+    automatically using the certificate with this alias from the
+    domain's keystore. Java Web Start then asks the user whether to
+    trust the code and displays the {productName} certificate
+    information. To sign this JAR file with a different certificate, add
+    the certificate to the domain keystore, then use this property. For
+    example, you can use a certificate from a trusted authority, which
+    avoids the Java Web Start prompt, or from your own company, which
+    users know they can trust. Default is `s1as`, the alias for the
+    self-signed certificate created for every domain.
+  `java-web-start-enabled`;;
+    Specifies whether Java Web Start access is permitted for an
+    application client module. Default is true.
+  `compatibility`;;
+    Specifies the {productName} release with which to be backward
+    compatible in terms of JAR visibility requirements for applications.
+    The only allowed value is `v2`, which refers to Sun Java System
+    Application Server version 2 or Sun Java System Application Server
+    version 9.1 or 9.1.1. Beginning in Jakarta EE 6, the Jakarta EE platform
+    specification imposed stricter requirements than Jakarta EE 5 did on
+    which JAR files can be visible to various modules within an EAR
+    file. In particular, application clients must not have access to EJB
+    JAR files or other JAR files in the EAR file unless references use
+    the standard Java SE mechanisms (extensions, for example) or the
+    Jakarta EE library-directory mechanism. Setting this property to `v2`
+    removes these restrictions.
+  `keepSessions={false|true}`;;
+    Superseded by the `--keepstate` option. +
+    This property can by used to specify whether active sessions of the
+    application that is being redeployed are preserved and then restored
+    when the redeployment is complete. Applies to HTTP sessions in a web
+    container. Default is `false`.:
++
+--
+    `false`::
+      Active sessions of the application are not preserved and restored
+      (default).
+    `true`::
+      Active sessions of the application are preserved and restored. +
+      If any active session of the application fails to be preserved or
+      restored, none of the sessions will be available when the
+      redeployment is complete. However, the redeployment continues and
+      a warning is logged. +
+      To preserve active sessions, {productName} serializes the
+      sessions and saves them in memory. To restore the sessions, the
+      class loader of the newly redeployed application deserializes any
+      sessions that were previously saved.
+--
+  `preserveAppScopedResources`;;
+    If set to `true`, preserves any application-scoped resources and
+    restores them during redeployment. Default is `false`.
+
++
+Other available properties are determined by the implementation of the
+  component that is being redeployed. +
+  For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
+  subcommand accepts properties arguments to wrap a WAR file as a WAB
+  (Web Application Bundle) at the time of deployment. The subcommand
+  looks for a key named `UriScheme` and, if present, uses the key as a
+  URL stream handler to decorate the input stream. Other properties are
+  used in the decoration process. For example, the {productName}
+  OSGi web container registers a URL stream handler named `webbundle`,
+  which is used to wrap a plain WAR file as a WAB. For more information
+  about usage, see the related example in the
+  link:deploy.html#deploy-1[`deploy`(1)] help page.
+
+[[sthref1964]]
+
+=== Operands
+
+file_archive|filepath::
+  The operand can specify a directory or an archive file.
+  The path to the archive that contains the application that is being
+  redeployed. This path can be a relative path or an absolute path. +
+  The archive can be in either of the following formats:
+  * An archive file, for example, `/export/JEE_apps/hello.war`.
+    If the `--upload` option is set to `true`, this is the path to the
+    deployable file on the local client machine. +
+    If the `--upload` option is set to `false`, this is the absolute
+    path to the file on the server machine.
+  * A directory that contains the exploded format of the deployable
+    archive. This is the absolute path to the directory on the server machine. +
+    If you specify a directory, the `--upload` option is ignored.
+
++
+Whether this operand is required depends on how the application was
+  originally deployed:
+  * If the application was originally deployed from a file, the
+    archive-path operand is required. The operand must specify an archive file.
+  * If the application was originally deployed from a directory, the
+    archive-path operand is optional.
+
+[[sthref1965]]
+
+=== Examples
+
+[[GSRFM735]][[sthref1966]]
+
+==== Example 1   Redeploying a Web Application From a File
+
+This example redeploys the web application `hello` from the `hello.war`
+file in the current working directory. The application was originally
+deployed from a file. Active sessions of the application are to be
+preserved and then restored when the redeployment is complete.
+
+[source]
+----
+asadmin> redeploy --name hello --properties keepSessions=true hello.war
+Application deployed successfully with name hello.
+Command redeploy executed successfully
+----
+
+[[GSRFM736]][[sthref1967]]
+
+==== Example 2   Redeploying a Web Application From a Directory
+
+This example redeploys the web application `hellodir`. The application
+was originally deployed from a directory.
+
+[source]
+----
+asadmin> redeploy --name hellodir
+Application deployed successfully with name hellodir.
+Command redeploy executed successfully
+----
+
+[[sthref1968]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1969]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:deploy.html#deploy-1[`deploy`(1)], link:get.html#get-1[`get`(1)],
+link:list-components.html#list-components-1[`list-components`(1)],
+link:undeploy.html#undeploy-1[`undeploy`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/remove-library.adoc b/docs/reference-manual/src/main/asciidoc/remove-library.adoc
new file mode 100644
index 0000000..9bc176b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/remove-library.adoc
@@ -0,0 +1,128 @@
+type=page
+status=published
+title=remove-library
+next=restart-domain.html
+prev=redeploy.html
+~~~~~~
+
+= remove-library
+
+[[remove-library-1]][[GSRFM00820]][[remove-library]]
+
+== remove-library
+
+Removes one or more library JAR files from {productName}
+
+[[sthref1970]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] remove-library [--help]
+[--type={common|ext|app}]
+library-name [library-name ... ]
+----
+
+[[sthref1971]]
+
+=== Description
+
+The `remove-library` subcommand removes one or more library JAR files
+from {productName}.
+
+The `--type` option specifies the library type and the {productName}
+directory from which the library is removed.
+
+The library-name operand is the name of the JAR file that contains the
+library to be removed. To specify multiple libraries, specify multiple
+names separated by spaces.
+
+[NOTE]
+====
+The library archive file is removed from the DAS. For common and
+extension libraries, you must restart the DAS so the library removals
+are picked up by the server runtime. To remove the libraries from other
+server instances, synchronize the instances with the DAS by restarting
+them.
+
+This command is not supported on the Windows operating system.
+====
+
+This subcommand is supported in remote mode only.
+
+[[sthref1972]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--type`::
+  Specifies the library type and the {productName} directory from
+  which the library is removed. Valid values are as follows:
+
+  `common`;;
+    Removes the library files from the Common class loader directory,
+    domain-dir``/lib``. This is the default.
+  `ext`;;
+    Removes the library files from the Java optional package directory,
+    domain-dir`/lib/ext`.
+  `app`;;
+    Removes the library files from the application-specific class loader
+    directory, domain-dir`/lib/applibs`.
+
++
+For more information about these directories, see
+  "link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in {productName} Application Development Guide.
+
+[[sthref1973]]
+
+=== Operands
+
+library-name::
+  The names of the JAR files that contain the libraries that are to be
+  removed.
+
+[[sthref1974]]
+
+=== Examples
+
+[[GSRFM832]][[sthref1975]]
+
+==== Example 1   Removing Libraries
+
+This example removes the library in the archive file `mylib.jar` from
+the application-specific class loader directory on the default server
+instance.
+
+[source]
+----
+asadmin> remove-library --type app mylib.jar
+Command remove-library executed successfully.
+----
+
+[[sthref1976]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1977]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:add-library.html#add-library-1[`add-library`(1)],
+link:list-libraries.html#list-libraries-1[`list-libraries`(1)]
+
+"link:application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in {productName} Application Development Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/resource.adoc b/docs/reference-manual/src/main/asciidoc/resource.adoc
new file mode 100644
index 0000000..fd6fbe3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/resource.adoc
@@ -0,0 +1,28 @@
+type=page
+status=published
+title=resource
+next=security.html
+prev=passwords.html
+~~~~~~
+
+= resource
+
+[[resource-5asc]][[GSRFM00273]][[resource]]
+
+== resource
+
+Provide connectivity to various types of EIS.
+
+[[sthref2410]]
+
+=== Description
+
+{productName} provides support for JDBC, JMS, and JNDI resources.
+
+[[sthref2411]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/restart-domain.adoc b/docs/reference-manual/src/main/asciidoc/restart-domain.adoc
new file mode 100644
index 0000000..9235ed2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/restart-domain.adoc
@@ -0,0 +1,151 @@
+type=page
+status=published
+title=restart-domain
+next=restart-instance.html
+prev=remove-library.html
+~~~~~~
+
+= restart-domain
+
+[[restart-domain-1]][[GSRFM00218]][[restart-domain]]
+
+== restart-domain
+
+Restarts the DAS of the specified domain
+
+[[sthref1978]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] restart-domain [--help]
+[--debug ={true|false}]
+[--domaindir domaindir]
+[--force={true|false}] [--kill={false|true}]
+[domain-name]
+----
+
+[[sthref1979]]
+
+=== Description
+
+The `restart-domain` subcommand stops and then restarts the domain
+administration server (DAS) of the specified domain. If a domain is not
+specified, the default domain is assumed. If the domains directory
+contains two or more domains, the domain-name operand must be specified.
+If the DAS is not already running, the subcommand attempts to start it.
+
+The `restart-domain` subcommand does not exit until the subcommand has
+verified that the domain has been stopped and restarted.
+
+This subcommand is supported in local or remote mode. If you specify a
+host name, the subcommand assumes you are operating in remote mode,
+which means you must correctly authenticate to the remote server. In
+local mode, you normally do not need to authenticate to the server as
+long as you are running the subcommand as the same user who started the
+server.
+
+[[sthref1980]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--debug`::
+  Specifies whether the domain is restarted with
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture (JPDA)]
+  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+  debugging enabled.
+  Possible values are as follows:
+
+  `true`;;
+    The domain is restarted with JPDA debugging enabled and the port
+    number for JPDA debugging is displayed.
+  `false`;;
+    The domain is restarted with JPDA debugging disabled (default).
+
++
+The default is the current setting of this option for the domain that
+  is being restarted.
+`--domaindir`::
+  The domain root directory, which contains the directory of the domain
+  that is to be restarted. If specified, the path must be accessible in
+  the file system. The default location of the domain root directory is
+  as-install``/domains``.
+`--force`::
+  Specifies whether the domain is forcibly stopped immediately before it
+  is restarted. Possible values are as follows:
+
+  `true`;;
+    The domain is forcibly stopped immediately (default).
+  `false`;;
+    The subcommand waits until all threads that are associated with the
+    domain are exited before stopping the domain.
+
+`--kill`::
+  Specifies whether the domain is killed before it is restarted by using
+  functionality of the operating system to terminate the domain process.
+  Possible values are as follows:
+
+  `false`;;
+    The domain is not killed. The subcommand uses functionality of the
+    Java platform to terminate the domain process (default).
+  `true`;;
+    The domain is killed. The subcommand uses functionality of the
+    operating system to terminate the domain process.
+
+[[sthref1981]]
+
+=== Operands
+
+domain-name::
+  The name of the domain you want to restart. Default is the name
+  specified during installation, usually `domain1`.
+
+[[sthref1982]]
+
+=== Examples
+
+[[GSRFM738]][[sthref1983]]
+
+==== Example 1   Restarting a Domain
+
+This example restarts `mydomain4` in the default domains directory.
+
+[source]
+----
+asadmin> restart-domain mydomain4
+Successfully restarted the domain
+Command restart-domain executed successfully.
+----
+
+[[sthref1984]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref1985]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
+link:list-domains.html#list-domains-1[`list-domains`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
+
+Java Platform Debugger Architecture (JPDA)
+(`http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/restart-instance.adoc b/docs/reference-manual/src/main/asciidoc/restart-instance.adoc
new file mode 100644
index 0000000..ff88b81
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/restart-instance.adoc
@@ -0,0 +1,156 @@
+type=page
+status=published
+title=restart-instance
+next=restart-local-instance.html
+prev=restart-domain.html
+~~~~~~
+
+= restart-instance
+
+[[restart-instance-1]][[GSRFM00219]][[restart-instance]]
+
+== restart-instance
+
+Restarts a running {productName} instance
+
+[[sthref1986]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] restart-instance [--help]
+[--debug={false|true}] instance-name
+----
+
+[[sthref1987]]
+
+=== Description
+
+The `restart-instance` subcommand restarts a running {productName}
+instance. This subcommand requires secure shell (SSH) to be configured
+on the machine where the domain administration server (DAS) is running
+and on the machine where the instance resides.
+
+[NOTE]
+====
+SSH is not required if the instance resides on a node of type `CONFIG`
+that represents the local host. A node of type `CONFIG` is not enabled
+for communication over SSH.
+====
+
+You may run this subcommand from any machine that can contact the DAS.
+
+The subcommand can restart any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can restart
+an instance that was created by using the
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
+subcommand.
+
+When this subcommand restarts an instance, the DAS synchronizes the
+instance with changes since the last synchronization as follows:
+
+* For the `config` directory, the DAS synchronizes the instance with all changes.
+* For the `applications` directory and `docroot` directory, only a
+change to a top-level subdirectory causes the DAS to synchronize all
+files under that subdirectory.
++
+If a file below a top level subdirectory is changed without a change to
+a file in the top level subdirectory, full synchronization is required.
+In normal operation, files below the top level subdirectories of these
+directories are not changed. If an application is deployed and
+undeployed, full synchronization is not necessary to update the instance
+with the change.
+
+If different synchronization behavior is required, the instance must be
+stopped and restarted by using following sequence of subcommands:
+
+1. link:stop-instance.html#stop-instance-1[`stop-instance`(1)]
+2. link:start-instance.html#start-instance-1[`start-instance`(1)]
+
+This subcommand is supported in remote mode only.
+
+[[sthref1988]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--debug`::
+  Specifies whether the instance is restarted with
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture
+  (JPDA)](http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+  debugging enabled. Possible values are as follows:
+
+  `true`;;
+    The instance is restarted with JPDA debugging enabled and the port
+    number for JPDA debugging is displayed.
+  `false`;;
+    The instance is restarted with JPDA debugging disabled.
+
++
+The default is the current setting of this option for the instance
+  that is being restarted.
+
+[[sthref1989]]
+
+=== Operands
+
+instance-name::
+  The name of the {productName} instance to restart. If the instance
+  is not running, the subcommand displays a warning message and attempts
+  to start the instance.
+
+[[sthref1990]]
+
+=== Examples
+
+[[GSRFM739]][[sthref1991]]
+
+==== Example 1   Restarting a {productName} Instance
+
+This example restarts the {productName} instance `pmdsa1`.
+
+[source]
+----
+asadmin> restart-instance pmdsa1
+Instance pmdsa1 was restarted.
+
+Command restart-instance executed successfully.
+----
+
+[[sthref1992]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref1993]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:restart-local-instance.html#restart-local-instance-1[`restart-local-instance`(1)],
+link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+
+Java Platform Debugger Architecture (JPDA)
+(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/restart-local-instance.adoc b/docs/reference-manual/src/main/asciidoc/restart-local-instance.adoc
new file mode 100644
index 0000000..146dcf0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/restart-local-instance.adoc
@@ -0,0 +1,186 @@
+type=page
+status=published
+title=restart-local-instance
+next=restore-domain.html
+prev=restart-instance.html
+~~~~~~
+
+= restart-local-instance
+
+[[restart-local-instance-1]][[GSRFM00220]][[restart-local-instance]]
+
+== restart-local-instance
+
+Restarts a running {productName} instance on the host where the
+subcommand is run
+
+[[sthref1994]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] restart-local-instance [--help]
+[--nodedir nodedir] [--node node]
+[--debug={false|true}]
+[--force={true|false}] [--kill={false|true}]
+[instance-name]
+----
+
+[[sthref1995]]
+
+=== Description
+
+The `restart-local-instance` subcommand restarts a {productName}
+instance on the host where the subcommand is run. This subcommand does
+not require secure shell (SSH) to be configured. You must run this
+command from the host where the instance resides.
+
+The subcommand can restart any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can restart
+an instance that was created by using the
+link:create-instance.html#create-instance-1[`create-instance`(1)] subcommand.
+
+The `restart-local-instance` subcommand does not contact the domain
+administration server (DAS) to determine the node on which the instance
+resides. To determine the node on which the instance resides, the
+subcommand searches the directory that contains the node directories. If
+multiple node directories exist, the node must be specified as an option
+of the subcommand.
+
+When this subcommand restarts an instance, the DAS synchronizes the
+instance with changes since the last synchronization as follows:
+
+* For the `config` directory, the DAS synchronizes the instance with all changes.
+* For the `applications` directory and `docroot` directory, only a
+change to a top-level subdirectory causes the DAS to synchronize all
+files under that subdirectory.
++
+If a file below a top level subdirectory is changed without a change to
+a file in the top level subdirectory, full synchronization is required.
+In normal operation, files below the top level subdirectories of these
+directories are not changed. If an application is deployed and
+undeployed, full synchronization is not necessary to update the instance
+with the change.
+
+If different synchronization behavior is required, the instance must be
+stopped and restarted by using following sequence of subcommands:
+
+1. link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+2. link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]
+
+This subcommand is supported in local mode. However, to synchronize the
+instance with the DAS, this subcommand must be run in remote mode.
+
+[[sthref1996]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodedir`::
+  Specifies the directory that contains the instance's node directory.
+  The instance's files are stored in the instance's node directory. The
+  default is as-install``/nodes``.
+`--node`::
+  Specifies the node on which the instance resides. This option may be
+  omitted only if the directory that the `--nodedir` option specifies
+  contains only one node directory. Otherwise, this option is required.
+`--debug`::
+  Specifies whether the instance is restarted with
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture (JPDA)]
+  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+  debugging enabled.
+  Possible values are as follows:
+
+  `true`;;
+    The instance is restarted with JPDA debugging enabled and the port
+    number for JPDA debugging is displayed.
+  `false`;;
+    The instance is restarted with JPDA debugging disabled (default).
+
++
+The default is the current setting of this option for the instance
+  that is being restarted.
+`--force`::
+  Specifies whether the instance is forcibly stopped immediately before
+  it is restarted. Possible values are as follows:
+
+  `true`;;
+    The instance is forcibly stopped immediately (default).
+  `false`;;
+    The subcommand waits until all threads that are associated with the
+    instance are exited before stopping the instance.
+
+`--kill`::
+  Specifies whether the instance is killed before it is restarted by
+  using functionality of the operating system to terminate the instance
+  process. Possible values are as follows:
+
+  `false`;;
+    The instance is not killed. The subcommand uses functionality of the
+    Java platform to terminate the instance process (default).
+  `true`;;
+    The instance is killed. The subcommand uses functionality of the
+    operating system to terminate the instance process.
+
+[[sthref1997]]
+
+=== Operands
+
+instance-name::
+  The name of the {productName} instance to restart. If the instance
+  is not running, the subcommand displays a warning message and attempts
+  to start the instance.
+
+[[sthref1998]]
+
+=== Examples
+
+[[GSRFM740]][[sthref1999]]
+
+==== Example 1   Restarting an Instance Locally
+
+This example restarts the instance `ymlsa1` in the domain `domain1` on
+the host where the subcommand is run.
+
+[source]
+----
+asadmin> restart-local-instance --node localhost-domain1 ymlsa1
+Command restart-local-instance executed successfully.
+----
+
+[[sthref2000]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2001]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:restart-instance.html#restart-instance-1[`restart-instance`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+
+Java Platform Debugger Architecture (JPDA)
+(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/restore-domain.adoc b/docs/reference-manual/src/main/asciidoc/restore-domain.adoc
new file mode 100644
index 0000000..0ea193d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/restore-domain.adoc
@@ -0,0 +1,104 @@
+type=page
+status=published
+title=restore-domain
+next=rollback-transaction.html
+prev=restart-local-instance.html
+~~~~~~
+
+= restore-domain
+
+[[restore-domain-1]][[GSRFM00221]][[restore-domain]]
+
+== restore-domain
+
+Restores files from backup
+
+[[sthref2002]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] restore-domain [--help]
+[--long[={false|true}]]
+[--filename backup-filename]
+[--domaindir domain-root-dir]
+[--backupdirbackup-directory]
+[--backupconfigbackup-config-name]
+[--force[={false|true}]]
+[domain-name]
+----
+
+[[sthref2003]]
+
+=== Description
+
+This command restores files under the domain from a backup directory.
+
+The `restore-domain` command is supported in local mode only.
+
+[[sthref2004]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--long`::
+`-l`::
+  Displays detailed information about the restore operation. +
+  The default value is `false`.
+`--filename`::
+  Specifies the name of the backup file to use as the source.
+`--domaindir`::
+  Specifies the domain root directory, the parent directory of the
+  domain to restore.
+  The default value is as-install``/domains``.
+`--backupdir`::
+  Specifies the directory under which the backup file is stored. +
+  The default value is as-install``/domains/``domain-dir``/backups``.
+  If the domain is not in the default location, the location is
+  domain-dir``/backups``.
+`--backupconfig`::
+  (Supported only in {productName}.) The name of the domain
+  backup configuration in the backup directory under which the backup
+  file is stored.
+`--force`::
+  Causes the restore operation to continue even when the name of the
+  domain to restore does not match the name of the domain stored in the
+  backup file. +
+  The default value is `false`.
+
+[[sthref2005]]
+
+=== Operands
+
+domain-name::
+  Specifies the name of the domain to restore. +
+  This operand is optional if only one domain exists in the {productName} installation. +
+  If the specified domain name does not match the domain name stored in
+  the backup file, an error occurs unless the `--force` option is
+  specified.
+
+[[sthref2006]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2007]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:backup-domain.html#backup-domain-1[`backup-domain`(1)],
+link:list-backups.html#list-backups-1[`list-backups`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/rollback-transaction.adoc b/docs/reference-manual/src/main/asciidoc/rollback-transaction.adoc
new file mode 100644
index 0000000..92c17d4
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/rollback-transaction.adoc
@@ -0,0 +1,113 @@
+type=page
+status=published
+title=rollback-transaction
+next=rotate-log.html
+prev=restore-domain.html
+~~~~~~
+
+= rollback-transaction
+
+[[rollback-transaction-1]][[GSRFM00223]][[rollback-transaction]]
+
+== rollback-transaction
+
+Rolls back the named transaction
+
+[[sthref2008]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] rollback-transaction [--help]
+[--target target]
+transaction_id
+----
+
+[[sthref2009]]
+
+=== Description
+
+The `rollback-transaction` subcommand rolls back the named transaction.
+
+Before you can roll back a transaction, you must do the following:
+
+1. Enable monitoring using the `set` subcommand. For example:
++
+[source]
+----
+asadmin> set clstr1-config.monitoring-service.module-monitoring-levels.transaction-service=HIGH
+----
+2. Use the `freeze-transaction-service` subcommand to halt in-process
+transactions.
+3. Look up the active transactions using the `get` subcommand with the
+`--monitor` option. For example:
++
+[source]
+----
+asadmin> get --monitor inst1.server.transaction-service.activeids-current
+----
+
+This subcommand is supported in remote mode only.
+
+[[sthref2010]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are rolling back the
+  transactions. Valid values are `server` or any other clustered or
+  stand-alone instance.
+
+[[sthref2011]]
+
+=== Operands
+
+transaction_id::
+  Identifier for the transaction to be rolled back.
+
+[[sthref2012]]
+
+=== Examples
+
+[[GSRFM741]][[sthref2013]]
+
+==== Example 1   Using rollback-transaction command
+
+[source]
+----
+% asadmin rollback-transaction 0000000000000001_00
+Command rollback-transaction executed succeessfully
+----
+
+[[sthref2014]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2015]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:freeze-transaction-service.html#freeze-transaction-service-1[`freeze-transaction-service`(1)],
+link:recover-transactions.html#recover-transactions-1[`recover-transactions`(1)],
+link:unfreeze-transaction-service.html#unfreeze-transaction-service-1[`unfreeze-transaction-service`(1)],
+
+"link:administration-guide/transactions.html#GSADG00022[Administering Transactions]" in {productName} Administration Guide
+
+"https://eclipse-ee4j.github.io/jakartaee-tutorial/#transactions[Transactions]"
+in The Jakarta EE Tutorial
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/rotate-log.adoc b/docs/reference-manual/src/main/asciidoc/rotate-log.adoc
new file mode 100644
index 0000000..61223b5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/rotate-log.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=rotate-log
+next=set.html
+prev=rollback-transaction.html
+~~~~~~
+
+= rotate-log
+
+[[rotate-log-1]][[GSRFM00224]][[rotate-log]]
+
+== rotate-log
+
+Rotates the log file
+
+[[sthref2016]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] rotate-log [--help]
+----
+
+[[sthref2017]]
+
+=== Description
+
+The `rotate-log` subcommand rotates the server log by renaming the file
+with a timestamp name in the format `server.log_`date-and-time, and
+creating a new log file. Changes take effect dynamically, that is,
+server restart is not required.
+
+The size of the log queue is configurable through the
+`logging.properties` file. Log rotation is based on file size or elapsed
+time since the last log rotation. In some circumstances, the queue might
+fill up, especially if the log level is set to `FINEST` and there is
+heavy activity on the server. In this case, the `rotate-log` subcommand
+can be used to rotate the server log immediately. This subcommand is
+also useful in creating scripts for rotating the log at convenient times.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2018]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  The server, cluster, or server instance for which logs will be
+  rotated. If this option is omitted, logs are rotated for the default
+  server.
+
+[[sthref2019]]
+
+=== Operands
+
+target::
+  Valid values are:
+
+  * server_name - Default target is `server`. If no target is specified
+    then logs are rotated for the server.
+  * cluster_name - The name of a target cluster.
+  * instance_name - The name of a target server instance.
+
+[[sthref2020]]
+
+=== Examples
+
+[[GSRFM742]][[sthref2021]]
+
+==== Example 1   Rotating the Server Log
+
+This example rotates the server log.
+
+[source]
+----
+asadmin> rotate-log
+Command rotate-log executed successfully.
+----
+
+[[sthref2022]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2023]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
+link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
+link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
+link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
+link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/security.adoc b/docs/reference-manual/src/main/asciidoc/security.adoc
new file mode 100644
index 0000000..e14c8f7
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/security.adoc
@@ -0,0 +1,50 @@
+type=page
+status=published
+title=security
+prev=resource.html
+~~~~~~
+
+= security
+
+[[security-5asc]][[GSRFM00274]][[security]]
+
+== security
+
+Secure and administer {productName} applications
+
+[[sthref2412]]
+
+=== Description
+
+Security is about protecting data: how to prevent unauthorized access or
+damage to it in storage or transit. {productName} has a dynamic,
+extensible security architecture based on the Jakarta EE standard. Built in
+security features include cryptography, authentication and
+authorization, and public key infrastructure. {productName} is built
+on the Java security model, which uses a sandbox where applications can
+run safely, without potential risk to systems or users.
+
+[[sthref2413]]
+
+=== See Also
+
+link:change-admin-password.html#change-admin-password-1[`change-admin-password`(1)],
+link:change-master-password.html#change-master-password-1[`change-master-password`(1)],
+link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
+link:create-message-security-provider.html#create-message-security-provider-1[`create-message-security-provider`(1)],
+link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
+link:create-ssl.html#create-ssl-1[`create-ssl`(1)],
+link:delete-auth-realm.html#delete-auth-realm-1[`delete-auth-realm`(1)],
+link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
+link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)],
+link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
+link:delete-ssl.html#delete-ssl-1[`delete-ssl`(1)],
+link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)],
+link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)],
+link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
+link:list-file-users.html#list-file-users-1[`list-file-users`(1)].
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/set-batch-runtime-configuration.adoc b/docs/reference-manual/src/main/asciidoc/set-batch-runtime-configuration.adoc
new file mode 100644
index 0000000..dd2f0c0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/set-batch-runtime-configuration.adoc
@@ -0,0 +1,116 @@
+type=page
+status=published
+title=set-batch-runtime-configuration
+next=set-log-attributes.html
+prev=set.html
+~~~~~~
+
+= set-batch-runtime-configuration
+
+[[set-batch-runtime-configuration-1]][[GSRFM897]][[set-batch-runtime-configuration]]
+
+== set-batch-runtime-configuration
+
+Configures the batch runtime
+
+[[sthref2034]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] set-batch-runtime-configuration [--help]
+[--target target]
+[--datasourcelookupname datasource-lookup-name]
+[--executorservicelookupname executor-service-lookup-name]
+----
+
+[[sthref2035]]
+
+=== Description
+
+The `set-batch-runtime-configuration` subcommand configures the batch
+runtime. The runtime uses a data source and a managed executor service
+to execute batch jobs. Batch runtime configuration data is stored in the
+`config` element in `domain.xml`.
+
+[[sthref2036]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which to configure the batch runtime. Valid
+  values are as follows:
+
+  `server`;;
+    Configures the batch runtime for the default server instance
+    `server` and is the default value.
+  cluster-name;;
+    Configures the batch runtime for every server instance in the
+    cluster.
+  instance-name;;
+    Configures the batch runtime for a particular server instance.
+
+`--datasourcelookupname`::
+`-d`::
+  The JNDI lookup name of the data source to be used to store job
+  information. The default data source is `jdbc/__TimerPool`. +
+  Do not change the data source after the first batch job has been
+  submitted to the batch runtime for execution. If the data source must
+  be changed, stop and restart the domain and then make the change
+  before any jobs are started or restarted. However, once the data
+  source has been changed, information stored in the previous data
+  source becomes inaccessible.
+`--executorservicelookupname`::
+`-x`::
+  The JNDI lookup name of the managed executor service to be used to
+  provide threads to jobs. The default managed executor service is
+  `concurrent/__defaultManagedExecutorService`. +
+  The managed executor service can be changed after a batch job has been
+  submitted to the batch runtime without impacting execution of the job.
+
+[[sthref2037]]
+
+=== Examples
+
+[[GSRFM898]][[sthref2038]]
+
+==== Example 1   Configuring the Batch Runtime
+
+The following example configures the batch runtime for the default
+server instance to use an existing managed executor service named
+`concurrent/myExecutor`.
+
+[source]
+----
+asadmin> set-batch-runtime-configuration --executorservicelookupname concurrent/myExecutor
+Command set-batch-runtime-configuration executed successfully.
+----
+
+[[sthref2039]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2040]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
+link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
+link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)],
+link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/set-log-attributes.adoc b/docs/reference-manual/src/main/asciidoc/set-log-attributes.adoc
new file mode 100644
index 0000000..772856b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/set-log-attributes.adoc
@@ -0,0 +1,157 @@
+type=page
+status=published
+title=set-log-attributes
+next=set-log-file-format.html
+prev=set-batch-runtime-configuration.html
+~~~~~~
+
+= set-log-attributes
+
+[[set-log-attributes-1]][[GSRFM00227]][[set-log-attributes]]
+
+== set-log-attributes
+
+Sets the logging attributes for one or more loggers
+
+[[sthref2041]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] set-log-attributes [--help]
+[--target=target]
+attribute-name=attribute-value[:attribute-name=attribute-value]*
+----
+
+[[sthref2042]]
+
+=== Description
+
+The `set-log-attributes` subcommand sets logging attributes for one or
+more loggers. The attributes you can set correspond to the attributes
+that are available in the `logging.properties` file for the domain.
+Depending on the attributes you set, a server restart may be necessary.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2043]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  The server domain, instance, or cluster for which logger attributes
+  will be set. If this option is omitted, attributes are set for the
+  default server.
+
+[[sthref2044]]
+
+=== Operands
+
+target::
+  Valid values are:
+  * server_name - Default target is `server`. If no target is specified
+    then log attributes are set for the server.
+  * cluster_name - The name of a target cluster.
+  * instance_name - The name of a target server instance.
+attribute-name::
+  The fully scoped name of the logging attribute. The
+  `list-log-attributes` subcommand can be used to list the names of all
+  currently defined attributes.
+attribute-value::
+  The value to apply to the specified attribute. +
+  The attribute values that can be specified include the following.
+  Refer to "link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in
+  {productName} Administration Guide for complete
+  explanations of each of these values.
+
+  `com.sun.enterprise.server.logging.GFFileHandler.alarms`;;
+    Default is `false`.
+  `com.sun.enterprise.server.logging.GFFileHandler.excludeFields`;;
+    Default is an empty string.
+  `com.sun.enterprise.server.logging.GFFileHandler.file`;;
+    Default is `${com.sun.aas.instanceRoot}/logs/server.log`.
+  `com.sun.enterprise.server.logging.GFFileHandler.flushFrequency`;;
+    Default is `1`.
+  `com.sun.enterprise.server.logging.GFFileHandler.formatter`;;
+    Default is `com.sun.enterprise.server.logging.UniformLogFormatter`.
+  `com.sun.enterprise.server.logging.GFFileHandler.logtoConsole`;;
+    Default is `false`.
+  `com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles`;;
+    Default is `0`.
+  `com.sun.enterprise.server.logging.GFFileHandler.multiLineMode`;;
+    Default is `true`.
+  `com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours`;;
+    Default is `0`.
+  `com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes`;;
+    Default is `2000000`.
+  `com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes`;;
+    Default is `0`.
+  `com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging`;;
+    Default is `false`.
+  `handlers`;;
+    Default is `java.util.logging.ConsoleHandler`.
+  `java.util.logging.ConsoleHandler.formatter`;;
+    Default is `com.sun.enterprise.server.logging.UniformLogFormatter`.
+  `java.util.logging.FileHandler.count`;;
+    Default is `1`.
+  `java.util.logging.FileHandler.formatter`;;
+    Default is `java.util.logging.XMLFormatter`.
+  `java.util.logging.FileHandler.limit`;;
+    Default is `50000`.
+  `java.util.logging.FileHandler.pattern`;;
+    Default is `%h/java%u.log`.
+  `log4j.logger.org.hibernate.validator.util.Version`;;
+    Default is `warn`.
+
+[[sthref2045]]
+
+=== Examples
+
+[[GSRFM748]][[sthref2046]]
+
+==== Example 1   Setting the Maximum Number of Log History Files to Maintain
+
+This example sets to 8 the maximum number of log history files for the
+server as a whole.
+
+[source]
+----
+asadmin> set-log-attributes --target=server \
+com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles=8
+com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles logging
+attribute set with value 8.
+These logging attributes are set for server.
+Command set-log-attributes executed successfully.
+----
+
+[[sthref2047]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2048]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
+link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
+link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
+link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
+link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/set-log-file-format.adoc b/docs/reference-manual/src/main/asciidoc/set-log-file-format.adoc
new file mode 100644
index 0000000..59e8e62
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/set-log-file-format.adoc
@@ -0,0 +1,106 @@
+type=page
+status=published
+title=set-log-file-format
+next=set-log-levels.html
+prev=set-log-attributes.html
+~~~~~~
+
+= set-log-file-format
+
+[[set-log-file-format-1]][[GSRFM879]][[set-log-file-format]]
+
+== set-log-file-format
+
+Sets the formatter to be used for the server log file
+
+[[sthref2049]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] set-log-file-format [--help]
+[--target target]
+[formatter]
+----
+
+[[sthref2050]]
+
+=== Description
+
+The `set-log-file-format` subcommand sets the formatter to be used for
+the server log file for the specified target.
+
+{productName} provides the ULF (UniformLogFormatter) and ODL (Oracle
+Diagnostics Logging) formatters. A custom formatter can also be used by
+specifying the fully qualified name of a class that extends the
+`java.util.logging.Formatter` class.
+
+The custom formatter class can be packaged in a JAR file and placed in
+domain``/lib/ext``, or implemented as an HK2 service and the JAR
+containing the formatter implementation installed in
+`glassfish/modules`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2051]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  Specifies the target for which the formatter is being set. Specify the
+  name of the server domain, instance, or cluster. If this option is
+  omitted, logger attributes are set for the default server.
+
+[[sthref2052]]
+
+=== Operands
+
+formatter::
+  Specifies the fomatter to be used for the server log file.
+  Valid values are ULF, ODL, or the fully qualified name of the custom
+  formatter class to be used to render the log files.
+  The default value is ODL.
+
+[[sthref2053]]
+
+=== Examples
+
+[[GSRFM880]][[sthref2054]]
+
+==== Example 1   Setting the Log File Format
+
+This example sets the server log file format to `ULF` for `server1`.
+
+[source]
+----
+asadmin> set-log-file-format --target server1 ULF
+Command set-log-file-format executed successfully.
+----
+
+[[sthref2055]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2056]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-loggers.html#list-loggers-1[`list-loggers`(1)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/set-log-levels.adoc b/docs/reference-manual/src/main/asciidoc/set-log-levels.adoc
new file mode 100644
index 0000000..06fb354
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/set-log-levels.adoc
@@ -0,0 +1,121 @@
+type=page
+status=published
+title=set-log-levels
+next=setup-local-dcom.html
+prev=set-log-file-format.html
+~~~~~~
+
+= set-log-levels
+
+[[set-log-levels-1]][[GSRFM00228]][[set-log-levels]]
+
+== set-log-levels
+
+Sets the log level for one or more loggers
+
+[[sthref2057]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] set-log-levels [--help]
+[--target=target]
+logger-name=logger-level[:logger-name=logger-level]*
+----
+
+[[sthref2058]]
+
+=== Description
+
+The `set-log-levels` subcommand sets the log level for one or more
+loggers. Changes take effect dynamically. Depending on the log levels
+you set, a server restart may be necessary.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2059]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  The server instance or cluster for which log levels will be set. Valid
+  values are:
+  * `server` - The default server instance. If no target is specified
+    then log levels are set for the default server instance.
+  * cluster-name - The name of a cluster.
+  * instance-name - The name of a standalone server instance.
+
+[[sthref2060]]
+
+=== Operands
+
+logger-name::
+  The name of the logger. The `list-log-levels` subcommand can be used
+  to list the names of the current loggers.
+logger-level::
+  The level to set for the logger. Log level values are `SEVERE`,
+  `WARNING`, `INFO`, `CONFIG`, `FINE`, `FINER`, and `FINEST`. The
+  default setting is `INFO`.
+
+[[sthref2061]]
+
+=== Examples
+
+[[GSRFM749]][[sthref2062]]
+
+==== Example 1   Setting a Log Level for a Logger
+
+This example sets the log level of the web container logger to
+`WARNING`.
+
+[source]
+----
+asadmin> set-log-levels jakarta.enterprise.system.container.web=WARNING
+Command set-log-level executed successfully.
+----
+
+[[GSRFM750]][[sthref2063]]
+
+==== Example 2   Setting the Log Level for Multiple Loggers
+
+This example sets the log level of the web container logger to `FINE`
+and the log level of the EJB container logger to `SEVERE`:
+
+[source]
+----
+asadmin set-log-levels jakarta.enterprise.system.container.web=FINE:
+jakarta.enterprise.system.container.ejb=SEVERE
+Command set-log-level executed successfully.
+----
+
+[[sthref2064]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2065]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
+link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
+link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
+link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
+link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)]
+
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/set-web-context-param.adoc b/docs/reference-manual/src/main/asciidoc/set-web-context-param.adoc
new file mode 100644
index 0000000..8e74c56
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/set-web-context-param.adoc
@@ -0,0 +1,182 @@
+type=page
+status=published
+title=set-web-context-param
+next=set-web-env-entry.html
+prev=setup-ssh.html
+~~~~~~
+
+= set-web-context-param
+
+[[set-web-context-param-1]][[GSRFM00230]][[set-web-context-param]]
+
+== set-web-context-param
+
+Sets a servlet context-initialization parameter of a deployed web
+application or module
+
+[[sthref2083]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] set-web-context-param [--help]
+--name=context-param-name
+{--value=value|--ignoredescriptoritem={false|true}}
+[--description=description] application-name[/module]
+----
+
+[[sthref2084]]
+
+=== Description
+
+The `set-web-context-param` subcommand sets a servlet
+context-initialization parameter of one of the following items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE) application
+
+The application must already be deployed. Otherwise, an error occurs.
+
+This subcommand enables you to change the configuration of a deployed
+application without the need to modify the application's deployment
+descriptors and repackage and redeploy the application.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2085]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  The name of the servlet context-initialization parameter that is to be set.
+`--value`::
+  The value to which the servlet context-initialization parameter is to
+  be set. Either the `--value` option or the `--ignoredescriptoritem` option
+  must be set.
+`--ignoredescriptoritem`::
+  Specifies whether the servlet context-initialization parameter is
+  ignored if it is set in the application's deployment descriptor. When
+  a parameter is ignored, the application behaves as if the parameter
+  had never been set in the application's deployment descriptor. The
+  behavior of an application in this situation depends on the
+  application. +
+  The possible values are as follows:
++
+--
+  `false`;;
+    The value is not ignored (default).
+  `true`;;
+    The value is ignored.
+--
+
++
+Either the `--value` option or the `--ignoredescriptoritem` option must be set.
++
+[NOTE]
+====
+Do not use the `--ignoredescriptoritem` option to unset a servlet
+context-initialization parameter that has previously been set by using
+the `set-web-context-param` subcommand. Instead, use the
+link:unset-web-context-param.html#unset-web-context-param-1[`unset-web-context-param`(1)]
+subcommand for this purpose.
+====
+
+`--description`::
+  An optional textual description of the context parameter that is being
+  set.
+
+[[sthref2086]]
+
+=== Operands
+
+application-name::
+  The name of the application. This name can be obtained from the
+  Administration Console or by using the
+  link:list-applications.html#list-applications-1[`list-applications`(1)] subcommand. +
+  The application must already be deployed. Otherwise, an error occurs.
+module::
+  The relative path to the module within the application's enterprise
+  archive (EAR) file. The path to the module is specified in the
+  `module` element of the application's `application.xml` file. +
+  module is required only if the servlet context-initialization
+  parameter applies to a web module of a Jakarta EE application. If
+  specified, module must follow application-name, separated by a slash (`/`). +
+  For example, the `application.xml` file for the `myApp` application
+  might specify the following web module:
++
+[source,xml]
+----
+<module>
+    <web>
+        <web-uri>myWebModule.war</web-uri>
+    </web>
+</module>
+----
++
+The module would be specified as the operand of this command as `myApp/myWebModule.war`.
+
+[[sthref2087]]
+
+=== Examples
+
+[[GSRFM753]][[sthref2088]]
+
+==== Example 1   Setting a Servlet Context-Initialization Parameter for a Web Application
+
+This example sets the servlet context-initialization parameter
+`javax.faces.STATE_SAVING_METHOD` of the web application `basic-ezcomp`
+to `client`. The description
+`The location where the application's state is preserved` is provided
+for this parameter.
+
+[source]
+----
+asadmin> set-web-context-param --name=javax.faces.STATE_SAVING_METHOD
+--description="The location where the application's state is preserved"
+--value=client basic-ezcomp
+
+Command set-web-context-param executed successfully.
+----
+
+[[GSRFM754]][[sthref2089]]
+
+==== Example 2   Ignoring a Servlet Context-Initialization Parameter That Is Defined in a Deployment Descriptor
+
+This example ignores the servlet context-initialization parameter
+`javax.faces.PROJECT_STAGE` of the web application `basic-ezcomp`.
+
+[source]
+----
+asadmin> set-web-context-param --name=javax.faces.PROJECT_STAGE
+--ignoredescriptoritem=true
+basic-ezcomp
+
+Command set-web-context-param executed successfully.
+----
+
+[[sthref2090]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2091]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-web-context-param.html#list-web-context-param-1[`list-web-context-param`(1)],
+link:unset-web-context-param.html#unset-web-context-param-1[`unset-web-context-param`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/set-web-env-entry.adoc b/docs/reference-manual/src/main/asciidoc/set-web-env-entry.adoc
new file mode 100644
index 0000000..9eecb32
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/set-web-env-entry.adoc
@@ -0,0 +1,199 @@
+type=page
+status=published
+title=set-web-env-entry
+next=show-component-status.html
+prev=set-web-context-param.html
+~~~~~~
+
+= set-web-env-entry
+
+[[set-web-env-entry-1]][[GSRFM00231]][[set-web-env-entry]]
+
+== set-web-env-entry
+
+Sets an environment entry for a deployed web application or module
+
+[[sthref2092]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] set-web-env-entry [--help]
+--name=env-entry-name --type=env-entry-type
+{--value=value|--ignoredescriptoritem={true|false}}
+[--description=description] application-name[/module]
+----
+
+[[sthref2093]]
+
+=== Description
+
+The `set-web-env-entry` subcommand sets an environment entry for one of
+the following items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE) application
+
+The application must already be deployed. Otherwise, an error occurs.
+
+An application uses the values of environment entries to customize its
+behavior or presentation.
+
+This subcommand enables you to change the configuration of a deployed
+application without the need to modify the application's deployment
+descriptors and repackage and redeploy the application.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2094]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  The name of the environment entry that is to be set. The name is a
+  JNDI name relative to the `java:comp/env` context. The name must be
+  unique within a deployment component.
+`--type`::
+  The fully-qualified Java type of the environment entry value that is
+  expected by the application's code. This type must be one of the
+  following Java types:
+  * `java.lang.Boolean`
+  * `java.lang.Byte`
+  * `java.lang.Character`
+  * `java.lang.Double`
+  * `java.lang.Float`
+  * `java.lang.Integer`
+  * `java.lang.Long`
+  * `java.lang.Short`
+  * `java.lang.String`
+`--value`::
+  The value to which the environment entry is to be set. If the `--type`
+  is `java.lang.Character`, the value must be a single character.
+  Otherwise, the value must be a string that is valid for the
+  constructor of the specified type. +
+  Either the `--value` option or the `--ignoredescriptoritem` option must be set.
+`--ignoredescriptoritem`::
+  Specifies whether the environment entry is ignored if it is set in the
+  application's deployment descriptor. When an environment entry is
+  ignored, the application behaves as if the entry had never been set in
+  the application's deployment descriptor. The behavior of an
+  application in this situation depends on the application. +
+  The possible values are as follows:
++
+--
+  `false`;;
+    The value is not ignored (default).
+  `true`;;
+    The value is ignored.
+--
++
+Either the `--value` option or the `--ignoredescriptoritem` option
+  must be set.
++
+[NOTE]
+====
+Do not use the `--ignoredescriptoritem` option to unset an environment
+entry that has previously been set by using the `set-web-env-entry`
+subcommand. Instead, use the
+link:unset-web-env-entry.html#unset-web-env-entry-1[`unset-web-env-entry`(1)]
+subcommand for this purpose.
+====
+
+`--description`::
+  An optional textual description of the environment entry that is being
+  set.
+
+[[sthref2095]]
+
+=== Operands
+
+application-name::
+  The name of the application. This name can be obtained from the
+  Administration Console or by using the
+  link:list-applications.html#list-applications-1[`list-applications`(1)] subcommand. +
+  The application must already be deployed. Otherwise, an error occurs.
+module::
+  The relative path to the module within the application's enterprise
+  archive (EAR) file. The path to the module is specified in the
+  `module` element of the application's `application.xml` file. +
+  module is required only if the environment entry applies to a web
+  module of a Jakarta EE application. If specified, module must follow
+  application-name, separated by a slash (`/`). +
+  For example, the `application.xml` file for the `myApp` application
+  might specify the following web module:
++
+[source,xml]
+----
+<module>
+    <web>
+        <web-uri>myWebModule.war</web-uri>
+    </web>
+</module>
+----
++
+The module would be specified as the operand of this command as `myApp/myWebModule.war`.
+
+[[sthref2096]]
+
+=== Examples
+
+[[GSRFM755]][[sthref2097]]
+
+==== Example 1   Setting an Environment Entry for a Web Application
+
+This example sets the environment entry `Hello User` of the application
+hello to `techscribe`. The Java type of this entry is
+`java.lang.String`.
+
+[source]
+----
+asadmin> set-web-env-entry --name="Hello User"
+--type=java.lang.String --value=techscribe
+--description="User authentication for Hello appplication" hello
+
+Command set-web-env-entry executed successfully.
+----
+
+[[GSRFM756]][[sthref2098]]
+
+==== Example 2   Ignoring an Environment Entry That Is Defined in a
+Deployment Descriptor
+
+This example ignores the environment entry `Hello Port` of the web
+application `hello`.
+
+[source]
+----
+asadmin> set-web-env-entry --name="Hello Port"
+--type=java.lang.Integer --ignoredescriptoritem=true hello
+
+Command set-web-env-entry executed successfully.
+----
+
+[[sthref2099]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2100]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:list-web-env-entry.html#list-web-env-entry-1[`list-web-env-entry`(1)],
+link:unset-web-env-entry.html#unset-web-env-entry-1[`unset-web-env-entry`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/set.adoc b/docs/reference-manual/src/main/asciidoc/set.adoc
new file mode 100644
index 0000000..7885b54
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/set.adoc
@@ -0,0 +1,146 @@
+type=page
+status=published
+title=set
+next=set-batch-runtime-configuration.html
+prev=rotate-log.html
+~~~~~~
+
+set
+===
+
+[[set-1]][[GSRFM00226]][[set]]
+
+set
+---
+
+Sets the values of configurable attributes
+
+[[sthref2024]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] set [--help]
+attribute-name=value
+----
+
+[[sthref2025]]
+
+=== Description
+
+The `set` subcommand uses dotted names to modify the values of one or
+more configurable attributes.
+
+Attributes from the monitoring hierarchy are read-only, but
+configuration attributes can be modified. You can use the
+link:list.html#list-1[`list`(1)] subcommand to display the dotted names
+that represent individual server components and subsystems. For example,
+a dotted name might be `server.applications.web-module`. After you
+discover the particular component or subsystem, you can then use the
+`get` subcommand to access the attributes. For more detailed information
+on dotted names, see the
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)] help page.
+
+[NOTE]
+====
+Characters that have special meaning to the shell or command
+interpreter, such as * (asterisk), should be quoted or escaped as
+appropriate to the shell, for example, by enclosing the argument in
+quotes. In multimode, quotes are needed only for arguments that include
+spaces, quotes, or backslash.
+====
+
+By modifying attributes, you can enable and disable services, and
+customize how an existing element functions. An `asadmin` subcommand is
+provided to update some elements. For example, `update-password-alias`.
+However, to update other elements, you must use the `set` command. For
+example, you create a JDBC connection pool by using the
+`create-jdbc-connection-pool` subcommand. To change attribute settings
+later, you use the `set` command.
+
+Any change made by using the `asadmin` utility subcommands or the
+Administration Console are automatically applied to the associated
+{productName} configuration file.
+
+[[sthref2026]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref2027]]
+
+=== Operands
+
+attribute-name=value::
+  Identifies the full dotted name of the attribute name and its value.
+
+[[sthref2028]]
+
+=== Examples
+
+[[GSRFM745]][[sthref2029]]
+
+==== Example 1   Setting a JDBC Connection Pool Attribute
+
+This example changes the steady pool size of the `DerbyPool` connection
+pool to 9.
+
+[source]
+----
+asadmin> set resources.jdbc-connection-pool.DerbyPool.steady-pool-size=9
+Command set executed successfully.
+----
+
+[[GSRFM746]][[sthref2030]]
+
+==== Example 2   Enabling the Monitoring Service for a Monitorable Object
+
+This example enables monitoring for the JVM.
+
+[source]
+----
+asadmin> set server.monitoring-service.module-monitoring-levels.jvm=HIGH
+Command set executed successfully.
+----
+
+[[GSRFM747]][[sthref2031]]
+
+==== Example 3   Turning on Automatic Recovery for the Transaction Service
+
+This example turns on automatic recovery for the transaction service.
+
+[source]
+----
+asadmin> set server.transaction-service.automatic-recovery=true
+Command set executed successfully.
+----
+
+[[sthref2032]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2033]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)]
+
+link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
+
+link:administration-guide.html#GSADG[{productName} Administration Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/setup-local-dcom.adoc b/docs/reference-manual/src/main/asciidoc/setup-local-dcom.adoc
new file mode 100644
index 0000000..66ff8d0
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/setup-local-dcom.adoc
@@ -0,0 +1,151 @@
+type=page
+status=published
+title=setup-local-dcom
+next=setup-ssh.html
+prev=set-log-levels.html
+~~~~~~
+
+= setup-local-dcom
+
+[[setup-local-dcom-1]][[GSRFM893]][[setup-local-dcom]]
+
+== setup-local-dcom
+
+Sets up DCOM on a host
+
+[[sthref2066]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] setup-local-dcom [--help]
+[--verbose={false|true}]
+--force={false|true}
+----
+
+[[sthref2067]]
+
+=== Description
+
+The `setup-local-dcom` subcommand sets up the Distributed Component
+Object Model (DCOM) remote protocol on the host where the subcommand is
+run. The DCOM remote protocol is available only on Windows systems.
+
+This subcommand must be run by the operating-system-level administrator
+user on the host where DCOM is being set up. Before running this
+command, ensure that items in the Windows operating system are set as
+described in "link:ha-administration-guide/ssh-setup.html#GSHAG449[
+Windows Operating System Settings]" in
+{productName} High Availability Administration Guide.
+
+Setting up DCOM on a host ensures that scripts can be run on the host
+from a remote host. To run scripts on the host from a remote host, the
+Windows user must be allowed full control over some Windows registry keys.
+
+In some versions of Windows, only the user `NT SERVICE\TrustedInstaller`
+has full control over these Windows registry keys. If the version of
+Windows on a host is configured in this way, this subcommand modifies
+these keys to allow full control over them for the Windows user.
+
+[CAUTION]
+====
+This subcommand might modify the permissions of some keys in the Windows
+registry. Before running this command, back up the Windows registry.
+====
+
+By default, the subcommand prompts you to confirm that you want to
+update the Windows registry. To run the subcommand without being
+prompted, set the `--force` option to `true`.
+
+This subcommand is supported in local mode only.
+
+[[sthref2068]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--verbose`::
+`-v`::
+  Specifies whether the subcommand displays information about the
+  operations that are performed to set up DCOM on the host. +
+  Possible values are as follows:
+
+  `false`;;
+    No information about the operations that are performed to set up
+    DCOM is displayed (default).
+  `true`;;
+    The subcommand displays information about the operations that are
+    performed to set up DCOM on the host.
+
+`--force`::
+`-f`::
+  Specifies whether the subcommand prompts you to confirm that you want
+  to update the Windows registry. +
+  Possible values are as follows:
+
+  `false`;;
+    You are prompted to confirm that you want to update the Windows
+    registry (default).
+  `true`;;
+    The subcommand forcibly updates the Windows registry without
+    prompting you.
+
+[[sthref2069]]
+
+=== Examples
+
+[[GSRFM737]][[sthref2070]]
+
+==== Example 1   Setting Up DCOM on a Host
+
+This example sets up DCOM on the host where the subcommand is run.
+
+[source]
+----
+asadmin> setup-local-dcom
+Caution: This command might modify the permissions of some keys in the Windows
+registry.
+Before running this command, back up the Windows registry.
+The modification allows the Windows user full control over these keys.
+
+Are you sure that you want to edit the Windows registry? If so, type yes in full: yes
+Command setup-local-dcom executed successfully.
+----
+
+[[GSRFM894]][[sthref2071]]
+
+==== Example 2   Forcibly Setting Up DCOM on a Host
+
+This example sets up DCOM without prompting for confirmation that the
+user wants to update the Windows registry.
+
+[source]
+----
+asadmin> setup-local-dcom --force=true
+Command setup-local-dcom executed successfully.
+----
+
+[[sthref2072]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2073]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+"link:ha-administration-guide/ssh-setup.html#GSHAG449[Windows Operating System Settings]" in {productName} High Availability Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/setup-ssh.adoc b/docs/reference-manual/src/main/asciidoc/setup-ssh.adoc
new file mode 100644
index 0000000..ff41afd
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/setup-ssh.adoc
@@ -0,0 +1,263 @@
+type=page
+status=published
+title=setup-ssh
+next=set-web-context-param.html
+prev=setup-local-dcom.html
+~~~~~~
+
+= setup-ssh
+
+[[setup-ssh-1]][[GSRFM00229]][[setup-ssh]]
+
+== setup-ssh
+
+Sets up an SSH key on specified hosts
+
+[[sthref2074]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] setup-ssh [--help]
+[--sshport ssh-port] [--sshuser ssh-user]
+[--sshkeyfile ssh-keyfile] [--sshpublickeyfile ssh-public-keyfile]
+[--generatekey={false|true}]
+host-list
+----
+
+[[sthref2075]]
+
+=== Description
+
+The `setup-ssh` subcommand sets up a secure shell (SSH) key on the hosts
+that are specified as the operand of the subcommand. This key enables
+{productName} to use public-key authentication for authentication of
+the user's SSH login on remote hosts.
+
+SSH ensures that {productName} clusters that span multiple hosts can
+be administered centrally. When a user runs a subcommand for cluster
+administration that acts on multiple hosts, the subcommand is propagated
+from the domain administration server (DAS) host to remote hosts. To
+propagate subcommands that act on a {productName} instance that is
+not running, or on a node where no instances are running,
+{productName} uses SSH. SSH provides confidentiality and security
+for data that is exchanged between the DAS and remote hosts.
+
+Public-key authentication uses an SSH key pair that comprises the
+following keys:
+
+* A private key, which is stored in a secure location on the DAS host
+and which may be protected with a passphrase
+* The public key, which is stored on all the remote hosts with which the
+DAS communicates
+
+The subcommand does not require any configuration information from the
+DAS and does not modify the configuration of the DAS.
+
+This subcommand is supported in local mode only.
+
+Prerequisites for Using the `setup-ssh` Subcommand
+
+To use the `setup-ssh` subcommand, the SSH user must be able to use SSH
+to log in to remote hosts where SSH is to be set up. Specifically, the
+following prerequisites must be met:
+
+* The
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-1[`ssh`(1)]
+client is installed on the DAS host and is accessible through the DAS
+user's path.
+* The
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msshd-1m[`sshd`(1M)]
+daemon is installed and running on all hosts where an SSH key is to be
+set up.
+* The user that the `--sshuser` option specifies has an SSH login on all
+hosts where an SSH key is to be set up.
+* The
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]
+utility is installed on the DAS host either at the default location or
+in a location that is defined in the DAS user's path.
+* On Windows systems, the SSH package for http://www.cygwin.com/[Cygwin]
+(http://www.cygwin.com/) or an http://www.mkssoftware.com/[MKS Software]
+(http://www.mkssoftware.com/) toolkit that provides SSH is installed.
+
+Behavior of the `setup-ssh` Subcommand
+
+The subcommand sets up SSH connectivity between the DAS host and remote
+hosts by automating the following tasks:
+
+* Generating an SSH key pair. If no SSH key pair exists, the default
+behavior of the subcommand is to prompt the user to generate an SSH key
+pair. The SSH key pair is generated without an encryption passphrase. If
+a passphrase-protected key pair is required, the key pair must be
+generated manually by using the SSH
+command http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)].
+* Distributing the public key. The subcommand appends the content of the
+public key file to the user-home``/.ssh/authorized_keys`` file on each
+remote host. By default, the subcommand locates the public key file in
+the user-home``/.ssh`` directory on the host where the subcommand is run.
+If the user-home``/.ssh/authorized_keys`` file does not exist on a host,
+the subcommand creates the file. user-home is the user's home directory
+on a host.
++
+To distribute the public key, authentication of the user's SSH login is
+required. If the private key is protected by a passphrase, the
+passphrase is also required. By default, the subcommand prompts the user
+for the password and, if necessary, the passphrase. To distribute the
+public key without being prompted, run the subcommand as follows:
+
+** Set the `--interactive` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility to `false`.
+
+** Set the `--passwordfile` option of the `asadmin` utility to a file in
+which the `AS_ADMIN_SSHPASSWORD` entry specifies the SSH user's password
+for logging in to the specified hosts.
+
+** If a passphrase is required, ensure that the file that
+`--passwordfile` option of the `asadmin` utility specifies also contains
+an entry for `AS_ADMIN_SSHKEYPASSPHRASE`. +
+If public key authentication is already set up on a host, the subcommand
+informs the user that public key authentication is already set up and
+does not distribute the key to the host.
+
+[[sthref2076]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--sshport`::
+  The port to use for SSH connections to the host where SSH is being set
+  up. The default is 22.
+`--sshuser`::
+  The SSH user on the remote host that is to run the process for setting
+  up SSH on that host. The default is the user that is running this
+  subcommand. To ensure that the DAS can read this user's SSH private
+  key file, specify the user that is running the DAS process.
+`--sshkeyfile`::
+  The absolute path to the SSH private key file for user that the
+  `--sshuser` option specifies. This file is used for authentication to
+  the `sshd` daemon on the host. +
+  The user that is running this subcommand must be able to reach the
+  path to the key file and read the key file. +
+  The default is a key file in the user's `.ssh` directory on the host
+  where the subcommand is run. If multiple key files are found, the
+  subcommand uses the following order of preference:
+  1. `id_rsa`
+  2. `id_dsa`
+  3. `identity`
+`--sshpublickeyfile`::
+  The absolute path to the SSH public key file for user that the
+  `--sshuser` option specifies. The content of the public key file is
+  appended to the user's `.ssh/authorized_keys` file on each host where
+  SSH is being set up. If the `.ssh/authorized_keys` file does not exist
+  on a host, the subcommand creates the file. +
+  The user that is running this subcommand must be able to reach the
+  path to the key file and read the key file. +
+  The default is a key file in the user's `.ssh` directory on the host
+  where the subcommand is run. If multiple key files are found, the
+  subcommand uses the following order of preference:
+  1.  `id_rsa.pub`
+  2.  `id_dsa.pub`
+  3.  `identity.pub`
+`--generatekey`::
+  Specifies whether the subcommand generates the SSH key files without
+  prompting the user.
+  Possible values are as follows:
+
+  `true`;;
+    The subcommand generates the SSH key files without prompting the user.
+  `false`;;
+    The behavior of the subcommand depends on whether the SSH key files exist:
+
++
+    * If the SSH key files exist, the subcommand does not generate the files.
+    * If the SSH key files do not exist, the behavior of the subcommand
+    depends on the value of the `--interactive` option of the `asadmin` utility:
++
+--
+    ** If the `--interactive` option is `true`, the subcommand prompts
+    the user to create the files.
+    ** If the `--interactive` option is `false`, the subcommand fails.
+    This value is the default.
+--
+
+[[sthref2077]]
+
+=== Operands
+
+host-list::
+  A space-separated list of the names of the hosts where an SSH key is
+  to be set up.
+
+[[sthref2078]]
+
+=== Examples
+
+[[GSRFM751]][[sthref2079]]
+
+==== Example 1   Setting Up an SSH Key
+
+This example sets up an SSH key for the user `gfuser` on the hosts
+`sj03` and `sj04`. The key file is not generated but is copied from the
+user's `.ssh` directory on the host where the subcommand is running.
+
+[source]
+----
+asadmin> setup-ssh sj03 sj04
+Enter SSH password for gfuser@sj03>
+Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sj03
+Successfully connected to gfuser@sj03 using keyfile /home/gfuser/.ssh/id_rsa
+Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sj04
+Successfully connected to gfuser@sj04 using keyfile /home/gfuser/.ssh/id_rsa
+Command setup-ssh executed successfully.
+----
+
+[[GSRFM752]][[sthref2080]]
+
+==== Example 2   Generating and Setting Up an SSH Key
+
+This example generates and sets up an SSH key for the user `gfuser` on
+the hosts `sua01` and `sua02`.
+
+[source]
+----
+asadmin> setup-ssh --generatekey=true sua01 sua02
+Enter SSH password for gfuser@sua01>
+Created directory /home/gfuser/.ssh
+/usr/bin/ssh-keygen successfully generated the identification /home/gfuser/.ssh/id_rsa
+Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua01
+Successfully connected to gfuser@sua01 using keyfile /home/gfuser/.ssh/id_rsa
+Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua02
+Successfully connected to gfuser@sua02 using keyfile /home/gfuser/.ssh/id_rsa
+Command setup-ssh executed successfully.
+----
+
+[[sthref2081]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2082]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-1[`ssh`(1)],
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]
+
+http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msshd-1m[`sshd`(1M)]
+
+Cygwin Information and Installation (`http://www.cygwin.com/`), MKS
+Software (`http://www.mkssoftware.com/`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/show-component-status.adoc b/docs/reference-manual/src/main/asciidoc/show-component-status.adoc
new file mode 100644
index 0000000..fd0017b
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/show-component-status.adoc
@@ -0,0 +1,114 @@
+type=page
+status=published
+title=show-component-status
+next=start-cluster.html
+prev=set-web-env-entry.html
+~~~~~~
+
+= show-component-status
+
+[[show-component-status-1]][[GSRFM00232]][[show-component-status]]
+
+== show-component-status
+
+Displays the status of the deployed component
+
+[[sthref2101]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] show-component-status [--help]
+[--target target] component-name
+----
+
+[[sthref2102]]
+
+=== Description
+
+The `show-component-status` subcommand gets the status (either enabled
+or disabled) of the deployed component.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2103]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are showing the
+  component status. Valid values are:
+
+  `server`;;
+    Shows the component status for the default server instance `server`
+    and is the default value.
+  `domain`;;
+    Shows the component status for the domain.
+  cluster_name;;
+    Shows the component status for the cluster.
+  instance_name;;
+    Shows the component status for a clustered or stand-alone server
+    instance.
+
+[[sthref2104]]
+
+=== Operands
+
+component-name::
+  The name of the component whose status is to be listed. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. To list multiple versions, you can use an asterisk
+  (`*`) as a wildcard character. For more information about module and
+  application versions, see "link:application-deployment-guide/overview.html#GSDPG00324[Module and Application
+  Versions]" in {productName} Application
+  Deployment Guide.
+
+[[sthref2105]]
+
+=== Examples
+
+[[GSRFM757]][[sthref2106]]
+
+==== Example 1   Showing the Status of a Component
+
+This example gets the status of the `MEjbApp` component.
+
+[source]
+----
+asadmin> show-component-status MEjbApp
+Status of MEjbApp is enabled
+Command show-component-status executed successfully.
+----
+
+[[sthref2107]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2108]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:list-sub-components.html#list-sub-components-1[`list-sub-components`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/start-cluster.adoc b/docs/reference-manual/src/main/asciidoc/start-cluster.adoc
new file mode 100644
index 0000000..a614b74
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/start-cluster.adoc
@@ -0,0 +1,131 @@
+type=page
+status=published
+title=start-cluster
+next=start-database.html
+prev=show-component-status.html
+~~~~~~
+
+= start-cluster
+
+[[start-cluster-1]][[GSRFM00233]][[start-cluster]]
+
+== start-cluster
+
+Starts a cluster
+
+[[sthref2109]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] start-cluster [--help]
+[--autohadboverride={true|false}]
+[--verbose={false|true}] cluster-name
+----
+
+[[sthref2110]]
+
+=== Description
+
+The `start-cluster` subcommand starts a cluster by starting all
+{productName} instances in the cluster that are not already running.
+This subcommand requires the Distributed Component Object Model (DCOM)
+remote protocol or secure shell (SSH) to be configured on the host where
+the domain administration server (DAS) is running and on all hosts where
+instances in the cluster reside.
+
+[NOTE]
+====
+If all instances reside on the same host as the DAS, DCOM or SSH is not
+required. You might require to start a cluster in which instances reside
+on hosts where DCOM or SSH is not configured that are remote from the
+DAS. In this situation, run the
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]
+subcommand for each instance from the host where the instance resides.
+====
+
+You may run this subcommand from any host that can contact the DAS.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2111]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--autohadboverride`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+`--verbose`::
+  Specifies whether additional status information is displayed when the
+  cluster is started.
+  Valid values are as follows:
+
+  `true`;;
+    Displays the command to start each instance in the cluster and
+    whether the attempt to start each instance succeeded.
+  `false`;;
+    Displays no additional status information (default).
+
+[[sthref2112]]
+
+=== Operands
+
+cluster-name::
+  The name of the cluster to start.
+
+[[sthref2113]]
+
+=== Examples
+
+[[GSRFM758]][[sthref2114]]
+
+==== Example 1   Staring a Cluster
+
+This example starts the cluster `ymlcluster`. Additional status
+information is displayed when the cluster is started.
+
+[source]
+----
+asadmin> start-cluster --verbose ymlcluster
+start-instance yml-i-sr1-usca-02
+start-instance yml-i-sr1-usca-01
+
+The command start-instance executed successfully for:
+yml-i-sr1-usca-02 yml-i-sr1-usca-01
+
+Command start-cluster executed successfully.
+----
+
+[[sthref2115]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2116]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
+link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
+link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
+link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)],
+link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/start-database.adoc b/docs/reference-manual/src/main/asciidoc/start-database.adoc
new file mode 100644
index 0000000..2f04b52
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/start-database.adoc
@@ -0,0 +1,177 @@
+type=page
+status=published
+title=start-database
+next=start-domain.html
+prev=start-cluster.html
+~~~~~~
+
+= start-database
+
+[[start-database-1]][[GSRFM00234]][[start-database]]
+
+== start-database
+
+Starts the Java DB
+
+[[sthref2117]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] start-database [--help]
+[--jvmoptions jvm-options]
+[--dbhost host] [--dbport port-no]
+[--dbhome db-file-path]
+----
+
+[[sthref2118]]
+
+=== Description
+
+The `start-database` subcommand starts the Java DB server that is
+available for use with {productName}. Java DB is based upon Apache
+Derby. Use this subcommand only for working with applications deployed
+to the server.
+
+When you start Java DB server by using the `start-database` subcommand,
+the database server is started in Network Server mode. Clients
+connecting to it must use the Java DB ClientDriver. For details on
+connecting to the database, refer to the Apache Derby documentation.
+
+When the database server starts, or a client connects to it
+successfully, the following files are created:
+
+* The `derby.log` file that contains the database server process log
+along with its standard output and standard error information
+* The database files that contain your schema (for example, database tables)
+
+These files are created at the location that is specified by the
+`--dbhome` option. To create the database files at a particular
+location, you must set the `--dbhome` option. If the `--dbhome` option
+is not specified, the `start-database` subcommand determines where to
+create these files as follows:
+
+* If the current working directory contains a file that is named
+`derby.log`, the `start-database` subcommand creates the files in the
+current working directory.
+* Otherwise, the `start-database` subcommand creates the files in the
+as-install``/databases`` directory.
+
+The `start-database` subcommand starts the database process, even if it
+cannot write to the log file.
+
+This subcommand is supported in local mode only.
+
+[[sthref2119]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--jvmoptions`::
+  A space-separated list of command-line options that are passed to the
+  Java application launcher when the database is started. By default, no
+  options are passed. +
+  The format of an option depends on whether the option has a name and a
+  value or only a name:
+
+  * If the option has a name and a value, the format is
+    option-name=value.
+  * If the option has only a name, the format is option-name.
+    For example, `-Xmx512m`.
+`--dbhost`::
+  The host name or IP address of the Java DB server process. The default
+  is the IP address 0.0.0.0, which denotes all network interfaces on the
+  host where you run the `start-database` subcommand.
+`--dbport`::
+  The port number where the Java DB server listens for client
+  connections. This port must be available for the listen socket,
+  otherwise the database server will not start. The default is 1527.
+`--dbhome`::
+  The absolute path to the directory where the database files and the
+  `derby.log` file are created. If the `--dbhome` option is not
+  specified, the `start-database` subcommand determines where to create
+  these files as follows:
+
+  * If the current working directory contains a file that is named
+  `derby.log`, the `start-database` subcommand creates the files in the
+  current working directory.
+  * Otherwise, the `start-database` subcommand creates the files in the
+  as-install``/databases`` directory.
+
++
+To create the database files at a particular location, you must set
+  the `--dbhome` option.
+
+[[sthref2120]]
+
+=== Examples
+
+[[GSRFM759]][[sthref2121]]
+
+==== Example 1   Starting Java DB
+
+This example starts Java DB on the host `host1` and port 5001.
+
+[source]
+----
+asadmin> start-database --dbhost host1 --dbport 5001 --terse=true
+Starting database in the background.  Log redirected to
+/opt/SUNWappserver/databases/derby.log.
+----
+
+[[GSRFM833]][[sthref2122]]
+
+==== Example 2   Starting Java DB With Options for the Java Application
+Launcher
+
+This example starts Java DB with the options for setting the minimum
+heap memory size to 128 megabytes and the maximum heap memory size to
+512 megabytes.
+
+[source]
+----
+asadmin> start-database --jvmoptions="-Xms128m -Xmx512m" --terse=true
+Starting database in the background.
+Log redirected to /export/glassfish7/glassfish/databases/derby.log.
+----
+
+[[sthref2123]]
+
+=== Exit Status
+
+The exit status applies to errors in executing the `asadmin` utility.
+For information on database errors, see the `derby.log` file. This file
+is located in the directory you specify by using the `--dbhome` option
+when you run the `start-database` subcommand. If you did not specify
+`--dbhome`, the value of `DERBY_INSTALL` defaults to as-install``/javadb``.
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2124]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:stop-database.html#stop-database-1[`stop-database`(1)]
+
+"link:administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in {productName} Administration Guide
+
+For more information about the Java application launcher, see the
+reference page for the operating system that you are using:
+
+* Oracle Solaris and Linux: java - the Java application launcher
+(`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/java.html`)
+* Windows: java - the Java application launcher
+(`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/start-domain.adoc b/docs/reference-manual/src/main/asciidoc/start-domain.adoc
new file mode 100644
index 0000000..01e6d9d
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/start-domain.adoc
@@ -0,0 +1,222 @@
+type=page
+status=published
+title=start-domain
+next=start-instance.html
+prev=start-database.html
+~~~~~~
+
+= start-domain
+
+[[start-domain-1]][[GSRFM00235]][[start-domain]]
+
+== start-domain
+
+Starts the DAS of the specified domain
+
+[[sthref2125]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] start-domain [--help]
+[--debug={true|false}] [--suspend={true|false}] [--domaindir domain-dir]
+[--dry-run={true|false}] [--upgrade={true|false}]
+[--verbose={true|false}] [--watchdog={true|false}]
+[domain-name]
+----
+
+[[sthref2126]]
+
+=== Description
+
+The `start-domain` subcommand starts the domain administration server
+(DAS) of the specified domain. If a domain is not specified, the default
+domain is assumed. If the domains directory contains two or more
+domains, the domain-name operand must be specified.
+
+[NOTE]
+====
+On the Windows platform, processes can bind to the same port. To avoid
+this problem, do not start multiple domains with the same port number at
+the same time.
+====
+
+This subcommand is supported in local mode only.
+
+[NOTE]
+====
+In {productName}, the `start-domain` subcommand prompts for a
+new admin user password if no password has been set for the admin user.
+Additionally, the admin user password must not be blank if secure
+administration is enabled; otherwise, the `start-domain` subcommand
+fails.
+
+To provide the new admin user password, you can use the `--passwordfile`
+utility option of the link:asadmin.html#asadmin-1m[`asadmin`(1M)] command
+after adding the entry `AS_ADMIN_NEWPASSWORD` to the password file.
+====
+
+[[sthref2127]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--debug`::
+`-d`::
+  Specifies whether the domain is started with
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture (JPDA)]
+  (https://docs.oracle.com/en/java/javase/11/docs/specs/jpda/conninv.html)
+  debugging enabled. With debugging enabled extra exceptions can be printed.
+  Possible values are as follows:
+
+  `true`;;
+    The instance is started with JPDA debugging enabled and the port
+    number for JPDA debugging is displayed.
+  `false`;;
+    The instance is started with JPDA debugging disabled (default).
+
+`--suspend`::
+`-s`::
+  Specifies whether the domain is started with
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture (JPDA)]
+  (https://docs.oracle.com/en/java/javase/11/docs/specs/jpda/conninv.html)
+  debugging enabled and suspend the newly started VM before the main class loads.
+  When a debugger connects, it can send a JDWP command to resume the suspended VM.
+  With debugging enabled extra exceptions can be printed.
+  Possible values are as follows:
+
+  `true`;;
+    The instance is started with JPDA debugging enabled and a suspendPolicy of `SUSPEND_ALL`.
+    The port number for JPDA debugging is displayed.
+  `false`;;
+    The instance is started with JPDA debugging disabled (default).
+
+`--dry-run`::
+`-n`::
+  Suppresses actual starting of the domain. Instead, `start-domain`
+  displays the full java command that would be used to start the domain,
+  including all options. Reviewing this command can be useful to confirm
+  JVM options and when troubleshooting startup issues. +
+  The default value is `false`.
+`--domaindir`::
+  The domain root directory, which contains the directory of the domain
+  that is to be restarted. If specified, the path must be accessible in
+  the file system. The default location of the domain root directory is
+  as-install``/domains``.
+`--upgrade`::
+  Specifies whether the configuration of the domain administration
+  server (DAS) is upgraded to the current release. Normally, if the
+  subcommand detects that the configuration is from an older release of
+  {productName}, the configuration is upgraded automatically before
+  being started. You should not need to use this option explicitly. +
+  Possible values are as follows:
+
+  `true`;;
+    When the domain is started, the configuration is modified to be
+    compatible with this release of {productName}, and the
+    {productName} process stops.
+  `false`;;
+    The configuration of the DAS is not updated (default).
+
+`--verbose`::
+`-v`::
+  Specifies whether detailed information about the domain is displayed
+  in the console window where the subcommand is run. +
+  Possible values are as follows:
+
+  `true`;;
+    Detailed startup messages and log messages about the domain are
+    displayed in the console window where the subcommand is run. If the
+    domain is later restarted by running the
+    link:restart-domain.html#restart-domain-1[`restart-domain`(1)]
+    subcommand from a different console window, messages continue to be
+    displayed in the original console window. +
+    You can kill the {productName} process by typing `CTRL-C` in the
+    console window. +
+    You can kill the {productName} process and obtain a thread dump
+    for the server by typing one of the following key combinations in
+    the console window:
+
+    * `CTRL-\` on UNIX systems
+    * `CTRL-Break` on Windows systems
+
+  `false`;;
+    Detailed information is not displayed (default).
+
+`--watchdog`::
+`-w`::
+  Specifies whether limited information about the domain is displayed in
+  the console window where the subcommand is run. The `--watchdog`
+  option is similar to `--verbose` but does not display the detailed
+  startup messages and log messages. This option is useful when running
+  the `asadmin` utility in the background or with no attached console. +
+  Possible values are as follows:
+
+  `true`;;
+    Limited information is displayed in the console window.
+  `false`;;
+    Limited information is not displayed in the console window
+    (default).
+
+[[sthref2128]]
+
+=== Operands
+
+domain-name::
+  The unique name of the domain you want to start. +
+  This operand is optional if only one domain exists in the {productName} installation.
+
+[[sthref2129]]
+
+=== Examples
+
+[[GSRFM760]][[sthref2130]]
+
+==== Example 1   Starting a Domain
+
+This example starts `mydomain4` in the default domains directory.
+
+[source]
+----
+asadmin> start-domain mydomain4
+Waiting for DAS to start. ...........
+Started domain: mydomain4
+Domain location: /myhome/glassfish7/glassfish/domains/mydomain4
+Log file: /myhome/glassfish7/glassfish/domains/mydomain4/logs/server.log
+Admin port for the domain: 4848
+Command start-domain executed successfully.
+----
+
+[[sthref2131]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2132]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-domain.html#create-domain-1[`create-domain`(1)],
+link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
+link:list-domains.html#list-domains-1[`list-domains`(1)],
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
+
+Java Platform Debugger Architecture (JPDA)
+(https://docs.oracle.com/en/java/javase/11/docs/specs/jpda/conninv.html)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/start-instance.adoc b/docs/reference-manual/src/main/asciidoc/start-instance.adoc
new file mode 100644
index 0000000..aaddcb1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/start-instance.adoc
@@ -0,0 +1,196 @@
+type=page
+status=published
+title=start-instance
+next=start-local-instance.html
+prev=start-domain.html
+~~~~~~
+
+= start-instance
+
+[[start-instance-1]][[GSRFM00236]][[start-instance]]
+
+== start-instance
+
+Starts a {productName} instance
+
+[[sthref2133]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] start-instance [--help]
+[--debug={false|true}] [--sync={normal|full|none}]
+instance-name
+----
+
+[[sthref2134]]
+
+=== Description
+
+The `start-instance` subcommand starts a {productName} instance.
+This subcommand requires the Distributed Component Object Model (DCOM)
+remote protocol or secure shell (SSH) to be configured on the machine
+where the domain administration server (DAS) is running and on the
+machine where the instance resides.
+
+[NOTE]
+====
+DCOM or SSH is not required if the instance resides on a node of type
+`CONFIG` that represents the local host. A node of type `CONFIG` is not
+enabled for remote communication over DCOM or SSH.
+====
+
+You may run this subcommand from any machine that can contact the DAS.
+
+The subcommand can start any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can start an
+instance that was created by using the
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
+subcommand.
+
+This command is supported in remote mode only.
+
+[[sthref2135]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--debug`::
+  Specifies whether the instance is started with
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture (JPDA)]
+  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+  debugging enabled. +
+  Possible values are as follows:
+
+  `true`;;
+    The instance is started with JPDA debugging enabled and the port
+    number for JPDA debugging is displayed.
+  `false`;;
+    The instance is started with JPDA debugging disabled (default).
+
+`--sync`::
+  The type of synchronization between the DAS and the instance's files
+  when the instance is started. +
+  Possible values are as follows:
+
+  `none`;;
+    The DAS does not synchronize the instance's files with any changes.
+    This type of synchronization minimizes the time that is required to
+    start the instance.
+  `normal`;;
+    The DAS synchronizes the instance with changes since the last
+    synchronization as follows:
++
+--
+    * For the `config` directory, the DAS synchronizes the instance with all changes.
+    * For the `applications` directory and `docroot` directory, only a
+      change to a top-level subdirectory causes the DAS to synchronize all
+      files under that subdirectory.
+--
++
+If a file below a top level subdirectory is changed without a change
+    to a file in the top level subdirectory, full synchronization is
+    required. In normal operation, files below the top level
+    subdirectories of these directories are not changed. If an
+    application is deployed and undeployed, full synchronization is not
+    necessary to update the instance with the change. +
+    This value is the default.
+  `full`;;
+    The DAS synchronizes the instance with all of the instance's files,
+    regardless of whether the files have changed since the last
+    synchronization. This type of synchronization might delay the
+    startup of the instance while the DAS updates all files in the
+    instance's directories.
+
+[[sthref2136]]
+
+=== Operands
+
+instance-name::
+  The name of the {productName} instance to start.
+
+[[sthref2137]]
+
+=== Examples
+
+[[GSRFM761]][[sthref2138]]
+
+==== Example 1   Starting a {productName} Instance
+
+This example starts the {productName} instance `pmdsa1`.
+
+[source]
+----
+asadmin> start-instance pmdsa1
+Waiting for the server to start ..............................
+Successfully started the instance: pmdsa1
+instance Location: /export/glassfish7/glassfish/nodes/localhost/pmdsa1
+Log File: /export/glassfish7/glassfish/nodes/localhost/pmdsa1/logs/server.log
+Admin Port: 24848
+Command start-local-instance executed successfully.
+The instance, pmdsa1, was started on host localhost
+
+Command start-instance executed successfully.
+----
+
+[[GSRFM762]][[sthref2139]]
+
+==== Example 2   Starting a {productName} Instance With JPDA Debugging
+Enabled
+
+This example starts the {productName} instance `ymlsa1` with JPDA
+debugging enabled.
+
+[source]
+----
+asadmin> start-instance --debug=true ymlsa1
+Waiting for the server to start ...............................
+Successfully started the instance: ymlsa1
+instance Location: /export/glassfish7/glassfish/nodes/localhost/ymlsa1
+Log File: /export/glassfish7/glassfish/nodes/localhost/ymlsa1/logs/server.log
+Admin Port: 24849
+Debugging is enabled. The debugging port is: 29010
+Command start-local-instance executed successfully.
+The instance, ymlsa1, was started on host localhost
+
+Command start-instance executed successfully.
+----
+
+[[sthref2140]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2141]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
+link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)]
+
+Java Platform Debugger Architecture (JPDA)
+(`http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html`)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/start-local-instance.adoc b/docs/reference-manual/src/main/asciidoc/start-local-instance.adoc
new file mode 100644
index 0000000..cd71a04
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/start-local-instance.adoc
@@ -0,0 +1,238 @@
+type=page
+status=published
+title=start-local-instance
+next=stop-cluster.html
+prev=start-instance.html
+~~~~~~
+
+= start-local-instance
+
+[[start-local-instance-1]][[GSRFM00237]][[start-local-instance]]
+
+== start-local-instance
+
+Starts a {productName} instance on the host where the subcommand is run
+
+[[sthref2142]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] start-local-instance [--help]
+[--nodedir node-dir] [--node node]
+[--debug={false|true}] [--dry-run={true|false}]
+[--sync={normal|full|none}]
+[--verbose={false|true}] [--watchdog={true|false}]
+[instance-name]
+----
+
+[[sthref2143]]
+
+=== Description
+
+The `start-local-instance` subcommand starts a {productName}
+instance on the host where the subcommand is run. This subcommand does
+not require the Distributed Component Object Model (DCOM) remote
+protocol or secure shell (SSH) to be configured. You must run this
+command from the host where the instance resides.
+
+The subcommand can start any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can start an
+instance that was created by using the
+link:create-instance.html#create-instance-1[`create-instance`(1)]
+subcommand.
+
+The `start-local-instance` subcommand does not contact the domain
+administration server (DAS) to determine the node on which the instance
+resides. To determine the node on which the instance resides, the
+subcommand searches the directory that contains the node directories. If
+multiple node directories exist, the node must be specified as an option
+of the subcommand.
+
+This subcommand is supported in local mode. However, to synchronize the
+instance with the DAS, this subcommand must be run in remote mode.
+
+[[sthref2144]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodedir`::
+  Specifies the directory that contains the instance's node directory.
+  The instance's files are stored in the instance's node directory. The
+  default is as-install``/nodes``.
+`--node`::
+  Specifies the node on which the instance resides. This option may be
+  omitted only if the directory that the `--nodedir` option specifies
+  contains only one node directory. Otherwise, this option is required.
+`--debug`::
+`-d`::
+  Specifies whether the instance is started with
+  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
+  Platform Debugger Architecture (JPDA)]
+  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+  debugging enabled.
++
+Possible values are as follows:
+
+  `true`;;
+    The instance is started with JPDA debugging enabled and the port
+    number for JPDA debugging is displayed.
+  `false`;;
+    The instance is started with JPDA debugging disabled (default).
+`--dry-run`::
+`-n`::
+  Suppresses actual starting of the instance. Instead,
+  `start-local-instance` displays the full command that would be used to
+  start the instance, including all options. Reviewing this command can
+  be useful when troubleshooting startup issues. +
+  The default value is `false`.
+
+`--sync`::
+  The type of synchronization between the DAS and the instance's files
+  when the instance is started. +
+  Possible values are as follows:
+  `none`;;
+    The DAS does not synchronize the instance's files with any changes.
+    This type of synchronization minimizes the time that is required to
+    start the instance.
+  `normal`;;
+    The DAS synchronizes the instance with changes since the last
+    synchronization as follows:
+
+    * For the `config` directory, the DAS synchronizes the instance with all changes.
+    * For the `applications` directory and `docroot` directory, only a
+    change to a top-level subdirectory causes the DAS to synchronize all
+    files under that subdirectory.
+
++
+If a file below a top level subdirectory is changed without a change
+    to a file in the top level subdirectory, full synchronization is
+    required. In normal operation, files below the top level
+    subdirectories of these directories are not changed. If an
+    application is deployed and undeployed, full synchronization is not
+    necessary to update the instance with the change. +
+    This value is the default.
+  `full`;;
+    The DAS synchronizes the instance with all of the instance's files,
+    regardless of whether the files have changed since the last
+    synchronization. This type of synchronization might delay the
+    startup of the instance while the DAS updates all files in the
+    instance's directories.
++
+[CAUTION]
+====
+If the DAS is not running or is unreachable from the host where you
+are running this subcommand, do not set the `--sync` option to
+`full`. To perform a full synchronization, the subcommand removes
+the instance's cache. If the DAS cannot be contacted to replace the
+cache, the subcommand fails and the instance cannot be restarted
+until it is resynchronized with the DAS.
+====
+
+`--verbose`::
+`-v`::
+  Specifies whether detailed information about the instance is displayed
+  in the console window where the subcommand is run.
++
+Possible values are as follows:
+
+  `true`;;
+    Detailed startup messages and log messages about the instance are
+    displayed in the console window where the subcommand is run. If the
+    instance is later restarted by running the
+    link:restart-local-instance.html#restart-local-instance-1[`restart-local-instance`(1)]
+    subcommand from a different console window, messages continue to be
+    displayed in the original console window. +
+    You can kill the {productName} process by typing `CTRL-C` in the
+    console window. +
+    You can kill the {productName} process and obtain a thread dump
+    for the server by typing one of the following key combinations in
+    the console window:
+
+    * `CTRL-\` on UNIX systems
+    * `CTRL-Break` on Windows systems
+  `false`;;
+    Detailed information is not displayed (default).
+
+`--watchdog`::
+`-w`::
+  Specifies whether limited information about the instance is displayed
+  in the console window where the subcommand is run. The `--watchdog`
+  option is similar to `--verbose` but does not display the detailed
+  startup messages and log messages. This option is useful when running
+  the `asadmin` utility in the background or with no attached console. +
+  Possible values are as follows:
+
+  `true`;;
+    Limited information is displayed in the console window.
+  `false`;;
+    Limited information is not displayed in the console window
+    (default).
+
+[[sthref2145]]
+
+=== Operands
+
+instance-name::
+  The name of the instance to start.
+
+[[sthref2146]]
+
+=== Examples
+
+[[GSRFM763]][[sthref2147]]
+
+==== Example 1   Starting an Instance Locally
+
+This example starts the instance `yml-i-sj01` on the host where the
+subcommand is run.
+
+[source]
+----
+asadmin> start-local-instance --node sj01 yml-i-sj01
+Waiting for the server to start .................................
+Successfully started the instance: yml-i-sj01
+instance Location: /export/glassfish7/glassfish/nodes/sj01/yml-i-sj01
+Log File: /export/glassfish7/glassfish/nodes/sj01/yml-i-sj01/logs/server.log
+Admin Port: 24849
+Command start-local-instance executed successfully.
+----
+
+[[sthref2148]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2149]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:restart-instance.html#restart-instance-1[`restart-instance`(1)],
+link:restart-local-instance.html#restart-local-instance-1[`restart-local-instance`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+
+Java Platform Debugger Architecture (JPDA)
+(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/stop-cluster.adoc b/docs/reference-manual/src/main/asciidoc/stop-cluster.adoc
new file mode 100644
index 0000000..7b95d6e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/stop-cluster.adoc
@@ -0,0 +1,129 @@
+type=page
+status=published
+title=stop-cluster
+next=stop-database.html
+prev=start-local-instance.html
+~~~~~~
+
+= stop-cluster
+
+[[stop-cluster-1]][[GSRFM00238]][[stop-cluster]]
+
+== stop-cluster
+
+Stops a {productName} cluster
+
+[[sthref2150]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] stop-cluster [--help]
+[--verbose={false|true}]
+[--kill={false|true}]
+[--autohadboverride={true|false}]
+cluster-name
+----
+
+[[sthref2151]]
+
+=== Description
+
+The `stop-cluster` subcommand stops a {productName} cluster by
+stopping all running {productName} instances in the cluster.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2152]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--verbose`::
+  Specifies whether additional progress messages about the status of
+  instances in the cluster are displayed while the cluster is being stopped. +
+  Possible values are as follows:
+
+  `true`;;
+    Additional progress messages about the status of instances in the
+    cluster are displayed.
+  `false`;;
+    No messages about the status of instances in the cluster are
+    displayed.
+
+`--kill`::
+  Specifies whether each instance in the cluster is killed by using
+  functionality of the operating system to terminate the instance
+  process. +
+  Possible values are as follows:
+
+  `false`;;
+    No instances are killed. The subcommand uses functionality of the
+    Java platform to terminate each instance process (default).
+  `true`;;
+    Each instance is killed. The subcommand uses functionality of the
+    operating system to terminate each instance process.
+
+`--autohadboverride`::
+  Do not specify this option. This option is retained for compatibility
+  with earlier releases. If you specify this option, a syntax error does
+  not occur. Instead, the subcommand runs successfully and displays a
+  warning message that the option is ignored.
+
+[[sthref2153]]
+
+=== Operands
+
+cluster-name::
+  The name of the cluster to stop.
+
+[[sthref2154]]
+
+=== Examples
+
+[[GSRFM764]][[sthref2155]]
+
+==== Example 1   Stopping a Cluster
+
+This example stops the cluster `pmdcluster`. Additional progress
+messages about the status of instances in the cluster are displayed
+while the cluster is being stopped.
+
+[source]
+----
+asadmin> stop-cluster --verbose pmdcluster
+stop-instance pmd-i-sj01
+stop-instance pmd-i-sj02
+
+The command stop-instance executed successfully for: pmd-i-sj01 pmd-i-sj02
+
+Command stop-cluster executed successfully.
+----
+
+[[sthref2156]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2157]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
+link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
+link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
+link:start-cluster.html#start-cluster-1[`start-cluster`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/stop-database.adoc b/docs/reference-manual/src/main/asciidoc/stop-database.adoc
new file mode 100644
index 0000000..a51a6dd
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/stop-database.adoc
@@ -0,0 +1,108 @@
+type=page
+status=published
+title=stop-database
+next=stop-domain.html
+prev=stop-cluster.html
+~~~~~~
+
+= stop-database
+
+[[stop-database-1]][[GSRFM00239]][[stop-database]]
+
+== stop-database
+
+Stops the Java DB
+
+[[sthref2158]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] stop-database [--help]
+[--dbuser db-user]
+[--dbhost host] [--dbport port-no]
+----
+
+[[sthref2159]]
+
+=== Description
+
+The `stop-database` subcommand stops a process of the Java DB server.
+Java DB server is available for use with {productName} and is based
+upon Apache Derby. The database is typically started with the
+link:start-database.html#start-database-1[`start-database`(1)]
+subcommand. A single host can have multiple database server processes
+running on different ports. The `stop-database` subcommand stops the
+database server process for the specified port only.
+
+This subcommand is supported in local mode only.
+
+[[sthref2160]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--dbuser`::
+  The user name of the Java DB user that is to stop the server process.
+  This option is required only when Java DB user authentication is enabled. +
+  If this option is omitted, no user is specified. By default, Java DB
+  user authentication is disabled, so no user or password is required.
+`--dbhost`::
+  The host name or IP address of the Java DB server process. The default
+  is the IP address 0.0.0.0, which denotes all network interfaces on the
+  host where you run the `stop-database` subcommand.
+`--dbport`::
+  The port number where the Java DB server listens for client
+  connections. The default is 1527.
+
+[[sthref2161]]
+
+=== Examples
+
+[[GSRFM765]][[sthref2162]]
+
+==== Example 1   Stopping Java DB
+
+This example stops Java DB on host host1 and port 5001.
+
+[source]
+----
+asadmin> stop-database --dbhost host1 --dbport 5001
+Connection obtained for host: host1, port number 5001.
+Shutdown successful.
+Command stop-database executed successfully.
+----
+
+[[sthref2163]]
+
+=== Exit Status
+
+The exit status applies to errors in executing the `asadmin` utility.
+For information on database errors, see the `derby.log` file. This file
+is located in the directory you specify by using the `--dbhome` option
+when you run the `start-database` subcommand. If you did not specify
+`--dbhome`, the value of `DERBY_INSTALL` defaults to
+as-install``/javadb``.
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2164]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:start-database.html#start-database-1[`start-database`(1)]
+
+"link:administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in {productName} Administration Guide
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/stop-domain.adoc b/docs/reference-manual/src/main/asciidoc/stop-domain.adoc
new file mode 100644
index 0000000..fbb6308
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/stop-domain.adoc
@@ -0,0 +1,127 @@
+type=page
+status=published
+title=stop-domain
+next=stop-instance.html
+prev=stop-database.html
+~~~~~~
+
+= stop-domain
+
+[[stop-domain-1]][[GSRFM00240]][[stop-domain]]
+
+== stop-domain
+
+Stops the Domain Administration Server of the specified domain
+
+[[sthref2165]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] stop-domain [--help]
+[--domaindir domaindir]
+[--force={true|false}] [--kill={false|true}]
+[domain-name]
+----
+
+[[sthref2166]]
+
+=== Description
+
+The `stop-domain` subcommand stops the Domain Administration Server
+(DAS) of the specified domain. If the domain directory is not specified,
+the domain in the default domains directory is stopped. If there are two
+or more domains in the domains directory, the domain-name operand must
+be specified.
+
+This subcommand is supported in local or remote mode. If you specify a
+host name, the subcommand assumes you are operating in remote mode,
+which means you must correctly authenticate to the remote server. In
+local mode, you normally do not need to authenticate to the server as
+long as you are running the subcommand as the same user who started the server.
+
+[[sthref2167]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--domaindir`::
+  Specifies the directory of the domain that is to be stopped. If
+  specified, the path must be accessible in the file system. If not
+  specified, the domain in the default as-install``/domains`` directory is
+  stopped.
+`--force`::
+  Specifies whether the domain is forcibly stopped immediately. +
+  Possible values are as follows:
+
+  `true`;;
+    The domain is forcibly stopped immediately (default).
+  `false`;;
+    The subcommand waits until all threads that are associated with the
+    domain are exited before stopping the domain.
+
+`--kill`::
+  Specifies whether the domain is killed by using functionality of the
+  operating system to terminate the domain process. +
+  Possible values are as follows:
+
+  `false`;;
+    The domain is not killed. The subcommand uses functionality of the
+    Java platform to terminate the domain process (default).
+  `true`;;
+    The domain is killed. The subcommand uses functionality of the
+    operating system to terminate the domain process.
+
+[[sthref2168]]
+
+=== Operands
+
+domain-name::
+  The name of the domain you want to stop. Default is the name specified
+  during installation, usually `domain1`.
+
+[[sthref2169]]
+
+=== Examples
+
+[[GSRFM766]][[sthref2170]]
+
+==== Example 1   Stopping a Domain
+
+This example stops the domain named `sampleDomain` in the default
+domains directory.
+
+[source]
+----
+asadmin> stop-domain sampleDomain
+Waiting for the domain to stop .................
+Command stop-domain executed successfully.
+----
+
+[[sthref2171]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2172]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
+link:list-domains.html#list-domains-1[`list-domains`(1)],
+link:restart-domain.html#restart-domain-1[`restart-domain`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/stop-instance.adoc b/docs/reference-manual/src/main/asciidoc/stop-instance.adoc
new file mode 100644
index 0000000..0368438
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/stop-instance.adoc
@@ -0,0 +1,122 @@
+type=page
+status=published
+title=stop-instance
+next=stop-local-instance.html
+prev=stop-domain.html
+~~~~~~
+
+= stop-instance
+
+[[stop-instance-1]][[GSRFM00241]][[stop-instance]]
+
+== stop-instance
+
+Stops a running {productName} instance
+
+[[sthref2173]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] stop-instance [--help]
+[--force={false|true}] [--kill={false|true}]
+instance-name
+----
+
+[[sthref2174]]
+
+=== Description
+
+The `stop-instance` subcommand stops a running {productName} instance.
+
+The subcommand can stop any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can stop an
+instance that was created by using the
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)] subcommand.
+
+This command is supported in remote mode only.
+
+[[sthref2175]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--force`::
+  Specifies whether the instance is forcibly stopped immediately. +
+  Possible values are as follows:
+
+  `true`;;
+    The instance is forcibly stopped immediately (default).
+  `false`;;
+    The subcommand waits until all threads that are associated with the
+    instance are exited before stopping the instance.
+
+`--kill`::
+  Specifies whether the instance is killed by using functionality of the
+  operating system to terminate the instance process. +
+  Possible values are as follows:
+
+  `false`;;
+    The instance is not killed. The subcommand uses functionality of the
+    Java platform to terminate the instance process (default).
+  `true`;;
+    The instance is killed. The subcommand uses functionality of the
+    operating system to terminate the instance process.
+
+[[sthref2176]]
+
+=== Operands
+
+instance-name::
+  This is the name of the {productName} instance to stop.
+
+[[sthref2177]]
+
+=== Examples
+
+This example stops the {productName} instance `yml-i-sj01`.
+
+[[GSRFM767]][[sthref2178]]
+
+==== Example 1   Stopping a {productName} Instance
+
+[source]
+----
+asadmin> stop-instance yml-i-sj01
+The instance, yml-i-sj01, was stopped.
+
+Command stop-instance executed successfully.
+----
+
+[[sthref2179]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2180]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
+link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/stop-local-instance.adoc b/docs/reference-manual/src/main/asciidoc/stop-local-instance.adoc
new file mode 100644
index 0000000..b3ecaa2
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/stop-local-instance.adoc
@@ -0,0 +1,138 @@
+type=page
+status=published
+title=stop-local-instance
+next=undeploy.html
+prev=stop-instance.html
+~~~~~~
+
+= stop-local-instance
+
+[[stop-local-instance-1]][[GSRFM00242]][[stop-local-instance]]
+
+== stop-local-instance
+
+Stops a {productName} instance on the machine where the subcommand is run
+
+[[sthref2181]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] stop-local-instance [--help]
+[--nodedir node-dir] [--node node]
+[--force={true|false}] [--kill={false|true}]
+[instance-name]
+----
+
+[[sthref2182]]
+
+=== Description
+
+The `stop-local-instance` subcommand stops a {productName} instance
+on the machine where the subcommand is run. This subcommand does not
+require secure shell (SSH) to be configured. You must run this command
+from the machine where the instance resides.
+
+The subcommand can stop any {productName} instance, regardless of
+how the instance was created. For example, this subcommand can stop an
+instance that was created by using the
+link:create-instance.html#create-instance-1[`create-instance`(1)] subcommand.
+
+The `stop-local-instance` subcommand does not contact the DAS to
+determine the node on which the instance resides. To determine the node
+on which the instance resides, the subcommand searches the directory
+that contains the node directories. If multiple node directories exist,
+the node must be specified as an option of the subcommand.
+
+This subcommand is supported in local mode.
+
+[[sthref2183]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodedir`::
+  Specifies the directory that contains the instance's node directory.
+  The instance's files are stored in the instance's node directory. The
+  default is as-install``/nodes``.
+`--node`::
+  Specifies the node on which the instance resides. This option may be
+  omitted only if the directory that the `--nodedir` option specifies
+  contains only one node directory. Otherwise, this option is required.
+`--force`::
+  Specifies whether the instance is forcibly stopped immediately. +
+  Possible values are as follows:
+
+  `true`;;
+    The instance is forcibly stopped immediately (default).
+  `false`;;
+    The subcommand waits until all threads that are associated with the
+    instance are exited before stopping the instance.
+
+`--kill`::
+  Specifies whether the instance is killed by using functionality of the
+  operating system to terminate the instance process. +
+  Possible values are as follows:
+
+  `false`;;
+    The instance is not killed. The subcommand uses functionality of the
+    Java platform to terminate the instance process (default).
+  `true`;;
+    The instance is killed. The subcommand uses functionality of the
+    operating system to terminate the instance process.
+
+[[sthref2184]]
+
+=== Operands
+
+instance-name::
+  The name of the instance to stop.
+
+[[sthref2185]]
+
+=== Examples
+
+[[GSRFM768]][[sthref2186]]
+
+==== Example 1   Stopping an Instance Locally
+
+This example stops the instance `yml-i-sj01` on the machine where the
+subcommand is run.
+
+[source]
+----
+asadmin> stop-local-instance --node sj01 yml-i-sj01
+Waiting for the instance to stop ...
+Command stop-local-instance executed successfully.
+----
+
+[[sthref2187]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2188]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-instance.html#create-instance-1[`create-instance`(1)],
+link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
+link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
+link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
+link:start-instance.html#start-instance-1[`start-instance`(1)],
+link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
+link:stop-instance.html#stop-instance-1[`stop-instance`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/title.adoc b/docs/reference-manual/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..08a9240
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/title.adoc
@@ -0,0 +1,55 @@
+type=page
+status=published
+title={productName} Reference Manual, Release 7
+next=preface.html
+prev=toc.html
+~~~~~~
+
+= {productName} Reference Manual, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Reference Manual
+
+Release 7
+
+Contributed 2018 - 2022
+
+This reference manual describes administration commands and utility
+commands that are available with {productName} 7.
+This reference manual also describes concepts that are related to
+{productName} administration.
+
+The available options, arguments, and operands for each command are
+provided in accordance with standard rules of command syntax, along with
+availability attributes, diagnostic information, and cross-references to
+other manual pages and reference material with relevant information.
+
+This reference manual is for all users of {productName}.
+
+[[sthref1]]
+
+'''''
+
+{productName} Reference Manual, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/reference-manual/src/main/asciidoc/undeploy.adoc b/docs/reference-manual/src/main/asciidoc/undeploy.adoc
new file mode 100644
index 0000000..1f2a59c
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/undeploy.adoc
@@ -0,0 +1,157 @@
+type=page
+status=published
+title=undeploy
+next=unfreeze-transaction-service.html
+prev=stop-local-instance.html
+~~~~~~
+
+= undeploy
+
+[[undeploy-1]][[GSRFM00244]][[undeploy]]
+
+== undeploy
+
+Removes a deployed component
+
+[[sthref2189]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] undeploy [--help]
+[--target target] [--droptables={true|false}]
+[--cascade={false|true}] name
+----
+
+[[sthref2190]]
+
+=== Description
+
+The `undeploy` subcommand uninstalls a deployed application or module
+and removes it from the repository.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2191]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--cascade`::
+  If set to `true`, deletes all the connection pools and connector
+  resources associated with the resource adapter being undeployed. If
+  set to `false`, the undeploy fails if any pools and resources are
+  still associated with the resource adapter. Then, either those pools
+  and resources must be deleted explicitly, or the option must be set to
+  `true`. If the option is set to `false`, and if there are no pools and
+  resources still associated with the resource adapter, the resource
+  adapter is undeployed. This option is applicable to connectors
+  (resource adapters) and applications. Default value is false.
+`--droptables`::
+  If set to true, drops the tables that the application created by using
+  CMP beans during deployment. If set to false, tables are not dropped.
+  If not specified, the value of the `drop-tables-at-deploy` entry in
+  the `cmp-resource` element of the `glassfish-ejb-jar.xml` file
+  determines whether or not tables are dropped. Default value is true.
+`--target`::
+  Specifies the target from which you are undeploying. Valid values are:
+
+  `server`;;
+    Undeploys the component from the default server instance `server`
+    and is the default value.
+  `domain`;;
+    Undeploys the component from the domain.
+  cluster_name;;
+    Undeploys the component from every server instance in the cluster.
+  instance_name;;
+    Undeploys the component from a particular stand-alone server
+    instance.
+
+[[sthref2192]]
+
+=== Operands
+
+name::
+  Name of the deployed component. +
+  The name can include an optional version identifier, which follows the
+  name and is separated from the name by a colon (`:`). The version
+  identifier must begin with a letter or number. It can contain
+  alphanumeric characters plus underscore (`_`), dash (`-`), and period
+  (`.`) characters. To delete multiple versions, you can use an asterisk
+  (`*`) as a wildcard character. For more information about module and
+  application versions, see "link:application-deployment-guide/overview.html#GSDPG00324[
+  Module and Application Versions]" in {productName} Application
+  Deployment Guide.
+
+[[sthref2193]]
+
+=== Examples
+
+[[GSRFM769]][[sthref2194]]
+
+==== Example 1   Undeploying an Enterprise Application
+
+This example undeploys an enterprise application named `Cart.ear`.
+
+[source]
+----
+asadmin> undeploy Cart
+Command undeploy executed successfully.
+----
+
+[[GSRFM770]][[sthref2195]]
+
+==== Example 2   Undeploying an Enterprise Bean With Container-Managed Persistence (CMP)
+
+This example undeploys a CMP bean named `myejb` and drops the
+corresponding database tables.
+
+[source]
+----
+asadmin> undeploy --droptables=true myejb
+Command undeploy executed successfully.
+----
+
+[[GSRFM771]][[sthref2196]]
+
+==== Example 3   Undeploying a Connector (Resource Adapter)
+
+This example undeploys the connector module named `jdbcra` and performs
+a cascading delete to remove the associated resources and connection
+pools.
+
+[source]
+----
+asadmin> undeploy --cascade=true jdbcra
+Command undeploy executed successfully.
+----
+
+[[sthref2197]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2198]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:deploy.html#deploy-1[`deploy`(1)],
+link:list-components.html#list-components-1[`list-components`(1)],
+link:redeploy.html#redeploy-1[`redeploy`(1)]
+
+link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
+Guide]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/unfreeze-transaction-service.adoc b/docs/reference-manual/src/main/asciidoc/unfreeze-transaction-service.adoc
new file mode 100644
index 0000000..97f386f
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/unfreeze-transaction-service.adoc
@@ -0,0 +1,99 @@
+type=page
+status=published
+title=unfreeze-transaction-service
+next=uninstall-node.html
+prev=undeploy.html
+~~~~~~
+
+= unfreeze-transaction-service
+
+[[unfreeze-transaction-service-1]][[GSRFM00245]][[unfreeze-transaction-service]]
+
+== unfreeze-transaction-service
+
+Resumes all suspended transactions
+
+[[sthref2199]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] unfreeze-transaction-service [--help]
+[--target target]
+----
+
+[[sthref2200]]
+
+=== Description
+
+The `unfreeze-transaction-service` subcommand restarts the transaction
+subsystem and resumes all in-flight transactions. Invoke this subcommand
+on an already frozen transaction subsystem. This subcommand is supported
+in remote mode only.
+
+[[sthref2201]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--target`::
+  This option specifies the target on which you are unfreezing the
+  transaction service. Valid values are:
+
+  `server`;;
+    Unfreezes the transaction service for the default server instance
+    `server` and is the default value.
+  configuration_name;;
+    Unfreezes the transaction service for all server instances that use
+    the named configuration.
+  cluster_name;;
+    Unfreezes the transaction service for every server instance in the
+    cluster.
+  instance_name;;
+    Unfreezes the transaction service for a particular server instance.
+
+[[sthref2202]]
+
+=== Examples
+
+[[GSRFM772]][[sthref2203]]
+
+==== Example 1   Using unfreeze-transaction-service
+
+[source]
+----
+% asadmin unfreeze-transaction-service
+Command unfreeze-transaction-service executed successfully
+----
+
+[[sthref2204]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2205]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:freeze-transaction-service.html#freeze-transaction-service-1[`freeze-transaction-service`(1)],
+link:recover-transactions.html#recover-transactions-1[`recover-transactions`(1)],
+link:rollback-transaction.html#rollback-transaction-1[`rollback-transaction`(1)]
+
+"link:administration-guide/transactions.html#GSADG00022[Administering Transactions]" in {productName} Administration Guide
+
+"https://eclipse-ee4j.github.io/jakartaee-tutorial/#transactions[Transactions]"
+in The Jakarta EE Tutorial
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/uninstall-node-dcom.adoc b/docs/reference-manual/src/main/asciidoc/uninstall-node-dcom.adoc
new file mode 100644
index 0000000..cc8db60
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/uninstall-node-dcom.adoc
@@ -0,0 +1,179 @@
+type=page
+status=published
+title=uninstall-node-dcom
+next=uninstall-node-ssh.html
+prev=uninstall-node.html
+~~~~~~
+
+= uninstall-node-dcom
+
+[[uninstall-node-dcom-1]][[GSRFM775]][[uninstall-node-dcom]]
+
+== uninstall-node-dcom
+
+Uninstalls {productName} software from specified DCOM-enabled hosts
+
+[[sthref2215]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] uninstall-node-dcom [--help]
+[--installdir as-install-parent]
+[--windowsuser windows-user] [--windowsdomain windows-domain]
+[--force={false|true}]
+host-list
+----
+
+[[sthref2216]]
+
+=== Description
+
+The `uninstall-node-dcom` subcommand uninstalls {productName}
+software from the hosts that are specified as the operand of the
+subcommand. This subcommand requires the Distributed Component Object
+Model (DCOM) remote protocol to be configured on the host where the
+subcommand is run and on each host where the {productName} software
+is being uninstalled.
+
+[NOTE]
+====
+To uninstall {productName} software on hosts that use secure shell
+(SSH), use the
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
+subcommand.
+====
+
+By default, if any node except the predefined node ``localhost-``domain
+resides on any host from which {productName} software is being
+uninstalled, the subcommand fails. To uninstall the {productName}
+software from a host on which user-defined nodes reside, set the
+`--force` option to `true`. If the `--force` option is `true`, the
+subcommand removes the entire content of the parent of the base
+installation directory.
+
+If a file under the parent of the base installation directory is open,
+the subcommand fails.
+
+If multiple hosts are specified, the configuration of the following
+items must be the same on all hosts:
+
+* Parent of the base installation directory for the {productName} software
+* Windows user
+* Windows domain
+
+The subcommand does not modify the configuration of the domain
+administration server (DAS).
+
+This subcommand is supported in local mode only.
+
+[[sthref2217]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--installdir`::
+  The absolute path to the parent of the base installation directory
+  where the {productName} software is installed on each host, for
+  example, `C:\glassfish7`. +
+  The user that is running this subcommand must have write access to the
+  specified directory. Otherwise, an error occurs. +
+  The specified directory must contain the installation of the
+  {productName} software on the host. Otherwise, an error occurs. +
+  The default is the parent of the base installation directory of the
+  {productName} software on the host where this subcommand is run.
+`--windowsuser`::
+`-w`::
+  The user on this node's host that is to run the process for connecting
+  to the host through DCOM. The default is the user that is running the
+  DAS process.
+`--windowsdomain`::
+`-d`::
+  The name of the Windows domain that contains the user that the
+  `--windowsuser` option specifies. The default is the name of the host
+  on which the subcommand is run.
+`--force`::
+  Specifies whether the subcommand uninstalls the {productName}
+  software from a host even if a user-defined node resides on the host.
+  Possible values are as follows:
+
+  `false`;;
+    If a user-defined node resides on a host, the software is not
+    uninstalled and the subcommand fails (default). +
+    If the `--force` option is `false`, the subcommand removes only the
+    {productName} software files. Other content if the parent of the
+    base installation directory, such as configuration files, are not removed.
+  `true`;;
+    The subcommand uninstalls the {productName} software from the
+    host even if a user-defined node resides on the host.
+
++
+If the `--force` option is `true`, the subcommand removes the entire
+    content of the parent of the base installation directory.
+
+[[sthref2218]]
+
+=== Operands
+
+host-list::
+  A space-separated list of the names of the hosts from which the
+  {productName} software is to be uninstalled.
+
+[[sthref2219]]
+
+=== Examples
+
+[[GSRFM776]][[sthref2220]]
+
+==== Example 1   Uninstalling {productName} Software From the Default Location
+
+This example uninstalls {productName} software on the hosts
+`wpmdl1.example.com` and `wpmdl2.example.com` from the default location.
+
+[source]
+----
+asadmin> uninstall-node-dcom wpmdl1 wpmdl2
+Command uninstall-node-dcom executed successfully.
+----
+
+[[GSRFM777]][[sthref2221]]
+
+==== Example 2   Forcibly Uninstalling {productName} Software
+
+This example uninstalls {productName} software on the host
+`xkyd.example.com`.
+
+The software is uninstalled even if a user-defined node resides on the
+host. The entire content of the `C:\glassfish7` directory is removed.
+
+[source]
+----
+asadmin> uninstall-node-dcom --force --installdir C:\glassfish7 xkyd.example.com
+Command uninstall-node-dcom executed successfully.
+----
+
+[[sthref2222]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2223]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/uninstall-node-ssh.adoc b/docs/reference-manual/src/main/asciidoc/uninstall-node-ssh.adoc
new file mode 100644
index 0000000..6ab1d55
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/uninstall-node-ssh.adoc
@@ -0,0 +1,210 @@
+type=page
+status=published
+title=uninstall-node-ssh
+next=unset.html
+prev=uninstall-node-dcom.html
+~~~~~~
+
+= uninstall-node-ssh
+
+[[uninstall-node-ssh-1]][[GSRFM778]][[uninstall-node-ssh]]
+
+== uninstall-node-ssh
+
+Uninstalls {productName} software from specified SSH-enabled hosts
+
+[[sthref2224]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] uninstall-node-ssh [--help]
+[--installdir as-install-parent]
+[--sshport ssh-port] [--sshuser ssh-user]
+[--sshkeyfile ssh-keyfile]
+[--force={false|true}]
+host-list
+----
+
+[[sthref2225]]
+
+=== Description
+
+The `uninstall-node-ssh` subcommand uninstalls {productName}
+software from the hosts that are specified as the operand of the
+subcommand. This subcommand requires secure shell (SSH) to be configured
+on the host where the subcommand is run and on each host where the
+{productName} software is being uninstalled.
+
+[NOTE]
+====
+This subcommand is equivalent to the
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)]
+subcommand. To uninstall {productName} software from hosts that use
+the Distributed Component Object Model (DCOM) remote protocol, use the
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
+subcommand.
+====
+
+By default, if any node except the predefined node ``localhost-``domain
+resides on any host from which {productName} software is being
+uninstalled, the subcommand fails. To uninstall the {productName}
+software from a host on which user-defined nodes reside, set the
+`--force` option to `true`. If the `--force` option is `true`, the
+subcommand removes the entire content of the parent of the base
+installation directory.
+
+If a file under the parent of the base installation directory is open,
+the subcommand fails.
+
+If multiple hosts are specified, the configuration of the following
+items must be the same on all hosts:
+
+* Parent of the base installation directory for the {productName} software
+* SSH port
+* SSH user
+* SSH key file
+
+The subcommand does not modify the configuration of the domain
+administration server (DAS).
+
+This subcommand is supported in local mode only.
+
+[[sthref2226]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--installdir`::
+  The absolute path to the parent of the base installation directory
+  where the {productName} software is installed on each host, for
+  example, `/export/glassfish7/`. +
+  The user that is running this subcommand must have write access to the
+  specified directory. Otherwise, an error occurs. +
+  The specified directory must contain the installation of the
+  {productName} software on the host. Otherwise, an error occurs. +
+  The default is the parent of the base installation directory of the
+  {productName} software on the host where this subcommand is run.
+`--sshport`::
+  The port to use for SSH connections to the host where the
+  {productName} software is to be uninstalled. The default is 22.
+`--sshuser`::
+  The user on the host where the {productName} software is to be
+  uninstalled that is to run the process for connecting through SSH to
+  the host. The default is the user that is running this subcommand. To
+  ensure that the DAS can read this user's SSH private key file, specify
+  the user that is running the DAS process.
+`--sshkeyfile`::
+  The absolute path to the SSH private key file for user that the
+  `--sshuser` option specifies. This file is used for authentication to
+  the `sshd` daemon on the host. +
+  The user that is running this subcommand must be able to reach the
+  path to the key file and read the key file. +
+  The default is a key file in the user's `.ssh` directory. If multiple
+  key files are found, the subcommand uses the following order of preference:
+  1.  `id_rsa`
+  2.  `id_dsa`
+  3.  `identity`
+`--force`::
+  Specifies whether the subcommand uninstalls the {productName}
+  software from a host even if a user-defined node resides on the host.
+  Possible values are as follows:
+
+  `false`;;
+    If a user-defined node resides on a host, the software is not
+    uninstalled and the subcommand fails (default). +
+    If the `--force` option is `false`, the subcommand removes only the
+    {productName} software files. Other content if the parent of the
+    base installation directory, such as configuration files, are not
+    removed.
+  `true`;;
+    The subcommand uninstalls the {productName} software from the
+    host even if a user-defined node resides on the host.
+
++
+If the `--force` option is `true`, the subcommand removes the entire
+    content of the parent of the base installation directory.
+
+[[sthref2227]]
+
+=== Operands
+
+host-list::
+  A space-separated list of the names of the hosts from which the
+  {productName} software is to be uninstalled.
+
+[[sthref2228]]
+
+=== Examples
+
+[[GSRFM779]][[sthref2229]]
+
+==== Example 1   Uninstalling {productName} Software From the Default Location
+
+This example uninstalls {productName} software on the hosts
+`sj03.example.com` and `sj04.example.com` from the default location.
+
+[source]
+----
+asadmin> uninstall-node-ssh sj03 sj04
+Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Command uninstall-node-ssh executed successfully.
+----
+
+[[GSRFM780]][[sthref2230]]
+
+==== Example 2   Forcibly Uninstalling {productName} Software
+
+This example uninstalls {productName} software on the host
+`sj02.example.com`.
+
+The software is uninstalled even if a user-defined node resides on the
+host. The entire content of the `/export/glassfish7` directory is
+removed.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> uninstall-node-ssh --force --installdir /export/glassfish7 sj02.example.com
+Successfully connected to gfuser@sj02.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Force removing file /export/glassfish7/mq/lib/help/en/add_overrides.htm
+Force removing file /export/glassfish7/mq/lib/help/en/add_connfact.htm
+...
+Force removing directory /export/glassfish7/glassfish/lib/appclient
+Force removing directory /export/glassfish7/glassfish/lib
+Force removing directory /export/glassfish7/glassfish
+Command uninstall-node-ssh executed successfully.
+----
+
+[[sthref2231]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2232]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/uninstall-node.adoc b/docs/reference-manual/src/main/asciidoc/uninstall-node.adoc
new file mode 100644
index 0000000..964b39a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/uninstall-node.adoc
@@ -0,0 +1,211 @@
+type=page
+status=published
+title=uninstall-node
+next=uninstall-node-dcom.html
+prev=unfreeze-transaction-service.html
+~~~~~~
+
+= uninstall-node
+
+[[uninstall-node-1]][[GSRFM00246]][[uninstall-node]]
+
+== uninstall-node
+
+Uninstalls {productName} software from specified hosts
+
+[[sthref2206]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] uninstall-node [--help]
+[--installdir as-install-parent]
+[--sshport ssh-port] [--sshuser ssh-user]
+[--sshkeyfile ssh-keyfile]
+[--force={false|true}]
+host-list
+----
+
+[[sthref2207]]
+
+=== Description
+
+The `uninstall-node` subcommand uninstalls {productName} software
+from the hosts that are specified as the operand of the subcommand. This
+subcommand requires secure shell (SSH) to be configured on the host
+where the subcommand is run and on each host where the {productName}
+software is being uninstalled.
+
+[NOTE]
+====
+This subcommand is equivalent to the
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
+subcommand. To uninstall {productName} software on hosts that use
+the Distributed Component Object Model (DCOM) remote protocol, use the
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
+subcommand.
+====
+
+By default, if any node except the predefined node ``localhost-``domain
+resides on any host from which {productName} software is being
+uninstalled, the subcommand fails. To uninstall the {productName}
+software from a host on which user-defined nodes reside, set the
+`--force` option to `true`. If the `--force` option is `true`, the
+subcommand removes the entire content of the parent of the base
+installation directory.
+
+If a file under the parent of the base installation directory is open,
+the subcommand fails.
+
+If multiple hosts are specified, the configuration of the following
+items must be the same on all hosts:
+
+* Parent of the base installation directory for the {productName} software
+* SSH port
+* SSH user
+* SSH key file
+
+The subcommand does not modify the configuration of the domain
+administration server (DAS).
+
+This subcommand is supported in local mode only.
+
+[[sthref2208]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--installdir`::
+  The absolute path to the parent of the base installation directory
+  where the {productName} software is installed on each host, for
+  example, `/export/glassfish7/`. +
+  The user that is running this subcommand must have write access to the
+  specified directory. Otherwise, an error occurs. +
+  The specified directory must contain the installation of the
+  {productName} software on the host. Otherwise, an error occurs. +
+  The default is the parent of the base installation directory of the
+  {productName} software on the host where this subcommand is run.
+`--sshport`::
+  The port to use for SSH connections to the host where the
+  {productName} software is to be uninstalled. The default is 22.
+`--sshuser`::
+  The user on the host where the {productName} software is to be
+  uninstalled that is to run the process for connecting through SSH to
+  the host. The default is the user that is running this subcommand. To
+  ensure that the DAS can read this user's SSH private key file, specify
+  the user that is running the DAS process.
+`--sshkeyfile`::
+  The absolute path to the SSH private key file for user that the
+  `--sshuser` option specifies. This file is used for authentication to
+  the `sshd` daemon on the host. +
+  The user that is running this subcommand must be able to reach the
+  path to the key file and read the key file. +
+  The default is a key file in the user's `.ssh` directory. If multiple
+  key files are found, the subcommand uses the following order of preference:
+  1.  `id_rsa`
+  2.  `id_dsa`
+  3.  `identity`
+`--force`::
+  Specifies whether the subcommand uninstalls the {productName}
+  software from a host even if a user-defined node resides on the host.
+  Possible values are as follows:
+
+  `false`;;
+    If a user-defined node resides on a host, the software is not
+    uninstalled and the subcommand fails (default). +
+    If the `--force` option is `false`, the subcommand removes only the
+    {productName} software files. Other content if the parent of the
+    base installation directory, such as configuration files, are not
+    removed.
+  `true`;;
+    The subcommand uninstalls the {productName} software from the
+    host even if a user-defined node resides on the host.
+
++
+If the `--force` option is `true`, the subcommand removes the entire
+    content of the parent of the base installation directory.
+
+[[sthref2209]]
+
+=== Operands
+
+host-list::
+  A space-separated list of the names of the hosts from which the
+  {productName} software is to be uninstalled.
+
+[[sthref2210]]
+
+=== Examples
+
+[[GSRFM773]][[sthref2211]]
+
+==== Example 1   Uninstalling {productName} Software From the Default Location
+
+This example uninstalls {productName} software on the hosts
+`sj03.example.com` and `sj04.example.com` from the default location.
+
+[source]
+----
+asadmin> uninstall-node sj03 sj04
+Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Command uninstall-node executed successfully.
+----
+
+[[GSRFM774]][[sthref2212]]
+
+==== Example 2   Forcibly Uninstalling {productName} Software
+
+This example uninstalls {productName} software on the host
+`sj02.example.com`.
+
+The software is uninstalled even if a user-defined node resides on the
+host. The entire content of the `/export/glassfish7` directory is
+removed.
+
+Some lines of output are omitted from this example for readability.
+
+[source]
+----
+asadmin> uninstall-node --force --installdir /export/glassfish7 sj02.example.com
+Successfully connected to gfuser@sj02.example.com using keyfile /home/gfuser
+/.ssh/id_rsa
+Force removing file /export/glassfish7/mq/lib/help/en/add_overrides.htm
+Force removing file /export/glassfish7/mq/lib/help/en/add_connfact.htm
+...
+Force removing directory /export/glassfish7/glassfish/lib/appclient
+Force removing directory /export/glassfish7/glassfish/lib
+Force removing directory /export/glassfish7/glassfish
+Command uninstall-node executed successfully.
+----
+
+[[sthref2213]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2214]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/unset-web-context-param.adoc b/docs/reference-manual/src/main/asciidoc/unset-web-context-param.adoc
new file mode 100644
index 0000000..f06f6b1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/unset-web-context-param.adoc
@@ -0,0 +1,145 @@
+type=page
+status=published
+title=unset-web-context-param
+next=unset-web-env-entry.html
+prev=unset.html
+~~~~~~
+
+= unset-web-context-param
+
+[[unset-web-context-param-1]][[GSRFM00248]][[unset-web-context-param]]
+
+== unset-web-context-param
+
+Unsets a servlet context-initialization parameter of a deployed web
+application or module
+
+[[sthref2242]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] unset-web-context-param [--help]
+--name=context-param-name application-name[/module]
+----
+
+[[sthref2243]]
+
+=== Description
+
+The `unset-web-context-param` subcommand unsets a servlet
+context-initialization parameter of one of the following items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE) application
+
+When a parameter is unset, its value reverts to the value, if any, that
+is set in the application's deployment descriptor.
+
+The application must already be deployed. Otherwise, an error occurs.
+
+The parameter must have previously been set by using the
+`set-web-context-param` subcommand. Otherwise, an error occurs.
+
+[NOTE]
+====
+Do not use the `unset-web-context-param` subcommand to change the value
+of a servlet context-initialization parameter that is set in an
+application's deployment descriptor. Instead, use the
+link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)]
+subcommand for this purpose.
+====
+
+This subcommand enables you to change the configuration of a deployed
+application without the need to modify the application's deployment
+descriptors and repackage and redeploy the application.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2244]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  The name of the servlet context-initialization parameter that is to be
+  unset. This parameter must have previously been set by using the
+  `set-web-context-param` subcommand. Otherwise, an error occurs.
+
+[[sthref2245]]
+
+=== Operands
+
+application-name::
+  The name of the application. This name can be obtained from the
+  Administration Console or by using the
+  link:list-applications.html#list-applications-1[`list-applications`(1)] subcommand. +
+  The application must already be deployed. Otherwise, an error occurs.
+module::
+  The relative path to the module within the application's enterprise
+  archive (EAR) file. The path to the module is specified in the
+  `module` element of the application's `application.xml` file. +
+  module is required only if the servlet context-initialization
+  parameter applies to a web module of a Jakarta EE application. If
+  specified, module must follow application-name, separated by a slash (`/`). +
+  For example, the `application.xml` file for the `myApp` application
+  might specify the following web module:
++
+[source,xml]
+----
+<module>
+    <web>
+        <web-uri>myWebModule.war</web-uri>
+    </web>
+</module>
+----
++
+The module would be specified as the operand of this command as `myApp/myWebModule.war`.
+
+[[sthref2246]]
+
+=== Examples
+
+[[GSRFM783]][[sthref2247]]
+
+==== Example 1   Unsetting a Servlet Context-Initialization Parameter for a Web Application
+
+This example unsets the servlet context-initialization parameter
+`javax.faces.STATE_SAVING_METHOD` of the web application `basic-ezcomp`.
+The parameter reverts to the value, if any, that is defined in the
+application's deployment descriptor.
+
+[source]
+----
+asadmin> unset-web-context-param
+--name=javax.faces.STATE_SAVING_METHOD basic-ezcomp
+
+Command unset-web-context-param executed successfully.
+----
+
+[[sthref2248]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2249]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:list-web-context-param.html#list-web-context-param-1[`list-web-context-param`(1)],
+link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/unset-web-env-entry.adoc b/docs/reference-manual/src/main/asciidoc/unset-web-env-entry.adoc
new file mode 100644
index 0000000..b0a634e
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/unset-web-env-entry.adoc
@@ -0,0 +1,144 @@
+type=page
+status=published
+title=unset-web-env-entry
+next=update-connector-security-map.html
+prev=unset-web-context-param.html
+~~~~~~
+
+= unset-web-env-entry
+
+[[unset-web-env-entry-1]][[GSRFM00249]][[unset-web-env-entry]]
+
+== unset-web-env-entry
+
+Unsets an environment entry for a deployed web application or module
+
+[[sthref2250]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] unset-web-env-entry [--help]
+--name=env-entry-name application-name[/module]
+----
+
+[[sthref2251]]
+
+=== Description
+
+The `unset-web-env-entry` subcommand unsets an environment entry for one
+of the following items:
+
+* A deployed web application
+* A web module in a deployed Java Platform, Enterprise Edition (Jakarta EE) application
+
+When an entry is unset, its value reverts to the value, if any, that is
+set in the application's deployment descriptor.
+
+The application must already be deployed. Otherwise, an error occurs.
+
+The entry must have previously been set by using the
+link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)]
+subcommand. Otherwise, an error occurs.
+
+[NOTE]
+====
+Do not use the `unset-web-env-entry` subcommand to change the value of
+an environment entry that is set in an application's deployment
+descriptor. Instead, use the `set-web-env-entry` subcommand for this
+purpose.
+====
+
+This subcommand enables you to change the configuration of a deployed
+application without the need to modify the application's deployment
+descriptors and repackage and redeploy the application.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2252]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--name`::
+  The name of the environment entry that is to be unset. The name is a
+  JNDI name relative to the `java:comp/env` context. The name must be
+  unique within a deployment component. This entry must have previously
+  been set by using the `set-web-env-entry` subcommand. Otherwise, an
+  error occurs.
+
+[[sthref2253]]
+
+=== Operands
+
+application-name::
+  The name of the application. This name can be obtained from the
+  Administration Console or by using the
+  link:list-applications.html#list-applications-1[`list-applications`(1)] subcommand. +
+  The application must already be deployed. Otherwise, an error occurs.
+module::
+  The relative path to the module within the application's enterprise
+  archive (EAR) file. The path to the module is specified in the
+  `module` element of the application's `application.xml` file. +
+  module is required only if the environment entry applies to a web
+  module of a Jakarta EE application. If specified, module must follow
+  application-name, separated by a slash (`/`). +
+  For example, the `application.xml` file for the `myApp` application
+  might specify the following web module:
++
+[source,xml]
+----
+<module>
+    <web>
+        <web-uri>myWebModule.war</web-uri>
+    </web>
+</module>
+----
++
+The module would be specified as the operand of this command as `myApp/myWebModule.war`.
+
+[[sthref2254]]
+
+=== Examples
+
+[[GSRFM784]][[sthref2255]]
+
+==== Example 1   Unsetting an Environment Entry for a Web Application
+
+This example unsets the environment entry `Hello User` of the web
+application `hello`. The entry reverts to the value, if any, that is
+defined in the application's deployment descriptor.
+
+[source]
+----
+asadmin> unset-web-env-entry --name="Hello User" hello
+
+Command unset-web-env-entry executed successfully.
+----
+
+[[sthref2256]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2257]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-applications.html#list-applications-1[`list-applications`(1)],
+link:list-web-env-entry.html#list-web-env-entry-1[`list-web-env-entry`(1)],
+link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/unset.adoc b/docs/reference-manual/src/main/asciidoc/unset.adoc
new file mode 100644
index 0000000..2bc4c9f
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/unset.adoc
@@ -0,0 +1,111 @@
+type=page
+status=published
+title=unset
+next=unset-web-context-param.html
+prev=uninstall-node-ssh.html
+~~~~~~
+
+unset
+=====
+
+[[unset-1]][[GSRFM00247]][[unset]]
+
+unset
+-----
+
+Removes one or more variables from the multimode environment
+
+[[sthref2233]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] unset [--help]
+variable-list
+----
+
+[[sthref2234]]
+
+=== Description
+
+The `unset` subcommand removes one or more environment variables that
+are set for the multimode environment. After removal, the variables and
+their associated values no longer apply to the multimode environment.
+
+To list the environment variables that are set, use the `export`
+subcommand without options. If the `export` subcommand lists no
+environment variables, no environment variables are set.
+
+This subcommand is supported in local mode only.
+
+[[sthref2235]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref2236]]
+
+=== Operands
+
+variable-list::
+  A space-separated list of the environment variables to remove.
+
+[[sthref2237]]
+
+=== Examples
+
+[[GSRFM781]][[sthref2238]]
+
+==== Example 1   Listing the Environment Variables That Are Set
+
+This example uses the `export` subcommand to list the environment
+variables that have been set.
+
+[source]
+----
+asadmin> export
+AS_ADMIN_USER = admin
+AS_ADMIN_HOST = bluestar
+AS_ADMIN_PREFIX = server1.jms-service
+AS_ADMIN_PORT = 8000
+Command export executed successfully
+----
+
+[[GSRFM782]][[sthref2239]]
+
+==== Example 2   Removing an Environment Variable
+
+This example removes the `AS_ADMIN_PREFIX` environment variable.
+
+[source]
+----
+asadmin> unset AS_ADMIN_PREFIX
+Command unset executed successfully
+----
+
+[[sthref2240]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2241]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:export.html#export-1[`export`(1)],
+link:multimode.html#multimode-1[`multimode`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/update-connector-security-map.adoc b/docs/reference-manual/src/main/asciidoc/update-connector-security-map.adoc
new file mode 100644
index 0000000..1591573
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/update-connector-security-map.adoc
@@ -0,0 +1,116 @@
+type=page
+status=published
+title=update-connector-security-map
+next=update-connector-work-security-map.html
+prev=unset-web-env-entry.html
+~~~~~~
+
+= update-connector-security-map
+
+[[update-connector-security-map-1]][[GSRFM00252]][[update-connector-security-map]]
+
+== update-connector-security-map
+
+Modifies a security map for the specified connector connection pool
+
+[[sthref2258]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] update-connector-security-map [--help]
+--poolname connector_connection_pool_name
+[--addprincipals principal_name1[,principal_name2]*]
+[--addusergroups user_group1[,user_group2]*]
+[--removeprincipals principal_name1[,principal_name2]*]
+[--removeusergroups user_group1[,user_group2]*]
+[--mappedusername username]
+mapname
+----
+
+[[sthref2259]]
+
+=== Description
+
+The `update-connector-security-map` subcommand modifies a security map
+for the specified connector connection pool.
+
+For this subcommand to succeed, you must have first created a connector
+connection pool using the `create-connector-connection-pool` subcommand.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2260]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--poolname`::
+  Specifies the name of the connector connection pool to which the
+  security map that is to be updated belongs.
+`--addprincipals`::
+  Specifies a comma-separated list of EIS-specific principals to be
+  added. Use either the `--addprincipals` or `--addusergroups` options,
+  but not both in the same command.
+`--addusergroups`::
+  Specifies a comma-separated list of EIS user groups to be added. Use
+  either the `--addprincipals` or `--addusergroups` options, but not
+  both in the same command.
+`--removeprincipals`::
+  Specifies a comma-separated list of EIS-specific principals to be
+  removed.
+`--removeusergroups`::
+  Specifies a comma-separated list of EIS user groups to be removed.
+`--mappedusername`::
+  Specifies the EIS username.
+
+[[sthref2261]]
+
+=== Operands
+
+mapname::
+  The name of the security map to be updated.
+
+[[sthref2262]]
+
+=== Examples
+
+[[GSRFM785]][[sthref2263]]
+
+==== Example 1   Updating a Connector Security Map
+
+This example adds principals to the existing security map named `securityMap1`.
+
+[source]
+----
+asadmin> update-connector-security-map --poolname connector-pool1
+--addprincipals principal1,principal2 securityMap1
+Command update-connector-security-map executed successfully
+----
+
+[[sthref2264]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2265]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
+link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
+link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/update-connector-work-security-map.adoc b/docs/reference-manual/src/main/asciidoc/update-connector-work-security-map.adoc
new file mode 100644
index 0000000..197413a
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/update-connector-work-security-map.adoc
@@ -0,0 +1,110 @@
+type=page
+status=published
+title=update-connector-work-security-map
+next=update-file-user.html
+prev=update-connector-security-map.html
+~~~~~~
+
+= update-connector-work-security-map
+
+[[update-connector-work-security-map-1]][[GSRFM00253]][[update-connector-work-security-map]]
+
+== update-connector-work-security-map
+
+Modifies a work security map for the specified resource adapter
+
+[[sthref2266]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] update-connector-work-security-map [--help]
+--raname raname
+[--addprincipals eis-principal1=server-principal1[, eis-principal2=server-principal2]*]
+[--addgroups eis-group1=server-group1[, eis-group2=server-group2]*]
+[--removeprincipals eis-principal1[,eis-principal2]*]
+[--removegroups eis-group1[, eis-group2]*]
+mapname
+----
+
+[[sthref2267]]
+
+=== Description
+
+The `update-connector-work-security-map` subcommand modifies a security
+map for the specified resource adapter.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2268]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--addgroups`::
+  Specifies a comma-separated list of EIS groups to be added. Use either
+  the `--addprincipals` option or the `--addgroups` option, but not
+  both.
+`--addprincipals`::
+  Specifies a comma-separated list of EIS-specific principals to be
+  added. Use either the `--addprincipals` option or the `--addgroups`
+  option, but not both.
+`--removegroups`::
+  Specifies a comma-separated list of EIS groups to be removed.
+`--removeprincipals`::
+  Specifies a comma-separated list of EIS-specific principals to be
+  removed.
+`--raname`::
+  Indicates the connector module name with which the work security map
+  is associated.
+
+[[sthref2269]]
+
+=== Operands
+
+mapname::
+  The name of the work security map to be updated.
+
+[[sthref2270]]
+
+=== Examples
+
+[[GSRFM786]][[sthref2271]]
+
+==== Example 1   Updating a Connector Work Security Map
+
+This example updates `workSecurityMap2` by removing `eis-group-2`.
+
+[source]
+----
+asadmin> update-connector-work-security-map
+--raname my-resource-adapter --removegroups eis-group-2 workSecurityMap2
+Command update-connector-work-security-map executed successfully.
+----
+
+[[sthref2272]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2273]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
+link:delete-connector-work-security-map.html#delete-connector-work-security-map-1[`delete-connector-work-security-map`(1)],
+link:list-connector-work-security-maps.html#list-connector-work-security-maps-1[`list-connector-work-security-maps`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/update-file-user.adoc b/docs/reference-manual/src/main/asciidoc/update-file-user.adoc
new file mode 100644
index 0000000..c0de140
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/update-file-user.adoc
@@ -0,0 +1,113 @@
+type=page
+status=published
+title=update-file-user
+next=update-node-config.html
+prev=update-connector-work-security-map.html
+~~~~~~
+
+= update-file-user
+
+[[update-file-user-1]][[GSRFM00254]][[update-file-user]]
+
+== update-file-user
+
+Updates a current file user as specified
+
+[[sthref2274]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] update-file-user [--help]
+[--groups user_groups[:user_groups]*]
+[--target target
+[--authrealmname authrealm_name]
+username
+----
+
+[[sthref2275]]
+
+=== Description
+
+Th `update-file-user` subcommand updates an existing entry in the
+keyfile using the specified user name, password and groups. Multiple
+groups can be entered by separating them, with a colon (:).
+
+If a new password is not provided, this subcommand fails if secure
+administration is enabled and the user being updated is an
+administrative user.
+
+[[sthref2276]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--groups`::
+  This is the name of the group to which the file user belongs.
+`--authrealmname`::
+  Name of the authentication realm where the user to be updated can be
+  found.
+`--target`::
+  This option helps specify the target on which you are updating a file
+  user. Valid values are:
+
+  `server`;;
+    Updates the file user in the default server instance. This is the
+    default value.
+  cluster_name;;
+    Updates the file user on every server instance in the cluster.
+  instance_name;;
+    Updates the file user on a specified sever instance.
+
+[[sthref2277]]
+
+=== Operands
+
+username::
+  This is the name of the file user to be updated.
+
+[[sthref2278]]
+
+=== Examples
+
+[[GSRFM787]][[sthref2279]]
+
+==== Example 1   Updating a User's Information in a File Realm
+
+The following example updates information for a file realm user named
+`sample_user`.
+
+[source]
+----
+asadmin> update-file-user
+--groups staff:manager:engineer sample_user
+Command update-file-user executed successfully
+----
+
+[[sthref2280]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2281]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
+link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
+link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
+link:list-file-users.html#list-file-users-1[`list-file-users`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/update-node-config.adoc b/docs/reference-manual/src/main/asciidoc/update-node-config.adoc
new file mode 100644
index 0000000..723cd6f
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/update-node-config.adoc
@@ -0,0 +1,129 @@
+type=page
+status=published
+title=update-node-config
+next=update-node-dcom.html
+prev=update-file-user.html
+~~~~~~
+
+= update-node-config
+
+[[update-node-config-1]][[GSRFM00255]][[update-node-config]]
+
+== update-node-config
+
+Updates the configuration data of a node
+
+[[sthref2282]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] update-node-config [--help]
+[--nodehost node-host]
+[--installdir as-install-parent] [--nodedir node-dir]
+node-name
+----
+
+[[sthref2283]]
+
+=== Description
+
+The `update-node-config` subcommand updates the configuration data of a node.
+
+This subcommand can update any node, regardless of whether the node is
+enabled for remote communication. If a node that is enabled for remote
+communication is updated, the node is not enabled for remote
+communication after the update.
+
+Options of this subcommand specify the new values of the node's
+configuration data. The default for these options is to leave the
+existing value unchanged.
+
+This subcommand does not require the Distributed Component Object Model
+(DCOM) remote protocol or secure shell (SSH) to be configured to update
+the node. You may run this subcommand from any host that can contact the DAS.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2284]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodehost`::
+  The name of the host that the node is to represent after the node is
+  updated.
+`--installdir`::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,
+  `/export/glassfish7`.
+`--nodedir`::
+  The path to the directory that is to contain {productName}
+  instances that are created on the node. If a relative path is
+  specified, the path is relative to the as-install directory, where
+  as-install is the base installation directory of the {productName}
+  software on the host.
+
+[[sthref2285]]
+
+=== Operands
+
+node-name::
+  The name of the node to update. The node must exist. Otherwise, an
+  error occurs.
+
+[[sthref2286]]
+
+=== Examples
+
+[[GSRFM788]][[sthref2287]]
+
+==== Example 1   Updating the Host That a Node Represents
+
+This example updates the host that the node `sj04` represents to
+`hsj04`.
+
+[source]
+----
+asadmin> update-node-config --nodehost hsj04 sj04
+Command update-node-config executed successfully.
+----
+
+[[sthref2288]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2289]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/update-node-dcom.adoc b/docs/reference-manual/src/main/asciidoc/update-node-dcom.adoc
new file mode 100644
index 0000000..f81ede5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/update-node-dcom.adoc
@@ -0,0 +1,195 @@
+type=page
+status=published
+title=update-node-dcom
+next=update-node-ssh.html
+prev=update-node-config.html
+~~~~~~
+
+= update-node-dcom
+
+[[update-node-dcom-1]][[GSRFM789]][[update-node-dcom]]
+
+== update-node-dcom
+
+Updates the configuration data of a node
+
+[[sthref2290]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] update-node-dcom [--help]
+[--nodehost node-host]
+[--installdir as-install-parent] [--nodedir node-dir]
+[--windowsuser windows-user] [--windowsdomain windows-domain]
+[--force={false|true}]
+node-name
+----
+
+[[sthref2291]]
+
+=== Description
+
+The `update-node-dcom` subcommand updates the configuration data of a
+node. This subcommand requires the Distributed Component Object Model
+(DCOM) remote protocol to be configured on the host where the domain
+administration server (DAS) is running and on the host where the node
+resides. The DCOM protocol is available only on Windows systems.You may
+run this subcommand from any host that can contact the DAS.
+
+This subcommand can update any node, regardless of whether the node is
+enabled for remote communication. If the node is not enabled for remote
+communication, the subcommand enables DCOM communication for the node
+and updates any other specified configuration data.
+
+Options of this subcommand specify the new values of the node's
+configuration data. The default for most options is to leave the
+existing value unchanged. However, if this subcommand is run to enable
+DCOM communication for a node, default values are applied if any of the
+following options is omitted:
+
+* `--windowsuser`
+* `--windowsdomain`
+
+By default, the subcommand fails and the node is not updated if the DAS
+cannot contact the node's host through DCOM. To force the node to be
+updated even if the host cannot be contacted through DCOM, set the
+`--force` option to `true`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2292]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodehost`::
+  The name of the host that the node is to represent after the node is
+  updated.
+`--installdir`::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,   `/export/glassfish7/`.
+`--nodedir`::
+  The path to the directory that is to contain {productName}
+  instances that are created on the node. If a relative path is
+  specified, the path is relative to the as-install directory, where
+  as-install is the base installation directory of the {productName}
+  software on the host.
+`--windowsuser`::
+`-w`::
+  The user on this node's host that is to run the process for connecting
+  to the host through DCOM. The default depends on whether this
+  subcommand is run to enable DCOM communication for the node:
+
+  * If the node is already enabled for communication over DCOM, the
+    default is to leave the user unchanged.
+  * If this subcommand is run to enable DCOM communication for the node,
+    the default is the user that is running the DAS process.
+
++
+If the `--nodehost` option is set to `localhost`, the `--windowsuser`
+  option is ignored.
+`--windowsdomain`::
+`-d`::
+  The name of the Windows domain that contains the user that the
+  `--windowsuser` option specifies. The default depends on whether this
+  subcommand is run to enable DCOM communication for the node:
+
+  * If the node is already enabled for communication over DCOM, the
+  default is to leave the domain unchanged.
+  * If this subcommand is run to enable DCOM communication for the node,
+  the default is the name of the host on which the subcommand is run.
+
+`--force`::
+  Specifies whether the node is updated even if validation of the node's
+  parameters fails. To validate a node's parameters, the DAS must be
+  able to contact the node's host through DCOM. Possible values are as
+  follows:
+
+  `false`;;
+    The node is not updated if validation of the node's parameters fails
+    (default).
+  `true`;;
+    The node is updated even if validation of the node's parameters
+    fails.
+
+[[sthref2293]]
+
+=== Operands
+
+node-name::
+  The name of the node to update. The node must exist. Otherwise, an
+  error occurs.
+
+[[sthref2294]]
+
+=== Examples
+
+[[GSRFM790]][[sthref2295]]
+
+==== Example 1   Updating the Host That a Node Represents
+
+This example updates the host that the node `wpmdl1` represents to
+`wj01`.
+
+[source]
+----
+asadmin> update-node-dcom --nodehost wj01 wpmdl1
+Command update-node-dcom executed successfully.
+----
+
+[[GSRFM791]][[sthref2296]]
+
+==== Example 2   Forcing the Update of a Node
+
+This example forces the update of the node `xkyd` to enable the node to
+communicate over DCOM.
+
+[source]
+----
+asadmin> update-node-dcom --force xkyd
+Warning: some parameters appear to be invalid.
+Could not find a remote Glassfish installation on host: xkyd.example.com at
+C:\glassfish7\glassfish
+Continuing with node update due to use of --force.
+Command update-node-dcom executed successfully.
+----
+
+[[sthref2297]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2298]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
+link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
+link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/update-node-ssh.adoc b/docs/reference-manual/src/main/asciidoc/update-node-ssh.adoc
new file mode 100644
index 0000000..0f17cd1
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/update-node-ssh.adoc
@@ -0,0 +1,227 @@
+type=page
+status=published
+title=update-node-ssh
+next=update-password-alias.html
+prev=update-node-dcom.html
+~~~~~~
+
+= update-node-ssh
+
+[[update-node-ssh-1]][[GSRFM00256]][[update-node-ssh]]
+
+== update-node-ssh
+
+Updates the configuration data of a node
+
+[[sthref2299]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] update-node-ssh [--help]
+[--nodehost node-host]
+[--installdir as-install-parent] [--nodedir node-dir]
+[--sshport ssh-port] [--sshuser ssh-user]
+[--sshkeyfile ssh-keyfile]
+[--force={false|true}]
+node-name
+----
+
+[[sthref2300]]
+
+=== Description
+
+The `update-node-ssh` subcommand updates the configuration data of a
+node. This subcommand requires secure shell (SSH) to be configured on
+the machine where the domain administration server (DAS) is running and
+on the machine where the node resides. You may run this subcommand from
+any machine that can contact the DAS.
+
+This subcommand can update any node, regardless of whether the node is
+enabled for remote communication. If the node is not enabled for remote
+communication, the subcommand enables SSH communication for the node and
+updates any other specified configuration data.
+
+Options of this subcommand specify the new values of the node's
+configuration data. The default for most options is to leave the
+existing value unchanged. However, if this subcommand is run to enable
+SSH communication for a node, default values are applied if any of the
+following options is omitted:
+
+* `--sshport`
+* `--sshuser`
+* `--sshkeyfile`
+
+By default, the subcommand fails and the node is not updated if the DAS
+cannot contact the node's host through SSH. To force the node to be
+updated even if the host cannot be contacted through SSH, set the
+`--force` option to `true`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2301]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--nodehost`::
+  The name of the host that the node is to represent after the node is
+  updated.
+`--installdir`::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,
+  `/export/glassfish7`.
+`--nodedir`::
+  The path to the directory that is to contain {productName}
+  instances that are created on the node. If a relative path is
+  specified, the path is relative to the as-install directory, where
+  as-install is the base installation directory of the {productName}
+  software on the host.
+`--sshport`::
+  The port to use for SSH connections to this node's host. The default
+  depends on whether this subcommand is run to enable SSH communication
+  for the node:
+
+  * If the node is already enabled for communication over SSH, the
+  default is to leave the port unchanged.
+  * If this subcommand is run to enable SSH communication for the node,
+  the default port is 22.
+
++
+If the `--nodehost` is set to `localhost`, the `--sshport` option is ignored.
+
+`--sshuser`::
+  The user on this node's host that is to run the process for connecting
+  to the host through SSH. The default depends on whether this
+  subcommand is run to enable SSH communication for the node:
+
+  * If the node is already enabled for communication over SSH, the
+  default is to leave the user unchanged.
+  * If this subcommand is run to enable SSH communication for the node,
+  the default is the user that is running the DAS process.
+
++
+If the `--nodehost` option is set to `localhost`, the `--sshuser`
+  option is ignored.
+
+`--sshkeyfile`::
+  The absolute path to the SSH private key file for user that the
+  `--sshuser` option specifies. This file is used for authentication to
+  the `sshd` daemon on the node's host.
++
+[NOTE]
+====
+{productName} also supports password authentication through the
+`AS_ADMIN_SSHPASSWORD` entry in the password file. The password file
+is specified in the `--paswordfile` option of the
+link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility.
+====
++
+If the SSH private key file is protected by a passphrase, the password
+  file must contain the `AS_ADMIN_SSHKEYPASSPHRASE` entry. +
+  The path to the key file must be reachable by the DAS and the key file
+  must be readable by the DAS. +
+  The default depends on whether this subcommand is run to enable SSH
+  communication for the node:
+
+  * If the node is already enabled for communication over SSH, the
+  default is to leave the key file unchanged.
+  * If this subcommand is run to enable SSH communication for the node,
+  the default is the key file in the user's `.ssh` directory. If
+  multiple key files are found, the subcommand uses the following order of preference:
+  1.  `id_rsa`
+  2.  `id_dsa`
+  3.  `identity`
+`--force`::
+  Specifies whether the node is updated even if validation of the node's
+  parameters fails. To validate a node's parameters, the DAS must be
+  able to contact the node's host through SSH. Possible values are as
+  follows:
+
+  `false`;;
+    The node is not updated if validation of the node's parameters fails
+    (default).
+  `true`;;
+    The node is updated even if validation of the node's parameters
+    fails.
+
+[[sthref2302]]
+
+=== Operands
+
+node-name::
+  The name of the node to update. The node must exist. Otherwise, an
+  error occurs.
+
+[[sthref2303]]
+
+=== Examples
+
+[[GSRFM792]][[sthref2304]]
+
+==== Example 1   Updating the Host That a Node Represents
+
+This example updates the host that the node `lssh` represents to `sj04`.
+
+[source]
+----
+asadmin> update-node-ssh --nodehost sj04 lssh
+Command update-node-ssh executed successfully.
+----
+
+[[GSRFM793]][[sthref2305]]
+
+==== Example 2   Forcing the Update of a Node
+
+This example forces the update of the node `sj01` to enable the node to
+communicate over SSH.
+
+[source]
+----
+asadmin> update-node-ssh --force sj01
+Warning: some parameters appear to be invalid.
+Could not connect to host sj01 using SSH.
+Could not authenticate. Tried authenticating with specified key at
+/home/gfuser/.ssh/id_rsa
+Continuing with node update due to use of --force.
+Command update-node-ssh executed successfully.
+----
+
+[[sthref2306]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2307]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
+link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
+link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
+link:install-node.html#install-node-1[`install-node`(1)],
+link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
+link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
+link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
+link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
+link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/update-password-alias.adoc b/docs/reference-manual/src/main/asciidoc/update-password-alias.adoc
new file mode 100644
index 0000000..f342ba5
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/update-password-alias.adoc
@@ -0,0 +1,92 @@
+type=page
+status=published
+title=update-password-alias
+next=uptime.html
+prev=update-node-ssh001.html
+~~~~~~
+
+= update-password-alias
+
+[[update-password-alias-1]][[GSRFM00257]][[update-password-alias]]
+
+== update-password-alias
+
+Updates a password alias
+
+[[sthref2308]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] update-password-alias [--help]
+aliasname
+----
+
+[[sthref2309]]
+
+=== Description
+
+This subcommand updates the password alias IDs in the named target. An
+alias is a token of the form `${ALIAS=password-alias-password}`. The
+password corresponding to the alias name is stored in an encrypted form.
+The `update-password-alias` subcommand takes both a secure interactive
+form (in which the user is prompted for all information) and a more
+script-friendly form, in which the password is propagated on the command line.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2310]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref2311]]
+
+=== Operands
+
+aliasname::
+  This is the name of the password as it appears in `domain.xml`.
+
+[[sthref2312]]
+
+=== Examples
+
+[[GSRFM794]][[sthref2313]]
+
+==== Example 1   Updating a Password Alias
+
+[source]
+----
+asadmin> update-password-alias jmspassword-alias
+Please enter the alias password>
+Please enter the alias password again>
+Command update-password-alias executed successfully.
+----
+
+[[sthref2314]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2315]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
+link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
+link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/uptime.adoc b/docs/reference-manual/src/main/asciidoc/uptime.adoc
new file mode 100644
index 0000000..5914fe3
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/uptime.adoc
@@ -0,0 +1,82 @@
+type=page
+status=published
+title=uptime
+next=validate-dcom.html
+prev=update-password-alias.html
+~~~~~~
+
+= uptime
+
+[[uptime-1]][[GSRFM00258]][[uptime]]
+
+== uptime
+
+Returns the length of time that the DAS has been running
+
+[[sthref2316]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] uptime [--help]
+----
+
+[[sthref2317]]
+
+=== Description
+
+The `uptime` subcommand returns the length of time that the domain
+administration server (DAS) has been running since it was last
+restarted.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2318]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+
+[[sthref2319]]
+
+=== Examples
+
+[[GSRFM795]][[sthref2320]]
+
+==== Example 1   Showing How Long the DAS Has Been Running
+
+This example shows the length of time that the DAS has been running.
+
+[source]
+----
+asadmin> uptime
+Uptime: 2 days, 1 hours, 30 minutes, 18 seconds, Total milliseconds: 178218706
+Command uptime executed successfully.
+----
+
+[[sthref2321]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2322]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-domains.html#list-domains-1[`list-domains`(1)],
+link:start-domain.html#start-domain-1[`start-domain`(1)],
+link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/validate-dcom.adoc b/docs/reference-manual/src/main/asciidoc/validate-dcom.adoc
new file mode 100644
index 0000000..a711c6c
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/validate-dcom.adoc
@@ -0,0 +1,198 @@
+type=page
+status=published
+title=validate-dcom
+next=validate-multicast.html
+prev=uptime.html
+~~~~~~
+
+= validate-dcom
+
+[[validate-dcom-1]][[GSRFM796]][[validate-dcom]]
+
+== validate-dcom
+
+Tests the connection over DCOM to a remote host
+
+[[sthref2323]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] validate-dcom [--help]
+[--windowsuser windows-user] [--windowsdomain windows-domain]
+[--remotetestdir remote-test-directory]
+[--verbose={false|true}] host-name
+----
+
+[[sthref2324]]
+
+=== Description
+
+The `validate-dcom` subcommand tests the connection over the Distributed
+Component Object Model (DCOM) remote protocol to the remote host that is
+specified as the operand of the subcommand. The DCOM protocol is
+available only on Windows systems.
+
+The prerequisites for running this subcommand are as follows:
+
+* DCOM must be configured on the host where the domain administration
+server (DAS) is running and on the remote host that is specified as the
+operand of the subcommand.
+
+* The following ports must be open on the remote host:
+** DCOM port 135 or 139
+** Windows Shares port 445
+
+* The Server Windows Service is enabled on the remote host.
+
+This subcommand verifies whether the prerequisites for creating a DCOM
+node or creating a {productName} instance on a DCOM node are met. If
+this subcommand fails, any attempt to create a DCOM node or create an
+instance on a DCOM node will also fail.
+
+You may run this command from any machine that can contact the DAS.
+
+The subcommand tests the connection over DCOM to the remote host by
+performing the following operations on the remote host:
+
+* Resolving the host name
+* Connecting to DCOM through port 135 or 139
+* Connecting to Windows Shares through port 445
+* Copying a script that is named `delete_me.bat` in the folder that is
+  specified by the `--remotetestdir` option
+* Running the script to obtain a listing of the folder in which the
+  `delete_me.bat` was written
+
+By default, the subcommand displays no information about the operations
+that are performed to test the connection to the remote host. To display
+information about these operations, set the `--verbose` option to `true`.
+
+This subcommand is supported in remote mode only.
+
+[[sthref2325]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--windowsuser`::
+`-w`::
+  The user on the remote host that is to run the process for connecting
+  to that host through DCOM. The default is the user that is running the
+  DAS process.
+`--windowsdomain`::
+`-d`::
+  The name of the Windows domain that contains the user that the
+  `--windowsuser` option specifies. The default is the name of the host
+  on which the subcommand is run.
+`--remotetestdir`::
+  Specifies the folder on the remote host in which the subcommand
+  creates the `delete_me.bat` file. The user that the `--windowsuser`
+  option specifies must have write access to this folder. Otherwise an
+  error occurs. The default is `C:\`
+`--verbose`::
+`-v`::
+  Specifies whether the subcommand displays information about the
+  operations that are performed to test the connection to the remote host. +
+  Possible values are as follows:
+
+  `false`;;
+    No information about the operations that are performed to test the
+    connection is displayed (default).
+  `true`;;
+    The subcommand displays information about the operations that are
+    performed to test the connection.
+
++
+If the `--verbose` option is true and the `AS_DEBUG` environment
+    variable is set, the subcommand also displays the command line for
+    each process that is running on the remote host.
+
+[[sthref2326]]
+
+=== Operands
+
+host-name::
+  The name of the host to which to test the connection over DCOM.
+
+[[sthref2327]]
+
+=== Examples
+
+[[GSRFM834]][[sthref2328]]
+
+==== Example 1   Testing the Connection Over DCOM to a Remote Host
+
+This example tests the connection over DCOM to the host `wpmdl2`.
+
+[source]
+----
+asadmin> validate-dcom --wpmdl2
+Command validate-dcom executed successfully.
+----
+
+[[GSRFM797]][[sthref2329]]
+
+==== Example 2   Verbosely Testing the Connection Over DCOM to a Remote Host
+
+This example tests the connection over DCOM to the host `wpmdl2` and
+displays information about the operations that are performed to test the
+connection to the remote host.
+
+[source]
+----
+asadmin> validate-dcom --verbose wpmdl2
+
+Successfully resolved host name to: wpmdl2/192.168.122.106
+Successfully connected to DCOM Port at port 135 on host wpmdl2.
+Successfully connected to NetBIOS Session Service at port 139 on host wpmdl2.
+Successfully connected to Windows Shares at port 445 on host wpmdl2.
+Successfully accessed C: on wpmdl2 using DCOM.
+Successfully wrote delete_me.bat to C: on wpmdl2 using DCOM.
+Successfully accessed WMI (Windows Management Interface) on wpmdl2. There are 40
+processes running on wpmdl2.
+Successfully ran the test script on wpmdl2 using DCOM.
+The script simply ran the DIR command. Here are the first few lines from the
+output of the dir command on the remote machine:
+
+C:\Windows\system32>dir C:\
+ Volume in drive C has no label.
+ Volume Serial Number is XXXX-XXX
+
+ Directory of C:\
+
+12/05/2011  10:21 AM                63 .asadminpass
+02/15/2011  01:08 PM    <DIR>          aroot
+12/05/2011  04:43 PM                 8 delete_me.bat
+03/03/2011  10:36 AM    <DIR>          export
+
+Command validate-dcom executed successfully.
+----
+
+[[sthref2330]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2331]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
+link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
+link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
+link:ping-node-dcom.html#ping-node-dcom-1[`ping-node-dcom`(1)],
+link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/validate-multicast.adoc b/docs/reference-manual/src/main/asciidoc/validate-multicast.adoc
new file mode 100644
index 0000000..53860c8
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/validate-multicast.adoc
@@ -0,0 +1,165 @@
+type=page
+status=published
+title=validate-multicast
+next=verify-domain-xml.html
+prev=validate-dcom.html
+~~~~~~
+
+= validate-multicast
+
+[[validate-multicast-1]][[GSRFM00259]][[validate-multicast]]
+
+== validate-multicast
+
+Validates that multicast transport is available for clusters
+
+[[sthref2332]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] validate-multicast [--help]
+[--multicastport multicastport]
+[--multicastaddress multicastaddress]
+[--bindaddress bindaddress]
+[--sendperiod sendperiod]
+[--timeout timeout]
+[--timetolive timetolive]
+[--verbose={false|true}]
+----
+
+[[sthref2333]]
+
+=== Description
+
+The `validate-multicast` subcommand validates that multicast transport
+is available for clusters. You should run this subcommand at the same
+time on each of the hosts to be validated. This subcommand is available
+in local mode.
+
+[NOTE]
+====
+Do not run the `validate-multicast` subcommand using the DAS and
+cluster's multicast address and port values while the DAS and cluster
+are running. Doing so results in an error.
+
+The `validate-multicast` subcommand must be run at the same time on two
+or more machines to validate whether multicast messages are being
+received between the machines.
+====
+
+As long as all machines see each other, multicast is validated to be
+working properly across the machines. If the machines are not seeing
+each other, set the `--bindaddress` option explicitly to ensure that all
+machines are using interface on same subnet, or increase the
+`--timetolive` option from the default of `4`. If these changes fail to
+resolve the multicast issues, ask the network administrator to verify
+that the network is configured so the multicast messages can be seen
+between all the machines used to run the cluster.
+
+[[sthref2334]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--multicastport`::
+  The port for the multicast socket on which the Group Management
+  Service (GMS) listens for group events. Specify a standard UDP port
+  number in the range 2048-49151. The default is `2048`.
+`--multicastaddress`::
+  The address for the multicast socket on which the GMS listens for
+  group events. Specify a class D IP address. Class D IP addresses are
+  in the range `224.0.0.0` to `239.255.255.255`, inclusive. The address
+  `224.0.0.0` is reserved and should not be used. The default is
+  `228.9.3.1`.
+`--bindaddress`::
+  The local interface to receive multicast datagram packets for the GMS.
+  The default is to use all available binding interfaces. +
+  On a multi-home machine (possessing two or more network interfaces),
+  this attribute enables you to indicate which network interface is used
+  for the GMS. This value must be a local network interface IP address.
+`--sendperiod`::
+  The number of milliseconds between test messages sent between nodes.
+  The default is `2000`.
+`--timeout`::
+  The number of seconds before the subcommand times out and exits. The
+  default is `20`. You can also exit this subcommand using Ctrl-C.
+`--timetolive`::
+  The default time-to-live for multicast packets sent out on the
+  multicast socket in order to control the scope of the multicasts. The
+  time-to-live value must be between zero and 255 inclusive. The default
+  is the JDK default or a minimum defined by a constant in the GMS
+  subsystem, whichever is lower. To see the time-to-live value being
+  used, use the `--verbose` option.
+`--verbose`::
+  If used without a value or set to `true`, provides additional
+  debugging information. The default is `false`.
+
+[[sthref2335]]
+
+=== Examples
+
+[[GSRFM798]][[sthref2336]]
+
+==== Example 1   Validating multicast transport
+
+Run from host `machine1`:
+
+[source]
+----
+asadmin> validate-multicast
+Will use port 2,048
+Will use address 228.9.3.1
+Will use bind address null
+Will use wait period 2,000 (in milliseconds)
+
+Listening for data...
+Sending message with content "machine1" every 2,000 milliseconds
+Received data from machine1 (loopback)
+Received data from machine2
+Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
+Command validate-multicast executed successfully
+----
+
+Run from host `machine2`:
+
+[source]
+----
+asadmin> validate-multicast
+Will use port 2,048
+Will use address 228.9.3.1
+Will use bind address null
+Will use wait period 2,000 (in milliseconds)
+
+Listening for data...
+Sending message with content "machine2" every 2,000 milliseconds
+Received data from machine2 (loopback)
+Received data from machine1
+Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
+Command validate-multicast executed successfully
+----
+
+[[sthref2337]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2338]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:get-health.html#get-health-1[`get-health`(1)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/verify-domain-xml.adoc b/docs/reference-manual/src/main/asciidoc/verify-domain-xml.adoc
new file mode 100644
index 0000000..296c238
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/verify-domain-xml.adoc
@@ -0,0 +1,88 @@
+type=page
+status=published
+title=verify-domain-xml
+next=version.html
+prev=validate-multicast.html
+~~~~~~
+
+= verify-domain-xml
+
+[[verify-domain-xml-1]][[GSRFM00260]][[verify-domain-xml]]
+
+== verify-domain-xml
+
+Verifies the content of the domain.xml file
+
+[[sthref2339]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] verify-domain-xml [--help]
+[--domaindir domain-dir] [domain-name]
+----
+
+[[sthref2340]]
+
+=== Description
+
+Verifies the content of the `domain.xml` file by checking the following:
+
+* That the `domain.xml` file can be parsed
+* That the names for elements that have them are unique
+
+This subcommand is supported in local mode only.
+
+[[sthref2341]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`-h` `--help`::
+  Displays the help text for the subcommand.
+`--domaindir`::
+  Specifies the domain root directory, where the domains are located.
+  The path must be accessible in the file system. The default is
+  as-install``/domains``.
+
+[[sthref2342]]
+
+=== Operands
+
+domain_name::
+  Specifies the name of the domain. The default is `domain1`.
+
+[[sthref2343]]
+
+=== Examples
+
+[[GSRFM799]][[sthref2344]]
+
+==== Example 1   Using verify-domain-xml
+
+[source]
+----
+asadmin> verify-domain-xml
+All Tests Passed.
+domain.xml is valid
+----
+
+[[sthref2345]]
+
+=== Exit Status
+
+0::
+  command executed successfully
+1::
+  error in executing the command
+
+[[sthref2346]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+
diff --git a/docs/reference-manual/src/main/asciidoc/version.adoc b/docs/reference-manual/src/main/asciidoc/version.adoc
new file mode 100644
index 0000000..b61eb4c
--- /dev/null
+++ b/docs/reference-manual/src/main/asciidoc/version.adoc
@@ -0,0 +1,121 @@
+type=page
+status=published
+title=version
+next=manvol1m.html
+prev=verify-domain-xml.html
+~~~~~~
+
+= version
+
+[[version-1]][[GSRFM00261]][[version]]
+
+== version
+
+Displays version information for{productName}
+
+[[sthref2347]]
+
+=== Synopsis
+
+[source]
+----
+asadmin [asadmin-options] version [--help]
+[--verbose={false|true}]
+[--local={false|true}]
+----
+
+[[sthref2348]]
+
+=== Description
+
+The `version` subcommand displays version information for
+{productName}. By default, if the subcommand cannot contact the
+domain administration server (DAS), the subcommand retrieves the version
+information locally and displays a warning message.
+
+This subcommand is supported in remote mode and local mode.
+
+[[sthref2349]]
+
+=== Options
+
+asadmin-options::
+  Options for the `asadmin` utility. For information about these
+  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
+`--help`::
+`-?`::
+  Displays the help text for the subcommand.
+`--verbose`::
+`-v`::
+  If this option is set to `true`, the subcommand provides the version
+  of the Java Runtime Environment (JRE) that the server is running. The
+  default is `false`.
+`--local`::
+  If this option is set to `true`, the subcommand obtains the version
+  locally from the installation of {productName} on the host where
+  the subcommand is run. +
+  If this option is set to `false` (default), the subcommand attempts to
+  contact the DAS to obtain the version. If the attempt to contact the
+  DAS fails, the subcommand retrieves the version locally and displays a
+  warning message.
+
+[[sthref2350]]
+
+=== Examples
+
+[[GSRFM800]][[sthref2351]]
+
+==== Example 1   Obtaining Version Information From a Running DAS
+
+[source]
+----
+asadmin> version
+Version = Eclipse GlassFish 7.0.0 (build 34)
+Command version executed successfully.
+----
+
+[[GSRFM801]][[sthref2352]]
+
+==== Example 2   Obtaining Version Information When the DAS Cannot be Reached
+
+[source]
+----
+asadmin> version
+Version string could not be obtained from Server [localhost:4848] for some reason.
+(Turn debugging on e.g. by setting AS_DEBUG=true in your environment, to see the
+ details).
+Using locally retrieved version string from version class.
+Version = Eclipse GlassFish 7.0.0 (build 34)
+Command version executed successfully.
+----
+
+[[GSRFM802]][[sthref2353]]
+
+==== Example 3   Obtaining Version Information Locally
+
+[source]
+----
+asadmin> version --local
+Using locally retrieved version string from version class.
+Version = Eclipse GlassFish 7.0.0 (build 34)
+Command version executed successfully.
+----
+
+[[sthref2354]]
+
+=== Exit Status
+
+0::
+  subcommand executed successfully
+1::
+  error in executing the subcommand
+
+[[sthref2355]]
+
+=== See Also
+
+link:asadmin.html#asadmin-1m[`asadmin`(1M)]
+
+link:list-modules.html#list-modules-1[`list-modules`(1)]
+
+
diff --git a/docs/reference-manual/src/main/jbake/assets/css/style.css b/docs/reference-manual/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/reference-manual/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/reference-manual/src/main/jbake/content/add-library.adoc b/docs/reference-manual/src/main/jbake/content/add-library.adoc
deleted file mode 100644
index 3d1f5a4..0000000
--- a/docs/reference-manual/src/main/jbake/content/add-library.adoc
+++ /dev/null
@@ -1,153 +0,0 @@
-type=page
-status=published
-title=add-library
-next=add-resources.html
-prev=manvol1.html
-~~~~~~
-add-library
-===========
-
-[[add-library-1]][[GSRFM00818]][[add-library]]
-
-add-library
------------
-
-adds one or more library JAR files to \{product---name}
-
-[[sthref7]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] add-library [--help] 
-[--type={common|ext|app}] [--upload={false|true}]
-library-file-path [library-file-path ... ]
-----
-
-[[sthref8]]
-
-Description
-
-The `add-library` subcommand adds one or more library archive files to
-\{product---name}.
-
-The `--type` option specifies the library type and the \{product---name}
-directory to which the library is added.
-
-The library-file-path operand is the path to the JAR file that contains
-the library to be added. To specify multiple libraries, specify multiple
-paths separated by spaces.
-
-
-[NOTE]
-=======================================================================
-
-The library archive file is added to the DAS. For common and extension
-libraries, you must restart the DAS so the libraries are picked up by
-the server runtime. To add the libraries to other server instances,
-synchronize the instances with the DAS by restarting them.
-
-=======================================================================
-
-
-This subcommand is supported in remote mode only.
-
-[[sthref9]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--type`::
-  Specifies the library type and the \{product---name} directory to
-  which the library is added. Valid values are as follows: +
-  `common`;;
-    Adds the library files to the Common class loader directory,
-    domain-dir`/lib`. This is the default.
-  `ext`;;
-    Adds the library files to the Java optional package directory,
-    domain-dir`/lib/ext`.
-  `app`;;
-    Adds the library files to the application-specific class loader
-    directory, domain-dir`/lib/applibs`. +
-  For more information about these directories, see
-  "link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
-  Edition Application Development Guide.
-`--upload`::
-  Specifies whether the subcommand uploads the file to the DAS. In most
-  situations, this option can be omitted. +
-  Valid values are as follows: +
-  `false`;;
-    The subcommand does not upload the file and attempts to access the
-    file through the specified file name. If the DAS cannot access the
-    file, the subcommand fails. +
-    For example, the DAS might be running as a different user than the
-    administration user and does not have read access to the file. In
-    this situation, the subcommand fails if the `--upload` option is
-    `false`.
-  `true`;;
-    The subcommand uploads the file to the DAS over the network
-    connection. +
-  The default value depends on whether the DAS is on the host where the
-  subcommand is run or is on a remote host. +
-  * If the DAS is on the host where the subcommand is run, the default
-  is `false`.
-  * If the DAS is on a remote host, the default is `true`. +
-  If a directory filepath is specified, this option is ignored.
-
-[[sthref10]]
-
-Operands
-
-library-file-path::
-  The paths to the archive files that contain the libraries that are to
-  be added. You can specify an absolute path or a relative path. +
-  If the `--upload` option is set to `true`, this is the path to the
-  file on the local client machine. If the `--upload` option is set to
-  `false`, this is the path to the file on the server machine.
-
-[[sthref11]]
-
-Examples
-
-[[GSRFM824]][[sthref12]]
-
-Example 1   Adding Libraries
-
-This example adds the library in the archive file `mylib.jar` to the
-application-specific class loader directory on the default server
-instance.
-
-[source,oac_no_warn]
-----
-asadmin> add-library --type app /tmp/mylib.jar
-Command add-library executed successfully.
-----
-
-[[sthref13]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref14]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-libraries.html#list-libraries-1[`list-libraries`(1)],
-link:remove-library.html#remove-library-1[`remove-library`(1)]
-
-"link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
-Edition Application Development Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/add-resources.adoc b/docs/reference-manual/src/main/jbake/content/add-resources.adoc
deleted file mode 100644
index 456baa3..0000000
--- a/docs/reference-manual/src/main/jbake/content/add-resources.adoc
+++ /dev/null
@@ -1,183 +0,0 @@
-type=page
-status=published
-title=add-resources
-next=apply-http-lb-changes.html
-prev=add-library.html
-~~~~~~
-add-resources
-=============
-
-[[add-resources-1]][[GSRFM00001]][[add-resources]]
-
-add-resources
--------------
-
-creates the resources specified in an XML file
-
-[[sthref15]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] add-resources [--help] 
-[--target target] 
-[--upload={false|true}] xml-file-name
-----
-
-[[sthref16]]
-
-Description
-
-The `add-resources` subcommand creates the resources named in the
-specified XML file. The resources that can be created with this
-subcommand are listed in See Also in this help page.
-
-The `--target` option specifies the target for which you are creating
-the resources. If this option specifies the domain, the resources are
-added only to the configuration of the domain administration server
-(DAS). If this option specifies any other target, the resources are
-added to the configuration of the DAS and references are added to the
-resources from the specified target.
-
-The xml-file-name operand is the path to the XML file that contains the
-resources to be created. The `DOCTYPE` must be specified as
-`http://glassfish.org/dtds/glassfish-resources_1_5.dtd` in the
-`resources.xml` file.
-
-This subcommand is supported in remote mode only.
-
-[[sthref17]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you are creating the resources. +
-  Valid values are as follows: +
-  `server`;;
-    Creates the resources for the default server instance `server` and
-    is the default value.
-  `domain`;;
-    Creates the resources for the domain.
-  cluster-name;;
-    Creates the resources for every server instance in the cluster.
-  instance-name;;
-    Creates the resources for a particular \{product---name} instance.
-`--upload`::
-  Specifies whether the subcommand uploads the file to the DAS. In most
-  situations, this option can be omitted. +
-  Valid values are as follows: +
-  `false`;;
-    The subcommand does not upload the file and attempts to access the
-    file through the specified file name. If the DAS cannot access the
-    file, the subcommand fails. +
-    For example, the DAS might be running as a different user than the
-    administration user and does not have read access to the file. In
-    this situation, the subcommand fails if the `--upload` option is
-    `false`.
-  `true`;;
-    The subcommand uploads the file to the DAS over the network
-    connection. +
-  The default value depends on whether the DAS is on the host where the
-  subcommand is run or is on a remote host. +
-  * If the DAS is on the host where the subcommand is run, the default
-  is `false`.
-  * If the DAS is on a remote host, the default is `true`.
-
-[[sthref18]]
-
-Operands
-
-xml-file-name::
-  The path to the XML file that contains the resources that are to be
-  created. You can specify an absolute path, only the file name, or a
-  relative path. +
-  * If you specify an absolute path, the XML file can be anywhere.
-  * If you specify only the file name, the XML file must reside in the
-  domain-dir`/config` directory on the DAS host. This requirement must
-  be met even if you run the subcommand from another host.
-  * If you specify a relative path, the XML file must be in the relative
-  directory. +
-  An example XML file follows. +
-[source,oac_no_warn]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE resources PUBLIC 
-   "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions //EN" 
-   "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
-<resources>
- <jdbc-connection-pool name="SPECjPool" steady-pool-size="100" 
-   max-pool-size="150" max-wait-time-in-millis="60000" 
-   pool-resize-quantity="2" idle-timeout-in-seconds="300" 
-   is-isolation-level-guaranteed="true" 
-   is-connection-validation-required="false" 
-   connection-validation-method="auto-commit" 
-   fail-all-connections="false" 
-   datasource-classname="oracle.jdbc.pool.OracleDataSource">
-  <property name="URL" 
-    value="jdbc:oracle:thin:@iasperfsol12:1521:specdb"/>
-  <property name="User" value="spec"/>
-  <property name="Password" value="spec"/>
-  <property name="MaxStatements" value="200"/>
-  <property name="ImplicitCachingEnabled" value="true"/>
- </jdbc-connection-pool>
- <jdbc-resource enabled="true" pool-name="SPECjPool" 
-   jndi-name="jdbc/SPECjDB"/> 
-</resources>
-----
-
-[[sthref19]]
-
-Examples
-
-[[GSRFM445]][[sthref20]]
-
-Example 1   Adding Resources
-
-This example creates resources using the contents of the XML file
-`resource.xml`.
-
-[source,oac_no_warn]
-----
-asadmin> add-resources resource.xml
-Command : Connector connection pool jms/testQFactoryPool created.
-Command : Administered object jms/testQ created.
-Command : Connector resource jms/testQFactory created.
-Command : Resource adapter config myResAdapterConfig created successfully
-Command : JDBC connection pool DerbyPoolA created successfully.
-Command : JDBC resource jdbc/__defaultA created successfully.
-Command add-resources executed successfully.
-----
-
-[[sthref21]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref22]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
-link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
-link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
-link:create-javamail-resource.html#create-javamail-resource-1[`create-javamail-resource`(1)],
-link:create-custom-resource.html#create-custom-resource-1[`create-custom-resource`(1)],
-link:create-connector-resource.html#create-connector-resource-1[`create-connector-resource`(1)],
-link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
-link:create-admin-object.html#create-admin-object-1[`create-admin-object`(1)],
-link:create-resource-adapter-config.html#create-resource-adapter-config-1[`create-resource-adapter-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/appclient.adoc b/docs/reference-manual/src/main/jbake/content/appclient.adoc
deleted file mode 100644
index 4870967..0000000
--- a/docs/reference-manual/src/main/jbake/content/appclient.adoc
+++ /dev/null
@@ -1,220 +0,0 @@
-type=page
-status=published
-title=appclient
-next=asadmin.html
-prev=manvol1m.html
-~~~~~~
-appclient
-=========
-
-[[appclient-1m]][[GSRFM00262]][[appclient]]
-
-appclient
----------
-
-launches the Application Client Container and invokes the client
-application typically packaged in the application JAR file
-
-[[sthref2357]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-appclient [client_application_classfile | -client client_application_jar] 
-[-mainclass main_class_name | -name display_name]
-[-xml sun-acc.xml file] [-textauth]
-[-targetserver host[:port][,host[:port]...]]
-[-user username] [-passwordfile password_file] 
-[application-options]
-
-appclient [jvm-options] 
-[-mainclass main_class_name | -name display_name]
-[-xml client_config_xml_file] [-textauth] 
-[-targetserver host[:port][,host[:port]...]]
-[-user username] [-passwordfile password_file] 
-class-selector [application-options]
-----
-
-[[sthref2358]]
-
-Description
-
-Use the `appclient` command to launch the Application Client Container
-and invoke a client application that is typically packaged in an
-application JAR file. The application client JAR file is specified and
-created during deployment by the Administration Console or the
-`asadmin deploy` command with the `--retrieve` option. You can also
-retrieve the client JAR file using the `asadmin get-client-stubs`
-command.
-
-The Application Client Container is a set of Java classes, libraries,
-and other files that are required to execute a first-tier application
-client program on a Virtual Machine for the Java platform (JVM machine).
-The Application Client Container communicates with the server using
-RMI-IIOP.
-
-The client JAR file that is retrieved after deploying an application
-should be passed with the `-client` or `-jar` option when running the
-`appclient` utility. The client JAR file name is of the form
-app-name`Client.jar`. For multiple application clients in an EAR file,
-you must use the `-mainclass` or `-name` option to specify which client
-to invoke.
-
-If the application client is a stand-alone module or the only client in
-an EAR file, the Application Client Container can find the client
-without using the `-mainclass` or `-name` options. If you provide a
-`-mainclass` or `-name` value that does not match what is in the client,
-the Application Client Container launches the client anyway but issues a
-warning that the selection did not match the information in the client.
-The warning also displays what the actual main class and name values are
-for the client.
-
-[[sthref2359]]
-
-Options
-
-jvm-options::
-  optional; you can set JVM options for the client application. These
-  can be any valid `java` command options except `-client` or `-jar`.
-  JVM options can be intermixed with other `appclient` command options
-  as long as both types of options appear before the class-selector.
-client_application_classfile::
-  optional; the file system pathname of the client application `.class`
-  file. A relative pathname must be relative to the current directory.
-  This class file must contain the `main()` method to be invoked by the
-  Application Client Container. +
-  If you use client_application_classfile and the class is dependent on
-  other user classes, you must also set the classpath. You can either
-  use the `-classpath` JVM option in the `appclient` command or set the
-  `CLASSPATH` environment variable. For more information about setting a
-  classpath, see Setting the Class Path, Oracle Solaris Version
-  (`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html`)
-  or Setting the Class Path, Windows Version
-  (`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html`).
-`-client`::
-  optional; the name and location for the client JAR file.
-`-mainclass`::
-  optional; the full classname of the main client application as
-  specified in the `Main-Class` entry in the `MANIFEST.MF` file. Used
-  for a multiple client applications. By default, uses the class
-  specified in the `client jar`. For example,
-  `com.example.test.AppClient`.
-`-name`::
-  optional; the display name for the client application. Used for
-  multiple client applications. By default, the display name is
-  specified in the client jar `application-client.xml` file which is
-  identified by the `display-name` attribute.
-`-xml`::
-  optional if using the default domain, instance, and name
-  (`sun-acc.xml`), otherwise it is required; identifies the name and
-  location of the client configuration XML file. If not specified,
-  defaults to the `sun-acc.xml` file in the domain-dir`/config`
-  directory.
-`-textauth`::
-  optional; used to specify using text format authentication when
-  authentication is needed.
-`-targetserver`::
-  optional; a comma-separated list of one or more server specifications
-  for ORB endpoints. Each server specification must include at least the
-  host. Optionally, a server specification can include the port as well.
-  If the port is omitted from a server specification, the default value,
-  `3700`, is used for that host.
-`-user`::
-  optional; the application user who is authorized to have access to
-  particular guarded components in the application, such as EJB
-  components.
-`-passwordfile`::
-  optional; specifies the name, including the full path, of a file that
-  contains the password for application clients in the following format: +
-[source,oac_no_warn]
-----
-PASSWORD=appclient-password
-----
-::
-  If this option is omitted, the password is specified interactively at
-  the command prompt. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Caution:
-
-Avoid specifying a password interactively at the command prompt. Such
-a password can be seen by users who can run commands to display
-running processes and the commands to start them, such as `ps`.
-
-|=======================================================================
-
-  For security reasons, a password that is specified as an environment
-  variable is not read by the `appclient` utility.
-class-selector::
-  required; you must specify the client application class using one of
-  the following class selectors. +
-  `-jar` jar-file;;
-    the name and location of the client JAR file. The application client
-    JAR file is specified and created during deployment by the
-    `asadmin deploy` command. If specified, the `-classpath` setting is
-    ignored in deference to the `Class-Path` setting in the client JAR
-    file's manifest.
-  class-name;;
-    the fully qualified name of the application client's main class. The
-    Application Client Container invokes the `main` method of this class
-    to start the client. For example, `com.example.test.AppClient`. +
-    If you use class-name as the class selector, you must also set the
-    classpath. You can either use the `-classpath` JVM option in the
-    `appclient` command or set the `CLASSPATH` environment variable. For
-    more information about setting a classpath, see Setting the Class
-    Path, Oracle Solaris Version
-    (`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html`)
-    or Setting the Class Path, Windows Version
-    (`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html`).
-application-options::
-  optional; you can set client application arguments.
-
-[[sthref2360]]
-
-Examples
-
-[[GSRFM804]][[sthref2361]]
-
-Example 1   Using the `appclient` command
-
-[source,oac_no_warn]
-----
-appclient -xml sun-acc.xml -jar myclientapp.jar scott sample
-----
-
-Where: `sun-acc.xml` is the name of the client configuration XML file,
-`myclientapp.jar` is the client application `.jar` file, and `scott` and
-`sample` are arguments to pass to the application. If `sun-acc.xml` and
-`myclientapp.jar` are not in the current directory, you must give the
-absolute path locations; otherwise the relative paths are used. The
-relative path is relative to the directory where the command is being
-executed.
-
-[[sthref2362]]
-
-Attributes
-
-See
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
-for descriptions of the following attributes:
-
-[width="100%",cols="50%,50%",options="header",]
-|===============================
-|ATTRIBUTE TYPE |ATTRIBUTE VALUE
-|Interface Stability |Unstable
-|===============================
-
-
-[[sthref2363]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get-client-stubs.html#get-client-stubs-1[`get-client-stubs`(1)],
-link:package-appclient.html#package-appclient-1m[`package-appclient`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/application.adoc b/docs/reference-manual/src/main/jbake/content/application.adoc
deleted file mode 100644
index d3d9069..0000000
--- a/docs/reference-manual/src/main/jbake/content/application.adoc
+++ /dev/null
@@ -1,38 +0,0 @@
-type=page
-status=published
-title=application
-next=configuration.html
-prev=manvol5asc.html
-~~~~~~
-application
-===========
-
-[[application-5asc]][[GSRFM00265]][[application]]
-
-application
------------
-
-server-side Java applications and web services
-
-[[sthref2392]]
-
-Description
-
-The Java EE platform enables applications to access systems that are
-outside of the application server. Applications connect to these systems
-through resources. The \{product---name} infrastructure supports the
-deployment of many types of distributed applications and is an ideal
-foundation for building applications based on Service Oriented
-Architectures (SOA). SOA is a design methodology aimed at maximizing the
-reuse of application services. These features enable you to run scalable
-and highly available Java EE applications.
-
-[[sthref2393]]
-
-See Also
-
-link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
-link:deploy.html#deploy-1[`deploy`(1)],
-link:list-applications.html#list-applications-1[`list-applications`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/apply-http-lb-changes.adoc b/docs/reference-manual/src/main/jbake/content/apply-http-lb-changes.adoc
deleted file mode 100644
index 8ee5298..0000000
--- a/docs/reference-manual/src/main/jbake/content/apply-http-lb-changes.adoc
+++ /dev/null
@@ -1,120 +0,0 @@
-type=page
-status=published
-title=apply-http-lb-changes
-next=attach.html
-prev=add-resources.html
-~~~~~~
-apply-http-lb-changes
-=====================
-
-[[apply-http-lb-changes-1]][[GSRFM00002]][[apply-http-lb-changes]]
-
-apply-http-lb-changes
----------------------
-
-applies load balancer configuration changes to the load balancer
-
-[[sthref23]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] apply-http-lb-changes [--help]
-lb-name
-----
-
-[[sthref24]]
-
-Description
-
-Use the `apply``http``-lb-changes` subcommand to apply the changes in
-the load balancer configuration to the physical load balancer. The load
-balancer must already exist. To create a physical load balancer, use the
-`create-http-lb` subcommand.
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-[[sthref25]]
-
-Context
-
-The Load Balancer distributes the workload among multiple Oracle
-GlassFish Server instances , increasing the overall throughput of the
-system. The Load Balancer also enables requests to failover from one
-server instance to another. For HTTP session information to persist,
-configure HTTP session persistence.
-
-
-[NOTE]
-=======================================================================
-
-The Load Balancer Plugin is only available with Oracle GlassFish Server,
-and is not available with GlassFish Server Open Source Edition. For
-GlassFish Server Open Source Edition, it is possible to use the `mod_jk`
-module to configure load balancing on the Apache HTTP server.
-
-=======================================================================
-
-
-For more information about configuring load balancing with
-\{product---name}, refer to the online help in the \{product---name}
-Administration Console.
-
-[[sthref26]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref27]]
-
-Operands
-
-lb-name::
-  The name of the load balancer to which changes are applied. The load
-  balancer must already exist. You can create it with the
-  `create-http-lb` subcommand.
-
-[[sthref28]]
-
-Examples
-
-[[GSRFM446]][[sthref29]]
-
-Example 1   Using the apply`-http``-lb``-changes` subcommand
-
-This example applies configuration changes to a load balancer named
-`mylb`.
-
-[source,oac_no_warn]
-----
-asadmin> apply-http-lb-changes mylb
-Command apply-http-lb-changes executed successfully.
-----
-
-[[sthref30]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref31]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
-link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/asadmin.adoc b/docs/reference-manual/src/main/jbake/content/asadmin.adoc
deleted file mode 100644
index 9b7db13..0000000
--- a/docs/reference-manual/src/main/jbake/content/asadmin.adoc
+++ /dev/null
@@ -1,823 +0,0 @@
-type=page
-status=published
-title=asadmin
-next=debug-asadmin.html
-prev=appclient.html
-~~~~~~
-asadmin
-=======
-
-The script content on this page is for navigation purposes only and does
-not alter the content in any way.
-
-[[asadmin-1m]][[GSRFM00263]][[asadmin]]
-
-asadmin
--------
-
-utility for performing administrative tasks for Oracle \{product---name}
-
-[[sthref2364]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [--host host] 
-[--port port] 
-[--user admin-user] 
-[--passwordfile filename] 
-[--terse={true|false}] 
-[--secure={false|true}] 
-[--echo={true|false}] 
-[--interactive={true|false}] 
-[--detach={true|false}]
-[--help] 
-[subcommand [options] [operands]]
-----
-
-[[sthref2365]]
-
-Description
-
-Use the `asadmin` utility to perform administrative tasks for Oracle
-GlassFish Server. You can use this utility instead of the Administration
-Console interface.
-
-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.
-
-asadmin Utility Options and Subcommand Options
-
-Options control the behavior of the `asadmin` utility and its
-subcommands. Options are also 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 "Options" section
-of this help information.
-* 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
-help information for the subcommand.
-
-A subcommand option may have the same name as an `asadmin` utility
-option, but the effects of the two options are different.
-
-The `asadmin` utility options and some subcommand options have a long
-form and a short form.
-
-* The long form of an option has two dashes (`--`) followed by an option
-word.
-* The short form of an option has a single dash (`-`) followed by a
-single character.
-
-For example, the long form and the short form of the option for
-specifying terse output are as follows:
-
-* Long form: `--terse`
-* Short form: `-t`
-
-Most options require argument values, except Boolean options, which
-toggle to enable or disable a feature.
-
-Operands of asadmin 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.
-
-Escape Characters in Options for the asadmin Utility
-
-Escape characters are required in options of the `asadmin` utility for
-the following types of characters:
-
-* Meta characters in the UNIX operating system. These characters have
-special meaning in a shell. Meta characters in the UNIX operating system
-include: `\/,.!$%^&*|{}[]"'\`~;`. +
-To disable these characters, use the backslash (`\`) escape character or
-enclose the entire command-line argument in single quote (`'`)
-characters. +
-The following examples illustrate the effect of escape characters on the
-`*` character. In these examples, the current working directory is the
-domains directory.
-
-** The following command, without the escape character, echoes all files
-in the current directory: +
-[source,oac_no_warn]
-----
-prompt% echo *
-domain1 domain2
-----
-
-** The following command, in which the backslash (`\`) escape character
-precedes the `*` character, echoes the `*` character: +
-[source,oac_no_warn]
-----
-prompt% echo \*
-*
-----
-
-** The following command, in which the `*` character is enclosed in
-single quote (`'`) characters, echoes the `*` character: +
-[source,oac_no_warn]
-----
-prompt% echo '*'
-*
-----
-The escape character is also a special character in the UNIX operating
-system and in the Java language. Therefore, in the UNIX operating system
-and in multimode, you must apply an additional escape character to every
-escape character in the command line. This requirement does not apply to
-the Windows operating system. +
-For example, the backslash (`\`) UNIX operating system meta character in
-the option argument `Test\Escape\Character` is specified on UNIX and
-Windows systems as follows:
-
-** On UNIX systems, each backslash must be escaped with a second
-backslash: +
-[source,oac_no_warn]
-----
-Test\\Escape\\Character
-----
-
-** On Windows systems, no escape character is required: +
-[source,oac_no_warn]
-----
-Test\Escape\Character
-----
-::
-
-[NOTE]
-=======================================================================
-
-In contexts where meta characters in the UNIX operating system are
-unambiguous, these characters do not require escape characters. For
-example, in the link:set.html#set-1[`set`(1)] subcommand, the value that
-is to be set is specified as name`=`value. Because name can never
-include an equals sign, no escape character is required to disable the
-equals sign. Therefore, everything after the equals sign is an
-uninterpreted string that the `set` subcommand uses unchanged.
-
-=======================================================================
-
-* Spaces. The space is the separator in the command-line interface. To
-distinguish a space in a command-line argument from the separator in the
-command-line interface, the space must be escaped as follows:
-
-** For the UNIX operating system in single mode and multimode, and for
-all operating systems in multimode, use the backslash (`\`) escape
-character or enclose the entire command-line argument in single quote
-(`'`) characters or double quote (") characters.
-
-** For the Windows operating system in single mode, enclose the entire
-command-line argument in double quote (") characters.
-* Option delimiters. The `asadmin` utility uses the colon character
-(`:`) as a delimiter for some options. The backslash (`\`) escape
-character is required if the colon is part of any of the following
-items:
-
-** A property
-
-** An option of the Virtual Machine for the Java platform (Java Virtual
-Machine or JVM machine)link:#sthref2366[^Foot 1 ^] +
-For example, the operand of the subcommand
-link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)]
-specifies JVM machine options in the following format: +
-[source,oac_no_warn]
-----
-(jvm-option-name[=jvm-option-value])
-[:jvm-option-name[=jvm-option-value]]*
-----
-Multiple JVM machine options in the operand of the `create-jvm-options`
-subcommand are separated by the colon (`:`) delimiter. If
-jvm-option-name or jvm-option-value contains a colon, the backslash
-(`\`) escape character is required before the colon. +
-The backslash (`\`) escape character is also required before a single
-quote (`'`) character or a double quote (") character in an option that
-uses the colon as a delimiter. +
-When used without single quote (') characters, the escape character
-disables the option delimiter in the command-line interface. +
-For the UNIX operating system in single mode and multimode, and for all
-operating systems in multimode, the colon character and the backslash
-character in an option that uses the colon as a delimiter must be
-specified as follows:
-
-** To pass a literal backslash to a subcommand, two backslashes are
-required. Therefore, the colon (`:`) must be escaped by two backslashes
-(`\\`).
-
-** To prevent a subcommand from treating the backslash as a special
-character, the backslash must be escaped. As a result, two literal
-backslashes (`\\`) must be passed to the subcommand. To prevent the
-shell from interpreting these backslashes as special characters, each
-backslash must be escaped. Therefore, the backslash must be specified by
-a total of four backslashes (`\\\\`). +
-For the Windows operating system in single mode, a backslash (`\`) is
-required to escape the colon (`:`) and the backslash (`\`) in an option
-that uses the colon as a delimiter.
-
-Instead of using the backslash (`\`) escape character, you can use the
-double quote (") character or single quote (') character. The effects of
-the different types of quote characters on the backslash (`\`) character
-are as follows:
-
-* Between double quote (") characters, the backslash (`\`) character is
-a special character.
-* Between single quote (') characters, the backslash (`\`) character is
-not a special character.
-
-Requirements for Using the --secure Option
-
-The requirements for using the `--secure` option are as follows:
-
-* The domain that you are administering must be configured for security.
-* The `security-enabled` attribute of the `http-listener` element in the
-DAS configuration must be set to `true`. +
-To set this attribute, use the `set` subcommand.
-
-Server Restart After Creation or Deletion
-
-When you use the `asadmin` subcommands to create or delete a
-configuration item, you must restart the DAS for the change to take
-effect. To restart the DAS, use the
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)]
-subcommand.
-
-Help Information for Subcommands and the asadmin Utility
-
-To obtain help information for an `asadmin` utility subcommand, specify
-the subcommand of interest as the operand of the `help` subcommand. For
-example, to obtain help information for the
-link:start-domain.html#start-domain-1[`start-domain`(1)] subcommand,
-type:
-
-[source,oac_no_warn]
-----
-asadmin help start-domain
-----
-
-If you run the `help` subcommand without an operand, this help
-information for the `asadmin` utility is displayed.
-
-To obtain a listing of available `asadmin` subcommands, use the
-link:list-commands.html#list-commands-1[`list-commands`(1)] subcommand.
-
-[[sthref2367]]
-
-Options
-
-`--host`::
-`-H`::
-  The machine name where the DAS is running. The default value is
-  `localhost`.
-`--port`::
-`-p`::
-  The HTTP port or HTTPS port for administration. This port is the port
-  in the URL that you specify in your web browser to manage the domain.
-  For example, in the URL `http://localhost:4949`, the port is 4949. +
-  The default port number for administration is 4848.
-`--user`::
-`-u`::
-  The user name of the authorized administrative user of the DAS. +
-  If you have authenticated to a domain by using the `asadmin login`
-  command, you need not specify the `--user` option for subsequent
-  operations on the domain.
-`--passwordfile`::
-`-W`::
-  Specifies the name, including the full path, of a file that contains
-  password entries in a specific format. +
-  Note that any password file created to pass as an argument by using
-  the `--passwordfile` option should be protected with file system
-  permissions. Additionally, any password file being used for a
-  transient purpose, such as setting up SSH among nodes, should be
-  deleted after it has served its purpose. +
-  The entry for a password must have the `AS_ADMIN_` prefix followed by
-  the password name in uppercase letters, an equals sign, and the
-  password. +
-  The entries in the file that are read by the `asadmin` utility are as
-  follows: +
-  * `AS_ADMIN_PASSWORD=`administration-password
-  * `AS_ADMIN_MASTERPASSWORD=`master-password +
-  The entries in this file that are read by subcommands are as follows: +
-  * `AS_ADMIN_NEWPASSWORD=`new-administration-password (read by the
-  link:start-domain.html#start-domain-1[`start-domain`(1)] subcommand)
-  * `AS_ADMIN_USERPASSWORD=`user-password (read by the
-  link:create-file-user.html#create-file-user-1[`create-file-user`(1)]
-  subcommand)
-  * `AS_ADMIN_ALIASPASSWORD=`alias-password (read by the
-  link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)]
-  subcommand)
-  * `AS_ADMIN_MAPPEDPASSWORD=`mapped-password (read by the
-  link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)]
-  subcommand)
-  * `AS_ADMIN_WINDOWSPASSWORD=`windows-password (read by the
-  link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-  link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-  and link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
-  subcommands)
-  * `AS_ADMIN_SSHPASSWORD=`sshd-password (read by the
-  link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-  link:install-node.html#install-node-1[`install-node`(1)],
-  link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-  and
-  link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-  subcommands)
-  * `AS_ADMIN_SSHKEYPASSPHRASE=`sshd-passphrase (read by the
-  link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-  link:install-node.html#install-node-1[`install-node`(1)],
-  link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-  and
-  link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-  subcommands)
-  * `AS_ADMIN_JMSDBPASSWORD=` jdbc-user-password (read by the
-  link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
-  subcommand) +
-  These password entries are stored in clear text in the password file.
-  To provide additional security, the `create-password-alias` subcommand
-  can be used to create aliases for passwords that are used by remote
-  subcommands. The password for which the alias is created is stored in
-  an encrypted form. If an alias exists for a password, the alias is
-  specified in the entry for the password as follows: +
-[source,oac_no_warn]
-----
-AS_ADMIN_password-name=${ALIAS=password-alias-name} 
-----
-::
-  For example: +
-[source,oac_no_warn]
-----
-AS_ADMIN_SSHPASSWORD=${ALIAS=ssh-password-alias}
-AS_ADMIN_SSHKEYPASSPHRASE=${ALIAS=ssh-key-passphrase-alias}
-----
-::
-  In domains that do not allow unauthenticated login, all remote
-  subcommands must specify the administration password to authenticate
-  to the DAS. The password can be specified by one of the following
-  means: +
-  * Through the `--passwordfile` option
-  * Through the link:login.html#login-1[`login`(1)] subcommand
-  * Interactively at the command prompt +
-  The `login` subcommand can be used to specify only the administration
-  password. For other passwords that remote subcommands require, use the
-  `--passwordfile` option or specify them at the command prompt. +
-  After authenticating to a domain by using the `asadmin login` command,
-  you need not specify the administration password through the
-  `--passwordfile` option for subsequent operations on the domain.
-  However, only the `AS_ADMIN_PASSWORD` option is not required. You
-  still must provide the other passwords, for example,
-  `AS_ADMIN_USERPASSWORD`, when required by individual subcommands, such
-  as
-  link:update-file-user.html#update-file-user-1[`update-file-user`(1)]. +
-  For security reasons, a password that is specified as an environment
-  variable is not read by the `asadmin` utility. +
-  The master password is not propagated on the command line or an
-  environment variable, but can be specified in the file that the
-  `--passwordfile` option specifies. +
-  The default value for `AS_ADMIN_MASTERPASSWORD` is `changeit`.
-`--terse`::
-`-t`::
-  If true, output data is very concise and in a format that is optimized
-  for use in scripts instead of for reading by humans. Typically,
-  descriptive text and detailed status messages are also omitted from
-  the output data. Default is false.
-`--secure`::
-`-s`::
-  If set to true, uses SSL/TLS to communicate with the DAS. +
-  The default is false.
-`--echo`::
-`-e`::
-  If set to true, the command-line statement is echoed on the standard
-  output. Default is false.
-`--interactive`::
-`-I`::
-  If set to true, only the required options are prompted. +
-  The default depends on how the `asadmin` utility is run: +
-  * If the `asadmin` utility is run from a console window, the default
-  is `true`.
-  * If the `asadmin` utility is run without a console window, for
-  example, from within a script, the default is `false`.
-`--detach`::
-  If set to `true`, the specified `asadmin` subcommand is detached and
-  executed in the background in detach mode. The default value is
-  `false`. +
-  The `--detach` option is useful for long-running subcommands and
-  enables you to execute several independent subcommands from one
-  console or script. +
-  The `--detach` option is specified before the subcommand. For example,
-  in single mode, `asadmin --detach` subcommand. +
-  Job IDs are assigned to subcommands that are started using
-  `asadmin --detach`. You can use the
-  link:list-jobs.html#list-jobs-1[`list-jobs`(1)] subcommand to view the
-  jobs and their job IDs, the link:attach.html#attach-1[`attach`(1)]
-  subcommand to reattach to the job and view its status and output, and
-  the
-  link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)]
-  subcommand to configure how long information about the jobs is kept.
-`--help`::
-`-?`::
-  Displays the help text for the `asadmin` utility.
-
-[[sthref2368]]
-
-Examples
-
-[[GSRFM805]][[sthref2369]]
-
-Example 1   Running an `asadmin` Utility Subcommand in Single Mode
-
-This example runs the
-link:list-applications.html#list-applications-1[`list-applications`(1)]
-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,oac_no_warn]
-----
-asadmin list-applications
-hello <web>
-
-Command list-applications executed successfully.
-----
-
-[[GSRFM806]][[sthref2370]]
-
-Example 2   Specifying an `asadmin` Utility Option With a Subcommand
-
-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,oac_no_warn]
-----
-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.
-----
-
-[[GSRFM807]][[sthref2371]]
-
-Example 3   Specifying an `asadmin` Utility Option and a Subcommand
-Option
-
-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,oac_no_warn]
-----
-asadmin --host srvr1.example.com list-applications --type web
-basic-ezcomp <web>
-scrumtoys <web>
-ejb31-war <ejb, web>
-
-Command list-applications executed successfully.
-----
-
-[[GSRFM808]][[sthref2372]]
-
-Example 4   Escaping a Command-Line Argument With Single Quote
-Characters
-
-The commands in this example specify the backslash (`\`) UNIX operating
-system meta character and the colon (:) option delimiter in the property
-value `c:\extras\pmdapp`.
-
-For the UNIX operating system in single mode and multimode, and for all
-operating systems in multimode, the backslash (`\`) is required to
-escape the backslash (`\`) meta character and the colon (:) option
-delimiter:
-
-[source,oac_no_warn]
-----
-asadmin deploy --property extras.home='c\:\\extras\\pmdapp' pmdapp.war
-Application deployed with name pmdapp.
-Command deploy executed successfully
-----
-
-For the Windows operating system in single mode, the single quote (`'`)
-characters eliminate the need for other escape characters:
-
-[source,oac_no_warn]
-----
-asadmin deploy --property extras.home='c:\extras\pmdapp' pmdapp.war
-Application deployed with name pmdapp.
-Command deploy executed successfully
-----
-
-[[GSRFM809]][[sthref2373]]
-
-Example 5   Specifying a UNIX Operating System Meta Character in an
-Option
-
-The commands in this example specify the backslash (`\`) UNIX operating
-system meta character in the option argument `Test\Escape\Character`.
-
-For the UNIX operating system in single mode and multimode, and for all
-operating systems in multimode, the backslash (`\`) is required to
-escape the backslash (`\`) meta character:
-
-[source,oac_no_warn]
-----
-asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool 
---datasourceclassname sampleClassName 
---description Test\\Escape\\Character 
-sampleJDBCConnectionPool
-----
-
-For the Windows operating system in single mode, no escape character is
-required:
-
-[source,oac_no_warn]
-----
-asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool 
---datasourceclassname sampleClassName 
---description Test\Escape\Character 
-sampleJDBCConnectionPool
-----
-
-[[GSRFM835]][[sthref2374]]
-
-Example 6   Specifying a Command-Line Argument That Contains a Space
-
-The commands in this example specify spaces in the operand
-`C:\Documents and Settings\gfuser\apps\hello.war`.
-
-For all operating systems in single mode or multimode, the entire
-operand can be enclosed in double quote (`"`) characters:
-
-[source,oac_no_warn]
-----
-asadmin deploy "C:\Documents and Settings\gfuser\apps\hello.war"
-Application deployed with name hello.
-Command deploy executed successfully.
-----
-
-For the UNIX operating system in single mode and multimode, and for all
-operating systems in multimode, the entire command-line argument can be
-enclosed in single quote (`'`) characters:
-
-[source,oac_no_warn]
-----
-asadmin> deploy 'C:\Documents and Settings\gfuser\apps\hello.war'
-Application deployed with name hello.
-Command deploy executed successfully.
-----
-
-Alternatively, for the UNIX operating system in single mode and
-multimode, and for all operating systems in multimode, the backslash
-(`\`) escape character can be used before each space in the operand. In
-this situation, the backslash (`\`) escape character is required before
-each backslash in the operand:
-
-[source,oac_no_warn]
-----
-asadmin> deploy C:\\Documents\ and\ Settings\\gfuser\\apps\\hello.war
-Application deployed with name hello.
-Command deploy executed successfully.
-----
-
-[[GSRFM810]][[sthref2375]]
-
-Example 7   Specifying a Meta Character and an Option Delimiter
-Character in a Property
-
-The commands in this example specify the backslash (`\`) UNIX operating
-system meta character and the colon (:) option delimiter character in
-the `--property` option of the
-link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)]
-subcommand.
-
-The name and value pairs for the `--property` option are as follows:
-
-[source,oac_no_warn]
-----
-user=dbuser
-passwordfile=dbpasswordfile
-DatabaseName=jdbc:derby
-server=http://localhost:9092
-----
-
-For the UNIX operating system in single mode and multimode, and for all
-operating systems in multimode, a backslash (`\`) is required to escape
-the colon (`:`) and the backslash (`\`):
-
-[source,oac_no_warn]
-----
-asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool 
---datasourceclassname com.derby.jdbc.jdbcDataSource
---property user=dbuser:passwordfile=dbpasswordfile:
-DatabaseName=jdbc\\:derby:server=http\\://localhost\\:9092 javadb-pool
-----
-
-Alternatively, the entire argument to the `--property` option can be
-enclosed in single quote (') characters:
-
-[source,oac_no_warn]
-----
-asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool 
---datasourceclassname com.derby.jdbc.jdbcDataSource
---property 'user=dbuser:passwordfile=dbpasswordfile:
-DatabaseName="jdbc:derby":server="http://localhost:9092"' javadb-pool
-----
-
-For the Windows operating system in single mode, a backslash (`\`) is
-required to escape only the colon (`:`), but not the backslash (`\`):
-
-[source,oac_no_warn]
-----
-asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
---datasourceclassname com.derby.jdbc.jdbcDataSource
---property user-dbuser:passwordfile-dbpasswordfile:
-DatabaseName=jdbc\:derby:server=http\://localhost\:9092 javadb-pool
-----
-
-For all operating systems, the need to escape the colon (`:`) in a value
-can be avoided by enclosing the value in double quote characters or
-single quote characters:
-
-[source,oac_no_warn]
-----
-asadmin --user admin --passwordfile gfpass create-jdbc-connection-pool
---datasourceclassname com.derby.jdbc.jdbcDataSource
---property user=dbuser:passwordfile=dbpasswordfile:
-DatabaseName=\"jdbc:derby\":server=\"http://localhost:9092\" javadb-pool
-----
-
-[[GSRFM811]][[sthref2376]]
-
-Example 8   Specifying an Option Delimiter and an Escape Character in a
-JVM Machine Option
-
-The commands in this example specify the following characters in the
-`-Dlocation=c:\sun\appserver` JVM machine option:
-
-* The colon (`:`) option delimiter
-* The backslash (`\`) escape character
-
-For the UNIX operating system in single mode and multimode, and for all
-operating systems in multimode, these characters must be specified as
-follows:
-
-* To pass a literal backslash to a subcommand, two backslashes are
-required. Therefore, the colon (`:`) must be escaped by two backslashes
-(`\\`).
-* To prevent the subcommand from treating the backslash as a special
-character, the backslash must be escaped. As a result, two literal
-backslashes (`\\`) must be passed to the subcommand. To prevent the
-shell from interpreting these backslashes as special characters, each
-backslash must be escaped. Therefore, the backslash must be specified by
-a total of four backslashes (`\\\\`).
-
-The resulting command is as follows:
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options --target test-server 
--e -Dlocation=c\\:\\\\sun\\\\appserver
-----
-
-For the Windows operating system in single mode, a backslash (`\`) is
-required to escape the colon (`:`) and the backslash (`\`):
-
-[source,oac_no_warn]
-----
-asadmin create-jvm-options --target test-server 
--e -Dlocation=c\:\\sun\\appserver
-----
-
-[[GSRFM812]][[sthref2377]]
-
-Example 9   Specifying an Option That Contains an Escape Character
-
-The commands in this example specify the backslash (`\`) character and
-the double quote (`"`) characters in the `"Hello\App"\authentication`
-option argument.
-
-For the UNIX operating system in single mode and multimode, and for all
-operating systems in multimode, a backslash (`\`) is required to escape
-the double quote character (`"`) and the backslash (`\`):
-
-[source,oac_no_warn]
-----
-asadmin set-web-env-entry --name="Hello User" --type=java.lang.String 
---value=techscribe --description=\"Hello\\App\"\\authentication hello
-----
-
-For the Windows operating system in single mode, a backslash (`\`) is
-required to escape only the double quote (`"`), but not the backslash
-(`\`):
-
-[source,oac_no_warn]
-----
-asadmin set-web-env-entry --name="Hello User" --type=java.lang.String 
---value=techscribe --description=\"Hello\App\"\authentication hello
-----
-
-[[sthref2378]]
-
-Environment Variables
-
-Environment variables modify the default values of `asadmin` utility
-options as shown in the following table.
-
-[width="100%",cols="44%,56%",options="header",]
-|==============================================
-|Environment Variable |`asadmin` Utility Option
-|`AS_ADMIN_TERSE` |`--terse`
-|`AS_ADMIN_ECHO` |`--echo`
-|`AS_ADMIN_INTERACTIVE` |`--interactive`
-|`AS_ADMIN_HOST` |`--host`
-|`AS_ADMIN_PORT` |`--port`
-|`AS_ADMIN_SECURE` |`--secure`
-|`AS_ADMIN_USER` |`--user`
-|`AS_ADMIN_PASSWORDFILE` |`--passwordfile`
-|`AS_ADMIN_HELP` |`--help`
-|==============================================
-
-
-[[sthref2379]]
-
-Attributes
-
-See
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
-for descriptions of the following attributes:
-
-[width="100%",cols="50%,50%",options="header",]
-|===============================
-|ATTRIBUTE TYPE |ATTRIBUTE VALUE
-|Interface Stability |Unstable
-|===============================
-
-
-[[sthref2380]]
-
-See Also
-
-link:attach.html#attach-1[`attach`(1)],
-link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)],
-link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)],
-link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
-link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],
-link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
-link:deploy.html#deploy-1[`deploy`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:list-commands.html#list-commands-1[`list-commands`(1)],
-link:list-jobs.html#list-jobs-1[`list-jobs`(1)],
-link:login.html#login-1[`login`(1)],
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)],
-link:set.html#set-1[`set`(1)],
-link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:update-file-user.html#update-file-user-1[`update-file-user`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
-
-'''''
-
-
-Footnote Legend
-
-Footnote 1: The terms "Java Virtual Machine" and "JVM" mean a Virtual
-Machine for the Java platform. +
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/attach.adoc b/docs/reference-manual/src/main/jbake/content/attach.adoc
deleted file mode 100644
index 8b66494..0000000
--- a/docs/reference-manual/src/main/jbake/content/attach.adoc
+++ /dev/null
@@ -1,102 +0,0 @@
-type=page
-status=published
-title=attach
-next=backup-domain.html
-prev=apply-http-lb-changes.html
-~~~~~~
-attach
-======
-
-[[attach-1]][[GSRFM825]][[attach]]
-
-attach
-------
-
-attaches to subcommands that were started using `asadmin --detach` or
-that contain progress information
-
-[[sthref32]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] attach [--help] 
-job_id
-----
-
-[[sthref33]]
-
-Description
-
-The `attach` subcommand attaches to subcommands that were started using
-the `asadmin` utility option `--detach` or that contain progress
-information. The `--detach` option detaches long-running subcommands and
-executes them in the background in detach mode.
-
-Job IDs are assigned to the subcommands (jobs), and can be used to view
-the status of a job and its output. Use the
-link:list-jobs.html#list-jobs-1[`list-jobs`(1)] subcommand to view the
-jobs and their job IDs, and the
-link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)]
-subcommand to configure how long information about the jobs is kept.
-
-This subcommand is supported in remote mode only.
-
-[[sthref34]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref35]]
-
-Operands
-
-job_id::
-  The ID of the job for which you want to view status and output.
-
-[[sthref36]]
-
-Examples
-
-[[GSRFM826]][[CBHDFEGB]]
-
-Example 1   Attaching to a Subcommand and Checking Its Status
-
-This example attaches to the `deploy` subcommand with a job ID of `20`
-and shows that the job is finished. If a subcommand is still in
-progress, the output displays the current status, for example,
-`64%: Uploading bits`.
-
-[source,oac_no_warn]
-----
-asadmin> attach 20
-Finished execution of deploy
-Command attach executed successfully.
-----
-
-[[sthref37]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref38]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)],
-link:list-jobs.html#list-jobs-1[`list-jobs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/backup-domain.adoc b/docs/reference-manual/src/main/jbake/content/backup-domain.adoc
deleted file mode 100644
index e2216ab..0000000
--- a/docs/reference-manual/src/main/jbake/content/backup-domain.adoc
+++ /dev/null
@@ -1,112 +0,0 @@
-type=page
-status=published
-title=backup-domain
-next=change-admin-password.html
-prev=attach.html
-~~~~~~
-backup-domain
-=============
-
-[[backup-domain-1]][[GSRFM00003]][[backup-domain]]
-
-backup-domain
--------------
-
-performs a backup on the domain
-
-[[sthref39]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] backup-domain [--help]
-[--long[={false|true}]]
-[--description description-text]
-[--domaindir domain-root-dir]
-[--backupdir backup-directory]
-[--backupconfig backup-config-name]
-[domain_name]
-----
-
-[[sthref40]]
-
-Description
-
-The `backup-domain` subcommand backs up files under the named domain.
-
-This subcommand is supported in local mode only in GlassFish Server Open
-Source Edition, and is supported in local mode and remote mode in Oracle
-GlassFish Server.
-
-In GlassFish Server Open Source Edition, the domain to be backed up must
-be stopped.
-
-In Oracle GlassFish Server, the domain to be backed up must be stopped
-or be suspended using the `suspend-domain`(1) subcommand.
-
-[[sthref41]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Displays detailed information about the backup operation. +
-  The default value is `false`.
-`--description`::
-  Specifies a description to store in the backup file. The description
-  is displayed as part of the information about a backup file. +
-  The default value has this form: +
-[source,oac_no_warn]
-----
-domain-name backup created on YYYY_MM_DD by user user-name
-----
-`--domaindir`::
-  Specifies the domain root directory, the parent directory of the
-  domain to back up. +
-  The default value is as-install`/domains`.
-`--backupdir`::
-  Specifies the directory under which the backup file is to be stored. +
-  The default value is as-install`/domains/`domain-dir`/backups`. If the
-  domain is not in the default location, the location is
-  domain-dir`/backups`.
-`--backupconfig`::
-  (Supported only in Oracle GlassFish Server.) The name of the domain
-  backup configuration in the backup directory under which the backup
-  file is to be stored.
-
-[[sthref42]]
-
-Operands
-
-domain-name::
-  Specifies the name of the domain to be backed up. +
-  This operand is optional if only one domain exists in the
-  \{product---name} installation.
-
-[[sthref43]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref44]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-backups.html#list-backups-1[`list-backups`(1)],
-link:restore-domain.html#restore-domain-1[`restore-domain`(1)],
-`resume-domain`(1), `suspend-domain`(1)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/capture-schema.adoc b/docs/reference-manual/src/main/jbake/content/capture-schema.adoc
deleted file mode 100644
index 52ec6e2..0000000
--- a/docs/reference-manual/src/main/jbake/content/capture-schema.adoc
+++ /dev/null
@@ -1,106 +0,0 @@
-type=page
-status=published
-title=capture-schema
-next=package-appclient.html
-prev=asadmin.html
-~~~~~~
-capture-schema
-==============
-
-[[capture-schema-1m]][[GSRFM00821]][[capture-schema]]
-
-capture-schema
---------------
-
-stores the database metadata (schema) in a file for use in mapping and
-execution
-
-[[sthref2381]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-capture-schema -username name -password password
-[-dburl url] [-driver jdbc_driver_classname]
-[-schemaname schemaname] [-table tablename]
--out filename]
-----
-
-[[sthref2382]]
-
-Description
-
-Stores the database metadata (schema) in a file.
-
-Run `capture-schema` as the same database user that owns the table(s),
-and use that same username with the `-username` option (and
-`-schemaname`, if required).
-
-When running `capture-schema` against an Oracle database, you should
-grant the database user running the `capture-schema` command the
-`ANALYZE ANY TABLE` privilege.
-
-[[sthref2383]]
-
-Options
-
-`-username`::
-  user name for authenticating access to a database.
-`-password`::
-  password for accessing the selected database.
-`-dburl`::
-  JDBC URL required by the driver for accessing a database.
-`-driver`::
-  JDBC driver classname in your `CLASSPATH`.
-`-schemaname`::
-  name of the user schema being captured. If not specified, the default
-  will capture metadata for all tables from all the schemas accessible
-  to this user. +
-  Specifying this parameter is highly recommended. Without this option,
-  if more than one schema is accessible to this user, more than one
-  table with the same name may be captured, which will cause problems
-  when mapping CMP fields to tables. +
-  The specified schema name must be uppercase.
-`-table`::
-  name of a table; multiple table names can be specified. If no table is
-  specified, all the tables in the database or named schema are
-  captured. +
-  The specified table name or names are case sensitive. Be sure to match
-  the case of the previously created table names.
-`-out`::
-  name of the output file. This option is required. If the specified
-  output file does not contain the .dbschema suffix, it will be appended
-  to the filename.
-
-[[sthref2384]]
-
-Examples
-
-[[GSRFM813]][[sthref2385]]
-
-Example 1   Using the `capture-schema` command
-
-[source,oac_no_warn]
-----
-capture-schema -username cantiflas -password enigma
--dburl jdbc:oracle:thin:@sadbuttrue:1521:ora817
--driver oracle.jdbc.driver.OracleDriver
--schemaname CANTIFLAS -out cantiflas.dbschema
-----
-
-Where: `sun-acc.xml` is the name of the client configuration XML file,
-`myclientapp.jar` is the client application `.jar` file, and `scott` and
-`sample` are arguments to pass to the application. If `sun-acc.xml` and
-`myclientapp.jar` are not in the current directory, you must give the
-absolute path locations; otherwise the relative paths are used. The
-relative path is relative to the directory where the command is being
-executed.
-
-[[sthref2386]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/change-admin-password.adoc b/docs/reference-manual/src/main/jbake/content/change-admin-password.adoc
deleted file mode 100644
index 86aaf9a..0000000
--- a/docs/reference-manual/src/main/jbake/content/change-admin-password.adoc
+++ /dev/null
@@ -1,136 +0,0 @@
-type=page
-status=published
-title=change-admin-password
-next=change-master-broker.html
-prev=backup-domain.html
-~~~~~~
-change-admin-password
-=====================
-
-[[change-admin-password-1]][[GSRFM00004]][[change-admin-password]]
-
-change-admin-password
----------------------
-
-changes the administrator password
-
-[[sthref45]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] change-admin-password [--help]
-[--domaindir domain-root-dir [--domain_name domain-name]]
-----
-
-[[sthref46]]
-
-Description
-
-The `change-admin-password` subcommand modifies the administrator
-password. The `change-admin-password` subcommand is interactive because
-the subcommand prompts the user for the old administrator password, for
-the new administrator password, and for confirmation of the new
-administrator password. The new password must contain at least 8
-characters.
-
-If the only user is an anonymous user without a password, this
-subcommand fails.
-
-If a blank password is provided, this subcommand fails if secure
-administration is enabled.
-
-For security purposes, create a password-protected user account with
-administrator privileges. To create this account, use the
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)] or
-the Administration Console. After creating this user account, remove the
-anonymous user to restrict access to \{product---name} settings.
-
-If more than one administrator is configured for \{product---name}, you
-must run the `asadmin` command with the `--user` option to change the
-password for that user. For more information, see the examples in this
-help page.
-
-This subcommand is supported in local mode and remote mode. If the
-`--domaindir` or `--domain_name` option is specified, the
-`change-admin-password` subcommand operates in local mode. If neither
-option is specified, the `change-admin-password` subcommand first
-attempts to operate in remote mode. If neither option is specified and
-the DAS is not running, the `change-admin-password` subcommand operates
-in local mode, using the default values for the `--domaindir` and
-`--domain_name` options.
-
-[[sthref47]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--domaindir`::
-  Specifies the parent directory of the domain specified in the
-  `--domain_name` option. When this option is used, the
-  `change-admin-password` subcommand operates in local mode.
-`--domain_name`::
-  Specifies the domain of the admin user. +
-  This option is not required if the directory specified by the
-  `--domaindir` option contains only one domain.
-
-[[sthref48]]
-
-Examples
-
-[[GSRFM447]][[sthref49]]
-
-Example 1   Changing the Administrator Password For a Single User in
-Multimode
-
-[source,oac_no_warn]
-----
-asadmin --user admin
-asadmin> change-admin-password
-Please enter the old admin password>
-Please enter the new admin password>
-Please enter the new admin password again>
-Command change-admin-password executed successfully.
-----
-
-[[GSRFM448]][[sthref50]]
-
-Example 2   Changing the Administrator Password For a Single User in
-Single Mode
-
-[source,oac_no_warn]
-----
-asadmin --user admin change-admin-password
-Please enter the old admin password>
-Please enter the new admin password>
-Please enter the new admin password again>
-Command change-admin-password executed successfully.
-----
-
-[[sthref51]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  command failed
-
-[[sthref52]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
-link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
-link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
-link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/change-master-broker.adoc b/docs/reference-manual/src/main/jbake/content/change-master-broker.adoc
deleted file mode 100644
index e08b221..0000000
--- a/docs/reference-manual/src/main/jbake/content/change-master-broker.adoc
+++ /dev/null
@@ -1,92 +0,0 @@
-type=page
-status=published
-title=change-master-broker
-next=change-master-password.html
-prev=change-admin-password.html
-~~~~~~
-change-master-broker
-====================
-
-[[change-master-broker-1]][[GSRFM00005]][[change-master-broker]]
-
-change-master-broker
---------------------
-
-changes the master broker in a Message Queue cluster providing JMS
-services for a \{product---name} cluster.
-
-[[sthref53]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] change-master-broker [--help]
-clustered-instance-name
-----
-
-[[sthref54]]
-
-Description
-
-The `change-master-broker` subcommand changes the master broker in a
-Message Queue cluster that is the JMS provider for a \{product---name}
-cluster. By default, the master broker is the one associated with the
-first instance configured in the \{product---name} cluster.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref55]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref56]]
-
-Operands
-
-clustered-instance-name::
-  The name of the server instance whose Message Queue broker is to
-  become the master broker of the Message Queue cluster. This server
-  instance must be an instance in a \{product---name} cluster.
-
-[[sthref57]]
-
-Examples
-
-[[GSRFM449]][[sthref58]]
-
-Example 1   Changing the master broker
-
-The following subcommand changes the Message Queue master broker to the
-one for the `clustinst3` clustered instance.
-
-[source,oac_no_warn]
-----
-asadmin> change-master-broker clustinst3
-Command change-master-broker executed successfully.
-----
-
-[[sthref59]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref60]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/change-master-password.adoc b/docs/reference-manual/src/main/jbake/content/change-master-password.adoc
deleted file mode 100644
index f4e160d..0000000
--- a/docs/reference-manual/src/main/jbake/content/change-master-password.adoc
+++ /dev/null
@@ -1,133 +0,0 @@
-type=page
-status=published
-title=change-master-password
-next=collect-log-files.html
-prev=change-master-broker.html
-~~~~~~
-change-master-password
-======================
-
-[[change-master-password-1]][[GSRFM00006]][[change-master-password]]
-
-change-master-password
-----------------------
-
-changes the master password
-
-[[sthref61]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] change-master-password [--help] 
-[--nodedir node-dir] [--domaindir domain-dir]
-[--savemasterpassword={false|true}] [domain-name|node-name]
-----
-
-[[sthref62]]
-
-Description
-
-The `change-master-password` subcommand is used to modify the master
-password. The `change-master-password` subcommand is interactive in that
-the user is prompted for the old master password, as well as the new
-master password. This subcommand will not work unless the server is
-stopped. In a distributed environment, this command must run on each
-machine in the domain.
-
-[[sthref63]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodedir`::
-  The name of the directory containing the node instance for which the
-  password will be changed. If this option is omitted, the change is
-  applied to the entire domain.
-`--domaindir`::
-  The name of the domain directory used for this operation. By default,
-  the `--domaindir` option is `$AS_DEF_DOMAINS_PATH`, which is an
-  environment variable defined in the file `asenv.bat` or `asenv.conf`.
-`--savemasterpassword`::
-  This option indicates whether the master password should be written to
-  the file system. This is necessary so that the
-  link:start-domain.html#start-domain-1[`start-domain`(1)] command can
-  start the server without having to prompt the user. +
-  The default is `false`. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Caution:
-
-Saving the master password on disk is extremely insecure and should be
-avoided.
-
-|=======================================================================
-
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-If the `--savemasterpassword` option is not set, the master password
-file, if it exists, will be deleted.
-
-|=======================================================================
-
-
-[[sthref64]]
-
-Operands
-
-domain-name|node-name::
-  This name of the domain or node for which the password will be
-  changed. If there is only a single domain, this is optional.
-
-[[sthref65]]
-
-Examples
-
-[[GSRFM450]][[sthref66]]
-
-Example 1   Changing the Master Password
-
-This example shows how to changed the master password for the
-`domain44ps` domain.
-
-[source,oac_no_warn]
-----
-asadmin>change-master-password domain44ps
-Please enter the new master password>
-Please enter the new master password again>
-Master password changed for domain44ps
-----
-
-[[sthref67]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref68]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
-link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/collect-log-files.adoc b/docs/reference-manual/src/main/jbake/content/collect-log-files.adoc
deleted file mode 100644
index 07e4be0..0000000
--- a/docs/reference-manual/src/main/jbake/content/collect-log-files.adoc
+++ /dev/null
@@ -1,169 +0,0 @@
-type=page
-status=published
-title=collect-log-files
-next=configure-jms-cluster.html
-prev=change-master-password.html
-~~~~~~
-collect-log-files
-=================
-
-[[collect-log-files-1]][[GSRFM00007]][[collect-log-files]]
-
-collect-log-files
------------------
-
-creates a ZIP archive of all available log files
-
-[[sthref69]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] collect-log-files [--help] 
-[--target target] 
-[--retrieve={false|true}] [retrievefilepath]]
-----
-
-[[sthref70]]
-
-Description
-
-The `collect-log-files` subcommand collects all available log files for
-the domain administration server (DAS), the specified cluster, or the
-specified \{product---name} instance and creates a single ZIP archive of
-the log files. If a cluster is specified, the ZIP archive also contains
-the log file for the DAS.
-
-This subcommand is supported in remote mode only.
-
-[[sthref71]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--retrieve`::
-  Specifies whether the ZIP archive is created in a directory other than
-  the default directory. +
-  By default the ZIP archive is created in the
-  domain-dir`/collected-logs` directory. The ZIP file names are
-  constructed from the specified target and timestamp, as follows: +
-[source,oac_no_warn]
-----
-log_yyyy-mm-dd_hh-min-sec.zip
-----
-::
-  Possible values are as follows: +
-  `false`;;
-    The ZIP archive will be created in the default directory. If
-    omitted, the `--retrieve` option defaults to `false`.
-  `true`;;
-    The ZIP archive will be created in the directory that the
-    retrievefilepath operand specifies. If retrievefilepath is omitted,
-    the ZIP archive will be created in the default directory.
-`--target`::
-  Specifies the target for which log files will be collected. +
-  Possible values are as follows: +
-  `server`;;
-    The log files will be collected for the DAS (default).
-  instance-name;;
-    The log files will be collected for the specified \{product---name}
-    instance.
-  cluster-name;;
-    The log files will be collected for the specified cluster and the
-    DAS.
-
-[[sthref72]]
-
-Operands
-
-retrievefilepath::
-  The name of the directory in which the ZIP archive will be created. If
-  this operand is omitted, the ZIP archive will be created in the
-  default directory. If the `--retrieve` option is `false`, this operand
-  is ignored.
-
-[[sthref73]]
-
-Examples
-
-[[GSRFM451]][[sthref74]]
-
-Example 1   Collecting Log Files for the Default Server
-
-This example generates a ZIP archive from the log files for the default
-server.
-
-[source,oac_no_warn]
-----
-asadmin> collect-log-files
-Created Zip file under /space/gfv3/v3setup/glassfish3/glassfish/domains/domain1/\
-collected-logs/log_2010-12-15_15-46-23.zip.
-Command collect-log-files executed successfully.
-----
-
-[[GSRFM452]][[sthref75]]
-
-Example 2   Collecting Log Files for a Cluster
-
-This example generates a ZIP archive from the log files for a cluster
-named `cluster1` and the two server instances running in the cluster.
-
-[source,oac_no_warn]
-----
-asadmin> collect-log-files --target cluster1
-Log files are downloaded for instance1.
-Log files are downloaded for instance2.
-Created Zip file under /space/gfv3/v3setup/glassfish3/glassfish/domains/domain1/\
-collected-logs/log_2010-12-15_15-54-06.zip.
-Command collect-log-files executed successfully.
-----
-
-[[GSRFM453]][[sthref76]]
-
-Example 3   Collecting Log Files in a Directory Other Than the Default
-for a Cluster
-
-This example generates a ZIP archive from the log files for a cluster
-named `cluster1` and its two server instances, and saves the archive in
-a directory named `/space/output`.
-
-[source,oac_no_warn]
-----
-asadmin> collect-log-files --target cluster1 --retrieve true /space/output
-Log files are downloaded for instance1.
-Log files are downloaded for instance2.
-Created Zip file under /space/output/log_2010-12-15_15-55-54.zip.
-Command collect-log-files executed successfully.
-----
-
-[[sthref77]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref78]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
-link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
-link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
-link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
-link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/configuration.adoc b/docs/reference-manual/src/main/jbake/content/configuration.adoc
deleted file mode 100644
index c0e6bd3..0000000
--- a/docs/reference-manual/src/main/jbake/content/configuration.adoc
+++ /dev/null
@@ -1,62 +0,0 @@
-type=page
-status=published
-title=configuration
-next=domain.html
-prev=application.html
-~~~~~~
-configuration
-=============
-
-[[configuration-5asc]][[GSRFM00266]][[configuration]]
-
-configuration
--------------
-
-the data set that determines how \{product---name} operates
-
-[[sthref2394]]
-
-Description
-
-The configuration of \{product---name} is the data set that determines
-how it operates. Parts of this configuration determine the operation of
-specific parts of \{product---name}, such as the following:
-
-* Services, such as the transaction service
-* Resources, such as databases
-* Deployed applications or modules, such as web applications
-* Clusters and server instances
-
-The term configuration is also used to describe a part of the overall
-configuration, such as the transaction service configuration or the
-configuration of a database. In clustered environments, clusters or
-server instances can share configurations.
-
-Examples of configuration data are port numbers, flags that enable or
-disable processes, application names, and so on. Most of these data
-points are name/value pairs, either hard-coded attributes or more
-flexibly defined properties.
-
-The hierarchical structure of the configuration is explained in the
-dotted names page. You can view and change most of the \{product---name}
-configuration using either the Administration Console or the `asadmin`
-utility and its subcommands. To list the structure of all or part of the
-configuration, use the `list` subcommand. To view the value of one or
-more attributes or properties, use the `get` subcommand. To change the
-value of an attribute or property, use the `set` subcommand.
-
-[[sthref2395]]
-
-See Also
-
-link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
-link:set.html#set-1[`set`(1)]
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
-
-"link:../administration-guide/overview.html#GSADG00527[Configuration Tasks]" in GlassFish Server Open Source
-Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/configure-jms-cluster.adoc b/docs/reference-manual/src/main/jbake/content/configure-jms-cluster.adoc
deleted file mode 100644
index e0339f6..0000000
--- a/docs/reference-manual/src/main/jbake/content/configure-jms-cluster.adoc
+++ /dev/null
@@ -1,150 +0,0 @@
-type=page
-status=published
-title=configure-jms-cluster
-next=configure-lb-weight.html
-prev=collect-log-files.html
-~~~~~~
-configure-jms-cluster
-=====================
-
-[[configure-jms-cluster-1]][[GSRFM00008]][[configure-jms-cluster]]
-
-configure-jms-cluster
----------------------
-
-configures the Message Queue cluster providing JMS services to a
-\{product---name} cluster
-
-[[sthref79]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] configure-jms-cluster [--help]
-[--clustertype={conventional|enhanced}]
-[--configstoretype={masterbroker|shareddb}]
-[--messagestoretype={file|jdbc}]
-[--dbvendor database-vendor]
-[--dbuser database-user]
-[--dburl database-url]
-[--property (name=value)[:name=value]*]
-cluster-name
-----
-
-[[sthref80]]
-
-Description
-
-The `configure-jms-cluster` configures the Message Queue cluster
-providing JMS services to a \{product---name} cluster.
-
-This subcommand should be used before the \{product---name} cluster is
-started for the first time. Otherwise, follow the instructions in
-"link:../administration-guide/jms.html#GSADG00020[Administering the Java Message Service (JMS)]" in
-GlassFish Server Open Source Edition Administration Guide.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref81]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--clustertype`::
-  The type of Message Queue cluster to configure. The value
-  `conventional` specifies a conventional cluster, and the value
-  `enhanced` specifies an enhanced, high-availability cluster. For
-  information about these cluster types of Message Queue clusters, see
-  "link:../../openmq/mq-tech-over/broker-clusters.html#GMTOV00028[Broker Clusters]" in Open Message Queue Technical
-  Overview. +
-  The default value is `conventional`. +
-  If `enhanced` is specified, the `configstoretype` and
-  `messagestoretype` options are ignored.
-`--configstoretype`::
-  The type of data store for configuration data in a conventional
-  cluster. The value `masterbroker` specifies the use of a master broker
-  to store and manage the configuration data. The value `shareddb`
-  specifies the use of a shared database to store the configuration
-  data. +
-  The default value is `masterbroker`. +
-  This option is ignored if `clustertype` is set to `enhanced`.
-`--messagestoretype`::
-  The type of data store for message data in brokers in a conventional
-  cluster. The value `file` specifies a file store. The value `jdbc`
-  specifies a JDBC store. +
-  The default value is `file`. +
-  This option is ignored if `clustertype` is set to `enhanced`.
-`--dbvendor` +
-`--dbuser`::
-`--dburl`::
-  The database vendor, user, and access url of the JDBC database to use
-  in any of these situations: +
-  * When `clustertype` is set to `enhanced`
-  * When `configstoretype` is set to `shareddb`
-  * When `messagestoretype` is set to `jdbc` +
-  For information about supported vendors and the formats of access urls
-  for each vendor, see "link:../../openmq/mq-admin-guide/persistence-services.html#GMADG00244[JDBC-Based Persistence]" in
-  Open Message Queue Administration Guide. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-To specify the password of the JDBC database user, use the
-`--passwordfile` utility option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] command after adding the
-entry `AS_ADMIN_JMSDBPASSWORD` to the password file.
-
-|=======================================================================
-
-`--property`::
-  A list of additional database-vendor-specific properties to configure
-  the JDBC database for use by the Message Queue cluster. Specify
-  properties as a colon (`:`) separated list of property names and
-  values in the form: +
-[source,oac_no_warn]
-----
-prop1name=prop1value:prop2name=prop2value
-----
-
-[[sthref82]]
-
-Operands
-
-cluster-name::
-  The name of the \{product---name} cluster for which the Message Queue
-  cluster is to provide JMS services. +
-  Because \{product---name} uses the cluster name to uniquely identify
-  database tables the Message Queue cluster might require, the length of
-  the name is restricted in the following situations: +
-  * If `clustertype` is set to `enhanced`, the name can be no longer
-  than n–21 characters, where n is the maximum table name length allowed
-  by the database.
-  * If `configstoretype` is set to `shareddb`, the name can be no longer
-  than n–19 characters, where n is the maximum table name length allowed
-  by the database.
-
-[[sthref83]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref84]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/configure-lb-weight.adoc b/docs/reference-manual/src/main/jbake/content/configure-lb-weight.adoc
deleted file mode 100644
index 1e58fe3..0000000
--- a/docs/reference-manual/src/main/jbake/content/configure-lb-weight.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=configure-lb-weight
-next=configure-ldap-for-admin.html
-prev=configure-jms-cluster.html
-~~~~~~
-configure-lb-weight
-===================
-
-[[configure-lb-weight-1]][[GSRFM00009]][[configure-lb-weight]]
-
-configure-lb-weight
--------------------
-
-sets load balancing weights for clustered instances
-
-[[sthref85]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] configure-lb-weight [--help] 
---cluster cluster_name
-instance-name=weight[:instance-name=weight]
-----
-
-[[sthref86]]
-
-Description
-
-The `configure-lb-weight` subcommand assigns weight to the server
-instances in a cluster. Weights can be used for HTTP, RMI/IIOP and JMS
-load balancing. For the HTTP load balancer, the weights are used only if
-the load balancer's policy is set to `weighted-round-robin`. The load
-balancer policy is set in the `create-http-lb-ref` subcommand or `set`
-subcommand.
-
-Use the weight to vary the load going to different instances in the
-cluster. For example, if an instance is on a machine with more capacity,
-give it a higher weight so that more requests are sent to that instance
-by the load balancer. The default weight is 100. If all instances have
-the default weight, the load balancer performs simple round robin load
-balancing.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref87]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--cluster`::
-  The name of the cluster.
-
-[[sthref88]]
-
-Operands
-
-instance-name=weight::
-  The name of the instance and the weight you are assigning it. The
-  weight must be an integer. The pairs of instances and weights are
-  separated by colons. For example `instance1=1:instance2=4` means that
-  for every five requests, one goes to instance1 and four go to
-  instance2. A weight of 1 is the default.
-
-[[sthref89]]
-
-Examples
-
-[[GSRFM454]][[sthref90]]
-
-Example 1   Assigning Load Balancer Weights to Cluster Instances
-
-The following subcommand assigns weights of `1`, `1`, and `2` to
-instances `i1`, `i2`, and `i3` in the `cluster1` cluster.
-
-[source,oac_no_warn]
-----
-asadmin> configure-lb-weight --cluster cluster1 i1=1:i2=1:i3=2
-Command configure-lb-weight executed successfully.
-----
-
-[[sthref91]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref92]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)]link:create-cluster.html#create-cluster-1[`create-cluster`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/configure-ldap-for-admin.adoc b/docs/reference-manual/src/main/jbake/content/configure-ldap-for-admin.adoc
deleted file mode 100644
index fd90b56..0000000
--- a/docs/reference-manual/src/main/jbake/content/configure-ldap-for-admin.adoc
+++ /dev/null
@@ -1,84 +0,0 @@
-type=page
-status=published
-title=configure-ldap-for-admin
-next=configure-managed-jobs.html
-prev=configure-lb-weight.html
-~~~~~~
-configure-ldap-for-admin
-========================
-
-[[configure-ldap-for-admin-1]][[GSRFM00010]][[configure-ldap-for-admin]]
-
-configure-ldap-for-admin
-------------------------
-
-configures the authentication realm named admin-realm for the given LDAP
-
-[[sthref93]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] configure-ldap-for-admin [--help]
-----
-
-[[sthref94]]
-
-Description
-
-The `configure-ldap-for-admin` subcommand configures the authentication
-realm named `admin-realm` for the given LDAP. The
-`configure-ldap-for-admin` subcommand is interactive. The subcommand
-prompts the user for the `basedn` and `ldap-group` options.
-
-This command is supported in remote mode only.
-
-[[sthref95]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref96]]
-
-Examples
-
-[[GSRFM455]][[sthref97]]
-
-Example 1    Configuring the LDAP Authentication Realm
-
-[source,oac_no_warn]
-----
-asadmin> configure-ldap-for-admin 
-Enter the value for the basedn option>
-Enter the value for the ldap-group option>
-The LDAP Auth Realm admin-realm was configured correctly 
-in admin server's configuration.
-----
-
-[[sthref98]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref99]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:change-admin-password.html#change-admin-password-1[`change-admin-password`(1)],
-link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)]link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
-link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/configure-managed-jobs.adoc b/docs/reference-manual/src/main/jbake/content/configure-managed-jobs.adoc
deleted file mode 100644
index ca52d34..0000000
--- a/docs/reference-manual/src/main/jbake/content/configure-managed-jobs.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=configure-managed-jobs
-next=copy-config.html
-prev=configure-ldap-for-admin.html
-~~~~~~
-configure-managed-jobs
-======================
-
-[[configure-managed-jobs-1]][[GSRFM836]][[configure-managed-jobs]]
-
-configure-managed-jobs
-----------------------
-
-configures how long information about subcommands that were started
-using `asadmin --detach` or that contain progress information is kept
-
-[[sthref100]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] configure-managed-jobs [--help]
-[--in-memory-retention-period in-memory-retention-period]
-[--job-retention-period job-retention-period]
-[--cleanup-initial-delay cleanup-initial-delay]
-[--cleanup-poll-interval cleanup-poll-interval]
-----
-
-[[sthref101]]
-
-Description
-
-The `configure-managed-jobs` subcommand configures how long information
-about subcommands (jobs) that were started using the `asadmin` utility
-option `--detach` or that contain progress information is kept. The
-`--detach` option detaches long-running subcommands and executes them in
-the background in detach mode. Job information includes subcommand
-progress and status.
-
-This subcommand is supported in remote mode only.
-
-[[sthref102]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--in-memory-retention-period`::
-  Specifies how long a completed job is kept in memory after the job is
-  finished. The default value is 1 hour.
-`--job-retention-period`::
-  Specifies how long a job is stored. The default value is 24 hours.
-`--cleanup-initial-delay`::
-  After server startup, specifies the initial delay after which the
-  cleanup service starts purging jobs. The default value is 5 minutes.
-`--cleanup-poll-interval`::
-  Specifies the time interval after which the cleanup service polls for
-  expired jobs. The default value is 20 minutes.
-
-[[sthref103]]
-
-Examples
-
-[[GSRFM837]][[sthref104]]
-
-Example 1   Configuring the Job Retention Period
-
-This example sets the job retention period to 36 hours. Time periods can
-be specified in Hh|Mm|Ss for hours, minutes, or seconds.
-
-[source,oac_no_warn]
-----
-asadmin> configure-managed-jobs --job-retention-period=36h
-Command configure-managed-jobs executed successfully.
-----
-
-[[sthref105]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref106]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-jobs.html#list-jobs-1[`list-jobs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/copy-config.adoc b/docs/reference-manual/src/main/jbake/content/copy-config.adoc
deleted file mode 100644
index 46539f8..0000000
--- a/docs/reference-manual/src/main/jbake/content/copy-config.adoc
+++ /dev/null
@@ -1,175 +0,0 @@
-type=page
-status=published
-title=copy-config
-next=create-admin-object.html
-prev=configure-managed-jobs.html
-~~~~~~
-copy-config
-===========
-
-[[copy-config-1]][[GSRFM00011]][[copy-config]]
-
-copy-config
------------
-
-copies an existing named configuration to create another configuration
-
-[[sthref107]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] copy-config [--help] 
-[--systemproperties (name=value)[:name=value]*]
-source-configuration-name destination-configuration-name
-----
-
-[[sthref108]]
-
-Description
-
-The `copy-config` subcommand creates a named configuration in the
-configuration of the domain administration server (DAS) by copying an
-existing configuration. The new configuration is identical to the copied
-configuration, except for any properties that you specify in the
-`--systemproperties` option.
-
-The `default-config` configuration is copied when a standalone sever
-instance or standalone cluster is created.
-
-This subcommand is supported in remote mode only.
-
-[[sthref109]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--systemproperties`::
-  Optional attribute name-value pairs for the configuration. These
-  properties override port settings in the configuration. +
-  The following properties are available: +
-  `ASADMIN_LISTENER_PORT`;;
-    This property specifies the port number of the HTTP port or HTTPS
-    port through which the DAS connects to the instance to manage the
-    instance. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `HTTP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTP requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `HTTP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `IIOP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_MUTUALAUTH_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections with client authentication. Valid values are
-    1-65535. On UNIX, creating sockets that listen on ports 1-1024
-    requires superuser privileges.
-  `JAVA_DEBUGGER_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the Java Platform Debugger Architecture (JPDA)
-    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-    debugger. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMS_PROVIDER_PORT`;;
-    This property specifies the port number for the Java Message Service
-    provider. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMX_SYSTEM_CONNECTOR_PORT`;;
-    This property specifies the port number on which the JMX connector
-    listens. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `OSGI_SHELL_TELNET_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the Apache Felix Remote Shell
-    (`http://felix.apache.org/site/apache-felix-remote-shell.html`).
-    This shell uses the Felix shell service to interact with the OSGi
-    module management subsystem. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-
-[[sthref110]]
-
-Operands
-
-source-configuration-name::
-  The name of the configuration that you are copying.
-destination-configuration-name::
-  The name of the configuration that you are creating by copying the
-  source configuration. +
-  The name must meet the following requirements: +
-  * The name may contain only ASCII characters.
-  * The name must start with a letter, a number, or an underscore.
-  * The name may contain only the following characters:
-  ** Lowercase letters
-  ** Uppercase letters
-  ** Numbers
-  ** Hyphen
-  ** Period
-  ** Underscore
-  * The name must be unique in the domain and must not be the name of a
-  another named configuration, a cluster, a \{product---name} instance ,
-  or a node.
-  * The name must not be `domain`, `server`, or any other keyword that
-  is reserved by \{product---name}.
-
-[[sthref111]]
-
-Examples
-
-[[GSRFM456]][[sthref112]]
-
-Example 1   Copying a Configuration
-
-This example copies the `default-config` configuration to the
-`pmdsaconfig` configuration, overriding the settings for the following
-ports:
-
-* HTTP listener port
-* HTTPS listener port
-
-[source,oac_no_warn]
-----
-asadmin> copy-config 
---systemproperties HTTP_LISTENER_PORT=2000:HTTP_SSL_LISTENER_PORT=3000 
-default-config pmdsaconfig
-
-Command copy-config executed successfully.
-----
-
-[[sthref113]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref114]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-config.html#delete-config-1[`delete-config`(1)],
-link:list-configs.html#list-configs-1[`list-configs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-admin-object.adoc b/docs/reference-manual/src/main/jbake/content/create-admin-object.adoc
deleted file mode 100644
index d733573..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-admin-object.adoc
+++ /dev/null
@@ -1,148 +0,0 @@
-type=page
-status=published
-title=create-admin-object
-next=create-application-ref.html
-prev=copy-config.html
-~~~~~~
-create-admin-object
-===================
-
-[[create-admin-object-1]][[GSRFM00012]][[create-admin-object]]
-
-create-admin-object
--------------------
-
-adds the administered object with the specified JNDI name for a resource
-adapter
-
-[[sthref115]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-admin-object [--help] 
-[--target target] 
---restype restype 
-[--classname classname] 
---raname raname 
-[--enabled={true|false}] 
-[--description description] 
-[--property name=value[:name=value]*] 
-jndi_name
-----
-
-[[sthref116]]
-
-Description
-
-The `create-admin-object` subcommand creates the administered object
-with the specified JNDI name and the interface definition for a resource
-adapter.
-
-This subcommand is supported in remote mode only.
-
-[[sthref117]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which you are creating the administered
-  object. Valid values are as follows: +
-  `server`;;
-    Creates the administered object for the default server instance
-    `server` and is the default value.
-  configuration_name;;
-    Creates the administered object for the named configuration.
-  cluster_name;;
-    Creates the administered object for every server instance in the
-    cluster.
-  instance_name;;
-    Creates the administered object for a particular server instance. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-The resource is always created for the domain as a whole, but the
-`resource-ref` for the resource is only created for the specified
-`--target`. This means that although the resource is defined at the
-domain level, it is only available at the specified target level. Use
-the `create-resource-ref` subcommand to refer to the resource in
-multiple targets if needed.
-
-|=======================================================================
-
-`--restype`::
-  Specifies the interface definition for the administered object. The
-  resource type must be an interface definition that is specified in the
-  `ra.xml` file of the resource adapter.
-`--classname`::
-  Specifies the class name of the administered object. Required if
-  multiple administered objects use the same interface definition.
-`--raname`::
-  Specifies the name of the resource adapter associated with this
-  administered object.
-`--enabled`::
-  Specifies if this object is enabled. Default is true.
-`--description`::
-  Text string describing the administered object.
-`--property`::
-  Description of the name/values pairs for configuring the resource.
-  Dependent on the resource adapter. For JMS properties, see
-  link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)]
-  for JMS destination resources.
-
-[[sthref118]]
-
-Operands
-
-jndi_name::
-  JNDI name of the administered object to be created.
-
-[[sthref119]]
-
-Examples
-
-[[GSRFM457]][[sthref120]]
-
-Example 1   Creating an Administered Object
-
-In this example, `jmsra` is a system resource adapter with the admin
-object interfaces, `jakarta.jms.Queue` and `jakarta.jms.Topic`.
-
-[source,oac_no_warn]
-----
-asadmin> create-admin-object --restype jakarta.jms.Queue
---raname jmsra --description "sample administered object"
---property Name=sample_jmsqueue jms/samplequeue
-Command create-admin-object executed successfully
-----
-
-[[sthref121]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref122]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
-link:delete-admin-object.html#delete-admin-object-1[`delete-admin-object`(1)],
-link:list-admin-objects.html#list-admin-objects-1[`list-admin-objects`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-application-ref.adoc b/docs/reference-manual/src/main/jbake/content/create-application-ref.adoc
deleted file mode 100644
index a8b18f9..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-application-ref.adoc
+++ /dev/null
@@ -1,138 +0,0 @@
-type=page
-status=published
-title=create-application-ref
-next=create-audit-module.html
-prev=create-admin-object.html
-~~~~~~
-create-application-ref
-======================
-
-[[create-application-ref-1]][[GSRFM00013]][[create-application-ref]]
-
-create-application-ref
-----------------------
-
-creates a reference to an application
-
-[[sthref123]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-application-ref [--help] 
-[--target target]
-[--virtualservers virtual_servers] [--enabled=true]
-[--lbenabled=true] reference_name
-----
-
-[[sthref124]]
-
-Description
-
-The `create-application-ref` subcommand creates a reference from a
-cluster or an unclustered server instance to a previously deployed
-application element (for example, a Java EE application, a Web module,
-or an enterprise bean module). This effectively results in the
-application element being deployed and made available on the targeted
-instance or cluster.
-
-The target instance or instances making up the cluster need not be
-running or available for this subcommand to succeed. If one or more
-instances are not available, they will receive the new application
-element the next time they start.
-
-This subcommand is supported in remote mode only.
-
-[[sthref125]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you are creating the application
-  reference. Valid values are +
-  * `server`- Specifies the default server instance as the target for
-  creating the application reference. `server` is the name of the
-  default server instance and is the default value for this option.
-  * cluster_name- Specifies a particular cluster as the target for
-  creating the application reference.
-  * instance_name- Specifies a particular stand-alone server instance as
-  the target for creating the application reference.
-`--virtualservers`::
-  Specifies a comma-separated list of virtual server IDs on which to
-  deploy. This option applies only to Web modules (either standalone or
-  in a Java EE application). If this option is not specified, the
-  application is deployed to all virtual servers except the
-  administrative server, `__asadmin`.
-`--enabled`::
-  Indicates whether the application should be enabled (that is, loaded).
-  This value will take effect only if the application is enabled at the
-  global level. The default is `true`.
-`--lbenabled`::
-  Controls whether the deployed application is available for load
-  balancing. The default is true.
-
-[[sthref126]]
-
-Operands
-
-reference_name::
-  The name of the application or module, which can be a Java EE
-  application, Web module, EJB module, connector module, application
-  client module, or lifecycle module. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. If the `--enabled` option is set to false, you can
-  create references to multiple disabled versions by using an asterisk
-  (`*`) as a wildcard character. For more information about module and
-  application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application
-  Versions]" in GlassFish Server Open Source Edition Application
-  Deployment Guide.
-
-[[sthref127]]
-
-Examples
-
-[[GSRFM458]][[sthref128]]
-
-Example 1   Creating an Application Reference
-
-The following example creates a reference to the Web module `MyWebApp`
-on the unclustered server instance `NewServer`.
-
-[source,oac_no_warn]
-----
-asadmin> create-application-ref --target NewServer MyWebApp
-Command create-application-ref executed successfully.
-----
-
-[[sthref129]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref130]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-application-ref.html#delete-application-ref-1[`delete-application-ref`(1)],
-link:list-application-refs.html#list-application-refs-1[`list-application-refs`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-audit-module.adoc b/docs/reference-manual/src/main/jbake/content/create-audit-module.adoc
deleted file mode 100644
index 3deace2..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-audit-module.adoc
+++ /dev/null
@@ -1,119 +0,0 @@
-type=page
-status=published
-title=create-audit-module
-next=create-auth-realm.html
-prev=create-application-ref.html
-~~~~~~
-create-audit-module
-===================
-
-[[create-audit-module-1]][[GSRFM00014]][[create-audit-module]]
-
-create-audit-module
--------------------
-
-adds an audit module
-
-[[sthref131]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-audit-module [--help]
---classname classname
-[--property(name=value)[:name=value]*] 
-[--target target]
-audit_module_name
-----
-
-[[sthref132]]
-
-Description
-
-The `create-audit-module` subcommand adds the named audit module for the
-Java class that implements the audit capabilities. Audit modules collect
-and store information on incoming requests (from, for example, servlets
-and EJB components) and outgoing responses.
-
-This subcommand is supported in remote mode only.
-
-[[sthref133]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--classname`::
-  The name of the Java class that implements this audit module. If not
-  specified, this option defaults to
-  `com.sun.enterprise.security.Audit`.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--property`::
-  Optional keyword-value pairs that specify additional properties for
-  the audit module. +
-  Audit module properties that are defined by \{product---name} are as
-  follows: +
-  `auditOn`;;
-    If `true`, specifies that the audit module is loaded and called by
-    the \{product---name} audit library at audit points. +
-  Other available properties are determined by the implementation of the
-  audit module.
-`--target`::
-  Specifies the target on which you are creating the audit module. Valid
-  values are as follows: +
-  `server`;;
-    Creates the audit module for the default server instance `server`
-    and is the default value.
-  configuration_name;;
-    Creates the audit module for the named configuration.
-  cluster_name;;
-    Creates the audit module for every server instance in the cluster.
-  instance_name;;
-    Creates the audit module for a particular server instance.
-
-[[sthref134]]
-
-Operands
-
-audit_module_name::
-  The name of this audit module.
-
-[[sthref135]]
-
-Examples
-
-[[GSRFM459]][[sthref136]]
-
-Example 1   Creating an audit module
-
-[source,oac_no_warn]
-----
-asadmin> create-audit-module
---classname com.sun.appserv.auditmodule 
---property defaultuser=admin:Password=admin sampleAuditModule
-Command create-audit-module executed successfully
-----
-
-[[sthref137]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref138]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-audit-module.html#delete-audit-module-1[`delete-audit-module`(1)],
-link:list-audit-modules.html#list-audit-modules-1[`list-audit-modules`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-auth-realm.adoc b/docs/reference-manual/src/main/jbake/content/create-auth-realm.adoc
deleted file mode 100644
index 9eb1df0..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-auth-realm.adoc
+++ /dev/null
@@ -1,262 +0,0 @@
-type=page
-status=published
-title=create-auth-realm
-next=create-cluster.html
-prev=create-audit-module.html
-~~~~~~
-create-auth-realm
-=================
-
-[[create-auth-realm-1]][[GSRFM00015]][[create-auth-realm]]
-
-create-auth-realm
------------------
-
-adds the named authentication realm
-
-[[sthref139]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-auth-realm [--help]
---classname realm_class [--property(name=value)[:name=value]*]
-[--target target_name] auth_realm_name
-----
-
-[[sthref140]]
-
-Description
-
-The `create-auth-realm` subcommand adds the named authentication realm.
-
-This subcommand is supported in remote mode only.
-
-[[sthref141]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which you are creating the realm. Valid values
-  are +
-  `server`;;
-    Creates the realm on the default server instance. This is the
-    default value.
-  configuration_name;;
-    Creates the realm in the specified configuration.
-  cluster_name;;
-    Creates the realm on all server instances in the specified cluster.
-  instance_name;;
-    Creates the realm on a specified server instance.
-`--classname`::
-  Java class which implements this realm. These include
-  `com.sun.enterprise.security.auth.realm.file.FileRealm`,
-  `com.sun.enterprise.security.auth.realm.certificate.CertificateRealm`,
-  `com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm`,
-  `com.sun.enterprise.security.auth.realm.ldap.LDAPRealm`,
-  `com.sun.enterprise.security.auth.realm.ldap.PamRealm`, and
-  `com.sun.enterprise.security.auth.realm.solaris.SolarisRealm`, or a
-  custom realm.
-`--property`::
-  Optional attribute name-value pairs for configuring the authentication
-  realm. Authentication realms require provider-specific properties,
-  which vary based on implementation. +
-  The following properties are common to all of the supported realms,
-  which include `FileRealm`, `CertificateRealm`, `JDBCRealm`,
-  `LDAPRealm`, PamRealm, and `SolarisRealm`. +
-  `jaas-context`;;
-    Specifies the Java Authentication and Authorization Service (JAAS)
-    context.
-  `assign-groups`;;
-    (Optional) If this property is set, its value is taken to be a
-    comma-separated list of group names. All clients who present valid
-    certificates are assigned membership to these groups for the
-    purposes of authorization decisions in the web and EJB containers. +
-  Specific to each realm, you can specify the following properties. +
-  * You can specify the following properties for `FileRealm`: +
-  `file`;;
-    Specifies the file that stores user names, passwords, and group
-    names. The default is domain-dir`/config/keyfile`.
-  * You can specify the following properties for `CertificateRealm`: +
-  `LoginModule`;;
-    Specifies the name of a JAAS `LoginModule` to use for performing
-    authentication. To use a JAAS `LoginModule`, you must first create
-    an implementation of the javax.security.auth.spi.LoginModule
-    interface, and then plug the module into a `jaas-context`. For more
-    information, see "link:../security-guide/system-security.html#GSSCG00196[Custom Authentication of Client
-    Certificate in SSL Mutual Authentication]" in GlassFish Server Open
-    Source Edition Security Guide.
-  * You can specify the following properties for `JDBCRealm`: +
-  `datasource-jndi`;;
-    Specifies the `jndi-name` of the `jdbc-resource` for the database.
-  `user-table`;;
-    Specifies the name of the user table in the database.
-  `user-name-column`;;
-    Specifies the name of the user name column in the database's user
-    table.
-  `password-column`;;
-    Specifies the name of the password column in the database's user
-    table.
-  `group-table`;;
-    Specifies the name of the group table in the database.
-  `group-table`;;
-    Specify the group table for an authentication realm of class
-    `JDBCRealm`.
-  `group-name-column`;;
-    Specifies the name of the group name column in the database's group
-    table.
-  `db-user`;;
-    (Optional) Allows you to specify the database user name in the realm
-    instead of the `jdbc-connection-pool`. This prevents other
-    applications from looking up the database, getting a connection, and
-    browsing the user table. By default, the `jdbc-connection-pool`
-    configuration is used.
-  `db-password`;;
-    (Optional) Allows you to specify the database password in the realm
-    instead of the `jdbc-connection-pool`. This prevents other
-    applications from looking up the database, getting a connection, and
-    browsing the user table. By default, the `jdbc-connection-pool`
-    configuration is used.
-  `group-table`;;
-    Specifies the name of the group table in the database.
-  `digest-algorithm`;;
-    (Optional) Specifies the digest algorithm. The default is `SHA-256`.
-    You can use any algorithm supported in the JDK, or none. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-In versions of \{product---name} prior to 5.0, the default algorithm
-was `MD5`. If you have applications that depend on the `MD5`
-algorithm, you can override the default `SHA-25` algorithm by using
-the `asadmin set` subcommand:
-
-[source,oac_no_warn]
-----
-asadmin> set server.security-service.property.default-digest-algorithm=MD5
-----
-
-You can use the `asadmin get` subcommand to determine what algorithm
-is currently being used:
-
-[source,oac_no_warn]
-----
-asadmin> get server.security-service.property.default-digest-algorithm
-----
-
-Also note that, to maintain backward compatibility, if an upgrade is
-performed from \{product---name} v2.x or v3.0.x to \{product---name}
-5.0, the default algorithm is automatically set to `MD5` in cases
-where the digest algorithm had not been explicitly set in the older
-\{product---name} version.
-
-|=======================================================================
-
-  `digestrealm-password-enc-algorithm`;;
-    (Optional) Specifies the algorithm for encrypting passwords stored
-    in the database. +
-
-[width="100%",cols="100%",]
-|====================================================================
-a|
-Note:
-
-It is a security risk not to specify a password encryption
-algorithm.
-
-|====================================================================
-
-  `encoding`;;
-    (Optional) Specifies the encoding. Allowed values are `Hex` and
-    `Base64`. If digest-algorithm is specified, the default is `Hex`. If
-    `digest-algorithm` is not specified, by default no encoding is
-    specified.
-  `charset`;;
-    (Optional) Specifies the `charset` for the digest algorithm.
-  * You can specify the following properties for `LDAPRealm`: +
-  `directory`;;
-    Specifies the LDAP URL to your server.
-  `base-dn`;;
-    Specifies the LDAP base DN for the location of user data. This base
-    DN can be at any level above the user data, since a tree scope
-    search is performed. The smaller the search tree, the better the
-    performance.
-  `search-filter`;;
-    (Optional) Specifies the search filter to use to find the user. The
-    default is `uid=%s` (`%s` expands to the subject name).
-  `group-base-dn`;;
-    (Optional) Specifies the base DN for the location of groups data. By
-    default, it is same as the `base-dn`, but it can be tuned, if
-    necessary.
-  `group-search-filter`;;
-    (Optional) Specifies the search filter to find group memberships for
-    the user. The default is `uniquemember=%d` (`%d` expands to the user
-    `elementDN`).
-  `group-target`;;
-    (Optional) Specifies the LDAP attribute name that contains group
-    name entries. The default is `CN`.
-  `search-bind-dn`;;
-    (Optional) Specifies an optional DN used to authenticate to the
-    directory for performing the search-filter lookup. Only required for
-    directories that do not allow anonymous search.
-  `search-bind-password`;;
-    (Optional) Specifies the LDAP password for the DN given in
-    `search-bind-dn`.
-
-[[sthref142]]
-
-Operands
-
-auth_realm_name::
-  A short name for the realm. This name is used to refer to the realm
-  from, for example, `web.xml`.
-
-[[sthref143]]
-
-Examples
-
-[[GSRFM460]][[sthref144]]
-
-Example 1   Creating a New Authentication Realm
-
-This example creates a new file realm.
-
-[source,oac_no_warn]
-----
-asadmin> create-auth-realm
---classname com.sun.enterprise.security.auth.realm.file.FileRealm 
---property file=${com.sun.aas.instanceRoot}/config/
-admin-keyfile:jaas-context=fileRealm file
-Command create-auth-realm executed successfully
-----
-
-Where `file` is the authentication realm created.
-
-[[sthref145]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref146]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-auth-realm.html#delete-auth-realm-1[`delete-auth-realm`(1)],
-link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-cluster.adoc b/docs/reference-manual/src/main/jbake/content/create-cluster.adoc
deleted file mode 100644
index 1e5dc0d..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-cluster.adoc
+++ /dev/null
@@ -1,504 +0,0 @@
-type=page
-status=published
-title=create-cluster
-next=create-connector-connection-pool.html
-prev=create-auth-realm.html
-~~~~~~
-create-cluster
-==============
-
-[[create-cluster-1]][[GSRFM00017]][[create-cluster]]
-
-create-cluster
---------------
-
-creates a \{product---name} cluster
-
-[[sthref147]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-cluster [--help] 
-[--config config-name]
-[--systemproperties (name=value)[:name=value]*]
-[--properties (name=value)[:name=value]*]
-[--gmsenabled={true|false}] 
-[--multicastport multicast-port] 
-[--multicastaddress multicast-address]
-[--bindaddress bind-address]
-[--hosts hadb-host-list] 
-[--haagentport port-number]
-[--haadminpassword password] 
-[--haadminpasswordfile file-name] [--devicesize devicesize ] 
-[--haproperty (name=value)[:name=value]*]
-[--autohadb=false] [--portbase port-number]
-cluster-name
-----
-
-[[sthref148]]
-
-Description
-
-The `create-cluster` subcommand creates a \{product---name} cluster.
-Initially the cluster contains no \{product---name} instances,
-applications, or resources.
-
-A cluster requires a reference to the named configuration that defines
-the configuration of all instances that are added to the cluster. The
-configuration can be specified in the command to create the cluster, but
-is not required. If no configuration is specified, the subcommand
-creates a configuration that is named cluster-name`-config` for the
-cluster. The cluster that is created is a standalone cluster because the
-cluster's configuration is not shared with any other clusters or
-standalone instances.
-
-To add instances to the cluster, set the `--cluster` option to the name
-of the cluster when using either of the following subcommands:
-
-* link:create-instance.html#create-instance-1[`create-instance`(1)]
-* link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-
-To delete server instances from the cluster at any time, use one of the
-following subcommands:
-
-* link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
-* link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
-
-To associate applications and resources with all instances in the
-cluster, set the `--target` option to the name of the cluster when
-performing the following operations:
-
-* Deploying applications by using the
-link:deploy.html#deploy-1[`deploy`(1)] subcommand
-* Creating resources by using subcommands such as
-link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)]
-* Creating references to applications that are already deployed in other
-targets by using the
-link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)]
-subcommand
-* Creating references to resources that are already created in other
-targets by using the
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]
-subcommand
-
-This subcommand is supported in remote mode only.
-
-[[sthref149]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--config`::
-  Specifies the named configuration that the cluster references. The
-  configuration must exist and must not be named `default-config` or
-  `server-config`. Specifying the `--config` option creates a shared
-  cluster. If this option is omitted, a standalone cluster is created.
-`--systemproperties`::
-  Defines system properties for the configuration that is created for
-  the cluster. These properties override the property values in the
-  `default-config` configuration. The following properties are
-  available: +
-  `ASADMIN_LISTENER_PORT`;;
-    This property specifies the port number of the HTTP port or HTTPS
-    port through which the DAS connects to the instance to manage the
-    instance. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `HTTP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTP requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `HTTP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `IIOP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_MUTUALAUTH_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections with client authentication. Valid values are
-    1-65535. On UNIX, creating sockets that listen on ports 1-1024
-    requires superuser privileges.
-  `JAVA_DEBUGGER_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the
-    http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-    Platform Debugger Architecture (JPDA)]
-    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-    debugger. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMS_PROVIDER_PORT`;;
-    This property specifies the port number for the Java Message Service
-    provider. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMX_SYSTEM_CONNECTOR_PORT`;;
-    This property specifies the port number on which the JMX connector
-    listens. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `OSGI_SHELL_TELNET_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the
-    http://felix.apache.org/site/apache-felix-remote-shell.html[Apache
-    Felix Remote Shell]
-    (http://felix.apache.org/site/apache-felix-remote-shell.html). This
-    shell uses the Felix shell service to interact with the OSGi module
-    management subsystem. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-`--properties`::
-  Defines properties for the cluster. The following properties are
-  available: +
-  `GMS_DISCOVERY_URI_LIST`;;
-    The locations of \{product---name} instances in the cluster to use
-    for discovering the cluster. This property is required only if the
-    Group Management Service (GMS) is not using multicast for
-    broadcasting messages. +
-    Valid values for this property are as follows: +
-    * A comma-separated list of uniform resource identifiers (URIs).
-    Each URI must locate a \{product---name} instance or the DAS. This
-    format is required if multiple \{product---name} instances are
-    running on the same host. +
-    The format of each URI in the list is as follows: +
-    scheme`://`host-name-or -IP-address`:`port
-    ** scheme is the URI scheme, which is `tcp`.
-    ** host-name-or -IP-address is the host name or IP address of the
-    host on which the instance is running.
-    ** port is the port number of the port on which the instance listens
-    for messages from GMS. The system property
-    `GMS_LISTENER_PORT-`clustername must be set for the instance. For
-    information about how to set this system property for an instance,
-    see "link:../ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport
-    Is Unavailable]" in GlassFish Server Open Source Edition High
-    Availability Administration Guide.
-    * A comma-separated list of IP addresses or host names on which the
-    DAS or the instances are running. The list can contain a mixture of
-    IP addresses and host names. This format can be used only if one
-    clustered instance is running on each host. The value of the
-    `GMS_LISTENER_PORT` property must be unique for each cluster in a
-    domain.
-    * The keyword `generate`. This format can be used only if one
-    instance in a cluster is running on each host and the DAS is running
-    on a separate host. Multiple instances on the same host cannot be
-    members of the same cluster. The value of the `GMS_LISTENER_PORT`
-    property must be unique for each cluster in a domain.
-  `GMS_LISTENER_PORT`;;
-    The port number of the port on which the cluster listens for
-    messages from GMS. +
-    The default value is a reference to the
-    `GMS_LISTENER_PORT-`cluster-name system property. By default, this
-    system property is not set. In this situation, GMS selects a free
-    port from the range that is defined by the properties
-    `GMS_TCPSTARTPORT` and `GMS_TCPENDPORT`. By default, this range is
-    9090-9200. In most situations, the default behavior should suffice. +
-    However, if GMS is not using multicast for broadcasting messages,
-    the `GMS_LISTENER_PORT` property must specify a port number that is
-    valid for all \{product---name} instances in the cluster. To use the
-    default value to meet this requirement, use a system property to set
-    the port number individually for each instance. +
-    For example, use the `create-system-properties` subcommand to create
-    the system property `GMS_LISTENER_PORT-`cluster-name for the DAS.
-    Then, for each instance in the cluster, set the
-    `GMS_LISTENER_PORT-`cluster-name system property to the port number
-    on which the instance listens for messages from GMS. The default
-    value of the `GMS_LISTENER_PORT` property for the cluster references
-    this system property.
-  `GMS_LOOPBACK`;;
-    Specifies whether an instance may receive from itself
-    application-level messages that the instance broadcasts to the
-    cluster. +
-    Possible values are as follows:::
-    `false`::
-      The instance may not receive messages from itself (default).
-    `true`::
-      The instance may receive messages from itself. Use this setting
-      for testing an instance when the instance is the only instance in
-      a cluster.
-  `GMS_MULTICAST_TIME_TO_LIVE`;;
-    The maximum number of iterations or transmissions that a multicast
-    message for the following types of events can experience before the
-    message is discarded: +
-    * Group discovery
-    * Member heartbeats
-    * Membership changes +
-    To match the configuration of the network on which the DAS and
-    clustered instances are deployed, set this value as low as possible.
-    To determine the lowest possible value for your system, use the
-    link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
-    subcommand. +
-    A value of 0 ensures that multicast messages never leave the host
-    from which they are broadcast. +
-    A value of 1 might prevent the broadcast of messages between hosts
-    on same subnet that are connected by a switch or a router. +
-    The default is 4, which ensures that messages are successfully
-    broadcast to all cluster members in networks where hosts are
-    connected by switches or routers.
-  `GMS_TCPENDPORT`;;
-    The highest port number in the range from which GMS selects a free
-    port if the `GMS_LISTENER_PORT-`cluster-name system property is not
-    set. The default is 9200.
-  `GMS_TCPSTARTPORT`;;
-    The lowest port number in the range from which GMS selects a free
-    port if the `GMS_LISTENER_PORT-`cluster-name system property is not
-    set. The default is 9090.
-`--gmsenabled`::
-  Specifies whether GMS is enabled for the cluster. +
-  Possible values are as follows: +
-  `true`;;
-    GMS is enabled for the cluster (default). +
-    When GMS is enabled for a cluster, GMS is started in each server
-    instance in the cluster and in the DAS. The DAS participates in each
-    cluster for which this option is set to `true`.
-  `false`;;
-    GMS is disabled for the cluster.
-`--multicastaddress`::
-  The address on which GMS listens for group events. This option must
-  specify a multicast address in the range 224.0.0.0 through
-  239.255.255.255. The default is 228.9.XX.YY, where XX and YY are
-  automatically generated independent values between 0 and 255.
-`--multicastport`::
-  The port number of communication port on which GMS listens for group
-  events. This option must specify a valid port number in the range
-  2048-49151. The default is an automatically generated value in this
-  range.
-`--bindaddress`::
-  The Internet Protocol (IP) address of the network interface to which
-  GMS binds. This option must specify the IP address of a local network
-  interface. The default is all public network interface addresses. +
-  On a multihome machine, this option configures the network interface
-  that is used for the GMS. A multihome machine possesses two or more
-  network interfaces. +
-  To specify an address that is valid for all \{product---name}
-  instances in the cluster, use a system property to set the address
-  individually for each instance. +
-  For example, use the `create-system-properties` subcommand to create
-  the system property `GMS-BIND-INTERFACE-ADDRESS-`cluster-name. Then
-  set the `--bindaddress` option of this subcommand to
-  `${GMS-BIND-INTERFACE-ADDRESS-`cluster-name`}` to specify the system
-  property. Finally, for each instance in the cluster, set the
-  `GMS-BIND-INTERFACE-ADDRESS-`cluster-name system property to the
-  required network interface address on the instance's machine.
-`--hosts`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--haagentport`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--haadminpassword`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--haadminpasswordfile`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--devicesize`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--haproperty`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--autohadb`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--portbase`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref150]]
-
-Operands
-
-cluster-name::
-  The name of the cluster. +
-  The name must meet the following requirements: +
-  * The name may contain only ASCII characters.
-  * The name must start with a letter, a number, or an underscore.
-  * The name may contain only the following characters:
-  ** Lowercase letters
-  ** Uppercase letters
-  ** Numbers
-  ** Hyphen
-  ** Period
-  ** Underscore
-  * The name must be unique in the domain and must not be the name of
-  another cluster, a named configuration, a \{product---name} instance,
-  or a node.
-  * The name must not be `domain`, `server`, or any other keyword that
-  is reserved by \{product---name}. +
-  If the
-  link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
-  subcommand is to be used to configure a Message Queue cluster to
-  provide JMS services to the \{product---name} cluster, the length of
-  the \{product---name} cluster name is might be restricted: +
-  * If `clustertype` is set to `enhanced` in the
-  link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
-  subcommand, the name can be no longer than n–21 characters, where n is
-  the maximum table name length allowed by the database.
-  * If `configstoretype` is set to `shareddb` in the
-  link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
-  subcommand, the name can be no longer than n–19 characters, where n is
-  the maximum table name length allowed by the database.
-
-[[sthref151]]
-
-Examples
-
-[[GSRFM462]][[sthref152]]
-
-Example 1   Creating a Cluster
-
-This example creates a cluster that is named `ltscluster` for which port
-1169 is to be used for secure IIOP connections. Because the `--config`
-option is not specified, the cluster references a copy of the named
-configuration `default-config` that is named `ltscluster-config`.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster 
---systemproperties IIOP_SSL_LISTENER_PORT=1169 
-ltscluster
-Command create-cluster executed successfully.
-----
-
-[[GSRFM463]][[sthref153]]
-
-Example 2   Creating a Cluster With a List of URIs for Discovering the
-Cluster
-
-This example creates a cluster that is named `tcpcluster`. In this
-example, GMS is not using multicast for broadcasting messages and
-multiple instances reside on the same host. Therefore, the
-`GMS_DISCOVERY_URI_LIST` property is set to the locations of the
-\{product---name} instances to use for discovering the cluster. These
-instances reside on the host whose IP address is `10.152.23.224` and
-listen for GMS events on ports 9090, 9091, and 9092.
-
-To distinguish colon (`:`) characters in URIs from separators in a
-property list, colons in URIs are escaped with single quote characters
-(`'`) and backslash (`\`) characters. For more information about escape
-characters in options for the `asadmin` utility, see the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-
-This example assumes that the port on which each instance listens for
-GMS messages is set independently for the instance through the
-`GMS_LISTENER_PORT-tcpcluster` system property. For information about
-how to set the port on which an instance listens for GMS messages, see
-"link:../ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport Is
-Unavailable]" in GlassFish Server Open Source Edition High Availability
-Administration Guide.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=
-tcp'\\:'//10.152.23.224'\\:'9090,
-tcp'\\:'//10.152.23.224'\\:'9091,
-tcp'\\:'//10.152.23.224'\\:'9092 tcpcluster
-Command create-cluster executed successfully.
-----
-
-[[GSRFM827]][[sthref154]]
-
-Example 3   Creating a Cluster With a List of IP Addresses for
-Discovering the Cluster
-
-This example creates a cluster that is named `ipcluster`. In this
-example, GMS is not using multicast for broadcasting messages and only
-one clustered instance resides on each host. Therefore, the
-`GMS_DISCOVERY_URI_LIST` property is set to the IP addresses of the
-hosts where instances to use for discovering the cluster are running.
-The cluster listens for messages from GMS on port 9090.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=
-10.152.23.225,10.152.23.226,10.152.23.227,10.152.23.228:
-GMS_LISTENER_PORT=9090' ipcluster
-Command create-cluster executed successfully.
-----
-
-[[GSRFM828]][[sthref155]]
-
-Example 4   Creating a Cluster With a Generated List of Instances for
-Discovering the Cluster
-
-This example creates a cluster that is named `gencluster`. In this
-example, GMS is not using multicast for broadcasting messages, one
-instance in the cluster is running on each host and the DAS is running
-on a separate host. Therefore, the `GMS_DISCOVERY_URI_LIST` property is
-set to the keyword `generate` to generate a list of instances to use for
-discovering the cluster. The cluster listens for messages from GMS on
-port 9090.
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=generate:
-GMS_LISTENER_PORT=9090' gencluster
-Command create-cluster executed successfully.
-----
-
-[[sthref156]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref157]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
-link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:deploy.html#deploy-1[`deploy`(1)],
-link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
-link:start-cluster.html#start-cluster-1[`start-cluster`(1)],
-link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)],
-link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
-
-"link:../ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport Is
-Unavailable]" in GlassFish Server Open Source Edition High Availability
-Administration Guide
-
-Apache Felix Remote Shell
-(http://felix.apache.org/site/apache-felix-remote-shell.html), Java
-Platform Debugger Architecture (JPDA)
-(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-connector-connection-pool.adoc b/docs/reference-manual/src/main/jbake/content/create-connector-connection-pool.adoc
deleted file mode 100644
index 7dc475b..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-connector-connection-pool.adoc
+++ /dev/null
@@ -1,271 +0,0 @@
-type=page
-status=published
-title=create-connector-connection-pool
-next=create-connector-resource.html
-prev=create-cluster.html
-~~~~~~
-create-connector-connection-pool
-================================
-
-[[create-connector-connection-pool-1]][[GSRFM00018]][[create-connector-connection-pool]]
-
-create-connector-connection-pool
---------------------------------
-
-adds a connection pool with the specified connection pool name
-
-[[sthref158]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-connector-connection-pool [--help] 
-[--target=target] 
---raname raname
---connectiondefinition connectiondefinitionname
-[--steadypoolsize steadypoolsize]
-[--maxpoolsize maxpoolsize] 
-[--maxwait maxwait]
-[--poolresize poolresize] 
-[--idletimeout idletimeout]
-[--isconnectvalidatereq={false|true}]
-[--failconnection={false|true}] 
-[--leaktimeout=timeout]
-[--leakreclaim={false|true}] 
-[--creationretryattempts=attempts]
-[--creationretryinterval=interval] 
-[--lazyconnectionenlistment={false|true}]
-[--lazyconnectionassociation={false|true}]
-[--associatewiththread={false|true}]
-[--matchconnections={true|false}]
-[--maxconnectionusagecount=count]
-[--validateatmostonceperiod=interval]
-[--transactionsupport transactionsupport]
-[--descrip[tion description] 
-[--ping {false|true}]
-[--pooling {true|false}]
-[--property (name=value)[:name=value]*] 
-poolname
-----
-
-[[sthref159]]
-
-Description
-
-The `create-connector-connection-pool` subcommand defines a pool of
-connections to an enterprise information system (EIS). The named pool
-can be referred to by multiple connector resources. Each defined pool is
-instantiated at server startup, and is populated when accessed for the
-first time. If two or more connector resources point to the same
-connector connection pool, they are using the same pool of connections
-at run time. There can be more than one pool for a connection definition
-in a single resource adapter.
-
-A connector connection pool with authentication can be created either by
-using a `--property` option to specify user, password, or other
-connection information, or by specifying the connection information in
-the XML descriptor file.
-
-This subcommand is supported in remote mode only.
-
-[[sthref160]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--associatewiththread`::
-  Specifies whether a connection is associated with the thread to enable
-  the thread to reuse the connection. If a connection is not associated
-  with the thread, the thread must obtain a connection from the pool
-  each time that the thread requires a connection. Possible values are
-  as follows: +
-  `false`;;
-    A connection is not associated with the thread (default).
-  `true`;;
-    A connection is associated with the thread.
-`--connectiondefinition`::
-  The name of the connection definition.
-`--creationretryattempts`::
-  Specifies the maximum number of times that the server retries to
-  create a connection if the initial attempt fails. +
-  Default value is 0, which specifies that the server does not retry to
-  create the connection.
-`--creationretryinterval`::
-  Specifies the interval, in seconds, between successive attempts to
-  create a connection. +
-  If `--creationretryattempts` is 0, the `--creationretryinterval`
-  option is ignored. Default value is 10.
-`--description`::
-  Text providing descriptive details about the connector connection
-  pool.
-`--failconnection`::
-  If set to true, all connections in the pool are closed if a single
-  validation check fails. This parameter is mandatory if the
-  `--isconnectvalidatereq` option is set to true. Default value is
-  false.
-`--idletimeout`::
-  The maximum time that a connection can remain idle in the pool. After
-  this amount of time, the pool can close this connection. Default value
-  is 300.
-`--isconnectvalidatereq`::
-  If the value is set to true, the connections will be checked to see if
-  they are usable, before they are given out to the application. Default
-  value is false.
-`--lazyconnectionenlistment`::
-  Specifies whether a resource to a transaction is enlisted only when a
-  method actually uses the resource. Default value is false.
-`--lazyconnectionassociation`::
-  Specifies whether a physical connection should be associated with the
-  logical connection only when the physical connection is used, and
-  disassociated when the transaction is completed. Such association and
-  dissociation enable the reuse of physical connections. Possible values
-  are as follows: +
-  `false`;;
-    A physical connection is associated with the logical connection even
-    before the physical connection is used, and is not disassociated
-    when the transaction is completed (default).
-  `true`;;
-    A physical connection is associated with the logical connection only
-    when the physical connection is used, and disassociated when the
-    transaction is completed. The `--lazyconnectionenlistment` option
-    must also be set to `true`.
-`--leakreclaim`::
-  Specifies whether leaked connections are restored to the connection
-  pool after leak connection tracing is complete. Possible values are as
-  follows: +
-  `false`;;
-    Leaked connections are not restored to the connection pool
-    (default).
-  `true`;;
-    Leaked connections are restored to the connection pool.
-`--leaktimeout`::
-  Specifies the amount of time, in seconds, for which connection leaks
-  in a connection pool are to be traced. +
-  If connection leak tracing is enabled, you can use the Administration
-  Console to enable monitoring of the JDBC connection pool to get
-  statistics on the number of connection leaks. Default value is 0,
-  which disables connection leak tracing.
-`--matchconnections`::
-  Specifies whether a connection that is selected from the pool should
-  be matched with the resource adaptor. If all connections in the pool
-  are identical, matching between connections and resource adapters is
-  not required. Possible values are as follows: +
-  `true`;;
-    A connection should be matched with the resource adaptor (default).
-  `false`;;
-    A connection should not be matched with the resource adaptor.
-`--maxconnectionusagecount`::
-  Specifies the maximum number of times that a connection can be reused. +
-  When this limit is reached, the connection is closed. Default value is
-  0, which specifies no limit on the number of times that a connection
-  can be reused.
-`--maxpoolsize`::
-  The maximum number of connections that can be created to satisfy
-  client requests. Default value is 32.
-`--maxwait`::
-  The amount of time, in milliseconds, that a caller must wait before a
-  connection is created, if a connection is not available. If set to 0,
-  the caller is blocked indefinitely until a resource is available or
-  until an error occurs. Default value is 60000.
-`--ping`::
-  A pool with this attribute set to true is contacted during creation
-  (or reconfiguration) to identify and warn of any erroneous values for
-  its attributes. Default value is false.
-`--pooling`::
-  When set to false, this attribute disables connection pooling. Default
-  value is true.
-`--poolresize`::
-  Quantity by which the pool will scale up or scale down the number of
-  connections. Scale up: When the pool has no free connections, pool
-  will scale up by this quantity. Scale down: All the invalid and idle
-  connections are removed, sometimes resulting in removing connections
-  of quantity greater than this value. The number of connections that is
-  specified by `--steadypoolsize` will be ensured. Possible values are
-  from 0 to `MAX_INTEGER`. Default value is 2.
-`--property`::
-  Optional attribute name/value pairs for configuring the pool. +
-  `LazyConnectionEnlistment`;;
-    Deprecated. Use the equivalent option. Default value is false.
-  `LazyConnectionAssociation`;;
-    Deprecated. Use the equivalent option. Default value is false.
-  `AssociateWithThread`;;
-    Deprecated. Use the equivalent option. Default value is false.
-  `MatchConnections`;;
-    Deprecated. Use the equivalent option. Default value is false.
-`--raname`::
-  The name of the resource adapter.
-`--steadypoolsize`::
-  The minimum and initial number of connections maintained in the pool.
-  Default value is 8.
-`--target`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--transactionsupport`::
-  Indicates the level of transaction support that this pool will have.
-  Possible values are `XATransaction`, `LocalTransaction` and
-  `NoTransaction`. This attribute can have a value lower than or equal
-  to but not higher than the resource adapter's transaction support
-  attribute. The resource adapter's transaction support attribute has an
-  order of values, where `XATransaction` is the highest, and
-  `NoTransaction` the lowest.
-`--validateatmostonceperiod`::
-  Specifies the time interval in seconds between successive requests to
-  validate a connection at most once. Setting this attribute to an
-  appropriate value minimizes the number of validation requests by a
-  connection. Default value is 0, which means that the attribute is not
-  enabled.
-
-[[sthref161]]
-
-Operands
-
-poolname::
-  The name of the connection pool to be created.
-
-[[sthref162]]
-
-Examples
-
-[[GSRFM464]][[sthref163]]
-
-Example 1   Creating a Connector Connection Pool
-
-This example creates a new connector connection pool named
-`jms/qConnPool`.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-connection-pool --raname jmsra 
---connectiondefinition jakarta.jms.QueueConnectionFactory --steadypoolsize 20 
---maxpoolsize 100 --poolresize 2 --maxwait 60000 jms/qConnPool
-Command create-connector-connection-pool executed successfully
-----
-
-[[sthref164]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref165]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-connector-connection-pool.html#delete-connector-connection-pool-1[`delete-connector-connection-pool`(1)],
-link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
-link:ping-connection-pool.html#ping-connection-pool-1[`ping-connection-pool`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-connector-resource.adoc b/docs/reference-manual/src/main/jbake/content/create-connector-resource.adoc
deleted file mode 100644
index 1e0e8b7..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-connector-resource.adoc
+++ /dev/null
@@ -1,163 +0,0 @@
-type=page
-status=published
-title=create-connector-resource
-next=create-connector-security-map.html
-prev=create-connector-connection-pool.html
-~~~~~~
-create-connector-resource
-=========================
-
-[[create-connector-resource-1]][[GSRFM00019]][[create-connector-resource]]
-
-create-connector-resource
--------------------------
-
-registers the connector resource with the specified JNDI name
-
-[[sthref166]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-connector-resource [--help]
---poolname connectorConnectionPoolName
-[--enabled={true|false}]
-[--description description] 
-[--objecttype ovjecttype]
-[--property (name=value)[:name=value]*]
-[--target target]
-jndi_name
-----
-
-[[sthref167]]
-
-Description
-
-The `create-connector-resource` subcommand registers the connector
-resource with the specified JNDI name.
-
-This subcommand is supported in remote mode only.
-
-[[sthref168]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--poolname`::
-  The name of the connection pool. When two or more resource elements
-  point to the same connection pool element, they use the same pool
-  connections at runtime.
-`--enabled`::
-  This option determines whether the resource is enabled at runtime. The
-  default value is true.
-`--objecttype`::
-  Defines the type of the connector resource. Default is user. Allowed
-  values are: +
-  `system-all`;;
-    A system resource for all server instances and the domain
-    administration server (DAS).
-  `system-admin`;;
-    A system resource only for the DAS.
-  `system-instance`;;
-    A system resource for all server instances only.
-  `user`;;
-    A user resource.
-`--description`::
-  Text providing details about the connector resource.
-`--property`::
-  Optional attribute name value pairs for configuring the resource.
-`--target`::
-  This option specifies the ending location of the connector resources.
-  Valid targets are: +
-  `server`;;
-    Creates the connector resource in the default server instance. This
-    is the default value.
-  `domain`;;
-    Creates the connector resource in the domain.
-  cluster_name;;
-    Creates the connector resource in every server instance in the
-    cluster.
-  instance_name;;
-    Creates the connector resource in the specified server instance. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-The resource is always created for the domain as a whole, but the
-`resource-ref` for the resource is only created for the specified
-`--target`. This means that although the resource is defined at the
-domain level, it is only available at the specified target level. Use
-the `create-resource-ref` subcommand to refer to the resource in
-multiple targets if needed.
-
-|=======================================================================
-
-
-[[sthref169]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this connector resource.
-
-[[sthref170]]
-
-Examples
-
-[[GSRFM465]][[sthref171]]
-
-Example 1   Creating a Connector Resource
-
-This example creates a connector resource named `jms/qConnFactory`.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-resource --poolname jms/qConnPool 
---description "sample connector resource" jms/qConnFactory
-Command create-connector-resource executed successfully
-----
-
-[[GSRFM466]][[sthref172]]
-
-Example 2   Using the create-connector-resource subcommand
-
-This example shows the usage of this subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-resource --target server --poolname jms/qConnPool 
---description "sample connector resource" jms/qConnFactory
-Command create-connector-resource executed successfully
-----
-
-Where `jms/qConnFactory` is the sample connector resource that is
-created.
-
-[[sthref173]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref174]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-connector-resource.html#delete-connector-resource-1[`delete-connector-resource`(1)],
-link:list-connector-resources.html#list-connector-resources-1[`list-connector-resources`(1)],
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-connector-security-map.adoc b/docs/reference-manual/src/main/jbake/content/create-connector-security-map.adoc
deleted file mode 100644
index e77bc8d..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-connector-security-map.adoc
+++ /dev/null
@@ -1,132 +0,0 @@
-type=page
-status=published
-title=create-connector-security-map
-next=create-connector-work-security-map.html
-prev=create-connector-resource.html
-~~~~~~
-create-connector-security-map
-=============================
-
-[[create-connector-security-map-1]][[GSRFM00020]][[create-connector-security-map]]
-
-create-connector-security-map
------------------------------
-
-creates a security map for the specified connector connection pool
-
-[[sthref175]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-connector-security-map [--help]
---poolname connector_connection_pool_name
-[--principals principal-name1[,principal-name2]*]
-[--usergroups user-group1[,user-group2]*]
-[--mappedusername user-name]
-[--target target]
-mapname
-----
-
-[[sthref176]]
-
-Description
-
-The `create-connector-security-map` subcommand creates a security map
-for the specified connector connection pool. If the security map is not
-present, a new one is created. This subcommand can also map the caller
-identity of the application (principal or user group) to a suitable
-enterprise information system (EIS) principal in container-managed
-authentication scenarios. The EIS is any system that holds the data of
-an organization. It can be a mainframe, a messaging system, a database
-system, or an application. One or more named security maps can be
-associated with a connector connection pool. The connector security map
-configuration supports the use of the wild card asterisk (`*`) to
-indicate all users or all user groups.
-
-To specify the EIS password, you can add the `AS_ADMIN_MAPPEDPASSWORD`
-entry to the password file, then specify the file by using the
-`--passwordfile` `asadmin` utility option.
-
-For this subcommand to succeed, you must have first created a connector
-connection pool using the `create-connector-connection-pool` subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref177]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--poolname`::
-  Specifies the name of the connector connection pool to which the
-  security map belongs.
-`--principals`::
-  Specifies a list of backend EIS principals. More than one principal
-  can be specified using a comma-separated list. Use either the
-  `--principals` or `--usergroups` options, but not both in the same
-  command.
-`--usergroups`::
-  Specifies a list of backend EIS user group. More than one user groups
-  can be specified using a comma separated list. Use either the
-  `--principals` or `--usergroups` options, but not both in the same
-  command.
-`--mappedusername`::
-  Specifies the EIS username.
-`--target`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref178]]
-
-Operands
-
-mapname::
-  The name of the security map to be created.
-
-[[sthref179]]
-
-Examples
-
-[[GSRFM467]][[sthref180]]
-
-Example 1   Creating a Connector Security Map
-
-This example creates `securityMap1` for the existing connection pool
-named `connector-pool1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-connector-security-map --poolname connector-pool1
---principals principal1,principal2 --mappedusername backend-username securityMap1
-Command create-connector-security-map executed successfully
-----
-
-[[sthref181]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref182]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
-link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)],
-link:update-connector-security-map.html#update-connector-security-map-1[`update-connector-security-map`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-connector-work-security-map.adoc b/docs/reference-manual/src/main/jbake/content/create-connector-work-security-map.adoc
deleted file mode 100644
index a919af5..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-connector-work-security-map.adoc
+++ /dev/null
@@ -1,137 +0,0 @@
-type=page
-status=published
-title=create-connector-work-security-map
-next=create-context-service.html
-prev=create-connector-security-map.html
-~~~~~~
-create-connector-work-security-map
-==================================
-
-[[create-connector-work-security-map-1]][[GSRFM00021]][[create-connector-work-security-map]]
-
-create-connector-work-security-map
-----------------------------------
-
-creates a work security map for the specified resource adapter
-
-[[sthref183]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-connector-work-security-map [--help] 
---raname raname
-[--principalsmap eis-principal1=principal_name1[, eis-principal2=principal_name2]* 
-|--groupsmap eis-group1=server-group1[, eis-group2=server-group2]*}
-[--description description] 
-mapname
-----
-
-[[sthref184]]
-
-Description
-
-The `create-connector-work-security-map` subcommand maps the caller
-identity of the work submitted by the resource adapter EIS principal or
-EIS user group to a suitable principal or user group in the
-\{product---name} security domain. One or more work security maps may be
-associated with a resource adapter. The connector work security map
-configuration supports the use of the wild card asterisk (`*`) to
-indicate all users or all user groups.
-
-The enterprise information system (EIS) is any system that holds the
-data of an organization. It can be a mainframe, a messaging system, a
-database system, or an application.
-
-This subcommand is supported in remote mode only.
-
-[[sthref185]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--description`::
-  Text providing descriptive details about the connector work security
-  map.
-`--groupsmap`::
-  Specifies a map of the backend EIS user group to the \{product---name}
-  user group. Use a comma-separated list to specify more than one
-  mapping. Use either the `--principalsmap` option or the `--groupsmap`
-  option, but not both.
-`--principalsmap`::
-  Specifies a map of the backend EIS principal to the \{product---name}
-  principal. Use a comma-separated list to specify more than one
-  mapping. Use either the `--principalsmap` option or the `--groupsmap`
-  option, but not both.
-`--raname`::
-  Indicates the connector module name, which is the name of the resource
-  adapter.
-
-[[sthref186]]
-
-Operands
-
-mapname::
-  The name of the work security map to be created.
-
-[[sthref187]]
-
-Examples
-
-[[GSRFM468]][[sthref188]]
-
-Example 1   Creating a Connector Work Security Map (Principal)
-
-This example creates connector work security map `workSecurityMap1` that
-maps the backend EIS principal to the \{product---name} principal.
-
-[source,oac_no_warn]
-----
-asadmin create-connector-work-security-map --raname my-resource-adapter
---principalsmap eis-principal-1=server-principal-1,eis-principal-2
-=server-principal-2,eis-principal-3=server-principal-1 
-workSecurityMap1
-Command create-connector-work-security-map executed successfully.
-----
-
-[[GSRFM469]][[sthref189]]
-
-Example 2   Creating a Connector Work Security Map (Group)
-
-This example creates connector work security map `workSecurityMap2` that
-maps the backend EIS user group to the \{product---name} user group.
-
-[source,oac_no_warn]
-----
-asadmin create-connector-work-security-map --raname my-resource-adapter
---groupsmap eis-group-1=server-group-1,eis-group-2=server-group-2,
-eis-group-3=server-group-1 workSecurityMap2
-Command create-connector-work-security-map executed successfully.
-----
-
-[[sthref190]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref191]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-connector-work-security-map.html#delete-connector-work-security-map-1[`delete-connector-work-security-map`(1)],
-link:list-connector-work-security-maps.html#list-connector-work-security-maps-1[`list-connector-work-security-maps`(1)],
-link:update-connector-work-security-map.html#update-connector-work-security-map-1[`update-connector-work-security-map`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-context-service.adoc b/docs/reference-manual/src/main/jbake/content/create-context-service.adoc
deleted file mode 100644
index 42f2191..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-context-service.adoc
+++ /dev/null
@@ -1,129 +0,0 @@
-type=page
-status=published
-title=create-context-service
-next=create-custom-resource.html
-prev=create-connector-work-security-map.html
-~~~~~~
-create-context-service
-======================
-
-[[create-context-service-1]][[GSRFM838]][[create-context-service]]
-
-create-context-service
-----------------------
-
-creates a context service resource
-
-[[sthref192]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-context-service [--help]
-[--enabled={false|true}]
-[--contextinfoenabled={false|true}]
-[--contextinfo={Classloader|JNDI|Security|WorkArea}]]
-[--description description]
-[--property property]
-[--target target]
-jndi_name
-----
-
-[[sthref193]]
-
-Description
-
-The `create-context-service` subcommand creates a context service
-resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref194]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--enabled`::
-  Determines whether the resource is enabled at runtime. The default
-  value is `true`.
-`--contextinfoenabled`::
-  Determines whether container contexts are propagated to threads. If
-  set to `true`, the contexts specified in the `--contextinfo` option
-  are propagated. If set to `false`, no contexts are propagated and the
-  `--contextinfo` option is ignored. The default value is `true`.
-`--contextinfo`::
-  Specifies individual container contexts to propagate to threads. Valid
-  values are Classloader, JNDI, Security, and WorkArea. Values are
-  specified in a comma-separated list and are case-insensitive. All
-  contexts are propagated by default.
-`--description`::
-  Descriptive details about the resource.
-`--property`::
-  Optional attribute name/value pairs for configuring the resource. +
-  \{product---name} does not define any additional properties for this
-  resource. Moreover, this resource does not currently use any
-  additional properties.
-`--target`::
-  Specifies the target for which you are creating the resource. Valid
-  targets are: +
-  `server`;;
-    Creates the resource for the default server instance. This is the
-    default value.
-  `domain`;;
-    Creates the resource for the domain.
-  cluster_name;;
-    Creates the resource for every server instance in the specified
-    cluster.
-  instance_name;;
-    Creates the resource for the specified server instance.
-
-[[sthref195]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this resource.
-
-[[sthref196]]
-
-Examples
-
-[[GSRFM839]][[sthref197]]
-
-Example 1   Creating a Context Service Resource
-
-This example creates a context service resource named
-`concurrent/myContextService`.
-
-[source,oac_no_warn]
-----
-asadmin> create-context-service concurrent/myContextService
-Context service concurrent/myContextService created successfully.
-Command create-context-service executed successfully.
-----
-
-[[sthref198]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref199]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-context-service.html#delete-context-service-1[`delete-context-service`(1)],
-link:list-context-services.html#list-context-services-1[`list-context-services`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-custom-resource.adoc b/docs/reference-manual/src/main/jbake/content/create-custom-resource.adoc
deleted file mode 100644
index 93cdba2..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-custom-resource.adoc
+++ /dev/null
@@ -1,138 +0,0 @@
-type=page
-status=published
-title=create-custom-resource
-next=create-domain.html
-prev=create-context-service.html
-~~~~~~
-create-custom-resource
-======================
-
-[[create-custom-resource-1]][[GSRFM00022]][[create-custom-resource]]
-
-create-custom-resource
-----------------------
-
-creates a custom resource
-
-[[sthref200]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-custom-resource [--help] 
---restype type --factoryclass classname 
-[--enabled={true|false}] [--description text] 
-[--property (name=value)[:name=value]*] jndi-name 
-[--target target]
-----
-
-[[sthref201]]
-
-Description
-
-The `create-custom-resource` subcommand creates a custom resource. A
-custom resource specifies a custom server-wide resource object factory
-that implements the `javax.naming.spi.ObjectFactory` interface.
-
-This subcommand is supported in remote mode only.
-
-[[sthref202]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  The target on which the custom resource you are creating will be
-  available. Valid values are: +
-  `server`;;
-    The resource will be available on the default server instance and
-    all domains hosted on the instance. This is the default value.
-  `domain`;;
-    The resource will be available on the specified domain only.
-  cluster_name;;
-    The resource will be available on every server instance in the
-    cluster.
-  instance_name;;
-    The resource will be available on the specified server instance
-    only. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-The resource is always created for the domain as a whole, but the
-`resource-ref` for the resource is only created for the specified
-`--target`. This means that although the resource is defined at the
-domain level, it is only available at the specified target level. Use
-the `create-resource-ref` subcommand to refer to the resource in
-multiple targets if needed.
-
-|=======================================================================
-
-`--restype`::
-  The type of custom resource to be created. Specify a fully qualified
-  type definition, for example `javax.naming.spi.ObjectFactory`. The
-  resource type definition follows the format, xxx`.`xxx.
-`--factoryclass`::
-  Factory class name for the custom resource. This class implements the
-  `javax.naming.spi.ObjectFactory` interface.
-`--enabled`::
-  Determines whether the custom resource is enable at runtime. Default
-  is true.
-`--description`::
-  Text providing details about the custom resource. This description is
-  a string value and can include a maximum of 250 characters.
-`--property`::
-  Optional attribute name/value pairs for configuring the resource.
-
-[[sthref203]]
-
-Operands
-
-jndi-name::
-  The JNDI name of this resource.
-
-[[sthref204]]
-
-Examples
-
-[[GSRFM470]][[sthref205]]
-
-Example 1   Creating a Custom Resource
-
-This example creates a custom resource.
-
-[source,oac_no_warn]
-----
-asadmin> create-custom-resource --restype topic 
---factoryclass com.imq.topic mycustomresource
-Command create-custom-resource executed successfully.
-----
-
-[[sthref206]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref207]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-custom-resource.html#delete-custom-resource-1[`delete-custom-resource`(1)],
-link:list-custom-resources.html#list-custom-resources-1[`list-custom-resources`(1)],
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-domain.adoc b/docs/reference-manual/src/main/jbake/content/create-domain.adoc
deleted file mode 100644
index 17c0887..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-domain.adoc
+++ /dev/null
@@ -1,460 +0,0 @@
-type=page
-status=published
-title=create-domain
-next=create-file-user.html
-prev=create-custom-resource.html
-~~~~~~
-create-domain
-=============
-
-[[create-domain-1]][[GSRFM00023]][[create-domain]]
-
-create-domain
--------------
-
-creates a domain
-
-[[sthref208]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-domain [--help] 
-[--adminport adminport]
-[--instanceport instanceport] 
-[--portbase portbase] 
-[--profile profile-name] 
-[--template template-name] 
-[--domaindir domaindir] 
-[--savemasterpassword={false|true}] 
-[--usemasterpassword={false|true}]
-[--domainproperties (name=value)[:name=value]*] 
-[--keytooloptions (name=value)[:name=value]*] 
-[--savelogin={false|true}] 
-[--checkports={true|false}] 
-[--nopassword={false|true}] 
-domain-name
-----
-
-[[sthref209]]
-
-Description
-
-The `create-domain` subcommand creates a \{product---name} domain. A
-domain in \{product---name} is an administrative namespace that complies
-with the Java Platform, Enterprise Edition (Java EE) standard. Every
-domain has a configuration, which is stored in a set of files. Any
-number of domains, each of which has a distinct administrative identity,
-can be created in a given installation of \{product---name}. A domain
-can exist independently of other domains.
-
-Any user who has access to the `asadmin` utility on a given system can
-create a domain and store its configuration in a folder of the user's
-choosing. By default, the domain configuration is created in the default
-directory for domains. You can override this location to store the
-configuration elsewhere.
-
-If domain customizers are found in JAR files in the as-install`/modules`
-directory when the `create-domain` subcommand is run, the customizers
-are processed. A domain customizer is a class that implements the
-`DomainInitializer` interface.
-
-The `create-domain` subcommand creates a domain with a single
-administrative user specified by the `asadmin` utility option `--user`.
-If the `--user` option is not specified, and the `--nopassword` option
-is set to true, the default administrative user, `admin`, is used. If
-the `--nopassword` option is set to false (the default), a username is
-required. In this case, if you have not specified the user name by using
-the `--user` option, you are prompted to do so.
-
-You choose an appropriate profile for the domain, depending on the
-applications that you want to run on your new domain. You can choose the
-developer, cluster, or enterprise profile for the domain you create.
-
-This subcommand is supported in local mode only.
-
-[[sthref210]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--adminport`::
-  The HTTP port or the HTTPS port for administration. This port is the
-  port in the URL that you specify in your web browser to manage the
-  domain, for example, `http://localhost:4949`. The `--adminport` option
-  cannot be used with the `--portbase` option. The default value is
-  4848. +
-  The `--adminport` option overrides the `domain.adminPort` property of
-  the `--domainproperties` option.
-`--instanceport`::
-  The domain provides services so that applications can run when
-  deployed. This HTTP port specifies where the web application context
-  roots are available for a web browser to connect to. This port is a
-  positive integer and must be available at the time of domain creation.
-  The `--instanceport` option cannot be used with the `--portbase`
-  option. The default value is 8080. +
-  The `--instanceport` option overrides the `domain.instancePort`
-  property of the `--domainproperties` option.
-`--portbase`::
-  Determines the number with which port assignments should start. A
-  domain uses a certain number of ports that are statically assigned.
-  The portbase value determines where the assignment should start. The
-  values for the ports are calculated as follows: +
-  * Administration port: portbase + 48
-  * HTTP listener port: portbase + 80
-  * HTTPS listener port: portbase + 81
-  * JMS port: portbase + 76
-  * IIOP listener port: portbase + 37
-  * Secure IIOP listener port: portbase + 38
-  * Secure IIOP with mutual authentication port: portbase + 39
-  * JMX port: portbase + 86
-  * JPDA debugger port: portbase + 9
-  * Felix shell service port for OSGi module management: portbase + 66 +
-  When the `--portbase` option is specified, the output of this
-  subcommand includes a complete list of used ports. +
-  The `--portbase` option cannot be used with the `--adminport`,
-  `--instanceport`, or the `--domainproperties` option.
-`--profile`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--template`::
-  The file name, including a relative or absolute path, of a domain
-  configuration template to use for creating the domain. If a relative
-  path is specified, the subcommand appends the path to the
-  as-install`/lib/templates` directory to locate the file. If it is an
-  absolute pathname, the subcommand locates the file in the specified
-  path. +
-  This option enables domains of different types to be created and
-  custom domain templates to be defined.
-`--domaindir`::
-  The directory where the domain is to be created. If specified, the
-  path must be accessible in the filesystem. If not specified, the
-  domain is created in the default domain directory,
-  as-install`/domains`.
-`--savemasterpassword`::
-  Setting this option to `true` allows the master password to be written
-  to the file system. If this option is `true`, the
-  `--usemasterpassword` option is also true, regardless of the value
-  that is specified on the command line. The default value is `false`. +
-  A master password is really a password for the secure key store. A
-  domain is designed to keep its own certificate (created at the time of
-  domain creation) in a safe place in the configuration location. This
-  certificate is called the domain's SSL server certificate. When the
-  domain is contacted by a web browser over a secure channel (HTTPS),
-  this certificate is presented by the domain. The master password is
-  supposed to protect the store (a file) that contains this certificate.
-  This file is called `keystore.jks` and is created in the configuration
-  directory of the domain created. If however, this option is chosen,
-  the master password is saved on the disk in the domain's configuration
-  location. The master password is stored in a file called
-  `master-password`, which is a Java JCEKS type keystore. The reason for
-  using the `--savemasterpassword` option is for unattended system
-  boots. In this case, the master password is not prompted for when the
-  domain starts because the password will be extracted from this file. +
-  It is best to create a master password when creating a domain, because
-  the master password is used by the `start-domain` subcommand. For
-  security purposes, the default setting should be false, because saving
-  the master password on the disk is an insecure practice, unless file
-  system permissions are properly set. If the master password is saved,
-  then `start-domain` does not prompt for it. The master password gives
-  an extra level of security to the environment.
-`--usemasterpassword`::
-  Specifies whether the key store is encrypted with a master password
-  that is built into the system or a user-defined master password. +
-  If `false` (default), the keystore is encrypted with a well-known
-  password that is built into the system. Encrypting the keystore with a
-  password that is built into the system provides no additional
-  security. +
-  If `true`, the subcommand obtains the master password from the
-  `AS_ADMIN_MASTERPASSWORD` entry in the password file or prompts for
-  the master password. The password file is specified in the
-  `--passwordfile` option of the
-  link:asadmin.html#asadmin-1m[`asadmin`(1M)]utility. +
-  If the `--savemasterpassword` option is `true`, this option is also
-  true, regardless of the value that is specified on the command line.
-`--domainproperties`::
-  Setting the optional name/value pairs overrides the default values for
-  the properties of the domain to be created. The list must be separated
-  by the colon (:) character. The `--portbase` options cannot be used
-  with the `--domainproperties` option. The following properties are
-  available: +
-  `domain.adminPort`;;
-    This property specifies the port number of the HTTP port or the
-    HTTPS port for administration. This port is the port in the URL that
-    you specify in your web browser to manage the instance, for example,
-    `http://localhost:4949`. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges. +
-    The `domain.adminPort` property is overridden by the `--adminport`
-    option.
-  `domain.instancePort`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTP requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges. +
-    The `domain.instancePort` property is overridden by `--instanceport`
-    option.
-  `domain.jmxPort`;;
-    This property specifies the port number on which the JMX connector
-    listens. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `http.ssl.port`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `java.debugger.port`;;
-    This property specifies the port number of the port that is used for
-    connections to the
-    http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-    Platform Debugger Architecture (JPDA)]
-    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-    debugger. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `jms.port`;;
-    This property specifies the port number for the Java Message Service
-    provider. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `orb.listener.port`;;
-    This property specifies the port number of the port that is used for
-    IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `orb.mutualauth.port`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections with client authentication. Valid values are
-    1-65535. On UNIX, creating sockets that listen on ports 1-1024
-    requires superuser privileges.
-  `orb.ssl.port`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `osgi.shell.telnet.port`;;
-    This property specifies the port number of the port that is used for
-    connections to the
-    http://felix.apache.org/site/apache-felix-remote-shell.html[Apache
-    Felix Remote Shell]
-    (http://felix.apache.org/site/apache-felix-remote-shell.html). This
-    shell uses the Felix shell service to interact with the OSGi module
-    management subsystem. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-`--keytooloptions`::
-  Specifies an optional list of name-value pairs of keytool options for
-  a self-signed server certificate. The certificate is generated during
-  the creation of the domain. Each pair in the list must be separated by
-  the colon (:) character. +
-  Allowed options are as follows: +
-  `CN`;;
-    Specifies the common name of the host that is to be used for the
-    self-signed certificate. This option name is case insensitive. +
-    By default, the name is the fully-qualified name of the host where
-    the `create-domain` subcommand is run.
-`--savelogin`::
-  If set to true, this option saves the administration user name and
-  password. Default value is false. The username and password are stored
-  in the `.asadminpass` file in user's home directory. A domain can only
-  be created locally. Therefore, when using the `--savelogin` option,
-  the host name saved in `.asadminpass` is always `localhost`. If the
-  user has specified default administration port while creating the
-  domain, there is no need to specify `--user`, `--passwordfile`,
-  `--host`, or `--port` on any of the subsequent `asadmin` remote
-  commands. These values will be obtained automatically. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-When the same user creates multiple domains that have the same
-administration port number on the same or different host (where the
-home directory is NFS mounted), the subcommand does not ask if the
-password should be overwritten. The password will always be
-overwritten.
-
-|=======================================================================
-
-`--checkports`::
-  Specifies whether to check for the availability of the administration,
-  HTTP, JMS, JMX, and IIOP ports. The default value is true.
-`--nopassword`::
-  Specifies whether the administrative user will have a password. If
-  false (the default), the password is specified by the
-  `AS_ADMIN_PASSWORD` entry in the `asadmin` password file (set by using
-  the `--passwordfile` option). If false and the `AS_ADMIN_PASSWORD` is
-  not set, you are prompted for the password. +
-  If true, the administrative user is created without a password. If a
-  user name for the domain is not specified by using the `--user`
-  option, and the `--nopassword` option is set to true, the default user
-  name, `admin`, is used.
-
-[[sthref211]]
-
-Operands
-
-domain-name::
-  The name of the domain to be created. The name may contain only ASCII
-  characters and must be a valid directory name for the operating system
-  on the host where the domain is created.
-
-[[sthref212]]
-
-Examples
-
-[[GSRFM471]][[sthref213]]
-
-Example 1   Creating a Domain
-
-This example creates a domain named `domain4`.
-
-[source,oac_no_warn]
-----
-asadmin>create-domain --adminport 4848 domain4
-Enter admin user name [Enter to accept default "admin" / no password]>
-Using port 4848 for Admin.
-Using default port 8080 for HTTP Instance.
-Using default port 7676 for JMS.
-Using default port 3700 for IIOP.
-Using default port 8181 for HTTP_SSL.
-Using default port 3820 for IIOP_SSL.
-Using default port 3920 for IIOP_MUTUALAUTH.
-Using default port 8686 for JMX_ADMIN.
-Using default port 6666 for OSGI_SHELL.
-Distinguished Name of the self-signed X.509 Server Certificate is:
-[CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
-No domain initializers found, bypassing customization step
-Domain domain4 created.
-Domain domain4 admin port is 4848.
-Domain domain4 allows admin login as user "admin" with no password.
-Command create-domain executed successfully.
-----
-
-[[GSRFM472]][[sthref214]]
-
-Example 2   Creating a Domain in an Alternate Directory
-
-This example creates a domain named `sampleDomain` in the
-`/home/someuser/domains` directory.
-
-[source,oac_no_warn]
-----
-asadmin> create-domain --domaindir /home/someuser/domains --adminport 7070 
---instanceport 7071 sampleDomain
-Enter admin user name [Enter to accept default "admin" / no password]>
-Using port 7070 for Admin.
-Using port 7071 for HTTP Instance.
-Using default port 7676 for JMS.
-Using default port 3700 for IIOP.
-Using default port 8181 for HTTP_SSL.
-Using default port 3820 for IIOP_SSL.
-Using default port 3920 for IIOP_MUTUALAUTH.
-Using default port 8686 for JMX_ADMIN.
-Using default port 6666 for OSGI_SHELL.
-Enterprise ServiceDistinguished Name of the self-signed X.509 Server Certificate is:
-[CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
-No domain initializers found, bypassing customization step
-Domain sampleDomain created.
-Domain sampleDomain admin port is 7070.
-Domain sampleDomain allows admin login as user "admin" with no password.
-Command create-domain executed successfully.
-----
-
-[[GSRFM473]][[sthref215]]
-
-Example 3   Creating a Domain and Saving the Administration User Name
-and Password
-
-This example creates a domain named `myDomain` and saves the
-administration username and password.
-
-[source,oac_no_warn]
-----
-asadmin> create-domain --adminport 8282 --savelogin=true myDomain
-Enter the admin password [Enter to accept default of no password]>
-Enter the master password [Enter to accept default password "changeit"]>
-Using port 8282 for Admin.
-Using default port 8080 for HTTP Instance.
-Using default port 7676 for JMS.
-Using default port 3700 for IIOP.
-Using default port 8181 for HTTP_SSL.
-Using default port 3820 for IIOP_SSL.
-Using default port 3920 for IIOP_MUTUALAUTH.
-Using default port 8686 for JMX_ADMIN.
-Using default port 6666 for OSGI_SHELL.
-Enterprise ServiceDistinguished Name of the self-signed X.509 Server Certificate is:
-[CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
-No domain initializers found, bypassing customization step
-Domain myDomain created.
-Domain myDomain admin port is 8282.
-Domain myDomain allows admin login as user "admin" with no password.
-Login information relevant to admin user name [admin]
-for this domain [myDomain] stored at
-[/home/someuser/.asadminpass] successfully.
-Make sure that this file remains protected.
-Information stored in this file will be used by
-asadmin commands to manage this domain.
-Command create-domain executed successfully.
-----
-
-[[GSRFM474]][[sthref216]]
-
-Example 4   Creating a Domain and Designating the Certificate Host
-
-This example creates a domain named `domain5`. The common name of the
-host that is to be used for the self-signed certificate is `trio`.
-
-[source,oac_no_warn]
-----
-asadmin> create-domain --adminport 9898 --keytooloptions CN=trio domain5
-Enter the admin password [Enter to accept default of no password]>
-Enter the master password [Enter to accept default password "changeit"]>
-Using port 9898 for Admin.
-Using default port 8080 for HTTP Instance.
-Using default port 7676 for JMS.
-Using default port 3700 for IIOP.
-Using default port 8181 for HTTP_SSL.
-Using default port 3820 for IIOP_SSL.
-Using default port 3920 for IIOP_MUTUALAUTH.
-Using default port 8686 for JMX_ADMIN.
-Using default port 6666 for OSGI_SHELL.
-Distinguished Name of the self-signed X.509 Server Certificate is:
-[CN=trio,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US]
-No domain initializers found, bypassing customization step
-Domain domain5 created.
-Domain domain5 admin port is 9898.
-Domain domain5 allows admin login as user "admin" with no password.
-Command create-domain executed successfully.
-----
-
-[[sthref217]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref218]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
-link:list-domains.html#list-domains-1[`list-domains`(1)],
-link:login.html#login-1[`login`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
-
-Apache Felix Remote Shell
-(`http://felix.apache.org/site/apache-felix-remote-shell.html`), Java
-Platform Debugger Architecture (JPDA)
-(`http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-file-user.adoc b/docs/reference-manual/src/main/jbake/content/create-file-user.adoc
deleted file mode 100644
index 2cfdcca..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-file-user.adoc
+++ /dev/null
@@ -1,119 +0,0 @@
-type=page
-status=published
-title=create-file-user
-next=create-http.html
-prev=create-domain.html
-~~~~~~
-create-file-user
-================
-
-[[create-file-user-1]][[GSRFM00024]][[create-file-user]]
-
-create-file-user
-----------------
-
-creates a new file user
-
-[[sthref219]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-file-user [--help] 
-[--authrealmnameauth_realm_name] 
-[--target target 
-[--groups user_groups[:user_groups]*] user_name
-----
-
-[[sthref220]]
-
-Description
-
-The `create-file-user` subcommand creates an entry in the keyfile with
-the specified username, password, and groups. Multiple groups can be
-created by separating them with a colon (`:`). If auth_realm_name is not
-specified, an entry is created in the keyfile for the default realm. If
-auth_realm_name is specified, an entry is created in the keyfile using
-the `auth_realm_name`.
-
-You can use the `--passwordfile` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] command to specify the
-password for the user. The password file entry must be of the form
-`AS_ADMIN_USERPASSWORD=`user-password.
-
-If a password is not provided, this subcommand fails if secure
-administration is enabled and the user being created is an
-administrative user.
-
-This subcommand is supported in remote mode only.
-
-[[sthref221]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This is the name of the target on which the command operates. The
-  valid targets are config, instance, cluster, or server. By default,
-  the target is the server.
-`--groups`::
-  This is the group associated with this file user.
-`--authrealmname`::
-  The name of the realm in which the new user is created. If you do not
-  specify this option, the user is created in the "file" realm.
-
-[[sthref222]]
-
-Operands
-
-user_name::
-  This is the name of file user to be created.
-
-[[sthref223]]
-
-Examples
-
-[[GSRFM475]][[sthref224]]
-
-Example 1   Creating a User in the File Realm
-
-This example creates a file realm user named `sample_user`. It is
-assumed that an authentication realm has already been created using the
-`create-auth-realm` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> create-file-user 
---groups staff:manager 
---authrealmname auth-realm1 sample_user
-Command create-file-user executed successfully
-----
-
-[[sthref225]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref226]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
-link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
-link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
-link:list-file-users.html#list-file-users-1[`list-file-users`(1)],
-link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-http-health-checker.adoc b/docs/reference-manual/src/main/jbake/content/create-http-health-checker.adoc
deleted file mode 100644
index 55f26a2..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-http-health-checker.adoc
+++ /dev/null
@@ -1,119 +0,0 @@
-type=page
-status=published
-title=create-http-health-checker
-next=create-http-lb.html
-prev=create-http.html
-~~~~~~
-create-http-health-checker
-==========================
-
-[[create-http-health-checker-1]][[GSRFM00026]][[create-http-health-checker]]
-
-create-http-health-checker
---------------------------
-
-creates a health-checker for a specified load balancer configuration
-
-[[sthref235]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-http-health-checker [--help] 
-[--url "/"]
-[--interval 30] [--timeout 10]
-[--config config_name] target
-----
-
-[[sthref236]]
-
-Description
-
-The `create-http-health-checker` subcommand creates a health checker for
-a specified load balancer configuration. A health checker is unique for
-the combination of target and load balancer configuration.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref237]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--url`::
-  The URL to ping to determine whether the instance is healthy.
-`--interval`::
-  The interval in seconds the health checker waits between checks of an
-  unhealthy instance to see whether it has become healthy. The default
-  value is 30 seconds. A value of 0 disables the health checker.
-`--timeout`::
-  The interval in seconds the health checker waits to receive a response
-  from an instance. If the health checker has not received a response in
-  this interval, the instance is considered unhealthy.
-`--config`::
-  The load balancer configuration for which you create the
-  health-checker. If you do not specify a configuration, the subcommand
-  creates a health checker for every load balancer configuration
-  associated with the target. If no configuration references the target,
-  the subcommand fails.
-
-[[sthref238]]
-
-Operands
-
-target::
-  Specifies the target to which the health checker applies. +
-  Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref239]]
-
-Examples
-
-[[GSRFM477]][[sthref240]]
-
-Example 1   Creating a Health Checker for a Load Balancer Configuration
-
-This example creates a health checker for a load balancer configuration
-named `mycluster-http-lb-config` on a cluster named `mycluster`.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-health-checker --config mycluster-http-lb-config mycluster
-
-Command create-http-health-checker executed successfully.
-----
-
-[[sthref241]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref242]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-http-health-checker.html#delete-http-health-checker-1[`delete-http-health-checker`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-http-lb-config.adoc b/docs/reference-manual/src/main/jbake/content/create-http-lb-config.adoc
deleted file mode 100644
index 67c6133..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-http-lb-config.adoc
+++ /dev/null
@@ -1,148 +0,0 @@
-type=page
-status=published
-title=create-http-lb-config
-next=create-http-lb-ref.html
-prev=create-http-lb.html
-~~~~~~
-create-http-lb-config
-=====================
-
-[[create-http-lb-config-1]][[GSRFM00028]][[create-http-lb-config]]
-
-create-http-lb-config
----------------------
-
-creates a configuration for the load balancer
-
-[[sthref251]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-http-lb-config [--help] 
-[--responsetimeout 60]
-[httpsrouting=false] [--reloadinterval 60]
-[--monitor=false] [--property (name=value)[:name=value]*]
---target target | config_name
-----
-
-[[sthref252]]
-
-Description
-
-Use the `create-http-lb-config` subcommand to create a load balancer
-configuration. This configuration applies to load balancing in the HTTP
-path. After using this subcommand to create the load balancer
-configuration file, create the load balancer by running
-`create-http-lb`.
-
-You must specify either a target or a configuration name, or both. If
-you do not specify a target, the configuration is created without a
-target and you add one later using `create-http-lb-ref`. If you don't
-specify a configuration name, a name is created based on the target
-name. If you specify both, the configuration is created with the
-specified name, referencing the specified target.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref253]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--responsetimeout`::
-  The time in seconds within which a server instance must return a
-  response. If no response is received within the time period, the
-  server is considered unhealthy. If set to a positive number, and the
-  request is idempotent, the request is retried. If the request is not
-  idempotent, an error page is returned. If set to 0 no timeout is used.
-  The default is 60.
-`--httpsrouting`::
-  If set to `true`, HTTPS requests to the load balancer result in HTTPS
-  requests to the server instance. If set to `false`, HTTPS requests to
-  the load balancer result in HTTP requests to the server instance. The
-  default is `false`.
-`--reloadinterval`::
-  The interval between checks for changes to the load balancer
-  configuration file `loadbalancer.xml`. When the check detects changes,
-  the configuration file is reloaded. A value of `0` disables reloading.
-`--monitor`::
-  Specifies whether monitoring is enabled. The default is `false`.
-`--routecookie`::
-  This option is deprecated. The value is always `true`.
-`--property`::
-  Optional attribute name/value pairs for configuring the load balancer.
-`--target`::
-  Specifies the target to which the load balancer configuration applies.
-  If you don't specify a target, the load balancer configuration is
-  created without a target. You can specify targets later using the
-  subcommand `create-http-lb-ref`. +
-  Valid values are: +
-  * cluster_name- Specifies that requests for this cluster will be
-  handled by the load balancer.
-  * stand-alone_instance_name- Specifies that requests for this
-  standalone instance will be handled by the load balancer.
-
-[[sthref254]]
-
-Operands
-
-config_name::
-  The name of the new load balancer configuration. This name must not
-  conflict with any other load balancer groups, agents, configurations,
-  clusters, or sever instances in the domain. If you don't specify a
-  name, the load balancer configuration name is based on the target
-  name, target_name`-http-lb-config`.
-
-[[sthref255]]
-
-Examples
-
-[[GSRFM479]][[sthref256]]
-
-Example 1   Creating a Load Balancer Configuration
-
-This example creates a load balancer configuration on a target named
-`mycluster` and load balancer configuration named `mylbconfigname`.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-lb-config --target mycluster mylbconfigname
-
-Command create-http-lb-config executed successfully.
-----
-
-[[sthref257]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref258]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-http-lb-config.html#delete-http-lb-config-1[`delete-http-lb-config`(1)],
-link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)],
-link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-http-lb-ref.adoc b/docs/reference-manual/src/main/jbake/content/create-http-lb-ref.adoc
deleted file mode 100644
index 34690a4..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-http-lb-ref.adoc
+++ /dev/null
@@ -1,214 +0,0 @@
-type=page
-status=published
-title=create-http-lb-ref
-next=create-http-listener.html
-prev=create-http-lb-config.html
-~~~~~~
-create-http-lb-ref
-==================
-
-[[create-http-lb-ref-1]][[GSRFM00029]][[create-http-lb-ref]]
-
-create-http-lb-ref
-------------------
-
-adds an existing cluster or server instance to an existing load balancer
-configuration or load balancer
-
-[[sthref259]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-http-lb-ref [--help] 
---config config_name | --lbname load_balancer_name 
-[--lbpolicy round-robin] [--lbpolicymodule lb_policy_module] 
-[--healthcheckerurl url] [--healthcheckerinterval 10] 
-[--healthcheckertimeout 10] [--lbenableallinstances=true] 
-[--lbenableallapplications=true] [--lbweight instance=weight[:instance=weight]*] 
-target
-----
-
-[[sthref260]]
-
-Description
-
-Use the `create-http-lb-ref` subcommand to:
-
-* Add an existing cluster or server instance to an existing load
-balancer configuration or load balancer. The load balancer forwards the
-requests to the clustered and standalone instances it references.
-* Set the load balancing policy to round-robin, weighted round-robin, or
-to a user-defined policy.
-* Configure a health checker for the load balancer. Any health checker
-settings defined here apply only to the target. If you do not create a
-health checker with this subcommand, use `create-http-health-checker`.
-* Enable all instances in the target cluster for load balancing, or use
-`enable-http-lb-server` to enable them individually.
-* Enable all applications deployed to the target for load balancing, or
-use `enable-http-lb-application` to enable them individually.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref261]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--config`::
-  Specifies which load balancer configuration to which to add clusters
-  and server instances. Specify either a load balancer configuration or
-  a load balancer. Specifying both results in an error.
-`--lbname`::
-  Specifies the load balancer to which to add clusters and server
-  instances. Specify either a load balancer configuration or a load
-  balancer. Specifying both results in an error.
-`--lbpolicy`::
-  The policy the load balancer follows. Valid values are `round-robin`,
-  `weighted-round-robin`, and `user-defined`. If you choose
-  user-defined, specify a load balancer policy module with the
-  `lbpolicymodule` option. If you choose `weighted-round-robin` assign
-  weights to the server instances using the `configure-lb-weight`
-  subcommand. The default is `round-robin`.
-`--lbpolicymodule`::
-  If your load balancer policy is `user-defined`, use this option to
-  specify the full path and name of the shared library of your load
-  balancing policy module. The shared library needs to be in a location
-  accessible by the web server.
-`--healthcheckerurl`::
-  The URL to ping to determine whether the instance is healthy.
-`--healthcheckerinterval`::
-  The interval in seconds the health checker waits between checks of an
-  unhealthy instance to see whether it has become healthy. The default
-  value is 30 seconds. A value of 0 disables the health checker.
-`--healthcheckertimeout`::
-  The interval in seconds the health checker waits to receive a response
-  from an instance. If the health checker has not received a response in
-  this interval, the instance is considered unhealthy. The default is
-  10.
-`--lbenableallinstances`::
-  Enables all instances in the target cluster for load balancing. If the
-  target is a server instance, enables that instance for load balancing.
-  The default value is true.
-`--lbenableallapplications`::
-  Enables all applications deployed to the target cluster or instance
-  for load balancing. The default value is true.
-`--lbweight`::
-  The name of the instance and the weight you are assigning it. The
-  weight must be an integer. The pairs of instances and weights are
-  separated by colons. For example `instance1=1:instance2=4` means that
-  for every five requests, one goes to instance1 and four go to
-  instance2. A weight of 1 is the default.
-
-[[sthref262]]
-
-Operands
-
-target::
-  Specifies which cluster or instance to add to the load balancer. Valid
-  values are: +
-  * cluster_name- Specifies that requests for this cluster will be
-  handled by the load balancer.
-  * stand-alone_instance_name- Specifies that requests for this
-  standalone instance will be handled by the load balancer.
-
-[[sthref263]]
-
-Examples
-
-[[GSRFM480]][[sthref264]]
-
-Example 1   Adding a Cluster Reference to a Load Balancer Configuration
-
-This example adds a reference to a cluster named `cluster2` to a load
-balancer configuration named `mylbconfig`.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-lb-ref --config mylbconfig cluster2 
-
-Command create-http-lb-ref executed successfully.
-----
-
-[[GSRFM481]][[sthref265]]
-
-Example 2   Adding a Cluster Reference to a Load Balancer
-
-This example adds a reference to a cluster named `cluster2` to a load
-balancer named `mylb`.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-lb-ref --lbname mylb cluster2 
-
-Command create-http-lb-ref executed successfully.
-----
-
-[[GSRFM482]][[sthref266]]
-
-Example 3   Configuring a Health Checker and Load Balancer Policy
-
-This example configures a health checker and load balancing policy, and
-enables the load balancer for instances and applications.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-lb-ref --config mylbconfig --lbpolicy weighted-round-robin 
---healthcheckerinterval 40 --healthcheckertimeout 20 
---lbenableallinstances=true --lbenableallapplications=true cluster2 
-
-Command create-http-lb-ref executed successfully.
-----
-
-[[GSRFM483]][[sthref267]]
-
-Example 4   Setting a User-Defined Load Balancing Policy
-
-This example sets a user-defined load balancing policy.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-lb-ref --lbpolicy user-defined --lbpolicymodule /user/modules/module.so
---config mylbconfig cluster2
-
-Command create-http-lb-ref executed successfully.
-----
-
-[[sthref268]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref269]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:configure-lb-weight.html#configure-lb-weight-1[`configure-lb-weight`(1)],
-link:create-http-health-checker.html#create-http-health-checker-1[`create-http-health-checker`(1)],
-link:delete-http-lb-ref.html#delete-http-lb-ref-1[`delete-http-lb-ref`(1)],
-link:enable-http-lb-application.html#enable-http-lb-application-1[`enable-http-lb-application`(1)],
-link:enable-http-lb-server.html#enable-http-lb-server-1[`enable-http-lb-server`(1)],
-link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)],
-link:list-http-lbs.html#list-http-lbs-1[`list-http-lbs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-http-lb.adoc b/docs/reference-manual/src/main/jbake/content/create-http-lb.adoc
deleted file mode 100644
index 741fb9b..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-http-lb.adoc
+++ /dev/null
@@ -1,189 +0,0 @@
-type=page
-status=published
-title=create-http-lb
-next=create-http-lb-config.html
-prev=create-http-health-checker.html
-~~~~~~
-create-http-lb
-==============
-
-[[create-http-lb-1]][[GSRFM00027]][[create-http-lb]]
-
-create-http-lb
---------------
-
-creates a load balancer
-
-[[sthref243]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-http-lb [--help] 
---devicehost device_host_or_IP_address --deviceport device_port 
-[--sslproxyhost proxy_host] 
-[--sslproxyport proxy_port] [--target target] [--lbpolicy lbpolicy] [--lbpolicymodule lb_policy_module] [--healthcheckerurl url]
-[--healthcheckerinterval 10] [--healthcheckertimeout 10]
-[--lbenableallinstances=true] [--lbenableallapplications=true] [--lbweight instance=weight[:instance=weight]*] [--responsetimeout 60] [--httpsrouting=false] [--reloadinterval60][--monitor=false][--routecookie=true] 
-[--property (name=value)[:name=value]*
-] load_balancer_name
-----
-
-[[sthref244]]
-
-Description
-
-Use the `create-http-lb` subcommand to create a load balancer, including
-the load balancer configuration, target reference, and health checker. A
-load balancer is a representation of the actual load balancer device,
-defined by its device host and port information. Once you've created the
-load balancer, you can automatically apply changes made to the load
-balancer configuration without running `export-http-lb-config` and
-manually copying the generated load balancer configuration file to the
-web server instance.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref245]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--devicehost`::
-  The device host or the IP address of the load balancing device. This
-  host or IP is where the physical load balancer will reside.
-`--deviceport`::
-  The port used to communicate with the load balancing device. It must
-  be SSL enabled.
-`--sslproxyhost`::
-  The proxy host used for outbound HTTP.
-`--sslproxyport`::
-  The proxy port used for outbound HTTP.
-`--target`::
-  Specifies the target to which the load balancer applies. +
-  Valid values are: +
-  * cluster_name- Specifies that requests for this cluster will be
-  handled by the load balancer.
-  * stand-alone_instance_name- Specifies that requests for this
-  stand-alone instance will be handled by the load balancer.
-`--lbpolicy`::
-  The policy the load balancer follows to distribute load to the server
-  instances in a cluster. Valid values are `round-robin`,
-  `weighted-round-robin`, and `user-defined`. If you choose
-  `user-defined`, specify a load balancer policy module with the
-  `lbpolicymodule` option. If you choose `weighted-round-robin`, assign
-  weights to the server instances using the `configure-lb-weight`
-  subcommand. The default is `round-robin`.
-`--lbpolicymodule`::
-  If your target is a cluster and the load balancer policy is
-  `user-defined`, use this option to specify the full path and name of
-  the shared library of your load balancing policy module. The shared
-  library needs to be in a location accessible by the web server.
-`--healthcheckerurl`::
-  The URL to ping to determine whether the instance is healthy.
-`--healthcheckerinterval`::
-  The interval in seconds the health checker waits between checks of an
-  unhealthy instance to see whether it has become healthy. The default
-  value is 10 seconds. A value of 0 disables the health checker.
-`--healthcheckertimeout`::
-  The interval in seconds the health checker waits to receive a response
-  from an instance. If the health checker has not received a response in
-  this interval, the instance is considered unhealthy. The default value
-  is 10 seconds.
-`--lbenableallinstances`::
-  Enables all instances in the target cluster for load balancing. If the
-  target is a server instance, enables that instance for load balancing.
-`--lbenableallapplications`::
-  Enables all applications deployed to the target cluster or instance
-  for load balancing.
-`--lbweight`::
-  The name of the instance and the weight you are assigning it. The
-  weight must be an integer. The pairs of instances and weights are
-  separated by colons. For example `instance1=1:instance2=4` means that
-  for every five requests, one goes to instance1 and four go to
-  instance2. A weight of 1 is the default.
-`--responsetimeout`::
-  The time in seconds within which a server instance must return a
-  response. If no response is received within the time period, the
-  server is considered unhealthy. If set to a positive number, and the
-  request is idempotent, the request is retried. If the request is not
-  idempotent, an error page is returned. If set to 0 no timeout is used.
-  The default is 60.
-`--httpsrouting`::
-  If set to `true`, HTTPS requests to the load balancer result in HTTPS
-  requests to the server instance. If set to `false`, HTTPS requests to
-  the load balancer result in HTTP requests to the server instance. The
-  default is `false`.
-`--reloadinterval`::
-  The time, in seconds, that the load balancer takes to check for an
-  updated configuration. When detected, the configuration file is
-  reloaded. The default value is 60 seconds. A value of 0 disables
-  reloading.
-`--monitor`::
-  If set to `true`, monitoring of the load balancer is switched on. The
-  default value is `false`.
-`--routecookie`::
-  This option is deprecated. The value is always true.
-`--property`::
-  Optional attribute name/value pairs for configuring the load balancer.
-
-[[sthref246]]
-
-Operands
-
-lb_name::
-  The name of the new load balancer. This name must not conflict with
-  any other load balancers in the domain.
-
-[[sthref247]]
-
-Examples
-
-[[GSRFM478]][[sthref248]]
-
-Example 1   Creating a Load Balancer
-
-This example creates a load balancer named `mylb`.
-
-[source,oac_no_warn]
-----
-asadmin> create-http-lb 
---devicehost host1 --deviceport 5555 mylb
-
-Command create-http-lb executed successfully.
-----
-
-[[sthref249]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref250]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-http-lb.html#delete-http-lb-1[`delete-http-lb`(1)],
-link:list-http-lbs.html#list-http-lbs-1[`list-http-lbs`(1)],
-link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-http-listener.adoc b/docs/reference-manual/src/main/jbake/content/create-http-listener.adoc
deleted file mode 100644
index 117539b..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-http-listener.adoc
+++ /dev/null
@@ -1,186 +0,0 @@
-type=page
-status=published
-title=create-http-listener
-next=create-http-redirect.html
-prev=create-http-lb-ref.html
-~~~~~~
-create-http-listener
-====================
-
-[[create-http-listener-1]][[GSRFM00030]][[create-http-listener]]
-
-create-http-listener
---------------------
-
-adds a new HTTP network listener socket
-
-[[sthref270]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-http-listener [--help] 
---listeneraddress address 
---listenerport listener-port 
-{--default-virtual-server | --defaultvs} virtual-server 
-[--servername server-name] 
-[--acceptorthreads acceptor-threads] 
-[--xpowered={true|false}] 
-[--redirectport redirect-port] 
-[--securityenabled={false|true}] 
-[--enabled={true|false}] 
-[--target target]
-listener-id
-----
-
-[[sthref271]]
-
-Description
-
-The `create-http-listener` subcommand creates an HTTP network listener.
-This subcommand is supported in remote mode only.
-
-
-[NOTE]
-=======================================================================
-
-If you edit the special HTTP network listener named `admin-listener`,
-you must restart the server for the changes to take effect. The
-Administration Console does not tell you that a restart is required in
-this case.
-
-=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is provided for backward compatibility and as a shortcut
-for creating network listeners that use the HTTP protocol. Behind the
-scenes, this subcommand creates a network listener and its associated
-protocol, transport, and HTTP configuration.
-
-=======================================================================
-
-
-[[sthref272]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--listeneraddress`::
-  The IP address or the hostname (resolvable by DNS).
-`--listenerport`::
-  The port number to create the listen socket on. Legal values are
-  1-65535. On UNIX, creating sockets that listen on ports 1-1024
-  requires superuser privileges. Configuring an SSL listen socket to
-  listen on port 443 is recommended.
-`--default-virtual-server`::
-`--defaultvs`::
-  The ID attribute of the default virtual server for this listener. The
-  `--defaultvs` option is deprecated.
-`--servername`::
-  Tells the server what to put in the host name section of any URLs it
-  sends to the client. This affects URLs the server automatically
-  generates; it doesn't affect the URLs for directories and files stored
-  in the server. This name should be the alias name if your server uses
-  an alias. If a colon and port number are appended, that port will be
-  used in URLs that the server sends to the client.
-`--acceptorthreads`::
-  The number of acceptor threads for the listener socket. The
-  recommended value is the number of processors in the machine. The
-  default value is 1.
-`--xpowered`::
-  If set to `true`, adds the `X-Powered-By: Servlet/3.0` and
-  `X-Powered-By: JSP/2.0` headers to the appropriate responses. The
-  Servlet 3.0 specification defines the `X-Powered-By: Servlet/3.0`
-  header, which containers may add to servlet-generated responses.
-  Similarly, the JSP 2.0 specification defines the
-  `X-Powered-By: JSP/2.0` header, which containers may add to responses
-  that use JSP technology. The goal of these headers is to aid in
-  gathering statistical data about the use of Servlet and JSP
-  technology. The default value is `true`.
-`--redirectport`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--securityenabled`::
-  If set to true, the HTTP listener runs SSL. You can turn SSL2 or SSL3
-  ON or OFF and set ciphers using an SSL element. The security setting
-  globally enables or disables SSL by making certificates available to
-  the server instance. The default value is `false`.
-`--enabled`::
-  If set to true, the listener is enabled at runtime. The default value
-  is `true`.
-`--target`::
-  Creates the HTTP listener only on the specified target. Valid values
-  are as follows: +
-  `server`;;
-    Creates the HTTP listener on the default server instance. This is
-    the default value.
-  configuration-name;;
-    Creates the HTTP listener in the specified configuration.
-  cluster-name;;
-    Creates the HTTP listener on all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Creates the HTTP listener on the specified standalone server
-    instance.
-
-[[sthref273]]
-
-Operands
-
-listener-id::
-  The listener ID of the HTTP network listener.
-
-[[sthref274]]
-
-Examples
-
-[[GSRFM484]][[sthref275]]
-
-Example 1   Creating an HTTP Network Listener
-
-The following command creates an HTTP network listener named
-`sampleListener` that uses a nondefault number of acceptor threads and
-is not enabled at runtime:
-
-[source,oac_no_warn]
-----
-asadmin> create-http-listener --listeneraddress 0.0.0.0 --listenerport 7272 
---defaultvs server --servername host1.sun.com --acceptorthreads 100 
---securityenabled=false --enabled=false sampleListener
-Command create-http-listener executed successfully.
-----
-
-[[sthref276]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref277]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-ssl.html#create-ssl-1[`create-ssl`(1)],
-link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
-link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
-link:delete-http-listener.html#delete-http-listener-1[`delete-http-listener`(1)],
-link:list-http-listeners.html#list-http-listeners-1[`list-http-listeners`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-http-redirect.adoc b/docs/reference-manual/src/main/jbake/content/create-http-redirect.adoc
deleted file mode 100644
index 8606db0..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-http-redirect.adoc
+++ /dev/null
@@ -1,94 +0,0 @@
-type=page
-status=published
-title=create-http-redirect
-next=create-iiop-listener.html
-prev=create-http-listener.html
-~~~~~~
-create-http-redirect
-====================
-
-[[create-http-redirect-1]][[GSRFM00031]][[create-http-redirect]]
-
-create-http-redirect
---------------------
-
-adds a new HTTP redirect
-
-[[sthref278]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-http-redirect [--help]
-[--redirect-port redirect-port] 
-[--secure-redirect={false|true}] 
-[--target target]
-protocol-name
-----
-
-[[sthref279]]
-
-Description
-
-The `create-http-redirect` subcommand creates an HTTP redirect. This
-subcommand is supported in remote mode only.
-
-[[sthref280]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--redirect-port`::
-  Port number for redirects. If the HTTP listener is supporting non-SSL
-  requests, and a request is received for which a matching
-  security-constraint requires SSL transport, \{product---name}
-  automatically redirects the request to this port number.
-`--secure-redirect`::
-  If set to true, the HTTP redirect runs SSL. The default value is
-  `false`.
-`--target`::
-  Creates the HTTP redirect only on the specified target. Valid values
-  are as follows: +
-  `server`;;
-    Creates the HTTP redirect on the default server instance. This is
-    the default value.
-  configuration-name;;
-    Creates the HTTP redirect in the specified configuration.
-  cluster-name;;
-    Creates the HTTP redirect on all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Creates the HTTP redirect on the specified standalone server
-    instance.
-
-[[sthref281]]
-
-Operands
-
-protocol-name::
-  The name of the protocol to which to apply the redirect.
-
-[[sthref282]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref283]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-http-redirect.html#delete-http-redirect-1[`delete-http-redirect`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-http.adoc b/docs/reference-manual/src/main/jbake/content/create-http.adoc
deleted file mode 100644
index 4f1ce3b..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-http.adoc
+++ /dev/null
@@ -1,136 +0,0 @@
-type=page
-status=published
-title=create-http
-next=create-http-health-checker.html
-prev=create-file-user.html
-~~~~~~
-create-http
-===========
-
-[[create-http-1]][[GSRFM00025]][[create-http]]
-
-create-http
------------
-
-sets HTTP parameters for a protocol
-
-[[sthref227]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-http [--help]
---default-virtual-server virtual-server 
-[--request-timeout-seconds timeout] 
-[--timeout-seconds timeout] 
-[--max-connection max-keepalive] 
-[--dns-lookup-enabled={false|true}] 
-[--servername server-name]
-[--target target]
-protocol-name
-----
-
-[[sthref228]]
-
-Description
-
-The `create-http` subcommand creates a set of HTTP parameters for a
-protocol, which in turn configures one or more network listeners. This
-subcommand is supported in remote mode only.
-
-[[sthref229]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--default-virtual-server`::
-  The ID attribute of the default virtual server for the associated
-  network listeners.
-`--request-timeout-seconds`::
-  The time in seconds at which the request times out. If you do not set
-  this option, the request times out in 30 seconds.
-`--timeout-seconds`::
-  The maximum time in seconds for which a keep alive connection is kept
-  open. A value of `0` or less means keep alive connections are kept
-  open indefinitely. The default is `30`.
-`--max-connection`::
-  The maximum number of HTTP requests that can be pipelined until the
-  connection is closed by the server. Set this property to `1` to
-  disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and
-  pipelining. The default is `256`.
-`--dns-lookup-enabled`::
-  If set to `true`, looks up the DNS entry for the client. The default
-  is `false`.
-`--servername`::
-  Tells the server what to put in the host name section of any URLs it
-  sends to the client. This affects URLs the server automatically
-  generates; it doesn't affect the URLs for directories and files stored
-  in the server. This name should be the alias name if your server uses
-  an alias. If a colon and port number are appended, that port will be
-  used in URLs that the server sends to the client.
-`--target`::
-  Creates the set of HTTP parameters only on the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Creates the set of HTTP parameters on the default server instance.
-    This is the default value.
-  configuration-name;;
-    Creates the set of HTTP parameters in the specified configuration.
-  cluster-name;;
-    Creates the set of HTTP parameters on all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Creates the set of HTTP parameters on the specified standalone
-    server instance.
-
-[[sthref230]]
-
-Operands
-
-protocol-name::
-  The name of the protocol to which this HTTP parameter set applies.
-
-[[sthref231]]
-
-Examples
-
-[[GSRFM476]][[sthref232]]
-
-Example 1   Using the `create-http` Subcommand
-
-The following command creates an HTTP parameter set for the protocol
-named `http-1`:
-
-[source,oac_no_warn]
-----
-asadmin> create-http --timeout-seconds 60 --default-virtual-server server http-1
-Command create-http executed successfully.
-----
-
-[[sthref233]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref234]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
-link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
-link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
-link:delete-http.html#delete-http-1[`delete-http`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-iiop-listener.adoc b/docs/reference-manual/src/main/jbake/content/create-iiop-listener.adoc
deleted file mode 100644
index 984f27f..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-iiop-listener.adoc
+++ /dev/null
@@ -1,132 +0,0 @@
-type=page
-status=published
-title=create-iiop-listener
-next=create-instance.html
-prev=create-http-redirect.html
-~~~~~~
-create-iiop-listener
-====================
-
-[[create-iiop-listener-1]][[GSRFM00032]][[create-iiop-listener]]
-
-create-iiop-listener
---------------------
-
-adds an IIOP listener
-
-[[sthref284]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-iiop-listener [--help] 
---listeneraddress address
-[--iiopport iiop-port-number] [--securityenabled={false|true}] [--enabled={true|false}] 
-[--property (name=value)[:name=value]*]
-[--target target] listener_id
-----
-
-[[sthref285]]
-
-Description
-
-The `create-iiop-listener` subcommand creates an IIOP listener. This
-subcommand is supported in remote mode only.
-
-[[sthref286]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--listeneraddress`::
-  Either the IP address or the hostname (resolvable by DNS).
-`--iiopport`::
-  The IIOP port number. The default value is 1072.
-`--securityenabled`::
-  If set to true, the IIOP listener runs SSL. You can turn SSL2 or SSL3
-  ON or OFF and set ciphers using an SSL element. The security setting
-  globally enables or disables SSL by making certificates available to
-  the server instance. The default value is `false`.
-`--enabled`::
-  If set to true, the IIOP listener is enabled at runtime. The default
-  value is `true`.
-`--property`::
-  Optional attribute name/value pairs for configuring the IIOP listener.
-`--target`::
-  Specifies the target for which you are creating the IIOP listener.
-  Valid values are +
-  `server`;;
-    Creates the listener for the default server instance `server` and is
-    the default value.
-  configuration_name;;
-    Creates the listener for the named configuration.
-  cluster_name;;
-    Creates the listener for every server instance in the cluster.
-  stand-alone_instance_name;;
-    Creates the listener for a particular standalone server instance.
-
-[[sthref287]]
-
-Operands
-
-listener_id::
-  A unique identifier for the IIOP listener to be created.
-
-[[sthref288]]
-
-Examples
-
-[[GSRFM485]][[sthref289]]
-
-Example 1   Creating an IIOP Listener
-
-The following command creates an IIOP listener named
-`sample_iiop_listener`:
-
-[source,oac_no_warn]
-----
-asadmin> create-iiop-listener --listeneraddress 192.168.1.100 
---iiopport 1400 sample_iiop_listener
-Command create-iiop-listener executed successfully.
-----
-
-[[GSRFM486]][[sthref290]]
-
-Example 2   Creating an IIOP Listener with a Target Cluster
-
-The following command creates an IIOP listener named `iiop_listener_2`
-for the cluster `mycluster`. It uses the target option.
-
-[source,oac_no_warn]
-----
-asadmin> create-iiop-listener --listeneraddress 0.0.0.0 --iiopport 1401 
---target mycluster iiop_listener_2
-Command create-iiop-listener executed successfully.
-----
-
-[[sthref291]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref292]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-ssl.html#create-ssl-1[`create-ssl`(1)],
-link:delete-iiop-listener.html#delete-iiop-listener-1[`delete-iiop-listener`(1)],
-link:list-iiop-listeners.html#list-iiop-listeners-1[`list-iiop-listeners`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-instance.adoc b/docs/reference-manual/src/main/jbake/content/create-instance.adoc
deleted file mode 100644
index 9f9bc6a..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-instance.adoc
+++ /dev/null
@@ -1,394 +0,0 @@
-type=page
-status=published
-title=create-instance
-next=create-jacc-provider.html
-prev=create-iiop-listener.html
-~~~~~~
-create-instance
-===============
-
-[[create-instance-1]][[GSRFM00033]][[create-instance]]
-
-create-instance
----------------
-
-creates a \{product---name} instance
-
-[[sthref293]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-instance [--help] 
---node node-name 
-[--config config-name | --cluster cluster-name] 
-[--lbenabled={true|false}]
-[--portbase=port-number] [--checkports={true|false}]
-[--systemproperties (name=value)[:name=value]* ] 
-instance-name
-----
-
-[[sthref294]]
-
-Description
-
-The `create-instance` subcommand creates a \{product---name} instance.
-This subcommand requires the Distributed Component Object Model (DCOM)
-remote protocol or secure shell (SSH) to be configured on the host where
-the domain administration server (DAS) is running and on the host that
-is represented by the node where the instance is to reside.
-
-
-[NOTE]
-=======================================================================
-
-DCOM or SSH is not required if the instance is to reside on a node of
-type `CONFIG` that represents the local host. A node of type `CONFIG` is
-not enabled for remote communication over DCOM or SSH.
-
-=======================================================================
-
-
-You may run this command from any host that can contact the DAS.
-
-A \{product---name} instance is a single Virtual Machine for the Java
-platform (Java Virtual Machine or JVM machine) on a single node in which
-\{product---name} is running. A node defines the host where the
-\{product---name} instance resides. The JVM machine must be compatible
-with the Java Platform, Enterprise Edition (Java EE).
-
-A \{product---name} instance requires a reference to the following
-items:
-
-* The node that defines the host where the instance resides. The node
-must be specified in the command to create the instance.
-* The named configuration that defines the configuration of the
-instance. The configuration can be specified in the command to create
-the instance, but is not required. If no configuration is specified for
-an instance that is not joining a cluster, the subcommand creates a
-configuration for the instance. An instance that is joining a cluster
-receives its configuration from its parent cluster.
-
-Each \{product---name} instance is one of the following types of
-instance:
-
-Standalone instance::
-  A standalone instance does not share its configuration with any other
-  instances or clusters. A standalone instance is created if either of
-  the following conditions is met: +
-  * No configuration or cluster is specified in the command to create
-  the instance.
-  * A configuration that is not referenced by any other instances or
-  clusters is specified in the command to create the instance. +
-  When no configuration or cluster is specified, a copy of the
-  `default-config` configuration is created for the instance. The name
-  of this configuration is instance-name`-config`, where instance-name
-  represents the name of an unclustered server instance.
-Shared instance::
-  A shared instance shares its configuration with other instances or
-  clusters. A shared instance is created if a configuration that is
-  referenced by other instances or clusters is specified in the command
-  to create the instance.
-Clustered instance::
-  A clustered instance inherits its configuration from the cluster to
-  which the instance belongs and shares its configuration with other
-  instances in the cluster. A clustered instance is created if a cluster
-  is specified in the command to create the instance. +
-  Any instance that is not part of a cluster is considered an
-  unclustered server instance. Therefore, standalone instances and
-  shared instances are unclustered server instances.
-
-By default, this subcommand attempts to resolve possible port conflicts
-for the instance that is being created. The subcommand also assigns
-ports that are currently not in use and not already assigned to other
-instances on the same node. The subcommand assigns these ports on the
-basis of an algorithm that is internal to the subcommand. Use the
-`--systemproperties` option to resolve port conflicts for additional
-instances on the same node. System properties of an instance can be
-manipulated by using the
-link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)]
-subcommand and the
-link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)]
-subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref295]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--node`::
-  The name of the node that defines the host where the instance is to be
-  created. The node must already exist. If the instance is to be created
-  on the host where the domain administration server (DAS) is running,
-  use the predefined node `localhost-`domain.
-`--config`::
-  Specifies the named configuration that the instance references. The
-  configuration must exist and must not be named `default-config` or
-  `server-config`. Specifying the `--config` option creates a shared
-  instance. +
-  The `--config` option and the `--cluster` option are mutually
-  exclusive. If both options are omitted, a standalone instance is
-  created.
-`--cluster`::
-  Specifies the cluster from which the instance inherits its
-  configuration. Specifying the `--cluster` option creates a clustered
-  instance. +
-  The `--config` option and the `--cluster` option are mutually
-  exclusive. If both options are omitted, a standalone instance is
-  created.
-`--lbenabled`::
-  Specifies whether the instance is enabled for load balancing. Possible
-  values are as follows: +
-  `true`;;
-    The instance is enabled for load balancing (default). +
-    When an instance is enabled for load balancing, a load balancer
-    sends requests to the instance.
-  `false`;;
-    The instance is disabled for load balancing. +
-    When an instance is disabled for load balancing, a load balancer
-    does not send requests to the instance.
-`--portbase`::
-  Determines the number with which the port assignment should start. An
-  instance uses a certain number of ports that are statically assigned.
-  The portbase value determines where the assignment should start. The
-  values for the ports are calculated as follows: +
-  * Administration port: portbase + 48
-  * HTTP listener port: portbase + 80
-  * HTTPS listener port: portbase + 81
-  * JMS port: portbase + 76
-  * IIOP listener port: portbase + 37
-  * Secure IIOP listener port: portbase + 38
-  * Secure IIOP with mutual authentication port: portbase + 39
-  * JMX port: portbase + 86
-  * JPA debugger port: portbase + 9
-  * Felix shell service port for OSGi module management: portbase + 66 +
-  When the `--portbase` option is specified, the output of this
-  subcommand includes a complete list of used ports.
-`--checkports`::
-  Specifies whether to check for the availability of the administration,
-  HTTP, JMS, JMX, and IIOP ports. The default value is `true`.
-`--systemproperties`::
-  Defines system properties for the instance. These properties override
-  property definitions for port settings in the instance's
-  configuration. Predefined port settings must be overridden if, for
-  example, two clustered instances reside on the same host. In this
-  situation, port settings for one instance must be overridden because
-  both instances share the same configuration. +
-  The following properties are available: +
-  `ASADMIN_LISTENER_PORT`;;
-    This property specifies the port number of the HTTP port or HTTPS
-    port through which the DAS connects to the instance to manage the
-    instance. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `HTTP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTP requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `HTTP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `IIOP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_MUTUALAUTH_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections with client authentication. Valid values are
-    1-65535. On UNIX, creating sockets that listen on ports 1-1024
-    requires superuser privileges.
-  `JAVA_DEBUGGER_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the Java Platform Debugger Architecture (JPDA)
-    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-    debugger. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMS_PROVIDER_PORT`;;
-    This property specifies the port number for the Java Message Service
-    provider. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMX_SYSTEM_CONNECTOR_PORT`;;
-    This property specifies the port number on which the JMX connector
-    listens. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `OSGI_SHELL_TELNET_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the Apache Felix Remote Shell
-    (`http://felix.apache.org/site/apache-felix-remote-shell.html`).
-    This shell uses the Felix shell service to interact with the OSGi
-    module management subsystem. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-
-[[sthref296]]
-
-Operands
-
-instance-name::
-  The name of the instance that is being created. +
-  The name must meet the following requirements: +
-  * The name may contain only ASCII characters.
-  * The name must start with a letter, a number, or an underscore.
-  * The name may contain only the following characters:
-  ** Lowercase letters
-  ** Uppercase letters
-  ** Numbers
-  ** Hyphen
-  ** Period
-  ** Underscore
-  * The name must be unique in the domain and must not be the name of
-  another \{product---name} instance, a cluster, a named configuration,
-  or a node.
-  * The name must not be `domain`, `server`, or any other keyword that
-  is reserved by \{product---name}.
-
-[[sthref297]]
-
-Examples
-
-[[GSRFM487]][[sthref298]]
-
-Example 1   Creating a Standalone \{product---name} Instance
-
-This example creates the standalone \{product---name} instance
-`pmdsainst` in the domain `domain1` on the local host.
-
-[source,oac_no_warn]
-----
-asadmin> create-instance --node localhost-domain1 pmdsainst
-Port Assignments for server instance pmdsainst: 
-JMX_SYSTEM_CONNECTOR_PORT=28688
-JMS_PROVIDER_PORT=27678
-ASADMIN_LISTENER_PORT=24850
-HTTP_LISTENER_PORT=28082
-IIOP_LISTENER_PORT=23702
-IIOP_SSL_LISTENER_PORT=23822
-HTTP_SSL_LISTENER_PORT=28183
-IIOP_SSL_MUTUALAUTH_PORT=23922
-
-Command create-instance executed successfully.
-----
-
-[[GSRFM488]][[sthref299]]
-
-Example 2   Creating a Standalone \{product---name} Instance With Custom
-Port Assignments
-
-This example creates the standalone \{product---name} instance
-`pmdcpinst` in the domain `domain1` on the local host. Custom port
-numbers are assigned to the following ports:
-
-* HTTP listener port
-* HTTPS listener port
-* IIOP connections port
-* Secure IIOP connections port
-* Secure IIOP connections port with mutual authentication
-* JMX connector port
-
-[source,oac_no_warn]
-----
-asadmin> create-instance --node localhost-domain1
---systemproperties HTTP_LISTENER_PORT=58294:
-HTTP_SSL_LISTENER_PORT=58297:
-IIOP_LISTENER_PORT=58300:
-IIOP_SSL_LISTENER_PORT=58303:
-IIOP_SSL_MUTUALAUTH_PORT=58306:
-JMX_SYSTEM_CONNECTOR_PORT=58309 pmdcpinst
-Port Assignments for server instance pmdcpinst: 
-JMS_PROVIDER_PORT=27679
-ASADMIN_LISTENER_PORT=24851
-
-Command create-instance executed successfully.
-----
-
-[[GSRFM489]][[sthref300]]
-
-Example 3   Creating a Shared \{product---name} Instance
-
-This example creates the shared \{product---name} instance
-`pmdsharedinst1` in the domain `domain1` on the local host. The shared
-configuration of this instance is `pmdsharedconfig`.
-
-[source,oac_no_warn]
-----
-asadmin create-instance --node localhost-domain1 --config pmdsharedconfig 
-pmdsharedinst1
-Port Assignments for server instance pmdsharedinst1: 
-JMX_SYSTEM_CONNECTOR_PORT=28687
-JMS_PROVIDER_PORT=27677
-ASADMIN_LISTENER_PORT=24849
-HTTP_LISTENER_PORT=28081
-IIOP_LISTENER_PORT=23701
-IIOP_SSL_LISTENER_PORT=23821
-HTTP_SSL_LISTENER_PORT=28182
-IIOP_SSL_MUTUALAUTH_PORT=23921
-
-Command create-instance executed successfully.
-----
-
-[[GSRFM490]][[sthref301]]
-
-Example 4   Creating a Clustered \{product---name} Instance
-
-This example creates the clustered \{product---name} instance `pmdinst1`
-in the domain `domain1` on the local host. The instance is a member of
-the cluster `pmdclust1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-instance --node localhost-domain1 --cluster pmdclust pmdinst1
-Port Assignments for server instance pmdinst1: 
-JMX_SYSTEM_CONNECTOR_PORT=28686
-JMS_PROVIDER_PORT=27676
-HTTP_LISTENER_PORT=28080
-ASADMIN_LISTENER_PORT=24848
-IIOP_SSL_LISTENER_PORT=23820
-IIOP_LISTENER_PORT=23700
-HTTP_SSL_LISTENER_PORT=28181
-IIOP_SSL_MUTUALAUTH_PORT=23920
-
-Command create-instance executed successfully.
-----
-
-[[sthref302]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref303]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)],
-link:list-instances.html#list-instances-1[`list-instances`(1)],
-link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jacc-provider.adoc b/docs/reference-manual/src/main/jbake/content/create-jacc-provider.adoc
deleted file mode 100644
index 44436cd..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jacc-provider.adoc
+++ /dev/null
@@ -1,151 +0,0 @@
-type=page
-status=published
-title=create-jacc-provider
-next=create-javamail-resource.html
-prev=create-instance.html
-~~~~~~
-create-jacc-provider
-====================
-
-[[create-jacc-provider-1]][[GSRFM00034]][[create-jacc-provider]]
-
-create-jacc-provider
---------------------
-
-enables administrators to create a JACC provider that can be used by
-third-party authorization modules for applications running in
-\{product---name}
-
-[[sthref304]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jacc-provider [--help]
-[--policyproviderclass pol-provider-class] 
-[--policyconfigfactoryclass pc-factory-class] 
-[--property name=value)[:name=value]*] 
-[--target target] jacc-provider-name
-----
-
-[[sthref305]]
-
-Description
-
-The `create-jacc-provider` subcommand creates a JSR-115—compliant Java
-Authorization Contract for Containers (JACC) provider that can be used
-for authorization of applications running in \{product---name}. The JACC
-provider is created as a `jacc-provider` element within the
-`security-service` element in the domain's `domain.xml` file.
-
-The default \{product---name} installation includes two JACC providers,
-named `default` and `simple`. Any JACC providers created with the
-`create-jacc-provider` subcommand are in addition to these two default
-providers. The default \{product---name} JACC providers implement a
-simple, file-based authorization engine that complies with the JACC
-specification. The `create-jacc-provider` subcommand makes it possible
-to specify additional third-party JACC providers.
-
-You can create any number of JACC providers within the
-`security-service` element, but the \{product---name} runtime uses only
-one of them at any given time. The `jacc-provider` element in the
-`security-service` element points to the name of the provider that is
-currently in use by \{product---name}. If you change this element to
-point to a different JACC provider, restart \{product---name}.
-
-This command is supported in remote mode only.
-
-[[sthref306]]
-
-Options
-
-If an option has a short option name, then the short option precedes the
-long option name. Short options have one dash whereas long options have
-two dashes.
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--policyproviderclass`::
-  Specifies the fully qualified class name for the
-  `javax.security.jacc.policy.provider` that implements the
-  `java.security.Policy`.
-`--policyconfigfactoryclass`::
-  Specifies the fully qualified class name for the
-  `javax.security.jacc.PolicyConfigurationFactory.provider` that
-  implements the provider-specific
-  `javax.security.jacc.PolicyConfigurationFactory`.
-`--property`::
-  Optional attribute name/value pairs for configuring the JACC provider.
-  The following properties are available: +
-  `repository`;;
-    The directory containing the JACC policy file. For the `default`
-    \{product---name} JACC provider, the default directory is
-    `${com.sun.aas.instanceRoot}/generated/policy`. This property is not
-    defined by default for the `simple` \{product---name} JACC provider.
-`--target`::
-  Specifies the target for which you are creating the JACC provider. The
-  following values are valid: +
-  `server`;;
-    Creates the JACC provider on the default server instance. This is
-    the default value.
-  configuration_name;;
-    Creates the JACC provider in the specified configuration.
-  cluster_name;;
-    Creates the JACC provider on all server instances in the specified
-    cluster.
-  instance_name;;
-    Creates the JACC provider on a specified server instance.
-
-[[sthref307]]
-
-Operands
-
-jacc-provider-name::
-  The name of the provider used to reference the `jacc-provider` element
-  in `domain.xml`.
-
-[[sthref308]]
-
-Examples
-
-[[GSRFM491]][[sthref309]]
-
-Example 1   Creating a JACC Provider
-
-The following example shows how to create a JACC provider named
-`testJACC` on the default `server` target.
-
-[source,oac_no_warn]
-----
-asadmin> create-jacc-provider
---policyproviderclass org.glassfish.exousia.modules.locked.SimplePolicyProvider
---policyconfigfactoryclass org.glassfish.exousia.modules.locked.SimplePolicyConfigurationFactory
-testJACC
-
-Command create-jacc-provider executed successfully.
-----
-
-[[sthref310]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref311]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-jacc-provider.html#delete-jacc-provider-1[`delete-jacc-provider`(1)],
-link:list-jacc-providers.html#list-jacc-providers-1[`list-jacc-providers`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-javamail-resource.adoc b/docs/reference-manual/src/main/jbake/content/create-javamail-resource.adoc
deleted file mode 100644
index 50792cc..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-javamail-resource.adoc
+++ /dev/null
@@ -1,154 +0,0 @@
-type=page
-status=published
-title=create-javamail-resource
-next=create-jdbc-connection-pool.html
-prev=create-jacc-provider.html
-~~~~~~
-create-javamail-resource
-========================
-
-[[create-javamail-resource-1]][[GSRFM00035]][[create-javamail-resource]]
-
-create-javamail-resource
-------------------------
-
-creates a JavaMail session resource
-
-[[sthref312]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-javamail-resource [--help] 
-[--target target] --mailhost hostname
---mailuser username --fromaddress address [--storeprotocol storeprotocol]
-[--storeprotocolclass storeprotocolclass] [--transprotocol transprotocol]
-[--transprotocolclass transprotocolclass] [--debug={false|true}] [--enabled={true|false}]
-[--description resource-description] [--property (name=value)[:name=value]*] jndi-name
-----
-
-[[sthref313]]
-
-Description
-
-The `create-javamail-resource` subcommand creates a JavaMail session
-resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref314]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target for which you are creating the
-  JavaMail session resource. Valid values are: +
-  `server`;;
-    Creates the resource for the default server instance. This is the
-    default value.
-  `domain`;;
-    Creates the resource for the domain.
-  cluster_name;;
-    Creates the resource for every server instance in the cluster.
-  instance_name;;
-    Creates the resource for a particular server instance.
-`--mailhost`::
-  The DNS name of the default mail server. The connect methods of the
-  Store and Transport objects use this value if a protocol-specific host
-  property is not supplied. The name must be resolvable to an actual
-  host name.
-`--mailuser`::
-  The name of the mail account user provided when connecting to a mail
-  server. The connect methods of the Store and Transport objects use
-  this value if a protocol-specific username property is not supplied.
-`--fromaddress`::
-  The email address of the default user, in the form
-  username`@`host`.`domain.
-`--storeprotocol`::
-  The mail server store protocol. The default is `imap`. Change this
-  value only if you have reconfigured the \{product---name}'s mail
-  provider to use a non-default store protocol.
-`--storeprotocolclass`::
-  The mail server store protocol class name. The default is
-  `com.sun.mail.imap.IMAPStore`. Change this value only if you have
-  reconfigured the \{product---name}'s mail provider to use a nondefault
-  store protocol.
-`--transprotocol`::
-  The mail server transport protocol. The default is `smtp`. Change this
-  value only if you have reconfigured the \{product---name}'s mail
-  provider to use a nondefault transport protocol.
-`--transprotocolclass`::
-  The mail server transport protocol class name. The default is
-  `com.sun.mail.smtp.SMTPTransport`. Change this value only if you have
-  reconfigured the \{product---name}'s mail provider to use a nondefault
-  transport protocol.
-`--debug`::
-  If set to true, the server starts up in debug mode for this resource.
-  If the JavaMail log level is set to `FINE` or `FINER`, the debugging
-  output will be generated and will be included in the server log file.
-  The default value is false.
-`--enabled`::
-  If set to true, the resource is enabled at runtime. The default value
-  is true.
-`--description`::
-  Text providing some details of the JavaMail resource.
-`--property`::
-  Optional attribute name/value pairs for configuring the JavaMail
-  resource. The \{product---name}-specific `mail-` prefix is converted
-  to the standard mail prefix. The JavaMail API documentation lists the
-  properties you might want to set.
-
-[[sthref315]]
-
-Operands
-
-jndi-name::
-  The JNDI name of the JavaMail resource to be created. It is a
-  recommended practice to use the naming subcontext prefix `mail/` for
-  JavaMail resources.
-
-[[sthref316]]
-
-Examples
-
-[[GSRFM492]][[sthref317]]
-
-Example 1   Creating a JavaMail Resource
-
-This example creates a JavaMail resource named `mail/MyMailSession`. The
-JNDI name for a JavaMail session resource customarily includes the
-`mail/` naming subcontext.
-
-[source,oac_no_warn]
-----
-asadmin> create-javamail-resource --mailhost localhost 
---mailuser sample --fromaddress sample@sun.com mail/MyMailSession
-Command create-javamail-resource executed successfully.
-----
-
-[[sthref318]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref319]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-javamail-resource.html#delete-javamail-resource-1[`delete-javamail-resource`(1)],
-link:list-javamail-resources.html#list-javamail-resources-1[`list-javamail-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jdbc-connection-pool.adoc b/docs/reference-manual/src/main/jbake/content/create-jdbc-connection-pool.adoc
deleted file mode 100644
index 91f4b4d..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jdbc-connection-pool.adoc
+++ /dev/null
@@ -1,493 +0,0 @@
-type=page
-status=published
-title=create-jdbc-connection-pool
-next=create-jdbc-resource.html
-prev=create-javamail-resource.html
-~~~~~~
-create-jdbc-connection-pool
-===========================
-
-[[create-jdbc-connection-pool-1]][[GSRFM00036]][[create-jdbc-connection-pool]]
-
-create-jdbc-connection-pool
----------------------------
-
-registers a JDBC connection pool
-
-[[sthref320]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jdbc-connection-pool [--help]
-[--datasourceclassname=datasourceclassname]
-[--restype=resourcetype]
-[--steadypoolsize=poolsize]
-[--maxpoolsize=maxpoolsize]
-[--maxwait=maxwaittime]
-[--poolresize=poolresizelimit]
-[--idletimeout=idletimeout]
-[--initsql=initsqlstring]
-[--isolationlevel=isolationlevel]
-[--isisolationguaranteed={true|false}]
-[--isconnectvalidatereq={false|true}]
-[--validationmethod=validationmethod]
-[--validationtable=validationtable]
-[--failconnection={false|true}]
-[--allownoncomponentcallers={false|true}]
-[--nontransactionalconnections={false|true}]
-[--validateatmostonceperiod=validationinterval]
-[--leaktimeout=leaktimeout]
-[--leakreclaim={false|true}]
-[--statementleaktimeout=satementleaktimeout]
-[--statmentleakreclaim={false|true}]
-[--creationretryattempts=creationretryattempts]
-[--creationretryinterval=creationretryinterval]
-[--sqltracelisteners=sqltracelisteners[,sqltracelisteners]]
-[--statementtimeout=statementtimeout]
-[--lazyconnectionenlistment={false|true}]
-[--lazyconnectionassociation={false|true}]
-[--associatewiththread={false|true}]
-[--driverclassname=jdbcdriverclassname]
-[--matchconnections={false|true}]
-[--maxconnectionusagecount=maxconnectionusagecount]
-[--ping={false|true}]
-[--pooling={false|true}]
-[--statementcachesize=statementcachesize]
-[--validationclassname=validationclassname]
-[--wrapjdbcobjects={false|true}]
-[--description description]
-[--property name=value)[:name=value]*]
-[--target=target]
-connectionpoolid
-----
-
-[[sthref321]]
-
-Description
-
-The `create-jdbc-connection-pool` subcommand registers a new Java
-Database Connectivity ("JDBC") software connection pool with the
-specified JDBC connection pool name.
-
-A JDBC connection pool with authentication can be created either by
-using a `--property` option to specify user, password, or other
-connection information, or by specifying the connection information in
-the XML descriptor file.
-
-This subcommand is supported in remote mode only.
-
-[[sthref322]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--datasourceclassname`::
-  The name of the vendor-supplied JDBC datasource resource manager. An
-  XA or global transactions capable datasource class will implement the
-  `javax.sql.XADatasource` interface. Non-XA or exclusively local
-  transaction datasources will implement the `javax.sql.Datasource`
-  interface.
-`--restype` +
-Required when a datasource class implements two or more interfaces
-(`javax.sql.DataSource`, `javax.sql.XADataSource`, or
-`javax.sql.ConnectionPoolDataSource`), or when a driver classname must
-be provided.::
-  * If `--restype` = `java.sql.Driver`, then the `--driverclassname`
-  option is required.
-  * If `--restype` = `javax.sql.DataSource`, `javax.sql.XADataSource`,
-  or `javax.sql.ConnectionPoolDataSource`, then the
-  `--datasourceclassname` option is required.
-  * If `--restype` is not specified, then either the `--driverclassname`
-  or `--datasourceclassname` option must be specified, but not both.
-`--steadypoolsize`::
-  The minimum and initial number of connections maintained in the pool.
-  The default value is 8.
-`--maxpoolsize`::
-  The maximum number of connections that can be created. The default
-  value is 32.
-`--maxwait`::
-  The amount of time, in milliseconds, that a caller will wait before a
-  connection timeout is sent. The default is 60000 (60 seconds). A value
-  of 0 forces the caller to wait indefinitely.
-`--poolresize`::
-  Number of connections to be removed when `idle-timeout-in-seconds`
-  timer expires. This is the quantity by which the pool will scale up or
-  scale down the number of connections. Scale up: When the pool has no
-  free connections, pool will scale up by this quantity. Scale down: All
-  the invalid and idle connections are removed, sometimes resulting in
-  removing connections of quantity greater than this value. Connections
-  that have been idle for longer than the timeout are candidates for
-  removal. Steadypoolsize will be ensured. Possible values are from 0 to
-  `MAX_INTEGER`. The default value is 2.
-`--idletimeout`::
-  The maximum time, in seconds, that a connection can remain idle in the
-  pool. After this time, the implementation can close this connection.
-  This timeout value must be kept shorter than the database server side
-  timeout value to prevent the accumulation of unusable connections in
-  the application. The default value is 300.
-`--initsql`::
-  An SQL string that is executed whenever a connection is created from
-  the pool. If an existing connection is reused, this string is not
-  executed. Connections that have idled for longer than the timeout are
-  candidates for removal. This option has no default value.
-`--isolationlevel`::
-  The transaction-isolation-level on the pooled database connections.
-  This option does not have a default value. If not specified, the pool
-  operates with the default isolation level that the JDBC driver
-  provides. You can set a desired isolation level using one of the
-  standard transaction isolation levels: `read-uncommitted`,
-  `read-committed`, `repeatable-read`, `serializable`. Applications that
-  change the isolation level on a pooled connection programmatically
-  risk polluting the pool. This could lead to program errors.
-`--isisolationguaranteed`::
-  This is applicable only when a particular isolation level is specified
-  for transaction-isolation-level. The default value is true. +
-  This option assures that every time a connection is obtained from the
-  pool, isolation level is set to the desired value. This could have
-  some performance impact on some JDBC drivers. Administrators can set
-  this to false when the application does not change `--isolationlevel`
-  before returning the connection.
-`--isconnectvalidatereq`::
-  If set to true, connections are validated or checked to see if they
-  are usable before giving out to the application. The default value is
-  false.
-`--validationmethod`::
-  Type of validation to be performed when
-  `is-connection-validation-required` is true. Valid settings are:
-  `auto-commit`, `meta-data`, `table`, or `custom-validation`. The
-  default value is `table`.
-`--validationtable`::
-  The name of the validation table used to perform a query to validate a
-  connection. If `is-connection-validation-required` is set to true and
-  connection-validation-type set to table, this option is mandatory.
-`--failconnection`::
-  If set to true, all connections in the pool must be closed when a
-  single validation check fails. The default value is false. One attempt
-  is made to reestablish failed connections.
-`--allownoncomponentcallers`::
-  A pool with this property set to true can be used by non-Java EE
-  components, that is, components other than EJBs or Servlets. The
-  returned connection is enlisted automatically with the transaction
-  context obtained from the transaction manager. Connections obtained by
-  non-component callers are not automatically cleaned by the container
-  at the end of a transaction. These connections need to be explicitly
-  closed by the caller.
-`--nontransactionalconnections`::
-  A pool with this property set to true returns non-transactional
-  connections. This connection does not get automatically enlisted with
-  the transaction manager.
-`--validateatmostonceperiod`::
-  Specifies the time interval in seconds between successive requests to
-  validate a connection at most once. Setting this attribute to an
-  appropriate value minimizes the number of validation requests by a
-  connection. Default value is 0, which means that the attribute is not
-  enabled.
-`--leaktimeout`::
-  Specifies the amount of time, in seconds, for which connection leaks
-  in a connection pool are to be traced. When a connection is not
-  returned to the pool by the application within the specified period,
-  it is assumed to be a potential leak, and stack trace of the caller
-  will be logged. This option only detects if there is a connection
-  leak. The connection can be reclaimed only if
-  `connection-leak-reclaim` is set to true. +
-  If connection leak tracing is enabled, you can use the Administration
-  Console to enable monitoring of the JDBC connection pool to get
-  statistics on the number of connection leaks. The default value is 0,
-  which disables connection leak tracing.
-`--leakreclaim`::
-  Specifies whether leaked connections are restored to the connection
-  pool after leak connection tracing is complete. Possible values are as
-  follows: +
-  `false`;;
-    Leaked connections are not restored to the connection pool
-    (default).
-  `true`;;
-    Leaked connections are restored to the connection pool.
-`--statementleaktimeout`::
-  Specifies the amount of time, in seconds, after which any statements
-  that have not been closed by an application are to be detected.
-  Applications can run out of cursors if statement objects are not
-  properly closed. This option only detects if there is a statement
-  leak. The statement can be reclaimed only if `statement-leak-reclaim`
-  is set to true. The leaked statement is closed when it is reclaimed. +
-  The stack trace of the caller that creates the statement will be
-  logged when a statement leak is detected. If statement leak tracing is
-  enabled, you can use the Administration Console to enable monitoring
-  of the JDBC connection pool to get statistics on the number of
-  statement leaks. The default value is 0, which disables statement leak
-  tracing. +
-  The following limitations apply to the statement leak timeout value: +
-  * The value must be less than the value set for the connection
-  `leak-timeout`.
-  * The value must be greater than the value set for
-  `statement-timeout`.
-`--statementleakreclaim`::
-  Specifies whether leaked statements are reclaimed after the statements
-  leak. Possible values are as follows: +
-  `false`;;
-    Leaked statements are not reclaimed (default).
-  `true`;;
-    Leaked statements are reclaimed.
-`--creationretryattempts`::
-  Specifies the maximum number of times that \{product---name} retries
-  to create a connection if the initial attempt fails. The default value
-  is 0, which specifies that \{product---name} does not retry to create
-  the connection.
-`--creationretryinterval`::
-  Specifies the interval, in seconds, between successive attempts to
-  create a connection. +
-  If `--creationretryattempts` is 0, the `--creationretryinterval`
-  option is ignored. The default value is 10.
-`--sqltracelisteners`::
-  A list of one or more custom modules that provide custom logging of
-  database activities. Each module must implement the
-  `org.glassfish.api.jdbc.SQLTraceListener` public interface. When set
-  to an appropriate value, SQL statements executed by applications are
-  traced. This option has no default value.
-`--statementtimeout`::
-  Specifies the length of time in seconds after which a query that is
-  not completed is terminated. +
-  A query that remains incomplete for a long period of time might cause
-  the application that submitted the query to hang. To prevent this
-  occurrence, use this option set a timeout for all statements that will
-  be created from the connection pool that you are creating. When
-  creating a statement, \{product---name} sets the `QueryTimeout`
-  property on the statement to the length of time that is specified. The
-  default value is -1, which specifies that incomplete queries are never
-  terminated.
-`--lazyconnectionenlistment`::
-  Specifies whether a resource to a transaction is enlisted only when a
-  method actually uses the resource. Possible values are as follows: +
-  `false`;;
-    Resources to a transaction are always enlisted and not only when a
-    method actually uses the resource (default).
-  `true`;;
-    Resources to a transaction are enlisted only when a method actually
-    uses the resource.
-`--lazyconnectionassociation`::
-  Specifies whether a physical connection should be associated with the
-  logical connection only when the physical connection is used, and
-  disassociated when the transaction is completed. Such association and
-  dissociation enable the reuse of physical connections. Possible values
-  are as follows: +
-  `false`;;
-    A physical connection is associated with the logical connection even
-    before the physical connection is used, and is not disassociated
-    when the transaction is completed (default).
-  `true`;;
-    A physical connection is associated with the logical connection only
-    when the physical connection is used, and disassociated when the
-    transaction is completed. The `--lazyconnectionenlistment` option
-    must also be set to `true`.
-`--associatewiththread`::
-  Specifies whether a connection is associated with the thread to enable
-  the thread to reuse the connection. If a connection is not associated
-  with the thread, the thread must obtain a connection from the pool
-  each time that the thread requires a connection. Possible values are
-  as follows: +
-  `false`;;
-    A connection is not associated with the thread (default).
-  `true`;;
-    A connection is associated with the thread.
-`--driverclassname`::
-  The name of the vendor-supplied JDBC driver class. This driver should
-  implement the `java.sql.Driver` interface.
-`--matchconnections`::
-  Specifies whether a connection that is selected from the pool should
-  be matched by the resource adaptor. If all the connections in the pool
-  are homogenous, a connection picked from the pool need not be matched
-  by the resource adapter, which means that this option can be set to
-  false. Possible values are as follows: +
-  `false`;;
-    A connection should not be matched by the resource adaptor
-    (default).
-  `true`;;
-    A connection should be matched by the resource adaptor.
-`--maxconnectionusagecount`::
-  Specifies the maximum number of times that a connection can be reused.
-  When this limit is reached, the connection is closed. By limiting the
-  maximum number of times that a connection can be reused, you can avoid
-  statement leaks. +
-  The default value is 0, which specifies no limit on the number of
-  times that a connection can be reused.
-`--ping`::
-  Specifies if the pool is pinged during pool creation or
-  reconfiguration to identify and warn of any erroneous values for its
-  attributes. Default value is false.
-`--pooling`::
-  Specifies if connection pooling is enabled for the pool. The default
-  value is true.
-`--statementcachesize`::
-  The number of SQL statements to be cached using the default caching
-  mechanism (Least Recently Used). The default value is 0, which
-  indicates that statement caching is not enabled.
-`--validationclassname`::
-  The name of the class that provides custom validation when the value
-  of `validationmethod` is `custom-validation`. This class must
-  implement the `org.glassfish.api.jdbc.ConnectionValidation` interface,
-  and it must be accessible to \{product---name}. This option is
-  mandatory if the connection validation type is set to custom
-  validation.
-`--wrapjdbcobjects`::
-  Specifies whether the pooling infrastructure provides wrapped JDBC
-  objects to applications. By providing wrapped JDBC objects, the
-  pooling infrastructure prevents connection leaks by ensuring that
-  applications use logical connections from the connection pool, not
-  physical connections. The use of logical connections ensures that the
-  connections are returned to the connection pool when they are closed.
-  However, the provision of wrapped JDBC objects can impair the
-  performance of applications. The default value is true. +
-  The pooling infrastructure provides wrapped objects for
-  implementations of the following interfaces in the JDBC API: +
-  * `java.sql.CallableStatement`
-  * `java.sql.DatabaseMetaData`
-  * `java.sql.PreparedStatement`
-  * `java.sql.ResultSet`
-  * `java.sql.Statement` +
-  Possible values of `--wrapjdbcobjects` are as follows: +
-  `false`;;
-    The pooling infrastructure does not provide wrapped JDBC objects to
-    applications. (default).
-  `true`;;
-    The pooling infrastructure provides wrapped JDBC objects to
-    applications.
-`--description`::
-  Text providing details about the specified JDBC connection pool.
-`--property`::
-  Optional attribute name/value pairs for configuring the pool. The
-  following properties are available: +
-  `user`;;
-    Specifies the user name for connecting to the database.
-  `password`;;
-    Specifies the password for connecting to the database.
-  `databaseName`;;
-    Specifies the database for this connection pool.
-  `serverName`;;
-    Specifies the database server for this connection pool.
-  `port`;;
-    Specifies the port on which the database server listens for
-    requests.
-  `networkProtocol`;;
-    Specifies the communication protocol.
-  `roleName`;;
-    Specifies the initial SQL role name.
-  `datasourceName`;;
-    Specifies an underlying `XADataSource`, or a
-    `ConnectionPoolDataSource` if connection pooling is done.
-  `description`;;
-    Specifies a text description.
-  `url`;;
-    Specifies the URL for this connection pool. Although this is not a
-    standard property, it is commonly used.
-  `dynamic-reconfiguration-wait-timeout-in-seconds`;;
-    Used to enable dynamic reconfiguration of the connection pool
-    transparently to the applications that are using the pool, so that
-    applications need not be re-enabled for the attribute or property
-    changes to the pool to take effect. Any in-flight transaction's
-    connection requests will be allowed to complete with the old pool
-    configuration as long as the connection requests are within the
-    timeout period, so as to complete the transaction. New connection
-    requests will wait for the pool reconfiguration to complete and
-    connections will be acquired using the modified pool configuration.
-  `LazyConnectionEnlistment`;;
-    Deprecated. Use the equivalent attribute. The default value is
-    false.
-  `LazyConnectionAssociation`;;
-    Deprecated. Use the equivalent attribute. The default value is
-    false.
-  `AssociateWithThread`;;
-    Deprecated. Use the equivalent attribute. The default value is
-    false.
-  `MatchConnections`;;
-    Deprecated. Use the equivalent attribute. The default value is true.
-  `Prefer-Validate-Over-Recreate`;;
-    Specifies whether pool resizer should validate idle connections
-    before destroying and recreating them. The default value is true.
-  `time-to-keep-queries-in-minutes`;;
-    Specifies the number of minutes that will be cached for use in
-    calculating frequently used queries. Takes effect when SQL tracing
-    and monitoring are enabled for the JDBC connection pool. The default
-    value is 5 minutes.
-  `number-of-top-queries-to-report`;;
-    Specifies the number of queries to list when reporting the top and
-    most frequently used queries. Takes effect when SQL tracing and
-    monitoring are enabled for the JDBC connection pool. The default
-    value is 10 queries. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-If an attribute name or attribute value contains a colon, the
-backslash (`\`) must be used to escape the colon in the name or value.
-Other characters might also require an escape character. For more
-information about escape characters in command options, see the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] man page.
-
-|=======================================================================
-
-`--target`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref323]]
-
-Operands
-
-connectionpoolid::
-  The name of the JDBC connection pool to be created.
-
-[[sthref324]]
-
-Examples
-
-[[GSRFM493]][[sthref325]]
-
-Example 1   Creating a JDBC Connection Pool
-
-This example creates a JDBC connection pool named `sample_derby_pool`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jdbc-connection-pool
---datasourceclassname org.apache.derby.jdbc.ClientDataSource
---restype javax.sql.XADataSource 
---property portNumber=1527:password=APP:user=APP:serverName=
-localhost:databaseName=sun-appserv-samples:connectionAttributes=\;
-create\\=true sample_derby_pool
-Command create-jdbc-connection-pool executed successfully
-----
-
-The escape character backslash (`\`) is used in the `--property` option
-to distinguish the semicolon (`;`). Two backslashes (`\\`) are used to
-distinguish the equal sign (`=`).
-
-[[sthref326]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref327]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-jdbc-connection-pool.html#delete-jdbc-connection-pool-1[`delete-jdbc-connection-pool`(1)],
-link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jdbc-resource.adoc b/docs/reference-manual/src/main/jbake/content/create-jdbc-resource.adoc
deleted file mode 100644
index 6c21293..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jdbc-resource.adoc
+++ /dev/null
@@ -1,131 +0,0 @@
-type=page
-status=published
-title=create-jdbc-resource
-next=create-jmsdest.html
-prev=create-jdbc-connection-pool.html
-~~~~~~
-create-jdbc-resource
-====================
-
-[[create-jdbc-resource-1]][[GSRFM00037]][[create-jdbc-resource]]
-
-create-jdbc-resource
---------------------
-
-creates a JDBC resource with the specified JNDI name
-
-[[sthref328]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jdbc-resource [--help]
---connectionpoolid connectionpoolid
-[--enabled={false|true}]
-[--description description]
-[--property (property=value)[:name=value]*]
-[--target target]
-jndi_name
-----
-
-[[sthref329]]
-
-Description
-
-The `create-jdbc-resource` subcommand creates a new JDBC resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref330]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--connectionpoolid`::
-  The name of the JDBC connection pool. If two or more JDBC resource
-  elements point to the same connection pool element, they use the same
-  pool connection at runtime.
-`--enabled`::
-  Determines whether the JDBC resource is enabled at runtime. The
-  default value is true.
-`--description`::
-  Text providing descriptive details about the JDBC resource.
-`--property`::
-  Optional attribute name/value pairs for configuring the resource.
-`--target`::
-  This option helps specify the target to which you are deploying. Valid
-  values are: +
-  `server`;;
-    Deploys the component to the default server instance. This is the
-    default value.
-  `domain`;;
-    Deploys the component to the domain.
-  cluster_name;;
-    Deploys the component to every server instance in the cluster.
-  instance_name;;
-    Deploys the component to a particular server instance.
-
-
-[NOTE]
-=======================================================================
-
-The resource is always created for the domain as a whole, but the
-`resource-ref` for the resource is only created for the specified
-`--target`. This means that although the resource is defined at the
-domain level, it is only available at the specified target level. Use
-the `create-resource-ref` subcommand to refer to the resource in
-multiple targets if needed.
-
-=======================================================================
-
-
-[[sthref331]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this JDBC resource.
-
-[[sthref332]]
-
-Examples
-
-[[GSRFM494]][[sthref333]]
-
-Example 1   Creating a JDBC Resource
-
-This example creates a JDBC resource named `jdbc/DerbyPool`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jdbc-resource
---connectionpoolid sample_derby_pool jdbc/DerbyPool
-Command create-jdbc-resource executed successfully.
-----
-
-[[sthref334]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref335]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
-link:delete-jdbc-resource.html#delete-jdbc-resource-1[`delete-jdbc-resource`(1)],
-link:list-jdbc-resources.html#list-jdbc-resources-1[`list-jdbc-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jms-host.adoc b/docs/reference-manual/src/main/jbake/content/create-jms-host.adoc
deleted file mode 100644
index 456501e..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jms-host.adoc
+++ /dev/null
@@ -1,120 +0,0 @@
-type=page
-status=published
-title=create-jms-host
-next=create-jms-resource.html
-prev=create-jmsdest.html
-~~~~~~
-create-jms-host
-===============
-
-[[create-jms-host-1]][[GSRFM00039]][[create-jms-host]]
-
-create-jms-host
----------------
-
-creates a JMS host
-
-[[sthref344]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jms-host [--help]
---mqhost mq-host --mqport mq-port
---mquser mq-user --mqpassword mq-password
-[--target target]
-[--force={false|true}]
-jms_host_name
-----
-
-[[sthref345]]
-
-Description
-
-Creates a Java Message Service (JMS) host within the JMS service.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref346]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--mqhost`::
-  The host name for the JMS service.
-`--mqport`::
-  The port number used by the JMS service.
-`--mquser`::
-  The user name for the JMS service.
-`--mqpassword`::
-  The password for the JMS service.
-`--target`::
-  Creates the JMS host only for the specified target. Valid values are
-  as follows: +
-  `server`;;
-    Creates the JMS host for the default server instance. This is the
-    default value.
-  configuration-name;;
-    Creates the JMS host in the specified configuration.
-  cluster-name;;
-    Creates the JMS host for every server instance in the specified
-    cluster.
-  instance-name;;
-    Creates the JMS host for the specified server instance.
-`--force`::
-  Specifies whether the subcommand overwrites the existing JMS host of
-  the same name. The default value is `false`.
-
-[[sthref347]]
-
-Operands
-
-jms_host_name::
-  A unique identifier for the JMS host to be created.
-
-[[sthref348]]
-
-Examples
-
-[[GSRFM496]][[sthref349]]
-
-Example 1   Creating a JMS host using a non-default port
-
-The following command creates a JMS host named `MyNewHost` on the system
-`pigeon`.
-
-[source,oac_no_warn]
-----
-asadmin> create-jms-host --mqhost pigeon.example.com --mqport 7677 
---mquser admin --mqpassword admin MyNewHost
-Jms Host MyNewHost created.
-Command create-jms-host executed successfully.
-----
-
-[[sthref350]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref351]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-jms-host.html#delete-jms-host-1[`delete-jms-host`(1)],
-link:jms-ping.html#jms-ping-1[`jms-ping`(1)],
-link:list-jms-hosts.html#list-jms-hosts-1[`list-jms-hosts`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jms-resource.adoc b/docs/reference-manual/src/main/jbake/content/create-jms-resource.adoc
deleted file mode 100644
index 39ed67e..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jms-resource.adoc
+++ /dev/null
@@ -1,230 +0,0 @@
-type=page
-status=published
-title=create-jms-resource
-next=create-jndi-resource.html
-prev=create-jms-host.html
-~~~~~~
-create-jms-resource
-===================
-
-[[create-jms-resource-1]][[GSRFM00040]][[create-jms-resource]]
-
-create-jms-resource
--------------------
-
-creates a JMS resource
-
-[[sthref352]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jms-resource [--help]
---restype type
-[--target target]
-[--enabled={true|false}]
-[--description text]
-[--property (name=value)[:name=value]*]
-[--force={false|true}]
-jndi_name
-----
-
-[[sthref353]]
-
-Description
-
-The `create-jms-resource` subcommand creates a Java Message Service
-(JMS) connection factory resource or a JMS destination resource.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref354]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--restype`::
-  The JMS resource type, which can be `jakarta.jms.Topic`,
-  `jakarta.jms.Queue`, `jakarta.jms.ConnectionFactory`,
-  `jakarta.jms.TopicConnectionFactory`, or
-  `jakarta.jms.QueueConnectionFactory`.
-`--target`::
-  Creates the JMS resource only for the specified target. Valid values
-  are as follows: +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-The resource is always created for the domain as a whole, but the
-`<resource-ref>` element for the resource is only created for the
-specified `--target`. This means that although the resource is defined
-at the domain level, it is only active at the specified `--target`.
-
-|=======================================================================
-
-  `server`;;
-    Creates the JMS resource for the default server instance. This is
-    the default value.
-  `domain`;;
-    Creates the JMS resource for the domain.
-  cluster-name;;
-    Creates the JMS resource for every server instance in the specified
-    cluster.
-  instance-name;;
-    Creates the JMS resource for the specified server instance.
-`--enabled`::
-  If set to true (the default), the resource is enabled at runtime.
-`--description`::
-  Text providing details about the JMS resource.
-`--property`::
-  Optional attribute name/value pairs for configuring the JMS resource. +
-  You can specify the following properties for a connection factory
-  resource: +
-  `ClientId`;;
-    A client ID for a connection factory that will be used by a durable
-    subscriber.
-  `AddressList`;;
-    A comma-separated list of message queue addresses that specify the
-    host names (and, optionally, port numbers) of a message broker
-    instance or instances with which your application will communicate.
-    For example, the value could be `earth` or `earth:7677`. Specify the
-    port number if the message broker is running on a port other than
-    the default (7676). The default value is an address list composed
-    from the JMS hosts defined in the server's JMS service
-    configuration. The default value is `localhost` and the default port
-    number is 7676. The client will attempt a connection to a broker on
-    port 7676 of the local host.
-  `UserName`;;
-    The user name for the connection factory. The default value is
-    `guest`.
-  `Password`;;
-    The password for the connection factory. The default value is
-    `guest`.
-  `ReconnectEnabled`;;
-    A value of `true` indicates that the client runtime attempts to
-    reconnect to a message server (or the list of addresses in the
-    `AddressList`) when a connection is lost. The default value is
-    `false`.
-  `ReconnectAttempts`;;
-    The number of attempts to connect (or reconnect) for each address in
-    the `AddressList` before the client runtime tries the next address
-    in the list. A value of -1 indicates that the number of reconnect
-    attempts is unlimited (the client runtime attempts to connect to the
-    first address until it succeeds). The default value is 6.
-  `ReconnectInterval`;;
-    The interval in milliseconds between reconnect attempts. This
-    applies to attempts on each address in the `AddressList` and for
-    successive addresses in the list. If the interval is too short, the
-    broker does not have time to recover. If it is too long, the
-    reconnect might represent an unacceptable delay. The default value
-    is 30,000 milliseconds.
-  `AddressListBehavior`;;
-    Specifies whether connection attempts are in the order of addresses
-    in the `AddressList` (`PRIORITY`) or in a random order (`RANDOM`).
-    `PRIORITY` means that the reconnect will always try to connect to
-    the first server address in the `AddressList` and will use another
-    one only if the first broker is not available. If you have many
-    clients attempting a connection using the same connection factory,
-    specify `RANDOM` to prevent them from all being connected to the
-    same address. The default value is the `AddressListBehavior` value
-    of the server's JMS service configuration.
-  `AddressListIterations`;;
-    The number of times the client runtime iterates through the
-    `AddressList` in an effort to establish (or re-establish) a
-    connection). A value of -1 indicates that the number of attempts is
-    unlimited. The default value is -1. +
-  Additionally, you can specify `connector-connection-pool` attributes
-  as connector resource properties. For a list of these attributes, see
-  "link:../application-deployment-guide/dd-elements.html#GSDPG00124[connector-connection-pool]" in GlassFish Server Open
-  Source Edition Application Deployment Guide. +
-  You can specify the following properties for a destination resource: +
-  `Name`;;
-    The name of the physical destination to which the resource will
-    refer. The physical destination is created automatically when you
-    run an application that uses the destination resource. You can also
-    create a physical destination with the `create-jmsdest` subcommand.
-    If you do not specify this property, the JMS service creates a
-    physical destination with the same name as the destination resource
-    (replacing any forward slash in the JNDI name with an underscore).
-  `Description`;;
-    A description of the physical destination.
-`--force`::
-  Specifies whether the subcommand overwrites the existing JMS resource
-  of the same name. The default value is `false`.
-
-[[sthref355]]
-
-Operands
-
-jndi_name::
-  The JNDI name of the JMS resource to be created.
-
-[[sthref356]]
-
-Examples
-
-[[GSRFM497]][[sthref357]]
-
-Example 1   Creating a JMS connection factory resource for durable
-subscriptions
-
-The following subcommand creates a connection factory resource of type
-`jakarta.jms.ConnectionFactory` whose JNDI name is
-`jms/DurableConnectionFactory`. The `ClientId` property sets a client ID
-on the connection factory so that it can be used for durable
-subscriptions. The JNDI name for a JMS resource customarily includes the
-`jms/` naming subcontext.
-
-[source,oac_no_warn]
-----
-asadmin> create-jms-resource --restype jakarta.jms.ConnectionFactory
---description "connection factory for durable subscriptions"
---property ClientId=MyID jms/DurableConnectionFactory
-Connector resource jms/DurableConnectionFactory created.
-Command create-jms-resource executed successfully.
-----
-
-[[GSRFM498]][[sthref358]]
-
-Example 2   Creating a JMS destination resource
-
-The following subcommand creates a destination resource whose JNDI name
-is `jms/MyQueue`. The `Name` property specifies the physical destination
-to which the resource refers.
-
-[source,oac_no_warn]
-----
-asadmin> create-jms-resource --restype jakarta.jms.Queue
---property Name=PhysicalQueue jms/MyQueue
-Administered object jms/MyQueue created.
-Command create-jms-resource executed successfully.
-----
-
-[[sthref359]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref360]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-jms-resource.html#delete-jms-resource-1[`delete-jms-resource`(1)],
-link:list-jms-resources.html#list-jms-resources-1[`list-jms-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jmsdest.adoc b/docs/reference-manual/src/main/jbake/content/create-jmsdest.adoc
deleted file mode 100644
index c81043e..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jmsdest.adoc
+++ /dev/null
@@ -1,227 +0,0 @@
-type=page
-status=published
-title=create-jmsdest
-next=create-jms-host.html
-prev=create-jdbc-resource.html
-~~~~~~
-create-jmsdest
-==============
-
-[[create-jmsdest-1]][[GSRFM00038]][[create-jmsdest]]
-
-create-jmsdest
---------------
-
-creates a JMS physical destination
-
-[[sthref336]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jmsdest [--help]
---desttype dest_type
-[--property (name=value)[:name=value]*]
-[--target target]
-[--force={false|true}]
-dest_name
-----
-
-[[sthref337]]
-
-Description
-
-The `create-jmsdest` subcommand creates a Java Message Service (JMS)
-physical destination. Typically, you use the `create-jms-resource`
-subcommand to create a JMS destination resource that has a `Name`
-property that specifies the physical destination. The physical
-destination is created automatically when you run an application that
-uses the destination resource. Use the `create-jmsdest` subcommand if
-you want to create a physical destination with non-default property
-settings.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref338]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--desttype`::
-  The type of the JMS destination. Valid values are `topic` and `queue`.
-`--property`::
-  Optional attribute name/value pairs for configuring the physical
-  destination. You can specify the following properties for a physical
-  destination. +
-  `MaxNumMsgs`;;
-    The maximum number of unconsumed messages permitted for the
-    destination. A value of -1 denotes an unlimited number of messages.
-    The default value is -1. For the dead message queue, the default
-    value is 1000. +
-    If the `limitBehavior` property is set to `FLOW_CONTROL`, it is
-    possible for the specified message limit to be exceeded because the
-    broker cannot react quickly enough to stop the flow of incoming
-    messages. In such cases, the value specified for `maxNumMsgs` serves
-    as merely a hint for the broker rather than a strictly enforced
-    limit.
-  `MaxBytesPerMsg`;;
-    The maximum size, in bytes, of any single message. Rejection of a
-    persistent message is reported to the producing client with an
-    exception; no notification is sent for non-persistent messages. +
-    The value may be expressed in bytes, kilobytes, or megabytes, using
-    the following suffixes:::
-    `b`::
-      Bytes
-    `k`::
-      Kilobytes (1024 bytes)
-    `m`::
-      Megabytes (1024 x 1024 = 1,048,576 bytes) +
-    A value with no suffix is expressed in bytes; a value of -1 denotes
-    an unlimited message size. The default value is -1.
-  `MaxTotalMsgBytes`;;
-    The maximum total memory, in bytes, for unconsumed messages. The
-    default value is -1. The syntax is the same as for `maxBytesPerMsg`.
-    For the dead message queue, the default value is `10m`.
-  `LimitBehavior`;;
-    The behavior of the message queue broker when the memory-limit
-    threshold is reached. Valid values are as follows.::
-    `REJECT_NEWEST`::
-      Reject newest messages and notify the producing client with an
-      exception only if the message is persistent. This is the default
-      value.
-    `FLOW_CONTROL`::
-      Slow the rate at which message producers send messages.
-    `REMOVE_OLDEST`::
-      Throw out the oldest messages.
-    `REMOVE_LOW_PRIORITY`::
-      Throw out the lowest-priority messages according to age, with no
-      notification to the producing client. +
-    If the value is `REMOVE_OLDEST` or `REMOVE_LOW_PRIORITY` and the
-    `useDMQ` property is set to `true`, excess messages are moved to the
-    dead message queue. For the dead message queue itself, the default
-    limit behavior is `REMOVE_OLDEST`, and the value cannot be set to
-    `FLOW_CONTROL`.
-  `MaxNumProducers`;;
-    The maximum number of message producers for the destination. When
-    this limit is reached, no new producers can be created. A value of
-    -1 denotes an unlimited number of producers. The default value is
-    100. This property does not apply to the dead message queue.
-  `ConsumerFlowLimit`;;
-    The maximum number of messages that can be delivered to a consumer
-    in a single batch. A value of -1 denotes an unlimited number of
-    messages. The default value is 1000. The client runtime can override
-    this limit by specifying a lower value on the connection factory
-    object. +
-    In load-balanced queue delivery, this is the initial number of
-    queued messages routed to active consumers before load balancing
-    begins.
-  `UseDMQ`;;
-    If set to `true`, dead messages go to the dead message queue. If set
-    to `false`, dead messages are discarded. The default value is
-    `true`.
-  `ValidateXMLSchemaEnabled`;;
-    If set to `true`, XML schema validation is enabled for the
-    destination. The default value is `false`. +
-    When XML validation is enabled, the Message Queue client runtime
-    will attempt to validate an XML message against the specified XSDs
-    (or against the DTD, if no XSD is specified) before sending it to
-    the broker. If the specified schema cannot be located or the message
-    cannot be validated, the message is not sent, and an exception is
-    thrown. +
-    This property should be set when a destination is inactive: that is,
-    when it has no consumers or producers and when there are no messages
-    in the destination. Otherwise the producer must reconnect.
-  `XMLSchemaURIList`;;
-    A space-separated list of XML schema document (XSD) URI strings. The
-    URIs point to the location of one or more XSDs to use for XML schema
-    validation, if `validateXMLSchemaEnabled` is set to `true`. The
-    default value is `null`. +
-    Use double quotes around this value if multiple URIs are specified,
-    as in the following example: +
-[source,oac_no_warn]
-----
-"http://foo/flap.xsd http://test.com/test.xsd"
-----
-::
-    If this property is not set or `null` and XML validation is enabled,
-    XML validation is performed using a DTD specified in the XML
-    document. If an XSD is changed as a result of changing application
-    requirements, all client applications that produce XML messages
-    based on the changed XSD must reconnect to the broker. +
-  To modify the value of these properties, you can use the
-  as-install`/mq/bin/imqcmd` command. See "link:../../openmq/mq-admin-guide/physical-destination-properties.html#GMADG00049[Physical
-  Destination Property Reference]" in Open Message Queue Administration
-  Guide for more information.
-`--target`::
-  Creates the physical destination only for the specified target.
-  Although the `create-jmsdest` subcommand is related to resources, a
-  physical destination is created using the JMS Service (JMS Broker),
-  which is part of the configuration. A JMS Broker is configured in the
-  config section of `domain.xml`. Valid values are as follows: +
-  `server`;;
-    Creates the physical destination for the default server instance.
-    This is the default value.
-  configuration-name;;
-    Creates the physical destination in the specified configuration.
-  cluster-name;;
-    Creates the physical destination for every server instance in the
-    specified cluster.
-  instance-name;;
-    Creates the physical destination for the specified server instance.
-`--force`::
-  Specifies whether the subcommand overwrites the existing JMS physical
-  destination of the same name. The default value is `false`.
-
-[[sthref339]]
-
-Operands
-
-dest_name::
-  A unique identifier for the JMS destination to be created.
-
-[[sthref340]]
-
-Examples
-
-[[GSRFM495]][[sthref341]]
-
-Example 1   Creating a JMS physical destination
-
-The following subcommand creates a JMS physical queue named
-`PhysicalQueue` with non-default property values.
-
-[source,oac_no_warn]
-----
-asadmin> create-jmsdest --desttype queue
---property maxNumMsgs=1000:maxBytesPerMsg=5k PhysicalQueue
-Command create-jmsdest executed successfully.
-----
-
-[[sthref342]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref343]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
-link:delete-jmsdest.html#delete-jmsdest-1[`delete-jmsdest`(1)],
-link:flush-jmsdest.html#flush-jmsdest-1[`flush-jmsdest`(1)],
-link:list-jmsdest.html#list-jmsdest-1[`list-jmsdest`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jndi-resource.adoc b/docs/reference-manual/src/main/jbake/content/create-jndi-resource.adoc
deleted file mode 100644
index f11a79f..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jndi-resource.adoc
+++ /dev/null
@@ -1,144 +0,0 @@
-type=page
-status=published
-title=create-jndi-resource
-next=create-jvm-options.html
-prev=create-jms-resource.html
-~~~~~~
-create-jndi-resource
-====================
-
-[[create-jndi-resource-1]][[GSRFM00041]][[create-jndi-resource]]
-
-create-jndi-resource
---------------------
-
-registers a JNDI resource
-
-[[sthref361]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jndi-resource [--help] 
-[--target target] 
---restype restype --factoryclass factoryclass 
---jndilookupname jndilookupname [--enabled={true|false}] 
-[--description description] 
-[--property (name=value)[:name=value]*] 
-jndi-name
-----
-
-[[sthref362]]
-
-Description
-
-The `create-jndi-resource` subcommand registers a JNDI resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref363]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target for which you are registering a JNDI
-  resource. Valid values for target are described below. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-The resource is always created for the domain as a whole, but the
-`resource-ref` for the resource is only created for the specified
-`--target`. This means that although the resource is defined at the
-domain level, it is only available at the specified target level. Use
-the `create-resource-ref` subcommand to refer to the resource in
-multiple targets if needed.
-
-|=======================================================================
-
-  `server`;;
-    Creates the resource for the default server instance. This value is
-    the default.
-  `domain`;;
-    Creates the resource for the domain
-  cluster-name;;
-    Creates the resource for every server instance in the cluster
-  instance-name;;
-    Creates the resource for a particular server instance
-`--restype`::
-  The JNDI resource type. Valid values are `topic` or `queue`.
-`--factoryclass`::
-  The class that creates the JNDI resource.
-`--jndilookupname`::
-  The lookup name that the external container uses.
-`--enabled`::
-  Determines whether the resource is enabled at runtime. Default is
-  true.
-`--description`::
-  The text that provides details about the JNDI resource.
-`--property`::
-  Optional properties for configuring the resource. Each property is
-  specified as a name-value pair. +
-  The available properties are specific to the implementation that is
-  specified by the `--factoryclass` option and are used by that
-  implementation. \{product---name} itself does not define any
-  properties for configuring a JNDI resource.
-
-[[sthref364]]
-
-Operands
-
-jndi-name::
-  The unique name of the JNDI resource to be created.
-
-[[sthref365]]
-
-Examples
-
-[[GSRFM499]][[sthref366]]
-
-Example 1   Creating a JNDI Resource
-
-This example creates the JNDI resource `my-jndi-resource` for the
-default server instance.
-
-[source,oac_no_warn]
-----
-asadmin> create-jndi-resource 
---restype com.example.jndi.MyResourceType 
---factoryclass com.example.jndi.MyInitialContextFactoryClass 
---jndilookupname remote-jndi-name 
---description "sample JNDI resource" my-jndi-resource
-JNDI resource my-jndi-resource created.
-Command create-jndi-resource executed successfully.
-----
-
-[[sthref367]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref368]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
-link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)],
-link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-jvm-options.adoc b/docs/reference-manual/src/main/jbake/content/create-jvm-options.adoc
deleted file mode 100644
index 5c1c097..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-jvm-options.adoc
+++ /dev/null
@@ -1,263 +0,0 @@
-type=page
-status=published
-title=create-jvm-options
-next=create-lifecycle-module.html
-prev=create-jndi-resource.html
-~~~~~~
-create-jvm-options
-==================
-
-[[create-jvm-options-1]][[GSRFM00042]][[create-jvm-options]]
-
-create-jvm-options
-------------------
-
-creates options for the Java application launcher
-
-[[sthref369]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-jvm-options [--help] 
-[--target target] [--profiler={true|false}] 
-(jvm-option-name=jvm-option-value) [:jvm-option-name=jvm-option-value*]
-----
-
-[[sthref370]]
-
-Description
-
-The `create-jvm-options` subcommand creates command-line options that
-are passed to the Java application launcher when \{product---name} is
-started. The options that this subcommand creates are in addition to the
-options that are preset with \{product---name}. Java application
-launcher options are stored in the Java configuration `java—config`
-element or the profiler `profiler` element of the `domain.xml` file. The
-options are sent to the command line in the order they appear in the
-`java—config` element or the profiler `profiler` element in the
-`domain.xml` file.
-
-Profiler options are used to record the settings that are required to
-start a particular profiler. The profiler must already exist. If
-necessary, use the
-link:create-profiler.html#create-profiler-1[`create-profiler`(1)]
-subcommand to create the profiler.
-
-This subcommand can be used to create the following types of options:
-
-* Java system properties. These options are set through the `-D` option
-of the Java application launcher. For example: +
-`-Djava.security.manager` +
-`-Denvironment=Production`
-* Startup parameters for the Java application launcher. These options
-are preceded by the dash character (`-`). For example: +
-`--XX:PermSize=`size +
-`-Xmx1024m` +
-`-d64`
-
-If the subcommand specifies an option that already exists, the command
-does not re-create the option.
-
-
-[NOTE]
-=======================================================================
-
-Ensure that any option that you create is valid. The subcommand might
-allow you to create an invalid option, but such an invalid option can
-cause startup to fail.
-
-=======================================================================
-
-
-An option can be verified by examining the server log after
-\{product---name} starts. Options for the Java application launcher are
-written to the `server.log` file before any other information when
-\{product---name} starts.
-
-The addition of some options requires a server restart for changes to
-become effective. Other options are set immediately in the environment
-of the domain administration server (DAS) and do not require a restart.
-Whether a restart is required depends on the type of option.
-
-* Restart is not required for Java system properties whose names do not
-start with `-Djava.` or `-Djavax.` (including the trailing period). For
-example, restart is not required for the following Java system property: +
-`-Denvironment=Production`
-* Restart is required for the following options:
-
-** Java system properties whose names start with `-Djava.` or `-Djavax.`
-(including the trailing period). For example: +
-`-Djava.security.manager`
-
-** Startup parameters for the Java application launcher. For example: +
-`-client` +
-`-Xmx1024m` +
-`-d64`
-
-To restart the DAS, use the
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)] command.
-
-This subcommand is supported in remote mode only.
-
-[[sthref371]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which you are creating Java application
-  launcher options. +
-  Valid values are as follows: +
-  `server`;;
-    Specifies the DAS (default).
-  instance-name;;
-    Specifies a \{product---name} instance.
-  cluster-name;;
-    Specifies a cluster.
-  configuration-name;;
-    Specifies a named configuration.
-`--profiler`::
-  Indicates whether the Java application launcher options are for the
-  profiler. The profiler must exist for this option to be true. Default
-  is false.
-
-[[sthref372]]
-
-Operands
-
-jvm-option-name::
-  One or more options delimited by a colon (:). The format of an option
-  depends on the following: +
-  * If the option has a name and a value, the format is
-  option-name=value.
-  * If the option has only a name, the format is option-name. For
-  example, `-Xmx2048m`.
-  * If the first option name could be misinterpreted as one or more
-  `asadmin` short options, the format is `--` option-name. For example,
-  `-server` in the following command could be misinterpreted as `-se`,
-  the `asadmin` short forms for `--secure` and `--echo`: +
-[source,oac_no_warn]
-----
-create-jvm-options -server
-----
-::
-  To create the JVM option `-server`, instead use the command: +
-[source,oac_no_warn]
-----
-create-jvm-options -- -server
-----
-:: +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-If an option name or option value contains a colon, the backslash
-(`\`) must be used to escape the colon in the name or value. Other
-characters might also require an escape character. For more
-information about escape characters in subcommand options, see the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] man page.
-
-|=======================================================================
-
-
-[[sthref373]]
-
-Examples
-
-[[GSRFM500]][[sthref374]]
-
-Example 1   Setting Java System Properties
-
-This example sets multiple Java system properties.
-
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options -Dunixlocation=/root/example:
--Dvariable=\$HOME:-Dwindowslocation=d\:\\sun\\appserver:-Doption1=-value1
-created 4 option(s)
-Command create-jvm-options executed successfully.
-----
-
-[[GSRFM501]][[sthref375]]
-
-Example 2   Setting a Startup Parameter for the Java Application
-Launcher
-
-This example sets the maximum available heap size to 1024.
-
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options -Xmx1024m
-created 1 option(s)
-Command create-jvm-options executed successfully.
-----
-
-[[GSRFM502]][[sthref376]]
-
-Example 3   Setting Multiple Startup Parameters for the Java Application
-Launcher
-
-This example sets the maximum available heap size to 1024 and requests
-details about garbage collection.
-
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options "-Xmx1024m:-XX\:+PrintGCDetails"
-created 1 option(s)
-Command create-jvm-options executed successfully.
-----
-
-In this case, one of the two parameters already exists, so the
-subcommand reports that only one option was set.
-
-[[GSRFM503]][[sthref377]]
-
-Example 4   Setting a JVM Startup Parameter for the Profiler
-
-This example sets a JVM startup parameter for the profiler.
-
-[source,oac_no_warn]
-----
-asadmin> create-jvm-options --profiler=true -XX\:MaxPermSize=192m
-created 1 option(s)
-Command create-jvm-options executed successfully.
-----
-
-[[sthref378]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref379]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-profiler.html#create-profiler-1[`create-profiler`(1)],
-link:delete-jvm-options.html#delete-jvm-options-1[`delete-jvm-options`(1)],
-link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)],
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)]
-
-For more information about the Java application launcher, see the
-reference page for the operating system that you are using:
-
-* Oracle Solaris and Linux: java - the Java application launcher
-(`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/java.html`)
-* Windows: java - the Java application launcher
-(`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-lifecycle-module.adoc b/docs/reference-manual/src/main/jbake/content/create-lifecycle-module.adoc
deleted file mode 100644
index b33dc79..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-lifecycle-module.adoc
+++ /dev/null
@@ -1,141 +0,0 @@
-type=page
-status=published
-title=create-lifecycle-module
-next=create-local-instance.html
-prev=create-jvm-options.html
-~~~~~~
-create-lifecycle-module
-=======================
-
-[[create-lifecycle-module-1]][[GSRFM00043]][[create-lifecycle-module]]
-
-create-lifecycle-module
------------------------
-
-creates a lifecycle module
-
-[[sthref380]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-lifecycle-module [--help] 
---classname classname
-[--enabled={true|false}] [--target target]
-[--classpath classpath] [--loadorder loadorder]
-[--failurefatal={false|true} ] [--description description]
-[--property (name=value)[:name=value]*]
-module_name
-----
-
-[[sthref381]]
-
-Description
-
-The `create-lifecycle-module` subcommand creates a lifecycle module. A
-lifecycle module provides a means of running a short or long duration
-Java-based task at a specific stage in the server life cycle. This
-subcommand is supported in remote mode only.
-
-[[sthref382]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--classname`::
-  This is the fully qualified name of the startup class.
-`--target`::
-  Indicates the location where the lifecycle module is to be created.
-  Valid values are +
-  * `server`- Specifies the default server instance as the target for
-  creating the lifecycle module. `server` is the name of the default
-  server instance and is the default value for this option.
-  * cluster_name- Specifies a particular cluster as the target for
-  creating the lifecycle module.
-  * instance_name- Specifies a particular stand-alone server instance as
-  the target for creating the lifecycle module.
-`--classpath`::
-  This option indicates where the lifecycle module is located. It is a
-  classpath with the standard format: either colon-separated (Unix) or
-  semicolon-separated (Windows) JAR files and directories. The
-  referenced JAR files and directories are not uploaded to the server
-  instance.
-`--loadorder`::
-  This option represents an integer value that can be used to force the
-  order in which deployed lifecycle modules are loaded at server
-  startup. Smaller numbered modules are loaded sooner. Order is
-  unspecified if two or more lifecycle modules have the same load-order
-  value. The default is `Integer.MAX_VALUE`, which means the lifecycle
-  module is loaded last.
-`--failurefatal`::
-  This option tells the system what to do if the lifecycle module does
-  not load correctly. When this option is set to true, the system aborts
-  the server startup if this module does not load properly. The default
-  value is false.
-`--enabled`::
-  This option determines whether the lifecycle module is enabled at
-  runtime. The default value is true.
-`--description`::
-  This is the text description of the lifecycle module.
-`--property`::
-  This is an optional attribute containing name/value pairs used to
-  configure the lifecycle module.
-
-[[sthref383]]
-
-Operands
-
-module_name::
-  This operand is a unique identifier for the deployed server lifecycle
-  event listener module.
-
-[[sthref384]]
-
-Examples
-
-[[GSRFM504]][[sthref385]]
-
-Example 1   Creating a Lifecycle Module
-
-The following example creates a lifecycle module named `customSetup`.
-
-[source,oac_no_warn]
-----
-asadmin> create-lifecycle-module --classname "com.acme.CustomSetup" 
---classpath "/export/customSetup" --loadorder 1 --failurefatal=true 
---description "this is a sample customSetup" 
---property rmi="Server\=acme1\:7070":timeout=30 customSetup
-Command create-lifecycle-module executed successfully
-----
-
-The escape character `\` is used in the property option to specify that
-the equal sign (=) and colon (:) are part of the `rmi` property value.
-
-[[sthref386]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref387]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-lifecycle-module.html#delete-lifecycle-module-1[`delete-lifecycle-module`(1)],
-link:list-lifecycle-modules.html#list-lifecycle-modules-1[`list-lifecycle-modules`(1)]
-
-"link:../application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing Lifecycle Listeners]" in GlassFish Server
-Open Source Edition Application Development Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-local-instance.adoc b/docs/reference-manual/src/main/jbake/content/create-local-instance.adoc
deleted file mode 100644
index b7877e5..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-local-instance.adoc
+++ /dev/null
@@ -1,401 +0,0 @@
-type=page
-status=published
-title=create-local-instance
-next=create-managed-executor-service.html
-prev=create-lifecycle-module.html
-~~~~~~
-create-local-instance
-=====================
-
-[[create-local-instance-1]][[GSRFM00044]][[create-local-instance]]
-
-create-local-instance
----------------------
-
-creates a \{product---name} instance on the host where the subcommand is
-run
-
-[[sthref388]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-local-instance [--help] 
-[--node node-name] [--nodedir node-dir] 
-[--config config-name | --cluster cluster-name]
-[--lbenabled={true|false}]
-[--portbase port-number] [--checkports={true|false}]
-[--savemasterpassword={false|true}]
-[--usemasterpassword={false|true}]
-[--systemproperties (name=value)[:name=value]* ]
-instance-name
-----
-
-[[sthref389]]
-
-Description
-
-The `create-local-instance` subcommand creates a \{product---name}
-instance on the node that represents the host where the subcommand is
-run. This subcommand does not require the Distributed Component Object
-Model (DCOM) remote protocol or secure shell (SSH) to be configured.
-
-You must run this subcommand from the host that is represented by the
-node where the instance is to reside. To contact the domain
-administration server (DAS), this subcommand requires the name of the
-host where the DAS is running. If a nondefault port is used for
-administration, this subcommand also requires the port number. If you
-are adding the first instance to a node, you must provide this
-information through the `--host` option and the `--port` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility. For the second and
-later instances, this information is obtained from the DAS properties of
-the node.
-
-A \{product---name} instance is a single Virtual Machine for the Java
-platform (Java Virtual Machine or JVM machine) on a single node in which
-\{product---name} is running. A node defines the host where the
-\{product---name} instance resides. The JVM machine must be compatible
-with the Java Platform, Enterprise Edition (Java EE).
-
-A \{product---name} instance requires a reference to the following
-items:
-
-* The node that defines the host where the instance resides. The node
-can be specified in the command to create the instance, but is required
-only if more than one node exists in the directory where files for nodes
-are stored. If no node is specified, the behavior of the subcommand
-depends on the number of existing nodes in the directory where nodes are
-stored:
-
-** If no nodes exist, the subcommand creates a node for the instance.
-The name of the node is the name of the host on which the subcommand is
-run.
-
-** If only one node exists, the subcommand creates a reference to the
-existing node for the instance.
-
-** If two or more nodes exist, an error occurs.
-* The named configuration that defines the configuration of the
-instance. The configuration can be specified in the command to create
-the instance, but is not required. If no configuration is specified for
-an instance that is not joining a cluster, the subcommand creates a
-configuration for the instance. An instance that is joining a cluster
-receives its configuration from its parent cluster.
-
-Each \{product---name} instance is one of the following types of
-instance:
-
-Standalone instance::
-  A standalone instance does not share its configuration with any other
-  instances or clusters. A standalone instance is created if either of
-  the following conditions is met: +
-  * No configuration or cluster is specified in the command to create
-  the instance.
-  * A configuration that is not referenced by any other instances or
-  clusters is specified in the command to create the instance. +
-  When no configuration or cluster is specified, a copy of the
-  `default-config` configuration is created for the instance. The name
-  of this configuration is instance-name`-config`, where instance-name
-  represents the name of an unclustered server instance.
-Shared instance::
-  A shared instance shares its configuration with other instances or
-  clusters. A shared instance is created if a configuration that is
-  referenced by other instances or clusters is specified in the command
-  to create the instance.
-Clustered instance::
-  A clustered instance inherits its configuration from the cluster to
-  which the instance belongs and shares its configuration with other
-  instances in the cluster. A clustered instance is created if a cluster
-  is specified in the command to create the instance. +
-  Any instance that is not part of a cluster is considered an
-  unclustered server instance. Therefore, standalone instances and
-  shared instances are unclustered server instances.
-
-By default, this subcommand attempts to resolve possible port conflicts
-for the instance that is being created. The subcommand also assigns
-ports that are currently not in use and not already assigned to other
-instances on the same node. The subcommand assigns these ports on the
-basis of an algorithm that is internal to the subcommand. Use the
-`--systemproperties` option to resolve port conflicts for additional
-instances on the same node. System properties of an instance can be
-manipulated by using the
-link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)]
-subcommand and the
-link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)]
-subcommand.
-
-When creating an instance, the subcommand retrieves the files that are
-required for secure synchronization with the domain administration
-server (DAS). The instance is synchronized with the DAS when the
-instance is started
-
-[[sthref390]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--node`::
-  The name of the node that defines the host where the instance is to be
-  created. The node must be specified only if more than one node exists
-  in the directory where nodes are stored. Otherwise, the node may be
-  omitted. If a node is specified, the node must exist. +
-  If no node is specified, the behavior of the subcommand depends on the
-  number of existing nodes in the directory where nodes are stored: +
-  * If no nodes exist, the subcommand creates a node for the instance.
-  The name of the node is the name of the host on which the subcommand
-  is run.
-  * If only one node exists, the subcommand creates a reference to the
-  existing node for the instance.
-  * If two or more nodes exist, an error occurs.
-`--nodedir`::
-  The path to the directory in which the files for instance's node is to
-  be stored. The default is as-install`/nodes`.
-`--config`::
-  Specifies the named configuration that the instance references. The
-  configuration must exist and must not be named `default-config` or
-  `server-config`. Specifying the `--config` option creates a shared
-  instance. +
-  The `--config` option and the `--cluster` option are mutually
-  exclusive. If both options are omitted, a standalone instance is
-  created.
-`--cluster`::
-  Specifies the cluster from which the instance inherits its
-  configuration. Specifying the `--cluster` option creates a clustered
-  instance. +
-  The `--config` option and the `--cluster` option are mutually
-  exclusive. If both options are omitted, a standalone instance is
-  created.
-`--lbenabled`::
-  Specifies whether the instance is enabled for load balancing. Possible
-  values are as follows: +
-  `true`;;
-    The instance is enabled for load balancing (default). +
-    When an instance is enabled for load balancing, a load balancer
-    sends requests to the instance.
-  `false`;;
-    The instance is disabled for load balancing. +
-    When an instance is disabled for load balancing, a load balancer
-    does not send requests to the instance.
-`--portbase`::
-  Determines the number with which the port assignment should start. An
-  instance uses a certain number of ports that are statically assigned.
-  The portbase value determines where the assignment should start. The
-  values for the ports are calculated as follows: +
-  * Administration port: portbase + 48
-  * HTTP listener port: portbase + 80
-  * HTTPS listener port: portbase + 81
-  * JMS port: portbase + 76
-  * IIOP listener port: portbase + 37
-  * Secure IIOP listener port: portbase + 38
-  * Secure IIOP with mutual authentication port: portbase + 39
-  * JMX port: portbase + 86
-  * JPA debugger port: portbase + 9
-  * Felix shell service port for OSGi module management: portbase + 66 +
-  When the `--portbase` option is specified, the output of this
-  subcommand includes a complete list of used ports.
-`--checkports`::
-  Specifies whether to check for the availability of the administration,
-  HTTP, JMS, JMX, and IIOP ports. The default value is `true`.
-`--savemasterpassword`::
-  Setting this option to `true` allows the master password to be written
-  to the file system. If the master password is written to the file
-  system, the instance can be started without the need to prompt for the
-  password. If this option is `true`, the `--usemasterpassword` option
-  is also true, regardless of the value that is specified on the command
-  line. Because writing the master password to the file system is an
-  insecure practice, the default is `false`. +
-  The master-password file for an instance is saved in the node
-  directory, not the domain directory. Therefore, this option is
-  required only for the first instance that is created for each node in
-  a domain.
-`--usemasterpassword`::
-  Specifies whether the key store is encrypted with a master password
-  that is built into the system or a user-defined master password. +
-  If `false` (default), the keystore is encrypted with a well-known
-  password that is built into the system. Encrypting the keystore with a
-  password that is built into the system provides no additional
-  security. +
-  If `true`, the subcommand obtains the master password from the
-  `AS_ADMIN_MASTERPASSWORD` entry in the password file or prompts for
-  the master password. The password file is specified in the
-  `--passwordfile` option of the
-  link:asadmin.html#asadmin-1m[`asadmin`(1M)]utility. +
-  If the `--savemasterpassword` option is `true`, this option is also
-  true, regardless of the value that is specified on the command line. +
-  The master password must be the same for all instances in a domain.
-`--systemproperties`::
-  Defines system properties for the instance. These properties override
-  property definitions for port settings in the instance's
-  configuration. Predefined port settings must be overridden if, for
-  example, two clustered instances reside on the same host. In this
-  situation, port settings for one instance must be overridden because
-  both instances share the same configuration. +
-  The following properties are available: +
-  `ASADMIN_LISTENER_PORT`;;
-    This property specifies the port number of the HTTP port or HTTPS
-    port through which the DAS connects to the instance to manage the
-    instance. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `HTTP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTP requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `HTTP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used to
-    listen for HTTPS requests. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-  `IIOP_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_LISTENER_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections. Valid values are 1-65535. On UNIX, creating
-    sockets that listen on ports 1-1024 requires superuser privileges.
-  `IIOP_SSL_MUTUALAUTH_PORT`;;
-    This property specifies the port number of the port that is used for
-    secure IIOP connections with client authentication. Valid values are
-    1-65535. On UNIX, creating sockets that listen on ports 1-1024
-    requires superuser privileges.
-  `JAVA_DEBUGGER_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the Java Platform Debugger Architecture (JPDA)
-    (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-    debugger. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMS_PROVIDER_PORT`;;
-    This property specifies the port number for the Java Message Service
-    provider. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `JMX_SYSTEM_CONNECTOR_PORT`;;
-    This property specifies the port number on which the JMX connector
-    listens. Valid values are 1-65535. On UNIX, creating sockets that
-    listen on ports 1-1024 requires superuser privileges.
-  `OSGI_SHELL_TELNET_PORT`;;
-    This property specifies the port number of the port that is used for
-    connections to the Apache Felix Remote Shell
-    (`http://felix.apache.org/site/apache-felix-remote-shell.html`).
-    This shell uses the Felix shell service to interact with the OSGi
-    module management subsystem. Valid values are 1-65535. On UNIX,
-    creating sockets that listen on ports 1-1024 requires superuser
-    privileges.
-
-[[sthref391]]
-
-Operands
-
-instance-name::
-  The name of the instance that is being created. +
-  The name must meet the following requirements: +
-  * The name may contain only ASCII characters.
-  * The name must start with a letter, a number, or an underscore.
-  * The name may contain only the following characters:
-  ** Lowercase letters
-  ** Uppercase letters
-  ** Numbers
-  ** Hyphen
-  ** Period
-  ** Underscore
-  * The name must be unique in the domain and must not be the name of
-  another \{product---name} instance, a cluster, a named configuration,
-  or a node.
-  * The name must not be `domain`, `server`, or any other keyword that
-  is reserved by \{product---name}.
-
-[[sthref392]]
-
-Examples
-
-[[GSRFM505]][[sthref393]]
-
-Example 1   Creating a Standalone \{product---name} Instance
-
-This example creates the standalone instance `il3` on the host where the
-command is run. The DAS is running on the same host. The instance
-references the only existing node.
-
-[source,oac_no_warn]
-----
-asadmin> create-local-instance il3
-Rendezvoused with DAS on localhost:4848.
-Port Assignments for server instance il3: 
-JMX_SYSTEM_CONNECTOR_PORT=28686
-JMS_PROVIDER_PORT=27676
-HTTP_LISTENER_PORT=28080
-ASADMIN_LISTENER_PORT=24848
-JAVA_DEBUGGER_PORT=29009
-IIOP_SSL_LISTENER_PORT=23820
-IIOP_LISTENER_PORT=23700
-OSGI_SHELL_TELNET_PORT=26666
-HTTP_SSL_LISTENER_PORT=28181
-IIOP_SSL_MUTUALAUTH_PORT=23920
-Command create-local-instance executed successfully.
-----
-
-[[GSRFM506]][[sthref394]]
-
-Example 2   Creating a Clustered \{product---name} Instance on a
-Specific Node
-
-This example creates the clustered instance `ymli2` on node `sj02`. The
-instance is a member of the cluster `ymlclust`.
-
-The command is run on the host `sj02`, which is the host that the node
-`sj02` represents. The DAS is running on the host `sr04` and uses the
-default HTTP port for administration. Because no instances exist on the
-node, the host on which the DAS is running is provided through the
-`--host` option of the `asadmin` utility.
-
-[source,oac_no_warn]
-----
-sj02# asadmin --host sr04 create-local-instance --cluster ymlclust --node sj02 ymli2
-Rendezvoused with DAS on sr04:4848.
-Port Assignments for server instance ymli2: 
-JMX_SYSTEM_CONNECTOR_PORT=28686
-JMS_PROVIDER_PORT=27676
-HTTP_LISTENER_PORT=28080
-ASADMIN_LISTENER_PORT=24848
-JAVA_DEBUGGER_PORT=29009
-IIOP_SSL_LISTENER_PORT=23820
-IIOP_LISTENER_PORT=23700
-OSGI_SHELL_TELNET_PORT=26666
-HTTP_SSL_LISTENER_PORT=28181
-IIOP_SSL_MUTUALAUTH_PORT=23920
-Command create-local-instance executed successfully.
-----
-
-[[sthref395]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref396]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)],
-link:list-instances.html#list-instances-1[`list-instances`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-managed-executor-service.adoc b/docs/reference-manual/src/main/jbake/content/create-managed-executor-service.adoc
deleted file mode 100644
index e1b9b35..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-managed-executor-service.adoc
+++ /dev/null
@@ -1,175 +0,0 @@
-type=page
-status=published
-title=create-managed-executor-service
-next=create-managed-scheduled-executor-service.html
-prev=create-local-instance.html
-~~~~~~
-create-managed-executor-service
-===============================
-
-[[create-managed-executor-service-1]][[GSRFM840]][[create-managed-executor-service]]
-
-create-managed-executor-service
--------------------------------
-
-creates a managed executor service resource
-
-[[sthref397]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-managed-executor-service [--help]
-[--enabled={false|true}]
-[--contextinfoenabled={false|true}]
-[--contextinfo={Classloader|JNDI|Security|WorkArea}]
-[--threadpriority threadpriority]
-[--longrunningtasks={false|true}]
-[--hungafterseconds hungafterseconds]
-[--corepoolsize corepoolsize]
-[--maximumpoolsize maximumpoolsize]
-[--keepaliveseconds keepaliveseconds]
-[--threadlifetimeseconds threadlifetimeseconds]
-[--taskqueuecapacity taskqueuecapacity]
-[--description description]
-[--property property]
-[--target target]
-jndi_name
-----
-
-[[sthref398]]
-
-Description
-
-The `create-managed-executor-service` subcommand creates a managed
-executor service resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref399]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--enabled`::
-  Determines whether the resource is enabled at runtime. The default
-  value is `true`.
-`--contextinfoenabled`::
-  Determines whether container contexts are propagated to threads. If
-  set to `true`, the contexts specified in the `--contextinfo` option
-  are propagated. If set to `false`, no contexts are propagated and the
-  `--contextinfo` option is ignored. The default value is `true`.
-`--contextinfo`::
-  Specifies individual container contexts to propagate to threads. Valid
-  values are Classloader, JNDI, Security, and WorkArea. Values are
-  specified in a comma-separated list and are case-insensitive. All
-  contexts are propagated by default.
-`--threadpriority`::
-  Specifies the priority to assign to created threads. The default value
-  is 5.
-`--longrunningtasks`::
-  Specifies whether the resource should be used for long-running tasks.
-  The default value is `false`. If set to `true`, long-running tasks are
-  not reported as stuck.
-`--hungafterseconds`::
-  Specifies the number of seconds that a task can execute before it is
-  considered unresponsive. The default value is 0, which means that
-  tasks are never considered unresponsive.
-`--corepoolsize`::
-  Specifies the number of threads to keep in a thread pool, even if they
-  are idle. The default value is 0. +
-  When a new task is submitted and the number of running threads is less
-  than `corepoolsize`, a new thread is created to handle the request.
-  When the value for `corepoolsize` is 0 (the default), new threads are
-  never created unless the task queue is full or the resource is using
-  direct queuing. Direct queuing occurs when `taskqueuecapacity` is 0,
-  or when `taskqueuecapacity` is 2147483647 and `corepoolsize` is 0.
-`--maximumpoolsize`::
-  Specifies the maximum number of threads that a thread pool can
-  contain. The default value is 2147483647, which means that the thread
-  pool is essentially unbounded and can contain any number of threads.
-`--keepaliveseconds`::
-  Specifies the number of seconds that threads can remain idle when the
-  number of threads is greater than `corepoolsize`. The default value is
-  60.
-`--threadlifetimeseconds`::
-  Specifies the number of seconds that threads can remain in a thread
-  pool before being purged, regardless of whether the number of threads
-  is greater than `corepoolsize` or whether the threads are idle. The
-  default value is 0, which means that threads are never purged.
-`--taskqueuecapacity`::
-  Specifies the number of submitted tasks that can be stored in the task
-  queue awaiting execution. The default value is 2147483647, which means
-  that the task queue is essentially unbounded and can store any number
-  of submitted tasks.
-`--description`::
-  Descriptive details about the resource.
-`--property`::
-  Optional attribute name/value pairs for configuring the resource. +
-  \{product---name} does not define any additional properties for this
-  resource. Moreover, this resource does not currently use any
-  additional properties.
-`--target`::
-  Specifies the target for which you are creating the resource. Valid
-  targets are: +
-  `server`;;
-    Creates the resource for the default server instance. This is the
-    default value.
-  `domain`;;
-    Creates the resource for the domain.
-  cluster_name;;
-    Creates the resource for every server instance in the specified
-    cluster.
-  instance_name;;
-    Creates the resource for the specified server instance.
-
-[[sthref400]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this resource.
-
-[[sthref401]]
-
-Examples
-
-[[GSRFM841]][[sthref402]]
-
-Example 1   Creating a Managed Executor Service Resource
-
-This example creates a managed executor service resource named
-`concurrent/myExecutor`.
-
-[source,oac_no_warn]
-----
-asadmin> create-managed-executor-service concurrent/myExecutor
-Managed executor service concurrent/myExecutor created successfully.
-Command create-managed-executor-service executed successfully.
-----
-
-[[sthref403]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref404]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-managed-executor-service.html#delete-managed-executor-service-1[`delete-managed-executor-service`(1)],
-link:list-managed-executor-services.html#list-managed-executor-services-1[`list-managed-executor-services`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-managed-scheduled-executor-service.adoc b/docs/reference-manual/src/main/jbake/content/create-managed-scheduled-executor-service.adoc
deleted file mode 100644
index dc54656..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-managed-scheduled-executor-service.adoc
+++ /dev/null
@@ -1,159 +0,0 @@
-type=page
-status=published
-title=create-managed-scheduled-executor-service
-next=create-managed-thread-factory.html
-prev=create-managed-executor-service.html
-~~~~~~
-create-managed-scheduled-executor-service
-=========================================
-
-[[create-managed-scheduled-executor-service-1]][[GSRFM680]][[create-managed-scheduled-executor-service]]
-
-create-managed-scheduled-executor-service
------------------------------------------
-
-creates a managed scheduled executor service resource
-
-[[sthref405]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-managed-scheduled-executor-service [--help]
-[--enabled={false|true}]
-[--contextinfoenabled={false|true}]
-[--contextinfo={Classloader|JNDI|Security|WorkArea}]
-[--threadpriority threadpriority]
-[--longrunningtasks={false|true}]
-[--hungafterseconds hungafterseconds]
-[--corepoolsize corepoolsize]
-[--keepaliveseconds keepaliveseconds]
-[--threadlifetimeseconds threadlifetimeseconds]
-[--description description]
-[--property property]
-[--target target]
-jndi_name
-----
-
-[[sthref406]]
-
-Description
-
-The `create-managed-scheduled-executor-service` subcommand creates a
-managed scheduled executor service resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref407]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--enabled`::
-  Determines whether the resource is enabled at runtime. The default
-  value is `true`.
-`--contextinfoenabled`::
-  Determines whether container contexts are propagated to threads. If
-  set to `true`, the contexts specified in the `--contextinfo` option
-  are propagated. If set to `false`, no contexts are propagated and the
-  `--contextinfo` option is ignored. The default value is `true`.
-`--contextinfo`::
-  Specifies individual container contexts to propagate to threads. Valid
-  values are Classloader, JNDI, Security, and WorkArea. Values are
-  specified in a comma-separated list and are case-insensitive. All
-  contexts are propagated by default.
-`--threadpriority`::
-  Specifies the priority to assign to created threads. The default value
-  is 5.
-`--longrunningtasks`::
-  Specifies whether the resource should be used for long-running tasks.
-  The default value is `false`. If set to `true`, long-running tasks are
-  not reported as stuck.
-`--hungafterseconds`::
-  Specifies the number of seconds that a task can execute before it is
-  considered unresponsive. The default value is 0, which means that
-  tasks are never considered unresponsive.
-`--corepoolsize`::
-  Specifies the number of threads to keep in a thread pool, even if they
-  are idle. The default value is 0, which means that a thread is created
-  when the first task is scheduled.
-`--keepaliveseconds`::
-  Specifies the number of seconds that threads can remain idle when the
-  number of threads is greater than `corepoolsize`. The default value is
-  60.
-`--threadlifetimeseconds`::
-  Specifies the number of seconds that threads can remain in a thread
-  pool before being purged, regardless of whether the number of threads
-  is greater than `corepoolsize` or whether the threads are idle. The
-  default value is 0, which means that threads are never purged.
-`--description`::
-  Descriptive details about the resource.
-`--property`::
-  Optional attribute name/value pairs for configuring the resource. +
-  \{product---name} does not define any additional properties for this
-  resource. Moreover, this resource does not currently use any
-  additional properties.
-`--target`::
-  Specifies the target for which you are creating the resource. Valid
-  targets are: +
-  `server`;;
-    Creates the resource for the default server instance. This is the
-    default value.
-  `domain`;;
-    Creates the resource for the domain.
-  cluster_name;;
-    Creates the resource for every server instance in the specified
-    cluster.
-  instance_name;;
-    Creates the resource for the specified server instance.
-
-[[sthref408]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this resource.
-
-[[sthref409]]
-
-Examples
-
-[[GSRFM461]][[sthref410]]
-
-Example 1   Creating a Managed Scheduled Executor Service Resource
-
-This example creates a managed scheduled executor service resource named
-`concurrent/myScheduledExecutor`.
-
-[source,oac_no_warn]
-----
-asadmin> create-managed-scheduled-executor-service concurrent/myScheduledExecutor
-Managed scheduled executor service concurrent/myScheduledExecutor created successfully.
-Command create-managed-scheduled-executor-service executed successfully.
-----
-
-[[sthref411]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref412]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-managed-scheduled-executor-service.html#delete-managed-scheduled-executor-service-1[`delete-managed-scheduled-executor-service`(1)],
-link:list-managed-scheduled-executor-services.html#list-managed-scheduled-executor-services-1[`list-managed-scheduled-executor-services`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-managed-thread-factory.adoc b/docs/reference-manual/src/main/jbake/content/create-managed-thread-factory.adoc
deleted file mode 100644
index e72e4d7..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-managed-thread-factory.adoc
+++ /dev/null
@@ -1,133 +0,0 @@
-type=page
-status=published
-title=create-managed-thread-factory
-next=create-message-security-provider.html
-prev=create-managed-scheduled-executor-service.html
-~~~~~~
-create-managed-thread-factory
-=============================
-
-[[create-managed-thread-factory-1]][[GSRFM842]][[create-managed-thread-factory]]
-
-create-managed-thread-factory
------------------------------
-
-creates a managed thread factory resource
-
-[[sthref413]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-managed-thread-factory [--help]
-[--enabled={false|true}]
-[--contextinfoenabled={false|true}]
-[--contextinfo={Classloader|JNDI|Security|WorkArea}]
-[--threadpriority threadpriority]
-[--description description]
-[--property property]
-[--target target]
-jndi_name
-----
-
-[[sthref414]]
-
-Description
-
-The `create-managed-thread-factory` subcommand creates a managed thread
-factory resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref415]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--enabled`::
-  Determines whether the managed thread factory is enabled at runtime.
-  The default value is `true`.
-`--contextinfoenabled`::
-  Determines whether container contexts are propagated to threads. If
-  set to `true`, the contexts specified in the `--contextinfo` option
-  are propagated. If set to `false`, no contexts are propagated and the
-  `--contextinfo` option is ignored. The default value is `true`.
-`--contextinfo`::
-  Specifies individual container contexts to propagate to threads. Valid
-  values are Classloader, JNDI, Security, and WorkArea. Values are
-  specified in a comma-separated list and are case-insensitive. All
-  contexts are propagated by default.
-`--threadpriority`::
-  Specifies the priority to assign to created threads. The default value
-  is 5.
-`--description`::
-  Descriptive details about the resource.
-`--property`::
-  Optional attribute name/value pairs for configuring the resource. +
-  \{product---name} does not define any additional properties for this
-  resource. Moreover, this resource does not currently use any
-  additional properties.
-`--target`::
-  Specifies the target for which you are creating the resource. Valid
-  targets are: +
-  `server`;;
-    Creates the resource for the default server instance. This is the
-    default value.
-  `domain`;;
-    Creates the resource for the domain.
-  cluster_name;;
-    Creates the resource for every server instance in the specified
-    cluster.
-  instance_name;;
-    Creates the resource for the specified server instance.
-
-[[sthref416]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this resource.
-
-[[sthref417]]
-
-Examples
-
-[[GSRFM843]][[sthref418]]
-
-Example 1   Creating a Managed Thread Factory Resource
-
-This example creates a managed thread factory resource named
-`concurrent/myThreadFactory`.
-
-[source,oac_no_warn]
-----
-asadmin> create-managed-thread-factory concurrent/myThreadFactory
-Managed thread factory concurrent/myThreadFactory created successfully.
-Command create-managed-thread-factory executed successfully.
-----
-
-[[sthref419]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref420]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-managed-thread-factory.html#delete-managed-thread-factory-1[`delete-managed-thread-factory`(1)],
-link:list-managed-thread-factories.html#list-managed-thread-factories-1[`list-managed-thread-factories`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-message-security-provider.adoc b/docs/reference-manual/src/main/jbake/content/create-message-security-provider.adoc
deleted file mode 100644
index e17b8e0..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-message-security-provider.adoc
+++ /dev/null
@@ -1,191 +0,0 @@
-type=page
-status=published
-title=create-message-security-provider
-next=create-module-config.html
-prev=create-managed-thread-factory.html
-~~~~~~
-create-message-security-provider
-================================
-
-[[create-message-security-provider-1]][[GSRFM00045]][[create-message-security-provider]]
-
-create-message-security-provider
---------------------------------
-
-enables administrators to create a message security provider, which
-specifies how SOAP messages will be secured.
-
-[[sthref421]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-message-security-provider [--help]
-[--target target]
---classname provider_class
-[--layer message_layer] [--providertype provider_type]
-[--requestauthsource request_auth_source ]
-[--requestauthrecipient request_auth_recipient ]
-[--responseauthsource response_auth_source ]
-[--responseauthrecipient response_auth_recipient ]
-[--isdefaultprovider] [--property name=value[:name=value]*] 
-provider_name
-----
-
-[[sthref422]]
-
-Description
-
-The `create-message-security-provider` subcommand enables the
-administrator to create a message security provider for the security
-service which specifies how SOAP messages will be secured.
-
-This command is supported in remote mode only.
-
-[[sthref423]]
-
-Options
-
-If an option has a short option name, then the short option precedes the
-long option name. Short options have one dash whereas long options have
-two dashes.
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you are creating the message security
-  provider. The following values are valid: +
-  `server`;;
-    Creates the provider for the default server instance `server` and is
-    the default value.
-  `domain`;;
-    Creates the provider for the domain.
-  cluster_name;;
-    Creates the provider for every server instance in the cluster.
-  instance_name;;
-    Creates the provider for a particular sever instance.
-`--classname`::
-  Defines the Java implementation class of the provider. Client
-  authentication providers must implement the
-  `com.sun.enterprise. security.jauth.ClientAuthModule` interface.
-  Server-side providers must implement the
-  `com.sun.enterprise.security jauth.ServerAuthModule` interface. A
-  provider may implement both interfaces, but it must implement the
-  interface corresponding to its provider type.
-`--layer`::
-  The message-layer entity used to define the value of the `auth-layer`
-  attribute of `message-security-config` elements. The default is
-  `HttpServlet`. Another option is `SOAP`.
-`--providertype`::
-  Establishes whether the provider is to be used as client
-  authentication provider, server authentication provider, or both.
-  Valid options for this property include `client`, `server`, or
-  `client-server`.
-`--requestauthsource`::
-  The `auth-source` attribute defines a requirement for message-layer
-  sender authentication (e.g. username password) or content
-  authentication (e.g. digital signature) to be applied to request
-  messages. Possible values are `sender` or `content`. When this
-  argument is not specified, source authentication of the request is not
-  required.
-`--requestauthrecipient`::
-  The `auth-recipient` attribute defines a requirement for message-layer
-  authentication of the receiver of a message to its sender (e.g. by XML
-  encryption). Possible values are `before-content` or `after-content`.
-  The default value is `after-content`.
-`--responseauthsource`::
-  The `auth-source` attribute defines a requirement for message-layer
-  sender authentication (e.g. username password) or content
-  authentication (e.g. digital signature) to be applied to response
-  messages. Possible values are `sender` or `content`. When this option
-  is not specified, source authentication of the response is not
-  required.
-`--responseauthrecipient`::
-  The `auth-recipient` attribute defines a requirement for message-layer
-  authentication of the receiver of the response message to its sender
-  (e.g. by XML encryption). Possible values are `before-content` or
-  `after-content`. The default value is `after-content`.
-`--isdefaultprovider`::
-  The `default-provider` attribute is used to designate the provider as
-  the default provider (at the layer) of the type or types identified by
-  the `providertype` argument. There is no default associated with this
-  option.
-`--property`::
-  Use this property to pass provider-specific property values to the
-  provider when it is initialized. Properties passed in this way might
-  include key aliases to be used by the provider to get keys from
-  keystores, signing, canonicalization, encryption algorithms, etc. +
-  The following properties may be set: +
-  `security.config`;;
-    Specifies the location of the message security configuration file.
-    To point to a configuration file in the domain-dir`/config`
-    directory, use the system property
-    `${com.sun.aas.instanceRoot}/config/`, for example:
-    `${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml`. The
-    default is domain-dir`/config/ wss-serverconfig-1.0.xml`.
-  `debug`;;
-    If `true`, enables dumping of server provider debug messages to the
-    server log. The default is `false`.
-  `dynamic.username. password`;;
-    If `true`, signals the provider runtime to collect the user name and
-    password from the `CallbackHandler` for each request. If `false`,
-    the user name and password for `wsse:UsernameToken`(s) is collected
-    once, during module initialization. This property is only applicable
-    for a `ClientAuthModule`. The default is `false`.
-  `encryption.key.alias`;;
-    Specifies the encryption key used by the provider. The key is
-    identified by its keystore alias. The default value is `s1as`.
-  `signature.key.alias`;;
-    Specifies the signature key used by the provider. The key is
-    identified by its keystore alias. The default value is `s1as`.
-
-[[sthref424]]
-
-Operands
-
-provider_name::
-  The name of the provider used to reference the `provider-config`
-  element.
-
-[[sthref425]]
-
-Examples
-
-[[GSRFM507]][[sthref426]]
-
-Example 1   Creating a Message Security Provider
-
-The following example shows how to create a message security provider
-for a client.
-
-[source,oac_no_warn]
-----
-asadmin> create-message-security-provider 
---classname com.sun.enterprise.security.jauth.ClientAuthModule
---providertype client mySecurityProvider
-----
-
-[[sthref427]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref428]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)],
-link:list-message-security-providers.html#list-message-security-providers-1[`list-message-security-providers`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-module-config.adoc b/docs/reference-manual/src/main/jbake/content/create-module-config.adoc
deleted file mode 100644
index dc1c27f..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-module-config.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=create-module-config
-next=create-network-listener.html
-prev=create-message-security-provider.html
-~~~~~~
-create-module-config
-====================
-
-[[create-module-config-1]][[GSRFM844]][[create-module-config]]
-
-create-module-config
---------------------
-
-adds the default configuration of a module to `domain.xml`
-
-[[sthref429]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-module-config [--help]
-[--dryrun={false|true}]
-[--all={false|true}]
-[--target target] 
-[service_name]
-----
-
-[[sthref430]]
-
-Description
-
-The `create-module-config` subcommand adds the default configuration of
-a module to `domain.xml`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref431]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--dryrun`::
-  Displays the default configuration of a module but does not add it to
-  `domain.xml`. The default value is `false`.
-`--all`::
-  Adds all default configurations of modules to `domain.xml` if they are
-  not already in it. The default value is `false`.
-`--target`::
-  Specifies the target to which the default configuration is being
-  added. +
-  Possible values are as follows: +
-  `server`;;
-    Adds the default configuration to the default server instance. This
-    is the default value.
-  `domain`;;
-    Adds the default configuration to the default domain.
-  cluster-name;;
-    Adds the default configuration to every server instance in the
-    specified cluster.
-  instance-name;;
-    Adds the default configuration to the specified instance.
-
-[[sthref432]]
-
-Operands
-
-service_name::
-  The name of the module for which the default configuration is to be
-  added.
-
-[[sthref433]]
-
-Examples
-
-[[GSRFM845]][[sthref434]]
-
-Example 1   Adding a Default 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,oac_no_warn]
-----
-asadmin> create-module-config web-container
-Command create-module-config executed successfully.
-----
-
-[[sthref435]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref436]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-module-config.html#delete-module-config-1[`delete-module-config`(1)],
-link:get-active-module-config.html#get-active-module-config-1[`get-active-module-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-network-listener.adoc b/docs/reference-manual/src/main/jbake/content/create-network-listener.adoc
deleted file mode 100644
index 6505f3f..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-network-listener.adoc
+++ /dev/null
@@ -1,159 +0,0 @@
-type=page
-status=published
-title=create-network-listener
-next=create-node-config.html
-prev=create-module-config.html
-~~~~~~
-create-network-listener
-=======================
-
-[[create-network-listener-1]][[GSRFM00046]][[create-network-listener]]
-
-create-network-listener
------------------------
-
-adds a new network listener socket
-
-[[sthref437]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-network-listener [--help]
-[--address address] 
---listenerport listener-port 
-[--threadpool thread-pool] 
---protocol protocol 
-[--transport transport] 
-[--enabled={true|false}] 
-[--jkenabled={false|true}]
-[--target target]
-listener-name
-----
-
-[[sthref438]]
-
-Description
-
-The `create-network-listener` subcommand creates a network listener.
-This subcommand is supported in remote mode only.
-
-
-[NOTE]
-=======================================================================
-
-If you edit the special network listener named `admin-listener`, you
-must restart the server for the changes to take effect. The
-Administration Console does not tell you that a restart is required in
-this case.
-
-=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-You can use the `create-http-listener` subcommand to create a network
-listener that uses the HTTP protocol without having to first create a
-protocol, transport, or HTTP configuration. This subcommand is a
-convenient shortcut, but it gives access to only a limited number of
-options.
-
-=======================================================================
-
-
-[[sthref439]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--address`::
-  The IP address or the hostname (resolvable by DNS).
-`--listenerport`::
-  The port number to create the listen socket on. Legal values are
-  1-65535. On UNIX, creating sockets that listen on ports 1-1024
-  requires superuser privileges. Configuring an SSL listen socket to
-  listen on port 443 is standard.
-`--threadpool`::
-  The name of the thread pool for this listener. Specifying a thread
-  pool is optional. The default is `http-thread-pool`.
-`--protocol`::
-  The name of the protocol for this listener.
-`--transport`::
-  The name of the transport for this listener. Specifying a transport is
-  optional. The default is `tcp`.
-`--enabled`::
-  If set to `true`, the default, the listener is enabled at runtime.
-`--jkenabled`::
-  If set to `true`, `mod_jk` is enabled for this listener. The default
-  is false.
-`--target`::
-  Creates the network listener only on the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Creates the network listener on the default server instance. This is
-    the default value.
-  configuration-name;;
-    Creates the network listener in the specified configuration.
-  cluster-name;;
-    Creates the network listener on all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Creates the network listener on the specified standalone server
-    instance.
-
-[[sthref440]]
-
-Operands
-
-listener-name::
-  The name of the network listener.
-
-[[sthref441]]
-
-Examples
-
-[[GSRFM508]][[sthref442]]
-
-Example 1   Creating a Network Listener
-
-The following command creates a network listener named `sampleListener`
-that is not enabled at runtime:
-
-[source,oac_no_warn]
-----
-asadmin> create-network-listener --listenerport 7272 protocol http-1 
---enabled=false sampleListener
-Command create-network-listener executed successfully.
-----
-
-[[sthref443]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref444]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
-link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
-link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
-link:create-transport.html#create-transport-1[`create-transport`(1)],
-link:delete-network-listener.html#delete-network-listener-1[`delete-network-listener`(1)],
-link:list-network-listeners.html#list-network-listeners-1[`list-network-listeners`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-node-config.adoc b/docs/reference-manual/src/main/jbake/content/create-node-config.adoc
deleted file mode 100644
index fd89dea..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-node-config.adoc
+++ /dev/null
@@ -1,169 +0,0 @@
-type=page
-status=published
-title=create-node-config
-next=create-node-dcom.html
-prev=create-network-listener.html
-~~~~~~
-create-node-config
-==================
-
-[[create-node-config-1]][[GSRFM00047]][[create-node-config]]
-
-create-node-config
-------------------
-
-creates a node that is not enabled for remote communication
-
-[[sthref445]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-node-config [--help]
-[--nodehost node-host]
-[--installdir as-install-parent] [--nodedir node-dir] node-name
-----
-
-[[sthref446]]
-
-Description
-
-The `create-node-config` subcommand creates a node that is not enabled
-for remote communication. The `create-node-config` subcommand does not
-require the Distributed Component Object Model (DCOM) remote protocol or
-secure shell (SSH) to be configured to create the node.
-
-A node represents a host on which the \{product---name} software is
-installed. A node must exist for every host on which \{product---name}
-instances reside.
-
-
-[NOTE]
-=======================================================================
-
-To represent the host where the DAS is running, \{product---name}
-provides the predefined node `localhost-`domain. The predefined node
-`localhost-`domain is not enabled for remote communication.
-
-=======================================================================
-
-
-All administration of instances on a node that is not enabled for remote
-communication must be performed on the host that the node represents.
-The domain administration server (DAS) on a remote host cannot contact
-the node. To administer instances on a node that represents a host that
-is remote from the DAS, you must use the following subcommands:
-
-* link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-* link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
-* link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]
-
-However, you may use
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-or link:stop-instance.html#stop-instance-1[`stop-instance`(1)] to stop
-the instances.
-
-This subcommand is supported in remote mode only.
-
-[[sthref447]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodehost`::
-  The name of the host that the node represents. If this option is
-  omitted, no host is specified for the node.
-`--installdir`::
-  The full path to the parent of the base installation directory of the
-  \{product---name} software on the host, for example,
-  `/export/glassfish3/`. If this option is omitted, no parent of the
-  base installation directory of the \{product---name} software is
-  specified for the node.
-`--nodedir`::
-  The path to the directory that is to contain \{product---name}
-  instances that are created on the node. If a relative path is
-  specified, the path is relative to the as-install directory. If this
-  option is omitted, no directory for instances is specified for the
-  node.
-
-[[sthref448]]
-
-Operands
-
-node-name::
-  The name of the node. +
-  The name must meet the following requirements: +
-  * The name may contain only ASCII characters.
-  * The name must start with a letter, a number, or an underscore.
-  * The name may contain only the following characters:
-  ** Lowercase letters
-  ** Uppercase letters
-  ** Numbers
-  ** Hyphen
-  ** Period
-  ** Underscore
-  * The name must be unique in the domain and must not be the name of
-  another node, a cluster, a named configuration, or a \{product---name}
-  instance.
-  * The name must not be `domain`, `server`, or any other keyword that
-  is reserved by \{product---name}.
-
-[[sthref449]]
-
-Examples
-
-[[GSRFM509]][[sthref450]]
-
-Example 1   Creating a Node That Is Not Enabled for Remote Communication
-
-This example creates the node `sj03` for host `sj03.example.com`. The
-node is not enabled for remote communication.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-config --nodehost sj03.example.com sj03
-
-Command create-node-config executed successfully.
-----
-
-[[sthref451]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref452]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
-link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-node-dcom.adoc b/docs/reference-manual/src/main/jbake/content/create-node-dcom.adoc
deleted file mode 100644
index f4087e5..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-node-dcom.adoc
+++ /dev/null
@@ -1,226 +0,0 @@
-type=page
-status=published
-title=create-node-dcom
-next=create-node-ssh.html
-prev=create-node-config.html
-~~~~~~
-create-node-dcom
-================
-
-[[create-node-dcom-1]][[GSRFM510]][[create-node-dcom]]
-
-create-node-dcom
-----------------
-
-creates a node that is enabled for communication over DCOM
-
-[[sthref453]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-node-dcom [--help]
---nodehost node-host
-[--installdir as-install-parent] [--nodedir node-dir] 
-[--windowsuser windows-user] [--windowsdomain windows-domain]
-[--force={false|true}]
-[--install={false|true}] [--archive archive]
-node-name
-----
-
-[[sthref454]]
-
-Description
-
-The `create-node-dcom` subcommand creates a node that is enabled for
-communication over the Distributed Component Object Model (DCOM) remote
-protocol. The DCOM protocol is available only on Windows systems.
-
-A node represents a host on which the \{product---name} software is
-installed. A node must exist for every host on which \{product---name}
-instances reside.
-
-In a DCOM-enabled network, the domain administration server (DAS)
-contacts a node's host through the DCOM connector to manage
-\{product---name} instances that reside on the node. DCOM is used only
-for communications between hosts. DCOM is never used for communications
-within a single host.
-
-By default, the subcommand fails and the node is not created if the DAS
-cannot contact the node's host through DCOM. To force the node to be
-created in the DAS configuration even if the host cannot be contacted
-through DCOM, set the `--force` option to `true`.
-
-The `create-node-dcom` subcommand cannot create a node that represents
-the local host, that is, the host on which the subcommand is run. The
-subcommand fails regardless of how the local host is specified, for
-example, by using the keyword `localhost`, the Internet Protocol (IP)
-address of the host, or the host name.
-
-This subcommand is supported in remote mode only.
-
-[[sthref455]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodehost`::
-  The name of the host that the node represents. The name of the host
-  must be specified. Otherwise, an error occurs.
-`--installdir`::
-  The full path to the parent of the base installation directory of the
-  \{product---name} software on the host, for example, `C:\glassfish3`.
-  The default is the parent of the default base installation directory
-  of the \{product---name} software for the DAS. This default is useful
-  only if \{product---name} is installed in the same location on all
-  hosts.
-`--nodedir`::
-  The path to the directory that is to contain \{product---name}
-  instances that are created on the node. The default is
-  as-install`\nodes`, where as-install is the base installation
-  directory of the \{product---name} software on the host. If a relative
-  path is specified, the path is relative to the as-install directory.
-`--windowsuser`::
-`-w`::
-  The user on this node's host that is to run the process for connecting
-  to the host through DCOM. The default is the user that is running the
-  DAS process. If the `--nodehost` option is set to `localhost-`domain,
-  the `--windowsuser` option is ignored
-`--windowsdomain`::
-`-d`::
-  The name of the Windows domain that contains the user that the
-  `--windowsuser` option specifies. The default is the name of the host
-  on which the subcommand is run.
-`--force`::
-  Specifies whether the node is created in the DAS configuration even if
-  validation of the node's parameters fails. To validate a node's
-  parameters, the DAS must be able to contact the node's host through
-  DCOM. Possible values are as follows: +
-  `false`;;
-    The node is not created if validation of the node's parameters fails
-    (default).
-  `true`;;
-    The node is created even if validation of the node's parameters
-    fails.
-`--install`::
-  Specifies whether the subcommand shall install the \{product---name}
-  software on the host that the node represents. +
-  Possible values are as follows: +
-  `false`;;
-    The subcommand shall not install the \{product---name} software on
-    the host (default).
-  `true`;;
-    The subcommand shall install the \{product---name} software on the
-    host.
-`--archive`::
-  The absolute path to the archive file of the \{product---name}
-  software that is to be installed. If this option is omitted and the
-  `--install` is `true`, the subcommand creates a ZIP archive of the
-  \{product---name} software from the installation where this subcommand
-  is run. The archive does not contain the `domains` directory or the
-  `nodes` directory.
-
-[[sthref456]]
-
-Operands
-
-node-name::
-  The name of the node. +
-  The name must meet the following requirements: +
-  * The name may contain only ASCII characters.
-  * The name must start with a letter, a number, or an underscore.
-  * The name may contain only the following characters:
-  ** Lowercase letters
-  ** Uppercase letters
-  ** Numbers
-  ** Hyphen
-  ** Period
-  ** Underscore
-  * The name must be unique in the domain and must not be the name of
-  another node, a cluster, a named configuration, or a \{product---name}
-  instance.
-  * The name must not be `domain`, `server`, or any other keyword that
-  is reserved by \{product---name}.
-
-[[sthref457]]
-
-Examples
-
-[[GSRFM511]][[sthref458]]
-
-Example 1   Creating a Node
-
-This example creates the node `wpmdl1` for the host
-`wpmdl1.example.com`. By default, the parent of the base installation
-directory of the \{product---name} software is `C:\glassfish3`.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-dcom 
---nodehost wpmdl1.example.com wpmdl1
-Command create-node-dcom executed successfully.
-----
-
-[[GSRFM829]][[sthref459]]
-
-Example 2   Creating a Node With a Specific Installation Directory
-
-This example creates the node `wyml1` for the host `wyml1.example.com`.
-The parent of the base installation directory of the \{product---name}
-software on this host is `C:\middleware\glassfish3`.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-dcom --installdir C:\middleware\glassfish3 
---nodehost wyml1.example.com wyml1
-Command create-node-dcom executed successfully.
-----
-
-[[GSRFM512]][[sthref460]]
-
-Example 3   Forcing the Creation of a Node
-
-This example forces the creation of node `xkyd` for the host
-`xkyd.example.com`. The node is created despite the failure of the DAS
-to contact the host `xkyd.example.com` to validate the node's
-parameters.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-dcom --force --nodehost xkyd.example.com xkyd
-Warning: some parameters appear to be invalid.
-com.sun.enterprise.universal.process.WindowsException: Connection in error
-Continuing with node creation due to use of --force.
-Command create-node-dcom executed successfully.
-----
-
-[[sthref461]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref462]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-node-ssh.adoc b/docs/reference-manual/src/main/jbake/content/create-node-ssh.adoc
deleted file mode 100644
index 3487062..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-node-ssh.adoc
+++ /dev/null
@@ -1,241 +0,0 @@
-type=page
-status=published
-title=create-node-ssh
-next=create-password-alias.html
-prev=create-node-dcom.html
-~~~~~~
-create-node-ssh
-===============
-
-[[create-node-ssh-1]][[GSRFM00048]][[create-node-ssh]]
-
-create-node-ssh
----------------
-
-creates a node that is enabled for communication over SSH
-
-[[sthref463]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-node-ssh [--help]
---nodehost node-host
-[--installdir as-install-parent] [--nodedir node-dir] 
-[--sshport ssh-port] [--sshuser ssh-user] 
-[--sshkeyfile ssh-keyfile]
-[--force={false|true}]
-[--install={false|true}] [--archive archive]
-node-name
-----
-
-[[sthref464]]
-
-Description
-
-The `create-node-ssh` subcommand creates a node that is enabled for
-communication over secure shell (SSH).
-
-A node represents a host on which the \{product---name} software is
-installed. A node must exist for every host on which \{product---name}
-instances reside.
-
-The domain administration server (DAS) contacts an SSH node's host
-through the SSH connector to manage \{product---name} instances that
-reside on the node. However, the DAS does not use the SSH connector to
-contact the host where the DAS is running because the DAS can run all
-`asadmin` subcommands locally.
-
-By default, the subcommand fails and the node is not created if the DAS
-cannot contact the node's host through SSH. To force the node to be
-created in the DAS configuration even if the host cannot be contacted
-through SSH, set the `--force` option to `true`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref465]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodehost`::
-  The name of the host that the node represents. The name of the host
-  must be specified. Otherwise, an error occurs.
-`--installdir`::
-  The full path to the parent of the base installation directory of the
-  \{product---name} software on the host, for example,
-  `/export/glassfish3/`. The default is the parent of the default base
-  installation directory of the \{product---name} software for the DAS.
-  This default is useful only if \{product---name} is installed in the
-  same location on all hosts.
-`--nodedir`::
-  The path to the directory that is to contain \{product---name}
-  instances that are created on the node. The default is
-  as-install`/nodes`, where as-install is the base installation
-  directory of the \{product---name} software on the host. If a relative
-  path is specified, the path is relative to the as-install directory.
-`--sshport`::
-  The port to use for SSH connections to this node's host. The default
-  is 22. If the `--nodehost` option is set to `localhost-`domain, the
-  `--sshport` option is ignored.
-`--sshuser`::
-  The user on this node's host that is to run the process for connecting
-  to the host through SSH. The default is the user that is running the
-  DAS process. To ensure that the DAS can read this user's SSH private
-  key file, specify the user that is running the DAS process. If the
-  `--nodehost` option is set to `localhost-`domain, the `--sshuser`
-  option is ignored.
-`--sshkeyfile`::
-  The absolute path to the SSH private key file for user that the
-  `--sshuser` option specifies. This file is used for authentication to
-  the `sshd` daemon on the node's host. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-\{product---name} also supports password authentication through the
-`AS_ADMIN_SSHPASSWORD` entry in the password file. The password file
-is specified in the `--paswordfile` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility.
-
-|=======================================================================
-
-  If the SSH private key file is protected by a passphrase, the password
-  file must contain the `AS_ADMIN_SSHKEYPASSPHRASE` entry. +
-  The path to the key file must be reachable by the DAS and the key file
-  must be readable by the DAS. +
-  The default is the a key file in the user's `.ssh` directory. If
-  multiple key files are found, the subcommand uses the following order
-  of preference: +
-  1.  `id_rsa`
-  2.  `id_dsa`
-  3.  `identity`
-`--force`::
-  Specifies whether the node is created in the DAS configuration even if
-  validation of the node's parameters fails. To validate a node's
-  parameters, the DAS must be able to contact the node's host through
-  SSH. Possible values are as follows: +
-  `false`;;
-    The node is not created if validation of the node's parameters fails
-    (default).
-  `true`;;
-    The node is created even if validation of the node's parameters
-    fails.
-`--install`::
-  Specifies whether the subcommand shall install the \{product---name}
-  software on the host that the node represents. +
-  Possible values are as follows: +
-  `false`;;
-    The subcommand shall not install the \{product---name} software on
-    the host (default).
-  `true`;;
-    The subcommand shall install the \{product---name} software on the
-    host.
-`--archive`::
-  The absolute path to the archive file of the \{product---name}
-  software that is to be installed. If this option is omitted and the
-  `--install` is `true`, the subcommand creates a ZIP archive of the
-  \{product---name} software from the installation where this subcommand
-  is run. The archive does not contain the `domains` directory or the
-  `nodes` directory.
-
-[[sthref466]]
-
-Operands
-
-node-name::
-  The name of the node. +
-  The name must meet the following requirements: +
-  * The name may contain only ASCII characters.
-  * The name must start with a letter, a number, or an underscore.
-  * The name may contain only the following characters:
-  ** Lowercase letters
-  ** Uppercase letters
-  ** Numbers
-  ** Hyphen
-  ** Period
-  ** Underscore
-  * The name must be unique in the domain and must not be the name of
-  another node, a cluster, a named configuration, or a \{product---name}
-  instance.
-  * The name must not be `domain`, `server`, or any other keyword that
-  is reserved by \{product---name}.
-
-[[sthref467]]
-
-Examples
-
-[[GSRFM513]][[sthref468]]
-
-Example 1   Creating a Node
-
-This example creates the node `adc` for the host `adc.example.com`. By
-default, the parent of the base installation directory of the
-\{product---name} software is `/export/glassfish3`.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-ssh 
---nodehost adc.example.com 
---installdir /export/glassfish3 adc
-
-Command create-node-ssh executed successfully.
-----
-
-[[GSRFM514]][[sthref469]]
-
-Example 2   Forcing the Creation of a Node
-
-This example forces the creation of node `eg1` for the host
-`eghost.example.com`. The node is created despite the failure of the DAS
-to contact the host `eghost.example.com` to validate the node's
-parameters.
-
-[source,oac_no_warn]
-----
-asadmin> create-node-ssh --force --nodehost eghost.example.com eg1
-Warning: some parameters appear to be invalid.
-Could not connect to host eghost.example.com using SSH.
-There was a problem while connecting to eghost.example.com:22
-eghost.example.com
-Continuing with node creation due to use of --force.
-
-Command create-node-ssh executed successfully.
-----
-
-[[sthref470]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref471]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)],
-link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-password-alias.adoc b/docs/reference-manual/src/main/jbake/content/create-password-alias.adoc
deleted file mode 100644
index de1ac4a..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-password-alias.adoc
+++ /dev/null
@@ -1,126 +0,0 @@
-type=page
-status=published
-title=create-password-alias
-next=create-profiler.html
-prev=create-node-ssh.html
-~~~~~~
-create-password-alias
-=====================
-
-[[create-password-alias-1]][[GSRFM00049]][[create-password-alias]]
-
-create-password-alias
----------------------
-
-creates a password alias
-
-[[sthref472]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-password-alias [--help] 
-aliasname
-----
-
-[[sthref473]]
-
-Description
-
-The `create-password-alias` subcommand creates an alias for a password.
-An alias is a token of the form `${ALIAS=aliasname}`. The password that
-corresponds to the alias name is stored in an encrypted form.
-
-The `create-password-alias` subcommand can be run interactively or
-noninteractively.
-
-* When run interactively, the subcommand prompts the user for the alias
-password and to confirm the alias password.
-* When run noninteractively, the subcommand reads the alias password
-from a file that is passed through the `--passwordfile` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility. The file must
-contain an entry of the form `{cprefix}ALIASPASSWORD=`alias-password,
-where alias-password is the alias password. The noninteractive form of
-this command is suitable for use in scripts.
-
-This subcommand is supported in remote mode only.
-
-[[sthref474]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref475]]
-
-Operands
-
-aliasname::
-  Your choice of name for the password alias.
-
-[[sthref476]]
-
-Examples
-
-[[GSRFM515]][[sthref477]]
-
-Example 1   Creating a Password Alias Interactively
-
-This example creates the password alias `jmspassword-alias`
-interactively.
-
-[source,oac_no_warn]
-----
-asadmin> create-password-alias jmspassword-alias 
-Enter the alias password>
-Enter the alias password again>
-Command create-password-alias executed successfully.
-----
-
-[[GSRFM830]][[sthref478]]
-
-Example 2   Creating a Password Alias Noninteractively
-
-This example uses the `--passwordfile` option of the `asadmin` utility
-to create the password alias `winuser` noninteractively.
-
-[source,oac_no_warn]
-----
-$ asadmin --passwordfile aspwfile.txt create-password-alias winuser
-Command create-password-alias executed successfully.
-----
-
-The file `aspwfile.txt` contains the following entry to specify the
-alias password:
-
-[source,oac_no_warn]
-----
-AS_ADMIN_ALIASPASSWORD=sp@rky
-----
-
-[[sthref479]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref480]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
-link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
-link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-profiler.adoc b/docs/reference-manual/src/main/jbake/content/create-profiler.adoc
deleted file mode 100644
index d1582e1..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-profiler.adoc
+++ /dev/null
@@ -1,121 +0,0 @@
-type=page
-status=published
-title=create-profiler
-next=create-protocol.html
-prev=create-password-alias.html
-~~~~~~
-create-profiler
-===============
-
-[[create-profiler-1]][[GSRFM00050]][[create-profiler]]
-
-create-profiler
----------------
-
-creates the profiler element
-
-[[sthref481]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-profiler [--help] 
-[--target target_name] 
-[--classpath classpath] [--nativelibpath native_library_path] [--enabled=true] 
-[--property(name=value)[:name=value]*] profiler_name
-----
-
-[[sthref482]]
-
-Description
-
-The `create-profiler` subcommand creates the profiler element. A server
-instance is tied to the profiler by the profiler element in the Java
-configuration. Only one profiler exists at a time. If you attempt to
-create a profiler while one already exists, an error message is
-displayed.
-
-For changes to take effect, the server must restarted.
-
-This subcommand is supported in remote mode only.
-
-[[sthref483]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are creating a profiler.
-  Valid values are +
-  `server`;;
-    Creates the profiler for the default server instance. This is the
-    default value.
-  configuration_name;;
-    Creates the profiler for the named configuration
-  cluster_name;;
-    Creates the profiler for every server instance in the cluster
-  instance_name;;
-    Creates the profiler for a particular server instance
-`--classpath`::
-  Java classpath string that specifies the classes needed by the
-  profiler.
-`--nativelibpath`::
-  This path is automatically constructed to be a concatenation of the
-  \{product---name} installation relative path for its native shared
-  libraries, standard JRE native library path, the shell environment
-  setting (`LD_LIBRARY_PATH` on UNIX) and any path that may be specified
-  in the profile element.
-`--enabled`::
-  Profiler is enabled by default.
-`--property`::
-  Name/value pairs of provider-specific attributes.
-
-[[sthref484]]
-
-Operands
-
-profiler_name::
-  Name of the profiler.
-
-[[sthref485]]
-
-Examples
-
-[[GSRFM516]][[sthref486]]
-
-Example 1   Creating a Profiler
-
-This example creates a profiler named `sample_profiler`.
-
-[source,oac_no_warn]
-----
-asadmin> create-profiler --classpath /home/appserver/
---nativelibpath /u/home/lib --enabled=false
---property defaultuser=admin:password=adminadmin sample_profiler
-Created Profiler with id = sample_profiler
-----
-
-[[sthref487]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref488]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-profiler.html#delete-profiler-1[`delete-profiler`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-protocol-filter.adoc b/docs/reference-manual/src/main/jbake/content/create-protocol-filter.adoc
deleted file mode 100644
index f969a85..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-protocol-filter.adoc
+++ /dev/null
@@ -1,110 +0,0 @@
-type=page
-status=published
-title=create-protocol-filter
-next=create-protocol-finder.html
-prev=create-protocol.html
-~~~~~~
-create-protocol-filter
-======================
-
-[[create-protocol-filter-1]][[GSRFM00052]][[create-protocol-filter]]
-
-create-protocol-filter
-----------------------
-
-adds a new protocol filter
-
-[[sthref497]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-protocol-filter [--help]
---protocol protocol-name 
---classname class-name 
-[--target server]
-protocol-filter-name
-----
-
-[[sthref498]]
-
-Description
-
-The `create-protocol-filter` subcommand creates a protocol filter for a
-protocol. This subcommand is supported in remote mode only.
-
-[[sthref499]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--protocol`::
-  The name of the associated protocol.
-`--classname`::
-  The fully qualified name of the Java class that implements the
-  protocol filter.
-`--target`::
-  Creates the protocol filter only on the specified target. Valid values
-  are as follows: +
-  `server`;;
-    Creates the protocol filter on the default server instance. This is
-    the default value.
-  configuration-name;;
-    Creates the protocol filter in the specified configuration.
-  cluster-name;;
-    Creates the protocol filter on all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Creates the protocol filter on the specified standalone server
-    instance.
-
-[[sthref500]]
-
-Operands
-
-protocol-filter-name::
-  The name of the protocol filter.
-
-[[sthref501]]
-
-Examples
-
-[[GSRFM518]][[sthref502]]
-
-Example 1   Creating a Protocol Filter
-
-The following command creates a protocol filter named `http1-filter`:
-
-[source,oac_no_warn]
-----
-asadmin> create-protocol-filter --protocol http1
---classname com.company22.MyProtocolFilter http1-filter
-Command create-protocol-filter executed successfully.
-----
-
-[[sthref503]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref504]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
-link:delete-protocol-filter.html#delete-protocol-filter-1[`delete-protocol-filter`(1)],
-link:list-protocol-filters.html#list-protocol-filters-1[`list-protocol-filters`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-protocol-finder.adoc b/docs/reference-manual/src/main/jbake/content/create-protocol-finder.adoc
deleted file mode 100644
index dd763d9..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-protocol-finder.adoc
+++ /dev/null
@@ -1,95 +0,0 @@
-type=page
-status=published
-title=create-protocol-finder
-next=create-resource-adapter-config.html
-prev=create-protocol-filter.html
-~~~~~~
-create-protocol-finder
-======================
-
-[[create-protocol-finder-1]][[GSRFM00053]][[create-protocol-finder]]
-
-create-protocol-finder
-----------------------
-
-adds a new protocol finder
-
-[[sthref505]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-protocol-finder [--help]
---protocol protocol-name 
---targetprotocol target-protocol-name 
---classname class-name 
-[--target server]
-protocol-finder-name
-----
-
-[[sthref506]]
-
-Description
-
-The `create-protocol-finder` subcommand creates a protocol finder for a
-protocol. This subcommand is supported in remote mode only.
-
-[[sthref507]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--protocol`::
-  The name of the associated protocol.
-`--targetprotocol`::
-  The name of the target protocol.
-`--classname`::
-  The fully qualified name of the Java class that implements the
-  protocol finder.
-`--target`::
-  Creates the protocol finder only on the specified target. Valid values
-  are as follows: +
-  `server`;;
-    Creates the protocol finder on the default server instance. This is
-    the default value.
-  configuration-name;;
-    Creates the protocol finder in the specified configuration.
-  cluster-name;;
-    Creates the protocol finder on all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Creates the protocol finder on the specified standalone server
-    instance.
-
-[[sthref508]]
-
-Operands
-
-protocol-finder-name::
-  The name of the protocol finder.
-
-[[sthref509]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref510]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-protocol-finder.html#delete-protocol-finder-1[`delete-protocol-finder`(1)],
-link:list-protocol-finders.html#list-protocol-finders-1[`list-protocol-finders`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-protocol.adoc b/docs/reference-manual/src/main/jbake/content/create-protocol.adoc
deleted file mode 100644
index 30b1f59..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-protocol.adoc
+++ /dev/null
@@ -1,108 +0,0 @@
-type=page
-status=published
-title=create-protocol
-next=create-protocol-filter.html
-prev=create-profiler.html
-~~~~~~
-create-protocol
-===============
-
-[[create-protocol-1]][[GSRFM00051]][[create-protocol]]
-
-create-protocol
----------------
-
-adds a new protocol
-
-[[sthref489]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-protocol [--help]
-[--securityenabled={false|true}]
-[--target target]
-protocol-name
-----
-
-[[sthref490]]
-
-Description
-
-The `create-protocol` subcommand creates a protocol. This subcommand is
-supported in remote mode only.
-
-[[sthref491]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--securityenabled`::
-  If set to `true`, the protocol runs SSL. You can turn SSL2 or SSL3 ON
-  or OFF and set ciphers using an `ssl` element. The security setting
-  globally enables or disables SSL by making certificates available to
-  the server instance. The default value is `false`.
-`--target`::
-  Creates the protocol only on the specified target. Valid values are as
-  follows: +
-  `server`;;
-    Creates the protocol on the default server instance. This is the
-    default value.
-  configuration-name;;
-    Creates the protocol in the specified configuration.
-  cluster-name;;
-    Creates the protocol on all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Creates the protocol on the specified standalone server instance.
-
-[[sthref492]]
-
-Operands
-
-protocol-name::
-  The name of the protocol.
-
-[[sthref493]]
-
-Examples
-
-[[GSRFM517]][[sthref494]]
-
-Example 1   Creating a Protocol
-
-The following command creates a protocol named `http-1` with security
-enabled:
-
-[source,oac_no_warn]
-----
-asadmin> create-protocol --securityenabled=true http-1
-Command create-protocol executed successfully.
-----
-
-[[sthref495]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref496]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-protocol.html#delete-protocol-1[`delete-protocol`(1)],
-link:list-protocols.html#list-protocols-1[`list-protocols`(1)],
-link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-resource-adapter-config.adoc b/docs/reference-manual/src/main/jbake/content/create-resource-adapter-config.adoc
deleted file mode 100644
index 9973eb9..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-resource-adapter-config.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=create-resource-adapter-config
-next=create-resource-ref.html
-prev=create-protocol-finder.html
-~~~~~~
-create-resource-adapter-config
-==============================
-
-[[create-resource-adapter-config-1]][[GSRFM00054]][[create-resource-adapter-config]]
-
-create-resource-adapter-config
-------------------------------
-
-creates the configuration information for the connector module
-
-[[sthref511]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-resource-adapter-config [--help] 
-[--threadpoolid threadpool] 
-[--objecttype object-type] 
-[--property (property-name=value)[:name=value]*] 
-raname
-----
-
-[[sthref512]]
-
-Description
-
-The `create-resource-adapter-config` subcommand creates configuration
-information for the connector module. This subcommand can be run before
-deploying a resource adapter, so that the configuration information is
-available at the time of deployment. The resource adapter configuration
-can also be created after the resource adapter is deployed. In this
-case, the resource adapter is restarted with the new configuration. You
-must first create a thread pool, using the `create-threadpool`
-subcommand, and then identify that thread pool value as the ID in the
-`--threadpoolid` option.
-
-This subcommand is supported in remote mode only.
-
-[[sthref513]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option has been deprecated.
-`--threadpoolid`::
-  The thread pool ID from which the work manager gets the thread. This
-  option takes only one thread pool ID.
-`--objecttype`::
-  The default is `user`.
-`--property`::
-  Keyword-value pairs that specify additional configuration properties
-  of the resource adapter Java bean. The keyword-value pairs are
-  separated by a colon (`:`). The properties are the names of setter
-  methods of the class that is referenced by the `resourceadapter-class`
-  element in the `ra.xml` file.
-
-[[sthref514]]
-
-Operands
-
-raname::
-  Indicates the connector module name. It is the value of the
-  `resource-adapter-name` in the `domain.xml` file.
-
-[[sthref515]]
-
-Examples
-
-[[GSRFM519]][[sthref516]]
-
-Example 1   Creating a Resource Adapter Con figuration
-
-This example creates a resource adapter configuration for `ra1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-resource-adapter-config --property foo=bar --threadpoolid 
-mycustomerthreadpool ra1
-Command create-resource-adapter-config executed successfully
-----
-
-[[sthref517]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref518]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
-link:delete-resource-adapter-config.html#delete-resource-adapter-config-1[`delete-resource-adapter-config`(1)],
-link:list-resource-adapter-configs.html#list-resource-adapter-configs-1[`list-resource-adapter-configs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-resource-ref.adoc b/docs/reference-manual/src/main/jbake/content/create-resource-ref.adoc
deleted file mode 100644
index b87848d..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-resource-ref.adoc
+++ /dev/null
@@ -1,130 +0,0 @@
-type=page
-status=published
-title=create-resource-ref
-next=create-service.html
-prev=create-resource-adapter-config.html
-~~~~~~
-create-resource-ref
-===================
-
-[[create-resource-ref-1]][[GSRFM00055]][[create-resource-ref]]
-
-create-resource-ref
--------------------
-
-creates a reference to a resource
-
-[[sthref519]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-resource-ref [--help] 
-[--target target]
-[--enabled={false|true}] reference_name
-----
-
-[[sthref520]]
-
-Description
-
-The `create-resource-ref` subcommand creates a reference from a cluster
-or an unclustered server instance to a previously created resource, for
-example, a JDBC resource created by using the `create-jdbc-resource`
-subcommand. This effectively results in the resource being made
-available in the JNDI tree of the instance or cluster.
-
-The target instance or instances making up the cluster need not be
-running or available for this subcommand to succeed. If one or more
-instances are not available, they will receive the new resource the next
-time they start.
-
-
-[NOTE]
-=======================================================================
-
-A `resource-ref` can only be created for bindable resources, such as a
-`jdbc-resource`, `connector-resource`, `admin-object-resource`,
-`mail-resource`, `custom-resource`, or `jndi-resource`.
-
-A `jdbc-connection-pool` or a `connector-connection-pool` are not
-referred to directly by applications. Instead, they are referred to
-through a `jdbc-resource` or `connector-resource`, respectively.
-
-=======================================================================
-
-
-This subcommand is supported in remote mode only.
-
-[[sthref521]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you are creating the resource
-  reference. Valid targets are as follows: +
-  `server`;;
-    Creates the resource reference for the default server instance. This
-    is the default target.
-  cluster_name;;
-    Creates the resource reference for every server instance in the
-    cluster.
-  instance_name;;
-    Creates the resource reference for the named unclustered server
-    instance.
-`--enabled`::
-  Indicates whether the resource should be enabled. This value will take
-  effect only if the resource is enabled at the global level. The
-  default is `true`.
-
-[[sthref522]]
-
-Operands
-
-reference_name::
-  The name or JNDI name of the resource.
-
-[[sthref523]]
-
-Examples
-
-[[GSRFM520]][[sthref524]]
-
-Example 1   Creating a Reference to a JMS Destination Resource
-
-This example creates a reference to the JMS destination resource
-`jms/Topic` on the cluster `Cluster1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-resource-ref --target Cluster1 jms/Topic
-resource-ref jms/Topic created successfully.
-Command create-resource-ref executed successfully.
-----
-
-[[sthref525]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref526]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-resource-ref.html#delete-resource-ref-1[`delete-resource-ref`(1)],
-link:list-resource-refs.html#list-resource-refs-1[`list-resource-refs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-service.adoc b/docs/reference-manual/src/main/jbake/content/create-service.adoc
deleted file mode 100644
index 2420ae2..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-service.adoc
+++ /dev/null
@@ -1,339 +0,0 @@
-type=page
-status=published
-title=create-service
-next=create-ssl.html
-prev=create-resource-ref.html
-~~~~~~
-create-service
-==============
-
-[[create-service-1]][[GSRFM00057]][[create-service]]
-
-create-service
---------------
-
-configures the starting of a DAS or a \{product---name} instance on an
-unattended boot
-
-[[sthref527]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-service [--help] 
-[--name service-name] 
-[--serviceproperties service-properties] 
-[--dry-run={false|true}] [--force={false|true}] 
-[--serviceuser service-user]
-[--domaindir domain-dir] 
-[--nodedir node-dir] [--node node]
-[domain-or-instance-name]
-----
-
-[[sthref528]]
-
-Description
-
-The `create-service` subcommand configures the starting of a domain
-administration server (DAS) or a \{product---name} instance on an
-unattended boot on Windows, Linux, and Oracle Solaris systems.
-
-If no operand is specified and the domains directory contains only one
-domain, the subcommand configures the starting of the DAS for the
-default domain. If no operand is specified and the domains directory
-contains multiple domains, an error occurs.
-
-If the operand specifies an instance, the `create-service` subcommand
-does not contact the domain administration server (DAS) to determine the
-node on which the instance resides. To determine the node on which the
-instance resides, the subcommand searches the directory that contains
-the node directories. If multiple node directories exist, the node must
-be specified as an option of the subcommand.
-
-The subcommand contains internal logic to determine whether the supplied
-operand is a DAS or an instance.
-
-This subcommand is supported in local mode only.
-
-Behavior of `create-service` on Windows Systems
-
-On Windows systems, the `create-service` subcommand creates a Windows
-service to represent the DAS or instance. The service is created in the
-disabled state. After this subcommand creates the service, you must use
-the Windows Services Manager or the Windows Services Wrapper to start,
-stop, uninstall, or install the service.
-
-On Windows systems, this subcommand must be run as the OS-level
-administrator user.
-
-The subcommand creates the following Windows Services Wrapper files for
-the service in the domain-dir`\bin` directory or the instance-dir`\bin`
-directory:
-
-* Configuration file: service-name`Service.xml`
-* Executable file: service-name`Service.exe`
-
-On Windows systems, this subcommand requires the
-http://www.microsoft.com/net/[Microsoft .NET Framework]
-(http://www.microsoft.com/net/). Otherwise, the subcommand fails.
-
-Behavior of `create-service` on Linux Systems
-
-On Linux systems, the `create-service` subcommand creates a
-System-V-style initialization script
-`/etc/init.d/GlassFish_`domain-or-instance-name and installs a link to
-this script in the `/etc/rc?.d` directories. After this subcommand
-creates the script, you must use this script to start, stop, or restart
-the domain or instance.
-
-On Linux systems, this subcommand must be run as the OS-level root user.
-
-Behavior of `create-service` on Oracle Solaris Systems
-
-On Oracle Solaris systems, the `create-service` subcommand creates a
-Service Management Facility (SMF) service to represent the DAS or
-instance. The service is created in the disabled state. After this
-subcommand creates the service, you must use SMF commands to start,
-enable, disable, delete, or stop the service. For more information about
-SMF, see the following documentation for the Oracle Solaris operating
-system:
-
-* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1hbrunlevels-25516[Managing
-Services (Overview)]" in System Administration Guide: Basic
-Administration
-* "http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1faauf[Managing
-Services (Tasks)]" in System Administration Guide: Basic Administration
-
-On Oracle Solaris systems, this subcommand must be run as the OS-level
-user with superuser privileges. The configuration file for the DAS or
-instance must be stored in a directory to which the superuser has access
-and cannot be stored on a network file system. The service that is
-created is controlled by the OS-level user who owns the directory where
-the configuration of the DAS or instance resides.
-
-On Oracle Solaris systems, the manifest file is created in the following
-directory by default:
-
-[source,oac_no_warn]
-----
-/var/svc/manifest/application/GlassFish/domain-or-instance-name_domain-or-instance-root-dir
-----
-
-To run this subcommand, you must have `solaris.smf.*` authorization. For
-information about how to grant authorizations to users, see the
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)]
-and
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
-man pages.
-
-To run these commands as non-root user, the system administrator must be
-contacted so that the relevant authorizations are granted. You must also
-ensure that the following conditions are met:
-
-* Oracle Solaris 10 administration commands such as
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`(1M)],
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)],
-and
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`(1)]
-are available through the `PATH` statement, so that these commands can
-be executed. A simple test to do so is to run the command `which svccfg`
-in the shell.
-* You must have write permission for the path
-`/var/svc/manifest/application/GlassFish`. Usually, the superuser has
-write permission to this path.
-
-If you delete a service that you created by using the `create-service`
-subcommand, you must delete the directory that contains the manifest
-file and the entire contents of the directory. Otherwise, an attempt to
-re-create the service by using the `create-service` subcommand fails.
-The Oracle Solaris command `svccfg` does not delete this directory.
-
-[[sthref529]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  (Windows and Oracle Solaris systems only) The name of the service that
-  you will use when administering the service through Oracle Solaris SMF
-  commands or the service management features of the Windows operating
-  system. The default is the name of the domain or instance that is
-  specified as the operand of this subcommand.
-`--serviceproperties`::
-  Specifies a colon(:)-separated list of various properties that are
-  specific to the service. +
-  To customize the display name of the service in the Windows Service
-  list, set the `DISPLAY_NAME` property to the required name. +
-  For Oracle Solaris 10 systems, if you specify `net_privaddr`, the
-  service's processes will be able to bind to the privileged ports
-  (<1024) on the platform. You can bind to ports< 1024 only if the owner
-  of the service is superuser, otherwise, this is not allowed.
-`--dry-run`::
-`-n`::
-  Previews your attempt to create a service. Indicates issues and the
-  outcome that will occur if you run the command without using the
-  `--dry-run` option. Nothing is actually configured. Default is false.
-`--force`::
-  Specifies whether the service is created even if validation of the
-  service fails. +
-  Possible values are as follows: +
-  `true`;;
-    The service is created even if validation of the service fails.
-  `false`;;
-    The service is not created (default).
-`--serviceuser`::
-  (Linux systems only) The user that is to run the \{product---name}
-  software when the service is started. The default is the user that is
-  running the subcommand. Specify this option if the \{product---name}
-  software is to be run by a user other than the root user.
-`--domaindir`::
-  The absolute path of the directory on the disk that contains the
-  configuration of the domain. If this option is specified, the operand
-  must specify a domain.
-`--nodedir`::
-  Specifies the directory that contains the instance's node directory.
-  The instance's files are stored in the instance's node directory. The
-  default is as-install`/nodes`. If this option is specified, the
-  operand must specify an instance.
-`--node`::
-  Specifies the node on which the instance resides. This option may be
-  omitted only if the directory that the `--nodedir` option specifies
-  contains only one node directory. Otherwise, this option is required.
-  If this option is specified, the operand must specify an instance.
-
-[[sthref530]]
-
-Operands
-
-domain-or-instance-name::
-  The name of the domain or instance to configure. If no operand is
-  specified, the default domain is used.
-
-[[sthref531]]
-
-Examples
-
-[[GSRFM522]][[sthref532]]
-
-Example 1   Creating a Service on a Windows System
-
-This example creates a service for the default domain on a system that
-is running Windows.
-
-[source,oac_no_warn]
-----
-asadmin> create-service
-Found the Windows Service and successfully uninstalled it.
-The Windows Service was created successfully.  It is ready to be started.  Here are 
-the details:
-ID of the service: domain1
-Display Name of the service:domain1 GlassFish Server
-Domain Directory: C:\glassfish3\glassfish\domains\domain1
-Configuration file for Windows Services Wrapper: C:\glassfish3\glassfish\domains\
-domain1\bin\domain1Service.xml
-The service can be controlled using the Windows Services Manager or you can use the
-Windows Services Wrapper instead:
-Start Command:  C:\glassfish3\glassfish\domains\domain1\bin\domain1Service.exe  start
-Stop Command:   C:\glassfish3\glassfish\domains\domain1\bin\domain1Service.exe  stop
-Uninstall Command:  C:\glassfish3\glassfish\domains\domain1\bin\domain1Service.exe
-uninstall
-Install Command:  C:\glassfish3\glassfish\domains\domain1\bin\domain1Service.exe
-install
-
-This message is also available in a file named PlatformServices.log in the domain's 
-root directory
-Command create-service executed successfully.
-----
-
-[[GSRFM523]][[sthref533]]
-
-Example 2   Creating a Service on a Linux System
-
-This example creates a service for the default domain on a system that
-is running Linux.
-
-[source,oac_no_warn]
-----
-asadmin> create-service
-Found the Linux Service and successfully uninstalled it.
-The Service was created successfully. Here are the details:
-Name of the service:domain1
-Type of the service:Domain
-Configuration location of the service:/etc/init.d/GlassFish_domain1
-User account that will run the service: root
-You have created the service but you need to start it yourself.
-Here are the most typical Linux commands of interest:
-
-* /etc/init.d/GlassFish_domain1 start
-* /etc/init.d/GlassFish_domain1 stop
-* /etc/init.d/GlassFish_domain1 restart
-
-For your convenience this message has also been saved to this file: 
-/export/glassfish3/glassfish/domains/domain1/PlatformServices.log
-Command create-service executed successfully.
-----
-
-[[GSRFM524]][[sthref534]]
-
-Example 3   Creating a Service on an Oracle Solaris System
-
-This example creates a service for the default domain on a system that
-is running Oracle Solaris.
-
-[source,oac_no_warn]
-----
-asadmin> create-service 
-The Service was created successfully. Here are the details:
-Name of the service:application/GlassFish/domain1
-Type of the service:Domain
-Configuration location of the service:/home/gfuser/glassfish-installations
-/glassfish3/glassfish/domains
-Manifest file location on the system:/var/svc/manifest/application
-/GlassFish/domain1_home_gfuser_glassfish-installations_glassfish3
-_glassfish_domains/Domain-service-smf.xml.
-You have created the service but you need to start it yourself. 
-Here are the most typical Solaris commands of interest:
-* /usr/bin/svcs -a | grep domain1 // status
-* /usr/sbin/svcadm enable domain1 // start
-* /usr/sbin/svcadm disable domain1 // stop
-* /usr/sbin/svccfg delete domain1 // uninstall
-Command create-service executed successfully.
-----
-
-[[sthref535]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref536]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1auths-1[`auths`(1)],
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1svcs-1[`svcs`(1)]
-
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msvccfg-1m[`svccfg`(1M)],
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Museradd-1m[`useradd`(1M)],
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Musermod-1m[`usermod`(1M)]
-
-"http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1hbrunlevels-25516[Managing
-Services (Overview)]" in System Administration Guide: Basic
-Administration,
-"http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=SYSADV1faauf[Managing
-Services (Tasks)]" in System Administration Guide: Basic Administration
-
-Microsoft .NET Framework (`http://www.microsoft.com/net/`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-ssl.adoc b/docs/reference-manual/src/main/jbake/content/create-ssl.adoc
deleted file mode 100644
index 24accad..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-ssl.adoc
+++ /dev/null
@@ -1,185 +0,0 @@
-type=page
-status=published
-title=create-ssl
-next=create-system-properties.html
-prev=create-service.html
-~~~~~~
-create-ssl
-==========
-
-[[create-ssl-1]][[GSRFM00058]][[create-ssl]]
-
-create-ssl
-----------
-
-creates and configures the SSL element in the selected HTTP listener,
-IIOP listener, or IIOP service
-
-[[sthref537]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-ssl [--help]
-[--target target]
---type listener_or_service_type
---certname cert_name 
-[--ssl2enabled={false|true}] [--ssl2ciphers ss12ciphers] 
-[--ssl3enabled={true|false}] [--tlsenabled={true|false}]
-[--ssl3tlsciphers ssl3tlsciphers]
-[--tlsrollbackenabled={true|false}]
-[--clientauthenabled={false|true}]
-[listener_id]
-----
-
-[[sthref538]]
-
-Description
-
-The `create-ssl` subcommand creates and configures the SSL element in
-the selected HTTP listener, IIOP listener, or IIOP service to enable
-secure communication on that listener/service.
-
-This subcommand is supported in remote mode only.
-
-[[sthref539]]
-
-Options
-
-If an option has a short option name, then the short option precedes the
-long option name. Short options have one dash whereas long options have
-two dashes.
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which you are configuring the ssl element. The
-  following values are valid: +
-  `server`;;
-    Specifies the server in which the iiop-service or HTTP/IIOP listener
-    is to be configured for SSL.
-  config;;
-    Specifies the configuration that contains the HTTP/IIOP listener or
-    iiop-service for which SSL is to be configured.
-  cluster;;
-    Specifies the cluster in which the HTTP/IIOP listener or
-    iiop-service is to be configured for SSL. All the server instances
-    in the cluster will get the SSL configuration for the respective
-    listener or iiop-service.
-  instance;;
-    Specifies the instance in which the HTTP/IIOP listener or
-    iiop-service is to be configured for SSL.
-`--type`::
-  The type of service or listener for which the SSL is created. The type
-  can be: +
-  * `network-listener`
-  * `http-listener`
-  * `iiop-listener`
-  * `iiop-service`
-  * `jmx-connector` +
-  When the type is `iiop-service`, the `ssl-client-config` along with
-  the embedded `ssl` element is created in `domain.xml`.
-`--certname`::
-  The nickname of the server certificate in the certificate database or
-  the PKCS#11 token. The format of the name in the certificate is
-  tokenname:nickname. For this property, the tokenname: is optional.
-`--ssl2enabled`::
-  Set this property to `true` to enable SSL2. The default value is
-  `false`. If both SSL2 and SSL3 are enabled for a virtual server, the
-  server tries SSL3 encryption first. In the event SSL3 encryption
-  fails, the server then tries SSL2 encryption.
-`--ssl2ciphers`::
-  A comma-separated list of the SSL2 ciphers to be used. Ciphers not
-  explicitly listed will be disabled for the target, even if those
-  ciphers are available in the particular cipher suite you are using. If
-  this option is not used, all supported ciphers are assumed to be
-  enabled. Allowed values are: +
-  * `rc4`
-  * `rc4export`
-  * `rc2`
-  * `rc2export`
-  * `idea`
-  * `des`
-  * `desede3`
-`--ssl3enabled`::
-  Set this property to `false` to disable SSL3. The default value is
-  `true`. If both SSL2 and SSL3 are enabled for a virtual server, the
-  server tries SSL3 encryption first. In the event SSL3 encryption
-  fails, the server then tries SSL2 encryption.
-`--tlsenabled`::
-  Set this property to `false` to disable TLS. The default value is
-  `true` It is good practice to enable TLS, which is a more secure
-  version of SSL.
-`--ssl3tlsciphers`::
-  A comma-separated list of the SSL3 and/or TLS ciphers to be used.
-  Ciphers not explicitly listed will be disabled for the target, even if
-  those ciphers are available in the particular cipher suite you are
-  using. If this option is not used, all supported ciphers are assumed
-  to be enabled. Allowed values are: +
-  * `SSL_RSA_WITH_RC4_128_MD5`
-  * `SSL_RSA_WITH_3DES_EDE_CBC_SHA`
-  * `SSL_RSA_WITH_DES_CBC_SHA`
-  * `SSL_RSA_EXPORT_WITH_RC4_40_MD5`
-  * `SSL_RSA_WITH_NULL_MD5`
-  * `SSL_RSA_WITH_RC4_128_SHA`
-  * `SSL_RSA_WITH_NULL_SHA`
-`--tlsrollbackenabled`::
-  Set to `true` (default) to enable TLS rollback. TLS rollback should be
-  enabled for Microsoft Internet Explorer 5.0 and 5.5. This option is
-  only valid when `-tlsenabled`=`true`.
-`--clientauthenabled`::
-  Set to `true` if you want SSL3 client authentication performed on
-  every request independent of ACL-based access control. Default value
-  is `false`.
-
-[[sthref540]]
-
-Operands
-
-listener_id::
-  The ID of the HTTP or IIOP listener for which the SSL element is to be
-  created. The listener_id is not required if the `--type` is
-  `iiop-service`.
-
-[[sthref541]]
-
-Examples
-
-[[GSRFM525]][[sthref542]]
-
-Example 1   Creating an SSL element for an HTTP listener
-
-The following example shows how to create an SSL element for an HTTP
-listener named `http-listener-1`.
-
-[source,oac_no_warn]
-----
-asadmin> create-ssl 
---type http-listener
---certname sampleCert http-listener-1
-Command create-ssl executed successfully.
-----
-
-[[sthref543]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref544]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-ssl.html#delete-ssl-1[`delete-ssl`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-system-properties.adoc b/docs/reference-manual/src/main/jbake/content/create-system-properties.adoc
deleted file mode 100644
index 23a53b0..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-system-properties.adoc
+++ /dev/null
@@ -1,125 +0,0 @@
-type=page
-status=published
-title=create-system-properties
-next=create-threadpool.html
-prev=create-ssl.html
-~~~~~~
-create-system-properties
-========================
-
-[[create-system-properties-1]][[GSRFM00059]][[create-system-properties]]
-
-create-system-properties
-------------------------
-
-adds one or more system property elements that can be referenced
-elsewhere in the configuration.
-
-[[sthref545]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-system-properties [--help] 
-[--target target]
-[name=value)[:name=value]*]
-----
-
-[[sthref546]]
-
-Description
-
-The `create-system-properties` subcommand adds or updates system
-properties that can be referenced elsewhere on the server.
-
-\{product---name} provides hooks where tokens (system properties) can be
-specified. Because \{product---name} does not have multiple server
-elements, you can specify a particular token at any level. When a domain
-supports multiple servers, the override potential can be exploited. When
-a domain is started or restarted, all `<system-property>` elements are
-resolved and available to the Java Virtual Machine by using the
-`System.setProperty()` call on each of them (with its name and value
-derived from the corresponding attributes of the element). This is
-analogous to sending the elements as `-D` parameters on the Java command
-line.
-
-This subcommand is supported in remote mode only.
-
-[[sthref547]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  The target on which you are creating the system properties.
-
-[[sthref548]]
-
-Operands
-
-target::
-  The valid targets for this subcommand are instance, cluster,
-  configuration, domain, and server. Server is the default option. Valid
-  values are: +
-  `server`;;
-    Creates the properties on the default server instance. This is the
-    default value.
-  `domain`;;
-    Creates the properties for all server instances in the default
-    domain.
-  configuration_name;;
-    Creates the properties in the specified configuration.
-  cluster_name;;
-    Creates the properties on all server instances in the specified
-    cluster.
-  instance_name;;
-    Creates the properties on a specified server instance.
-name=value::
-  The name value pairs of the system properties to add to the specified
-  target. Multiple system properties must be separated by a : (colon).
-  If a : (colon) appears in the name or value of a system property, it
-  must be escaped with a \ (blackslash). If any system properties were
-  previously defined, they are updated with the new values.
-
-[[sthref549]]
-
-Examples
-
-[[GSRFM526]][[sthref550]]
-
-Example 1   Creating System Properties
-
-This example creates a system property associated with an HTTP listener
-on a server instance named `myserver`.
-
-[source,oac_no_warn]
-----
-asadmin> create-system-properties --target myserver http-listener-port=1088
-Command create-system-properties executed successfully.
-----
-
-[[sthref551]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref552]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)],
-link:list-system-properties.html#list-system-properties-1[`list-system-properties`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-threadpool.adoc b/docs/reference-manual/src/main/jbake/content/create-threadpool.adoc
deleted file mode 100644
index a9e0458..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-threadpool.adoc
+++ /dev/null
@@ -1,128 +0,0 @@
-type=page
-status=published
-title=create-threadpool
-next=create-transport.html
-prev=create-system-properties.html
-~~~~~~
-create-threadpool
-=================
-
-[[create-threadpool-1]][[GSRFM00060]][[create-threadpool]]
-
-create-threadpool
------------------
-
-adds a thread pool
-
-[[sthref553]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-threadpool [--help] 
-[--target target] 
-[--maxthreadpoolsize maxthreadpoolsize] 
-[--minthreadpoolsize minthreadpoolsize] 
-[--idletimeout idletimeout] [--maxqueuesize maxqueuesize]
-[--workqueues workqueues] threadpool-id
-----
-
-[[sthref554]]
-
-Description
-
-The `create-threadpool` subcommand creates a thread pool with the
-specified name. You can specify maximum and minimum number of threads in
-the pool, the quantity of messages, and the idle timeout of a thread.
-The created thread pool can be used for servicing IIOP requests and for
-resource adapters to service work management requests. A thread pool can
-be used in multiple resource adapters.
-
-This subcommand is supported in remote mode only.
-
-[[sthref555]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are creating the thread
-  pool. +
-  Valid values are as follows: +
-  `server`;;
-    Creates the thread pool for the default \{product---name} instance
-    `server` and is the default value
-  configuration-name;;
-    Creates the thread pool for the named configuration.
-  cluster-name;;
-    Creates the thread pool for every instance in the cluster.
-  instance-name;;
-    Creates the thread pool for a particular instance.
-`--maxthreadpoolsize`::
-  Specifies the maximum number of threads the pool can contain. Default
-  is 5.
-`--minthreadpoolsize`::
-  Specifies the minimum number of threads in the pool. These are created
-  when the thread pool is instantiated. Default is 2.
-`--idletimeout`::
-  Specifies the amount of time in seconds after which idle threads are
-  removed from the pool. Default is 900.
-`--maxqueuesize`::
-  Specifies the maximum number of messages that can be queued until
-  threads are available to process them for a network listener or IIOP
-  listener. A value of -1 specifies no limit. Default is 4096.
-`--workqueues`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref556]]
-
-Operands
-
-threadpool-id::
-  An ID for the work queue, for example, `threadpool-1`.
-
-[[sthref557]]
-
-Examples
-
-[[GSRFM527]][[sthref558]]
-
-Example 1   Creating a Thread Pool
-
-This command creates a new thread pool called `threadpool-l`.
-
-[source,oac_no_warn]
-----
-asadmin> create-threadpool --maxthreadpoolsize 100 
---minthreadpoolsize 20 --idletimeout 2 threadpool-1
-Command create-threadpool executed successfully
-----
-
-[[sthref559]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref560]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-threadpool.html#delete-threadpool-1[`delete-threadpool`(1)],
-link:list-threadpools.html#list-threadpools-1[`list-threadpools`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-transport.adoc b/docs/reference-manual/src/main/jbake/content/create-transport.adoc
deleted file mode 100644
index fc1208f..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-transport.adoc
+++ /dev/null
@@ -1,159 +0,0 @@
-type=page
-status=published
-title=create-transport
-next=create-virtual-server.html
-prev=create-threadpool.html
-~~~~~~
-create-transport
-================
-
-[[create-transport-1]][[GSRFM00061]][[create-transport]]
-
-create-transport
-----------------
-
-adds a new transport
-
-[[sthref561]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-transport [--help]
-[--acceptorthreads acceptor-threads] 
-[--buffersizebytes buffer-size] 
-[--bytebuffertype byte-buffer-type] 
-[--classname class-name] 
-[--displayconfiguration={false|true}] 
-[--enablesnoop={false|true}] 
-[--idlekeytimeoutseconds idle-key-timeout]
-[--maxconnectionscount max-connections] 
-[--readtimeoutmillis read-timeout]
-[--writetimeoutmillis write-timeout] 
-[--selectionkeyhandler selection-key-handler]
-[--selectorpolltimeoutmillis selector-poll-timeout] 
-[--tcpnodelay={false|true}]
-[--target target]
-transport-name
-----
-
-[[sthref562]]
-
-Description
-
-The `create-transport` subcommand creates a transport for a network
-listener. This subcommand is supported in remote mode only.
-
-[[sthref563]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--acceptorthreads`::
-  The number of acceptor threads for the transport. The recommended
-  value is the number of processors in the machine. The default value is
-  `1`.
-`--buffersizebytes`::
-  The size, in bytes, of the buffer to be provided for input streams
-  created by the network listener that references this transport. The
-  default value is `8192`.
-`--bytebuffertype`::
-  The type of the buffer to be provided for input streams created by a
-  network-listener. Allowed values are `HEAP` and `DIRECT`. The default
-  value is `HEAP`.
-`--classname`::
-  The fully qualified name of the Java class that implements the
-  transport. The default is `org.glassfish.grizzly.TCPSelectorHandler`.
-`--displayconfiguration`::
-  If `true`, flushes the internal network configuration to the server
-  log. Useful for debugging, but reduces performance. The default is
-  `false`.
-`--enablesnoop`::
-  If `true`, writes request/response information to the server log.
-  Useful for debugging, but reduces performance. The default is `false`.
-`--idlekeytimeoutseconds`::
-  The idle key timeout. The default is `30` seconds.
-`--maxconnectionscount`::
-  The maximum number of connections for the network listener that
-  references this transport. A value of `-1` specifies no limit. The
-  default value is `4096`.
-`--readtimeoutmillis`::
-  The amount of time the server waits during the header and body parsing
-  phase. The default is `30000` milliseconds, or 30 seconds.
-`--writetimeoutmillis`::
-  The amount of time the server waits before considering the remote
-  client disconnected when writing the response. The default is `30000`
-  milliseconds, or 30 seconds.
-`--selectionkeyhandler`::
-  The name of the selection key handler associated with this transport.
-  There is no default.
-`--selectorpolltimeoutmillis`::
-  The number of milliseconds a NIO Selector blocks waiting for events
-  (user requests). The default value is `1000` milliseconds.
-`--tcpnodelay`::
-  If `true`, the default, enables `TCP_NODELAY` (also called Nagle's
-  algorithm). The default is `false`.
-`--target`::
-  Creates the transport only on the specified target. Valid values are
-  as follows: +
-  `server`;;
-    Creates the transport on the default server instance. This is the
-    default value.
-  configuration-name;;
-    Creates the transport in the specified configuration.
-  cluster-name;;
-    Creates the transport on all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Creates the transport on the specified standalone server instance.
-
-[[sthref564]]
-
-Operands
-
-transport-name::
-  The name of the transport.
-
-[[sthref565]]
-
-Examples
-
-[[GSRFM528]][[sthref566]]
-
-Example 1   Creating a Transport
-
-The following command creates a transport named `http1-trans` that uses
-a non-default number of acceptor threads:
-
-[source,oac_no_warn]
-----
-asadmin> create-transport --acceptorthreads 100 http1-trans
-Command create-transport executed successfully.
-----
-
-[[sthref567]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref568]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
-link:delete-transport.html#delete-transport-1[`delete-transport`(1)],
-link:list-transports.html#list-transports-1[`list-transports`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/create-virtual-server.adoc b/docs/reference-manual/src/main/jbake/content/create-virtual-server.adoc
deleted file mode 100644
index 534046b..0000000
--- a/docs/reference-manual/src/main/jbake/content/create-virtual-server.adoc
+++ /dev/null
@@ -1,387 +0,0 @@
-type=page
-status=published
-title=create-virtual-server
-next=delete-admin-object.html
-prev=create-transport.html
-~~~~~~
-create-virtual-server
-=====================
-
-[[create-virtual-server-1]][[GSRFM00062]][[create-virtual-server]]
-
-create-virtual-server
----------------------
-
-creates the named virtual server
-
-[[sthref569]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] create-virtual-server [--help]
---hosts hosts 
-[--httplisteners http-listeners]
-[--networklisteners network-listeners]
-[--defaultwebmodule default-web-module]
-[--state={on|off}] 
-[--logfile log-file]
-[--property (name=value)[:name=value]*]
-[--target target]
-virtual-server-id
-----
-
-[[sthref570]]
-
-Description
-
-The `create-virtual-server` subcommand creates the named virtual server.
-Virtualization in the \{product---name} allows multiple URL domains to
-be served by a single HTTP server process that is listening on multiple
-host addresses. If the application is available at two virtual servers,
-they still share the same physical resource pools.
-
-This subcommand is supported in remote mode only.
-
-[[sthref571]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--hosts`::
-  A comma-separated (,) list of values allowed in the host request
-  header to select the current virtual server. Each virtual server that
-  is configured to the same connection group must have a unique host for
-  that group.
-`--httplisteners`::
-  A comma-separated (,) list of HTTP listener IDs. Required only for a
-  virtual server that is not the default virtual server. HTTP listeners
-  are converted to network listeners. This option is deprecated but
-  maintained for backward compatibility. Use `--networklisteners`
-  instead. If `--networklisteners` is used, this option is ignored.
-`--networklisteners`::
-  A comma-separated (,) list of network listener IDs. Required only for
-  a virtual server that is not the default virtual server.
-`--defaultwebmodule`::
-  The standalone web module associated with this virtual server by
-  default.
-`--state`::
-  Determines whether a virtual server is active (`on`) or inactive
-  (`off` or disabled). Default is `on`. When inactive, the virtual
-  server does not service requests.
-`--logfile`::
-  Name of the file where log entries for this virtual server are to be
-  written. By default, this is the server log. The file and directory in
-  which the access log is kept must be writable by the user account
-  under which the server runs.
-`--property`::
-  Optional property name/value pairs for configuring the virtual server.
-  The following properties are available: +
-  `sso-max-inactive-seconds`;;
-    Specifies the number of seconds after which a user's single sign-on
-    record becomes eligible for purging if no client activity is
-    received. Since single sign-on applies across several applications
-    on the same virtual server, access to any of the applications keeps
-    the single sign-on record active. The default value is 300 seconds
-    (5 minutes). Higher values provide longer single sign-on persistence
-    for users, but at the expense of more memory use on the server.
-  `sso-reap-interval-seconds`;;
-    Specifies the number of seconds between purges of expired single
-    sign-on records. The default value is 60.
-  `setCacheControl`;;
-    Specifies a comma-separated list of `Cache-Control` response
-    directives. For a list of valid directives, see section 14.9 of the
-    document at http://www.ietf.org/rfc/rfc2616.txt
-    (`http://www.ietf.org/rfc/rfc2616.txt`).
-  `allowLinking`;;
-    If the value of this property is `true`, resources that are symbolic
-    links will be served for all web applications deployed on this
-    virtual server. Individual web applications may override this
-    setting by using the property `allowLinking` under the `sun-web-app`
-    element in the `sun-web.xml` file: +
-[source,oac_no_warn]
-----
-<sun-web-app>
-<property name="allowLinking" value="[true|false]"/>
-</sun-web-app>
-----
-::
-    The default value is `true`.
-  `accessLogWriteInterval`;;
-    Indicates the number of seconds before the log will be written to
-    the disk. The access log is written when the buffer is full or when
-    the interval expires. If the value is 0 (zero), then the buffer is
-    always written even if it is not full. This means that each time the
-    server is accessed, the log message is stored directly to the file.
-  `accessLogBufferSize`;;
-    Specifies the size, in bytes, of the buffer where access log calls
-    are stored.
-  `allowRemoteAddress`;;
-    This is a comma-separated list of regular expression patterns to
-    which the remote client's IP address is compared. If this property
-    is specified, the remote address must match for this request to be
-    accepted. If this property is not specified, all requests will be
-    accepted unless the remote address matches a `denyRemoteAddress`
-    pattern. The default value for this property is null.
-  `denyRemoteAddress`;;
-    This is a comma-separated list of regular expression patterns to
-    which the remote client's IP address is compared. If this property
-    is specified, the remote address must not match for this request to
-    be accepted. If this property is not specified, request acceptance
-    is governed solely by the `allowRemoteAddress` property. The default
-    value for this property is null.
-  `allowRemoteHost`;;
-    This is a comma-separated list of regular expression patterns to
-    which the remote client's host name (as returned by
-    `java.net.Socket.getInetAddress().getHostName()`) is compared. If
-    this property is specified, the remote host name must match for this
-    request to be accepted. If this property is not specified, all
-    requests will be accepted unless the remote host name matches a
-    denyRemoteHost pattern. The default value for this property is null.
-  `denyRemoteHost`;;
-    This is a comma-separated list of regular expression patterns to
-    which the remote client's host name (as returned by
-    `java.net.Socket.getInetAddress().getHostName()`) is compared. If
-    this property is specified, the remote host name must not match for
-    this request to be accepted. If this property is not specified,
-    request acceptance is governed solely by the `allowRemoteHost`
-    property. The default value for this property is null.
-  `authRealm`;;
-    Specifies the `name` attribute of an `auth-realm`, which overrides
-    the server instance's default realm for standalone web applications
-    deployed to this virtual server. A realm defined in a standalone web
-    application's `web.xml` file overrides the virtual server's realm.
-  `securePagesWithPragma`;;
-    Set this property to `false` to ensure that for all web applications
-    on this virtual server file downloads using SSL work properly in
-    Internet Explorer. +
-    You can set this property for a specific web application. For
-    details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in GlassFish
-    Server Open Source Edition Application Deployment Guide.
-  `contextXmlDefault`;;
-    Specifies the location, relative to domain-dir, of the `context.xml`
-    file for this virtual server, if one is used. For more information
-    about the `context.xml` file, see "link:../application-development-guide/webapps.html#GSDVG00416[Using a
-    context.xml File]" in GlassFish Server Open Source Edition
-    Application Development Guide and The Context Container
-    (`http://tomcat.apache.org/tomcat-5.5-doc/config/context.html`).
-    Context parameters, environment entries, and resource definitions in
-    `context.xml` are supported in the \{product---name}.
-  `alternatedocroot_n`;;
-    Specifies an alternate document root (docroot), where n is a
-    positive integer that allows specification of more than one.
-    Alternate docroots allow web applications to serve requests for
-    certain resources from outside their own docroot, based on whether
-    those requests match one (or more) of the URI patterns of the web
-    application's alternate docroots. +
-    If a request matches an alternate docroot's URI pattern, it is
-    mapped to the alternate docroot by appending the request URI (minus
-    the web application's context root) to the alternate docroot's
-    physical location (directory). If a request matches multiple URI
-    patterns, the alternate docroot is determined according to the
-    following precedence order: +
-    * Exact match
-    * Longest path match
-    * Extension match +
-    For example, the following properties specify three alternate
-    docroots. The URI pattern of the first alternate docroot uses an
-    exact match, whereas the URI patterns of the second and third
-    alternate docroots use extension and longest path prefix matches,
-    respectively. +
-[source,oac_no_warn]
-----
-<property name="alternatedocroot_1" 
-   value="from=/my.jpg dir=/srv/images/jpg"/>
-<property name="alternatedocroot_2" 
-   value="from=*.jpg dir=/srv/images/jpg"/>
-<property name="alternatedocroot_3" 
-   value="from=/jpg/* dir=/src/images"/>
-----
-::
-    The `value` of each alternate docroot has two components: The first
-    component, `from`, specifies the alternate docroot's URI pattern,
-    and the second component, `dir`, specifies the alternate docroot's
-    physical location (directory). Spaces are allowed in the `dir`
-    component. +
-    You can set this property for a specific web application. For
-    details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in GlassFish
-    Server Open Source Edition Application Deployment Guide.
-  `send-error_n`;;
-    Specifies custom error page mappings for the virtual server, which
-    are inherited by all web applications deployed on the virtual
-    server. A web application can override these custom error page
-    mappings in its `web.xml` deployment descriptor. The value of each
-    `send-error_n` property has three components, which may be specified
-    in any order: +
-    The first component, `code`, specifies the three-digit HTTP response
-    status code for which the custom error page should be returned in
-    the response. +
-    The second component, `path`, specifies the absolute or relative
-    file system path of the custom error page. A relative file system
-    path is interpreted as relative to the domain-dir`/config`
-    directory. +
-    The third component, `reason`, is optional and specifies the text of
-    the reason string (such as `Unauthorized` or `Forbidden`) to be
-    returned. +
-    For example: +
-[source,oac_no_warn]
-----
-<property name="send-error_1"
-   value="code=401 path=/myhost/401.html reason=MY-401-REASON"/>
-----
-::
-    This example property definition causes the contents of
-    `/myhost/401.html` to be returned with 401 responses, along with
-    this response line: +
-[source,oac_no_warn]
-----
-HTTP/1.1 401 MY-401-REASON
-----
-::
-  `redirect_`n;;
-    Specifies that a request for an old URL is treated as a request for
-    a new URL. These properties are inherited by all web applications
-    deployed on the virtual server. The value of each `redirect_n`
-    property has two components, which may be specified in any order: +
-    The first component, `from`, specifies the prefix of the requested
-    URI to match. +
-    The second component, `url-prefix`, specifies the new URL prefix to
-    return to the client. The from prefix is simply replaced by this URL
-    prefix. +
-    For example: +
-[source,oac_no_warn]
-----
-<property name="redirect_1" 
-value="from=/dummy url-prefix=http://etude"/>
-----
-::
-  `valve_`n;;
-    Specifies a fully qualified class name of a custom valve, where n is
-    a positive integer that allows specification of more than one. The
-    valve class must implement the `org.apache.catalina.Valve` interface
-    from Tomcat or previous \{product---name} releases, or the
-    `org.glassfish.web.valve.GlassFishValve` interface from the current
-    \{product---name} release. For example: +
-[source,oac_no_warn]
-----
-<property name="valve_1" 
-   value="org.glassfish.extension.Valve"/>
-----
-::
-    You can set this property for a specific web application. For
-    details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in GlassFish
-    Server Open Source Edition Application Deployment Guide.
-  `listener_n`;;
-    Specifies a fully qualified class name of a custom Catalina
-    listener, where n is a positive integer that allows specification of
-    more than one. The listener class must implement the
-    `org.apache.catalina.ContainerListener` or
-    `org.apache.catalina.LifecycleListener` interface. For example: +
-[source,oac_no_warn]
-----
-<property name="listener_1" 
-   value="org.glassfish.extension.MyLifecycleListener"/>
-----
-::
-    You can set this property for a specific web application. For
-    details, see "link:../application-deployment-guide/dd-elements.html#GSDPG00161[glassfish-web-app]" in GlassFish
-    Server Open Source Edition Application Deployment Guide.
-  `docroot`;;
-    Absolute path to root document directory for server. Deprecated.
-    Replaced with a `virtual-server` attribute, `docroot`, that is
-    accessible using the `get`, `set`, and `list` subcommands.
-  `accesslog`;;
-    Absolute path to server access logs. Deprecated. Replaced with a
-    `virtual-server` attribute , `access-log`, that is accessible using
-    the `get`, `set`, and `list` subcommands.
-  `accessLoggingEnabled`;;
-    If `true`, access logging is enabled for this virtual server.
-    Deprecated. Replaced with a `virtual-server` attribute,
-    `access-logging-enabled`, that is accessible using the `get`, `set`,
-    and `list` subcommands.
-  `sso-enabled`;;
-    If `true`, single sign-on is enabled for web applications on this
-    virtual server that are configured for the same realm. Deprecated.
-    Replaced with a `virtual-server` attribute, `sso-enabled`, that is
-    accessible using the `get`, `set`, and `list` subcommands.
-  `ssoCookieSecure`;;
-    Sets the `Secure` attribute of any `JSESSIONIDSSO` cookies
-    associated with the web applications deployed to this virtual
-    server. Deprecated. Replaced with a `virtual-server` attribute,
-    `sso-cookie-secure`, that is accessible using the `get`, `set`, and
-    `list` subcommands.
-  `errorReportValve`;;
-    Specifies a fully qualified class name of a custom valve that
-    produces default error pages for applications on this virtual
-    server. Specify an empty string to disable the default error page
-    mechanism for this virtual server.
-`--target`::
-  Creates the virtual server only on the specified target. Valid values
-  are as follows: +
-  `server`;;
-    Creates the virtual server on the default server instance. This is
-    the default value.
-  configuration-name;;
-    Creates the virtual server in the specified configuration.
-  cluster-name;;
-    Creates the virtual server on all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Creates the virtual server on the specified standalone server
-    instance.
-
-[[sthref572]]
-
-Operands
-
-virtual-server-id::
-  Identifies the unique ID for the virtual server to be created. This ID
-  cannot begin with a number.
-
-[[sthref573]]
-
-Examples
-
-[[GSRFM529]][[sthref574]]
-
-Example 1   Creating a Virtual Server
-
-The following command creates a virtual server named `sampleServer`:
-
-[source,oac_no_warn]
-----
-asadmin> create-virtual-server --hosts pigeon,localhost 
---property authRealm=ldap sampleServer
-Command create-virtual-server executed successfully.
-----
-
-[[sthref575]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref576]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-virtual-server.html#delete-virtual-server-1[`delete-virtual-server`(1)],
-link:list-virtual-servers.html#list-virtual-servers-1[`list-virtual-servers`(1)],
-link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
-link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)]
-
-link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
-link:set.html#set-1[`set`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/debug-asadmin.adoc b/docs/reference-manual/src/main/jbake/content/debug-asadmin.adoc
deleted file mode 100644
index 4103aaa..0000000
--- a/docs/reference-manual/src/main/jbake/content/debug-asadmin.adoc
+++ /dev/null
@@ -1,54 +0,0 @@
-type=page
-status=published
-title=debug-asadmin
-next=capture-schema.html
-prev=asadmin.html
-~~~~~~
-debug-asadmin
-=======
-
-The script content on this page is for navigation purposes only and does
-not alter the content in any way.
-
-[[debug-asadmin-1m]][[GSRFM00263]][[debug-asadmin]]
-
-debug-asadmin
--------
-
-Variant of the `asadmin` utility for performing administrative tasks for Oracle \{product---name}. This variant
-is useful for debugging local admin commands the launching of \{product---name}. It suspends immediately 
-waiting for a debug connection to port 9008.
-
-[[sthref2364]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-debug-asadmin [--host host] 
-[--port port] 
-[--user admin-user] 
-[--passwordfile filename] 
-[--terse={true|false}] 
-[--secure={false|true}] 
-[--echo={true|false}] 
-[--interactive={true|false}] 
-[--detach={true|false}]
-[--help] 
-[subcommand [options] [operands]]
-----
-
-[[sthref2365]]
-
-Description
-
-Use the `debug-asadmin` utility to debug local admin commands and the launching of the Oracle
-GlassFish Server. See the `asadmin` command for full documentation.
-
-
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
-
-'''''
-
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-admin-object.adoc b/docs/reference-manual/src/main/jbake/content/delete-admin-object.adoc
deleted file mode 100644
index 0d0c137..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-admin-object.adoc
+++ /dev/null
@@ -1,116 +0,0 @@
-type=page
-status=published
-title=delete-admin-object
-next=delete-application-ref.html
-prev=create-virtual-server.html
-~~~~~~
-delete-admin-object
-===================
-
-[[delete-admin-object-1]][[GSRFM00063]][[delete-admin-object]]
-
-delete-admin-object
--------------------
-
-removes the administered object with the specified JNDI name.
-
-[[sthref577]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-admin-object [--help] 
-[--target target] jndi_name
-----
-
-[[sthref578]]
-
-Description
-
-The `delete-admin-object` subcommand removes an administered object with
-the specified JNDI name.
-
-This subcommand is supported in remote mote only.
-
-[[sthref579]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This is the name of the targets for which the administered object is
-  to be deleted. Valid values are: +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Resources are always created for a domain as a whole but are only
-active for targets for which a `<resource-ref>` has been created using
-the `--target` option when the resource was created. This means that
-deleting a resource only deletes the `<resource-ref>` element for the
-specified `--target`, and does not delete the resource from the domain
-as a whole unless `domain` is specified as the `--target` for the
-deletion.
-
-|=======================================================================
-
-  `server`;;
-    Deletes the administered object for the default server instance
-    `server` and is the default value.
-  configuration_name;;
-    Deletes the administered object for the specified configuration.
-  cluster_name;;
-    Deletes the administered object for the specified cluster.
-  instance_name;;
-    Deletes the administered object for a particular server instance.
-
-[[sthref580]]
-
-Operands
-
-jndi_name::
-  JNDI name of the administered object to be deleted.
-
-[[sthref581]]
-
-Examples
-
-[[GSRFM530]][[sthref582]]
-
-Example 1   Deleting an Administered Object
-
-This example deletes the administered object named `jms/samplelqueue`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-admin-object jms/samplequeue
-Command delete-admin-object executed successfully
-----
-
-[[sthref583]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref584]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-admin-object.html#create-admin-object-1[`create-admin-object`(1)],
-link:list-admin-objects.html#list-admin-objects-1[`list-admin-objects`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-application-ref.adoc b/docs/reference-manual/src/main/jbake/content/delete-application-ref.adoc
deleted file mode 100644
index 98266ed..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-application-ref.adoc
+++ /dev/null
@@ -1,129 +0,0 @@
-type=page
-status=published
-title=delete-application-ref
-next=delete-audit-module.html
-prev=delete-admin-object.html
-~~~~~~
-delete-application-ref
-======================
-
-[[delete-application-ref-1]][[GSRFM00064]][[delete-application-ref]]
-
-delete-application-ref
-----------------------
-
-removes a reference to an application
-
-[[sthref585]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-application-ref [--help] 
-[--target target]
-[--cascade=false] reference_name
-----
-
-[[sthref586]]
-
-Description
-
-The `delete-application-ref` subcommand removes a reference from a
-cluster or an unclustered server instance to an application. This
-effectively results in the application element being undeployed and no
-longer available on the targeted instance or cluster.
-
-The target instance or instances making up the cluster need not be
-running or available for this subcommand to succeed. If one or more
-instances are not available, they will no longer load the application
-the next time they start.
-
-Removal of the reference does not result in removal of the application
-from the domain. The bits are removed only by the `undeploy` subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref587]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are removing the application
-  reference. Valid values are +
-  * `server`- Specifies the default server instance as the target.
-  `server` is the name of the default server instance and is the default
-  value.
-  * cluster_name- Specifies a certain cluster as the target.
-  * instance_name- Specifies a certain stand-alone server instance as
-  the target.
-`--cascade`::
-  For a connector module, indicates whether the resources dependent on
-  the module should also be recursively deleted. The default is `false`.
-  The connector module can be either a stand-alone RAR file or a module
-  within an EAR file.
-
-[[sthref588]]
-
-Operands
-
-reference_name::
-  The name of the application or module, which can be a Java EE
-  application module, Web module, EJB module, connector module,
-  application client module, or lifecycle module. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. To delete references to multiple versions, you can
-  use an asterisk (`*`) as a wildcard character. For more information
-  about module and application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module
-  and Application Versions]" in GlassFish Server Open Source Edition
-  Application Deployment Guide.
-
-[[sthref589]]
-
-Examples
-
-[[GSRFM531]][[sthref590]]
-
-Example 1   Deleting an Application Reference
-
-The following example removes a reference to the Web module `MyWebApp`
-from the unclustered server instance `NewServer`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-application-ref --target NewServer MyWebApp
-Command delete-application-ref executed successfully.
-----
-
-[[sthref591]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref592]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
-link:list-application-refs.html#list-application-refs-1[`list-application-refs`(1)],
-link:undeploy.html#undeploy-1[`undeploy`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-audit-module.adoc b/docs/reference-manual/src/main/jbake/content/delete-audit-module.adoc
deleted file mode 100644
index 84c4054..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-audit-module.adoc
+++ /dev/null
@@ -1,97 +0,0 @@
-type=page
-status=published
-title=delete-audit-module
-next=delete-auth-realm.html
-prev=delete-application-ref.html
-~~~~~~
-delete-audit-module
-===================
-
-[[delete-audit-module-1]][[GSRFM00065]][[delete-audit-module]]
-
-delete-audit-module
--------------------
-
-removes the named audit-module
-
-[[sthref593]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-audit-module [--help]
-[--target target]
-audit_module_name
-----
-
-[[sthref594]]
-
-Description
-
-This subcommand removes the named audit module. This subcommand is
-supported in remote mode only.
-
-[[sthref595]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which you are deleting the audit module. Valid
-  values are as follows: +
-  `server`;;
-    Deletes the audit module for the default server instance `server`
-    and is the default value.
-  configuration_name;;
-    Deletes the audit module for the named configuration.
-  cluster_name;;
-    Deletes the audit module for every server instance in the cluster.
-  instance_name;;
-    Deletes the audit module for a particular server instance.
-
-[[sthref596]]
-
-Operands
-
-audit_module_name::
-  The name of the audit module to be deleted.
-
-[[sthref597]]
-
-Examples
-
-[[GSRFM532]][[sthref598]]
-
-Example 1   Deleting an audit module
-
-[source,oac_no_warn]
-----
-asadmin> delete-audit-module sampleAuditModule
-Command delete-audit-module executed successfully
-----
-
-[[sthref599]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref600]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-audit-module.html#create-audit-module-1[`create-audit-module`(1)],
-link:list-audit-modules.html#list-audit-modules-1[`list-audit-modules`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-auth-realm.adoc b/docs/reference-manual/src/main/jbake/content/delete-auth-realm.adoc
deleted file mode 100644
index ff1753b..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-auth-realm.adoc
+++ /dev/null
@@ -1,99 +0,0 @@
-type=page
-status=published
-title=delete-auth-realm
-next=delete-cluster.html
-prev=delete-audit-module.html
-~~~~~~
-delete-auth-realm
-=================
-
-[[delete-auth-realm-1]][[GSRFM00066]][[delete-auth-realm]]
-
-delete-auth-realm
------------------
-
-removes the named authentication realm
-
-[[sthref601]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-auth-realm [--help]
-[--target target]
-auth_realm-name
-----
-
-[[sthref602]]
-
-Description
-
-The `delete-auth-realm` subcommand removes the named authentication
-realm. This subcommand is supported in remote mode only.
-
-[[sthref603]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which you are deleting the authentication
-  realm. Valid values are +
-  `server`;;
-    Deletes the realm for the default server instance `server` and is
-    the default value.
-  configuration_name;;
-    Deletes the realm for the named configuration.
-  cluster_name;;
-    Deletes the realm for every server instance in the cluster.
-  instance_name;;
-    Deletes the realm for a particular server instance.
-
-[[sthref604]]
-
-Operands
-
-auth_realm_name::
-  Name of the realm to be deleted.
-
-[[sthref605]]
-
-Examples
-
-[[GSRFM533]][[sthref606]]
-
-Example 1   Deleting an Authentication Realm
-
-This example deletes the authentication realm `db`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-auth-realm db
-Command delete-auth-realm executed successfully
-----
-
-[[sthref607]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref608]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
-link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-cluster.adoc b/docs/reference-manual/src/main/jbake/content/delete-cluster.adoc
deleted file mode 100644
index a8e005e..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-cluster.adoc
+++ /dev/null
@@ -1,113 +0,0 @@
-type=page
-status=published
-title=delete-cluster
-next=delete-config.html
-prev=delete-auth-realm.html
-~~~~~~
-delete-cluster
-==============
-
-[[delete-cluster-1]][[GSRFM00068]][[delete-cluster]]
-
-delete-cluster
---------------
-
-deletes a \{product---name} cluster
-
-[[sthref609]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-cluster [--help]
-[--autohadboverride={true|false}] [--node-agent=node-agent--name]
-cluster-name
-----
-
-[[sthref610]]
-
-Description
-
-The `delete-cluster` subcommand deletes a \{product---name} cluster. A
-cluster can be deleted only if the cluster contains no \{product---name}
-instances. If a cluster that you are deleting contains any instances,
-stop and delete the instances before deleting the cluster.
-
-If the cluster's named configuration was created automatically for the
-cluster and no other clusters or unclustered instances refer to the
-configuration, the configuration is deleted when the cluster is deleted.
-A configuration that is created automatically for a cluster is named
-cluster-name`-config`, where cluster-name is the name of the cluster.
-
-This command is supported in remote mode only.
-
-[[sthref611]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--autohadboverride`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--nodeagent`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref612]]
-
-Operands
-
-cluster-name::
-  The name of the cluster to delete.
-
-[[sthref613]]
-
-Examples
-
-[[GSRFM535]][[sthref614]]
-
-Example 1   Deleting a \{product---name} Cluster
-
-This example deletes the \{product---name} cluster `adccluster`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-cluster adccluster
-Command delete-cluster executed successfully.
-----
-
-[[sthref615]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref616]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
-link:start-cluster.html#start-cluster-1[`start-cluster`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
-link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-config.adoc b/docs/reference-manual/src/main/jbake/content/delete-config.adoc
deleted file mode 100644
index c533e82..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-config.adoc
+++ /dev/null
@@ -1,96 +0,0 @@
-type=page
-status=published
-title=delete-config
-next=delete-connector-connection-pool.html
-prev=delete-cluster.html
-~~~~~~
-delete-config
-=============
-
-[[delete-config-1]][[GSRFM00069]][[delete-config]]
-
-delete-config
--------------
-
-deletes an existing named configuration
-
-[[sthref617]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-config [--help] 
-configuration-name
-----
-
-[[sthref618]]
-
-Description
-
-The `delete-config` subcommand deletes an existing named configuration
-from the configuration of the domain administration server (DAS). You
-can delete a configuration only if no \{product---name} instances or
-clusters refer to the configuration. A standalone configuration is
-automatically deleted when the instance or cluster that refers to it is
-deleted. You cannot delete the `default-config` configuration that is
-copied to create standalone configurations.
-
-This subcommand is supported in remote mode only.
-
-[[sthref619]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref620]]
-
-Operands
-
-configuration-name::
-  The name of the configuration that you are deleting.
-
-[[sthref621]]
-
-Examples
-
-[[GSRFM536]][[sthref622]]
-
-Example 1   Deleting a Named Configuration
-
-This example deletes the named configuration `pmdconfig`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-config pmdconfig
-
-Command delete-config executed successfully.
-----
-
-[[sthref623]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref624]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:copy-config.html#copy-config-1[`copy-config`(1)],
-link:list-configs.html#list-configs-1[`list-configs`(1)]
-
-link:configuration.html#configuration-5asc[`configuration`(5ASC)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-connector-connection-pool.adoc b/docs/reference-manual/src/main/jbake/content/delete-connector-connection-pool.adoc
deleted file mode 100644
index 9d27f6a..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-connector-connection-pool.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=delete-connector-connection-pool
-next=delete-connector-resource.html
-prev=delete-config.html
-~~~~~~
-delete-connector-connection-pool
-================================
-
-[[delete-connector-connection-pool-1]][[GSRFM00070]][[delete-connector-connection-pool]]
-
-delete-connector-connection-pool
---------------------------------
-
-removes the specified connector connection pool
-
-[[sthref625]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-connector-connection-pool [--help] 
-[--target target]
-[--cascade={false|true}] poolname
-----
-
-[[sthref626]]
-
-Description
-
-The `delete-connector-connection-pool` subcommand removes the specified
-connector connection pool.
-
-This subcommand is supported in remote mode only.
-
-[[sthref627]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--cascade`::
-  When set to true, all connector resources associated with the pool,
-  and the pool itself, are deleted. When set to false, the deletion of
-  pool fails if any resources are associated with the pool. The resource
-  must be deleted explicitly or the option must be set to true. Default
-  is false.
-
-[[sthref628]]
-
-Operands
-
-poolname::
-  The name of the connection pool to be removed.
-
-[[sthref629]]
-
-Examples
-
-[[GSRFM537]][[sthref630]]
-
-Example 1   Deleting a Connector Connection Pool
-
-This example deletes the connector connection pool named
-`jms/qConnPool`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-connection-pool
---cascade=false jms/qConnPool
-Command delete-connector-connection-pool executed successfully
-----
-
-[[sthref631]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref632]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-connection-pool.html#create-connector-connection-pool-1[`create-connector-connection-pool`(1)],
-link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
-link:ping-connection-pool.html#ping-connection-pool-1[`ping-connection-pool`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-connector-resource.adoc b/docs/reference-manual/src/main/jbake/content/delete-connector-resource.adoc
deleted file mode 100644
index cba5952..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-connector-resource.adoc
+++ /dev/null
@@ -1,131 +0,0 @@
-type=page
-status=published
-title=delete-connector-resource
-next=delete-connector-security-map.html
-prev=delete-connector-connection-pool.html
-~~~~~~
-delete-connector-resource
-=========================
-
-[[delete-connector-resource-1]][[GSRFM00071]][[delete-connector-resource]]
-
-delete-connector-resource
--------------------------
-
-removes the connector resource with the specified JNDI name
-
-[[sthref633]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-connector-resource [--help] 
-[--target target] jndi_name
-----
-
-[[sthref634]]
-
-Description
-
-The `delete-connector-resource` subcommand removes the connector
-resource with the specified JNDI name.
-
-This subcommand is supported in remote mode only.
-
-[[sthref635]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target from which you want to remove the
-  connector resource. Valid targets are: +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Resources are always created for a domain as a whole but are only
-active for targets for which a `<resource-ref>` has been created using
-the `--target` option when the resource was created. This means that
-deleting a resource only deletes the `<resource-ref>` element for the
-specified `--target`, and does not delete the resource from the domain
-as a whole unless `domain` is specified as the `--target` for the
-deletion.
-
-|=======================================================================
-
-  `server`;;
-    Deletes the connector resource from the default server instance.
-    This is the default value.
-  `domain`;;
-    Deletes the connector resource from the domain.
-  cluster_name;;
-    Deletes the connector resource from every server instance in the
-    cluster.
-  instance_name;;
-    Deletes the connector resource from a specified server instance.
-
-[[sthref636]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this connector resource.
-
-[[sthref637]]
-
-Examples
-
-[[GSRFM538]][[sthref638]]
-
-Example 1   Deleting a Connector Resource
-
-This example deletes a connector resource named `jms/qConnFactory`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-resource jms/qConnFactory
-Command delete-connector-resource executed successfully
-----
-
-[[GSRFM539]][[sthref639]]
-
-Example 2   Using the delete-connector-resource subcommand
-
-This example shows the usage of this subcommand.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-resource jms/qConnFactory
-Command delete-connector-resource executed successfully
-----
-
-Where `jms/qConnFactory` is the connector resource that is removed.
-
-[[sthref640]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref641]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-resource.html#create-connector-resource-1[`create-connector-resource`(1)],
-link:list-connector-resources.html#list-connector-resources-1[`list-connector-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-connector-security-map.adoc b/docs/reference-manual/src/main/jbake/content/delete-connector-security-map.adoc
deleted file mode 100644
index 9055c90..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-connector-security-map.adoc
+++ /dev/null
@@ -1,102 +0,0 @@
-type=page
-status=published
-title=delete-connector-security-map
-next=delete-connector-work-security-map.html
-prev=delete-connector-resource.html
-~~~~~~
-delete-connector-security-map
-=============================
-
-[[delete-connector-security-map-1]][[GSRFM00072]][[delete-connector-security-map]]
-
-delete-connector-security-map
------------------------------
-
-deletes a security map for the specified connector connection pool
-
-[[sthref642]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-connector-security-map [--help]
---poolname connector_connection_pool_name [--target target] mapname
-----
-
-[[sthref643]]
-
-Description
-
-The `delete-connector-security-map` subcommand deletes a security map
-for the specified connector connection pool.
-
-For this subcommand to succeed, you must have first created a connector
-connection pool using the `create-connector-connection-pool` subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref644]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--poolname`::
-  Specifies the name of the connector connection pool to which the
-  security map that is to be deleted belongs.
-`--target`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref645]]
-
-Operands
-
-mapname::
-  Name of the security map to be deleted.
-
-[[sthref646]]
-
-Examples
-
-[[GSRFM540]][[sthref647]]
-
-Example 1   Deleting a Connector Security Map
-
-This example deletes `securityMap1` for the existing connection pool
-named `connector-pool1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-connector-security-map
---poolname connector-pool1 securityMap1
-Command delete-connector-security-map executed successfully
-----
-
-[[sthref648]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref649]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
-link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)],
-link:update-connector-security-map.html#update-connector-security-map-1[`update-connector-security-map`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-connector-work-security-map.adoc b/docs/reference-manual/src/main/jbake/content/delete-connector-work-security-map.adoc
deleted file mode 100644
index a3b2bcc..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-connector-work-security-map.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=delete-connector-work-security-map
-next=delete-context-service.html
-prev=delete-connector-security-map.html
-~~~~~~
-delete-connector-work-security-map
-==================================
-
-[[delete-connector-work-security-map-1]][[GSRFM00073]][[delete-connector-work-security-map]]
-
-delete-connector-work-security-map
-----------------------------------
-
-deletes a work security map for the specified resource adapter
-
-[[sthref650]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-connector-work-security-map [--help] 
---raname raname
-mapname
-----
-
-[[sthref651]]
-
-Description
-
-The `delete-connector-work-security-map` subcommand deletes a security
-map associated with the specified resource adapter. For this subcommand
-to succeed, you must have first created and deployed the specified
-resource adapter.
-
-The enterprise information system (EIS) is any system that holds the
-data of an organization. It can be a mainframe, a messaging system, a
-database system, or an application.
-
-This subcommand is supported in remote mode only.
-
-[[sthref652]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--raname`::
-  Indicates the connector module name with which the work security map
-  is associated.
-
-[[sthref653]]
-
-Operands
-
-mapname::
-  The name of the work security map to be deleted.
-
-[[sthref654]]
-
-Examples
-
-[[GSRFM541]][[sthref655]]
-
-Example 1   Deleting a Connector Work Security Map
-
-This example deletes the work security map named
-`work_security_map_name` for the resource adapter named `ra_name`.
-
-[source,oac_no_warn]
-----
-asadmin delete-connector-work-security-map
---raname ra_name work_security_map_name
-Command delete-connector-work-security-map executed successfully.
-----
-
-[[sthref656]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref657]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
-link:list-connector-work-security-maps.html#list-connector-work-security-maps-1[`list-connector-work-security-maps`(1)],
-link:update-connector-work-security-map.html#update-connector-work-security-map-1[`update-connector-work-security-map`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-context-service.adoc b/docs/reference-manual/src/main/jbake/content/delete-context-service.adoc
deleted file mode 100644
index c4a418c..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-context-service.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=delete-context-service
-next=delete-custom-resource.html
-prev=delete-connector-work-security-map.html
-~~~~~~
-delete-context-service
-======================
-
-[[delete-context-service-1]][[GSRFM846]][[delete-context-service]]
-
-delete-context-service
-----------------------
-
-removes a context service resource with the specified JNDI name
-
-[[sthref658]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-context-service [--help]
-[--target target]
-context-service-name
-----
-
-[[sthref659]]
-
-Description
-
-The `delete-context-service` subcommand removes a context service
-resource with the specified JNDI name.
-
-This subcommand is supported in remote mode only.
-
-[[sthref660]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are deleting the resource. Valid
-  targets are: +
-  `server`;;
-    Deletes the resource from the default server instance. This is the
-    default value.
-  `domain`;;
-    Deletes the resource from the domain.
-  cluster-name;;
-    Deletes the resource from every server instance in the specified
-    cluster.
-  instance-name;;
-    Deletes the resource from the specified server instance.
-
-[[sthref661]]
-
-Operands
-
-context-service-name::
-  The JNDI name of the resource to be deleted.
-
-[[sthref662]]
-
-Examples
-
-[[GSRFM847]][[sthref663]]
-
-Example 1   Deleting a Context Service Resource
-
-This example deletes the context service resource named
-`concurrent/myContextService`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-context-service concurrent/myContextService
-Context service concurrent/myContextService deleted successfully.
-Command delete-context-service executed successfully.
-----
-
-[[sthref664]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref665]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-context-service.html#create-context-service-1[`create-context-service`(1)],
-link:list-context-services.html#list-context-services-1[`list-context-services`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-custom-resource.adoc b/docs/reference-manual/src/main/jbake/content/delete-custom-resource.adoc
deleted file mode 100644
index be4f467..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-custom-resource.adoc
+++ /dev/null
@@ -1,116 +0,0 @@
-type=page
-status=published
-title=delete-custom-resource
-next=delete-domain.html
-prev=delete-context-service.html
-~~~~~~
-delete-custom-resource
-======================
-
-[[delete-custom-resource-1]][[GSRFM00074]][[delete-custom-resource]]
-
-delete-custom-resource
-----------------------
-
-removes a custom resource
-
-[[sthref666]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-custom-resource [--help] 
-[--target target] jndi-name
-----
-
-[[sthref667]]
-
-Description
-
-The `delete-custom-resource` subcommand removes a custom resource.
-
-This subcommand is supported in remote mode only.
-
-[[sthref668]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option helps specify the location of the custom resources that
-  you are deleting. Valid targets are server, domain, cluster, and
-  instance. The default is server. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Resources are always created for a domain as a whole but are only
-active for targets for which a `<resource-ref>` has been created using
-the `--target` option when the resource was created. This means that
-deleting a resource only deletes the `<resource-ref>` element for the
-specified `--target`, and does not delete the resource from the domain
-as a whole unless `domain` is specified as the `--target` for the
-deletion.
-
-|=======================================================================
-
-  `server`;;
-    Deletes the resource for the default server instance. This is the
-    default value.
-  `domain`;;
-    Deletes the resource for the domain.
-  cluster_name;;
-    Deletes the resource for every server instance in the cluster.
-  instance_name;;
-    Deletes the resource for a particular server instance.
-
-[[sthref669]]
-
-Operands
-
-jndi-name::
-  The JNDI name of this resource.
-
-[[sthref670]]
-
-Examples
-
-[[GSRFM542]][[sthref671]]
-
-Example 1   Deleting a Custom Resource
-
-This example deletes a custom resource named `mycustomresource`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-custom-resource mycustomresource
-Command delete-custom-resource executed successfully.
-----
-
-[[sthref672]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref673]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-custom-resource.html#create-custom-resource-1[`create-custom-resource`(1)],
-link:list-custom-resources.html#list-custom-resources-1[`list-custom-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-domain.adoc b/docs/reference-manual/src/main/jbake/content/delete-domain.adoc
deleted file mode 100644
index ee295cb..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-domain.adoc
+++ /dev/null
@@ -1,111 +0,0 @@
-type=page
-status=published
-title=delete-domain
-next=delete-file-user.html
-prev=delete-custom-resource.html
-~~~~~~
-delete-domain
-=============
-
-[[delete-domain-1]][[GSRFM00075]][[delete-domain]]
-
-delete-domain
--------------
-
-deletes a domain
-
-[[sthref674]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-domain [--help] 
-[--domaindir domaindir] domain-name
-----
-
-[[sthref675]]
-
-Description
-
-The `delete-domain` subcommand deletes the specified domain. The domain
-must already exist and must be stopped.
-
-This subcommand is supported in local mode only.
-
-[[sthref676]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--domaindir`::
-  The directory where the domain to be deleted is located. If specified,
-  the path must be accessible in the file system. If not specified, the
-  domain under the domain root directory, which defaults to
-  as-install`/domains`, is deleted.
-
-[[sthref677]]
-
-Operands
-
-domain-name::
-  The unique name of the domain you want to delete.
-
-[[sthref678]]
-
-Examples
-
-[[GSRFM543]][[sthref679]]
-
-Example 1   Deleting a Domain
-
-This example deletes a domain named `mydomain4` from the default domains
-directory.
-
-[source,oac_no_warn]
-----
-asadmin> delete-domain mydomain4
-Domain mydomain4 deleted.
-Command delete-domain executed successfully.
-----
-
-[[GSRFM544]][[sthref680]]
-
-Example 2   deleting a Domain From an Alternate Location
-
-This example deletes a domain named `sampleDomain` from the
-`/home/someuser/domains` directory.
-
-[source,oac_no_warn]
-----
-asadmin> delete-domain --domaindir /home/someuser/domains sampleDomain
-Domain sampleDomain deleted
-Command delete-domain executed successfully.
-----
-
-[[sthref681]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref682]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-domain.html#create-domain-1[`create-domain`(1)],
-link:list-domains.html#list-domains-1[`list-domains`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-file-user.adoc b/docs/reference-manual/src/main/jbake/content/delete-file-user.adoc
deleted file mode 100644
index 69d335e..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-file-user.adoc
+++ /dev/null
@@ -1,106 +0,0 @@
-type=page
-status=published
-title=delete-file-user
-next=delete-http.html
-prev=delete-domain.html
-~~~~~~
-delete-file-user
-================
-
-[[delete-file-user-1]][[GSRFM00076]][[delete-file-user]]
-
-delete-file-user
-----------------
-
-removes the named file user
-
-[[sthref683]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-file-user [--help] 
-[--authrealmname auth_realm_name] 
-[--target target] 
-username
-----
-
-[[sthref684]]
-
-Description
-
-The `delete-file-user` subcommand deletes the entry in the keyfile for
-the specified username.
-
-[[sthref685]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--authrealmname`::
-  The name of the authentication realm with which the user was created.
-`--target`::
-  This is the name of the target on which the command operates. The
-  valid targets are: +
-  `server`;;
-    Deletes the file user on the default server instance. This is the
-    default value
-  `domain`;;
-    Deletes the file user in the domain.
-  cluster_name;;
-    Deletes the file user from every server instance in the cluster.
-  instance_name;;
-    Deletes the file user from a particular server instance.
-
-[[sthref686]]
-
-Operands
-
-username::
-  This is the name of file user to be deleted.
-
-[[sthref687]]
-
-Examples
-
-[[GSRFM545]][[sthref688]]
-
-Example 1   Deleting a User From a File Realm
-
-The following example shows how to delete user named `sample_user` from
-a file realm.
-
-[source,oac_no_warn]
-----
-asadmin> delete-file-user
-sample_user
-Command delete-file-user executed successfully
-----
-
-[[sthref689]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref690]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
-link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
-link:list-file-users.html#list-file-users-1[`list-file-users`(1)],
-link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-http-health-checker.adoc b/docs/reference-manual/src/main/jbake/content/delete-http-health-checker.adoc
deleted file mode 100644
index 77c7e3f..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-http-health-checker.adoc
+++ /dev/null
@@ -1,106 +0,0 @@
-type=page
-status=published
-title=delete-http-health-checker
-next=delete-http-lb.html
-prev=delete-http.html
-~~~~~~
-delete-http-health-checker
-==========================
-
-[[delete-http-health-checker-1]][[GSRFM00078]][[delete-http-health-checker]]
-
-delete-http-health-checker
---------------------------
-
-deletes the health-checker for a specified load balancer configuration
-
-[[sthref699]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-http-health-checker [--help] 
-[--config config_name]
- target
-----
-
-[[sthref700]]
-
-Description
-
-The `delete-http-health-checker` subcommand deletes the health checker
-from a load balancer configuration. A health checker is unique for the
-combination of target and load balancer configuration.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref701]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--config`::
-  The load balancer configuration from which you delete the
-  health-checker.
-
-[[sthref702]]
-
-Operands
-
-target::
-  Specifies the target from which you are deleting the health checker. +
-  Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref703]]
-
-Examples
-
-[[GSRFM547]][[sthref704]]
-
-Example 1   Deleting a Health Checker from a Load Balancer Configuration
-
-This example deletes the health checker for load balancer configuration
-named `mycluster-http-lb-config` on a cluster named `mycluster`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-http-health-checker --user admin 
---passwordfile password.txt --config mycluster-http-lb-config mycluster
-
-Command delete-http-health-checker executed successfully.
-----
-
-[[sthref705]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref706]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-health-checker.html#create-http-health-checker-1[`create-http-health-checker`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-http-lb-config.adoc b/docs/reference-manual/src/main/jbake/content/delete-http-lb-config.adoc
deleted file mode 100644
index e4698c6..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-http-lb-config.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=delete-http-lb-config
-next=delete-http-lb-ref.html
-prev=delete-http-lb.html
-~~~~~~
-delete-http-lb-config
-=====================
-
-[[delete-http-lb-config-1]][[GSRFM00080]][[delete-http-lb-config]]
-
-delete-http-lb-config
----------------------
-
-deletes a load balancer configuration
-
-[[sthref715]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-http-lb-config [--help] 
-config_name
-----
-
-[[sthref716]]
-
-Description
-
-Use the `delete-http-lb-config` subcommand to delete a load balancer
-configuration. The load balancer configuration must not reference any
-clusters or server instances enabled for load balancing. In addition,
-the load balancer configuration must not be referenced by any physical
-load balancers.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref717]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref718]]
-
-Operands
-
-config_name::
-  The name of the load balancer configuration to delete. The
-  configuration must not reference any clusters or server instances
-  enabled for load balancing, or be used by any physical load balancers.
-
-[[sthref719]]
-
-Examples
-
-[[GSRFM549]][[sthref720]]
-
-Example 1   Deleting a Load Balancer Configuration
-
-This example deletes a load balancer configuration named `mylbconfig`
-
-[source,oac_no_warn]
-----
-asadmin> delete-http-lb-config mylbconfig
-Command delete-http-lb-config executed successfully.
-----
-
-[[sthref721]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref722]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)],
-link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-http-lb-ref.adoc b/docs/reference-manual/src/main/jbake/content/delete-http-lb-ref.adoc
deleted file mode 100644
index 1ab7420..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-http-lb-ref.adoc
+++ /dev/null
@@ -1,122 +0,0 @@
-type=page
-status=published
-title=delete-http-lb-ref
-next=delete-http-listener.html
-prev=delete-http-lb-config.html
-~~~~~~
-delete-http-lb-ref
-==================
-
-[[delete-http-lb-ref-1]][[GSRFM00081]][[delete-http-lb-ref]]
-
-delete-http-lb-ref
-------------------
-
-deletes the cluster or server instance from a load balancer
-
-[[sthref723]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-http-lb-ref [--help] 
---config config_name | --lbname load_balancer_name
-[--force=false] target
-----
-
-[[sthref724]]
-
-Description
-
-Use the `delete-http-lb-ref` subcommand to remove a reference to a
-cluster or standalone server instance from a load balancer configuration
-or load balancer. So that you do not interrupt user requests, make sure
-the standalone server instance or all server instances in the cluster
-are disabled before you remove them from the load balancer
-configuration. If the `force` option is set to true, the references are
-deleted even if server instances or clusters are enabled.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref725]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--config`::
-  Specifies which load balancer configuration to delete cluster and
-  server instance references from. +
-  Specify either a load balancer configuration or a load balancer.
-  Specifying both results in an error.
-`--lbname`::
-  Specifies the load balancer to delete cluster and server instance
-  references from. +
-  Specify either a load balancer configuration or a load balancer.
-  Specifying both results in an error.
-`--force`::
-  If `force` is set to true, then the references are deleted even if
-  there are currently enabled applications or instances. The default is
-  false.
-
-[[sthref726]]
-
-Operands
-
-target::
-  Specifies which cluster or instance to remove from the load balancer.
-  Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref727]]
-
-Examples
-
-[[GSRFM550]][[sthref728]]
-
-Example 1   Deleting a Cluster Reference from a Load Balancer
-Configuration
-
-This example deletes the reference to cluster named `cluster2` from a
-load balancer configuration named `mycluster-http-lb-config`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-http-lb-ref --config mycluster-http-lb-config cluster2 
-
-Command delete-http-lb-ref executed successfully.
-----
-
-[[sthref729]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref730]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)],
-link:disable-http-lb-server.html#disable-http-lb-server-1[`disable-http-lb-server`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-http-lb.adoc b/docs/reference-manual/src/main/jbake/content/delete-http-lb.adoc
deleted file mode 100644
index 283a762..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-http-lb.adoc
+++ /dev/null
@@ -1,96 +0,0 @@
-type=page
-status=published
-title=delete-http-lb
-next=delete-http-lb-config.html
-prev=delete-http-health-checker.html
-~~~~~~
-delete-http-lb
-==============
-
-[[delete-http-lb-1]][[GSRFM00079]][[delete-http-lb]]
-
-delete-http-lb
---------------
-
-deletes a load balancer
-
-[[sthref707]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-http-lb [--help] 
-load_balancer_name
-----
-
-[[sthref708]]
-
-Description
-
-Use the `delete-http-lb` subcommand to delete a physical load balancer.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref709]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref710]]
-
-Operands
-
-load_balancer_name::
-  The name of the load balancer to be deleted.
-
-[[sthref711]]
-
-Examples
-
-[[GSRFM548]][[sthref712]]
-
-Example 1   Deleting a Load Balancer Configuration
-
-This example deletes the load balancer configuration named `mylb`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-http-lb mylb
-
-Command delete-http-lb executed successfully.
-----
-
-[[sthref713]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref714]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
-link:list-http-lbs.html#list-http-lbs-1[`list-http-lbs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-http-listener.adoc b/docs/reference-manual/src/main/jbake/content/delete-http-listener.adoc
deleted file mode 100644
index 843386d..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-http-listener.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=delete-http-listener
-next=delete-http-redirect.html
-prev=delete-http-lb-ref.html
-~~~~~~
-delete-http-listener
-====================
-
-[[delete-http-listener-1]][[GSRFM00082]][[delete-http-listener]]
-
-delete-http-listener
---------------------
-
-removes a network listener
-
-[[sthref731]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-http-listener [--help]
-[--target target]
-listener-id
-----
-
-[[sthref732]]
-
-Description
-
-The `delete-http-listener` subcommand removes the specified network
-listener.
-
-This subcommand is supported in remote mode only.
-
-[[sthref733]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the network listener only from the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Deletes the network listener from the default server instance. This
-    is the default value.
-  configuration-name;;
-    Deletes the network listener from the specified configuration.
-  cluster-name;;
-    Deletes the network listener from all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Deletes the network listener from the specified standalone server
-    instance.
-
-[[sthref734]]
-
-Operands
-
-listener-id::
-  The unique identifier for the network listener to be deleted.
-
-[[sthref735]]
-
-Examples
-
-[[GSRFM551]][[sthref736]]
-
-Example 1   Using the delete-http-listener subcommand
-
-The following command deletes the network listener named
-`sampleListener`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-http-listener sampleListener
-Command delete-http-listener executed successfully.
-----
-
-[[sthref737]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref738]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
-link:list-http-listeners.html#list-http-listeners-1[`list-http-listeners`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-http-redirect.adoc b/docs/reference-manual/src/main/jbake/content/delete-http-redirect.adoc
deleted file mode 100644
index caf436b..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-http-redirect.adoc
+++ /dev/null
@@ -1,84 +0,0 @@
-type=page
-status=published
-title=delete-http-redirect
-next=delete-iiop-listener.html
-prev=delete-http-listener.html
-~~~~~~
-delete-http-redirect
-====================
-
-[[delete-http-redirect-1]][[GSRFM00083]][[delete-http-redirect]]
-
-delete-http-redirect
---------------------
-
-removes an HTTP redirect
-
-[[sthref739]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-delete-http-redirect [--help]
-[--target target]
-protocol-name
-----
-
-[[sthref740]]
-
-Description
-
-The `delete-http-redirect` subcommand removes the specified HTTP
-redirect. This subcommand is supported in remote mode only.
-
-[[sthref741]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the HTTP redirect only from the specified target. Valid values
-  are as follows: +
-  `server`;;
-    Deletes the HTTP redirect from the default server instance. This is
-    the default value.
-  configuration-name;;
-    Deletes the HTTP redirect from the specified configuration.
-  cluster-name;;
-    Deletes the HTTP redirect from all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Deletes the HTTP redirect from the specified standalone server
-    instance.
-
-[[sthref742]]
-
-Operands
-
-protocol-name::
-  The name of the associated protocol.
-
-[[sthref743]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref744]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-redirect.html#create-http-redirect-1[`create-http-redirect`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-http.adoc b/docs/reference-manual/src/main/jbake/content/delete-http.adoc
deleted file mode 100644
index 29135e0..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-http.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=delete-http
-next=delete-http-health-checker.html
-prev=delete-file-user.html
-~~~~~~
-delete-http
-===========
-
-[[delete-http-1]][[GSRFM00077]][[delete-http]]
-
-delete-http
------------
-
-removes HTTP parameters from a protocol
-
-[[sthref691]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-http [--help]
-[--target target]
-protocol-name
-----
-
-[[sthref692]]
-
-Description
-
-The `delete-http` subcommand removes the specified HTTP parameter set
-from a protocol. This subcommand is supported in remote mode only.
-
-[[sthref693]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the HTTP parameter set only from the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Deletes the HTTP parameter set from the default server instance.
-    This is the default value.
-  configuration-name;;
-    Deletes the HTTP parameter set from the specified configuration.
-  cluster-name;;
-    Deletes the HTTP parameter set from all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Deletes the HTTP parameter set from the specified standalone server
-    instance.
-
-[[sthref694]]
-
-Operands
-
-protocol-name::
-  The name of the protocol from which to delete the HTTP parameter set.
-
-[[sthref695]]
-
-Examples
-
-[[GSRFM546]][[sthref696]]
-
-Example 1   Deleting an HTTP Parameter Set
-
-The following command deletes the HTTP parameter set from a protocol
-named `http-1`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-http http-1
-Command delete-http executed successfully.
-----
-
-[[sthref697]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref698]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http.html#create-http-1[`create-http`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-iiop-listener.adoc b/docs/reference-manual/src/main/jbake/content/delete-iiop-listener.adoc
deleted file mode 100644
index e248997..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-iiop-listener.adoc
+++ /dev/null
@@ -1,98 +0,0 @@
-type=page
-status=published
-title=delete-iiop-listener
-next=delete-instance.html
-prev=delete-http-redirect.html
-~~~~~~
-delete-iiop-listener
-====================
-
-[[delete-iiop-listener-1]][[GSRFM00084]][[delete-iiop-listener]]
-
-delete-iiop-listener
---------------------
-
-removes an IIOP listener
-
-[[sthref745]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-delete-iiop-listener [--help] [--target target] listener_id
-----
-
-[[sthref746]]
-
-Description
-
-The `delete-iiop-listener` subcommand removes the specified IIOP
-listener. This subcommand is supported in remote mode only.
-
-[[sthref747]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are deleting the IIOP listener.
-  Valid values are +
-  `server`;;
-    Deletes the listener from the default server instance `server` and
-    is the default value.
-  configuration_name;;
-    Deletes the listener from the named configuration.
-  cluster_name;;
-    Deletes the listener from every server instance in the cluster.
-  instance_name;;
-    Deletes the listener from a particular server instance.
-
-[[sthref748]]
-
-Operands
-
-listener_id::
-  The unique identifier for the IIOP listener to be deleted.
-
-[[sthref749]]
-
-Examples
-
-[[GSRFM552]][[sthref750]]
-
-Example 1   Deleting an IIOP Listener
-
-The following command deletes the IIOP listener named
-`sample_iiop_listener`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-iiop-listener sample_iiop_listener
-Command delete-iiop-listener executed successfully.
-----
-
-[[sthref751]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref752]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-iiop-listener.html#create-iiop-listener-1[`create-iiop-listener`(1)],
-link:list-iiop-listeners.html#list-iiop-listeners-1[`list-iiop-listeners`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-instance.adoc b/docs/reference-manual/src/main/jbake/content/delete-instance.adoc
deleted file mode 100644
index 66074d8..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-instance.adoc
+++ /dev/null
@@ -1,135 +0,0 @@
-type=page
-status=published
-title=delete-instance
-next=delete-jacc-provider.html
-prev=delete-iiop-listener.html
-~~~~~~
-delete-instance
-===============
-
-[[delete-instance-1]][[GSRFM00085]][[delete-instance]]
-
-delete-instance
----------------
-
-deletes a \{product---name} instance
-
-[[sthref753]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-instance [--help] 
-instance-name 
-----
-
-[[sthref754]]
-
-Description
-
-The `delete-instance` subcommand deletes a \{product---name} instance.
-This subcommand requires the Distributed Component Object Model (DCOM)
-remote protocol or secure shell (SSH) to be configured on the host where
-the domain administration server (DAS) is running and on the host that
-is represented by the node where the instance resides.
-
-
-[NOTE]
-=======================================================================
-
-DCOM or SSH is not required if the instance resides on a node of type
-`CONFIG` that represents the local host. A node of type `CONFIG` is not
-enabled for remote communication over DCOM or SSH.
-
-=======================================================================
-
-
-You may run this subcommand from any host that can contact the DAS.
-
-The subcommand can delete any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can delete an
-instance that was created by using the
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-subcommand.
-
-The instance that is being deleted must not be running. Otherwise, an
-error occurs.
-
-The subcommand deletes an instance by performing the following actions:
-
-* Removing the instance from the configuration of the domain
-administration server (DAS)
-* Deleting the instance's files from file system
-
-If the instance that is being deleted is the only instance that is using
-the node directory, that directory is also removed.
-
-If a standalone instance is deleted, the instance's standalone
-configuration is also deleted. A standalone instance refers to a
-configuration that is named instance-name`-config` to which no other
-clusters or unclustered instances refer.
-
-This subcommand is supported in remote mode only.
-
-[[sthref755]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref756]]
-
-Operands
-
-instance-name::
-  The name of the instance to delete.
-
-[[sthref757]]
-
-Examples
-
-[[GSRFM553]][[sthref758]]
-
-Example 1   Deleting a \{product---name} Instance
-
-This example deletes the \{product---name} instance `pmdsainst`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-instance pmdsainst
-
-Command delete-instance executed successfully.
-----
-
-[[sthref759]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref760]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
-link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jacc-provider.adoc b/docs/reference-manual/src/main/jbake/content/delete-jacc-provider.adoc
deleted file mode 100644
index a49d95a..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jacc-provider.adoc
+++ /dev/null
@@ -1,124 +0,0 @@
-type=page
-status=published
-title=delete-jacc-provider
-next=delete-javamail-resource.html
-prev=delete-instance.html
-~~~~~~
-delete-jacc-provider
-====================
-
-[[delete-jacc-provider-1]][[GSRFM00086]][[delete-jacc-provider]]
-
-delete-jacc-provider
---------------------
-
-enables administrators to delete JACC providers defined for a domain
-
-[[sthref761]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jacc-provider [--help]
-[--target target] jacc-provider-name
-----
-
-[[sthref762]]
-
-Description
-
-The `delete-jacc-provider` subcommand enables administrators to delete
-JACC providers defined for a domain. JACC providers are defined as
-`jacc-provider` elements in the `security-service` element in the
-domain's `domain.xml` file. JACC providers can be created using the
-\{product---name} Admin Console or the `create-jacc-provider`
-subcommand.
-
-The default \{product---name} installation includes two JACC providers,
-named `default` and `simple`. These default providers should not be
-deleted.
-
-The JACC provider used by\{product---name} for authorization is
-identified by the `jacc-provider` element of `security-service` in
-`domain.xml`. Therefore, if you delete the `jacc-provider` provider,
-make sure you change `jacc-provider` to the name of some other JACC
-provider that exists under `security-service`.
-
-If you change the `jacc-provider` element to point to a different JACC
-provider, you must restart \{product---name}.
-
-This subcommand is supported in remote mode only.
-
-[[sthref763]]
-
-Options
-
-If an option has a short option name, then the short option precedes the
-long option name. Short options have one dash whereas long options have
-two dashes.
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are deleting the JACC provider.
-  The following values are valid: +
-  `server`;;
-    Deletes the JACC provider on the default server instance. This is
-    the default value.
-  configuration_name;;
-    Deletes the JACC provider in the specified configuration.
-  cluster_name;;
-    Deletes the JACC provider on all server instances in the specified
-    cluster.
-  instance_name;;
-    Deletes the JACC provider on a specified server instance.
-
-[[sthref764]]
-
-Operands
-
-jacc-provider-name::
-  The name of the JACC provider to be deleted.
-
-[[sthref765]]
-
-Examples
-
-[[GSRFM554]][[sthref766]]
-
-Example 1   Deleting a JACC provider
-
-The following example shows how to delete a JACC provider named
-`testJACC` from the default domain.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jacc-provider testJACC
-
-Command delete-jacc-provider executed successfully.
-----
-
-[[sthref767]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref768]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jacc-provider.html#create-jacc-provider-1[`create-jacc-provider`(1)],
-link:list-jacc-providers.html#list-jacc-providers-1[`list-jacc-providers`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-javamail-resource.adoc b/docs/reference-manual/src/main/jbake/content/delete-javamail-resource.adoc
deleted file mode 100644
index 65f9584..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-javamail-resource.adoc
+++ /dev/null
@@ -1,102 +0,0 @@
-type=page
-status=published
-title=delete-javamail-resource
-next=delete-jdbc-connection-pool.html
-prev=delete-jacc-provider.html
-~~~~~~
-delete-javamail-resource
-========================
-
-[[delete-javamail-resource-1]][[GSRFM00087]][[delete-javamail-resource]]
-
-delete-javamail-resource
-------------------------
-
-removes a JavaMail session resource
-
-[[sthref769]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-javamail-resource [--help] 
-[--target target] jndi_name
-----
-
-[[sthref770]]
-
-Description
-
-The `delete-javamail-resource` subcommand removes the specified JavaMail
-session resource. Ensure that you remove all references to this resource
-before running this subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref771]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target from which you are deleting the
-  JavaMail session resource. Valid values are: +
-  `server`;;
-    Deletes the resource from the default server instance. This is the
-    default value.
-  `domain`;;
-    Deletes the resource from the domain.
-  cluster_name;;
-    Deletes the resource from every server instance in the cluster.
-  instance_name;;
-    Deletes the resource from a particular server instance.
-
-[[sthref772]]
-
-Operands
-
-jndi_name::
-  The JNDI name of the JavaMail session resource to be deleted.
-
-[[sthref773]]
-
-Examples
-
-[[GSRFM555]][[sthref774]]
-
-Example 1   Deleting a JavaMail Resource
-
-This example deletes the JavaMail session resource named
-`mail/MyMailSession`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-javamail-resource mail/MyMailSession
-Command delete-javamail-resource executed successfully.
-----
-
-[[sthref775]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref776]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-javamail-resource.html#create-javamail-resource-1[`create-javamail-resource`(1)],
-link:list-javamail-resources.html#list-javamail-resources-1[`list-javamail-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jdbc-connection-pool.adoc b/docs/reference-manual/src/main/jbake/content/delete-jdbc-connection-pool.adoc
deleted file mode 100644
index ce971c5..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jdbc-connection-pool.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=delete-jdbc-connection-pool
-next=delete-jdbc-resource.html
-prev=delete-javamail-resource.html
-~~~~~~
-delete-jdbc-connection-pool
-===========================
-
-[[delete-jdbc-connection-pool-1]][[GSRFM00088]][[delete-jdbc-connection-pool]]
-
-delete-jdbc-connection-pool
----------------------------
-
-removes the specified JDBC connection pool
-
-[[sthref777]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jdbc-connection-pool [--help]
-[--cascade={false|true}]
-[--target target]
-jdbc_connection_pool_id
-----
-
-[[sthref778]]
-
-Description
-
-The `delete-jdbc-connection-pool` subcommand deletes a JDBC connection
-pool. Before running this subcommand, all associations to the JDBC
-connection pool must be removed.
-
-This subcommand is supported in remote mode only.
-
-[[sthref779]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--cascade`::
-  If the option is set to true, all the JDBC resources associated with
-  the pool, apart from the pool itself, are deleted. When set to false,
-  the deletion of pool fails if any resources are associated with the
-  pool. Resources must be deleted explicitly or the option must be set
-  to true. The default value is false.
-`--target`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref780]]
-
-Operands
-
-jdbc_connection_pool_id::
-  The name of the JDBC resource to be removed.
-
-[[sthref781]]
-
-Examples
-
-[[GSRFM556]][[sthref782]]
-
-Example 1   Deleting a JDBC Connection Pool
-
-This example deletes the `sample_derby_pool` JDBC connection pool.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jdbc-connection-pool --cascade=false sample_derby_pool
-Command delete-jdbc-connection-pool executed correctly.
-----
-
-[[sthref783]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref784]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jdbc-resource.adoc b/docs/reference-manual/src/main/jbake/content/delete-jdbc-resource.adoc
deleted file mode 100644
index 52931b7..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jdbc-resource.adoc
+++ /dev/null
@@ -1,116 +0,0 @@
-type=page
-status=published
-title=delete-jdbc-resource
-next=delete-jmsdest.html
-prev=delete-jdbc-connection-pool.html
-~~~~~~
-delete-jdbc-resource
-====================
-
-[[delete-jdbc-resource-1]][[GSRFM00089]][[delete-jdbc-resource]]
-
-delete-jdbc-resource
---------------------
-
-removes a JDBC resource with the specified JNDI name
-
-[[sthref785]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jdbc-resource [--help] 
-[--target target] jndi_name
-----
-
-[[sthref786]]
-
-Description
-
-The `delete-jdbc-resource` subcommand removes a JDBC resource. Ensure
-that all associations to the JDBC resource are removed before running
-this subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref787]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option helps specify the target from which you are removing the
-  JDBC resource. Valid targets are: +
-  `server`;;
-    Removes the resource from the default server instance. This is the
-    default value.
-  `domain`;;
-    Removes the resource from the domain.
-  cluster_name;;
-    Removes the resource from every server instance in the cluster.
-  instance_name;;
-    Removes the resource from a particular server instance.
-
-
-[NOTE]
-=======================================================================
-
-Resources are always created for a domain as a whole but are only active
-for targets for which a `<resource-ref>` has been created using the
-`--target` option when the resource was created. This means that
-deleting a resource only deletes the `<resource-ref>` element for the
-specified `--target`, and does not delete the resource from the domain
-as a whole unless `domain` is specified as the `--target` for the
-deletion.
-
-=======================================================================
-
-
-[[sthref788]]
-
-Operands
-
-jndi_name::
-  The JNDI name of this JDBC resource to be removed.
-
-[[sthref789]]
-
-Examples
-
-[[GSRFM557]][[sthref790]]
-
-Example 1   Deleting a JDBC Resource
-
-The following example deletes the JDBC resource named `jdbc/DerbyPool`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jdbc-resource jdbc/DerbyPool
-Command delete-jdbc-resource executed successfully.
-----
-
-[[sthref791]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref792]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
-link:list-jdbc-resources.html#list-jdbc-resources-1[`list-jdbc-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jms-host.adoc b/docs/reference-manual/src/main/jbake/content/delete-jms-host.adoc
deleted file mode 100644
index 0efa0c4..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jms-host.adoc
+++ /dev/null
@@ -1,107 +0,0 @@
-type=page
-status=published
-title=delete-jms-host
-next=delete-jms-resource.html
-prev=delete-jmsdest.html
-~~~~~~
-delete-jms-host
-===============
-
-[[delete-jms-host-1]][[GSRFM00091]][[delete-jms-host]]
-
-delete-jms-host
----------------
-
-removes a JMS host
-
-[[sthref801]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jms-host [--help]
-[--target target]
-jms_host_name
-----
-
-[[sthref802]]
-
-Description
-
-The `delete-jms-host` subcommand removes the specified Java Message
-Service (JMS) host.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-Deleting the default JMS host, named `default_JMS_host`, is not
-recommended.
-
-[[sthref803]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the JMS host only from the specified target. Valid values are
-  as follows: +
-  `server`;;
-    Deletes the JMS host from the default server instance. This is the
-    default value.
-  configuration-name;;
-    Deletes the JMS host from the specified configuration.
-  cluster-name;;
-    Deletes the JMS host from every server instance in the specified
-    cluster.
-  instance-name;;
-    Deletes the JMS host from the specified server instance.
-
-[[sthref804]]
-
-Operands
-
-jms_host_name::
-  The name of the host to be deleted.
-
-[[sthref805]]
-
-Examples
-
-[[GSRFM559]][[sthref806]]
-
-Example 1   Deleting a JMS host
-
-The following subcommand deletes the JMS host named `MyNewHost`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jms-host MyNewHost
-Command delete-jms-host executed successfully.
-----
-
-[[sthref807]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref808]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jms-host.html#create-jms-host-1[`create-jms-host`(1)],
-link:jms-ping.html#jms-ping-1[`jms-ping`(1)],
-link:list-jms-hosts.html#list-jms-hosts-1[`list-jms-hosts`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jms-resource.adoc b/docs/reference-manual/src/main/jbake/content/delete-jms-resource.adoc
deleted file mode 100644
index 5d19903..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jms-resource.adoc
+++ /dev/null
@@ -1,122 +0,0 @@
-type=page
-status=published
-title=delete-jms-resource
-next=delete-jndi-resource.html
-prev=delete-jms-host.html
-~~~~~~
-delete-jms-resource
-===================
-
-[[delete-jms-resource-1]][[GSRFM00092]][[delete-jms-resource]]
-
-delete-jms-resource
--------------------
-
-removes a JMS resource
-
-[[sthref809]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jms-resource [--help]
-[--target target]
-jndi_name
-----
-
-[[sthref810]]
-
-Description
-
-The `delete-jms-resource` subcommand removes the specified Java Message
-Service (JMS) resource. Ensure that you remove all references to this
-resource before executing this subcommand.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref811]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the JMS resource only from the specified target. Valid values
-  are as follows: +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Resources are always created for a domain as a whole but are only
-active for targets for which a `<resource-ref>` has been created using
-the `--target` option when the resource was created. This means that
-deleting a resource only deletes the `<resource-ref>` element for the
-specified `--target`, and does not delete the resource from the domain
-as a whole unless `domain` is specified as the `--target` for the
-deletion.
-
-|=======================================================================
-
-  `server`;;
-    Deletes the JMS resource from the default server instance. This is
-    the default value.
-  `domain`;;
-    Deletes the JMS resource from the domain.
-  cluster-name;;
-    Deletes the JMS resource from every server instance in the specified
-    cluster.
-  instance-name;;
-    Deletes the JMS resource from the specified server instance.
-
-[[sthref812]]
-
-Operands
-
-jndi_name::
-  The JNDI name of the JMS resource to be deleted.
-
-[[sthref813]]
-
-Examples
-
-[[GSRFM560]][[sthref814]]
-
-Example 1   Deleting a JMS destination resource
-
-The following subcommand deletes the JMS destination resource named
-`jms/MyQueue`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jms-resource jms/MyQueue
-Administered object jms/MyQueue deleted.
-Command delete-jms-resource executed successfully.
-----
-
-[[sthref815]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref816]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
-link:list-jms-resources.html#list-jms-resources-1[`list-jms-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jmsdest.adoc b/docs/reference-manual/src/main/jbake/content/delete-jmsdest.adoc
deleted file mode 100644
index b3989c6..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jmsdest.adoc
+++ /dev/null
@@ -1,110 +0,0 @@
-type=page
-status=published
-title=delete-jmsdest
-next=delete-jms-host.html
-prev=delete-jdbc-resource.html
-~~~~~~
-delete-jmsdest
-==============
-
-[[delete-jmsdest-1]][[GSRFM00090]][[delete-jmsdest]]
-
-delete-jmsdest
---------------
-
-removes a JMS physical destination
-
-[[sthref793]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jmsdest [--help]
---desttype type
-[--target target]
-dest_name
-----
-
-[[sthref794]]
-
-Description
-
-The `delete-jmsdest` subcommand removes the specified Java Message
-Service (JMS) physical destination.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref795]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--desttype`::
-  The type of the JMS destination. Valid values are `topic` and `queue`.
-`--target`::
-  Deletes the physical destination only from the specified target.
-  Although the `delete-jmsdest` subcommand is related to resources, a
-  physical destination is deleted using the JMS Service (JMS Broker),
-  which is part of the configuration. A JMS Broker is configured in the
-  config section of `domain.xml`. Valid values are as follows: +
-  `server`;;
-    Deletes the physical destination from the default server instance.
-    This is the default value.
-  configuration-name;;
-    Deletes the physical destination from the specified configuration.
-  cluster-name;;
-    Deletes the physical destination from every server instance in the
-    specified cluster.
-  instance-name;;
-    Creates the physical destination from the specified server instance.
-
-[[sthref796]]
-
-Operands
-
-dest_name::
-  The unique identifier of the JMS destination to be deleted.
-
-[[sthref797]]
-
-Examples
-
-[[GSRFM558]][[sthref798]]
-
-Example 1   Deleting a physical destination
-
-The following subcommand deletes the queue named `PhysicalQueue`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jmsdest --desttype queue PhysicalQueue
-Command delete-jmsdest executed successfully.
-----
-
-[[sthref799]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref800]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jmsdest.html#create-jmsdest-1[`create-jmsdest`(1)],
-link:flush-jmsdest.html#flush-jmsdest-1[`flush-jmsdest`(1)],
-link:list-jmsdest.html#list-jmsdest-1[`list-jmsdest`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jndi-resource.adoc b/docs/reference-manual/src/main/jbake/content/delete-jndi-resource.adoc
deleted file mode 100644
index 72096c6..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jndi-resource.adoc
+++ /dev/null
@@ -1,117 +0,0 @@
-type=page
-status=published
-title=delete-jndi-resource
-next=delete-jvm-options.html
-prev=delete-jms-resource.html
-~~~~~~
-delete-jndi-resource
-====================
-
-[[delete-jndi-resource-1]][[GSRFM00093]][[delete-jndi-resource]]
-
-delete-jndi-resource
---------------------
-
-removes a JNDI resource
-
-[[sthref817]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jndi-resource [--help] 
-[--target target] jndi_name
-----
-
-[[sthref818]]
-
-Description
-
-The `delete-jndi-resource` subcommand removes the specified JNDI
-resource. You must remove all associations to the JNDI resource before
-running this subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref819]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Valid targets are described below. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Resources are always created for a domain as a whole but are only
-active for targets for which a `<resource-ref>` has been created using
-the `--target` option when the resource was created. This means that
-deleting a resource only deletes the `<resource-ref>` element for the
-specified `--target`, and does not delete the resource from the domain
-as a whole unless `domain` is specified as the `--target` for the
-deletion.
-
-|=======================================================================
-
-  `server`;;
-    Deletes the resource from the default server instance. This is the
-    default value
-  `domain`;;
-    Deletes the resource from the domain
-  cluster_name;;
-    Deletes the resource for every server instance in the cluster
-  instance_name;;
-    Deletes the resource from the specified server instance
-
-[[sthref820]]
-
-Operands
-
-jndi_name::
-  The name of the JNDI resource to be removed.
-
-[[sthref821]]
-
-Examples
-
-[[GSRFM561]][[sthref822]]
-
-Example 1   Deleting a JNDI Resource
-
-This example removes an existing JNDI resource named
-`sample_jndi_resource`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jndi-resource sample_jndi_resource
-Command delete-jndi-resource executed successfully.
-----
-
-[[sthref823]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref824]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
-link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-jvm-options.adoc b/docs/reference-manual/src/main/jbake/content/delete-jvm-options.adoc
deleted file mode 100644
index 713c63e..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-jvm-options.adoc
+++ /dev/null
@@ -1,177 +0,0 @@
-type=page
-status=published
-title=delete-jvm-options
-next=delete-lifecycle-module.html
-prev=delete-jndi-resource.html
-~~~~~~
-delete-jvm-options
-==================
-
-[[delete-jvm-options-1]][[GSRFM00094]][[delete-jvm-options]]
-
-delete-jvm-options
-------------------
-
-removes one or more options for the Java application launcher
-
-[[sthref825]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-jvm-options [--help] 
-[--target target] [--profiler={true|false}] 
-(jvm-option-name[=jvm-option-value]) [:jvm-option-name[=jvm-option-name]]*
-----
-
-[[sthref826]]
-
-Description
-
-The `delete-jvm-options` subcommand removes one or more command-line
-options for the Java application launcher. These options are removed
-from the Java configuration `java—config` element or the profiler
-`profiler` element of the `domain.xml` file. To see the Java application
-launcher options that can be deleted, use the
-link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)]
-subcommand.
-
-The deletion of some options requires a server restart for changes to
-become effective. Other options are set immediately in the environment
-of the domain administration server (DAS) and do not require a restart.
-
-Whether a restart is required depends on the type of option.
-
-* Restart is not required for Java system properties whose names do not
-start with `-Djava.` or `-Djavax.` (including the trailing period). For
-example, restart is not required for the following Java system property: +
-`-Denvironment=Production`
-* Restart is required for the following options:
-
-** Java system properties whose names start with `-Djava.` or `-Djavax.`
-(including the trailing period). For example: +
-`-Djava.security.manager`
-
-** Startup parameters for the Java application launcher. For example: +
-`-client` +
-`-Xmx1024m` +
-`-d64`
-
-To restart the DAS, use the
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)] command.
-
-This subcommand is supported in remote mode only.
-
-[[sthref827]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are removing Java application
-  launcher options. +
-  Valid values are as follows: +
-  `server`;;
-    Specifies the DAS (default).
-  instance-name;;
-    Specifies a \{product---name} instance.
-  cluster-name;;
-    Specifies a cluster.
-  configuration-name;;
-    Specifies a named configuration.
-`--profiler`::
-  Indicates whether the Java application launcher options are for the
-  profiler. The option must have been set for a profiler for this option
-  to be true.
-
-[[sthref828]]
-
-Operands
-
-jvm-option-name::
-  One or more options delimited by a colon (:). The format of the
-  operand depends on the following: +
-  * If the option has a name and a value, the format is
-  option-name=value.
-  * If the option has only a name, the format is option-name. For
-  example, `-Xmx2048m`. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-If an option name or option value contains a colon, the backslash
-(`\`) must be used to escape the colon in the name or value. Other
-characters might also require an escape character. For more
-information about escape characters in subcommand options, see the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] man page.
-
-|=======================================================================
-
-
-[[sthref829]]
-
-Examples
-
-[[GSRFM562]][[sthref830]]
-
-Example 1   Deleting Java Application Launcher Options
-
-This example removes multiple Java application launcher options.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jvm-options -Doption1=value1
-"-Doption1=value1:-Doption2=value2"
-Command delete-jvm-options executed successfully
-----
-
-[[GSRFM563]][[sthref831]]
-
-Example 2   Deleting a Java Application Launcher Option From the
-Profiler
-
-This example removes a Java application launcher startup parameter for
-the profiler.
-
-[source,oac_no_warn]
-----
-asadmin> delete-jvm-options --profiler=true -XX:MaxPermSize=192m
-Command delete-jvm-options executed successfully.
-----
-
-[[sthref832]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref833]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
-link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)],
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)]
-
-For more information about the Java application launcher, see the
-reference page for the operating system that you are using:
-
-* Oracle Solaris and Linux: java - the Java application launcher
-(`http://java.sun.com/javase/7/docs/technotes/tools/solaris/java.html`)
-* Windows: java - the Java application launcher
-(`http://java.sun.com/javase/7/docs/technotes/tools/windows/java.html`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-lifecycle-module.adoc b/docs/reference-manual/src/main/jbake/content/delete-lifecycle-module.adoc
deleted file mode 100644
index 377e6ef..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-lifecycle-module.adoc
+++ /dev/null
@@ -1,99 +0,0 @@
-type=page
-status=published
-title=delete-lifecycle-module
-next=delete-local-instance.html
-prev=delete-jvm-options.html
-~~~~~~
-delete-lifecycle-module
-=======================
-
-[[delete-lifecycle-module-1]][[GSRFM00095]][[delete-lifecycle-module]]
-
-delete-lifecycle-module
------------------------
-
-removes the lifecycle module
-
-[[sthref834]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-lifecycle-module [--help] 
-[--target target] module_name
-----
-
-[[sthref835]]
-
-Description
-
-The `delete-lifecycle-module` subcommand removes a lifecycle module. A
-lifecycle module provides a means of running a short or long duration
-Java-based task at a specific stage in the server life cycle. This
-subcommand is supported in remote mode only.
-
-[[sthref836]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Indicates the location where the lifecycle module is to be deleted.
-  Valid values are +
-  * `server`- Specifies the default server instance as the target for
-  deleting the lifecycle module. `server` is the name of the default
-  server instance and is the default value for this option.
-  * cluster_name- Specifies a particular cluster as the target for
-  deleting the lifecycle module.
-  * instance_name- Specifies a particular server instance as the target
-  for deleting the lifecycle module.
-
-[[sthref837]]
-
-Operands
-
-module_name::
-  This operand is a unique identifier for the deployed server lifecycle
-  event listener module.
-
-[[sthref838]]
-
-Examples
-
-[[GSRFM564]][[sthref839]]
-
-Example 1   Deleting a Lifecycle Module
-
-The following example deletes a lifecycle module named `customSetup`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-lifecycle-module customSetup
-Command delete-lifecycle-module executed successfully
-----
-
-[[sthref840]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref841]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-lifecycle-module.html#create-lifecycle-module-1[`create-lifecycle-module`(1)],
-link:list-lifecycle-modules.html#list-lifecycle-modules-1[`list-lifecycle-modules`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-local-instance.adoc b/docs/reference-manual/src/main/jbake/content/delete-local-instance.adoc
deleted file mode 100644
index e7364c0..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-local-instance.adoc
+++ /dev/null
@@ -1,142 +0,0 @@
-type=page
-status=published
-title=delete-local-instance
-next=delete-managed-executor-service.html
-prev=delete-lifecycle-module.html
-~~~~~~
-delete-local-instance
-=====================
-
-[[delete-local-instance-1]][[GSRFM00096]][[delete-local-instance]]
-
-delete-local-instance
----------------------
-
-deletes a \{product---name} instance on the machine where the subcommand
-is run
-
-[[sthref842]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-local-instance [--help]
-[--nodedir node-dir] [--node node-name]
-[instance-name]
-----
-
-[[sthref843]]
-
-Description
-
-The `delete-local-instance` subcommand deletes a \{product---name}
-instance on the machine where the subcommand is run. This subcommand
-does not require the Distributed Component Object Model (DCOM) remote
-protocol or secure shell (SSH) to be configured. You must run this
-command from the machine where the instance resides.
-
-The subcommand can delete any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can delete an
-instance that was created by using the
-link:create-instance.html#create-instance-1[`create-instance`(1)]
-subcommand.
-
-The instance that is being deleted must not be running. Otherwise, an
-error occurs.
-
-The subcommand deletes an instance by performing the following actions:
-
-* Removing the instance from the configuration of the domain
-administration server (DAS)
-* Deleting the instance's files from file system
-
-If the instance that is being deleted is the only instance that is using
-the node directory, that directory is also removed.
-
-If a standalone instance is deleted, the instance's standalone
-configuration is also deleted. A standalone instance refers to a
-configuration that is named instance-name`-config` to which no other
-clusters or unclustered instances refer.
-
-The `delete-local-instance` subcommand does not contact the DAS to
-determine the node on which the instance resides. To determine the node
-on which the instance resides, the subcommand searches the directory
-that contains the node directories. If multiple node directories exist,
-the node must be specified as an option of the subcommand.
-
-If no operand is specified and only one instance resides on the
-specified node, the subcommand deletes the instance. If no operand is
-specified and multiple instances reside on the node, an error occurs.
-
-This subcommand is supported in remote mode only.
-
-[[sthref844]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodedir`::
-  Specifies the directory that contains the instance's node directory.
-  The instance's files are stored in the instance's node directory. The
-  default is as-install`/nodes`.
-`--node`::
-  Specifies the node on which the instance resides. This option may be
-  omitted only if the directory that the `--nodedir` option specifies
-  contains only one node directory. Otherwise, this option is required.
-
-[[sthref845]]
-
-Operands
-
-instance-name::
-  The name of the instance to delete. This operand may be omitted if
-  only one instance resides on the specified node. Otherwise, this
-  operand is required.
-
-[[sthref846]]
-
-Examples
-
-[[GSRFM565]][[sthref847]]
-
-Example 1   Deleting an Instance
-
-This example deletes the instance `pmdsainst`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-local-instance pmdsainst
-
-Command delete-local-instance executed successfully.
-----
-
-[[sthref848]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref849]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-managed-executor-service.adoc b/docs/reference-manual/src/main/jbake/content/delete-managed-executor-service.adoc
deleted file mode 100644
index c95f800..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-managed-executor-service.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=delete-managed-executor-service
-next=delete-managed-scheduled-executor-service.html
-prev=delete-local-instance.html
-~~~~~~
-delete-managed-executor-service
-===============================
-
-[[delete-managed-executor-service-1]][[GSRFM848]][[delete-managed-executor-service]]
-
-delete-managed-executor-service
--------------------------------
-
-removes a managed executor service resource with the specified JNDI name
-
-[[sthref850]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-managed-executor-service [--help]
-[--target target]
-managed_executor_service_name
-----
-
-[[sthref851]]
-
-Description
-
-The `delete-managed-executor-service` subcommand removes a managed
-executor service resource with the specified JNDI name.
-
-This subcommand is supported in remote mode only.
-
-[[sthref852]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are deleting the resource. Valid
-  targets are: +
-  `server`;;
-    Deletes the resource from the default server instance. This is the
-    default value.
-  `domain`;;
-    Deletes the resource from the domain.
-  cluster_name;;
-    Deletes the resource from every server instance in the specified
-    cluster.
-  instance_name;;
-    Deletes the resource from the specified server instance.
-
-[[sthref853]]
-
-Operands
-
-managed_executor_service_name::
-  The JNDI name of the resource to be deleted.
-
-[[sthref854]]
-
-Examples
-
-[[GSRFM849]][[sthref855]]
-
-Example 1   Deleting a Managed Executor Service Resource
-
-This example deletes the managed executor service resource named
-`concurrent/myExecutor`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-managed-executor-service concurrent/myExecutor
-Managed executor service concurrent/myExecutor deleted successfully.
-Command delete-managed-executor-service executed successfully.
-----
-
-[[sthref856]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref857]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-managed-executor-service.html#create-managed-executor-service-1[`create-managed-executor-service`(1)],
-link:list-managed-executor-services.html#list-managed-executor-services-1[`list-managed-executor-services`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-managed-scheduled-executor-service.adoc b/docs/reference-manual/src/main/jbake/content/delete-managed-scheduled-executor-service.adoc
deleted file mode 100644
index 7626b04..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-managed-scheduled-executor-service.adoc
+++ /dev/null
@@ -1,106 +0,0 @@
-type=page
-status=published
-title=delete-managed-scheduled-executor-service
-next=delete-managed-thread-factory.html
-prev=delete-managed-executor-service.html
-~~~~~~
-delete-managed-scheduled-executor-service
-=========================================
-
-[[delete-managed-scheduled-executor-service-1]][[GSRFM850]][[delete-managed-scheduled-executor-service]]
-
-delete-managed-scheduled-executor-service
------------------------------------------
-
-removes a managed scheduled executor service resource with the specified
-JNDI name
-
-[[sthref858]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-managed-scheduled-executor-service [--help]
-[--target target]
-managed_scheduled_executor_service_name
-----
-
-[[sthref859]]
-
-Description
-
-The `delete-managed-scheduled-executor-service` subcommand removes a
-managed scheduled executor service resource with the specified JNDI
-name.
-
-This subcommand is supported in remote mode only.
-
-[[sthref860]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are deleting the resource. Valid
-  targets are: +
-  `server`;;
-    Deletes the resource from the default server instance. This is the
-    default value.
-  `domain`;;
-    Deletes the resource from the domain.
-  cluster_name;;
-    Deletes the resource from every server instance in the specified
-    cluster.
-  instance_name;;
-    Deletes the resource from the specified server instance.
-
-[[sthref861]]
-
-Operands
-
-managed_scheduled_executor_service_name::
-  The JNDI name of the resource to be deleted.
-
-[[sthref862]]
-
-Examples
-
-[[GSRFM851]][[sthref863]]
-
-Example 1   Deleting a Managed Scheduled Executor Service Resource
-
-This example deletes the managed scheduled executor service resource
-named `concurrent/myScheduledExecutor`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-managed-scheduled-executor-service concurrent/myScheduledExecutor
-Managed scheduled executor service concurrent/myScheduledExecutor deleted successfully.
-Command delete-managed-scheduled-executor-service executed successfully.
-----
-
-[[sthref864]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref865]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-managed-scheduled-executor-service.html#create-managed-scheduled-executor-service-1[`create-managed-scheduled-executor-service`(1)],
-link:list-managed-scheduled-executor-services.html#list-managed-scheduled-executor-services-1[`list-managed-scheduled-executor-services`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-managed-thread-factory.adoc b/docs/reference-manual/src/main/jbake/content/delete-managed-thread-factory.adoc
deleted file mode 100644
index 4f23343..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-managed-thread-factory.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=delete-managed-thread-factory
-next=delete-message-security-provider.html
-prev=delete-managed-scheduled-executor-service.html
-~~~~~~
-delete-managed-thread-factory
-=============================
-
-[[delete-managed-thread-factory-1]][[GSRFM852]][[delete-managed-thread-factory]]
-
-delete-managed-thread-factory
------------------------------
-
-removes a managed thread factory resource with the specified JNDI name
-
-[[sthref866]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-managed-thread-factory [--help]
-[--target target]
-managed_thread_factory_name
-----
-
-[[sthref867]]
-
-Description
-
-The `delete-managed-thread-factory` subcommand removes a managed thread
-factory resource with the specified JNDI name.
-
-This subcommand is supported in remote mode only.
-
-[[sthref868]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are deleting the resource. Valid
-  targets are: +
-  `server`;;
-    Deletes the resource from the default server instance. This is the
-    default value.
-  `domain`;;
-    Deletes the resource from the domain.
-  cluster_name;;
-    Deletes the resource from every server instance in the specified
-    cluster.
-  instance_name;;
-    Deletes the resource from the specified server instance.
-
-[[sthref869]]
-
-Operands
-
-managed_thread_factory_name::
-  The JNDI name of the resource to be deleted.
-
-[[sthref870]]
-
-Examples
-
-[[GSRFM853]][[sthref871]]
-
-Example 1   Deleting a Managed Thread Factory Resource
-
-This example deletes the managed thread factory resource named
-`concurrent/myThreadFactory`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-managed-thread-factory concurrent/myThreadFactory
-Managed thread factory concurrent/myThreadFactory deleted successfully.
-Command delete-managed-thread-factory executed successfully.
-----
-
-[[sthref872]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref873]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-managed-thread-factory.html#create-managed-thread-factory-1[`create-managed-thread-factory`(1)],
-link:list-managed-thread-factories.html#list-managed-thread-factories-1[`list-managed-thread-factories`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-message-security-provider.adoc b/docs/reference-manual/src/main/jbake/content/delete-message-security-provider.adoc
deleted file mode 100644
index cf9c33b..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-message-security-provider.adoc
+++ /dev/null
@@ -1,125 +0,0 @@
-type=page
-status=published
-title=delete-message-security-provider
-next=delete-module-config.html
-prev=delete-managed-thread-factory.html
-~~~~~~
-delete-message-security-provider
-================================
-
-[[delete-message-security-provider-1]][[GSRFM00097]][[delete-message-security-provider]]
-
-delete-message-security-provider
---------------------------------
-
-enables administrators to delete a message security provider
-
-[[sthref874]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-message-security-provider [--help] 
-[--target target]
---layer message_layer
-provider_name
-----
-
-[[sthref875]]
-
-Description
-
-The `delete-message-security-provider` subcommand enables administrators
-to delete a message security provider.
-
-In terms of what happens when this subcommand is run, the
-`provider-config` sub-element for the given message layer
-(`message-security-config` element of `domain.xml` is deleted. The
-`domain.xml`file specifies parameters and properties to the
-\{product---name}). The options specified in the list below apply to
-attributes within the `message-security-config` and `provider-config`
-sub-elements of the `domain.xml` file.
-
-If the message-layer (`message-security-config` attribute) does not
-exist, it is created, and then the `provider-config` is created under
-it.
-
-This command is supported in remote mode only.
-
-[[sthref876]]
-
-Options
-
-If an option has a short option name, then the short option precedes the
-long option name. Short options have one dash whereas long options have
-two dashes.
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are deleting the message security
-  provider. Valid values are +
-  `server`;;
-    Deletes the message security provider from the default server
-    instance `server` and is the default value
-  `domain`;;
-    Deletes the message security provider from the domain.
-  cluster_name;;
-    Deletes the message security provider from every server instance in
-    the cluster.
-  instance_name;;
-    Deletes the message security provider from a particular sever
-    instance.
-`--layer`::
-  The message-layer from which the provider has to be deleted. The
-  default value is `HttpServlet`.
-
-[[sthref877]]
-
-Operands
-
-provider_name::
-  The name of the provider used to reference the `provider-config`
-  element.
-
-[[sthref878]]
-
-Examples
-
-[[GSRFM566]][[sthref879]]
-
-Example 1   Deleting a message security provider
-
-The following example shows how to delete a message security provider
-for a client.
-
-[source,oac_no_warn]
-----
-asadmin> delete-message-security-provider 
---layer SOAP mySecurityProvider
-----
-
-[[sthref880]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref881]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-message-security-provider.html#create-message-security-provider-1[`create-message-security-provider`(1)],
-link:list-message-security-providers.html#list-message-security-providers-1[`list-message-security-providers`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-module-config.adoc b/docs/reference-manual/src/main/jbake/content/delete-module-config.adoc
deleted file mode 100644
index d545e68..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-module-config.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=delete-module-config
-next=delete-network-listener.html
-prev=delete-message-security-provider.html
-~~~~~~
-delete-module-config
-====================
-
-[[delete-module-config-1]][[GSRFM854]][[delete-module-config]]
-
-delete-module-config
---------------------
-
-removes the configuration of a module from `domain.xml`
-
-[[sthref882]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-module-config [--help]
-[--target target]
-service_name
-----
-
-[[sthref883]]
-
-Description
-
-The `delete-module-config` subcommand removes the configuration of a
-module from `domain.xml` and causes the module to use the default
-configuration included in the module.
-
-This subcommand is supported in remote mode only.
-
-[[sthref884]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which the configuration is to be deleted. +
-  Possible values are as follows: +
-  `server`;;
-    Deletes the configuration from the default server instance. This is
-    the default value.
-  `domain`;;
-    Deletes the configuration from the default domain.
-  cluster-name;;
-    Deletes the configuration from every server instance in the
-    specified cluster.
-  instance-name;;
-    Deletes the configuration from the specified instance.
-
-[[sthref885]]
-
-Operands
-
-service_name::
-  The name of the module for which configuration is to be removed.
-
-[[sthref886]]
-
-Examples
-
-[[GSRFM855]][[sthref887]]
-
-Example 1   Deleting a Default Configuration From domain.xml
-
-This example deletes the configuration of the web container module from
-`domain1` in `server-config` (the default configuration).
-
-[source,oac_no_warn]
-----
-asadmin> delete-module-config web-container
-Command delete-module-config executed successfully.
-----
-
-[[sthref888]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref889]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-module-config.html#create-module-config-1[`create-module-config`(1)],
-link:get-active-module-config.html#get-active-module-config-1[`get-active-module-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-network-listener.adoc b/docs/reference-manual/src/main/jbake/content/delete-network-listener.adoc
deleted file mode 100644
index 8ad8d60..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-network-listener.adoc
+++ /dev/null
@@ -1,102 +0,0 @@
-type=page
-status=published
-title=delete-network-listener
-next=delete-node-config.html
-prev=delete-module-config.html
-~~~~~~
-delete-network-listener
-=======================
-
-[[delete-network-listener-1]][[GSRFM00098]][[delete-network-listener]]
-
-delete-network-listener
------------------------
-
-removes a network listener
-
-[[sthref890]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-network-listener [--help]
-[--target target]
-listener-name
-----
-
-[[sthref891]]
-
-Description
-
-The `delete-network-listener` subcommand removes the specified network
-listener. This subcommand is supported in remote mode only.
-
-[[sthref892]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the network listener only from the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Deletes the network listener from the default server instance. This
-    is the default value.
-  configuration-name;;
-    Deletes the network listener from the specified configuration.
-  cluster-name;;
-    Deletes the network listener from all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Deletes the network listener from the specified standalone server
-    instance.
-
-[[sthref893]]
-
-Operands
-
-listener-name::
-  The name of the network listener to be deleted.
-
-[[sthref894]]
-
-Examples
-
-[[GSRFM567]][[sthref895]]
-
-Example 1   Deleting a Network Listener
-
-The following command deletes the network listener named
-`sampleListener`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-network-listener sampleListener
-Command delete-network-listener executed successfully.
-----
-
-[[sthref896]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref897]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
-link:list-network-listeners.html#list-network-listeners-1[`list-network-listeners`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-node-config.adoc b/docs/reference-manual/src/main/jbake/content/delete-node-config.adoc
deleted file mode 100644
index b90d1a4..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-node-config.adoc
+++ /dev/null
@@ -1,140 +0,0 @@
-type=page
-status=published
-title=delete-node-config
-next=delete-node-dcom.html
-prev=delete-network-listener.html
-~~~~~~
-delete-node-config
-==================
-
-[[delete-node-config-1]][[GSRFM00099]][[delete-node-config]]
-
-delete-node-config
-------------------
-
-deletes a node that is not enabled for remote communication
-
-[[sthref898]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-node-config [--help] 
-node-name
-----
-
-[[sthref899]]
-
-Description
-
-The `delete-node-config` subcommand deletes a node that is not enabled
-for remote communication from the domain. This subcommand does not
-require the Distributed Component Object Model (DCOM) remote protocol or
-secure shell (SSH) to be configured.
-
-This subcommand can delete only a node that is not enabled for remote
-communication. The subcommand for deleting other types of nodes depends
-on the type of the node:
-
-* A node that is enabled for remote communication over DCOM must be
-deleted by using the
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)]
-subcommand.
-* A node that is enabled for remote communication over SSH must be
-deleted by using the
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)]
-subcommand.
-
-To determine whether a node is enabled for remote communication, use the
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-No \{product---name} instances must reside on the node that is being
-deleted. Otherwise, the subcommand fails. Before running this
-subcommand, delete any instances that reside on the node by using, for
-example, the
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
-subcommand or the
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
-subcommand.
-
-
-[NOTE]
-========================================================
-
-The predefined node `localhost-`domain cannot be deleted.
-
-========================================================
-
-
-This subcommand is supported in remote mode only.
-
-[[sthref900]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref901]]
-
-Operands
-
-node-name::
-  The name of the node to delete. The node must not be enabled for
-  communication over DCOM or SSH. Otherwise, an error occurs.
-
-[[sthref902]]
-
-Examples
-
-[[GSRFM568]][[sthref903]]
-
-Example 1   Deleting a Node That Is Not Enabled for Remote Communication
-
-This example deletes the node `sj03`, which is not enabled for remote
-communication.
-
-[source,oac_no_warn]
-----
-asadmin> delete-node-config sj03
-
-Command delete-node-config executed successfully.
-----
-
-[[sthref904]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref905]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
-link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-node-dcom.adoc b/docs/reference-manual/src/main/jbake/content/delete-node-dcom.adoc
deleted file mode 100644
index 8cb2686..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-node-dcom.adoc
+++ /dev/null
@@ -1,157 +0,0 @@
-type=page
-status=published
-title=delete-node-dcom
-next=delete-node-ssh.html
-prev=delete-node-config.html
-~~~~~~
-delete-node-dcom
-================
-
-[[delete-node-dcom-1]][[GSRFM569]][[delete-node-dcom]]
-
-delete-node-dcom
-----------------
-
-deletes a node that is enabled for communication over DCOM
-
-[[sthref906]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-node-dcom [--help] 
-[--uninstall={false|true}] [--force={false|true}]
-node-name
-----
-
-[[sthref907]]
-
-Description
-
-The `delete-node-dcom` subcommand deletes a node that is enabled for
-communication over the Distributed Component Object Model (DCOM) remote
-protocol from the domain. The DCOM protocol is available only on Windows
-systems. This subcommand does not require DCOM to be configured.
-
-This subcommand can delete only a node that is enabled for communication
-over DCOM. The subcommand for deleting other types of nodes depends on
-the type of the node:
-
-* A node that is enabled for communication over secure shell (SSH) must
-be deleted by using the
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)]
-subcommand.
-* A node that is not enabled for communication must be deleted by using
-the
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)]
-subcommand.
-
-To determine whether a node is enabled for communication over DCOM, use
-the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-No \{product---name} instances must reside on the node that is being
-deleted. Otherwise, the subcommand fails. Before running this
-subcommand, delete any instances that reside on the node by using, for
-example, the
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
-subcommand or the
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
-subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref908]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--uninstall`::
-  Specifies whether the \{product---name} software is uninstalled from
-  host that the node represents. +
-  Possible values are as follows: +
-  `false`;;
-    The \{product---name} software is not uninstalled from the host
-    (default).
-  `true`;;
-    The \{product---name} software is uninstalled from the host. By
-    default, if any node except the predefined node `localhost-`domain
-    resides on any host from which \{product---name} software is being
-    uninstalled, the subcommand fails. To uninstall the
-    \{product---name} software from a host on which user-defined nodes
-    reside, set the `--force` option to `true`. If the `--force` option
-    is `true`, the subcommand removes the entire content of the parent
-    of the base installation directory.
-`--force`::
-  If `--uninstall` is true, specifies whether the subcommand uninstalls
-  the \{product---name} software from a host even if a user-defined node
-  resides on the host. Possible values are as follows: +
-  `false`;;
-    If a user-defined node resides on a host, the software is not
-    uninstalled and the subcommand fails (default). +
-    If the `--force` option is `false`, the subcommand removes only the
-    \{product---name} software files. Other content if the parent of the
-    base installation directory, such as configuration files, are not
-    removed.
-  `true`;;
-    The subcommand uninstalls the \{product---name} software from the
-    host even if a user-defined node resides on the host. +
-    If the `--force` option is `true`, the subcommand removes the entire
-    content of the parent of the base installation directory.
-
-[[sthref909]]
-
-Operands
-
-node-name::
-  The name of the node to delete. The node must enabled for
-  communication over DCOM. Otherwise, an error occurs.
-
-[[sthref910]]
-
-Examples
-
-[[GSRFM570]][[sthref911]]
-
-Example 1   Deleting a Node That Is Enabled for Communication Over DCOM
-
-This example deletes the node `xkyd`, which is enabled for communication
-over DCOM.
-
-[source,oac_no_warn]
-----
-asadmin> delete-node-dcom xkyd
-Command delete-node-dcom executed successfully.
-----
-
-[[sthref912]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref913]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-node-ssh.adoc b/docs/reference-manual/src/main/jbake/content/delete-node-ssh.adoc
deleted file mode 100644
index e4696f3..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-node-ssh.adoc
+++ /dev/null
@@ -1,162 +0,0 @@
-type=page
-status=published
-title=delete-node-ssh
-next=delete-password-alias.html
-prev=delete-node-dcom.html
-~~~~~~
-delete-node-ssh
-===============
-
-[[delete-node-ssh-1]][[GSRFM00100]][[delete-node-ssh]]
-
-delete-node-ssh
----------------
-
-deletes a node that is enabled for communication over SSH
-
-[[sthref914]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-node-ssh [--help] 
-[--uninstall={false|true}] [--force={false|true}]
-node-name
-----
-
-[[sthref915]]
-
-Description
-
-The `delete-node-ssh` subcommand deletes a node that is enabled for
-communication over secure shell (SSH) from the domain. This subcommand
-does not require SSH to be configured.
-
-This subcommand can delete only a node that is enabled for communication
-over SSH. The subcommand for deleting other types of nodes depends on
-the type of the node:
-
-* A node that is enabled for communication over the Distributed
-Component Object Model (DCOM) remote protocol must be deleted by using
-the link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)]
-subcommand.
-* A node that is not enabled for remote communication must be deleted by
-using the
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)]
-subcommand.
-
-To determine whether a node is enabled for communication over SSH, use
-the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-No \{product---name} instances must reside on the node that is being
-deleted. Otherwise, the subcommand fails. Before running this
-subcommand, delete any instances that reside on the node by using, for
-example, the
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
-subcommand or the
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
-subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref916]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--uninstall`::
-  Specifies whether the \{product---name} software is uninstalled from
-  host that the node represents. +
-  Possible values are as follows: +
-  `false`;;
-    The \{product---name} software is not uninstalled from the host
-    (default).
-  `true`;;
-    The \{product---name} software is uninstalled from the host. By
-    default, if any node except the predefined node `localhost-`domain
-    resides on any host from which \{product---name} software is being
-    uninstalled, the subcommand fails. To uninstall the
-    \{product---name} software from a host on which user-defined nodes
-    reside, set the `--force` option to `true`. If the `--force` option
-    is `true`, the subcommand removes the entire content of the parent
-    of the base installation directory.
-`--force`::
-  If `--uninstall` is true, specifies whether the subcommand uninstalls
-  the \{product---name} software from a host even if a user-defined node
-  resides on the host. Possible values are as follows: +
-  `false`;;
-    If a user-defined node resides on a host, the software is not
-    uninstalled and the subcommand fails (default). +
-    If the `--force` option is `false`, the subcommand removes only the
-    \{product---name} software files. Other content if the parent of the
-    base installation directory, such as configuration files, are not
-    removed.
-  `true`;;
-    The subcommand uninstalls the \{product---name} software from the
-    host even if a user-defined node resides on the host. +
-    If the `--force` option is `true`, the subcommand removes the entire
-    content of the parent of the base installation directory.
-
-[[sthref917]]
-
-Operands
-
-node-name::
-  The name of the node to delete. The node must enabled for
-  communication over SSH. Otherwise, an error occurs.
-
-[[sthref918]]
-
-Examples
-
-[[GSRFM571]][[sthref919]]
-
-Example 1   Deleting a Node That Is Enabled for Communication Over SSH
-
-This example deletes the node `eg1`, which is enabled for communication
-over SSH.
-
-[source,oac_no_warn]
-----
-asadmin> delete-node-ssh eg1
-Command delete-node-ssh executed successfully.
-----
-
-[[sthref920]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref921]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-password-alias.adoc b/docs/reference-manual/src/main/jbake/content/delete-password-alias.adoc
deleted file mode 100644
index aaef893..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-password-alias.adoc
+++ /dev/null
@@ -1,87 +0,0 @@
-type=page
-status=published
-title=delete-password-alias
-next=delete-profiler.html
-prev=delete-node-ssh.html
-~~~~~~
-delete-password-alias
-=====================
-
-[[delete-password-alias-1]][[GSRFM00101]][[delete-password-alias]]
-
-delete-password-alias
----------------------
-
-deletes a password alias
-
-[[sthref922]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-password-alias [--help]
-aliasname
-----
-
-[[sthref923]]
-
-Description
-
-This subcommand deletes a password alias.
-
-[[sthref924]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref925]]
-
-Operands
-
-aliasname::
-  This is the name of the substitute password as it appears in
-  `domain.xml`.
-
-[[sthref926]]
-
-Examples
-
-[[GSRFM572]][[sthref927]]
-
-Example 1   Deleting a Password Alias
-
-[source,oac_no_warn]
-----
-asadmin>delete-password-alias
-jmspassword-alias
-----
-
-Command delete-password-alias executed successfully
-
-[[sthref928]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref929]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
-link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
-link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-profiler.adoc b/docs/reference-manual/src/main/jbake/content/delete-profiler.adoc
deleted file mode 100644
index 9c0310a..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-profiler.adoc
+++ /dev/null
@@ -1,97 +0,0 @@
-type=page
-status=published
-title=delete-profiler
-next=delete-protocol.html
-prev=delete-password-alias.html
-~~~~~~
-delete-profiler
-===============
-
-[[delete-profiler-1]][[GSRFM00102]][[delete-profiler]]
-
-delete-profiler
----------------
-
-removes the profiler element
-
-[[sthref930]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-profiler [--help] 
-[--target target_name]
-----
-
-[[sthref931]]
-
-Description
-
-The `delete-profiler` subcommand deletes the profiler element in the
-Java configuration. Only one profiler can exist at a time. If you
-attempt to create a profiler while one already exists, an error message
-is displayed and the existing profiler must be deleted.
-
-For changes to take effect, the server must restarted.
-
-This command is supported in remote mode only.
-
-[[sthref932]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target profiler element which you are
-  deleting. Valid values are +
-  `server`;;
-    Deletes the profiler element for the default server instance
-    `server` and is the default value.
-  configuration_name;;
-    Deletes the profiler element for the named configuration.
-  cluster_name;;
-    Deletes the profiler element for every server instance in the
-    cluster.
-  instance_name;;
-    Deletes the profiler element for a particular server instance.
-
-[[sthref933]]
-
-Examples
-
-[[GSRFM573]][[sthref934]]
-
-Example 1   Deleting a Profile
-
-This example deletes the profiler named `sample_profiler`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-profiler sample_profiler
-Command delete-profiler executed successfully
-----
-
-[[sthref935]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref936]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-profiler.html#create-profiler-1[`create-profiler`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-protocol-filter.adoc b/docs/reference-manual/src/main/jbake/content/delete-protocol-filter.adoc
deleted file mode 100644
index a106e67..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-protocol-filter.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=delete-protocol-filter
-next=delete-protocol-finder.html
-prev=delete-protocol.html
-~~~~~~
-delete-protocol-filter
-======================
-
-[[delete-protocol-filter-1]][[GSRFM00104]][[delete-protocol-filter]]
-
-delete-protocol-filter
-----------------------
-
-removes a protocol filter
-
-[[sthref945]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-protocol-filter [--help]
---protocol protocol-name
-[--target server]
-protocol-filter-name
-----
-
-[[sthref946]]
-
-Description
-
-The `delete-protocol-filter` subcommand removes the specified protocol
-filter. This subcommand is supported in remote mode only.
-
-[[sthref947]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--protocol-name`::
-  The name of the associated protocol.
-`--target`::
-  Deletes the protocol filter only from the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Deletes the protocol filter from the default server instance. This
-    is the default value.
-  configuration-name;;
-    Deletes the protocol filter from the specified configuration.
-  cluster-name;;
-    Deletes the protocol filter from all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Deletes the protocol filter from the specified standalone server
-    instance.
-
-[[sthref948]]
-
-Operands
-
-protocol-filter-name::
-  The name of the protocol filter to be deleted.
-
-[[sthref949]]
-
-Examples
-
-[[GSRFM575]][[sthref950]]
-
-Example 1   Deleting a Protocol Filter
-
-The following command deletes the protocol filter named `http1-filter`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-protocol-filter --protocol http1 http1-filter
-Command delete-protocol-filter executed successfully.
-----
-
-[[sthref951]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref952]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-protocol-filter.html#create-protocol-filter-1[`create-protocol-filter`(1)],
-link:list-protocol-filters.html#list-protocol-filters-1[`list-protocol-filters`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-protocol-finder.adoc b/docs/reference-manual/src/main/jbake/content/delete-protocol-finder.adoc
deleted file mode 100644
index a4bf265..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-protocol-finder.adoc
+++ /dev/null
@@ -1,88 +0,0 @@
-type=page
-status=published
-title=delete-protocol-finder
-next=delete-resource-adapter-config.html
-prev=delete-protocol-filter.html
-~~~~~~
-delete-protocol-finder
-======================
-
-[[delete-protocol-finder-1]][[GSRFM00105]][[delete-protocol-finder]]
-
-delete-protocol-finder
-----------------------
-
-removes a protocol finder
-
-[[sthref953]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-protocol-finder [--help]
---protocol protocol-name
-[--target server]
-protocol-finder-name
-----
-
-[[sthref954]]
-
-Description
-
-The `delete-protocol-finder` subcommand removes the specified protocol
-finder. This subcommand is supported in remote mode only.
-
-[[sthref955]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--protocol-name`::
-  The name of the associated protocol.
-`--target`::
-  Deletes the protocol finder only from the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Deletes the protocol finder from the default server instance. This
-    is the default value.
-  configuration-name;;
-    Deletes the protocol finder from the specified configuration.
-  cluster-name;;
-    Deletes the protocol finder from all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Deletes the protocol finder from the specified standalone server
-    instance.
-
-[[sthref956]]
-
-Operands
-
-protocol-finder-name::
-  The name of the protocol finder to be deleted.
-
-[[sthref957]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref958]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-protocol-finder.html#create-protocol-finder-1[`create-protocol-finder`(1)],
-link:list-protocol-finders.html#list-protocol-finders-1[`list-protocol-finders`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-protocol.adoc b/docs/reference-manual/src/main/jbake/content/delete-protocol.adoc
deleted file mode 100644
index b7fd7b1..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-protocol.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=delete-protocol
-next=delete-protocol-filter.html
-prev=delete-profiler.html
-~~~~~~
-delete-protocol
-===============
-
-[[delete-protocol-1]][[GSRFM00103]][[delete-protocol]]
-
-delete-protocol
----------------
-
-removes a protocol
-
-[[sthref937]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-protocol [--help]
-[--target target]
-protocol-name
-----
-
-[[sthref938]]
-
-Description
-
-The `delete-protocol` subcommand removes the specified protocol. This
-subcommand is supported in remote mode only.
-
-[[sthref939]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the protocol only from the specified target. Valid values are
-  as follows: +
-  `server`;;
-    Deletes the protocol from the default server instance. This is the
-    default value.
-  configuration-name;;
-    Deletes the protocol from the specified configuration.
-  cluster-name;;
-    Deletes the protocol from all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Deletes the protocol from the specified standalone server instance.
-
-[[sthref940]]
-
-Operands
-
-protocol-name::
-  The name of the protocol to be deleted.
-
-[[sthref941]]
-
-Examples
-
-[[GSRFM574]][[sthref942]]
-
-Example 1   Deleting a Protocol
-
-The following command deletes the protocol named `http-1`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-protocol http-1
-Command delete-protocol executed successfully.
-----
-
-[[sthref943]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref944]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
-link:list-protocols.html#list-protocols-1[`list-protocols`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-resource-adapter-config.adoc b/docs/reference-manual/src/main/jbake/content/delete-resource-adapter-config.adoc
deleted file mode 100644
index b66ef40..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-resource-adapter-config.adoc
+++ /dev/null
@@ -1,90 +0,0 @@
-type=page
-status=published
-title=delete-resource-adapter-config
-next=delete-resource-ref.html
-prev=delete-protocol-finder.html
-~~~~~~
-delete-resource-adapter-config
-==============================
-
-[[delete-resource-adapter-config-1]][[GSRFM00106]][[delete-resource-adapter-config]]
-
-delete-resource-adapter-config
-------------------------------
-
-deletes the resource adapter configuration
-
-[[sthref959]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-resource-adapter-config [--help] 
-raname
-----
-
-[[sthref960]]
-
-Description
-
-The `delete-resource-adapter-config` subcommand deletes the
-configuration information for the connector module.
-
-This command is supported in remote mode only.
-
-[[sthref961]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option is deprecated.
-
-[[sthref962]]
-
-Operands
-
-raname::
-  Specifies the connector module name.
-
-[[sthref963]]
-
-Examples
-
-[[GSRFM576]][[sthref964]]
-
-Example 1   Deleting a Resource Adapter Configuration
-
-This example deletes the configuration information for `ra1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-resource-adapter-config ra1
-Command delete-resource-adapter-config executed successfully
-----
-
-[[sthref965]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref966]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-resource-adapter-config.html#create-resource-adapter-config-1[`create-resource-adapter-config`(1)],
-link:list-resource-adapter-configs.html#list-resource-adapter-configs-1[`list-resource-adapter-configs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-resource-ref.adoc b/docs/reference-manual/src/main/jbake/content/delete-resource-ref.adoc
deleted file mode 100644
index 41da1b0..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-resource-ref.adoc
+++ /dev/null
@@ -1,113 +0,0 @@
-type=page
-status=published
-title=delete-resource-ref
-next=delete-ssl.html
-prev=delete-resource-adapter-config.html
-~~~~~~
-delete-resource-ref
-===================
-
-[[delete-resource-ref-1]][[GSRFM00107]][[delete-resource-ref]]
-
-delete-resource-ref
--------------------
-
-removes a reference to a resource
-
-[[sthref967]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-resource-ref [--help] 
-[--target target] reference_name
-----
-
-[[sthref968]]
-
-Description
-
-The `delete-resource-ref` subcommand removes from a cluster or an
-unclustered server instance a reference to a resource (for example, a
-JDBC resource). This effectively results in the removal of the resource
-from the JNDI tree of the targeted instance or cluster.
-
-The target instance or instances making up the cluster need not be
-running or available for this subcommand to succeed. If one or more
-instances are not available, they will no longer load the resource in
-the JNDI tree the next time they start.
-
-Removal of the reference does not result in removal of the resource from
-the domain. The resource is removed only by the `delete` subcommand for
-that resource (for example, `delete-jdbc-resource`).
-
-This subcommand is supported in remote mode only.
-
-[[sthref969]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target from which you are removing the resource
-  reference. Valid values are +
-  `server`;;
-    Removes the resource reference from the default server instance
-    `server` and is the default value.
-  cluster_name;;
-    Removes the resource reference from every server instance in the
-    cluster.
-  instance_name;;
-    Removes the resource reference from the named unclustered server
-    instance.
-
-[[sthref970]]
-
-Operands
-
-reference_name::
-  The name or JNDI name of the resource.
-
-[[sthref971]]
-
-Examples
-
-[[GSRFM577]][[sthref972]]
-
-Example 1   Removing a Reference to a Resource
-
-This example removes a reference to the JMS destination resource
-`jms/Topic` on the cluster `cluster1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-resource-ref --target cluster1 jms/Topic
-resource-ref jms/Topic deleted successfully.
-Command delete-resource-ref executed successfully.
-----
-
-[[sthref973]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref974]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
-link:list-resource-refs.html#list-resource-refs-1[`list-resource-refs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-ssl.adoc b/docs/reference-manual/src/main/jbake/content/delete-ssl.adoc
deleted file mode 100644
index 40c1bc6..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-ssl.adoc
+++ /dev/null
@@ -1,123 +0,0 @@
-type=page
-status=published
-title=delete-ssl
-next=delete-system-property.html
-prev=delete-resource-ref.html
-~~~~~~
-delete-ssl
-==========
-
-[[delete-ssl-1]][[GSRFM00109]][[delete-ssl]]
-
-delete-ssl
-----------
-
-deletes the SSL element in the selected HTTP listener, IIOP listener, or
-IIOP service
-
-[[sthref975]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-ssl [--help]
-[--target target]
---type listener_or_service_type
-listener_id
-----
-
-[[sthref976]]
-
-Description
-
-The `delete-ssl` subcommand deletes the SSL element in the selected HTTP
-listener, IIOP listener, or IIOP service.
-
-The listener_id is not required if the `--type` is `iiop-service`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref977]]
-
-Options
-
-If an option has a short option name, then the short option precedes the
-long option name. Short options have one dash whereas long options have
-two dashes.
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which you are configuring the ssl element. The
-  following values are valid: +
-  `server`;;
-    Specifies the server in which the iiop-service or HTTP/IIOP listener
-    is to be unconfigured for SSL.
-  config;;
-    Specifies the configuration that contains the HTTP/IIOP listener or
-    iiop-service for which SSL is to be unconfigured.
-  cluster;;
-    Specifies the cluster in which the HTTP/IIOP listener or
-    iiop-service is to be unconfigured for SSL. All the server instances
-    in the cluster will get SSL unconfigured for the respective listener
-    or iiop-service.
-  instance;;
-    Specifies the instance in which the HTTP/IIOP listener or
-    iiop-service is to be unconfigured for SSL.
-`--type`::
-  The type of service or listener for which the SSL is deleted. The type
-  must be one of the following types: +
-  * `http-listener`
-  * `iiop-listener`
-  * `iiop-service`
-
-[[sthref978]]
-
-Operands
-
-listener_id::
-  The ID of the listener from which the SSL element is to be deleted. +
-  The listener_id operand is not required if the `--type` is
-  `iiop-service`.
-
-[[sthref979]]
-
-Examples
-
-[[GSRFM579]][[sthref980]]
-
-Example 1   Deleting an SSL element from an HTTP listener
-
-The following example shows how to delete an SSL element from an HTTP
-listener named `http-listener-1`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-ssl
---type http-listener http-listener-1
-Command delete-ssl executed successfully.
-----
-
-[[sthref981]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref982]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-ssl.html#create-ssl-1[`create-ssl`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-system-property.adoc b/docs/reference-manual/src/main/jbake/content/delete-system-property.adoc
deleted file mode 100644
index d6dac96..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-system-property.adoc
+++ /dev/null
@@ -1,97 +0,0 @@
-type=page
-status=published
-title=delete-system-property
-next=delete-threadpool.html
-prev=delete-ssl.html
-~~~~~~
-delete-system-property
-======================
-
-[[delete-system-property-1]][[GSRFM00110]][[delete-system-property]]
-
-delete-system-property
-----------------------
-
-removes a system property of the domain, configuration, cluster, or
-server instance, one at a time
-
-[[sthref983]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-system-property [--help] 
-[--target target_name ] 
-[property_name]
-----
-
-[[sthref984]]
-
-Description
-
-The `delete-system-property` subcommand deletes a system property of a
-domain, configuration, cluster, or server instance. Make sure that the
-system property is not referenced elsewhere in the configuration before
-deleting it.
-
-This subcommand is supported in remote mode only.
-
-[[sthref985]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are deleting the system
-  properties. The valid targets for this subcommand are instance,
-  cluster, configuration, domain, and server. Server is the default
-  option.
-
-[[sthref986]]
-
-Operands
-
-property_name::
-  The name of the system property to remove.
-
-[[sthref987]]
-
-Examples
-
-[[GSRFM580]][[sthref988]]
-
-Example 1   Deleting a System Property
-
-This example deletes the system property named `http-listener-port`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-system-property http-listener-port
-Command delete-system-property executed successfully.
-----
-
-[[sthref989]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref990]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
-link:list-system-properties.html#list-system-properties-1[`list-system-properties`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-threadpool.adoc b/docs/reference-manual/src/main/jbake/content/delete-threadpool.adoc
deleted file mode 100644
index 5dcd765..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-threadpool.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=delete-threadpool
-next=delete-transport.html
-prev=delete-system-property.html
-~~~~~~
-delete-threadpool
-=================
-
-[[delete-threadpool-1]][[GSRFM00111]][[delete-threadpool]]
-
-delete-threadpool
------------------
-
-removes a thread pool
-
-[[sthref991]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-threadpool [--help] 
-[--target target] threadpool-id
-----
-
-[[sthref992]]
-
-Description
-
-Removes the thread pool with the specified ID. This subcommand is
-supported in remote mode only.
-
-[[sthref993]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target from which you are removing the
-  thread pool. +
-  Valid values are as follows: +
-  `server`;;
-    Deletes the thread pool for the default \{product---name} instance
-    `server` and is the default value.
-  configuration-name;;
-    Deletes the thread pool for the named configuration.
-  cluster-name;;
-    Deletes the thread pool for every instance in the cluster.
-  instance-name;;
-    Deletes the thread pool for a particular instance.
-
-[[sthref994]]
-
-Operands
-
-threadpool-id::
-  An ID for the work queue, for example, `thread-pool1`, `threadpool-2`,
-  and so forth.
-
-[[sthref995]]
-
-Examples
-
-[[GSRFM581]][[sthref996]]
-
-Example 1   Deleting a Thread Pool
-
-This example deletes `threadpool-l`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-threadpool threadpool-1
-Command delete-threadpool executed successfully
-----
-
-[[sthref997]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref998]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
-link:list-threadpools.html#list-threadpools-1[`list-threadpools`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-transport.adoc b/docs/reference-manual/src/main/jbake/content/delete-transport.adoc
deleted file mode 100644
index 112edde..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-transport.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=delete-transport
-next=delete-virtual-server.html
-prev=delete-threadpool.html
-~~~~~~
-delete-transport
-================
-
-[[delete-transport-1]][[GSRFM00112]][[delete-transport]]
-
-delete-transport
-----------------
-
-removes a transport
-
-[[sthref999]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-transport [--help]
-[--target target]
-transport-name
-----
-
-[[sthref1000]]
-
-Description
-
-The `delete-transport` subcommand removes the specified transport. This
-subcommand is supported in remote mode only.
-
-[[sthref1001]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the transport only from the specified target. Valid values are
-  as follows: +
-  `server`;;
-    Deletes the transport from the default server instance. This is the
-    default value.
-  configuration-name;;
-    Deletes the transport from the specified configuration.
-  cluster-name;;
-    Deletes the transport from all server instances in the specified
-    cluster.
-  standalone-instance-name;;
-    Deletes the transport from the specified standalone server instance.
-
-[[sthref1002]]
-
-Operands
-
-transport-name::
-  The name of the transport to be deleted.
-
-[[sthref1003]]
-
-Examples
-
-[[GSRFM582]][[sthref1004]]
-
-Example 1   Deleting a Transport
-
-The following command deletes the transport named `http1-trans`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-transport http1-trans
-Command delete-transport executed successfully.
-----
-
-[[sthref1005]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1006]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-transport.html#create-transport-1[`create-transport`(1)],
-link:list-transports.html#list-transports-1[`list-transports`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/delete-virtual-server.adoc b/docs/reference-manual/src/main/jbake/content/delete-virtual-server.adoc
deleted file mode 100644
index ccae303..0000000
--- a/docs/reference-manual/src/main/jbake/content/delete-virtual-server.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=delete-virtual-server
-next=deploy.html
-prev=delete-transport.html
-~~~~~~
-delete-virtual-server
-=====================
-
-[[delete-virtual-server-1]][[GSRFM00113]][[delete-virtual-server]]
-
-delete-virtual-server
----------------------
-
-removes a virtual server
-
-[[sthref1007]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] delete-virtual-server [--help]
-[--target target] virtual-server-id
-----
-
-[[sthref1008]]
-
-Description
-
-The `delete-virtual-server` subcommand removes the virtual server with
-the specified virtual server ID. This subcommand is supported in remote
-mode only.
-
-[[sthref1009]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Deletes the virtual server only from the specified target. Valid
-  values are as follows: +
-  `server`;;
-    Deletes the virtual server from the default server instance. This is
-    the default value.
-  configuration-name;;
-    Deletes the virtual server from the specified configuration.
-  cluster-name;;
-    Deletes the virtual server from all server instances in the
-    specified cluster.
-  standalone-instance-name;;
-    Deletes the virtual server from the specified standalone server
-    instance.
-
-[[sthref1010]]
-
-Operands
-
-virtual-server-id::
-  The unique identifier for the virtual server to be deleted.
-
-[[sthref1011]]
-
-Examples
-
-[[GSRFM583]][[sthref1012]]
-
-Example 1   Deleting a Virtual Server
-
-The following command deletes the virtual server named `sample_vs1`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-virtual-server sample_vs1
-Command delete-virtual-server executed successfully.
-----
-
-[[sthref1013]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1014]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
-link:list-virtual-servers.html#list-virtual-servers-1[`list-virtual-servers`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/deploy.adoc b/docs/reference-manual/src/main/jbake/content/deploy.adoc
deleted file mode 100644
index d0b8980..0000000
--- a/docs/reference-manual/src/main/jbake/content/deploy.adoc
+++ /dev/null
@@ -1,584 +0,0 @@
-type=page
-status=published
-title=deploy
-next=deploydir.html
-prev=delete-virtual-server.html
-~~~~~~
-deploy
-======
-
-[[deploy-1]][[GSRFM00114]][[deploy]]
-
-deploy
-------
-
-deploys the specified component
-
-[[sthref1015]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] deploy [--help] 
-[--force={false|true}] 
-[--virtualservers virtual_servers]
-[--contextroot context_root] 
-[--precompilejsp={false|true}] 
-[--verify={false|true}]
-[--name component_name] 
-[--upload={true|false}]
-[--retrieve local_dirpath] 
-[--dbvendorname dbvendorname]
-[--createtables={true|false}|--dropandcreatetables={true|false}]
-[--uniquetablenames={true|false}] 
-[--deploymentplan deployment_plan]
-[--altdd alternate_deploymentdescriptor]
-[--runtimealtdd runtime_alternate_deploymentdescriptor]
-[--deploymentorder deployment_order]
-[--enabled={true|false}] 
-[--generatermistubs={false|true}]
-[--availabilityenabled={false|true}] 
-[--asyncreplication={true|false}]
-[--lbenabled={true|false}]
-[--keepstate={false|true}]
-[--libraries jar_file[,jar_file]*]
-[--target target] 
-[--type pkg-type]
-[--properties(name=value)[:name=value]*] 
-[file_archive|filepath]
-----
-
-[[sthref1016]]
-
-Description
-
-The `deploy` subcommand deploys applications to the server. Applications
-can be enterprise applications, web applications, Enterprise JavaBeans
-(EJB) modules, connector modules, and application client modules. If the
-component is already deployed or already exists, it is forcibly
-redeployed if the `--force` option is set to `true` (default is
-`false`).
-
-The `--createtables` and `--dropandcreatetables` options are boolean
-flags and therefore can take the values of true or false. These options
-are only used during deployment of CMP beans that have not been mapped
-to a database (that is, no `sun-cmp-mappings.xml` descriptor is provided
-in the module's `META-INF` directory). They are ignored otherwise.
-
-The `--createtables` and `--dropandcreatetables` options are mutually
-exclusive; only one should be used. If drop and/or create tables fails,
-the deployment does not fail; a warning message is provided in the log
-file.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1017]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--force`::
-  If set to `true`, redeploys the component even if the specified
-  component has already been deployed or already exists. Default is
-  `false`.
-`--virtualservers`::
-  One or more virtual server IDs. Multiple IDs are separated by commas.
-`--contextroot`::
-  Valid only if the archive is a web module. It is ignored for other
-  archive types; it will be the value specified by default-context-path
-  in web.xml, if specified; defaults to filename without extension.
-`--precompilejsp`::
-  By default this option does not allow the JSP to be precompiled during
-  deployment. Instead, JSPs are compiled during runtime. Default is
-  `false`.
-`--verify`::
-  If set to true and the required verifier packages are installed from
-  the Update Tool, the syntax and semantics of the deployment descriptor
-  is verified. Default is `false`.
-`--name`::
-  Name of the deployable component. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. For more information about module and application
-  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-  GlassFish Server Open Source Edition Application Deployment Guide.
-`--upload`::
-  Specifies whether the subcommand uploads the file to the DAS. In most
-  situations, this option can be omitted. +
-  Valid values are as follows: +
-  `false`;;
-    The subcommand does not upload the file and attempts to access the
-    file through the specified file name. If the DAS cannot access the
-    file, the subcommand fails. +
-    For example, the DAS might be running as a different user than the
-    administration user and does not have read access to the file. In
-    this situation, the subcommand fails if the `--upload` option is
-    `false`.
-  `true`;;
-    The subcommand uploads the file to the DAS over the network
-    connection. +
-  The default value depends on whether the DAS is on the host where the
-  subcommand is run or is on a remote host. +
-  * If the DAS is on the host where the subcommand is run, the default
-  is `false`.
-  * If the DAS is on a remote host, the default is `true`. +
-  If a directory filepath is specified, this option is ignored.
-`--retrieve`::
-  Retrieves the client stub JAR file from the server machine to the
-  local directory.
-`--dbvendorname`::
-  Specifies the name of the database vendor for which tables are
-  created. Supported values include `db2`, `mssql`, `mysql`, `oracle`,
-  `derby`, `javadb`, `postgresql`, and `sybase`. These values are
-  case-insensitive. If not specified, the value of the
-  `database-vendor-name` attribute in `glassfish-ejb-jar.xml` is used.
-  If no value is specified, a connection is made to the resource
-  specified by the `jndi-name` subelement of the `cmp-resource` element
-  in the `glassfish-ejb-jar.xml` file, and the database vendor name is
-  read. If the connection cannot be established, or if the value is not
-  recognized, SQL-92 compliance is presumed.
-`--createtables`::
-  If specified as true, creates tables at deployment of an application
-  with unmapped CMP beans. If specified as false, tables are not
-  created. If not specified, the value of the `create-tables-at-deploy`
-  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
-  file determines whether or not tables are created. No unique
-  constraints are created for the tables.
-`--dropandcreatetables`::
-  If specified as true when the component is redeployed, the tables
-  created by the previous deployment are dropped before creating the new
-  tables. Applies to deployed applications with unmapped CMP beans.
-  Preexisting tables will not be dropped on the initial deployment of an
-  application or on a deployment that follows an explicit undeploy. If
-  specified as false, tables are neither dropped nor created. If not
-  specified, the tables are dropped if the `drop-tables-at-undeploy`
-  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
-  file is set to true, and the new tables are created if the
-  `create-tables-at-deploy` entry in the `cmp-resource` element of the
-  `glassfish-ejb-jar.xml` file is set to true.
-`--uniquetablenames`::
-  Guarantees unique table names for all the beans and results in a hash
-  code added to the table names. This is useful if you have an
-  application with case-sensitive bean names. Applies to applications
-  with unmapped CMP beans.
-`--deploymentplan`::
-  Deploys the deployment plan, which is a JAR file that contains
-  \{product---name} descriptors. Specify this option when deploying a
-  pure EAR file. A pure EAR file is an EAR without \{product---name}
-  descriptors.
-`--altdd`::
-  Deploys the application using a Java EE standard deployment descriptor
-  that resides outside of the application archive. Specify an absolute
-  path or a relative path to the alternate deployment descriptor file.
-  The alternate deployment descriptor overrides the top-level deployment
-  descriptor packaged in the archive. For example, for an EAR, the
-  `--altdd` option overrides `application.xml`. For a standalone module,
-  the `--altdd` option overrides the top-level module descriptor such as
-  `web.xml`.
-`--runtimealtdd`::
-  Deploys the application using a \{product---name} runtime deployment
-  descriptor that resides outside of the application archive. Specify an
-  absolute path or a relative path to the alternate deployment
-  descriptor file. The alternate deployment descriptor overrides the
-  top-level deployment descriptor packaged in the archive. For example,
-  for an EAR, the `--runtimealtdd` option overrides
-  `glassfish-application.xml`. For a standalone module, the
-  `--runtimealtdd` option overrides the top-level module descriptor such
-  as `glassfish-web.xml`. Applies to \{product---name} deployment
-  descriptors only (`glassfish-*.xml`); the name of the alternate
-  deployment descriptor file must begin with `glassfish-`. Does not
-  apply to `sun-*.xml` deployment descriptors, which are deprecated.
-`--deploymentorder`::
-  Specifies the deployment order of the application. This is useful if
-  the application has dependencies and must be loaded in a certain order
-  at server startup. The deployment order is specified as an integer.
-  The default value is 100. Applications with lower numbers are loaded
-  before applications with higher numbers. For example, an application
-  with a deployment order of 102 is loaded before an application with a
-  deployment order of 110. If a deployment order is not specified, the
-  default value of 100 is assigned. If two applications have the same
-  deployment order, the first application to be deployed is the first
-  application to be loaded at server startup. +
-  The deployment order is typically specified when the application is
-  first deployed but can also be specified or changed after initial
-  deployment using the `set` subcommand. You can view the deployment
-  order of an application using the `get` subcommand.
-`--enabled`::
-  Allows users to access the application. If set to `false`, users will
-  not be able to access the application. This option enables the
-  application on the specified target instance or cluster. If you deploy
-  to the target `domain`, this option is ignored, since deploying to the
-  domain doesn't deploy to a specific instance or cluster. The default
-  is `true`.
-`--generatermistubs`::
-  If set to `true`, static RMI-IIOP stubs are generated and put into the
-  `client.jar`. If set to `false`, the stubs are not generated. Default
-  is `false`.
-`--availabilityenabled`::
-  This option controls whether high-availability is enabled for web
-  sessions and for stateful session bean (SFSB) checkpointing and
-  potentially passivation. If set to false (default) all web session
-  saving and SFSB checkpointing is disabled for the specified
-  application, web application, or EJB module. If set to true, the
-  specified application or module is enabled for high-availability. Set
-  this option to true only if high availability is configured and
-  enabled at higher levels, such as the server and container levels.
-`--asyncreplication`::
-  This option controls whether web session and SFSB states for which
-  high availability is enabled are first buffered and then replicated
-  using a separate asynchronous thread. If set to true (default),
-  performance is improved but availability is reduced. If the instance
-  where states are buffered but not yet replicated fails, the states are
-  lost. If set to false, performance is reduced but availability is
-  guaranteed. States are not buffered but immediately transmitted to
-  other instances in the cluster.
-`--lbenabled`::
-  This option controls whether the deployed application is available for
-  load balancing. The default is true.
-`--keepstate`::
-  This option controls whether web sessions, SFSB instances, and
-  persistently created EJB timers are retained between redeployments. +
-  The default is false. This option is supported only on the default
-  server instance, named `server`. It is not supported and ignored for
-  any other target. +
-  Some changes to an application between redeployments prevent this
-  feature from working properly. For example, do not change the set of
-  instance variables in the SFSB bean class. +
-  For web applications, this feature is applicable only if in the
-  `glassfish-web-app.xml` file the `persistence-type` attribute of the
-  `session-manager` element is `file`. +
-  For stateful session bean instances, the persistence type without high
-  availability is set in the server (the `sfsb-persistence-type`
-  attribute) and must be set to `file`, which is the default and
-  recommended value. +
-  If any active web session, SFSB instance, or EJB timer fails to be
-  preserved or restored, none of these will be available when the
-  redeployment is complete. However, the redeployment continues and a
-  warning is logged. +
-  To preserve active state data, \{product---name} serializes the data
-  and saves it in memory. To restore the data, the class loader of the
-  newly redeployed application deserializes the data that was previously
-  saved.
-`--libraries`::
-  A comma-separated list of library JAR files. Specify the library JAR
-  files by their relative or absolute paths. Specify relative paths
-  relative to domain-dir`/lib/applibs`. The libraries are made available
-  to the application in the order specified.
-`--target`::
-  Specifies the target to which you are deploying. Valid values are: +
-  `server`;;
-    Deploys the component to the default server instance `server` and is
-    the default value.
-  `domain`;;
-    Deploys the component to the domain. If `domain` is the target for
-    an initial deployment, the application is deployed to the domain,
-    but no server instances or clusters reference the application. If
-    `domain` is the target for a redeployment (the `--force` option is
-    set to true), and dynamic reconfiguration is enabled for the
-    clusters or server instances that reference the application, the
-    referencing clusters or server instances automatically get the new
-    version of the application. If redeploying, and dynamic
-    configuration is disabled, the referencing clusters or server
-    instances do not get the new version of the application until the
-    clustered or standalone server instances are restarted.
-  cluster_name;;
-    Deploys the component to every server instance in the cluster.
-  instance_name;;
-    Deploys the component to a particular stand-alone sever instance.
-`--type`::
-  The packaging archive type of the component that is being deployed.
-  Possible values are as follows: +
-  `car`;;
-    The component is packaged as a CAR file.
-  `ear`;;
-    The component is packaged as an EAR file.
-  `ejb`;;
-    The component is an EJB packaged as a JAR file.
-  `osgi`;;
-    The component is packaged as an OSGi bundle.
-  `rar`;;
-    The component is packaged as a RAR file.
-  `war`;;
-    The component is packaged as a WAR file.
-`--properties` or `--property`::
-  Optional keyword-value pairs that specify additional properties for
-  the deployment. The available properties are determined by the
-  implementation of the component that is being deployed or redeployed.
-  The `--properties` option and the `--property` option are equivalent.
-  You can use either option regardless of the number of properties that
-  you specify. +
-  You can specify the following properties for a deployment: +
-  `jar-signing-alias`;;
-    Specifies the alias for the security certificate with which the
-    application client container JAR file is signed. Java Web Start will
-    not run code that requires elevated permissions unless it resides in
-    a JAR file signed with a certificate that the user's system trusts.
-    For your convenience, \{product---name} signs the JAR file
-    automatically using the certificate with this alias from the
-    domain's keystore. Java Web Start then asks the user whether to
-    trust the code and displays the \{product---name} certificate
-    information. To sign this JAR file with a different certificate, add
-    the certificate to the domain keystore, then use this property. For
-    example, you can use a certificate from a trusted authority, which
-    avoids the Java Web Start prompt, or from your own company, which
-    users know they can trust. Default is `s1as`, the alias for the
-    self-signed certificate created for every domain.
-  `java-web-start-enabled`;;
-    Specifies whether Java Web Start access is permitted for an
-    application client module. Default is true.
-  `compatibility`;;
-    Specifies the \{product---name} release with which to be backward
-    compatible in terms of JAR visibility requirements for applications.
-    The only allowed value is `v2`, which refers to Sun GlassFish
-    Enterprise Server version 2 or Sun Java System Application Server
-    version 9.1 or 9.1.1.Beginning in Java EE 6, the Java EE platform
-    specification imposed stricter requirements than Java EE 5 did on
-    which JAR files can be visible to various modules within an EAR
-    file. In particular, application clients must not have access to EJB
-    JAR files or other JAR files in the EAR file unless references use
-    the standard Java SE mechanisms (extensions, for example) or the
-    Java EE library-directory mechanism. Setting this property to `v2`
-    removes these restrictions.
-  `keepSessions={false|true}`;;
-    Superseded by the `--keepstate` option. +
-    If the `--force` option is set to `true`, this property can by used
-    to specify whether active sessions of the application that is being
-    redeployed are preserved and then restored when the redeployment is
-    complete. Applies to HTTP sessions in a web container. Default is
-    `false`.::
-    `false`::
-      Active sessions of the application are not preserved and restored
-      (default).
-    `true`::
-      Active sessions of the application are preserved and restored. +
-      If any active session of the application fails to be preserved or
-      restored, none of the sessions will be available when the
-      redeployment is complete. However, the redeployment continues and
-      a warning is logged. +
-      To preserve active sessions, \{product---name} serializes the
-      sessions and saves them in memory. To restore the sessions, the
-      class loader of the newly redeployed application deserializes any
-      sessions that were previously saved.
-  `preserveAppScopedResources`;;
-    If set to `true`, preserves any application-scoped resources and
-    restores them during redeployment. Default is `false`. +
-  Other available properties are determined by the implementation of the
-  component that is being redeployed. +
-  For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
-  subcommand accepts properties arguments to wrap a WAR file as a WAB
-  (Web Application Bundle) at the time of deployment. The subcommand
-  looks for a key named `UriScheme` and, if present, uses the key as a
-  URL stream handler to decorate the input stream. Other properties are
-  used in the decoration process. For example, the \{product---name}
-  OSGi web container registers a URL stream handler named `webbundle`,
-  which is used to wrap a plain WAR file as a WAB. For more information
-  about usage, see the example in this help page.
-
-[[sthref1018]]
-
-Operands
-
-file_archive|filepath::
-  The path to the archive that contains the application that is being
-  deployed. This path can be a relative path or an absolute path. +
-  The archive can be in either of the following formats: +
-  * An archive file, for example, `/export/JEE_apps/hello.war`. +
-  If the `--upload` option is set to `true`, this is the path to the
-  deployable file on the local client machine. If the `--upload` option
-  is set to `false`, this is the path to the file on the server machine.
-  * A directory that contains the exploded format of the deployable
-  archive. This is the path to the directory on the server machine. +
-  If you specify a directory, the `--upload` option is ignored.
-
-[[sthref1019]]
-
-Examples
-
-[[GSRFM584]][[sthref1020]]
-
-Example 1   Deploying an Enterprise Application
-
-This example deploys the enterprise application packaged in the
-`Cart.ear` file to the default server instance `server`. You can use the
-`--target` option to deploy to a different server instance or to a
-cluster.
-
-[source,oac_no_warn]
-----
-asadmin> deploy Cart.ear
-Application deployed successfully with name Cart.
-Command deploy executed successfully
-----
-
-[[GSRFM585]][[sthref1021]]
-
-Example 2   Deploying a Web Application With the Default Context Root
-
-This example deploys the web application in the `hello.war` file to the
-default server instance `server`. You can use the `--target` option to
-deploy to a different server instance or to a cluster.
-
-[source,oac_no_warn]
-----
-asadmin> deploy hello.war
-Application deployed successfully with name hello.
-Command deploy executed successfully
-----
-
-[[GSRFM586]][[sthref1022]]
-
-Example 3   Forcibly Deploying a Web Application With a Specific Context
-Root
-
-This example forcibly deploys the web application in the `hello.war`
-file. The context root of the deployed web application is `greetings`.
-If the application has already been deployed, it is redeployed.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --force=true --contextroot greetings hello.war
-Application deployed successfully with name hello.
-Command deploy executed successfully
-----
-
-[[GSRFM587]][[sthref1023]]
-
-Example 4   Deploying an Enterprise Bean
-
-This example deploys a component based on the EJB specification
-(enterprise bean) with CMP and creates the database tables used by the
-bean.
-
-This example uses the `--target` option. The target in this example is
-an existing cluster, `cluster1`.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --createtables=true --target cluster1 EmployeeEJB.jar
-Application deployed successfully with name EmployeeEJB.
-Command deploy executed successfully
-----
-
-[[GSRFM588]][[sthref1024]]
-
-Example 5   Deploying a Connector Module
-
-This example deploys a connector module that is packaged in a RAR file.
-
-This example uses the `--target` option. The target in this example is
-an existing standalone server instance that does not belong to a
-cluster.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --target myinstance jdbcra.rar
-Application deployed successfully with name jdbcra.
-Command deploy executed successfully
-----
-
-[[GSRFM856]][[sthref1025]]
-
-Example 6   Specifying the Deployment Order for an Application
-
-This example specifies the deployment order for two applications. The
-`cart` application is loaded before the `horse` application at server
-startup.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --deploymentorder 102 --name cart cart.war
-...
-asadmin> deploy --deploymentorder 110 --name horse horse.war
-...
-----
-
-[[GSRFM857]][[sthref1026]]
-
-Example 7   Deploying an Application Using an Alternate Java EE 8
-Deployment Descriptor File
-
-This example deploys an application using a Java EE standard deployment
-descriptor file that resides outside of the application archive.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --altdd path_to_alternate_descriptor cart.ear
-Application deployed successfully with name cart.
-Command deploy executed successfully
-----
-
-[[GSRFM858]][[sthref1027]]
-
-Example 8   Deploying an Application Using an Alternate
-\{product---name} Deployment Descriptor File
-
-This example deploys an application using a \{product---name} runtime
-deployment descriptor file that resides outside of the application
-archive.
-
-[source,oac_no_warn]
-----
-asadmin> deploy --runtimealtdd path_to_alternate_runtime_descriptor horse.ear
-Application deployed successfully with name horse.
-Command deploy executed successfully
-----
-
-[[GSRFM883]][[sthref1028]]
-
-Example 9   Wrapping a WAR File as a WAB
-
-This example wraps a plain WAR file as a WAB when an OSGi bundle is
-deployed, and is specific to components packaged as OSGi bundles.
-
-The backslash (\) character is used to escape characters in the command.
-For more information about escape characters in options for the
-`asadmin` utility, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-help page.
-
-[source,oac_no_warn]
-----
-asadmin deploy --type osgi \
---properties "UriScheme=webbundle:Bundle-SymbolicName=bar:\
-Import-Package=javax.servlet;javax.servlet.http;
-%20version\\=3.0;resolution\\:
-=mandatory:Web-ContextPath=/foo" \
-/tmp/test_sample1.war
-Application deployed successfully with name sample1.
-Command deploy executed successfully
-----
-
-[[sthref1029]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1030]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get.html#get-1[`get`(1)],
-link:list-components.html#list-components-1[`list-components`(1)],
-link:redeploy.html#redeploy-1[`redeploy`(1)],
-link:set.html#set-1[`set`(1)],
-link:undeploy.html#undeploy-1[`undeploy`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/deploydir.adoc b/docs/reference-manual/src/main/jbake/content/deploydir.adoc
deleted file mode 100644
index e83271f..0000000
--- a/docs/reference-manual/src/main/jbake/content/deploydir.adoc
+++ /dev/null
@@ -1,432 +0,0 @@
-type=page
-status=published
-title=deploydir
-next=disable.html
-prev=deploy.html
-~~~~~~
-deploydir
-=========
-
-[[deploydir-1]][[GSRFM00115]][[deploydir]]
-
-deploydir
----------
-
-deploys an exploded format of application archive
-
-[[sthref1031]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] deploydir [--help] 
-[--force={false|true}] 
-[--virtualservers virtual_servers]
-[--contextroot context_root]
-[--verify={false|true}] 
-[--precompilejsp={false|true}] 
-[--name component-name] 
-[--retrieve local_dirpath] 
-[--uniquetablenames={true|false}] 
-[--dbvendorname dbvendorname] 
-[--createtables={false|true}|--dropandcreatetables={false|true}]
-[--deploymentplan deployment_plan]
-[--altdd alternate_deploymentdescriptor]
-[--runtimealtdd runtime_alternate_deploymentdescriptor]
-[--deploymentorder deployment_order]
-[--enabled={true|false}] 
-[--generatermistubs={false|true}] 
-[--availabilityenabled={false|true}] 
-[--asyncreplication={true|false}]
-[--lbenabled={true|false}]
-[--keepstate={false|true}]
-[--libraries jar_file[,jar_file]*] 
-[--target target] 
-[--type pkg-type] 
-[--properties(name=value)[:name=value]*]
-dirpath
-----
-
-[[sthref1032]]
-
-Description
-
-
-[NOTE]
-=======================================================================
-
-The `deploydir` subcommand is deprecated. Use the `deploy` subcommand
-instead.
-
-=======================================================================
-
-
-The `deploydir` subcommand deploys an application directly from a
-development directory. The appropriate directory hierarchy and
-deployment descriptors conforming to the Java EE specification must
-exist in the deployment directory.
-
-Directory deployment is for advanced developers only. Do not use
-`deploydir` in production environments. Instead, use the `deploy`
-subcommand. Directory deployment is only supported on localhost, that
-is, the client and server must reside on the same machine. For this
-reason, the only values for the `--host` option are:
-
-* `localhost`
-* The value of the `$HOSTNAME` environment variable
-* The IP address of the machine
-
-If the `--uniquetablenames`, `--createtables`, and
-`--dropandcreatetables` options are not specified, the entries in the
-deployment descriptors are used.
-
-The `--force` option makes sure the component is forcefully (re)deployed
-even if the specified component has already been deployed or already
-exists. Set the `--force` option to false for an initial deployment. If
-the specified application is running and the `--force` option is set to
-false, the subcommand fails.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1033]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--force`::
-  If set to `true`, redeploys the component even if the specified
-  component has already been deployed or already exists. Default is
-  `false`.
-`--virtualservers`::
-  One or more virtual server IDs. Multiple IDs are separated by commas.
-`--contextroot`::
-  Valid only if the archive is a web module. It is ignored for other
-  archive types; it will be the value specified by default-context-path
-  in web.xml, if specified; defaults to filename without extension.
-`--precompilejsp`::
-  By default this option does not allow the JSP to be precompiled during
-  deployment. Instead, JSPs are compiled during runtime. Default is
-  `false`.
-`--verify`::
-  If set to true and the required verifier packages are installed from
-  the Update Tool, the syntax and semantics of the deployment descriptor
-  is verified. Default is `false`.
-`--name`::
-  Name of the deployable component. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. For more information about module and application
-  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-  GlassFish Server Open Source Edition Application Deployment Guide.
-`--retrieve`::
-  Retrieves the client stub JAR file from the server machine to the
-  local directory.
-`--dbvendorname`::
-  Specifies the name of the database vendor for which tables are
-  created. Supported values include `db2`, `mssql`, `mysql`, `oracle`,
-  `derby`, `javadb`, `postgresql`, and `sybase`. These values are
-  case-insensitive. If not specified, the value of the
-  `database-vendor-name` attribute in `glassfish-ejb-jar.xml` is used.
-  If no value is specified, a connection is made to the resource
-  specified by the `jndi-name` subelement of the `cmp-resource` element
-  in the `glassfish-ejb-jar.xml` file, and the database vendor name is
-  read. If the connection cannot be established, or if the value is not
-  recognized, SQL-92 compliance is presumed.
-`--createtables`::
-  If specified as true, creates tables at deployment of an application
-  with unmapped CMP beans. If specified as false, tables are not
-  created. If not specified, the value of the `create-tables-at-deploy`
-  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
-  file determines whether or not tables are created. No unique
-  constraints are created for the tables.
-`--dropandcreatetables`::
-  If specified as true when the component is redeployed, the tables
-  created by the previous deployment are dropped before creating the new
-  tables. Applies to deployed applications with unmapped CMP beans.
-  Preexisting tables will not be dropped on the initial deployment of an
-  application or on a deployment that follows an explicit undeploy. If
-  specified as false, tables are neither dropped nor created. If not
-  specified, the tables are dropped if the `drop-tables-at-undeploy`
-  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
-  file is set to true, and the new tables are created if the
-  `create-tables-at-deploy` entry in the `cmp-resource` element of the
-  `glassfish-ejb-jar.xml` file is set to true.
-`--uniquetablenames`::
-  Guarantees unique table names for all the beans and results in a hash
-  code added to the table names. This is useful if you have an
-  application with case-sensitive bean names. Applies to applications
-  with unmapped CMP beans.
-`--deploymentplan`::
-  Deploys the deployment plan, which is a JAR file that contains
-  \{product---name} descriptors. Specify this option when deploying a
-  pure EAR file. A pure EAR file is an EAR without \{product---name}
-  descriptors.
-`--altdd`::
-  Deploys the application using a Java EE standard deployment descriptor
-  that resides outside of the application archive. Specify an absolute
-  path or a relative path to the alternate deployment descriptor file.
-  The alternate deployment descriptor overrides the top-level deployment
-  descriptor packaged in the archive. For example, for an EAR, the
-  `--altdd` option overrides `application.xml`. For a standalone module,
-  the `--altdd` option overrides the top-level module descriptor such as
-  `web.xml`.
-`--runtimealtdd`::
-  Deploys the application using a \{product---name} runtime deployment
-  descriptor that resides outside of the application archive. Specify an
-  absolute path or a relative path to the alternate deployment
-  descriptor file. The alternate deployment descriptor overrides the
-  top-level deployment descriptor packaged in the archive. For example,
-  for an EAR, the `--runtimealtdd` option overrides
-  `glassfish-application.xml`. For a standalone module, the
-  `--runtimealtdd` option overrides the top-level module descriptor such
-  as `glassfish-web.xml`. Applies to \{product---name} deployment
-  descriptors only (`glassfish-*.xml`); the name of the alternate
-  deployment descriptor file must begin with `glassfish-`. Does not
-  apply to `sun-*.xml` deployment descriptors, which are deprecated.
-`--deploymentorder`::
-  Specifies the deployment order of the application. This is useful if
-  the application has dependencies and must be loaded in a certain order
-  at server startup. The deployment order is specified as an integer.
-  The default value is 100. Applications with lower numbers are loaded
-  before applications with higher numbers. For example, an application
-  with a deployment order of 102 is loaded before an application with a
-  deployment order of 110. If a deployment order is not specified, the
-  default value of 100 is assigned. If two applications have the same
-  deployment order, the first application to be deployed is the first
-  application to be loaded at server startup. +
-  The deployment order is typically specified when the application is
-  first deployed but can also be specified or changed after initial
-  deployment using the `set` subcommand. You can view the deployment
-  order of an application using the `get` subcommand
-`--enabled`::
-  Allows users to access the application. If set to `false`, users will
-  not be able to access the application. This option enables the
-  application on the specified target instance or cluster. If you deploy
-  to the target `domain`, this option is ignored, since deploying to the
-  domain doesn't deploy to a specific instance or cluster. The default
-  is `true`.
-`--generatermistubs`::
-  If set to `true`, static RMI-IIOP stubs are generated and put into the
-  `client.jar`. If set to `false`, the stubs are not generated. Default
-  is `false`.
-`--availabilityenabled`::
-  This option controls whether high-availability is enabled for web
-  sessions and for stateful session bean (SFSB) checkpointing and
-  potentially passivation. If set to false (default) all web session
-  saving and SFSB checkpointing is disabled for the specified
-  application, web application, or EJB module. If set to true, the
-  specified application or module is enabled for high-availability. Set
-  this option to true only if high availability is configured and
-  enabled at higher levels, such as the server and container levels.
-`--asyncreplication`::
-  This option controls whether web session and SFSB states for which
-  high availability is enabled are first buffered and then replicated
-  using a separate asynchronous thread. If set to true (default),
-  performance is improved but availability is reduced. If the instance
-  where states are buffered but not yet replicated fails, the states are
-  lost. If set to false, performance is reduced but availability is
-  guaranteed. States are not buffered but immediately transmitted to
-  other instances in the cluster.
-`--lbenabled`::
-  This option controls whether the deployed application is available for
-  load balancing. The default is true.
-`--keepstate`::
-  This option controls whether web sessions, SFSB instances, and
-  persistently created EJB timers are retained between redeployments. +
-  The default is false. This option is supported only on the default
-  server instance, named `server`. It is not supported and ignored for
-  any other target. +
-  Some changes to an application between redeployments prevent this
-  feature from working properly. For example, do not change the set of
-  instance variables in the SFSB bean class. +
-  For web applications, this feature is applicable only if in the
-  `glassfish-web-app.xml` file the `persistence-type` attribute of the
-  `session-manager` element is `file`. +
-  For stateful session bean instances, the persistence type without high
-  availability is set in the server (the `sfsb-persistence-type`
-  attribute) and must be set to `file`, which is the default and
-  recommended value. +
-  If any active web session, SFSB instance, or EJB timer fails to be
-  preserved or restored, none of these will be available when the
-  redeployment is complete. However, the redeployment continues and a
-  warning is logged. +
-  To preserve active state data, \{product---name} serializes the data
-  and saves it in memory. To restore the data, the class loader of the
-  newly redeployed application deserializes the data that was previously
-  saved.
-`--libraries`::
-  A comma-separated list of library JAR files. Specify the library JAR
-  files by their relative or absolute paths. Specify relative paths
-  relative to domain-dir`/lib/applibs`. The libraries are made available
-  to the application in the order specified.
-`--target`::
-  Specifies the target to which you are deploying. Valid values are: +
-  `server`;;
-    Deploys the component to the default server instance `server` and is
-    the default value.
-  `domain`;;
-    Deploys the component to the domain. If `domain` is the target for
-    an initial deployment, the application is deployed to the domain,
-    but no server instances or clusters reference the application. If
-    `domain` is the target for a redeployment (the `--force` option is
-    set to true), and dynamic reconfiguration is enabled for the
-    clusters or server instances that reference the application, the
-    referencing clusters or server instances automatically get the new
-    version of the application. If redeploying, and dynamic
-    configuration is disabled, the referencing clusters or server
-    instances do not get the new version of the application until the
-    clustered or standalone server instances are restarted.
-  cluster_name;;
-    Deploys the component to every server instance in the cluster.
-  instance_name;;
-    Deploys the component to a particular stand-alone server instance.
-`--type`::
-  The packaging archive type of the component that is being deployed.
-  Possible values are as follows: +
-  `car`;;
-    The component is packaged as a CAR file.
-  `ear`;;
-    The component is packaged as an EAR file.
-  `ejb`;;
-    The component is an EJB packaged as a JAR file.
-  `osgi`;;
-    The component is packaged as an OSGi bundle.
-  `rar`;;
-    The component is packaged as a RAR file.
-  `war`;;
-    The component is packaged as a WAR file.
-`--properties` or `--property`::
-  Optional keyword-value pairs that specify additional properties for
-  the deployment. The available properties are determined by the
-  implementation of the component that is being deployed or redeployed.
-  The `--properties` option and the `--property` option are equivalent.
-  You can use either option regardless of the number of properties that
-  you specify. +
-  You can specify the following properties for a deployment: +
-  `jar-signing-alias`;;
-    Specifies the alias for the security certificate with which the
-    application client container JAR file is signed. Java Web Start will
-    not run code that requires elevated permissions unless it resides in
-    a JAR file signed with a certificate that the user's system trusts.
-    For your convenience, \{product---name} signs the JAR file
-    automatically using the certificate with this alias from the
-    domain's keystore. Java Web Start then asks the user whether to
-    trust the code and displays the \{product---name} certificate
-    information. To sign this JAR file with a different certificate, add
-    the certificate to the domain keystore, then use this property. For
-    example, you can use a certificate from a trusted authority, which
-    avoids the Java Web Start prompt, or from your own company, which
-    users know they can trust. Default is `s1as`, the alias for the
-    self-signed certificate created for every domain.
-  `java-web-start-enabled`;;
-    Specifies whether Java Web Start access is permitted for an
-    application client module. Default is true.
-  `compatibility`;;
-    Specifies the \{product---name} release with which to be backward
-    compatible in terms of JAR visibility requirements for applications.
-    The only allowed value is `v2`, which refers to Sun GlassFish
-    Enterprise Server version 2 or Sun Java System Application Server
-    version 9.1 or 9.1.1. Beginning in Java EE 6, the Java EE platform
-    specification imposed stricter requirements than Java EE 5 did on
-    which JAR files can be visible to various modules within an EAR
-    file. In particular, application clients must not have access to EJB
-    JAR files or other JAR files in the EAR file unless references use
-    the standard Java SE mechanisms (extensions, for example) or the
-    Java EE library-directory mechanism. Setting this property to `v2`
-    removes these restrictions.
-  `keepSessions={false|true}`;;
-    Superseded by the `--keepstate` option. +
-    If the `--force` option is set to `true`, this property can by used
-    to specify whether active sessions of the application that is being
-    redeployed are preserved and then restored when the redeployment is
-    complete. Applies to HTTP sessions in a web container. Default is
-    `false`.::
-    `false`::
-      Active sessions of the application are not preserved and restored
-      (default).
-    `true`::
-      Active sessions of the application are preserved and restored. +
-      If any active session of the application fails to be preserved or
-      restored, none of the sessions will be available when the
-      redeployment is complete. However, the redeployment continues and
-      a warning is logged. +
-      To preserve active sessions, \{product---name} serializes the
-      sessions and saves them in memory. To restore the sessions, the
-      class loader of the newly redeployed application deserializes any
-      sessions that were previously saved.
-  `preserveAppScopedResources`;;
-    If set to `true`, preserves any application-scoped resources and
-    restores them during redeployment. Default is `false`. +
-  Other available properties are determined by the implementation of the
-  component that is being redeployed. +
-  For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
-  subcommand accepts properties arguments that can be used to wrap a WAR
-  file as a WAB (Web Application Bundle). The subcommand looks for a key
-  named `UriScheme` and, if present, uses the key as a URL stream
-  handler to decorate the input stream. Other properties are used in the
-  decoration process. The \{product---name} OSGi web container registers
-  a URL stream handler named `webbundle`, which is used to wrap a plain
-  WAR file as a WAB. For more information about usage, see the related
-  example in the link:deploy.html#deploy-1[`deploy`(1)] help page.
-
-[[sthref1034]]
-
-Operands
-
-dirpath::
-  Path to the directory containing the exploded format of the deployable
-  archive. This is the path to the directory on the server machine.
-
-[[sthref1035]]
-
-Examples
-
-[[GSRFM589]][[sthref1036]]
-
-Example 1   Deploying an Application From a Directory
-
-In this example, the exploded application to be deployed is in the
-`/home/temp/sampleApp` directory. Because the `--force` option is set to
-true, if an application of that name already exists, the application is
-redeployed.
-
-[source,oac_no_warn]
-----
-asadmin> deploydir --force=true --precompilejsp=true /home/temp/sampleApp
-Application deployed successfully with name sampleApp.
-WARNING : deploydir command deprecated. Please use deploy command instead.
-Command deploydir executed successfully
-----
-
-[[sthref1037]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1038]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get.html#get-1[`get`(1)], link:deploy.html#deploy-1[`deploy`(1)],
-link:redeploy.html#redeploy-1[`redeploy`(1)],
-link:set.html#set-1[`set`(1)],
-link:undeploy.html#undeploy-1[`undeploy`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/disable-http-lb-application.adoc b/docs/reference-manual/src/main/jbake/content/disable-http-lb-application.adoc
deleted file mode 100644
index 322dee3..0000000
--- a/docs/reference-manual/src/main/jbake/content/disable-http-lb-application.adoc
+++ /dev/null
@@ -1,124 +0,0 @@
-type=page
-status=published
-title=disable-http-lb-application
-next=disable-http-lb-server.html
-prev=disable.html
-~~~~~~
-disable-http-lb-application
-===========================
-
-[[disable-http-lb-application-1]][[GSRFM00118]][[disable-http-lb-application]]
-
-disable-http-lb-application
----------------------------
-
-disables an application managed by a load balancer
-
-[[sthref1047]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] disable-http-lb-application [--help] 
-[--timeout 30]
---name application_name target
-----
-
-[[sthref1048]]
-
-Description
-
-The disable `disable-http-lb-application` subcommand disables an
-application for load balancing. The disabled application goes offline
-for load balancing with minimal impact to users. Disabling an
-application gives a finer granularity of control than disabling a server
-instance and is most useful when a cluster is hosting multiple
-independent applications.
-
-Once the application is disabled and the changes have been applied to
-the load balancer, new requests for the application are not forwarded to
-the target. Existing sessions continue to access the application until
-the timeout is reached. This process is known as quiescing.
-
-If an application is deployed across multiple clusters, use this
-subcommand to disable it in one cluster while leaving it enabled in
-others.
-
-If an application is deployed to a single server instance, use this
-subcommand to disable it in that instance while leaving the instance
-itself enabled.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref1049]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--timeout`::
-  The timeout (in minutes) to wait before disabling the specified
-  application. This time allows for the graceful shutdown (quiescing) of
-  the specified application. The default value is 30 minutes. The
-  minimum value is 1 minute.
-`--name`::
-  The name of the application to be disabled.
-
-[[sthref1050]]
-
-Operands
-
-target::
-  This operand specifies the server instance or cluster on which to
-  disable the application. Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref1051]]
-
-Examples
-
-[[GSRFM592]][[sthref1052]]
-
-Example 1   Disabling an Application for Load Balancing
-
-This example, disables an application for load balancing
-
-[source,oac_no_warn]
-----
-asadmin> disable-http-lb-application --name webapps-simple mycluster
-
-Command disable-http-lb-application executed successfully.
-----
-
-[[sthref1053]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1054]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:enable-http-lb-application.html#enable-http-lb-application-1[`enable-http-lb-application`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/disable-http-lb-server.adoc b/docs/reference-manual/src/main/jbake/content/disable-http-lb-server.adoc
deleted file mode 100644
index ae1ed52..0000000
--- a/docs/reference-manual/src/main/jbake/content/disable-http-lb-server.adoc
+++ /dev/null
@@ -1,117 +0,0 @@
-type=page
-status=published
-title=disable-http-lb-server
-next=disable-monitoring.html
-prev=disable-http-lb-application.html
-~~~~~~
-disable-http-lb-server
-======================
-
-[[disable-http-lb-server-1]][[GSRFM00119]][[disable-http-lb-server]]
-
-disable-http-lb-server
-----------------------
-
-disables a sever or cluster managed by a load balancer
-
-[[sthref1055]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] disable-http-lb-server [--help] 
-[--timeout 30]
-target
-----
-
-[[sthref1056]]
-
-Description
-
-The `disable-http-lb-server` subcommand disables a standalone server or
-cluster of servers for load balancing. The disabled server instance or
-cluster goes offline for load balancing with a minimum impact to users.
-
-Once the target has been disabled and the changes have been applied to
-the load balancer, the load balancer stops assigning new requests to the
-target. Session requests with sessions created before disabling the
-target continue to be assigned to that target until the timeout is
-reached. This process is known as quiescing.
-
-Changes are applied the load balancer automatically. You can also
-manually export the configuration using `export-http-lb-config` and copy
-it to the load balancer.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref1057]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--timeout`::
-  The timeout (in minutes) to wait before disabling the specified
-  target. This time allows for the graceful shutdown (quiescing) of the
-  specified target. The default value is 30 minutes. The minimum value
-  is 1 minute.
-
-[[sthref1058]]
-
-Operands
-
-target::
-  This operand specifies which server instances and clusters to disable.
-  Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref1059]]
-
-Examples
-
-[[GSRFM593]][[sthref1060]]
-
-Example 1   Disabling a Cluster for Load Balancing
-
-This example disables load balancing for a cluster named `mycluster`.
-
-[source,oac_no_warn]
-----
-asadmin> disable-http-lb-server mycluster
-
-Command disable-http-lb-server executed successfully.
-----
-
-[[sthref1061]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1062]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)],
-link:enable-http-lb-server.html#enable-http-lb-server-1[`enable-http-lb-server`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/disable-monitoring.adoc b/docs/reference-manual/src/main/jbake/content/disable-monitoring.adoc
deleted file mode 100644
index fc99d4a..0000000
--- a/docs/reference-manual/src/main/jbake/content/disable-monitoring.adoc
+++ /dev/null
@@ -1,131 +0,0 @@
-type=page
-status=published
-title=disable-monitoring
-next=disable-secure-admin.html
-prev=disable-http-lb-server.html
-~~~~~~
-disable-monitoring
-==================
-
-[[disable-monitoring-1]][[GSRFM00120]][[disable-monitoring]]
-
-disable-monitoring
-------------------
-
-disables monitoring for the server or for specific monitorable modules
-
-[[sthref1063]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] disable-monitoring [--help] 
-[--modules module-name][:module-name]*
-----
-
-[[sthref1064]]
-
-Description
-
-The `disable-monitoring` subcommand is used to turn off monitoring for
-\{product---name} or for particular modules during runtime. Changes are
-dynamic, that is, server restart is not required.
-
-Running the `disable-monitoring` subcommand without the `--module`
-option disables the monitoring service by setting the
-`monitoring-enabled` attribute of the `monitoring-service` element to
-`false`. The individual modules retain their monitoring levels, but no
-monitoring data is generated because the entire monitoring service is
-disabled.
-
-This subcommand used with the `--modules` option disables monitoring for
-a module by setting the monitoring level to OFF. The status of the
-monitoring service is not affected. For a list of monitorable modules,
-see the `--modules` option in this help page.
-
-An alternative method for disabling monitoring is to use the `set`
-subcommand. In this case, the server must be restarted for changes to
-take effect.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1065]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--modules`::
-  Disables the specified module or modules by setting the monitoring
-  level to OFF. Multiple modules are separated by : (colon). Monitorable
-  modules include `connector-connection-pool`, `connector-service`,
-  `ejb-container`, `http-service`, `jdbc-connection-pool`, `jersey`,
-  `jpa`, `jms-service`, `jvm`, `security`, `thread-pool`,
-  `transaction-service`, `web-container`, and `web-services-container`.
-  Additional modules can be listed by using the `get` subcommand.
-
-[[sthref1066]]
-
-Operands
-
-[[sthref1067]]
-
-Examples
-
-[[GSRFM594]][[sthref1068]]
-
-Example 1   Disabling the Monitoring Service for \{product---name}
-
-This example disables monitoring for \{product---name} in general by
-setting the `enable-monitoring` flag to `false` (default is `true`).
-
-[source,oac_no_warn]
-----
-asadmin> disable-monitoring
-Command disable-monitoring executed successfully
-----
-
-[[GSRFM595]][[sthref1069]]
-
-Example 2   Disabling Monitoring for the Web and EJB Containers
-
-This example disables monitoring for specific containers. Their
-monitoring levels will be set to OFF.
-
-[source,oac_no_warn]
-----
-asadmin> disable-monitoring --modules web-container:ejb-container
-Command disable-monitoring executed successfully
-----
-
-[[sthref1070]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1071]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get.html#get-1[`get`(1)],
-link:enable-monitoring.html#enable-monitoring-1[`enable-monitoring`(1)],
-link:list.html#list-1[`list`(1)],
-link:monitor.html#monitor-1[`monitor`(1)], link:set.html#set-1[`set`(1)]
-
-link:monitoring.html#monitoring-5asc[`monitoring`(5ASC)]
-
-"link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/disable-secure-admin-internal-user.adoc b/docs/reference-manual/src/main/jbake/content/disable-secure-admin-internal-user.adoc
deleted file mode 100644
index 3d595b5..0000000
--- a/docs/reference-manual/src/main/jbake/content/disable-secure-admin-internal-user.adoc
+++ /dev/null
@@ -1,95 +0,0 @@
-type=page
-status=published
-title=disable-secure-admin-internal-user
-next=disable-secure-admin-principal.html
-prev=disable-secure-admin.html
-~~~~~~
-disable-secure-admin-internal-user
-==================================
-
-[[disable-secure-admin-internal-user-1]][[GSRFM00122]][[disable-secure-admin-internal-user]]
-
-disable-secure-admin-internal-user
-----------------------------------
-
-Instructs the \{product---name} DAS and instances to not use the
-specified admin user to authenticate with each other and to authorize
-admin operations.
-
-[[sthref1079]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] disable-secure-admin-internal-user [--help] 
-admin-username
-----
-
-[[sthref1080]]
-
-Description
-
-The `disable-secure-admin-internal-user` subcommand disables secure
-admin from using the username (instead of SSL certificates) to
-authenticate the DAS and instances with each other and to authorize
-admin operations.
-
-[[sthref1081]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1082]]
-
-Operands
-
-admin-username::
-  The admin user name that \{product---name} should not use to
-  authenticate the DAS and instances with each other and to authorize
-  admin operations.
-
-[[sthref1083]]
-
-Examples
-
-[[GSRFM597]][[sthref1084]]
-
-Example 1   Disabling a user name for secure admin
-
-The following example disables secure admin from using username tester
-to authenticate the DAS and instances with each other and to authorize
-admin operations.
-
-[source,oac_no_warn]
-----
-asadmin> disable-secure-admin-internal-user tester
-
-Command disable-secure-admin-internal-user executed successfully.
-----
-
-[[sthref1085]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1086]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
-link:enable-secure-admin-internal-user.html#enable-secure-admin-internal-user-1[`enable-secure-admin-internal-user`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/disable-secure-admin-principal.adoc b/docs/reference-manual/src/main/jbake/content/disable-secure-admin-principal.adoc
deleted file mode 100644
index ef38dce..0000000
--- a/docs/reference-manual/src/main/jbake/content/disable-secure-admin-principal.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=disable-secure-admin-principal
-next=enable.html
-prev=disable-secure-admin-internal-user.html
-~~~~~~
-disable-secure-admin-principal
-==============================
-
-[[disable-secure-admin-principal-1]][[GSRFM00123]][[disable-secure-admin-principal]]
-
-disable-secure-admin-principal
-------------------------------
-
-disables the certificate for authorizing access in secure
-administration.
-
-[[sthref1087]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] disable-secure-admin-principal [--help] 
---alias aliasname | DN 
-----
-
-[[sthref1088]]
-
-Description
-
-The `disable-secure-admin-principal` subcommand disables the certificate
-as being valid for authorizing access as part of secure administration.
-
-You must specify either the `--alias` option, or the DN.
-
-[[sthref1089]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--alias`::
-  The alias name of the certificate in the truststore. \{product---name}
-  looks up the certificate in the truststore using that alias and, if
-  found, disables the corresponding DN as being valid for secure
-  administration. Because alias-name must be an alias associated with a
-  certificate currently in the truststore, you may find it most useful
-  for self-signed certificates.
-
-[[sthref1090]]
-
-Operands
-
-DN::
-  The distinguished name of the certificate, specified as a
-  comma-separated list in quotes. For example,
-  `"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`
-  .
-
-[[sthref1091]]
-
-Examples
-
-[[GSRFM598]][[sthref1092]]
-
-Example 1   Disables trust of a DN for secure administration
-
-The following example shows how to disable trust of a DN for authorizing
-access in secure administration.
-
-[source,oac_no_warn]
-----
-asadmin> disable-secure-admin-principal 
-"CN=system.amer.oracle.com,OU=GlassFish,
-O=Oracle Corporation,L=Santa Clara,ST=California,C=US"
-
-Command disable-secure-admin-principal executed successfully.
-----
-
-[[sthref1093]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1094]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
-link:enable-secure-admin-principal.html#enable-secure-admin-principal-1[`enable-secure-admin-principal`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/disable-secure-admin.adoc b/docs/reference-manual/src/main/jbake/content/disable-secure-admin.adoc
deleted file mode 100644
index 3d8919c..0000000
--- a/docs/reference-manual/src/main/jbake/content/disable-secure-admin.adoc
+++ /dev/null
@@ -1,92 +0,0 @@
-type=page
-status=published
-title=disable-secure-admin
-next=disable-secure-admin-internal-user.html
-prev=disable-monitoring.html
-~~~~~~
-disable-secure-admin
-====================
-
-[[disable-secure-admin-1]][[GSRFM00121]][[disable-secure-admin]]
-
-disable-secure-admin
---------------------
-
-disables secure admin if it is already enabled.
-
-[[sthref1072]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] disable-secure-admin [--help]
-----
-
-[[sthref1073]]
-
-Description
-
-The `disable-secure-admin` subcommand disables secure admin if it is
-already enabled.
-
-
-[NOTE]
-=======================================================================
-
-You must restart any running servers in the domain after you enable or
-disable secure admin. It is simpler to enable or disable secure admin
-with only the DAS running, then restart the DAS, and then start any
-other instances.
-
-=======================================================================
-
-
-[[sthref1074]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1075]]
-
-Examples
-
-[[GSRFM596]][[sthref1076]]
-
-Example 1   Disabling `secure admin` for a domain
-
-The following example shows how to disable `secure admin` for a domain.
-
-[source,oac_no_warn]
-----
-asadmin> disable-secure-admin
-server-config
-default-config
-
-Command disable-secure-admin executed successfully.
-----
-
-[[sthref1077]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1078]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/disable.adoc b/docs/reference-manual/src/main/jbake/content/disable.adoc
deleted file mode 100644
index b072095..0000000
--- a/docs/reference-manual/src/main/jbake/content/disable.adoc
+++ /dev/null
@@ -1,115 +0,0 @@
-type=page
-status=published
-title=disable
-next=disable-http-lb-application.html
-prev=deploydir.html
-~~~~~~
-disable
-=======
-
-[[disable-1]][[GSRFM00116]][[disable]]
-
-disable
--------
-
-disables the component
-
-[[sthref1039]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] disable [--help] 
-[--target target_name] component_name
-----
-
-[[sthref1040]]
-
-Description
-
-The `disable` subcommand immediately disables the specified deployed
-component. If the component has not been deployed, an error message is
-returned.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1041]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are disabling the
-  component. Valid values are: +
-  `server`;;
-    Disables the component on the default server instance `server` and
-    is the default value.
-  domain_name;;
-    Disables the component on the named domain.
-  cluster_name;;
-    Disables the component on every server instance in the cluster.
-  instance_name;;
-    Disables the component on a particular clustered or stand-alone
-    server instance.
-
-[[sthref1042]]
-
-Operands
-
-component_name::
-  name of the component to be disabled. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. To disable multiple versions, you can use an
-  asterisk (`*`) as a wildcard character. For more information about
-  module and application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and
-  Application Versions]" in GlassFish Server Open Source Edition
-  Application Deployment Guide.
-
-[[sthref1043]]
-
-Examples
-
-[[GSRFM590]][[sthref1044]]
-
-Example 1   Disabling a Component
-
-This example disables the deployed component `sampleApp`.
-
-[source,oac_no_warn]
-----
-asadmin> disable sampleApp
-Command disable executed successfully
-----
-
-[[sthref1045]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1046]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:deploy.html#deploy-1[`deploy`(1)],
-link:enable.html#enable-1[`enable`(1)],
-link:undeploy.html#undeploy-1[`undeploy`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/domain.adoc b/docs/reference-manual/src/main/jbake/content/domain.adoc
deleted file mode 100644
index a0735c2..0000000
--- a/docs/reference-manual/src/main/jbake/content/domain.adoc
+++ /dev/null
@@ -1,33 +0,0 @@
-type=page
-status=published
-title=domain
-next=dotted-names.html
-prev=configuration.html
-~~~~~~
-domain
-======
-
-[[domain-5asc]][[GSRFM00267]][[domain]]
-
-domain
-------
-
-Domains have their own configurations.
-
-[[sthref2396]]
-
-Description
-
-A domain provides a common authentication and administration point for a
-collection of zero or more server instances. The administration domain
-encompasses several manageable resources, including instances, clusters,
-and their individual resources. A manageable resource, such as a server
-instance, may belong to only one domain.
-
-[[sthref2397]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/dotted-names.adoc b/docs/reference-manual/src/main/jbake/content/dotted-names.adoc
deleted file mode 100644
index 1f17f59..0000000
--- a/docs/reference-manual/src/main/jbake/content/dotted-names.adoc
+++ /dev/null
@@ -1,236 +0,0 @@
-type=page
-status=published
-title=dotted-names
-next=instance.html
-prev=domain.html
-~~~~~~
-dotted-names
-============
-
-[[dotted-names-5asc]][[GSRFM00268]][[dotted-names]]
-
-dotted-names
-------------
-
-syntax for using periods to separate name elements
-
-[[sthref2398]]
-
-Description
-
-A dotted name is an identifier for a particular \{product---name}
-element, such as a configurable or a monitorable object. A dotted name
-uses the period (.), known as dot, as a delimiter to separate the parts
-of an element name. The period in a dotted name is similar to the slash
-(/) character that delimits the levels in the absolute path name of a
-file in the UNIX file system.
-
-The subcommands of the `asadmin` utility use dotted names as follows:
-
-* The `list` subcommand provides the fully qualified dotted names of the
-management components' attributes.
-* The `get` subcommand provides access to the attributes.
-* The `set` subcommand enables you to modify configurable attributes and
-set properties.
-
-The configuration hierarchy is loosely based on the domain's schema
-document, and the attributes are modifiable. The attributes of the
-monitoring hierarchy are read-only.
-
-The following format is used for configuration dotted names (italic
-indicates replaceable):
-
-config-name`.`config-element-name`.`primary-key`.`attribute-name `|`
-instance-name`.`config-element-name`.`primary-key`.`attribute-name
-
-The following format is used for resource dotted names (italic indicates
-replaceable):
-
-server-name`.`resource-name`.`primary-key`.`attribute-name
-`| domain.resources.`resource-name`.`primary-key`.`attribute-name
-
-The following rules apply to forming dotted names:
-
-* The top-level is configuration, server, or domain name. For example,
-`server-config` (default configuration), `server` (default server), or
-`domain1` (default domain).
-* A dot (.) always separates two sequential parts of the name.
-* A part of the name usually identifies a server subsystem or its
-specific instance. For example, `web-container`, `log-service`,
-`thread-pool-1`.
-* If any part of the name itself contains a dot (.), then the dot must
-be escaped with a leading `\` (backslash) so that the `.` (dot) does not
-act like a delimiter. For further information on escape characters, see
-the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-* An `*` (asterisk) character can be used anywhere in the dotted name
-and acts like the wildcard character in regular expressions.
-Additionally, an `*` can collapse all the parts of the dotted name. For
-example, a long dotted name such as `this.is.really.long.hierarchy` can
-be abbreviated to `th*.hierarchy`. The `.` (dot) always delimits the
-parts of the dotted name. +
-
-[NOTE]
-=======================================================================
-
-Characters that have special meaning to the shell or command
-interpreter, such as * (asterisk), should be quoted or escaped as
-appropriate to the shell, for example, by enclosing the argument in
-quotes. In multimode, quotes are needed only for arguments that include
-spaces, quotes, or backslash.
-
-=======================================================================
-
-* The `--monitor` option of the `get` and `list` subcommands selects the
-monitoring or configuration hierarchy. If the subcommand specifies
-`--monitor``=false` (the default), the configuration hierarchy is
-selected. If the subcommand specifies `--monitor``=true`, the monitoring
-hierarchy is selected.
-* If you know the complete dotted name and do not need to use a
-wildcard, the `list`, `get`, and `set` subcommands treat the name
-differently:
-
-** The `list` subcommand treats a complete dotted name as the name of a
-parent node in the abstract hierarchy. When you specify this name to the
-`list` subcommand, the names of the immediate children at that level are
-returned. For example, the following command lists all the web modules
-deployed to the domain or the default server: +
-[source,oac_no_warn]
-----
-asadmin> list server.applications.web-module
-----
-
-** The`get` and `set` subcommands treat a complete dotted name as the
-fully qualified name of the attribute of a node (whose dotted name
-itself is the name that you get when you remove the last part of this
-dotted name). When you specify this name to the `get` or `set`
-subcommand, the subcommand acts on the value of that attribute, if such
-an attribute exists. You will never start with this case because in
-order to find out the names of attributes of a particular node in the
-hierarchy, you must use the * wildcard character . For example, the
-following dotted name returns the context root of the web application
-deployed to the domain or default server: +
-[source,oac_no_warn]
-----
-server.applications.web-module.JSPWiki.context-root
-----
-
-[[sthref2399]]
-
-Examples
-
-[[GSRFM815]][[sthref2400]]
-
-Example 1   Listing All Configurable Elements
-
-This example lists all the configurable elements.
-
-[source,oac_no_warn]
-----
-asadmin> list *
-----
-
-Output similar to the following is displayed:
-
-[source,oac_no_warn]
-----
-applications
-configs
-configs.config.server-config
-configs.config.server-config.admin-service
-configs.config.server-config.admin-service.das-config
-configs.config.server-config.admin-service.jmx-connector.system
-configs.config.server-config.admin-service.property.adminConsoleContextRoot
-configs.config.server-config.admin-service.property.adminConsoleDownloadLocation
-configs.config.server-config.admin-service.property.ipsRoot
-configs.config.server-config.ejb-container
-configs.config.server-config.ejb-container.ejb-timer-service
-configs.config.server-config.http-service
-configs.config.server-config.http-service.access-log
-configs.config.server-config.http-service.virtual-server.__asadmin
-configs.config.server-config.http-service.virtual-server.server
-configs.config.server-config.iiop-service
-configs.config.server-config.iiop-service.iiop-listener.SSL
-configs.config.server-config.iiop-service.iiop-listener.SSL.ssl
-configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH
-configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH.ssl
-configs.config.server-config.iiop-service.iiop-listener.orb-listener-1
-configs.config.server-config.iiop-service.orb
-configs.config.server-config.java-config
-configs.config.server-config.jms-service
-configs.config.server-config.jms-service.jms-host.default_JMS_host
-configs.config.server-config.mdb-container
-configs.config.server-config.monitoring-service
-configs.config.server-config.monitoring-service.module-monitoring-levels
-...
-property.administrative.domain.name
-resources
-resources.jdbc-connection-pool.DerbyPool
-resources.jdbc-connection-pool.DerbyPool.property.DatabaseName
-resources.jdbc-connection-pool.DerbyPool.property.Password
-resources.jdbc-connection-pool.DerbyPool.property.PortNumber
-resources.jdbc-connection-pool.DerbyPool.property.User
-resources.jdbc-connection-pool.DerbyPool.property.connectionAttributes
-resources.jdbc-connection-pool.DerbyPool.property.serverName
-resources.jdbc-connection-pool.__TimerPool
-resources.jdbc-connection-pool.__TimerPool.property.connectionAttributes
-resources.jdbc-connection-pool.__TimerPool.property.databaseName
-resources.jdbc-resource.jdbc/__TimerPool
-resources.jdbc-resource.jdbc/__default
-servers
-servers.server.server
-servers.server.server.resource-ref.jdbc/__TimerPool
-servers.server.server.resource-ref.jdbc/__default
-system-applications
-Command list executed successfully.
-----
-
-[[GSRFM816]][[sthref2401]]
-
-Example 2   Listing All the Monitorable Objects
-
-The following example lists all the monitorable objects.
-
-[source,oac_no_warn]
-----
-asadmin> list --monitor *
-----
-
-Output similar to the following is displayed:
-
-[source,oac_no_warn]
-----
-server
-server.jvm
-server.jvm.class-loading-system
-server.jvm.compilation-system
-server.jvm.garbage-collectors
-server.jvm.garbage-collectors.Copy
-server.jvm.garbage-collectors.MarkSweepCompact
-server.jvm.memory
-server.jvm.operating-system
-server.jvm.runtime
-server.network
-server.network.admin-listener
-server.network.admin-listener.connections
-server.network.admin-listener.file-cache
-server.network.admin-listener.keep-alive
-server.network.admin-listener.thread-pool
-server.network.http-listener-1
-server.network.http-listener-1.connections
-server.network.http-listener-1.file-cache
-server.network.http-listener-1.keep-alive
-server.network.http-listener-1.thread-pool
-server.transaction-service
-Command list executed successfully.
-----
-
-[[sthref2402]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
-link:set.html#set-1[`set`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/enable-http-lb-application.adoc b/docs/reference-manual/src/main/jbake/content/enable-http-lb-application.adoc
deleted file mode 100644
index b68def6..0000000
--- a/docs/reference-manual/src/main/jbake/content/enable-http-lb-application.adoc
+++ /dev/null
@@ -1,105 +0,0 @@
-type=page
-status=published
-title=enable-http-lb-application
-next=enable-http-lb-server.html
-prev=enable.html
-~~~~~~
-enable-http-lb-application
-==========================
-
-[[enable-http-lb-application-1]][[GSRFM00126]][[enable-http-lb-application]]
-
-enable-http-lb-application
---------------------------
-
-enables a previously-disabled application managed by a load balancer
-
-[[sthref1103]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] enable-http-lb-application [--help] 
---name application_name target
-----
-
-[[sthref1104]]
-
-Description
-
-The `enable-http-lb-application` subcommand enables load balancing for
-applications deployed on a standalone instance or cluster. You can
-enable load balancing for an application on all instances in a cluster,
-or on a single standalone server instance. By default, load balancing is
-enabled for applications.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref1105]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  The name of the application to be enabled.
-
-[[sthref1106]]
-
-Operands
-
-target::
-  This operand specifies on which server instance or cluster to enable
-  the application. Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref1107]]
-
-Examples
-
-[[GSRFM601]][[sthref1108]]
-
-Example 1   Enabling Load Balancing for an Application
-
-This example enables an application named `webapps-simple` to use load
-balancing on a cluster named `mycluster`.
-
-[source,oac_no_warn]
-----
-asadmin> enable-http-lb-application --name webapps-simple mycluster
-
-Command enable-http-lb-application executed successfully.
-----
-
-[[sthref1109]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1110]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:disable-http-lb-application.html#disable-http-lb-application-1[`disable-http-lb-application`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/enable-http-lb-server.adoc b/docs/reference-manual/src/main/jbake/content/enable-http-lb-server.adoc
deleted file mode 100644
index 3e012ca..0000000
--- a/docs/reference-manual/src/main/jbake/content/enable-http-lb-server.adoc
+++ /dev/null
@@ -1,102 +0,0 @@
-type=page
-status=published
-title=enable-http-lb-server
-next=enable-monitoring.html
-prev=enable-http-lb-application.html
-~~~~~~
-enable-http-lb-server
-=====================
-
-[[enable-http-lb-server-1]][[GSRFM00127]][[enable-http-lb-server]]
-
-enable-http-lb-server
----------------------
-
-enables a previously disabled sever or cluster managed by a load
-balancer
-
-[[sthref1111]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] enable-http-lb-server [--help] 
-target
-----
-
-[[sthref1112]]
-
-Description
-
-The `enable-http-lb-server` subcommand enables a standalone server
-instance or cluster for load balancing. By default, load balancing is
-enabled for instances and clusters.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref1113]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1114]]
-
-Operands
-
-target::
-  This operand specifies which server instances and clusters to enable.
-  Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref1115]]
-
-Examples
-
-[[GSRFM602]][[sthref1116]]
-
-Example 1   Enabling a Cluster for Load Balancing
-
-This example enables load balancing for a cluster named `mycluster`.
-
-[source,oac_no_warn]
-----
-asadmin> enable-http-lb-server mycluster
-
-Command enable-http-lb-server executed successfully.
-----
-
-[[sthref1117]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1118]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb-ref.html#create-http-lb-ref-1[`create-http-lb-ref`(1)],
-link:disable-http-lb-server.html#disable-http-lb-server-1[`disable-http-lb-server`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/enable-monitoring.adoc b/docs/reference-manual/src/main/jbake/content/enable-monitoring.adoc
deleted file mode 100644
index d4ae8c0..0000000
--- a/docs/reference-manual/src/main/jbake/content/enable-monitoring.adoc
+++ /dev/null
@@ -1,172 +0,0 @@
-type=page
-status=published
-title=enable-monitoring
-next=enable-secure-admin.html
-prev=enable-http-lb-server.html
-~~~~~~
-enable-monitoring
-=================
-
-[[enable-monitoring-1]][[GSRFM00128]][[enable-monitoring]]
-
-enable-monitoring
------------------
-
-enables monitoring for the server or for specific monitorable modules
-
-[[sthref1119]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] enable-monitoring [--help] 
-[--target target] 
-[--mbean={false|true}] 
-[--dtrace={true|false}] 
-[--modules modules[=level][:module[=level]]* 
-[--pid pid] 
-[--options options]]
-----
-
-[[sthref1120]]
-
-Description
-
-The `enable-monitoring` subcommand is used to turn on monitoring for
-\{product---name} or for particular modules during runtime. Changes are
-dynamic, that is, server restart is not required.
-
-By default, the monitoring service is enabled, that is, the
-`monitoring-enabled` attribute of the `monitoring-service` element is
-`true`. However, the default monitoring level for individual modules is
-`OFF`. This subcommand used with the `--modules` option can enable
-monitoring for a given module by setting the monitoring level to HIGH or
-LOW. If level is not specified when running the subcommand, the level
-defaults to HIGH.
-
-The specific meanings of HIGH or LOW are determined by the individual
-containers. For a list of monitorable modules, see the `--modules`
-option in this help page.
-
-An alternative method for enabling monitoring is to use the `set`
-subcommand. In this case, the server must be restarted for changes to
-take effect.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1121]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target on which to enabling monitoring. Valid values are
-  as follows: +
-  `server`;;
-    Enables monitoring for the default server instance `server` and is
-    the default value.
-  configuration-name;;
-    Enables monitoring for the named configuration.
-  cluster-name;;
-    Enables monitoring for every server instance in the cluster.
-  instance-name;;
-    Enables monitoring for a particular server instance.
-`--mbean`::
-  Enables Mbean monitoring. Default value is false.
-`--dtrace`::
-  Only usable if the DTrace Monitoring module is present. Enables Oracle
-  Solaris DTrace monitoring. Default value is false.
-`--modules`::
-  Enables specified module or modules by indicating monitoring level.
-  Valid levels are OFF, HIGH, LOW. If level is not specified, the
-  default setting is HIGH. Multiple modules are separated by : (colon).
-  Monitorable modules include `connector-connection-pool`,
-  `connector-service`, `ejb-container`, `http-service`,
-  `jdbc-connection-pool`, `jersey`, `jpa`, `jms-service`, `jvm`,
-  `security`, `thread-pool`, `transaction-service`, `web-container`, and
-  `web-services-container`. Additional modules can be listed by using
-  the `get` subcommand.
-`--pid`::
-  Specifies the \{product---name} JVM process identifier (PID). When
-  monitoring is enabled, the `btrace-agent` is attached, based on the
-  specified PID. Need to specify only in exceptional cases when the
-  system cannot determine the PID. In this situation, the subcommand
-  prompts for the PID of the corresponding \{product---name}process.
-`--options`::
-  Sets the following `btrace-agent` options: +
-  `debug`;;
-    Enables debugging for BTrace. Default value is false.
-
-[[sthref1122]]
-
-Examples
-
-[[GSRFM603]][[sthref1123]]
-
-Example 1   Enabling the Monitoring Service for \{product---name}
-
-This example enables monitoring for \{product---name} in general by
-setting the `enable-monitoring` flag to `true` (default is `true`).
-
-[source,oac_no_warn]
-----
-asadmin> enable-monitoring
-Command enable-monitoring executed successfully
-----
-
-[[GSRFM604]][[sthref1124]]
-
-Example 2   Enabling Monitoring for the Web and EJB Containers
-
-This example enables monitoring for specific containers by setting their
-monitoring levels.
-
-[source,oac_no_warn]
-----
-asadmin> enable-monitoring --modules web-container=LOW:ejb-container=HIGH
-Command enable-monitoring executed successfully
-----
-
-[[GSRFM605]][[sthref1125]]
-
-Example 3   Turning on Debugging for Monitoring
-
-This example turns on debugging.
-
-[source,oac_no_warn]
-----
-asadmin> enable-monitoring --options debug=true
-Command enable-monitoring executed successfully
-----
-
-[[sthref1126]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1127]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:disable-monitoring.html#disable-monitoring-1[`disable-monitoring`(1)],
-link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
-link:monitor.html#monitor-1[`monitor`(1)], link:set.html#set-1[`set`(1)]
-
-link:monitoring.html#monitoring-5asc[`monitoring`(5ASC)]
-
-"link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/enable-secure-admin-internal-user.adoc b/docs/reference-manual/src/main/jbake/content/enable-secure-admin-internal-user.adoc
deleted file mode 100644
index 59689b0..0000000
--- a/docs/reference-manual/src/main/jbake/content/enable-secure-admin-internal-user.adoc
+++ /dev/null
@@ -1,139 +0,0 @@
-type=page
-status=published
-title=enable-secure-admin-internal-user
-next=enable-secure-admin-principal.html
-prev=enable-secure-admin.html
-~~~~~~
-enable-secure-admin-internal-user
-=================================
-
-[[enable-secure-admin-internal-user-1]][[GSRFM00130]][[enable-secure-admin-internal-user]]
-
-enable-secure-admin-internal-user
----------------------------------
-
-Instructs the \{product---name} DAS and instances to use the specified
-admin user and the password associated with the password alias to
-authenticate with each other and to authorize admin operations.
-
-[[sthref1135]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] enable-secure-admin-internal-user [--help] 
-[--passwordalias pwdaliasname]
-admin-username
-----
-
-[[sthref1136]]
-
-Description
-
-The `enable-secure-admin-internal-user` subcommand instructs all servers
-in the domain to authenticate to each other, and to authorize admin
-operations submitted to each other, using an existing admin username and
-password rather than SSL certificates. This generally means that you
-must:
-
-1.  Create a valid admin user. +
-[source,oac_no_warn]
-----
-asadmin> create-file-user --authrealmname admin-realm --groups 
-asadmin newAdminUsername
-----
-2.  Create a password alias for the just-created password. +
-[source,oac_no_warn]
-----
-asadmin> create-password-alias passwordAliasName
-----
-3.  Use that user name and password for inter-process authentication and
-admin authorization. +
-[source,oac_no_warn]
-----
-asadmin> enable-secure-admin-internal-user 
---passwordalias passwordAliasName
-newAdminUsername
-----
-
-If \{product---name} finds at least one secure admin internal user, then
-if secure admin is enabled \{product---name} processes will not use SSL
-authentication and authorization with each other and will instead use
-username password pairs.
-
-If secure admin is enabled, all \{product---name} processes continue to
-use SSL encryption to secure the content of the admin messages,
-regardless of how they authenticate to each other.
-
-Most users who use this subcommand will need to set up only one secure
-admin internal user. As a general practice, you should not use the same
-user name and password pair for internal admin communication and for
-admin user login.
-
-If you set up more than one secure admin internal user, you should not
-make any assumptions about which user name and password pair
-\{product---name} will choose to use for any given admin request.
-
-[[sthref1137]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--passwordalias`::
-  The password alias for the user that \{product---name} should use for
-  internally authenticating and authorizing the DAS to instances and the
-  instances to the DAS.
-
-[[sthref1138]]
-
-Operands
-
-admin-username::
-  The admin user name that \{product---name} should use for internally
-  authenticating and authorizing the DAS to instances and the instances
-  to the DAS.
-
-[[sthref1139]]
-
-Examples
-
-[[GSRFM607]][[sthref1140]]
-
-Example 1   Specifying a user name and password for secure admin
-
-The following example allows secure admin to use a user name and
-password alias for authentication and authorization between the DAS and
-instances, instead of certificates.
-
-[source,oac_no_warn]
-----
-asadmin> enable-secure-admin-internal-user 
---passwordalias passwordAliasName
-newAdminUsername
-----
-
-[[sthref1141]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1142]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:disable-secure-admin-internal-user.html#disable-secure-admin-internal-user-1[`disable-secure-admin-internal-user`(1)],
-link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/enable-secure-admin-principal.adoc b/docs/reference-manual/src/main/jbake/content/enable-secure-admin-principal.adoc
deleted file mode 100644
index 9c37640..0000000
--- a/docs/reference-manual/src/main/jbake/content/enable-secure-admin-principal.adoc
+++ /dev/null
@@ -1,120 +0,0 @@
-type=page
-status=published
-title=enable-secure-admin-principal
-next=export.html
-prev=enable-secure-admin-internal-user.html
-~~~~~~
-enable-secure-admin-principal
-=============================
-
-[[enable-secure-admin-principal-1]][[GSRFM00131]][[enable-secure-admin-principal]]
-
-enable-secure-admin-principal
------------------------------
-
-Instructs \{product---name}, when secure admin is enabled, to accept
-admin requests from clients identified by the specified SSL certificate.
-
-[[sthref1143]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] enable-secure-admin-principal [--help] 
---alias aliasname | DN 
-----
-
-[[sthref1144]]
-
-Description
-
-The `enable-secure-admin-principal` subcommand instructs
-\{product---name} to accept admin requests when accompanied by an SSL
-certificate with the specified distinguished name (DN). If you use the
-"`--alias` aliasname" form, then \{product---name} looks in its
-truststore for a certificate with the specified alias and uses the DN
-associated with that certificate. Otherwise, \{product---name} records
-the value you specify as the DN.
-
-You must specify either the `--alias` option, or the DN.
-
-You can run `enable-secure-admin-principal` multiple times so that
-\{product---name} accepts admin requests from a client sending a
-certificate with any of the DNs you specify.
-
-When you run `enable-secure-admin`, \{product---name} automatically
-records the DNs for the admin alias and the instance alias, whether you
-specify those values or use the defaults. You do not need to run
-`enable-secure-admin-principal` yourself for those certificates. Other
-than these certificates, you must run `enable-secure-admin-principal`
-for any other DN that \{product---name} should authorize to send admin
-requests. This includes DNs corresponding to trusted certificates (those
-with a certificate chain to a trusted authority.)
-
-[[sthref1145]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--alias`::
-  The alias name of the certificate in the trust store.
-  \{product---name} looks up certificate in the trust store using that
-  alias and, if found, stores the corresponding DN as being valid for
-  secure administration. Because alias-name must be an alias associated
-  with a certificate currently in the trust store, you may find it most
-  useful for self-signed certificates.
-
-[[sthref1146]]
-
-Operands
-
-DN::
-  The distinguished name of the certificate, specified as a
-  comma-separated list in quotes. For example,
-  `"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`.
-
-[[sthref1147]]
-
-Examples
-
-[[GSRFM608]][[sthref1148]]
-
-Example 1   Trusting a DN for secure administration
-
-The following example shows how to specify a DN for authorizing access
-in secure administration.
-
-[source,oac_no_warn]
-----
-asadmin> enable-secure-admin-principal
-"CN=system.amer.oracle.com,OU=GlassFish,
-O=Oracle Corporation,L=Santa Clara,ST=California,C=US"
-
-Command enable-secure-admin-principal executed successfully.
-----
-
-[[sthref1149]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1150]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:disable-secure-admin-principal.html#disable-secure-admin-principal-1[`disable-secure-admin-principal`(1)],
-link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/enable-secure-admin.adoc b/docs/reference-manual/src/main/jbake/content/enable-secure-admin.adoc
deleted file mode 100644
index af5d0fd..0000000
--- a/docs/reference-manual/src/main/jbake/content/enable-secure-admin.adoc
+++ /dev/null
@@ -1,125 +0,0 @@
-type=page
-status=published
-title=enable-secure-admin
-next=enable-secure-admin-internal-user.html
-prev=enable-monitoring.html
-~~~~~~
-enable-secure-admin
-===================
-
-[[enable-secure-admin-1]][[GSRFM00129]][[enable-secure-admin]]
-
-enable-secure-admin
--------------------
-
-enables secure admin (if it is not already enabled), optionally changing
-the alias used for DAS-to-instance admin messages or the alias used for
-instance-to-DAS admin messages.
-
-[[sthref1128]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] enable-secure-admin [--help] 
-[--adminalias=alias] 
-[--instancealias=alias]
-----
-
-[[sthref1129]]
-
-Description
-
-The `enable-secure-admin` subcommand causes the DAS and the instances in
-the domain to use SSL certificates for encrypting the messages they send
-to each other. This subcommand also allows the DAS to accept
-administration messages from remote admin clients such as the asadmin
-utility and IDEs.
-
-
-[NOTE]
-=======================================================================
-
-You must restart any running servers in the domain after you enable or
-disable secure admin. It is simpler to enable or disable secure admin
-with only the DAS running, then restart the DAS, and then start any
-other instances.
-
-=======================================================================
-
-
-By default, when secure admin is enabled the DAS and the instances use
-these SSL certificates to authenticate to each other as security
-"principals" and to authorize admin access. The `--asadminalias` value
-indicates to the DAS which SSL certificate it should use to identify
-itself to the instances. The `--instancealias` value determines for
-instances which SSL certificate they should use to identify themselves
-to the DAS.
-
-The `enable-secure-admin` subcommand fails if any administrative user in
-the domain has a blank password.
-
-Alternatively, you can use the `enable-secure-admin-internal-user`
-subcommand to cause the servers to identify themselves using a secure
-admin user name and password.
-
-[[sthref1130]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--adminalias`::
-  The alias that refers to the SSL/TLS certificate on the DAS. This
-  alias is used by the DAS to identify itself to instances. The default
-  value is `s1as`.
-`--instancealias`::
-  The alias that refers to the SSL/TLS certificate on the instances.
-  This alias is used by the instances to identify themselves to the DAS.
-  The default value is `glassfish-instance`.
-
-[[sthref1131]]
-
-Examples
-
-[[GSRFM606]][[sthref1132]]
-
-Example 1   Enabling `secure admin` for a domain
-
-The following example shows how to enable `secure admin` for a domain
-using an admin alias `adtest` and an instance alias `intest`
-
-[source,oac_no_warn]
-----
-asadmin> enable-secure-admin --adminalias adtest --instancealias intest
-server-config
-default-config
-
-Command enable-secure-admin executed successfully.
-----
-
-[[sthref1133]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1134]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:disable-secure-admin.html#disable-secure-admin-1[`disable-secure-admin`(1)],
-link:enable-secure-admin-principal.html#enable-secure-admin-principal-1[`enable-secure-admin-principal`(1)],
-link:enable-secure-admin-internal-user.html#enable-secure-admin-internal-user-1[`enable-secure-admin-internal-user`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/enable.adoc b/docs/reference-manual/src/main/jbake/content/enable.adoc
deleted file mode 100644
index 96d50a6..0000000
--- a/docs/reference-manual/src/main/jbake/content/enable.adoc
+++ /dev/null
@@ -1,115 +0,0 @@
-type=page
-status=published
-title=enable
-next=enable-http-lb-application.html
-prev=disable-secure-admin-principal.html
-~~~~~~
-enable
-======
-
-[[enable-1]][[GSRFM00124]][[enable]]
-
-enable
-------
-
-enables the component
-
-[[sthref1095]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] enable [--help] 
-[--target target_name] component_name
-----
-
-[[sthref1096]]
-
-Description
-
-The `enable` subcommand enables the specified deployed component. If the
-component is already enabled, then it is re-enabled. If it has not been
-deployed, then an error message is returned.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1097]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are enabling the
-  component. Valid values are: +
-  `server`;;
-    Enables the default server instance `server` and is the default
-    value.
-  domain_name;;
-    Enables the named domain.
-  cluster_name;;
-    Enables every server instance in the cluster.
-  instance_name;;
-    Enables a particular clustered or stand-alone server instance.
-
-[[sthref1098]]
-
-Operands
-
-component_name::
-  name of the component to be enabled. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. For more information about module and application
-  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-  GlassFish Server Open Source Edition Application Deployment Guide. +
-  At most one version of a module or application can be enabled on a
-  server instance. All other versions are disabled. Enabling one version
-  automatically disables all others.
-
-[[sthref1099]]
-
-Examples
-
-[[GSRFM599]][[sthref1100]]
-
-Example 1   Enabling a Component
-
-This example enables the disabled component, `sampleApp`.
-
-[source,oac_no_warn]
-----
-asadmin> enable sampleApp
-Command enable executed successfully
-----
-
-[[sthref1101]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1102]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:deploy.html#deploy-1[`deploy`(1)],
-link:disable.html#disable-1[`disable`(1)],
-link:undeploy.html#undeploy-1[`undeploy`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/export-http-lb-config.adoc b/docs/reference-manual/src/main/jbake/content/export-http-lb-config.adoc
deleted file mode 100644
index c246932..0000000
--- a/docs/reference-manual/src/main/jbake/content/export-http-lb-config.adoc
+++ /dev/null
@@ -1,157 +0,0 @@
-type=page
-status=published
-title=export-http-lb-config
-next=export-sync-bundle.html
-prev=export.html
-~~~~~~
-export-http-lb-config
-=====================
-
-[[export-http-lb-config-1]][[GSRFM00133]][[export-http-lb-config]]
-
-export-http-lb-config
----------------------
-
-exports the load balancer configuration or load balancer to a file
-
-[[sthref1161]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] export-http-lb-config [--help] 
---config config_name | --lbname load_balancer_name 
-[--target target] [--retrievefile=false] [file_name]
-----
-
-[[sthref1162]]
-
-Description
-
-The `export-http-lb-config` subcommand exports a load balancer
-configuration or load balancer into a file that the load balancer
-plug-in can use. The default file name is `loadbalancer.xml`, but you
-can specify a different name. Once exported, you manually copy the
-exported file to the load balancer plug-in location before configuration
-changes are applied. The `--target` option makes it possible to generate
-a `loadbalancer.xml` for clusters or standalone instances without having
-to manually create `lb-config` or `load-balancer` elements in the
-target's `domain.xml`.
-
-To apply changes to the load balancer without manually copying the
-configuration file, configure the load balancer to automatically apply
-changes with `create-http-lb`. If you use the `create-http-lb`
-subcommand, you do not need to use `export-http-lb-config`.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref1163]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--config`::
-  Specifies which load balancer configuration to export. +
-  Specify either a load balancer configuration or a load balancer.
-  Specifying both results in an error.
-`--lbname`::
-  Specifies the load balancer to export. +
-  Specify either a load balancer configuration or a load balancer.
-  Specifying both results in an error.
-`--retrievefile`::
-  If set to `true`, retrieves the `loadbalancer.xml` file from the
-  remote machine. The default is `false`.
-`--target`::
-  Specifies the target to which the load balancer configuration will be
-  exported. If a target is not specified, the load balancer
-  configuration is exported to the location specified with file_name.
-
-[[sthref1164]]
-
-Operands
-
-file_name::
-  Specifies the file name and location of the exported configuration. +
-  * If you specify a directory (relative or absolute) but not a file
-  name, the file named `loadbalancer.xml.`load_balancer_config_name is
-  created in the specified directory. On Microsoft Windows systems the
-  path must be in quotes.
-  * If you specify a file name in a relative or absolute path, the file
-  is created with the name you specify in the directory you specify.
-  * If you specify a file name but do not specify a directory, the file
-  is created with that name in the current working directory.
-  * If you do not specify this operand, the default value is a file
-  named `loadbalancer.xml.`load_balancer_config_name created in the
-  domain-dir`/generated` directory.
-target::
-  Specifies the target to which the configuration will be exported. +
-  Valid values are: +
-  * cluster_name- Specifies a cluster and its server instances.
-  * stand-alone_instance_name- Specifies a specific server instance.
-
-[[sthref1165]]
-
-Examples
-
-[[GSRFM612]][[sthref1166]]
-
-Example 1   Exporting a Load Balancer Configuration on UNIX
-
-The following example exports a load balancing configuration named
-`mycluster-http-lb-config` to a file named `loadbalancer.xml` in the
-`/Sun/AppServer` directory .
-
-[source,oac_no_warn]
-----
-asadmin> export-http-lb-config --config mycluster-http-lb-config /Sun/AppServer/loadbalancer.xml
-Command export-http-lb-config executed successfully.
-----
-
-[[GSRFM613]][[sthref1167]]
-
-Example 2   Exporting a Load Balancer Configuration on Windows
-
-The following example exports a load balancing configuration named
-`mycluster-http-lb-config` to a file named `loadbalancer.xml` in the
-`C:\Sun\AppServer` directory on a Microsoft Windows system.
-
-[source,oac_no_warn]
-----
-asadmin> export-http-lb-config --config mycluster-http-lb-config "C:\Sun\AppServer\loadbalancer.xml"
-Command export-http-lb-config executed successfully.
-----
-
-[[sthref1168]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1169]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
-link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)],
-link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/export-sync-bundle.adoc b/docs/reference-manual/src/main/jbake/content/export-sync-bundle.adoc
deleted file mode 100644
index 5d98e31..0000000
--- a/docs/reference-manual/src/main/jbake/content/export-sync-bundle.adoc
+++ /dev/null
@@ -1,161 +0,0 @@
-type=page
-status=published
-title=export-sync-bundle
-next=flush-connection-pool.html
-prev=export-http-lb-config.html
-~~~~~~
-export-sync-bundle
-==================
-
-[[export-sync-bundle-1]][[GSRFM00134]][[export-sync-bundle]]
-
-export-sync-bundle
-------------------
-
-exports the configuration data of a cluster or standalone instance to an
-archive file
-
-[[sthref1170]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] export-sync-bundle [--help]
---target target
-[--retrieve={false|true}]
-[file-name]
-----
-
-[[sthref1171]]
-
-Description
-
-The `export-sync-bundle` subcommand exports the configuration data of a
-cluster or standalone instance to an archive file. The archive file can
-then be used with the
-link:import-sync-bundle.html#import-sync-bundle-1[`import-sync-bundle`(1)]
-subcommand to restore the configuration data.
-
-Importing an instance's configuration data transfers the data to a host
-for an instance without the need for the instance to be able to
-communicate with the domain administration server (DAS). Importing an
-instance's configuration data is typically required for the following
-reasons:
-
-* To reestablish the instance after an upgrade
-* To synchronize the instance manually with the DAS when the instance
-cannot contact the DAS
-
-The subcommand creates an archive that contains the following files and
-directories in the current domain directory:
-
-* All the files in the following directories:
-
-** `config`
-
-** `docroot`
-* The entire contents of the following directories and their
-subdirectories:
-
-** `applications`
-
-** `config/`target, where target is the cluster or standalone instance
-for which configuration data is being exported
-
-** `generated`
-
-** `lib`
-
-This subcommand is supported in remote mode only.
-
-[[sthref1172]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  The cluster or standalone instance for which to export configuration
-  data. The `--target` option is required. +
-  This option must not specify a clustered \{product---name} instance.
-  If this option specifies a clustered instance, an error occurs. To
-  export configuration data for a clustered instance, specify the name
-  of the cluster of which the instance is a member, not the instance.
-`--retrieve`::
-  Specifies whether the archive file is downloaded from the DAS host to
-  the host where the subcommand is run. +
-  Possible values are as follows: +
-  `true`;;
-    The archive file is downloaded to the host where the subcommand is
-    run.
-  `false`;;
-    The archive file is not downloaded and remains on the DAS host
-    (default).
-
-[[sthref1173]]
-
-Operands
-
-file-name::
-  The file name and location of the archive file to which to export the
-  data. +
-  The default depends on the setting of the `--retrieve` option: +
-  * If `--retrieve` is `false`, the default is
-  `sync/`target`-sync-bundle.zip` in the current domain directory.
-  * If `--retrieve` is `true`, the default is target`-sync-bundle.zip`
-  in the current working directory. +
-  target is the cluster or standalone instance that the `--target`
-  option specifies. +
-  If a relative path is specified, the directory to which the path is
-  appended depends on the setting of the `--retrieve` option: +
-  * If `--retrieve` is `false`, the path is appended to the `config`
-  subdirectory of the current domain directory.
-  * If `--retrieve` is `true`, the path is appended to the current
-  working directory. +
-  If an existing directory is specified without a filename, the file
-  name of the archive file is target`-sync-bundle.zip`, where target is
-  the cluster or standalone instance that the `--target` option
-  specifies.
-
-[[sthref1174]]
-
-Examples
-
-[[GSRFM614]][[sthref1175]]
-
-Example 1   Exporting the Configuration Data of a Cluster
-
-This example exports the configuration data of the cluster `pmdcluster`.
-
-[source,oac_no_warn]
-----
-asadmin> export-sync-bundle --target=pmdcluster
-Sync bundle: /export/glassfish3/glassfish/domains/domain1/sync/
-pmdcluster-sync-bundle.zip
-
-Command export-sync-bundle executed successfully.
-----
-
-[[sthref1176]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1177]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:import-sync-bundle.html#import-sync-bundle-1[`import-sync-bundle`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/export.adoc b/docs/reference-manual/src/main/jbake/content/export.adoc
deleted file mode 100644
index ba8c258..0000000
--- a/docs/reference-manual/src/main/jbake/content/export.adoc
+++ /dev/null
@@ -1,132 +0,0 @@
-type=page
-status=published
-title=export
-next=export-http-lb-config.html
-prev=enable-secure-admin-principal.html
-~~~~~~
-export
-======
-
-[[export-1]][[GSRFM00132]][[export]]
-
-export
-------
-
-marks a variable name for automatic export to the environment of
-subsequent commands in multimode
-
-[[sthref1151]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] export [--help] 
-[variable-name=value [variable-name=value]*]
-----
-
-[[sthref1152]]
-
-Description
-
-In multimode, the `export` subcommand marks an environment variable for
-automatic export to the environment of subsequent commands. All
-subsequent commands use the variable name value as specified unless you
-exit multimode, or use the `unset` subcommand to unset the variable. If
-only the variable name is specified, the current value of that variable
-name is displayed.
-
-If the `export` subcommand is used without any arguments, a list of all
-the exported variables and their values is displayed. Exported shell
-environment variables set prior to invoking the `asadmin` utility are
-imported automatically and set as exported variables within `asadmin`.
-Environment variables that are not exported cannot be read by the
-`asadmin` utility.
-
-This subcommand is supported in local mode only.
-
-[[sthref1153]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1154]]
-
-Operands
-
-variable-name=value::
-  Variable name and value for automatic export to the environment to be
-  used by subsequent commands.
-
-[[sthref1155]]
-
-Examples
-
-[[GSRFM609]][[sthref1156]]
-
-Example 1   Listing the Environment Variables That Are Set
-
-This example lists the environment variables that have been set.
-
-[source,oac_no_warn]
-----
-asadmin> export
-AS_ADMIN_USER = admin
-AS_ADMIN_HOST = bluestar
-AS_ADMIN_PREFIX = server1.jms-service
-AS_ADMIN_PORT = 8000
-Command export executed successfully
-----
-
-[[GSRFM610]][[sthref1157]]
-
-Example 2   Setting an Environment Variable
-
-This example sets the `AS_ADMIN_HOST` environment variable to
-`bluestar`.
-
-[source,oac_no_warn]
-----
-asadmin> export AS_ADMIN_HOST=bluestar
-Command export executed successfully
-----
-
-[[GSRFM611]][[sthref1158]]
-
-Example 3   Setting Multiple Environment Variables
-
-This example sets a number of environment variables for the multimode
-environment.
-
-[source,oac_no_warn]
-----
-asadmin> export AS_ADMIN_HOST=bluestar AS_ADMIN_PORT=8000 
-AS_ADMIN_USER=admin AS_ADMIN_PREFIX=server1.jms-service
-Command export executed successfully
-----
-
-[[sthref1159]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1160]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:multimode.html#multimode-1[`multimode`(1)],
-link:unset.html#unset-1[`unset`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/flush-connection-pool.adoc b/docs/reference-manual/src/main/jbake/content/flush-connection-pool.adoc
deleted file mode 100644
index f92e1c2..0000000
--- a/docs/reference-manual/src/main/jbake/content/flush-connection-pool.adoc
+++ /dev/null
@@ -1,113 +0,0 @@
-type=page
-status=published
-title=flush-connection-pool
-next=flush-jmsdest.html
-prev=export-sync-bundle.html
-~~~~~~
-flush-connection-pool
-=====================
-
-[[flush-connection-pool-1]][[GSRFM00135]][[flush-connection-pool]]
-
-flush-connection-pool
----------------------
-
-reintializes all connections established in the specified connection
-pool
-
-[[sthref1178]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] flush-connection-pool [--help] 
-[--appname application [--modulename module]
-pool_name 
-----
-
-[[sthref1179]]
-
-Description
-
-The `flush-connection-pool` subcommand resets a JDBC connection pool or
-a connector connection pool to its initial state. Any existing live
-connections are destroyed, which means that the transactions associated
-with these connections are lost. The subcommand then recreates the
-initial connections for the pool, and restores the pool to its steady
-pool size.
-
-This subcommand is supported in remote mode only.
-
-Application Scoped Resources
-
-The `flush-connection-pool` subcommand can target resources that are
-scoped to a specific application or module, as defined in the
-`glassfish-resources.xml` for the GlassFish domain.
-
-* To reference the `jndi-name` for an application scoped resource,
-perform the lookup using the `java:app` prefix.
-* To reference the `jndi-name` for a module scoped resource, perform the
-lookup using the `java:module` prefix.
-
-The `jndi-name` for application-scoped-resources or
-module-scoped-resources are specified using the format
-`java:app/`jdbc/myDataSource or
-`java:module/`jdbc/myModuleLevelDataSource. This naming scope is defined
-in the Java EE Specification
-(`https://javaee.github.io/javaee-spec/javadocs/`).
-
-[[sthref1180]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--appname`::
-  Name of the application in which the application scoped resource is
-  defined.
-`--modulename`::
-  Name of the module in which the module scoped resource is defined.
-
-[[sthref1181]]
-
-Operands
-
-pool_name::
-  Name of the connection pool to be reinitialized.
-
-[[sthref1182]]
-
-Flushing a Connection Pool
-
-This example reinitializes the JDBC connection pool named `__TimerPool`.
-
-[source,oac_no_warn]
-----
-asadmin> flush-connection-pool __TimerPool
-Command flush-connection-pool executed successfully.
-----
-
-[[sthref1183]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1184]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
-link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/flush-jmsdest.adoc b/docs/reference-manual/src/main/jbake/content/flush-jmsdest.adoc
deleted file mode 100644
index 4154090..0000000
--- a/docs/reference-manual/src/main/jbake/content/flush-jmsdest.adoc
+++ /dev/null
@@ -1,111 +0,0 @@
-type=page
-status=published
-title=flush-jmsdest
-next=freeze-transaction-service.html
-prev=flush-connection-pool.html
-~~~~~~
-flush-jmsdest
-=============
-
-[[flush-jmsdest-1]][[GSRFM00136]][[flush-jmsdest]]
-
-flush-jmsdest
--------------
-
-purges messages in a JMS destination.
-
-[[sthref1185]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] flush-jmsdest [--help]
---desttype {topic|queue}
-[--target target]
-destname
-----
-
-[[sthref1186]]
-
-Description
-
-The `flush-jmsdest` subcommand purges the messages from a physical
-destination in the server's Java Message Service (JMS) configuration.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref1187]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--desttype`::
-  This option indicates the type of physical destination from which you
-  want to purge messages. The supported destination types are `topic`
-  and `queue`.
-`--target`::
-  Purges messages from the physical destination only for the specified
-  target. Valid values are as follows: +
-  `server`;;
-    Purges messages from the physical destination for the default server
-    instance. This is the default value.
-  configuration-name;;
-    Purges messages from the physical destination in the specified
-    configuration.
-  cluster-name;;
-    Purges messages from the physical destination for every server
-    instance in the specified cluster.
-  instance-name;;
-    Purges messages from the physical destination for the specified
-    server instance.
-
-[[sthref1188]]
-
-Operands
-
-dest_name::
-  The unique identifier of the JMS destination to be purged.
-
-[[sthref1189]]
-
-Examples
-
-[[GSRFM615]][[sthref1190]]
-
-Example 1   Purging messages from a physical destination
-
-The following subcommand purges messages from the queue named
-`PhysicalQueue`.
-
-[source,oac_no_warn]
-----
-asadmin> flush-jmsdest --desttype queue PhysicalQueue
-Command flush-jmsdest executed successfully.
-----
-
-[[sthref1191]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1192]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jmsdest.html#create-jmsdest-1[`create-jmsdest`(1)],
-link:list-jmsdest.html#list-jmsdest-1[`list-jmsdest`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/freeze-transaction-service.adoc b/docs/reference-manual/src/main/jbake/content/freeze-transaction-service.adoc
deleted file mode 100644
index 1ad557b..0000000
--- a/docs/reference-manual/src/main/jbake/content/freeze-transaction-service.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=freeze-transaction-service
-next=generate-jvm-report.html
-prev=flush-jmsdest.html
-~~~~~~
-freeze-transaction-service
-==========================
-
-[[freeze-transaction-service-1]][[GSRFM00137]][[freeze-transaction-service]]
-
-freeze-transaction-service
---------------------------
-
-freezes the transaction subsystem
-
-[[sthref1193]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] freeze-transaction-service [--help] 
-[--target target]
-----
-
-[[sthref1194]]
-
-Description
-
-The `freeze-transaction-service` subcommand freezes the transaction
-subsystem, preventing the transaction manager from starting, completing,
-or changing the state of all in-flight transactions. Invoke this command
-before rolling back any in-flight transactions. Invoking this subcommand
-on an already frozen transaction subsystem has no effect. Restarting the
-server unfreezes the transaction subsystem. This subcommand is supported
-in remote mode only.
-
-[[sthref1195]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are freezing the
-  transaction service. Valid values are: +
-  `server`;;
-    Freezes the transaction service for the default server instance
-    `server` and is the default value.
-  configuration_name;;
-    Freezes the transaction service for all server instances that use
-    the named configuration.
-  cluster_name;;
-    Freezes the transaction service for every server instance in the
-    cluster.
-  instance_name;;
-    Freezes the transaction service for a particular server instance.
-
-[[sthref1196]]
-
-Examples
-
-[[GSRFM616]][[sthref1197]]
-
-Example 1   Using freeze-transaction-service
-
-[source,oac_no_warn]
-----
-% asadmin freeze-transaction-service
-Command freeze-transaction-service executed successfully
-----
-
-[[sthref1198]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1199]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:recover-transactions.html#recover-transactions-1[`recover-transactions`(1)],
-link:rollback-transaction.html#rollback-transaction-1[`rollback-transaction`(1)],
-link:unfreeze-transaction-service.html#unfreeze-transaction-service-1[`unfreeze-transaction-service`(1)]
-
-"link:../administration-guide/transactions.html#GSADG00022[Administering Transactions]" in GlassFish Server Open
-Source Edition Administration Guide
-
-"http://docs.oracle.com/javaee/7/tutorial/doc/transactions.html[Transactions]"
-in The Java EE 8 Tutorial
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/generate-jvm-report.adoc b/docs/reference-manual/src/main/jbake/content/generate-jvm-report.adoc
deleted file mode 100644
index b09cf90..0000000
--- a/docs/reference-manual/src/main/jbake/content/generate-jvm-report.adoc
+++ /dev/null
@@ -1,186 +0,0 @@
-type=page
-status=published
-title=generate-jvm-report
-next=get.html
-prev=freeze-transaction-service.html
-~~~~~~
-generate-jvm-report
-===================
-
-The script content on this page is for navigation purposes only and does
-not alter the content in any way.
-
-[[generate-jvm-report-1]][[GSRFM00138]][[generate-jvm-report]]
-
-generate-jvm-report
--------------------
-
-shows the JVM machine statistics for a given target instance
-
-[[sthref1200]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-generate-jvm-report [--help] [--type=jvm-statistic-type] [--target target]
-----
-
-[[sthref1201]]
-
-Description
-
-The `generate-jvm-report` subcommand creates a report that shows the
-threads (dump of stack trace), classes, memory, or loggers for a given
-target instance, including the domain administration server (DAS). If a
-type is not specified, a summary report is generated. This subcommand
-only provides statistics for the \{product---name} instance processes.
-This subcommand provides an alternative to sending Ctrl+Break or
-`kill -3` signals to \{product---name} processes to obtain a stack trace
-for processes that are hanging.
-
-The information in the report is obtained from managed beans (MBeans)
-and MXBeans that are provided in the Java Platform, Standard Edition
-(Java SE ) or JDK software with which \{product---name} is being used.
-
-If \{product---name} is running in the Java Runtime Environment (JRE)
-software from JDK release 6 or Java SE 6, additional information is
-provided. For example:
-
-* System load on the available processors
-* Object monitors that are currently held or requested by a thread
-* Lock objects that a thread is holding, for example, `ReentrantLock`
-objects and `ReentrantReadWriteLock` objects
-
-If the JRE software cannot provide this information, the report contains
-the text `NOT_AVAILABLE`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1202]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you are showing JVM machine statistics. +
-  Valid values are as follows: +
-  `server`;;
-    Specifies the DAS (default).
-  instance-name;;
-    Specifies a \{product---name} instance.
-  cluster-name;;
-    Specifies a cluster.
-  configuration-name;;
-    Specifies a named configuration.
-`--type`::
-  The type of report that is to be generated. Default is `summary`. +
-  `summary`;;
-    Displays summary information about the threads, classes, and memory
-    (default).
-  `memory`;;
-    Provides information about heap and non-heap memory consumption,
-    memory pools, and garbage collection statistics for a given target
-    instance.
-  `class`;;
-    Provides information about the class loader for a given target
-    instance.
-  `thread`;;
-    Provides information about threads running and the thread dump
-    (stack trace) for a given target instance.
-  `log`;;
-    Provides information about the loggers that are registered in the
-    Virtual Machine for the Java platform (Java Virtual Machine or JVM
-    machine).link:#sthref1203[^Foot 1 ^]
-
-[[sthref1204]]
-
-Examples
-
-[[GSRFM617]][[sthref1205]]
-
-Example 1   Obtaining Summary Information for the JVM Machine
-
-This example shows a partial listing of a report that is generated if no
-type is specified. This same report is generated if the `summary` type
-is specified.
-
-[source,oac_no_warn]
-----
-asadmin> generate-jvm-report
-Operating System Information:
-Name of the Operating System: SunOS
-Binary Architecture name of the Operating System: sparc, Version: 5.10
-Number of processors available on the Operating System: 32
-System load on the available processors for the last minute: 7.921875. 
-(Sum of running and queued runnable entities per minute)
-General Java Runtime Environment Information for the VM: 64097@sr1-usca-22
-...
-sun.desktop = gnome
-sun.io.unicode.encoding = UnicodeBig
-sun.java.launcher = SUN_STANDARD
-sun.jnu.encoding = ISO646-US
-sun.management.compiler = HotSpot Client Compiler
-sun.os.patch.level = unknown
-user.dir = /home/thisuser/GlassFish/glassfishv3/glassfish/domains/mydomain4/config
-user.home = /home/thisuser
-user.language = en
-user.name = thisuser
-user.timezone = US/Pacific
-Command generate-jvm-report executed successfully
-----
-
-[[GSRFM618]][[sthref1206]]
-
-Example 2   Obtaining Information for a Particular JVM Machine Type
-
-This example generates a report that shows information on the class
-loader.
-
-[source,oac_no_warn]
-----
-asadmin> generate-jvm-report --type=class
-Class loading and unloading in the Java Virtual Machine:
-Number of classes currently loaded in the Java Virtual Machine: 3,781
-Number of classes loaded in the Java Virtual Machine since the startup: 3,868
-Number of classes unloaded from the Java Virtual Machine: 87
-Just-in-time (JIT) compilation information in the Java Virtual Machine:
-Java Virtual Machine compilation monitoring allowed: true
-Name of the Just-in-time (JIT) compiler: HotSpot Client Compiler
-Total time spent in compilation: 0 Hours 0 Minutes 4 Seconds
-Command generate-jvm-report executed successfully.
-----
-
-[[sthref1207]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1208]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
-link:delete-jvm-options.html#delete-jvm-options-1[`delete-jvm-options`(1)],
-link:list-jvm-options.html#list-jvm-options-1[`list-jvm-options`(1)]
-
-'''''
-
-
-Footnote Legend
-
-Footnote 1: The terms "Java Virtual Machine" and "JVM" mean a Virtual
-Machine for the Java platform. +
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/get-active-module-config.adoc b/docs/reference-manual/src/main/jbake/content/get-active-module-config.adoc
deleted file mode 100644
index 8c90977..0000000
--- a/docs/reference-manual/src/main/jbake/content/get-active-module-config.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=get-active-module-config
-next=get-client-stubs.html
-prev=get.html
-~~~~~~
-get-active-module-config
-========================
-
-[[get-active-module-config-1]][[GSRFM859]][[get-active-module-config]]
-
-get-active-module-config
-------------------------
-
-displays the current active configuration of a service or instance
-
-[[sthref1219]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] get-active-module-config [--help]
-[--target target]
-[--all={false|true}]
-[service_name]
-----
-
-[[sthref1220]]
-
-Description
-
-The `get-active-module-config` subcommand displays the current active
-configuration of a service or instance.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1221]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you want to view the current active
-  configuration of a specific service or an entire instance. +
-  Possible values are as follows: +
-  `server`;;
-    Displays the current active configuration for the default server
-    instance. This is the default value.
-  `domain`;;
-    Displays the current active configuration for the default domain.
-  cluster-name;;
-    Displays the current active configuration for every server instance
-    in the specified cluster.
-  instance-name;;
-    Displays the current active configuration for the specified
-    instance.
-`--all`::
-  Displays all current active configurations. +
-  The default value is `false`.
-
-[[sthref1222]]
-
-Operands
-
-service_name::
-  The name of the module for which you want to display the current
-  active configuration.
-
-[[sthref1223]]
-
-Examples
-
-[[GSRFM860]][[sthref1224]]
-
-Example 1   Displaying the Current Active Configuration
-
-This example displays the current active configuration for the JMS
-service in `server-config` (the default configuration).
-
-[source,oac_no_warn]
-----
-asadmin> get-active-module-config jms-service
-At location: domain/configs/config[server-config]
-<jms-service default-jms-host="default_JMS_host" type="EMBEDDED"
-  <jms-host port="7676" host="localhost" name="default_JMS_host"/>
-</jms-service>
-Command get-active-module-config executed successfully.
-----
-
-[[sthref1225]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1226]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-module-config.html#create-module-config-1[`create-module-config`(1)],
-link:delete-module-config.html#delete-module-config-1[`delete-module-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/get-client-stubs.adoc b/docs/reference-manual/src/main/jbake/content/get-client-stubs.adoc
deleted file mode 100644
index 28284d9..0000000
--- a/docs/reference-manual/src/main/jbake/content/get-client-stubs.adoc
+++ /dev/null
@@ -1,110 +0,0 @@
-type=page
-status=published
-title=get-client-stubs
-next=get-health.html
-prev=get-active-module-config.html
-~~~~~~
-get-client-stubs
-================
-
-[[get-client-stubs-1]][[GSRFM00140]][[get-client-stubs]]
-
-get-client-stubs
-----------------
-
-retrieves the application JAR files needed to launch the application
-client.
-
-[[sthref1227]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] get-client-stubs [--help] 
---appname application_name
-local_directory_path
-----
-
-[[sthref1228]]
-
-Description
-
-The `get-client-stubs` subcommand copies the required JAR files for an
-`AppClient` standalone module or each `AppClient` module in an
-application from the server machine to the local directory. Each
-client's generated JAR file is retrieved, along with any required
-supporting JAR files . The client JAR file name is of the form
-app-name`Client.jar`. Before executing the `get-client-stubs`
-subcommand, you must deploy the application or module. The generated
-client JAR file is useful for running the application using the
-`appclient` utility. This subcommand is supported in remote mode only.
-
-[[sthref1229]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--appname`::
-  The name of the application or stand-alone client module. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. For more information about module and application
-  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-  GlassFish Server Open Source Edition Application Deployment Guide.
-
-[[sthref1230]]
-
-Operands
-
-local_directory_path::
-  The path to the local directory where the client stub JAR file should
-  be stored.
-
-[[sthref1231]]
-
-Examples
-
-[[GSRFM622]][[sthref1232]]
-
-Example 1   Using get-client-stubs
-
-[source,oac_no_warn]
-----
-asadmin> get-client-stubs --appname myapplication /sample/example
-Command get-client-stubs executed successfully
-----
-
-[[sthref1233]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1234]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:deploy.html#deploy-1[`deploy`(1)],
-link:redeploy.html#redeploy-1[`redeploy`(1)],
-link:undeploy.html#undeploy-1[`undeploy`(1)]
-
-link:appclient.html#appclient-1m[`appclient`(1M)],
-link:package-appclient.html#package-appclient-1m[`package-appclient`(1M)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/get-health.adoc b/docs/reference-manual/src/main/jbake/content/get-health.adoc
deleted file mode 100644
index b8dc6c2..0000000
--- a/docs/reference-manual/src/main/jbake/content/get-health.adoc
+++ /dev/null
@@ -1,92 +0,0 @@
-type=page
-status=published
-title=get-health
-next=import-sync-bundle.html
-prev=get-client-stubs.html
-~~~~~~
-get-health
-==========
-
-[[get-health-1]][[GSRFM00141]][[get-health]]
-
-get-health
-----------
-
-provides information on the cluster health
-
-[[sthref1235]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] get-health [--help] 
-cluster_name
-----
-
-[[sthref1236]]
-
-Description
-
-The `get-health` subcommand gets information about the health of the
-cluster. Note that if the group management service (GMS) is not enabled,
-the basic information about whether the server instances in this cluster
-are running or not running is not returned. For each server instance,
-one of the following states is reported: `not started`, `started`,
-`stopped`, `rejoined`, or `failed`. This subcommand is available in
-remote mode only.
-
-[[sthref1237]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1238]]
-
-Operands
-
-cluster_name::
-  The name of the cluster for which you want the health information.
-  This subcommand prompts you for the cluster name if you don't specify
-  it.
-
-[[sthref1239]]
-
-Examples
-
-[[GSRFM623]][[sthref1240]]
-
-Example 1   Checking the health of server instances in a cluster
-
-[source,oac_no_warn]
-----
-asadmin> get-health cluster1
-instance1 started since Wed Sep 29 16:32:46 EDT 2010
-instance2 started since Wed Sep 29 16:32:45 EDT 2010
-Command get-health executed successfully.
-----
-
-[[sthref1241]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1242]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/get.adoc b/docs/reference-manual/src/main/jbake/content/get.adoc
deleted file mode 100644
index 8f30a04..0000000
--- a/docs/reference-manual/src/main/jbake/content/get.adoc
+++ /dev/null
@@ -1,209 +0,0 @@
-type=page
-status=published
-title=get
-next=get-active-module-config.html
-prev=generate-jvm-report.html
-~~~~~~
-get
-===
-
-[[get-1]][[GSRFM00139]][[get]]
-
-get
----
-
-gets the values of configurable or monitorable attributes
-
-[[sthref1209]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] get [--help] 
-[--monitor={true|false}]
-[--aggregatedataonly={true|false}]
-(dotted-attribute--name)+
-----
-
-[[sthref1210]]
-
-Description
-
-The `get` subcommand uses dotted names to get the names and values of
-configurable or monitorable attributes for \{product---name} elements.
-
-You can use the link:list.html#list-1[`list`(1)] subcommand to display
-the dotted names that represent individual server components and
-subsystems. For example, a dotted name might be
-`server.applications.web-module`. Attributes from the monitoring
-hierarchy are read-only, but configuration attributes can be modified
-using the link:set.html#set-1[`set`(1)] subcommand. For more detailed
-information on dotted names, see the
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)] help page.
-
-
-[NOTE]
-=======================================================================
-
-Characters that have special meaning to the shell or command
-interpreter, such as * (asterisk), should be quoted or escaped as
-appropriate to the shell, for example, by enclosing the argument in
-quotes. In multimode, quotes are needed only for arguments that include
-spaces, quotes, or backslash.
-
-=======================================================================
-
-
-The following list shows common usage of the `get` subcommand with the *
-(asterisk):
-
-`get *` or `get *.*`::
-  Gets all values on all dotted name prefixes.
-`get domain*` or `get domain*.*`::
-  Gets all values on the dotted names that begin with `domain`.
-`get *config*.*.*`::
-  Gets all values on the dotted names that match `*config*.*`.
-`get domain.j2ee-applications.*.ejb-module.*.*`::
-  Gets all values on all EJB modules of all applications.
-`get *web-modules.*.*`::
-  Gets all values on all web modules whether in an application or
-  standalone.
-`get *.*.*.*`::
-  Gets all values on all dotted names that have four parts.
-
-[[sthref1211]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--monitor`::
-`-m`::
-  Defaults to `false`. If set to false, the configurable attribute
-  values are returned. If set to `true`, the monitorable attribute
-  values are returned.
-`--aggregatedataonly`::
-`-c`::
-  Aggregates monitoring data for all \{product---name} instances in a
-  cluster. The default value is `false`.
-
-[[sthref1212]]
-
-Operands
-
-dotted-attribute-name::
-  Identifies the attribute name in the dotted notation. At least one
-  dotted name attribute is required. The dotted notation is the syntax
-  used to access attributes of configurable entities.
-
-[[sthref1213]]
-
-Examples
-
-[[GSRFM619]][[sthref1214]]
-
-Example 1   Getting the Attributes of a Configurable Element
-
-This example gets the attributes of `listener.http-listener-1`.
-
-[source,oac_no_warn]
-----
-asadmin> get server.http-service.http-listener.http-listener-1.*
-server.http-service.http-listener.http-listener-1.acceptor-threads = 1
-server.http-service.http-listener.http-listener-1.address = 0.0.0.0
-server.http-service.http-listener.http-listener-1.blocking-enabled = false
-server.http-service.http-listener.http-listener-1.default-virtual-server = server
-server.http-service.http-listener.http-listener-1.enabled = true
-server.http-service.http-listener.http-listener-1.external-port =
-server.http-service.http-listener.http-listener-1.family = inet
-server.http-service.http-listener.http-listener-1.id = http-listener-1
-server.http-service.http-listener.http-listener-1.port = 8080
-server.http-service.http-listener.http-listener-1.redirect-port =
-server.http-service.http-listener.http-listener-1.security-enabled = false
-server.http-service.http-listener.http-listener-1.server-name =
-server.http-service.http-listener.http-listener-1.xpowered-by = true
-Command get executed successfully.
-----
-
-[[GSRFM620]][[sthref1215]]
-
-Example 2   Getting Monitorable Objects
-
-This example gets the configuration attributes for setting the
-monitoring level and shows whether they are enabled (LOW or HIGH) or
-disabled (OFF). The `jvm` component is enabled for monitoring.
-
-[source,oac_no_warn]
-----
-asadmin> get server.monitoring-service.module-monitoring-levels.*
-server.monitoring-service.module-monitoring-levels.connector-connection-pool=OFF
-server.monitoring-service.module-monitoring-levels.connector-service=OFF
-server.monitoring-service.module-monitoring-levels.d-trace=OFF
-server.monitoring-service.module-monitoring-levels.ejb-container=OFF
-server.monitoring-service.module-monitoring-levels.http-service=OFF
-server.monitoring-service.module-monitoring-levels.jdbc-connection-pool=OFF
-server.monitoring-service.module-monitoring-levels.jms-service=OFF
-server.monitoring-service.module-monitoring-levels.jvm=HIGH
-server.monitoring-service.module-monitoring-levels.orb=OFF
-server.monitoring-service.module-monitoring-levels.thread-pool=OFF
-server.monitoring-service.module-monitoring-levels.transaction-service=OFF
-server.monitoring-service.module-monitoring-levels.web-container=OFF
-Command get executed successfully.
-----
-
-[[GSRFM621]][[sthref1216]]
-
-Example 3   Getting Attributes and Values for a Monitorable Object
-
-This example gets all attributes and values of the `jvm` monitorable
-object.
-
-[source,oac_no_warn]
-----
-asadmin> get --monitor server.jvm.*
-server.jvm.HeapSize_Current = 45490176
-server.jvm.HeapSize_Description = Describes JvmHeapSize
-server.jvm.HeapSize_HighWaterMark = 45490176
-server.jvm.HeapSize_LastSampleTime = 1063217002433
-server.jvm.HeapSize_LowWaterMark = 0
-server.jvm.HeapSize_LowerBound = 0
-server.jvm.HeapSize_Name = JvmHeapSize
-server.jvm.HeapSize_StartTime = 1063238840055
-server.jvm.HeapSize_Unit = bytes
-server.jvm.HeapSize_UpperBound = 531628032
-server.jvm.UpTime_Count = 1063238840100
-server.jvm.UpTime_Description = Describes JvmUpTime
-server.jvm.UpTime_LastSampleTime = 1-63238840070
-server.jvm.UpTime_Name = JvmUpTime
-server.jvm.UpTime_StartTime = 1063217002430
-server.jvm.UpTime_Unit = milliseconds
-Command get executed successfully.
-----
-
-[[sthref1217]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1218]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list.html#list-1[`list`(1)], link:set.html#set-1[`set`(1)]
-
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
-
-link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/import-sync-bundle.adoc b/docs/reference-manual/src/main/jbake/content/import-sync-bundle.adoc
deleted file mode 100644
index 6b8b658..0000000
--- a/docs/reference-manual/src/main/jbake/content/import-sync-bundle.adoc
+++ /dev/null
@@ -1,147 +0,0 @@
-type=page
-status=published
-title=import-sync-bundle
-next=install-node.html
-prev=get-health.html
-~~~~~~
-import-sync-bundle
-==================
-
-[[import-sync-bundle-1]][[GSRFM00142]][[import-sync-bundle]]
-
-import-sync-bundle
-------------------
-
-imports the configuration data of a clustered instance or standalone
-instance from an archive file
-
-[[sthref1243]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] import-sync-bundle [--help]
---instance instance-name 
-[--nodedir node-dir] [--node node-name]
-file-name
-----
-
-[[sthref1244]]
-
-Description
-
-The `import-sync-bundle` subcommand imports the configuration data of a
-clustered instance or standalone instance from an archive file that was
-created by the
-link:export-sync-bundle.html#export-sync-bundle-1[`export-sync-bundle`(1)]
-subcommand.
-
-You must run this subcommand on the host where the instance resides. To
-contact the domain administration server (DAS), this subcommand requires
-the name of the host where the DAS is running. If a nondefault port is
-used for administration, this subcommand also requires the port number.
-You must provide this information through the `--host` option and the
-`--port` option of the link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-utility.
-
-Importing an instance's configuration data transfers the data to a host
-for an instance without the need for the instance to be able to
-communicate with the DAS. Importing an instance's configuration data is
-typically required for the following reasons:
-
-* To reestablish the instance after an upgrade
-* To synchronize the instance manually with the domain administration
-server (DAS) when the instance cannot contact the DAS
-
-The subcommand imports an instance's configuration data by performing
-the following operations:
-
-* Creating or updating the instance's files and directories
-* Attempting to register the instance with the DAS
-
-If the attempt to register the instance with the DAS fails, the
-subcommand does not fail. Instead, the subcommand displays a warning
-that the attempt failed. The warning contains the command to run to
-register the instance with the DAS.
-
-The `import-sync-bundle` subcommand does not contact the DAS to
-determine the node on which the instance resides. If the node is not
-specified as an option of the subcommand, the subcommand determines the
-node from the DAS configuration in the archive file.
-
-This subcommand is supported in local mode only.
-
-[[sthref1245]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--instance`::
-  The instance for which configuration data is being imported. The
-  instance must already exist in the DAS configuration. The archive file
-  from which the data is being imported must contain data for the
-  specified instance.
-`--nodedir`::
-  The directory that contains the instance's node directory. The
-  instance's files are stored in the instance's node directory. The
-  default is as-install`/nodes`.
-`--node`::
-  The node on which the instance resides. If this option is omitted, the
-  subcommand determines the node from the DAS configuration in the
-  archive file.
-
-[[sthref1246]]
-
-Operands
-
-file-name::
-  The name of the file, including the path, that contains the archive
-  file to import. This operand is required.
-
-[[sthref1247]]
-
-Examples
-
-[[GSRFM624]][[sthref1248]]
-
-Example 1   Importing Configuration Data for a Clustered Instance
-
-This example imports the configuration for the clustered instance
-`ymli2` on the node `sj02` from the archive file
-`/export/glassfish3/glassfish/domains/domain1/sync/ymlcluster-sync-bundle.zip`.
-
-The command is run on the host `sj02`, which is the host that the node
-`sj02` represents. The DAS is running on the host `sr04` and uses the
-default HTTP port for administration.
-
-[source,oac_no_warn]
-----
-sj02# asadmin --host sr04 import-sync-bundle --node sj02 --instance ymli2 
-/export/glassfish3/glassfish/domains/domain1/sync/ymlcluster-sync-bundle.zip
-Command import-sync-bundle executed successfully.
-----
-
-[[sthref1249]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1250]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:export-sync-bundle.html#export-sync-bundle-1[`export-sync-bundle`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/install-node-dcom.adoc b/docs/reference-manual/src/main/jbake/content/install-node-dcom.adoc
deleted file mode 100644
index 96a6897..0000000
--- a/docs/reference-manual/src/main/jbake/content/install-node-dcom.adoc
+++ /dev/null
@@ -1,221 +0,0 @@
-type=page
-status=published
-title=install-node-dcom
-next=install-node-ssh.html
-prev=install-node.html
-~~~~~~
-install-node-dcom
-=================
-
-[[install-node-dcom-1]][[GSRFM626]][[install-node-dcom]]
-
-install-node-dcom
------------------
-
-installs \{product---name} software on specified DCOM-enabled hosts
-
-[[sthref1259]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] install-node-dcom [--help]
-[--archive archive]
-[--create={false|true}] [--save[={false|true}]
-[--installdir as-install-parent] 
-[--windowsuser windows-user] [--windowsdomain windows-domain]
-[--force={false|true}]
-host-list
-----
-
-[[sthref1260]]
-
-Description
-
-The `install-node-dcom` subcommand installs \{product---name} software
-on the hosts that are specified as the operand of the subcommand. This
-subcommand requires the Distributed Component Object Model (DCOM) remote
-protocol to be configured on the host where the subcommand is run and on
-each host where the \{product---name} software is being installed. The
-DCOM protocol is available only on Windows systems.
-
-
-[NOTE]
-=======================================================================
-
-To install \{product---name} software on hosts that use secure shell
-(SSH), use the
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)]
-subcommand.
-
-=======================================================================
-
-
-If necessary, the subcommand creates a ZIP archive of the
-\{product---name} software from the installation where this subcommand
-is run. The archive does not contain the `domains` directory or the
-`nodes` directory. These directories are synchronized from the domain
-administration server (DAS) when instances on nodes that represent the
-hosts are created and started. The subcommand does not delete the
-archive after installing the \{product---name} software from the archive
-on the specified hosts.
-
-If multiple hosts are specified, the configuration of the following
-items is the same on all hosts:
-
-* Base installation directory
-* Windows user
-* Windows domain
-
-By default, the subcommand runs interactively and prompts for a password
-to authenticate the Windows user on each host where the
-\{product---name} software is being installed. To enable the subcommand
-to run noninteractively, the following conditions must be met:
-
-* The `--interactive` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility must be `false`.
-* The `--passwordfile` option of the `asadmin` utility must specify a
-password file.
-* The password file must contain the `AS_ADMIN_WINDOWSPASSWORD` entry.
-
-The subcommand does not modify the configuration of the DAS.
-
-This subcommand is supported in local mode only.
-
-[[sthref1261]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--archive`::
-  The absolute path to the archive file of the \{product---name}
-  software that is to be installed. If no archive file is specified, the
-  subcommand creates an archive from the installation of
-  \{product---name} software from which the subcommand is run. This
-  archive is created in the home directory of the user that is running
-  the command.
-`--create`::
-  Specifies whether the subcommand should create an archive file of the
-  \{product---name} software to install. +
-  `false`;;
-    No archive file is created. The subcommand installs the software
-    from the existing archive file that the `--archive` option specifies
-    (default).
-  `true`;;
-    The subcommand creates an archive file from the installation of
-    \{product---name} software from which the subcommand is run.
-`--save`::
-  Specifies whether the archive file from which the software is
-  installed is saved after installation. +
-  `false`;;
-    The archive file is not saved. The subcommand deletes the file after
-    installing the software (default).
-  `true`;;
-    The archive file is saved.
-`--installdir`::
-  The absolute path to the parent of the base installation directory
-  where the \{product---name} software is to be installed on each host,
-  for example, `C:\glassfish3`. If the directory does not exist, the
-  subcommand creates the directory. +
-  The user that is running this subcommand must have write access to the
-  specified directory. Otherwise, an error occurs. +
-  To overwrite an existing an installation of the \{product---name}
-  software, set the `--force` option to `true`. If the directory already
-  contains an installation and the `--force` option is `false`, an error
-  occurs. +
-  The default is the parent of the base installation directory of the
-  \{product---name} software on the host where this subcommand is run.
-`--windowsuser`::
-`-w`::
-  The user on the host where the \{product---name} software is to be
-  installed that is to run the process for connecting through DCOM to
-  the host. The default is the user that is running this subcommand.
-`--windowsdomain`::
-`-d`::
-  The name of the Windows domain that contains the user that the
-  `--windowsuser` option specifies. The default is the name of the host
-  on which the subcommand is run.
-`--force`::
-  Specifies whether the subcommand overwrites an existing installation
-  of the \{product---name} software in the directory that the
-  `--installdir` option specifies. Possible values are as follows: +
-  `false`;;
-    The existing installation is not overwritten (default).
-  `true`;;
-    The existing installation is overwritten.
-
-[[sthref1262]]
-
-Operands
-
-host-list::
-  A space-separated list of the names of the hosts where the
-  \{product---name} software is to be installed.
-
-[[sthref1263]]
-
-Examples
-
-[[GSRFM627]][[sthref1264]]
-
-Example 1   Installing \{product---name} Software at the Default
-Location
-
-This example installs \{product---name} software on the hosts
-`wpmdl1.example.com` and `wpmdl2.example.com` at the default location.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> install-node-dcom wpmdl1.example.com wpmdl2.example.com
-Created installation zip C:\glassfish8107276692860773166.zip
-Copying 85760199 bytes..........................................................
-....................................
-WROTE FILE TO REMOTE SYSTEM: C:/glassfish3/glassfish_install.zip and C:/glassfish3/unpack.bat
-Output from Windows Unpacker:
- 
-C:\Windows\system32>C:
- 
-C:\Windows\system32>cd "C:\glassfish3"
- 
-C:\glassfish3>jar xvf glassfish_install.zip
- inflated: bin/asadmin
- inflated: bin/asadmin.bat
- inflated: glassfish/bin/appclient
- inflated: glassfish/bin/appclient.bat
- inflated: glassfish/bin/appclient.js
- inflated: glassfish/bin/asadmin
- inflated: glassfish/bin/asadmin.bat
-...
- inflated: mq/lib/props/broker/default.properties
- inflated: mq/lib/props/broker/install.properties
- 
-Command install-node-dcom executed successfully.
-----
-
-[[sthref1265]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1266]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/install-node-ssh.adoc b/docs/reference-manual/src/main/jbake/content/install-node-ssh.adoc
deleted file mode 100644
index 53d63b5..0000000
--- a/docs/reference-manual/src/main/jbake/content/install-node-ssh.adoc
+++ /dev/null
@@ -1,228 +0,0 @@
-type=page
-status=published
-title=install-node-ssh
-next=jms-ping.html
-prev=install-node-dcom.html
-~~~~~~
-install-node-ssh
-================
-
-[[install-node-ssh-1]][[GSRFM628]][[install-node-ssh]]
-
-install-node-ssh
-----------------
-
-installs \{product---name} software on specified SSH-enabled hosts
-
-[[sthref1267]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] install-node-ssh [--help]
-[--archive archive]
-[--create={false|true}] [--save[={false|true}]
-[--installdir as-install-parent] 
-[--sshport ssh-port] [--sshuser ssh-user]
-[--sshkeyfile ssh-keyfile]
-[--force={false|true}]
-host-list
-----
-
-[[sthref1268]]
-
-Description
-
-The `install-node-ssh` subcommand installs \{product---name} software on
-the hosts that are specified as the operand of the subcommand. This
-subcommand requires secure shell (SSH) to be configured on the host
-where the subcommand is run and on each host where the \{product---name}
-software is being installed.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is equivalent to the
-link:install-node.html#install-node-1[`install-node`(1)] subcommand. To
-install \{product---name} software on hosts that use the Distributed
-Component Object Model (DCOM) remote protocol, use the
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)]
-subcommand.
-
-=======================================================================
-
-
-If necessary, the subcommand creates a ZIP archive of the
-\{product---name} software from the installation where this subcommand
-is run. The archive does not contain the `domains` directory or the
-`nodes` directory. These directories are synchronized from the domain
-administration server (DAS) when instances on nodes that represent the
-hosts are created and started. The subcommand does not delete the
-archive after installing the \{product---name} software from the archive
-on the specified hosts.
-
-If multiple hosts are specified, the configuration of the following
-items is the same on all hosts:
-
-* Base installation directory
-* SSH port
-* SSH user
-* SSH key file
-
-If the SSH key file does not exist on a host where the \{product---name}
-software is to be installed, the subcommand runs interactively and
-prompts for a password. To enable the subcommand to run
-noninteractively, the following conditions must be met:
-
-* The `--interactive` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility must be `false`.
-* The `--passwordfile` option of the `asadmin` utility must specify a
-password file.
-* The password file must contain the `AS_ADMIN_SSHPASSWORD` entry.
-
-The subcommand does not modify the configuration of the DAS.
-
-This subcommand is supported in local mode only.
-
-[[sthref1269]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--archive`::
-  The absolute path to the archive file of the \{product---name}
-  software that is to be installed. If no archive file is specified, the
-  subcommand creates an archive from the installation of
-  \{product---name} software from which the subcommand is run. This
-  archive is created in the home directory of the user that is running
-  the command.
-`--create`::
-  Specifies whether the subcommand should create an archive file of the
-  \{product---name} software to install. +
-  `false`;;
-    No archive file is created. The subcommand installs the software
-    from the existing archive file that the `--archive` option specifies
-    (default).
-  `true`;;
-    The subcommand creates an archive file from the installation of
-    \{product---name} software from which the subcommand is run.
-`--save`::
-  Specifies whether the archive file from which the software is
-  installed is saved after installation. +
-  `false`;;
-    The archive file is not saved. The subcommand deletes the file after
-    installing the software (default).
-  `true`;;
-    The archive file is saved.
-`--installdir`::
-  The absolute path to the parent of the base installation directory
-  where the \{product---name} software is to be installed on each host,
-  for example, `/export/glassfish3/`. If the directory does not exist,
-  the subcommand creates the directory. +
-  The user that is running this subcommand must have write access to the
-  specified directory. Otherwise, an error occurs. +
-  To overwrite an existing an installation of the \{product---name}
-  software, set the `--force` option to `true`. If the directory already
-  contains an installation and the `--force` option is `false`, an error
-  occurs. +
-  The default is the parent of the base installation directory of the
-  \{product---name} software on the host where this subcommand is run.
-`--sshport`::
-  The port to use for SSH connections to the host where the
-  \{product---name} software is to be installed. The default is 22.
-`--sshuser`::
-  The user on the host where the \{product---name} software is to be
-  installed that is to run the process for connecting through SSH to the
-  host. The default is the user that is running this subcommand. To
-  ensure that the DAS can read this user's SSH private key file, specify
-  the user that is running the DAS process.
-`--sshkeyfile`::
-  The absolute path to the SSH private key file for user that the
-  `--sshuser` option specifies. This file is used for authentication to
-  the `sshd` daemon on the host. +
-  The user that is running this subcommand must be able to reach the
-  path to the key file and read the key file. +
-  The default is a key file in the user's `.ssh` directory. If multiple
-  key files are found, the subcommand uses the following order of
-  preference: +
-  1.  `id_rsa`
-  2.  `id_dsa`
-  3.  `identity`
-`--force`::
-  Specifies whether the subcommand overwrites an existing installation
-  of the \{product---name} software in the directory that the
-  `--installdir` option specifies. Possible values are as follows: +
-  `false`;;
-    The existing installation is not overwritten (default).
-  `true`;;
-    The existing installation is overwritten.
-
-[[sthref1270]]
-
-Operands
-
-host-list::
-  A space-separated list of the names of the hosts where the
-  \{product---name} software is to be installed.
-
-[[sthref1271]]
-
-Examples
-
-[[GSRFM629]][[sthref1272]]
-
-Example 1   Installing \{product---name} Software at the Default
-Location
-
-This example installs \{product---name} software on the hosts
-`sj03.example.com` and `sj04.example.com` at the default location.
-
-[source,oac_no_warn]
-----
-asadmin> install-node-ssh sj03.example.com sj04.example.com
-Created installation zip /home/gfuser/glassfish2339538623689073993.zip
-Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to 
-sj03.example.com:/export/glassfish3
-Installing glassfish2339538623689073993.zip into sj03.example.com:/export/glassfish3
-Removing sj03.example.com:/export/glassfish3/glassfish2339538623689073993.zip
-Fixing file permissions of all files under sj03.example.com:/export/glassfish3/bin
-Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to 
-sj04.example.com:/export/glassfish3
-Installing glassfish2339538623689073993.zip into sj04.example.com:/export/glassfish3
-Removing sj04.example.com:/export/glassfish3/glassfish2339538623689073993.zip
-Fixing file permissions of all files under sj04.example.com:/export/glassfish3/bin
-Command install-node-ssh executed successfully
-----
-
-[[sthref1273]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1274]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/install-node.adoc b/docs/reference-manual/src/main/jbake/content/install-node.adoc
deleted file mode 100644
index 6278aa4..0000000
--- a/docs/reference-manual/src/main/jbake/content/install-node.adoc
+++ /dev/null
@@ -1,229 +0,0 @@
-type=page
-status=published
-title=install-node
-next=install-node-dcom.html
-prev=import-sync-bundle.html
-~~~~~~
-install-node
-============
-
-[[install-node-1]][[GSRFM00143]][[install-node]]
-
-install-node
-------------
-
-installs \{product---name} software on specified SSH-enabled hosts
-
-[[sthref1251]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] install-node [--help]
-[--archive archive]
-[--create={false|true}] [--save[={false|true}]
-[--installdir as-install-parent] 
-[--sshport ssh-port] [--sshuser ssh-user]
-[--sshkeyfile ssh-keyfile]
-[--force={false|true}]
-host-list
-----
-
-[[sthref1252]]
-
-Description
-
-The `install-node` subcommand installs \{product---name} software on the
-hosts that are specified as the operand of the subcommand. This
-subcommand requires secure shell (SSH) to be configured on the host
-where the subcommand is run and on each host where the \{product---name}
-software is being installed.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is equivalent to the
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)]
-subcommand. To install \{product---name} software on hosts that use the
-Distributed Component Object Model (DCOM) remote protocol, use the
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)]
-subcommand.
-
-=======================================================================
-
-
-If necessary, the subcommand creates a ZIP archive of the
-\{product---name} software from the installation where this subcommand
-is run. The archive does not contain the `domains` directory or the
-`nodes` directory. These directories are synchronized from the domain
-administration server (DAS) when instances on nodes that represent the
-hosts are created and started. The subcommand does not delete the
-archive after installing the \{product---name} software from the archive
-on the specified hosts.
-
-If multiple hosts are specified, the configuration of the following
-items is the same on all hosts:
-
-* Base installation directory
-* SSH port
-* SSH user
-* SSH key file
-
-If the SSH key file does not exist on a host where the \{product---name}
-software is to be installed, the subcommand runs interactively and
-prompts for a password. To enable the subcommand to run
-noninteractively, the following conditions must be met:
-
-* The `--interactive` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility must be `false`.
-* The `--passwordfile` option of the `asadmin` utility must specify a
-password file.
-* The password file must contain the `AS_ADMIN_SSHPASSWORD` entry.
-
-The subcommand does not modify the configuration of the DAS.
-
-This subcommand is supported in local mode only.
-
-[[sthref1253]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--archive`::
-  The absolute path to the archive file of the \{product---name}
-  software that is to be installed. If no archive file is specified, the
-  subcommand creates an archive from the installation of
-  \{product---name} software from which the subcommand is run. This
-  archive is created in the home directory of the user that is running
-  the command.
-`--create`::
-  Specifies whether the subcommand should create an archive file of the
-  \{product---name} software to install. +
-  `false`;;
-    No archive file is created. The subcommand installs the software
-    from the existing archive file that the `--archive` option specifies
-    (default).
-  `true`;;
-    The subcommand creates an archive file from the installation of
-    \{product---name} software from which the subcommand is run.
-`--save`::
-  Specifies whether the archive file from which the software is
-  installed is saved after installation. +
-  `false`;;
-    The archive file is not saved. The subcommand deletes the file after
-    installing the software (default).
-  `true`;;
-    The archive file is saved.
-`--installdir`::
-  The absolute path to the parent of the base installation directory
-  where the \{product---name} software is to be installed on each host,
-  for example, `/export/glassfish3/`. If the directory does not exist,
-  the subcommand creates the directory. +
-  The user that is running this subcommand must have write access to the
-  specified directory. Otherwise, an error occurs. +
-  To overwrite an existing an installation of the \{product---name}
-  software, set the `--force` option to `true`. If the directory already
-  contains an installation and the `--force` option is `false`, an error
-  occurs. +
-  The default is the parent of the base installation directory of the
-  \{product---name} software on the host where this subcommand is run.
-`--sshport`::
-  The port to use for SSH connections to the host where the
-  \{product---name} software is to be installed. The default is 22.
-`--sshuser`::
-  The user on the host where the \{product---name} software is to be
-  installed that is to run the process for connecting through SSH to the
-  host. The default is the user that is running this subcommand. To
-  ensure that the DAS can read this user's SSH private key file, specify
-  the user that is running the DAS process.
-`--sshkeyfile`::
-  The absolute path to the SSH private key file for user that the
-  `--sshuser` option specifies. This file is used for authentication to
-  the `sshd` daemon on the host. +
-  The user that is running this subcommand must be able to reach the
-  path to the key file and read the key file. +
-  The default is a key file in the user's `.ssh` directory. If multiple
-  key files are found, the subcommand uses the following order of
-  preference: +
-  1.  `id_rsa`
-  2.  `id_dsa`
-  3.  `identity`
-`--force`::
-  Specifies whether the subcommand overwrites an existing installation
-  of the \{product---name} software in the directory that the
-  `--installdir` option specifies. Possible values are as follows: +
-  `false`;;
-    The existing installation is not overwritten (default).
-  `true`;;
-    The existing installation is overwritten.
-
-[[sthref1254]]
-
-Operands
-
-host-list::
-  A space-separated list of the names of the hosts where the
-  \{product---name} software is to be installed.
-
-[[sthref1255]]
-
-Examples
-
-[[GSRFM625]][[sthref1256]]
-
-Example 1   Installing \{product---name} Software at the Default
-Location
-
-This example installs \{product---name} software on the hosts
-`sj03.example.com` and `sj04.example.com` at the default location.
-
-[source,oac_no_warn]
-----
-asadmin> install-node sj03.example.com sj04.example.com
-Created installation zip /home/gfuser/glassfish2339538623689073993.zip
-Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to 
-sj03.example.com:/export/glassfish3
-Installing glassfish2339538623689073993.zip into sj03.example.com:/export/glassfish3
-Removing sj03.example.com:/export/glassfish3/glassfish2339538623689073993.zip
-Fixing file permissions of all files under sj03.example.com:/export/glassfish3/bin
-Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Copying /home/gfuser/glassfish2339538623689073993.zip (81395008 bytes) to 
-sj04.example.com:/export/glassfish3
-Installing glassfish2339538623689073993.zip into sj04.example.com:/export/glassfish3
-Removing sj04.example.com:/export/glassfish3/glassfish2339538623689073993.zip
-Fixing file permissions of all files under sj04.example.com:/export/glassfish3/bin
-Command install-node executed successfully
-----
-
-[[sthref1257]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1258]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/instance.adoc b/docs/reference-manual/src/main/jbake/content/instance.adoc
deleted file mode 100644
index 0825ba5..0000000
--- a/docs/reference-manual/src/main/jbake/content/instance.adoc
+++ /dev/null
@@ -1,36 +0,0 @@
-type=page
-status=published
-title=instance
-next=logging.html
-prev=dotted-names.html
-~~~~~~
-instance
-========
-
-[[instance-5asc]][[GSRFM00269]][[instance]]
-
-instance
---------
-
-an instance in \{product---name} has its own Java EE configuration, Java
-EE resources, application deployment areas, and server configuration
-settings
-
-[[sthref2403]]
-
-Description
-
-\{product---name} creates one server instance, called `server` at the
-time of installation. You can delete the server instance and create a
-new instance with a different name.
-
-For many users, one server instance meets their needs. However,
-depending upon your environment, you might want to create additional
-server instances. For example, in a development environment you can use
-different server instances to test different \{product---name}
-configurations, or to compare and test different application
-deployments. Because you can easily add or delete a server instance, you
-can use them to create temporary "sandbox" areas to experiment with
-while developing.
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/jms-ping.adoc b/docs/reference-manual/src/main/jbake/content/jms-ping.adoc
deleted file mode 100644
index 0f587c2..0000000
--- a/docs/reference-manual/src/main/jbake/content/jms-ping.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=jms-ping
-next=list.html
-prev=install-node-ssh.html
-~~~~~~
-jms-ping
-========
-
-[[jms-ping-1]][[GSRFM00144]][[jms-ping]]
-
-jms-ping
---------
-
-checks if the JMS service is up and running
-
-[[sthref1275]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] jms-ping [--help]
-[-- target target]
-----
-
-[[sthref1276]]
-
-Description
-
-The `jms-ping` subcommand checks if the Java Message Service (JMS)
-service (also known as the JMS provider) is up and running. When you
-start the \{product---name}, the JMS service starts by default.
-
-The `jms-ping` subcommand pings only the default JMS host within the JMS
-service. It displays an error message when it is unable to ping a
-built-in JMS service.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref1277]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which the operation is to be performed. Valid
-  values are as follows: +
-  `server`;;
-    Pings the JMS service for the default server instance. This is the
-    default value
-  configuration-name;;
-    Pings the JMS service for all clusters using the specified
-    configuration.
-  cluster-name;;
-    Pings the JMS service for the specified cluster.
-  instance-name;;
-    Pings the JMS service for the specified server instance.
-
-[[sthref1278]]
-
-Examples
-
-[[GSRFM630]][[sthref1279]]
-
-Example 1   Verifying that the JMS service is running
-
-The following subcommand checks to see if the JMS service is running on
-the default server.
-
-[source,oac_no_warn]
-----
-asadmin> jms-ping
-JMS-ping command executed successfully
-Connector resoure test_jms_adapter created.
-Command jms-ping executed successfully.
-----
-
-[[sthref1280]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1281]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jms-host.html#create-jms-host-1[`create-jms-host`(1)],
-link:delete-jms-host.html#delete-jms-host-1[`delete-jms-host`(1)],
-link:list-jms-hosts.html#list-jms-hosts-1[`list-jms-hosts`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-admin-objects.adoc b/docs/reference-manual/src/main/jbake/content/list-admin-objects.adoc
deleted file mode 100644
index ee17383..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-admin-objects.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=list-admin-objects
-next=list-application-refs.html
-prev=list.html
-~~~~~~
-list-admin-objects
-==================
-
-[[list-admin-objects-1]][[GSRFM00146]][[list-admin-objects]]
-
-list-admin-objects
-------------------
-
-gets all the administered objects
-
-[[sthref1292]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-admin-objects [--help] 
-[target]
-----
-
-[[sthref1293]]
-
-Description
-
-The `list-admin-objects` subcommand lists all the administered objects.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1294]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1295]]
-
-Operands
-
-target::
-  The target for which administered objects are to be listed. Valid
-  values are as follows: +
-  `server`;;
-    Lists the administered objects on the default server instance. This
-    is the default value.
-  configuration-name;;
-    Lists the administered objects in the specified configuration.
-  cluster-name;;
-    Lists the administered objects on all server instances in the
-    specified cluster.
-  instance-name;;
-    Lists the administered objects on a specified server instance.
-
-[[sthref1296]]
-
-Examples
-
-[[GSRFM634]][[sthref1297]]
-
-Example 1   Listing Administered Objects
-
-This example lists all the administered objects.
-
-[source,oac_no_warn]
-----
-asadmin> list-admin-objects
-jms/samplequeue
-jms/anotherqueue
-Command list-admin-objects executed successfully
-----
-
-[[sthref1298]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1299]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-admin-object.html#create-admin-object-1[`create-admin-object`(1)],
-link:delete-admin-object.html#delete-admin-object-1[`delete-admin-object`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-application-refs.adoc b/docs/reference-manual/src/main/jbake/content/list-application-refs.adoc
deleted file mode 100644
index 461698d..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-application-refs.adoc
+++ /dev/null
@@ -1,116 +0,0 @@
-type=page
-status=published
-title=list-application-refs
-next=list-applications.html
-prev=list-admin-objects.html
-~~~~~~
-list-application-refs
-=====================
-
-[[list-application-refs-1]][[GSRFM00147]][[list-application-refs]]
-
-list-application-refs
----------------------
-
-lists the existing application references
-
-[[sthref1300]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-application-refs [--help] 
-[--long={false|true}] [target]
-----
-
-[[sthref1301]]
-
-Description
-
-The `list-application-refs` subcommand lists all application references
-in a cluster or an unclustered server instance. This effectively lists
-all the modules deployed on the specified target (for example, J2EE
-applications, Web modules, and enterprise bean modules).
-
-If multiple versions of a module or application are deployed, this
-subcommand lists all versions. To list which version is enabled, set the
-`--long` option to `true`. For more information about module and
-application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application
-Versions]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-The target instance or instances making up the cluster need not be
-running or available for this subcommand to succeed.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1302]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-  If `true`, displays whether each module or application listed is
-  enabled. The default is `false`.
-
-[[sthref1303]]
-
-Operands
-
-target::
-  The target for which you are listing the application references. Valid
-  values are +
-  * `server`- Specifies the default server instance as the target.
-  `server` is the name of the default server instance and is the default
-  value.
-  * cluster_name- Specifies a certain cluster as the target.
-  * instance_name- Specifies a certain server instance as the target.
-
-[[sthref1304]]
-
-Examples
-
-[[GSRFM635]][[sthref1305]]
-
-Example 1   Listing Application References
-
-The following example lists the application references for the
-unclustered server instance `NewServer`.
-
-[source,oac_no_warn]
-----
-asadmin> list-application-refs NewServer
-ClientSessionMDBApp
-MEjbApp
-__ejb_container_timer_app
-Command list-application-refs executed successfully.
-----
-
-[[sthref1306]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1307]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
-link:delete-application-ref.html#delete-application-ref-1[`delete-application-ref`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-applications.adoc b/docs/reference-manual/src/main/jbake/content/list-applications.adoc
deleted file mode 100644
index 90c5774..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-applications.adoc
+++ /dev/null
@@ -1,135 +0,0 @@
-type=page
-status=published
-title=list-applications
-next=list-audit-modules.html
-prev=list-application-refs.html
-~~~~~~
-list-applications
-=================
-
-[[list-applications-1]][[GSRFM00148]][[list-applications]]
-
-list-applications
------------------
-
-lists deployed applications
-
-[[sthref1308]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-applications [--help] 
-[--long={false|true}] [--resources] [--subcomponents]
-[--type type] [target]
-----
-
-[[sthref1309]]
-
-Description
-
-The `list-applications` subcommand lists deployed Java EE applications
-and the type of each application that is listed.
-
-If the `--type` option is not specified, all applications are listed. If
-the type option is specified, you must specify a type. The possible
-types are listed in the Options section of this help page.
-
-If multiple versions of a module or application are deployed, this
-subcommand lists all versions. To list which version is enabled, set the
-`--long` option to `true`. For more information about module and
-application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application
-Versions]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1310]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-  If `true`, displays whether each module or application listed is
-  enabled. The default is `false`.
-`--resources`::
-  Lists the application-scoped resources for each application. If the
-  `--subcomponents` option is also used, lists the application-scoped
-  resources for each component within the application.
-`--subcomponents`::
-  Lists the subcomponents of each application. The subcomponents listed
-  depend on the application type. For example, for a Java EE application
-  (EAR file), modules are listed. For a web application, servlets and
-  JSP pages are listed. For an EJB module, EJB subcomponents are listed.
-`--type`::
-  Specifies the type of the applications that are to be listed. The
-  options are as follows: +
-  * `application`
-  * `appclient`
-  * `connector`
-  * `ejb`
-  * `web`
-  * `webservice` +
-  If no type is specified, all applications are listed.
-
-[[sthref1311]]
-
-Operands
-
-`--target`::
-  This is the name of the target upon which the subcommand operates. The
-  valid values are as follows: +
-  `server`;;
-    Lists the applications for the default server instance `server` and
-    is the default value.
-  `domain`;;
-    Lists the applications for the domain.
-  cluster_name;;
-    Lists the applications for the cluster.
-  instance_name;;
-    Lists the applications for a particular stand-alone server instance.
-
-[[sthref1312]]
-
-Examples
-
-[[GSRFM636]][[sthref1313]]
-
-Example 1   Listing the Web Applications
-
-[source,oac_no_warn]
-----
-asadmin> list-applications --type web
-hellojsp <web>
-Command list-applications executed successfully
-----
-
-[[sthref1314]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1315]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-components.html#list-components-1[`list-components`(1)],
-link:list-sub-components.html#list-sub-components-1[`list-sub-components`(1)],
-link:show-component-status.html#show-component-status-1[`show-component-status`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-audit-modules.adoc b/docs/reference-manual/src/main/jbake/content/list-audit-modules.adoc
deleted file mode 100644
index 1e1a3f0..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-audit-modules.adoc
+++ /dev/null
@@ -1,96 +0,0 @@
-type=page
-status=published
-title=list-audit-modules
-next=list-auth-realms.html
-prev=list-applications.html
-~~~~~~
-list-audit-modules
-==================
-
-[[list-audit-modules-1]][[GSRFM00149]][[list-audit-modules]]
-
-list-audit-modules
-------------------
-
-gets all audit modules and displays them
-
-[[sthref1316]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-audit-modules [--help] 
-[target]
-----
-
-[[sthref1317]]
-
-Description
-
-The `list-audit-modules` subcommand lists all the audit modules. This
-subcommand is supported in remote mode only.
-
-[[sthref1318]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1319]]
-
-Operands
-
-target::
-  Specifies the target on which you are listing the audit modules. Valid
-  values are as follows: +
-  `server`;;
-    Lists the audit modules for the default server instance `server` and
-    is the default value.
-  configuration_name;;
-    Lists the audit modules for the named configuration.
-  cluster_name;;
-    Lists the audit modules for every server instance in the cluster.
-  instance_name;;
-    Lists the audit modules for a particular server instance.
-
-[[sthref1320]]
-
-Examples
-
-[[GSRFM637]][[sthref1321]]
-
-Example 1   Listing Audit Modules
-
-[source,oac_no_warn]
-----
-asadmin> list-audit-modules
-sampleAuditModule1
-sampleAuditModule2
-Command list-audit-modules executed successfully
-----
-
-[[sthref1322]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1323]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-audit-module.html#create-audit-module-1[`create-audit-module`(1)],
-link:delete-audit-module.html#delete-audit-module-1[`delete-audit-module`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-auth-realms.adoc b/docs/reference-manual/src/main/jbake/content/list-auth-realms.adoc
deleted file mode 100644
index 69ccd9f..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-auth-realms.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=list-auth-realms
-next=list-backups.html
-prev=list-audit-modules.html
-~~~~~~
-list-auth-realms
-================
-
-[[list-auth-realms-1]][[GSRFM00150]][[list-auth-realms]]
-
-list-auth-realms
-----------------
-
-lists the authentication realms
-
-[[sthref1324]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-auth-realms [--help] 
-[target]
-----
-
-[[sthref1325]]
-
-Description
-
-The `list-auth-realms` subcommand lists the authentication realms. This
-subcommand is supported in remote mode only.
-
-[[sthref1326]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1327]]
-
-Operands
-
-target::
-  The name of the target for which you want to list the authentication
-  realms. +
-  `server`;;
-    Lists the realms for the default server instance `server` and is the
-    default value.
-  configuration_name;;
-    Lists the realms for the named configuration.
-  cluster_name;;
-    Lists the realms for every server instance in the cluster.
-  instance_name;;
-    Lists the realms for a particular server instance.
-
-[[sthref1328]]
-
-Examples
-
-[[GSRFM638]][[sthref1329]]
-
-Example 1   Listing authentication realms
-
-[source,oac_no_warn]
-----
-asadmin> list-auth-realms 
-file
-ldap
-certificate
-db
-Command list-auth-realms executed successfully
-----
-
-Where file, ldap, certificate, and db are the available authentication
-realms.
-
-[[sthref1330]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1331]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
-link:delete-auth-realm.html#delete-auth-realm-1[`delete-auth-realm`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-backups.adoc b/docs/reference-manual/src/main/jbake/content/list-backups.adoc
deleted file mode 100644
index 00f2fa8..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-backups.adoc
+++ /dev/null
@@ -1,134 +0,0 @@
-type=page
-status=published
-title=list-backups
-next=list-batch-job-executions.html
-prev=list-auth-realms.html
-~~~~~~
-list-backups
-============
-
-[[list-backups-1]][[GSRFM00152]][[list-backups]]
-
-list-backups
-------------
-
-lists all backups
-
-[[sthref1332]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-backups [--help]
-[--long[={false|true}]]
-[--domaindir domain-root-dir]
-[--backupdir backup-directory]
-[--backupconfig backup-config-name]
-[domain-name]
-----
-
-[[sthref1333]]
-
-Description
-
-The `list-backups` subcommand displays information about domain backups.
-
-This subcommand is supported in local mode only in GlassFish Server Open
-Source Edition, and is support in local mode and remote mode in Oracle
-GlassFish Server.
-
-[[sthref1334]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Displays detailed information about each backup. +
-  The default value is `false`.
-`--domaindir`::
-  Specifies the domain root directory, the parent directory of the
-  domain upon which the command will operate. +
-  The default value is as-install`/domains`.
-`--backupdir`::
-  Specifies the directory under which backup files are stored. +
-  The default value is as-install`/domains/`domain-dir`/backups`. If the
-  domain is not in the default location, the location is
-  domain-dir`/backups`.
-`--backupconfig`::
-  (Supported only in Oracle GlassFish Server.) Restricts the listing of
-  backup files in the backup directory to those for the specified domain
-  backup configuration.
-
-[[sthref1335]]
-
-Operands
-
-domain-name::
-  Specifies the domain for which backups are listed. +
-  This operand is optional if only one domain exists in the
-  \{product---name} installation.
-
-[[sthref1336]]
-
-Examples
-
-[[GSRFM640]][[sthref1337]]
-
-Example 1   Listing Domain Backups
-
-This example provides detailed information about backups in the default
-domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-backups --long
-Description               : domain1 backup created on 2010_12_01 by user adminuser
-GlassFish Version         : Oracle GlassFish Server 3.1
-Backup User               : adminuser
-Backup Date               : Wed Dec 01 09:22:45 PST 2010
-Domain Name               : domain1
-Backup Type               : full
-Backup Config Name        :
-Backup Filename (origin)  : /glassfish3/glassfish/domains/domain1/backups/domain1_2010_12_01_v00001.zip
-Domain Directory          : /glassfish3/glassfish/domains/domain1
-
-Description               : domain1 backup created on 2010_12_16 by user adminuser
-GlassFish Version         : Oracle GlassFish Server 3.1
-Backup User               : adminuser
-Backup Date               : Thu Dec 16 09:23:48 PST 2010
-Domain Name               : domain1
-Backup Type               : full
-Backup Config Name        : 
-Backup Filename (origin)  : /glassfish3/glassfish/domains/domain1/backups/domain1_2010_12_16_v00001.zip
-Domain Directory          : /glassfish3/glassfish/domains/domain1
-
-
-Command list-backups executed successfully.
-----
-
-[[sthref1338]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1339]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:backup-domain.html#backup-domain-1[`backup-domain`(1)],
-link:restore-domain.html#restore-domain-1[`restore-domain`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-batch-job-executions.adoc b/docs/reference-manual/src/main/jbake/content/list-batch-job-executions.adoc
deleted file mode 100644
index 3bd15a4..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-batch-job-executions.adoc
+++ /dev/null
@@ -1,148 +0,0 @@
-type=page
-status=published
-title=list-batch-job-executions
-next=list-batch-jobs.html
-prev=list-backups.html
-~~~~~~
-list-batch-job-executions
-=========================
-
-[[list-batch-job-executions-1]][[GSRFM884]][[list-batch-job-executions]]
-
-list-batch-job-executions
--------------------------
-
-lists batch job executions and execution details
-
-[[sthref1340]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-batch-job-executions [--help]
-[--target target]
-[--executionid execution-id]
-[--long={false|true}]
-[--output output]
-[--header={false|true}]
-[instance_ID]
-----
-
-[[sthref1341]]
-
-Description
-
-The `list-batch-job-executions` subcommand lists batch job executions
-and execution details.
-
-[[sthref1342]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which to list batch job executions and
-  execution details. Valid values are as follows: +
-  `server`;;
-    Lists executions for the default server instance `server` and is the
-    default value.
-  cluster-name;;
-    Lists executions for every server instance in the cluster.
-  instance-name;;
-    Lists executions for a particular server instance.
-`--executionid`::
-`-x`::
-  Specifies the execution ID of a specific batch job execution.
-`--long`::
-`-l`::
-  Displays detailed information about batch job executions. The default
-  value is `false`.
-`--output`::
-`-o`::
-  Displays specific details about batch job executions. Use a
-  comma-separated list to specify the details to display and their
-  order. The values are case-insensitive. A subset of all possible
-  headings is displayed by default. +
-  Possible values are as follows: +
-  `jobname`;;
-    Displays the name of the job.
-  `executionid`;;
-    Displays the ID assigned to the execution of the batch job. A new
-    execution is created the first time a job is started and every time
-    the existing execution is restarted.
-  `starttime`;;
-    Displays the start time of the execution.
-  `endtime`;;
-    Displays the finish time of the execution.
-  `batchstatus`;;
-    Displays the status of the execution as set by the batch runtime.
-  `exitstatus`;;
-    Displays the status of the execution as set by the Job XML for the
-    job or by the batch application. By default, the exit status and the
-    batch status are the same unless the exit status is explicitly
-    overridden.
-  `jobparameters`;;
-    Displays the properties passed to the batch runtime for the batch
-    job execution, listed as name/value pairs.
-  `stepcount`;;
-    Displays the number of steps in the batch job execution.
-`--header`::
-`-h`::
-  Specifies whether column headings are displayed when the `--long`
-  option is used. The default value is `true`. To suppress the headings,
-  set the `--header` option to `false`.
-
-[[sthref1343]]
-
-Operands
-
-instance_id::
-  The ID of the job instance for which to list execution details.
-
-[[sthref1344]]
-
-Examples
-
-[[GSRFM885]][[sthref1345]]
-
-Example 1   Listing Batch Job Executions
-
-This example lists batch job executions for the default server instance
-and displays specific details.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-job-executions -o=jobname,executionid,batchstatus,exitstatus
-JOBNAME  EXECUTIONID  BATCHSTATUS  EXITSTATUS
-payroll  9            COMPLETED    COMPLETED
-bonus    6            FAILED       FAILED
-Command list-batch-job-executions executed successfully.
-----
-
-[[sthref1346]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1347]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
-link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)],
-link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)],
-link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-batch-job-steps.adoc b/docs/reference-manual/src/main/jbake/content/list-batch-job-steps.adoc
deleted file mode 100644
index 6860a6c..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-batch-job-steps.adoc
+++ /dev/null
@@ -1,151 +0,0 @@
-type=page
-status=published
-title=list-batch-job-steps
-next=list-batch-runtime-configuration.html
-prev=list-batch-jobs.html
-~~~~~~
-list-batch-job-steps
-====================
-
-[[list-batch-job-steps-1]][[GSRFM895]][[list-batch-job-steps]]
-
-list-batch-job-steps
---------------------
-
-lists steps for a specific batch job execution
-
-[[sthref1356]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-batch-job-steps [--help]
-[--long={false|true}]
-[--target target]
-[--output output]
-[--header={false|true}]
-execution_id
-----
-
-[[sthref1357]]
-
-Description
-
-The `list-batch-job-steps` subcommand lists steps for a specific batch
-job execution.
-
-[[sthref1358]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which to list batch job steps. Valid values
-  are as follows: +
-  `server`;;
-    Lists steps for the default server instance `server` and is the
-    default value.
-  cluster-name;;
-    Lists steps for every server instance in the cluster.
-  instance-name;;
-    Lists steps for a particular server instance.
-`--long`::
-`-l`::
-  Displays detailed information about batch job steps. The default value
-  is `false`.
-`--output`::
-`-o`::
-  Displays specific details about batch job steps. Use a comma-separated
-  list to specify the details to display and their order. The values are
-  case-insensitive. A subset of all possible headings is displayed by
-  default. +
-  Possible values are as follows: +
-  `stepname`;;
-    Displays the name of the step.
-  `stepid`;;
-    Displays the step ID.
-  `starttime`;;
-    Displays the start time of the step.
-  `endtime`;;
-    Displays the finish time of the step.
-  `batchstatus`;;
-    Displays the status of the step as set by the batch runtime.
-  `exitstatus`;;
-    Displays the status of the step as set by the Job XML for the job or
-    by the batch application. By default, the exit status and the batch
-    status are the same unless the exit status is explicitly overridden.
-  `stepmetrics`;;
-    Displays metrics for the step.
-  `value`;;
-    Displays a value for each step metric. The value represents the
-    number of items read, written, committed, and so on.
-`--header`::
-`-h`::
-  Specifies whether column headings are displayed when the `--long`
-  option is used. The default value is `true`. To suppress the headings,
-  set the `--header` option to `false`.
-
-[[sthref1359]]
-
-Operands
-
-execution_id::
-  The ID of the execution for which to list batch job steps and details.
-
-[[sthref1360]]
-
-Examples
-
-[[GSRFM896]][[sthref1361]]
-
-Example 1   Listing Batch Job Steps
-
-This example lists batch job steps and specific step details for a job
-execution with the execution ID of `7`. The target is the default server
-instance.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-job-steps o=stepname,stepid,batchstatus,stepmetrics 7
-STEPNAME   STEPID   BATCHSTATUS   STEPMETRICS
-prepare    7        COMPLETED     METRICNAME          VALUE
-                                  READ_COUNT          8
-                                  WRITE_COUNT         8
-                                  PROCESS_SKIP_COUNT  0
-process    8        COMPLETED     METRICNAME          VALUE
-                                  READ_COUNT          8
-                                  WRITE_COUNT         8
-                                  PROCESS_SKIP_COUNT  0
-...
-Command list-batch-job-steps executed successfully.
-----
-
-[[sthref1362]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1363]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
-link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
-link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)],
-link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-batch-jobs.adoc b/docs/reference-manual/src/main/jbake/content/list-batch-jobs.adoc
deleted file mode 100644
index ec530ed..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-batch-jobs.adoc
+++ /dev/null
@@ -1,142 +0,0 @@
-type=page
-status=published
-title=list-batch-jobs
-next=list-batch-job-steps.html
-prev=list-batch-job-executions.html
-~~~~~~
-list-batch-jobs
-===============
-
-[[list-batch-jobs-1]][[GSRFM861]][[list-batch-jobs]]
-
-list-batch-jobs
----------------
-
-lists batch jobs
-
-[[sthref1348]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-batch-jobs [--help]
-[--target target]
-[--long={false|true}]
-[--output output]
-[--header={false|true}]
-[job_name]
-----
-
-[[sthref1349]]
-
-Description
-
-The `list-batch-jobs` subcommand lists batch jobs and job details.
-
-[[sthref1350]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which to list batch jobs and job details.
-  Valid values are as follows: +
-  `server`;;
-    Lists batch jobs for the default server instance `server` and is the
-    default value.
-  cluster-name;;
-    Lists batch jobs for every server instance in the cluster.
-  instance-name;;
-    Lists batch jobs for a particular server instance.
-`--long`::
-`-l`::
-  Displays detailed information about batch jobs. The default value is
-  `false`.
-`--output`::
-`-o`::
-  Displays specific details about batch jobs. Use a comma-separated list
-  to specify the details to display and their order. The values are
-  case-insensitive. The `jobname` and `instancecount` column headings
-  are displayed by default. +
-  Possible values are as follows: +
-  `jobname`;;
-    Displays the name of the job.
-  `appname`;;
-    Displays the name of the application.
-  `instancecount`;;
-    Displays the number of job instances.
-  `instanceid`;;
-    Displays the ID assigned to the job instance.
-  `executionid`;;
-    Displays the ID assigned to the execution of the batch job. A new
-    execution is created the first time a job is started and every time
-    the existing execution is restarted.
-  `batchstatus`;;
-    Displays the status of the job as set by the batch runtime.
-  `starttime`;;
-    Displays the start time of the job.
-  `endtime`;;
-    Displays the finish time of the job.
-  `exitstatus`;;
-    Displays the status of the job as set by the Job XML for the job or
-    by the batch application. By default, the exit status and the batch
-    status are the same unless the exit status is explicitly overridden.
-`--header`::
-`-h`::
-  Specifies whether column headings are displayed when the `--long`
-  option is used. The default value is `true`. To suppress the headings,
-  set the `--header` option to `false`.
-
-[[sthref1351]]
-
-Operands
-
-job_name::
-  The name of the job for which to list details.
-
-[[sthref1352]]
-
-Examples
-
-[[GSRFM862]][[sthref1353]]
-
-Example 1   Listing Batch Jobs
-
-This example lists batch jobs for the default server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-jobs
-JOBNAME  INSTANCECOUNT 
-payroll  9
-bonus    6
-Command list-batch-jobs executed successfully.
-----
-
-[[sthref1354]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1355]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
-link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)],
-link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)],
-link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-batch-runtime-configuration.adoc b/docs/reference-manual/src/main/jbake/content/list-batch-runtime-configuration.adoc
deleted file mode 100644
index f02d1fd..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-batch-runtime-configuration.adoc
+++ /dev/null
@@ -1,120 +0,0 @@
-type=page
-status=published
-title=list-batch-runtime-configuration
-next=list-clusters.html
-prev=list-batch-job-steps.html
-~~~~~~
-list-batch-runtime-configuration
-================================
-
-[[list-batch-runtime-configuration-1]][[GSRFM863]][[list-batch-runtime-configuration]]
-
-list-batch-runtime-configuration
---------------------------------
-
-displays the configuration of the batch runtime
-
-[[sthref1364]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-batch-runtime-configuration [--help]
-[--target target]
-[--output output]
-[--header={false|true}]
-----
-
-[[sthref1365]]
-
-Description
-
-The `list-batch-runtime-configuration` subcommand displays the
-configuration of the batch runtime. Batch runtime configuration data is
-stored in the `config` element in `domain.xml`.
-
-[[sthref1366]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which to list the batch runtime
-  configuration. Valid values are as follows: +
-  `server`;;
-    Lists the batch runtime configuration for the default server
-    instance `server` and is the default value.
-  cluster-name;;
-    Lists the batch runtime configuration for every server instance in
-    the cluster.
-  instance-name;;
-    Lists the batch runtime configuration for a particular server
-    instance.
-`--output`::
-`-o`::
-  Displays specific details about the batch runtime configuration. Use a
-  comma-separated list to specify the details to display and their
-  order. The values are case-insensitive. The `datasourcelookupname` and
-  `executorservicelookupname` column headings are displayed by default. +
-  Possible values are as follows: +
-  `datasourcelookupname`;;
-    The JNDI lookup name of the data source used to store job
-    information. By default, the batch runtime uses the default data
-    source `jdbc/__TimerPool`.
-  `executorservicelookupname`;;
-    The JNDI lookup name of the managed executor service used to provide
-    threads to jobs. By default, the batch runtime uses the default
-    managed executor service
-    `concurrent/__defaultManagedExecutorService`.
-`--header`::
-`-h`::
-  Specifies whether column headings are displayed when the `--long`
-  option is used. The default value is `true`. To suppress the headings,
-  set the `--header` option to `false`.
-
-[[sthref1367]]
-
-Examples
-
-[[GSRFM864]][[sthref1368]]
-
-Example 1   Listing Batch Runtime Configuration
-
-The following example lists the configuration of the batch runtime for
-the default server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-batch-runtime-configuration
-DATASOURCELOOKUPNAME     EXECUTORSERVICELOOKUPNAME
-jdbc/_default            concurrent/__defaultManagedExecutorService
-Command list-batch-runtime-configuration executed successfully.
-----
-
-[[sthref1369]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1370]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)],
-link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
-link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
-link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-clusters.adoc b/docs/reference-manual/src/main/jbake/content/list-clusters.adoc
deleted file mode 100644
index fa5d27c..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-clusters.adoc
+++ /dev/null
@@ -1,140 +0,0 @@
-type=page
-status=published
-title=list-clusters
-next=list-commands.html
-prev=list-batch-runtime-configuration.html
-~~~~~~
-list-clusters
-=============
-
-[[list-clusters-1]][[GSRFM00153]][[list-clusters]]
-
-list-clusters
--------------
-
-lists existing clusters in a domain
-
-[[sthref1371]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-clusters [--help] 
-[target]
-----
-
-[[sthref1372]]
-
-Description
-
-The `list-clusters` subcommand lists existing clusters in a domain. The
-list can be filtered by cluster, instance, node, or configuration. For
-each cluster that is listed, the subcommand indicates whether the
-cluster is running.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1373]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1374]]
-
-Operands
-
-target::
-  Filters the list of clusters by specifying the target for which the
-  clusters are to be listed. Valid values are as follows: +
-  `domain`;;
-    Lists all clusters in the domain (default).
-  cluster-name;;
-    Lists only the specified cluster.
-  instance-name;;
-    Lists the cluster of which the specified instance is a member.
-  node-name;;
-    Lists the clusters that contain an instance that resides on the
-    specified node. For example, if instance `pmdi1` in cluster `pmdc`
-    and instance `ymli1` in cluster `ymlc` reside on node `n1`, `pmdc`
-    and `ymlc` are listed.
-  configuration-name;;
-    Lists all clusters that contain instances whose configuration is
-    defined by the named configuration.
-
-[[sthref1375]]
-
-Examples
-
-[[GSRFM641]][[sthref1376]]
-
-Example 1   Listing All Clusters in a Domain
-
-This example lists all clusters in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters
-pmdclust not running
-ymlclust not running
-
-Command list-clusters executed successfully.
-----
-
-[[GSRFM642]][[sthref1377]]
-
-Example 2   Displaying the Status of a Cluster
-
-This example displays status of the cluster `ymlclust`, which is not
-running.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters ymlclust
-ymlclust not running
-
-Command list-clusters executed successfully.
-----
-
-[[GSRFM643]][[sthref1378]]
-
-Example 3   Listing All Clusters That Are Associated With a Node
-
-This example lists the clusters that contain an instance that resides on
-the node `sj02`.
-
-[source,oac_no_warn]
-----
-asadmin> list-clusters sj02
-ymlclust not running
-
-Command list-clusters executed successfully.
-----
-
-[[sthref1379]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1380]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
-link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
-link:start-cluster.html#start-cluster-1[`start-cluster`(1)],
-link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-commands.adoc b/docs/reference-manual/src/main/jbake/content/list-commands.adoc
deleted file mode 100644
index 9863967..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-commands.adoc
+++ /dev/null
@@ -1,226 +0,0 @@
-type=page
-status=published
-title=list-commands
-next=list-components.html
-prev=list-clusters.html
-~~~~~~
-list-commands
-=============
-
-[[list-commands-1]][[GSRFM00154]][[list-commands]]
-
-list-commands
--------------
-
-lists available commands
-
-[[sthref1381]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-commands [--help] 
-[--localonly={false|true}] [--remoteonly={false|true}] 
-
-pattern-list
-----
-
-[[sthref1382]]
-
-Description
-
-The `list-commands` subcommand lists the `asadmin` subcommands.
-
-By default, the `list-commands` subcommand displays a list of local
-subcommands followed by a list of remote subcommands. You can specify
-that only remote subcommands or only local subcommands are listed and
-that only subcommands whose names contain a specified text string are
-listed.
-
-This subcommand is supported in local mode and remote mode.
-
-[[sthref1383]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--localonly`::
-  If this option is set to true, only local commands are listed. Default
-  is false. +
-  If this option is set to true, the `--remoteonly` option must be set
-  to false. Otherwise, an error occurs.
-`--remoteonly`::
-  If this option is set to true, only remote commands are listed.
-  Default is false. +
-  If this option is set to true, the `--localonly` option must be set to
-  false. Otherwise, an error occurs.
-
-[[sthref1384]]
-
-Operands
-
-pattern-list::
-  A space-separated list of text strings on which to filter the list of
-  subcommands. Only the subcommands that contain any one of the
-  specified text strings is listed.
-
-[[sthref1385]]
-
-Examples
-
-[[GSRFM644]][[sthref1386]]
-
-Example 1   Listing the Local Subcommands
-
-This example lists only the local subcommands.
-
-[source,oac_no_warn]
-----
-asadmin> list-commands --localonly=true
-********** Local Commands **********
-change-admin-password
-change-master-password
-create-domain
-create-service
-delete-domain
-export
-help
-list-commands
-list-domains
-login
-monitor
-multimode
-restart-domain
-start-database
-start-domain
-stop-database
-stop-domain
-unset
-verify-domain-xml
-version
-Command list-commands executed successfully.
-----
-
-[[GSRFM645]][[sthref1387]]
-
-Example 2   Filtering the Subcommands That Are Listed
-
-This example lists only the subcomands whose names contain the text
-`configure` or `set`.
-
-[source,oac_no_warn]
-----
-asadmin> list-commands configure set
-********** Local Commands **********
-setup-ssh
-unset
-
-********** Remote Commands **********
-configure-jms-cluster                   set-log-levels
-configure-lb-weight                     set-web-context-param
-configure-ldap-for-admin                set-web-env-entry
-set                                     unset-web-context-param
-set-log-attributes                      unset-web-env-entry
-
-Command list-commands executed successfully.
-----
-
-[[GSRFM646]][[sthref1388]]
-
-Example 3   Listing All Subcommands
-
-This example first displays a list of the local subcommands, followed by
-a partial list of the remote subcommands.
-
-[source,oac_no_warn]
-----
-asadmin> list-commands
-********** Local Commands **********
-change-admin-password
-change-master-password
-create-domain
-create-service
-delete-domain
-export
-help
-list-commands
-list-domains
-login
-monitor
-multimode
-restart-domain
-start-database
-start-domain
-stop-database
-stop-domain
-unset
-verify-domain-xml
-version
-********** Remote Commands **********
-__locations                             enable
-add-resources                           enable-monitoring
-configure-ldap-for-admin                flush-jmsdest
-create-admin-object                     freeze-transaction-service
-create-audit-module                     generate-jvm-report
-create-auth-realm                       get
-create-connector-connection-pool        get-client-stubs
-create-connector-resource               get-host-and-port
-create-connector-security-map           jms-ping
-create-connector-work-security-map      list
-create-custom-resource                  list-admin-objects
-create-file-user                        list-app-refs
-create-http                             list-applications
-create-http-listener                    list-audit-modules
-create-iiop-listener                    list-auth-realms
-create-javamail-resource                list-components
-create-jdbc-connection-pool             list-connector-connection-pools
-create-jdbc-resource                    list-connector-resources
-create-jms-host                         list-connector-security-maps
-create-jms-resource                     list-connector-work-security-maps
-create-jmsdest                          list-containers
-create-jndi-resource                    list-custom-resources
-create-jvm-options                      list-file-groups
-create-lifecycle-module                 list-file-users
-create-message-security-provider        list-http-listeners
-create-network-listener                 list-iiop-listeners
-create-password-alias                   list-javamail-resources
-create-profiler                         list-jdbc-connection-pools
-create-protocol                         list-jdbc-resources
-create-resource-adapter-config          list-jms-hosts
-create-resource-ref                     list-jms-resources
-create-ssl                              list-jmsdest
-create-system-properties                list-jndi-entries
-create-threadpool                       list-jndi-resources
-create-transport                        list-jvm-options
-create-virtual-server                   list-lifecycle-modules
-delete-admin-object                     list-logger-levels
-delete-audit-module                     list-message-security-providers
-...
-----
-
-[[sthref1389]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1390]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-components.html#list-components-1[`list-components`(1)],
-link:list-containers.html#list-containers-1[`list-containers`(1)],
-link:list-modules.html#list-modules-1[`list-modules`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-components.adoc b/docs/reference-manual/src/main/jbake/content/list-components.adoc
deleted file mode 100644
index f6bf27e..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-components.adoc
+++ /dev/null
@@ -1,146 +0,0 @@
-type=page
-status=published
-title=list-components
-next=list-configs.html
-prev=list-commands.html
-~~~~~~
-list-components
-===============
-
-[[list-components-1]][[GSRFM00155]][[list-components]]
-
-list-components
----------------
-
-lists deployed components
-
-[[sthref1391]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-components [--help] 
-[--long={false|true}] [--resources] [--subcomponents]
-[--type type] [target]
-----
-
-[[sthref1392]]
-
-Description
-
-
-[NOTE]
-=======================================================================
-
-The `list-components` subcommand is deprecated. Use the
-`list-applications` subcommand instead.
-
-=======================================================================
-
-
-The `list-components` subcommand lists all deployed Java EE components.
-
-If the `--type` option is not specified, all components are listed. If
-the type option is specified, you must specify a type. The possible
-types are listed in the Options section in this help page.
-
-If multiple versions of a module or application are deployed, this
-subcommand lists all versions. To list which version is enabled, set the
-`--long` option to `true`. For more information about module and
-application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application
-Versions]" in GlassFish Server Open Source Edition Application
-Deployment Guide.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1393]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-  If `true`, displays whether each module or application listed is
-  enabled. The default is `false`.
-`--resources`::
-  Lists the application-scoped resources for each component. If the
-  `--subcomponents` option is also used, lists the application-scoped
-  resources for each component within an application.
-`--subcomponents`::
-  Lists the subcomponents of each component. The subcomponents listed
-  depend on the component type. For example, for a Java EE application
-  (EAR file), modules are listed. For a web application, servlets and
-  JSP pages are listed. For an EJB module, EJB subcomponents are listed.
-`--type`::
-  Specifies the type of the components that are to be listed. The
-  options are as follows: +
-  * `application`
-  * `appclient`
-  * `connector`
-  * `ejb`
-  * `web`
-  * `webservice` +
-  If no type is specified, all components are listed.
-
-[[sthref1394]]
-
-Operands
-
-target::
-  This is the name of the target upon which the subcommand operates. The
-  valid values are: +
-  `server`;;
-    Lists the components for the default server instance `server` and is
-    the default value.
-  `domain`;;
-    Lists the components for the domain.
-  cluster_name;;
-    Lists the components for the cluster.
-  instance_name;;
-    Lists the components for a particular stand-alone server instance.
-
-[[sthref1395]]
-
-Examples
-
-[[GSRFM647]][[sthref1396]]
-
-Example 1   Listing Components
-
-This example lists the connector components. (`cciblackbox-tx.rar` was
-deployed.)
-
-[source,oac_no_warn]
-----
-asadmin> list-components --type connector
-cciblackbox-tx <connector>
-Command list-components executed successfully
-----
-
-[[sthref1397]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1398]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:show-component-status.html#show-component-status-1[`show-component-status`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-configs.adoc b/docs/reference-manual/src/main/jbake/content/list-configs.adoc
deleted file mode 100644
index 379e7f6..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-configs.adoc
+++ /dev/null
@@ -1,111 +0,0 @@
-type=page
-status=published
-title=list-configs
-next=list-connector-connection-pools.html
-prev=list-components.html
-~~~~~~
-list-configs
-============
-
-[[list-configs-1]][[GSRFM00156]][[list-configs]]
-
-list-configs
-------------
-
-lists named configurations
-
-[[sthref1399]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-configs [--help] 
-[target]
-----
-
-[[sthref1400]]
-
-Description
-
-The `list—configs` subcommand lists named configurations in the
-configuration of the domain administration server (DAS). The list can be
-filtered by cluster, instance, or named configuration.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1401]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1402]]
-
-Operands
-
-target::
-  Filters the list of configurations. Valid values are as follows: +
-  `domain`;;
-    Lists all named configurations in the current domain.
-  cluster-name;;
-    Lists the named configuration that defines the configuration of
-    instances in the specified cluster.
-  instance-name;;
-    Lists the named configuration that defines the configuration of the
-    specified instance.
-  configuration-name;;
-    Lists the specified named configuration. Use this option to
-    determine whether a named configuration exits.
-
-[[sthref1403]]
-
-Examples
-
-[[GSRFM648]][[sthref1404]]
-
-Example 1   Listing All Named Configurations in a Domain
-
-This example lists all named configurations in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-configs
-server-config
-default-config
-pmdclust-config
-pmdsharedconfig
-pmdcpinst-config
-ymlclust-config
-il1-config
-il2-config
-
-Command list-configs executed successfully.
-----
-
-[[sthref1405]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1406]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:copy-config.html#copy-config-1[`copy-config`(1)],
-link:delete-config.html#delete-config-1[`delete-config`(1)]
-
-link:configuration.html#configuration-5asc[`configuration`(5ASC)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-connector-connection-pools.adoc b/docs/reference-manual/src/main/jbake/content/list-connector-connection-pools.adoc
deleted file mode 100644
index 80faaa6..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-connector-connection-pools.adoc
+++ /dev/null
@@ -1,82 +0,0 @@
-type=page
-status=published
-title=list-connector-connection-pools
-next=list-connector-resources.html
-prev=list-configs.html
-~~~~~~
-list-connector-connection-pools
-===============================
-
-[[list-connector-connection-pools-1]][[GSRFM00157]][[list-connector-connection-pools]]
-
-list-connector-connection-pools
--------------------------------
-
-lists the existing connector connection pools
-
-[[sthref1407]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-connector-connection-pools [--help]
-----
-
-[[sthref1408]]
-
-Description
-
-The `list-connector-connection-pools` subcommand list connector
-connection pools that have been created.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1409]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1410]]
-
-Examples
-
-[[GSRFM649]][[sthref1411]]
-
-Example 1   Listing the Connector Connection Pools
-
-This example lists the existing connector connection pools.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-connection-pools
-jms/qConnPool
-Command list-connector-connection-pools executed successfully
-----
-
-[[sthref1412]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1413]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-connection-pool.html#create-connector-connection-pool-1[`create-connector-connection-pool`(1)],
-link:delete-connector-connection-pool.html#delete-connector-connection-pool-1[`delete-connector-connection-pool`(1)],
-link:ping-connection-pool.html#ping-connection-pool-1[`ping-connection-pool`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-connector-resources.adoc b/docs/reference-manual/src/main/jbake/content/list-connector-resources.adoc
deleted file mode 100644
index 9eb92cb..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-connector-resources.adoc
+++ /dev/null
@@ -1,99 +0,0 @@
-type=page
-status=published
-title=list-connector-resources
-next=list-connector-security-maps.html
-prev=list-connector-connection-pools.html
-~~~~~~
-list-connector-resources
-========================
-
-[[list-connector-resources-1]][[GSRFM00158]][[list-connector-resources]]
-
-list-connector-resources
-------------------------
-
-lists all connector resources
-
-[[sthref1414]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-connector-resources [--help] 
-[target]
-----
-
-[[sthref1415]]
-
-Description
-
-The `list-connector-resources` subcommand lists all connector resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1416]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1417]]
-
-Operands
-
-target::
-  The target for which the connector resources are to be listed. Valid
-  values are as follows: +
-  `server`;;
-    Lists the connector resources on the default server instance. This
-    is the default value.
-  `domain`;;
-    Lists the connector resources for the domain.
-  cluster-name;;
-    Lists the connector resources on all server instances in the
-    specified cluster.
-  instance-name;;
-    Lists the connector resources on a specified server instance.
-
-[[sthref1418]]
-
-Examples
-
-[[GSRFM650]][[sthref1419]]
-
-Example 1   Listing Connector Resources
-
-This example lists all existing connector resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-resources
-jms/qConnFactory
-Command list-connector-resources executed successfully.
-----
-
-[[sthref1420]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1421]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-resource.html#create-connector-resource-1[`create-connector-resource`(1)],
-link:delete-connector-resource.html#delete-connector-resource-1[`delete-connector-resource`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-connector-security-maps.adoc b/docs/reference-manual/src/main/jbake/content/list-connector-security-maps.adoc
deleted file mode 100644
index bf4a810..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-connector-security-maps.adoc
+++ /dev/null
@@ -1,110 +0,0 @@
-type=page
-status=published
-title=list-connector-security-maps
-next=list-connector-work-security-maps.html
-prev=list-connector-resources.html
-~~~~~~
-list-connector-security-maps
-============================
-
-[[list-connector-security-maps-1]][[GSRFM00159]][[list-connector-security-maps]]
-
-list-connector-security-maps
-----------------------------
-
-lists the security maps belonging to the specified connector connection
-pool
-
-[[sthref1422]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-connector-security-maps [--help] 
-[--securitymap securitymap]
-[--verbose={false|true}] [--target target]
-pool-name
-----
-
-[[sthref1423]]
-
-Description
-
-The `list-connector-security-maps` subcommand lists the security maps
-belonging to the specified connector connection pool.
-
-For this subcommand to succeed, you must have first created a connector
-connection pool using the `create-connector-connection-pool` subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1424]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--securitymap`::
-  Specifies the name of the security map contained within the connector
-  connection pool from which the identity and principals should be
-  listed. With this option, `--verbose` is redundant.
-`--verbose`::
-  If set to `true`, returns a list including the identity, principals,
-  and security name. The default is `false`.
-`--target`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref1425]]
-
-Operands
-
-pool-name::
-  Name of the connector connection pool for which you want to list
-  security maps.
-
-[[sthref1426]]
-
-Examples
-
-[[GSRFM651]][[sthref1427]]
-
-Example 1   Listing the Connector Security Maps
-
-This example lists the existing connector security maps for the pool
-named `connector-Pool1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-security-maps connector-Pool1
-securityMap1
-Command list-connector-security-maps executed successfully.
-----
-
-[[sthref1428]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1429]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
-link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
-link:update-connector-security-map.html#update-connector-security-map-1[`update-connector-security-map`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-connector-work-security-maps.adoc b/docs/reference-manual/src/main/jbake/content/list-connector-work-security-maps.adoc
deleted file mode 100644
index bcb577e..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-connector-work-security-maps.adoc
+++ /dev/null
@@ -1,99 +0,0 @@
-type=page
-status=published
-title=list-connector-work-security-maps
-next=list-containers.html
-prev=list-connector-security-maps.html
-~~~~~~
-list-connector-work-security-maps
-=================================
-
-[[list-connector-work-security-maps-1]][[GSRFM00160]][[list-connector-work-security-maps]]
-
-list-connector-work-security-maps
----------------------------------
-
-lists the work security maps belonging to the specified resource adapter
-
-[[sthref1430]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-connector-work-security-maps [--help] 
-[--securitymap securitymap]
-resource_adapter_name
-----
-
-[[sthref1431]]
-
-Description
-
-The `list-connector-work-security-maps` subcommand lists the work
-security maps belonging to the specified resource adapter.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1432]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--securitymap`::
-  Specifies the name of the security map contained within the resource
-  adapter from which the identity and principals should be listed.
-
-[[sthref1433]]
-
-Operands
-
-resource_adapter_name::
-  The name of the resource adapter for which you want to list security
-  maps.
-
-[[sthref1434]]
-
-Examples
-
-[[GSRFM652]][[sthref1435]]
-
-Example 1   Listing Connector Work Security Maps
-
-This example lists the current connector work security maps for the
-resource adapter named `my_resource_adapter`.
-
-[source,oac_no_warn]
-----
-asadmin> list-connector-work-security-maps my_resource_adapter
-workSecurityMap1: EIS principal=eis-principal-2, mapped principal=server-principal-2
-workSecurityMap1: EIS principal=eis-principal-1, mapped principal=server-principal-1
-workSecurityMap2: EIS principal=eis-principal-2, mapped principal=server-principal-2
-workSecurityMap2: EIS principal=eis-principal-1, mapped principal=server-principal-1
-Command list-connector-work-security-maps executed successfully.
-----
-
-[[sthref1436]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1437]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
-link:delete-connector-work-security-map.html#delete-connector-work-security-map-1[`delete-connector-work-security-map`(1)],
-link:update-connector-work-security-map.html#update-connector-work-security-map-1[`update-connector-work-security-map`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-containers.adoc b/docs/reference-manual/src/main/jbake/content/list-containers.adoc
deleted file mode 100644
index f33faa8..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-containers.adoc
+++ /dev/null
@@ -1,94 +0,0 @@
-type=page
-status=published
-title=list-containers
-next=list-context-services.html
-prev=list-connector-work-security-maps.html
-~~~~~~
-list-containers
-===============
-
-[[list-containers-1]][[GSRFM00161]][[list-containers]]
-
-list-containers
----------------
-
-lists application containers
-
-[[sthref1438]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-containers [--help]
-----
-
-[[sthref1439]]
-
-Description
-
-The `list-containers` subcommand displays a list of application
-containers.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1440]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1441]]
-
-Examples
-
-[[GSRFM653]][[sthref1442]]
-
-Example 1   Listing the Application Containers
-
-This example lists the current application containers.
-
-[source,oac_no_warn]
-----
-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 : osgi
-Container : security
-Container : webbeans
-
-Command list-containers executed successfully.
-----
-
-[[sthref1443]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1444]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-commands.html#list-commands-1[`list-commands`(1)],
-link:list-components.html#list-components-1[`list-components`(1)],
-link:list-modules.html#list-modules-1[`list-modules`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-context-services.adoc b/docs/reference-manual/src/main/jbake/content/list-context-services.adoc
deleted file mode 100644
index b406f4c..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-context-services.adoc
+++ /dev/null
@@ -1,102 +0,0 @@
-type=page
-status=published
-title=list-context-services
-next=list-custom-resources.html
-prev=list-containers.html
-~~~~~~
-list-context-services
-=====================
-
-[[list-context-services-1]][[GSRFM865]][[list-context-services]]
-
-list-context-services
----------------------
-
-lists context service resources
-
-[[sthref1445]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-context-services [--help]
-[target]
-----
-
-[[sthref1446]]
-
-Description
-
-The `list-context-services` subcommand lists context service resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1447]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1448]]
-
-Operands
-
-target::
-  Specifies the target for which context service resources are to be
-  listed. Valid targets are: +
-  `server`;;
-    Lists the resources on the default server instance. This is the
-    default value.
-  `domain`;;
-    Lists the resources for the domain.
-  cluster-name;;
-    Lists the resources on all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the resources on a specified server instance.
-
-[[sthref1449]]
-
-Examples
-
-[[GSRFM866]][[sthref1450]]
-
-Example 1   Listing Context Service Resources
-
-This example lists context service resources on the default server
-instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-context-services
-concurrent/__defaultContextService
-concurrent/myContextService1
-concurrent/myContextService2
-Command list-context-services executed successfully.
-----
-
-[[sthref1451]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1452]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-context-service.html#create-context-service-1[`create-context-service`(1)],
-link:delete-context-service.html#delete-context-service-1[`delete-context-service`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-custom-resources.adoc b/docs/reference-manual/src/main/jbake/content/list-custom-resources.adoc
deleted file mode 100644
index 03862aa..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-custom-resources.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=list-custom-resources
-next=list-domains.html
-prev=list-context-services.html
-~~~~~~
-list-custom-resources
-=====================
-
-[[list-custom-resources-1]][[GSRFM00162]][[list-custom-resources]]
-
-list-custom-resources
----------------------
-
-gets all custom resources
-
-[[sthref1453]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-custom-resources [--help] 
-[target]
-----
-
-[[sthref1454]]
-
-Description
-
-The `list-custom-resources` subcommand lists the custom resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1455]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1456]]
-
-Operands
-
-target::
-  This operand specifies the location of the custom resources. Valid
-  targets are: +
-  `server`;;
-    Lists the resources on the default server instance. This is the
-    default value
-  `domain`;;
-    Lists the resources in the domain.
-  cluster_name;;
-    Lists the resources for every server instance in the cluster.
-  instance_name;;
-    Lists the resources for a particular server instance.
-
-[[sthref1457]]
-
-Examples
-
-[[GSRFM654]][[sthref1458]]
-
-Example 1   Listing Custom Resources
-
-This example lists the current custom resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-custom-resources
-sample_custom_resource01
-sample_custom_resource02
-Command list-custom-resources executed successfully.
-----
-
-[[GSRFM655]][[sthref1459]]
-
-Example 2   Using the list-custom-resources command with a target
-
-The following example displays the usage of this command.
-
-[source,oac_no_warn]
-----
-asadmin> list-custom-resources --user admin --passwordfile 
-passwords.txt --host plum --port 4848 target6 
-
-sample_custom_resource03
-sample_custom_resource04
-Command list-custom-resources executed successfully.
-----
-
-[[sthref1460]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1461]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-custom-resource.html#create-custom-resource-1[`create-custom-resource`(1)],link:delete-custom-resource.html#delete-custom-resource-1[`delete-custom-resource`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-domains.adoc b/docs/reference-manual/src/main/jbake/content/list-domains.adoc
deleted file mode 100644
index eb0233f..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-domains.adoc
+++ /dev/null
@@ -1,106 +0,0 @@
-type=page
-status=published
-title=list-domains
-next=list-file-groups.html
-prev=list-custom-resources.html
-~~~~~~
-list-domains
-============
-
-[[list-domains-1]][[GSRFM00163]][[list-domains]]
-
-list-domains
-------------
-
-lists the domains in the specified directory
-
-[[sthref1462]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-domains [--help]
-[--domaindir domaindir]
-[--long={false|true}]
-[--header={false|true}]
-----
-
-[[sthref1463]]
-
-Description
-
-The `list-domains` subcommand lists the domains in the specified domains
-directory. If the domains directory is not specified, the domains in the
-default directory are listed. If there is more that one domains
-directory, the `--domaindir` option must be specified. The status of
-each domain is included.
-
-This subcommand is supported in local mode only.
-
-[[sthref1464]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--domaindir`::
-  The directory where the domains are to be listed. If specified, the
-  path must be accessible in the files stem. If not specified, the
-  domains in the domain root directory are listed. The default location
-  of the domain root directory is as-install`/domains`.
-`--long`::
-`-l`::
-  Displays detailed information about the administration servers in the
-  listed domains, including host names and port numbers. The default
-  value is `false`.
-`--header`::
-`-h`::
-  Specifies whether a header is displayed when the `--long` option is
-  used. The default value is `true`. To suppress the header, set the
-  `--header` option to `false`.
-
-[[sthref1465]]
-
-Examples
-
-[[GSRFM656]][[sthref1466]]
-
-Example 1   Listing Domains
-
-This example lists the domains in the default directory.
-
-[source,oac_no_warn]
-----
-asadmin> list-domains
-Name: domain1 Status: Running
-Name: domain2 Status: Not running
-Name: domain4 Status: Running, restart required to apply configuration changes
-Command list-domains executed successfully
-----
-
-[[sthref1467]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1468]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-domain.html#create-domain-1[`create-domain`(1)],
-link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-file-groups.adoc b/docs/reference-manual/src/main/jbake/content/list-file-groups.adoc
deleted file mode 100644
index 0ed1d97..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-file-groups.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=list-file-groups
-next=list-file-users.html
-prev=list-domains.html
-~~~~~~
-list-file-groups
-================
-
-[[list-file-groups-1]][[GSRFM00164]][[list-file-groups]]
-
-list-file-groups
-----------------
-
-lists file groups
-
-[[sthref1469]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-file-groups [--help] 
-[--name username] [--authrealmname auth_realm_name] 
-[--target target]
-----
-
-[[sthref1470]]
-
-Description
-
-The `list-file-groups` subcommand lists the file users and groups
-supported by the file realm authentication. This subcommand lists
-available groups in the file user. If the `--name` option is not
-specified, all groups are listed.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1471]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  Identifies the name of the file user for whom the groups will be
-  listed.
-`--authrealmname`::
-  The name of the authentication realm for which to list available
-  groups.
-`--target`::
-  This option specifies which configurations you can list. Valid targets
-  are: +
-  `server`;;
-    Lists the file groups in the current server. This is the default
-    value.
-  cluster_name;;
-    Lists the file groups in a cluster.
-  instance_name;;
-    Lists the file groups for a particular instance.
-
-[[sthref1472]]
-
-Examples
-
-[[GSRFM657]][[sthref1473]]
-
-Example 1   Listing Groups in all File Realms
-
-This example list all file realm groups defined for the server.
-
-[source,oac_no_warn]
-----
-asadmin> list-file-groups
-staff
-manager
-Command list-file-groups executed successfully
-----
-
-[[sthref1474]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1475]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
-link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
-link:list-file-users.html#list-file-users-1[`list-file-users`(1)],
-link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-file-users.adoc b/docs/reference-manual/src/main/jbake/content/list-file-users.adoc
deleted file mode 100644
index cf6135e..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-file-users.adoc
+++ /dev/null
@@ -1,102 +0,0 @@
-type=page
-status=published
-title=list-file-users
-next=list-http-lb-configs.html
-prev=list-file-groups.html
-~~~~~~
-list-file-users
-===============
-
-[[list-file-users-1]][[GSRFM00165]][[list-file-users]]
-
-list-file-users
----------------
-
-lists the file users
-
-[[sthref1476]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-file-users [--help] 
-[--authrealmname auth_realm_name] [target]
-----
-
-[[sthref1477]]
-
-Description
-
-The `list-file-users` subcommand displays a list of file users supported
-by file realm authentication.
-
-[[sthref1478]]
-
-Options
-
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--authrealmname`::
-  Lists only the users in the specified authentication realm.
-
-[[sthref1479]]
-
-Operands
-
-target::
-  Specifies the target for which you want to list file users. The
-  following values are valid: +
-  `server`;;
-    Lists the file users on the default server instance. This is the
-    default value.
-  configuration_name;;
-    Lists the file users in the specified configuration.
-  cluster_name;;
-    Lists the file users on all server instances in the specified
-    cluster.
-  instance_name;;
-    Lists the file users on a specified server instance.
-
-[[sthref1480]]
-
-Examples
-
-[[GSRFM658]][[sthref1481]]
-
-Example 1   Listing Users in a Specific File Realm
-
-The following example lists the users in the file realm named
-`sample_file_realm`.
-
-[source,oac_no_warn]
-----
-asadmin> list-file-users --authrealmname sample_file_realm
-sample_user05
-sample_user08
-sample_user12
-Command list-file-users executed successfully
-----
-
-[[sthref1482]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1483]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
-link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
-link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
-link:update-file-user.html#update-file-user-1[`update-file-user`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-http-lb-configs.adoc b/docs/reference-manual/src/main/jbake/content/list-http-lb-configs.adoc
deleted file mode 100644
index 9afc959..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-http-lb-configs.adoc
+++ /dev/null
@@ -1,118 +0,0 @@
-type=page
-status=published
-title=list-http-lb-configs
-next=list-http-lbs.html
-prev=list-file-users.html
-~~~~~~
-list-http-lb-configs
-====================
-
-[[list-http-lb-configs-1]][[GSRFM00166]][[list-http-lb-configs]]
-
-list-http-lb-configs
---------------------
-
-lists load balancer configurations
-
-[[sthref1484]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-http-lb-configs [--help] 
-[target]
-----
-
-[[sthref1485]]
-
-Description
-
-The `list-http-lb-configs` subcommand lists the load balancer
-configurations. List them all or list them by the cluster or server
-instance they reference.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref1486]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1487]]
-
-Operands
-
-target::
-  Lists the load balancers by target. Valid values are: +
-  * cluster_name- The name of a target cluster.
-  * instance_name- The name of a target server instance.
-
-[[sthref1488]]
-
-Examples
-
-[[GSRFM659]][[sthref1489]]
-
-Example 1   Listing Load Balancer Configurations Without a Target
-
-This example lists all load balancer configurations defined for all
-\{product---name} clusters and instances.
-
-[source,oac_no_warn]
-----
-asadmin> list-http-lb-configs
-
-mycluster-http-lb-config
-serverinstlb
-Command list-http-lb-configs executed successfully.
-----
-
-[[GSRFM660]][[sthref1490]]
-
-Example 2   Listing Load Balancer Configurations for a Specific Target
-
-This example lists the load balancer configuration defined for a cluster
-named `mycluster`.
-
-[source,oac_no_warn]
-----
-asadmin> list-http-lb-configs mycluster
-
-mycluster-http-lb-config
-Command list-http-lb-configs executed successfully.
-----
-
-[[sthref1491]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1492]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)],
-link:delete-http-lb-config.html#delete-http-lb-config-1[`delete-http-lb-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-http-lbs.adoc b/docs/reference-manual/src/main/jbake/content/list-http-lbs.adoc
deleted file mode 100644
index 0957051..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-http-lbs.adoc
+++ /dev/null
@@ -1,130 +0,0 @@
-type=page
-status=published
-title=list-http-lbs
-next=list-http-listeners.html
-prev=list-http-lb-configs.html
-~~~~~~
-list-http-lbs
-=============
-
-[[list-http-lbs-1]][[GSRFM00167]][[list-http-lbs]]
-
-list-http-lbs
--------------
-
-lists load balancers
-
-[[sthref1493]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-http-lbs [--help]
-[--long={false|true}]
-[--output output]
-[--header={false|true}]
-[name]
-----
-
-[[sthref1494]]
-
-Description
-
-Use the `list-http-lbs` subcommand to list physical load balancers.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is only applicable to Oracle GlassFish Server. This
-subcommand is not applicable to GlassFish Server Open Source Edition.
-
-=======================================================================
-
-
-[[sthref1495]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Displays detailed information about each load balancer. The default
-  value is `false.`
-`--output`::
-`-o`::
-  Displays specific details about each load balancer. Use a
-  comma-separated list to specify the details you want to display and
-  their order. For example,
-  `list-http-lbs --output name,device-host,device-port`. The values are
-  case-insensitive. +
-  Possible values are as follows: +
-  `device-host`;;
-    Displays the device host or the IP address of the load balancing
-    device. This host or IP is where the physical load balancer resides.
-  `name`;;
-    Displays the name of the load balancer.
-  `auto-apply-enabled`;;
-    Displays whether the Auto Apply feature is enabled.
-  `lb-config-name`;;
-    Displays the name of the load balancer configuration.
-  `device-port`;;
-    Displays the port used to communicate with the load balancing
-    device.
-`--header`::
-`-h`::
-  Specifies whether column headings are displayed when the `--long`
-  option is used. The default value is `true`. To suppress the headings,
-  set the `--header` option to `false`.
-
-[[sthref1496]]
-
-Operands
-
-name::
-  The name of the load balancer for which you want to display details.
-
-[[sthref1497]]
-
-Examples
-
-[[GSRFM661]][[sthref1498]]
-
-Example 1   Listing Physical Load Balancers for a Domain
-
-This example lists all physical load balancers defined for a domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-http-lbs
-
-lb1
-lb2
-Command list-http-lbs executed successfully.
-----
-
-[[sthref1499]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1500]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
-link:delete-http-lb.html#delete-http-lb-1[`delete-http-lb`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-http-listeners.adoc b/docs/reference-manual/src/main/jbake/content/list-http-listeners.adoc
deleted file mode 100644
index fc2b2e1..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-http-listeners.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=list-http-listeners
-next=list-iiop-listeners.html
-prev=list-http-lbs.html
-~~~~~~
-list-http-listeners
-===================
-
-[[list-http-listeners-1]][[GSRFM00168]][[list-http-listeners]]
-
-list-http-listeners
--------------------
-
-lists the existing network listeners
-
-[[sthref1501]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-http-listeners [--help]
-[target]
-----
-
-[[sthref1502]]
-
-Description
-
-The `list-http-listeners` subcommand lists the existing network
-listeners.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1503]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1504]]
-
-Operands
-
-target::
-  Restricts the listing to network listeners for a specified target.
-  Valid values are as follows: +
-  `server`;;
-    Lists the netowork listeners for the default server instance. This
-    is the default value.
-  configuration-name;;
-    Lists the network listeners for the specified configuration.
-  cluster-name;;
-    Lists the network listeners for all server instances in the
-    specified cluster.
-  instance-name;;
-    Lists the network listeners for the specified server instance.
-
-[[sthref1505]]
-
-Examples
-
-[[GSRFM662]][[sthref1506]]
-
-Example 1   Listing Network Listeners
-
-The following command lists all the network listeners for the server
-instance:
-
-[source,oac_no_warn]
-----
-asadmin> list-http-listeners
-http-listener-1
-http-listener-2
-admin-listener
-Command list-http-listeners executed successfully.
-----
-
-[[sthref1507]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1508]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-http-listener.html#create-http-listener-1[`create-http-listener`(1)],
-link:delete-http-listener.html#delete-http-listener-1[`delete-http-listener`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-iiop-listeners.adoc b/docs/reference-manual/src/main/jbake/content/list-iiop-listeners.adoc
deleted file mode 100644
index e4069e6..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-iiop-listeners.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=list-iiop-listeners
-next=list-instances.html
-prev=list-http-listeners.html
-~~~~~~
-list-iiop-listeners
-===================
-
-[[list-iiop-listeners-1]][[GSRFM00169]][[list-iiop-listeners]]
-
-list-iiop-listeners
--------------------
-
-lists the existing IIOP listeners
-
-[[sthref1509]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-iiop-listeners [--help]
-[target]
-----
-
-[[sthref1510]]
-
-Description
-
-The `list-iiop-listeners` subcommand lists the existing IIOP listeners.
-This subcommand is supported in remote mode only.
-
-[[sthref1511]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1512]]
-
-Operands
-
-target::
-  This operand specifies the target for which the IIOP listeners are to
-  be listed. Valid values are: +
-  `server`;;
-    Lists the listeners in the default server instance `server` and is
-    the default value.
-  configuration_name;;
-    Lists the listeners in the specified configuration.
-  cluster_name;;
-    Lists the listeners in the specified cluster.
-  instance_name;;
-    Lists the listeners in a particular server instance.
-
-[[sthref1513]]
-
-Examples
-
-[[GSRFM663]][[sthref1514]]
-
-Example 1   Using the list-iiop-listeners subcommand
-
-The following command lists all the IIOP listeners for the server
-instance:
-
-[source,oac_no_warn]
-----
-asadmin> list-iiop-listeners
-orb-listener-1
-SSL
-SSL_MUTUALAUTH
-sample_iiop_listener
-Command list-iiop-listeners executed successfully.
-----
-
-[[sthref1515]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1516]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-iiop-listener.html#create-iiop-listener-1[`create-iiop-listener`(1)],
-link:delete-iiop-listener.html#delete-iiop-listener-1[`delete-iiop-listener`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-instances.adoc b/docs/reference-manual/src/main/jbake/content/list-instances.adoc
deleted file mode 100644
index 9b14ce4..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-instances.adoc
+++ /dev/null
@@ -1,228 +0,0 @@
-type=page
-status=published
-title=list-instances
-next=list-jacc-providers.html
-prev=list-iiop-listeners.html
-~~~~~~
-list-instances
-==============
-
-[[list-instances-1]][[GSRFM00170]][[list-instances]]
-
-list-instances
---------------
-
-lists \{product---name} instances in a domain
-
-[[sthref1517]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-instances [--help] 
-[--timeoutmsec timeout] 
-[--long={false|true} | --nostatus={false|true}]
-[--standaloneonly={false|true} | target]
-----
-
-[[sthref1518]]
-
-Description
-
-The `list-instances` subcommand lists \{product---name} instances in a
-domain. The list can be filtered by cluster, instance, node, or
-configuration.
-
-The subcommand displays every \{product---name} instance in the
-specified target, regardless of how each instance was created. For
-example, this subcommand lists instances that were created by using the
-link:create-instance.html#create-instance-1[`create-instance`(1)]
-subcommand and by using the
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-subcommand.
-
-By default, the subcommand indicates whether each instance that is
-listed is running. Options of this subcommand control the information
-that is displayed for each instance.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1519]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--timeoutmsec`::
-  The time limit in milliseconds for determining the status of
-  instances. The default is 2,000, which is equivalent to 2 seconds.
-`--long`::
-`-l`::
-  Specifies whether detailed information is displayed for each instance
-  that is listed. +
-  The `--long` option and `--nostatus` option are mutually exclusive. If
-  both options are specified in the same command, an error occurs. +
-  Valid values are as follows: +
-  `true`;;
-    The following details are displayed for each instance that is
-    listed: +
-    * The name of the instance
-    * The name of the host where the instance's node resides
-    * The HTTP port on which the instance listens for administration
-    requests
-    * The process identifier (PID) of the instance process or -1 if the
-    instance is not running
-    * The name of the cluster of which the instance is a member, if any
-    * The state of the instance, which is `running` or `not running` +
-    When an instance is listed, some configuration changes in the domain
-    administration server (DAS) for the instance might not have been
-    applied to the instance itself. In this situation, the commands that
-    are required to apply the changes are listed adjacent to the state
-    of the instance. The maximum number of commands that are listed for
-    an instance is 10.
-  `false`;;
-    Only the name of the instance and an indication of whether the
-    instance is running are displayed (default). The length of time that
-    the instance has been running is not displayed.
-`--nostatus`::
-  Specifies whether information about whether instances are running is
-  suppressed. +
-  The `--long` option and `--nostatus` option are mutually exclusive. If
-  both options are specified in the same command, an error occurs. +
-  Valid values are as follows: +
-  `true`;;
-    Information about whether instances are running is suppressed. Only
-    the name of each instance is displayed.
-  `false`;;
-    Information about whether instances are running is displayed
-    (default).
-`--standaloneonly`::
-  Specifies whether only standalone instances are listed. +
-  The `--standaloneonly` option and the target operand and are mutually
-  exclusive. If both the `--standaloneonly` option and the target
-  operand are specified in the same command, an error occurs. +
-  Valid values are as follows: +
-  `true`;;
-    Only standalone instances are listed.
-  `false`;;
-    All instances in the specified target are listed (default).
-
-[[sthref1520]]
-
-Operands
-
-target::
-  Filters the list of \{product---name} instances by specifying the
-  target for which instances are listed. +
-  The target operand and the `--standaloneonly` option are mutually
-  exclusive. If both the target operand and the `--standaloneonly`
-  option are specified in the same command, an error occurs. +
-  Valid values are as follows: +
-  `domain`;;
-    Lists all instances in the domain (default).
-  cluster-name;;
-    Lists the instances that are members of the specified cluster.
-  instance-name;;
-    Lists only the specified instance.
-  node-name;;
-    Lists the instances that reside on the specified node.
-  configuration-name;;
-    Lists all instances whose configuration is defined by the specified
-    named configuration.
-
-[[sthref1521]]
-
-Examples
-
-[[GSRFM664]][[sthref1522]]
-
-Example 1   Listing Basic Information About All \{product---name}
-Instances in a Domain
-
-This example lists the name and status of all \{product---name}
-instances in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances
-pmd-i-sj02 running
-yml-i-sj02 running
-pmd-i-sj01 running
-yml-i-sj01 running
-pmdsa1 not running
-
-Command list-instances executed successfully.
-----
-
-[[GSRFM665]][[sthref1523]]
-
-Example 2   Listing Detailed Information About All \{product---name}
-Instances in a Domain
-
-This example lists detailed information about all \{product---name}
-instances in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances --long=true
-NAME        HOST       PORT   PID    CLUSTER     STATE         
-pmd-i-sj01  sj01       24848  31310  pmdcluster   running      
-yml-i-sj01  sj01       24849  25355  ymlcluster   running      
-pmdsa1      localhost  24848  -1     ---          not running  
-pmd-i-sj02  sj02       24848  22498  pmdcluster   running      
-yml-i-sj02  sj02       24849  20476  ymlcluster   running      
-ymlsa1      localhost  24849  -1     ---          not running  
-Command list-instances executed successfully.
-----
-
-[[GSRFM666]][[sthref1524]]
-
-Example 3   Displaying the Status of an Instance
-
-This example displays status of the instance `pmd-i-sj01`, which is
-running.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances pmd-i-sj01
-pmd-i-sj01 running
-Command list-instances executed successfully.
-----
-
-[[GSRFM667]][[sthref1525]]
-
-Example 4   Listing Only Standalone Instances in a Domain
-
-This example lists only the standalone instances in the current domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-instances --standaloneonly=true
-pmdsa1 not running
-Command list-instances executed successfully.
-----
-
-[[sthref1526]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1527]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jacc-providers.adoc b/docs/reference-manual/src/main/jbake/content/list-jacc-providers.adoc
deleted file mode 100644
index 0a4a14c..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jacc-providers.adoc
+++ /dev/null
@@ -1,108 +0,0 @@
-type=page
-status=published
-title=list-jacc-providers
-next=list-javamail-resources.html
-prev=list-instances.html
-~~~~~~
-list-jacc-providers
-===================
-
-[[list-jacc-providers-1]][[GSRFM00171]][[list-jacc-providers]]
-
-list-jacc-providers
--------------------
-
-enables administrators to list JACC providers defined for a domain
-
-[[sthref1528]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jacc-providers [--help] 
-[target]
-----
-
-[[sthref1529]]
-
-Description
-
-The `list-jacc-providers` subcommand enables administrators to list the
-JACC providers defined for a domain. JACC providers are defined as
-`jacc-provider` elements in the `security-service` element in the
-domain's `domain.xml` file. JACC providers can be created using the
-\{product---name} Admin Console or the `create-jacc-provider`
-subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1530]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1531]]
-
-Operands
-
-target::
-  Specifies the target for which you want to list JACC providers. The
-  following values are valid: +
-  `server`;;
-    Lists the JACC providers on the default server instance. This is the
-    default value.
-  configuration_name;;
-    Lists the JACC providers in the specified configuration.
-  cluster_name;;
-    Lists the JACC providers on all server instances in the specified
-    cluster.
-  instance_name;;
-    Lists the JACC providers on a specified server instance.
-
-[[sthref1532]]
-
-Examples
-
-[[GSRFM668]][[sthref1533]]
-
-Example 1   Listing JACC providers
-
-The following example shows how to list JACC providers for the default
-domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-jacc-providers
-default
-simple
-testJACC
-
-Command list-jacc-providers executed successfully.
-----
-
-[[sthref1534]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1535]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jacc-provider.html#create-jacc-provider-1[`create-jacc-provider`(1)],
-link:delete-jacc-provider.html#delete-jacc-provider-1[`delete-jacc-provider`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-javamail-resources.adoc b/docs/reference-manual/src/main/jbake/content/list-javamail-resources.adoc
deleted file mode 100644
index 1b9b334..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-javamail-resources.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=list-javamail-resources
-next=list-jdbc-connection-pools.html
-prev=list-jacc-providers.html
-~~~~~~
-list-javamail-resources
-=======================
-
-[[list-javamail-resources-1]][[GSRFM00172]][[list-javamail-resources]]
-
-list-javamail-resources
------------------------
-
-lists the existing JavaMail session resources
-
-[[sthref1536]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-javamail-resources [--help] 
-[target]
-----
-
-[[sthref1537]]
-
-Description
-
-The `list-javamail-resources` subcommand lists the existing JavaMail
-session resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1538]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1539]]
-
-Operands
-
-target::
-  This operand specifies the target for which the JavaMail session
-  resources are to be listed. Valid values are: +
-  `server`;;
-    Lists the resources for the default server instance. This is the
-    default value.
-  `domain`;;
-    Lists the resources for the domain.
-  cluster_name;;
-    Lists the resources for the specified cluster.
-  instance_name;;
-    Lists the resources for a particular server instance.
-
-[[sthref1540]]
-
-Examples
-
-[[GSRFM669]][[sthref1541]]
-
-Example 1   Listing JavaMail Resources
-
-This example lists the JavaMail session resources for the server
-instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-javamail-resources
-mail/MyMailSession
-Command list-javamail-resources executed successfuly.
-----
-
-[[sthref1542]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1543]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-javamail-resource.html#create-javamail-resource-1[`create-javamail-resource`(1)],
-link:delete-javamail-resource.html#delete-javamail-resource-1[`delete-javamail-resource`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jdbc-connection-pools.adoc b/docs/reference-manual/src/main/jbake/content/list-jdbc-connection-pools.adoc
deleted file mode 100644
index cee81f0..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jdbc-connection-pools.adoc
+++ /dev/null
@@ -1,82 +0,0 @@
-type=page
-status=published
-title=list-jdbc-connection-pools
-next=list-jdbc-resources.html
-prev=list-javamail-resources.html
-~~~~~~
-list-jdbc-connection-pools
-==========================
-
-[[list-jdbc-connection-pools-1]][[GSRFM00173]][[list-jdbc-connection-pools]]
-
-list-jdbc-connection-pools
---------------------------
-
-lists all JDBC connection pools
-
-[[sthref1544]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jdbc-connection-pools [--help]
-----
-
-[[sthref1545]]
-
-Description
-
-The `list-jdbc-connection-pools` subcommand lists the current JDBC
-connection pools.
-
-This subcommand is supported in the remote mode only.
-
-[[sthref1546]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1547]]
-
-Examples
-
-[[GSRFM670]][[sthref1548]]
-
-Example 1   Listing the JDBC Connection Pools
-
-This example lists the existing JDBC connection pools.
-
-[source,oac_no_warn]
-----
-asadmin> list-jdbc-connection-pools
-sample_derby_pool
-__TimerPool
-Command list-jdbc-connection-pools executed successfully.
-----
-
-[[sthref1549]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1550]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],
-link:delete-jdbc-connection-pool.html#delete-jdbc-connection-pool-1[`delete-jdbc-connection-pool`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jdbc-resources.adoc b/docs/reference-manual/src/main/jbake/content/list-jdbc-resources.adoc
deleted file mode 100644
index 8af678e..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jdbc-resources.adoc
+++ /dev/null
@@ -1,98 +0,0 @@
-type=page
-status=published
-title=list-jdbc-resources
-next=list-jmsdest.html
-prev=list-jdbc-connection-pools.html
-~~~~~~
-list-jdbc-resources
-===================
-
-[[list-jdbc-resources-1]][[GSRFM00174]][[list-jdbc-resources]]
-
-list-jdbc-resources
--------------------
-
-lists all JDBC resources
-
-[[sthref1551]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jdbc-resources [--help] 
-[target target]
-----
-
-[[sthref1552]]
-
-Description
-
-The `list-jdbc-resources` subcommand displays a list of the existing
-JDBC resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1553]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1554]]
-
-Operands
-
-`--target`::
-  This operand specifies which JDBC resources you can list. Usage of
-  this operand is optional. Valid values are: +
-  `server`;;
-    Lists the JDBC resources in the current server and is the default.
-  `domain`;;
-    Lists the JDBC resources in the current domain.
-  cluster_name;;
-    Lists the JDBC resources in a cluster.
-  instance_name;;
-    Lists the JDBC resources for a particular instance.
-
-[[sthref1555]]
-
-Examples
-
-[[GSRFM671]][[sthref1556]]
-
-Example 1   Listing the JDBC Resources
-
-This example lists the current JDBC resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-jdbc-resources
-jdbc/DerbyPool
-Command list-jdbc-resources executed successfully.
-----
-
-[[sthref1557]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1558]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
-link:delete-jdbc-resource.html#delete-jdbc-resource-1[`delete-jdbc-resource`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jms-hosts.adoc b/docs/reference-manual/src/main/jbake/content/list-jms-hosts.adoc
deleted file mode 100644
index 94116dc..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jms-hosts.adoc
+++ /dev/null
@@ -1,98 +0,0 @@
-type=page
-status=published
-title=list-jms-hosts
-next=list-jms-resources.html
-prev=list-jmsdest.html
-~~~~~~
-list-jms-hosts
-==============
-
-[[list-jms-hosts-1]][[GSRFM00176]][[list-jms-hosts]]
-
-list-jms-hosts
---------------
-
-lists the existing JMS hosts
-
-[[sthref1568]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jms-hosts [--help]
-[--target target]
-----
-
-[[sthref1569]]
-
-Description
-
-The `list-jms-hosts` subcommand lists the existing Java Message Service
-(JMS) hosts for the JMS service.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref1570]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Restricts the listing to JMS hosts for a specified target. Valid
-  values are as follows: +
-  `server`;;
-    Lists the JMS hosts for the default server instance. This is the
-    default value.
-  configuration-name;;
-    Lists the JMS hosts for the specified configuration.
-  cluster-name;;
-    Lists the JMS hosts for all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the JMS hosts for the specified server instance.
-
-[[sthref1571]]
-
-Examples
-
-[[GSRFM674]][[sthref1572]]
-
-Example 1   Listing all JMS hosts
-
-The following subcommand lists the JMS hosts for the JMS service.
-
-[source,oac_no_warn]
-----
-asadmin> list-jms-hosts server-config
-default_JMS_host
-MyNewHost
-Command list-jms-hosts executed successfully.
-----
-
-[[sthref1573]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1574]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jms-host.html#create-jms-host-1[`create-jms-host`(1)],
-link:delete-jms-host.html#delete-jms-host-1[`delete-jms-host`(1)],
-link:jms-ping.html#jms-ping-1[`jms-ping`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jms-resources.adoc b/docs/reference-manual/src/main/jbake/content/list-jms-resources.adoc
deleted file mode 100644
index 1a43014..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jms-resources.adoc
+++ /dev/null
@@ -1,124 +0,0 @@
-type=page
-status=published
-title=list-jms-resources
-next=list-jndi-entries.html
-prev=list-jms-hosts.html
-~~~~~~
-list-jms-resources
-==================
-
-[[list-jms-resources-1]][[GSRFM00177]][[list-jms-resources]]
-
-list-jms-resources
-------------------
-
-lists the JMS resources
-
-[[sthref1575]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jms-resources [--help]
-[--restype type]
-[target]
-----
-
-[[sthref1576]]
-
-Description
-
-The `list-jms-resources` subcommand lists the existing Java Message
-Service (JMS) resources (destination and connection factory resources).
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref1577]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--restype`::
-  The JMS resource type can be `jakarta.jms.Topic`, `jakarta.jms.Queue`,
-  `jakarta.jms.ConnectionFactory`, `jakarta.jms.TopicConnectionFactory`, or
-  `jakarta.jms.QueueConnectionFactory`.
-
-[[sthref1578]]
-
-Operands
-
-target::
-  Restricts the listing to resources for a specified target. Valid
-  values are as follows: +
-  `server`;;
-    Lists the resources for the default server instance. This is the
-    default value.
-  `domain`;;
-    Lists the resources for the domain.
-  cluster-name;;
-    Lists the resources for every server instance in the specified
-    cluster.
-  instance-name;;
-    Lists the resources for the specified server instance.
-
-[[sthref1579]]
-
-Examples
-
-[[GSRFM675]][[sthref1580]]
-
-Example 1   Listing all JMS resources
-
-The following subcommand lists all JMS resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-jms-resources
-jms/Queue
-jms/ConnectionFactory
-jms/DurableConnectionFactory
-jms/Topic
-Command list-jms-resources executed successfully.
-----
-
-[[GSRFM676]][[sthref1581]]
-
-Example 2   Listing JMS resources of a specified type
-
-The following subcommand lists all `jakarta.jms.ConnectionFactory`
-resources.
-
-[source,oac_no_warn]
-----
-asadmin> list-jms-resources --restype jakarta.jms.ConnectionFactory
-jms/ConnectionFactory
-jms/DurableConnectionFactory
-Command list-jms-resources executed successfully.
-----
-
-[[sthref1582]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1583]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
-link:delete-jms-resource.html#delete-jms-resource-1[`delete-jms-resource`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jmsdest.adoc b/docs/reference-manual/src/main/jbake/content/list-jmsdest.adoc
deleted file mode 100644
index d5144b7..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jmsdest.adoc
+++ /dev/null
@@ -1,120 +0,0 @@
-type=page
-status=published
-title=list-jmsdest
-next=list-jms-hosts.html
-prev=list-jdbc-resources.html
-~~~~~~
-list-jmsdest
-============
-
-[[list-jmsdest-1]][[GSRFM00175]][[list-jmsdest]]
-
-list-jmsdest
-------------
-
-lists the existing JMS physical destinations
-
-[[sthref1559]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jmsdest [--help]
-[--desttype type]
-[target]
-----
-
-[[sthref1560]]
-
-Description
-
-The `list-jmsdest` subcommand lists the Java Message Service (JMS)
-physical destinations.
-
-This subcommand is supported in remote mode only. Remote `asadmin`
-subcommands require a running domain administration server (DAS).
-
-[[sthref1561]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--desttype`::
-  The type of JMS destination to be listed. Valid values are `topic` and
-  `queue`.
-
-[[sthref1562]]
-
-Operands
-
-target::
-  Restricts the listing to physical destinations for a specified target.
-  Valid values are as follows: +
-  `server`;;
-    Lists the physical destinations for the default server instance.
-    This is the default value.
-  configuration-name;;
-    Lists the physical destinations in the specified configuration.
-  cluster-name;;
-    Lists the physical destinations for every server instance in the
-    specified cluster.
-  instance-name;;
-    Lists the physical destinations for the specified server instance.
-
-[[sthref1563]]
-
-Examples
-
-[[GSRFM672]][[sthref1564]]
-
-Example 1   Listing all physical destinations
-
-The following subcommand lists all the physical destinations.
-
-[source,oac_no_warn]
-----
-asadmin> list-jmsdest
-PhysicalQueue
-PhysicalTopic
-Command list-jmsdest executed successfully.
-----
-
-[[GSRFM673]][[sthref1565]]
-
-Example 2   Listing all physical destinations of a specified type
-
-The following subcommand lists all physical topics.
-
-[source,oac_no_warn]
-----
-asadmin> list-jmsdest --desttype topic
-PhysicalTopic
-Command list-jmsdest executed successfully.
-----
-
-[[sthref1566]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1567]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jmsdest.html#create-jmsdest-1[`create-jmsdest`(1)],
-link:delete-jmsdest.html#delete-jmsdest-1[`delete-jmsdest`(1)],
-link:flush-jmsdest.html#flush-jmsdest-1[`flush-jmsdest`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jndi-entries.adoc b/docs/reference-manual/src/main/jbake/content/list-jndi-entries.adoc
deleted file mode 100644
index fa6e194..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jndi-entries.adoc
+++ /dev/null
@@ -1,111 +0,0 @@
-type=page
-status=published
-title=list-jndi-entries
-next=list-jndi-resources.html
-prev=list-jms-resources.html
-~~~~~~
-list-jndi-entries
-=================
-
-[[list-jndi-entries-1]][[GSRFM00178]][[list-jndi-entries]]
-
-list-jndi-entries
------------------
-
-browses and queries the JNDI tree
-
-[[sthref1584]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jndi-entries [--help]
-[--context context_name]
-[target]
-----
-
-[[sthref1585]]
-
-Description
-
-Use this subcommand to browse and query the JNDI tree.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1586]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--context`::
-  The name of the JNDI context or subcontext. If context is not
-  specified, all entries in the naming service are returned. If context
-  (such as `ejb`) is specified, all those entries are returned.
-
-[[sthref1587]]
-
-Operands
-
-target::
-  This operand specifies the JNDI tree to browse. +
-  Possible values are as follows: +
-  `server`;;
-    Browses the JNDI tree for the default \{product---name} instance
-    (default). The default instance is the domain administration server
-    (DAS).
-  `domain`;;
-    Browses the JNDI tree for the current domain.
-  cluster-name;;
-    Browses the JNDI tree for the specified cluster.
-  instance-name;;
-    Browses the JNDI tree for the specified \{product---name} instance.
-
-[[sthref1588]]
-
-Examples
-
-[[GSRFM677]][[sthref1589]]
-
-Example 1   Browsing the JNDI Tree
-
-This example browses the JNDI tree for the default \{product---name}
-instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-jndi-entries
-java:global: com.sun.enterprise.naming.impl.TransientContext
-jdbc: com.sun.enterprise.naming.impl.TransientContext
-ejb: com.sun.enterprise.naming.impl.TransientContext
-com.sun.enterprise.container.common.spi.util.InjectionManager: 
-com.sun.enterprise.container.common.impl.util.InjectionManagerImpl
-
-Command list-jndi-entries executed successfully.
-----
-
-[[sthref1590]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1591]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
-link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)],
-link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jndi-resources.adoc b/docs/reference-manual/src/main/jbake/content/list-jndi-resources.adoc
deleted file mode 100644
index e53238f..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jndi-resources.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=list-jndi-resources
-next=list-jobs.html
-prev=list-jndi-entries.html
-~~~~~~
-list-jndi-resources
-===================
-
-[[list-jndi-resources-1]][[GSRFM00179]][[list-jndi-resources]]
-
-list-jndi-resources
--------------------
-
-lists all existing JNDI resources
-
-[[sthref1592]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-list-jndi-resources [--help] [target]
-----
-
-[[sthref1593]]
-
-Description
-
-The `list-jndi-resources` subcommand identifies all existing JNDI
-resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1594]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1595]]
-
-Operands
-
-target::
-  The target for which the JNDI resources are to be listed. Valid values
-  are as follows: +
-  `server`;;
-    Lists the JNDI resources on the default server instance. This is the
-    default value.
-  configuration-name;;
-    Lists the JNDI resources for the specified configuration.
-  cluster-name;;
-    Lists the JNDI resources on all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the JNDI resources on a specified server instance.
-
-[[sthref1596]]
-
-Examples
-
-[[GSRFM678]][[sthref1597]]
-
-Example 1   Listing JNDI Resources
-
-This example lists the JNDI resources on the default server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-jndi-resources
-jndi_resource1
-jndi_resource2
-jndi_resource3
-Command list-jndi-resources executed successfully
-----
-
-[[sthref1598]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1599]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jndi-resource.html#create-jndi-resource-1[`create-jndi-resource`(1)],
-link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jobs.adoc b/docs/reference-manual/src/main/jbake/content/list-jobs.adoc
deleted file mode 100644
index dca6d48..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jobs.adoc
+++ /dev/null
@@ -1,95 +0,0 @@
-type=page
-status=published
-title=list-jobs
-next=list-jvm-options.html
-prev=list-jndi-resources.html
-~~~~~~
-list-jobs
-=========
-
-[[list-jobs-1]][[GSRFM867]][[list-jobs]]
-
-list-jobs
----------
-
-lists information about subcommands that were started using
-`asadmin --detach` or that contain progress information
-
-[[sthref1600]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jobs [--help]
-[job_id]
-----
-
-[[sthref1601]]
-
-Description
-
-The `list-jobs` subcommand lists information about subcommands that were
-started using the `asadmin` utility option `--detach` or that contain
-progress information. The `--detach` option detaches long-running
-subcommands and executes them in the background in detach mode.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1602]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1603]]
-
-Operands
-
-job_id::
-  The ID of the job for which you want to list information.
-
-[[sthref1604]]
-
-Examples
-
-[[GSRFM868]][[sthref1605]]
-
-Example 1   Checking Job Status
-
-This example provides information about subcommands that were started
-using `asadmin --detach` or that contain progress information.
-
-[source,oac_no_warn]
-----
-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
-----
-
-[[sthref1606]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1607]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:attach.html#attach-1[`attach`(1)],
-link:configure-managed-jobs.html#configure-managed-jobs-1[`configure-managed-jobs`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-jvm-options.adoc b/docs/reference-manual/src/main/jbake/content/list-jvm-options.adoc
deleted file mode 100644
index b239f27..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-jvm-options.adoc
+++ /dev/null
@@ -1,131 +0,0 @@
-type=page
-status=published
-title=list-jvm-options
-next=list-libraries.html
-prev=list-jobs.html
-~~~~~~
-list-jvm-options
-================
-
-[[list-jvm-options-1]][[GSRFM00180]][[list-jvm-options]]
-
-list-jvm-options
-----------------
-
-lists options for the Java application launcher
-
-[[sthref1608]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-jvm-options [--help] 
-[--target target] 
-[--profiler={false|true}] 
-----
-
-[[sthref1609]]
-
-Description
-
-The `list-jvm-options` subcommand displays a list of command-line
-options that are passed to the Java application launcher when
-\{product---name} is started.
-
-The options are managed by using the JVM Options page of the
-Administration Console or by using the `create-jvm-options` and
-`delete-jvm-options` subcommands.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1610]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you are listing Java application
-  launcher options. +
-  Valid values are as follows: +
-  `server`;;
-    Specifies the DAS (default).
-  instance-name;;
-    Specifies a \{product---name} instance.
-  cluster-name;;
-    Specifies a cluster.
-  configuration-name;;
-    Specifies a named configuration.
-`--profiler`::
-  Specifies whether the Java application launcher options to list are
-  for the profiler. Set this option to true only if a profiler has been
-  configured. If this option is set to true and no profiler is
-  configured, an error occurs. The default is false.
-
-[[sthref1611]]
-
-Examples
-
-[[GSRFM679]][[sthref1612]]
-
-Example 1   Listing the Java Application Launcher Options
-
-This example lists the options that are used by the Java application
-launcher.
-
-[source,oac_no_warn]
-----
-asadmin> list-jvm-options
--Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf
--XX: LogVMOutput
--XX: UnlockDiagnosticVMOptions
--Dcom.sun.enterprise.config.config_environment_factory_class=
-com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
--Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks
--XX:NewRatio=2
--DANTLR_USE_DIRECT_CLASS_LOADING=true
--Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy
--Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
--Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks
--client
--Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${
-com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}
-/lib/ext${path.separator}${com.sun.aas.derbyRoot}/lib
--Xmx512m
--XX:MaxPermSize=192m
--XX:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log
-Command list-jvm-options executed successfully.
-----
-
-[[sthref1613]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1614]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-jvm-options.html#create-jvm-options-1[`create-jvm-options`(1)],
-link:delete-jvm-options.html#delete-jvm-options-1[`delete-jvm-options`(1)]
-
-For more information about the Java application launcher, see the
-reference page for the operating system that you are using:
-
-* Oracle Solaris and Linux: java - the Java application launcher
-(``http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/java.html)
-* Windows: java - the Java application launcher
-(``http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-libraries.adoc b/docs/reference-manual/src/main/jbake/content/list-libraries.adoc
deleted file mode 100644
index af1cb73..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-libraries.adoc
+++ /dev/null
@@ -1,107 +0,0 @@
-type=page
-status=published
-title=list-libraries
-next=list-lifecycle-modules.html
-prev=list-jvm-options.html
-~~~~~~
-list-libraries
-==============
-
-[[list-libraries-1]][[GSRFM00819]][[list-libraries]]
-
-list-libraries
---------------
-
-lists library JAR files on \{product---name}
-
-[[sthref1615]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-libraries [--help] 
-[--type={common|ext|app}]
-----
-
-[[sthref1616]]
-
-Description
-
-The `list-libraries` subcommand lists library archive files on
-\{product---name}.
-
-The `--type` option specifies the library type and the \{product---name}
-directory for which libraries are to be listed.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1617]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--type`::
-  Specifies the library type and the \{product---name} directory for
-  which libraries are listed. Valid values are as follows: +
-  `common`;;
-    Lists the library files for the Common class loader directory,
-    domain-dir`/lib`. This is the default.
-  `ext`;;
-    Lists the library files for the Java optional package directory,
-    domain-dir`/lib/ext`.
-  `app`;;
-    Lists the library files for the application-specific class loader
-    directory, domain-dir`/lib/applibs`. +
-  For more information about these directories, see
-  "link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
-  Edition Application Development Guide.
-
-[[sthref1618]]
-
-Examples
-
-[[GSRFM831]][[sthref1619]]
-
-Example 1   Listing Libraries
-
-This example lists the libraries in the application-specific class
-loader directory on the default server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-libraries --type app
-mylib.jar
-xlib.jar
-ylib.jar
-zlib.jar
-Command list-libraries executed successfully.
-----
-
-[[sthref1620]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1621]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:add-library.html#add-library-1[`add-library`(1)],
-link:remove-library.html#remove-library-1[`remove-library`(1)]
-
-"link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
-Edition Application Development Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-lifecycle-modules.adoc b/docs/reference-manual/src/main/jbake/content/list-lifecycle-modules.adoc
deleted file mode 100644
index d544f05..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-lifecycle-modules.adoc
+++ /dev/null
@@ -1,98 +0,0 @@
-type=page
-status=published
-title=list-lifecycle-modules
-next=list-log-attributes.html
-prev=list-libraries.html
-~~~~~~
-list-lifecycle-modules
-======================
-
-[[list-lifecycle-modules-1]][[GSRFM00181]][[list-lifecycle-modules]]
-
-list-lifecycle-modules
-----------------------
-
-lists the lifecycle modules
-
-[[sthref1622]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-lifecycle-modules [--help] 
-[target]
-----
-
-[[sthref1623]]
-
-Description
-
-The `list-lifecycle-modules` subcommand lists lifecycle modules. A
-lifecycle module provides a means of running a short or long duration
-Java-based task at a specific stage in the server life cycle. This
-subcommand is supported in remote mode only.
-
-[[sthref1624]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1625]]
-
-Operands
-
-target::
-  Indicates the location where lifecycle modules are to be listed. Valid
-  values are +
-  * `server`- Specifies the default server instance as the target for
-  listing lifecycle modules. `server` is the name of the default server
-  instance and is the default value for this operand.
-  * cluster_name- Specifies a particular cluster as the target for
-  listing lifecycle modules.
-  * instance_name- Specifies a particular server instance as the target
-  for listing lifecycle modules.
-
-[[sthref1626]]
-
-Examples
-
-[[GSRFM681]][[sthref1627]]
-
-Example 1   Listing Lifecycle Modules
-
-[source,oac_no_warn]
-----
-asadmin> list-lifecycle-modules
-WSTCPConnectorLCModule
-Command list-lifecycle-modules executed successfully
-----
-
-`WSTCPConnectorLCModule` is the only lifecycle module listed for the
-default target, `server`.
-
-[[sthref1628]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1629]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-lifecycle-module.html#create-lifecycle-module-1[`create-lifecycle-module`(1)],
-link:delete-lifecycle-module.html#delete-lifecycle-module-1[`delete-lifecycle-module`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-log-attributes.adoc b/docs/reference-manual/src/main/jbake/content/list-log-attributes.adoc
deleted file mode 100644
index decf613..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-log-attributes.adoc
+++ /dev/null
@@ -1,121 +0,0 @@
-type=page
-status=published
-title=list-log-attributes
-next=list-loggers.html
-prev=list-lifecycle-modules.html
-~~~~~~
-list-log-attributes
-===================
-
-[[list-log-attributes-1]][[GSRFM00182]][[list-log-attributes]]
-
-list-log-attributes
--------------------
-
-lists all logging attributes defined for a specified target in a domain
-
-[[sthref1630]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-log-attributes [--help] 
-[target]
-----
-
-[[sthref1631]]
-
-Description
-
-The `list-log-attributes` subcommand lists all logging attributes
-currently defined for the specified \{product---name} domain or target
-within a domain. The values listed correspond to the values in the
-`logging.properties` file for the domain.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1632]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1633]]
-
-Operands
-
-target::
-  Valid values are: +
-  * `server` - The default server instance. This is the default value.
-  * configuration_name - The name of a specific configuration.
-  * cluster_name - The name of a target cluster.
-  * instance_name - The name of a target server instance.
-
-[[sthref1634]]
-
-Examples
-
-[[GSRFM682]][[sthref1635]]
-
-Example 1   Listing the Logger Attributes for a Domain
-
-This example lists all loggers attributes for the default domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-log-attributes
-com.sun.enterprise.server.logging.GFFileHandler.alarms <false>
-com.sun.enterprise.server.logging.GFFileHandler.file \
-<${com.sun.aas.instanceRoot}/logs/server.log>
-com.sun.enterprise.server.logging.GFFileHandler.flushFrequency <1>
-com.sun.enterprise.server.logging.GFFileHandler.formatter \
-<com.sun.enterprise.server.logging.UniformLogFormatter>
-com.sun.enterprise.server.logging.GFFileHandler.logtoConsole <false>
-com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles <0>
-com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours <0>
-com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes <2000000>
-com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes <0>
-com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging <false>
-handlers <java.util.logging.ConsoleHandler>
-java.util.logging.ConsoleHandler.formatter \
-<com.sun.enterprise.server.logging.UniformLogFormatter>
-java.util.logging.FileHandler.count <1>
-java.util.logging.FileHandler.formatter <java.util.logging.XMLFormatter>
-java.util.logging.FileHandler.limit <50000>
-java.util.logging.FileHandler.pattern <%h/java%u.log>
-log4j.logger.org.hibernate.validator.util.Version <warn>
-
-Command list-log-attributes executed successfully.
-----
-
-[[sthref1636]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1637]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
-link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
-link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
-link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
-link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-log-levels.adoc b/docs/reference-manual/src/main/jbake/content/list-log-levels.adoc
deleted file mode 100644
index b3ebf7f..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-log-levels.adoc
+++ /dev/null
@@ -1,149 +0,0 @@
-type=page
-status=published
-title=list-log-levels
-next=list-managed-executor-services.html
-prev=list-loggers.html
-~~~~~~
-list-log-levels
-===============
-
-[[list-log-levels-1]][[GSRFM00183]][[list-log-levels]]
-
-list-log-levels
----------------
-
-lists the loggers and their log levels
-
-[[sthref1645]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-log-levels [--help] 
-[--target target]
-----
-
-[[sthref1646]]
-
-Description
-
-The `list-log-levels` subcommand lists the current \{product---name}
-loggers and their log levels. This subcommand reports on all the loggers
-that are listed in the `logging.properties` file. In some cases, loggers
-that have not been created by the respective containers will appear in
-the list.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1647]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  The server, cluster or server instance for which log levels will be
-  listed.
-
-[[sthref1648]]
-
-Operands
-
-target::
-  Valid values are: +
-  * server_name - Default target is `server`. If no target is specified
-  then log levels are listed for the server.
-  * cluster_name - The name of a target cluster.
-  * instance_name - The name of a target server instance.
-
-[[sthref1649]]
-
-Examples
-
-[[GSRFM683]][[sthref1650]]
-
-Example 1   Listing the Log Levels
-
-This example lists the existing loggers and indicates how their log
-levels are set.
-
-[source,oac_no_warn]
-----
-asadmin> list-log-levels
-java.util.logging.ConsoleHandler        <FINEST>
-jakarta.enterprise.resource.corba <INFO>
-jakarta.enterprise.resource.javamail      <INFO>
-jakarta.enterprise.resource.jdo   <INFO>
-jakarta.enterprise.resource.jms   <INFO>
-jakarta.enterprise.resource.jta   <INFO>
-jakarta.enterprise.resource.resourceadapter       <INFO>
-jakarta.enterprise.resource.sqltrace      <FINE>
-jakarta.enterprise.resource.webcontainer.jsf.application  <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.config       <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.context      <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.facelets     <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.lifecycle    <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.managedbean  <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.renderkit    <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.resource     <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.taglib       <INFO>
-jakarta.enterprise.resource.webcontainer.jsf.timing       <INFO>
-jakarta.enterprise.system.container.cmp   <INFO>
-jakarta.enterprise.system.container.ejb   <INFO>
-jakarta.enterprise.system.container.ejb.mdb       <INFO>
-jakarta.enterprise.system.container.web   <INFO>
-jakarta.enterprise.system.core.classloading       <INFO>
-jakarta.enterprise.system.core.config     <INFO>
-jakarta.enterprise.system.core    <INFO>
-jakarta.enterprise.system.core.naming     <INFO>
-jakarta.enterprise.system.core.security   <INFO>
-jakarta.enterprise.system.core.selfmanagement     <INFO>
-jakarta.enterprise.system.core.transaction        <INFO>
-jakarta.enterprise.system <INFO>
-jakarta.enterprise.system.tools.admin     <INFO>
-jakarta.enterprise.system.tools.backup    <INFO>
-jakarta.enterprise.system.tools.deployment        <INFO>
-jakarta.enterprise.system.util    <INFO>
-jakarta.enterprise.system.webservices.registry    <INFO>
-jakarta.enterprise.system.webservices.rpc <INFO>
-jakarta.enterprise.system.webservices.saaj        <INFO>
-javax   <INFO>
-javax.org.glassfish.persistence <INFO>
-org.apache.catalina     <INFO>
-org.apache.coyote       <INFO>
-org.apache.jasper       <INFO>
-org.glassfish.admingui  <INFO>
-org.jvnet.hk2.osgiadapter       <INFO>
-Command list-log-levels executed successfully.
-----
-
-[[sthref1651]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1652]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
-link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
-link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
-link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
-link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-loggers.adoc b/docs/reference-manual/src/main/jbake/content/list-loggers.adoc
deleted file mode 100644
index d4a9aa5..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-loggers.adoc
+++ /dev/null
@@ -1,90 +0,0 @@
-type=page
-status=published
-title=list-loggers
-next=list-log-levels.html
-prev=list-log-attributes.html
-~~~~~~
-list-loggers
-============
-
-[[list-loggers-1]][[GSRFM869]][[list-loggers]]
-
-list-loggers
-------------
-
-lists existing loggers
-
-[[sthref1638]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-loggers [--help]
-----
-
-[[sthref1639]]
-
-Description
-
-The `list-loggers` subcommand lists the existing \{product---name}
-loggers. Internal loggers are not listed. The `list-loggers` subcommand
-lists the logger name, subsystem, and description.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1640]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1641]]
-
-Examples
-
-[[GSRFM870]][[sthref1642]]
-
-Example 1   Listing the Loggers
-
-This example lists the logger name, subsystem, and description for each
-logger. Some lines of output are omitted from this example for
-readability.
-
-[source,oac_no_warn]
-----
-asadmin> list-loggers
-Logger Name                            Subsystem         Logger Description
-...
-jakarta.enterprise.monitoring            Monitoring        Monitoring Logger
-jakarta.enterprise.system.core.ee        AS-CORE           Java EE Core Kernel
-jakarta.enterprise.system.jmx            JMX               JMX System Logger
-jakarta.enterprise.system.tools.admin    ADMIN             Administration Services
-...
-Command list-loggers executed successfully.
-----
-
-[[sthref1643]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1644]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
-link:set-log-file-format.html#set-log-file-format-1[`set-log-file-format`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-managed-executor-services.adoc b/docs/reference-manual/src/main/jbake/content/list-managed-executor-services.adoc
deleted file mode 100644
index 52c2ac1..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-managed-executor-services.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=list-managed-executor-services
-next=list-managed-scheduled-executor-services.html
-prev=list-log-levels.html
-~~~~~~
-list-managed-executor-services
-==============================
-
-[[list-managed-executor-services-1]][[GSRFM871]][[list-managed-executor-services]]
-
-list-managed-executor-services
-------------------------------
-
-lists managed executor service resources
-
-[[sthref1653]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-managed-executor-services [--help]
-[target]
-----
-
-[[sthref1654]]
-
-Description
-
-The `list-managed-executor-services` subcommand lists managed executor
-service resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1655]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1656]]
-
-Operands
-
-target::
-  Specifies the target for which managed executor service resources are
-  to be listed. Valid targets are: +
-  `server`;;
-    Lists the resources on the default server instance. This is the
-    default value.
-  `domain`;;
-    Lists the resources for the domain.
-  cluster-name;;
-    Lists the resources on all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the resources on a specified server instance.
-
-[[sthref1657]]
-
-Examples
-
-[[GSRFM872]][[sthref1658]]
-
-Example 1   Listing Managed Executor Service Resources
-
-This example lists managed executor service resources on the default
-server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-managed-executor-services
-concurrent/__defaultManagedExecutorService
-concurrent/myExecutor1
-concurrent/myExecutor2
-Command list-managed-executor-services executed successfully.
-----
-
-[[sthref1659]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1660]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-managed-executor-service.html#create-managed-executor-service-1[`create-managed-executor-service`(1)],
-link:delete-managed-executor-service.html#delete-managed-executor-service-1[`delete-managed-executor-service`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-managed-scheduled-executor-services.adoc b/docs/reference-manual/src/main/jbake/content/list-managed-scheduled-executor-services.adoc
deleted file mode 100644
index 099c242..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-managed-scheduled-executor-services.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=list-managed-scheduled-executor-services
-next=list-managed-thread-factories.html
-prev=list-managed-executor-services.html
-~~~~~~
-list-managed-scheduled-executor-services
-========================================
-
-[[list-managed-scheduled-executor-services-1]][[GSRFM873]][[list-managed-scheduled-executor-services]]
-
-list-managed-scheduled-executor-services
-----------------------------------------
-
-lists managed scheduled executor service resources
-
-[[sthref1661]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-managed-scheduled-executor-services [--help]
-[target]
-----
-
-[[sthref1662]]
-
-Description
-
-The `list-managed-scheduled-executor-services` subcommand lists managed
-scheduled executor service resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1663]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1664]]
-
-Operands
-
-target::
-  Specifies the target for which managed scheduled executor service
-  resources are to be listed. Valid targets are: +
-  `server`;;
-    Lists the resources on the default server instance. This is the
-    default value.
-  `domain`;;
-    Lists the resources for the domain.
-  cluster-name;;
-    Lists the resources on all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the resources on a specified server instance.
-
-[[sthref1665]]
-
-Examples
-
-[[GSRFM874]][[sthref1666]]
-
-Example 1   Listing Managed Scheduled Executor Service Resources
-
-This example lists managed scheduled executor service resources on the
-default server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-managed-scheduled-executor-services
-concurrent/__defaultManagedScheduledExecutorService
-concurrent/myScheduledExecutor1
-concurrent/myScheduledExecutor2
-Command list-managed-scheduled-executor-services executed successfully.
-----
-
-[[sthref1667]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1668]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-managed-scheduled-executor-service.html#create-managed-scheduled-executor-service-1[`create-managed-scheduled-executor-service`(1)],
-link:delete-managed-scheduled-executor-service.html#delete-managed-scheduled-executor-service-1[`delete-managed-scheduled-executor-service`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-managed-thread-factories.adoc b/docs/reference-manual/src/main/jbake/content/list-managed-thread-factories.adoc
deleted file mode 100644
index 70630a9..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-managed-thread-factories.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=list-managed-thread-factories
-next=list-message-security-providers.html
-prev=list-managed-scheduled-executor-services.html
-~~~~~~
-list-managed-thread-factories
-=============================
-
-[[list-managed-thread-factories-1]][[GSRFM875]][[list-managed-thread-factories]]
-
-list-managed-thread-factories
------------------------------
-
-lists managed thread factory resources
-
-[[sthref1669]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-managed-thread-factories [--help]
-[target]
-----
-
-[[sthref1670]]
-
-Description
-
-The `list-managed-thread-factories` subcommand lists managed thread
-factory resources.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1671]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1672]]
-
-Operands
-
-target::
-  Specifies the target for which managed thread factory resources are to
-  be listed. Valid targets are: +
-  `server`;;
-    Lists the resources on the default server instance. This is the
-    default value.
-  `domain`;;
-    Lists the resources for the domain.
-  cluster-name;;
-    Lists the resources on all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the resources on a specified server instance.
-
-[[sthref1673]]
-
-Examples
-
-[[GSRFM876]][[sthref1674]]
-
-Example 1   Listing Managed Thread Factory Resources
-
-This example lists managed thread factory resources on the default
-server instance.
-
-[source,oac_no_warn]
-----
-asadmin> list-managed-thread-factories
-concurrent/__defaultManagedThreadFactory
-concurrent/myThreadFactory1
-concurrent/myThreadFactory2
-Command list-managed-thread-factories executed successfully.
-----
-
-[[sthref1675]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1676]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-managed-thread-factory.html#create-managed-thread-factory-1[`create-managed-thread-factory`(1)],
-link:delete-managed-thread-factory.html#delete-managed-thread-factory-1[`delete-managed-thread-factory`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-message-security-providers.adoc b/docs/reference-manual/src/main/jbake/content/list-message-security-providers.adoc
deleted file mode 100644
index d514b7a..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-message-security-providers.adoc
+++ /dev/null
@@ -1,110 +0,0 @@
-type=page
-status=published
-title=list-message-security-providers
-next=list-modules.html
-prev=list-managed-thread-factories.html
-~~~~~~
-list-message-security-providers
-===============================
-
-[[list-message-security-providers-1]][[GSRFM00184]][[list-message-security-providers]]
-
-list-message-security-providers
--------------------------------
-
-lists all security message providers for the given message layer
-
-[[sthref1677]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-message-security-providers [--help]
---layer message_layer
-[target]
-----
-
-[[sthref1678]]
-
-Description
-
-The `list-message-security-providers` subcommand enables administrators
-to list all security message providers (`provider-config` sub-elements)
-for the given message layer (`message-security-config` element of
-`domain.xml`).
-
-This subcommand is supported in remote mode only.
-
-[[sthref1679]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--layer`::
-  The message-layer for which the provider has to be listed. The default
-  value is `HttpServlet`.
-
-[[sthref1680]]
-
-Operands
-
-target::
-  Restricts the listing to message security providers for a specific
-  target. Valid values include: +
-  `server`;;
-    Lists providers for the default server instance `server` and is the
-    default value.
-  `domain`;;
-    Lists providers for the domain.
-  cluster;;
-    Lists providers for the server instances in the cluster.
-  instance;;
-    Lists providers for a particular server instance.
-
-[[sthref1681]]
-
-Examples
-
-[[GSRFM684]][[sthref1682]]
-
-Example 1   Listing message security providers
-
-The following example shows how to list message security providers for a
-message layer.
-
-[source,oac_no_warn]
-----
-asadmin> list-message-security-providers 
---layer SOAP 
-XWS_ClientProvider
-ClientProvider
-XWS_ServerProvider
-ServerProvider
-Command list-message-security-providers executed successfully.
-----
-
-[[sthref1683]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1684]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-message-security-provider.html#create-message-security-provider-1[`create-message-security-provider`(1)],
-link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-modules.adoc b/docs/reference-manual/src/main/jbake/content/list-modules.adoc
deleted file mode 100644
index a703ce3..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-modules.adoc
+++ /dev/null
@@ -1,106 +0,0 @@
-type=page
-status=published
-title=list-modules
-next=list-network-listeners.html
-prev=list-message-security-providers.html
-~~~~~~
-list-modules
-============
-
-[[list-modules-1]][[GSRFM00185]][[list-modules]]
-
-list-modules
-------------
-
-lists \{product---name} modules
-
-[[sthref1685]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-modules [--help]
-----
-
-[[sthref1686]]
-
-Description
-
-The `list-modules` subcommand displays a list of modules that are
-accessible to the \{product---name} module subsystem. The version of
-each module is shown.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1687]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1688]]
-
-Examples
-
-[[GSRFM685]][[sthref1689]]
-
-Example 1   Listing \{product---name} Modules
-
-This example provides a partial listing of modules that are accessible
-to the \{product---name} module subsystem
-
-[source,oac_no_warn]
-----
-asadmin> list-modules
-List Of Modules
-
-Module : org.glassfish.transaction.jts:3.0.0.b66
-    Module Characteristics : List of Jars implementing the module
-        Jar : file:/home/gfuser/GlassFish/glassfishv3/glassfish/modules/jts.jar
-    Module Characteristics : Provides to following services
-    Module Characteristics : List of imported modules
-        Imports : org.glassfish.transaction.jts:3.0.0.b66
-Module : com.sun.enterprise.tiger-types-osgi:0.3.96
-Module : org.glassfish.bean-validator:3.0.0.JBoss-400Beta3A
-Module : org.glassfish.core.kernel:3.0.0.b66
-    Module Characteristics : Provides to following services
-    Module Characteristics : List of imported modules
-        Imports : org.glassfish.core.kernel:3.0.0.b66
-    Module Characteristics : List of Jars implementing the module
-        Jar : file:/home/gfuser/GlassFish/glassfishv3/glassfish/modules/kernel.jar
-Module : org.glassfish.common.util:3.0.0.b66
-    Module Characteristics : List of Jars implementing the module
-        Jar : file:/home/gfuser/GlassFish/glassfishv3/glassfish/modules/common-util.jar
-    Module Characteristics : Provides to following services
-    Module Characteristics : List of imported modules
-        Imports : org.glassfish.common.util:3.0.0.b66
-...
-Command list-modules executed successfully
-----
-
-[[sthref1690]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1691]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-commands.html#list-commands-1[`list-commands`(1)],
-link:list-components.html#list-components-1[`list-components`(1)],
-link:list-containers.html#list-containers-1[`list-containers`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-network-listeners.adoc b/docs/reference-manual/src/main/jbake/content/list-network-listeners.adoc
deleted file mode 100644
index 66cf12d..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-network-listeners.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=list-network-listeners
-next=list-nodes.html
-prev=list-modules.html
-~~~~~~
-list-network-listeners
-======================
-
-[[list-network-listeners-1]][[GSRFM00186]][[list-network-listeners]]
-
-list-network-listeners
-----------------------
-
-lists the existing network listeners
-
-[[sthref1692]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-network-listeners [--help]
-[target]
-----
-
-[[sthref1693]]
-
-Description
-
-The `list-network-listeners` subcommand lists the existing network
-listeners. This subcommand is supported in remote mode only.
-
-[[sthref1694]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1695]]
-
-Operands
-
-target::
-  Restricts the listing to network listeners for a specified target.
-  Valid values are as follows: +
-  `server`;;
-    Lists the network listeners for the default server instance. This is
-    the default value.
-  configuration-name;;
-    Lists the network listeners for the specified configuration.
-  cluster-name;;
-    Lists the network listeners for all server instances in the
-    specified cluster.
-  instance-name;;
-    Lists the network listeners for the specified server instance.
-
-[[sthref1696]]
-
-Examples
-
-[[GSRFM686]][[sthref1697]]
-
-Example 1   Listing Network Listeners
-
-The following command lists all the network listeners for the server
-instance:
-
-[source,oac_no_warn]
-----
-asadmin> list-network-listeners
-admin-listener
-http-listener-1
-https-listener-2
-Command list-network-listeners executed successfully.
-----
-
-[[sthref1698]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1699]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
-link:delete-network-listener.html#delete-network-listener-1[`delete-network-listener`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-nodes-config.adoc b/docs/reference-manual/src/main/jbake/content/list-nodes-config.adoc
deleted file mode 100644
index 06cbcec..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-nodes-config.adoc
+++ /dev/null
@@ -1,162 +0,0 @@
-type=page
-status=published
-title=list-nodes-config
-next=list-nodes-dcom.html
-prev=list-nodes.html
-~~~~~~
-list-nodes-config
-=================
-
-[[list-nodes-config-1]][[GSRFM00188]][[list-nodes-config]]
-
-list-nodes-config
------------------
-
-lists all \{product---name} nodes that do not support remote
-communication in a domain
-
-[[sthref1709]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-nodes-config [--help] 
-[--long={false|true}]
-----
-
-[[sthref1710]]
-
-Description
-
-The `list-nodes-config` subcommand lists all \{product---name} nodes
-that do not support remote communication in a domain.
-
-
-[NOTE]
-=======================================================================
-
-To list all nodes in a domain regardless of the type of the node, run
-the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-=======================================================================
-
-
-By default, the subcommand displays the following information for each
-node that is listed:
-
-* The name of the node
-* The type of the node, which is `CONFIG`
-* The name of the host that the node represents
-
-The `--long` option of the subcommand specifies whether the nodes are
-listed in long format. In long format, the following additional
-information about each node is displayed:
-
-* The path to the parent of the base installation directory of
-\{product---name} on the host that the node represents
-* A comma-separated list of the names of the \{product---name} instances
-that reside on the node
-
-If the `--terse` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
-`--long` option of the subcommand is `false`, the subcommand lists only
-the name of each node.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1711]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Specifies whether the nodes are listed in long format. +
-  Possible values are as follows: +
-  `true`;;
-    The nodes are listed in long format.
-  `false`;;
-    The nodes are listed in short format (default).
-
-[[sthref1712]]
-
-Examples
-
-[[GSRFM690]][[sthref1713]]
-
-Example 1   Listing \{product---name} Nodes
-
-This example displays the name, type, and host for all \{product---name}
-nodes that do not support remote communication in the domain `domain1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config
-localhost-domain1  CONFIG  localhost
-devnode  CONFIG  localhost
-Command list-nodes-config executed successfully.
-----
-
-[[GSRFM691]][[sthref1714]]
-
-Example 2   Listing Only the Names of \{product---name} Nodes
-
-This example uses the `--terse` option of the `asadmin` utility to list
-only the names of the \{product---name} nodes that do not support remote
-communication in the domain `domain1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config --terse=true
-localhost-domain1
-devnode
-----
-
-[[GSRFM692]][[sthref1715]]
-
-Example 3   Listing \{product---name} Nodes in Long Format
-
-This example lists the \{product---name} nodes that do not support
-remote communication in the domain `domain1`in long format.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-config --long=true
-NODE NAME           TYPE     NODE HOST   INSTALL DIRECTORY    REFERENCED BY  
-localhost-domain1   CONFIG   localhost   /export/glassfish3                  
-devnode             CONFIG   localhost   /export/glassfish3   pmdsa1         
-Command list-nodes-config executed successfully.
-----
-
-[[sthref1716]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1717]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:list-nodes-dcom.html#list-nodes-dcom-1[`list-nodes-dcom`(1)],
-link:list-nodes-ssh.html#list-nodes-ssh-1[`list-nodes-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-nodes-dcom.adoc b/docs/reference-manual/src/main/jbake/content/list-nodes-dcom.adoc
deleted file mode 100644
index b871f87..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-nodes-dcom.adoc
+++ /dev/null
@@ -1,166 +0,0 @@
-type=page
-status=published
-title=list-nodes-dcom
-next=list-nodes-ssh.html
-prev=list-nodes-config.html
-~~~~~~
-list-nodes-dcom
-===============
-
-[[list-nodes-dcom-1]][[GSRFM693]][[list-nodes-dcom]]
-
-list-nodes-dcom
----------------
-
-lists all \{product---name} nodes that support communication over DCOM
-in a domain
-
-[[sthref1718]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-nodes-dcom [--help] 
-[--long={false|true}]
-----
-
-[[sthref1719]]
-
-Description
-
-The `list-nodes-dcom` subcommand lists all \{product---name} nodes that
-support communication over the Distributed Component Object Model (DCOM)
-remote protocol. The DCOM protocol is available only on Windows systems.
-
-
-[NOTE]
-=======================================================================
-
-To list all nodes in a domain regardless of the type of the node, run
-the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-=======================================================================
-
-
-By default, the subcommand displays the following information for each
-node that is listed:
-
-* The name of the node
-* The type of the node, which is `DCOM`
-* The name of the host that the node represents
-
-The `--long` option of the subcommand specifies whether the nodes are
-listed in long format. In long format, the following additional
-information about each node is displayed:
-
-* The path to the parent of the base installation directory of
-\{product---name} on the host that the node represents
-* A comma-separated list of the names of the \{product---name} instances
-that reside on the node
-
-If the `--terse` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
-`--long` option of the subcommand is `false`, the subcommand lists only
-the name of each node.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1720]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Specifies whether the nodes are listed in long format. +
-  Possible values are as follows: +
-  `true`;;
-    The nodes are listed in long format.
-  `false`;;
-    The nodes are listed in short format (default).
-
-[[sthref1721]]
-
-Examples
-
-[[GSRFM694]][[sthref1722]]
-
-Example 1   Listing \{product---name} Nodes
-
-This example displays the name, type, and host for all \{product---name}
-nodes that support communication over DCOM in a domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom
-xkyd  DCOM  xkyd.example.com
-wpmdl2  DCOM  wpmdl2.example.com
-wpmdl1  DCOM  wpmdl1.example.com
-Command list-nodes-dcom executed successfully.
-----
-
-[[GSRFM695]][[sthref1723]]
-
-Example 2   Listing Only the Names of \{product---name} Nodes
-
-This example uses the `--terse` option of the `asadmin` utility to list
-only the names of the \{product---name} nodes that support communication
-over DCOM in a domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom --terse=true
-xkyd
-wpmdl2
-wpmdl1
-----
-
-[[GSRFM696]][[sthref1724]]
-
-Example 3   Listing \{product---name} Nodes in Long Format
-
-This example lists the \{product---name} nodes that support
-communication over DCOM in a domain in long format.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-dcom --long=true
-NODE NAME    TYPE   NODE HOST            INSTALL DIRECTORY   REFERENCED BY
-xkyd         DCOM   xkyd.example.com     C:\glassfish3
-wpmdl2       DCOM   wpmdl2.example.com   C:\glassfish3       wdi2
-wpmdl1       DCOM   wpmdl1.example.com   C:\glassfish3       wdi1
-Command list-nodes-dcom executed successfully.
-----
-
-[[sthref1725]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1726]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:list-nodes-config.html#list-nodes-config-1[`list-nodes-config`(1)],
-link:#list-nodes-dcom-1[`list-nodes-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-nodes-ssh.adoc b/docs/reference-manual/src/main/jbake/content/list-nodes-ssh.adoc
deleted file mode 100644
index 3877bf1..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-nodes-ssh.adoc
+++ /dev/null
@@ -1,162 +0,0 @@
-type=page
-status=published
-title=list-nodes-ssh
-next=list-password-aliases.html
-prev=list-nodes-dcom.html
-~~~~~~
-list-nodes-ssh
-==============
-
-[[list-nodes-ssh-1]][[GSRFM00189]][[list-nodes-ssh]]
-
-list-nodes-ssh
---------------
-
-lists all \{product---name} nodes that support communication over SSH in
-a domain
-
-[[sthref1727]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-nodes-ssh [--help] 
-[--long={false|true}]
-----
-
-[[sthref1728]]
-
-Description
-
-The `list-nodes-ssh` subcommand lists all \{product---name} nodes that
-support communication over secure shell (SSH) in a domain.
-
-
-[NOTE]
-=======================================================================
-
-To list all nodes in a domain regardless of the type of the node, run
-the link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-=======================================================================
-
-
-By default, the subcommand displays the following information for each
-node that is listed:
-
-* The name of the node
-* The type of the node, which is `SSH`
-* The name of the host that the node represents
-
-The `--long` option of the subcommand specifies whether the nodes are
-listed in long format. In long format, the following additional
-information about each node is displayed:
-
-* The path to the parent of the base installation directory of
-\{product---name} on the host that the node represents
-* A comma-separated list of the names of the \{product---name} instances
-that reside on the node
-
-If the `--terse` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
-`--long` option of the subcommand is `false`, the subcommand lists only
-the name of each node.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1729]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Specifies whether the nodes are listed in long format. +
-  Possible values are as follows: +
-  `true`;;
-    The nodes are listed in long format.
-  `false`;;
-    The nodes are listed in short format (default).
-
-[[sthref1730]]
-
-Examples
-
-[[GSRFM697]][[sthref1731]]
-
-Example 1   Listing \{product---name} Nodes
-
-This example displays the name, type, and host for all \{product---name}
-nodes that support communication over SSH in a domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh
-sj02  SSH  sj02.example.com
-sj01  SSH  sj01.example.com
-Command list-nodes-ssh executed successfully.
-----
-
-[[GSRFM698]][[sthref1732]]
-
-Example 2   Listing Only the Names of \{product---name} Nodes
-
-This example uses the `--terse` option of the `asadmin` utility to list
-only the names of the \{product---name} nodes that support communication
-over SSH in a domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh --terse=true
-sj02
-sj01
-----
-
-[[GSRFM699]][[sthref1733]]
-
-Example 3   Listing \{product---name} Nodes in Long Format
-
-This example lists the \{product---name} nodes that support
-communication over SSH in a domain in long format.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes-ssh --long=true
-NODE NAME   TYPE   NODE HOST          INSTALL DIRECTORY    REFERENCED BY           
-sj02        SSH    sj02.example.com   /export/glassfish3   pmd-i-sj02, yml-i-sj02  
-sj01        SSH    sj01.example.com   /export/glassfish3   pmd-i-sj01, yml-i-sj01  
-Command list-nodes-ssh executed successfully.
-----
-
-[[sthref1734]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1735]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:list-nodes-config.html#list-nodes-config-1[`list-nodes-config`(1)],
-link:list-nodes-dcom.html#list-nodes-dcom-1[`list-nodes-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-nodes.adoc b/docs/reference-manual/src/main/jbake/content/list-nodes.adoc
deleted file mode 100644
index 0974ee5..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-nodes.adoc
+++ /dev/null
@@ -1,163 +0,0 @@
-type=page
-status=published
-title=list-nodes
-next=list-nodes-config.html
-prev=list-network-listeners.html
-~~~~~~
-list-nodes
-==========
-
-[[list-nodes-1]][[GSRFM00187]][[list-nodes]]
-
-list-nodes
-----------
-
-lists all \{product---name} nodes in a domain
-
-[[sthref1700]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-nodes [--help] 
-[--long={false|true}]
-----
-
-[[sthref1701]]
-
-Description
-
-The `list-nodes` subcommand lists all \{product---name} nodes in a
-domain.
-
-By default, the subcommand displays the following information for each
-node that is listed:
-
-* The name of the node
-* The type of the node, which is one of the following types:::
-`CONFIG`::
-  The node does not support remote communication.
-`DCOM`::
-  The node supports communication over the Distributed Component Object
-  Model (DCOM) remote protocol.
-`SSH`::
-  The node supports communication over secure shell (SSH).
-* The name of the host that the node represents
-
-The `--long` option of the subcommand specifies whether the nodes are
-listed in long format. In long format, the following additional
-information about each node is displayed:
-
-* The path to the parent of the base installation directory of
-\{product---name} on the host that the node represents
-* A comma-separated list of the names of the \{product---name} instances
-that reside on the node
-
-If the `--terse` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility is `true` and the
-`--long` option of the subcommand is `false`, the subcommand lists only
-the name of each node.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1702]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Specifies whether the nodes are listed in long format. +
-  Possible values are as follows: +
-  `true`;;
-    The nodes are listed in long format.
-  `false`;;
-    The nodes are listed in short format (default).
-
-[[sthref1703]]
-
-Examples
-
-[[GSRFM687]][[sthref1704]]
-
-Example 1   Listing \{product---name} Nodes
-
-This example displays the name, type, and host for all \{product---name}
-nodes in the domain `domain1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes
-localhost-domain1  CONFIG  localhost
-sj02  SSH  sj02.example.com
-sj01  SSH  sj01.example.com
-devnode  CONFIG  localhost
-Command list-nodes executed successfully.
-----
-
-[[GSRFM688]][[sthref1705]]
-
-Example 2   Listing Only the Names of \{product---name} Nodes
-
-This example uses the `--terse` option of the `asadmin` utility to list
-only the names of the \{product---name} nodes in the domain `domain1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes --terse=true
-localhost-domain1
-sj02
-sj01
-devnode
-----
-
-[[GSRFM689]][[sthref1706]]
-
-Example 3   Listing \{product---name} Nodes in Long Format
-
-This example lists the \{product---name} nodes in the domain `domain1`
-in long format.
-
-[source,oac_no_warn]
-----
-asadmin> list-nodes --long=true
-NODE NAME           TYPE     NODE HOST          INSTALL DIRECTORY     REFERENCED BY
-localhost-domain1   CONFIG   localhost          /export/glassfish3                 
-sj02                SSH      sj02.example.com   /export/glassfish3    pmd-i2, yml-i2
-sj01                SSH      sj01.example.com   /export/glassfish3    pmd-i1, yml-i1
-devnode             CONFIG   localhost          /export/glassfish3    pmdsa1
-Command list-nodes executed successfully.
-----
-
-[[sthref1707]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1708]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:list-nodes-config.html#list-nodes-config-1[`list-nodes-config`(1)],
-link:list-nodes-dcom.html#list-nodes-dcom-1[`list-nodes-dcom`(1)],
-link:list-nodes-ssh.html#list-nodes-ssh-1[`list-nodes-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-password-aliases.adoc b/docs/reference-manual/src/main/jbake/content/list-password-aliases.adoc
deleted file mode 100644
index a9ad850..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-password-aliases.adoc
+++ /dev/null
@@ -1,77 +0,0 @@
-type=page
-status=published
-title=list-password-aliases
-next=list-persistence-types.html
-prev=list-nodes-ssh.html
-~~~~~~
-list-password-aliases
-=====================
-
-[[list-password-aliases-1]][[GSRFM00190]][[list-password-aliases]]
-
-list-password-aliases
----------------------
-
-lists all password aliases
-
-[[sthref1736]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-password-aliases [--help]
-----
-
-[[sthref1737]]
-
-Description
-
-This subcommand lists all of the password aliases.
-
-[[sthref1738]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1739]]
-
-Examples
-
-[[GSRFM700]][[sthref1740]]
-
-Example 1   Listing all password aliases
-
-[source,oac_no_warn]
-----
-asadmin> list-password-aliases 
-jmspassword-alias
-Command list-password-aliases executed successfully
-----
-
-[[sthref1741]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1742]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
-link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
-link:update-password-alias.html#update-password-alias-1[`update-password-alias`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-persistence-types.adoc b/docs/reference-manual/src/main/jbake/content/list-persistence-types.adoc
deleted file mode 100644
index 29f1b95..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-persistence-types.adoc
+++ /dev/null
@@ -1,126 +0,0 @@
-type=page
-status=published
-title=list-persistence-types
-next=list-protocol-filters.html
-prev=list-password-aliases.html
-~~~~~~
-list-persistence-types
-======================
-
-[[list-persistence-types-1]][[GSRFM00191]][[list-persistence-types]]
-
-list-persistence-types
-----------------------
-
-lists registered persistence types for HTTP sessions and SFSB instances
-
-[[sthref1743]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-persistence-types [--help] 
---type={web|ejb}
-----
-
-[[sthref1744]]
-
-Description
-
-The `list-persistence-types` subcommand lists registered persistence
-types for HTTP sessions and stateful session bean (SFSB) instances. The
-built-in persistence types are `memory`, `file`, and `replicated`. The
-`memory` type does not apply to SFSB instances.
-
-Other persistence types can be added using the `StrategyBuilder` class.
-For more information, see the link:../add-on-component-development-guide/toc.html#GSACG[GlassFish Server Open Source
-Edition Add-On Component Development Guide].
-
-To set the persistence type for HTTP sessions, use the `set` subcommand
-to set the `persistence-type` attribute. For example:
-
-[source,oac_no_warn]
-----
-asadmin> set c1-config.availability-service.web-container-availability.persistence-type=file
-----
-
-To set the persistence type for SFSB instances without availability
-enabled, use the `set` subcommand to set the `sfsb-persistence-type`
-attribute. For example:
-
-[source,oac_no_warn]
-----
-asadmin> set c1-config.availability-service.ejb-container-availability.sfsb-persistence-type=file
-----
-
-To set the persistence type for SFSB instances with availability
-enabled, use the `set` subcommand to set the `sfsb-ha-persistence-type`
-attribute. For example:
-
-[source,oac_no_warn]
-----
-asadmin> set 
-c1-config.availability-service.ejb-container-availability.sfsb-ha-persistence-type=replicated
-----
-
-This subcommand is supported in remote mode only.
-
-[[sthref1745]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--type`::
-  Specifies the type of sessions for which persistence types are listed.
-  Allowed values are as follows: +
-  * `web` — Lists persistence types for HTTP sessions.
-  * `ejb` — Lists persistence types for SFSB instances.
-
-[[sthref1746]]
-
-Examples
-
-[[GSRFM701]][[sthref1747]]
-
-Example 1   Listing Persistence Types for HTTP Sessions
-
-This example lists persistence types for HTTP sessions.
-
-[source,oac_no_warn]
-----
-asadmin> list-persistence-types --type=web
-memory
-file
-replicated
-
-Command list-persistence-types executed successfully.
-----
-
-[[sthref1748]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1749]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
-link:set.html#set-1[`set`(1)]
-
-link:../add-on-component-development-guide/toc.html#GSACG[GlassFish Server Open Source Edition Add-On Component
-Development Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-protocol-filters.adoc b/docs/reference-manual/src/main/jbake/content/list-protocol-filters.adoc
deleted file mode 100644
index 4ee6f5e..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-protocol-filters.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=list-protocol-filters
-next=list-protocol-finders.html
-prev=list-persistence-types.html
-~~~~~~
-list-protocol-filters
-=====================
-
-[[list-protocol-filters-1]][[GSRFM00193]][[list-protocol-filters]]
-
-list-protocol-filters
----------------------
-
-lists the existing protocol filters
-
-[[sthref1750]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-protocol-filters [--help]
-[--target server]
-protocol-name
-----
-
-[[sthref1751]]
-
-Description
-
-The `list-protocol-filters` subcommand lists the existing protocol
-filters. This subcommand is supported in remote mode only.
-
-[[sthref1752]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-target::
-  Restricts the listing to protocol filters for a specified target.
-  Valid values are as follows: +
-  `server`;;
-    Lists the protocol filters for the default server instance. This is
-    the default value.
-  configuration-name;;
-    Lists the protocol filters for the specified configuration.
-  cluster-name;;
-    Lists the protocol filters for all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the protocol filters for the specified server instance.
-
-[[sthref1753]]
-
-Operands
-
-protocol-name::
-  The name of the protocol for which to list protocol filters.
-
-[[sthref1754]]
-
-Examples
-
-[[GSRFM704]][[sthref1755]]
-
-Example 1   Listing Protocol Filters
-
-The following command lists all the protocol filters for the server
-instance:
-
-[source,oac_no_warn]
-----
-asadmin> list-protocol-filters http1
-http1-filter
-https1-filter
-Command list-protocol-filters executed successfully.
-----
-
-[[sthref1756]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1757]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-protocol-filter.html#create-protocol-filter-1[`create-protocol-filter`(1)],
-link:delete-protocol-filter.html#delete-protocol-filter-1[`delete-protocol-filter`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-protocol-finders.adoc b/docs/reference-manual/src/main/jbake/content/list-protocol-finders.adoc
deleted file mode 100644
index da76272..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-protocol-finders.adoc
+++ /dev/null
@@ -1,84 +0,0 @@
-type=page
-status=published
-title=list-protocol-finders
-next=list-protocols.html
-prev=list-protocol-filters.html
-~~~~~~
-list-protocol-finders
-=====================
-
-[[list-protocol-finders-1]][[GSRFM00194]][[list-protocol-finders]]
-
-list-protocol-finders
----------------------
-
-lists the existing protocol finders
-
-[[sthref1758]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-protocol-finders [--help]
-[--target server]
-protocol-name
-----
-
-[[sthref1759]]
-
-Description
-
-The `list-protocol-finders` subcommand lists the existing protocol
-finders. This subcommand is supported in remote mode only.
-
-[[sthref1760]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-target::
-  Restricts the listing to protocol finders for a specified target.
-  Valid values are as follows: +
-  `server`;;
-    Lists the protocol finders for the default server instance. This is
-    the default value.
-  configuration-name;;
-    Lists the protocol finders for the specified configuration.
-  cluster-name;;
-    Lists the protocol finders for all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the protocol finders for the specified server instance.
-
-[[sthref1761]]
-
-Operands
-
-protocol-name::
-  The name of the protocol for which to list protocol finders.
-
-[[sthref1762]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1763]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-protocol-finder.html#create-protocol-finder-1[`create-protocol-finder`(1)],
-link:delete-protocol-finder.html#delete-protocol-finder-1[`delete-protocol-finder`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-protocols.adoc b/docs/reference-manual/src/main/jbake/content/list-protocols.adoc
deleted file mode 100644
index c410174..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-protocols.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-type=page
-status=published
-title=list-protocols
-next=list-resource-adapter-configs.html
-prev=list-protocol-finders.html
-~~~~~~
-list-protocols
-==============
-
-[[list-protocols-1]][[GSRFM00195]][[list-protocols]]
-
-list-protocols
---------------
-
-lists the existing protocols
-
-[[sthref1764]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-protocols [--help]
-[target]
-----
-
-[[sthref1765]]
-
-Description
-
-The `list-protocols` subcommand lists the existing protocols. This
-subcommand is supported in remote mode only.
-
-[[sthref1766]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1767]]
-
-Operands
-
-target::
-  Restricts the listing to protocols for a specified target. Valid
-  values are as follows: +
-  `server`;;
-    Lists the protocols for the default server instance. This is the
-    default value.
-  configuration-name;;
-    Lists the protocols for the specified configuration.
-  cluster-name;;
-    Lists the protocols for all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the protocols for the specified server instance.
-
-[[sthref1768]]
-
-Examples
-
-[[GSRFM705]][[sthref1769]]
-
-Example 1   Listing Protocols
-
-The following command lists all the protocols for the server instance:
-
-[source,oac_no_warn]
-----
-asadmin> list-protocols
-admin-listener
-http-1
-http-listener-1
-http-listener-2
-Command list-protocols executed successfully.
-----
-
-[[sthref1770]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1771]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
-link:delete-protocol.html#delete-protocol-1[`delete-protocol`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-resource-adapter-configs.adoc b/docs/reference-manual/src/main/jbake/content/list-resource-adapter-configs.adoc
deleted file mode 100644
index 539a038..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-resource-adapter-configs.adoc
+++ /dev/null
@@ -1,90 +0,0 @@
-type=page
-status=published
-title=list-resource-adapter-configs
-next=list-resource-refs.html
-prev=list-protocols.html
-~~~~~~
-list-resource-adapter-configs
-=============================
-
-[[list-resource-adapter-configs-1]][[GSRFM00196]][[list-resource-adapter-configs]]
-
-list-resource-adapter-configs
------------------------------
-
-lists the names of the current resource adapter configurations
-
-[[sthref1772]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-resource-adapter-configs [--help] 
-[--raname raname] [--verbose {false|true}]
-----
-
-[[sthref1773]]
-
-Description
-
-This command lists the configuration information in the `domain.xml` for
-the connector module. It lists an entry called `resource-adapter-config`
-in the `domain.xml` file. If the `--raname` option is specified, only
-the resource adapter configurations for the specified connector module
-are listed.
-
-This command is supported in remote mode only.
-
-[[sthref1774]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--raname`::
-  Specifies the connector module name.
-`--verbose`::
-  Lists the properties that are configured. Default value is false.
-
-[[sthref1775]]
-
-Examples
-
-[[GSRFM706]][[sthref1776]]
-
-Example 1   Listing the Resource Adapter Configurations
-
-This example lists the current resource adapter configurations.
-
-[source,oac_no_warn]
-----
-asadmin> list-resource-adapter-configs
-ra1
-ra2
-Command list-resource-adapter-configs executed successfully
-----
-
-[[sthref1777]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1778]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-resource-adapter-config.html#create-resource-adapter-config-1[`create-resource-adapter-config`(1)],
-link:delete-resource-adapter-config.html#delete-resource-adapter-config-1[`delete-resource-adapter-config`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-resource-refs.adoc b/docs/reference-manual/src/main/jbake/content/list-resource-refs.adoc
deleted file mode 100644
index 4834082..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-resource-refs.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-type=page
-status=published
-title=list-resource-refs
-next=list-secure-admin-internal-users.html
-prev=list-resource-adapter-configs.html
-~~~~~~
-list-resource-refs
-==================
-
-[[list-resource-refs-1]][[GSRFM00197]][[list-resource-refs]]
-
-list-resource-refs
-------------------
-
-lists existing resource references
-
-[[sthref1779]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-resource-refs [--help] 
-[target]
-----
-
-[[sthref1780]]
-
-Description
-
-The `list-resource-refs` subcommand lists all resource references in a
-cluster or an unclustered server instance. This effectively lists all
-the resources (for example, JDBC resources) available in the JNDI tree
-of the specified target.
-
-The target instance or instances in the cluster need not be running or
-available for this subcommand to succeed.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1781]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1782]]
-
-Operands
-
-target::
-  The target for which you are listing the resource references. Valid
-  targets are as follows: +
-  `server`;;
-    Lists the resource references for the default server instance and is
-    the default target.
-  cluster_name;;
-    Lists the resource references for every server instance in the
-    cluster.
-  instance_name;;
-    Lists the resource references for the named unclustered server
-    instance.
-
-[[sthref1783]]
-
-Examples
-
-[[GSRFM707]][[sthref1784]]
-
-Example 1   Listing Resource References for a Cluster
-
-This example lists resource references for the cluster `cluster1`.
-
-[source,oac_no_warn]
-----
-asadmin> list-resource-refs cluster1
-jms/Topic
-Command list-resource-refs executed successfully.
-----
-
-[[sthref1785]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1786]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
-link:delete-resource-ref.html#delete-resource-ref-1[`delete-resource-ref`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-secure-admin-internal-users.adoc b/docs/reference-manual/src/main/jbake/content/list-secure-admin-internal-users.adoc
deleted file mode 100644
index 7dbb154..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-secure-admin-internal-users.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=list-secure-admin-internal-users
-next=list-secure-admin-principals.html
-prev=list-resource-refs.html
-~~~~~~
-list-secure-admin-internal-users
-================================
-
-[[list-secure-admin-internal-users-1]][[GSRFM00199]][[list-secure-admin-internal-users]]
-
-list-secure-admin-internal-users
---------------------------------
-
-lists the user names that the \{product---name} DAS and instances use to
-authenticate with each other and to authorize admin operations.
-
-[[sthref1787]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-secure-admin-internal-users [--help]  
-[--long={false|true}]
-[--output output]
-[--header={false|true}]
-[name]
-----
-
-[[sthref1788]]
-
-Description
-
-The `list-secure-admin-internal-users` subcommand lists the user names
-that the \{product---name} DAS and instances use to authenticate with
-each other and to authorize admin operations.
-
-[[sthref1789]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Displays detailed information about each internal user. The default
-  value is `false.`
-`--output`::
-`-o`::
-  Displays specific details about each internal user. Use a
-  comma-separated list to specify the details you want to display and
-  their order. The values are case-insensitive. +
-  Possible values are as follows: +
-  `username`;;
-    Displays the user name for the internal user.
-  `password-alias`;;
-    Displays the password alias for the internal user.
-`--header`::
-`-h`::
-  Specifies whether column headings are displayed when the `--long`
-  option is used. The default value is `true`. To suppress the headings,
-  set the `--header` option to `false`.
-
-[[sthref1790]]
-
-Operands
-
-name::
-  The user name for the internal user for which you want to display
-  details.
-
-[[sthref1791]]
-
-Examples
-
-[[GSRFM709]][[sthref1792]]
-
-Example 1   Listing the User Name for Secure Admin
-
-This example lists the user names that the \{product---name} DAS and
-instances use to authenticate with each other and to authorize admin
-operations.
-
-[source,oac_no_warn]
-----
-asadmin> list-secure-admin-internal-users
-
-Command list-secure-admin-internal-users executed successfully.
-----
-
-[[sthref1793]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1794]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
-link:enable-secure-admin-internal-user.html#enable-secure-admin-internal-user-1[`enable-secure-admin-internal-user`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-secure-admin-principals.adoc b/docs/reference-manual/src/main/jbake/content/list-secure-admin-principals.adoc
deleted file mode 100644
index 92a3aec..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-secure-admin-principals.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=list-secure-admin-principals
-next=list-sub-components.html
-prev=list-secure-admin-internal-users.html
-~~~~~~
-list-secure-admin-principals
-============================
-
-[[list-secure-admin-principals-1]][[GSRFM00200]][[list-secure-admin-principals]]
-
-list-secure-admin-principals
-----------------------------
-
-lists the certificates for which \{product---name} accepts admin
-requests from clients.
-
-[[sthref1795]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-secure-admin-principals [--help] 
-[--long={false|true}]
-[--output output]
-[--header={false|true}]
-[name]
-----
-
-[[sthref1796]]
-
-Description
-
-The `list-secure-admin-principals` subcommand lists the certificates for
-which \{product---name} accepts admin requests from clients.
-
-[[sthref1797]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Displays detailed information about the certificates for which
-  \{product---name} accepts admin requests from clients. The default
-  value is `false`.
-`--output`::
-`-o`::
-  Displays specific details about the certificates for which
-  \{product---name} accepts admin requests from clients. Use a
-  comma-separated list to specify the details you want to display and
-  their order. The values are case-insensitive. +
-  Possible values are as follows: +
-  `DN`;;
-    Displays the distinguished name (DN) of each certificate.
-`--header`::
-`-h`::
-  Specifies whether column headings are displayed when the `--long`
-  option is used. The default value is `true`. To suppress the headings,
-  set the `--header` option to `false`.
-
-[[sthref1798]]
-
-Operands
-
-name::
-  The distinguished name of the certificate, specified as a
-  comma-separated list in quotes. For example:
-  `"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`.
-
-[[sthref1799]]
-
-Examples
-
-[[GSRFM710]][[sthref1800]]
-
-Example 1   Listing the Certificates
-
-This example lists the certificates for which \{product---name} accepts
-admin requests from clients.
-
-[source,oac_no_warn]
-----
-asadmin> list-secure-admin-principals 
-CN=localhost,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US
-CN=localhost-instance,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US
-Command list-secure-admin-principals executed successfully.
-----
-
-[[sthref1801]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1802]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
-link:enable-secure-admin-principal.html#enable-secure-admin-principal-1[`enable-secure-admin-principal`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-sub-components.adoc b/docs/reference-manual/src/main/jbake/content/list-sub-components.adoc
deleted file mode 100644
index 31cae5f..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-sub-components.adoc
+++ /dev/null
@@ -1,125 +0,0 @@
-type=page
-status=published
-title=list-sub-components
-next=list-supported-cipher-suites.html
-prev=list-secure-admin-principals.html
-~~~~~~
-list-sub-components
-===================
-
-[[list-sub-components-1]][[GSRFM00201]][[list-sub-components]]
-
-list-sub-components
--------------------
-
-lists EJB or servlet components in a deployed module or module of a
-deployed application
-
-[[sthref1803]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-sub-components [--help] 
-[--type type]
-[--appname appname] [--resources]
-modulename
-----
-
-[[sthref1804]]
-
-Description
-
-The `list-sub-components` subcommand lists EJB or servlet components in
-a deployed module or in a module of a deployed application. If a module
-is not specified, all modules are listed. The `--appname` option
-functions only when the specified module is stand-alone. To display a
-specific module in an application, you must specify the module name with
-the `--appname` option.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1805]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--type`::
-  Specifies the type of component to be listed. The options are `ejbs`
-  and `servlets`. If nothing is specified, then all of the components
-  are listed.
-`--appname`::
-  Identifies the name of the application. This option is required when
-  the desired output is the subcomponents of an embedded module of a
-  deployed application. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. For more information about module and application
-  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-  GlassFish Server Open Source Edition Application Deployment Guide.
-`--resources`::
-  Lists the application-scoped resources for each subcomponent.
-
-[[sthref1806]]
-
-Operands
-
-modulename::
-  Specifies the name of the module containing the subcomponent. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. For more information about module and application
-  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-  GlassFish Server Open Source Edition Application Deployment Guide.
-
-[[sthref1807]]
-
-Examples
-
-[[GSRFM711]][[sthref1808]]
-
-Example 1   Listing Subcomponents
-
-This example lists the subcomponents of the `MEjbApp` application within
-the `mejb.jar` module.
-
-[source,oac_no_warn]
-----
-asadmin> list-sub-components --appname MEjbApp mejb.jar
-MEJBBean <StatelessSessionBean>
-Command list-sub-components executed successfully.
-----
-
-[[sthref1809]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1810]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:disable.html#disable-1[`disable`(1)],
-link:enable.html#enable-1[`enable`(1)],
-link:list-components.html#list-components-1[`list-components`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-supported-cipher-suites.adoc b/docs/reference-manual/src/main/jbake/content/list-supported-cipher-suites.adoc
deleted file mode 100644
index ae57c60..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-supported-cipher-suites.adoc
+++ /dev/null
@@ -1,121 +0,0 @@
-type=page
-status=published
-title=list-supported-cipher-suites
-next=list-system-properties.html
-prev=list-sub-components.html
-~~~~~~
-list-supported-cipher-suites
-============================
-
-[[list-supported-cipher-suites-1]][[GSRFM00202]][[list-supported-cipher-suites]]
-
-list-supported-cipher-suites
-----------------------------
-
-enables administrators to list the cipher suites that are supported and
-available to a specified \{product---name} target
-
-[[sthref1811]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-supported-cipher-suites [--help] 
-[--target target]
-----
-
-[[sthref1812]]
-
-Description
-
-The `list-supported-cipher-suites` subcommand enables administrators to
-list the cipher suites that are supported and available to a specified
-\{product---name} target. The cipher suites that may be available in
-addition to the default SSL/TLS providers that are bundled with
-\{product---name} packages will vary depending on the third-party
-provider.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1813]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which you want to list cipher suites. The
-  following values are valid: +
-  `server`;;
-    Lists the cipher suites for the default server instance. This is the
-    default value.
-  configuration_name;;
-    Lists the cipher suites for the specified configuration.
-  cluster_name;;
-    Lists the cipher suites for all server instances in the specified
-    cluster.
-  instance_name;;
-    Lists the cipher suites for a specified server instance.
-
-[[sthref1814]]
-
-Examples
-
-[[GSRFM712]][[sthref1815]]
-
-Example 1   Listing cipher suites
-
-The following example shows how to list cipher suites for the default
-domain.
-
-[source,oac_no_warn]
-----
-asadmin> list-supported-cipher-suites
-SSL_RSA_WITH_RC4_128_MD5
-SSL_RSA_WITH_RC4_128_SHA
-TLS_RSA_WITH_AES_128_CBC_SHA
-TLS_DHE_RSA_WITH_AES_128_CBC_SHA
-TLS_DHE_DSS_WITH_AES_128_CBC_SHA
-SSL_RSA_WITH_3DES_EDE_CBC_SHA
-SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
-SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
-SSL_RSA_WITH_DES_CBC_SHA
-SSL_DHE_RSA_WITH_DES_CBC_SHA
-SSL_DHE_DSS_WITH_DES_CBC_SHA
-SSL_RSA_EXPORT_WITH_RC4_40_MD5
-SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
-SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
-SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
-SSL_RSA_WITH_NULL_MD5
-SSL_RSA_WITH_NULL_SHA
-SSL_DH_anon_WITH_RC4_128_MD5
-TLS_DH_anon_WITH_AES_128_CBC_SHA
-SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
-SSL_DH_anon_WITH_DES_CBC_SHA
-SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
-SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
-
-Command list-supported-cipher-suites executed successfully.
-----
-
-[[sthref1816]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1817]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-system-properties.adoc b/docs/reference-manual/src/main/jbake/content/list-system-properties.adoc
deleted file mode 100644
index 3443321..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-system-properties.adoc
+++ /dev/null
@@ -1,107 +0,0 @@
-type=page
-status=published
-title=list-system-properties
-next=list-threadpools.html
-prev=list-supported-cipher-suites.html
-~~~~~~
-list-system-properties
-======================
-
-[[list-system-properties-1]][[GSRFM00203]][[list-system-properties]]
-
-list-system-properties
-----------------------
-
-lists the system properties of the domain, configuration, cluster, or
-server instance
-
-[[sthref1818]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-system-properties [--help] 
-[target]
-----
-
-[[sthref1819]]
-
-Description
-
-Shared or clustered server instances will often need to override
-attributes defined in their referenced configuration. Any configuration
-attribute in a server instance can be overridden through a system
-property of the corresponding name. This list-system-properties
-subcommand lists the system properties of a domain, configuration,
-cluster, or server instance.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1820]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1821]]
-
-Operands
-
-target::
-  This restricts the listing to system properties for a specific target.
-  Valid values are: +
-  domain;;
-    Lists the system properties defined for the domain.
-  configuration_name;;
-    Lists the system properties for the named configuration as well as
-    those the cluster inherits from the domain.
-  cluster_name;;
-    Lists the system properties defined for the named cluster as well as
-    those the cluster. inherits from its configuration and the domain.
-  instance_name;;
-    Lists the system properties defined for the named server instance as
-    well as those the server inherits from its cluster (if the instance
-    is clustered), its configuration, and the domain.
-
-[[sthref1822]]
-
-Examples
-
-[[GSRFM713]][[sthref1823]]
-
-Example 1   Listing System Properties
-
-This example lists the system properties on `localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> list-system-properties
-http-listener-port=1088
-Command list-system-properties executed successfully.
-----
-
-[[sthref1824]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1825]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
-link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-threadpools.adoc b/docs/reference-manual/src/main/jbake/content/list-threadpools.adoc
deleted file mode 100644
index ef3c450..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-threadpools.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-type=page
-status=published
-title=list-threadpools
-next=list-timers.html
-prev=list-system-properties.html
-~~~~~~
-list-threadpools
-================
-
-[[list-threadpools-1]][[GSRFM00204]][[list-threadpools]]
-
-list-threadpools
-----------------
-
-lists all the thread pools
-
-[[sthref1826]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-threadpools [--help] 
-target
-----
-
-[[sthref1827]]
-
-Description
-
-The `list-threadpools` subcommand lists the \{product---name} thread
-pools.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1828]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1829]]
-
-Operands
-
-target::
-  This operand specifies the target for which you are listing thread
-  pools. This operand is required. +
-  Valid values are as follows: +
-  `server`;;
-    Lists the thread pools for the default \{product---name} instance
-    `server`.
-  configuration-name;;
-    Lists the thread pools for the named configuration.
-  cluster-name;;
-    Lists the thread pools for every instance in the cluster.
-  instance-name;;
-    Lists the thread pools for a particular instance.
-
-[[sthref1830]]
-
-Examples
-
-[[GSRFM714]][[sthref1831]]
-
-Example 1   Listing Thread Pools
-
-This example lists the current thread pools for the default instance
-`server`.
-
-[source,oac_no_warn]
-----
-asadmin> list-threadpools server
-admin-thread-pool
-http-thread-pool
-thread-pool-1
-Command list-threadpools executed successfully.
-----
-
-[[sthref1832]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1833]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
-link:delete-threadpool.html#delete-threadpool-1[`delete-threadpool`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-timers.adoc b/docs/reference-manual/src/main/jbake/content/list-timers.adoc
deleted file mode 100644
index 8af98bd..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-timers.adoc
+++ /dev/null
@@ -1,99 +0,0 @@
-type=page
-status=published
-title=list-timers
-next=list-transports.html
-prev=list-threadpools.html
-~~~~~~
-list-timers
-===========
-
-[[list-timers-1]][[GSRFM00205]][[list-timers]]
-
-list-timers
------------
-
-lists all of the persistent timers owned by server instance(s)
-
-[[sthref1834]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-timers [--help] 
-[target]
-----
-
-[[sthref1835]]
-
-Description
-
-The `list-timers` subcommand lists the persistent timers owned by a
-specific server instance or a cluster of server instances. This command
-is supported in remote mode only.
-
-[[sthref1836]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1837]]
-
-Operands
-
-target::
-  The target is either a standalone server instance or a cluster. If the
-  target is the stand-alone instance, then the number of timers owned by
-  the instance is listed. If the target is a cluster, then the number of
-  timers owned by each instance in the cluster is listed. The default
-  target is `server`, the default server instance.
-
-[[sthref1838]]
-
-Examples
-
-[[GSRFM715]][[sthref1839]]
-
-Example 1   Listing Current Timers in a Server Instance
-
-This example lists persistent timers in a particular standalone server
-instance. There is one currently active timer set.
-
-[source,oac_no_warn]
-----
-asadmin> list-timers server
-1
-
-The list-timers command was executed successfully.
-----
-
-[[sthref1840]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1841]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:migrate-timers.html#migrate-timers-1[`migrate-timers`(1)]
-
-"http://docs.oracle.com/javaee/7/tutorial/doc/ejb-basicexamples.html[Using
-the Timer Service]" in The Java EE 8 Tutorial
-
-"link:../application-development-guide/ejb.html#GSDVG00146[EJB Timer Service]" in GlassFish Server Open Source
-Edition Application Development Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-transports.adoc b/docs/reference-manual/src/main/jbake/content/list-transports.adoc
deleted file mode 100644
index c6382fe..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-transports.adoc
+++ /dev/null
@@ -1,99 +0,0 @@
-type=page
-status=published
-title=list-transports
-next=list-virtual-servers.html
-prev=list-timers.html
-~~~~~~
-list-transports
-===============
-
-[[list-transports-1]][[GSRFM00206]][[list-transports]]
-
-list-transports
----------------
-
-lists the existing transports
-
-[[sthref1842]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-transports [--help]
-[target]
-----
-
-[[sthref1843]]
-
-Description
-
-The `list-transports` subcommand lists the existing transports. This
-subcommand is supported in remote mode only.
-
-[[sthref1844]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1845]]
-
-Operands
-
-target::
-  Restricts the listing to transports for a specified target. Valid
-  values are as follows: +
-  `server`;;
-    Lists the transports for the default server instance. This is the
-    default value.
-  configuration-name;;
-    Lists the transports for the specified configuration.
-  cluster-name;;
-    Lists the transports for all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the transports for the specified server instance.
-
-[[sthref1846]]
-
-Examples
-
-[[GSRFM716]][[sthref1847]]
-
-Example 1   Listing Transports
-
-The following command lists all the transports for the server instance:
-
-[source,oac_no_warn]
-----
-asadmin> list-transports
-http1-trans
-tcp
-Command list-transports executed successfully.
-----
-
-[[sthref1848]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1849]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-transport.html#create-transport-1[`create-transport`(1)],
-link:delete-transport.html#delete-transport-1[`delete-transport`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-virtual-servers.adoc b/docs/reference-manual/src/main/jbake/content/list-virtual-servers.adoc
deleted file mode 100644
index 53aee9c..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-virtual-servers.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=list-virtual-servers
-next=list-web-context-param.html
-prev=list-transports.html
-~~~~~~
-list-virtual-servers
-====================
-
-[[list-virtual-servers-1]][[GSRFM00207]][[list-virtual-servers]]
-
-list-virtual-servers
---------------------
-
-lists the existing virtual servers
-
-[[sthref1850]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-virtual-servers [--help]
-[target]
-----
-
-[[sthref1851]]
-
-Description
-
-The `list-virtual-servers` subcommand lists the existing virtual
-servers. This subcommand is supported in remote mode only.
-
-[[sthref1852]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1853]]
-
-Operands
-
-target::
-  Restricts the listing to virtual servers for a specified target. Valid
-  values are as follows: +
-  `server`;;
-    Lists the virtual servers for the default server instance. This is
-    the default value.
-  configuration-name;;
-    Lists the virtual servers for the specified configuration.
-  cluster-name;;
-    Lists the virtual servers for all server instances in the specified
-    cluster.
-  instance-name;;
-    Lists the virtual servers for the specified server instance.
-
-[[sthref1854]]
-
-Examples
-
-[[GSRFM717]][[sthref1855]]
-
-Example 1   Listing Virtual Servers
-
-The following command lists all the virtual servers for the server
-instance:
-
-[source,oac_no_warn]
-----
-asadmin> list-virtual-servers
-server
-__asadmin
-Command list-virtual-servers executed successfully.
-----
-
-[[sthref1856]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1857]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-virtual-server.html#create-virtual-server-1[`create-virtual-server`(1)],
-link:delete-virtual-server.html#delete-virtual-server-1[`delete-virtual-server`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-web-context-param.adoc b/docs/reference-manual/src/main/jbake/content/list-web-context-param.adoc
deleted file mode 100644
index 4420326..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-web-context-param.adoc
+++ /dev/null
@@ -1,148 +0,0 @@
-type=page
-status=published
-title=list-web-context-param
-next=list-web-env-entry.html
-prev=list-virtual-servers.html
-~~~~~~
-list-web-context-param
-======================
-
-[[list-web-context-param-1]][[GSRFM00208]][[list-web-context-param]]
-
-list-web-context-param
-----------------------
-
-lists servlet context-initialization parameters of a deployed web
-application or module
-
-[[sthref1858]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-web-context-param [--help] 
-[--name=context-param-name] application-name[/module]
-----
-
-[[sthref1859]]
-
-Description
-
-The `list-web-context-param` subcommand lists the servlet
-context-initialization parameters of one of the following items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-The application must already be deployed. Otherwise, an error occurs.
-
-The `list-web-context-param` subcommand lists only parameters that have
-previously been set by using the
-link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)]
-subcommand. The subcommand does not list parameters that are set only in
-the application's deployment descriptor.
-
-For each parameter, the following information is displayed:
-
-* The name of the parameter
-* The value to which the parameter is set
-* The value of the `--ignoreDescriptorItem` option of the
-`set-web-context-param` subcommand that was specified when the parameter
-was set
-* The description of the parameter or `null` if no description was
-specified when the parameter was set
-
-[[sthref1860]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  The name of the servlet context-initialization parameter that is to be
-  listed. If this option is omitted, all parameters of the application
-  that have previously been set are listed.
-
-[[sthref1861]]
-
-Operands
-
-application-name::
-  The name of the application. This name can be obtained from the
-  Administration Console or by using the
-  link:list-applications.html#list-applications-1[`list-applications`(1)]
-  subcommand. +
-  The application must already be deployed. Otherwise, an error occurs.
-module::
-  The relative path to the module within the application's enterprise
-  archive (EAR) file. The path to the module is specified in the
-  `module` element of the application's `application.xml` file. +
-  module is required only if the servlet context-initialization
-  parameter applies to a web module of a Java EE application. If
-  specified, module must follow application-name, separated by a slash
-  (/). +
-  For example, the `application.xml` file for the `myApp` application
-  might specify the following web module: +
-[source,oac_no_warn]
-----
-<module>
-    <web>
-        <web-uri>myWebModule.war</web-uri>
-    </web>
-</module> 
-----
-::
-  The module would be specified as the operand of this command as
-  `myApp/myWebModule.war`.
-
-[[sthref1862]]
-
-Examples
-
-[[GSRFM718]][[sthref1863]]
-
-Example 1   Listing Servlet Context-Initialization Parameters for a Web
-Application
-
-This example lists all servlet context-initialization parameters of the
-web application `basic-ezcomp` that have been set by using the
-`set-web-context-param` subcommand. Because no description was specified
-when the `javax.faces.PROJECT_STAGE` parameter was set, `null` is
-displayed instead of a description for this parameter.
-
-[source,oac_no_warn]
-----
-asadmin> list-web-context-param basic-ezcomp
-javax.faces.STATE_SAVING_METHOD = client ignoreDescriptorItem=false 
-//The location where the application's state is preserved
-javax.faces.PROJECT_STAGE = null ignoreDescriptorItem=true //null
-
-Command list-web-context-param executed successfully.
-----
-
-[[sthref1864]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1865]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)],
-link:unset-web-context-param.html#unset-web-context-param-1[`unset-web-context-param`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list-web-env-entry.adoc b/docs/reference-manual/src/main/jbake/content/list-web-env-entry.adoc
deleted file mode 100644
index 9f00d65..0000000
--- a/docs/reference-manual/src/main/jbake/content/list-web-env-entry.adoc
+++ /dev/null
@@ -1,147 +0,0 @@
-type=page
-status=published
-title=list-web-env-entry
-next=login.html
-prev=list-web-context-param.html
-~~~~~~
-list-web-env-entry
-==================
-
-[[list-web-env-entry-1]][[GSRFM00209]][[list-web-env-entry]]
-
-list-web-env-entry
-------------------
-
-lists environment entries for a deployed web application or module
-
-[[sthref1866]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list-web-env-entry [--help] 
-[--name=env-entry-name] application-name[/module]
-----
-
-[[sthref1867]]
-
-Description
-
-The `list-web-env-entry` subcommand lists the environment entries for
-one of the following items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-The application must already be deployed. Otherwise, an error occurs.
-
-The `list-web-env-entry` subcommand lists only entries that have
-previously been set by using the
-link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)]
-subcommand. The subcommand does not list environment entries that are
-set only in the application's deployment descriptor.
-
-For each entry, the following information is displayed:
-
-* The name of the entry
-* The Java type of the entry
-* The value to which the entry is set
-* The value of the `--ignoreDescriptorItem` option of the
-`set-web-env-entry` subcommand that was specified when the entry was set
-* The description of the entry or `null` if no description was specified
-when the entry was set
-
-[[sthref1868]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  The name of the environment entry that is to be listed. The name is a
-  JNDI name relative to the `java:comp/env` context. The name must be
-  unique within a deployment component. If this option is omitted, all
-  environment entries that have previously been set for the application
-  are listed.
-
-[[sthref1869]]
-
-Operands
-
-application-name::
-  The name of the application. This name can be obtained from the
-  Administration Console or by using the
-  link:list-applications.html#list-applications-1[`list-applications`(1)]
-  subcommand. +
-  The application must already be deployed. Otherwise, an error occurs.
-module::
-  The relative path to the module within the application's enterprise
-  archive (EAR) file. The path to the module is specified in the
-  `module` element of the application's `application.xml` file. +
-  module is required only if the environment entry applies to a web
-  module of a Java EE application. If specified, module must follow
-  application-name, separated by a slash (/). +
-  For example, the `application.xml` file for the `myApp` application
-  might specify the following web module: +
-[source,oac_no_warn]
-----
-<module>
-    <web>
-        <web-uri>myWebModule.war</web-uri>
-    </web>
-</module> 
-----
-::
-  The module would be specified as the operand of this command as
-  `myApp/myWebModule.war`.
-
-[[sthref1870]]
-
-Examples
-
-[[GSRFM719]][[sthref1871]]
-
-Example 1   Listing Environment Entries for a Web Application
-
-This example lists all environment entries that have been set for the
-web application `hello` by using the `set-web-env-entry` subcommand.
-Because no description was specified when the `Hello Port` environment
-entry was set, `null` is displayed instead of a description for this
-entry.
-
-[source,oac_no_warn]
-----
-asadmin> list-web-env-entry hello
-Hello User (java.lang.String) = techscribe ignoreDescriptorItem=false
- //User authentication for Hello appplication
-Hello Port (java.lang.Integer) = null ignoreDescriptorItem=true //null
-
-Command list-web-env-entry executed successfully.
-----
-
-[[sthref1872]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1873]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)],
-link:unset-web-env-entry.html#unset-web-env-entry-1[`unset-web-env-entry`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/list.adoc b/docs/reference-manual/src/main/jbake/content/list.adoc
deleted file mode 100644
index 5ebd199..0000000
--- a/docs/reference-manual/src/main/jbake/content/list.adoc
+++ /dev/null
@@ -1,234 +0,0 @@
-type=page
-status=published
-title=list
-next=list-admin-objects.html
-prev=jms-ping.html
-~~~~~~
-list
-====
-
-[[list-1]][[GSRFM00145]][[list]]
-
-list
-----
-
-lists configurable or monitorable elements
-
-[[sthref1282]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] list [--help] 
-[--monitor={false|true}]
-[dotted-parent-attribute-name]
-----
-
-[[sthref1283]]
-
-Description
-
-The `list` subcommand lists configurable and monitorable attributes of
-\{product---name}.
-
-The output of the `list` subcommand is a list of the dotted names that
-represent individual server components and subsystems. For example,
-`server.applications.web-module`. After you know the particular
-component or subsystem, you can then use the `get` subcommand to access
-any attributes, and the `set` subcommand to modify configurable
-attributes.
-
-The following rules apply to dotted names in a `list` subcommand:
-
-
-[NOTE]
-=======================================================================
-
-Characters that have special meaning to the shell or command
-interpreter, such as * (asterisk), should be quoted or escaped as
-appropriate to the shell, for example, by enclosing the argument in
-quotes. In multimode, quotes are needed only for arguments that include
-spaces, quotes, or backslash.
-
-=======================================================================
-
-
-* Any `list` subcommand that has a dotted name that is not followed by a
-wildcard (*) lists the current node's immediate children. For example,
-the following command lists all immediate children belonging to the
-server node: +
-[source,oac_no_warn]
-----
-asadmin> list server
-----
-* Any `list` subcommand that has a dotted name followed by a wildcard(*)
-lists a hierarchical tree of child nodes from the current node. For
-example, the following command lists all child nodes of applications and
-their subsequent child nodes, and so on: +
-[source,oac_no_warn]
-----
-asadmin> list server.applications.*
-----
-* Any `list` subcommand that has a dotted name preceded or followed by a
-wildcard (*) of the form *dotted name or dottedname* lists all nodes and
-their child nodes that match the regular expression created by the
-provided matching pattern.
-
-For detailed information about dotted names, see the
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)] help page.
-
-[[sthref1284]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--monitor`::
-`-m`::
-  Defaults to false. If set to false, the configurable attribute values
-  are returned. If set to true, the monitorable attribute values are
-  returned.
-
-[[sthref1285]]
-
-Operands
-
-dotted-parent-element-name::
-  Configurable or monitorable element name
-
-[[sthref1286]]
-
-Examples
-
-[[GSRFM631]][[sthref1287]]
-
-Example 1   Listing Dotted Names of Configurable Elements
-
-This example lists the elements that can be configured.
-
-[source,oac_no_warn]
-----
-asadmin> list *
-applications
-configs
-configs.config.server-config
-configs.config.server-config.admin-service
-configs.config.server-config.admin-service.das-config
-configs.config.server-config.admin-service.jmx-connector.system
-configs.config.server-config.admin-service.property.adminConsoleContextRoot
-configs.config.server-config.admin-service.property.adminConsoleDownloadLocation
-configs.config.server-config.admin-service.property.ipsRoot
-configs.config.server-config.ejb-container
-configs.config.server-config.ejb-container.ejb-timer-service
-configs.config.server-config.http-service
-configs.config.server-config.http-service.access-log
-configs.config.server-config.http-service.virtual-server.__asadmin
-configs.config.server-config.http-service.virtual-server.server
-configs.config.server-config.iiop-service
-configs.config.server-config.iiop-service.iiop-listener.SSL
-configs.config.server-config.iiop-service.iiop-listener.SSL.ssl
-configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH
-configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH.ssl
-configs.config.server-config.iiop-service.iiop-listener.orb-listener-1
-configs.config.server-config.iiop-service.orb
-configs.config.server-config.java-config
-configs.config.server-config.jms-service
-configs.config.server-config.jms-service.jms-host.default_JMS_host
-...
-property.administrative.domain.name
-resources
-resources.jdbc-connection-pool.DerbyPool
-resources.jdbc-connection-pool.DerbyPool.property.DatabaseName
-resources.jdbc-connection-pool.DerbyPool.property.Password
-resources.jdbc-connection-pool.DerbyPool.property.PortNumber
-resources.jdbc-connection-pool.DerbyPool.property.User
-resources.jdbc-connection-pool.DerbyPool.property.connectionAttributes
-resources.jdbc-connection-pool.DerbyPool.property.serverName
-resources.jdbc-connection-pool.__TimerPool
-resources.jdbc-connection-pool.__TimerPool.property.connectionAttributes
-resources.jdbc-connection-pool.__TimerPool.property.databaseName
-resources.jdbc-resource.jdbc/__TimerPool
-resources.jdbc-resource.jdbc/__default
-servers
-servers.server.server
-servers.server.server.resource-ref.jdbc/__TimerPool
-servers.server.server.resource-ref.jdbc/__default
-system-applications
-Command list executed successfully.
-----
-
-[[GSRFM632]][[sthref1288]]
-
-Example 2   Listing Attributes of a Configurable Element
-
-This example lists the attributes of the web container.
-
-[source,oac_no_warn]
-----
-asadmin> list configs.config.server-config.web-container
-configs.config.server-config.web-container
-configs.config.server-config.web-container.session-config
-Command list executed successfully.
-----
-
-[[GSRFM633]][[sthref1289]]
-
-Example 3   Listing Dotted Names of Monitorable Objects
-
-This example lists the names of the monitorable objects that are enabled
-for monitoring.
-
-[source,oac_no_warn]
-----
-asadmin> list --monitor *
-server.jvm
-server.jvm.class-loading-system
-server.jvm.compilation-system
-server.jvm.garbage-collectors
-server.jvm.garbage-collectors.Copy
-server.jvm.garbage-collectors.MarkSweepCompact
-server.jvm.memory
-server.jvm.operating-system
-server.jvm.runtime
-server.network
-server.network.admin-listener
-server.network.admin-listener.connections
-server.network.admin-listener.file-cache
-server.network.admin-listener.keep-alive
-server.network.admin-listener.thread-pool
-server.network.http-listener-1
-server.network.http-listener-1.connections
-server.network.http-listener-1.file-cache
-server.network.http-listener-1.keep-alive
-server.network.http-listener-1.thread-pool
-server.transaction-service
-Command list executed successfully.
-----
-
-[[sthref1290]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1291]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get.html#get-1[`get`(1)], link:set.html#set-1[`set`(1)]
-
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
-
-link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/logging.adoc b/docs/reference-manual/src/main/jbake/content/logging.adoc
deleted file mode 100644
index 3e8c170..0000000
--- a/docs/reference-manual/src/main/jbake/content/logging.adoc
+++ /dev/null
@@ -1,61 +0,0 @@
-type=page
-status=published
-title=logging
-next=monitoring.html
-prev=instance.html
-~~~~~~
-logging
-=======
-
-[[logging-5asc]][[GSRFM00270]][[logging]]
-
-logging
--------
-
-capturing information on \{product---name} runtime events
-
-[[sthref2404]]
-
-Description
-
-Logging is the process by which \{product---name} captures data about
-events that occur during \{product---name} operation. \{product---name}
-components and application components generate logging data, which is
-saved in the server log, typically domain-dir`/logs/server.log`. The
-server log is the first source of information if \{product---name}
-problems occur.
-
-The server log is rotated when the file reaches the specified size in
-bytes, or the specified time has elapsed. The file can also be rotated
-manually by using the `rotate-log` subcommand.
-
-In addition to the server log, the domain-dir`/logs` directory contains
-two other kinds of logs:
-
-* HTTP service access logs, located in the `/access` subdirectory
-* Transaction service logs, located in the `/tx` subdirectory
-
-Logging levels can be configured by using the Administration Console or
-the `set-log-levels` subcommand. Additional properties can be set by
-using the Administration Console or by editing the `logging.properties`
-file. The default `logging.properties` file is typically located in
-domain-dir`/config`.
-
-Although application components can use the Apache Commons Logging
-Library to record messages, the platform standard JSR 047 API is
-recommended for better log configuration.
-
-[[sthref2405]]
-
-See Also
-
-link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
-link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
-link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/login.adoc b/docs/reference-manual/src/main/jbake/content/login.adoc
deleted file mode 100644
index fe3ee33..0000000
--- a/docs/reference-manual/src/main/jbake/content/login.adoc
+++ /dev/null
@@ -1,140 +0,0 @@
-type=page
-status=published
-title=login
-next=migrate-timers.html
-prev=list-web-env-entry.html
-~~~~~~
-login
-=====
-
-[[login-1]][[GSRFM00210]][[login]]
-
-login
------
-
-logs you into a domain
-
-[[sthref1874]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] login [--help]
-----
-
-[[sthref1875]]
-
-Description
-
-The purpose of the `login` subcommand is to ease domain administration
-by letting you log into a particular domain. If \{product---name}
-domains are created on various machines (locally), you can run the
-`asadmin` utility from any of these machines and manage domains located
-elsewhere (remotely). This is especially useful when a particular
-machine is chosen as an administration client that manages multiple
-domains and servers.
-
-The `login` subcommand prompts you for the administrator user name and
-password. After successful login, the `.asadminpass` file is created in
-your home directory. (This is the same file that is modified when you
-run the `create-domain` subcommand with the `--savelogin` option.) The
-literal host name is stored, and no resolution with the DNS is
-attempted. If a domain is being administered from other machines, it is
-sufficient to run the `login` subcommand once. You do not need to
-specify the `asadmin` utility options `--user` and `--passwordfile` when
-you run additional remote subcommands on that domain. After you have
-logged into a domain, you still need to provide the host and port for
-any subsequent remote subcommands unless you chose the default values
-for `--host` (localhost) and `--port` (4848) options.
-
-Subsequent use of same subcommand with the same parameters will result
-in overwriting the contents of the `.asadminpass` file for the given
-administration host and port. You can decide to overwrite the file or to
-reject such a login.
-
-Login information is saved permanently and can be used across multiple
-domain restarts.
-
-There is no `logout` subcommand. If you want to log in to another
-domain, run the `login` subcommand and specify new values for the
-`asadmin` utility options `--host` and `--port`.
-
-[[sthref1876]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref1877]]
-
-Examples
-
-[[GSRFM720]][[sthref1878]]
-
-Example 1   Logging Into a Domain on a Remote Machine
-
-This example logs into a domain located on another machine. Options are
-specified before the `login` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin --host foo --port 8282 login 
-Please enter the admin user name>admin
-Please enter the admin password>
-
-Trying to authenticate for administration of server at host [foo] 
-and port [8282] ...
-Login information relevant to admin user name [admin] for host [foo] 
-and admin port [8282] stored at [/.asadminpass] successfully.
-Make sure that this file remains protected. Information stored in this 
-file will be used by asadmin commands to manage associated domain.
-----
-
-[[GSRFM721]][[sthref1879]]
-
-Example 2   Logging Into a Domain on the Default Port of Localhost
-
-This example logs into a domain on `mylhost` on the default port.
-Options are specified before the `login` subcommand.
-
-[source,oac_no_warn]
-----
-asadmin --host myhost login 
-Please enter the admin user name>admin
-Please enter the admin password>
-Trying to authenticate for administration of server 
-at host [myhost] and port [4848] ...
-An entry for login exists for host [myhost] and port [4848], probably 
-from an earlier login operation.
-Do you want to overwrite this entry (y/n)?y
-Login information relevant to admin user name [admin] for host [myhost] 
-and admin port [4848] stored at [/home/joe/.asadminpass] successfully.
-Make sure that this file remains protected. Information stored in this 
-file will be used by asadmin commands to manage associated domain.
-----
-
-[[sthref1880]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1881]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-domain.html#create-domain-1[`create-domain`(1)],
-link:delete-domain.html#delete-domain-1[`delete-domain`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/manvol1.adoc b/docs/reference-manual/src/main/jbake/content/manvol1.adoc
deleted file mode 100644
index 12af5f1..0000000
--- a/docs/reference-manual/src/main/jbake/content/manvol1.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server 5.1 asadmin Utility Subcommands
-next=add-library.html
-prev=preface.html
-~~~~~~
-Eclipse GlassFish Server 5.1 asadmin Utility Subcommands
-========================================================
-
-[[GSRFM443]][[sthref6]]
-
-
-[[glassfish-server-open-source-edition-5.0-asadmin-utility-subcommands]]
-1 Eclipse GlassFish Server 5.1 asadmin Utility Subcommands
-----------------------------------------------------------
-
-This section describes, in alphabetical order, the subcommands of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility.
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/manvol1m.adoc b/docs/reference-manual/src/main/jbake/content/manvol1m.adoc
deleted file mode 100644
index 2ecd6fc..0000000
--- a/docs/reference-manual/src/main/jbake/content/manvol1m.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server 5.1 Utility Commands
-next=appclient.html
-prev=version.html
-~~~~~~
-Eclipse GlassFish Server 5.1 Utility Commands
-=============================================
-
-[[GSRFM803]][[sthref2356]]
-
-
-[[glassfish-server-open-source-edition-5.0-utility-commands]]
-2 Eclipse GlassFish Server 5.1 Utility Commands
------------------------------------------------
-
-This section describes GlassFish Server utility commands.
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/manvol5asc.adoc b/docs/reference-manual/src/main/jbake/content/manvol5asc.adoc
deleted file mode 100644
index 8af50ca..0000000
--- a/docs/reference-manual/src/main/jbake/content/manvol5asc.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server 5.1 GlassFish Server Concepts
-next=application.html
-prev=package-appclient.html
-~~~~~~
-Eclipse GlassFish Server 5.1 GlassFish Server Concepts
-======================================================
-
-[[GSRFM814]][[sthref2391]]
-
-
-[[glassfish-server-open-source-edition-5.0-glassfish-server-concepts]]
-3 Eclipse GlassFish Server 5.1 GlassFish Server Concepts
---------------------------------------------------------
-
-This section describes concepts that are related to GlassFish Server
-administration.
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/migrate-timers.adoc b/docs/reference-manual/src/main/jbake/content/migrate-timers.adoc
deleted file mode 100644
index edc3a17..0000000
--- a/docs/reference-manual/src/main/jbake/content/migrate-timers.adoc
+++ /dev/null
@@ -1,98 +0,0 @@
-type=page
-status=published
-title=migrate-timers
-next=monitor.html
-prev=login.html
-~~~~~~
-migrate-timers
-==============
-
-[[migrate-timers-1]][[GSRFM00211]][[migrate-timers]]
-
-migrate-timers
---------------
-
-moves EJB timers when a clustered instance was stopped or has crashed
-
-[[sthref1882]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] migrate-timers [--help] 
-[--target target_server_name]
-server_name
-----
-
-[[sthref1883]]
-
-Description
-
-The `migrate-timers` subcommand moves EJB timers to a specified server
-when a server instance stops or crashes, if automatic timer migration is
-not enabled in the cluster configuration. This subcommand is supported
-in remote mode only.
-
-[[sthref1884]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This is the target server instance. If this option is not specified,
-  then DAS will find a server instance or multiple server instances. A
-  migration notification will be sent to the selected server instances.
-`--destination`::
-  This option is deprecated. It works exactly as the `--target` option
-  does.
-
-[[sthref1885]]
-
-Operands
-
-server_name::
-  This is the server instance on which the timers are currently located.
-  This server instance should not be running during the migration
-  process.
-
-[[sthref1886]]
-
-Examples
-
-[[GSRFM722]][[sthref1887]]
-
-Example 1   Migrating Timers
-
-This example shows how to migrate timers from the server named
-`instance1` to a server named `instance2`.
-
-[source,oac_no_warn]
-----
-asadmin>migrate-timers --target instance2 instance1
-This command was successfully executed.
-----
-
-[[sthref1888]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1889]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-timers.html#list-timers-1[`list-timers`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/monitor.adoc b/docs/reference-manual/src/main/jbake/content/monitor.adoc
deleted file mode 100644
index 50a8580..0000000
--- a/docs/reference-manual/src/main/jbake/content/monitor.adoc
+++ /dev/null
@@ -1,273 +0,0 @@
-type=page
-status=published
-title=monitor
-next=multimode.html
-prev=migrate-timers.html
-~~~~~~
-monitor
-=======
-
-The script content on this page is for navigation purposes only and does
-not alter the content in any way.
-
-[[monitor-1]][[GSRFM00212]][[monitor]]
-
-monitor
--------
-
-displays monitoring data for commonly used components and services
-
-[[sthref1890]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] monitor [--help] 
---type type 
-[--filename filename] 
-[--interval interval] 
-[--filter filter] 
-instance-name
-----
-
-[[sthref1891]]
-
-Description
-
-The `monitor` subcommand displays statistics for commonly monitored
-\{product---name} components and services. The `--type` option must be
-used to specify the object for which statistics are to be displayed.
-Data is displayed continuously in a tabular form, or the data can be
-displayed at a particular time interval by using the `--interval`
-option.
-
-Before a given component or service can be monitored, monitoring must be
-enabled (set to HIGH or LOW) for the component or service by using the
-Administration Console, the enable-monitoring subcommand, or the set
-subcommand.
-
-The monitor subcommand has options for filtering the results and
-capturing the output in a Comma Separated Values (CSV) file. The output
-appears in a table format. To view the legend of the table header, type
-`h`.
-
-This subcommand is supported in local mode only.
-
-[[sthref1892]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--type`::
-  The component or service to monitor. This option is required. No
-  default value is defined. +
-  `httplistener`;;
-    For this type, the attribute
-    `server.monitoring-service.module-monitoring-levels.http-service`
-    must be set to LOW or HIGH. +
-    Displays the following statistics for the HTTP listener service:::
-    `ec`::
-      The total number errors in the processing of HTTP requests.
-    `mt`::
-      The longest response time (in milliseconds) for the processing of
-      a single HTTP request.
-    `pt`::
-      The total amount of time (in milliseconds) that the HTTP listener
-      service has spent in processing HTTP requests.
-    `rc`::
-      The total number of requests that the HTTP listener service has
-      processed.
-  `jvm`;;
-    For this type, the attribute
-    `server.server-config.monitoring-service.module-monitoring-levels.jvm`
-    must be set to LOW or HIGH. +
-    Displays the following statistics for the Virtual Machine for the
-    Java platform (Java Virtual Machine or JVM
-    machine):link:#sthref1893[^Foot 2 ^]::
-    `UpTime`::
-      The number of milliseconds that the JVM machine has been running
-      since it was last started.
-    `min`::
-      The initial amount of memory (in bytes) that the JVM machine
-      requests from the operating system for memory management during
-      startup.
-    `max`::
-      The maximum amount of memory that can be used for memory
-      management.
-    `low`::
-      Retained for compatibility with other releases.
-    `high`::
-      Retained for compatibility with other releases.
-    `count`::
-      The amount of memory (in bytes) that is guaranteed to be available
-      for use by the JVM machine.
-  `webmodule`;;
-    For this type, the attribute
-    `server.server-config.monitoring-service.module-monitoring-levels.web-container`
-    must be set to LOW or HIGH. +
-    Displays the following statistics for all deployed web modules:::
-    `asc`::
-      The number of currently active sessions.
-    `ast`::
-      The total number of sessions that are currently active or have
-      been active previously.
-    `rst`::
-      The total number of rejected sessions.
-    `st`::
-      The total number of sessions that have been created.
-    `ajlc`::
-      The number of currently active JavaServer Pages ( JSP) technology
-      pages that are loaded.
-    `mjlc`::
-      The maximum number of JSP technology pages that were active at any
-      time simultaneously.
-    `tjlc`::
-      Total number of JSP technology pages that have been loaded.
-    `aslc`::
-      The number of currently active Java servlets that are loaded.
-    `mslc`::
-      The maximum number of Java servlets that were active at any time
-      simultaneously.
-    `tslc`::
-      The total number of Java servlets that have been loaded.
-`--filename`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--interval`::
-  The interval in seconds before capturing monitoring attributes. The
-  interval must be greater than 0. The monitoring attributes are
-  displayed on `stdout` until you type Control-C or `q`. The default
-  value is 30.
-`--filter`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref1894]]
-
-Operands
-
-instance-name::
-  The server instance for which to view monitoring data. The default
-  value is `server`.
-
-[[sthref1895]]
-
-Examples
-
-[[GSRFM723]][[sthref1896]]
-
-Example 1   Displaying Monitoring Statistics by Interval
-
-This example displays monitoring data for the JVM machine every 2000
-seconds.
-
-[source,oac_no_warn]
-----
-asadmin> monitor --type=jvm --interval 2000 server
-                               JVM Monitoring
-UpTime(ms)                          Heap and NonHeap Memory(bytes)          
-current                   min        max        low        high       count     
-957843                    29523968   188284928  0          0          60370944  
-
-q
-Command monitor executed successfully.
-----
-
-[[GSRFM724]][[sthref1897]]
-
-Example 2   Filtering the Monitoring Data
-
-This example uses the filter option to show `http-listener-1`
-statistics.
-
-[source,oac_no_warn]
-----
-asadmin> monitor --type httplistener --filter http-listener-1 server
-
-                   HTTP Listener Monitoring: http-listener-1
-br   bs   c200 c2xx c302 c304 c3xx c400 c401 c403 c404 c4xx c503 c5xx coc  co 
-ctc  ctb  ec   moc  mst  mt   mtm  mst  pt   rc
-0    0    0    0    0    3    3    0    0    0    0    0    0    0    0    0 
-2    0    0    1    20   20   2    2    6    3
-----
-
-To see the legend for the table headings, type `h`.
-
-[source,oac_no_warn]
-----
-******************************************************************************************
-* br   = Cumulative value of the Bytes received by each of the Request Processors        *
-* bs   = Cumulative value of the Bytes sent by each of the Request Processors            *
-* c200 = Number of responses with a status code equal to 200                             *
-* c2xx = Number of responses with a status code in the 2xx range                         *
-* c302 = Number of responses with a status code equal to 302                             *
-* c304 = Number of responses with a status code equal to 304                             *
-* c3xx = Number of responses with a status code in the 3xx range                         *
-* c400 = Number of responses with a status code equal to 400                             *
-* c401 = Number of responses with a status code equal to 401                             *
-* c403 = Number of responses with a status code equal to 403                             *
-* c404 = Number of responses with a status code equal to 404                             *
-* c4xx = Number of responses with a status code equal to 4xx                             *
-* c504 = Number of responses with a status code equal to 504                             *
-* c5xx = Number of responses with a status code equal to 5xx                             *
-* coc  = Number of open connections                                                      *
-* co   = Number of responses with a status code outside the 2xx, 3xx, 4xx, and 5xx range *
-* ctc  = Number of request processing threads currently in the listener thread pool      *
-* ctb  = Number of request processing threads currently in use in the listener thread    *
-*        pool serving requests                                                           *
-* ec   = Number of responses with a status code equal to 400                             *
-* moc  = Maximum number of open connections                                              *
-* mst  = Minimum number of request processing threads that will be created at listener   *
-*        startup time and maintained as spare threads above the current thread count     *
-* mt   = Maximum number of request processing threads that are created by the listener   *
-* mtm  = Provides the longest response time for a request - not a cumulative value, but  *
-*        the largest response time from among the response times                         *
-* pt   = Cumulative value of the times taken to process each request. The processing     *
-*        time is the average of request processing times over the request count          *
-* rc   = Cumulative number of the requests processed so far                              *
-******************************************************************************************
-----
-
-[[sthref1898]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1899]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:enable-monitoring.html#enable-monitoring-1[`enable-monitoring`(1)],
-link:disable-monitoring.html#disable-monitoring-1[`disable-monitoring`(1)],
-link:set.html#set-1[`set`(1)]
-
-link:monitoring.html#monitoring-5asc[`monitoring`(5ASC)]
-
-"link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-'''''
-
-
-Footnote Legend
-
-Footnote 2: The terms "Java Virtual Machine" and "JVM" mean a Virtual
-Machine for the Java platform. +
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/monitoring.adoc b/docs/reference-manual/src/main/jbake/content/monitoring.adoc
deleted file mode 100644
index e9ffc6b..0000000
--- a/docs/reference-manual/src/main/jbake/content/monitoring.adoc
+++ /dev/null
@@ -1,76 +0,0 @@
-type=page
-status=published
-title=monitoring
-next=passwords.html
-prev=logging.html
-~~~~~~
-monitoring
-==========
-
-[[monitoring-5asc]][[GSRFM00271]][[monitoring]]
-
-monitoring
-----------
-
-reviewing the runtime state of components and services deployed in
-\{product---name}
-
-[[sthref2406]]
-
-Description
-
-Monitoring is the process of reviewing the statistics of a system to
-improve performance or solve problems. By monitoring the state of
-various components and services deployed in \{product---name},
-performance bottlenecks can be identified, failures can be anticipated,
-and runtime standards can be established and observed. Data gathered by
-monitoring can also be useful in performance tuning and capacity
-planning.
-
-The \{product---name} monitoring service is enabled by default, that is,
-the `monitoring-enabled` attribute of the `monitoring-service` element
-is set to true. Once the monitoring service is enabled, a deployed
-module can then be enabled for monitoring by setting its monitoring
-level to HIGH or LOW (default is OFF). Monitoring can be configured
-dynamically by using the Administration Console or the
-`enable-monitoring` and the `disable-monitoring` subcommands. The `set`
-subcommand can also be used with dotted names to enable or disable
-monitoring. However, a server restart is required for changes made by
-using the `set` subcommand to take affect.
-
-Monitoring data can be viewed by using the Administration Console or by
-using the subcommands of the `asadmin` utility.
-
-* The `monitor` subcommand displays monitoring data for a given type,
-similar to the UNIX `top` command. The data is presented at given
-intervals.
-* The `list` and `get` subcommands display comprehensive data. Both use
-dotted names to specify monitorable objects.
-
-Alternate tools for monitoring \{product---name} components and services
-include JConsole and the REST interface.
-
-The Monitoring Scripting Client or DTrace Monitoring can be used to
-start the available monitoring probes. Using these tools is helpful in
-identifying performance issues during runtime. Monitoring Scripting
-Client or DTrace Monitoring are only usable if their modules are
-present.
-
-[[sthref2407]]
-
-See Also
-
-link:monitor.html#monitor-1[`monitor`(1)],
-link:enable-monitoring.html#enable-monitoring-1[`enable-monitoring`(1)],
-link:disable-monitoring.html#disable-monitoring-1[`disable-monitoring`(1)],
-link:list.html#list-1[`list`(1)], link:get.html#get-1[`get`(1)],
-link:set.html#set-1[`set`(1)]
-
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-"link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/multimode.adoc b/docs/reference-manual/src/main/jbake/content/multimode.adoc
deleted file mode 100644
index 01523b0..0000000
--- a/docs/reference-manual/src/main/jbake/content/multimode.adoc
+++ /dev/null
@@ -1,130 +0,0 @@
-type=page
-status=published
-title=multimode
-next=osgi.html
-prev=monitor.html
-~~~~~~
-multimode
-=========
-
-[[multimode-1]][[GSRFM00213]][[multimode]]
-
-multimode
----------
-
-allows multiple subcommands to be run while preserving environment
-settings and remaining in the asadmin utility
-
-[[sthref1900]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] multimode [--help] 
-[--file filename] 
-[--printprompt={true|false}] [--encoding encode]
-----
-
-[[sthref1901]]
-
-Description
-
-The `multimode` subcommand processes `asadmin` subcommands sequentially
-in a single session. The command-line interface prompts for a
-subcommand, runs that subcommand, displays the results of that
-subcommand, and then prompts for the next subcommand. All the `asadmin`
-options set in multimode apply to subsequent commands until the
-multimode session is exited. You exit `multimode` by typing `exit`,
-`quit`, or Ctrl-D.
-
-You can use the `export` subcommand to set your environment, or use the
-`unset` subcommand to remove environment variables from the multimode
-environment.
-
-You can also provide subcommands by passing a previously prepared list
-of subcommands from a file or standard input (pipe). When you use a
-file, you can include comment lines in the file by entering the hash
-symbol (`#`) as the first character of the line.
-
-You can invoke `multimode` from within a multimode session. When you
-exit the second multimode environment, you return to your original
-multimode environment.
-
-All the remote `asadmin` utility options can be supplied when invoking
-the `multimode` subcommand. The settings will apply as defaults for all
-subcommands that are run within the multimode session. For a list of the
-`asadmin` utility options, see the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-
-[[sthref1902]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--file`::
-`-f`::
-  Reads the subcommands in the specified file.
-`--printprompt`::
-  Controls printing of the `asadmin` prompt. By default, this option is
-  set to the same value as the `--interactive` `asadmin` utility option.
-  Normally you will not need to specify this option. Default is true.
-`--encoding`::
-  Specifies the character set for the file to be decoded. By default,
-  the system character set is used.
-
-[[sthref1903]]
-
-Examples
-
-[[GSRFM725]][[sthref1904]]
-
-Example 1   Starting a Multimode Session
-
-This example starts a multimode session where: `%` is the system prompt.
-
-[source,oac_no_warn]
-----
-% asadmin multimode
-asadmin> 
-----
-
-You can also start a multimode session by typing `asadmin` without
-options or subcommands at the system prompt.
-
-[[GSRFM726]][[sthref1905]]
-
-Example 2   Running Multiple Commands From a File
-
-This example runs a sequence of subcommands from the `commands_file.txt`
-file.
-
-[source,oac_no_warn]
-----
-% asadmin multimode --file commands_file.txt
-----
-
-[[sthref1906]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1907]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:export.html#export-1[`export`(1)],
-link:unset.html#unset-1[`unset`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/osgi-shell.adoc b/docs/reference-manual/src/main/jbake/content/osgi-shell.adoc
deleted file mode 100644
index 5b88df7..0000000
--- a/docs/reference-manual/src/main/jbake/content/osgi-shell.adoc
+++ /dev/null
@@ -1,153 +0,0 @@
-type=page
-status=published
-title=osgi-shell
-next=ping-connection-pool.html
-prev=osgi.html
-~~~~~~
-osgi-shell
-==========
-
-[[osgi-shell-1]][[GSRFM890]][[osgi-shell]]
-
-osgi-shell
-----------
-
-provides interactive access to the Apache Felix Gogo remote shell for
-the execution of OSGi shell commands
-
-[[sthref1918]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] osgi-shell [--help]
-[--file file]
-[--printprompt={false|true}]
-[--encoding encoding]
-----
-
-[[sthref1919]]
-
-Description
-
-The `osgi-shell` subcommand provides interactive access to the Apache
-Felix Gogo remote shell for the execution of OSGi shell commands. The
-remote shell is provided with \{product---name} and used to administer
-and inspect the OSGi runtime.
-
-OSGi shell commands are executed on the server and results are printed
-on the client. Because the shell is interactive, no operands are
-accepted. Scripting is supported, which means that multiple commands can
-be executed in sequence from a text file.
-
-A related subcommand is the `osgi` subcommand, which passes a single
-command to the remote shell for execution. Results are returned by the
-`asadmin` utility. For more information about the `osgi` subcommand, see
-the link:osgi.html#osgi-1[`osgi`(1)] help page.
-
-This subcommand is supported in local mode only. Unlike other local
-subcommands, however, the domain administration server (DAS) and the
-server instance whose shell is being accessed must be running.
-
-[[sthref1920]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--file`::
-`-f`::
-  Reads the commands in the specified file.
-`--printprompt`::
-  Controls printing of the shell prompt. The default value is `true`,
-  which means the shell prompt is displayed.
-`--encoding`::
-  Specifies the character set for the file to be decoded. By default,
-  the system character set is used.
-
-[[sthref1921]]
-
-Examples
-
-[[GSRFM891]][[sthref1922]]
-
-Example 1   Listing Apache Felix Gogo Remote Shell Commands
-
-This example lists Apache Felix Gogo remote shell commands.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi-shell
-Use "exit" to exit and "help" for online help.
-gogo$ help
-felix:bundlelevel
-felix:cd
-felix:frameworklevel
-felix:headers
-felix:help
-felix:inspect
-felix:install
-felix:lb
-felix:log
-felix:ls
-...
-gogo:cat
-gogo:each
-gogo:echo
-gogo:format
-gogo:getopt
-gogo:gosh
-gogo:grep
-...
-gogo$
-----
-
-[[GSRFM892]][[sthref1923]]
-
-Example 2   Running a Remote Shell Command
-
-This example runs the Felix Remote Shell Command `lb` without any
-arguments to list all installed OSGi bundles.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi-shell
-Use "exit" to exit and "help" for online help.
-gogo$ lb
-START LEVEL 2
-ID|State      |Level|Name
- 0|Active     |    0|System Bundle
- 1|Active     |    1|Metro Web Services API OSGi Bundle
- 2|Active     |    1|jakarta.annotation API
- 3|Active     |    1|jaxb-api
-...
-gogo$
-----
-
-[[sthref1924]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1925]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:osgi.html#osgi-1[`osgi`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/osgi.adoc b/docs/reference-manual/src/main/jbake/content/osgi.adoc
deleted file mode 100644
index 5ebe990..0000000
--- a/docs/reference-manual/src/main/jbake/content/osgi.adoc
+++ /dev/null
@@ -1,197 +0,0 @@
-type=page
-status=published
-title=osgi
-next=osgi-shell.html
-prev=multimode.html
-~~~~~~
-osgi
-====
-
-[[osgi-1]][[GSRFM877]][[osgi]]
-
-osgi
-----
-
-delegates the command line to the Apache Felix Gogo remote shell for the
-execution of OSGi shell commands
-
-[[sthref1908]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] osgi [--help]
-[--session session]
-[--session-id session-id]
-[--instance instance]
-[command_line]
-----
-
-[[sthref1909]]
-
-Description
-
-The `osgi` subcommand delegates the command line to the Apache Felix
-Gogo remote shell for the execution of OSGi shell commands. Commands are
-executed by the remote shell and results are returned by the `asadmin`
-utility. The remote shell is provided with \{product---name} and used to
-administer and inspect the OSGi runtime.
-
-Multiple command-line sessions can be created. Use the `--session` and
-`--session-id` options to run commands in a specific command-line
-session. If no session is specified, a new session is created to run
-commands and closed when execution completes.
-
-A related subcommand is the `osgi-shell` subcommand, which enables you
-to run multiple commands from a file or run commands interactively. For
-more information about the `osgi-shell` subcommand, see the
-link:osgi-shell.html#osgi-shell-1[`osgi-shell`(1)] help page.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1910]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the `osgi` subcommand.
-`--session`::
-  Performs command-line session operations. Valid values are: +
-  `new`;;
-    Creates a new session and returns a session ID.
-  `stop`;;
-    Stops the session with the specified session ID.
-  `list`;;
-    Lists all active sessions.
-  `execute`;;
-    Runs a command in the session with the specified session ID.
-`--session-id`::
-  Specifies the session ID for command-line session operations.
-`--instance`::
-  Specifies the server instance to which the command is being delegated. +
-  The default is the domain administration server (DAS). The DAS must be
-  running to run a command on another instance.
-
-[[sthref1911]]
-
-Operands
-
-command_line::
-  The complete command-line syntax as provided for commands in the
-  Apache Felix Gogo remote shell.
-
-[[sthref1912]]
-
-Examples
-
-[[GSRFM888]][[sthref1913]]
-
-Example 1   Listing Apache Felix Gogo Remote Shell Commands
-
-This example lists the Apache Felix Gogo remote shell commands that can
-be used with the `osgi` subcommand.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi help
-felix:bundlelevel
-felix:cd
-felix:frameworklevel
-felix:headers
-felix:help
-felix:inspect
-felix:install
-felix:lb
-felix:log
-felix:ls
-felix:refresh
-felix:resolve
-...
-gogo:cat
-gogo:each
-gogo:echo
-gogo:format
-gogo:getopt
-gogo:gosh
-gogo:grep
-...
-Command osgi executed successfully.
-----
-
-[[GSRFM878]][[sthref1914]]
-
-Example 2   Running a Remote Shell Command
-
-This example runs the Felix Remote Shell Command `lb` without any
-arguments to list all installed OSGi bundles.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi lb
-START LEVEL 2
-ID|State      |Level|Name
- 0|Active     |    0|System Bundle
- 1|Active     |    1|Metro Web Services API OSGi Bundle
- 2|Active     |    1|jakarta.annotation API
- 3|Active     |    1|jaxb-api
-...
-Command osgi executed successfully.
-----
-
-[[GSRFM889]][[sthref1915]]
-
-Example 3   Running Commands That Create and Target a Specific
-Command-Line Session
-
-This example runs commands that create and target a specific
-command-line session.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> osgi --session new
-9537e570-0def-4f2e-9c19-bc8f51a8082f
-...
-asadmin> osgi --session list
-9537e570-0def-4f2e-9c19-bc8f51a8082f 
-...
-asadmin> osgi --session execute --session-id 9537e570-0def-4f2e-9c19-bc8f51a8082f lb
-START LEVEL 2
-ID|State      |Level|Name
- 0|Active     |    0|System Bundle
- 1|Active     |    1|Metro Web Services API OSGi Bundle
- 2|Active     |    1|jakarta.annotation API
- 3|Active     |    1|jaxb-api
-...
-asadmin> osgi --session stop --session-id 9537e570-0def-4f2e-9c19-bc8f51a8082f
-Command osgi executed successfully.
-----
-
-[[sthref1916]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1917]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:osgi-shell.html#osgi-shell-1[`osgi-shell`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/package-appclient.adoc b/docs/reference-manual/src/main/jbake/content/package-appclient.adoc
deleted file mode 100644
index 72902ac..0000000
--- a/docs/reference-manual/src/main/jbake/content/package-appclient.adoc
+++ /dev/null
@@ -1,92 +0,0 @@
-type=page
-status=published
-title=package-appclient
-next=manvol5asc.html
-prev=capture-schema.html
-~~~~~~
-package-appclient
-=================
-
-[[package-appclient-1m]][[GSRFM00264]][[package-appclient]]
-
-package-appclient
------------------
-
-packs the application client container libraries and jar files
-
-[[sthref2387]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-package-appclient
-----
-
-[[sthref2388]]
-
-Description
-
-Use the `package-appclient` command to pack the application client
-container libraries and jar files into an `appclient.jar` file, which is
-created in the as-install`/lib` directory on the machine on which
-\{product---name} is installed. The `appclient.jar` file provides an
-application client container package targeted at remote hosts that do
-not contain a server installation.
-
-After copying the `appclient.jar` file to a remote location, unjar or
-unzip it to get a set of libraries and jar files in the `appclient`
-directory under the current directory.
-
-After unjarring on the client machine, modify
-`appclient/glassfish/config/asenv.conf` (`asenv.bat` for Windows) as
-follows:
-
-* set `AS_WEBSERVICES_LIB` to path-to-appclient`/appclient/lib`
-* set `AS_IMQ_LIB` to path-to-appclient`/appclient/mq/lib`
-* set `AS_INSTALL` to path-to-appclient`/appclient`
-* set `AS_JAVA` to your JDK 7 or JRE 7 home directory
-* set `AS_ACC_CONFIG` to
-path-to-appclient`/appclient/glassfish/domains/domain1/config/sun-acc.xml`
-
-Modify `appclient/glassfish/domains/domain1/config/sun-acc.xml` as
-follows:
-
-* Ensure the `DOCTYPE` file references
-path-to-appclient`/appclient/glassfish/lib/dtds`
-* Ensure that `target-server` address attribute references the server
-machine.
-* Ensure that `target-server` port attribute references the ORB port on
-the remote machine.
-* Ensure that `log-service` references a log file; if the user wants to
-put log messages to a log file.
-
-To use the newly installed application client container, you must do the
-following:
-
-* Obtain the application client files for your target application,
-including the generated yourAppClient.jar file.
-* Execute the `appclient` utility: `appclient -`client yourAppClient.jar
-
-[[sthref2389]]
-
-Attributes
-
-See
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN5attributes-5[`attributes`(5)]
-for descriptions of the following attributes:
-
-[width="100%",cols="50%,50%",options="header",]
-|===============================
-|ATTRIBUTE TYPE |ATTRIBUTE VALUE
-|Interface Stability |Unstable
-|===============================
-
-
-[[sthref2390]]
-
-See Also
-
-link:appclient.html#appclient-1m[`appclient`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/passwords.adoc b/docs/reference-manual/src/main/jbake/content/passwords.adoc
deleted file mode 100644
index 64b4253..0000000
--- a/docs/reference-manual/src/main/jbake/content/passwords.adoc
+++ /dev/null
@@ -1,39 +0,0 @@
-type=page
-status=published
-title=passwords
-next=resource.html
-prev=monitoring.html
-~~~~~~
-passwords
-=========
-
-[[passwords-5asc]][[GSRFM00272]][[passwords]]
-
-passwords
----------
-
-securing and managing \{product---name}
-
-[[sthref2408]]
-
-Description
-
-An administrator of \{product---name} manages one or more domains, each
-of which can have distinct administrative credentials. By managing a
-domain, an administrator effectively manages various resources like
-server instances, server clusters, libraries etc. that are required by
-the enterprise Java applications.
-
-[[sthref2409]]
-
-See Also
-
-link:change-admin-password.html#change-admin-password-1[`change-admin-password`(1)],
-link:change-master-password.html#change-master-password-1[`change-master-password`(1)],
-link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
-link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)],
-link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)]
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/ping-connection-pool.adoc b/docs/reference-manual/src/main/jbake/content/ping-connection-pool.adoc
deleted file mode 100644
index d12118e..0000000
--- a/docs/reference-manual/src/main/jbake/content/ping-connection-pool.adoc
+++ /dev/null
@@ -1,124 +0,0 @@
-type=page
-status=published
-title=ping-connection-pool
-next=ping-node-dcom.html
-prev=osgi-shell.html
-~~~~~~
-ping-connection-pool
-====================
-
-[[ping-connection-pool-1]][[GSRFM00214]][[ping-connection-pool]]
-
-ping-connection-pool
---------------------
-
-tests if a connection pool is usable
-
-[[sthref1926]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] ping-connection-pool [--help] 
-pool_name 
-[--appname application [--modulename module]
-----
-
-[[sthref1927]]
-
-Description
-
-The `ping-connection-pool` subcommand tests if an existing JDBC or
-connector connection pool is usable . For example, if you create a new
-JDBC connection pool for an application that is expected to be deployed
-later, the JDBC pool is tested with this subcommand before deploying the
-application.
-
-Before testing availability of a connection pool, you must create the
-connection pool with authentication and ensure that the server or
-database is started.
-
-This subcommand is supported in remote mode only.
-
-Application Scoped Resources
-
-The `ping-connection-pool` subcommand can target resources that are
-scoped to a specific application or module, as defined in the
-`glassfish-resources.xml` for the GlassFish domain.
-
-* To reference the `jndi-name` for an application scoped resource,
-perform the lookup using the `java:app` prefix.
-* To reference the `jndi-name` for a module scoped resource, perform the
-lookup using the `java:module` prefix.
-
-The `jndi-name` for application-scoped-resources or
-module-scoped-resources are specified using the format
-`java:app/`jdbc/myDataSource or
-`java:module/`jdbc/myModuleLevelDataSource. This naming scope is defined
-in the Java EE 6 Specification
-(`http://download.oracle.com/javaee/6/api/`).
-
-[[sthref1928]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--appname`::
-  Name of the application in which the application scoped resource is
-  defined.
-`--modulename`::
-  Name of the module in which the module scoped resource is defined.
-
-[[sthref1929]]
-
-Operands
-
-pool_name::
-  Name of the connection pool to be reinitialized.
-
-[[sthref1930]]
-
-Examples
-
-[[GSRFM727]][[sthref1931]]
-
-Example 1   Contacting a Connection Pool
-
-This example tests to see if the connection pool named `DerbyPool` is
-usable.
-
-[source,oac_no_warn]
-----
-asadmin> ping-connection-pool DerbyPool
-Command ping-connection-pool executed successfully
-----
-
-[[sthref1932]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1933]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-connection-pool.html#create-connector-connection-pool-1[`create-connector-connection-pool`(1)],
-link:create-jdbc-connection-pool.html#create-jdbc-connection-pool-1[`create-jdbc-connection-pool`(1)],
-link:delete-connector-connection-pool.html#delete-connector-connection-pool-1[`delete-connector-connection-pool`(1)],
-link:delete-jdbc-connection-pool.html#delete-jdbc-connection-pool-1[`delete-jdbc-connection-pool`(1)],
-link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
-link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/ping-node-dcom.adoc b/docs/reference-manual/src/main/jbake/content/ping-node-dcom.adoc
deleted file mode 100644
index 35deb51..0000000
--- a/docs/reference-manual/src/main/jbake/content/ping-node-dcom.adoc
+++ /dev/null
@@ -1,152 +0,0 @@
-type=page
-status=published
-title=ping-node-dcom
-next=ping-node-ssh.html
-prev=ping-connection-pool.html
-~~~~~~
-ping-node-dcom
-==============
-
-[[ping-node-dcom-1]][[GSRFM728]][[ping-node-dcom]]
-
-ping-node-dcom
---------------
-
-tests if a node that is enabled for communication over DCOM is usable
-
-[[sthref1934]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] ping-node-dcom [--help]
-[--validate={false|true}] node-name
-----
-
-[[sthref1935]]
-
-Description
-
-The `ping-node-dcom` subcommand tests if a node that is enabled for
-communication over the Distributed Component Object Model (DCOM) remote
-protocol is usable. The DCOM protocol is available only on Windows
-systems. This subcommand requires DCOM to be configured on the machine
-where the domain administration server (DAS) is running and on the
-machine where the node resides. You may run this command from any
-machine that can contact the DAS.
-
-If the node is usable, the subcommand displays a confirmation that the
-subcommand could connect to the node through DCOM. This confirmation
-includes the name of the host that the node represents.
-
-Optionally, the subcommand can also validate the node to determine if
-the link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility can run on the
-host that the node represents. To validate a node, the subcommand runs
-the link:version.html#version-1[`version`(1)] subcommand. If the node is
-valid, the subcommand displays the version that the `version` subcommand
-returns.
-
-The node that is specified as the operand of this subcommand must be
-enabled for communication over DCOM. If the node is not enabled for
-communication over DCOM, an error occurs. To determine whether a node is
-enabled for communication over DCOM, use the
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-
-[NOTE]
-=======================================================================
-
-To test whether a node that is enabled for communication over secure
-shell (SSH) is usable, use the
-link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)] subcommand.
-
-=======================================================================
-
-
-This subcommand is supported in remote mode only.
-
-[[sthref1936]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--validate`::
-  Specifies whether the subcommand validates the node. +
-  Possible values are as follows: +
-  `true`;;
-    The node is validated.
-  `false`;;
-    The node is not validated (default).
-
-[[sthref1937]]
-
-Operands
-
-node-name::
-  The name of the node to test. The node must be enabled for
-  communication over DCOM. Otherwise, an error occurs.
-
-[[sthref1938]]
-
-Examples
-
-[[GSRFM729]][[sthref1939]]
-
-Example 1   Testing if a DCOM-Enabled Node Is Usable
-
-This example tests if the DCOM-enabled node `wpmd2` is usable.
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-dcom wpmdl2
-Successfully made DCOM connection to node wpmdl2 (wpmdl2.example.com)
-Command ping-node-dcom executed successfully.
-----
-
-[[GSRFM730]][[sthref1940]]
-
-Example 2   Validating a DCOM-Enabled Node
-
-This example validates the DCOM-enabled node `adc-node`.
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-dcom --validate=true adc-node
-Successfully made DCOM connection to node adc-node (adc-node.example.com)
-GlassFish version found at C:\glassfish3:
-Using locally retrieved version string from version class.
-Version = GlassFish Server Open Source Edition 3.1.2 (build 18)
-Command version executed successfully.
-Command ping-node-dcom executed successfully.
-----
-
-[[sthref1941]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1942]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
-link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)],
-link:version.html#version-1[`version`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/ping-node-ssh.adoc b/docs/reference-manual/src/main/jbake/content/ping-node-ssh.adoc
deleted file mode 100644
index 9c2faf4..0000000
--- a/docs/reference-manual/src/main/jbake/content/ping-node-ssh.adoc
+++ /dev/null
@@ -1,152 +0,0 @@
-type=page
-status=published
-title=ping-node-ssh
-next=recover-transactions.html
-prev=ping-node-dcom.html
-~~~~~~
-ping-node-ssh
-=============
-
-[[ping-node-ssh-1]][[GSRFM00215]][[ping-node-ssh]]
-
-ping-node-ssh
--------------
-
-tests if a node that is enabled for communication over SSH is usable
-
-[[sthref1943]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] ping-node-ssh [--help]
-[--validate={false|true}] node-name
-----
-
-[[sthref1944]]
-
-Description
-
-The `ping-node-ssh` subcommand tests if a node that is enabled for
-communication over secure shell (SSH) is usable. This subcommand
-requires secure shell (SSH) to be configured on the machine where the
-domain administration server (DAS) is running and on the machine where
-the node resides. You may run this command from any machine that can
-contact the DAS.
-
-If the node is usable, the subcommand displays a confirmation that the
-subcommand could connect to the node through SSH. This confirmation
-includes the name of the host that the node represents.
-
-Optionally, the subcommand can also validate the node to determine if
-the link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility can run on the
-host that the node represents. To validate a node, the subcommand runs
-the link:version.html#version-1[`version`(1)] subcommand. If the node is
-valid, the subcommand displays the version that the `version` subcommand
-returns.
-
-The node that is specified as the operand of this subcommand must be
-enabled for communication over SSH. If the node is not enabled for
-communication over SSH, an error occurs. To determine whether a node is
-enabled for communication over SSH, use the
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.
-
-
-[NOTE]
-=======================================================================
-
-To test whether a node that is enabled for communication over the
-Distributed Component Object Model (DCOM) remote protocol is usable, use
-the link:ping-node-dcom.html#ping-node-dcom-1[`ping-node-dcom`(1)]
-subcommand.
-
-=======================================================================
-
-
-This subcommand is supported in remote mode only.
-
-[[sthref1945]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--validate`::
-  Specifies whether the subcommand validates the node. +
-  Possible values are as follows: +
-  `true`;;
-    The node is validated.
-  `false`;;
-    The node is not validated (default).
-
-[[sthref1946]]
-
-Operands
-
-node-name::
-  The name of the node to test. The node must be enabled for
-  communication over SSH. Otherwise, an error occurs.
-
-[[sthref1947]]
-
-Examples
-
-[[GSRFM731]][[sthref1948]]
-
-Example 1   Testing if an SSH-Enabled Node Is Usable
-
-This example tests if the SSH-enabled node `sj03-node` is usable.
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-ssh sj03-node
-Successfully made SSH connection to node sj03-node (sj03.example.com)
-Command ping-node-ssh executed successfully.
-----
-
-[[GSRFM732]][[sthref1949]]
-
-Example 2   Validating an SSH-Enabled Node
-
-This example validates the SSH-enabled node `adc-node`.
-
-[source,oac_no_warn]
-----
-asadmin> ping-node-ssh --validate=true adc-node
-Successfully made SSH connection to node adcnode (adc.example.com)
-GlassFish version found at /export/glassfish3:
-Using locally retrieved version string from version class.
-Version = GlassFish Server Open Source Edition 3.1 (build 40)
-Command version executed successfully.
-Command ping-node-ssh executed successfully.
-----
-
-[[sthref1950]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1951]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:ping-node-dcom.html#ping-node-dcom-1[`ping-node-dcom`(1)],
-link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)],
-link:version.html#version-1[`version`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/preface.adoc b/docs/reference-manual/src/main/jbake/content/preface.adoc
deleted file mode 100644
index ef27af9..0000000
--- a/docs/reference-manual/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,108 +0,0 @@
-type=page
-status=published
-title=Preface
-next=manvol1.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSRFM441]][[sthref2]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-Both novice users and those familiar with GlassFish Server Open Source
-Edition can use online man pages to obtain information about the product
-and its features. A man page is intended to answer concisely the
-question "What does it do?" The man pages in general comprise a
-reference manual. They are not intended to be a tutorial.
-
-[[GSRFM442]][[sthref3]]
-
-
-[[overview]]
-Overview
-~~~~~~~~
-
-The following contains a brief description of each man page section and
-the information it references:
-
-* Section 1 describes, in alphabetical order, the `asadmin` utility
-subcommands.
-* Section 1M describes GlassFish Server utility commands.
-* Section 5ASC describes concepts that are related to GlassFish Server +
-administration.
-
-Below is a generic format for man pages. The man pages of each manual
-section generally follow this order, but include only needed headings.
-For example, if there are no bugs to report, there is no Bugs section.
-
-Name::
-  This section gives the names of the commands or functions documented,
-  followed by a brief description of what they do.
-Synopsis::
-  This section shows the syntax of commands or functions. +
-  The following special characters are used in this section: +
-  [ ];;
-    Brackets. The option or argument enclosed in these brackets is
-    optional. If the brackets are omitted, the argument must be
-    specified.
-  |;;
-    Separator. Only one of the arguments separated by this character can
-    be specified at a time.
-Description::
-  This section defines the functionality and behavior of the service.
-  Thus it describes concisely what the command does. It does not discuss
-  options or cite examples.
-Options::
-  This section lists the command options with a concise summary of what
-  each option does. The options are listed literally and in the order
-  they appear in the Synopsis section. Possible arguments to options are
-  discussed under the option, and where appropriate, default values are
-  supplied.
-Operands::
-  This section lists the command operands and describes how they affect
-  the actions of the command.
-Examples::
-  This section provides examples of usage or of how to use a command or
-  function. Wherever possible a complete example including command-line
-  entry and machine response is shown. Examples are followed by
-  explanations, variable substitution rules, or returned values. Most
-  examples illustrate concepts from the Synopsis, Description, Options,
-  and Usage sections.
-Exit Status::
-  This section lists the values the command returns to the calling
-  program or shell and the conditions that cause these values to be
-  returned. Usually, zero is returned for successful completion, and
-  values other than zero for various error conditions.
-See Also::
-  This section lists references to other man pages, in-house
-  documentation, and outside publications.
-Notes::
-  This section lists additional information that does not belong
-  anywhere else on the page. It takes the form of an aside to the user,
-  covering points of special interest. Critical information is never
-  covered here.
-Bugs::
-  This section describes known bugs and, wherever possible, suggests
-  workarounds.
-
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/recover-transactions.adoc b/docs/reference-manual/src/main/jbake/content/recover-transactions.adoc
deleted file mode 100644
index 1d3fa17..0000000
--- a/docs/reference-manual/src/main/jbake/content/recover-transactions.adoc
+++ /dev/null
@@ -1,141 +0,0 @@
-type=page
-status=published
-title=recover-transactions
-next=redeploy.html
-prev=ping-node-ssh.html
-~~~~~~
-recover-transactions
-====================
-
-[[recover-transactions-1]][[GSRFM00216]][[recover-transactions]]
-
-recover-transactions
---------------------
-
-manually recovers pending transactions
-
-[[sthref1952]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] recover-transactions [--help] 
-[--transactionlogdir transaction_log_dir]
-[--target target_server_name] server_name
-----
-
-[[sthref1953]]
-
-Description
-
-The `recover-transactions` subcommand manually recovers pending
-transactions.
-
-For an installation of multiple server instances, you can run the
-`recover-transactions` subcommand from a surviving server instance to
-recover transactions after a server failure. To use this subcommand in
-this way, the following conditions must be met:
-
-* Delegated transaction recovery is disabled.
-* Transaction logs are stored on a shared file system or in a database
-that is accessible to all server instances.
-
-For a stand-alone server, do not use this subcommand to recover
-transactions after a server failure. For a stand-alone server, the
-`recover-transactions` subcommand can recover transactions only when a
-resource fails, but the server is still running. If a stand-alone server
-fails, only the full startup recovery process can recover transactions
-that were pending when the server failed.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1954]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--transactionlogdir`::
-  The location of the transaction logs for a server for which
-  transaction recovery is requested. This option applies only if
-  transaction logs are stored on a shared file system.
-`--target`::
-  The target server that performs the recovery for the server that is
-  specified by the server_name operand. The target server should be
-  running.
-`--destination`::
-  This option is deprecated. It works exactly as the `--target` option
-  does.
-
-[[sthref1955]]
-
-Operands
-
-server_name::
-  For a stand-alone server, the value of this operand is typically
-  `server`. Transactions are recovered only if a resource fails, but the
-  server is still running. +
-  For an installation of multiple server instances, the value of this
-  operand is the name of the server for which the recovery is required.
-  The in-flight transactions on this server will be recovered. If this
-  server is running, recovery is performed by the same server. In this
-  situation, the `--transactionlogdir` and `--target` options should be
-  omitted. If the server is not running, the `--target` option is
-  required, and the `--transactionlogdir` option is also required if
-  transaction logs are stored on a shared file system.
-
-[[sthref1956]]
-
-Examples
-
-[[GSRFM733]][[sthref1957]]
-
-Example 1   Recovering transactions on a running server
-
-[source,oac_no_warn]
-----
-% asadmin recover-transactions server1
-Transaction recovered.
-----
-
-[[GSRFM734]][[sthref1958]]
-
-Example 2   Recovering transactions for a server that is not running
-
-[source,oac_no_warn]
-----
-% asadmin recover-transactions --transactionlogdir /logs/tx --target server1 server2
-Transaction recovered.
-----
-
-[[sthref1959]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1960]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:freeze-transaction-service.html#freeze-transaction-service-1[`freeze-transaction-service`(1)],
-link:rollback-transaction.html#rollback-transaction-1[`rollback-transaction`(1)],
-link:unfreeze-transaction-service.html#unfreeze-transaction-service-1[`unfreeze-transaction-service`(1)]
-
-"link:../administration-guide/transactions.html#GSADG00022[Administering Transactions]" in GlassFish Server Open
-Source Edition Administration Guide
-
-"http://docs.oracle.com/javaee/7/tutorial/doc/transactions.html[Transactions]"
-in The Java EE 8 Tutorial
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/redeploy.adoc b/docs/reference-manual/src/main/jbake/content/redeploy.adoc
deleted file mode 100644
index 10399ee..0000000
--- a/docs/reference-manual/src/main/jbake/content/redeploy.adoc
+++ /dev/null
@@ -1,450 +0,0 @@
-type=page
-status=published
-title=redeploy
-next=remove-library.html
-prev=recover-transactions.html
-~~~~~~
-redeploy
-========
-
-[[redeploy-1]][[GSRFM00217]][[redeploy]]
-
-redeploy
---------
-
-redeploys the specified component
-
-[[sthref1961]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] redeploy [--help] 
---name component_name 
-[--upload={true|false}]
-[--retrieve local_dirpath] 
-[--dbvendorname dbvendorname]
-[--createtables={true|false}|--dropandcreatetables={true|false}]
-[--uniquetablenames={true|false}] 
-[--deploymentplan deployment_plan]
-[--altdd alternate_deploymentdescriptor]
-[--runtimealtdd runtime_alternate_deploymentdescriptor]
-[--deploymentorder deployment_order]
-[--enabled={true|false}] 
-[--generatermistubs={false|true}] 
-[--contextroot context_root] 
-[--precompilejsp={true|false}] 
-[--verify={false|true}]
-[--virtualservers virtual_servers] 
-[--availabilityenabled={false|true}] 
-[--asyncreplication={true|false}]
-[--lbenabled={true|false}]
-[--keepstate={false|true}]
-[--libraries jar_file[,jar_file]*] 
-[--target target] 
-[--type pkg-type] 
-[--properties(name=value)[:name=value]*]
-[file_archive|filepath]
-----
-
-[[sthref1962]]
-
-Description
-
-The `redeploy` subcommand redeploys an enterprise application, web
-application, module based on the Enterprise JavaBeans (EJB)
-specification (EJB module), connector module, or application client
-module that is already deployed or already exists. The `redeploy`
-subcommand preserves the settings and other options with which the
-application was originally deployed. The application must already be
-deployed. Otherwise, an error occurs.
-
-This subcommand is supported in remote mode only.
-
-[[sthref1963]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--virtualservers`::
-  One or more virtual server IDs. Multiple IDs are separated by commas.
-`--contextroot`::
-  Valid only if the archive is a web module. It is ignored for other
-  archive types; it will be the value specified by default-context-path
-  in web.xml, if specified; defaults to filename without extension.
-`--precompilejsp`::
-  By default this option does not allow the JSP to be precompiled during
-  deployment. Instead, JSPs are compiled during runtime. Default is
-  `false`.
-`--verify`::
-  If set to true and the required verifier packages are installed from
-  the Update Tool, the syntax and semantics of the deployment descriptor
-  is verified. Default is `false`.
-`--name`::
-  Name of the deployable component. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. For more information about module and application
-  versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application Versions]" in
-  GlassFish Server Open Source Edition Application Deployment Guide.
-`--upload`::
-  Specifies whether the subcommand uploads the file to the DAS. In most
-  situations, this option can be omitted. +
-  Valid values are as follows: +
-  `false`;;
-    The subcommand does not upload the file and attempts to access the
-    file through the specified file name. If the DAS cannot access the
-    file, the subcommand fails. +
-    For example, the DAS might be running as a different user than the
-    administration user and does not have read access to the file. In
-    this situation, the subcommand fails if the `--upload` option is
-    `false`.
-  `true`;;
-    The subcommand uploads the file to the DAS over the network
-    connection. +
-  The default value depends on whether the DAS is on the host where the
-  subcommand is run or is on a remote host. +
-  * If the DAS is on the host where the subcommand is run, the default
-  is `false`.
-  * If the DAS is on a remote host, the default is `true`. +
-  If a directory filepath is specified, this option is ignored.
-`--retrieve`::
-  Retrieves the client stub JAR file from the server machine to the
-  local directory.
-`--dbvendorname`::
-  Specifies the name of the database vendor for which tables are
-  created. Supported values include `db2`, `mssql`, `oracle`, `derby`,
-  `javadb`, `postgresql`, and `sybase`, case-insensitive. If not
-  specified, the value of the `database-vendor-name` attribute in
-  `glassfish-ejb-jar.xml` is used. If no value is specified, a
-  connection is made to the resource specified by the `jndi-name`
-  subelement of the `cmp-resource` element in the
-  `glassfish-ejb-jar.xml` file, and the database vendor name is read. If
-  the connection cannot be established, or if the value is not
-  recognized, SQL-92 compliance is presumed.
-`--createtables`::
-  If specified as true, creates tables at deployment of an application
-  with unmapped CMP beans. If specified as false, tables are not
-  created. If not specified, the value of the `create-tables-at-deploy`
-  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
-  file determines whether or not tables are created. No unique
-  constraints are created for the tables.
-`--dropandcreatetables`::
-  If specified as true when the component is redeployed, the tables
-  created by the previous deployment are dropped before creating the new
-  tables. Applies to deployed applications with unmapped CMP beans. If
-  specified as false, tables are neither dropped nor created. If not
-  specified, the tables are dropped if the `drop-tables-at-undeploy`
-  entry in the `cmp-resource` element of the `glassfish-ejb-jar.xml`
-  file is set to true, and the new tables are created if the
-  `create-tables-at-deploy` entry in the `cmp-resource` element of the
-  `glassfish-ejb-jar.xml` file is set to true.
-`--uniquetablenames`::
-  Guarantees unique table names for all the beans and results in a hash
-  code added to the table names. This is useful if you have an
-  application with case-sensitive bean names. Applies to applications
-  with unmapped CMP beans.
-`--deploymentplan`::
-  Deploys the deployment plan, which is a JAR file that contains
-  \{product---name} descriptors. Specify this option when deploying a
-  pure EAR file. A pure EAR file is an EAR without \{product---name}
-  descriptors.
-`--altdd`::
-  Deploys the application using a Java EE standard deployment descriptor
-  that resides outside of the application archive. Specify an absolute
-  path or a relative path to the alternate deployment descriptor file.
-  The alternate deployment descriptor overrides the top-level deployment
-  descriptor packaged in the archive. For example, for an EAR, the
-  `--altdd` option overrides `application.xml`. For a standalone module,
-  the `--altdd` option overrides the top-level module descriptor such as
-  `web.xml`.
--`-runtimealtdd`::
-  Deploys the application using a \{product---name} runtime deployment
-  descriptor that resides outside of the application archive. Specify an
-  absolute path or a relative path to the alternate deployment
-  descriptor file. The alternate deployment descriptor overrides the
-  top-level deployment descriptor packaged in the archive. For example,
-  for an EAR, the `--runtimealtdd` option overrides
-  `glassfish-application.xml`. For a standalone module, the
-  `--runtimealtdd` option overrides the top-level module descriptor such
-  as `glassfish-web.xml`. Applies to \{product---name} deployment
-  descriptors only (`glassfish-*.xml`); the name of the alternate
-  deployment descriptor file must begin with `glassfish-`. Does not
-  apply to `sun-*.xml` deployment descriptors, which are deprecated.
-`--deploymentorder`::
-  Specifies the deployment order of the application. This is useful if
-  the application has dependencies and must be loaded in a certain order
-  at server startup. The deployment order is specified as an integer.
-  The default value is 100. Applications with lower numbers are loaded
-  before applications with higher numbers. For example, an application
-  with a deployment order of 102 is loaded before an application with a
-  deployment order of 110. If a deployment order is not specified, the
-  default value of 100 is assigned. If two applications have the same
-  deployment order, the first application to be deployed is the first
-  application to be loaded at server startup. +
-  The deployment order is typically specified when the application is
-  first deployed but can also be specified or changed after initial
-  deployment using the `set` subcommand. You can view the deployment
-  order of an application using the `get` subcommand.
-`--enabled`::
-  Allows users to access the application. If set to `false`, users will
-  not be able to access the application. This option enables the
-  application on the specified target instance or cluster. If you deploy
-  to the target `domain`, this option is ignored, since deploying to the
-  domain doesn't deploy to a specific instance or cluster. The default
-  is `true`.
-`--generatermistubs`::
-  If set to `true`, static RMI-IIOP stubs are generated and put into the
-  `client.jar`. If set to `false`, the stubs are not generated. Default
-  is `false`.
-`--availabilityenabled`::
-  This option controls whether high-availability is enabled for web
-  sessions and for stateful session bean (SFSB) checkpointing and
-  potentially passivation. If set to false (default) all web session
-  saving and SFSB checkpointing is disabled for the specified
-  application, web application, or EJB module. If set to true, the
-  specified application or module is enabled for high-availability. Set
-  this option to true only if high availability is configured and
-  enabled at higher levels, such as the server and container levels.
-`--asyncreplication`::
-  This option controls whether web session and SFSB states for which
-  high availability is enabled are first buffered and then replicated
-  using a separate asynchronous thread. If set to true (default),
-  performance is improved but availability is reduced. If the instance
-  where states are buffered but not yet replicated fails, the states are
-  lost. If set to false, performance is reduced but availability is
-  guaranteed. States are not buffered but immediately transmitted to
-  other instances in the cluster.
-`--lbenabled`::
-  This option controls whether the deployed application is available for
-  load balancing. The default is true.
-`--keepstate`::
-  This option controls whether web sessions, SFSB instances, and
-  persistently created EJB timers are retained between redeployments. +
-  The default is false. This option is supported only on the default
-  server instance, named `server`. It is not supported and ignored for
-  any other target. +
-  Some changes to an application between redeployments prevent this
-  feature from working properly. For example, do not change the set of
-  instance variables in the SFSB bean class. +
-  For web applications, this feature is applicable only if in the
-  `glassfish-web-app.xml` file the `persistence-type` attribute of the
-  `session-manager` element is `file`. +
-  For stateful session bean instances, the persistence type without high
-  availability is set in the server (the `sfsb-persistence-type`
-  attribute) and must be set to `file`, which is the default and
-  recommended value. +
-  If any active web session, SFSB instance, or EJB timer fails to be
-  preserved or restored, none of these will be available when the
-  redeployment is complete. However, the redeployment continues and a
-  warning is logged. +
-  To preserve active state data, \{product---name} serializes the data
-  and saves it in memory. To restore the data, the class loader of the
-  newly redeployed application deserializes the data that was previously
-  saved.
-`--libraries`::
-  A comma-separated list of library JAR files. Specify the library JAR
-  files by their relative or absolute paths. Specify relative paths
-  relative to domain-dir`/lib/applibs`. The libraries are made available
-  to the application in the order specified.
-`--target`::
-  Specifies the target to which you are deploying. Valid values are: +
-  `server`;;
-    Deploys the component to the default server instance `server` and is
-    the default value.
-  `domain`;;
-    Deploys the component to the domain. If `domain` is the target for
-    an initial deployment, the application is deployed to the domain,
-    but no server instances or clusters reference the application. If
-    `domain` is the target for a redeployment, and dynamic
-    reconfiguration is enabled for the clusters or server instances that
-    reference the application, the referencing clusters or server
-    instances automatically get the new version of the application. If
-    redeploying, and dynamic configuration is disabled, the referencing
-    clusters or server instances do not get the new version of the
-    application until the clustered or standalone server instances are
-    restarted.
-  cluster_name;;
-    Deploys the component to every server instance in the cluster.
-  instance_name;;
-    Deploys the component to a particular stand-alone server instance.
-`--type`::
-  The packaging archive type of the component that is being deployed.
-  Possible values are as follows: +
-  `car`;;
-    The component is packaged as a CAR file.
-  `ear`;;
-    The component is packaged as an EAR file.
-  `ejb`;;
-    The component is an EJB packaged as a JAR file.
-  `osgi`;;
-    The component is packaged as an OSGi bundle.
-  `rar`;;
-    The component is packaged as a RAR file.
-  `war`;;
-    The component is packaged as a WAR file.
-`--properties` or `--property`::
-  Optional keyword-value pairs that specify additional properties for
-  the deployment. The available properties are determined by the
-  implementation of the component that is being deployed or redeployed.
-  The `--properties` option and the `--property` option are equivalent.
-  You can use either option regardless of the number of properties that
-  you specify. +
-  You can specify the following properties for a deployment: +
-  `jar-signing-alias`;;
-    Specifies the alias for the security certificate with which the
-    application client container JAR file is signed. Java Web Start will
-    not run code that requires elevated permissions unless it resides in
-    a JAR file signed with a certificate that the user's system trusts.
-    For your convenience, \{product---name} signs the JAR file
-    automatically using the certificate with this alias from the
-    domain's keystore. Java Web Start then asks the user whether to
-    trust the code and displays the \{product---name} certificate
-    information. To sign this JAR file with a different certificate, add
-    the certificate to the domain keystore, then use this property. For
-    example, you can use a certificate from a trusted authority, which
-    avoids the Java Web Start prompt, or from your own company, which
-    users know they can trust. Default is `s1as`, the alias for the
-    self-signed certificate created for every domain.
-  `java-web-start-enabled`;;
-    Specifies whether Java Web Start access is permitted for an
-    application client module. Default is true.
-  `compatibility`;;
-    Specifies the \{product---name} release with which to be backward
-    compatible in terms of JAR visibility requirements for applications.
-    The only allowed value is `v2`, which refers to Sun Java System
-    Application Server version 2 or Sun Java System Application Server
-    version 9.1 or 9.1.1. Beginning in Java EE 6, the Java EE platform
-    specification imposed stricter requirements than Java EE 5 did on
-    which JAR files can be visible to various modules within an EAR
-    file. In particular, application clients must not have access to EJB
-    JAR files or other JAR files in the EAR file unless references use
-    the standard Java SE mechanisms (extensions, for example) or the
-    Java EE library-directory mechanism. Setting this property to `v2`
-    removes these restrictions.
-  `keepSessions={false|true}`;;
-    Superseded by the `--keepstate` option. +
-    This property can by used to specify whether active sessions of the
-    application that is being redeployed are preserved and then restored
-    when the redeployment is complete. Applies to HTTP sessions in a web
-    container. Default is `false`.::
-    `false`::
-      Active sessions of the application are not preserved and restored
-      (default).
-    `true`::
-      Active sessions of the application are preserved and restored. +
-      If any active session of the application fails to be preserved or
-      restored, none of the sessions will be available when the
-      redeployment is complete. However, the redeployment continues and
-      a warning is logged. +
-      To preserve active sessions, \{product---name} serializes the
-      sessions and saves them in memory. To restore the sessions, the
-      class loader of the newly redeployed application deserializes any
-      sessions that were previously saved.
-  `preserveAppScopedResources`;;
-    If set to `true`, preserves any application-scoped resources and
-    restores them during redeployment. Default is `false`. +
-  Other available properties are determined by the implementation of the
-  component that is being redeployed. +
-  For components packaged as OSGi bundles (`--type=osgi`), the `deploy`
-  subcommand accepts properties arguments to wrap a WAR file as a WAB
-  (Web Application Bundle) at the time of deployment. The subcommand
-  looks for a key named `UriScheme` and, if present, uses the key as a
-  URL stream handler to decorate the input stream. Other properties are
-  used in the decoration process. For example, the \{product---name}
-  OSGi web container registers a URL stream handler named `webbundle`,
-  which is used to wrap a plain WAR file as a WAB. For more information
-  about usage, see the related example in the
-  link:deploy.html#deploy-1[`deploy`(1)] help page.
-
-[[sthref1964]]
-
-Operands
-
-file_archive|filepath::
-  The path to the archive that contains the application that is being
-  redeployed. This path can be a relative path or an absolute path. +
-  The archive can be in either of the following formats: +
-  * An archive file, for example, `/export/JEE_apps/hello.war`. +
-  If the `--upload` option is set to `true`, this is the path to the
-  deployable file on the local client machine. If the `--upload` option
-  is set to `false`, this is the absolute path to the file on the server
-  machine.
-  * A directory that contains the exploded format of the deployable
-  archive. This is the absolute path to the directory on the server
-  machine. +
-  If you specify a directory, the `--upload` option is ignored. +
-  Whether this operand is required depends on how the application was
-  originally deployed: +
-  * If the application was originally deployed from a file, the
-  archive-path operand is required. The operand must specify an archive
-  file.
-  * If the application was originally deployed from a directory, the
-  archive-path operand is optional. +
-  The operand can specify a directory or an archive file.
-
-[[sthref1965]]
-
-Examples
-
-[[GSRFM735]][[sthref1966]]
-
-Example 1   Redeploying a Web Application From a File
-
-This example redeploys the web application `hello` from the `hello.war`
-file in the current working directory. The application was originally
-deployed from a file. Active sessions of the application are to be
-preserved and then restored when the redeployment is complete.
-
-[source,oac_no_warn]
-----
-asadmin> redeploy --name hello --properties keepSessions=true hello.war
-Application deployed successfully with name hello.
-Command redeploy executed successfully
-----
-
-[[GSRFM736]][[sthref1967]]
-
-Example 2   Redeploying a Web Application From a Directory
-
-This example redeploys the web application `hellodir`. The application
-was originally deployed from a directory.
-
-[source,oac_no_warn]
-----
-asadmin> redeploy --name hellodir
-Application deployed successfully with name hellodir.
-Command redeploy executed successfully
-----
-
-[[sthref1968]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1969]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:deploy.html#deploy-1[`deploy`(1)], link:get.html#get-1[`get`(1)],
-link:list-components.html#list-components-1[`list-components`(1)],
-link:undeploy.html#undeploy-1[`undeploy`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/remove-library.adoc b/docs/reference-manual/src/main/jbake/content/remove-library.adoc
deleted file mode 100644
index ffb6c37..0000000
--- a/docs/reference-manual/src/main/jbake/content/remove-library.adoc
+++ /dev/null
@@ -1,132 +0,0 @@
-type=page
-status=published
-title=remove-library
-next=restart-domain.html
-prev=redeploy.html
-~~~~~~
-remove-library
-==============
-
-[[remove-library-1]][[GSRFM00820]][[remove-library]]
-
-remove-library
---------------
-
-removes one or more library JAR files from \{product---name}
-
-[[sthref1970]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] remove-library [--help] 
-[--type={common|ext|app}]
-library-name [library-name ... ]
-----
-
-[[sthref1971]]
-
-Description
-
-The `remove-library` subcommand removes one or more library JAR files
-from \{product---name}.
-
-The `--type` option specifies the library type and the \{product---name}
-directory from which the library is removed.
-
-The library-name operand is the name of the JAR file that contains the
-library to be removed. To specify multiple libraries, specify multiple
-names separated by spaces.
-
-
-[NOTE]
-=======================================================================
-
-The library archive file is removed from the DAS. For common and
-extension libraries, you must restart the DAS so the library removals
-are picked up by the server runtime. To remove the libraries from other
-server instances, synchronize the instances with the DAS by restarting
-them.
-
-This command is not supported on the Windows operating system.
-
-=======================================================================
-
-
-This subcommand is supported in remote mode only.
-
-[[sthref1972]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--type`::
-  Specifies the library type and the \{product---name} directory from
-  which the library is removed. Valid values are as follows: +
-  `common`;;
-    Removes the library files from the Common class loader directory,
-    domain-dir`/lib`. This is the default.
-  `ext`;;
-    Removes the library files from the Java optional package directory,
-    domain-dir`/lib/ext`.
-  `app`;;
-    Removes the library files from the application-specific class loader
-    directory, domain-dir`/lib/applibs`. +
-  For more information about these directories, see
-  "link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
-  Edition Application Development Guide.
-
-[[sthref1973]]
-
-Operands
-
-library-name::
-  The names of the JAR files that contain the libraries that are to be
-  removed.
-
-[[sthref1974]]
-
-Examples
-
-[[GSRFM832]][[sthref1975]]
-
-Example 1   Removing Libraries
-
-This example removes the library in the archive file `mylib.jar` from
-the application-specific class loader directory on the default server
-instance.
-
-[source,oac_no_warn]
-----
-asadmin> remove-library --type app mylib.jar
-Command remove-library executed successfully.
-----
-
-[[sthref1976]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1977]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:add-library.html#add-library-1[`add-library`(1)],
-link:list-libraries.html#list-libraries-1[`list-libraries`(1)]
-
-"link:../application-development-guide/class-loaders.html#GSDVG00003[Class Loaders]" in GlassFish Server Open Source
-Edition Application Development Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/resource.adoc b/docs/reference-manual/src/main/jbake/content/resource.adoc
deleted file mode 100644
index 62330a4..0000000
--- a/docs/reference-manual/src/main/jbake/content/resource.adoc
+++ /dev/null
@@ -1,29 +0,0 @@
-type=page
-status=published
-title=resource
-next=security.html
-prev=passwords.html
-~~~~~~
-resource
-========
-
-[[resource-5asc]][[GSRFM00273]][[resource]]
-
-resource
---------
-
-Provide connectivity to various types of EIS .
-
-[[sthref2410]]
-
-Description
-
-\{product---name} provides support for JDBC, JMS, and JNDI resources.
-
-[[sthref2411]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/restart-domain.adoc b/docs/reference-manual/src/main/jbake/content/restart-domain.adoc
deleted file mode 100644
index 8d691b4..0000000
--- a/docs/reference-manual/src/main/jbake/content/restart-domain.adoc
+++ /dev/null
@@ -1,147 +0,0 @@
-type=page
-status=published
-title=restart-domain
-next=restart-instance.html
-prev=remove-library.html
-~~~~~~
-restart-domain
-==============
-
-[[restart-domain-1]][[GSRFM00218]][[restart-domain]]
-
-restart-domain
---------------
-
-restarts the DAS of the specified domain
-
-[[sthref1978]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] restart-domain [--help] 
-[--debug ={true|false}] 
-[--domaindir domaindir] 
-[--force={true|false}] [--kill={false|true}] 
-[domain-name]
-----
-
-[[sthref1979]]
-
-Description
-
-The `restart-domain` subcommand stops and then restarts the domain
-administration server (DAS) of the specified domain. If a domain is not
-specified, the default domain is assumed. If the domains directory
-contains two or more domains, the domain-name operand must be specified.
-If the DAS is not already running, the subcommand attempts to start it.
-
-The `restart-domain` subcommand does not exit until the subcommand has
-verified that the domain has been stopped and restarted.
-
-This subcommand is supported in local or remote mode. If you specify a
-host name, the subcommand assumes you are operating in remote mode,
-which means you must correctly authenticate to the remote server. In
-local mode, you normally do not need to authenticate to the server as
-long as you are running the subcommand as the same user who started the
-server.
-
-[[sthref1980]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--debug`::
-  Specifies whether the domain is restarted with
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture (JPDA)]
-  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-  debugging enabled. +
-  Possible values are as follows: +
-  `true`;;
-    The domain is restarted with JPDA debugging enabled and the port
-    number for JPDA debugging is displayed.
-  `false`;;
-    The domain is restarted with JPDA debugging disabled (default). +
-  The default is the current setting of this option for the domain that
-  is being restarted.
-`--domaindir`::
-  The domain root directory, which contains the directory of the domain
-  that is to be restarted. If specified, the path must be accessible in
-  the file system. The default location of the domain root directory is
-  as-install`/domains`.
-`--force`::
-  Specifies whether the domain is forcibly stopped immediately before it
-  is restarted. +
-  Possible values are as follows: +
-  `true`;;
-    The domain is forcibly stopped immediately (default).
-  `false`;;
-    The subcommand waits until all threads that are associated with the
-    domain are exited before stopping the domain.
-`--kill`::
-  Specifies whether the domain is killed before it is restarted by using
-  functionality of the operating system to terminate the domain process. +
-  Possible values are as follows: +
-  `false`;;
-    The domain is not killed. The subcommand uses functionality of the
-    Java platform to terminate the domain process (default).
-  `true`;;
-    The domain is killed. The subcommand uses functionality of the
-    operating system to terminate the domain process.
-
-[[sthref1981]]
-
-Operands
-
-domain-name::
-  The name of the domain you want to restart. Default is the name
-  specified during installation, usually `domain1`.
-
-[[sthref1982]]
-
-Examples
-
-[[GSRFM738]][[sthref1983]]
-
-Example 1   Restarting a Domain
-
-This example restarts `mydomain4` in the default domains directory.
-
-[source,oac_no_warn]
-----
-asadmin> restart-domain mydomain4
-Successfully restarted the domain
-Command restart-domain executed successfully. 
-----
-
-[[sthref1984]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref1985]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
-link:list-domains.html#list-domains-1[`list-domains`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
-
-Java Platform Debugger Architecture (JPDA)
-(`http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/restart-instance.adoc b/docs/reference-manual/src/main/jbake/content/restart-instance.adoc
deleted file mode 100644
index 5740108..0000000
--- a/docs/reference-manual/src/main/jbake/content/restart-instance.adoc
+++ /dev/null
@@ -1,159 +0,0 @@
-type=page
-status=published
-title=restart-instance
-next=restart-local-instance.html
-prev=restart-domain.html
-~~~~~~
-restart-instance
-================
-
-[[restart-instance-1]][[GSRFM00219]][[restart-instance]]
-
-restart-instance
-----------------
-
-restarts a running \{product---name} instance
-
-[[sthref1986]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] restart-instance [--help] 
-[--debug={false|true}] instance-name
-----
-
-[[sthref1987]]
-
-Description
-
-The `restart-instance` subcommand restarts a running \{product---name}
-instance. This subcommand requires secure shell (SSH) to be configured
-on the machine where the domain administration server (DAS) is running
-and on the machine where the instance resides.
-
-
-[NOTE]
-=======================================================================
-
-SSH is not required if the instance resides on a node of type `CONFIG`
-that represents the local host. A node of type `CONFIG` is not enabled
-for communication over SSH.
-
-=======================================================================
-
-
-You may run this subcommand from any machine that can contact the DAS.
-
-The subcommand can restart any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can restart
-an instance that was created by using the
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-subcommand.
-
-When this subcommand restarts an instance, the DAS synchronizes the
-instance with changes since the last synchronization as follows:
-
-* For the `config` directory, the DAS synchronizes the instance with all
-changes.
-* For the `applications` directory and `docroot` directory, only a
-change to a top-level subdirectory causes the DAS to synchronize all
-files under that subdirectory. +
-If a file below a top level subdirectory is changed without a change to
-a file in the top level subdirectory, full synchronization is required.
-In normal operation, files below the top level subdirectories of these
-directories are not changed. If an application is deployed and
-undeployed, full synchronization is not necessary to update the instance
-with the change.
-
-If different synchronization behavior is required, the instance must be
-stopped and restarted by using following sequence of subcommands:
-
-1.  link:stop-instance.html#stop-instance-1[`stop-instance`(1)]
-2.  link:start-instance.html#start-instance-1[`start-instance`(1)]
-
-This subcommand is supported in remote mode only.
-
-[[sthref1988]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--debug`::
-  Specifies whether the instance is restarted with
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture
-  (JPDA)](http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-  debugging enabled. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is restarted with JPDA debugging enabled and the port
-    number for JPDA debugging is displayed.
-  `false`;;
-    The instance is restarted with JPDA debugging disabled. +
-  The default is the current setting of this option for the instance
-  that is being restarted.
-
-[[sthref1989]]
-
-Operands
-
-instance-name::
-  The name of the \{product---name} instance to restart. If the instance
-  is not running, the subcommand displays a warning message and attempts
-  to start the instance.
-
-[[sthref1990]]
-
-Examples
-
-[[GSRFM739]][[sthref1991]]
-
-Example 1   Restarting a \{product---name} Instance
-
-This example restarts the \{product---name} instance `pmdsa1`.
-
-[source,oac_no_warn]
-----
-asadmin> restart-instance pmdsa1
-Instance pmdsa1 was restarted. 
-
-Command restart-instance executed successfully.
-----
-
-[[sthref1992]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref1993]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:restart-local-instance.html#restart-local-instance-1[`restart-local-instance`(1)],
-link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-
-Java Platform Debugger Architecture (JPDA)
-(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/restart-local-instance.adoc b/docs/reference-manual/src/main/jbake/content/restart-local-instance.adoc
deleted file mode 100644
index 3e96688..0000000
--- a/docs/reference-manual/src/main/jbake/content/restart-local-instance.adoc
+++ /dev/null
@@ -1,184 +0,0 @@
-type=page
-status=published
-title=restart-local-instance
-next=restore-domain.html
-prev=restart-instance.html
-~~~~~~
-restart-local-instance
-======================
-
-[[restart-local-instance-1]][[GSRFM00220]][[restart-local-instance]]
-
-restart-local-instance
-----------------------
-
-restarts a running \{product---name} instance on the host where the
-subcommand is run
-
-[[sthref1994]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] restart-local-instance [--help]
-[--nodedir nodedir] [--node node]
-[--debug={false|true}]
-[--force={true|false}] [--kill={false|true}] 
-[instance-name]
-----
-
-[[sthref1995]]
-
-Description
-
-The `restart-local-instance` subcommand restarts a \{product---name}
-instance on the host where the subcommand is run. This subcommand does
-not require secure shell (SSH) to be configured. You must run this
-command from the host where the instance resides.
-
-The subcommand can restart any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can restart
-an instance that was created by using the
-link:create-instance.html#create-instance-1[`create-instance`(1)]
-subcommand.
-
-The `restart-local-instance` subcommand does not contact the domain
-administration server (DAS) to determine the node on which the instance
-resides. To determine the node on which the instance resides, the
-subcommand searches the directory that contains the node directories. If
-multiple node directories exist, the node must be specified as an option
-of the subcommand.
-
-When this subcommand restarts an instance, the DAS synchronizes the
-instance with changes since the last synchronization as follows:
-
-* For the `config` directory, the DAS synchronizes the instance with all
-changes.
-* For the `applications` directory and `docroot` directory, only a
-change to a top-level subdirectory causes the DAS to synchronize all
-files under that subdirectory. +
-If a file below a top level subdirectory is changed without a change to
-a file in the top level subdirectory, full synchronization is required.
-In normal operation, files below the top level subdirectories of these
-directories are not changed. If an application is deployed and
-undeployed, full synchronization is not necessary to update the instance
-with the change.
-
-If different synchronization behavior is required, the instance must be
-stopped and restarted by using following sequence of subcommands:
-
-1.  link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-2.  link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]
-
-This subcommand is supported in local mode. However, to synchronize the
-instance with the DAS, this subcommand must be run in remote mode.
-
-[[sthref1996]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodedir`::
-  Specifies the directory that contains the instance's node directory.
-  The instance's files are stored in the instance's node directory. The
-  default is as-install`/nodes`.
-`--node`::
-  Specifies the node on which the instance resides. This option may be
-  omitted only if the directory that the `--nodedir` option specifies
-  contains only one node directory. Otherwise, this option is required.
-`--debug`::
-  Specifies whether the instance is restarted with
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture (JPDA)]
-  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-  debugging enabled. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is restarted with JPDA debugging enabled and the port
-    number for JPDA debugging is displayed.
-  `false`;;
-    The instance is restarted with JPDA debugging disabled (default). +
-  The default is the current setting of this option for the instance
-  that is being restarted.
-`--force`::
-  Specifies whether the instance is forcibly stopped immediately before
-  it is restarted. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is forcibly stopped immediately (default).
-  `false`;;
-    The subcommand waits until all threads that are associated with the
-    instance are exited before stopping the instance.
-`--kill`::
-  Specifies whether the instance is killed before it is restarted by
-  using functionality of the operating system to terminate the instance
-  process. +
-  Possible values are as follows: +
-  `false`;;
-    The instance is not killed. The subcommand uses functionality of the
-    Java platform to terminate the instance process (default).
-  `true`;;
-    The instance is killed. The subcommand uses functionality of the
-    operating system to terminate the instance process.
-
-[[sthref1997]]
-
-Operands
-
-instance-name::
-  The name of the \{product---name} instance to restart. If the instance
-  is not running, the subcommand displays a warning message and attempts
-  to start the instance.
-
-[[sthref1998]]
-
-Examples
-
-[[GSRFM740]][[sthref1999]]
-
-Example 1   Restarting an Instance Locally
-
-This example restarts the instance `ymlsa1` in the domain `domain1` on
-the host where the subcommand is run.
-
-[source,oac_no_warn]
-----
-asadmin> restart-local-instance --node localhost-domain1 ymlsa1
-Command restart-local-instance executed successfully.
-----
-
-[[sthref2000]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2001]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:restart-instance.html#restart-instance-1[`restart-instance`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-
-Java Platform Debugger Architecture (JPDA)
-(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/restore-domain.adoc b/docs/reference-manual/src/main/jbake/content/restore-domain.adoc
deleted file mode 100644
index c85c498..0000000
--- a/docs/reference-manual/src/main/jbake/content/restore-domain.adoc
+++ /dev/null
@@ -1,106 +0,0 @@
-type=page
-status=published
-title=restore-domain
-next=rollback-transaction.html
-prev=restart-local-instance.html
-~~~~~~
-restore-domain
-==============
-
-[[restore-domain-1]][[GSRFM00221]][[restore-domain]]
-
-restore-domain
---------------
-
-restores files from backup
-
-[[sthref2002]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] restore-domain [--help]
-[--long[={false|true}]]
-[--filename backup-filename]
-[--domaindir domain-root-dir]
-[--backupdirbackup-directory]
-[--backupconfigbackup-config-name]
-[--force[={false|true}]]
-[domain-name]
-----
-
-[[sthref2003]]
-
-Description
-
-This command restores files under the domain from a backup directory.
-
-The `restore-domain` command is supported in local mode only.
-
-[[sthref2004]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--long`::
-`-l`::
-  Displays detailed information about the restore operation. +
-  The default value is `false`.
-`--filename`::
-  Specifies the name of the backup file to use as the source.
-`--domaindir`::
-  Specifies the domain root directory, the parent directory of the
-  domain to restore. +
-  The default value is as-install`/domains`.
-`--backupdir`::
-  Specifies the directory under which the backup file is stored. +
-  The default value is as-install`/domains/`domain-dir`/backups`. If the
-  domain is not in the default location, the location is
-  domain-dir`/backups`.
-`--backupconfig`::
-  (Supported only in Oracle GlassFish Server.) The name of the domain
-  backup configuration in the backup directory under which the backup
-  file is stored.
-`--force`::
-  Causes the restore operation to continue even when the name of the
-  domain to restore does not match the name of the domain stored in the
-  backup file. +
-  The default value is `false`.
-
-[[sthref2005]]
-
-Operands
-
-domain-name::
-  Specifies the name of the domain to restore. +
-  This operand is optional if only one domain exists in the
-  \{product---name} installation. +
-  If the specified domain name does not match the domain name stored in
-  the backup file, an error occurs unless the `--force` option is
-  specified.
-
-[[sthref2006]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2007]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:backup-domain.html#backup-domain-1[`backup-domain`(1)],
-link:list-backups.html#list-backups-1[`list-backups`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/rollback-transaction.adoc b/docs/reference-manual/src/main/jbake/content/rollback-transaction.adoc
deleted file mode 100644
index b38a88f..0000000
--- a/docs/reference-manual/src/main/jbake/content/rollback-transaction.adoc
+++ /dev/null
@@ -1,113 +0,0 @@
-type=page
-status=published
-title=rollback-transaction
-next=rotate-log.html
-prev=restore-domain.html
-~~~~~~
-rollback-transaction
-====================
-
-[[rollback-transaction-1]][[GSRFM00223]][[rollback-transaction]]
-
-rollback-transaction
---------------------
-
-rolls back the named transaction
-
-[[sthref2008]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] rollback-transaction [--help] 
-[--target target]
-transaction_id
-----
-
-[[sthref2009]]
-
-Description
-
-The `rollback-transaction` subcommand rolls back the named transaction.
-
-Before you can roll back a transaction, you must do the following:
-
-1.  Enable monitoring using the `set` subcommand. For example: +
-[source,oac_no_warn]
-----
-asadmin> set clstr1-config.monitoring-service.module-monitoring-levels.transaction-service=HIGH
-----
-2.  Use the `freeze-transaction-service` subcommand to halt in-process
-transactions.
-3.  Look up the active transactions using the `get` subcommand with the
-`--monitor` option. For example: +
-[source,oac_no_warn]
-----
-asadmin> get --monitor inst1.server.transaction-service.activeids-current
-----
-
-This subcommand is supported in remote mode only.
-
-[[sthref2010]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are rolling back the
-  transactions. Valid values are `server` or any other clustered or
-  stand-alone instance.
-
-[[sthref2011]]
-
-Operands
-
-transaction_id::
-  Identifier for the transaction to be rolled back.
-
-[[sthref2012]]
-
-Examples
-
-[[GSRFM741]][[sthref2013]]
-
-Example 1   Using rollback-transaction command
-
-[source,oac_no_warn]
-----
-% asadmin rollback-transaction 0000000000000001_00
-Command rollback-transaction executed succeessfully
-----
-
-[[sthref2014]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2015]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:freeze-transaction-service.html#freeze-transaction-service-1[`freeze-transaction-service`(1)],
-link:recover-transactions.html#recover-transactions-1[`recover-transactions`(1)],
-link:unfreeze-transaction-service.html#unfreeze-transaction-service-1[`unfreeze-transaction-service`(1)],
-
-"link:../administration-guide/transactions.html#GSADG00022[Administering Transactions]" in GlassFish Server Open
-Source Edition Administration Guide
-
-"http://docs.oracle.com/javaee/7/tutorial/doc/transactions.html[Transactions]"
-in The Java EE 8 Tutorial
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/rotate-log.adoc b/docs/reference-manual/src/main/jbake/content/rotate-log.adoc
deleted file mode 100644
index 239a039..0000000
--- a/docs/reference-manual/src/main/jbake/content/rotate-log.adoc
+++ /dev/null
@@ -1,112 +0,0 @@
-type=page
-status=published
-title=rotate-log
-next=set.html
-prev=rollback-transaction.html
-~~~~~~
-rotate-log
-==========
-
-[[rotate-log-1]][[GSRFM00224]][[rotate-log]]
-
-rotate-log
-----------
-
-rotates the log file
-
-[[sthref2016]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] rotate-log [--help]
-----
-
-[[sthref2017]]
-
-Description
-
-The `rotate-log` subcommand rotates the server log by renaming the file
-with a timestamp name in the format `server.log_`date-and-time, and
-creating a new log file. Changes take effect dynamically, that is,
-server restart is not required.
-
-The size of the log queue is configurable through the
-`logging.properties` file. Log rotation is based on file size or elapsed
-time since the last log rotation. In some circumstances, the queue might
-fill up, especially if the log level is set to `FINEST` and there is
-heavy activity on the server. In this case, the `rotate-log` subcommand
-can be used to rotate the server log immediately. This subcommand is
-also useful in creating scripts for rotating the log at convenient
-times.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2018]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  The server, cluster, or server instance for which logs will be
-  rotated. If this option is omitted, logs are rotated for the default
-  server.
-
-[[sthref2019]]
-
-Operands
-
-target::
-  Valid values are: +
-  * server_name - Default target is `server`. If no target is specified
-  then logs are rotated for the server.
-  * cluster_name - The name of a target cluster.
-  * instance_name - The name of a target server instance.
-
-[[sthref2020]]
-
-Examples
-
-[[GSRFM742]][[sthref2021]]
-
-Example 1   Rotating the Server Log
-
-This example rotates the server log.
-
-[source,oac_no_warn]
-----
-asadmin> rotate-log
-Command rotate-log executed successfully.
-----
-
-[[sthref2022]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2023]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
-link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
-link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
-link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)],
-link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/security.adoc b/docs/reference-manual/src/main/jbake/content/security.adoc
deleted file mode 100644
index dc48653..0000000
--- a/docs/reference-manual/src/main/jbake/content/security.adoc
+++ /dev/null
@@ -1,51 +0,0 @@
-type=page
-status=published
-title=security
-prev=resource.html
-~~~~~~
-security
-========
-
-[[security-5asc]][[GSRFM00274]][[security]]
-
-security
---------
-
-secure and administer \{product---name} applications
-
-[[sthref2412]]
-
-Description
-
-Security is about protecting data: how to prevent unauthorized access or
-damage to it in storage or transit. \{product---name} has a dynamic,
-extensible security architecture based on the Java EE standard. Built in
-security features include cryptography, authentication and
-authorization, and public key infrastructure. \{product---name} is built
-on the Java security model, which uses a sandbox where applications can
-run safely, without potential risk to systems or users.
-
-[[sthref2413]]
-
-See Also
-
-link:change-admin-password.html#change-admin-password-1[`change-admin-password`(1)],
-link:change-master-password.html#change-master-password-1[`change-master-password`(1)],
-link:create-auth-realm.html#create-auth-realm-1[`create-auth-realm`(1)],
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
-link:create-message-security-provider.html#create-message-security-provider-1[`create-message-security-provider`(1)],
-link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
-link:create-ssl.html#create-ssl-1[`create-ssl`(1)],
-link:delete-auth-realm.html#delete-auth-realm-1[`delete-auth-realm`(1)],
-link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
-link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)],
-link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
-link:delete-ssl.html#delete-ssl-1[`delete-ssl`(1)],
-link:list-auth-realms.html#list-auth-realms-1[`list-auth-realms`(1)],
-link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)],
-link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
-link:list-file-users.html#list-file-users-1[`list-file-users`(1)].
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/set-batch-runtime-configuration.adoc b/docs/reference-manual/src/main/jbake/content/set-batch-runtime-configuration.adoc
deleted file mode 100644
index 9c7b538..0000000
--- a/docs/reference-manual/src/main/jbake/content/set-batch-runtime-configuration.adoc
+++ /dev/null
@@ -1,115 +0,0 @@
-type=page
-status=published
-title=set-batch-runtime-configuration
-next=set-log-attributes.html
-prev=set.html
-~~~~~~
-set-batch-runtime-configuration
-===============================
-
-[[set-batch-runtime-configuration-1]][[GSRFM897]][[set-batch-runtime-configuration]]
-
-set-batch-runtime-configuration
--------------------------------
-
-configures the batch runtime
-
-[[sthref2034]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] set-batch-runtime-configuration [--help]
-[--target target]
-[--datasourcelookupname datasource-lookup-name]
-[--executorservicelookupname executor-service-lookup-name]
-----
-
-[[sthref2035]]
-
-Description
-
-The `set-batch-runtime-configuration` subcommand configures the batch
-runtime. The runtime uses a data source and a managed executor service
-to execute batch jobs. Batch runtime configuration data is stored in the
-`config` element in `domain.xml`.
-
-[[sthref2036]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which to configure the batch runtime. Valid
-  values are as follows: +
-  `server`;;
-    Configures the batch runtime for the default server instance
-    `server` and is the default value.
-  cluster-name;;
-    Configures the batch runtime for every server instance in the
-    cluster.
-  instance-name;;
-    Configures the batch runtime for a particular server instance.
-`--datasourcelookupname`::
-`-d`::
-  The JNDI lookup name of the data source to be used to store job
-  information. The default data source is `jdbc/__TimerPool`. +
-  Do not change the data source after the first batch job has been
-  submitted to the batch runtime for execution. If the data source must
-  be changed, stop and restart the domain and then make the change
-  before any jobs are started or restarted. However, once the data
-  source has been changed, information stored in the previous data
-  source becomes inaccessible.
-`--executorservicelookupname`::
-`-x`::
-  The JNDI lookup name of the managed executor service to be used to
-  provide threads to jobs. The default managed executor service is
-  `concurrent/__defaultManagedExecutorService`. +
-  The managed executor service can be changed after a batch job has been
-  submitted to the batch runtime without impacting execution of the job.
-
-[[sthref2037]]
-
-Examples
-
-[[GSRFM898]][[sthref2038]]
-
-Example 1   Configuring the Batch Runtime
-
-The following example configures the batch runtime for the default
-server instance to use an existing managed executor service named
-`concurrent/myExecutor`.
-
-[source,oac_no_warn]
-----
-asadmin> set-batch-runtime-configuration --executorservicelookupname concurrent/myExecutor
-Command set-batch-runtime-configuration executed successfully.
-----
-
-[[sthref2039]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2040]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
-link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
-link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)],
-link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/set-log-attributes.adoc b/docs/reference-manual/src/main/jbake/content/set-log-attributes.adoc
deleted file mode 100644
index 8c92a11..0000000
--- a/docs/reference-manual/src/main/jbake/content/set-log-attributes.adoc
+++ /dev/null
@@ -1,158 +0,0 @@
-type=page
-status=published
-title=set-log-attributes
-next=set-log-file-format.html
-prev=set-batch-runtime-configuration.html
-~~~~~~
-set-log-attributes
-==================
-
-[[set-log-attributes-1]][[GSRFM00227]][[set-log-attributes]]
-
-set-log-attributes
-------------------
-
-sets the logging attributes for one or more loggers
-
-[[sthref2041]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] set-log-attributes [--help] 
-[--target=target] 
-attribute-name=attribute-value[:attribute-name=attribute-value]*
-----
-
-[[sthref2042]]
-
-Description
-
-The `set-log-attributes` subcommand sets logging attributes for one or
-more loggers. The attributes you can set correspond to the attributes
-that are available in the `logging.properties` file for the domain.
-Depending on the attributes you set, a server restart may be necessary.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2043]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  The server domain, instance, or cluster for which logger attributes
-  will be set. If this option is omitted, attributes are set for the
-  default server.
-
-[[sthref2044]]
-
-Operands
-
-target::
-  Valid values are: +
-  * server_name - Default target is `server`. If no target is specified
-  then log attributes are set for the server.
-  * cluster_name - The name of a target cluster.
-  * instance_name - The name of a target server instance.
-attribute-name::
-  The fully scoped name of the logging attribute. The
-  `list-log-attributes` subcommand can be used to list the names of all
-  currently defined attributes.
-attribute-value::
-  The value to apply to the specified attribute. +
-  The attribute values that can be specified include the following.
-  Refer to "link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in
-  GlassFish Server Open Source Edition Administration Guide for complete
-  explanations of each of these values. +
-  `com.sun.enterprise.server.logging.GFFileHandler.alarms`;;
-    Default is `false`.
-  `com.sun.enterprise.server.logging.GFFileHandler.excludeFields`;;
-    Default is an empty string.
-  `com.sun.enterprise.server.logging.GFFileHandler.file`;;
-    Default is `${com.sun.aas.instanceRoot}/logs/server.log`.
-  `com.sun.enterprise.server.logging.GFFileHandler.flushFrequency`;;
-    Default is `1`.
-  `com.sun.enterprise.server.logging.GFFileHandler.formatter`;;
-    Default is `com.sun.enterprise.server.logging.UniformLogFormatter`.
-  `com.sun.enterprise.server.logging.GFFileHandler.logtoConsole`;;
-    Default is `false`.
-  `com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles`;;
-    Default is `0`.
-  `com.sun.enterprise.server.logging.GFFileHandler.multiLineMode`;;
-    Default is `true`.
-  `com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours`;;
-    Default is `0`.
-  `com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes`;;
-    Default is `2000000`.
-  `com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes`;;
-    Default is `0`.
-  `com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging`;;
-    Default is `false`.
-  `handlers`;;
-    Default is `java.util.logging.ConsoleHandler`.
-  `java.util.logging.ConsoleHandler.formatter`;;
-    Default is `com.sun.enterprise.server.logging.UniformLogFormatter`.
-  `java.util.logging.FileHandler.count`;;
-    Default is `1`.
-  `java.util.logging.FileHandler.formatter`;;
-    Default is `java.util.logging.XMLFormatter`.
-  `java.util.logging.FileHandler.limit`;;
-    Default is `50000`.
-  `java.util.logging.FileHandler.pattern`;;
-    Default is `%h/java%u.log`.
-  `log4j.logger.org.hibernate.validator.util.Version`;;
-    Default is `warn`.
-
-[[sthref2045]]
-
-Examples
-
-[[GSRFM748]][[sthref2046]]
-
-Example 1   Setting the Maximum Number of Log History Files to Maintain
-
-This example sets to 8 the maximum number of log history files for the
-server as a whole.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-attributes --target=server \
-com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles=8
-com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles logging 
-attribute set with value 8.
-These logging attributes are set for server.
-Command set-log-attributes executed successfully.
-----
-
-[[sthref2047]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2048]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
-link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
-link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
-link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
-link:set-log-levels.html#set-log-levels-1[`set-log-levels`(1)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/set-log-file-format.adoc b/docs/reference-manual/src/main/jbake/content/set-log-file-format.adoc
deleted file mode 100644
index 57bd1ee..0000000
--- a/docs/reference-manual/src/main/jbake/content/set-log-file-format.adoc
+++ /dev/null
@@ -1,108 +0,0 @@
-type=page
-status=published
-title=set-log-file-format
-next=set-log-levels.html
-prev=set-log-attributes.html
-~~~~~~
-set-log-file-format
-===================
-
-[[set-log-file-format-1]][[GSRFM879]][[set-log-file-format]]
-
-set-log-file-format
--------------------
-
-sets the formatter to be used for the server log file
-
-[[sthref2049]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] set-log-file-format [--help]
-[--target target]
-[formatter]
-----
-
-[[sthref2050]]
-
-Description
-
-The `set-log-file-format` subcommand sets the formatter to be used for
-the server log file for the specified target.
-
-\{product---name} provides the ULF (UniformLogFormatter) and ODL (Oracle
-Diagnostics Logging) formatters. A custom formatter can also be used by
-specifying the fully qualified name of a class that extends the
-`java.util.logging.Formatter` class.
-
-The custom formatter class can be packaged in a JAR file and placed in
-domain`/lib/ext`, or implemented as an HK2 service and the JAR
-containing the formatter implementation installed in
-`glassfish/modules`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2051]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  Specifies the target for which the formatter is being set. Specify the
-  name of the server domain, instance, or cluster. If this option is
-  omitted, logger attributes are set for the default server.
-
-[[sthref2052]]
-
-Operands
-
-formatter::
-  Specifies the fomatter to be used for the server log file. Valid
-  values are ULF, ODL, or the fully qualified name of the custom
-  formatter class to be used to render the log files. The default value
-  is ODL.
-
-[[sthref2053]]
-
-Examples
-
-[[GSRFM880]][[sthref2054]]
-
-Example 1   Setting the Log File Format
-
-This example sets the server log file format to `ULF` for `server1`.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-file-format --target server1 ULF
-Command set-log-file-format executed successfully.
-----
-
-[[sthref2055]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2056]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-loggers.html#list-loggers-1[`list-loggers`(1)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/set-log-levels.adoc b/docs/reference-manual/src/main/jbake/content/set-log-levels.adoc
deleted file mode 100644
index 8c1778f..0000000
--- a/docs/reference-manual/src/main/jbake/content/set-log-levels.adoc
+++ /dev/null
@@ -1,123 +0,0 @@
-type=page
-status=published
-title=set-log-levels
-next=setup-local-dcom.html
-prev=set-log-file-format.html
-~~~~~~
-set-log-levels
-==============
-
-[[set-log-levels-1]][[GSRFM00228]][[set-log-levels]]
-
-set-log-levels
---------------
-
-sets the log level for one or more loggers
-
-[[sthref2057]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] set-log-levels [--help]
-[--target=target]
-logger-name=logger-level[:logger-name=logger-level]*
-----
-
-[[sthref2058]]
-
-Description
-
-The `set-log-levels` subcommand sets the log level for one or more
-loggers. Changes take effect dynamically. Depending on the log levels
-you set, a server restart may be necessary.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2059]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  The server instance or cluster for which log levels will be set. Valid
-  values are: +
-  * `server` - The default server instance. If no target is specified
-  then log levels are set for the default server instance.
-  * cluster-name - The name of a cluster.
-  * instance-name - The name of a standalone server instance.
-
-[[sthref2060]]
-
-Operands
-
-logger-name::
-  The name of the logger. The `list-log-levels` subcommand can be used
-  to list the names of the current loggers.
-logger-level::
-  The level to set for the logger. Log level values are `SEVERE`,
-  `WARNING`, `INFO`, `CONFIG`, `FINE`, `FINER`, and `FINEST`. The
-  default setting is `INFO`.
-
-[[sthref2061]]
-
-Examples
-
-[[GSRFM749]][[sthref2062]]
-
-Example 1   Setting a Log Level for a Logger
-
-This example sets the log level of the web container logger to
-`WARNING`.
-
-[source,oac_no_warn]
-----
-asadmin> set-log-levels jakarta.enterprise.system.container.web=WARNING
-Command set-log-level executed successfully.
-----
-
-[[GSRFM750]][[sthref2063]]
-
-Example 2   Setting the Log Level for Multiple Loggers
-
-This example sets the log level of the web container logger to `FINE`
-and the log level of the EJB container logger to `SEVERE`:
-
-[source,oac_no_warn]
-----
-asadmin set-log-levels jakarta.enterprise.system.container.web=FINE:
-jakarta.enterprise.system.container.ejb=SEVERE
-Command set-log-level executed successfully.
-----
-
-[[sthref2064]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2065]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:collect-log-files.html#collect-log-files-1[`collect-log-files`(1)],
-link:list-log-attributes.html#list-log-attributes-1[`list-log-attributes`(1)],
-link:list-log-levels.html#list-log-levels-1[`list-log-levels`(1)],
-link:rotate-log.html#rotate-log-1[`rotate-log`(1)],
-link:set-log-attributes.html#set-log-attributes-1[`set-log-attributes`(1)]
-
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/set-web-context-param.adoc b/docs/reference-manual/src/main/jbake/content/set-web-context-param.adoc
deleted file mode 100644
index d0569e1..0000000
--- a/docs/reference-manual/src/main/jbake/content/set-web-context-param.adoc
+++ /dev/null
@@ -1,190 +0,0 @@
-type=page
-status=published
-title=set-web-context-param
-next=set-web-env-entry.html
-prev=setup-ssh.html
-~~~~~~
-set-web-context-param
-=====================
-
-[[set-web-context-param-1]][[GSRFM00230]][[set-web-context-param]]
-
-set-web-context-param
----------------------
-
-sets a servlet context-initialization parameter of a deployed web
-application or module
-
-[[sthref2083]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] set-web-context-param [--help] 
---name=context-param-name 
-{--value=value|--ignoredescriptoritem={false|true}} 
-[--description=description] application-name[/module]
-----
-
-[[sthref2084]]
-
-Description
-
-The `set-web-context-param` subcommand sets a servlet
-context-initialization parameter of one of the following items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-The application must already be deployed. Otherwise, an error occurs.
-
-This subcommand enables you to change the configuration of a deployed
-application without the need to modify the application's deployment
-descriptors and repackage and redeploy the application.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2085]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  The name of the servlet context-initialization parameter that is to be
-  set.
-`--value`::
-  The value to which the servlet context-initialization parameter is to
-  be set. +
-  Either the `--value` option or the `--ignoredescriptoritem` option
-  must be set.
-`--ignoredescriptoritem`::
-  Specifies whether the servlet context-initialization parameter is
-  ignored if it is set in the application's deployment descriptor. When
-  a parameter is ignored, the application behaves as if the parameter
-  had never been set in the application's deployment descriptor. The
-  behavior of an application in this situation depends on the
-  application. +
-  The possible values are as follows: +
-  `false`;;
-    The value is not ignored (default).
-  `true`;;
-    The value is ignored. +
-  Either the `--value` option or the `--ignoredescriptoritem` option
-  must be set. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Do not use the `--ignoredescriptoritem` option to unset a servlet
-context-initialization parameter that has previously been set by using
-the `set-web-context-param` subcommand. Instead, use the
-link:unset-web-context-param.html#unset-web-context-param-1[`unset-web-context-param`(1)]
-subcommand for this purpose.
-
-|=======================================================================
-
-`--description`::
-  An optional textual description of the context parameter that is being
-  set.
-
-[[sthref2086]]
-
-Operands
-
-application-name::
-  The name of the application. This name can be obtained from the
-  Administration Console or by using the
-  link:list-applications.html#list-applications-1[`list-applications`(1)]
-  subcommand. +
-  The application must already be deployed. Otherwise, an error occurs.
-module::
-  The relative path to the module within the application's enterprise
-  archive (EAR) file. The path to the module is specified in the
-  `module` element of the application's `application.xml` file. +
-  module is required only if the servlet context-initialization
-  parameter applies to a web module of a Java EE application. If
-  specified, module must follow application-name, separated by a slash
-  (/). +
-  For example, the `application.xml` file for the `myApp` application
-  might specify the following web module: +
-[source,oac_no_warn]
-----
-<module>
-    <web>
-        <web-uri>myWebModule.war</web-uri>
-    </web>
-</module> 
-----
-::
-  The module would be specified as the operand of this command as
-  `myApp/myWebModule.war`.
-
-[[sthref2087]]
-
-Examples
-
-[[GSRFM753]][[sthref2088]]
-
-Example 1   Setting a Servlet Context-Initialization Parameter for a Web
-Application
-
-This example sets the servlet context-initialization parameter
-`javax.faces.STATE_SAVING_METHOD` of the web application `basic-ezcomp`
-to `client`. The description
-`The location where the application's state is preserved` is provided
-for this parameter.
-
-[source,oac_no_warn]
-----
-asadmin> set-web-context-param --name=javax.faces.STATE_SAVING_METHOD 
---description="The location where the application's state is preserved" 
---value=client basic-ezcomp
-
-Command set-web-context-param executed successfully.
-----
-
-[[GSRFM754]][[sthref2089]]
-
-Example 2   Ignoring a Servlet Context-Initialization Parameter That Is
-Defined in a Deployment Descriptor
-
-This example ignores the servlet context-initialization parameter
-`javax.faces.PROJECT_STAGE` of the web application `basic-ezcomp`.
-
-[source,oac_no_warn]
-----
-asadmin> set-web-context-param --name=javax.faces.PROJECT_STAGE
---ignoredescriptoritem=true 
-basic-ezcomp
-
-Command set-web-context-param executed successfully.
-----
-
-[[sthref2090]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2091]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-web-context-param.html#list-web-context-param-1[`list-web-context-param`(1)],
-link:unset-web-context-param.html#unset-web-context-param-1[`unset-web-context-param`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/set-web-env-entry.adoc b/docs/reference-manual/src/main/jbake/content/set-web-env-entry.adoc
deleted file mode 100644
index 460e64c..0000000
--- a/docs/reference-manual/src/main/jbake/content/set-web-env-entry.adoc
+++ /dev/null
@@ -1,203 +0,0 @@
-type=page
-status=published
-title=set-web-env-entry
-next=show-component-status.html
-prev=set-web-context-param.html
-~~~~~~
-set-web-env-entry
-=================
-
-[[set-web-env-entry-1]][[GSRFM00231]][[set-web-env-entry]]
-
-set-web-env-entry
------------------
-
-sets an environment entry for a deployed web application or module
-
-[[sthref2092]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] set-web-env-entry [--help] 
---name=env-entry-name --type=env-entry-type 
-{--value=value|--ignoredescriptoritem={true|false}} 
-[--description=description] application-name[/module]
-----
-
-[[sthref2093]]
-
-Description
-
-The `set-web-env-entry` subcommand sets an environment entry for one of
-the following items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-The application must already be deployed. Otherwise, an error occurs.
-
-An application uses the values of environment entries to customize its
-behavior or presentation.
-
-This subcommand enables you to change the configuration of a deployed
-application without the need to modify the application's deployment
-descriptors and repackage and redeploy the application.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2094]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  The name of the environment entry that is to be set. The name is a
-  JNDI name relative to the `java:comp/env` context. The name must be
-  unique within a deployment component.
-`--type`::
-  The fully-qualified Java type of the environment entry value that is
-  expected by the application's code. This type must be one of the
-  following Java types: +
-  * `java.lang.Boolean`
-  * `java.lang.Byte`
-  * `java.lang.Character`
-  * `java.lang.Double`
-  * `java.lang.Float`
-  * `java.lang.Integer`
-  * `java.lang.Long`
-  * `java.lang.Short`
-  * `java.lang.String`
-`--value`::
-  The value to which the environment entry is to be set. If the `--type`
-  is `java.lang.Character`, the value must be a single character.
-  Otherwise, the value must be a string that is valid for the
-  constructor of the specified type. +
-  Either the `--value` option or the `--ignoredescriptoritem` option
-  must be set.
-`--ignoredescriptoritem`::
-  Specifies whether the environment entry is ignored if it is set in the
-  application's deployment descriptor. When an environment entry is
-  ignored, the application behaves as if the entry had never been set in
-  the application's deployment descriptor. The behavior of an
-  application in this situation depends on the application. +
-  The possible values are as follows: +
-  `false`;;
-    The value is not ignored (default).
-  `true`;;
-    The value is ignored. +
-  Either the `--value` option or the `--ignoredescriptoritem` option
-  must be set. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Do not use the `--ignoredescriptoritem` option to unset an environment
-entry that has previously been set by using the `set-web-env-entry`
-subcommand. Instead, use the
-link:unset-web-env-entry.html#unset-web-env-entry-1[`unset-web-env-entry`(1)]
-subcommand for this purpose.
-
-|=======================================================================
-
-`--description`::
-  An optional textual description of the environment entry that is being
-  set.
-
-[[sthref2095]]
-
-Operands
-
-application-name::
-  The name of the application. This name can be obtained from the
-  Administration Console or by using the
-  link:list-applications.html#list-applications-1[`list-applications`(1)]
-  subcommand. +
-  The application must already be deployed. Otherwise, an error occurs.
-module::
-  The relative path to the module within the application's enterprise
-  archive (EAR) file. The path to the module is specified in the
-  `module` element of the application's `application.xml` file. +
-  module is required only if the environment entry applies to a web
-  module of a Java EE application. If specified, module must follow
-  application-name, separated by a slash (/). +
-  For example, the `application.xml` file for the `myApp` application
-  might specify the following web module: +
-[source,oac_no_warn]
-----
-<module>
-    <web>
-        <web-uri>myWebModule.war</web-uri>
-    </web>
-</module> 
-----
-::
-  The module would be specified as the operand of this command as
-  `myApp/myWebModule.war`.
-
-[[sthref2096]]
-
-Examples
-
-[[GSRFM755]][[sthref2097]]
-
-Example 1   Setting an Environment Entry for a Web Application
-
-This example sets the environment entry `Hello User` of the application
-hello to `techscribe`. The Java type of this entry is
-`java.lang.String`.
-
-[source,oac_no_warn]
-----
-asadmin> set-web-env-entry --name="Hello User" 
---type=java.lang.String --value=techscribe 
---description="User authentication for Hello appplication" hello
-
-Command set-web-env-entry executed successfully.
-----
-
-[[GSRFM756]][[sthref2098]]
-
-Example 2   Ignoring an Environment Entry That Is Defined in a
-Deployment Descriptor
-
-This example ignores the environment entry `Hello Port` of the web
-application `hello`.
-
-[source,oac_no_warn]
-----
-asadmin> set-web-env-entry --name="Hello Port" 
---type=java.lang.Integer --ignoredescriptoritem=true hello
-
-Command set-web-env-entry executed successfully.
-----
-
-[[sthref2099]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2100]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:list-web-env-entry.html#list-web-env-entry-1[`list-web-env-entry`(1)],
-link:unset-web-env-entry.html#unset-web-env-entry-1[`unset-web-env-entry`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/set.adoc b/docs/reference-manual/src/main/jbake/content/set.adoc
deleted file mode 100644
index 5fb5e61..0000000
--- a/docs/reference-manual/src/main/jbake/content/set.adoc
+++ /dev/null
@@ -1,149 +0,0 @@
-type=page
-status=published
-title=set
-next=set-batch-runtime-configuration.html
-prev=rotate-log.html
-~~~~~~
-set
-===
-
-[[set-1]][[GSRFM00226]][[set]]
-
-set
----
-
-sets the values of configurable attributes
-
-[[sthref2024]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] set [--help] 
-attribute-name=value
-----
-
-[[sthref2025]]
-
-Description
-
-The `set` subcommand uses dotted names to modify the values of one or
-more configurable attributes.
-
-Attributes from the monitoring hierarchy are read-only, but
-configuration attributes can be modified. You can use the
-link:list.html#list-1[`list`(1)] subcommand to display the dotted names
-that represent individual server components and subsystems. For example,
-a dotted name might be `server.applications.web-module`. After you
-discover the particular component or subsystem, you can then use the
-`get` subcommand to access the attributes. For more detailed information
-on dotted names, see the
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)] help page.
-
-
-[NOTE]
-=======================================================================
-
-Characters that have special meaning to the shell or command
-interpreter, such as * (asterisk), should be quoted or escaped as
-appropriate to the shell, for example, by enclosing the argument in
-quotes. In multimode, quotes are needed only for arguments that include
-spaces, quotes, or backslash.
-
-=======================================================================
-
-
-By modifying attributes, you can enable and disable services, and
-customize how an existing element functions. An `asadmin` subcommand is
-provided to update some elements. For example, `update-password-alias`.
-However, to update other elements, you must use the `set` command. For
-example, you create a JDBC connection pool by using the
-`create-jdbc-connection-pool` subcommand. To change attribute settings
-later, you use the `set` command.
-
-Any change made by using the `asadmin` utility subcommands or the
-Administration Console are automatically applied to the associated
-\{product---name} configuration file.
-
-[[sthref2026]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref2027]]
-
-Operands
-
-attribute-name=value::
-  Identifies the full dotted name of the attribute name and its value.
-
-[[sthref2028]]
-
-Examples
-
-[[GSRFM745]][[sthref2029]]
-
-Example 1   Setting a JDBC Connection Pool Attribute
-
-This example changes the steady pool size of the `DerbyPool` connection
-pool to 9.
-
-[source,oac_no_warn]
-----
-asadmin> set resources.jdbc-connection-pool.DerbyPool.steady-pool-size=9
-Command set executed successfully.
-----
-
-[[GSRFM746]][[sthref2030]]
-
-Example 2   Enabling the Monitoring Service for a Monitorable Object
-
-This example enables monitoring for the JVM.
-
-[source,oac_no_warn]
-----
-asadmin> set server.monitoring-service.module-monitoring-levels.jvm=HIGH
-Command set executed successfully.
-----
-
-[[GSRFM747]][[sthref2031]]
-
-Example 3   Turning on Automatic Recovery for the Transaction Service
-
-This example turns on automatic recovery for the transaction service.
-
-[source,oac_no_warn]
-----
-asadmin> set server.transaction-service.automatic-recovery=true
-Command set executed successfully.
-----
-
-[[sthref2032]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2033]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)]
-
-link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]
-
-link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/setup-local-dcom.adoc b/docs/reference-manual/src/main/jbake/content/setup-local-dcom.adoc
deleted file mode 100644
index 28fbfc0..0000000
--- a/docs/reference-manual/src/main/jbake/content/setup-local-dcom.adoc
+++ /dev/null
@@ -1,155 +0,0 @@
-type=page
-status=published
-title=setup-local-dcom
-next=setup-ssh.html
-prev=set-log-levels.html
-~~~~~~
-setup-local-dcom
-================
-
-[[setup-local-dcom-1]][[GSRFM893]][[setup-local-dcom]]
-
-setup-local-dcom
-----------------
-
-sets up DCOM on a host
-
-[[sthref2066]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] setup-local-dcom [--help] 
-[--verbose={false|true}]
---force={false|true}
-----
-
-[[sthref2067]]
-
-Description
-
-The `setup-local-dcom` subcommand sets up the Distributed Component
-Object Model (DCOM) remote protocol on the host where the subcommand is
-run. The DCOM remote protocol is available only on Windows systems.
-
-This subcommand must be run by the operating-system-level administrator
-user on the host where DCOM is being set up. Before running this
-command, ensure that items in the Windows operating system are set as
-described in "link:../ha-administration-guide/ssh-setup.html#GSHAG449[Windows Operating System Settings]" in
-GlassFish Server Open Source Edition High Availability Administration
-Guide.
-
-Setting up DCOM on a host ensures that scripts can be run on the host
-from a remote host. To run scripts on the host from a remote host, the
-Windows user must be allowed full control over some Windows registry
-keys.
-
-In some versions of Windows, only the user `NT SERVICE\TrustedInstaller`
-has full control over these Windows registry keys. If the version of
-Windows on a host is configured in this way, this subcommand modifies
-these keys to allow full control over them for the Windows user.
-
-
-[CAUTION]
-=======================================================================
-
-This subcommand might modify the permissions of some keys in the Windows
-registry. Before running this command, back up the Windows registry.
-
-=======================================================================
-
-
-By default, the subcommand prompts you to confirm that you want to
-update the Windows registry. To run the subcommand without being
-prompted, set the `--force` option to `true`.
-
-This subcommand is supported in local mode only.
-
-[[sthref2068]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--verbose`::
-`-v`::
-  Specifies whether the subcommand displays information about the
-  operations that are performed to set up DCOM on the host. +
-  Possible values are as follows: +
-  `false`;;
-    No information about the operations that are performed to set up
-    DCOM is displayed (default).
-  `true`;;
-    The subcommand displays information about the operations that are
-    performed to set up DCOM on the host.
-`--force`::
-`-f`::
-  Specifies whether the subcommand prompts you to confirm that you want
-  to update the Windows registry. +
-  Possible values are as follows: +
-  `false`;;
-    You are prompted to confirm that you want to update the Windows
-    registry (default).
-  `true`;;
-    The subcommand forcibly updates the Windows registry without
-    prompting you.
-
-[[sthref2069]]
-
-Examples
-
-[[GSRFM737]][[sthref2070]]
-
-Example 1   Setting Up DCOM on a Host
-
-This example sets up DCOM on the host where the subcommand is run.
-
-[source,oac_no_warn]
-----
-asadmin> setup-local-dcom
-Caution: This command might modify the permissions of some keys in the Windows 
-registry.
-Before running this command, back up the Windows registry.
-The modification allows the Windows user full control over these keys.
- 
-Are you sure that you want to edit the Windows registry? If so, type yes in full: yes
-Command setup-local-dcom executed successfully.
-----
-
-[[GSRFM894]][[sthref2071]]
-
-Example 2   Forcibly Setting Up DCOM on a Host
-
-This example sets up DCOM without prompting for confirmation that the
-user wants to update the Windows registry.
-
-[source,oac_no_warn]
-----
-asadmin> setup-local-dcom --force=true
-Command setup-local-dcom executed successfully.
-----
-
-[[sthref2072]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2073]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-"link:../ha-administration-guide/ssh-setup.html#GSHAG449[Windows Operating System Settings]" in GlassFish Server
-Open Source Edition High Availability Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/setup-ssh.adoc b/docs/reference-manual/src/main/jbake/content/setup-ssh.adoc
deleted file mode 100644
index 29f2ba2..0000000
--- a/docs/reference-manual/src/main/jbake/content/setup-ssh.adoc
+++ /dev/null
@@ -1,261 +0,0 @@
-type=page
-status=published
-title=setup-ssh
-next=set-web-context-param.html
-prev=setup-local-dcom.html
-~~~~~~
-setup-ssh
-=========
-
-[[setup-ssh-1]][[GSRFM00229]][[setup-ssh]]
-
-setup-ssh
----------
-
-sets up an SSH key on specified hosts
-
-[[sthref2074]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] setup-ssh [--help]
-[--sshport ssh-port] [--sshuser ssh-user]
-[--sshkeyfile ssh-keyfile] [--sshpublickeyfile ssh-public-keyfile]
-[--generatekey={false|true}]
-host-list
-----
-
-[[sthref2075]]
-
-Description
-
-The `setup-ssh` subcommand sets up a secure shell (SSH) key on the hosts
-that are specified as the operand of the subcommand. This key enables
-\{product---name} to use public-key authentication for authentication of
-the user's SSH login on remote hosts.
-
-SSH ensures that \{product---name} clusters that span multiple hosts can
-be administered centrally. When a user runs a subcommand for cluster
-administration that acts on multiple hosts, the subcommand is propagated
-from the domain administration server (DAS) host to remote hosts. To
-propagate subcommands that act on a \{product---name} instance that is
-not running, or on a node where no instances are running,
-\{product---name} uses SSH. SSH provides confidentiality and security
-for data that is exchanged between the DAS and remote hosts.
-
-Public-key authentication uses an SSH key pair that comprises the
-following keys:
-
-* A private key, which is stored in a secure location on the DAS host
-and which may be protected with a passphrase
-* The public key, which is stored on all the remote hosts with which the
-DAS communicates
-
-The subcommand does not require any configuration information from the
-DAS and does not modify the configuration of the DAS.
-
-This subcommand is supported in local mode only.
-
-Prerequisites for Using the `setup-ssh` Subcommand
-
-To use the `setup-ssh` subcommand, the SSH user must be able to use SSH
-to log in to remote hosts where SSH is to be set up. Specifically, the
-following prerequisites must be met:
-
-* The
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-1[`ssh`(1)]
-client is installed on the DAS host and is accessible through the DAS
-user's path.
-* The
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msshd-1m[`sshd`(1M)]
-daemon is installed and running on all hosts where an SSH key is to be
-set up.
-* The user that the `--sshuser` option specifies has an SSH login on all
-hosts where an SSH key is to be set up.
-* The
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]
-utility is installed on the DAS host either at the default location or
-in a location that is defined in the DAS user's path.
-* On Windows systems, the SSH package for http://www.cygwin.com/[Cygwin]
-(http://www.cygwin.com/) or an http://www.mkssoftware.com/[MKS Software]
-(http://www.mkssoftware.com/) toolkit that provides SSH is installed.
-
-Behavior of the `setup-ssh` Subcommand
-
-The subcommand sets up SSH connectivity between the DAS host and remote
-hosts by automating the following tasks:
-
-* Generating an SSH key pair. If no SSH key pair exists, the default
-behavior of the subcommand is to prompt the user to generate an SSH key
-pair. The SSH key pair is generated without an encryption passphrase. If
-a passphrase-protected key pair is required, the key pair must be
-generated manually by using the SSH
-commandhttp://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)].
-* Distributing the public key. The subcommand appends the content of the
-public key file to the user-home`/.ssh/authorized_keys` file on each
-remote host. By default, the subcommand locates the public key file in
-the user-home`/.ssh` directory on the host where the subcommand is run.
-If the user-home`/.ssh/authorized_keys` file does not exist on a host,
-the subcommand creates the file. user-home is the user's home directory
-on a host. +
-To distribute the public key, authentication of the user's SSH login is
-required. If the private key is protected by a passphrase, the
-passphrase is also required. By default, the subcommand prompts the user
-for the password and, if necessary, the passphrase. To distribute the
-public key without being prompted, run the subcommand as follows:
-
-** Set the `--interactive` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility to `false`.
-
-** Set the `--passwordfile` option of the `asadmin` utility to a file in
-which the `AS_ADMIN_SSHPASSWORD` entry specifies the SSH user's password
-for logging in to the specified hosts.
-
-** If a passphrase is required, ensure that the file that
-`--passwordfile` option of the `asadmin` utility specifies also contains
-an entry for `AS_ADMIN_SSHKEYPASSPHRASE`. +
-If public key authentication is already set up on a host, the subcommand
-informs the user that public key authentication is already set up and
-does not distribute the key to the host.
-
-[[sthref2076]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--sshport`::
-  The port to use for SSH connections to the host where SSH is being set
-  up. The default is 22.
-`--sshuser`::
-  The SSH user on the remote host that is to run the process for setting
-  up SSH on that host. The default is the user that is running this
-  subcommand. To ensure that the DAS can read this user's SSH private
-  key file, specify the user that is running the DAS process.
-`--sshkeyfile`::
-  The absolute path to the SSH private key file for user that the
-  `--sshuser` option specifies. This file is used for authentication to
-  the `sshd` daemon on the host. +
-  The user that is running this subcommand must be able to reach the
-  path to the key file and read the key file. +
-  The default is a key file in the user's `.ssh` directory on the host
-  where the subcommand is run. If multiple key files are found, the
-  subcommand uses the following order of preference: +
-  1.  `id_rsa`
-  2.  `id_dsa`
-  3.  `identity`
-`--sshpublickeyfile`::
-  The absolute path to the SSH public key file for user that the
-  `--sshuser` option specifies. The content of the public key file is
-  appended to the user's `.ssh/authorized_keys` file on each host where
-  SSH is being set up. If the `.ssh/authorized_keys` file does not exist
-  on a host, the subcommand creates the file. +
-  The user that is running this subcommand must be able to reach the
-  path to the key file and read the key file. +
-  The default is a key file in the user's `.ssh` directory on the host
-  where the subcommand is run. If multiple key files are found, the
-  subcommand uses the following order of preference: +
-  1.  `id_rsa.pub`
-  2.  `id_dsa.pub`
-  3.  `identity.pub`
-`--generatekey`::
-  Specifies whether the subcommand generates the SSH key files without
-  prompting the user. +
-  Possible values are as follows: +
-  `true`;;
-    The subcommand generates the SSH key files without prompting the
-    user.
-  `false`;;
-    The behavior of the subcommand depends on whether the SSH key files
-    exist: +
-    * If the SSH key files exist, the subcommand does not generate the
-    files.
-    * If the SSH key files do not exist, the behavior of the subcommand
-    depends on the value of the `--interactive` option of the `asadmin`
-    utility:
-    ** If the `--interactive` option is `true`, the subcommand prompts
-    the user to create the files.
-    ** If the `--interactive` option is `false`, the subcommand fails. +
-    This value is the default.
-
-[[sthref2077]]
-
-Operands
-
-host-list::
-  A space-separated list of the names of the hosts where an SSH key is
-  to be set up.
-
-[[sthref2078]]
-
-Examples
-
-[[GSRFM751]][[sthref2079]]
-
-Example 1   Setting Up an SSH Key
-
-This example sets up an SSH key for the user `gfuser` on the hosts
-`sj03` and `sj04`. The key file is not generated but is copied from the
-user's `.ssh` directory on the host where the subcommand is running.
-
-[source,oac_no_warn]
-----
-asadmin> setup-ssh sj03 sj04
-Enter SSH password for gfuser@sj03> 
-Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sj03
-Successfully connected to gfuser@sj03 using keyfile /home/gfuser/.ssh/id_rsa
-Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sj04
-Successfully connected to gfuser@sj04 using keyfile /home/gfuser/.ssh/id_rsa
-Command setup-ssh executed successfully.
-----
-
-[[GSRFM752]][[sthref2080]]
-
-Example 2   Generating and Setting Up an SSH Key
-
-This example generates and sets up an SSH key for the user `gfuser` on
-the hosts `sua01` and `sua02`.
-
-[source,oac_no_warn]
-----
-asadmin> setup-ssh --generatekey=true sua01 sua02
-Enter SSH password for gfuser@sua01> 
-Created directory /home/gfuser/.ssh
-/usr/bin/ssh-keygen successfully generated the identification /home/gfuser/.ssh/id_rsa
-Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua01
-Successfully connected to gfuser@sua01 using keyfile /home/gfuser/.ssh/id_rsa
-Copied keyfile /home/gfuser/.ssh/id_rsa.pub to gfuser@sua02
-Successfully connected to gfuser@sua02 using keyfile /home/gfuser/.ssh/id_rsa
-Command setup-ssh executed successfully.
-----
-
-[[sthref2081]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2082]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-1[`ssh`(1)],
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1ssh-keygen-1[`ssh-keygen`(1)]
-
-http://www.oracle.com/pls/topic/lookup?ctx=E18752&id=REFMAN1Msshd-1m[`sshd`(1M)]
-
-Cygwin Information and Installation (`http://www.cygwin.com/`), MKS
-Software (`http://www.mkssoftware.com/`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/show-component-status.adoc b/docs/reference-manual/src/main/jbake/content/show-component-status.adoc
deleted file mode 100644
index 7f915c7..0000000
--- a/docs/reference-manual/src/main/jbake/content/show-component-status.adoc
+++ /dev/null
@@ -1,114 +0,0 @@
-type=page
-status=published
-title=show-component-status
-next=start-cluster.html
-prev=set-web-env-entry.html
-~~~~~~
-show-component-status
-=====================
-
-[[show-component-status-1]][[GSRFM00232]][[show-component-status]]
-
-show-component-status
----------------------
-
-displays the status of the deployed component
-
-[[sthref2101]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] show-component-status [--help] 
-[--target target] component-name
-----
-
-[[sthref2102]]
-
-Description
-
-The `show-component-status` subcommand gets the status (either enabled
-or disabled) of the deployed component.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2103]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are showing the
-  component status. Valid values are: +
-  `server`;;
-    Shows the component status for the default server instance `server`
-    and is the default value.
-  `domain`;;
-    Shows the component status for the domain.
-  cluster_name;;
-    Shows the component status for the cluster.
-  instance_name;;
-    Shows the component status for a clustered or stand-alone server
-    instance.
-
-[[sthref2104]]
-
-Operands
-
-component-name::
-  The name of the component whose status is to be listed. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. To list multiple versions, you can use an asterisk
-  (`*`) as a wildcard character. For more information about module and
-  application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application
-  Versions]" in GlassFish Server Open Source Edition Application
-  Deployment Guide.
-
-[[sthref2105]]
-
-Examples
-
-[[GSRFM757]][[sthref2106]]
-
-Example 1   Showing the Status of a Component
-
-This example gets the status of the `MEjbApp` component.
-
-[source,oac_no_warn]
-----
-asadmin> show-component-status MEjbApp
-Status of MEjbApp is enabled
-Command show-component-status executed successfully.
-----
-
-[[sthref2107]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2108]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:list-sub-components.html#list-sub-components-1[`list-sub-components`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/start-cluster.adoc b/docs/reference-manual/src/main/jbake/content/start-cluster.adoc
deleted file mode 100644
index ada4668..0000000
--- a/docs/reference-manual/src/main/jbake/content/start-cluster.adoc
+++ /dev/null
@@ -1,135 +0,0 @@
-type=page
-status=published
-title=start-cluster
-next=start-database.html
-prev=show-component-status.html
-~~~~~~
-start-cluster
-=============
-
-[[start-cluster-1]][[GSRFM00233]][[start-cluster]]
-
-start-cluster
--------------
-
-starts a cluster
-
-[[sthref2109]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] start-cluster [--help] 
-[--autohadboverride={true|false}]
-[--verbose={false|true}] cluster-name
-----
-
-[[sthref2110]]
-
-Description
-
-The `start-cluster` subcommand starts a cluster by starting all
-\{product---name} instances in the cluster that are not already running.
-This subcommand requires the Distributed Component Object Model (DCOM)
-remote protocol or secure shell (SSH) to be configured on the host where
-the domain administration server (DAS) is running and on all hosts where
-instances in the cluster reside.
-
-
-[NOTE]
-=======================================================================
-
-If all instances reside on the same host as the DAS, DCOM or SSH is not
-required. You might require to start a cluster in which instances reside
-on hosts where DCOM or SSH is not configured that are remote from the
-DAS. In this situation, run the
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]
-subcommand for each instance from the host where the instance resides.
-
-=======================================================================
-
-
-You may run this subcommand from any host that can contact the DAS.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2111]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--autohadboverride`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-`--verbose`::
-  Specifies whether additional status information is displayed when the
-  cluster is started. +
-  Valid values are as follows: +
-  `true`;;
-    Displays the command to start each instance in the cluster and
-    whether the attempt to start each instance succeeded.
-  `false`;;
-    Displays no additional status information (default).
-
-[[sthref2112]]
-
-Operands
-
-cluster-name::
-  The name of the cluster to start.
-
-[[sthref2113]]
-
-Examples
-
-[[GSRFM758]][[sthref2114]]
-
-Example 1   Staring a Cluster
-
-This example starts the cluster `ymlcluster`. Additional status
-information is displayed when the cluster is started.
-
-[source,oac_no_warn]
-----
-asadmin> start-cluster --verbose ymlcluster
-start-instance yml-i-sr1-usca-02
-start-instance yml-i-sr1-usca-01
-
-The command start-instance executed successfully for: 
-yml-i-sr1-usca-02 yml-i-sr1-usca-01 
-
-Command start-cluster executed successfully.
-----
-
-[[sthref2115]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2116]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
-link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
-link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
-link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)],
-link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/start-database.adoc b/docs/reference-manual/src/main/jbake/content/start-database.adoc
deleted file mode 100644
index df56947..0000000
--- a/docs/reference-manual/src/main/jbake/content/start-database.adoc
+++ /dev/null
@@ -1,177 +0,0 @@
-type=page
-status=published
-title=start-database
-next=start-domain.html
-prev=start-cluster.html
-~~~~~~
-start-database
-==============
-
-[[start-database-1]][[GSRFM00234]][[start-database]]
-
-start-database
---------------
-
-starts the Java DB
-
-[[sthref2117]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] start-database [--help] 
-[--jvmoptions jvm-options]
-[--dbhost host] [--dbport port-no]
-[--dbhome db-file-path]
-----
-
-[[sthref2118]]
-
-Description
-
-The `start-database` subcommand starts the Java DB server that is
-available for use with \{product---name}. Java DB is based upon Apache
-Derby. Use this subcommand only for working with applications deployed
-to the server.
-
-When you start Java DB server by using the `start-database` subcommand,
-the database server is started in Network Server mode. Clients
-connecting to it must use the Java DB ClientDriver. For details on
-connecting to the database, refer to the Apache Derby documentation.
-
-When the database server starts, or a client connects to it
-successfully, the following files are created:
-
-* The `derby.log` file that contains the database server process log
-along with its standard output and standard error information
-* The database files that contain your schema (for example, database
-tables)
-
-These files are created at the location that is specified by the
-`--dbhome` option. To create the database files at a particular
-location, you must set the `--dbhome` option. If the `--dbhome` option
-is not specified, the `start-database` subcommand determines where to
-create these files as follows:
-
-* If the current working directory contains a file that is named
-`derby.log`, the `start-database` subcommand creates the files in the
-current working directory.
-* Otherwise, the `start-database` subcommand creates the files in the
-as-install`/databases` directory.
-
-The `start-database` subcommand starts the database process, even if it
-cannot write to the log file.
-
-This subcommand is supported in local mode only.
-
-[[sthref2119]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--jvmoptions`::
-  A space-separated list of command-line options that are passed to the
-  Java application launcher when the database is started. By default, no
-  options are passed. +
-  The format of an option depends on whether the option has a name and a
-  value or only a name: +
-  * If the option has a name and a value, the format is
-  option-name=value.
-  * If the option has only a name, the format is option-name. For
-  example, `-Xmx512m`.
-`--dbhost`::
-  The host name or IP address of the Java DB server process. The default
-  is the IP address 0.0.0.0, which denotes all network interfaces on the
-  host where you run the `start-database` subcommand.
-`--dbport`::
-  The port number where the Java DB server listens for client
-  connections. This port must be available for the listen socket,
-  otherwise the database server will not start. The default is 1527.
-`--dbhome`::
-  The absolute path to the directory where the database files and the
-  `derby.log` file are created. If the `--dbhome` option is not
-  specified, the `start-database` subcommand determines where to create
-  these files as follows: +
-  * If the current working directory contains a file that is named
-  `derby.log`, the `start-database` subcommand creates the files in the
-  current working directory.
-  * Otherwise, the `start-database` subcommand creates the files in the
-  as-install`/databases` directory. +
-  To create the database files at a particular location, you must set
-  the `--dbhome` option.
-
-[[sthref2120]]
-
-Examples
-
-[[GSRFM759]][[sthref2121]]
-
-Example 1   Starting Java DB
-
-This example starts Java DB on the host `host1` and port 5001.
-
-[source,oac_no_warn]
-----
-asadmin> start-database --dbhost host1 --dbport 5001 --terse=true
-Starting database in the background.  Log redirected to 
-/opt/SUNWappserver/databases/derby.log.
-----
-
-[[GSRFM833]][[sthref2122]]
-
-Example 2   Starting Java DB With Options for the Java Application
-Launcher
-
-This example starts Java DB with the options for setting the minimum
-heap memory size to 128 megabytes and the maximum heap memory size to
-512 megabytes.
-
-[source,oac_no_warn]
-----
-asadmin> start-database --jvmoptions="-Xms128m -Xmx512m" --terse=true
-Starting database in the background.
-Log redirected to /export/glassfish3/glassfish/databases/derby.log.
-----
-
-[[sthref2123]]
-
-Exit Status
-
-The exit status applies to errors in executing the `asadmin` utility.
-For information on database errors, see the `derby.log` file. This file
-is located in the directory you specify by using the `--dbhome` option
-when you run the `start-database` subcommand. If you did not specify
-`--dbhome`, the value of `DERBY_INSTALL` defaults to
-as-install`/javadb`.
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2124]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:stop-database.html#stop-database-1[`stop-database`(1)]
-
-"link:../administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in GlassFish
-Server Open Source Edition Administration Guide
-
-For more information about the Java application launcher, see the
-reference page for the operating system that you are using:
-
-* Oracle Solaris and Linux: java - the Java application launcher
-(`http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/java.html`)
-* Windows: java - the Java application launcher
-(`http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/start-domain.adoc b/docs/reference-manual/src/main/jbake/content/start-domain.adoc
deleted file mode 100644
index 457715e..0000000
--- a/docs/reference-manual/src/main/jbake/content/start-domain.adoc
+++ /dev/null
@@ -1,221 +0,0 @@
-type=page
-status=published
-title=start-domain
-next=start-instance.html
-prev=start-database.html
-~~~~~~
-start-domain
-============
-
-[[start-domain-1]][[GSRFM00235]][[start-domain]]
-
-start-domain
-------------
-
-starts the DAS of the specified domain
-
-[[sthref2125]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] start-domain [--help] 
-[--debug={true|false}] [--suspend={true|false}] [--domaindir domain-dir] 
-[--dry-run={true|false}] [--upgrade={true|false}] 
-[--verbose={true|false}] [--watchdog={true|false}] 
-[domain-name]
-----
-
-[[sthref2126]]
-
-Description
-
-The `start-domain` subcommand starts the domain administration server
-(DAS) of the specified domain. If a domain is not specified, the default
-domain is assumed. If the domains directory contains two or more
-domains, the domain-name operand must be specified.
-
-
-[NOTE]
-=======================================================================
-
-On the Windows platform, processes can bind to the same port. To avoid
-this problem, do not start multiple domains with the same port number at
-the same time.
-
-=======================================================================
-
-
-This subcommand is supported in local mode only.
-
-
-[NOTE]
-=======================================================================
-
-In Oracle GlassFish Server, the `start-domain` subcommand prompts for a
-new admin user password if no password has been set for the admin user.
-Additionally, the admin user password must not be blank if secure
-administration is enabled; otherwise, the `start-domain` subcommand
-fails.
-
-To provide the new admin user password, you can use the `--passwordfile`
-utility option of the link:asadmin.html#asadmin-1m[`asadmin`(1M)] command
-after adding the entry `AS_ADMIN_NEWPASSWORD` to the password file.
-
-=======================================================================
-
-
-[[sthref2127]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--debug`::
-`-d`::
-  Specifies whether the domain is started with
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture (JPDA)]
-  (https://docs.oracle.com/en/java/javase/11/docs/specs/jpda/conninv.html)
-  debugging enabled. With debugging enabled extra exceptions can be printed. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is started with JPDA debugging enabled and the port
-    number for JPDA debugging is displayed.
-  `false`;;
-    The instance is started with JPDA debugging disabled (default).
-`--suspend`::
-`-s`::
-  Specifies whether the domain is started with
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture (JPDA)]
-  (https://docs.oracle.com/en/java/javase/11/docs/specs/jpda/conninv.html)
-  debugging enabled and suspend the newly started VM before the main class loads. 
-  When a debugger connects, it can send a JDWP command to resume the suspended VM.
-  With debugging enabled extra exceptions can be printed.
-  Possible values are as follows: +
-  `true`;;
-    The instance is started with JPDA debugging enabled and a suspendPolicy of `SUSPEND_ALL`.
-    The port number for JPDA debugging is displayed.
-  `false`;;
-    The instance is started with JPDA debugging disabled (default).
-`--dry-run`::
-`-n`::
-  Suppresses actual starting of the domain. Instead, `start-domain`
-  displays the full java command that would be used to start the domain,
-  including all options. Reviewing this command can be useful to confirm
-  JVM options and when troubleshooting startup issues. +
-  The default value is `false`.
-`--domaindir`::
-  The domain root directory, which contains the directory of the domain
-  that is to be restarted. If specified, the path must be accessible in
-  the file system. The default location of the domain root directory is
-  as-install`/domains`.
-`--upgrade`::
-  Specifies whether the configuration of the domain administration
-  server (DAS) is upgraded to the current release. Normally, if the
-  subcommand detects that the configuration is from an older release of
-  \{product---name}, the configuration is upgraded automatically before
-  being started. You should not need to use this option explicitly. +
-  Possible values are as follows: +
-  `true`;;
-    When the domain is started, the configuration is modified to be
-    compatible with this release of \{product---name}, and the
-    \{product---name} process stops.
-  `false`;;
-    The configuration of the DAS is not updated (default).
-`--verbose`::
-`-v`::
-  Specifies whether detailed information about the domain is displayed
-  in the console window where the subcommand is run. +
-  Possible values are as follows: +
-  `true`;;
-    Detailed startup messages and log messages about the domain are
-    displayed in the console window where the subcommand is run. If the
-    domain is later restarted by running the
-    link:restart-domain.html#restart-domain-1[`restart-domain`(1)]
-    subcommand from a different console window, messages continue to be
-    displayed in the original console window. +
-    You can kill the \{product---name} process by typing `CTRL-C` in the
-    console window. +
-    You can kill the \{product---name} process and obtain a thread dump
-    for the server by typing one of the following key combinations in
-    the console window: +
-    * `CTRL-\` on UNIX systems
-    * `CTRL-Break` on Windows systems
-  `false`;;
-    Detailed information is not displayed (default).
-`--watchdog`::
-`-w`::
-  Specifies whether limited information about the domain is displayed in
-  the console window where the subcommand is run. The `--watchdog`
-  option is similar to `--verbose` but does not display the detailed
-  startup messages and log messages. This option is useful when running
-  the `asadmin` utility in the background or with no attached console. +
-  Possible values are as follows: +
-  `true`;;
-    Limited information is displayed in the console window.
-  `false`;;
-    Limited information is not displayed in the console window
-    (default).
-
-[[sthref2128]]
-
-Operands
-
-domain-name::
-  The unique name of the domain you want to start. +
-  This operand is optional if only one domain exists in the
-  \{product---name} installation.
-
-[[sthref2129]]
-
-Examples
-
-[[GSRFM760]][[sthref2130]]
-
-Example 1   Starting a Domain
-
-This example starts `mydomain4` in the default domains directory.
-
-[source,oac_no_warn]
-----
-asadmin> start-domain mydomain4
-Waiting for DAS to start. ...........
-Started domain: mydomain4 
-Domain location: /myhome/glassfishv3/glassfish/domains/mydomain4 
-Log file: /myhome/glassfishv3/glassfish/domains/mydomain4/logs/server.log 
-Admin port for the domain: 4848 
-Command start-domain executed successfully.
-----
-
-[[sthref2131]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2132]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-domain.html#create-domain-1[`create-domain`(1)],
-link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
-link:list-domains.html#list-domains-1[`list-domains`(1)],
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
-
-Java Platform Debugger Architecture (JPDA)
-(https://docs.oracle.com/en/java/javase/11/docs/specs/jpda/conninv.html)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/start-instance.adoc b/docs/reference-manual/src/main/jbake/content/start-instance.adoc
deleted file mode 100644
index 1a94d7d..0000000
--- a/docs/reference-manual/src/main/jbake/content/start-instance.adoc
+++ /dev/null
@@ -1,195 +0,0 @@
-type=page
-status=published
-title=start-instance
-next=start-local-instance.html
-prev=start-domain.html
-~~~~~~
-start-instance
-==============
-
-[[start-instance-1]][[GSRFM00236]][[start-instance]]
-
-start-instance
---------------
-
-starts a \{product---name} instance
-
-[[sthref2133]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] start-instance [--help] 
-[--debug={false|true}] [--sync={normal|full|none}] 
-instance-name
-----
-
-[[sthref2134]]
-
-Description
-
-The `start-instance` subcommand starts a \{product---name} instance.
-This subcommand requires the Distributed Component Object Model (DCOM)
-remote protocol or secure shell (SSH) to be configured on the machine
-where the domain administration server (DAS) is running and on the
-machine where the instance resides.
-
-
-[NOTE]
-=======================================================================
-
-DCOM or SSH is not required if the instance resides on a node of type
-`CONFIG` that represents the local host. A node of type `CONFIG` is not
-enabled for remote communication over DCOM or SSH.
-
-=======================================================================
-
-
-You may run this subcommand from any machine that can contact the DAS.
-
-The subcommand can start any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can start an
-instance that was created by using the
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-subcommand.
-
-This command is supported in remote mode only.
-
-[[sthref2135]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--debug`::
-  Specifies whether the instance is started with
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture (JPDA)]
-  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-  debugging enabled. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is started with JPDA debugging enabled and the port
-    number for JPDA debugging is displayed.
-  `false`;;
-    The instance is started with JPDA debugging disabled (default).
-`--sync`::
-  The type of synchronization between the DAS and the instance's files
-  when the instance is started. +
-  Possible values are as follows: +
-  `none`;;
-    The DAS does not synchronize the instance's files with any changes.
-    This type of synchronization minimizes the time that is required to
-    start the instance.
-  `normal`;;
-    The DAS synchronizes the instance with changes since the last
-    synchronization as follows: +
-    * For the `config` directory, the DAS synchronizes the instance with
-    all changes.
-    * For the `applications` directory and `docroot` directory, only a
-    change to a top-level subdirectory causes the DAS to synchronize all
-    files under that subdirectory. +
-    If a file below a top level subdirectory is changed without a change
-    to a file in the top level subdirectory, full synchronization is
-    required. In normal operation, files below the top level
-    subdirectories of these directories are not changed. If an
-    application is deployed and undeployed, full synchronization is not
-    necessary to update the instance with the change. +
-    This value is the default.
-  `full`;;
-    The DAS synchronizes the instance with all of the instance's files,
-    regardless of whether the files have changed since the last
-    synchronization. This type of synchronization might delay the
-    startup of the instance while the DAS updates all files in the
-    instance's directories.
-
-[[sthref2136]]
-
-Operands
-
-instance-name::
-  The name of the \{product---name} instance to start.
-
-[[sthref2137]]
-
-Examples
-
-[[GSRFM761]][[sthref2138]]
-
-Example 1   Starting a \{product---name} Instance
-
-This example starts the \{product---name} instance `pmdsa1`.
-
-[source,oac_no_warn]
-----
-asadmin> start-instance pmdsa1
-Waiting for the server to start ..............................
-Successfully started the instance: pmdsa1
-instance Location: /export/glassfish3/glassfish/nodes/localhost/pmdsa1
-Log File: /export/glassfish3/glassfish/nodes/localhost/pmdsa1/logs/server.log
-Admin Port: 24848
-Command start-local-instance executed successfully.
-The instance, pmdsa1, was started on host localhost
-
-Command start-instance executed successfully.
-----
-
-[[GSRFM762]][[sthref2139]]
-
-Example 2   Starting a \{product---name} Instance With JPDA Debugging
-Enabled
-
-This example starts the \{product---name} instance `ymlsa1` with JPDA
-debugging enabled.
-
-[source,oac_no_warn]
-----
-asadmin> start-instance --debug=true ymlsa1
-Waiting for the server to start ...............................
-Successfully started the instance: ymlsa1
-instance Location: /export/glassfish3/glassfish/nodes/localhost/ymlsa1
-Log File: /export/glassfish3/glassfish/nodes/localhost/ymlsa1/logs/server.log
-Admin Port: 24849
-Debugging is enabled. The debugging port is: 29010
-Command start-local-instance executed successfully.
-The instance, ymlsa1, was started on host localhost
-
-Command start-instance executed successfully.
-----
-
-[[sthref2140]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2141]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
-link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)]
-
-Java Platform Debugger Architecture (JPDA)
-(`http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html`)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/start-local-instance.adoc b/docs/reference-manual/src/main/jbake/content/start-local-instance.adoc
deleted file mode 100644
index d40b0fc..0000000
--- a/docs/reference-manual/src/main/jbake/content/start-local-instance.adoc
+++ /dev/null
@@ -1,234 +0,0 @@
-type=page
-status=published
-title=start-local-instance
-next=stop-cluster.html
-prev=start-instance.html
-~~~~~~
-start-local-instance
-====================
-
-[[start-local-instance-1]][[GSRFM00237]][[start-local-instance]]
-
-start-local-instance
---------------------
-
-starts a \{product---name} instance on the host where the subcommand is
-run
-
-[[sthref2142]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] start-local-instance [--help] 
-[--nodedir node-dir] [--node node]
-[--debug={false|true}] [--dry-run={true|false}]
-[--sync={normal|full|none}]
-[--verbose={false|true}] [--watchdog={true|false}] 
-[instance-name]
-----
-
-[[sthref2143]]
-
-Description
-
-The `start-local-instance` subcommand starts a \{product---name}
-instance on the host where the subcommand is run. This subcommand does
-not require the Distributed Component Object Model (DCOM) remote
-protocol or secure shell (SSH) to be configured. You must run this
-command from the host where the instance resides.
-
-The subcommand can start any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can start an
-instance that was created by using the
-link:create-instance.html#create-instance-1[`create-instance`(1)]
-subcommand.
-
-The `start-local-instance` subcommand does not contact the domain
-administration server (DAS) to determine the node on which the instance
-resides. To determine the node on which the instance resides, the
-subcommand searches the directory that contains the node directories. If
-multiple node directories exist, the node must be specified as an option
-of the subcommand.
-
-This subcommand is supported in local mode. However, to synchronize the
-instance with the DAS, this subcommand must be run in remote mode.
-
-[[sthref2144]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodedir`::
-  Specifies the directory that contains the instance's node directory.
-  The instance's files are stored in the instance's node directory. The
-  default is as-install`/nodes`.
-`--node`::
-  Specifies the node on which the instance resides. This option may be
-  omitted only if the directory that the `--nodedir` option specifies
-  contains only one node directory. Otherwise, this option is required.
-`--debug`::
-`-d`::
-  Specifies whether the instance is started with
-  http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
-  Platform Debugger Architecture (JPDA)]
-  (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-  debugging enabled. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is started with JPDA debugging enabled and the port
-    number for JPDA debugging is displayed.
-  `false`;;
-    The instance is started with JPDA debugging disabled (default).
-`--dry-run`::
-`-n`::
-  Suppresses actual starting of the instance. Instead,
-  `start-local-instance` displays the full command that would be used to
-  start the instance, including all options. Reviewing this command can
-  be useful when troubleshooting startup issues. +
-  The default value is `false`.
-`--sync`::
-  The type of synchronization between the DAS and the instance's files
-  when the instance is started. +
-  Possible values are as follows: +
-  `none`;;
-    The DAS does not synchronize the instance's files with any changes.
-    This type of synchronization minimizes the time that is required to
-    start the instance.
-  `normal`;;
-    The DAS synchronizes the instance with changes since the last
-    synchronization as follows: +
-    * For the `config` directory, the DAS synchronizes the instance with
-    all changes.
-    * For the `applications` directory and `docroot` directory, only a
-    change to a top-level subdirectory causes the DAS to synchronize all
-    files under that subdirectory. +
-    If a file below a top level subdirectory is changed without a change
-    to a file in the top level subdirectory, full synchronization is
-    required. In normal operation, files below the top level
-    subdirectories of these directories are not changed. If an
-    application is deployed and undeployed, full synchronization is not
-    necessary to update the instance with the change. +
-    This value is the default.
-  `full`;;
-    The DAS synchronizes the instance with all of the instance's files,
-    regardless of whether the files have changed since the last
-    synchronization. This type of synchronization might delay the
-    startup of the instance while the DAS updates all files in the
-    instance's directories. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Caution:
-
-If the DAS is not running or is unreachable from the host where you
-are running this subcommand, do not set the `--sync` option to
-`full`. To perform a full synchronization, the subcommand removes
-the instance's cache. If the DAS cannot be contacted to replace the
-cache, the subcommand fails and the instance cannot be restarted
-until it is resynchronized with the DAS.
-
-|=======================================================================
-
-`--verbose`::
-`-v`::
-  Specifies whether detailed information about the instance is displayed
-  in the console window where the subcommand is run. +
-  Possible values are as follows: +
-  `true`;;
-    Detailed startup messages and log messages about the instance are
-    displayed in the console window where the subcommand is run. If the
-    instance is later restarted by running the
-    link:restart-local-instance.html#restart-local-instance-1[`restart-local-instance`(1)]
-    subcommand from a different console window, messages continue to be
-    displayed in the original console window. +
-    You can kill the \{product---name} process by typing `CTRL-C` in the
-    console window. +
-    You can kill the \{product---name} process and obtain a thread dump
-    for the server by typing one of the following key combinations in
-    the console window: +
-    * `CTRL-\` on UNIX systems
-    * `CTRL-Break` on Windows systems
-  `false`;;
-    Detailed information is not displayed (default).
-`--watchdog`::
-`-w`::
-  Specifies whether limited information about the instance is displayed
-  in the console window where the subcommand is run. The `--watchdog`
-  option is similar to `--verbose` but does not display the detailed
-  startup messages and log messages. This option is useful when running
-  the `asadmin` utility in the background or with no attached console. +
-  Possible values are as follows: +
-  `true`;;
-    Limited information is displayed in the console window.
-  `false`;;
-    Limited information is not displayed in the console window
-    (default).
-
-[[sthref2145]]
-
-Operands
-
-instance-name::
-  The name of the instance to start.
-
-[[sthref2146]]
-
-Examples
-
-[[GSRFM763]][[sthref2147]]
-
-Example 1   Starting an Instance Locally
-
-This example starts the instance `yml-i-sj01` on the host where the
-subcommand is run.
-
-[source,oac_no_warn]
-----
-asadmin> start-local-instance --node sj01 yml-i-sj01
-Waiting for the server to start .................................
-Successfully started the instance: yml-i-sj01
-instance Location: /export/glassfish3/glassfish/nodes/sj01/yml-i-sj01
-Log File: /export/glassfish3/glassfish/nodes/sj01/yml-i-sj01/logs/server.log
-Admin Port: 24849
-Command start-local-instance executed successfully.
-----
-
-[[sthref2148]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2149]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:restart-instance.html#restart-instance-1[`restart-instance`(1)],
-link:restart-local-instance.html#restart-local-instance-1[`restart-local-instance`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-
-Java Platform Debugger Architecture (JPDA)
-(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/stop-cluster.adoc b/docs/reference-manual/src/main/jbake/content/stop-cluster.adoc
deleted file mode 100644
index d89d769..0000000
--- a/docs/reference-manual/src/main/jbake/content/stop-cluster.adoc
+++ /dev/null
@@ -1,127 +0,0 @@
-type=page
-status=published
-title=stop-cluster
-next=stop-database.html
-prev=start-local-instance.html
-~~~~~~
-stop-cluster
-============
-
-[[stop-cluster-1]][[GSRFM00238]][[stop-cluster]]
-
-stop-cluster
-------------
-
-stops a \{product---name} cluster
-
-[[sthref2150]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] stop-cluster [--help]
-[--verbose={false|true}] 
-[--kill={false|true}] 
-[--autohadboverride={true|false}] 
-cluster-name
-----
-
-[[sthref2151]]
-
-Description
-
-The `stop-cluster` subcommand stops a \{product---name} cluster by
-stopping all running \{product---name} instances in the cluster.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2152]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--verbose`::
-  Specifies whether additional progress messages about the status of
-  instances in the cluster are displayed while the cluster is being
-  stopped. +
-  Possible values are as follows: +
-  `true`;;
-    Additional progress messages about the status of instances in the
-    cluster are displayed.
-  `false`;;
-    No messages about the status of instances in the cluster are
-    displayed.
-`--kill`::
-  Specifies whether each instance in the cluster is killed by using
-  functionality of the operating system to terminate the instance
-  process. +
-  Possible values are as follows: +
-  `false`;;
-    No instances are killed. The subcommand uses functionality of the
-    Java platform to terminate each instance process (default).
-  `true`;;
-    Each instance is killed. The subcommand uses functionality of the
-    operating system to terminate each instance process.
-`--autohadboverride`::
-  Do not specify this option. This option is retained for compatibility
-  with earlier releases. If you specify this option, a syntax error does
-  not occur. Instead, the subcommand runs successfully and displays a
-  warning message that the option is ignored.
-
-[[sthref2153]]
-
-Operands
-
-cluster-name::
-  The name of the cluster to stop.
-
-[[sthref2154]]
-
-Examples
-
-[[GSRFM764]][[sthref2155]]
-
-Example 1   Stopping a Cluster
-
-This example stops the cluster `pmdcluster`. Additional progress
-messages about the status of instances in the cluster are displayed
-while the cluster is being stopped.
-
-[source,oac_no_warn]
-----
-asadmin> stop-cluster --verbose pmdcluster
-stop-instance pmd-i-sj01
-stop-instance pmd-i-sj02
-
-The command stop-instance executed successfully for: pmd-i-sj01 pmd-i-sj02
-
-Command stop-cluster executed successfully.
-----
-
-[[sthref2156]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2157]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
-link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
-link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
-link:start-cluster.html#start-cluster-1[`start-cluster`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/stop-database.adoc b/docs/reference-manual/src/main/jbake/content/stop-database.adoc
deleted file mode 100644
index 1915fb1..0000000
--- a/docs/reference-manual/src/main/jbake/content/stop-database.adoc
+++ /dev/null
@@ -1,111 +0,0 @@
-type=page
-status=published
-title=stop-database
-next=stop-domain.html
-prev=stop-cluster.html
-~~~~~~
-stop-database
-=============
-
-[[stop-database-1]][[GSRFM00239]][[stop-database]]
-
-stop-database
--------------
-
-stops the Java DB
-
-[[sthref2158]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] stop-database [--help] 
-[--dbuser db-user]
-[--dbhost host] [--dbport port-no]
-----
-
-[[sthref2159]]
-
-Description
-
-The `stop-database` subcommand stops a process of the Java DB server.
-Java DB server is available for use with \{product---name} and is based
-upon Apache Derby. The database is typically started with the
-link:start-database.html#start-database-1[`start-database`(1)]
-subcommand. A single host can have multiple database server processes
-running on different ports. The `stop-database` subcommand stops the
-database server process for the specified port only.
-
-This subcommand is supported in local mode only.
-
-[[sthref2160]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--dbuser`::
-  The user name of the Java DB user that is to stop the server process.
-  This option is required only when Java DB user authentication is
-  enabled. +
-  If this option is omitted, no user is specified. By default, Java DB
-  user authentication is disabled, so no user or password is required.
-`--dbhost`::
-  The host name or IP address of the Java DB server process. The default
-  is the IP address 0.0.0.0, which denotes all network interfaces on the
-  host where you run the `stop-database` subcommand.
-`--dbport`::
-  The port number where the Java DB server listens for client
-  connections. The default is 1527.
-
-[[sthref2161]]
-
-Examples
-
-[[GSRFM765]][[sthref2162]]
-
-Example 1   Stopping Java DB
-
-This example stops Java DB on host host1 and port 5001.
-
-[source,oac_no_warn]
-----
-asadmin> stop-database --dbhost host1 --dbport 5001
-Connection obtained for host: host1, port number 5001.
-Shutdown successful.
-Command stop-database executed successfully.
-----
-
-[[sthref2163]]
-
-Exit Status
-
-The exit status applies to errors in executing the `asadmin` utility.
-For information on database errors, see the `derby.log` file. This file
-is located in the directory you specify by using the `--dbhome` option
-when you run the `start-database` subcommand. If you did not specify
-`--dbhome`, the value of `DERBY_INSTALL` defaults to
-as-install`/javadb`.
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2164]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:start-database.html#start-database-1[`start-database`(1)]
-
-"link:../administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in GlassFish
-Server Open Source Edition Administration Guide
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/stop-domain.adoc b/docs/reference-manual/src/main/jbake/content/stop-domain.adoc
deleted file mode 100644
index 6e15e4a..0000000
--- a/docs/reference-manual/src/main/jbake/content/stop-domain.adoc
+++ /dev/null
@@ -1,126 +0,0 @@
-type=page
-status=published
-title=stop-domain
-next=stop-instance.html
-prev=stop-database.html
-~~~~~~
-stop-domain
-===========
-
-[[stop-domain-1]][[GSRFM00240]][[stop-domain]]
-
-stop-domain
------------
-
-stops the Domain Administration Server of the specified domain
-
-[[sthref2165]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] stop-domain [--help] 
-[--domaindir domaindir] 
-[--force={true|false}] [--kill={false|true}] 
-[domain-name]
-----
-
-[[sthref2166]]
-
-Description
-
-The `stop-domain` subcommand stops the Domain Administration Server
-(DAS) of the specified domain. If the domain directory is not specified,
-the domain in the default domains directory is stopped. If there are two
-or more domains in the domains directory, the domain-name operand must
-be specified.
-
-This subcommand is supported in local or remote mode. If you specify a
-host name, the subcommand assumes you are operating in remote mode,
-which means you must correctly authenticate to the remote server. In
-local mode, you normally do not need to authenticate to the server as
-long as you are running the subcommand as the same user who started the
-server.
-
-[[sthref2167]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--domaindir`::
-  Specifies the directory of the domain that is to be stopped. If
-  specified, the path must be accessible in the file system. If not
-  specified, the domain in the default as-install`/domains` directory is
-  stopped.
-`--force`::
-  Specifies whether the domain is forcibly stopped immediately. +
-  Possible values are as follows: +
-  `true`;;
-    The domain is forcibly stopped immediately (default).
-  `false`;;
-    The subcommand waits until all threads that are associated with the
-    domain are exited before stopping the domain.
-`--kill`::
-  Specifies whether the domain is killed by using functionality of the
-  operating system to terminate the domain process. +
-  Possible values are as follows: +
-  `false`;;
-    The domain is not killed. The subcommand uses functionality of the
-    Java platform to terminate the domain process (default).
-  `true`;;
-    The domain is killed. The subcommand uses functionality of the
-    operating system to terminate the domain process.
-
-[[sthref2168]]
-
-Operands
-
-domain-name::
-  The name of the domain you want to stop. Default is the name specified
-  during installation, usually `domain1`.
-
-[[sthref2169]]
-
-Examples
-
-[[GSRFM766]][[sthref2170]]
-
-Example 1   Stopping a Domain
-
-This example stops the domain named `sampleDomain` in the default
-domains directory.
-
-[source,oac_no_warn]
-----
-asadmin> stop-domain sampleDomain
-Waiting for the domain to stop .................
-Command stop-domain executed successfully.
-----
-
-[[sthref2171]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2172]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:delete-domain.html#delete-domain-1[`delete-domain`(1)],
-link:list-domains.html#list-domains-1[`list-domains`(1)],
-link:restart-domain.html#restart-domain-1[`restart-domain`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/stop-instance.adoc b/docs/reference-manual/src/main/jbake/content/stop-instance.adoc
deleted file mode 100644
index 6b08a86..0000000
--- a/docs/reference-manual/src/main/jbake/content/stop-instance.adoc
+++ /dev/null
@@ -1,122 +0,0 @@
-type=page
-status=published
-title=stop-instance
-next=stop-local-instance.html
-prev=stop-domain.html
-~~~~~~
-stop-instance
-=============
-
-[[stop-instance-1]][[GSRFM00241]][[stop-instance]]
-
-stop-instance
--------------
-
-stops a running \{product---name} instance
-
-[[sthref2173]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] stop-instance [--help] 
-[--force={false|true}] [--kill={false|true}]
-instance-name
-----
-
-[[sthref2174]]
-
-Description
-
-The `stop-instance` subcommand stops a running \{product---name}
-instance.
-
-The subcommand can stop any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can stop an
-instance that was created by using the
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
-subcommand.
-
-This command is supported in remote mode only.
-
-[[sthref2175]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--force`::
-  Specifies whether the instance is forcibly stopped immediately. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is forcibly stopped immediately (default).
-  `false`;;
-    The subcommand waits until all threads that are associated with the
-    instance are exited before stopping the instance.
-`--kill`::
-  Specifies whether the instance is killed by using functionality of the
-  operating system to terminate the instance process. +
-  Possible values are as follows: +
-  `false`;;
-    The instance is not killed. The subcommand uses functionality of the
-    Java platform to terminate the instance process (default).
-  `true`;;
-    The instance is killed. The subcommand uses functionality of the
-    operating system to terminate the instance process.
-
-[[sthref2176]]
-
-Operands
-
-instance-name::
-  This is the name of the \{product---name} instance to stop.
-
-[[sthref2177]]
-
-Examples
-
-This example stops the \{product---name} instance `yml-i-sj01`.
-
-[[GSRFM767]][[sthref2178]]
-
-Example 1   Stopping a \{product---name} Instance
-
-[source,oac_no_warn]
-----
-asadmin> stop-instance yml-i-sj01
-The instance, yml-i-sj01, was stopped.
-
-Command stop-instance executed successfully.
-----
-
-[[sthref2179]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2180]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)],
-link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/stop-local-instance.adoc b/docs/reference-manual/src/main/jbake/content/stop-local-instance.adoc
deleted file mode 100644
index 6f53688..0000000
--- a/docs/reference-manual/src/main/jbake/content/stop-local-instance.adoc
+++ /dev/null
@@ -1,138 +0,0 @@
-type=page
-status=published
-title=stop-local-instance
-next=undeploy.html
-prev=stop-instance.html
-~~~~~~
-stop-local-instance
-===================
-
-[[stop-local-instance-1]][[GSRFM00242]][[stop-local-instance]]
-
-stop-local-instance
--------------------
-
-stops a \{product---name} instance on the machine where the subcommand
-is run
-
-[[sthref2181]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] stop-local-instance [--help]
-[--nodedir node-dir] [--node node]
-[--force={true|false}] [--kill={false|true}]
-[instance-name]
-----
-
-[[sthref2182]]
-
-Description
-
-The `stop-local-instance` subcommand stops a \{product---name} instance
-on the machine where the subcommand is run. This subcommand does not
-require secure shell (SSH) to be configured. You must run this command
-from the machine where the instance resides.
-
-The subcommand can stop any \{product---name} instance, regardless of
-how the instance was created. For example, this subcommand can stop an
-instance that was created by using the
-link:create-instance.html#create-instance-1[`create-instance`(1)]
-subcommand.
-
-The `stop-local-instance` subcommand does not contact the DAS to
-determine the node on which the instance resides. To determine the node
-on which the instance resides, the subcommand searches the directory
-that contains the node directories. If multiple node directories exist,
-the node must be specified as an option of the subcommand.
-
-This subcommand is supported in local mode.
-
-[[sthref2183]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodedir`::
-  Specifies the directory that contains the instance's node directory.
-  The instance's files are stored in the instance's node directory. The
-  default is as-install`/nodes`.
-`--node`::
-  Specifies the node on which the instance resides. This option may be
-  omitted only if the directory that the `--nodedir` option specifies
-  contains only one node directory. Otherwise, this option is required.
-`--force`::
-  Specifies whether the instance is forcibly stopped immediately. +
-  Possible values are as follows: +
-  `true`;;
-    The instance is forcibly stopped immediately (default).
-  `false`;;
-    The subcommand waits until all threads that are associated with the
-    instance are exited before stopping the instance.
-`--kill`::
-  Specifies whether the instance is killed by using functionality of the
-  operating system to terminate the instance process. +
-  Possible values are as follows: +
-  `false`;;
-    The instance is not killed. The subcommand uses functionality of the
-    Java platform to terminate the instance process (default).
-  `true`;;
-    The instance is killed. The subcommand uses functionality of the
-    operating system to terminate the instance process.
-
-[[sthref2184]]
-
-Operands
-
-instance-name::
-  The name of the instance to stop.
-
-[[sthref2185]]
-
-Examples
-
-[[GSRFM768]][[sthref2186]]
-
-Example 1   Stopping an Instance Locally
-
-This example stops the instance `yml-i-sj01` on the machine where the
-subcommand is run.
-
-[source,oac_no_warn]
-----
-asadmin> stop-local-instance --node sj01 yml-i-sj01
-Waiting for the instance to stop ...
-Command stop-local-instance executed successfully.
-----
-
-[[sthref2187]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2188]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-instance.html#create-instance-1[`create-instance`(1)],
-link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
-link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
-link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
-link:start-instance.html#start-instance-1[`start-instance`(1)],
-link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
-link:stop-instance.html#stop-instance-1[`stop-instance`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/title.adoc b/docs/reference-manual/src/main/jbake/content/title.adoc
deleted file mode 100644
index 6370f77..0000000
--- a/docs/reference-manual/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,55 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Reference Manual, Release 5.1
-next=preface.html
-prev=toc.html
-~~~~~~
-Eclipse GlassFish Server Reference Manual, Release 5.1
-======================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Reference Manual
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This reference manual describes administration commands and utility
-commands that are available with Eclipse GlassFish Server
-5.1. This reference manual also describes concepts that are related to
-\{product---name} administration.
-
-The available options, arguments, and operands for each command are
-provided in accordance with standard rules of command syntax, along with
-availability attributes, diagnostic information, and cross-references to
-other manual pages and reference material with relevant information.
-
-This reference manual is for all users of GlassFish Server Open Source
-Edition.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Reference Manual, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/reference-manual/src/main/jbake/content/undeploy.adoc b/docs/reference-manual/src/main/jbake/content/undeploy.adoc
deleted file mode 100644
index b844bdc..0000000
--- a/docs/reference-manual/src/main/jbake/content/undeploy.adoc
+++ /dev/null
@@ -1,158 +0,0 @@
-type=page
-status=published
-title=undeploy
-next=unfreeze-transaction-service.html
-prev=stop-local-instance.html
-~~~~~~
-undeploy
-========
-
-[[undeploy-1]][[GSRFM00244]][[undeploy]]
-
-undeploy
---------
-
-removes a deployed component
-
-[[sthref2189]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] undeploy [--help] 
-[--target target] [--droptables={true|false}] 
-[--cascade={false|true}] name
-----
-
-[[sthref2190]]
-
-Description
-
-The `undeploy` subcommand uninstalls a deployed application or module
-and removes it from the repository.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2191]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--cascade`::
-  If set to `true`, deletes all the connection pools and connector
-  resources associated with the resource adapter being undeployed. If
-  set to `false`, the undeploy fails if any pools and resources are
-  still associated with the resource adapter. Then, either those pools
-  and resources must be deleted explicitly, or the option must be set to
-  `true`. If the option is set to `false`, and if there are no pools and
-  resources still associated with the resource adapter, the resource
-  adapter is undeployed. This option is applicable to connectors
-  (resource adapters) and applications. Default value is false.
-`--droptables`::
-  If set to true, drops the tables that the application created by using
-  CMP beans during deployment. If set to false, tables are not dropped.
-  If not specified, the value of the `drop-tables-at-deploy` entry in
-  the `cmp-resource` element of the `glassfish-ejb-jar.xml` file
-  determines whether or not tables are dropped. Default value is true.
-`--target`::
-  Specifies the target from which you are undeploying. Valid values are: +
-  `server`;;
-    Undeploys the component from the default server instance `server`
-    and is the default value.
-  `domain`;;
-    Undeploys the component from the domain.
-  cluster_name;;
-    Undeploys the component from every server instance in the cluster.
-  instance_name;;
-    Undeploys the component from a particular stand-alone server
-    instance.
-
-[[sthref2192]]
-
-Operands
-
-name::
-  Name of the deployed component. +
-  The name can include an optional version identifier, which follows the
-  name and is separated from the name by a colon (`:`). The version
-  identifier must begin with a letter or number. It can contain
-  alphanumeric characters plus underscore (`_`), dash (`-`), and period
-  (`.`) characters. To delete multiple versions, you can use an asterisk
-  (`*`) as a wildcard character. For more information about module and
-  application versions, see "link:../application-deployment-guide/overview.html#GSDPG00324[Module and Application
-  Versions]" in GlassFish Server Open Source Edition Application
-  Deployment Guide.
-
-[[sthref2193]]
-
-Examples
-
-[[GSRFM769]][[sthref2194]]
-
-Example 1   Undeploying an Enterprise Application
-
-This example undeploys an enterprise application named `Cart.ear`.
-
-[source,oac_no_warn]
-----
-asadmin> undeploy Cart
-Command undeploy executed successfully.
-----
-
-[[GSRFM770]][[sthref2195]]
-
-Example 2   Undeploying an Enterprise Bean With Container-Managed
-Persistence (CMP)
-
-This example undeploys a CMP bean named `myejb` and drops the
-corresponding database tables.
-
-[source,oac_no_warn]
-----
-asadmin> undeploy --droptables=true myejb
-Command undeploy executed successfully.
-----
-
-[[GSRFM771]][[sthref2196]]
-
-Example 3   Undeploying a Connector (Resource Adapter)
-
-This example undeploys the connector module named `jdbcra` and performs
-a cascading delete to remove the associated resources and connection
-pools.
-
-[source,oac_no_warn]
-----
-asadmin> undeploy --cascade=true jdbcra
-Command undeploy executed successfully.
-----
-
-[[sthref2197]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2198]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:deploy.html#deploy-1[`deploy`(1)],
-link:list-components.html#list-components-1[`list-components`(1)],
-link:redeploy.html#redeploy-1[`redeploy`(1)]
-
-link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source Edition Application Deployment
-Guide]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/unfreeze-transaction-service.adoc b/docs/reference-manual/src/main/jbake/content/unfreeze-transaction-service.adoc
deleted file mode 100644
index 08caa06..0000000
--- a/docs/reference-manual/src/main/jbake/content/unfreeze-transaction-service.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-type=page
-status=published
-title=unfreeze-transaction-service
-next=uninstall-node.html
-prev=undeploy.html
-~~~~~~
-unfreeze-transaction-service
-============================
-
-[[unfreeze-transaction-service-1]][[GSRFM00245]][[unfreeze-transaction-service]]
-
-unfreeze-transaction-service
-----------------------------
-
-resumes all suspended transactions
-
-[[sthref2199]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] unfreeze-transaction-service [--help] 
-[--target target]
-----
-
-[[sthref2200]]
-
-Description
-
-The `unfreeze-transaction-service` subcommand restarts the transaction
-subsystem and resumes all in-flight transactions. Invoke this subcommand
-on an already frozen transaction subsystem. This subcommand is supported
-in remote mode only.
-
-[[sthref2201]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--target`::
-  This option specifies the target on which you are unfreezing the
-  transaction service. Valid values are: +
-  `server`;;
-    Unfreezes the transaction service for the default server instance
-    `server` and is the default value.
-  configuration_name;;
-    Unfreezes the transaction service for all server instances that use
-    the named configuration.
-  cluster_name;;
-    Unfreezes the transaction service for every server instance in the
-    cluster.
-  instance_name;;
-    Unfreezes the transaction service for a particular server instance.
-
-[[sthref2202]]
-
-Examples
-
-[[GSRFM772]][[sthref2203]]
-
-Example 1   Using unfreeze-transaction-service
-
-[source,oac_no_warn]
-----
-% asadmin unfreeze-transaction-service
-Command unfreeze-transaction-service executed successfully
-----
-
-[[sthref2204]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2205]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:freeze-transaction-service.html#freeze-transaction-service-1[`freeze-transaction-service`(1)],
-link:recover-transactions.html#recover-transactions-1[`recover-transactions`(1)],
-link:rollback-transaction.html#rollback-transaction-1[`rollback-transaction`(1)]
-
-"link:../administration-guide/transactions.html#GSADG00022[Administering Transactions]" in GlassFish Server Open
-Source Edition Administration Guide
-
-"http://docs.oracle.com/javaee/7/tutorial/doc/transactions.html[Transactions]"
-in The Java EE 8 Tutorial
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/uninstall-node-dcom.adoc b/docs/reference-manual/src/main/jbake/content/uninstall-node-dcom.adoc
deleted file mode 100644
index 88b49aa..0000000
--- a/docs/reference-manual/src/main/jbake/content/uninstall-node-dcom.adoc
+++ /dev/null
@@ -1,184 +0,0 @@
-type=page
-status=published
-title=uninstall-node-dcom
-next=uninstall-node-ssh.html
-prev=uninstall-node.html
-~~~~~~
-uninstall-node-dcom
-===================
-
-[[uninstall-node-dcom-1]][[GSRFM775]][[uninstall-node-dcom]]
-
-uninstall-node-dcom
--------------------
-
-uninstalls \{product---name} software from specified DCOM-enabled hosts
-
-[[sthref2215]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] uninstall-node-dcom [--help]
-[--installdir as-install-parent]
-[--windowsuser windows-user] [--windowsdomain windows-domain]
-[--force={false|true}]
-host-list
-----
-
-[[sthref2216]]
-
-Description
-
-The `uninstall-node-dcom` subcommand uninstalls \{product---name}
-software from the hosts that are specified as the operand of the
-subcommand. This subcommand requires the Distributed Component Object
-Model (DCOM) remote protocol to be configured on the host where the
-subcommand is run and on each host where the \{product---name} software
-is being uninstalled.
-
-
-[NOTE]
-=======================================================================
-
-To uninstall \{product---name} software on hosts that use secure shell
-(SSH), use the
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
-subcommand.
-
-=======================================================================
-
-
-By default, if any node except the predefined node `localhost-`domain
-resides on any host from which \{product---name} software is being
-uninstalled, the subcommand fails. To uninstall the \{product---name}
-software from a host on which user-defined nodes reside, set the
-`--force` option to `true`. If the `--force` option is `true`, the
-subcommand removes the entire content of the parent of the base
-installation directory.
-
-If a file under the parent of the base installation directory is open,
-the subcommand fails.
-
-If multiple hosts are specified, the configuration of the following
-items must be the same on all hosts:
-
-* Parent of the base installation directory for the \{product---name}
-software
-* Windows user
-* Windows domain
-
-The subcommand does not modify the configuration of the domain
-administration server (DAS).
-
-This subcommand is supported in local mode only.
-
-[[sthref2217]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--installdir`::
-  The absolute path to the parent of the base installation directory
-  where the \{product---name} software is installed on each host, for
-  example, `C:\glassfish3`. +
-  The user that is running this subcommand must have write access to the
-  specified directory. Otherwise, an error occurs. +
-  The specified directory must contain the installation of the
-  \{product---name} software on the host. Otherwise, an error occurs. +
-  The default is the parent of the base installation directory of the
-  \{product---name} software on the host where this subcommand is run.
-`--windowsuser`::
-`-w`::
-  The user on this node's host that is to run the process for connecting
-  to the host through DCOM. The default is the user that is running the
-  DAS process.
-`--windowsdomain`::
-`-d`::
-  The name of the Windows domain that contains the user that the
-  `--windowsuser` option specifies. The default is the name of the host
-  on which the subcommand is run.
-`--force`::
-  Specifies whether the subcommand uninstalls the \{product---name}
-  software from a host even if a user-defined node resides on the host.
-  Possible values are as follows: +
-  `false`;;
-    If a user-defined node resides on a host, the software is not
-    uninstalled and the subcommand fails (default). +
-    If the `--force` option is `false`, the subcommand removes only the
-    \{product---name} software files. Other content if the parent of the
-    base installation directory, such as configuration files, are not
-    removed.
-  `true`;;
-    The subcommand uninstalls the \{product---name} software from the
-    host even if a user-defined node resides on the host. +
-    If the `--force` option is `true`, the subcommand removes the entire
-    content of the parent of the base installation directory.
-
-[[sthref2218]]
-
-Operands
-
-host-list::
-  A space-separated list of the names of the hosts from which the
-  \{product---name} software is to be uninstalled.
-
-[[sthref2219]]
-
-Examples
-
-[[GSRFM776]][[sthref2220]]
-
-Example 1   Uninstalling \{product---name} Software From the Default
-Location
-
-This example uninstalls \{product---name} software on the hosts
-`wpmdl1.example.com` and `wpmdl2.example.com` from the default location.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-dcom wpmdl1 wpmdl2
-Command uninstall-node-dcom executed successfully.
-----
-
-[[GSRFM777]][[sthref2221]]
-
-Example 2   Forcibly Uninstalling \{product---name} Software
-
-This example uninstalls \{product---name} software on the host
-`xkyd.example.com`.
-
-The software is uninstalled even if a user-defined node resides on the
-host. The entire content of the `C:\glassfish3` directory is removed.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-dcom --force --installdir C:\glassfish3 xkyd.example.com
-Command uninstall-node-dcom executed successfully.
-----
-
-[[sthref2222]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2223]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/uninstall-node-ssh.adoc b/docs/reference-manual/src/main/jbake/content/uninstall-node-ssh.adoc
deleted file mode 100644
index 0b65e90..0000000
--- a/docs/reference-manual/src/main/jbake/content/uninstall-node-ssh.adoc
+++ /dev/null
@@ -1,215 +0,0 @@
-type=page
-status=published
-title=uninstall-node-ssh
-next=unset.html
-prev=uninstall-node-dcom.html
-~~~~~~
-uninstall-node-ssh
-==================
-
-[[uninstall-node-ssh-1]][[GSRFM778]][[uninstall-node-ssh]]
-
-uninstall-node-ssh
-------------------
-
-uninstalls \{product---name} software from specified SSH-enabled hosts
-
-[[sthref2224]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] uninstall-node-ssh [--help]
-[--installdir as-install-parent]
-[--sshport ssh-port] [--sshuser ssh-user]
-[--sshkeyfile ssh-keyfile]
-[--force={false|true}]
-host-list
-----
-
-[[sthref2225]]
-
-Description
-
-The `uninstall-node-ssh` subcommand uninstalls \{product---name}
-software from the hosts that are specified as the operand of the
-subcommand. This subcommand requires secure shell (SSH) to be configured
-on the host where the subcommand is run and on each host where the
-\{product---name} software is being uninstalled.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is equivalent to the
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)]
-subcommand. To uninstall \{product---name} software from hosts that use
-the Distributed Component Object Model (DCOM) remote protocol, use the
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
-subcommand.
-
-=======================================================================
-
-
-By default, if any node except the predefined node `localhost-`domain
-resides on any host from which \{product---name} software is being
-uninstalled, the subcommand fails. To uninstall the \{product---name}
-software from a host on which user-defined nodes reside, set the
-`--force` option to `true`. If the `--force` option is `true`, the
-subcommand removes the entire content of the parent of the base
-installation directory.
-
-If a file under the parent of the base installation directory is open,
-the subcommand fails.
-
-If multiple hosts are specified, the configuration of the following
-items must be the same on all hosts:
-
-* Parent of the base installation directory for the \{product---name}
-software
-* SSH port
-* SSH user
-* SSH key file
-
-The subcommand does not modify the configuration of the domain
-administration server (DAS).
-
-This subcommand is supported in local mode only.
-
-[[sthref2226]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--installdir`::
-  The absolute path to the parent of the base installation directory
-  where the \{product---name} software is installed on each host, for
-  example, `/export/glassfish3/`. +
-  The user that is running this subcommand must have write access to the
-  specified directory. Otherwise, an error occurs. +
-  The specified directory must contain the installation of the
-  \{product---name} software on the host. Otherwise, an error occurs. +
-  The default is the parent of the base installation directory of the
-  \{product---name} software on the host where this subcommand is run.
-`--sshport`::
-  The port to use for SSH connections to the host where the
-  \{product---name} software is to be uninstalled. The default is 22.
-`--sshuser`::
-  The user on the host where the \{product---name} software is to be
-  uninstalled that is to run the process for connecting through SSH to
-  the host. The default is the user that is running this subcommand. To
-  ensure that the DAS can read this user's SSH private key file, specify
-  the user that is running the DAS process.
-`--sshkeyfile`::
-  The absolute path to the SSH private key file for user that the
-  `--sshuser` option specifies. This file is used for authentication to
-  the `sshd` daemon on the host. +
-  The user that is running this subcommand must be able to reach the
-  path to the key file and read the key file. +
-  The default is a key file in the user's `.ssh` directory. If multiple
-  key files are found, the subcommand uses the following order of
-  preference: +
-  1.  `id_rsa`
-  2.  `id_dsa`
-  3.  `identity`
-`--force`::
-  Specifies whether the subcommand uninstalls the \{product---name}
-  software from a host even if a user-defined node resides on the host.
-  Possible values are as follows: +
-  `false`;;
-    If a user-defined node resides on a host, the software is not
-    uninstalled and the subcommand fails (default). +
-    If the `--force` option is `false`, the subcommand removes only the
-    \{product---name} software files. Other content if the parent of the
-    base installation directory, such as configuration files, are not
-    removed.
-  `true`;;
-    The subcommand uninstalls the \{product---name} software from the
-    host even if a user-defined node resides on the host. +
-    If the `--force` option is `true`, the subcommand removes the entire
-    content of the parent of the base installation directory.
-
-[[sthref2227]]
-
-Operands
-
-host-list::
-  A space-separated list of the names of the hosts from which the
-  \{product---name} software is to be uninstalled.
-
-[[sthref2228]]
-
-Examples
-
-[[GSRFM779]][[sthref2229]]
-
-Example 1   Uninstalling \{product---name} Software From the Default
-Location
-
-This example uninstalls \{product---name} software on the hosts
-`sj03.example.com` and `sj04.example.com` from the default location.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-ssh sj03 sj04
-Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Command uninstall-node-ssh executed successfully.
-----
-
-[[GSRFM780]][[sthref2230]]
-
-Example 2   Forcibly Uninstalling \{product---name} Software
-
-This example uninstalls \{product---name} software on the host
-`sj02.example.com`.
-
-The software is uninstalled even if a user-defined node resides on the
-host. The entire content of the `/export/glassfish3` directory is
-removed.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node-ssh --force --installdir /export/glassfish3 sj02.example.com
-Successfully connected to gfuser@sj02.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Force removing file /export/glassfish3/mq/lib/help/en/add_overrides.htm
-Force removing file /export/glassfish3/mq/lib/help/en/add_connfact.htm
-...
-Force removing directory /export/glassfish3/glassfish/lib/appclient
-Force removing directory /export/glassfish3/glassfish/lib
-Force removing directory /export/glassfish3/glassfish
-Command uninstall-node-ssh executed successfully.
-----
-
-[[sthref2231]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2232]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/uninstall-node.adoc b/docs/reference-manual/src/main/jbake/content/uninstall-node.adoc
deleted file mode 100644
index 37e3fc5..0000000
--- a/docs/reference-manual/src/main/jbake/content/uninstall-node.adoc
+++ /dev/null
@@ -1,216 +0,0 @@
-type=page
-status=published
-title=uninstall-node
-next=uninstall-node-dcom.html
-prev=unfreeze-transaction-service.html
-~~~~~~
-uninstall-node
-==============
-
-[[uninstall-node-1]][[GSRFM00246]][[uninstall-node]]
-
-uninstall-node
---------------
-
-uninstalls \{product---name} software from specified hosts
-
-[[sthref2206]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] uninstall-node [--help]
-[--installdir as-install-parent]
-[--sshport ssh-port] [--sshuser ssh-user]
-[--sshkeyfile ssh-keyfile]
-[--force={false|true}]
-host-list
-----
-
-[[sthref2207]]
-
-Description
-
-The `uninstall-node` subcommand uninstalls \{product---name} software
-from the hosts that are specified as the operand of the subcommand. This
-subcommand requires secure shell (SSH) to be configured on the host
-where the subcommand is run and on each host where the \{product---name}
-software is being uninstalled.
-
-
-[NOTE]
-=======================================================================
-
-This subcommand is equivalent to the
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
-subcommand. To uninstall \{product---name} software on hosts that use
-the Distributed Component Object Model (DCOM) remote protocol, use the
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)]
-subcommand.
-
-=======================================================================
-
-
-By default, if any node except the predefined node `localhost-`domain
-resides on any host from which \{product---name} software is being
-uninstalled, the subcommand fails. To uninstall the \{product---name}
-software from a host on which user-defined nodes reside, set the
-`--force` option to `true`. If the `--force` option is `true`, the
-subcommand removes the entire content of the parent of the base
-installation directory.
-
-If a file under the parent of the base installation directory is open,
-the subcommand fails.
-
-If multiple hosts are specified, the configuration of the following
-items must be the same on all hosts:
-
-* Parent of the base installation directory for the \{product---name}
-software
-* SSH port
-* SSH user
-* SSH key file
-
-The subcommand does not modify the configuration of the domain
-administration server (DAS).
-
-This subcommand is supported in local mode only.
-
-[[sthref2208]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--installdir`::
-  The absolute path to the parent of the base installation directory
-  where the \{product---name} software is installed on each host, for
-  example, `/export/glassfish3/`. +
-  The user that is running this subcommand must have write access to the
-  specified directory. Otherwise, an error occurs. +
-  The specified directory must contain the installation of the
-  \{product---name} software on the host. Otherwise, an error occurs. +
-  The default is the parent of the base installation directory of the
-  \{product---name} software on the host where this subcommand is run.
-`--sshport`::
-  The port to use for SSH connections to the host where the
-  \{product---name} software is to be uninstalled. The default is 22.
-`--sshuser`::
-  The user on the host where the \{product---name} software is to be
-  uninstalled that is to run the process for connecting through SSH to
-  the host. The default is the user that is running this subcommand. To
-  ensure that the DAS can read this user's SSH private key file, specify
-  the user that is running the DAS process.
-`--sshkeyfile`::
-  The absolute path to the SSH private key file for user that the
-  `--sshuser` option specifies. This file is used for authentication to
-  the `sshd` daemon on the host. +
-  The user that is running this subcommand must be able to reach the
-  path to the key file and read the key file. +
-  The default is a key file in the user's `.ssh` directory. If multiple
-  key files are found, the subcommand uses the following order of
-  preference: +
-  1.  `id_rsa`
-  2.  `id_dsa`
-  3.  `identity`
-`--force`::
-  Specifies whether the subcommand uninstalls the \{product---name}
-  software from a host even if a user-defined node resides on the host.
-  Possible values are as follows: +
-  `false`;;
-    If a user-defined node resides on a host, the software is not
-    uninstalled and the subcommand fails (default). +
-    If the `--force` option is `false`, the subcommand removes only the
-    \{product---name} software files. Other content if the parent of the
-    base installation directory, such as configuration files, are not
-    removed.
-  `true`;;
-    The subcommand uninstalls the \{product---name} software from the
-    host even if a user-defined node resides on the host. +
-    If the `--force` option is `true`, the subcommand removes the entire
-    content of the parent of the base installation directory.
-
-[[sthref2209]]
-
-Operands
-
-host-list::
-  A space-separated list of the names of the hosts from which the
-  \{product---name} software is to be uninstalled.
-
-[[sthref2210]]
-
-Examples
-
-[[GSRFM773]][[sthref2211]]
-
-Example 1   Uninstalling \{product---name} Software From the Default
-Location
-
-This example uninstalls \{product---name} software on the hosts
-`sj03.example.com` and `sj04.example.com` from the default location.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node sj03 sj04
-Successfully connected to gfuser@sj03.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Successfully connected to gfuser@sj04.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Command uninstall-node executed successfully.
-----
-
-[[GSRFM774]][[sthref2212]]
-
-Example 2   Forcibly Uninstalling \{product---name} Software
-
-This example uninstalls \{product---name} software on the host
-`sj02.example.com`.
-
-The software is uninstalled even if a user-defined node resides on the
-host. The entire content of the `/export/glassfish3` directory is
-removed.
-
-Some lines of output are omitted from this example for readability.
-
-[source,oac_no_warn]
-----
-asadmin> uninstall-node --force --installdir /export/glassfish3 sj02.example.com
-Successfully connected to gfuser@sj02.example.com using keyfile /home/gfuser
-/.ssh/id_rsa
-Force removing file /export/glassfish3/mq/lib/help/en/add_overrides.htm
-Force removing file /export/glassfish3/mq/lib/help/en/add_connfact.htm
-...
-Force removing directory /export/glassfish3/glassfish/lib/appclient
-Force removing directory /export/glassfish3/glassfish/lib
-Force removing directory /export/glassfish3/glassfish
-Command uninstall-node executed successfully.
-----
-
-[[sthref2213]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2214]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/unset-web-context-param.adoc b/docs/reference-manual/src/main/jbake/content/unset-web-context-param.adoc
deleted file mode 100644
index 3f2c669..0000000
--- a/docs/reference-manual/src/main/jbake/content/unset-web-context-param.adoc
+++ /dev/null
@@ -1,154 +0,0 @@
-type=page
-status=published
-title=unset-web-context-param
-next=unset-web-env-entry.html
-prev=unset.html
-~~~~~~
-unset-web-context-param
-=======================
-
-[[unset-web-context-param-1]][[GSRFM00248]][[unset-web-context-param]]
-
-unset-web-context-param
------------------------
-
-unsets a servlet context-initialization parameter of a deployed web
-application or module
-
-[[sthref2242]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] unset-web-context-param [--help] 
---name=context-param-name application-name[/module]
-----
-
-[[sthref2243]]
-
-Description
-
-The `unset-web-context-param` subcommand unsets a servlet
-context-initialization parameter of one of the following items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-When a parameter is unset, its value reverts to the value, if any, that
-is set in the application's deployment descriptor.
-
-The application must already be deployed. Otherwise, an error occurs.
-
-The parameter must have previously been set by using the
-`set-web-context-param` subcommand. Otherwise, an error occurs.
-
-
-[NOTE]
-=======================================================================
-
-Do not use the `unset-web-context-param` subcommand to change the value
-of a servlet context-initialization parameter that is set in an
-application's deployment descriptor. Instead, use the
-link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)]
-subcommand for this purpose.
-
-=======================================================================
-
-
-This subcommand enables you to change the configuration of a deployed
-application without the need to modify the application's deployment
-descriptors and repackage and redeploy the application.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2244]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  The name of the servlet context-initialization parameter that is to be
-  unset. This parameter must have previously been set by using the
-  `set-web-context-param` subcommand. Otherwise, an error occurs.
-
-[[sthref2245]]
-
-Operands
-
-application-name::
-  The name of the application. This name can be obtained from the
-  Administration Console or by using the
-  link:list-applications.html#list-applications-1[`list-applications`(1)]
-  subcommand. +
-  The application must already be deployed. Otherwise, an error occurs.
-module::
-  The relative path to the module within the application's enterprise
-  archive (EAR) file. The path to the module is specified in the
-  `module` element of the application's `application.xml` file. +
-  module is required only if the servlet context-initialization
-  parameter applies to a web module of a Java EE application. If
-  specified, module must follow application-name, separated by a slash
-  (/). +
-  For example, the `application.xml` file for the `myApp` application
-  might specify the following web module: +
-[source,oac_no_warn]
-----
-<module>
-    <web>
-        <web-uri>myWebModule.war</web-uri>
-    </web>
-</module> 
-----
-::
-  The module would be specified as the operand of this command as
-  `myApp/myWebModule.war`.
-
-[[sthref2246]]
-
-Examples
-
-[[GSRFM783]][[sthref2247]]
-
-Example 1   Unsetting a Servlet Context-Initialization Parameter for a
-Web Application
-
-This example unsets the servlet context-initialization parameter
-`javax.faces.STATE_SAVING_METHOD` of the web application `basic-ezcomp`.
-The parameter reverts to the value, if any, that is defined in the
-application's deployment descriptor.
-
-[source,oac_no_warn]
-----
-asadmin> unset-web-context-param 
---name=javax.faces.STATE_SAVING_METHOD basic-ezcomp
-
-Command unset-web-context-param executed successfully.
-----
-
-[[sthref2248]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2249]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:list-web-context-param.html#list-web-context-param-1[`list-web-context-param`(1)],
-link:set-web-context-param.html#set-web-context-param-1[`set-web-context-param`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/unset-web-env-entry.adoc b/docs/reference-manual/src/main/jbake/content/unset-web-env-entry.adoc
deleted file mode 100644
index e1866a3..0000000
--- a/docs/reference-manual/src/main/jbake/content/unset-web-env-entry.adoc
+++ /dev/null
@@ -1,151 +0,0 @@
-type=page
-status=published
-title=unset-web-env-entry
-next=update-connector-security-map.html
-prev=unset-web-context-param.html
-~~~~~~
-unset-web-env-entry
-===================
-
-[[unset-web-env-entry-1]][[GSRFM00249]][[unset-web-env-entry]]
-
-unset-web-env-entry
--------------------
-
-unsets an environment entry for a deployed web application or module
-
-[[sthref2250]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] unset-web-env-entry [--help] 
---name=env-entry-name application-name[/module]
-----
-
-[[sthref2251]]
-
-Description
-
-The `unset-web-env-entry` subcommand unsets an environment entry for one
-of the following items:
-
-* A deployed web application
-* A web module in a deployed Java Platform, Enterprise Edition (Java EE)
-application
-
-When an entry is unset, its value reverts to the value, if any, that is
-set in the application's deployment descriptor.
-
-The application must already be deployed. Otherwise, an error occurs.
-
-The entry must have previously been set by using the
-link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)]
-subcommand. Otherwise, an error occurs.
-
-
-[NOTE]
-=======================================================================
-
-Do not use the `unset-web-env-entry` subcommand to change the value of
-an environment entry that is set in an application's deployment
-descriptor. Instead, use the `set-web-env-entry` subcommand for this
-purpose.
-
-=======================================================================
-
-
-This subcommand enables you to change the configuration of a deployed
-application without the need to modify the application's deployment
-descriptors and repackage and redeploy the application.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2252]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--name`::
-  The name of the environment entry that is to be unset. The name is a
-  JNDI name relative to the `java:comp/env` context. The name must be
-  unique within a deployment component. This entry must have previously
-  been set by using the `set-web-env-entry` subcommand. Otherwise, an
-  error occurs.
-
-[[sthref2253]]
-
-Operands
-
-application-name::
-  The name of the application. This name can be obtained from the
-  Administration Console or by using the
-  link:list-applications.html#list-applications-1[`list-applications`(1)]
-  subcommand. +
-  The application must already be deployed. Otherwise, an error occurs.
-module::
-  The relative path to the module within the application's enterprise
-  archive (EAR) file. The path to the module is specified in the
-  `module` element of the application's `application.xml` file. +
-  module is required only if the environment entry applies to a web
-  module of a Java EE application. If specified, module must follow
-  application-name, separated by a slash (/). +
-  For example, the `application.xml` file for the `myApp` application
-  might specify the following web module: +
-[source,oac_no_warn]
-----
-<module>
-    <web>
-        <web-uri>myWebModule.war</web-uri>
-    </web>
-</module> 
-----
-::
-  The module would be specified as the operand of this command as
-  `myApp/myWebModule.war`.
-
-[[sthref2254]]
-
-Examples
-
-[[GSRFM784]][[sthref2255]]
-
-Example 1   Unsetting an Environment Entry for a Web Application
-
-This example unsets the environment entry `Hello User` of the web
-application `hello`. The entry reverts to the value, if any, that is
-defined in the application's deployment descriptor.
-
-[source,oac_no_warn]
-----
-asadmin> unset-web-env-entry --name="Hello User" hello
-
-Command unset-web-env-entry executed successfully.
-----
-
-[[sthref2256]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2257]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-applications.html#list-applications-1[`list-applications`(1)],
-link:list-web-env-entry.html#list-web-env-entry-1[`list-web-env-entry`(1)],
-link:set-web-env-entry.html#set-web-env-entry-1[`set-web-env-entry`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/unset.adoc b/docs/reference-manual/src/main/jbake/content/unset.adoc
deleted file mode 100644
index 950527a..0000000
--- a/docs/reference-manual/src/main/jbake/content/unset.adoc
+++ /dev/null
@@ -1,110 +0,0 @@
-type=page
-status=published
-title=unset
-next=unset-web-context-param.html
-prev=uninstall-node-ssh.html
-~~~~~~
-unset
-=====
-
-[[unset-1]][[GSRFM00247]][[unset]]
-
-unset
------
-
-removes one or more variables from the multimode environment
-
-[[sthref2233]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] unset [--help] 
-variable-list
-----
-
-[[sthref2234]]
-
-Description
-
-The `unset` subcommand removes one or more environment variables that
-are set for the multimode environment. After removal, the variables and
-their associated values no longer apply to the multimode environment.
-
-To list the environment variables that are set, use the `export`
-subcommand without options. If the `export` subcommand lists no
-environment variables, no environment variables are set.
-
-This subcommand is supported in local mode only.
-
-[[sthref2235]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref2236]]
-
-Operands
-
-variable-list::
-  A space-separated list of the environment variables to remove.
-
-[[sthref2237]]
-
-Examples
-
-[[GSRFM781]][[sthref2238]]
-
-Example 1   Listing the Environment Variables That Are Set
-
-This example uses the `export` subcommand to list the environment
-variables that have been set.
-
-[source,oac_no_warn]
-----
-asadmin> export
-AS_ADMIN_USER = admin
-AS_ADMIN_HOST = bluestar
-AS_ADMIN_PREFIX = server1.jms-service
-AS_ADMIN_PORT = 8000
-Command export executed successfully
-----
-
-[[GSRFM782]][[sthref2239]]
-
-Example 2   Removing an Environment Variable
-
-This example removes the `AS_ADMIN_PREFIX` environment variable.
-
-[source,oac_no_warn]
-----
-asadmin> unset AS_ADMIN_PREFIX
-Command unset executed successfully
-----
-
-[[sthref2240]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2241]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:export.html#export-1[`export`(1)],
-link:multimode.html#multimode-1[`multimode`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/update-connector-security-map.adoc b/docs/reference-manual/src/main/jbake/content/update-connector-security-map.adoc
deleted file mode 100644
index ccccbce..0000000
--- a/docs/reference-manual/src/main/jbake/content/update-connector-security-map.adoc
+++ /dev/null
@@ -1,118 +0,0 @@
-type=page
-status=published
-title=update-connector-security-map
-next=update-connector-work-security-map.html
-prev=unset-web-env-entry.html
-~~~~~~
-update-connector-security-map
-=============================
-
-[[update-connector-security-map-1]][[GSRFM00252]][[update-connector-security-map]]
-
-update-connector-security-map
------------------------------
-
-modifies a security map for the specified connector connection pool
-
-[[sthref2258]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] update-connector-security-map [--help]
---poolname connector_connection_pool_name
-[--addprincipals principal_name1[,principal_name2]*] 
-[--addusergroups user_group1[,user_group2]*]
-[--removeprincipals principal_name1[,principal_name2]*]
-[--removeusergroups user_group1[,user_group2]*]
-[--mappedusername username]
-mapname
-----
-
-[[sthref2259]]
-
-Description
-
-The `update-connector-security-map` subcommand modifies a security map
-for the specified connector connection pool.
-
-For this subcommand to succeed, you must have first created a connector
-connection pool using the `create-connector-connection-pool` subcommand.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2260]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--poolname`::
-  Specifies the name of the connector connection pool to which the
-  security map that is to be updated belongs.
-`--addprincipals`::
-  Specifies a comma-separated list of EIS-specific principals to be
-  added. Use either the `--addprincipals` or `--addusergroups` options,
-  but not both in the same command.
-`--addusergroups`::
-  Specifies a comma-separated list of EIS user groups to be added. Use
-  either the `--addprincipals` or `--addusergroups` options, but not
-  both in the same command.
-`--removeprincipals`::
-  Specifies a comma-separated list of EIS-specific principals to be
-  removed.
-`--removeusergroups`::
-  Specifies a comma-separated list of EIS user groups to be removed.
-`--mappedusername`::
-  Specifies the EIS username.
-
-[[sthref2261]]
-
-Operands
-
-mapname::
-  The name of the security map to be updated.
-
-[[sthref2262]]
-
-Examples
-
-[[GSRFM785]][[sthref2263]]
-
-Example 1   Updating a Connector Security Map
-
-This example adds principals to the existing security map named
-`securityMap1`.
-
-[source,oac_no_warn]
-----
-asadmin> update-connector-security-map --poolname connector-pool1 
---addprincipals principal1,principal2 securityMap1
-Command update-connector-security-map executed successfully
-----
-
-[[sthref2264]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2265]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
-link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
-link:list-connector-security-maps.html#list-connector-security-maps-1[`list-connector-security-maps`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/update-connector-work-security-map.adoc b/docs/reference-manual/src/main/jbake/content/update-connector-work-security-map.adoc
deleted file mode 100644
index 7a2f47e..0000000
--- a/docs/reference-manual/src/main/jbake/content/update-connector-work-security-map.adoc
+++ /dev/null
@@ -1,111 +0,0 @@
-type=page
-status=published
-title=update-connector-work-security-map
-next=update-file-user.html
-prev=update-connector-security-map.html
-~~~~~~
-update-connector-work-security-map
-==================================
-
-[[update-connector-work-security-map-1]][[GSRFM00253]][[update-connector-work-security-map]]
-
-update-connector-work-security-map
-----------------------------------
-
-modifies a work security map for the specified resource adapter
-
-[[sthref2266]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] update-connector-work-security-map [--help] 
---raname raname
-[--addprincipals eis-principal1=server-principal1[, eis-principal2=server-principal2]*] 
-[--addgroups eis-group1=server-group1[, eis-group2=server-group2]*]
-[--removeprincipals eis-principal1[,eis-principal2]*]
-[--removegroups eis-group1[, eis-group2]*]
-mapname
-----
-
-[[sthref2267]]
-
-Description
-
-The `update-connector-work-security-map` subcommand modifies a security
-map for the specified resource adapter.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2268]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--addgroups`::
-  Specifies a comma-separated list of EIS groups to be added. Use either
-  the `--addprincipals` option or the `--addgroups` option, but not
-  both.
-`--addprincipals`::
-  Specifies a comma-separated list of EIS-specific principals to be
-  added. Use either the `--addprincipals` option or the `--addgroups`
-  option, but not both.
-`--removegroups`::
-  Specifies a comma-separated list of EIS groups to be removed.
-`--removeprincipals`::
-  Specifies a comma-separated list of EIS-specific principals to be
-  removed.
-`--raname`::
-  Indicates the connector module name with which the work security map
-  is associated.
-
-[[sthref2269]]
-
-Operands
-
-mapname::
-  The name of the work security map to be updated.
-
-[[sthref2270]]
-
-Examples
-
-[[GSRFM786]][[sthref2271]]
-
-Example 1   Updating a Connector Work Security Map
-
-This example updates `workSecurityMap2` by removing `eis-group-2`.
-
-[source,oac_no_warn]
-----
-asadmin> update-connector-work-security-map
---raname my-resource-adapter --removegroups eis-group-2 workSecurityMap2
-Command update-connector-work-security-map executed successfully.
-----
-
-[[sthref2272]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2273]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-connector-work-security-map.html#create-connector-work-security-map-1[`create-connector-work-security-map`(1)],
-link:delete-connector-work-security-map.html#delete-connector-work-security-map-1[`delete-connector-work-security-map`(1)],
-link:list-connector-work-security-maps.html#list-connector-work-security-maps-1[`list-connector-work-security-maps`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/update-file-user.adoc b/docs/reference-manual/src/main/jbake/content/update-file-user.adoc
deleted file mode 100644
index 8f98b34..0000000
--- a/docs/reference-manual/src/main/jbake/content/update-file-user.adoc
+++ /dev/null
@@ -1,113 +0,0 @@
-type=page
-status=published
-title=update-file-user
-next=update-node-config.html
-prev=update-connector-work-security-map.html
-~~~~~~
-update-file-user
-================
-
-[[update-file-user-1]][[GSRFM00254]][[update-file-user]]
-
-update-file-user
-----------------
-
-updates a current file user as specified
-
-[[sthref2274]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] update-file-user [--help] 
-[--groups user_groups[:user_groups]*] 
-[--target target 
-[--authrealmname authrealm_name] 
-username
-----
-
-[[sthref2275]]
-
-Description
-
-Th `update-file-user` subcommand updates an existing entry in the
-keyfile using the specified user name, password and groups. Multiple
-groups can be entered by separating them, with a colon (:).
-
-If a new password is not provided, this subcommand fails if secure
-administration is enabled and the user being updated is an
-administrative user.
-
-[[sthref2276]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--groups`::
-  This is the name of the group to which the file user belongs.
-`--authrealmname`::
-  Name of the authentication realm where the user to be updated can be
-  found.
-`--target`::
-  This option helps specify the target on which you are updating a file
-  user. Valid values are: +
-  `server`;;
-    Updates the file user in the default server instance. This is the
-    default value.
-  cluster_name;;
-    Updates the file user on every server instance in the cluster.
-  instance_name;;
-    Updates the file user on a specified sever instance.
-
-[[sthref2277]]
-
-Operands
-
-username::
-  This is the name of the file user to be updated.
-
-[[sthref2278]]
-
-Examples
-
-[[GSRFM787]][[sthref2279]]
-
-Example 1   Updating a User's Information in a File Realm
-
-The following example updates information for a file realm user named
-`sample_user`.
-
-[source,oac_no_warn]
-----
-asadmin> update-file-user 
---groups staff:manager:engineer sample_user
-Command update-file-user executed successfully
-----
-
-[[sthref2280]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2281]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
-link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
-link:list-file-groups.html#list-file-groups-1[`list-file-groups`(1)],
-link:list-file-users.html#list-file-users-1[`list-file-users`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/update-node-config.adoc b/docs/reference-manual/src/main/jbake/content/update-node-config.adoc
deleted file mode 100644
index 4890b82..0000000
--- a/docs/reference-manual/src/main/jbake/content/update-node-config.adoc
+++ /dev/null
@@ -1,132 +0,0 @@
-type=page
-status=published
-title=update-node-config
-next=update-node-ssh.html
-prev=update-file-user.html
-~~~~~~
-update-node-config
-==================
-
-[[update-node-config-1]][[GSRFM00255]][[update-node-config]]
-
-update-node-config
-------------------
-
-updates the configuration data of a node
-
-[[sthref2282]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] update-node-config [--help]
-[--nodehost node-host] 
-[--installdir as-install-parent] [--nodedir node-dir] 
-node-name
-----
-
-[[sthref2283]]
-
-Description
-
-The `update-node-config` subcommand updates the configuration data of a
-node.
-
-This subcommand can update any node, regardless of whether the node is
-enabled for remote communication. If a node that is enabled for remote
-communication is updated, the node is not enabled for remote
-communication after the update.
-
-Options of this subcommand specify the new values of the node's
-configuration data. The default for these options is to leave the
-existing value unchanged.
-
-This subcommand does not require the Distributed Component Object Model
-(DCOM) remote protocol or secure shell (SSH) to be configured to update
-the node. You may run this subcommand from any host that can contact the
-DAS.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2284]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodehost`::
-  The name of the host that the node is to represent after the node is
-  updated.
-`--installdir`::
-  The full path to the parent of the base installation directory of the
-  \{product---name} software on the host, for example,
-  `/export/glassfish3`.
-`--nodedir`::
-  The path to the directory that is to contain \{product---name}
-  instances that are created on the node. If a relative path is
-  specified, the path is relative to the as-install directory, where
-  as-install is the base installation directory of the \{product---name}
-  software on the host.
-
-[[sthref2285]]
-
-Operands
-
-node-name::
-  The name of the node to update. The node must exist. Otherwise, an
-  error occurs.
-
-[[sthref2286]]
-
-Examples
-
-[[GSRFM788]][[sthref2287]]
-
-Example 1   Updating the Host That a Node Represents
-
-This example updates the host that the node `sj04` represents to
-`hsj04`.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-config --nodehost hsj04 sj04
-Command update-node-config executed successfully.
-----
-
-[[sthref2288]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2289]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/update-node-ssh.adoc b/docs/reference-manual/src/main/jbake/content/update-node-ssh.adoc
deleted file mode 100644
index 6663c35..0000000
--- a/docs/reference-manual/src/main/jbake/content/update-node-ssh.adoc
+++ /dev/null
@@ -1,191 +0,0 @@
-type=page
-status=published
-title=update-node-dcom
-next=update-node-ssh001.html
-prev=update-node-config.html
-~~~~~~
-update-node-dcom
-================
-
-[[update-node-dcom-1]][[GSRFM789]][[update-node-dcom]]
-
-update-node-dcom
-----------------
-
-updates the configuration data of a node
-
-[[sthref2290]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] update-node-dcom [--help]
-[--nodehost node-host]
-[--installdir as-install-parent] [--nodedir node-dir] 
-[--windowsuser windows-user] [--windowsdomain windows-domain]
-[--force={false|true}]
-node-name
-----
-
-[[sthref2291]]
-
-Description
-
-The `update-node-dcom` subcommand updates the configuration data of a
-node. This subcommand requires the Distributed Component Object Model
-(DCOM) remote protocol to be configured on the host where the domain
-administration server (DAS) is running and on the host where the node
-resides. The DCOM protocol is available only on Windows systems.You may
-run this subcommand from any host that can contact the DAS.
-
-This subcommand can update any node, regardless of whether the node is
-enabled for remote communication. If the node is not enabled for remote
-communication, the subcommand enables DCOM communication for the node
-and updates any other specified configuration data.
-
-Options of this subcommand specify the new values of the node's
-configuration data. The default for most options is to leave the
-existing value unchanged. However, if this subcommand is run to enable
-DCOM communication for a node, default values are applied if any of the
-following options is omitted:
-
-* `--windowsuser`
-* `--windowsdomain`
-
-By default, the subcommand fails and the node is not updated if the DAS
-cannot contact the node's host through DCOM. To force the node to be
-updated even if the host cannot be contacted through DCOM, set the
-`--force` option to `true`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2292]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodehost`::
-  The name of the host that the node is to represent after the node is
-  updated.
-`--installdir`::
-  The full path to the parent of the base installation directory of the
-  \{product---name} software on the host, for example,
-  `/export/glassfish3/`.
-`--nodedir`::
-  The path to the directory that is to contain \{product---name}
-  instances that are created on the node. If a relative path is
-  specified, the path is relative to the as-install directory, where
-  as-install is the base installation directory of the \{product---name}
-  software on the host.
-`--windowsuser`::
-`-w`::
-  The user on this node's host that is to run the process for connecting
-  to the host through DCOM. The default depends on whether this
-  subcommand is run to enable DCOM communication for the node: +
-  * If the node is already enabled for communication over DCOM, the
-  default is to leave the user unchanged.
-  * If this subcommand is run to enable DCOM communication for the node,
-  the default is the user that is running the DAS process. +
-  If the `--nodehost` option is set to `localhost`, the `--windowsuser`
-  option is ignored.
-`--windowsdomain`::
-`-d`::
-  The name of the Windows domain that contains the user that the
-  `--windowsuser` option specifies. The default depends on whether this
-  subcommand is run to enable DCOM communication for the node: +
-  * If the node is already enabled for communication over DCOM, the
-  default is to leave the domain unchanged.
-  * If this subcommand is run to enable DCOM communication for the node,
-  the default is the name of the host on which the subcommand is run.
-`--force`::
-  Specifies whether the node is updated even if validation of the node's
-  parameters fails. To validate a node's parameters, the DAS must be
-  able to contact the node's host through DCOM. Possible values are as
-  follows: +
-  `false`;;
-    The node is not updated if validation of the node's parameters fails
-    (default).
-  `true`;;
-    The node is updated even if validation of the node's parameters
-    fails.
-
-[[sthref2293]]
-
-Operands
-
-node-name::
-  The name of the node to update. The node must exist. Otherwise, an
-  error occurs.
-
-[[sthref2294]]
-
-Examples
-
-[[GSRFM790]][[sthref2295]]
-
-Example 1   Updating the Host That a Node Represents
-
-This example updates the host that the node `wpmdl1` represents to
-`wj01`.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-dcom --nodehost wj01 wpmdl1
-Command update-node-dcom executed successfully.
-----
-
-[[GSRFM791]][[sthref2296]]
-
-Example 2   Forcing the Update of a Node
-
-This example forces the update of the node `xkyd` to enable the node to
-communicate over DCOM.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-dcom --force xkyd
-Warning: some parameters appear to be invalid.
-Could not find a remote Glassfish installation on host: xkyd.example.com at
-C:\glassfish3\glassfish
-Continuing with node update due to use of --force.
-Command update-node-dcom executed successfully.
-----
-
-[[sthref2297]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2298]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
-link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
-link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/update-node-ssh001.adoc b/docs/reference-manual/src/main/jbake/content/update-node-ssh001.adoc
deleted file mode 100644
index f381d73..0000000
--- a/docs/reference-manual/src/main/jbake/content/update-node-ssh001.adoc
+++ /dev/null
@@ -1,224 +0,0 @@
-type=page
-status=published
-title=update-node-ssh
-next=update-password-alias.html
-prev=update-node-ssh.html
-~~~~~~
-update-node-ssh
-===============
-
-[[update-node-ssh-1]][[GSRFM00256]][[update-node-ssh]]
-
-update-node-ssh
----------------
-
-updates the configuration data of a node
-
-[[sthref2299]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] update-node-ssh [--help]
-[--nodehost node-host]
-[--installdir as-install-parent] [--nodedir node-dir] 
-[--sshport ssh-port] [--sshuser ssh-user] 
-[--sshkeyfile ssh-keyfile]
-[--force={false|true}]
-node-name
-----
-
-[[sthref2300]]
-
-Description
-
-The `update-node-ssh` subcommand updates the configuration data of a
-node. This subcommand requires secure shell (SSH) to be configured on
-the machine where the domain administration server (DAS) is running and
-on the machine where the node resides. You may run this subcommand from
-any machine that can contact the DAS.
-
-This subcommand can update any node, regardless of whether the node is
-enabled for remote communication. If the node is not enabled for remote
-communication, the subcommand enables SSH communication for the node and
-updates any other specified configuration data.
-
-Options of this subcommand specify the new values of the node's
-configuration data. The default for most options is to leave the
-existing value unchanged. However, if this subcommand is run to enable
-SSH communication for a node, default values are applied if any of the
-following options is omitted:
-
-* `--sshport`
-* `--sshuser`
-* `--sshkeyfile`
-
-By default, the subcommand fails and the node is not updated if the DAS
-cannot contact the node's host through SSH. To force the node to be
-updated even if the host cannot be contacted through SSH, set the
-`--force` option to `true`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2301]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--nodehost`::
-  The name of the host that the node is to represent after the node is
-  updated.
-`--installdir`::
-  The full path to the parent of the base installation directory of the
-  \{product---name} software on the host, for example,
-  `/export/glassfish3`.
-`--nodedir`::
-  The path to the directory that is to contain \{product---name}
-  instances that are created on the node. If a relative path is
-  specified, the path is relative to the as-install directory, where
-  as-install is the base installation directory of the \{product---name}
-  software on the host.
-`--sshport`::
-  The port to use for SSH connections to this node's host. The default
-  depends on whether this subcommand is run to enable SSH communication
-  for the node: +
-  * If the node is already enabled for communication over SSH, the
-  default is to leave the port unchanged.
-  * If this subcommand is run to enable SSH communication for the node,
-  the default port is 22. +
-  If the `--nodehost` is set to `localhost`, the `--sshport` option is
-  ignored.
-`--sshuser`::
-  The user on this node's host that is to run the process for connecting
-  to the host through SSH. The default depends on whether this
-  subcommand is run to enable SSH communication for the node: +
-  * If the node is already enabled for communication over SSH, the
-  default is to leave the user unchanged.
-  * If this subcommand is run to enable SSH communication for the node,
-  the default is the user that is running the DAS process. +
-  If the `--nodehost` option is set to `localhost`, the `--sshuser`
-  option is ignored.
-`--sshkeyfile`::
-  The absolute path to the SSH private key file for user that the
-  `--sshuser` option specifies. This file is used for authentication to
-  the `sshd` daemon on the node's host. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-\{product---name} also supports password authentication through the
-`AS_ADMIN_SSHPASSWORD` entry in the password file. The password file
-is specified in the `--paswordfile` option of the
-link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility.
-
-|=======================================================================
-
-  If the SSH private key file is protected by a passphrase, the password
-  file must contain the `AS_ADMIN_SSHKEYPASSPHRASE` entry. +
-  The path to the key file must be reachable by the DAS and the key file
-  must be readable by the DAS. +
-  The default depends on whether this subcommand is run to enable SSH
-  communication for the node: +
-  * If the node is already enabled for communication over SSH, the
-  default is to leave the key file unchanged.
-  * If this subcommand is run to enable SSH communication for the node,
-  the default is the key file in the user's `.ssh` directory. If
-  multiple key files are found, the subcommand uses the following order
-  of preference:
-  1.  `id_rsa`
-  2.  `id_dsa`
-  3.  `identity`
-`--force`::
-  Specifies whether the node is updated even if validation of the node's
-  parameters fails. To validate a node's parameters, the DAS must be
-  able to contact the node's host through SSH. Possible values are as
-  follows: +
-  `false`;;
-    The node is not updated if validation of the node's parameters fails
-    (default).
-  `true`;;
-    The node is updated even if validation of the node's parameters
-    fails.
-
-[[sthref2302]]
-
-Operands
-
-node-name::
-  The name of the node to update. The node must exist. Otherwise, an
-  error occurs.
-
-[[sthref2303]]
-
-Examples
-
-[[GSRFM792]][[sthref2304]]
-
-Example 1   Updating the Host That a Node Represents
-
-This example updates the host that the node `lssh` represents to `sj04`.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-ssh --nodehost sj04 lssh
-Command update-node-ssh executed successfully.
-----
-
-[[GSRFM793]][[sthref2305]]
-
-Example 2   Forcing the Update of a Node
-
-This example forces the update of the node `sj01` to enable the node to
-communicate over SSH.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-ssh --force sj01
-Warning: some parameters appear to be invalid.
-Could not connect to host sj01 using SSH.
-Could not authenticate. Tried authenticating with specified key at 
-/home/gfuser/.ssh/id_rsa
-Continuing with node update due to use of --force.
-Command update-node-ssh executed successfully.
-----
-
-[[sthref2306]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2307]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:create-node-config.html#create-node-config-1[`create-node-config`(1)],
-link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
-link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:delete-node-ssh.html#delete-node-ssh-1[`delete-node-ssh`(1)],
-link:install-node.html#install-node-1[`install-node`(1)],
-link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
-link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
-link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
-link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
-link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/update-password-alias.adoc b/docs/reference-manual/src/main/jbake/content/update-password-alias.adoc
deleted file mode 100644
index 68bb4c0..0000000
--- a/docs/reference-manual/src/main/jbake/content/update-password-alias.adoc
+++ /dev/null
@@ -1,94 +0,0 @@
-type=page
-status=published
-title=update-password-alias
-next=uptime.html
-prev=update-node-ssh001.html
-~~~~~~
-update-password-alias
-=====================
-
-[[update-password-alias-1]][[GSRFM00257]][[update-password-alias]]
-
-update-password-alias
----------------------
-
-updates a password alias
-
-[[sthref2308]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] update-password-alias [--help]
-aliasname
-----
-
-[[sthref2309]]
-
-Description
-
-This subcommand updates the password alias IDs in the named target. An
-alias is a token of the form `${ALIAS=password-alias-password}`. The
-password corresponding to the alias name is stored in an encrypted form.
-The `update-password-alias` subcommand takes both a secure interactive
-form (in which the user is prompted for all information) and a more
-script-friendly form, in which the password is propagated on the command
-line.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2310]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref2311]]
-
-Operands
-
-aliasname::
-  This is the name of the password as it appears in `domain.xml`.
-
-[[sthref2312]]
-
-Examples
-
-[[GSRFM794]][[sthref2313]]
-
-Example 1   Updating a Password Alias
-
-[source,oac_no_warn]
-----
-asadmin> update-password-alias jmspassword-alias
-Please enter the alias password>
-Please enter the alias password again>
-Command update-password-alias executed successfully.
-----
-
-[[sthref2314]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2315]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-password-alias.html#create-password-alias-1[`create-password-alias`(1)],
-link:delete-password-alias.html#delete-password-alias-1[`delete-password-alias`(1)],
-link:list-password-aliases.html#list-password-aliases-1[`list-password-aliases`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/uptime.adoc b/docs/reference-manual/src/main/jbake/content/uptime.adoc
deleted file mode 100644
index 5facd98..0000000
--- a/docs/reference-manual/src/main/jbake/content/uptime.adoc
+++ /dev/null
@@ -1,83 +0,0 @@
-type=page
-status=published
-title=uptime
-next=validate-dcom.html
-prev=update-password-alias.html
-~~~~~~
-uptime
-======
-
-[[uptime-1]][[GSRFM00258]][[uptime]]
-
-uptime
-------
-
-returns the length of time that the DAS has been running
-
-[[sthref2316]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] uptime [--help]
-----
-
-[[sthref2317]]
-
-Description
-
-The `uptime` subcommand returns the length of time that the domain
-administration server (DAS) has been running since it was last
-restarted.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2318]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-
-[[sthref2319]]
-
-Examples
-
-[[GSRFM795]][[sthref2320]]
-
-Example 1   Showing How Long the DAS Has Been Running
-
-This example shows the length of time that the DAS has been running.
-
-[source,oac_no_warn]
-----
-asadmin> uptime
-Uptime: 2 days, 1 hours, 30 minutes, 18 seconds, Total milliseconds: 178218706
-Command uptime executed successfully.
-----
-
-[[sthref2321]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2322]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-domains.html#list-domains-1[`list-domains`(1)],
-link:start-domain.html#start-domain-1[`start-domain`(1)],
-link:stop-domain.html#stop-domain-1[`stop-domain`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/validate-dcom.adoc b/docs/reference-manual/src/main/jbake/content/validate-dcom.adoc
deleted file mode 100644
index 14ad2a1..0000000
--- a/docs/reference-manual/src/main/jbake/content/validate-dcom.adoc
+++ /dev/null
@@ -1,198 +0,0 @@
-type=page
-status=published
-title=validate-dcom
-next=validate-multicast.html
-prev=uptime.html
-~~~~~~
-validate-dcom
-=============
-
-[[validate-dcom-1]][[GSRFM796]][[validate-dcom]]
-
-validate-dcom
--------------
-
-tests the connection over DCOM to a remote host
-
-[[sthref2323]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] validate-dcom [--help]
-[--windowsuser windows-user] [--windowsdomain windows-domain]
-[--remotetestdir remote-test-directory]
-[--verbose={false|true}] host-name
-----
-
-[[sthref2324]]
-
-Description
-
-The `validate-dcom` subcommand tests the connection over the Distributed
-Component Object Model (DCOM) remote protocol to the remote host that is
-specified as the operand of the subcommand. The DCOM protocol is
-available only on Windows systems.
-
-The prerequisites for running this subcommand are as follows:
-
-* DCOM must be configured on the host where the domain administration
-server (DAS) is running and on the remote host that is specified as the
-operand of the subcommand.
-* The following ports must be open on the remote host:
-
-** DCOM port 135 or 139
-
-** Windows Shares port 445
-* The Server Windows Service is enabled on the remote host.
-
-This subcommand verifies whether the prerequisites for creating a DCOM
-node or creating a \{product---name} instance on a DCOM node are met. If
-this subcommand fails, any attempt to create a DCOM node or create an
-instance on a DCOM node will also fail.
-
-You may run this command from any machine that can contact the DAS.
-
-The subcommand tests the connection over DCOM to the remote host by
-performing the following operations on the remote host:
-
-* Resolving the host name
-* Connecting to DCOM through port 135 or 139
-* Connecting to Windows Shares through port 445
-* Copying a script that is named `delete_me.bat` in the folder that is
-specified by the `--remotetestdir` option
-* Running the script to obtain a listing of the folder in which the
-`delete_me.bat` was written
-
-By default, the subcommand displays no information about the operations
-that are performed to test the connection to the remote host. To display
-information about these operations, set the `--verbose` option to
-`true`.
-
-This subcommand is supported in remote mode only.
-
-[[sthref2325]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--windowsuser`::
-`-w`::
-  The user on the remote host that is to run the process for connecting
-  to that host through DCOM. The default is the user that is running the
-  DAS process.
-`--windowsdomain`::
-`-d`::
-  The name of the Windows domain that contains the user that the
-  `--windowsuser` option specifies. The default is the name of the host
-  on which the subcommand is run.
-`--remotetestdir`::
-  Specifies the folder on the remote host in which the subcommand
-  creates the `delete_me.bat` file. The user that the `--windowsuser`
-  option specifies must have write access to this folder. Otherwise an
-  error occurs. The default is `C:\`
-`--verbose`::
-`-v`::
-  Specifies whether the subcommand displays information about the
-  operations that are performed to test the connection to the remote
-  host. +
-  Possible values are as follows: +
-  `false`;;
-    No information about the operations that are performed to test the
-    connection is displayed (default).
-  `true`;;
-    The subcommand displays information about the operations that are
-    performed to test the connection. +
-    If the `--verbose` option is true and the `AS_DEBUG` environment
-    variable is set, the subcommand also displays the command line for
-    each process that is running on the remote host.
-
-[[sthref2326]]
-
-Operands
-
-host-name::
-  The name of the host to which to test the connection over DCOM.
-
-[[sthref2327]]
-
-Examples
-
-[[GSRFM834]][[sthref2328]]
-
-Example 1   Testing the Connection Over DCOM to a Remote Host
-
-This example tests the connection over DCOM to the host `wpmdl2`.
-
-[source,oac_no_warn]
-----
-asadmin> validate-dcom --wpmdl2
-Command validate-dcom executed successfully. 
-----
-
-[[GSRFM797]][[sthref2329]]
-
-Example 2   Verbosely Testing the Connection Over DCOM to a Remote Host
-
-This example tests the connection over DCOM to the host `wpmdl2` and
-displays information about the operations that are performed to test the
-connection to the remote host.
-
-[source,oac_no_warn]
-----
-asadmin> validate-dcom --verbose wpmdl2
-
-Successfully resolved host name to: wpmdl2/192.168.122.106
-Successfully connected to DCOM Port at port 135 on host wpmdl2.
-Successfully connected to NetBIOS Session Service at port 139 on host wpmdl2.
-Successfully connected to Windows Shares at port 445 on host wpmdl2.
-Successfully accessed C: on wpmdl2 using DCOM.
-Successfully wrote delete_me.bat to C: on wpmdl2 using DCOM.
-Successfully accessed WMI (Windows Management Interface) on wpmdl2. There are 40
-processes running on wpmdl2.
-Successfully ran the test script on wpmdl2 using DCOM.
-The script simply ran the DIR command. Here are the first few lines from the 
-output of the dir command on the remote machine:
- 
-C:\Windows\system32>dir C:\
- Volume in drive C has no label.
- Volume Serial Number is XXXX-XXX
- 
- Directory of C:\
- 
-12/05/2011  10:21 AM                63 .asadminpass
-02/15/2011  01:08 PM    <DIR>          aroot
-12/05/2011  04:43 PM                 8 delete_me.bat
-03/03/2011  10:36 AM    <DIR>          export 
- 
-Command validate-dcom executed successfully. 
-----
-
-[[sthref2330]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2331]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
-link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
-link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
-link:ping-node-dcom.html#ping-node-dcom-1[`ping-node-dcom`(1)],
-link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/validate-multicast.adoc b/docs/reference-manual/src/main/jbake/content/validate-multicast.adoc
deleted file mode 100644
index 778f46a..0000000
--- a/docs/reference-manual/src/main/jbake/content/validate-multicast.adoc
+++ /dev/null
@@ -1,170 +0,0 @@
-type=page
-status=published
-title=validate-multicast
-next=verify-domain-xml.html
-prev=validate-dcom.html
-~~~~~~
-validate-multicast
-==================
-
-[[validate-multicast-1]][[GSRFM00259]][[validate-multicast]]
-
-validate-multicast
-------------------
-
-validates that multicast transport is available for clusters
-
-[[sthref2332]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] validate-multicast [--help] 
-[--multicastport multicastport]
-[--multicastaddress multicastaddress]
-[--bindaddress bindaddress]
-[--sendperiod sendperiod]
-[--timeout timeout]
-[--timetolive timetolive]
-[--verbose={false|true}]
-----
-
-[[sthref2333]]
-
-Description
-
-The `validate-multicast` subcommand validates that multicast transport
-is available for clusters. You should run this subcommand at the same
-time on each of the hosts to be validated. This subcommand is available
-in local mode.
-
-
-[NOTE]
-=======================================================================
-
-Do not run the `validate-multicast` subcommand using the DAS and
-cluster's multicast address and port values while the DAS and cluster
-are running. Doing so results in an error.
-
-The `validate-multicast` subcommand must be run at the same time on two
-or more machines to validate whether multicast messages are being
-received between the machines.
-
-=======================================================================
-
-
-As long as all machines see each other, multicast is validated to be
-working properly across the machines. If the machines are not seeing
-each other, set the `--bindaddress` option explicitly to ensure that all
-machines are using interface on same subnet, or increase the
-`--timetolive` option from the default of `4`. If these changes fail to
-resolve the multicast issues, ask the network administrator to verify
-that the network is configured so the multicast messages can be seen
-between all the machines used to run the cluster.
-
-[[sthref2334]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--multicastport`::
-  The port for the multicast socket on which the Group Management
-  Service (GMS) listens for group events. Specify a standard UDP port
-  number in the range 2048-49151. The default is `2048`.
-`--multicastaddress`::
-  The address for the multicast socket on which the GMS listens for
-  group events. Specify a class D IP address. Class D IP addresses are
-  in the range `224.0.0.0` to `239.255.255.255`, inclusive. The address
-  `224.0.0.0` is reserved and should not be used. The default is
-  `228.9.3.1`.
-`--bindaddress`::
-  The local interface to receive multicast datagram packets for the GMS.
-  The default is to use all available binding interfaces. +
-  On a multi-home machine (possessing two or more network interfaces),
-  this attribute enables you to indicate which network interface is used
-  for the GMS. This value must be a local network interface IP address.
-`--sendperiod`::
-  The number of milliseconds between test messages sent between nodes.
-  The default is `2000`.
-`--timeout`::
-  The number of seconds before the subcommand times out and exits. The
-  default is `20`. You can also exit this subcommand using Ctrl-C.
-`--timetolive`::
-  The default time-to-live for multicast packets sent out on the
-  multicast socket in order to control the scope of the multicasts. The
-  time-to-live value must be between zero and 255 inclusive. The default
-  is the JDK default or a minimum defined by a constant in the GMS
-  subsystem, whichever is lower. To see the time-to-live value being
-  used, use the `--verbose` option.
-`--verbose`::
-  If used without a value or set to `true`, provides additional
-  debugging information. The default is `false`.
-
-[[sthref2335]]
-
-Examples
-
-[[GSRFM798]][[sthref2336]]
-
-Example 1   Validating multicast transport
-
-Run from host `machine1`:
-
-[source,oac_no_warn]
-----
-asadmin> validate-multicast
-Will use port 2,048
-Will use address 228.9.3.1
-Will use bind address null
-Will use wait period 2,000 (in milliseconds)
-
-Listening for data...
-Sending message with content "machine1" every 2,000 milliseconds
-Received data from machine1 (loopback)
-Received data from machine2
-Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
-Command validate-multicast executed successfully
-----
-
-Run from host `machine2`:
-
-[source,oac_no_warn]
-----
-asadmin> validate-multicast
-Will use port 2,048
-Will use address 228.9.3.1
-Will use bind address null
-Will use wait period 2,000 (in milliseconds)
-
-Listening for data...
-Sending message with content "machine2" every 2,000 milliseconds
-Received data from machine2 (loopback)
-Received data from machine1
-Exiting after 20 seconds. To change this timeout, use the --timeout command line option.
-Command validate-multicast executed successfully
-----
-
-[[sthref2337]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2338]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:get-health.html#get-health-1[`get-health`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/verify-domain-xml.adoc b/docs/reference-manual/src/main/jbake/content/verify-domain-xml.adoc
deleted file mode 100644
index 1e4fe23..0000000
--- a/docs/reference-manual/src/main/jbake/content/verify-domain-xml.adoc
+++ /dev/null
@@ -1,89 +0,0 @@
-type=page
-status=published
-title=verify-domain-xml
-next=version.html
-prev=validate-multicast.html
-~~~~~~
-verify-domain-xml
-=================
-
-[[verify-domain-xml-1]][[GSRFM00260]][[verify-domain-xml]]
-
-verify-domain-xml
------------------
-
-verifies the content of the domain.xml file
-
-[[sthref2339]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] verify-domain-xml [--help] 
-[--domaindir domain-dir] [domain-name]
-----
-
-[[sthref2340]]
-
-Description
-
-Verifies the content of the `domain.xml` file by checking the following:
-
-* That the `domain.xml` file can be parsed
-* That the names for elements that have them are unique
-
-This subcommand is supported in local mode only.
-
-[[sthref2341]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`-h` `--help`::
-  Displays the help text for the subcommand.
-`--domaindir`::
-  Specifies the domain root directory, where the domains are located.
-  The path must be accessible in the file system. The default is
-  as-install`/domains`.
-
-[[sthref2342]]
-
-Operands
-
-domain_name::
-  Specifies the name of the domain. The default is `domain1`.
-
-[[sthref2343]]
-
-Examples
-
-[[GSRFM799]][[sthref2344]]
-
-Example 1   Using verify-domain-xml
-
-[source,oac_no_warn]
-----
-asadmin> verify-domain-xml
-All Tests Passed.
-domain.xml is valid
-----
-
-[[sthref2345]]
-
-Exit Status
-
-0::
-  command executed successfully
-1::
-  error in executing the command
-
-[[sthref2346]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/content/version.adoc b/docs/reference-manual/src/main/jbake/content/version.adoc
deleted file mode 100644
index 64d3352..0000000
--- a/docs/reference-manual/src/main/jbake/content/version.adoc
+++ /dev/null
@@ -1,122 +0,0 @@
-type=page
-status=published
-title=version
-next=manvol1m.html
-prev=verify-domain-xml.html
-~~~~~~
-version
-=======
-
-[[version-1]][[GSRFM00261]][[version]]
-
-version
--------
-
-displays version information for\{product---name}
-
-[[sthref2347]]
-
-Synopsis
-
-[source,oac_no_warn]
-----
-asadmin [asadmin-options] version [--help] 
-[--verbose={false|true}] 
-[--local={false|true}]
-----
-
-[[sthref2348]]
-
-Description
-
-The `version` subcommand displays version information for
-\{product---name}. By default, if the subcommand cannot contact the
-domain administration server (DAS), the subcommand retrieves the version
-information locally and displays a warning message.
-
-This subcommand is supported in remote mode and local mode.
-
-[[sthref2349]]
-
-Options
-
-asadmin-options::
-  Options for the `asadmin` utility. For information about these
-  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
-`--help`::
-`-?`::
-  Displays the help text for the subcommand.
-`--verbose`::
-`-v`::
-  If this option is set to `true`, the subcommand provides the version
-  of the Java Runtime Environment (JRE) that the server is running. The
-  default is `false`.
-`--local`::
-  If this option is set to `true`, the subcommand obtains the version
-  locally from the installation of \{product---name} on the host where
-  the subcommand is run. +
-  If this option is set to `false` (default), the subcommand attempts to
-  contact the DAS to obtain the version. If the attempt to contact the
-  DAS fails, the subcommand retrieves the version locally and displays a
-  warning message.
-
-[[sthref2350]]
-
-Examples
-
-[[GSRFM800]][[sthref2351]]
-
-Example 1   Obtaining Version Information From a Running DAS
-
-[source,oac_no_warn]
-----
-asadmin> version
-Version = Oracle GlassFish Server 3.1 (build 34)
-Command version executed successfully.
-----
-
-[[GSRFM801]][[sthref2352]]
-
-Example 2   Obtaining Version Information When the DAS Cannot be Reached
-
-[source,oac_no_warn]
-----
-asadmin> version
-Version string could not be obtained from Server [localhost:4848] for some reason.
-(Turn debugging on e.g. by setting AS_DEBUG=true in your environment, to see the
- details).
-Using locally retrieved version string from version class.
-Version = Oracle GlassFish Server 3.1 (build 34)
-Command version executed successfully.
-----
-
-[[GSRFM802]][[sthref2353]]
-
-Example 3   Obtaining Version Information Locally
-
-[source,oac_no_warn]
-----
-asadmin> version --local
-Using locally retrieved version string from version class.
-Version = Oracle GlassFish Server 3.1 (build 34)
-Command version executed successfully.
-----
-
-[[sthref2354]]
-
-Exit Status
-
-0::
-  subcommand executed successfully
-1::
-  error in executing the subcommand
-
-[[sthref2355]]
-
-See Also
-
-link:asadmin.html#asadmin-1m[`asadmin`(1M)]
-
-link:list-modules.html#list-modules-1[`list-modules`(1)]
-
-
diff --git a/docs/reference-manual/src/main/jbake/jbake.properties b/docs/reference-manual/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/reference-manual/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/reference-manual/src/main/jbake/templates/footer.ftl b/docs/reference-manual/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/reference-manual/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/reference-manual/src/main/jbake/templates/header.ftl b/docs/reference-manual/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/reference-manual/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/reference-manual/src/main/jbake/templates/menu.ftl b/docs/reference-manual/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/reference-manual/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/reference-manual/src/main/jbake/templates/page.ftl b/docs/reference-manual/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/reference-manual/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/release-notes/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/release-notes/pom.xml b/docs/release-notes/pom.xml
index 97dd441..b80bfea 100644
--- a/docs/release-notes/pom.xml
+++ b/docs/release-notes/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>release-notes</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Release Notes, Release 5.1</name>
+    <name>Eclipse GlassFish Server Release Notes, Release 7</name>
 </project>
diff --git a/docs/release-notes/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/release-notes/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/release-notes/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/release-notes/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/release-notes/src/main/asciidoc/preface.adoc b/docs/release-notes/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..d52ec11
--- /dev/null
+++ b/docs/release-notes/src/main/asciidoc/preface.adoc
@@ -0,0 +1,324 @@
+type=page
+status=published
+title=Preface
+next=release-notes.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[gkamj]][[preface]]
+
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[ghpbz]][[glassfish-server-documentation-set]]
+
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[giprl]][[related-documentation]]
+
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+[[fwbkx]][[typographic-conventions]]
+
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[fquvc]][[symbol-conventions]]
+
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[ghpfg]][[default-paths-and-file-names]]
+
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/release-notes/src/main/asciidoc/release-notes.adoc b/docs/release-notes/src/main/asciidoc/release-notes.adoc
new file mode 100644
index 0000000..0e1ae12
--- /dev/null
+++ b/docs/release-notes/src/main/asciidoc/release-notes.adoc
@@ -0,0 +1,964 @@
+type=page
+status=published
+title={productName} 7 Release Notes
+prev=preface.html
+~~~~~~
+
+= {productName} 7 Release Notes
+
+[[GSRLN00001]][[abppa]]
+
+
+[[glassfish-server-open-source-edition-release-notes]]
+== 1 {productName} 7 Release Notes
+
+[CAUTION]
+====
+To Be Done
+
+This page must be updated before the release!
+====
+
+{productName} provides a lightweight, modular server for the
+development of Java Platform Enterprise Edition (Jakarta EE) 8
+applications. It is the Reference Implementation for Jakarta EE. It
+delivers a highly productive platform for developing with the latest
+Jakarta EE technologies.
+
+For any issue or information on {productName},
+see the https://glassfish.org/.
+
+These Release Notes provide late-breaking information about {productName} 7
+software and documentation. These Release Notes include
+summaries of supported hardware, operating environments, and JDK and
+JDBC/RDBMS requirements. Also included are a summary of new product
+features in the 7 release, and descriptions and workarounds for known
+issues and limitations.
+
+Refer to this document prior to installing, configuring, or using
+{productName} 7 software. Consult this document periodically to
+view the most up-to-date product information.
+
+* link:#ghmvk["Revision History"]
+* link:#glcmf["What's New in the {productName} 7 Release?"]
+* link:#abpaj["Hardware and Software Requirements"]
+* link:#glcmm["Known Issues in {productName} 7"]
+* link:#ggqok["Restrictions and Deprecated Functionality"]
+* link:#BABDACBE["Documentation Errata"]
+* link:#giraq["Features Available Only in the Full Platform"]
+* link:#gipkz["Jakarta EE Standards Support"]
+* link:#ghmtl["Jakarta EE SDK"]
+* link:#abpha["How to Report Problems and Provide Feedback"]
+* link:#abphc["Additional Resources"]
+
+[[ghmvk]][[GSRLN00128]][[revision-history]]
+
+=== Revision History
+
+This section lists the revision history for these Release Notes.
+
+[[sthref2]][[gabzd]]
+
+Table 1-1 Revision History
+
+[width="100%",options="header",]
+|===
+|Date |Description of Changes
+|September 2017 |{productName} 7.
+|===
+
+
+[[glcmf]][[GSRLN00129]][[whats-new-in-the-glassfish-server-release]]
+
+=== What's New in the {productName} 7 Release?
+
+GlassFish is the Reference Implementation for Jakarta EE. Jakarta EE 10
+introduces ... To Be Done
+
+{productName} 7 includes the following new and updated Jakarta EE standards.
+
+New Features
+
+* To Be Done
+
+Updated
+
+* To Be Done
+
+For a complete list of the Jakarta EE technologies included in {productName} 7,
+see link:#gipkz[Jakarta EE Standards Support].
+
+
+[NOTE]
+====
+The main thrust of the {productName} 7 release
+is to provide an application server for developers to explore and begin
+exploiting the new and updated technologies in the Jakarta EE 10 platform.
+Thus, the following features of {productName} were not a focus of
+this release:
+
+* Clusters and centralized management of standalone instances
+* High availability features
+* Upgrade
+* Embedded Server
+
+These features are included in the release, but they may not function
+properly with some of the new features added in support of the Jakarta EE 10 platform.
+====
+
+[[abpaj]][[GSRLN00131]][[hardware-and-software-requirements]]
+
+=== Hardware and Software Requirements
+
+This section lists the requirements that must be met before installing
+{productName} Release 7 software.
+
+The following topics are addressed here:
+
+* link:#abpak[Required JDK Versions]
+* link:#ggppy[Required Disk Space]
+* link:#ggpoq[Required Free Ports]
+* link:#gkxlg[Message Queue Broker Requirements]
+* link:#gfgps[Paths and Environment Settings for the JDK Software]
+
+[[abpak]][[GSRLN00246]][[required-jdk-versions]]
+
+==== Required JDK Versions
+
+{productName} Release 7 requires Oracle JDK 8
+Update 144 or later.
+
+Also be sure to see link:#gfgps[Paths and Environment Settings for the
+JDK Software] for important JDK configuration instructions.
+
+[NOTE]
+====
+It is recommended that any machine that is hosting a {productName}
+DAS or server instance have a minimum of 1 GB RAM.
+====
+
+[[ggppy]][[GSRLN00248]][[required-disk-space]]
+
+==== Required Disk Space
+
+The download sizes for {productName} 7 vary depending on the
+package you choose. The following are the approximate sizes of the ZIP
+packages for the Full and Web profiles:
+
+* Full `*.zip`: 114 MB (136 MB unzipped)
+* Web `*.zip`: 64.9 MB (82.9 MB unzipped)
+
+The installation sizes will vary depending on your configuration, but
+the approximate amount of disk space used by {productName} 7 is as
+follows:
+
+* Full: 138 MB
+* Web: 84.4 MB
+
+[[ggpoq]][[GSRLN00249]][[required-free-ports]]
+
+==== Required Free Ports
+
+You must have sixteen unused ports available for the ports {productName} uses. The installation program automatically detects ports that
+are in use and suggests currently unused ports for the default settings.
+The initial default port assignments are listed in the following table.
+If these default port numbers are in use, the installation program
+assigns a randomly selected port number from the dynamic port range. The
+selected port number might not be the next available port number.
+
+[[sthref3]][[ggpmu]]
+
+Table 1-2 Default Port Assignments for {productName} 7
+
+[width="100%",cols="63%,37%",options="header",]
+|===
+|Port Number |Usage
+|4848 |Administration Console
+
+|8080 |HTTP
+
+|8081 |HTTPS
+
+|8686 |Pure JMX clients
+
+|3700 |IIOP
+
+|3820 |IIOP/SSL
+
+|3920 |IIOP/SSL with mutual authentication
+
+|22 |SSH port
+
+|9009 |Java debugger
+
+|7676 |JMS provider
+
+|Auto-generated from the operating system's dynamic port range |Message Queue TCP port
+
+|Auto-generated from the operating system's dynamic port range |Message Queue Admin port
+
+|9090 |GMS TCP start port
+
+|9200 |GMS TCP end port
+
+|Auto-generated between GMS TCP start and end ports |GMS listener port
+
+|Auto generated between 2048 and 49151 |GMS multicast port
+|===
+
+
+In some situations, such as when multiple domains are running on a
+single host, port conflicts can arise in the auto-generated ports used
+by Message Queue and the GMS. To avoid these conflicts, you can
+configure the JMS host and the GMS to use specific ports.
+
+[[sthref4]][[to-configure-specific-ports-for-a-jms-host]]
+
+===== To Configure Specific Ports for a JMS Host
+
+When you create a JMS Host, {productName} automatically selects ports
+for the JMS provider (called the portmapper port in Message Queue
+terminology), the Message Queue TCP port and the Message Queue admin
+port.
+
+To provide specific values for these ports, use the `--mqport` and
+`--property` options when creating the JMS host:
+
+[source]
+----
+asadmin> create-jms-host --mqhost hostName --mqport portNumber \
+--mquser adminUser --mqpassword adminPassword --target glassfishTarget \
+--property imq\\.jms\\.tcp\\.port=tcpPort:imq\\.admin\\.tcp\\.port=adminPort \
+jms-host-name
+----
+
+`--mqport` `portNumber`::
+  This option specifies the JMS provider port number.
+`--property imq\\.jms\\.tcp\\.port=``tcpPort``:imq\\.admin\\.tcp\\.port=``adminPort`::
+  The `imq.jms.tcp.port` and `imq.admin.tcp.port` properties specify the
+  TCP port and the admin port numbers. The double backslashes (`\\`) are
+  used in the `--properties` option to escape the dots in the property
+  names.
+
+[[sthref5]][[to-configure-specific-gms-ports-for-a-cluster]]
+
+===== To Configure Specific GMS Ports for a Cluster
+
+When you create a cluster, {productName} automatically selects a port
+for GMS multicast that does not conflict with the GMS multicast port of
+any other cluster in the domain. Additionally, when you start a cluster,
+the GMS automatically selects an available port in a specific range for
+its TCP listener.
+
+If two or more domains are running on the same host, configure the
+clusters in the domains to ensure that no GMS port conflicts can arise
+among the clusters. To avoid possible port conflicts, use the
+`--multicast` and `--properties` options when creating the cluster:
+
+[source]
+----
+asadmin> create-cluster --multicastport multicast-port \
+--properties GMS_TCPSTARTPORT=start-port:GMS_TCPENDPORT=end-port \
+cluster-name
+----
+
+`--multicastport` `multicast-port`::
+  This option specifies the port number for the GMS to use for UDP
+  multicast.
+`--properties GMS_TCPSTARTPORT=``start-port``:GMS_TCPENDPORT=``end-port`::
+  The `GMS_TCPSTARTPORT` and `GMS_TCPENDPORT` properties specify the
+  range of port numbers the GMS is to use when selecting an available
+  port for its TCP listener.
++
+
+[NOTE]
+====
+Though you can create a cluster, there is no support for
+configuration, as this has not been tested.
+====
+
+[[gkxlg]][[GSRLN00250]][[message-queue-broker-requirements]]
+
+==== Message Queue Broker Requirements
+
+{productName} 7 is now bundled with Message Queue (MQ) Broker
+5.1.1. Refer to the
+https://github.com/eclipse-ee4j/glassfishdoc/5.1/mq-release-notes.pdf[`Open Message Queue Release Notes`]
+for complete information about MQ Broker requirements.
+
+[[gfgps]][[GSRLN00252]][[paths-and-environment-settings-for-the-jdk-software]]
+
+==== Paths and Environment Settings for the JDK Software
+
+Ensure that your JDK configuration settings on all local and remote
+{productName} hosts adhere to the guidelines listed below. Failure to
+adhere to these guidelines can cause various problems that may be
+difficult to trace.
+
+The following topics are addressed here:
+
+* link:#gldjj[Use the JDK Binaries]
+* link:#gldgl[Set the `JAVA_HOME` Environment Variable]
+* link:#gldho[Set Other Environment Variables As Necessary]
+
+[[gldjj]][[GSRLN00155]][[use-the-jdk-binaries]]
+
+===== Use the JDK Binaries
+
+The following binary files that are used with {productName} must come
+from the JDK software, not the Java Runtime Environment (JRE) software:
+
+* `java`
+* `keytool`
+
+To meet this requirement, ensure that the `bin` directory for the JDK
+software precedes the `bin` directory for the JRE software in your path.
+
+[[gldgl]][[GSRLN00156]][[set-the-java_home-environment-variable]]
+
+===== Set the `JAVA_HOME` Environment Variable
+
+Before performing any {productName} installation or configuration
+procedures, set the `JAVA_HOME` environment variable on the {productName} host machine to point to the correct Java version. Also be sure
+to add the `JAVA_HOME/bin` directory to the `PATH` variable for your
+environment. The `JAVA_HOME` variable must be set on all local and
+remote {productName} hosts.
+
+[[gldho]][[GSRLN00157]][[set-other-environment-variables-as-necessary]]
+
+===== Set Other Environment Variables As Necessary
+
+All remote `asadmin` subcommands require the correct version of Java to
+be available on the affected remote machine. For example, when creating
+a cluster or server instance on a remote machine, the remote machine
+uses its local default Java installation, not the Java installation that
+is on the DAS. Errors will therefore occur if the remote machine uses
+the wrong Java version.
+
+Depending on the remote subcommand, the errors may not occur when the
+subcommand is executed, but may occur later, when interacting with a
+configuration or resource created or modified by the subcommand. For
+example, when creating a clustered server instance on a remote machine,
+the error may only first appear when you attempt to deploy an
+application on that server instance.
+
+This issue is more likely to be encountered when {productName} is
+installed on the remote server by means of a ZIP file package as you do
+not have the option to specifically choose your Java version while
+unzipping a ZIP file.
+
+Depending on what shell is invoked via SSH on the remote host, the
+`JAVA_HOME` and `PATH` environment variables may need to be explicitly
+set in `.bashrc`, `.cshrc`, or some other shell configuration file. This
+configuration file may differ from the one that is used when you log in
+to the machine, such as `.profile`.
+
+Alternatively, you can specifically set the Java path with the `AS_JAVA`
+property in the in the as-install``/config/asenv.conf`` file.
+
+[[glcmm]][[GSRLN00253]][[known-issues-in-glassfish-server-5.1]]
+
+=== Known Issues in {productName} 7
+
+This section describes known issues and any available workarounds for
+{productName} 7 software.
+
+The following topics are addressed here:
+
+* link:#CHDIBHHF[JAXB and JAX-WS no longer part of Jakarta EE platform]
+* link:#CHDIBEAJ[Resource validation property is enabled in the JVM option for deployment]
+* link:#CHDBJDGF[Update Tool and pkg Command no longer part of {productName}]
+* link:#CHDJGJHD[Java DB has been replaced by Apache Derby]
+
+[[CHDIBHHF]][[jaxb-and-jax-ws-no-longer-part-of-java-ee-platform]]
+
+==== JAXB and JAX-WS no longer part of Jakarta EE platform
+
+[[sthref6]][[description]]
+
+===== Description
+
+Jakarta XML Binding (previous JAXB) and Jakarta XML Web Services (previouly JAX-WS)
+are part of Jakarta EE platform, but as optional technologies. However,
+the jars are packaged in GlassFish.
+
+[NOTE]
+====
+These jars are present only in the full profile of GlassFish and
+not part of web profile.
+====
+
+[[sthref7]][[workaround]]
+
+===== Workaround
+
+None
+
+[[CHDIBEAJ]][[resource-validation-property-is-enabled-in-the-jvm-option-for-deployment]]
+
+==== Resource validation property is enabled in the JVM option for deployment
+
+[[sthref8]][[description-1]]
+
+===== Description
+
+A new JVM option for deployment - deployment.resource.validation is
+introduced in {productName} 7. This property is set to True by
+default so that each resource is validated during deployment time. This
+ensures that all resources are created beforehand. This property is
+applicable for administration server as well as instances when clusters
+are involved.
+
+
+[NOTE]
+====
+However, for deployment of applications containing embedded resource
+adapter, a connector resource is created after deployment. For the
+deployment of such applications to succeed, the server(s) must be
+started with this property set to false. For more information on JVM
+deployment options see
+https://github.com/eclipse-ee4j/glassfishdoc/5.1/administration-guide.pdf#G11.998994[`Administering JVM Options.`]
+====
+
+
+[[sthref9]][[workaround-1]]
+
+===== Workaround
+
+In case you do not want the resource validation to take place during the
+deployment, you can set this property value to False.
+
+[[CHDBJDGF]][[update-tool-and-pkg-command-no-longer-part-of-glassfish-server]]
+
+==== Update Tool and pkg Command no longer part of {productName}
+
+[[sthref10]][[description-2]]
+
+===== Description
+
+In previous releases, you could update your {productName} software
+using the pkg command and the Update tool. Since the recent release of
+{productName} does not require the use of these features, they have
+been removed from the {productName} installation.
+
+[[sthref11]][[workaround-2]]
+
+===== Workaround
+
+No workaround.
+
+[[CHDJGJHD]][[java-db-has-been-replaced-by-apache-derby]]
+
+==== Java DB has been replaced by Apache Derby
+
+[[sthref12]][[description-3]]
+
+===== Description
+
+In the previous releases, Java DB was used as the database for {productName}s. With the release of {productName} 7, Apache Derby
+10.13.1.1 has replaced Java DB as the database for {productName}s.
+
+[[sthref13]][[workaround-3]]
+
+===== Workaround
+
+No workaround.
+
+[[ggqok]][[GSRLN00133]][[restrictions-and-deprecated-functionality]]
+
+=== Restrictions and Deprecated Functionality
+
+This section describes restrictions and deprecated functionality in
+{productName} 7.
+
+The following topics are addressed here:
+
+* link:#ggqoc[`asadmin` Subcommands]
+* link:#abmbf[Deprecated, Unsupported, and Obsolete Options]
+* link:#gkueg[Applications That Use Apache Derby]
+* link:#ghpen[No Support for Client VM on Windows AMD64]
+* link:#gkwbd[Metro Reliable Messaging in `InOrder` Delivery Mode]
+
+[[ggqoc]][[GSRLN00258]][[asadmin-subcommands]]
+
+==== `asadmin` Subcommands
+
+In {productName} 7, it is recommended that utility options of the
+`asadmin` command precede the subcommand. Utility options are options
+that control the behavior of the `asadmin` utility, as distinguished
+from subcommand options. Use of the following options after the
+subcommand is deprecated.
+
+* `--host`
+* `--port`
+* `--user`
+* `--passwordfile`
+* `--terse`
+* `--secure`
+* `--echo`
+* `--interactive`
+
+[[abmbf]][[GSRLN00259]][[deprecated-unsupported-and-obsolete-options]]
+
+==== Deprecated, Unsupported, and Obsolete Options
+
+Options in link:#gaeki[Table 1-3] are deprecated or no longer supported,
+or are obsolete and are ignored.
+
+[[sthref14]][[gaeki]]
+
+Table 1-3 Deprecated, Unsupported, and Obsolete Options for `asadmin`
+and Subcommands
+
+[width="100%",cols="33%,67%",options="header",]
+|===
+|Option |Affected Subcommands
+|`--acceptlang` |Unsupported for the `create-virtual-server` subcommand.
+
+|`--acls` |Unsupported for the `create-virtual-server` subcommand.
+
+|`--adminpassword` |Unsupported for all relevant subcommands. Use
+`--passwordfile` instead.
+
+|`--autoapplyenabled` |Obsolete for the `create-http-lb` subcommand.
+
+|`--autohadb` |Obsolete for the `create-cluster` subcommand.
+
+|`--autohadboverride` |Obsolete for the `start-cluster` subcommand and
+the `stop-cluster` subcommand
+
+|`--blockingenabled` |Unsupported for the `create-http-listener` subcommand.
+
+|`--configfile` |Unsupported for the `create-virtual-server` subcommand.
+
+|`--defaultobj` |Unsupported for the `create-virtual-server` subcommand.
+
+|`--defaultvs` |Deprecated for the `create-http-listener` subcommand.
+Use `--default-virtual-server` instead.
+
+|`--description` |Obsolete for the `restore-domain` subcommand.
+
+|`--devicesize` |Obsolete for the `create-cluster` subcommand.
+
+|`--haadminpassword` |Obsolete for the `create-cluster` subcommand.
+
+|`--haadminpasswordfile` |Obsolete for the `create-cluster` subcommand.
+
+|`--haagentport` |Obsolete for the `create-cluster` subcommand.
+
+|`--haproperty` |Obsolete for the `create-cluster` subcommand.
+
+|`--hosts` |Obsolete for the `create-cluster` subcommand.
+
+|`--ignoreDescriptorItem` |Replaced by the all lowercase option
+`--ignoredescriptoritem` in the `set-web-context-param` subcommand and
+the `set-web-env-entry` subcommand.
+
+|`--mime` |Unsupported for the `create-virtual-server` subcommand.
+
+|`--password` |Unsupported for all remote subcommands. Use
+`--passwordfile` instead.
+
+|`--path` |Unsupported for the `create-domain` subcommand. Use
+`--domaindir` instead.
+
+|`--portbase` |Obsolete only for the `create-cluster` subcommand. This
+option is still valid in other subcommands such as `create-domain`,
+`create-instance`, and `create-local-instance`.
+
+|`--resourcetype` |Unsupported for all relevant subcommands. Use
+`--restype` instead.
+
+|`--retrievefile` |Obsolete for the `export-http-lb-config` subcommand.
+
+|`--setenv` |Obsolete for the `start-instance` subcommand.
+
+|`--target` a|
+Obsolete only for the following subcommands:
+
+* `create-connector-connection-pool`
+* `create-resource-adapter-config`
+* `delete-connector-connection-pool`
+* `delete-connector-security-map`
+* `delete-jdbc-connection-pool`
+* `delete-resource-ref`
+
+Replaced by an operand in the `list-custom-resources` subcommand and the
+`list-jndi-entries` subcommand.
+|===
+
+
+[[gkueg]][[GSRLN00260]][[applications-that-use-apache-derby]]
+
+==== Applications That Use Apache Derby
+
+The directory location of Apache Derby in {productName} 7 has
+changed from its location in previous installations. Suppose that you
+have deployed applications that use Apache Derby databases in your
+previous server installation, and you upgrade your existing installation
+to {productName} 7. If you run the `asadmin start-database` command
+and successfully start Apache Derby, you could run into problems while
+trying to run applications that were deployed on your previous server
+installation.
+
+To solve this problem, you can copy the `databases` directory from your
+previous installation to as-install``/databases``. Make sure the database
+is not running when you do this.
+
+Alternatively, you can perform these steps:
+
+1. Use the `asadmin start-database` command with the `--dbhome` option
+pointing to the `databases` directory in the older version of Apache
+Derby. For example:
++
+[source]
+----
+asadmin start-database --dbhome c:\glassfish\databases
+----
+2. After upgrade, start {productName} 7.
+
+[[ghpen]][[GSRLN00261]][[no-support-for-client-vm-on-windows-amd64]]
+
+==== No Support for Client VM on Windows AMD64
+
+By default, the {productName} DAS uses the Client VM to achieve best
+startup and deployment performance. If you are using Windows AMD64, edit
+the `domain.xml` file to remove the line
+`<jvm-options>-client<jvm-options>`. In this case, JVM ergonomics
+chooses the appropriate kind of VM for the given platform. Note that
+server instances use the Server VM by default.
+
+For more information about platform support, see
+http://www.oracle.com/technetwork/java/ergo5-140223.html[Ergonomics in
+the 5.1 Java Virtual Machine].
+
+[[gkwbd]][[GSRLN00262]][[metro-reliable-messaging-in-inorder-delivery-mode]]
+
+==== Metro Reliable Messaging in `InOrder` Delivery Mode
+
+The Metro Reliable Messaging in `InOrder` Delivery mode has not been
+tested for high availability in {productName} 7. The feature may
+work, but it has not been formally tested and is therefore not a
+supported feature.
+
+[[glgiy]][[GSRLN00263]][[no-support-for-kerberos-on-aix]]
+
+==== No Support for Kerberos on AIX
+
+{productName} 7 does not support Kerberos on the AIX platform.
+
+For the complete report about this issue, see
+https://github.com/javaee/glassfish/issues/16728[`Issue-16728`]
+
+[[BABDACBE]][[documentation-errata]]
+
+=== Documentation Errata
+
+This section describes documentation errata.
+
+* link:#BABIDEHD[Upgrading to {productName} Is Not Necessary]
+
+[[BABIDEHD]][[upgrading-to-oracle-glassfish-server-is-not-necessary]]
+
+==== Upgrading to {productName} Is Not Necessary
+
+The {productName} Administration Guide discusses
+upgrading {productName} to {productName}. {productName} 4.x is only an open source release, so this
+upgrade is not necessary.
+
+
+[NOTE]
+====
+Upgrading may not work for {productName} 7
+====
+
+
+[[giraq]][[GSRLN00135]][[features-available-only-in-the-full-platform]]
+
+=== Features Available Only in the Full Platform
+
+The following features of {productName} 7 are available only in the
+Full Platform:
+
+* EJB features that make up the full EJB 3.2 API, such as remote EJB
+components, message-driven beans, web service EJB endpoints, and the EJB
+Timer Service
++
+The EJB 3.2 Lite specification is supported in the Web Profile. This
+specification allows enterprise beans within web applications and
+includes support for local stateless session beans, stateful session
+beans, and singleton session beans.
+* Application Client Container
+* JMS resources
+* Web services
++
+In the Web Profile, a servlet or EJB component cannot be a web service
+endpoint. The `sun-web.xml` and `sun-ejb-jar.xml` elements that are
+related to web services are ignored.
+* Message security
+* JavaMail resources
+
+Connector modules that use only outbound communication features and
+work-management that does not involve inbound communication features are
+supported in the Web Profile. Other connector features are supported
+only in the {productName} 7 full platform.
+
+[[gipkz]][[GSRLN00136]][[java-ee-standards-support]]
+
+=== Jakarta EE Standards Support
+
+link:#gjxcp[Table 1-4] lists the Jakarta EE standards implemented in
+{productName} 7. The table also indicates the distributions in
+which the implementation of a standard is available.
+
+* X indicates that the implementation is available in the distribution.
+* - indicates that the implementation is not available in the
+distribution.
+
+[[sthref15]][[gjxcp]]
+
+Table 1-4 Jakarta EE Standards Implementations in {productName} 7
+
+[width="100%",cols="<48%,<10%,<10%,<10%",options="header",]
+|===
+|Jakarta EE Standard |Version |{productName} 7 Full Platform |{productName} 7 Web Profile
+
+|https://jakarta.ee/specifications/platform/10/[Jakarta EE Specification]
+|10
+|X
+|X
+
+|https://jakarta.ee/specifications/activation/[Activation]
+|2.1
+|X
+|-
+
+|https://jakarta.ee/specifications/security/[Security]
+|3.0
+|X
+|X
+
+|https://jakarta.ee/specifications/batch/[Batch]
+|2.1
+|X
+|-
+
+|https://jakarta.ee/specifications/concurrency/[Concurrency]
+|3.0
+|X
+|-
+
+|https://jakarta.ee/specifications/jsonp/[JSON Processing]
+|2.1
+|X
+|X
+
+|https://jakarta.ee/specifications/jsonb/[JSON Binding]
+|3.0
+|X
+|X
+
+|https://jakarta.ee/specifications/websocket/[WebSocket]
+|2.1
+|X
+|X
+
+|https://jakarta.ee/specifications/websocket/[Servlet]
+|6.0
+|X
+|X
+
+|https://jakarta.ee/specifications/pages/[Server Pages]
+|3.1
+|X
+|X
+
+|https://jakarta.ee/specifications/expression-language/[Expression Language]
+|5.0
+|X
+|X
+
+|https://jakarta.ee/specifications/debugging/[Debugging Support for Other Languages]
+|2.0
+|X
+|X
+
+|https://jakarta.ee/specifications/tags/[Standard Tag Library]
+|3.0
+|X
+|X
+
+|https://jakarta.ee/specifications/mvc/[MVC]
+|2.1
+|X
+|X
+
+|https://jakarta.ee/specifications/faces/[JavaServer Faces]
+|4.0
+|X
+|X
+
+|https://jakarta.ee/specifications/annotations/[Annotations]
+|2.1
+|X
+|X
+
+|https://jakarta.ee/specifications/transactions/[Transactions]
+|2.0
+|X
+|X
+
+|https://jakarta.ee/specifications/persistence/[Persistence]
+|3.1
+|X
+|X
+
+|https://jakarta.ee/specifications/managedbeans/[Managed Beans]
+|2.0
+|X
+|X
+
+|https://jakarta.ee/specifications/interceptors/[Interceptors]
+|2.0
+|X
+|X
+
+|https://jakarta.ee/specifications/dependency-injection/[Dependency Injection]
+|2.0
+|X
+|X
+
+|https://jakarta.ee/specifications/cdi/[Contexts and Dependency Injection]
+|3.0
+|X
+|X
+
+|https://jakarta.ee/specifications/persistence/[Enterprise Beans]
+|4.0
+|X
+|-
+
+|https://jakarta.ee/specifications/restful-ws/[RESTful Web Services]
+|4.0
+|X
+|X
+
+|https://jakarta.ee/specifications/bean-validation/[Bean Validation]
+|3.0
+|X
+|X
+
+|https://jakarta.ee/specifications/connectors/[Connectors]
+|2.1
+|X
+|X^*^
+
+|https://jakarta.ee/specifications/xml-web-services/[XML Web Services]
+|4.0
+|X
+|-
+
+|https://jakarta.ee/specifications/soap-attachments/[SOAP With Attachements]
+|3.0
+|X
+|-
+
+|https://jakarta.ee/specifications/xml-binding/[XML Binding]
+|4.0
+|X
+|-
+
+|https://jakarta.ee/specifications/enterprise-ws/[Enterprise Web Services]
+|2.0
+|X
+|-
+
+|https://jakarta.ee/specifications/web-services-metadata/[Web Services Metadata]
+|3.0
+|X
+|-
+
+|https://jakarta.ee/specifications/messaging/[Messaging]
+|3.1
+|X
+|-
+
+|https://jakarta.ee/specifications/mail/[Mail]
+|2.1
+|X
+|-
+
+|https://jakarta.ee/specifications/authentication/[Authentication]
+|3.0
+|X
+|X
+
+|https://jakarta.ee/specifications/authorization/[Authorization]
+|2.1
+|X
+|-
+
+|https://jakarta.ee/specifications/deployment/[Deployment]
+|1.7
+|X
+|-
+
+|https://jakarta.ee/specifications/management/[Management]
+|1.1
+|X
+|-
+
+|https://jakarta.ee/specifications/xml-rpc/[XML RPC]
+|1.1
+|X
+|-
+
+|https://jakarta.ee/specifications/xml-registries/[XML Registries]
+|1.0
+|X
+|-
+|===
+
+^*^ Standalone Connector 1.7 Container only.
+
+Building on these standards, {productName} 7 provides a number of
+extensions, including the following:
+
+* Ajax (asynchronous JavaScript and XML): Retrieves and displays new
+  data for a portion of a web page without affecting the rest of the page.
+* Metro: A web services stack that implements Java Architecture for XML
+  Binding (JAXB) and Java APIs for XML Web Services 2.3 (JAX-WS 2.3).
+* Grizzly: A framework for building scalable and robust servers using
+  New I/O (NIO) APIs, which make scaling to thousands of users possible.
+  The ability to embed components that support HTTP, Bayeux Protocol, Java
+  Servlet API, and Comet is provided.
+
+[[abpha]][[GSRLN00138]][[how-to-report-problems-and-provide-feedback]]
+
+=== How to Report Problems and Provide Feedback
+
+If you have problems with {productName} 7, provide feedback through
+one of the following mechanisms:
+
+* https://javaee.groups.io/g/glassfish[{productName} forum]
+  (`https://javaee.groups.io/g/glassfish`) — A variety of {productName}
+  community for various interests and feedback
+* https://github.com/javaee/glassfish/issues[GlassFish Issue track]er
+  (`https://github.com/javaee/glassfish/issues`) — {productName}
+  project dashboards and issue tracking database
+
+[[abphc]][[GSRLN00139]][[additional-resources]]
+
+=== Additional Resources
+
+Useful information can be found at the following locations:
+
+* https://github.com/eclipse-ee4j/glassfish[{productName} Community]
+(`https://github.com/eclipse-ee4j/glassfish`)
+* http://www.oracle.com/technetwork/index.html[Oracle Developer
+Information] (`http://www.oracle.com/technetwork/index.html`)
+* http://www.oracle.com/technetwork/indexes/documentation/index.html[Oracle
+product documentation]
+(`http://www.oracle.com/technetwork/indexes/documentation/index.html`)
+
+
diff --git a/docs/release-notes/src/main/asciidoc/title.adoc b/docs/release-notes/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..9188423
--- /dev/null
+++ b/docs/release-notes/src/main/asciidoc/title.adoc
@@ -0,0 +1,48 @@
+type=page
+status=published
+title={productName} Release Notes, Release 7
+next=preface.html
+prev=toc.html
+~~~~~~
+
+= {productName} Release Notes, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Release Notes
+
+Release 7
+
+Contributed 2018 - 2022
+
+These Release Notes provide late-breaking information about {productName} 7
+software and documentation. Also included are a summary of
+new product features in the 7 release, and descriptions and
+workarounds for known issues and limitations.
+
+[[sthref1]]
+
+'''''
+
+{productName} Release Notes, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/release-notes/src/main/jbake/assets/css/style.css b/docs/release-notes/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/release-notes/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/release-notes/src/main/jbake/content/preface.adoc b/docs/release-notes/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 53bd75c..0000000
--- a/docs/release-notes/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,314 +0,0 @@
-type=page
-status=published
-title=Preface
-next=release-notes.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[gkamj]][[preface]]
-
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server is developed through the GlassFish project open-source
-community at `https://javaee.github.io/glassfish/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[ghpbz]][[glassfish-server-documentation-set]]
-
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[giprl]][[related-documentation]]
-
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* https://javaee.github.io/firstcup/[Your First Cup: An Introduction to
-the Java EE Platform] (`https://javaee.github.io/firstcup/`). For
-beginning Java EE programmers, this short tutorial explains the entire
-process for developing a simple enterprise application. The sample
-application is a web application that consists of a component that is
-based on the Enterprise JavaBeans specification, a JAX-RS web service,
-and a JavaServer Faces component for the web front end.
-* https://javaee.github.io/tutorial/[The Java EE 8 Tutorial]
-(`https://javaee.github.io/tutorial/`). This comprehensive tutorial
-explains how to use Java EE 7 platform technologies and APIs to develop
-Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 8 of Java EE is located at
-`https://javaee.github.io/javaee-spec/javadocs/`.
-* The API specification for GlassFish Server 5.0, including Java EE 8
-platform packages and non-platform packages that are specific to the
-GlassFish Server product, is located at
-`https://javaee.github.io/javaee-spec/javadocs/`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications] (`https://javaee.github.io/javaee-spec/Specifications`)
-might be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Apache Derby database for use with the
-GlassFish Server, see the https://db.apache.org/derby/manuals/[Apache
-Derby product page] (`https://db.apache.org/derby/manuals/`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the https://github.com/javaee/glassfish-samples[Java EE
-Samples project page] (`https://github.com/javaee/glassfish-samples`).
-
-[[fwbkx]][[typographic-conventions]]
-
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[fquvc]][[symbol-conventions]]
-
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[ghpfg]][[default-paths-and-file-names]]
-
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="14%,34%,52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + |Represents the base installation directory for GlassFish
-Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish6/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish6`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + |Represents the directory in which a domain's
-configuration is stored. |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
diff --git a/docs/release-notes/src/main/jbake/content/release-notes.adoc b/docs/release-notes/src/main/jbake/content/release-notes.adoc
deleted file mode 100644
index ed9c790..0000000
--- a/docs/release-notes/src/main/jbake/content/release-notes.adoc
+++ /dev/null
@@ -1,999 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server 6.1 Release Notes
-prev=preface.html
-~~~~~~
-Eclipse GlassFish Server 6.1 Release Notes
-==========================================
-
-[[GSRLN00001]][[abppa]]
-
-
-[[glassfish-server-open-source-edition-6.1-release-notes]]
-1 Eclipse GlassFish Server 6.1 Release Notes
---------------------------------------------
-
-GlassFish Server provides a lightweight, modular server for the
-development of Java Platform Enterprise Edition (Java EE) 8
-applications. It is the Reference Implementation for Java EE. It
-delivers a highly productive platform for developing with the latest
-Java EE technologies.
-
-For any issue or information on Eclipse GlassFish Server,
-see the https://javaee.github.io/glassfish/[GlassFish Server Community]
-(`https://javaee.github.io/glassfish/`).
-
-These Release Notes provide late-breaking information about GlassFish
-Server 5.1 software and documentation. These Release Notes include
-summaries of supported hardware, operating environments, and JDK and
-JDBC/RDBMS requirements. Also included are a summary of new product
-features in the 5.1 release, and descriptions and workarounds for known
-issues and limitations.
-
-Refer to this document prior to installing, configuring, or using
-GlassFish Server 5.1 software. Consult this document periodically to
-view the most up-to-date product information.
-
-* link:#ghmvk["Revision History"]
-* link:#glcmf["What's New in the GlassFish Server 5.1 Release?"]
-* link:#abpaj["Hardware and Software Requirements"]
-* link:#glcmm["Known Issues in GlassFish Server 5.1"]
-* link:#ggqok["Restrictions and Deprecated Functionality"]
-* link:#BABDACBE["Documentation Errata"]
-* link:#giraq["Features Available Only in the Full Platform"]
-* link:#gipkz["Java EE Standards Support"]
-* link:#ghmtl["Java EE SDK"]
-* link:#abpha["How to Report Problems and Provide Feedback"]
-* link:#abphc["Additional Resources"]
-
-[[ghmvk]][[GSRLN00128]][[revision-history]]
-
-Revision History
-~~~~~~~~~~~~~~~~
-
-This section lists the revision history for these Release Notes.
-
-[[sthref2]][[gabzd]]
-
-Table 1-1 Revision History
-
-[width="100%",cols="16%,84%",options="header",]
-|=========================================================
-|Date |Description of Changes
-|September 2017 |Eclipse GlassFish Server 5.1.
-|=========================================================
-
-
-[[glcmf]][[GSRLN00129]][[whats-new-in-the-glassfish-server-5.1-release]]
-
-What's New in the GlassFish Server 5.1 Release?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish is the Reference Implementation for Java EE. Java EE 8
-introduces the JSON Binding API (JSON-B) for mapping between JSON text
-and Java objects, building on the JSON Processing API (JSON-P). Servlet
-has been enhanced with the addition of support for the new HTTP/2
-protocol. JAX-RS adds support for server-sent events and, building on
-concurrency facilities added in Java SE 8, a reactive client API. The
-new Java EE Security API provides enhanced support for authentication
-and authorization in web modules, and also introduces APIs for access to
-identity stores. The Bean Validation facility is updated to reflect
-enhancements made in Java SE 8 and to extend the range of validated
-objects.
-
-GlassFish Server 5.1 includes the following new and updated Java EE
-standards.
-
-New Features
-
-* Java EE Security API 1.0
-* Java API for JSON Binding (JSON-B) 1.0
-
-Updated
-
-* Java API for JSON Processing (JSON-P) 1.1
-* Java API for WebSocket 1.1
-* Java API for RESTful Web Services (JAX-RS) 2.1
-* Contexts and Dependency Injection for Java EE (CDI) 2.0
-* Java Persistence API (JPA) 2.2
-* Common annotations 1.3
-* JavaServer Faces (JSF) 2.3
-* Java Servlet 5.1
-* Bean Validation (BV) 2.0
-* Interceptors 1.2
-* JavaMail 1.6
-
-For a complete list of the Java EE technologies included in GlassFish
-Server 5.1, see link:#gipkz[Java EE Standards Support].
-
-
-[NOTE]
-=======================================================================
-
-The main thrust of the Eclipse GlassFish Server 5.1 release
-is to provide an application server for developers to explore and begin
-exploiting the new and updated technologies in the Java EE 8 platform.
-Thus, the following features of GlassFish Server were not a focus of
-this release:
-
-* Clusters and centralized management of standalone instances
-* High availability features
-* Upgrade
-* Embedded Server
-
-These features are included in the release, but they may not function
-properly with some of the new features added in support of the Java EE 8
-platform.
-
-=======================================================================
-
-
-[[abpaj]][[GSRLN00131]][[hardware-and-software-requirements]]
-
-Hardware and Software Requirements
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section lists the requirements that must be met before installing
-Eclipse GlassFish Server Release 5.1 software.
-
-The following topics are addressed here:
-
-* link:#abpak[Required JDK Versions]
-* link:#ggppy[Required Disk Space]
-* link:#ggpoq[Required Free Ports]
-* link:#gkxlg[Message Queue Broker Requirements]
-* link:#gfgps[Paths and Environment Settings for the JDK Software]
-
-[[abpak]][[GSRLN00246]][[required-jdk-versions]]
-
-Required JDK Versions
-^^^^^^^^^^^^^^^^^^^^^
-
-Eclipse GlassFish Server Release 5.1 requires Oracle JDK 8
-Update 144 or later.
-
-Also be sure to see link:#gfgps[Paths and Environment Settings for the
-JDK Software] for important JDK configuration instructions.
-
-
-[NOTE]
-=======================================================================
-
-It is recommended that any machine that is hosting a GlassFish Server
-DAS or server instance have a minimum of 1 GB RAM.
-
-=======================================================================
-
-
-[[ggppy]][[GSRLN00248]][[required-disk-space]]
-
-Required Disk Space
-^^^^^^^^^^^^^^^^^^^
-
-The download sizes for GlassFish Server 5.1 vary depending on the
-package you choose. The following are the approximate sizes of the ZIP
-packages for the Full and Web profiles:
-
-* Full `*.zip`: 114 MB (136 MB unzipped)
-* Web `*.zip`: 64.9 MB (82.9 MB unzipped)
-
-The installation sizes will vary depending on your configuration, but
-the approximate amount of disk space used by GlassFish Server 5.1 is as
-follows:
-
-* Full: 138 MB
-* Web: 84.4 MB
-
-[[ggpoq]][[GSRLN00249]][[required-free-ports]]
-
-Required Free Ports
-^^^^^^^^^^^^^^^^^^^
-
-You must have sixteen unused ports available for the ports GlassFish
-Server uses. The installation program automatically detects ports that
-are in use and suggests currently unused ports for the default settings.
-The initial default port assignments are listed in the following table.
-If these default port numbers are in use, the installation program
-assigns a randomly selected port number from the dynamic port range. The
-selected port number might not be the next available port number.
-
-[[sthref3]][[ggpmu]]
-
-Table 1-2 Default Port Assignments for GlassFish Server 5.1
-
-[width="100%",cols="52%,48%",options="header",]
-|=======================================================================
-|Port Number |Usage
-|4848 a|
-Administration Console
-
-
-|8080 |HTTP
-
-|8081 |HTTPS
-
-|8686 |Pure JMX clients
-
-|3700 |IIOP
-
-|3820 |IIOP/SSL
-
-|3920 |IIOP/SSL with mutual authentication
-
-|22 |SSH port
-
-|9009 |Java debugger
-
-|7676 |JMS provider
-
-|Auto-generated from the operating system's dynamic port range |Message
-Queue TCP port
-
-|Auto-generated from the operating system's dynamic port range |Message
-Queue Admin port
-
-|9090 |GMS TCP start port
-
-|9200 |GMS TCP end port
-
-|Auto-generated between GMS TCP start and end ports |GMS listener port
-
-|Auto generated between 2048 and 49151 |GMS multicast port
-|=======================================================================
-
-
-In some situations, such as when multiple domains are running on a
-single host, port conflicts can arise in the auto-generated ports used
-by Message Queue and the GMS. To avoid these conflicts, you can
-configure the JMS host and the GMS to use specific ports.
-
-[[sthref4]][[to-configure-specific-ports-for-a-jms-host]]
-
-To Configure Specific Ports for a JMS Host
-++++++++++++++++++++++++++++++++++++++++++
-
-When you create a JMS Host, GlassFish server automatically selects ports
-for the JMS provider (called the portmapper port in Message Queue
-terminology), the Message Queue TCP port and the Message Queue admin
-port.
-
-To provide specific values for these ports, use the `--mqport` and
-`--property` options when creating the JMS host:
-
-[source,oac_no_warn]
-----
-asadmin> create-jms-host --mqhost hostName --mqport portNumber \
---mquser adminUser --mqpassword adminPassword --target glassfishTarget \
---property imq\\.jms\\.tcp\\.port=tcpPort:imq\\.admin\\.tcp\\.port=adminPort \
-jms-host-name
-----
-
-`--mqport` `portNumber`::
-  This option specifies the JMS provider port number.
-`--property imq\\.jms\\.tcp\\.port=``tcpPort``:imq\\.admin\\.tcp\\.port=``adminPort`::
-  The `imq.jms.tcp.port` and `imq.admin.tcp.port` properties specify the
-  TCP port and the admin port numbers. The double backslashes (`\\`) are
-  used in the `--properties` option to escape the dots in the property
-  names.
-
-[[sthref5]][[to-configure-specific-gms-ports-for-a-cluster]]
-
-To Configure Specific GMS Ports for a Cluster
-+++++++++++++++++++++++++++++++++++++++++++++
-
-When you create a cluster, GlassFish server automatically selects a port
-for GMS multicast that does not conflict with the GMS multicast port of
-any other cluster in the domain. Additionally, when you start a cluster,
-the GMS automatically selects an available port in a specific range for
-its TCP listener.
-
-If two or more domains are running on the same host, configure the
-clusters in the domains to ensure that no GMS port conflicts can arise
-among the clusters. To avoid possible port conflicts, use the
-`--multicast` and `--properties` options when creating the cluster:
-
-[source,oac_no_warn]
-----
-asadmin> create-cluster --multicastport multicast-port \
---properties GMS_TCPSTARTPORT=start-port:GMS_TCPENDPORT=end-port \
-cluster-name
-----
-
-`--multicastport` `multicast-port`::
-  This option specifies the port number for the GMS to use for UDP
-  multicast.
-`--properties GMS_TCPSTARTPORT=``start-port``:GMS_TCPENDPORT=``end-port`::
-  The `GMS_TCPSTARTPORT` and `GMS_TCPENDPORT` properties specify the
-  range of port numbers the GMS is to use when selecting an available
-  port for its TCP listener. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-Though you can create a cluster, there is no support for
-configuration, as this has not been tested.
-
-|=======================================================================
-
-
-[[gkxlg]][[GSRLN00250]][[message-queue-broker-requirements]]
-
-Message Queue Broker Requirements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server 5.1 is now bundled with Message Queue (MQ) Broker
-5.1.1. Refer to the
-https://javaee.github.io/glassfish/doc/5.1/mq-release-notes.pdf[`Open Message Queue Release Notes`]
-for complete information about MQ Broker requirements.
-
-[[gfgps]][[GSRLN00252]][[paths-and-environment-settings-for-the-jdk-software]]
-
-Paths and Environment Settings for the JDK Software
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Ensure that your JDK configuration settings on all local and remote
-GlassFish Server hosts adhere to the guidelines listed below. Failure to
-adhere to these guidelines can cause various problems that may be
-difficult to trace.
-
-The following topics are addressed here:
-
-* link:#gldjj[Use the JDK Binaries]
-* link:#gldgl[Set the `JAVA_HOME` Environment Variable]
-* link:#gldho[Set Other Environment Variables As Necessary]
-
-[[gldjj]][[GSRLN00155]][[use-the-jdk-binaries]]
-
-Use the JDK Binaries
-++++++++++++++++++++
-
-The following binary files that are used with GlassFish Server must come
-from the JDK software, not the Java Runtime Environment (JRE) software:
-
-* `java`
-* `keytool`
-
-To meet this requirement, ensure that the `bin` directory for the JDK
-software precedes the `bin` directory for the JRE software in your path.
-
-[[gldgl]][[GSRLN00156]][[set-the-java_home-environment-variable]]
-
-Set the `JAVA_HOME` Environment Variable
-++++++++++++++++++++++++++++++++++++++++
-
-Before performing any GlassFish Server installation or configuration
-procedures, set the `JAVA_HOME` environment variable on the GlassFish
-Server host machine to point to the correct Java version. Also be sure
-to add the `JAVA_HOME/bin` directory to the `PATH` variable for your
-environment. The `JAVA_HOME` variable must be set on all local and
-remote GlassFish Server hosts.
-
-[[gldho]][[GSRLN00157]][[set-other-environment-variables-as-necessary]]
-
-Set Other Environment Variables As Necessary
-++++++++++++++++++++++++++++++++++++++++++++
-
-All remote `asadmin` subcommands require the correct version of Java to
-be available on the affected remote machine. For example, when creating
-a cluster or server instance on a remote machine, the remote machine
-uses its local default Java installation, not the Java installation that
-is on the DAS. Errors will therefore occur if the remote machine uses
-the wrong Java version.
-
-Depending on the remote subcommand, the errors may not occur when the
-subcommand is executed, but may occur later, when interacting with a
-configuration or resource created or modified by the subcommand. For
-example, when creating a clustered server instance on a remote machine,
-the error may only first appear when you attempt to deploy an
-application on that server instance.
-
-This issue is more likely to be encountered when GlassFish Server is
-installed on the remote server by means of a ZIP file package as you do
-not have the option to specifically choose your Java version while
-unzipping a ZIP file.
-
-Depending on what shell is invoked via SSH on the remote host, the
-`JAVA_HOME` and `PATH` environment variables may need to be explicitly
-set in `.bashrc`, `.cshrc`, or some other shell configuration file. This
-configuration file may differ from the one that is used when you log in
-to the machine, such as `.profile`.
-
-Alternatively, you can specifically set the Java path with the `AS_JAVA`
-property in the in the as-install`/config/asenv.conf` file.
-
-[[glcmm]][[GSRLN00253]][[known-issues-in-glassfish-server-5.1]]
-
-Known Issues in GlassFish Server 5.1
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes known issues and any available workarounds for
-Eclipse GlassFish Server 5.1 software.
-
-The following topics are addressed here:
-
-* link:#CHDIBHHF[JAXB and JAX-WS no longer part of Java EE platform]
-* link:#CHDIBEAJ[Resource validation property is enabled in the JVM
-option for deployment]
-* link:#CHDBJDGF[Update Tool and pkg Command no longer part of GlassFish
-Server]
-* link:#CHDJGJHD[Java DB has been replaced by Apache Derby]
-
-[[CHDIBHHF]][[jaxb-and-jax-ws-no-longer-part-of-java-ee-platform]]
-
-JAXB and JAX-WS no longer part of Java EE platform
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref6]][[description]]
-
-Description
-+++++++++++
-
-Jakarta XML Binding (previous JAXB) and Jakarta XML Web Services (previouly JAX-WS) are part of Java EE platform,
-but as optional technologies. However, the jars are packaged in GlassFish.
-
-
-[NOTE]
-=======================================================================
-
-These jars are present only in the full profile of GlassFish and
-not part of web profile.
-
-=======================================================================
-
-
-[[sthref7]][[workaround]]
-
-Workaround
-++++++++++
-
-None
-
-[[CHDIBEAJ]][[resource-validation-property-is-enabled-in-the-jvm-option-for-deployment]]
-
-Resource validation property is enabled in the JVM option for deployment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref8]][[description-1]]
-
-Description
-+++++++++++
-
-A new JVM option for deployment - deployment.resource.validation is
-introduced in GlassFish Server 5.1. This property is set to True by
-default so that each resource is validated during deployment time. This
-ensures that all resources are created beforehand. This property is
-applicable for administration server as well as instances when clusters
-are involved.
-
-
-[NOTE]
-=======================================================================
-
-However, for deployment of applications containing embedded resource
-adapter, a connector resource is created after deployment. For the
-deployment of such applications to succeed, the server(s) must be
-started with this property set to false. For more information on JVM
-deployment options see
-https://javaee.github.io/glassfish/doc/5.1/administration-guide.pdf#G11.998994[`Administering JVM Options.`]
-
-=======================================================================
-
-
-[[sthref9]][[workaround-1]]
-
-Workaround
-++++++++++
-
-In case you do not want the resource validation to take place during the
-deployment, you can set this property value to False.
-
-[[CHDBJDGF]][[update-tool-and-pkg-command-no-longer-part-of-glassfish-server]]
-
-Update Tool and pkg Command no longer part of GlassFish Server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref10]][[description-2]]
-
-Description
-+++++++++++
-
-In previous releases, you could update your GlassFish Server software
-using the pkg command and the Update tool. Since the recent release of
-GlassFish server does not require the use of these features, they have
-been removed from the GlassFish server installation.
-
-[[sthref11]][[workaround-2]]
-
-Workaround
-++++++++++
-
-No workaround.
-
-[[CHDJGJHD]][[java-db-has-been-replaced-by-apache-derby]]
-
-Java DB has been replaced by Apache Derby
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[sthref12]][[description-3]]
-
-Description
-+++++++++++
-
-In the previous releases, Java DB was used as the database for GlassFish
-servers. With the release of GlassFish Server 5.1, Apache Derby
-10.13.1.1 has replaced Java DB as the database for GlassFish servers.
-
-[[sthref13]][[workaround-3]]
-
-Workaround
-++++++++++
-
-No workaround.
-
-[[ggqok]][[GSRLN00133]][[restrictions-and-deprecated-functionality]]
-
-Restrictions and Deprecated Functionality
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes restrictions and deprecated functionality in
-Oracle GlassFish Server 5.1.
-
-The following topics are addressed here:
-
-* link:#ggqoc[`asadmin` Subcommands]
-* link:#abmbf[Deprecated, Unsupported, and Obsolete Options]
-* link:#gkueg[Applications That Use Apache Derby]
-* link:#ghpen[No Support for Client VM on Windows AMD64]
-* link:#gkwbd[Metro Reliable Messaging in `InOrder` Delivery Mode]
-
-[[ggqoc]][[GSRLN00258]][[asadmin-subcommands]]
-
-`asadmin` Subcommands
-^^^^^^^^^^^^^^^^^^^^^
-
-In GlassFish Server 5.1, it is recommended that utility options of the
-`asadmin` command precede the subcommand. Utility options are options
-that control the behavior of the `asadmin` utility, as distinguished
-from subcommand options. Use of the following options after the
-subcommand is deprecated.
-
-* `--host`
-* `--port`
-* `--user`
-* `--passwordfile`
-* `--terse`
-* `--secure`
-* `--echo`
-* `--interactive`
-
-[[abmbf]][[GSRLN00259]][[deprecated-unsupported-and-obsolete-options]]
-
-Deprecated, Unsupported, and Obsolete Options
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Options in link:#gaeki[Table 1-3] are deprecated or no longer supported,
-or are obsolete and are ignored.
-
-[[sthref14]][[gaeki]]
-
-Table 1-3 Deprecated, Unsupported, and Obsolete Options for `asadmin`
-and Subcommands
-
-[width="100%",cols="33%,67%",options="header",]
-|=======================================================================
-|Option |Affected Subcommands
-|`--acceptlang` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--acls` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--adminpassword` |Unsupported for all relevant subcommands. Use
-`--passwordfile` instead.
-
-|`--autoapplyenabled` |Obsolete for the `create-http-lb` subcommand.
-
-|`--autohadb` |Obsolete for the `create-cluster` subcommand.
-
-|`--autohadboverride` |Obsolete for the `start-cluster` subcommand and
-the `stop-cluster` subcommand
-
-|`--blockingenabled` |Unsupported for the `create-http-listener`
-subcommand.
-
-|`--configfile` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--defaultobj` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--defaultvs` |Deprecated for the `create-http-listener` subcommand.
-Use `--default-virtual-server` instead.
-
-|`--description` |Obsolete for the `restore-domain` subcommand.
-
-|`--devicesize` |Obsolete for the `create-cluster` subcommand.
-
-|`--haadminpassword` |Obsolete for the `create-cluster` subcommand.
-
-|`--haadminpasswordfile` |Obsolete for the `create-cluster` subcommand.
-
-|`--haagentport` |Obsolete for the `create-cluster` subcommand.
-
-|`--haproperty` |Obsolete for the `create-cluster` subcommand.
-
-|`--hosts` |Obsolete for the `create-cluster` subcommand.
-
-|`--ignoreDescriptorItem` |Replaced by the all lowercase option
-`--ignoredescriptoritem` in the `set-web-context-param` subcommand and
-the `set-web-env-entry` subcommand.
-
-|`--mime` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--password` |Unsupported for all remote subcommands. Use
-`--passwordfile` instead.
-
-|`--path` |Unsupported for the `create-domain` subcommand. Use
-`--domaindir` instead.
-
-|`--portbase` |Obsolete only for the `create-cluster` subcommand. This
-option is still valid in other subcommands such as `create-domain`,
-`create-instance`, and `create-local-instance`.
-
-|`--resourcetype` |Unsupported for all relevant subcommands. Use
-`--restype` instead.
-
-|`--retrievefile` |Obsolete for the `export-http-lb-config` subcommand.
-
-|`--setenv` |Obsolete for the `start-instance` subcommand.
-
-|`--target` a|
-Obsolete only for the following subcommands:
-
-* `create-connector-connection-pool`
-* `create-resource-adapter-config`
-* `delete-connector-connection-pool`
-* `delete-connector-security-map`
-* `delete-jdbc-connection-pool`
-* `delete-resource-ref`
-
-Replaced by an operand in the `list-custom-resources` subcommand and the
-`list-jndi-entries` subcommand:
-
-|=======================================================================
-
-
-[[gkueg]][[GSRLN00260]][[applications-that-use-apache-derby]]
-
-Applications That Use Apache Derby
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The directory location of Apache Derby in GlassFish Server 5.1 has
-changed from its location in previous installations. Suppose that you
-have deployed applications that use Apache Derby databases in your
-previous server installation, and you upgrade your existing installation
-to GlassFish Server 5.1. If you run the `asadmin start-database` command
-and successfully start Apache Derby, you could run into problems while
-trying to run applications that were deployed on your previous server
-installation.
-
-To solve this problem, you can copy the `databases` directory from your
-previous installation to as-install`/databases`. Make sure the database
-is not running when you do this.
-
-Alternatively, you can perform these steps:
-
-1.  Use the `asadmin start-database` command with the `--dbhome` option
-pointing to the `databases` directory in the older version of Apache
-Derby. For example: +
-[source,oac_no_warn]
-----
-asadmin start-database --dbhome c:\glassfish\databases
-----
-2.  After upgrade, start GlassFish Server 5.1.
-
-[[ghpen]][[GSRLN00261]][[no-support-for-client-vm-on-windows-amd64]]
-
-No Support for Client VM on Windows AMD64
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, the GlassFish Server DAS uses the Client VM to achieve best
-startup and deployment performance. If you are using Windows AMD64, edit
-the `domain.xml` file to remove the line
-`<jvm-options>-client<jvm-options>`. In this case, JVM ergonomics
-chooses the appropriate kind of VM for the given platform. Note that
-server instances use the Server VM by default.
-
-For more information about platform support, see
-http://www.oracle.com/technetwork/java/ergo5-140223.html[Ergonomics in
-the 5.1 Java Virtual Machine].
-
-[[gkwbd]][[GSRLN00262]][[metro-reliable-messaging-in-inorder-delivery-mode]]
-
-Metro Reliable Messaging in `InOrder` Delivery Mode
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Metro Reliable Messaging in `InOrder` Delivery mode has not been
-tested for high availability in GlassFish Server 5.1. The feature may
-work, but it has not been formally tested and is therefore not a
-supported feature.
-
-[[glgiy]][[GSRLN00263]][[no-support-for-kerberos-on-aix]]
-
-No Support for Kerberos on AIX
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server 5.1 does not support Kerberos on the AIX platform.
-
-For the complete report about this issue, see
-https://github.com/javaee/glassfish/issues/16728[`Issue-16728`]
-
-[[BABDACBE]][[documentation-errata]]
-
-Documentation Errata
-~~~~~~~~~~~~~~~~~~~~
-
-This section describes documentation errata.
-
-* link:#BABIDEHD[Upgrading to Oracle GlassFish Server Is Not Necessary]
-
-[[BABIDEHD]][[upgrading-to-oracle-glassfish-server-is-not-necessary]]
-
-Upgrading to Oracle GlassFish Server Is Not Necessary
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Eclipse GlassFish Server Administration Guide discusses
-upgrading Eclipse GlassFish Server to Oracle GlassFish
-Server. GlassFish Server 4.x is only an open source release, so this
-upgrade is not necessary.
-
-
-[NOTE]
-==============================================
-
-Upgrading may not work for GlassFish Server 5.1
-
-==============================================
-
-
-[[giraq]][[GSRLN00135]][[features-available-only-in-the-full-platform]]
-
-Features Available Only in the Full Platform
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following features of GlassFish Server 5.1 are available only in the
-Full Platform:
-
-* EJB features that make up the full EJB 3.2 API, such as remote EJB
-components, message-driven beans, web service EJB endpoints, and the EJB
-Timer Service +
-The EJB 3.2 Lite specification is supported in the Web Profile. This
-specification allows enterprise beans within web applications and
-includes support for local stateless session beans, stateful session
-beans, and singleton session beans.
-* Application Client Container
-* JMS resources
-* Web services +
-In the Web Profile, a servlet or EJB component cannot be a web service
-endpoint. The `sun-web.xml` and `sun-ejb-jar.xml` elements that are
-related to web services are ignored.
-* Message security
-* JavaMail resources
-
-Connector modules that use only outbound communication features and
-work-management that does not involve inbound communication features are
-supported in the Web Profile. Other connector features are supported
-only in the Eclipse GlassFish Server 5.1 full platform.
-
-[[gipkz]][[GSRLN00136]][[java-ee-standards-support]]
-
-Java EE Standards Support
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:#gjxcp[Table 1-4] lists the Java EE standards implemented in
-GlassFish Server 5.1. The table also indicates the distributions in
-which the implementation of a standard is available.
-
-* X indicates that the implementation is available in the distribution.
-* - indicates that the implementation is not available in the
-distribution.
-
-[[sthref15]][[gjxcp]]
-
-Table 1-4 Java EE Standards Implementations in GlassFish Server 5.1
-
-[width="100%",cols="48%,24%,16%,12%",options="header",]
-|=======================================================================
-|Java EE Standard |Java Specification Request (JSR) |GlassFish Server
-5.1 Full Platform |GlassFish Server 5.1 Web Profile
-|https://javaee.github.io/javaee-spec/javadocs/[Java Platform,
-Enterprise Edition 8] `(https://javaee.github.io/javaee-spec/javadocs/)`
-|http://jcp.org/en/jsr/detail?id=366[JSR 366] |X |X
-
-|Java EE Security API |http://jcp.org/en/jsr/detail?id=375[JSR 375] |X
-|X
-
-|Batch Applications for the Java Platform 1.0
-|http://jcp.org/en/jsr/detail?id=352[JSR 352] |X |-
-
-|Concurrency Utilities for Java EE 1.0
-|http://jcp.org/en/jsr/detail?id=236[JSR 236] |X |-
-
-|Java API for JSON Processing 1.1
-|http://jcp.org/en/jsr/detail?id=374[JSR 374] |X |X
-
-|Java API for JSON Binding 1.0 |http://jcp.org/en/jsr/detail?id=367[JSR
-367] |X |X
-
-|Java API for WebSocket 1.1 |http://jcp.org/en/jsr/detail?id=356[JSR
-356] |X |X
-
-|https://javaee.github.io/servlet-spec/[Java Servlet Technology
-5.1]`(https://javaee.github.io/servlet-spec/)/`
-|http://jcp.org/en/jsr/detail?id=369[JSR 369] |X |X
-
-|JavaServer Pages 2.3 |http://jcp.org/en/jsr/detail?id=245[JSR 245] |X
-|X
-
-|Expression Language 3.0 |http://jcp.org/en/jsr/detail?id=341[JSR 341]
-|X |X
-
-|Debugging Support for Other Languages 1.0
-|http://jcp.org/en/jsr/detail?id=45[JSR 45] |X |X
-
-|Standard Tag Library for JavaServer Pages 1.2
-|http://jcp.org/en/jsr/detail?id=52[JSR 52] |X |X
-
-|http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html[JavaServer
-Faces 2.3]`(https://github.com/javaserverfaces/)`
-|http://jcp.org/en/jsr/detail?id=372[JSR 372] |X |X
-
-|Common Annotations for the Java Platform 1.2
-|http://jcp.org/en/jsr/detail?id=250[JSR 250] |X |X
-
-|https://github.com/javaee/jta-spec[Java Transaction API 1.2]
-`(https://github.com/javaee/jta-spec)`
-|http://jcp.org/en/jsr/detail?id=907[JSR 907] |X |X
-
-|https://github.com/javaee/jpa-spec[Java Persistence API 2.2]
-`(https://github.com/javaee/jpa-spec)`
-|http://jcp.org/en/jsr/detail?id=338[JSR 338] |X |X
-
-|Managed Beans 1.0 |http://jcp.org/en/jsr/detail?id=316[JSR 316] |X |X
-
-|Interceptors 1.2 |http://jcp.org/en/jsr/detail?id=318[JSR 318] |X |X
-
-|Dependency Injection for Java 1.0
-|http://jcp.org/en/jsr/detail?id=330[JSR 330] |X |X
-
-|https://github.com/javaee/ejb-spec[Enterprise JavaBeans 3.2 Lite]
-`(https://github.com/javaee/ejb-spec)`
-|http://jcp.org/en/jsr/detail?id=345[JSR 345] |X |X
-
-|https://github.com/javaee/ejb-spec[Enterprise JavaBeans 3.2 Full
-API]`(https://github.com/javaee/ejb-spec)`
-|http://jcp.org/en/jsr/detail?id=345[JSR 345] |X |-
-
-|Contexts and Dependency Injection for Java EE 2.0
-|http://jcp.org/en/jsr/detail?id=365[JSR 365] |X |X
-
-|Java API for RESTful Web Service (JAX-RS) 2.1
-|http://jcp.org/en/jsr/detail?id=370[JSR 370] |X |X
-
-|Bean Validation 2.0 |http://jcp.org/en/jsr/detail?id=349[JSR 380] |X |X
-
-|https://github.com/javaee/connector-spec[Java EE Connector Architecture
-1.7]`(https://github.com/javaee/connector-spec)`
-|http://jcp.org/en/jsr/detail?id=322[JSR 322] |X |X^*^
-
-|https://github.com/javaee/metro-jax-ws[Java API for XML-Based Web
-Services (JAX-WS) 2.3]`(https://github.com/javaee/metro-jax-ws)`
-|http://jcp.org/en/jsr/detail?id=224[JSR 224] |X |-
-
-|https://github.com/javaee/jaxb-v2[Java Architecture for XML Binding
-(JAXB) 2.2]`(https://github.com/javaee/jaxb-v2)`
-|http://jcp.org/en/jsr/detail?id=222[JSR 222] |X |-
-
-|Implementing Enterprise Web Services 1.4
-|http://jcp.org/en/jsr/detail?id=109[JSR 109] |X |-
-
-|Web Services Metadata for the Java Platform 2.1
-|http://jcp.org/en/jsr/detail?id=181[JSR 181] |X |-
-
-|https://javaee.github.io/jms-spec/[Java Message Service
-2.0]`(https://javaee.github.io/jms-spec/)`
-|http://jcp.org/en/jsr/detail?id=343[JSR 343] |X |-
-
-|https://javaee.github.io/javamail/[JavaMail
-1.6]`(https://javaee.github.io/javamail/)`
-|http://jcp.org/en/jsr/detail?id=919[JSR 919] |X |-
-
-|https://javaee.github.io/jacc-spec/[Java Authorization Contract for
-Containers 1.5]`(https://javaee.github.io/jacc-spec/)`
-|http://jcp.org/en/jsr/detail?id=115[JSR 115] |X |-
-
-|Java Authentication Service Provider Interface for Containers 1.1
-|http://jcp.org/en/jsr/detail?id=196[JSR 196] |X |-
-
-|Java EE Application Deployment 1.2
-|http://jcp.org/en/jsr/detail?id=88[JSR 88] |X |-
-
-|J2EE Management 1.1 |http://jcp.org/en/jsr/detail?id=77[JSR 77] |X |-
-
-|https://github.com/javaee/jax-rpc-ri[Java API for XML-Based Remote
-Procedure Calls (JAX-RPC) 1.1]`(https://github.com/javaee/jax-rpc-ri/)`
-|http://jcp.org/en/jsr/detail?id=101[JSR 101] |X |-
-
-|Java API for XML-Based Registries (JAXR) 1.0
-|http://jcp.org/en/jsr/detail?id=93[JSR 93] |X |-
-|=======================================================================
-
-
-^*^ Standalone Connector 1.7 Container only.
-
-Building on these standards, GlassFish Server 5.1 provides a number of
-extensions, including the following:
-
-* Ajax (asynchronous JavaScript and XML): Retrieves and displays new
-data for a portion of a web page without affecting the rest of the page.
-* Metro: A web services stack that implements Java Architecture for XML
-Binding (JAXB) and Java APIs for XML Web Services 2.3 (JAX-WS 2.3).
-* Grizzly: A framework for building scalable and robust servers using
-New I/O (NIO) APIs, which make scaling to thousands of users possible.
-The ability to embed components that support HTTP, Bayeux Protocol, Java
-Servlet API, and Comet is provided.
-
-[[ghmtl]][[GSRLN00137]][[java-ee-sdk]]
-
-Java EE SDK
-~~~~~~~~~~~
-
-GlassFish Server 5.1 is available as part of the Java EE 8 SDK. The
-following versions of the Java EE 8 SDK are available:
-
-* Java EE 8 SDK: This version includes GlassFish Server 5.1. This
-version is designed for developers who require the full set of Java EE
-APIs for enterprise application development.
-* Java EE 8 Web Profile SDK: This version includes GlassFish Server 5.1
-Web Profile. This version contains web technologies that are subset of
-the Full Platform and is designed for developers who do not require the
-full set of Java EE APIs.
-
-More information about the Java EE SDK distributions are available at
-http://www.oracle.com/technetwork/java/javaee/documentation/index.html[Java
-EE Reference at a Glance]
-(`http://www.oracle.com/technetwork/java/javaee/documentation/index.html`).
-Java EE SDK distributions are available from the
-http://www.oracle.com/technetwork/java/javaee/downloads/index.html[Java
-EE SDK Downloads page]
-(`http://www.oracle.com/technetwork/java/javaee/downloads/index.html`).
-
-[[abpha]][[GSRLN00138]][[how-to-report-problems-and-provide-feedback]]
-
-How to Report Problems and Provide Feedback
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you have problems with GlassFish Server 5.1, provide feedback through
-one of the following mechanisms:
-
-* https://javaee.groups.io/g/glassfish[GlassFish Server forum]
-(`https://javaee.groups.io/g/glassfish`) — A variety of GlassFish Server
-community for various interests and feedback
-* https://github.com/javaee/glassfish/issues[GlassFish Issue track]er
-(`https://github.com/javaee/glassfish/issues`) — GlassFish Server
-project dashboards and issue tracking database
-
-[[abphc]][[GSRLN00139]][[additional-resources]]
-
-Additional Resources
-~~~~~~~~~~~~~~~~~~~~
-
-Useful information can be found at the following locations:
-
-* https://javaee.github.io/glassfish/[GlassFish Server Community]
-(`https://javaee.github.io/glassfish/`)
-* http://www.oracle.com/technetwork/index.html[Oracle Developer
-Information] (`http://www.oracle.com/technetwork/index.html`)
-* http://www.oracle.com/technetwork/indexes/documentation/index.html[Oracle
-product documentation]
-(`http://www.oracle.com/technetwork/indexes/documentation/index.html`)
-
-
diff --git a/docs/release-notes/src/main/jbake/content/title.adoc b/docs/release-notes/src/main/jbake/content/title.adoc
deleted file mode 100644
index 46e7dd7..0000000
--- a/docs/release-notes/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,47 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Release Notes, Release 5.1
-next=preface.html
-prev=toc.html
-~~~~~~
-Eclipse GlassFish Server Release Notes, Release 5.1
-===================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Release Notes
-
-Release 5.1
-
-Contributed 2018, 2019
-
-These Release Notes provide late-breaking information about GlassFish
-Server 5.1 software and documentation. Also included are a summary of
-new product features in the 5.1 release, and descriptions and
-workarounds for known issues and limitations.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Release Notes, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/release-notes/src/main/jbake/jbake.properties b/docs/release-notes/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/release-notes/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/release-notes/src/main/jbake/templates/footer.ftl b/docs/release-notes/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/release-notes/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/release-notes/src/main/jbake/templates/header.ftl b/docs/release-notes/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/release-notes/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/release-notes/src/main/jbake/templates/menu.ftl b/docs/release-notes/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/release-notes/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/release-notes/src/main/jbake/templates/page.ftl b/docs/release-notes/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/release-notes/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/security-guide/README.md b/docs/security-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/security-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/security-guide/pom.xml b/docs/security-guide/pom.xml
index 19e2658..fd9442f 100644
--- a/docs/security-guide/pom.xml
+++ b/docs/security-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>security-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Security Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Security Guide, Release 7</name>
 </project>
diff --git a/docs/security-guide/src/main/asciidoc/administrative-security.adoc b/docs/security-guide/src/main/asciidoc/administrative-security.adoc
new file mode 100644
index 0000000..e0ad496
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/administrative-security.adoc
@@ -0,0 +1,962 @@
+type=page
+status=published
+title=Managing Administrative Security
+next=running-in-secure-environment.html
+prev=security-in-cluster-mode.html
+~~~~~~
+
+= Managing Administrative Security
+
+[[GSSCG00039]][[gknqh]]
+
+
+[[managing-administrative-security]]
+== 5 Managing Administrative Security
+
+This chapter describes how to manage administrative security by using
+the secure administration feature.
+
+This chapter assumes that you are familiar with security features such
+as authentication, authorization, and certificates. If you are not,
+first see link:system-security.html#ablnk[Administering System Security].
+
+Instructions for accomplishing the tasks specific to {productName} by
+using the Administration Console are contained in the Administration
+Console online help.
+
+* link:#gkocp[Secure Administration Overview]
+* link:#gkofl[How Secure Admin Works: The Big Picture]
+* link:#gkofe[Considerations When Running {productName} With Default Security]
+* link:#gkomz[Running Secure Admin]
+* link:#gkolu[Additional Considerations When Creating Local Instances]
+* link:#gkqah[Secure Admin Use Case]
+* link:#gkodn[Upgrading an SSL-Enabled Secure GlassFish Installation to Secure Admin]
+
+[[gkocp]][[GSSCG00162]][[secure-administration-overview]]
+
+=== Secure Administration Overview
+
+The secure administration feature allows an administrator to secure all
+administrative communication between the domain administration server
+(DAS), any remote instances, and administration clients such as the
+`asadmin` utility, the administration console, and REST clients.
+
+In addition, secure administration helps to prevent DAS-to-DAS and
+instance-to-instance traffic, and carefully restricts
+administration-client-to-instance traffic.
+
+The secure administration feature, which is henceforth referred to as
+secure admin, provides a secure environment, in which you can be
+confident that rogue users or processes cannot intercept or corrupt
+administration traffic or impersonate legitimate {productName} components.
+
+When you install {productName} or create a new domain, secure admin
+is disabled by default. When secure admin is disabled, {productName}
+does not encrypt administrative communication among the system
+components and does not accept administrative connections from remote hosts.
+
+The following subcommands enable and disable secure admin:
+
+* enable-secure-admin +
+The `enable-secure-admin` subcommand turns on
+secure admin. {productName} uses SSL encryption to protect subsequent
+administrative traffic and will accept remote administrative
+connections. Enabling secure admin affects the entire domain, including
+the DAS and all instances. The DAS must be running, and not any
+instances, when you run `enable-secure-admin`. You must restart the DAS
+immediately after enabling secure admin, and then start any instances
+you want to run.
++
+[NOTE]
+====
+The `enable-secure-admin` subcommand fails if any administrative user
+has a blank password.
+====
+
+* disable-secure-admin +
+The `disable-secure-admin` subcommand turns off
+secure admin. {productName} no longer encrypts administrative
+messages and will no longer accept remote administration connections.
+Disabling secure admin affects the entire domain, including the DAS and
+all instances. The DAS must be running , and not any instances, when you
+run `disable-secure-admin`. You must restart the DAS immediately after
+disabling secure admin, and then start any instances you want to run.
++
+If secure admin is not enabled, this subcommand has no effect.
+
+This section describes how to use these commands to run secure admin,
+and the implications of doing so.
+
+[[gkofl]][[GSSCG00163]][[how-secure-admin-works-the-big-picture]]
+
+=== How Secure Admin Works: The Big Picture
+
+Secure admin is a domain-wide setting. It affects the DAS and all
+instances and all administration clients. This section describes the
+following topics:
+
+* link:#gkqce[Functions Performed by Secure Admin]
+* link:#gkocv[Which Administration Account is Used?]
+* link:#gkodi[What Authentication Methods Are Used for Secure Administration?]
+* link:#gkpex[Understanding How Certificate Authentication is Performed]
+* link:#gkoey[What Certificates Are Used?]
+* link:#glgmy[An Alternate Approach: Using Distinguished Names to Specify Certificates]
+* link:#gkqjj[Guarding Against Unwanted Connections]
+
+[[gkqce]][[GSSCG00227]][[functions-performed-by-secure-admin]]
+
+==== Functions Performed by Secure Admin
+
+The `enable-secure-admin` subcommand performs the following functions.
+Subsequent sections describe these functions in more detail.
+
+* Enables the secure admin behavior, optionally setting which aliases
+  are to be used for identifying the DAS and instance certificates.
+
+* Adjusts all configurations in the domain, including default-config.
+
+* Adjusts Grizzly settings:
+** SSL/TLS is enabled in the DAS's admin listener and the instances'
+   admin listeners.
+** Port unification (that is, HTTP and HTTPS are handled by the same port),
+   http—to—https redirection, and client authentication
+  (client-auth=want) are enabled.
+** Configures SSL to use the administration truststore.
+** Configures SSL to use the administration keystore and the correct
+   alias (for the self-signed cert) for authenticating itself.
+   (You can use your own certificate instead, as described in link:#gkped[
+   Using Your Own Certificates].
+
++
+The Grizzly configuration on the DAS and each instance is identical,
+with the exception that the DAS uses the `s1as` alias for SSL/TLS
+authentication and the instances use the `glassfish-instance` alias.
+(These alias names are the default, and you can change them.) +
+A server restart is required to change the Grizzly adapter behavior. +
+The restart also synchronizes the restarted instances. When you start
+the instances, the DAS delivers the updated configuration to the instances.
+
+[[gkocv]][[GSSCG00228]][[which-administration-account-is-used]]
+
+==== Which Administration Account is Used?
+
+If only one administration account exists in the realm, {productName}
+treats that account as the current default administration account. In
+this case, when you run an `asadmin` command, you do not need to specify
+the username. If a password for that username is required, you need to
+specify it, typically by using the `--passwordfile` option or by letting
+`asadmin` prompt you for it.
+
+By default, {productName} includes a single account for user "admin"
+and an empty password. Therefore, if you make no other changes before
+you enable secure admin, "admin" is the initial default username and no
+password is required. You need to decide whether enabling secure admin
+without also requiring a password makes sense in your environment.
+
+If multiple admin accounts exist, then {productName} does not
+recognize any admin username as the default. You must then specify a
+valid username via the `-—user` option when you use the `asadmin`
+command (or by or defining the `AS_ASDMIN_USER` environment variable),
+and its associated password (if the associated password is not empty).
+
+The username and password used for a login attempt must match the
+username and password (if required) for an account defined in the realm,
+and you must have set up the account as a member of the admin group.
+
+[[gkodi]][[GSSCG00229]][[what-authentication-methods-are-used-for-secure-administration]]
+
+==== What Authentication Methods Are Used for Secure Administration?
+
+The secure admin feature enforces security via the following
+authentication methods:
+
+* The DAS and instances authenticate to each other via mutual (two-way)
+SSL/TLS certificate authentication. The DAS authenticates to clients via
+one-way SSL/TLS certificate authentication.
++
+The domain creation process creates a default keystore and truststore,
+plus a default private key for the DAS. Secure admin uses this initial
+configuration to set up the truststore so that the DAS and instances
+always trust each other.
+* Remote administration clients (`asadmin`, administration console,
+browsers, and IDEs) must accept the public certificate presented by the
+DAS. If accepted, remote administration clients then send a user name
+and password (HTTP Basic authentication) in the HTTP Authorization
+header. The receiving DAS or instance makes sure those credentials are
+valid in its realm, and authenticates and authorizes the user.
+* A locally-running `asadmin` (that is, connecting to an instance on the
+same host) authenticates and authorizes to the co-located instance using
+a locally-provisioned password.
+* Credentials or other sensitive information sent over the network are
+always encrypted if secure admin is enabled. No credentials are sent in
+the clear if secure admin is enabled. (If secure admin is disabled,
+credentials are sent in the clear.) Messages between administration
+clients and the DAS, between the DAS and remote instances, and between
+local administration clients and instances are encrypted using SSL/TLS.
+This is true even if you explicitly set the `asadmin` `-—secure` option
+to false.
+
+link:#gkobl[Table 5-1] shows which authentication methods are employed
+when secure admin is enabled or disabled.
+
+[[sthref35]][[gkobl]]
+
+Table 5-1 Authentication Methods Employed
+
+[width="100%",cols="30%,30%,40%",options="header",]
+|===
+|Access Method |When Secure Admin is Disabled |When Secure Admin is Enabled
+
+|Remote administration access to the DAS
+|Rejected.
+|Username/password authentication. (Client must also accept server certificate.)
+
+|Communication between DAS and instances
+|Cleartext messages. No mutual authentication.
+|SSL-encrypted messages. SSL mutual authentication using certificates.
+
+|Communication between administration clients and DAS
+|Cleartext messages. No DAS authentication.
+|SSL-encrypted messages. DAS uses SSL certificate server authentication.
+
+|Local asadmin client to instance on same node
+|Cleartext messages. Locally-provisioned password mechanism is used.
+|SSL-encrypted messages. Locally-provisioned password mechanism is used.
+|===
+
+
+[[gkpex]][[GSSCG00230]][[understanding-how-certificate-authentication-is-performed]]
+
+==== Understanding How Certificate Authentication is Performed
+
+The domain creation process creates a primary (private) key and a
+self-signed certificate for the DAS, and a separate private key and
+self-signed certificate for remote instances.
+
+Then, when you enable secure admin, the following actions are performed:
+
+* Both private keys are stored in the domain-wide DAS keystore file, keystore.jks.
+* Both public certificates are stored in the domain-wide DAS truststore
+  file, cacerts.jks.
+
+When the DAS sends a message to an instance:
+
+1. SSL on the instance asks the DAS to provide an SSL/TLS certificate.
+2. The DAS sends the certificate with the alias you specified using the
+`--adminalias` option when you ran the `enable-secure-admin` subcommand.
+3. SSL on the instance makes sure the certificate is valid and
+{productName} makes sure that the security Principal associated with
+the incoming request (provided automatically by Grizzly and the SSL/TLS
+Java implementation) matches the Principal associated with the
+adminalias from the instance's truststore.
+
+[[gkoey]][[GSSCG00231]][[what-certificates-are-used]]
+
+==== What Certificates Are Used?
+
+When you enable secure admin, you can optionally set the `--adminalias`
+and `--instancealias` options that tell secure admin which aliases to
+use for the DAS and instance certificates.
+
+The DAS uses the alias associated with the `--instancealias` option to
+check incoming requests that use SSL/TLS cert authentication.
+Conversely, instances use the alias associated with the `--adminalias`
+option to check incoming requests with certificate authentication.
+
+By default, `--adminalias` of the `enable-secure-admin` subcommand uses
+the `s1as` alias, and the `--instancealias` option uses the
+`glassfish-instance` alias, both of which identify the default
+self-signed certificates.
+
+You can use your tool of choice, such as keytool, to list the default
+self-signed certificates in the keystore, similar to the following:
+
+[NOTE]
+====
+You can list the contents of the keystore without supplying a password.
+However, for a request that affects the private key, such as the
+keytool.exe `--certreq` option, the keystore password is required. This
+is the master password and has a default value of changeit unless you
+change it with the `change-master-password` subcommand.
+====
+
+[source]
+----
+keytool.exe -list -keystore keystore.jks
+Enter keystore password:
+
+*****************  WARNING WARNING WARNING  *****************
+* The integrity of the information stored in your keystore  *
+* has NOT been verified!  In order to verify its integrity, *
+* you must provide your keystore password.                  *
+*****************  WARNING WARNING WARNING  *****************
+
+Keystore type: JKS
+Keystore provider: SUN
+
+Your keystore contains 2 entries
+
+glassfish-instance, Jan 3, 2011, PrivateKeyEntry,
+Certificate fingerprint (MD5): 06:A4:83:84:57:52:9C:2F:E1:FD:08:68:BB:2D:ED:E8
+s1as, Jan 3, 2011, PrivateKeyEntry,
+Certificate fingerprint (MD5): 8B:7D:5A:4A:32:36:1B:5D:6A:29:66:01:B0:A3:CB:85
+----
+
+The `--adminalias` and `--instancealias` values are maintained. Because
+of this design, normal instance creation operations (create-instance
+over SSH and create-local-instance) apply the up-to-date keystore,
+truststore, and configuration to each instance.
+
+[[gkpfi]][[GSSCG00201]][[self-signed-certificates-and-trust]]
+
+===== Self-Signed Certificates and Trust
+
+The self-signed certificates that {productName} uses might not be
+trusted by clients by default because a certificate authority does not
+vouch for the authenticity of the certificate. If you enable secure
+admin and then contact the DAS using an administration client, that
+client will detect whether the certificate is automatically trusted.
+
+Browsers will warn you, let you view the certificate, and ask you to
+reject the certificate, accept it once, or accept it indefinitely, as
+shown in link:#gkqpv[Figure 5-1].
+
+[[GSSCG00002]][[gkqpv]]
+
+
+.*Figure 5-1 Sample Browser Response to Untrusted Certificate*
+image:img/accept-certif.png[
+"This screen shot shows how a browser might respond to an untrusted certificate."]
+
+
+Similarly, the first time `asadmin` receives an untrusted certificate,
+it displays the certificate and lets you accept it or reject it, as
+follows: (If you accept it, `asadmin` also accepts that certificate in
+the future. )
+
+[source]
+----
+D:\glassfish7\glassfish\bin>asadmin enable-secure-admin
+Command enable-secure-admin executed successfully.
+
+
+D:\glassfish7\glassfish\bin>asadmin stop-domain domain1
+Waiting for the domain to stop .......
+Command stop-domain executed successfully.
+
+D:\glassfish7\glassfish\bin>asadmin start-domain domain1
+Waiting for domain1 to start ..............................
+Successfully started the domain : domain1
+domain  Location: D:\glassfish7\glassfish\domains\domain1
+Log File: D:\glassfish7\glassfish\domains\domain1\logs\server.log
+Admin Port: 4848
+Command start-domain executed successfully.
+
+D:\glassfish7\glassfish\bin>asadmin list-domains
+[
+[
+  Version: V3
+  Subject: CN=machine.oracle.com, OU=GlassFish, O=Oracle Corporation, L=San
+ta Clara, ST=California, C=US
+  Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
+
+  Key:  Sun RSA public key, 1024 bits
+  modulus: 916043595073784449632358756374297330881618062298549101072702252458856
+74079656358328568800001548507219262910864311924824938195045822088563459253216383
+21100660819657204757523896415606833471499564071226722478056407102318862796797465
+6245090519956376357288295037519504394674686082145398885236913866246525691704749
+  public exponent: 65537
+  Validity: [From: Tue Jan 04 14:30:08 EST 2011,
+               To: Fri Jan 01 14:30:08 EST 2021]
+  Issuer: CN=machine.oracle.com, OU=GlassFish, O=Oracle Corporation, L=Sant
+a Clara, ST=California, C=US
+  SerialNumber: [    4d237540]
+
+Certificate Extensions: 1
+[1]: ObjectId: 2.5.29.14 Criticality=false
+SubjectKeyIdentifier [
+KeyIdentifier [
+0000: AF 8B 90 1E 51 9A 80 1B   EB A4 D9 C6 01 8A A0 FD  ....Q...........
+0010: DE EC 83 8A                                        ....
+]
+]
+
+]
+  Algorithm: [SHA1withRSA]
+  Signature:
+0000: 3F 2B 30 CE 97 0B 5E F3   72 0E 60 18 8D 3B 04 DC  ?+0...^.r.`..;..
+0010: 26 E6 7A 6F D0 19 CC 26   1D 90 C0 DE 33 4E 53 FB  &.zo...&....3NS.
+0020: DC E7 AE 78 9E BA EF 14   86 57 36 D4 3E 9B C9 FB  ...x.....W6.>...
+0030: C0 B4 EF 72 27 D9 4F 79   1F 89 91 B8 96 26 33 64  ...r'.Oy.....&3d
+0040: 9F 4B 04 4B 83 B9 BF 4D   54 B4 8F 75 17 1A 51 BD  .K.K...MT..u..Q.
+0050: F3 69 94 CE 90 95 08 55   2C 07 D2 23 AC AE EC 6D  .i.....U,..#...m
+0060: 84 B6 3D 00 FB FE 92 50   37 1A 2D 00 F1 21 5C E6  ..=....P7.-..!\.
+0070: 1F 39 26 B2 5D C1 FD C8   B1 4F CC EE 26 84 B8 B5  .9&.]....O..&...
+
+]
+Do you trust the above certificate [y|N] -->
+----
+
+`asadmin` saves certificates you accept in the file `.asadmintruststore`
+in your log-in default directory. You do not generally need to work with
+the file directly, but if you delete or move the file, `asadmin` will
+prompt you again when it receives untrusted certificates.
+
+Some `asadmin` commands such as run-script can contact an instance
+directly to retrieve information (but not to make configuration
+changes). The instances do not use the same certificate as the DAS, so
+in these cases `asadmin` then prompts you to accept or reject the
+instance certificate.
+
+[[gkped]][[GSSCG00202]][[using-your-own-certificates]]
+
+===== Using Your Own Certificates
+
+By default, `--adminalias` of the `enable-secure-admin` subcommand uses
+the `s1as` alias, and the `--instancealias` option uses the
+`glassfish-instance` alias, both of which identify the default
+self-signed certificates.
+
+You can instead have {productName} use your own certificates for this
+purpose by first adding your certificates to the keystore and
+truststore, and then running `enable-secure-admin` and specifying the
+aliases for your certificates.
+
+It is also possible to use `s1as` and `glassfish-instance` as the alias
+names for your own certificates. A benefit of doing so is that you would
+not have to specify alias names with the `enable-secure-admin`
+subcommand.
+
+In addition, your own certificate identified by the `s1as` alias would
+be used in all other cases within the domain where the `s1as` alias is
+used (by default), such as in the SSL configuration of the IIOP and
+http-listener-2 listeners, and as the `encryption.key.alias` and
+`signature.key.alias` used for provider configuration in the SOAP
+authentication layer for Message Security configuration.
+
+You may find the wide-reaching effect of using the `s1as` alias with
+your own certificate to be either a useful feature or an unintended
+consequence. Therefore, you should understand the implications of using
+the `s1as` alias before doing so.
+
+If you decide to use the `s1as` and `glassfish-instance` aliases with
+your own certificates, you will first need to disable secure admin (if
+enabled) and then change or delete the exiting `s1as` alias from both
+the `keystore.jks` keystore and `cacerts.jks` truststore for the DAS.
+You can use the `--changealias` or`--delete` option of `keytool` to
+accomplish this. Then, import your own certificates.
+
+When you enable secure admin, the DAS and the instances then have copies
+of the same keystore and truststore
+
+[[glgmy]][[GSSCG00232]][[an-alternate-approach-using-distinguished-names-to-specify-certificates]]
+
+==== An Alternate Approach: Using Distinguished Names to Specify Certificates
+
+By default, the DAS uses the alias associated with the `--instancealias`
+option to check incoming requests that use SSL/TLS cert authentication.
+Conversely, instances use the alias associated with the `--adminalias`
+option to check incoming requests with certificate authentication.
+
+The link:reference-manual/enable-secure-admin-principal.html#GSRFM00131[
+`enable-secure-admin-principal`] subcommand
+provides an alternate approach. `enable-secure-admin-principal`
+instructs {productName} to accept admin requests when accompanied by
+an SSL certificate with the specified distinguished name (DN).
+
+[NOTE]
+====
+Any certificate you specify with `enable-secure-admin-principal` must
+either be issued by a trusted certificate authority or, if it is
+self-signed, must already be in the {productName} truststore.
+====
+
+For example, assume that you write your own admin client that uses the
+REST interface. When your client establishes the connection, it can
+choose which certificate to use for its client cert. You would then
+specify the DN of this certificate to `enable-secure-admin-principal`.
+
+You must specify either the DN or the `--alias` option of the
+`enable-secure-admin-principal` subcommand.
+
+If you specify the DN, {productName} records the value you specify as
+the DN. You specify the DN as a comma-separated list in quotes. For
+example,
+`"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`.
+
+[NOTE]
+====
+The `enable-secure-admin-principal` subcommand accepts the string you
+enter and does not immediately validate it. However, secure admin must
+be able to match the DN you specify in order to use it.
+====
+
+If you have sufficient privileges to view the content of the keystore,
+you can use keytool to display the DN of a certificate:
+
+[source]
+----
+keytool.exe -v -list -keystore keystore.jks
+Enter keystore password:
+
+Keystore type: JKS
+Keystore provider: SUN
+
+Your keystore contains 2 entries
+
+Alias name: glassfish-instance
+Creation date: Jul 7, 2011
+Entry type: PrivateKeyEntry
+Certificate chain length: 1
+Certificate[1]:
+Owner: CN=systemname.amer.oracle.com-instance, OU=GlassFish,
+O=Oracle Corporation, L=Santa Clara, ST=California, C=US
+Issuer: CN=systemname.amer.oracle.com-instance, OU=GlassFish, O=Oracle Corporation,
+ L=Santa Clara, ST=California, C=US
+Serial number: 4e15d6e7
+Valid from: Thu Jul 07 11:55:19 EDT 2011 until: Sun Jul 04 11:55:19 EDT 2021
+Certificate fingerprints:
+         MD5:  05:6E:01:D6:CE:9D:29:DA:55:D9:10:5E:BE:CC:55:05
+         SHA1: 2A:6D:A2:52:A5:2B:ED:DE:CD:B4:76:4A:65:9D:B5:79:A6:EA:3C:10
+         Signature algorithm name: SHA1withRSA
+         Version: 3
+
+Extensions:
+
+#1: ObjectId: 2.5.29.14 Criticality=false
+SubjectKeyIdentifier [
+KeyIdentifier [
+0000: 96 99 36 B6 CF 60 1E 8A   AE 25 75 4E C8 34 AA AB  ..6..`...%uN.4..
+0010: E1 3B CF 03                                        .;..
+]
+]
+----
+
+If you use the "`--alias` aliasname" form, then {productName} looks
+in its truststore for a certificate with the specified alias and uses
+the DN associated with that certificate. alias-name must be an alias
+associated with a certificate currently in the truststore. Therefore,
+you may find it most useful for self-signed certificates for which you
+know the alias.
+
+If you have sufficient privileges to view the contents of the
+truststore, you can use keytool to display the alias of a certificate:
+
+[source]
+----
+keytool.exe -v -list -keystore cacerts.jks
+Enter keystore password:
+:
+:
+Alias name: glassfish-instance
+Creation date: Jul 7, 2011
+Entry type: trustedCertEntry
+
+Owner: CN=systemname.amer.oracle.com-instance, OU=GlassFish, O=Oracle Corporation,
+L=Santa Clara, ST=California, C=US
+Issuer: CN=systemname.amer.oracle.com-instance, OU=GlassFish, O=Oracle Corporation,
+ L=Santa Clara, ST=California, C=US
+Serial number: 4e15d6e7
+Valid from: Thu Jul 07 11:55:19 EDT 2011 until: Sun Jul 04 11:55:19 EDT 2021
+Certificate fingerprints:
+         MD5:  05:6E:01:D6:CE:9D:29:DA:55:D9:10:5E:BE:CC:55:05
+         SHA1: 2A:6D:A2:52:A5:2B:ED:DE:CD:B4:76:4A:65:9D:B5:79:A6:EA:3C:10
+         Signature algorithm name: SHA1withRSA
+         Version: 3
+
+Extensions:
+
+#1: ObjectId: 2.5.29.14 Criticality=false
+SubjectKeyIdentifier [
+KeyIdentifier [
+0000: 96 99 36 B6 CF 60 1E 8A   AE 25 75 4E C8 34 AA AB  ..6..`...%uN.4..
+0010: E1 3B CF 03                                        .;..
+]
+]
+----
+
+When you run `enable-secure-admin`, {productName} automatically
+records the DNs for the admin alias and the instance alias, whether you
+specify those values or use the defaults. You do not need to run
+`enable-secure-admin-principal` yourself for those certificates.
+
+Other than these certificates, you must run
+`enable-secure-admin-principal` for any other DN that {productName}
+should authorize to send admin requests. This includes DNs corresponding
+to trusted certificates (those with a certificate chain to a trusted
+authority.)
+
+You can run `enable-secure-admin-principal` multiple times so that
+{productName} accepts admin requests from a client sending a
+certificate with any of the DNs you specify.
+
+The following example shows how to specify a DN for authorizing access
+in secure administration:
+
+[source]
+----
+asadmin> enable-secure-admin-principal
+"CN=system.amer.oracle.com,OU=GlassFish,
+O=Oracle Corporation,L=Santa Clara,ST=California,C=US"
+
+Command enable-secure-admin-principal executed successfully.
+----
+
+You can use the link:reference-manual/disable-secure-admin-principal.html#GSRFM00123[`disable-secure-admin-principal`]
+subcommand to disable a specific certificate for authenticating and
+authorizing access in secure admin. You must specify either the DN or
+the `--alias` option of the `disable-secure-admin-principal` subcommand.
+To disable multiple certificates for authenticating and authorizing
+access in secure admin, run the `disable-secure-admin-principal`
+subcommand multiple times.
+
+You can use the link:reference-manual/list-secure-admin-principals.html#GSRFM00200[`list-secure-admin-principals`]
+subcommand to list the certificates for which {productName} accepts
+admin requests from clients.
+
+[[gkqjj]][[GSSCG00233]][[guarding-against-unwanted-connections]]
+
+==== Guarding Against Unwanted Connections
+
+Secure admin guards against unwanted connections in several ways:
+
+* DAS-to-DAS, instance-to-instance:
+
+** The DAS and the instances have copies of the same truststore, which
+contains the public certificate of the DAS and the separate public
+certificate that is used by all instances. In addition, {productName}
+includes a unique, generated "domain ID" that servers use to ensure that
+admin requests from other {productName}s originate from the correct
+domain.
+
+** DAS-to-other-DAS communication is not authenticated because each
+different DAS will have its own self-signed certificate that is not in
+the truststore of the other DAS.
+
+** DAS-to-itself communication is unlikely unless you were to
+misconfigure the admin listener port for an instance on the same host so
+it is the same as for the DAS. Similarly, instance-to-instance traffic
+is unlikely unless you were to misconfigure listener ports for instances
+on the same host.
++
+To prevent both of these situations, both cases are handled by making
+sure that the connecting Principal (alias) is not the running Principal.
+secure admin ensures that if the client has authenticated using SSL/TLS
+client authentication that the Principal associated with the remote
+client is not the same as the current process. That is, the DAS makes
+sure that the Principal is not itself. Similarly, each instance ensures
+that the client is not an instance. (The instances share the same
+self-signed certificate and therefore are mapped to the same Principal.)
+* Remote client-to-instance:
++
+Remote `asadmin` clients are unable to connect directly to instances. If
+the user on host "test1" runs a local command but specifies a remote
+instance on host "test2," `asadmin` on test1 will read and send that
+locally-provisioned password. The instance on "test2" will have a
+different locally-provisioned password and so the authentication attempt
+will fail.
++
+Therefore, a user on "test1" will not be able to run a remote command
+targeting an instance on "test2."
+
+[[gkofe]][[GSSCG00164]][[considerations-when-running-glassfish-server-with-default-security]]
+
+=== Considerations When Running {productName} With Default Security
+
+In {productName}, the default admin account is username "admin" with
+an empty password. Admin clients provide empty credentials or none at
+all, and all are authenticated and authorized as that default admin
+user. None of the participants (clients, DAS, or instances) encrypts
+network messages.
+
+If this level of security is acceptable in your environment, no changes
+are needed and you do not need to enable secure administration. Imposing
+a heightened level of security is optional.
+
+However, consider link:#gkode[Table 5-2], which shows which operations
+are accepted and rejected when secure admin is disabled.
+
+
+[NOTE]
+====
+When secure admin is disabled, {productName} does allow remote
+monitoring (read-only) access via the REST interface.
+====
+
+
+[[sthref37]][[gkode]]
+
+Table 5-2 Accepted and Rejected Operations if Secure Admin is Disabled
+
+[width="100%",cols="30%,25%,45%",options="header",]
+|===
+|Operation |Run From Same System as DAS |Run From Remote System
+
+|`start-local-instance`
+|Functions as expected
+|Cannot sync with DAS.
+The instance starts but cannot communicate with the DAS.
+DAS will not see the instance.
+
+|Any other `asadmin` subcommand
+|Functions as expected
+|Rejected. A user sees the username/password prompt, but even correct entries are rejected.
+
+|Commands that use SSH. For example, `create-instance`.
+|Functions as expected; requires prior SSH configuration.
+|Functions as expected; requires prior SSH configuration.
+|===
+
+
+[[gkomz]][[GSSCG00165]][[running-secure-admin]]
+
+=== Running Secure Admin
+
+This section describes how to run secure admin. The section begins with
+prerequisites for running secure admin.
+
+[[gkokc]][[GSSCG00234]][[prerequisites-for-running-secure-admin]]
+
+==== Prerequisites for Running Secure Admin
+
+Before running {productName} with secure admin enabled, you must make
+sure that:
+
+1. The DAS is installed, initialized, and running.
+2. If one or more remote instances are installed and initialized, they
+   must not be running.
+3. Any administration clients you require are installed.
+4. The DAS communicates on the `-—adminport` you configure when you
+   create the domain, and defaults to 4848. An instance communicates on the
+   `ASADMIN_LISTENER_PORT` system property you specify for the instance.
+5. The user name and password sent by remote administration clients
+   (`asadmin`, administration console, browsers, and IDEs) must exist in
+   the realm and be in the admin group.
+6. The keystore and truststore for the domain exist. (They are created
+   by default when you create the domain or install {productName}.)
++
+If you are not using the default self-signed certificates, you must add
+   your own valid certificates and CA root in the keystore and truststore,
+   respectively.
+7. If you are not using the default self-signed certificates, create
+   two aliases corresponding to certificates in the keystore and
+   truststore: one that the DAS will use for authenticating itself in
+   administration traffic, and one that the instances will use for
+   authenticating itself in administration traffic.
+
+[[glgmh]][[GSSCG00235]][[an-alternate-approach-using-a-user-name-and-password-for-internal-authentication-and-authorization]]
+
+==== An Alternate Approach: Using A User Name and Password for Internal Authentication and Authorization
+
+By default, secure admin uses the {productName} self-signed
+certificates, via the aliases corresponding to these certificates, to
+authenticate the DAS and instances with each other and to authorize
+secure admin operations. Specifically, the DAS uses the (`s1as`) alias
+for authenticating itself and authorizing access in administration
+traffic, and instances use the (`glassfish-instance`) alias for
+authenticating themselves and authorizing access in secure admin traffic.
+
+As described in link:#gkped[Using Your Own Certificates], you can
+instead use your own certificates and their associated aliases for
+authenticating and authorizing the DAS and instances in administration traffic.
+
+As an alternative to this certificate-based authentication and
+authorization, you can instead use the
+link:reference-manual/enable-secure-admin-internal-user.html#GSRFM00130[
+`enable-secure-admin-internal-user`] subcommand to
+instruct all servers in the domain to authenticate to each other, and to
+authorize admin operations submitted to each other, using an existing
+admin user name and password rather than SSL certificates.
+
+[NOTE]
+====
+If secure admin is enabled, all {productName} processes continue to
+use SSL encryption to secure the content of the admin messages,
+regardless of how they authenticate to each other.
+====
+
+You might want to use the
+link:reference-manual/enable-secure-admin-internal-user.html#GSRFM00130[
+`enable-secure-admin-internal-user`] subcommand if your
+use case favors the use of a user name and password combination over the
+use of SSL certificates and aliases.
+
+This generally means that you must:
+
+1. Create a valid admin user.
++
+[source]
+----
+asadmin> create-file-user --authrealmname admin-realm --groups
+asadmin newAdminUsername
+----
+2. Create a password alias for the just-created password.
++
+[source]
+----
+asadmin> create-password-alias passwordAliasName
+----
+3. Use that user name and password for inter-process authentication and
+admin authorization.
++
+[source]
+----
+asadmin> enable-secure-admin-internal-user
+--passwordalias passwordAliasName
+newAdminUsername
+----
+
+The following example allows secure admin to use a user name and
+password alias for authentication and authorization between the DAS and
+instances, instead of certificates.
+
+[source]
+----
+asadmin> enable-secure-admin-internal-user
+--passwordalias passwordAliasName
+newAdminUsername
+----
+
+If {productName} finds at least one secure admin internal user, then
+if secure admin is enabled {productName} processes will not use SSL
+authentication and authorization with each other and will instead use
+user name password pairs.
+
+Most users who use this subcommand will need to set up only one secure
+admin internal user. If you set up more than one secure admin internal
+user, you should not make any assumptions about which user name and
+password pair {productName} will choose to use for any given admin
+request.
+
+As a general practice, you should not use the same user name and
+password pair for internal admin communication and for admin user login.
+That is, create at least one admin account specifically for internal
+admin communication.
+
+You can use the link:reference-manual/disable-secure-admin-internal-user.html#GSRFM00122[`disable-secure-admin-internal-user`]
+subcommand to disable secure admin from using the user name (instead of
+SSL certificates) to authenticate the DAS and instances with each other
+and to authorize admin operations. To disable multiple user names for
+authenticating and authorizing access in secure admin, run the
+`disable-secure-admin-internal-user` subcommand multiple times.
+
+You can use the link:reference-manual/list-secure-admin-internal-users.html#GSRFM00199[`list-secure-admin-internal-users`]
+subcommand to list the user names for which {productName}
+authenticate the DAS and instances with each other and authorizes admin
+operations.
+
+[[gkqby]][[GSSCG00236]][[example-of-running-enable-secure-admin]]
+
+==== Example of Running enable-secure-admin
+
+The following example shows how to enable secure admin for a domain
+using the default admin alias and the default instance alias. You must
+restart the DAS immediately after enabling secure admin.
+
+[NOTE]
+====
+The only indicator that secure admin is enabled is the successful status
+from the `enable-secure-admin` subcommand. When secure admin is running,
+the DAS and instances do not report the secure admin status.
+====
+
+[source]
+----
+asadmin> enable-secure-admin
+Command enable-secure-admin executed successfully.
+----
+
+The following example shows how to enable secure admin for a domain
+using an admin alias adtest and an instance alias intest. You can also
+use this command to modify an existing secure admin configuration to use
+different aliases.
+
+[source]
+----
+asadmin> enable-secure-admin --adminalias adtest --instancealias intest
+----
+
+The following example shows how to disable secure admin:
+[source]
+----
+asadmin> disable-secure-admin
+Command disable-secure-admin executed successfully.
+----
+
+You can use the following command to see the current state of secure
+admin in a domain:
+[source]
+----
+asadmin> get secure-admin.enabled
+secure-admin.enabled=false
+Command get executed successfully.
+----
+
+[[gkolu]][[GSSCG00166]][[additional-considerations-when-creating-local-instances]]
+
+=== Additional Considerations When Creating Local Instances
+
+If you use `xxx-local-instance` commands to set up local instances,
+either leave secure admin disabled, or enable it before you create or
+start the instances and leave it that way.
+
+However, if you use `xxx-instance` commands over SSH to manage remote
+instances, you can enable and disable secure admin, although this is not
+recommended because it can result in an inconsistent security model.
+
+[[gkqah]][[GSSCG00167]][[secure-admin-use-case]]
+
+=== Secure Admin Use Case
+
+This section describes a simple secure admin use case.
+
+In the
+`asadmin --secure=false --user me --passwordfile myFile.txt cmd ...` use
+case, the user submits a command with `--secure` set to false, and
+supplies password credentials.
+
+The important concept to note is that `asadmin` uses HTTPS because of
+the DAS redirection, even though the command sets `--secure` to false.
+`asadmin` sends the HTTP Authorization header along with the redirected request.
+
+In addition to the flow described here, certificate authentication is
+also performed as described in link:#gkqax[Table 5-3]. Also, the
+credentials that the user supplies are assumed to be valid administrator
+credentials for the DAS.
+
+[[sthref38]][[gkqax]]
+
+Table 5-3 asadmin --secure=false, With Username and Password
+
+[width="100%",cols="34%,33%,33%",options="header",]
+|===
+|asadmin |Grizzly |AdminAdapter
+
+|Sends HTTP request, no authorization header (because the transport is not secure).
+|
+|
+
+|
+|Returns 3xx status and redirects HTTP to HTTPS.
+|
+
+|Follows redirection, this time adding the Authorization header (because transport is now HTTPS).
+|
+|
+
+|
+|
+|Authenticates admin user and password from HTTP Authorization
+header in the realm Executes command, and responds with success status.
+|===
+
+
+[[gkodn]][[GSSCG00168]][[upgrading-an-ssl-enabled-secure-glassfish-installation-to-secure-admin]]
+
+=== Upgrading an SSL-Enabled Secure GlassFish Installation to Secure Admin
+
+If you enable secure admin on an SSL-enabled {productName}
+installation, secure admin uses the existing <ssl cert-nickname> value
+as the DAS adminalias for secure admin.
+
+
diff --git a/docs/security-guide/src/main/jbake/assets/img/accept-certif.png b/docs/security-guide/src/main/asciidoc/img/accept-certif.png
similarity index 100%
rename from docs/security-guide/src/main/jbake/assets/img/accept-certif.png
rename to docs/security-guide/src/main/asciidoc/img/accept-certif.png
Binary files differ
diff --git a/docs/security-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/security-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/security-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/security-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/security-guide/src/main/jbake/assets/img/jacc-providers.png b/docs/security-guide/src/main/asciidoc/img/jacc-providers.png
similarity index 100%
rename from docs/security-guide/src/main/jbake/assets/img/jacc-providers.png
rename to docs/security-guide/src/main/asciidoc/img/jacc-providers.png
Binary files differ
diff --git a/docs/security-guide/src/main/jbake/assets/img/securityrolemapping.png b/docs/security-guide/src/main/asciidoc/img/securityrolemapping.png
similarity index 100%
rename from docs/security-guide/src/main/jbake/assets/img/securityrolemapping.png
rename to docs/security-guide/src/main/asciidoc/img/securityrolemapping.png
Binary files differ
diff --git a/docs/security-guide/src/main/asciidoc/loe.adoc b/docs/security-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..8aa7284
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,60 @@
+type=page
+status=published
+title=List of Examples
+next=lof.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:system-security.html#gksel[1-1 Sample
+AppservCertificateLoginModule Code]
+* link:system-security.html#givil[1-2 Changing the Master Password]
+* link:system-security.html#ghlac[1-3 Changing the Admin Password]
+* link:system-security.html#ginvi[1-4 Creating a Password Alias]
+* link:system-security.html#ginsk[1-5 Listing Password Aliases]
+* link:system-security.html#ginul[1-6 Deleting a Password Alias]
+* link:system-security.html#giodl[1-7 Updating a Password Alias]
+* link:system-security.html#ghjlw[1-8 Creating an Audit Module]
+* link:system-security.html#ghjmy[1-9 Listing Audit Modules]
+* link:system-security.html#ghjhm[1-10 Deleting an Audit Module]
+* link:system-security.html#ghlii[1-11 Creating a Self-Signed Certificate
+in a JKS Keystore by Using an RSA Key Algorithm]
+* link:system-security.html#ghlew[1-12 Creating a Self-Signed Certificate
+in a JKS Keystore by Using a Default Key Algorithm]
+* link:system-security.html#ghldw[1-13 Displaying Available Certificates
+From a JKS Keystore]
+* link:system-security.html#ghlfd[1-14 Displaying Certificate information
+From a JKS Keystore]
+* link:system-security.html#ghlhu[1-15 Importing an RFC/Text-Formatted
+Certificate Into a JKS Keystore]
+* link:system-security.html#ghlim[1-16 Exporting a Certificate From a JKS
+Keystore in PKCS7 Format]
+* link:system-security.html#ghleb[1-17 Exporting a Certificate From a JKS
+Keystore in RFC/Text Format]
+* link:system-security.html#ghlgy[1-18 Deleting a Certificate From a JKS
+Keystore]
+* link:user-security.html#ggpjx[2-1 Creating a Realm]
+* link:user-security.html#ggpkw[2-2 Listing Realms]
+* link:user-security.html#ggpjf[2-3 Deleting a Realm]
+* link:user-security.html#ghysu[2-4 Assigning a Security Role]
+* link:user-security.html#ggpkq[2-5 Creating a User]
+* link:user-security.html#ggpgf[2-6 Listing File Users]
+* link:user-security.html#ghlgb[2-7 Listing Groups for a User]
+* link:user-security.html#ggpgh[2-8 Updating a User]
+* link:user-security.html#ggpib[2-9 Deleting a User]
+* link:message-security.html#gipxo[3-1 Message Security Policy Setting
+for Application Clients]
+* link:message-security.html#giosd[3-2 Creating a Message Security
+Provider]
+* link:message-security.html#gioui[3-3 Listing Message Security
+Providers]
+* link:message-security.html#gioug[3-4 Deleting a Message Security
+Provider]
+* link:message-security.html#gkxqz[3-5 Creating a Message Security
+Provider]
+
+
diff --git a/docs/security-guide/src/main/asciidoc/lof.adoc b/docs/security-guide/src/main/asciidoc/lof.adoc
new file mode 100644
index 0000000..107cde4
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/lof.adoc
@@ -0,0 +1,17 @@
+type=page
+status=published
+title=List of Figures
+next=lot.html
+prev=loe.html
+~~~~~~
+
+= List of Figures
+
+[[list-of-figures]]
+== List of Figures
+
+* link:system-security.html#fxjfw[1-1 Role Mapping]
+* link:administrative-security.html#gkqpv[5-1 Sample Browser Response to
+Untrusted Certificate]
+
+
diff --git a/docs/security-guide/src/main/asciidoc/lot.adoc b/docs/security-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..0bd9893
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,27 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=lof.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:message-security.html#fxjcu[3-1 Message Protection Policy Mapping
+to WS-Security SOAP Operations]
+* link:administrative-security.html#gkobl[5-1 Authentication Methods
+Employed]
+* link:administrative-security.html#gkode[5-2 Accepted and Rejected
+Operations if Secure Admin is Disabled]
+* link:administrative-security.html#gkqax[5-3 asadmin --secure=false,
+With Username and Password]
+* link:running-in-secure-environment.html#gksbt[6-1 Securing the
+{productName} Host]
+* link:running-in-secure-environment.html#gkscz[6-2 Securing {productName}]
+* link:running-in-secure-environment.html#gkscv[6-3 Securing
+Applications]
+
+
diff --git a/docs/security-guide/src/main/asciidoc/message-security.adoc b/docs/security-guide/src/main/asciidoc/message-security.adoc
new file mode 100644
index 0000000..28c7cbd
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/message-security.adoc
@@ -0,0 +1,877 @@
+type=page
+status=published
+title=Administering Message Security
+next=security-in-cluster-mode.html
+prev=user-security.html
+~~~~~~
+
+= Administering Message Security
+
+[[GSSCG00037]][[ablrk]]
+
+
+[[administering-message-security]]
+== 3 Administering Message Security
+
+This chapter provides information and procedures on configuring the
+message layer security for web services in the {productName} environment.
+
+[NOTE]
+====
+Message security (JSR 196) is supported only in the Full Platform
+Profile of {productName}, not in the Web Profile.
+====
+
+The following topics are addressed here:
+
+* link:#ablrn[About Message Security in {productName}]
+* link:#giood[Enabling Default Message Security Providers for Web Services]
+* link:#giouf[Configuring Message Protection Policies]
+* link:#giosl[Administering Non-default Message Security Providers]
+* link:#gdhgg[Enabling Message Security for Application Clients]
+* link:#gglrb[Additional Information About Message Security]
+
+Some of the material in this chapter assumes a basic understanding of
+security and web services concepts. For more information about security,
+see link:system-security.html#ggktf[About System Security in {productName}].
+
+Instructions for accomplishing the tasks in this chapter by using the
+Administration Console are contained in the Administration Console online help.
+
+[[ablrn]][[GSSCG00153]][[about-message-security-in-glassfish-server]]
+
+=== About Message Security in {productName}
+
+Message security enables a server to perform end-to-end authentication
+of web service invocations and responses at the message layer. Security
+information is inserted into messages so that it travels through the
+networking layers and arrives with the intact message at the message
+destination(s). Message security differs from transport layer security
+in that message security can be used to decouple message protection from
+message transport so that messages remain protected after transmission.
+
+Web services deployed on {productName} are secured by binding SOAP
+layer message security providers and message protection policies to the
+containers in which the applications are deployed, or to web service
+endpoints served by the applications. SOAP layer message security
+functionality is configured in the client-side containers of {productName} by binding SOAP layer message security providers and message
+protection policies to the client containers or to the portable service
+references declared by client applications.
+
+Message-level security can be configured for the entire {productName}
+or for specific applications or methods. Configuring message security at
+the application level is discussed in the
+link:application-development-guide.html#GSDVG[
+{productName} Application Development Guide].
+
+The following topics are addressed here:
+
+* link:#ablrs[Security Tokens and Security Mechanisms]
+* link:#ablrx[Authentication Providers]
+* link:#ablrw[Message Protection Policies]
+* link:#ablrz[Application-Specific Web Services Security]
+* link:#gioom[Message Security Administration]
+* link:#ablsa[Sample Application for Web Services]
+
+[[ablrs]][[GSSCG00218]][[security-tokens-and-security-mechanisms]]
+
+==== Security Tokens and Security Mechanisms
+
+WS-Security is a specification that provides a communications protocol
+for applying security to web services. The security mechanisms implement
+the specification. Web Services Interoperability Technologies (WSIT)
+implements WS-Security so as to provide interoperable message content
+integrity and confidentiality, even when messages pass through
+intermediary nodes before reaching their destination endpoint.
+WS-Security as provided by WSIT is in addition to existing
+transport-level security, which can still be used.
+
+The Simple Object Access Protocol (SOAP) layer message security
+providers installed with {productName} can be used to employ
+username/password and X.509 certificate security tokens to authenticate
+and encrypt SOAP web services messages.
+
+* Username Tokens. {productName} uses username tokens in SOAP
+messages to authenticate the message sender. The recipient of a message
+containing a username token (within embedded password) validates that
+the message sender is authorized to act as the user (identified in the
+token) by confirming that the sender knows the password of the user.
++
+When using a username token, a valid user database must be configured on
+{productName}.
+* Digital Signatures. {productName} uses XML digital signatures to
+bind an authentication identity to message content. Clients use digital
+signatures to establish their caller identity. Digital signatures are
+verified by the message receiver to authenticate the source of the
+message content (which might be different from the sender of the
+message.)
++
+When using digital signatures, valid keystore and truststore files must
+be configured on {productName}.
+* Encryption. The purpose of encryption is to modify the data so that it
+can only be understood by its intended audience. This is accomplished by
+substituting an encrypted element for the original content. When based
+on public key cryptography, encryption can be used to establish the
+identity of the parties who are authorized to read a message.
++
+When using encryption, a Java Cryptography Extension (JCE) provider that
+supports encryption must be installed.
+
+[[ablrx]][[GSSCG00219]][[authentication-providers]]
+
+==== Authentication Providers
+
+The authentication layer is the message layer on which authentication
+processing must be performed. {productName} enforces web services
+message security at the SOAP layer. The types of authentication that are
+supported include the following:
+
+* Sender authentication, including username-password authentication
+* Content authentication, including XML digital signatures
+
+{productName} invokes authentication providers to process SOAP
+message layer security. The message security providers provide
+information such as the type of authentication that is required for the
+request and response messages. The following message security providers
+are included with {productName}:
+
+* Client-side Provider. A client-side provider establishes (by signature
+or username/password) the source identity of request messages and/or
+protects (by encryption) request messages such that they can only be
+viewed by their intended recipients. A client-side provider also
+establishes its container as an authorized recipient of a received
+response (by successfully decrypting it) and validates passwords or
+signatures in the response to authenticate the source identity
+associated with the response. Client-side providers configured in
+{productName} can be used to protect the request messages sent and
+the response messages received by server-side components (servlets and
+EJB components) acting as clients of other services.
++
+The default client provider is used to identify the client—side provider
+to be invoked for any application for which a specific client provider
+has not been bound.
+* Server-side Provider. A server-side provider establishes its container
+as an authorized recipient of a received request (by successfully
+decrypting it), and validates passwords or signatures in the request to
+authenticate the source identity associated with the request. A
+server-side provider also establishes (by signature or
+username/password) the source identity of response messages and/or
+protects (by encryption) response messages such that they can only be
+viewed by their intended recipients. Server-side providers are only
+invoked by server-side containers.
+
+The default server provider is used to identify the server—side provider
+to be invoked for any application for which a specific server provider
+has not been bound.
+
+[[ablrw]][[GSSCG00220]][[message-protection-policies]]
+
+==== Message Protection Policies
+
+A request policy defines the authentication policy requirements
+associated with request processing performed by the authentication
+provider. Policies are expressed in message sender order such that a
+requirement that encryption occur after content would mean that the
+message receiver would expect to decrypt the message before validating
+the signature. The response policy defines the authentication policy
+requirements associated with response processing performed by the
+authentication provider.
+
+Message protection policies are defined for request message processing
+and response message processing. The policies are expressed in terms of
+requirements for source and/or recipient authentication. The providers
+apply specific message security mechanisms to cause the message
+protection policies to be realized in the context of SOAP web services
+messages.
+
+* Source Authentication Policy. A source authentication policy
+represents a requirement that the identity of the entity that sent a
+message or that defined the content of a message be established in the
+message such that it can be authenticated by the message receiver.
+* Recipient Authentication Policy. A recipient authentication policy
+represents a requirement that the message be sent such that the identity
+of the entities that can receive the message can be established by the
+message sender.
+
+Request and response message protection policies are defined when a
+security provider is configured into a container. Application-specific
+message protection policies (at the granularity of the web service port
+or operation) can also be configured within the {productName}
+deployment descriptors of the application or application client. In any
+situation where message protection policies are defined, the request and
+response message protection policies of the client must be equivalent t)
+the request and response message protection policies of the server. For
+more information about defining application-specific message protection
+policies, see "link:application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]" in {productName} Application Development Guide.
+
+[[ablrz]][[GSSCG00221]][[application-specific-web-services-security]]
+
+==== Application-Specific Web Services Security
+
+Application-specific web services security functionality is configured
+(at application assembly) by defining the `message-security-binding`
+elements in the {productName} deployment descriptors of the
+application. These `message-security-binding` elements are used to
+associate a specific security provider or message protection policy with
+a web service endpoint or service reference, and might be qualified so
+that they apply to a specific port or method of the corresponding
+endpoint or referenced service.
+
+For information about defining application-specific message protection
+policies, see "link:application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]" in {productName} Application Development Guide.
+
+[[gioom]][[GSSCG00222]][[message-security-administration]]
+
+==== Message Security Administration
+
+When {productName} is installed, SOAP layer message security
+providers are configured in the client and server-side containers of
+{productName}, where they are available for binding for use by the
+containers, or by individual applications or clients deployed in the
+containers. During installation, the default providers are configured
+with a simple message protection policy that, if bound to a container,
+or to an application or client in a container, would cause the source of
+the content in all request and response messages to be authenticated by
+XML digital signature.
+
+{productName} administrative interfaces can be used as follows:
+
+* To modify the message protection policies enforced by the providers
+* To bind the existing providers for use by the server-side containers
+of {productName}
+* To create new security provider configurations with alternative
+message protection policies
+
+Analogous administrative operations can be performed on the SOAP message
+layer security configuration of the application client container. If you
+want web services security to protect all web services applications
+deployed on {productName}. See link:#gdhgg[Enabling Message Security
+for Application Clients].
+
+By default, message layer security is disabled on {productName}. To
+configure message layer security for the {productName} see
+link:#giood[Enabling Default Message Security Providers for Web
+Services].
+
+In most cases, you must restart {productName} after performing
+administrative tasks. This is especially true if you want the effects of
+the administrative change to be applied to applications that were
+already deployed on {productName} at the time the operation was
+performed.
+
+[[giose]][[GSSCG00199]][[message-security-tasks]]
+
+===== Message Security Tasks
+
+The general implementation tasks for message security include some or
+all of the following:
+
+1. If you are using a version of the Java SDK prior to version 1.5.0,
+   and using encryption technology, configuring a JCE provider
+2. If you are using a username token, verifying that a user database is
+   configured for an appropriate realm
++
+When using a username/password token, an appropriate realm must be
+   configured and a user database must be configured for the realm.
+3. Managing certificates and private keys, if necessary
+4. Enabling the {productName} default providers
+5. Configuring new message security providers
+
+[[ablro]][[GSSCG00200]][[message-security-roles]]
+
+===== Message Security Roles
+
+In {productName}, the administrator and the application deployer are
+expected to take primary responsibility for configuring message
+security. In some situations, the application developer might also
+contribute.
+
+[[ablrp]][[GSSCG00057]][[system-administrator]]
+
+System Administrator
+
+The system administrator is responsible for the following message
+security tasks:
+
+* Administering server security settings and certificate databases
+* Administering keystore and truststore files
+* Configuring message security providers on {productName}
+* Turning on message security
+* (If needed) Installing the samples server
+
+[[ablrq]][[GSSCG00058]][[application-deployer]]
+
+Application Deployer
+
+The application deployer is responsible for the following message
+security tasks:
+
+* Specifying (at application reassembly) any required
+application-specific message protection policies if such policies have
+not already been specified by the developer/assembler.
+* Modifying {productName} deployment descriptors to specify
+application-specific message protection policies information
+(message-security-binding elements) to web service endpoint and service references.
+
+[[ablrr]][[GSSCG00059]][[application-developerassembler]]
+
+Application Developer/Assembler
+
+The application developer/assembler is responsible for the following
+message security tasks:
+
+* Determining if an application-specific message protection policy is
+required by the application
++
+If so, the developer ensures that the required policy is specified at
+application assembly time.
+* Specifying how web services should be set up for message security
++
+Message security can be set up by the administrator so that all web
+services are secured, or by the application deployer when the security
+provider or protection policy bound to the application must be different
+from that bound to the container.
+* Turning on message security if authorized to do so by the administrator
+
+[[ablsa]][[GSSCG00223]][[sample-application-for-web-services]]
+
+==== Sample Application for Web Services
+
+{productName} includes a sample application named `xms`. The `xms`
+application features a simple web service that is implemented by both a
+Jakarta EE EJB endpoint and a Java servlet endpoint. Both endpoints share
+the same service endpoint interface. The service endpoint interface
+defines a single operation, `sayHello`, which takes a string argument,
+and returns a `String` composed by pre-pending `Hello` to the invocation argument.
+
+The `xms` sample application is provided to demonstrate the use of
+{productName} WS-Security functionality to secure an existing web
+services application. The instructions which accompany the sample
+describe how to enable the WS-Security functionality of {productName}
+such that it is used to secure the `xms` application. The sample also
+demonstrates the binding of WS-Security functionality directly to the
+application as described in link:#ablrz[Application-Specific Web
+Services Security] application.
+
+For information about compiling, packaging, and running the `xms` sample
+application, "link:application-development-guide/securing-apps.html#GSDVG00006[
+Securing Applications]" in
+{productName} Application Development Guide.
+
+The `xms` sample application is installed in the following directory:
+as-install``/samples/webservices/security/ejb/apps/xms/``
+
+[[giood]][[GSSCG00154]][[enabling-default-message-security-providers-for-web-services]]
+
+=== Enabling Default Message Security Providers for Web Services
+
+By default, message security is disabled on {productName}. Default
+message security providers have been created, but are not active until
+you enable them. After the providers have been enabled, message security
+is enabled.
+
+The following topics are addressed here:
+
+* link:#giork[To Enable a Default Server Provider]
+* link:#giort[To Enable a Default Client Provider]
+
+[[giork]][[GSSCG00123]][[to-enable-a-default-server-provider]]
+
+==== To Enable a Default Server Provider
+
+To enable message security for web services endpoints deployed in
+{productName}, you must specify a security provider to be used by
+default on the server side. If you enable a default provider for message
+security, you also need to enable providers to be used by clients of the
+web services deployed in {productName}.
+
+1. Specify the default server provider by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+Use the following syntax:
++
+[source]
+----
+asadmin set --port admin-port
+server-config.security-service.message-security-config.SOAP.
+default_provider=ServerProvider
+----
+2. To apply your changes to applications that are already running,
+restart {productName}.
++
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]" in {productName} Administration Guide.
+
+[[giort]][[GSSCG00124]][[to-enable-a-default-client-provider]]
+
+==== To Enable a Default Client Provider
+
+To enable message security for web service invocations originating from
+deployed endpoints, you must specify a default client provider. If you
+enabled a default client provider for {productName}, you must ensure
+that any services invoked from endpoints deployed in {productName}
+are compatibly configured for message layer security.
+
+1. Specify the default client provider by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+Use the following syntax:
++
+[source]
+----
+asadmin set --port admin-port
+server-config.security-service.message-security-config.SOAP.
+default_client_provider=ClientProvider
+----
+2. To apply your changes to applications that are already running,
+restart {productName}.
++
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]" in {productName} Administration Guide.
+
+[[giouf]][[GSSCG00155]][[configuring-message-protection-policies]]
+
+=== Configuring Message Protection Policies
+
+Message protection policies are defined for request message processing
+and response message processing. The policies are expressed in terms of
+requirements for source and/or recipient authentication. The providers
+apply specific message security mechanisms to cause the message
+protection policies to be realized in the context of SOAP web services
+messages.
+
+The following topics are addressed here:
+
+* link:#giraj[Message Protection Policy Mapping]
+* link:#gioqu[To Configure the Message Protection Policies for a
+Provider]
+* link:#ablsl[Setting the Request and Response Policy for the
+Application Client Configuration]
+
+[[giraj]][[GSSCG00224]][[message-protection-policy-mapping]]
+
+==== Message Protection Policy Mapping
+
+The following table shows message protection policy configurations and
+the resulting message security operations performed by the WS-Security
+SOAP message security providers for that configuration.
+
+[[sthref30]][[fxjcu]]
+
+Table 3-1 Message Protection Policy Mapping to WS-Security SOAP Operations
+
+[width="100%",cols="34%,66%",options="header",]
+|===
+|Message Protection Policy |Resulting WS-Security SOAP Message Protection Operations
+
+|auth-source="sender"
+|The message contains a `wsse:Security` header that contains
+a `wsse:UsernameToken` (with password).
+
+|auth-source="content"
+|The content of the SOAP message Body is signed.
+The message contains a `wsse:Security` header that contains the message
+Body signature represented as a `ds`:`Signature`.
+
+a|auth-source="sender" +
+auth-recipient="before-content" +
+OR +
+auth-recipient="after-content"
+|The content of the SOAP message Body is encrypted and replaced with
+the resulting `xend:EncryptedData`. The message contains
+`a wsse:Security` header that contains a
+`wsse:UsernameToken (with password)` and an `xenc:EncryptedKey`. The
+`xenc:EncryptedKey` contains the key used to encrypt the SOAP message
+body. The key is encrypted in the public key of the recipient.
+
+a|auth-source="content" +
+auth-recipient="before-content"
+|The content of the SOAP message Body is encrypted and replaced with
+the resulting `xend:EncryptedData`. The `xenc:EncryptedData` is signed.
+The message contains `a wsse:Security` header that contains an
+`xenc:EncryptedKey` and a `ds`:`Signature`. The `xenc:EncryptedKey`
+contains the key used to encrypt the SOAP message body. The key is
+encrypted in the public key of the recipient.
+
+a|
+auth-source="content" +
+auth-recipient="after-content"
+|The content of the SOAP message Body is signed, then encrypted, and
+then replaced with the resulting `xend:EncryptedData`. The message
+contains a `wsse:Security` header that contains an `xenc:EncryptedKey`
+and a `ds:Signature`. The `xenc:EncryptedKey` contains the key used to
+encrypt the SOAP message body. The key is encrypted in the public key of
+the recipient.
+
+a|auth-recipient="before-content" +
+OR +
+auth-recipient="after-content"
+|The content of the SOAP message Body is encrypted and replaced with
+the resulting `xend:EncryptedData`. The message contains
+`a wsse:Security` header that contains an `xenc:EncryptedKey`.
+The `xenc:EncryptedKey` contains the key used to encrypt the SOAP message
+body. The key is encrypted in the public key of the recipient.
+|No policy specified. |No security operations are performed by the modules.
+|===
+
+
+[[gioqu]][[GSSCG00125]][[to-configure-the-message-protection-policies-for-a-provider]]
+
+==== To Configure the Message Protection Policies for a Provider
+
+Typically, you would not reconfigure a provider. However, if needed for
+your situation, you can modify a provider's message protection policies
+by changing provider type, implementation class, and provider-specific
+configuration properties. To understand the results of different
+combinations, see link:#fxjcu[Table 3-1].
+
+Use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to set the response policy,
+then replace the word `request` in the following commands with the word
+`response`.
+
+1. Add a request policy to the client and set the authentication source
+by using the link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+For example:
++
+[source]
+----
+asadmin> set server-config.security-service.message-security-config.SOAP.
+provider-config.ClientProvider.request-policy.auth_source=[sender | content]
+----
+2. Add a request policy to the server and set the authentication source
+by using the `set` subcommand.
++
+For example:
++
+[source]
+----
+asadmin> set server-config.security-service.message-security-config.SOAP.
+provider-config.ServerProvider.request-policy.auth_source=[sender | content]
+----
+3. Add a request policy to the client and set the authentication
+recipient by using the `set` subcommand:
++
+For example:
++
+[source]
+----
+asadmin> set server-config.security-service.message-security-config.SOAP.
+provider-config.ClientProvider.request-policy.auth_recipient=[before-content | after-content]
+----
+4. Add a request policy to the server and set the authentication
+recipient by using the `set` subcommand:
++
+For example:
++
+[source]
+----
+asadmin> set server-config.security-service.message-security-config.SOAP.
+provider-config.ServerProvider.request-policy.auth_recipient=[before-content | after-content]
+----
+
+[[ablsl]][[GSSCG00225]][[setting-the-request-and-response-policy-for-the-application-client-configuration]]
+
+==== Setting the Request and Response Policy for the Application Client Configuration
+
+The request and response policies define the authentication policy
+requirements associated with request and response processing performed
+by the authentication provider. Policies are expressed in message sender
+order such that a requirement that encryption occur after content would
+mean that the message receiver would expect to decrypt the message
+before validating the signature.
+
+To achieve message security, the request and response policies must be
+enabled on both the server and client. When configuring the policies on
+the client and server, make sure that the client policy matches the
+server policy for request/response protection at application-level
+message binding.
+
+To set the request policy for the application client configuration,
+modify the {productName}-specific configuration for the application
+client container as described in link:#gdhgg[Enabling Message Security
+for Application Clients].
+
+[[GSSCG00088]][[gipxo]]
+Example 3-1 Message Security Policy Setting for Application Clients
+
+In the application client configuration file, the `request-policy` and
+`response-policy` elements are used to set the request policy, as shown
+in the following code snippet. (Additional code in the snippet is
+provided as illustration and might differ slightly in your installation.
+Do not change the additional code.)
+
+[source,xml]
+----
+<client-container>
+  <target-server name="your-host" address="your-host"
+      port="your-port"/>
+  <log-service file="" level="WARNING"/>
+  <message-security-config auth-layer="SOAP"
+      default-client-provider="ClientProvider">
+    <provider-config
+        class-name="com.sun.enterprise.security.jauth.ClientAuthModule"
+        provider-id="clientprovider" provider-type="client">
+      <request-policy auth-source="sender | content"
+        auth-recipient="after-content | before-content"/>
+      <response-policy auth-source="sender | content"
+        auth-recipient="after-content | before-content"/>
+       <property name="security.config"
+           value="as-install/lib/appclient/wss-client-config.xml"/>
+    </provider-config>
+  </message-security-config>
+</client-container>
+----
+
+Valid values for `auth-source` include `sender` and `content`. Valid
+values for `auth-recipient` include `before-content` and
+`after-content`. A table describing the results of various combinations
+of these values can be found in link:#giouf[Configuring Message
+Protection Policies].
+
+To not specify a request or response policy, leave the element blank,
+for example:
+
+[source,xml]
+----
+<response-policy/>
+----
+
+[[giosl]][[GSSCG00156]][[administering-non-default-message-security-providers]]
+
+=== Administering Non-default Message Security Providers
+
+The following topics are addressed here:
+
+* link:#giory[To Create a Message Security Provider]
+* link:#giotv[To List Message Security Providers]
+* link:#giwkd[To Update a Message Security Provider]
+* link:#giorr[To Delete a Message Security Provider]
+* link:#gkxru[To Configure a Servlet Layer Server Authentication Module
+(SAM)]
+
+[[giory]][[GSSCG00126]][[to-create-a-message-security-provider]]
+
+==== To Create a Message Security Provider
+
+Use the `create-message-security-provider` subcommand in remote mode to
+create a new message provider for the security service. If the message
+layer does not exist, the message layer is created, and the provider is
+created under it.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create the message security provider by using the
+link:reference-manual/create-message-security-provider.html#GSRFM00045[`create-message-security-provider`] subcommand.
++
+Information about properties for this subcommand is included in the help
+page.
+3. If needed, restart the server.
++
+Some properties require server restart. See
+"link:administration-guide/overview.html#GSADG00628[Configuration Changes That Require Restart]" in
+{productName} Administration Guide. If your
+server needs to be restarted, see "link:administration-guide/domains.html#GSADG00337[To Restart a
+Domain]" in {productName} Administration Guide.
+
+[[GSSCG00089]][[giosd]]
+Example 3-2 Creating a Message Security Provider
+
+This example creates the new message security provider
+`mySecurityProvider`.
+
+[source]
+----
+asadmin> create-message-security-provider
+--classname com.sun.enterprise.security.jauth.ClientAuthModule
+--providertype client mySecurityProvider
+Command create-message-security-provider executed successfully.
+----
+
+[[sthref31]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-message-security-provider` at the command
+line.
+
+[[giotv]][[GSSCG00127]][[to-list-message-security-providers]]
+
+==== To List Message Security Providers
+
+Use the `list-message-security-providers` subcommand in remote mode to
+list the message providers for the security layer.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the message security providers by using the
+link:reference-manual/list-message-security-providers.html#GSRFM00184[`list-message-security-providers`] subcommand.
+
+[[GSSCG00090]][[gioui]]
+Example 3-3 Listing Message Security Providers
+
+This example lists the message security providers for a message layer.
+
+[source]
+----
+asadmin> list-message-security-providers --layer SOAP
+XWS_ClientProvider
+ClientProvider
+XWS_ServerProvider
+ServerProvider
+Command list-message-security-providers executed successfully.
+----
+
+[[sthref32]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-message-security-providers` at the command
+line.
+
+[[giwkd]][[GSSCG00128]][[to-update-a-message-security-provider]]
+
+==== To Update a Message Security Provider
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the message security providers by using the
+link:reference-manual/list-message-security-providers.html#GSRFM00184[`list-message-security-providers`] subcommand.
+3. Modify the values for the specified message security provider by
+using the link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+The message security provider is identified by its dotted name.
+
+[[giorr]][[GSSCG00129]][[to-delete-a-message-security-provider]]
+
+==== To Delete a Message Security Provider
+
+Use the `delete-message-security-provider` subcommand in remote mode to
+remove a message security provider.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the message security providers by using the
+link:reference-manual/list-message-security-providers.html#GSRFM00184[`list-message-security-providers`] subcommand.
+3. Delete the message security provider by using the
+link:reference-manual/delete-message-security-provider.html#GSRFM00097[`delete-message-security-provider`] subcommand.
+
+[[GSSCG00091]][[gioug]]
+Example 3-4 Deleting a Message Security Provider
+
+This example deletes the `myServerityProvider` message security
+provider.
+
+[source]
+----
+asadmin> delete-message-security-provider --layer SOAP myServerityProvider
+Command delete-message-security-provider executed successfully.
+----
+
+[[sthref33]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-message-security-provider` at the command
+line.
+
+[[gkxru]][[GSSCG00130]][[to-configure-a-servlet-layer-server-authentication-module-sam]]
+
+==== To Configure a Servlet Layer Server Authentication Module (SAM)
+
+You configure a JSR 196 Server Authentication Module (SAM) as an
+HttpServlet-layer message security provider, either through the
+Administration Console or with the `create-message-security-provider`
+subcommand.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create the message security provider by using the
+link:reference-manual/create-message-security-provider.html#GSRFM00045[`create-message-security-provider`] subcommand.
++
+Information about properties for this subcommand is included in the help page.
+3. Bind the message security provider for use with your application.
++
+You do this by defining the `httpservlet-security-provider` attribute in
+the `glassfish-web.xml` file corresponding to your application. Set the
+value of the attribute to the provider name you assigned to the message
+security provider. For example, if you use MySAM when you create the
+message security provider the entry would be
+httpservlet-security-provider="MySAM".
+4. If needed, restart the server.
++
+Some properties require server restart. See
+"link:administration-guide/overview.html#GSADG00628[Configuration Changes That Require Restart]" in
+{productName} Administration Guide. If your
+server needs to be restarted, see "link:administration-guide/domains.html#GSADG00337[To Restart a
+Domain]" in {productName} Administration Guide.
+
+[[GSSCG00092]][[gkxqz]]
+Example 3-5 Creating a Message Security Provider
+
+This example creates the new message security provider `mySAM`.
+
+[source]
+----
+asadmin> create-message-security-provider --layer=HttpServlet
+--classname com.sun.glassfish.oamsam.OAMAuthenticatorSAM
+--providertype server
+--property oam.resource.hostid.variation="your-host-system.com" mySAM
+Creation of message security provider named mySAM completed successfully
+Command create-message-security-provider executed successfully.
+----
+
+The subcommand results in the following `domain.xml` entry:
+
+[source,xml]
+----
+<message-security-config auth-layer="HttpServlet">
+<provider-config provider-type="server" provider-id="mysam"
+class-name="com.sun.glassfish.oamsam.OAMAuthenticatorSAM">
+            <property name="oam.resource.hostid.variation" value="your-host-system.com"></property>
+            <request-policy></request-policy>
+            <response-policy></response-policy>
+          </provider-config>
+</message-security-config>
+----
+
+To list the HttpServlet message security providers, use the
+`list-message-security-providers` subcommand:
+
+[source]
+----
+asadmin> list-message-security-providers --layer HttpServlet
+list-message-security-providers successful
+GFConsoleAuthModule
+mySAM
+Command list-message-security-providers executed successfully.
+----
+
+[[sthref34]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-message-security-provider` at the command line.
+
+[[gdhgg]][[GSSCG00157]][[enabling-message-security-for-application-clients]]
+
+=== Enabling Message Security for Application Clients
+
+The message protection policies of client providers must be configured
+such that they are equivalent to the message protection policies of the
+server-side providers they will be interacting with. This is already the
+situation for the providers configured (but not enabled) when {productName} is installed.
+
+To enable message security for client applications, modify the {productName} specific configuration for the application client container. The
+process is analogous to the process in link:#giouf[Configuring Message
+Protection Policies].
+
+[[gglrb]][[GSSCG00158]][[additional-information-about-message-security]]
+
+=== Additional Information About Message Security
+
+For additional information about message security, see the following documentation:
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial/#security-2[
+Introduction to Security in the Jakarta EE Platform] in The Jakarta EE Tutorial
+* "link:application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]"
+in {productName} Application Development Guide
+
+
diff --git a/docs/security-guide/src/main/asciidoc/preface.adoc b/docs/security-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..e86e1a1
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,334 @@
+type=page
+status=published
+title=Preface
+next=system-security.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[sthref2]][[preface]]
+
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+The {productName} Security Guide provides
+instructions for configuring and administering {productName} security.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSSCG00135]][[ghpbz]]
+
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSSCG00136]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSSCG00138]][[fquvc]]
+
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSSCG00139]][[ghpfg]]
+
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/security-guide/src/main/asciidoc/running-in-secure-environment.adoc b/docs/security-guide/src/main/asciidoc/running-in-secure-environment.adoc
new file mode 100644
index 0000000..9b43ec1
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/running-in-secure-environment.adoc
@@ -0,0 +1,547 @@
+type=page
+status=published
+title=Running in a Secure Environment
+prev=administrative-security.html
+~~~~~~
+
+= Running in a Secure Environment
+
+[[GSSCG00040]][[gkscr]]
+
+
+[[running-in-a-secure-environment]]
+== 6 Running in a Secure Environment
+
+This chapter describes important information about running {productName} in a secure environment.
+
+This chapter assumes that you are familiar with security features such
+as authentication, authorization, and certificates. If you are not, see
+link:system-security.html#ablnk[Administering System Security].
+
+Instructions for accomplishing the tasks specific to {productName} by
+using the Administration Console are contained in the Administration
+Console online help.
+
+The chapter describes the following topics:
+
+* link:#gksbk[Determining Your Security Needs]
+* link:#gksbw[Installing {productName} in a Secure Environment]
+* link:#gksby[Run on the Web Profile if Possible]
+* link:#gksct[Securing the {productName} Host]
+* link:#gksca[Securing {productName}]
+* link:#gksbf[Securing Applications]
+
+[[gksbk]][[GSSCG00169]][[determining-your-security-needs]]
+
+=== Determining Your Security Needs
+
+Before you deploy {productName} and your Jakarta EE applications into a
+production environment, determine your security needs and make sure that
+you take the appropriate security measures, as described in the
+following sections:
+
+* link:#gkscs[Understand Your Environment]
+* link:#gksce[Read Security Publications]
+
+[[gkscs]][[GSSCG00237]][[understand-your-environment]]
+
+==== Understand Your Environment
+
+To better understand your security needs, ask yourself the following
+questions:
+
+* Which resources am I protecting?
++
+Many resources in the production environment can be protected, including
+information in databases accessed by {productName} and the
+availability, performance, applications, and the integrity of the Web
+site. Consider the resources you want to protect when deciding the level
+of security you must provide.
+
+* From whom am I protecting the resources?
++
+For most Web sites, resources must be protected from everyone on the
+Internet. But should the Web site be protected from the employees on the
+intranet in your enterprise? Should your employees have access to all
+resources within the {productName} environment? Should the system
+administrators have access to all {productName} resources? Should the
+system administrators be able to access all data? You might consider
+giving access to highly confidential data or strategic resources to only
+a few well trusted system administrators. Perhaps it would be best to
+allow no system administrators access to the data or resources.
+
+* What will happen if the protections on strategic resources fail?
++
+In some cases, a fault in your security scheme is easily detected and
+considered nothing more than an inconvenience. In other cases, a fault
+might cause great damage to companies or individual clients that use the
+Web site. Understanding the security ramifications of each resource will
+help you protect it properly.
+
+See Also: `http://www.oracle.com/us/products/ondemand/index.html`[[gksce]]
+
+[[GSSCG00239]][[read-security-publications]]
+
+==== Read Security Publications
+
+Read about security issues:
+
+* For the latest information about securing Web servers, Oracle
+recommends the "Security Practices & Evaluations" information available
+from the CERT Coordination Center operated by Carnegie Mellon University
+at `http://www.cert.org/`.
+
+[[gksbw]][[GSSCG00170]][[installing-glassfish-server-in-a-secure-environment]]
+
+=== Installing {productName} in a Secure Environment
+
+This section describes recommendations for installing {productName}
+in a secure environment. The link:#gkscn[Enable the Secure
+Administration Feature] topic is described.
+
+[[gkscn]][[GSSCG00240]][[enable-the-secure-administration-feature]]
+
+==== Enable the Secure Administration Feature
+
+The secure administration feature allows an administrator to secure all
+administrative communication between the domain administration server
+(DAS), any remote instances, and administration clients such as the
+asadmin utility, the administration console, and REST clients. In
+addition, secure administration helps to prevent DAS-to-DAS and
+instance-to-instance traffic, and carefully restricts
+administration-client-to-instance traffic.
+
+When you install {productName} or create a new domain, secure admin
+is disabled by default. {productName} does not encrypt administrative
+communication among the system components and does not accept
+administrative connections from remote hosts. Imposing a heightened
+level of security is optional.
+
+See link:administrative-security.html#gknqh[Managing Administrative
+Security] for information on enabling the secure administration feature.
+
+[[gksby]][[GSSCG00172]][[run-on-the-web-profile-if-possible]]
+
+=== Run on the Web Profile if Possible
+
+If your applications can run on the Web Profile, use that instead of the
+Full Platform.
+
+Starting in Jakarta EE 6, Jakarta EE introduced the concept of profiles. A
+profile is a collection of Jakarta EE technologies and APIs that address
+specific developer communities and application types.
+
+The following profiles are implemented through the distributions of
+{productName}:
+
+* Full Platform -The full Jakarta EE platform is designed for developers
+who require the full set of Jakarta EE APIs for enterprise application
+development, and is installed when you install {productName}.
+* Web Profile -This profile contains Web technologies that are a subset
+of the full Java platform, and is designed for developers who do not
+require the full set of Jakarta EE APIs.
+
+For the list of APIs in each profile, see
+"link:release-notes/release-notes.html#GSRLN00136[
+Jakarta EE Standards Support]"
+in {productName} Release Notes.
+
+[[gksct]][[GSSCG00173]][[securing-the-glassfish-server-host]]
+
+=== Securing the {productName} Host
+
+A {productName} production environment is only as secure as the
+security of the machine on which it is running. It is important that you
+secure the physical machine, the operating system, and all other
+software that is installed on the host machine.
+
+The following are recommendations for securing a {productName} host
+in a production environment. Also check with the manufacturer of the
+machine and operating system for recommended security measures.
+
+
+[NOTE]
+====
+The domain and server configuration files should be accessible only by
+the operating system users who configure or execute {productName}.
+====
+
+
+[[sthref39]][[gksbt]]
+
+Table 6-1 Securing the {productName} Host
+
+[width="100%",cols="27%,73%",options="header",]
+|===
+|Security Action |Description
+|Physically secure the hardware. |Keep your hardware in a secured area
+to prevent unauthorized operating system users from tampering with the
+deployment machine or its network connections.
+
+|Log out of the Administration Console before navigating to a non-secure
+site. |If you are logged on to the Administration Console, be sure to
+log out completely before browsing to an unknown or non-secure Web site.
+
+|Secure networking services that the operating system provides. a|
+Have an expert review network services such as e-mail programs or
+directory services to ensure that a malicious attacker cannot access the
+operating system or system-level commands. The way you do this depends
+on the operating system you use.
+
+Sharing a file system with other machines in the enterprise network
+imposes risks of a remote attack on the file system. Be certain that the
+remote machines and the network are secure before sharing the file
+systems from the machine.
+
+|Use a file system that can prevent unauthorized access. |Make sure that
+the file system on each {productName}host can prevent unauthorized
+access to protected resources. For example, on a Windows computer, use
+only NTFS.
+
+|Set file access permissions for data stored on disk. a|
+Set operating system file access permissions to restrict access to data
+stored on disk. This data includes, but is not limited to, the
+following:
+
+The database files. {productName} includes Apache Derby database,
+however, you can use any JDBC-compliant database.
+
+The directory and filename location of a private keystore, such as
+keystore.jks
+
+The directory and filename location of a Root Certificate Authority (CA)
+keystore, such as cacerts.jks.
+
+For example, operating systems provide utilities such as umask and chmod
+to set the file access permissions. At a minimum, consider using "umask
+066", which denies read and write permission to Group and Others.
+
+|Set file access permission for the {productName} installation. a|
+The directory structure in which {productName} is located, including
+all files, should be protected from access by unprivileged users.
+
+Taking this step helps ensure that unprivileged users cannot insert code
+that can potentially be executed by {productName}.
+
+|Limit the number of user accounts on the host machine. a|
+Avoid creating more user accounts than you need on host machines, and
+limit the file access privileges granted to each account. On operating
+systems that allow more than one system administrator user, the host
+machine should have two user accounts with system administrator
+privileges and one user with sufficient privileges to run {productName}. Having two system administrator users provides a back up at all
+times. The {productName} user should be a restricted user, not a
+system administrator user. One of the system administrator users can
+always create a new {productName} user if needed.
+
+Important: Domain and server configuration files should be accessible
+only by the operating system users who configure or execute {productName}.
+
+Review active user accounts regularly and when personnel leave.
+
+Background Information: Configuration data and some URL (Web) resources,
+including Java Server Pages (JSPs) and HTML pages, are stored in clear
+text on the file system. A sophisticated user or intruder with read
+access to files and directories might be able to defeat any security
+mechanisms you establish with authentication and authorization schemes.
+
+|For your system administrator user accounts, choose names that are not
+obvious. |For additional security, avoid choosing an obvious name such
+as "system," "admin," or "administrator" for your system administrator
+user accounts.
+
+|Safeguard passwords. a|
+The passwords for user accounts on production machines should be
+difficult to guess and should be guarded carefully.
+
+Set a policy to expire passwords periodically.
+
+Never code passwords in client applications.
+
+Do not deploy an application that can be accessed with the default
+username admin and no password.
+
+|Safeguard password files a|
+The `-passwordfile` option of the `asadmin` command specifies the name
+of a file that contains password entries in a specific format. These
+password entries are stored in clear text in the password file, and rely
+on file system mechanisms for protection. Therefore, any password file
+created for use with the `-passwordfile` option should be protected with
+file system permissions. Additionally, any password file being used for
+a transient purpose, such as setting up SSH among nodes, should be
+deleted after it has served its purpose.
+
+To provide additional security, create a password alias.
+
+|Use a password alias a|
+A password alias stores a password in encrypted form in the domain
+keystore, providing a clear-text alias name to use instead of the
+password.
+
+To provide additional security, use the `create-password-alias`
+subcommand to create an alias for the password. The password for which
+the alias is created is stored in an encrypted form.
+
+Then, specify the alias in the entry for the password in the password
+file as follows:
+
+In password files and the domain configuration file, use the form
+$\{alias=alias-name} to refer to the encrypted password.
+
+|Do not run {productName} as root a|
+{productName} should run only as an unprivileged user, never as root.
+
+Taking this step helps ensure that code from other users cannot be
+executed by {productName}.
+
+|Consider use PAM Realm |The use of a PAM Realm requires {productName} to run as an account that has read-access to a shadow password
+file or the equivalent, and therefore may not be suitable in your
+environment.
+
+|Do not develop on a production machine. |Develop first on a development
+machine and then move code to the production machine when it is
+completed and tested. This process prevents bugs in the development
+environment from affecting the security of the production environment.
+
+|Do not install development or sample software on a production machine.
+|Do not install development tools on production machines. Keeping
+development tools off the production machine reduces the leverage
+intruders have should they get partial access to a production machine.
+
+|Enable security auditing. |If the operating system on which {productName} runs supports security auditing of file and directory access,
+Oracle recommends using audit logging to track any denied directory or
+file access violations. Administrators should ensure that sufficient
+disk space is available for the audit log.
+
+|Consider using additional software to secure your operating system.
+|Most operating systems can run additional software to secure a
+production environment. For example, an Intrusion Detection System (IDS)
+can detect attempts to modify the production environment. Refer to the
+vendor of your operating system for information about available
+software.
+
+|Apply operating system patch sets and security patches. |Refer to the
+vendor of your operating system for a list of recommended patch sets and
+security-related patches.
+
+|Apply the latest maintenance packs and critical patch updates. |Refer
+to the vendor of your operating system for a list of maintenance packs
+and critical patch updates.
+|===
+
+
+[[gksca]][[GSSCG00174]][[securing-glassfish-server]]
+
+=== Securing {productName}
+
+{productName} provides a powerful and flexible set of software tools
+for securing the subsystems and applications that run on a server
+instance. The following table provides a checklist of essential features
+that Oracle recommends you use to secure your production environment.
+
+[[sthref40]][[gkscz]]
+
+Table 6-2 Securing {productName}
+
+[width="100%",cols="25%,75%",options="header",]
+|===
+|Security Action |Description
+|Enable Secure Admin. a|
+The secure administration feature allows an administrator to secure all
+administrative communication between the domain administration server
+(DAS), any remote instances, and administration clients such as the
+`asadmin` utility, the administration console, and REST clients.
+
+In addition, secure administration helps to prevent DAS-to-DAS and
+instance-to-instance traffic, and carefully restricts
+administration-client-to-instance traffic.
+
+The secure administration feature provides a secure environment, in
+which you can be confident that rogue users or processes cannot
+intercept or corrupt administration traffic or impersonate legitimate
+{productName} components.
+
+See link:administrative-security.html#gknqh[Managing Administrative
+Security].
+
+|Protect the `.asadminpass` file a|
+If you create a domain with the `--savelogin` option, `create-domain`
+saves the administration user name and password in the `.asadminpass`
+file in the user's home directory.
+
+Make sure that this file remains protected. Information stored in this
+file will be used by `asadmin` commands to manage this domain.
+
+|Safeguard password files a|
+The `-passwordfile` option of the `asadmin` command specifies the name
+of a file that contains password entries in a specific format. These
+password entries are stored in clear text in the password file, and rely
+on file system mechanisms for protection. Therefore, any password file
+created for use with the `-passwordfile` option should be protected with
+file system permissions. Additionally, any password file being used for
+a transient purpose, such as setting up SSH among nodes, should be
+deleted after it has served its purpose.
+
+To provide additional security, create a password alias.
+
+|Deploy production-ready security providers to the security realm. a|
+Java Authorization Contract for Containers (JACC) is the part of the
+Jakarta EE specification that defines an interface for pluggable
+authorization providers. This enables you to set up third-party plug-in
+modules to perform authorization.
+
+By default, the {productName} provides a simple, file-based
+authorization engine that complies with the JACC specification. You can
+also specify additional third-party JACC providers.
+
+If you have purchased or written your own security providers, make sure
+that you have deployed and configured them properly.
+
+|Use SSL, but do not use the self-signed certificates in a production
+environment. a|
+To prevent sensitive data from being compromised, secure data transfers
+by using HTTPS.
+
+By default, {productName} uses self-signed certificates. The
+self-signed certificates that {productName} uses might not be trusted
+by clients by default because a certificate authority does not vouch for
+the authenticity of the certificate.
+
+You can instead use your own certificates, as described in
+link:administrative-security.html#gkped[Using Your Own Certificates].
+
+|Restrict the size and the time limit of requests on external channels
+to prevent Denial of Service attacks. a|
+To prevent some Denial of Service (DoS) attacks, restrict the size of a
+message as well as the maximum time it takes a message to arrive.
+
+The default setting for maximum post size is 2097152 bytes and 900
+seconds for the request timeout.
+
+|Enable authentication and authorization auditing. a|
+Auditing is the process of recording key security events in your
+{productName} environment. You use audit modules to develop an audit
+trail of all authentication and authorization decisions. To enable audit
+logging, two steps are required:
+
+1. On the Security page, select the Audit Logging Enabled checkbox to
+enable audit logging.
+2. Set the `auditOn` property for the active audit module to true.
+
+Review the auditing records periodically to detect security breaches and
+attempted breaches. Noting repeated failed logon attempts or a
+surprising pattern of security events can prevent serious problems.
+
+|Set logging for security and SSL messages. a|
+Consider setting module log levels for
+table.jakarta.enterprise.system.ssl.security and
+jakarta.enterprise.system.core.security. You can set a level from Severe
+to Finest (the default is Info), but be aware that the finer logging
+levels may produce a large log file.
+
+By default, {productName} logging messages are recorded in the server
+log, and you can set the file rotation limit, as described in
+link:reference-manual/rotate-log.html#GSRFM00224[`rotate-log`(1)]
+
+|Ensure that you have correctly assigned users to the correct groups.
+|Make sure you have assigned the desired set of users to the right
+groups. In particular, make sure that users assigned to the asadmin
+group need to be members of that group.
+
+|Create no fewer than two user accounts in the asadmin group. |The user
+admin is created when you install {productName}. For production
+environments, create at least one other account in the asadmin group in
+case one account password is compromised. When creating asadmin users
+give them unique names that cannot be easily guessed.
+
+|Assign a password to the admin account. |By default, {productName}
+includes a single account for user "admin" and an empty password. For
+production environments this default is inherently unsecure, and you
+should set a password for admin.
+|===
+
+
+[[gksbf]][[GSSCG00175]][[securing-applications]]
+
+=== Securing Applications
+
+Although much of the responsibility for securing the {productName}
+resources in a domain fall within the scope of the server, some security
+responsibilities lie within the scope of individual applications. For
+some security options, {productName} enables you to determine whether
+the server or individual applications are responsible. For each
+application that you deploy in a production environment, review the
+items in the following table to verify that you have secured its
+resources.
+
+[[sthref41]][[gkscv]]
+
+Table 6-3 Securing Applications
+
+[width="100%",cols="22%,78%",options="header",]
+|===
+|Security Action |Description
+|Use JSP comment tags instead of HTML comment tags. |Comments in JSP
+files that might contain sensitive data and or other comments that are
+not intended for the end user should use the JSP syntax of <%/* xxx */%>
+instead of the HTML syntax <!-- xxx -->. The JSP comments, unlike the
+HTML comments, are deleted when the JSP is compiled and therefore cannot
+be viewed in the browser.
+
+|Do not install uncompiled JSPs and other source code on the production
+machine. a|
+Always keep source code off of the production machine. Getting access to
+your source code allows an intruder to find security holes.
+
+Consider precompiling JSPs and installing only the compiled JSPs on the
+production machine. To do this, set the `deploy` subcommand
+`-precompilejsp` option to true for the component.
+
+When set to true, the `deploy` and `redeploy` subcommands
+`-precompilejsp` option compiles JSPs during deploy time. If set to
+false (the default), JSPs are compiled during runtime.
+
+|Configure your applications to use SSL. |Set the transport-guarantee to
+CONFIDENTIAL in the user-data-constraint element of the web.xml file
+whenever appropriate.
+
+|Examine applications for security. a|
+There are instances where an application can lead to a security
+vulnerability.
+
+Of particular concern is code that uses Java native interface (JNI)
+because Java positions native code outside of the scope of Java
+security. If Java native code behaves errantly, it is only constrained
+by the operating system. That is, the Java native code can do anything
+{productName} itself can do. This potential vulnerability is further
+complicated by the fact that buffer overflow errors are common in native
+code and can be used to run arbitrary code.
+
+|If your applications contain untrusted code, enable the Java security
+manager. |The Java security manager defines and enforces permissions for
+classes that run within a JVM. In many cases, where the threat model
+does not include malicious code being run in the JVM, the Java security
+manager is unnecessary. However, when third parties use {productName}
+and untrusted classes are being run, the Java security manager may be
+useful. See "link:application-development-guide/securing-apps.html#GSDVG00373[Enabling and Disabling the Security
+Manager]" in {productName} Application
+Development Guide.
+
+|Replace HTML special characters when servlets or JSPs return
+user-supplied data. a|
+The ability to return user-supplied data can present a security
+vulnerability called cross-site scripting, which can be exploited to
+steal a user's security authorization. For a detailed description of
+cross-site scripting, refer to "Understanding Malicious Content
+Mitigation for Web Developers" (a CERT security advisory) at
+`http://www.cert.org/tech_tips/malicious_code_mitigation.html`.
+
+To remove the security vulnerability, before you return data that a user
+has supplied, scan the data for HTML special characters. If you find any
+such characters, replace them with their HTML entity or character
+reference. Replacing the characters prevents the browser from executing
+the user-supplied data as HTML.
+
+|===
+
+
+
diff --git a/docs/security-guide/src/main/asciidoc/security-in-cluster-mode.adoc b/docs/security-guide/src/main/asciidoc/security-in-cluster-mode.adoc
new file mode 100644
index 0000000..29e2224
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/security-in-cluster-mode.adoc
@@ -0,0 +1,154 @@
+type=page
+status=published
+title=Administering Security in Cluster Mode
+next=administrative-security.html
+prev=message-security.html
+~~~~~~
+
+= Administering Security in Cluster Mode
+
+[[GSSCG00038]][[gknpf]]
+
+
+[[administering-security-in-cluster-mode]]
+== 4 Administering Security in Cluster Mode
+
+This chapter describes important information about administering
+security in a cluster.
+
+The following topics are described:
+
+* link:#gksam[Configuring Certificates in Cluster Mode]
+* link:#gkmhh[Dynamic Reconfiguration]
+* link:#gktgi[Understanding Synchronization]
+
+This chapter assumes that you are familiar with security features such
+as authentication, authorization, and certificates. If you are not, see
+link:system-security.html#ablnk[Administering System Security].
+
+Instructions for accomplishing the tasks specific to {productName} by
+using the Administration Console are contained in the Administration
+Console online help.
+
+[[gksam]][[GSSCG00159]][[configuring-certificates-in-cluster-mode]]
+
+=== Configuring Certificates in Cluster Mode
+
+The sections link:system-security.html#abloj[Certificates and SSL] and
+link:system-security.html#ablqz[Administering JSSE Certificates] describe
+the relevant concepts and use of certificates in {productName}.
+
+By default, {productName} uses self-signed certificates. The
+self-signed certificates that {productName} uses might not be trusted
+by clients by default because a certificate authority does not vouch for
+the authenticity of the certificate.
+
+You can instead use your own certificates, as described in
+link:administrative-security.html#gkped[Using Your Own Certificates].
+
+[[gkmhh]][[GSSCG00160]][[dynamic-reconfiguration]]
+
+=== Dynamic Reconfiguration
+
+Administrative commands that you execute on the domain administration
+server (DAS) must either be replicated on the affected server instances,
+or on all server instances that are part of the cluster. {productName} replicates the commands by sending the same administration
+command request that was sent to the DAS to the server instances. As a
+result of replicating the commands on the DAS and the individual
+instances, the DAS and the instances make the same changes to their
+respective copies of the domain's configuration.
+
+[NOTE]
+====
+Oracle recommends that you enable secure admin as described in
+link:administrative-security.html#gknqh[Managing Administrative Security]
+so that {productName} securely transfers these files on the network.
+====
+
+Dynamic reconfiguration refers to using the `--target` operand to CLI
+subcommands to make a change to a server instance (if the user-specified
+target is a server instance), or all server instances that are part of
+the cluster (if the user-specified target is a cluster). For
+example:`asadmin create-jdbc-resource some-options --target some-target`.
+
+The `--target` operand allows the following values:
+
+* `server` - Performs the command on the default server instance.
+This is the default value.
+* configuration_name - Performs the command in the specified configuration.
+* cluster_name - Performs the command on all server instances in the
+specified cluster.
+* instance_name - Performs the command on a specified server instance.
+
+If a command fails for a cluster, the status shows all server instances
+where dynamic reconfiguration failed, and suggests corrective next steps.
+
+The command status also shows when a restart is required for each server instance.
+
+The `--target` operand is supported for the following security-related CLI subcommands:
+
+* create-jacc-provider
+* delete-jacc-provider
+* list-jacc-providers
+* create-audit-module
+* create-auth-realm
+* create-file-user
+* delete-audit-module
+* delete-auth-realm
+* delete-file-user
+* update-file-user
+* create-message-security-provider
+* delete-message-security-provider
+* list-audit-modules
+* list-file-groups
+* list-file-users
+* login
+
+[[gkned]][[GSSCG00226]][[enabling-dynamic-configuration]]
+
+==== Enabling Dynamic Configuration
+
+Dynamic configuration is enabled by default and no additional action is required.
+
+Use the following command to enable dynamic configuration from the command line:
+
+`asadmin --user user --passwordfile password-file set cluster-name-config.dynamic-reconfiguration-enabled=true`.
+
+To enable dynamic configuration from the Administration Console, perform
+the following steps:
+
+1. Expand the Configurations node.
+2. Click the name of the cluster's configuration.
+3. On the Configuration System Properties page,
+   check the Dynamic Reconfiguration Enabled box.
+4. Click Save.
+
+[NOTE]
+====
+The dynamic reconfiguration feature applies only to server instances,
+not the DAS. Therefore, you cannot "disable" dynamic reconfiguration on
+the DAS. There is no way to make changes to the DAS configuration using
+`asadmin` commands, the Administration Console, or the REST interface
+without having those changes take effect immediately.
+====
+
+[[gktgi]][[GSSCG00161]][[understanding-synchronization]]
+
+=== Understanding Synchronization
+
+As described in "link:ha-administration-guide/instances.html#GSHAG00189[
+Resynchronizing {productName} Instances and the DAS]"
+in {productName} High
+Availability Administration Guide, configuration data for a {productName} instance is stored in the repository of the DAS and in a cache on
+the host that is local to the instance. The configuration data in these
+locations must be synchronized. The cache is synchronized only when a
+user uses the administration tools to start or restart an instance.
+
+See "link:ha-administration-guide/instances.html#GSHAG00189[
+Resynchronizing {productName} Instances and the DAS]"
+in {productName} High Availability
+Administration Guide for information about default synchronization for
+files and directories, for the steps required to resynchronize an
+instance and the DAS, and for additional synchronization topics.
+
+
diff --git a/docs/security-guide/src/main/asciidoc/system-security.adoc b/docs/security-guide/src/main/asciidoc/system-security.adoc
new file mode 100644
index 0000000..76dfd19
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/system-security.adoc
@@ -0,0 +1,2121 @@
+type=page
+status=published
+title=Administering System Security
+next=user-security.html
+prev=preface.html
+~~~~~~
+
+= Administering System Security
+
+[[GSSCG00035]][[ablnk]]
+
+
+[[administering-system-security]]
+== 1 Administering System Security
+
+This chapter describes general information about administering system security.
+
+The following topics are addressed here:
+
+* link:#ggktf[About System Security in {productName}]
+* link:#ghgrp[Administering Passwords]
+* link:#ghgol[Administering Audit Modules]
+* link:#ablqz[Administering JSSE Certificates]
+* link:#gkngj[Administering JACC Providers]
+
+Instructions for accomplishing many of these tasks by using the
+Administration Console are contained in the Administration Console
+online help.
+
+Information on application security is contained in
+"link:application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]"
+in {productName} Application Development Guide.
+
+[[ggktf]][[GSSCG00143]][[about-system-security-in-glassfish-server]]
+
+=== About System Security in {productName}
+
+Security is about protecting data, that is, how to prevent unauthorized
+access or damage to data that is in storage or in transit. The {productName} is built on the Java security model, which uses a sandbox where
+applications can run safely, without potential risk to systems or users.
+System security affects all the applications in the {productName} environment.
+
+The Jakarta EE Security API specification defines portable, plug-in
+interfaces for authentication and identity stores, and a new
+injectable-type SecurityContext interface that provides an access point
+for programmatic security. You can use the built-in implementations of
+the plug-in SPIs, or write custom implementations.
+
+System security features include the following:
+
+* link:#ablnx[Authentication]
+* link:#ghlvu[Authorization]
+* link:#ghlql[Auditing]
+* link:#ghlti[Firewalls]
+* link:#abloj[Certificates and SSL]
+* link:#ablno[Tools for Managing System Security]
+
+[[ablnx]][[GSSCG00203]][[authentication]]
+
+==== Authentication
+
+Authentication is the way in which an entity (a user, an application, or
+a component) determines that another entity is who it claims to be. An
+entity uses security credentials to authenticate itself. The credentials
+might be a user name and password, a digital certificate, or something
+else. Usually, servers or applications require clients to authenticate
+themselves. Additionally, clients might require servers to authenticate
+themselves. When authentication is bidirectional, it is called mutual
+authentication.
+
+When an entity tries to access a protected resource, {productName}
+uses the authentication mechanism configured for that resource to
+determine whether to grant access. For example, a user can enter a user
+name and password in a web browser, and if the application verifies
+those credentials, the user is authenticated. The user is associated
+with this authenticated security identity for the remainder of the session.
+
+[[ghsqc]][[GSSCG00184]][[authentication-types]]
+
+===== Authentication Types
+
+Within its deployment descriptors, an application can specify the type
+of authentication that it uses. The Jakarta EE Security API provides an
+alternative mechanism for configuring the type of authentication an
+application uses. See https://jcp.org/en/jsr/detail?id=375[Jakarta EE
+Security API 1.0 specification]. {productName} supports specifying
+the following types of authentication in deployment descriptors:
+
+BASIC::
+  Uses the standard Basic Authentication Scheme as described in RFC 2617.
+  The communication protocol is HTTP (SSL optional). There is no
+  encryption of user credentials unless using SSL. This type is not
+  considered to be a secure method of user authentication unless used in
+  conjunction with an encrypted communications channel, such as that
+  provided by SSL.
+FORM::
+  The application provides its own custom login and error pages. The
+  communication protocol is HTTP (SSL optional). There is no encryption
+  of user credentials unless using SSL.
+CLIENT-CERT::
+  The server authenticates the client using a public key certificate.
+  The communication protocol is HTTPS (HTTP over SSL).
+DIGEST::
+  The server authenticates a user based on a user name and a password.
+  Unlike BASIC authentication, the plaintext password is never sent over
+  the network, although a hash of the password combined with other
+  parameters is sent. While Digest Authentication is more secure than
+  Basic Authentication, user names and passwords are not strongly
+  protected, and the use of SSL is still recommended.
+
+[[sthref4]][[jsr-375-authentication-mechanisms-and-identity-stores]]
+
+===== JSR 375 Authentication Mechanisms and Identity Stores
+
+The Jakarta EE Security API defines the `HttpAuthenticationMechanism`
+interface, the `IdentityStore` and `IdentityStoreHandler` interfaces.
+
+The `HttpAuthenticationMechanism` interface defines an SPI for writing
+authentication mechanisms that can be provided with an application and
+deployed using CDI. Developers can write their own implementations of
+`HttpAuthenticationMechanism` to support specific authentication token
+types or protocols. There are also several built-in authentication
+mechanisms that perform BASIC, FORM, and Custom FORM authentication.
+The `HttpAuthenticationMechanism` interface defines three methods -
+`validateRequest()`, `secureResponse()`, and `cleanSubject()`.
+These methods align closely with the methods defined by the JASPIC
+`ServerAuth` interface.
+
+The `IdentityStore` interface provides an abstraction of an identity
+store that holds user account information including name, password,
+group membership, and potentially other attributes. Implementations of
+the `IdentityStore` interface are used to validate caller credentials,
+typically username and password, and retrieve and group information.
+There are built-in implementations of this SPI that can validate
+credentials against external LDAP or Database identity stores.
+
+`IdentityStore` is intended primarily for use by
+`HttpAuthenticationMechanism` implementations, but could be used by
+other authentication mechanisms, such as a JASPIC `ServerAuthModule`, or
+a container's built-in authentication mechanisms. Though
+`HttpAuthenticationMechanism` implementations can authenticate users in
+any manner they choose, the `IdentityStore` interface provides a
+convenient mechanism. A significant advantage of using
+`HttpAuthenticationMechanism` and `IdentityStore` over the declarative
+mechanisms defined by the Servlet specification is that it allows an
+application to control the identity stores that it authenticates
+against, in a standard, portable way. You can use the built-in
+implementations of the  plug-in SPIs, or define custom implementations.
+
+[[gknah]][[GSSCG00185]][[jsr-196-server-authentication-modules]]
+
+===== JSR 196 Server Authentication Modules
+
+{productName} implements the Servlet Container Profile of
+http://www.jcp.org/en/jsr/detail?id=196[JSR 196 Java Authentication
+Service Provider Interface for Containers specification].
+
+JSR 196 defines a standard service-provider interface (SPI) for
+integrating authentication mechanism implementations in message
+processing runtimes. JSR 196 extends the concepts of the Java
+Authentication and Authorization Service (JAAS) to enable pluggability
+of message authentication modules in message processing runtimes. The
+standard defines profiles that establish contracts for the use of the
+SPI in specific contexts.
+
+[[ghltx]][[GSSCG00186]][[passwords]]
+
+===== Passwords
+
+Passwords are your first line of defense against unauthorized access to
+the components and data of {productName}. For Information about how
+to use passwords for {productName}, see link:#ghgrp[Administering
+Passwords].
+
+[[gczen]][[GSSCG00042]][[master-password-and-keystores]]
+
+====== Master Password and Keystores
+
+The master password is not tied to a user account and it is not used for
+authentication. Instead, {productName} uses the master password only
+to encrypt the keystore and truststore for the DAS and instances.
+
+When you create a new {productName} domain, a new self-signed
+certificate is generated and stored in the domain keystore and
+truststore. The DAS needs the master password to open these stores at
+startup. Similarly, the associated server instances need the master
+password to open their copy of these stores at startup.
+
+If you use a utility such as keytool to modify the keystore or
+truststore, you must provide the master password in that case as well.
+
+The master password is a shared password and must be the same for the
+DAS and all instances in the domain in order to manage the instances
+from the DAS. However, because {productName} never transmits the
+master password over the network, it is up to you to keep the master
+password in sync between the DAS and instances.
+
+If you change the master password, you can choose to enter the master
+password manually when required, or save it in a file.
+
+[[gktgy]][[GSSCG00043]][[understanding-master-password-synchronization]]
+
+====== Understanding Master Password Synchronization
+
+The master password is used encrypt the keystore and truststore for the
+DAS and instances. The DAS needs the master password to open these
+stores at startup. Similarly, the associated server instances need the
+master password to open their copy of these stores at startup.
+
+{productName} keeps the keystore and truststore for the DAS and
+instances in sync, which guarantees that all copies of the stores are
+encrypted with the same master password at any given time.
+
+However, {productName} does not synchronize the master password
+itself, and it is possible that the DAS and instances might attempt to
+use different master passwords.
+
+Consider the following potential scenario:
+
+1. You create a domain and instances, using the default master password
+(changeit). As a result, the DAS and instances have keystores and
+truststores encrypted using changeit.
+2. You use the `change-master-password` subcommand on the DAS to change
+the master password to ichangedit. As a result, the DAS and instance
+keystores and truststores are encrypted using ichangedit.
+3. Access to the keystore and truststore from an instance now requires
+the master password ichangedit. You are responsible for changing the
+master password as needed.
+
+If you do not use a master password file, you assume the responsibility
+for using the `change-master-password` subcommand on the DAS and
+instances to keep the master passwords in sync. Be aware that not using
+a master password file has additional considerations for the
+start-instance and start-cluster subcommands, as described in
+link:#gktgr[Additional Considerations for the `start-instance` and
+`start-cluster` Subcommands].
+
+If you do use a master password file, you assume the responsibility for
+using the `change-master-password` subcommand on the DAS and instances
+to keep the master password file in sync.
+
+[[gktez]][[GSSCG00044]][[using-the-default-master-password]]
+
+====== Using the Default Master Password
+
+{productName} uses the known phrase "changeit" as the default master
+password. This master password is not stored in a file. The default
+password is a convenience feature and provides no additional security
+because it is assumed to be widely known.
+
+All {productName} subcommands work as expected with the default
+master password and there are no synchronization issues.
+
+[[gktfy]][[GSSCG00045]][[saving-the-master-password-to-a-file]]
+
+====== Saving the Master Password to a File
+
+The `change-master-password` `--savemasterpassword` option indicates
+whether the master password should be written to the file system in the
+`master-password` file for the DAS or a node. The default is false.
+
+For a domain, the master password is kept in
+domain-dir``/master-password``.
+
+For a node, the master-password file is kept in
+``nodes/``node-name``/agent/master-password``. You can set a master password
+at the node level and all instances created on that node will use that
+master-password file. To do this, use the `--nodedir` option and provide
+a node name.
+
+You might want to save the master password to the file so that the
+`start-domain` subcommand can start the server without having to prompt
+the user. There are additional considerations for using a master
+password with the `start-instance` and `start-cluster` subcommands, as
+described in link:#gktgr[Additional Considerations for the
+`start-instance` and `start-cluster` Subcommands].
+
+The master-password file is encoded, not encrypted. You must use
+filesystem permissions to protect the file.
+
+[[gkthb]][[GSSCG00046]][[using-the-master-password-when-creating-a-domain]]
+
+====== Using the Master Password When Creating a Domain
+
+The `create-domain` `--usemasterpassword` option specifies whether the
+keystore is encrypted with a master password that is built into the
+system, or by a user-defined master password.
+
+* If false (default), the keystore is encrypted with a well-known
+password (changeit) that is built into {productName}.
+* If true, the subcommand obtains the master password from the
+`AS_ADMIN_MASTERPASSWORD` entry in the password file you specified in
+the `--passwordfile` option of the `asadmin` utility. Or, if none is
+defined, `--usemasterpassword` prompts the user for the master password.
+
+[[ghgof]][[GSSCG00047]][[administration-password]]
+
+====== Administration Password
+
+An administration password, also known as the admin password, is used to
+invoke the Administration Console and the `asadmin` utility. As with the
+default admin username, the default admin password is usually set during
+installation but it can be changed. For instructions, see link:#ghgpu[To
+Change an Administration Password].
+
+[[ablnq]][[GSSCG00048]][[encoded-passwords]]
+
+====== Encoded Passwords
+
+Files that contain encoded passwords need to be protected using file
+system permissions. These files include the following:
+
+* domain-dir``/master-password``
++
+This file contains the encoded master password and should be protected
+with file system permissions 600.
+* Any password file created to pass as an argument by using the
+`--passwordfile` argument to the `asadmin` utility should be protected
+with file system permissions. Additionally, any password file being used
+for a transient purpose, such as setting up SSH among nodes, should be
+deleted after it has served its purpose.
+
+For instructions, see link:#ghytn[To Set a Password From a File].
+
+[[gkaol]][[GSSCG00049]][[web-browsers-and-password-storage]]
+
+====== Web Browsers and Password Storage
+
+Most web browsers can save login credentials entered through HTML forms.
+This function can be configured by the user and also by applications
+that employ user credentials. If the function is enabled, then
+credentials entered by the user are stored on their local computer and
+retrieved by the browser on future visits to the same application. This
+function is convenient for users, but can also be a security risk. The
+stored credentials can be captured by an attacker who gains access to
+the computer, either locally or through some remote compromise. Further,
+methods have existed whereby a malicious web site can retrieve the
+stored credentials for other applications, by exploiting browser
+vulnerabilities or through application-level cross-domain attacks.
+
+To prevent your web browser from saving login credentials for the
+{productName} Administration Console, choose "No" or "Never for this
+page" when prompted by the browser during login.
+
+[[ghgoj]][[GSSCG00187]][[password-aliases]]
+
+===== Password Aliases
+
+To avoid storing passwords in the domain configuration file in clear
+text, you can create an alias for a password. This process is also known
+as encrypting a password. For more information, see
+link:#ghgqc[Administering Password Aliases].
+
+[[ghlus]][[GSSCG00188]][[single-sign-on]]
+
+===== Single Sign-on
+
+With single sign-on, a user who logs in to one application becomes
+implicitly logged in to other applications that require the same
+authentication information. Single sign-on is based on groups. Single
+sign-on applies to web applications configured for the same realm and
+virtual server. The realm is defined by the `realm-name` element in the
+`web.xml` file.
+
+On {productName}, single sign-on behavior can be inherited from the
+HTTP Service, enabled, or disabled. By default, it is inherited from the
+HTTP Service. If enabled, single sign-on is enabled for web applications
+on this virtual server that are configured for the same realm. If
+disabled, single sign-on is disabled for this virtual server, and users
+must authenticate separately to every application on the virtual server.
+
+[[ghlvu]][[GSSCG00204]][[authorization]]
+
+==== Authorization
+
+Authorization, also known as access control, is the means by which users
+are granted permission to access data or perform operations. After a
+user is authenticated, the user's level of authorization determines what
+operations the owner can perform. A user's authorization is based on the
+user's role.
+
+[[abloh]][[GSSCG00189]][[roles]]
+
+Roles
++++++
+
+A role defines which applications and what parts of each application
+users can access and what those users or groups can do with the
+applications. For example, in a personnel application, all employees
+might be able to see phone numbers and email addresses, but only
+managers have access to salary information. This application would
+define at least two roles: `employee` and `manager`. Only users in the
+`manager` role are allowed to view salary information.
+
+A role is different from a group in that a role defines a function in an
+application, while a group is a set of users who are related in some
+way. For example, the personnel application specify groups such as
+`full-time`, `part-time`, and `on-leave`. Users in these groups are all
+employees (the `employee` role). In addition, each user has its own
+designation that defines an additional level of employment.
+
+Roles are defined in the deployment descriptor for the application. The
+application developer or deployer maps roles to one or more groups in
+the deployment descriptor for each application. When the application is
+being packaged and deployed, the application specifies mappings between
+users, groups, and roles, as illustrated in link:#fxjfw[Figure 1-1].
+
+[NOTE]
+====
+By default, group principal names are mapped to roles of the same name.
+Therefore, the Default Principal To Role Mapping setting is enabled by
+default on the Security page of the {productName} Administration
+Console. With this setting enabled, if the group name defined on
+{productName} matches the role name defined in the application, there
+is no need to use the runtime deployment descriptor to provide a
+mapping. The application server will implicitly make this mapping, as
+long as the names of the groups and roles match.
+====
+
+[[GSSCG00001]][[fxjfw]]
+
+.*Figure 1-1 Role Mapping*
+image:img/securityrolemapping.png[
+"Figure shows how users are assigned to groups, how users and groups are
+assigned to roles, and how applications use groups and roles."]
+
+
+[[ghsqd]][[GSSCG00190]][[java-authorization-contract-for-containers]]
+
+===== Java Authorization Contract for Containers
+
+Java Authorization Contract for Containers (JACC) is the part of the
+Jakarta EE specification that defines an interface for pluggable
+authorization providers. This enables you to set up third-party plug-in
+modules to perform authorization. By default, the {productName}
+provides a simple, file-based authorization engine that complies with
+the JACC specification.
+
+This release includes Administration Console support and CLI subcommands
+to create (`create-jacc-provider`), delete (`delete-jacc-provider`), and
+list (`list-jacc-providers`) JACC providers. link:#gkngj[Administering
+JACC Providers] for additional information.
+
+You can also specify additional third-party JACC providers.
+
+[[gkriq]][[GSSCG00191]][[working-with-the-server.policy-policy-file]]
+
+===== Working With the server.policy Policy File
+
+Each {productName} domain has its own global Java SE policy file,
+located in domain-dir``/config``. The file is named `server.policy`.
+
+This section covers the following topics:
+
+* link:#gkrkh[Contents of server.policy]
+* link:#gkrmo[Changing the Default Permissions]
+
+[[gkrkh]][[GSSCG00050]][[contents-of-server.policy]]
+
+Contents of server.policy
+
+A sample server.policy file is as follows. Comments in the file describe
+why various permissions are granted. These permissions are described in
+more detail in the next section.
+
+[NOTE]
+====
+This server.policy file is presented for example purposes only and is
+subject to change.
+====
+
+[source]
+----
+// classes in lib get all permissions by default
+grant codeBase "file:${com.sun.aas.installRoot}/lib/-" {
+    permission java.security.AllPermission;
+};
+
+// Core server classes get all permissions by default
+grant codeBase "file:${com.sun.aas.installRoot}/modules/-" {
+    permission java.security.AllPermission;
+};
+
+// Felix classes get all permissions by default
+grant codeBase "file:${com.sun.aas.installRoot}/osgi/felix/bin/-" {
+    permission java.security.AllPermission;
+};
+
+// iMQ classes get all permissions by default
+grant codeBase "file:${com.sun.aas.imqLib}/-" {
+    permission java.security.AllPermission;
+};
+
+// Derby driver classes get all permissions by default
+grant codeBase "file:${com.sun.aas.derbyRoot}/lib/-" {
+    permission java.security.AllPermission;
+};
+
+
+// permission for JDK's tools.jar to enable webservice annotation processing
+// at runtime by wsgen tool:
+//       permission java.lang.RuntimePermission "createClassLoader";
+//
+// permission for JDK's tools.jar to sign JARs at runtime for
+// Java Web Start support:
+//       permissions java.security.AllPermission;
+// on the advice of the JDK tools folks.  Should be refined later.
+grant codeBase "file:${com.sun.aas.javaRoot}/lib/tools.jar" {
+    permission java.security.AllPermission;
+};
+
+//Loading MBeans from anywhere, to take care of side effects of 6235678.
+grant {
+    permission javax.management.MBeanTrustPermission "register" ;
+};
+//Loading MBeans from anywhere, to take care of side effects of 6235678.
+
+
+// Basic set of required permissions granted to all remaining code
+// The permission FilePermission "<<ALL FILES>>", "read,write"
+// allows all applications to read and write any file in the filesystem.
+// It should be changed based on real deployment needs. If you know your
+// applications just need to read/write a few directories consider removing
+// this permission and adding grants indicating those specific directories.
+// against the codebase of your application(s).
+grant {
+    //Workaround for bugs #6484935, 6513799
+    permission java.lang.RuntimePermission "getProtectionDomain";
+    permission com.sun.corba.ee.impl.presentation.rmi.DynamicAccessPermission "access";
+    permission java.util.PropertyPermission "*", "read,write";
+
+    permission java.lang.RuntimePermission  "loadLibrary.*";
+    permission java.lang.RuntimePermission  "queuePrintJob";
+    permission java.net.SocketPermission    "*", "connect";
+    permission java.io.FilePermission       "<<ALL FILES>>", "read,write";
+
+        // work-around for pointbase bug 4864405
+        permission java.io.FilePermission
+          "${com.sun.aas.instanceRoot}${/}lib${/}databases${/}-",
+           "delete";
+        permission java.io.FilePermission "${java.io.tmpdir}${/}-", "delete";
+
+    permission java.util.PropertyPermission "*", "read";
+
+    permission java.lang.RuntimePermission    "modifyThreadGroup";
+    permission java.lang.RuntimePermission    "getClassLoader";
+    permission java.lang.RuntimePermission    "setContextClassLoader";
+        permission javax.management.MBeanPermission
+               "[com.sun.messaging.jms.*:*]", "*";
+};
+
+
+// Following grant block is only required by Connectors. If Connectors
+// are not in use the recommendation is to remove this grant.
+grant {
+        permission javax.security.auth.PrivateCredentialPermission
+               "javax.resource.spi.security.PasswordCredential * \"*\"","read";
+};
+
+// Following grant block is only required for Reflection. If Reflection
+// is not in use the recommendation is to remove this section.
+grant {
+    permission java.lang.RuntimePermission "accessDeclaredMembers";
+};
+
+// Permissions to invoke CORBA objects in server
+grant {
+    permission com.sun.enterprise.security.CORBAObjectPermission "*", "*";
+};
+----
+
+[[gkrmo]][[GSSCG00051]][[changing-the-default-permissions]]
+
+====== Changing the Default Permissions
+
+The {productName} internal server code is granted all permissions.
+These grants are covered by the `AllPermission` grant blocks to various
+parts of the server infrastructure code. Do not modify these entries.
+
+Application permissions are granted in the default grant block. These
+permissions apply to all code not part of the internal server code
+listed previously.
+
+The last section, beginning with the comment "Basic set of required
+permissions..." provides the basic set of permissions granted to all
+remaining code.
+
+Depending on your {productName} implementation, deleting or modifying
+these permissions might be appropriate.
+
+Specifically, the following permission allows all applications to read
+and write all properties and read and write all files on the filesystem.
+
+[source]
+----
+permission java.util.PropertyPermission "*", "read,write";
+permission java.io.FilePermission       "<<ALL FILES\>>", "read,write";
+----
+
+While this grant provides optimum flexibility, it is inherently
+unsecure. For enhanced security, change this permission based on your
+real deployment needs.
+
+For example, consider removing this permission and assign default read
+and write permissions only to the application's install directory
+(context-root). (This example uses `com.sun.aas.instanceRoot`, which
+specifies the top level directory for a server instance.)
+
+[source]
+----
+grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyApp/-"
+{
+permission java.io.FilePermission "file:${com.sun.aas.instanceRoot}
+/applications/MyApp/-", "read,write";
+}
+----
+
+For any application that needs to read and write additional directories,
+you would then have to explicitly allow such permissions by adding
+specific grants. In general, you should add extra permissions only to
+the applications or modules that require them, not to all applications
+deployed to a domain.
+
+Additional permissions (see the embedded comments in `server.policy`)
+are granted specifically for using connectors and reflection. If
+connectors or reflection are not used in a particular domain, you should
+remove these permissions, because they are otherwise unnecessary.
+
+[[ghlql]][[GSSCG00205]][[auditing]]
+
+==== Auditing
+
+Auditing is the means used to capture security-related events for the
+purpose of evaluating the effectiveness of security measures. {productName} uses audit modules to capture audit trails of all authentication
+and authorization decisions. {productName} provides a default audit
+module, as well as the ability to plug in custom audit modules. The
+scope of the audit module is the entire server, which means that all the
+applications on the server will use the same audit module.
+
+For administration instructions, see link:#ghgol[Administering Audit
+Modules].
+
+[[ghlti]][[GSSCG00206]][[firewalls]]
+
+==== Firewalls
+
+A firewall controls the flow of data between two or more networks, and
+manages the links between the networks. A firewall can consist of both
+hardware and software elements. The following guidelines pertain
+primarily to {productName}:
+
+* In general, firewalls should be configured so that clients can access
+the necessary TCP/IP ports.
++
+For example, if the HTTP listener is operating on port 8080, configure
+the firewall to allow HTTP requests on port 8080 only. Likewise, if
+HTTPS requests are set up for port 8081, you must configure the
+firewalls to allow HTTPS requests on port 8081.
+* If direct Remote Method Invocations over Internet Inter-ORB Protocol
+(RMI-IIOP) access from the Internet to EJB modules is required, open the
+RMI-IIOP listener port as well.
++
+
+[NOTE]
+====
+Opening the RMI-IIOP listener port is strongly discouraged because it
+creates security risks.
+====
+
+* In double firewall architecture, you must configure the outer firewall
+to allow for HTTP and HTTPS transactions. You must configure the inner
+firewall to allow the HTTP server plug-in to communicate with {productName} behind the firewall.
+
+[[abloj]][[GSSCG00207]][[certificates-and-ssl]]
+
+==== Certificates and SSL
+
+The following topics are addressed here:
+
+* link:#ablok[Certificates]
+* link:#ablol[Certificate Chains]
+* link:#ablqx[Certificate Files]
+* link:#ablom[Secure Sockets Layer]
+* link:#gksdc[Custom Authentication of Client Certificate in SSL Mutual Authentication]
+
+For administration instructions, see link:#ablqz[Administering JSSE Certificates].
+
+[[ablok]][[GSSCG00192]][[certificates]]
+
+===== Certificates
+
+Certificates, also called digital certificates, are electronic files
+that uniquely identify people and resources on the Internet.
+Certificates also enable secure, confidential communication between two
+entities. There are different kinds of certificates:
+
+* Personal certificates are used by individuals.
+* Server certificates are used to establish secure sessions between the
+server and clients through secure sockets layer (SSL) technology.
+
+Certificates are based on public key cryptography, which uses pairs of
+digital keys (very long numbers) to encrypt, or encode, information so
+the information can be read only by its intended recipient. The
+recipient then decrypts (decodes) the information to read it. A key pair
+contains a public key and a private key. The owner distributes the
+public key and makes it available to anyone. But the owner never
+distributes the private key, which is always kept secret. Because the
+keys are mathematically related, data encrypted with one key can only be
+decrypted with the other key in the pair.
+
+Certificates are issued by a trusted third party called a Certification
+Authority (CA). The CA is analogous to a passport office: it validates
+the certificate holder's identity and signs the certificate so that it
+cannot be forged or tampered with. After a CA has signed a certificate,
+the holder can present it as proof of identity and to establish
+encrypted, confidential communications. Most importantly, a certificate
+binds the owner's public key to the owner's identity.
+
+In addition to the public key, a certificate typically includes
+information such as the following:
+
+* The name of the holder and other identification, such as the URL of
+the web server using the certificate, or an individual's email address
+* The name of the CA that issued the certificate
+* An expiration date
+
+Certificates are governed by the technical specifications of the X.509
+format. To verify the identity of a user in the `certificate` realm, the
+authentication service verifies an X.509 certificate, using the common
+name field of the X.509 certificate as the principal name.
+
+[[ablol]][[GSSCG00193]][[certificate-chains]]
+
+===== Certificate Chains
+
+A certificate chain is a series of certificates issued by successive CA
+certificates, eventually ending in a root CA certificate.
+
+Web browsers are preconfigured with a set of root CA certificates that
+the browser automatically trusts. Any certificates from elsewhere must
+come with a certificate chain to verify their validity.
+
+When a certificate is first generated, it is a self-signed certificate.
+A self-signed certificate is one for which the issuer (signer) is the
+same as the subject (the entity whose public key is being authenticated
+by the certificate). When the owner sends a certificate signing request
+(CSR) to a CA, then imports the response, the self-signed certificate is
+replaced by a chain of certificates. At the bottom of the chain is the
+certificate (reply) issued by the CA authenticating the subject's public
+key. The next certificate in the chain is one that authenticates the
+CA's public key. Usually, this is a self-signed certificate (that is, a
+certificate from the CA authenticating its own public key) and the last
+certificate in the chain.
+
+In other cases, the CA can return a chain of certificates. In this
+situation, the bottom certificate in the chain is the same (a
+certificate signed by the CA, authenticating the public key of the key
+entry), but the second certificate in the chain is a certificate signed
+by a different CA, authenticating the public key of the CA to which you
+sent the CSR. Then, the next certificate in the chain is a certificate
+authenticating the second CA's key, and so on, until a self-signed root
+certificate is reached. Each certificate in the chain (after the first)
+thus authenticates the public key of the signer of the previous
+certificate in the chain.
+
+[[ablqx]][[GSSCG00194]][[certificate-files]]
+
+===== Certificate Files
+
+During {productName} installation, a certificate is generated in Java
+Secure Socket Extension (JSSE) format suitable for internal testing.
+(The certificate is self-signed.) By default, {productName} stores
+its certificate information in certificate databases in the
+domain-dir``/config`` directory:
+
+Keystore file::
+  The `keystore.jks` file contains {productName} certificate,
+  including its private key. The keystore file is protected with a
+  password. +
+  Each keystore entry has a unique alias. After installation, the
+  {productName} keystore has a single entry with an alias of `s1as`.
+Truststore file::
+  The `cacerts.jks` file contains the {productName} trusted
+  certificates, including public keys for other entities. For a trusted
+  certificate, the server has confirmed that the public key in the
+  certificate belongs to the certificate's owner. Trusted certificates
+  generally include those of CAs.
+
+By default, {productName} is configured with a keystore and
+truststore that will work with the example applications and for
+development purposes.
+
+[[ablom]][[GSSCG00195]][[secure-sockets-layer]]
+
+===== Secure Sockets Layer
+
+Secure Sockets Layer (SSL) is the most popular standard for securing
+Internet communications and transactions. Secure web applications use
+HTTPS (HTTP over SSL). The HTTPS protocol uses certificates to ensure
+confidential and secure communications between server and clients. In an
+SSL connection, both the client and the server encrypt data before
+sending it. Data is decrypted upon receipt.
+
+When a Web browser (client) wants to connect to a secure site, an SSL
+handshake happens, like this:
+
+1. The browser sends a message over the network requesting a secure
+session (typically, by requesting a URL that begins with `https` instead
+of `http`).
+2. The server responds by sending its certificate (including its public key).
+3. The browser verifies that the server's certificate is valid and is
+signed by a CA whose certificate is in the browser's database (and who
+is trusted). It also verifies that the CA certificate has not expired.
+4. If the certificate is valid, the browser generates a one time,
+unique session key and encrypts it with the server's public key. The
+browser then sends the encrypted session key to the server so that they
+both have a copy.
+5. The server decrypts the message using its private key and recovers
+the session key.
+
+After the handshake, the client has verified the identity of the Web
+site, and only the client and the Web server have a copy of the session
+key. From this point forward, the client and the server use the session
+key to encrypt all their communications with each other. Thus, their
+communications are ensured to be secure.
+
+The newest version of the SSL standard is called Transport Layer
+Security (TLS). The {productName} supports the SSL 3.0 and the TLS
+1.0 encryption protocols.
+
+To use SSL, {productName} must have a certificate for each external
+interface or IP address that accepts secure connections. The HTTPS
+service of most web servers will not run unless a certificate has been
+installed. For instructions on applying SSL to HTTP listeners, see
+"link:administration-guide/http_https.html#GSADG00469[
+To Configure an HTTP Listener for SSL]" in {productName} Administration Guide.
+
+[[ablon]][[GSSCG00052]][[ciphers]]
+
+====== Ciphers
+
+A cipher is a cryptographic algorithm used for encryption or decryption.
+SSL and TLS protocols support a variety of ciphers used to authenticate
+the server and client to each other, transmit certificates, and
+establish session keys.
+
+Some ciphers are stronger and more secure than others. Clients and
+servers can support different cipher suites. During a secure connection,
+the client and the server agree to use the strongest cipher that they
+both have enabled for communication, so it is usually sufficient to
+enable all ciphers.
+
+[[abloo]][[GSSCG00053]][[name-based-virtual-hosts]]
+
+====== Name-based Virtual Hosts
+
+Using name-based virtual hosts for a secure application can be
+problematic. This is a design limitation of the SSL protocol itself. The
+SSL handshake, where the client browser accepts the server certificate,
+must occur before the HTTP request is accessed. As a result, the request
+information containing the virtual host name cannot be determined prior
+to authentication, and it is therefore not possible to assign multiple
+certificates to a single IP address.
+
+If all virtual hosts on a single IP address need to authenticate against
+the same certificate, the addition of multiple virtual hosts probably
+will not interfere with normal SSL operations on the server. Be aware,
+however, that most browsers will compare the server's domain name
+against the domain name listed in the certificate, if any (applicable
+primarily to official, CA-signed certificates). If the domain names do
+not match, these browsers display a warning. In general, only
+address-based virtual hosts are commonly used with SSL in a production
+environment.
+
+[[gksdc]][[GSSCG00196]][[custom-authentication-of-client-certificate-in-ssl-mutual-authentication]]
+
+===== Custom Authentication of Client Certificate in SSL Mutual Authentication
+
+Release 7 of {productName} extends the Certificate realm to allow
+custom authentication and group assignment based on the client
+certificate received as part of SSL mutual (two-way) authentication.
+
+As in previous releases, you can create only one certificate realm.
+However, you can now use a convenient abstract base class to configure a
+JAAS LoginModule for the Certificate realm. Specifically, your
+LoginModule can now extend
+`com.sun.appserv.security.AppservCertificateLoginModule`. When you do
+this, you need to implement only the `authenticateUser` method and call
+the `commitUserAuthentication` method to signify success.
+
+This section describes the following topics:
+
+* link:#gksfl[Understanding the `AppservCertificateLoginModule` Class]
+* link:#gksej[Example AppservCertificateLoginModule Code]
+* link:#gksee[Setting the JAAS Context]
+
+[[gksfl]][[GSSCG00054]][[understanding-the-appservcertificateloginmodule-class]]
+
+Understanding the `AppservCertificateLoginModule` Class
+
+The `AppservCertificateLoginModule` class provides some convenience
+methods for accessing the certificates, the application name and so
+forth, and for adding the group principals to the subject. The
+convenience methods include the following:
+
+`getAppName()`::
+  Returns the name of the application to be authenticated. This may be
+  useful when a single LoginModule has to handle multiple applications
+  that use certificates.
+`getCerts()`::
+  Returns the certificate chain as an array of
+  `java.security.cert.X509Certificate` certificates.
+`getX500Principal()`::
+  Returns the Distinguished principal from the first certificate in the
+  chain.
+`getSubject()`::
+  Returns the subject that is being authenticated.
+`commitUserAuthentication(final String[] groups)`::
+  This method sets the authentication status to success if the groups
+  parameter is non-null. Note that this method is called after the
+  authentication has succeeded. If authentication failed, do not call
+  this method.
+
+[NOTE]
+====
+You do not have to extend the convenience base class, you can extend the
+JAAS LoginModule `javax.security.auth.spi.LoginModule` instead if you so
+choose.
+====
+
+[[gksej]][[GSSCG00055]][[example-appservcertificateloginmodule-code]]
+
+Example AppservCertificateLoginModule Code
+
+link:#gksel[Example 1-1] shows a sample instance of the
+AppservCertificateLoginModule class.
+
+Take note of the following points from the example:
+
+* The `getX500Principal()` method returns the subject (subject
+distinguished name) value from the first certificate in the client
+certificate chain as an `X500Principal`.
+* From that `X500Principal`, the `getName()` method then returns a
+string representation of the X.500 distinguished name using the format
+defined in RFC 2253.
+* The example uses the `getAppName()` method to determine the
+application name. It also determines the organizational unit (`OU`) from
+the distinguished name.
+* The example concatenates the application name with the value of `OU`,
+and uses it as the group name in the `commitUserAuthentication` method.
+
+[[GSSCG00060]][[gksel]]
+Example 1-1 Sample AppservCertificateLoginModule Code
+
+[source,java]
+----
+public class CertificateLM extends AppservCertificateLoginModule {
+
+    @Override
+    protected void authenticateUser() throws LoginException {
+        // Get the distinguished name from the X500Principal.
+        String dname = getX500Principal().getName();
+        StringTokenizer st = new StringTokenizer(dname, "B \t\n\r\f,");
+        while (st.hasMoreTokens()) {
+            String next = st.nextToken();
+            // Set the appname:OU as the group.
+            // At this point, one has the application name and the DN of
+            // the certificate. A suitable login decision can be made here.
+            if (next.startsWith("OU=")) {
+            commitUserAuthentication(new String[]{getAppName() + ":" + next.substring(3)});
+                return;
+            }
+        }
+        throw new LoginException("No OU found.");
+    }
+}
+----
+
+[[gksee]][[GSSCG00056]][[setting-the-jaas-context]]
+
+====== Setting the JAAS Context
+
+After you create your LoginModule, you must plug it in to a
+jaas-context, which you then specify as a parameter to the certificate
+realm in {productName}.
+
+To do this, perform the following steps:
+
+1. Specify a new jaas-context for the Certificate realm in the file
+domain-dir``/config/login.conf``. For example, using the `CertificateLM`
+class from link:#gksej[Example AppservCertificateLoginModule Code]:
++
+[source]
+----
+certRealm {
+    com.sun.blogs.certificate.login.CertificateLM required;
+};
+----
+2. Specify this jaas-context as a parameter to the `set` subcommand in the
+`configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=`<jaas-context-name>
+property. For example:
++
+`asadmin>`
+`set configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=certRealm`
++
+`configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=certRealm`
++
+`Command set executed successfully.`
+3. Optionally, get the value you just set to make sure that it is correct.
++
+`asadmin>`
+`get configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context`
++
+`configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=certRealm`
++
+`Command get executed successfully.`
+
+[[ablno]][[GSSCG00208]][[tools-for-managing-system-security]]
+
+==== Tools for Managing System Security
+
+{productName} provides the following tools for managing system
+security:
+
+Administration Console::
+  The Administration Console is a browser-based utility used to
+  configure security for the entire server. Tasks include managing
+  certificates, users, groups, and realms, and performing other
+  system-wide security tasks. For a general introduction to the
+  Administration Console, see
+  "link:administration-guide/overview.html#GSADG00698[Administration Console]"
+  in {productName} Administration Guide.
+The `asadmin` utility::
+  The `asadmin` command-line utility performs many of the same tasks as
+  the Administration Console. You might be able to do some things with
+  the `asadmin` utility that you cannot do with the Administration
+  Console. For a general introduction to `asadmin`, see
+  "link:administration-guide/overview.html#GSADG00699[asadmin Utility]"
+  in {productName} Administration Guide.
+The `keytool` utility::
+  The `keytool` Java Platform, Standard Edition (Java SE) command-line
+  utility is used for managing digital certificates and key pairs. For
+  more information, see link:#ablqz[Administering JSSE Certificates].
+The `policytool` utility::
+  The `policytool` Java SE graphical utility is used for managing
+  system-wide Java security policies. As an administrator, you rarely
+  use `policytool`.
+
+[[ghgrp]][[GSSCG00144]][[administering-passwords]]
+
+=== Administering Passwords
+
+There are multiple ways to administer passwords. You can rely on
+administrators to keep passwords secret and change the passwords
+regularly. You can set up files for storing passwords so that `asadmin`
+subcommands can access these files rather than having users type the
+commands. You can encrypt passwords by setting up aliases so that
+sensitive passwords are not visible in the `domain.xml` file.
+
+The following topics are addressed here:
+
+* link:#giudi[To Change the Master Password]
+* link:#gktgr[Additional Considerations for the `start-instance` and
+`start-cluster` Subcommands]
+* link:#gktey[Using `start-instance` and `start-cluster` With a Password File]
+* link:#ghgpu[To Change an Administration Password]
+* link:#ghytn[To Set a Password From a File]
+* link:#ghgqc[Administering Password Aliases]
+
+[[giudi]][[GSSCG00093]][[to-change-the-master-password]]
+
+==== To Change the Master Password
+
+The master password gives access to the keystore used with the domain.
+This password is not tied to a UNIX user. You should treat this overall
+shared password as sensitive data. {productName} never uses it for
+authentication and never transmits it over the network.
+
+You can choose to type the password manually when required, or to
+obscure the password in a password file. If there is no password file,
+you are prompted for the master password. If there is a password file,
+but you want to change access to require prompting, remove the file. The
+default master password is `changeit`.
+
+When changing the master password, it has to be changed on all nodes as
+well as on the DAS. The master password on nodes is only stored once in
+the node, for all instances that are on that node.
+
+Use the `change-master-password` subcommand in local mode to modify the
+master password.
+
+[NOTE]
+====
+If you change the master password and are not using a master password
+file, the `start-instance` and `start-cluster` subcommands are not able
+to determine the master password. In this case, you must start those
+instances locally by using start-local-instance.
+====
+
+When the master password is saved, it is saved in the `master-password` file.
+
+[[sthref6]]
+
+Before You Begin
+
+This subcommand will not work unless the domain is stopped.
+
+1. Stop the domain whose password you are changing.
++
+See "link:administration-guide/domains.html#GSADG00336[To Stop a Domain]"
+in {productName} Administration Guide.
+2. Change the master password for the domain by using the
+link:reference-manual/change-master-password.html#GSRFM00006[`change-master-password`] subcommand.
++
+You are prompted for the old and new passwords. All dependent items are re-encrypted.
+3. Start the domain.
++
+See "link:administration-guide/domains.html#GSADG00335[To Start a Domain]" in {productName} Administration Guide.
+
+[[GSSCG00061]][[givil]]
+Example 1-2 Changing the Master Password
+
+The `change-master-password` subcommand is interactive in that you are
+prompted for the old master password as well as the new master password.
+This example changes the master password for `domain44ps`:
+
+[source]
+----
+asadmin> change-master-password domain44ps
+----
+
+If you have already logged into the domain using the
+link:reference-manual/login.html#GSRFM00210[`login`] subcommand, you are prompted for the new
+master password:
+
+[source]
+----
+Please enter the new master password>
+Please enter the new master password again>
+----
+
+If you are not logged into the domain, you are prompted for both the old
+and the new master passwords:
+
+[source]
+----
+Please enter the master password>
+Please enter the new master password>
+Please enter the new master password again>
+----
+
+Information similar to the following is displayed:
+
+[source]
+----
+Master password changed for domain44ps
+----
+
+[[sthref7]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin --help change-master-password` at the command line.
+
+[[gktgr]][[GSSCG00209]][[additional-considerations-for-the-start-instance-and-start-cluster-subcommands]]
+
+==== Additional Considerations for the `start-instance` and `start-cluster` Subcommands
+
+If you change the master password for DAS, the `start-domain` and
+`start-local-instance` subcommands allow you to provide it during domain
+or instance startup in one of three ways:
+
+* Via the master-password file
+* By entering it interactively
+* Via the `asadmin` `passwordfile`
+
+The `start-instance` and `start-cluster` subcommands are more
+problematic. If you create a domain with a master password other than
+the default, an associated remote instance or cluster must have access
+to the master password in order to start. However, for security reasons
+{productName} never transmits the master password or the master
+password file over the network.
+
+Consider the following scenario:
+
+1. Change the master password on the DAS and save it with `--savemasterpassword`.
+2. Create an instance on another host using the subcommand
+`create-instance`. {productName} copies the keystore and truststore
+from the DAS to the instance, but it does not copy the master password file.
+3. Try to start the instance using the `start-instance` subcommand.
+An error results.
+
+The `start-instance` command is looking for the file master-password in
+the node directory on the instance machine, and it is not there by
+default. Therefore, the subcommand fails.
+
+You can use the `change-master-password` subcommand to make sure the
+correct password is used in this password file, as described in
+link:#gktey[Using `start-instance` and `start-cluster` With a Password File].
+
+[NOTE]
+====
+The `start-instance` and `start-cluster` subcommands do not include any
+other way for you to provide the password. If you change the master
+password and are not using a master password file, the `start-instance`
+and `start-cluster` subcommands are not able to determine the master
+password. In this case, you must start the instances locally by using
+`start-local-instance`.
+====
+
+[[gktey]][[GSSCG00094]][[using-start-instance-and-start-cluster-with-a-password-file]]
+
+==== Using `start-instance` and `start-cluster` With a Password File
+
+Assume that you have changed the master password on the DAS and you want
+to make the same change for all instances.
+
+The `start-instance` and `start-cluster` subcommands automatically use
+the master password file if it exists in the instance filesystem. You
+can use the `change-master-password` subcommand to make sure the
+password file exists and that the correct password is used.
+
+1. From the DAS, create a domain and set the master password. +
+`asadmin> create-domain --savemasterpassword true domain-name`
+2. Start the domain. +
+`asadmin> start-domain domain-name`
+3. Create a node that is enabled for communication over secure shell (SSH). +
+`asadmin> create-node-ssh --nodehost host-name --installdir/some-dir node-name`
+4. Create an instance on the node. +
+`asadmin> create-instance --node node-name instance-name`
+5. Before you start the instance, on the instance machine run
+`change-master-password` with the `---savemasterpassword` option to
+create a file called `master-password` in the agents directory to access
+the keystores. (The `start-instance` subcommand is looking for a file
+called `master-password` in the agents directory to access the stores.) +
+`asadmin> change-master-password --savemasterpassword true --nodedir /some-dir node-name` +
+You are prompted to enter the current and new master password:
++
+[source]
+----
+Enter the current master password>
+Enter the new master password>
+Enter the new master password again>
+Command change-master-password executed successfully.
+----
++
+Remember that when you created the domain you specified a new master
+password. This master password was then used to encrypt the keystore and
+truststore for the DAS, and these stores were copied to the instance as
+a result of the `create-instance` subcommand.
++
+Therefore, enter the master password you set when you created the domain
+as both the current master password and again as the new master
+password. You enter it as the new master password because you do not
+want to change the master password for the instance and make it out of
+sync with the DAS.
+6. Run start-instance from the DAS.
++
+`asadmin>` `start-instance` instance-name
++
+The master password file is associated with the node and not with an
+instance. After the master password file exists in the node directory on
+the instance machine, additional instances can be created, started and
+stopped from the DAS.
+
+[[ghgpu]][[GSSCG00095]][[to-change-an-administration-password]]
+
+==== To Change an Administration Password
+
+Use the `change-admin-password` subcommand in remote mode to change an
+administration password. The default administration user is `admin`. You
+are prompted for the old and new admin passwords, with confirmation. The
+passwords are not echoed to the display.
+
+[NOTE]
+====
+For the zip bundle of {productName} 7, the default administrator
+login is `admin`, with no password, which means that no login is
+required. For {productName}, you are prompted to provide a
+password for the `admin` user when you start the domain for the first
+time.
+====
+
+[NOTE]
+====
+If there is a single user called `admin` that does not have a password,
+you are not prompted for login information. Any other situation requires
+login.
+====
+
+[NOTE]
+====
+If secure administration is enabled as described in
+link:administrative-security.html#gkomz[Running Secure Admin], you cannot
+change an administration password to a blank value.
+====
+
+
+Encrypting the admin password is strongly encouraged.
+
+1. Change the admin password by using the
+link:reference-manual/change-admin-password.html#GSRFM00004[`change-admin-password`] subcommand.
+2. Enter the old and new admin passwords when prompted.
+3. Restart {productName}. +
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]" in {productName} Administration Guide.
+
+[[GSSCG00062]][[ghlac]]
+Example 1-3 Changing the Admin Password
+
+This example changes the admin password for user anonymous from
+`adminadmin` to `newadmin`:
+
+[source]
+----
+asadmin> change-admin-password --username anonymous
+----
+
+You are prompted to enter the old and the new admin passwords:
+
+[source]
+----
+Enter admin password>adminadmin
+Enter new admin password>newadmin
+Enter new admin password again>newadmin
+----
+
+Information similar to the following is displayed:
+
+[source]
+----
+Command change-admin-password executed successfully.
+----
+
+[[sthref8]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help change-admin-password` at the command line.
+
+[[ghytn]][[GSSCG00096]][[to-set-a-password-from-a-file]]
+
+==== To Set a Password From a File
+
+Instead of typing the password at the command line, you can access the
+password for a command from a file such as `passwords.txt`. The
+`--passwordfile` option of the `asadmin` utility takes the name of the
+file that contains the passwords. The entry for a password in the file
+must have the `AS_ADMIN_` prefix followed by the password name in
+uppercase letters.
+
+[NOTE]
+====
+Any password file created to pass as an argument by using the
+`--passwordfile` argument to the `asadmin` utility should be protected
+with file system permissions. Additionally, any password file being used
+for a transient purpose, such as setting up SSH among nodes, should be
+deleted after it has served its purpose.
+====
+
+For a list of the types of passwords that can be specified, see the
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
+
+[source]
+----
+AS_ADMIN_MASTERPASSWORD
+AS_ADMIN_USERPASSWORD
+AS_ADMIN_ALIASPASSWORD
+----
+
+1. Edit the password file. +
+For example, to specify the password for the domain administration
+server (DAS), add an entry similar to the following to the password
+file, where `adminadmin` is the administrator password:
++
+[source]
+----
+AS_ADMIN_PASSWORD=adminadmin
+----
+2. Save the password file. +
+You can now specify the password file in an `asadmin` subcommand. In
+this example, `passwords.txt` is the file that contains the password:
++
+[source]
+----
+asadmin>delete-jdbc-resource --user admin --passwordfile passwords.txt jdbc/DerbyPool
+----
+
+[[sthref9]]
+
+===== Troubleshooting
+
+If `AS_ADMIN_PASSWORD` has been exported to the global environment,
+specifying the `--passwordfile` option will produce a warning about
+using the `--passwordfile` option. To prevent this warning situation
+from happening, unset `AS_ADMIN_PASSWORD`.
+
+[[ghgqc]][[GSSCG00210]][[administering-password-aliases]]
+
+==== Administering Password Aliases
+
+A password alias is used to indirectly access a password so that the
+password itself does not appear in cleartext in the domain's
+`domain.xml` configuration file.
+
+Storing passwords in cleartext format in system configuration files is
+common in many open source projects. In addition to {productName},
+Apache Tomcat, Maven, and Subversion, among others, store and pass
+passwords in cleartext format. However, storing and passing passwords in
+cleartext can be a security risk, and may violate some corporate
+security policies. In such cases, you can use password aliases.
+
+The following topics are addressed here:
+
+* link:#ghgrf[To Create a Password Alias]
+* link:#ghgsr[To List Password Aliases]
+* link:#ghgnv[To Delete a Password Alias]
+* link:#giobz[To Update a Password Alias]
+
+[[ghgrf]][[GSSCG00097]][[to-create-a-password-alias]]
+
+===== To Create a Password Alias
+
+Use the `create-password-alias` subcommand in remote mode to create an
+alias for a password in the domain's keystore. The password
+corresponding to the alias name is stored in an encrypted form in the
+domain configuration file. The `create-password-alias` subcommand takes
+both a secure interactive form, in which users are prompted for all
+information, and a more script-friendly form, in which the password is
+propagated on the command line.
+
+You can also use the link:reference-manual/set.html#GSRFM00226[`set`] subcommand to remove and
+replace the password in the configuration file. For example:
+
+[source]
+----
+asadmin set --user admin server.jms-service.jms-host.default_JMS_host.
+admin-password='${ALIAS=jms-password}'
+----
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Go to the directory where the configuration file resides. +
+By default, the configuration file is located in domain-dir``/config``.
+3. Create the password alias by using the
+link:reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`] subcommand.
+4. Type the password for the alias when prompted.
+5. Add the alias to a password file. +
+For example, assume the use of a password file such as `passwords.txt`.
+Assume further that you want to add an alias for the
+`AS_ADMIN_USERPASSWORD` entry that is read by the
+link:reference-manual/create-file-user.html#GSRFM00024[`create-file-user`] subcommand.
+You would add the following line to the password file:
+`AS_ADMIN_USERPASSWORD=${ALIAS=user-password-alias}`, where
+user-password-alias is the new password alias.
+6. To continue the example of the previous step, you would then run the
+link:reference-manual/create-file-user.html#GSRFM00024[`create-file-user`] subcommand. +
+You could use this method to create several users (user1, user2, and so forth),
+all with the same password. +
+`asadmin>` `--passwordfile``passwords.txt create-file-user` user1
+
+[[GSSCG00063]][[ginvi]]
+Example 1-4 Creating a Password Alias
+
+This example creates the new `jms-password` alias for the `admin` user:
+
+[source]
+----
+asadmin> create-password-alias --user admin jms-password
+----
+
+You are prompted to type the password for the alias:
+
+[source]
+----
+Please enter the alias password>secret-password
+Please enter the alias password again>secret-password
+Command create-password-alias executed successfully.
+----
+
+[[sthref10]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-password-alias` at the command line.
+
+[[ghgsr]][[GSSCG00098]][[to-list-password-aliases]]
+
+===== To List Password Aliases
+
+Use the `list-password-aliases` subcommand in remote mode to list
+existing the password aliases.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List password aliases by using the
+link:reference-manual/list-password-aliases.html#GSRFM00190[`list-password-aliases`] subcommand.
+
+[[GSSCG00064]][[ginsk]]
+Example 1-5 Listing Password Aliases
+
+This example lists the existing password aliases:
+
+[source]
+----
+asadmin> list-password aliases
+jmspassword-alias
+Command list-password-aliases executed successfully
+----
+
+[[sthref11]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-password-aliases` at the command line.
+
+[[ghgnv]][[GSSCG00099]][[to-delete-a-password-alias]]
+
+===== To Delete a Password Alias
+
+Use the `delete-password-alias` subcommand in remote mode to delete an
+existing password alias.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List all aliases by using the
+link:reference-manual/list-password-aliases.html#GSRFM00190[`list-password-aliases`] subcommand.
+3. Delete a password alias by using the
+link:reference-manual/list-password-aliases.html#GSRFM00190[`list-password-aliases`] subcommand.
+
+[[GSSCG00065]][[ginul]]
+Example 1-6 Deleting a Password Alias
+
+This example deletes the password alias `jmspassword-alias`:
+
+[source]
+----
+asadmin> delete-password-alias jmspassword-alias
+Command list-password-aliases executed successfully
+----
+
+[[sthref12]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-password-alias` at the command line.
+
+[[giobz]][[GSSCG00100]][[to-update-a-password-alias]]
+
+===== To Update a Password Alias
+
+Use the `update-password-alias` subcommand in remote mode to change the
+password for an existing password alias. The `update-password-alias`
+subcommand takes both a secure interactive form, in which the user is
+prompted for all information, and a more script-friendly form, in which
+the password is propagated on the command line.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Update an alias by using the
+link:reference-manual/update-password-alias.html#GSRFM00257[`update-password-alias`] subcommand.
+3. Type the password when prompted.
+
+[[GSSCG00066]][[giodl]]
+Example 1-7 Updating a Password Alias
+
+This example updates the password for the `jmspassword-alias` alias:
+
+[source]
+----
+asadmin> update-password-alias jsmpassword-alias
+----
+
+You are prompted to type the new password for the alias:
+
+[source]
+----
+Please enter the alias password>new-secret-password
+Please enter the alias password again>new-secret-password
+Command update-password-alias executed successfully
+----
+
+[[sthref13]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help update-password-alias` at the command line.
+
+[[ghgol]][[GSSCG00146]][[administering-audit-modules]]
+
+=== Administering Audit Modules
+
+The following topics are addressed here:
+
+* link:#ghgra[To Create an Audit Module]
+* link:#ghgsm[To List Audit Modules]
+* link:#ghgpo[To Delete an Audit Module]
+
+[[ghgra]][[GSSCG00101]][[to-create-an-audit-module]]
+
+==== To Create an Audit Module
+
+Use the `create-audit-module` subcommand in remote mode to create an
+audit module for the add-on component that implements the audit
+capabilities.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create an audit module by using the
+link:reference-manual/create-audit-module.html#GSRFM00014[`create-audit-module`] subcommand.
++
+Information about properties for this subcommand is included in this
+help page.
+
+[[GSSCG00067]][[ghjlw]]
+Example 1-8 Creating an Audit Module
+
+This example creates an audit module named `sampleAuditModule`:
+
+[source]
+----
+asadmin> create-audit-module
+--classname com.sun.appserv.auditmodule --property defaultuser=
+admin:Password=admin sampleAuditModule
+Command create-audit-module executed successfully.
+----
+
+[[sthref14]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-audit-module` at the command line.
+
+[[ghgsm]][[GSSCG00102]][[to-list-audit-modules]]
+
+==== To List Audit Modules
+
+Use the `list-audit-modules` subcommand in remote mode to list the audit
+modules on one of the following targets:
+
+* Server instance, `server` (the default)
+* Specified server instance
+* Specified configuration
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the audit modules by using the
+link:reference-manual/list-audit-modules.html#GSRFM00149[`list-audit-modules`] subcommand.
+
+[[GSSCG00068]][[ghjmy]]
+Example 1-9 Listing Audit Modules
+
+This example lists the audit modules on `localhost`:
+
+[source]
+----
+asadmin> list-audit-modules
+audit-module : default
+audit-module : sampleAuditModule
+Command list-audit-modules executed successfully.
+----
+
+[[sthref15]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-audit-modules` at the command line.
+
+[[ghgpo]][[GSSCG00104]][[to-delete-an-audit-module]]
+
+==== To Delete an Audit Module
+
+Use the `delete-audit-module` subcommand in remote mode to delete an
+existing audit module.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List the audit modules by using the
+link:reference-manual/list-audit-modules.html#GSRFM00149[`list-audit-modules`] subcommand.
+3. Delete an audit module by using the
+link:reference-manual/delete-audit-module.html#GSRFM00065[`delete-audit-module`] subcommand.
+
+[[GSSCG00070]][[ghjhm]]
+Example 1-10 Deleting an Audit Module
+
+This example deletes `sampleAuditModule`:
+
+[source]
+----
+asadmin> delete-audit-module sampleAuditModule
+Command delete-audit-module executed successfully.
+----
+
+[[ablqz]][[GSSCG00147]][[administering-jsse-certificates]]
+
+=== Administering JSSE Certificates
+
+In the developer profile, the {productName} 7 uses the JSSE format
+on the server side to manage certificates and key stores. In all
+profiles, the client side (appclient or stand-alone) uses the JSSE
+format.
+
+The Java SE SDK ships with the `keytool` utility, which enables you to
+set up and work with Java Secure Socket Extension (JSSE) digital
+certificates. You can administer public/private key pairs and associated
+certificates, and cache the public keys (in the form of certificates) of
+their communicating peers.
+
+The following topics are addressed here:
+
+* link:#ghlgv[To Generate a Certificate by Using `keytool`]
+* link:#ghlgj[To Sign a Certificate by Using `keytool`]
+* link:#ghleq[To Delete a Certificate by Using `keytool`]
+
+[[ghlgv]][[GSSCG00105]][[to-generate-a-certificate-by-using-keytool]]
+
+==== To Generate a Certificate by Using `keytool`
+
+By default, the `keytool` utility creates a keystore file in the
+directory where the utility is run.
+
+[[sthref16]]
+
+Before You Begin
+
+To run the `keytool` utility, your shell environment must be configured
+so that the Java SE ``/bin`` directory is in the path, otherwise the full
+path to the utility must be present on the command line.
+
+1. Change to the directory that contains the keystore and truststore files. +
+Always generate the certificate in the directory containing the keystore
+and truststore files. The default is domain-dir``/config``.
+2. Generate the certificate in the keystore file, `keystore.jks`, using
+the following command format:
++
+[source]
+----
+keytool -genkey -alias keyAlias-keyalg RSA
+ -keypass changeit
+ -storepass changeit
+keystore keystore.jks
+----
+Use any unique name as your keyAlias. If you have changed the keystore
+or private key password from the default (`changeit`), substitute the
+new password for `changeit`. The default key password alias is `s1as`.
++
+A prompt appears that asks for your name, organization, and other information.
+3. Export the generated certificate to the `server.cer` file (or
+`client.cer` if you prefer), using the following command format:
++
+[source]
+----
+keytool -export -alias keyAlias-storepass changeit
+ -file server.cer
+ -keystore keystore.jks
+----
+4. If a certificate signed by a certificate authority is required, see
+link:#ghlgj[To Sign a Certificate by Using `keytool`].
+5. Create the `cacerts.jks` truststore file and add the certificate to
+the truststore, using the following command format:
++
+[source]
+----
+keytool -import -v -trustcacerts
+-alias keyAlias
+ -file server.cer
+-keystore cacerts.jks
+ -keypass changeit
+----
+If you have changed the keystore or private key password from the
+default (`changeit`), substitute the new password.
++
+Information about the certificate is displayed and a prompt appears
+asking if you want to trust the certificate.
+6. Type `yes`, then press Enter.
++
+Information similar to the following is displayed:
++
+[source]
+----
+Certificate was added to keystore
+[Saving cacerts.jks]
+----
+7. To apply your changes, restart {productName}. See
+"link:administration-guide/domains.html#GSADG00337[To Restart a Domain]" in {productName} Administration Guide.
+
+[[GSSCG00071]][[ghlii]]
+Example 1-11 Creating a Self-Signed Certificate in a JKS Keystore by
+Using an RSA Key Algorithm
+
+RSA is public-key encryption technology developed by RSA Data Security,
+Inc.
+
+[source]
+----
+keytool -genkey -noprompt -trustcacerts -keyalg RSA -alias ${cert.alias}
+-dname ${dn.name} -keypass ${key.pass} -keystore ${keystore.file}
+-storepass ${keystore.pass}
+----
+
+[[GSSCG00072]][[ghlew]]
+Example 1-12 Creating a Self-Signed Certificate in a JKS Keystore by
+Using a Default Key Algorithm
+
+[source]
+----
+keytool -genkey -noprompt -trustcacerts -alias ${cert.alias} -dname
+${dn.name} -keypass ${key.pass} -keystore ${keystore.file} -storepass
+${keystore.pass}
+----
+
+[[GSSCG00073]][[ghldw]]
+Example 1-13 Displaying Available Certificates From a JKS Keystore
+
+[source]
+----
+keytool -list -v -keystore ${keystore.file} -storepass ${keystore.pass}
+----
+
+[[GSSCG00074]][[ghlfd]]
+Example 1-14 Displaying Certificate information From a JKS Keystore
+
+[source]
+----
+keytool -list -v -alias ${cert.alias} -keystore ${keystore.file}
+-storepass ${keystore.pass}
+----
+
+[[sthref17]]
+
+See Also
+
+[[ghlgj]][[GSSCG00106]][[to-sign-a-certificate-by-using-keytool]]
+
+==== To Sign a Certificate by Using `keytool`
+
+After creating a certificate, the owner must sign the certificate to
+prevent forgery. E-commerce sites, or those for which authentication of
+identity is important, can purchase a certificate from a well-known
+Certificate Authority (CA).
+
+
+[NOTE]
+====
+If authentication is not a concern, for example if private secure
+communications are all that is required, you can save the time and
+expense involved in obtaining a CA certificate by using a self-signed
+certificate.
+====
+
+
+1. Delete the default self-signed certificate:
++
+[source]
+----
+keytool -delete -alias s1as -keystore keystore.jks -storepass <store_passwd>
+----
+where <store_passwd> is the password for the keystore. For example,
+"mypass". Note that `s1as` is the default alias of the {productName}
+keystore.
+2. Generate a new key pair for the application server:
++
+[source]
+----
+keytool -genkeypair -keyalg <key_alg> -keystore keystore.jks
+-validity <val_days> -alias s1as
+----
+where <key_alg> is the algorithm to be used for generating the key pair,
+for example RSA, and <val_days> is the number of days that the
+certificate should be considered valid. For example, 365.
++
+In addition to generating a key pair, the command wraps the public key
+into a self-signed certificate and stores the certificate and the
+private key in a new keystore entry identified by the alias.
++
+For HTTPS hostname verification, it is important to ensure that the name
+of the certificate (CN) matches the fully-qualified hostname of your
+site (fully-qualified domain name). If the names do not match, clients
+connecting to the server will see a security alert stating that the name
+of the certificate does not match the name of the site.
+3. Generate a Certificate Signing Request (CSR):
++
+[source]
+----
+keytool -certreq -alias s1as -file <certreq_file> -keystore keystore.jks
+-storepass <store_passwd>
+----
+where <certreq_file> is the file in which the CSR is stored (for
+example, `s1as.csr`) and <store_passwd> is the password for the
+keystore. For example, changeit.
+4. Submit the CSR to a Certificate Authority such as VeriSign (at
+`http://www.verisign.com/ssl/buy-ssl-certificates/index.html`). In
+response, you should receive a signed server certificate. Make sure to
+import into your browser the CA certificate of the CA (if not already
+present) and any intermediate certificates indicated by the CA in the
+reply.
+5. Store the signed server certificate from the CA, including the
+markers `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`,
+into a file such as `s1as.cert`. Download the CA certificate and any
+intermediate CA certificates and store them in local files.
+6. Import the CA certificate (if not already present) and any
+intermediate CA certificates (if not already present) indicated by the
+CA into the truststore `cacerts.jks`:
++
+[source]
+----
+keytool -import -v -trustcacerts -alias <CA-Name> -file ca.cert
+ -keystore cacerts.jks -storepass <store_passwd>
+----
+7. Replace the original self-signed certificate with the certificate
+you obtained from the CA, as stored in a file such as `s1as.cert`:
++
+[source]
+----
+keytool -import -v -trustcacerts -alias s1as -file s1as.cert
+   -keystore keystore.jks -storepass <store_passwd>
+----
+When you import the certificate using the same original alias `s1as`,
+keytool treats it as a command to replace the original certificate with
+the certificate obtained as a reply to a CSR.
++
+After running the command, you should see that the certificate `s1as` in
+the keystore is no longer the original self-signed certificate, but is
+now the response certificate from the CA.
++
+Consider the following example that compares an original `s1as`
+certificate with a new `s1as` certificate obtained from VeriSign:
++
+[source]
+----
+Original s1as (self-signed):
+
+Owner: CN=FQDN, OU=Sun Java System Application Server, O=Sun
+Microsystems, L=Santa Clara, ST=California, C=US
+Issuer: CN=KUMAR, OU=Sun Java System Application Server, O=Su
+n Microsystems, L=Santa Clara, ST=California, C=US
+Serial number: 472acd34
+Valid from: Fri Nov 02 12:39:40 GMT+05:30 2007 until: Mon Oct
+30 12:39:40 GMT+05:30 2017
+
+New s1as (contains signed cert from CA):
+
+Owner: CN=FQDN, OU=Terms of use at www.verisign.com/cps/test
+ca (c)05, OU=Sun Java System Application Server, O=Sun Micros
+ystems, L=Santa Clara, ST=California, C=US
+Issuer: CN=VeriSign Trial Secure Server Test CA, OU=Terms of
+use at https://www.verisign.com/cps/testca (c)05, OU="For Test
+Purposes Only. No assurances.", O="VeriSign, Inc.", C=US
+Serial number: 1375de18b223508c2cb0123059d5c440
+Valid from: Sun Nov 11 05:30:00 GMT+05:30 2007 until: Mon Nov
+26 05:29:59 GMT+05:30 2007
+----
+8. To apply your changes, restart {productName}.
++
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]" in {productName} Administration Guide.
+
+[[GSSCG00075]][[ghlhu]]
+Example 1-15 Importing an RFC/Text-Formatted Certificate Into a JKS
+Keystore
+
+Certificates are often stored using the printable encoding format
+defined by the Internet Request for Comments (RFC) 1421 standard instead
+of their binary encoding. This certificate format, also known as Base 64
+encoding, facilitates exporting certificates to other applications by
+email or through some other mechanism.
+
+[source]
+----
+keytool -import -noprompt -trustcacerts -alias ${cert.alias} -file
+${cert.file} -keystore ${keystore.file} -storepass ${keystore.pass}
+----
+
+[[GSSCG00076]][[ghlim]]
+Example 1-16 Exporting a Certificate From a JKS Keystore in PKCS7 Format
+
+The reply format defined by the Public Key Cryptography Standards #7,
+Cryptographic Message Syntax Standard, includes the supporting
+certificate chain in addition to the issued certificate.
+
+[source]
+----
+keytool -export -noprompt -alias ${cert.alias} -file ${cert.file}
+-keystore ${keystore.file} -storepass ${keystore.pass}
+----
+
+[[GSSCG00077]][[ghleb]]
+Example 1-17 Exporting a Certificate From a JKS Keystore in RFC/Text
+Format
+
+[source]
+----
+keytool -export -noprompt -rfc -alias ${cert.alias} -file
+${cert.file} -keystore ${keystore.file} -storepass ${keystore.pass}
+----
+
+[[sthref18]]
+
+See Also
+
+[[ghleq]][[GSSCG00107]][[to-delete-a-certificate-by-using-keytool]]
+
+==== To Delete a Certificate by Using `keytool`
+
+Use the `keytool` `delete` command to delete an existing certificate.
+
+Delete a certificate using the following command format:
+
+[source]
+----
+keytool -delete
+ -alias keyAlias
+ -keystore keystore-name
+ -storepass password
+----
+
+[[GSSCG00078]][[ghlgy]]
+Example 1-18 Deleting a Certificate From a JKS Keystore
+
+[source]
+----
+keytool -delete -noprompt -alias ${cert.alias} -keystore ${keystore.file}
+-storepass ${keystore.pass}
+----
+
+[[sthref19]]
+
+See Also
+
+[[gkngj]][[GSSCG00148]][[administering-jacc-providers]]
+
+=== Administering JACC Providers
+
+The Java Authorization Contract for Containers (JACC) is part of the
+J2EE 1.4 specification that defines an interface for pluggable
+authorization providers. This enables the administrator to set up
+third-party plug-in modules to perform authorization.
+
+{productName} includes Administration Console support and subcommands
+to support JACC providers, as follows:
+
+* create `create-jacc-provider`
+* delete `delete-jacc-provider`
+* list `list-jacc-providers`
+
+The default {productName} installation includes two JACC providers,
+named default and simple. You should not delete these default providers.
+Any JACC providers you create with the `create-jacc-provider` subcommand
+are in addition to these two default providers.
+
+The {productName} creates a JSR-115-compliant JACC provider that you
+can use with third-party authorization modules for applications running
+in {productName}. The JACC provider is created as a `jacc-provider`
+element within the security-service element in the domain's `domain.xml`
+file.
+
+[[gksgp]][[GSSCG00108]][[administering-jacc-providers-from-the-administration-console]]
+
+==== Administering JACC Providers From the Administration Console
+
+To use the Administration Console to administer JACC providers, perform
+the following steps:
+
+1. Select Configurations and expand the entry.
+2. Select the server configuration for which you want to administer
+JACC providers and expand the entry.
+3. Select Security and expand the entry.
+4. Select JACC Providers. The JACC Providers page is displayed. The
+existing JACC providers are shown on this page.
++
+image:img/jacc-providers.png[
+"This screen shot shows the default JACC providers."]
+
+5. To create a new provider, click New.
++
+Enter the Name, Policy Configuration (the class that implements the
+policy configuration factory) and the Policy Provider (the class that
+implements the policy factory) for the new JACC provider. You can also
+enter optional properties (name/value) for the provider.
+6. To delete an existing JACC provider, select that provider and click
+Delete.
+
+[[gksfx]][[GSSCG00109]][[administering-jacc-providers-from-the-command-line]]
+
+==== Administering JACC Providers from the Command Line
+
+To use the command line to administer JACC providers, perform the
+following steps:
+
+1. To create a JACC provider, use the `create-jacc-provider`
+subcommand. The following example shows how to create a JACC provider
+named testJACC on the default server target.
++
+[source]
+----
+asadmin> create-jacc-provider
+       --policyproviderclass org.glassfish.exousia.modules.locked.SimplePolicyProvider
+       --policyconfigfactoryclass com.sun.enterprise.security.provider.PolicyCon
+figurationFactoryImpl
+       testJACC
+----
+2. To delete a JACC provider, use the `create-jacc-provider`
+subcommand. The following example shows how to delete a JACC provider
+named testJACC from the default domain:
++
+[source]
+----
+asadmin> delete-jacc-provider testJACC
+----
+3. To list the available providers, use the `list-jacc-providers`
+subcommand. The following example shows how to list JACC providers for
+the default domain:
++
+[source]
+----
+asadmin> list-jacc-providers
+default
+simple
+Command list-jacc-providers executed successfully.
+----
+
+
diff --git a/docs/security-guide/src/main/asciidoc/title.adoc b/docs/security-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..564bdcc
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,46 @@
+type=page
+status=published
+title={productName} Security Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Security Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Security Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This book provides instructions for configuring and administering
+{productName} security.
+
+[[sthref1]]
+
+'''''
+
+{productName} Security Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/security-guide/src/main/asciidoc/user-security.adoc b/docs/security-guide/src/main/asciidoc/user-security.adoc
new file mode 100644
index 0000000..2b764a9
--- /dev/null
+++ b/docs/security-guide/src/main/asciidoc/user-security.adoc
@@ -0,0 +1,784 @@
+type=page
+status=published
+title=Administering User Security
+next=message-security.html
+prev=system-security.html
+~~~~~~
+
+= Administering User Security
+
+[[GSSCG00036]][[ggnqj]]
+
+
+[[administering-user-security]]
+== 2 Administering User Security
+
+This chapter provides instructions for administering user security in
+the {productName} environment by using the `asadmin`
+command-line utility. {productName} enforces its authentication and
+authorization policies upon realms, users, and groups. This chapter
+assumes that you are familiar with security features such as
+authentication, authorization, and certificates. If you are not, see
+link:system-security.html#ablnk[Administering System Security].
+
+The following topics are addressed here:
+
+* link:#ggkuk[Administering Authentication Realms]
+* link:#ggnxq[Administering File Users]
+
+Instructions for accomplishing these tasks by using the Administration
+Console are contained in the Administration Console online help.
+
+[NOTE]
+====
+JSR-375 defines the concept of an Identity Store, and an SPI interface
+for writing providers that can authenticate users against Identity
+Stores. It also provides two built-in providers. This mechanism is
+conceptually similar to Authentication Realms, but can be configured and
+managed by applications. See
+https://eclipse-ee4j.github.io/jakartaee-tutorial/#working-with-identity-stores[
+Working with Identity Stores]
+in The Jakarta EE Tutorial for more information about Identity Stores.
+====
+
+[[ggkuk]][[GSSCG00151]][[administering-authentication-realms]]
+
+=== Administering Authentication Realms
+
+The following topics are addressed here:
+
+* link:#gkbiy[Overview of Authentication Realms]
+* link:#ggnca[To Create an Authentication Realm]
+* link:#ggngh[To List Authentication Realms]
+* link:#giwlt[To Update an Authentication Realm]
+* link:#ggngf[To Delete an Authentication Realm]
+* link:#ggmww[To Configure a JDBC or Digest Authentication Realm]
+* link:#gkbeo[To Configure LDAP Authentication with OID]
+* link:#gksgi[To Configure LDAP Authentication with OVD]
+* link:#gkbjp[To Enable LDAP Authentication on the {productName} DAS]
+
+[[gkbiy]][[GSSCG00217]][[overview-of-authentication-realms]]
+
+==== Overview of Authentication Realms
+
+An authentication realm, also called a security policy domain or
+security domain, is a scope over which the {productName} defines and
+enforces a common security policy. {productName} is preconfigured
+with the file, certificate, and administration realms. In addition, you
+can set up LDAP, JDBC, digest, Oracle Solaris, or custom realms. An
+application can specify which realm to use in its deployment descriptor.
+If the application does not specify a realm, {productName} uses its
+default realm (`file`).
+
+File realm::
+  {productName} stores user credentials locally in a file named
+  `keyfile`. The file realm is the initial default realm.
+Administration realm::
+  The administration realm is also a file realm and stores administrator
+  user credentials locally in a file named `admin-keyfile`.
+Certificate realm::
+  {productName} stores user credentials in a certificate database.
+  When using the certificate realm, the server uses certificates with
+  the HTTPS protocol to authenticate web clients.
+LDAP realm::
+  {productName} can get user credentials from a Lightweight Directory
+  Access Protocol (LDAP) server such as Oracle Virtual Directory (OVD)
+  (`http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html`),
+  Oracle Internet Directory (OID)
+  (`http://www.oracle.com/technetwork/indexes/products/index.html`), and
+  Oracle Directory Server Enterprise Edition
+  (`http://www.oracle.com/us/products/middleware/identity-management/oracle-directory-services/index.html`).
+  LDAP is a protocol for enabling anyone to locate organizations,
+  individuals, and other resources such as files and devices in a
+  network, whether on the public Internet or on a corporate intranet. +
+  See link:#gkbeo[To Configure LDAP Authentication with OID] for
+  instructions on configuring {productName} to work with an OVD/OID
+  LDAP provider.
++
+[NOTE]
+====
+By default, {productName} performs LDAP group search. If you have
+not created any groups in LDAP, the search fails.
+
+To disable LDAP group search in LDAP user name search, set the
+`com.oracle.enterprise.security.auth.realm.ldap.DISABLEGROUP_SEARCH`
+Java system property to `true` in the required {productName}
+instance or cluster configurations:
+[source]
+----
+asadmin> create-jvm-options --target=target
+-Dcom.oracle.enterprise.security.auth.realm.ldap.DISABLEGROUP_SEARCH=true
+----
+where target is the {productName} instance or cluster for which you
+are disabling LDAP group search. For more information about the
+`create-jvm-options` subcommand, see the link:reference-manual.html#GSRFM[{productName} Reference Manual].
+====
+
+JDBC realm::
+  {productName} gets user credentials from a database. The server
+  uses the database information and the enabled JDBC realm option in the
+  configuration file.
+Digest realm::
+  Digest Authentication authenticates a user based on a user name and a
+  password. However, the authentication is performed by transmitting the
+  password in an encrypted form.
+Oracle Solaris realm::
+  {productName} gets user credentials from the Oracle Solaris
+  operating system. This realm is supported on the Oracle Solaris 9 and
+  Oracle Solaris 10 operating systems. Consult your Oracle Solaris
+  documentation for information about managing users and groups in the
+  Oracle Solaris realm.
+PAM realm::
+  A Pluggable Authentication Module (PAM) realm allows applications
+  deployed on {productName} to authenticate users against a native
+  Unix (Solaris/Linux/Mac OS) users list. PAM realms use the class name
+  `com.sun.enterprise.security.auth.realm.pam.PamRealm` and the JAAS
+  Context `pamRealm`. +
+  This realm is supported on all Unix Operating Systems, including the
+  Oracle Solaris 9 and Oracle Solaris 10 operating systems
+Custom realm::
+  You can create other repositories for user credentials, such as a
+  relational database or third-party components. For more information
+  about custom realms, see the Administration Console online help. For
+  instructions on creating a custom realm, see
+  "link:application-development-guide/securing-apps.html#GSDVG00367[
+  Creating a Custom Realm]" in
+  {productName} Application Development Guide.
+
+The {productName} authentication service can govern users in multiple realms.
+
+[[ggnca]][[GSSCG00110]][[to-create-an-authentication-realm]]
+
+==== To Create an Authentication Realm
+
+Use the `create-auth-realm` subcommand in remote mode to create an
+authentication realm.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Create a realm by using the
+link:reference-manual/create-auth-realm.html#GSRFM00015[`create-auth-realm`] subcommand. +
+Information about properties for this subcommand is included in this help page.
+
+[[GSSCG00079]][[ggpjx]]
+Example 2-1 Creating a Realm
+
+This example creates a realm named `db`.
+
+[source]
+----
+asadmin> create-auth-realm --classname com.iplanet.ias.security.
+auth.realm.DB.Database --property defaultuser=admin:Password=admin db
+Command create-auth-realm executed successfully.
+----
+
+[[sthref21]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-auth-realm` at the command line.
+
+For information on creating a custom realm, see
+"link:application-development-guide/securing-apps.html#GSDVG00367[Creating a Custom Realm]" in {productName} Application Development Guide.
+
+[[ggngh]][[GSSCG00111]][[to-list-authentication-realms]]
+
+==== To List Authentication Realms
+
+Use the `list-auth-realms` subcommand in remote mode to list the
+existing authentication realms.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List realms by using the link:reference-manual/list-auth-realms.html#GSRFM00150[`list-auth-realms`]
+subcommand.
+
+[[GSSCG00080]][[ggpkw]]
+Example 2-2 Listing Realms
+
+This example lists the authentication realms on `localhost`.
+
+[source]
+----
+asadmin> list-auth-realms
+db
+certificate
+file
+admin-realm
+Command list-auth-realms executed successfully.
+----
+
+[[sthref22]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-auth-realms` at the command line.
+
+[[giwlt]][[GSSCG00112]][[to-update-an-authentication-realm]]
+
+==== To Update an Authentication Realm
+
+Use the `set` subcommand to modify an existing authentication realm.
+
+
+[NOTE]
+====
+A custom realm does not require server restart.
+====
+
+
+1. List realms by using the link:reference-manual/list-auth-realms.html#GSRFM00150[`list-auth-realms`]
+subcommand.
+2. Modify the values for the specified thread pool by using the
+link:reference-manual/set.html#GSRFM00226[`set`] subcommand.
++
+The thread pool is identified by its dotted name.
+3. To apply your changes, restart {productName}.
++
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]" in {productName} Administration Guide.
+
+[[ggngf]][[GSSCG00113]][[to-delete-an-authentication-realm]]
+
+==== To Delete an Authentication Realm
+
+Use the `delete-auth-realm` subcommand in remote mode to delete an
+existing authentication realm.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List realms by using the
+link:reference-manual/list-auth-realms.html#GSRFM00150[`list-auth-realms`] subcommand.
+3. If necessary, notify users that the realm is being deleted.
+4. Delete the realm by using the
+link:reference-manual/delete-auth-realm.html#GSRFM00066[`delete-auth-realm`] subcommand.
+5. To apply your changes, restart {productName}. See
+"link:administration-guide/domains.html#GSADG00337[To Restart a Domain]" in {productName} Administration Guide.
+
+[[GSSCG00081]][[ggpjf]]
+Example 2-3 Deleting a Realm
+
+This example deletes an authentication realm named `db`.
+
+[source]
+----
+asadmin> delete-auth-realm db
+Command delete-auth-realm executed successfully.
+----
+
+[[sthref23]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-auth-realm` at the command line.
+
+[[ggmww]][[GSSCG00114]][[to-configure-a-jdbc-or-digest-authentication-realm]]
+
+==== To Configure a JDBC or Digest Authentication Realm
+
+{productName} enables you to specify a user's credentials (user name
+and password) in the JDBC realm instead of in the connection pool. Using
+the `jdbc` type realm instead of the connection pool prevents other
+applications from browsing the database tables for user credentials.
+
+
+[NOTE]
+====
+By default, storage of passwords as clear text is not supported in the
+JDBC realm. Under normal circumstances, passwords should not be stored
+as clear text.
+====
+
+
+1. [[ggmxh]]
+Create the database tables in which to store user credentials for the realm. +
+How you create the database tables depends on the database that you are using.
+
+2. Add user credentials to the database tables that you created. +
+How you add user credentials to the database tables depends on the
+database that you are using.
+
+3. Create a JDBC connection pool for the database. +
+See "link:administration-guide/jdbc.html#GSADG00420[
+To Create a JDBC Connection Pool]" in {productName} Administration Guide.
+
+4. Create a JDBC resource for the database. +
+"link:administration-guide/jdbc.html#GSADG00426[
+To Create a JDBC Resource]" in {productName} Administration Guide.
+
+5. [[ggmvo]]
+Create a realm. +
+For instructions, see link:#ggnca[To Create an Authentication Realm].
++
+[NOTE]
+====
+The JAAS context should be `jdbcDigestRealm` for digest authentication
+or `jdbcRealm` for other authentication types.
+====
+
+6. [[ggmtc]]
+Modify the deployment descriptor to specify the `jdbc` realm. +
+Modify the deployment descriptor that is associated with your application.
+* For an enterprise application in an Enterprise Archive (EAR) file,
+  modify the `sun-application.xml` file.
+* For a web application in a Web Application Archive (WAR) file, modify the `web.xml` file.
+* For an enterprise bean in an EJB JAR file, modify the `sun-ejb-jar.xml` file.
+
++
+For more information about how to specify a realm, see
+"link:application-development-guide/securing-apps.html#GSDVG00365[
+How to Configure a Realm]" in {productName} Application Development Guide.
+
+7. Assign security roles to users in the realm. +
+To assign a security role to a user, add a `security-role-mapping`
+element to the deployment descriptor that you modified.
+
+8. Verify that the database is running. +
+If needed, see "link:administration-guide/jdbc.html#GSADG00417[To Start the Database]"
+in {productName} Administration Guide.
+
+9. To apply the authentication, restart the server. +
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]"
+in {productName} Administration Guide.
+
+[[GSSCG00082]][[ghysu]]
+Example 2-4 Assigning a Security Role
+
+This example shows a `security-role-mapping` element that assigns the
+security role `Employee` to user `Calvin`
+
+[source,xml]
+----
+<security-role-mapping>
+    <role-name>Employee</role-name>
+    <principal-name>Calvin</principal-name>
+  </security-role-mapping>
+----
+
+[[gkbeo]][[GSSCG00115]][[to-configure-ldap-authentication-with-oid]]
+
+==== To Configure LDAP Authentication with OID
+
+This procedure explains how to configure {productName} to use LDAP
+authentication with Oracle Internet Directory.
+
+1. Install Oracle Enterprise Manager 11g and the latest Enterprise
+Manager patches, if they are not installed already. +
+Instructions for installing Oracle Enterprise Manager are provided in
+the Oracle Enterprise Manager
+(`http://docs.oracle.com/cd/E11857_01/index.html`) documentation set.
+
+2. Install the Oracle Identity Management Suite (IDM) 11g and Patch Set 2 or later,
+if they are not installed already. +
+Instructions for installing the Oracle Identity Management suite are
+provided in Oracle Fusion Middleware Installation Guide for Oracle
+Identity Management
+(`http://docs.oracle.com/cd/E12839_01/install.1111/e12002.html`).
+
+3. Configure SSL for Oracle Internet Directory (OID), if it is not
+configured already. Configure the OID instance in the server
+authentication mode and with the protocol version set to SSLv3 +
+Instructions for configuring SSL for OID are provided in the SSL chapter
+of Oracle Internet Directory Administrator's Guide
+(`http://docs.oracle.com/cd/B14099_19/idmanage.1012/b14082/ssl.html`).
+
+4. Using Oracle Wallet Manager, export an SSL self-signed certificate
+you want to use with {productName}. +
+Instructions for using Oracle Wallet Manager to create and export SSL
+certificates are provided in the "Configure Oracle Internet Directory
+for SSL" (`http://docs.oracle.com/cd/B14099_19/idmanage.1012/b14082/ssl.html#CHDCADIJ`)
+section of the SSL chapter in Oracle Internet Directory Administrator's
+Guide (`http://docs.oracle.com/cd/B14099_19/idmanage.1012/b14082/ssl.html`).
+
+5. On the {productName} side, use the `keytool` command import the
+certificate you exported with Oracle Wallet Manager. +
+The `keytool` command is available in the `$JAVA_HOME/bin` directory.
+Use the following syntax:
++
+[source]
+----
+keytool -importcert -alias "alias-name" -keystore domain-dir/config/cacerts.jks
+-file cert-name
+----
++
+where the variables are defined as follows:
++
+--
+alias-name::
+  Name of an alias to use for the certificate
+domain-dir::
+  Name of the domain for which the certificate is used
+cert-name::
+  Path to the certificate that you exported with Oracle Wallet Manager.
+--
++
+For example, to import a certificate named `oi.cer` for a {productName} domain in `/glassfish7/glassfish/domains/domain1`, using an
+alias called "OID self-signed certificate," you would use the following command:
++
+[source]
+----
+keytool -importcert -alias "OID self signed certificate" -keystore \
+/glassfish7/glassfish/domains/domain1/config/cacerts.jks -file oid.cer
+----
+6. Restart the {productName} domain. +
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]"
+in {productName} Administration Guide.
+7. Use the Oracle Enterprise Manager `ldapmodify` command to enable
+Anonymous Bind for OID. +
+For example:
++
+[source]
+----
+ldapmodify -D cn=orcladmin -q -p portNum -h hostname -f ldifFile
+----
+In this example, the LDIF file might contain the following:
++
+[source]
+----
+dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry
+changetype: modify
+replace: orclAnonymousBindsFlag
+orclAnonymousBindsFlag: 1
+----
+To disable all anonymous binds, you would use a similar LDIF file with
+the last line changed to:
++
+[source]
+----
+orclAnonymousBindsFlag: 0
+----
+See "Managing Anonymous Binds"
+(`http://docs.oracle.com/cd/E14571_01/oid.1111/e10029/authentication.html#CACJEJDA`)
+in Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory
+(`http://docs.oracle.com/cd/E14571_01/oid.1111/e10029.html`) for
+complete instructions on the `ldapmodify` command.
+
+[[gksgi]][[GSSCG00116]][[to-configure-ldap-authentication-with-ovd]]
+
+==== To Configure LDAP Authentication with OVD
+
+This procedure explains how to configure {productName} to use LDAP
+authentication with Oracle Virtual Directory.
+
+1. Create the OVD adapter, as described in the "Creating and
+Configuring Oracle Virtual Directory Adapters"
+(`http://docs.oracle.com/cd/E12839_01/oid.1111/e10046/basic_adapters.html#BABCBGJA`)
+chapter of Administrator's Guide for Oracle Virtual Directory
+(`http://docs.oracle.com/cd/E12839_01/oid.1111/e10046.html`).
+
+2. Configure SSL for Oracle Virtual Directory (OVD), if it is not
+configured already. For instructions on configuring SSL for OVD, see the
+section "Enable SSL for Oracle Virtual Directory Using Fusion Middleware
+Control" in SSL Configuration in Oracle Fusion Middleware
+(`http://docs.oracle.com/cd/E12839_01/core.1111/e10105/sslconfig.html#ASADM1800`).
++
+Also, configure the SSL for the OVD listener in server authentication mode.
+
+3. Export the certificate from JKS keystore you want to use with
+{productName}. See "Exporting a Keystore Using Fusion Middleware Control"
+(`http://docs.oracle.com/cd/E16764_01/core.1111/e10105/wallets.html#CIHECAIB`)
+for information.
+
+4. On the {productName} side, use the `keytool` command to import
+the certificate you exported from the JKS keystore. +
+The `keytool` command is available in the `$JAVA_HOME/bin` directory.
+Use the following syntax:
++
+[source]
+----
+keytool -importcert -alias "alias-name" -keystore domain-dir/config/cacerts.jks
+-file cert-name
+----
++
+where the variables are defined as follows:
++
+--
+alias-name::
+  Name of an alias to use for the certificate
+domain-dir::
+  Name of the domain for which the certificate is used
+cert-name::
+  Path to the certificate that you exported from the keystore.
+--
++
+For example, to import a certificate named `ovd.cer` for a {productName} domain in `/glassfish7/glassfish/domains/domain1`, using an
+alias called "OVD self-signed certificate," you would use the following command:
++
+[source]
+----
+keytool -importcert -alias "OVD self signed certificate" -keystore \
+/glassfish7/glassfish/domains/domain1/config/cacerts.jks -file ovd.cer
+----
+5. Restart the {productName} domain. +
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]"
+in {productName} Administration Guide.
+
+[[gkbjp]][[GSSCG00117]][[to-enable-ldap-authentication-on-the-glassfish-server-das]]
+
+==== To Enable LDAP Authentication on the {productName} DAS
+
+This procedure explains how to enable LDAP authentication for logins to
+the {productName} Domain Administration Server (DAS). Logging in to
+the DAS is typically only performed by {productName} administrators
+who want to use the {productName} Administration Console or `asadmin`
+command. See link:#gkbeo[To Configure LDAP Authentication with OID] for
+instructions on enabling general LDAP authentication for {productName}.
+
+[[sthref24]]
+
+Before you begin, ensure that you have followed the configuration instructions in
+link:#gkbeo[To Configure LDAP Authentication with OID]
+
+Use the `asadmin configure-ldap-for-admin` subcommand to enable user
+authentication to the {productName} DAS.
+
+Use the following syntax:
+
+[source]
+----
+asadmin configure-ldap-for-admin --basedn "dn-list" --url [ldap|ldaps]://ldap-url
+--ldap-group group-name
+----
+
+where the variables are defined as follows:
+
+dn-list::
+  basedn parameters
+ldap-url::
+  URL and port number for the LDAP server; can use standard (`ldap`) or
+  secure (`ldaps`) protocol
+group-name::
+  LDAP group name for allowed users, as defined on the LDAP server.
+
+For example:
+
+[source]
+----
+asadmin configure-ldap-for-admin --basedn "dc=red,dc=iplanet,dc=com" \
+--url ldap://interopoel54-1:3060 --ldap-group sqestaticgroup
+
+asadmin configure-ldap-for-admin --basedn "dc=red,dc=iplanet,dc=com" \
+--url ldaps://interopoel54-1:7501 --ldap-group sqestaticgroup
+----
+
+[[sthref25]]
+
+See Also
+
+See link:reference-manual/configure-ldap-for-admin.html#GSRFM00010[`configure-ldap-for-admin`] for more information
+about the `configure-ldap-for-admin subcommand`.
+
+[[ggnxq]][[GSSCG00152]][[administering-file-users]]
+
+=== Administering File Users
+
+A user is an individual (or application program) identity that is
+defined in {productName}. A user who has been authenticated is
+sometimes called a principal.
+
+As the administrator, you are responsible for integrating users into the
+{productName} environment so that their credentials are securely
+established and they are provided with access to the applications and
+services that they are entitled to use.
+
+The following topics are addressed here:
+
+* link:#ggocf[To Create a File User]
+* link:#ggoab[To List File Users]
+* link:#ghlgs[To List File Groups]
+* link:#ggoaw[To Update a File User]
+* link:#ggoah[To Delete a File User]
+
+[[ggocf]][[GSSCG00118]][[to-create-a-file-user]]
+
+==== To Create a File User
+
+Use the `create-file-user` subcommand in remote mode to create a new
+user by adding a new entry to the `keyfile`. The entry includes the user
+name, password, and any groups for the user. Multiple groups can be
+specified by separating the groups with colons (:).
+
+[NOTE]
+====
+If secure administration is enabled as described in
+link:administrative-security.html#gkomz[Running Secure Admin], you cannot
+create an administrative user with a blank password.
+====
+
+Creating a new `file` realm user is a dynamic event and does not require
+server restart.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. If the user will belong to a particular group, see the current
+groups by using the
+link:reference-manual/list-file-groups.html#GSRFM00164[`list-file-groups`] subcommand.
+3. Create a file user by using the
+link:reference-manual/create-file-user.html#GSRFM00024[`create-file-user`] subcommand.
+
+[[GSSCG00083]][[ggpkq]]
+Example 2-5 Creating a User
+
+This example create user `Jennifer` on the default realm `file` (no groups are specified).
+
+The `asadmin` `--passwordfile` option specifies the name of a file that
+contains the password entries in a specific format. The entry for a
+password must have the `AS_ADMIN_` prefix followed by the password name
+in uppercase letters, an equals sign, and the password. See
+link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] for more information.
+
+[source]
+----
+asadmin> create-file-user --user admin
+--passwordfile=c:\tmp\asadminpassword.txt Jennifer
+Command create-file-user executed successfully.
+----
+
+[[sthref26]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help create-file-user` at the command line.
+
+[[ggoab]][[GSSCG00119]][[to-list-file-users]]
+
+==== To List File Users
+
+Use the `list-file-users` subcommand in remote mode to list the users
+that are in the `keyfile`.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List users by using the link:reference-manual/list-file-users.html#GSRFM00165[`list-file-users`]
+subcommand.
+
+[[GSSCG00084]][[ggpgf]]
+Example 2-6 Listing File Users
+
+This example lists file users on the default `file` realm file.
+
+[source]
+----
+asadmin> list-file-users
+Jennifer
+Command list-file-users executed successfully.
+----
+
+[[sthref27]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help list-file-users` at the command line.
+
+[[ghlgs]][[GSSCG00120]][[to-list-file-groups]]
+
+==== To List File Groups
+
+A group is a category of users classified by common traits, such as job
+title or customer profile. For example, users of an e-commerce
+application might belong to the `customer` group, and the big spenders
+might also belong to the `preferred` group. Categorizing users into
+groups makes it easier to control the access of large numbers of users.
+A group is defined for an entire server and realm. A user can be
+associated with multiple groups of users.
+
+A group is different from a role in that a role defines a function in an
+application, while a group is a set of users who are related in some
+way. For example, in the personnel application there might be groups
+such as `full-time`, `part-time`, and `on-leave`. Users in these groups
+are all employees (the `employee` role). In addition, each user has its
+own designation that defines an additional level of employment.
+
+Use the `list-file-groups` subcommand in remote mode to list groups for
+a file user, or all file groups if the `--name` option is not specified.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List file groups by using the
+link:reference-manual/list-file-groups.html#GSRFM00164[`list-file-groups`] subcommand.
+
+[[GSSCG00085]][[ghlgb]]
+Example 2-7 Listing Groups for a User
+
+This example lists the groups for user `joesmith`.
+
+[source]
+----
+asadmin> list-file-groups --name joesmith
+staff
+manager
+Command list-file-groups executed successfully
+----
+
+[[ggoaw]][[GSSCG00121]][[to-update-a-file-user]]
+
+==== To Update a File User
+
+Use the `update-file-user` subcommand in remote mode to modify the
+information in the `keyfile` for a specified user.
+
+[NOTE]
+====
+If secure administration is enabled as described in
+link:administrative-security.html#gkomz[Running Secure Admin], you cannot
+update an administrative user to have a blank password.
+====
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. Update the user information by using the
+link:reference-manual/update-file-user.html#GSRFM00254[`update-file-user`] subcommand.
+3. To apply your changes, restart {productName}. +
+See "link:administration-guide/domains.html#GSADG00337[To Restart a Domain]"
+in {productName} Administration Guide.
+
+[[GSSCG00086]][[ggpgh]]
+Example 2-8 Updating a User
+
+The following subcommand updates the groups for user `Jennifer`.
+
+[source]
+----
+asadmin> update-file-user --passwordfile c:\tmp\asadminpassword.txt --groups
+staff:manager:engineer Jennifer
+Command update-file-user executed successfully.
+----
+
+[[sthref28]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help update-file-user` at the command line.
+
+[[ggoah]][[GSSCG00122]][[to-delete-a-file-user]]
+
+==== To Delete a File User
+
+Use the `delete-file-user` subcommand in remote mode to remove a user
+entry from the `keyfile` by specifying the user name. You cannot delete
+yourself, that is, the user you are logged in as cannot be deleted
+during your session.
+
+1. Ensure that the server is running. Remote subcommands require a running server.
+2. List users by using the
+link:reference-manual/list-file-users.html#GSRFM00165[`list-file-users`] subcommand.
+3. Delete the user by using the
+link:reference-manual/delete-file-user.html#GSRFM00076[`delete-file-user`] subcommand.
+
+[[GSSCG00087]][[ggpib]]
+Example 2-9 Deleting a User
+
+This example deletes user `Jennifer` from the default `file` realm.
+
+[source]
+----
+asadmin> delete-file-user Jennifer
+Command delete-file-user executed successfully.
+----
+
+[[sthref29]]
+
+See Also
+
+You can also view the full syntax and options of the subcommand by
+typing `asadmin help delete-file-user` at the command line.
+
+
diff --git a/docs/security-guide/src/main/jbake/assets/css/style.css b/docs/security-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/security-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/security-guide/src/main/jbake/content/administrative-security.adoc b/docs/security-guide/src/main/jbake/content/administrative-security.adoc
deleted file mode 100644
index 270cc95..0000000
--- a/docs/security-guide/src/main/jbake/content/administrative-security.adoc
+++ /dev/null
@@ -1,990 +0,0 @@
-type=page
-status=published
-title=Managing Administrative Security
-next=running-in-secure-environment.html
-prev=security-in-cluster-mode.html
-~~~~~~
-Managing Administrative Security
-================================
-
-[[GSSCG00039]][[gknqh]]
-
-
-[[managing-administrative-security]]
-5 Managing Administrative Security
-----------------------------------
-
-This chapter describes how to manage administrative security by using
-the secure administration feature.
-
-This chapter assumes that you are familiar with security features such
-as authentication, authorization, and certificates. If you are not,
-first see link:system-security.html#ablnk[Administering System Security].
-
-Instructions for accomplishing the tasks specific to GlassFish Server by
-using the Administration Console are contained in the Administration
-Console online help.
-
-* link:#gkocp[Secure Administration Overview]
-* link:#gkofl[How Secure Admin Works: The Big Picture]
-* link:#gkofe[Considerations When Running GlassFish Server With Default
-Security]
-* link:#gkomz[Running Secure Admin]
-* link:#gkolu[Additional Considerations When Creating Local Instances]
-* link:#gkqah[Secure Admin Use Case]
-* link:#gkodn[Upgrading an SSL-Enabled Secure GlassFish Installation to
-Secure Admin]
-
-[[gkocp]][[GSSCG00162]][[secure-administration-overview]]
-
-Secure Administration Overview
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The secure administration feature allows an administrator to secure all
-administrative communication between the domain administration server
-(DAS), any remote instances, and administration clients such as the
-`asadmin` utility, the administration console, and REST clients.
-
-In addition, secure administration helps to prevent DAS-to-DAS and
-instance-to-instance traffic, and carefully restricts
-administration-client-to-instance traffic.
-
-The secure administration feature, which is henceforth referred to as
-secure admin, provides a secure environment, in which you can be
-confident that rogue users or processes cannot intercept or corrupt
-administration traffic or impersonate legitimate GlassFish Server
-components.
-
-When you install GlassFish Server or create a new domain, secure admin
-is disabled by default. When secure admin is disabled, GlassFish Server
-does not encrypt administrative communication among the system
-components and does not accept administrative connections from remote
-hosts.
-
-The following subcommands enable and disable secure admin:
-
-* enable-secure-admin-The `enable-secure-admin` subcommand turns on
-secure admin. GlassFish Server uses SSL encryption to protect subsequent
-administrative traffic and will accept remote administrative
-connections. Enabling secure admin affects the entire domain, including
-the DAS and all instances. The DAS must be running, and not any
-instances, when you run `enable-secure-admin`. You must restart the DAS
-immediately after enabling secure admin, and then start any instances
-you want to run. +
-
-[NOTE]
-=======================================================================
-
-The `enable-secure-admin` subcommand fails if any administrative user
-has a blank password.
-
-=======================================================================
-
-* disable-secure-admin-The `disable-secure-admin` subcommand turns off
-secure admin. GlassFish Server no longer encrypts administrative
-messages and will no longer accept remote administration connections.
-Disabling secure admin affects the entire domain, including the DAS and
-all instances. The DAS must be running , and not any instances, when you
-run `disable-secure-admin`. You must restart the DAS immediately after
-disabling secure admin, and then start any instances you want to run. +
-If secure admin is not enabled, this subcommand has no effect.
-
-This section describes how to use these commands to run secure admin,
-and the implications of doing so.
-
-[[gkofl]][[GSSCG00163]][[how-secure-admin-works-the-big-picture]]
-
-How Secure Admin Works: The Big Picture
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Secure admin is a domain-wide setting. It affects the DAS and all
-instances and all administration clients. This section describes the
-following topics:
-
-* link:#gkqce[Functions Performed by Secure Admin]
-* link:#gkocv[Which Administration Account is Used?]
-* link:#gkodi[What Authentication Methods Are Used for Secure
-Administration?]
-* link:#gkpex[Understanding How Certificate Authentication is Performed]
-* link:#gkoey[What Certificates Are Used?]
-* link:#glgmy[An Alternate Approach: Using Distinguished Names to
-Specify Certificates]
-* link:#gkqjj[Guarding Against Unwanted Connections]
-
-[[gkqce]][[GSSCG00227]][[functions-performed-by-secure-admin]]
-
-Functions Performed by Secure Admin
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `enable-secure-admin` subcommand performs the following functions.
-Subsequent sections describe these functions in more detail.
-
-* Enables the secure admin behavior, optionally setting which aliases
-are to be used for identifying the DAS and instance certificates.
-* Adjusts all configurations in the domain, including default-config.
-* Adjusts Grizzly settings:
-
-** SSL/TLS is enabled in the DAS's admin listener and the instances'
-admin listeners.
-
-** Port unification (that is, HTTP and HTTPS are handled by the same
-port), http—to—https redirection, and client authentication
-(client-auth=want) are enabled.
-
-** Configures SSL to use the administration truststore.
-
-** Configures SSL to use the administration keystore and the correct
-alias (for the self-signed cert) for authenticating itself. (You can use
-your own certificate instead, as described in link:#gkped[Using Your Own
-Certificates]. +
-The Grizzly configuration on the DAS and each instance is identical,
-with the exception that the DAS uses the `s1as` alias for SSL/TLS
-authentication and the instances use the `glassfish-instance` alias.
-(These alias names are the default, and you can change them.) +
-A server restart is required to change the Grizzly adapter behavior. +
-The restart also synchronizes the restarted instances. When you start
-the instances, the DAS delivers the updated configuration to the
-instances.
-
-[[gkocv]][[GSSCG00228]][[which-administration-account-is-used]]
-
-Which Administration Account is Used?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If only one administration account exists in the realm, GlassFish Server
-treats that account as the current default administration account. In
-this case, when you run an `asadmin` command, you do not need to specify
-the username. If a password for that username is required, you need to
-specify it, typically by using the `--passwordfile` option or by letting
-`asadmin` prompt you for it.
-
-By default, GlassFish Server includes a single account for user "admin"
-and an empty password. Therefore, if you make no other changes before
-you enable secure admin, "admin" is the initial default username and no
-password is required. You need to decide whether enabling secure admin
-without also requiring a password makes sense in your environment.
-
-If multiple admin accounts exist, then GlassFish Server does not
-recognize any admin username as the default. You must then specify a
-valid username via the `-—user` option when you use the `asadmin`
-command (or by or defining the `AS_ASDMIN_USER` environment variable),
-and its associated password (if the associated password is not empty).
-
-The username and password used for a login attempt must match the
-username and password (if required) for an account defined in the realm,
-and you must have set up the account as a member of the admin group.
-
-[[gkodi]][[GSSCG00229]][[what-authentication-methods-are-used-for-secure-administration]]
-
-What Authentication Methods Are Used for Secure Administration?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The secure admin feature enforces security via the following
-authentication methods:
-
-* The DAS and instances authenticate to each other via mutual (two-way)
-SSL/TLS certificate authentication. The DAS authenticates to clients via
-one-way SSL/TLS certificate authentication. +
-The domain creation process creates a default keystore and truststore,
-plus a default private key for the DAS. Secure admin uses this initial
-configuration to set up the truststore so that the DAS and instances
-always trust each other.
-* Remote administration clients (`asadmin`, administration console,
-browsers, and IDEs) must accept the public certificate presented by the
-DAS. If accepted, remote administration clients then send a user name
-and password (HTTP Basic authentication) in the HTTP Authorization
-header. The receiving DAS or instance makes sure those credentials are
-valid in its realm, and authenticates and authorizes the user.
-* A locally-running `asadmin` (that is, connecting to an instance on the
-same host) authenticates and authorizes to the co-located instance using
-a locally-provisioned password.
-* Credentials or other sensitive information sent over the network are
-always encrypted if secure admin is enabled. No credentials are sent in
-the clear if secure admin is enabled. (If secure admin is disabled,
-credentials are sent in the clear.) Messages between administration
-clients and the DAS, between the DAS and remote instances, and between
-local administration clients and instances are encrypted using SSL/TLS.
-This is true even if you explicitly set the `asadmin` `-—secure` option
-to false.
-
-link:#gkobl[Table 5-1] shows which authentication methods are employed
-when secure admin is enabled or disabled.
-
-[[sthref35]][[gkobl]]
-
-Table 5-1 Authentication Methods Employed
-
-[width="100%",cols="30%,30%,40%",options="header",]
-|=======================================================================
-|Access Method |When Secure Admin is Disabled |When Secure Admin is
-Enabled
-|Remote administration access to the DAS |Rejected. |Username/password
-authentication. (Client must also accept server certificate.)
-
-|Communication between DAS and instances |Cleartext messages. No mutual
-authentication. |SSL-encrypted messages. SSL mutual authentication using
-certificates.
-
-|Communication between administration clients and DAS |Cleartext
-messages. No DAS authentication. |SSL-encrypted messages. DAS uses SSL
-certificate server authentication.
-
-|Local asadmin client to instance on same node |Cleartext messages.
-Locally-provisioned password mechanism is used. |SSL-encrypted messages.
-Locally-provisioned password mechanism is used.
-|=======================================================================
-
-
-[[gkpex]][[GSSCG00230]][[understanding-how-certificate-authentication-is-performed]]
-
-Understanding How Certificate Authentication is Performed
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The domain creation process creates a primary (private) key and a
-self-signed certificate for the DAS, and a separate private key and
-self-signed certificate for remote instances.
-
-Then, when you enable secure admin, the following actions are performed:
-
-* Both private keys are stored in the domain-wide DAS keystore file,
-keystore.jks.
-* Both public certificates are stored in the domain-wide DAS truststore
-file, cacerts.jks.
-
-When the DAS sends a message to an instance:
-
-1.  SSL on the instance asks the DAS to provide an SSL/TLS certificate.
-2.  The DAS sends the certificate with the alias you specified using the
-`--adminalias` option when you ran the `enable-secure-admin` subcommand.
-3.  SSL on the instance makes sure the certificate is valid and
-GlassFish Server makes sure that the security Principal associated with
-the incoming request (provided automatically by Grizzly and the SSL/TLS
-Java implementation) matches the Principal associated with the
-adminalias from the instance's truststore.
-
-[[gkoey]][[GSSCG00231]][[what-certificates-are-used]]
-
-What Certificates Are Used?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When you enable secure admin, you can optionally set the `--adminalias`
-and `--instancealias` options that tell secure admin which aliases to
-use for the DAS and instance certificates.
-
-The DAS uses the alias associated with the `--instancealias` option to
-check incoming requests that use SSL/TLS cert authentication.
-Conversely, instances use the alias associated with the `--adminalias`
-option to check incoming requests with certificate authentication.
-
-By default, `--adminalias` of the `enable-secure-admin` subcommand uses
-the `s1as` alias, and the `--instancealias` option uses the
-`glassfish-instance` alias, both of which identify the default
-self-signed certificates.
-
-You can use your tool of choice, such as keytool, to list the default
-self-signed certificates in the keystore, similar to the following:
-
-
-[NOTE]
-=======================================================================
-
-You can list the contents of the keystore without supplying a password.
-However, for a request that affects the private key, such as the
-keytool.exe `--certreq` option, the keystore password is required. This
-is the master password and has a default value of changeit unless you
-change it with the `change-master-password` subcommand.
-
-=======================================================================
-
-
-`keytool.exe -list -keystore keystore.jks`
-
-[source,oac_no_warn]
-----
-Enter keystore password:
-
-*****************  WARNING WARNING WARNING  *****************
-* The integrity of the information stored in your keystore  *
-* has NOT been verified!  In order to verify its integrity, *
-* you must provide your keystore password.                  *
-*****************  WARNING WARNING WARNING  *****************
-
-Keystore type: JKS
-Keystore provider: SUN
-
-Your keystore contains 2 entries
-
-glassfish-instance, Jan 3, 2011, PrivateKeyEntry,
-Certificate fingerprint (MD5): 06:A4:83:84:57:52:9C:2F:E1:FD:08:68:BB:2D:ED:E8
-s1as, Jan 3, 2011, PrivateKeyEntry,
-Certificate fingerprint (MD5): 8B:7D:5A:4A:32:36:1B:5D:6A:29:66:01:B0:A3:CB:85
-----
-
-The `--adminalias` and `--instancealias` values are maintained. Because
-of this design, normal instance creation operations (create-instance
-over SSH and create-local-instance) apply the up-to-date keystore,
-truststore, and configuration to each instance.
-
-[[gkpfi]][[GSSCG00201]][[self-signed-certificates-and-trust]]
-
-Self-Signed Certificates and Trust
-++++++++++++++++++++++++++++++++++
-
-The self-signed certificates that GlassFish Server uses might not be
-trusted by clients by default because a certificate authority does not
-vouch for the authenticity of the certificate. If you enable secure
-admin and then contact the DAS using an administration client, that
-client will detect whether the certificate is automatically trusted.
-
-Browsers will warn you, let you view the certificate, and ask you to
-reject the certificate, accept it once, or accept it indefinitely, as
-shown in link:#gkqpv[Figure 5-1].
-
-[[GSSCG00002]][[gkqpv]]
-
-
-.*Figure 5-1 Sample Browser Response to Untrusted Certificate*
-image:img/accept-certif.png[
-"This screen shot shows how a browser might respond to an untrusted
-certificate."]
-
-
-Similarly, the first time `asadmin` receives an untrusted certificate,
-it displays the certificate and lets you accept it or reject it, as
-follows: (If you accept it, `asadmin` also accepts that certificate in
-the future. )
-
-[source,oac_no_warn]
-----
-D:\glassfish6\glassfish\bin>asadmin enable-secure-admin
-Command enable-secure-admin executed successfully.
-
-
-D:\glassfish6\glassfish\bin>asadmin stop-domain domain1
-Waiting for the domain to stop .......
-Command stop-domain executed successfully.
-
-D:\glassfish6\glassfish\bin>asadmin start-domain domain1
-Waiting for domain1 to start ..............................
-Successfully started the domain : domain1
-domain  Location: D:\glassfish6\glassfish\domains\domain1
-Log File: D:\glassfish6\glassfish\domains\domain1\logs\server.log
-Admin Port: 4848
-Command start-domain executed successfully.
-
-D:\glassfish6\glassfish\bin>asadmin list-domains
-[
-[
-  Version: V3
-  Subject: CN=machine.oracle.com, OU=GlassFish, O=Oracle Corporation, L=San
-ta Clara, ST=California, C=US
-  Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
-
-  Key:  Sun RSA public key, 1024 bits
-  modulus: 916043595073784449632358756374297330881618062298549101072702252458856
-74079656358328568800001548507219262910864311924824938195045822088563459253216383
-21100660819657204757523896415606833471499564071226722478056407102318862796797465
-6245090519956376357288295037519504394674686082145398885236913866246525691704749
-  public exponent: 65537
-  Validity: [From: Tue Jan 04 14:30:08 EST 2011,
-               To: Fri Jan 01 14:30:08 EST 2021]
-  Issuer: CN=machine.oracle.com, OU=GlassFish, O=Oracle Corporation, L=Sant
-a Clara, ST=California, C=US
-  SerialNumber: [    4d237540]
-
-Certificate Extensions: 1
-[1]: ObjectId: 2.5.29.14 Criticality=false
-SubjectKeyIdentifier [
-KeyIdentifier [
-0000: AF 8B 90 1E 51 9A 80 1B   EB A4 D9 C6 01 8A A0 FD  ....Q...........
-0010: DE EC 83 8A                                        ....
-]
-]
-
-]
-  Algorithm: [SHA1withRSA]
-  Signature:
-0000: 3F 2B 30 CE 97 0B 5E F3   72 0E 60 18 8D 3B 04 DC  ?+0...^.r.`..;..
-0010: 26 E6 7A 6F D0 19 CC 26   1D 90 C0 DE 33 4E 53 FB  &.zo...&....3NS.
-0020: DC E7 AE 78 9E BA EF 14   86 57 36 D4 3E 9B C9 FB  ...x.....W6.>...
-0030: C0 B4 EF 72 27 D9 4F 79   1F 89 91 B8 96 26 33 64  ...r'.Oy.....&3d
-0040: 9F 4B 04 4B 83 B9 BF 4D   54 B4 8F 75 17 1A 51 BD  .K.K...MT..u..Q.
-0050: F3 69 94 CE 90 95 08 55   2C 07 D2 23 AC AE EC 6D  .i.....U,..#...m
-0060: 84 B6 3D 00 FB FE 92 50   37 1A 2D 00 F1 21 5C E6  ..=....P7.-..!\.
-0070: 1F 39 26 B2 5D C1 FD C8   B1 4F CC EE 26 84 B8 B5  .9&.]....O..&...
-
-]
-Do you trust the above certificate [y|N] -->
-----
-
-`asadmin` saves certificates you accept in the file `.asadmintruststore`
-in your log-in default directory. You do not generally need to work with
-the file directly, but if you delete or move the file, `asadmin` will
-prompt you again when it receives untrusted certificates.
-
-Some `asadmin` commands such as run-script can contact an instance
-directly to retrieve information (but not to make configuration
-changes). The instances do not use the same certificate as the DAS, so
-in these cases `asadmin` then prompts you to accept or reject the
-instance certificate.
-
-[[gkped]][[GSSCG00202]][[using-your-own-certificates]]
-
-Using Your Own Certificates
-+++++++++++++++++++++++++++
-
-By default, `--adminalias` of the `enable-secure-admin` subcommand uses
-the `s1as` alias, and the `--instancealias` option uses the
-`glassfish-instance` alias, both of which identify the default
-self-signed certificates.
-
-You can instead have GlassFish Server use your own certificates for this
-purpose by first adding your certificates to the keystore and
-truststore, and then running `enable-secure-admin` and specifying the
-aliases for your certificates.
-
-It is also possible to use `s1as` and `glassfish-instance` as the alias
-names for your own certificates. A benefit of doing so is that you would
-not have to specify alias names with the `enable-secure-admin`
-subcommand.
-
-In addition, your own certificate identified by the `s1as` alias would
-be used in all other cases within the domain where the `s1as` alias is
-used (by default), such as in the SSL configuration of the IIOP and
-http-listener-2 listeners, and as the `encryption.key.alias` and
-`signature.key.alias` used for provider configuration in the SOAP
-authentication layer for Message Security configuration.
-
-You may find the wide-reaching effect of using the `s1as` alias with
-your own certificate to be either a useful feature or an unintended
-consequence. Therefore, you should understand the implications of using
-the `s1as` alias before doing so.
-
-If you decide to use the `s1as` and `glassfish-instance` aliases with
-your own certificates, you will first need to disable secure admin (if
-enabled) and then change or delete the exiting `s1as` alias from both
-the `keystore.jks` keystore and `cacerts.jks` truststore for the DAS.
-You can use the `--changealias` or`--delete` option of `keytool` to
-accomplish this. Then, import your own certificates.
-
-When you enable secure admin, the DAS and the instances then have copies
-of the same keystore and truststore
-
-[[glgmy]][[GSSCG00232]][[an-alternate-approach-using-distinguished-names-to-specify-certificates]]
-
-An Alternate Approach: Using Distinguished Names to Specify Certificates
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, the DAS uses the alias associated with the `--instancealias`
-option to check incoming requests that use SSL/TLS cert authentication.
-Conversely, instances use the alias associated with the `--adminalias`
-option to check incoming requests with certificate authentication.
-
-The link:../reference-manual/enable-secure-admin-principal.html#GSRFM00131[`enable-secure-admin-principal`] subcommand
-provides an alternate approach. `enable-secure-admin-principal`
-instructs GlassFish Server to accept admin requests when accompanied by
-an SSL certificate with the specified distinguished name (DN).
-
-
-[NOTE]
-=======================================================================
-
-Any certificate you specify with `enable-secure-admin-principal` must
-either be issued by a trusted certificate authority or, if it is
-self-signed, must already be in the GlassFish Server truststore.
-
-=======================================================================
-
-
-For example, assume that you write your own admin client that uses the
-REST interface. When your client establishes the connection, it can
-choose which certificate to use for its client cert. You would then
-specify the DN of this certificate to `enable-secure-admin-principal`.
-
-You must specify either the DN or the `--alias` option of the
-`enable-secure-admin-principal` subcommand.
-
-If you specify the DN, GlassFish Server records the value you specify as
-the DN. You specify the DN as a comma-separated list in quotes. For
-example,
-`"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`.
-
-
-[NOTE]
-=======================================================================
-
-The `enable-secure-admin-principal` subcommand accepts the string you
-enter and does not immediately validate it. However, secure admin must
-be able to match the DN you specify in order to use it.
-
-=======================================================================
-
-
-If you have sufficient privileges to view the content of the keystore,
-you can use keytool to display the DN of a certificate:
-
-[source,oac_no_warn]
-----
-keytool.exe -v -list -keystore keystore.jks
-Enter keystore password:
-
-Keystore type: JKS
-Keystore provider: SUN
-
-Your keystore contains 2 entries
-
-Alias name: glassfish-instance
-Creation date: Jul 7, 2011
-Entry type: PrivateKeyEntry
-Certificate chain length: 1
-Certificate[1]:
-Owner: CN=systemname.amer.oracle.com-instance, OU=GlassFish, 
-O=Oracle Corporation, L=Santa Clara, ST=California, C=US
-Issuer: CN=systemname.amer.oracle.com-instance, OU=GlassFish, O=Oracle Corporation,
- L=Santa Clara, ST=California, C=US
-Serial number: 4e15d6e7
-Valid from: Thu Jul 07 11:55:19 EDT 2011 until: Sun Jul 04 11:55:19 EDT 2021
-Certificate fingerprints:
-         MD5:  05:6E:01:D6:CE:9D:29:DA:55:D9:10:5E:BE:CC:55:05
-         SHA1: 2A:6D:A2:52:A5:2B:ED:DE:CD:B4:76:4A:65:9D:B5:79:A6:EA:3C:10
-         Signature algorithm name: SHA1withRSA
-         Version: 3
-
-Extensions:
-
-#1: ObjectId: 2.5.29.14 Criticality=false
-SubjectKeyIdentifier [
-KeyIdentifier [
-0000: 96 99 36 B6 CF 60 1E 8A   AE 25 75 4E C8 34 AA AB  ..6..`...%uN.4..
-0010: E1 3B CF 03                                        .;..
-]
-]
-----
-
-If you use the "`--alias` aliasname" form, then GlassFish Server looks
-in its truststore for a certificate with the specified alias and uses
-the DN associated with that certificate. alias-name must be an alias
-associated with a certificate currently in the truststore. Therefore,
-you may find it most useful for self-signed certificates for which you
-know the alias.
-
-If you have sufficient privileges to view the contents of the
-truststore, you can use keytool to display the alias of a certificate:
-
-[source,oac_no_warn]
-----
-keytool.exe -v -list -keystore cacerts.jks
-Enter keystore password:
-:
-:
-Alias name: glassfish-instance
-Creation date: Jul 7, 2011
-Entry type: trustedCertEntry
-
-Owner: CN=systemname.amer.oracle.com-instance, OU=GlassFish, O=Oracle Corporation,
-L=Santa Clara, ST=California, C=US
-Issuer: CN=systemname.amer.oracle.com-instance, OU=GlassFish, O=Oracle Corporation,
- L=Santa Clara, ST=California, C=US
-Serial number: 4e15d6e7
-Valid from: Thu Jul 07 11:55:19 EDT 2011 until: Sun Jul 04 11:55:19 EDT 2021
-Certificate fingerprints:
-         MD5:  05:6E:01:D6:CE:9D:29:DA:55:D9:10:5E:BE:CC:55:05
-         SHA1: 2A:6D:A2:52:A5:2B:ED:DE:CD:B4:76:4A:65:9D:B5:79:A6:EA:3C:10
-         Signature algorithm name: SHA1withRSA
-         Version: 3
-
-Extensions:
-
-#1: ObjectId: 2.5.29.14 Criticality=false
-SubjectKeyIdentifier [
-KeyIdentifier [
-0000: 96 99 36 B6 CF 60 1E 8A   AE 25 75 4E C8 34 AA AB  ..6..`...%uN.4..
-0010: E1 3B CF 03                                        .;..
-]
-]
-----
-
-When you run `enable-secure-admin`, GlassFish Server automatically
-records the DNs for the admin alias and the instance alias, whether you
-specify those values or use the defaults. You do not need to run
-`enable-secure-admin-principal` yourself for those certificates.
-
-Other than these certificates, you must run
-`enable-secure-admin-principal` for any other DN that GlassFish Server
-should authorize to send admin requests. This includes DNs corresponding
-to trusted certificates (those with a certificate chain to a trusted
-authority.)
-
-You can run `enable-secure-admin-principal` multiple times so that
-GlassFish Server accepts admin requests from a client sending a
-certificate with any of the DNs you specify.
-
-The following example shows how to specify a DN for authorizing access
-in secure administration:
-
-[source,oac_no_warn]
-----
-asadmin> enable-secure-admin-principal
-"CN=system.amer.oracle.com,OU=GlassFish,
-O=Oracle Corporation,L=Santa Clara,ST=California,C=US"
-
-Command enable-secure-admin-principal executed successfully.
-----
-
-You can use the link:../reference-manual/disable-secure-admin-principal.html#GSRFM00123[`disable-secure-admin-principal`]
-subcommand to disable a specific certificate for authenticating and
-authorizing access in secure admin. You must specify either the DN or
-the `--alias` option of the `disable-secure-admin-principal` subcommand.
-To disable multiple certificates for authenticating and authorizing
-access in secure admin, run the `disable-secure-admin-principal`
-subcommand multiple times.
-
-You can use the link:../reference-manual/list-secure-admin-principals.html#GSRFM00200[`list-secure-admin-principals`]
-subcommand to list the certificates for which GlassFish Server accepts
-admin requests from clients.
-
-[[gkqjj]][[GSSCG00233]][[guarding-against-unwanted-connections]]
-
-Guarding Against Unwanted Connections
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Secure admin guards against unwanted connections in several ways:
-
-* DAS-to-DAS, instance-to-instance:
-
-** The DAS and the instances have copies of the same truststore, which
-contains the public certificate of the DAS and the separate public
-certificate that is used by all instances. In addition, GlassFish Server
-includes a unique, generated "domain ID" that servers use to ensure that
-admin requests from other GlassFish Servers originate from the correct
-domain.
-
-** DAS-to-other-DAS communication is not authenticated because each
-different DAS will have its own self-signed certificate that is not in
-the truststore of the other DAS.
-
-** DAS-to-itself communication is unlikely unless you were to
-misconfigure the admin listener port for an instance on the same host so
-it is the same as for the DAS. Similarly, instance-to-instance traffic
-is unlikely unless you were to misconfigure listener ports for instances
-on the same host. +
-To prevent both of these situations, both cases are handled by making
-sure that the connecting Principal (alias) is not the running Principal.
-secure admin ensures that if the client has authenticated using SSL/TLS
-client authentication that the Principal associated with the remote
-client is not the same as the current process. That is, the DAS makes
-sure that the Principal is not itself. Similarly, each instance ensures
-that the client is not an instance. (The instances share the same
-self-signed certificate and therefore are mapped to the same Principal.)
-* Remote client-to-instance: +
-Remote `asadmin` clients are unable to connect directly to instances. If
-the user on host "test1" runs a local command but specifies a remote
-instance on host "test2," `asadmin` on test1 will read and send that
-locally-provisioned password. The instance on "test2" will have a
-different locally-provisioned password and so the authentication attempt
-will fail. +
-Therefore, a user on "test1" will not be able to run a remote command
-targeting an instance on "test2."
-
-[[gkofe]][[GSSCG00164]][[considerations-when-running-glassfish-server-with-default-security]]
-
-Considerations When Running GlassFish Server With Default Security
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In GlassFish Server, the default admin account is username "admin" with
-an empty password. Admin clients provide empty credentials or none at
-all, and all are authenticated and authorized as that default admin
-user. None of the participants (clients, DAS, or instances) encrypts
-network messages.
-
-If this level of security is acceptable in your environment, no changes
-are needed and you do not need to enable secure administration. Imposing
-a heightened level of security is optional.
-
-However, consider link:#gkode[Table 5-2], which shows which operations
-are accepted and rejected when secure admin is disabled.
-
-
-[NOTE]
-=======================================================================
-
-When secure admin is disabled, GlassFish Server does allow remote
-monitoring (read-only) access via the REST interface.
-
-=======================================================================
-
-
-[[sthref37]][[gkode]]
-
-Table 5-2 Accepted and Rejected Operations if Secure Admin is Disabled
-
-[width="100%",cols="30%,25%,45%",options="header",]
-|=======================================================================
-|Operation |Run From Same System as DAS |Run From Remote System
-|`start-local-instance` |Functions as expected |Cannot sync with DAS.
-The instance starts but cannot communicate with the DAS. DAS will not
-see the instance.
-
-|Any other `asadmin` subcommand |Functions as expected |Rejected. A user
-sees the username/password prompt, but even correct entries are
-rejected.
-
-|Commands that use SSH. For example, `create-instance`. |Functions as
-expected; requires prior SSH configuration. |Functions as expected;
-requires prior SSH configuration.
-|=======================================================================
-
-
-[[gkomz]][[GSSCG00165]][[running-secure-admin]]
-
-Running Secure Admin
-~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to run secure admin. The section begins with
-prerequisites for running secure admin.
-
-[[gkokc]][[GSSCG00234]][[prerequisites-for-running-secure-admin]]
-
-Prerequisites for Running Secure Admin
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Before running GlassFish Server with secure admin enabled, you must make
-sure that:
-
-1.  The DAS is installed, initialized, and running.
-2.  If one or more remote instances are installed and initialized, they
-must not be running.
-3.  Any administration clients you require are installed.
-4.  The DAS communicates on the `-—adminport` you configure when you
-create the domain, and defaults to 4848. An instance communicates on the
-`ASADMIN_LISTENER_PORT` system property you specify for the instance.
-5.  The user name and password sent by remote administration clients
-(`asadmin`, administration console, browsers, and IDEs) must exist in
-the realm and be in the admin group.
-6.  The keystore and truststore for the domain exist. (They are created
-by default when you create the domain or install GlassFish Server.) +
-If you are not using the default self-signed certificates, you must add
-your own valid certificates and CA root in the keystore and truststore,
-respectively.
-7.  If you are not using the default self-signed certificates, create
-two aliases corresponding to certificates in the keystore and
-truststore: one that the DAS will use for authenticating itself in
-administration traffic, and one that the instances will use for
-authenticating itself in administration traffic.
-
-[[glgmh]][[GSSCG00235]][[an-alternate-approach-using-a-user-name-and-password-for-internal-authentication-and-authorization]]
-
-An Alternate Approach: Using A User Name and Password for Internal
-Authentication and Authorization
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, secure admin uses the GlassFish Server self-signed
-certificates, via the aliases corresponding to these certificates, to
-authenticate the DAS and instances with each other and to authorize
-secure admin operations. Specifically, the DAS uses the (`s1as`) alias
-for authenticating itself and authorizing access in administration
-traffic, and instances use the (`glassfish-instance`) alias for
-authenticating themselves and authorizing access in secure admin
-traffic.
-
-As described in link:#gkped[Using Your Own Certificates], you can
-instead use your own certificates and their associated aliases for
-authenticating and authorizing the DAS and instances in administration
-traffic.
-
-As an alternative to this certificate-based authentication and
-authorization, you can instead use the
-link:../reference-manual/enable-secure-admin-internal-user.html#GSRFM00130[`enable-secure-admin-internal-user`] subcommand to
-instruct all servers in the domain to authenticate to each other, and to
-authorize admin operations submitted to each other, using an existing
-admin user name and password rather than SSL certificates.
-
-
-[NOTE]
-=======================================================================
-
-If secure admin is enabled, all GlassFish Server processes continue to
-use SSL encryption to secure the content of the admin messages,
-regardless of how they authenticate to each other.
-
-=======================================================================
-
-
-You might want to use the
-link:../reference-manual/enable-secure-admin-internal-user.html#GSRFM00130[`enable-secure-admin-internal-user`] subcommand if your
-use case favors the use of a user name and password combination over the
-use of SSL certificates and aliases.
-
-This generally means that you must:
-
-1.  Create a valid admin user. +
-[source,oac_no_warn]
-----
-asadmin> create-file-user --authrealmname admin-realm --groups 
-asadmin newAdminUsername
-----
-2.  Create a password alias for the just-created password. +
-[source,oac_no_warn]
-----
-asadmin> create-password-alias passwordAliasName
-----
-3.  Use that user name and password for inter-process authentication and
-admin authorization. +
-[source,oac_no_warn]
-----
-asadmin> enable-secure-admin-internal-user 
---passwordalias passwordAliasName
-newAdminUsername
-----
-
-The following example allows secure admin to use a user name and
-password alias for authentication and authorization between the DAS and
-instances, instead of certificates.
-
-[source,oac_no_warn]
-----
-asadmin> enable-secure-admin-internal-user 
---passwordalias passwordAliasName
-newAdminUsername
-----
-
-If GlassFish Server finds at least one secure admin internal user, then
-if secure admin is enabled GlassFish Server processes will not use SSL
-authentication and authorization with each other and will instead use
-user name password pairs.
-
-Most users who use this subcommand will need to set up only one secure
-admin internal user. If you set up more than one secure admin internal
-user, you should not make any assumptions about which user name and
-password pair GlassFish Server will choose to use for any given admin
-request.
-
-As a general practice, you should not use the same user name and
-password pair for internal admin communication and for admin user login.
-That is, create at least one admin account specifically for internal
-admin communication.
-
-You can use the link:../reference-manual/disable-secure-admin-internal-user.html#GSRFM00122[`disable-secure-admin-internal-user`]
-subcommand to disable secure admin from using the user name (instead of
-SSL certificates) to authenticate the DAS and instances with each other
-and to authorize admin operations. To disable multiple user names for
-authenticating and authorizing access in secure admin, run the
-`disable-secure-admin-internal-user` subcommand multiple times.
-
-You can use the link:../reference-manual/list-secure-admin-internal-users.html#GSRFM00199[`list-secure-admin-internal-users`]
-subcommand to list the user names for which GlassFish Server
-authenticate the DAS and instances with each other and authorizes admin
-operations.
-
-[[gkqby]][[GSSCG00236]][[example-of-running-enable-secure-admin]]
-
-Example of Running enable-secure-admin
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following example shows how to enable secure admin for a domain
-using the default admin alias and the default instance alias. You must
-restart the DAS immediately after enabling secure admin.
-
-
-[NOTE]
-=======================================================================
-
-The only indicator that secure admin is enabled is the successful status
-from the `enable-secure-admin` subcommand. When secure admin is running,
-the DAS and instances do not report the secure admin status.
-
-=======================================================================
-
-
-`asadmin>` `enable-secure-admin`
-
-`Command enable-secure-admin executed successfully.`
-
-The following example shows how to enable secure admin for a domain
-using an admin alias adtest and an instance alias intest. You can also
-use this command to modify an existing secure admin configuration to use
-different aliases.
-
-`asadmin>`
-`enable-secure-admin --adminalias adtest --instancealias intest`
-
-The following example shows how to disable secure admin:
-
-`asadmin>` `disable-secure-admin`
-
-`Command disable-secure-admin executed successfully.`
-
-You can use the following command to see the current state of secure
-admin in a domain:
-
-`asadmin>` `get secure-admin.enabled`
-
-`secure-admin.enabled=false`
-
-`Command get executed successfully.`
-
-[[gkolu]][[GSSCG00166]][[additional-considerations-when-creating-local-instances]]
-
-Additional Considerations When Creating Local Instances
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you use `xxx-local-instance` commands to set up local instances,
-either leave secure admin disabled, or enable it before you create or
-start the instances and leave it that way.
-
-However, if you use `xxx-instance` commands over SSH to manage remote
-instances, you can enable and disable secure admin, although this is not
-recommended because it can result in an inconsistent security model.
-
-[[gkqah]][[GSSCG00167]][[secure-admin-use-case]]
-
-Secure Admin Use Case
-~~~~~~~~~~~~~~~~~~~~~
-
-This section describes a simple secure admin use case.
-
-In the
-`asadmin --secure=false --user me --passwordfile myFile.txt cmd ...` use
-case, the user submits a command with `--secure` set to false, and
-supplies password credentials.
-
-The important concept to note is that `asadmin` uses HTTPS because of
-the DAS redirection, even though the command sets `--secure` to false.
-`asadmin` sends the HTTP Authorization header along with the redirected
-request.
-
-In addition to the flow described here, certificate authentication is
-also performed as described in link:#gkqax[Table 5-3]. Also, the
-credentials that the user supplies are assumed to be valid administrator
-credentials for the DAS.
-
-[[sthref38]][[gkqax]]
-
-Table 5-3 asadmin --secure=false, With Username and Password
-
-[width="100%",cols="34%,33%,33%",options="header",]
-|=======================================================================
-|asadmin |Grizzly |AdminAdapter
-|Sends HTTP request, no authorization header (because the transport is
-not secure). | + | +
-
-| + |Returns 3xx status and redirects HTTP to HTTPS. | +
-
-|Follows redirection, this time adding the Authorization header (because
-transport is now HTTPS). | + | +
-
-| + | + |Authenticates admin user and password from HTTP Authorization
-header in the realm Executes command, and responds with success status.
-|=======================================================================
-
-
-[[gkodn]][[GSSCG00168]][[upgrading-an-ssl-enabled-secure-glassfish-installation-to-secure-admin]]
-
-Upgrading an SSL-Enabled Secure GlassFish Installation to Secure Admin
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you enable secure admin on an SSL-enabled GlassFish Server
-installation, secure admin uses the existing <ssl cert-nickname> value
-as the DAS adminalias for secure admin.
-
-
diff --git a/docs/security-guide/src/main/jbake/content/loe.adoc b/docs/security-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index 5e30ad0..0000000
--- a/docs/security-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,61 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lof.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:system-security.html#gksel[1-1 Sample
-AppservCertificateLoginModule Code]
-* link:system-security.html#givil[1-2 Changing the Master Password]
-* link:system-security.html#ghlac[1-3 Changing the Admin Password]
-* link:system-security.html#ginvi[1-4 Creating a Password Alias]
-* link:system-security.html#ginsk[1-5 Listing Password Aliases]
-* link:system-security.html#ginul[1-6 Deleting a Password Alias]
-* link:system-security.html#giodl[1-7 Updating a Password Alias]
-* link:system-security.html#ghjlw[1-8 Creating an Audit Module]
-* link:system-security.html#ghjmy[1-9 Listing Audit Modules]
-* link:system-security.html#ghjhm[1-10 Deleting an Audit Module]
-* link:system-security.html#ghlii[1-11 Creating a Self-Signed Certificate
-in a JKS Keystore by Using an RSA Key Algorithm]
-* link:system-security.html#ghlew[1-12 Creating a Self-Signed Certificate
-in a JKS Keystore by Using a Default Key Algorithm]
-* link:system-security.html#ghldw[1-13 Displaying Available Certificates
-From a JKS Keystore]
-* link:system-security.html#ghlfd[1-14 Displaying Certificate information
-From a JKS Keystore]
-* link:system-security.html#ghlhu[1-15 Importing an RFC/Text-Formatted
-Certificate Into a JKS Keystore]
-* link:system-security.html#ghlim[1-16 Exporting a Certificate From a JKS
-Keystore in PKCS7 Format]
-* link:system-security.html#ghleb[1-17 Exporting a Certificate From a JKS
-Keystore in RFC/Text Format]
-* link:system-security.html#ghlgy[1-18 Deleting a Certificate From a JKS
-Keystore]
-* link:user-security.html#ggpjx[2-1 Creating a Realm]
-* link:user-security.html#ggpkw[2-2 Listing Realms]
-* link:user-security.html#ggpjf[2-3 Deleting a Realm]
-* link:user-security.html#ghysu[2-4 Assigning a Security Role]
-* link:user-security.html#ggpkq[2-5 Creating a User]
-* link:user-security.html#ggpgf[2-6 Listing File Users]
-* link:user-security.html#ghlgb[2-7 Listing Groups for a User]
-* link:user-security.html#ggpgh[2-8 Updating a User]
-* link:user-security.html#ggpib[2-9 Deleting a User]
-* link:message-security.html#gipxo[3-1 Message Security Policy Setting
-for Application Clients]
-* link:message-security.html#giosd[3-2 Creating a Message Security
-Provider]
-* link:message-security.html#gioui[3-3 Listing Message Security
-Providers]
-* link:message-security.html#gioug[3-4 Deleting a Message Security
-Provider]
-* link:message-security.html#gkxqz[3-5 Creating a Message Security
-Provider]
-
-
diff --git a/docs/security-guide/src/main/jbake/content/lof.adoc b/docs/security-guide/src/main/jbake/content/lof.adoc
deleted file mode 100644
index 594489d..0000000
--- a/docs/security-guide/src/main/jbake/content/lof.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-type=page
-status=published
-title=List of Figures
-next=lot.html
-prev=loe.html
-~~~~~~
-List of Figures
-===============
-
-[[list-of-figures]]
-List of Figures
----------------
-
-* link:system-security.html#fxjfw[1-1 Role Mapping]
-* link:administrative-security.html#gkqpv[5-1 Sample Browser Response to
-Untrusted Certificate]
-
-
diff --git a/docs/security-guide/src/main/jbake/content/lot.adoc b/docs/security-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index 920fbe9..0000000
--- a/docs/security-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,29 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=lof.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:message-security.html#fxjcu[3-1 Message Protection Policy Mapping
-to WS-Security SOAP Operations]
-* link:administrative-security.html#gkobl[5-1 Authentication Methods
-Employed]
-* link:administrative-security.html#gkode[5-2 Accepted and Rejected
-Operations if Secure Admin is Disabled]
-* link:administrative-security.html#gkqax[5-3 asadmin --secure=false,
-With Username and Password]
-* link:running-in-secure-environment.html#gksbt[6-1 Securing the
-GlassFish Server Host]
-* link:running-in-secure-environment.html#gkscz[6-2 Securing GlassFish
-Server]
-* link:running-in-secure-environment.html#gkscv[6-3 Securing
-Applications]
-
-
diff --git a/docs/security-guide/src/main/jbake/content/message-security.adoc b/docs/security-guide/src/main/jbake/content/message-security.adoc
deleted file mode 100644
index b1efd1b..0000000
--- a/docs/security-guide/src/main/jbake/content/message-security.adoc
+++ /dev/null
@@ -1,925 +0,0 @@
-type=page
-status=published
-title=Administering Message Security
-next=security-in-cluster-mode.html
-prev=user-security.html
-~~~~~~
-Administering Message Security
-==============================
-
-[[GSSCG00037]][[ablrk]]
-
-
-[[administering-message-security]]
-3 Administering Message Security
---------------------------------
-
-This chapter provides information and procedures on configuring the
-message layer security for web services in the GlassFish Server
-environment.
-
-
-[NOTE]
-=======================================================================
-
-Message security (JSR 196) is supported only in the Full Platform
-Profile of GlassFish Server, not in the Web Profile.
-
-=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#ablrn[About Message Security in GlassFish Server]
-* link:#giood[Enabling Default Message Security Providers for Web
-Services]
-* link:#giouf[Configuring Message Protection Policies]
-* link:#giosl[Administering Non-default Message Security Providers]
-* link:#gdhgg[Enabling Message Security for Application Clients]
-* link:#gglrb[Additional Information About Message Security]
-
-Some of the material in this chapter assumes a basic understanding of
-security and web services concepts. For more information about security,
-see link:system-security.html#ggktf[About System Security in GlassFish
-Server].
-
-Instructions for accomplishing the tasks in this chapter by using the
-Administration Console are contained in the Administration Console
-online help.
-
-[[ablrn]][[GSSCG00153]][[about-message-security-in-glassfish-server]]
-
-About Message Security in GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Message security enables a server to perform end-to-end authentication
-of web service invocations and responses at the message layer. Security
-information is inserted into messages so that it travels through the
-networking layers and arrives with the intact message at the message
-destination(s). Message security differs from transport layer security
-in that message security can be used to decouple message protection from
-message transport so that messages remain protected after transmission.
-
-Web services deployed on GlassFish Server are secured by binding SOAP
-layer message security providers and message protection policies to the
-containers in which the applications are deployed, or to web service
-endpoints served by the applications. SOAP layer message security
-functionality is configured in the client-side containers of GlassFish
-Server by binding SOAP layer message security providers and message
-protection policies to the client containers or to the portable service
-references declared by client applications.
-
-Message-level security can be configured for the entire GlassFish Server
-or for specific applications or methods. Configuring message security at
-the application level is discussed in the link:../application-development-guide/toc.html#GSDVG[GlassFish Server
-Open Source Edition Application Development Guide].
-
-The following topics are addressed here:
-
-* link:#ablrs[Security Tokens and Security Mechanisms]
-* link:#ablrx[Authentication Providers]
-* link:#ablrw[Message Protection Policies]
-* link:#ablrz[Application-Specific Web Services Security]
-* link:#gioom[Message Security Administration]
-* link:#ablsa[Sample Application for Web Services]
-
-[[ablrs]][[GSSCG00218]][[security-tokens-and-security-mechanisms]]
-
-Security Tokens and Security Mechanisms
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-WS-Security is a specification that provides a communications protocol
-for applying security to web services. The security mechanisms implement
-the specification. Web Services Interoperability Technologies (WSIT)
-implements WS-Security so as to provide interoperable message content
-integrity and confidentiality, even when messages pass through
-intermediary nodes before reaching their destination endpoint.
-WS-Security as provided by WSIT is in addition to existing
-transport-level security, which can still be used.
-
-The Simple Object Access Protocol (SOAP) layer message security
-providers installed with GlassFish Server can be used to employ
-username/password and X.509 certificate security tokens to authenticate
-and encrypt SOAP web services messages.
-
-* Username Tokens. GlassFish Server uses username tokens in SOAP
-messages to authenticate the message sender. The recipient of a message
-containing a username token (within embedded password) validates that
-the message sender is authorized to act as the user (identified in the
-token) by confirming that the sender knows the password of the user. +
-When using a username token, a valid user database must be configured on
-GlassFish Server.
-* Digital Signatures. GlassFish Server uses XML digital signatures to
-bind an authentication identity to message content. Clients use digital
-signatures to establish their caller identity. Digital signatures are
-verified by the message receiver to authenticate the source of the
-message content (which might be different from the sender of the
-message.) +
-When using digital signatures, valid keystore and truststore files must
-be configured on GlassFish Server.
-* Encryption. The purpose of encryption is to modify the data so that it
-can only be understood by its intended audience. This is accomplished by
-substituting an encrypted element for the original content. When based
-on public key cryptography, encryption can be used to establish the
-identity of the parties who are authorized to read a message. +
-When using encryption, a Java Cryptography Extension (JCE) provider that
-supports encryption must be installed.
-
-[[ablrx]][[GSSCG00219]][[authentication-providers]]
-
-Authentication Providers
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The authentication layer is the message layer on which authentication
-processing must be performed. GlassFish Server enforces web services
-message security at the SOAP layer. The types of authentication that are
-supported include the following:
-
-* Sender authentication, including username-password authentication
-* Content authentication, including XML digital signatures
-
-GlassFish Server invokes authentication providers to process SOAP
-message layer security. The message security providers provide
-information such as the type of authentication that is required for the
-request and response messages. The following message security providers
-are included with GlassFish Server:
-
-* Client-side Provider. A client-side provider establishes (by signature
-or username/password) the source identity of request messages and/or
-protects (by encryption) request messages such that they can only be
-viewed by their intended recipients. A client-side provider also
-establishes its container as an authorized recipient of a received
-response (by successfully decrypting it) and validates passwords or
-signatures in the response to authenticate the source identity
-associated with the response. Client-side providers configured in
-GlassFish Server can be used to protect the request messages sent and
-the response messages received by server-side components (servlets and
-EJB components) acting as clients of other services. +
-The default client provider is used to identify the client—side provider
-to be invoked for any application for which a specific client provider
-has not been bound.
-* Server-side Provider. A server-side provider establishes its container
-as an authorized recipient of a received request (by successfully
-decrypting it), and validates passwords or signatures in the request to
-authenticate the source identity associated with the request. A
-server-side provider also establishes (by signature or
-username/password) the source identity of response messages and/or
-protects (by encryption) response messages such that they can only be
-viewed by their intended recipients. Server-side providers are only
-invoked by server-side containers.
-
-The default server provider is used to identify the server—side provider
-to be invoked for any application for which a specific server provider
-has not been bound.
-
-[[ablrw]][[GSSCG00220]][[message-protection-policies]]
-
-Message Protection Policies
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A request policy defines the authentication policy requirements
-associated with request processing performed by the authentication
-provider. Policies are expressed in message sender order such that a
-requirement that encryption occur after content would mean that the
-message receiver would expect to decrypt the message before validating
-the signature. The response policy defines the authentication policy
-requirements associated with response processing performed by the
-authentication provider.
-
-Message protection policies are defined for request message processing
-and response message processing. The policies are expressed in terms of
-requirements for source and/or recipient authentication. The providers
-apply specific message security mechanisms to cause the message
-protection policies to be realized in the context of SOAP web services
-messages.
-
-* Source Authentication Policy. A source authentication policy
-represents a requirement that the identity of the entity that sent a
-message or that defined the content of a message be established in the
-message such that it can be authenticated by the message receiver.
-* Recipient Authentication Policy. A recipient authentication policy
-represents a requirement that the message be sent such that the identity
-of the entities that can receive the message can be established by the
-message sender.
-
-Request and response message protection policies are defined when a
-security provider is configured into a container. Application-specific
-message protection policies (at the granularity of the web service port
-or operation) can also be configured within the GlassFish Server
-deployment descriptors of the application or application client. In any
-situation where message protection policies are defined, the request and
-response message protection policies of the client must be equivalent t)
-the request and response message protection policies of the server. For
-more information about defining application-specific message protection
-policies, see "link:../application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]" in GlassFish
-Server Open Source Edition Application Development Guide.
-
-[[ablrz]][[GSSCG00221]][[application-specific-web-services-security]]
-
-Application-Specific Web Services Security
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Application-specific web services security functionality is configured
-(at application assembly) by defining the `message-security-binding`
-elements in the GlassFish Server deployment descriptors of the
-application. These `message-security-binding` elements are used to
-associate a specific security provider or message protection policy with
-a web service endpoint or service reference, and might be qualified so
-that they apply to a specific port or method of the corresponding
-endpoint or referenced service.
-
-For information about defining application-specific message protection
-policies, see "link:../application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]" in GlassFish
-Server Open Source Edition Application Development Guide.
-
-[[gioom]][[GSSCG00222]][[message-security-administration]]
-
-Message Security Administration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When GlassFish Server is installed, SOAP layer message security
-providers are configured in the client and server-side containers of
-GlassFish Server, where they are available for binding for use by the
-containers, or by individual applications or clients deployed in the
-containers. During installation, the default providers are configured
-with a simple message protection policy that, if bound to a container,
-or to an application or client in a container, would cause the source of
-the content in all request and response messages to be authenticated by
-XML digital signature.
-
-GlassFish Server administrative interfaces can be used as follows:
-
-* To modify the message protection policies enforced by the providers
-* To bind the existing providers for use by the server-side containers
-of GlassFish Server
-* To create new security provider configurations with alternative
-message protection policies
-
-Analogous administrative operations can be performed on the SOAP message
-layer security configuration of the application client container. If you
-want web services security to protect all web services applications
-deployed on GlassFish Server. See link:#gdhgg[Enabling Message Security
-for Application Clients].
-
-By default, message layer security is disabled on GlassFish Server. To
-configure message layer security for the GlassFish Server see
-link:#giood[Enabling Default Message Security Providers for Web
-Services].
-
-In most cases, you must restart GlassFish Server after performing
-administrative tasks. This is especially true if you want the effects of
-the administrative change to be applied to applications that were
-already deployed on GlassFish Server at the time the operation was
-performed.
-
-[[giose]][[GSSCG00199]][[message-security-tasks]]
-
-Message Security Tasks
-++++++++++++++++++++++
-
-The general implementation tasks for message security include some or
-all of the following:
-
-1.  If you are using a version of the Java SDK prior to version 1.5.0,
-and using encryption technology, configuring a JCE provider
-2.  If you are using a username token, verifying that a user database is
-configured for an appropriate realm +
-When using a username/password token, an appropriate realm must be
-configured and a user database must be configured for the realm.
-3.  Managing certificates and private keys, if necessary
-4.  Enabling the GlassFish Server default providers
-5.  Configuring new message security providers
-
-[[ablro]][[GSSCG00200]][[message-security-roles]]
-
-Message Security Roles
-++++++++++++++++++++++
-
-In GlassFish Server, the administrator and the application deployer are
-expected to take primary responsibility for configuring message
-security. In some situations, the application developer might also
-contribute.
-
-[[ablrp]][[GSSCG00057]][[system-administrator]]
-
-System Administrator
-
-The system administrator is responsible for the following message
-security tasks:
-
-* Administering server security settings and certificate databases
-* Administering keystore and truststore files
-* Configuring message security providers on GlassFish Server
-* Turning on message security
-* (If needed) Installing the samples server
-
-[[ablrq]][[GSSCG00058]][[application-deployer]]
-
-Application Deployer
-
-The application deployer is responsible for the following message
-security tasks:
-
-* Specifying (at application reassembly) any required
-application-specific message protection policies if such policies have
-not already been specified by the developer/assembler.
-* Modifying GlassFish Server deployment descriptors to specify
-application-specific message protection policies information
-(message-security-binding elements) to web service endpoint and service
-references.
-
-[[ablrr]][[GSSCG00059]][[application-developerassembler]]
-
-Application Developer/Assembler
-
-The application developer/assembler is responsible for the following
-message security tasks:
-
-* Determining if an application-specific message protection policy is
-required by the application +
-If so, the developer ensures that the required policy is specified at
-application assembly time.
-* Specifying how web services should be set up for message security +
-Message security can be set up by the administrator so that all web
-services are secured, or by the application deployer when the security
-provider or protection policy bound to the application must be different
-from that bound to the container.
-* Turning on message security if authorized to do so by the
-administrator
-
-[[ablsa]][[GSSCG00223]][[sample-application-for-web-services]]
-
-Sample Application for Web Services
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server includes a sample application named `xms`. The `xms`
-application features a simple web service that is implemented by both a
-Java EE EJB endpoint and a Java servlet endpoint. Both endpoints share
-the same service endpoint interface. The service endpoint interface
-defines a single operation, `sayHello`, which takes a string argument,
-and returns a `String` composed by pre-pending `Hello` to the invocation
-argument.
-
-The `xms` sample application is provided to demonstrate the use of
-GlassFish Server WS-Security functionality to secure an existing web
-services application. The instructions which accompany the sample
-describe how to enable the WS-Security functionality of GlassFish Server
-such that it is used to secure the `xms` application. The sample also
-demonstrates the binding of WS-Security functionality directly to the
-application as described in link:#ablrz[Application-Specific Web
-Services Security] application.
-
-For information about compiling, packaging, and running the `xms` sample
-application, "link:../application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]" in GlassFish
-Server Open Source Edition Application Development Guide.
-
-The `xms` sample application is installed in the following directory:
-as-install`/samples/webservices/security/ejb/apps/xms/`
-
-[[giood]][[GSSCG00154]][[enabling-default-message-security-providers-for-web-services]]
-
-Enabling Default Message Security Providers for Web Services
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-By default, message security is disabled on GlassFish Server. Default
-message security providers have been created, but are not active until
-you enable them. After the providers have been enabled, message security
-is enabled.
-
-The following topics are addressed here:
-
-* link:#giork[To Enable a Default Server Provider]
-* link:#giort[To Enable a Default Client Provider]
-
-[[giork]][[GSSCG00123]][[to-enable-a-default-server-provider]]
-
-To Enable a Default Server Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable message security for web services endpoints deployed in
-GlassFish Server, you must specify a security provider to be used by
-default on the server side. If you enable a default provider for message
-security, you also need to enable providers to be used by clients of the
-web services deployed in GlassFish Server.
-
-1.  Specify the default server provider by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-Use the following syntax: +
-[source,oac_no_warn]
-----
-asadmin set --port admin-port 
-server-config.security-service.message-security-config.SOAP.
-default_provider=ServerProvider
-----
-2.  To apply your changes to applications that are already running,
-restart GlassFish Server. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[giort]][[GSSCG00124]][[to-enable-a-default-client-provider]]
-
-To Enable a Default Client Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To enable message security for web service invocations originating from
-deployed endpoints, you must specify a default client provider. If you
-enabled a default client provider for GlassFish Server, you must ensure
-that any services invoked from endpoints deployed in GlassFish Server
-are compatibly configured for message layer security.
-
-1.  Specify the default client provider by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-Use the following syntax: +
-[source,oac_no_warn]
-----
-asadmin set --port admin-port 
-server-config.security-service.message-security-config.SOAP.
-default_client_provider=ClientProvider
-----
-2.  To apply your changes to applications that are already running,
-restart GlassFish Server. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[giouf]][[GSSCG00155]][[configuring-message-protection-policies]]
-
-Configuring Message Protection Policies
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Message protection policies are defined for request message processing
-and response message processing. The policies are expressed in terms of
-requirements for source and/or recipient authentication. The providers
-apply specific message security mechanisms to cause the message
-protection policies to be realized in the context of SOAP web services
-messages.
-
-The following topics are addressed here:
-
-* link:#giraj[Message Protection Policy Mapping]
-* link:#gioqu[To Configure the Message Protection Policies for a
-Provider]
-* link:#ablsl[Setting the Request and Response Policy for the
-Application Client Configuration]
-
-[[giraj]][[GSSCG00224]][[message-protection-policy-mapping]]
-
-Message Protection Policy Mapping
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following table shows message protection policy configurations and
-the resulting message security operations performed by the WS-Security
-SOAP message security providers for that configuration.
-
-[[sthref30]][[fxjcu]]
-
-Table 3-1 Message Protection Policy Mapping to WS-Security SOAP
-Operations
-
-[width="100%",cols="34%,66%",options="header",]
-|=======================================================================
-|Message Protection Policy |Resulting WS-Security SOAP Message
-Protection Operations
-|auth-source="sender" |The message contains a `wsse:Security` header
-that contains a `wsse:UsernameToken` (with password).
-
-|auth-source="content" |The content of the SOAP message Body is signed.
-The message contains a `wsse:Security` header that contains the message
-Body signature represented as a `ds`:`Signature`.
-
-a|
-auth-source="sender"
-
-auth-recipient="before-content"
-
-OR
-
-auth-recipient="after-content"
-
- |The content of the SOAP message Body is encrypted and replaced with
-the resulting `xend:EncryptedData`. The message contains
-`a wsse:Security` header that contains a
-`wsse:UsernameToken (with password)` and an `xenc:EncryptedKey`. The
-`xenc:EncryptedKey` contains the key used to encrypt the SOAP message
-body. The key is encrypted in the public key of the recipient.
-
-a|
-auth-source="content"
-
-auth-recipient="before-content"
-
- |The content of the SOAP message Body is encrypted and replaced with
-the resulting `xend:EncryptedData`. The `xenc:EncryptedData` is signed.
-The message contains `a wsse:Security` header that contains an
-`xenc:EncryptedKey` and a `ds`:`Signature`. The `xenc:EncryptedKey`
-contains the key used to encrypt the SOAP message body. The key is
-encrypted in the public key of the recipient.
-
-a|
-auth-source="content"
-
-auth-recipient="after-content"
-
- |The content of the SOAP message Body is signed, then encrypted, and
-then replaced with the resulting `xend:EncryptedData`. The message
-contains a `wsse:Security` header that contains an `xenc:EncryptedKey`
-and a `ds:Signature`. The `xenc:EncryptedKey` contains the key used to
-encrypt the SOAP message body. The key is encrypted in the public key of
-the recipient.
-
-a|
-auth-recipient="before-content"
-
-OR
-
-auth-recipient="after-content"
-
- |The content of the SOAP message Body is encrypted and replaced with
-the resulting `xend:EncryptedData`. The message contains
-`a wsse:Security` header that contains an `xenc:EncryptedKey`. The
-`xenc:EncryptedKey` contains the key used to encrypt the SOAP message
-body. The key is encrypted in the public key of the recipient.
-
-|No policy specified. |No security operations are performed by the
-modules.
-|=======================================================================
-
-
-[[gioqu]][[GSSCG00125]][[to-configure-the-message-protection-policies-for-a-provider]]
-
-To Configure the Message Protection Policies for a Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Typically, you would not reconfigure a provider. However, if needed for
-your situation, you can modify a provider's message protection policies
-by changing provider type, implementation class, and provider-specific
-configuration properties. To understand the results of different
-combinations, see link:#fxjcu[Table 3-1].
-
-Use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to set the response policy,
-then replace the word `request` in the following commands with the word
-`response`.
-
-1.  Add a request policy to the client and set the authentication source
-by using the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set server-config.security-service.message-security-config.SOAP.
-provider-config.ClientProvider.request-policy.auth_source=[sender | content]
-----
-2.  Add a request policy to the server and set the authentication source
-by using the `set` subcommand. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set server-config.security-service.message-security-config.SOAP.
-provider-config.ServerProvider.request-policy.auth_source=[sender | content]
-----
-3.  Add a request policy to the client and set the authentication
-recipient by using the `set` subcommand: +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set server-config.security-service.message-security-config.SOAP.
-provider-config.ClientProvider.request-policy.auth_recipient=[before-content | after-content]
-----
-4.  Add a request policy to the server and set the authentication
-recipient by using the `set` subcommand: +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> set server-config.security-service.message-security-config.SOAP.
-provider-config.ServerProvider.request-policy.auth_recipient=[before-content | after-content]
-----
-
-[[ablsl]][[GSSCG00225]][[setting-the-request-and-response-policy-for-the-application-client-configuration]]
-
-Setting the Request and Response Policy for the Application Client
-Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The request and response policies define the authentication policy
-requirements associated with request and response processing performed
-by the authentication provider. Policies are expressed in message sender
-order such that a requirement that encryption occur after content would
-mean that the message receiver would expect to decrypt the message
-before validating the signature.
-
-To achieve message security, the request and response policies must be
-enabled on both the server and client. When configuring the policies on
-the client and server, make sure that the client policy matches the
-server policy for request/response protection at application-level
-message binding.
-
-To set the request policy for the application client configuration,
-modify the GlassFish Server-specific configuration for the application
-client container as described in link:#gdhgg[Enabling Message Security
-for Application Clients].
-
-[[GSSCG00088]][[gipxo]]
-
-
-Example 3-1 Message Security Policy Setting for Application Clients
-
-In the application client configuration file, the `request-policy` and
-`response-policy` elements are used to set the request policy, as shown
-in the following code snippet. (Additional code in the snippet is
-provided as illustration and might differ slightly in your installation.
-Do not change the additional code.)
-
-[source,oac_no_warn]
-----
-<client-container>
-  <target-server name="your-host" address="your-host"
-      port="your-port"/>
-  <log-service file="" level="WARNING"/>
-  <message-security-config auth-layer="SOAP"
-      default-client-provider="ClientProvider">
-    <provider-config
-        class-name="com.sun.enterprise.security.jauth.ClientAuthModule"
-        provider-id="clientprovider" provider-type="client">
-      <request-policy auth-source="sender | content"
-        auth-recipient="after-content | before-content"/>
-      <response-policy auth-source="sender | content"
-        auth-recipient="after-content | before-content"/>
-       <property name="security.config"
-           value="as-install/lib/appclient/wss-client-config.xml"/>
-    </provider-config>
-  </message-security-config>
-</client-container>
-----
-
-Valid values for `auth-source` include `sender` and `content`. Valid
-values for `auth-recipient` include `before-content` and
-`after-content`. A table describing the results of various combinations
-of these values can be found in link:#giouf[Configuring Message
-Protection Policies].
-
-To not specify a request or response policy, leave the element blank,
-for example:
-
-[source,oac_no_warn]
-----
-<response-policy/>
-----
-
-[[giosl]][[GSSCG00156]][[administering-non-default-message-security-providers]]
-
-Administering Non-default Message Security Providers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#giory[To Create a Message Security Provider]
-* link:#giotv[To List Message Security Providers]
-* link:#giwkd[To Update a Message Security Provider]
-* link:#giorr[To Delete a Message Security Provider]
-* link:#gkxru[To Configure a Servlet Layer Server Authentication Module
-(SAM)]
-
-[[giory]][[GSSCG00126]][[to-create-a-message-security-provider]]
-
-To Create a Message Security Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-message-security-provider` subcommand in remote mode to
-create a new message provider for the security service. If the message
-layer does not exist, the message layer is created, and the provider is
-created under it.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create the message security provider by using the
-link:../reference-manual/create-message-security-provider.html#GSRFM00045[`create-message-security-provider`] subcommand. +
-Information about properties for this subcommand is included in the help
-page.
-3.  If needed, restart the server. +
-Some properties require server restart. See
-"link:../administration-guide/overview.html#GSADG00628[Configuration Changes That Require Restart]" in
-GlassFish Server Open Source Edition Administration Guide. If your
-server needs to be restarted, see "link:../administration-guide/domains.html#GSADG00337[To Restart a
-Domain]" in GlassFish Server Open Source Edition Administration Guide.
-
-[[GSSCG00089]][[giosd]]
-
-
-Example 3-2 Creating a Message Security Provider
-
-This example creates the new message security provider
-`mySecurityProvider`.
-
-[source,oac_no_warn]
-----
-asadmin> create-message-security-provider 
---classname com.sun.enterprise.security.jauth.ClientAuthModule
---providertype client mySecurityProvider
-Command create-message-security-provider executed successfully.
-----
-
-[[sthref31]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-message-security-provider` at the command
-line.
-
-[[giotv]][[GSSCG00127]][[to-list-message-security-providers]]
-
-To List Message Security Providers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-message-security-providers` subcommand in remote mode to
-list the message providers for the security layer.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the message security providers by using the
-link:../reference-manual/list-message-security-providers.html#GSRFM00184[`list-message-security-providers`] subcommand.
-
-[[GSSCG00090]][[gioui]]
-
-
-Example 3-3 Listing Message Security Providers
-
-This example lists the message security providers for a message layer.
-
-[source,oac_no_warn]
-----
-asadmin> list-message-security-providers --layer SOAP
-XWS_ClientProvider 
-ClientProvider
-XWS_ServerProvider
-ServerProvider
-Command list-message-security-providers executed successfully.
-----
-
-[[sthref32]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-message-security-providers` at the command
-line.
-
-[[giwkd]][[GSSCG00128]][[to-update-a-message-security-provider]]
-
-To Update a Message Security Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the message security providers by using the
-link:../reference-manual/list-message-security-providers.html#GSRFM00184[`list-message-security-providers`] subcommand.
-3.  Modify the values for the specified message security provider by
-using the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-The message security provider is identified by its dotted name.
-
-[[giorr]][[GSSCG00129]][[to-delete-a-message-security-provider]]
-
-To Delete a Message Security Provider
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-message-security-provider` subcommand in remote mode to
-remove a message security provider.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the message security providers by using the
-link:../reference-manual/list-message-security-providers.html#GSRFM00184[`list-message-security-providers`] subcommand.
-3.  Delete the message security provider by using the
-link:../reference-manual/delete-message-security-provider.html#GSRFM00097[`delete-message-security-provider`] subcommand.
-
-[[GSSCG00091]][[gioug]]
-
-
-Example 3-4 Deleting a Message Security Provider
-
-This example deletes the `myServerityProvider` message security
-provider.
-
-[source,oac_no_warn]
-----
-asadmin> delete-message-security-provider --layer SOAP myServerityProvider
-Command delete-message-security-provider executed successfully.
-----
-
-[[sthref33]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-message-security-provider` at the command
-line.
-
-[[gkxru]][[GSSCG00130]][[to-configure-a-servlet-layer-server-authentication-module-sam]]
-
-To Configure a Servlet Layer Server Authentication Module (SAM)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-You configure a JSR 196 Server Authentication Module (SAM) as an
-HttpServlet-layer message security provider, either through the
-Administration Console or with the `create-message-security-provider`
-subcommand.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create the message security provider by using the
-link:../reference-manual/create-message-security-provider.html#GSRFM00045[`create-message-security-provider`] subcommand. +
-Information about properties for this subcommand is included in the help
-page.
-3.  Bind the message security provider for use with your application. +
-You do this by defining the `httpservlet-security-provider` attribute in
-the `glassfish-web.xml` file corresponding to your application. Set the
-value of the attribute to the provider name you assigned to the message
-security provider. For example, if you use MySAM when you create the
-message security provider the entry would be
-httpservlet-security-provider="MySAM".
-4.  If needed, restart the server. +
-Some properties require server restart. See
-"link:../administration-guide/overview.html#GSADG00628[Configuration Changes That Require Restart]" in
-GlassFish Server Open Source Edition Administration Guide. If your
-server needs to be restarted, see "link:../administration-guide/domains.html#GSADG00337[To Restart a
-Domain]" in GlassFish Server Open Source Edition Administration Guide.
-
-[[GSSCG00092]][[gkxqz]]
-
-
-Example 3-5 Creating a Message Security Provider
-
-This example creates the new message security provider `mySAM`.
-
-[source,oac_no_warn]
-----
-asadmin> create-message-security-provider --layer=HttpServlet
---classname com.sun.glassfish.oamsam.OAMAuthenticatorSAM
---providertype server
---property oam.resource.hostid.variation="your-host-system.com" mySAM
-Creation of message security provider named mySAM completed successfully
-Command create-message-security-provider executed successfully.
-----
-
-The subcommand results in the following `domain.xml` entry:
-
-[source,oac_no_warn]
-----
-<message-security-config auth-layer="HttpServlet">
-<provider-config provider-type="server" provider-id="mysam" 
-class-name="com.sun.glassfish.oamsam.OAMAuthenticatorSAM">
-            <property name="oam.resource.hostid.variation" value="your-host-system.com"></property>
-            <request-policy></request-policy>
-            <response-policy></response-policy>
-          </provider-config>
-</message-security-config>
-----
-
-To list the HttpServlet message security providers, use the
-`list-message-security-providers` subcommand:
-
-[source,oac_no_warn]
-----
-asadmin> list-message-security-providers --layer HttpServlet
-list-message-security-providers successful
-GFConsoleAuthModule
-mySAM
-Command list-message-security-providers executed successfully.
-----
-
-[[sthref34]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-message-security-provider` at the command
-line.
-
-[[gdhgg]][[GSSCG00157]][[enabling-message-security-for-application-clients]]
-
-Enabling Message Security for Application Clients
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The message protection policies of client providers must be configured
-such that they are equivalent to the message protection policies of the
-server-side providers they will be interacting with. This is already the
-situation for the providers configured (but not enabled) when GlassFish
-Server is installed.
-
-To enable message security for client applications, modify the GlassFish
-Server specific configuration for the application client container. The
-process is analogous to the process in link:#giouf[Configuring Message
-Protection Policies].
-
-[[gglrb]][[GSSCG00158]][[additional-information-about-message-security]]
-
-Additional Information About Message Security
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-For additional information about message security, see the following
-documentation:
-
-* "http://docs.oracle.com/javaee/7/tutorial/doc/security-intro.html[Introduction
-to Security in the Java EE Platform]" in The Java EE 8 Tutorial
-* "link:../application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]" in GlassFish Server Open
-Source Edition Application Development Guide
-
-
diff --git a/docs/security-guide/src/main/jbake/content/preface.adoc b/docs/security-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 4ee003e..0000000
--- a/docs/security-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,343 +0,0 @@
-type=page
-status=published
-title=Preface
-next=system-security.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[sthref2]][[preface]]
-
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-The GlassFish Server Open Source Edition Security Guide provides
-instructions for configuring and administering GlassFish Server
-security.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 5.0 is developed through the GlassFish project
-open-source community at `https://javaee.github.io/glassfish/`. The
-GlassFish project provides a structured process for developing the
-GlassFish Server platform that makes the new features of the Java EE
-platform available faster, while maintaining the most important feature
-of Java EE: compatibility. It enables Java developers to access the
-GlassFish Server source code and to contribute to the development of the
-GlassFish Server. The GlassFish project is designed to encourage
-communication between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[GSSCG00135]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="30%,70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-| |
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSSCG00136]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* http://docs.oracle.com/javaee/7/firstcup/doc/home.html[Your First Cup:
-An Introduction to the Java EE Platform]
-(`(https://javaee.github.io/firstcup/`). For beginning Java EE
-programmers, this short tutorial explains the entire process for
-developing a simple enterprise application. The sample application is a
-web application that consists of a component that is based on the
-Enterprise JavaBeans specification, a JAX-RS web service, and a
-JavaServer Faces component for the web front end.
-* http://docs.oracle.com/javaee/7/tutorial/doc/home.html[The Java EE 8
-Tutorial] (`https://javaee.github.io/tutorial/`). This comprehensive
-tutorial explains how to use Java EE 8 platform technologies and APIs to
-develop Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 8 of Java EE is located at
-`https://javaee.github.io/javaee-spec/`.
-* The API specification for GlassFish Server 5.0, including Java EE 8
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`https://javaee.github.io/glassfish/documentation`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications] (`https://javaee.github.io/javaee-spec/`) might be
-useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Apache Derby database for use with the
-GlassFish Server, see the https://db.apache.org/derby/[Apache Derby
-product page] (`https://db.apache.org/derby/`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the http://glassfish-samples.java.net/[Java EE Samples
-project page] (`https://github.com/javaee/glassfish-samples`).
-
-[[GSSCG00137]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="14%,37%,49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSSCG00138]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="10%,26%,28%,36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSSCG00139]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="14%,34%,52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish6/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish6`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish6`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
-
-
diff --git a/docs/security-guide/src/main/jbake/content/running-in-secure-environment.adoc b/docs/security-guide/src/main/jbake/content/running-in-secure-environment.adoc
deleted file mode 100644
index fda8c48..0000000
--- a/docs/security-guide/src/main/jbake/content/running-in-secure-environment.adoc
+++ /dev/null
@@ -1,560 +0,0 @@
-type=page
-status=published
-title=Running in a Secure Environment
-prev=administrative-security.html
-~~~~~~
-Running in a Secure Environment
-===============================
-
-[[GSSCG00040]][[gkscr]]
-
-
-[[running-in-a-secure-environment]]
-6 Running in a Secure Environment
----------------------------------
-
-This chapter describes important information about running GlassFish
-Server in a secure environment.
-
-This chapter assumes that you are familiar with security features such
-as authentication, authorization, and certificates. If you are not, see
-link:system-security.html#ablnk[Administering System Security].
-
-Instructions for accomplishing the tasks specific to GlassFish Server by
-using the Administration Console are contained in the Administration
-Console online help.
-
-The chapter describes the following topics:
-
-* link:#gksbk[Determining Your Security Needs]
-* link:#gksbw[Installing GlassFish Server in a Secure Environment]
-* link:#gksby[Run on the Web Profile if Possible]
-* link:#gksct[Securing the GlassFish Server Host]
-* link:#gksca[Securing GlassFish Server]
-* link:#gksbf[Securing Applications]
-
-[[gksbk]][[GSSCG00169]][[determining-your-security-needs]]
-
-Determining Your Security Needs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Before you deploy GlassFish Server and your Java EE applications into a
-production environment, determine your security needs and make sure that
-you take the appropriate security measures, as described in the
-following sections:
-
-* link:#gkscs[Understand Your Environment]
-* link:#gksce[Read Security Publications]
-
-[[gkscs]][[GSSCG00237]][[understand-your-environment]]
-
-Understand Your Environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To better understand your security needs, ask yourself the following
-questions:
-
-* Which resources am I protecting? +
-Many resources in the production environment can be protected, including
-information in databases accessed by GlassFish Server and the
-availability, performance, applications, and the integrity of the Web
-site. Consider the resources you want to protect when deciding the level
-of security you must provide.
-* From whom am I protecting the resources? +
-For most Web sites, resources must be protected from everyone on the
-Internet. But should the Web site be protected from the employees on the
-intranet in your enterprise? Should your employees have access to all
-resources within the GlassFish Server environment? Should the system
-administrators have access to all GlassFish Server resources? Should the
-system administrators be able to access all data? You might consider
-giving access to highly confidential data or strategic resources to only
-a few well trusted system administrators. Perhaps it would be best to
-allow no system administrators access to the data or resources.
-* What will happen if the protections on strategic resources fail? +
-In some cases, a fault in your security scheme is easily detected and
-considered nothing more than an inconvenience. In other cases, a fault
-might cause great damage to companies or individual clients that use the
-Web site. Understanding the security ramifications of each resource will
-help you protect it properly.
-
-(`http://www.oracle.com/us/products/ondemand/index.html`)[[gksce]]
-
-[[GSSCG00239]][[read-security-publications]]
-
-Read Security Publications
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Read about security issues:
-
-* For the latest information about securing Web servers, Oracle
-recommends the "Security Practices & Evaluations" information available
-from the CERT Coordination Center operated by Carnegie Mellon University
-at `http://www.cert.org/`.
-
-[[gksbw]][[GSSCG00170]][[installing-glassfish-server-in-a-secure-environment]]
-
-Installing GlassFish Server in a Secure Environment
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes recommendations for installing GlassFish Server
-in a secure environment. The link:#gkscn[Enable the Secure
-Administration Feature] topic is described.
-
-[[gkscn]][[GSSCG00240]][[enable-the-secure-administration-feature]]
-
-Enable the Secure Administration Feature
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The secure administration feature allows an administrator to secure all
-administrative communication between the domain administration server
-(DAS), any remote instances, and administration clients such as the
-asadmin utility, the administration console, and REST clients. In
-addition, secure administration helps to prevent DAS-to-DAS and
-instance-to-instance traffic, and carefully restricts
-administration-client-to-instance traffic.
-
-When you install GlassFish Server or create a new domain, secure admin
-is disabled by default. GlassFish Server does not encrypt administrative
-communication among the system components and does not accept
-administrative connections from remote hosts. Imposing a heightened
-level of security is optional.
-
-See link:administrative-security.html#gknqh[Managing Administrative
-Security] for information on enabling the secure administration feature.
-
-[[gksby]][[GSSCG00172]][[run-on-the-web-profile-if-possible]]
-
-Run on the Web Profile if Possible
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If your applications can run on the Web Profile, use that instead of the
-Full Platform.
-
-Starting in Java EE 6, Java EE introduced the concept of profiles. A
-profile is a collection of Java EE technologies and APIs that address
-specific developer communities and application types.
-
-The following profiles are implemented through the distributions of
-GlassFish Server:
-
-* Full Platform -The full Java EE platform is designed for developers
-who require the full set of Java EE APIs for enterprise application
-development, and is installed when you install GlassFish Server. This
-profile is also installed as part of the Java EE 8 SDK installation.
-* Web Profile -This profile contains Web technologies that are a subset
-of the full Java platform, and is designed for developers who do not
-require the full set of Java EE APIs. This profile is also installed
-with Java EE 8 Web Profile SDK.
-
-For the list of APIs in each profile, see "link:../release-notes/release-notes.html#GSRLN00136[Java EE
-Standards Support]" in GlassFish Server Open Source Edition Release
-Notes.
-
-[[gksct]][[GSSCG00173]][[securing-the-glassfish-server-host]]
-
-Securing the GlassFish Server Host
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A GlassFish Server production environment is only as secure as the
-security of the machine on which it is running. It is important that you
-secure the physical machine, the operating system, and all other
-software that is installed on the host machine.
-
-The following are recommendations for securing a GlassFish Server host
-in a production environment. Also check with the manufacturer of the
-machine and operating system for recommended security measures.
-
-
-[NOTE]
-=======================================================================
-
-The domain and server configuration files should be accessible only by
-the operating system users who configure or execute GlassFish Server.
-
-=======================================================================
-
-
-[[sthref39]][[gksbt]]
-
-Table 6-1 Securing the GlassFish Server Host
-
-[width="100%",cols="27%,73%",options="header",]
-|=======================================================================
-|Security Action |Description
-|Physically secure the hardware. |Keep your hardware in a secured area
-to prevent unauthorized operating system users from tampering with the
-deployment machine or its network connections.
-
-|Log out of the Administration Console before navigating to a non-secure
-site. |If you are logged on to the Administration Console, be sure to
-log out completely before browsing to an unknown or non-secure Web site.
-
-|Secure networking services that the operating system provides. a|
-Have an expert review network services such as e-mail programs or
-directory services to ensure that a malicious attacker cannot access the
-operating system or system-level commands. The way you do this depends
-on the operating system you use.
-
-Sharing a file system with other machines in the enterprise network
-imposes risks of a remote attack on the file system. Be certain that the
-remote machines and the network are secure before sharing the file
-systems from the machine.
-
-|Use a file system that can prevent unauthorized access. |Make sure that
-the file system on each GlassFish Serverhost can prevent unauthorized
-access to protected resources. For example, on a Windows computer, use
-only NTFS.
-
-|Set file access permissions for data stored on disk. a|
-Set operating system file access permissions to restrict access to data
-stored on disk. This data includes, but is not limited to, the
-following:
-
-The database files. GlassFish Server includes Apache Derby database,
-however, you can use any JDBC-compliant database.
-
-The directory and filename location of a private keystore, such as
-keystore.jks
-
-The directory and filename location of a Root Certificate Authority (CA)
-keystore, such as cacerts.jks.
-
-For example, operating systems provide utilities such as umask and chmod
-to set the file access permissions. At a minimum, consider using "umask
-066", which denies read and write permission to Group and Others.
-
-|Set file access permission for the GlassFish Server installation. a|
-The directory structure in which GlassFish Server is located, including
-all files, should be protected from access by unprivileged users.
-
-Taking this step helps ensure that unprivileged users cannot insert code
-that can potentially be executed by GlassFish Server.
-
-|Limit the number of user accounts on the host machine. a|
-Avoid creating more user accounts than you need on host machines, and
-limit the file access privileges granted to each account. On operating
-systems that allow more than one system administrator user, the host
-machine should have two user accounts with system administrator
-privileges and one user with sufficient privileges to run GlassFish
-Server. Having two system administrator users provides a back up at all
-times. The GlassFish Server user should be a restricted user, not a
-system administrator user. One of the system administrator users can
-always create a new GlassFish Server user if needed.
-
-Important: Domain and server configuration files should be accessible
-only by the operating system users who configure or execute GlassFish
-Server.
-
-Review active user accounts regularly and when personnel leave.
-
-Background Information: Configuration data and some URL (Web) resources,
-including Java Server Pages (JSPs) and HTML pages, are stored in clear
-text on the file system. A sophisticated user or intruder with read
-access to files and directories might be able to defeat any security
-mechanisms you establish with authentication and authorization schemes.
-
-|For your system administrator user accounts, choose names that are not
-obvious. |For additional security, avoid choosing an obvious name such
-as "system," "admin," or "administrator" for your system administrator
-user accounts.
-
-|Safeguard passwords. a|
-The passwords for user accounts on production machines should be
-difficult to guess and should be guarded carefully.
-
-Set a policy to expire passwords periodically.
-
-Never code passwords in client applications.
-
-Do not deploy an application that can be accessed with the default
-username admin and no password.
-
-|Safeguard password files a|
-The `-passwordfile` option of the `asadmin` command specifies the name
-of a file that contains password entries in a specific format. These
-password entries are stored in clear text in the password file, and rely
-on file system mechanisms for protection. Therefore, any password file
-created for use with the `-passwordfile` option should be protected with
-file system permissions. Additionally, any password file being used for
-a transient purpose, such as setting up SSH among nodes, should be
-deleted after it has served its purpose.
-
-To provide additional security, create a password alias.
-
-|Use a password alias a|
-A password alias stores a password in encrypted form in the domain
-keystore, providing a clear-text alias name to use instead of the
-password.
-
-To provide additional security, use the `create-password-alias`
-subcommand to create an alias for the password. The password for which
-the alias is created is stored in an encrypted form.
-
-Then, specify the alias in the entry for the password in the password
-file as follows:
-
-In password files and the domain configuration file, use the form
-$\{alias=alias-name} to refer to the encrypted password.
-
-|Do not run GlassFish Server as root a|
-GlassFish Server should run only as an unprivileged user, never as root.
-
-Taking this step helps ensure that code from other users cannot be
-executed by GlassFish Server.
-
-|Consider use PAM Realm |The use of a PAM Realm requires GlassFish
-Server to run as an account that has read-access to a shadow password
-file or the equivalent, and therefore may not be suitable in your
-environment.
-
-|Do not develop on a production machine. |Develop first on a development
-machine and then move code to the production machine when it is
-completed and tested. This process prevents bugs in the development
-environment from affecting the security of the production environment.
-
-|Do not install development or sample software on a production machine.
-|Do not install development tools on production machines. Keeping
-development tools off the production machine reduces the leverage
-intruders have should they get partial access to a production machine.
-
-|Enable security auditing. |If the operating system on which GlassFish
-Server runs supports security auditing of file and directory access,
-Oracle recommends using audit logging to track any denied directory or
-file access violations. Administrators should ensure that sufficient
-disk space is available for the audit log.
-
-|Consider using additional software to secure your operating system.
-|Most operating systems can run additional software to secure a
-production environment. For example, an Intrusion Detection System (IDS)
-can detect attempts to modify the production environment. Refer to the
-vendor of your operating system for information about available
-software.
-
-|Apply operating system patch sets and security patches. |Refer to the
-vendor of your operating system for a list of recommended patch sets and
-security-related patches.
-
-|Apply the latest maintenance packs and critical patch updates. |Refer
-to the vendor of your operating system for a list of maintenance packs
-and critical patch updates.
-|=======================================================================
-
-
-[[gksca]][[GSSCG00174]][[securing-glassfish-server]]
-
-Securing GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server provides a powerful and flexible set of software tools
-for securing the subsystems and applications that run on a server
-instance. The following table provides a checklist of essential features
-that Oracle recommends you use to secure your production environment.
-
-[[sthref40]][[gkscz]]
-
-Table 6-2 Securing GlassFish Server
-
-[width="100%",cols="25%,75%",options="header",]
-|=======================================================================
-|Security Action |Description
-|Enable Secure Admin. a|
-The secure administration feature allows an administrator to secure all
-administrative communication between the domain administration server
-(DAS), any remote instances, and administration clients such as the
-`asadmin` utility, the administration console, and REST clients.
-
-In addition, secure administration helps to prevent DAS-to-DAS and
-instance-to-instance traffic, and carefully restricts
-administration-client-to-instance traffic.
-
-The secure administration feature provides a secure environment, in
-which you can be confident that rogue users or processes cannot
-intercept or corrupt administration traffic or impersonate legitimate
-GlassFish Server components.
-
-See link:administrative-security.html#gknqh[Managing Administrative
-Security].
-
-|Protect the `.asadminpass` file a|
-If you create a domain with the `--savelogin` option, `create-domain`
-saves the administration user name and password in the `.asadminpass`
-file in the user's home directory.
-
-Make sure that this file remains protected. Information stored in this
-file will be used by `asadmin` commands to manage this domain.
-
-|Safeguard password files a|
-The `-passwordfile` option of the `asadmin` command specifies the name
-of a file that contains password entries in a specific format. These
-password entries are stored in clear text in the password file, and rely
-on file system mechanisms for protection. Therefore, any password file
-created for use with the `-passwordfile` option should be protected with
-file system permissions. Additionally, any password file being used for
-a transient purpose, such as setting up SSH among nodes, should be
-deleted after it has served its purpose.
-
-To provide additional security, create a password alias.
-
-|Deploy production-ready security providers to the security realm. a|
-Java Authorization Contract for Containers (JACC) is the part of the
-Java EE specification that defines an interface for pluggable
-authorization providers. This enables you to set up third-party plug-in
-modules to perform authorization.
-
-By default, the GlassFish Server provides a simple, file-based
-authorization engine that complies with the JACC specification. You can
-also specify additional third-party JACC providers.
-
-If you have purchased or written your own security providers, make sure
-that you have deployed and configured them properly.
-
-|Use SSL, but do not use the self-signed certificates in a production
-environment. a|
-To prevent sensitive data from being compromised, secure data transfers
-by using HTTPS.
-
-By default, GlassFish Server uses self-signed certificates. The
-self-signed certificates that GlassFish Server uses might not be trusted
-by clients by default because a certificate authority does not vouch for
-the authenticity of the certificate.
-
-You can instead use your own certificates, as described in
-link:administrative-security.html#gkped[Using Your Own Certificates].
-
-|Restrict the size and the time limit of requests on external channels
-to prevent Denial of Service attacks. a|
-To prevent some Denial of Service (DoS) attacks, restrict the size of a
-message as well as the maximum time it takes a message to arrive.
-
-The default setting for maximum post size is 2097152 bytes and 900
-seconds for the request timeout.
-
-|Enable authentication and authorization auditing. a|
-Auditing is the process of recording key security events in your
-GlassFish Server environment. You use audit modules to develop an audit
-trail of all authentication and authorization decisions. To enable audit
-logging, two steps are required:
-
-1.  On the Security page, select the Audit Logging Enabled checkbox to
-enable audit logging.
-2.  Set the `auditOn` property for the active audit module to true.
-
-Review the auditing records periodically to detect security breaches and
-attempted breaches. Noting repeated failed logon attempts or a
-surprising pattern of security events can prevent serious problems.
-
-|Set logging for security and SSL messages. a|
-Consider setting module log levels for
-table.jakarta.enterprise.system.ssl.security and
-jakarta.enterprise.system.core.security. You can set a level from Severe
-to Finest (the default is Info), but be aware that the finer logging
-levels may produce a large log file.
-
-By default, GlassFish Server logging messages are recorded in the server
-log, and you can set the file rotation limit, as described in
-link:../reference-manual/rotate-log.html#GSRFM00224[`rotate-log`(1)]
-
-|Ensure that you have correctly assigned users to the correct groups.
-|Make sure you have assigned the desired set of users to the right
-groups. In particular, make sure that users assigned to the asadmin
-group need to be members of that group.
-
-|Create no fewer than two user accounts in the asadmin group. |The user
-admin is created when you install GlassFish Server. For production
-environments, create at least one other account in the asadmin group in
-case one account password is compromised. When creating asadmin users
-give them unique names that cannot be easily guessed.
-
-|Assign a password to the admin account. |By default, GlassFish Server
-includes a single account for user "admin" and an empty password. For
-production environments this default is inherently unsecure, and you
-should set a password for admin.
-|=======================================================================
-
-
-[[gksbf]][[GSSCG00175]][[securing-applications]]
-
-Securing Applications
-~~~~~~~~~~~~~~~~~~~~~
-
-Although much of the responsibility for securing the GlassFish Server
-resources in a domain fall within the scope of the server, some security
-responsibilities lie within the scope of individual applications. For
-some security options, GlassFish Server enables you to determine whether
-the server or individual applications are responsible. For each
-application that you deploy in a production environment, review the
-items in the following table to verify that you have secured its
-resources.
-
-[[sthref41]][[gkscv]]
-
-Table 6-3 Securing Applications
-
-[width="100%",cols="22%,78%",options="header",]
-|=======================================================================
-|Security Action |Description
-|Use JSP comment tags instead of HTML comment tags. |Comments in JSP
-files that might contain sensitive data and or other comments that are
-not intended for the end user should use the JSP syntax of <%/* xxx */%>
-instead of the HTML syntax <!-- xxx -->. The JSP comments, unlike the
-HTML comments, are deleted when the JSP is compiled and therefore cannot
-be viewed in the browser.
-
-|Do not install uncompiled JSPs and other source code on the production
-machine. a|
-Always keep source code off of the production machine. Getting access to
-your source code allows an intruder to find security holes.
-
-Consider precompiling JSPs and installing only the compiled JSPs on the
-production machine. To do this, set the `deploy` subcommand
-`-precompilejsp` option to true for the component.
-
-When set to true, the `deploy` and `redeploy` subcommands
-`-precompilejsp` option compiles JSPs during deploy time. If set to
-false (the default), JSPs are compiled during runtime.
-
-|Configure your applications to use SSL. |Set the transport-guarantee to
-CONFIDENTIAL in the user-data-constraint element of the web.xml file
-whenever appropriate.
-
-|Examine applications for security. a|
-There are instances where an application can lead to a security
-vulnerability.
-
-Of particular concern is code that uses Java native interface (JNI)
-because Java positions native code outside of the scope of Java
-security. If Java native code behaves errantly, it is only constrained
-by the operating system. That is, the Java native code can do anything
-GlassFish Server itself can do. This potential vulnerability is further
-complicated by the fact that buffer overflow errors are common in native
-code and can be used to run arbitrary code.
-
-|If your applications contain untrusted code, enable the Java security
-manager. |The Java security manager defines and enforces permissions for
-classes that run within a JVM. In many cases, where the threat model
-does not include malicious code being run in the JVM, the Java security
-manager is unnecessary. However, when third parties use GlassFish Server
-and untrusted classes are being run, the Java security manager may be
-useful. See "link:../application-development-guide/securing-apps.html#GSDVG00373[Enabling and Disabling the Security
-Manager]" in GlassFish Server Open Source Edition Application
-Development Guide.
-
-|Replace HTML special characters when servlets or JSPs return
-user-supplied data. a|
-The ability to return user-supplied data can present a security
-vulnerability called cross-site scripting, which can be exploited to
-steal a user's security authorization. For a detailed description of
-cross-site scripting, refer to "Understanding Malicious Content
-Mitigation for Web Developers" (a CERT security advisory) at
-`http://www.cert.org/tech_tips/malicious_code_mitigation.html`.
-
-To remove the security vulnerability, before you return data that a user
-has supplied, scan the data for HTML special characters. If you find any
-such characters, replace them with their HTML entity or character
-reference. Replacing the characters prevents the browser from executing
-the user-supplied data as HTML.
-
-|=======================================================================
-
-
-
diff --git a/docs/security-guide/src/main/jbake/content/security-in-cluster-mode.adoc b/docs/security-guide/src/main/jbake/content/security-in-cluster-mode.adoc
deleted file mode 100644
index 989534b..0000000
--- a/docs/security-guide/src/main/jbake/content/security-in-cluster-mode.adoc
+++ /dev/null
@@ -1,173 +0,0 @@
-type=page
-status=published
-title=Administering Security in Cluster Mode
-next=administrative-security.html
-prev=message-security.html
-~~~~~~
-Administering Security in Cluster Mode
-======================================
-
-[[GSSCG00038]][[gknpf]]
-
-
-[[administering-security-in-cluster-mode]]
-4 Administering Security in Cluster Mode
-----------------------------------------
-
-This chapter describes important information about administering
-security in a cluster.
-
-The following topics are described:
-
-* link:#gksam[Configuring Certificates in Cluster Mode]
-* link:#gkmhh[Dynamic Reconfiguration]
-* link:#gktgi[Understanding Synchronization]
-
-This chapter assumes that you are familiar with security features such
-as authentication, authorization, and certificates. If you are not, see
-link:system-security.html#ablnk[Administering System Security].
-
-Instructions for accomplishing the tasks specific to GlassFish Server by
-using the Administration Console are contained in the Administration
-Console online help.
-
-[[gksam]][[GSSCG00159]][[configuring-certificates-in-cluster-mode]]
-
-Configuring Certificates in Cluster Mode
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The sections link:system-security.html#abloj[Certificates and SSL] and
-link:system-security.html#ablqz[Administering JSSE Certificates] describe
-the relevant concepts and use of certificates in GlassFish Server.
-
-By default, GlassFish Server uses self-signed certificates. The
-self-signed certificates that GlassFish Server uses might not be trusted
-by clients by default because a certificate authority does not vouch for
-the authenticity of the certificate.
-
-You can instead use your own certificates, as described in
-link:administrative-security.html#gkped[Using Your Own Certificates].
-
-[[gkmhh]][[GSSCG00160]][[dynamic-reconfiguration]]
-
-Dynamic Reconfiguration
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Administrative commands that you execute on the domain administration
-server (DAS) must either be replicated on the affected server instances,
-or on all server instances that are part of the cluster. GlassFish
-Server replicates the commands by sending the same administration
-command request that was sent to the DAS to the server instances. As a
-result of replicating the commands on the DAS and the individual
-instances, the DAS and the instances make the same changes to their
-respective copies of the domain's configuration.
-
-
-[NOTE]
-=======================================================================
-
-Oracle recommends that you enable secure admin as described in
-link:administrative-security.html#gknqh[Managing Administrative Security]
-so that GlassFish Server securely transfers these files on the network.
-
-=======================================================================
-
-
-Dynamic reconfiguration refers to using the `--target` operand to CLI
-subcommands to make a change to a server instance (if the user-specified
-target is a server instance), or all server instances that are part of
-the cluster (if the user-specified target is a cluster). For
-example:`asadmin create-jdbc-resource some-options --target some-target`.
-
-The --target operand allows the following values:
-
-* `server` - Performs the command on the default server instance. This
-is the default value.
-* configuration_name - Performs the command in the specified
-configuration.
-* cluster_name - Performs the command on all server instances in the
-specified cluster.
-* instance_name - Performs the command on a specified server instance.
-
-If a command fails for a cluster, the status shows all server instances
-where dynamic reconfiguration failed, and suggests corrective next
-steps.
-
-The command status also shows when a restart is required for each server
-instance.
-
-The --target operand is supported for the following security-related CLI
-subcommands:
-
-* create-jacc-provider
-* delete-jacc-provider
-* list-jacc-providers
-* create-audit-module
-* create-auth-realm
-* create-file-user
-* delete-audit-module
-* delete-auth-realm
-* delete-file-user
-* update-file-user
-* create-message-security-provider
-* delete-message-security-provider
-* list-audit-modules
-* list-file-groups
-* list-file-users
-* login
-
-[[gkned]][[GSSCG00226]][[enabling-dynamic-configuration]]
-
-Enabling Dynamic Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Dynamic configuration is enabled by default and no additional action is
-required.
-
-Use the following command to enable dynamic configuration from the
-command line:
-
-`asadmin --user user --passwordfile password-file set cluster-name-config.dynamic-reconfiguration-enabled=true`.
-
-To enable dynamic configuration from the Administration Console, perform
-the following steps:
-
-1.  Expand the Configurations node.
-2.  Click the name of the cluster's configuration.
-3.  On the Configuration System Properties page, check the Dynamic
-Reconfiguration Enabled box.
-4.  Click Save.
-
-
-[NOTE]
-=======================================================================
-
-The dynamic reconfiguration feature applies only to server instances,
-not the DAS. Therefore, you cannot "disable" dynamic reconfiguration on
-the DAS. There is no way to make changes to the DAS configuration using
-`asadmin` commands, the Administration Console, or the REST interface
-without having those changes take effect immediately.
-
-=======================================================================
-
-
-[[gktgi]][[GSSCG00161]][[understanding-synchronization]]
-
-Understanding Synchronization
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-As described in "link:../ha-administration-guide/instances.html#GSHAG00189[Resynchronizing GlassFish Server
-Instances and the DAS]" in GlassFish Server Open Source Edition High
-Availability Administration Guide, configuration data for a GlassFish
-Server instance is stored in the repository of the DAS and in a cache on
-the host that is local to the instance. The configuration data in these
-locations must be synchronized. The cache is synchronized only when a
-user uses the administration tools to start or restart an instance.
-
-See "link:../ha-administration-guide/instances.html#GSHAG00189[Resynchronizing GlassFish Server Instances and the
-DAS]" in GlassFish Server Open Source Edition High Availability
-Administration Guide for information about default synchronization for
-files and directories, for the steps required to resynchronize an
-instance and the DAS, and for additional synchronization topics.
-
-
diff --git a/docs/security-guide/src/main/jbake/content/system-security.adoc b/docs/security-guide/src/main/jbake/content/system-security.adoc
deleted file mode 100644
index 3958f8f..0000000
--- a/docs/security-guide/src/main/jbake/content/system-security.adoc
+++ /dev/null
@@ -1,2231 +0,0 @@
-type=page
-status=published
-title=Administering System Security
-next=user-security.html
-prev=preface.html
-~~~~~~
-Administering System Security
-=============================
-
-[[GSSCG00035]][[ablnk]]
-
-
-[[administering-system-security]]
-1 Administering System Security
--------------------------------
-
-This chapter describes general information about administering system
-security.
-
-The following topics are addressed here:
-
-* link:#ggktf[About System Security in GlassFish Server]
-* link:#ghgrp[Administering Passwords]
-* link:#ghgol[Administering Audit Modules]
-* link:#ablqz[Administering JSSE Certificates]
-* link:#gkngj[Administering JACC Providers]
-
-Instructions for accomplishing many of these tasks by using the
-Administration Console are contained in the Administration Console
-online help.
-
-Information on application security is contained in
-"link:../application-development-guide/securing-apps.html#GSDVG00006[Securing Applications]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[ggktf]][[GSSCG00143]][[about-system-security-in-glassfish-server]]
-
-About System Security in GlassFish Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Security is about protecting data, that is, how to prevent unauthorized
-access or damage to data that is in storage or in transit. The GlassFish
-Server is built on the Java security model, which uses a sandbox where
-applications can run safely, without potential risk to systems or users.
-System security affects all the applications in the GlassFish Server
-environment.
-
-The Java EE Security API specification defines portable, plug-in
-interfaces for authentication and identity stores, and a new
-injectable-type SecurityContext interface that provides an access point
-for programmatic security. You can use the built-in implementations of
-the plug-in SPIs, or write custom implementations.
-
-System security features include the following:
-
-* link:#ablnx[Authentication]
-* link:#ghlvu[Authorization]
-* link:#ghlql[Auditing]
-* link:#ghlti[Firewalls]
-* link:#abloj[Certificates and SSL]
-* link:#ablno[Tools for Managing System Security]
-
-[[ablnx]][[GSSCG00203]][[authentication]]
-
-Authentication
-^^^^^^^^^^^^^^
-
-Authentication is the way in which an entity (a user, an application, or
-a component) determines that another entity is who it claims to be. An
-entity uses security credentials to authenticate itself. The credentials
-might be a user name and password, a digital certificate, or something
-else. Usually, servers or applications require clients to authenticate
-themselves. Additionally, clients might require servers to authenticate
-themselves. When authentication is bidirectional, it is called mutual
-authentication.
-
-When an entity tries to access a protected resource, GlassFish Server
-uses the authentication mechanism configured for that resource to
-determine whether to grant access. For example, a user can enter a user
-name and password in a web browser, and if the application verifies
-those credentials, the user is authenticated. The user is associated
-with this authenticated security identity for the remainder of the
-session.
-
-[[ghsqc]][[GSSCG00184]][[authentication-types]]
-
-Authentication Types
-++++++++++++++++++++
-
-Within its deployment descriptors, an application can specify the type
-of authentication that it uses. The Java EE Security API provides an
-alternative mechanism for configuring the type of authentication an
-application uses. See https://jcp.org/en/jsr/detail?id=375[Java EE
-Security API 1.0 specification]. GlassFish Server supports specifying
-the following types of authentication in deployment descriptors:
-
-BASIC::
-  Uses the standard Basic Authentication Scheme as described in RFC
-  2617. The communication protocol is HTTP (SSL optional). There is no
-  encryption of user credentials unless using SSL. This type is not
-  considered to be a secure method of user authentication unless used in
-  conjunction with an encrypted communications channel, such as that
-  provided by SSL.
-FORM::
-  The application provides its own custom login and error pages. The
-  communication protocol is HTTP (SSL optional). There is no encryption
-  of user credentials unless using SSL.
-CLIENT-CERT::
-  The server authenticates the client using a public key certificate.
-  The communication protocol is HTTPS (HTTP over SSL).
-DIGEST::
-  The server authenticates a user based on a user name and a password.
-  Unlike BASIC authentication, the plaintext password is never sent over
-  the network, although a hash of the password combined with other
-  parameters is sent. While Digest Authentication is more secure than
-  Basic Authentication, user names and passwords are not strongly
-  protected, and the use of SSL is still recommended.
-
-[[sthref4]][[jsr-375-authentication-mechanisms-and-identity-stores]]
-
-JSR 375 Authentication Mechanisms and Identity Stores
-+++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The Java EE Security API defines the `HttpAuthenticationMechanism`
-interface, the `IdentityStore` and `IdentityStoreHandler` interfaces.
-
-The `HttpAuthenticationMechanism` interface defines an SPI for writing
-authentication mechanisms that can be provided with an application and
-deployed using CDI. Developers can write their own implementations of
-`HttpAuthenticationMechanism` to support specific authentication token
-types or protocols. There are also several built-in authentication
-mechanisms that perform BASIC, FORM, and Custom FORM authentication.The
-`HttpAuthenticationMechanism` interface defines three methods -
-`validateRequest()`, `secureResponse()`, and `cleanSubject()`. These
-methods align closely with the methods defined by the JASPIC
-`ServerAuth` interface.
-
-The `IdentityStore` interface provides an abstraction of an identity
-store that holds user account information including name, password,
-group membership, and potentially other attributes. Implementations of
-the `IdentityStore` interface are used to validate caller credentials,
-typically username and password, and retrieve and group information.
-There are built-in implementations of this SPI that can validate
-credentials against external LDAP or Database identity stores.
-
-`IdentityStore` is intended primarily for use by
-`HttpAuthenticationMechanism` implementations, but could be used by
-other authentication mechanisms, such as a JASPIC `ServerAuthModule`, or
-a container's built-in authentication mechanisms. Though
-`HttpAuthenticationMechanism` implementations can authenticate users in
-any manner they choose, the `IdentityStore` interface provides a
-convenient mechanism. A significant advantage of using
-`HttpAuthenticationMechanism` and `IdentityStore` over the declarative
-mechanisms defined by the Servlet specification is that it allows an
-application to control the identity stores that it authenticates
-against, in a standard, portable way. You can use the built-in
-implementations of the  plug-in SPIs, or define custom implementations.
-
-[[gknah]][[GSSCG00185]][[jsr-196-server-authentication-modules]]
-
-JSR 196 Server Authentication Modules
-+++++++++++++++++++++++++++++++++++++
-
-GlassFish Server implements the Servlet Container Profile of
-http://www.jcp.org/en/jsr/detail?id=196[JSR 196 Java Authentication
-Service Provider Interface for Containers specification].
-
-JSR 196 defines a standard service-provider interface (SPI) for
-integrating authentication mechanism implementations in message
-processing runtimes. JSR 196 extends the concepts of the Java
-Authentication and Authorization Service (JAAS) to enable pluggability
-of message authentication modules in message processing runtimes. The
-standard defines profiles that establish contracts for the use of the
-SPI in specific contexts.
-
-[[ghltx]][[GSSCG00186]][[passwords]]
-
-Passwords
-+++++++++
-
-Passwords are your first line of defense against unauthorized access to
-the components and data of GlassFish Server. For Information about how
-to use passwords for GlassFish Server, see link:#ghgrp[Administering
-Passwords].
-
-[[gczen]][[GSSCG00042]][[master-password-and-keystores]]
-
-Master Password and Keystores
-
-The master password is not tied to a user account and it is not used for
-authentication. Instead, GlassFish Server uses the master password only
-to encrypt the keystore and truststore for the DAS and instances.
-
-When you create a new GlassFish Server domain, a new self-signed
-certificate is generated and stored in the domain keystore and
-truststore. The DAS needs the master password to open these stores at
-startup. Similarly, the associated server instances need the master
-password to open their copy of these stores at startup.
-
-If you use a utility such as keytool to modify the keystore or
-truststore, you must provide the master password in that case as well.
-
-The master password is a shared password and must be the same for the
-DAS and all instances in the domain in order to manage the instances
-from the DAS. However, because GlassFish Server never transmits the
-master password over the network, it is up to you to keep the master
-password in sync between the DAS and instances.
-
-If you change the master password, you can choose to enter the master
-password manually when required, or save it in a file.
-
-[[gktgy]][[GSSCG00043]][[understanding-master-password-synchronization]]
-
-Understanding Master Password Synchronization
-
-The master password is used encrypt the keystore and truststore for the
-DAS and instances. The DAS needs the master password to open these
-stores at startup. Similarly, the associated server instances need the
-master password to open their copy of these stores at startup.
-
-GlassFish Server keeps the keystore and truststore for the DAS and
-instances in sync, which guarantees that all copies of the stores are
-encrypted with the same master password at any given time.
-
-However, GlassFish Server does not synchronize the master password
-itself, and it is possible that the DAS and instances might attempt to
-use different master passwords.
-
-Consider the following potential scenario:
-
-1.  You create a domain and instances, using the default master password
-(changeit). As a result, the DAS and instances have keystores and
-truststores encrypted using changeit.
-2.  You use the `change-master-password` subcommand on the DAS to change
-the master password to ichangedit. As a result, the DAS and instance
-keystores and truststores are encrypted using ichangedit.
-3.  Access to the keystore and truststore from an instance now requires
-the master password ichangedit. You are responsible for changing the
-master password as needed.
-
-If you do not use a master password file, you assume the responsibility
-for using the `change-master-password` subcommand on the DAS and
-instances to keep the master passwords in sync. Be aware that not using
-a master password file has additional considerations for the
-start-instance and start-cluster subcommands, as described in
-link:#gktgr[Additional Considerations for the `start-instance` and
-`start-cluster` Subcommands].
-
-If you do use a master password file, you assume the responsibility for
-using the `change-master-password` subcommand on the DAS and instances
-to keep the master password file in sync.
-
-[[gktez]][[GSSCG00044]][[using-the-default-master-password]]
-
-Using the Default Master Password
-
-GlassFish Server uses the known phrase "changeit" as the default master
-password. This master password is not stored in a file. The default
-password is a convenience feature and provides no additional security
-because it is assumed to be widely known.
-
-All GlassFish Server subcommands work as expected with the default
-master password and there are no synchronization issues.
-
-[[gktfy]][[GSSCG00045]][[saving-the-master-password-to-a-file]]
-
-Saving the Master Password to a File
-
-The `change-master-password` `--savemasterpassword` option indicates
-whether the master password should be written to the file system in the
-`master-password` file for the DAS or a node. The default is false.
-
-For a domain, the master password is kept in
-domain-dir`/master-password`.
-
-For a node, the master-password file is kept in
-`nodes/`node-name`/agent/master-password`. You can set a master password
-at the node level and all instances created on that node will use that
-master-password file. To do this, use the `--nodedir` option and provide
-a node name.
-
-You might want to save the master password to the file so that the
-`start-domain` subcommand can start the server without having to prompt
-the user. There are additional considerations for using a master
-password with the `start-instance` and `start-cluster` subcommands, as
-described in link:#gktgr[Additional Considerations for the
-`start-instance` and `start-cluster` Subcommands].
-
-The master-password file is encoded, not encrypted. You must use
-filesystem permissions to protect the file.
-
-[[gkthb]][[GSSCG00046]][[using-the-master-password-when-creating-a-domain]]
-
-Using the Master Password When Creating a Domain
-
-The `create-domain` `--usemasterpassword` option specifies whether the
-keystore is encrypted with a master password that is built into the
-system, or by a user-defined master password.
-
-* If false (default), the keystore is encrypted with a well-known
-password (changeit) that is built into GlassFish Server.
-* If true, the subcommand obtains the master password from the
-`AS_ADMIN_MASTERPASSWORD` entry in the password file you specified in
-the `--passwordfile` option of the `asadmin` utility. Or, if none is
-defined, `--usemasterpassword` prompts the user for the master password.
-
-[[ghgof]][[GSSCG00047]][[administration-password]]
-
-Administration Password
-
-An administration password, also known as the admin password, is used to
-invoke the Administration Console and the `asadmin` utility. As with the
-default admin username, the default admin password is usually set during
-installation but it can be changed. For instructions, see link:#ghgpu[To
-Change an Administration Password].
-
-[[ablnq]][[GSSCG00048]][[encoded-passwords]]
-
-Encoded Passwords
-
-Files that contain encoded passwords need to be protected using file
-system permissions. These files include the following:
-
-* domain-dir`/master-password` +
-This file contains the encoded master password and should be protected
-with file system permissions 600.
-* Any password file created to pass as an argument by using the
-`--passwordfile` argument to the `asadmin` utility should be protected
-with file system permissions. Additionally, any password file being used
-for a transient purpose, such as setting up SSH among nodes, should be
-deleted after it has served its purpose.
-
-For instructions, see link:#ghytn[To Set a Password From a File].
-
-[[gkaol]][[GSSCG00049]][[web-browsers-and-password-storage]]
-
-Web Browsers and Password Storage
-
-Most web browsers can save login credentials entered through HTML forms.
-This function can be configured by the user and also by applications
-that employ user credentials. If the function is enabled, then
-credentials entered by the user are stored on their local computer and
-retrieved by the browser on future visits to the same application. This
-function is convenient for users, but can also be a security risk. The
-stored credentials can be captured by an attacker who gains access to
-the computer, either locally or through some remote compromise. Further,
-methods have existed whereby a malicious web site can retrieve the
-stored credentials for other applications, by exploiting browser
-vulnerabilities or through application-level cross-domain attacks.
-
-To prevent your web browser from saving login credentials for the
-GlassFish Server Administration Console, choose "No" or "Never for this
-page" when prompted by the browser during login.
-
-[[ghgoj]][[GSSCG00187]][[password-aliases]]
-
-Password Aliases
-++++++++++++++++
-
-To avoid storing passwords in the domain configuration file in clear
-text, you can create an alias for a password. This process is also known
-as encrypting a password. For more information, see
-link:#ghgqc[Administering Password Aliases].
-
-[[ghlus]][[GSSCG00188]][[single-sign-on]]
-
-Single Sign-on
-++++++++++++++
-
-With single sign-on, a user who logs in to one application becomes
-implicitly logged in to other applications that require the same
-authentication information. Single sign-on is based on groups. Single
-sign-on applies to web applications configured for the same realm and
-virtual server. The realm is defined by the `realm-name` element in the
-`web.xml` file.
-
-On GlassFish Server, single sign-on behavior can be inherited from the
-HTTP Service, enabled, or disabled. By default, it is inherited from the
-HTTP Service. If enabled, single sign-on is enabled for web applications
-on this virtual server that are configured for the same realm. If
-disabled, single sign-on is disabled for this virtual server, and users
-must authenticate separately to every application on the virtual server.
-
-[[ghlvu]][[GSSCG00204]][[authorization]]
-
-Authorization
-^^^^^^^^^^^^^
-
-Authorization, also known as access control, is the means by which users
-are granted permission to access data or perform operations. After a
-user is authenticated, the user's level of authorization determines what
-operations the owner can perform. A user's authorization is based on the
-user's role.
-
-[[abloh]][[GSSCG00189]][[roles]]
-
-Roles
-+++++
-
-A role defines which applications and what parts of each application
-users can access and what those users or groups can do with the
-applications. For example, in a personnel application, all employees
-might be able to see phone numbers and email addresses, but only
-managers have access to salary information. This application would
-define at least two roles: `employee` and `manager`. Only users in the
-`manager` role are allowed to view salary information.
-
-A role is different from a group in that a role defines a function in an
-application, while a group is a set of users who are related in some
-way. For example, the personnel application specify groups such as
-`full-time`, `part-time`, and `on-leave`. Users in these groups are all
-employees (the `employee` role). In addition, each user has its own
-designation that defines an additional level of employment.
-
-Roles are defined in the deployment descriptor for the application. The
-application developer or deployer maps roles to one or more groups in
-the deployment descriptor for each application. When the application is
-being packaged and deployed, the application specifies mappings between
-users, groups, and roles, as illustrated in link:#fxjfw[Figure 1-1].
-
-
-[NOTE]
-=======================================================================
-
-By default, group principal names are mapped to roles of the same name.
-Therefore, the Default Principal To Role Mapping setting is enabled by
-default on the Security page of the GlassFish Server Administration
-Console. With this setting enabled, if the group name defined on
-GlassFish Server matches the role name defined in the application, there
-is no need to use the runtime deployment descriptor to provide a
-mapping. The application server will implicitly make this mapping, as
-long as the names of the groups and roles match.
-
-=======================================================================
-
-
-[[GSSCG00001]][[fxjfw]]
-
-
-.*Figure 1-1 Role Mapping*
-image:img/securityrolemapping.png[
-"Figure shows how users are assigned to groups, how users and groups are
-assigned to roles, and how applications use groups and roles."]
-
-
-[[ghsqd]][[GSSCG00190]][[java-authorization-contract-for-containers]]
-
-Java Authorization Contract for Containers
-++++++++++++++++++++++++++++++++++++++++++
-
-Java Authorization Contract for Containers (JACC) is the part of the
-Java EE specification that defines an interface for pluggable
-authorization providers. This enables you to set up third-party plug-in
-modules to perform authorization. By default, the GlassFish Server
-provides a simple, file-based authorization engine that complies with
-the JACC specification.
-
-This release includes Administration Console support and CLI subcommands
-to create (`create-jacc-provider`), delete (`delete-jacc-provider`), and
-list (`list-jacc-providers`) JACC providers. link:#gkngj[Administering
-JACC Providers] for additional information.
-
-You can also specify additional third-party JACC providers.
-
-[[gkriq]][[GSSCG00191]][[working-with-the-server.policy-policy-file]]
-
-Working With the server.policy Policy File
-++++++++++++++++++++++++++++++++++++++++++
-
-Each GlassFish Server domain has its own global Java SE policy file,
-located in domain-dir`/config`. The file is named `server.policy`.
-
-This section covers the following topics:
-
-* link:#gkrkh[Contents of server.policy]
-* link:#gkrmo[Changing the Default Permissions]
-
-[[gkrkh]][[GSSCG00050]][[contents-of-server.policy]]
-
-Contents of server.policy
-
-A sample server.policy file is as follows. Comments in the file describe
-why various permissions are granted. These permissions are described in
-more detail in the next section.
-
-
-[NOTE]
-=======================================================================
-
-This server.policy file is presented for example purposes only and is
-subject to change.
-
-=======================================================================
-
-
-[source,oac_no_warn]
-----
-// classes in lib get all permissions by default
-grant codeBase "file:${com.sun.aas.installRoot}/lib/-" {
-    permission java.security.AllPermission;
-};
-
-// Core server classes get all permissions by default
-grant codeBase "file:${com.sun.aas.installRoot}/modules/-" {
-    permission java.security.AllPermission;
-};
-
-// Felix classes get all permissions by default
-grant codeBase "file:${com.sun.aas.installRoot}/osgi/felix/bin/-" {
-    permission java.security.AllPermission;
-};
-
-// iMQ classes get all permissions by default
-grant codeBase "file:${com.sun.aas.imqLib}/-" {
-    permission java.security.AllPermission;
-};
-
-// Derby driver classes get all permissions by default
-grant codeBase "file:${com.sun.aas.derbyRoot}/lib/-" {
-    permission java.security.AllPermission;
-}; 
-
-
-// permission for JDK's tools.jar to enable webservice annotation processing
-// at runtime by wsgen tool: 
-//       permission java.lang.RuntimePermission "createClassLoader";
-//
-// permission for JDK's tools.jar to sign JARs at runtime for 
-// Java Web Start support:
-//       permissions java.security.AllPermission;
-// on the advice of the JDK tools folks.  Should be refined later.
-grant codeBase "file:${com.sun.aas.javaRoot}/lib/tools.jar" {
-    permission java.security.AllPermission;
-};
-
-//Loading MBeans from anywhere, to take care of side effects of 6235678.
-grant {
-    permission javax.management.MBeanTrustPermission "register" ;
-};
-//Loading MBeans from anywhere, to take care of side effects of 6235678.
-
-
-// Basic set of required permissions granted to all remaining code
-// The permission FilePermission "<<ALL FILES>>", "read,write"
-// allows all applications to read and write any file in the filesystem.
-// It should be changed based on real deployment needs. If you know your
-// applications just need to read/write a few directories consider removing
-// this permission and adding grants indicating those specific directories.
-// against the codebase of your application(s).
-grant {
-    //Workaround for bugs #6484935, 6513799
-    permission java.lang.RuntimePermission "getProtectionDomain";
-    permission com.sun.corba.ee.impl.presentation.rmi.DynamicAccessPermission "access";
-    permission java.util.PropertyPermission "*", "read,write";
-
-    permission java.lang.RuntimePermission  "loadLibrary.*";
-    permission java.lang.RuntimePermission  "queuePrintJob";
-    permission java.net.SocketPermission    "*", "connect";
-    permission java.io.FilePermission       "<<ALL FILES>>", "read,write";
-
-        // work-around for pointbase bug 4864405      
-        permission java.io.FilePermission 
-          "${com.sun.aas.instanceRoot}${/}lib${/}databases${/}-", 
-           "delete";
-        permission java.io.FilePermission "${java.io.tmpdir}${/}-", "delete";
-
-    permission java.util.PropertyPermission "*", "read";
-
-    permission java.lang.RuntimePermission    "modifyThreadGroup";
-    permission java.lang.RuntimePermission    "getClassLoader";
-    permission java.lang.RuntimePermission    "setContextClassLoader";
-        permission javax.management.MBeanPermission 
-               "[com.sun.messaging.jms.*:*]", "*"; 
-};
-
-
-// Following grant block is only required by Connectors. If Connectors
-// are not in use the recommendation is to remove this grant.
-grant {
-        permission javax.security.auth.PrivateCredentialPermission 
-               "javax.resource.spi.security.PasswordCredential * \"*\"","read";
-};
-
-// Following grant block is only required for Reflection. If Reflection
-// is not in use the recommendation is to remove this section.
-grant {
-    permission java.lang.RuntimePermission "accessDeclaredMembers";
-};
-
-// Permissions to invoke CORBA objects in server
-grant {
-    permission com.sun.enterprise.security.CORBAObjectPermission "*", "*";
-};
-----
-
-[[gkrmo]][[GSSCG00051]][[changing-the-default-permissions]]
-
-Changing the Default Permissions
-
-The GlassFish Server internal server code is granted all permissions.
-These grants are covered by the `AllPermission` grant blocks to various
-parts of the server infrastructure code. Do not modify these entries.
-
-Application permissions are granted in the default grant block. These
-permissions apply to all code not part of the internal server code
-listed previously.
-
-The last section, beginning with the comment "Basic set of required
-permissions..." provides the basic set of permissions granted to all
-remaining code.
-
-Depending on your GlassFish Server implementation, deleting or modifying
-these permissions might be appropriate.
-
-Specifically, the following permission allows all applications to read
-and write all properties and read and write all files on the filesystem.
-
-[source,oac_no_warn]
-----
-permission java.util.PropertyPermission "*", "read,write";
- permission java.io.FilePermission       "<<ALL FILES\>>", "read,write";
-----
-
-While this grant provides optimum flexibility, it is inherently
-unsecure. For enhanced security, change this permission based on your
-real deployment needs.
-
-For example, consider removing this permission and assign default read
-and write permissions only to the application's install directory
-(context-root). (This example uses `com.sun.aas.instanceRoot`, which
-specifies the top level directory for a server instance.)
-
-[source,oac_no_warn]
-----
-grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyApp/-"
-{
-permission java.io.FilePermission "file:${com.sun.aas.instanceRoot}
-/applications/MyApp/-", "read,write";
-}
-----
-
-For any application that needs to read and write additional directories,
-you would then have to explicitly allow such permissions by adding
-specific grants. In general, you should add extra permissions only to
-the applications or modules that require them, not to all applications
-deployed to a domain.
-
-Additional permissions (see the embedded comments in `server.policy`)
-are granted specifically for using connectors and reflection. If
-connectors or reflection are not used in a particular domain, you should
-remove these permissions, because they are otherwise unnecessary.
-
-[[ghlql]][[GSSCG00205]][[auditing]]
-
-Auditing
-^^^^^^^^
-
-Auditing is the means used to capture security-related events for the
-purpose of evaluating the effectiveness of security measures. GlassFish
-Server uses audit modules to capture audit trails of all authentication
-and authorization decisions. GlassFish Server provides a default audit
-module, as well as the ability to plug in custom audit modules. The
-scope of the audit module is the entire server, which means that all the
-applications on the server will use the same audit module.
-
-For administration instructions, see link:#ghgol[Administering Audit
-Modules].
-
-[[ghlti]][[GSSCG00206]][[firewalls]]
-
-Firewalls
-^^^^^^^^^
-
-A firewall controls the flow of data between two or more networks, and
-manages the links between the networks. A firewall can consist of both
-hardware and software elements. The following guidelines pertain
-primarily to GlassFish Server:
-
-* In general, firewalls should be configured so that clients can access
-the necessary TCP/IP ports. +
-For example, if the HTTP listener is operating on port 8080, configure
-the firewall to allow HTTP requests on port 8080 only. Likewise, if
-HTTPS requests are set up for port 8081, you must configure the
-firewalls to allow HTTPS requests on port 8081.
-* If direct Remote Method Invocations over Internet Inter-ORB Protocol
-(RMI-IIOP) access from the Internet to EJB modules is required, open the
-RMI-IIOP listener port as well. +
-
-[NOTE]
-=======================================================================
-
-Opening the RMI-IIOP listener port is strongly discouraged because it
-creates security risks.
-
-=======================================================================
-
-* In double firewall architecture, you must configure the outer firewall
-to allow for HTTP and HTTPS transactions. You must configure the inner
-firewall to allow the HTTP server plug-in to communicate with GlassFish
-Server behind the firewall.
-
-[[abloj]][[GSSCG00207]][[certificates-and-ssl]]
-
-Certificates and SSL
-^^^^^^^^^^^^^^^^^^^^
-
-The following topics are addressed here:
-
-* link:#ablok[Certificates]
-* link:#ablol[Certificate Chains]
-* link:#ablqx[Certificate Files]
-* link:#ablom[Secure Sockets Layer]
-* link:#gksdc[Custom Authentication of Client Certificate in SSL Mutual
-Authentication]
-
-For administration instructions, see link:#ablqz[Administering JSSE
-Certificates].
-
-[[ablok]][[GSSCG00192]][[certificates]]
-
-Certificates
-++++++++++++
-
-Certificates, also called digital certificates, are electronic files
-that uniquely identify people and resources on the Internet.
-Certificates also enable secure, confidential communication between two
-entities. There are different kinds of certificates:
-
-* Personal certificates are used by individuals.
-* Server certificates are used to establish secure sessions between the
-server and clients through secure sockets layer (SSL) technology.
-
-Certificates are based on public key cryptography, which uses pairs of
-digital keys (very long numbers) to encrypt, or encode, information so
-the information can be read only by its intended recipient. The
-recipient then decrypts (decodes) the information to read it. A key pair
-contains a public key and a private key. The owner distributes the
-public key and makes it available to anyone. But the owner never
-distributes the private key, which is always kept secret. Because the
-keys are mathematically related, data encrypted with one key can only be
-decrypted with the other key in the pair.
-
-Certificates are issued by a trusted third party called a Certification
-Authority (CA). The CA is analogous to a passport office: it validates
-the certificate holder's identity and signs the certificate so that it
-cannot be forged or tampered with. After a CA has signed a certificate,
-the holder can present it as proof of identity and to establish
-encrypted, confidential communications. Most importantly, a certificate
-binds the owner's public key to the owner's identity.
-
-In addition to the public key, a certificate typically includes
-information such as the following:
-
-* The name of the holder and other identification, such as the URL of
-the web server using the certificate, or an individual's email address
-* The name of the CA that issued the certificate
-* An expiration date
-
-Certificates are governed by the technical specifications of the X.509
-format. To verify the identity of a user in the `certificate` realm, the
-authentication service verifies an X.509 certificate, using the common
-name field of the X.509 certificate as the principal name.
-
-[[ablol]][[GSSCG00193]][[certificate-chains]]
-
-Certificate Chains
-++++++++++++++++++
-
-A certificate chain is a series of certificates issued by successive CA
-certificates, eventually ending in a root CA certificate.
-
-Web browsers are preconfigured with a set of root CA certificates that
-the browser automatically trusts. Any certificates from elsewhere must
-come with a certificate chain to verify their validity.
-
-When a certificate is first generated, it is a self-signed certificate.
-A self-signed certificate is one for which the issuer (signer) is the
-same as the subject (the entity whose public key is being authenticated
-by the certificate). When the owner sends a certificate signing request
-(CSR) to a CA, then imports the response, the self-signed certificate is
-replaced by a chain of certificates. At the bottom of the chain is the
-certificate (reply) issued by the CA authenticating the subject's public
-key. The next certificate in the chain is one that authenticates the
-CA's public key. Usually, this is a self-signed certificate (that is, a
-certificate from the CA authenticating its own public key) and the last
-certificate in the chain.
-
-In other cases, the CA can return a chain of certificates. In this
-situation, the bottom certificate in the chain is the same (a
-certificate signed by the CA, authenticating the public key of the key
-entry), but the second certificate in the chain is a certificate signed
-by a different CA, authenticating the public key of the CA to which you
-sent the CSR. Then, the next certificate in the chain is a certificate
-authenticating the second CA's key, and so on, until a self-signed root
-certificate is reached. Each certificate in the chain (after the first)
-thus authenticates the public key of the signer of the previous
-certificate in the chain.
-
-[[ablqx]][[GSSCG00194]][[certificate-files]]
-
-Certificate Files
-+++++++++++++++++
-
-During GlassFish Server installation, a certificate is generated in Java
-Secure Socket Extension (JSSE) format suitable for internal testing.
-(The certificate is self-signed.) By default, GlassFish Server stores
-its certificate information in certificate databases in the
-domain-dir`/config` directory:
-
-Keystore file::
-  The `keystore.jks` file contains GlassFish Server certificate,
-  including its private key. The keystore file is protected with a
-  password. +
-  Each keystore entry has a unique alias. After installation, the
-  GlassFish Server keystore has a single entry with an alias of `s1as`.
-Truststore file::
-  The `cacerts.jks` file contains the GlassFish Server trusted
-  certificates, including public keys for other entities. For a trusted
-  certificate, the server has confirmed that the public key in the
-  certificate belongs to the certificate's owner. Trusted certificates
-  generally include those of CAs.
-
-By default, GlassFish Server is configured with a keystore and
-truststore that will work with the example applications and for
-development purposes.
-
-[[ablom]][[GSSCG00195]][[secure-sockets-layer]]
-
-Secure Sockets Layer
-++++++++++++++++++++
-
-Secure Sockets Layer (SSL) is the most popular standard for securing
-Internet communications and transactions. Secure web applications use
-HTTPS (HTTP over SSL). The HTTPS protocol uses certificates to ensure
-confidential and secure communications between server and clients. In an
-SSL connection, both the client and the server encrypt data before
-sending it. Data is decrypted upon receipt.
-
-When a Web browser (client) wants to connect to a secure site, an SSL
-handshake happens, like this:
-
-1.  The browser sends a message over the network requesting a secure
-session (typically, by requesting a URL that begins with `https` instead
-of `http`).
-2.  The server responds by sending its certificate (including its public
-key).
-3.  The browser verifies that the server's certificate is valid and is
-signed by a CA whose certificate is in the browser's database (and who
-is trusted). It also verifies that the CA certificate has not expired.
-4.  If the certificate is valid, the browser generates a one time,
-unique session key and encrypts it with the server's public key. The
-browser then sends the encrypted session key to the server so that they
-both have a copy.
-5.  The server decrypts the message using its private key and recovers
-the session key.
-
-After the handshake, the client has verified the identity of the Web
-site, and only the client and the Web server have a copy of the session
-key. From this point forward, the client and the server use the session
-key to encrypt all their communications with each other. Thus, their
-communications are ensured to be secure.
-
-The newest version of the SSL standard is called Transport Layer
-Security (TLS). The GlassFish Server supports the SSL 3.0 and the TLS
-1.0 encryption protocols.
-
-To use SSL, GlassFish Server must have a certificate for each external
-interface or IP address that accepts secure connections. The HTTPS
-service of most web servers will not run unless a certificate has been
-installed. For instructions on applying SSL to HTTP listeners, see
-"link:../administration-guide/http_https.html#GSADG00469[To Configure an HTTP Listener for SSL]" in GlassFish
-Server Open Source Edition Administration Guide.
-
-[[ablon]][[GSSCG00052]][[ciphers]]
-
-Ciphers
-
-A cipher is a cryptographic algorithm used for encryption or decryption.
-SSL and TLS protocols support a variety of ciphers used to authenticate
-the server and client to each other, transmit certificates, and
-establish session keys.
-
-Some ciphers are stronger and more secure than others. Clients and
-servers can support different cipher suites. During a secure connection,
-the client and the server agree to use the strongest cipher that they
-both have enabled for communication, so it is usually sufficient to
-enable all ciphers.
-
-[[abloo]][[GSSCG00053]][[name-based-virtual-hosts]]
-
-Name-based Virtual Hosts
-
-Using name-based virtual hosts for a secure application can be
-problematic. This is a design limitation of the SSL protocol itself. The
-SSL handshake, where the client browser accepts the server certificate,
-must occur before the HTTP request is accessed. As a result, the request
-information containing the virtual host name cannot be determined prior
-to authentication, and it is therefore not possible to assign multiple
-certificates to a single IP address.
-
-If all virtual hosts on a single IP address need to authenticate against
-the same certificate, the addition of multiple virtual hosts probably
-will not interfere with normal SSL operations on the server. Be aware,
-however, that most browsers will compare the server's domain name
-against the domain name listed in the certificate, if any (applicable
-primarily to official, CA-signed certificates). If the domain names do
-not match, these browsers display a warning. In general, only
-address-based virtual hosts are commonly used with SSL in a production
-environment.
-
-[[gksdc]][[GSSCG00196]][[custom-authentication-of-client-certificate-in-ssl-mutual-authentication]]
-
-Custom Authentication of Client Certificate in SSL Mutual Authentication
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-Release 4.0 of GlassFish Server extends the Certificate realm to allow
-custom authentication and group assignment based on the client
-certificate received as part of SSL mutual (two-way) authentication.
-
-As in previous releases, you can create only one certificate realm.
-However, you can now use a convenient abstract base class to configure a
-JAAS LoginModule for the Certificate realm. Specifically, your
-LoginModule can now extend
-`com.sun.appserv.security.AppservCertificateLoginModule`. When you do
-this, you need to implement only the `authenticateUser` method and call
-the `commitUserAuthentication` method to signify success.
-
-This section describes the following topics:
-
-* link:#gksfl[Understanding the `AppservCertificateLoginModule` Class]
-* link:#gksej[Example AppservCertificateLoginModule Code]
-* link:#gksee[Setting the JAAS Context]
-
-[[gksfl]][[GSSCG00054]][[understanding-the-appservcertificateloginmodule-class]]
-
-Understanding the `AppservCertificateLoginModule` Class
-
-The `AppservCertificateLoginModule` class provides some convenience
-methods for accessing the certificates, the application name and so
-forth, and for adding the group principals to the subject. The
-convenience methods include the following:
-
-`getAppName()`::
-  Returns the name of the application to be authenticated. This may be
-  useful when a single LoginModule has to handle multiple applications
-  that use certificates.
-`getCerts()`::
-  Returns the certificate chain as an array of
-  `java.security.cert.X509Certificate` certificates.
-`getX500Principal()`::
-  Returns the Distinguished principal from the first certificate in the
-  chain.
-`getSubject()`::
-  Returns the subject that is being authenticated.
-`commitUserAuthentication(final String[] groups)`::
-  This method sets the authentication status to success if the groups
-  parameter is non-null. Note that this method is called after the
-  authentication has succeeded. If authentication failed, do not call
-  this method.
-
-
-[NOTE]
-=======================================================================
-
-You do not have to extend the convenience base class, you can extend the
-JAAS LoginModule `javax.security.auth.spi.LoginModule` instead if you so
-choose.
-
-=======================================================================
-
-
-[[gksej]][[GSSCG00055]][[example-appservcertificateloginmodule-code]]
-
-Example AppservCertificateLoginModule Code
-
-link:#gksel[Example 1-1] shows a sample instance of the
-AppservCertificateLoginModule class.
-
-Take note of the following points from the example:
-
-* The `getX500Principal()` method returns the subject (subject
-distinguished name) value from the first certificate in the client
-certificate chain as an `X500Principal`.
-* From that `X500Principal`, the `getName()` method then returns a
-string representation of the X.500 distinguished name using the format
-defined in RFC 2253.
-* The example uses the `getAppName()` method to determine the
-application name. It also determines the organizational unit (`OU`) from
-the distinguished name.
-* The example concatenates the application name with the value of `OU`,
-and uses it as the group name in the `commitUserAuthentication` method.
-
-[[GSSCG00060]][[gksel]]
-
-
-Example 1-1 Sample AppservCertificateLoginModule Code
-
-[source,oac_no_warn]
-----
-/**
- *
- * @author nasradu8
- */
-public class CertificateLM extends AppservCertificateLoginModule {
-
-    @Override
-    protected void authenticateUser() throws LoginException {
-        // Get the distinguished name from the X500Principal.
-        String dname = getX500Principal().getName();
-        StringTokenizer st = new StringTokenizer(dname, "B \t\n\r\f,");
-        while (st.hasMoreTokens()) {
-            String next = st.nextToken();
-            // Set the appname:OU as the group.
-            // At this point, one has the application name and the DN of
-            // the certificate. A suitable login decision can be made here.
-            if (next.startsWith("OU=")) {
-            commitUserAuthentication(new String[]{getAppName() 
-+ ":" + next.substring(3)});
-                return;
-            }
-        }
-        throw new LoginException("No OU found.");
-    }
-}
-----
-
-[[gksee]][[GSSCG00056]][[setting-the-jaas-context]]
-
-Setting the JAAS Context
-
-After you create your LoginModule, you must plug it in to a
-jaas-context, which you then specify as a parameter to the certificate
-realm in GlassFish Server.
-
-To do this, perform the following steps:
-
-1.  Specify a new jaas-context for the Certificate realm in the file
-domain-dir`/config/login.conf`. For example, using the `CertificateLM`
-class from link:#gksej[Example AppservCertificateLoginModule Code]: +
-[source,oac_no_warn]
-----
-certRealm {
-    com.sun.blogs.certificate.login.CertificateLM required;
-};
-----
-2.  Specify this jaas-context as a parameter to the `set` subcommand in
-the
-`configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=`<jaas-context-name>
-property. For example: +
-`asadmin>`
-`set configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=certRealm` +
-`configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=certRealm` +
-`Command set executed successfully.`
-3.  Optionally, get the value you just set to make sure that it is
-correct. +
-`asadmin>`
-`get configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context` +
-`configs.config.server-config.security-service.auth-realm.certificate.property.jaas-context=certRealm` +
-`Command get executed successfully.`
-
-[[ablno]][[GSSCG00208]][[tools-for-managing-system-security]]
-
-Tools for Managing System Security
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server provides the following tools for managing system
-security:
-
-Administration Console::
-  The Administration Console is a browser-based utility used to
-  configure security for the entire server. Tasks include managing
-  certificates, users, groups, and realms, and performing other
-  system-wide security tasks. For a general introduction to the
-  Administration Console, see "link:../administration-guide/overview.html#GSADG00698[Administration Console]"
-  in GlassFish Server Open Source Edition Administration Guide.
-The `asadmin` utility::
-  The `asadmin` command-line utility performs many of the same tasks as
-  the Administration Console. You might be able to do some things with
-  the `asadmin` utility that you cannot do with the Administration
-  Console. For a general introduction to `asadmin`, see
-  "link:../administration-guide/overview.html#GSADG00699[asadmin Utility]" in GlassFish Server Open Source
-  Edition Administration Guide.
-The `keytool` utility::
-  The `keytool` Java Platform, Standard Edition (Java SE) command-line
-  utility is used for managing digital certificates and key pairs. For
-  more information, see link:#ablqz[Administering JSSE Certificates].
-The `policytool` utility::
-  The `policytool` Java SE graphical utility is used for managing
-  system-wide Java security policies. As an administrator, you rarely
-  use `policytool`.
-
-[[ghgrp]][[GSSCG00144]][[administering-passwords]]
-
-Administering Passwords
-~~~~~~~~~~~~~~~~~~~~~~~
-
-There are multiple ways to administer passwords. You can rely on
-administrators to keep passwords secret and change the passwords
-regularly. You can set up files for storing passwords so that `asadmin`
-subcommands can access these files rather than having users type the
-commands. You can encrypt passwords by setting up aliases so that
-sensitive passwords are not visible in the `domain.xml` file.
-
-The following topics are addressed here:
-
-* link:#giudi[To Change the Master Password]
-* link:#gktgr[Additional Considerations for the `start-instance` and
-`start-cluster` Subcommands]
-* link:#gktey[Using `start-instance` and `start-cluster` With a Password
-File]
-* link:#ghgpu[To Change an Administration Password]
-* link:#ghytn[To Set a Password From a File]
-* link:#ghgqc[Administering Password Aliases]
-
-[[giudi]][[GSSCG00093]][[to-change-the-master-password]]
-
-To Change the Master Password
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The master password gives access to the keystore used with the domain.
-This password is not tied to a UNIX user. You should treat this overall
-shared password as sensitive data. GlassFish Server never uses it for
-authentication and never transmits it over the network.
-
-You can choose to type the password manually when required, or to
-obscure the password in a password file. If there is no password file,
-you are prompted for the master password. If there is a password file,
-but you want to change access to require prompting, remove the file. The
-default master password is `changeit`.
-
-When changing the master password, it has to be changed on all nodes as
-well as on the DAS. The master password on nodes is only stored once in
-the node, for all instances that are on that node.
-
-Use the `change-master-password` subcommand in local mode to modify the
-master password.
-
-
-[NOTE]
-=======================================================================
-
-If you change the master password and are not using a master password
-file, the `start-instance` and `start-cluster` subcommands are not able
-to determine the master password. In this case, you must start those
-instances locally by using start-local-instance.
-
-=======================================================================
-
-
-When the master password is saved, it is saved in the `master-password`
-file.
-
-[[sthref6]]
-
-Before You Begin
-
-This subcommand will not work unless the domain is stopped.
-
-1.  Stop the domain whose password you are changing. +
-See "link:../administration-guide/domains.html#GSADG00336[To Stop a Domain]" in GlassFish Server Open Source
-Edition Administration Guide.
-2.  Change the master password for the domain by using the
-link:../reference-manual/change-master-password.html#GSRFM00006[`change-master-password`] subcommand. +
-You are prompted for the old and new passwords. All dependent items are
-re-encrypted.
-3.  Start the domain. +
-See "link:../administration-guide/domains.html#GSADG00335[To Start a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[GSSCG00061]][[givil]]
-
-
-Example 1-2 Changing the Master Password
-
-The `change-master-password` subcommand is interactive in that you are
-prompted for the old master password as well as the new master password.
-This example changes the master password for `domain44ps`:
-
-[source,oac_no_warn]
-----
-asadmin> change-master-password domain44ps
-----
-
-If you have already logged into the domain using the
-link:../reference-manual/login.html#GSRFM00210[`login`] subcommand, you are prompted for the new
-master password:
-
-[source,oac_no_warn]
-----
-Please enter the new master password>
-Please enter the new master password again>
-----
-
-If you are not logged into the domain, you are prompted for both the old
-and the new master passwords:
-
-[source,oac_no_warn]
-----
-Please enter the master password>
-Please enter the new master password>
-Please enter the new master password again>
-----
-
-Information similar to the following is displayed:
-
-[source,oac_no_warn]
-----
-Master password changed for domain44ps
-----
-
-[[sthref7]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin --help change-master-password` at the command line.
-
-[[gktgr]][[GSSCG00209]][[additional-considerations-for-the-start-instance-and-start-cluster-subcommands]]
-
-Additional Considerations for the `start-instance` and `start-cluster`
-Subcommands
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you change the master password for DAS, the `start-domain` and
-`start-local-instance` subcommands allow you to provide it during domain
-or instance startup in one of three ways:
-
-* Via the master-password file
-* By entering it interactively
-* Via the `asadmin` `passwordfile`
-
-The `start-instance` and `start-cluster` subcommands are more
-problematic. If you create a domain with a master password other than
-the default, an associated remote instance or cluster must have access
-to the master password in order to start. However, for security reasons
-GlassFish Server never transmits the master password or the master
-password file over the network.
-
-Consider the following scenario:
-
-1.  Change the master password on the DAS and save it with
-`--savemasterpassword`.
-2.  Create an instance on another host using the subcommand
-`create-instance`. GlassFish Server copies the keystore and truststore
-from the DAS to the instance, but it does not copy the master password
-file.
-3.  Try to start the instance using the `start-instance` subcommand. An
-error results.
-
-The `start-instance` command is looking for the file master-password in
-the node directory on the instance machine, and it is not there by
-default. Therefore, the subcommand fails.
-
-You can use the `change-master-password` subcommand to make sure the
-correct password is used in this password file, as described in
-link:#gktey[Using `start-instance` and `start-cluster` With a Password
-File].
-
-
-[NOTE]
-=======================================================================
-
-The `start-instance` and `start-cluster` subcommands do not include any
-other way for you to provide the password. If you change the master
-password and are not using a master password file, the `start-instance`
-and `start-cluster` subcommands are not able to determine the master
-password. In this case, you must start the instances locally by using
-`start-local-instance`.
-
-=======================================================================
-
-
-[[gktey]][[GSSCG00094]][[using-start-instance-and-start-cluster-with-a-password-file]]
-
-Using `start-instance` and `start-cluster` With a Password File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Assume that you have changed the master password on the DAS and you want
-to make the same change for all instances.
-
-The `start-instance` and`start-cluster` subcommands automatically use
-the master password file if it exists in the instance filesystem. You
-can use the `change-master-password` subcommand to make sure the
-password file exists and that the correct password is used.
-
-1.  From the DAS, create a domain and set the master password. +
-`asadmin>` `create-domain --savemasterpassword true` domain-name
-2.  Start the domain. +
-`asadmin>``start-domain` domain-name
-3.  Create a node that is enabled for communication over secure shell
-(SSH). +
-`asadmin>` `create-node-ssh --nodehost` host-name --installdir/some-dir
-node-name
-4.  Create an instance on the node. +
-`asadmin>` `create-instance --node` node-name instance-name
-5.  Before you start the instance, on the instance machine run
-`change-master-password` with the `---savemasterpassword` option to
-create a file called `master-password` in the agents directory to access
-the keystores. (The `start-instance` subcommand is looking for a file
-called `master-password` in the agents directory to access the stores.) +
-`asadmin>` `change-master-password --savemasterpassword true --nodedir`
-/some-dir node-name +
-You are prompted to enter the current and new master password: +
-`Enter the current master password>` +
-`Enter the new master password>` +
-`Enter the new master password again>` +
-`Command change-master-password executed successfully.` +
-Remember that when you created the domain you specified a new master
-password. This master password was then used to encrypt the keystore and
-truststore for the DAS, and these stores were copied to the instance as
-a result of the `create-instance` subcommand. +
-Therefore, enter the master password you set when you created the domain
-as both the current master password and again as the new master
-password. You enter it as the new master password because you do not
-want to change the master password for the instance and make it out of
-sync with the DAS.
-6.  Run start-instance from the DAS. +
-`asadmin>` `start-instance` instance-name +
-The master password file is associated with the node and not with an
-instance. After the master password file exists in the node directory on
-the instance machine, additional instances can be created, started and
-stopped from the DAS.
-
-[[ghgpu]][[GSSCG00095]][[to-change-an-administration-password]]
-
-To Change an Administration Password
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `change-admin-password` subcommand in remote mode to change an
-administration password. The default administration user is `admin`. You
-are prompted for the old and new admin passwords, with confirmation. The
-passwords are not echoed to the display.
-
-
-[NOTE]
-=======================================================================
-
-For the zip bundle of GlassFish Server 5.0, the default administrator
-login is `admin`, with no password, which means that no login is
-required. For Oracle GlassFish Server, you are prompted to provide a
-password for the `admin` user when you start the domain for the first
-time.
-
-=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-If there is a single user called `admin` that does not have a password,
-you are not prompted for login information. Any other situation requires
-login.
-
-=======================================================================
-
-
-
-[NOTE]
-=======================================================================
-
-If secure administration is enabled as described in
-link:administrative-security.html#gkomz[Running Secure Admin], you cannot
-change an administration password to a blank value.
-
-=======================================================================
-
-
-Encrypting the admin password is strongly encouraged.
-
-1.  Change the admin password by using the
-link:../reference-manual/change-admin-password.html#GSRFM00004[`change-admin-password`] subcommand.
-2.  Enter the old and new admin passwords when prompted.
-3.  Restart GlassFish Server. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[GSSCG00062]][[ghlac]]
-
-
-Example 1-3 Changing the Admin Password
-
-This example changes the admin password for user anonymous from
-`adminadmin` to `newadmin`:
-
-[source,oac_no_warn]
-----
-asadmin> change-admin-password --username anonymous
-----
-
-You are prompted to enter the old and the new admin passwords:
-
-[source,oac_no_warn]
-----
-Enter admin password>adminadmin
-Enter new admin password>newadmin
-Enter new admin password again>newadmin
-----
-
-Information similar to the following is displayed:
-
-[source,oac_no_warn]
-----
-Command change-admin-password executed successfully.
-----
-
-[[sthref8]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help change-admin-password` at the command line.
-
-[[ghytn]][[GSSCG00096]][[to-set-a-password-from-a-file]]
-
-To Set a Password From a File
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Instead of typing the password at the command line, you can access the
-password for a command from a file such as `passwords.txt`. The
-`--passwordfile` option of the `asadmin` utility takes the name of the
-file that contains the passwords. The entry for a password in the file
-must have the `AS_ADMIN_` prefix followed by the password name in
-uppercase letters.
-
-
-[NOTE]
-=======================================================================
-
-Any password file created to pass as an argument by using the
-`--passwordfile` argument to the `asadmin` utility should be protected
-with file system permissions. Additionally, any password file being used
-for a transient purpose, such as setting up SSH among nodes, should be
-deleted after it has served its purpose.
-
-=======================================================================
-
-
-For a list of the types of passwords that can be specified, see the
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page.
-
-[source,oac_no_warn]
-----
-AS_ADMIN_MASTERPASSWORD
-AS_ADMIN_USERPASSWORD
-AS_ADMIN_ALIASPASSWORD
-----
-
-1.  Edit the password file. +
-For example, to specify the password for the domain administration
-server (DAS), add an entry similar to the following to the password
-file, where `adminadmin` is the administrator password: +
-[source,oac_no_warn]
-----
-AS_ADMIN_PASSWORD=adminadmin 
-----
-2.  Save the password file. +
-You can now specify the password file in an `asadmin` subcommand. In
-this example, `passwords.txt` is the file that contains the password: +
-[source,oac_no_warn]
-----
-asadmin>delete-jdbc-resource --user admin --passwordfile passwords.txt jdbc/DerbyPool
-----
-
-[[sthref9]]
-
-Troubleshooting
-
-If `AS_ADMIN_PASSWORD` has been exported to the global environment,
-specifying the `--passwordfile` option will produce a warning about
-using the `--passwordfile` option. To prevent this warning situation
-from happening, unset `AS_ADMIN_PASSWORD`.
-
-[[ghgqc]][[GSSCG00210]][[administering-password-aliases]]
-
-Administering Password Aliases
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A password alias is used to indirectly access a password so that the
-password itself does not appear in cleartext in the domain's
-`domain.xml` configuration file.
-
-Storing passwords in cleartext format in system configuration files is
-common in many open source projects. In addition to GlassFish Server,
-Apache Tomcat, Maven, and Subversion, among others, store and pass
-passwords in cleartext format. However, storing and passing passwords in
-cleartext can be a security risk, and may violate some corporate
-security policies. In such cases, you can use password aliases.
-
-The following topics are addressed here:
-
-* link:#ghgrf[To Create a Password Alias]
-* link:#ghgsr[To List Password Aliases]
-* link:#ghgnv[To Delete a Password Alias]
-* link:#giobz[To Update a Password Alias]
-
-[[ghgrf]][[GSSCG00097]][[to-create-a-password-alias]]
-
-To Create a Password Alias
-++++++++++++++++++++++++++
-
-Use the `create-password-alias` subcommand in remote mode to create an
-alias for a password in the domain's keystore. The password
-corresponding to the alias name is stored in an encrypted form in the
-domain configuration file. The `create-password-alias` subcommand takes
-both a secure interactive form, in which users are prompted for all
-information, and a more script-friendly form, in which the password is
-propagated on the command line.
-
-You can also use the link:../reference-manual/set.html#GSRFM00226[`set`] subcommand to remove and
-replace the password in the configuration file. For example:
-
-[source,oac_no_warn]
-----
-asadmin set --user admin server.jms-service.jms-host.default_JMS_host.
-admin-password='${ALIAS=jms-password}'
-----
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Go to the directory where the configuration file resides. +
-By default, the configuration file is located in domain-dir`/config`.
-3.  Create the password alias by using the
-link:../reference-manual/create-password-alias.html#GSRFM00049[`create-password-alias`] subcommand.
-4.  Type the password for the alias when prompted.
-5.  Add the alias to a password file. +
-For example, assume the use of a password file such as `passwords.txt`.
-Assume further that you want to add an alias for the
-`AS_ADMIN_USERPASSWORD` entry that is read by the
-link:../reference-manual/create-file-user.html#GSRFM00024[`create-file-user`] subcommand. You would add the
-following line to the password file:
-`AS_ADMIN_USERPASSWORD=${ALIAS=`user-password-alias}, where
-user-password-alias is the new password alias.
-6.  To continue the example of the previous step, you would then run the
-link:../reference-manual/create-file-user.html#GSRFM00024[`create-file-user`] subcommand. +
-You could use this method to create several users (user1, user2, and so
-forth), all with the same password. +
-`asadmin>` `--passwordfile``passwords.txt create-file-user` user1
-
-[[GSSCG00063]][[ginvi]]
-
-
-Example 1-4 Creating a Password Alias
-
-This example creates the new `jms-password` alias for the `admin` user:
-
-[source,oac_no_warn]
-----
-asadmin> create-password-alias --user admin jms-password
-----
-
-You are prompted to type the password for the alias:
-
-[source,oac_no_warn]
-----
-Please enter the alias password>secret-password
-Please enter the alias password again>secret-password
-Command create-password-alias executed successfully.
-----
-
-[[sthref10]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-password-alias` at the command line.
-
-[[ghgsr]][[GSSCG00098]][[to-list-password-aliases]]
-
-To List Password Aliases
-++++++++++++++++++++++++
-
-Use the `list-password-aliases` subcommand in remote mode to list
-existing the password aliases.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List password aliases by using the
-link:../reference-manual/list-password-aliases.html#GSRFM00190[`list-password-aliases`] subcommand.
-
-[[GSSCG00064]][[ginsk]]
-
-
-Example 1-5 Listing Password Aliases
-
-This example lists the existing password aliases:
-
-[source,oac_no_warn]
-----
-asadmin> list-password aliases
-jmspassword-alias
-Command list-password-aliases executed successfully
-----
-
-[[sthref11]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-password-aliases` at the command line.
-
-[[ghgnv]][[GSSCG00099]][[to-delete-a-password-alias]]
-
-To Delete a Password Alias
-++++++++++++++++++++++++++
-
-Use the `delete-password-alias` subcommand in remote mode to delete an
-existing password alias.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List all aliases by using the
-link:../reference-manual/list-password-aliases.html#GSRFM00190[`list-password-aliases`] subcommand.
-3.  Delete a password alias by using the
-link:../reference-manual/list-password-aliases.html#GSRFM00190[`list-password-aliases`] subcommand.
-
-[[GSSCG00065]][[ginul]]
-
-
-Example 1-6 Deleting a Password Alias
-
-This example deletes the password alias `jmspassword-alias`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-password-alias jmspassword-alias
-Command list-password-aliases executed successfully
-----
-
-[[sthref12]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-password-alias` at the command line.
-
-[[giobz]][[GSSCG00100]][[to-update-a-password-alias]]
-
-To Update a Password Alias
-++++++++++++++++++++++++++
-
-Use the `update-password-alias` subcommand in remote mode to change the
-password for an existing password alias. The `update-password-alias`
-subcommand takes both a secure interactive form, in which the user is
-prompted for all information, and a more script-friendly form, in which
-the password is propagated on the command line.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Update an alias by using the
-link:../reference-manual/update-password-alias.html#GSRFM00257[`update-password-alias`] subcommand.
-3.  Type the password when prompted.
-
-[[GSSCG00066]][[giodl]]
-
-
-Example 1-7 Updating a Password Alias
-
-This example updates the password for the `jmspassword-alias` alias:
-
-[source,oac_no_warn]
-----
-asadmin> update-password-alias jsmpassword-alias
-----
-
-You are prompted to type the new password for the alias:
-
-[source,oac_no_warn]
-----
-Please enter the alias password>new-secret-password
-Please enter the alias password again>new-secret-password
-Command update-password-alias executed successfully
-----
-
-[[sthref13]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help update-password-alias` at the command line.
-
-[[ghgol]][[GSSCG00146]][[administering-audit-modules]]
-
-Administering Audit Modules
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#ghgra[To Create an Audit Module]
-* link:#ghgsm[To List Audit Modules]
-* link:#ghgpo[To Delete an Audit Module]
-
-[[ghgra]][[GSSCG00101]][[to-create-an-audit-module]]
-
-To Create an Audit Module
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-audit-module` subcommand in remote mode to create an
-audit module for the add-on component that implements the audit
-capabilities.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create an audit module by using the
-link:../reference-manual/create-audit-module.html#GSRFM00014[`create-audit-module`] subcommand. +
-Information about properties for this subcommand is included in this
-help page.
-
-[[GSSCG00067]][[ghjlw]]
-
-
-Example 1-8 Creating an Audit Module
-
-This example creates an audit module named `sampleAuditModule`:
-
-[source,oac_no_warn]
-----
-asadmin> create-audit-module 
---classname com.sun.appserv.auditmodule --property defaultuser=
-admin:Password=admin sampleAuditModule
-Command create-audit-module executed successfully.
-----
-
-[[sthref14]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-audit-module` at the command line.
-
-[[ghgsm]][[GSSCG00102]][[to-list-audit-modules]]
-
-To List Audit Modules
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-audit-modules` subcommand in remote mode to list the audit
-modules on one of the following targets:
-
-* Server instance, `server` (the default)
-* Specified server instance
-* Specified configuration
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the audit modules by using the
-link:../reference-manual/list-audit-modules.html#GSRFM00149[`list-audit-modules`] subcommand.
-
-[[GSSCG00068]][[ghjmy]]
-
-
-Example 1-9 Listing Audit Modules
-
-This example lists the audit modules on `localhost`:
-
-[source,oac_no_warn]
-----
-asadmin> list-audit-modules
-audit-module : default
-audit-module : sampleAuditModule
-Command list-audit-modules executed successfully.
-----
-
-[[sthref15]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-audit-modules` at the command line.
-
-[[ghgpo]][[GSSCG00104]][[to-delete-an-audit-module]]
-
-To Delete an Audit Module
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-audit-module` subcommand in remote mode to delete an
-existing audit module.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List the audit modules by using the
-link:../reference-manual/list-audit-modules.html#GSRFM00149[`list-audit-modules`] subcommand.
-3.  Delete an audit module by using the
-link:../reference-manual/delete-audit-module.html#GSRFM00065[`delete-audit-module`] subcommand.
-
-[[GSSCG00070]][[ghjhm]]
-
-
-Example 1-10 Deleting an Audit Module
-
-This example deletes `sampleAuditModule`:
-
-[source,oac_no_warn]
-----
-asadmin> delete-audit-module sampleAuditModule
-Command delete-audit-module executed successfully.
-----
-
-[[ablqz]][[GSSCG00147]][[administering-jsse-certificates]]
-
-Administering JSSE Certificates
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In the developer profile, the GlassFish Server 5.0 uses the JSSE format
-on the server side to manage certificates and key stores. In all
-profiles, the client side (appclient or stand-alone) uses the JSSE
-format.
-
-The Java SE SDK ships with the `keytool` utility, which enables you to
-set up and work with Java Secure Socket Extension (JSSE) digital
-certificates. You can administer public/private key pairs and associated
-certificates, and cache the public keys (in the form of certificates) of
-their communicating peers.
-
-The following topics are addressed here:
-
-* link:#ghlgv[To Generate a Certificate by Using `keytool`]
-* link:#ghlgj[To Sign a Certificate by Using `keytool`]
-* link:#ghleq[To Delete a Certificate by Using `keytool`]
-
-[[ghlgv]][[GSSCG00105]][[to-generate-a-certificate-by-using-keytool]]
-
-To Generate a Certificate by Using `keytool`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, the `keytool` utility creates a keystore file in the
-directory where the utility is run.
-
-[[sthref16]]
-
-Before You Begin
-
-To run the `keytool` utility, your shell environment must be configured
-so that the Java SE `/bin` directory is in the path, otherwise the full
-path to the utility must be present on the command line.
-
-1.  Change to the directory that contains the keystore and truststore
-files. +
-Always generate the certificate in the directory containing the keystore
-and truststore files. The default is domain-dir`/config`.
-2.  Generate the certificate in the keystore file, `keystore.jks`, using
-the following command format: +
-[source,oac_no_warn]
-----
-keytool -genkey -alias keyAlias-keyalg RSA
- -keypass changeit
- -storepass changeit
-keystore keystore.jks
-----
-Use any unique name as your keyAlias. If you have changed the keystore
-or private key password from the default (`changeit`), substitute the
-new password for `changeit`. The default key password alias is `s1as`. +
-A prompt appears that asks for your name, organization, and other
-information.
-3.  Export the generated certificate to the `server.cer` file (or
-`client.cer` if you prefer), using the following command format: +
-[source,oac_no_warn]
-----
-keytool -export -alias keyAlias-storepass changeit
- -file server.cer
- -keystore keystore.jks
-----
-4.  If a certificate signed by a certificate authority is required, see
-link:#ghlgj[To Sign a Certificate by Using `keytool`].
-5.  Create the `cacerts.jks` truststore file and add the certificate to
-the truststore, using the following command format: +
-[source,oac_no_warn]
-----
-keytool -import -v -trustcacerts
--alias keyAlias
- -file server.cer
--keystore cacerts.jks
- -keypass changeit
-----
-If you have changed the keystore or private key password from the
-default (`changeit`), substitute the new password. +
-Information about the certificate is displayed and a prompt appears
-asking if you want to trust the certificate.
-6.  Type `yes`, then press Enter. +
-Information similar to the following is displayed: +
-[source,oac_no_warn]
-----
-Certificate was added to keystore
-[Saving cacerts.jks]
-----
-7.  To apply your changes, restart GlassFish Server. See
-"link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open Source
-Edition Administration Guide.
-
-[[GSSCG00071]][[ghlii]]
-
-
-Example 1-11 Creating a Self-Signed Certificate in a JKS Keystore by
-Using an RSA Key Algorithm
-
-RSA is public-key encryption technology developed by RSA Data Security,
-Inc.
-
-[source,oac_no_warn]
-----
-keytool -genkey -noprompt -trustcacerts -keyalg RSA -alias ${cert.alias} 
--dname ${dn.name} -keypass ${key.pass} -keystore ${keystore.file} 
--storepass ${keystore.pass}
-----
-
-[[GSSCG00072]][[ghlew]]
-
-
-Example 1-12 Creating a Self-Signed Certificate in a JKS Keystore by
-Using a Default Key Algorithm
-
-[source,oac_no_warn]
-----
-keytool -genkey -noprompt -trustcacerts -alias ${cert.alias} -dname 
-${dn.name} -keypass ${key.pass} -keystore ${keystore.file} -storepass 
-${keystore.pass}
-----
-
-[[GSSCG00073]][[ghldw]]
-
-
-Example 1-13 Displaying Available Certificates From a JKS Keystore
-
-[source,oac_no_warn]
-----
-keytool -list -v -keystore ${keystore.file} -storepass ${keystore.pass}
-----
-
-[[GSSCG00074]][[ghlfd]]
-
-
-Example 1-14 Displaying Certificate information From a JKS Keystore
-
-[source,oac_no_warn]
-----
-keytool -list -v -alias ${cert.alias} -keystore ${keystore.file} 
--storepass ${keystore.pass}
-----
-
-[[sthref17]]
-
-See Also
-
-[[ghlgj]][[GSSCG00106]][[to-sign-a-certificate-by-using-keytool]]
-
-To Sign a Certificate by Using `keytool`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-After creating a certificate, the owner must sign the certificate to
-prevent forgery. E-commerce sites, or those for which authentication of
-identity is important, can purchase a certificate from a well-known
-Certificate Authority (CA).
-
-
-[NOTE]
-=======================================================================
-
-If authentication is not a concern, for example if private secure
-communications are all that is required, you can save the time and
-expense involved in obtaining a CA certificate by using a self-signed
-certificate.
-
-=======================================================================
-
-
-1.  Delete the default self-signed certificate: +
-[source,oac_no_warn]
-----
-keytool -delete -alias s1as -keystore keystore.jks -storepass <store_passwd>
-----
-where <store_passwd> is the password for the keystore. For example,
-"mypass". Note that `s1as` is the default alias of the GlassFish Server
-keystore.
-2.  Generate a new key pair for the application server: +
-[source,oac_no_warn]
-----
-keytool -genkeypair -keyalg <key_alg> -keystore keystore.jks 
--validity <val_days> -alias s1as 
-----
-where <key_alg> is the algorithm to be used for generating the key pair,
-for example RSA, and <val_days> is the number of days that the
-certificate should be considered valid. For example, 365. +
-In addition to generating a key pair, the command wraps the public key
-into a self-signed certificate and stores the certificate and the
-private key in a new keystore entry identified by the alias. +
-For HTTPS hostname verification, it is important to ensure that the name
-of the certificate (CN) matches the fully-qualified hostname of your
-site (fully-qualified domain name). If the names do not match, clients
-connecting to the server will see a security alert stating that the name
-of the certificate does not match the name of the site.
-3.  Generate a Certificate Signing Request (CSR): +
-[source,oac_no_warn]
-----
-keytool -certreq -alias s1as -file <certreq_file> -keystore keystore.jks 
--storepass <store_passwd>
-----
-where <certreq_file> is the file in which the CSR is stored (for
-example, `s1as.csr`) and <store_passwd> is the password for the
-keystore. For example, changeit.
-4.  Submit the CSR to a Certificate Authority such as VeriSign (at
-`http://www.verisign.com/ssl/buy-ssl-certificates/index.html`). In
-response, you should receive a signed server certificate. Make sure to
-import into your browser the CA certificate of the CA (if not already
-present) and any intermediate certificates indicated by the CA in the
-reply.
-5.  Store the signed server certificate from the CA, including the
-markers `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`,
-into a file such as `s1as.cert`. Download the CA certificate and any
-intermediate CA certificates and store them in local files.
-6.  Import the CA certificate (if not already present) and any
-intermediate CA certificates (if not already present) indicated by the
-CA into the truststore `cacerts.jks`: +
-[source,oac_no_warn]
-----
-keytool -import -v -trustcacerts -alias <CA-Name> -file ca.cert 
- -keystore cacerts.jks -storepass <store_passwd>
-----
-7.  Replace the original self-signed certificate with the certificate
-you obtained from the CA, as stored in a file such as `s1as.cert`: +
-[source,oac_no_warn]
-----
-keytool -import -v -trustcacerts -alias s1as -file s1as.cert
-   -keystore keystore.jks -storepass <store_passwd>
-----
-When you import the certificate using the same original alias`s1as`,
-keytool treats it as a command to replace the original certificate with
-the certificate obtained as a reply to a CSR. +
-After running the command, you should see that the certificate `s1as` in
-the keystore is no longer the original self-signed certificate, but is
-now the response certificate from the CA. +
-Consider the following example that compares an original `s1as`
-certificate with a new `s1as` certificate obtained from VeriSign: +
-[source,oac_no_warn]
-----
-Original s1as (self-signed):
-
-Owner: CN=FQDN, OU=Sun Java System Application Server, O=Sun
-Microsystems, L=Santa Clara, ST=California, C=US
-Issuer: CN=KUMAR, OU=Sun Java System Application Server, O=Su
-n Microsystems, L=Santa Clara, ST=California, C=US
-Serial number: 472acd34
-Valid from: Fri Nov 02 12:39:40 GMT+05:30 2007 until: Mon Oct
-30 12:39:40 GMT+05:30 2017
-
-New s1as (contains signed cert from CA):
-
-Owner: CN=FQDN, OU=Terms of use at www.verisign.com/cps/test
-ca (c)05, OU=Sun Java System Application Server, O=Sun Micros
-ystems, L=Santa Clara, ST=California, C=US
-Issuer: CN=VeriSign Trial Secure Server Test CA, OU=Terms of
-use at https://www.verisign.com/cps/testca (c)05, OU="For Test
-Purposes Only. No assurances.", O="VeriSign, Inc.", C=US
-Serial number: 1375de18b223508c2cb0123059d5c440
-Valid from: Sun Nov 11 05:30:00 GMT+05:30 2007 until: Mon Nov
-26 05:29:59 GMT+05:30 2007
-----
-8.  To apply your changes, restart GlassFish Server. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[GSSCG00075]][[ghlhu]]
-
-
-Example 1-15 Importing an RFC/Text-Formatted Certificate Into a JKS
-Keystore
-
-Certificates are often stored using the printable encoding format
-defined by the Internet Request for Comments (RFC) 1421 standard instead
-of their binary encoding. This certificate format, also known as Base 64
-encoding, facilitates exporting certificates to other applications by
-email or through some other mechanism.
-
-[source,oac_no_warn]
-----
-keytool -import -noprompt -trustcacerts -alias ${cert.alias} -file 
-${cert.file} -keystore ${keystore.file} -storepass ${keystore.pass}
-----
-
-[[GSSCG00076]][[ghlim]]
-
-
-Example 1-16 Exporting a Certificate From a JKS Keystore in PKCS7 Format
-
-The reply format defined by the Public Key Cryptography Standards #7,
-Cryptographic Message Syntax Standard, includes the supporting
-certificate chain in addition to the issued certificate.
-
-[source,oac_no_warn]
-----
-keytool -export -noprompt -alias ${cert.alias} -file ${cert.file} 
--keystore ${keystore.file} -storepass ${keystore.pass}
-----
-
-[[GSSCG00077]][[ghleb]]
-
-
-Example 1-17 Exporting a Certificate From a JKS Keystore in RFC/Text
-Format
-
-[source,oac_no_warn]
-----
-keytool -export -noprompt -rfc -alias ${cert.alias} -file 
-${cert.file} -keystore ${keystore.file} -storepass ${keystore.pass}
-----
-
-[[sthref18]]
-
-See Also
-
-[[ghleq]][[GSSCG00107]][[to-delete-a-certificate-by-using-keytool]]
-
-To Delete a Certificate by Using `keytool`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `keytool` `delete` command to delete an existing certificate.
-
-Delete a certificate using the following command format:
-
-[source,oac_no_warn]
-----
-keytool -delete
- -alias keyAlias
- -keystore keystore-name
- -storepass password
-----
-
-[[GSSCG00078]][[ghlgy]]
-
-
-Example 1-18 Deleting a Certificate From a JKS Keystore
-
-[source,oac_no_warn]
-----
-keytool -delete -noprompt -alias ${cert.alias} -keystore ${keystore.file} 
--storepass ${keystore.pass}
-----
-
-[[sthref19]]
-
-See Also
-
-[[gkngj]][[GSSCG00148]][[administering-jacc-providers]]
-
-Administering JACC Providers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Java Authorization Contract for Containers (JACC) is part of the
-J2EE 1.4 specification that defines an interface for pluggable
-authorization providers. This enables the administrator to set up
-third-party plug-in modules to perform authorization.
-
-GlassFish Server includes Administration Console support and subcommands
-to support JACC providers, as follows:
-
-* create `create-jacc-provider`
-* delete `delete-jacc-provider`
-* list `list-jacc-providers`
-
-The default GlassFish Server installation includes two JACC providers,
-named default and simple. You should not delete these default providers.
-Any JACC providers you create with the `create-jacc-provider` subcommand
-are in addition to these two default providers.
-
-The GlassFish Server creates a JSR-115-compliant JACC provider that you
-can use with third-party authorization modules for applications running
-in GlassFish Server. The JACC provider is created as a `jacc-provider`
-element within the security-service element in the domain's `domain.xml`
-file.
-
-[[gksgp]][[GSSCG00108]][[administering-jacc-providers-from-the-administration-console]]
-
-Administering JACC Providers From the Administration Console
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To use the Administration Console to administer JACC providers, perform
-the following steps:
-
-1.  Select Configurations and expand the entry.
-2.  Select the server configuration for which you want to administer
-JACC providers and expand the entry.
-3.  Select Security and expand the entry.
-4.  Select JACC Providers. The JACC Providers page is displayed. The
-existing JACC providers are shown on this page. +
-image:img/jacc-providers.png[
-"This screen shot shows the default JACC providers."]
-
-5.  To create a new provider, click New. +
-Enter the Name, Policy Configuration (the class that implements the
-policy configuration factory) and the Policy Provider (the class that
-implements the policy factory) for the new JACC provider. You can also
-enter optional properties (name/value) for the provider.
-6.  To delete an existing JACC provider, select that provider and click
-Delete.
-
-[[gksfx]][[GSSCG00109]][[administering-jacc-providers-from-the-command-line]]
-
-Administering JACC Providers from the Command Line
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To use the command line to administer JACC providers, perform the
-following steps:
-
-1.  To create a JACC provider, use the `create-jacc-provider`
-subcommand. The following example shows how to create a JACC provider
-named testJACC on the default server target. +
-[source,oac_no_warn]
-----
-asadmin> create-jacc-provider
-       --policyproviderclass org.glassfish.exousia.modules.locked.SimplePolicyProvider
-       --policyconfigfactoryclass com.sun.enterprise.security.provider.PolicyCon
-figurationFactoryImpl
-       testJACC
-----
-2.  To delete a JACC provider, use the `create-jacc-provider`
-subcommand. The following example shows how to delete a JACC provider
-named testJACC from the default domain: +
-[source,oac_no_warn]
-----
-asadmin> delete-jacc-provider testJACC
-----
-3.  To list the available providers, use the `list-jacc-providers`
-subcommand. The following example shows how to list JACC providers for
-the default domain: +
-[source,oac_no_warn]
-----
-asadmin> list-jacc-providers
-default
-simple
-Command list-jacc-providers executed successfully.
-----
-
-
diff --git a/docs/security-guide/src/main/jbake/content/title.adoc b/docs/security-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 1726d9f..0000000
--- a/docs/security-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Security Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Security Guide, Release 5.1
-====================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Security Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This book provides instructions for configuring and administering
-GlassFish Server security.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Security Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/security-guide/src/main/jbake/content/user-security.adoc b/docs/security-guide/src/main/jbake/content/user-security.adoc
deleted file mode 100644
index f96e370..0000000
--- a/docs/security-guide/src/main/jbake/content/user-security.adoc
+++ /dev/null
@@ -1,834 +0,0 @@
-type=page
-status=published
-title=Administering User Security
-next=message-security.html
-prev=system-security.html
-~~~~~~
-Administering User Security
-===========================
-
-[[GSSCG00036]][[ggnqj]]
-
-
-[[administering-user-security]]
-2 Administering User Security
------------------------------
-
-This chapter provides instructions for administering user security in
-the Oracle GlassFish Server environment by using the `asadmin`
-command-line utility. GlassFish Server enforces its authentication and
-authorization policies upon realms, users, and groups. This chapter
-assumes that you are familiar with security features such as
-authentication, authorization, and certificates. If you are not, see
-link:system-security.html#ablnk[Administering System Security].
-
-The following topics are addressed here:
-
-* link:#ggkuk[Administering Authentication Realms]
-* link:#ggnxq[Administering File Users]
-
-Instructions for accomplishing these tasks by using the Administration
-Console are contained in the Administration Console online help.
-
-
-[NOTE]
-=======================================================================
-
-JSR-375 defines the concept of an Identity Store, and an SPI interface
-for writing providers that can authenticate users against Identity
-Stores. It also provides two built-in providers. This mechanism is
-conceptually similar to Authentication Realms, but can be configured and
-managed by applications. See
-https://javaee.github.io/tutorial/security-intro005a.html#working-with-identity-stores[Working
-with Identity Stores] in The Java EE Tutorial for more information about
-Identity Stores.
-
-=======================================================================
-
-
-[[ggkuk]][[GSSCG00151]][[administering-authentication-realms]]
-
-Administering Authentication Realms
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following topics are addressed here:
-
-* link:#gkbiy[Overview of Authentication Realms]
-* link:#ggnca[To Create an Authentication Realm]
-* link:#ggngh[To List Authentication Realms]
-* link:#giwlt[To Update an Authentication Realm]
-* link:#ggngf[To Delete an Authentication Realm]
-* link:#ggmww[To Configure a JDBC or Digest Authentication Realm]
-* link:#gkbeo[To Configure LDAP Authentication with OID]
-* link:#gksgi[To Configure LDAP Authentication with OVD]
-* link:#gkbjp[To Enable LDAP Authentication on the GlassFish Server DAS]
-
-[[gkbiy]][[GSSCG00217]][[overview-of-authentication-realms]]
-
-Overview of Authentication Realms
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An authentication realm, also called a security policy domain or
-security domain, is a scope over which the GlassFish Server defines and
-enforces a common security policy. GlassFish Server is preconfigured
-with the file, certificate, and administration realms. In addition, you
-can set up LDAP, JDBC, digest, Oracle Solaris, or custom realms. An
-application can specify which realm to use in its deployment descriptor.
-If the application does not specify a realm, GlassFish Server uses its
-default realm (`file`).
-
-File realm::
-  GlassFish Server stores user credentials locally in a file named
-  `keyfile`. The file realm is the initial default realm.
-Administration realm::
-  The administration realm is also a file realm and stores administrator
-  user credentials locally in a file named `admin-keyfile`.
-Certificate realm::
-  GlassFish Server stores user credentials in a certificate database.
-  When using the certificate realm, the server uses certificates with
-  the HTTPS protocol to authenticate web clients.
-LDAP realm::
-  GlassFish Server can get user credentials from a Lightweight Directory
-  Access Protocol (LDAP) server such as Oracle Virtual Directory (OVD)
-  (`http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html`),
-  Oracle Internet Directory (OID)
-  (`http://www.oracle.com/technetwork/indexes/products/index.html`), and
-  Oracle Directory Server Enterprise Edition
-  (`http://www.oracle.com/us/products/middleware/identity-management/oracle-directory-services/index.html`).
-  LDAP is a protocol for enabling anyone to locate organizations,
-  individuals, and other resources such as files and devices in a
-  network, whether on the public Internet or on a corporate intranet. +
-  See link:#gkbeo[To Configure LDAP Authentication with OID] for
-  instructions on configuring GlassFish Server to work with an OVD/OID
-  LDAP provider. +
-
-[width="100%",cols="100%",]
-|=======================================================================
-a|
-Note:
-
-By default, GlassFish Server performs LDAP group search. If you have
-not created any groups in LDAP, the search fails.
-
-To disable LDAP group search in LDAP user name search, set the
-`com.oracle.enterprise.security.auth.realm.ldap.DISABLEGROUP_SEARCH`
-Java system property to `true` in the required GlassFish Server
-instance or cluster configurations:
-
-`asadmin>` `create-jvm-options --target=`target +
-`-Dcom.oracle.enterprise.security.auth.realm.ldap.DISABLEGROUP_SEARCH=true`
-
-where target is the GlassFish Server instance or cluster for which you
-are disabling LDAP group search. For more information about the
-`create-jvm-options` subcommand, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server
-Open Source Edition Reference Manual].
-
-|=======================================================================
-
-JDBC realm::
-  GlassFish Server gets user credentials from a database. The server
-  uses the database information and the enabled JDBC realm option in the
-  configuration file.
-Digest realm::
-  Digest Authentication authenticates a user based on a user name and a
-  password. However, the authentication is performed by transmitting the
-  password in an encrypted form.
-Oracle Solaris realm::
-  GlassFish Server gets user credentials from the Oracle Solaris
-  operating system. This realm is supported on the Oracle Solaris 9 and
-  Oracle Solaris 10 operating systems. Consult your Oracle Solaris
-  documentation for information about managing users and groups in the
-  Oracle Solaris realm.
-PAM realm::
-  A Pluggable Authentication Module (PAM) realm allows applications
-  deployed on GlassFish Server to authenticate users against a native
-  Unix (Solaris/Linux/Mac OS) users list. PAM realms use the class name
-  `com.sun.enterprise.security.auth.realm.pam.PamRealm` and the JAAS
-  Context `pamRealm`. +
-  This realm is supported on all Unix Operating Systems, including the
-  Oracle Solaris 9 and Oracle Solaris 10 operating systems
-Custom realm::
-  You can create other repositories for user credentials, such as a
-  relational database or third-party components. For more information
-  about custom realms, see the Administration Console online help. For
-  instructions on creating a custom realm, see
-  "link:../application-development-guide/securing-apps.html#GSDVG00367[Creating a Custom Realm]" in GlassFish Server Open
-  Source Edition Application Development Guide.
-
-The GlassFish Server authentication service can govern users in multiple
-realms.
-
-[[ggnca]][[GSSCG00110]][[to-create-an-authentication-realm]]
-
-To Create an Authentication Realm
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-auth-realm` subcommand in remote mode to create an
-authentication realm.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Create a realm by using the link:../reference-manual/create-auth-realm.html#GSRFM00015[`create-auth-realm`]
-subcommand. +
-Information about properties for this subcommand is included in this
-help page.
-
-[[GSSCG00079]][[ggpjx]]
-
-
-Example 2-1 Creating a Realm
-
-This example creates a realm named `db`.
-
-[source,oac_no_warn]
-----
-asadmin> create-auth-realm --classname com.iplanet.ias.security.
-auth.realm.DB.Database --property defaultuser=admin:Password=admin db
-Command create-auth-realm executed successfully.
-----
-
-[[sthref21]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-auth-realm` at the command line.
-
-For information on creating a custom realm, see
-"link:../application-development-guide/securing-apps.html#GSDVG00367[Creating a Custom Realm]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[ggngh]][[GSSCG00111]][[to-list-authentication-realms]]
-
-To List Authentication Realms
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `list-auth-realms` subcommand in remote mode to list the
-existing authentication realms.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List realms by using the link:../reference-manual/list-auth-realms.html#GSRFM00150[`list-auth-realms`]
-subcommand.
-
-[[GSSCG00080]][[ggpkw]]
-
-
-Example 2-2 Listing Realms
-
-This example lists the authentication realms on `localhost`.
-
-[source,oac_no_warn]
-----
-asadmin> list-auth-realms
-db
-certificate
-file
-admin-realm
-Command list-auth-realms executed successfully.
-----
-
-[[sthref22]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-auth-realms` at the command line.
-
-[[giwlt]][[GSSCG00112]][[to-update-an-authentication-realm]]
-
-To Update an Authentication Realm
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `set` subcommand to modify an existing authentication realm.
-
-
-[NOTE]
-==============================================
-
-A custom realm does not require server restart.
-
-==============================================
-
-
-1.  List realms by using the link:../reference-manual/list-auth-realms.html#GSRFM00150[`list-auth-realms`]
-subcommand.
-2.  Modify the values for the specified thread pool by using the
-link:../reference-manual/set.html#GSRFM00226[`set`] subcommand. +
-The thread pool is identified by its dotted name.
-3.  To apply your changes, restart GlassFish Server. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[ggngf]][[GSSCG00113]][[to-delete-an-authentication-realm]]
-
-To Delete an Authentication Realm
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-auth-realm` subcommand in remote mode to delete an
-existing authentication realm.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List realms by using the link:../reference-manual/list-auth-realms.html#GSRFM00150[`list-auth-realms`]
-subcommand.
-3.  If necessary, notify users that the realm is being deleted.
-4.  Delete the realm by using the link:../reference-manual/delete-auth-realm.html#GSRFM00066[`delete-auth-realm`]
-subcommand.
-5.  To apply your changes, restart GlassFish Server. See
-"link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open Source
-Edition Administration Guide.
-
-[[GSSCG00081]][[ggpjf]]
-
-
-Example 2-3 Deleting a Realm
-
-This example deletes an authentication realm named `db`.
-
-[source,oac_no_warn]
-----
-asadmin> delete-auth-realm db
-Command delete-auth-realm executed successfully.
-----
-
-[[sthref23]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-auth-realm` at the command line.
-
-[[ggmww]][[GSSCG00114]][[to-configure-a-jdbc-or-digest-authentication-realm]]
-
-To Configure a JDBC or Digest Authentication Realm
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server enables you to specify a user's credentials (user name
-and password) in the JDBC realm instead of in the connection pool. Using
-the `jdbc` type realm instead of the connection pool prevents other
-applications from browsing the database tables for user credentials.
-
-
-[NOTE]
-=======================================================================
-
-By default, storage of passwords as clear text is not supported in the
-JDBC realm. Under normal circumstances, passwords should not be stored
-as clear text.
-
-=======================================================================
-
-
-1.  [[ggmxh]] +
-Create the database tables in which to store user credentials for the
-realm. +
-How you create the database tables depends on the database that you are
-using.
-2.  Add user credentials to the database tables that you created. +
-How you add user credentials to the database tables depends on the
-database that you are using.
-3.  Create a JDBC connection pool for the database. +
-See "link:../administration-guide/jdbc.html#GSADG00420[To Create a JDBC Connection Pool]" in GlassFish
-Server Open Source Edition Administration Guide.
-4.  Create a JDBC resource for the database. +
-"link:../administration-guide/jdbc.html#GSADG00426[To Create a JDBC Resource]" in GlassFish Server Open
-Source Edition Administration Guide.
-5.  [[ggmvo]] +
-Create a realm. +
-For instructions, see link:#ggnca[To Create an Authentication Realm]. +
-
-[NOTE]
-=======================================================================
-
-The JAAS context should be `jdbcDigestRealm` for digest authentication
-or `jdbcRealm` for other authentication types.
-
-=======================================================================
-
-6.  [[ggmtc]] +
-Modify the deployment descriptor to specify the `jdbc` realm. +
-Modify the deployment descriptor that is associated with your
-application.
-* For an enterprise application in an Enterprise Archive (EAR) file,
-modify the `sun-application.xml` file.
-* For a web application in a Web Application Archive (WAR) file, modify
-the `web.xml` file.
-* For an enterprise bean in an EJB JAR file, modify the
-`sun-ejb-jar.xml` file. +
-For more information about how to specify a realm, see
-"link:../application-development-guide/securing-apps.html#GSDVG00365[How to Configure a Realm]" in GlassFish Server Open
-Source Edition Application Development Guide.
-7.  Assign security roles to users in the realm. +
-To assign a security role to a user, add a `security-role-mapping`
-element to the deployment descriptor that you modified.
-8.  Verify that the database is running. +
-If needed, see "link:../administration-guide/jdbc.html#GSADG00417[To Start the Database]" in GlassFish
-Server Open Source Edition Administration Guide.
-9.  To apply the authentication, restart the server. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[GSSCG00082]][[ghysu]]
-
-
-Example 2-4 Assigning a Security Role
-
-This example shows a `security-role-mapping` element that assigns the
-security role `Employee` to user `Calvin`
-
-[source,oac_no_warn]
-----
-<security-role-mapping>
-    <role-name>Employee</role-name>
-    <principal-name>Calvin</principal-name>
-  </security-role-mapping>
-----
-
-[[gkbeo]][[GSSCG00115]][[to-configure-ldap-authentication-with-oid]]
-
-To Configure LDAP Authentication with OID
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to configure GlassFish Server to use LDAP
-authentication with Oracle Internet Directory.
-
-1.  Install Oracle Enterprise Manager 11g and the latest Enterprise
-Manager patches, if they are not installed already. +
-Instructions for installing Oracle Enterprise Manager are provided in
-the Oracle Enterprise Manager
-(`http://docs.oracle.com/cd/E11857_01/index.html`) documentation set.
-2.  Install the Oracle Identity Management Suite (IDM) 11g and Patch Set
-2 or later, if they are not installed already. +
-Instructions for installing the Oracle Identity Management suite are
-provided in Oracle Fusion Middleware Installation Guide for Oracle
-Identity Management
-(`http://docs.oracle.com/cd/E12839_01/install.1111/e12002/toc.html`).
-3.  Configure SSL for Oracle Internet Directory (OID), if it is not
-configured already. Configure the OID instance in the server
-authentication mode and with the protocol version set to SSLv3 +
-Instructions for configuring SSL for OID are provided in the SSL chapter
-of Oracle Internet Directory Administrator's Guide
-(`http://docs.oracle.com/cd/B14099_19/idmanage.1012/b14082/ssl.html`).
-4.  Using Oracle Wallet Manager, export an SSL self-signed certificate
-you want to use with GlassFish Server. +
-Instructions for using Oracle Wallet Manager to create and export SSL
-certificates are provided in the "Configure Oracle Internet Directory
-for SSL"
-(`http://docs.oracle.com/cd/B14099_19/idmanage.1012/b14082/ssl.html#CHDCADIJ`)
-section of the SSL chapter in Oracle Internet Directory Administrator's
-Guide
-(`http://docs.oracle.com/cd/B14099_19/idmanage.1012/b14082/ssl.html`).
-5.  On the GlassFish Server side, use the `keytool` command import the
-certificate you exported with Oracle Wallet Manager. +
-The `keytool` command is available in the `$JAVA_HOME/bin` directory.
-Use the following syntax: +
-[source,oac_no_warn]
-----
-keytool -importcert -alias "alias-name" -keystore domain-dir/config/cacerts.jks 
--file cert-name
-----
-where the variables are defined as follows:::
-alias-name::
-  Name of an alias to use for the certificate
-domain-dir::
-  Name of the domain for which the certificate is used
-cert-name::
-  Path to the certificate that you exported with Oracle Wallet Manager. +
-For example, to import a certificate named `oi.cer` for a GlassFish
-Server domain in `/glassfishv3/glassfish/domains/domain1`, using an
-alias called "OID self-signed certificate," you would use the following
-command: +
-[source,oac_no_warn]
-----
-keytool -importcert -alias "OID self signed certificate" -keystore \
-/glassfishv3/glassfish/domains/domain1/config/cacerts.jks -file oid.cer
-----
-6.  Restart the GlassFish Server domain. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-7.  Use the Oracle Enterprise Manager `ldapmodify` command to enable
-Anonymous Bind for OID. +
-For example: +
-[source,oac_no_warn]
-----
-ldapmodify -D cn=orcladmin -q -p portNum -h hostname -f ldifFile
-----
-In this example, the LDIF file might contain the following: +
-[source,oac_no_warn]
-----
-dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry
-changetype: modify
-replace: orclAnonymousBindsFlag
-orclAnonymousBindsFlag: 1
-----
-To disable all anonymous binds, you would use a similar LDIF file with
-the last line changed to: +
-[source,oac_no_warn]
-----
-orclAnonymousBindsFlag: 0
-----
-See "Managing Anonymous Binds"
-(`http://docs.oracle.com/cd/E14571_01/oid.1111/e10029/authentication.html#CACJEJDA`)
-in Oracle Fusion Middleware Administrator's Guide for Oracle Internet
-Directory
-(`http://docs.oracle.com/cd/E14571_01/oid.1111/e10029/toc.html`) for
-complete instructions on the `ldapmodify` command.
-
-[[gksgi]][[GSSCG00116]][[to-configure-ldap-authentication-with-ovd]]
-
-To Configure LDAP Authentication with OVD
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to configure GlassFish Server to use LDAP
-authentication with Oracle Virtual Directory.
-
-1.  Create the OVD adapter, as described in the "Creating and
-Configuring Oracle Virtual Directory Adapters"
-(`http://docs.oracle.com/cd/E12839_01/oid.1111/e10046/basic_adapters.html#BABCBGJA`)
-chapter of Administrator's Guide for Oracle Virtual Directory
-(`http://docs.oracle.com/cd/E12839_01/oid.1111/e10046/toc.html`).
-2.  Configure SSL for Oracle Virtual Directory (OVD), if it is not
-configured already. For instructions on configuring SSL for OVD, see the
-section "Enable SSL for Oracle Virtual Directory Using Fusion Middleware
-Control" in SSL Configuration in Oracle Fusion Middleware
-(`http://docs.oracle.com/cd/E12839_01/core.1111/e10105/sslconfig.html#ASADM1800`). +
-Also, configure the SSL for the OVD listener in server authentication
-mode.
-3.  Export the certificate from JKS keystore you want to use with
-GlassFish Server. See "Exporting a Keystore Using Fusion Middleware
-Control"
-(`http://docs.oracle.com/cd/E16764_01/core.1111/e10105/wallets.html#CIHECAIB`)
-for information.
-4.  On the GlassFish Server side, use the `keytool` command to import
-the certificate you exported from the JKS keystore. +
-The `keytool` command is available in the `$JAVA_HOME/bin` directory.
-Use the following syntax: +
-[source,oac_no_warn]
-----
-keytool -importcert -alias "alias-name" -keystore domain-dir/config/cacerts.jks 
--file cert-name
-----
-where the variables are defined as follows:::
-alias-name::
-  Name of an alias to use for the certificate
-domain-dir::
-  Name of the domain for which the certificate is used
-cert-name::
-  Path to the certificate that you exported from the keystore. +
-For example, to import a certificate named `ovd.cer` for a GlassFish
-Server domain in `/glassfishv3/glassfish/domains/domain1`, using an
-alias called "OVD self-signed certificate," you would use the following
-command: +
-[source,oac_no_warn]
-----
-keytool -importcert -alias "OVD self signed certificate" -keystore \
-/glassfishv3/glassfish/domains/domain1/config/cacerts.jks -file ovd.cer
-----
-5.  Restart the GlassFish Server domain. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[gkbjp]][[GSSCG00117]][[to-enable-ldap-authentication-on-the-glassfish-server-das]]
-
-To Enable LDAP Authentication on the GlassFish Server DAS
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to enable LDAP authentication for logins to
-the GlassFish Server Domain Administration Server (DAS). Logging in to
-the DAS is typically only performed by GlassFish Server administrators
-who want to use the GlassFish Server Administration Console or `asadmin`
-command. See link:#gkbeo[To Configure LDAP Authentication with OID] for
-instructions on enabling general LDAP authentication for GlassFish
-Server.
-
-[[sthref24]]
-
-Before You Begin
-
-Ensure that you have followed the configuration instructions in
-link:#gkbeo[To Configure LDAP Authentication with OID]
-
-Use the `asadmin configure-ldap-for-admin` subcommand to enable user
-authentication to the GlassFish Server DAS.
-
-Use the following syntax:
-
-[source,oac_no_warn]
-----
-asadmin configure-ldap-for-admin --basedn "dn-list" --url [ldap|ldaps]://ldap-url 
---ldap-group group-name
-----
-
-where the variables are defined as follows:
-
-dn-list::
-  basedn parameters
-ldap-url::
-  URL and port number for the LDAP server; can use standard (`ldap`) or
-  secure (`ldaps`) protocol
-group-name::
-  LDAP group name for allowed users, as defined on the LDAP server.
-
-For example:
-
-[source,oac_no_warn]
-----
-asadmin configure-ldap-for-admin --basedn "dc=red,dc=iplanet,dc=com" \
---url ldap://interopoel54-1:3060 --ldap-group sqestaticgroup
-
-asadmin configure-ldap-for-admin --basedn "dc=red,dc=iplanet,dc=com" \
---url ldaps://interopoel54-1:7501 --ldap-group sqestaticgroup
-----
-
-[[sthref25]]
-
-See Also
-
-See link:../reference-manual/configure-ldap-for-admin.html#GSRFM00010[`configure-ldap-for-admin`] for more information
-about the `configure-ldap-for-admin subcommand`.
-
-[[ggnxq]][[GSSCG00152]][[administering-file-users]]
-
-Administering File Users
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-A user is an individual (or application program) identity that is
-defined in GlassFish Server. A user who has been authenticated is
-sometimes called a principal.
-
-As the administrator, you are responsible for integrating users into the
-GlassFish Server environment so that their credentials are securely
-established and they are provided with access to the applications and
-services that they are entitled to use.
-
-The following topics are addressed here:
-
-* link:#ggocf[To Create a File User]
-* link:#ggoab[To List File Users]
-* link:#ghlgs[To List File Groups]
-* link:#ggoaw[To Update a File User]
-* link:#ggoah[To Delete a File User]
-
-[[ggocf]][[GSSCG00118]][[to-create-a-file-user]]
-
-To Create a File User
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `create-file-user` subcommand in remote mode to create a new
-user by adding a new entry to the `keyfile`. The entry includes the user
-name, password, and any groups for the user. Multiple groups can be
-specified by separating the groups with colons (:).
-
-
-[NOTE]
-=======================================================================
-
-If secure administration is enabled as described in
-link:administrative-security.html#gkomz[Running Secure Admin], you cannot
-create an administrative user with a blank password.
-
-=======================================================================
-
-
-Creating a new `file` realm user is a dynamic event and does not require
-server restart.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  If the user will belong to a particular group, see the current
-groups by using the link:../reference-manual/list-file-groups.html#GSRFM00164[`list-file-groups`] subcommand.
-3.  Create a file user by using the link:../reference-manual/create-file-user.html#GSRFM00024[`create-file-user`]
-subcommand.
-
-[[GSSCG00083]][[ggpkq]]
-
-
-Example 2-5 Creating a User
-
-This example create user `Jennifer` on the default realm `file` (no
-groups are specified).
-
-The `asadmin` `--passwordfile` option specifies the name of a file that
-contains the password entries in a specific format. The entry for a
-password must have the `AS_ADMIN_` prefix followed by the password name
-in uppercase letters, an equals sign, and the password. See
-link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] for more information.
-
-[source,oac_no_warn]
-----
-asadmin> create-file-user --user admin 
---passwordfile=c:\tmp\asadminpassword.txt Jennifer
-Command create-file-user executed successfully.
-----
-
-[[sthref26]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help create-file-user` at the command line.
-
-[[ggoab]][[GSSCG00119]][[to-list-file-users]]
-
-To List File Users
-^^^^^^^^^^^^^^^^^^
-
-Use the `list-file-users` subcommand in remote mode to list the users
-that are in the `keyfile`.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List users by using the link:../reference-manual/list-file-users.html#GSRFM00165[`list-file-users`]
-subcommand.
-
-[[GSSCG00084]][[ggpgf]]
-
-
-Example 2-6 Listing File Users
-
-This example lists file users on the default `file` realm file.
-
-[source,oac_no_warn]
-----
-asadmin> list-file-users
-Jennifer
-Command list-file-users executed successfully.
-----
-
-[[sthref27]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help list-file-users` at the command line.
-
-[[ghlgs]][[GSSCG00120]][[to-list-file-groups]]
-
-To List File Groups
-^^^^^^^^^^^^^^^^^^^
-
-A group is a category of users classified by common traits, such as job
-title or customer profile. For example, users of an e-commerce
-application might belong to the `customer` group, and the big spenders
-might also belong to the `preferred` group. Categorizing users into
-groups makes it easier to control the access of large numbers of users.
-A group is defined for an entire server and realm. A user can be
-associated with multiple groups of users.
-
-A group is different from a role in that a role defines a function in an
-application, while a group is a set of users who are related in some
-way. For example, in the personnel application there might be groups
-such as `full-time`, `part-time`, and `on-leave`. Users in these groups
-are all employees (the `employee` role). In addition, each user has its
-own designation that defines an additional level of employment.
-
-Use the `list-file-groups` subcommand in remote mode to list groups for
-a file user, or all file groups if the `--name` option is not specified.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List file groups by using the link:../reference-manual/list-file-groups.html#GSRFM00164[`list-file-groups`]
-subcommand.
-
-[[GSSCG00085]][[ghlgb]]
-
-
-Example 2-7 Listing Groups for a User
-
-This example lists the groups for user `joesmith`.
-
-[source,oac_no_warn]
-----
-asadmin> list-file-groups --name joesmith
-staff
-manager
-Command list-file-groups executed successfully
-----
-
-[[ggoaw]][[GSSCG00121]][[to-update-a-file-user]]
-
-To Update a File User
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `update-file-user` subcommand in remote mode to modify the
-information in the `keyfile` for a specified user.
-
-
-[NOTE]
-=======================================================================
-
-If secure administration is enabled as described in
-link:administrative-security.html#gkomz[Running Secure Admin], you cannot
-update an administrative user to have a blank password.
-
-=======================================================================
-
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  Update the user information by using the
-link:../reference-manual/update-file-user.html#GSRFM00254[`update-file-user`] subcommand.
-3.  To apply your changes, restart GlassFish Server. +
-See "link:../administration-guide/domains.html#GSADG00337[To Restart a Domain]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[GSSCG00086]][[ggpgh]]
-
-
-Example 2-8 Updating a User
-
-The following subcommand updates the groups for user `Jennifer`.
-
-[source,oac_no_warn]
-----
-asadmin> update-file-user --passwordfile c:\tmp\asadminpassword.txt --groups 
-staff:manager:engineer Jennifer
-Command update-file-user executed successfully.
-----
-
-[[sthref28]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help update-file-user` at the command line.
-
-[[ggoah]][[GSSCG00122]][[to-delete-a-file-user]]
-
-To Delete a File User
-^^^^^^^^^^^^^^^^^^^^^
-
-Use the `delete-file-user` subcommand in remote mode to remove a user
-entry from the `keyfile` by specifying the user name. You cannot delete
-yourself, that is, the user you are logged in as cannot be deleted
-during your session.
-
-1.  Ensure that the server is running. +
-Remote subcommands require a running server.
-2.  List users by using the link:../reference-manual/list-file-users.html#GSRFM00165[`list-file-users`]
-subcommand.
-3.  Delete the user by using the link:../reference-manual/delete-file-user.html#GSRFM00076[`delete-file-user`]
-subcommand.
-
-[[GSSCG00087]][[ggpib]]
-
-
-Example 2-9 Deleting a User
-
-This example deletes user `Jennifer` from the default `file` realm.
-
-[source,oac_no_warn]
-----
-asadmin> delete-file-user Jennifer
-Command delete-file-user executed successfully.
-----
-
-[[sthref29]]
-
-See Also
-
-You can also view the full syntax and options of the subcommand by
-typing `asadmin help delete-file-user` at the command line.
-
-
diff --git a/docs/security-guide/src/main/jbake/jbake.properties b/docs/security-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/security-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/security-guide/src/main/jbake/templates/footer.ftl b/docs/security-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/security-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/security-guide/src/main/jbake/templates/header.ftl b/docs/security-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/security-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/security-guide/src/main/jbake/templates/menu.ftl b/docs/security-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/security-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/security-guide/src/main/jbake/templates/page.ftl b/docs/security-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/security-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/troubleshooting-guide/README.md b/docs/troubleshooting-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/troubleshooting-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/troubleshooting-guide/pom.xml b/docs/troubleshooting-guide/pom.xml
index 0fc3ec3..85f286d 100644
--- a/docs/troubleshooting-guide/pom.xml
+++ b/docs/troubleshooting-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>troubleshooting-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Troubleshooting Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Troubleshooting Guide, Release 7</name>
 </project>
diff --git a/docs/troubleshooting-guide/src/main/asciidoc/faqs.adoc b/docs/troubleshooting-guide/src/main/asciidoc/faqs.adoc
new file mode 100644
index 0000000..1959c0a
--- /dev/null
+++ b/docs/troubleshooting-guide/src/main/asciidoc/faqs.adoc
@@ -0,0 +1,181 @@
+type=page
+status=published
+title=Frequently Asked Questions
+prev=specific-issues.html
+~~~~~~
+
+= Frequently Asked Questions
+
+[[GSTSG00006]][[abgkd]]
+
+
+[[frequently-asked-questions]]
+== 3 Frequently Asked Questions
+
+This chapter lists a few of the Frequently Asked Questions (FAQs)
+related to {productName} 7. For the latest FAQs, see the
+GlassFish wiki at
+`http://wikis.sun.com/display/GlassFish/GlassFishFAQIndex`.
+
+This chapter contains the following:
+
+* link:#ghynj[Administration FAQs]
+* link:#ghyaf[Application FAQs]
+* link:#ghyak[Eclipse FAQs]
+* link:#ghybv[Extensibility FAQs]
+* link:#ghybi[Java Persistence FAQs]
+* link:#ghybd[Update Tool FAQs]
+
+[[ghynj]][[GSTSG00071]][[administration-faqs]]
+
+=== Administration FAQs
+
+[[ghvhr]][[GSTSG00252]][[which-asadmin-commands-are-supported]]
+
+==== Which `asadmin` Commands are Supported?
+
+Use `asadmin` `list-commands` to determine which commands are supported
+and available for use. For related information, see
+"link:administration-guide/asadmin-subcommands.html#GSADG00023[Subcommands for the asadmin Utility]" in {productName} Administration Guide.
+
+[[ghyaf]][[GSTSG00072]][[application-faqs]]
+
+=== Application FAQs
+
+[[ghybu]][[GSTSG00253]][[how-do-i-debug-applications]]
+
+==== How Do I Debug Applications?
+
+See "link:application-development-guide/debugging-apps.html#GSDVG00004[Debugging Applications]" in {productName} Application Development Guide.
+
+[[ghybh]][[GSTSG00254]][[how-do-i-change-application-permissions]]
+
+==== How Do I Change Application Permissions?
+
+See "link:application-development-guide/securing-apps.html#GSDVG00372[Changing Permissions for an Application]" in
+{productName} Application Development Guide.
+
+[[ghybt]][[GSTSG00255]][[what-are-the-restrictions-and-optimizations-for-session-beans]]
+
+==== What Are the Restrictions and Optimizations for Session Beans?
+
+See "link:application-development-guide/ejb.html#GSDVG00427[Session Bean Restrictions and Optimizations]" in
+{productName} Application Development Guide.
+
+[[ghyak]][[GSTSG00073]][[eclipse-faqs]]
+
+=== Eclipse FAQs
+
+[[ghvmc]][[GSTSG00256]][[where-can-i-find-more-information-about-eclipse-and-glassfish-server-integration]]
+
+==== Where Can I Find More Information About Eclipse and {productName} Integration?
+
+Eclipse is a development environment that provides a framework, tools,
+and runtime for deploying and managing software. The GlassFish plugin
+for Eclipse provides important changes to better support {productName} and to provide optimal redeployment of web applications. For more
+information, see the GlassFish Plugins page:
+`http://glassfishplugins.java.net`.
+
+[[ghybv]][[GSTSG00074]][[extensibility-faqs]]
+
+=== Extensibility FAQs
+
+[[ghyaw]][[GSTSG00257]][[how-do-i-develop-add-on-components]]
+
+==== How Do I Develop Add-On Components?
+
+See the link:add-on-component-development-guide.html#GSACG[{productName} Add-On
+Component Development Guide] for complete details.
+
+[[ghvhg]][[GSTSG00258]][[how-do-i-add-containers]]
+
+==== How Do I Add Containers?
+
+{productName} has a highly modular architecture that enables you to
+add new types of containers that handle many application types, not just
+Jakarta EE. {productName} defines a service provider interface (SPI),
+which container developers implement. The {productName} framework
+then invokes the container's implementation of the SPI to detect,
+deploy, and manage applications of the new type.
+
+For more information, see "link:add-on-component-development-guide/adding-container-capabilities.html#GSACG00007[Adding Container
+Capabilities]" in {productName} Add-On Component
+Development Guide.
+
+[[ghvgv]][[GSTSG00259]][[how-do-i-extend-the-administration-console]]
+
+==== How Do I Extend the Administration Console?
+
+See "link:add-on-component-development-guide/extending-the-admin-console.html#GSACG00003[Extending the Administration Console]" in
+{productName} Add-On Component Development Guide.
+
+[[ghybi]][[GSTSG00075]][[java-persistence-faqs]]
+
+=== Java Persistence FAQs
+
+[[ghvnl]][[GSTSG00260]][[what-are-the-restrictions-and-optimizations-for-the-java-persistence-api]]
+
+==== What Are the Restrictions and Optimizations for the Java Persistence API?
+
+See "link:application-development-guide/jpa.html#GSDVG00139[Restrictions and Optimizations]" in {productName} Application Development Guide.
+
+[[ghybd]][[GSTSG00076]][[update-tool-faqs]]
+
+=== Update Tool FAQs
+
+[[ghvly]][[GSTSG00261]][[how-do-i-use-update-tool-to-extend-my-glassfish-server-installation]]
+
+==== How Do I Use Update Tool to Extend My {productName} Installation?
+
+Enterprise Server provides an administrative tool called Update Tool
+that enables you to install updates and add-on components to your
+existing Enterprise Server installation.
+
+Update Tool can be accessed as a standalone graphical tool from the
+command line (using the `updatetool` command from
+as-install-parent``/bin``), or as a browser-based graphical tool from the
+Administration Console (using the Update Tool node). For more
+information about Update Tool, see "link:administration-guide.html#GSADG00701[Update Tool]" in
+{productName} Administration Guide.
+
+[NOTE]
+====
+To update or remove installed components, you must use the standalone
+graphical Update Tool, not the Administration Console Update Tool.
+====
+
+A command-line interface is also available for Update Tool. This
+interface uses the `pkg` command and enables you to perform most of the
+tasks provided by the standalone graphical version. For more information
+about the `pkg` command, see "link:administration-guide.html#GSADG00014[Extending and Updating
+{productName}]" in {productName}
+Administration Guide.
+
+[NOTE]
+====
+Update Tool differs from Upgrade Tool, which is used to migrate the
+configuration and deployed applications from an earlier version of
+{productName} to the current version. For more information about
+Upgrade Tool and upgrading, see the link:upgrade-guide.html#GSUPG[{productName} Upgrade Guide].
+====
+
+[[gjjoq]][[GSTSG00262]][[how-do-i-turn-off-the-notifier]]
+
+==== How Do I Turn Off the Notifier?
+
+Update Tool provides automatic notifications of available updates after
+installation. These notifications can be turned off if desired.
+
+[[gjjox]][[GSTSG00028]][[to-turn-off-the-notifier]]
+
+===== To Turn Off the Notifier
+
+1. Launch the standalone graphical tool using the `updatetool` command:
++
+[source]
+----
+as-install-parent/bin/updatetool
+----
+2. Click Preferences.
+3. Click the Updates tab.
+4. Deselect Automatically Check for Updates and click OK.
diff --git a/docs/troubleshooting-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/troubleshooting-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/troubleshooting-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/troubleshooting-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/troubleshooting-guide/src/main/asciidoc/overview.adoc b/docs/troubleshooting-guide/src/main/asciidoc/overview.adoc
new file mode 100644
index 0000000..9a9892e
--- /dev/null
+++ b/docs/troubleshooting-guide/src/main/asciidoc/overview.adoc
@@ -0,0 +1,395 @@
+type=page
+status=published
+title=Overview of {productName} Troubleshooting
+next=specific-issues.html
+prev=preface.html
+~~~~~~
+
+= Overview of {productName} Troubleshooting
+
+[[GSTSG00002]][[abgap]]
+
+
+[[overview-of-glassfish-server-open-source-edition-troubleshooting]]
+== 1 Overview of {productName} Troubleshooting
+
+This chapter describes some of the tools, methods, and resources
+available for troubleshooting {productName}.
+Guidelines for evaluating and investigating a problem are provided.
+
+This chapter contains the following sections:
+
+* link:#abgar[Identifying the Problem]
+* link:#ghuvy[Troubleshooting Tools]
+* link:#ghuyv[Where to Go for More Information]
+
+[[abgar]][[GSTSG00039]][[identifying-the-problem]]
+
+=== Identifying the Problem
+
+Application servers are typically deployed in complex operating
+environments and involve many technologies, products, and tools.
+Understanding and diagnosing problems in enterprise software with many
+components performing many tasks can be a challenge. This section
+describes how to get started , and contains the following topics:
+
+* link:#ghvay[First Steps]
+* link:#ghuvf[Gathering Information]
+* link:#abgax[Examining Log Files]
+* link:#ghuvd[Monitoring the System]
+
+[[ghvay]][[GSTSG00171]][[first-steps]]
+
+==== First Steps
+
+Sometimes the most obvious solutions are overlooked. As you begin your
+investigation, try the following steps first.
+
+[[ghyku]][[GSTSG00077]][[verify-system-requirements-and-configuration]]
+
+===== Verify System Requirements and Configuration
+
+Ensure that your system meets the requirements listed in
+"link:release-notes/release-notes.html#GSRLN00131[Hardware and Software Requirements]"
+in {productName} Release Notes.
+Problems are likely to arise if you attempt to install on a platform that
+is not supported or on a system that in some other way does not meet release requirements.
+Also see "link:release-notes/release-notes.html#GSRLN00253[Known Issues]"
+in {productName} Release Notes for known issues related to installation.
+
+{productName} requires JDK release 6. The minimum
+(and certified) version of the JDK that is required for {productName} depends on the operating system:
+
+* For supported operating systems except Mac OS, the minimum required version is 1.6.0_17.
+* For the Mac OS X operating system, the minimum required version is 1.6.0_15.
+
+If necessary, download and install the required JDK software.
+
+On Solaris, Linux, and Windows systems, JDK software is available from the
+http://www.oracle.com/technetwork/java/javase/downloads/index.html[
+Java SE downloads page]
+(`http://www.oracle.com/technetwork/java/javase/downloads/index.html`).
+
+For Mac OS X systems, {productName} uses the JDK
+that is part of the Macintosh operating system. If necessary, obtain the
+required JDK version from the http://support.apple.com/downloads/[Mac OS
+X Updates site] (`http://support.apple.com/downloads/`).
+
+Also ensure that the `JAVA_HOME` environment variable on your system
+points to the JDK installation directory and not the Java Runtime
+Environment (JRE) software.
+
+Set `JAVA_HOME` and `$JAVA_HOME/bin` in the `PATH` to point to the
+supported JDK version.
+
+[[ghyml]][[GSTSG00078]][[review-known-issues]]
+
+===== Review Known Issues
+
+Your problem might be related to a known issue for the release. Refer to
+the link:release-notes.html#GSRLN[{productName} Release Notes] for
+the latest information regarding known issues and possible workarounds.
+Also search the GlassFish Issue Tracker at
+`http://java.net/jira/browse/GLASSFISH`.
+
+[[ghykl]][[GSTSG00079]][[search-the-product-documentation]]
+
+===== Search the Product Documentation
+
+{productName} includes complete product
+documentation. Search the documentation to see if your problem is
+addressed. See link:preface.html#ghpbz[{productName} Documentation
+Set] for the books in the documentation set and a description of their
+contents. Also see the Administration Console online help for detailed
+information about performing administrative tasks using the graphical
+interface.
+
+The following books will be especially helpful for troubleshooting:
+
+* link:release-notes.html#GSRLN[{productName} Release Notes],
+  which provides the latest information regarding known issues and possible workarounds.
+* link:error-messages-reference.html#GSEMR[
+  {productName} Error Message Reference],
+  which lists error messages you might encounter when using {productName}.
+
+Use the product documentation to learn more about {productName}. The more you know about the product the easier it might
+be to figure out why something isn't working.
+
+[[ghymp]][[GSTSG00080]][[search-the-glassfish-mailing-lists-and-forums]]
+
+===== Search the GlassFish Mailing Lists and Forums
+
+Lists and forums are extremely helpful resources, and are accessed as follows:
+
+* GlassFish mailing lists (start with users@glassfish.java.net and
+  search the archives): `http://java.net/projects/glassfish/lists/`
+* GlassFish user forum: `http://www.java.net/forums/glassfish/glassfish`
+
+[[ghuvf]][[GSTSG00172]][[gathering-information]]
+
+==== Gathering Information
+
+Troubleshooting and analysis require information. The more information
+you have the easier it is to classify a problem and search for its
+solution. Detailed information will also be necessary should you need to
+contact others for support, either through a community mailing list or
+through more formal Sun support channels.
+
+As you continue your investigation, consider the following questions.
+
+[[ghvar]][[GSTSG00081]][[when-does-the-problem-occur]]
+
+===== When Does the Problem Occur?
+
+* What do the logs show? What kind of error message are you getting? For
+more information about logs, see link:#abgax[Examining Log Files]. Logs
+are a good place to start your troubleshooting.
+* What are you trying to do when the problem occurs and how are you
+doing it? What is the sequence of events?
+* Does the problem occur every time you perform the same type of
+operation, or does it seem random? Can you reproduce the issue?
+* Have other events or problems occurred that could possibly be related,
+such as web sessions closing early, exceptions being thrown in your own
+application logic, components not being correctly deployed or
+undeployed?
+
+[[ghvbb]][[GSTSG00082]][[what-is-your-environment]]
+
+===== What Is Your Environment?
+
+* What version of {productName} are you using?
+What operating system and version? What JDK version? Many problems are
+caused simply because system requirements for the release are not met.
+Refer to the link:release-notes.html#GSRLN[{productName} Release
+Notes] for the latest information regarding system requirements, and
+make sure your system meets those requirements.
+* What resources does your system have, such as memory, disk, and swap
+space? If system memory is an issue, look for ways to optimize your
+configuration and consider taking other actions such as adding memory or
+decreasing system load.
+* Have any patches been applied? If so, what are the product and
+operating system patch numbers?
+* What other products and technologies are installed and being used in
+the installation?
+* How many application servers, web servers, and directory servers are
+installed? What are the products and versions?
+* How is the web server connected to {productName}? On the same system?
+* How is {productName} connected to the directory
+server?
+* What JDBC driver is being used to access the database?
+
+[[ghvce]][[GSTSG00083]][[what-is-your-system-configuration]]
+
+===== What Is Your System Configuration?
+
+* What are your settings?
+* On which port is {productName} configured — the
+default or something else?
+* What defaults were changed during installation and what are the
+values?
+* What other settings were changed from the defaults and what are their
+values?
+* What are the parameters related to JVM heap, stack, and garbage
+collection set to?
+* What are the JVM options?
+* What is the permgen size? `OutOfMemoryError:PermGen space` errors are
+common and indicate that you need to increase the permanent generation
+space available.
+* Is SSL enabled?
+* What are your network settings (proxy, firewall, and so on)? What
+happens if you disable your firewall and attempt the task?
+
+[[ghvcr]][[GSTSG00084]][[what-is-different]]
+
+===== What Is Different?
+
+* What is different that could have provoked the problem or triggered
+the event? Was something new added or changed? Have any new applications
+been deployed? If changes have been made recently, consider backing them
+out and seeing what happens — does the problem still occur?
+* Was the feature or functionality working correctly at one time? If so,
+what changed or happened between then and now?
+* Is this working on another system? If so, what is different about that
+environment?
+
+[[abgax]][[GSTSG00173]][[examining-log-files]]
+
+==== Examining Log Files
+
+Logging is one of your most important troubleshooting tools. It is the
+process by which {productName} captures data
+about events that occur during server operation, such as configuration
+errors, security failures, or server malfunction. This data is recorded
+in log files, and is usually your first source of information when
+Enterprise Server problems occur. The primary purpose of log files is to
+provide troubleshooting information. Analyzing the log files can help
+determine the health of the server and identify problem areas.
+
+By default, log information for each {productName} server instance is captured in a `server.log` file. That is,
+each instance, including the domain administration server (DAS), has an
+individual log file. By default, the log file for the DAS is located in
+domain-dir``/logs``, and the log file for each instance is located in
+instance-dir``/logs`.
+
+In addition, for domains that use clustering, {productName} captures log information for each cluster instance in a
+`cluster.log` file. By default, the `cluster.log` file is also located
+in instance-dir``/logs``.
+
+Oracle recommends using the Administration Console to view logging
+information. However, you can open a log file in a text editor and
+search for the module or message in which you are interested. {productName} also lets you collect log files into a ZIP
+file, which provides a convenient means to collect and view the log
+files for an instance or a domain even when it is not running.
+
+You configure the Logging Service by setting attributes in the
+`logging.properties` file. Each server, configuration, instance, and
+cluster in the {productName} domain has an
+individual `logging.properties` file. The root directory in which these
+`logging.properties` files are located is the same directory as for the
+`domain.xml` file, typically domain-dir/`config`. The default target
+when configuring logging attributes is the DAS. However, you can
+optionally target a specific server, instance, or cluster. You can also
+target a configuration that is shared by one or more instances or
+clusters. The Logging Service can also be configured using the
+Administration Console.
+
+Log levels such as `SEVERE`, `WARNING`, `INFO`, `CONFIG`, and others can
+be set to provide different types and amounts of information. The
+default setting is `INFO`. Each {productName}
+module has its own logger, and each logger has its own namespace. Log
+levels can be set globally for all loggers, or individually for
+module-specific loggers.
+
+For information about using the Administration Console log viewer and
+logging functions, see the Administration Console online help. For
+information about using the command line for logging functions, see
+"link:administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in {productName} Administration Guide.
+
+[[ghuvd]][[GSTSG00174]][[monitoring-the-system]]
+
+==== Monitoring the System
+
+Monitoring is another helpful tool. It is the process of reviewing the
+statistics of a system to improve performance or solve problems. By
+monitoring the state of various components and services deployed in
+{productName} you can identify performance
+bottlenecks, predict failures, perform root cause analysis, and ensure
+that everything is functioning as expected. For more information about
+monitoring, including JConsole information, see
+"link:administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in {productName} Administration Guide.
+
+[[ghuvy]][[GSTSG00040]][[troubleshooting-tools]]
+
+=== Troubleshooting Tools
+
+Several tools are available that can be used to collect information for
+troubleshooting purposes. This section provides basic information about
+some of them, and includes the following:
+
+* link:#ghvcm[Operating System Utilities]
+* link:#ghvbo[Stack Traces and Thread Dumps]
+* link:#ghyjq[VisualVM]
+* link:#gjjjl[JVM Command-Line Tools]
+
+[[ghvcm]][[GSTSG00175]][[operating-system-utilities]]
+
+==== Operating System Utilities
+
+Operating system utilities, such as `pkginfo` and `showrev` on Solaris
+and `rpm` on Linux, are helpful in gathering system information.
+
+The `ps -ef` command provides helpful information about processes that
+are running, including their process identification numbers (PIDs).
+
+[[ghvbo]][[GSTSG00176]][[stack-traces-and-thread-dumps]]
+
+==== Stack Traces and Thread Dumps
+
+A stack trace is a user-friendly snapshot of the threads and monitors in
+a Virtual Machine for the Java platform (Java Virtual Machine or JVM
+machine). A thread dump shows what every thread in a JVM is doing at a
+given time and is useful in debugging. When the application server
+freezes, hangs, or becomes sluggish for no apparent reason, you should
+generate and analyze a thread dump.
+
+This section explains how to obtain a thread dump for {productName}. More information about analyzing the information
+contained in a thread dump can be found in
+"http://java.sun.com/developer/technicalArticles/Programming/Stacktrace[An
+Introduction to Java Stack Traces]"
+(`http://java.sun.com/developer/technicalArticles/Programming/Stacktrace`).
+
+[[ghykr]][[GSTSG00023]][[to-obtain-a-server-thread-dump]]
+
+===== To Obtain a Server Thread Dump
+
+Type the following command:
+
+[source]
+----
+asadmin generate-jvm-report --type=thread
+----
+
+[[sthref3]]
+
+See Also
+
+link:reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`(1)]
+
+[[ghyjq]][[GSTSG00177]][[visualvm]]
+
+==== VisualVM
+
+VisualVM is a Java troubleshooting tool that uses various technologies
+such as `jvmstat`, JMX, and Attach API to access monitored applications.
+VisualVM is a tool for visualizing data sources and by default
+visualizes the following types: applications, hosts, snapshots, core
+dumps, heap dumps, and thread dumps. These data sources are visualized
+in VisualVM so that they can be monitored for the purposes of analysis,
+management, and troubleshooting. VisualVM is commonly used to detect
+memory leaks.
+
+VisualVM has a GlassFish plugin that enhances monitoring of hosted
+applications by adding specialized overview, a tab for monitoring the
+HTTP Service, and the ability to visually select and monitor any of the
+deployed web applications. You can experiment with VisualVM
+troubleshooting capabilities, but note that various features depend on
+the Java versions used in the client and server. Depending on your
+configuration, you might only get parts of the VisualVM features. For
+more information about VisualVM, see `http://visualvm.java.net`.
+
+[[gjjjl]][[GSTSG00178]][[jvm-command-line-tools]]
+
+==== JVM Command-Line Tools
+
+JVM command-line tools can be used to provide valuable information about
+hung Java processes or Java core dumps. These tools include the
+following:
+
+* `jstack`: Prints Java stack traces of Java threads for a given Java
+process or core file or a remote debug server.
+* `jinfo`: Prints Java configuration information for a given Java
+process or core file or a remote debug server.
+* `jmap`: Prints shared object memory maps or heap memory details for a
+given process or core file or a remote debug server.
+* `jsadebugd`: Attaches to a Java process or core file and acts as a
+debug server. Remote clients such as `jstack`, `jmap`, and `jinfo` can
+attach to the server using Java Remote Invocation Method (RMI).
+* `jhat`: Enables Java heap dumps to be browsed using a web browser.
+* `jstat`: Displays performance statistics for an instrumented HotSpot JVM.
+* `jps`: Lists the instrumented HotSpot JVMs on the target system
+
+[[ghuyv]][[GSTSG00041]][[where-to-go-for-more-information]]
+
+=== Where to Go for More Information
+
+These resources were mentioned throughout this chapter and are provided
+again here for easy reference.
+
+* Release Notes: link:release-notes.html#GSRLN[{productName}
+Release Notes]
+* Error messages: link:error-messages-reference.html#GSEMR[{productName} Error
+Message Reference]
+* Mailing lists and forums: See link:#ghymp[Search the GlassFish Mailing
+Lists and Forums] for details about accessing lists and forums.
+* GlassFish community site: `http://glassfish.java.net/`
+
diff --git a/docs/troubleshooting-guide/src/main/asciidoc/preface.adoc b/docs/troubleshooting-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..5b32784
--- /dev/null
+++ b/docs/troubleshooting-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,331 @@
+type=page
+status=published
+title=Preface
+next=overview.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSTSG00001]][[gkbfu]]
+[[preface]]
+== Preface
+
+[NOTE]
+====
+This documentation is part of the Java Enterprise Edition contribution
+to the Eclipse Foundation and is not intended for use in relation to
+Java Enterprise Edition or Orace GlassFish. The documentation is in the
+process of being revised to reflect the new Jakarta EE branding.
+Additional changes will be made as requirements and procedures evolve
+for Jakarta EE. Where applicable, references to Jakarta EE or Java
+Enterprise Edition should be considered references to Jakarta EE.
+
+Please see the Title page for additional license information.
+====
+
+This guide describes common problems that you might encounter when using
+{productName} and how to solve them.
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSTSG00031]][[ghpbz]]
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSTSG00032]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSTSG00034]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSTSG00035]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/troubleshooting-guide/src/main/asciidoc/specific-issues.adoc b/docs/troubleshooting-guide/src/main/asciidoc/specific-issues.adoc
new file mode 100644
index 0000000..dd0b542
--- /dev/null
+++ b/docs/troubleshooting-guide/src/main/asciidoc/specific-issues.adoc
@@ -0,0 +1,811 @@
+type=page
+status=published
+title=Specific Issues
+next=faqs.html
+prev=overview.html
+~~~~~~
+
+= Specific Issues
+
+[[GSTSG00003]][[abgbj]]
+
+
+[[specific-issues]]
+== 2 Specific Issues
+
+This chapter lists problems that you might encounter when using {productName} 7. The following topics are addressed:
+
+* link:#abgca[Cannot Access Local Server (`http://localhost:8080`)]
+* link:#abgcf[Cannot Access Remote Server]
+* link:#abgcm[Cannot Access the Administration Console]
+* link:#abgcw[Cannot Access a Server Application]
+* link:#gjjoz[Administrator User Name or Password Not Known]
+* link:#gjjpj[Experience Issues Related to the JDK]
+* link:#abgdi[Server Will Not Start on Windows (Port Conflict)]
+* link:#gkvcs[{productName} Fails to Start in an OpenSolaris Zone]
+* link:#abgdr[Two Server Instances Bind to Same Port on Windows]
+* link:#abgel[Cannot Produce a JVM Thread Dump After Server Crash]
+* link:#ghvgk[Issues Related to Applications]
+* link:#ghvhy[Issues Related to `asadmin`]
+* link:#ghvgu[Issues Related to Installation]
+* link:#ghvrh[Issues Related to Security]
+
+[[abgca]][[GSTSG00043]][[cannot-access-local-server-httplocalhost8080]]
+
+=== Cannot Access Local Server (`http://localhost:8080`)
+
+When this error occurs, check the following:
+
+* link:#abgcb[Did the Server Start?]
+* link:#abgcd[Was the Server Started at the Expected Port?]
+* link:#gjjpn[Is a Personal Firewall Enabled?]
+
+[[abgcb]][[GSTSG00179]][[did-the-server-start]]
+
+==== Did the Server Start?
+
+[[abgcc]][[GSTSG00085]][[description]]
+
+===== Description
+
+If the console window is still open, the expected message indicates that
+the default domain was started successfully.
+
+If the console window is already closed, check for messages in the log
+file. This is the default location:
+
+[source]
+----
+domain-dir/logs/server.log
+----
+
+If startup was successful, the expected message is similar to that on
+the console, and appears at the end of the log file.
+
+For more information about starting a domain, see
+"link:administration-guide/domains.html#GSADG00537[
+Starting and Stopping a Domain]"
+in {productName} Administration Guide.
+To easily determine if a domain is running, use the `asadmin list-domains` command.
+
+[[abgcd]][[GSTSG00180]][[was-the-server-started-at-the-expected-port]]
+
+==== Was the Server Started at the Expected Port?
+
+[[abgce]][[GSTSG00086]][[description-1]]
+
+===== Description
+
+The server might be running at a different port number than expected,
+either because it was intentionally installed there, or because another
+server was already running on the default port when the server was
+installed.
+
+[[fxxov]][[GSTSG00024]][[to-determine-which-port-number-the-server-is-using]]
+
+To Determine Which Port Number the Server Is Using
+
+Follow this procedure.
+
+1. Examine the server's configuration file:
++
+[source]
+----
+domain-dir/config/domain.xml
+----
+2. Find the `network-listener` element.
+3. Inspect the value of the `port` attribute.
++
+Be sure to enter the correct port number when invoking the server.
++
+[NOTE]
+====
+The server's default port number is `8080`, however, there are a number
+of ways in which the expected value can change:
+
+* A different port number was specified during installation.
+* A previous installation exists.
+====
+
+
+[[gjjpn]][[GSTSG00181]][[is-a-personal-firewall-enabled]]
+
+==== Is a Personal Firewall Enabled?
+
+Issues might result when personal firewalls are enabled. Disable your
+personal firewall and see if the server access problem still exists.
+
+[[abgcf]][[GSTSG00044]][[cannot-access-remote-server]]
+
+=== Cannot Access Remote Server
+
+When attempting to open the start page of {productName}, the initial
+screen does not appear.
+
+When this error occurs, check the following:
+
+* link:#abgcg[Is the Server Available Locally?]
+* link:#abgcj[Is the Proxy Setting Causing a Problem?]
+
+[[abgcg]][[GSTSG00182]][[is-the-server-available-locally]]
+
+==== Is the Server Available Locally?
+
+[[abgch]][[GSTSG00087]][[description-2]]
+
+===== Description
+
+If the server cannot be accessed from the web, but it is running
+locally, then the server is actually running.
+
+[[abgci]][[GSTSG00088]][[solution]]
+
+===== Solution
+
+Verify that the server is running locally.
+
+[[fxxod]][[GSTSG00025]][[to-verify-that-the-server-is-running-locally]]
+
+To Verify That the Server Is Running Locally
+
+Follow this procedure.
+
+1. Log on to the host where the server is running.
+2. Go to the local web page. For example, if `8080` is the default port, go to:
++
+[source]
+----
+http://localhost:8080/
+----
+If the start page does appear, the web connection is encountering a
+problem that prevents accessing the server remotely. If the start page
+does not appear, see link:#abgcb[Did the Server Start?].
+
+[[abgcj]][[GSTSG00183]][[is-the-proxy-setting-causing-a-problem]]
+
+==== Is the Proxy Setting Causing a Problem?
+
+[[abgck]][[GSTSG00089]][[description-3]]
+
+===== Description
+
+The server should be accessible directly from the host on which it is
+running (`localhost`); for example, using the default port `8080`:
+
+[source]
+----
+http://localhost:8080/
+----
+
+[[abgcl]][[GSTSG00090]][[solution-1]]
+
+===== Solution
+
+A server instance running on `localhost` might not be accessible if the
+server host machine is connected to the web through a proxy. To solve
+this problem, do one of the following:
+
+* Set the browser to bypass the proxy server when accessing `localhost`.
+Refer to the browser's help system for information about how to do this.
+* Use the fully-qualified host name or IP address of your system; for example:
++
+[source]
+----
+http://myhost.mydomain.com:8080/
+----
+* Create an entry in the system's hosts file (for example, pointing
+`127.0.0.1` to `localhost`; `127.0.0.1` is not proxied).
+
+
+[NOTE]
+====
+To determine the host name for the `localhost` machine, type `hostname` at the command prompt.
+====
+
+
+[[abgcm]][[GSTSG00045]][[cannot-access-the-administration-console]]
+
+=== Cannot Access the Administration Console
+
+The Administration Console provides a graphical interface for
+administrative functions. If the Administration Console is not
+accessible, check the following:
+
+* link:#abgcn[Is the Application Server Running?]
+* link:#abgcq[Is the Administration Console Running on the Expected
+Port?]
+
+For more information about the Administration Console, see
+"link:administration-guide/overview.html#GSADG00698[Administration Console]" in {productName} Administration Guide.
+
+[[abgcn]][[GSTSG00184]][[is-the-application-server-running]]
+
+==== Is the Application Server Running?
+
+[[abgco]][[GSTSG00091]][[description-4]]
+
+===== Description
+
+The server must be running before the Administration Console can be
+accessed.
+
+[[abgcp]][[GSTSG00092]][[solution-2]]
+
+===== Solution
+
+Review the information in link:#abgcb[Did the Server Start?] to
+determine if the server is running.
+
+[[abgcq]][[GSTSG00185]][[is-the-administration-console-running-on-the-expected-port]]
+
+==== Is the Administration Console Running on the Expected Port?
+
+[[abgcr]][[GSTSG00093]][[description-5]]
+
+===== Description
+
+The default port number for the Administration Console is `4848`.
+However, it could be running on a different port number than expected,
+either because it was intentionally installed there, or because that
+port was in use when the server was started.
+
+[[abgcs]][[GSTSG00094]][[solution-3]]
+
+===== Solution
+
+Refer to link:#abgcd[Was the Server Started at the Expected Port?] for
+guidelines on verifying the port on which the Administration Console is
+running. Be sure to enter the correct port number and HTTP protocol when
+invoking the Administration Console.
+
+[[abgcw]][[GSTSG00046]][[cannot-access-a-server-application]]
+
+=== Cannot Access a Server Application
+
+If a particular application cannot be accessed through {productName},
+check the following:
+
+* link:#abgcx[Is the Application Server Running?]
+* link:#abgda[Was Application Deployment Successful?]
+
+[[abgcx]][[GSTSG00186]][[is-the-application-server-running-1]]
+
+==== Is the Application Server Running?
+
+[[abgcy]][[GSTSG00095]][[description-6]]
+
+===== Description
+
+If {productName} is not running, applications are not accessible.
+
+[[abgcz]][[GSTSG00096]][[solution-4]]
+
+===== Solution
+
+Review the information in link:#abgcb[Did the Server Start?] to
+determine if the server is running. The server must be running before a
+server application can be accessed.
+
+[[abgda]][[GSTSG00187]][[was-application-deployment-successful]]
+
+==== Was Application Deployment Successful?
+
+[[abgdb]][[GSTSG00097]][[description-7]]
+
+===== Description
+
+An application must be successfully deployed before it can be accessed.
+
+[[abgdc]][[GSTSG00098]][[solution-5]]
+
+===== Solution
+
+Verify that the application was successfully deployed. There are several
+ways to do this:
+
+* Check the server's log file for related entries:
++
+[source]
+----
+domain-dir/server.log
+----
+* Use the `asadmin list-applications` command to determine which
+applications are deployed.
+* View the Applications page in the Administration Console, accessed by
+clicking the Applications node.
+
+For more information about deploying applications, see
+"link:application-deployment-guide/deploying-applications.html#GSDPG00004[Deploying Applications]" in {productName} Application Deployment Guide. Also see the Administration
+Console online help.
+
+[[gjjoz]][[GSTSG00047]][[administrator-user-name-or-password-not-known]]
+
+=== Administrator User Name or Password Not Known
+
+If you have forgotten the administrator user name, you can find it by
+inspecting the domain-dir`/config/admin-keyfile` file, where domain-dir
+is the directory for the domain. In the default domain, `domain1`, the
+file to inspect is domain-dir`/config/admin-keyfile`. For a different
+domain, substitute its name in the path.
+
+If you have forgotten the administrator password, one solution is to
+create a new domain with the admin username and password that you want,
+then copy the entry from the `config/admin-keyfile` file in that new
+domain to the other domain.
+
+[[gjjpj]][[GSTSG00048]][[experience-issues-related-to-the-jdk]]
+
+=== Experience Issues Related to the JDK
+
+[[gjjpl]][[GSTSG00188]][[description-8]]
+
+==== Description
+
+You experience JDK-related issues in a variety of circumstances.
+
+[[gjjop]][[GSTSG00189]][[solution-6]]
+
+==== Solution
+
+{productName} 7 requires JDK 11, so check your system for that dependency.
+
+Ensure that the required JDK software is installed and that the
+`JAVA_HOME` environment variable points to the JDK installation
+directory, not the Java Runtime Environment (JRE) software.
+
+Set `JAVA_HOME` and `$JAVA_HOME/bin` in the `PATH` to point to the
+supported JDK version.
+
+[[abgdi]][[GSTSG00049]][[server-will-not-start-on-windows-port-conflict]]
+
+=== Server Will Not Start on Windows (Port Conflict)
+
+If a message similar to the following is displayed when starting
+{productName} on Microsoft Windows, a server port conflict has
+occurred:
+
+[source]
+----
+Address already in use
+----
+
+This error occurs when another application is running on the {productName} port (default `8080`), or because a previous instance of
+{productName} did not shut down cleanly.
+
+You might also check the following:
+
+* link:#abgdj[Is Another Application Running on the Server's Port?]
+* link:#abgdk[Has an Ungraceful Shutdown Occurred on a Previously Running Server?]
+
+[[abgdj]][[GSTSG00190]][[is-another-application-running-on-the-servers-port]]
+
+==== Is Another Application Running on the Server's Port?
+
+If another application is using the server's port, stop the other
+application, then restart {productName}.
+
+[[abgdk]][[GSTSG00191]][[has-an-ungraceful-shutdown-occurred-on-a-previously-running-server]]
+
+==== Has an Ungraceful Shutdown Occurred on a Previously Running Server?
+
+Use the `asadmin stop-domain` command to stop the server, or explicitly
+kill the Java process and then restart {productName}.
+
+[[gkvcs]][[GSTSG00050]][[glassfish-server-fails-to-start-in-an-opensolaris-zone]]
+
+=== {productName} Fails to Start in an OpenSolaris Zone
+
+[[gkvcx]][[GSTSG00192]][[description-9]]
+
+==== Description
+
+If {productName} is installed in an OpenSolaris zone, an attempt to
+start a domain might fail with the following error message:
+
+[source]
+----
+Waiting for DAS to start ..Error starting domain: domain.
+The server exited prematurely with exit code 6.
+Before it died, it produced the following output:
+
+UTF ERROR ["../../../src/solaris/instrument/EncodingSupport_md.c":66]:
+Failed to complete iconv_open() setup
+----
+
+The failure occurs because, by default, an OpenSolaris zone is installed
+without language and encoding support, which {productName} requires.
+
+[[gkvdf]][[GSTSG00026]][[resolution-to-enable-glassfish-server-to-run-in-an-opensolaris-zone]]
+
+==== Resolution: To Enable {productName} to Run in an OpenSolaris Zone
+
+1. Install the package that provides language and encoding support for
+your locale.
++
+[source]
+----
+$ pkg install package-name
+----
+package-name::
+  The name of the package that provides language and encoding support
+  for your locale. For example, the name of the package that provides
+  language and encoding support for the US English locale is
+  `SUNWlang-enUS`.
+2. Set the `LANG` environment variable to the code for your locale.
++
+For example, if your locale is US English, set the `LANG` environment
+variable to `en_US.UTF-8`.
+
+[[abgdr]][[GSTSG00051]][[two-server-instances-bind-to-same-port-on-windows]]
+
+=== Two Server Instances Bind to Same Port on Windows
+
+[[abgds]][[GSTSG00193]][[description-10]]
+
+==== Description
+
+This problem occurs on Windows XP systems with {productName}
+software, and is due to a known Windows security flaw rather than a
+problem with {productName} itself.
+
+The problem occurs when two or more instances of {productName} are
+created using the same port number for the `instanceport` option; for
+example:
+
+[source]
+----
+asadmin create-domain -adminport 5001 options -instanceport 6001 domain
+asadmin create-domain -adminport 5002 options -instanceport 6001 domain
+----
+
+When the two domains are started on a UNIX or Linux system, a port
+conflict error is thrown and the second instance fails to start.
+However, when the two domains are started on Windows XP, no error is
+thrown, both server instances start, but only the first instance is
+accessible at the specified port. When that first server instance is
+subsequently shut down, the second instance then becomes accessible.
+Moreover, when both instances are running, the Windows `netstat` command
+only reports the first instance.
+
+[[fxxyd]][[GSTSG00194]][[solution-7]]
+
+==== Solution
+
+Be sure to use unique port numbers for all server instances on Windows
+systems.
+
+[[abgel]][[GSTSG00052]][[cannot-produce-a-jvm-thread-dump-after-server-crash]]
+
+=== Cannot Produce a JVM Thread Dump After Server Crash
+
+[[abgem]][[GSTSG00195]][[description-11]]
+
+==== Description
+
+If {productName} crashes, the server dumps a core file and, by
+default, restarts with the `-Xrs` flag, which prevents the dump of a JVM
+thread dump.
+
+[[fxxyw]][[GSTSG00196]][[solution-8]]
+
+==== Solution
+
+[[ghylc]][[GSTSG00027]][[to-obtain-a-server-thread-dump-specific-issues]]
+
+===== To Obtain a Server Thread Dump
+
+Type the following command:
+
+[source]
+----
+asadmin generate-jvm-report --type=thread
+----
+
+[[sthref4]]
+
+See Also
+
+link:reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`(1)]
+
+[[ghvgk]][[GSTSG00053]][[issues-related-to-applications]]
+
+=== Issues Related to Applications
+
+[[abgee]][[GSTSG00197]][[cannot-undeploy-or-redeploy-application-with-open-streams-to-jar-files-windows]]
+
+==== Cannot Undeploy or Redeploy Application With Open Streams to `jar` Files (Windows)
+
+[[abgef]][[GSTSG00099]][[description-12]]
+
+===== Description
+
+On Windows systems, after running an application, subsequent attempts to
+undeploy it or redeploy it throw exceptions about the server being
+unable to delete a file or rename a directory.
+
+On Windows systems, an application may use `getClass().getResource` or
+`getResourceAsStream` methods to locate a resource inside the
+application, particularly in `jar` files that are in the application or
+accessible to it. If the streams remain open, subsequent attempts to
+redeploy or undeploy the application can fail. In addition, the Java
+runtime by default caches streams to `jar` files for performance
+reasons.
+
+[[fxxyr]][[GSTSG00100]][[solution-9]]
+
+===== Solution
+
+Be sure to close streams opened by your applications. Also, if an
+application needs to be redeployed or undeployed repeatedly, and also
+needs to obtain a resource from a `jar` file using `getResource` or
+`getResourceAsStream`, consider using `getClass().getResource`, which
+returns a URL object, then invoke the `url.setUseCaches` method to turn
+off caching for that `jar` file, and use `url.getInputStream()` to
+obtain the stream.
+
+Although turning off caching for access to the `jar` file can slow
+performance, this approach does allow the application to be undeployed
+or redeployed. Note also that if the `getClass().getResourceAsStream`
+method is used instead, then the `jar` file in which the resource is
+located is cached (this is the default Java runtime setting) and remains
+open until the server is stopped.
+
+[[gldbk]][[GSTSG00198]][[maxpermgen-exception]]
+
+==== `MaxPermGen` Exception
+
+[[gldbn]][[GSTSG00101]][[description-13]]
+
+===== Description
+
+Application servers such as {productName} allow you to redeploy an
+application without restarting the server. Simply make the change in
+your source code, compile the source, and redeploy the application.
+
+Each application is loaded using its own classloader. When you undeploy
+an application, its classloader is discarded with all the classes it
+loaded and is garbage collected sooner or later. However, if there's a
+reference from outside an application to an object in the application
+loaded by the application's classloader, that object can't be garbage
+collected. The reference holds the object in memory.
+
+The memory in the Virtual Machine is divided into a number of regions.
+One of these regions is `PermGen`. It's an area of memory used to (among
+other things) load class files. The size of this memory region is fixed;
+it does not change when the VM is running. You can specify the size of
+this region with a command line switch: `-XX:MaxPermSize`. Setting the
+`-Xmx` parameter does not help: this parameter only specifies the total
+heap size and does not affect the size of the `PermGen` region.
+
+If you keep loading new classes that can't be garbage collected because
+of references to them from outside the application, the VM runs out of
+space in the `PermGen` region, even if there's plenty of memory
+available. This is called a classloader leak. The resulting exception is
+`java.lang.OutOfMemoryError: PermGen space`.
+
+The `java.lang.String.intern()` method also allocates memory in the
+`PermGen` region. If your application uses this method with strings and
+holds references to these strings, thereby making garbage collection
+impossible, your application may cause the same `PermGen space`
+exception.
+
+[[gldbw]][[GSTSG00102]][[solution-10]]
+
+===== Solution
+
+Classloader leaks are difficult to diagnose. Most profilers list leaked
+objects but don't highlight the ones causing classloader leaks. Most
+profilers also stop tracing as soon as they reach a class object or
+classloader.
+
+One diagnostic approach involves undeploying the application and
+triggering a memory dump using the JDK 11 `jcmd` tool.
+The simplest analysis is to list all instances of `java.lang.Class`
+and look for class objects that have many instances.
+This is a sign that the class has been loaded
+multiple times without being garbage collected.
+
+See https://www.eclipse.org/openj9/docs/tool_jcmd/ for more information.
+
+
+[[ghvhy]][[GSTSG00054]][[issues-related-to-asadmin]]
+
+=== Issues Related to `asadmin`
+
+[[ghvhi]][[GSTSG00199]][[asadmin-start-domain-command-fails]]
+
+==== `asadmin` `start-domain` Command Fails
+
+The command `asadmin start-domain` fails with the following error:
+
+[source]
+----
+There is more than one domain...
+----
+
+[[gjkph]][[GSTSG00103]][[description-14]]
+
+===== Description
+
+When issued with no arguments, the command `asadmin start-domain` fails.
+
+This error occurs when there is more than one domain in the domains
+directory, none of them is named `domain1,` and no domain is specified
+with the `start-domain` command.
+
+[[gjkoy]][[GSTSG00104]][[solution-11]]
+
+===== Solution
+
+Specify the domain when issuing the `start-domain` command:
+
+[source]
+----
+asadmin start-domain domain-name
+----
+
+For example:
+
+[source]
+----
+asadmin start-domain mycustomdomain
+----
+
+[[ghvhx]][[GSTSG00200]][[cannot-stop-domain-using-asadmin-stop-domain]]
+
+==== Cannot Stop Domain Using `asadmin` `stop-domain`
+
+[[ghvhl]][[GSTSG00105]][[description-15]]
+
+===== Description
+
+You cannot stop the domain using the `asadmin` `stop-domain` command.
+
+[[ghvha]][[GSTSG00106]][[solution-12]]
+
+===== Solution
+
+Look for error messages that display in the console when you issue the command.
+
+Search the `server.log` file for error messages related to your
+inability to stop the domain.
+
+[[ghvgu]][[GSTSG00055]][[issues-related-to-installation]]
+
+=== Issues Related to Installation
+
+[[gjjnu]][[GSTSG00201]][[installation-hangs-during-update-tool-configuration]]
+
+==== Installation Hangs During Update Tool Configuration
+
+[[giqjt]][[GSTSG00107]][[description-16]]
+
+===== Description
+
+Installation hangs more than five minutes during Update Tool configuration.
+
+[[giqle]][[GSTSG00108]][[solution-13]]
+
+===== Solution
+
+Cancel the installation and run the installation program again, but this
+time deselect the Install Update Tool check box. Update Tool can be
+installed later from as-install``/bin/``. For more information about
+Update Tool, see "link:administration-guide.html#GSADG00701[Update Tool]"
+in {productName} Administration Guide. For general information about
+{productName}installation, see the link:installation-guide.html#GSING[
+{productName} Installation Guide].
+
+
+[NOTE]
+====
+Update Tool differs from Upgrade Tool, which is used to migrate the
+configuration and deployed applications from an earlier version of
+{productName} to the current version.
+For more information about Upgrade Tool and upgrading, see the
+link:upgrade-guide.html#GSUPG[{productName} Upgrade Guide].
+====
+
+
+[[gjjob]][[GSTSG00202]][[glassfish-server-components-not-removed-during-uninstallation]]
+
+==== {productName} Components Not Removed During Uninstallation
+
+[[gjjoh]][[GSTSG00109]][[description-17]]
+
+===== Description
+
+Not all {productName} directories are automatically removed by the
+uninstallation program. Some directories and files remain after
+uninstalling.
+
+[[gjjnk]][[GSTSG00110]][[solution-14]]
+
+===== Solution
+
+Examine the remaining directories and remove any files or directories
+that you do not want, including hidden directories prefixed with a dot.
+It is safe to remove uninstallation and installation log files after you
+have examined them.
+
+For information related to uninstallation, see
+"link:installation-guide/uninstalling.html#GSING00003[Uninstalling GlassFish]"
+in {productName} Installation Guide.
+
+[[ghvrh]][[GSTSG00056]][[issues-related-to-security]]
+
+=== Issues Related to Security
+
+[[abgjt]][[GSTSG00203]][[java.security.accesscontrolexception-access-denied-error]]
+
+==== `java.security.AccessControlException`: Access Denied Error
+
+[[abgju]][[GSTSG00111]][[description-18]]
+
+===== Description
+
+The following error occurs from an application client, or appears in the
+`server.log` file:
+
+[source]
+----
+java.security.AccessControlException: access denied
+(java.util.PropertyPermission name write...)
+----
+
+There is a permissions issue in the policy files. Either the
+`client.policy` file for the application client or the `server.policy`
+file for server side components does not have permission to set the
+property.
+
+[[fxxzk]][[GSTSG00112]][[solution-15]]
+
+===== Solution
+
+Add the permission in `client.policy` (for the application client), or
+in `server.policy` (for web modules) for the application that needs to
+set the property. By default, applications only have read permission for
+properties.
+
+For example, to grant read/write permission for all files in the
+codebase directory, add or append the following to `client.policy` or
+`server.policy`:
+
+[source]
+----
+grant codeBase "file:/.../build/sparc_SunOS/sec/-" {
+   permission java.util.PropertyPermission "*", "read,write";
+ };
+----
+
+[[abgka]][[GSTSG00204]][[mutual-authentication-not-working-with-the-application-client]]
+
+==== Mutual Authentication Not Working With the Application Client
+
+[[abgkb]][[GSTSG00113]][[description-19]]
+
+===== Description
+
+This failure can occur when the keystore and truststore properties are
+not set properly.
+
+[[fxxzu]][[GSTSG00114]][[solution-16]]
+
+===== Solution
+
+Set the following properties on the JVM:
+
+[source]
+----
+javax.net.ssl.keyStore=
+<keystore-file-path>;javax.net.ssl.trustStore=<truststore-file-path>
+----
+
+To use the application client, set the environment variable `VMARGS` to
+the following value:
+
+[source]
+----
+-Djavax.net.ssl.keyStore=${admin.domain.dir}/${admin.domain}/config/keystore.jks
+-Djavax.net.ssl.trustStore=${admin.domain.dir}/${admin.domain}/config/cacerts.jks
+----
diff --git a/docs/troubleshooting-guide/src/main/asciidoc/title.adoc b/docs/troubleshooting-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..613d218
--- /dev/null
+++ b/docs/troubleshooting-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,46 @@
+type=page
+status=published
+title={productName} Troubleshooting Guide, Release 7
+next=preface.html
+prev=toc.html
+~~~~~~
+
+= {productName} Troubleshooting Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Troubleshooting Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This guide describes common problems that you might encounter when using
+{productName} and how to solve them.
+
+[[sthref1]]
+
+'''''
+
+{productName} Troubleshooting Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
+
+image:img/eclipse_foundation_logo_tiny.png["Eclipse Logo"]
diff --git a/docs/troubleshooting-guide/src/main/jbake/assets/css/style.css b/docs/troubleshooting-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/troubleshooting-guide/src/main/jbake/content/faqs.adoc b/docs/troubleshooting-guide/src/main/jbake/content/faqs.adoc
deleted file mode 100644
index f02ad80..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/content/faqs.adoc
+++ /dev/null
@@ -1,218 +0,0 @@
-type=page
-status=published
-title=Frequently Asked Questions
-prev=specific-issues.html
-~~~~~~
-Frequently Asked Questions
-==========================
-
-[[GSTSG00006]][[abgkd]]
-
-
-[[frequently-asked-questions]]
-3 Frequently Asked Questions
-----------------------------
-
-This chapter lists a few of the Frequently Asked Questions (FAQs)
-related to Oracle GlassFish Server 4.0. For the latest FAQs, see the
-GlassFish wiki at
-`http://wikis.sun.com/display/GlassFish/GlassFishFAQIndex`.
-
-This chapter contains the following:
-
-* link:#ghynj[Administration FAQs]
-* link:#ghyaf[Application FAQs]
-* link:#ghyak[Eclipse FAQs]
-* link:#ghybv[Extensibility FAQs]
-* link:#ghybi[Java Persistence FAQs]
-* link:#ghybd[Update Tool FAQs]
-
-[[ghynj]][[GSTSG00071]][[administration-faqs]]
-
-Administration FAQs
-~~~~~~~~~~~~~~~~~~~
-
-[[ghvhr]][[GSTSG00252]][[which-asadmin-commands-are-supported]]
-
-Which `asadmin` Commands are Supported?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use `asadmin` `list-commands` to determine which commands are supported
-and available for use. For related information, see
-"link:../administration-guide/asadmin-subcommands.html#GSADG00023[Subcommands for the asadmin Utility]" in GlassFish
-Server Open Source Edition Administration Guide.
-
-[[ghyaf]][[GSTSG00072]][[application-faqs]]
-
-Application FAQs
-~~~~~~~~~~~~~~~~
-
-[[ghybu]][[GSTSG00253]][[how-do-i-debug-applications]]
-
-How Do I Debug Applications?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-See "link:../application-development-guide/debugging-apps.html#GSDVG00004[Debugging Applications]" in GlassFish Server Open
-Source Edition Application Development Guide.
-
-[[ghybh]][[GSTSG00254]][[how-do-i-change-application-permissions]]
-
-How Do I Change Application Permissions?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-See "link:../application-development-guide/securing-apps.html#GSDVG00372[Changing Permissions for an Application]" in
-Eclipse GlassFish Server Application Development Guide.
-
-[[ghybt]][[GSTSG00255]][[what-are-the-restrictions-and-optimizations-for-session-beans]]
-
-What Are the Restrictions and Optimizations for Session Beans?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-See "link:../application-development-guide/ejb.html#GSDVG00427[Session Bean Restrictions and Optimizations]" in
-Eclipse GlassFish Server Application Development Guide.
-
-[[ghyak]][[GSTSG00073]][[eclipse-faqs]]
-
-Eclipse FAQs
-~~~~~~~~~~~~
-
-[[ghvmc]][[GSTSG00256]][[where-can-i-find-more-information-about-eclipse-and-glassfish-server-integration]]
-
-Where Can I Find More Information About Eclipse and GlassFish Server
-Integration?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Eclipse is a development environment that provides a framework, tools,
-and runtime for deploying and managing software. The GlassFish plugin
-for Eclipse provides important changes to better support GlassFish
-Server and to provide optimal redeployment of web applications. For more
-information, see the GlassFish Plugins page:
-`http://glassfishplugins.java.net`.
-
-[[ghybv]][[GSTSG00074]][[extensibility-faqs]]
-
-Extensibility FAQs
-~~~~~~~~~~~~~~~~~~
-
-[[ghyaw]][[GSTSG00257]][[how-do-i-develop-add-on-components]]
-
-How Do I Develop Add-On Components?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-See the link:../add-on-component-development-guide/toc.html#GSACG[Eclipse GlassFish Server Add-On
-Component Development Guide] for complete details.
-
-[[ghvhg]][[GSTSG00258]][[how-do-i-add-containers]]
-
-How Do I Add Containers?
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-GlassFish Server has a highly modular architecture that enables you to
-add new types of containers that handle many application types, not just
-Java EE. GlassFish Server defines a service provider interface (SPI),
-which container developers implement. The GlassFish Server framework
-then invokes the container's implementation of the SPI to detect,
-deploy, and manage applications of the new type.
-
-For more information, see "link:../add-on-component-development-guide/adding-container-capabilities.html#GSACG00007[Adding Container
-Capabilities]" in Eclipse GlassFish Server Add-On Component
-Development Guide.
-
-[[ghvgv]][[GSTSG00259]][[how-do-i-extend-the-administration-console]]
-
-How Do I Extend the Administration Console?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-See "link:../add-on-component-development-guide/extending-the-admin-console.html#GSACG00003[Extending the Administration Console]" in
-Eclipse GlassFish Server Add-On Component Development Guide.
-
-[[ghybi]][[GSTSG00075]][[java-persistence-faqs]]
-
-Java Persistence FAQs
-~~~~~~~~~~~~~~~~~~~~~
-
-[[ghvnl]][[GSTSG00260]][[what-are-the-restrictions-and-optimizations-for-the-java-persistence-api]]
-
-What Are the Restrictions and Optimizations for the Java Persistence
-API?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-See "link:../application-development-guide/jpa.html#GSDVG00139[Restrictions and Optimizations]" in GlassFish
-Server Open Source Edition Application Development Guide.
-
-[[ghybd]][[GSTSG00076]][[update-tool-faqs]]
-
-Update Tool FAQs
-~~~~~~~~~~~~~~~~
-
-[[ghvly]][[GSTSG00261]][[how-do-i-use-update-tool-to-extend-my-glassfish-server-installation]]
-
-How Do I Use Update Tool to Extend My GlassFish Server Installation?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Enterprise Server provides an administrative tool called Update Tool
-that enables you to install updates and add-on components to your
-existing Enterprise Server installation.
-
-Update Tool can be accessed as a standalone graphical tool from the
-command line (using the `updatetool` command from
-as-install-parent`/bin`), or as a browser-based graphical tool from the
-Administration Console (using the Update Tool node). For more
-information about Update Tool, see "link:../administration-guide/toc.html#GSADG00701[Update Tool]" in
-Eclipse GlassFish Server Administration Guide.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To update or remove installed components, you must use the standalone
-graphical Update Tool, not the Administration Console Update Tool.
-
-|=======================================================================
-
-
-A command-line interface is also available for Update Tool. This
-interface uses the `pkg` command and enables you to perform most of the
-tasks provided by the standalone graphical version. For more information
-about the `pkg` command, see "link:../administration-guide/toc.html#GSADG00014[Extending and Updating
-GlassFish Server]" in Eclipse GlassFish Server
-Administration Guide.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Update Tool differs from Upgrade Tool, which is used to migrate the
-configuration and deployed applications from an earlier version of
-GlassFish Server to the current version. For more information about
-Upgrade Tool and upgrading, see the link:../upgrade-guide/toc.html#GSUPG[GlassFish Server Open
-Source Edition Upgrade Guide].
-
-|=======================================================================
-
-
-[[gjjoq]][[GSTSG00262]][[how-do-i-turn-off-the-notifier]]
-
-How Do I Turn Off the Notifier?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Update Tool provides automatic notifications of available updates after
-installation. These notifications can be turned off if desired.
-
-[[gjjox]][[GSTSG00028]][[to-turn-off-the-notifier]]
-
-To Turn Off the Notifier
-++++++++++++++++++++++++
-
-1.  Launch the standalone graphical tool using the `updatetool` command: +
-[source,oac_no_warn]
-----
-as-install-parent/bin/updatetool
-----
-2.  Click Preferences.
-3.  Click the Updates tab.
-4.  Deselect Automatically Check for Updates and click OK.
diff --git a/docs/troubleshooting-guide/src/main/jbake/content/overview.adoc b/docs/troubleshooting-guide/src/main/jbake/content/overview.adoc
deleted file mode 100644
index 1545f1c..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/content/overview.adoc
+++ /dev/null
@@ -1,431 +0,0 @@
-type=page
-status=published
-title=Overview of Eclipse GlassFish Server Troubleshooting
-next=specific-issues.html
-prev=preface.html
-~~~~~~
-Overview of Eclipse GlassFish Server Troubleshooting
-====================================================
-
-[[GSTSG00002]][[abgap]]
-
-
-[[overview-of-glassfish-server-open-source-edition-troubleshooting]]
-1 Overview of Eclipse GlassFish Server Troubleshooting
-------------------------------------------------------
-
-This chapter describes some of the tools, methods, and resources
-available for troubleshooting Eclipse GlassFish Server.
-Guidelines for evaluating and investigating a problem are provided.
-
-This chapter contains the following sections:
-
-* link:#abgar[Identifying the Problem]
-* link:#ghuvy[Troubleshooting Tools]
-* link:#ghuyv[Where to Go for More Information]
-
-[[abgar]][[GSTSG00039]][[identifying-the-problem]]
-
-Identifying the Problem
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Application servers are typically deployed in complex operating
-environments and involve many technologies, products, and tools.
-Understanding and diagnosing problems in enterprise software with many
-components performing many tasks can be a challenge. This section
-describes how to get started , and contains the following topics:
-
-* link:#ghvay[First Steps]
-* link:#ghuvf[Gathering Information]
-* link:#abgax[Examining Log Files]
-* link:#ghuvd[Monitoring the System]
-
-[[ghvay]][[GSTSG00171]][[first-steps]]
-
-First Steps
-^^^^^^^^^^^
-
-Sometimes the most obvious solutions are overlooked. As you begin your
-investigation, try the following steps first.
-
-[[ghyku]][[GSTSG00077]][[verify-system-requirements-and-configuration]]
-
-Verify System Requirements and Configuration
-++++++++++++++++++++++++++++++++++++++++++++
-
-Ensure that your system meets the requirements listed in
-"link:../release-notes/release-notes.html#GSRLN00131[Hardware and Software Requirements]" in GlassFish
-Server Open Source Edition Release Notes. Problems are likely to arise
-if you attempt to install on a platform that is not supported or on a
-system that in some other way does not meet release requirements. Also
-see "link:../release-notes/release-notes.html#GSRLN00253[Known Issues]" in GlassFish Server Open Source
-Edition Release Notes for known issues related to installation.
-
-Eclipse GlassFish Server requires JDK release 6. The minimum
-(and certified) version of the JDK that is required for GlassFish Server
-Open Source Edition depends on the operating system:
-
-* For supported operating systems except Mac OS, the minimum required
-version is 1.6.0_17.
-* For the Mac OS X operating system, the minimum required version is
-1.6.0_15.
-
-If necessary, download and install the required JDK software.
-
-On Solaris, Linux, and Windows systems, JDK software is available from
-the
-http://www.oracle.com/technetwork/java/javase/downloads/index.html[Java
-SE downloads page]
-(`http://www.oracle.com/technetwork/java/javase/downloads/index.html`).
-
-For Mac OS X systems, Eclipse GlassFish Server uses the JDK
-that is part of the Macintosh operating system. If necessary, obtain the
-required JDK version from the http://support.apple.com/downloads/[Mac OS
-X Updates site] (`http://support.apple.com/downloads/`).
-
-Also ensure that the `JAVA_HOME` environment variable on your system
-points to the JDK installation directory and not the Java Runtime
-Environment (JRE) software.
-
-Set `JAVA_HOME` and `$JAVA_HOME/bin` in the `PATH` to point to the
-supported JDK version.
-
-[[ghyml]][[GSTSG00078]][[review-known-issues]]
-
-Review Known Issues
-+++++++++++++++++++
-
-Your problem might be related to a known issue for the release. Refer to
-the link:../release-notes/toc.html#GSRLN[Eclipse GlassFish Server Release Notes] for
-the latest information regarding known issues and possible workarounds.
-Also search the GlassFish Issue Tracker at
-`http://java.net/jira/browse/GLASSFISH`.
-
-[[ghykl]][[GSTSG00079]][[search-the-product-documentation]]
-
-Search the Product Documentation
-++++++++++++++++++++++++++++++++
-
-Eclipse GlassFish Server includes complete product
-documentation. Search the documentation to see if your problem is
-addressed. See link:preface.html#ghpbz[GlassFish Server Documentation
-Set] for the books in the documentation set and a description of their
-contents. Also see the Administration Console online help for detailed
-information about performing administrative tasks using the graphical
-interface.
-
-The following books will be especially helpful for troubleshooting:
-
-* link:../release-notes/toc.html#GSRLN[Eclipse GlassFish Server Release Notes], which
-provides the latest information regarding known issues and possible
-workarounds.
-* link:../error-messages-reference/toc.html#GSEMR[Eclipse GlassFish Server Error Message
-Reference], which lists error messages you might encounter when using
-GlassFish Server.
-
-Use the product documentation to learn more about GlassFish Server Open
-Source Edition. The more you know about the product the easier it might
-be to figure out why something isn't working.
-
-[[ghymp]][[GSTSG00080]][[search-the-glassfish-mailing-lists-and-forums]]
-
-Search the GlassFish Mailing Lists and Forums
-+++++++++++++++++++++++++++++++++++++++++++++
-
-Lists and forums are extremely helpful resources, and are accessed as
-follows:
-
-* GlassFish mailing lists (start with users@glassfish.java.net and
-search the archives): `http://java.net/projects/glassfish/lists/`
-* GlassFish user forum: `http://www.java.net/forums/glassfish/glassfish`
-
-[[ghuvf]][[GSTSG00172]][[gathering-information]]
-
-Gathering Information
-^^^^^^^^^^^^^^^^^^^^^
-
-Troubleshooting and analysis require information. The more information
-you have the easier it is to classify a problem and search for its
-solution. Detailed information will also be necessary should you need to
-contact others for support, either through a community mailing list or
-through more formal Sun support channels.
-
-As you continue your investigation, consider the following questions.
-
-[[ghvar]][[GSTSG00081]][[when-does-the-problem-occur]]
-
-When Does the Problem Occur?
-++++++++++++++++++++++++++++
-
-* What do the logs show? What kind of error message are you getting? For
-more information about logs, see link:#abgax[Examining Log Files]. Logs
-are a good place to start your troubleshooting.
-* What are you trying to do when the problem occurs and how are you
-doing it? What is the sequence of events?
-* Does the problem occur every time you perform the same type of
-operation, or does it seem random? Can you reproduce the issue?
-* Have other events or problems occurred that could possibly be related,
-such as web sessions closing early, exceptions being thrown in your own
-application logic, components not being correctly deployed or
-undeployed?
-
-[[ghvbb]][[GSTSG00082]][[what-is-your-environment]]
-
-What Is Your Environment?
-+++++++++++++++++++++++++
-
-* What version of Eclipse GlassFish Server are you using?
-What operating system and version? What JDK version? Many problems are
-caused simply because system requirements for the release are not met.
-Refer to the link:../release-notes/toc.html#GSRLN[Eclipse GlassFish Server Release
-Notes] for the latest information regarding system requirements, and
-make sure your system meets those requirements.
-* What resources does your system have, such as memory, disk, and swap
-space? If system memory is an issue, look for ways to optimize your
-configuration and consider taking other actions such as adding memory or
-decreasing system load.
-* Have any patches been applied? If so, what are the product and
-operating system patch numbers?
-* What other products and technologies are installed and being used in
-the installation?
-* How many application servers, web servers, and directory servers are
-installed? What are the products and versions?
-* How is the web server connected to GlassFish Server Open Source
-Edition? On the same system?
-* How is Eclipse GlassFish Server connected to the directory
-server?
-* What JDBC driver is being used to access the database?
-
-[[ghvce]][[GSTSG00083]][[what-is-your-system-configuration]]
-
-What Is Your System Configuration?
-++++++++++++++++++++++++++++++++++
-
-* What are your settings?
-* On which port is Eclipse GlassFish Server configured — the
-default or something else?
-* What defaults were changed during installation and what are the
-values?
-* What other settings were changed from the defaults and what are their
-values?
-* What are the parameters related to JVM heap, stack, and garbage
-collection set to?
-* What are the JVM options?
-* What is the permgen size? `OutOfMemoryError:PermGen space` errors are
-common and indicate that you need to increase the permanent generation
-space available.
-* Is SSL enabled?
-* What are your network settings (proxy, firewall, and so on)? What
-happens if you disable your firewall and attempt the task?
-
-[[ghvcr]][[GSTSG00084]][[what-is-different]]
-
-What Is Different?
-++++++++++++++++++
-
-* What is different that could have provoked the problem or triggered
-the event? Was something new added or changed? Have any new applications
-been deployed? If changes have been made recently, consider backing them
-out and seeing what happens — does the problem still occur?
-* Was the feature or functionality working correctly at one time? If so,
-what changed or happened between then and now?
-* Is this working on another system? If so, what is different about that
-environment?
-
-[[abgax]][[GSTSG00173]][[examining-log-files]]
-
-Examining Log Files
-^^^^^^^^^^^^^^^^^^^
-
-Logging is one of your most important troubleshooting tools. It is the
-process by which Eclipse GlassFish Server captures data
-about events that occur during server operation, such as configuration
-errors, security failures, or server malfunction. This data is recorded
-in log files, and is usually your first source of information when
-Enterprise Server problems occur. The primary purpose of log files is to
-provide troubleshooting information. Analyzing the log files can help
-determine the health of the server and identify problem areas.
-
-By default, log information for each GlassFish Server Open Source
-Edition server instance is captured in a `server.log` file. That is,
-each instance, including the domain administration server (DAS), has an
-individual log file. By default, the log file for the DAS is located in
-domain-dir`/logs`, and the log file for each instance is located in
-instance-dir`/logs`.
-
-In addition, for domains that use clustering, GlassFish Server Open
-Source Edition captures log information for each cluster instance in a
-`cluster.log` file. By default, the `cluster.log` file is also located
-in instance-dir`/logs`.
-
-Oracle recommends using the Administration Console to view logging
-information. However, you can open a log file in a text editor and
-search for the module or message in which you are interested. GlassFish
-Server Open Source Edition also lets you collect log files into a ZIP
-file, which provides a convenient means to collect and view the log
-files for an instance or a domain even when it is not running.
-
-You configure the Logging Service by setting attributes in the
-`logging.properties` file. Each server, configuration, instance, and
-cluster in the Eclipse GlassFish Server domain has an
-individual `logging.properties` file. The root directory in which these
-`logging.properties` files are located is the same directory as for the
-`domain.xml` file, typically domain-dir/`config`. The default target
-when configuring logging attributes is the DAS. However, you can
-optionally target a specific server, instance, or cluster. You can also
-target a configuration that is shared by one or more instances or
-clusters. The Logging Service can also be configured using the
-Administration Console.
-
-Log levels such as `SEVERE`, `WARNING`, `INFO`, `CONFIG`, and others can
-be set to provide different types and amounts of information. The
-default setting is `INFO`. Each Eclipse GlassFish Server
-module has its own logger, and each logger has its own namespace. Log
-levels can be set globally for all loggers, or individually for
-module-specific loggers.
-
-For information about using the Administration Console log viewer and
-logging functions, see the Administration Console online help. For
-information about using the command line for logging functions, see
-"link:../administration-guide/logging.html#GSADG00010[Administering the Logging Service]" in GlassFish
-Server Open Source Edition Administration Guide.
-
-[[ghuvd]][[GSTSG00174]][[monitoring-the-system]]
-
-Monitoring the System
-^^^^^^^^^^^^^^^^^^^^^
-
-Monitoring is another helpful tool. It is the process of reviewing the
-statistics of a system to improve performance or solve problems. By
-monitoring the state of various components and services deployed in
-Eclipse GlassFish Server you can identify performance
-bottlenecks, predict failures, perform root cause analysis, and ensure
-that everything is functioning as expected. For more information about
-monitoring, including JConsole information, see
-"link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in GlassFish
-Server Open Source Edition Administration Guide.
-
-[[ghuvy]][[GSTSG00040]][[troubleshooting-tools]]
-
-Troubleshooting Tools
-~~~~~~~~~~~~~~~~~~~~~
-
-Several tools are available that can be used to collect information for
-troubleshooting purposes. This section provides basic information about
-some of them, and includes the following:
-
-* link:#ghvcm[Operating System Utilities]
-* link:#ghvbo[Stack Traces and Thread Dumps]
-* link:#ghyjq[VisualVM]
-* link:#gjjjl[JVM Command-Line Tools]
-
-[[ghvcm]][[GSTSG00175]][[operating-system-utilities]]
-
-Operating System Utilities
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Operating system utilities, such as `pkginfo` and `showrev` on Solaris
-and `rpm` on Linux, are helpful in gathering system information.
-
-The `ps -ef` command provides helpful information about processes that
-are running, including their process identification numbers (PIDs).
-
-[[ghvbo]][[GSTSG00176]][[stack-traces-and-thread-dumps]]
-
-Stack Traces and Thread Dumps
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A stack trace is a user-friendly snapshot of the threads and monitors in
-a Virtual Machine for the Java platform (Java Virtual Machine or JVM
-machine). A thread dump shows what every thread in a JVM is doing at a
-given time and is useful in debugging. When the application server
-freezes, hangs, or becomes sluggish for no apparent reason, you should
-generate and analyze a thread dump.
-
-This section explains how to obtain a thread dump for GlassFish Server
-Open Source Edition. More information about analyzing the information
-contained in a thread dump can be found in
-"http://java.sun.com/developer/technicalArticles/Programming/Stacktrace[An
-Introduction to Java Stack Traces]"
-(`http://java.sun.com/developer/technicalArticles/Programming/Stacktrace`).
-
-[[ghykr]][[GSTSG00023]][[to-obtain-a-server-thread-dump]]
-
-To Obtain a Server Thread Dump
-++++++++++++++++++++++++++++++
-
-Type the following command:
-
-[source,oac_no_warn]
-----
-asadmin generate-jvm-report --type=thread
-----
-
-[[sthref3]]
-
-See Also
-
-link:../reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`(1)]
-
-[[ghyjq]][[GSTSG00177]][[visualvm]]
-
-VisualVM
-^^^^^^^^
-
-VisualVM is a Java troubleshooting tool that uses various technologies
-such as `jvmstat`, JMX, and Attach API to access monitored applications.
-VisualVM is a tool for visualizing data sources and by default
-visualizes the following types: applications, hosts, snapshots, core
-dumps, heap dumps, and thread dumps. These data sources are visualized
-in VisualVM so that they can be monitored for the purposes of analysis,
-management, and troubleshooting. VisualVM is commonly used to detect
-memory leaks.
-
-VisualVM has a GlassFish plugin that enhances monitoring of hosted
-applications by adding specialized overview, a tab for monitoring the
-HTTP Service, and the ability to visually select and monitor any of the
-deployed web applications. You can experiment with VisualVM
-troubleshooting capabilities, but note that various features depend on
-the Java versions used in the client and server. Depending on your
-configuration, you might only get parts of the VisualVM features. For
-more information about VisualVM, see `http://visualvm.java.net`.
-
-[[gjjjl]][[GSTSG00178]][[jvm-command-line-tools]]
-
-JVM Command-Line Tools
-^^^^^^^^^^^^^^^^^^^^^^
-
-JVM command-line tools can be used to provide valuable information about
-hung Java processes or Java core dumps. These tools include the
-following:
-
-* `jstack`: Prints Java stack traces of Java threads for a given Java
-process or core file or a remote debug server.
-* `jinfo`: Prints Java configuration information for a given Java
-process or core file or a remote debug server.
-* `jmap`: Prints shared object memory maps or heap memory details for a
-given process or core file or a remote debug server.
-* `jsadebugd`: Attaches to a Java process or core file and acts as a
-debug server. Remote clients such as `jstack`, `jmap`, and `jinfo` can
-attach to the server using Java Remote Invocation Method (RMI).
-* `jhat`: Enables Java heap dumps to be browsed using a web browser.
-* `jstat`: Displays performance statistics for an instrumented HotSpot
-JVM.
-* `jps`: Lists the instrumented HotSpot JVMs on the target system
-
-[[ghuyv]][[GSTSG00041]][[where-to-go-for-more-information]]
-
-Where to Go for More Information
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-These resources were mentioned throughout this chapter and are provided
-again here for easy reference.
-
-* Release Notes: link:../release-notes/toc.html#GSRLN[Eclipse GlassFish Server
-Release Notes]
-* Error messages: link:../error-messages-reference/toc.html#GSEMR[Eclipse GlassFish Server Error
-Message Reference]
-* Mailing lists and forums: See link:#ghymp[Search the GlassFish Mailing
-Lists and Forums] for details about accessing lists and forums.
-* GlassFish community site: `http://glassfish.java.net/`
-
diff --git a/docs/troubleshooting-guide/src/main/jbake/content/preface.adoc b/docs/troubleshooting-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 37bee42..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,343 +0,0 @@
-type=page
-status=published
-title=Preface
-next=overview.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSTSG00001]][[gkbfu]]
-
-
-[[preface]]
-Preface
--------
-
-[NOTE]
-========================================================================
-
-This documentation is part of the Java Enterprise Edition contribution 
-to the Eclipse Foundation and is not intended for use in relation to 
-Java Enterprise Edition or Orace GlassFish. The documentation is in the 
-process of being revised to reflect the new Jakarta EE branding. 
-Additional changes will be made as requirements and procedures evolve 
-for Jakarta EE. Where applicable, references to Java EE or Java 
-Enterprise Edition should be considered references to Jakarta EE. 
-
-Please see the Title page for additional license information.
-========================================================================
-
-This guide describes common problems that you might encounter when using
-GlassFish Server Open Source Edition and how to solve them.
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 4.0 is developed through the GlassFish project
-open-source community at `http://glassfish.java.net/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[GSTSG00031]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="<30%,<70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSTSG00032]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* http://docs.oracle.com/javaee/7/firstcup/doc/home.html[Your First Cup:
-An Introduction to the Java EE Platform]
-(`http://docs.oracle.com/javaee/7/firstcup/doc/home.html`). For beginning
-Java EE programmers, this short tutorial explains the entire process for
-developing a simple enterprise application. The sample application is a
-web application that consists of a component that is based on the
-Enterprise JavaBeans specification, a JAX-RS web service, and a
-JavaServer Faces component for the web front end.
-* http://docs.oracle.com/javaee/7/tutorial/doc/home.html[The Java EE 7
-Tutorial] (`http://docs.oracle.com/javaee/7/tutorial/doc/home.html`).
-This comprehensive tutorial explains how to use Java EE 7 platform
-technologies and APIs to develop Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 7 of Java EE is located at
-`http://docs.oracle.com/javaee/7/api/`.
-* The API specification for GlassFish Server 4.0, including Java EE 7
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`http://glassfish.java.net/nonav/docs/v3/api/`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications]
-(`http://www.oracle.com/technetwork/java/javaee/tech/index.html`) might
-be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Java DB database for use with the GlassFish
-Server, see the
-http://www.oracle.com/technetwork/java/javadb/overview/index.html[Java
-DB product page]
-(`http://www.oracle.com/technetwork/java/javadb/overview/index.html`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the http://glassfish-samples.java.net/[Java EE Samples
-project page] (`http://glassfish-samples.java.net/`).
-
-[[GSTSG00033]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="<14%,<37%,<49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSTSG00034]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSTSG00035]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
diff --git a/docs/troubleshooting-guide/src/main/jbake/content/specific-issues.adoc b/docs/troubleshooting-guide/src/main/jbake/content/specific-issues.adoc
deleted file mode 100644
index a2ad951..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/content/specific-issues.adoc
+++ /dev/null
@@ -1,919 +0,0 @@
-type=page
-status=published
-title=Specific Issues
-next=faqs.html
-prev=overview.html
-~~~~~~
-Specific Issues
-===============
-
-[[GSTSG00003]][[abgbj]]
-
-
-[[specific-issues]]
-2 Specific Issues
------------------
-
-This chapter lists problems that you might encounter when using Oracle
-GlassFish Server 4.0. The following topics are addressed:
-
-* link:#abgca[Cannot Access Local Server (`http://localhost:8080`)]
-* link:#abgcf[Cannot Access Remote Server]
-* link:#abgcm[Cannot Access the Administration Console]
-* link:#abgcw[Cannot Access a Server Application]
-* link:#gjjoz[Administrator User Name or Password Not Known]
-* link:#gjjpj[Experience Issues Related to the JDK]
-* link:#abgdi[Server Will Not Start on Windows (Port Conflict)]
-* link:#gkvcs[GlassFish Server Fails to Start in an OpenSolaris Zone]
-* link:#abgdr[Two Server Instances Bind to Same Port on Windows]
-* link:#abgel[Cannot Produce a JVM Thread Dump After Server Crash]
-* link:#ghvgk[Issues Related to Applications]
-* link:#ghvhy[Issues Related to `asadmin`]
-* link:#ghvgu[Issues Related to Installation]
-* link:#ghvrh[Issues Related to Security]
-
-[[abgca]][[GSTSG00043]][[cannot-access-local-server-httplocalhost8080]]
-
-Cannot Access Local Server (`http://localhost:8080`)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When this error occurs, check the following:
-
-* link:#abgcb[Did the Server Start?]
-* link:#abgcd[Was the Server Started at the Expected Port?]
-* link:#gjjpn[Is a Personal Firewall Enabled?]
-
-[[abgcb]][[GSTSG00179]][[did-the-server-start]]
-
-Did the Server Start?
-^^^^^^^^^^^^^^^^^^^^^
-
-[[abgcc]][[GSTSG00085]][[description]]
-
-Description
-+++++++++++
-
-If the console window is still open, the expected message indicates that
-the default domain was started successfully.
-
-If the console window is already closed, check for messages in the log
-file. This is the default location:
-
-[source,oac_no_warn]
-----
-domain-dir/logs/server.log
-----
-
-If startup was successful, the expected message is similar to that on
-the console, and appears at the end of the log file.
-
-For more information about starting a domain, see
-"link:../administration-guide/domains.html#GSADG00537[Starting and Stopping a Domain]" in GlassFish Server
-Open Source Edition Administration Guide. To easily determine if a
-domain is running, use the `asadmin list-domains` command.
-
-[[abgcd]][[GSTSG00180]][[was-the-server-started-at-the-expected-port]]
-
-Was the Server Started at the Expected Port?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgce]][[GSTSG00086]][[description-1]]
-
-Description
-+++++++++++
-
-The server might be running at a different port number than expected,
-either because it was intentionally installed there, or because another
-server was already running on the default port when the server was
-installed.
-
-[[fxxov]][[GSTSG00024]][[to-determine-which-port-number-the-server-is-using]]
-
-To Determine Which Port Number the Server Is Using
-
-Follow this procedure.
-
-1.  Examine the server's configuration file: +
-[source,oac_no_warn]
-----
-domain-dir/config/domain.xml
-----
-2.  Find the `network-listener` element.
-3.  Inspect the value of the `port` attribute. +
-Be sure to enter the correct port number when invoking the server. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The server's default port number is `8080`, however, there are a number
-of ways in which the expected value can change:
-
-* A different port number was specified during installation.
-* A previous installation exists.
-
-|=======================================================================
-
-
-[[gjjpn]][[GSTSG00181]][[is-a-personal-firewall-enabled]]
-
-Is a Personal Firewall Enabled?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Issues might result when personal firewalls are enabled. Disable your
-personal firewall and see if the server access problem still exists.
-
-[[abgcf]][[GSTSG00044]][[cannot-access-remote-server]]
-
-Cannot Access Remote Server
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When attempting to open the start page of GlassFish Server, the initial
-screen does not appear.
-
-When this error occurs, check the following:
-
-* link:#abgcg[Is the Server Available Locally?]
-* link:#abgcj[Is the Proxy Setting Causing a Problem?]
-
-[[abgcg]][[GSTSG00182]][[is-the-server-available-locally]]
-
-Is the Server Available Locally?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgch]][[GSTSG00087]][[description-2]]
-
-Description
-+++++++++++
-
-If the server cannot be accessed from the web, but it is running
-locally, then the server is actually running.
-
-[[abgci]][[GSTSG00088]][[solution]]
-
-Solution
-++++++++
-
-Verify that the server is running locally.
-
-[[fxxod]][[GSTSG00025]][[to-verify-that-the-server-is-running-locally]]
-
-To Verify That the Server Is Running Locally
-
-Follow this procedure.
-
-1.  Log on to the host where the server is running.
-2.  Go to the local web page. For example, if `8080` is the default
-port, go to: +
-[source,oac_no_warn]
-----
-http://localhost:8080/
-----
-If the start page does appear, the web connection is encountering a
-problem that prevents accessing the server remotely. If the start page
-does not appear, see link:#abgcb[Did the Server Start?].
-
-[[abgcj]][[GSTSG00183]][[is-the-proxy-setting-causing-a-problem]]
-
-Is the Proxy Setting Causing a Problem?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgck]][[GSTSG00089]][[description-3]]
-
-Description
-+++++++++++
-
-The server should be accessible directly from the host on which it is
-running (`localhost`); for example, using the default port `8080`:
-
-[source,oac_no_warn]
-----
-http://localhost:8080/
-----
-
-[[abgcl]][[GSTSG00090]][[solution-1]]
-
-Solution
-++++++++
-
-A server instance running on `localhost` might not be accessible if the
-server host machine is connected to the web through a proxy. To solve
-this problem, do one of the following:
-
-* Set the browser to bypass the proxy server when accessing `localhost`.
-Refer to the browser's help system for information about how to do this.
-* Use the fully-qualified host name or IP address of your system; for
-example: +
-[source,oac_no_warn]
-----
-http://myhost.mydomain.com:8080/
-----
-* Create an entry in the system's hosts file (for example, pointing
-`127.0.0.1` to `localhost`; `127.0.0.1` is not proxied).
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To determine the host name for the `localhost` machine, type `hostname`
-at the command prompt.
-
-|=======================================================================
-
-
-[[abgcm]][[GSTSG00045]][[cannot-access-the-administration-console]]
-
-Cannot Access the Administration Console
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Administration Console provides a graphical interface for
-administrative functions. If the Administration Console is not
-accessible, check the following:
-
-* link:#abgcn[Is the Application Server Running?]
-* link:#abgcq[Is the Administration Console Running on the Expected
-Port?]
-
-For more information about the Administration Console, see
-"link:../administration-guide/overview.html#GSADG00698[Administration Console]" in GlassFish Server Open
-Source Edition Administration Guide.
-
-[[abgcn]][[GSTSG00184]][[is-the-application-server-running]]
-
-Is the Application Server Running?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgco]][[GSTSG00091]][[description-4]]
-
-Description
-+++++++++++
-
-The server must be running before the Administration Console can be
-accessed.
-
-[[abgcp]][[GSTSG00092]][[solution-2]]
-
-Solution
-++++++++
-
-Review the information in link:#abgcb[Did the Server Start?] to
-determine if the server is running.
-
-[[abgcq]][[GSTSG00185]][[is-the-administration-console-running-on-the-expected-port]]
-
-Is the Administration Console Running on the Expected Port?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgcr]][[GSTSG00093]][[description-5]]
-
-Description
-+++++++++++
-
-The default port number for the Administration Console is `4848`.
-However, it could be running on a different port number than expected,
-either because it was intentionally installed there, or because that
-port was in use when the server was started.
-
-[[abgcs]][[GSTSG00094]][[solution-3]]
-
-Solution
-++++++++
-
-Refer to link:#abgcd[Was the Server Started at the Expected Port?] for
-guidelines on verifying the port on which the Administration Console is
-running. Be sure to enter the correct port number and HTTP protocol when
-invoking the Administration Console.
-
-[[abgcw]][[GSTSG00046]][[cannot-access-a-server-application]]
-
-Cannot Access a Server Application
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If a particular application cannot be accessed through GlassFish Server,
-check the following:
-
-* link:#abgcx[Is the Application Server Running?]
-* link:#abgda[Was Application Deployment Successful?]
-
-[[abgcx]][[GSTSG00186]][[is-the-application-server-running-1]]
-
-Is the Application Server Running?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgcy]][[GSTSG00095]][[description-6]]
-
-Description
-+++++++++++
-
-If GlassFish Server is not running, applications are not accessible.
-
-[[abgcz]][[GSTSG00096]][[solution-4]]
-
-Solution
-++++++++
-
-Review the information in link:#abgcb[Did the Server Start?] to
-determine if the server is running. The server must be running before a
-server application can be accessed.
-
-[[abgda]][[GSTSG00187]][[was-application-deployment-successful]]
-
-Was Application Deployment Successful?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgdb]][[GSTSG00097]][[description-7]]
-
-Description
-+++++++++++
-
-An application must be successfully deployed before it can be accessed.
-
-[[abgdc]][[GSTSG00098]][[solution-5]]
-
-Solution
-++++++++
-
-Verify that the application was successfully deployed. There are several
-ways to do this:
-
-* Check the server's log file for related entries: +
-[source,oac_no_warn]
-----
-domain-dir/server.log
-----
-* Use the `asadmin list-applications` command to determine which
-applications are deployed.
-* View the Applications page in the Administration Console, accessed by
-clicking the Applications node.
-
-For more information about deploying applications, see
-"link:../application-deployment-guide/deploying-applications.html#GSDPG00004[Deploying Applications]" in GlassFish Server Open
-Source Edition Application Deployment Guide. Also see the Administration
-Console online help.
-
-[[gjjoz]][[GSTSG00047]][[administrator-user-name-or-password-not-known]]
-
-Administrator User Name or Password Not Known
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you have forgotten the administrator user name, you can find it by
-inspecting the domain-dir`/config/admin-keyfile` file, where domain-dir
-is the directory for the domain. In the default domain, `domain1`, the
-file to inspect is domain-dir`/config/admin-keyfile`. For a different
-domain, substitute its name in the path.
-
-If you have forgotten the administrator password, one solution is to
-create a new domain with the admin username and password that you want,
-then copy the entry from the `config/admin-keyfile` file in that new
-domain to the other domain.
-
-[[gjjpj]][[GSTSG00048]][[experience-issues-related-to-the-jdk]]
-
-Experience Issues Related to the JDK
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[gjjpl]][[GSTSG00188]][[description-8]]
-
-Description
-^^^^^^^^^^^
-
-You experience JDK-related issues in a variety of circumstances.
-
-[[gjjop]][[GSTSG00189]][[solution-6]]
-
-Solution
-^^^^^^^^
-
-GlassFish Server 4.0 requires JDK 6, so check your system for that
-dependency.
-
-The minimum (and certified) version of the JDK software that is required
-for GlassFish Server depends on the operating system:
-
-* For supported operating systems except Mac OS, the minimum required
-version is 1.6.0_17.
-* For the Mac OS X operating system, the minimum required version is
-1.6.0_15.
-
-Ensure that the required JDK software is installed and that the
-`JAVA_HOME` environment variable points to the JDK installation
-directory, not the Java Runtime Environment (JRE) software.
-
-Set `JAVA_HOME` and `$JAVA_HOME/bin` in the `PATH` to point to the
-supported JDK version.
-
-[[abgdi]][[GSTSG00049]][[server-will-not-start-on-windows-port-conflict]]
-
-Server Will Not Start on Windows (Port Conflict)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If a message similar to the following is displayed when starting
-GlassFish Server on Microsoft Windows, a server port conflict has
-occurred:
-
-[source,oac_no_warn]
-----
-Address already in use
-----
-
-This error occurs when another application is running on the GlassFish
-Server port (default `8080`), or because a previous instance of
-GlassFish Server did not shut down cleanly.
-
-You might also check the following:
-
-* link:#abgdj[Is Another Application Running on the Server's Port?]
-* link:#abgdk[Has an Ungraceful Shutdown Occurred on a Previously
-Running Server?]
-
-[[abgdj]][[GSTSG00190]][[is-another-application-running-on-the-servers-port]]
-
-Is Another Application Running on the Server's Port?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If another application is using the server's port, stop the other
-application, then restart GlassFish Server.
-
-[[abgdk]][[GSTSG00191]][[has-an-ungraceful-shutdown-occurred-on-a-previously-running-server]]
-
-Has an Ungraceful Shutdown Occurred on a Previously Running Server?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the `asadmin stop-domain` command to stop the server, or explicitly
-kill the Java process and then restart GlassFish Server.
-
-[[gkvcs]][[GSTSG00050]][[glassfish-server-fails-to-start-in-an-opensolaris-zone]]
-
-GlassFish Server Fails to Start in an OpenSolaris Zone
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[gkvcx]][[GSTSG00192]][[description-9]]
-
-Description
-^^^^^^^^^^^
-
-If GlassFish Server is installed in an OpenSolaris zone, an attempt to
-start a domain might fail with the following error message:
-
-[source,oac_no_warn]
-----
-Waiting for DAS to start ..Error starting domain: domain.
-The server exited prematurely with exit code 6.
-Before it died, it produced the following output:
-
-UTF ERROR ["../../../src/solaris/instrument/EncodingSupport_md.c":66]:
-Failed to complete iconv_open() setup
-----
-
-The failure occurs because, by default, an OpenSolaris zone is installed
-without language and encoding support, which GlassFish Server requires.
-
-[[gkvdf]][[GSTSG00026]][[resolution-to-enable-glassfish-server-to-run-in-an-opensolaris-zone]]
-
-Resolution: To Enable GlassFish Server to Run in an OpenSolaris Zone
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-1.  Install the package that provides language and encoding support for
-your locale. +
-[source,oac_no_warn]
-----
-$ pkg install package-name
-----
-package-name::
-  The name of the package that provides language and encoding support
-  for your locale. For example, the name of the package that provides
-  language and encoding support for the US English locale is
-  `SUNWlang-enUS`.
-2.  Set the `LANG` environment variable to the code for your locale. +
-For example, if your locale is US English, set the `LANG` environment
-variable to `en_US.UTF-8`.
-
-[[abgdr]][[GSTSG00051]][[two-server-instances-bind-to-same-port-on-windows]]
-
-Two Server Instances Bind to Same Port on Windows
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[abgds]][[GSTSG00193]][[description-10]]
-
-Description
-^^^^^^^^^^^
-
-This problem occurs on Windows XP systems with GlassFish Server
-software, and is due to a known Windows security flaw rather than a
-problem with GlassFish Server itself.
-
-The problem occurs when two or more instances of GlassFish Server are
-created using the same port number for the `instanceport` option; for
-example:
-
-[source,oac_no_warn]
-----
-asadmin create-domain -adminport 5001 options -instanceport 6001 domain
-asadmin create-domain -adminport 5002 options -instanceport 6001 domain
-----
-
-When the two domains are started on a UNIX or Linux system, a port
-conflict error is thrown and the second instance fails to start.
-However, when the two domains are started on Windows XP, no error is
-thrown, both server instances start, but only the first instance is
-accessible at the specified port. When that first server instance is
-subsequently shut down, the second instance then becomes accessible.
-Moreover, when both instances are running, the Windows `netstat` command
-only reports the first instance.
-
-[[fxxyd]][[GSTSG00194]][[solution-7]]
-
-Solution
-^^^^^^^^
-
-Be sure to use unique port numbers for all server instances on Windows
-systems.
-
-[[abgel]][[GSTSG00052]][[cannot-produce-a-jvm-thread-dump-after-server-crash]]
-
-Cannot Produce a JVM Thread Dump After Server Crash
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[abgem]][[GSTSG00195]][[description-11]]
-
-Description
-^^^^^^^^^^^
-
-If GlassFish Server crashes, the server dumps a core file and, by
-default, restarts with the `-Xrs` flag, which prevents the dump of a JVM
-thread dump.
-
-[[fxxyw]][[GSTSG00196]][[solution-8]]
-
-Solution
-^^^^^^^^
-
-[[ghylc]][[GSTSG00027]][[to-obtain-a-server-thread-dump]]
-
-To Obtain a Server Thread Dump
-++++++++++++++++++++++++++++++
-
-Type the following command:
-
-[source,oac_no_warn]
-----
-asadmin generate-jvm-report --type=thread
-----
-
-[[sthref4]]
-
-See Also
-
-link:../reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`(1)]
-
-[[ghvgk]][[GSTSG00053]][[issues-related-to-applications]]
-
-Issues Related to Applications
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[abgee]][[GSTSG00197]][[cannot-undeploy-or-redeploy-application-with-open-streams-to-jar-files-windows]]
-
-Cannot Undeploy or Redeploy Application With Open Streams to `jar` Files
-(Windows)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgef]][[GSTSG00099]][[description-12]]
-
-Description
-+++++++++++
-
-On Windows systems, after running an application, subsequent attempts to
-undeploy it or redeploy it throw exceptions about the server being
-unable to delete a file or rename a directory.
-
-On Windows systems, an application may use `getClass().getResource` or
-`getResourceAsStream` methods to locate a resource inside the
-application, particularly in `jar` files that are in the application or
-accessible to it. If the streams remain open, subsequent attempts to
-redeploy or undeploy the application can fail. In addition, the Java
-runtime by default caches streams to `jar` files for performance
-reasons.
-
-[[fxxyr]][[GSTSG00100]][[solution-9]]
-
-Solution
-++++++++
-
-Be sure to close streams opened by your applications. Also, if an
-application needs to be redeployed or undeployed repeatedly, and also
-needs to obtain a resource from a `jar` file using `getResource` or
-`getResourceAsStream`, consider using `getClass().getResource`, which
-returns a URL object, then invoke the `url.setUseCaches` method to turn
-off caching for that `jar` file, and use `url.getInputStream()` to
-obtain the stream.
-
-Although turning off caching for access to the `jar` file can slow
-performance, this approach does allow the application to be undeployed
-or redeployed. Note also that if the `getClass().getResourceAsStream`
-method is used instead, then the `jar` file in which the resource is
-located is cached (this is the default Java runtime setting) and remains
-open until the server is stopped.
-
-[[gldbk]][[GSTSG00198]][[maxpermgen-exception]]
-
-`MaxPermGen` Exception
-^^^^^^^^^^^^^^^^^^^^^^
-
-[[gldbn]][[GSTSG00101]][[description-13]]
-
-Description
-+++++++++++
-
-Application servers such as GlassFish Server allow you to redeploy an
-application without restarting the server. Simply make the change in
-your source code, compile the source, and redeploy the application.
-
-Each application is loaded using its own classloader. When you undeploy
-an application, its classloader is discarded with all the classes it
-loaded and is garbage collected sooner or later. However, if there's a
-reference from outside an application to an object in the application
-loaded by the application's classloader, that object can't be garbage
-collected. The reference holds the object in memory.
-
-The memory in the Virtual Machine is divided into a number of regions.
-One of these regions is `PermGen`. It's an area of memory used to (among
-other things) load class files. The size of this memory region is fixed;
-it does not change when the VM is running. You can specify the size of
-this region with a command line switch: `-XX:MaxPermSize`. Setting the
-`-Xmx` parameter does not help: this parameter only specifies the total
-heap size and does not affect the size of the `PermGen` region.
-
-If you keep loading new classes that can't be garbage collected because
-of references to them from outside the application, the VM runs out of
-space in the `PermGen` region, even if there's plenty of memory
-available. This is called a classloader leak. The resulting exception is
-`java.lang.OutOfMemoryError: PermGen space`.
-
-The `java.lang.String.intern()` method also allocates memory in the
-`PermGen` region. If your application uses this method with strings and
-holds references to these strings, thereby making garbage collection
-impossible, your application may cause the same `PermGen space`
-exception.
-
-[[gldbw]][[GSTSG00102]][[solution-10]]
-
-Solution
-++++++++
-
-Classloader leaks are difficult to diagnose. Most profilers list leaked
-objects but don't highlight the ones causing classloader leaks. Most
-profilers also stop tracing as soon as they reach a class object or
-classloader.
-
-One diagnostic approach involves undeploying the application and
-triggering a memory dump using the JDK 6.0 `jmap` tool. Then you can use
-the JDK 6.0 `jhat` tool to analyze the dump. The simplest analysis is to
-list all instances of `java.lang.Class` and look for class objects that
-have many instances. This is a sign that the class has been loaded
-multiple times without being garbage collected.
-
-If you're willing to modify the `jhat` code, you can perform more
-refined queries. For example:
-
-* Trace references to a classloader from all the instances of the
-classes it loaded.
-* Generate a list of all classloader instances that have loaded an
-identical set of classes.
-* Find classloader instances whose only strong-reference chains from the
-root set go through instances of classes loaded by those classloaders.
-These are called orphaned classloaders.
-
-To override the original `jhat` code, put the JAR file of the modified
-`jhat` code in the `lib/ext` directory of the JDK.
-
-[[ghvhy]][[GSTSG00054]][[issues-related-to-asadmin]]
-
-Issues Related to `asadmin`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[ghvhi]][[GSTSG00199]][[asadmin-start-domain-command-fails]]
-
-`asadmin` `start-domain` Command Fails
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The command `asadmin start-domain` fails with the following error:
-
-[source,oac_no_warn]
-----
-There is more than one domain...
-----
-
-[[gjkph]][[GSTSG00103]][[description-14]]
-
-Description
-+++++++++++
-
-When issued with no arguments, the command `asadmin start-domain` fails.
-
-This error occurs when there is more than one domain in the domains
-directory, none of them is named `domain1,` and no domain is specified
-with the `start-domain` command.
-
-[[gjkoy]][[GSTSG00104]][[solution-11]]
-
-Solution
-++++++++
-
-Specify the domain when issuing the `start-domain` command:
-
-[source,oac_no_warn]
-----
-asadmin start-domain domain-name
-----
-
-For example:
-
-[source,oac_no_warn]
-----
-asadmin start-domain mycustomdomain
-----
-
-[[ghvhx]][[GSTSG00200]][[cannot-stop-domain-using-asadmin-stop-domain]]
-
-Cannot Stop Domain Using `asadmin` `stop-domain`
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[ghvhl]][[GSTSG00105]][[description-15]]
-
-Description
-+++++++++++
-
-You cannot stop the domain using the `asadmin` `stop-domain` command.
-
-[[ghvha]][[GSTSG00106]][[solution-12]]
-
-Solution
-++++++++
-
-Look for error messages that display in the console when you issue the
-command.
-
-Search the `server.log` file for error messages related to your
-inability to stop the domain.
-
-[[ghvgu]][[GSTSG00055]][[issues-related-to-installation]]
-
-Issues Related to Installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[gjjnu]][[GSTSG00201]][[installation-hangs-during-update-tool-configuration]]
-
-Installation Hangs During Update Tool Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[giqjt]][[GSTSG00107]][[description-16]]
-
-Description
-+++++++++++
-
-Installation hangs more than five minutes during Update Tool
-configuration.
-
-[[giqle]][[GSTSG00108]][[solution-13]]
-
-Solution
-++++++++
-
-Cancel the installation and run the installation program again, but this
-time deselect the Install Update Tool check box. Update Tool can be
-installed later from as-install`/bin/`. For more information about
-Update Tool, see "link:../administration-guide/toc.html#GSADG00701[Update Tool]" in GlassFish Server
-Open Source Edition Administration Guide. For general information about
-GlassFish Serverinstallation, see the link:../installation-guide/toc.html#GSING[GlassFish Server Open
-Source Edition Installation Guide].
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Update Tool differs from Upgrade Tool, which is used to migrate the
-configuration and deployed applications from an earlier version of
-GlassFish Server to the current version. For more information about
-Upgrade Tool and upgrading, see the link:../upgrade-guide/toc.html#GSUPG[GlassFish Server Open
-Source Edition Upgrade Guide].
-
-|=======================================================================
-
-
-[[gjjob]][[GSTSG00202]][[glassfish-server-components-not-removed-during-uninstallation]]
-
-GlassFish Server Components Not Removed During Uninstallation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[gjjoh]][[GSTSG00109]][[description-17]]
-
-Description
-+++++++++++
-
-Not all GlassFish Server directories are automatically removed by the
-uninstallation program. Some directories and files remain after
-uninstalling.
-
-[[gjjnk]][[GSTSG00110]][[solution-14]]
-
-Solution
-++++++++
-
-Examine the remaining directories and remove any files or directories
-that you do not want, including hidden directories prefixed with a dot.
-It is safe to remove uninstallation and installation log files after you
-have examined them.
-
-For information related to uninstallation, see
-"link:../installation-guide/uninstalling.html#GSING00003[Uninstalling GlassFish Server 3.1]" in GlassFish
-Server Open Source Edition Installation Guide.
-
-[[ghvrh]][[GSTSG00056]][[issues-related-to-security]]
-
-Issues Related to Security
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[abgjt]][[GSTSG00203]][[java.security.accesscontrolexception-access-denied-error]]
-
-`java.security.AccessControlException`: Access Denied Error
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgju]][[GSTSG00111]][[description-18]]
-
-Description
-+++++++++++
-
-The following error occurs from an application client, or appears in the
-`server.log` file:
-
-[source,oac_no_warn]
-----
-java.security.AccessControlException: access denied
-(java.util.PropertyPermission name write...)
-----
-
-There is a permissions issue in the policy files. Either the
-`client.policy` file for the application client or the `server.policy`
-file for server side components does not have permission to set the
-property.
-
-[[fxxzk]][[GSTSG00112]][[solution-15]]
-
-Solution
-++++++++
-
-Add the permission in `client.policy` (for the application client), or
-in `server.policy` (for web modules) for the application that needs to
-set the property. By default, applications only have read permission for
-properties.
-
-For example, to grant read/write permission for all files in the
-codebase directory, add or append the following to `client.policy` or
-`server.policy`:
-
-[source,oac_no_warn]
-----
-grant codeBase "file:/.../build/sparc_SunOS/sec/-" {
-   permission java.util.PropertyPermission "*", "read,write";
- };
-----
-
-[[abgka]][[GSTSG00204]][[mutual-authentication-not-working-with-the-application-client]]
-
-Mutual Authentication Not Working With the Application Client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[abgkb]][[GSTSG00113]][[description-19]]
-
-Description
-+++++++++++
-
-This failure can occur when the keystore and truststore properties are
-not set properly.
-
-[[fxxzu]][[GSTSG00114]][[solution-16]]
-
-Solution
-++++++++
-
-Set the following properties on the JVM:
-
-[source,oac_no_warn]
-----
-javax.net.ssl.keyStore=
-<keystore-file-path>;javax.net.ssl.trustStore=<truststore-file-path>
-----
-
-To use the application client, set the environment variable `VMARGS` to
-the following value:
-
-[source,oac_no_warn]
-----
--Djavax.net.ssl.keyStore=${admin.domain.dir}/${admin.domain}/config/keystore.jks
--Djavax.net.ssl.trustStore=${admin.domain.dir}/${admin.domain}/config/cacerts.jks
-----
diff --git a/docs/troubleshooting-guide/src/main/jbake/content/title.adoc b/docs/troubleshooting-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 3c1c328..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Troubleshooting Guide, Release 5.1
-next=preface.html
-prev=toc.html
-~~~~~~
-Eclipse GlassFish Server Troubleshooting Guide, Release 5.1
-===========================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Troubleshooting Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This guide describes common problems that you might encounter when using
-Eclipse GlassFish Server and how to solve them.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Troubleshooting Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/troubleshooting-guide/src/main/jbake/jbake.properties b/docs/troubleshooting-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/troubleshooting-guide/src/main/jbake/templates/footer.ftl b/docs/troubleshooting-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/troubleshooting-guide/src/main/jbake/templates/header.ftl b/docs/troubleshooting-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/troubleshooting-guide/src/main/jbake/templates/menu.ftl b/docs/troubleshooting-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/troubleshooting-guide/src/main/jbake/templates/page.ftl b/docs/troubleshooting-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/troubleshooting-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/upgrade-guide/README.md b/docs/upgrade-guide/README.md
deleted file mode 100644
index a3ec2b6..0000000
--- a/docs/upgrade-guide/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# A JBake project template
-
-## About JBake
-
-JBake is a static site generator, it's inspired from jekyll and written
-in java.  The basic idea is to have templates for the structure of the
-page, and the body generated from asciidoc content.
-
-## Pre requisites
-
-- Maven
-- JDK8+
-
-Deploying to Github will require password less authentication.
-
-This is done by exporting your SSH public key into your Github account.
-
-## Build the site locally
-
-The site is generated under target/staging.
-
-Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site.
-
-```
-mvn generate-resources
-```
-
-Or you can invoke the JBake plugin directly.
-
-```
-mvn jbake:build
-```
-
-### Rebuild the site on changes
-
-```
-mvn jbake:watch
-```
-
-If you keep this command running, changes to the sources will be
-detected and the site will be rendered incrementally.
-
-This is convenient when writing content.
-
-### Serve the site locally
-
-```
-mvn jbake:serve
-```
-
-If a webserver is required (e.g. absolute path are used), this command
-will start a webserver (jetty) at http://localhost:8820.  It will also
-watch for changes and rebuild incrementally.
-
-## Deploy the site to Github Pages
-
-```
-mvn deploy
-```
-
-## Produce a zip file for download
-
-To produce a zip file containing the generated html files, use:
-
-```
-mvn package
-```
-
-When making a release on GitHub, this zip file should be added to the release.
-
-## Links
-
-- [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin)
-- [JBake documentation](http://jbake.org/docs/2.5.1)
-- [Freemarker documentation](http://freemarker.org/docs)
-- [AsciiDoc User Guide](http://asciidoc.org/userguide.html)
-- [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference)
diff --git a/docs/upgrade-guide/pom.xml b/docs/upgrade-guide/pom.xml
index 2995d79..71c6469 100644
--- a/docs/upgrade-guide/pom.xml
+++ b/docs/upgrade-guide/pom.xml
@@ -22,11 +22,10 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>upgrade-guide</artifactId>
     <packaging>jar</packaging>
-    <name>Eclipse GlassFish Server Upgrade Guide, Release 5.1</name>
+    <name>Eclipse GlassFish Server Upgrade Guide, Release 7</name>
 </project>
diff --git a/docs/upgrade-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png b/docs/upgrade-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
similarity index 100%
rename from docs/upgrade-guide/src/main/jbake/assets/img/eclipse_foundation_logo_tiny.png
rename to docs/upgrade-guide/src/main/asciidoc/img/eclipse_foundation_logo_tiny.png
Binary files differ
diff --git a/docs/upgrade-guide/src/main/asciidoc/loe.adoc b/docs/upgrade-guide/src/main/asciidoc/loe.adoc
new file mode 100644
index 0000000..f31c408
--- /dev/null
+++ b/docs/upgrade-guide/src/main/asciidoc/loe.adoc
@@ -0,0 +1,18 @@
+type=page
+status=published
+title=List of Examples
+next=lot.html
+prev=toc.html
+~~~~~~
+
+= List of Examples
+
+[[list-of-examples]]
+== List of Examples
+
+* link:upgrading-legacy-installation.html#gktiu[2-1 Using the asupgrade
+Command Line]
+* link:upgrading-legacy-installation.html#gktoh[2-2 Correcting the
+Configuration of a Node After an Upgrade]
+* link:upgrading-legacy-installation.html#gkyin[2-3 Creating Two Local
+Instances]
diff --git a/docs/upgrade-guide/src/main/asciidoc/lot.adoc b/docs/upgrade-guide/src/main/asciidoc/lot.adoc
new file mode 100644
index 0000000..a523637
--- /dev/null
+++ b/docs/upgrade-guide/src/main/asciidoc/lot.adoc
@@ -0,0 +1,62 @@
+type=page
+status=published
+title=List of Tables
+next=title.html
+prev=loe.html
+~~~~~~
+
+= List of Tables
+
+[[list-of-tables]]
+== List of Tables
+
+* link:upgrade-compatibility-issues.html#gklho[1-1 GMS Administration
+Console Settings Changes from 2.1.1 to 4.0]
+* link:upgrade-compatibility-issues.html#gaeki[1-2 Deprecated,
+Unsupported, and Obsolete Options for asadmin and Subcommands]
+* link:upgrade-compatibility-issues.html#gipfy[1-3 com.sun.grizzly
+Property Remapping]
+* link:upgrade-compatibility-issues.html#gipfn[1-4 connection-pool
+Attribute Remapping]
+* link:upgrade-compatibility-issues.html#gipcv[1-5 http-file-cache
+Attribute Remapping]
+* link:upgrade-compatibility-issues.html#gipev[1-6 http-listener
+Attribute Remapping]
+* link:upgrade-compatibility-issues.html#gipdo[1-7 http-listener Property
+Remapping]
+* link:upgrade-compatibility-issues.html#gipel[1-8 http-protocol
+Attribute Remapping]
+* link:upgrade-compatibility-issues.html#gipfa[1-9 http-service Property
+Remapping]
+* link:upgrade-compatibility-issues.html#gipea[1-10 keep-alive Attribute
+Remapping]
+* link:upgrade-compatibility-issues.html#gipdh[1-11 request-processing
+Attribute Remapping]
+* link:upgrade-compatibility-issues.html#gipdv[1-12 ssl Attribute
+Changes]
+* link:upgrade-compatibility-issues.html#gipcj[1-13 thread-pool Attribute
+Changes]
+* link:upgrade-compatibility-issues.html#gipep[1-14 virtual-server
+Attribute Changes]
+* link:upgrade-compatibility-issues.html#gipds[1-15 New http Attributes]
+* link:upgrade-compatibility-issues.html#gipey[1-16 New network-listener
+Attributes]
+* link:upgrade-compatibility-issues.html#gipfg[1-17 New port-unification
+Attributes]
+* link:upgrade-compatibility-issues.html#gipdj[1-18 New protocol
+Attributes]
+* link:upgrade-compatibility-issues.html#gipcr[1-19 New protocol-chain
+Attributes]
+* link:upgrade-compatibility-issues.html#gipfq[1-20 New
+protocol-chain-instance-handler Attributes]
+* link:upgrade-compatibility-issues.html#gipeq[1-21 New protocol-filter
+Attributes]
+* link:upgrade-compatibility-issues.html#gipfd[1-22 New protocol-finder
+Attributes]
+* link:upgrade-compatibility-issues.html#gipft[1-23 New
+selection-key-handler Attributes]
+* link:upgrade-compatibility-issues.html#gipfi[1-24 New ssl Attributes]
+* link:upgrade-compatibility-issues.html#gipcc[1-25 New thread-pool
+Attributes]
+* link:upgrade-compatibility-issues.html#gipem[1-26 New transport
+Attributes]
diff --git a/docs/upgrade-guide/src/main/asciidoc/preface.adoc b/docs/upgrade-guide/src/main/asciidoc/preface.adoc
new file mode 100644
index 0000000..fefa79c
--- /dev/null
+++ b/docs/upgrade-guide/src/main/asciidoc/preface.adoc
@@ -0,0 +1,335 @@
+type=page
+status=published
+title=Preface
+next=upgrade-compatibility-issues.html
+prev=title.html
+~~~~~~
+
+= Preface
+
+[[GSUPG00001]][[gkbei]]
+
+
+[[preface]]
+== Preface
+
+This guide explains how to upgrade to {productName} from previous
+of {productName} and Sun GlassFish Enterprise Server product releases.
+Also included in this guide are instructions for upgrading configuration
+data and Jakarta EE applications from binary-compatible earlier versions
+of this software to work with {productName}.
+Finally, this guide describes compatibility issues that affect data
+and applications that are to be migrated.
+
+[NOTE]
+====
+The main thrust of the {productName} 7 release
+is to provide an application server for developers to explore and begin
+exploiting the new and updated technologies in the Jakarta EE 10 platform.
+Thus, the upgrade feature of {productName} was not a focus of this
+release. The feature is included in the release, but it may not function
+properly with some of the new features added in support of the Jakarta EE 10 platform.
+====
+
+This preface contains information about and conventions for the entire
+{productName} ({productName}) documentation set.
+
+{productName} 7 is developed through the GlassFish project
+open-source community at https://github.com/eclipse-ee4j/glassfish.
+The GlassFish project provides a structured process for developing the
+{productName} platform that makes the new features of the Jakarta EE
+platform available faster, while maintaining the most important feature
+of Jakarta EE: compatibility. It enables Java developers to access the
+{productName} source code and to contribute to the development of the
+{productName}.
+
+The following topics are addressed here:
+
+* link:#ghpbz[{productName} Documentation Set]
+* link:#giprl[Related Documentation]
+* link:#fwbkx[Typographic Conventions]
+* link:#fquvc[Symbol Conventions]
+* link:#ghpfg[Default Paths and File Names]
+
+[[GSUPG00020]][[ghpbz]]
+
+[[glassfish-server-documentation-set]]
+=== {productName} Documentation Set
+
+The {productName} documentation set describes deployment planning and
+system installation. For an introduction to {productName}, refer to
+the books in the order in which they are listed in the following table.
+
+[width="100%",cols="<30%,<70%",options="header",]
+|===
+|Book Title |Description
+|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
+the software and the documentation and includes a comprehensive,
+table-based summary of the supported hardware, operating system, Java
+Development Kit (JDK), and database drivers.
+
+|link:quick-start-guide.html#GSQSG[Quick Start Guide]
+|Explains how to get started with the {productName} product.
+
+|link:installation-guide.html#GSING[Installation Guide]
+|Explains how to install the software and its components.
+
+|link:upgrade-guide.html#GSUPG[Upgrade Guide]
+|Explains how to upgrade to the latest version of {productName}.
+This guide also describes differences between adjacent product releases and configuration
+options that can result in incompatibility with the product specifications.
+
+|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide]
+|Explains how to build a production deployment of {productName} that meets the requirements of
+your system and enterprise.
+
+|link:administration-guide.html#GSADG[Administration Guide]
+|Explains how to configure, monitor, and manage {productName} subsystems and components
+from the command line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] utility.
+Instructions for performing these tasks from the Administration Console are provided
+in the Administration Console online help.
+
+|link:security-guide.html#GSSCG[Security Guide]
+|Provides instructions for configuring and administering {productName} security.
+
+|link:application-deployment-guide.html#GSDPG[Application Deployment Guide]
+|Explains how to assemble and deploy applications to the {productName} and provides information
+about deployment descriptors.
+
+|link:application-development-guide.html#GSDVG[Application Development Guide]
+|Explains how to create and implement Java Platform, Enterprise Edition (Jakarta EE platform)
+applications that are intended to run on the {productName}.
+These applications follow the open Java standards model for Jakarta EE components
+and application programmer interfaces (APIs).
+This guide provides information about developer tools, security, and debugging.
+
+|link:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide]
+|Explains how to use published interfaces of {productName} to develop add-on components
+for {productName}.
+This document explains how to perform only those tasks that ensure that the add-on component
+is suitable for {productName}.
+
+|link:embedded-server-guide.html#GSESG[Embedded Server Guide]
+|Explains how to run applications in embedded {productName} and to develop applications
+in which {productName} is embedded.
+
+|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide]
+|Explains how to configure {productName} to provide higher availability and
+scalability through failover and load balancing.
+
+|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide]
+|Explains how to optimize the performance of {productName}.
+
+|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide]
+|Describes common problems that you might encounter when using {productName} and explains how to solve them.
+
+|link:error-messages-reference.html#GSEMR[Error Message Reference]
+|Describes error messages that you might encounter when using {productName}.
+
+|link:reference-manual.html#GSRFM[Reference Manual]
+|Provides reference information in man page format for {productName} administration commands, utility
+commands, and related concepts.
+
+|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes]
+|Describes new features, compatibility issues, and existing bugs for Open Message Queue.
+
+|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview]
+|Provides an introduction to the technology, concepts, architecture, capabilities, and features of
+the Message Queue messaging service.
+
+|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide]
+|Explains how to set up and manage a Message Queue messaging system.
+
+|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients]
+|Describes the application programming interface in Message Queue for
+programmatically configuring and monitoring Message Queue resources in
+conformance with the Java Management Extensions (JMX).
+
+|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients]
+|Provides information about concepts and procedures for developing Java messaging
+applications (Java clients) that work with {productName}.
+
+|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients]
+|Provides programming and reference information for developers working with
+Message Queue who want to use the C language binding to the Message
+Queue messaging service to send, receive, and process Message Queue messages.
+|===
+
+
+[[GSUPG00021]][[giprl]]
+
+[[related-documentation]]
+=== Related Documentation
+
+The following tutorials explain how to develop Jakarta EE applications:
+
+* https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[
+Your First Cup: An Introduction to the Jakarta EE Platform].
+For beginning Jakarta EE programmers, this short tutorial explains the entire
+process for developing a simple enterprise application.
+The sample application is a web application that consists of a component that is
+based on the Enterprise JavaBeans specification, a JAX-RS web service,
+and a JavaServer Faces component for the web front end.
+
+* https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial].
+This comprehensive tutorial explains how to use Jakarta EE platform technologies
+and APIs to develop Jakarta EE applications.
+
+Javadoc tool reference documentation for packages that are provided with
+{productName} is available as follows.
+
+* The Jakarta EE specifications and API specification is
+located at https://jakarta.ee/specifications/.
+
+* The API specification for {productName} 7, including Jakarta EE
+platform packages and nonplatform packages that are specific to the
+{productName} product, is located at
+https://glassfish.org/docs/.
+
+For information about creating enterprise applications in the NetBeans
+Integrated Development Environment (IDE), see the
+https://netbeans.apache.org/kb/docs/java-ee.html[
+NetBeans Documentation, Training & Support page].
+
+For information about the Derby database for use with
+the {productName}, see the https://db.apache.org/derby/index.html[Derby page].
+
+The Jakarta EE Samples project is a collection of sample applications that
+demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples
+are bundled with the Jakarta EE Software Development Kit (SDK) and are also
+available from the repository
+(`https://github.com/eclipse-ee4j/glassfish-samples`).
+
+
+[[typographic-conventions]]
+=== Typographic Conventions
+
+The following table describes the typographic changes that are used in
+this book.
+
+[width="100%",cols="<14%,<37%,<49%",options="header",]
+|===
+|Typeface |Meaning |Example
+
+|`AaBbCc123`
+|The names of commands, files, and directories, and onscreen computer output
+|Edit your `.login` file.
+
+Use `ls` `a` to list all files.
+
+`machine_name% you have mail.`
+
+|`AaBbCc123`
+|What you type, contrasted with onscreen computer output
+|`machine_name%` `su`
+
+`Password:`
+
+|AaBbCc123
+|A placeholder to be replaced with a real name or value
+|The command to remove a file is `rm` filename.
+
+|AaBbCc123
+|Book titles, new terms, and terms to be emphasized (note that some emphasized items appear bold online)
+|Read Chapter 6 in the User's Guide.
+
+A cache is a copy that is stored locally.
+
+Do not save the file.
+|===
+
+
+[[GSUPG00023]][[fquvc]]
+
+[[symbol-conventions]]
+=== Symbol Conventions
+
+The following table explains symbols that might be used in this book.
+
+[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
+|===
+|Symbol |Description |Example |Meaning
+
+|`[ ]`
+|Contains optional arguments and command options.
+|`ls [-l]`
+|The `-l` option is not required.
+
+|`{ \| }`
+|Contains a set of choices for a required command option.
+|`-d {y\|n}`
+|The `-d` option requires that you use either the `y` argument or the `n` argument.
+
+|`${ }`
+|Indicates a variable reference.
+|`${com.sun.javaRoot}`
+|References the value of the `com.sun.javaRoot` variable.
+
+|`-`
+|Joins simultaneous multiple keystrokes.
+|Control-A
+|Press the Control key while you press the A key.
+
+|`+`
+|Joins consecutive multiple keystrokes.
+|Ctrl+A+N
+|Press the Control key, release it, and then press the subsequent keys.
+
+|`>`
+|Indicates menu item selection in a graphical user interface.
+|File > New > Templates
+|From the File menu, choose New. From the New submenu, choose Templates.
+|===
+
+
+[[GSUPG00024]][[ghpfg]]
+
+[[default-paths-and-file-names]]
+=== Default Paths and File Names
+
+The following table describes the default paths and file names that are
+used in this book.
+
+[%autowidth.stretch,options="header",]
+|===
+|Placeholder |Description |Default Value
+
+|as-install
+a|Represents the base installation directory for {productName}.
+In configuration files, as-install is represented as follows:
+`${com.sun.aas.installRoot}`
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac OS operating system:
++
+user's-home-directory``/glassfish7/glassfish``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7\glassfish``
+
+|as-install-parent
+|Represents the parent of the base installation directory for {productName}.
+a|* Installations on the Oracle Solaris operating system, Linux operating
+system, and Mac operating system:
++
+user's-home-directory``/glassfish7``
++
+* Installations on the Windows operating system:
++
+SystemDrive``:\glassfish7``
+
+|domain-root-dir
+|Represents the directory in which a domain is created by default.
+|as-install``/domains/``
+
+|domain-dir
+|Represents the directory in which a domain's configuration is stored.
+In configuration files, domain-dir is represented as follows:
+`${com.sun.aas.instanceRoot}`
+|domain-root-dir/domain-name
+
+|instance-dir
+|Represents the directory for a server instance.
+|domain-dir/instance-name
+|===
+
diff --git a/docs/upgrade-guide/src/main/asciidoc/title.adoc b/docs/upgrade-guide/src/main/asciidoc/title.adoc
new file mode 100644
index 0000000..fc18ca4
--- /dev/null
+++ b/docs/upgrade-guide/src/main/asciidoc/title.adoc
@@ -0,0 +1,58 @@
+type=page
+status=published
+title={productName} Upgrade Guide, Release 7
+next=preface.html
+prev=lot.html
+~~~~~~
+
+= {productName} Upgrade Guide, Release 7
+
+[[eclipse-glassfish-server]]
+== {productName}
+
+Upgrade Guide
+
+Release 7
+
+Contributed 2018 - 2022
+
+This guide explains how to upgrade to {productName} 7
+from previous {productName} and Sun GlassFish Enterprise
+Server product releases. Also included in this guide are instructions
+for upgrading configuration data and Jakarta EE applications from
+binary-compatible earlier versions of this software to work with
+{productName} 7. Finally, this guide describes
+compatibility issues that affect data and applications that are to be
+migrated.
+
+Note: The main thrust of the {productName} 7
+release is to provide an application server for developers to explore
+and begin exploiting the new and updated technologies in the Jakarta EE 10
+platform. Thus, the upgrade feature of {productName} was not a focus
+of this release. The feature is included in the release, but it may not
+function properly with some of the new features added in support of the
+Jakarta EE 10 platform.
+
+[[sthref1]]
+
+'''''
+
+{productName} Upgrade Guide, Release 7
+
+Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v. 2.0, which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+
+Oracle and Java are registered trademarks of Oracle and/or its
+affiliates. Other names may be trademarks of their respective owners.
+
+Intel and Intel Xeon are trademarks or registered trademarks of Intel
+Corporation. All SPARC trademarks are used under license and are
+trademarks or registered trademarks of SPARC International, Inc. AMD,
+Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
+registered trademarks of Advanced Micro Devices. UNIX is a registered
+trademark of The Open Group.
diff --git a/docs/upgrade-guide/src/main/asciidoc/upgrade-compatibility-issues.adoc b/docs/upgrade-guide/src/main/asciidoc/upgrade-compatibility-issues.adoc
new file mode 100644
index 0000000..38131cc
--- /dev/null
+++ b/docs/upgrade-guide/src/main/asciidoc/upgrade-compatibility-issues.adoc
@@ -0,0 +1,1075 @@
+type=page
+status=published
+title={productName} Upgrade Compatibility Issues
+next=upgrading-legacy-installation.html
+prev=preface.html
+~~~~~~
+
+= {productName} Upgrade Compatibility Issues
+
+[[GSUPG00002]][[abmaq]]
+
+
+[[glassfish-server-upgrade-compatibility-issues]]
+== 1 {productName} Upgrade Compatibility Issues
+
+This section describes some compatibility issues between {productName} 7 and earlier product releases. This section also describes
+some compatibility issues that affect Java applications that run on
+earlier product releases with which {productName} 7 is
+binary-compatible. When you upgrade to {productName} 7, you must
+address these issues.
+
+The following topics are addressed here:
+
+* link:#gjwpd[Binary-Compatible Releases For {productName} 7]
+* link:#gkric[New Default Installation Directory]
+* link:#gklhr[Changes to Group Management Service Settings]
+* link:#geyyk[Application Client Interoperability]
+* link:#gktad[Node Agent Support]
+* link:#gkrjm[HADB and `hadbm` Command Support]
+* link:#abmbc[Command Line Interface: The `asadmin` Command]
+* link:#gflnv[Applications That Use Java DB]
+* link:#gjizi[Applications That Use Persistence]
+* link:#gjiqj[HTTP Service to Network Service Changes]
+* link:#gktkt[NSS Cryptographic Token Support]
+
+[[gjwpd]][[GSUPG00028]][[binary-compatible-releases-for-glassfish-server]]
+
+=== Binary-Compatible Releases For {productName} 7
+
+{productName} 7 is NOT binary-compatible with the earlier releases of the software:
+
+* Sun GlassFish Enterprise Server v2.1.1 (Enterprise and Developer Profiles)
+* Sun GlassFish Enterprise Server v3
+* GlassFish Server Open Source Edition 3.0.1
+* GlassFish Server Open Source Edition 3.1
+* GlassFish Server Open Source Edition 3.1.1
+* GlassFish Server Open Source Edition 4.x
+* GlassFish Server Open Source Edition 5.x
+* Eclipse GlassFish 6.x
+
+Java applications that run on these releases also work on {productName} 7 except for the compatibility issues that
+are listed in the remainder of this chapter.
+
+
+[NOTE]
+====
+The compatibility issues that are listed in the remainder of this
+chapter do not affect Java applications that run on Sun GlassFish
+Enterprise Server v3 and {productName} 3.0.1. The differences between
+{productName} 7 and the Enterprise Server v3 releases do not affect
+applications and data.
+====
+
+
+[[gkric]][[GSUPG00029]][[new-default-installation-directory]]
+
+=== New Default Installation Directory
+
+The default {productName} 7 installation directories are as follows:
+
+Solaris, Linux, and Mac OS X systems::
+[source]
+----
+user-home-directory/glassfish7
+----
+Windows systems::
+[source]
+----
+SystemDrive\glassfish7
+----
+
+In {productName} 3.0.1 and Enterprise Server v3, the default
+installation root directory was `glassfish7`.
+
+[[gklhr]][[GSUPG00030]][[changes-to-group-management-service-settings]]
+
+=== Changes to Group Management Service Settings
+
+The functionality of the Group Management Service (GMS) has not changed
+since Sun GlassFish Enterprise Server v2.1.1, but the names of GMS
+settings have been changed in the Administration Console to make them
+more understandable. These changes are made automatically during the
+upgrade process.
+
+Changes to settings on the Edit Group Management Service page in the
+Administration Console are summarized in the following table.
+
+[[sthref3]][[gklho]]
+
+Table 1-1 GMS Administration Console Settings Changes from 2.1.1 to 4.0
+
+[width="100%",cols="<50%,<50%",options="header",]
+|===
+|Old Setting Name |New Setting Name
+|Protocol Maximum Trial |Maximum Missed Heartbeats
+|Protocol Timeout |Heartbeat Frequency
+|Ping Timeout |Group Discovery Timeout
+|Verified Timeout |Failure Verification Wait Time
+|===
+
+
+The Merge Protocol settings from Sun GlassFish Enterprise Server v2.1.1
+are not supported and have been removed.
+
+[[geyyk]][[GSUPG00031]][[application-client-interoperability]]
+
+=== Application Client Interoperability
+
+The Jakarta EE 6 platform specification imposes stricter requirements than
+Jakarta EE 5 did on which JAR files can be visible to various modules
+within an EAR file. In particular, application clients must not have
+access to EJB JAR files or other JAR files in the EAR file unless they
+use a `Class-Path` header in the manifest file, or unless references use
+the standard Java SE mechanisms (extensions, for example), or use the
+Jakarta EE `library-directory` mechanism. Deployed Jakarta EE 5 applications
+that are upgraded to {productName} 7 will have the `compatibility`
+property set to `v2` and will run without change on {productName} 7.
+You may, however, want to consider modifying the applications to
+conform to Jakarta EE 6 requirements.
+
+If your upgrade includes a deployed application with an application
+client, you will need to retrieve the client stubs using {productName} 7 in order to run the client. Use the
+`asadmin get-client-stubs` command.
+
+If you try to run the application client before retrieving the client
+stubs, you will see the following error message:
+
+[source]
+----
+Invalid or corrupt jarfile jar-file-name
+----
+
+If you commonly distribute application clients to remote systems from
+which users will run them, you must not only retrieve the client stubs,
+but you must also run the `package-appclient` utility for {productName} 7 to upgrade the {productName} system files. This utility
+creates a JAR file, which you can then expand on the remote systems.
+
+Application clients use EJBs, web services, or other enterprise
+components that are in the application server (on the server side). The
+application client and the application server must use the same version
+and implementation of the RMI-IIOP protocol. {productName} 7 does
+not support communication between different versions of the protocol
+implementation. You cannot run application clients with one version of
+the application server runtime with a server that has a different
+version. Most often, this would happen if you upgraded the server but
+had not upgraded all the application client installations. If you run
+the `package-appclient` utility, this issue will not arise.
+
+You can use the Java Web Start support to distribute and launch the
+application client. If the runtime on the server has changed since the
+end-user last used the application client, Java Web Start automatically
+retrieves the updated runtime. Java Web Start enables you to keep the
+clients and servers synchronized and using the same runtime.
+
+[[gktad]][[GSUPG00032]][[node-agent-support]]
+
+=== Node Agent Support
+
+{productName} 7 does not support node agents. When updating from
+installations of earlier product versions in which node agents were
+configured, the cluster definitions will be migrated, but the clustered
+instances themselves must be manually re-created. See
+link:upgrading-legacy-installation.html#gfybw[Upgrading Clusters and Node
+Agent Configurations] for more information.
+
+[[gkrjm]][[GSUPG00033]][[hadb-and-hadbm-command-support]]
+
+=== HADB and `hadbm` Command Support
+
+{productName} 7 does not support HADB or the `hadbm` management command.
+
+Instead of HADB, {productName} 7 supports high availability
+clustering by means of in-memory session state replication and
+ActiveCache for GlassFish.
+See "link:ha-administration-guide/overview.html#GSHAG00002[
+High Availability in {productName}]" in
+{productName} High Availability Administration Guide
+for more information.
+
+[[abmbc]][[GSUPG00034]][[command-line-interface-the-asadmin-command]]
+
+=== Command Line Interface: The `asadmin` Command
+
+The following sections describe changes to the command line utility `asadmin`:
+
+* link:#abmbd[Deprecated `asadmin` Subcommands]
+* link:#abmbf[Deprecated, Unsupported, and Obsolete Options]
+
+For more information about `asadmin` and its subcommands, see the
+link:reference-manual.html#GSRFM[{productName} Reference Manual].
+
+[[abmbd]][[GSUPG00053]][[deprecated-asadmin-subcommands]]
+
+==== Deprecated `asadmin` Subcommands
+
+In {productName} 7, it is recommended that utility options of the
+`asadmin` command precede the subcommand. Utility options are options
+that control the behavior of the `asadmin` utility, as distinguished
+from subcommand options. Use of the following options after the
+subcommand is deprecated.
+
+* `--host`
+* `--port`
+* `--user`
+* `--passwordfile`
+* `--terse`
+* `--secure`
+* `--echo`
+* `--interactive`
+
+[[abmbf]][[GSUPG00054]][[deprecated-unsupported-and-obsolete-options]]
+
+==== Deprecated, Unsupported, and Obsolete Options
+
+Options in link:#gaeki[Table 1-2] are deprecated or no longer supported,
+or are obsolete and are ignored.
+
+[[sthref4]][[gaeki]]
+
+Table 1-2 Deprecated, Unsupported, and Obsolete Options for `asadmin`
+and Subcommands
+
+[width="100%",cols="<33%,<67%",options="header",]
+|===
+|Option |Affected Subcommands
+
+|`--acceptlang`
+|Unsupported for the `create-virtual-server` subcommand.
+
+|`--acls`
+|Unsupported for the `create-virtual-server` subcommand.
+
+|`--adminpassword`
+|Unsupported for all relevant subcommands. Use `--passwordfile` instead.
+
+|`--autoapplyenabled`
+|Obsolete for the `create-http-lb` subcommand.
+
+|`--autohadb`
+|Obsolete for the `create-cluster` subcommand.
+
+|`--autohadboverride`
+|Obsolete for the `start-cluster` subcommand and the `stop-cluster` subcommand
+
+|`--blockingenabled`
+|Unsupported for the `create-http-listener` subcommand.
+
+|`--configfile`
+|Unsupported for the `create-virtual-server` subcommand.
+
+|`--defaultobj`
+|Unsupported for the `create-virtual-server` subcommand.
+
+|`--defaultvs`
+|Deprecated for the `create-http-listener` subcommand. Use `--default-virtual-server` instead.
+
+|`--description`
+|Obsolete for the `restore-domain` subcommand.
+
+|`--devicesize`
+|Obsolete for the `create-cluster` subcommand.
+
+|`--haadminpassword`
+|Obsolete for the `create-cluster` subcommand.
+
+|`--haadminpasswordfile`
+|Obsolete for the `create-cluster` subcommand.
+
+|`--haagentport`
+|Obsolete for the `create-cluster` subcommand.
+
+|`--haproperty`
+|Obsolete for the `create-cluster` subcommand.
+
+|`--heartbeataddress`
+|Deprecated for the `create-cluster` subcommand. Use `--multicastaddress` instead.
+
+|`--heartbeatport`
+|Deprecated for the `create-cluster` subcommand. Use `--multicastport` instead.
+
+|`--hosts`
+|Obsolete for the `create-cluster` subcommand.
+
+|`--ignoreDescriptorItem`
+|Replaced by the all lowercase option `--ignoredescriptoritem`
+in the `set-web-context-param` subcommand and the `set-web-env-entry` subcommand.
+
+|`--mime`
+|Unsupported for the `create-virtual-server` subcommand.
+
+|`--password`
+|Unsupported for all remote subcommands. Use `--passwordfile` instead.
+
+|`--path`
+|Unsupported for the `create-domain` subcommand. Use `--domaindir` instead.
+
+|`--portbase`
+|Obsolete only for the `create-cluster` subcommand.
+This option is still valid in other subcommands such as `create-domain`,
+`create-instance`, and `create-local-instance`.
+
+|`--resourcetype`
+|Unsupported for all relevant subcommands. Use `--restype` instead.
+
+|`--retrievefile`
+|Obsolete for the `export-http-lb-config` subcommand.
+
+|`--setenv`
+|Obsolete for the `start-instance` subcommand.
+
+|`--target`
+a|Obsolete only for the following subcommands:
+
+* `create-connector-connection-pool`
+* `create-resource-adapter-config`
+* `delete-connector-connection-pool`
+* `delete-connector-security-map`
+* `delete-jdbc-connection-pool`
+* `delete-resource-ref`
+
+Replaced by an operand in the `list-custom-resources` subcommand and the
+`list-jndi-entries` subcommand.
+|===
+
+
+[[gflnv]][[GSUPG00035]][[applications-that-use-java-db]]
+
+=== Applications That Use Java DB
+
+The directory location of Java DB in {productName} 7 has changed
+from its location in previous installations. Suppose that you have
+deployed applications that use Java DB databases in your previous server
+installation, and you upgrade your existing installation to {productName} 7. If you run the `asadmin start-database` command and
+successfully start Java DB, you could run into problems while trying to
+run applications that were deployed on your previous server
+installation.
+
+To solve this problem, you can copy the `databases` directory from your
+previous installation to as-install``/databases``. Make sure the database
+is not running when you do this.
+
+Alternatively, you can perform these steps:
+
+1. Use the `asadmin start-database` command with the `--dbhome` option
+pointing to the `databases` directory in the older version of Java DB.
+For example:
++
+[source]
+----
+asadmin start-database --dbhome c:\glassfish\databases
+----
+2. After upgrade, start {productName} 7.
+
+[[gjizi]][[GSUPG00036]][[applications-that-use-persistence]]
+
+=== Applications That Use Persistence
+
+{productName} 7 and 3.0.1, and Sun GlassFish Enterprise Server v3
+use the persistence provider EclipseLink, while earlier versions used
+TopLink Essentials.
+
+An application that uses the container to create an `EntityManager` or
+`EntityManagerFactory` and that used Toplink Essentials as its provider
+will work in {productName} 7. The container creates an
+`EntityManager` if the application uses the `@PersistenceContext`
+annotation to inject an `EntityManager`, as in the following example:
+
+[source,java]
+----
+@PersistenceContext
+EntityManager em;
+----
+
+The container creates an `EntityManagerFactory` if the application uses
+the `@PersistenceUnit` annotation to inject an `EntityManagerFactory`,
+as in the following example:
+
+[source,java]
+----
+@PersistenceUnit
+EntityManagerFactory emf;
+
+EntityManager em = emf.createEntityManager();
+----
+
+When the application is loaded, {productName} 7 will translate the
+provider to EclipseLink and will also translate `toplink.*` properties
+in the `persistence.xml` to corresponding EclipseLink properties. (The
+actual `persistence.xml` file remains unchanged.)
+
+Under certain circumstances, however, you may have to modify the
+`persistence.xml` file or your code:
+
+* If your application uses Java SE code to create the
+`EntityManagerFactory`, you will need to change your `persistence.xml`
+file for both the `provider` element and for any `toplink.*` properties
+to use the EclipseLink equivalents. An application uses Java SE code if
+it uses the `javax.persistence.Persistence` class to create the
+`EntityManagerFactory`, as in the following example:
++
+[source,java]
+----
+EntityManagerFactory emf =
+    javax.persistence.Persistence.createEntityManagerFactory("Order");
+EntityManager em = emf.createEntityManager();
+----
+In this case, change the `provider` element to specify the following:
++
+[source,xml]
+----
+<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+----
+* If the application itself contains any TopLink Essentials-specific
+code and therefore contains casts to `oracle.toplink.\*`, you must change
+the code to cast to `org.eclipse.persistence.*`. You can use the package
+renamer tool described on the
+http://wiki.eclipse.org/EclipseLink/Examples/MigratingFromOracleTopLink#Rename_Packages[
+Eclipse wiki]
+to do this. This tool is not provided with {productName} 7,
+however, so you must obtain it from the EclipseLink project download site.
+
+[[gjiqj]][[GSUPG00037]][[http-service-to-network-service-changes]]
+
+=== HTTP Service to Network Service Changes
+
+In {productName} 7, most HTTP Service settings are defined in the
+Network Service configuration that was introduced in Sun GlassFish
+Enterprise Server v3.
+
+The changes are described in the following sections.
+
+* link:#gipsa[Changes to Dotted Names]
+* link:#giprg[Changes to `asadmin` Subcommands]
+* link:#gipfo[Remapping of HTTP Service Attributes and Properties]
+* link:#gipcg[New Network Service Elements and Attributes]
+
+[[gipsa]][[GSUPG00055]][[changes-to-dotted-names]]
+
+==== Changes to Dotted Names
+
+The dotted name hierarchy for the HTTP Service configuration in
+{productName} 7 is shown below. Elements that are no longer
+supported are `request-processing`, `keep-alive`, `connection-pool`,
+`http-protocol`, `http-file-cache`, and `http-listener`. During the
+upgrade process, these discontinued elements are remapped to the new
+configuration automatically and then deleted.
+
+[source]
+----
+config
+    http-service
+        access-log
+        request-processing
+        keep-alive
+        connection-pool
+        http-protocol
+        http-file-cache
+        http-listener
+            ssl
+            property
+        virtual-server
+            http-access-log
+            property
+        property
+    thread-pools
+        thread-pool
+----
+
+The dotted name hierarchy for the {productName} 7 Network Service
+and HTTP Service configurations is shown below. The `network-config`
+element and all its children are new except for `ssl`.
+
+[source]
+----
+config
+    network-config
+        transports
+            selection-key-handler
+            transport
+        protocols
+            protocol
+                http
+                    file-cache
+                port-unification
+                    protocol-finder
+                protocol-chain-instance-handler
+                    protocol-chain
+                protocol-filter
+                ssl
+        network-listeners
+            network-listener
+    http-service
+        access-log
+        virtual-server
+            http-access-log
+            property
+        property
+    thread-pools
+        thread-pool
+----
+
+The following example compares the commands for setting a listener port
+for Sun GlassFish Enterprise Server v3 and {productName} 7. Note
+that the configuration for Enterprise Server v3 also applies to all
+earlier Enterprise Server 2.x releases.
+
+* Command for Sun GlassFish Enterprise Server v3 and earlier:
++
+[source]
+----
+asadmin set server-config.http-service.http-listener.http-1.listenerport=4321
+----
+* Command for {productName} 7:
++
+[source]
+----
+asadmin set server-config.network-config.network-listeners.network-\
+listener.http-1.listenerport=4321
+----
+
+[[giprg]][[GSUPG00056]][[changes-to-asadmin-subcommands]]
+
+==== Changes to `asadmin` Subcommands
+
+To accommodate the move of HTTP Service into the new Network Service
+configuration, link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] subcommands are changed as
+follows:
+
+* The link:reference-manual/create-ssl.html#GSRFM00058[`create-ssl`] subcommand has a new `--type`
+parameter value, `network-listener`.
+* The link:reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`] SUBcommand has a new
+parameter, `--networklisteners`.
+* The link:reference-manual/create-http-listener.html#GSRFM00030[`create-http-listener`] subcommand adds a
+`network-listener` element to the domain configuration. The syntax and
+options of this commands are unchanged.
+
+[[gipfo]][[GSUPG00057]][[remapping-of-http-service-attributes-and-properties]]
+
+==== Remapping of HTTP Service Attributes and Properties
+
+The following tables describe how attributes and properties in the HTTP
+Service configuration for {productName} 7 are remapped to
+attributes in the Network Service configuration for older product
+releases. If you use a configuration from a Sun GlassFish Enterprise
+Server v2 or v3 release, this remapping happens automatically and then
+discontinued elements are deleted.
+
+[[sthref5]][[gipfy]]
+
+Table 1-3 `com.sun.grizzly` Property Remapping
+
+[width="100%",cols="<33%,<26%,<41%",options="header",]
+|===
+|`com.sun.grizzly` Property |New Owning Element |New Attribute Name
+|`selector.timeout` |`transport` |`selector-poll-timeout-millis`
+|`displayConfiguration` |`transport` |`display-configuration`
+|`enableSnoop` |`transport` |`snoop-enabled`
+|`readTimeout` |`transport` |`read-timeout-millis`
+|`writeTimeout` |`transport` |`write-timeout-millis`
+|===
+
+
+[[sthref6]][[gipfn]]
+
+Table 1-4 `connection-pool` Attribute Remapping
+
+[width="100%",cols="<41%,<19%,<40%",options="header",]
+|===
+|`connection-pool` Attribute |New Owning Element |New Attribute Name
+|`queue-size-in-bytes` |`thread-pool` |`max-queue-size`
+
+|`max-pending-count` |`transport` |`max-connections-count`
+
+|`receive-buffer-size-in-` `bytes` |`http` |`request-body-buffer-size-`
+`bytes`
+
+|`send-buffer-size-in-bytes` |`http` |`send-buffer-size-bytes`
+|===
+
+
+[[sthref7]][[gipcv]]
+
+Table 1-5 `http-file-cache` Attribute Remapping
+
+[width="100%",cols="<50%,<17%,<33%",options="header",]
+|===
+|`http-file-cache` Attribute |New Owning Element |New Attribute Name
+|`file-caching-enabled` |`file-cache` |`enabled`
+|`max-age-in-seconds` |`file-cache` |`max-age-seconds`
+|`medium-file-space-in-bytes` |`file-cache` |`max-cache-size-bytes`
+|`max-files-count` |`file-cache` |`max-files-count`
+|`globally-enabled` |none |not supported
+|`medium-file-size-limit-in-bytes` |none |not supported
+|`small-file-size-limit-in-bytes` |none |not supported
+|`small-file-space-in-bytes` |none |not supported
+|`file-transmission-enabled` |none |not supported
+|`hash-init-size` |none |not supported
+|===
+
+
+[[sthref8]][[gipev]]
+
+Table 1-6 `http-listener` Attribute Remapping
+
+[width="100%",cols="<37%,<27%,<36%",options="header",]
+|===
+|`http-listener` Attribute |New Owning Element |New Attribute Name
+|`id` |`network-listener` |`name`
+|`address` |`network-listener` |`address`
+|`port` |`network-listener` |`port`
+|`enabled` |`network-listener` |`enabled`
+|`acceptor-threads` |`transport` |`acceptor-threads`
+|`security-enabled` |`protocol` |`security-enabled`
+|`default-virtual-server` |`http` |`default-virtual-server`
+|`server-name` |`http` |`server-name`
+|`redirect-port` |`http` |`redirect-port`
+|`xpowered-by` |`http` |`xpowered-by`
+|`external-port` |none |not supported
+|`family` |none |not supported
+|`blocking-enabled` |none |not supported
+|===
+
+
+[[sthref9]][[gipdo]]
+
+Table 1-7 `http-listener` Property Remapping
+
+[width="100%",cols="<43%,<15%,<42%",options="header",]
+|===
+|`http-listener` Property |New Owning Element |New Attribute Name
+|`maxKeepAliveRequests` |`http` |`max-connections`
+
+|`authPassthroughEnabled` |`http` |`auth-pass-through-enabled`
+
+|`compression` |`http` |`compression`
+
+|`compressableMimeType` |`http` |`compressable-mime-type`
+
+|`noCompressionUserAgents` |`http` |`no-compression-user-agents`
+
+|`compressionMinSize` |`http` |`compression-min-size-bytes`
+
+|`restrictedUserAgents` |`http` |`restricted-user-agents`
+
+|`cometSupport` |`http` |`comet-support-enabled`
+
+|`connectionUploadTimeout` |`http` |`connection-upload-timeout-`
+`millis`
+
+|`disableUploadTimeout` |`http` |`upload-timeout-enabled`
+
+|`chunkingDisabled` |`http` |`chunking-enabled`
+
+|`uriEncoding` |`http` |`uri-encoding`
+
+|`traceEnabled` |`http` |`trace-enabled`
+
+|`rcmSupport` |`http` |`rcm-support-enabled`
+
+|`jkEnabled` |`network-` `listener` |`jk-enabled`
+
+|`crlFile` |`ssl` |`crl-file`
+
+|`trustAlgorithm` |`ssl` |`trust-algorithm`
+
+|`trustMaxCertLength` |`ssl` |`trust-max-cert-length-bytes`
+
+|`tcpNoDelay` |`transport` |`tcp-no-delay`
+
+|`bufferSize` |`transport` |`buffer-size-bytes`
+
+|`use-nio-direct-bytebuffer` |`transport` |`byte-buffer-type`
+
+|`proxyHandler` |none |not supported
+
+|`proxiedProtocols` |none |not supported
+
+|`recycle-objects` |none |not supported
+
+|`reader-threads` |none |not supported
+
+|`acceptor-queue-length` |none |not supported
+
+|`reader-queue-length` |none |not supported
+
+|`connectionTimeout` |none |not supported
+
+|`monitoring-cache-enabled` |none |not supported
+
+|`monitoring-cache-refresh-in-` `millis` |none |not supported
+
+|`ssl-cache-entries` |none |not supported
+
+|`ssl3-session-timeout` |none |not supported
+
+|`ssl-session-timeout` |none |not supported
+|===
+
+
+[[sthref10]][[gipel]]
+
+Table 1-8 `http-protocol` Attribute Remapping
+
+[width="100%",cols="<34%,<33%,<33%",options="header",]
+|===
+|`http-protocol` Attribute |New Owning Element |New Attribute Name
+|`version` |`http` |`version`
+|`forced-response-type` |`http` |`forced-response-type`
+|`default-response-type` |`http` |`default-response-type`
+|`dns-lookup-enabled` |none |not supported
+|`ssl-enabled` |none |not supported
+|===
+
+
+[[sthref11]][[gipfa]]
+
+Table 1-9 `http-service` Property Remapping
+
+[width="100%",cols="<34%,<33%,<33%",options="header",]
+|===
+|`http-service` Property |New Owning Element |New Attribute or Property
+Name
+|`accessLoggingEnabled` |`http-service`, `virtual-server`
+|`access-logging-enabled` attribute
+
+|`ssl-cache-entries` |`http-service` |unchanged property
+
+|`ssl3-session-timeout` |`http-service` |unchanged property
+
+|`ssl-session-timeout` |`http-service` |unchanged property
+
+|`proxyHandler` |`http-service` |unchanged property
+
+|`connectionTimeout` |`http-service` |unchanged property
+
+|all other properties |none |not supported
+|===
+
+
+[[sthref12]][[gipea]]
+
+Table 1-10 `keep-alive` Attribute Remapping
+
+[width="100%",cols="<34%,<33%,<33%",options="header",]
+|===
+|`keep-alive` Attribute |New Owning Element |New Attribute Name
+|`max-connections` |`http` |`max-connections`
+|`timeout-in-seconds` |`http` |`timeout-seconds`
+|`thread-count` |none |not supported
+|===
+
+
+[[sthref13]][[gipdh]]
+
+Table 1-11 `request-processing` Attribute Remapping
+
+[width="100%",cols="<43%,<18%,<39%",options="header",]
+|===
+|`request-processing` Attribute |New Owning Element |New Attribute Name
+|`thread-count` |`thread-pool` |`max-thread-pool-size`
+|`initial-thread-count` |`thread-pool` |`min-thread-pool-size`
+|`header-buffer-length-in-bytes` |`http` |`header-buffer-length-bytes`
+|`request-timeout-in-seconds` |`http` |`request-timeout-seconds`
+|`thread-increment` |none |not supported
+|===
+
+
+[[sthref14]][[gipdv]]
+
+Table 1-12 `ssl` Attribute Changes
+
+[width="100%",cols="<34%,<22%,<44%",options="header",]
+|===
+|Previous Attribute or Property |Previous Owning Element |New `ssl`
+Attribute
+|none |none |`key-store`
+
+|none |none |`trust-store`
+
+|`crlFile` property |`http-listener` |`crl-file`
+
+|`trustAlgorithm` property |`http-listener` |`trust-algorithm`
+
+|`trustMaxCertLength` property |`http-listener`
+|`trust-max-cert-length-bytes`
+
+|all other `ssl` attributes |`ssl` |unchanged
+|===
+
+
+[[sthref15]][[gipcj]]
+
+Table 1-13 `thread-pool` Attribute Changes
+
+[width="100%",cols="<44%,<17%,<39%",options="header",]
+|===
+|Previous Attribute |Previous Owning Element |New `thread-pool`
+Attribute
+|none |none |`classname`
+
+|none |none |`max-queue-size`
+
+|`thread-pool-id` |`thread-pool` |`name`
+
+|`idle-thread-timeout-in-seconds` |`thread-pool`
+|`idle-thread-timeout-seconds`
+
+|`num-work-queues` |`thread-pool` |not supported
+
+|all other `thread-pool` attributes |`thread-pool` |unchanged
+|===
+
+
+[[sthref16]][[gipep]]
+
+Table 1-14 `virtual-server` Attribute Changes
+
+[width="100%",cols="<39%,<24%,<37%",options="header",]
+|===
+|Previous Attribute or Property |Previous Owning Element |New
+`virtual-server` Attribute
+|`http-listeners` attribute |`virtual-server` |`network-listeners`
+
+|`accessLoggingEnabled` property |`http-service`
+|`access-logging-enabled`
+
+|`sso-enabled` property |`virtual-server` |`sso-enabled`
+
+|`ssoCookieSecure` property |`virtual-server` |`sso-cookie-secure`
+
+|all other `virtual-server` attributes |`virtual-server` |unchanged
+
+|all other `virtual-server` properties |`virtual-server` |unchanged,
+still properties
+|===
+
+
+[[gipcg]][[GSUPG00058]][[new-network-service-elements-and-attributes]]
+
+==== New Network Service Elements and Attributes
+
+The following tables describe the Network Service elements and
+attributes that were introduced in Sun GlassFish Enterprise Server v3.
+For attributes and properties remapped from discontinued elements to new
+elements, see link:#gipfo[Remapping of HTTP Service Attributes and
+Properties].
+
+The new `file-cache` element has no new attributes. All of its
+attributes are remapped from the `http-file-cache` element. For details,
+see link:#gipcv[Table 1-5].
+
+[[sthref17]][[gipds]]
+
+Table 1-15 New `http` Attributes
+
+[width="100%",cols="<28%,<32%,<40%",options="header",]
+|===
+|Attribute |Default |Description
+|`adapter` |`com.sun.grizzly.tcp. StaticResourcesAdapter` |(Optional)
+Specifies the class name of the static resources adapter.
+
+|`max-post-size-bytes` |`2097152` |(Optional) Specifies the maximum size
+of `POST` actions.
+|===
+
+
+For remapped `http` attributes, see link:#gipfn[Table 1-4],
+link:#gipev[Table 1-6], link:#gipdo[Table 1-7], link:#gipel[Table 1-8],
+link:#gipea[Table 1-10], and link:#gipdh[Table 1-11].
+
+[[sthref18]][[gipey]]
+
+Table 1-16 New `network-listener` Attributes
+
+[width="100%",cols="<18%,<11%,<71%",options="header",]
+|===
+|Attribute |Default |Description
+|`protocol` |none |Specifies the `name` of the `protocol` associated
+with this `network-listener`. Although this attribute is required, a
+`protocol` is automatically created with the same `name` as the
+`network-listener` when you use `asadmin create-http-listener` to create
+a `network-listener`.
+
+|`thread-pool` |none |(Optional) Specifies the `name` of the
+`thread-pool` associated with this `network-listener`.
+
+|`transport` |none |Specifies the `name` of the `transport` associated
+with this `network-listener`. Although this attribute is required, the
+default `transport` is used when you use `asadmin create-http-listener`
+to create a `network-listener`.
+|===
+
+
+For remapped `network-listener` attributes, see link:#gipev[Table 1-6].
+
+[[sthref19]][[gipfg]]
+
+Table 1-17 New `port-unification` Attributes
+
+[width="100%",cols="<19%,<16%,<65%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the `port-unification`.
+
+|`classname` |none |Specifies the class name of the `port-unification`
+implementation.
+|===
+
+
+[[sthref20]][[gipdj]]
+
+Table 1-18 New `protocol` Attributes
+
+[width="100%",cols="<18%,<17%,<65%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the `protocol`.
+|===
+
+
+For remapped `protocol` attributes, see link:#gipev[Table 1-6].
+
+[[sthref21]][[gipcr]]
+
+Table 1-19 New `protocol-chain` Attributes
+
+[width="100%",cols="<19%,<17%,<64%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the `protocol-chain`.
+
+|`classname` |none |Specifies the class name of the `protocol-chain`
+implementation.
+
+|`type` |`STATELESS` |Specifies the type of protocol chain.
+|===
+
+
+[[sthref22]][[gipfq]]
+
+Table 1-20 New `protocol-chain-instance-handler` Attributes
+
+[width="100%",cols="<19%,<17%,<64%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the
+`protocol-chain-instance-handler`.
+
+|`classname` |none |Specifies the class name of the
+`protocol-chain-instance-handler` implementation.
+|===
+
+
+[[sthref23]][[gipeq]]
+
+Table 1-21 New `protocol-filter` Attributes
+
+[width="100%",cols="<19%,<17%,<64%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the `protocol-filter`.
+
+|`classname` |none |Specifies the class name of the `protocol-filter`
+implementation.
+|===
+
+
+[[sthref24]][[gipfd]]
+
+Table 1-22 New `protocol-finder` Attributes
+
+[width="100%",cols="<19%,<17%,<64%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the `protocol-finder`.
+
+|`classname` |none |Specifies the class name of the `protocol-finder`
+implementation.
+
+|`protocol` |none |Specifies the `name` of the `protocol` associated
+with this `protocol-finder`.
+|===
+
+
+[[sthref25]][[gipft]]
+
+Table 1-23 New `selection-key-handler` Attributes
+
+[width="100%",cols="<19%,<16%,<65%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the `selection-key-handler`.
+
+|`classname` |none |Specifies the class name of the
+`selection-key-handler` implementation.
+|===
+
+
+[[sthref26]][[gipfi]]
+
+Table 1-24 New `ssl` Attributes
+
+[width="100%",cols="<19%,<17%,<64%",options="header",]
+|===
+|Attribute |Default |Description
+|`key-store` |none |(Optional) Specifies a key store.
+|`trust-store` |none |(Optional) Specifies a trust store.
+|===
+
+
+For remapped `ssl` attributes, see link:#gipdv[Table 1-12].
+
+[[sthref27]][[gipcc]]
+
+Table 1-25 New `thread-pool` Attributes
+
+[width="100%",cols="<21%,<32%,<47%",options="header",]
+|===
+|Attribute |Default |Description
+|`classname` |`com.sun.grizzly.http.StatsThreadPool` |(Optional)
+Specifies the class name of the `thread-pool` implementation.
+
+|`max-queue-size` |`-1` |(Optional) Specifies the maximum number of
+messages that can be queued until threads are available to process them.
+A value of `-1` specifies no limit.
+|===
+
+
+For remapped `thread-pool` attributes, see link:#gipfn[Table 1-4],
+link:#gipdh[Table 1-11], and link:#gipcj[Table 1-13].
+
+[[sthref28]][[gipem]]
+
+Table 1-26 New `transport` Attributes
+
+[width="100%",cols="<35%,<27%,<38%",options="header",]
+|===
+|Attribute |Default |Description
+|`name` |none |Specifies a unique name for the `transport`.
+
+|`classname` |`com.sun.grizzly. TCPSelectorHandler` |(Optional)
+Specifies the class name of the `transport` implementation.
+
+|`selection-key-handler` |none |(Optional) Specifies the `name` of the
+`selection-key-handler` associated with this `transport`.
+
+|`idle-key-timeout-seconds` |`30` |(Optional) Specifies the idle key
+timeout.
+|===
+
+
+For remapped `transport` attributes, see link:#gipfy[Table 1-3],
+link:#gipfn[Table 1-4], link:#gipev[Table 1-6], and link:#gipdo[Table
+1-7].
+
+[[gktkt]][[GSUPG00038]][[nss-cryptographic-token-support]]
+
+=== NSS Cryptographic Token Support
+
+{productName} 7 does not support Network Security Services (NSS)
+cryptographic tokens. When upgrading to {productName} 7 from
+Enterprise Server v2.x, additional manual configuration steps must be
+performed. These steps are explained later in this guide, in
+link:upgrading-legacy-installation.html#gktnh[Upgrading Installations
+That Use NSS Cryptographic Tokens].
diff --git a/docs/upgrade-guide/src/main/asciidoc/upgrading-legacy-installation.adoc b/docs/upgrade-guide/src/main/asciidoc/upgrading-legacy-installation.adoc
new file mode 100644
index 0000000..8fb17e9
--- /dev/null
+++ b/docs/upgrade-guide/src/main/asciidoc/upgrading-legacy-installation.adoc
@@ -0,0 +1,1700 @@
+type=page
+status=published
+title=Upgrading an Installation of Application Server or {productName}
+prev=upgrade-compatibility-issues.html
+~~~~~~
+
+= Upgrading an Installation of Application Server or {productName}
+
+[[GSUPG00003]][[abmbq]]
+
+
+[[upgrading-an-installation-of-application-server-or-glassfish-server]]
+== 2 Upgrading an Installation of Application Server or {productName}
+
+[CAUTION]
+====
+This chapter is obsoleted and must be revided.
+====
+
+The Upgrade Tool that is bundled with {productName} 7 replicates
+the configuration of a previously installed server in the target
+installation. The Upgrade Tool assists in upgrading the configuration
+and applications from an earlier version of the Application Server or
+{productName} to {productName} 7.
+
+In addition to Upgrade Tool, there are three Update Center tools that
+can be used to perform an in-place upgrade to {productName} 7 from
+{productName} 3.1.1, 3.1, 3.0.1, and Enterprise Server v3. These
+three Update Center tools are:
+
+* Update Tool
+* Software Update Notifier
+* The `pkg` command-line utility
+
+Upgrade Tool and the three Update Center tools are explained later in
+this chapter.
+
+To view a list of the older versions from which you can upgrade, see
+link:#gjxkx[Supported Releases for Upgrade to {productName} 7].
+
+The following topics are addressed here:
+
+* link:#gaejc[Upgrade Overview]
+* link:#abmbr[Performing a Side-By-Side Upgrade With Upgrade Tool]
+* link:#gkthu[Performing an In-Place Upgrade With the Update Center
+Tools]
+* link:#gktnh[Upgrading Installations That Use NSS Cryptographic Tokens]
+* link:#gfybw[Upgrading Clusters and Node Agent Configurations]
+* link:#gkrfh[Correcting Potential Upgrade Problems]
+
+[[gaejc]][[GSUPG00039]][[upgrade-overview]]
+
+=== Upgrade Overview
+
+The subsections that follow provide information that you will need when
+you perform an upgrade.
+
+The following topics are addressed here:
+
+* link:#gkxum[Upgrade Paths]
+* link:#gdkiw[Upgrade Terminology]
+* link:#gktcb[Summary of Upgrade Tools and Procedures]
+* link:#gjxkx[Supported Releases for Upgrade to {productName} 7]
+* link:#gkufi[Upgrading From Version 8.x or Older Product Releases]
+* link:#gkxrp[Upgrading {productName} Inside a Closed Network]
+
+[[gkxum]][[GSUPG00059]][[upgrade-paths]]
+
+==== Upgrade Paths
+
+There are two general paths you can use when upgrading to {productName} 7:
+
+Side-by-Side::
+  A side-by-side upgrade means that the new {productName} release is
+  installed in a different directory than the release from which you are
+  upgrading. +
+  In this scenario, you perform the following steps:
+
+  1.  Perform a basic installation of {productName} 7 in a location
+  other than the one being used for the older product.
+  2.  Use Upgrade Tool to migrate the old configurations and
+  applications to the new {productName} 7 directories.
+  3.  Test the new {productName} installation to make sure everything
+  is working properly.
+  4.  When you are satisfied that the new installation works properly,
+  modify your production environment to use the new installation.
+
++
+The side-by-side upgrade path is typically used for live production
+  environments because it allows you to thoroughly test the new
+  {productName} installation before bringing it into production.
+
+In-Place::
+  An in-place upgrade means that the new {productName} release is
+  installed directly over and into the same directory as the previous
+  product release. The existing configuration is reused in the updated
+  installation. +
+In this scenario, you simply use Update Tool, the `pkg` utility, or
+  the Update Notifier in your old installation to overwrite the old
+  installation with the new {productName} 7 product. +
+  Performing an in-place upgrade is easier than performing a
+  side-by-side upgrade, but you lose the ability to switch back and
+  forth between the old and new installations. There is also no way to
+  revert an in-place upgrade back to the previous product version.
+  Because of these limitations, in-place upgrades are typically only
+  used by developers and for non-production {productName}
+  deployments. +
+  Note also that it is only possible to perform an in-place upgrade when
+  upgrading from {productName} 3.1.1, 3.1, 3.0.1, or v3. If you are
+  upgrading from product versions prior to 3x, you must perform a
+  side-by-side upgrade.
+
+For a more detailed overview, see link:#gktcb[Summary of Upgrade Tools
+and Procedures].
+
+[[gdkiw]][[GSUPG00060]][[upgrade-terminology]]
+
+==== Upgrade Terminology
+
+The following are important terms related to the upgrade process.
+
+Source Domain Directory::
+  The directory of the server domain from which you are upgrading to the
+  new version (for example, `c:\glassfish\domains\domain1`).
+Target Root Domain's Directory::
+  The directory where domains are created on the server to which you are
+  upgrading (for example, `c:\glassfish7\glassfish\domains`).
+Master Password::
+  The SSL certificate database password used in operations such as
+  {productName} startup. This term refers to the master password of
+  the installation from which you want to upgrade. You need to specify
+  this password if you have changed it from the default value of
+  `changeit`.
+
+[[gktcb]][[GSUPG00061]][[summary-of-upgrade-tools-and-procedures]]
+
+==== Summary of Upgrade Tools and Procedures
+
+There are several tools you can use to upgrade from an earlier {productName} or Enterprise Server installation to {productName} 7. The
+general procedures for upgrading to {productName} 7 vary depending
+on which tool you use and the product version from which you are upgrading.
+
+The following topics are addressed here:
+
+* link:#gktdx[Summary of Tools for Performing an Upgrade]
+* link:#gktdz[Summary of Procedure for Upgrading With Upgrade Tool]
+* link:#gktcl[Summary of Procedure for Upgrading With Update Tool]
+* link:#gkuef[Summary of Procedure for Upgrading With the Software Update Notifier]
+* link:#gktnb[Summary of Procedure for Upgrading With the `pkg` Utility]
+
+[[gktdx]][[GSUPG00045]][[summary-of-tools-for-performing-an-upgrade]]
+
+===== Summary of Tools for Performing an Upgrade
+
+There are several tools you can use to perform an upgrade to {productName} 7 are described below.
+
+* link:#gktcz[Upgrade Tool]
+* link:#gktha[Update Tool and the `pkg` Utility]
+* link:#gkuff[Software Update Notifier]
+
+[[gktcz]][[GSUPG00004]][[upgrade-tool]]
+
+Upgrade Tool
+
+The {productName} Upgrade Tool is tended solely for performing
+side-by-side upgrades from any compatible older product version to
+{productName} 7.
+
+Upgrade Tool provides a number of features that aid in the migration of
+older configurations and applications to a new {productName} 7
+installation. These features are described in more detail in
+link:#gdkix[Upgrade Tool Functionality].
+
+In {productName} 7 Upgrade Tool is installed in the
+as-install``/bin`` directory.
+
+[NOTE]
+====
+Upgrade Tool is the only tool you can use when upgrading to {productName} 7 from product versions prior to {productName} 3.0.1 or
+Enterprise Server v3.
+====
+
+See link:#gktdz[Summary of Procedure for Upgrading With Upgrade Tool]
+for an overview of the general procedure for performing an upgrade with
+Upgrade Tool.
+
+[[gktha]][[GSUPG00005]][[update-tool-and-the-pkg-utility]]
+
+Update Tool and the `pkg` Utility
+
+The {productName} Update Tool is a graphical utility that is
+typically used for the day-to-day maintenance of {productName}
+components and additional features. For example, Update Tool can be used
+to update {productName} components or install additional features
+such as OSGi Admin Console.
+
+The command-line counterpart to Update Tool is the `pkg` utility. While
+the `pkg` utility does not provide exactly the same set of features as
+Update Tool, for the purposes of upgrading to {productName} 7, the
+`pkg` utility and Update Tool feature sets are almost identical.
+
+In addition to day-to-day maintenance tasks, Update Tool and the `pkg`
+utility can be used to perform an in-place upgrade of an entire
+{productName} 3.0.1 or Enterprise Server v3 installation to the
+{productName} 7 or later release.
+
+In {productName} 7 Update Tool is installed in the
+as-install-parent``/bin`` directory.
+
+[NOTE]
+====
+It is not possible to use Update Tool to upgrade from {productName}
+or Enterprise Server versions prior to 3x. For these older versions, you
+must use the Upgrade Tool, described in link:#gktcz[Upgrade Tool].
+====
+
+See link:#gktcl[Summary of Procedure for Upgrading With Update Tool] for
+an overview of the general procedure for performing an upgrade with
+Update Tool. For more information about Update Tool in general, see
+"link:administration-guide.html#GSADG00701[Update Tool]"
+in {productName} Administration Guide.
+
+[[gkuff]][[GSUPG00006]][[software-update-notifier]]
+
+Software Update Notifier
+
+The {productName} Software Update Notifier is similar to Update Tool
+and the `pkg` utility in that it enables you to perform an in-place
+upgrade from {productName} 3.1.1, 3.1, 3.0.1, or Enterprise Server
+v3. As with Update Tool and the `pkg` utility, you cannot use the
+Software Update tool to upgrade from product releases prior 3.0.1 and
+v3.
+
+The Software Update Notifier is distributed as a configuration option
+during {productName} 7, 3.0.1, and Enterprise Server v3
+installation. If installed and enabled, the Software Update Notifier
+monitors your installation and pops up a notification balloon when
+updates or upgrades are available for your product.
+
+See link:#gkuef[Summary of Procedure for Upgrading With the Software
+Update Notifier] for an overview of the general procedure for performing
+an upgrade with the Software Update Notifier. For more information about
+the Update Notifier, refer to the Update Tool online help.
+
+[[gktdz]][[GSUPG00046]][[summary-of-procedure-for-upgrading-with-upgrade-tool]]
+
+===== Summary of Procedure for Upgrading With Upgrade Tool
+
+The general procedure for using Upgrade Tool to perform an upgrade to
+{productName} 7 from any compatible older version of {productName} or Enterprise Server comprises the following steps:
+
+1. Download {productName} 7 and perform a Standard Installation,
+as described in "link:installation-guide.html#GSING00007[
+To Install {productName} Using the Self-Extracting File]"
+in {productName} Installation Guide.
+2. Copy any custom or third-party libraries from the older installation
+to their corresponding locations in the new {productName} 7
+installation directories. Note that you should only copy custom or
+third-party libraries here. Do not copy an libraries from the actual
+domain that will be upgraded.
+3. Run the `asupgrade` command from the new {productName} 7
+as-install``/bin`` directory.
+4. Start the new {productName} 7 DAS with the
+`asadmin start-domain` subcommand.
+
+This procedure is described in more detail in link:#abmbr[Performing a
+Side-By-Side Upgrade With Upgrade Tool].
+
+[[gktcl]][[GSUPG00047]][[summary-of-procedure-for-upgrading-with-update-tool]]
+
+===== Summary of Procedure for Upgrading With Update Tool
+
+The general procedure for using Update Tool to perform an upgrade to
+{productName} 7 from {productName} 3.0.1 or Enterprise Server v3
+comprises the following steps:
+
+1. Manually stop all server instances and the domain.
+2. Launch Update Tool by using the as-install-parent`/bin/updatetool`
+command in the older product directory.
+3. In Update Tool, select and install the latest {productName}
+product release. This updates your server to the 7 release.
+4. Upgrade the domain by running the `asadmin start-domain --upgrade`
+subcommand. This performs the upgrade and then shuts down the DAS.
+5. Restart the DAS normally with the with the `asadmin start-domain`
+subcommand.
+
+This procedure is described in more detail in link:#gktjf[To Upgrade
+Using the Update Tool GUI].
+
+[[gkuef]][[GSUPG00048]][[summary-of-procedure-for-upgrading-with-the-software-update-notifier]]
+
+===== Summary of Procedure for Upgrading With the Software Update Notifier
+
+The general procedure for using the Software Update Notifier to perform
+an upgrade to {productName} 7 from {productName}3.0.1 or
+Enterprise Server v3 comprises the following steps:
+
+1. Wait for the Software Update Notifier to pop up a notification
+balloon informing you that updates are available.
+2. Click the balloon prompt to launch the Software Update GUI.
+3. Manually stop all server instances and the domain.
+4. Use the Software Update GUI to perform the upgrade. This updates
+your server to the 7 release.
+5. Upgrade the domain by running the `asadmin start-domain --upgrade`
+subcommand. This performs the upgrade and then shuts down the DAS.
+6. Restart the upgraded DAS normally with the with the
+`asadmin start-domain` subcommand.
+
+This procedure is described in more detail in link:#gkuhu[To Upgrade
+Using the Software Update Notifier].
+
+[[gktnb]][[GSUPG00049]][[summary-of-procedure-for-upgrading-with-the-pkg-utility]]
+
+===== Summary of Procedure for Upgrading With the `pkg` Utility
+
+The general procedure for using the `pkg` utility to perform an upgrade
+to {productName} 7 from {productName}3.0.1 or Enterprise Server
+v3 comprises the following steps:
+
+1. Manually stop all server instances and the domain.
+2. Run the as-install-parent`/bin/pkg` command with the desired options
+in the older product directory. This updates your server to the 7
+release.
+3. Upgrade the domain by running the `asadmin start-domain --upgrade`
+subcommand. This performs the upgrade and then shuts down the DAS.
+4. Restart the upgraded DAS normally with the with the
+`asadmin start-domain` subcommand.
+
+This procedure is described in more detail in link:#gktks[To Upgrade
+From the Command Line Using the `pkg` Utility].
+
+[[gjxkx]][[GSUPG00062]][[supported-releases-for-upgrade-to-glassfish-server-7]]
+
+==== Supported Releases for Upgrade to {productName} 7
+
+Upgrades to {productName} 7 are supported from the following
+earlier {productName} product releases:
+
+* Sun GlassFish Enterprise Server v2.1.1
+* Sun GlassFish Enterprise Server v3
+* {productName} 3.0.1
+* {productName} 3.1
+* {productName} 3.1.1
+
+[[gkufi]][[GSUPG00063]][[upgrading-from-version-8.x-or-older-product-releases]]
+
+==== Upgrading From Version 8.x or Older Product Releases
+
+It is not possible to upgrade to {productName} 7 directly from Sun
+GlassFish Enterprise Server 8.x or older product releases.
+
+To upgrade from a product release that is older than any of those listed
+in link:#gjxkx[Supported Releases for Upgrade to {productName} 7],
+you must first upgrade your older product release to one of the releases
+that are supported for upgrade to {productName} 7.
+
+For example, to upgrade from any Enterprise Server 8.x release, you
+first need to upgrade that older release to Enterprise Server 2.1.1.
+That is, your upgrade path would be as follows:
+
+Enterprise Server 8.x⇒Enterprise Server 2.1.1⇒{productName} 7
+
+Sun GlassFish Enterprise Server 2.1.1 is available for download from the
+http://glassfish.java.net/public/downloadsindex.html[GlassFish Community
+Downloads] (`http://glassfish.java.net/public/downloadsindex.html`)
+page. Instructions for upgrading to Enterprise Server 2.1.1 are provided
+in http://download.oracle.com/docs/cd/E19879-01/821-0180/index.html[Sun
+GlassFish Enterprise Server 2.1.1 Upgrade Guide]
+(`http://docs.oracle.com/cd/E19879-01/821-0180/index.html`).
+
+After upgrading your older Enterprise Server installation to Enterprise
+Server 2.1.1, you can proceed normally with the instructions in this
+guide to complete the upgrade to {productName} 7.
+
+[[gkxrp]][[GSUPG00065]][[upgrading-glassfish-server-inside-a-closed-network]]
+
+==== Upgrading {productName} Inside a Closed Network
+
+For instructions on upgrading a {productName} installation in an
+environment where Internet access is not available, see
+"link:administration-guide.html#GSADG00575[
+Extending and Updating {productName} Inside a Closed Network]"
+in {productName} Administration Guide.
+
+[[abmbr]][[GSUPG00040]][[performing-a-side-by-side-upgrade-with-upgrade-tool]]
+
+=== Performing a Side-By-Side Upgrade With Upgrade Tool
+
+This section explains how to use Upgrade Tool to perform a side-by-side
+upgrade to {productName} 7 from any compatible older product release.
+
+The following topics are addressed here:
+
+* link:#gktgx[Upgrade Tool Summary]
+* link:#gdkix[Upgrade Tool Functionality]
+* link:#gktjn[To Upgrade From the Command Line Using Upgrade Tool]
+* link:#gaejn[To Upgrade Using the Upgrade Tool Wizard]
+
+[[gktgx]][[GSUPG00066]][[upgrade-tool-summary]]
+
+==== Upgrade Tool Summary
+
+The Upgrade Tool upgrades your domain configurations and deployed
+applications. When you use the Upgrade Tool, the source server and the
+target server are normally installed on the same machine, but under
+different install locations. Both server file systems must be accessible
+from the system on which you perform the upgrade.
+
+To perform the upgrade, the user who runs the upgrade needs to have read
+permissions for the source and target directories and write permission
+for the target directory.
+
+You can perform an upgrade using Upgrade Tool in the following ways:
+
+* link:#gktjn[To Upgrade From the Command Line Using Upgrade Tool]
+* link:#gaejn[To Upgrade Using the Upgrade Tool Wizard]
+
+[[gdkix]][[GSUPG00067]][[upgrade-tool-functionality]]
+
+==== Upgrade Tool Functionality
+
+The Upgrade Tool migrates the configurations and deployed applications
+from an earlier version of Sun Java System Application Server or Sun
+GlassFishEnterprise Server to the current version. Database migrations
+or conversions are not part of this upgrade process.
+
+Briefly, the Upgrade Tool performs the following steps:
+
+* Copies the older source domain directory to the new target `domains` directory.
+* Calls the `asadmin start-domain --upgrade` command to migrate the
+source configurations to the new target {productName} installation.
+* Sends all `asadmin` command output to the screen and to the
+`upgrade.log` file, and sends all server output to the `server.log` file.
+
+Additional Upgrade Tool functions are explained in the following sections:
+
+* link:#gebrv[Migration of Deployed Applications]
+* link:#gebqm[Upgrade of Clusters]
+* link:#gebvn[Upgrade Verification]
+
+[[gebrv]][[GSUPG00050]][[migration-of-deployed-applications]]
+
+===== Migration of Deployed Applications
+
+Application archives (EAR files) and component archives (JAR, WAR, and
+RAR files) that are deployed in the source server do not require any
+modification to run on {productName} 7.
+Components that may have incompatibilities are deployed on {productName} 7 with the `compatibility` property set to `v2` and will run
+without change on {productName} 7. You may, however, want to
+consider modifying the applications to conform to Jakarta EE 6 requirements.
+
+The Jakarta EE 6 platform specification imposes stricter requirements than
+Jakarta EE 5 did on which JAR files can be visible to various modules
+within an EAR file. In particular, application clients must not have
+access to EJB JAR files or other JAR files in the EAR file unless they
+use a `Class-Path` header in the manifest file, or unless references use
+the standard Java SE mechanisms (extensions, for example), or use the
+Jakarta EE `library-directory` mechanism. Setting the `library-directory`
+property to `v2` removes these Jakarta EE 6 restrictions.
+
+Applications and components that are deployed in the source server are
+deployed on the target server during the upgrade. Applications that do
+not deploy successfully on the target server must be deployed manually
+on the target server by the user.
+
+If a domain contains information about a deployed application and the
+installed application components do not agree with the configuration
+information, the configuration is migrated unchanged, without any
+attempt to reconfigure the incorrect configurations.
+
+[[gebqm]][[GSUPG00051]][[upgrade-of-clusters]]
+
+===== Upgrade of Clusters
+
+When upgrading from a clustered configuration, the older cluster
+information is retained in a new `domain.xml` file in the {productName} 7 installation directories. However, it is still necessary to
+manually re-create the server instances that are contained in the
+clusters. This procedure is explained in link:#gfybw[Upgrading Clusters
+and Node Agent Configurations].
+
+[[gebvn]][[GSUPG00052]][[upgrade-verification]]
+
+===== Upgrade Verification
+
+An upgrade log records the upgrade activity. The upgrade log file is
+named `upgrade.log` and is created in the working directory from which
+the Upgrade Tool is run. Additional information is recorded in the
+server log of the upgraded domain.
+
+You can also use the `asadmin version` subcommand after starting the
+upgraded domain to verify the new {productName} product version; for example:
+
+[source]
+----
+asadmin> version
+Version = Eclipse GlassFish 7.0.0 (build 42)
+Command version executed successfully.
+----
+
+[[gktjn]][[GSUPG00010]][[to-upgrade-from-the-command-line-using-upgrade-tool]]
+
+==== To Upgrade From the Command Line Using Upgrade Tool
+
+This procedure explains how to use the Upgrade Tool command line to
+upgrade to {productName} 7 from any supported older product
+release. See link:#gjxkx[Supported Releases for Upgrade to {productName} 7] for a list of supported releases.
+
+[[sthref29]]
+
+Before You Begin
+
+Ensure that the domains on the source server from which you are
+upgrading are stopped before proceeding.
+
+1. Download and install {productName} 7 using the Typical
+Installation path. +
+See "link:installation-guide.html#GSING00025[
+Installing {productName} From a Self-Extracting Bundle]"
+in {productName} Installation Guide for instructions.
+
+2. Copy any custom or third-party libraries that may be located in the
+source as-install``/lib`` directory to the target as-install``/lib``
+directory. +
+Custom and third-party libraries should normally be located in the
+domain-dir``/lib`` directory. This step is only necessary for custom or
+third-party libraries that may be located in the nonstandard
+as-install``/lib`` directory.
+
+3. Start Upgrade Tool from a command shell for your operating environment.
++
+[NOTE]
+====
+Use the Upgrade Tool that is located in the target {productName} 7
+installation, not the older source installation.
+====
++
+* On UNIX systems
++
+[source]
+----
+as-install/bin/asupgrade -c
+----
+* On Windows systems
++
+[source]
+----
+as-install\bin\asupgrade.bat -c
+----
+The `-c` option starts Upgrade Tool in console mode. If `-c` is omitted,
+Upgrade Tool starts in GUI mode, which is described in link:#gaejn[To
+Upgrade Using the Upgrade Tool Wizard].
++
+If you start Upgrade Tool with only the `-c` option, the tool enters
+interactive CLI mode in which you are asked to supply the needed
+options. If you prefer to enter all options directly from the command
+line, you can use the following syntax:
++
+[source]
+----
+asupgrade
+[-c|--console]
+[-V|--version]
+[-h|--help]
+[-s|--source source-domain-directory]
+[-t|--target target-domain-directory]
+[-f|--passwordfile password-file]
+----
+
++
+Explanations of these options are provided at the end of this procedure.
+
+4. Follow the prompts to perform the upgrade. +
+If a name used for an older domain that you are upgrading already exists
+in the new target domains directory, Upgrade Tool will ask if you want
+to rename the new directory so the old directory can be copied to the
+new installation.
+* If you type `y` in response, the directory is renamed
+domain-name`.original`. If that name already exists, the directory will
+be renamed domain-name`.orginal.0`. For example, if the old domain
+directory is named `domain1`, it will be renamed `domain1.original`, or
+if that name already exists, `domain1.original.0`.
+* If you type `n`, you are prompted to specify a different directory
+name or quit.
++
+The domain is upgraded and the results are output to the console.
+
+5. Review the console output to verify that the upgrade proceeded correctly. +
+This output is also written to the `output.log` file for later review. +
+If there are any `SEVERE` or `WARNING` messages in the `server.log`
+file, the upgrade output will say
+`"Possible error encountered during upgrade. See server log after upgrade process completes."`
+
+6. Start the upgraded {productName} 7 domain.
++
+[source]
+----
+asadmin start-domain domain-name
+----
+Log in to the Administration Console with the user name and password you
+used in the older server.
++
+[NOTE]
+====
+{productName} 7 does not support NSS authentication. If you are
+upgrading from a Enterprise Profile configuration that uses NSS
+authentication, follow the procedure in link:#gktnh[Upgrading
+Installations That Use NSS Cryptographic Tokens].
+====
+
+7. If you are upgrading a clustered configuration or a configuration in
+which node agents were used, proceed with the instructions in
+link:#gfybw[Upgrading Clusters and Node Agent Configurations].
+
+[[GSUPG00007]][[gktiu]]
+Example 2-1 Using the `asupgrade` Command Line
+
+The following example shows how to use the `asupgrade` command-line
+utility in non-interactive mode to upgrade an existing Sun GlassFish
+Enterprise Server v2.1 installation to {productName} 7. The
+following command should be entered on a single line.
+
+[source]
+----
+asupgrade -c -s /home/glassfish/domains/domain1 -f /root/mypassword
+-t /home/glassfish7/glassfish/domains
+----
+
+[[sthref30]]
+
+asupgrade Command-Line Options
+
+Listed below are the `asupgrade` command-line options, including the
+short form, the long form, and a description of each option.
+
+[width="100%",cols="<26%,<26%,<48%",options="header",]
+|===
+|Short Form |Long Form |Description
+
+|`-c`
+|`--console`
+|Launches the upgrade command line utility.
+
+|`-V`
+|`--version`
+|The version of the {productName}.
+
+|`-h`
+|`--help`
+|Displays the arguments for launching the upgrade utility.
+
+|`-s` source-domain-directory
+|`--source` source-domain-directory
+|The domain-dir directory in the source (older) server installation.
+
+|`-t` target-domains-directory
+|`--target` target-domains-directory
+|The desired domain-root-dir directory in the {productName} 7 target
+installation; default is as-install``/domains``
+
+|`-f` password-file
+|`--passwordfile` password-file
+|The file containing the administration password and the master password.
+|===
+
+[[sthref31]]
+
+Next Steps
+
+* Browse to the URL `http://localhost:8080` to view the
+domain-dir``/docroot/index.html`` file. This file is brought over during
+the upgrade. You may want to copy the default {productName} 7 file
+from the `domain1.original/docroot` directory and customize it for your
+{productName} 7 installation.
+* To register your installation of {productName} from the
+Administration Console, select the Registration item from the Common
+Tasks page. For step-by-step instructions on the registration process,
+click the Help button on the Administration Console.
+
+[[gaejn]][[GSUPG00011]][[to-upgrade-using-the-upgrade-tool-wizard]]
+
+==== To Upgrade Using the Upgrade Tool Wizard
+
+This procedure explains how to use the graphical Upgrade Tool Wizard to
+upgrade to {productName} 7 from any supported older product
+release. See link:#gjxkx[Supported Releases for Upgrade to {productName} 7] for a list of supported releases.
+
+[[sthref32]]
+
+Before You Begin
+
+Ensure that the source domains from which you are upgrading are stopped
+before proceeding.
+
+1. Download and install {productName} 7 using the Typical Installation path. +
+See "link:installation-guide.html#GSING00025[
+Installing {productName} From a Self-Extracting Bundle]"
+in {productName} Installation Guide for instructions.
+
+2. Copy any custom or third-party libraries that may be located in the
+source as-install``/lib`` directory to the target as-install``/lib`` directory. +
+Custom and third-party libraries should normally be located in the
+domain-dir``/lib`` directory. This step is only necessary for custom or
+third-party libraries that may be located in the nonstandard
+as-install``/lib`` directory.
+
+3. Start the Upgrade Tool wizard from a command shell for your
+operating environment.
++
+[NOTE]
+====
+Use the Upgrade Tool that is located in the target {productName} 7
+installation, not the older source installation.
+====
++
+* On UNIX systems
++
+[source]
+----
+as-install/bin/asupgrade
+----
+* On Windows systems
++
+[source]
+----
+as-install\bin\asupgrade.bat
+----
+
++
+[TIP]
+====
+You may find it faster to run the `asupgrade` command with the `s`
+source-domain-directory option, which will prefill the Source Domain
+Directory field in the next step.
+====
+
+4. In the Source Domain Directory field, type the domain directory of
+the existing installation from which to import the configuration, or
+click Browse. +
+For example, you might type `c:\glassfish\domains\domain1`.
+
+5. In the Target Domains Root Directory field, type the location of the
+{productName} 7 installation to which to transfer the
+configuration, or click Browse. +
+The default is the full path name of the `domains` directory of your
+{productName} 7 installation (for example,
+`c:\glassfish7\glassfish\domains`).
+
+6. Provide the master password of the source application server. +
+The domain will be upgraded using these credentials. If you do not
+specify a password here, the default master password is used.
++
+[NOTE]
+====
+{productName} 7 does not support NSS authentication. If you are
+upgrading from a Enterprise Profile configuration that uses NSS
+authentication, follow the procedure in link:#gktnh[Upgrading
+Installations That Use NSS Cryptographic Tokens].
+====
+
+7. Click Next. +
+If a name used for an older domain that you are upgrading already exists
+in the new target domains directory, Upgrade Tool will ask if you want
+to rename the new directory so the old directory can be copied to the
+new installation.
+* If you click OK in response, the directory is renamed
+domain-name``.original``. If that name already exists, the directory will
+be renamed domain-name``.orginal.0``. For example, if the old domain
+directory is named `domain1`, it will be renamed `domain1.original`, or
+if that name already exists, `domain1.original.0`.
+* If you click No, you brought back to the main screen.
+
++
+The domain is upgraded and the Upgrade Results page displays the status
+of the upgrade operation.
+
+8. Review the output in the Upgrade Results page to verify that the
+upgrade proceeded correctly. +
+If there are any `SEVERE` or `WARNING` messages in the `server.log`
+file, the upgrade output will say
+`"Possible error encountered during upgrade. See server log after upgrade process completes."`
+
+9. Click Finish to exit the Upgrade Tool when the upgrade process is
+complete.
+
+10. Start the upgraded {productName} 7 domain.
++
+[source]
+----
+asadmin start-domain domain-name
+----
+
+11. If you are upgrading a clustered configuration or a configuration in
+which node agents were used, proceed with the instructions in
+link:#gfybw[Upgrading Clusters and Node Agent Configurations].
+
+[[sthref33]]
+
+Next Steps
+
+* Browse to the URL `http://localhost:8080` to view the
+domain-dir`/docroot/index.html` file. This file is brought over during
+the upgrade. You may want to copy the default {productName} 7 file
+from the `domain1.original/docroot` directory and customize it for your
+{productName} 7 installation.
+* To register your installation of {productName} from the
+Administration Console, select the Registration item from the Common
+Tasks page. For step-by-step instructions on the registration process,
+click the Help button on the Administration Console.
+
+[[gkthu]][[GSUPG00041]][[performing-an-in-place-upgrade-with-the-update-center-tools]]
+
+=== Performing an In-Place Upgrade With the Update Center Tools
+
+This section explains how to use the three Update Center tools to
+perform an in-place upgrade to {productName} 7 from {productName} 3.0.1 or Enterprise Server v3. Specifically, the three tools
+explained in this section are:
+
+* Update Tool
+* Software Update Notifier
+* The `pkg` command-line utility
+
+[NOTE]
+====
+{productName} 3.0.1 and Enterprise Server v3 are the only product
+releases that can be upgraded to the 7 release with the Update Center
+tools. If you are upgrading from any other product release, you must use
+Upgrade Tool, as described in link:#abmbr[Performing a Side-By-Side
+Upgrade With Upgrade Tool].
+====
+
+The following topics are addressed here:
+
+* link:#gkthx[Update Center Tool Procedures]
+* link:#gktjf[To Upgrade Using the Update Tool GUI]
+* link:#gkuhu[To Upgrade Using the Software Update Notifier]
+* link:#gktks[To Upgrade From the Command Line Using the `pkg` Utility]
+
+[[gkthx]][[GSUPG00068]][[update-center-tool-procedures]]
+
+==== Update Center Tool Procedures
+
+Unlike when using Upgrade Tool, when you use the Update Tool, the
+Software Update Notifier, or the `pkg` utility to perform a {productName} 7 upgrade, the older source server directories are overwritten
+with the new target server directories, and the existing configuration
+and deployed applications are reused in the updated installation.
+
+To perform the upgrade, the user who runs the upgrade needs to have read
+and writer permissions for the server installation directories.
+
+You can perform an upgrade using the Update Center tools in the
+following ways:
+
+* link:#gktjf[To Upgrade Using the Update Tool GUI]
+* link:#gkuhu[To Upgrade Using the Software Update Notifier]
+* link:#gktks[To Upgrade From the Command Line Using the `pkg` Utility]
+
+[[gktjf]][[GSUPG00012]][[to-upgrade-using-the-update-tool-gui]]
+
+==== To Upgrade Using the Update Tool GUI
+
+This procedure explains how to use the graphical Update Tool to perform
+an in-place upgrade to {productName} 7 from {productName} 3.0.1
+or Enterprise Server v3. Note that it is not possible to use this
+procedure with any other product releases.
+
+1. Ensure that all domains on the source server from which you are
+upgrading are stopped before proceeding.
+
+2. In a command shell for your operating environment, navigate to the
+as-install-parent``/bin`` directory.
+
+3. Use the `updatetool` command to start the Update Tool GUI. +
+The Update Tool main window is displayed.
+
+4. Click on Available Updates.
+
+5. Select all items in the Available Updates list, and then click the
+Install button in the toolbar at the top of the Update Tool main window. +
+When the upgrade is complete, exit Update Tool.
+
+6. Upgrade the domain by starting the DAS with the `--upgrade` option.
++
+[source]
+----
+as-install/bin/asadmin start-domain --upgrade domain-name
+----
+This upgrades the domain and then shuts down the DAS.
+
+7. Start the DAS normally.
++
+[source]
+----
+as-install/bin/asadmin start-domain domain-name
+----
+
+[[sthref34]]
+
+Next Steps
+
+* Browse to the URL `http://localhost:8080` to view the
+domain-dir``/docroot/index.html`` file. This file is brought over during
+the upgrade. You may want to copy the default {productName} 7 file
+from the `domain1.original/docroot` directory and customize it for your
+{productName} 7 installation.
+* To register your installation of {productName} from the
+Administration Console, select the Registration item from the Common
+Tasks page. For step-by-step instructions on the registration process,
+click the Help button on the Administration Console.
+
+[[gkuhu]][[GSUPG00013]][[to-upgrade-using-the-software-update-notifier]]
+
+==== To Upgrade Using the Software Update Notifier
+
+This procedure explains how to use the Software Update Notifier to
+perform an in-place upgrade to {productName} 7 from {productName} 3.0.1 or Enterprise Server v3. Note that it is not possible to
+use this procedure with any other product releases.
+
+[[sthref35]]
+
+Before You Begin
+
+The Software Update Notifier must be installed and enabled on the
+{productName} or Enterprise Server release from which you are
+upgrading. Software Update Notifier installation is typically performed
+during the initial {productName} or Enterprise Server installation.
+The Software Update Notifier can also be installed later using Update
+Tool. For more information about the Update Notifier, refer to the
+Update Tool online help.
+
+1. Wait for the Software Update Notifier to pop up a notification
+balloon informing you that updates are available.
+
+2. Click the balloon prompt to open the Software Update GUI.
+
+3. Manually stop all domains and server instances.
+
+4. Using the Software Update GUI, select the items you want to upgrade
+and start the installation. +
+Ensure that {productName} 7 is one of the items you select for
+upgrade. This upgrades the server and selected components to the latest
+available versions.
+
+5. Upgrade the domain by starting the DAS with the `--upgrade` option.
++
+[source]
+----
+as-install/bin/asadmin start-domain --upgrade domain-name
+----
+This upgrades the domain and then shuts down the DAS.
+
+6. Start the DAS normally.
++
+[source]
+----
+as-install/bin/asadmin start-domain domain-name
+----
+
+[[sthref36]]
+
+Next Steps
+
+* Browse to the URL `http://localhost:8080` to view the
+domain-dir`/docroot/index.html` file. This file is brought over during
+the upgrade. You may want to copy the default {productName} 7 file
+from the `domain1.original/docroot` directory and customize it for your
+{productName} 7 installation.
+* To register your installation of {productName} from the
+Administration Console, select the Registration item from the Common
+Tasks page. For step-by-step instructions on the registration process,
+click the Help button on the Administration Console.
+
+[[gktks]][[GSUPG00014]][[to-upgrade-from-the-command-line-using-the-pkg-utility]]
+
+==== To Upgrade From the Command Line Using the `pkg` Utility
+
+This procedure explains how to use the `pkg` utility to perform an
+in-place upgrade to {productName} 7 from {productName} 3.0.1 or
+Enterprise Server v3. Note that it is not possible to use this procedure
+with any other product releases.
+
+1. Ensure that all domains on the source server from which you are
+upgrading are stopped before proceeding.
+
+2. In a command shell for your operating environment, navigate to the
+as-install-parent``/bin`` directory.
+
+3. Use the `pkg image-update` command to update your entire {productName} 3.0.1 or Enterprise Server v3 installation to {productName} 7.
++
+[source]
+----
+./pkg image-update
+----
+This upgrades the server components to the latest available versions.
+
+4. Upgrade the domain by starting the DAS with the `--upgrade` option.
++
+[source]
+----
+as-install/bin/asadmin start-domain --upgrade domain-name
+----
+This upgrades the domain and then shuts down the DAS.
+
+5. Start the DAS normally.
++
+[source]
+----
+as-install/bin/asadmin start-domain domain-name
+----
+
+[[sthref37]]
+
+Next Steps
+
+* Browse to the URL `http://localhost:8080` to view the
+domain-dir`/docroot/index.html` file. This file is brought over during
+the upgrade. You may want to copy the default {productName} 7 file
+from the `domain1.original/docroot` directory and customize it for your
+{productName} 7 installation.
+* To register your installation of {productName} from the
+Administration Console, select the Registration item from the Common
+Tasks page. For step-by-step instructions on the registration process,
+click the Help button on the Administration Console.
+
+[[gktnh]][[GSUPG00042]][[upgrading-installations-that-use-nss-cryptographic-tokens]]
+
+=== Upgrading Installations That Use NSS Cryptographic Tokens
+
+{productName} v2.x EE (Enterprise Edition) uses Network Security
+Services (NSS) for cryptographic software tokens. {productName} 7
+does not support NSS, so when performing an upgrade from v2.x EE to 7
+additional manual configuration steps must be performed.
+
+The following topics are addressed here:
+
+* link:#gktnq[To Prepare for the Upgrade]
+* link:#gktlz[To Perform Post-Upgrade Configuration]
+* link:#gktlp[To Upgrade PKCS#11 Hardware Tokens]
+
+[[gktnq]][[GSUPG00015]][[to-prepare-for-the-upgrade]]
+
+==== To Prepare for the Upgrade
+
+This procedure explains how to prepare for modifying an NSS-based
+{productName} 2.x installation when upgrading to {productName} 7.
+
+1. Download and install {productName} 7 using the Typical Installation path. +
+Ensure that you install the new {productName} 7 product in a
+directory that is different than the one used for the older installation
+from which you are upgrading. +
+See "link:installation-guide.html#GSING00025[
+Installing {productName} From a Self-Extracting Bundle]"
+in {productName} Installation Guide for instructions.
+
+2. Rename the new {productName} 7 domain-dir (the default is
+as-install``/domains/domain1``) to a name of your choice. +
+In this procedure, `31domain` is used for the renamed {productName} 7 domain.
+
+3. Copy the older source domain to be upgraded to the new {productName} 7 as-install``/domains`` directory. +
+In this procedure, `domain1` is used for the older source domain that is
+copied to the new {productName} 7 installation.
++
+[NOTE]
+====
+The remaining steps in this procedure are performed on the copy of your
+source domain that you created in this step, rather than on your
+original source domain. It is strongly recommended that you perform the
+{productName} 7 upgrade on a copy of your old domain rather than on
+the original.
+====
+
+4. Copy the `server.policy`, `keystore.jks`, and `cacerts.jks` files
+from the renamed `./31domain/config` directory to the `./domain1/config`
+directory to be upgraded. +
+For example:
++
+[source]
+----
+cp as-install/domains/31domain/config/server.policy as-install/domains/domain1/config
+cp as-install/domains/31domain/config/keystore.jks as-install/domains/domain1/config
+cp as-install/domains/31domain/config/cacerts.jks as-install/domains/domain1/config
+----
+This will overwrite the master password for `./domain1` with the
+password used in the `./31domain`.
+
+5. Modify the `domain.xml` file for `./domain1`.
+[arabic]
+.. Add the following `jvm-options` under `server-config` and
+`default-config`:
++
+[source]
+----
+-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks
+-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks
+----
+.. Remove the following `jvm-option` under `server-config` and
+`default-config`:
++
+[source]
+----
+-Dcom.sun.appserv.nss.db=${com.sun.aas.instanceRoot}/config
+----
+
+6. Upgrade `./domain1` by starting the DAS in the new {productName} 7
+installation with the `--upgrade` option.
++
+[source]
+----
+as-install/bin/asadmin start-domain --upgrade domain1
+----
+This upgrades the domain and then shuts down the DAS.
+7. Start the upgraded DAS normally.
++
+[source]
+----
+as-install/bin/asadmin start-domain domain1
+----
+
+[[gktlz]][[GSUPG00016]][[to-perform-post-upgrade-configuration]]
+
+==== To Perform Post-Upgrade Configuration
+
+These instructions explain the post-upgrade configuration steps that
+must be performed when upgrading from an NSS-based installation to
+{productName} 7.
+
+[[sthref38]]
+
+Before You Begin
+
+Before proceeding with this procedure, complete the procedure explained
+in link:#gktnq[To Prepare for the Upgrade].
+
+1. Start the {productName} 7 domain, if it is not already running,
+and open the {productName} Admin Console in a browser window. +
+The default URL is `https://localhost:4848` +
+As part of the link:#gktnq[To Prepare for the Upgrade] procedure, the
+default keystore with a default self-signed key-certificate pair with an
+alias named `s1as` and a keystore password `changeit` was copied into
+the v2.x domain before the upgrade.
+
+2. If your default server alias in the NSS v2.x domain is not `s1as`,
+you can delete this entry using the following command:
++
+[source]
+----
+keytool -delete -keystore keystore.jks -storepass changeit -alias s1as
+keytool -delete -keystore cacerts.jks -storepass changeit -alias s1as
+----
+
+3. If the master password for the v2.x domain is not the default
+password `changeit`, you need to change the new keystore password to
+match the v2.x master password.
++
+[source]
+----
+keytool -storepasswd -new v2-master-password \
+-keystore keystore.jks -storepass changeit
+keytool -storepasswd -new v2-master-password \
+-keystore cacerts.jks -storepass changeit
+----
+
+4. Take note of all the `KeyEntries` that exist in your NSS database.
++
+These entries must be migrated to the `keystore.jks` in the {productName} 7 domain. The following command can be used to list all the
+`KeyEntries` in the NSS database:
++
+[source]
+----
+certutil -L -d $AS_NSS_DB
+----
+`AS_NSS_DB` should point to the `${com.sun.aas.instanceRoot}/config` for
+the 7 instance into which the v2.x domain was copied. The listing with
+the attribute combinations `u,u,u` are the `KeyEntries`. +
+For example:
++
+[source]
+----
+s1as u,u,u
+----
+
++
+[NOTE]
+====
+To run the `certutil` command, your `LD_LIBRARY_PATH` must point to the
+directory containing NSS library and DLLs.
+====
+
+5. For each `PrivateKey-Certificate` pair (`KeyEntry`) that exists in
+the v2.x NSS database, use the following commands to export them from
+the NSS database and import them into the newly created `keystore.jks` file. +
+Make sure you use the same alias when importing the `KeyEntry` into the
+JKS keystore. For example, if s1as is the only alias present in the NSS
+database, the following command can be used:
++
+[source]
+----
+> pk12util -o /tmp/s1as_pk.p12 -n s1as -d $AS_NSS_DB
+>keytool -importkeystore -srckeystore /tmp/s1as_pk.p12 -destkeystore \
+${com.sun.aas.instanceRoot}/config/keystore.jks -srcstoretype PKCS12 \
+-deststoretype JKS -srcstorepass v2-master-password \
+-deststorepass v3-master-password -srcalias s1as \
+-destalias s1as -srckeypass v2-master-password \
+-destkeypass v3-master-password
+----
++
+[NOTE]
+====
+The reference to v3-master-password could be the same as
+v2-master-password if you intend to retain the same master password for
+the 7 domain after upgrading from v2.x.
+====
+
+6. If the `s1as` alias represents a `KeyEntry` with a self-signed
+certificate, the self-signed certificate must be copied to the
+`truststore`.
++
+[source]
+----
+>certutil -L -n s1as -r -d $AS_NSS_DB> /tmp/s1as.der>keytool -import -keystore cacerts.jks -storepass v3-master-password \
+-file /tmp/s1as.der -alias s1as
+----
+7. There is a rare chance that the 2.x NSS database has some CA
+(Certificate Authority) certificates that are absent in the default
+created `truststore`. In such cases, all aliases that are missing in the
+`truststore` (`cacerts.jks`) need to collected.
+[arabic]
+.. `certutil -L -d $AS_NSS_DB` +
+Example output:
++
+[source]
+----
+verisignc1g1 T,c,c
+verisignc1g2 T,c,c
+verisignc1g3 T,c,c
+----
+.. `keytool -list -keystore cacerts.jks -storepass` v3-master-password +
+Example output:
++
+[source]
+----
+godaddyclass2ca, Jan 20, 2005, trustedCertEntry,
+Certificate fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67
+verisignclass1g3ca, Mar 26, 2004, trustedCertEntry,
+Certificate fingerprint (MD5): B1:47:BC:18:57 1:18:A0:78:2D:EC:71:E8:2A:95:73
+secomevrootca1, May 1, 2008, trustedCertEntry,
+Certificate fingerprint (MD5): 22:2D:A6:01:EA:7C:0A:F7:F0:6C:56:43:3F:77:76 3
+----
+
+8. For each of the aliases from the `certutil` output in the preceding
+step that are required but missing in the `truststore` listing, execute
+the following commands to export and import them into the 7 domain's
+`truststore`.
++
+[source]
+----
+>certutil -L -n verisignc1g1 -r -d $AS_NSS_DB> /tmp/verisignc1g1.der>keytool -import -keystore cacerts.jks -storepass v3-master-password \
+-file /tmp/verisignc1g1.der -alias verisignc1g1
+----
+
+[NOTE]
+====
+Sometimes just the alias names that are used in the NSS database are
+different, and the same certificate is, in fact, present in the 7
+default `truststore`.
+====
+
+
+[[gktlp]][[GSUPG00017]][[to-upgrade-pkcs11-hardware-tokens]]
+
+==== To Upgrade PKCS#11 Hardware Tokens
+
+If you are using {productName} v2.x Enterprise Edition with Hardware
+Tokens (for example, FIPS-140 compliant Sun Cryptographic Accelerator
+6000 or other Sun Cryptographic Accelerators) configured by means of
+NSS-PKCS11, then the v2.x EE-to-7 upgrade solution is to directly
+configure the Hardware Token as a PKCS11 token using the JDK-JSSE
+supported mechanisms for configuring PKCS#11 tokens.
+
+1. Set the `javax.net.ssl.keyStoreType` `jvm-options` in {productName} 7 to PKCS11.
++
+[source,xml]
+----
+<jvm-options>-Djavax.net.ssl.keyStoreType=PKCS11</jvm-options>
+----
+
+2. Set the `javax.net.ssl.keyStore` URL should be set to l since this
+is a hardware token.
++
+[source,xml]
+----
+<jvm-options>-Djavax.net.ssl.keyStore=NONE</jvm-options>
+----
+
+3. Change the password for the `truststore` and the {productName}
+`MasterPassword` to match the PIN of your `HardwareToken`.
+
+4. Since you are using a Hardware Token, you can delete the
+`keystore.jks` for the migrated domain.
+
+5. Ensure the `token-alias` for the hardware token (private key) that
+you intend to use as the Server's Key for SSL is mentioned in every
+relevant place in the `domain.xml` for the domain. +
+For example, the `cert-nickname` attribute for the `<ssl/>` element
+under the `protocol` configuration.
+
+6. If the Hardware Token is to act as a `TrustStore` as well, remove
+the `cacerts.jks` file from the domain-dir``/config`` directory. +
+Ensure that the following two `jvm-options` are set in the `domain.xml` file:
++
+[source,xml]
+----
+<jvm-options>-Djavax.net.ssl.trustStore=NONE</jvm-options>
+<jvm-options>-Djavax.net.ssl.trustStoreType=PKCS11</jvm-options>
+----
+
+[[gfybw]][[GSUPG00043]][[upgrading-clusters-and-node-agent-configurations]]
+
+=== Upgrading Clusters and Node Agent Configurations
+
+This section explains additional steps you need to perform when
+upgrading cluster and node agent configurations from Application Server
+or Enterprise Server to {productName} 7.
+
+{productName} 7 does not support node agents. As part of the
+upgrade process, any node agent elements in the older source
+configuration are transformed into `CONFIG` node elements in the
+`domain.xml` file for the upgraded DAS. If the source node agent
+configuration is incompatible with your {productName} 7
+installation, you must correct the node configuration on the upgraded DAS.
+
+In addition, although the source cluster configuration is retained in
+the `domain.xml` file for the upgraded DAS, it is still necessary to
+install {productName} 7 on each node host and manually re-create
+the server instances that are contained in the clusters.
+
+The following topics are addressed here:
+
+* link:#gkyda[Overview of Cluster and Node Agent Upgrade Procedures]
+* link:#gktle[To Correct the Configuration of a Node After an Upgrade]
+* link:#gktkx[To Re-Create a Cluster]
+
+[[gkyda]][[GSUPG00069]][[overview-of-cluster-and-node-agent-upgrade-procedures]]
+
+==== Overview of Cluster and Node Agent Upgrade Procedures
+
+The general steps for upgrading a cluster and node agent configuration
+so it will work in {productName} 7 are as follows:
+
+1. Perform a side-by-side upgrade of the DAS. This procedure is
+described in link:#abmbr[Performing a Side-By-Side Upgrade With Upgrade Tool].
+
+2. Perform new (not upgrade) {productName} 7 installations on each
+node host. {productName} 7 installation instructions are provided
+in the link:installation-guide.html#GSING[
+{productName} Installation Guide].
+
+3. Correct the node configuration on the upgraded DAS, if necessary.
+This procedure is described in link:#gktle[To Correct the Configuration
+of a Node After an Upgrade].
+
+4. Re-create the clusters and server instances on each {productName} 7 node host.
+This procedure is described in link:#gktkx[To Re-Create a Cluster].
+
+[[gktle]][[GSUPG00018]][[to-correct-the-configuration-of-a-node-after-an-upgrade]]
+
+==== To Correct the Configuration of a Node After an Upgrade
+
+As part of the upgrade process, node agent elements in the DAS
+configuration are transformed into {productName} node elements of
+type `CONFIG`. This transformation does not affect the node agent
+directories for {productName} instances. To create the equivalent
+directories for {productName} instances after an upgrade, you must
+re-create the instances as explained in link:#gktkx[To Re-Create a
+Cluster].
+
+The name of an upgraded node is the name of the node agent from which
+the node is transformed.
+
+The host that the node represents is obtained from the configuration of
+the original node agent or, if not specified, is not set. If the
+configuration of the original node agent did not specify the name of the
+node host, you must update the node to specify the host that the node represents.
+
+Default values are applied to the remainder of the node's configuration data.
+
+The default values of the following items in a node's configuration data
+might not meet your requirements for the upgraded installation of {productName}:
+
+* The parent of the base installation directory of the {productName}
+software on the host, for example, `/export/glassfish7`. +
+The default is the parent of the default base installation directory of
+the {productName} 7 software on the DAS host. If the {productName} software is installed under a different directory on the node
+host, you must update the node's configuration to specify the correct directory.
+
+* The directory that will contain the {productName} instances that
+are to reside on the node. +
+The default is as-install``/nodes``, where as-install is the base
+installation directory of the {productName} software on the host. If
+you require the instances to be contained in a different directory, you
+must update the node's configuration to specify that directory.
+
+If you are using secure shell (SSH) for centralized administration, you
+must also change the type of the node to `SSH` to enable the node for
+remote communication.
+
+For more information about {productName} nodes, see
+"link:ha-administration-guide/nodes.html#GSHAG00004[Administering {productName} Nodes]" in {productName} High Availability Administration Guide.
+
+[[sthref39]]
+
+Before You Begin
+
+Ensure that the following prerequisites are met:
+
+* A side-by-side upgrade on the DAS has been performed. For more
+information, see link:#abmbr[Performing a Side-By-Side Upgrade With Upgrade Tool].
+
+* If you are changing the type of the node to `SSH`, ensure that SSH is
+configured on the host where the DAS is running and on the host that the
+node represents. For more information, see
+"link:ha-administration-guide/ssh-setup.html#GSHAG00003[
+Setting Up SSH for Centralized Administration]" in
+{productName} High Availability Administration Guide.
+
+* If you are upgrading from an Enterprise Profile configuration that
+uses NSS authentication, ensure that the procedure in
+link:#gktnh[Upgrading Installations That Use NSS Cryptographic Tokens]
+has been performed. {productName} 7 does not support NSS authentication.
+
+1. Ensure that the DAS is running. +
+Remote subcommands require a running server.
+2. Update the node's configuration data to specify the correct
+directories and, if necessary, change the type of the node.
++
+[NOTE]
+====
+Only the options that are required to complete this task are provided in
+this step. For information about all the options for changing the node's
+configuration data, see the link:reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)] help
+page or the link:reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)] help page.
+====
+
+[source]
+----
+asadmin> node-update-subcommand [--installdir as-install-parent] [--nodedir node-dir]
+[--nodehost node-host] node-name
+----
+node-update-subcommand::
+  The subcommand to run to update the node.
+  * If you are leaving the type of the node as `CONFIG`, run the
+  `update-node-config` subcommand on the node.
+  * If you are changing the type of the node to `SSH`, run the
+  `update-node-ssh` subcommand on the node.
+as-install-parent::
+  The full path to the parent of the base installation directory of the
+  {productName} software on the host, for example,
+  `/export/glassfish7`.
+node-dir::
+  The path to the directory that will contain {productName} instances
+  that are to reside on the node. If a relative path is specified, the
+  path is relative to the as-install directory.
+node-host::
+  The name of the host that the node is to represent after the node is
+  updated.
+node-name::
+  The name of the node to update. This name is the name of the node
+  agent from which the node was transformed.
+
+[[GSUPG00008]][[gktoh]]
+Example 2-2 Correcting the Configuration of a Node After an Upgrade
+
+This example updates the path to the directory that will contain
+instances that are to reside on the node `xk01` to
+`/export/home/gf/nodes`. Because this node is transformed from a node
+agent, the type of the node is `CONFIG`. Therefore, type of the node is
+not changed.
+
+[source]
+----
+asadmin> update-node-config --nodedir /export/home/gf/nodes xk01
+Command update-node-config executed successfully.
+----
+
+[[sthref40]]
+
+Next Steps
+
+Re-create the cluster configuration from the older source installation
+in the new {productName} 7 installation in as explained in
+link:#gktkx[To Re-Create a Cluster].
+
+[[sthref41]]
+
+See Also
+
+* "link:ha-administration-guide/ssh-setup.html#GSHAG00003[
+Setting Up SSH for Centralized Administration]" in
+{productName} High Availability Administration Guide
+* "link:ha-administration-guide/nodes.html#GSHAG00004[Administering {productName} Nodes]"
+in {productName} High Availability Administration Guide
+* link:reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)]
+* link:reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)]
+
+[[gktkx]][[GSUPG00019]][[to-re-create-a-cluster]]
+
+==== To Re-Create a Cluster
+
+This procedure explains how to re-create a clustered {productName} or
+Enterprise Server configuration for {productName} 7.
+
+[[sthref42]]
+
+Before proceeding with these instructions, ensure that you have
+completed the following procedures:
+--
+* Perform the standard upgrade to {productName} 7 on the DAS, as
+described in link:#abmbr[Performing a Side-By-Side Upgrade With Upgrade Tool].
+
+* Perform a new (not upgrade) installation of {productName} 7 on
+each node host. See the link:installation-guide.html#GSING[
+{productName} Installation Guide] for instructions.
+
+* Correct the upgraded node configuration, if necessary, as described
+link:#gktle[To Correct the Configuration of a Node After an Upgrade].
+--
+
+1. Start the upgraded DAS.
++
+[source]
+----
+asadmin> start-domain domain-name
+----
+If the upgrade succeeded, the migrated cluster configuration exists and
+the `get-health` subcommand lists the status of the clustered instances
+as not running.
+
+2. Confirm that the cluster configuration exists and contains all its instances.
++
+[source]
+----
+asadmin> get-health cluster-name
+----
+For example, for the sample `cluster1` used in this procedure:
++
+[source]
+----
+asadmin> get-health cluster1
+instance1 not started
+instance2 not started
+Command get-health executed successfully.
+----
+
+3. Re-create the clustered server instances on each instance host. +
+The specific commands to use depend on your configuration.
+
+* If remote hosts cannot contact the DAS, export and import the
+instances' configuration data, as explained in
+"link:ha-administration-guide/instances.html#GSHAG00125[
+To Resynchronize an Instance and the DAS Offline]"
+in {productName} High Availability Administration Guide.
+
+* If remote hosts can contact the DAS, create each instance individually
+and resynchronize the instance with the DAS, as explained in the
+following sections:
+
+** "link:ha-administration-guide/instances.html#GSHAG00114[
+To Create an Instance Locally]"
+in {productName} High Availability Administration Guide
+
+** "link:ha-administration-guide/instances.html#GSHAG00119[
+To Resynchronize an Instance and the DAS Online]"
+in {productName} High Availability Administration Guide +
+Note that the node name matches that used for the node agent in the 2.x
+installation. If you get an error stating that some attributes do not
+match the values in the DAS configuration, follow the instructions in
+link:#gktle[To Correct the Configuration of a Node After an Upgrade].
+
+4. After creating the instances, manually copy the instance-dir``/imq``
+directory for each instance from the older source installation to the
+target {productName} 7 installation.
+
+5. If necessary, start the cluster. +
+For example:
++
+[source]
+----
+asadmin> start-cluster cluster1
+----
+This step may or may not be necessary, depending on the procedure you
+used to create the server instances for the cluster.
+
+[[GSUPG00009]][[gkyin]]
+Example 2-3 Creating Two Local Instances
+
+The following example shows how to create two local instances in a
+cluster.
+
+[source]
+----
+host1$ asadmin --host dashost create-local-instance --node na1 --cluster cluster1 instance1
+host2$ asadmin --host dashost create-local-instance --node na2 --cluster cluster1 instance2
+----
+
+`dashost`::
+  The name of the DAS host.
+`na1`::
+  The name of the node host.
+`cluster1`::
+  The name of the cluster.
+`instance1`, `instance2`::
+  The names of the instances.
+
+[[gkrfh]][[GSUPG00044]][[correcting-potential-upgrade-problems]]
+
+=== Correcting Potential Upgrade Problems
+
+This section addresses issues that can occur during an upgrade to
+{productName} 7.
+
+The following topics are addressed here:
+
+* link:#gkrgh[Cluster Profile Security Setting]
+* link:#gkrib[Cluster Profile Upgrade on Windows]
+* link:#gkyho[`asupgrade` Fails Without Internet Connection]
+
+[[gkrgh]][[GSUPG00070]][[cluster-profile-security-setting]]
+
+==== Cluster Profile Security Setting
+
+When upgrading a clustered domain configuration from Application Server
+9.1 or Enterprise Server v2 to {productName} 7, you may encounter
+problems if the `admin-service` element in the DAS `domain.xml` file
+sets both of the following attributes:
+
+* `security-enabled=true`
+* `type=das-and-server`
+
+The `security-enabled` attribute must be set to `false` in the
+`admin-service` element for the DAS when `type` is set to
+`das-and-server`.
+
+You can use the `get` subcommand to determine the values for these two
+attributes. For example:
+
+* To display the value for the `security-enabled` attribute:
++
+[source]
+----
+asadmin> get configs.config.server-config.admin-service.jmx-connector.system.security-enabled
+----
+* To display the value for the type attribute:
++
+[source]
+----
+asadmin> get configs.config.server-config.admin-service.type
+----
+
+If necessary, use the `set` subcommand to set `security-enabled=false`.
+For example:
+
+[source]
+----
+asadmin> set configs.config.server-config.admin-service.jmx-connector.system.security-enabled=false
+----
+
+[[gkrib]][[GSUPG00071]][[cluster-profile-upgrade-on-windows]]
+
+==== Cluster Profile Upgrade on Windows
+
+On Windows, when you upgrade cluster profile domains, you could
+encounter the following error:
+
+[source]
+----
+Fatal error while backing up the domain directory
+----
+
+To resolve this error, look for and remove any hidden files in the
+source domain's directory and re-run Upgrade Tool.
+
+[[gkyho]][[GSUPG00072]][[asupgrade-fails-without-internet-connection]]
+
+==== `asupgrade` Fails Without Internet Connection
+
+This problem only occurs when using {productName} 3.1 Upgrade Tool to
+perform a side-by-side upgrade on a 2.x domain without an Internet
+connection. It does not occur when using {productName} 3.1.1.
+
+The workaround for this issue is as follows:
+
+1. Copy the older source domain to be upgraded to the new target
+domain-dir, the default for which is as-install``/domains``. +
+Rename the target `domain1` directory, if one exists, before proceeding.
+
+2. Run the upgrade.
++
+[source]
+----
+asadmin> start-domain --upgrade domain-name
+----
diff --git a/docs/upgrade-guide/src/main/jbake/assets/css/style.css b/docs/upgrade-guide/src/main/jbake/assets/css/style.css
deleted file mode 100644
index 25a16e4..0000000
--- a/docs/upgrade-guide/src/main/jbake/assets/css/style.css
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CSS */
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
-html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
-
-/* HTML5 display definitions ========================================================================== */
-/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
-
-/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
-audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }
-
-/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
-audio:not([controls]) { display: none; height: 0; }
-
-/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
-[hidden], template { display: none; }
-
-/* Links ========================================================================== */
-/** Remove the gray background color from active links in IE 10. */
-a { background-color: transparent; }
-
-/** Improve readability when focused and also mouse hovered in all browsers. */
-a:active, a:hover { outline: 0; }
-
-/* Text-level semantics ========================================================================== */
-/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
-abbr[title] { border-bottom: 1px dotted; }
-
-/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
-b, strong { font-weight: bold; }
-
-/** Address styling not present in Safari and Chrome. */
-dfn { font-style: italic; }
-
-/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
-h1 { font-size: 2em; margin: 0.67em 0; }
-
-/** Address styling not present in IE 8/9. */
-mark { background: #ff0; color: #000; }
-
-/** Address inconsistent and variable font size in all browsers. */
-small { font-size: 80%; }
-
-/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
-sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-
-sup { top: -0.5em; }
-
-sub { bottom: -0.25em; }
-
-/* Embedded content ========================================================================== */
-/** Remove border when inside `a` element in IE 8/9/10. */
-img { border: 0; }
-
-/** Correct overflow not hidden in IE 9/10/11. */
-svg:not(:root) { overflow: hidden; }
-
-/* Grouping content ========================================================================== */
-/** Address margin not present in IE 8/9 and Safari. */
-figure { margin: 1em 40px; }
-
-/** Address differences between Firefox and other browsers. */
-hr { box-sizing: content-box; height: 0; }
-
-/** Contain overflow in all browsers. */
-pre { overflow: auto; }
-
-/** Address odd `em`-unit font size rendering in all browsers. */
-code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
-
-/* Forms ========================================================================== */
-/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
-/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
-button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }
-
-/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
-button { overflow: visible; }
-
-/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
-button, select { text-transform: none; }
-
-/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
-button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
-
-/** Re-set default cursor for disabled elements. */
-button[disabled], html input[disabled] { cursor: default; }
-
-/** Remove inner padding and border in Firefox 4+. */
-button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-
-/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
-input { line-height: normal; }
-
-/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
-input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
-
-/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
-input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
-
-/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
-input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
-
-/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
-
-/** Define consistent border, margin, and padding. */
-fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
-
-/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
-legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
-
-/** Remove default vertical scrollbar in IE 8/9/10/11. */
-textarea { overflow: auto; }
-
-/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
-optgroup { font-weight: bold; }
-
-/* Tables ========================================================================== */
-/** Remove most spacing between table cells. */
-table { border-collapse: collapse; border-spacing: 0; }
-
-td, th { padding: 0; }
-
-/* LAYOUT STYLES */
-
-p { margin-top: 0; }
-
-code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 13px; color: #222; }
-
-code { padding: 0 3px; background-color: #f2f8fc; border: solid 1px #dbe7f3; }
-
-pre { padding: 20px; overflow: auto; text-shadow: none; background: #fff; border: solid 1px #f2f2f2; }
-
-pre code { padding: 0; color: #2879d0; background-color: #fff; border: none; }
-
-ul, ol, dl { margin-bottom: 20px; }
-
-/* COMMON STYLES */
-
-td.halign-right { text-align: right; } 
-
-td.halign-center { text-align: center; } 
-
-form { padding: 20px; background: #f2f2f2; }
-
-h2 { 
-   font-size: 2em;
-   line-height: 1.2em;
-   font-weight: 200;
-   letter-spacing: 0;
-}
-
-h3 { 
-   font-size: 1.4em;
-   line-height: 1.2em;
-   font-weight: normal;
-   letter-spacing: 0;
-}
-
-.sect1 {
-   margin-left: 4%;
-   margin-right: 4%;
-   font: 13px/20px Arial, Helvetica, sans-serif  
-}
-
-a:link {
-   text-decoration: none;
-   color: #09569d;
-}
-
-#preamble hr{
-   margin-left: 0%;
-   margin-right: 0%;
-}
-
-#preamble .sectionbody table  {
-   font-weight: 200;
-   margin-left: 4%;
-   margin-right: 4%;
-}
-
-hr {
-   margin-bottom: 12px;
-}
-
-table.tableblock.frame-all.grid-all.spread {
-   font-size: 12px;
-}
-
-code {
-   font-size:.9em;
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 3px;
-   padding: 1px;
-   padding-left:2px;
-   padding-right:2px;
-}
-
-pre.prettyprint.highlight {
-   border: 1px solid #eaeaea;
-   background-color: #f6f6f6;
-   border-radius: 4px;
-   padding: 8px;
-   padding-top:4px;
-   padding-bottom:4px;
-}
-
-.language-oac_no_warn {
-   font-size:.9em;
-   color:#222;
-   background-color: transparent;
-}
-
-#doc-title {
-   margin-left: 4%;
-}
-
-#top-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-#bottom-nav {
-   margin-left: 4%;
-   font-size: 12px;
-}
-
-.vector-font {
-   color:grey; 
-   font-size: 20px;
-}
-
-#copyright {
-   padding-top: 10px;
-   padding-bottom: 4px;
-   display: table;
-   margin:0 auto;
-   color: grey;
-   font-size: 12px;
-   vertical-align: middle;
-}
-
-.beta {color: #FF0000}
-
-/* GENERAL ELEMENT TYPE STYLES */
-
-/* #Media Queries
-================================================== */
-/* Smaller than standard 960 (devices and browsers) */
-/* Tablet Portrait size to standard 960 (devices and browsers) */
-@media only screen and (min-width: 768px) and (max-width: 959px) { .inner { width: 740px; }
-  header h1, header h2 { width: 340px; }
-  header h1 { font-size: 60px; }
-  header h2 { font-size: 30px; }
-}
-/* All Mobile Sizes (devices and browser) */
-@media only screen and (max-width: 767px) { .inner { width: 93%; }
-  header { padding: 20px 0; }
-  header .inner { position: relative; }
-  header h1, header h2 { width: 100%; }
-  header h1 { font-size: 48px; }
-  header h2 { font-size: 24px; }
-  header a.button { position: relative; display: inline-block; width: auto; height: auto; padding: 5px 10px; margin-top: 15px; font-size: 13px; line-height: 1; color: #2879d0; text-align: center; background-color: #9ddcff; background-image: none; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
-  header a.button small { display: inline; font-size: 13px; }
-}
-/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
-/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
-
-header h1 { padding-top: 14px; font-size: 2em; font-weight: 200; line-height: 1.4; color: #FFFFFF; letter-spacing: 0px; border-bottom: 0px; }
-
-header h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 0; font-weight: 200; line-height: .8; color: #ec7D11; letter-spacing: 0; }
-
-/*
-header a.button { background: transparent url(../images/logo.png) 0 0 no-repeat; padding-left: 32px; }
-*/
-
-header a:hover { text-decoration: none; }
-
-/* Admonition (Note) block */
-.admonitionblock > table {
-  border: 0;
-  background: none;
-  width: 100%;
-  table-layout: auto;
-  margin-bottom: 10.5px;
-}
-.admonitionblock > table td.icon {
-  text-align: center;
-  width: 60px;
-}
-.admonitionblock > table td.icon img {
-  max-width: none;
-}
-.admonitionblock > table td.icon .title {
-  text-transform: uppercase;
-}
-.admonitionblock > table td.content {
-  padding-left: 1em;
-  padding-right: 1em;
-  border-left: 3px solid #ddd;
-}
-.admonitionblock > table td.content > :last-child > :last-child {
-  margin-bottom: 0;
-}
-.admonitionblock td.icon [class^="fa icon-"]:before {
-  font-size: 2.5em;
-  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
-  cursor: default;
-}
-.admonitionblock td.icon .icon-note:before {
-  content: "\f05a";
-  color: #5bc0de;
-}
diff --git a/docs/upgrade-guide/src/main/jbake/content/loe.adoc b/docs/upgrade-guide/src/main/jbake/content/loe.adoc
deleted file mode 100644
index a1d258a..0000000
--- a/docs/upgrade-guide/src/main/jbake/content/loe.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-type=page
-status=published
-title=List of Examples
-next=lot.html
-prev=toc.html
-~~~~~~
-List of Examples
-================
-
-[[list-of-examples]]
-List of Examples
-----------------
-
-* link:upgrading-legacy-installation.html#gktiu[2-1 Using the asupgrade
-Command Line]
-* link:upgrading-legacy-installation.html#gktoh[2-2 Correcting the
-Configuration of a Node After an Upgrade]
-* link:upgrading-legacy-installation.html#gkyin[2-3 Creating Two Local
-Instances]
diff --git a/docs/upgrade-guide/src/main/jbake/content/lot.adoc b/docs/upgrade-guide/src/main/jbake/content/lot.adoc
deleted file mode 100644
index 1c91462..0000000
--- a/docs/upgrade-guide/src/main/jbake/content/lot.adoc
+++ /dev/null
@@ -1,63 +0,0 @@
-type=page
-status=published
-title=List of Tables
-next=title.html
-prev=loe.html
-~~~~~~
-List of Tables
-==============
-
-[[list-of-tables]]
-List of Tables
---------------
-
-* link:upgrade-compatibility-issues.html#gklho[1-1 GMS Administration
-Console Settings Changes from 2.1.1 to 4.0]
-* link:upgrade-compatibility-issues.html#gaeki[1-2 Deprecated,
-Unsupported, and Obsolete Options for asadmin and Subcommands]
-* link:upgrade-compatibility-issues.html#gipfy[1-3 com.sun.grizzly
-Property Remapping]
-* link:upgrade-compatibility-issues.html#gipfn[1-4 connection-pool
-Attribute Remapping]
-* link:upgrade-compatibility-issues.html#gipcv[1-5 http-file-cache
-Attribute Remapping]
-* link:upgrade-compatibility-issues.html#gipev[1-6 http-listener
-Attribute Remapping]
-* link:upgrade-compatibility-issues.html#gipdo[1-7 http-listener Property
-Remapping]
-* link:upgrade-compatibility-issues.html#gipel[1-8 http-protocol
-Attribute Remapping]
-* link:upgrade-compatibility-issues.html#gipfa[1-9 http-service Property
-Remapping]
-* link:upgrade-compatibility-issues.html#gipea[1-10 keep-alive Attribute
-Remapping]
-* link:upgrade-compatibility-issues.html#gipdh[1-11 request-processing
-Attribute Remapping]
-* link:upgrade-compatibility-issues.html#gipdv[1-12 ssl Attribute
-Changes]
-* link:upgrade-compatibility-issues.html#gipcj[1-13 thread-pool Attribute
-Changes]
-* link:upgrade-compatibility-issues.html#gipep[1-14 virtual-server
-Attribute Changes]
-* link:upgrade-compatibility-issues.html#gipds[1-15 New http Attributes]
-* link:upgrade-compatibility-issues.html#gipey[1-16 New network-listener
-Attributes]
-* link:upgrade-compatibility-issues.html#gipfg[1-17 New port-unification
-Attributes]
-* link:upgrade-compatibility-issues.html#gipdj[1-18 New protocol
-Attributes]
-* link:upgrade-compatibility-issues.html#gipcr[1-19 New protocol-chain
-Attributes]
-* link:upgrade-compatibility-issues.html#gipfq[1-20 New
-protocol-chain-instance-handler Attributes]
-* link:upgrade-compatibility-issues.html#gipeq[1-21 New protocol-filter
-Attributes]
-* link:upgrade-compatibility-issues.html#gipfd[1-22 New protocol-finder
-Attributes]
-* link:upgrade-compatibility-issues.html#gipft[1-23 New
-selection-key-handler Attributes]
-* link:upgrade-compatibility-issues.html#gipfi[1-24 New ssl Attributes]
-* link:upgrade-compatibility-issues.html#gipcc[1-25 New thread-pool
-Attributes]
-* link:upgrade-compatibility-issues.html#gipem[1-26 New transport
-Attributes]
diff --git a/docs/upgrade-guide/src/main/jbake/content/preface.adoc b/docs/upgrade-guide/src/main/jbake/content/preface.adoc
deleted file mode 100644
index 57bae5c..0000000
--- a/docs/upgrade-guide/src/main/jbake/content/preface.adoc
+++ /dev/null
@@ -1,352 +0,0 @@
-type=page
-status=published
-title=Preface
-next=upgrade-compatibility-issues.html
-prev=title.html
-~~~~~~
-Preface
-=======
-
-[[GSUPG00001]][[gkbei]]
-
-
-[[preface]]
-Preface
--------
-
-This guide explains how to upgrade to GlassFish Server Open Source
-Edition 4.0 from previous GlassFish Server and Sun GlassFish Enterprise
-Server product releases. Also included in this guide are instructions
-for upgrading configuration data and Java EE applications from
-binary-compatible earlier versions of this software to work with
-GlassFish Server Open Source Edition 4.0. Finally, this guide describes
-compatibility issues that affect data and applications that are to be
-migrated.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The main thrust of the GlassFish Server Open Source Edition 4.0 release
-is to provide an application server for developers to explore and begin
-exploiting the new and updated technologies in the Java EE 7 platform.
-Thus, the upgrade feature of GlassFish Server was not a focus of this
-release. The feature is included in the release, but it may not function
-properly with some of the new features added in support of the Java EE 7
-platform.
-
-|=======================================================================
-
-
-This preface contains information about and conventions for the entire
-GlassFish Server Open Source Edition (GlassFish Server) documentation
-set.
-
-GlassFish Server 4.0 is developed through the GlassFish project
-open-source community at `http://glassfish.java.net/`. The GlassFish
-project provides a structured process for developing the GlassFish
-Server platform that makes the new features of the Java EE platform
-available faster, while maintaining the most important feature of Java
-EE: compatibility. It enables Java developers to access the GlassFish
-Server source code and to contribute to the development of the GlassFish
-Server. The GlassFish project is designed to encourage communication
-between Oracle engineers and the community.
-
-The following topics are addressed here:
-
-* link:#ghpbz[GlassFish Server Documentation Set]
-* link:#giprl[Related Documentation]
-* link:#fwbkx[Typographic Conventions]
-* link:#fquvc[Symbol Conventions]
-* link:#ghpfg[Default Paths and File Names]
-
-[[GSUPG00020]][[ghpbz]]
-
-
-[[glassfish-server-documentation-set]]
-Eclipse GlassFish Server Documentation Set
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The GlassFish Server documentation set describes deployment planning and
-system installation. For an introduction to GlassFish Server, refer to
-the books in the order in which they are listed in the following table.
-
-[width="100%",cols="<30%,<70%",options="header",]
-|=======================================================================
-|Book Title |Description
-|link:../release-notes/toc.html#GSRLN[Release Notes] |Provides late-breaking information about
-the software and the documentation and includes a comprehensive,
-table-based summary of the supported hardware, operating system, Java
-Development Kit (JDK), and database drivers.
-
-|link:../quick-start-guide/toc.html#GSQSG[Quick Start Guide] |Explains how to get started with the
-GlassFish Server product.
-
-|link:../installation-guide/toc.html#GSING[Installation Guide] |Explains how to install the software
-and its components.
-
-|link:../upgrade-guide/toc.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
-version of GlassFish Server. This guide also describes differences
-between adjacent product releases and configuration options that can
-result in incompatibility with the product specifications.
-
-|link:../deployment-planning-guide/toc.html#GSPLG[Deployment Planning Guide] |Explains how to build a
-production deployment of GlassFish Server that meets the requirements of
-your system and enterprise.
-
-|link:../administration-guide/toc.html#GSADG[Administration Guide] |Explains how to configure, monitor,
-and manage GlassFish Server subsystems and components from the command
-line by using the link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
-performing these tasks from the Administration Console are provided in
-the Administration Console online help.
-
-|link:../security-guide/toc.html#GSSCG[Security Guide] |Provides instructions for configuring and
-administering GlassFish Server security.
-
-|link:../application-deployment-guide/toc.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
-deploy applications to the GlassFish Server and provides information
-about deployment descriptors.
-
-|link:../application-development-guide/toc.html#GSDVG[Application Development Guide] |Explains how to create and
-implement Java Platform, Enterprise Edition (Java EE platform)
-applications that are intended to run on the GlassFish Server. These
-applications follow the open Java standards model for Java EE components
-and application programmer interfaces (APIs). This guide provides
-information about developer tools, security, and debugging.
-
-|link:../embedded-server-guide/toc.html#GSESG[Embedded Server Guide] |Explains how to run applications in
-embedded GlassFish Server and to develop applications in which GlassFish
-Server is embedded.
-
-|link:../ha-administration-guide/toc.html#GSHAG[High Availability Administration Guide] |Explains how to
-configure GlassFish Server to provide higher availability and
-scalability through failover and load balancing.
-
-|link:../performance-tuning-guide/toc.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
-performance of GlassFish Server.
-
-|link:../troubleshooting-guide/toc.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
-might encounter when using GlassFish Server and explains how to solve
-them.
-
-|link:../error-messages-reference/toc.html#GSEMR[Error Message Reference] |Describes error messages that you
-might encounter when using GlassFish Server.
-
-|link:../reference-manual/toc.html#GSRFM[Reference Manual] |Provides reference information in man
-page format for GlassFish Server administration commands, utility
-commands, and related concepts.
-
-|link:../../openmq/mq-release-notes/toc.html#GMRLN[Message Queue Release Notes] |Describes new features,
-compatibility issues, and existing bugs for Open Message Queue.
-
-|link:../../openmq/mq-tech-over/toc.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
-to the technology, concepts, architecture, capabilities, and features of
-the Message Queue messaging service.
-
-|link:../../openmq/mq-admin-guide/toc.html#GMADG[Message Queue Administration Guide] |Explains how to set up
-and manage a Message Queue messaging system.
-
-|link:../../openmq/mq-dev-guide-jmx/toc.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
-the application programming interface in Message Queue for
-programmatically configuring and monitoring Message Queue resources in
-conformance with the Java Management Extensions (JMX).
-
-|link:../../openmq/mq-dev-guide-java/toc.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
-information about concepts and procedures for developing Java messaging
-applications (Java clients) that work with GlassFish Server.
-
-|link:../../openmq/mq-dev-guide-c/toc.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
-programming and reference information for developers working with
-Message Queue who want to use the C language binding to the Message
-Queue messaging service to send, receive, and process Message Queue
-messages.
-|=======================================================================
-
-
-[[GSUPG00021]][[giprl]]
-
-
-[[related-documentation]]
-Related Documentation
-~~~~~~~~~~~~~~~~~~~~~
-
-The following tutorials explain how to develop Java EE applications:
-
-* http://docs.oracle.com/javaee/7/firstcup/doc/home.html[Your First Cup:
-An Introduction to the Java EE Platform]
-(`http://docs.oracle.com/javaee/7/firstcup/doc/home.html`). For beginning
-Java EE programmers, this short tutorial explains the entire process for
-developing a simple enterprise application. The sample application is a
-web application that consists of a component that is based on the
-Enterprise JavaBeans specification, a JAX-RS web service, and a
-JavaServer Faces component for the web front end.
-* http://docs.oracle.com/javaee/7/tutorial/doc/home.html[The Java EE 7
-Tutorial] (`http://docs.oracle.com/javaee/7/tutorial/doc/home.html`).
-This comprehensive tutorial explains how to use Java EE 7 platform
-technologies and APIs to develop Java EE applications.
-
-Javadoc tool reference documentation for packages that are provided with
-GlassFish Server is available as follows.
-
-* The API specification for version 7 of Java EE is located at
-`http://docs.oracle.com/javaee/7/api/`.
-* The API specification for GlassFish Server 4.0, including Java EE 7
-platform packages and nonplatform packages that are specific to the
-GlassFish Server product, is located at
-`http://glassfish.java.net/nonav/docs/v3/api/`.
-
-Additionally, the
-http://www.oracle.com/technetwork/java/javaee/tech/index.html[Java EE
-Specifications]
-(`http://www.oracle.com/technetwork/java/javaee/tech/index.html`) might
-be useful.
-
-For information about creating enterprise applications in the NetBeans
-Integrated Development Environment (IDE), see the
-http://www.netbeans.org/kb/[NetBeans Documentation, Training & Support
-page] (`http://www.netbeans.org/kb/`).
-
-For information about the Java DB database for use with the GlassFish
-Server, see the
-http://www.oracle.com/technetwork/java/javadb/overview/index.html[Java
-DB product page]
-(`http://www.oracle.com/technetwork/java/javadb/overview/index.html`).
-
-The Java EE Samples project is a collection of sample applications that
-demonstrate a broad range of Java EE technologies. The Java EE Samples
-are bundled with the Java EE Software Development Kit (SDK) and are also
-available from the http://glassfish-samples.java.net/[Java EE Samples
-project page] (`http://glassfish-samples.java.net/`).
-
-[[GSUPG00022]][[fwbkx]]
-
-
-[[typographic-conventions]]
-Typographic Conventions
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the typographic changes that are used in
-this book.
-
-[width="100%",cols="<14%,<37%,<49%",options="header",]
-|=======================================================================
-|Typeface |Meaning |Example
-|`AaBbCc123` |The names of commands, files, and directories, and
-onscreen computer output a|
-Edit your `.login` file.
-
-Use `ls` `a` to list all files.
-
-`machine_name% you have mail.`
-
-|`AaBbCc123` |What you type, contrasted with onscreen computer output a|
-`machine_name%` `su`
-
-`Password:`
-
-|AaBbCc123 |A placeholder to be replaced with a real name or value |The
-command to remove a file is `rm` filename.
-
-|AaBbCc123 |Book titles, new terms, and terms to be emphasized (note
-that some emphasized items appear bold online) a|
-Read Chapter 6 in the User's Guide.
-
-A cache is a copy that is stored locally.
-
-Do not save the file.
-
-|=======================================================================
-
-
-[[GSUPG00023]][[fquvc]]
-
-
-[[symbol-conventions]]
-Symbol Conventions
-~~~~~~~~~~~~~~~~~~
-
-The following table explains symbols that might be used in this book.
-
-[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
-|=======================================================================
-|Symbol |Description |Example |Meaning
-|`[ ]` |Contains optional arguments and command options. |`ls [-l]` |The
-`-l` option is not required.
-
-|`{ \| }` |Contains a set of choices for a required command option.
-|`-d {y\|n}` |The `-d` option requires that you use either the `y`
-argument or the `n` argument.
-
-|`${ }` |Indicates a variable reference. |`${com.sun.javaRoot}`
-|References the value of the `com.sun.javaRoot` variable.
-
-|- |Joins simultaneous multiple keystrokes. |Control-A |Press the
-Control key while you press the A key.
-
-|+ + |Joins consecutive multiple keystrokes. |Ctrl+A+N |Press the
-Control key, release it, and then press the subsequent keys.
-
-|> |Indicates menu item selection in a graphical user interface. |File >
-New > Templates |From the File menu, choose New. From the New submenu,
-choose Templates.
-|=======================================================================
-
-
-[[GSUPG00024]][[ghpfg]]
-
-
-[[default-paths-and-file-names]]
-Default Paths and File Names
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following table describes the default paths and file names that are
-used in this book.
-
-[width="100%",cols="<14%,<34%,<52%",options="header",]
-|=======================================================================
-|Placeholder |Description |Default Value
-|as-install + a|
-Represents the base installation directory for GlassFish Server.
-
-In configuration files, as-install is represented as follows:
-
-`${com.sun.aas.installRoot}`
-
- a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac OS operating system:
-
-user's-home-directory`/glassfish3/glassfish`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3\glassfish`
-
-|as-install-parent + |Represents the parent of the base installation
-directory for GlassFish Server. a|
-Installations on the Oracle Solaris operating system, Linux operating
-system, and Mac operating system:
-
-user's-home-directory`/glassfish3`
-
-Installations on the Windows operating system:
-
-SystemDrive`:\glassfish3`
-
-|domain-root-dir + |Represents the directory in which a domain is
-created by default. |as-install`/domains/`
-
-|domain-dir + a|
-Represents the directory in which a domain's configuration is stored.
-
-In configuration files, domain-dir is represented as follows:
-
-`${com.sun.aas.instanceRoot}`
-
- |domain-root-dir`/`domain-name
-
-|instance-dir + |Represents the directory for a server instance.
-|domain-dir`/`instance-name
-|=======================================================================
diff --git a/docs/upgrade-guide/src/main/jbake/content/title.adoc b/docs/upgrade-guide/src/main/jbake/content/title.adoc
deleted file mode 100644
index 9a8c1b7..0000000
--- a/docs/upgrade-guide/src/main/jbake/content/title.adoc
+++ /dev/null
@@ -1,59 +0,0 @@
-type=page
-status=published
-title=Eclipse GlassFish Server Upgrade Guide, Release 5.1
-next=preface.html
-prev=lot.html
-~~~~~~
-Eclipse GlassFish Server Upgrade Guide, Release 5.1
-===================================================
-
-[[eclipse-glassfish-server]]
-Eclipse GlassFish Server
-------------------------
-
-Upgrade Guide
-
-Release 5.1
-
-Contributed 2018, 2019
-
-This guide explains how to upgrade to Eclipse GlassFish Server 
-5.1 from previous GlassFish Server and Sun GlassFish Enterprise
-Server product releases. Also included in this guide are instructions
-for upgrading configuration data and Java EE applications from
-binary-compatible earlier versions of this software to work with
-Eclipse GlassFish Server 5.1. Finally, this guide describes
-compatibility issues that affect data and applications that are to be
-migrated.
-
-Note: The main thrust of the Eclipse GlassFish Server 5.1
-release is to provide an application server for developers to explore
-and begin exploiting the new and updated technologies in the Java EE 7
-platform. Thus, the upgrade feature of GlassFish Server was not a focus
-of this release. The feature is included in the release, but it may not
-function properly with some of the new features added in support of the
-Java EE 7 platform.
-
-[[sthref1]]
-
-'''''
-
-Eclipse GlassFish Server Upgrade Guide, Release 5.1
-
-Copyright © 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-This program and the accompanying materials are made available under the 
-terms of the Eclipse Public License v. 2.0, which is available at 
-http://www.eclipse.org/legal/epl-2.0. 
-
-SPDX-License-Identifier: EPL-2.0
-
-Oracle and Java are registered trademarks of Oracle and/or its 
-affiliates. Other names may be trademarks of their respective owners. 
-
-Intel and Intel Xeon are trademarks or registered trademarks of Intel 
-Corporation. All SPARC trademarks are used under license and are 
-trademarks or registered trademarks of SPARC International, Inc. AMD, 
-Opteron, the AMD logo, and the AMD Opteron logo are trademarks or 
-registered trademarks of Advanced Micro Devices. UNIX is a registered 
-trademark of The Open Group. 
diff --git a/docs/upgrade-guide/src/main/jbake/content/upgrade-compatibility-issues.adoc b/docs/upgrade-guide/src/main/jbake/content/upgrade-compatibility-issues.adoc
deleted file mode 100644
index 9ae186a..0000000
--- a/docs/upgrade-guide/src/main/jbake/content/upgrade-compatibility-issues.adoc
+++ /dev/null
@@ -1,1082 +0,0 @@
-type=page
-status=published
-title=GlassFish Server Upgrade Compatibility Issues
-next=upgrading-legacy-installation.html
-prev=preface.html
-~~~~~~
-GlassFish Server Upgrade Compatibility Issues
-=============================================
-
-[[GSUPG00002]][[abmaq]]
-
-
-[[glassfish-server-upgrade-compatibility-issues]]
-1 GlassFish Server Upgrade Compatibility Issues
------------------------------------------------
-
-This section describes some compatibility issues between GlassFish
-Server 4.0 and earlier product releases. This section also describes
-some compatibility issues that affect Java applications that run on
-earlier product releases with which Oracle GlassFish Server 4.0 is
-binary-compatible. When you upgrade to GlassFish Server 4.0, you must
-address these issues.
-
-The following topics are addressed here:
-
-* link:#gjwpd[Binary-Compatible Releases For GlassFish Server 4.0]
-* link:#gkric[New Default Installation Directory]
-* link:#gklhr[Changes to Group Management Service Settings]
-* link:#geyyk[Application Client Interoperability]
-* link:#gktad[Node Agent Support]
-* link:#gkrjm[HADB and `hadbm` Command Support]
-* link:#abmbc[Command Line Interface: The `asadmin` Command]
-* link:#gflnv[Applications That Use Java DB]
-* link:#gjizi[Applications That Use Persistence]
-* link:#gjiqj[HTTP Service to Network Service Changes]
-* link:#gktkt[NSS Cryptographic Token Support]
-
-[[gjwpd]][[GSUPG00028]][[binary-compatible-releases-for-glassfish-server-4.0]]
-
-Binary-Compatible Releases For GlassFish Server 4.0
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server Open Source Edition 4.0 is binary-compatible with the
-following earlier releases of the software:
-
-* Sun GlassFish Enterprise Server v2.1.1 (Enterprise and Developer
-Profiles)
-* Sun GlassFish Enterprise Server v3
-* GlassFish Server Open Source Edition 3.0.1
-* GlassFish Server Open Source Edition 3.1
-* GlassFish Server Open Source Edition 3.1.1
-
-Java applications that run on these releases also work on GlassFish
-Server Open Source Edition 4.0 except for the compatibility issues that
-are listed in the remainder of this chapter.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The compatibility issues that are listed in the remainder of this
-chapter do not affect Java applications that run on Sun GlassFish
-Enterprise Server v3 and GlassFish Server 3.0.1. The differences between
-GlassFish Server 4.0 and the Enterprise Server v3 releases do not affect
-applications and data.
-
-|=======================================================================
-
-
-[[gkric]][[GSUPG00029]][[new-default-installation-directory]]
-
-New Default Installation Directory
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The default GlassFish Server 4.0 installation directories are as
-follows:
-
-Solaris, Linux, and Mac OS X systems::
-[source,oac_no_warn]
-----
-user-home-directory/glassfish3
-----
-Windows systems::
-[source,oac_no_warn]
-----
-SystemDrive\glassfish3
-----
-
-In GlassFish Server 3.0.1 and Enterprise Server v3, the default
-installation root directory was `glassfishv3`.
-
-[[gklhr]][[GSUPG00030]][[changes-to-group-management-service-settings]]
-
-Changes to Group Management Service Settings
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The functionality of the Group Management Service (GMS) has not changed
-since Sun GlassFish Enterprise Server v2.1.1, but the names of GMS
-settings have been changed in the Administration Console to make them
-more understandable. These changes are made automatically during the
-upgrade process.
-
-Changes to settings on the Edit Group Management Service page in the
-Administration Console are summarized in the following table.
-
-[[sthref3]][[gklho]]
-
-Table 1-1 GMS Administration Console Settings Changes from 2.1.1 to 4.0
-
-[width="100%",cols="<50%,<50%",options="header",]
-|=================================================
-|Old Setting Name |New Setting Name
-|Protocol Maximum Trial |Maximum Missed Heartbeats
-|Protocol Timeout |Heartbeat Frequency
-|Ping Timeout |Group Discovery Timeout
-|Verified Timeout |Failure Verification Wait Time
-|=================================================
-
-
-The Merge Protocol settings from Sun GlassFish Enterprise Server v2.1.1
-are not supported and have been removed.
-
-[[geyyk]][[GSUPG00031]][[application-client-interoperability]]
-
-Application Client Interoperability
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The Java EE 6 platform specification imposes stricter requirements than
-Java EE 5 did on which JAR files can be visible to various modules
-within an EAR file. In particular, application clients must not have
-access to EJB JAR files or other JAR files in the EAR file unless they
-use a `Class-Path` header in the manifest file, or unless references use
-the standard Java SE mechanisms (extensions, for example), or use the
-Java EE `library-directory` mechanism. Deployed Java EE 5 applications
-that are upgraded to GlassFish Server 4.0 will have the `compatibility`
-property set to `v2` and will run without change on GlassFish Server
-4.0. You may, however, want to consider modifying the applications to
-conform to Java EE 6 requirements.
-
-If your upgrade includes a deployed application with an application
-client, you will need to retrieve the client stubs using GlassFish
-Server 4.0 in order to run the client. Use the
-`asadmin get-client-stubs` command.
-
-If you try to run the application client before retrieving the client
-stubs, you will see the following error message:
-
-[source,oac_no_warn]
-----
-Invalid or corrupt jarfile jar-file-name
-----
-
-If you commonly distribute application clients to remote systems from
-which users will run them, you must not only retrieve the client stubs,
-but you must also run the `package-appclient` utility for GlassFish
-Server 4.0 to upgrade the GlassFish Server system files. This utility
-creates a JAR file, which you can then expand on the remote systems.
-
-Application clients use EJBs, web services, or other enterprise
-components that are in the application server (on the server side). The
-application client and the application server must use the same version
-and implementation of the RMI-IIOP protocol. GlassFish Server 4.0 does
-not support communication between different versions of the protocol
-implementation. You cannot run application clients with one version of
-the application server runtime with a server that has a different
-version. Most often, this would happen if you upgraded the server but
-had not upgraded all the application client installations. If you run
-the `package-appclient` utility, this issue will not arise.
-
-You can use the Java Web Start support to distribute and launch the
-application client. If the runtime on the server has changed since the
-end-user last used the application client, Java Web Start automatically
-retrieves the updated runtime. Java Web Start enables you to keep the
-clients and servers synchronized and using the same runtime.
-
-[[gktad]][[GSUPG00032]][[node-agent-support]]
-
-Node Agent Support
-~~~~~~~~~~~~~~~~~~
-
-GlassFish Server 4.0 does not support node agents. When updating from
-installations of earlier product versions in which node agents were
-configured, the cluster definitions will be migrated, but the clustered
-instances themselves must be manually re-created. See
-link:upgrading-legacy-installation.html#gfybw[Upgrading Clusters and Node
-Agent Configurations] for more information.
-
-[[gkrjm]][[GSUPG00033]][[hadb-and-hadbm-command-support]]
-
-HADB and `hadbm` Command Support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server 4.0 does not support HADB or the `hadbm` management
-command.
-
-Instead of HADB, GlassFish Server 4.0 supports high availability
-clustering by means of in-memory session state replication and
-ActiveCache for GlassFish. See "link:../ha-administration-guide/overview.html#GSHAG00002[High Availability in
-GlassFish Server]" in GlassFish Server Open Source Edition High
-Availability Administration Guide for more information.
-
-[[abmbc]][[GSUPG00034]][[command-line-interface-the-asadmin-command]]
-
-Command Line Interface: The `asadmin` Command
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following sections describe changes to the command line utility
-`asadmin`:
-
-* link:#abmbd[Deprecated `asadmin` Subcommands]
-* link:#abmbf[Deprecated, Unsupported, and Obsolete Options]
-
-For more information about `asadmin` and its subcommands, see the
-link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual].
-
-[[abmbd]][[GSUPG00053]][[deprecated-asadmin-subcommands]]
-
-Deprecated `asadmin` Subcommands
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In GlassFish Server 4.0, it is recommended that utility options of the
-`asadmin` command precede the subcommand. Utility options are options
-that control the behavior of the `asadmin` utility, as distinguished
-from subcommand options. Use of the following options after the
-subcommand is deprecated.
-
-* `--host`
-* `--port`
-* `--user`
-* `--passwordfile`
-* `--terse`
-* `--secure`
-* `--echo`
-* `--interactive`
-
-[[abmbf]][[GSUPG00054]][[deprecated-unsupported-and-obsolete-options]]
-
-Deprecated, Unsupported, and Obsolete Options
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Options in link:#gaeki[Table 1-2] are deprecated or no longer supported,
-or are obsolete and are ignored.
-
-[[sthref4]][[gaeki]]
-
-Table 1-2 Deprecated, Unsupported, and Obsolete Options for `asadmin`
-and Subcommands
-
-[width="100%",cols="<33%,<67%",options="header",]
-|=======================================================================
-|Option |Affected Subcommands
-|`--acceptlang` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--acls` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--adminpassword` |Unsupported for all relevant subcommands. Use
-`--passwordfile` instead.
-
-|`--autoapplyenabled` |Obsolete for the `create-http-lb` subcommand.
-
-|`--autohadb` |Obsolete for the `create-cluster` subcommand.
-
-|`--autohadboverride` |Obsolete for the `start-cluster` subcommand and
-the `stop-cluster` subcommand
-
-|`--blockingenabled` |Unsupported for the `create-http-listener`
-subcommand.
-
-|`--configfile` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--defaultobj` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--defaultvs` |Deprecated for the `create-http-listener` subcommand.
-Use `--default-virtual-server` instead.
-
-|`--description` |Obsolete for the `restore-domain` subcommand.
-
-|`--devicesize` |Obsolete for the `create-cluster` subcommand.
-
-|`--haadminpassword` |Obsolete for the `create-cluster` subcommand.
-
-|`--haadminpasswordfile` |Obsolete for the `create-cluster` subcommand.
-
-|`--haagentport` |Obsolete for the `create-cluster` subcommand.
-
-|`--haproperty` |Obsolete for the `create-cluster` subcommand.
-
-|`--heartbeataddress` |Deprecated for the `create-cluster` subcommand.
-Use `--multicastaddress` instead.
-
-|`--heartbeatport` |Deprecated for the `create-cluster` subcommand. Use
-`--multicastport` instead.
-
-|`--hosts` |Obsolete for the `create-cluster` subcommand.
-
-|`--ignoreDescriptorItem` |Replaced by the all lowercase option
-`--ignoredescriptoritem` in the `set-web-context-param` subcommand and
-the `set-web-env-entry` subcommand.
-
-|`--mime` |Unsupported for the `create-virtual-server` subcommand.
-
-|`--password` |Unsupported for all remote subcommands. Use
-`--passwordfile` instead.
-
-|`--path` |Unsupported for the `create-domain` subcommand. Use
-`--domaindir` instead.
-
-|`--portbase` |Obsolete only for the `create-cluster` subcommand. This
-option is still valid in other subcommands such as `create-domain`,
-`create-instance`, and `create-local-instance`.
-
-|`--resourcetype` |Unsupported for all relevant subcommands. Use
-`--restype` instead.
-
-|`--retrievefile` |Obsolete for the `export-http-lb-config` subcommand.
-
-|`--setenv` |Obsolete for the `start-instance` subcommand.
-
-|`--target` a|
-Obsolete only for the following subcommands:
-
-* `create-connector-connection-pool`
-* `create-resource-adapter-config`
-* `delete-connector-connection-pool`
-* `delete-connector-security-map`
-* `delete-jdbc-connection-pool`
-* `delete-resource-ref`
-
-Replaced by an operand in the `list-custom-resources` subcommand and the
-`list-jndi-entries` subcommand:
-
-|=======================================================================
-
-
-[[gflnv]][[GSUPG00035]][[applications-that-use-java-db]]
-
-Applications That Use Java DB
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The directory location of Java DB in GlassFish Server 4.0 has changed
-from its location in previous installations. Suppose that you have
-deployed applications that use Java DB databases in your previous server
-installation, and you upgrade your existing installation to GlassFish
-Server 4.0. If you run the `asadmin start-database` command and
-successfully start Java DB, you could run into problems while trying to
-run applications that were deployed on your previous server
-installation.
-
-To solve this problem, you can copy the `databases` directory from your
-previous installation to as-install`/databases`. Make sure the database
-is not running when you do this.
-
-Alternatively, you can perform these steps:
-
-1.  Use the `asadmin start-database` command with the `--dbhome` option
-pointing to the `databases` directory in the older version of Java DB.
-For example: +
-[source,oac_no_warn]
-----
-asadmin start-database --dbhome c:\glassfish\databases
-----
-2.  After upgrade, start GlassFish Server 4.0.
-
-[[gjizi]][[GSUPG00036]][[applications-that-use-persistence]]
-
-Applications That Use Persistence
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server 4.0 and 3.0.1, and Sun GlassFish Enterprise Server v3
-use the persistence provider EclipseLink, while earlier versions used
-TopLink Essentials.
-
-An application that uses the container to create an `EntityManager` or
-`EntityManagerFactory` and that used Toplink Essentials as its provider
-will work in GlassFish Server 4.0. The container creates an
-`EntityManager` if the application uses the `@PersistenceContext`
-annotation to inject an `EntityManager`, as in the following example:
-
-[source,oac_no_warn]
-----
-@PersistenceContext
-EntityManager em;
-----
-
-The container creates an `EntityManagerFactory` if the application uses
-the `@PersistenceUnit` annotation to inject an `EntityManagerFactory`,
-as in the following example:
-
-[source,oac_no_warn]
-----
-@PersistenceUnit
-EntityManagerFactory emf;
-
-EntityManager em = emf.createEntityManager();
-----
-
-When the application is loaded, GlassFish Server 4.0 will translate the
-provider to EclipseLink and will also translate `toplink.*` properties
-in the `persistence.xml` to corresponding EclipseLink properties. (The
-actual `persistence.xml` file remains unchanged.)
-
-Under certain circumstances, however, you may have to modify the
-`persistence.xml` file or your code:
-
-* If your application uses Java SE code to create the
-`EntityManagerFactory`, you will need to change your `persistence.xml`
-file for both the `provider` element and for any `toplink.*` properties
-to use the EclipseLink equivalents. An application uses Java SE code if
-it uses the `javax.persistence.Persistence` class to create the
-`EntityManagerFactory`, as in the following example: +
-[source,oac_no_warn]
-----
-EntityManagerFactory emf =
-    javax.persistence.Persistence.createEntityManagerFactory("Order");
-EntityManager em = emf.createEntityManager();
-----
-In this case, change the `provider` element to specify the following: +
-[source,oac_no_warn]
-----
-<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-----
-* If the application itself contains any TopLink Essentials-specific
-code and therefore contains casts to `oracle.toplink.*`, you must change
-the code to cast to `org.eclipse.persistence.*`. You can use the package
-renamer tool described on the
-http://wiki.eclipse.org/EclipseLink/Examples/MigratingFromOracleTopLink#Rename_Packages[Eclipse
-wiki]
-(`http://wiki.eclipse.org/EclipseLink/Examples/MigratingFromOracleTopLink#Rename_Packages`)
-to do this. This tool is not provided with GlassFish Server 4.0,
-however, so you must obtain it from the EclipseLink project download
-site.
-
-[[gjiqj]][[GSUPG00037]][[http-service-to-network-service-changes]]
-
-HTTP Service to Network Service Changes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In GlassFish Server 4.0, most HTTP Service settings are defined in the
-Network Service configuration that was introduced in Sun GlassFish
-Enterprise Server v3.
-
-The changes are described in the following sections.
-
-* link:#gipsa[Changes to Dotted Names]
-* link:#giprg[Changes to `asadmin` Subcommands]
-* link:#gipfo[Remapping of HTTP Service Attributes and Properties]
-* link:#gipcg[New Network Service Elements and Attributes]
-
-[[gipsa]][[GSUPG00055]][[changes-to-dotted-names]]
-
-Changes to Dotted Names
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The dotted name hierarchy for the HTTP Service configuration in
-GlassFish Server 4.0 is shown below. Elements that are no longer
-supported are `request-processing`, `keep-alive`, `connection-pool`,
-`http-protocol`, `http-file-cache`, and `http-listener`. During the
-upgrade process, these discontinued elements are remapped to the new
-configuration automatically and then deleted.
-
-[source,oac_no_warn]
-----
-config
-    http-service
-        access-log
-        request-processing
-        keep-alive
-        connection-pool
-        http-protocol
-        http-file-cache
-        http-listener
-            ssl
-            property
-        virtual-server
-            http-access-log
-            property
-        property
-    thread-pools
-        thread-pool
-----
-
-The dotted name hierarchy for the GlassFish Server 4.0 Network Service
-and HTTP Service configurations is shown below. The `network-config`
-element and all its children are new except for `ssl`.
-
-[source,oac_no_warn]
-----
-config
-    network-config
-        transports
-            selection-key-handler
-            transport
-        protocols
-            protocol
-                http
-                    file-cache
-                port-unification
-                    protocol-finder
-                protocol-chain-instance-handler
-                    protocol-chain
-                protocol-filter
-                ssl
-        network-listeners
-            network-listener
-    http-service
-        access-log
-        virtual-server
-            http-access-log
-            property
-        property
-    thread-pools
-        thread-pool
-----
-
-The following example compares the commands for setting a listener port
-for Sun GlassFish Enterprise Server v3 and GlassFish Server 4.0. Note
-that the configuration for Enterprise Server v3 also applies to all
-earlier Enterprise Server 2.x releases.
-
-* Command for Sun GlassFish Enterprise Server v3 and earlier: +
-[source,oac_no_warn]
-----
-asadmin set server-config.http-service.http-listener.http-1.listenerport=4321
-----
-* Command for GlassFish Server 4.0: +
-[source,oac_no_warn]
-----
-asadmin set server-config.network-config.network-listeners.network-\
-listener.http-1.listenerport=4321
-----
-
-[[giprg]][[GSUPG00056]][[changes-to-asadmin-subcommands]]
-
-Changes to `asadmin` Subcommands
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To accommodate the move of HTTP Service into the new Network Service
-configuration, link:../reference-manual/asadmin.html#GSRFM00263[`asadmin`] subcommands are changed as
-follows:
-
-* The link:../reference-manual/create-ssl.html#GSRFM00058[`create-ssl`] subcommand has a new `--type`
-parameter value, `network-listener`.
-* The link:../reference-manual/create-virtual-server.html#GSRFM00062[`create-virtual-server`] SUBcommand has a new
-parameter, `--networklisteners`.
-* The link:../reference-manual/create-http-listener.html#GSRFM00030[`create-http-listener`] subcommand adds a
-`network-listener` element to the domain configuration. The syntax and
-options of this commands are unchanged.
-
-[[gipfo]][[GSUPG00057]][[remapping-of-http-service-attributes-and-properties]]
-
-Remapping of HTTP Service Attributes and Properties
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following tables describe how attributes and properties in the HTTP
-Service configuration for GlassFish Server 4.0 are remapped to
-attributes in the Network Service configuration for older product
-releases. If you use a configuration from a Sun GlassFish Enterprise
-Server v2 or v3 release, this remapping happens automatically and then
-discontinued elements are deleted.
-
-[[sthref5]][[gipfy]]
-
-Table 1-3 `com.sun.grizzly` Property Remapping
-
-[width="100%",cols="<33%,<26%,<41%",options="header",]
-|==================================================================
-|`com.sun.grizzly` Property |New Owning Element |New Attribute Name
-|`selector.timeout` |`transport` |`selector-poll-timeout-millis`
-|`displayConfiguration` |`transport` |`display-configuration`
-|`enableSnoop` |`transport` |`snoop-enabled`
-|`readTimeout` |`transport` |`read-timeout-millis`
-|`writeTimeout` |`transport` |`write-timeout-millis`
-|==================================================================
-
-
-[[sthref6]][[gipfn]]
-
-Table 1-4 `connection-pool` Attribute Remapping
-
-[width="100%",cols="<41%,<19%,<40%",options="header",]
-|=======================================================================
-|`connection-pool` Attribute |New Owning Element |New Attribute Name
-|`queue-size-in-bytes` |`thread-pool` |`max-queue-size`
-
-|`max-pending-count` |`transport` |`max-connections-count`
-
-|`receive-buffer-size-in-` `bytes` |`http` |`request-body-buffer-size-`
-`bytes`
-
-|`send-buffer-size-in-bytes` |`http` |`send-buffer-size-bytes`
-|=======================================================================
-
-
-[[sthref7]][[gipcv]]
-
-Table 1-5 `http-file-cache` Attribute Remapping
-
-[width="100%",cols="<50%,<17%,<33%",options="header",]
-|===================================================================
-|`http-file-cache` Attribute |New Owning Element |New Attribute Name
-|`file-caching-enabled` |`file-cache` |`enabled`
-|`max-age-in-seconds` |`file-cache` |`max-age-seconds`
-|`medium-file-space-in-bytes` |`file-cache` |`max-cache-size-bytes`
-|`max-files-count` |`file-cache` |`max-files-count`
-|`globally-enabled` |none |not supported
-|`medium-file-size-limit-in-bytes` |none |not supported
-|`small-file-size-limit-in-bytes` |none |not supported
-|`small-file-space-in-bytes` |none |not supported
-|`file-transmission-enabled` |none |not supported
-|`hash-init-size` |none |not supported
-|===================================================================
-
-
-[[sthref8]][[gipev]]
-
-Table 1-6 `http-listener` Attribute Remapping
-
-[width="100%",cols="<37%,<27%,<36%",options="header",]
-|=================================================================
-|`http-listener` Attribute |New Owning Element |New Attribute Name
-|`id` |`network-listener` |`name`
-|`address` |`network-listener` |`address`
-|`port` |`network-listener` |`port`
-|`enabled` |`network-listener` |`enabled`
-|`acceptor-threads` |`transport` |`acceptor-threads`
-|`security-enabled` |`protocol` |`security-enabled`
-|`default-virtual-server` |`http` |`default-virtual-server`
-|`server-name` |`http` |`server-name`
-|`redirect-port` |`http` |`redirect-port`
-|`xpowered-by` |`http` |`xpowered-by`
-|`external-port` |none |not supported
-|`family` |none |not supported
-|`blocking-enabled` |none |not supported
-|=================================================================
-
-
-[[sthref9]][[gipdo]]
-
-Table 1-7 `http-listener` Property Remapping
-
-[width="100%",cols="<43%,<15%,<42%",options="header",]
-|=======================================================================
-|`http-listener` Property |New Owning Element |New Attribute Name
-|`maxKeepAliveRequests` |`http` |`max-connections`
-
-|`authPassthroughEnabled` |`http` |`auth-pass-through-enabled`
-
-|`compression` |`http` |`compression`
-
-|`compressableMimeType` |`http` |`compressable-mime-type`
-
-|`noCompressionUserAgents` |`http` |`no-compression-user-agents`
-
-|`compressionMinSize` |`http` |`compression-min-size-bytes`
-
-|`restrictedUserAgents` |`http` |`restricted-user-agents`
-
-|`cometSupport` |`http` |`comet-support-enabled`
-
-|`connectionUploadTimeout` |`http` |`connection-upload-timeout-`
-`millis`
-
-|`disableUploadTimeout` |`http` |`upload-timeout-enabled`
-
-|`chunkingDisabled` |`http` |`chunking-enabled`
-
-|`uriEncoding` |`http` |`uri-encoding`
-
-|`traceEnabled` |`http` |`trace-enabled`
-
-|`rcmSupport` |`http` |`rcm-support-enabled`
-
-|`jkEnabled` |`network-` `listener` |`jk-enabled`
-
-|`crlFile` |`ssl` |`crl-file`
-
-|`trustAlgorithm` |`ssl` |`trust-algorithm`
-
-|`trustMaxCertLength` |`ssl` |`trust-max-cert-length-bytes`
-
-|`tcpNoDelay` |`transport` |`tcp-no-delay`
-
-|`bufferSize` |`transport` |`buffer-size-bytes`
-
-|`use-nio-direct-bytebuffer` |`transport` |`byte-buffer-type`
-
-|`proxyHandler` |none |not supported
-
-|`proxiedProtocols` |none |not supported
-
-|`recycle-objects` |none |not supported
-
-|`reader-threads` |none |not supported
-
-|`acceptor-queue-length` |none |not supported
-
-|`reader-queue-length` |none |not supported
-
-|`connectionTimeout` |none |not supported
-
-|`monitoring-cache-enabled` |none |not supported
-
-|`monitoring-cache-refresh-in-` `millis` |none |not supported
-
-|`ssl-cache-entries` |none |not supported
-
-|`ssl3-session-timeout` |none |not supported
-
-|`ssl-session-timeout` |none |not supported
-|=======================================================================
-
-
-[[sthref10]][[gipel]]
-
-Table 1-8 `http-protocol` Attribute Remapping
-
-[width="100%",cols="<34%,<33%,<33%",options="header",]
-|=================================================================
-|`http-protocol` Attribute |New Owning Element |New Attribute Name
-|`version` |`http` |`version`
-|`forced-response-type` |`http` |`forced-response-type`
-|`default-response-type` |`http` |`default-response-type`
-|`dns-lookup-enabled` |none |not supported
-|`ssl-enabled` |none |not supported
-|=================================================================
-
-
-[[sthref11]][[gipfa]]
-
-Table 1-9 `http-service` Property Remapping
-
-[width="100%",cols="<34%,<33%,<33%",options="header",]
-|=======================================================================
-|`http-service` Property |New Owning Element |New Attribute or Property
-Name
-|`accessLoggingEnabled` |`http-service`, `virtual-server`
-|`access-logging-enabled` attribute
-
-|`ssl-cache-entries` |`http-service` |unchanged property
-
-|`ssl3-session-timeout` |`http-service` |unchanged property
-
-|`ssl-session-timeout` |`http-service` |unchanged property
-
-|`proxyHandler` |`http-service` |unchanged property
-
-|`connectionTimeout` |`http-service` |unchanged property
-
-|all other properties |none |not supported
-|=======================================================================
-
-
-[[sthref12]][[gipea]]
-
-Table 1-10 `keep-alive` Attribute Remapping
-
-[width="100%",cols="<34%,<33%,<33%",options="header",]
-|==============================================================
-|`keep-alive` Attribute |New Owning Element |New Attribute Name
-|`max-connections` |`http` |`max-connections`
-|`timeout-in-seconds` |`http` |`timeout-seconds`
-|`thread-count` |none |not supported
-|==============================================================
-
-
-[[sthref13]][[gipdh]]
-
-Table 1-11 `request-processing` Attribute Remapping
-
-[width="100%",cols="<43%,<18%,<39%",options="header",]
-|======================================================================
-|`request-processing` Attribute |New Owning Element |New Attribute Name
-|`thread-count` |`thread-pool` |`max-thread-pool-size`
-|`initial-thread-count` |`thread-pool` |`min-thread-pool-size`
-|`header-buffer-length-in-bytes` |`http` |`header-buffer-length-bytes`
-|`request-timeout-in-seconds` |`http` |`request-timeout-seconds`
-|`thread-increment` |none |not supported
-|======================================================================
-
-
-[[sthref14]][[gipdv]]
-
-Table 1-12 `ssl` Attribute Changes
-
-[width="100%",cols="<34%,<22%,<44%",options="header",]
-|=======================================================================
-|Previous Attribute or Property |Previous Owning Element |New `ssl`
-Attribute
-|none |none |`key-store`
-
-|none |none |`trust-store`
-
-|`crlFile` property |`http-listener` |`crl-file`
-
-|`trustAlgorithm` property |`http-listener` |`trust-algorithm`
-
-|`trustMaxCertLength` property |`http-listener`
-|`trust-max-cert-length-bytes`
-
-|all other `ssl` attributes |`ssl` |unchanged
-|=======================================================================
-
-
-[[sthref15]][[gipcj]]
-
-Table 1-13 `thread-pool` Attribute Changes
-
-[width="100%",cols="<44%,<17%,<39%",options="header",]
-|=======================================================================
-|Previous Attribute |Previous Owning Element |New `thread-pool`
-Attribute
-|none |none |`classname`
-
-|none |none |`max-queue-size`
-
-|`thread-pool-id` |`thread-pool` |`name`
-
-|`idle-thread-timeout-in-seconds` |`thread-pool`
-|`idle-thread-timeout-seconds`
-
-|`num-work-queues` |`thread-pool` |not supported
-
-|all other `thread-pool` attributes |`thread-pool` |unchanged
-|=======================================================================
-
-
-[[sthref16]][[gipep]]
-
-Table 1-14 `virtual-server` Attribute Changes
-
-[width="100%",cols="<39%,<24%,<37%",options="header",]
-|=======================================================================
-|Previous Attribute or Property |Previous Owning Element |New
-`virtual-server` Attribute
-|`http-listeners` attribute |`virtual-server` |`network-listeners`
-
-|`accessLoggingEnabled` property |`http-service`
-|`access-logging-enabled`
-
-|`sso-enabled` property |`virtual-server` |`sso-enabled`
-
-|`ssoCookieSecure` property |`virtual-server` |`sso-cookie-secure`
-
-|all other `virtual-server` attributes |`virtual-server` |unchanged
-
-|all other `virtual-server` properties |`virtual-server` |unchanged,
-still properties
-|=======================================================================
-
-
-[[gipcg]][[GSUPG00058]][[new-network-service-elements-and-attributes]]
-
-New Network Service Elements and Attributes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following tables describe the Network Service elements and
-attributes that were introduced in Sun GlassFish Enterprise Server v3.
-For attributes and properties remapped from discontinued elements to new
-elements, see link:#gipfo[Remapping of HTTP Service Attributes and
-Properties].
-
-The new `file-cache` element has no new attributes. All of its
-attributes are remapped from the `http-file-cache` element. For details,
-see link:#gipcv[Table 1-5].
-
-[[sthref17]][[gipds]]
-
-Table 1-15 New `http` Attributes
-
-[width="100%",cols="<28%,<32%,<40%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`adapter` |`com.sun.grizzly.tcp. StaticResourcesAdapter` |(Optional)
-Specifies the class name of the static resources adapter.
-
-|`max-post-size-bytes` |`2097152` |(Optional) Specifies the maximum size
-of `POST` actions.
-|=======================================================================
-
-
-For remapped `http` attributes, see link:#gipfn[Table 1-4],
-link:#gipev[Table 1-6], link:#gipdo[Table 1-7], link:#gipel[Table 1-8],
-link:#gipea[Table 1-10], and link:#gipdh[Table 1-11].
-
-[[sthref18]][[gipey]]
-
-Table 1-16 New `network-listener` Attributes
-
-[width="100%",cols="<18%,<11%,<71%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`protocol` |none |Specifies the `name` of the `protocol` associated
-with this `network-listener`. Although this attribute is required, a
-`protocol` is automatically created with the same `name` as the
-`network-listener` when you use `asadmin create-http-listener` to create
-a `network-listener`.
-
-|`thread-pool` |none |(Optional) Specifies the `name` of the
-`thread-pool` associated with this `network-listener`.
-
-|`transport` |none |Specifies the `name` of the `transport` associated
-with this `network-listener`. Although this attribute is required, the
-default `transport` is used when you use `asadmin create-http-listener`
-to create a `network-listener`.
-|=======================================================================
-
-
-For remapped `network-listener` attributes, see link:#gipev[Table 1-6].
-
-[[sthref19]][[gipfg]]
-
-Table 1-17 New `port-unification` Attributes
-
-[width="100%",cols="<19%,<16%,<65%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the `port-unification`.
-
-|`classname` |none |Specifies the class name of the `port-unification`
-implementation.
-|=======================================================================
-
-
-[[sthref20]][[gipdj]]
-
-Table 1-18 New `protocol` Attributes
-
-[width="100%",cols="<18%,<17%,<65%",options="header",]
-|=========================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the `protocol`.
-|=========================================================
-
-
-For remapped `protocol` attributes, see link:#gipev[Table 1-6].
-
-[[sthref21]][[gipcr]]
-
-Table 1-19 New `protocol-chain` Attributes
-
-[width="100%",cols="<19%,<17%,<64%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the `protocol-chain`.
-
-|`classname` |none |Specifies the class name of the `protocol-chain`
-implementation.
-
-|`type` |`STATELESS` |Specifies the type of protocol chain.
-|=======================================================================
-
-
-[[sthref22]][[gipfq]]
-
-Table 1-20 New `protocol-chain-instance-handler` Attributes
-
-[width="100%",cols="<19%,<17%,<64%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the
-`protocol-chain-instance-handler`.
-
-|`classname` |none |Specifies the class name of the
-`protocol-chain-instance-handler` implementation.
-|=======================================================================
-
-
-[[sthref23]][[gipeq]]
-
-Table 1-21 New `protocol-filter` Attributes
-
-[width="100%",cols="<19%,<17%,<64%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the `protocol-filter`.
-
-|`classname` |none |Specifies the class name of the `protocol-filter`
-implementation.
-|=======================================================================
-
-
-[[sthref24]][[gipfd]]
-
-Table 1-22 New `protocol-finder` Attributes
-
-[width="100%",cols="<19%,<17%,<64%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the `protocol-finder`.
-
-|`classname` |none |Specifies the class name of the `protocol-finder`
-implementation.
-
-|`protocol` |none |Specifies the `name` of the `protocol` associated
-with this `protocol-finder`.
-|=======================================================================
-
-
-[[sthref25]][[gipft]]
-
-Table 1-23 New `selection-key-handler` Attributes
-
-[width="100%",cols="<19%,<16%,<65%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the `selection-key-handler`.
-
-|`classname` |none |Specifies the class name of the
-`selection-key-handler` implementation.
-|=======================================================================
-
-
-[[sthref26]][[gipfi]]
-
-Table 1-24 New `ssl` Attributes
-
-[width="100%",cols="<19%,<17%,<64%",options="header",]
-|========================================================
-|Attribute |Default |Description
-|`key-store` |none |(Optional) Specifies a key store.
-|`trust-store` |none |(Optional) Specifies a trust store.
-|========================================================
-
-
-For remapped `ssl` attributes, see link:#gipdv[Table 1-12].
-
-[[sthref27]][[gipcc]]
-
-Table 1-25 New `thread-pool` Attributes
-
-[width="100%",cols="<21%,<32%,<47%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`classname` |`com.sun.grizzly.http.StatsThreadPool` |(Optional)
-Specifies the class name of the `thread-pool` implementation.
-
-|`max-queue-size` |`-1` |(Optional) Specifies the maximum number of
-messages that can be queued until threads are available to process them.
-A value of `-1` specifies no limit.
-|=======================================================================
-
-
-For remapped `thread-pool` attributes, see link:#gipfn[Table 1-4],
-link:#gipdh[Table 1-11], and link:#gipcj[Table 1-13].
-
-[[sthref28]][[gipem]]
-
-Table 1-26 New `transport` Attributes
-
-[width="100%",cols="<35%,<27%,<38%",options="header",]
-|=======================================================================
-|Attribute |Default |Description
-|`name` |none |Specifies a unique name for the `transport`.
-
-|`classname` |`com.sun.grizzly. TCPSelectorHandler` |(Optional)
-Specifies the class name of the `transport` implementation.
-
-|`selection-key-handler` |none |(Optional) Specifies the `name` of the
-`selection-key-handler` associated with this `transport`.
-
-|`idle-key-timeout-seconds` |`30` |(Optional) Specifies the idle key
-timeout.
-|=======================================================================
-
-
-For remapped `transport` attributes, see link:#gipfy[Table 1-3],
-link:#gipfn[Table 1-4], link:#gipev[Table 1-6], and link:#gipdo[Table
-1-7].
-
-[[gktkt]][[GSUPG00038]][[nss-cryptographic-token-support]]
-
-NSS Cryptographic Token Support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server 4.0 does not support Network Security Services (NSS)
-cryptographic tokens. When upgrading to GlassFish Server 4.0 from
-Enterprise Server v2.x, additional manual configuration steps must be
-performed. These steps are explained later in this guide, in
-link:upgrading-legacy-installation.html#gktnh[Upgrading Installations
-That Use NSS Cryptographic Tokens].
diff --git a/docs/upgrade-guide/src/main/jbake/content/upgrading-legacy-installation.adoc b/docs/upgrade-guide/src/main/jbake/content/upgrading-legacy-installation.adoc
deleted file mode 100644
index b66e98f..0000000
--- a/docs/upgrade-guide/src/main/jbake/content/upgrading-legacy-installation.adoc
+++ /dev/null
@@ -1,1729 +0,0 @@
-type=page
-status=published
-title=Upgrading an Installation of Application Server or GlassFish Server
-prev=upgrade-compatibility-issues.html
-~~~~~~
-Upgrading an Installation of Application Server or GlassFish Server
-===================================================================
-
-[[GSUPG00003]][[abmbq]]
-
-
-[[upgrading-an-installation-of-application-server-or-glassfish-server]]
-2 Upgrading an Installation of Application Server or GlassFish Server
----------------------------------------------------------------------
-
-The Upgrade Tool that is bundled with GlassFish Server 4.0 replicates
-the configuration of a previously installed server in the target
-installation. The Upgrade Tool assists in upgrading the configuration
-and applications from an earlier version of the Application Server or
-GlassFish Server to GlassFish Server 4.0.
-
-In addition to Upgrade Tool, there are three Update Center tools that
-can be used to perform an in-place upgrade to GlassFish Server 4.0 from
-GlassFish Server 3.1.1, 3.1, 3.0.1, and Enterprise Server v3. These
-three Update Center tools are:
-
-* Update Tool
-* Software Update Notifier
-* The `pkg` command-line utility
-
-Upgrade Tool and the three Update Center tools are explained later in
-this chapter.
-
-To view a list of the older versions from which you can upgrade, see
-link:#gjxkx[Supported Releases for Upgrade to GlassFish Server 4.0].
-
-The following topics are addressed here:
-
-* link:#gaejc[Upgrade Overview]
-* link:#abmbr[Performing a Side-By-Side Upgrade With Upgrade Tool]
-* link:#gkthu[Performing an In-Place Upgrade With the Update Center
-Tools]
-* link:#gktnh[Upgrading Installations That Use NSS Cryptographic Tokens]
-* link:#gfybw[Upgrading Clusters and Node Agent Configurations]
-* link:#gkrfh[Correcting Potential Upgrade Problems]
-
-[[gaejc]][[GSUPG00039]][[upgrade-overview]]
-
-Upgrade Overview
-~~~~~~~~~~~~~~~~
-
-The subsections that follow provide information that you will need when
-you perform an upgrade.
-
-The following topics are addressed here:
-
-* link:#gkxum[Upgrade Paths]
-* link:#gdkiw[Upgrade Terminology]
-* link:#gktcb[Summary of Upgrade Tools and Procedures]
-* link:#gjxkx[Supported Releases for Upgrade to GlassFish Server 4.0]
-* link:#gkufi[Upgrading From Version 8.x or Older Product Releases]
-* link:#gkxrp[Upgrading GlassFish Server Inside a Closed Network]
-
-[[gkxum]][[GSUPG00059]][[upgrade-paths]]
-
-Upgrade Paths
-^^^^^^^^^^^^^
-
-There are two general paths you can use when upgrading to GlassFish
-Server 4.0:
-
-Side-by-Side::
-  A side-by-side upgrade means that the new GlassFish Server release is
-  installed in a different directory than the release from which you are
-  upgrading. +
-  In this scenario, you perform the following steps: +
-  1.  Perform a basic installation of GlassFish Server 4.0 in a location
-  other than the one being used for the older product.
-  2.  Use Upgrade Tool to migrate the old configurations and
-  applications to the new GlassFish Server 4.0 directories.
-  3.  Test the new GlassFish Server installation to make sure everything
-  is working properly.
-  4.  When you are satisfied that the new installation works properly,
-  modify your production environment to use the new installation. +
-  The side-by-side upgrade path is typically used for live production
-  environments because it allows you to thoroughly test the new
-  GlassFish Server installation before bringing it into production.
-In-Place::
-  An in-place upgrade means that the new GlassFish Server release is
-  installed directly over and into the same directory as the previous
-  product release. The existing configuration is reused in the updated
-  installation. +
-  In this scenario, you simply use Update Tool, the `pkg` utility, or
-  the Update Notifier in your old installation to overwrite the old
-  installation with the new GlassFish Server 4.0 product. +
-  Performing an in-place upgrade is easier than performing a
-  side-by-side upgrade, but you lose the ability to switch back and
-  forth between the old and new installations. There is also no way to
-  revert an in-place upgrade back to the previous product version.
-  Because of these limitations, in-place upgrades are typically only
-  used by developers and for non-production GlassFish Server
-  deployments. +
-  Note also that it is only possible to perform an in-place upgrade when
-  upgrading from GlassFish Server 3.1.1, 3.1, 3.0.1, or v3. If you are
-  upgrading from product versions prior to 3x, you must perform a
-  side-by-side upgrade.
-
-For a more detailed overview, see link:#gktcb[Summary of Upgrade Tools
-and Procedures].
-
-[[gdkiw]][[GSUPG00060]][[upgrade-terminology]]
-
-Upgrade Terminology
-^^^^^^^^^^^^^^^^^^^
-
-The following are important terms related to the upgrade process.
-
-Source Domain Directory::
-  The directory of the server domain from which you are upgrading to the
-  new version (for example, `c:\glassfish\domains\domain1`).
-Target Root Domain's Directory::
-  The directory where domains are created on the server to which you are
-  upgrading (for example, `c:\glassfish3\glassfish\domains`).
-Master Password::
-  The SSL certificate database password used in operations such as
-  GlassFish Server startup. This term refers to the master password of
-  the installation from which you want to upgrade. You need to specify
-  this password if you have changed it from the default value of
-  `changeit`.
-
-[[gktcb]][[GSUPG00061]][[summary-of-upgrade-tools-and-procedures]]
-
-Summary of Upgrade Tools and Procedures
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There are several tools you can use to upgrade from an earlier GlassFish
-Server or Enterprise Server installation to GlassFish Server 4.0. The
-general procedures for upgrading to GlassFish Server 4.0 vary depending
-on which tool you use and the product version from which you are
-upgrading.
-
-The following topics are addressed here:
-
-* link:#gktdx[Summary of Tools for Performing an Upgrade]
-* link:#gktdz[Summary of Procedure for Upgrading With Upgrade Tool]
-* link:#gktcl[Summary of Procedure for Upgrading With Update Tool]
-* link:#gkuef[Summary of Procedure for Upgrading With the Software
-Update Notifier]
-* link:#gktnb[Summary of Procedure for Upgrading With the `pkg` Utility]
-
-[[gktdx]][[GSUPG00045]][[summary-of-tools-for-performing-an-upgrade]]
-
-Summary of Tools for Performing an Upgrade
-++++++++++++++++++++++++++++++++++++++++++
-
-There are several tools you can use to perform an upgrade to GlassFish
-Server 4.0 are described below.
-
-* link:#gktcz[Upgrade Tool]
-* link:#gktha[Update Tool and the `pkg` Utility]
-* link:#gkuff[Software Update Notifier]
-
-[[gktcz]][[GSUPG00004]][[upgrade-tool]]
-
-Upgrade Tool
-
-The GlassFish Server Upgrade Tool is tended solely for performing
-side-by-side upgrades from any compatible older product version to
-GlassFish Server 4.0.
-
-Upgrade Tool provides a number of features that aid in the migration of
-older configurations and applications to a new GlassFish Server 4.0
-installation. These features are described in more detail in
-link:#gdkix[Upgrade Tool Functionality].
-
-In GlassFish Server 4.0 Upgrade Tool is installed in the
-as-install`/bin` directory.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Upgrade Tool is the only tool you can use when upgrading to GlassFish
-Server 4.0 from product versions prior to GlassFish Server 3.0.1 or
-Enterprise Server v3.
-
-|=======================================================================
-
-
-See link:#gktdz[Summary of Procedure for Upgrading With Upgrade Tool]
-for an overview of the general procedure for performing an upgrade with
-Upgrade Tool.
-
-[[gktha]][[GSUPG00005]][[update-tool-and-the-pkg-utility]]
-
-Update Tool and the `pkg` Utility
-
-The GlassFish Server Update Tool is a graphical utility that is
-typically used for the day-to-day maintenance of GlassFish Server
-components and additional features. For example, Update Tool can be used
-to update GlassFish Server components or install additional features
-such as OSGi Admin Console.
-
-The command-line counterpart to Update Tool is the `pkg` utility. While
-the `pkg` utility does not provide exactly the same set of features as
-Update Tool, for the purposes of upgrading to GlassFish Server 4.0, the
-`pkg` utility and Update Tool feature sets are almost identical.
-
-In addition to day-to-day maintenance tasks, Update Tool and the `pkg`
-utility can be used to perform an in-place upgrade of an entire
-GlassFish Server 3.0.1 or Enterprise Server v3 installation to the
-GlassFish Server 4.0 or later release.
-
-In GlassFish Server 4.0 Update Tool is installed in the
-as-install-parent`/bin` directory.
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-It is not possible to use Update Tool to upgrade from GlassFish Server
-or Enterprise Server versions prior to 3x. For these older versions, you
-must use the Upgrade Tool, described in link:#gktcz[Upgrade Tool].
-
-|=======================================================================
-
-
-See link:#gktcl[Summary of Procedure for Upgrading With Update Tool] for
-an overview of the general procedure for performing an upgrade with
-Update Tool. For more information about Update Tool in general, see
-"link:../administration-guide/toc.html#GSADG00701[Update Tool]" in GlassFish Server Open Source Edition
-Administration Guide.
-
-[[gkuff]][[GSUPG00006]][[software-update-notifier]]
-
-Software Update Notifier
-
-The GlassFish Server Software Update Notifier is similar to Update Tool
-and the `pkg` utility in that it enables you to perform an in-place
-upgrade from GlassFish Server 3.1.1, 3.1, 3.0.1, or Enterprise Server
-v3. As with Update Tool and the `pkg` utility, you cannot use the
-Software Update tool to upgrade from product releases prior 3.0.1 and
-v3.
-
-The Software Update Notifier is distributed as a configuration option
-during GlassFish Server 4.0, 3.0.1, and Enterprise Server v3
-installation. If installed and enabled, the Software Update Notifier
-monitors your installation and pops up a notification balloon when
-updates or upgrades are available for your product.
-
-See link:#gkuef[Summary of Procedure for Upgrading With the Software
-Update Notifier] for an overview of the general procedure for performing
-an upgrade with the Software Update Notifier. For more information about
-the Update Notifier, refer to the Update Tool online help.
-
-[[gktdz]][[GSUPG00046]][[summary-of-procedure-for-upgrading-with-upgrade-tool]]
-
-Summary of Procedure for Upgrading With Upgrade Tool
-++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The general procedure for using Upgrade Tool to perform an upgrade to
-GlassFish Server 4.0 from any compatible older version of GlassFish
-Server or Enterprise Server comprises the following steps:
-
-1.  Download GlassFish Server 4.0 and perform a Standard Installation,
-as described in "link:../installation-guide/toc.html#GSING00007[To Install GlassFish Server Using the
-Self-Extracting File]" in GlassFish Server Open Source Edition
-Installation Guide.
-2.  Copy any custom or third-party libraries from the older installation
-to their corresponding locations in the new GlassFish Server 4.0
-installation directories. Note that you should only copy custom or
-third-party libraries here. Do not copy an libraries from the actual
-domain that will be upgraded.
-3.  Run the `asupgrade` command from the new GlassFish Server 4.0
-as-install`/bin` directory.
-4.  Start the new GlassFish Server 4.0 DAS with the
-`asadmin start-domain` subcommand.
-
-This procedure is described in more detail in link:#abmbr[Performing a
-Side-By-Side Upgrade With Upgrade Tool].
-
-[[gktcl]][[GSUPG00047]][[summary-of-procedure-for-upgrading-with-update-tool]]
-
-Summary of Procedure for Upgrading With Update Tool
-+++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The general procedure for using Update Tool to perform an upgrade to
-GlassFish Server 4.0 from GlassFish Server 3.0.1 or Enterprise Server v3
-comprises the following steps:
-
-1.  Manually stop all server instances and the domain.
-2.  Launch Update Tool by using the as-install-parent`/bin/updatetool`
-command in the older product directory.
-3.  In Update Tool, select and install the latest GlassFish Server
-product release. This updates your server to the 4.0 release.
-4.  Upgrade the domain by running the `asadmin start-domain --upgrade`
-subcommand. This performs the upgrade and then shuts down the DAS.
-5.  Restart the DAS normally with the with the `asadmin start-domain`
-subcommand.
-
-This procedure is described in more detail in link:#gktjf[To Upgrade
-Using the Update Tool GUI].
-
-[[gkuef]][[GSUPG00048]][[summary-of-procedure-for-upgrading-with-the-software-update-notifier]]
-
-Summary of Procedure for Upgrading With the Software Update Notifier
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The general procedure for using the Software Update Notifier to perform
-an upgrade to GlassFish Server 4.0 from GlassFish Server3.0.1 or
-Enterprise Server v3 comprises the following steps:
-
-1.  Wait for the Software Update Notifier to pop up a notification
-balloon informing you that updates are available.
-2.  Click the balloon prompt to launch the Software Update GUI.
-3.  Manually stop all server instances and the domain.
-4.  Use the Software Update GUI to perform the upgrade. This updates
-your server to the 4.0 release.
-5.  Upgrade the domain by running the `asadmin start-domain --upgrade`
-subcommand. This performs the upgrade and then shuts down the DAS.
-6.  Restart the upgraded DAS normally with the with the
-`asadmin start-domain` subcommand.
-
-This procedure is described in more detail in link:#gkuhu[To Upgrade
-Using the Software Update Notifier].
-
-[[gktnb]][[GSUPG00049]][[summary-of-procedure-for-upgrading-with-the-pkg-utility]]
-
-Summary of Procedure for Upgrading With the `pkg` Utility
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-The general procedure for using the `pkg` utility to perform an upgrade
-to GlassFish Server 4.0 from GlassFish Server3.0.1 or Enterprise Server
-v3 comprises the following steps:
-
-1.  Manually stop all server instances and the domain.
-2.  Run the as-install-parent`/bin/pkg` command with the desired options
-in the older product directory. This updates your server to the 4.0
-release.
-3.  Upgrade the domain by running the `asadmin start-domain --upgrade`
-subcommand. This performs the upgrade and then shuts down the DAS.
-4.  Restart the upgraded DAS normally with the with the
-`asadmin start-domain` subcommand.
-
-This procedure is described in more detail in link:#gktks[To Upgrade
-From the Command Line Using the `pkg` Utility].
-
-[[gjxkx]][[GSUPG00062]][[supported-releases-for-upgrade-to-glassfish-server-4.0]]
-
-Supported Releases for Upgrade to GlassFish Server 4.0
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Upgrades to GlassFish Server 4.0 are supported from the following
-earlier GlassFish Server product releases:
-
-* Sun GlassFish Enterprise Server v2.1.1
-* Sun GlassFish Enterprise Server v3
-* GlassFish Server Open Source Edition 3.0.1
-* GlassFish Server Open Source Edition 3.1
-* GlassFish Server Open Source Edition 3.1.1
-
-[[gkufi]][[GSUPG00063]][[upgrading-from-version-8.x-or-older-product-releases]]
-
-Upgrading From Version 8.x or Older Product Releases
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-It is not possible to upgrade to GlassFish Server 4.0 directly from Sun
-GlassFish Enterprise Server 8.x or older product releases.
-
-To upgrade from a product release that is older than any of those listed
-in link:#gjxkx[Supported Releases for Upgrade to GlassFish Server 4.0],
-you must first upgrade your older product release to one of the releases
-that are supported for upgrade to GlassFish Server 4.0.
-
-For example, to upgrade from any Enterprise Server 8.x release, you
-first need to upgrade that older release to Enterprise Server 2.1.1.
-That is, your upgrade path would be as follows:
-
-Enterprise Server 8.x⇒Enterprise Server 2.1.1⇒GlassFish Server 4.0
-
-Sun GlassFish Enterprise Server 2.1.1 is available for download from the
-http://glassfish.java.net/public/downloadsindex.html[GlassFish Community
-Downloads] (`http://glassfish.java.net/public/downloadsindex.html`)
-page. Instructions for upgrading to Enterprise Server 2.1.1 are provided
-in http://download.oracle.com/docs/cd/E19879-01/821-0180/index.html[Sun
-GlassFish Enterprise Server 2.1.1 Upgrade Guide]
-(`http://docs.oracle.com/cd/E19879-01/821-0180/index.html`).
-
-After upgrading your older Enterprise Server installation to Enterprise
-Server 2.1.1, you can proceed normally with the instructions in this
-guide to complete the upgrade to GlassFish Server 4.0.
-
-[[gkxrp]][[GSUPG00065]][[upgrading-glassfish-server-inside-a-closed-network]]
-
-Upgrading GlassFish Server Inside a Closed Network
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For instructions on upgrading a GlassFish Server installation in an
-environment where Internet access is not available, see
-"link:../administration-guide/toc.html#GSADG00575[Extending and Updating GlassFish Server Inside a
-Closed Network]" in GlassFish Server Open Source Edition Administration
-Guide.
-
-[[abmbr]][[GSUPG00040]][[performing-a-side-by-side-upgrade-with-upgrade-tool]]
-
-Performing a Side-By-Side Upgrade With Upgrade Tool
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section explains how to use Upgrade Tool to perform a side-by-side
-upgrade to GlassFish Server 4.0 from any compatible older product
-release.
-
-The following topics are addressed here:
-
-* link:#gktgx[Upgrade Tool Summary]
-* link:#gdkix[Upgrade Tool Functionality]
-* link:#gktjn[To Upgrade From the Command Line Using Upgrade Tool]
-* link:#gaejn[To Upgrade Using the Upgrade Tool Wizard]
-
-[[gktgx]][[GSUPG00066]][[upgrade-tool-summary]]
-
-Upgrade Tool Summary
-^^^^^^^^^^^^^^^^^^^^
-
-The Upgrade Tool upgrades your domain configurations and deployed
-applications. When you use the Upgrade Tool, the source server and the
-target server are normally installed on the same machine, but under
-different install locations. Both server file systems must be accessible
-from the system on which you perform the upgrade.
-
-To perform the upgrade, the user who runs the upgrade needs to have read
-permissions for the source and target directories and write permission
-for the target directory.
-
-You can perform an upgrade using Upgrade Tool in the following ways:
-
-* link:#gktjn[To Upgrade From the Command Line Using Upgrade Tool]
-* link:#gaejn[To Upgrade Using the Upgrade Tool Wizard]
-
-[[gdkix]][[GSUPG00067]][[upgrade-tool-functionality]]
-
-Upgrade Tool Functionality
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Upgrade Tool migrates the configurations and deployed applications
-from an earlier version of Sun Java System Application Server or Sun
-GlassFishEnterprise Server to the current version. Database migrations
-or conversions are not part of this upgrade process.
-
-Briefly, the Upgrade Tool performs the following steps:
-
-* Copies the older source domain directory to the new target `domains`
-directory.
-* Calls the `asadmin start-domain --upgrade` command to migrate the
-source configurations to the new target GlassFish Server installation.
-* Sends all `asadmin` command output to the screen and to the
-`upgrade.log` file, and sends all server output to the `server.log`
-file.
-
-Additional Upgrade Tool functions are explained in the following
-sections:
-
-* link:#gebrv[Migration of Deployed Applications]
-* link:#gebqm[Upgrade of Clusters]
-* link:#gebvn[Upgrade Verification]
-
-[[gebrv]][[GSUPG00050]][[migration-of-deployed-applications]]
-
-Migration of Deployed Applications
-++++++++++++++++++++++++++++++++++
-
-Application archives (EAR files) and component archives (JAR, WAR, and
-RAR files) that are deployed in the source server do not require any
-modification to run on GlassFish Server Open Source Edition 4.0.
-Components that may have incompatibilities are deployed on GlassFish
-Server 4.0 with the `compatibility` property set to `v2` and will run
-without change on GlassFish Server 4.0. You may, however, want to
-consider modifying the applications to conform to Java EE 6
-requirements.
-
-The Java EE 6 platform specification imposes stricter requirements than
-Java EE 5 did on which JAR files can be visible to various modules
-within an EAR file. In particular, application clients must not have
-access to EJB JAR files or other JAR files in the EAR file unless they
-use a `Class-Path` header in the manifest file, or unless references use
-the standard Java SE mechanisms (extensions, for example), or use the
-Java EE `library-directory` mechanism. Setting the `library-directory`
-property to `v2` removes these Java EE 6 restrictions.
-
-Applications and components that are deployed in the source server are
-deployed on the target server during the upgrade. Applications that do
-not deploy successfully on the target server must be deployed manually
-on the target server by the user.
-
-If a domain contains information about a deployed application and the
-installed application components do not agree with the configuration
-information, the configuration is migrated unchanged, without any
-attempt to reconfigure the incorrect configurations.
-
-[[gebqm]][[GSUPG00051]][[upgrade-of-clusters]]
-
-Upgrade of Clusters
-+++++++++++++++++++
-
-When upgrading from a clustered configuration, the older cluster
-information is retained in a new `domain.xml` file in the GlassFish
-Server 4.0 installation directories. However, it is still necessary to
-manually re-create the server instances that are contained in the
-clusters. This procedure is explained in link:#gfybw[Upgrading Clusters
-and Node Agent Configurations].
-
-[[gebvn]][[GSUPG00052]][[upgrade-verification]]
-
-Upgrade Verification
-++++++++++++++++++++
-
-An upgrade log records the upgrade activity. The upgrade log file is
-named `upgrade.log` and is created in the working directory from which
-the Upgrade Tool is run. Additional information is recorded in the
-server log of the upgraded domain.
-
-You can also use the `asadmin version` subcommand after starting the
-upgraded domain to verify the new GlassFish Server product version; for
-example:
-
-[source,oac_no_warn]
-----
-asadmin> version
-Version = Oracle GlassFish Server 3.1 (build 42)
-Command version executed successfully.
-----
-
-[[gktjn]][[GSUPG00010]][[to-upgrade-from-the-command-line-using-upgrade-tool]]
-
-To Upgrade From the Command Line Using Upgrade Tool
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to use the Upgrade Tool command line to
-upgrade to GlassFish Server 4.0 from any supported older product
-release. See link:#gjxkx[Supported Releases for Upgrade to GlassFish
-Server 4.0] for a list of supported releases.
-
-[[sthref29]]
-
-Before You Begin
-
-Ensure that the domains on the source server from which you are
-upgrading are stopped before proceeding.
-
-1.  Download and install GlassFish Server 4.0 using the Typical
-Installation path. +
-See "link:../installation-guide/toc.html#GSING00025[Installing GlassFish Server From a Self-Extracting
-Bundle]" in GlassFish Server Open Source Edition Installation Guide for
-instructions.
-2.  Copy any custom or third-party libraries that may be located in the
-source as-install`/lib` directory to the target as-install`/lib`
-directory. +
-Custom and third-party libraries should normally be located in the
-domain-dir`/lib` directory. This step is only necessary for custom or
-third-party libraries that may be located in the nonstandard
-as-install`/lib` directory.
-3.  Start Upgrade Tool from a command shell for your operating
-environment. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Use the Upgrade Tool that is located in the target GlassFish Server 4.0
-installation, not the older source installation.
-
-|=======================================================================
-
-* On UNIX systems +
-[source,oac_no_warn]
-----
-as-install/bin/asupgrade -c
-----
-* On Windows systems +
-[source,oac_no_warn]
-----
-as-install\bin\asupgrade.bat -c
-----
-The `-c` option starts Upgrade Tool in console mode. If `-c` is omitted,
-Upgrade Tool starts in GUI mode, which is described in link:#gaejn[To
-Upgrade Using the Upgrade Tool Wizard]. +
-If you start Upgrade Tool with only the `-c` option, the tool enters
-interactive CLI mode in which you are asked to supply the needed
-options. If you prefer to enter all options directly from the command
-line, you can use the following syntax: +
-[source,oac_no_warn]
-----
-asupgrade
-[-c|--console]
-[-V|--version]
-[-h|--help]
-[-s|--source source-domain-directory]
-[-t|--target target-domain-directory]
-[-f|--passwordfile password-file]
-----
-Explanations of these options are provided at the end of this procedure.
-4.  Follow the prompts to perform the upgrade. +
-If a name used for an older domain that you are upgrading already exists
-in the new target domains directory, Upgrade Tool will ask if you want
-to rename the new directory so the old directory can be copied to the
-new installation.
-* If you type `y` in response, the directory is renamed
-domain-name`.original`. If that name already exists, the directory will
-be renamed domain-name`.orginal.0`. For example, if the old domain
-directory is named `domain1`, it will be renamed `domain1.original`, or
-if that name already exists, `domain1.original.0`.
-* If you type `n`, you are prompted to specify a different directory
-name or quit. +
-The domain is upgraded and the results are output to the console.
-5.  Review the console output to verify that the upgrade proceeded
-correctly. +
-This output is also written to the `output.log` file for later review. +
-If there are any `SEVERE` or `WARNING` messages in the `server.log`
-file, the upgrade output will say
-`"Possible error encountered during upgrade. See server log after upgrade process completes."`
-6.  Start the upgraded GlassFish Server 4.0 domain. +
-[source,oac_no_warn]
-----
-asadmin start-domain domain-name
-----
-Log in to the Administration Console with the user name and password you
-used in the older server. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-GlassFish Server 4.0 does not support NSS authentication. If you are
-upgrading from a Enterprise Profile configuration that uses NSS
-authentication, follow the procedure in link:#gktnh[Upgrading
-Installations That Use NSS Cryptographic Tokens].
-
-|=======================================================================
-
-7.  If you are upgrading a clustered configuration or a configuration in
-which node agents were used, proceed with the instructions in
-link:#gfybw[Upgrading Clusters and Node Agent Configurations].
-
-[[GSUPG00007]][[gktiu]]
-
-
-Example 2-1 Using the `asupgrade` Command Line
-
-The following example shows how to use the `asupgrade` command-line
-utility in non-interactive mode to upgrade an existing Sun GlassFish
-Enterprise Server v2.1 installation to GlassFish Server 4.0. The
-following command should be entered on a single line.
-
-[source,oac_no_warn]
-----
-asupgrade -c -s /home/glassfish/domains/domain1 -f /root/mypassword
--t /home/glassfish3/glassfish/domains
-----
-
-[[sthref30]]
-
-asupgrade Command-Line Options
-
-Listed below are the `asupgrade` command-line options, including the
-short form, the long form, and a description of each option.
-
-[width="100%",cols="<26%,<26%,<48%",options="header",]
-|=======================================================================
-|Short Form |Long Form |Description
-|`-c` |`--console` |Launches the upgrade command line utility.
-
-|`-V` |`--version` |The version of the GlassFish Server.
-
-|`-h` |`--help` |Displays the arguments for launching the upgrade
-utility.
-
-|`-s` source-domain-directory |`--source` source-domain-directory |The
-domain-dir directory in the source (older) server installation.
-
-|`-t` target-domains-directory |`--target` target-domains-directory |The
-desired domain-root-dir directory in the GlassFish Server 4.0 target
-installation; default is as-install`/domains`
-
-|`-f` password-file |`--passwordfile` password-file |The file containing
-the administration password and the master password.
-|=======================================================================
-
-
-[[sthref31]]
-
-Next Steps
-
-* Browse to the URL `http://localhost:8080` to view the
-domain-dir`/docroot/index.html` file. This file is brought over during
-the upgrade. You may want to copy the default GlassFish Server 4.0 file
-from the `domain1.original/docroot` directory and customize it for your
-GlassFish Server 4.0 installation.
-* To register your installation of GlassFish Server from the
-Administration Console, select the Registration item from the Common
-Tasks page. For step-by-step instructions on the registration process,
-click the Help button on the Administration Console.
-
-[[gaejn]][[GSUPG00011]][[to-upgrade-using-the-upgrade-tool-wizard]]
-
-To Upgrade Using the Upgrade Tool Wizard
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to use the graphical Upgrade Tool Wizard to
-upgrade to GlassFish Server 4.0 from any supported older product
-release. See link:#gjxkx[Supported Releases for Upgrade to GlassFish
-Server 4.0] for a list of supported releases.
-
-[[sthref32]]
-
-Before You Begin
-
-Ensure that the source domains from which you are upgrading are stopped
-before proceeding.
-
-1.  Download and install GlassFish Server 4.0 using the Typical
-Installation path. +
-See "link:../installation-guide/toc.html#GSING00025[Installing GlassFish Server From a Self-Extracting
-Bundle]" in GlassFish Server Open Source Edition Installation Guide for
-instructions.
-2.  Copy any custom or third-party libraries that may be located in the
-source as-install`/lib` directory to the target as-install`/lib`
-directory. +
-Custom and third-party libraries should normally be located in the
-domain-dir`/lib` directory. This step is only necessary for custom or
-third-party libraries that may be located in the nonstandard
-as-install`/lib` directory.
-3.  Start the Upgrade Tool wizard from a command shell for your
-operating environment. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Use the Upgrade Tool that is located in the target GlassFish Server 4.0
-installation, not the older source installation.
-
-|=======================================================================
-
-* On UNIX systems +
-[source,oac_no_warn]
-----
-as-install/bin/asupgrade
-----
-* On Windows systems +
-[source,oac_no_warn]
-----
-as-install\bin\asupgrade.bat
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Tip:
-
-You may find it faster to run the `asupgrade` command with the `s`
-source-domain-directory option, which will prefill the Source Domain
-Directory field in the next step.
-
-|=======================================================================
-
-4.  In the Source Domain Directory field, type the domain directory of
-the existing installation from which to import the configuration, or
-click Browse. +
-For example, you might type `c:\glassfish\domains\domain1`.
-5.  In the Target Domains Root Directory field, type the location of the
-GlassFish Server 4.0 installation to which to transfer the
-configuration, or click Browse. +
-The default is the full path name of the `domains` directory of your
-GlassFish Server 4.0 installation (for example,
-`c:\glassfish3\glassfish\domains`).
-6.  Provide the master password of the source application server. +
-The domain will be upgraded using these credentials. If you do not
-specify a password here, the default master password is used. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-GlassFish Server 4.0 does not support NSS authentication. If you are
-upgrading from a Enterprise Profile configuration that uses NSS
-authentication, follow the procedure in link:#gktnh[Upgrading
-Installations That Use NSS Cryptographic Tokens].
-
-|=======================================================================
-
-7.  Click Next. +
-If a name used for an older domain that you are upgrading already exists
-in the new target domains directory, Upgrade Tool will ask if you want
-to rename the new directory so the old directory can be copied to the
-new installation.
-* If you click OK in response, the directory is renamed
-domain-name`.original`. If that name already exists, the directory will
-be renamed domain-name`.orginal.0`. For example, if the old domain
-directory is named `domain1`, it will be renamed `domain1.original`, or
-if that name already exists, `domain1.original.0`.
-* If you click No, you brought back to the main screen. +
-The domain is upgraded and the Upgrade Results page displays the status
-of the upgrade operation.
-8.  Review the output in the Upgrade Results page to verify that the
-upgrade proceeded correctly. +
-If there are any `SEVERE` or `WARNING` messages in the `server.log`
-file, the upgrade output will say
-`"Possible error encountered during upgrade. See server log after upgrade process completes."`
-9.  Click Finish to exit the Upgrade Tool when the upgrade process is
-complete.
-10. Start the upgraded GlassFish Server 4.0 domain. +
-[source,oac_no_warn]
-----
-asadmin start-domain domain-name
-----
-11. If you are upgrading a clustered configuration or a configuration in
-which node agents were used, proceed with the instructions in
-link:#gfybw[Upgrading Clusters and Node Agent Configurations].
-
-[[sthref33]]
-
-Next Steps
-
-* Browse to the URL `http://localhost:8080` to view the
-domain-dir`/docroot/index.html` file. This file is brought over during
-the upgrade. You may want to copy the default GlassFish Server 4.0 file
-from the `domain1.original/docroot` directory and customize it for your
-GlassFish Server 4.0 installation.
-* To register your installation of GlassFish Server from the
-Administration Console, select the Registration item from the Common
-Tasks page. For step-by-step instructions on the registration process,
-click the Help button on the Administration Console.
-
-[[gkthu]][[GSUPG00041]][[performing-an-in-place-upgrade-with-the-update-center-tools]]
-
-Performing an In-Place Upgrade With the Update Center Tools
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section explains how to use the three Update Center tools to
-perform an in-place upgrade to GlassFish Server 4.0 from GlassFish
-Server 3.0.1 or Enterprise Server v3. Specifically, the three tools
-explained in this section are:
-
-* Update Tool
-* Software Update Notifier
-* The `pkg` command-line utility
-
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-GlassFish Server 3.0.1 and Enterprise Server v3 are the only product
-releases that can be upgraded to the 4.0 release with the Update Center
-tools. If you are upgrading from any other product release, you must use
-Upgrade Tool, as described in link:#abmbr[Performing a Side-By-Side
-Upgrade With Upgrade Tool].
-
-|=======================================================================
-
-
-The following topics are addressed here:
-
-* link:#gkthx[Update Center Tool Procedures]
-* link:#gktjf[To Upgrade Using the Update Tool GUI]
-* link:#gkuhu[To Upgrade Using the Software Update Notifier]
-* link:#gktks[To Upgrade From the Command Line Using the `pkg` Utility]
-
-[[gkthx]][[GSUPG00068]][[update-center-tool-procedures]]
-
-Update Center Tool Procedures
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Unlike when using Upgrade Tool, when you use the Update Tool, the
-Software Update Notifier, or the `pkg` utility to perform a GlassFish
-Server 4.0 upgrade, the older source server directories are overwritten
-with the new target server directories, and the existing configuration
-and deployed applications are reused in the updated installation.
-
-To perform the upgrade, the user who runs the upgrade needs to have read
-and writer permissions for the server installation directories.
-
-You can perform an upgrade using the Update Center tools in the
-following ways:
-
-* link:#gktjf[To Upgrade Using the Update Tool GUI]
-* link:#gkuhu[To Upgrade Using the Software Update Notifier]
-* link:#gktks[To Upgrade From the Command Line Using the `pkg` Utility]
-
-[[gktjf]][[GSUPG00012]][[to-upgrade-using-the-update-tool-gui]]
-
-To Upgrade Using the Update Tool GUI
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to use the graphical Update Tool to perform
-an in-place upgrade to GlassFish Server 4.0 from GlassFish Server 3.0.1
-or Enterprise Server v3. Note that it is not possible to use this
-procedure with any other product releases.
-
-1.  Ensure that all domains on the source server from which you are
-upgrading are stopped before proceeding.
-2.  In a command shell for your operating environment, navigate to the
-as-install-parent`/bin` directory.
-3.  Use the `updatetool` command to start the Update Tool GUI. +
-The Update Tool main window is displayed.
-4.  Click on Available Updates.
-5.  Select all items in the Available Updates list, and then click the
-Install button in the toolbar at the top of the Update Tool main window. +
-When the upgrade is complete, exit Update Tool.
-6.  Upgrade the domain by starting the DAS with the `--upgrade` option. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain --upgrade domain-name
-----
-This upgrades the domain and then shuts down the DAS.
-7.  Start the DAS normally. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain domain-name
-----
-
-[[sthref34]]
-
-Next Steps
-
-* Browse to the URL `http://localhost:8080` to view the
-domain-dir`/docroot/index.html` file. This file is brought over during
-the upgrade. You may want to copy the default GlassFish Server 4.0 file
-from the `domain1.original/docroot` directory and customize it for your
-GlassFish Server 4.0 installation.
-* To register your installation of GlassFish Server from the
-Administration Console, select the Registration item from the Common
-Tasks page. For step-by-step instructions on the registration process,
-click the Help button on the Administration Console.
-
-[[gkuhu]][[GSUPG00013]][[to-upgrade-using-the-software-update-notifier]]
-
-To Upgrade Using the Software Update Notifier
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to use the Software Update Notifier to
-perform an in-place upgrade to GlassFish Server 4.0 from GlassFish
-Server 3.0.1 or Enterprise Server v3. Note that it is not possible to
-use this procedure with any other product releases.
-
-[[sthref35]]
-
-Before You Begin
-
-The Software Update Notifier must be installed and enabled on the
-GlassFish Server or Enterprise Server release from which you are
-upgrading. Software Update Notifier installation is typically performed
-during the initial GlassFish Server or Enterprise Server installation.
-The Software Update Notifier can also be installed later using Update
-Tool. For more information about the Update Notifier, refer to the
-Update Tool online help.
-
-1.  Wait for the Software Update Notifier to pop up a notification
-balloon informing you that updates are available.
-2.  Click the balloon prompt to open the Software Update GUI.
-3.  Manually stop all domains and server instances.
-4.  Using the Software Update GUI, select the items you want to upgrade
-and start the installation. +
-Ensure that GlassFish Server 4.0 is one of the items you select for
-upgrade. This upgrades the server and selected components to the latest
-available versions.
-5.  Upgrade the domain by starting the DAS with the `--upgrade` option. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain --upgrade domain-name
-----
-This upgrades the domain and then shuts down the DAS.
-6.  Start the DAS normally. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain domain-name
-----
-
-[[sthref36]]
-
-Next Steps
-
-* Browse to the URL `http://localhost:8080` to view the
-domain-dir`/docroot/index.html` file. This file is brought over during
-the upgrade. You may want to copy the default GlassFish Server 4.0 file
-from the `domain1.original/docroot` directory and customize it for your
-GlassFish Server 4.0 installation.
-* To register your installation of GlassFish Server from the
-Administration Console, select the Registration item from the Common
-Tasks page. For step-by-step instructions on the registration process,
-click the Help button on the Administration Console.
-
-[[gktks]][[GSUPG00014]][[to-upgrade-from-the-command-line-using-the-pkg-utility]]
-
-To Upgrade From the Command Line Using the `pkg` Utility
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to use the `pkg` utility to perform an
-in-place upgrade to GlassFish Server 4.0 from GlassFish Server 3.0.1 or
-Enterprise Server v3. Note that it is not possible to use this procedure
-with any other product releases.
-
-1.  Ensure that all domains on the source server from which you are
-upgrading are stopped before proceeding.
-2.  In a command shell for your operating environment, navigate to the
-as-install-parent`/bin` directory.
-3.  Use the `pkg image-update` command to update your entire GlassFish
-Server 3.0.1 or Enterprise Server v3 installation to GlassFish Server
-4.0. +
-[source,oac_no_warn]
-----
-./pkg image-update
-----
-This upgrades the server components to the latest available versions.
-4.  Upgrade the domain by starting the DAS with the `--upgrade` option. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain --upgrade domain-name
-----
-This upgrades the domain and then shuts down the DAS.
-5.  Start the DAS normally. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain domain-name
-----
-
-[[sthref37]]
-
-Next Steps
-
-* Browse to the URL `http://localhost:8080` to view the
-domain-dir`/docroot/index.html` file. This file is brought over during
-the upgrade. You may want to copy the default GlassFish Server 4.0 file
-from the `domain1.original/docroot` directory and customize it for your
-GlassFish Server 4.0 installation.
-* To register your installation of GlassFish Server from the
-Administration Console, select the Registration item from the Common
-Tasks page. For step-by-step instructions on the registration process,
-click the Help button on the Administration Console.
-
-[[gktnh]][[GSUPG00042]][[upgrading-installations-that-use-nss-cryptographic-tokens]]
-
-Upgrading Installations That Use NSS Cryptographic Tokens
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-GlassFish Server v2.x EE (Enterprise Edition) uses Network Security
-Services (NSS) for cryptographic software tokens. GlassFish Server 4.0
-does not support NSS, so when performing an upgrade from v2.x EE to 4.0
-additional manual configuration steps must be performed.
-
-The following topics are addressed here:
-
-* link:#gktnq[To Prepare for the Upgrade]
-* link:#gktlz[To Perform Post-Upgrade Configuration]
-* link:#gktlp[To Upgrade PKCS#11 Hardware Tokens]
-
-[[gktnq]][[GSUPG00015]][[to-prepare-for-the-upgrade]]
-
-To Prepare for the Upgrade
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to prepare for modifying an NSS-based
-GlassFish Server 2.x installation when upgrading to GlassFish Server
-4.0.
-
-1.  Download and install GlassFish Server 4.0 using the Typical
-Installation path. +
-Ensure that you install the new GlassFish Server 4.0 product in a
-directory that is different than the one used for the older installation
-from which you are upgrading. +
-See "link:../installation-guide/toc.html#GSING00025[Installing GlassFish Server From a Self-Extracting
-Bundle]" in GlassFish Server Open Source Edition Installation Guide for
-instructions.
-2.  Rename the new GlassFish Server 4.0 domain-dir (the default is
-as-install`/domains/domain1`) to a name of your choice. +
-In this procedure, `31domain` is used for the renamed GlassFish Server
-4.0 domain.
-3.  Copy the older source domain to be upgraded to the new GlassFish
-Server 4.0 as-install`/domains` directory. +
-In this procedure, `domain1` is used for the older source domain that is
-copied to the new GlassFish Server 4.0 installation. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The remaining steps in this procedure are performed on the copy of your
-source domain that you created in this step, rather than on your
-original source domain. It is strongly recommended that you perform the
-GlassFish Server 4.0 upgrade on a copy of your old domain rather than on
-the original.
-
-|=======================================================================
-
-4.  Copy the `server.policy`, `keystore.jks`, and `cacerts.jks` files
-from the renamed `./31domain/config` directory to the `./domain1/config`
-directory to be upgraded. +
-For example: +
-[source,oac_no_warn]
-----
-cp as-install/domains/31domain/config/server.policy as-install/domains/domain1/config
-cp as-install/domains/31domain/config/keystore.jks as-install/domains/domain1/config
-cp as-install/domains/31domain/config/cacerts.jks as-install/domains/domain1/config
-----
-This will overwrite the master password for `./domain1` with the
-password used in the `./31domain`.
-5.  Modify the `domain.xml` file for `./domain1`.
-1.  Add the following `jvm-options` under `server-config` and
-`default-config`: +
-[source,oac_no_warn]
-----
--Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks
--Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks
-----
-2.  Remove the following `jvm-option` under `server-config` and
-`default-config`: +
-[source,oac_no_warn]
-----
--Dcom.sun.appserv.nss.db=${com.sun.aas.instanceRoot}/config
-----
-6.  Upgrade `./domain1` by starting the DAS in the new GlassFish Server
-4.0 installation with the `--upgrade` option. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain --upgrade domain1
-----
-This upgrades the domain and then shuts down the DAS.
-7.  Start the upgraded DAS normally. +
-[source,oac_no_warn]
-----
-as-install/bin/asadmin start-domain domain1
-----
-
-[[gktlz]][[GSUPG00016]][[to-perform-post-upgrade-configuration]]
-
-To Perform Post-Upgrade Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-These instructions explain the post-upgrade configuration steps that
-must be performed when upgrading from an NSS-based installation to
-GlassFish Server 4.0.
-
-[[sthref38]]
-
-Before You Begin
-
-Before proceeding with this procedure, complete the procedure explained
-in link:#gktnq[To Prepare for the Upgrade].
-
-1.  Start the GlassFish Server 4.0 domain, if it is not already running,
-and open the GlassFish Server Admin Console in a browser window. +
-The default URL is `https://localhost:4848` +
-As part of the link:#gktnq[To Prepare for the Upgrade] procedure, the
-default keystore with a default self-signed key-certificate pair with an
-alias named `s1as` and a keystore password `changeit` was copied into
-the v2.x domain before the upgrade.
-2.  If your default server alias in the NSS v2.x domain is not `s1as`,
-you can delete this entry using the following command: +
-[source,oac_no_warn]
-----
-keytool -delete -keystore keystore.jks -storepass changeit -alias s1as
-keytool -delete -keystore cacerts.jks -storepass changeit -alias s1as
-----
-3.  If the master password for the v2.x domain is not the default
-password `changeit`, you need to change the new keystore password to
-match the v2.x master password. +
-[source,oac_no_warn]
-----
-keytool -storepasswd -new v2-master-password \
--keystore keystore.jks -storepass changeit
-keytool -storepasswd -new v2-master-password \
--keystore cacerts.jks -storepass changeit
-----
-4.  Take note of all the `KeyEntries` that exist in your NSS database. +
-These entries must be migrated to the `keystore.jks` in the GlassFish
-Server 4.0 domain. The following command can be used to list all the
-`KeyEntries` in the NSS database: +
-[source,oac_no_warn]
-----
-certutil -L -d $AS_NSS_DB
-----
-`AS_NSS_DB` should point to the `${com.sun.aas.instanceRoot}/config` for
-the 4.0 instance into which the v2.x domain was copied. The listing with
-the attribute combinations `u,u,u` are the `KeyEntries`. +
-For example: +
-[source,oac_no_warn]
-----
-s1as u,u,u
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-To run the `certutil` command, your `LD_LIBRARY_PATH` must point to the
-directory containing NSS library and DLLs.
-
-|=======================================================================
-
-5.  For each `PrivateKey-Certificate` pair (`KeyEntry`) that exists in
-the v2.x NSS database, use the following commands to export them from
-the NSS database and import them into the newly created `keystore.jks`
-file. +
-Make sure you use the same alias when importing the `KeyEntry` into the
-JKS keystore. For example, if s1as is the only alias present in the NSS
-database, the following command can be used: +
-[source,oac_no_warn]
-----
-> pk12util -o /tmp/s1as_pk.p12 -n s1as -d $AS_NSS_DB
->keytool -importkeystore -srckeystore /tmp/s1as_pk.p12 -destkeystore \
-${com.sun.aas.instanceRoot}/config/keystore.jks -srcstoretype PKCS12 \
--deststoretype JKS -srcstorepass v2-master-password \
--deststorepass v3-master-password -srcalias s1as \
--destalias s1as -srckeypass v2-master-password \
--destkeypass v3-master-password
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-The reference to v3-master-password could be the same as
-v2-master-password if you intend to retain the same master password for
-the 4.0 domain after upgrading from v2.x.
-
-|=======================================================================
-
-6.  If the `s1as` alias represents a `KeyEntry` with a self-signed
-certificate, the self-signed certificate must be copied to the
-`truststore`. +
-[source,oac_no_warn]
-----
->certutil -L -n s1as -r -d $AS_NSS_DB> /tmp/s1as.der>keytool -import -keystore cacerts.jks -storepass v3-master-password \
--file /tmp/s1as.der -alias s1as
-----
-7.  There is a rare chance that the 2.x NSS database has some CA
-(Certificate Authority) certificates that are absent in the default
-created `truststore`. In such cases, all aliases that are missing in the
-`truststore` (`cacerts.jks`) need to collected.
-1.  `certutil -L -d $AS_NSS_DB` +
-Example output: +
-[source,oac_no_warn]
-----
-verisignc1g1 T,c,c
-verisignc1g2 T,c,c
-verisignc1g3 T,c,c
-----
-2.  `keytool -list -keystore cacerts.jks -storepass` v3-master-password +
-Example output: +
-[source,oac_no_warn]
-----
-godaddyclass2ca, Jan 20, 2005, trustedCertEntry,
-Certificate fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67
-verisignclass1g3ca, Mar 26, 2004, trustedCertEntry,
-Certificate fingerprint (MD5): B1:47:BC:18:57 1:18:A0:78:2D:EC:71:E8:2A:95:73
-secomevrootca1, May 1, 2008, trustedCertEntry,
-Certificate fingerprint (MD5): 22:2D:A6:01:EA:7C:0A:F7:F0:6C:56:43:3F:77:76 3
-----
-8.  For each of the aliases from the `certutil` output in the preceding
-step that are required but missing in the `truststore` listing, execute
-the following commands to export and import them into the 4.0 domain's
-`truststore`. +
-[source,oac_no_warn]
-----
->certutil -L -n verisignc1g1 -r -d $AS_NSS_DB> /tmp/verisignc1g1.der>keytool -import -keystore cacerts.jks -storepass v3-master-password \
--file /tmp/verisignc1g1.der -alias verisignc1g1
-----
-::
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Sometimes just the alias names that are used in the NSS database are
-different, and the same certificate is, in fact, present in the 4.0
-default `truststore`.
-
-|=======================================================================
-
-
-[[gktlp]][[GSUPG00017]][[to-upgrade-pkcs11-hardware-tokens]]
-
-To Upgrade PKCS#11 Hardware Tokens
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you are using GlassFish Server v2.x Enterprise Edition with Hardware
-Tokens (for example, FIPS-140 compliant Sun Cryptographic Accelerator
-6000 or other Sun Cryptographic Accelerators) configured by means of
-NSS-PKCS11, then the v2.x EE-to-4.0 upgrade solution is to directly
-configure the Hardware Token as a PKCS11 token using the JDK-JSSE
-supported mechanisms for configuring PKCS#11 tokens.
-
-1.  Set the `javax.net.ssl.keyStoreType` `jvm-options` in GlassFish
-Server 4.0 to PKCS11. +
-[source,oac_no_warn]
-----
-<jvm-options>-Djavax.net.ssl.keyStoreType=PKCS11</jvm-options>
-----
-2.  Set the `javax.net.ssl.keyStore` URL should be set to l since this
-is a hardware token. +
-[source,oac_no_warn]
-----
-<jvm-options>-Djavax.net.ssl.keyStore=NONE</jvm-options>
-----
-3.  Change the password for the `truststore` and the GlassFish Server
-`MasterPassword` to match the PIN of your `HardwareToken`.
-4.  Since you are using a Hardware Token, you can delete the
-`keystore.jks` for the migrated domain.
-5.  Ensure the `token-alias` for the hardware token (private key) that
-you intend to use as the Server's Key for SSL is mentioned in every
-relevant place in the `domain.xml` for the domain. +
-For example, the `cert-nickname` attribute for the `<ssl/>` element
-under the `protocol` configuration.
-6.  If the Hardware Token is to act as a `TrustStore` as well, remove
-the `cacerts.jks` file from the domain-dir`/config` directory. +
-Ensure that the following two `jvm-options` are set in the `domain.xml`
-file: +
-[source,oac_no_warn]
-----
-<jvm-options>-Djavax.net.ssl.trustStore=NONE</jvm-options>
-<jvm-options>-Djavax.net.ssl.trustStoreType=PKCS11</jvm-options>
-----
-
-[[gfybw]][[GSUPG00043]][[upgrading-clusters-and-node-agent-configurations]]
-
-Upgrading Clusters and Node Agent Configurations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section explains additional steps you need to perform when
-upgrading cluster and node agent configurations from Application Server
-or Enterprise Server to GlassFish Server 4.0.
-
-GlassFish Server 4.0 does not support node agents. As part of the
-upgrade process, any node agent elements in the older source
-configuration are transformed into `CONFIG` node elements in the
-`domain.xml` file for the upgraded DAS. If the source node agent
-configuration is incompatible with your GlassFish Server 4.0
-installation, you must correct the node configuration on the upgraded
-DAS.
-
-In addition, although the source cluster configuration is retained in
-the `domain.xml` file for the upgraded DAS, it is still necessary to
-install GlassFish Server 4.0 on each node host and manually re-create
-the server instances that are contained in the clusters.
-
-The following topics are addressed here:
-
-* link:#gkyda[Overview of Cluster and Node Agent Upgrade Procedures]
-* link:#gktle[To Correct the Configuration of a Node After an Upgrade]
-* link:#gktkx[To Re-Create a Cluster]
-
-[[gkyda]][[GSUPG00069]][[overview-of-cluster-and-node-agent-upgrade-procedures]]
-
-Overview of Cluster and Node Agent Upgrade Procedures
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The general steps for upgrading a cluster and node agent configuration
-so it will work in GlassFish Server 4.0 are as follows:
-
-1.  Perform a side-by-side upgrade of the DAS. This procedure is
-described in link:#abmbr[Performing a Side-By-Side Upgrade With Upgrade
-Tool].
-2.  Perform new (not upgrade) GlassFish Server 4.0 installations on each
-node host. GlassFish Server 4.0 installation instructions are provided
-in the link:../installation-guide/toc.html#GSING[GlassFish Server Open Source Edition Installation
-Guide].
-3.  Correct the node configuration on the upgraded DAS, if necessary.
-This procedure is described in link:#gktle[To Correct the Configuration
-of a Node After an Upgrade].
-4.  Re-create the clusters and server instances on each GlassFish Server
-4.0 node host. This procedure is described in link:#gktkx[To Re-Create a
-Cluster].
-
-[[gktle]][[GSUPG00018]][[to-correct-the-configuration-of-a-node-after-an-upgrade]]
-
-To Correct the Configuration of a Node After an Upgrade
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-As part of the upgrade process, node agent elements in the DAS
-configuration are transformed into GlassFish Server node elements of
-type `CONFIG`. This transformation does not affect the node agent
-directories for GlassFish Server instances. To create the equivalent
-directories for GlassFish Server instances after an upgrade, you must
-re-create the instances as explained in link:#gktkx[To Re-Create a
-Cluster].
-
-The name of an upgraded node is the name of the node agent from which
-the node is transformed.
-
-The host that the node represents is obtained from the configuration of
-the original node agent or, if not specified, is not set. If the
-configuration of the original node agent did not specify the name of the
-node host, you must update the node to specify the host that the node
-represents.
-
-Default values are applied to the remainder of the node's configuration
-data.
-
-The default values of the following items in a node's configuration data
-might not meet your requirements for the upgraded installation of
-GlassFish Server:
-
-* The parent of the base installation directory of the GlassFish Server
-software on the host, for example, `/export/glassfish3`. +
-The default is the parent of the default base installation directory of
-the GlassFish Server 4.0 software on the DAS host. If the GlassFish
-Server software is installed under a different directory on the node
-host, you must update the node's configuration to specify the correct
-directory.
-* The directory that will contain the GlassFish Server instances that
-are to reside on the node. +
-The default is as-install`/nodes`, where as-install is the base
-installation directory of the GlassFish Server software on the host. If
-you require the instances to be contained in a different directory, you
-must update the node's configuration to specify that directory.
-
-If you are using secure shell (SSH) for centralized administration, you
-must also change the type of the node to `SSH` to enable the node for
-remote communication.
-
-For more information about GlassFish Server nodes, see
-"link:../ha-administration-guide/nodes.html#GSHAG00004[Administering GlassFish Server Nodes]" in GlassFish
-Server Open Source Edition High Availability Administration Guide.
-
-[[sthref39]]
-
-Before You Begin
-
-Ensure that the following prerequisites are met:
-
-* A side-by-side upgrade on the DAS has been performed. For more
-information, see link:#abmbr[Performing a Side-By-Side Upgrade With
-Upgrade Tool].
-* If you are changing the type of the node to `SSH`, ensure that SSH is
-configured on the host where the DAS is running and on the host that the
-node represents. For more information, see "link:../ha-administration-guide/ssh-setup.html#GSHAG00003[Setting Up
-SSH for Centralized Administration]" in GlassFish Server Open Source
-Edition High Availability Administration Guide.
-* If you are upgrading from an Enterprise Profile configuration that
-uses NSS authentication, ensure that the procedure in
-link:#gktnh[Upgrading Installations That Use NSS Cryptographic Tokens]
-has been performed. GlassFish Server 4.0 does not support NSS
-authentication.
-
-1.  Ensure that the DAS is running. +
-Remote subcommands require a running server.
-2.  Update the node's configuration data to specify the correct
-directories and, if necessary, change the type of the node. +
-
-[width="100%",cols="<100%",]
-|=======================================================================
-a|
-Note:
-
-Only the options that are required to complete this task are provided in
-this step. For information about all the options for changing the node's
-configuration data, see the link:../reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)] help
-page or the link:../reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)] help page.
-
-|=======================================================================
-
-[source,oac_no_warn]
-----
-asadmin> node-update-subcommand [--installdir as-install-parent] [--nodedir node-dir]
-[--nodehost node-host] node-name
-----
-node-update-subcommand::
-  The subcommand to run to update the node. +
-  * If you are leaving the type of the node as `CONFIG`, run the
-  `update-node-config` subcommand on the node.
-  * If you are changing the type of the node to `SSH`, run the
-  `update-node-ssh` subcommand on the node.
-as-install-parent::
-  The full path to the parent of the base installation directory of the
-  GlassFish Server software on the host, for example,
-  `/export/glassfish3`.
-node-dir::
-  The path to the directory that will contain GlassFish Server instances
-  that are to reside on the node. If a relative path is specified, the
-  path is relative to the as-install directory.
-node-host::
-  The name of the host that the node is to represent after the node is
-  updated.
-node-name::
-  The name of the node to update. This name is the name of the node
-  agent from which the node was transformed.
-
-[[GSUPG00008]][[gktoh]]
-
-
-Example 2-2 Correcting the Configuration of a Node After an Upgrade
-
-This example updates the path to the directory that will contain
-instances that are to reside on the node `xk01` to
-`/export/home/gf/nodes`. Because this node is transformed from a node
-agent, the type of the node is `CONFIG`. Therefore, type of the node is
-not changed.
-
-[source,oac_no_warn]
-----
-asadmin> update-node-config --nodedir /export/home/gf/nodes xk01
-Command update-node-config executed successfully.
-----
-
-[[sthref40]]
-
-Next Steps
-
-Re-create the cluster configuration from the older source installation
-in the new GlassFish Server 4.0 installation in as explained in
-link:#gktkx[To Re-Create a Cluster].
-
-[[sthref41]]
-
-See Also
-
-* "link:../ha-administration-guide/ssh-setup.html#GSHAG00003[Setting Up SSH for Centralized Administration]" in
-GlassFish Server Open Source Edition High Availability Administration
-Guide
-* "link:../ha-administration-guide/nodes.html#GSHAG00004[Administering GlassFish Server Nodes]" in GlassFish
-Server Open Source Edition High Availability Administration Guide
-* link:../reference-manual/update-node-config.html#GSRFM00255[`update-node-config`(1)]
-* link:../reference-manual/update-node-ssh001.html#GSRFM00256[`update-node-ssh`(1)]
-
-[[gktkx]][[GSUPG00019]][[to-re-create-a-cluster]]
-
-To Re-Create a Cluster
-^^^^^^^^^^^^^^^^^^^^^^
-
-This procedure explains how to re-create a clustered GlassFish Server or
-Enterprise Server configuration for GlassFish Server 4.0.
-
-[[sthref42]]
-
-Before You Begin
-
-Before proceeding with these instructions, ensure that you have
-completed the following procedures:
-
-* Perform the standard upgrade to GlassFish Server 4.0 on the DAS, as
-described in link:#abmbr[Performing a Side-By-Side Upgrade With Upgrade
-Tool].
-* Perform a new (not upgrade) installation of GlassFish Server 4.0 on
-each node host. See the link:../installation-guide/toc.html#GSING[GlassFish Server Open Source Edition
-Installation Guide] for instructions.
-* Correct the upgraded node configuration, if necessary, as described
-link:#gktle[To Correct the Configuration of a Node After an Upgrade].
-
-1.  Start the upgraded DAS. +
-[source,oac_no_warn]
-----
-asadmin> start-domain domain-name
-----
-If the upgrade succeeded, the migrated cluster configuration exists and
-the `get-health` subcommand lists the status of the clustered instances
-as not running.
-2.  Confirm that the cluster configuration exists and contains all its
-instances. +
-[source,oac_no_warn]
-----
-asadmin> get-health cluster-name
-----
-For example, for the sample `cluster1` used in this procedure: +
-[source,oac_no_warn]
-----
-asadmin> get-health cluster1
-instance1 not started
-instance2 not started
-Command get-health executed successfully.
-----
-3.  Re-create the clustered server instances on each instance host. +
-The specific commands to use depend on your configuration.
-* If remote hosts cannot contact the DAS, export and import the
-instances' configuration data, as explained in "link:../ha-administration-guide/instances.html#GSHAG00125[To
-Resynchronize an Instance and the DAS Offline]" in GlassFish Server Open
-Source Edition High Availability Administration Guide.
-* If remote hosts can contact the DAS, create each instance individually
-and resynchronize the instance with the DAS, as explained in the
-following sections:
-
-** "link:../ha-administration-guide/instances.html#GSHAG00114[To Create an Instance Locally]" in GlassFish Server
-Open Source Edition High Availability Administration Guide
-
-** "link:../ha-administration-guide/instances.html#GSHAG00119[To Resynchronize an Instance and the DAS Online]"
-in GlassFish Server Open Source Edition High Availability Administration
-Guide +
-Note that the node name matches that used for the node agent in the 2.x
-installation. If you get an error stating that some attributes do not
-match the values in the DAS configuration, follow the instructions in
-link:#gktle[To Correct the Configuration of a Node After an Upgrade].
-4.  After creating the instances, manually copy the instance-dir`/imq`
-directory for each instance from the older source installation to the
-target GlassFish Server 4.0 installation.
-5.  If necessary, start the cluster. +
-For example: +
-[source,oac_no_warn]
-----
-asadmin> start-cluster cluster1
-----
-This step may or may not be necessary, depending on the procedure you
-used to create the server instances for the cluster.
-
-[[GSUPG00009]][[gkyin]]
-
-
-Example 2-3 Creating Two Local Instances
-
-The following example shows how to create two local instances in a
-cluster.
-
-[source,oac_no_warn]
-----
-host1$ asadmin --host dashost create-local-instance --node na1 --cluster cluster1 instance1
-host2$ asadmin --host dashost create-local-instance --node na2 --cluster cluster1 instance2
-----
-
-`dashost`::
-  The name of the DAS host.
-`na1`::
-  The name of the node host.
-`cluster1`::
-  The name of the cluster.
-`instance1`, `instance2`::
-  The names of the instances.
-
-[[gkrfh]][[GSUPG00044]][[correcting-potential-upgrade-problems]]
-
-Correcting Potential Upgrade Problems
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section addresses issues that can occur during an upgrade to
-GlassFish Server 4.0.
-
-The following topics are addressed here:
-
-* link:#gkrgh[Cluster Profile Security Setting]
-* link:#gkrib[Cluster Profile Upgrade on Windows]
-* link:#gkyho[`asupgrade` Fails Without Internet Connection]
-
-[[gkrgh]][[GSUPG00070]][[cluster-profile-security-setting]]
-
-Cluster Profile Security Setting
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When upgrading a clustered domain configuration from Application Server
-9.1 or Enterprise Server v2 to GlassFish Server 4.0, you may encounter
-problems if the `admin-service` element in the DAS `domain.xml` file
-sets both of the following attributes:
-
-* `security-enabled=true`
-* `type=das-and-server`
-
-The `security-enabled` attribute must be set to `false` in the
-`admin-service` element for the DAS when `type` is set to
-`das-and-server`.
-
-You can use the `get` subcommand to determine the values for these two
-attributes. For example:
-
-* To display the value for the `security-enabled` attribute: +
-[source,oac_no_warn]
-----
-asadmin> get configs.config.server-config.admin-service.jmx-connector.system.security-enabled
-----
-* To display the value for the type attribute: +
-[source,oac_no_warn]
-----
-asadmin> get configs.config.server-config.admin-service.type
-----
-
-If necessary, use the `set` subcommand to set `security-enabled=false`.
-For example:
-
-[source,oac_no_warn]
-----
-asadmin> set configs.config.server-config.admin-service.jmx-connector.system.security-enabled=false
-----
-
-[[gkrib]][[GSUPG00071]][[cluster-profile-upgrade-on-windows]]
-
-Cluster Profile Upgrade on Windows
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-On Windows, when you upgrade cluster profile domains, you could
-encounter the following error:
-
-[source,oac_no_warn]
-----
-Fatal error while backing up the domain directory
-----
-
-To resolve this error, look for and remove any hidden files in the
-source domain's directory and re-run Upgrade Tool.
-
-[[gkyho]][[GSUPG00072]][[asupgrade-fails-without-internet-connection]]
-
-`asupgrade` Fails Without Internet Connection
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This problem only occurs when using GlassFish Server 3.1 Upgrade Tool to
-perform a side-by-side upgrade on a 2.x domain without an Internet
-connection. It does not occur when using GlassFish Server 3.1.1.
-
-The workaround for this issue is as follows:
-
-1.  Copy the older source domain to be upgraded to the new target
-domain-dir, the default for which is as-install`/domains`. +
-Rename the target `domain1` directory, if one exists, before proceeding.
-2.  Run the upgrade. +
-[source,oac_no_warn]
-----
-asadmin> start-domain --upgrade domain-name
-----
diff --git a/docs/upgrade-guide/src/main/jbake/jbake.properties b/docs/upgrade-guide/src/main/jbake/jbake.properties
deleted file mode 100644
index 546d09c..0000000
--- a/docs/upgrade-guide/src/main/jbake/jbake.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-site.host=http://jbake.org
-render.tags=false
-render.sitemap=false
-render.archive=false
-render.feed=false
-asciidoctor.option.safe=0
-asciidoctor.attributes.export=true
diff --git a/docs/upgrade-guide/src/main/jbake/templates/footer.ftl b/docs/upgrade-guide/src/main/jbake/templates/footer.ftl
deleted file mode 100644
index 6f2b09e..0000000
--- a/docs/upgrade-guide/src/main/jbake/templates/footer.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<#-- a footer template fragment included in the page template -->
-<hr />
-
-<table width="90%" id="bottom-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>		
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-		</#if>
-
-		<#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-		</#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class="vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
-<span id="copyright">
-        <img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>&nbsp;            
-        <span >Copyright&nbsp;&copy;&nbsp;2019,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span>
-</span>
-
-<p align="center" class="beta">${config.status!}</p>
-
-</body>
-</html>
diff --git a/docs/upgrade-guide/src/main/jbake/templates/header.ftl b/docs/upgrade-guide/src/main/jbake/templates/header.ftl
deleted file mode 100644
index 82ebb36..0000000
--- a/docs/upgrade-guide/src/main/jbake/templates/header.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<#-- a header template fragment included in the page template -->
-<html lang="en">
-  <head>
-    <meta charset="utf-8"/>
-    <title><#if (content.title)??><#escape x as x?xml>${content.title}</#escape></#if></title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="<#if (content.rootpath)??>${content.rootpath}<#else></#if>css/style.css" rel="stylesheet">
-    <script src="https://use.fontawesome.com/96c4d89611.js"></script>
-  </head>
-  <body>
-<table id="doc-title" cellspacing="0" cellpadding="0">
-  <tr>
-  <td align="left" valign="top">
-  <b>${content.title}</b><br />
-      <p class="beta">${config.status!}</p>
-  </td>
-  </tr>
-</table>
-<hr />
-
-<table width="90%" id="top-nav" cellspacing="0" cellpadding="0">
-	<colgroup>
-		<col width="12%"/>
-		<col width="12%"/>
-		<col width="*"/>
-	</colgroup>
-	<tr>
-	    <#if content.prev??>
-		<td align="left">
-		<a href="${content.prev}">
-			<span class="vector-font"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Previous</span>
-		</a>
-		</td>
-	    </#if>
-
-	    <#if content.next??>
-		<td align="left">
-		<a href="${content.next}">
-			<span class=" vector-font"><i class="fa fa-arrow-circle-right vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Next</span>
-		</a>
-		</td>
-	    </#if>
-
-		<td align="right">
-		<a href="toc.html">
-			<span class=" vector-font"><i class="fa fa-list vector-font" aria-hidden="true"></i></span>
-			<span style="position:relative;top:-2px;">Contents</span>
-		</a>
-		</td>
-	</tr>
-</table>
-
diff --git a/docs/upgrade-guide/src/main/jbake/templates/menu.ftl b/docs/upgrade-guide/src/main/jbake/templates/menu.ftl
deleted file mode 100644
index 888c03d..0000000
--- a/docs/upgrade-guide/src/main/jbake/templates/menu.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#-- a menu bar template fragment included in the page template -->
\ No newline at end of file
diff --git a/docs/upgrade-guide/src/main/jbake/templates/page.ftl b/docs/upgrade-guide/src/main/jbake/templates/page.ftl
deleted file mode 100644
index eca51db..0000000
--- a/docs/upgrade-guide/src/main/jbake/templates/page.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<#-- a top level page layout template -->
-
-<#include "header.ftl">
-<#include "menu.ftl">
-
-${content.body}
-
-<#include "footer.ftl">
\ No newline at end of file
diff --git a/docs/website/pom.xml b/docs/website/pom.xml
index baedbc3..d86899b 100644
--- a/docs/website/pom.xml
+++ b/docs/website/pom.xml
@@ -22,9 +22,8 @@
     <parent>
         <groupId>org.glassfish.docs</groupId>
         <artifactId>docs</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
-    <groupId>org.glassfish.docs</groupId>
     <artifactId>website</artifactId>
     <packaging>jar</packaging>
     <name>Eclipse GlassFish website content</name>
@@ -36,7 +35,7 @@
 
     <!--
         This project doesn't inherit from ../parent because it doesn't
-        need jbake, and so the jar plugin needs to be configured here...
+        need asciidoc, and so the jar plugin needs to be configured here...
     -->
     <build>
         <defaultGoal>package</defaultGoal>
diff --git a/docs/website/src/main/resources/README.md b/docs/website/src/main/resources/README.md
index 7c7b8c9..9464bbe 100644
--- a/docs/website/src/main/resources/README.md
+++ b/docs/website/src/main/resources/README.md
@@ -9,10 +9,19 @@
 
 ## Latest News
 
+## November 18, 2021 -- Eclipse GlassFish 6.2.3 Available
+
+We are pleased to announce the release of Eclipse GlassFish 6.2.3. This release provides implementations
+of the Jakarta EE 9.1 Platform and Web Profile specifications. Download links are available from the [GlassFish Download page](https://eclipse-ee4j.github.io/glassfish/download). Eclipse GlassFish 6.2.3 implements the Jakarta EE 9.1 specification ([Jakarta EE 9.1 Platform](https://jakarta.ee/specifications/platform/9.1/), [Jakarta EE 9 Web Profile](https://jakarta.ee/specifications/webprofile/9.1/)). GlassFish 6.2.3 brings Admin console fixes, build times improvement, component updates, and bug fixes.
+
+GlassFish 6.2.3 compiles with JDK 11 to JDK 17 and runs on JDK 11 to JDK 17. GlassFish 6.2.3 also compiles and runs on JDK 18-EA releases.
+
+Note this release requires at least JDK 11. 
+
 ## October 1, 2021 -- Eclipse GlassFish 6.2.2 Available
 
 We are pleased to announce the release of Eclipse GlassFish 6.2.2. This release provides implementations
-of the Jakarta EE 9.1 Platform and Web Profile specifications. Download links are available from the [GlassFish Download page](https://eclipse-ee4j.github.io/glassfish/download). Eclipse GlassFish 6.1 implements the Jakarta EE 9.1 specification ([Jakarta EE 9.1 Platform](https://jakarta.ee/specifications/platform/9.1/), [Jakarta EE 9 Web Profile](https://jakarta.ee/specifications/webprofile/9.1/)). GlassFish 6.2.2 brings GlassFish embedded back to live, and contains an import fix for a memory leak. A major behind the scenes accomplishment is that all active tests now use JUnit 5.
+of the Jakarta EE 9.1 Platform and Web Profile specifications. Download links are available from the [GlassFish Download page](https://eclipse-ee4j.github.io/glassfish/download). Eclipse GlassFish 6.2.2 implements the Jakarta EE 9.1 specification ([Jakarta EE 9.1 Platform](https://jakarta.ee/specifications/platform/9.1/), [Jakarta EE 9 Web Profile](https://jakarta.ee/specifications/webprofile/9.1/)). GlassFish 6.2.2 brings GlassFish embedded back to live, and contains an import fix for a memory leak. A major behind the scenes accomplishment is that all active tests now use JUnit 5.
 
 GlassFish 6.2.2 compiles with JDK 11 to JDK 17 and runs on JDK 11 to JDK 17. GlassFish 6.2.2 has been briefly tested with JDK 18-EA releases.
 
@@ -21,7 +30,7 @@
 ## August 28, 2021 -- Eclipse GlassFish 6.2.1 Available
 
 We are happy to announce the release of Eclipse GlassFish 6.2.1. This release provides implementations
-of the Jakarta EE 9.1 Platform and Web Profile specifications. Download links are available from the [GlassFish Download page](https://eclipse-ee4j.github.io/glassfish/download). Eclipse GlassFish 6.1 implements the Jakarta EE 9.1 specification ([Jakarta EE 9.1 Platform](https://jakarta.ee/specifications/platform/9.1/), [Jakarta EE 9 Web Profile](https://jakarta.ee/specifications/webprofile/9.1/)). GlassFish 6.2.1 now has much improved support for JDK 17, and includes new component Eclipse Exousia, the standalone Jakarta Authorization implementation. GlassFish 6.2.1 compiles with JDK 11 to JDK 17.
+of the Jakarta EE 9.1 Platform and Web Profile specifications. Download links are available from the [GlassFish Download page](https://eclipse-ee4j.github.io/glassfish/download). Eclipse GlassFish 6.2.1 implements the Jakarta EE 9.1 specification ([Jakarta EE 9.1 Platform](https://jakarta.ee/specifications/platform/9.1/), [Jakarta EE 9 Web Profile](https://jakarta.ee/specifications/webprofile/9.1/)). GlassFish 6.2.1 now has much improved support for JDK 17, and includes new component Eclipse Exousia, the standalone Jakarta Authorization implementation. GlassFish 6.2.1 compiles with JDK 11 to JDK 17.
 
 Note this release requires at least JDK 11.
 
diff --git a/docs/website/src/main/resources/docs/README.md b/docs/website/src/main/resources/docs/README.md
index 730ee2c..2959878 100644
--- a/docs/website/src/main/resources/docs/README.md
+++ b/docs/website/src/main/resources/docs/README.md
@@ -38,37 +38,37 @@
 
 ## <a name="development">Development Version</a>
 
-* [Add On Component Development Guide](SNAPSHOT/add-on-component-development-guide/toc.html)
+* [Add On Component Development Guide](SNAPSHOT/add-on-component-development-guide.html)
   ([pdf](SNAPSHOT/add-on-component-development-guide.pdf))
-* [Administration Guide](SNAPSHOT/administration-guide/toc.html)
+* [Administration Guide](SNAPSHOT/administration-guide.html)
   ([pdf](SNAPSHOT/administration-guide.pdf))
-* [Application Deployment Guide](SNAPSHOT/application-deployment-guide/toc.html)
+* [Application Deployment Guide](SNAPSHOT/application-deployment-guide.html)
   ([pdf](SNAPSHOT/application-deployment-guide.pdf))
-* [Application Development Guide](SNAPSHOT/application-development-guide/toc.html)
+* [Application Development Guide](SNAPSHOT/application-development-guide.html)
   ([pdf](SNAPSHOT/application-development-guide.pdf))
-* [Deployment Planning Guide](SNAPSHOT/deployment-planning-guide/toc.html)
+* [Deployment Planning Guide](SNAPSHOT/deployment-planning-guide.html)
   ([pdf](SNAPSHOT/deployment-planning-guide.pdf))
-* [Embedded Server Guide](SNAPSHOT/embedded-server-guide/toc.html)
+* [Embedded Server Guide](SNAPSHOT/embedded-server-guide.html)
   ([pdf](SNAPSHOT/embedded-server-guide.pdf))
-* [Error Messages Reference](SNAPSHOT/error-messages-reference/toc.html)
+* [Error Messages Reference](SNAPSHOT/error-messages-reference.html)
   ([pdf](SNAPSHOT/error-messages-reference.pdf))
-* [High Availability Administration Guide](SNAPSHOT/ha-administration-guide/toc.html)
+* [High Availability Administration Guide](SNAPSHOT/ha-administration-guide.html)
   ([pdf](SNAPSHOT/ha-administration-guide.pdf))
-* [Installation Guide](SNAPSHOT/installation-guide/toc.html)
+* [Installation Guide](SNAPSHOT/installation-guide.html)
   ([pdf](SNAPSHOT/installation-guide.pdf))
-* [Performance Tuning Guide](SNAPSHOT/performance-tuning-guide/toc.html)
+* [Performance Tuning Guide](SNAPSHOT/performance-tuning-guide.html)
   ([pdf](SNAPSHOT/performance-tuning-guide.pdf))
-* [Quick Start Guide](SNAPSHOT/quick-start-guide/toc.html)
+* [Quick Start Guide](SNAPSHOT/quick-start-guide.html)
   ([pdf](SNAPSHOT/quick-start-guide.pdf))
-* [Reference Manual](SNAPSHOT/reference-manual/toc.html)
+* [Reference Manual](SNAPSHOT/reference-manual.html)
   ([pdf](SNAPSHOT/reference-manual.pdf))
-* [Release Notes](SNAPSHOT/release-notes/toc.html)
+* [Release Notes](SNAPSHOT/release-notes.html)
   ([pdf](SNAPSHOT/release-notes.pdf))
-* [Security Guide](SNAPSHOT/security-guide/toc.html)
+* [Security Guide](SNAPSHOT/security-guide.html)
   ([pdf](SNAPSHOT/security-guide.pdf))
-* [Troubleshooting Guide](SNAPSHOT/troubleshooting-guide/toc.html)
+* [Troubleshooting Guide](SNAPSHOT/troubleshooting-guide.html)
   ([pdf](SNAPSHOT/troubleshooting-guide.pdf))
-* [Upgrade Guide](SNAPSHOT/upgrade-guide/toc.html)
+* [Upgrade Guide](SNAPSHOT/upgrade-guide.html)
   ([pdf](SNAPSHOT/upgrade-guide.pdf))
 
 ## <a name="5.1.0">5.1.0 Release</a>
diff --git a/docs/website/src/main/resources/download.md b/docs/website/src/main/resources/download.md
index 250cf48..b999920 100644
--- a/docs/website/src/main/resources/download.md
+++ b/docs/website/src/main/resources/download.md
@@ -1,15 +1,33 @@
 # Eclipse GlassFish Downloads
 
+## Eclipse GlassFish 6.2.3
+
+GlassFish 6.2.3 brings Admin console fixes, build times improvement, component updates, and bug fixes.
+
+For more details on Jakarta EE 9.1, please see the [Jakarte EE Platform Specification Project](https://eclipse-ee4j.github.io/jakartaee-platform/).
+
+* [Eclipse GlassFish 6.2.3, Jakarta EE Platform, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.2.3.zip)
+* [Eclipse GlassFish 6.2.3, Jakarta EE Web Profile, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/web-6.2.3.zip)
+
 ## Eclipse GlassFish 6.2.2
 
 GlassFish 6.2.2 brings GlassFish embedded back to live, and contains an import fix for a memory leak. A major behind the scenes accomplishment is that all active tests now use JUnit 5.
 
 For more details on Jakarta EE 9.1, please see the [Jakarte EE Platform Specification Project](https://eclipse-ee4j.github.io/jakartaee-platform/).
 
-Other than bug-fixes, the major change is support for JDK 17.
+* [Eclipse GlassFish 6.2.2, Jakarta EE Platform, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.2.2.zip)
+* [Eclipse GlassFish 6.2.2, Jakarta EE Web Profile, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/web-6.2.2.zip)
 
+## Eclipse GlassFish 6.2.1
 
-* [Eclipse GlassFish 6.2.2, Jakarta EE Platform, 9.1](https://github.com/eclipse-ee4j/glassfish/releases/download/6.2.2/glassfish-6.2.2.zip)
+GlassFish 6.2.1 brings integration of Eclipse Exousia, component updates, bug fixes.
+
+For more details on Jakarta EE 9.1, please see the [Jakarte EE Platform Specification Project](https://eclipse-ee4j.github.io/jakartaee-platform/).
+
+The major change is support for JDK 17.
+
+* [Eclipse GlassFish 6.2.1, Jakarta EE Platform, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.2.1.zip)
+* [Eclipse GlassFish 6.2.1, Jakarta EE Web Profile, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/web-6.2.1.zip)
 
 ## Eclipse GlassFish 6.1
 
@@ -21,9 +39,8 @@
 
 Other than bug-fixes, the major change is support for JDK 11.
 
-
-* [Eclipse GlassFish 6.1.0, Jakarta EE Platform, 9.1](https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.info)
-* [Eclipse GlassFish 6.1.0, Jakarta EE Web Profile, 9.1](https://download.eclipse.org/ee4j/glassfish/web-6.1.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/web-6.1.0.info)
+* [Eclipse GlassFish 6.1.0, Jakarta EE Platform, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.1.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.info)
+* [Eclipse GlassFish 6.1.0, Jakarta EE Web Profile, 9.1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/web-6.1.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/web-6.1.0.info)
 
 ## Eclipse GlassFish 6
 
@@ -32,8 +49,8 @@
 
 NOTE: Users upgrading from Jakarta EE 8 to Jakarta EE 9 may want to review the Spec. changes describing how to upgrade an EE 8 application to EE 9 (for example, you might start by watching [this video](https://youtu.be/3ClvncBrKJw?t=405)).
 
-* [Eclipse GlassFish 6.0.0, Jakarta EE Platform, 9](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0.info)
-* [Eclipse GlassFish 6.0.0, Jakarta EE Web Profile, 9](https://download.eclipse.org/ee4j/glassfish/web-6.0.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/web-6.0.0.info)
+* [Eclipse GlassFish 6.0.0, Jakarta EE Platform, 9](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.0.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0.info)
+* [Eclipse GlassFish 6.0.0, Jakarta EE Web Profile, 9](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/web-6.1.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/web-6.0.0.info)
 
 We welcome your feedback! Please include the details provided in the **info** link when reporting any [issues](https://github.com/eclipse-ee4j/glassfish/issues).
 
diff --git a/etc/PruneMavenCache.groovy b/etc/PruneMavenCache.groovy
index f190487..b4d4b05 100644
--- a/etc/PruneMavenCache.groovy
+++ b/etc/PruneMavenCache.groovy
@@ -20,7 +20,6 @@
   - name: jnlp
     image: jenkins/jnlp-slave:alpine
     imagePullPolicy: IfNotPresent
-    volumeMounts:
     env:
       - name: JAVA_TOOL_OPTIONS
         value: -Xmx1G
diff --git a/gfbuild.sh b/gfbuild.sh
index 25c7f3b..4d0f1d9 100755
--- a/gfbuild.sh
+++ b/gfbuild.sh
@@ -71,6 +71,9 @@
 }
 
 build_re_dev(){
+  if [ -f "${WORKSPACE}/snapshots/pom.xml" ]; then
+    mvn clean install -T2C -s "${WORKSPACE}/snapshots/settings.xml" -f "${WORKSPACE}/snapshots/pom.xml" ${MVN_EXTRA}
+  fi
   dev_build
   archive_bundles
   merge_junits
diff --git a/gftest.sh b/gftest.sh
index b778032..75b11cf 100755
--- a/gftest.sh
+++ b/gftest.sh
@@ -17,7 +17,7 @@
 #!/bin/bash -e
 
 export WORKSPACE=`pwd`
-export S1AS_HOME="${WORKSPACE}/glassfish6/glassfish"
+export S1AS_HOME="${WORKSPACE}/glassfish7/glassfish"
 export APS_HOME="${WORKSPACE}/appserver/tests/appserv-tests"
 export TEST_RUN_LOG="${WORKSPACE}/tests-run.log"
 
diff --git a/nucleus/admin/cli/pom.xml b/nucleus/admin/cli/pom.xml
index bfa0bf8..2f4b21f 100755
--- a/nucleus/admin/cli/pom.xml
+++ b/nucleus/admin/cli/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>admin-cli</artifactId>
@@ -108,8 +108,18 @@
             <artifactId>jettison</artifactId>
         </dependency>
         <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
diff --git a/nucleus/admin/config-api/pom.xml b/nucleus/admin/config-api/pom.xml
index 2d0c07a..3ce47d9 100644
--- a/nucleus/admin/config-api/pom.xml
+++ b/nucleus/admin/config-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>config-api</artifactId>
@@ -90,8 +90,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/nucleus/admin/config-api/src/main/java/org/glassfish/config/support/DefaultConfigUpgrade.java b/nucleus/admin/config-api/src/main/java/org/glassfish/config/support/DefaultConfigUpgrade.java
index 6646ae2..313a310 100644
--- a/nucleus/admin/config-api/src/main/java/org/glassfish/config/support/DefaultConfigUpgrade.java
+++ b/nucleus/admin/config-api/src/main/java/org/glassfish/config/support/DefaultConfigUpgrade.java
@@ -52,7 +52,7 @@
 
 /**
  * Upgrade service to add the default-config if it doesn't exist. 3.0.1 and v2.x developer profile do not have
- * default-config. The data to populate the default-config is taken from glassfish6\glassfish\lib\templates\domain.xml.
+ * default-config. The data to populate the default-config is taken from glassfish7\glassfish\lib\templates\domain.xml.
  * This class uses the StAX parser and depends on the exact order of the elements in the template, and the original
  * contents of the template when glassfish was installed. The DefaultConfigUpgrade may not work if the template has been
  * changed from its original.
@@ -308,7 +308,7 @@
     }
 
     /*
-     * Creates the http-service object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the http-service object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <http-service>
      *  <access-log/>
      *  <virtual-server id="server" network-listeners="http-listener-1, http-listener-2">
@@ -378,7 +378,7 @@
     }
 
     /*
-     * Creates the admin-service object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the admin-service object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <admin-service system-jmx-connector-name="system" type="server">
      *  <!-- JSR 160  "system-jmx-connector" -->
      *  <jmx-connector address="0.0.0.0" auth-realm-name="admin-realm" name="system" port="${JMX_SYSTEM_CONNECTOR_PORT}" protocol="rmi_jrmp" security-enabled="false"/>
@@ -437,7 +437,7 @@
     }
 
     /*
-     * Creates the log-service object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the log-service object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <log-service log-rotation-limit-in-bytes="2000000" file="${com.sun.aas.instanceRoot}/logs/server.log">
      *      <module-log-levels/>
      * </log-service>
@@ -490,7 +490,7 @@
     }
 
     /*
-     * Creates the security-service object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the security-service object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <security-service>
      *  <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm">
      *      <property name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"/>
@@ -899,7 +899,7 @@
     }
 
     /*
-     * Creates the diagnostic-service object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the diagnostic-service object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <diagnostic-service/>
      */
     private static class DiagnosticServiceConfigCode implements SingleConfigCode<Config> {
@@ -912,7 +912,7 @@
     }
 
     /*
-     * Creates the java-config object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the java-config object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,
      * address=${JAVA_DEBUGGER_PORT}" system-classpath="" classpath-suffix="">
      */
@@ -961,7 +961,7 @@
     }
 
     /*
-     * Creates the availability-service object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the availability-service object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <availability-service>
      *  <web-container-availability availability-enabled="true" persistence-frequency="web-method" persistence-scope="session" persistence-type="replicated" sso-failover-enabled="false"/>
      *  <ejb-container-availability availability-enabled="true" sfsb-store-pool-name="jdbc/hastore"/>
@@ -983,7 +983,7 @@
     }
 
     /*
-     * Creates the network-config object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the network-config object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <network-config>
      */
     private class NetworkConfigCode implements SingleConfigCode<Config> {
@@ -1356,7 +1356,7 @@
     }
 
     /*
-     * Creates the thread-pools object using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the thread-pools object using data from glassfish7\glassfish\lib\templates\domain.xml
      * <thread-pools>
      *   <thread-pool name="http-thread-pool"/>
      *   <thread-pool max-thread-pool-size="200" idle-thread-timeout-in-seconds="120" name="thread-pool-1"/>
@@ -1413,7 +1413,7 @@
     }
 
     /*
-     * Creates the system-property elements using data from glassfish6\glassfish\lib\templates\domain.xml
+     * Creates the system-property elements using data from glassfish7\glassfish\lib\templates\domain.xml
      */
     private class SystemPropertyConfigCode implements SingleConfigCode<Config> {
 
diff --git a/nucleus/admin/launcher/pom.xml b/nucleus/admin/launcher/pom.xml
index b2b55af..0d1a6f3 100644
--- a/nucleus/admin/launcher/pom.xml
+++ b/nucleus/admin/launcher/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>launcher</artifactId>
diff --git a/nucleus/admin/monitor/pom.xml b/nucleus/admin/monitor/pom.xml
index b289449..58d859e 100755
--- a/nucleus/admin/monitor/pom.xml
+++ b/nucleus/admin/monitor/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>monitoring-core</artifactId>
diff --git a/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/jvm/JVMStatsProviderBootstrap.java b/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/jvm/JVMStatsProviderBootstrap.java
index 16d3b57..c447a78 100644
--- a/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/jvm/JVMStatsProviderBootstrap.java
+++ b/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/jvm/JVMStatsProviderBootstrap.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Contributors to the Eclipse Foundation
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -45,7 +46,6 @@
     private JVMOSStatsProvider osStatsProvider = new JVMOSStatsProvider();
     private JVMRuntimeStatsProvider runtimeStatsProvider = new JVMRuntimeStatsProvider();
     private JVMThreadSystemStatsProvider threadSysStatsProvider = new JVMThreadSystemStatsProvider();
-    private List<JVMGCStatsProvider> jvmStatsProviderList = new ArrayList();
     private ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
     public static final String JVM = "jvm";
 
@@ -59,7 +59,6 @@
                 ContainerMonitoring.LEVEL_LOW);
         for (GarbageCollectorMXBean gc : ManagementFactory.getGarbageCollectorMXBeans()) {
             JVMGCStatsProvider jvmStatsProvider = new JVMGCStatsProvider(gc.getName());
-            jvmStatsProviderList.add(jvmStatsProvider);
             StatsProviderManager.register("jvm", PluginPoint.SERVER, "jvm/garbage-collectors/" + gc.getName(), jvmStatsProvider,
                     ContainerMonitoring.LEVEL_LOW);
         }
diff --git a/nucleus/admin/pom.xml b/nucleus/admin/pom.xml
index ecbf082..78d4150 100755
--- a/nucleus/admin/pom.xml
+++ b/nucleus/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.admin</groupId>
diff --git a/nucleus/admin/rest/gf-restadmin-connector/pom.xml b/nucleus/admin/rest/gf-restadmin-connector/pom.xml
index 121c149..d7c08b8 100644
--- a/nucleus/admin/rest/gf-restadmin-connector/pom.xml
+++ b/nucleus/admin/rest/gf-restadmin-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>rest-service-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gf-restadmin-connector</artifactId>
diff --git a/nucleus/admin/rest/pom.xml b/nucleus/admin/rest/pom.xml
index 0ca4620..a0e888c 100644
--- a/nucleus/admin/rest/pom.xml
+++ b/nucleus/admin/rest/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>rest-service-parent</artifactId>
diff --git a/nucleus/admin/rest/rest-client/pom.xml b/nucleus/admin/rest/rest-client/pom.xml
index 22a4e61..ab9aa57 100644
--- a/nucleus/admin/rest/rest-client/pom.xml
+++ b/nucleus/admin/rest/rest-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>rest-service-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>rest-client</artifactId>
diff --git a/nucleus/admin/rest/rest-service/pom.xml b/nucleus/admin/rest/rest-service/pom.xml
index ade651e..70acd95 100644
--- a/nucleus/admin/rest/rest-service/pom.xml
+++ b/nucleus/admin/rest/rest-service/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>rest-service-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>rest-service</artifactId>
@@ -137,8 +137,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/nucleus/admin/rest/rest-testing/pom.xml b/nucleus/admin/rest/rest-testing/pom.xml
index 2f487c2..c842895 100644
--- a/nucleus/admin/rest/rest-testing/pom.xml
+++ b/nucleus/admin/rest/rest-testing/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>rest-service-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>rest-testing</artifactId>
diff --git a/nucleus/admin/server-mgmt/pom.xml b/nucleus/admin/server-mgmt/pom.xml
index a76c169..5b9a12f 100644
--- a/nucleus/admin/server-mgmt/pom.xml
+++ b/nucleus/admin/server-mgmt/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-mgmt</artifactId>
diff --git a/nucleus/admin/template/pom.xml b/nucleus/admin/template/pom.xml
index ebcaf79..0a85772 100644
--- a/nucleus/admin/template/pom.xml
+++ b/nucleus/admin/template/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>nucleus-domain</artifactId>
diff --git a/nucleus/admin/util/pom.xml b/nucleus/admin/util/pom.xml
index 654c94c..c12fbb0 100755
--- a/nucleus/admin/util/pom.xml
+++ b/nucleus/admin/util/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.admin</groupId>
         <artifactId>nucleus-admin</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>admin-util</artifactId>
diff --git a/nucleus/cluster/admin/pom.xml b/nucleus/cluster/admin/pom.xml
index 5039817..c92d24c 100644
--- a/nucleus/cluster/admin/pom.xml
+++ b/nucleus/cluster/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.cluster</groupId>
         <artifactId>cluster</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cluster-admin</artifactId>
diff --git a/nucleus/cluster/admin/readme b/nucleus/cluster/admin/readme
index ff33a09..00be977 100755
--- a/nucleus/cluster/admin/readme
+++ b/nucleus/cluster/admin/readme
@@ -28,7 +28,7 @@
 bunch-o-nodes
 
   <nodes>
-    <node node-host="chandu" name="ssh_node1" type="SSH" install-dir="/export/home/hudson/devtest-bnlocal/glassfish6-xyz">
+    <node node-host="chandu" name="ssh_node1" type="SSH" install-dir="/export/home/hudson/devtest-bnlocal/glassfish7-xyz">
       <ssh-connector>
         <ssh-auth user-name="hudson"></ssh-auth>
       </ssh-connector>
diff --git a/nucleus/cluster/cli/pom.xml b/nucleus/cluster/cli/pom.xml
index edca153..7fcc636 100755
--- a/nucleus/cluster/cli/pom.xml
+++ b/nucleus/cluster/cli/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.cluster</groupId>
         <artifactId>cluster</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cluster-cli</artifactId>
diff --git a/nucleus/cluster/cli/src/main/java/com/sun/enterprise/admin/cli/cluster/ImportSyncBundleCommand.java b/nucleus/cluster/cli/src/main/java/com/sun/enterprise/admin/cli/cluster/ImportSyncBundleCommand.java
index c70ac0f..beb3d8f 100644
--- a/nucleus/cluster/cli/src/main/java/com/sun/enterprise/admin/cli/cluster/ImportSyncBundleCommand.java
+++ b/nucleus/cluster/cli/src/main/java/com/sun/enterprise/admin/cli/cluster/ImportSyncBundleCommand.java
@@ -50,7 +50,7 @@
  * import-sync-bundle applies the content under ${com.sun.aas.instanceRoot}/
  * directory. Synchronization cookie with DAS's timestamp should be created.
  * It also creates das.properties (if not present) under agent dir (ex.
- * installRoot/glassfish6/glassfish/nodes/<host-name>/agent/config/das.properties).
+ * installRoot/glassfish7/glassfish/nodes/<host-name>/agent/config/das.properties).
  *
  * Before running this command the instance should already have been registered in
  * DAS (server element created in DAS domain.xml) by running create-instance.
@@ -76,10 +76,10 @@
  *
  * --node         name of the node; this is optional. The command fails if there
  * is more than one node under the default location
- * (installRoot/glassfish6/glassfish/nodes/<host-name>/)
+ * (installRoot/glassfish7/glassfish/nodes/<host-name>/)
  *
  * --nodedir      parent dir where node is created; this is optional. Default
- * location is installRoot/glassfish6/glassfish/nodes/
+ * location is installRoot/glassfish7/glassfish/nodes/
  *
  * --file         sync bundle created by export-sync-bundle
  *
diff --git a/nucleus/cluster/common/pom.xml b/nucleus/cluster/common/pom.xml
index b1ca0d6..5340398 100644
--- a/nucleus/cluster/common/pom.xml
+++ b/nucleus/cluster/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.cluster</groupId>
         <artifactId>cluster</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cluster-common</artifactId>
diff --git a/nucleus/cluster/common/src/test/java/com/sun/enterprise/util/cluster/PathsTest.java b/nucleus/cluster/common/src/test/java/com/sun/enterprise/util/cluster/PathsTest.java
index 9847d04..30ced91 100644
--- a/nucleus/cluster/common/src/test/java/com/sun/enterprise/util/cluster/PathsTest.java
+++ b/nucleus/cluster/common/src/test/java/com/sun/enterprise/util/cluster/PathsTest.java
@@ -35,7 +35,7 @@
  * @author wnevins
  */
 public class PathsTest {
-    private static final String SPECIFIED_INSTALL_DIR = "D:/glassfish6";
+    private static final String SPECIFIED_INSTALL_DIR = "D:/glassfish7";
     private static final String NODE_NAME = "thenode";
     private static final String SPECIFIED_NODES_DIR = SPECIFIED_INSTALL_DIR + "/glassfish/mynodes";
     private static final String SPECIFIED_NODE_DIR = SPECIFIED_NODES_DIR + "/" + NODE_NAME;
diff --git a/nucleus/cluster/gms-adapter/pom.xml b/nucleus/cluster/gms-adapter/pom.xml
index a8a187b..3285593 100644
--- a/nucleus/cluster/gms-adapter/pom.xml
+++ b/nucleus/cluster/gms-adapter/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.cluster</groupId>
         <artifactId>cluster</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gms-adapter</artifactId>
diff --git a/nucleus/cluster/gms-bootstrap/pom.xml b/nucleus/cluster/gms-bootstrap/pom.xml
index 3b557e0..069af0c 100644
--- a/nucleus/cluster/gms-bootstrap/pom.xml
+++ b/nucleus/cluster/gms-bootstrap/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.cluster</groupId>
         <artifactId>cluster</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gms-bootstrap</artifactId>
diff --git a/nucleus/cluster/pom.xml b/nucleus/cluster/pom.xml
index fc64f30..ba384ae 100755
--- a/nucleus/cluster/pom.xml
+++ b/nucleus/cluster/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.cluster</groupId>
diff --git a/nucleus/cluster/ssh/pom.xml b/nucleus/cluster/ssh/pom.xml
index 4d9a609..e794bc5 100644
--- a/nucleus/cluster/ssh/pom.xml
+++ b/nucleus/cluster/ssh/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.cluster</groupId>
         <artifactId>cluster</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>cluster-ssh</artifactId>
diff --git a/nucleus/common/amx-core/pom.xml b/nucleus/common/amx-core/pom.xml
index e1cf748..662d597 100755
--- a/nucleus/common/amx-core/pom.xml
+++ b/nucleus/common/amx-core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>amx-core</artifactId>
diff --git a/nucleus/common/common-util/pom.xml b/nucleus/common/common-util/pom.xml
index a9f2606..7e9bcd0 100755
--- a/nucleus/common/common-util/pom.xml
+++ b/nucleus/common/common-util/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>common-util</artifactId>
diff --git a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java
index 2a20914..0e9c61e 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java
@@ -191,7 +191,7 @@
         // these are only accessible via the web-container name so all values should be the same
         props.setProperty("org.apache.catalina.level", value);
         props.setProperty("org.apache.coyote.level", value);
-        props.setProperty("org.apache.jasper.level", value);
+        props.setProperty("org.glassfish.wasp.level", value);
     }
 
     /**
diff --git a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java
index eced79c..8b73cc0 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java
@@ -170,7 +170,7 @@
  * One option that was thought of to smooth this over was to see
  * if the caller of println is Throwable.[some set of methods].
  * Unfortunately, there are others who interpose on System.out and err
- * (like jasper) which makes that check untenable.
+ * (like WaSP) which makes that check untenable.
  * Hence the logic currently used is to see if there is a println(Throwable)
  * and do a printStackTrace and log the complete StackTrace ourselves.
  * If this is followed by a series of printlns, then we keep ignoring
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/collections/CollectionUtils.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/collections/CollectionUtils.java
index 029402b..47699d2 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/collections/CollectionUtils.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/collections/CollectionUtils.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,52 +17,63 @@
 
 package com.sun.enterprise.universal.collections;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
 
 /**
  * all-static methods for handling operations with Collections
+ *
  * @author bnevins
  */
 public class CollectionUtils {
+
+    private static final String EOL = System.getProperty("line.separator");
+
     private CollectionUtils() {
 
     }
+
     /**
-     * Convert a Properties object, which is a Map<Object,Object> into
-     * a Map<String,String>
+     * Convert a Properties object, which is a <code>Map&lt;Object,Object></code> into a <code<Map&lt;String,String></code>
+     *
      * @param p The Properties object to convert
      * @return The converted Map
      */
-    public static Map<String,String> propertiesToStringMap(Properties p)
-    {
-        Map<String,String> map = new HashMap<String,String>();
-        Set<Map.Entry<Object,Object>> entries = p.entrySet();
+    public static Map<String, String> propertiesToStringMap(Properties p) {
+        Map<String, String> map = new HashMap<>();
+        Set<Map.Entry<Object, Object>> entries = p.entrySet();
 
-        for(Map.Entry<Object,Object> entry : entries) {
+        for (Map.Entry<Object, Object> entry : entries) {
             Object name = entry.getKey();
             Object value = entry.getValue();
 
-            if(name == null)
-                continue; // impossible.  Ignore if I was wrong...
-            if(value == null)
+            if (name == null) {
+                continue; // impossible. Ignore if I was wrong...
+            }
+            if (value == null) {
                 map.put(name.toString(), null);
-            else
+            } else {
                 map.put(name.toString(), value.toString());
+            }
         }
+
         return map;
     }
 
     /**
-     * Tired of dumping a String representation of a Map?
-     * Then call me!
+     * Tired of dumping a String representation of a Map? Then call me!
+     *
      * @param map The map to turn into a printable String
      * @return The pretty String
      */
-    public static String toString(Map<String,String> map) {
+    public static String toString(Map<String, String> map) {
         String[] arr = toStringArray(map);
         StringBuilder sb = new StringBuilder();
 
-        for(String s : arr) {
+        for (String s : arr) {
             sb.append(s);
             sb.append(EOL);
         }
@@ -70,59 +82,65 @@
 
     /**
      * Convert a String[] into a space-delimited String
+     *
      * @param arr The String array to convert
      * @return The pretty String
      */
     public static String toString(String[] arr) {
         StringBuilder sb = new StringBuilder();
-        for(String s : arr) {
+        for (String s : arr) {
             sb.append(s);
             sb.append(' ');
         }
         return sb.toString();
     }
+
     /**
      * Convert a String[] into a newline-delimited String
+     *
      * @param arr The String array to convert
      * @return The pretty String
      */
     public static String toStringLines(String[] arr) {
         StringBuilder sb = new StringBuilder();
-        for(String s : arr) {
+        for (String s : arr) {
             sb.append(s);
             sb.append('\n');
         }
         return sb.toString();
     }
+
     /**
      * Convert a List of String into a space-delimited String
+     *
      * @param arr The String array to convert
      * @return The pretty String
      */
     public static String toString(List<String> list) {
         StringBuilder sb = new StringBuilder();
-        for(String s : list) {
+        for (String s : list) {
             sb.append(s);
             sb.append(' ');
         }
         return sb.toString();
     }
 
-    public static String[] toStringArray(Map<String,String> map) {
+    public static String[] toStringArray(Map<String, String> map) {
         Set<String> set = map.keySet();
         String[] ss = new String[map.size()];
         int i = 0;
 
-        for(String name : set) {
+        for (String name : set) {
             String value = map.get(name);
             String s = name;
 
-            if(value != null) {
+            if (value != null) {
                 s += "=" + value;
             }
             ss[i++] = s;
         }
+
         return ss;
     }
-    private static final String EOL = System.getProperty("line.separator");
+
 }
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/process/Jps.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/process/Jps.java
index 6d055c0..63263b0 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/process/Jps.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/universal/process/Jps.java
@@ -146,7 +146,7 @@
      <pre>
      2524 sun.tools.jps.Jps
      5324 com.sun.enterprise.glassfish.bootstrap.ASMain
-     4120 D:\glassfish6\glassfish\bin\..\modules\admin-cli.jar
+     4120 D:\glassfish7\glassfish\bin\..\modules\admin-cli.jar
      </pre>
      * If there is a path -- then there is no classname and vice-versa
      * @param s
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java
index c6bd714..69a0314 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java
@@ -33,87 +33,92 @@
      */
     public static String prettyPrintExceptionMessage(String message) {
         StringBuilder messageBuilder = new StringBuilder();
-        int index = message.indexOf("Unable to resolve");
-        int indent = 0;
-        while (index >= 0) {
-            printLn(messageBuilder, indent, "Unable to resolve");
-            index += "Unable to resolve".length();
+        try {
+            int index = message.indexOf("Unable to resolve");
+            int indent = 0;
+            while (index >= 0) {
+                printLn(messageBuilder, indent, "Unable to resolve");
+                index += "Unable to resolve".length();
 
-            int index2 = message.indexOf("missing requirement", index);
-            if (index2 >= 0) {
-
-                indent++;
-
-                // Module name would be e.g.
-                // org.glassfish.server.internal.batch.glassfish-batch-connector [103](R 103.0):
-                String module = message.substring(index, index2);
-
-                // Remove the duplicate number
-                if (module.contains("(R")) {
-                    module = module.substring(0, module.indexOf("(R"));
-                }
-
-                printLn(messageBuilder, indent, module);
-                printLn(messageBuilder, indent, "missing requirement");
-
-                index = index2 + "missing requirement".length();
-
-                // In GlassFish and in a classloader the search is always for package, so we can
-                // use that as a delimiter here
-                index = message.indexOf("osgi.wiring.package; ", index);
-                if (index >= 0) {
+                int index2 = message.indexOf("missing requirement", index);
+                if (index2 >= 0) {
 
                     indent++;
 
-                    // Remainder of input now looks like this:
+                    // Module name would be e.g.
+                    // org.glassfish.server.internal.batch.glassfish-batch-connector [103](R 103.0):
+                    String module = message.substring(index, index2);
 
-                    // osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.grizzly)(version>=2.4.0)(!(version>=3.0.0)))
-
-                    // Skip over "osgi.wiring.package; ", we're always searching for this so
-                    // no need to print it.
-                    index += "osgi.wiring.package; ".length();
-
-                    // Now extracting this:
-                    // "(&(osgi.wiring.package=org.glassfish.grizzly)(version>=2.4.0)(!(version>=3.0.0)))"
-                    index2 = message.indexOf(" ", index);
-
-                    String packageAndVersion = message.substring(index, index2);
-
-                    // Make it a little less "cramped"
-                    // "(&(package=org.glassfish.grizzly) (version>=2.4.0) (!(version>=3.0.0)))"
-                    packageAndVersion = packageAndVersion.replace("osgi.wiring.package", "package");
-                    packageAndVersion = packageAndVersion.replace(")(", ") (");
-                    packageAndVersion = packageAndVersion.replace("=", " = ");
-                    packageAndVersion = packageAndVersion.replace("> =", " >=");
-                    packageAndVersion = packageAndVersion.replace("< =", " <=");
-
-                    // Remove outer braces
-                    // "&(package=org.glassfish.grizzly) (version>=2.4.0) (!(version>=3.0.0))"
-                    if (packageAndVersion.startsWith("(")) {
-                        packageAndVersion = packageAndVersion.substring(1);
-                    }
-                    if (packageAndVersion.endsWith(")")) {
-                        packageAndVersion = packageAndVersion.substring(0, packageAndVersion.length()-1);
+                    // Remove the duplicate number
+                    if (module.contains("(R")) {
+                        module = module.substring(0, module.indexOf("(R"));
                     }
 
-                    printLn(messageBuilder, indent, packageAndVersion);
+                    printLn(messageBuilder, indent, module);
+                    printLn(messageBuilder, indent, "missing requirement");
 
-                    // If there's a "caused by:", print it and increase the indent
-                    index = message.indexOf("caused by: ", index2);
+                    index = index2 + "missing requirement".length();
+
+                    // In GlassFish and in a classloader the search is always for package, so we can
+                    // use that as a delimiter here
+                    index = message.indexOf("osgi.wiring.package; ", index);
                     if (index >= 0) {
 
-                        printLn(messageBuilder, indent, "caused by:");
-
                         indent++;
-                        index += "caused by: ".length();
+
+                        // Remainder of input now looks like this:
+
+                        // osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.grizzly)(version>=2.4.0)(!(version>=3.0.0)))
+
+                        // Skip over "osgi.wiring.package; ", we're always searching for this so
+                        // no need to print it.
+                        index += "osgi.wiring.package; ".length();
+
+                        // Now extracting this:
+                        // "(&(osgi.wiring.package=org.glassfish.grizzly)(version>=2.4.0)(!(version>=3.0.0)))"
+                        index2 = message.indexOf(" ", index);
+
+                        String packageAndVersion = message.substring(index, index2);
+
+                        // Make it a little less "cramped"
+                        // "(&(package=org.glassfish.grizzly) (version>=2.4.0) (!(version>=3.0.0)))"
+                        packageAndVersion = packageAndVersion.replace("osgi.wiring.package", "package");
+                        packageAndVersion = packageAndVersion.replace(")(", ") (");
+                        packageAndVersion = packageAndVersion.replace("=", " = ");
+                        packageAndVersion = packageAndVersion.replace("> =", " >=");
+                        packageAndVersion = packageAndVersion.replace("< =", " <=");
+
+                        // Remove outer braces
+                        // "&(package=org.glassfish.grizzly) (version>=2.4.0) (!(version>=3.0.0))"
+                        if (packageAndVersion.startsWith("(")) {
+                            packageAndVersion = packageAndVersion.substring(1);
+                        }
+                        if (packageAndVersion.endsWith(")")) {
+                            packageAndVersion = packageAndVersion.substring(0, packageAndVersion.length()-1);
+                        }
+
+                        printLn(messageBuilder, indent, packageAndVersion);
+
+                        // If there's a "caused by:", print it and increase the indent
+                        index = message.indexOf("caused by: ", index2);
+                        if (index >= 0) {
+
+                            printLn(messageBuilder, indent, "caused by:");
+
+                            indent++;
+                            index += "caused by: ".length();
+                        }
                     }
+
                 }
 
+                index = index2;
+
+                index = message.indexOf("Unable to resolve", index);
             }
-
-            index = index2;
-
-            index = message.indexOf("Unable to resolve", index);
+        } catch (Exception e) {
+            // too bad
+            return message;
         }
 
         return messageBuilder.toString();
@@ -148,17 +153,16 @@
     }
 
     public static void main(String[] args) {
-        String test = "Caused by: org.osgi.framework.BundleException: Unable to resolve org.glassfish.server.internal.batch.glassfish-batch-connector [103](R 103.0): missing requirement [org.glassfish.server.internal.batch.glassfish-batch-connector [103](R 103.0)] osgi.wiring.package; (osgi.wiring.package=com.ibm.jbatch.spi) [caused by: Unable to resolve org.glassfish.server.internal.batch.payara-jbatch [325](R 325.0): missing requirement [org.glassfish.server.internal.batch.payara-jbatch [325](R 325.0)] osgi.wiring.package; (osgi.wiring.package=org.glassfish.weld) [caused by: Unable to resolve org.glassfish.server.internal.web.weld-integration [395](R 395.0): missing requirement [org.glassfish.server.internal.web.weld-integration [395](R 395.0)] osgi.wiring.package; (&(osgi.wiring.package=com.sun.faces.spi)(version>=2.3.0)(!(version>=3.0.0)))]] Unresolved requirements: [[org.glassfish.server.internal.batch.glassfish-batch-connector [103](R 103.0)] osgi.wiring.package; (osgi.wiring.package=com.ibm.jbatch.spi)]";
+        String test = "org.osgi.framework.BundleException: Unable to resolve org.glassfish.main.webservices.connector [207](R 207.0): missing requirement [org.glassfish.main.webservices.connector [207](R 207.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.xml.ws)(version>=3.0.0)(!(version>=4.0.0))) [caused by: Unable to resolve org.glassfish.metro.webservices-api-osgi [236](R 236.0): missing requirement [org.glassfish.metro.webservices-api-osgi [236](R 236.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.xml.bind)(version>=3.0.0)(!(version>=4.0.0)))] Unresolved requirements: [[org.glassfish.main.webservices.connector [207](R 207.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.xml.ws)(version>=3.0.0)(!(version>=4.0.0)))]"
+                + "";
 
         String test1 = prettyPrintExceptionMessage(test);
 
         List<Integer> ids = findBundleIds(test1);
 
-        String test2 = prettyPrintExceptionMessage(" (java.lang.String) Unable to resolve org.glassfish.jersey.containers.jersey-container-grizzly2-http [142](R 142.0): missing requirement [org.glassfish.jersey.containers.jersey-container-grizzly2-http [142](R 142.0)] osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.grizzly)(version>=2.4.0)(!(version>=3.0.0))) Unresolved requirements: [[org.glassfish.jersey.containers.jersey-container-grizzly2-http [142](R 142.0)] osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.grizzly)(version>=2.4.0)(!(version>=3.0.0)))]");
+        String test2 = prettyPrintExceptionMessage(" Unable to resolve org.glassfish.main.resources.mail-connector [29](R 29.0): missing requirement [org.glassfish.main.resources.mail-connector [29](R 29.0)] osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.resources.admin.cli)(version>=7.0.0)(!(version>=8.0.0))) [caused by: Unable to resolve org.glassfish.main.resources.connector [217](R 217.0): missing requirement [org.glassfish.main.resources.connector [217](R 217.0)] osgi.wiring.package; (&(osgi.wiring.package=com.sun.enterprise.repository)(version>=7.0.0)(!(version>=8.0.0))) [caused by: Unable to resolve org.glassfish.main.deployment.dol [284](R 284.0): missing requirement [org.glassfish.main.deployment.dol [284](R 284.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.enterprise.inject.spi)(version>=3.0.0)(!(version>=4.0.0))) [caused by: Unable to resolve jakarta.enterprise.cdi-api [127](R 127.0): missing requirement [jakarta.enterprise.cdi-api [127](R 127.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.enterprise.lang.model)(version>=4.0.0)(!(version>=5.0.0)))]]] Unresolved requirements: [[org.glassfish.main.resources.mail-connector [29](R 29.0)] osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.resources.admin.cli)(version>=7.0.0)(!(version>=8.0.0)))] ");
 
-        System.out.println(test1);
-        System.out.println(ids.toString());
-        System.out.println("\n\n");
+
         System.out.println(test2);
     }
 
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/SystemPropertyConstants.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/SystemPropertyConstants.java
index 6d58e59..6c2fefe 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/SystemPropertyConstants.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/SystemPropertyConstants.java
@@ -312,7 +312,7 @@
 
     /**
      * Returns the component identifier associated with the INSTALL_ROOT. For example if INSTALL_ROOT is
-     * /home/glassfish6/glassfish the component name will "glassfish".
+     * /home/glassfish7/glassfish the component name will "glassfish".
      *
      * @return String representing the component identifier.
      */
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/InstanceDirs.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/InstanceDirs.java
index b702ccc..25b2030 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/InstanceDirs.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/InstanceDirs.java
@@ -28,11 +28,11 @@
  * when working with invalid directories...
  *
  * Example:
- * new InstanceDirs(new File("/glassfish6/glassfish/nodes/mymachine/instance1"));
+ * new InstanceDirs(new File("/glassfish7/glassfish/nodes/mymachine/instance1"));
  *
- * getInstanceDir()   == /glassfish6/glassfish/nodes/mymachine/instance1
- * getNodeAgentDir()  == /glassfish6/glassfish/nodes/mymachine
- * getNodeAgentsDir() == /glassfish6/glassfish/nodes
+ * getInstanceDir()   == /glassfish7/glassfish/nodes/mymachine/instance1
+ * getNodeAgentDir()  == /glassfish7/glassfish/nodes/mymachine
+ * getNodeAgentsDir() == /glassfish7/glassfish/nodes
  * getInstanceName()  == instance1
  *
  *
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/ServerDirs.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/ServerDirs.java
index 98c49e6..895d236 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/ServerDirs.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/io/ServerDirs.java
@@ -32,14 +32,14 @@
  *
  * examples:
  * DAS
- * domainDir = getServerDir() == C:/glassfish6/glassfish/domains/domain1
- * domainsDir = getServerParentDir() == C:/glassfish6/glassfish/domains
+ * domainDir = getServerDir() == C:/glassfish7/glassfish/domains/domain1
+ * domainsDir = getServerParentDir() == C:/glassfish7/glassfish/domains
  * grandparent-dir is meaningless
  *
  * Instance
- * instanceDir = getServerDir() == C:/glassfish6/glassfish/nodes/mymachine/instance1
- * agentDir = getServerParentDir() == C:/glassfish6/glassfish/nodes/mymachine
- * agentsDir = getServerGrandParentDir() == C:/glassfish6/glassfish/nodes
+ * instanceDir = getServerDir() == C:/glassfish7/glassfish/nodes/mymachine/instance1
+ * agentDir = getServerParentDir() == C:/glassfish7/glassfish/nodes/mymachine
+ * agentsDir = getServerGrandParentDir() == C:/glassfish7/glassfish/nodes
  *
  * Currently in all cases the name of the serverDir is the name of the server --
  * by our definition.
@@ -79,11 +79,13 @@
     }
 
     public ServerDirs(File leaf) throws IOException {
-        if (leaf == null)
+        if (leaf == null) {
             throw new IllegalArgumentException(strings.get("ServerDirs.nullArg", "ServerDirs.ServerDirs()"));
+        }
 
-        if (!leaf.isDirectory())
+        if (!leaf.isDirectory()) {
             throw new IOException(strings.get("ServerDirs.badDir", leaf));
+        }
 
         serverDir = SmartFile.sanitize(leaf);
         serverName = serverDir.getName();
@@ -92,8 +94,9 @@
         // about getParentFile() which has issues with relative paths...
         parentDir = serverDir.getParentFile();
 
-        if (parentDir == null || !parentDir.isDirectory())
+        if (parentDir == null || !parentDir.isDirectory()) {
             throw new IOException(strings.get("ServerDirs.badParentDir", serverDir));
+        }
 
         // grandparent dir is optional.  It can be null for DAS for instance...
         grandParentDir = parentDir.getParentFile();
@@ -130,8 +133,9 @@
     }
 
     public final String getServerName() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
 
         return serverName;
     }
@@ -141,11 +145,13 @@
      * @return
      */
     public final String deletePidFile() {
-        if (!valid)
+        if (!valid) {
             return "Internal Error: ServerDirs is in an invalid state";
+        }
 
-        if (!pidFile.isFile())
+        if (!pidFile.isFile()) {
             return null;
+        }
 
         String message = "pid file " + pidFile + " exists, removing it.";
 
@@ -163,46 +169,53 @@
 
     // getters & setters section below
     public final File getServerDir() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
         return serverDir;
     }
 
     public final File getAgentDir(){
-         if (!valid)
+         if (!valid) {
             return null;
+        }
         return agentDir;
     }
 
     public final File getServerParentDir() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
         return parentDir;
     }
 
     public final File getServerGrandParentDir() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
         return grandParentDir;
     }
 
     public final File getDomainXml() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
 
         return domainXml;
     }
 
     public final File getConfigDir() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
 
         return configDir;
     }
 
     public final File getPidFile() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
 
         return pidFile;
     }
@@ -216,8 +229,9 @@
     }
 
     public final File getLocalPasswordFile() {
-        if (!valid)
+        if (!valid) {
             return null;
+        }
 
         return localPasswordFile;
     }
diff --git a/nucleus/common/common-util/src/main/java/org/glassfish/common/util/admin/GlassFishErrorServiceImpl.java b/nucleus/common/common-util/src/main/java/org/glassfish/common/util/admin/GlassFishErrorServiceImpl.java
index d2d8181..b4ef314 100644
--- a/nucleus/common/common-util/src/main/java/org/glassfish/common/util/admin/GlassFishErrorServiceImpl.java
+++ b/nucleus/common/common-util/src/main/java/org/glassfish/common/util/admin/GlassFishErrorServiceImpl.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2021 Contributors to Eclipse Foundation.
  * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -18,27 +19,70 @@
 
 import jakarta.inject.Singleton;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import org.glassfish.hk2.api.ErrorInformation;
 import org.glassfish.hk2.api.ErrorService;
 import org.glassfish.hk2.api.MultiException;
 import org.jvnet.hk2.annotations.Service;
+import org.osgi.framework.BundleException;
+
+import com.sun.enterprise.util.FelixPrettyPrinter;
 
 /**
  * @author jwells
  *
  */
-@Service @Singleton
+@Service
+@Singleton
 public class GlassFishErrorServiceImpl implements ErrorService {
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
+     *
      * @see org.glassfish.hk2.api.ErrorService#onFailure(org.glassfish.hk2.api.ErrorInformation)
      */
     @Override
-    public void onFailure(ErrorInformation errorInformation)
-            throws MultiException {
+    public void onFailure(ErrorInformation errorInformation) throws MultiException {
         if (errorInformation.getAssociatedException() != null) {
+            MultiException multiException = errorInformation.getAssociatedException();
+
+            Set<String> bundleMessages = new HashSet<>();
+            Set<String> stateMessages = new HashSet<>();
+
+            for (Throwable throwable : multiException.getErrors()) { // throwable, error, exception, what's in a name?
+                String bundleText = findBundleExceptionText(throwable);
+                if (bundleText != null) {
+                    bundleMessages.add(bundleText);
+                }
+
+                if (throwable instanceof IllegalStateException) {
+                    stateMessages.add(throwable.getMessage());
+                }
+            }
+
+            for (String stateMessage : stateMessages) {
+                bundleMessages.remove(stateMessage);
+            }
+
+            for (String bundleMessage : bundleMessages) {
+                multiException.addError(new IllegalStateException(bundleMessage));
+            }
+
             throw errorInformation.getAssociatedException();
         }
+    }
 
+    String findBundleExceptionText(Throwable throwable) {
+        while (throwable != null) {
+            if (throwable instanceof BundleException) {
+                BundleException bundleException = (BundleException) throwable;
+                return FelixPrettyPrinter.prettyPrintExceptionMessage(bundleException.getMessage());
+            }
+            throwable = throwable.getCause();
+        }
+
+        return null;
     }
 
 }
diff --git a/nucleus/common/glassfish-api/pom.xml b/nucleus/common/glassfish-api/pom.xml
index 684d1fe..2037f1f 100644
--- a/nucleus/common/glassfish-api/pom.xml
+++ b/nucleus/common/glassfish-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/nucleus/common/internal-api/pom.xml b/nucleus/common/internal-api/pom.xml
index f6cfa07..3fc633d 100644
--- a/nucleus/common/internal-api/pom.xml
+++ b/nucleus/common/internal-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>internal-api</artifactId>
diff --git a/nucleus/common/mbeanserver/pom.xml b/nucleus/common/mbeanserver/pom.xml
index 3e4c3a1..b6631a8 100755
--- a/nucleus/common/mbeanserver/pom.xml
+++ b/nucleus/common/mbeanserver/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-mbeanserver</artifactId>
diff --git a/nucleus/common/pom.xml b/nucleus/common/pom.xml
index 96d8a89..ba2ed85 100755
--- a/nucleus/common/pom.xml
+++ b/nucleus/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.common</groupId>
diff --git a/nucleus/common/scattered-archive-api/pom.xml b/nucleus/common/scattered-archive-api/pom.xml
index aaa676a..0332e1d 100644
--- a/nucleus/common/scattered-archive-api/pom.xml
+++ b/nucleus/common/scattered-archive-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/nucleus/common/simple-glassfish-api/pom.xml b/nucleus/common/simple-glassfish-api/pom.xml
index 49f20bb..c7c514a 100644
--- a/nucleus/common/simple-glassfish-api/pom.xml
+++ b/nucleus/common/simple-glassfish-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>simple-glassfish-api</artifactId>
diff --git a/nucleus/core/api-exporter/pom.xml b/nucleus/core/api-exporter/pom.xml
index 59b2cf9..5225f04 100755
--- a/nucleus/core/api-exporter/pom.xml
+++ b/nucleus/core/api-exporter/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>nucleus-core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>api-exporter</artifactId>
diff --git a/nucleus/core/bootstrap/pom.xml b/nucleus/core/bootstrap/pom.xml
index f40fcc6..670fde6 100755
--- a/nucleus/core/bootstrap/pom.xml
+++ b/nucleus/core/bootstrap/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>nucleus-core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish</artifactId>
diff --git a/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/osgi/GlassFishMainActivator.java b/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/osgi/GlassFishMainActivator.java
index d23fdf4..3572342 100644
--- a/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/osgi/GlassFishMainActivator.java
+++ b/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/osgi/GlassFishMainActivator.java
@@ -34,7 +34,7 @@
  * in an existing OSGi runtime. It expects install root and instance root
  * to be set via framework context properties called com.sun.aas.installRoot and com.sun.aas.instanceRoot
  * respectively. The former one refers to the directory where glassfish is installed.
- * (e.g., /tmp/glassfish6/glassfish)
+ * (e.g., /tmp/glassfish7/glassfish)
  * The latter one refers to the domain directory - this is a directory containing
  * configuration information and deployed applications, etc.
  * If instance root is not set, it defaults to $installRoot/domains/domain1/.
diff --git a/nucleus/core/context-propagation/pom.xml b/nucleus/core/context-propagation/pom.xml
index 57422dc..89cdcd6 100644
--- a/nucleus/core/context-propagation/pom.xml
+++ b/nucleus/core/context-propagation/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>nucleus-core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>context-propagation</artifactId>
diff --git a/nucleus/core/extra-jre-packages/pom.xml b/nucleus/core/extra-jre-packages/pom.xml
index 3b7a25d..56dda64 100755
--- a/nucleus/core/extra-jre-packages/pom.xml
+++ b/nucleus/core/extra-jre-packages/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>nucleus-core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-extra-jre-packages</artifactId>
diff --git a/nucleus/core/kernel/osgi.bundle b/nucleus/core/kernel/osgi.bundle
index d9ab648..baa3906 100644
--- a/nucleus/core/kernel/osgi.bundle
+++ b/nucleus/core/kernel/osgi.bundle
@@ -36,5 +36,5 @@
 Import-Package: \
     com.sun.enterprise.server.logging.*; resolution:=optional, \
     org.jvnet.tiger_types;version="${project.version}", \
-    org.hibernate.validator.*;resolution:=optional;version="${hibernate-validator.version}", \
+    org.hibernate.validator.*;resolution:=optional;version="[7.0.0,8.0.0)", \
     *
diff --git a/nucleus/core/kernel/pom.xml b/nucleus/core/kernel/pom.xml
index 0103c3b..54a5248 100755
--- a/nucleus/core/kernel/pom.xml
+++ b/nucleus/core/kernel/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>nucleus-core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>kernel</artifactId>
@@ -180,8 +180,8 @@
         </dependency>
         <!-- Dependency of Hibernate Validator -->
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
         <!-- Required by the cluster replication despite we don't do any - ConfigAttributeSetTest fails without it -->
diff --git a/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/adapter/AdminConsoleAdapter.java b/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/adapter/AdminConsoleAdapter.java
index 3d24c9e..6f43ba8 100644
--- a/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/adapter/AdminConsoleAdapter.java
+++ b/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/adapter/AdminConsoleAdapter.java
@@ -145,7 +145,7 @@
     }
 
     @Override
-    public final HttpHandler getHttpService() {
+    public HttpHandler getHttpService() {
         return this;
     }
 
@@ -460,7 +460,7 @@
             warFile = new File(iRoot.replace('/', File.separatorChar));
             writeAdminServiceProp(ServerTags.ADMIN_CONSOLE_DOWNLOAD_LOCATION, "${" + INSTALL_ROOT + "}/lib/install/applications/admingui.war");
         } else {
-            //For any non-absolute path, we start from the installation, ie glassfish6
+            //For any non-absolute path, we start from the installation, ie glassfish7
             //eg, v3 prelude upgrade, where the location property was "glassfish/lib..."
             String locValue = locProp.getValue();
             warFile = new File(locValue);
@@ -831,7 +831,7 @@
 //            return method;
 //        }
 //    }
-    private Method[] allowedHttpMethods = {Method.GET, Method.POST, Method.HEAD,
+    private final Method[] allowedHttpMethods = {Method.GET, Method.POST, Method.HEAD,
         Method.DELETE, Method.PUT};
 
     private boolean checkHttpMethodAllowed(Method method) {
diff --git a/nucleus/core/logging/pom.xml b/nucleus/core/logging/pom.xml
index 6e37df4..cc868a3 100755
--- a/nucleus/core/logging/pom.xml
+++ b/nucleus/core/logging/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.core</groupId>
         <artifactId>nucleus-core</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>logging</artifactId>
diff --git a/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java b/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java
index f403ab3..f514600 100644
--- a/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java
+++ b/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java
@@ -99,7 +99,8 @@
         {"synchronization",new String[] { "javax.ee.enterprise.system.tools.synchronization"} },
         {"web-container",  new String[] { LogDomains.WEB_LOGGER,
                                           "org.apache.catalina",
-                                          "org.apache.coyote","org.apache.jasper"
+                                          "org.apache.coyote",
+                                          "org.glassfish.wasp"
                                         } },
         {"group-management-service", new String[] { LogDomains.GMS_LOGGER} },
         {"node-agent",     new String[] { "javax.ee.enterprise.system.nodeagent" } },
diff --git a/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/odl-server.log b/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/odl-server.log
index a4a28e2..948c7a3 100644
--- a/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/odl-server.log
+++ b/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/odl-server.log
@@ -39,9 +39,9 @@
 	at org.apache.jsp.hello_jsp._jspService(hello_jsp.java:71)
 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
-	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
-	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
-	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
+	at org.glassfish.wasp.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
+	at org.glassfish.wasp.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
+	at org.glassfish.wasp.servlet.JspServlet.service(JspServlet.java:377)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
 	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1593)
 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:285)
diff --git a/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/uniform-server.log b/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/uniform-server.log
index 61ecb4d..1085ada 100644
--- a/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/uniform-server.log
+++ b/nucleus/core/logging/src/test/resources/com/sun/enterprise/server/logging/parser/uniform-server.log
@@ -200,7 +200,7 @@
 
 [#|2012-10-19T15:27:48.265-0400|SEVERE|44.0|org.glassfish.admingui|_ThreadID=90;_ThreadName=admin-listener(7);_TimeMillis=1350674868265;_LevelValue=1000;|RestResponse.getResponse() gives FAILURE.  endpoint = 'http://localhost:4848/management/domain/location'; attrs = '{}'|#]
 
-[#|2012-10-19T15:27:48.629-0400|WARNING|44.0|org.glassfish.admingui|_ThreadID=95;_ThreadName=Thread-20;_TimeMillis=1350674868629;_LevelValue=900;|Cannot create update center Image for /scratch/sanshriv/software/glassfish6; Update Center functionality will not be available in Admin Console|#]
+[#|2012-10-19T15:27:48.629-0400|WARNING|44.0|org.glassfish.admingui|_ThreadID=95;_ThreadName=Thread-20;_TimeMillis=1350674868629;_LevelValue=900;|Cannot create update center Image for /scratch/sanshriv/software/glassfish7; Update Center functionality will not be available in Admin Console|#]
 
 [#|2012-10-19T15:27:55.484-0400|WARNING|44.0|javax.enterprise.resource.webcontainer.jsf.context|_ThreadID=89;_ThreadName=admin-listener(6);_TimeMillis=1350674875484;_LevelValue=900;_MessageID=jsf.externalcontext.no.mime.type.found;|JSF1091: No mime type could be found for file /common/applications/applications.jsp.  To resolve this, add a mime-type mapping to the applications web.xml.|#]
 
@@ -245,9 +245,9 @@
 	at org.apache.jsp.hello_jsp._jspService(hello_jsp.java:71)
 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
-	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
-	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
-	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
+	at org.glassfish.wasp.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
+	at org.glassfish.wasp.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
+	at org.glassfish.wasp.servlet.JspServlet.service(JspServlet.java:377)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
 	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1593)
 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:285)
diff --git a/nucleus/core/pom.xml b/nucleus/core/pom.xml
index d114a0d..5bc9180 100644
--- a/nucleus/core/pom.xml
+++ b/nucleus/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.core</groupId>
diff --git a/nucleus/deployment/admin/pom.xml b/nucleus/deployment/admin/pom.xml
index d76bbf5..d14d2c9 100755
--- a/nucleus/deployment/admin/pom.xml
+++ b/nucleus/deployment/admin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>nucleus-deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>deployment-admin</artifactId>
diff --git a/nucleus/deployment/autodeploy/pom.xml b/nucleus/deployment/autodeploy/pom.xml
index 31fd716..c569db4 100755
--- a/nucleus/deployment/autodeploy/pom.xml
+++ b/nucleus/deployment/autodeploy/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>nucleus-deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>deployment-autodeploy</artifactId>
diff --git a/nucleus/deployment/common/pom.xml b/nucleus/deployment/common/pom.xml
index 48e2d26..2591d03 100755
--- a/nucleus/deployment/common/pom.xml
+++ b/nucleus/deployment/common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>nucleus-deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>deployment-common</artifactId>
diff --git a/nucleus/deployment/dtds/pom.xml b/nucleus/deployment/dtds/pom.xml
index a03a27c..3d77255 100644
--- a/nucleus/deployment/dtds/pom.xml
+++ b/nucleus/deployment/dtds/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>nucleus-deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>nucleus-dtds</artifactId>
diff --git a/nucleus/deployment/pom.xml b/nucleus/deployment/pom.xml
index cb7c810..0bfeb99 100755
--- a/nucleus/deployment/pom.xml
+++ b/nucleus/deployment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.deployment</groupId>
diff --git a/nucleus/deployment/schemas/pom.xml b/nucleus/deployment/schemas/pom.xml
index 7cebb92..b516e56 100644
--- a/nucleus/deployment/schemas/pom.xml
+++ b/nucleus/deployment/schemas/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.deployment</groupId>
         <artifactId>nucleus-deployment</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>nucleus-schemas</artifactId>
diff --git a/nucleus/diagnostics/context/pom.xml b/nucleus/diagnostics/context/pom.xml
index 5a225df..7b2a0e3 100644
--- a/nucleus/diagnostics/context/pom.xml
+++ b/nucleus/diagnostics/context/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.diagnostics</groupId>
         <artifactId>nucleus-diagnostics</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>diagnostics-context</artifactId>
diff --git a/nucleus/diagnostics/diagnostics-api/pom.xml b/nucleus/diagnostics/diagnostics-api/pom.xml
index 2f34742..4693ab8 100755
--- a/nucleus/diagnostics/diagnostics-api/pom.xml
+++ b/nucleus/diagnostics/diagnostics-api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.diagnostics</groupId>
         <artifactId>nucleus-diagnostics</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>diagnostics-api</artifactId>
diff --git a/nucleus/diagnostics/pom.xml b/nucleus/diagnostics/pom.xml
index dad0e7e..21da23d 100755
--- a/nucleus/diagnostics/pom.xml
+++ b/nucleus/diagnostics/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.diagnostics</groupId>
diff --git a/nucleus/distributions/atomic/pom.xml b/nucleus/distributions/atomic/pom.xml
index bc557be..f099dab 100644
--- a/nucleus/distributions/atomic/pom.xml
+++ b/nucleus/distributions/atomic/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.distributions</groupId>
         <artifactId>nucleus-distributions</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>atomic</artifactId>
diff --git a/nucleus/distributions/nucleus-common/pom.xml b/nucleus/distributions/nucleus-common/pom.xml
index b657374..d69b164 100644
--- a/nucleus/distributions/nucleus-common/pom.xml
+++ b/nucleus/distributions/nucleus-common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.distributions</groupId>
         <artifactId>nucleus-distributions</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>nucleus-common</artifactId>
diff --git a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc
index 374f78f..0336812 100644
--- a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc
+++ b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc
@@ -18,7 +18,7 @@
 AS_INSTALL=`dirname $0`/..
 AS_INSTALL_LIB=$AS_INSTALL/modules
 JSP_IMPL=$AS_INSTALL_LIB/wasp.jar
-EL_IMPL=$AS_INSTALL_LIB/jakarta.el.jar:$AS_INSTALL_LIB/jakarta.el-api.jar
+EL_IMPL=$AS_INSTALL_LIB/expressly:$AS_INSTALL_LIB/jakarta.el-api.jar
 JSTL_IMPL=$AS_INSTALL_LIB/jakarta.servlet.jsp.jstl.jar
 AS_LIB=$AS_INSTALL/lib
 JAVAEE_API=$AS_LIB/javaee.jar
diff --git a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat
index 1db1b2d..1da8773 100644
--- a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat
+++ b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat
@@ -19,7 +19,7 @@
 

 set AS_INSTALL_LIB=%~dp0..\modules

 set JSP_IMPL=%AS_INSTALL_LIB%\wasp.jar

-set EL_IMPL=%AS_INSTALL_LIB%\jakarta.el.jar;%AS_INSTALL_LIB%\jakarta.el-api.jar

+set EL_IMPL=%AS_INSTALL_LIB%\expressly;%AS_INSTALL_LIB%\jakarta.el-api.jar

 set JSTL_IMPL=%AS_INSTALL_LIB%\jakarta.servlet.jsp.jstl.jar

 set AS_LIB=%~dp0..\lib

 set JAVAEE_API=%AS_LIB%\javaee.jar

diff --git a/nucleus/distributions/nucleus-common/src/main/resources/docs/about.html b/nucleus/distributions/nucleus-common/src/main/resources/docs/about.html
index da81f172..0de95f3 100644
--- a/nucleus/distributions/nucleus-common/src/main/resources/docs/about.html
+++ b/nucleus/distributions/nucleus-common/src/main/resources/docs/about.html
@@ -45,7 +45,7 @@
 <td align="right" valign="top"> <a href="http://www.oracle.com">oracle.com</a> </td>
 </tr>
 <tr>
-<td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff"><b>GlassFish Server 5.1</b></font></td>
+<td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff"><b>GlassFish Server 7</b></font></td>
 </tr>
 </tbody>
 </table> <h1>GlassFish Server - Installation Complete</h1>
diff --git a/nucleus/distributions/nucleus-common/src/main/resources/docs/copyright.html b/nucleus/distributions/nucleus-common/src/main/resources/docs/copyright.html
index 7105bf6..afad202 100644
--- a/nucleus/distributions/nucleus-common/src/main/resources/docs/copyright.html
+++ b/nucleus/distributions/nucleus-common/src/main/resources/docs/copyright.html
@@ -35,11 +35,11 @@
 	a:visited{color:#917E9C}
 	a:hover {text-decoration:underline}
 </style>
-<title>GlassFish Server 5.1</title>
+<title>GlassFish Server 7</title>
 </head>
 <body><table width="100%" border="0" cellspacing="4" cellpadding="2">
 <tbody>
-<tr><td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff">&nbsp;&nbsp;<b> GlassFish Server 5.1</b></font>&nbsp; </td></tr>
+<tr><td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff">&nbsp;&nbsp;<b> GlassFish Server 7</b></font>&nbsp; </td></tr>
 </tbody>
 </table><!--startindex-->
 <p>Copyright &copy; 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
diff --git a/nucleus/distributions/nucleus-common/src/main/resources/docs/features.html b/nucleus/distributions/nucleus-common/src/main/resources/docs/features.html
index 785aacf..71c8e86 100755
--- a/nucleus/distributions/nucleus-common/src/main/resources/docs/features.html
+++ b/nucleus/distributions/nucleus-common/src/main/resources/docs/features.html
@@ -36,16 +36,16 @@
 	a:visited{color:#917E9C}
 	a:hover {text-decoration:underline}
 </style>
-<title>GlassFish Server 5.1 - Features and Resources</title>
+<title>GlassFish Server 7 - Features and Resources</title>
 </head>
 <body bgcolor="#ffffff" text="#000000" link="#594fbf" vlink="#1005fb" alink="#333366">
 <table width="100%" border="0" cellspacing="4" cellpadding="2">
 <tbody>
 <tr><td align="right" valign="top"><a href="http://www.oracle.com">oracle.com</a></td></tr>
-<tr><td align="left" valign="top" bgcolor="#587993"><font color="#ffffff"><b>GlassFish Server 5.1</b></font>&nbsp;</td></tr>
+<tr><td align="left" valign="top" bgcolor="#587993"><font color="#ffffff"><b>GlassFish Server 7</b></font>&nbsp;</td></tr>
 </tbody>
 </table>  <h1>Features and Resources </h1>
-<p>GlassFish Server 5.1 provides a server for the development and 
+<p>GlassFish Server 7 provides a server for the development and 
 deployment of Java&trade; Platform Enterprise Edition (Java EE) 
 and dynamic, scalable HTML5 applications. Key features include 
 Servlet 4.0 to support HTTP/2, support for Java SE 8 and
@@ -63,7 +63,7 @@
 Processing. Java EE 8 aligns with Java SE 8 so that developers will be 
 able to take advantage of new features such as repeating annotations, 
 lambda expressions, the Date/Time API, type annotations, Completable Futures etc.</p>
-<p>Java EE 8 and GlassFish Server 5.1 include the following new and updated Java EE standards:</p>
+<p>Java EE 8 and GlassFish Server 7 include the following new and updated Java EE standards:</p>
 <dl><dt><b>New or Significant Updates</b></dt><dd><ul>
 <li>Java API for JSON Binding (JSON-B) 1.0</li>
 <li>Java EE Security 1.0</li>
diff --git a/nucleus/distributions/nucleus-common/src/main/resources/docs/quickstart.html b/nucleus/distributions/nucleus-common/src/main/resources/docs/quickstart.html
index 0ac96ce..c4207a9 100644
--- a/nucleus/distributions/nucleus-common/src/main/resources/docs/quickstart.html
+++ b/nucleus/distributions/nucleus-common/src/main/resources/docs/quickstart.html
@@ -35,7 +35,7 @@
 	a:visited{color:#917E9C}
 	a:hover {text-decoration:underline}
 </style>
-<title>GlassFish Server 5.1 Quick Start Guide</title>
+<title>GlassFish Server 7 Quick Start Guide</title>
 </head>
 <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"
 link="#594fbf" vlink="#1005fb" alink="#333366"><table width="100%" border="0"
@@ -45,12 +45,12 @@
 <td align="right" valign="top"> <a href="http://www.oracle.com">oracle.com</a> </td>
 </tr>
 <tr>
-<td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff"><b>GlassFish Server 5.1</b></font></td>
+<td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff"><b>GlassFish Server 7</b></font></td>
 </tr>
 </tbody>
 </table><div class="maincontent">
-<a name="aboaa"></a><h1>GlassFish Server 5.1 Quick Start Guide</h1>
-<p>GlassFish Server provides a server for the development and deployment of Java Platform, Enterprise Edition (Java EE platform) applications and web technologies based on Java technology. GlassFish Server 5.1 provides the following:</p>
+<a name="aboaa"></a><h1>GlassFish Server 7 Quick Start Guide</h1>
+<p>GlassFish Server provides a server for the development and deployment of Java Platform, Enterprise Edition (Java EE platform) applications and web technologies based on Java technology. GlassFish Server 7 provides the following:</p>
 <ul>
 <li><p>A lightweight and extensible core based on OSGi Alliance standards</p></li>
 <li><p>A web container</p></li>
@@ -65,20 +65,20 @@
 <li><p><a href="#gglmh">Starting and Stopping the Database Server</a></p></li>
 <li><p><a href="#ggllq">Starting the Administration Console</a></p></li>
 <li><p><a href="#geyvr">Deploying and Undeploying Applications</a></p></li>
-<li><p><a href="#ghgqg">Removing GlassFish Server 5.1 Software</a></p></li>
+<li><p><a href="#ghgqg">Removing GlassFish Server 7 Software</a></p></li>
 <li><p><a href="#ggkzh">For More Information</a></p></li>
 </ul>
 <a id="ghgpe" name="ghgpe"></a><a id="GSQSG00030" name="GSQSG00030"></a>
 <h2>About This Quick Start Guide</h2>
 <p>This <i>Quick Start Guide</i> demonstrates key features of GlassFish Server and enables you to quickly learn the basics. Step-by-step procedures introduce you to product features and enable you to use them immediately.</p>
-<p>This guide assumes that you have already obtained and installed the GlassFish Server 5.1 software. For more information about installing GlassFish Server 5.1, see the <a href="https://javaee.github.io/glassfish/documentation"><cite>Installation Guide</cite></a>.</p>
+<p>This guide assumes that you have already obtained and installed the GlassFish Server 7 software. For more information about installing GlassFish Server 7, see the <a href="https://javaee.github.io/glassfish/documentation"><cite>Installation Guide</cite></a>.</p>
 <p>Instructions and examples in this guide that apply to all supported operating systems use the forward slash character (<code>/</code>) as path separators in all file names and commands. Ensure that you use the correct character for the system on which GlassFish Server is installed. For example:</p>
 <ul>
 <li><p><b>UNIX, Linux, or Mac OS X systems:</b> <i>as-install</i><code>/bin/asadmin</code></p></li>
 <li><p><b>Windows systems:</b> <i>as-install</i><code>\bin\asadmin</code></p></li>
 </ul>
 <p>This guide provides basic information only. For comprehensive information about GlassFish Server and other entities mentioned in this guide, see <a href="#ggkzh">For More Information</a>.</p>
-<p>To review additional details about this release before you begin using the software, see the <a href="https://javaee.github.io/glassfish/documentation"><cite>Release Notes</cite></a>. The <i>Release Notes</i> provide important information about the GlassFish Server 5.1 release, including details about new features, information about known issues and possible workarounds, and tips for installing and working with GlassFish Server 5.1 software.</p>
+<p>To review additional details about this release before you begin using the software, see the <a href="https://javaee.github.io/glassfish/documentation"><cite>Release Notes</cite></a>. The <i>Release Notes</i> provide important information about the GlassFish Server 7 release, including details about new features, information about known issues and possible workarounds, and tips for installing and working with GlassFish Server 7 software.</p>
 
 
 <a id="ghpfg" name="ghpfg"></a><a id="GSQSG00031" name="GSQSG00031"></a>
@@ -110,9 +110,9 @@
 </td>
 <td align="left" headers="r2c1-t2 r1c3-t2">
 <p>Installations on the Oracle Solaris operating system, Linux operating system, and Mac OS operating system:</p>
-<p><i>user's-home-directory</i><code>/glassfish6/glassfish</code></p>
+<p><i>user's-home-directory</i><code>/glassfish7/glassfish</code></p>
 <p>Installations on the Windows operating system:</p>
-<p><i>SystemDrive</i><code>:\glassfish6\glassfish</code></p>
+<p><i>SystemDrive</i><code>:\glassfish7\glassfish</code></p>
 </td>
 </tr>
 <tr align="left" valign="top">
@@ -124,9 +124,9 @@
 </td>
 <td align="left" headers="r3c1-t2 r1c3-t2">
 <p>Installations on the Oracle Solaris operating system, Linux operating system, and Mac operating system:</p>
-<p><i>user's-home-directory</i><code>/glassfish6</code></p>
+<p><i>user's-home-directory</i><code>/glassfish7</code></p>
 <p>Installations on the Windows operating system:</p>
-<p><i>SystemDrive</i><code>:\glassfish6</code></p>
+<p><i>SystemDrive</i><code>:\glassfish7</code></p>
 </td>
 </tr>
 <tr align="left" valign="top">
@@ -613,7 +613,7 @@
 
 <a id="ghgqg" name="ghgqg"></a><a id="GSQSG00039" name="GSQSG00039"></a>
 
-<h2>Removing GlassFish Server 5.1 Software</h2>
+<h2>Removing GlassFish Server 7 Software</h2>
 <p>Before removing the GlassFish Server software, stop the following processes:</p>
 <ul>
 <li><p>All domains and other related processes</p></li>
@@ -627,7 +627,7 @@
 <a id="ggkzh" name="ggkzh"></a><a id="GSQSG00040" name="GSQSG00040"></a>
 
 <h2>For More Information</h2>
-<p>Additional resources are available to help you learn more about GlassFish Server 5.1 and related technologies.</p>
+<p>Additional resources are available to help you learn more about GlassFish Server 7 and related technologies.</p>
 <p>The following resources are described here:</p>
 <ul>
 <li><p><a href="#ghhir">Product Documentation</a></p></li>
diff --git a/nucleus/distributions/nucleus/pom.xml b/nucleus/distributions/nucleus/pom.xml
index eb5e6e1..a491e6f 100644
--- a/nucleus/distributions/nucleus/pom.xml
+++ b/nucleus/distributions/nucleus/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.distributions</groupId>
         <artifactId>nucleus-distributions</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>nucleus-new</artifactId>
diff --git a/nucleus/distributions/pom.xml b/nucleus/distributions/pom.xml
index 089540d..256dfc1 100644
--- a/nucleus/distributions/pom.xml
+++ b/nucleus/distributions/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.distributions</groupId>
diff --git a/nucleus/featuresets/atomic/pom.xml b/nucleus/featuresets/atomic/pom.xml
index 6421306..5529b72 100644
--- a/nucleus/featuresets/atomic/pom.xml
+++ b/nucleus/featuresets/atomic/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.featuresets</groupId>
         <artifactId>nucleus-featuresets</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>atomic</artifactId>
@@ -380,8 +380,8 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
@@ -819,8 +819,18 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>com.sun.activation</groupId>
-            <artifactId>jakarta.activation</artifactId>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.angus</groupId>
+            <artifactId>angus-activation</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>*</groupId>
diff --git a/nucleus/featuresets/nucleus/pom.xml b/nucleus/featuresets/nucleus/pom.xml
index 635eb46..afb33ff 100644
--- a/nucleus/featuresets/nucleus/pom.xml
+++ b/nucleus/featuresets/nucleus/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.featuresets</groupId>
         <artifactId>nucleus-featuresets</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>nucleus</artifactId>
diff --git a/nucleus/featuresets/pom.xml b/nucleus/featuresets/pom.xml
index 40f74f7..44c9279 100644
--- a/nucleus/featuresets/pom.xml
+++ b/nucleus/featuresets/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.featuresets</groupId>
diff --git a/nucleus/flashlight/agent/pom.xml b/nucleus/flashlight/agent/pom.xml
index 524e2aa..e66910b 100755
--- a/nucleus/flashlight/agent/pom.xml
+++ b/nucleus/flashlight/agent/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../common/pom.xml</relativePath>
     </parent>
 
diff --git a/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml b/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml
index 8147157..9afb2f6 100755
--- a/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml
+++ b/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../common/pom.xml</relativePath>
     </parent>
 
diff --git a/nucleus/flashlight/framework/pom.xml b/nucleus/flashlight/framework/pom.xml
index cf4e69c..05c65c8 100755
--- a/nucleus/flashlight/framework/pom.xml
+++ b/nucleus/flashlight/framework/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.common</groupId>
         <artifactId>nucleus-common</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../../common/pom.xml</relativePath>
     </parent>
 
diff --git a/nucleus/flashlight/pom.xml b/nucleus/flashlight/pom.xml
index 673b2f4..9149af6 100755
--- a/nucleus/flashlight/pom.xml
+++ b/nucleus/flashlight/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.flashlight</groupId>
diff --git a/nucleus/grizzly/config/pom.xml b/nucleus/grizzly/config/pom.xml
index 9787b07..465db2e 100644
--- a/nucleus/grizzly/config/pom.xml
+++ b/nucleus/grizzly/config/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.grizzly</groupId>
         <artifactId>nucleus-grizzly</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>grizzly-config</artifactId>
diff --git a/nucleus/grizzly/nucleus-grizzly-all/pom.xml b/nucleus/grizzly/nucleus-grizzly-all/pom.xml
index 0afcde3..9185ce8 100644
--- a/nucleus/grizzly/nucleus-grizzly-all/pom.xml
+++ b/nucleus/grizzly/nucleus-grizzly-all/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.grizzly</groupId>
         <artifactId>nucleus-grizzly</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>nucleus-grizzly-all</artifactId>
diff --git a/nucleus/grizzly/pom.xml b/nucleus/grizzly/pom.xml
index 12a7267..ec585e9 100644
--- a/nucleus/grizzly/pom.xml
+++ b/nucleus/grizzly/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.grizzly</groupId>
diff --git a/nucleus/hk2/config-generator/pom.xml b/nucleus/hk2/config-generator/pom.xml
index 6e4870c..46b8bfe 100644
--- a/nucleus/hk2/config-generator/pom.xml
+++ b/nucleus/hk2/config-generator/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.hk2</groupId>
         <artifactId>glassfish-nucleus-hk2</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>config-generator</artifactId>
     <packaging>maven-plugin</packaging>
diff --git a/nucleus/hk2/config-types/pom.xml b/nucleus/hk2/config-types/pom.xml
index 8bba78f..caeaaba 100644
--- a/nucleus/hk2/config-types/pom.xml
+++ b/nucleus/hk2/config-types/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.hk2</groupId>
         <artifactId>glassfish-nucleus-hk2</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>config-types</artifactId>
diff --git a/nucleus/hk2/hk2-config/pom.xml b/nucleus/hk2/hk2-config/pom.xml
index 4873631..25062c6 100644
--- a/nucleus/hk2/hk2-config/pom.xml
+++ b/nucleus/hk2/hk2-config/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.hk2</groupId>
         <artifactId>glassfish-nucleus-hk2</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>hk2-config</artifactId>
@@ -54,8 +54,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.el</artifactId>
+            <groupId>org.glassfish.expressly</groupId>
+            <artifactId>expressly</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -117,8 +117,8 @@
                 <configuration>
                     <instructions>
                         <Import-Package>
-                            jakarta.validation.*;resolution:=optional;version="${jakarta.validation.version}",
-                            org.hibernate.validator.*;resolution:=optional;version="${hibernate-validator.version}",
+                            jakarta.validation.*;resolution:=optional;version="${jakarta.validation-api.version}",
+                            org.hibernate.validator.*;resolution:=optional;version="[7.0.0,8.0.0)",
                             org.jvnet.tiger_types;version=${project.version},
                             *
                         </Import-Package>
diff --git a/nucleus/hk2/pom.xml b/nucleus/hk2/pom.xml
index 9d7f139..3e534a6 100755
--- a/nucleus/hk2/pom.xml
+++ b/nucleus/hk2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/nucleus/hk2/tiger-types/pom.xml b/nucleus/hk2/tiger-types/pom.xml
index 2870f51..96c989a 100644
--- a/nucleus/hk2/tiger-types/pom.xml
+++ b/nucleus/hk2/tiger-types/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.hk2</groupId>
         <artifactId>glassfish-nucleus-hk2</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>tiger-types</artifactId>
diff --git a/nucleus/osgi-platforms/felix/pom.xml b/nucleus/osgi-platforms/felix/pom.xml
index 57c5235..f7147a2 100644
--- a/nucleus/osgi-platforms/felix/pom.xml
+++ b/nucleus/osgi-platforms/felix/pom.xml
@@ -22,7 +22,7 @@
     <parent>
       <groupId>org.glassfish.main.osgi-platforms</groupId>
       <artifactId>osgi-platforms</artifactId>
-      <version>6.2.6-SNAPSHOT</version>
+      <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>felix</artifactId>
diff --git a/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml b/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml
index 248f924..92468bc 100644
--- a/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml
+++ b/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.osgi-platforms</groupId>
         <artifactId>osgi-platforms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>osgi-cli-interactive</artifactId>
diff --git a/nucleus/osgi-platforms/osgi-cli-remote/pom.xml b/nucleus/osgi-platforms/osgi-cli-remote/pom.xml
index 5aae878..ce53c33 100644
--- a/nucleus/osgi-platforms/osgi-cli-remote/pom.xml
+++ b/nucleus/osgi-platforms/osgi-cli-remote/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.osgi-platforms</groupId>
         <artifactId>osgi-platforms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>osgi-cli-remote</artifactId>
diff --git a/nucleus/osgi-platforms/osgi-container/pom.xml b/nucleus/osgi-platforms/osgi-container/pom.xml
index 7e78bd8..2fa9a21 100755
--- a/nucleus/osgi-platforms/osgi-container/pom.xml
+++ b/nucleus/osgi-platforms/osgi-container/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.osgi-platforms</groupId>
         <artifactId>osgi-platforms</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>osgi-container</artifactId>
diff --git a/nucleus/osgi-platforms/pom.xml b/nucleus/osgi-platforms/pom.xml
index 97b9902..4d0deb0 100644
--- a/nucleus/osgi-platforms/pom.xml
+++ b/nucleus/osgi-platforms/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/nucleus/parent/pom.xml b/nucleus/parent/pom.xml
index 707c4ac..c2fafee 100644
--- a/nucleus/parent/pom.xml
+++ b/nucleus/parent/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2021 Contributors to the Eclipse Foundation
+    Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation
     Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
@@ -30,7 +30,7 @@
 
     <groupId>org.glassfish.main</groupId>
     <artifactId>nucleus-parent</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>GlassFish Nucleus Parent Project</name>
@@ -70,6 +70,100 @@
     </issueManagement>
 
     <properties>
+        <!-- Jakarta API Versions -->
+
+        <!-- Jakarta Expression Language -->
+        <jakarta.el-api.version>5.0.0</jakarta.el-api.version>
+        <expressly.version>5.0.0-M1</expressly.version>
+
+        <!-- Jakarta Servlet -->
+        <jakarta.servlet-api.version>6.0.0</jakarta.servlet-api.version>
+
+        <!-- Jakarta Validation -->
+        <jakarta.validation-api.version>3.0.1</jakarta.validation-api.version>
+        <hibernate-validator.version>7.0.3-SNAPSHOT</hibernate-validator.version>
+
+        <!-- Jakarta Web Services -->
+        <!-- 
+        Jakarta XML Web Services 
+        <jakarta.xml.ws-api.version>4.0.0-RC2</jakarta.xml.ws-api.version>
+        
+        Jakarta SOAP (with Attachments) 
+        <jakarta.xml.soap-api.version>3.0.0-RC2</jakarta.xml.soap-api.version>
+         -->
+        <webservices.version>4.0.0-M3</webservices.version>
+
+        <!-- Jakarta Inject -->
+        <jakarta.inject-api.version>2.0.1.MR</jakarta.inject-api.version>
+        <hk2.version>3.0.2</hk2.version>
+        <hk2.plugin.version>3.0.2</hk2.plugin.version>
+        <hk2.config-generator.version>2.5.0-b53</hk2.config-generator.version>
+
+        <!-- Jakarta XML Binding -->
+        <jakarta.xml.bind-api.version>4.0.0</jakarta.xml.bind-api.version>
+        <jakarta.jaxb-impl.version>4.0.0-M3</jakarta.jaxb-impl.version>
+
+        <!-- Jakarta REST -->
+        <jakarta.rest-api.version>3.1.0</jakarta.rest-api.version>
+        <jersey.version>3.1.0-M2</jersey.version>
+
+        <!-- Jakarta Mail -->
+        <jakarta.mail-api.version>2.1.0</jakarta.mail-api.version>
+        <angus.mail.version>1.0.0</angus.mail.version>
+
+        <!-- Jakarta Activation -->
+        <activation.version>2.1.0</activation.version>
+        <angus.activation.version>1.0.0</angus.activation.version>
+
+        <!-- Jakarta Annotations -->
+        <jakarta.annotation-api.version>2.1.0</jakarta.annotation-api.version>
+
+
+        <!-- GlassFish Components -->
+        
+        <glassfish-corba.version>4.2.4</glassfish-corba.version>
+        <grizzly.version>3.0.1</grizzly.version>
+        <grizzly.npn.version>2.0.0</grizzly.npn.version>
+        <glassfish-management-api.version>3.2.3</glassfish-management-api.version>
+        <pfl.version>4.1.2</pfl.version>
+        <gmbal.version>4.0.3</gmbal.version>
+        <shoal.version>2.0.0</shoal.version>
+        <ha-api.version>3.1.13</ha-api.version>
+        <logging-annotation-processor.version>1.9</logging-annotation-processor.version>
+        <command-security-plugin.version>1.0.14</command-security-plugin.version>
+        <command.security.maven.plugin.isFailureFatal>false</command.security.maven.plugin.isFailureFatal>
+
+
+        <!-- 3rd party dependencies -->
+        
+        <jboss.logging.annotation.version>2.2.1.Final</jboss.logging.annotation.version>
+        <jboss.logging.version>3.4.3.Final</jboss.logging.version>
+        <javassist.version>3.28.0-GA</javassist.version>
+        <asm.version>9.2</asm.version>
+        <jsch.version>0.1.56</jsch.version>
+        <antlr.version>2.7.8</antlr.version>
+        <ant.version>1.10.2</ant.version>
+        <jackson.version>2.13.1</jackson.version>
+        <fasterxml.classmate.version>1.5.1</fasterxml.classmate.version>
+        <stax-api.version>1.0-2</stax-api.version>
+        <jettison.version>1.4.1</jettison.version>
+        <mimepull.version>1.9.15</mimepull.version>
+
+        <commons-io.version>2.11.0</commons-io.version>
+        <replacer.plugin.version>1.5.3</replacer.plugin.version>
+
+        <easymock.version>4.3</easymock.version>
+        <jmockit.version>1.49</jmockit.version>
+        <junit.version>5.8.2</junit.version>
+        <jmh.version>1.34</jmh.version>
+        <osgi-resource-locator.version>1.0.3</osgi-resource-locator.version>
+        
+        <javaee.version.old>8</javaee.version.old>
+        <javaee.version.new>9</javaee.version.new>
+        
+        
+        <!-- Settings -->
+        
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.build.commonResourcesDirectory>${project.build.directory}/common-resources</project.build.commonResourcesDirectory>
         <legal.doc.source>${project.build.commonResourcesDirectory}/legal</legal.doc.source>
@@ -79,89 +173,9 @@
         <findbugs.exclude />
         <findbugs.version>3.0.5</findbugs.version>
         <findbugs.glassfish.logging.validLoggerPrefixes>jakarta.enterprise</findbugs.glassfish.logging.validLoggerPrefixes>
-
-        <!-- Jakarta API Versions -->
-
-        <!-- Jakarta EL -->
-        <jakarta.el-api.version>4.0.0</jakarta.el-api.version>
-        <jakarta.el.version>4.0.2</jakarta.el.version>
-
-        <!-- Jakarta Servlet -->
-        <servlet-api.version>5.0.0</servlet-api.version>
-
-        <!-- Jakarta Validation -->
-        <jakarta.validation.version>3.0.0</jakarta.validation.version>
-        <hibernate-validator.version>7.0.2.Final</hibernate-validator.version>
-
-        <!-- Jakarta Web Services -->
-        <webservices.version>3.0.3</webservices.version>
-
-        <!-- Jakarta Inject -->
-        <jakarta.inject-api.version>2.0.0</jakarta.inject-api.version>
-
-        <!-- Jakarta XML Binding -->
-        <jakarta.jaxb-api.version>3.0.1</jakarta.jaxb-api.version>
-        <jakarta.jaxb-impl.version>3.0.2</jakarta.jaxb-impl.version>
-
-        <!-- Jakarta REST -->
-        <jax-rs-api.spec.version>3.0</jax-rs-api.spec.version>
-        <jax-rs-api.impl.version>3.0.0</jax-rs-api.impl.version>
-        <jersey.version>3.0.3</jersey.version>
-
-        <!-- Jakarta Mail -->
-        <mail.version>2.0.1</mail.version>
-
-        <!-- Jakarta Activation -->
-        <activation.version>2.0.1</activation.version>
-
-        <!-- Jakarta Annotations -->
-        <jakarta.annotation-api.version>2.0.0</jakarta.annotation-api.version>
-
-        <!-- GlassFish Components -->
-        <glassfish-corba.version>4.2.4</glassfish-corba.version>
-        <grizzly.version>3.0.1</grizzly.version>
-        <grizzly.npn.version>2.0.0</grizzly.npn.version>
-        <glassfish-management-api.version>3.2.3</glassfish-management-api.version>
-        <hk2.version>3.0.2</hk2.version>
-        <hk2.plugin.version>3.0.2</hk2.plugin.version>
-        <hk2.config-generator.version>2.5.0-b53</hk2.config-generator.version>
-        <pfl.version>4.1.2</pfl.version>
-
-        <gmbal.version>4.0.3</gmbal.version>
-        <shoal.version>2.0.0</shoal.version>
-        <ha-api.version>3.1.13</ha-api.version>
-        <logging-annotation-processor.version>1.9</logging-annotation-processor.version>
-        <command-security-plugin.version>1.0.14</command-security-plugin.version>
-        <command.security.maven.plugin.isFailureFatal>false</command.security.maven.plugin.isFailureFatal>
-
-        <!-- 3rd party dependencies -->
-        <stax-api.version>1.0-2</stax-api.version>
-        <jboss.logging.annotation.version>2.2.1.Final</jboss.logging.annotation.version>
-        <jboss.logging.version>3.4.3.Final</jboss.logging.version>
-        <javassist.version>3.28.0-GA</javassist.version>
-        <fasterxml.classmate.version>1.5.1</fasterxml.classmate.version>
-        <jsch.version>0.1.56</jsch.version>
-        <antlr.version>2.7.8</antlr.version>
-        <ant.version>1.10.2</ant.version>
-        <jackson.version>2.13.1</jackson.version>
-        <jettison.version>1.4.1</jettison.version>
-        <mimepull.version>1.9.14</mimepull.version>
-        <asm.version>9.2</asm.version>
-
-        <commons-io.version>2.11.0</commons-io.version>
-
         <nucleus.install.dir.name>nucleus</nucleus.install.dir.name>
         <javadoc.skip>false</javadoc.skip>
         <deploy.skip>false</deploy.skip>
-        <replacer.plugin.version>1.5.3</replacer.plugin.version>
-        <javaee.version.old>8</javaee.version.old>
-        <javaee.version.new>9</javaee.version.new>
-
-        <easymock.version>4.3</easymock.version>
-        <jmockit.version>1.49</jmockit.version>
-        <junit.version>5.8.2</junit.version>
-        <jmh.version>1.34</jmh.version>
-        <osgi-resource-locator.version>1.0.3</osgi-resource-locator.version>
 
         <maven.test.jvmoptions.add-opens>--add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED</maven.test.jvmoptions.add-opens>
         <maven.test.jvmoptions.memory.sizes>-Xss512k -Xms256m -Xmx1g -XX:MaxDirectMemorySize=512m</maven.test.jvmoptions.memory.sizes>
@@ -183,6 +197,52 @@
 
     <dependencyManagement>
         <dependencies>
+            <!-- Jakarta API dependencies -->
+
+            <!-- Jakarta Expression Language -->
+            <dependency>
+                <groupId>jakarta.el</groupId>
+                <artifactId>jakarta.el-api</artifactId>
+                <version>${jakarta.el-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.expressly</groupId>
+                <artifactId>expressly</artifactId>
+                <version>${expressly.version}</version>
+            </dependency>
+            
+            <!-- Jakarta Servlet -->
+            <dependency>
+                <groupId>jakarta.servlet</groupId>
+                <artifactId>jakarta.servlet-api</artifactId>
+                <version>${jakarta.servlet-api.version}</version>
+            </dependency>
+            
+            <!-- Jakarta Validation -->
+            <dependency>
+                <groupId>jakarta.validation</groupId>
+                <artifactId>jakarta.validation-api</artifactId>
+                <version>${jakarta.validation-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.hibernate.validator</groupId>
+                <artifactId>hibernate-validator</artifactId>
+                <version>${hibernate-validator.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.hibernate.validator</groupId>
+                <artifactId>hibernate-validator-cdi</artifactId>
+                <version>${hibernate-validator.version}</version>
+            </dependency>
+            
+            <!-- Jakarta Web Services -->
+            <dependency>
+                <groupId>org.glassfish.metro</groupId>
+                <artifactId>webservices-extra-jdk-packages</artifactId>
+                <version>${webservices.version}</version>
+            </dependency>
+            
+            <!-- Jakarta Inject -->
             <dependency>
                 <groupId>jakarta.inject</groupId>
                 <artifactId>jakarta.inject-api</artifactId>
@@ -196,41 +256,34 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
-                <groupId>org.glassfish.metro</groupId>
-                <artifactId>webservices-extra-jdk-packages</artifactId>
-                <version>${webservices.version}</version>
+                <groupId>org.glassfish.hk2</groupId>
+                <artifactId>osgi-resource-locator</artifactId>
+                <version>${osgi-resource-locator.version}</version>
+            </dependency>
+            
+            <!-- Jakarta XML Binding -->
+            <dependency>
+                <groupId>jakarta.xml.bind</groupId>
+                <artifactId>jakarta.xml.bind-api</artifactId>
+                <version>${jakarta.xml.bind-api.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>*</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
-                <groupId>org.hibernate.validator</groupId>
-                <artifactId>hibernate-validator</artifactId>
-                <version>${hibernate-validator.version}</version>
+                <groupId>com.sun.xml.bind</groupId>
+                <artifactId>jaxb-osgi</artifactId>
+                <version>${jakarta.jaxb-impl.version}</version>
             </dependency>
+            
+            <!-- Jakarta REST -->
             <dependency>
-                <groupId>org.hibernate.validator</groupId>
-                <artifactId>hibernate-validator-cdi</artifactId>
-                <version>${hibernate-validator.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.jboss.logging</groupId>
-                <artifactId>jboss-logging</artifactId>
-                <version>${jboss.logging.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.jboss.logging</groupId>
-                <artifactId>jboss-logging-annotations</artifactId>
-                <version>${jboss.logging.annotation.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml</groupId>
-                <artifactId>classmate</artifactId>
-                <version>${fasterxml.classmate.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.grizzly</groupId>
-                <artifactId>grizzly-bom</artifactId>
-                <version>${grizzly.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
+                <groupId>jakarta.ws.rs</groupId>
+                <artifactId>jakarta.ws.rs-api</artifactId>
+                <version>${jakarta.rest-api.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish.jersey</groupId>
@@ -239,31 +292,146 @@
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
+            
+            <!-- Jakarta Mail -->
             <dependency>
-                <groupId>org.glassfish.hk2</groupId>
-                <artifactId>osgi-resource-locator</artifactId>
-                <version>${osgi-resource-locator.version}</version>
+                <groupId>jakarta.mail</groupId>
+                <artifactId>jakarta.mail-api</artifactId>
+                <version>${jakarta.mail-api.version}</version>
             </dependency>
             <dependency>
-                <groupId>javax.xml.stream</groupId>
-                <artifactId>stax-api</artifactId>
-                <version>${stax-api.version}</version>
+                <groupId>org.eclipse.angus</groupId>
+                <artifactId>angus-mail</artifactId>
+                <version>${angus.mail.version}</version>
+            </dependency>
+            
+            <!-- Jakarta Activation -->
+            <dependency>
+                <groupId>jakarta.activation</groupId>
+                <artifactId>jakarta.activation-api</artifactId>
+                <version>${activation.version}</version>
             </dependency>
             <dependency>
-                <groupId>antlr</groupId>
-                <artifactId>antlr</artifactId>
-                <version>2.7.7</version>
+                <groupId>org.eclipse.angus</groupId>
+                <artifactId>angus-activation</artifactId>
+                <version>${angus.activation.version}</version>
             </dependency>
+            
+            <!-- Jakarta Annotation -->
+            <dependency>
+                <groupId>jakarta.annotation</groupId>
+                <artifactId>jakarta.annotation-api</artifactId>
+                <version>${jakarta.annotation-api.version}</version>
+            </dependency>
+            
+            
+            <!-- GlassFish Components -->
+            
+            <!-- GlassFish Corba -->
+            <dependency>
+                <groupId>org.glassfish.corba</groupId>
+                <artifactId>glassfish-corba-orb</artifactId>
+                <version>${glassfish-corba.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.corba</groupId>
+                <artifactId>glassfish-corba-omgapi</artifactId>
+                <version>${glassfish-corba.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.corba</groupId>
+                <artifactId>glassfish-corba-csiv2-idl</artifactId>
+                <version>${glassfish-corba.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.corba</groupId>
+                <artifactId>glassfish-corba-internal-api</artifactId>
+                <version>${glassfish-corba.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.corba</groupId>
+                <artifactId>rmic</artifactId>
+                <version>${glassfish-corba.version}</version>
+            </dependency>
+            
+            <!-- GlassFish Grizzly -->
+            <dependency>
+                <groupId>org.glassfish.grizzly</groupId>
+                <artifactId>grizzly-bom</artifactId>
+                <version>${grizzly.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            
+            <!-- GlassFish Management API -->
             <dependency>
                 <groupId>org.glassfish.external</groupId>
                 <artifactId>management-api</artifactId>
                 <version>${glassfish-management-api.version}</version>
             </dependency>
+            
+            <!-- GlassFish Primitive Function Library -->
+            <dependency>
+                <groupId>org.glassfish.pfl</groupId>
+                <artifactId>pfl-basic</artifactId>
+                <version>${pfl.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.pfl</groupId>
+                <artifactId>pfl-dynamic</artifactId>
+                <version>${pfl.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.pfl</groupId>
+                <artifactId>pfl-basic-tools</artifactId>
+                <version>${pfl.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.pfl</groupId>
+                <artifactId>pfl-tf</artifactId>
+                <version>${pfl.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.pfl</groupId>
+                <artifactId>pfl-tf-tools</artifactId>
+                <version>${pfl.version}</version>
+            </dependency>
+            
+            <!-- Glassfish MBean Annotation Library -->
             <dependency>
                 <groupId>org.glassfish.gmbal</groupId>
                 <artifactId>gmbal</artifactId>
                 <version>${gmbal.version}</version>
             </dependency>
+            
+            <!-- GlassFish Shoal -->
+            <dependency>
+                <groupId>org.glassfish.shoal</groupId>
+                <artifactId>shoal-gms-api</artifactId>
+                <version>${shoal.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.shoal</groupId>
+                <artifactId>shoal-gms-impl</artifactId>
+                <version>${shoal.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.shoal</groupId>
+                <artifactId>shoal-cache</artifactId>
+                <version>${shoal.version}</version>
+            </dependency>
+            
+            <!-- GlassFish High Availability -->
+            <dependency>
+                <groupId>org.glassfish.ha</groupId>
+                <artifactId>ha-api</artifactId>
+                <version>${ha-api.version}</version>
+            </dependency>
+            
+            
+            
+            <!-- OSGi / Felix -->
+            
             <dependency>
                 <groupId>org.osgi</groupId>
                 <artifactId>osgi.cmpn</artifactId>
@@ -296,54 +464,134 @@
             <dependency>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>org.apache.felix.webconsole</artifactId>
-                <version>4.6.2</version>
+                <version>4.7.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.util.promise</artifactId>
+                <version>1.1.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.util.function</artifactId>
+                <version>1.1.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>org.apache.felix.eventadmin</artifactId>
                 <version>1.6.2</version>
             </dependency>
-
             <dependency>
-                <groupId>jakarta.servlet</groupId>
-                <artifactId>jakarta.servlet-api</artifactId>
-                <version>${servlet-api.version}</version>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.shell</artifactId>
+                <version>1.4.3</version>
             </dependency>
             <dependency>
-                <groupId>jakarta.el</groupId>
-                <artifactId>jakarta.el-api</artifactId>
-                <version>${jakarta.el-api.version}</version>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.gogo.runtime</artifactId>
+                <version>1.1.4</version>
             </dependency>
             <dependency>
-                <groupId>jakarta.ws.rs</groupId>
-                <artifactId>jakarta.ws.rs-api</artifactId>
-                <version>${jax-rs-api.impl.version}</version>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.gogo.shell</artifactId>
+                <version>1.1.4</version>
             </dependency>
             <dependency>
-                <groupId>jakarta.xml.bind</groupId>
-                <artifactId>jakarta.xml.bind-api</artifactId>
-                <version>${jakarta.jaxb-api.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>*</groupId>
-                        <artifactId>*</artifactId>
-                    </exclusion>
-                </exclusions>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.gogo.command</artifactId>
+                <version>1.1.2</version>
             </dependency>
             <dependency>
-                <groupId>com.sun.xml.bind</groupId>
-                <artifactId>jaxb-osgi</artifactId>
-                <version>${jakarta.jaxb-impl.version}</version>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.fileinstall</artifactId>
+                <version>3.7.2</version>
             </dependency>
             <dependency>
-                <groupId>jakarta.annotation</groupId>
-                <artifactId>jakarta.annotation-api</artifactId>
-                <version>${jakarta.annotation-api.version}</version>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.configadmin</artifactId>
+                <version>1.9.22</version>
+            </dependency>
+            <!-- Felix SCR used to include/embed promise, but after 2.0.12 stopped doing that. Since Felix Core doesn't export
+                these packages, we have to deploy them together with Felix SCR. -->
+            <dependency>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.scr</artifactId>
+                <version>2.2.0-RC1</version>
             </dependency>
             <dependency>
-                <groupId>org.glassfish</groupId>
-                <artifactId>jakarta.el</artifactId>
-                <version>${jakarta.el.version}</version>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.bundlerepository</artifactId>
+                <version>2.0.10</version>
+            </dependency>
+            <!-- This is currently used by osgi-shell cmd, but can be used for others as well -->
+            <dependency>
+                <groupId>jline</groupId>
+                <artifactId>jline</artifactId>
+                <version>2.14.5</version>
+            </dependency>
+            
+            
+            
+            <!--3rd party dependencies -->
+           
+            <dependency>
+                <groupId>org.jboss.logging</groupId>
+                <artifactId>jboss-logging</artifactId>
+                <version>${jboss.logging.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.logging</groupId>
+                <artifactId>jboss-logging-annotations</artifactId>
+                <version>${jboss.logging.annotation.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.javassist</groupId>
+                <artifactId>javassist</artifactId>
+                <version>${javassist.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.ow2.asm</groupId>
+                <artifactId>asm</artifactId>
+                <version>${asm.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.ow2.asm</groupId>
+                <artifactId>asm-analysis</artifactId>
+                <version>${asm.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.ow2.asm</groupId>
+                <artifactId>asm-commons</artifactId>
+                <version>${asm.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.ow2.asm</groupId>
+                <artifactId>asm-tree</artifactId>
+                <version>${asm.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.ow2.asm</groupId>
+                <artifactId>asm-util</artifactId>
+                <version>${asm.version}</version>
+            </dependency>
+            
+            <dependency>
+                <groupId>javax.xml.stream</groupId>
+                <artifactId>stax-api</artifactId>
+                <version>${stax-api.version}</version>
+            </dependency>
+            <!-- Jettison is a Java library for converting XML to JSON -->
+            <dependency>
+                <groupId>org.codehaus.jettison</groupId>
+                <artifactId>jettison</artifactId>
+                <version>${jettison.version}</version>
+            </dependency>
+            
+            <!-- Jackson - "the Java JSON library" -->
+            <dependency>
+                <groupId>com.fasterxml</groupId>
+                <artifactId>classmate</artifactId>
+                <version>${fasterxml.classmate.version}</version>
             </dependency>
             <dependency>
                 <groupId>com.fasterxml.jackson.core</groupId>
@@ -371,82 +619,17 @@
                     </exclusion>
                 </exclusions>
             </dependency>
+            
             <dependency>
-                <groupId>org.codehaus.jettison</groupId>
-                <artifactId>jettison</artifactId>
-                <version>${jettison.version}</version>
+                <groupId>antlr</groupId>
+                <artifactId>antlr</artifactId>
+                <version>2.7.7</version>
             </dependency>
-
             <dependency>
                 <groupId>org.jvnet.mimepull</groupId>
                 <artifactId>mimepull</artifactId>
                 <version>${mimepull.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.glassfish.corba</groupId>
-                <artifactId>glassfish-corba-orb</artifactId>
-                <version>${glassfish-corba.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.corba</groupId>
-                <artifactId>glassfish-corba-omgapi</artifactId>
-                <version>${glassfish-corba.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.corba</groupId>
-                <artifactId>glassfish-corba-csiv2-idl</artifactId>
-                <version>${glassfish-corba.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.corba</groupId>
-                <artifactId>glassfish-corba-internal-api</artifactId>
-                <version>${glassfish-corba.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.corba</groupId>
-                <artifactId>rmic</artifactId>
-                <version>${glassfish-corba.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>jakarta.mail</groupId>
-                <artifactId>jakarta.mail-api</artifactId>
-                <version>${mail.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.sun.mail</groupId>
-                <artifactId>jakarta.mail</artifactId>
-                <version>${mail.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.sun.activation</groupId>
-                <artifactId>jakarta.activation</artifactId>
-                <version>${activation.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.pfl</groupId>
-                <artifactId>pfl-basic</artifactId>
-                <version>${pfl.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.pfl</groupId>
-                <artifactId>pfl-dynamic</artifactId>
-                <version>${pfl.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.pfl</groupId>
-                <artifactId>pfl-basic-tools</artifactId>
-                <version>${pfl.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.pfl</groupId>
-                <artifactId>pfl-tf</artifactId>
-                <version>${pfl.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.pfl</groupId>
-                <artifactId>pfl-tf-tools</artifactId>
-                <version>${pfl.version}</version>
-            </dependency>
 
             <dependency>
                 <groupId>org.junit.jupiter</groupId>
@@ -512,26 +695,6 @@
                 <version>${jsch.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.glassfish.shoal</groupId>
-                <artifactId>shoal-gms-api</artifactId>
-                <version>${shoal.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.shoal</groupId>
-                <artifactId>shoal-gms-impl</artifactId>
-                <version>${shoal.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.shoal</groupId>
-                <artifactId>shoal-cache</artifactId>
-                <version>${shoal.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.ha</groupId>
-                <artifactId>ha-api</artifactId>
-                <version>${ha-api.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.bsc.maven</groupId>
                 <artifactId>maven-processor-plugin</artifactId>
                 <version>3.3.3</version>
@@ -541,100 +704,7 @@
                 <artifactId>logging-annotation-processor</artifactId>
                 <version>${logging-annotation-processor.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.shell</artifactId>
-                <version>1.4.3</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.gogo.runtime</artifactId>
-                <version>1.1.4</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.gogo.shell</artifactId>
-                <version>1.1.4</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.gogo.command</artifactId>
-                <version>1.1.2</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.fileinstall</artifactId>
-                <version>3.7.0</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.configadmin</artifactId>
-                <version>1.9.22</version>
-            </dependency>
-            <!-- Felix SCR used to include/embed promise, but after 2.0.12 stopped doing that. Since Felix Core doesn't export
-                these packages, we have to deploy them together with Felix SCR. -->
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.scr</artifactId>
-                <version>2.1.28</version>
-            </dependency>
-            <dependency>
-                <groupId>org.osgi</groupId>
-                <artifactId>org.osgi.util.promise</artifactId>
-                <version>1.1.1</version>
-            </dependency>
-            <dependency>
-                <groupId>org.osgi</groupId>
-                <artifactId>org.osgi.util.function</artifactId>
-                <version>1.1.0</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.bundlerepository</artifactId>
-                <version>2.0.10</version>
-            </dependency>
-            <!-- This is currently used by osgi-shell cmd, but can be used for others as well -->
-            <dependency>
-                <groupId>jline</groupId>
-                <artifactId>jline</artifactId>
-                <version>2.14.5</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-analysis</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-commons</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-tree</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-util</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.javassist</groupId>
-                <artifactId>javassist</artifactId>
-                <version>${javassist.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>jakarta.validation</groupId>
-                <artifactId>jakarta.validation-api</artifactId>
-                <version>${jakarta.validation.version}</version>
-            </dependency>
+            
         </dependencies>
     </dependencyManagement>
 
@@ -684,7 +754,7 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.8.1</version>
+                    <version>3.9.0</version>
                     <configuration>
                         <source>11</source>
                         <target>11</target>
@@ -698,7 +768,7 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-dependency-plugin</artifactId>
-                    <version>3.1.2</version>
+                    <version>3.2.0</version>
                 </plugin>
                 <plugin>
                     <groupId>org.glassfish.build</groupId>
@@ -789,7 +859,7 @@
                         <dependency>
                             <groupId>com.puppycrawl.tools</groupId>
                             <artifactId>checkstyle</artifactId>
-                            <version>8.43</version>
+                            <version>9.3</version>
                         </dependency>
                     </dependencies>
                     <executions>
@@ -806,11 +876,11 @@
                 <plugin>
                     <groupId>com.googlecode.maven-download-plugin</groupId>
                     <artifactId>download-maven-plugin</artifactId>
-                    <version>1.6.7</version>
+                    <version>1.6.8</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-release-plugin</artifactId>
-                    <version>3.0.0-M1</version>
+                    <version>3.0.0-M5</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-resources-plugin</artifactId>
@@ -818,7 +888,7 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-site-plugin</artifactId>
-                    <version>3.9.0</version>
+                    <version>3.10.0</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-assembly-plugin</artifactId>
@@ -826,7 +896,7 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-deploy-plugin</artifactId>
-                    <version>3.0.0-M1</version>
+                    <version>3.0.0-M2</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-install-plugin</artifactId>
@@ -834,12 +904,12 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-jar-plugin</artifactId>
-                    <version>3.2.0</version>
+                    <version>3.2.2</version>
                 </plugin>
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>build-helper-maven-plugin</artifactId>
-                    <version>3.2.0</version>
+                    <version>3.3.0</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-invoker-plugin</artifactId>
@@ -924,7 +994,7 @@
             <!-- Sets minimal Maven version to 3.5.4 -->
             <plugin>
                 <artifactId>maven-enforcer-plugin</artifactId>
-                <version>3.0.0-M3</version>
+                <version>3.0.0</version>
                 <executions>
                     <execution>
                         <id>enforce-maven</id>
@@ -942,12 +1012,6 @@
                 </executions>
             </plugin>
 
-            <!-- force cleaning of the local repository <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions>
-                <execution> <id>purge-local-dependencies</id> <phase>initialize</phase> <goals> <goal>purge-local-repository</goal> </goals>
-                <configuration> <resolutionFuzziness>groupId</resolutionFuzziness> <includes> <include>jakarta.ejb</include> <include>jakarta.transaction</include>
-                <include>jakarta.resource</include> <include>jakarta.enterprise.concurrent</include> <include>jakarta.ws.rs</include> <include>javax.xml.registry</include>
-                <include>jakarta.websocket</include> <include>org.glassfish.jersey</include> </includes> </configuration> </execution> </executions>
-                </plugin> -->
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>build-helper-maven-plugin</artifactId>
@@ -1023,6 +1087,8 @@
                     </execution>
                 </executions>
             </plugin>
+
+            <!-- Add the license and the notice file to every module -->
             <plugin>
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
diff --git a/nucleus/pom.xml b/nucleus/pom.xml
index cbd2417..a724c84 100644
--- a/nucleus/pom.xml
+++ b/nucleus/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
         <relativePath>parent/pom.xml</relativePath>
     </parent>
 
@@ -101,7 +101,7 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-war-plugin</artifactId>
-                    <version>3.3.1</version>
+                    <version>3.3.2</version>
                 </plugin>
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
diff --git a/nucleus/resources/pom.xml b/nucleus/resources/pom.xml
index 537f19e..6d81428 100755
--- a/nucleus/resources/pom.xml
+++ b/nucleus/resources/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.resourcebase.resources</groupId>
diff --git a/nucleus/security/core/pom.xml b/nucleus/security/core/pom.xml
index b8a5016..42ec177 100644
--- a/nucleus/security/core/pom.xml
+++ b/nucleus/security/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>nucleus-security</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>security</artifactId>
diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/common/Util.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/common/Util.java
index 4d35590..0181645 100644
--- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/common/Util.java
+++ b/nucleus/security/core/src/main/java/com/sun/enterprise/security/common/Util.java
@@ -119,7 +119,7 @@
             String userHome = System.getProperty("user.home");
 
             String embeddedServerName = getCurrentEmbeddedServerName();
-            File tempDir = new File(userHome + File.separator + ".glassfish6-" + embeddedServerName + File.separator + "config");
+            File tempDir = new File(userHome + File.separator + ".glassfish7-" + embeddedServerName + File.separator + "config");
             boolean mkDirSuccess = true;
             if (!tempDir.exists()) {
                 mkDirSuccess = tempDir.mkdirs();
diff --git a/nucleus/security/pom.xml b/nucleus/security/pom.xml
index e80c913..0a11dd6 100644
--- a/nucleus/security/pom.xml
+++ b/nucleus/security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.security</groupId>
diff --git a/nucleus/security/services/pom.xml b/nucleus/security/services/pom.xml
index e5011c4..e7c1cf4 100644
--- a/nucleus/security/services/pom.xml
+++ b/nucleus/security/services/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>nucleus-security</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>security-services</artifactId>
diff --git a/nucleus/security/ssl-impl/pom.xml b/nucleus/security/ssl-impl/pom.xml
index 9bc0755..aa9451c 100644
--- a/nucleus/security/ssl-impl/pom.xml
+++ b/nucleus/security/ssl-impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main.security</groupId>
         <artifactId>nucleus-security</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>ssl-impl</artifactId>
diff --git a/nucleus/test-utils/pom.xml b/nucleus/test-utils/pom.xml
index 940ed92..206562f 100755
--- a/nucleus/test-utils/pom.xml
+++ b/nucleus/test-utils/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>test-utils</artifactId>
diff --git a/nucleus/tests/admin/pom.xml b/nucleus/tests/admin/pom.xml
index 3231089..46d5848 100644
--- a/nucleus/tests/admin/pom.xml
+++ b/nucleus/tests/admin/pom.xml
@@ -56,7 +56,7 @@
     <parent>
         <groupId>org.glassfish.main.tests</groupId>
         <artifactId>nucleus-tests</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.tests</groupId>
diff --git a/nucleus/tests/pom.xml b/nucleus/tests/pom.xml
index aa0dc2c..72ade32 100755
--- a/nucleus/tests/pom.xml
+++ b/nucleus/tests/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-nucleus-parent</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.main.tests</groupId>
diff --git a/pom.xml b/pom.xml
index f018f39..809888e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
 
     <groupId>org.glassfish.main</groupId>
     <artifactId>glassfish-main-aggregator</artifactId>
-    <version>6.2.6-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>GlassFish Project</name>
@@ -74,7 +74,7 @@
             <!-- Sets minimal Maven version to 3.5.4 -->
             <plugin>
                 <artifactId>maven-enforcer-plugin</artifactId>
-                <version>3.0.0-M3</version>
+                <version>3.0.0</version>
                 <executions>
                     <execution>
                         <id>enforce-maven</id>
diff --git a/qa/pom.xml b/qa/pom.xml
index 82cdc42..40534fd 100644
--- a/qa/pom.xml
+++ b/qa/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.glassfish.main</groupId>
         <artifactId>glassfish-main-aggregator</artifactId>
-        <version>6.2.6-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>glassfish-qa-config</artifactId>
diff --git a/runtests.sh b/runtests.sh
index 2b7e700..4fe8e3f 100755
--- a/runtests.sh
+++ b/runtests.sh
@@ -67,9 +67,9 @@
 export MVN_REPOSITORY="${HOME}/.m2/repository"
 export WORKSPACE="$(pwd)/target"
 export TEST_RUN_LOG="${WORKSPACE}/tests-run.log"
-export CLASSPATH="${WORKSPACE}/glassfish6/javadb"
+export CLASSPATH="${WORKSPACE}/glassfish7/javadb"
 export APS_HOME="$(pwd)/appserver/tests/appserv-tests"
-export S1AS_HOME="${WORKSPACE}/glassfish6/glassfish"
+export S1AS_HOME="${WORKSPACE}/glassfish7/glassfish"
 export PORT_ADMIN="4848"
 export PORT_HTTP="8080"
 export PORT_HTTPS="8181"
diff --git a/snapshots/hibernate-validator/pom.xml b/snapshots/hibernate-validator/pom.xml
new file mode 100644
index 0000000..c756519
--- /dev/null
+++ b/snapshots/hibernate-validator/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2021 Contributors to the Eclipse Foundation. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.glassfish.main.snapshots</groupId>
+        <artifactId>snapshotsmodule</artifactId>
+        <version>0.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>hibernate-validator-snapshot</artifactId>
+    <packaging>pom</packaging>
+
+    <properties>
+        <snapshots.sources.url>https://github.com/omnifaces/hibernate-validator/archive/refs/heads/main.zip</snapshots.sources.url>
+        <snapshots.sources.directory>${project.build.directory}/hibernate-validator-main</snapshots.sources.directory>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>com.googlecode.maven-download-plugin</groupId>
+                <artifactId>download-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <artifactId>maven-invoker-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/snapshots/pom.xml b/snapshots/pom.xml
new file mode 100644
index 0000000..2220b2d
--- /dev/null
+++ b/snapshots/pom.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2021, 2022 Contributors to Eclipse Foundation.
+    Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
+    <modelVersion>4.0.0</modelVersion>
+    
+    <parent>
+        <groupId>org.eclipse.ee4j</groupId>
+        <artifactId>project</artifactId>
+        <version>1.0.6</version>
+    </parent>
+
+    <groupId>org.glassfish.main.snapshots</groupId>
+    <artifactId>snapshotsmodule</artifactId>
+    <version>0.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>GlassFish Snapshots Parent</name>
+    <description>Temporary snapshot modules</description>
+
+    <modules>
+        <module>hibernate-validator</module>
+    </modules>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-install-plugin</artifactId>
+                <version>3.0.0-M1</version>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>com.googlecode.maven-download-plugin</groupId>
+                    <artifactId>download-maven-plugin</artifactId>
+                    <inherited>true</inherited>
+                    <executions>
+                        <execution>
+                            <id>download-snapshot</id>
+                            <phase>generate-resources</phase>
+                            <goals>
+                                <goal>wget</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                    <configuration>
+                        <url>${snapshots.sources.url}</url>
+                        <unpack>true</unpack>
+                        <outputDirectory>${project.build.directory}</outputDirectory>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-invoker-plugin</artifactId>
+                    <version>3.2.1</version>
+                    <inherited>true</inherited>
+                    <executions>
+                        <execution>
+                            <id>snapshots.execute-build</id>
+                            <goals>
+                                <goal>run</goal>
+                            </goals>
+                            <configuration>
+                                <streamLogs>true</streamLogs>
+                                <projectsDirectory>${snapshots.sources.directory}</projectsDirectory>
+                                <pomIncludes>
+                                    <pomInclude>pom.xml</pomInclude>
+                                </pomIncludes>
+                                <goals>clean source:jar install -Pstaging -DskipTests -Dmaven.test.skip=true</goals>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+</project>
diff --git a/snapshots/settings.xml b/snapshots/settings.xml
new file mode 100644
index 0000000..f5d77a1
--- /dev/null
+++ b/snapshots/settings.xml
@@ -0,0 +1,40 @@
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+
+	<profiles>
+		<profile>
+			<id>default</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+			<repositories>
+				<repository>
+					<id>sonatype-nexus-staging</id>
+					<name>Sonatype Nexus Staging</name>
+					<url>https://jakarta.oss.sonatype.org/content/repositories/staging/ </url>
+					<releases>
+						<enabled>true</enabled>
+					</releases>
+					<snapshots>
+						<enabled>false</enabled>
+					</snapshots>
+				</repository>
+			</repositories>
+
+			<pluginRepositories>
+				<pluginRepository>
+					<id>sonatype-nexus-staging</id>
+					<name>Sonatype Nexus Staging</name>
+					<url>https://jakarta.oss.sonatype.org/content/repositories/staging/ </url>
+					<releases>
+						<enabled>true</enabled>
+					</releases>
+					<snapshots>
+						<enabled>false</enabled>
+					</snapshots>
+				</pluginRepository>
+			</pluginRepositories>
+		</profile>
+	</profiles>
+</settings>
\ No newline at end of file